diff --git a/boards/default/micropython/build/lib/image.py b/boards/default/micropython/build/lib/image.py new file mode 100644 index 00000000..60c037b3 --- /dev/null +++ b/boards/default/micropython/build/lib/image.py @@ -0,0 +1,87 @@ +""" +Iamge + +MicroPython library for the Iamge(jpeg C module) +======================================================= +@dahanzimin From the Mixly Team +""" +import gc +import urequests +from base64 import b64encode +from jpeg import Encoder, Decoder + +class IMG: + def __init__(self, image, width, height): + self.image = image + self.width = width + self.height = height + self.format = "RGB565" + +class Image: + def save(self, img, path="mixly.jpg", **kwargs): + '''quality(1-100), rotation (0, 90, 180, 270)''' + _encoder = Encoder(pixel_format="RGB565_BE", width=img.width, height=img.height, **kwargs) + _jpeg = _encoder.encode(img.image) + del _encoder + gc.collect() + if isinstance(path, str): + with open(path, 'wb') as f: + f.write(_jpeg) + else: + return _jpeg + + def open(self, path="mixly.jpg", scale_width=None, scale_height=None, tft_width=240, tft_height=240, **kwargs): + '''rotation (0, 90, 180, 270), clipper_width, clipper_height''' + with open(path, "rb") as f: + _jpeg = f.read() + return self._jpg_decoder(_jpeg, scale_width, scale_height, tft_width, tft_height, **kwargs) + + def convert(self, img, formats=0, **kwargs): + if formats == 0: + return self.save(img, None, **kwargs) + elif formats == 1: + return b'data:image/jpg;base64,' + b64encode(self.save(img, None, **kwargs)) + + def download(self, url, path=None, scale_width=None, scale_height=None, tft_width=240, tft_height=240, block=1024, **kwargs): + '''rotation (0, 90, 180, 270), clipper_width, clipper_height''' + response = urequests.get(url, stream=True) + if path is None: + _image = self._jpg_decoder(response.raw.read(), scale_width, scale_height, tft_width, tft_height, **kwargs) + response.close() + return _image + else: + with open(path, 'wb') as f: + while True: + _data = response.raw.read(block) + if not _data: + break + else: + f.write(_data) + response.close() + + def _jpg_decoder(self, jpg, scale_width, scale_height, tft_width, tft_height, **kwargs): + '''Automatically zoom based on the screen''' + if scale_width is None or scale_height is None: + _width = tft_width + _height = tft_height + for i in range(min(len(jpg), 1024)): + if jpg[i] == 0xFF and (jpg[i + 1] & 0xF0) == 0xC0: + if jpg[i + 1] not in [0xC4, 0xC8, 0xCC]: + _width = jpg[i + 7] << 8 | jpg[i + 8] + _height = jpg[i + 5] << 8| jpg[i + 6] + break + if _width > tft_width or _height > tft_height: + _scale = max(_width / tft_width, _height / tft_height) * 8 + _decoder = Decoder(pixel_format="RGB565_BE", scale_width=round(_width / _scale) * 8, scale_height=round(_height / _scale) * 8, **kwargs) + else: + _decoder = Decoder(pixel_format="RGB565_BE", **kwargs) + else: + _decoder = Decoder(pixel_format="RGB565_BE", scale_width=scale_width // 8 * 8, scale_height=scale_height // 8 * 8, **kwargs) + _info = _decoder.get_img_info(jpg) + _image = IMG(_decoder.decode(jpg), _info[0], _info[1]) + del _decoder, jpg + gc.collect() + return _image + +#图像处理 +Image = Image() diff --git a/boards/default/micropython/build/lib/map.json b/boards/default/micropython/build/lib/map.json index d0ae0194..6993026a 100644 --- a/boards/default/micropython/build/lib/map.json +++ b/boards/default/micropython/build/lib/map.json @@ -392,6 +392,17 @@ "__size__": 3049, "__name__": "icm42670.py" }, + "image": { + "__require__": [ + "gc", + "urequests", + "base64", + "jpeg" + ], + "__file__": true, + "__size__": 3626, + "__name__": "image.py" + }, "informatio_picture": { "__require__": [], "__file__": true, @@ -689,7 +700,7 @@ "micropython" ], "__file__": true, - "__size__": 3574, + "__size__": 4305, "__name__": "pe_g1.py" }, "pm2_5": { diff --git a/boards/default/micropython/build/lib/pe_g1.py b/boards/default/micropython/build/lib/pe_g1.py index 1c81e814..ffba026a 100644 --- a/boards/default/micropython/build/lib/pe_g1.py +++ b/boards/default/micropython/build/lib/pe_g1.py @@ -1,30 +1,31 @@ """ -PE_G1 - -Micropython library for the PE_G1(Motor*5*2 & Servo*4) -======================================================= - -#Preliminary composition 20230120 - +Micropython library for +PE_G1 (Motor*5*2 & Servo*4) +MDB (Motor*4*2 & Servo*6) +=============================== @dahanzimin From the Mixly Team """ from time import sleep_ms from micropython import const -_PE_G1_ADDRESS = const(0x25) -_PE_G1_ID = const(0x00) -_PE_G1_VBAT = const(0x01) -_PE_G1_MOTOR = const(0x03) -_PE_G1_SERVO = const(0x0D) -_PE_G1_OFF = const(0x16) +_PE_GX_ADDRESS = const(0x25) +_PE_GX_ID = const(0x00) +_PE_GX_VBAT = const(0x01) +_PE_GX_MOTOR = const(0x03) class PE_G1: - def __init__(self, i2c_bus, addr=_PE_G1_ADDRESS): - self._i2c=i2c_bus + def __init__(self, i2c_bus, addr=_PE_GX_ADDRESS): + self._i2c = i2c_bus self._addr = addr sleep_ms(500) - if self._rreg(_PE_G1_ID)!= 0x25: - raise AttributeError("Cannot find a PE_G1") + if self._rreg(_PE_GX_ID) == 0x25: + self._PE_GX_SERVO = 0x0D + self._type = 1 #PE_G1 + elif self._rreg(_PE_GX_ID) == 0x26: + self._PE_GX_SERVO = 0x0B + self._type = 2 #MDB + else: + raise AttributeError("Cannot find a PE_G1 or MDB") self.reset() def _wreg(self, reg, val): @@ -38,75 +39,88 @@ class PE_G1: '''Read memory address''' try: self._i2c.writeto(self._addr, reg.to_bytes(1, 'little')) - return self._i2c.readfrom(self._addr, nbytes)[0] if nbytes<=1 else self._i2c.readfrom(self._addr, nbytes)[0:nbytes] + return self._i2c.readfrom(self._addr, nbytes)[0] if nbytes <= 1 else self._i2c.readfrom(self._addr, nbytes) except: return 0 def reset(self): """Reset all registers to default state""" - for reg in range(_PE_G1_MOTOR,_PE_G1_MOTOR+18): - self._wreg(reg,0x00) + if self._type == 1: + self._i2c.writeto_mem(self._addr, _PE_GX_MOTOR, bytes(18)) + if self._type == 2: + self._i2c.writeto_mem(self._addr, _PE_GX_MOTOR, bytes(20)) - def read_bat(self,ratio=0.0097): + def read_bat(self, ratio=1): '''Read battery power''' - vbat= self._rreg(_PE_G1_VBAT)<<2 | self._rreg(_PE_G1_VBAT+1)>>6 - return round(vbat*ratio,2) - - def m_pwm(self,index,duty=None): - """Motor*5*2 PWM duty cycle data register""" - if not 0 <= index <= 9: - raise ValueError("Motor port must be a number in the range: 0~9") + vbat = self._rreg(_PE_GX_VBAT) << 2 | self._rreg(_PE_GX_VBAT+1) >> 6 + if self._type == 1: + return round(vbat * ratio * 0.00968, 2) + if self._type == 2: + return round(vbat * ratio * 0.01398, 2) + + def m_pwm(self, index, duty=None): + """Motor PWM duty cycle data register""" + if self._type == 1: # Motor*5*2 + if not 0 <= index <= 9: + raise ValueError("Motor port must be a number in the range: 0~4") + if self._type == 2: # Motor*4*2 + if not 0 <= index <= 7: + raise ValueError("Motor port must be a number in the range: 0~3") if duty is None: - return self._rreg(_PE_G1_MOTOR+index) + return self._rreg(_PE_GX_MOTOR + index) else: if not 0 <= duty <= 255: raise ValueError("Duty must be a number in the range: 0~255") - self._wreg(_PE_G1_MOTOR+index,duty) + self._wreg(_PE_GX_MOTOR + index, duty) - def s_pwm(self,index,duty=None): - """Servo*4 PWM duty cycle data register""" - if not 0 <= index <= 3: - raise ValueError("Servo port must be a number in the range: 0~3") + def s_pwm(self, index, duty=None): + """Servo PWM duty cycle data register""" + if self._type == 1: # Servo*4 + if not 0 <= index <= 3: + raise ValueError("Servo port must be a number in the range: 0~3") + if self._type == 2: # Servo*6 + if not 0 <= index <= 5: + raise ValueError("Servo port must be a number in the range: 0~5") if duty is None: - return self._rreg(_PE_G1_SERVO+index*2)<<8 | self._rreg(_PE_G1_SERVO+index*2+1) + return self._rreg(self._PE_GX_SERVO + index * 2) << 8 | self._rreg(self._PE_GX_SERVO + index * 2 + 1) else: if not 0 <= duty <= 4095: raise ValueError("Duty must be a number in the range: 0~4095") - self._wreg(_PE_G1_SERVO+index*2,duty>>8) - self._wreg(_PE_G1_SERVO+index*2+1,duty&0xff) + self._wreg(self._PE_GX_SERVO + index * 2,duty >> 8) + self._wreg(self._PE_GX_SERVO + index * 2 + 1,duty & 0xff) - def motor(self,index,action,speed=0): + def motor(self, index, action="NC", speed=0): if not 0 <= speed <= 100: raise ValueError("Speed parameters must be a number in the range: 0~100") - if action=="N": - self.m_pwm(index*2,0) - self.m_pwm(index*2+1,0) - elif action=="P": - self.m_pwm(index*2,255) - self.m_pwm(index*2+1,255) - elif action=="CW": - self.m_pwm(index*2,0) - self.m_pwm(index*2+1,speed*255//100) - elif action=="CCW": - self.m_pwm(index*2,speed*255//100) - self.m_pwm(index*2+1,0) - elif action=="NC": - return round(self.m_pwm(index*2)*100/255),round(self.m_pwm(index*2+1)*100/255) + if action == "N": + self.m_pwm(index * 2, 0) + self.m_pwm(index * 2 + 1, 0) + elif action == "P": + self.m_pwm(index * 2, 255) + self.m_pwm(index * 2 + 1, 255) + elif action == "CW": + self.m_pwm(index * 2, 0) + self.m_pwm(index * 2 + 1, speed * 255 // 100) + elif action == "CCW": + self.m_pwm(index * 2, speed * 255 // 100) + self.m_pwm(index * 2 + 1, 0) + elif action == "NC": + return round(self.m_pwm(index * 2) * 100 / 255), round(self.m_pwm(index * 2 + 1) * 100 / 255) else: raise ValueError('Invalid input, valid are "N","P","CW","CCW"') - def servo180(self,index,angle=None): + def servo180(self, index, angle=None): if angle is None: - return round((self.s_pwm(index)-102.375)*180/409.5) + return round((self.s_pwm(index) - 102.375) * 180 / 409.5) else: if not 0 <= angle <= 180: raise ValueError("Servo(180) angle must be a number in the range: 0~180") - self.s_pwm(index,round(102.375 + 409.5/180 * angle)) + self.s_pwm(index,round(102.375 + 409.5 / 180 * angle)) - def servo360(self,index,speed=None): + def servo360(self, index, speed=None): if speed is None: - return round((self.s_pwm(index)-102.375)*200/409.5-100) + return round((self.s_pwm(index) - 102.375) * 200 / 409.5 - 100) else: - if not -100<= speed <= 100: + if not -100 <= speed <= 100: raise ValueError("Servo(360) speed must be a number in the range: -100~100") - self.s_pwm(index,round(102.375 + 409.5/200 * (speed+100))) + self.s_pwm(index,round(102.375 + 409.5 / 200 * (speed + 100))) diff --git a/boards/default/micropython_educore/index.xml b/boards/default/micropython_educore/index.xml index 6c4780a0..a7f775f7 100644 --- a/boards/default/micropython_educore/index.xml +++ b/boards/default/micropython_educore/index.xml @@ -1 +1 @@ -02000attachInterrupt_funcattachInterrupt_func10,1,2,3051iDIVIDE10Exception as eetestThreadtestThreadWHILETRUEHello Mixly from Thread!ms10timtim1000tim_callbacktim_callback5000200090x151100a10.998124.82997110010101000110050110011000110x2x0,1,2,30,1,2,30,1,2,3xMixlyMixlyHelloMixly65axMixlyMixly0Mixly02MixlyMixlyHello,mixlyl--mylistHello,mixlymixlymixpyI love mixly!I love mixlyRandom No. is {}int1100input('1+2*3')mylist1,2,3,4,5mylist0mylist02mylistmylistmylist0mylist00mylist00mylist0mylist0mylist0mylistmylistmylistxcontentmylistmytup1,2,3,4,5mytup0mytup02mytupmytupmytupmytup0mytupmytup1mytup2xmydictmydictkeymydictkey0mydictkey0mydictkeymydictkeymydictkey0mydictmydictmydictmydictxmydict{"name":"Mixly","color":"green"}mydicts11,2,3,4,5s1s1s1s2s1s2s10s1Mixlys1s2xMixlyMixlyMixly,HelloMixlyprompt02MixlyMixly0XFF00FFcodebMixlyMixlyxsensoraccaccbutton0rfidinfo1attachInterrupt_func1attachInterrupt_funcattachInterrupt_func00Mixly0Mixly2022711420452023,1,1,12,0,0180292023,1,1,12,0,0speaker2000speaker20001000speakerrgb0000rgbbleblebleMixlyMixly0MixlyMixly500MixlyMixly50010.50car100carcarcar1001001000interrupt_funcinterrupt_functurnsdistancewifinamewifipassword8080AUTH TOKEN0_value02000notify0Your Target Emailsubjectbodycolor#FF0000wifinamewifipassword0mixio.mixly.cn1883client_idusernamepasswordtopicreceievd_messagetopicmsgreceievd_messageEQtopicmessage1wifinamewifipasswordcsub_cb31444082183.230.40.3914109261n63JySRowo13ZLDBKw6y896E0=MixlyRobotsub_cbEQmsg1ciot_dict"sound"ciot_dictccwifinamewifipasswordclientEnter Your API_KEYEnter Your SECRET_KEYclient1clientS72099北京今天天气如何?wifinamewifipasswordSVa3S0UKHIy9dDArs北京SVa3S0UKHIy9dDArs北京10000ble_cble_pMixlyble_cble_cMixlyble_cble_xble_xble_xMixlyble_xble_xble_methodble_methodEQdataMixlyhandlehandle_methodhandle_methodkey1key2key3keyxble_keyboard_mouse10Hello, Mixly!1002000001000009000,4500,563,5630x1234callbackcmdaddrrawpulsesi2c2221100000i2c00i2c00i2ci2ci2cspi2000004512spi200000buf50spi10spi100xffspibufspibuf0xffspi12345spi12345buf1Mixlyow12owowow12345ow12345owmy_now0my_nowmy_nowmy_nowFFFFFFFFFFFFmixlymy_nowmy_nowcbcbEQmsg1spi10000004512spi8my_lora433.925716my_loramy_loramy_loraMixlyxsensor000humiture00button0ultrasonic00cameracamerai2c_extend45100000xsensori2c_extendxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensor1013.25xsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensor5000500xsensorxsensorxsensorxsensorxsensorxsensorspi10000004512spi8ysensorysensorysensor0ysensor0ysensor0Mixlyysensor0Mixlyysensorysensor39,119.96,31.67ysensorysensorstation45ps2_handle24512ps2_handle50ps2_handleps2_handlews_wr0121ws_wrws_wrws_wr360002zsensorzsensorzsensorzsensorweight12500weight0pin0servo900parrot0i2c_extend45400000matrixi2c_extendmatrixmatrixmatrixMixly0matrixMixlymatrixMixly500matrixMixlymatrixMixly500matrixmatrix>matrixmatrix1matrixmatrixmatrix0.5matrixmatrixdisp34disp2333dispdisp1i2c_extend45100000lcdi2c_extend0x27lcdMixly00lcdMixly005lcdlcdi2c_extend45100000oledi2c_extend0x3coledoled001oledMixlyoledMixly0010oledMixlyoledMixly0550oledMixlyoledMixly5500oled0020oled005050oled20202015oled1oled00oled00oledspi1000000450spi78tft_st7789135240tft_st7789001#ffffff255,255,0tft_st7789Mixly0050#ffffff255,255,0tft_st7789Mixly0550#ffffff255,255,0tft_st7789Mixly5500#ffffff255,255,0tft_st7789004040#ffffff255,255,0tft_st778912ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor'ni-hao','hong-se','lv-se','lan-se','bai-se','hei-se'0.1ai_sensor1.wav5ai_sensor1.wav100ai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsai_sensor'猫','狗','笔记本','笔'mixgo5自模型训练infoai_sensor'猫','狗','笔记本','笔'mixgo自模型识别objectsinfoai_sensor0.1606, 0.3562, 0.4712, 0.9568, 0.9877, 1.9108, 1.8761, 3.5310, 3.4423, 5.6823/sd/masks.kmodel外部模型加载objects12ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor1.wav5ai_sensor1.wav100infoai_sensorlicensePlateinfoai_sensorfaceinfoai_sensor20objectsai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsfilename.txtfMixlyfff0fffpathpathfilename.txtsrcname.txtdstname.txtff0wifinamewifipasswordwlanwlanwlanwlanwlan127.16.0.801234567wlanwlanwlanwlanwlan127.16.0.81234561connect_wifiwlanAPwlanTruewlanwlanSmallCabbage1234561WHILETRUEEQ0wlan0.0.0.0ms1000TRUEss0.0.0.080s192.168.0.180s5sss1024sbMixlyresponses1024sbMixlyresponse127.0.0.180sntp.aliyun.comwifinamewifipassword0responsehttp://mixio.mixly.cnresponsehttp://mixio.mixly.cnresponsehttp://192.168.1.1:11434qwen2.5-coder:0.5b5https://api.deepseek.comAPI Keydeepseek-chat5请介绍一下米思齐?content_callbackcontent_callbackcontent请介绍一下米思齐? \ No newline at end of file +02000attachInterrupt_funcattachInterrupt_func10,1,2,3051iDIVIDE10Exception as eetestThreadtestThreadWHILETRUEHello Mixly from Thread!ms10timtim1000tim_callbacktim_callback5000200090x151100a10.998124.82997110010101000110050110011000110x2x0,1,2,30,1,2,30,1,2,3xMixlyMixlyHelloMixly65axMixlyMixly0Mixly02MixlyMixlyHello,mixlyl--mylistHello,mixlymixlymixpyI love mixly!I love mixlyRandom No. is {}int1100input('1+2*3')mylist1,2,3,4,5mylist0mylist02mylistmylistmylist0mylist00mylist00mylist0mylist0mylist0mylistmylistmylistxcontentmylistmytup1,2,3,4,5mytup0mytup02mytupmytupmytupmytup0mytupmytup1mytup2xmydictmydictkeymydictkey0mydictkey0mydictkeymydictkeymydictkey0mydictmydictmydictmydictxmydict{"name":"Mixly","color":"green"}mydicts11,2,3,4,5s1s1s1s2s1s2s10s1Mixlys1s2xMixlyMixlyMixly,HelloMixlyprompt02MixlyMixly0XFF00FFcodebMixlyMixlyxsensoraccaccbutton0rfidinfo1attachInterrupt_func1attachInterrupt_funcattachInterrupt_func00Mixly0Mixly2022711420452023,1,1,12,0,0180292023,1,1,12,0,0speaker2000speaker20001000speakerrgb0000rgbbleblebleMixlyMixly0MixlyMixly500MixlyMixly50010.50car100carcarcar1001001000interrupt_funcinterrupt_functurnsdistancewifinamewifipassword8080AUTH TOKEN0_value02000notify0Your Target Emailsubjectbodycolor#FF0000wifinamewifipassword0mixio.mixly.cn1883client_idusernamepasswordtopicreceievd_messagetopicmsgreceievd_messageEQtopicmessage1wifinamewifipasswordcsub_cb31444082183.230.40.3914109261n63JySRowo13ZLDBKw6y896E0=MixlyRobotsub_cbEQmsg1ciot_dict"sound"ciot_dictccwifinamewifipasswordclientEnter Your API_KEYEnter Your SECRET_KEYclient1clientS72099北京今天天气如何?wifinamewifipasswordSVa3S0UKHIy9dDArs北京SVa3S0UKHIy9dDArs北京10000ble_cble_pMixlyble_cble_cMixlyble_cble_xble_xble_xMixlyble_xble_xble_methodble_methodEQdataMixlyhandlehandle_methodhandle_methodkey1key2key3keyxble_keyboard_mouse10Hello, Mixly!1002000001000009000,4500,563,5630x1234callbackcmdaddrrawpulsesi2c2221100000i2c00i2c00i2ci2ci2cspi2000004512spi200000buf50spi10spi100xffspibufspibuf0xffspi12345spi12345buf1Mixlyow12owowow12345ow12345owmy_now0my_nowmy_nowmy_nowFFFFFFFFFFFFmixlymy_nowmy_nowcbcbEQmsg1spi10000004512spi8my_lora433.925716my_loramy_loramy_loraMixlyxsensor000humiture00button0ultrasonic00cameracamerai2c_extend45100000xsensori2c_extendxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensor1013.25xsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensor5000500xsensorxsensorxsensorxsensorxsensorxsensorspi10000004512spi8ysensorysensorysensor0ysensor0ysensor0Mixlyysensor0Mixlyysensorysensor39,119.96,31.67ysensorysensorstation45ps2_handle24512ps2_handle50ps2_handleps2_handlews_wr0121ws_wrws_wrws_wr360002zsensorzsensorzsensorzsensorweight12500weight0pin0servo900parrot0i2c_extend45400000matrixi2c_extendmatrixmatrixmatrixMixly0matrixMixlymatrixMixly500matrixMixlymatrixMixly500matrixmatrix>matrixmatrix1matrixmatrixmatrix0.5matrixmatrixdisp34disp2333dispdisp1i2c_extend45100000lcdi2c_extend0x27lcdMixly00lcdMixly005lcdlcdi2c_extend45100000oledi2c_extend0x3coledoled001oledMixlyoledMixly0010oledMixlyoledMixly0550oledMixlyoledMixly5500oled0020oled005050oled20202015oled1oled00oled00oledspi1000000450spi78tft_st7789135240tft_st7789001#ffffff255,255,0tft_st7789Mixly0050#ffffff255,255,0tft_st7789Mixly0550#ffffff255,255,0tft_st7789Mixly5500#ffffff255,255,0tft_st7789004040#ffffff255,255,0tft_st778912ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor'ni-hao','hong-se','lv-se','lan-se','bai-se','hei-se'0.1ai_sensor1.wav5ai_sensor1.wav100ai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsai_sensor'猫','狗','笔记本','笔'mixgo5自模型训练infoai_sensor'猫','狗','笔记本','笔'mixgo自模型识别objectsinfoai_sensor0.1606, 0.3562, 0.4712, 0.9568, 0.9877, 1.9108, 1.8761, 3.5310, 3.4423, 5.6823/sd/masks.kmodel外部模型加载objects12ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor1.wav5ai_sensor1.wav100infoai_sensorlicensePlateinfoai_sensorfaceinfoai_sensor20objectsai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsfilename.txtfMixlyfff0fffpathpathfilename.txtsrcname.txtdstname.txtff0wifinamewifipasswordwlanwlanwlanwlanwlan127.16.0.801234567wlanwlanwlanwlanwlan127.16.0.81234561connect_wifiwlanAPwlanTruewlanwlanSmallCabbage1234561WHILETRUEEQ0wlan0.0.0.0ms1000TRUEss0.0.0.080s192.168.0.180s5sss1024sbMixlyresponses1024sbMixlyresponse127.0.0.180sntp.aliyun.comwifinamewifipassword0responsehttp://mixio.mixly.cnresponsehttp://mixio.mixly.cnresponsehttp://192.168.1.1:11434qwen2.5-coder:0.5b5https://api.deepseek.comAPI Keydeepseek-chat5请介绍一下米思齐?content_callbackcontent_callbackcontent请介绍一下米思齐? \ No newline at end of file diff --git a/boards/default/micropython_educore/main.bundle.25d16071.js b/boards/default/micropython_educore/main.bundle.25d16071.js deleted file mode 100644 index 4e2d8327..00000000 --- a/boards/default/micropython_educore/main.bundle.25d16071.js +++ /dev/null @@ -1,21 +0,0 @@ -(()=>{"use strict";var e={d:(t,i)=>{for(var n in i)e.o(i,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:i[n]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};e.r(t),e.d(t,{controls_type:()=>Ye,controls_typeLists:()=>Xe,lists_zip:()=>ye,lists_zip_container:()=>be,lists_zip_item:()=>xe,unpack_iterable_object:()=>Ve,variables_change:()=>Pe,variables_get:()=>fe,variables_global:()=>ve,variables_set:()=>Fe});var i={};e.r(i),e.d(i,{base_setup:()=>Ue,controls_delay:()=>we,controls_end_program:()=>ke,controls_except:()=>it,controls_finally:()=>nt,controls_flow_statements:()=>ze,controls_for:()=>Qe,controls_forEach:()=>Ke,controls_for_range:()=>je,controls_if:()=>He,controls_if_else:()=>et,controls_if_elseif:()=>Ze,controls_if_if:()=>$e,controls_lambda:()=>_t,controls_main:()=>Ge,controls_pass:()=>ot,controls_range:()=>We,controls_repeat_ext:()=>st,controls_thread:()=>pt,controls_try:()=>tt,controls_try_finally:()=>qe,controls_whileUntil:()=>Je,datetime_fromtimestamp:()=>It,do_while:()=>at,garbage_collection:()=>ut,gene_unique_identifier:()=>Tt,get_mem_alloc:()=>rt,get_mem_free:()=>lt,get_unique_identifier:()=>dt});var n={};e.r(n),e.d(n,{base_map:()=>yt,generate_cartesian_product:()=>xt,math_arithmetic:()=>Ot,math_bit:()=>ct,math_constant:()=>mt,math_constant_mp:()=>Et,math_constrain:()=>Dt,math_dec:()=>Ct,math_degree_to_radian:()=>Bt,math_indexer_number:()=>Ft,math_map:()=>ft,math_max_min:()=>At,math_number:()=>ht,math_number_base_conversion:()=>Lt,math_radian_to_degree:()=>Vt,math_random:()=>Nt,math_random_seed:()=>Pt,math_round:()=>vt,math_selfcalcu:()=>Rt,math_to_int:()=>St,math_trig:()=>gt,text_to_number:()=>Yt,text_to_number_skulpt:()=>Xt,turn_to_int:()=>bt});var s={};e.r(s),e.d(s,{ascii_to_char:()=>Kt,char_to_ascii:()=>Jt,number_to_text:()=>qt,os_system:()=>Oi,text:()=>Ut,text_bytes:()=>kt,text_capital:()=>ni,text_center:()=>si,text_char:()=>Ht,text_char_at:()=>jt,text_char_at2:()=>Qt,text_char_at3:()=>Mi,text_compareTo:()=>Ti,text_compare_to:()=>ii,text_create_with_container:()=>li,text_create_with_item:()=>di,text_encode:()=>mi,text_equals_starts_ends:()=>ti,text_eval:()=>Ei,text_find:()=>_i,text_format:()=>ri,text_format_noreturn:()=>hi,text_join:()=>Wt,text_join_seq:()=>oi,text_length:()=>zt,text_random_char:()=>$t,text_replace:()=>pi,text_split:()=>ai,text_strip:()=>ui,text_substring:()=>ei,text_substring2:()=>Zt,text_substring3:()=>Ii,text_textarea:()=>wt});var _={};e.r(_),e.d(_,{ENUMERATE:()=>tn,content_in_lists:()=>sn,enumerate:()=>nn,list_many_input:()=>wi,list_tolist:()=>Ki,list_tolist2:()=>en,list_trig:()=>Bi,lists_2d_get_col_row_data:()=>Si,lists_2d_get_data_with_col_row:()=>Ci,lists_append_extend:()=>Fi,lists_change_to:()=>Ui,lists_change_to_general:()=>Hi,lists_clear:()=>yi,lists_create_with:()=>Ai,lists_create_with2:()=>Ji,lists_create_with_container:()=>Ni,lists_create_with_item:()=>Di,lists_create_with_noreturn:()=>ki,lists_create_with_text:()=>Li,lists_create_with_text2:()=>qi,lists_del_general:()=>Wi,lists_find:()=>Vi,lists_getIndex3:()=>zi,lists_getSublist3:()=>Qi,lists_get_index:()=>ci,lists_get_random_item:()=>Pi,lists_get_random_sublist:()=>vi,lists_get_sublist:()=>gi,lists_insert_value:()=>Yi,lists_insert_value2:()=>$i,lists_pop:()=>xi,lists_remove_at:()=>bi,lists_remove_at2:()=>Zi,lists_reverse:()=>Xi,lists_setIndex3:()=>ji,lists_set_index:()=>fi,lists_sort:()=>Gi});var o={};e.r(o),e.d(o,{dicts_add_change_del:()=>Rn,dicts_add_or_change:()=>dn,dicts_clear:()=>Mn,dicts_create_with:()=>on,dicts_create_with_container:()=>pn,dicts_create_with_item:()=>an,dicts_create_with_noreturn:()=>Cn,dicts_deldict:()=>On,dicts_delete:()=>In,dicts_get:()=>rn,dicts_get_default:()=>ln,dicts_items:()=>hn,dicts_keys:()=>un,dicts_length:()=>En,dicts_pop:()=>cn,dicts_setdefault:()=>gn,dicts_to_json:()=>An,dicts_to_json2:()=>Dn,dicts_to_to:()=>Nn,dicts_todict:()=>Sn,dicts_update:()=>Tn,dicts_values:()=>mn,json_to_dicts:()=>Ln});var p={};e.r(p),e.d(p,{logic_boolean:()=>Xn,logic_compare:()=>Fn,logic_compare_continous:()=>Pn,logic_is:()=>Vn,logic_is_in:()=>xn,logic_negate:()=>Yn,logic_null:()=>yn,logic_operation:()=>vn,logic_tobool:()=>Bn,logic_true_or_false:()=>bn});var a={};e.r(a),e.d(a,{sdcard_mount:()=>as,sdcard_use_spi_init:()=>ps,storage_can_write_ornot:()=>qn,storage_change_dir:()=>_s,storage_close_file:()=>Qn,storage_delete_file:()=>$n,storage_file_seek:()=>ts,storage_file_tell:()=>es,storage_file_write:()=>Hn,storage_fileopen:()=>Un,storage_fileopen_new:()=>wn,storage_fileopen_new_encoding:()=>kn,storage_get_a_line:()=>Jn,storage_get_contents:()=>Kn,storage_get_contents_without_para:()=>Wn,storage_get_current_dir:()=>is,storage_get_file_size:()=>Zn,storage_get_filename:()=>zn,storage_is_file:()=>os,storage_list_all_files:()=>jn,storage_make_dir:()=>ns,storage_open_file_with_os:()=>Gn,storage_rename:()=>ss});var u={};e.r(u),e.d(u,{procedures_callnoreturn:()=>Is,procedures_callreturn:()=>Ts,procedures_defnoreturn:()=>us,procedures_defreturn:()=>rs,procedures_ifreturn:()=>Ms,procedures_mutatorarg:()=>ds,procedures_mutatorcontainer:()=>ls,procedures_return:()=>hs});var r={};e.r(r),e.d(r,{tuple_change_to:()=>Ds,tuple_create_llm_params:()=>xs,tuple_create_with:()=>Es,tuple_create_with_container:()=>Os,tuple_create_with_item:()=>Rs,tuple_create_with_noreturn:()=>vs,tuple_create_with_text2:()=>cs,tuple_create_with_text_return:()=>gs,tuple_del:()=>As,tuple_find:()=>fs,tuple_getIndex:()=>Cs,tuple_getSublist:()=>Ps,tuple_get_random_item:()=>Xs,tuple_get_sublist:()=>Ys,tuple_input:()=>bs,tuple_join:()=>Ls,tuple_length:()=>Ss,tuple_max:()=>Ns,tuple_totuple:()=>ys,tuple_trig:()=>Fs});var l={};e.r(l),e.d(l,{set_add_discard:()=>Js,set_clear:()=>Hs,set_create_with:()=>Bs,set_create_with_container:()=>Gs,set_create_with_item:()=>Us,set_create_with_text_return:()=>Qs,set_length:()=>ws,set_operate:()=>Ws,set_operate_update:()=>Ks,set_pop:()=>ks,set_sub:()=>qs,set_toset:()=>js,set_update:()=>zs});var d={};e.r(d),e.d(d,{html_content:()=>i_,html_content_more:()=>n_,html_document:()=>Zs,html_form:()=>__,html_head_body:()=>t_,html_style:()=>s_,html_style_color:()=>p_,html_style_content:()=>o_,html_text:()=>a_,html_title:()=>e_});var I={};e.r(I),e.d(I,{attribute_access:()=>g_,function_call:()=>O_,function_call_container:()=>R_,function_call_item:()=>c_,raw_block:()=>l_,raw_empty:()=>I_,raw_expression:()=>d_,raw_table:()=>r_,text_comment:()=>T_,text_print_multiple:()=>h_,text_print_multiple_container:()=>m_,text_print_multiple_item:()=>E_,type_check:()=>M_});var T={};e.r(T),e.d(T,{controls_type:()=>N_,controls_typeLists:()=>D_,lists_zip:()=>f_,unpack_iterable_object:()=>F_,variables_change:()=>A_,variables_get:()=>C_,variables_global:()=>L_,variables_set:()=>S_});var M={};e.r(M),e.d(M,{Panic_with_status_code:()=>G_,base_setup:()=>v_,controls_delay:()=>B_,controls_flow_statements:()=>V_,controls_for:()=>y_,controls_forEach:()=>W_,controls_for_range:()=>b_,controls_if:()=>Y_,controls_interrupts:()=>k_,controls_lambda:()=>J_,controls_main:()=>P_,controls_millis:()=>U_,controls_nointerrupts:()=>H_,controls_pass:()=>z_,controls_range:()=>K_,controls_repeat:()=>no,controls_repeat_ext:()=>$_,controls_thread:()=>Q_,controls_try_finally:()=>X_,controls_whileUntil:()=>x_,datetime_fromtimestamp:()=>so,do_while:()=>j_,garbage_collection:()=>Z_,gene_unique_identifier:()=>_o,get_mem_alloc:()=>eo,get_mem_free:()=>to,get_unique_identifier:()=>io,reset:()=>w_,time_sleep:()=>q_});var h={};e.r(h),e.d(h,{base_map:()=>No,generate_cartesian_product:()=>fo,math_arithmetic:()=>ro,math_bit:()=>uo,math_constant:()=>po,math_constant_mp:()=>ao,math_constrain:()=>Ro,math_dec:()=>Mo,math_degree_to_radian:()=>Po,math_indexer_number:()=>Co,math_map:()=>Oo,math_max_min:()=>mo,math_number:()=>oo,math_number_base_conversion:()=>co,math_radian_to_degree:()=>Fo,math_random:()=>Eo,math_random_seed:()=>go,math_round:()=>So,math_selfcalcu:()=>lo,math_single:()=>Io,math_to_int:()=>ho,math_trig:()=>To,text_to_number:()=>Ao,text_to_number_skulpt:()=>Lo,turn_to_int:()=>Do});var m={};e.r(m),e.d(m,{ascii_to_char:()=>xo,char_to_ascii:()=>Vo,number_to_text:()=>Bo,os_system:()=>ap,text:()=>vo,text_bytes:()=>Xo,text_capital:()=>qo,text_center:()=>zo,text_char:()=>yo,text_char_at:()=>wo,text_char_at2:()=>Uo,text_char_at3:()=>_p,text_compareTo:()=>sp,text_compare_to:()=>Wo,text_encode:()=>op,text_equals_starts_ends:()=>Ho,text_eval:()=>pp,text_find:()=>Qo,text_format:()=>tp,text_format_noreturn:()=>ip,text_join:()=>bo,text_join_seq:()=>jo,text_length:()=>Go,text_random_char:()=>ko,text_replace:()=>$o,text_split:()=>Zo,text_strip:()=>ep,text_substring:()=>Jo,text_substring2:()=>Ko,text_substring3:()=>np,text_textarea:()=>Yo});var E={};e.r(E),e.d(E,{content_in_lists:()=>wp,enumerate:()=>Up,list_many_input:()=>Dp,list_tolist:()=>Bp,list_tolist2:()=>Gp,list_trig:()=>Ap,lists_2d_get_col_row_data:()=>lp,lists_2d_get_data_with_col_row:()=>rp,lists_append_extend:()=>hp,lists_change_to:()=>Np,lists_change_to_general:()=>Fp,lists_clear:()=>cp,lists_create_with:()=>dp,lists_create_with2:()=>vp,lists_create_with_noreturn:()=>fp,lists_create_with_text:()=>Ip,lists_create_with_text2:()=>Yp,lists_del_general:()=>Pp,lists_find:()=>gp,lists_getIndex3:()=>Xp,lists_getSublist3:()=>yp,lists_get_index:()=>Tp,lists_get_random_item:()=>mp,lists_get_random_sublist:()=>Ep,lists_get_sublist:()=>up,lists_insert_value:()=>Op,lists_insert_value2:()=>xp,lists_pop:()=>Sp,lists_remove_at:()=>Cp,lists_remove_at2:()=>Vp,lists_reverse:()=>Rp,lists_setIndex3:()=>bp,lists_set_index:()=>Mp,lists_sort:()=>Lp});var O={};e.r(O),e.d(O,{dicts_add_change_del:()=>ta,dicts_add_or_change:()=>Jp,dicts_clear:()=>Qp,dicts_create_with:()=>kp,dicts_create_with_noreturn:()=>sa,dicts_deldict:()=>ea,dicts_delete:()=>qp,dicts_get:()=>Wp,dicts_get_default:()=>Kp,dicts_items:()=>jp,dicts_keys:()=>Hp,dicts_length:()=>Zp,dicts_pop:()=>ia,dicts_setdefault:()=>na,dicts_to_json:()=>oa,dicts_to_json2:()=>ua,dicts_to_to:()=>aa,dicts_todict:()=>_a,dicts_update:()=>zp,dicts_values:()=>$p,json_to_dicts:()=>pa});var R={};e.r(R),e.d(R,{logic_boolean:()=>Ta,logic_compare:()=>ra,logic_compare_continous:()=>la,logic_is:()=>Ea,logic_is_in:()=>ma,logic_negate:()=>Ia,logic_null:()=>Ma,logic_operation:()=>da,logic_tobool:()=>Oa,logic_true_or_false:()=>ha});var c={};e.r(c),e.d(c,{sdcard_mount:()=>wa,sdcard_use_spi_init:()=>Ua,storage_can_write_ornot:()=>Da,storage_change_dir:()=>ba,storage_close_file:()=>Fa,storage_delete_file:()=>va,storage_file_seek:()=>ya,storage_file_tell:()=>Xa,storage_file_write:()=>Sa,storage_fileopen:()=>ca,storage_fileopen_new:()=>ga,storage_fileopen_new_encoding:()=>Ca,storage_get_a_line:()=>Na,storage_get_contents:()=>La,storage_get_contents_without_para:()=>Aa,storage_get_current_dir:()=>xa,storage_get_file_size:()=>Ya,storage_get_filename:()=>fa,storage_is_file:()=>Ga,storage_list_all_files:()=>Pa,storage_make_dir:()=>Va,storage_open_file_with_os:()=>Ra,storage_rename:()=>Ba});var g={};e.r(g),e.d(g,{procedures_callnoreturn:()=>Ka,procedures_callreturn:()=>Wa,procedures_defnoreturn:()=>Ha,procedures_defreturn:()=>ka,procedures_ifreturn:()=>Ja,procedures_return:()=>qa});var C={};e.r(C),e.d(C,{tuple_change_to:()=>nu,tuple_create_llm_params:()=>du,tuple_create_with:()=>za,tuple_create_with_noreturn:()=>pu,tuple_create_with_text2:()=>Qa,tuple_create_with_text_return:()=>ja,tuple_del:()=>eu,tuple_find:()=>su,tuple_getIndex:()=>$a,tuple_getSublist:()=>ou,tuple_get_random_item:()=>uu,tuple_get_sublist:()=>au,tuple_input:()=>lu,tuple_join:()=>tu,tuple_length:()=>Za,tuple_max:()=>iu,tuple_totuple:()=>ru,tuple_trig:()=>_u});var S={};e.r(S),e.d(S,{set_add_discard:()=>Ou,set_clear:()=>hu,set_create_with:()=>Iu,set_create_with_text_return:()=>gu,set_length:()=>Tu,set_operate:()=>mu,set_operate_update:()=>Eu,set_pop:()=>Mu,set_sub:()=>Ru,set_toset:()=>Cu,set_update:()=>cu});var A={};e.r(A),e.d(A,{html_content:()=>Nu,html_content_more:()=>Du,html_document:()=>Su,html_form:()=>Fu,html_head_body:()=>Lu,html_style:()=>fu,html_style_content:()=>Pu,html_text:()=>vu,html_title:()=>Au});var L={};e.r(L),e.d(L,{attribute_access:()=>Bu,function_call:()=>Vu,raw_block:()=>Yu,raw_empty:()=>yu,raw_expression:()=>Xu,raw_table:()=>bu,type_check:()=>xu});var N={};e.r(N),e.d(N,{PIN_init:()=>Kr,actuator_extern_get_led_bright:()=>tr,actuator_extern_get_led_state:()=>ir,actuator_extern_led_bright:()=>er,actuator_extern_led_brightness:()=>nr,actuator_ms32006_dcmotor:()=>dr,actuator_ms32006_init:()=>lr,actuator_ms32006_stepper:()=>Ir,actuator_neopixel_init:()=>Tr,actuator_neopixel_rgb:()=>Mr,actuator_neopixel_rgb_all:()=>hr,actuator_neopixel_rgb_show_all_chase:()=>Or,actuator_neopixel_rgb_show_all_rainbow:()=>Er,actuator_neopixel_write:()=>mr,actuator_use_uart_init:()=>Rr,backstage_esp32_music_play_list:()=>qu,esp32_music_get_tempo_extern:()=>Qu,esp32_music_pitch:()=>Wu,esp32_music_pitch_init:()=>Hu,esp32_music_pitch_with_time:()=>Ku,esp32_music_play_list:()=>Ju,esp32_music_reset_extern:()=>ju,esp32_music_set_tempo_extern:()=>zu,esp32_music_stop:()=>$u,esp32_set_music_volume:()=>Zu,mixbot_actuator_extern_get_addr:()=>Hr,mixbot_actuator_extern_set_addr:()=>Wr,mixbot_addr_extern:()=>Pr,parrot_PIN_init:()=>Qr,parrot_move_speed:()=>jr,pin_led_bright:()=>Jr,player_insert_music:()=>Lr,player_play_music:()=>Ar,player_set_mode:()=>Sr,player_set_play:()=>gr,player_set_volume:()=>Cr,player_whether_stop:()=>cr,robot_led_extern:()=>yr,robot_led_extern_get_value:()=>br,robot_motor_extern:()=>vr,robot_motor_extern_get_speed:()=>Yr,robot_servo_extern_absolute_run:()=>Gr,robot_servo_extern_get_status:()=>xr,robot_servo_extern_relative_continue:()=>kr,robot_servo_extern_relative_origin:()=>Ur,robot_servo_extern_relative_run:()=>wr,robot_servo_extern_stop:()=>Br,robot_servo_extern_stop_mode:()=>Vr,robot_traffic_light_extern:()=>Xr,servo_PIN_init:()=>qr,servo_get_angle:()=>ur,servo_get_speed:()=>rr,servo_init:()=>sr,servo_move:()=>_r,servo_move_angle:()=>zr,servo_set_angle:()=>pr,servo_set_speed:()=>ar,servo_speed_360:()=>or,syn6288_builtin_voice:()=>fr,syn6288_get_voice:()=>Dr,syn6288_set_voice:()=>Nr,syn6288_tts_play:()=>Fr});var D={};e.r(D),e.d(D,{actuator_dc_motor:()=>Fl,actuator_dc_motor_stop:()=>Pl,actuator_get_led_bright:()=>il,actuator_get_led_state:()=>nl,actuator_led_bright:()=>tl,actuator_led_brightness:()=>sl,actuator_mixbot_buzzer_on_off:()=>bl,actuator_mixgo_nova_mic_get:()=>Ul,actuator_mixgo_nova_mic_set:()=>Gl,actuator_mixgo_nova_onboard_music_pitch:()=>Jl,actuator_mixgo_nova_onboard_music_stop:()=>ql,actuator_mixgo_nova_play_audio:()=>Wl,actuator_mixgo_nova_play_online_audio:()=>Kl,actuator_mixgo_nova_record_audio:()=>Hl,actuator_mixgo_nova_voice_get:()=>kl,actuator_mixgo_nova_voice_set:()=>wl,actuator_mixgo_zero_led_color:()=>_l,actuator_onboard_neopixel_rgb:()=>ll,actuator_onboard_neopixel_rgb_all:()=>dl,actuator_onboard_neopixel_rgb_show_all_chase:()=>Tl,actuator_onboard_neopixel_rgb_show_all_rainbow:()=>Il,actuator_onboard_neopixel_write:()=>Ml,actuator_rm_onboard_neopixel_rgb:()=>hl,actuator_rm_onboard_neopixel_rgb_all:()=>ml,actuator_rm_onboard_neopixel_rgb_show_all_chase:()=>El,actuator_stepper_keep:()=>Dl,actuator_stepper_stop:()=>fl,analog_ble_keyboard_init:()=>pd,analog_ble_keyboard_input:()=>rd,analog_ble_keyboard_mouse_init:()=>Ed,analog_ble_keyboard_mouse_input:()=>gd,analog_ble_keyboard_mouse_send_battery:()=>cd,analog_ble_keyboard_mouse_str:()=>Cd,analog_ble_keyboard_send_battery:()=>dd,analog_ble_keyboard_str:()=>ld,analog_ble_mouse_init:()=>Id,analog_ble_mouse_input:()=>hd,analog_ble_mouse_keyboard_input:()=>Sd,analog_ble_mouse_send_battery:()=>md,analog_keyboard_input:()=>$l,analog_keyboard_str:()=>od,analog_mouse_input:()=>sd,backstage_onboard_music_play_list:()=>Ll,bitbot_motor:()=>Bl,bitbot_move:()=>xl,bitbot_stop:()=>Vl,ble_keyboard_connect:()=>ud,ble_keyboard_get_mac:()=>ad,ble_keyboard_mouse_connect:()=>Rd,ble_keyboard_mouse_get_mac:()=>Od,ble_mouse_connect:()=>Md,ble_mouse_get_mac:()=>Td,cc_number:()=>rl,educore_ble_keyboard_input:()=>Xd,educore_ble_sensor_connected:()=>Yd,educore_ble_sensor_init:()=>vd,educore_buzzer:()=>Ad,educore_buzzer_play_tone:()=>Ld,educore_buzzer_play_tone_time:()=>Nd,educore_buzzer_stop:()=>Dd,educore_neopixel_clear:()=>Pd,educore_neopixel_rgb:()=>Fd,educore_rgb_light:()=>fd,esp32_music_get_tempo:()=>Rl,esp32_music_reset:()=>cl,esp32_music_set_tempo:()=>Ol,esp32_onboard_music_pitch:()=>gl,esp32_onboard_music_pitch_with_time:()=>Cl,esp32_onboard_music_play_list:()=>Al,esp32_onboard_music_stop:()=>Sl,general_key:()=>ed,general_key_tuple:()=>td,generalkey_container:()=>id,generalkey_create_with_item:()=>nd,get_keyboard_light:()=>yd,get_power_output:()=>Ql,ledswitch:()=>el,mixbot_motor:()=>yl,mixbot_motor_status:()=>vl,mixbot_move:()=>Yl,mixbot_stop:()=>Xl,mouse_key:()=>_d,number:()=>Zr,record_audio:()=>xd,rm_actuator_get_led_bright:()=>pl,rm_actuator_get_led_state:()=>al,rm_actuator_led_bright:()=>ol,rm_actuator_led_brightness:()=>ul,rm_motor:()=>Nl,set_all_power_output:()=>jl,set_microphone_amplification:()=>bd,set_music_volume:()=>Vd,set_power_output:()=>zl,special_key:()=>Zl});var f={};e.r(f),e.d(f,{ai_sensor_20object:()=>EI,ai_sensor_ailocal_class:()=>pI,ai_sensor_ailocal_class_result:()=>aI,ai_sensor_ailocal_train:()=>oI,ai_sensor_asr_recognize:()=>II,ai_sensor_audio_play:()=>rI,ai_sensor_audio_record:()=>uI,ai_sensor_barcode:()=>Kd,ai_sensor_circle:()=>$d,ai_sensor_classifier_faces:()=>mI,ai_sensor_color:()=>iI,ai_sensor_color_chases:()=>_I,ai_sensor_color_chases_result:()=>sI,ai_sensor_config:()=>Hd,ai_sensor_face:()=>hI,ai_sensor_find_20objects:()=>OI,ai_sensor_find_barcodes:()=>Jd,ai_sensor_find_circles:()=>Zd,ai_sensor_find_colors:()=>nI,ai_sensor_find_licenseplates:()=>MI,ai_sensor_find_lines:()=>jd,ai_sensor_find_qrcodes:()=>kd,ai_sensor_find_rects:()=>tI,ai_sensor_find_tags:()=>zd,ai_sensor_licenseplate:()=>TI,ai_sensor_line:()=>Qd,ai_sensor_qrcode:()=>Ud,ai_sensor_qrcode_lite:()=>wd,ai_sensor_rect:()=>eI,ai_sensor_rgb:()=>Wd,ai_sensor_tag:()=>qd,ai_sensor_use_uart_init:()=>Gd,ai_sensor_yolo_recognize:()=>lI,ai_sensor_yolo_recognize_result:()=>dI});var F={};e.r(F),e.d(F,{MICROPYTHON_AI_Speech_asr:()=>gI,MICROPYTHON_AI_Speech_unit:()=>cI,MICROPYTHON_AI_client:()=>RI});var P={};e.r(P),e.d(P,{mpython_blynk_app_data:()=>xI,mpython_blynk_app_notify:()=>FI,mpython_blynk_email:()=>YI,mpython_blynk_get_timers:()=>XI,mpython_blynk_on_connected:()=>NI,mpython_blynk_on_disconnected:()=>LI,mpython_blynk_run:()=>fI,mpython_blynk_sensor_data_to_app:()=>bI,mpython_blynk_set_property:()=>vI,mpython_blynk_setup:()=>VI,mpython_blynk_stop_timers:()=>PI,mpython_blynk_sync_virtual:()=>AI,mpython_blynk_terminal_widget_vpin:()=>SI,mpython_blynktimer:()=>yI,mpython_blynktimer_run:()=>DI});var v={};e.r(v),e.d(v,{cc_g1_init:()=>BI,cc_g1_read_bat:()=>GI,cc_g1_read_joystick:()=>UI,cc_g1_read_key:()=>wI,cc_g1_turnoff:()=>kI});var Y={};e.r(Y),e.d(Y,{ce_go_dc_motor:()=>$I,ce_go_get_led_bright:()=>JI,ce_go_get_led_state:()=>qI,ce_go_hall_attachInterrupt:()=>ZI,ce_go_hall_data:()=>tT,ce_go_hall_initialize:()=>eT,ce_go_led_bright:()=>KI,ce_go_led_brightness:()=>zI,ce_go_light_number:()=>WI,ce_go_pin_light:()=>oT,ce_go_pin_near:()=>nT,ce_go_pin_near_line:()=>iT,ce_go_pin_near_state_change:()=>sT,ce_go_stepper_keep:()=>QI,ce_go_stepper_stop:()=>jI,educore_car:()=>pT,educore_car_pin_near:()=>lT,educore_car_pin_near_line:()=>rT,educore_car_stepper_keep:()=>aT,educore_car_stepper_stop:()=>uT,sensor_mixgome_eulerangles:()=>_T});var X={};e.r(X),e.d(X,{communicate_bluetooth_central_init:()=>JT,communicate_bluetooth_connect:()=>jT,communicate_bluetooth_disconnect:()=>$T,communicate_bluetooth_handle:()=>nM,communicate_bluetooth_is_connected:()=>eM,communicate_bluetooth_mac:()=>QT,communicate_bluetooth_peripheral_init:()=>qT,communicate_bluetooth_recv:()=>tM,communicate_bluetooth_recv_only:()=>iM,communicate_bluetooth_scan:()=>zT,communicate_bluetooth_send:()=>ZT,communicate_espnow_init:()=>sM,communicate_espnow_init_new:()=>_M,communicate_i2c_available:()=>fT,communicate_i2c_init:()=>MT,communicate_i2c_master_read:()=>DT,communicate_i2c_onboard:()=>IT,communicate_i2c_read:()=>hT,communicate_i2c_scan:()=>ET,communicate_i2c_write:()=>mT,communicate_ir_recv_init:()=>xT,communicate_ir_send_init:()=>wT,communicate_ow_init:()=>PT,communicate_ow_read:()=>YT,communicate_ow_reset:()=>bT,communicate_ow_scan:()=>vT,communicate_ow_select:()=>yT,communicate_ow_write:()=>XT,communicate_spi_buffer:()=>cT,communicate_spi_init:()=>OT,communicate_spi_onboard:()=>TT,communicate_spi_read:()=>gT,communicate_spi_read_output:()=>CT,communicate_spi_readinto:()=>ST,communicate_spi_readinto_output:()=>AT,communicate_spi_set:()=>RT,communicate_spi_write:()=>LT,communicate_spi_write_readinto:()=>NT,espnow_radio_channel:()=>lM,espnow_radio_channel_new:()=>IM,espnow_radio_on_off:()=>TM,espnow_radio_rec:()=>hM,espnow_radio_recv:()=>EM,espnow_radio_recv_certain_msg:()=>OM,espnow_radio_recv_certain_msg_new:()=>cM,espnow_radio_recv_msg:()=>mM,espnow_radio_recv_new:()=>RM,espnow_radio_send:()=>MM,espnow_radio_txpower:()=>dM,i2c_available:()=>kM,i2c_init:()=>fM,i2c_master_reader2:()=>wM,i2c_read:()=>FM,i2c_scan:()=>vM,i2c_slave_onreceive:()=>FT,i2c_write:()=>PM,internal_variable:()=>VT,ir_recv_timeout:()=>UT,ir_transmit_busy:()=>KT,ir_transmit_conventional_data:()=>kT,ir_transmit_raw_code:()=>WT,ir_transmit_study_code:()=>HT,ir_whether_recv:()=>GT,lora_init:()=>gM,lora_packet:()=>CM,lora_recv:()=>AM,lora_send:()=>SM,network_espnow_info:()=>pM,network_espnow_mac:()=>oM,network_espnow_recv:()=>aM,network_espnow_recv_handle:()=>rM,network_espnow_send:()=>uM,recv_fun:()=>BT,spi_buffer:()=>yM,spi_init:()=>YM,spi_read:()=>bM,spi_read_output:()=>xM,spi_readinto:()=>VM,spi_readinto_output:()=>BM,spi_set:()=>XM,spi_write:()=>GM,spi_write_readinto:()=>UM,urequests_attribute:()=>NM,urequests_get:()=>LM,urequests_method:()=>DM});var y={};e.r(y),e.d(y,{display_animate:()=>ch,display_blink_rate:()=>mh,display_circle:()=>gh,display_color_seclet:()=>Xh,display_draw_4strings:()=>lh,display_fill:()=>Rh,display_get_screen_image:()=>hh,display_help:()=>Sh,display_image_size:()=>dh,display_lcd_use_i2c_init:()=>Gh,display_line:()=>Th,display_line_arbitrarily:()=>Mh,display_matrix_extern_bright_point:()=>nh,display_matrix_extern_bright_screen:()=>_h,display_matrix_extern_clear:()=>oh,display_matrix_extern_get_pixel:()=>ih,display_matrix_extern_get_screen_pixel:()=>sh,display_matrix_extern_image_builtins:()=>ph,display_matrix_extern_scroll_string:()=>jM,display_matrix_extern_scroll_string_delay:()=>$M,display_matrix_extern_shift:()=>th,display_matrix_extern_show_frame_string:()=>ZM,display_matrix_extern_show_frame_string_delay:()=>eh,display_matrix_extern_show_image:()=>zM,display_matrix_extern_show_image_or_string_delay:()=>QM,display_matrix_use_i2c_init:()=>qM,display_oled_drawPixel:()=>Lh,display_oled_showBitmap:()=>Ah,display_oled_use_i2c_init:()=>Wh,display_onoff:()=>Oh,display_rect:()=>Ih,display_rgb_color:()=>Eh,display_tm1650_power:()=>Dh,display_tm1650_set_brightness:()=>Ph,display_tm1650_show_dot:()=>Fh,display_tm1650_show_num:()=>fh,display_tm_use_i2c_init:()=>Nh,display_triangle:()=>Ch,display_use_i2c_init:()=>rh,extern_oled_bright_point:()=>im,extern_oled_clear:()=>nm,extern_oled_get_pixel:()=>tm,extern_oled_hvline:()=>_m,extern_oled_line:()=>om,extern_oled_scroll_string:()=>Qh,extern_oled_scroll_string_delay:()=>jh,extern_oled_shape_rect:()=>sm,extern_oled_shift:()=>em,extern_oled_show_frame_string:()=>$h,extern_oled_show_frame_string_delay:()=>Zh,extern_oled_show_image:()=>Kh,extern_oled_show_image_or_string_delay:()=>zh,extern_oled_show_image_xy:()=>Jh,extern_oled_show_string:()=>qh,lcd_backlight:()=>kh,lcd_clear:()=>Hh,lcd_print_string:()=>wh,lcd_show_image_or_string_delay:()=>Uh,matrix_extern_image_arithmetic:()=>ah,matrix_extern_image_invert:()=>uh,tft_fill:()=>Vh,tft_line_arbitrarily:()=>Bh,tft_scroll_string_delay:()=>bh,tft_show_frame_string_delay:()=>xh,tft_show_image_or_string_delay:()=>yh,tft_show_image_xy:()=>Yh,tft_use_spi_init:()=>vh});var b={};e.r(b),e.d(b,{bitbot_display_bitmap_create:()=>eE,bitbot_display_image_create:()=>Zm,display_available:()=>Dm,display_bitmap_create:()=>mm,display_bright_point:()=>Sm,display_bright_screen:()=>Lm,display_clear:()=>Nm,display_get_pixel:()=>Cm,display_get_screen_pixel:()=>Am,display_image_builtins:()=>Em,display_image_builtins_all:()=>Om,display_image_create:()=>hm,display_scroll_string:()=>rm,display_scroll_string_delay:()=>lm,display_scroll_way:()=>dm,display_shift:()=>gm,display_show_frame_string:()=>Tm,display_show_frame_string_delay:()=>Mm,display_show_image:()=>am,display_show_image_or_string_delay:()=>um,draw_pointer:()=>mE,image_arithmetic:()=>Rm,image_invert:()=>cm,mixbot_display_bitmap_create:()=>qm,mixbot_display_bright_screen:()=>jm,mixbot_display_get_ambientbright:()=>Qm,mixbot_display_get_screen_pixel:()=>zm,mixbot_display_image_create:()=>Jm,mixbot_display_rotate:()=>$m,mixgo_display_bitmap_create:()=>Xm,mixgo_display_image_create_new:()=>Ym,mixgome_display_bitmap_create:()=>Fm,mixgome_display_font:()=>ym,mixgome_display_image_create:()=>fm,mixgomini_display_bitmap_create:()=>vm,mixgomini_display_image_create:()=>Pm,mpython_display_hvline:()=>Hm,mpython_display_line:()=>Wm,mpython_display_shape_rect:()=>km,mpython_pbm_image:()=>Km,nova_draw_pointer:()=>EE,onboard_oled_bright_point:()=>wm,onboard_oled_scroll_string_delay:()=>Gm,onboard_oled_show_frame_string_delay:()=>Um,onboard_oled_show_image:()=>bm,onboard_oled_show_image_or_string_delay:()=>Bm,onboard_oled_show_image_xy:()=>xm,onboard_oled_show_string:()=>Vm,onboard_tft_bright_point:()=>uE,onboard_tft_bright_screen:()=>NE,onboard_tft_clear:()=>DE,onboard_tft_clock_clear:()=>ME,onboard_tft_clock_draw:()=>TE,onboard_tft_clock_get_rtctime:()=>dE,onboard_tft_clock_init:()=>lE,onboard_tft_clock_set_time:()=>IE,onboard_tft_display_hvline:()=>oE,onboard_tft_display_line:()=>pE,onboard_tft_display_shape_circle:()=>hE,onboard_tft_display_shape_rect:()=>_E,onboard_tft_fill:()=>rE,onboard_tft_get_pixel:()=>aE,onboard_tft_get_screen_pixel:()=>LE,onboard_tft_scroll_string:()=>CE,onboard_tft_scroll_string_delay:()=>Im,onboard_tft_shift:()=>AE,onboard_tft_show_frame_string:()=>SE,onboard_tft_show_frame_string_delay:()=>sE,onboard_tft_show_image:()=>gE,onboard_tft_show_image_or_string_delay:()=>nE,onboard_tft_show_image_xy:()=>tE,onboard_tft_show_image_xy_direct:()=>iE,onboard_tft_show_qrcode:()=>RE,onboard_tft_show_qrcode_details:()=>cE,onboard_tft_show_texts:()=>OE});var x={};e.r(x),e.d(x,{factory_block:()=>KE,factory_block_return:()=>JE,factory_block_return_with_textarea:()=>zE,factory_block_with_textarea:()=>qE,factory_callMethod_noreturn:()=>HE,factory_callMethod_return:()=>WE,factory_create_with_container:()=>GE,factory_create_with_item:()=>UE,factory_declare:()=>kE,factory_from_import:()=>xE,factory_function_noreturn:()=>BE,factory_function_return:()=>wE,factory_import:()=>VE,folding_block:()=>QE});var V={};e.r(V),e.d(V,{controls_pin_attachInterrupt:()=>EO,inout_analog_atten:()=>oO,inout_analog_read:()=>_O,inout_analog_read_init:()=>dO,inout_analog_write:()=>iO,inout_analog_write_init:()=>lO,inout_analog_write_set:()=>nO,inout_analog_write_set_freq:()=>MO,inout_digital_init:()=>uO,inout_digital_read:()=>eO,inout_digital_write:()=>ZE,inout_highlow:()=>$E,inout_pinMode:()=>TO,inout_pin_attachInterrupt:()=>aO,inout_pin_pressed:()=>pO,inout_pin_pressed_init:()=>IO,inout_pwm_analog_write:()=>tO,inout_pwm_analog_write_init:()=>rO,inout_pwm_analog_write_set_freq:()=>sO,pin_pressed:()=>mO,pin_pressed_init:()=>hO});var B={};e.r(B),e.d(B,{IOT_CONNECT_OLLAMA:()=>iR,IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>kO,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>wO,IOT_EMQX_PING:()=>GO,IOT_FORMATTING:()=>VO,IOT_FORMAT_STRING:()=>BO,IOT_MIXIO_NTP:()=>UO,IOT_MIXIO_PUBLISH:()=>FO,IOT_MIXIO_PUBLISHEX:()=>PO,IOT_MIXIO_SUBSCRIBE:()=>vO,iot_checkonenet:()=>ZO,iot_client_onboard:()=>WO,iot_connect_ollama:()=>tR,iot_connect_openai:()=>nR,iot_create_with_item:()=>DO,iot_http_client:()=>KO,iot_http_data:()=>JO,iot_mixio_check:()=>yO,iot_mixio_connect:()=>fO,iot_mixio_connect_only:()=>XO,iot_mixio_disconnect:()=>YO,iot_mixio_format_msg:()=>xO,iot_mixio_format_topic:()=>bO,iot_mixly_key:()=>HO,iot_mqtt_client:()=>qO,iot_mqtt_data:()=>zO,iot_onenet_check:()=>CO,iot_onenet_connect:()=>cO,iot_onenet_disconnect:()=>gO,iot_onenet_publish:()=>AO,iot_onenet_publish_dict:()=>SO,iot_onenetconnect:()=>jO,iot_onenetdisconnect:()=>$O,iot_publish:()=>eR,iot_publish_container:()=>LO,iot_publish_item:()=>NO,iot_tiny_web_db_count:()=>lR,iot_tiny_web_db_delete:()=>IR,iot_tiny_web_db_get:()=>rR,iot_tiny_web_db_init:()=>pR,iot_tiny_web_db_init_with_mqtt:()=>aR,iot_tiny_web_db_search:()=>dR,iot_tiny_web_db_update:()=>uR,iot_wifi_connect:()=>RO,iot_wificonnect:()=>QO,ollama_empty_history:()=>oR,use_ollama_llm_to_chat:()=>sR,use_ollama_llm_to_chat_return:()=>_R});var G={};e.r(G),e.d(G,{educore_mqtt_connect:()=>JR,educore_mqtt_connect_success:()=>jR,educore_mqtt_subscribe_message:()=>qR,educore_mqtt_topic_publish:()=>QR,educore_mqtt_topic_subscribe:()=>zR,educore_wifi_connect:()=>KR,network_ap_connect:()=>SR,network_connect:()=>OR,network_get_connect:()=>cR,network_get_wifi:()=>CR,network_init:()=>MR,network_is_active:()=>mR,network_open:()=>hR,network_scan:()=>ER,network_server:()=>AR,network_socket_accept:()=>FR,network_socket_bind:()=>NR,network_socket_close:()=>bR,network_socket_connect:()=>DR,network_socket_init:()=>LR,network_socket_listen:()=>fR,network_socket_readline:()=>PR,network_socket_receive:()=>vR,network_socket_receive_from:()=>XR,network_socket_send:()=>YR,network_socket_send_to:()=>yR,network_stop:()=>gR,network_wifi_connect:()=>RR,ntptime_address:()=>UR,ntptime_time:()=>GR,requests_attribute:()=>VR,requests_attribute2:()=>WR,requests_get:()=>xR,requests_get2:()=>kR,requests_method:()=>BR,requests_post:()=>HR});var U={};e.r(U),e.d(U,{CI130X_BROADCAST:()=>gc,CI130X_GET_THE_RECOGNIZED_CMD:()=>cc,CI130X_GET_WHETHER_IDENTIFY:()=>Rc,CI130X_IDENTIFY_AND_SAVE:()=>Oc,CI130X_SET_SYSTEM_CMD:()=>Cc,HCSR04:()=>lg,PS2_Button:()=>Mg,PS2_Buttons:()=>mg,PS2_Buttons_new:()=>cg,PS2_State:()=>hg,PS2_init:()=>dg,PS2_init_new:()=>Og,PS2_stk:()=>Eg,PS2_stk_new:()=>gg,PS2_vibration:()=>Tg,PS2_vibration_new:()=>Rg,camera_sensor_init:()=>$g,camera_sensor_result:()=>Zg,column_tube_foot:()=>sC,define_keyboards:()=>_C,educore_body_sensor:()=>wg,educore_button_sensor_extern:()=>Kg,educore_camera_sensor:()=>jg,educore_infrared_sensor:()=>Wg,educore_soilhum_sensor:()=>kg,educore_temp_sensor:()=>Qg,educore_temphum_sensor:()=>Hg,educore_ultrasonic_sensor:()=>qg,esp32_s2_weather_init:()=>pg,esp32_s2_weather_rain:()=>ug,esp32_s2_weather_wd:()=>ag,esp32_s2_weather_ws:()=>rg,extern_rfid_read:()=>Jc,extern_rfid_readcontent:()=>zc,extern_rfid_readid:()=>qc,extern_rfid_status:()=>$c,extern_rfid_write:()=>Qc,extern_rfid_write_return:()=>jc,get_keboards_value:()=>oC,gnss_get_data:()=>Lg,gnss_have_data:()=>Ag,init_init_rotary_encoder:()=>pC,init_matrix_keyboard:()=>iC,interaction_whether_to_interaction:()=>mc,interaction_whether_to_interaction_SANT:()=>Ec,line_tube_foot:()=>nC,mixbot_sensor_extern_get_addr:()=>Xg,mixbot_sensor_extern_set_addr:()=>yg,pm25_get_data:()=>Sg,radar_set_DETECTION_THRESHOLD:()=>Mc,radar_set_DETECTION_THRESHOLD_SANT:()=>hc,robot_button_extern_get_value:()=>Dg,robot_color_extern_get_value:()=>Yg,robot_infrared_extern_get_value:()=>Fg,robot_infrared_extern_grey_get_value:()=>Pg,robot_potentiometer_extern_get_value:()=>vg,robot_sonar_extern_get_value:()=>bg,robot_sonar_extern_led:()=>xg,robot_touch_extern_get_value:()=>fg,rotary_key:()=>aC,sensor_APDS9960_extern:()=>Ac,sensor_DS18X20:()=>dc,sensor_LTR308_extern:()=>Lc,sensor_LTR390UV_extern:()=>fc,sensor_MAX30102_extern:()=>Sc,sensor_QMC5883L_extern:()=>xc,sensor_VL530LX_extern:()=>Fc,sensor_adxl345_get_acceleration:()=>sc,sensor_aht11_extern:()=>vc,sensor_bmp:()=>rc,sensor_compass_reset:()=>Wc,sensor_dht11:()=>oc,sensor_hp203_extern:()=>Yc,sensor_light_level:()=>_c,sensor_lm35:()=>Ic,sensor_ltr381_extern:()=>Nc,sensor_mixgo_extern_button_attachInterrupt:()=>ic,sensor_mixgo_extern_button_get_presses:()=>tc,sensor_mixgo_extern_button_is_pressed:()=>ZR,sensor_mixgo_extern_button_was_pressed:()=>ec,sensor_mixgo_extern_light:()=>pc,sensor_mixgo_extern_pin_near:()=>uc,sensor_mixgo_extern_sound:()=>ac,sensor_mixgoce_hot_wheel_degrees:()=>og,sensor_mixgoce_hot_wheel_is_touched:()=>_g,sensor_mpu9250_attachGestureInterrupt:()=>nc,sensor_mpu9250_calibrate_compass:()=>wc,sensor_mpu9250_field_strength:()=>Hc,sensor_mpu9250_gesture:()=>Vc,sensor_mpu9250_get_acceleration:()=>Bc,sensor_mpu9250_get_gyro:()=>Uc,sensor_mpu9250_get_magnetic:()=>Gc,sensor_mpu9250_temperature:()=>kc,sensor_ms5611_extern:()=>yc,sensor_ms5611_extern_altitude:()=>bc,sensor_read_humiture:()=>Jg,sensor_sht:()=>lc,sensor_shtc3_extern:()=>Pc,sensor_spl06_001_extern:()=>Xc,sensor_ucs12071_extern:()=>Dc,sensor_use_i2c_init:()=>Tc,sensor_use_spi_init:()=>Kc,sensor_use_uart_init:()=>Cg,sensor_weather_solo_init:()=>Vg,sensor_weather_solo_rain:()=>Ug,sensor_weather_solo_wd:()=>Bg,sensor_weather_solo_ws:()=>Gg,sensor_weigh_init:()=>eC,tvoc_get_data:()=>Ng,ultrasonic_sensor_read_distance:()=>zg,weather_data:()=>Zc,weather_have_data:()=>eg,weather_set_label:()=>ig,weather_set_label_container:()=>ng,weather_set_label_item:()=>sg,weather_uart_mixio:()=>tg,weigh_sensor_get_weight:()=>tC});var w={};e.r(w),e.d(w,{HCSR04:()=>AC,RTC_set_date:()=>SC,RTC_set_time:()=>CC,bitbot_als_num:()=>XS,dht11:()=>US,educore_button_sensor:()=>QS,educore_button_was_pressed:()=>jS,educore_gyroscope_sensor:()=>JS,educore_gyroscope_sensor_read:()=>qS,educore_gyroscope_sensor_shake:()=>zS,educore_light_sensor:()=>KS,educore_rfid_sensor:()=>$S,educore_rfid_sensor_scan:()=>ZS,educore_rfid_sensor_scan_data:()=>eA,educore_voice_sensor:()=>HS,number1:()=>NC,number2:()=>DC,number3:()=>fC,number4:()=>FC,number5:()=>PC,number6:()=>vC,number7:()=>YC,onboard_RTC_get_time:()=>UC,onboard_RTC_get_time_str:()=>JC,onboard_RTC_get_timestamp:()=>wC,onboard_RTC_get_timetuple_to_str:()=>qC,onboard_RTC_set_datetime:()=>WC,onboard_RTC_settime_string:()=>HC,onboard_RTC_timestamp_totuple:()=>kC,rfid_readcontent:()=>tS,rfid_readid:()=>eS,rfid_status:()=>sS,rfid_write:()=>iS,rfid_write_return:()=>nS,sensor_LTR308:()=>zC,sensor_aht11:()=>jC,sensor_bitbot_ALS:()=>YS,sensor_button_get_presses:()=>xS,sensor_button_is_pressed:()=>yS,sensor_button_was_pressed:()=>bS,sensor_distance_hrsc04:()=>gC,sensor_eulerangles:()=>oS,sensor_field_strength:()=>wS,sensor_get_acceleration:()=>_S,sensor_get_temperature:()=>$C,sensor_get_the_coprocessor_version:()=>tA,sensor_hp203:()=>ZC,sensor_light:()=>GS,sensor_mixbot_get_gyro:()=>vS,sensor_mixbot_patrol_calibrate:()=>fS,sensor_mixbot_patrol_value:()=>FS,sensor_mixbot_temperature:()=>PS,sensor_mixgo_LTR308:()=>BC,sensor_mixgo_button_attachInterrupt:()=>IC,sensor_mixgo_button_get_presses:()=>dC,sensor_mixgo_button_is_pressed:()=>rC,sensor_mixgo_button_was_pressed:()=>lC,sensor_mixgo_cc_mmc5603_calibrate_compass:()=>mS,sensor_mixgo_cc_mmc5603_get_angle:()=>hS,sensor_mixgo_cc_mmc5603_get_magnetic:()=>MS,sensor_mixgo_light:()=>LC,sensor_mixgo_nova_LTR308:()=>VC,sensor_mixgo_nova_pin_near:()=>xC,sensor_mixgo_pin_near:()=>bC,sensor_mixgo_pin_near_double:()=>yC,sensor_mixgo_pin_near_single:()=>XC,sensor_mixgo_pin_pressed:()=>EC,sensor_mixgo_sant_color:()=>GC,sensor_mixgo_touch_slide:()=>cC,sensor_mixgocar42_button_attachInterrupt:()=>mC,sensor_mixgocar42_button_get_presses:()=>hC,sensor_mixgocar42_button_is_pressed:()=>TC,sensor_mixgocar42_button_was_pressed:()=>MC,sensor_mixgocar_battery_left:()=>DS,sensor_mixgocar_pin_near:()=>LS,sensor_mixgocar_pin_near_line:()=>AS,sensor_mixgocar_pin_near_state_change:()=>NS,sensor_mixgoce_pin_pressed:()=>OC,sensor_mixgoce_temperature:()=>OS,sensor_mixgome_temperature:()=>ES,sensor_mpython_pin_pressed:()=>RC,sensor_mpython_qmi8658_get_gyro:()=>RS,sensor_mpython_qmi8658_temperature:()=>cS,sensor_onboard_compass_reset:()=>TS,sensor_onboard_mpu9250_calibrate_compass:()=>lS,sensor_onboard_mpu9250_field_strength:()=>IS,sensor_onboard_mpu9250_gesture:()=>pS,sensor_onboard_mpu9250_get_acceleration:()=>aS,sensor_onboard_mpu9250_get_gyro:()=>rS,sensor_onboard_mpu9250_get_magnetic:()=>uS,sensor_onboard_mpu9250_temperature:()=>dS,sensor_pin_near:()=>BS,sensor_pin_pressed:()=>VS,sensor_read:()=>WS,sensor_rm_acc:()=>SS,sensor_rm_battery_left:()=>CS,sensor_rm_pin_near_double:()=>gS,sensor_rtc_init:()=>KC,sensor_sound:()=>QC,sensor_temperature:()=>kS,simulated_light_sensor:()=>iA});var k={};e.r(k),e.d(k,{serial_any:()=>dA,serial_begin:()=>mA,serial_print:()=>pA,serial_print_byte:()=>oA,serial_print_hex:()=>uA,serial_println:()=>aA,serial_read_from_ai:()=>LA,serial_readline:()=>IA,serial_readstr:()=>lA,serial_readstr_until:()=>TA,serial_receive_data_event:()=>rA,serial_send_to_ai:()=>AA,serial_softserial:()=>hA,serial_softserial_new:()=>MA,system_input:()=>EA,system_print:()=>OA,system_print_container:()=>CA,system_print_end:()=>cA,system_print_inline:()=>RA,system_print_item:()=>SA,system_print_many:()=>gA});var H={};e.r(H),e.d(H,{Panic_with_status_code:()=>FA,Timer_init:()=>HA,base_delay:()=>JA,controls_delay:()=>fA,controls_delay_new:()=>DA,controls_millis:()=>vA,controls_uname:()=>XA,raw_block:()=>YA,reset:()=>PA,set_system_timer:()=>BA,system_bitbot_shutdown:()=>kA,system_machine_reset:()=>wA,system_ticks_diff:()=>xA,system_timer:()=>bA,system_timer_init:()=>VA,system_wdt_feed:()=>UA,system_wdt_init:()=>GA,time_ticks_diff:()=>KA,timer:()=>yA,timer2:()=>WA});var W={};e.r(W),e.d(W,{Air_daily_content:()=>pL,Air_now_content:()=>eL,Geo_moon_content:()=>uL,Geo_sun_content:()=>aL,Life_suggestion_content:()=>iL,Location_search_content:()=>sL,Tide_daily_content:()=>nL,WEATHER_DAILY:()=>QA,WEATHER_HOUR:()=>jA,WEATHER_NOW:()=>zA,Weather_alarm_content:()=>tL,Weather_daily:()=>_L,Weather_daily_content:()=>oL,Weather_now:()=>$A,Weather_now_content:()=>ZA});var K={};e.r(K),e.d(K,{PIN_init:()=>lN,actuator_extern_get_led_bright:()=>PL,actuator_extern_get_led_state:()=>vL,actuator_extern_led_bright:()=>FL,actuator_extern_led_brightness:()=>YL,actuator_ms32006_dcmotor:()=>mL,actuator_ms32006_init:()=>hL,actuator_ms32006_stepper:()=>EL,actuator_neopixel_init:()=>XL,actuator_neopixel_rgb:()=>xL,actuator_neopixel_rgb_all:()=>yL,actuator_neopixel_rgb_show_all_chase:()=>VL,actuator_neopixel_rgb_show_all_rainbow:()=>BL,actuator_neopixel_write:()=>bL,actuator_use_uart_init:()=>GL,backstage_esp32_music_play_list:()=>NL,esp32_music_get_tempo_extern:()=>AL,esp32_music_pitch:()=>RL,esp32_music_pitch_init:()=>OL,esp32_music_pitch_with_time:()=>cL,esp32_music_play_list:()=>LL,esp32_music_reset_extern:()=>DL,esp32_music_set_tempo_extern:()=>SL,esp32_music_stop:()=>gL,esp32_set_music_volume:()=>CL,mixbot_actuator_extern_get_addr:()=>uN,mixbot_actuator_extern_set_addr:()=>rN,mixbot_addr_extern:()=>QL,parrot_PIN_init:()=>MN,parrot_move_speed:()=>hN,pin_led_bright:()=>dN,player_play_music:()=>WL,player_set_mode:()=>HL,player_set_play:()=>wL,player_set_volume:()=>kL,player_whether_stop:()=>UL,robot_led_extern:()=>eN,robot_led_extern_get_value:()=>tN,robot_motor_extern:()=>jL,robot_motor_extern_get_speed:()=>$L,robot_servo_extern_absolute_run:()=>_N,robot_servo_extern_get_status:()=>iN,robot_servo_extern_relative_continue:()=>aN,robot_servo_extern_relative_origin:()=>oN,robot_servo_extern_relative_run:()=>pN,robot_servo_extern_stop:()=>sN,robot_servo_extern_stop_mode:()=>nN,robot_traffic_light_extern:()=>ZL,servo_PIN_init:()=>IN,servo_get_angle:()=>TL,servo_get_speed:()=>ML,servo_init:()=>rL,servo_move:()=>fL,servo_move_angle:()=>TN,servo_set_angle:()=>dL,servo_set_speed:()=>IL,servo_speed_360:()=>lL,syn6288_builtin_voice:()=>qL,syn6288_get_voice:()=>JL,syn6288_set_voice:()=>KL,syn6288_tts_play:()=>zL});var J={};e.r(J),e.d(J,{actuator_dc_motor:()=>WN,actuator_dc_motor_stop:()=>KN,actuator_get_led_bright:()=>DN,actuator_get_led_state:()=>fN,actuator_led_bright:()=>NN,actuator_led_brightness:()=>FN,actuator_mixbot_buzzer_on_off:()=>jN,actuator_mixgo_nova_mic_get:()=>iD,actuator_mixgo_nova_mic_set:()=>tD,actuator_mixgo_nova_onboard_music_pitch:()=>aD,actuator_mixgo_nova_onboard_music_stop:()=>uD,actuator_mixgo_nova_play_audio:()=>oD,actuator_mixgo_nova_play_online_audio:()=>pD,actuator_mixgo_nova_record_audio:()=>_D,actuator_mixgo_nova_voice_get:()=>sD,actuator_mixgo_nova_voice_set:()=>nD,actuator_mixgo_zero_led_color:()=>PN,actuator_onboard_neopixel_rgb:()=>VN,actuator_onboard_neopixel_rgb_all:()=>BN,actuator_onboard_neopixel_rgb_show_all_chase:()=>GN,actuator_onboard_neopixel_rgb_show_all_rainbow:()=>UN,actuator_onboard_neopixel_write:()=>xN,actuator_stepper_keep:()=>kN,actuator_stepper_stop:()=>HN,analog_ble_keyboard_init:()=>RD,analog_ble_keyboard_input:()=>CD,analog_ble_keyboard_mouse_init:()=>PD,analog_ble_keyboard_mouse_input:()=>yD,analog_ble_keyboard_mouse_send_battery:()=>XD,analog_ble_keyboard_mouse_str:()=>bD,analog_ble_keyboard_send_battery:()=>AD,analog_ble_keyboard_str:()=>SD,analog_ble_mouse_init:()=>LD,analog_ble_mouse_input:()=>fD,analog_ble_mouse_keyboard_input:()=>xD,analog_ble_mouse_send_battery:()=>FD,analog_keyboard_input:()=>ID,analog_keyboard_str:()=>ED,analog_mouse_input:()=>hD,backstage_onboard_music_play_list:()=>CN,bitbot_motor:()=>eD,bitbot_move:()=>$N,bitbot_stop:()=>ZN,ble_keyboard_connect:()=>gD,ble_keyboard_get_mac:()=>cD,ble_keyboard_mouse_connect:()=>YD,ble_keyboard_mouse_get_mac:()=>vD,ble_mouse_connect:()=>DD,ble_mouse_get_mac:()=>ND,cc_number:()=>vN,educore_ble_keyboard_input:()=>JD,educore_ble_sensor_connected:()=>KD,educore_ble_sensor_init:()=>WD,educore_buzzer:()=>VD,educore_buzzer_play_tone:()=>BD,educore_buzzer_play_tone_time:()=>GD,educore_buzzer_stop:()=>UD,educore_neopixel_clear:()=>HD,educore_neopixel_rgb:()=>kD,educore_rgb_light:()=>wD,esp32_music_get_tempo:()=>EN,esp32_music_reset:()=>SN,esp32_music_set_tempo:()=>mN,esp32_onboard_music_pitch:()=>ON,esp32_onboard_music_pitch_with_time:()=>RN,esp32_onboard_music_play_list:()=>gN,esp32_onboard_music_stop:()=>cN,general_key:()=>MD,general_key_tuple:()=>OD,get_keyboard_light:()=>qD,get_power_output:()=>lD,ledswitch:()=>LN,mixbot_motor:()=>QN,mixbot_motor_status:()=>JN,mixbot_move:()=>qN,mixbot_stop:()=>zN,mouse_key:()=>mD,number:()=>AN,record_audio:()=>QD,rm_actuator_get_led_bright:()=>XN,rm_actuator_get_led_state:()=>yN,rm_actuator_led_bright:()=>YN,rm_actuator_led_brightness:()=>bN,rm_motor:()=>wN,set_all_power_output:()=>dD,set_microphone_amplification:()=>zD,set_music_volume:()=>jD,set_power_output:()=>rD,special_key:()=>TD});var q={};e.r(q),e.d(q,{ai_sensor_20object:()=>Pf,ai_sensor_ailocal_class:()=>Rf,ai_sensor_ailocal_class_result:()=>cf,ai_sensor_ailocal_train:()=>Of,ai_sensor_asr_recognize:()=>Lf,ai_sensor_audio_play:()=>Cf,ai_sensor_audio_record:()=>gf,ai_sensor_barcode:()=>_f,ai_sensor_circle:()=>lf,ai_sensor_classifier_faces:()=>Ff,ai_sensor_color:()=>Mf,ai_sensor_color_chases:()=>Ef,ai_sensor_color_chases_result:()=>mf,ai_sensor_config:()=>ef,ai_sensor_face:()=>ff,ai_sensor_find_20objects:()=>vf,ai_sensor_find_barcodes:()=>of,ai_sensor_find_circles:()=>df,ai_sensor_find_colors:()=>hf,ai_sensor_find_licenseplates:()=>Df,ai_sensor_find_lines:()=>rf,ai_sensor_find_qrcodes:()=>sf,ai_sensor_find_rects:()=>Tf,ai_sensor_find_tags:()=>af,ai_sensor_licenseplate:()=>Nf,ai_sensor_line:()=>uf,ai_sensor_qrcode:()=>nf,ai_sensor_qrcode_lite:()=>ZD,ai_sensor_rect:()=>If,ai_sensor_rgb:()=>tf,ai_sensor_tag:()=>pf,ai_sensor_use_uart_init:()=>$D,ai_sensor_yolo_recognize:()=>Sf,ai_sensor_yolo_recognize_result:()=>Af});var z={};e.r(z),e.d(z,{MICROPYTHON_AI_Speech_asr:()=>yf,MICROPYTHON_AI_Speech_unit:()=>Xf,MICROPYTHON_AI_client:()=>Yf});var Q={};e.r(Q),e.d(Q,{mpython_blynk_app_data:()=>Jf,mpython_blynk_app_notify:()=>wf,mpython_blynk_email:()=>qf,mpython_blynk_get_timers:()=>Hf,mpython_blynk_on_connected:()=>Bf,mpython_blynk_on_disconnected:()=>Vf,mpython_blynk_run:()=>Uf,mpython_blynk_sensor_data_to_app:()=>Kf,mpython_blynk_set_property:()=>zf,mpython_blynk_setup:()=>Qf,mpython_blynk_stop_timers:()=>kf,mpython_blynk_sync_virtual:()=>xf,mpython_blynk_terminal_widget_vpin:()=>bf,mpython_blynktimer:()=>Wf,mpython_blynktimer_run:()=>Gf});var j={};e.r(j),e.d(j,{cc_g1_read_bat:()=>jf,cc_g1_read_joystick:()=>$f,cc_g1_read_key:()=>Zf,cc_g1_turnoff:()=>eF});var $={};e.r($),e.d($,{ce_go_dc_motor:()=>aF,ce_go_get_led_bright:()=>nF,ce_go_get_led_state:()=>sF,ce_go_hall_attachInterrupt:()=>uF,ce_go_hall_data:()=>lF,ce_go_hall_initialize:()=>rF,ce_go_led_bright:()=>iF,ce_go_led_brightness:()=>_F,ce_go_light_number:()=>tF,ce_go_pin_light:()=>hF,ce_go_pin_near:()=>IF,ce_go_pin_near_line:()=>dF,ce_go_pin_near_state_change:()=>TF,ce_go_stepper_keep:()=>oF,ce_go_stepper_stop:()=>pF,educore_car:()=>mF,educore_car_pin_near:()=>cF,educore_car_pin_near_line:()=>RF,educore_car_stepper_keep:()=>EF,educore_car_stepper_stop:()=>OF,sensor_mixgome_eulerangles:()=>MF});var Z={};e.r(Z),e.d(Z,{communicate_bluetooth_central_init:()=>iP,communicate_bluetooth_connect:()=>_P,communicate_bluetooth_disconnect:()=>oP,communicate_bluetooth_handle:()=>dP,communicate_bluetooth_is_connected:()=>aP,communicate_bluetooth_mac:()=>pP,communicate_bluetooth_peripheral_init:()=>nP,communicate_bluetooth_recv:()=>lP,communicate_bluetooth_recv_only:()=>rP,communicate_bluetooth_scan:()=>sP,communicate_bluetooth_send:()=>uP,communicate_espnow_init:()=>IP,communicate_espnow_init_new:()=>TP,communicate_i2c_available:()=>fF,communicate_i2c_init:()=>SF,communicate_i2c_master_read:()=>DF,communicate_i2c_onboard:()=>gF,communicate_i2c_read:()=>AF,communicate_i2c_scan:()=>NF,communicate_i2c_write:()=>LF,communicate_ir_recv_init:()=>KF,communicate_ir_send_init:()=>jF,communicate_ow_init:()=>GF,communicate_ow_read:()=>kF,communicate_ow_reset:()=>wF,communicate_ow_scan:()=>UF,communicate_ow_select:()=>WF,communicate_ow_write:()=>HF,communicate_spi_buffer:()=>YF,communicate_spi_init:()=>PF,communicate_spi_onboard:()=>CF,communicate_spi_read:()=>XF,communicate_spi_read_output:()=>yF,communicate_spi_readinto:()=>bF,communicate_spi_readinto_output:()=>xF,communicate_spi_set:()=>vF,communicate_spi_write:()=>VF,communicate_spi_write_readinto:()=>BF,espnow_radio_channel:()=>RP,espnow_radio_channel_new:()=>gP,espnow_radio_on_off:()=>CP,espnow_radio_rec:()=>AP,espnow_radio_recv:()=>NP,espnow_radio_recv_certain_msg:()=>DP,espnow_radio_recv_certain_msg_new:()=>FP,espnow_radio_recv_msg:()=>LP,espnow_radio_recv_new:()=>fP,espnow_radio_send:()=>SP,espnow_radio_txpower:()=>cP,i2c_slave_onreceive:()=>FF,internal_variable:()=>JF,ir_recv_timeout:()=>QF,ir_transmit_busy:()=>tP,ir_transmit_conventional_data:()=>$F,ir_transmit_raw_code:()=>eP,ir_transmit_study_code:()=>ZF,ir_whether_recv:()=>zF,lora_init:()=>PP,lora_packet:()=>vP,lora_recv:()=>XP,lora_send:()=>YP,network_espnow_info:()=>hP,network_espnow_mac:()=>MP,network_espnow_recv:()=>mP,network_espnow_recv_handle:()=>OP,network_espnow_send:()=>EP,recv_fun:()=>qF,urequests_attribute:()=>bP,urequests_get:()=>yP,urequests_method:()=>xP});var ee={};e.r(ee),e.d(ee,{display_animate:()=>av,display_circle:()=>uv,display_color_seclet:()=>Rv,display_draw_4strings:()=>tv,display_fill:()=>pv,display_lcd_use_i2c_init:()=>Lv,display_line:()=>sv,display_line_arbitrarily:()=>iv,display_matrix_extern_bright_point:()=>qP,display_matrix_extern_bright_screen:()=>QP,display_matrix_extern_clear:()=>WP,display_matrix_extern_get_pixel:()=>JP,display_matrix_extern_get_screen_pixel:()=>zP,display_matrix_extern_image_builtins:()=>jP,display_matrix_extern_scroll_string:()=>kP,display_matrix_extern_scroll_string_delay:()=>HP,display_matrix_extern_shift:()=>KP,display_matrix_extern_show_frame_string:()=>UP,display_matrix_extern_show_frame_string_delay:()=>wP,display_matrix_extern_show_image:()=>BP,display_matrix_extern_show_image_or_string_delay:()=>GP,display_matrix_use_i2c_init:()=>VP,display_oled_drawPixel:()=>dv,display_oled_showBitmap:()=>lv,display_oled_use_i2c_init:()=>Pv,display_onoff:()=>_v,display_rect:()=>nv,display_tm1650_power:()=>Tv,display_tm1650_set_brightness:()=>mv,display_tm1650_show_dot:()=>hv,display_tm1650_show_num:()=>Mv,display_tm_use_i2c_init:()=>Iv,display_triangle:()=>rv,display_use_i2c_init:()=>ev,extern_oled_bright_point:()=>kv,extern_oled_clear:()=>Gv,extern_oled_get_pixel:()=>wv,extern_oled_hvline:()=>Wv,extern_oled_line:()=>Kv,extern_oled_scroll_string:()=>Vv,extern_oled_scroll_string_delay:()=>Bv,extern_oled_shape_rect:()=>Hv,extern_oled_shift:()=>Uv,extern_oled_show_frame_string:()=>bv,extern_oled_show_frame_string_delay:()=>xv,extern_oled_show_image:()=>vv,extern_oled_show_image_or_string_delay:()=>yv,extern_oled_show_image_xy:()=>Yv,extern_oled_show_string:()=>Xv,image_shift:()=>ov,lcd_backlight:()=>fv,lcd_clear:()=>Fv,lcd_print_string:()=>Dv,lcd_show_image_or_string_delay:()=>Nv,matrix_extern_image_arithmetic:()=>$P,matrix_extern_image_invert:()=>ZP,tft_fill:()=>Sv,tft_line_arbitrarily:()=>Av,tft_scroll_string_delay:()=>Cv,tft_show_frame_string_delay:()=>gv,tft_show_image_or_string_delay:()=>cv,tft_show_image_xy:()=>Ov,tft_use_spi_init:()=>Ev});var te={};e.r(te),e.d(te,{bitbot_display_bitmap_create:()=>BY,bitbot_display_image_create:()=>VY,display_available:()=>oY,display_bitmap_create:()=>sY,display_bright_point:()=>lY,display_bright_screen:()=>IY,display_clear:()=>_Y,display_get_pixel:()=>rY,display_get_screen_pixel:()=>dY,display_image_builtins:()=>tY,display_image_builtins_all:()=>iY,display_image_create:()=>nY,display_scroll_string:()=>jv,display_scroll_string_delay:()=>$v,display_scroll_way:()=>Zv,display_shift:()=>uY,display_show_frame_string:()=>zv,display_show_frame_string_delay:()=>Qv,display_show_image:()=>Jv,display_show_image_or_string_delay:()=>qv,draw_pointer:()=>iX,image_arithmetic:()=>pY,image_invert:()=>aY,mixbot_display_bitmap_create:()=>YY,mixbot_display_bright_screen:()=>bY,mixbot_display_get_ambientbright:()=>yY,mixbot_display_get_screen_pixel:()=>XY,mixbot_display_image_create:()=>vY,mixbot_display_rotate:()=>xY,mixgo_display_bitmap_create:()=>RY,mixgo_display_image_create_new:()=>OY,mixgome_display_bitmap_create:()=>MY,mixgome_display_font:()=>EY,mixgome_display_image_create:()=>TY,mixgomini_display_bitmap_create:()=>mY,mixgomini_display_image_create:()=>hY,mpython_display_hvline:()=>FY,mpython_display_line:()=>PY,mpython_display_shape_rect:()=>fY,mpython_pbm_image:()=>cY,nova_draw_pointer:()=>nX,onboard_oled_bright_point:()=>DY,onboard_oled_scroll_string_delay:()=>NY,onboard_oled_show_frame_string_delay:()=>LY,onboard_oled_show_image:()=>gY,onboard_oled_show_image_or_string_delay:()=>AY,onboard_oled_show_image_xy:()=>CY,onboard_oled_show_string:()=>SY,onboard_tft_bright_point:()=>qY,onboard_tft_bright_screen:()=>lX,onboard_tft_clear:()=>dX,onboard_tft_clock_clear:()=>eX,onboard_tft_clock_draw:()=>ZY,onboard_tft_clock_get_rtctime:()=>jY,onboard_tft_clock_init:()=>QY,onboard_tft_clock_set_time:()=>$Y,onboard_tft_display_hvline:()=>WY,onboard_tft_display_line:()=>KY,onboard_tft_display_shape_circle:()=>tX,onboard_tft_display_shape_rect:()=>HY,onboard_tft_fill:()=>zY,onboard_tft_get_pixel:()=>JY,onboard_tft_get_screen_pixel:()=>rX,onboard_tft_scroll_string_delay:()=>eY,onboard_tft_shift:()=>uX,onboard_tft_show_frame_string:()=>aX,onboard_tft_show_frame_string_delay:()=>kY,onboard_tft_show_image:()=>pX,onboard_tft_show_image_or_string_delay:()=>wY,onboard_tft_show_image_xy:()=>GY,onboard_tft_show_image_xy_direct:()=>UY,onboard_tft_show_qrcode:()=>_X,onboard_tft_show_qrcode_details:()=>oX,onboard_tft_show_texts:()=>sX});var ie={};e.r(ie),e.d(ie,{factory_block:()=>RX,factory_block_return:()=>cX,factory_block_return_with_textarea:()=>CX,factory_block_with_textarea:()=>gX,factory_callMethod_noreturn:()=>EX,factory_callMethod_return:()=>OX,factory_declare:()=>mX,factory_from_import:()=>IX,factory_function_noreturn:()=>MX,factory_function_return:()=>hX,factory_import:()=>TX,folding_block:()=>SX});var ne={};e.r(ne),e.d(ne,{inout_analog_atten:()=>BX,inout_analog_read:()=>vX,inout_analog_read_init:()=>VX,inout_analog_write:()=>fX,inout_analog_write_init:()=>xX,inout_analog_write_set:()=>FX,inout_digital_init:()=>yX,inout_digital_read:()=>NX,inout_digital_write:()=>LX,inout_highlow:()=>AX,inout_pin_attachInterrupt:()=>XX,inout_pin_pressed:()=>YX,inout_pin_pressed_init:()=>GX,inout_pwm_analog_write:()=>DX,inout_pwm_analog_write_init:()=>bX,inout_pwm_analog_write_set_freq:()=>PX});var se={};e.r(se),e.d(se,{IOT_CONNECT_OLLAMA:()=>My,IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>oy,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>sy,IOT_EMQX_PING:()=>py,IOT_FORMATTING:()=>iy,IOT_FORMAT_STRING:()=>ny,IOT_MIXIO_NTP:()=>ay,IOT_MIXIO_PUBLISH:()=>qX,IOT_MIXIO_PUBLISHEX:()=>zX,IOT_MIXIO_SUBSCRIBE:()=>QX,iot_client_onboard:()=>uy,iot_connect_ollama:()=>Ty,iot_connect_openai:()=>hy,iot_http_client:()=>ry,iot_http_data:()=>ly,iot_mixio_check:()=>ZX,iot_mixio_connect:()=>JX,iot_mixio_connect_only:()=>$X,iot_mixio_disconnect:()=>jX,iot_mixio_format_msg:()=>ty,iot_mixio_format_topic:()=>ey,iot_mixly_key:()=>_y,iot_mqtt_client:()=>dy,iot_mqtt_data:()=>Iy,iot_onenet_check:()=>WX,iot_onenet_connect:()=>wX,iot_onenet_disconnect:()=>kX,iot_onenet_publish:()=>KX,iot_onenet_publish_dict:()=>HX,iot_tiny_web_db_count:()=>Sy,iot_tiny_web_db_delete:()=>Ly,iot_tiny_web_db_get:()=>Cy,iot_tiny_web_db_init:()=>Ry,iot_tiny_web_db_init_with_mqtt:()=>cy,iot_tiny_web_db_search:()=>Ay,iot_tiny_web_db_update:()=>gy,iot_wifi_connect:()=>UX,ollama_empty_history:()=>Oy,use_ollama_llm_to_chat:()=>my,use_ollama_llm_to_chat_return:()=>Ey});var _e={};e.r(_e),e.d(_e,{educore_mqtt_connect:()=>sb,educore_mqtt_connect_success:()=>ab,educore_mqtt_subscribe_message:()=>_b,educore_mqtt_topic_publish:()=>pb,educore_mqtt_topic_subscribe:()=>ob,educore_wifi_connect:()=>nb,network_ap_connect:()=>yy,network_connect:()=>Dy,network_get_connect:()=>Fy,network_get_wifi:()=>Xy,network_init:()=>Ny,network_is_active:()=>Yy,network_open:()=>vy,network_scan:()=>by,network_server:()=>xy,network_socket_accept:()=>wy,network_socket_bind:()=>By,network_socket_close:()=>qy,network_socket_connect:()=>Gy,network_socket_init:()=>Vy,network_socket_listen:()=>Uy,network_socket_readline:()=>ky,network_socket_receive:()=>Hy,network_socket_receive_from:()=>Ky,network_socket_send:()=>Wy,network_socket_send_to:()=>Jy,network_stop:()=>Py,network_wifi_connect:()=>fy,ntptime_address:()=>Zy,ntptime_time:()=>$y,requests_attribute:()=>Qy,requests_attribute2:()=>tb,requests_get:()=>zy,requests_get2:()=>eb,requests_method:()=>jy,requests_post:()=>ib});var oe={};e.r(oe),e.d(oe,{CI130X_BROADCAST:()=>Pb,CI130X_GET_THE_RECOGNIZED_CMD:()=>Fb,CI130X_GET_WHETHER_IDENTIFY:()=>fb,CI130X_IDENTIFY_AND_SAVE:()=>Db,CI130X_SET_SYSTEM_CMD:()=>vb,HCSR04:()=>rx,PS2_Button:()=>Ix,PS2_Buttons:()=>Tx,PS2_Buttons_new:()=>gx,PS2_State:()=>Mx,PS2_init:()=>lx,PS2_init_new:()=>Rx,PS2_stk:()=>hx,PS2_stk_new:()=>Cx,PS2_vibration:()=>dx,PS2_vibration_new:()=>cx,RTC_get_time:()=>Ex,RTC_set_date:()=>hb,RTC_set_datetime:()=>mx,RTC_set_time:()=>Mb,camera_sensor_init:()=>eV,camera_sensor_result:()=>tV,column_tube_foot:()=>_V,define_keyboards:()=>oV,educore_body_sensor:()=>Hx,educore_button_sensor_extern:()=>qx,educore_camera_sensor:()=>Zx,educore_infrared_sensor:()=>Jx,educore_soilhum_sensor:()=>Wx,educore_temp_sensor:()=>$x,educore_temphum_sensor:()=>Kx,educore_ultrasonic_sensor:()=>Qx,esp32_s2_weather_init:()=>ox,esp32_s2_weather_rain:()=>ax,esp32_s2_weather_wd:()=>px,esp32_s2_weather_ws:()=>ux,extern_rfid_read:()=>qb,extern_rfid_readcontent:()=>Qb,extern_rfid_readid:()=>zb,extern_rfid_status:()=>Zb,extern_rfid_write:()=>jb,extern_rfid_write_return:()=>$b,get_keboards_value:()=>aV,gnss_get_data:()=>Lx,gnss_have_data:()=>Nx,init_init_rotary_encoder:()=>uV,init_matrix_keyboard:()=>pV,interaction_whether_to_interaction:()=>Lb,interaction_whether_to_interaction_SANT:()=>Nb,line_tube_foot:()=>sV,mixbot_sensor_extern_get_addr:()=>xx,mixbot_sensor_extern_set_addr:()=>Vx,pm25_get_data:()=>Ax,radar_set_DETECTION_THRESHOLD:()=>Sb,radar_set_DETECTION_THRESHOLD_SANT:()=>Ab,robot_button_extern_get_value:()=>fx,robot_color_extern_get_value:()=>Xx,robot_infrared_extern_get_value:()=>Px,robot_infrared_extern_grey_get_value:()=>vx,robot_potentiometer_extern_get_value:()=>Yx,robot_sonar_extern_get_value:()=>yx,robot_sonar_extern_led:()=>bx,robot_touch_extern_get_value:()=>Fx,rotary_key:()=>rV,sensor_APDS9960_extern:()=>Xb,sensor_DS18X20:()=>kx,sensor_LTR308_extern:()=>yb,sensor_LTR390UV_extern:()=>wb,sensor_MAX30102_extern:()=>Yb,sensor_QMC5883L_extern:()=>kb,sensor_VL530LX_extern:()=>Kb,sensor_aht11_extern:()=>Wb,sensor_bmp:()=>cb,sensor_dht11:()=>Ox,sensor_distance_hrsc04:()=>Tb,sensor_hp203_extern:()=>bb,sensor_ltr381_extern:()=>Gb,sensor_mixgo_extern_button_attachInterrupt:()=>db,sensor_mixgo_extern_button_get_presses:()=>lb,sensor_mixgo_extern_button_is_pressed:()=>ub,sensor_mixgo_extern_button_was_pressed:()=>rb,sensor_mixgo_extern_light:()=>mb,sensor_mixgo_extern_pin_near:()=>Ob,sensor_mixgo_extern_sound:()=>Eb,sensor_mixgoce_hot_wheel_degrees:()=>_x,sensor_mixgoce_hot_wheel_is_touched:()=>sx,sensor_mpu9250_attachGestureInterrupt:()=>Ib,sensor_ms5611_extern:()=>Vb,sensor_ms5611_extern_altitude:()=>Bb,sensor_read_humiture:()=>zx,sensor_rtc_init:()=>Rb,sensor_sht:()=>gb,sensor_shtc3_extern:()=>Hb,sensor_spl06_001_extern:()=>xb,sensor_ucs12071_extern:()=>Ub,sensor_use_i2c_init:()=>Cb,sensor_use_spi_init:()=>Jb,sensor_use_uart_init:()=>Sx,sensor_weather_solo_init:()=>Bx,sensor_weather_solo_rain:()=>wx,sensor_weather_solo_wd:()=>Gx,sensor_weather_solo_ws:()=>Ux,sensor_weigh_init:()=>iV,tvoc_get_data:()=>Dx,ultrasonic_sensor_read_distance:()=>jx,weather_data:()=>ex,weather_have_data:()=>tx,weather_set_label:()=>nx,weather_uart_mixio:()=>ix,weigh_sensor_get_weight:()=>nV});var pe={};e.r(pe),e.d(pe,{HCSR04:()=>OV,bitbot_als_num:()=>UB,dht11:()=>zB,educore_button_sensor:()=>iG,educore_button_was_pressed:()=>nG,educore_gyroscope_sensor:()=>ZB,educore_gyroscope_sensor_read:()=>eG,educore_gyroscope_sensor_shake:()=>tG,educore_light_sensor:()=>$B,educore_rfid_sensor:()=>sG,educore_rfid_sensor_scan:()=>_G,educore_rfid_sensor_scan_data:()=>oG,educore_voice_sensor:()=>QB,number1:()=>RV,number2:()=>cV,number3:()=>gV,number4:()=>CV,number5:()=>SV,number6:()=>AV,number7:()=>LV,onboard_RTC_get_time:()=>mB,onboard_RTC_get_time_str:()=>RB,onboard_RTC_get_timestamp:()=>EB,onboard_RTC_get_timetuple_to_str:()=>cB,onboard_RTC_set_datetime:()=>MB,onboard_RTC_settime_string:()=>hB,onboard_RTC_timestamp_totuple:()=>OB,rfid_readcontent:()=>wV,rfid_readid:()=>UV,rfid_status:()=>WV,rfid_write:()=>kV,rfid_write_return:()=>HV,sensor_LTR308:()=>bV,sensor_adxl345_get_acceleration:()=>eB,sensor_aht11:()=>BV,sensor_bitbot_ALS:()=>GB,sensor_button_get_presses:()=>HB,sensor_button_is_pressed:()=>wB,sensor_button_was_pressed:()=>kB,sensor_compass_reset:()=>oB,sensor_ds18x20:()=>XV,sensor_eulerangles:()=>JV,sensor_get_acceleration:()=>KV,sensor_get_temperature:()=>GV,sensor_get_the_coprocessor_version:()=>pG,sensor_hp203:()=>VV,sensor_light:()=>qB,sensor_lm35:()=>yV,sensor_mixbot_get_gyro:()=>BB,sensor_mixbot_patrol_calibrate:()=>bB,sensor_mixbot_patrol_value:()=>xB,sensor_mixbot_temperature:()=>VB,sensor_mixgo_LTR308:()=>PV,sensor_mixgo_button_attachInterrupt:()=>TV,sensor_mixgo_button_get_presses:()=>IV,sensor_mixgo_button_is_pressed:()=>lV,sensor_mixgo_button_was_pressed:()=>dV,sensor_mixgo_cc_mmc5603_calibrate_compass:()=>SB,sensor_mixgo_cc_mmc5603_get_angle:()=>CB,sensor_mixgo_cc_mmc5603_get_magnetic:()=>gB,sensor_mixgo_light:()=>JB,sensor_mixgo_nova_LTR308:()=>YV,sensor_mixgo_nova_pin_near:()=>FV,sensor_mixgo_pin_near:()=>fV,sensor_mixgo_pin_near_double:()=>DV,sensor_mixgo_pin_near_single:()=>NV,sensor_mixgo_pin_pressed:()=>$V,sensor_mixgo_sant_color:()=>vV,sensor_mixgo_touch_slide:()=>jV,sensor_mixgocar42_button_attachInterrupt:()=>EV,sensor_mixgocar42_button_get_presses:()=>mV,sensor_mixgocar42_button_is_pressed:()=>MV,sensor_mixgocar42_button_was_pressed:()=>hV,sensor_mixgocar_battery_left:()=>yB,sensor_mixgocar_pin_near:()=>YB,sensor_mixgocar_pin_near_line:()=>vB,sensor_mixgocar_pin_near_state_change:()=>XB,sensor_mixgoce_pin_pressed:()=>QV,sensor_mixgoce_temperature:()=>LB,sensor_mixgome_temperature:()=>AB,sensor_mpu9250_calibrate_compass:()=>nB,sensor_mpu9250_field_strength:()=>_B,sensor_mpu9250_gesture:()=>qV,sensor_mpu9250_get_acceleration:()=>zV,sensor_mpu9250_get_gyro:()=>iB,sensor_mpu9250_get_magnetic:()=>tB,sensor_mpu9250_temperature:()=>sB,sensor_mpython_pin_pressed:()=>ZV,sensor_mpython_qmi8658_get_gyro:()=>NB,sensor_mpython_qmi8658_temperature:()=>DB,sensor_onboard_compass_reset:()=>TB,sensor_onboard_mpu9250_calibrate_compass:()=>lB,sensor_onboard_mpu9250_field_strength:()=>IB,sensor_onboard_mpu9250_gesture:()=>pB,sensor_onboard_mpu9250_get_acceleration:()=>aB,sensor_onboard_mpu9250_get_gyro:()=>rB,sensor_onboard_mpu9250_get_magnetic:()=>uB,sensor_onboard_mpu9250_temperature:()=>dB,sensor_pin_near:()=>KB,sensor_pin_pressed:()=>WB,sensor_read:()=>jB,sensor_rm_acc:()=>PB,sensor_rm_battery_left:()=>FB,sensor_rm_pin_near_double:()=>fB,sensor_sound:()=>xV,simulated_light_sensor:()=>aG});var ae={};e.r(ae),e.d(ae,{serial_any:()=>IG,serial_print:()=>uG,serial_print_byte:()=>rG,serial_print_hex:()=>dG,serial_println:()=>lG,serial_read_from_ai:()=>SG,serial_readline:()=>MG,serial_readstr:()=>TG,serial_send_to_ai:()=>CG,serial_softserial:()=>hG,serial_softserial_new:()=>mG,system_input:()=>EG,system_print:()=>OG,system_print_end:()=>cG,system_print_inline:()=>RG,system_print_many:()=>gG});var ue={};e.r(ue),e.d(ue,{Panic_with_status_code:()=>bG,Timer_init:()=>$G,base_delay:()=>tU,controls_delay:()=>UG,controls_delay_new:()=>wG,controls_end_program:()=>VG,controls_millis:()=>xG,controls_uname:()=>GG,reset:()=>BG,set_system_timer:()=>HG,system_bitbot_shutdown:()=>jG,system_device_name:()=>XG,system_device_serial_number:()=>yG,system_event_bus_source:()=>vG,system_event_bus_value:()=>YG,system_machine_reset:()=>QG,system_on_event:()=>fG,system_raise_event:()=>DG,system_reset:()=>LG,system_run_in_background:()=>AG,system_ticks_diff:()=>WG,system_timer:()=>JG,system_timer_init:()=>KG,system_timestamp:()=>FG,system_value:()=>PG,system_wait:()=>NG,system_wdt_feed:()=>zG,system_wdt_init:()=>qG,time_ticks_diff:()=>eU,timer:()=>kG,timer2:()=>ZG});var re={};e.r(re),e.d(re,{Air_daily_content:()=>TU,Air_now_content:()=>pU,Geo_moon_content:()=>hU,Geo_sun_content:()=>MU,Life_suggestion_content:()=>uU,Location_search_content:()=>lU,Tide_daily_content:()=>rU,WEATHER_DAILY:()=>nU,WEATHER_HOUR:()=>sU,WEATHER_NOW:()=>iU,Weather_alarm_content:()=>aU,Weather_daily:()=>dU,Weather_daily_content:()=>IU,Weather_now:()=>_U,Weather_now_content:()=>oU});var le={};e.r(le),e.d(le,{MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED:()=>OU});var de={};e.r(de),e.d(de,{MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED:()=>cU});var Ie={};e.r(Ie),e.d(Ie,{MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED:()=>CU});var Te={};e.r(Te),e.d(Te,{controls_pin_attachInterrupt:()=>kU,inout_analog_atten:()=>YU,inout_analog_write:()=>PU,inout_analog_write_init:()=>xU,inout_analog_write_set:()=>vU,inout_analog_write_set_freq:()=>BU,inout_digital_init:()=>bU,inout_digital_read:()=>FU,inout_digital_write:()=>fU,inout_highlow:()=>DU,inout_pinMode:()=>GU,inout_pin_attachInterrupt:()=>yU,inout_pin_pressed:()=>XU,inout_pin_pressed_init:()=>VU,pin_pressed:()=>wU,pin_pressed_init:()=>UU});var Me={};e.r(Me),e.d(Me,{mini_g2_aht11:()=>WU,mini_g2_hp203:()=>KU,mini_g2_rfid_readcontent:()=>zU,mini_g2_rfid_readid:()=>qU,mini_g2_rfid_status:()=>$U,mini_g2_rfid_write:()=>QU,mini_g2_rfid_write_outcome:()=>jU,mini_g2_varistor:()=>JU});var he={};e.r(he),e.d(he,{me_go_dc_motor:()=>pw,me_go_get_led_bright:()=>iw,me_go_get_led_state:()=>nw,me_go_hall_attachInterrupt:()=>aw,me_go_hall_data:()=>rw,me_go_hall_initialize:()=>uw,me_go_led_bright:()=>tw,me_go_led_brightness:()=>sw,me_go_light_number:()=>ew,me_go_pin_light:()=>Mw,me_go_pin_near:()=>dw,me_go_pin_near_line:()=>lw,me_go_pin_near_state_change:()=>Iw,me_go_stepper_keep:()=>_w,me_go_stepper_stop:()=>ow,sensor_mixgome_eulerangles:()=>Tw});var me={};e.r(me),e.d(me,{analog_input:()=>Sw,analog_output:()=>Lw,espnow_channel:()=>cw,haskylens_model:()=>gw,i2c_A_pin:()=>Nw,i2c_B_pin:()=>Dw,pins_analog:()=>Yw,pins_analog_pin:()=>Xw,pins_axis:()=>jw,pins_brightness:()=>$w,pins_builtinimg:()=>Hw,pins_builtinimg_extern:()=>Ww,pins_button:()=>xw,pins_buttonB:()=>Vw,pins_dac:()=>yw,pins_dac_pin:()=>bw,pins_digital:()=>mw,pins_digital_dot:()=>ok,pins_digital_pin:()=>Ew,pins_exlcdh:()=>zw,pins_exlcdv:()=>Qw,pins_imglist:()=>Kw,pins_input_pin:()=>Ow,pins_one_more:()=>_k,pins_output_pin:()=>Rw,pins_playlist:()=>Jw,pins_playlist_extern:()=>qw,pins_pwm:()=>Bw,pins_pwm_pin:()=>Gw,pins_radio_datarate:()=>sk,pins_radio_power:()=>nk,pins_serial:()=>kw,pins_tone_notes:()=>ik,pins_touch:()=>ww,pins_touch_pin:()=>Uw,pins_tts_bgmusic:()=>tk,pins_tts_builtin_music:()=>ek,pins_tts_voice:()=>Zw,pwm_input:()=>Cw,pwm_output:()=>Aw,spi_A_pin:()=>fw,spi_B_pin:()=>Fw,spi_C_pin:()=>Pw,spi_D_pin:()=>vw});var Ee={};e.r(Ee),e.d(Ee,{inout_analog_atten:()=>hk,inout_analog_write:()=>rk,inout_analog_write_init:()=>Mk,inout_analog_write_set:()=>lk,inout_digital_init:()=>Tk,inout_digital_read:()=>uk,inout_digital_write:()=>ak,inout_highlow:()=>pk,inout_pin_attachInterrupt:()=>Ik,inout_pin_pressed:()=>dk,inout_pin_pressed_init:()=>mk});var Oe={};e.r(Oe),e.d(Oe,{mini_g2_aht11:()=>Ek,mini_g2_hp203:()=>Ok,mini_g2_rfid_readcontent:()=>gk,mini_g2_rfid_readid:()=>ck,mini_g2_rfid_status:()=>Ak,mini_g2_rfid_write:()=>Ck,mini_g2_rfid_write_outcome:()=>Sk,mini_g2_varistor:()=>Rk});var Re={};e.r(Re),e.d(Re,{me_go_dc_motor:()=>Yk,me_go_get_led_bright:()=>Dk,me_go_get_led_state:()=>fk,me_go_hall_attachInterrupt:()=>Xk,me_go_hall_data:()=>bk,me_go_hall_initialize:()=>yk,me_go_led_bright:()=>Nk,me_go_led_brightness:()=>Fk,me_go_light_number:()=>Lk,me_go_pin_light:()=>Uk,me_go_pin_near:()=>Vk,me_go_pin_near_line:()=>xk,me_go_pin_near_state_change:()=>Bk,me_go_stepper_keep:()=>Pk,me_go_stepper_stop:()=>vk,sensor_mixgome_eulerangles:()=>Gk});var ce={};e.r(ce),e.d(ce,{analog_input:()=>jk,analog_output:()=>Zk,espnow_channel:()=>zk,haskylens_model:()=>Qk,i2c_A_pin:()=>eH,i2c_B_pin:()=>tH,pins_analog:()=>pH,pins_analog_pin:()=>oH,pins_axis:()=>cH,pins_brightness:()=>SH,pins_builtinimg:()=>hH,pins_builtinimg_extern:()=>mH,pins_button:()=>kk,pins_buttonB:()=>Hk,pins_dac:()=>lH,pins_dac_pin:()=>rH,pins_digital:()=>wk,pins_digital_dot:()=>vH,pins_digital_pin:()=>Wk,pins_exlcdh:()=>gH,pins_exlcdv:()=>CH,pins_imglist:()=>EH,pins_input_pin:()=>Kk,pins_interrupt:()=>TH,pins_one_more:()=>PH,pins_output_pin:()=>Jk,pins_playlist:()=>OH,pins_playlist_extern:()=>RH,pins_pwm:()=>uH,pins_pwm_input:()=>qk,pins_pwm_pin:()=>aH,pins_radio_datarate:()=>FH,pins_radio_power:()=>fH,pins_serial:()=>MH,pins_tone_notes:()=>DH,pins_touch:()=>IH,pins_touch_pin:()=>dH,pins_tts_bgmusic:()=>NH,pins_tts_builtin_music:()=>LH,pins_tts_voice:()=>AH,pwm_output:()=>$k,spi_A_pin:()=>iH,spi_B_pin:()=>nH,spi_C_pin:()=>sH,spi_D_pin:()=>_H});const ge=Blockly,Ce=Mixly,Se={NAME_TYPE:"VARIABLE",allVariables:function(e){var t;if(e.getDescendants)t=e.getDescendants();else{if(!e.getAllBlocks)throw"Not Block or Workspace: "+e;t=e.getAllBlocks()}for(var i=Object.create(null),n=0;n1&&(o+=n)):i=o}else i="i";return i}},Ae=Se; -/** - * @license - * Visual Blocks Editor - * - * Copyright 2012 Google Inc. - * https://developers.google.com/blockly/ - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -class Le{constructor(e,t){if(this.variablePrefix_=t||"",this.reservedDict_=Object.create(null),e)for(var i=e.split(","),n=0;n0;s--)t.getInputTargetBlock("IF"+s)&&t.getInputTargetBlock("IF"+s).previousConnection?i[s]=t.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),t.getInputTargetBlock("DO"+s)&&t.getInputTargetBlock("DO"+s).previousConnection?n[s]=t.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(e.getAttribute("elseif"),10),this.elseCount_=parseInt(e.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(ge.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+s).appendField(ge.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(ge.Msg.CONTROLS_IF_MSG_ELSE);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(e){var t=e.newBlock("controls_if_if");t.initSvg();for(var i=t.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=e.newBlock("controls_if_elseif");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var _=e.newBlock("controls_if_else");_.initSvg(),i.connect(_.previousConnection)}return t},compose:function(e){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var t=this.elseifCount_;t>0;t--)this.removeInput("IF"+t),this.removeInput("DO"+t);this.elseifCount_=0;for(var i=e.getInputTargetBlock("STACK"),n=[null],s=[null],_=null;i;){switch(i.type){case"controls_if_elseif":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_if_else":this.elseCount_++,_=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,_)},saveConnections:function(e){for(var t=e.getInputTargetBlock("STACK"),i=1;t;){switch(t.type){case"controls_if_elseif":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);t.valueConnection_=n&&n.connection.targetConnection,t.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_if_else":s=this.getInput("ELSE");t.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}t=t.nextConnection&&t.nextConnection.targetBlock()}},rebuildShape_:function(){var e=[null],t=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),_=this.getInput("DO"+n);console.log(s.connection.targetConnection),e.push(s.connection.targetConnection),t.push(_.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(e,t,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var e=1;this.getInput("IF"+e);)this.removeInput("IF"+e),this.removeInput("DO"+e),e++;for(e=1;e<=this.elseifCount_;e++)this.appendValueInput("IF"+e).setCheck([Number,Boolean]).appendField(ge.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+e).appendField(ge.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(ge.Msg.CONTROLS_IF_MSG_ELSE)},reconnectChildBlocks_:function(e,t,i){for(var n=1;n<=this.elseifCount_;n++)e[n]&&e[n].reconnect(this,"IF"+n),t[n]&&t[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},We={init:function(){this.setColour(Be),this.appendValueInput("FROM").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.PYTHON_RANGE).appendField(ge.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.PYTHON_RANGE_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(ge.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},Ke={init:function(){this.setColour(Be),this.appendValueInput("LIST").setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.CONTROLS_FOREACH_INPUT),this.appendValueInput("VAR").appendField(ge.Msg.CONTROLS_FOREACH_INPUT_ITEM),this.appendStatementInput("DO").appendField(ge.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip((function(){return ge.Msg.CONTROLS_FOR_TOOLTIP.replace("“%1”","")}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){ge.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},Je={init:function(){this.setColour(Be),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(ge.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(new ge.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(ge.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT+ge.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE");return{WHILE:ge.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:ge.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[t]}))}},qe={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.MIXLY_PYTHON_TRY),this.appendStatementInput("try"),this.appendValueInput("IF1").appendField(ge.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO1").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new ge.icons.MutatorIcon(["controls_except","controls_finally"],this)),this.setTooltip(ge.Msg.MIXLY_MIXPY_CONTROL_TRY_TOOLTIP),this.elseifCount_=1,this.elseCount_=0},mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var e=document.createElement("mutation");return this.elseifCount_&&e.setAttribute("elseif",this.elseifCount_),this.elseCount_&&e.setAttribute("else",1),e},domToMutation:function(e){var t=this,i=[],n=[];this.elseCount_&&this.removeInput("ELSE");for(var s=this.elseifCount_;s>0;s--)t.getInputTargetBlock("IF"+s)&&t.getInputTargetBlock("IF"+s).previousConnection?i[s]=t.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),t.getInputTargetBlock("DO"+s)&&t.getInputTargetBlock("DO"+s).previousConnection?n[s]=t.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(e.getAttribute("elseif"),10),this.elseCount_=parseInt(e.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(ge.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+s).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(ge.Msg.MIXLY_PYTHON_FINALLY);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(e){var t=e.newBlock("controls_try");t.initSvg();for(var i=t.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=e.newBlock("controls_except");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var _=e.newBlock("controls_finally");_.initSvg(),i.connect(_.previousConnection)}return t},compose:function(e){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var t=this.elseifCount_;t>0;t--)this.removeInput("IF"+t),this.removeInput("DO"+t);this.elseifCount_=0;for(var i=e.getInputTargetBlock("STACK"),n=[null],s=[null],_=null;i;){switch(i.type){case"controls_except":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_finally":this.elseCount_++,_=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,_)},saveConnections:function(e){for(var t=e.getInputTargetBlock("STACK"),i=1;t;){switch(t.type){case"controls_except":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);t.valueConnection_=n&&n.connection.targetConnection,t.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_finally":s=this.getInput("ELSE");t.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}t=t.nextConnection&&t.nextConnection.targetBlock()}},rebuildShape_:function(){var e=[null],t=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),_=this.getInput("DO"+n);console.log(s.connection.targetConnection),e.push(s.connection.targetConnection),t.push(_.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(e,t,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var e=1;this.getInput("IF"+e);)this.removeInput("IF"+e),this.removeInput("DO"+e),e++;for(e=1;e<=this.elseifCount_;e++)this.appendValueInput("IF"+e).setCheck([Number,Boolean]).appendField(ge.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+e).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(ge.Msg.MIXLY_PYTHON_FINALLY)},reconnectChildBlocks_:function(e,t,i){for(var n=1;n<=this.elseifCount_;n++)e[n]&&e[n].reconnect(this,"IF"+n),t[n]&&t[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},ze={init:function(){this.setColour(Be);var e=new ge.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(e,"FLOW").appendField(ge.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0),this.setTooltip(ge.Msg.MIXLY_PYTHON_CONTROLS_FLOW_STATEMENTS_TOOLTIP);var t=this;this.setTooltip((function(){var e=t.getFieldValue("FLOW");return{BREAK:ge.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:ge.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}[e]}))},onchange:function(){if(this.workspace){var e=!1,t=this;do{if("controls_repeat"==t.type||"controls_for"==t.type||"controls_forEach"==t.type||"controls_repeat_ext"==t.type||"controls_whileUntil"==t.type||"do_while"==t.type){e=!0;break}t=t.getSurroundParent()}while(t);e?this.setWarningText(null):this.setWarningText(ge.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}},Qe={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new ge.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(ge.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){return ge.Msg.CONTROLS_FOR_TOOLTIP.replace("%1",e.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){ge.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},je={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new ge.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(ge.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){return ge.Msg.MIXLY_PYTHON_CONTROLS_FOR_RANGE_TOOLTIP.replace("%1",e.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){ge.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}};Je.OPERATORS=[[ge.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[ge.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]],ze.OPERATORS=[[ge.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[ge.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const $e={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.CONTROLS_IF_IF_TITLE_IF),this.appendStatementInput("STACK"),this.setTooltip(ge.Msg.CONTROLS_IF_IF_TOOLTIP),this.contextMenu=!1}},Ze={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},et={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.CONTROLS_IF_ELSE_TITLE_ELSE),this.setPreviousStatement(!0),this.setTooltip(ge.Msg.CONTROLS_IF_ELSE_TOOLTIP),this.contextMenu=!1}},tt={init:function(){this.setColour(Be),this.appendDummyInput().appendField("try"),this.appendStatementInput("STACK"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.contextMenu=!1}},it={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.MIXLY_PYTHON_EXCEPT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1,this.setTooltip(ge.Msg.MIXLY_MIXPY_CONTROL_EXCEPT_TOOLTIP)}},nt={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.MIXLY_PYTHON_FINALLY),this.setPreviousStatement(!0),this.contextMenu=!1,this.setTooltip(ge.Msg.MIXLY_MIXPY_CONTROL_FINALLY_TOOLTIP)}},st={init:function(){this.jsonInit({message0:ge.Msg.CONTROLS_REPEAT_TITLE,args0:[{type:"input_value",name:"TIMES"}],previousStatement:null,nextStatement:null,colour:Be,tooltip:ge.Msg.CONTROLS_REPEAT_TOOLTIP,helpUrl:ge.Msg.CONTROLS_REPEAT_HELPURL}),this.appendStatementInput("DO")}},_t={init:function(){this.setColour(Be),this.appendValueInput("BOOL").appendField("lambda"),this.appendStatementInput("DO").appendField(ge.Msg.MIXLY_STAT),this.setOutput(!0)}},ot={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.MIXLY_PYTHON_PASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_PYTHON_CONTROLS_PASS_TOOLTIP)}},pt={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.MIXLY_PYTHON_CONTROLS_THREAD_START),this.appendValueInput("callback").appendField(ge.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_PYTHON_CONTROLS_THREAD_TOOLTIP)}},at={init:function(){this.appendDummyInput().appendField(ge.Msg.CONTROLS_REPEAT_TITLE_REPEAT+ge.Msg.MIXLY_DO),this.appendStatementInput("input_data").setCheck(null),this.appendValueInput("select_data").setCheck(null).appendField(ge.Msg.CONTROLS_OPERATOR_UNTIL).appendField(new ge.FieldDropdown([[ge.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"true"],[ge.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"false"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Be),this.setTooltip("do-while loop"),this.setHelpUrl("")}},ut={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.MIXLY_OP_GARBAGE_COLLECT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},rt={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET_MEM_ALLOC),this.setOutput(!0)}},lt={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET_MEM_FREE),this.setOutput(!0)}},dt={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET+ge.Msg.MIXLY_DEVICE+"ID"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(ge.Msg.PROCEDURES_DEFRETURN_RETURN+ge.Msg.MIXLY_GET_UNIQUE_IDEN)}},It={init:function(){this.setColour(Be),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_RTC_TIMESTAMP),this.appendDummyInput().appendField(ge.Msg.MIXLY_TIMESTAMP_TO_DATA),this.setInputsInline(!0),this.setOutput(!0,Number)}},Tt={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET_UNIQUE_IDEN),this.setOutput(!0)}},Mt=230;ge.FieldTextInput.math_number_validator=function(e){return String(e)},ge.FieldTextInput.math_number_validator_include_blank=function(e){if(""===e)return"";return/^-?(0X|0x|0O|0o|0B|0b)?[a-fA-F0-9]{1,}(\.[a-fA-F0-9]+)?$/.test(e)?String(e):null};const ht={init:function(){this.setColour(Mt),this.appendDummyInput().appendField(new ge.FieldTextInput("0",ge.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(ge.Msg.MATH_NUMBER_TOOLTIP)}},mt={init:function(){this.setColour(Mt);this.appendDummyInput("").appendField(ge.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new ge.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CONSTANT");return{pi:ge.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_TOOLTIP,e:ge.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_TOOLTIP}[t]}))}},Et={init:function(){this.setColour(Mt);this.appendDummyInput("").appendField(ge.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new ge.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CONSTANT");return{pi:ge.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_MP_TOOLTIP,e:ge.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_MP_TOOLTIP}[t]}))}},Ot={init:function(){this.setColour(Mt),this.setOutput(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new ge.FieldDropdown([["+","ADD"],["-","MINUS"],["×","MULTIPLY"],["÷","DIVIDE"],["%","QUYU"],["//","ZHENGCHU"],["**","POWER"]]),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{ADD:ge.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:ge.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:ge.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:ge.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:ge.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:ge.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:ge.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[t]}))}},Rt={init:function(){this.setColour(Mt),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new ge.FieldDropdown([["+=","ADD"],["-=","MINUS"],["×=","MULTIPLY"],["÷=","DIVIDE"],["%=","QUYU"],["//=","ZHENGCHU"],["**=","POWER"]]),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{ADD:ge.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:ge.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:ge.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:ge.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:ge.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:ge.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:ge.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[t]}))}},ct={init:function(){this.setColour(Mt),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new ge.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},gt={init:function(){this.setColour(Mt),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new ge.FieldDropdown([["sin","SIN"],["cos","COS"],["tan","TAN"],["asin","ASIN"],["acos","ACOS"],["atan","ATAN"],["-","-"],["ln","LN"],["log10","LOG10"],["e^","EXP"],["10^","POW10"]]),"OP");var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{SIN:ge.Msg.MATH_TRIG_TOOLTIP_SIN,COS:ge.Msg.MATH_TRIG_TOOLTIP_COS,TAN:ge.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:ge.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:ge.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:ge.Msg.MATH_TRIG_TOOLTIP_ATAN,LN:ge.Msg.MATH_SINGLE_TOOLTIP_LN}[t]}))}},Ct={init:function(){var e=[[ge.Msg.MATH_BIN,"bin"],[ge.Msg.MATH_OCT,"oct"],[ge.Msg.MATH_HEX,"hex"]];this.setColour(Mt),this.setOutput(!0,String),this.appendValueInput("NUM").setCheck(Number).appendField(new ge.FieldDropdown(e),"OP");var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{bin:ge.Msg.MATH_DEC_TOOLTIP_BIN,oct:ge.Msg.MATH_DEC_TOOLTIP_OCT,hex:ge.Msg.MATH_DEC_TOOLTIP_HEX}[e]}))}},St={init:function(){var e=[[ge.Msg.LANG_MATH_TO_ROUND,"round"],[ge.Msg.LANG_MATH_TO_CEIL,"ceil"],[ge.Msg.LANG_MATH_TO_FLOOR,"floor"],[ge.Msg.MATH_ABS,"fabs"],[ge.Msg.MATH_SQRT,"sqrt"]];this.setColour(Mt),this.appendValueInput("A").setCheck(Number).appendField(new ge.FieldDropdown(e),"OP"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{sqrt:ge.Msg.MATH_SINGLE_TOOLTIP_ROOT,fabs:ge.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:ge.Msg.MATH_SINGLE_TOOLTIP_SQ,round:ge.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:ge.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:ge.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[e]}))}},At={init:function(){var e=[[ge.Msg.MIXLY_MAX,"max"],[ge.Msg.MIXLY_MIN,"min"]];this.setColour(Mt),this.appendValueInput("A").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(new ge.FieldDropdown(e),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(ge.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{max:ge.Msg.MIXLY_TOOLTIP_MATH_MAX,min:ge.Msg.MIXLY_TOOLTIP_MATH_MIN}[e]}))}},Lt={init:function(){var e=[[ge.Msg.MATH_TWO,"two"],[ge.Msg.MATH_EIGHT,"eight"],[ge.Msg.MATH_TEN,"ten"],[ge.Msg.MATH_SIXTEEN,"sixteen"]];this.setColour(Mt),this.appendDummyInput("").appendField(ge.Msg.MATH_BA),this.appendValueInput("NUM").appendField(new ge.FieldDropdown(e),"OP").appendField(ge.Msg.MATH_JinZhi).setCheck(Number),this.appendDummyInput("").appendField(ge.Msg.MATH_ZHW).appendField(new ge.FieldDropdown(e),"OP2").appendField(ge.Msg.MATH_JinZhi),this.setFieldValue("ten","OP2"),this.setOutput(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i={two:ge.Msg.MATH_Before_two,eight:ge.Msg.MATH_Before_eight,ten:ge.Msg.MATH_Before_ten,sixteen:ge.Msg.MATH_Before_sixteen},n=t.getFieldValue("OP2"),s={two:ge.Msg.MATH_Behind_two,eight:ge.Msg.MATH_Behind_eight,ten:ge.Msg.MATH_Behind_ten,sixteen:ge.Msg.MATH_Behind_sixteen};return i[e]+s[n]}))}},Nt={init:function(){var e=[[ge.Msg.LANG_MATH_INT,"int"],[ge.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(Mt),this.setOutput(!0,Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_RANDOM).appendField(new ge.FieldDropdown(e),"TYPE"),this.appendValueInput("FROM").setCheck(Number).appendField(ge.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("TYPE"),i={int:ge.Msg.LANG_MATH_INT,float:ge.Msg.LANG_MATH_FLOAT_RANDOM};return ge.Msg.MATH_RANDOM_INT_TOOLTIP+i[e]}))}},Dt={init:function(){this.setColour(Mt),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(ge.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(ge.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(ge.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(ge.Msg.MATH_CONSTRAIN_TOOLTIP)}},ft={init:function(){this.setColour(Mt),this.appendValueInput("NUM",Number).appendField(ge.Msg.MIXLY_MAP).setCheck(Number),this.appendValueInput("fromLow",Number).appendField(ge.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(ge.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_MATH_MAP)}},Ft={init:function(){this.setColour(Mt),this.appendDummyInput().appendField(new ge.FieldTextInput("0",ge.FieldTextInput.math_number_validator_include_blank),"NUM"),this.setOutput(!0),this.setTooltip(ge.Msg.MATH_NUMBER_TOOLTIP)}},Pt={init:function(){this.setColour(Mt),this.appendValueInput("NUM").setCheck(Number).appendField(ge.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED)}},vt={init:function(){this.setColour(Mt),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number),this.appendValueInput("VAR").setCheck(Number).appendField(ge.Msg.MATH_ROUND).appendField(ge.Msg.TEXT_KEEP),this.appendDummyInput().appendField(ge.Msg.TEXT_DECIMAL),this.setInputsInline(!0),this.setTooltip(ge.Msg.MATH_ROUND_NEW_TOOLTIP)}},Yt={init:function(){var e=[[ge.Msg.MIXLY_TO_INT,"int"],[ge.Msg.MIXLY_TO_FLOAT,"float"],[ge.Msg.MIXLY_TO_BITES,"b"],[ge.Msg.LANG_MATH_BYTE+ge.Msg.MIXLY_TO_INT,"bti"]];this.setColour(Mt),this.appendValueInput("VAR").appendField(new ge.FieldDropdown(e),"TOWHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("TOWHAT");return{int:ge.Msg.MIXLY_PYTHON_TOOLTIP_TOINT,float:ge.Msg.MIXLY_PYTHON_TOOLTIP_TOFLOAT,b:ge.Msg.MIXLY_TOOLTIP_TEXT_TOBYTE}[e]}))}},Xt={init:function(){var e=[[ge.Msg.MIXLY_TO_INT,"int"],[ge.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(Mt),this.appendValueInput("VAR").appendField(new ge.FieldDropdown(e),"TOWHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("TOWHAT");return{int:ge.Msg.MIXLY_TOOLTIP_TEXT_TOINT,float:ge.Msg.MIXLY_TOOLTIP_TEXT_TOFLOAT}[e]}))}},yt=ft,bt={init:function(){this.setColour(Mt),this.appendValueInput("VAR").appendField(ge.Msg.LANG_MATH_BYTE+ge.Msg.MIXLY_TO_HEX),this.setOutput(!0,Number),this.setTooltip(ge.Msg.MIXLY_PYTHON_TOOLTIP_TOHEX)}},xt={init:function(){this.setColour(Mt),this.itemCount_=1,this.setMutator(new ge.icons.MutatorIcon(["lists_create_with_item"],this)),this.appendDummyInput("DUMMY").appendField(ge.Msg.MIXLY_PRODUCT+ge.Msg.MIXLY_GENERATE_CARTESIAN_PRODUCT),this.appendValueInput("REPEAT").appendField(ge.Msg.MIXLY_EVERY_PER_ELEPER_ELEMENT),this.appendDummyInput().appendField(ge.Msg.CONTROLS_REPEAT_TITLE_TIMES),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0),this.setTooltip(ge.Msg.LISTS_CREATE_WITH_PYTHON_TOOLTIP),this.updateShape_()},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("lists_create_with_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;n1&&"\\"===e.charAt(0)){var t=e.charAt(1);if("0"===t||"b"===t||"f"===t||"n"===t||"r"===t||"t"===t||"\\"===t||"'"===t)return String(e).substring(0,2);if("x"===t&&"0"===e.charAt(2)&&"B"===e.charAt(3))return String(e).substring(0,4)}return String(e).substring(0,1)};const Ht={init:function(){this.setColour(Gt),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new ge.FieldTextInput("",ge.FieldTextInput.char_validator),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,Number),this.setTooltip(ge.Msg.TEXT_CHAR_TOOLTIP)},newQuote_:function(e){if(1==e)var t="../../media/quote2.png";else t="../../media/quote3.png";return new ge.FieldImage(t,7,12,'"')}},Wt={init:function(){this.setColour(Gt),this.appendValueInput("A").setCheck([String,Number]),this.appendValueInput("B").setCheck([String,Number]).appendField(ge.Msg.MIXLY_TEXT_JOIN),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_TEXT_JOIN)}},Kt={init:function(){this.setColour(Gt),this.appendValueInput("VAR").setCheck(Number).appendField(ge.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},Jt={init:function(){this.setColour(Gt),this.appendValueInput("VAR").setCheck(String).appendField(ge.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},qt={init:function(){this.setColour(Gt),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(ge.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},zt={init:function(){this.setColour(Gt),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},Qt={init:function(){this.WHERE_OPTIONS=[[ge.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[ge.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[ge.Msg.TEXT_GET_INDEX_RANDOM+1+ge.Msg.TEXT_CHARAT2,"RANDOM"]],this.setHelpUrl(ge.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Gt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number),this.appendDummyInput().appendField(ge.Msg.LISTS_GET_INDEX_GET,"MODE"),ge.Msg.LISTS_GET_INDEX_TAIL&&this.appendDummyInput("TAIL").appendField(ge.Msg.LISTS_GET_INDEX_TAIL),this.setInputsInline(!0),this.setOutput(!0),this.updateAt_(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=e.getFieldValue("WHERE"),n="";switch(t+" "+i){case"GET FROM_START":case"GET FROM_END":n=ge.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM;break;case"GET RANDOM":n=ge.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM;break;case"GET_REMOVE FROM_START":case"GET_REMOVE FROM_END":n=ge.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM;break;case"GET_REMOVE RANDOM":n=ge.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM}return"FROM_START"!=i&&"FROM_END"!=i||(n+=" "+ge.Msg.LISTS_INDEX_FROM_START_TOOLTIP.replace("%1",ge.Msg.ONE_BASED_INDEXING?"#1":"#0")),n}));var t=this;this.setTooltip((function(){var e=t.getFieldValue("WHERE"),i={FROM_START:ge.Msg.LISTS_GET_INDEX_FROM_START,FROM_END:ge.Msg.LISTS_GET_INDEX_FROM_END,RANDOM:ge.Msg.TEXT_GET_INDEX_RANDOM};return ge.Msg.PROCEDURES_DEFRETURN_RETURN+ge.Msg.MIXLY_MICROBIT_TYPE_STRING+i[e]+"n"+ge.Msg.TEXT_CHARAT2}))},mutationToDom:function(){var e=document.createElement("mutation");e.setAttribute("statement",!this.outputConnection);var t=this.getInput("AT").type==ge.INPUT_VALUE;return e.setAttribute("at",t),e},domToMutation:function(e){var t="true"==e.getAttribute("statement");this.updateStatement_(t),e="false"!=e.getAttribute("at"),this.updateAt_(e)},updateStatement_:function(e){e!=!this.outputConnection&&(this.unplug(!0,!0),e?(this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)):(this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)))},updateAt_:function(e){this.removeInput("AT"),this.removeInput("ORDINAL",!0),e?(this.appendValueInput("AT").setCheck(Number),ge.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL").appendField(ge.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT");var t=new ge.FieldDropdown(this.WHERE_OPTIONS,(function(t){var i="FROM_START"==t||"FROM_END"==t;if(i!=e){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(t,"WHERE"),null}}));this.getInput("AT").appendField(t,"WHERE"),ge.Msg.LISTS_GET_INDEX_TAIL&&this.moveInputBefore("TAIL",null)}},jt={init:function(){this.setHelpUrl(ge.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Gt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number).appendField(ge.Msg.LISTS_GET_INDEX_GET+" "+ge.Msg.LISTS_GET_INDEX_FROM_START),this.appendDummyInput().appendField(ge.Msg.TEXT_CHARAT2),this.setOutput(!0),this.setTooltip(ge.Msg.PROCEDURES_DEFRETURN_RETURN+ge.Msg.MIXLY_MICROBIT_TYPE_STRING+ge.Msg.LISTS_GET_INDEX_FROM_START+"n"+ge.Msg.TEXT_CHARAT2)}},$t={init:function(){this.setHelpUrl(ge.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Gt),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(ge.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(ge.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},Zt={init:function(){this.WHERE_OPTIONS_1=[[ge.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[ge.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[ge.Msg.LISTS_GET_SUBLIST_START_FIRST,"FIRST"]],this.WHERE_OPTIONS_2=[[ge.Msg.LISTS_GET_SUBLIST_END_FROM_START,"FROM_START"],[ge.Msg.LISTS_GET_SUBLIST_END_FROM_END,"FROM_END"],[ge.Msg.LISTS_GET_SUBLIST_END_LAST,"LAST"]],this.setHelpUrl(ge.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Gt),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput("AT1"),this.appendDummyInput("AT2"),this.setInputsInline(!0),this.setOutput(!0,"List"),this.updateAt_(1,!0),this.updateAt_(2,!0),this.setTooltip(ge.Msg._GET_TEXT_SUBLIST_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation"),t=this.getInput("AT1").type==ge.INPUT_VALUE;e.setAttribute("at1",t);var i=this.getInput("AT2").type==ge.INPUT_VALUE;return e.setAttribute("at2",i),e},domToMutation:function(e){var t="true"==e.getAttribute("at1"),i="true"==e.getAttribute("at2");this.updateAt_(1,t),this.updateAt_(2,i)},updateAt_:function(e,t){this.removeInput("AT"+e),this.removeInput("ORDINAL"+e,!0),t?(this.appendValueInput("AT"+e).setCheck(Number),ge.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL"+e).appendField(ge.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT"+e);var i=new ge.FieldDropdown(this["WHERE_OPTIONS_"+e],(function(i){var n="FROM_START"==i||"FROM_END"==i;if(n!=t){var s=this.sourceBlock_;return s.updateAt_(e,n),s.setFieldValue(i,"WHERE"+e),null}}));this.getInput("AT"+e).appendField(i,"WHERE"+e),1==e&&(this.moveInputBefore("AT1","AT2"),this.getInput("ORDINAL1")&&this.moveInputBefore("ORDINAL1","AT2"))}},ei={init:function(){this.setHelpUrl(ge.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Gt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT1").appendField(ge.Msg.LISTS_GET_INDEX_GET+" "+ge.Msg.LISTS_GET_INDEX_FROM_START),this.appendValueInput("AT2").appendField(ge.Msg.LISTS_GET_SUBLIST_END_FROM_START),this.appendDummyInput().appendField(ge.Msg.TEXT_CHARAT2),this.setInputsInline(!0),this.setOutput(!0,["List",String]),this.setTooltip(ge.Msg._GET_TEXT_SUBLIST_TOOLTIP)}},ti={init:function(){var e=[[ge.Msg.MIXLY_EQUALS,"==="],[ge.Msg.MIXLY_STARTSWITH,"startswith"],[ge.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(Gt),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new ge.FieldDropdown(e),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},ii={init:function(){this.setColour(Gt),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(ge.Msg.MIXLY_COMPARETO).setCheck(String),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_COMPARETO_HELP)}},ni={init:function(){var e=[[ge.Msg.TEXT_UPPER,"upper"],[ge.Msg.TEXT_TITLE,"title"],[ge.Msg.TEXT_CAPITALIZE,"capitalize"],[ge.Msg.TEXT_SWAPCASE,"swapcase"],[ge.Msg.TEXT_LOWER,"lower"]];this.setColour(Gt),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new ge.FieldDropdown(e),"CAPITAL").setCheck(String),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CAPITAL");return{upper:ge.Msg.MIXLY_MIXPY_TEXT_UPPER_TOOLTIP,title:ge.Msg.MIXLY_MIXPY_TEXT_TITLE_TOOLTIP,swapcase:ge.Msg.MIXLY_MIXPY_TEXT_SWAPCASE_TOOLTIP,capitalize:ge.Msg.MIXLY_MIXPY_TEXT_CAPITALIZE_TOOLTIP,lower:ge.Msg.MIXLY_MIXPY_TEXT_LOWER_TOOLTIP}[e]}))}},si={init:function(){var e=[[ge.Msg.TEXT_LJUST,"ljust"],[ge.Msg.TEXT_CENTER,"center"],[ge.Msg.TEXT_RJUST,"rjust"]];this.setColour(Gt),this.appendValueInput("VAR").appendField(new ge.FieldDropdown(e),"CENTER").setCheck(String),this.appendValueInput("WID").appendField(ge.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("Symbol").appendField(ge.Msg.MIXLY_RECT_Fill).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(ge.Msg.MIXLY_MIXPY_TEXT_CENTER_TOOLTIP)}},_i={init:function(){this.setColour(Gt),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).setCheck(String),this.appendValueInput("STR").appendField(ge.Msg.MIXLY_MID+ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER).setCheck(String),this.appendDummyInput().appendField(ge.Msg.MIXLY_LIST_INDEX),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(ge.Msg.MIXLY_MIXPY_TEXT_FIND_TOOLTIP)}},oi={init:function(){this.setColour(Gt),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_USE_STR).setCheck(String),this.appendValueInput("LIST").appendField(ge.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_SEQ).setCheck("List","Tuple","Set","Dict"),this.appendDummyInput().appendField(ge.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_GET_STR),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(ge.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_TOOLTIP)}},pi={init:function(){this.setColour(Gt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("STR1").appendField(ge.Msg.MIXLY_MIXPY_REPLACE).setCheck(String),this.appendValueInput("STR2").appendField(ge.Msg.LISTS_SET_INDEX_INPUT_TO).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(ge.Msg.MIXLY_MIXPY_TEXT_REPLACE_TOOLTIP)}},ai={init:function(){this.setColour(Gt),this.appendValueInput("VAR"),this.appendValueInput("VAL").appendField(ge.Msg.LIST_SPLIT_AS),this.appendDummyInput("").appendField(ge.Msg.LIST_SPLIT),this.setOutput(!0,"List"),this.setTooltip(ge.Msg.MIXLY_MIXPY_TEXT_SPLIT_TOOLTIP),this.setInputsInline(!0)}},ui={init:function(){var e=[[ge.Msg.TEXT_TRIM_BOTH,"strip"],[ge.Msg.TEXT_TRIM_LEFT,"lstrip"],[ge.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(Gt),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(ge.Msg.TEXT_STRIM),this.appendDummyInput("").appendField(new ge.FieldDropdown(e),"TOWHAT"),this.appendDummyInput("").appendField(ge.Msg.TEXT_BLANK),this.setOutput(!0,String),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("TOWHAT");return{strip:ge.Msg.TEXT_TRIM_BOTH_TOOLTIP,lstrip:ge.Msg.TEXT_TRIM_LEFT_TOOLTIP,rstrip:ge.Msg.TEXT_TRIM_RIGHT_TOOLTIP}[e]}))}},ri={init:function(){this.setColour(Gt),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROPYTHON_FORMAT),this.appendDummyInput("").appendField(new ge.FieldTextInput("str"),"VAR"),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new ge.icons.MutatorIcon(["text_create_with_item"],this)),this.setOutput(!0),this.setTooltip(ge.Msg.MIXLY_MIXPY_TEXT_FORMAT_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("text_create_with_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;nt?e[t]:0==t?'"key"':'"key'+(t+1)+'"'),"KEY"+t).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){ge.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},pn={init:function(){this.setColour(_n),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(ge.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},an={init:function(){this.setColour(_n),this.appendDummyInput().appendField(ge.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},un={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ge.Msg.DICT_KEYS),this.setTooltip(ge.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},rn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(ge.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(ge.Msg.DICTS_ADD_VALUE),this.setOutput(!0),this.setTooltip(ge.Msg.DICTS_GET_TOOLTIP)}},ln={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(ge.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(ge.Msg.DICTS_ADD_VALUE),this.appendValueInput("VAR").appendField(ge.Msg.DICTS_DEFAULT_VALUE),this.setOutput(!0),this.setTooltip(ge.Msg.DICTS_GET_DEFAULT_TOOLTIP)}},dn={init:function(){this.setColour(_n),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(ge.Msg.DICTS_ADD),this.appendDummyInput(),this.appendValueInput("VAR").appendField(ge.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.DICTS_ADD_OR_CHANGE_TOOLTIP)}},In={init:function(){this.setColour(_n),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(ge.Msg.DICTS_DELETE_IN),this.appendDummyInput("").appendField(ge.Msg.DICTS_DELETE_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.DICTS_DELETE_TOOLTIP)}},Tn={init:function(){this.setColour(_n),this.appendValueInput("DICT2").setCheck("Dict").appendField(ge.Msg.MAKE_DICT),this.appendValueInput("DICT").setCheck("Dict").appendField(ge.Msg.DICT_UPDATE),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MID),this.setTooltip(ge.Msg.DICTS_UPDATE_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Mn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ge.Msg.DICT_CLEAR),this.setTooltip(ge.Msg.DICTS_CLEAR_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},hn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ge.Msg.DICT_ITEMS),this.setTooltip(ge.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},mn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ge.Msg.DICT_VALUES),this.setTooltip(ge.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},En={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_LENGTH),this.setTooltip(ge.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},On={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ge.Msg.DICT_DELDICT),this.setTooltip(ge.Msg.DICTS_DEL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Rn={init:function(){this.MODE=[[ge.Msg.DICTS_ADD_OR_CHANGE,"INSERT"],[ge.Msg.MIXLY_MICROBIT_JS_DELETE_VAR,"DELETE"]],this.setHelpUrl(ge.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("AT2"),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).appendField(ge.Msg.DICTS_ADD_VALUE),this.updateAt_(!0),this.setInputsInline(!0),this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t="";switch(e.getFieldValue("WHERE")){case"INSERT":t=ge.Msg.DICTS_ADD_TOOLTIP;break;case"DELETE":t=ge.Msg.DICTS_DELETE_TOOLTIP}return t}))},mutationToDom:function(){var e=document.createElement("mutation"),t=this.getInput("AT2").type==ge.INPUT_VALUE;return e.setAttribute("at2",t),e},domToMutation:function(e){var t="true"==e.getAttribute("at2");this.updateAt_(t)},updateAt_:function(e){this.removeInput("AT2"),this.removeInput("ORDINAL",!0),e?this.appendValueInput("AT2").setCheck(Number):this.appendDummyInput("AT2");var t=new ge.FieldDropdown(this.MODE,(function(t){var i="INSERT"==t;if(i!=e){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(t,"WHERE"),null}}));this.getInput("AT2").appendField(t,"WHERE")}},cn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ge.Msg.blockpy_DICT_POP),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(ge.Msg.DICTS_ADD_VALUE),this.setTooltip(ge.Msg.DICT_POP_TOOLTIP),this.setInputsInline(!0),this.setOutput(!0)}},gn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(ge.Msg.DICTS_SET_DEFAULT),this.appendDummyInput("").appendField(ge.Msg.DICTS_DEFAULT_VALUE),this.appendValueInput("VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.DICTS_SETDEFAULT_TOOLTIP)}},Cn={init:function(){this.setColour(_n),this.appendDummyInput("").appendField(new ge.FieldLabel(ge.Msg.MIXLY_MICROBIT_TYPE_DICT),"TIP").appendField(" "),this.itemCount_=3,this.updateShape_(),this.setOutput(!0,"Dict"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setMutator(new ge.icons.MutatorIcon(["dicts_create_with_item"],this)),this.setTooltip(ge.Msg.DICTS_CREATE_WITH_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("dicts_create_with_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;nt?e[t]:0==t?'"key"':'"key'+(t+1)+'"'),"KEY"+t).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){ge.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},Sn={init:function(){this.setColour(_n),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(ge.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},An={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_TO_JSON),this.setTooltip(ge.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},Ln={init:function(){this.setColour(_n),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_CONVERT_TO_JSON),this.setTooltip(ge.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},Nn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("VAR1").appendField("key1"),this.appendValueInput("VAR2").appendField("index"),this.appendValueInput("VAR3").appendField("key2"),this.appendValueInput("VAR4").appendField("key3"),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},Dn={init:function(){this.setColour(_n),this.appendValueInput("DICT"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_TO_JSON),this.setTooltip(ge.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},fn=210,Fn={init:function(){var e=ge.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(fn),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new ge.FieldDropdown(e),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{EQ:ge.Msg.LOGIC_COMPARE_TOOLTIP_EQ,NEQ:ge.Msg.LOGIC_COMPARE_TOOLTIP_NEQ,LT:ge.Msg.LOGIC_COMPARE_TOOLTIP_LT,LTE:ge.Msg.LOGIC_COMPARE_TOOLTIP_LTE,GT:ge.Msg.LOGIC_COMPARE_TOOLTIP_GT,GTE:ge.Msg.LOGIC_COMPARE_TOOLTIP_GTE}[e]})),this.prevBlocks_=[null,null]}},Pn={init:function(){var e=ge.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]],t=ge.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(fn),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new ge.FieldDropdown(e),"OP1"),this.appendValueInput("C").appendField(new ge.FieldDropdown(t),"OP2"),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_PYTHON_LOGIC_COMPARE_CONTINOUS_TOOLTIP)}},vn={init:function(){var e=[[ge.Msg.LOGIC_OPERATION_AND,"AND"],[ge.Msg.LOGIC_OPERATION_OR,"OR"],[ge.Msg.LOGIC_OPERATION_NOR,"NOR"],[ge.Msg.LOGIC_OPERATION_XOR,"XOR"]];this.setColour(fn),this.setOutput(!0,Boolean),this.appendValueInput("A").setCheck([Boolean,Number]),this.appendValueInput("B").setCheck([Boolean,Number]).appendField(new ge.FieldDropdown(e),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{AND:ge.Msg.LOGIC_OPERATION_TOOLTIP_AND,OR:ge.Msg.LOGIC_OPERATION_TOOLTIP_OR,NOR:ge.Msg.LOGIC_OPERATION_TOOLTIP_NOR,XOR:ge.Msg.LOGIC_OPERATION_TOOLTIP_XOR}[e]}))}},Yn={init:function(){this.setColour(fn),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(ge.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(ge.Msg.LOGIC_NEGATE_TOOLTIP)}},Xn={init:function(){var e=[[ge.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[ge.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(fn),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new ge.FieldDropdown(e),"BOOL"),this.setTooltip(ge.Msg.LOGIC_BOOLEAN_TOOLTIP)}},yn={init:function(){this.setColour(fn),this.setOutput(!0),this.appendDummyInput().appendField(ge.Msg.LOGIC_NULL),this.setTooltip(ge.Msg.LOGIC_NULL_TOOLTIP)}},bn={init:function(){this.setColour(fn),this.appendValueInput("A"),this.appendValueInput("B").appendField(ge.Msg.LOGIC_TERNARY_IF_TRUE),this.appendValueInput("C").appendField(ge.Msg.LOGIC_TERNARY_IF_FALSE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_LOGIT_TRUEORFALSE)}},xn={init:function(){var e=[[ge.Msg.TEXT_APPEND_TO,"in"],[ge.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(fn),this.appendValueInput("A"),this.appendValueInput("B").setCheck([String,"List"]).appendField(new ge.FieldDropdown(e),"BOOL"),this.appendDummyInput("").appendField(ge.Msg.MICROBIT_LOGIC_IS_IN),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(ge.Msg.IN)}},Vn={init:function(){var e=[[ge.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[ge.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(fn),this.appendValueInput("A"),this.appendValueInput("B").appendField(new ge.FieldDropdown(e),"BOOL"),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_PYTHON_LOGIC_IS_TOOLTIP)}},Bn={init:function(){this.setColour(fn),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(ge.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},Gn={init:function(){this.setColour(0),this.appendValueInput("fn").setCheck(String).appendField(ge.Msg.MIXLY_PYTHON_STORAGE_OPEN_FILE_WITH_OS+"(For Windows)"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Un={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"],[ge.Msg.MIXLY_ADD,"a"],[ge.Msg.MATH_BIN+ge.Msg.MIXLY_ADD,"ab"],[ge.Msg.MIXLY_R_W,"r+"],[ge.Msg.MATH_BIN+ge.Msg.MIXLY_R_W,"rb+"],[ge.Msg.MIXLY_W_R,"w+"],[ge.Msg.MATH_BIN+ge.Msg.MIXLY_W_R,"wb+"],[ge.Msg.MIXLY_A_R,"a+"],[ge.Msg.MATH_BIN+ge.Msg.MIXLY_A_R,"ab+"]]),"MODE"),this.appendValueInput("FILE").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_AS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=ge.Msg.MIXLY_USE,n=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=ge.Msg.MIXLY_BELONG;return i+{r:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[t]+_+n+s}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){ge.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},wn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=ge.Msg.MIXLY_USE,n=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=ge.Msg.MIXLY_BELONG,o=ge.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[t]+_+n+s+o}))}},kn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE);this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendDummyInput().appendField(ge.Msg.MIXPY_TEXT_ENCODE).appendField(new ge.FieldDropdown([["ANSI","ANSI"],["gbk","gbk"],["utf-8","utf-8"]]),"CODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=ge.Msg.MIXLY_USE,n=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=ge.Msg.MIXLY_BELONG,o=ge.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[t]+_+n+s+o}))}},Hn={init:function(){this.setColour(0),this.appendValueInput("data").setCheck(String).appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendValueInput("FILE").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+ge.Msg.MIXLY_MICROBIT_TYPE_STRING+ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE)}},Wn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"read"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE,"readline"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES,"readlines"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String)}},Kn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,"read"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,"readline"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE,"readlines"]]),"MODE"),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE,n=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER;return i+{read:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,readline:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,readlines:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE}[t]+"x"+n}))}},Jn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.setNextStatement(!0),this.appendValueInput("SIZE").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(ge.Msg.MICROBIT_PYTHON_TYPE)}},qn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(ge.Msg.HTML_FILE),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean),this.setTooltip(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT1)}},zn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FILENAME),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILENAME)}},Qn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE)}},jn={init:function(){this.setColour(0),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES)}};ge.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE;const $n={init:function(){this.setColour(0),this.appendDummyInput().appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE,"remove"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_DIRS,"removedirs"]]),"MODE"),this.appendValueInput("FILE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE)}},Zn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE+ge.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE)}},es={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_RETURN_FILE),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_PRESENT_LOCATION),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_TELL)}},ts={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION),this.appendDummyInput().appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,"start"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,"current"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END,"end"]]),"MODE"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION+ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION,n=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER,s=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET;return i+" "+{start:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,current:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,end:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END}[t]+s+"x"+n}))}},is={init:function(){this.setColour(0),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR)}},ns={init:function(){this.setColour(0),this.appendValueInput("PATH").setCheck(String).appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_SET),this.appendDummyInput().appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,"mkdir"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_MAKEDIRS,"makedirs"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE");return ge.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH+"x"+ge.Msg.MIXLY_ESP32_SET+{mkdir:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,makedirs:ge.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[t]}))}},ss={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME),this.appendValueInput("NEWFILE").setCheck(String).appendField(ge.Msg.MIXLY_AS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME)}},_s={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR)}},os={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT),this.appendDummyInput().appendField(new ge.FieldDropdown([[ge.Msg.HTML_FILE,"isfile"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_DIR,"isdir"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean);let e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE");return ge.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH+"x"+ge.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT+{isfile:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,isdir:ge.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[t]}))}},ps={init:function(){this.setColour(0),this.appendValueInput("SPISUB").appendField(ge.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_SETUP+ge.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(ge.Msg.MIXLY_SD_CARD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},as={init:function(){this.setColour(0),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_SD_CARD),this.appendValueInput("DIR").setCheck(String).appendField(ge.Msg.MIXLY_SDCARD_MOUNT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip()}},us={init:function(){var e=ge.Procedures.findLegalName("",this),t=new ge.FieldTextInput(e,ge.Procedures.rename);t.setSpellcheck(!1),this.appendDummyInput().appendField(t,"NAME").appendField("","PARAMS"),this.setMutator(new ge.icons.MutatorIcon(["procedures_mutatorarg"],this)),(this.workspace.options.comments||this.workspace.options.parentWorkspace&&this.workspace.options.parentWorkspace.options.comments)&&ge.Msg.PROCEDURES_DEFNORETURN_COMMENT&&this.setCommentText(ge.Msg.PROCEDURES_DEFNORETURN_COMMENT),this.setStyle("procedure_blocks"),this.setTooltip(ge.Msg.PROCEDURES_DEFNORETURN_TOOLTIP),this.setHelpUrl(ge.Msg.PROCEDURES_DEFNORETURN_HELPURL),this.arguments_=[],this.argumentVarModels_=[],this.setStatements_(!0),this.statementConnection_=null},setStatements_:function(e){this.hasStatements_!==e&&(e?(this.appendStatementInput("STACK").appendField(ge.Msg.PROCEDURES_DEFNORETURN_DO),this.getInput("RETURN")&&this.moveInputBefore("STACK","RETURN")):this.removeInput("STACK",!0),this.hasStatements_=e)},updateParams_:function(){var e="";this.arguments_.length&&(e=ge.Msg.PROCEDURES_BEFORE_PARAMS+" "+this.arguments_.join(", ")),ge.Events.disable();try{this.setFieldValue(e,"PARAMS")}finally{ge.Events.enable()}},mutationToDom:function(e){var t=ge.utils.xml.createElement("mutation");e&&t.setAttribute("name",this.getFieldValue("NAME"));for(var i=0;i"),this.appendValueInput("style").appendField(ge.Msg.MIXLY_AIP_ATTR).setAlign(ge.inputs.Align.RIGHT),this.appendStatementInput("DO").appendField(""),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},s_={init:function(){this.setColour($s),this.appendDummyInput().appendField(ge.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},__={init:function(){this.setColour($s),this.appendDummyInput().appendField(ge.Msg.HTML_FORM_CONTENT).appendField(new ge.FieldDropdown([[ge.Msg.HTML_TEXT,"text"],[ge.Msg.HTML_EMAIL,"email"],[ge.Msg.HTML_NUMBER,"number"],[ge.Msg.HTML_PASSWORD,"password"],[ge.Msg.HTML_CHECKBOX,"checkbox"],[ge.Msg.HTML_RADIOBUTTON,"radiobutton"],[ge.Msg.HTML_BUTTON,"button"],[ge.Msg.HTML_COLOUR,"colour"],[ge.Msg.HTML_DATE,"date"],[ge.Msg.HTML_LOCALTIME,"local time"],[ge.Msg.HTML_FILE,"file"],[ge.Msg.HTML_HIDDEN,"hidden"],[ge.Msg.HTML_IMAGE,"image"],[ge.Msg.HTML_MONTH,"month"],[ge.Msg.HTML_RANGE,"range"],[ge.Msg.HTML_RESET,"reset"],[ge.Msg.HTML_SEARCH,"search"],[ge.Msg.HTML_SUBMIT,"submit"],[ge.Msg.HTML_TELEPHONENUMBER,"telephone number"],[ge.Msg.HTML_TIME,"time"],[ge.Msg.HTML_URL,"url"],[ge.Msg.HTML_WEEK,"week"]]),"LEVEL"),this.appendDummyInput().appendField(ge.Msg.HTML_NAME).appendField(new ge.FieldTextInput("car"),"NAME"),this.appendDummyInput().appendField(ge.Msg.HTML_VALUE).appendField(new ge.FieldTextInput("go"),"VALUE"),this.appendValueInput("style").appendField(ge.Msg.MIXLY_AIP_ATTR).setAlign(ge.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},o_={init:function(){this.setColour($s),this.appendDummyInput().appendField(new ge.FieldTextInput("property"),"KEY").appendField(":").appendField(new ge.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},p_={init:function(){this.setColour($s),this.appendDummyInput().appendField(new ge.FieldTextInput("property"),"KEY").appendField(":").appendField(new ge.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},a_={init:function(){this.setColour($s),this.appendDummyInput().appendField(ge.Msg.HTML_TEXT).appendField(new ge.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},u_=160,r_={init:function(){this.setColour(u_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new ge.FieldTable(""),"TEXT")}},l_={init:function(){this.setColour(u_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new ge.FieldMultilineInput(""),"TEXT")}},d_={init:function(){this.setColour(u_),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new ge.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},I_={init:function(){this.setColour(u_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},T_={init:function(){this.setColour(u_),this.appendDummyInput().appendTitle("Comment:").appendTitle(new ge.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},M_={init:function(){this.setColour(u_),this.appendValueInput("VALUE").appendField(ge.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},h_={init:function(){this.setColour(u_),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new ge.icons.MutatorIcon(["text_print_multiple_item"],this)),this.setTooltip(ge.Msg.TEXT_PRINT_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=ge.Block.obtain(e,"text_print_multiple_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;n= stop:"," yield start"," start -= abs(step)"])};if(e=function(e,t,i){return"("+e+" <= "+t+") and "+a()+"("+e+", "+t+", "+i+") or "+u()+"("+e+", "+t+", "+i+")"},ge.isNumber(n)&&ge.isNumber(s)&&ge.isNumber(_))n=parseFloat(n),s=parseFloat(s),_=Math.abs(parseFloat(_)),0==n%1&&0==s%1&&0==_%1?(n<=s?(s++,e=0==n&&1==_?s:n+", "+s,1!=_&&(e+=", "+_)):e=n+", "+--s+", -"+_,e="range("+e+")"):(e=n",GTE:">="};const da=function(e,t){var i=this.getFieldValue("OP"),n="&&"==i?t.ORDER_LOGICAL_AND:t.ORDER_LOGICAL_OR,s=t.valueToCode(this,"A",n)||"False",_=t.valueToCode(this,"B",n)||"False";if("AND"==i)var o=s+" and "+_;else if("OR"==i)o=s+" or "+_;else if("NOR"==i)o="not("+s+"^"+_+")";else o=s+"^"+_;return[o,n]},Ia=function(e,t){var i=t.ORDER_UNARY_PREFIX;return["not "+(t.valueToCode(this,"BOOL",i)||"False"),i]},Ta=function(e,t){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",t.ORDER_ATOMIC]},Ma=function(e,t){return["None",t.ORDER_ATOMIC]},ha=function(e,t){var i=t.valueToCode(this,"A",t.ORDER_ATOMIC)||"False";return["("+(t.valueToCode(this,"B",t.ORDER_ATOMIC)||"False")+" if "+i+" else "+(t.valueToCode(this,"C",t.ORDER_ATOMIC)||"False")+")",t.ORDER_ATOMIC]},ma=function(e,t){var i=t.valueToCode(this,"A",t.ORDER_ATOMIC)||"''",n=t.valueToCode(this,"B",t.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,t.ORDER_ATOMIC]},Ea=function(e,t){var i=t.valueToCode(this,"A",t.ORDER_ATOMIC)||"''",n=t.valueToCode(this,"B",t.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,t.ORDER_ATOMIC]},Oa=function(e,t){return["bool("+(t.valueToCode(this,"VAR",t.ORDER_ATOMIC)||"0")+")",t.ORDER_ATOMIC]},Ra=function(e,t){return t.definitions_.import_os="import os","os.startfile("+t.valueToCode(this,"fn",t.ORDER_ATOMIC)+")\n"},ca=function(e,t){return t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+" = open("+t.valueToCode(this,"FILENAME",t.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},ga=function(e,t){return["open("+t.valueToCode(this,"FILENAME",t.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",t.ORDER_ATOMIC]},Ca=function(e,t){return["open("+t.valueToCode(this,"FILENAME",t.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',t.ORDER_ATOMIC]},Sa=function(e,t){var i=t.valueToCode(this,"data",t.ORDER_ATOMIC);return t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".write("+i+")\n"},Aa=function(e,t){var i=this.getFieldValue("MODE");return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+"."+i+"()",t.ORDER_ATOMIC]},La=function(e,t){var i=this.getFieldValue("MODE");return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+"."+i+"("+t.valueToCode(this,"SIZE",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Na=function(e,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".readline("+t.valueToCode(this,"SIZE",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Da=function(e,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".writable()",t.ORDER_ATOMIC]},fa=function(e,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".name()",t.ORDER_ATOMIC]},Fa=function(e,t){return t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".close()\n"},Pa=function(e,t){t.definitions_.import_os="import os";return["os.listdir()",t.ORDER_ATOMIC]},va=function(e,t){return t.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+")\n"},Ya=function(e,t){return t.definitions_.import_os="import os",["os.path.getsize("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Xa=function(e,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".tell()",t.ORDER_ATOMIC]},ya=function(e,t){var i=this.getFieldValue("MODE"),n=0;return n="start"==i?0:"current"==i?1:2,t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".seek("+t.valueToCode(this,"SIZE",t.ORDER_ATOMIC)+","+n+")\n"},ba=function(e,t){return t.definitions_.import_os="import os","os.chdir("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+")\n"},xa=function(e,t){t.definitions_.import_os="import os";return["os.getcwd()",t.ORDER_ATOMIC]},Va=function(e,t){return t.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+t.valueToCode(this,"PATH",t.ORDER_ATOMIC)+")\n"},Ba=function(e,t){return t.definitions_.import_os="import os","os.rename("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+","+t.valueToCode(this,"NEWFILE",t.ORDER_ATOMIC)+")\n"},Ga=function(e,t){t.definitions_.import_os="import os";var i=t.valueToCode(this,"FILE",t.ORDER_ATOMIC);return["os."+this.getFieldValue("MODE")+"("+i+")",t.ORDER_ATOMIC]},Ua=function(e,t){return t.definitions_.import_os="import os",t.definitions_.import_sdcard="import sdcard",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+" = sdcard.SDCard("+t.valueToCode(this,"SPISUB",t.ORDER_ATOMIC)+","+t.valueToCode(this,"PINSUB",t.ORDER_ATOMIC)+")\n"},wa=function(e,t){return t.definitions_.import_os="import os",t.definitions_.import_sdcard="import sdcard","os.mount("+t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+","+t.valueToCode(this,"DIR",t.ORDER_ATOMIC)+")\n"},ka=function(e,t){var i=t.variableDB_.getName(this.getFieldValue("NAME"),ge.Procedures.NAME_TYPE),n=(this.getInput("STACK")&&t.statementToCode(this,"STACK"))??" pass\n";t.INFINITE_LOOP_TRAP&&(n=t.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+n);var s=t.valueToCode(this,"RETURN",t.ORDER_NONE)||"";s&&(s=" return "+s+"\n");for(var _=[],o=0;o\n\n\n\t\n"+t.statementToCode(this,"HEAD")+"\n\n"+t.statementToCode(this,"BODY")+"\n\n'''",t.ORDER_ATOMIC]},Au=function(e,t){var i=t.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"\n"+i+"\n"},Lu=function(e,t){var i=t.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");if("head"==n)var s="<"+n+'>\n\t\n'+i+"\n";else s="<"+n+">\n"+i+"\n";return s},Nu=function(e,t){var i=t.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"<"+n+">\n"+i+"\n"},Du=function(e,t){var i=t.statementToCode(this,"DO"),n=t.valueToCode(this,"style"),s=this.getFieldValue("LEVEL");return"<"+s+" "+n+" >\n"+i+"\n"},fu=function(e,t){return['style="'+t.statementToCode(this,"STYLE")+'"',t.ORDER_ATOMIC]},Fu=function(e,t){return'"},Pu=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},vu=function(){return this.getFieldValue("TEXT")+"\n"},Yu=function(e){return e.getFieldValue("TEXT")+"\n"},Xu=function(e,t){return[e.getFieldValue("TEXT"),t.ORDER_ATOMIC]},yu=function(e,t){return(t.valueToCode(e,"VALUE",t.ORDER_ATOMIC)||"")+"\n"},bu=function(){return""},xu=function(e,t){return["type("+(t.valueToCode(e,"VALUE",t.ORDER_MEMBER)||"___")+")",t.ORDER_ATOMIC]},Vu=function(e,t){for(var i=e.getFieldValue("NAME"),n=e.hasReturn_,s=new Array(e.itemCount_),_=0;_0?t.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+e+"while True:\n"+a.join("")+u.join("\n"):t.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+e+u.join("\n")},wu.scrubNakedValue=function(e){return e+"\n"},wu.quote_=function(e){var t="'";return-1!==e.indexOf("'")&&(-1===e.indexOf('"')?t='"':e=e.replace(/'/g,"\\'")),t+e+t},wu.multiline_quote_=function(e){return"'''"+(e=e.replace(/'''/g,"\\'\\'\\'"))+"'''"},wu.scrub_=function(e,t,i){var n="";if(!e.outputConnection||!e.outputConnection.targetConnection){(_=e.getCommentText())&&(_=ge.utils.string.wrap(_,wu.COMMENT_WRAP-3),n+=wu.prefixLines(_+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const ku="#74A55B",Hu={init:function(){this.setColour(ku),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MIDI),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ge.Msg.MIXLY_RGB_PIN_COUNT)}},Wu={init:function(){this.setColour(ku),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(ge.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Ku={init:function(){this.setColour(ku),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(ge.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(ge.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},Ju={init:function(){this.setColour(ku),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(ge.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},qu={init:function(){this.setColour(ku),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(ge.Msg.MIXLY_BACKSTAGE+ge.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_BACKSTAGE+ge.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},zu={init:function(){this.setColour(ku),this.appendValueInput("SUB"),this.appendValueInput("TICKS").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(ge.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(ge.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},Qu={init:function(){this.setColour(ku),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},ju={init:function(){this.setColour(ku),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_MUSIC_RESET)}},$u={init:function(){this.setColour(ku),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Zu={init:function(){this.setColour(ku),this.appendValueInput("SUB"),this.appendValueInput("percent").appendField(ge.Msg.MIXLY_MUSIC_VOLUME_SET),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},er={init:function(){this.setColour(ku),this.appendDummyInput().appendField(ge.Msg.MIXLY_SETTING).appendField(ge.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(ge.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_EXTERN_LED_SETONOFF)}},tr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(ge.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},ir={init:function(){this.setColour(ku),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(ge.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},nr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(ge.Msg.MIXLY_SETTING).appendField(ge.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(ge.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_EXTERN_LED_SETBRIGHT)}},sr={init:function(){this.setColour(ku),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_SETUP+ge.Msg.MIXLY_SERVO),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_PIN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},_r={init:function(){this.setColour(ku),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_SERVO).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("DEGREE",Number).setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_DEGREE_0_180),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_SERVO_MOVE)}},or={init:function(){this.setColour(ku),this.appendValueInput("VAR").appendField("360°"+ge.Msg.MIXLY_SERVO),this.appendValueInput("SPEED",Number).setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_SETTING+ge.Msg.blockpy_turtle_rotate+ge.Msg.MIXLY_SPEED+" (-10~10)"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_SERVO_360_TOOLTIP)}},pr={init:function(){this.setColour(ku),this.appendValueInput("PIN",Number).appendField("180°"+ge.Msg.MIXLY_SERVO).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_SERVO_MOVE)}},ar={init:function(){this.setColour(ku),this.appendValueInput("PIN",Number).appendField("360°"+ge.Msg.MIXLY_SERVO).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_SERVO_SPEED_TOOLIPS)}},ur={init:function(){this.setColour(ku),this.appendValueInput("PIN",Number).appendField("180°"+ge.Msg.MIXLY_SERVO).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET+ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},rr={init:function(){this.setColour(ku),this.appendValueInput("PIN",Number).appendField("360°"+ge.Msg.MIXLY_SERVO).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET+ge.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},lr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField("初始化").setCheck("var"),this.appendDummyInput().appendField("电机驱动"),this.appendDummyInput().appendField("地址").appendField(new ge.FieldDropdown([["A","ms32006.ADDRESS_A"],["B","ms32006.ADDRESS_B"]]),"mode"),this.appendValueInput("SUB1").setCheck("var").setAlign(ge.inputs.Align.RIGHT).appendField("通信"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("初始化MS32006电机驱动,使用I2C通信")}},dr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField("直流电机").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Direction).appendField(new ge.FieldDropdown([[ge.Msg.CLOCKWISE,"ms32006.MOT_CW"],[ge.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"],[ge.Msg.MOTOR_N,"ms32006.MOT_N"],[ge.Msg.MOTOR_P,"ms32006.MOT_P"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_STEPPER_SET_SPEED),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置直流电机的状态及转速(0-100)")}},Ir={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField("步进电机").setCheck("var"),this.appendDummyInput().appendField("选择").appendField(new ge.FieldDropdown([["A","ms32006.MOT_A"],["B","ms32006.MOT_B"]]),"mode"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Direction).appendField(new ge.FieldDropdown([[ge.Msg.CLOCKWISE,"ms32006.MOT_CW"],[ge.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField("转速"),this.appendValueInput("steps").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField("步数"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置步进电机的状态、转速、步数(0-2047)")}},Tr={init:function(){this.setColour(ku),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_PIN),this.appendValueInput("LEDCOUNT").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_COUNT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ge.Msg.MIXLY_RGB_PIN_COUNT)}},Mr={init:function(){this.setColour(ku),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("_LED_").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ge.Msg.MIXLY_RGB_NUM_R_G_B_MP)}},hr={init:function(){this.setColour(ku),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ge.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},mr={init:function(){this.setColour(ku),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ge.Msg.MIXLY_ESP32_MUSIC_WRI)}},Er={init:function(){this.setColour(ku),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(ge.Msg.MIXLY_DURATION).appendField(ge.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Or={init:function(){this.setColour(ku),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(ge.Msg.PYTHON_RANGE_STEP).appendField(ge.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Rr={init:function(){this.setColour(ku),this.appendDummyInput("").appendField(ge.Msg.CONTROLS_FOR_INPUT_WITH+"uart").appendField(new ge.FieldDropdown([["uart1","uart1"],["uart2","uart2"]]),"key"),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_SETUP+ge.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new ge.FieldDropdown([["SYN6288"+ge.Msg.MIXLY_AipSpeech_synthesis,"SYN6288"],["NS9300"+ge.Msg.MIXLY_MUSIC_PLAYER,"NS9300"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},cr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_GET+ge.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_WHETHER).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_STOPPED,"0"],[ge.Msg.MIXLY_PLAYING,"1"],[ge.Msg.MIXLY_PAUSED,"2"]]),"key"),this.setInputsInline(!0),this.setOutput(!0)}},gr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_STAT).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MP3_PLAY,"1"],[ge.Msg.MIXLY_MP3_PAUSE,"2"],[ge.Msg.MIXLY_STOP,"3"],[ge.Msg.MIXLY_MP3_PREV,"4"],[ge.Msg.MIXLY_MP3_NEXT,"5"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Cr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendValueInput("volume").appendField(ge.Msg.MIXLY_MP3_VOL+ge.Msg.MIXLY_STAT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_PLAYER_SET_VOLUME_TOOLTIP)}},Sr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MODE+ge.Msg.MIXLY_STAT).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MP3_LOOP_ALL,"0"],[ge.Msg.MIXLY_MP3_LOOP_ONE,"1"],[ge.Msg.MIXLY_PLAYER_DIRECTORY_LOOP,"2"],[ge.Msg.MIXLY_MP3_LOOP_RAM,"3"],[ge.Msg.MIXLY_PLAYER_SINGLE_STOP,"4"],[ge.Msg.MIXLY_PLAYER_SEQUENTIAL_PLAY,"5"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ar={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_JS_START_MELODY,"play"],[ge.Msg.MIXLY_PLAYER_INSERT_MUSIC,"insert"]]),"key"),this.appendValueInput("song"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_PLAYER_PLAY_MUSIC_TOOTIP)}},Lr={},Nr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(ge.Msg.MIXLY_SET_VOLUME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},Dr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField("SYN6288"),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET_VOLUME),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},fr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(ge.Msg.MIXLY_PLAY_HINTS),this.appendDummyInput().appendField(ge.Msg.MIXLY_PROGRAM_BLOCK).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[ge.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_PLAY_HINTS_TOOLTIP)}},Fr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("data").setCheck(String).appendField(ge.Msg.MIXLY_AipSpeech_synthesis),this.appendValueInput("VOICE").setCheck(Number).appendField(ge.Msg.MIXLY_BACKGROUND_MUSIC),this.appendDummyInput().appendField(ge.Msg.MIXLY_PROGRAM_BLOCK).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[ge.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_PLAY_TTS_TOOLTIP)}},Pr={init:function(){this.setColour(ku),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.extern_addr),"PIN"),this.setOutput(!0,Number)}},vr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(ge.Msg.ME_GO_MOTOR_EXTERN+ge.Msg.MIXLY_MOTOR).appendField(ge.Msg.PIN_NUMBERING).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LEFT,"0"],[ge.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},Yr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(ge.Msg.ME_GO_MOTOR_EXTERN+ge.Msg.MIXLY_MOTOR).appendField(ge.Msg.PIN_NUMBERING).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LEFT,"0"],[ge.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_GET+ge.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},Xr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(ge.Msg.ME_GO_MOTOR_EXTERN+ge.Msg.MIXLY_TRAFFIC_LIGHT).appendField(ge.Msg.PIN_NUMBERING).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LEFT,"0"],[ge.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.LISTS_SET_INDEX_SET).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_Turn_off_display,"0"],[ge.Msg.MIXLY_TRAFFIC_LIGHT_RED_ON,"1"],[ge.Msg.MIXLY_TRAFFIC_LIGHT_RED_BLINK,"2"],[ge.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_ON,"3"],[ge.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_BLINK,"4"],[ge.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_ON,"5"],[ge.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_BLINK,"6"]]),"light"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},yr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(ge.Msg.ME_GO_MOTOR_EXTERN).appendField(new ge.FieldDropdown([[ge.Msg.COLOUR_RGB_WHITE,"W"],[ge.Msg.COLOUR_RGB_RED,"R"],[ge.Msg.COLOUR_RGB_YELLOW,"Y"],[ge.Msg.COLOUR_RGB_GREEN,"G"],[ge.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(ge.Msg.PIN_NUMBERING).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LEFT,"0"],[ge.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("value").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},br={init:function(){this.setColour(ku),this.appendDummyInput().appendField(ge.Msg.ME_GO_MOTOR_EXTERN).appendField(new ge.FieldDropdown([[ge.Msg.COLOUR_RGB_WHITE,"W"],[ge.Msg.COLOUR_RGB_RED,"R"],[ge.Msg.COLOUR_RGB_YELLOW,"Y"],[ge.Msg.COLOUR_RGB_GREEN,"G"],[ge.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(ge.Msg.PIN_NUMBERING).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LEFT,"0"],[ge.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET+ge.Msg.BRIGHTNESS),this.setOutput(!0,Number),this.setInputsInline(!0)}},xr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(ge.Msg.ME_GO_MOTOR_EXTERN+ge.Msg.MIXLY_SERVO_MOTOR).appendField(ge.Msg.PIN_NUMBERING).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LEFT,"0"],[ge.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"[0]"],[ge.Msg.MIXLY_SPEED,"[1]"],[ge.Msg.MATH_SINGLE_OP_ABSOLUTE+ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[2]"],[ge.Msg.MIXLY_RELATIVE+ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[3]"],[ge.Msg.MIXLY_MIXBOT_SERVO_BLOCK_OR_NOT,"[4]"],[ge.Msg.MIXLY_MIXBOT_SERVO_FINISH_OR_NOT,"[5]"],[ge.Msg.MIXLY_ALL,""]]),"status"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Vr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(ge.Msg.ME_GO_MOTOR_EXTERN+ge.Msg.MIXLY_SERVO_MOTOR).appendField(ge.Msg.PIN_NUMBERING).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LEFT,"0"],[ge.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MIXBOT_SERVO_SET_STOP_MODE).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_KEEP,"0"],[ge.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_COAST,"1"],[ge.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_BRAKE,"2"]]),"status"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Br={init:function(){this.setColour(ku),this.appendDummyInput().appendField(ge.Msg.ME_GO_MOTOR_EXTERN+ge.Msg.MIXLY_SERVO_MOTOR).appendField(ge.Msg.PIN_NUMBERING).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LEFT,"0"],[ge.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(ge.Msg.MIXLY_STOP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Gr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(ge.Msg.ME_GO_MOTOR_EXTERN+ge.Msg.MIXLY_SERVO_MOTOR).appendField(ge.Msg.MATH_SINGLE_OP_ABSOLUTE+ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+ge.Msg.MSG.run).appendField(ge.Msg.PIN_NUMBERING).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LEFT,"0"],[ge.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MODE).setAlign(ge.inputs.Align.RIGHT).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_SPEED+ge.Msg.MIXLY_MODE,"0"],[ge.Msg.MIXLY_MICROBIT_JS_BLE_POWER+ge.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(ge.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(ge.inputs.Align.RIGHT).appendField(new ge.FieldDropdown([[ge.Msg.CLOCKWISE,"0"],[ge.Msg.MIXLY_MIXBOT_SERVO_NEAREST_PATH,"1"],[ge.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.appendValueInput("angle").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MIXBOT_SERVO_ABSOLUTE_ANGLE_TOOLTIP)}},Ur={init:function(){this.setColour(ku),this.appendDummyInput().appendField(ge.Msg.ME_GO_MOTOR_EXTERN+ge.Msg.MIXLY_SERVO_MOTOR).appendField(ge.Msg.MIXLY_RELATIVE+ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+ge.Msg.MSG.run).appendField(ge.Msg.PIN_NUMBERING).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LEFT,"0"],[ge.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ORIGIN_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},wr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(ge.Msg.ME_GO_MOTOR_EXTERN+ge.Msg.MIXLY_SERVO_MOTOR).appendField(ge.Msg.MIXLY_RELATIVE+ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+ge.Msg.MSG.run).appendField("("+ge.Msg.MIXLY_MIXBOT_SERVO_LIKE_ENCODING_MOTOR+")").appendField(ge.Msg.PIN_NUMBERING).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LEFT,"0"],[ge.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MODE).setAlign(ge.inputs.Align.RIGHT).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_SPEED+ge.Msg.MIXLY_MODE,"0"],[ge.Msg.MIXLY_MICROBIT_JS_BLE_POWER+ge.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(ge.inputs.Align.RIGHT).appendField("%"),this.appendValueInput("angle").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ANGLE_TOOLTIP)}},kr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(ge.Msg.ME_GO_MOTOR_EXTERN+ge.Msg.MIXLY_SERVO_MOTOR).appendField(ge.Msg.MIXLY_RELATIVE+ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+ge.Msg.MSG.run).appendField("("+ge.Msg.MIXLY_MIXBOT_SERVO_LIKE_ORDINARY_MOTOR+")").appendField(ge.Msg.PIN_NUMBERING).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LEFT,"0"],[ge.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MODE).setAlign(ge.inputs.Align.RIGHT).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_SPEED+ge.Msg.MIXLY_MODE,"0"],[ge.Msg.MIXLY_MICROBIT_JS_BLE_POWER+ge.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(ge.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(ge.inputs.Align.RIGHT).appendField(new ge.FieldDropdown([[ge.Msg.CLOCKWISE,"0"],[ge.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Hr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(ge.Msg.MIXBOT).appendField(ge.Msg.ME_GO_MOTOR_EXTERN).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MOTOR,"ext_motor"],[ge.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[ge.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[ge.Msg.COLOUR_RGB_RED+"LED","R_LED"],[ge.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[ge.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[ge.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[ge.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MIXBOT_EXTERN_GET_ADDR),this.setOutput(!0),this.setInputsInline(!0)}},Wr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(ge.Msg.MIXBOT).appendField(ge.Msg.ME_GO_MOTOR_EXTERN).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MOTOR,"ext_motor"],[ge.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[ge.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[ge.Msg.COLOUR_RGB_RED+"LED","R_LED"],[ge.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[ge.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[ge.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[ge.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MIXBOT_EXTERN_SET_ADDR),this.appendValueInput("old").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE),this.appendValueInput("new").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_UPDATE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Kr={init:function(){this.setColour(ku),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_SETUP+ge.Msg.MIXLY_AT).appendField(ge.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},Jr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(ge.Msg.MIXLY_SETTING),this.appendValueInput("pin").appendField("LED"),this.appendValueInput("bright").appendField(ge.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},qr={init:function(){this.setColour(ku),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_SERVO+ge.Msg.MIXLY_SETUP+ge.Msg.MIXLY_AT).appendField(ge.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},zr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_SERVO),this.appendValueInput("angle").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_DISPLAY_MATRIX_ROTATE),this.appendDummyInput().appendField(ge.Msg.DRAW_POINTER_ANGLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Qr={init:function(){this.setColour(ku),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_MOTOR+ge.Msg.MIXLY_SETUP+ge.Msg.MIXLY_AT).appendField(ge.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},jr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_MOTOR),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+ge.Msg.MIXLY_SPEED),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},$r="#6C9858",Zr={init:function(){this.setColour($r),this.appendDummyInput("").appendField(new ge.FieldDropdown([["L1","1"],["L2","2"]]),"op"),this.setOutput(!0)}},el={init:function(){this.setColour($r),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_ESP32_ON,"1"],[ge.Msg.MIXLY_ESP32_OFF,"0"],[ge.Msg.MIXLY_ESP32_TOGGLE,"-1"]]),"flag"),this.setOutput(!0),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},tl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(ge.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(ge.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_LED_SETONOFF)}},il={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(ge.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(ge.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_LED_GETBRIGHT)}},nl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(ge.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(ge.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_LED_GETONOFF)}},sl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(ge.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(ge.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_SETTING+ge.Msg.MIXLY_BUILDIN_LED+ge.Msg.MIXLY_BRIGHTNESS+"(0-100%)")}},_l={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(ge.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput("").appendField(ge.Msg.MIXLY_LCD_SETCOLOR).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LIGHT_RED,"1"],[ge.Msg.MIXLY_LIGHT_GREEN,"2"],[ge.Msg.MIXLY_LIGHT_BLUE,"3"],[ge.Msg.MIXLY_LIGHT_YELLOW,"4"],[ge.Msg.MIXLY_LIGHT_CYAN,"5"],[ge.Msg.MIXLY_LIGHT_PURPLE,"6"],[ge.Msg.MIXLY_LIGHT_WHITE,"7"]]),"colorvalue"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},ol={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_SETTING).appendField(ge.Msg.MIXLY_BUILDIN_LED).appendField(new ge.FieldDropdown([[ge.Msg.COLOUR_RGB_RED,"r"],[ge.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(ge.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_LED_SETONOFF)}},pl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(ge.Msg.MIXLY_BUILDIN_LED).appendField(new ge.FieldDropdown([[ge.Msg.COLOUR_RGB_RED,"r"],[ge.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(ge.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_LED_GETONOFF)}},al={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(ge.Msg.MIXLY_BUILDIN_LED).appendField(new ge.FieldDropdown([[ge.Msg.COLOUR_RGB_RED,"r"],[ge.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(ge.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_LED_GETONOFF)}},ul={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_SETTING).appendField(ge.Msg.MIXLY_BUILDIN_LED).appendField(new ge.FieldDropdown([[ge.Msg.COLOUR_RGB_RED,"r"],[ge.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(ge.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_SETTING+ge.Msg.MIXLY_BUILDIN_LED+ge.Msg.MIXLY_BRIGHTNESS+"(0-10)")}},rl={init:function(){this.setColour($r),this.appendDummyInput("").appendField(new ge.FieldDropdown([["L1","20"],["L2","21"]]),"op"),this.setOutput(!0)}},ll={init:function(){this.setColour($r),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(Ce.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgo_cc":case"micropython:esp32s2:mixgo_ce":this.setTooltip(ge.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgo_me":default:this.setTooltip(ge.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(ge.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},dl={init:function(){this.setColour($r),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ge.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},Il={init:function(){this.setColour($r),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(ge.Msg.MIXLY_DURATION).appendField(ge.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Tl={init:function(){this.setColour($r),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(ge.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(ge.Msg.PYTHON_RANGE_STEP).appendField(ge.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Ml={init:function(){this.setColour($r),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ge.Msg.MIXLY_ESP32_MUSIC_WRI)}},hl={init:function(){this.setColour($r),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(Ce.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgocc":this.setTooltip(ge.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgome":default:this.setTooltip(ge.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(ge.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},ml={init:function(){this.setColour($r),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ge.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},El={init:function(){this.setColour($r),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(ge.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(ge.Msg.PYTHON_RANGE_STEP).appendField(ge.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Ol={init:function(){this.setColour($r),this.appendValueInput("TICKS").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(ge.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(ge.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},Rl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},cl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_MUSIC_RESET)}},gl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(ge.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Cl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(ge.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(ge.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},Sl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Al={init:function(){this.setColour($r),this.appendValueInput("LIST").appendField(ge.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Ll={init:function(){this.setColour($r),this.appendValueInput("LIST").appendField(ge.Msg.MIXLY_BACKSTAGE+ge.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Nl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MOTOR_DC).appendField(new ge.FieldDropdown([["1","1"],["2","2"],["3","3"]]),"wheel"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Direction).appendField(new ge.FieldDropdown([[ge.Msg.CLOCKWISE,"CW"],[ge.Msg.ANTI_CLOCKWISE,"CCW"],[ge.Msg.MOTOR_P,"P"],[ge.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Dl={init:function(){this.setColour($r),this.appendDummyInput().appendField("MixGo Car").appendField(new ge.FieldDropdown([[ge.Msg.blockpy_forward,"F"],[ge.Msg.blockpy_backward,"B"],[ge.Msg.blockpy_left,"L"],[ge.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},fl={init:function(){this.setColour($r),this.appendDummyInput("").appendField("MixGo Car").appendField(new ge.FieldDropdown([[ge.Msg.MOTOR_P,"P"],[ge.Msg.MOTOR_N,"N"]]),"VAR"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Fl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MOTOR_DC).appendField(new ge.FieldDropdown([[ge.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[ge.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Direction).appendField(new ge.FieldDropdown([[ge.Msg.CLOCKWISE,"CW"],[ge.Msg.ANTI_CLOCKWISE,"CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Pl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MOTOR_DC).appendField(new ge.FieldDropdown([[ge.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[ge.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(ge.Msg.MIXLY_STOP).appendField(new ge.FieldDropdown([[ge.Msg.MOTOR_P,"P"],[ge.Msg.MOTOR_N,"N"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},vl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_MIXBOT_MOTOR_STATUS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MIXBOT_MOTOR_STATUS_TOOLTIP)}},Yl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXBOT).appendField(new ge.FieldDropdown([[ge.Msg.blockpy_forward,"F"],[ge.Msg.blockpy_backward,"B"],[ge.Msg.blockpy_left,"L"],[ge.Msg.blockpy_right,"R"]]),"VAR"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[ge.Msg.MIXLY_SPEED,"SPEED"],[ge.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},Xl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXBOT).appendField(new ge.FieldDropdown([[ge.Msg.MOTOR_P,"P"],[ge.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},yl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXBOT).appendField(ge.Msg.MIXLY_MOTOR).appendField(new ge.FieldDropdown([[ge.Msg.TEXT_TRIM_LEFT,"1"],[ge.Msg.TEXT_TRIM_RIGHT,"2"],[ge.Msg.TEXT_TRIM_BOTH,"0"]]),"wheel"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[ge.Msg.MIXLY_SPEED,"SPEED"],[ge.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},bl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_MIXBOT_BUZZER),this.appendDummyInput().appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,"0"],[ge.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,"1"]]),"on_off"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},xl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.BITBOT).appendField(new ge.FieldDropdown([[ge.Msg.blockpy_forward,"F"],[ge.Msg.blockpy_backward,"B"],[ge.Msg.blockpy_left,"L"],[ge.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Vl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.BITBOT).appendField(new ge.FieldDropdown([[ge.Msg.MOTOR_P,"P"],[ge.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Bl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.BITBOT).appendField(ge.Msg.MIXLY_MOTOR).appendField(new ge.FieldDropdown([[ge.Msg.TEXT_TRIM_LEFT,"0"],[ge.Msg.TEXT_TRIM_RIGHT,"1"]]),"wheel"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Direction).appendField(new ge.FieldDropdown([[ge.Msg.CLOCKWISE,"CW"],[ge.Msg.ANTI_CLOCKWISE,"CCW"],[ge.Msg.MOTOR_P,"P"],[ge.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Gl={init:function(){this.setColour($r),this.appendValueInput("bright").appendField(ge.Msg.MIXLY_MIXBOT_SOUND_SET_LOUDNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_LED_SETONOFF)}},Ul={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_MIXBOT_SOUND_LOUDNESS+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_LED_GETONOFF)}},wl={init:function(){this.setColour($r),this.appendValueInput("bright").appendField(ge.Msg.MIXLY_SETTING+ge.Msg.MIXLY_MIXBOT_BUZZER+ge.Msg.MIXLY_MP3_VOL),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_LED_SETONOFF)}},kl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET+ge.Msg.MIXLY_MIXBOT_BUZZER+ge.Msg.MIXLY_MP3_VOL+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_LED_GETONOFF)}},Hl={init:function(){this.setColour($r),this.appendValueInput("PATH").appendField(ge.Msg.MIXLY_RECORD_AUDIO).appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendValueInput("TIME").setCheck(Number).appendField(ge.Msg.MIXLY_GET_PRESSES_TIME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Wl={init:function(){this.setColour($r),this.appendValueInput("PATH").appendField(ge.Msg.MIXLY_PLAY_AUDIO).appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Kl={init:function(){this.setColour($r),this.appendValueInput("PATH").appendField(ge.Msg.MIXLY_PLAY_ONLINE_AUDIO).appendField("URL"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Jl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(ge.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},ql={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},zl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.LISTS_SET_INDEX_SET+ge.Msg.ME_GO_MOTOR_EXTERN).appendField(ge.Msg.PIN_NUMBERING);if("micropython:esp32c2:mixgo_mini"===Ce.Boards.getSelectedBoardKey())this.appendDummyInput().appendField(new ge.FieldDropdown([["1","1"],["2","2"]]),"index");else this.appendDummyInput().appendField(new ge.FieldDropdown([["1","1"],["2","2"],["3","3"],["4","4"]]),"index");this.appendValueInput("duty").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.blynk_IOT_IR_POWER+ge.Msg.MIXLY_PINMODEOUT),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},Ql={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET+ge.Msg.ME_GO_MOTOR_EXTERN).appendField(ge.Msg.PIN_NUMBERING);if("micropython:esp32c2:mixgo_mini"===Ce.Boards.getSelectedBoardKey())this.appendDummyInput().appendField(new ge.FieldDropdown([["1","1"],["2","2"]]),"index");else this.appendDummyInput().appendField(new ge.FieldDropdown([["1","1"],["2","2"],["3","3"],["4","4"]]),"index");this.appendDummyInput().setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.blynk_IOT_IR_POWER+ge.Msg.MIXLY_PINMODEOUT+ge.Msg.MIXLY_DUTY_RATIO),this.setOutput(!0,Number),this.setInputsInline(!0)}},jl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.LISTS_SET_INDEX_SET+ge.Msg.ME_GO_MOTOR_EXTERN).appendField(ge.Msg.MIXLY_ALL+ge.Msg.PIN_NUMBERING),this.appendValueInput("duty").setCheck(Number).setAlign(ge.ALIGN_RIGHT).appendField(ge.Msg.blynk_IOT_IR_POWER+ge.Msg.MIXLY_PINMODEOUT+ge.Msg.MIXLY_FREQUENCY),this.appendDummyInput().appendField("Hz"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},$l={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.ANALOG+ge.Msg.MIXLY_KEYBOARD_INPUT),this.appendValueInput("special"),this.appendValueInput("general"),this.appendDummyInput().appendField(ge.Msg.MIXLY_RELEASE).appendField(new ge.FieldDropdown([[ge.Msg.MICROPYTHON_DISPLAY_YES,"True"],[ge.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"release"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.ANALOG+ge.Msg.MIXLY_KEYBOARD_INPUT)}},Zl={init:function(){this.setColour($r),this.appendDummyInput("").appendField(ge.Msg.MIXLY_SPECIAL_KEY).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_SPECIAL_KEY0,"0x00"],[ge.Msg.MIXLY_SPECIAL_KEY1,"0x01"],[ge.Msg.MIXLY_SPECIAL_KEY2,"0x02"],[ge.Msg.MIXLY_SPECIAL_KEY4,"0x04"],[ge.Msg.MIXLY_SPECIAL_KEY8,"0x08"],[ge.Msg.MIXLY_SPECIAL_KEY16,"0x10"],[ge.Msg.MIXLY_SPECIAL_KEY32,"0x20"],[ge.Msg.MIXLY_SPECIAL_KEY64,"0x40"],[ge.Msg.MIXLY_SPECIAL_KEY128,"0x80"]]),"op"),this.setOutput(!0)}},ed={init:function(){this.setColour($r),this.appendDummyInput("").appendField(ge.Msg.MIXLY_GENERAL_KEY).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_SPECIAL_KEY0,"0x00"],["A","0x04"],["B","0x05"],["C","0x06"],["D","0x07"],["E","0x08"],["F","0x09"],["G","0x0A"],["H","0x0B"],["I","0x0C"],["J","0x0D"],["K","0x0E"],["L","0x0F"],["M","0x10"],["N","0x11"],["O","0x12"],["P","0x13"],["Q","0x14"],["R","0x15"],["S","0x16"],["T","0x17"],["U","0x18"],["V","0x19"],["W","0x1A"],["X","0x1B"],["Y","0x1C"],["Z","0x1D"],["1 !","0x1E"],["2 @","0x1F"],["3 #","0x20"],["4 $","0x21"],["5 %","0x22"],["6 ^","0x23"],["7 &","0x24"],["8 *","0x25"],["9 (","0x26"],["0 )","0x27"],["ENTER","0x28"],["ESC","0x29"],["BACKSPACE","0x2A"],["TAB","0x2B"],["SPACE","0x2C"],["- _","0x2D"],["= +","0x2E"],["[ {","0x2F"],["] }","0x30"],["\\ |","0x31"],["; :","0x33"],["' \"","0x34"],["` ~","0x35"],[", <","0x36"],[". >","0x37"],["/ ?","0x38"],["CAPS_LOCK","0x39"],["F1","0x3A"],["F2","0x3B"],["F3","0x3C"],["F4","0x3D"],["F5","0x3E"],["F6","0x3F"],["F7","0x40"],["F8","0x41"],["F9","0x42"],["F10","0x43"],["F11","0x44"],["F12","0x45"],["PRINTSCREEN","0x46"],["SCROLL_LOCK","0x47"],["PAUSE","0x48"],["INSERT","0x49"],["HOME","0x4A"],["PAGE_UP","0x4B"],["DELETE","0x4C"],["END","0x4D"],["PAGE_DOWN","0x4E"],["RIGHT","0x4F"],["LEFT","0x50"],["DOWN","0x51"],["UP","0x52"],["NUM_LOCK","0x53"],["/","0x54"],["*","0x55"],["-","0x56"],["+","0x57"],["ENTER","0x58"],["1","0x59"],["2","0x5A"],["3","0x5B"],["4","0x5C"],["5","0x5D"],["6","0x5E"],["7","0x5F"],["8","0x60"],["9","0x61"],["0","0x62"],[".","0x63"]]),"op"),this.setOutput(!0)}},td={init:function(){this.setColour($r),this.itemCount_=2,this.updateShape_(),this.setOutput(!0),this.setMutator(new ge.icons.MutatorIcon(["generalkey_create_with_item"],this)),this.setTooltip(ge.Msg.GENERALKEY_TUPLE_CREATE_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("generalkey_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;nnew Array(32).fill(0)))},Em={init:function(){this.jsonInit({colour:pm,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SAD","SAD"],["SMILE","SMILE"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["SURPRISED","SURPRISED"],["ASLEEP","ASLEEP"],["ANGRY","ANGRY"],["CONFUSED","CONFUSED"],["NO","NO"],["YES","YES"]],type:"field_dropdown"}],output:["esp32_image","List"],helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#attributes",tooltip:ge.Msg.MIXLY_MICROBIT_Built_in_image1,message0:ge.Msg.MIXLY_MICROBIT_Built_in_image})}},Om={init:function(){this.setColour(pm),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new ge.FieldDropdown(Ce.Profile.default.builtinimg),"image"),this.setOutput(!0,["esp32_image","List"])}},Rm={init:function(){this.setColour(pm),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(ge.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new ge.FieldDropdown(Rm.OPERATORS),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{"+":ge.Msg.MIXLY_MICROBIT_image_add,"-":ge.Msg.MIXLY_MICROBIT_image_reduce}[t]}))},OPERATORS:[[ge.Msg.MICROBIT_DISPLAY_UNION,"add"],[ge.Msg.MICROBIT_DISPLAY_MINUS,"sub"]]},cm={init:function(){this.setColour(pm),this.appendValueInput("A").setCheck("esp32_image").appendField(ge.Msg.MIXLY_MICROBIT_Invert_image1),this.setInputsInline(!0),this.setOutput(!0,"esp32_image")}},gm={init:function(){this.setColour(pm),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(ge.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(ge.Msg.DISPLAY_IMAGE_LET2).appendField(new ge.FieldDropdown(gm.OPERATORS),"OP"),this.appendValueInput("val").appendField(ge.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(ge.Msg.DISPLAY_IMAGE_UNIT);Ce.Boards.getSelectedBoardKey();"Python ESP32-S3"===Ce.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(ge.Msg.MIXLY_synchronize);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i=ge.Msg.DISPLAY_IMAGE_LET,n=ge.Msg.DISPLAY_IMAGE_LET2,s=ge.Msg.DISPLAY_IMAGE_LET3;return i+n+{shift_up:ge.Msg.MIXLY_UP,shift_down:ge.Msg.MIXLY_DOWN,shift_left:ge.Msg.MIXLY_LEFT,shift_right:ge.Msg.MIXLY_RIGHT}[t]+s}))},OPERATORS:[[ge.Msg.MIXLY_UP,"shift_up"],[ge.Msg.MIXLY_DOWN,"shift_down"],[ge.Msg.MIXLY_LEFT,"shift_left"],[ge.Msg.MIXLY_RIGHT,"shift_right"]]},Cm={init:function(){this.setColour(pm),this.appendValueInput("x").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_JS_MONITOR_GET_POINT),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(ge.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},Sm={init:function(){this.setColour(pm),this.appendValueInput("x").setCheck(Number).appendField(ge.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},Am={init:function(){this.setColour(pm),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(ge.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},Lm={init:function(){this.setColour(pm),this.appendValueInput("x").setCheck(Number).appendField(ge.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},Nm={init:function(){this.setColour(pm),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Clear_display);Ce.Boards.getSelectedBoardKey();"Python ESP32-S3"===Ce.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(ge.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MICROBIT_Clear_display)}},Dm={init:function(){this.setColour(pm),this.appendDummyInput().appendField(ge.Msg.MIXLY_SHOW+ge.Msg.MIXLY_DISPLAY_MATRIX_WRITE_NOW),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},fm={init:function(){this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let e=0;e<5;e++){let t=this.appendDummyInput();for(let i=0;i<8;i++)t.appendField(new ge.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),e+"-"+i)}this.appendDummyInput().appendField(`(${ge.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(pm),this.setTooltip(ge.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(ge.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Fm={init:function(){this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(ge.inputs.Align.CENTRE).appendField(new ge.FieldBitmap(Fm.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(pm),this.setTooltip(ge.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(8).fill(0)))},Pm={init:function(){this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let e=0;e<8;e++){let t=this.appendDummyInput();for(let i=0;i<12;i++)t.appendField(new ge.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),e+"-"+i)}this.appendDummyInput().appendField(`(${ge.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(pm),this.setTooltip(ge.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(ge.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},vm={init:function(){this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(ge.inputs.Align.CENTRE).appendField(new ge.FieldBitmap(vm.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(pm),this.setTooltip(ge.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(12).fill(0)))},Ym={init:function(){this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let e=0;e<8;e++){let t=this.appendDummyInput();for(let i=0;i<16;i++)t.appendField(new ge.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),e+"-"+i)}this.appendDummyInput().appendField(`(${ge.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0,"esp32_image"),this.setColour(pm),this.setTooltip(ge.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(ge.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Xm={init:function(){this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(ge.inputs.Align.CENTRE).appendField(new ge.FieldBitmap(Xm.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(pm),this.setTooltip(ge.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(16).fill(0)))},ym={init:function(){this.setColour(pm),this.appendDummyInput().appendField(ge.Msg.OLED_SET_FONT).appendField(new ge.FieldDropdown(ym.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[["4x5"+ge.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'4x5'"],["5x5"+ge.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'5x5'"],["5x8"+ge.Msg.MIXGO_ME_DISPLAY_VERTICAL,"'5x8'"]]},bm={init:function(){this.setColour(pm),this.appendValueInput("data").appendField(ge.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.OLED_BITMAP_OR_STRING)}},xm={init:function(){this.setColour(pm),this.appendValueInput("data").appendField(ge.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_NUMBER),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.OLED_BITMAP_OR_STRING)}},Vm={init:function(){this.setColour(pm),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(ge.Msg.OLED_DRAWSTR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.OLED_BITMAP_OR_STRING)}},Bm={init:function(){this.setColour(pm),this.appendValueInput("data").appendField(ge.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ge.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(ge.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(ge.Msg.TEXT_CENTER).appendField(new ge.FieldDropdown([[ge.Msg.MICROPYTHON_DISPLAY_YES,"True"],[ge.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},Gm={init:function(){this.setColour(pm),this.appendValueInput("data").appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ge.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(ge.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},Um={init:function(){this.setColour(pm),this.appendValueInput("data").appendField(ge.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(ge.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},wm={init:function(){this.setColour(pm),this.appendValueInput("x").setCheck(Number).appendField(ge.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},km={init:function(){this.jsonInit({colour:pm,args0:[{name:"state",options:[[ge.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[ge.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"shape",options:[[ge.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[ge.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"}],inputsInline:!0,helpUrl:ge.Msg.mpython_HELPURL,tooltip:ge.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:ge.Msg.MPYTHON_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},Hm={init:function(){this.jsonInit({colour:pm,args0:[{name:"state",options:[[ge.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[ge.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"dir_h_v",options:[[ge.Msg.mpython_vertical,"0"],[ge.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"}],inputsInline:!0,helpUrl:ge.Msg.mpython_HELPURL,tooltip:ge.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:ge.Msg.MPYTHON_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},Wm={init:function(){this.jsonInit({colour:pm,args0:[{name:"state",options:[[ge.Msg.mpython_display_hline_1,"1"],[ge.Msg.mpython_display_hline_0,"0"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"}],inputsInline:!0,helpUrl:ge.Msg.mpython_HELPURL,tooltip:ge.Msg.mpython_display_line_TOOLTIP,message0:ge.Msg.mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},Km={init:function(){this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new ge.FieldDropdown(Km.IMAGES),"path"),this.setColour(pm),this.setOutput(!0)},IMAGES:[["Heart","expression_picture.Heart"],["Angry","expression_picture.Angry"],["Bored","expression_picture.Bored"],["Confused","expression_picture.Confused"],["Happy","expression_picture.Happy"],["Paper","expression_picture.Paper"],["Rock","expression_picture.Rock"],["Sad","expression_picture.Sad"],["Scissors","expression_picture.Scissors"],["Silly","expression_picture.Silly"],["Sleep","expression_picture.Sleep"],["Small_heart","expression_picture.Small_heart"],["Small_paper","expression_picture.Small_paper"],["Small_rock","expression_picture.Small_rock"],["Small_scissors","expression_picture.Small_scissors"],["Smile","expression_picture.Smile"],["Surprise","expression_picture.Surprise"],["Wonderful","expression_picture.Wonderful"],["Eyes_Angry","eye_picture.Eyes_Angry"],["Awake","eye_picture.Awake"],["Black_eye","eye_picture.Black_eye"],["Bottom_left","eye_picture.Bottom_left"],["Bottom_right","eye_picture.Bottom_right"],["Crazy_1","eye_picture.Crazy_1"],["Crazy_2","eye_picture.Crazy_2"],["Disappointed","eye_picture.Disappointed"],["Dizzy","eye_picture.Dizzy"],["Down","eye_picture.Down"],["Evil","eye_picture.Evil"],["Hurt","eye_picture.Hurt"],["Knocked_out","eye_picture.Knocked_out"],["Love","eye_picture.Love"],["Middle_left","eye_picture.Middle_left"],["Middle_right","eye_picture.Middle_right"],["Neutral","eye_picture.Neutral"],["Nuclear","eye_picture.Nuclear"],["Pinch_left","eye_picture.Pinch_left"],["Pinch_middle","eye_picture.Pinch_middle"],["Pinch_right","eye_picture.Pinch_right"],["Tear","eye_picture.Tear"],["Tired_left","eye_picture.Tired_left"],["Tired_middle","eye_picture.Tired_middle"],["Tired_right","eye_picture.Tired_right"],["Toxic","eye_picture.Toxic"],["Up","eye_picture.Up"],["Winking","eye_picture.Winking"],["Accept","informatio_picture.Accept"],["Backward","informatio_picture.Backward"],["Decline","informatio_picture.Decline"],["Forward","informatio_picture.Forward"],["Left","informatio_picture.Left"],["No_go","informatio_picture.No_go"],["Question_mark","informatio_picture.Question_mark"],["Right","informatio_picture.Right"],["Stop_1","informatio_picture.Stop_1"],["Stop_2","informatio_picture.Stop_2"],["Thumbs_down","informatio_picture.Thumbs_down"],["Thumbs_up","informatio_picture.Thumbs_up"],["Warning","informatio_picture.Warning"],["Bomb","object_picture.Bomb"],["Boom","object_picture.Boom"],["Fire","object_picture.Fire"],["Flowers","object_picture.Flowers"],["Forest","object_picture.Forest"],["Lightning","object_picture.Lightning"],["Light_off","object_picture.Light_off"],["Light_on","object_picture.Light_on"],["Night","object_picture.Night"],["Pirate","object_picture.Pirate"],["Snow","object_picture.Snow"],["Target","object_picture.Target"],["Bar_0","progres_picture.Bar_0"],["Bar_1","progres_picture.Bar_1"],["Bar_2","progres_picture.Bar_2"],["Bar_3","progres_picture.Bar_3"],["Bar_4","progres_picture.Bar_4"],["Dial_0","progres_picture.Dial_0"],["Dial_1","progres_picture.Dial_1"],["Dial_2","progres_picture.Dial_2"],["Dial_3","progres_picture.Dial_3"],["Dial_4","progres_picture.Dial_4"],["Dots_0","progres_picture.Dots_0"],["Dots_1","progres_picture.Dots_1"],["Dots_2","progres_picture.Dots_2"],["Dots_3","progres_picture.Dots_3"],["Hourglass_0","progres_picture.Hourglass_0"],["Hourglass_1","progres_picture.Hourglass_1"],["Hourglass_2","progres_picture.Hourglass_2"],["Timer_0","progres_picture.Timer_0"],["Timer_1","progres_picture.Timer_1"],["Timer_2","progres_picture.Timer_2"],["Timer_3","progres_picture.Timer_3"],["Timer_4","progres_picture.Timer_4"],["Water_level_0","progres_picture.Water_level_0"],["Water_level_1","progres_picture.Water_level_1"],["Water_level_2","progres_picture.Water_level_2"],["Water_level_3","progres_picture.Water_level_3"],["YES","informatio_picture.YES"],["NO","informatio_picture.NO"]]},Jm={init:function(){this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let e=0;e<5;e++){let t=this.appendDummyInput();for(let i=0;i<5;i++)t.appendField(new ge.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),e+"-"+i)}this.appendDummyInput().appendField(`(${ge.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(pm),this.setTooltip(ge.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(ge.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},qm={init:function(){this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(ge.inputs.Align.CENTRE).appendField(new ge.FieldBitmap(qm.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(pm),this.setTooltip(ge.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(5).fill(0)))},zm={init:function(){this.setColour(pm),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(ge.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},Qm={init:function(){this.setColour(pm),this.appendDummyInput().appendField(ge.Msg.MIXLY_MIXBOT_AMBIENTBRIGHT),this.setInputsInline(!0),this.setOutput(!0,Number)}},jm={init:function(){this.setColour(pm),this.appendValueInput("x").setCheck(Number).appendField(ge.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},$m={init:function(){this.setColour(pm),this.appendDummyInput().appendField(ge.Msg.MIXLY_MIXBOT_SCREEN_ROTATE).appendField(new ge.FieldDropdown($m.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[[ge.Msg.mixpy_PL_PIE_SHADOW_N,"0"],[ge.Msg.CLOCKWISE+"90"+ge.Msg.blockpy_setheading_degree,"1"],[ge.Msg.CLOCKWISE+"180"+ge.Msg.blockpy_setheading_degree,"2"],[ge.Msg.CLOCKWISE+"270"+ge.Msg.blockpy_setheading_degree,"3"]]},Zm={init:function(){this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let e=0;e<12;e++){let t=this.appendDummyInput();for(let i=0;i<12;i++)t.appendField(new ge.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),e+"-"+i)}this.appendDummyInput().appendField(`(${ge.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(pm),this.setTooltip(ge.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(ge.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},eE={init:function(){this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(ge.inputs.Align.CENTRE).appendField(new ge.FieldBitmap(eE.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(pm),this.setTooltip(ge.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:12},(()=>new Array(12).fill(0)))},tE={init:function(){this.setColour(pm),this.appendValueInput("data").appendField(ge.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(ge.Msg.HTML_COLOUR);Ce.Boards.getSelectedBoardKey();"Python ESP32-S3"===Ce.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(ge.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},iE={init:function(){this.setColour(pm),this.appendValueInput("x").setCheck(Number).appendField(ge.Msg.OLED_BITMAP).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("direct").setCheck(String).appendField(ge.Msg.MIXLY_AipImageClassify_Image+ge.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},nE={init:function(){this.setColour(pm),this.appendValueInput("data").appendField(ge.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ge.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(ge.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(ge.Msg.TEXT_CENTER).appendField(new ge.FieldDropdown([[ge.Msg.MICROPYTHON_DISPLAY_YES,"True"],[ge.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.appendValueInput("VAR").appendField(ge.Msg.HTML_COLOUR);Ce.Boards.getSelectedBoardKey();"Python ESP32-S3"===Ce.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(ge.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},sE={init:function(){this.setColour(pm),this.appendValueInput("data").appendField(ge.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(ge.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("VAR").appendField(ge.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},_E={init:function(){this.jsonInit({colour:pm,args0:[{name:"shape",options:[[ge.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[ge.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:ge.Msg.mpython_HELPURL,tooltip:ge.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:ge.Msg.ONBOARD_TFT_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},oE={init:function(){this.jsonInit({colour:pm,args0:[{name:"dir_h_v",options:[[ge.Msg.mpython_vertical,"0"],[ge.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:ge.Msg.mpython_HELPURL,tooltip:ge.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:ge.Msg.ONBOARD_TFT_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},pE={init:function(){this.jsonInit({colour:pm,args0:[{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:ge.Msg.mpython_HELPURL,tooltip:ge.Msg.mpython_display_line_TOOLTIP,message0:ge.Msg.onboard_mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},aE={init:function(){this.setColour(pm),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("x").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(ge.Msg.HTML_COLOUR),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(ge.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},uE={init:function(){this.setColour(pm),this.appendValueInput("x").setCheck(Number).appendField(ge.Msg.MIXLY_LCD_SETCOLOR).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("VAR").appendField(ge.Msg.HTML_COLOUR);Ce.Boards.getSelectedBoardKey();"Python ESP32-S3"===Ce.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(ge.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},rE={init:function(){this.setColour(pm),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_SCREEN_FILL);Ce.Boards.getSelectedBoardKey();"Python ESP32-S3"===Ce.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(ge.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},lE={init:function(){this.setColour(pm),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_INIT_CLOCK),this.appendDummyInput().appendField(ge.Msg.MIXLY_CENTER_POS),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ge.Msg.OLED_CIRCLE_RADIUS),this.appendValueInput("VAR").appendField(ge.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},dE={init:function(){this.setColour(pm),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ge.Msg.GET_RTCTIME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},IE={init:function(){this.setColour(pm),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ge.Msg.SET_TIME),this.appendValueInput("h").setCheck(Number).appendField(ge.Msg.MIXLY_HOUR),this.appendValueInput("m").setCheck(Number).appendField(ge.Msg.MIXLY_MINUTE),this.appendValueInput("s").setCheck(Number).appendField(ge.Msg.MIXLY_SECOND),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},TE={init:function(){this.setColour(pm),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ge.Msg.DRAW_CLOCK),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},ME={init:function(){this.setColour(pm),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ge.Msg.CLEAR_CLOCK),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_STM32_TFT_BACKGROUND_COLOR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},hE={init:function(){this.jsonInit({colour:pm,args0:[{name:"shape",options:[[ge.Msg.MPYTHON_DISPLAY_HOLLOW,"False"],[ge.Msg.MPYTHON_DISPLAY_SOLID,"True"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"r",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:ge.Msg.mpython_HELPURL,message0:ge.Msg.ONBOARD_TFT_DISPLAY_SHAPE_CIRCLE_MESSAGE0,nextStatement:null,previousStatement:null})}},mE={init:function(){this.setColour(pm),this.appendDummyInput().appendField(ge.Msg.DRAW_POINTER).appendField(ge.Msg.DRAW_POINTER_ANGLE),this.appendValueInput("angle"),this.appendDummyInput().appendField(ge.Msg.MIXLY_DRAW_POINTER_DU),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.DRAW_POINTER_TOOLTIP)}},EE={init:function(){this.setColour(pm),this.appendDummyInput().appendField(ge.Msg.DRAW_POINTER).appendField(ge.Msg.DRAW_POINTER_ANGLE),this.appendValueInput("angle"),this.appendDummyInput().appendField(ge.Msg.MIXLY_DRAW_POINTER_DU),this.appendValueInput("VAR").appendField(ge.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.DRAW_POINTER_TOOLTIP)}},OE={init:function(){this.setColour(pm),this.appendValueInput("data").appendField(ge.Msg.MIXLY_Display_long_text),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(ge.Msg.HTML_COLOUR);Ce.Boards.getSelectedBoardKey();"Python ESP32-S3"===Ce.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(ge.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},RE={init:function(){this.setColour(pm),this.appendValueInput("direct").appendField(ge.Msg.OLED_BITMAP).appendField(ge.Msg.MIXLY_QR_CODE),"Python ESP32-S3"===Ce.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(ge.Msg.MIXLY_synchronize),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},cE={init:function(){this.setColour(pm),this.appendValueInput("data").appendField(ge.Msg.OLED_BITMAP).appendField(ge.Msg.MIXLY_QR_CODE),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendDummyInput("").appendField(ge.Msg.MIXLY_ERROR_RATE).appendField(new ge.FieldDropdown([["0","7%"],["1","15%"],["2","25%"],["3","30"]]),"correct"),this.appendValueInput("VAR").appendField(ge.Msg.HTML_COLOUR),"Python ESP32-S3"===Ce.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(ge.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},gE={init:function(){this.setColour(pm),this.appendValueInput("data").appendField(ge.Msg.OLED_BITMAP),this.appendDummyInput().appendField(`(${ge.Msg.MIXLY_DEPRECATED})`),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.OLED_BITMAP_OR_STRING),this.setWarningText(ge.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},CE={init:function(){rm.init.call(this),this.appendDummyInput().appendField(`(${ge.Msg.MIXLY_DEPRECATED})`),this.setWarningText(ge.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},SE={init:function(){Tm.init.call(this),this.appendDummyInput().appendField(`(${ge.Msg.MIXLY_DEPRECATED})`),this.setWarningText(ge.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},AE={init:function(){gm.init.call(this),this.appendDummyInput().appendField(`(${ge.Msg.MIXLY_DEPRECATED})`),this.setWarningText(ge.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},LE={init:function(){Am.init.call(this),this.appendDummyInput().appendField(`(${ge.Msg.MIXLY_DEPRECATED})`),this.setWarningText(ge.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},NE={init:function(){Lm.init.call(this),this.appendDummyInput().appendField(`(${ge.Msg.MIXLY_DEPRECATED})`),this.setWarningText(ge.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},DE={init:function(){Nm.init.call(this),this.appendDummyInput().appendField(`(${ge.Msg.MIXLY_DEPRECATED})`),this.setWarningText(ge.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},fE=180,FE={init:function(){this.setColour(fE),this.setOutput(!0),this.setInputsInline(!0),this.appendValueInput("img").appendField(ge.Msg.DISPLAY_IMAGE_LET).setCheck(["esp32_image","List",String]),this.appendDummyInput("").appendField(ge.Msg.DISPLAY_IMAGE_LET2).appendField(new ge.FieldDropdown(FE.OPERATORS),"OP"),this.appendValueInput("val").appendField(ge.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(ge.Msg.DISPLAY_IMAGE_UNIT);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i=ge.Msg.DISPLAY_IMAGE_LET,n=ge.Msg.DISPLAY_IMAGE_LET2,s=ge.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:ge.Msg.MIXLY_UP,down:ge.Msg.MIXLY_DOWN,left:ge.Msg.MIXLY_LEFT,right:ge.Msg.MIXLY_RIGHT}[t]+s}))},OPERATORS:[[ge.Msg.MIXLY_UP,"up"],[ge.Msg.MIXLY_DOWN,"down"],[ge.Msg.MIXLY_LEFT,"left"],[ge.Msg.MIXLY_RIGHT,"right"]]},PE={init:function(){this.setColour(fE),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(ge.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new ge.FieldDropdown(PE.OPERATORS),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{"+":ge.Msg.MIXLY_MICROBIT_image_add,"-":ge.Msg.MIXLY_MICROBIT_image_reduce}[t]}))},OPERATORS:[[ge.Msg.MICROBIT_DISPLAY_UNION,"+"],[ge.Msg.MICROBIT_DISPLAY_MINUS,"-"]]},vE={init:function(){this.setColour(fE),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+ge.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("esp32_image"),this.appendDummyInput("").appendField(new ge.FieldDropdown(vE.OPERATORS),"OP"),this.setInputsInline(!0),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+ge.Msg.MIXLY_MICROBIT_IMAGE+{height:ge.Msg.MIXLY_HEIGHT,width:ge.Msg.MIXLY_WIDTH}[t]}))},OPERATORS:[[ge.Msg.MIXLY_HEIGHT,"height"],[ge.Msg.MIXLY_WIDTH,"width"]]},YE={init:function(){this.setColour(fE),this.appendValueInput("VAR").appendField(ge.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RECT).appendField(new ge.FieldDropdown(YE.STATUS),"OP"),this.jsonInit({message0:ge.Msg.MIXLY_MICROBIT_SHOW_RECT,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"width"},{check:Number,type:"input_value",name:"height"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ge.Msg.MIXLY_OLED_RECT)},STATUS:[[ge.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[ge.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},XE={init:function(){this.setColour(fE),this.appendValueInput("VAR").appendField(ge.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE).appendField(new ge.FieldDropdown(XE.STATUS),"OP"),this.jsonInit({message0:ge.Msg.MIXLY_HANBIT_SHOW_CIRCLE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"r"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ge.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE)},STATUS:[[ge.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[ge.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},yE={init:function(){this.setColour(fE),this.appendValueInput("VAR").appendField(ge.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_DISPLAY_DRAW+ge.Msg.MIXLY_HANBIT_DRAW_TRIANGLE).appendField(new ge.FieldDropdown(yE.STATUS),"OP"),this.jsonInit({message0:ge.Msg.MIXLY_HANBIT_SHOW_triangle,args0:[{check:Number,type:"input_value",name:"x0"},{check:Number,type:"input_value",name:"y0"},{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ge.Msg.MIXLY_DISPLAY_DRAW+ge.Msg.MIXLY_HANBIT_DRAW_TRIANGLE)},STATUS:[[ge.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[ge.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},bE="#777777",xE={init:function(){this.setColour(bE),this.appendDummyInput("").appendField("from ").appendField(new ge.FieldTextInput("ESP32"),"path").appendField(" import ").appendField(new ge.FieldTextInput("*"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},VE={init:function(){this.setColour(bE),this.appendDummyInput("").appendField("import ").appendField(new ge.FieldTextInput("module"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},BE={init:function(){this.setColour(bE),this.appendDummyInput("").appendField(new ge.FieldTextInput("my_function"),"NAME"),this.itemCount_=1,this.arguments_=["x"],this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new ge.icons.MutatorIcon(["factory_create_with_item"],this))},mutationToDom:function(){var e=document.createElement("mutation");e.setAttribute("items",this.itemCount_);for(var t=0;tt?e[t]:'"key'+(t+1)+'"'),"KEY"+t).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){ge.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},LO={init:function(){this.setColour(OO),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(ge.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},NO={init:function(){this.setColour(OO),this.appendDummyInput().appendField(ge.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},DO={init:function(){this.setColour(OO),this.appendDummyInput().appendField(ge.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},fO={init:function(){this.setColour(OO),this.appendDummyInput().appendField(ge.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").setCheck(String).appendField(ge.Msg.MIXLY_EMQX_SERVER).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(ge.Msg.MIXLY_WIFI_USERNAME).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(ge.Msg.MIXLY_IOT_PASSWORD).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("PROJECT").setCheck(String).appendField(ge.Msg.MIXLY_EMQX_PROJECT).setAlign(ge.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},FO={init:function(){this.setColour(OO),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(ge.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(ge.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(ge.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},PO={init:function(){this.setColour(OO),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(ge.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(ge.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(ge.Msg.HTML_BODY),this.appendDummyInput().appendField(ge.Msg.MIXLY_Service_quality_display).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_AT_MOST_ONCE,"0"],[ge.Msg.MIXLY_AT_LEAST_ONCE,"1"]]),"quality"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},vO={init:function(){this.setColour(OO),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(ge.Msg.MIXLY_EMQX_SUBSCRIBE+ge.Msg.MIXLY_MICROBIT_MSG).appendField(ge.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(ge.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_IOT_EMQX_SUBSCRIBE_TOOLTIP)}},YO={init:function(){this.setColour(OO),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},XO={init:function(){this.setColour(OO),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(ge.Msg.MIXLY_EMQX_CONNECT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},yO={init:function(){this.setColour(OO),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_CHECK_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},bO={init:function(){this.setColour(OO),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(ge.Msg.MQTT_Topic),this.setInputsInline(!0),this.setOutput(!0)}},xO={init:function(){this.setColour(OO),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(ge.Msg.MIXLY_EMQX_PUBLISH_MSG),this.setInputsInline(!0),this.setOutput(!0)}},VO={init:function(){this.setColour(OO),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_ESP32_IOT_MAP_FORMATING),this.setOutput(!0)}},BO={init:function(){this.setColour(OO),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_MICROPYTHON_FORMAT+"(Json)"),this.setOutput(!0)}},GO={init:function(){this.setColour(OO),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(ge.Msg.MIXLY_EMQX_PING),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_IOT_EMQX_PING_TOOLTIP)}},UO={init:function(){this.setColour(OO),this.appendDummyInput().appendField("MixIO").appendField(ge.Msg.MIXLY_GET_NTP),this.appendValueInput("addr").appendField(ge.Msg.blynk_SERVER_ADD),this.setInputsInline(!0),this.setOutput(!0)}},wO={init:function(){this.setColour(OO),this.appendDummyInput().appendField(ge.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(ge.Msg.MIXLY_EMQX_SERVER).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(ge.Msg.CONTROLS_FOR_INPUT_WITH+ge.Msg.MIXLY_MIXIO_SHARE_KEY).setAlign(ge.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},kO={init:function(){this.setColour(OO),this.appendDummyInput().appendField(ge.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(ge.Msg.MIXLY_EMQX_SERVER).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(ge.Msg.CONTROLS_FOR_INPUT_WITH+"Mixly Key").setAlign(ge.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},HO={init:function(){this.VISITOR_ID=Ce.Config.BOARD.visitorId.str32.substring(0,8).toUpperCase(),this.setColour(OO),this.appendDummyInput("").appendField(new ge.FieldTextInput(this.visitorId),"VISITOR_ID"),this.setOutput(!0,null)},onchange:function(){const e=this.getFieldValue("VISITOR_ID");this.VISITOR_ID!==e&&this.setFieldValue(this.VISITOR_ID,"VISITOR_ID")}},WO={init:function(){this.setColour(OO),this.appendDummyInput().appendField("MixIO").appendField(ge.Msg.MSG.catEthernet_clinet),this.setOutput(!0),this.setInputsInline(!0)}},KO={init:function(){this.setColour(OO),this.appendDummyInput().appendField("HTTP"+ge.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(ge.Msg.DISPLAY_IMAGE_LET2),this.appendDummyInput().appendField(ge.Msg.MIXLY_REQUESTS_GET).appendField(ge.Msg.MIXLY_GET_CURRENT_TIME).appendField(ge.Msg.MIXLY_OPEN_DEBUG).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[ge.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},JO={init:function(){this.setColour(OO),this.appendDummyInput().appendField("HTTP"+ge.Msg.MIXLY_Client).appendField(ge.Msg.MIXLY_GET).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_REQUESTS_LEN,"client_len"],[ge.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[ge.Msg.MIXLY_REQUESTS_MESSAGE,"text"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},qO={init:function(){this.setColour(OO),this.appendDummyInput().appendField("MQTT"+ge.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(ge.Msg.MIXLY_CONNECTTO),this.appendDummyInput().appendField(ge.Msg.MIXLY_INIT_SUBSCRIBE).appendField(ge.Msg.MQTT_Topic).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_GET_CURRENT_TIME,""]]),"key").appendField(ge.Msg.MIXLY_OPEN_DEBUG).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[ge.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},zO={init:function(){this.setColour(OO),this.appendDummyInput().appendField("MQTT"+ge.Msg.MIXLY_Client).appendField(ge.Msg.MIXLY_GET).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_REQUESTS_LEN,"client_len"],[ge.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[ge.Msg.MIXLY_REQUESTS_MESSAGE,"time_msg()"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},QO=RO,jO=cO,$O=gO,ZO=CO,eR=AO,tR={init:function(){this.setColour(OO),this.appendDummyInput().appendField(ge.Msg.MIXLY_CONNECT_OLLAMA),this.appendValueInput("SERVER").appendField(ge.Msg.MIXLY_EMQX_SERVER).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(ge.Msg.MODEL_NAME).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(ge.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},iR=tR,nR={init:function(){this.setColour(OO),this.appendDummyInput().appendField(ge.Msg.MIXLY_CONNECT_OPENAI),this.appendValueInput("SERVER").appendField(ge.Msg.MIXLY_EMQX_SERVER).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(ge.Msg.MIXLY_API_PRIVATE_KEY).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(ge.Msg.MODEL_NAME).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(ge.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},sR={init:function(){this.setColour(OO),this.appendDummyInput().appendField(ge.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(ge.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendValueInput("METHOD").appendField(ge.Msg.MIXLY_LLM_CONTENT_CALLBACK),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},_R={init:function(){this.setColour(OO),this.appendDummyInput().appendField(ge.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(ge.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendDummyInput().appendField(ge.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0)}},oR={init:function(){this.setColour(OO),this.appendDummyInput().appendField("Ollama "+ge.Msg.MIXLY_EMPTY_HISTORY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},pR={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${ge.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("ADDR").setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_EMQX_SERVER),this.appendValueInput("USERNAME").setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_EMQX_USERNAME),this.appendValueInput("PASSWORD").setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_IOT_PASSWORD),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},aR={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${ge.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("MQTT").setAlign(ge.inputs.Align.RIGHT).appendField(`MixIO ${ge.Msg.MIXLY_Client}`),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},uR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_TINY_WEB_DB_UPDATE_VARIABLE),this.appendValueInput("VALUE").setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},rR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(ge.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLE),this.appendDummyInput().appendField(ge.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setOutput(!0)}},lR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendDummyInput().appendField(ge.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_NUM),this.setInputsInline(!0),this.setOutput(!0)}},dR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB").appendField(ge.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARIABLES),this.appendValueInput("NO").setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_TINY_WEB_DB_START_NUMBER),this.appendValueInput("COUNT").setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_TINY_WEB_DB_VARIABLE_NUMBER),this.appendValueInput("TAG").setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARS),this.appendDummyInput().setAlign(ge.inputs.Align.RIGHT).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_ALL,"both"],[ge.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_TAG,"tag"],[ge.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_VALUE,"value"]]),"DTYPE"),this.setInputsInline(!1),this.setOutput(!0)}},IR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(ge.Msg.MIXLY_TINY_WEB_DB_DELETE_VARIABLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},TR=225,MR={init:function(){this.setColour(TR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_NETWORK_INIT),this.appendDummyInput().appendField(ge.Msg.MIXLY_NETWORK_MODE).appendField(new ge.FieldDropdown([["STA","STA"],["AP","AP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_INIT_TOOLTIP)}},hR={init:function(){this.setColour(TR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_NETWORK_WIFI_OPEN,"True"],[ge.Msg.MIXLY_NETWORK_WIFI_CLOSE,"False"]]),"op"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_NETWORK_WIFI_FLAG),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("op"),i=ge.Msg.MIXLY_ESP32_NETWORK_OPEN_TOOLTIP;return{True:ge.Msg.MIXLY_NETWORK_WIFI_OPEN,False:ge.Msg.MIXLY_NETWORK_WIFI_CLOSE}[t]+i}))}},mR={init:function(){this.setColour(TR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE)}},ER={init:function(){this.setColour(TR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_NETWORK_WIFI_SCAN),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip((function(){return ge.Msg.MIXLY_ESP32_NETWORK_SCAN_TOOLTIP+{0:"ssid",1:"bssid",2:"channel",3:"RSSI",4:"authmode",5:"hidden",all:ge.Msg.MIXLY_NETWORK_WIFI_SCAN_ATTRIBUTE}.all}))}},OR={init:function(){this.setColour(TR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_ESP32_NETWORK_CONNECT),this.appendValueInput("id").setCheck(String).appendField(ge.Msg.HTML_NAME),this.appendValueInput("password").setCheck(String).appendField(ge.Msg.HTML_PASSWORD),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_CONNECT_TOOLTIP)}},RR={init:function(){this.setColour(TR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_NETWORK_WIFI_CONNECT+ge.Msg.MIXLY_SYMBOL_QUESTION),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_WIFI_CONNECT_TOOLTIP)}},cR={init:function(){this.setColour(TR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_ESP32_NETWORK_IP,"0"],[ge.Msg.MIXLY_ESP32_NETWORK_MASK,"1"],[ge.Msg.MIXLY_ESP32_NETWORK_GATEWAY,"2"],["DNS","3"]]),"mode"),this.setOutput(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("mode");return ge.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP+{0:ge.Msg.MIXLY_ESP32_NETWORK_IP,1:ge.Msg.MIXLY_ESP32_NETWORK_MASK,2:ge.Msg.MIXLY_ESP32_NETWORK_GATEWAY,3:"DNS"}[t]}))}},gR={init:function(){this.setColour(TR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_ESP32_NETWORK_STOP_CONNECT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_STOP_TOOLTIP)}},CR={init:function(){this.setColour(TR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput().appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_NETWORK_WIFI_ESSID,"essid"],[ge.Msg.MIXLY_NETWORK_WIFI_CHANNEL,"channel"]]),"op"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP)}},SR={init:function(){this.setColour(TR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.LISTS_SET_INDEX_SET+ge.Msg.MIXLY_HOTSPOT),this.appendValueInput("essid").setCheck(String).appendField(ge.Msg.MIXLY_NAME),this.appendValueInput("password").setCheck(String).appendField(ge.Msg.MIXLY_EMQX_PASSWORD),this.appendValueInput("channel").setCheck(Number).appendField(ge.Msg.MIXLY_NETWORK_WIFI_CHANNEL),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_AP_CONNECT_TOOLTIP)}},AR={init:function(){this.setColour(TR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_ESP32_NETWORK_SERVER1),this.appendDummyInput("").appendField(ge.Msg.MIXLY_ESP32_NETWORK_SERVER2),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},LR={init:function(){this.setColour(TR),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_INIT).setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new ge.FieldDropdown([["TCP","TCP"],["UDP","UDP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("mode");return ge.Msg.MIXLY_ESP32_NETWORK_SOCKET_INIT_TOOLTIP+{TCP:"TCP",UDP:"UDP"}[t]}))}},NR={init:function(){this.setColour(TR),this.appendValueInput("VAR").setCheck("var").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_BIND_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_SOCKET_BIND_TOOLTIP)}},DR={init:function(){this.setColour(TR),this.appendValueInput("VAR").setCheck("var").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_CONNECT_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_SOCKET_CONNECT_TOOLTIP)}},fR={init:function(){this.setColour(TR),this.appendValueInput("VAR").setCheck("var"),this.appendValueInput("queue").setCheck(Number).appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_LISTEN).appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_QUEUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_SOCKET_LISTEN_TOOLTIP)}},FR={init:function(){this.setColour(TR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_ACCEPT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_SOCKET_ACCEPT_TOOLTIP)}},PR={init:function(){this.setColour(TR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE_TOOLTIP)}},vR={init:function(){this.setColour(TR),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("size").setCheck(Number).appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_TOOLTIP)}},YR={init:function(){this.setColour(TR),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("content").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TOOLTIP)}},XR={init:function(){this.setColour(TR),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("size").setCheck(Number).appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_FROM_TOOLTIP)}},yR={init:function(){this.setColour(TR),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("content").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.appendValueInput("address").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_TO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TO_TOOLTIP)}},bR={init:function(){this.setColour(TR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_CLOSE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},xR={init:function(){this.setColour(TR),this.appendValueInput("DOMAIN").appendField(ge.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(ge.Msg.blockpy_REQUESTS_GET).appendField(new ge.FieldTextInput("response"),"VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.blockpy_REQUESTS_GET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){ge.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},VR={init:function(){this.appendValueInput("VAL"),this.setColour(TR),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_GET).appendField(new ge.FieldDropdown(VR.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("DIR");return{clear:ge.Msg.MIXLY_TOOLTIP_TURTEL_CLEAR,reset:ge.Msg.MIXLY_TOOLTIP_TURTEL_RESET,home:ge.Msg.MIXLY_TOOLTIP_TURTEL_HOME}[t]}))},ATTR:[[ge.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[ge.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[ge.Msg.blockpy_REQUESTS_GET_ATTR_COOKIES,"cookies"],[ge.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"]]},BR={init:function(){this.appendValueInput("VAR").appendField(ge.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.setColour(TR),this.appendDummyInput("").appendField(ge.Msg.blockpy_CONDUCT).appendField(new ge.FieldDropdown(BR.METHOD),"DIR"),this.appendDummyInput("").appendField(ge.Msg.blockpy_REQUESTS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("DIR");return{forward:ge.Msg.MIXLY_TOOLTIP_TURTEL_FORWARD,backward:ge.Msg.MIXLY_TOOLTIP_TURTEL_BACKWARD}[t]}))},METHOD:[["post","post"],["put","put"],["delete","delete"],["head","head"],["option","option"]]},GR={init:function(){this.setColour(TR),this.appendDummyInput("").appendField(ge.Msg.MIXLY_GET_NTP+"(NTP)"),this.appendValueInput("data").appendField(ge.Msg.blynk_SERVER_ADD),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},UR={init:function(){this.setColour(TR),this.appendDummyInput("").appendField(new ge.FieldDropdown([["ntp.aliyun.com","ntp.aliyun.com"],["ntp1.aliyun.com","ntp1.aliyun.com"],["ntp2.aliyun.com","ntp2.aliyun.com"],["ntp3.aliyun.com","ntp3.aliyun.com"],["ntp4.aliyun.com","ntp4.aliyun.com"],["ntp5.aliyun.com","ntp5.aliyun.com"],["ntp6.aliyun.com","ntp6.aliyun.com"],["ntp7.aliyun.com","ntp7.aliyun.com"],["time1.cloud.tencent.com","time1.cloud.tencent.com"],["time2.cloud.tencent.com","time2.cloud.tencent.com"],["time3.cloud.tencent.com","time3.cloud.tencent.com"],["time4.cloud.tencent.com","time4.cloud.tencent.com"],["time5.cloud.tencent.com","time5.cloud.tencent.com"]]),"op"),this.setOutput(!0)}},wR="#3288dd",kR={init:function(){this.setColour(wR),this.appendValueInput("URL").appendField(ge.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(ge.Msg.blockpy_CONDUCT).appendField(new ge.FieldDropdown([["get","get"],["head","head"],["delete","delete"]]),"TYPE").appendField(ge.Msg.blockpy_REQUESTS).appendField(ge.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},HR={init:function(){this.setColour(wR),this.appendValueInput("URL").appendField(ge.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(ge.Msg.blockpy_CONDUCT).appendField(new ge.FieldDropdown([["post","post"],["put","put"],["patch","patch"]]),"TYPE").appendField(ge.Msg.blockpy_REQUESTS),this.appendValueInput("data").appendField(ge.Msg.blockpy_REQUESTS+ge.Msg.OLED_STRING),this.appendDummyInput("").appendField(ge.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},WR={init:function(){this.appendValueInput("VAL"),this.setColour(wR),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_GET).appendField(new ge.FieldDropdown(WR.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String)},ATTR:[[ge.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[ge.Msg.blockpy_REQUESTS_GET_ATTR_JSON,"json()"],[ge.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[ge.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"],[ge.Msg.MIXPY_TEXT_ENCODE,"encoding"]]},KR={init:function(){this.setColour(wR),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_IOT_CONNECT_WIFI),this.appendValueInput("WIFINAME").setCheck(String).appendField(ge.Msg.HTML_NAME),this.appendValueInput("PASSWORD").setCheck(String).appendField(ge.Msg.HTML_PASSWORD),this.appendValueInput("TIMEOUT").setCheck(Number).appendField(ge.Msg.MIXLY_IR_TIMEOUT),this.appendDummyInput().appendField(ge.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_IOT_WIFI_CONNECT_TOOLTIP)}},JR={init:function(){this.setColour(wR),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_IOT_EMQX_CONNECT_TOOLTIP),this.appendValueInput("SERVER").setCheck(String).appendField(ge.Msg.MIXLY_EMQX_SERVER).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("PORT").setCheck(Number).appendField(ge.Msg.MIXLY_EMQX_PORT).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("CLIENT_ID").setCheck(String).appendField(ge.Msg.MIXLY_EMQX_CLIENT_ID).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(ge.Msg.MIXLY_WIFI_USERNAME).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(ge.Msg.MIXLY_IOT_PASSWORD).setAlign(ge.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},qR={init:function(){this.setColour(wR),this.appendValueInput("TOPIC").appendField(ge.Msg.MIXLY_EMQX_SUBSCRIBE+ge.Msg.MIXLY_MICROBIT_MSG).appendField(ge.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MESSAGE").appendField(ge.Msg.blockpy_set_of),this.setInputsInline(!0),this.setOutput(!0)}},zR={init:function(){this.setColour(wR),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(ge.Msg.MIXLY_EMQX_SUBSCRIBE+ge.Msg.MIXLY_MICROBIT_MSG).appendField(ge.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(ge.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},QR={init:function(){this.setColour(wR),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(ge.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(ge.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(ge.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},jR={init:function(){this.setColour(wR),this.appendDummyInput().appendField("mqtt"+ge.Msg.MIXLY_EMQX_IS_CONNECT),this.setInputsInline(!0),this.setOutput(!0)}},$R="#A58C5B",ZR={init:function(){this.setColour($R),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_BUTTON).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_IS_PRESSED),this.appendValueInput("STAT").appendField(ge.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_SENOR_IS_PRESSED)}},ec={init:function(){this.setColour($R),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_BUTTON).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_WAS_PRESSED),this.appendValueInput("STAT").appendField(ge.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_SENOR_WAS_PRESSED)}},tc={init:function(){this.setColour($R),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_BUTTON).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET_PRESSES),this.appendValueInput("VAR").setCheck(Number).appendField(ge.Msg.MIXLY_GET_PRESSES_TIME),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ge.Msg.PROCEDURES_DEFRETURN_RETURN+ge.Msg.MIXLY_BUTTON+ge.Msg.MIXLY_GET_PRESSES)}},ic={init:function(){this.setColour($R),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_BUTTON).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MODE).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[ge.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[ge.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(ge.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_INOUT_ATTACHINTERRUPT)}},nc={init:function(){this.setColour($R),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_shake,"shake"],[ge.Msg.MIXLY_UP,"up"],[ge.Msg.MIXLY_DOWN,"down"],[ge.Msg.MIXLY_LEFT,"left"],[ge.Msg.MIXLY_RIGHT,"right"],[ge.Msg.MIXLY_MICROBIT_face_up,"face up"],[ge.Msg.MIXLY_MICROBIT_face_down,"face down"],[ge.Msg.MIXLY_MICROBIT_freefall,"freefall"],["3g","3g"],["6g","6g"],["8g","8g"]]),"gesture"),this.appendStatementInput("DO").appendField(ge.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("gesture"),i=ge.Msg.MIXLY_MICROBIT_JS_CURRENT,n=ge.Msg.MSG.catSensor,s=ge.Msg.MIXLY_MICROBIT_JS_STATE,_=ge.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:ge.Msg.MIXLY_MICROBIT_shake,up:ge.Msg.MIXLY_UP,down:ge.Msg.MIXLY_DOWN,left:ge.Msg.MIXLY_LEFT,right:ge.Msg.MIXLY_RIGHT,"face up":ge.Msg.MIXLY_MICROBIT_face_up,"face down":ge.Msg.MIXLY_MICROBIT_face_down,freefall:ge.Msg.MIXLY_MICROBIT_freefall,"3g":"3g","6g":"6g","8g":"8g"}[t]+_}))}},sc={init:function(){this.setColour($R),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_ADXL345).setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new ge.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key"),i=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=ge.Msg.MIXLY_MICROBIT_Direction,s=ge.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":ge.Msg.MIXLY_MICROBIT_Shiliang_Direction}[t]+n+s}))}},_c={init:function(){this.setColour($R),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_JS_LIGHT_LEVEL),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_SENSOR_LIGHT_LEVEL_TOOLTIP)}},oc={init:function(){this.setColour($R),this.appendValueInput("PIN",Number).appendField(new ge.FieldDropdown([["DHT11","DHT11"],["DHT22","DHT22"]]),"TYPE").appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(new ge.FieldDropdown(oc.METHOD),"WHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("WHAT");return{temperature:ge.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM,relative_humidity:ge.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_HUM,tempandhum:ge.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM_HUM}[t]}))},METHOD:[[ge.Msg.MIXLY_GETTEMPERATUE,"temperature"],[ge.Msg.MIXLY_GETHUMIDITY,"humidity"]]},pc={init:function(){this.setColour($R),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_EXTERN_LIGHT),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ge.Msg.ESP32_SENSOR_NIXGO_LIGHT_TOOLTIP)}},ac={init:function(){this.setColour($R),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_EXTERN_SOUND),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ge.Msg.ESP32_SENSOR_NIXGO_SOUND_TOOLTIP)}},uc={init:function(){this.setColour($R),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new ge.FieldDropdown([[ge.Msg.TEXT_TRIM_LEFT,"left"],[ge.Msg.TEXT_TRIM_RIGHT,"right"]]),"direction").appendField(ge.Msg.MIXLY_ESP32_NEAR),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("direction"),i=ge.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP,n=ge.Msg.MIXLY_ESP32_NEAR;return i+{left:ge.Msg.TEXT_TRIM_LEFT,right:ge.Msg.TEXT_TRIM_RIGHT}[t]+n}))}},rc={init:function(){this.setColour($R),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_ALTITUDE_SENSOR+" BMP280").setCheck("var"),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_GETTEMPERATUE,"get_BMP_temperature()"],[ge.Msg.MIXLY_GETPRESSURE,"get_BMP_pressure()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key");return{"get_BMP_temperature()":ge.Msg.MIXLY_MICROBIT_SENSOR_BMP_temperature_TOOLTIP,"get_BMP_pressure()":ge.Msg.MIXLY_MICROBIT_SENSOR_BMP_press_TOOLTIP}[t]}))}},lc={init:function(){this.setColour($R),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+" SHT20").setCheck("var"),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_GETTEMPERATUE,"get_SHT_temperature()"],[ge.Msg.MIXLY_GETHUMIDITY,"get_SHT_relative_humidity()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key");return{"get_SHT_temperature()":ge.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,"get_SHT_relative_humidity()":ge.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[t]}))}},dc={init:function(){this.setColour($R),this.appendValueInput("PIN",Number).appendField("DS18X20 "+ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(ge.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(ge.Msg.MIXLY_MICROBIT_SENSOR_DS18X20_TOOLTIP)}},Ic={init:function(){this.setColour($R),this.appendDummyInput("").appendField("LM35"+ge.Msg.MIXLY_TEMP),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(ge.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_LM35)}},Tc={init:function(){this.setColour($R),this.appendValueInput("I2CSUB").appendField(ge.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_SETUP+ge.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_ESP32_EXTERN_LIGHT+"(LTR308ALS)","LTR308"],[ge.Msg.MIXLY_COLOR_SENSOR+"(LTR381RGB)","LTR381RGB"],[ge.Msg.MIXLY_COLOR_SENSOR+"(UCS12071)","UCS12071"],[ge.Msg.MIXLY_EXTERN_LIGHTUV+"(LTR390UV)","LTR390UV"],[ge.Msg.MIXLY_ALTITUDE_SENSOR+"(HP203X)","HP203X"],[ge.Msg.MIXLY_ALTITUDE_SENSOR+"(SPL06_001)","SPL06_001"],[ge.Msg.MIXLY_ALTITUDE_SENSOR+"(MS5611)","MS5611"],[ge.Msg.MIXLY_ALTITUDE_SENSOR+"(BMP280)","BMP280"],[ge.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(SHTC3)","SHTC3"],[ge.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(AHT21)","AHT21"],[ge.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(SHT20)","SHT20"],[ge.Msg.MIXLY_LASER_RANGE_SENSOR+"(VL53L0X)","VL53L0X"],[ge.Msg.MIXLY_GEOMAGNETIC_SENSOR+"(QMC5883L)","QMC5883L"],[ge.Msg.MIXLY_ESP32_MAX30102+"(MAX30102)","MAX30102"],[ge.Msg.HTML_COLOUR+"、"+ge.Msg.MIXLY_ENVIRONMENT_LIGHT+"、"+ge.Msg.MIXLY_NEXT+"、"+ge.Msg.MIXLY_ESP32_APDS9960+"(APDS9960)","APDS9960"],[ge.Msg.MIXLY_NINE_AXIS_SENSOR+"(MPU9250)","MPU9250"],[ge.Msg.MixGo_MPU9250+"(ADXL345)","ADXL345"],["RFID","RFID"],[ge.Msg.MIXLY_RADAR_SENSOR+"(CBR817)","CBR817"],[ge.Msg.MIXLY_AipSpeech_asr+"(CI130X)","CI130X"],[ge.Msg.MIXLY_TVOC_CO2_SENSOR+"(AGS10)","AGS10"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Mc={init:function(){this.setColour($R),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_RADAR+"CBR817").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.LISTS_SET_INDEX_SET+ge.Msg.MIXlY_INTERACTION),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_DETECTION_THRESHOLD),this.appendValueInput("VAR2").appendField(ge.Msg.MIXLY_DELAY_TIME),this.appendDummyInput().appendField("ms"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_THRESHOLD_TOOLTIP+" ; "+ge.Msg.MIXLY_DELAY_TIME_RANGE)}},hc={init:function(){this.setColour($R),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RADAR).appendField(ge.Msg.LISTS_SET_INDEX_SET+ge.Msg.MIXlY_INTERACTION),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_DETECTION_THRESHOLD),this.appendValueInput("VAR2").appendField(ge.Msg.MIXLY_DELAY_TIME),this.appendDummyInput().appendField("ms"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_THRESHOLD_TOOLTIP+" ; "+ge.Msg.MIXLY_DELAY_TIME_RANGE)}},mc={init:function(){this.setColour($R),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_RADAR+"CBR817").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_GET_TO_INTERACTION),this.setOutput(!0),this.setInputsInline(!0)}},Ec={init:function(){this.setColour($R),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RADAR).appendField(ge.Msg.MIXLY_GET_TO_INTERACTION),this.setOutput(!0),this.setInputsInline(!0)}},Oc={init:function(){this.setColour($R),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_IDENTIFY_ONCE_AND_SAVE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Rc={init:function(){this.setColour($R),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_GET).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_HELLO_XIAOZHI,"1"],[ge.Msg.MIXLY_XIAOZHIXIAOZHI,"2"],[ge.Msg.MIXLY_THE_FIRST,"3"],[ge.Msg.MIXLY_THE_SECOND,"4"],[ge.Msg.MIXLY_THE_THIRD,"5"],[ge.Msg.MIXLY_THE_FOURTH,"6"],[ge.Msg.MIXLY_THE_FIFTH,"7"],[ge.Msg.MIXLY_THE_SIXTH,"8"],[ge.Msg.MIXLY_THE_SEVENTH,"9"],[ge.Msg.MIXLY_THE_EIGHTH,"10"],[ge.Msg.MIXLY_THE_NINTH,"11"],[ge.Msg.MIXLY_THE_TENTH,"12"],[ge.Msg.MIXLY_THE_ELEVENTH,"13"],[ge.Msg.MIXLY_THE_TWELFTH,"14"],[ge.Msg.MIXLY_THE_13TH,"15"],[ge.Msg.MIXLY_THE_14TH,"16"],[ge.Msg.MIXLY_THE_15TH,"17"],[ge.Msg.MIXLY_THE_16TH,"18"],[ge.Msg.MIXLY_THE_17TH,"19"],[ge.Msg.MIXLY_THE_18TH,"20"],[ge.Msg.MIXLY_THE_19TH,"21"],[ge.Msg.MIXLY_THE_20TH,"22"],[ge.Msg.MIXLY_Turn_on_the_lights,"23"],[ge.Msg.MIXLY_Turn_off_the_lights,"24"],[ge.Msg.MIXLY_Turn_up_the_brightness,"25"],[ge.Msg.MIXLY_Turn_down_the_brightness,"26"],[ge.Msg.MIXLY_Set_it_to_red,"27"],[ge.Msg.MIXLY_Set_it_to_orange,"28"],[ge.Msg.MIXLY_Set_it_to_yellow,"29"],[ge.Msg.MIXLY_Set_it_to_green,"30"],[ge.Msg.MIXLY_Set_it_to_cyan,"31"],[ge.Msg.MIXLY_Set_it_to_blue,"32"],[ge.Msg.MIXLY_Set_it_to_purple,"33"],[ge.Msg.MIXLY_Set_it_to_white,"34"],[ge.Msg.MIXLY_Turn_on_the_fan,"35"],[ge.Msg.MIXLY_Turn_off_the_fan,"36"],[ge.Msg.MIXLY_First_gear,"37"],[ge.Msg.MIXLY_Wind_speed_second,"38"],[ge.Msg.MIXLY_Third_gear,"39"],[ge.Msg.MIXLY_Previous,"40"],[ge.Msg.MIXLY_Next_page,"41"],[ge.Msg.MIXLY_Show_smiley_face,"42"],[ge.Msg.MIXLY_Show_crying_face,"43"],[ge.Msg.MIXLY_Show_love,"44"],[ge.Msg.MIXLY_Close_display,"45"],[ge.Msg.MIXLY_Start_execution,"46"],[ge.Msg.MIXLY_FORWARD,"47"],[ge.Msg.MIXLY_BACKWARD,"48"],[ge.Msg.MIXLY_TURNLEFT,"49"],[ge.Msg.MIXLY_TURNRIGHT,"50"],[ge.Msg.MIXLY_STOP,"51"],[ge.Msg.MIXLY_Accelerate,"52"],[ge.Msg.MIXLY_retard,"53"],[ge.Msg.ROTATION_FORWARD,"54"],[ge.Msg.ROTATION_BACKWARD,"55"],[ge.Msg.MIXLY_Query_temperature,"56"],[ge.Msg.MIXLY_Query_humidity,"57"],[ge.Msg.MIXLY_Query_brightness,"58"],[ge.Msg.MIXLY_Query_sound,"59"],[ge.Msg.MIXLY_Query_time,"60"],[ge.Msg.MIXLY_Query_distance,"61"],[ge.Msg.MIXLY_Query_pressure,"62"],[ge.Msg.MIXLY_Query_key,"63"],[ge.Msg.MIXLY_Query_touch,"64"],[ge.Msg.MIXLY_Query_color,"65"]]),"cmd").appendField(ge.Msg.MIXLY_WHETHER+ge.Msg.MIXLY_BE_IDENTIFIED),this.setOutput(!0),this.setInputsInline(!0)}},cc={init:function(){this.setColour($R),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_GET).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_RECOGNIZED_STATE,"status1"],[ge.Msg.MIXLY_WHETHER_BROADCAST,"status2"],[ge.Msg.MIXLY_THE_RECOGNIZED_CMD,"result"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_CI130X_GET_THE_RECOGNIZED_STATE_TOOLTIP)}},gc={init:function(){this.setColour($R),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MP3_PLAY).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"],[ge.Msg.MIXLY_WIND_SPEED,"154"],[ge.Msg.MIXLY_HYETAL,"155"],[ge.Msg.MIXLY_TEMPERATURE,"156"],[ge.Msg.MIXLY_Humidity,"157"],[ge.Msg.MIXLY_Altitude,"158"],[ge.Msg.MIXLY_SOUND,"159"],[ge.Msg.MIXLY_BRIGHTNESS,"160"],[ge.Msg.ME_GO_HALL_SENSOR_DISTANCE,"161"],[ge.Msg.MIXLY_SERVO,"162"],[ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"163"],[ge.Msg.MIXLY_BUTTON2,"164"],[ge.Msg.MIXLY_ESP32_TOUCH,"165"],[ge.Msg.MIXLY_PAY,"166"],[ge.Msg.MIXLY_CARSH_CHANGE,"167"],[ge.Msg.MIXLY_COUNTDOWN,"168"],[ge.Msg.MIXLY_TIMING,"169"],[ge.Msg.MIXLY_AT_THE_MOMENT,"170"],[ge.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE,"171"],[ge.Msg.MIXLY_FORWARD,"172"],[ge.Msg.MIXLY_BACKWARD,"173"],[ge.Msg.MIXLY_TURNLEFT,"174"],[ge.Msg.MIXLY_TURNRIGHT,"175"],[ge.Msg.MIXLY_STOP,"176"],[ge.Msg.MIXLY_Accelerate,"177"],[ge.Msg.MIXLY_retard,"178"],[ge.Msg.ROTATION_FORWARD,"179"],[ge.Msg.ROTATION_BACKWARD,"180"],[ge.Msg.TUPLE_JOIN,"181"],[ge.Msg.MIXLY_SHOW,"182"],[ge.Msg.MIXLY_LAMPLIGHT,"183"],[ge.Msg.MIXLY_ACCELERATION,"184"]]),"star"),this.appendValueInput("NUM").appendField(ge.Msg.MIXLY_NUMBER),this.appendDummyInput("").appendField(ge.Msg.MIXLY_UNIT).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"],[ge.Msg.MIXLY_YEAR,"117"],[ge.Msg.MIXLY_MONTH,"118"],[ge.Msg.MIXLY_DAY,"119"],[ge.Msg.MIXLY_HOUR,"120"],[ge.Msg.MIXLY_MINUTE,"121"],[ge.Msg.MIXLY_SECOND,"122"],[ge.Msg.MIXLY_WEEK2,"123"],[ge.Msg.MIXLY_RMB_UNIT,"124"],[ge.Msg.blockpy_setheading_degree,"125"],[ge.Msg.MIXLY_GEAR,"126"],[ge.Msg.MIXLY_LAYER,"127"],[ge.Msg.MIXLY_GRAM,"128"],[ge.Msg.MIXLY_METER,"129"],[ge.Msg.MIXLY_CENTIMETER,"130"],[ge.Msg.MIXLY_MILLIMETER,"131"],[ge.Msg.MIXLY_LUMEN,"132"],[ge.Msg.MIXLY_DECIBEL,"133"],[ge.Msg.MIXLY_hectopascal,"134"],[ge.Msg.MIXLY_PERCENT,"135"],[ge.Msg.MIXLY_CELSIUS,"136"],[ge.Msg.MIXLY_METER_PER_SEC,"137"],[ge.Msg.MIXLY_MICROBIT_Turn_on_display,"138"],[ge.Msg.MIXLY_MICROBIT_Turn_off_display,"139"],[ge.Msg.MIXLY_SUCCESS,"140"],[ge.Msg.MIXLY_FAILED,"141"],[ge.Msg.MIXLY_WRONG,"142"],[ge.Msg.MIXLY_GOOD,"143"],[ge.Msg.MIXLY_blockpy_set_add,"144"],[ge.Msg.MIXLY_DECREASE,"145"],[ge.Msg.COLOUR_RGB_RED,"146"],[ge.Msg.COLOUR_RGB_ORANGE,"147"],[ge.Msg.COLOUR_YELLOW,"148"],[ge.Msg.COLOUR_RGB_GREEN,"149"],[ge.Msg.COLOUR_CYAN,"150"],[ge.Msg.COLOUR_RGB_BLUE,"151"],[ge.Msg.COLOUR_RGB_PURPLE,"152"],[ge.Msg.COLOUR_RGB_WHITE,"153"]]),"end"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Cc={init:function(){this.setColour($R),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.LISTS_SET_INDEX_SET+ge.Msg.MIXLY_SYSTEM+ge.Msg.MIXLY_CMD).appendField(new ge.FieldDropdown([[ge.Msg.MILXY_ENTER_WAKE_UP,"1"],[ge.Msg.MIXLY_INCREASE_VOLUME,"202"],[ge.Msg.MIXLY_REDUCE_VOLUME,"203"],[ge.Msg.MIXLY_MAX_VOLUME,"204"],[ge.Msg.MIXLY_MINIMUM,"205"],[ge.Msg.MIXLY_OPEN_RESPONSE,"206"],[ge.Msg.MIXLY_CLOSE_RESPONSE,"207"],[ge.Msg.MIXLY_QUIT_WAKE_UP,"208"]]),"cmd"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Sc={init:function(){this.setColour($R),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_MAX30102+" MAX30102"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_ESP32_MAX30102_IR,"[0]"],[ge.Msg.MIXLY_ESP32_MAX30102_RED,"[1]"],[ge.Msg.MIXLY_ESP32_MAX30102_IR+","+ge.Msg.MIXLY_ESP32_MAX30102_RED,""]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Ac={init:function(){this.setColour($R),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_APDS9960+" APDS9960"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_ESP32_APDS9960_COLOR,"color"],[ge.Msg.MIXLY_ESP32_APDS9960_GESTURE,"gesture"],[ge.Msg.MIXLY_ESP32_APDS9960_APPROACH,"proximity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Lc={init:function(){this.setColour($R),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_EXTERN_LIGHT+" LTR308ALS"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET_LIGHT_INTENSITY),this.setOutput(!0,Number),this.setInputsInline(!0)}},Nc={init:function(){this.setColour($R),this.appendValueInput("SUB").appendField(ge.Msg.HTML_COLOUR+ge.Msg.MSG.catSensor+" LTR381RGB").setCheck("var"),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_GET+ge.Msg.HTML_COLOUR,"[2]"],[ge.Msg.MIXLY_GET+ge.Msg.MIXLY_IR_STRENGTH,"[1]"],[ge.Msg.MIXLY_GET+ge.Msg.MIXLY_LIGHT_STRENGTH,"[0]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Dc={init:function(){this.setColour($R),this.appendValueInput("SUB").appendField(ge.Msg.HTML_COLOUR+ge.Msg.MSG.catSensor+" UCS12071").setCheck("var"),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_GET+"RGB"+ge.Msg.HTML_COLOUR,"0"],[ge.Msg.MIXLY_GET+ge.Msg.MIXLY_RGB_RAW,"1"],[ge.Msg.MIXLY_GET_ENV_LIGHT+ge.Msg.MIXLY_BRIGHTNESS,"2"],[ge.Msg.GET_IR_STRENGTH+ge.Msg.MIXLY_BRIGHTNESS,"3"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},fc={init:function(){this.setColour($R),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_EXTERN_LIGHTUV+" LTR390UV").setCheck("var"),this.appendDummyInput().appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_GET_ENV_LIGHT,"E"],[ge.Msg.MIXLY_GET_ULTRAVIOLET,"U"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Fc={init:function(){this.setColour($R),this.appendDummyInput().appendField(ge.Msg.MIXLY_LASER_RANGE+" VL53L0X"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET_DISTANCE+"(mm)"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Pc={init:function(){this.setColour($R),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_TEM_HUM+" SHTC3").setCheck("var"),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_GETTEMPERATUE,"temperature"],[ge.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key");return{temperature:ge.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,humidity:ge.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[t]}))}},vc={init:function(){this.setColour($R),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_TEM_HUM+" AHT21").setCheck("var"),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_GETTEMPERATUE,"temperature"],[ge.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key");return{temperature:ge.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,relative_humidity:ge.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[t]}))}},Yc={init:function(){this.setColour($R),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_Altitude+ge.Msg.MSG.catSensor+" HP203X").setCheck("var"),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_GETPRESSURE,"pressure()"],[ge.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[ge.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Xc={init:function(){this.setColour($R),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_Altitude+ge.Msg.MSG.catSensor+" SPL06_001").setCheck("var"),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_GETPRESSURE,"pressure()"],[ge.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[ge.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},yc={init:function(){this.setColour($R),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_Altitude+ge.Msg.MSG.catSensor+" MS5611").setCheck("var"),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_GETPRESSURE,"pressure()"],[ge.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[ge.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},bc={init:function(){this.setColour($R),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_Altitude+ge.Msg.MSG.catSensor+" MS5611").setCheck("var"),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_REF_TO_PRESSURE),this.appendDummyInput().appendField(ge.Msg.MIXLY_CAL_TO_ALTITUDE),this.setOutput(!0,Number),this.setInputsInline(!0)}},xc={init:function(){this.setColour($R),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_MIXGOPE_FIELD+ge.Msg.MSG.catSensor+" QMC5883L").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_GET).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"get_bearing()"],[ge.Msg.MIXLY_TEMPERATURE,"get_temp()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Vc={init:function(){this.setColour($R),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_shake,"shake"],[ge.Msg.MIXLY_UP,"up"],[ge.Msg.MIXLY_DOWN,"down"],[ge.Msg.MIXLY_LEFT,"left"],[ge.Msg.MIXLY_RIGHT,"right"],[ge.Msg.MIXLY_MICROBIT_face_up,"face up"],[ge.Msg.MIXLY_MICROBIT_face_down,"face down"]]),"gesture"),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("gesture"),i=ge.Msg.MIXLY_MICROBIT_JS_CURRENT,n=ge.Msg.MSG.catSensor,s=ge.Msg.MIXLY_MICROBIT_JS_STATE,_=ge.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:ge.Msg.MIXLY_MICROBIT_shake,up:ge.Msg.MIXLY_UP,down:ge.Msg.MIXLY_DOWN,left:ge.Msg.MIXLY_LEFT,right:ge.Msg.MIXLY_RIGHT,"face up":ge.Msg.MIXLY_MICROBIT_face_up,"face down":ge.Msg.MIXLY_MICROBIT_face_down}[t]+_}))}},Bc={init:function(){this.setColour($R),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new ge.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key"),i=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=ge.Msg.MIXLY_MICROBIT_Direction,s=ge.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":ge.Msg.MIXLY_MICROBIT_Shiliang_Direction}[t]+n+s}))}},Gc={init:function(){this.setColour($R),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_JS_GET+ge.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH).appendField(new ge.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key"),i=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=ge.Msg.MIXLY_MICROBIT_Direction,s=ge.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH;return i+{x:"x",y:"y",z:"z","(x,y,z)":ge.Msg.MIXLY_MICROBIT_Shiliang_Direction}[t]+n+s}))}},Uc={init:function(){this.setColour($R),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+ge.Msg.MIXLY_ESP32_SENOR_GYRO).appendField(new ge.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key"),i=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=ge.Msg.MIXLY_MICROBIT_Direction,s=ge.Msg.MIXLY_ESP32_SENOR_GYRO;return i+{x:"x",y:"y",z:"z","(x,y,z)":ge.Msg.MIXLY_MICROBIT_Shiliang_Direction}[t]+n+s}))}},wc={init:function(){this.setColour($R),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS)}},kc={init:function(){this.setColour($R),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_GETTEMPERATUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_GETTEMPERATUE)}},Hc={init:function(){this.setColour($R),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_JS_GET_COMPASS).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,"strength"],[ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"heading"]]),"compass"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("compass");return ge.Msg.MIXLY_MICROBIT_JS_GET_COMPASS+{strength:ge.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,heading:ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE}[t]}))}},Wc={init:function(){this.setColour($R),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Reset_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MICROBIT_Reset_COMPASS)}},Kc={init:function(){this.setColour($R),this.appendValueInput("SPISUB").appendField(ge.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_SETUP+ge.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new ge.FieldDropdown([["RFID","RFID"],["WS-LoRa","Weather"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setFieldValue("RFID","key")}},Jc={init:function(){this.setColour($R),this.appendDummyInput().appendField("RFID"+ge.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(ge.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_RFID_READ_CARD_UID,"id"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"content"],[ge.Msg.MIXLY_ALL,"ALL"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},qc={init:function(){this.setColour($R),this.appendDummyInput().appendField("RFID"+ge.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RFID_READ_CARD_UID),this.setOutput(!0,Number),this.setInputsInline(!0)}},zc={init:function(){this.setColour($R),this.appendDummyInput().appendField("RFID"+ge.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(ge.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},Qc={init:function(){this.setColour($R),this.appendDummyInput().appendField(ge.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(ge.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(ge.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},jc={init:function(){this.setColour($R),this.appendDummyInput().appendField(ge.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(ge.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(ge.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(ge.Msg.RETURN_SUCCESS_OR_NOT),this.setInputsInline(!0),this.setOutput(!0,Boolean)}},$c={init:function(){this.setColour($R),this.appendDummyInput().appendField("RFID"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_RFID_SCAN_OK,"0"],[ge.Msg.MIXLY_RFID_SCAN_NOTAGERR,"1"],[ge.Msg.MIXLY_RFID_SCAN_ERROR,"2"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Zc={init:function(){this.setColour($R),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_GET).appendField(new ge.FieldDropdown([["全部(元组)","data()[0]"],["全部(json)","data()[1]"],["全部(json,附带位置信息)","data()[2]"],["编号","data()[0][0]"],["电量","data()[0][1]"],["风速","data()[0][2]"],["阵风","data()[0][3]"],["风向","data()[0][4]"],["雨量","data()[0][5]"],["温度","data()[0][6]"],["湿度","data()[0][7]"],["光照","data()[0][8]"],["紫外线","data()[0][9]"],["大气压","data()[0][10]"],["信号强度","data()[0][11]"],["信噪比","data()[0][12]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip("返回气象数据元组 data= (设备id,电池状态,风速m/s,阵风m/s,风向°,雨量mm,温度℃,湿度%,光照Lux,UVI,大气压Pa,信号强度dB,信噪比dB)")}},eg={init:function(){this.setColour($R),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_SERIAL_AVAILABLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},tg={init:function(){this.setColour($R),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendValueInput("BASE").appendField("以主题"),this.appendDummyInput("").appendField("串口发送至MixIO"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},ig={init:function(){this.setColour($R),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.itemCount_=2,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new ge.icons.MutatorIcon(["weather_set_label_item"],this)),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip()},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("weather_set_label_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;n>6),i.push(128|63&_)):(2048<=_&&_<=55295||57344<=_&&_<=65535)&&(n+=3,i.push(224|15&_>>12),i.push(128|63&_>>6),i.push(128|63&_))}for(s=0;s>8,255&n].concat(i)}(e,!0),i="",n=0;n=0?"0x700000":["mixgo_sant"].indexOf(n)>=0?"0xE00000":"0x3A0000","32x12 Matrix"==o?(t.definitions_.import_matrix32x12="import matrix32x12",i=s+" = matrix32x12.Matrix("+_+", font_address="+p+")\n"):"16x8 Matrix"==o&&(t.definitions_.import_matrix16x8="import matrix16x8",i=s+" = matrix16x8.Matrix("+_+")\n"),i},BP=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},GP=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", space="+t.valueToCode(this,"space",t.ORDER_ASSIGNMENT)+", center="+this.getFieldValue("center")+")\n"},UP=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".frame("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},wP=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".frame("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", delay="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+")\n"},kP=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},HP=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", speed="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+", space="+t.valueToCode(this,"space",t.ORDER_ASSIGNMENT)+")\n"},WP=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},KP=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+"."+e.getFieldValue("OP")+"("+t.valueToCode(e,"val",t.ORDER_ATOMIC)+")\n"},JP=function(e,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".pixel(int("+t.valueToCode(e,"x",t.ORDER_ATOMIC)+"), int("+t.valueToCode(e,"y",t.ORDER_ATOMIC)+"))",t.ORDER_ATOMIC]},qP=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return i+".pixel(int("+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+"), int("+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+"), "+t.valueToCode(this,"STAT",t.ORDER_ATOMIC)+")\n"+i+".show()\n"},zP=function(e,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".get_brightness()",t.ORDER_ATOMIC]},QP=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".set_brightness("+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+")\n"},jP=function(e,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+"."+e.getFieldValue("image"),t.ORDER_ATOMIC]},$P=function(e,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".map_"+e.getFieldValue("OP")+"("+t.valueToCode(e,"A",t.ORDER_ATOMIC)+", "+t.valueToCode(e,"B",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},ZP=function(e,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".map_invert("+t.valueToCode(e,"A",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},ev=function(e,t){t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var i=t.valueToCode(this,"I2CSUB",t.ORDER_ATOMIC);return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+" = ssd1306.SSD1306_I2C("+t.valueToCode(this,"row",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"column",t.ORDER_ATOMIC)+", "+i+")\n"},tv=function(e,t){return t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".show_str("+(t.valueToCode(this,"Text_line1",t.ORDER_ASSIGNMENT)||"''")+", "+(t.valueToCode(this,"Text_line2",t.ORDER_ASSIGNMENT)||"''")+", "+(t.valueToCode(this,"Text_line3",t.ORDER_ASSIGNMENT)||"''")+", "+(t.valueToCode(this,"Text_line4",t.ORDER_ASSIGNMENT)||"''")+")\n"},iv=function(e,t){return t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".show_line("+t.valueToCode(this,"x1",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"y1",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"x2",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"y2",t.ORDER_ATOMIC)+", 1)\n"},nv=function(e,t){t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var i=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),n=t.valueToCode(this,"x",t.ORDER_ATOMIC),s=t.valueToCode(this,"y",t.ORDER_ATOMIC),_=t.valueToCode(this,"width",t.ORDER_ATOMIC),o=t.valueToCode(this,"height",t.ORDER_ATOMIC),p="TRUE"==this.getFieldValue("fill")?"True":"False",a=this.getFieldValue("OP");switch(p){case"True":return i+".show_fill_rect("+n+", "+s+", "+_+", "+o+", "+a+")\n";case"False":return i+".show_rect("+n+", "+s+", "+_+", "+o+", "+a+")\n"}},sv=function(e,t){t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var i=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),n=t.valueToCode(this,"x",t.ORDER_ATOMIC),s=t.valueToCode(this,"y",t.ORDER_ATOMIC),_=t.valueToCode(this,"length",t.ORDER_ATOMIC);return i+".show_"+this.getFieldValue("direction")+"("+n+", "+s+", "+_+", 1)\n"},_v=function(e,t){return["ON"==this.getFieldValue("ONOFF")?"1":"0",t.ORDER_ATOMIC]},ov=function(e,t){t.definitions_.import_matrix="import matrix";var i=e.getFieldValue("OP");return[t.valueToCode(e,"img",t.ORDER_ATOMIC)+".shift_"+i+"("+t.valueToCode(e,"val",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},pv=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return t.definitions_.import_ssd1306="import ssd1306",t.definitions_.import_machine="import machine",i+".show_fill("+this.getFieldValue("key")+")\n"},av=function(e,t){return["matrix.Image."+this.getFieldValue("ANIMATION"),t.ORDER_ATOMIC]},uv=function(e,t){var i=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var n=t.valueToCode(this,"x",t.ORDER_ATOMIC),s=t.valueToCode(this,"y",t.ORDER_ATOMIC),_=t.valueToCode(this,"r",t.ORDER_ATOMIC),o="TRUE"==this.getFieldValue("fill")?"True":"False",p=this.getFieldValue("OP");switch(o){case"True":return i+".show_fill_circle("+n+", "+s+", "+_+", "+p+")\n";case"False":return i+".show_circle("+n+", "+s+", "+_+", "+p+")\n"}},rv=function(e,t){var i=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var n=t.valueToCode(this,"x0",t.ORDER_ATOMIC),s=t.valueToCode(this,"y0",t.ORDER_ATOMIC),_=t.valueToCode(this,"x1",t.ORDER_ATOMIC),o=t.valueToCode(this,"y1",t.ORDER_ATOMIC),p=t.valueToCode(this,"x2",t.ORDER_ATOMIC),a=t.valueToCode(this,"y2",t.ORDER_ATOMIC),u="TRUE"==this.getFieldValue("fill")?"True":"False",r=this.getFieldValue("OP");switch(u){case"True":return i+".show_fill_triangle("+n+", "+s+", "+_+", "+o+", "+p+", "+a+", "+r+")\n";case"False":return i+".show_triangle("+n+", "+s+", "+_+", "+o+", "+p+", "+a+", "+r+")\n"}},lv=function(e,t){return t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".show_bitmap("+t.valueToCode(this,"START_X",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"START_Y",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"bitmap_name",t.ORDER_ATOMIC)+","+t.valueToCode(this,"WIDTH",t.ORDER_ATOMIC)+","+t.valueToCode(this,"HEIGHT",t.ORDER_ATOMIC)+")\n"},dv=function(e,t){return t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".show_pixel("+t.valueToCode(this,"POS_X",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"POS_Y",t.ORDER_ATOMIC)+")\n"},Iv=function(e,t){var i,n=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),s=t.valueToCode(this,"CLK",t.ORDER_ATOMIC),_=t.valueToCode(this,"DIO",t.ORDER_ATOMIC),o=this.getFieldValue("key");return"TM1650"==o?(t.definitions_.import_tm1650="import tm1650",i=n+" = tm1650."+o+"(clk="+s+",dio="+_+")\n"):"TM1637"==o&&(t.definitions_.import_tm1637="import tm1637",i=n+" = tm1637."+o+"(clk="+s+",dio="+_+")\n"),i},Tv=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+"."+this.getFieldValue("STAT")+"()\n"},Mv=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".shownum("+t.valueToCode(this,"VALUE",t.ORDER_ATOMIC)+")\n"},hv=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".showDP("+t.valueToCode(this,"NO",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"STAT",t.ORDER_ATOMIC)+")\n"},mv=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".intensity("+t.valueToCode(this,"VALUE",t.ORDER_ATOMIC)+")\n"},Ev=function(e,t){t.definitions_.import_st7789="import st7789";var i=Ce.Boards.getSelectedBoardKey().split(":")[2],n="";n=["mpython","mixgo_pe","mixgo_nova"].indexOf(i)>=0?"0x700000":["mixgo_sant"].indexOf(i)>=0?"0xE00000":"0x3A0000";var s=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),_=t.valueToCode(this,"SPISUB",t.ORDER_ATOMIC),o=t.valueToCode(this,"PINCS",t.ORDER_ATOMIC),p=t.valueToCode(this,"PINDC",t.ORDER_ATOMIC);return s+" = st7789.ST7789("+_+", "+t.valueToCode(this,"WIDTH",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"HEIGHT",t.ORDER_ATOMIC)+", dc_pin="+p+", cs_pin="+o+", rotation="+this.getFieldValue("rotate")+", font_address="+n+")\n"},Ov=function(e,t){t.definitions_.import_st7789="import st7789";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".image("+n+", x="+s+", y="+_+", size="+o+", color="+p+")\n";else{const e=p.match(/\d+/g);var u="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");a=i+".image("+n+", x= "+s+",y="+_+", size="+o+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},Rv=function(e,t){var i="0x"+this.getFieldValue("COLOR").slice(1);return["0x"+((16252928&i)>>8|(64512&i)>>5|(255&i)>>3).toString(16),t.ORDER_ATOMIC]},cv=function(e,t){t.definitions_.import_st7789="import st7789";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),a=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),u=this.getFieldValue("center");if("0x"==a.slice(0,2))var r=i+".shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+u+", color="+a+")\n";else{const e=a.match(/\d+/g);var l="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");r=i+".shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+u+", color=0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+")\n"}return r},gv=function(e,t){t.definitions_.import_st7789="import st7789";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==o.slice(0,2))var p=i+".frame("+n+", size="+s+", delay="+_+", color="+o+")\n";else{const e=o.match(/\d+/g);var a="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");p=i+".frame("+n+", size="+s+", delay="+_+", color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},Cv=function(e,t){t.definitions_.import_st7789="import st7789";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),a=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u=i+".scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color="+a+")\n";else{const e=a.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u=i+".scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},Sv=function(e,t){return t.definitions_.import_st7789="import st7789",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".fill(st7789."+this.getFieldValue("key")+")\n"},Av=function(e,t){t.definitions_.import_st7789="import st7789";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"x1",t.ORDER_ATOMIC),s=t.valueToCode(this,"y1",t.ORDER_ATOMIC),_=t.valueToCode(this,"x2",t.ORDER_ATOMIC),o=t.valueToCode(this,"y2",t.ORDER_ATOMIC),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".line("+n+", "+s+", "+_+", "+o+", color="+p+")\n";else{const e=p.match(/\d+/g);var u="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");a=i+".line("+n+", "+s+", "+_+", "+o+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},Lv=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"I2CSUB",t.ORDER_ATOMIC),s=this.getFieldValue("key"),_=t.valueToCode(this,"ADDR",t.ORDER_ATOMIC);return t.definitions_.import_i2clcd="import i2clcd",i+" = i2clcd.LCD("+n+", lcd_width="+s+", i2c_addr="+_+")\n"},Nv=function(e,t){return t.definitions_.import_i2clcd="import i2clcd",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", column="+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+", line="+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+",center = "+this.getFieldValue("center")+")\n"},Dv=function(e,t){return t.definitions_.import_i2clcd="import i2clcd",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".print("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", column="+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+", line="+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+", delay="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+")\n"},fv=function(e,t){return t.definitions_.import_i2clcd="import i2clcd",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".backlight("+this.getFieldValue("key")+")\n"},Fv=function(e,t){return t.definitions_.import_i2clcd="import i2clcd",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".clear()\n"},Pv=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"I2CSUB",t.ORDER_ATOMIC),s=t.valueToCode(this,"ADDR",t.ORDER_ATOMIC),_=this.getFieldValue("driver"),o=Ce.Boards.getSelectedBoardKey().split(":")[2],p="";return p=["mpython","mixgo_pe","mixgo_nova"].indexOf(o)>=0?"0x700000":["mixgo_sant"].indexOf(o)>=0?"0xE00000":"0x3A0000",t.definitions_.import_oled128x64="import oled128x64",i+" = oled128x64.OLED("+n+", address="+s+", font_address="+p+", types="+_+")\n"},vv=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".image("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},Yv=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".image("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", x="+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+", y="+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+", size="+t.valueToCode(this,"size",t.ORDER_ASSIGNMENT)+")\n"},Xv=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},yv=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", x="+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+", y="+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+", size="+t.valueToCode(this,"size",t.ORDER_ASSIGNMENT)+", space="+t.valueToCode(this,"space",t.ORDER_ASSIGNMENT)+", center="+this.getFieldValue("center")+")\n"},bv=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".frame("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},xv=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".frame("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", size="+t.valueToCode(this,"size",t.ORDER_ASSIGNMENT)+", delay="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+")\n"},Vv=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},Bv=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", y="+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+", size="+t.valueToCode(this,"size",t.ORDER_ASSIGNMENT)+", speed="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+", space="+t.valueToCode(this,"space",t.ORDER_ASSIGNMENT)+")\n"},Gv=function(e,t){t.definitions_.import_oled128x64="import oled128x64";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},Uv=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+"."+e.getFieldValue("OP")+"("+t.valueToCode(e,"val",t.ORDER_ATOMIC)+")\n"},wv=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".pixel(int("+t.valueToCode(e,"x",t.ORDER_ATOMIC)+"), int("+t.valueToCode(e,"y",t.ORDER_ATOMIC)+"))",t.ORDER_ATOMIC]},kv=function(e,t){t.definitions_.import_oled128x64="import oled128x64";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return i+".pixel(int("+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+"), int("+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+"), "+t.valueToCode(this,"STAT",t.ORDER_ATOMIC)+")\n"+i+".show()\n"},Hv=function(e,t){t.definitions_.import_oled128x64="import oled128x64";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(e,"x",t.ORDER_ATOMIC),s=t.valueToCode(e,"y",t.ORDER_ATOMIC),_=t.valueToCode(e,"w",t.ORDER_ATOMIC),o=t.valueToCode(e,"h",t.ORDER_ATOMIC),p=e.getFieldValue("state");return i+"."+e.getFieldValue("shape")+"("+n+", "+s+", "+_+", "+o+", "+p+")\n"+i+".show()\n"},Wv=function(e,t){t.definitions_.import_oled128x64="import oled128x64";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(e,"x",t.ORDER_ATOMIC),s=t.valueToCode(e,"y",t.ORDER_ATOMIC),_=t.valueToCode(e,"length",t.ORDER_ATOMIC),o=e.getFieldValue("state");return i+"."+("0"==e.getFieldValue("dir_h_v")?"v":"h")+"line("+n+", "+s+", "+_+", "+o+")\n"+i+".show()\n"},Kv=function(e,t){t.definitions_.import_oled128x64="import oled128x64";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return i+".line("+t.valueToCode(e,"x1",t.ORDER_ATOMIC)+", "+t.valueToCode(e,"y1",t.ORDER_ATOMIC)+", "+t.valueToCode(e,"x2",t.ORDER_ATOMIC)+", "+t.valueToCode(e,"y2",t.ORDER_ATOMIC)+", "+e.getFieldValue("state")+")\n"+i+".show()\n"},Jv=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT);if("Python ESP32-S3"===Ce.JSFuncs.getPlatform()){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var s="onboard_tft.image("+(n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT))+", color=0xffff,sync="+(t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True")+")\n"}else if("educore"==i){t.definitions_["import_"+i+"_oled"]="from "+i+" import oled";s="oled.print("+n+")\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";s="onboard_matrix.shows("+n+")\n"}return s},qv=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),_=this.getFieldValue("center");if("mixgo_sant"==i||"mixgo_nova"==i||"mixgo_soar"==i)return t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.shows("+n+", space="+s+", center="+_+",sync="+(t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True")+")\n";if("educore"==i){t.definitions_["import_"+i+"_oled"]="from "+i+" import oled"}return t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.shows("+n+", space="+s+", center="+_+")\n"},zv=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){t.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var s="onboard_oled.frame("+n+")\n"}else if("Python ESP32-S3"===Ce.JSFuncs.getPlatform()){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";s="onboard_tft.frame("+(n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT))+", color=0xffff)\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";s="onboard_matrix.frame("+n+")\n"}return s},Qv=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){t.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var _="onboard_oled.frame("+(n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT))+", delay="+s+")\n"}else if("Python ESP32-S3"===Ce.JSFuncs.getPlatform()){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";_="onboard_tft.frame("+n+", size=5 , delay="+s+", color=0xffff)\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";_="onboard_matrix.frame("+n+", delay="+s+")\n"}return _},jv=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];if("mpython"==i||"educore"==i){t.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var n="onboard_oled.scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"}else if("Python ESP32-S3"===Ce.JSFuncs.getPlatform()){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";n="onboard_tft.scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", color=0xffff)\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"}return n},$v=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){t.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var o="onboard_oled.scroll("+n+", speed="+s+", space="+_+")\n"}else if("Python ESP32-S3"===Ce.JSFuncs.getPlatform()){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";o="onboard_tft.scroll("+n+", y=0, size=5, speed="+s+", space="+_+", color=0xffff)\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";o="onboard_matrix.scroll("+n+", speed="+s+", space="+_+")\n"}return o},Zv=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.scroll_way("+this.getFieldValue("way")+")\n"},eY=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),a=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u="onboard_tft.scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color="+a+")\n";else{const e=a.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u="onboard_tft.scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},tY=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix",["onboard_matrix."+e.getFieldValue("image"),t.ORDER_ATOMIC]},iY=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];if("Python ESP32-S3"===Ce.JSFuncs.getPlatform()){const i=e.getFieldValue("image").split(".");if(2!==i.length)throw Error("pin value error");t.definitions_[`import_${i[0]}_${i[1]}`]=`from ${i[0]} import ${i[1]}`;var n=i[1]}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix."+e.getFieldValue("image")}return[n,t.ORDER_ATOMIC]},nY=function(e,t){var i={"#000000":"0","#ff0000":"1"};function n(e){let t="";if(e.length%2==1&&(e="0"+e),e.length<8){let t=8-e.length;for(let i=1;i<=t;i++)e="0"+e}for(let i=1;i<=e.length;i++)i%2==0&&i!==e.length?t=t+e[i-1]+",0x":t+=e[i-1];return"0x"+t}let s=[];for(let t=0;t<12;t++){let _="",o=0,p=0;for(let n=0;n<32;n++)n<8?p=7-n:n<16?p=23-n:n<24?p=39-n:n<32&&(p=55-n),o+=Number(i[e.getFieldValue(t+"-"+n)])*Math.pow(2,31-p);_+=n(o.toString(16)),s.unshift(_)}let _=[];for(let e=0;e>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},UY=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.picture("+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+","+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+","+t.valueToCode(this,"direct",t.ORDER_ASSIGNMENT)+")\n"},wY=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),a=this.getFieldValue("center"),u=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True",r=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==r.slice(0,2))var l="onboard_tft.shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+a+", color="+r+",sync="+u+")\n";else{const e=r.match(/\d+/g);var d="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");l="onboard_tft.shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+a+", color=0x"+((16252928&d)>>8|(64512&d)>>5|(255&d)>>3).toString(16)+",sync="+u+")\n"}return l},kY=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==o.slice(0,2))var p="onboard_tft.frame("+n+", size="+s+", delay="+_+", color="+o+")\n";else{const e=o.match(/\d+/g);var a="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");p="onboard_tft.frame("+n+", size="+s+", delay="+_+", color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},HY=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(e,"x",t.ORDER_ATOMIC),s=t.valueToCode(e,"y",t.ORDER_ATOMIC),_=t.valueToCode(e,"w",t.ORDER_ATOMIC),o=t.valueToCode(e,"h",t.ORDER_ATOMIC),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),a=e.getFieldValue("shape"),u=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var r="onboard_tft."+a+"("+n+", "+s+", "+_+", "+o+", "+p+",sync="+u+")\n";else{const e=p.match(/\d+/g);var l="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");r="onboard_tft."+a+"("+n+", "+s+", "+_+", "+o+", 0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+",sync="+u+")\n"}return r},WY=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(e,"x",t.ORDER_ATOMIC),s=t.valueToCode(e,"y",t.ORDER_ATOMIC),_=t.valueToCode(e,"length",t.ORDER_ATOMIC),o=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),p=e.getFieldValue("dir_h_v"),a=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==o.slice(0,2))var u="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+_+", "+o+",sync="+a+")\n";else{const e=o.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+_+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},KY=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(e,"x1",t.ORDER_ATOMIC),s=t.valueToCode(e,"y1",t.ORDER_ATOMIC),_=t.valueToCode(e,"x2",t.ORDER_ATOMIC),o=t.valueToCode(e,"y2",t.ORDER_ATOMIC),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),a=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var u="onboard_tft.line("+n+", "+s+", "+_+", "+o+", "+p+",sync="+a+")\n";else{const e=p.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u="onboard_tft.line("+n+", "+s+", "+_+", "+o+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},JY=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft",["onboard_tft.pixel(int("+t.valueToCode(e,"x",t.ORDER_ATOMIC)+"), int("+t.valueToCode(e,"y",t.ORDER_ATOMIC)+"))",t.ORDER_ATOMIC]},qY=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),o=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==_.slice(0,2))var p="onboard_tft.pixel(int("+n+"), int("+s+"), "+_+",sync="+o+")\n";else{const e=_.match(/\d+/g);var a="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");p="onboard_tft.pixel(int("+n+"), int("+s+"), 0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+",sync="+o+")\n"}return p},zY=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"VAR",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==n.slice(0,2))var _="onboard_tft.fill("+n+",sync="+s+")\n";else{const e=n.match(/\d+/g);var o="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");_="onboard_tft.fill(0x"+((16252928&o)>>8|(64512&o)>>5|(255&o)>>3).toString(16)+",sync="+s+")\n"}return _},QY=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=o+"=Clock("+n+", "+s+", "+_+", "+p+")\n";else{const e=p.match(/\d+/g);var u="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");a=o+"=Clock("+n+", "+s+", "+_+", 0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},jY=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT)+".set_rtctime()\n"},$Y=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT)+".set_time("+t.valueToCode(this,"h",t.ORDER_ASSIGNMENT)+", "+t.valueToCode(this,"m",t.ORDER_ASSIGNMENT)+", "+t.valueToCode(this,"s",t.ORDER_ASSIGNMENT)+")\n"},ZY=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT)+".draw_clock()\n"},eX=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==s.slice(0,2))var _=n+".clear("+s+")\n";else{const e=s.match(/\d+/g);var o="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");_=n+".clear(0x"+((16252928&o)>>8|(64512&o)>>5|(255&o)>>3).toString(16)+")\n"}return _},tX=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(e,"x",t.ORDER_ATOMIC),s=t.valueToCode(e,"y",t.ORDER_ATOMIC),_=t.valueToCode(e,"r",t.ORDER_ATOMIC),o=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),p=e.getFieldValue("shape"),a=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==o.slice(0,2))var u="onboard_tft.ellipse("+n+", "+s+", "+_+", "+_+", "+o+", "+p+",sync="+a+")\n";else{const e=o.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u="onboard_tft.ellipse("+n+", "+s+", "+_+", "+_+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+", "+p+",sync="+a+")\n"}return u},iX=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];if("Python ESP32-S3"===Ce.JSFuncs.getPlatform()){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n="onboard_tft.pointern(angle="+t.valueToCode(this,"angle",t.ORDER_ASSIGNMENT)+")\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.pointern(angle="+t.valueToCode(this,"angle",t.ORDER_ASSIGNMENT)+")\n"}return n},nX=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"angle",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==s.slice(0,2));else{const e=s.match(/\d+/g);var _="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");((16252928&_)>>8|(64512&_)>>5|(255&_)>>3).toString(16)}return"onboard_tft.pointern(angle="+n+")\n"},sX=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),a=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var u="onboard_tft.texts("+n+", x="+s+", y="+_+", size="+o+", color="+p+",sync="+a+")\n";else{const e=p.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u="onboard_tft.texts("+n+", x="+s+", y="+_+", size="+o+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},_X=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"direct",t.ORDER_ATOMIC);t.valueToCode(this,"boolean",t.ORDER_ATOMIC);return"onboard_tft.qrcode("+n+")\n"},oX=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),a=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True",u=this.getFieldValue("correct");if("0x"==p.slice(0,2))var r="onboard_tft.qrcode("+n+",x="+s+",y="+_+",size="+o+",correct="+u+",color="+p+",sync="+a+")\n";else{const e=p.match(/\d+/g);var l="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");r="onboard_tft.qrcode("+n+",x="+s+",y="+_+",size="+o+",correct="+u+",color=0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+",sync="+a+")\n"}return r},pX=Jv,aX=dY,uX=uY,rX=dY,lX=IY,dX=_Y,IX=function(e,t){var i=this.getFieldValue("path"),n=this.getFieldValue("module");return t.definitions_["import_"+i+"_"+n]="from "+i+" import "+n,""},TX=function(e,t){var i=this.getFieldValue("module");return t.definitions_["import_"+i]="import "+i,""},MX=function(e,t){for(var i=this.getFieldValue("NAME"),n=new Array(this.itemCount_),s=0;s {\n"+t.statementToCode(this,"do")+"})\n"},LG=function(){return"control.reset()\n"},NG=function(e,t){return"control.waitMicros("+(t.valueToCode(this,"data",t.ORDER_ATOMIC)||Ce.Profile.default.serial)+")\n"},DG=function(e,t){return"control.raiseEvent("+(t.valueToCode(this,"system_event_bus_source",t.ORDER_ATOMIC)||Ce.Profile.default.serial)+", "+(t.valueToCode(this,"system_event_bus_value",t.ORDER_ATOMIC)||Ce.Profile.default.serial)+")\n"},fG=function(e,t){return"control.onEvent("+(t.valueToCode(this,"system_event_bus_source",t.ORDER_ATOMIC)||Ce.Profile.default.serial)+", "+(t.valueToCode(this,"system_event_bus_value",t.ORDER_ATOMIC)||Ce.Profile.default.serial)+", () => {\n"+t.statementToCode(this,"do")+")\n"},FG=function(e,t){return["control.eventTimestamp()",t.ORDER_ATOMIC]},PG=function(e,t){return["control.eventValue()",t.ORDER_ATOMIC]},vG=function(e,t){return[this.getFieldValue("key"),t.ORDER_ATOMIC]},YG=function(e,t){return[this.getFieldValue("key"),t.ORDER_ATOMIC]},XG=function(e,t){return["control.deviceName()",t.ORDER_ATOMIC]},yG=function(e,t){return["control.deviceSerialNumber()",t.ORDER_ATOMIC]},bG=function(e,t){return"panic("+(t.valueToCode(this,"STATUS_CODE",t.ORDER_ATOMIC)||"1000")+")\n"},xG=function(e,t){switch(t.definitions_.import_time="import time",this.getFieldValue("Time")){case"ms":return["time.ticks_ms()",t.ORDER_ATOMIC];case"us":return["time.ticks_us()",t.ORDER_ATOMIC]}},VG=function(){return"while True:\n pass\n"},BG=function(e,t){return t.definitions_.import_mixgo="import mixgo","reset()\n"},GG=function(e,t){return t.definitions_.import_os="import os","os.uname()"},UG=function(e,t){t.definitions_.import_time="import time";var i=t.valueToCode(this,"DELAY_TIME",t.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},wG=function(e,t){t.definitions_.import_time="import time";var i=t.valueToCode(this,"DELAY_TIME",t.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},kG=function(e,t){return t.definitions_.import_mixgo="import mixgo",(t.valueToCode(this,"VAR",t.ORDER_NONE)||"None")+".init(period="+(t.valueToCode(this,"period",t.ORDER_NONE)||"0")+", mode=Timer."+(t.valueToCode(this,"mode",t.ORDER_NONE)||"None")+", callback="+(t.valueToCode(this,"callback",t.ORDER_NONE)||"None")+")\n"},HG=function(e,t){return t.definitions_.import_machine="import machine",(t.valueToCode(this,"VAR",t.ORDER_NONE)||"None")+" = machine.Timer("+(t.valueToCode(this,"PIN",t.ORDER_NONE)||"None")+",period = "+(t.valueToCode(this,"period",t.ORDER_NONE)||"0")+", mode=machine.Timer."+this.getFieldValue("mode")+", callback="+(t.valueToCode(this,"callback",t.ORDER_NONE)||"None")+")\n"},WG=function(e,t){return t.definitions_.import_time="import time",["time.ticks_diff("+(t.valueToCode(this,"END",t.ORDER_NONE)||"0")+", "+(t.valueToCode(this,"START",t.ORDER_NONE)||"0")+")",t.ORDER_ATOMIC]},KG=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return t.definitions_.import_machine="import machine",i+" = machine.Timer(0)\n"},JG=function(e,t){return t.definitions_.import_machine="import machine",(t.valueToCode(this,"VAR",t.ORDER_NONE)||"None")+".init(period = "+(t.valueToCode(this,"period",t.ORDER_NONE)||"0")+", mode=machine.Timer."+this.getFieldValue("mode")+", callback="+(t.valueToCode(this,"callback",t.ORDER_NONE)||"None")+")\n"},qG=function(e,t){return t.definitions_.import_machine="import machine","wdt = machine.WDT(timeout= "+(t.valueToCode(this,"period",t.ORDER_NONE)||"0")+")\n"},zG=function(e,t){t.definitions_.import_machine="import machine";return"wdt.feed()\n"},QG=function(e,t){t.definitions_.import_machine="import machine";return"machine.reset()\n"},jG=function(e,t){t.definitions_.import_bitbot_onboard_bot51="from bitbot import onboard_bot51";return"onboard_bot51.shutdown()\n"},$G=KG,ZG=JG,eU=WG,tU=UG,iU=function(e,t){return t.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+t.valueToCode(this,"key",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},nU=function(e,t){return t.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+t.valueToCode(this,"key",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"day",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},sU=function(e,t){return t.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api.weather_hourly("+t.valueToCode(this,"key",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"hour",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},_U=function(e,t){return t.definitions_["import_seniverse_api*"]="from seniverse_api import *",this.getFieldValue("mode")+".request("+t.valueToCode(this,"key",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+")\n"},oU=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Weather_now.analysis()";else n='Weather_now.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},pU=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Air_now.analysis()";else n='Air_now.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},aU=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Weather_alarm.analysis()";else n='Weather_alarm.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},uU=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Life_suggestion.analysis()";else n='Life_suggestion.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},rU=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Tide_daily.analysis()";else n='Tide_daily.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},lU=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Location_search.analysis()";else n='Location_search.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},dU=function(e,t){return t.definitions_["import_seniverse_api*"]="from seniverse_api import *",this.getFieldValue("mode")+".request("+t.valueToCode(this,"key",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"day",t.ORDER_ATOMIC)+")\n"},IU=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=t.valueToCode(this,"day",t.ORDER_ATOMIC);if("none"==i)var s="Weather_daily.analysis("+n+")";else s="Weather_daily.analysis("+n+', "'+i+'")';return[s,t.ORDER_ATOMIC]},TU=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=t.valueToCode(this,"day",t.ORDER_ATOMIC);if("none"==i)var s="Air_daily.analysis("+n+")";else s="Air_daily.analysis("+n+', "'+i+'")';return[s,t.ORDER_ATOMIC]},MU=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=t.valueToCode(this,"day",t.ORDER_ATOMIC);if("none"==i)var s="Geo_sun.analysis("+n+")";else s="Geo_sun.analysis("+n+', "'+i+'")';return[s,t.ORDER_ATOMIC]},hU=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=t.valueToCode(this,"day",t.ORDER_ATOMIC);if("none"==i)var s="Geo_moon.analysis("+n+")";else s="Geo_moon.analysis("+n+', "'+i+'")';return[s,t.ORDER_ATOMIC]},mU='
\r\n
{{-d.title}}
\r\n
\r\n {{# if (d.message) { }}\r\n

\r\n {{-d.message}}\r\n

\r\n {{# } }}\r\n
\r\n
',{XML:EU}=Ce,OU=EU.render(mU,{title:"烧录速度",message:"要选择烧录速度,请更改“Burn Speed”,此值将用于向设备烧录代码。如果在用较高的烧录速度时出现问题,请尝试减小此值,这可能是由于外部串行到USB芯片的限制。"}),{XML:RU}=Ce,cU=RU.render(mU,{title:"燒錄速度",message:"要選擇燒錄速度,請更改“Burn Speed”,此值將用於向設備燒錄程式碼。如果在用較高的燒錄速度時出現問題,請嘗試减小此值,這可能是由於外部串列到USB晶片的限制。"}),{XML:gU}=Ce,CU=gU.render(mU,{title:"Burn Speed",message:"To select the flashing speed, change the Burn Speed. This value will be used for flashing the code to the device. If you have issues while flashing the device at high speed, try to decrease this value. This could be due to the external serial-to-USB chip limitations."}),SU=new ge.Generator("Python");SU.INDENT=" ",SU.addReservedWords("False,None,True,and,as,assert,break,class,continue,def,del,elif,else,except,exec,finally,for,from,global,if,import,in,is,lambda,nonlocal,not,or,pass,print,raise,return,try,while,with,yield,NotImplemented,Ellipsis,__debug__,quit,exit,copyright,license,credits,ArithmeticError,AssertionError,AttributeError,BaseException,BlockingIOError,BrokenPipeError,BufferError,BytesWarning,ChildProcessError,ConnectionAbortedError,ConnectionError,ConnectionRefusedError,ConnectionResetError,DeprecationWarning,EOFError,Ellipsis,EnvironmentError,Exception,FileExistsError,FileNotFoundError,FloatingPointError,FutureWarning,GeneratorExit,IOError,ImportError,ImportWarning,IndentationError,IndexError,InterruptedError,IsADirectoryError,KeyError,KeyboardInterrupt,LookupError,MemoryError,ModuleNotFoundError,NameError,NotADirectoryError,NotImplemented,NotImplementedError,OSError,OverflowError,PendingDeprecationWarning,PermissionError,ProcessLookupError,RecursionError,ReferenceError,ResourceWarning,RuntimeError,RuntimeWarning,StandardError,StopAsyncIteration,StopIteration,SyntaxError,SyntaxWarning,SystemError,SystemExit,TabError,TimeoutError,TypeError,UnboundLocalError,UnicodeDecodeError,UnicodeEncodeError,UnicodeError,UnicodeTranslateError,UnicodeWarning,UserWarning,ValueError,Warning,ZeroDivisionError,_,__build_class__,__debug__,__doc__,__import__,__loader__,__name__,__package__,__spec__,abs,all,any,apply,ascii,basestring,bin,bool,buffer,bytearray,bytes,callable,chr,classmethod,cmp,coerce,compile,complex,copyright,credits,delattr,dict,dir,divmod,enumerate,eval,exec,execfile,exit,file,filter,float,format,frozenset,getattr,globals,hasattr,hash,help,hex,id,input,int,intern,isinstance,issubclass,iter,len,license,list,locals,long,map,max,memoryview,min,next,object,oct,open,ord,pow,print,property,quit,range,raw_input,reduce,reload,repr,reversed,round,set,setattr,slice,sorted,staticmethod,str,sum,super,tuple,type,unichr,unicode,vars,xrange,zip"),SU.ORDER_ATOMIC=0,SU.ORDER_COLLECTION=1,SU.ORDER_STRING_CONVERSION=1,SU.ORDER_UNARY_POSTFIX=1,SU.ORDER_UNARY_PREFIX=2,SU.ORDER_MEMBER=2.1,SU.ORDER_FUNCTION_CALL=2.2,SU.ORDER_EXPONENTIATION=3,SU.ORDER_UNARY_SIGN=4,SU.ORDER_BITWISE_NOT=4,SU.ORDER_MULTIPLICATIVE=5,SU.ORDER_ADDITIVE=6,SU.ORDER_BITWISE_SHIFT=7,SU.ORDER_BITWISE_AND=8,SU.ORDER_BITWISE_XOR=9,SU.ORDER_BITWISE_OR=10,SU.ORDER_RELATIONAL=11,SU.ORDER_EQUALITY=11,SU.ORDER_LOGICAL_NOT=12,SU.ORDER_LOGICAL_AND=13,SU.ORDER_LOGICAL_OR=14,SU.ORDER_ASSIGNMENT=14,SU.ORDER_CONDITIONAL=15,SU.ORDER_LAMBDA=16,SU.ORDER_NONE=99,SU.ORDER_OVERRIDES=[[SU.ORDER_FUNCTION_CALL,SU.ORDER_MEMBER],[SU.ORDER_FUNCTION_CALL,SU.ORDER_FUNCTION_CALL],[SU.ORDER_MEMBER,SU.ORDER_MEMBER],[SU.ORDER_MEMBER,SU.ORDER_FUNCTION_CALL]],SU.init=function(){SU.PASS=this.INDENT+"pass\n",SU.definitions_=Object.create(null),SU.functionNames_=Object.create(null),SU.setups_=Object.create(null),SU.loops_=Object.create(null),SU.codeEnd_=Object.create(null),SU.variableDB_?SU.variableDB_.reset():SU.variableDB_=new Ne(SU.RESERVED_WORDS_)},SU.finish=function(e){""!==e&&(e=(e=e.replace(/\n/g,"\n")).replace(/\n\s+$/,"\n"));var t=[],i=[],n=[];for(var s in this.definitions_){var _=this.definitions_[s];0===s.indexOf("import")?t.push(_):0===s.indexOf("var_declare")?i.push(_):n.push(_)}t.length&&t.push("\n"),i.length&&i.push("\n"),n.length&&n.push("\n");var o=[];for(var s in SU.functions_)o.push(SU.functions_[s]);o.length&&o.push("\n");var p=[];for(var s in SU.setups_)p.push(SU.setups_[s]);p.length&&p.push("\n");var a=[];for(var s in SU.loops_)a.push(SU.loops_[s]);var u=[];for(var s in SU.codeEnd_)u.push(SU.codeEnd_[s]);0!==u.length&&u.push("\n");let r="";return r=a.length>0?t.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+e+"while True:\n"+a.join("")+u.join("\n"):t.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+e+u.join("\n"),r},SU.scrubNakedValue=function(e){return e+"\n"},SU.quote_=function(e){var t="'";return-1!==(e=e.replace(/\\/g,"\\\\").replace(/\n/g,"\\\n")).indexOf("'")&&(-1===e.indexOf('"')?t='"':e=e.replace(/'/g,"\\'")),t+e+t},SU.multiline_quote_=function(e){return"'''"+(e=e.replace(/'''/g,"\\'\\'\\'"))+"'''"},SU.scrub_=function(e,t,i){var n="";if(!e.outputConnection||!e.outputConnection.targetConnection){(_=e.getCommentText())&&(_=ge.utils.string.wrap(_,SU.COMMENT_WRAP-3),n+=SU.prefixLines(_+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const AU={};AU.mpython={description:"MicroPython[EDUCORE Edu Core]",digital_pin:Ce.Profile.generate(["0-10","18"]),input_pin:Ce.Profile.generate(["0-10","18"]),output_pin:Ce.Profile.generate(["0-10","18"]),pwm_input:Ce.Profile.generate(["0-10","18"],"pwm","pwm"),analog_input:Ce.Profile.generate(["0-4"],"adc","adc"),pwm_output:Ce.Profile.generate(["0-10","18"],"pwm","pwm"),analog_output:Ce.Profile.generate(["0-4"],"adc","adc"),espnow_channel:Ce.Profile.generate(["1-13"]),haskylens_model:Ce.Profile.generate(["0-4"]),digital:Ce.Profile.generate(["0-10","18"],"pin","pin"),pwm_pin:Ce.Profile.generate(["0-10","18"]),pwm:Ce.Profile.generate(["0-10","18"],"pwm","pwm"),analog_pin:Ce.Profile.generate(["0-4"]),analog:Ce.Profile.generate(["0-4"],"adc","adc"),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:Ce.Profile.generate(["0-4"]),exlcdh:Ce.Profile.generate(["0-11"]),exlcdv:Ce.Profile.generate(["0-7"]),brightness:Ce.Profile.generate(["0-9"]),tts_voice:Ce.Profile.generate(["0-16"]),tts_builtin_music:Ce.Profile.generate(["0-47"]),tts_bgmusic:Ce.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["ANGRY","onboard_matrix.ANGRY"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["DOOR_OPEN","onboard_matrix.DOOR_OPEN"],["DOOR_OPENING","onboard_matrix.DOOR_OPENING"],["DOOR_CLOSE","onboard_matrix.DOOR_CLOSE"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["BIRTHDAY","onboard_music.BIRTHDAY"],["BA_DING","onboard_music.BA_DING"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]},AU["ESP32C2 Generic(2M)"]={description:"MicroPython[ESP32C3 MixGo CC]",digital_pin:Ce.Profile.generate(["0-11","18-21"]),input_pin:Ce.Profile.generate(["0-11","18-21"]),output_pin:Ce.Profile.generate(["0-11","18-21"]),pwm_input:Ce.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_input:Ce.Profile.generate(["0-5"],"adc","adc"),pwm_output:Ce.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_output:Ce.Profile.generate(["0-5"],"adc","adc"),espnow_channel:Ce.Profile.generate(["1-13"]),haskylens_model:Ce.Profile.generate(["0-4"]),digital:Ce.Profile.generate(["0-11","18-21"],"pin","pin"),pwm_pin:Ce.Profile.generate(["0-11","18-21"]),pwm:Ce.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_pin:Ce.Profile.generate(["0-5"]),analog:Ce.Profile.generate(["0-5"],"adc","adc"),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:Ce.Profile.generate(["0-4"]),exlcdh:Ce.Profile.generate(["0-31"]),exlcdv:Ce.Profile.generate(["0-11"]),brightness:Ce.Profile.generate(["0-9"]),tts_voice:Ce.Profile.generate(["0-16"]),tts_builtin_music:Ce.Profile.generate(["0-47"]),tts_bgmusic:Ce.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]};const LU=AU,NU=20,DU={init:function(){this.setColour(NU),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_HIGH,"HIGH"],[ge.Msg.MIXLY_LOW,"LOW"]]),"BOOL"),this.setOutput(!0,Boolean),this.setTooltip(ge.Msg.MIXLY_ESP32_INOUT_HIGHLOW_TOOLTIP)}},fU={init:function(){this.setColour(NU),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_Digital_PINMODEOUT).setCheck(Number),this.appendValueInput("STAT").appendField(ge.Msg.MIXLY_STAT).setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_INOUT_DIGITAL_WRITE_TOOLTIP)}},FU={init:function(){this.setColour(NU),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(ge.Msg.MIXLY_Digital_PINMODEIN).setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_MACHINE_VALUE),this.setInputsInline(!0),this.setOutput(!0,[Boolean,Number]),this.setTooltip(ge.Msg.MIXLY_ESP32_INOUT_DIGITAL_READ_TOOLTIP)}},PU={init:function(){this.setColour(NU),this.appendValueInput("PIN",Number).appendField("DAC"+ge.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendValueInput("NUM",Number).appendField(ge.Msg.MIXLY_VALUE2).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ge.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_TOOLTIP)}},vU={init:function(){this.setColour(NU),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_JS_PERIOD_MIL).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_mSecond,"period"],[ge.Msg.MIXLY_uSecond,"period_microseconds"]]),"key"),this.appendValueInput("NUM",Number).appendField(ge.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ge.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_SET_TOOLTIP)}},YU={init:function(){this.setColour(NU),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_Analog_PINMODEIN).setCheck(Number),this.appendDummyInput("").appendField(ge.Msg.MIXLY_ESP32_REF_VOLTAGE+ge.Msg.MIXLY_STAT).appendField(new ge.FieldDropdown([["3.3V","machine.ADC.ATTN_11DB"],["2.2V","machine.ADC.ATTN_6DB"],["1.5V","machine.ADC.ATTN_2_5DB"],["1.2V","machine.ADC.ATTN_0DB"]]),"atten"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ge.Msg.MIXLY_ESP32_INOUT_ANALOG_ATTEN_TOOLTIP)}},XU={init:function(){this.setColour(NU),this.appendValueInput("pin").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(ge.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_MACHINE_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_INOUT_PIN_PRESSED_TOOLTIP)}},yU={init:function(){this.setColour(20),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_ATTACHINTERRUPT_PIN).setCheck(Number),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MODE).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[ge.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[ge.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(ge.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_INOUT_PIN_ATTACHINTERRUPT_TOOLTIP)}},bU={init:function(){this.setColour(20),this.appendDummyInput().appendField(ge.Msg.MIXLY_SETUP).appendField(new ge.FieldTextInput("pin#"),"PIN_OBJ"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROPYTHON_AS).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_Digital_PINMODEOUT,"machine.Pin.OUT"],[ge.Msg.MIXLY_Digital_PINMODEIN,"machine.Pin.IN"],[ge.Msg.MIXLY_PINMODEPULLUP,"machine.Pin.IN, machine.Pin.PULL_UP"],[ge.Msg.MIXLY_PINMODEPULLDOWN,"machine.Pin.IN, machine.Pin.PULL_DOWN"]]),"MODE"),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_INOUT_DIGITAL_INIT_TOOLTIP)},getVars:function(){return["pin#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(e,t){ge.Names.equals(e,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(t,"PIN_OBJ")}},xU={init:function(){this.setColour(NU),this.appendDummyInput("").appendField(ge.Msg.MIXLY_SETUP).appendField(new ge.FieldTextInput("dac#"),"PIN_OBJ").appendField(ge.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField("DAC"+ge.Msg.MIXLY_Analog_PINMODEOUT),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ge.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_INIT_TOOLTIP)},getVars:function(){return["dac#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(e,t){ge.Names.equals(e,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(t,"PIN_OBJ")}},VU={init:function(){this.setColour(NU),this.appendDummyInput("").appendField(ge.Msg.MIXLY_SETUP).appendField(new ge.FieldTextInput("tc#"),"PIN_OBJ").appendField(ge.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField(ge.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ge.Msg.MIXLY_ESP32_INOUT_PIN_PRESSED_INIT_TOOLTIP)},getVars:function(){return["tc#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(e,t){ge.Names.equals(e,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(t,"PIN_OBJ")}},BU={init:function(){this.setColour(NU),this.appendValueInput("PIN",Number).appendField("PWM"+ge.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendValueInput("NUM",Number).appendField(ge.Msg.MIXLY_FREQUENCY+ge.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ge.Msg.MIXLY_ESP32_INOUT_PWM_ANALOG_WRITE_SET_FREQ_TOOLTIP)}},GU=bU,UU=VU,wU=XU,kU=yU,HU=40,WU={init:function(){if("mixgo_me"==Ce.Boards.getSelectedBoardKey().split(":")[2])var e="ME G1";this.setColour(HU),this.appendDummyInput("").appendField(e).appendField(ge.Msg.MIXLY_TEM_HUM+" AHT21").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_GETTEMPERATUE,"temperature"],[ge.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{temperature:ge.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,relative_humidity:ge.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},KU={init:function(){if("mixgo_me"==Ce.Boards.getSelectedBoardKey().split(":")[2])var e="ME G1";this.setColour(HU),this.appendDummyInput("").appendField(e).appendField(ge.Msg.MIXLY_Altitude+ge.Msg.MSG.catSensor+" HP203X").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_GETPRESSURE,"pressure()"],[ge.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[ge.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},JU={init:function(){if("mixgo_me"==Ce.Boards.getSelectedBoardKey().split(":")[2])var e="ME G1";this.setColour(HU),this.appendDummyInput().appendField(e).appendField(ge.Msg.MIXLY_MIXGO_NOVA_POTENTIAL_NUM),this.setOutput(!0,Number),this.setInputsInline(!0)}},qU={init:function(){if("mixgo_me"==Ce.Boards.getSelectedBoardKey().split(":")[2])var e="ME G1";this.setColour(HU),this.appendDummyInput().appendField(e).appendField("RFID"+ge.Msg.MIXLY_RFID_READ_CARD),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RFID_READ_CARD_UID),this.setOutput(!0,Number),this.setInputsInline(!0)}},zU={init:function(){if("mixgo_me"==Ce.Boards.getSelectedBoardKey().split(":")[2])var e="ME G1";this.setColour(HU),this.appendDummyInput().appendField(e).appendField("RFID"+ge.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SECTOR").appendField(ge.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL),this.setOutput(!0,Number),this.setInputsInline(!0)}},QU={init:function(){if("mixgo_me"==Ce.Boards.getSelectedBoardKey().split(":")[2])var e="ME G1";this.setColour(HU),this.appendDummyInput().appendField(e).appendField(ge.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SECTOR").appendField(ge.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(ge.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},jU={init:function(){if("mixgo_me"==Ce.Boards.getSelectedBoardKey().split(":")[2])var e="ME G1";this.setColour(HU),this.appendDummyInput().appendField(e).appendField(ge.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SECTOR").appendField(ge.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(ge.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(ge.Msg.RETURN_SUCCESS_OR_NOT),this.setInputsInline(!0),this.setOutput(!0)}},$U={init:function(){if("mixgo_me"==Ce.Boards.getSelectedBoardKey().split(":")[2])var e="ME G1";this.setColour(HU),this.appendDummyInput().appendField(e).appendField("RFID"),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_RFID_SCAN_OK,"True"],[ge.Msg.MIXLY_RFID_SCAN_NOTAGERR,"None"],[ge.Msg.MIXLY_RFID_SCAN_ERROR,"False"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},ZU=100,ew={init:function(){this.setColour(ZU),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXGO_LEFT_FRONT+ge.Msg.COLOUR_RGB_GREEN+ge.Msg.MIXLY_EXTERN_LED,"GLED[0]"],[ge.Msg.MIXGO_RIGHT_FRONT+ge.Msg.COLOUR_RGB_GREEN+ge.Msg.MIXLY_EXTERN_LED,"GLED[1]"],[ge.Msg.MIXGO_LEFT_BACK+ge.Msg.COLOUR_RGB_GREEN+ge.Msg.MIXLY_EXTERN_LED,"GLED[3]"],[ge.Msg.MIXGO_RIGHT_BACK+ge.Msg.COLOUR_RGB_GREEN+ge.Msg.MIXLY_EXTERN_LED,"GLED[2]"],[ge.Msg.MIXGO_LEFT_FRONT+ge.Msg.COLOUR_RGB_RED+ge.Msg.MIXLY_EXTERN_LED,"RLED[0]"],[ge.Msg.MIXGO_RIGHT_FRONT+ge.Msg.COLOUR_RGB_RED+ge.Msg.MIXLY_EXTERN_LED,"RLED[1]"],[ge.Msg.MIXGO_LEFT_BACK+ge.Msg.COLOUR_RGB_RED+ge.Msg.MIXLY_EXTERN_LED,"RLED[3]"],[ge.Msg.MIXGO_RIGHT_BACK+ge.Msg.COLOUR_RGB_RED+ge.Msg.MIXLY_EXTERN_LED,"RLED[2]"],[ge.Msg.ME_GO_LIGHT_HEADLIGHT,"WLED"]]),"op"),this.setOutput(!0)}},tw={init:function(){this.setColour(ZU),this.appendDummyInput().appendField(ge.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField("ME GO"),this.appendValueInput("bright").appendField(ge.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_LED_SETONOFF)}},iw={init:function(){this.setColour(ZU),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField("ME GO"),this.appendDummyInput().appendField(ge.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_LED_GETONOFF)}},nw={init:function(){this.setColour(ZU),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField("ME GO"),this.appendDummyInput().appendField(ge.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_LED_GETONOFF)}},sw={init:function(){this.setColour(ZU),this.appendDummyInput().appendField(ge.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField("ME GO"),this.appendValueInput("bright").appendField(ge.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_SETTING+ge.Msg.MIXLY_BUILDIN_LED+ge.Msg.MIXLY_BRIGHTNESS+"(0-10)")}},_w={init:function(){this.setColour(ZU),this.appendDummyInput().appendField("ME GO").appendField(new ge.FieldDropdown([[ge.Msg.blockpy_forward,"F"],[ge.Msg.blockpy_backward,"B"],[ge.Msg.blockpy_left,"L"],[ge.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},ow={init:function(){this.setColour(ZU),this.appendDummyInput().appendField("ME GO").appendField(new ge.FieldDropdown([[ge.Msg.MOTOR_P,"P"],[ge.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},pw={init:function(){this.setColour(ZU),this.appendDummyInput().appendField("ME GO").appendField(ge.Msg.MOTOR_DC).appendField(new ge.FieldDropdown([[ge.Msg.MIXLYCAR_WHEEL_LEFT,"0"],[ge.Msg.MIXLYCAR_WHEEL_RIGHT,"1"],[ge.Msg.ME_GO_MOTOR_EXTERN,"2"]]),"wheel"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Direction).appendField(new ge.FieldDropdown([[ge.Msg.ROTATION_FORWARD,"CW"],[ge.Msg.ROTATION_BACKWARD,"CCW"],[ge.Msg.MOTOR_P,"P"],[ge.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},aw={init:function(){this.setColour(ZU),this.appendDummyInput("").appendField(ge.Msg.MIXLY_ESP32_INTERRUPT).appendField(ge.Msg.ME_GO_HALL_SENSOR),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.TEXT_TRIM_LEFT,"A"],[ge.Msg.TEXT_TRIM_RIGHT,"B"]]),"mode"),this.appendValueInput("DO").appendField(ge.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},uw={init:function(){this.setColour(ZU),this.appendDummyInput("").appendField(ge.Msg.ME_GO_HALL_SENSOR),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.TEXT_TRIM_LEFT,"A"],[ge.Msg.TEXT_TRIM_RIGHT,"B"]]),"mode"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_SETUP),this.appendDummyInput("").appendField(new ge.FieldDropdown([["turns","turns"],["distance","distance"],["turns,distance","all"]]),"args"),this.appendValueInput("num").setCheck(Number),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},rw={init:function(){this.setColour(ZU),this.appendDummyInput("").appendField(ge.Msg.ME_GO_HALL_SENSOR),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.TEXT_TRIM_LEFT,"A"],[ge.Msg.TEXT_TRIM_RIGHT,"B"]]),"mode"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput("").appendField(new ge.FieldDropdown([["turns","turns"],["distance","distance"],["speed","speed"]]),"args"),this.setOutput(!0),this.setInputsInline(!0)}},lw={init:function(){this.setColour(ZU),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new ge.FieldDropdown([[ge.Msg.TEXT_TRIM_LEFT,"[0]"],[ge.Msg.MIXGO_LEFT_MID,"[1]"],[ge.Msg.MIXGO_RIGHT_MID,"[2]"],[ge.Msg.TEXT_TRIM_RIGHT,"[3]"],[ge.Msg.MIXLY_ALL,""]]),"key").appendField(ge.Msg.MIXGO_LINE_SENSOR_VAL),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip((function(){return ge.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP+ge.Msg.MIXLY_ESP32_NEAR}))}},dw={init:function(){this.setColour(ZU),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new ge.FieldDropdown([[ge.Msg.MIXGO_LEFT_FRONT,"[0]"],[ge.Msg.MIXGO_RIGHT_FRONT,"[1]"],[ge.Msg.MIXGO_LEFT_BACK,"[3]"],[ge.Msg.MIXGO_RIGHT_BACK,"[2]"],[ge.Msg.MIXLY_ALL,""]]),"key").appendField(ge.Msg.MIXGO_PROXIMITY_SENSOR),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip((function(){return ge.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP+ge.Msg.MIXLY_ESP32_NEAR}))}},Iw={init:function(){this.setColour(ZU),this.appendDummyInput().appendField(ge.Msg.MIXLY_MIXGO_CAR_SENSOR_ONBOARD_CHANGE).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_ME_GO_CAR_SENSOR_ONBOARD_AUTO_CHANGE,"AS"],[ge.Msg.MIXLY_MIXGO_CAR_USE_LINE_ONLY,"LP"],[ge.Msg.MIXLY_MIXGO_CAR_USE_PROXIMITY_ONLY,"OA"],[ge.Msg.MIXLY_ME_GO_CAR_LIGHT_SEEKING_ONLY,"LS"],[ge.Msg.ME_GO_SENSOR_MODE_OFF,"CL"]]),"key"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Tw={init:function(){this.setColour(ZU),this.appendDummyInput("").appendField(ge.Msg.MIXLY_GET_GESTURE).appendField(new ge.FieldDropdown([[ge.Msg.ME_GO_PITCH,"[0]"],[ge.Msg.ME_GO_ROLL,"[1]"],[ge.Msg.ME_GO_PITCH+", "+ge.Msg.ME_GO_ROLL,""]]),"angle"),this.appendDummyInput(""),this.setOutput(!0,Number),this.setInputsInline(!0)}},Mw={init:function(){this.setColour(ZU),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new ge.FieldDropdown([[ge.Msg.TEXT_TRIM_LEFT,"[0]"],[ge.Msg.MIXGO_LEFT_MID,"[1]"],[ge.Msg.MIXGO_RIGHT_MID,"[2]"],[ge.Msg.TEXT_TRIM_RIGHT,"[3]"],[ge.Msg.MIXLY_ALL,""]]),"key").appendField(ge.Msg.MIXLY_ME_GO_CAR_LIGHT_SEEKING_SENSOR),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip((function(){return ge.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP+ge.Msg.MIXLY_ME_GO_CAR_LIGHT_SEEKING_SENSOR}))}},hw=230,mw={init:function(){this.setColour(hw),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.digital),"PIN"),this.setOutput(!0)}},Ew={init:function(){this.setColour(hw),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.digital_pin),"PIN"),this.setOutput(!0,Number)}},Ow={init:function(){this.setColour(hw),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.input_pin),"PIN"),this.setOutput(!0,Number)}},Rw={init:function(){this.setColour(hw),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.output_pin),"PIN"),this.setOutput(!0,Number)}},cw={init:function(){this.setColour(hw),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.espnow_channel),"PIN"),this.setOutput(!0,Number)}},gw={init:function(){this.setColour(hw),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.haskylens_model),"PIN"),this.setOutput(!0,Number)}},Cw={init:function(){this.setColour(hw),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.pwm_input),"PIN"),this.setOutput(!0)}},Sw={init:function(){this.setColour(hw),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.analog_input),"PIN"),this.setOutput(!0)}},Aw={init:function(){this.setColour(hw),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.pwm_output),"PIN"),this.setOutput(!0)}},Lw={init:function(){this.setColour(hw),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.analog_output),"PIN"),this.setOutput(!0)}},Nw={init:function(){this.setColour(hw),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.i2c_A_pin),"PIN"),this.setOutput(!0,Number)}},Dw={init:function(){this.setColour(hw),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.i2c_B_pin),"PIN"),this.setOutput(!0,Number)}},fw={init:function(){this.setColour(hw),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.spi_A_pin),"PIN"),this.setOutput(!0,Number)}},Fw={init:function(){this.setColour(hw),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.spi_B_pin),"PIN"),this.setOutput(!0,Number)}},Pw={init:function(){this.setColour(hw),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.spi_C_pin),"PIN"),this.setOutput(!0,Number)}},vw={init:function(){this.setColour(hw),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.spi_D_pin),"PIN"),this.setOutput(!0,Number)}},Yw={init:function(){this.setColour(hw),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.analog),"PIN"),this.setOutput(!0)}},Xw={init:function(){this.setColour(hw),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.analog_pin),"PIN"),this.setOutput(!0,Number)}},yw={init:function(){this.setColour(hw),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.dac),"PIN"),this.setOutput(!0)}},bw={init:function(){this.setColour(hw),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.dac_pin),"PIN"),this.setOutput(!0,Number)}},xw={init:function(){this.setColour(hw),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.button),"PIN"),this.setOutput(!0,Number)}},Vw={init:function(){this.setColour(hw),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.buttonB),"PIN"),this.setOutput(!0,Number)}},Bw={init:function(){this.setColour(hw),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.pwm),"PIN"),this.setOutput(!0)}},Gw={init:function(){this.setColour(hw),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.pwm_pin),"PIN"),this.setOutput(!0,Number)}},Uw={init:function(){this.setColour(hw),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.touch_pin),"PIN"),this.setOutput(!0,Number)}},ww={init:function(){this.setColour(hw),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.touch),"PIN"),this.setOutput(!0)}},kw={init:function(){this.setColour(hw),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.serial_pin),"PIN"),this.setOutput(!0,Number)}},Hw={init:function(){this.setColour(hw),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.builtinimg),"PIN"),this.setOutput(!0,"esp32_image")}},Ww={init:function(){this.setColour(hw),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.builtinimg_extern),"PIN"),this.setOutput(!0,"esp32_image")}},Kw={init:function(){this.setColour(hw),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.imglist),"PIN"),this.setOutput(!0)}},Jw={init:function(){this.setColour(hw),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.playlist),"PIN"),this.setOutput(!0)}},qw={init:function(){this.setColour(hw),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.playlist_extern),"PIN"),this.setOutput(!0)}},zw={init:function(){this.setColour(hw),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.exlcdh),"PIN"),this.setOutput(!0,Number)}},Qw={init:function(){this.setColour(hw),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.exlcdv),"PIN"),this.setOutput(!0,Number)}},jw={init:function(){this.setColour(hw),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.axis),"PIN"),this.setOutput(!0,Number)}},$w={init:function(){this.setColour(hw),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.brightness),"PIN"),this.setOutput(!0,Number)}},Zw={init:function(){this.setColour(hw),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.tts_voice),"PIN"),this.setOutput(!0,Number)}},ek={init:function(){this.setColour(hw),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.tts_builtin_music),"PIN"),this.setOutput(!0,Number)}},tk={init:function(){this.setColour(hw),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.tts_bgmusic),"PIN"),this.setOutput(!0,Number)}},ik={init:function(){this.setColour(hw),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.tone_notes),"PIN"),this.setOutput(!0,Number)}},nk={init:function(){this.setColour(hw),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.radio_power),"PIN"),this.setOutput(!0,Number)}},sk={init:function(){this.setColour(hw),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.radio_datarate),"PIN"),this.setOutput(!0,Number)}},_k={init:function(){this.setColour(hw),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.one_more),"PIN"),this.setOutput(!0)}},ok={init:function(){this.setColour(hw),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.digital_dot),"PIN"),this.setOutput(!0,Number)}},pk=function(e,t){return["HIGH"==this.getFieldValue("BOOL")?"1":"0",t.ORDER_ATOMIC]},ak=function(e,t){t.definitions_.import_machine="import machine";var i="";return i+=t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+".value("+t.valueToCode(this,"STAT",t.ORDER_ATOMIC)+")\n"},uk=function(e,t){t.definitions_.import_machine="import machine";return[t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+".value()",t.ORDER_ATOMIC]},rk=function(e,t){return t.definitions_.import_machine="import machine",t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+".write("+t.valueToCode(this,"NUM",t.ORDER_ATOMIC)+")\n"},lk=function(e,t){t.definitions_.import_machine="import machine";var i=t.valueToCode(this,"PIN",t.ORDER_ATOMIC),n=t.valueToCode(this,"NUM",t.ORDER_ATOMIC);return i+".set_analog_"+this.getFieldValue("key")+"("+n+")\n"},dk=function(e,t){return t.definitions_.import_machine="import machine",[t.valueToCode(this,"pin",t.ORDER_ATOMIC)+".read()",t.ORDER_ATOMIC]},Ik=function(e,t){t.definitions_.import_machine="import machine";var i=t.valueToCode(this,"PIN",t.ORDER_ATOMIC),n=this.getFieldValue("mode");return"machine.Pin("+i+").irq(handler = "+t.valueToCode(this,"DO",t.ORDER_ATOMIC)+", trigger = "+n+")\n"},Tk=function(e,t){t.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"pin#",n=t.valueToCode(this,"PIN",t.ORDER_ATOMIC),s=this.getFieldValue("MODE");return("pin#"==i?"pin"+n:t.variableDB_.getName(i,ge.Variables.NAME_TYPE))+" = machine.Pin("+n+", "+s+")\n"},Mk=function(e,t){t.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"dac#",n=t.valueToCode(this,"PIN",t.ORDER_ATOMIC);return("dac#"==i?"dac"+n:t.variableDB_.getName(i,ge.Variables.NAME_TYPE))+" = machine.DAC(machine.Pin("+n+"))\n"},hk=function(e,t){return t.definitions_.import_machine="import machine",t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+".atten("+this.getFieldValue("atten")+")\n"},mk=function(e,t){t.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"tc#",n=t.valueToCode(this,"PIN",t.ORDER_ATOMIC);return("tc#"==i?"tc"+n:t.variableDB_.getName(i,ge.Variables.NAME_TYPE))+" = machine.TouchPad(machine.Pin("+n+"))\n"},Ek=function(e,t){var i=this.getFieldValue("key");return t.definitions_.import_mini_g2="import mini_g2",["mini_g2.ext_ahtx0."+i+"()",t.ORDER_ATOMIC]},Ok=function(e,t){var i=this.getFieldValue("key");return t.definitions_.import_mini_g2="import mini_g2",["mini_g2.ext_hp203x."+i,t.ORDER_ATOMIC]},Rk=function(e,t){t.definitions_.import_mini_g2="import mini_g2";return["mini_g2.varistor()",t.ORDER_ATOMIC]},ck=function(e,t){if(t.definitions_.import_mini_g2="import mini_g2","mixgo_mini"==Ce.Boards.getSelectedBoardKey().split(":")[2]){t.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var i='ext_rfid.read_card(0, x="id")'}else{t.definitions_.import_mini_g2="import mini_g2";i='mini_g2.ext_rc522.read_card(0, x="id")'}return[i,t.ORDER_ATOMIC]},gk=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"SECTOR",t.ORDER_ATOMIC);if("mixgo_mini"==i){t.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var s="ext_rfid.read_card("+n+")"}else{t.definitions_.import_mini_g2="import mini_g2";s="mini_g2.ext_rc522.read_card("+n+")"}return[s,t.ORDER_ATOMIC]},Ck=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"SECTOR",t.ORDER_ATOMIC),s=t.valueToCode(this,"CONTENT",t.ORDER_ATOMIC);if("mixgo_mini"==i){t.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var _="ext_rfid.write_card("+s+","+n+")\n"}else{t.definitions_.import_mini_g2="import mini_g2";_="mini_g2.ext_rc522.write_card("+s+","+n+")\n"}return _},Sk=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"SECTOR",t.ORDER_ATOMIC),s=t.valueToCode(this,"CONTENT",t.ORDER_ATOMIC);if("mixgo_mini"==i){t.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var _="ext_rfid.write_card("+s+","+n+")"}else{t.definitions_.import_mini_g2="import mini_g2";_="mini_g2.ext_rc522.write_card("+s+","+n+")"}return[_,t.ORDER_ATOMIC]},Ak=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2],n=this.getFieldValue("key");if("mixgo_mini"==i){t.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var s="ext_rfid.scan_card()=="+n}else{t.definitions_.import_mini_g2="import mini_g2";s="mini_g2.ext_rc522.scan_card()=="+n}return[s,t.ORDER_ATOMIC]},Lk=function(e,t){return t.definitions_.import_me_go_car="from me_go import car",["car."+this.getFieldValue("op"),t.ORDER_ATOMIC]},Nk=function(e,t){var i=t.valueToCode(this,"led",t.ORDER_ATOMIC);return t.definitions_.import_me_go_car="from me_go import car","car.setonoff("+i+","+t.valueToCode(this,"bright",t.ORDER_ATOMIC)+")\n"},Dk=function(e,t){var i=t.valueToCode(this,"led",t.ORDER_ATOMIC);return t.definitions_.import_me_go_car="from me_go import car",["car.getrightness("+i+")",t.ORDER_ATOMIC]},fk=function(e,t){var i=t.valueToCode(this,"led",t.ORDER_ATOMIC);return t.definitions_.import_me_go_car="from me_go import car",["car.getonoff("+i+")",t.ORDER_ATOMIC]},Fk=function(e,t){var i=t.valueToCode(this,"led",t.ORDER_ATOMIC);return t.definitions_.import_me_go_car="from me_go import car","car.setbrightness("+i+","+t.valueToCode(this,"bright",t.ORDER_ATOMIC)+")\n"},Pk=function(e,t){var i=this.getFieldValue("VAR");return t.definitions_.import_me_go_car="from me_go import car",'car.move("'+i+'",'+t.valueToCode(this,"speed",t.ORDER_ASSIGNMENT)+")\n"},vk=function(e,t){var i=this.getFieldValue("VAR");return t.definitions_.import_me_go_car="from me_go import car",'car.move("'+i+'")\n'},Yk=function(e,t){var i=this.getFieldValue("wheel");t.definitions_.import_me_go_car="from me_go import car";var n=this.getFieldValue("direction");return 0==i&&("CW"==n?n="CCW":"CCW"==n&&(n="CW")),"car.motor(car.MOTO["+i+'],"'+n+'",'+t.valueToCode(this,"speed",t.ORDER_ATOMIC)+")\n"},Xk=function(e,t){var i=this.getFieldValue("mode");return t.definitions_["import_me_go_hall_"+i]="from me_go import hall_"+i,"hall_"+i+".irq_cb("+t.valueToCode(this,"DO",t.ORDER_ATOMIC)+")\n"},yk=function(e,t){var i=this.getFieldValue("mode"),n=this.getFieldValue("args");t.definitions_["import_me_go_hall_"+i]="from me_go import hall_"+i;var s=t.valueToCode(this,"num",t.ORDER_ATOMIC);return"all"==n?"hall_"+i+".initial(turns="+s+",distance="+s+")\n":"hall_"+i+".initial("+n+"="+s+")\n"},bk=function(e,t){var i=this.getFieldValue("mode"),n=this.getFieldValue("args");return t.definitions_["import_me_go_hall_"+i]="from me_go import hall_"+i,["hall_"+i+"."+n,t.ORDER_ATOMIC]},xk=function(e,t){var i=this.getFieldValue("key");return t.definitions_.import_me_go_hall="from me_go import car",["car.patrol()"+i,t.ORDER_ATOMIC]},Vk=function(e,t){var i=this.getFieldValue("key");return t.definitions_.import_me_go_hall="from me_go import car",["car.obstacle()"+i,t.ORDER_ATOMIC]},Bk=function(e,t){var i=this.getFieldValue("key");return t.definitions_.import_me_go_hall="from me_go import car","car.ir_mode(car."+i+")\n"},Gk=function(e,t){return t.definitions_.import_mixgo_me_onboard_mxc6655xa="from mixgo_me import onboard_mxc6655xa",["onboard_mxc6655xa.eulerangles(upright=True)"+this.getFieldValue("angle"),t.ORDER_ATOMIC]},Uk=function(e,t){var i=this.getFieldValue("key");return t.definitions_.import_me_go_hall="from me_go import car",["car.light()"+i,t.ORDER_ATOMIC]},wk=function(e,t){return[this.getFieldValue("PIN"),t.ORDER_ATOMIC]},kk=wk,Hk=wk,Wk=wk,Kk=wk,Jk=wk,qk=wk,zk=wk,Qk=wk,jk=wk,$k=wk,Zk=wk,eH=wk,tH=wk,iH=wk,nH=wk,sH=wk,_H=wk,oH=wk,pH=wk,aH=wk,uH=wk,rH=wk,lH=wk,dH=wk,IH=wk,TH=wk,MH=wk,hH=wk,mH=wk,EH=wk,OH=wk,RH=wk,cH=wk,gH=wk,CH=wk,SH=wk,AH=wk,LH=wk,NH=wk,DH=wk,fH=wk,FH=wk,PH=wk,vH=wk;Object.assign(ge.Variables,Ae),Object.assign(ge.Procedures,Uu),Object.assign(ge.Lang.ZhHans,le),Object.assign(ge.Lang.ZhHant,de),Object.assign(ge.Lang.En,Ie),ge.Python=wu,ge.generator=wu,Ce.Profile.default={},Object.assign(Ce.Profile,LU),Object.assign(Ce.Profile.default,LU["MixGo CC"]),Object.assign(ge.Blocks,t,i,n,s,_,o,p,a,u,r,l,d,I,V,H,k,X,B,W,f,w,U,G,F,D,N,b,y,x,P,v,Y,Te,Me,he,me),Object.assign(ge.Python.forBlock,T,M,h,m,E,O,R,c,g,C,S,A,L,ne,ue,ae,Z,se,re,q,pe,oe,_e,z,J,K,te,ee,ie,Q,j,$,Ee,Oe,Re,ce)})(); \ No newline at end of file diff --git a/boards/default/micropython_educore/main.bundle.705ae874.js b/boards/default/micropython_educore/main.bundle.705ae874.js new file mode 100644 index 00000000..967bff4d --- /dev/null +++ b/boards/default/micropython_educore/main.bundle.705ae874.js @@ -0,0 +1,21 @@ +(()=>{"use strict";var t={d:(e,i)=>{for(var n in i)t.o(i,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:i[n]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};t.r(e),t.d(e,{controls_type:()=>Yt,controls_typeLists:()=>Xt,lists_zip:()=>yt,lists_zip_container:()=>bt,lists_zip_item:()=>xt,unpack_iterable_object:()=>Vt,variables_change:()=>Pt,variables_get:()=>ft,variables_global:()=>vt,variables_set:()=>Ft});var i={};t.r(i),t.d(i,{base_setup:()=>Ut,controls_delay:()=>wt,controls_end_program:()=>kt,controls_except:()=>ie,controls_finally:()=>ne,controls_flow_statements:()=>zt,controls_for:()=>Qt,controls_forEach:()=>Kt,controls_for_range:()=>jt,controls_if:()=>Ht,controls_if_else:()=>te,controls_if_elseif:()=>Zt,controls_if_if:()=>$t,controls_lambda:()=>_e,controls_main:()=>Gt,controls_pass:()=>oe,controls_range:()=>Wt,controls_repeat_ext:()=>se,controls_thread:()=>pe,controls_try:()=>ee,controls_try_finally:()=>qt,controls_whileUntil:()=>Jt,datetime_fromtimestamp:()=>Ie,do_while:()=>ae,garbage_collection:()=>ue,gene_unique_identifier:()=>Te,get_mem_alloc:()=>re,get_mem_free:()=>le,get_unique_identifier:()=>de});var n={};t.r(n),t.d(n,{base_map:()=>ye,generate_cartesian_product:()=>xe,math_arithmetic:()=>Oe,math_bit:()=>ce,math_constant:()=>me,math_constant_mp:()=>Ee,math_constrain:()=>De,math_dec:()=>Ce,math_degree_to_radian:()=>Be,math_indexer_number:()=>Fe,math_map:()=>fe,math_max_min:()=>Ae,math_number:()=>he,math_number_base_conversion:()=>Le,math_radian_to_degree:()=>Ve,math_random:()=>Ne,math_random_seed:()=>Pe,math_round:()=>ve,math_selfcalcu:()=>Re,math_to_int:()=>Se,math_trig:()=>ge,text_to_number:()=>Ye,text_to_number_skulpt:()=>Xe,turn_to_int:()=>be});var s={};t.r(s),t.d(s,{ascii_to_char:()=>Ke,char_to_ascii:()=>Je,number_to_text:()=>qe,os_system:()=>Oi,text:()=>Ue,text_bytes:()=>ke,text_capital:()=>ni,text_center:()=>si,text_char:()=>He,text_char_at:()=>je,text_char_at2:()=>Qe,text_char_at3:()=>Mi,text_compareTo:()=>Ti,text_compare_to:()=>ii,text_create_with_container:()=>li,text_create_with_item:()=>di,text_encode:()=>mi,text_equals_starts_ends:()=>ei,text_eval:()=>Ei,text_find:()=>_i,text_format:()=>ri,text_format_noreturn:()=>hi,text_join:()=>We,text_join_seq:()=>oi,text_length:()=>ze,text_random_char:()=>$e,text_replace:()=>pi,text_split:()=>ai,text_strip:()=>ui,text_substring:()=>ti,text_substring2:()=>Ze,text_substring3:()=>Ii,text_textarea:()=>we});var _={};t.r(_),t.d(_,{ENUMERATE:()=>en,content_in_lists:()=>sn,enumerate:()=>nn,list_many_input:()=>wi,list_tolist:()=>Ki,list_tolist2:()=>tn,list_trig:()=>Bi,lists_2d_get_col_row_data:()=>Si,lists_2d_get_data_with_col_row:()=>Ci,lists_append_extend:()=>Fi,lists_change_to:()=>Ui,lists_change_to_general:()=>Hi,lists_clear:()=>yi,lists_create_with:()=>Ai,lists_create_with2:()=>Ji,lists_create_with_container:()=>Ni,lists_create_with_item:()=>Di,lists_create_with_noreturn:()=>ki,lists_create_with_text:()=>Li,lists_create_with_text2:()=>qi,lists_del_general:()=>Wi,lists_find:()=>Vi,lists_getIndex3:()=>zi,lists_getSublist3:()=>Qi,lists_get_index:()=>ci,lists_get_random_item:()=>Pi,lists_get_random_sublist:()=>vi,lists_get_sublist:()=>gi,lists_insert_value:()=>Yi,lists_insert_value2:()=>$i,lists_pop:()=>xi,lists_remove_at:()=>bi,lists_remove_at2:()=>Zi,lists_reverse:()=>Xi,lists_setIndex3:()=>ji,lists_set_index:()=>fi,lists_sort:()=>Gi});var o={};t.r(o),t.d(o,{dicts_add_change_del:()=>Rn,dicts_add_or_change:()=>dn,dicts_clear:()=>Mn,dicts_create_with:()=>on,dicts_create_with_container:()=>pn,dicts_create_with_item:()=>an,dicts_create_with_noreturn:()=>Cn,dicts_deldict:()=>On,dicts_delete:()=>In,dicts_get:()=>rn,dicts_get_default:()=>ln,dicts_items:()=>hn,dicts_keys:()=>un,dicts_length:()=>En,dicts_pop:()=>cn,dicts_setdefault:()=>gn,dicts_to_json:()=>An,dicts_to_json2:()=>Dn,dicts_to_to:()=>Nn,dicts_todict:()=>Sn,dicts_update:()=>Tn,dicts_values:()=>mn,json_to_dicts:()=>Ln});var p={};t.r(p),t.d(p,{logic_boolean:()=>Xn,logic_compare:()=>Fn,logic_compare_continous:()=>Pn,logic_is:()=>Vn,logic_is_in:()=>xn,logic_negate:()=>Yn,logic_null:()=>yn,logic_operation:()=>vn,logic_tobool:()=>Bn,logic_true_or_false:()=>bn});var a={};t.r(a),t.d(a,{sdcard_mount:()=>as,sdcard_use_spi_init:()=>ps,storage_can_write_ornot:()=>qn,storage_change_dir:()=>_s,storage_close_file:()=>Qn,storage_delete_file:()=>$n,storage_file_seek:()=>es,storage_file_tell:()=>ts,storage_file_write:()=>Hn,storage_fileopen:()=>Un,storage_fileopen_new:()=>wn,storage_fileopen_new_encoding:()=>kn,storage_get_a_line:()=>Jn,storage_get_contents:()=>Kn,storage_get_contents_without_para:()=>Wn,storage_get_current_dir:()=>is,storage_get_file_size:()=>Zn,storage_get_filename:()=>zn,storage_is_file:()=>os,storage_list_all_files:()=>jn,storage_make_dir:()=>ns,storage_open_file_with_os:()=>Gn,storage_rename:()=>ss});var u={};t.r(u),t.d(u,{procedures_callnoreturn:()=>Is,procedures_callreturn:()=>Ts,procedures_defnoreturn:()=>us,procedures_defreturn:()=>rs,procedures_ifreturn:()=>Ms,procedures_mutatorarg:()=>ds,procedures_mutatorcontainer:()=>ls,procedures_return:()=>hs});var r={};t.r(r),t.d(r,{tuple_change_to:()=>Ds,tuple_create_llm_params:()=>xs,tuple_create_with:()=>Es,tuple_create_with_container:()=>Os,tuple_create_with_item:()=>Rs,tuple_create_with_noreturn:()=>vs,tuple_create_with_text2:()=>cs,tuple_create_with_text_return:()=>gs,tuple_del:()=>As,tuple_find:()=>fs,tuple_getIndex:()=>Cs,tuple_getSublist:()=>Ps,tuple_get_random_item:()=>Xs,tuple_get_sublist:()=>Ys,tuple_input:()=>bs,tuple_join:()=>Ls,tuple_length:()=>Ss,tuple_max:()=>Ns,tuple_totuple:()=>ys,tuple_trig:()=>Fs});var l={};t.r(l),t.d(l,{set_add_discard:()=>Js,set_clear:()=>Hs,set_create_with:()=>Bs,set_create_with_container:()=>Gs,set_create_with_item:()=>Us,set_create_with_text_return:()=>Qs,set_length:()=>ws,set_operate:()=>Ws,set_operate_update:()=>Ks,set_pop:()=>ks,set_sub:()=>qs,set_toset:()=>js,set_update:()=>zs});var d={};t.r(d),t.d(d,{html_content:()=>i_,html_content_more:()=>n_,html_document:()=>Zs,html_form:()=>__,html_head_body:()=>e_,html_style:()=>s_,html_style_color:()=>p_,html_style_content:()=>o_,html_text:()=>a_,html_title:()=>t_});var I={};t.r(I),t.d(I,{attribute_access:()=>g_,function_call:()=>O_,function_call_container:()=>R_,function_call_item:()=>c_,raw_block:()=>l_,raw_empty:()=>I_,raw_expression:()=>d_,raw_table:()=>r_,text_comment:()=>T_,text_print_multiple:()=>h_,text_print_multiple_container:()=>m_,text_print_multiple_item:()=>E_,type_check:()=>M_});var T={};t.r(T),t.d(T,{controls_type:()=>N_,controls_typeLists:()=>D_,lists_zip:()=>f_,unpack_iterable_object:()=>F_,variables_change:()=>A_,variables_get:()=>C_,variables_global:()=>L_,variables_set:()=>S_});var M={};t.r(M),t.d(M,{Panic_with_status_code:()=>G_,base_setup:()=>v_,controls_delay:()=>B_,controls_flow_statements:()=>V_,controls_for:()=>y_,controls_forEach:()=>W_,controls_for_range:()=>b_,controls_if:()=>Y_,controls_interrupts:()=>k_,controls_lambda:()=>J_,controls_main:()=>P_,controls_millis:()=>U_,controls_nointerrupts:()=>H_,controls_pass:()=>z_,controls_range:()=>K_,controls_repeat:()=>no,controls_repeat_ext:()=>$_,controls_thread:()=>Q_,controls_try_finally:()=>X_,controls_whileUntil:()=>x_,datetime_fromtimestamp:()=>so,do_while:()=>j_,garbage_collection:()=>Z_,gene_unique_identifier:()=>_o,get_mem_alloc:()=>to,get_mem_free:()=>eo,get_unique_identifier:()=>io,reset:()=>w_,time_sleep:()=>q_});var h={};t.r(h),t.d(h,{base_map:()=>No,generate_cartesian_product:()=>fo,math_arithmetic:()=>ro,math_bit:()=>uo,math_constant:()=>po,math_constant_mp:()=>ao,math_constrain:()=>Ro,math_dec:()=>Mo,math_degree_to_radian:()=>Po,math_indexer_number:()=>Co,math_map:()=>Oo,math_max_min:()=>mo,math_number:()=>oo,math_number_base_conversion:()=>co,math_radian_to_degree:()=>Fo,math_random:()=>Eo,math_random_seed:()=>go,math_round:()=>So,math_selfcalcu:()=>lo,math_single:()=>Io,math_to_int:()=>ho,math_trig:()=>To,text_to_number:()=>Ao,text_to_number_skulpt:()=>Lo,turn_to_int:()=>Do});var m={};t.r(m),t.d(m,{ascii_to_char:()=>xo,char_to_ascii:()=>Vo,number_to_text:()=>Bo,os_system:()=>ap,text:()=>vo,text_bytes:()=>Xo,text_capital:()=>qo,text_center:()=>zo,text_char:()=>yo,text_char_at:()=>wo,text_char_at2:()=>Uo,text_char_at3:()=>_p,text_compareTo:()=>sp,text_compare_to:()=>Wo,text_encode:()=>op,text_equals_starts_ends:()=>Ho,text_eval:()=>pp,text_find:()=>Qo,text_format:()=>ep,text_format_noreturn:()=>ip,text_join:()=>bo,text_join_seq:()=>jo,text_length:()=>Go,text_random_char:()=>ko,text_replace:()=>$o,text_split:()=>Zo,text_strip:()=>tp,text_substring:()=>Jo,text_substring2:()=>Ko,text_substring3:()=>np,text_textarea:()=>Yo});var E={};t.r(E),t.d(E,{content_in_lists:()=>wp,enumerate:()=>Up,list_many_input:()=>Dp,list_tolist:()=>Bp,list_tolist2:()=>Gp,list_trig:()=>Ap,lists_2d_get_col_row_data:()=>lp,lists_2d_get_data_with_col_row:()=>rp,lists_append_extend:()=>hp,lists_change_to:()=>Np,lists_change_to_general:()=>Fp,lists_clear:()=>cp,lists_create_with:()=>dp,lists_create_with2:()=>vp,lists_create_with_noreturn:()=>fp,lists_create_with_text:()=>Ip,lists_create_with_text2:()=>Yp,lists_del_general:()=>Pp,lists_find:()=>gp,lists_getIndex3:()=>Xp,lists_getSublist3:()=>yp,lists_get_index:()=>Tp,lists_get_random_item:()=>mp,lists_get_random_sublist:()=>Ep,lists_get_sublist:()=>up,lists_insert_value:()=>Op,lists_insert_value2:()=>xp,lists_pop:()=>Sp,lists_remove_at:()=>Cp,lists_remove_at2:()=>Vp,lists_reverse:()=>Rp,lists_setIndex3:()=>bp,lists_set_index:()=>Mp,lists_sort:()=>Lp});var O={};t.r(O),t.d(O,{dicts_add_change_del:()=>ea,dicts_add_or_change:()=>Jp,dicts_clear:()=>Qp,dicts_create_with:()=>kp,dicts_create_with_noreturn:()=>sa,dicts_deldict:()=>ta,dicts_delete:()=>qp,dicts_get:()=>Wp,dicts_get_default:()=>Kp,dicts_items:()=>jp,dicts_keys:()=>Hp,dicts_length:()=>Zp,dicts_pop:()=>ia,dicts_setdefault:()=>na,dicts_to_json:()=>oa,dicts_to_json2:()=>ua,dicts_to_to:()=>aa,dicts_todict:()=>_a,dicts_update:()=>zp,dicts_values:()=>$p,json_to_dicts:()=>pa});var R={};t.r(R),t.d(R,{logic_boolean:()=>Ta,logic_compare:()=>ra,logic_compare_continous:()=>la,logic_is:()=>Ea,logic_is_in:()=>ma,logic_negate:()=>Ia,logic_null:()=>Ma,logic_operation:()=>da,logic_tobool:()=>Oa,logic_true_or_false:()=>ha});var c={};t.r(c),t.d(c,{sdcard_mount:()=>wa,sdcard_use_spi_init:()=>Ua,storage_can_write_ornot:()=>Da,storage_change_dir:()=>ba,storage_close_file:()=>Fa,storage_delete_file:()=>va,storage_file_seek:()=>ya,storage_file_tell:()=>Xa,storage_file_write:()=>Sa,storage_fileopen:()=>ca,storage_fileopen_new:()=>ga,storage_fileopen_new_encoding:()=>Ca,storage_get_a_line:()=>Na,storage_get_contents:()=>La,storage_get_contents_without_para:()=>Aa,storage_get_current_dir:()=>xa,storage_get_file_size:()=>Ya,storage_get_filename:()=>fa,storage_is_file:()=>Ga,storage_list_all_files:()=>Pa,storage_make_dir:()=>Va,storage_open_file_with_os:()=>Ra,storage_rename:()=>Ba});var g={};t.r(g),t.d(g,{procedures_callnoreturn:()=>Ka,procedures_callreturn:()=>Wa,procedures_defnoreturn:()=>Ha,procedures_defreturn:()=>ka,procedures_ifreturn:()=>Ja,procedures_return:()=>qa});var C={};t.r(C),t.d(C,{tuple_change_to:()=>nu,tuple_create_llm_params:()=>du,tuple_create_with:()=>za,tuple_create_with_noreturn:()=>pu,tuple_create_with_text2:()=>Qa,tuple_create_with_text_return:()=>ja,tuple_del:()=>tu,tuple_find:()=>su,tuple_getIndex:()=>$a,tuple_getSublist:()=>ou,tuple_get_random_item:()=>uu,tuple_get_sublist:()=>au,tuple_input:()=>lu,tuple_join:()=>eu,tuple_length:()=>Za,tuple_max:()=>iu,tuple_totuple:()=>ru,tuple_trig:()=>_u});var S={};t.r(S),t.d(S,{set_add_discard:()=>Ou,set_clear:()=>hu,set_create_with:()=>Iu,set_create_with_text_return:()=>gu,set_length:()=>Tu,set_operate:()=>mu,set_operate_update:()=>Eu,set_pop:()=>Mu,set_sub:()=>Ru,set_toset:()=>Cu,set_update:()=>cu});var A={};t.r(A),t.d(A,{html_content:()=>Nu,html_content_more:()=>Du,html_document:()=>Su,html_form:()=>Fu,html_head_body:()=>Lu,html_style:()=>fu,html_style_content:()=>Pu,html_text:()=>vu,html_title:()=>Au});var L={};t.r(L),t.d(L,{attribute_access:()=>Bu,function_call:()=>Vu,raw_block:()=>Yu,raw_empty:()=>yu,raw_expression:()=>Xu,raw_table:()=>bu,type_check:()=>xu});var N={};t.r(N),t.d(N,{PIN_init:()=>Kr,actuator_extern_get_led_bright:()=>er,actuator_extern_get_led_state:()=>ir,actuator_extern_led_bright:()=>tr,actuator_extern_led_brightness:()=>nr,actuator_ms32006_dcmotor:()=>dr,actuator_ms32006_init:()=>lr,actuator_ms32006_stepper:()=>Ir,actuator_neopixel_init:()=>Tr,actuator_neopixel_rgb:()=>Mr,actuator_neopixel_rgb_all:()=>hr,actuator_neopixel_rgb_show_all_chase:()=>Or,actuator_neopixel_rgb_show_all_rainbow:()=>Er,actuator_neopixel_write:()=>mr,actuator_use_uart_init:()=>Rr,backstage_esp32_music_play_list:()=>qu,esp32_music_get_tempo_extern:()=>Qu,esp32_music_pitch:()=>Wu,esp32_music_pitch_init:()=>Hu,esp32_music_pitch_with_time:()=>Ku,esp32_music_play_list:()=>Ju,esp32_music_reset_extern:()=>ju,esp32_music_set_tempo_extern:()=>zu,esp32_music_stop:()=>$u,esp32_set_music_volume:()=>Zu,mixbot_actuator_extern_get_addr:()=>Hr,mixbot_actuator_extern_set_addr:()=>Wr,mixbot_addr_extern:()=>Pr,parrot_PIN_init:()=>Qr,parrot_move_speed:()=>jr,pin_led_bright:()=>Jr,player_insert_music:()=>Lr,player_play_music:()=>Ar,player_set_mode:()=>Sr,player_set_play:()=>gr,player_set_volume:()=>Cr,player_whether_stop:()=>cr,robot_led_extern:()=>yr,robot_led_extern_get_value:()=>br,robot_motor_extern:()=>vr,robot_motor_extern_get_speed:()=>Yr,robot_servo_extern_absolute_run:()=>Gr,robot_servo_extern_get_status:()=>xr,robot_servo_extern_relative_continue:()=>kr,robot_servo_extern_relative_origin:()=>Ur,robot_servo_extern_relative_run:()=>wr,robot_servo_extern_stop:()=>Br,robot_servo_extern_stop_mode:()=>Vr,robot_traffic_light_extern:()=>Xr,servo_PIN_init:()=>qr,servo_get_angle:()=>ur,servo_get_speed:()=>rr,servo_init:()=>sr,servo_move:()=>_r,servo_move_angle:()=>zr,servo_set_angle:()=>pr,servo_set_speed:()=>ar,servo_speed_360:()=>or,syn6288_builtin_voice:()=>fr,syn6288_get_voice:()=>Dr,syn6288_set_voice:()=>Nr,syn6288_tts_play:()=>Fr});var D={};t.r(D),t.d(D,{actuator_dc_motor:()=>Fl,actuator_dc_motor_stop:()=>Pl,actuator_get_led_bright:()=>il,actuator_get_led_state:()=>nl,actuator_led_bright:()=>el,actuator_led_brightness:()=>sl,actuator_mixbot_buzzer_on_off:()=>bl,actuator_mixgo_nova_mic_get:()=>Ul,actuator_mixgo_nova_mic_set:()=>Gl,actuator_mixgo_nova_onboard_music_pitch:()=>Jl,actuator_mixgo_nova_onboard_music_stop:()=>ql,actuator_mixgo_nova_play_audio:()=>Wl,actuator_mixgo_nova_play_online_audio:()=>Kl,actuator_mixgo_nova_record_audio:()=>Hl,actuator_mixgo_nova_voice_get:()=>kl,actuator_mixgo_nova_voice_set:()=>wl,actuator_mixgo_zero_led_color:()=>_l,actuator_onboard_neopixel_rgb:()=>ll,actuator_onboard_neopixel_rgb_all:()=>dl,actuator_onboard_neopixel_rgb_show_all_chase:()=>Tl,actuator_onboard_neopixel_rgb_show_all_rainbow:()=>Il,actuator_onboard_neopixel_write:()=>Ml,actuator_rm_onboard_neopixel_rgb:()=>hl,actuator_rm_onboard_neopixel_rgb_all:()=>ml,actuator_rm_onboard_neopixel_rgb_show_all_chase:()=>El,actuator_stepper_keep:()=>Dl,actuator_stepper_stop:()=>fl,analog_ble_keyboard_init:()=>ad,analog_ble_keyboard_input:()=>ld,analog_ble_keyboard_mouse_init:()=>Od,analog_ble_keyboard_mouse_input:()=>Cd,analog_ble_keyboard_mouse_send_battery:()=>gd,analog_ble_keyboard_mouse_str:()=>Sd,analog_ble_keyboard_send_battery:()=>Id,analog_ble_keyboard_str:()=>dd,analog_ble_mouse_init:()=>Td,analog_ble_mouse_input:()=>md,analog_ble_mouse_keyboard_input:()=>Ad,analog_ble_mouse_send_battery:()=>Ed,analog_keyboard_input:()=>Zl,analog_keyboard_str:()=>pd,analog_mouse_input:()=>_d,backstage_onboard_music_play_list:()=>Ll,bitbot_motor:()=>Bl,bitbot_move:()=>xl,bitbot_stop:()=>Vl,ble_keyboard_connect:()=>rd,ble_keyboard_get_mac:()=>ud,ble_keyboard_mouse_connect:()=>cd,ble_keyboard_mouse_get_mac:()=>Rd,ble_mouse_connect:()=>hd,ble_mouse_get_mac:()=>Md,cc_number:()=>rl,educore_ble_keyboard_input:()=>yd,educore_ble_sensor_connected:()=>Xd,educore_ble_sensor_init:()=>Yd,educore_buzzer:()=>Ld,educore_buzzer_play_tone:()=>Nd,educore_buzzer_play_tone_time:()=>Dd,educore_buzzer_stop:()=>fd,educore_neopixel_clear:()=>vd,educore_neopixel_rgb:()=>Pd,educore_rgb_light:()=>Fd,esp32_music_get_tempo:()=>Rl,esp32_music_reset:()=>cl,esp32_music_set_tempo:()=>Ol,esp32_onboard_music_pitch:()=>gl,esp32_onboard_music_pitch_with_time:()=>Cl,esp32_onboard_music_play_list:()=>Al,esp32_onboard_music_stop:()=>Sl,general_key:()=>ed,general_key_tuple:()=>id,generalkey_container:()=>nd,generalkey_create_with_item:()=>sd,get_keyboard_light:()=>bd,get_power_output:()=>Ql,ledswitch:()=>tl,mixbot_motor:()=>yl,mixbot_motor_status:()=>vl,mixbot_move:()=>Yl,mixbot_stop:()=>Xl,mouse_key:()=>od,number:()=>Zr,record_audio:()=>Vd,rm_actuator_get_led_bright:()=>pl,rm_actuator_get_led_state:()=>al,rm_actuator_led_bright:()=>ol,rm_actuator_led_brightness:()=>ul,rm_motor:()=>Nl,set_all_power_output:()=>jl,set_microphone_amplification:()=>xd,set_music_volume:()=>Bd,set_part_power_output:()=>$l,set_power_output:()=>zl,special_key:()=>td});var f={};t.r(f),t.d(f,{ai_sensor_20object:()=>OI,ai_sensor_ailocal_class:()=>aI,ai_sensor_ailocal_class_result:()=>uI,ai_sensor_ailocal_train:()=>pI,ai_sensor_asr_recognize:()=>TI,ai_sensor_audio_play:()=>lI,ai_sensor_audio_record:()=>rI,ai_sensor_barcode:()=>Jd,ai_sensor_circle:()=>Zd,ai_sensor_classifier_faces:()=>EI,ai_sensor_color:()=>nI,ai_sensor_color_chases:()=>oI,ai_sensor_color_chases_result:()=>_I,ai_sensor_config:()=>Wd,ai_sensor_face:()=>mI,ai_sensor_find_20objects:()=>RI,ai_sensor_find_barcodes:()=>qd,ai_sensor_find_circles:()=>tI,ai_sensor_find_colors:()=>sI,ai_sensor_find_licenseplates:()=>hI,ai_sensor_find_lines:()=>$d,ai_sensor_find_qrcodes:()=>Hd,ai_sensor_find_rects:()=>iI,ai_sensor_find_tags:()=>Qd,ai_sensor_licenseplate:()=>MI,ai_sensor_line:()=>jd,ai_sensor_qrcode:()=>wd,ai_sensor_qrcode_lite:()=>kd,ai_sensor_rect:()=>eI,ai_sensor_rgb:()=>Kd,ai_sensor_tag:()=>zd,ai_sensor_use_uart_init:()=>Ud,ai_sensor_yolo_recognize:()=>dI,ai_sensor_yolo_recognize_result:()=>II});var F={};t.r(F),t.d(F,{MICROPYTHON_AI_Speech_asr:()=>CI,MICROPYTHON_AI_Speech_unit:()=>gI,MICROPYTHON_AI_client:()=>cI});var P={};t.r(P),t.d(P,{mpython_blynk_app_data:()=>VI,mpython_blynk_app_notify:()=>PI,mpython_blynk_email:()=>XI,mpython_blynk_get_timers:()=>yI,mpython_blynk_on_connected:()=>DI,mpython_blynk_on_disconnected:()=>NI,mpython_blynk_run:()=>FI,mpython_blynk_sensor_data_to_app:()=>xI,mpython_blynk_set_property:()=>YI,mpython_blynk_setup:()=>BI,mpython_blynk_stop_timers:()=>vI,mpython_blynk_sync_virtual:()=>LI,mpython_blynk_terminal_widget_vpin:()=>AI,mpython_blynktimer:()=>bI,mpython_blynktimer_run:()=>fI});var v={};t.r(v),t.d(v,{cc_g1_init:()=>GI,cc_g1_read_bat:()=>UI,cc_g1_read_joystick:()=>wI,cc_g1_read_key:()=>kI,cc_g1_turnoff:()=>HI});var Y={};t.r(Y),t.d(Y,{ce_go_dc_motor:()=>ZI,ce_go_get_led_bright:()=>qI,ce_go_get_led_state:()=>zI,ce_go_hall_attachInterrupt:()=>tT,ce_go_hall_data:()=>iT,ce_go_hall_initialize:()=>eT,ce_go_led_bright:()=>JI,ce_go_led_brightness:()=>QI,ce_go_light_number:()=>KI,ce_go_pin_light:()=>pT,ce_go_pin_near:()=>sT,ce_go_pin_near_line:()=>nT,ce_go_pin_near_state_change:()=>_T,ce_go_stepper_keep:()=>jI,ce_go_stepper_stop:()=>$I,educore_car:()=>aT,educore_car_pin_near:()=>dT,educore_car_pin_near_line:()=>lT,educore_car_stepper_keep:()=>uT,educore_car_stepper_stop:()=>rT,sensor_mixgome_eulerangles:()=>oT});var X={};t.r(X),t.d(X,{communicate_bluetooth_central_init:()=>qT,communicate_bluetooth_connect:()=>$T,communicate_bluetooth_disconnect:()=>ZT,communicate_bluetooth_handle:()=>sM,communicate_bluetooth_is_connected:()=>eM,communicate_bluetooth_mac:()=>jT,communicate_bluetooth_peripheral_init:()=>zT,communicate_bluetooth_recv:()=>iM,communicate_bluetooth_recv_only:()=>nM,communicate_bluetooth_scan:()=>QT,communicate_bluetooth_send:()=>tM,communicate_espnow_init:()=>_M,communicate_espnow_init_new:()=>oM,communicate_i2c_available:()=>FT,communicate_i2c_init:()=>hT,communicate_i2c_master_read:()=>fT,communicate_i2c_onboard:()=>TT,communicate_i2c_read:()=>mT,communicate_i2c_scan:()=>OT,communicate_i2c_write:()=>ET,communicate_ir_recv_init:()=>VT,communicate_ir_send_init:()=>kT,communicate_ow_init:()=>vT,communicate_ow_read:()=>XT,communicate_ow_reset:()=>xT,communicate_ow_scan:()=>YT,communicate_ow_select:()=>bT,communicate_ow_write:()=>yT,communicate_spi_buffer:()=>gT,communicate_spi_init:()=>RT,communicate_spi_onboard:()=>MT,communicate_spi_read:()=>CT,communicate_spi_read_output:()=>ST,communicate_spi_readinto:()=>AT,communicate_spi_readinto_output:()=>LT,communicate_spi_set:()=>cT,communicate_spi_write:()=>NT,communicate_spi_write_readinto:()=>DT,espnow_radio_channel:()=>dM,espnow_radio_channel_new:()=>TM,espnow_radio_on_off:()=>MM,espnow_radio_rec:()=>mM,espnow_radio_recv:()=>OM,espnow_radio_recv_certain_msg:()=>RM,espnow_radio_recv_certain_msg_new:()=>gM,espnow_radio_recv_msg:()=>EM,espnow_radio_recv_new:()=>cM,espnow_radio_send:()=>hM,espnow_radio_txpower:()=>IM,i2c_available:()=>HM,i2c_init:()=>FM,i2c_master_reader2:()=>kM,i2c_read:()=>PM,i2c_scan:()=>YM,i2c_slave_onreceive:()=>PT,i2c_write:()=>vM,internal_variable:()=>BT,ir_recv_timeout:()=>wT,ir_transmit_busy:()=>JT,ir_transmit_conventional_data:()=>HT,ir_transmit_raw_code:()=>KT,ir_transmit_study_code:()=>WT,ir_whether_recv:()=>UT,lora_init:()=>CM,lora_packet:()=>SM,lora_recv:()=>LM,lora_send:()=>AM,network_espnow_info:()=>aM,network_espnow_mac:()=>pM,network_espnow_recv:()=>uM,network_espnow_recv_handle:()=>lM,network_espnow_send:()=>rM,recv_fun:()=>GT,spi_buffer:()=>bM,spi_init:()=>XM,spi_read:()=>xM,spi_read_output:()=>VM,spi_readinto:()=>BM,spi_readinto_output:()=>GM,spi_set:()=>yM,spi_write:()=>UM,spi_write_readinto:()=>wM,urequests_attribute:()=>DM,urequests_get:()=>NM,urequests_method:()=>fM});var y={};t.r(y),t.d(y,{display_animate:()=>gh,display_blink_rate:()=>Eh,display_circle:()=>Ch,display_color_seclet:()=>yh,display_draw_4strings:()=>dh,display_fill:()=>ch,display_get_screen_image:()=>mh,display_help:()=>Ah,display_image_size:()=>Ih,display_lcd_use_i2c_init:()=>Uh,display_line:()=>Mh,display_line_arbitrarily:()=>hh,display_matrix_extern_bright_point:()=>sh,display_matrix_extern_bright_screen:()=>oh,display_matrix_extern_clear:()=>ph,display_matrix_extern_get_pixel:()=>nh,display_matrix_extern_get_screen_pixel:()=>_h,display_matrix_extern_image_builtins:()=>ah,display_matrix_extern_scroll_string:()=>$M,display_matrix_extern_scroll_string_delay:()=>ZM,display_matrix_extern_shift:()=>ih,display_matrix_extern_show_frame_string:()=>th,display_matrix_extern_show_frame_string_delay:()=>eh,display_matrix_extern_show_image:()=>QM,display_matrix_extern_show_image_or_string_delay:()=>jM,display_matrix_use_i2c_init:()=>zM,display_oled_drawPixel:()=>Nh,display_oled_showBitmap:()=>Lh,display_oled_use_i2c_init:()=>Kh,display_onoff:()=>Rh,display_rect:()=>Th,display_rgb_color:()=>Oh,display_tm1650_power:()=>fh,display_tm1650_set_brightness:()=>vh,display_tm1650_show_dot:()=>Ph,display_tm1650_show_num:()=>Fh,display_tm_use_i2c_init:()=>Dh,display_triangle:()=>Sh,display_use_i2c_init:()=>lh,extern_oled_bright_point:()=>nm,extern_oled_clear:()=>sm,extern_oled_get_pixel:()=>im,extern_oled_hvline:()=>om,extern_oled_line:()=>pm,extern_oled_scroll_string:()=>jh,extern_oled_scroll_string_delay:()=>$h,extern_oled_shape_rect:()=>_m,extern_oled_shift:()=>em,extern_oled_show_frame_string:()=>Zh,extern_oled_show_frame_string_delay:()=>tm,extern_oled_show_image:()=>Jh,extern_oled_show_image_or_string_delay:()=>Qh,extern_oled_show_image_xy:()=>qh,extern_oled_show_string:()=>zh,lcd_backlight:()=>Hh,lcd_clear:()=>Wh,lcd_print_string:()=>kh,lcd_show_image_or_string_delay:()=>wh,matrix_extern_image_arithmetic:()=>uh,matrix_extern_image_invert:()=>rh,tft_fill:()=>Bh,tft_line_arbitrarily:()=>Gh,tft_scroll_string_delay:()=>xh,tft_show_frame_string_delay:()=>Vh,tft_show_image_or_string_delay:()=>bh,tft_show_image_xy:()=>Xh,tft_use_spi_init:()=>Yh});var b={};t.r(b),t.d(b,{bitbot_display_bitmap_create:()=>eE,bitbot_display_image_create:()=>tE,display_available:()=>fm,display_bitmap_create:()=>Em,display_bright_point:()=>Am,display_bright_screen:()=>Nm,display_clear:()=>Dm,display_get_pixel:()=>Sm,display_get_screen_pixel:()=>Lm,display_image_builtins:()=>Om,display_image_builtins_all:()=>Rm,display_image_create:()=>mm,display_scroll_string:()=>lm,display_scroll_string_delay:()=>dm,display_scroll_way:()=>Im,display_shift:()=>Cm,display_show_frame_string:()=>Mm,display_show_frame_string_delay:()=>hm,display_show_image:()=>um,display_show_image_or_string_delay:()=>rm,draw_pointer:()=>EE,image_arithmetic:()=>cm,image_invert:()=>gm,mixbot_display_bitmap_create:()=>zm,mixbot_display_bright_screen:()=>$m,mixbot_display_get_ambientbright:()=>jm,mixbot_display_get_screen_pixel:()=>Qm,mixbot_display_image_create:()=>qm,mixbot_display_rotate:()=>Zm,mixgo_display_bitmap_create:()=>ym,mixgo_display_image_create_new:()=>Xm,mixgome_display_bitmap_create:()=>Pm,mixgome_display_font:()=>bm,mixgome_display_image_create:()=>Fm,mixgomini_display_bitmap_create:()=>Ym,mixgomini_display_image_create:()=>vm,mpython_display_hvline:()=>Wm,mpython_display_line:()=>Km,mpython_display_shape_rect:()=>Hm,mpython_pbm_image:()=>Jm,nova_draw_pointer:()=>OE,onboard_oled_bright_point:()=>km,onboard_oled_scroll_string_delay:()=>Um,onboard_oled_show_frame_string_delay:()=>wm,onboard_oled_show_image:()=>xm,onboard_oled_show_image_or_string_delay:()=>Gm,onboard_oled_show_image_xy:()=>Vm,onboard_oled_show_string:()=>Bm,onboard_tft_bright_point:()=>rE,onboard_tft_bright_screen:()=>DE,onboard_tft_clear:()=>fE,onboard_tft_clock_clear:()=>hE,onboard_tft_clock_draw:()=>ME,onboard_tft_clock_get_rtctime:()=>IE,onboard_tft_clock_init:()=>dE,onboard_tft_clock_set_time:()=>TE,onboard_tft_display_hvline:()=>pE,onboard_tft_display_line:()=>aE,onboard_tft_display_shape_circle:()=>mE,onboard_tft_display_shape_rect:()=>oE,onboard_tft_fill:()=>lE,onboard_tft_get_pixel:()=>uE,onboard_tft_get_screen_pixel:()=>NE,onboard_tft_scroll_string:()=>SE,onboard_tft_scroll_string_delay:()=>Tm,onboard_tft_shift:()=>LE,onboard_tft_show_frame_string:()=>AE,onboard_tft_show_frame_string_delay:()=>_E,onboard_tft_show_image:()=>CE,onboard_tft_show_image_or_string_delay:()=>sE,onboard_tft_show_image_xy:()=>iE,onboard_tft_show_image_xy_direct:()=>nE,onboard_tft_show_qrcode:()=>cE,onboard_tft_show_qrcode_details:()=>gE,onboard_tft_show_texts:()=>RE});var x={};t.r(x),t.d(x,{factory_block:()=>JE,factory_block_return:()=>qE,factory_block_return_with_textarea:()=>QE,factory_block_with_textarea:()=>zE,factory_callMethod_noreturn:()=>WE,factory_callMethod_return:()=>KE,factory_create_with_container:()=>UE,factory_create_with_item:()=>wE,factory_declare:()=>HE,factory_from_import:()=>VE,factory_function_noreturn:()=>GE,factory_function_return:()=>kE,factory_import:()=>BE,folding_block:()=>jE});var V={};t.r(V),t.d(V,{controls_pin_attachInterrupt:()=>OO,inout_analog_atten:()=>pO,inout_analog_read:()=>oO,inout_analog_read_init:()=>IO,inout_analog_write:()=>nO,inout_analog_write_init:()=>dO,inout_analog_write_set:()=>sO,inout_analog_write_set_freq:()=>hO,inout_digital_init:()=>rO,inout_digital_read:()=>eO,inout_digital_write:()=>tO,inout_highlow:()=>ZE,inout_pinMode:()=>MO,inout_pin_attachInterrupt:()=>uO,inout_pin_pressed:()=>aO,inout_pin_pressed_init:()=>TO,inout_pwm_analog_write:()=>iO,inout_pwm_analog_write_init:()=>lO,inout_pwm_analog_write_set_freq:()=>_O,pin_pressed:()=>EO,pin_pressed_init:()=>mO});var B={};t.r(B),t.d(B,{IOT_CONNECT_OLLAMA:()=>nR,IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>HO,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>kO,IOT_EMQX_PING:()=>UO,IOT_FORMATTING:()=>BO,IOT_FORMAT_STRING:()=>GO,IOT_MIXIO_NTP:()=>wO,IOT_MIXIO_PUBLISH:()=>PO,IOT_MIXIO_PUBLISHEX:()=>vO,IOT_MIXIO_SUBSCRIBE:()=>YO,iot_checkonenet:()=>tR,iot_client_onboard:()=>KO,iot_connect_ollama:()=>iR,iot_connect_openai:()=>sR,iot_create_with_item:()=>fO,iot_http_client:()=>JO,iot_http_data:()=>qO,iot_mixio_check:()=>bO,iot_mixio_connect:()=>FO,iot_mixio_connect_only:()=>yO,iot_mixio_disconnect:()=>XO,iot_mixio_format_msg:()=>VO,iot_mixio_format_topic:()=>xO,iot_mixly_key:()=>WO,iot_mqtt_client:()=>zO,iot_mqtt_data:()=>QO,iot_onenet_check:()=>SO,iot_onenet_connect:()=>gO,iot_onenet_disconnect:()=>CO,iot_onenet_publish:()=>LO,iot_onenet_publish_dict:()=>AO,iot_onenetconnect:()=>$O,iot_onenetdisconnect:()=>ZO,iot_publish:()=>eR,iot_publish_container:()=>NO,iot_publish_item:()=>DO,iot_tiny_web_db_count:()=>dR,iot_tiny_web_db_delete:()=>TR,iot_tiny_web_db_get:()=>lR,iot_tiny_web_db_init:()=>aR,iot_tiny_web_db_init_with_mqtt:()=>uR,iot_tiny_web_db_search:()=>IR,iot_tiny_web_db_update:()=>rR,iot_wifi_connect:()=>cO,iot_wificonnect:()=>jO,ollama_empty_history:()=>pR,use_ollama_llm_to_chat:()=>_R,use_ollama_llm_to_chat_return:()=>oR});var G={};t.r(G),t.d(G,{educore_mqtt_connect:()=>qR,educore_mqtt_connect_success:()=>$R,educore_mqtt_subscribe_message:()=>zR,educore_mqtt_topic_publish:()=>jR,educore_mqtt_topic_subscribe:()=>QR,educore_wifi_connect:()=>JR,network_ap_connect:()=>AR,network_connect:()=>RR,network_get_connect:()=>gR,network_get_wifi:()=>SR,network_init:()=>hR,network_is_active:()=>ER,network_open:()=>mR,network_scan:()=>OR,network_server:()=>LR,network_socket_accept:()=>PR,network_socket_bind:()=>DR,network_socket_close:()=>xR,network_socket_connect:()=>fR,network_socket_init:()=>NR,network_socket_listen:()=>FR,network_socket_readline:()=>vR,network_socket_receive:()=>YR,network_socket_receive_from:()=>yR,network_socket_send:()=>XR,network_socket_send_to:()=>bR,network_stop:()=>CR,network_wifi_connect:()=>cR,ntptime_address:()=>wR,ntptime_time:()=>UR,requests_attribute:()=>BR,requests_attribute2:()=>KR,requests_get:()=>VR,requests_get2:()=>HR,requests_method:()=>GR,requests_post:()=>WR});var U={};t.r(U),t.d(U,{CI130X_BROADCAST:()=>Cc,CI130X_GET_THE_RECOGNIZED_CMD:()=>gc,CI130X_GET_WHETHER_IDENTIFY:()=>cc,CI130X_IDENTIFY_AND_SAVE:()=>Rc,CI130X_SET_SYSTEM_CMD:()=>Sc,HCSR04:()=>dg,PS2_Button:()=>hg,PS2_Buttons:()=>Eg,PS2_Buttons_new:()=>gg,PS2_State:()=>mg,PS2_init:()=>Ig,PS2_init_new:()=>Rg,PS2_stk:()=>Og,PS2_stk_new:()=>Cg,PS2_vibration:()=>Mg,PS2_vibration_new:()=>cg,camera_sensor_init:()=>Zg,camera_sensor_result:()=>tC,column_tube_foot:()=>_C,define_keyboards:()=>oC,educore_body_sensor:()=>kg,educore_button_sensor_extern:()=>Jg,educore_camera_sensor:()=>$g,educore_infrared_sensor:()=>Kg,educore_soilhum_sensor:()=>Hg,educore_temp_sensor:()=>jg,educore_temphum_sensor:()=>Wg,educore_ultrasonic_sensor:()=>zg,esp32_s2_weather_init:()=>ag,esp32_s2_weather_rain:()=>rg,esp32_s2_weather_wd:()=>ug,esp32_s2_weather_ws:()=>lg,extern_rfid_read:()=>qc,extern_rfid_readcontent:()=>Qc,extern_rfid_readid:()=>zc,extern_rfid_status:()=>Zc,extern_rfid_write:()=>jc,extern_rfid_write_return:()=>$c,get_keboards_value:()=>pC,gnss_get_data:()=>Ng,gnss_have_data:()=>Lg,init_init_rotary_encoder:()=>aC,init_matrix_keyboard:()=>nC,interaction_whether_to_interaction:()=>Ec,interaction_whether_to_interaction_SANT:()=>Oc,line_tube_foot:()=>sC,mixbot_sensor_extern_get_addr:()=>yg,mixbot_sensor_extern_set_addr:()=>bg,pm25_get_data:()=>Ag,radar_set_DETECTION_THRESHOLD:()=>hc,radar_set_DETECTION_THRESHOLD_SANT:()=>mc,robot_button_extern_get_value:()=>fg,robot_color_extern_get_value:()=>Xg,robot_infrared_extern_get_value:()=>Pg,robot_infrared_extern_grey_get_value:()=>vg,robot_potentiometer_extern_get_value:()=>Yg,robot_sonar_extern_get_value:()=>xg,robot_sonar_extern_led:()=>Vg,robot_touch_extern_get_value:()=>Fg,rotary_key:()=>uC,sensor_APDS9960_extern:()=>Lc,sensor_DS18X20:()=>Ic,sensor_LTR308_extern:()=>Nc,sensor_LTR390UV_extern:()=>Fc,sensor_MAX30102_extern:()=>Ac,sensor_QMC5883L_extern:()=>Vc,sensor_VL530LX_extern:()=>Pc,sensor_adxl345_get_acceleration:()=>_c,sensor_aht11_extern:()=>Yc,sensor_bmp:()=>lc,sensor_compass_reset:()=>Kc,sensor_dht11:()=>pc,sensor_hp203_extern:()=>Xc,sensor_light_level:()=>oc,sensor_lm35:()=>Tc,sensor_ltr381_extern:()=>Dc,sensor_mixgo_extern_button_attachInterrupt:()=>nc,sensor_mixgo_extern_button_get_presses:()=>ic,sensor_mixgo_extern_button_is_pressed:()=>tc,sensor_mixgo_extern_button_was_pressed:()=>ec,sensor_mixgo_extern_light:()=>ac,sensor_mixgo_extern_pin_near:()=>rc,sensor_mixgo_extern_sound:()=>uc,sensor_mixgoce_hot_wheel_degrees:()=>pg,sensor_mixgoce_hot_wheel_is_touched:()=>og,sensor_mpu9250_attachGestureInterrupt:()=>sc,sensor_mpu9250_calibrate_compass:()=>kc,sensor_mpu9250_field_strength:()=>Wc,sensor_mpu9250_gesture:()=>Bc,sensor_mpu9250_get_acceleration:()=>Gc,sensor_mpu9250_get_gyro:()=>wc,sensor_mpu9250_get_magnetic:()=>Uc,sensor_mpu9250_temperature:()=>Hc,sensor_ms5611_extern:()=>bc,sensor_ms5611_extern_altitude:()=>xc,sensor_read_humiture:()=>qg,sensor_sht:()=>dc,sensor_shtc3_extern:()=>vc,sensor_spl06_001_extern:()=>yc,sensor_ucs12071_extern:()=>fc,sensor_use_i2c_init:()=>Mc,sensor_use_spi_init:()=>Jc,sensor_use_uart_init:()=>Sg,sensor_weather_solo_init:()=>Bg,sensor_weather_solo_rain:()=>wg,sensor_weather_solo_wd:()=>Gg,sensor_weather_solo_ws:()=>Ug,sensor_weigh_init:()=>eC,tvoc_get_data:()=>Dg,ultrasonic_sensor_read_distance:()=>Qg,weather_data:()=>tg,weather_have_data:()=>eg,weather_set_label:()=>ng,weather_set_label_container:()=>sg,weather_set_label_item:()=>_g,weather_uart_mixio:()=>ig,weigh_sensor_get_weight:()=>iC});var w={};t.r(w),t.d(w,{HCSR04:()=>LC,RTC_set_date:()=>AC,RTC_set_time:()=>SC,bitbot_als_num:()=>yS,dht11:()=>wS,educore_button_sensor:()=>jS,educore_button_was_pressed:()=>$S,educore_gyroscope_sensor:()=>qS,educore_gyroscope_sensor_read:()=>zS,educore_gyroscope_sensor_shake:()=>QS,educore_light_sensor:()=>JS,educore_rfid_sensor:()=>ZS,educore_rfid_sensor_scan:()=>tA,educore_rfid_sensor_scan_data:()=>eA,educore_voice_sensor:()=>WS,number1:()=>DC,number2:()=>fC,number3:()=>FC,number4:()=>PC,number5:()=>vC,number6:()=>YC,number7:()=>XC,onboard_RTC_get_time:()=>wC,onboard_RTC_get_time_str:()=>qC,onboard_RTC_get_timestamp:()=>kC,onboard_RTC_get_timetuple_to_str:()=>zC,onboard_RTC_set_datetime:()=>KC,onboard_RTC_settime_string:()=>WC,onboard_RTC_timestamp_totuple:()=>HC,rfid_readcontent:()=>iS,rfid_readid:()=>eS,rfid_status:()=>_S,rfid_write:()=>nS,rfid_write_return:()=>sS,sensor_LTR308:()=>QC,sensor_aht11:()=>$C,sensor_bitbot_ALS:()=>XS,sensor_button_get_presses:()=>VS,sensor_button_is_pressed:()=>bS,sensor_button_was_pressed:()=>xS,sensor_distance_hrsc04:()=>CC,sensor_eulerangles:()=>pS,sensor_field_strength:()=>kS,sensor_get_acceleration:()=>oS,sensor_get_temperature:()=>ZC,sensor_get_the_coprocessor_version:()=>iA,sensor_hp203:()=>tS,sensor_light:()=>US,sensor_mixbot_get_gyro:()=>YS,sensor_mixbot_patrol_calibrate:()=>FS,sensor_mixbot_patrol_value:()=>PS,sensor_mixbot_temperature:()=>vS,sensor_mixgo_LTR308:()=>GC,sensor_mixgo_button_attachInterrupt:()=>TC,sensor_mixgo_button_get_presses:()=>IC,sensor_mixgo_button_is_pressed:()=>lC,sensor_mixgo_button_was_pressed:()=>dC,sensor_mixgo_cc_mmc5603_calibrate_compass:()=>ES,sensor_mixgo_cc_mmc5603_get_angle:()=>mS,sensor_mixgo_cc_mmc5603_get_magnetic:()=>hS,sensor_mixgo_light:()=>NC,sensor_mixgo_nova_LTR308:()=>BC,sensor_mixgo_nova_pin_near:()=>VC,sensor_mixgo_pin_near:()=>xC,sensor_mixgo_pin_near_double:()=>bC,sensor_mixgo_pin_near_single:()=>yC,sensor_mixgo_pin_pressed:()=>OC,sensor_mixgo_sant_color:()=>UC,sensor_mixgo_touch_slide:()=>gC,sensor_mixgocar42_button_attachInterrupt:()=>EC,sensor_mixgocar42_button_get_presses:()=>mC,sensor_mixgocar42_button_is_pressed:()=>MC,sensor_mixgocar42_button_was_pressed:()=>hC,sensor_mixgocar_battery_left:()=>fS,sensor_mixgocar_pin_near:()=>NS,sensor_mixgocar_pin_near_line:()=>LS,sensor_mixgocar_pin_near_state_change:()=>DS,sensor_mixgoce_pin_pressed:()=>RC,sensor_mixgoce_temperature:()=>RS,sensor_mixgome_temperature:()=>OS,sensor_mpython_pin_pressed:()=>cC,sensor_mpython_qmi8658_get_gyro:()=>cS,sensor_mpython_qmi8658_temperature:()=>gS,sensor_onboard_compass_reset:()=>MS,sensor_onboard_mpu9250_calibrate_compass:()=>dS,sensor_onboard_mpu9250_field_strength:()=>TS,sensor_onboard_mpu9250_gesture:()=>aS,sensor_onboard_mpu9250_get_acceleration:()=>uS,sensor_onboard_mpu9250_get_gyro:()=>lS,sensor_onboard_mpu9250_get_magnetic:()=>rS,sensor_onboard_mpu9250_temperature:()=>IS,sensor_pin_near:()=>GS,sensor_pin_pressed:()=>BS,sensor_read:()=>KS,sensor_rm_acc:()=>AS,sensor_rm_battery_left:()=>SS,sensor_rm_pin_near_double:()=>CS,sensor_rtc_init:()=>JC,sensor_sound:()=>jC,sensor_temperature:()=>HS,simulated_light_sensor:()=>nA});var k={};t.r(k),t.d(k,{serial_any:()=>IA,serial_begin:()=>EA,serial_print:()=>aA,serial_print_byte:()=>pA,serial_print_hex:()=>rA,serial_println:()=>uA,serial_read_from_ai:()=>NA,serial_readline:()=>TA,serial_readstr:()=>dA,serial_readstr_until:()=>MA,serial_receive_data_event:()=>lA,serial_send_to_ai:()=>LA,serial_softserial:()=>mA,serial_softserial_new:()=>hA,system_input:()=>OA,system_print:()=>RA,system_print_container:()=>SA,system_print_end:()=>gA,system_print_inline:()=>cA,system_print_item:()=>AA,system_print_many:()=>CA});var H={};t.r(H),t.d(H,{Panic_with_status_code:()=>PA,Timer_init:()=>WA,base_delay:()=>qA,controls_delay:()=>FA,controls_delay_new:()=>fA,controls_millis:()=>YA,controls_uname:()=>yA,raw_block:()=>XA,reset:()=>vA,set_system_timer:()=>GA,system_bitbot_shutdown:()=>HA,system_machine_reset:()=>kA,system_ticks_diff:()=>VA,system_timer:()=>xA,system_timer_init:()=>BA,system_wdt_feed:()=>wA,system_wdt_init:()=>UA,time_ticks_diff:()=>JA,timer:()=>bA,timer2:()=>KA});var W={};t.r(W),t.d(W,{Air_daily_content:()=>aL,Air_now_content:()=>eL,Geo_moon_content:()=>rL,Geo_sun_content:()=>uL,Life_suggestion_content:()=>nL,Location_search_content:()=>_L,Tide_daily_content:()=>sL,WEATHER_DAILY:()=>jA,WEATHER_HOUR:()=>$A,WEATHER_NOW:()=>QA,Weather_alarm_content:()=>iL,Weather_daily:()=>oL,Weather_daily_content:()=>pL,Weather_now:()=>ZA,Weather_now_content:()=>tL});var K={};t.r(K),t.d(K,{PIN_init:()=>dN,actuator_extern_get_led_bright:()=>vL,actuator_extern_get_led_state:()=>YL,actuator_extern_led_bright:()=>PL,actuator_extern_led_brightness:()=>XL,actuator_ms32006_dcmotor:()=>EL,actuator_ms32006_init:()=>mL,actuator_ms32006_stepper:()=>OL,actuator_neopixel_init:()=>yL,actuator_neopixel_rgb:()=>VL,actuator_neopixel_rgb_all:()=>bL,actuator_neopixel_rgb_show_all_chase:()=>BL,actuator_neopixel_rgb_show_all_rainbow:()=>GL,actuator_neopixel_write:()=>xL,actuator_use_uart_init:()=>UL,backstage_esp32_music_play_list:()=>DL,esp32_music_get_tempo_extern:()=>LL,esp32_music_pitch:()=>cL,esp32_music_pitch_init:()=>RL,esp32_music_pitch_with_time:()=>gL,esp32_music_play_list:()=>NL,esp32_music_reset_extern:()=>fL,esp32_music_set_tempo_extern:()=>AL,esp32_music_stop:()=>CL,esp32_set_music_volume:()=>SL,mixbot_actuator_extern_get_addr:()=>rN,mixbot_actuator_extern_set_addr:()=>lN,mixbot_addr_extern:()=>jL,parrot_PIN_init:()=>hN,parrot_move_speed:()=>mN,pin_led_bright:()=>IN,player_play_music:()=>KL,player_set_mode:()=>WL,player_set_play:()=>kL,player_set_volume:()=>HL,player_whether_stop:()=>wL,robot_led_extern:()=>eN,robot_led_extern_get_value:()=>iN,robot_motor_extern:()=>$L,robot_motor_extern_get_speed:()=>ZL,robot_servo_extern_absolute_run:()=>oN,robot_servo_extern_get_status:()=>nN,robot_servo_extern_relative_continue:()=>uN,robot_servo_extern_relative_origin:()=>pN,robot_servo_extern_relative_run:()=>aN,robot_servo_extern_stop:()=>_N,robot_servo_extern_stop_mode:()=>sN,robot_traffic_light_extern:()=>tN,servo_PIN_init:()=>TN,servo_get_angle:()=>ML,servo_get_speed:()=>hL,servo_init:()=>lL,servo_move:()=>FL,servo_move_angle:()=>MN,servo_set_angle:()=>IL,servo_set_speed:()=>TL,servo_speed_360:()=>dL,syn6288_builtin_voice:()=>zL,syn6288_get_voice:()=>qL,syn6288_set_voice:()=>JL,syn6288_tts_play:()=>QL});var J={};t.r(J),t.d(J,{actuator_dc_motor:()=>KN,actuator_dc_motor_stop:()=>JN,actuator_get_led_bright:()=>fN,actuator_get_led_state:()=>FN,actuator_led_bright:()=>DN,actuator_led_brightness:()=>PN,actuator_mixbot_buzzer_on_off:()=>$N,actuator_mixgo_nova_mic_get:()=>nD,actuator_mixgo_nova_mic_set:()=>iD,actuator_mixgo_nova_onboard_music_pitch:()=>uD,actuator_mixgo_nova_onboard_music_stop:()=>rD,actuator_mixgo_nova_play_audio:()=>pD,actuator_mixgo_nova_play_online_audio:()=>aD,actuator_mixgo_nova_record_audio:()=>oD,actuator_mixgo_nova_voice_get:()=>_D,actuator_mixgo_nova_voice_set:()=>sD,actuator_mixgo_zero_led_color:()=>vN,actuator_onboard_neopixel_rgb:()=>BN,actuator_onboard_neopixel_rgb_all:()=>GN,actuator_onboard_neopixel_rgb_show_all_chase:()=>UN,actuator_onboard_neopixel_rgb_show_all_rainbow:()=>wN,actuator_onboard_neopixel_write:()=>VN,actuator_stepper_keep:()=>HN,actuator_stepper_stop:()=>WN,analog_ble_keyboard_init:()=>gD,analog_ble_keyboard_input:()=>AD,analog_ble_keyboard_mouse_init:()=>YD,analog_ble_keyboard_mouse_input:()=>xD,analog_ble_keyboard_mouse_send_battery:()=>bD,analog_ble_keyboard_mouse_str:()=>VD,analog_ble_keyboard_send_battery:()=>ND,analog_ble_keyboard_str:()=>LD,analog_ble_mouse_init:()=>DD,analog_ble_mouse_input:()=>PD,analog_ble_mouse_keyboard_input:()=>BD,analog_ble_mouse_send_battery:()=>vD,analog_keyboard_input:()=>MD,analog_keyboard_str:()=>RD,analog_mouse_input:()=>ED,backstage_onboard_music_play_list:()=>SN,bitbot_motor:()=>eD,bitbot_move:()=>ZN,bitbot_stop:()=>tD,ble_keyboard_connect:()=>SD,ble_keyboard_get_mac:()=>CD,ble_keyboard_mouse_connect:()=>yD,ble_keyboard_mouse_get_mac:()=>XD,ble_mouse_connect:()=>FD,ble_mouse_get_mac:()=>fD,cc_number:()=>YN,educore_ble_keyboard_input:()=>zD,educore_ble_sensor_connected:()=>qD,educore_ble_sensor_init:()=>JD,educore_buzzer:()=>GD,educore_buzzer_play_tone:()=>UD,educore_buzzer_play_tone_time:()=>wD,educore_buzzer_stop:()=>kD,educore_neopixel_clear:()=>KD,educore_neopixel_rgb:()=>WD,educore_rgb_light:()=>HD,esp32_music_get_tempo:()=>ON,esp32_music_reset:()=>AN,esp32_music_set_tempo:()=>EN,esp32_onboard_music_pitch:()=>RN,esp32_onboard_music_pitch_with_time:()=>cN,esp32_onboard_music_play_list:()=>CN,esp32_onboard_music_stop:()=>gN,general_key:()=>mD,general_key_tuple:()=>cD,get_keyboard_light:()=>QD,get_power_output:()=>dD,ledswitch:()=>NN,mixbot_motor:()=>jN,mixbot_motor_status:()=>qN,mixbot_move:()=>zN,mixbot_stop:()=>QN,mouse_key:()=>OD,number:()=>LN,record_audio:()=>$D,rm_actuator_get_led_bright:()=>yN,rm_actuator_get_led_state:()=>bN,rm_actuator_led_bright:()=>XN,rm_actuator_led_brightness:()=>xN,rm_motor:()=>kN,set_all_power_output:()=>ID,set_microphone_amplification:()=>jD,set_music_volume:()=>ZD,set_part_power_output:()=>TD,set_power_output:()=>lD,special_key:()=>hD});var q={};t.r(q),t.d(q,{ai_sensor_20object:()=>Yf,ai_sensor_ailocal_class:()=>gf,ai_sensor_ailocal_class_result:()=>Cf,ai_sensor_ailocal_train:()=>cf,ai_sensor_asr_recognize:()=>Df,ai_sensor_audio_play:()=>Af,ai_sensor_audio_record:()=>Sf,ai_sensor_barcode:()=>pf,ai_sensor_circle:()=>If,ai_sensor_classifier_faces:()=>vf,ai_sensor_color:()=>mf,ai_sensor_color_chases:()=>Rf,ai_sensor_color_chases_result:()=>Of,ai_sensor_config:()=>nf,ai_sensor_face:()=>Pf,ai_sensor_find_20objects:()=>Xf,ai_sensor_find_barcodes:()=>af,ai_sensor_find_circles:()=>Tf,ai_sensor_find_colors:()=>Ef,ai_sensor_find_licenseplates:()=>Ff,ai_sensor_find_lines:()=>df,ai_sensor_find_qrcodes:()=>of,ai_sensor_find_rects:()=>hf,ai_sensor_find_tags:()=>rf,ai_sensor_licenseplate:()=>ff,ai_sensor_line:()=>lf,ai_sensor_qrcode:()=>_f,ai_sensor_qrcode_lite:()=>ef,ai_sensor_rect:()=>Mf,ai_sensor_rgb:()=>sf,ai_sensor_tag:()=>uf,ai_sensor_use_uart_init:()=>tf,ai_sensor_yolo_recognize:()=>Lf,ai_sensor_yolo_recognize_result:()=>Nf});var z={};t.r(z),t.d(z,{MICROPYTHON_AI_Speech_asr:()=>xf,MICROPYTHON_AI_Speech_unit:()=>bf,MICROPYTHON_AI_client:()=>yf});var Q={};t.r(Q),t.d(Q,{mpython_blynk_app_data:()=>zf,mpython_blynk_app_notify:()=>Hf,mpython_blynk_email:()=>Qf,mpython_blynk_get_timers:()=>Kf,mpython_blynk_on_connected:()=>Uf,mpython_blynk_on_disconnected:()=>Gf,mpython_blynk_run:()=>kf,mpython_blynk_sensor_data_to_app:()=>qf,mpython_blynk_set_property:()=>jf,mpython_blynk_setup:()=>$f,mpython_blynk_stop_timers:()=>Wf,mpython_blynk_sync_virtual:()=>Bf,mpython_blynk_terminal_widget_vpin:()=>Vf,mpython_blynktimer:()=>Jf,mpython_blynktimer_run:()=>wf});var j={};t.r(j),t.d(j,{cc_g1_read_bat:()=>Zf,cc_g1_read_joystick:()=>tF,cc_g1_read_key:()=>eF,cc_g1_turnoff:()=>iF});var $={};t.r($),t.d($,{ce_go_dc_motor:()=>rF,ce_go_get_led_bright:()=>_F,ce_go_get_led_state:()=>oF,ce_go_hall_attachInterrupt:()=>lF,ce_go_hall_data:()=>IF,ce_go_hall_initialize:()=>dF,ce_go_led_bright:()=>sF,ce_go_led_brightness:()=>pF,ce_go_light_number:()=>nF,ce_go_pin_light:()=>EF,ce_go_pin_near:()=>MF,ce_go_pin_near_line:()=>TF,ce_go_pin_near_state_change:()=>hF,ce_go_stepper_keep:()=>aF,ce_go_stepper_stop:()=>uF,educore_car:()=>OF,educore_car_pin_near:()=>CF,educore_car_pin_near_line:()=>gF,educore_car_stepper_keep:()=>RF,educore_car_stepper_stop:()=>cF,sensor_mixgome_eulerangles:()=>mF});var Z={};t.r(Z),t.d(Z,{communicate_bluetooth_central_init:()=>sP,communicate_bluetooth_connect:()=>pP,communicate_bluetooth_disconnect:()=>aP,communicate_bluetooth_handle:()=>TP,communicate_bluetooth_is_connected:()=>rP,communicate_bluetooth_mac:()=>uP,communicate_bluetooth_peripheral_init:()=>_P,communicate_bluetooth_recv:()=>IP,communicate_bluetooth_recv_only:()=>dP,communicate_bluetooth_scan:()=>oP,communicate_bluetooth_send:()=>lP,communicate_espnow_init:()=>MP,communicate_espnow_init_new:()=>hP,communicate_i2c_available:()=>PF,communicate_i2c_init:()=>LF,communicate_i2c_master_read:()=>FF,communicate_i2c_onboard:()=>SF,communicate_i2c_read:()=>NF,communicate_i2c_scan:()=>fF,communicate_i2c_write:()=>DF,communicate_ir_recv_init:()=>qF,communicate_ir_send_init:()=>ZF,communicate_ow_init:()=>wF,communicate_ow_read:()=>WF,communicate_ow_reset:()=>HF,communicate_ow_scan:()=>kF,communicate_ow_select:()=>JF,communicate_ow_write:()=>KF,communicate_spi_buffer:()=>yF,communicate_spi_init:()=>YF,communicate_spi_onboard:()=>AF,communicate_spi_read:()=>bF,communicate_spi_read_output:()=>xF,communicate_spi_readinto:()=>VF,communicate_spi_readinto_output:()=>BF,communicate_spi_set:()=>XF,communicate_spi_write:()=>GF,communicate_spi_write_readinto:()=>UF,espnow_radio_channel:()=>gP,espnow_radio_channel_new:()=>SP,espnow_radio_on_off:()=>AP,espnow_radio_rec:()=>NP,espnow_radio_recv:()=>fP,espnow_radio_recv_certain_msg:()=>FP,espnow_radio_recv_certain_msg_new:()=>vP,espnow_radio_recv_msg:()=>DP,espnow_radio_recv_new:()=>PP,espnow_radio_send:()=>LP,espnow_radio_txpower:()=>CP,i2c_slave_onreceive:()=>vF,internal_variable:()=>zF,ir_recv_timeout:()=>$F,ir_transmit_busy:()=>nP,ir_transmit_conventional_data:()=>tP,ir_transmit_raw_code:()=>iP,ir_transmit_study_code:()=>eP,ir_whether_recv:()=>jF,lora_init:()=>YP,lora_packet:()=>XP,lora_recv:()=>bP,lora_send:()=>yP,network_espnow_info:()=>EP,network_espnow_mac:()=>mP,network_espnow_recv:()=>OP,network_espnow_recv_handle:()=>cP,network_espnow_send:()=>RP,recv_fun:()=>QF,urequests_attribute:()=>VP,urequests_get:()=>xP,urequests_method:()=>BP});var tt={};t.r(tt),t.d(tt,{display_animate:()=>rv,display_circle:()=>lv,display_color_seclet:()=>gv,display_draw_4strings:()=>nv,display_fill:()=>uv,display_lcd_use_i2c_init:()=>Dv,display_line:()=>ov,display_line_arbitrarily:()=>sv,display_matrix_extern_bright_point:()=>QP,display_matrix_extern_bright_screen:()=>$P,display_matrix_extern_clear:()=>JP,display_matrix_extern_get_pixel:()=>zP,display_matrix_extern_get_screen_pixel:()=>jP,display_matrix_extern_image_builtins:()=>ZP,display_matrix_extern_scroll_string:()=>WP,display_matrix_extern_scroll_string_delay:()=>KP,display_matrix_extern_shift:()=>qP,display_matrix_extern_show_frame_string:()=>kP,display_matrix_extern_show_frame_string_delay:()=>HP,display_matrix_extern_show_image:()=>UP,display_matrix_extern_show_image_or_string_delay:()=>wP,display_matrix_use_i2c_init:()=>GP,display_oled_drawPixel:()=>Tv,display_oled_showBitmap:()=>Iv,display_oled_use_i2c_init:()=>Yv,display_onoff:()=>pv,display_rect:()=>_v,display_tm1650_power:()=>hv,display_tm1650_set_brightness:()=>Ov,display_tm1650_show_dot:()=>Ev,display_tm1650_show_num:()=>mv,display_tm_use_i2c_init:()=>Mv,display_triangle:()=>dv,display_use_i2c_init:()=>iv,extern_oled_bright_point:()=>Wv,extern_oled_clear:()=>wv,extern_oled_get_pixel:()=>Hv,extern_oled_hvline:()=>Jv,extern_oled_line:()=>qv,extern_oled_scroll_string:()=>Gv,extern_oled_scroll_string_delay:()=>Uv,extern_oled_shape_rect:()=>Kv,extern_oled_shift:()=>kv,extern_oled_show_frame_string:()=>Vv,extern_oled_show_frame_string_delay:()=>Bv,extern_oled_show_image:()=>Xv,extern_oled_show_image_or_string_delay:()=>xv,extern_oled_show_image_xy:()=>yv,extern_oled_show_string:()=>bv,image_shift:()=>av,lcd_backlight:()=>Pv,lcd_clear:()=>vv,lcd_print_string:()=>Fv,lcd_show_image_or_string_delay:()=>fv,matrix_extern_image_arithmetic:()=>tv,matrix_extern_image_invert:()=>ev,tft_fill:()=>Lv,tft_line_arbitrarily:()=>Nv,tft_scroll_string_delay:()=>Av,tft_show_frame_string_delay:()=>Sv,tft_show_image_or_string_delay:()=>Cv,tft_show_image_xy:()=>cv,tft_use_spi_init:()=>Rv});var et={};t.r(et),t.d(et,{bitbot_display_bitmap_create:()=>UY,bitbot_display_image_create:()=>GY,display_available:()=>aY,display_bitmap_create:()=>oY,display_bright_point:()=>IY,display_bright_screen:()=>MY,display_clear:()=>pY,display_get_pixel:()=>dY,display_get_screen_pixel:()=>TY,display_image_builtins:()=>nY,display_image_builtins_all:()=>sY,display_image_create:()=>_Y,display_scroll_string:()=>Zv,display_scroll_string_delay:()=>tY,display_scroll_way:()=>eY,display_shift:()=>lY,display_show_frame_string:()=>jv,display_show_frame_string_delay:()=>$v,display_show_image:()=>zv,display_show_image_or_string_delay:()=>Qv,draw_pointer:()=>sX,image_arithmetic:()=>uY,image_invert:()=>rY,mixbot_display_bitmap_create:()=>yY,mixbot_display_bright_screen:()=>VY,mixbot_display_get_ambientbright:()=>xY,mixbot_display_get_screen_pixel:()=>bY,mixbot_display_image_create:()=>XY,mixbot_display_rotate:()=>BY,mixgo_display_bitmap_create:()=>gY,mixgo_display_image_create_new:()=>cY,mixgome_display_bitmap_create:()=>mY,mixgome_display_font:()=>RY,mixgome_display_image_create:()=>hY,mixgomini_display_bitmap_create:()=>OY,mixgomini_display_image_create:()=>EY,mpython_display_hvline:()=>vY,mpython_display_line:()=>YY,mpython_display_shape_rect:()=>PY,mpython_pbm_image:()=>CY,nova_draw_pointer:()=>_X,onboard_oled_bright_point:()=>FY,onboard_oled_scroll_string_delay:()=>fY,onboard_oled_show_frame_string_delay:()=>DY,onboard_oled_show_image:()=>SY,onboard_oled_show_image_or_string_delay:()=>NY,onboard_oled_show_image_xy:()=>AY,onboard_oled_show_string:()=>LY,onboard_tft_bright_point:()=>QY,onboard_tft_bright_screen:()=>IX,onboard_tft_clear:()=>TX,onboard_tft_clock_clear:()=>iX,onboard_tft_clock_draw:()=>eX,onboard_tft_clock_get_rtctime:()=>ZY,onboard_tft_clock_init:()=>$Y,onboard_tft_clock_set_time:()=>tX,onboard_tft_display_hvline:()=>JY,onboard_tft_display_line:()=>qY,onboard_tft_display_shape_circle:()=>nX,onboard_tft_display_shape_rect:()=>KY,onboard_tft_fill:()=>jY,onboard_tft_get_pixel:()=>zY,onboard_tft_get_screen_pixel:()=>dX,onboard_tft_scroll_string_delay:()=>iY,onboard_tft_shift:()=>lX,onboard_tft_show_frame_string:()=>rX,onboard_tft_show_frame_string_delay:()=>WY,onboard_tft_show_image:()=>uX,onboard_tft_show_image_or_string_delay:()=>HY,onboard_tft_show_image_xy:()=>wY,onboard_tft_show_image_xy_direct:()=>kY,onboard_tft_show_qrcode:()=>pX,onboard_tft_show_qrcode_details:()=>aX,onboard_tft_show_texts:()=>oX});var it={};t.r(it),t.d(it,{factory_block:()=>gX,factory_block_return:()=>CX,factory_block_return_with_textarea:()=>AX,factory_block_with_textarea:()=>SX,factory_callMethod_noreturn:()=>RX,factory_callMethod_return:()=>cX,factory_declare:()=>OX,factory_from_import:()=>MX,factory_function_noreturn:()=>mX,factory_function_return:()=>EX,factory_import:()=>hX,folding_block:()=>LX});var nt={};t.r(nt),t.d(nt,{inout_analog_atten:()=>UX,inout_analog_read:()=>XX,inout_analog_read_init:()=>GX,inout_analog_write:()=>PX,inout_analog_write_init:()=>BX,inout_analog_write_set:()=>vX,inout_digital_init:()=>xX,inout_digital_read:()=>fX,inout_digital_write:()=>DX,inout_highlow:()=>NX,inout_pin_attachInterrupt:()=>bX,inout_pin_pressed:()=>yX,inout_pin_pressed_init:()=>wX,inout_pwm_analog_write:()=>FX,inout_pwm_analog_write_init:()=>VX,inout_pwm_analog_write_set_freq:()=>YX});var st={};t.r(st),t.d(st,{IOT_CONNECT_OLLAMA:()=>my,IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>ay,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>oy,IOT_EMQX_PING:()=>uy,IOT_FORMATTING:()=>sy,IOT_FORMAT_STRING:()=>_y,IOT_MIXIO_NTP:()=>ry,IOT_MIXIO_PUBLISH:()=>QX,IOT_MIXIO_PUBLISHEX:()=>jX,IOT_MIXIO_SUBSCRIBE:()=>$X,iot_client_onboard:()=>ly,iot_connect_ollama:()=>hy,iot_connect_openai:()=>Ey,iot_http_client:()=>dy,iot_http_data:()=>Iy,iot_mixio_check:()=>ey,iot_mixio_connect:()=>zX,iot_mixio_connect_only:()=>ty,iot_mixio_disconnect:()=>ZX,iot_mixio_format_msg:()=>ny,iot_mixio_format_topic:()=>iy,iot_mixly_key:()=>py,iot_mqtt_client:()=>Ty,iot_mqtt_data:()=>My,iot_onenet_check:()=>JX,iot_onenet_connect:()=>HX,iot_onenet_disconnect:()=>WX,iot_onenet_publish:()=>qX,iot_onenet_publish_dict:()=>KX,iot_tiny_web_db_count:()=>Ly,iot_tiny_web_db_delete:()=>Dy,iot_tiny_web_db_get:()=>Ay,iot_tiny_web_db_init:()=>gy,iot_tiny_web_db_init_with_mqtt:()=>Cy,iot_tiny_web_db_search:()=>Ny,iot_tiny_web_db_update:()=>Sy,iot_wifi_connect:()=>kX,ollama_empty_history:()=>cy,use_ollama_llm_to_chat:()=>Oy,use_ollama_llm_to_chat_return:()=>Ry});var _t={};t.r(_t),t.d(_t,{educore_mqtt_connect:()=>ob,educore_mqtt_connect_success:()=>rb,educore_mqtt_subscribe_message:()=>pb,educore_mqtt_topic_publish:()=>ub,educore_mqtt_topic_subscribe:()=>ab,educore_wifi_connect:()=>_b,network_ap_connect:()=>xy,network_connect:()=>Fy,network_get_connect:()=>vy,network_get_wifi:()=>by,network_init:()=>fy,network_is_active:()=>yy,network_open:()=>Xy,network_scan:()=>Vy,network_server:()=>By,network_socket_accept:()=>Hy,network_socket_bind:()=>Uy,network_socket_close:()=>Qy,network_socket_connect:()=>wy,network_socket_init:()=>Gy,network_socket_listen:()=>ky,network_socket_readline:()=>Wy,network_socket_receive:()=>Ky,network_socket_receive_from:()=>qy,network_socket_send:()=>Jy,network_socket_send_to:()=>zy,network_stop:()=>Yy,network_wifi_connect:()=>Py,ntptime_address:()=>eb,ntptime_time:()=>tb,requests_attribute:()=>$y,requests_attribute2:()=>nb,requests_get:()=>jy,requests_get2:()=>ib,requests_method:()=>Zy,requests_post:()=>sb});var ot={};t.r(ot),t.d(ot,{CI130X_BROADCAST:()=>Yb,CI130X_GET_THE_RECOGNIZED_CMD:()=>vb,CI130X_GET_WHETHER_IDENTIFY:()=>Pb,CI130X_IDENTIFY_AND_SAVE:()=>Fb,CI130X_SET_SYSTEM_CMD:()=>Xb,HCSR04:()=>dx,PS2_Button:()=>Mx,PS2_Buttons:()=>hx,PS2_Buttons_new:()=>Sx,PS2_State:()=>mx,PS2_init:()=>Ix,PS2_init_new:()=>gx,PS2_stk:()=>Ex,PS2_stk_new:()=>Ax,PS2_vibration:()=>Tx,PS2_vibration_new:()=>Cx,RTC_get_time:()=>Rx,RTC_set_date:()=>Eb,RTC_set_datetime:()=>Ox,RTC_set_time:()=>mb,camera_sensor_init:()=>iV,camera_sensor_result:()=>nV,column_tube_foot:()=>pV,define_keyboards:()=>aV,educore_body_sensor:()=>Kx,educore_button_sensor_extern:()=>Qx,educore_camera_sensor:()=>eV,educore_infrared_sensor:()=>zx,educore_soilhum_sensor:()=>Jx,educore_temp_sensor:()=>tV,educore_temphum_sensor:()=>qx,educore_ultrasonic_sensor:()=>$x,esp32_s2_weather_init:()=>ax,esp32_s2_weather_rain:()=>rx,esp32_s2_weather_wd:()=>ux,esp32_s2_weather_ws:()=>lx,extern_rfid_read:()=>Qb,extern_rfid_readcontent:()=>$b,extern_rfid_readid:()=>jb,extern_rfid_status:()=>ex,extern_rfid_write:()=>Zb,extern_rfid_write_return:()=>tx,get_keboards_value:()=>rV,gnss_get_data:()=>Dx,gnss_have_data:()=>fx,init_init_rotary_encoder:()=>lV,init_matrix_keyboard:()=>uV,interaction_whether_to_interaction:()=>Db,interaction_whether_to_interaction_SANT:()=>fb,line_tube_foot:()=>oV,mixbot_sensor_extern_get_addr:()=>Bx,mixbot_sensor_extern_set_addr:()=>Gx,pm25_get_data:()=>Nx,radar_set_DETECTION_THRESHOLD:()=>Lb,radar_set_DETECTION_THRESHOLD_SANT:()=>Nb,robot_button_extern_get_value:()=>Px,robot_color_extern_get_value:()=>bx,robot_infrared_extern_get_value:()=>Yx,robot_infrared_extern_grey_get_value:()=>Xx,robot_potentiometer_extern_get_value:()=>yx,robot_sonar_extern_get_value:()=>xx,robot_sonar_extern_led:()=>Vx,robot_touch_extern_get_value:()=>vx,rotary_key:()=>dV,sensor_APDS9960_extern:()=>bb,sensor_DS18X20:()=>Wx,sensor_LTR308_extern:()=>xb,sensor_LTR390UV_extern:()=>Hb,sensor_MAX30102_extern:()=>yb,sensor_QMC5883L_extern:()=>Wb,sensor_VL530LX_extern:()=>qb,sensor_aht11_extern:()=>Jb,sensor_bmp:()=>Cb,sensor_dht11:()=>cx,sensor_distance_hrsc04:()=>hb,sensor_hp203_extern:()=>Vb,sensor_ltr381_extern:()=>wb,sensor_mixgo_extern_button_attachInterrupt:()=>Tb,sensor_mixgo_extern_button_get_presses:()=>Ib,sensor_mixgo_extern_button_is_pressed:()=>lb,sensor_mixgo_extern_button_was_pressed:()=>db,sensor_mixgo_extern_light:()=>Ob,sensor_mixgo_extern_pin_near:()=>cb,sensor_mixgo_extern_sound:()=>Rb,sensor_mixgoce_hot_wheel_degrees:()=>px,sensor_mixgoce_hot_wheel_is_touched:()=>ox,sensor_mpu9250_attachGestureInterrupt:()=>Mb,sensor_ms5611_extern:()=>Gb,sensor_ms5611_extern_altitude:()=>Ub,sensor_read_humiture:()=>jx,sensor_rtc_init:()=>gb,sensor_sht:()=>Sb,sensor_shtc3_extern:()=>Kb,sensor_spl06_001_extern:()=>Bb,sensor_ucs12071_extern:()=>kb,sensor_use_i2c_init:()=>Ab,sensor_use_spi_init:()=>zb,sensor_use_uart_init:()=>Lx,sensor_weather_solo_init:()=>Ux,sensor_weather_solo_rain:()=>Hx,sensor_weather_solo_wd:()=>wx,sensor_weather_solo_ws:()=>kx,sensor_weigh_init:()=>sV,tvoc_get_data:()=>Fx,ultrasonic_sensor_read_distance:()=>Zx,weather_data:()=>ix,weather_have_data:()=>nx,weather_set_label:()=>_x,weather_uart_mixio:()=>sx,weigh_sensor_get_weight:()=>_V});var pt={};t.r(pt),t.d(pt,{HCSR04:()=>cV,bitbot_als_num:()=>kB,dht11:()=>jB,educore_button_sensor:()=>sG,educore_button_was_pressed:()=>_G,educore_gyroscope_sensor:()=>eG,educore_gyroscope_sensor_read:()=>iG,educore_gyroscope_sensor_shake:()=>nG,educore_light_sensor:()=>tG,educore_rfid_sensor:()=>oG,educore_rfid_sensor_scan:()=>pG,educore_rfid_sensor_scan_data:()=>aG,educore_voice_sensor:()=>$B,number1:()=>gV,number2:()=>CV,number3:()=>SV,number4:()=>AV,number5:()=>LV,number6:()=>NV,number7:()=>DV,onboard_RTC_get_time:()=>OB,onboard_RTC_get_time_str:()=>gB,onboard_RTC_get_timestamp:()=>RB,onboard_RTC_get_timetuple_to_str:()=>CB,onboard_RTC_set_datetime:()=>mB,onboard_RTC_settime_string:()=>EB,onboard_RTC_timestamp_totuple:()=>cB,rfid_readcontent:()=>HV,rfid_readid:()=>kV,rfid_status:()=>JV,rfid_write:()=>WV,rfid_write_return:()=>KV,sensor_LTR308:()=>VV,sensor_adxl345_get_acceleration:()=>iB,sensor_aht11:()=>UV,sensor_bitbot_ALS:()=>wB,sensor_button_get_presses:()=>KB,sensor_button_is_pressed:()=>HB,sensor_button_was_pressed:()=>WB,sensor_compass_reset:()=>aB,sensor_ds18x20:()=>bV,sensor_eulerangles:()=>zV,sensor_get_acceleration:()=>qV,sensor_get_temperature:()=>wV,sensor_get_the_coprocessor_version:()=>uG,sensor_hp203:()=>GV,sensor_light:()=>QB,sensor_lm35:()=>xV,sensor_mixbot_get_gyro:()=>UB,sensor_mixbot_patrol_calibrate:()=>VB,sensor_mixbot_patrol_value:()=>BB,sensor_mixbot_temperature:()=>GB,sensor_mixgo_LTR308:()=>YV,sensor_mixgo_button_attachInterrupt:()=>hV,sensor_mixgo_button_get_presses:()=>MV,sensor_mixgo_button_is_pressed:()=>IV,sensor_mixgo_button_was_pressed:()=>TV,sensor_mixgo_cc_mmc5603_calibrate_compass:()=>LB,sensor_mixgo_cc_mmc5603_get_angle:()=>AB,sensor_mixgo_cc_mmc5603_get_magnetic:()=>SB,sensor_mixgo_light:()=>zB,sensor_mixgo_nova_LTR308:()=>yV,sensor_mixgo_nova_pin_near:()=>vV,sensor_mixgo_pin_near:()=>PV,sensor_mixgo_pin_near_double:()=>FV,sensor_mixgo_pin_near_single:()=>fV,sensor_mixgo_pin_pressed:()=>tB,sensor_mixgo_sant_color:()=>XV,sensor_mixgo_touch_slide:()=>ZV,sensor_mixgocar42_button_attachInterrupt:()=>RV,sensor_mixgocar42_button_get_presses:()=>OV,sensor_mixgocar42_button_is_pressed:()=>mV,sensor_mixgocar42_button_was_pressed:()=>EV,sensor_mixgocar_battery_left:()=>xB,sensor_mixgocar_pin_near:()=>yB,sensor_mixgocar_pin_near_line:()=>XB,sensor_mixgocar_pin_near_state_change:()=>bB,sensor_mixgoce_pin_pressed:()=>$V,sensor_mixgoce_temperature:()=>DB,sensor_mixgome_temperature:()=>NB,sensor_mpu9250_calibrate_compass:()=>_B,sensor_mpu9250_field_strength:()=>pB,sensor_mpu9250_gesture:()=>QV,sensor_mpu9250_get_acceleration:()=>jV,sensor_mpu9250_get_gyro:()=>sB,sensor_mpu9250_get_magnetic:()=>nB,sensor_mpu9250_temperature:()=>oB,sensor_mpython_pin_pressed:()=>eB,sensor_mpython_qmi8658_get_gyro:()=>fB,sensor_mpython_qmi8658_temperature:()=>FB,sensor_onboard_compass_reset:()=>hB,sensor_onboard_mpu9250_calibrate_compass:()=>IB,sensor_onboard_mpu9250_field_strength:()=>MB,sensor_onboard_mpu9250_gesture:()=>uB,sensor_onboard_mpu9250_get_acceleration:()=>rB,sensor_onboard_mpu9250_get_gyro:()=>dB,sensor_onboard_mpu9250_get_magnetic:()=>lB,sensor_onboard_mpu9250_temperature:()=>TB,sensor_pin_near:()=>qB,sensor_pin_pressed:()=>JB,sensor_read:()=>ZB,sensor_rm_acc:()=>YB,sensor_rm_battery_left:()=>vB,sensor_rm_pin_near_double:()=>PB,sensor_sound:()=>BV,simulated_light_sensor:()=>rG});var at={};t.r(at),t.d(at,{serial_any:()=>MG,serial_print:()=>lG,serial_print_byte:()=>dG,serial_print_hex:()=>TG,serial_println:()=>IG,serial_read_from_ai:()=>LG,serial_readline:()=>mG,serial_readstr:()=>hG,serial_send_to_ai:()=>AG,serial_softserial:()=>EG,serial_softserial_new:()=>OG,system_input:()=>RG,system_print:()=>cG,system_print_end:()=>CG,system_print_inline:()=>gG,system_print_many:()=>SG});var ut={};t.r(ut),t.d(ut,{Panic_with_status_code:()=>VG,Timer_init:()=>tU,base_delay:()=>nU,controls_delay:()=>kG,controls_delay_new:()=>HG,controls_end_program:()=>GG,controls_millis:()=>BG,controls_uname:()=>wG,reset:()=>UG,set_system_timer:()=>KG,system_bitbot_shutdown:()=>ZG,system_device_name:()=>bG,system_device_serial_number:()=>xG,system_event_bus_source:()=>XG,system_event_bus_value:()=>yG,system_machine_reset:()=>$G,system_on_event:()=>PG,system_raise_event:()=>FG,system_reset:()=>DG,system_run_in_background:()=>NG,system_ticks_diff:()=>JG,system_timer:()=>zG,system_timer_init:()=>qG,system_timestamp:()=>vG,system_value:()=>YG,system_wait:()=>fG,system_wdt_feed:()=>jG,system_wdt_init:()=>QG,time_ticks_diff:()=>iU,timer:()=>WG,timer2:()=>eU});var rt={};t.r(rt),t.d(rt,{Air_daily_content:()=>hU,Air_now_content:()=>uU,Geo_moon_content:()=>EU,Geo_sun_content:()=>mU,Life_suggestion_content:()=>lU,Location_search_content:()=>IU,Tide_daily_content:()=>dU,WEATHER_DAILY:()=>_U,WEATHER_HOUR:()=>oU,WEATHER_NOW:()=>sU,Weather_alarm_content:()=>rU,Weather_daily:()=>TU,Weather_daily_content:()=>MU,Weather_now:()=>pU,Weather_now_content:()=>aU});var lt={};t.r(lt),t.d(lt,{MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED:()=>cU});var dt={};t.r(dt),t.d(dt,{MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED:()=>CU});var It={};t.r(It),t.d(It,{MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED:()=>AU});var Tt={};t.r(Tt),t.d(Tt,{controls_pin_attachInterrupt:()=>WU,inout_analog_atten:()=>yU,inout_analog_write:()=>YU,inout_analog_write_init:()=>BU,inout_analog_write_set:()=>XU,inout_analog_write_set_freq:()=>UU,inout_digital_init:()=>VU,inout_digital_read:()=>vU,inout_digital_write:()=>PU,inout_highlow:()=>FU,inout_pinMode:()=>wU,inout_pin_attachInterrupt:()=>xU,inout_pin_pressed:()=>bU,inout_pin_pressed_init:()=>GU,pin_pressed:()=>HU,pin_pressed_init:()=>kU});var Mt={};t.r(Mt),t.d(Mt,{mini_g2_aht11:()=>JU,mini_g2_hp203:()=>qU,mini_g2_rfid_readcontent:()=>jU,mini_g2_rfid_readid:()=>QU,mini_g2_rfid_status:()=>tw,mini_g2_rfid_write:()=>$U,mini_g2_rfid_write_outcome:()=>ZU,mini_g2_varistor:()=>zU});var ht={};t.r(ht),t.d(ht,{me_go_dc_motor:()=>uw,me_go_get_led_bright:()=>sw,me_go_get_led_state:()=>_w,me_go_hall_attachInterrupt:()=>rw,me_go_hall_data:()=>dw,me_go_hall_initialize:()=>lw,me_go_led_bright:()=>nw,me_go_led_brightness:()=>ow,me_go_light_number:()=>iw,me_go_pin_light:()=>mw,me_go_pin_near:()=>Tw,me_go_pin_near_line:()=>Iw,me_go_pin_near_state_change:()=>Mw,me_go_stepper_keep:()=>pw,me_go_stepper_stop:()=>aw,sensor_mixgome_eulerangles:()=>hw});var mt={};t.r(mt),t.d(mt,{analog_input:()=>Lw,analog_output:()=>Dw,espnow_channel:()=>Cw,haskylens_model:()=>Sw,i2c_A_pin:()=>fw,i2c_B_pin:()=>Fw,pins_analog:()=>yw,pins_analog_pin:()=>bw,pins_axis:()=>Zw,pins_brightness:()=>tk,pins_builtinimg:()=>Kw,pins_builtinimg_extern:()=>Jw,pins_button:()=>Bw,pins_buttonB:()=>Gw,pins_dac:()=>xw,pins_dac_pin:()=>Vw,pins_digital:()=>Ow,pins_digital_dot:()=>ak,pins_digital_pin:()=>Rw,pins_exlcdh:()=>jw,pins_exlcdv:()=>$w,pins_imglist:()=>qw,pins_input_pin:()=>cw,pins_one_more:()=>pk,pins_output_pin:()=>gw,pins_playlist:()=>zw,pins_playlist_extern:()=>Qw,pins_pwm:()=>Uw,pins_pwm_pin:()=>ww,pins_radio_datarate:()=>ok,pins_radio_power:()=>_k,pins_serial:()=>Ww,pins_tone_notes:()=>sk,pins_touch:()=>Hw,pins_touch_pin:()=>kw,pins_tts_bgmusic:()=>nk,pins_tts_builtin_music:()=>ik,pins_tts_voice:()=>ek,pwm_input:()=>Aw,pwm_output:()=>Nw,spi_A_pin:()=>Pw,spi_B_pin:()=>vw,spi_C_pin:()=>Yw,spi_D_pin:()=>Xw});var Et={};t.r(Et),t.d(Et,{inout_analog_atten:()=>Ek,inout_analog_write:()=>dk,inout_analog_write_init:()=>mk,inout_analog_write_set:()=>Ik,inout_digital_init:()=>hk,inout_digital_read:()=>lk,inout_digital_write:()=>rk,inout_highlow:()=>uk,inout_pin_attachInterrupt:()=>Mk,inout_pin_pressed:()=>Tk,inout_pin_pressed_init:()=>Ok});var Ot={};t.r(Ot),t.d(Ot,{mini_g2_aht11:()=>Rk,mini_g2_hp203:()=>ck,mini_g2_rfid_readcontent:()=>Sk,mini_g2_rfid_readid:()=>Ck,mini_g2_rfid_status:()=>Nk,mini_g2_rfid_write:()=>Ak,mini_g2_rfid_write_outcome:()=>Lk,mini_g2_varistor:()=>gk});var Rt={};t.r(Rt),t.d(Rt,{me_go_dc_motor:()=>yk,me_go_get_led_bright:()=>Fk,me_go_get_led_state:()=>Pk,me_go_hall_attachInterrupt:()=>bk,me_go_hall_data:()=>Vk,me_go_hall_initialize:()=>xk,me_go_led_bright:()=>fk,me_go_led_brightness:()=>vk,me_go_light_number:()=>Dk,me_go_pin_light:()=>kk,me_go_pin_near:()=>Gk,me_go_pin_near_line:()=>Bk,me_go_pin_near_state_change:()=>Uk,me_go_stepper_keep:()=>Yk,me_go_stepper_stop:()=>Xk,sensor_mixgome_eulerangles:()=>wk});var ct={};t.r(ct),t.d(ct,{analog_input:()=>Zk,analog_output:()=>eH,espnow_channel:()=>jk,haskylens_model:()=>$k,i2c_A_pin:()=>iH,i2c_B_pin:()=>nH,pins_analog:()=>uH,pins_analog_pin:()=>aH,pins_axis:()=>CH,pins_brightness:()=>LH,pins_builtinimg:()=>EH,pins_builtinimg_extern:()=>OH,pins_button:()=>Wk,pins_buttonB:()=>Kk,pins_dac:()=>IH,pins_dac_pin:()=>dH,pins_digital:()=>Hk,pins_digital_dot:()=>XH,pins_digital_pin:()=>Jk,pins_exlcdh:()=>SH,pins_exlcdv:()=>AH,pins_imglist:()=>RH,pins_input_pin:()=>qk,pins_interrupt:()=>hH,pins_one_more:()=>YH,pins_output_pin:()=>zk,pins_playlist:()=>cH,pins_playlist_extern:()=>gH,pins_pwm:()=>lH,pins_pwm_input:()=>Qk,pins_pwm_pin:()=>rH,pins_radio_datarate:()=>vH,pins_radio_power:()=>PH,pins_serial:()=>mH,pins_tone_notes:()=>FH,pins_touch:()=>MH,pins_touch_pin:()=>TH,pins_tts_bgmusic:()=>fH,pins_tts_builtin_music:()=>DH,pins_tts_voice:()=>NH,pwm_output:()=>tH,spi_A_pin:()=>sH,spi_B_pin:()=>_H,spi_C_pin:()=>oH,spi_D_pin:()=>pH});const gt=Blockly,Ct=Mixly,St={NAME_TYPE:"VARIABLE",allVariables:function(t){var e;if(t.getDescendants)e=t.getDescendants();else{if(!t.getAllBlocks)throw"Not Block or Workspace: "+t;e=t.getAllBlocks()}for(var i=Object.create(null),n=0;n1&&(o+=n)):i=o}else i="i";return i}},At=St; +/** + * @license + * Visual Blocks Editor + * + * Copyright 2012 Google Inc. + * https://developers.google.com/blockly/ + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +class Lt{constructor(t,e){if(this.variablePrefix_=e||"",this.reservedDict_=Object.create(null),t)for(var i=t.split(","),n=0;n0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(gt.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+s).appendField(gt.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(gt.Msg.CONTROLS_IF_MSG_ELSE);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_if_if");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_if_elseif");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var _=t.newBlock("controls_if_else");_.initSvg(),i.connect(_.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],_=null;i;){switch(i.type){case"controls_if_elseif":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_if_else":this.elseCount_++,_=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,_)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_if_elseif":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_if_else":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),_=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(_.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(gt.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+t).appendField(gt.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(gt.Msg.CONTROLS_IF_MSG_ELSE)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},Wt={init:function(){this.setColour(Bt),this.appendValueInput("FROM").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.PYTHON_RANGE).appendField(gt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.PYTHON_RANGE_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(gt.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},Kt={init:function(){this.setColour(Bt),this.appendValueInput("LIST").setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.CONTROLS_FOREACH_INPUT),this.appendValueInput("VAR").appendField(gt.Msg.CONTROLS_FOREACH_INPUT_ITEM),this.appendStatementInput("DO").appendField(gt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip((function(){return gt.Msg.CONTROLS_FOR_TOOLTIP.replace("“%1”","")}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){gt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Jt={init:function(){this.setColour(Bt),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(gt.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(new gt.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(gt.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT+gt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return{WHILE:gt.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:gt.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[e]}))}},qt={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.MIXLY_PYTHON_TRY),this.appendStatementInput("try"),this.appendValueInput("IF1").appendField(gt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO1").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new gt.icons.MutatorIcon(["controls_except","controls_finally"],this)),this.setTooltip(gt.Msg.MIXLY_MIXPY_CONTROL_TRY_TOOLTIP),this.elseifCount_=1,this.elseCount_=0},mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var t=document.createElement("mutation");return this.elseifCount_&&t.setAttribute("elseif",this.elseifCount_),this.elseCount_&&t.setAttribute("else",1),t},domToMutation:function(t){var e=this,i=[],n=[];this.elseCount_&&this.removeInput("ELSE");for(var s=this.elseifCount_;s>0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(gt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+s).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(gt.Msg.MIXLY_PYTHON_FINALLY);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_try");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_except");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var _=t.newBlock("controls_finally");_.initSvg(),i.connect(_.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],_=null;i;){switch(i.type){case"controls_except":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_finally":this.elseCount_++,_=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,_)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_except":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_finally":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),_=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(_.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(gt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+t).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(gt.Msg.MIXLY_PYTHON_FINALLY)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},zt={init:function(){this.setColour(Bt);var t=new gt.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(t,"FLOW").appendField(gt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0),this.setTooltip(gt.Msg.MIXLY_PYTHON_CONTROLS_FLOW_STATEMENTS_TOOLTIP);var e=this;this.setTooltip((function(){var t=e.getFieldValue("FLOW");return{BREAK:gt.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:gt.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}[t]}))},onchange:function(){if(this.workspace){var t=!1,e=this;do{if("controls_repeat"==e.type||"controls_for"==e.type||"controls_forEach"==e.type||"controls_repeat_ext"==e.type||"controls_whileUntil"==e.type||"do_while"==e.type){t=!0;break}e=e.getSurroundParent()}while(e);t?this.setWarningText(null):this.setWarningText(gt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}},Qt={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new gt.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(gt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return gt.Msg.CONTROLS_FOR_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){gt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},jt={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new gt.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(gt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return gt.Msg.MIXLY_PYTHON_CONTROLS_FOR_RANGE_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){gt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}};Jt.OPERATORS=[[gt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[gt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]],zt.OPERATORS=[[gt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[gt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const $t={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.CONTROLS_IF_IF_TITLE_IF),this.appendStatementInput("STACK"),this.setTooltip(gt.Msg.CONTROLS_IF_IF_TOOLTIP),this.contextMenu=!1}},Zt={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},te={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.CONTROLS_IF_ELSE_TITLE_ELSE),this.setPreviousStatement(!0),this.setTooltip(gt.Msg.CONTROLS_IF_ELSE_TOOLTIP),this.contextMenu=!1}},ee={init:function(){this.setColour(Bt),this.appendDummyInput().appendField("try"),this.appendStatementInput("STACK"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.contextMenu=!1}},ie={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.MIXLY_PYTHON_EXCEPT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1,this.setTooltip(gt.Msg.MIXLY_MIXPY_CONTROL_EXCEPT_TOOLTIP)}},ne={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.MIXLY_PYTHON_FINALLY),this.setPreviousStatement(!0),this.contextMenu=!1,this.setTooltip(gt.Msg.MIXLY_MIXPY_CONTROL_FINALLY_TOOLTIP)}},se={init:function(){this.jsonInit({message0:gt.Msg.CONTROLS_REPEAT_TITLE,args0:[{type:"input_value",name:"TIMES"}],previousStatement:null,nextStatement:null,colour:Bt,tooltip:gt.Msg.CONTROLS_REPEAT_TOOLTIP,helpUrl:gt.Msg.CONTROLS_REPEAT_HELPURL}),this.appendStatementInput("DO")}},_e={init:function(){this.setColour(Bt),this.appendValueInput("BOOL").appendField("lambda"),this.appendStatementInput("DO").appendField(gt.Msg.MIXLY_STAT),this.setOutput(!0)}},oe={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.MIXLY_PYTHON_PASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_PYTHON_CONTROLS_PASS_TOOLTIP)}},pe={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_START),this.appendValueInput("callback").appendField(gt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_TOOLTIP)}},ae={init:function(){this.appendDummyInput().appendField(gt.Msg.CONTROLS_REPEAT_TITLE_REPEAT+gt.Msg.MIXLY_DO),this.appendStatementInput("input_data").setCheck(null),this.appendValueInput("select_data").setCheck(null).appendField(gt.Msg.CONTROLS_OPERATOR_UNTIL).appendField(new gt.FieldDropdown([[gt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"true"],[gt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"false"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Bt),this.setTooltip("do-while loop"),this.setHelpUrl("")}},ue={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.MIXLY_OP_GARBAGE_COLLECT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},re={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET_MEM_ALLOC),this.setOutput(!0)}},le={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET_MEM_FREE),this.setOutput(!0)}},de={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET+gt.Msg.MIXLY_DEVICE+"ID"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(gt.Msg.PROCEDURES_DEFRETURN_RETURN+gt.Msg.MIXLY_GET_UNIQUE_IDEN)}},Ie={init:function(){this.setColour(Bt),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_RTC_TIMESTAMP),this.appendDummyInput().appendField(gt.Msg.MIXLY_TIMESTAMP_TO_DATA),this.setInputsInline(!0),this.setOutput(!0,Number)}},Te={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET_UNIQUE_IDEN),this.setOutput(!0)}},Me=230;gt.FieldTextInput.math_number_validator=function(t){return String(t)},gt.FieldTextInput.math_number_validator_include_blank=function(t){if(""===t)return"";return/^-?(0X|0x|0O|0o|0B|0b)?[a-fA-F0-9]{1,}(\.[a-fA-F0-9]+)?$/.test(t)?String(t):null};const he={init:function(){this.setColour(Me),this.appendDummyInput().appendField(new gt.FieldTextInput("0",gt.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(gt.Msg.MATH_NUMBER_TOOLTIP)}},me={init:function(){this.setColour(Me);this.appendDummyInput("").appendField(gt.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new gt.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:gt.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_TOOLTIP,e:gt.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_TOOLTIP}[e]}))}},Ee={init:function(){this.setColour(Me);this.appendDummyInput("").appendField(gt.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new gt.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:gt.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_MP_TOOLTIP,e:gt.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_MP_TOOLTIP}[e]}))}},Oe={init:function(){this.setColour(Me),this.setOutput(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new gt.FieldDropdown([["+","ADD"],["-","MINUS"],["×","MULTIPLY"],["÷","DIVIDE"],["%","QUYU"],["//","ZHENGCHU"],["**","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:gt.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:gt.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:gt.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:gt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:gt.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:gt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:gt.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},Re={init:function(){this.setColour(Me),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new gt.FieldDropdown([["+=","ADD"],["-=","MINUS"],["×=","MULTIPLY"],["÷=","DIVIDE"],["%=","QUYU"],["//=","ZHENGCHU"],["**=","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:gt.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:gt.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:gt.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:gt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:gt.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:gt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:gt.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},ce={init:function(){this.setColour(Me),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new gt.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},ge={init:function(){this.setColour(Me),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new gt.FieldDropdown([["sin","SIN"],["cos","COS"],["tan","TAN"],["asin","ASIN"],["acos","ACOS"],["atan","ATAN"],["-","-"],["ln","LN"],["log10","LOG10"],["e^","EXP"],["10^","POW10"]]),"OP");var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{SIN:gt.Msg.MATH_TRIG_TOOLTIP_SIN,COS:gt.Msg.MATH_TRIG_TOOLTIP_COS,TAN:gt.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:gt.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:gt.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:gt.Msg.MATH_TRIG_TOOLTIP_ATAN,LN:gt.Msg.MATH_SINGLE_TOOLTIP_LN}[e]}))}},Ce={init:function(){var t=[[gt.Msg.MATH_BIN,"bin"],[gt.Msg.MATH_OCT,"oct"],[gt.Msg.MATH_HEX,"hex"]];this.setColour(Me),this.setOutput(!0,String),this.appendValueInput("NUM").setCheck(Number).appendField(new gt.FieldDropdown(t),"OP");var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{bin:gt.Msg.MATH_DEC_TOOLTIP_BIN,oct:gt.Msg.MATH_DEC_TOOLTIP_OCT,hex:gt.Msg.MATH_DEC_TOOLTIP_HEX}[t]}))}},Se={init:function(){var t=[[gt.Msg.LANG_MATH_TO_ROUND,"round"],[gt.Msg.LANG_MATH_TO_CEIL,"ceil"],[gt.Msg.LANG_MATH_TO_FLOOR,"floor"],[gt.Msg.MATH_ABS,"fabs"],[gt.Msg.MATH_SQRT,"sqrt"]];this.setColour(Me),this.appendValueInput("A").setCheck(Number).appendField(new gt.FieldDropdown(t),"OP"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{sqrt:gt.Msg.MATH_SINGLE_TOOLTIP_ROOT,fabs:gt.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:gt.Msg.MATH_SINGLE_TOOLTIP_SQ,round:gt.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:gt.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:gt.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[t]}))}},Ae={init:function(){var t=[[gt.Msg.MIXLY_MAX,"max"],[gt.Msg.MIXLY_MIN,"min"]];this.setColour(Me),this.appendValueInput("A").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(new gt.FieldDropdown(t),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(gt.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{max:gt.Msg.MIXLY_TOOLTIP_MATH_MAX,min:gt.Msg.MIXLY_TOOLTIP_MATH_MIN}[t]}))}},Le={init:function(){var t=[[gt.Msg.MATH_TWO,"two"],[gt.Msg.MATH_EIGHT,"eight"],[gt.Msg.MATH_TEN,"ten"],[gt.Msg.MATH_SIXTEEN,"sixteen"]];this.setColour(Me),this.appendDummyInput("").appendField(gt.Msg.MATH_BA),this.appendValueInput("NUM").appendField(new gt.FieldDropdown(t),"OP").appendField(gt.Msg.MATH_JinZhi).setCheck(Number),this.appendDummyInput("").appendField(gt.Msg.MATH_ZHW).appendField(new gt.FieldDropdown(t),"OP2").appendField(gt.Msg.MATH_JinZhi),this.setFieldValue("ten","OP2"),this.setOutput(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i={two:gt.Msg.MATH_Before_two,eight:gt.Msg.MATH_Before_eight,ten:gt.Msg.MATH_Before_ten,sixteen:gt.Msg.MATH_Before_sixteen},n=e.getFieldValue("OP2"),s={two:gt.Msg.MATH_Behind_two,eight:gt.Msg.MATH_Behind_eight,ten:gt.Msg.MATH_Behind_ten,sixteen:gt.Msg.MATH_Behind_sixteen};return i[t]+s[n]}))}},Ne={init:function(){var t=[[gt.Msg.LANG_MATH_INT,"int"],[gt.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(Me),this.setOutput(!0,Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_RANDOM).appendField(new gt.FieldDropdown(t),"TYPE"),this.appendValueInput("FROM").setCheck(Number).appendField(gt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TYPE"),i={int:gt.Msg.LANG_MATH_INT,float:gt.Msg.LANG_MATH_FLOAT_RANDOM};return gt.Msg.MATH_RANDOM_INT_TOOLTIP+i[t]}))}},De={init:function(){this.setColour(Me),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(gt.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(gt.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(gt.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(gt.Msg.MATH_CONSTRAIN_TOOLTIP)}},fe={init:function(){this.setColour(Me),this.appendValueInput("NUM",Number).appendField(gt.Msg.MIXLY_MAP).setCheck(Number),this.appendValueInput("fromLow",Number).appendField(gt.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(gt.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_MATH_MAP)}},Fe={init:function(){this.setColour(Me),this.appendDummyInput().appendField(new gt.FieldTextInput("0",gt.FieldTextInput.math_number_validator_include_blank),"NUM"),this.setOutput(!0),this.setTooltip(gt.Msg.MATH_NUMBER_TOOLTIP)}},Pe={init:function(){this.setColour(Me),this.appendValueInput("NUM").setCheck(Number).appendField(gt.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED)}},ve={init:function(){this.setColour(Me),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number),this.appendValueInput("VAR").setCheck(Number).appendField(gt.Msg.MATH_ROUND).appendField(gt.Msg.TEXT_KEEP),this.appendDummyInput().appendField(gt.Msg.TEXT_DECIMAL),this.setInputsInline(!0),this.setTooltip(gt.Msg.MATH_ROUND_NEW_TOOLTIP)}},Ye={init:function(){var t=[[gt.Msg.MIXLY_TO_INT,"int"],[gt.Msg.MIXLY_TO_FLOAT,"float"],[gt.Msg.MIXLY_TO_BITES,"b"],[gt.Msg.LANG_MATH_BYTE+gt.Msg.MIXLY_TO_INT,"bti"]];this.setColour(Me),this.appendValueInput("VAR").appendField(new gt.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:gt.Msg.MIXLY_PYTHON_TOOLTIP_TOINT,float:gt.Msg.MIXLY_PYTHON_TOOLTIP_TOFLOAT,b:gt.Msg.MIXLY_TOOLTIP_TEXT_TOBYTE}[t]}))}},Xe={init:function(){var t=[[gt.Msg.MIXLY_TO_INT,"int"],[gt.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(Me),this.appendValueInput("VAR").appendField(new gt.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:gt.Msg.MIXLY_TOOLTIP_TEXT_TOINT,float:gt.Msg.MIXLY_TOOLTIP_TEXT_TOFLOAT}[t]}))}},ye=fe,be={init:function(){this.setColour(Me),this.appendValueInput("VAR").appendField(gt.Msg.LANG_MATH_BYTE+gt.Msg.MIXLY_TO_HEX),this.setOutput(!0,Number),this.setTooltip(gt.Msg.MIXLY_PYTHON_TOOLTIP_TOHEX)}},xe={init:function(){this.setColour(Me),this.itemCount_=1,this.setMutator(new gt.icons.MutatorIcon(["lists_create_with_item"],this)),this.appendDummyInput("DUMMY").appendField(gt.Msg.MIXLY_PRODUCT+gt.Msg.MIXLY_GENERATE_CARTESIAN_PRODUCT),this.appendValueInput("REPEAT").appendField(gt.Msg.MIXLY_EVERY_PER_ELEPER_ELEMENT),this.appendDummyInput().appendField(gt.Msg.CONTROLS_REPEAT_TITLE_TIMES),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0),this.setTooltip(gt.Msg.LISTS_CREATE_WITH_PYTHON_TOOLTIP),this.updateShape_()},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("lists_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n1&&"\\"===t.charAt(0)){var e=t.charAt(1);if("0"===e||"b"===e||"f"===e||"n"===e||"r"===e||"t"===e||"\\"===e||"'"===e)return String(t).substring(0,2);if("x"===e&&"0"===t.charAt(2)&&"B"===t.charAt(3))return String(t).substring(0,4)}return String(t).substring(0,1)};const He={init:function(){this.setColour(Ge),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new gt.FieldTextInput("",gt.FieldTextInput.char_validator),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,Number),this.setTooltip(gt.Msg.TEXT_CHAR_TOOLTIP)},newQuote_:function(t){if(1==t)var e="../../media/quote2.png";else e="../../media/quote3.png";return new gt.FieldImage(e,7,12,'"')}},We={init:function(){this.setColour(Ge),this.appendValueInput("A").setCheck([String,Number]),this.appendValueInput("B").setCheck([String,Number]).appendField(gt.Msg.MIXLY_TEXT_JOIN),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_TEXT_JOIN)}},Ke={init:function(){this.setColour(Ge),this.appendValueInput("VAR").setCheck(Number).appendField(gt.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},Je={init:function(){this.setColour(Ge),this.appendValueInput("VAR").setCheck(String).appendField(gt.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},qe={init:function(){this.setColour(Ge),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(gt.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},ze={init:function(){this.setColour(Ge),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},Qe={init:function(){this.WHERE_OPTIONS=[[gt.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[gt.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[gt.Msg.TEXT_GET_INDEX_RANDOM+1+gt.Msg.TEXT_CHARAT2,"RANDOM"]],this.setHelpUrl(gt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ge),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number),this.appendDummyInput().appendField(gt.Msg.LISTS_GET_INDEX_GET,"MODE"),gt.Msg.LISTS_GET_INDEX_TAIL&&this.appendDummyInput("TAIL").appendField(gt.Msg.LISTS_GET_INDEX_TAIL),this.setInputsInline(!0),this.setOutput(!0),this.updateAt_(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=t.getFieldValue("WHERE"),n="";switch(e+" "+i){case"GET FROM_START":case"GET FROM_END":n=gt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM;break;case"GET RANDOM":n=gt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM;break;case"GET_REMOVE FROM_START":case"GET_REMOVE FROM_END":n=gt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM;break;case"GET_REMOVE RANDOM":n=gt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM}return"FROM_START"!=i&&"FROM_END"!=i||(n+=" "+gt.Msg.LISTS_INDEX_FROM_START_TOOLTIP.replace("%1",gt.Msg.ONE_BASED_INDEXING?"#1":"#0")),n}));var e=this;this.setTooltip((function(){var t=e.getFieldValue("WHERE"),i={FROM_START:gt.Msg.LISTS_GET_INDEX_FROM_START,FROM_END:gt.Msg.LISTS_GET_INDEX_FROM_END,RANDOM:gt.Msg.TEXT_GET_INDEX_RANDOM};return gt.Msg.PROCEDURES_DEFRETURN_RETURN+gt.Msg.MIXLY_MICROBIT_TYPE_STRING+i[t]+"n"+gt.Msg.TEXT_CHARAT2}))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("statement",!this.outputConnection);var e=this.getInput("AT").type==gt.INPUT_VALUE;return t.setAttribute("at",e),t},domToMutation:function(t){var e="true"==t.getAttribute("statement");this.updateStatement_(e),t="false"!=t.getAttribute("at"),this.updateAt_(t)},updateStatement_:function(t){t!=!this.outputConnection&&(this.unplug(!0,!0),t?(this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)):(this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)))},updateAt_:function(t){this.removeInput("AT"),this.removeInput("ORDINAL",!0),t?(this.appendValueInput("AT").setCheck(Number),gt.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL").appendField(gt.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT");var e=new gt.FieldDropdown(this.WHERE_OPTIONS,(function(e){var i="FROM_START"==e||"FROM_END"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT").appendField(e,"WHERE"),gt.Msg.LISTS_GET_INDEX_TAIL&&this.moveInputBefore("TAIL",null)}},je={init:function(){this.setHelpUrl(gt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ge),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number).appendField(gt.Msg.LISTS_GET_INDEX_GET+" "+gt.Msg.LISTS_GET_INDEX_FROM_START),this.appendDummyInput().appendField(gt.Msg.TEXT_CHARAT2),this.setOutput(!0),this.setTooltip(gt.Msg.PROCEDURES_DEFRETURN_RETURN+gt.Msg.MIXLY_MICROBIT_TYPE_STRING+gt.Msg.LISTS_GET_INDEX_FROM_START+"n"+gt.Msg.TEXT_CHARAT2)}},$e={init:function(){this.setHelpUrl(gt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ge),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(gt.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(gt.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},Ze={init:function(){this.WHERE_OPTIONS_1=[[gt.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[gt.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[gt.Msg.LISTS_GET_SUBLIST_START_FIRST,"FIRST"]],this.WHERE_OPTIONS_2=[[gt.Msg.LISTS_GET_SUBLIST_END_FROM_START,"FROM_START"],[gt.Msg.LISTS_GET_SUBLIST_END_FROM_END,"FROM_END"],[gt.Msg.LISTS_GET_SUBLIST_END_LAST,"LAST"]],this.setHelpUrl(gt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Ge),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput("AT1"),this.appendDummyInput("AT2"),this.setInputsInline(!0),this.setOutput(!0,"List"),this.updateAt_(1,!0),this.updateAt_(2,!0),this.setTooltip(gt.Msg._GET_TEXT_SUBLIST_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT1").type==gt.INPUT_VALUE;t.setAttribute("at1",e);var i=this.getInput("AT2").type==gt.INPUT_VALUE;return t.setAttribute("at2",i),t},domToMutation:function(t){var e="true"==t.getAttribute("at1"),i="true"==t.getAttribute("at2");this.updateAt_(1,e),this.updateAt_(2,i)},updateAt_:function(t,e){this.removeInput("AT"+t),this.removeInput("ORDINAL"+t,!0),e?(this.appendValueInput("AT"+t).setCheck(Number),gt.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL"+t).appendField(gt.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT"+t);var i=new gt.FieldDropdown(this["WHERE_OPTIONS_"+t],(function(i){var n="FROM_START"==i||"FROM_END"==i;if(n!=e){var s=this.sourceBlock_;return s.updateAt_(t,n),s.setFieldValue(i,"WHERE"+t),null}}));this.getInput("AT"+t).appendField(i,"WHERE"+t),1==t&&(this.moveInputBefore("AT1","AT2"),this.getInput("ORDINAL1")&&this.moveInputBefore("ORDINAL1","AT2"))}},ti={init:function(){this.setHelpUrl(gt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Ge),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT1").appendField(gt.Msg.LISTS_GET_INDEX_GET+" "+gt.Msg.LISTS_GET_INDEX_FROM_START),this.appendValueInput("AT2").appendField(gt.Msg.LISTS_GET_SUBLIST_END_FROM_START),this.appendDummyInput().appendField(gt.Msg.TEXT_CHARAT2),this.setInputsInline(!0),this.setOutput(!0,["List",String]),this.setTooltip(gt.Msg._GET_TEXT_SUBLIST_TOOLTIP)}},ei={init:function(){var t=[[gt.Msg.MIXLY_EQUALS,"==="],[gt.Msg.MIXLY_STARTSWITH,"startswith"],[gt.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(Ge),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new gt.FieldDropdown(t),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},ii={init:function(){this.setColour(Ge),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(gt.Msg.MIXLY_COMPARETO).setCheck(String),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_COMPARETO_HELP)}},ni={init:function(){var t=[[gt.Msg.TEXT_UPPER,"upper"],[gt.Msg.TEXT_TITLE,"title"],[gt.Msg.TEXT_CAPITALIZE,"capitalize"],[gt.Msg.TEXT_SWAPCASE,"swapcase"],[gt.Msg.TEXT_LOWER,"lower"]];this.setColour(Ge),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new gt.FieldDropdown(t),"CAPITAL").setCheck(String),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CAPITAL");return{upper:gt.Msg.MIXLY_MIXPY_TEXT_UPPER_TOOLTIP,title:gt.Msg.MIXLY_MIXPY_TEXT_TITLE_TOOLTIP,swapcase:gt.Msg.MIXLY_MIXPY_TEXT_SWAPCASE_TOOLTIP,capitalize:gt.Msg.MIXLY_MIXPY_TEXT_CAPITALIZE_TOOLTIP,lower:gt.Msg.MIXLY_MIXPY_TEXT_LOWER_TOOLTIP}[t]}))}},si={init:function(){var t=[[gt.Msg.TEXT_LJUST,"ljust"],[gt.Msg.TEXT_CENTER,"center"],[gt.Msg.TEXT_RJUST,"rjust"]];this.setColour(Ge),this.appendValueInput("VAR").appendField(new gt.FieldDropdown(t),"CENTER").setCheck(String),this.appendValueInput("WID").appendField(gt.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("Symbol").appendField(gt.Msg.MIXLY_RECT_Fill).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(gt.Msg.MIXLY_MIXPY_TEXT_CENTER_TOOLTIP)}},_i={init:function(){this.setColour(Ge),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).setCheck(String),this.appendValueInput("STR").appendField(gt.Msg.MIXLY_MID+gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER).setCheck(String),this.appendDummyInput().appendField(gt.Msg.MIXLY_LIST_INDEX),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(gt.Msg.MIXLY_MIXPY_TEXT_FIND_TOOLTIP)}},oi={init:function(){this.setColour(Ge),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_USE_STR).setCheck(String),this.appendValueInput("LIST").appendField(gt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_SEQ).setCheck("List","Tuple","Set","Dict"),this.appendDummyInput().appendField(gt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_GET_STR),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(gt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_TOOLTIP)}},pi={init:function(){this.setColour(Ge),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("STR1").appendField(gt.Msg.MIXLY_MIXPY_REPLACE).setCheck(String),this.appendValueInput("STR2").appendField(gt.Msg.LISTS_SET_INDEX_INPUT_TO).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(gt.Msg.MIXLY_MIXPY_TEXT_REPLACE_TOOLTIP)}},ai={init:function(){this.setColour(Ge),this.appendValueInput("VAR"),this.appendValueInput("VAL").appendField(gt.Msg.LIST_SPLIT_AS),this.appendDummyInput("").appendField(gt.Msg.LIST_SPLIT),this.setOutput(!0,"List"),this.setTooltip(gt.Msg.MIXLY_MIXPY_TEXT_SPLIT_TOOLTIP),this.setInputsInline(!0)}},ui={init:function(){var t=[[gt.Msg.TEXT_TRIM_BOTH,"strip"],[gt.Msg.TEXT_TRIM_LEFT,"lstrip"],[gt.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(Ge),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(gt.Msg.TEXT_STRIM),this.appendDummyInput("").appendField(new gt.FieldDropdown(t),"TOWHAT"),this.appendDummyInput("").appendField(gt.Msg.TEXT_BLANK),this.setOutput(!0,String),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{strip:gt.Msg.TEXT_TRIM_BOTH_TOOLTIP,lstrip:gt.Msg.TEXT_TRIM_LEFT_TOOLTIP,rstrip:gt.Msg.TEXT_TRIM_RIGHT_TOOLTIP}[t]}))}},ri={init:function(){this.setColour(Ge),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROPYTHON_FORMAT),this.appendDummyInput("").appendField(new gt.FieldTextInput("str"),"VAR"),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new gt.icons.MutatorIcon(["text_create_with_item"],this)),this.setOutput(!0),this.setTooltip(gt.Msg.MIXLY_MIXPY_TEXT_FORMAT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("text_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){gt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},pn={init:function(){this.setColour(_n),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(gt.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},an={init:function(){this.setColour(_n),this.appendDummyInput().appendField(gt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},un={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(gt.Msg.DICT_KEYS),this.setTooltip(gt.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},rn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(gt.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(gt.Msg.DICTS_ADD_VALUE),this.setOutput(!0),this.setTooltip(gt.Msg.DICTS_GET_TOOLTIP)}},ln={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(gt.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(gt.Msg.DICTS_ADD_VALUE),this.appendValueInput("VAR").appendField(gt.Msg.DICTS_DEFAULT_VALUE),this.setOutput(!0),this.setTooltip(gt.Msg.DICTS_GET_DEFAULT_TOOLTIP)}},dn={init:function(){this.setColour(_n),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(gt.Msg.DICTS_ADD),this.appendDummyInput(),this.appendValueInput("VAR").appendField(gt.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.DICTS_ADD_OR_CHANGE_TOOLTIP)}},In={init:function(){this.setColour(_n),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(gt.Msg.DICTS_DELETE_IN),this.appendDummyInput("").appendField(gt.Msg.DICTS_DELETE_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.DICTS_DELETE_TOOLTIP)}},Tn={init:function(){this.setColour(_n),this.appendValueInput("DICT2").setCheck("Dict").appendField(gt.Msg.MAKE_DICT),this.appendValueInput("DICT").setCheck("Dict").appendField(gt.Msg.DICT_UPDATE),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MID),this.setTooltip(gt.Msg.DICTS_UPDATE_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Mn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(gt.Msg.DICT_CLEAR),this.setTooltip(gt.Msg.DICTS_CLEAR_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},hn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(gt.Msg.DICT_ITEMS),this.setTooltip(gt.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},mn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(gt.Msg.DICT_VALUES),this.setTooltip(gt.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},En={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_LENGTH),this.setTooltip(gt.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},On={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(gt.Msg.DICT_DELDICT),this.setTooltip(gt.Msg.DICTS_DEL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Rn={init:function(){this.MODE=[[gt.Msg.DICTS_ADD_OR_CHANGE,"INSERT"],[gt.Msg.MIXLY_MICROBIT_JS_DELETE_VAR,"DELETE"]],this.setHelpUrl(gt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("AT2"),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).appendField(gt.Msg.DICTS_ADD_VALUE),this.updateAt_(!0),this.setInputsInline(!0),this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e="";switch(t.getFieldValue("WHERE")){case"INSERT":e=gt.Msg.DICTS_ADD_TOOLTIP;break;case"DELETE":e=gt.Msg.DICTS_DELETE_TOOLTIP}return e}))},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT2").type==gt.INPUT_VALUE;return t.setAttribute("at2",e),t},domToMutation:function(t){var e="true"==t.getAttribute("at2");this.updateAt_(e)},updateAt_:function(t){this.removeInput("AT2"),this.removeInput("ORDINAL",!0),t?this.appendValueInput("AT2").setCheck(Number):this.appendDummyInput("AT2");var e=new gt.FieldDropdown(this.MODE,(function(e){var i="INSERT"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT2").appendField(e,"WHERE")}},cn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(gt.Msg.blockpy_DICT_POP),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(gt.Msg.DICTS_ADD_VALUE),this.setTooltip(gt.Msg.DICT_POP_TOOLTIP),this.setInputsInline(!0),this.setOutput(!0)}},gn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(gt.Msg.DICTS_SET_DEFAULT),this.appendDummyInput("").appendField(gt.Msg.DICTS_DEFAULT_VALUE),this.appendValueInput("VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.DICTS_SETDEFAULT_TOOLTIP)}},Cn={init:function(){this.setColour(_n),this.appendDummyInput("").appendField(new gt.FieldLabel(gt.Msg.MIXLY_MICROBIT_TYPE_DICT),"TIP").appendField(" "),this.itemCount_=3,this.updateShape_(),this.setOutput(!0,"Dict"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setMutator(new gt.icons.MutatorIcon(["dicts_create_with_item"],this)),this.setTooltip(gt.Msg.DICTS_CREATE_WITH_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("dicts_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){gt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Sn={init:function(){this.setColour(_n),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(gt.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},An={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_TO_JSON),this.setTooltip(gt.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},Ln={init:function(){this.setColour(_n),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_CONVERT_TO_JSON),this.setTooltip(gt.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},Nn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("VAR1").appendField("key1"),this.appendValueInput("VAR2").appendField("index"),this.appendValueInput("VAR3").appendField("key2"),this.appendValueInput("VAR4").appendField("key3"),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},Dn={init:function(){this.setColour(_n),this.appendValueInput("DICT"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_TO_JSON),this.setTooltip(gt.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},fn=210,Fn={init:function(){var t=gt.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(fn),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new gt.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{EQ:gt.Msg.LOGIC_COMPARE_TOOLTIP_EQ,NEQ:gt.Msg.LOGIC_COMPARE_TOOLTIP_NEQ,LT:gt.Msg.LOGIC_COMPARE_TOOLTIP_LT,LTE:gt.Msg.LOGIC_COMPARE_TOOLTIP_LTE,GT:gt.Msg.LOGIC_COMPARE_TOOLTIP_GT,GTE:gt.Msg.LOGIC_COMPARE_TOOLTIP_GTE}[t]})),this.prevBlocks_=[null,null]}},Pn={init:function(){var t=gt.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]],e=gt.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(fn),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new gt.FieldDropdown(t),"OP1"),this.appendValueInput("C").appendField(new gt.FieldDropdown(e),"OP2"),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_PYTHON_LOGIC_COMPARE_CONTINOUS_TOOLTIP)}},vn={init:function(){var t=[[gt.Msg.LOGIC_OPERATION_AND,"AND"],[gt.Msg.LOGIC_OPERATION_OR,"OR"],[gt.Msg.LOGIC_OPERATION_NOR,"NOR"],[gt.Msg.LOGIC_OPERATION_XOR,"XOR"]];this.setColour(fn),this.setOutput(!0,Boolean),this.appendValueInput("A").setCheck([Boolean,Number]),this.appendValueInput("B").setCheck([Boolean,Number]).appendField(new gt.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{AND:gt.Msg.LOGIC_OPERATION_TOOLTIP_AND,OR:gt.Msg.LOGIC_OPERATION_TOOLTIP_OR,NOR:gt.Msg.LOGIC_OPERATION_TOOLTIP_NOR,XOR:gt.Msg.LOGIC_OPERATION_TOOLTIP_XOR}[t]}))}},Yn={init:function(){this.setColour(fn),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(gt.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(gt.Msg.LOGIC_NEGATE_TOOLTIP)}},Xn={init:function(){var t=[[gt.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[gt.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(fn),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new gt.FieldDropdown(t),"BOOL"),this.setTooltip(gt.Msg.LOGIC_BOOLEAN_TOOLTIP)}},yn={init:function(){this.setColour(fn),this.setOutput(!0),this.appendDummyInput().appendField(gt.Msg.LOGIC_NULL),this.setTooltip(gt.Msg.LOGIC_NULL_TOOLTIP)}},bn={init:function(){this.setColour(fn),this.appendValueInput("A"),this.appendValueInput("B").appendField(gt.Msg.LOGIC_TERNARY_IF_TRUE),this.appendValueInput("C").appendField(gt.Msg.LOGIC_TERNARY_IF_FALSE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_LOGIT_TRUEORFALSE)}},xn={init:function(){var t=[[gt.Msg.TEXT_APPEND_TO,"in"],[gt.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(fn),this.appendValueInput("A"),this.appendValueInput("B").setCheck([String,"List"]).appendField(new gt.FieldDropdown(t),"BOOL"),this.appendDummyInput("").appendField(gt.Msg.MICROBIT_LOGIC_IS_IN),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(gt.Msg.IN)}},Vn={init:function(){var t=[[gt.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[gt.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(fn),this.appendValueInput("A"),this.appendValueInput("B").appendField(new gt.FieldDropdown(t),"BOOL"),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_PYTHON_LOGIC_IS_TOOLTIP)}},Bn={init:function(){this.setColour(fn),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(gt.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},Gn={init:function(){this.setColour(0),this.appendValueInput("fn").setCheck(String).appendField(gt.Msg.MIXLY_PYTHON_STORAGE_OPEN_FILE_WITH_OS+"(For Windows)"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Un={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"],[gt.Msg.MIXLY_ADD,"a"],[gt.Msg.MATH_BIN+gt.Msg.MIXLY_ADD,"ab"],[gt.Msg.MIXLY_R_W,"r+"],[gt.Msg.MATH_BIN+gt.Msg.MIXLY_R_W,"rb+"],[gt.Msg.MIXLY_W_R,"w+"],[gt.Msg.MATH_BIN+gt.Msg.MIXLY_W_R,"wb+"],[gt.Msg.MIXLY_A_R,"a+"],[gt.Msg.MATH_BIN+gt.Msg.MIXLY_A_R,"ab+"]]),"MODE"),this.appendValueInput("FILE").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_AS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=gt.Msg.MIXLY_USE,n=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=gt.Msg.MIXLY_BELONG;return i+{r:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+_+n+s}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){gt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},wn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=gt.Msg.MIXLY_USE,n=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=gt.Msg.MIXLY_BELONG,o=gt.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+_+n+s+o}))}},kn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE);this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendDummyInput().appendField(gt.Msg.MIXPY_TEXT_ENCODE).appendField(new gt.FieldDropdown([["ANSI","ANSI"],["gbk","gbk"],["utf-8","utf-8"]]),"CODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=gt.Msg.MIXLY_USE,n=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=gt.Msg.MIXLY_BELONG,o=gt.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+_+n+s+o}))}},Hn={init:function(){this.setColour(0),this.appendValueInput("data").setCheck(String).appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendValueInput("FILE").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+gt.Msg.MIXLY_MICROBIT_TYPE_STRING+gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE)}},Wn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"read"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE,"readline"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES,"readlines"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String)}},Kn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,"read"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,"readline"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE,"readlines"]]),"MODE"),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE,n=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER;return i+{read:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,readline:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,readlines:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE}[e]+"x"+n}))}},Jn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.setNextStatement(!0),this.appendValueInput("SIZE").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(gt.Msg.MICROBIT_PYTHON_TYPE)}},qn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(gt.Msg.HTML_FILE),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean),this.setTooltip(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT1)}},zn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILENAME),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILENAME)}},Qn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE)}},jn={init:function(){this.setColour(0),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES)}};gt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE;const $n={init:function(){this.setColour(0),this.appendDummyInput().appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE,"remove"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_DIRS,"removedirs"]]),"MODE"),this.appendValueInput("FILE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE)}},Zn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE+gt.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE)}},ts={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_RETURN_FILE),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_PRESENT_LOCATION),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_TELL)}},es={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION),this.appendDummyInput().appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,"start"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,"current"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END,"end"]]),"MODE"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION+gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION,n=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER,s=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET;return i+" "+{start:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,current:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,end:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END}[e]+s+"x"+n}))}},is={init:function(){this.setColour(0),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR)}},ns={init:function(){this.setColour(0),this.appendValueInput("PATH").setCheck(String).appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_SET),this.appendDummyInput().appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,"mkdir"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_MAKEDIRS,"makedirs"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return gt.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH+"x"+gt.Msg.MIXLY_ESP32_SET+{mkdir:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,makedirs:gt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},ss={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME),this.appendValueInput("NEWFILE").setCheck(String).appendField(gt.Msg.MIXLY_AS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME)}},_s={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR)}},os={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT),this.appendDummyInput().appendField(new gt.FieldDropdown([[gt.Msg.HTML_FILE,"isfile"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_DIR,"isdir"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean);let t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return gt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH+"x"+gt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT+{isfile:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,isdir:gt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},ps={init:function(){this.setColour(0),this.appendValueInput("SPISUB").appendField(gt.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_SETUP+gt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(gt.Msg.MIXLY_SD_CARD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},as={init:function(){this.setColour(0),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_SD_CARD),this.appendValueInput("DIR").setCheck(String).appendField(gt.Msg.MIXLY_SDCARD_MOUNT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip()}},us={init:function(){var t=gt.Procedures.findLegalName("",this),e=new gt.FieldTextInput(t,gt.Procedures.rename);e.setSpellcheck(!1),this.appendDummyInput().appendField(e,"NAME").appendField("","PARAMS"),this.setMutator(new gt.icons.MutatorIcon(["procedures_mutatorarg"],this)),(this.workspace.options.comments||this.workspace.options.parentWorkspace&&this.workspace.options.parentWorkspace.options.comments)&>.Msg.PROCEDURES_DEFNORETURN_COMMENT&&this.setCommentText(gt.Msg.PROCEDURES_DEFNORETURN_COMMENT),this.setStyle("procedure_blocks"),this.setTooltip(gt.Msg.PROCEDURES_DEFNORETURN_TOOLTIP),this.setHelpUrl(gt.Msg.PROCEDURES_DEFNORETURN_HELPURL),this.arguments_=[],this.argumentVarModels_=[],this.setStatements_(!0),this.statementConnection_=null},setStatements_:function(t){this.hasStatements_!==t&&(t?(this.appendStatementInput("STACK").appendField(gt.Msg.PROCEDURES_DEFNORETURN_DO),this.getInput("RETURN")&&this.moveInputBefore("STACK","RETURN")):this.removeInput("STACK",!0),this.hasStatements_=t)},updateParams_:function(){var t="";this.arguments_.length&&(t=gt.Msg.PROCEDURES_BEFORE_PARAMS+" "+this.arguments_.join(", ")),gt.Events.disable();try{this.setFieldValue(t,"PARAMS")}finally{gt.Events.enable()}},mutationToDom:function(t){var e=gt.utils.xml.createElement("mutation");t&&e.setAttribute("name",this.getFieldValue("NAME"));for(var i=0;i"),this.appendValueInput("style").appendField(gt.Msg.MIXLY_AIP_ATTR).setAlign(gt.inputs.Align.RIGHT),this.appendStatementInput("DO").appendField(""),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},s_={init:function(){this.setColour($s),this.appendDummyInput().appendField(gt.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},__={init:function(){this.setColour($s),this.appendDummyInput().appendField(gt.Msg.HTML_FORM_CONTENT).appendField(new gt.FieldDropdown([[gt.Msg.HTML_TEXT,"text"],[gt.Msg.HTML_EMAIL,"email"],[gt.Msg.HTML_NUMBER,"number"],[gt.Msg.HTML_PASSWORD,"password"],[gt.Msg.HTML_CHECKBOX,"checkbox"],[gt.Msg.HTML_RADIOBUTTON,"radiobutton"],[gt.Msg.HTML_BUTTON,"button"],[gt.Msg.HTML_COLOUR,"colour"],[gt.Msg.HTML_DATE,"date"],[gt.Msg.HTML_LOCALTIME,"local time"],[gt.Msg.HTML_FILE,"file"],[gt.Msg.HTML_HIDDEN,"hidden"],[gt.Msg.HTML_IMAGE,"image"],[gt.Msg.HTML_MONTH,"month"],[gt.Msg.HTML_RANGE,"range"],[gt.Msg.HTML_RESET,"reset"],[gt.Msg.HTML_SEARCH,"search"],[gt.Msg.HTML_SUBMIT,"submit"],[gt.Msg.HTML_TELEPHONENUMBER,"telephone number"],[gt.Msg.HTML_TIME,"time"],[gt.Msg.HTML_URL,"url"],[gt.Msg.HTML_WEEK,"week"]]),"LEVEL"),this.appendDummyInput().appendField(gt.Msg.HTML_NAME).appendField(new gt.FieldTextInput("car"),"NAME"),this.appendDummyInput().appendField(gt.Msg.HTML_VALUE).appendField(new gt.FieldTextInput("go"),"VALUE"),this.appendValueInput("style").appendField(gt.Msg.MIXLY_AIP_ATTR).setAlign(gt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},o_={init:function(){this.setColour($s),this.appendDummyInput().appendField(new gt.FieldTextInput("property"),"KEY").appendField(":").appendField(new gt.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},p_={init:function(){this.setColour($s),this.appendDummyInput().appendField(new gt.FieldTextInput("property"),"KEY").appendField(":").appendField(new gt.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},a_={init:function(){this.setColour($s),this.appendDummyInput().appendField(gt.Msg.HTML_TEXT).appendField(new gt.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},u_=160,r_={init:function(){this.setColour(u_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new gt.FieldTable(""),"TEXT")}},l_={init:function(){this.setColour(u_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new gt.FieldMultilineInput(""),"TEXT")}},d_={init:function(){this.setColour(u_),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new gt.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},I_={init:function(){this.setColour(u_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},T_={init:function(){this.setColour(u_),this.appendDummyInput().appendTitle("Comment:").appendTitle(new gt.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},M_={init:function(){this.setColour(u_),this.appendValueInput("VALUE").appendField(gt.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},h_={init:function(){this.setColour(u_),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new gt.icons.MutatorIcon(["text_print_multiple_item"],this)),this.setTooltip(gt.Msg.TEXT_PRINT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=gt.Block.obtain(t,"text_print_multiple_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n= stop:"," yield start"," start -= abs(step)"])};if(t=function(t,e,i){return"("+t+" <= "+e+") and "+a()+"("+t+", "+e+", "+i+") or "+u()+"("+t+", "+e+", "+i+")"},gt.isNumber(n)&>.isNumber(s)&>.isNumber(_))n=parseFloat(n),s=parseFloat(s),_=Math.abs(parseFloat(_)),0==n%1&&0==s%1&&0==_%1?(n<=s?(s++,t=0==n&&1==_?s:n+", "+s,1!=_&&(t+=", "+_)):t=n+", "+--s+", -"+_,t="range("+t+")"):(t=n",GTE:">="};const da=function(t,e){var i=this.getFieldValue("OP"),n="&&"==i?e.ORDER_LOGICAL_AND:e.ORDER_LOGICAL_OR,s=e.valueToCode(this,"A",n)||"False",_=e.valueToCode(this,"B",n)||"False";if("AND"==i)var o=s+" and "+_;else if("OR"==i)o=s+" or "+_;else if("NOR"==i)o="not("+s+"^"+_+")";else o=s+"^"+_;return[o,n]},Ia=function(t,e){var i=e.ORDER_UNARY_PREFIX;return["not "+(e.valueToCode(this,"BOOL",i)||"False"),i]},Ta=function(t,e){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",e.ORDER_ATOMIC]},Ma=function(t,e){return["None",e.ORDER_ATOMIC]},ha=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"False";return["("+(e.valueToCode(this,"B",e.ORDER_ATOMIC)||"False")+" if "+i+" else "+(e.valueToCode(this,"C",e.ORDER_ATOMIC)||"False")+")",e.ORDER_ATOMIC]},ma=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},Ea=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},Oa=function(t,e){return["bool("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||"0")+")",e.ORDER_ATOMIC]},Ra=function(t,e){return e.definitions_.import_os="import os","os.startfile("+e.valueToCode(this,"fn",e.ORDER_ATOMIC)+")\n"},ca=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+" = open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},ga=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",e.ORDER_ATOMIC]},Ca=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',e.ORDER_ATOMIC]},Sa=function(t,e){var i=e.valueToCode(this,"data",e.ORDER_ATOMIC);return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".write("+i+")\n"},Aa=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"()",e.ORDER_ATOMIC]},La=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Na=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".readline("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Da=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".writable()",e.ORDER_ATOMIC]},fa=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".name()",e.ORDER_ATOMIC]},Fa=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".close()\n"},Pa=function(t,e){e.definitions_.import_os="import os";return["os.listdir()",e.ORDER_ATOMIC]},va=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},Ya=function(t,e){return e.definitions_.import_os="import os",["os.path.getsize("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Xa=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".tell()",e.ORDER_ATOMIC]},ya=function(t,e){var i=this.getFieldValue("MODE"),n=0;return n="start"==i?0:"current"==i?1:2,e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".seek("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+","+n+")\n"},ba=function(t,e){return e.definitions_.import_os="import os","os.chdir("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},xa=function(t,e){e.definitions_.import_os="import os";return["os.getcwd()",e.ORDER_ATOMIC]},Va=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"PATH",e.ORDER_ATOMIC)+")\n"},Ba=function(t,e){return e.definitions_.import_os="import os","os.rename("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+","+e.valueToCode(this,"NEWFILE",e.ORDER_ATOMIC)+")\n"},Ga=function(t,e){e.definitions_.import_os="import os";var i=e.valueToCode(this,"FILE",e.ORDER_ATOMIC);return["os."+this.getFieldValue("MODE")+"("+i+")",e.ORDER_ATOMIC]},Ua=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = sdcard.SDCard("+e.valueToCode(this,"SPISUB",e.ORDER_ATOMIC)+","+e.valueToCode(this,"PINSUB",e.ORDER_ATOMIC)+")\n"},wa=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard","os.mount("+e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+","+e.valueToCode(this,"DIR",e.ORDER_ATOMIC)+")\n"},ka=function(t,e){var i=e.variableDB_.getName(this.getFieldValue("NAME"),gt.Procedures.NAME_TYPE),n=(this.getInput("STACK")&&e.statementToCode(this,"STACK"))??" pass\n";e.INFINITE_LOOP_TRAP&&(n=e.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+n);var s=e.valueToCode(this,"RETURN",e.ORDER_NONE)||"";s&&(s=" return "+s+"\n");for(var _=[],o=0;o\n\n\n\t\n"+e.statementToCode(this,"HEAD")+"\n\n"+e.statementToCode(this,"BODY")+"\n\n'''",e.ORDER_ATOMIC]},Au=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"\n"+i+"\n"},Lu=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");if("head"==n)var s="<"+n+'>\n\t\n'+i+"\n";else s="<"+n+">\n"+i+"\n";return s},Nu=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"<"+n+">\n"+i+"\n"},Du=function(t,e){var i=e.statementToCode(this,"DO"),n=e.valueToCode(this,"style"),s=this.getFieldValue("LEVEL");return"<"+s+" "+n+" >\n"+i+"\n"},fu=function(t,e){return['style="'+e.statementToCode(this,"STYLE")+'"',e.ORDER_ATOMIC]},Fu=function(t,e){return'"},Pu=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},vu=function(){return this.getFieldValue("TEXT")+"\n"},Yu=function(t){return t.getFieldValue("TEXT")+"\n"},Xu=function(t,e){return[t.getFieldValue("TEXT"),e.ORDER_ATOMIC]},yu=function(t,e){return(e.valueToCode(t,"VALUE",e.ORDER_ATOMIC)||"")+"\n"},bu=function(){return""},xu=function(t,e){return["type("+(e.valueToCode(t,"VALUE",e.ORDER_MEMBER)||"___")+")",e.ORDER_ATOMIC]},Vu=function(t,e){for(var i=t.getFieldValue("NAME"),n=t.hasReturn_,s=new Array(t.itemCount_),_=0;_0?e.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+t+"while True:\n"+a.join("")+u.join("\n"):e.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+t+u.join("\n")},wu.scrubNakedValue=function(t){return t+"\n"},wu.quote_=function(t){var e="'";return-1!==t.indexOf("'")&&(-1===t.indexOf('"')?e='"':t=t.replace(/'/g,"\\'")),e+t+e},wu.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},wu.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(_=t.getCommentText())&&(_=gt.utils.string.wrap(_,wu.COMMENT_WRAP-3),n+=wu.prefixLines(_+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const ku="#74A55B",Hu={init:function(){this.setColour(ku),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MIDI),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(gt.Msg.MIXLY_RGB_PIN_COUNT)}},Wu={init:function(){this.setColour(ku),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(gt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Ku={init:function(){this.setColour(ku),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(gt.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(gt.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},Ju={init:function(){this.setColour(ku),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(gt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},qu={init:function(){this.setColour(ku),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(gt.Msg.MIXLY_BACKSTAGE+gt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_BACKSTAGE+gt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},zu={init:function(){this.setColour(ku),this.appendValueInput("SUB"),this.appendValueInput("TICKS").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(gt.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(gt.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},Qu={init:function(){this.setColour(ku),this.appendValueInput("SUB"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},ju={init:function(){this.setColour(ku),this.appendValueInput("SUB"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_MUSIC_RESET)}},$u={init:function(){this.setColour(ku),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Zu={init:function(){this.setColour(ku),this.appendValueInput("SUB"),this.appendValueInput("percent").appendField(gt.Msg.MIXLY_MUSIC_VOLUME_SET),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},tr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.MIXLY_SETTING).appendField(gt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(gt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_EXTERN_LED_SETONOFF)}},er={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(gt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},ir={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(gt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},nr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.MIXLY_SETTING).appendField(gt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(gt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_EXTERN_LED_SETBRIGHT)}},sr={init:function(){this.setColour(ku),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_SETUP+gt.Msg.MIXLY_SERVO),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_PIN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},_r={init:function(){this.setColour(ku),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_SERVO).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("DEGREE",Number).setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_DEGREE_0_180),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_SERVO_MOVE)}},or={init:function(){this.setColour(ku),this.appendValueInput("VAR").appendField("360°"+gt.Msg.MIXLY_SERVO),this.appendValueInput("SPEED",Number).setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_SETTING+gt.Msg.blockpy_turtle_rotate+gt.Msg.MIXLY_SPEED+" (-10~10)"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_SERVO_360_TOOLTIP)}},pr={init:function(){this.setColour(ku),this.appendValueInput("PIN",Number).appendField("180°"+gt.Msg.MIXLY_SERVO).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_SERVO_MOVE)}},ar={init:function(){this.setColour(ku),this.appendValueInput("PIN",Number).appendField("360°"+gt.Msg.MIXLY_SERVO).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_SERVO_SPEED_TOOLIPS)}},ur={init:function(){this.setColour(ku),this.appendValueInput("PIN",Number).appendField("180°"+gt.Msg.MIXLY_SERVO).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET+gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},rr={init:function(){this.setColour(ku),this.appendValueInput("PIN",Number).appendField("360°"+gt.Msg.MIXLY_SERVO).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET+gt.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},lr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField("初始化").setCheck("var"),this.appendDummyInput().appendField("电机驱动"),this.appendDummyInput().appendField("地址").appendField(new gt.FieldDropdown([["A","ms32006.ADDRESS_A"],["B","ms32006.ADDRESS_B"]]),"mode"),this.appendValueInput("SUB1").setCheck("var").setAlign(gt.inputs.Align.RIGHT).appendField("通信"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("初始化MS32006电机驱动,使用I2C通信")}},dr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField("直流电机").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Direction).appendField(new gt.FieldDropdown([[gt.Msg.CLOCKWISE,"ms32006.MOT_CW"],[gt.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"],[gt.Msg.MOTOR_N,"ms32006.MOT_N"],[gt.Msg.MOTOR_P,"ms32006.MOT_P"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_STEPPER_SET_SPEED),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置直流电机的状态及转速(0-100)")}},Ir={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField("步进电机").setCheck("var"),this.appendDummyInput().appendField("选择").appendField(new gt.FieldDropdown([["A","ms32006.MOT_A"],["B","ms32006.MOT_B"]]),"mode"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Direction).appendField(new gt.FieldDropdown([[gt.Msg.CLOCKWISE,"ms32006.MOT_CW"],[gt.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField("转速"),this.appendValueInput("steps").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField("步数"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置步进电机的状态、转速、步数(0-2047)")}},Tr={init:function(){this.setColour(ku),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_PIN),this.appendValueInput("LEDCOUNT").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_COUNT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(gt.Msg.MIXLY_RGB_PIN_COUNT)}},Mr={init:function(){this.setColour(ku),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("_LED_").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(gt.Msg.MIXLY_RGB_NUM_R_G_B_MP)}},hr={init:function(){this.setColour(ku),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("RVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(gt.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},mr={init:function(){this.setColour(ku),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(gt.Msg.MIXLY_ESP32_MUSIC_WRI)}},Er={init:function(){this.setColour(ku),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(gt.Msg.MIXLY_DURATION).appendField(gt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Or={init:function(){this.setColour(ku),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(gt.Msg.PYTHON_RANGE_STEP).appendField(gt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Rr={init:function(){this.setColour(ku),this.appendDummyInput("").appendField(gt.Msg.CONTROLS_FOR_INPUT_WITH+"uart").appendField(new gt.FieldDropdown([["uart1","uart1"],["uart2","uart2"]]),"key"),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_SETUP+gt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new gt.FieldDropdown([["SYN6288"+gt.Msg.MIXLY_AipSpeech_synthesis,"SYN6288"],["NS9300"+gt.Msg.MIXLY_MUSIC_PLAYER,"NS9300"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},cr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_GET+gt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_WHETHER).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_STOPPED,"0"],[gt.Msg.MIXLY_PLAYING,"1"],[gt.Msg.MIXLY_PAUSED,"2"]]),"key"),this.setInputsInline(!0),this.setOutput(!0)}},gr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_STAT).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MP3_PLAY,"1"],[gt.Msg.MIXLY_MP3_PAUSE,"2"],[gt.Msg.MIXLY_STOP,"3"],[gt.Msg.MIXLY_MP3_PREV,"4"],[gt.Msg.MIXLY_MP3_NEXT,"5"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Cr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendValueInput("volume").appendField(gt.Msg.MIXLY_MP3_VOL+gt.Msg.MIXLY_STAT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_PLAYER_SET_VOLUME_TOOLTIP)}},Sr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MODE+gt.Msg.MIXLY_STAT).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MP3_LOOP_ALL,"0"],[gt.Msg.MIXLY_MP3_LOOP_ONE,"1"],[gt.Msg.MIXLY_PLAYER_DIRECTORY_LOOP,"2"],[gt.Msg.MIXLY_MP3_LOOP_RAM,"3"],[gt.Msg.MIXLY_PLAYER_SINGLE_STOP,"4"],[gt.Msg.MIXLY_PLAYER_SEQUENTIAL_PLAY,"5"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ar={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_JS_START_MELODY,"play"],[gt.Msg.MIXLY_PLAYER_INSERT_MUSIC,"insert"]]),"key"),this.appendValueInput("song"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_PLAYER_PLAY_MUSIC_TOOTIP)}},Lr={},Nr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(gt.Msg.MIXLY_SET_VOLUME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},Dr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField("SYN6288"),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET_VOLUME),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},fr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(gt.Msg.MIXLY_PLAY_HINTS),this.appendDummyInput().appendField(gt.Msg.MIXLY_PROGRAM_BLOCK).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[gt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_PLAY_HINTS_TOOLTIP)}},Fr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("data").setCheck(String).appendField(gt.Msg.MIXLY_AipSpeech_synthesis),this.appendValueInput("VOICE").setCheck(Number).appendField(gt.Msg.MIXLY_BACKGROUND_MUSIC),this.appendDummyInput().appendField(gt.Msg.MIXLY_PROGRAM_BLOCK).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[gt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_PLAY_TTS_TOOLTIP)}},Pr={init:function(){this.setColour(ku),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.extern_addr),"PIN"),this.setOutput(!0,Number)}},vr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.ME_GO_MOTOR_EXTERN+gt.Msg.MIXLY_MOTOR).appendField(gt.Msg.PIN_NUMBERING).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LEFT,"0"],[gt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},Yr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.ME_GO_MOTOR_EXTERN+gt.Msg.MIXLY_MOTOR).appendField(gt.Msg.PIN_NUMBERING).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LEFT,"0"],[gt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_GET+gt.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},Xr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.ME_GO_MOTOR_EXTERN+gt.Msg.MIXLY_TRAFFIC_LIGHT).appendField(gt.Msg.PIN_NUMBERING).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LEFT,"0"],[gt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.LISTS_SET_INDEX_SET).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_Turn_off_display,"0"],[gt.Msg.MIXLY_TRAFFIC_LIGHT_RED_ON,"1"],[gt.Msg.MIXLY_TRAFFIC_LIGHT_RED_BLINK,"2"],[gt.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_ON,"3"],[gt.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_BLINK,"4"],[gt.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_ON,"5"],[gt.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_BLINK,"6"]]),"light"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},yr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.ME_GO_MOTOR_EXTERN).appendField(new gt.FieldDropdown([[gt.Msg.COLOUR_RGB_WHITE,"W"],[gt.Msg.COLOUR_RGB_RED,"R"],[gt.Msg.COLOUR_RGB_YELLOW,"Y"],[gt.Msg.COLOUR_RGB_GREEN,"G"],[gt.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(gt.Msg.PIN_NUMBERING).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LEFT,"0"],[gt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("value").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},br={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.ME_GO_MOTOR_EXTERN).appendField(new gt.FieldDropdown([[gt.Msg.COLOUR_RGB_WHITE,"W"],[gt.Msg.COLOUR_RGB_RED,"R"],[gt.Msg.COLOUR_RGB_YELLOW,"Y"],[gt.Msg.COLOUR_RGB_GREEN,"G"],[gt.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(gt.Msg.PIN_NUMBERING).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LEFT,"0"],[gt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET+gt.Msg.BRIGHTNESS),this.setOutput(!0,Number),this.setInputsInline(!0)}},xr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.ME_GO_MOTOR_EXTERN+gt.Msg.MIXLY_SERVO_MOTOR).appendField(gt.Msg.PIN_NUMBERING).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LEFT,"0"],[gt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"[0]"],[gt.Msg.MIXLY_SPEED,"[1]"],[gt.Msg.MATH_SINGLE_OP_ABSOLUTE+gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[2]"],[gt.Msg.MIXLY_RELATIVE+gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[3]"],[gt.Msg.MIXLY_MIXBOT_SERVO_BLOCK_OR_NOT,"[4]"],[gt.Msg.MIXLY_MIXBOT_SERVO_FINISH_OR_NOT,"[5]"],[gt.Msg.MIXLY_ALL,""]]),"status"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Vr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.ME_GO_MOTOR_EXTERN+gt.Msg.MIXLY_SERVO_MOTOR).appendField(gt.Msg.PIN_NUMBERING).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LEFT,"0"],[gt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MIXBOT_SERVO_SET_STOP_MODE).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_KEEP,"0"],[gt.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_COAST,"1"],[gt.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_BRAKE,"2"]]),"status"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Br={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.ME_GO_MOTOR_EXTERN+gt.Msg.MIXLY_SERVO_MOTOR).appendField(gt.Msg.PIN_NUMBERING).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LEFT,"0"],[gt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(gt.Msg.MIXLY_STOP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Gr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.ME_GO_MOTOR_EXTERN+gt.Msg.MIXLY_SERVO_MOTOR).appendField(gt.Msg.MATH_SINGLE_OP_ABSOLUTE+gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+gt.Msg.MSG.run).appendField(gt.Msg.PIN_NUMBERING).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LEFT,"0"],[gt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MODE).setAlign(gt.inputs.Align.RIGHT).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_SPEED+gt.Msg.MIXLY_MODE,"0"],[gt.Msg.MIXLY_MICROBIT_JS_BLE_POWER+gt.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(gt.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(gt.inputs.Align.RIGHT).appendField(new gt.FieldDropdown([[gt.Msg.CLOCKWISE,"0"],[gt.Msg.MIXLY_MIXBOT_SERVO_NEAREST_PATH,"1"],[gt.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.appendValueInput("angle").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MIXBOT_SERVO_ABSOLUTE_ANGLE_TOOLTIP)}},Ur={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.ME_GO_MOTOR_EXTERN+gt.Msg.MIXLY_SERVO_MOTOR).appendField(gt.Msg.MIXLY_RELATIVE+gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+gt.Msg.MSG.run).appendField(gt.Msg.PIN_NUMBERING).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LEFT,"0"],[gt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ORIGIN_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},wr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.ME_GO_MOTOR_EXTERN+gt.Msg.MIXLY_SERVO_MOTOR).appendField(gt.Msg.MIXLY_RELATIVE+gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+gt.Msg.MSG.run).appendField("("+gt.Msg.MIXLY_MIXBOT_SERVO_LIKE_ENCODING_MOTOR+")").appendField(gt.Msg.PIN_NUMBERING).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LEFT,"0"],[gt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MODE).setAlign(gt.inputs.Align.RIGHT).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_SPEED+gt.Msg.MIXLY_MODE,"0"],[gt.Msg.MIXLY_MICROBIT_JS_BLE_POWER+gt.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(gt.inputs.Align.RIGHT).appendField("%"),this.appendValueInput("angle").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ANGLE_TOOLTIP)}},kr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.ME_GO_MOTOR_EXTERN+gt.Msg.MIXLY_SERVO_MOTOR).appendField(gt.Msg.MIXLY_RELATIVE+gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+gt.Msg.MSG.run).appendField("("+gt.Msg.MIXLY_MIXBOT_SERVO_LIKE_ORDINARY_MOTOR+")").appendField(gt.Msg.PIN_NUMBERING).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LEFT,"0"],[gt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MODE).setAlign(gt.inputs.Align.RIGHT).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_SPEED+gt.Msg.MIXLY_MODE,"0"],[gt.Msg.MIXLY_MICROBIT_JS_BLE_POWER+gt.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(gt.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(gt.inputs.Align.RIGHT).appendField(new gt.FieldDropdown([[gt.Msg.CLOCKWISE,"0"],[gt.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Hr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.MIXBOT).appendField(gt.Msg.ME_GO_MOTOR_EXTERN).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MOTOR,"ext_motor"],[gt.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[gt.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[gt.Msg.COLOUR_RGB_RED+"LED","R_LED"],[gt.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[gt.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[gt.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[gt.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MIXBOT_EXTERN_GET_ADDR),this.setOutput(!0),this.setInputsInline(!0)}},Wr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.MIXBOT).appendField(gt.Msg.ME_GO_MOTOR_EXTERN).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MOTOR,"ext_motor"],[gt.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[gt.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[gt.Msg.COLOUR_RGB_RED+"LED","R_LED"],[gt.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[gt.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[gt.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[gt.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MIXBOT_EXTERN_SET_ADDR),this.appendValueInput("old").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE),this.appendValueInput("new").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_UPDATE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Kr={init:function(){this.setColour(ku),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_SETUP+gt.Msg.MIXLY_AT).appendField(gt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},Jr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.MIXLY_SETTING),this.appendValueInput("pin").appendField("LED"),this.appendValueInput("bright").appendField(gt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},qr={init:function(){this.setColour(ku),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_SERVO+gt.Msg.MIXLY_SETUP+gt.Msg.MIXLY_AT).appendField(gt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},zr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_SERVO),this.appendValueInput("angle").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE),this.appendDummyInput().appendField(gt.Msg.DRAW_POINTER_ANGLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Qr={init:function(){this.setColour(ku),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_MOTOR+gt.Msg.MIXLY_SETUP+gt.Msg.MIXLY_AT).appendField(gt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},jr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_MOTOR),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+gt.Msg.MIXLY_SPEED),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},$r="#6C9858",Zr={init:function(){this.setColour($r),this.appendDummyInput("").appendField(new gt.FieldDropdown([["L1","1"],["L2","2"]]),"op"),this.setOutput(!0)}},tl={init:function(){this.setColour($r),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_ESP32_ON,"1"],[gt.Msg.MIXLY_ESP32_OFF,"0"],[gt.Msg.MIXLY_ESP32_TOGGLE,"-1"]]),"flag"),this.setOutput(!0),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},el={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(gt.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(gt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_LED_SETONOFF)}},il={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(gt.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(gt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_LED_GETBRIGHT)}},nl={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(gt.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(gt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_LED_GETONOFF)}},sl={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(gt.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(gt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_SETTING+gt.Msg.MIXLY_BUILDIN_LED+gt.Msg.MIXLY_BRIGHTNESS+"(0-100%)")}},_l={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(gt.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput("").appendField(gt.Msg.MIXLY_LCD_SETCOLOR).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LIGHT_RED,"1"],[gt.Msg.MIXLY_LIGHT_GREEN,"2"],[gt.Msg.MIXLY_LIGHT_BLUE,"3"],[gt.Msg.MIXLY_LIGHT_YELLOW,"4"],[gt.Msg.MIXLY_LIGHT_CYAN,"5"],[gt.Msg.MIXLY_LIGHT_PURPLE,"6"],[gt.Msg.MIXLY_LIGHT_WHITE,"7"]]),"colorvalue"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},ol={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_SETTING).appendField(gt.Msg.MIXLY_BUILDIN_LED).appendField(new gt.FieldDropdown([[gt.Msg.COLOUR_RGB_RED,"r"],[gt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(gt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_LED_SETONOFF)}},pl={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(gt.Msg.MIXLY_BUILDIN_LED).appendField(new gt.FieldDropdown([[gt.Msg.COLOUR_RGB_RED,"r"],[gt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(gt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_LED_GETONOFF)}},al={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(gt.Msg.MIXLY_BUILDIN_LED).appendField(new gt.FieldDropdown([[gt.Msg.COLOUR_RGB_RED,"r"],[gt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(gt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_LED_GETONOFF)}},ul={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_SETTING).appendField(gt.Msg.MIXLY_BUILDIN_LED).appendField(new gt.FieldDropdown([[gt.Msg.COLOUR_RGB_RED,"r"],[gt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(gt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_SETTING+gt.Msg.MIXLY_BUILDIN_LED+gt.Msg.MIXLY_BRIGHTNESS+"(0-10)")}},rl={init:function(){this.setColour($r),this.appendDummyInput("").appendField(new gt.FieldDropdown([["L1","20"],["L2","21"]]),"op"),this.setOutput(!0)}},ll={init:function(){this.setColour($r),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(Ct.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgo_cc":case"micropython:esp32s2:mixgo_ce":this.setTooltip(gt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgo_me":default:this.setTooltip(gt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(gt.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},dl={init:function(){this.setColour($r),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(gt.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},Il={init:function(){this.setColour($r),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(gt.Msg.MIXLY_DURATION).appendField(gt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Tl={init:function(){this.setColour($r),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(gt.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(gt.Msg.PYTHON_RANGE_STEP).appendField(gt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Ml={init:function(){this.setColour($r),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(gt.Msg.MIXLY_ESP32_MUSIC_WRI)}},hl={init:function(){this.setColour($r),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(Ct.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgocc":this.setTooltip(gt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgome":default:this.setTooltip(gt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(gt.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},ml={init:function(){this.setColour($r),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(gt.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},El={init:function(){this.setColour($r),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(gt.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(gt.Msg.PYTHON_RANGE_STEP).appendField(gt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Ol={init:function(){this.setColour($r),this.appendValueInput("TICKS").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(gt.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(gt.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},Rl={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},cl={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_MUSIC_RESET)}},gl={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(gt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Cl={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(gt.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(gt.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},Sl={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Al={init:function(){this.setColour($r),this.appendValueInput("LIST").appendField(gt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Ll={init:function(){this.setColour($r),this.appendValueInput("LIST").appendField(gt.Msg.MIXLY_BACKSTAGE+gt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Nl={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MOTOR_DC).appendField(new gt.FieldDropdown([["1","1"],["2","2"],["3","3"]]),"wheel"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Direction).appendField(new gt.FieldDropdown([[gt.Msg.CLOCKWISE,"CW"],[gt.Msg.ANTI_CLOCKWISE,"CCW"],[gt.Msg.MOTOR_P,"P"],[gt.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Dl={init:function(){this.setColour($r),this.appendDummyInput().appendField("MixGo Car").appendField(new gt.FieldDropdown([[gt.Msg.blockpy_forward,"F"],[gt.Msg.blockpy_backward,"B"],[gt.Msg.blockpy_left,"L"],[gt.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},fl={init:function(){this.setColour($r),this.appendDummyInput("").appendField("MixGo Car").appendField(new gt.FieldDropdown([[gt.Msg.MOTOR_P,"P"],[gt.Msg.MOTOR_N,"N"]]),"VAR"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Fl={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MOTOR_DC).appendField(new gt.FieldDropdown([[gt.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[gt.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Direction).appendField(new gt.FieldDropdown([[gt.Msg.CLOCKWISE,"CW"],[gt.Msg.ANTI_CLOCKWISE,"CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Pl={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MOTOR_DC).appendField(new gt.FieldDropdown([[gt.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[gt.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(gt.Msg.MIXLY_STOP).appendField(new gt.FieldDropdown([[gt.Msg.MOTOR_P,"P"],[gt.Msg.MOTOR_N,"N"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},vl={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_MIXBOT_MOTOR_STATUS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MIXBOT_MOTOR_STATUS_TOOLTIP)}},Yl={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXBOT).appendField(new gt.FieldDropdown([[gt.Msg.blockpy_forward,"F"],[gt.Msg.blockpy_backward,"B"],[gt.Msg.blockpy_left,"L"],[gt.Msg.blockpy_right,"R"]]),"VAR"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[gt.Msg.MIXLY_SPEED,"SPEED"],[gt.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},Xl={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXBOT).appendField(new gt.FieldDropdown([[gt.Msg.MOTOR_P,"P"],[gt.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},yl={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXBOT).appendField(gt.Msg.MIXLY_MOTOR).appendField(new gt.FieldDropdown([[gt.Msg.TEXT_TRIM_LEFT,"1"],[gt.Msg.TEXT_TRIM_RIGHT,"2"],[gt.Msg.TEXT_TRIM_BOTH,"0"]]),"wheel"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[gt.Msg.MIXLY_SPEED,"SPEED"],[gt.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},bl={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_MIXBOT_BUZZER),this.appendDummyInput().appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,"0"],[gt.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,"1"]]),"on_off"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},xl={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.BITBOT).appendField(new gt.FieldDropdown([[gt.Msg.blockpy_forward,"F"],[gt.Msg.blockpy_backward,"B"],[gt.Msg.blockpy_left,"L"],[gt.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Vl={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.BITBOT).appendField(new gt.FieldDropdown([[gt.Msg.MOTOR_P,"P"],[gt.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Bl={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.BITBOT).appendField(gt.Msg.MIXLY_MOTOR).appendField(new gt.FieldDropdown([[gt.Msg.TEXT_TRIM_LEFT,"0"],[gt.Msg.TEXT_TRIM_RIGHT,"1"]]),"wheel"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Direction).appendField(new gt.FieldDropdown([[gt.Msg.CLOCKWISE,"CW"],[gt.Msg.ANTI_CLOCKWISE,"CCW"],[gt.Msg.MOTOR_P,"P"],[gt.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Gl={init:function(){this.setColour($r),this.appendValueInput("bright").appendField(gt.Msg.MIXLY_MIXBOT_SOUND_SET_LOUDNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_LED_SETONOFF)}},Ul={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_MIXBOT_SOUND_LOUDNESS+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_LED_GETONOFF)}},wl={init:function(){this.setColour($r),this.appendValueInput("bright").appendField(gt.Msg.MIXLY_SETTING+gt.Msg.MIXLY_MIXBOT_BUZZER+gt.Msg.MIXLY_MP3_VOL),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_LED_SETONOFF)}},kl={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET+gt.Msg.MIXLY_MIXBOT_BUZZER+gt.Msg.MIXLY_MP3_VOL+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_LED_GETONOFF)}},Hl={init:function(){this.setColour($r),this.appendValueInput("PATH").appendField(gt.Msg.MIXLY_RECORD_AUDIO).appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendValueInput("TIME").setCheck(Number).appendField(gt.Msg.MIXLY_GET_PRESSES_TIME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Wl={init:function(){this.setColour($r),this.appendValueInput("PATH").appendField(gt.Msg.MIXLY_PLAY_AUDIO).appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Kl={init:function(){this.setColour($r),this.appendValueInput("PATH").appendField(gt.Msg.MIXLY_PLAY_ONLINE_AUDIO).appendField("URL"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Jl={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(gt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},ql={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},zl={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.LISTS_SET_INDEX_SET+gt.Msg.ME_GO_MOTOR_EXTERN).appendField(gt.Msg.PIN_NUMBERING);switch(Ct.Boards.getSelectedBoardKey()){case"micropython:esp32c2:mixgo_mini":this.appendDummyInput().appendField(new gt.FieldDropdown([["1","1"],["2","2"]]),"index");break;case"micropython:esp32c5:mixgo_sowl":this.appendDummyInput().appendField(new gt.FieldDropdown([["1","1"],["2","2"],["4","4"],["5","5"]]),"index");break;default:this.appendDummyInput().appendField(new gt.FieldDropdown([["1","1"],["2","2"],["3","3"],["4","4"]]),"index")}this.appendValueInput("duty").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.blynk_IOT_IR_POWER+gt.Msg.MIXLY_PINMODEOUT),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},Ql={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET+gt.Msg.ME_GO_MOTOR_EXTERN).appendField(gt.Msg.PIN_NUMBERING);switch(Ct.Boards.getSelectedBoardKey()){case"micropython:esp32c2:mixgo_mini":this.appendDummyInput().appendField(new gt.FieldDropdown([["1","1"],["2","2"]]),"index");break;case"micropython:esp32c5:mixgo_sowl":this.appendDummyInput().appendField(new gt.FieldDropdown([["1","1"],["2","2"],["4","4"],["5","5"]]),"index");break;default:this.appendDummyInput().appendField(new gt.FieldDropdown([["1","1"],["2","2"],["3","3"],["4","4"]]),"index")}this.appendDummyInput().setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.blynk_IOT_IR_POWER+gt.Msg.MIXLY_PINMODEOUT+gt.Msg.MIXLY_DUTY_RATIO),this.setOutput(!0,Number),this.setInputsInline(!0)}},jl={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.LISTS_SET_INDEX_SET+gt.Msg.ME_GO_MOTOR_EXTERN).appendField(gt.Msg.MIXLY_ALL+gt.Msg.PIN_NUMBERING),this.appendValueInput("duty").setCheck(Number).setAlign(gt.ALIGN_RIGHT).appendField(gt.Msg.blynk_IOT_IR_POWER+gt.Msg.MIXLY_PINMODEOUT+gt.Msg.MIXLY_FREQUENCY),this.appendDummyInput().appendField("Hz"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},$l={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.LISTS_SET_INDEX_SET+gt.Msg.ME_GO_MOTOR_EXTERN).appendField(new gt.FieldDropdown([["1-2","1"],["4-5","4"]]),"index"),this.appendValueInput("duty").setCheck(Number).setAlign(gt.ALIGN_RIGHT).appendField(gt.Msg.blynk_IOT_IR_POWER+gt.Msg.MIXLY_PINMODEOUT+gt.Msg.MIXLY_FREQUENCY),this.appendDummyInput().appendField("Hz"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},Zl={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.ANALOG+gt.Msg.MIXLY_KEYBOARD_INPUT),this.appendValueInput("special"),this.appendValueInput("general"),this.appendDummyInput().appendField(gt.Msg.MIXLY_RELEASE).appendField(new gt.FieldDropdown([[gt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[gt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"release"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.ANALOG+gt.Msg.MIXLY_KEYBOARD_INPUT)}},td={init:function(){this.setColour($r),this.appendDummyInput("").appendField(gt.Msg.MIXLY_SPECIAL_KEY).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_SPECIAL_KEY0,"0x00"],[gt.Msg.MIXLY_SPECIAL_KEY1,"0x01"],[gt.Msg.MIXLY_SPECIAL_KEY2,"0x02"],[gt.Msg.MIXLY_SPECIAL_KEY4,"0x04"],[gt.Msg.MIXLY_SPECIAL_KEY8,"0x08"],[gt.Msg.MIXLY_SPECIAL_KEY16,"0x10"],[gt.Msg.MIXLY_SPECIAL_KEY32,"0x20"],[gt.Msg.MIXLY_SPECIAL_KEY64,"0x40"],[gt.Msg.MIXLY_SPECIAL_KEY128,"0x80"]]),"op"),this.setOutput(!0)}},ed={init:function(){this.setColour($r),this.appendDummyInput("").appendField(gt.Msg.MIXLY_GENERAL_KEY).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_SPECIAL_KEY0,"0x00"],["A","0x04"],["B","0x05"],["C","0x06"],["D","0x07"],["E","0x08"],["F","0x09"],["G","0x0A"],["H","0x0B"],["I","0x0C"],["J","0x0D"],["K","0x0E"],["L","0x0F"],["M","0x10"],["N","0x11"],["O","0x12"],["P","0x13"],["Q","0x14"],["R","0x15"],["S","0x16"],["T","0x17"],["U","0x18"],["V","0x19"],["W","0x1A"],["X","0x1B"],["Y","0x1C"],["Z","0x1D"],["1 !","0x1E"],["2 @","0x1F"],["3 #","0x20"],["4 $","0x21"],["5 %","0x22"],["6 ^","0x23"],["7 &","0x24"],["8 *","0x25"],["9 (","0x26"],["0 )","0x27"],["ENTER","0x28"],["ESC","0x29"],["BACKSPACE","0x2A"],["TAB","0x2B"],["SPACE","0x2C"],["- _","0x2D"],["= +","0x2E"],["[ {","0x2F"],["] }","0x30"],["\\ |","0x31"],["; :","0x33"],["' \"","0x34"],["` ~","0x35"],[", <","0x36"],[". >","0x37"],["/ ?","0x38"],["CAPS_LOCK","0x39"],["F1","0x3A"],["F2","0x3B"],["F3","0x3C"],["F4","0x3D"],["F5","0x3E"],["F6","0x3F"],["F7","0x40"],["F8","0x41"],["F9","0x42"],["F10","0x43"],["F11","0x44"],["F12","0x45"],["PRINTSCREEN","0x46"],["SCROLL_LOCK","0x47"],["PAUSE","0x48"],["INSERT","0x49"],["HOME","0x4A"],["PAGE_UP","0x4B"],["DELETE","0x4C"],["END","0x4D"],["PAGE_DOWN","0x4E"],["RIGHT","0x4F"],["LEFT","0x50"],["DOWN","0x51"],["UP","0x52"],["NUM_LOCK","0x53"],["/","0x54"],["*","0x55"],["-","0x56"],["+","0x57"],["ENTER","0x58"],["1","0x59"],["2","0x5A"],["3","0x5B"],["4","0x5C"],["5","0x5D"],["6","0x5E"],["7","0x5F"],["8","0x60"],["9","0x61"],["0","0x62"],[".","0x63"]]),"op"),this.setOutput(!0)}},id={init:function(){this.setColour($r),this.itemCount_=2,this.updateShape_(),this.setOutput(!0),this.setMutator(new gt.icons.MutatorIcon(["generalkey_create_with_item"],this)),this.setTooltip(gt.Msg.GENERALKEY_TUPLE_CREATE_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("generalkey_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;nnew Array(32).fill(0)))},Om={init:function(){this.jsonInit({colour:am,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SAD","SAD"],["SMILE","SMILE"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["SURPRISED","SURPRISED"],["ASLEEP","ASLEEP"],["ANGRY","ANGRY"],["CONFUSED","CONFUSED"],["NO","NO"],["YES","YES"]],type:"field_dropdown"}],output:["esp32_image","List"],helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#attributes",tooltip:gt.Msg.MIXLY_MICROBIT_Built_in_image1,message0:gt.Msg.MIXLY_MICROBIT_Built_in_image})}},Rm={init:function(){this.setColour(am),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new gt.FieldDropdown(Ct.Profile.default.builtinimg),"image"),this.setOutput(!0,["esp32_image","List"])}},cm={init:function(){this.setColour(am),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(gt.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new gt.FieldDropdown(cm.OPERATORS),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{"+":gt.Msg.MIXLY_MICROBIT_image_add,"-":gt.Msg.MIXLY_MICROBIT_image_reduce}[e]}))},OPERATORS:[[gt.Msg.MICROBIT_DISPLAY_UNION,"add"],[gt.Msg.MICROBIT_DISPLAY_MINUS,"sub"]]},gm={init:function(){this.setColour(am),this.appendValueInput("A").setCheck("esp32_image").appendField(gt.Msg.MIXLY_MICROBIT_Invert_image1),this.setInputsInline(!0),this.setOutput(!0,"esp32_image")}},Cm={init:function(){this.setColour(am),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(gt.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(gt.Msg.DISPLAY_IMAGE_LET2).appendField(new gt.FieldDropdown(Cm.OPERATORS),"OP"),this.appendValueInput("val").appendField(gt.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(gt.Msg.DISPLAY_IMAGE_UNIT),["Python ESP32-S3","Python ESP32-C5"].includes(Ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(gt.Msg.MIXLY_synchronize);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=gt.Msg.DISPLAY_IMAGE_LET,n=gt.Msg.DISPLAY_IMAGE_LET2,s=gt.Msg.DISPLAY_IMAGE_LET3;return i+n+{shift_up:gt.Msg.MIXLY_UP,shift_down:gt.Msg.MIXLY_DOWN,shift_left:gt.Msg.MIXLY_LEFT,shift_right:gt.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[gt.Msg.MIXLY_UP,"shift_up"],[gt.Msg.MIXLY_DOWN,"shift_down"],[gt.Msg.MIXLY_LEFT,"shift_left"],[gt.Msg.MIXLY_RIGHT,"shift_right"]]},Sm={init:function(){this.setColour(am),this.appendValueInput("x").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_JS_MONITOR_GET_POINT),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(gt.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},Am={init:function(){this.setColour(am),this.appendValueInput("x").setCheck(Number).appendField(gt.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},Lm={init:function(){this.setColour(am),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(gt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},Nm={init:function(){this.setColour(am),this.appendValueInput("x").setCheck(Number).appendField(gt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},Dm={init:function(){this.setColour(am),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Clear_display),["Python ESP32-S3","Python ESP32-C5"].includes(Ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(gt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MICROBIT_Clear_display)}},fm={init:function(){this.setColour(am),this.appendDummyInput().appendField(gt.Msg.MIXLY_SHOW+gt.Msg.MIXLY_DISPLAY_MATRIX_WRITE_NOW),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Fm={init:function(){this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<5;t++){let e=this.appendDummyInput();for(let i=0;i<8;i++)e.appendField(new gt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(am),this.setTooltip(gt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Pm={init:function(){this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(gt.inputs.Align.CENTRE).appendField(new gt.FieldBitmap(Pm.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(am),this.setTooltip(gt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(8).fill(0)))},vm={init:function(){this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<8;t++){let e=this.appendDummyInput();for(let i=0;i<12;i++)e.appendField(new gt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(am),this.setTooltip(gt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Ym={init:function(){this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(gt.inputs.Align.CENTRE).appendField(new gt.FieldBitmap(Ym.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(am),this.setTooltip(gt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(12).fill(0)))},Xm={init:function(){this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<8;t++){let e=this.appendDummyInput();for(let i=0;i<16;i++)e.appendField(new gt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0,"esp32_image"),this.setColour(am),this.setTooltip(gt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},ym={init:function(){this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(gt.inputs.Align.CENTRE).appendField(new gt.FieldBitmap(ym.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(am),this.setTooltip(gt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(16).fill(0)))},bm={init:function(){this.setColour(am),this.appendDummyInput().appendField(gt.Msg.OLED_SET_FONT).appendField(new gt.FieldDropdown(bm.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[["4x5"+gt.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'4x5'"],["5x5"+gt.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'5x5'"],["5x8"+gt.Msg.MIXGO_ME_DISPLAY_VERTICAL,"'5x8'"]]},xm={init:function(){this.setColour(am),this.appendValueInput("data").appendField(gt.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.OLED_BITMAP_OR_STRING)}},Vm={init:function(){this.setColour(am),this.appendValueInput("data").appendField(gt.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.OLED_BITMAP_OR_STRING)}},Bm={init:function(){this.setColour(am),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(gt.Msg.OLED_DRAWSTR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.OLED_BITMAP_OR_STRING)}},Gm={init:function(){this.setColour(am),this.appendValueInput("data").appendField(gt.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(gt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(gt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(gt.Msg.TEXT_CENTER).appendField(new gt.FieldDropdown([[gt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[gt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},Um={init:function(){this.setColour(am),this.appendValueInput("data").appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(gt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(gt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},wm={init:function(){this.setColour(am),this.appendValueInput("data").appendField(gt.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(gt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},km={init:function(){this.setColour(am),this.appendValueInput("x").setCheck(Number).appendField(gt.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},Hm={init:function(){this.jsonInit({colour:am,args0:[{name:"state",options:[[gt.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[gt.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"shape",options:[[gt.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[gt.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"}],inputsInline:!0,helpUrl:gt.Msg.mpython_HELPURL,tooltip:gt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:gt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},Wm={init:function(){this.jsonInit({colour:am,args0:[{name:"state",options:[[gt.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[gt.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"dir_h_v",options:[[gt.Msg.mpython_vertical,"0"],[gt.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"}],inputsInline:!0,helpUrl:gt.Msg.mpython_HELPURL,tooltip:gt.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:gt.Msg.MPYTHON_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},Km={init:function(){this.jsonInit({colour:am,args0:[{name:"state",options:[[gt.Msg.mpython_display_hline_1,"1"],[gt.Msg.mpython_display_hline_0,"0"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"}],inputsInline:!0,helpUrl:gt.Msg.mpython_HELPURL,tooltip:gt.Msg.mpython_display_line_TOOLTIP,message0:gt.Msg.mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},Jm={init:function(){this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new gt.FieldDropdown(Jm.IMAGES),"path"),this.setColour(am),this.setOutput(!0)},IMAGES:[["Heart","expression_picture.Heart"],["Angry","expression_picture.Angry"],["Bored","expression_picture.Bored"],["Confused","expression_picture.Confused"],["Happy","expression_picture.Happy"],["Paper","expression_picture.Paper"],["Rock","expression_picture.Rock"],["Sad","expression_picture.Sad"],["Scissors","expression_picture.Scissors"],["Silly","expression_picture.Silly"],["Sleep","expression_picture.Sleep"],["Small_heart","expression_picture.Small_heart"],["Small_paper","expression_picture.Small_paper"],["Small_rock","expression_picture.Small_rock"],["Small_scissors","expression_picture.Small_scissors"],["Smile","expression_picture.Smile"],["Surprise","expression_picture.Surprise"],["Wonderful","expression_picture.Wonderful"],["Eyes_Angry","eye_picture.Eyes_Angry"],["Awake","eye_picture.Awake"],["Black_eye","eye_picture.Black_eye"],["Bottom_left","eye_picture.Bottom_left"],["Bottom_right","eye_picture.Bottom_right"],["Crazy_1","eye_picture.Crazy_1"],["Crazy_2","eye_picture.Crazy_2"],["Disappointed","eye_picture.Disappointed"],["Dizzy","eye_picture.Dizzy"],["Down","eye_picture.Down"],["Evil","eye_picture.Evil"],["Hurt","eye_picture.Hurt"],["Knocked_out","eye_picture.Knocked_out"],["Love","eye_picture.Love"],["Middle_left","eye_picture.Middle_left"],["Middle_right","eye_picture.Middle_right"],["Neutral","eye_picture.Neutral"],["Nuclear","eye_picture.Nuclear"],["Pinch_left","eye_picture.Pinch_left"],["Pinch_middle","eye_picture.Pinch_middle"],["Pinch_right","eye_picture.Pinch_right"],["Tear","eye_picture.Tear"],["Tired_left","eye_picture.Tired_left"],["Tired_middle","eye_picture.Tired_middle"],["Tired_right","eye_picture.Tired_right"],["Toxic","eye_picture.Toxic"],["Up","eye_picture.Up"],["Winking","eye_picture.Winking"],["Accept","informatio_picture.Accept"],["Backward","informatio_picture.Backward"],["Decline","informatio_picture.Decline"],["Forward","informatio_picture.Forward"],["Left","informatio_picture.Left"],["No_go","informatio_picture.No_go"],["Question_mark","informatio_picture.Question_mark"],["Right","informatio_picture.Right"],["Stop_1","informatio_picture.Stop_1"],["Stop_2","informatio_picture.Stop_2"],["Thumbs_down","informatio_picture.Thumbs_down"],["Thumbs_up","informatio_picture.Thumbs_up"],["Warning","informatio_picture.Warning"],["Bomb","object_picture.Bomb"],["Boom","object_picture.Boom"],["Fire","object_picture.Fire"],["Flowers","object_picture.Flowers"],["Forest","object_picture.Forest"],["Lightning","object_picture.Lightning"],["Light_off","object_picture.Light_off"],["Light_on","object_picture.Light_on"],["Night","object_picture.Night"],["Pirate","object_picture.Pirate"],["Snow","object_picture.Snow"],["Target","object_picture.Target"],["Bar_0","progres_picture.Bar_0"],["Bar_1","progres_picture.Bar_1"],["Bar_2","progres_picture.Bar_2"],["Bar_3","progres_picture.Bar_3"],["Bar_4","progres_picture.Bar_4"],["Dial_0","progres_picture.Dial_0"],["Dial_1","progres_picture.Dial_1"],["Dial_2","progres_picture.Dial_2"],["Dial_3","progres_picture.Dial_3"],["Dial_4","progres_picture.Dial_4"],["Dots_0","progres_picture.Dots_0"],["Dots_1","progres_picture.Dots_1"],["Dots_2","progres_picture.Dots_2"],["Dots_3","progres_picture.Dots_3"],["Hourglass_0","progres_picture.Hourglass_0"],["Hourglass_1","progres_picture.Hourglass_1"],["Hourglass_2","progres_picture.Hourglass_2"],["Timer_0","progres_picture.Timer_0"],["Timer_1","progres_picture.Timer_1"],["Timer_2","progres_picture.Timer_2"],["Timer_3","progres_picture.Timer_3"],["Timer_4","progres_picture.Timer_4"],["Water_level_0","progres_picture.Water_level_0"],["Water_level_1","progres_picture.Water_level_1"],["Water_level_2","progres_picture.Water_level_2"],["Water_level_3","progres_picture.Water_level_3"],["YES","informatio_picture.YES"],["NO","informatio_picture.NO"]]},qm={init:function(){this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<5;t++){let e=this.appendDummyInput();for(let i=0;i<5;i++)e.appendField(new gt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(am),this.setTooltip(gt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},zm={init:function(){this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(gt.inputs.Align.CENTRE).appendField(new gt.FieldBitmap(zm.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(am),this.setTooltip(gt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(5).fill(0)))},Qm={init:function(){this.setColour(am),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(gt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},jm={init:function(){this.setColour(am),this.appendDummyInput().appendField(gt.Msg.MIXLY_MIXBOT_AMBIENTBRIGHT),this.setInputsInline(!0),this.setOutput(!0,Number)}},$m={init:function(){this.setColour(am),this.appendValueInput("x").setCheck(Number).appendField(gt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},Zm={init:function(){this.setColour(am),this.appendDummyInput().appendField(gt.Msg.MIXLY_MIXBOT_SCREEN_ROTATE).appendField(new gt.FieldDropdown(Zm.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[[gt.Msg.mixpy_PL_PIE_SHADOW_N,"0"],[gt.Msg.CLOCKWISE+"90"+gt.Msg.blockpy_setheading_degree,"1"],[gt.Msg.CLOCKWISE+"180"+gt.Msg.blockpy_setheading_degree,"2"],[gt.Msg.CLOCKWISE+"270"+gt.Msg.blockpy_setheading_degree,"3"]]},tE={init:function(){this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<12;t++){let e=this.appendDummyInput();for(let i=0;i<12;i++)e.appendField(new gt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(am),this.setTooltip(gt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},eE={init:function(){this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(gt.inputs.Align.CENTRE).appendField(new gt.FieldBitmap(eE.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(am),this.setTooltip(gt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:12},(()=>new Array(12).fill(0)))},iE={init:function(){this.setColour(am),this.appendValueInput("data").appendField(gt.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(gt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(gt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},nE={init:function(){this.setColour(am),this.appendValueInput("x").setCheck(Number).appendField(gt.Msg.OLED_BITMAP).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("direct").setCheck(String).appendField(gt.Msg.MIXLY_AipImageClassify_Image+gt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},sE={init:function(){this.setColour(am),this.appendValueInput("data").appendField(gt.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(gt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(gt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(gt.Msg.TEXT_CENTER).appendField(new gt.FieldDropdown([[gt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[gt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.appendValueInput("VAR").appendField(gt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(gt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},_E={init:function(){this.setColour(am),this.appendValueInput("data").appendField(gt.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(gt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("VAR").appendField(gt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},oE={init:function(){this.jsonInit({colour:am,args0:[{name:"shape",options:[[gt.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[gt.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:gt.Msg.mpython_HELPURL,tooltip:gt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:gt.Msg.ONBOARD_TFT_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},pE={init:function(){this.jsonInit({colour:am,args0:[{name:"dir_h_v",options:[[gt.Msg.mpython_vertical,"0"],[gt.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:gt.Msg.mpython_HELPURL,tooltip:gt.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:gt.Msg.ONBOARD_TFT_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},aE={init:function(){this.jsonInit({colour:am,args0:[{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:gt.Msg.mpython_HELPURL,tooltip:gt.Msg.mpython_display_line_TOOLTIP,message0:gt.Msg.onboard_mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},uE={init:function(){this.setColour(am),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("x").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(gt.Msg.HTML_COLOUR),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(gt.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},rE={init:function(){this.setColour(am),this.appendValueInput("x").setCheck(Number).appendField(gt.Msg.MIXLY_LCD_SETCOLOR).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("VAR").appendField(gt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(gt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},lE={init:function(){this.setColour(am),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_SCREEN_FILL),["Python ESP32-S3","Python ESP32-C5"].includes(Ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(gt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},dE={init:function(){this.setColour(am),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_INIT_CLOCK),this.appendDummyInput().appendField(gt.Msg.MIXLY_CENTER_POS),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(gt.Msg.OLED_CIRCLE_RADIUS),this.appendValueInput("VAR").appendField(gt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},IE={init:function(){this.setColour(am),this.appendValueInput("SUB"),this.appendDummyInput().appendField(gt.Msg.GET_RTCTIME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},TE={init:function(){this.setColour(am),this.appendValueInput("SUB"),this.appendDummyInput().appendField(gt.Msg.SET_TIME),this.appendValueInput("h").setCheck(Number).appendField(gt.Msg.MIXLY_HOUR),this.appendValueInput("m").setCheck(Number).appendField(gt.Msg.MIXLY_MINUTE),this.appendValueInput("s").setCheck(Number).appendField(gt.Msg.MIXLY_SECOND),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},ME={init:function(){this.setColour(am),this.appendValueInput("SUB"),this.appendDummyInput().appendField(gt.Msg.DRAW_CLOCK),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},hE={init:function(){this.setColour(am),this.appendValueInput("SUB"),this.appendDummyInput().appendField(gt.Msg.CLEAR_CLOCK),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_STM32_TFT_BACKGROUND_COLOR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},mE={init:function(){this.jsonInit({colour:am,args0:[{name:"shape",options:[[gt.Msg.MPYTHON_DISPLAY_HOLLOW,"False"],[gt.Msg.MPYTHON_DISPLAY_SOLID,"True"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"r",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:gt.Msg.mpython_HELPURL,message0:gt.Msg.ONBOARD_TFT_DISPLAY_SHAPE_CIRCLE_MESSAGE0,nextStatement:null,previousStatement:null})}},EE={init:function(){this.setColour(am),this.appendDummyInput().appendField(gt.Msg.DRAW_POINTER).appendField(gt.Msg.DRAW_POINTER_ANGLE),this.appendValueInput("angle"),this.appendDummyInput().appendField(gt.Msg.MIXLY_DRAW_POINTER_DU),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.DRAW_POINTER_TOOLTIP)}},OE={init:function(){this.setColour(am),this.appendDummyInput().appendField(gt.Msg.DRAW_POINTER).appendField(gt.Msg.DRAW_POINTER_ANGLE),this.appendValueInput("angle"),this.appendDummyInput().appendField(gt.Msg.MIXLY_DRAW_POINTER_DU),this.appendValueInput("VAR").appendField(gt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.DRAW_POINTER_TOOLTIP)}},RE={init:function(){this.setColour(am),this.appendValueInput("data").appendField(gt.Msg.MIXLY_Display_long_text),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(gt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(gt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},cE={init:function(){this.setColour(am),this.appendValueInput("direct").appendField(gt.Msg.OLED_BITMAP).appendField(gt.Msg.MIXLY_QR_CODE),["Python ESP32-S3","Python ESP32-C5"].includes(Ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(gt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},gE={init:function(){this.setColour(am),this.appendValueInput("data").appendField(gt.Msg.OLED_BITMAP).appendField(gt.Msg.MIXLY_QR_CODE),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendDummyInput("").appendField(gt.Msg.MIXLY_ERROR_RATE).appendField(new gt.FieldDropdown([["0","7%"],["1","15%"],["2","25%"],["3","30"]]),"correct"),this.appendValueInput("VAR").appendField(gt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(gt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},CE={init:function(){this.setColour(am),this.appendValueInput("data").appendField(gt.Msg.OLED_BITMAP),this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.OLED_BITMAP_OR_STRING),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},SE={init:function(){lm.init.call(this),this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},AE={init:function(){Mm.init.call(this),this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},LE={init:function(){Cm.init.call(this),this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},NE={init:function(){Lm.init.call(this),this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},DE={init:function(){Nm.init.call(this),this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},fE={init:function(){Dm.init.call(this),this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},FE=180,PE={init:function(){this.setColour(FE),this.setOutput(!0),this.setInputsInline(!0),this.appendValueInput("img").appendField(gt.Msg.DISPLAY_IMAGE_LET).setCheck(["esp32_image","List",String]),this.appendDummyInput("").appendField(gt.Msg.DISPLAY_IMAGE_LET2).appendField(new gt.FieldDropdown(PE.OPERATORS),"OP"),this.appendValueInput("val").appendField(gt.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(gt.Msg.DISPLAY_IMAGE_UNIT);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=gt.Msg.DISPLAY_IMAGE_LET,n=gt.Msg.DISPLAY_IMAGE_LET2,s=gt.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:gt.Msg.MIXLY_UP,down:gt.Msg.MIXLY_DOWN,left:gt.Msg.MIXLY_LEFT,right:gt.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[gt.Msg.MIXLY_UP,"up"],[gt.Msg.MIXLY_DOWN,"down"],[gt.Msg.MIXLY_LEFT,"left"],[gt.Msg.MIXLY_RIGHT,"right"]]},vE={init:function(){this.setColour(FE),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(gt.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new gt.FieldDropdown(vE.OPERATORS),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{"+":gt.Msg.MIXLY_MICROBIT_image_add,"-":gt.Msg.MIXLY_MICROBIT_image_reduce}[e]}))},OPERATORS:[[gt.Msg.MICROBIT_DISPLAY_UNION,"+"],[gt.Msg.MICROBIT_DISPLAY_MINUS,"-"]]},YE={init:function(){this.setColour(FE),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+gt.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("esp32_image"),this.appendDummyInput("").appendField(new gt.FieldDropdown(YE.OPERATORS),"OP"),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+gt.Msg.MIXLY_MICROBIT_IMAGE+{height:gt.Msg.MIXLY_HEIGHT,width:gt.Msg.MIXLY_WIDTH}[e]}))},OPERATORS:[[gt.Msg.MIXLY_HEIGHT,"height"],[gt.Msg.MIXLY_WIDTH,"width"]]},XE={init:function(){this.setColour(FE),this.appendValueInput("VAR").appendField(gt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RECT).appendField(new gt.FieldDropdown(XE.STATUS),"OP"),this.jsonInit({message0:gt.Msg.MIXLY_MICROBIT_SHOW_RECT,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"width"},{check:Number,type:"input_value",name:"height"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(gt.Msg.MIXLY_OLED_RECT)},STATUS:[[gt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[gt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},yE={init:function(){this.setColour(FE),this.appendValueInput("VAR").appendField(gt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE).appendField(new gt.FieldDropdown(yE.STATUS),"OP"),this.jsonInit({message0:gt.Msg.MIXLY_HANBIT_SHOW_CIRCLE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"r"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(gt.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE)},STATUS:[[gt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[gt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},bE={init:function(){this.setColour(FE),this.appendValueInput("VAR").appendField(gt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_DISPLAY_DRAW+gt.Msg.MIXLY_HANBIT_DRAW_TRIANGLE).appendField(new gt.FieldDropdown(bE.STATUS),"OP"),this.jsonInit({message0:gt.Msg.MIXLY_HANBIT_SHOW_triangle,args0:[{check:Number,type:"input_value",name:"x0"},{check:Number,type:"input_value",name:"y0"},{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(gt.Msg.MIXLY_DISPLAY_DRAW+gt.Msg.MIXLY_HANBIT_DRAW_TRIANGLE)},STATUS:[[gt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[gt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},xE="#777777",VE={init:function(){this.setColour(xE),this.appendDummyInput("").appendField("from ").appendField(new gt.FieldTextInput("ESP32"),"path").appendField(" import ").appendField(new gt.FieldTextInput("*"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},BE={init:function(){this.setColour(xE),this.appendDummyInput("").appendField("import ").appendField(new gt.FieldTextInput("module"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},GE={init:function(){this.setColour(xE),this.appendDummyInput("").appendField(new gt.FieldTextInput("my_function"),"NAME"),this.itemCount_=1,this.arguments_=["x"],this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new gt.icons.MutatorIcon(["factory_create_with_item"],this))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("items",this.itemCount_);for(var e=0;ee?t[e]:'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){gt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},NO={init:function(){this.setColour(RO),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(gt.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},DO={init:function(){this.setColour(RO),this.appendDummyInput().appendField(gt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},fO={init:function(){this.setColour(RO),this.appendDummyInput().appendField(gt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},FO={init:function(){this.setColour(RO),this.appendDummyInput().appendField(gt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").setCheck(String).appendField(gt.Msg.MIXLY_EMQX_SERVER).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(gt.Msg.MIXLY_WIFI_USERNAME).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(gt.Msg.MIXLY_IOT_PASSWORD).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("PROJECT").setCheck(String).appendField(gt.Msg.MIXLY_EMQX_PROJECT).setAlign(gt.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},PO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(gt.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(gt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(gt.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},vO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(gt.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(gt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(gt.Msg.HTML_BODY),this.appendDummyInput().appendField(gt.Msg.MIXLY_Service_quality_display).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_AT_MOST_ONCE,"0"],[gt.Msg.MIXLY_AT_LEAST_ONCE,"1"]]),"quality"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},YO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(gt.Msg.MIXLY_EMQX_SUBSCRIBE+gt.Msg.MIXLY_MICROBIT_MSG).appendField(gt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(gt.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_IOT_EMQX_SUBSCRIBE_TOOLTIP)}},XO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},yO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(gt.Msg.MIXLY_EMQX_CONNECT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},bO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_CHECK_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},xO={init:function(){this.setColour(RO),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(gt.Msg.MQTT_Topic),this.setInputsInline(!0),this.setOutput(!0)}},VO={init:function(){this.setColour(RO),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(gt.Msg.MIXLY_EMQX_PUBLISH_MSG),this.setInputsInline(!0),this.setOutput(!0)}},BO={init:function(){this.setColour(RO),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_ESP32_IOT_MAP_FORMATING),this.setOutput(!0)}},GO={init:function(){this.setColour(RO),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_MICROPYTHON_FORMAT+"(Json)"),this.setOutput(!0)}},UO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(gt.Msg.MIXLY_EMQX_PING),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_IOT_EMQX_PING_TOOLTIP)}},wO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("MixIO").appendField(gt.Msg.MIXLY_GET_NTP),this.appendValueInput("addr").appendField(gt.Msg.blynk_SERVER_ADD),this.setInputsInline(!0),this.setOutput(!0)}},kO={init:function(){this.setColour(RO),this.appendDummyInput().appendField(gt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(gt.Msg.MIXLY_EMQX_SERVER).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(gt.Msg.CONTROLS_FOR_INPUT_WITH+gt.Msg.MIXLY_MIXIO_SHARE_KEY).setAlign(gt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},HO={init:function(){this.setColour(RO),this.appendDummyInput().appendField(gt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(gt.Msg.MIXLY_EMQX_SERVER).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(gt.Msg.CONTROLS_FOR_INPUT_WITH+"Mixly Key").setAlign(gt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},WO={init:function(){this.VISITOR_ID=Ct.Config.BOARD.visitorId.str32.substring(0,8).toUpperCase(),this.setColour(RO),this.appendDummyInput("").appendField(new gt.FieldTextInput(this.visitorId),"VISITOR_ID"),this.setOutput(!0,null)},onchange:function(){const t=this.getFieldValue("VISITOR_ID");this.VISITOR_ID!==t&&this.setFieldValue(this.VISITOR_ID,"VISITOR_ID")}},KO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("MixIO").appendField(gt.Msg.MSG.catEthernet_clinet),this.setOutput(!0),this.setInputsInline(!0)}},JO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("HTTP"+gt.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(gt.Msg.DISPLAY_IMAGE_LET2),this.appendDummyInput().appendField(gt.Msg.MIXLY_REQUESTS_GET).appendField(gt.Msg.MIXLY_GET_CURRENT_TIME).appendField(gt.Msg.MIXLY_OPEN_DEBUG).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[gt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},qO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("HTTP"+gt.Msg.MIXLY_Client).appendField(gt.Msg.MIXLY_GET).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_REQUESTS_LEN,"client_len"],[gt.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[gt.Msg.MIXLY_REQUESTS_MESSAGE,"text"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},zO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("MQTT"+gt.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(gt.Msg.MIXLY_CONNECTTO),this.appendDummyInput().appendField(gt.Msg.MIXLY_INIT_SUBSCRIBE).appendField(gt.Msg.MQTT_Topic).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GET_CURRENT_TIME,""]]),"key").appendField(gt.Msg.MIXLY_OPEN_DEBUG).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[gt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},QO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("MQTT"+gt.Msg.MIXLY_Client).appendField(gt.Msg.MIXLY_GET).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_REQUESTS_LEN,"client_len"],[gt.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[gt.Msg.MIXLY_REQUESTS_MESSAGE,"time_msg()"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},jO=cO,$O=gO,ZO=CO,tR=SO,eR=LO,iR={init:function(){this.setColour(RO),this.appendDummyInput().appendField(gt.Msg.MIXLY_CONNECT_OLLAMA),this.appendValueInput("SERVER").appendField(gt.Msg.MIXLY_EMQX_SERVER).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(gt.Msg.MODEL_NAME).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(gt.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},nR=iR,sR={init:function(){this.setColour(RO),this.appendDummyInput().appendField(gt.Msg.MIXLY_CONNECT_OPENAI),this.appendValueInput("SERVER").appendField(gt.Msg.MIXLY_EMQX_SERVER).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(gt.Msg.MIXLY_API_PRIVATE_KEY).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(gt.Msg.MODEL_NAME).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(gt.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},_R={init:function(){this.setColour(RO),this.appendDummyInput().appendField(gt.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(gt.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendValueInput("METHOD").appendField(gt.Msg.MIXLY_LLM_CONTENT_CALLBACK),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},oR={init:function(){this.setColour(RO),this.appendDummyInput().appendField(gt.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(gt.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendDummyInput().appendField(gt.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0)}},pR={init:function(){this.setColour(RO),this.appendDummyInput().appendField("Ollama "+gt.Msg.MIXLY_EMPTY_HISTORY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},aR={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${gt.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("ADDR").setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_EMQX_SERVER),this.appendValueInput("USERNAME").setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_EMQX_USERNAME),this.appendValueInput("PASSWORD").setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_IOT_PASSWORD),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},uR={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${gt.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("MQTT").setAlign(gt.inputs.Align.RIGHT).appendField(`MixIO ${gt.Msg.MIXLY_Client}`),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},rR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_TINY_WEB_DB_UPDATE_VARIABLE),this.appendValueInput("VALUE").setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},lR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(gt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLE),this.appendDummyInput().appendField(gt.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setOutput(!0)}},dR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendDummyInput().appendField(gt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_NUM),this.setInputsInline(!0),this.setOutput(!0)}},IR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB").appendField(gt.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARIABLES),this.appendValueInput("NO").setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_TINY_WEB_DB_START_NUMBER),this.appendValueInput("COUNT").setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_TINY_WEB_DB_VARIABLE_NUMBER),this.appendValueInput("TAG").setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARS),this.appendDummyInput().setAlign(gt.inputs.Align.RIGHT).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_ALL,"both"],[gt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_TAG,"tag"],[gt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_VALUE,"value"]]),"DTYPE"),this.setInputsInline(!1),this.setOutput(!0)}},TR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(gt.Msg.MIXLY_TINY_WEB_DB_DELETE_VARIABLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},MR=225,hR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_NETWORK_INIT),this.appendDummyInput().appendField(gt.Msg.MIXLY_NETWORK_MODE).appendField(new gt.FieldDropdown([["STA","STA"],["AP","AP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_INIT_TOOLTIP)}},mR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_NETWORK_WIFI_OPEN,"True"],[gt.Msg.MIXLY_NETWORK_WIFI_CLOSE,"False"]]),"op"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_NETWORK_WIFI_FLAG),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("op"),i=gt.Msg.MIXLY_ESP32_NETWORK_OPEN_TOOLTIP;return{True:gt.Msg.MIXLY_NETWORK_WIFI_OPEN,False:gt.Msg.MIXLY_NETWORK_WIFI_CLOSE}[e]+i}))}},ER={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE)}},OR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_NETWORK_WIFI_SCAN),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip((function(){return gt.Msg.MIXLY_ESP32_NETWORK_SCAN_TOOLTIP+{0:"ssid",1:"bssid",2:"channel",3:"RSSI",4:"authmode",5:"hidden",all:gt.Msg.MIXLY_NETWORK_WIFI_SCAN_ATTRIBUTE}.all}))}},RR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_ESP32_NETWORK_CONNECT),this.appendValueInput("id").setCheck(String).appendField(gt.Msg.HTML_NAME),this.appendValueInput("password").setCheck(String).appendField(gt.Msg.HTML_PASSWORD),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_CONNECT_TOOLTIP)}},cR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_NETWORK_WIFI_CONNECT+gt.Msg.MIXLY_SYMBOL_QUESTION),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_WIFI_CONNECT_TOOLTIP)}},gR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_ESP32_NETWORK_IP,"0"],[gt.Msg.MIXLY_ESP32_NETWORK_MASK,"1"],[gt.Msg.MIXLY_ESP32_NETWORK_GATEWAY,"2"],["DNS","3"]]),"mode"),this.setOutput(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return gt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP+{0:gt.Msg.MIXLY_ESP32_NETWORK_IP,1:gt.Msg.MIXLY_ESP32_NETWORK_MASK,2:gt.Msg.MIXLY_ESP32_NETWORK_GATEWAY,3:"DNS"}[e]}))}},CR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_ESP32_NETWORK_STOP_CONNECT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_STOP_TOOLTIP)}},SR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput().appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_NETWORK_WIFI_ESSID,"essid"],[gt.Msg.MIXLY_NETWORK_WIFI_CHANNEL,"channel"]]),"op"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP)}},AR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.LISTS_SET_INDEX_SET+gt.Msg.MIXLY_HOTSPOT),this.appendValueInput("essid").setCheck(String).appendField(gt.Msg.MIXLY_NAME),this.appendValueInput("password").setCheck(String).appendField(gt.Msg.MIXLY_EMQX_PASSWORD),this.appendValueInput("channel").setCheck(Number).appendField(gt.Msg.MIXLY_NETWORK_WIFI_CHANNEL),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_AP_CONNECT_TOOLTIP)}},LR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_ESP32_NETWORK_SERVER1),this.appendDummyInput("").appendField(gt.Msg.MIXLY_ESP32_NETWORK_SERVER2),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},NR={init:function(){this.setColour(MR),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_INIT).setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new gt.FieldDropdown([["TCP","TCP"],["UDP","UDP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return gt.Msg.MIXLY_ESP32_NETWORK_SOCKET_INIT_TOOLTIP+{TCP:"TCP",UDP:"UDP"}[e]}))}},DR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_BIND_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_SOCKET_BIND_TOOLTIP)}},fR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_CONNECT_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_SOCKET_CONNECT_TOOLTIP)}},FR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendValueInput("queue").setCheck(Number).appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_LISTEN).appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_QUEUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_SOCKET_LISTEN_TOOLTIP)}},PR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_ACCEPT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_SOCKET_ACCEPT_TOOLTIP)}},vR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE_TOOLTIP)}},YR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("size").setCheck(Number).appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_TOOLTIP)}},XR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("content").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TOOLTIP)}},yR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("size").setCheck(Number).appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_FROM_TOOLTIP)}},bR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("content").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.appendValueInput("address").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_TO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TO_TOOLTIP)}},xR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_CLOSE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},VR={init:function(){this.setColour(MR),this.appendValueInput("DOMAIN").appendField(gt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(gt.Msg.blockpy_REQUESTS_GET).appendField(new gt.FieldTextInput("response"),"VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.blockpy_REQUESTS_GET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){gt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},BR={init:function(){this.appendValueInput("VAL"),this.setColour(MR),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new gt.FieldDropdown(BR.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{clear:gt.Msg.MIXLY_TOOLTIP_TURTEL_CLEAR,reset:gt.Msg.MIXLY_TOOLTIP_TURTEL_RESET,home:gt.Msg.MIXLY_TOOLTIP_TURTEL_HOME}[e]}))},ATTR:[[gt.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[gt.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[gt.Msg.blockpy_REQUESTS_GET_ATTR_COOKIES,"cookies"],[gt.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"]]},GR={init:function(){this.appendValueInput("VAR").appendField(gt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.setColour(MR),this.appendDummyInput("").appendField(gt.Msg.blockpy_CONDUCT).appendField(new gt.FieldDropdown(GR.METHOD),"DIR"),this.appendDummyInput("").appendField(gt.Msg.blockpy_REQUESTS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{forward:gt.Msg.MIXLY_TOOLTIP_TURTEL_FORWARD,backward:gt.Msg.MIXLY_TOOLTIP_TURTEL_BACKWARD}[e]}))},METHOD:[["post","post"],["put","put"],["delete","delete"],["head","head"],["option","option"]]},UR={init:function(){this.setColour(MR),this.appendDummyInput("").appendField(gt.Msg.MIXLY_GET_NTP+"(NTP)"),this.appendValueInput("data").appendField(gt.Msg.blynk_SERVER_ADD),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},wR={init:function(){this.setColour(MR),this.appendDummyInput("").appendField(new gt.FieldDropdown([["ntp.aliyun.com","ntp.aliyun.com"],["ntp1.aliyun.com","ntp1.aliyun.com"],["ntp2.aliyun.com","ntp2.aliyun.com"],["ntp3.aliyun.com","ntp3.aliyun.com"],["ntp4.aliyun.com","ntp4.aliyun.com"],["ntp5.aliyun.com","ntp5.aliyun.com"],["ntp6.aliyun.com","ntp6.aliyun.com"],["ntp7.aliyun.com","ntp7.aliyun.com"],["time1.cloud.tencent.com","time1.cloud.tencent.com"],["time2.cloud.tencent.com","time2.cloud.tencent.com"],["time3.cloud.tencent.com","time3.cloud.tencent.com"],["time4.cloud.tencent.com","time4.cloud.tencent.com"],["time5.cloud.tencent.com","time5.cloud.tencent.com"]]),"op"),this.setOutput(!0)}},kR="#3288dd",HR={init:function(){this.setColour(kR),this.appendValueInput("URL").appendField(gt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(gt.Msg.blockpy_CONDUCT).appendField(new gt.FieldDropdown([["get","get"],["head","head"],["delete","delete"]]),"TYPE").appendField(gt.Msg.blockpy_REQUESTS).appendField(gt.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},WR={init:function(){this.setColour(kR),this.appendValueInput("URL").appendField(gt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(gt.Msg.blockpy_CONDUCT).appendField(new gt.FieldDropdown([["post","post"],["put","put"],["patch","patch"]]),"TYPE").appendField(gt.Msg.blockpy_REQUESTS),this.appendValueInput("data").appendField(gt.Msg.blockpy_REQUESTS+gt.Msg.OLED_STRING),this.appendDummyInput("").appendField(gt.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},KR={init:function(){this.appendValueInput("VAL"),this.setColour(kR),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new gt.FieldDropdown(KR.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String)},ATTR:[[gt.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[gt.Msg.blockpy_REQUESTS_GET_ATTR_JSON,"json()"],[gt.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[gt.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"],[gt.Msg.MIXPY_TEXT_ENCODE,"encoding"]]},JR={init:function(){this.setColour(kR),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_IOT_CONNECT_WIFI),this.appendValueInput("WIFINAME").setCheck(String).appendField(gt.Msg.HTML_NAME),this.appendValueInput("PASSWORD").setCheck(String).appendField(gt.Msg.HTML_PASSWORD),this.appendValueInput("TIMEOUT").setCheck(Number).appendField(gt.Msg.MIXLY_IR_TIMEOUT),this.appendDummyInput().appendField(gt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_IOT_WIFI_CONNECT_TOOLTIP)}},qR={init:function(){this.setColour(kR),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_IOT_EMQX_CONNECT_TOOLTIP),this.appendValueInput("SERVER").setCheck(String).appendField(gt.Msg.MIXLY_EMQX_SERVER).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("PORT").setCheck(Number).appendField(gt.Msg.MIXLY_EMQX_PORT).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("CLIENT_ID").setCheck(String).appendField(gt.Msg.MIXLY_EMQX_CLIENT_ID).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(gt.Msg.MIXLY_WIFI_USERNAME).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(gt.Msg.MIXLY_IOT_PASSWORD).setAlign(gt.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},zR={init:function(){this.setColour(kR),this.appendValueInput("TOPIC").appendField(gt.Msg.MIXLY_EMQX_SUBSCRIBE+gt.Msg.MIXLY_MICROBIT_MSG).appendField(gt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MESSAGE").appendField(gt.Msg.blockpy_set_of),this.setInputsInline(!0),this.setOutput(!0)}},QR={init:function(){this.setColour(kR),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(gt.Msg.MIXLY_EMQX_SUBSCRIBE+gt.Msg.MIXLY_MICROBIT_MSG).appendField(gt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(gt.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},jR={init:function(){this.setColour(kR),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(gt.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(gt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(gt.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},$R={init:function(){this.setColour(kR),this.appendDummyInput().appendField("mqtt"+gt.Msg.MIXLY_EMQX_IS_CONNECT),this.setInputsInline(!0),this.setOutput(!0)}},ZR="#A58C5B",tc={init:function(){this.setColour(ZR),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_BUTTON).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_IS_PRESSED),this.appendValueInput("STAT").appendField(gt.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_SENOR_IS_PRESSED)}},ec={init:function(){this.setColour(ZR),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_BUTTON).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_WAS_PRESSED),this.appendValueInput("STAT").appendField(gt.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_SENOR_WAS_PRESSED)}},ic={init:function(){this.setColour(ZR),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_BUTTON).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET_PRESSES),this.appendValueInput("VAR").setCheck(Number).appendField(gt.Msg.MIXLY_GET_PRESSES_TIME),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(gt.Msg.PROCEDURES_DEFRETURN_RETURN+gt.Msg.MIXLY_BUTTON+gt.Msg.MIXLY_GET_PRESSES)}},nc={init:function(){this.setColour(ZR),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_BUTTON).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MODE).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[gt.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[gt.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(gt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_INOUT_ATTACHINTERRUPT)}},sc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_shake,"shake"],[gt.Msg.MIXLY_UP,"up"],[gt.Msg.MIXLY_DOWN,"down"],[gt.Msg.MIXLY_LEFT,"left"],[gt.Msg.MIXLY_RIGHT,"right"],[gt.Msg.MIXLY_MICROBIT_face_up,"face up"],[gt.Msg.MIXLY_MICROBIT_face_down,"face down"],[gt.Msg.MIXLY_MICROBIT_freefall,"freefall"],["3g","3g"],["6g","6g"],["8g","8g"]]),"gesture"),this.appendStatementInput("DO").appendField(gt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("gesture"),i=gt.Msg.MIXLY_MICROBIT_JS_CURRENT,n=gt.Msg.MSG.catSensor,s=gt.Msg.MIXLY_MICROBIT_JS_STATE,_=gt.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:gt.Msg.MIXLY_MICROBIT_shake,up:gt.Msg.MIXLY_UP,down:gt.Msg.MIXLY_DOWN,left:gt.Msg.MIXLY_LEFT,right:gt.Msg.MIXLY_RIGHT,"face up":gt.Msg.MIXLY_MICROBIT_face_up,"face down":gt.Msg.MIXLY_MICROBIT_face_down,freefall:gt.Msg.MIXLY_MICROBIT_freefall,"3g":"3g","6g":"6g","8g":"8g"}[e]+_}))}},_c={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_ADXL345).setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new gt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=gt.Msg.MIXLY_MICROBIT_Direction,s=gt.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":gt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},oc={init:function(){this.setColour(ZR),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_JS_LIGHT_LEVEL),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_SENSOR_LIGHT_LEVEL_TOOLTIP)}},pc={init:function(){this.setColour(ZR),this.appendValueInput("PIN",Number).appendField(new gt.FieldDropdown([["DHT11","DHT11"],["DHT22","DHT22"]]),"TYPE").appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(new gt.FieldDropdown(pc.METHOD),"WHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("WHAT");return{temperature:gt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM,relative_humidity:gt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_HUM,tempandhum:gt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM_HUM}[e]}))},METHOD:[[gt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[gt.Msg.MIXLY_GETHUMIDITY,"humidity"]]},ac={init:function(){this.setColour(ZR),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_EXTERN_LIGHT),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(gt.Msg.ESP32_SENSOR_NIXGO_LIGHT_TOOLTIP)}},uc={init:function(){this.setColour(ZR),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_EXTERN_SOUND),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(gt.Msg.ESP32_SENSOR_NIXGO_SOUND_TOOLTIP)}},rc={init:function(){this.setColour(ZR),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new gt.FieldDropdown([[gt.Msg.TEXT_TRIM_LEFT,"left"],[gt.Msg.TEXT_TRIM_RIGHT,"right"]]),"direction").appendField(gt.Msg.MIXLY_ESP32_NEAR),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("direction"),i=gt.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP,n=gt.Msg.MIXLY_ESP32_NEAR;return i+{left:gt.Msg.TEXT_TRIM_LEFT,right:gt.Msg.TEXT_TRIM_RIGHT}[e]+n}))}},lc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_ALTITUDE_SENSOR+" BMP280").setCheck("var"),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GETTEMPERATUE,"get_BMP_temperature()"],[gt.Msg.MIXLY_GETPRESSURE,"get_BMP_pressure()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{"get_BMP_temperature()":gt.Msg.MIXLY_MICROBIT_SENSOR_BMP_temperature_TOOLTIP,"get_BMP_pressure()":gt.Msg.MIXLY_MICROBIT_SENSOR_BMP_press_TOOLTIP}[e]}))}},dc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+" SHT20").setCheck("var"),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GETTEMPERATUE,"get_SHT_temperature()"],[gt.Msg.MIXLY_GETHUMIDITY,"get_SHT_relative_humidity()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{"get_SHT_temperature()":gt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,"get_SHT_relative_humidity()":gt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},Ic={init:function(){this.setColour(ZR),this.appendValueInput("PIN",Number).appendField("DS18X20 "+gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(gt.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(gt.Msg.MIXLY_MICROBIT_SENSOR_DS18X20_TOOLTIP)}},Tc={init:function(){this.setColour(ZR),this.appendDummyInput("").appendField("LM35"+gt.Msg.MIXLY_TEMP),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(gt.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_LM35)}},Mc={init:function(){this.setColour(ZR),this.appendValueInput("I2CSUB").appendField(gt.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_SETUP+gt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_ESP32_EXTERN_LIGHT+"(LTR308ALS)","LTR308"],[gt.Msg.MIXLY_COLOR_SENSOR+"(LTR381RGB)","LTR381RGB"],[gt.Msg.MIXLY_COLOR_SENSOR+"(UCS12071)","UCS12071"],[gt.Msg.MIXLY_EXTERN_LIGHTUV+"(LTR390UV)","LTR390UV"],[gt.Msg.MIXLY_ALTITUDE_SENSOR+"(HP203X)","HP203X"],[gt.Msg.MIXLY_ALTITUDE_SENSOR+"(SPL06_001)","SPL06_001"],[gt.Msg.MIXLY_ALTITUDE_SENSOR+"(MS5611)","MS5611"],[gt.Msg.MIXLY_ALTITUDE_SENSOR+"(BMP280)","BMP280"],[gt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(SHTC3)","SHTC3"],[gt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(AHT21)","AHT21"],[gt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(SHT20)","SHT20"],[gt.Msg.MIXLY_LASER_RANGE_SENSOR+"(VL53L0X)","VL53L0X"],[gt.Msg.MIXLY_GEOMAGNETIC_SENSOR+"(QMC5883L)","QMC5883L"],[gt.Msg.MIXLY_ESP32_MAX30102+"(MAX30102)","MAX30102"],[gt.Msg.HTML_COLOUR+"、"+gt.Msg.MIXLY_ENVIRONMENT_LIGHT+"、"+gt.Msg.MIXLY_NEXT+"、"+gt.Msg.MIXLY_ESP32_APDS9960+"(APDS9960)","APDS9960"],[gt.Msg.MIXLY_NINE_AXIS_SENSOR+"(MPU9250)","MPU9250"],[gt.Msg.MixGo_MPU9250+"(ADXL345)","ADXL345"],["RFID","RFID"],[gt.Msg.MIXLY_RADAR_SENSOR+"(CBR817)","CBR817"],[gt.Msg.MIXLY_AipSpeech_asr+"(CI130X)","CI130X"],[gt.Msg.MIXLY_TVOC_CO2_SENSOR+"(AGS10)","AGS10"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},hc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_RADAR+"CBR817").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.LISTS_SET_INDEX_SET+gt.Msg.MIXlY_INTERACTION),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_DETECTION_THRESHOLD),this.appendValueInput("VAR2").appendField(gt.Msg.MIXLY_DELAY_TIME),this.appendDummyInput().appendField("ms"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_THRESHOLD_TOOLTIP+" ; "+gt.Msg.MIXLY_DELAY_TIME_RANGE)}},mc={init:function(){this.setColour(ZR),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RADAR).appendField(gt.Msg.LISTS_SET_INDEX_SET+gt.Msg.MIXlY_INTERACTION),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_DETECTION_THRESHOLD),this.appendValueInput("VAR2").appendField(gt.Msg.MIXLY_DELAY_TIME),this.appendDummyInput().appendField("ms"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_THRESHOLD_TOOLTIP+" ; "+gt.Msg.MIXLY_DELAY_TIME_RANGE)}},Ec={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_RADAR+"CBR817").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_GET_TO_INTERACTION),this.setOutput(!0),this.setInputsInline(!0)}},Oc={init:function(){this.setColour(ZR),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RADAR).appendField(gt.Msg.MIXLY_GET_TO_INTERACTION),this.setOutput(!0),this.setInputsInline(!0)}},Rc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_IDENTIFY_ONCE_AND_SAVE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},cc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_GET).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_HELLO_XIAOZHI,"1"],[gt.Msg.MIXLY_XIAOZHIXIAOZHI,"2"],[gt.Msg.MIXLY_THE_FIRST,"3"],[gt.Msg.MIXLY_THE_SECOND,"4"],[gt.Msg.MIXLY_THE_THIRD,"5"],[gt.Msg.MIXLY_THE_FOURTH,"6"],[gt.Msg.MIXLY_THE_FIFTH,"7"],[gt.Msg.MIXLY_THE_SIXTH,"8"],[gt.Msg.MIXLY_THE_SEVENTH,"9"],[gt.Msg.MIXLY_THE_EIGHTH,"10"],[gt.Msg.MIXLY_THE_NINTH,"11"],[gt.Msg.MIXLY_THE_TENTH,"12"],[gt.Msg.MIXLY_THE_ELEVENTH,"13"],[gt.Msg.MIXLY_THE_TWELFTH,"14"],[gt.Msg.MIXLY_THE_13TH,"15"],[gt.Msg.MIXLY_THE_14TH,"16"],[gt.Msg.MIXLY_THE_15TH,"17"],[gt.Msg.MIXLY_THE_16TH,"18"],[gt.Msg.MIXLY_THE_17TH,"19"],[gt.Msg.MIXLY_THE_18TH,"20"],[gt.Msg.MIXLY_THE_19TH,"21"],[gt.Msg.MIXLY_THE_20TH,"22"],[gt.Msg.MIXLY_Turn_on_the_lights,"23"],[gt.Msg.MIXLY_Turn_off_the_lights,"24"],[gt.Msg.MIXLY_Turn_up_the_brightness,"25"],[gt.Msg.MIXLY_Turn_down_the_brightness,"26"],[gt.Msg.MIXLY_Set_it_to_red,"27"],[gt.Msg.MIXLY_Set_it_to_orange,"28"],[gt.Msg.MIXLY_Set_it_to_yellow,"29"],[gt.Msg.MIXLY_Set_it_to_green,"30"],[gt.Msg.MIXLY_Set_it_to_cyan,"31"],[gt.Msg.MIXLY_Set_it_to_blue,"32"],[gt.Msg.MIXLY_Set_it_to_purple,"33"],[gt.Msg.MIXLY_Set_it_to_white,"34"],[gt.Msg.MIXLY_Turn_on_the_fan,"35"],[gt.Msg.MIXLY_Turn_off_the_fan,"36"],[gt.Msg.MIXLY_First_gear,"37"],[gt.Msg.MIXLY_Wind_speed_second,"38"],[gt.Msg.MIXLY_Third_gear,"39"],[gt.Msg.MIXLY_Previous,"40"],[gt.Msg.MIXLY_Next_page,"41"],[gt.Msg.MIXLY_Show_smiley_face,"42"],[gt.Msg.MIXLY_Show_crying_face,"43"],[gt.Msg.MIXLY_Show_love,"44"],[gt.Msg.MIXLY_Close_display,"45"],[gt.Msg.MIXLY_Start_execution,"46"],[gt.Msg.MIXLY_FORWARD,"47"],[gt.Msg.MIXLY_BACKWARD,"48"],[gt.Msg.MIXLY_TURNLEFT,"49"],[gt.Msg.MIXLY_TURNRIGHT,"50"],[gt.Msg.MIXLY_STOP,"51"],[gt.Msg.MIXLY_Accelerate,"52"],[gt.Msg.MIXLY_retard,"53"],[gt.Msg.ROTATION_FORWARD,"54"],[gt.Msg.ROTATION_BACKWARD,"55"],[gt.Msg.MIXLY_Query_temperature,"56"],[gt.Msg.MIXLY_Query_humidity,"57"],[gt.Msg.MIXLY_Query_brightness,"58"],[gt.Msg.MIXLY_Query_sound,"59"],[gt.Msg.MIXLY_Query_time,"60"],[gt.Msg.MIXLY_Query_distance,"61"],[gt.Msg.MIXLY_Query_pressure,"62"],[gt.Msg.MIXLY_Query_key,"63"],[gt.Msg.MIXLY_Query_touch,"64"],[gt.Msg.MIXLY_Query_color,"65"]]),"cmd").appendField(gt.Msg.MIXLY_WHETHER+gt.Msg.MIXLY_BE_IDENTIFIED),this.setOutput(!0),this.setInputsInline(!0)}},gc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_GET).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_RECOGNIZED_STATE,"status1"],[gt.Msg.MIXLY_WHETHER_BROADCAST,"status2"],[gt.Msg.MIXLY_THE_RECOGNIZED_CMD,"result"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_CI130X_GET_THE_RECOGNIZED_STATE_TOOLTIP)}},Cc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MP3_PLAY).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"],[gt.Msg.MIXLY_WIND_SPEED,"154"],[gt.Msg.MIXLY_HYETAL,"155"],[gt.Msg.MIXLY_TEMPERATURE,"156"],[gt.Msg.MIXLY_Humidity,"157"],[gt.Msg.MIXLY_Altitude,"158"],[gt.Msg.MIXLY_SOUND,"159"],[gt.Msg.MIXLY_BRIGHTNESS,"160"],[gt.Msg.ME_GO_HALL_SENSOR_DISTANCE,"161"],[gt.Msg.MIXLY_SERVO,"162"],[gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"163"],[gt.Msg.MIXLY_BUTTON2,"164"],[gt.Msg.MIXLY_ESP32_TOUCH,"165"],[gt.Msg.MIXLY_PAY,"166"],[gt.Msg.MIXLY_CARSH_CHANGE,"167"],[gt.Msg.MIXLY_COUNTDOWN,"168"],[gt.Msg.MIXLY_TIMING,"169"],[gt.Msg.MIXLY_AT_THE_MOMENT,"170"],[gt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE,"171"],[gt.Msg.MIXLY_FORWARD,"172"],[gt.Msg.MIXLY_BACKWARD,"173"],[gt.Msg.MIXLY_TURNLEFT,"174"],[gt.Msg.MIXLY_TURNRIGHT,"175"],[gt.Msg.MIXLY_STOP,"176"],[gt.Msg.MIXLY_Accelerate,"177"],[gt.Msg.MIXLY_retard,"178"],[gt.Msg.ROTATION_FORWARD,"179"],[gt.Msg.ROTATION_BACKWARD,"180"],[gt.Msg.TUPLE_JOIN,"181"],[gt.Msg.MIXLY_SHOW,"182"],[gt.Msg.MIXLY_LAMPLIGHT,"183"],[gt.Msg.MIXLY_ACCELERATION,"184"]]),"star"),this.appendValueInput("NUM").appendField(gt.Msg.MIXLY_NUMBER),this.appendDummyInput("").appendField(gt.Msg.MIXLY_UNIT).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"],[gt.Msg.MIXLY_YEAR,"117"],[gt.Msg.MIXLY_MONTH,"118"],[gt.Msg.MIXLY_DAY,"119"],[gt.Msg.MIXLY_HOUR,"120"],[gt.Msg.MIXLY_MINUTE,"121"],[gt.Msg.MIXLY_SECOND,"122"],[gt.Msg.MIXLY_WEEK2,"123"],[gt.Msg.MIXLY_RMB_UNIT,"124"],[gt.Msg.blockpy_setheading_degree,"125"],[gt.Msg.MIXLY_GEAR,"126"],[gt.Msg.MIXLY_LAYER,"127"],[gt.Msg.MIXLY_GRAM,"128"],[gt.Msg.MIXLY_METER,"129"],[gt.Msg.MIXLY_CENTIMETER,"130"],[gt.Msg.MIXLY_MILLIMETER,"131"],[gt.Msg.MIXLY_LUMEN,"132"],[gt.Msg.MIXLY_DECIBEL,"133"],[gt.Msg.MIXLY_hectopascal,"134"],[gt.Msg.MIXLY_PERCENT,"135"],[gt.Msg.MIXLY_CELSIUS,"136"],[gt.Msg.MIXLY_METER_PER_SEC,"137"],[gt.Msg.MIXLY_MICROBIT_Turn_on_display,"138"],[gt.Msg.MIXLY_MICROBIT_Turn_off_display,"139"],[gt.Msg.MIXLY_SUCCESS,"140"],[gt.Msg.MIXLY_FAILED,"141"],[gt.Msg.MIXLY_WRONG,"142"],[gt.Msg.MIXLY_GOOD,"143"],[gt.Msg.MIXLY_blockpy_set_add,"144"],[gt.Msg.MIXLY_DECREASE,"145"],[gt.Msg.COLOUR_RGB_RED,"146"],[gt.Msg.COLOUR_RGB_ORANGE,"147"],[gt.Msg.COLOUR_YELLOW,"148"],[gt.Msg.COLOUR_RGB_GREEN,"149"],[gt.Msg.COLOUR_CYAN,"150"],[gt.Msg.COLOUR_RGB_BLUE,"151"],[gt.Msg.COLOUR_RGB_PURPLE,"152"],[gt.Msg.COLOUR_RGB_WHITE,"153"]]),"end"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Sc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.LISTS_SET_INDEX_SET+gt.Msg.MIXLY_SYSTEM+gt.Msg.MIXLY_CMD).appendField(new gt.FieldDropdown([[gt.Msg.MILXY_ENTER_WAKE_UP,"1"],[gt.Msg.MIXLY_INCREASE_VOLUME,"202"],[gt.Msg.MIXLY_REDUCE_VOLUME,"203"],[gt.Msg.MIXLY_MAX_VOLUME,"204"],[gt.Msg.MIXLY_MINIMUM,"205"],[gt.Msg.MIXLY_OPEN_RESPONSE,"206"],[gt.Msg.MIXLY_CLOSE_RESPONSE,"207"],[gt.Msg.MIXLY_QUIT_WAKE_UP,"208"]]),"cmd"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Ac={init:function(){this.setColour(ZR),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_MAX30102+" MAX30102"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_ESP32_MAX30102_IR,"[0]"],[gt.Msg.MIXLY_ESP32_MAX30102_RED,"[1]"],[gt.Msg.MIXLY_ESP32_MAX30102_IR+","+gt.Msg.MIXLY_ESP32_MAX30102_RED,""]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Lc={init:function(){this.setColour(ZR),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_APDS9960+" APDS9960"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_ESP32_APDS9960_COLOR,"color"],[gt.Msg.MIXLY_ESP32_APDS9960_GESTURE,"gesture"],[gt.Msg.MIXLY_ESP32_APDS9960_APPROACH,"proximity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Nc={init:function(){this.setColour(ZR),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_EXTERN_LIGHT+" LTR308ALS"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET_LIGHT_INTENSITY),this.setOutput(!0,Number),this.setInputsInline(!0)}},Dc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.HTML_COLOUR+gt.Msg.MSG.catSensor+" LTR381RGB").setCheck("var"),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GET+gt.Msg.HTML_COLOUR,"[2]"],[gt.Msg.MIXLY_GET+gt.Msg.MIXLY_IR_STRENGTH,"[1]"],[gt.Msg.MIXLY_GET+gt.Msg.MIXLY_LIGHT_STRENGTH,"[0]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},fc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.HTML_COLOUR+gt.Msg.MSG.catSensor+" UCS12071").setCheck("var"),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GET+"RGB"+gt.Msg.HTML_COLOUR,"0"],[gt.Msg.MIXLY_GET+gt.Msg.MIXLY_RGB_RAW,"1"],[gt.Msg.MIXLY_GET_ENV_LIGHT+gt.Msg.MIXLY_BRIGHTNESS,"2"],[gt.Msg.GET_IR_STRENGTH+gt.Msg.MIXLY_BRIGHTNESS,"3"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Fc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_EXTERN_LIGHTUV+" LTR390UV").setCheck("var"),this.appendDummyInput().appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GET_ENV_LIGHT,"E"],[gt.Msg.MIXLY_GET_ULTRAVIOLET,"U"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Pc={init:function(){this.setColour(ZR),this.appendDummyInput().appendField(gt.Msg.MIXLY_LASER_RANGE+" VL53L0X"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET_DISTANCE+"(mm)"),this.setOutput(!0,Number),this.setInputsInline(!0)}},vc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_TEM_HUM+" SHTC3").setCheck("var"),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[gt.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{temperature:gt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,humidity:gt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},Yc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_TEM_HUM+" AHT21").setCheck("var"),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[gt.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{temperature:gt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,relative_humidity:gt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},Xc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_Altitude+gt.Msg.MSG.catSensor+" HP203X").setCheck("var"),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GETPRESSURE,"pressure()"],[gt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[gt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},yc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_Altitude+gt.Msg.MSG.catSensor+" SPL06_001").setCheck("var"),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GETPRESSURE,"pressure()"],[gt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[gt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},bc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_Altitude+gt.Msg.MSG.catSensor+" MS5611").setCheck("var"),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GETPRESSURE,"pressure()"],[gt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[gt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},xc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_Altitude+gt.Msg.MSG.catSensor+" MS5611").setCheck("var"),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_REF_TO_PRESSURE),this.appendDummyInput().appendField(gt.Msg.MIXLY_CAL_TO_ALTITUDE),this.setOutput(!0,Number),this.setInputsInline(!0)}},Vc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_MIXGOPE_FIELD+gt.Msg.MSG.catSensor+" QMC5883L").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"get_bearing()"],[gt.Msg.MIXLY_TEMPERATURE,"get_temp()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Bc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_shake,"shake"],[gt.Msg.MIXLY_UP,"up"],[gt.Msg.MIXLY_DOWN,"down"],[gt.Msg.MIXLY_LEFT,"left"],[gt.Msg.MIXLY_RIGHT,"right"],[gt.Msg.MIXLY_MICROBIT_face_up,"face up"],[gt.Msg.MIXLY_MICROBIT_face_down,"face down"]]),"gesture"),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("gesture"),i=gt.Msg.MIXLY_MICROBIT_JS_CURRENT,n=gt.Msg.MSG.catSensor,s=gt.Msg.MIXLY_MICROBIT_JS_STATE,_=gt.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:gt.Msg.MIXLY_MICROBIT_shake,up:gt.Msg.MIXLY_UP,down:gt.Msg.MIXLY_DOWN,left:gt.Msg.MIXLY_LEFT,right:gt.Msg.MIXLY_RIGHT,"face up":gt.Msg.MIXLY_MICROBIT_face_up,"face down":gt.Msg.MIXLY_MICROBIT_face_down}[e]+_}))}},Gc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new gt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=gt.Msg.MIXLY_MICROBIT_Direction,s=gt.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":gt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},Uc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_JS_GET+gt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH).appendField(new gt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=gt.Msg.MIXLY_MICROBIT_Direction,s=gt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH;return i+{x:"x",y:"y",z:"z","(x,y,z)":gt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},wc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+gt.Msg.MIXLY_ESP32_SENOR_GYRO).appendField(new gt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=gt.Msg.MIXLY_MICROBIT_Direction,s=gt.Msg.MIXLY_ESP32_SENOR_GYRO;return i+{x:"x",y:"y",z:"z","(x,y,z)":gt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},kc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS)}},Hc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_GETTEMPERATUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_GETTEMPERATUE)}},Wc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_JS_GET_COMPASS).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,"strength"],[gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"heading"]]),"compass"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("compass");return gt.Msg.MIXLY_MICROBIT_JS_GET_COMPASS+{strength:gt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,heading:gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE}[e]}))}},Kc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Reset_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MICROBIT_Reset_COMPASS)}},Jc={init:function(){this.setColour(ZR),this.appendValueInput("SPISUB").appendField(gt.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_SETUP+gt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new gt.FieldDropdown([["RFID","RFID"],["WS-LoRa","Weather"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setFieldValue("RFID","key")}},qc={init:function(){this.setColour(ZR),this.appendDummyInput().appendField("RFID"+gt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(gt.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_RFID_READ_CARD_UID,"id"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"content"],[gt.Msg.MIXLY_ALL,"ALL"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},zc={init:function(){this.setColour(ZR),this.appendDummyInput().appendField("RFID"+gt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RFID_READ_CARD_UID),this.setOutput(!0,Number),this.setInputsInline(!0)}},Qc={init:function(){this.setColour(ZR),this.appendDummyInput().appendField("RFID"+gt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(gt.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},jc={init:function(){this.setColour(ZR),this.appendDummyInput().appendField(gt.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(gt.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(gt.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},$c={init:function(){this.setColour(ZR),this.appendDummyInput().appendField(gt.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(gt.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(gt.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(gt.Msg.RETURN_SUCCESS_OR_NOT),this.setInputsInline(!0),this.setOutput(!0,Boolean)}},Zc={init:function(){this.setColour(ZR),this.appendDummyInput().appendField("RFID"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_RFID_SCAN_OK,"0"],[gt.Msg.MIXLY_RFID_SCAN_NOTAGERR,"1"],[gt.Msg.MIXLY_RFID_SCAN_ERROR,"2"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},tg={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new gt.FieldDropdown([["全部(元组)","data()[0]"],["全部(json)","data()[1]"],["全部(json,附带位置信息)","data()[2]"],["编号","data()[0][0]"],["电量","data()[0][1]"],["风速","data()[0][2]"],["阵风","data()[0][3]"],["风向","data()[0][4]"],["雨量","data()[0][5]"],["温度","data()[0][6]"],["湿度","data()[0][7]"],["光照","data()[0][8]"],["紫外线","data()[0][9]"],["大气压","data()[0][10]"],["信号强度","data()[0][11]"],["信噪比","data()[0][12]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip("返回气象数据元组 data= (设备id,电池状态,风速m/s,阵风m/s,风向°,雨量mm,温度℃,湿度%,光照Lux,UVI,大气压Pa,信号强度dB,信噪比dB)")}},eg={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_SERIAL_AVAILABLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},ig={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendValueInput("BASE").appendField("以主题"),this.appendDummyInput("").appendField("串口发送至MixIO"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},ng={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.itemCount_=2,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new gt.icons.MutatorIcon(["weather_set_label_item"],this)),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip()},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("weather_set_label_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n>6),i.push(128|63&_)):(2048<=_&&_<=55295||57344<=_&&_<=65535)&&(n+=3,i.push(224|15&_>>12),i.push(128|63&_>>6),i.push(128|63&_))}for(s=0;s>8,255&n].concat(i)}(t,!0),i="",n=0;n=0?"0x700000":["mixgo_sant"].indexOf(n)>=0?"0xE00000":"0x3A0000","32x12 Matrix"==o?(e.definitions_.import_matrix32x12="import matrix32x12",i=s+" = matrix32x12.Matrix("+_+", font_address="+p+")\n"):"16x8 Matrix"==o&&(e.definitions_.import_matrix16x8="import matrix16x8",i=s+" = matrix16x8.Matrix("+_+")\n"),i},UP=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},wP=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+", center="+this.getFieldValue("center")+")\n"},kP=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},HP=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", delay="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},WP=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},KP=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", speed="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+")\n"},JP=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},qP=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("OP")+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")\n"},zP=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},QP=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".pixel(int("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+"), int("+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+"), "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"+i+".show()\n"},jP=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".get_brightness()",e.ORDER_ATOMIC]},$P=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".set_brightness("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+")\n"},ZP=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("image"),e.ORDER_ATOMIC]},tv=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".map_"+t.getFieldValue("OP")+"("+e.valueToCode(t,"A",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"B",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},ev=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".map_invert("+e.valueToCode(t,"A",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},iv=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC);return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = ssd1306.SSD1306_I2C("+e.valueToCode(this,"row",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"column",e.ORDER_ATOMIC)+", "+i+")\n"},nv=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_str("+(e.valueToCode(this,"Text_line1",e.ORDER_ASSIGNMENT)||"''")+", "+(e.valueToCode(this,"Text_line2",e.ORDER_ASSIGNMENT)||"''")+", "+(e.valueToCode(this,"Text_line3",e.ORDER_ASSIGNMENT)||"''")+", "+(e.valueToCode(this,"Text_line4",e.ORDER_ASSIGNMENT)||"''")+")\n"},sv=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_line("+e.valueToCode(this,"x1",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"y1",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"x2",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"y2",e.ORDER_ATOMIC)+", 1)\n"},_v=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),_=e.valueToCode(this,"width",e.ORDER_ATOMIC),o=e.valueToCode(this,"height",e.ORDER_ATOMIC),p="TRUE"==this.getFieldValue("fill")?"True":"False",a=this.getFieldValue("OP");switch(p){case"True":return i+".show_fill_rect("+n+", "+s+", "+_+", "+o+", "+a+")\n";case"False":return i+".show_rect("+n+", "+s+", "+_+", "+o+", "+a+")\n"}},ov=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),_=e.valueToCode(this,"length",e.ORDER_ATOMIC);return i+".show_"+this.getFieldValue("direction")+"("+n+", "+s+", "+_+", 1)\n"},pv=function(t,e){return["ON"==this.getFieldValue("ONOFF")?"1":"0",e.ORDER_ATOMIC]},av=function(t,e){e.definitions_.import_matrix="import matrix";var i=t.getFieldValue("OP");return[e.valueToCode(t,"img",e.ORDER_ATOMIC)+".shift_"+i+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},uv=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return e.definitions_.import_ssd1306="import ssd1306",e.definitions_.import_machine="import machine",i+".show_fill("+this.getFieldValue("key")+")\n"},rv=function(t,e){return["matrix.Image."+this.getFieldValue("ANIMATION"),e.ORDER_ATOMIC]},lv=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),_=e.valueToCode(this,"r",e.ORDER_ATOMIC),o="TRUE"==this.getFieldValue("fill")?"True":"False",p=this.getFieldValue("OP");switch(o){case"True":return i+".show_fill_circle("+n+", "+s+", "+_+", "+p+")\n";case"False":return i+".show_circle("+n+", "+s+", "+_+", "+p+")\n"}},dv=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var n=e.valueToCode(this,"x0",e.ORDER_ATOMIC),s=e.valueToCode(this,"y0",e.ORDER_ATOMIC),_=e.valueToCode(this,"x1",e.ORDER_ATOMIC),o=e.valueToCode(this,"y1",e.ORDER_ATOMIC),p=e.valueToCode(this,"x2",e.ORDER_ATOMIC),a=e.valueToCode(this,"y2",e.ORDER_ATOMIC),u="TRUE"==this.getFieldValue("fill")?"True":"False",r=this.getFieldValue("OP");switch(u){case"True":return i+".show_fill_triangle("+n+", "+s+", "+_+", "+o+", "+p+", "+a+", "+r+")\n";case"False":return i+".show_triangle("+n+", "+s+", "+_+", "+o+", "+p+", "+a+", "+r+")\n"}},Iv=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_bitmap("+e.valueToCode(this,"START_X",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"START_Y",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"bitmap_name",e.ORDER_ATOMIC)+","+e.valueToCode(this,"WIDTH",e.ORDER_ATOMIC)+","+e.valueToCode(this,"HEIGHT",e.ORDER_ATOMIC)+")\n"},Tv=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_pixel("+e.valueToCode(this,"POS_X",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"POS_Y",e.ORDER_ATOMIC)+")\n"},Mv=function(t,e){var i,n=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),s=e.valueToCode(this,"CLK",e.ORDER_ATOMIC),_=e.valueToCode(this,"DIO",e.ORDER_ATOMIC),o=this.getFieldValue("key");return"TM1650"==o?(e.definitions_.import_tm1650="import tm1650",i=n+" = tm1650."+o+"(clk="+s+",dio="+_+")\n"):"TM1637"==o&&(e.definitions_.import_tm1637="import tm1637",i=n+" = tm1637."+o+"(clk="+s+",dio="+_+")\n"),i},hv=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+"."+this.getFieldValue("STAT")+"()\n"},mv=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".shownum("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},Ev=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".showDP("+e.valueToCode(this,"NO",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"},Ov=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".intensity("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},Rv=function(t,e){e.definitions_.import_st7789="import st7789";var i=Ct.Boards.getSelectedBoardKey().split(":")[2],n="";n=["mpython","mixgo_pe","mixgo_nova"].indexOf(i)>=0?"0x700000":["mixgo_sant"].indexOf(i)>=0?"0xE00000":"0x3A0000";var s=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),_=e.valueToCode(this,"SPISUB",e.ORDER_ATOMIC),o=e.valueToCode(this,"PINCS",e.ORDER_ATOMIC),p=e.valueToCode(this,"PINDC",e.ORDER_ATOMIC);return s+" = st7789.ST7789("+_+", "+e.valueToCode(this,"WIDTH",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"HEIGHT",e.ORDER_ATOMIC)+", dc_pin="+p+", cs_pin="+o+", rotation="+this.getFieldValue("rotate")+", font_address="+n+")\n"},cv=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".image("+n+", x="+s+", y="+_+", size="+o+", color="+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=i+".image("+n+", x= "+s+",y="+_+", size="+o+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},gv=function(t,e){var i="0x"+this.getFieldValue("COLOR").slice(1);return["0x"+((16252928&i)>>8|(64512&i)>>5|(255&i)>>3).toString(16),e.ORDER_ATOMIC]},Cv=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),u=this.getFieldValue("center");if("0x"==a.slice(0,2))var r=i+".shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+u+", color="+a+")\n";else{const t=a.match(/\d+/g);var l="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r=i+".shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+u+", color=0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+")\n"}return r},Sv=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==o.slice(0,2))var p=i+".frame("+n+", size="+s+", delay="+_+", color="+o+")\n";else{const t=o.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p=i+".frame("+n+", size="+s+", delay="+_+", color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},Av=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u=i+".scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color="+a+")\n";else{const t=a.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u=i+".scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},Lv=function(t,e){return e.definitions_.import_st7789="import st7789",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".fill(st7789."+this.getFieldValue("key")+")\n"},Nv=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"x1",e.ORDER_ATOMIC),s=e.valueToCode(this,"y1",e.ORDER_ATOMIC),_=e.valueToCode(this,"x2",e.ORDER_ATOMIC),o=e.valueToCode(this,"y2",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".line("+n+", "+s+", "+_+", "+o+", color="+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=i+".line("+n+", "+s+", "+_+", "+o+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},Dv=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC),s=this.getFieldValue("key"),_=e.valueToCode(this,"ADDR",e.ORDER_ATOMIC);return e.definitions_.import_i2clcd="import i2clcd",i+" = i2clcd.LCD("+n+", lcd_width="+s+", i2c_addr="+_+")\n"},fv=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", column="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", line="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+",center = "+this.getFieldValue("center")+")\n"},Fv=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".print("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", column="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", line="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", delay="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},Pv=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".backlight("+this.getFieldValue("key")+")\n"},vv=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".clear()\n"},Yv=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC),s=e.valueToCode(this,"ADDR",e.ORDER_ATOMIC),_=this.getFieldValue("driver"),o=Ct.Boards.getSelectedBoardKey().split(":")[2],p="";return p=["mpython","mixgo_pe","mixgo_nova"].indexOf(o)>=0?"0x700000":["mixgo_sant"].indexOf(o)>=0?"0xE00000":"0x3A0000",e.definitions_.import_oled128x64="import oled128x64",i+" = oled128x64.OLED("+n+", address="+s+", font_address="+p+", types="+_+")\n"},Xv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".image("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},yv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".image("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", x="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", y="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+")\n"},bv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},xv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", x="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", y="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+", center="+this.getFieldValue("center")+")\n"},Vv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},Bv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+", delay="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},Gv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},Uv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", y="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+", speed="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+")\n"},wv=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},kv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("OP")+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")\n"},Hv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},Wv=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".pixel(int("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+"), int("+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+"), "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"+i+".show()\n"},Kv=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),_=e.valueToCode(t,"w",e.ORDER_ATOMIC),o=e.valueToCode(t,"h",e.ORDER_ATOMIC),p=t.getFieldValue("state");return i+"."+t.getFieldValue("shape")+"("+n+", "+s+", "+_+", "+o+", "+p+")\n"+i+".show()\n"},Jv=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),_=e.valueToCode(t,"length",e.ORDER_ATOMIC),o=t.getFieldValue("state");return i+"."+("0"==t.getFieldValue("dir_h_v")?"v":"h")+"line("+n+", "+s+", "+_+", "+o+")\n"+i+".show()\n"},qv=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".line("+e.valueToCode(t,"x1",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"y1",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"x2",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"y2",e.ORDER_ATOMIC)+", "+t.getFieldValue("state")+")\n"+i+".show()\n"},zv=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT);if("Python ESP32-S3"===Ct.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var s="onboard_tft.image("+(n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT))+", color=0xffff,sync="+(e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True")+")\n"}else if("educore"==i){e.definitions_["import_"+i+"_oled"]="from "+i+" import oled";s="oled.print("+n+")\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";s="onboard_matrix.shows("+n+")\n"}return s},Qv=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),_=this.getFieldValue("center");if("mixgo_sant"==i||"mixgo_nova"==i||"mixgo_soar"==i)return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.shows("+n+", space="+s+", center="+_+",sync="+(e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True")+")\n";if("educore"==i){e.definitions_["import_"+i+"_oled"]="from "+i+" import oled"}return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.shows("+n+", space="+s+", center="+_+")\n"},jv=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var s="onboard_oled.frame("+n+")\n"}else if("Python ESP32-S3"===Ct.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";s="onboard_tft.frame("+(n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT))+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";s="onboard_matrix.frame("+n+")\n"}return s},$v=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var _="onboard_oled.frame("+(n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT))+", delay="+s+")\n"}else if("Python ESP32-S3"===Ct.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";_="onboard_tft.frame("+n+", size=5 , delay="+s+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";_="onboard_matrix.frame("+n+", delay="+s+")\n"}return _},Zv=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var n="onboard_oled.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"}else if("Python ESP32-S3"===Ct.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";n="onboard_tft.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"}return n},tY=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var o="onboard_oled.scroll("+n+", speed="+s+", space="+_+")\n"}else if("Python ESP32-S3"===Ct.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";o="onboard_tft.scroll("+n+", y=0, size=5, speed="+s+", space="+_+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";o="onboard_matrix.scroll("+n+", speed="+s+", space="+_+")\n"}return o},eY=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.scroll_way("+this.getFieldValue("way")+")\n"},iY=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u="onboard_tft.scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color="+a+")\n";else{const t=a.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},nY=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix",["onboard_matrix."+t.getFieldValue("image"),e.ORDER_ATOMIC]},sY=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];if("Python ESP32-S3"===Ct.JSFuncs.getPlatform()){const i=t.getFieldValue("image").split(".");if(2!==i.length)throw Error("pin value error");e.definitions_[`import_${i[0]}_${i[1]}`]=`from ${i[0]} import ${i[1]}`;var n=i[1]}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix."+t.getFieldValue("image")}return[n,e.ORDER_ATOMIC]},_Y=function(t,e){var i={"#000000":"0","#ff0000":"1"};function n(t){let e="";if(t.length%2==1&&(t="0"+t),t.length<8){let e=8-t.length;for(let i=1;i<=e;i++)t="0"+t}for(let i=1;i<=t.length;i++)i%2==0&&i!==t.length?e=e+t[i-1]+",0x":e+=t[i-1];return"0x"+e}let s=[];for(let e=0;e<12;e++){let _="",o=0,p=0;for(let n=0;n<32;n++)n<8?p=7-n:n<16?p=23-n:n<24?p=39-n:n<32&&(p=55-n),o+=Number(i[t.getFieldValue(e+"-"+n)])*Math.pow(2,31-p);_+=n(o.toString(16)),s.unshift(_)}let _=[];for(let t=0;t>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},kY=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.picture("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+","+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+","+e.valueToCode(this,"direct",e.ORDER_ASSIGNMENT)+")\n"},HY=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=this.getFieldValue("center"),u=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True",r=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==r.slice(0,2))var l="onboard_tft.shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+a+", color="+r+",sync="+u+")\n";else{const t=r.match(/\d+/g);var d="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");l="onboard_tft.shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+a+", color=0x"+((16252928&d)>>8|(64512&d)>>5|(255&d)>>3).toString(16)+",sync="+u+")\n"}return l},WY=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==o.slice(0,2))var p="onboard_tft.frame("+n+", size="+s+", delay="+_+", color="+o+")\n";else{const t=o.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p="onboard_tft.frame("+n+", size="+s+", delay="+_+", color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},KY=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),_=e.valueToCode(t,"w",e.ORDER_ATOMIC),o=e.valueToCode(t,"h",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=t.getFieldValue("shape"),u=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var r="onboard_tft."+a+"("+n+", "+s+", "+_+", "+o+", "+p+",sync="+u+")\n";else{const t=p.match(/\d+/g);var l="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r="onboard_tft."+a+"("+n+", "+s+", "+_+", "+o+", 0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+",sync="+u+")\n"}return r},JY=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),_=e.valueToCode(t,"length",e.ORDER_ATOMIC),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),p=t.getFieldValue("dir_h_v"),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==o.slice(0,2))var u="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+_+", "+o+",sync="+a+")\n";else{const t=o.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+_+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},qY=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x1",e.ORDER_ATOMIC),s=e.valueToCode(t,"y1",e.ORDER_ATOMIC),_=e.valueToCode(t,"x2",e.ORDER_ATOMIC),o=e.valueToCode(t,"y2",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var u="onboard_tft.line("+n+", "+s+", "+_+", "+o+", "+p+",sync="+a+")\n";else{const t=p.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.line("+n+", "+s+", "+_+", "+o+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},zY=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft",["onboard_tft.pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},QY=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),o=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==_.slice(0,2))var p="onboard_tft.pixel(int("+n+"), int("+s+"), "+_+",sync="+o+")\n";else{const t=_.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p="onboard_tft.pixel(int("+n+"), int("+s+"), 0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+",sync="+o+")\n"}return p},jY=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"VAR",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==n.slice(0,2))var _="onboard_tft.fill("+n+",sync="+s+")\n";else{const t=n.match(/\d+/g);var o="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");_="onboard_tft.fill(0x"+((16252928&o)>>8|(64512&o)>>5|(255&o)>>3).toString(16)+",sync="+s+")\n"}return _},$Y=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=o+"=Clock("+n+", "+s+", "+_+", "+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=o+"=Clock("+n+", "+s+", "+_+", 0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},ZY=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".set_rtctime()\n"},tX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".set_time("+e.valueToCode(this,"h",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"m",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"s",e.ORDER_ASSIGNMENT)+")\n"},eX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".draw_clock()\n"},iX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==s.slice(0,2))var _=n+".clear("+s+")\n";else{const t=s.match(/\d+/g);var o="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");_=n+".clear(0x"+((16252928&o)>>8|(64512&o)>>5|(255&o)>>3).toString(16)+")\n"}return _},nX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),_=e.valueToCode(t,"r",e.ORDER_ATOMIC),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),p=t.getFieldValue("shape"),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==o.slice(0,2))var u="onboard_tft.ellipse("+n+", "+s+", "+_+", "+_+", "+o+", "+p+",sync="+a+")\n";else{const t=o.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.ellipse("+n+", "+s+", "+_+", "+_+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+", "+p+",sync="+a+")\n"}return u},sX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];if("Python ESP32-S3"===Ct.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n="onboard_tft.pointern(angle="+e.valueToCode(this,"angle",e.ORDER_ASSIGNMENT)+")\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.pointern(angle="+e.valueToCode(this,"angle",e.ORDER_ASSIGNMENT)+")\n"}return n},_X=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"angle",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==s.slice(0,2));else{const t=s.match(/\d+/g);var _="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");((16252928&_)>>8|(64512&_)>>5|(255&_)>>3).toString(16)}return"onboard_tft.pointern(angle="+n+")\n"},oX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var u="onboard_tft.texts("+n+", x="+s+", y="+_+", size="+o+", color="+p+",sync="+a+")\n";else{const t=p.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.texts("+n+", x="+s+", y="+_+", size="+o+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},pX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.qrcode("+e.valueToCode(this,"direct",e.ORDER_ATOMIC)+")\n"},aX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True",u=this.getFieldValue("correct");if("0x"==p.slice(0,2))var r="onboard_tft.qrcode("+n+",x="+s+",y="+_+",size="+o+",correct="+u+",color="+p+",sync="+a+")\n";else{const t=p.match(/\d+/g);var l="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r="onboard_tft.qrcode("+n+",x="+s+",y="+_+",size="+o+",correct="+u+",color=0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+",sync="+a+")\n"}return r},uX=zv,rX=TY,lX=lY,dX=TY,IX=MY,TX=pY,MX=function(t,e){var i=this.getFieldValue("path"),n=this.getFieldValue("module");return e.definitions_["import_"+i+"_"+n]="from "+i+" import "+n,""},hX=function(t,e){var i=this.getFieldValue("module");return e.definitions_["import_"+i]="import "+i,""},mX=function(t,e){for(var i=this.getFieldValue("NAME"),n=new Array(this.itemCount_),s=0;s {\n"+e.statementToCode(this,"do")+"})\n"},DG=function(){return"control.reset()\n"},fG=function(t,e){return"control.waitMicros("+(e.valueToCode(this,"data",e.ORDER_ATOMIC)||Ct.Profile.default.serial)+")\n"},FG=function(t,e){return"control.raiseEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||Ct.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||Ct.Profile.default.serial)+")\n"},PG=function(t,e){return"control.onEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||Ct.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||Ct.Profile.default.serial)+", () => {\n"+e.statementToCode(this,"do")+")\n"},vG=function(t,e){return["control.eventTimestamp()",e.ORDER_ATOMIC]},YG=function(t,e){return["control.eventValue()",e.ORDER_ATOMIC]},XG=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},yG=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},bG=function(t,e){return["control.deviceName()",e.ORDER_ATOMIC]},xG=function(t,e){return["control.deviceSerialNumber()",e.ORDER_ATOMIC]},VG=function(t,e){return"panic("+(e.valueToCode(this,"STATUS_CODE",e.ORDER_ATOMIC)||"1000")+")\n"},BG=function(t,e){switch(e.definitions_.import_time="import time",this.getFieldValue("Time")){case"ms":return["time.ticks_ms()",e.ORDER_ATOMIC];case"us":return["time.ticks_us()",e.ORDER_ATOMIC]}},GG=function(){return"while True:\n pass\n"},UG=function(t,e){return e.definitions_.import_mixgo="import mixgo","reset()\n"},wG=function(t,e){return e.definitions_.import_os="import os","os.uname()"},kG=function(t,e){e.definitions_.import_time="import time";var i=e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},HG=function(t,e){e.definitions_.import_time="import time";var i=e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},WG=function(t,e){return e.definitions_.import_mixgo="import mixgo",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+".init(period="+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode=Timer."+(e.valueToCode(this,"mode",e.ORDER_NONE)||"None")+", callback="+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},KG=function(t,e){return e.definitions_.import_machine="import machine",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+" = machine.Timer("+(e.valueToCode(this,"PIN",e.ORDER_NONE)||"None")+",period = "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode=machine.Timer."+this.getFieldValue("mode")+", callback="+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},JG=function(t,e){return e.definitions_.import_time="import time",["time.ticks_diff("+(e.valueToCode(this,"END",e.ORDER_NONE)||"0")+", "+(e.valueToCode(this,"START",e.ORDER_NONE)||"0")+")",e.ORDER_ATOMIC]},qG=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return e.definitions_.import_machine="import machine",i+" = machine.Timer(0)\n"},zG=function(t,e){return e.definitions_.import_machine="import machine",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+".init(period = "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode=machine.Timer."+this.getFieldValue("mode")+", callback="+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},QG=function(t,e){return e.definitions_.import_machine="import machine","wdt = machine.WDT(timeout= "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+")\n"},jG=function(t,e){e.definitions_.import_machine="import machine";return"wdt.feed()\n"},$G=function(t,e){e.definitions_.import_machine="import machine";return"machine.reset()\n"},ZG=function(t,e){e.definitions_.import_bitbot_onboard_bot51="from bitbot import onboard_bot51";return"onboard_bot51.shutdown()\n"},tU=qG,eU=zG,iU=JG,nU=kG,sU=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},_U=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"day",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},oU=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api.weather_hourly("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"hour",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},pU=function(t,e){return e.definitions_["import_seniverse_api*"]="from seniverse_api import *",this.getFieldValue("mode")+".request("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+")\n"},aU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Weather_now.analysis()";else n='Weather_now.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},uU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Air_now.analysis()";else n='Air_now.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},rU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Weather_alarm.analysis()";else n='Weather_alarm.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},lU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Life_suggestion.analysis()";else n='Life_suggestion.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},dU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Tide_daily.analysis()";else n='Tide_daily.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},IU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Location_search.analysis()";else n='Location_search.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},TU=function(t,e){return e.definitions_["import_seniverse_api*"]="from seniverse_api import *",this.getFieldValue("mode")+".request("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"day",e.ORDER_ATOMIC)+")\n"},MU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Weather_daily.analysis("+n+")";else s="Weather_daily.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},hU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Air_daily.analysis("+n+")";else s="Air_daily.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},mU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Geo_sun.analysis("+n+")";else s="Geo_sun.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},EU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Geo_moon.analysis("+n+")";else s="Geo_moon.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},OU='
\r\n
{{-d.title}}
\r\n
\r\n {{# if (d.message) { }}\r\n

\r\n {{-d.message}}\r\n

\r\n {{# } }}\r\n
\r\n
',{XML:RU}=Ct,cU=RU.render(OU,{title:"烧录速度",message:"要选择烧录速度,请更改“Burn Speed”,此值将用于向设备烧录代码。如果在用较高的烧录速度时出现问题,请尝试减小此值,这可能是由于外部串行到USB芯片的限制。"}),{XML:gU}=Ct,CU=gU.render(OU,{title:"燒錄速度",message:"要選擇燒錄速度,請更改“Burn Speed”,此值將用於向設備燒錄程式碼。如果在用較高的燒錄速度時出現問題,請嘗試减小此值,這可能是由於外部串列到USB晶片的限制。"}),{XML:SU}=Ct,AU=SU.render(OU,{title:"Burn Speed",message:"To select the flashing speed, change the Burn Speed. This value will be used for flashing the code to the device. If you have issues while flashing the device at high speed, try to decrease this value. This could be due to the external serial-to-USB chip limitations."}),LU=new gt.Generator("Python");LU.INDENT=" ",LU.addReservedWords("False,None,True,and,as,assert,break,class,continue,def,del,elif,else,except,exec,finally,for,from,global,if,import,in,is,lambda,nonlocal,not,or,pass,print,raise,return,try,while,with,yield,NotImplemented,Ellipsis,__debug__,quit,exit,copyright,license,credits,ArithmeticError,AssertionError,AttributeError,BaseException,BlockingIOError,BrokenPipeError,BufferError,BytesWarning,ChildProcessError,ConnectionAbortedError,ConnectionError,ConnectionRefusedError,ConnectionResetError,DeprecationWarning,EOFError,Ellipsis,EnvironmentError,Exception,FileExistsError,FileNotFoundError,FloatingPointError,FutureWarning,GeneratorExit,IOError,ImportError,ImportWarning,IndentationError,IndexError,InterruptedError,IsADirectoryError,KeyError,KeyboardInterrupt,LookupError,MemoryError,ModuleNotFoundError,NameError,NotADirectoryError,NotImplemented,NotImplementedError,OSError,OverflowError,PendingDeprecationWarning,PermissionError,ProcessLookupError,RecursionError,ReferenceError,ResourceWarning,RuntimeError,RuntimeWarning,StandardError,StopAsyncIteration,StopIteration,SyntaxError,SyntaxWarning,SystemError,SystemExit,TabError,TimeoutError,TypeError,UnboundLocalError,UnicodeDecodeError,UnicodeEncodeError,UnicodeError,UnicodeTranslateError,UnicodeWarning,UserWarning,ValueError,Warning,ZeroDivisionError,_,__build_class__,__debug__,__doc__,__import__,__loader__,__name__,__package__,__spec__,abs,all,any,apply,ascii,basestring,bin,bool,buffer,bytearray,bytes,callable,chr,classmethod,cmp,coerce,compile,complex,copyright,credits,delattr,dict,dir,divmod,enumerate,eval,exec,execfile,exit,file,filter,float,format,frozenset,getattr,globals,hasattr,hash,help,hex,id,input,int,intern,isinstance,issubclass,iter,len,license,list,locals,long,map,max,memoryview,min,next,object,oct,open,ord,pow,print,property,quit,range,raw_input,reduce,reload,repr,reversed,round,set,setattr,slice,sorted,staticmethod,str,sum,super,tuple,type,unichr,unicode,vars,xrange,zip"),LU.ORDER_ATOMIC=0,LU.ORDER_COLLECTION=1,LU.ORDER_STRING_CONVERSION=1,LU.ORDER_UNARY_POSTFIX=1,LU.ORDER_UNARY_PREFIX=2,LU.ORDER_MEMBER=2.1,LU.ORDER_FUNCTION_CALL=2.2,LU.ORDER_EXPONENTIATION=3,LU.ORDER_UNARY_SIGN=4,LU.ORDER_BITWISE_NOT=4,LU.ORDER_MULTIPLICATIVE=5,LU.ORDER_ADDITIVE=6,LU.ORDER_BITWISE_SHIFT=7,LU.ORDER_BITWISE_AND=8,LU.ORDER_BITWISE_XOR=9,LU.ORDER_BITWISE_OR=10,LU.ORDER_RELATIONAL=11,LU.ORDER_EQUALITY=11,LU.ORDER_LOGICAL_NOT=12,LU.ORDER_LOGICAL_AND=13,LU.ORDER_LOGICAL_OR=14,LU.ORDER_ASSIGNMENT=14,LU.ORDER_CONDITIONAL=15,LU.ORDER_LAMBDA=16,LU.ORDER_NONE=99,LU.ORDER_OVERRIDES=[[LU.ORDER_FUNCTION_CALL,LU.ORDER_MEMBER],[LU.ORDER_FUNCTION_CALL,LU.ORDER_FUNCTION_CALL],[LU.ORDER_MEMBER,LU.ORDER_MEMBER],[LU.ORDER_MEMBER,LU.ORDER_FUNCTION_CALL]],LU.init=function(){LU.PASS=this.INDENT+"pass\n",LU.definitions_=Object.create(null),LU.functionNames_=Object.create(null),LU.setups_=Object.create(null),LU.loops_=Object.create(null),LU.codeEnd_=Object.create(null),LU.variableDB_?LU.variableDB_.reset():LU.variableDB_=new Nt(LU.RESERVED_WORDS_)},LU.finish=function(t){""!==t&&(t=(t=t.replace(/\n/g,"\n")).replace(/\n\s+$/,"\n"));var e=[],i=[],n=[];for(var s in this.definitions_){var _=this.definitions_[s];0===s.indexOf("import")?e.push(_):0===s.indexOf("var_declare")?i.push(_):n.push(_)}e.length&&e.push("\n"),i.length&&i.push("\n"),n.length&&n.push("\n");var o=[];for(var s in LU.functions_)o.push(LU.functions_[s]);o.length&&o.push("\n");var p=[];for(var s in LU.setups_)p.push(LU.setups_[s]);p.length&&p.push("\n");var a=[];for(var s in LU.loops_)a.push(LU.loops_[s]);var u=[];for(var s in LU.codeEnd_)u.push(LU.codeEnd_[s]);0!==u.length&&u.push("\n");let r="";return r=a.length>0?e.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+t+"while True:\n"+a.join("")+u.join("\n"):e.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+t+u.join("\n"),r},LU.scrubNakedValue=function(t){return t+"\n"},LU.quote_=function(t){var e="'";return-1!==(t=t.replace(/\\/g,"\\\\").replace(/\n/g,"\\\n")).indexOf("'")&&(-1===t.indexOf('"')?e='"':t=t.replace(/'/g,"\\'")),e+t+e},LU.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},LU.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(_=t.getCommentText())&&(_=gt.utils.string.wrap(_,LU.COMMENT_WRAP-3),n+=LU.prefixLines(_+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const NU={};NU.mpython={description:"MicroPython[EDUCORE Edu Core]",digital_pin:Ct.Profile.generate(["0-10","18"]),input_pin:Ct.Profile.generate(["0-10","18"]),output_pin:Ct.Profile.generate(["0-10","18"]),pwm_input:Ct.Profile.generate(["0-10","18"],"pwm","pwm"),analog_input:Ct.Profile.generate(["0-4"],"adc","adc"),pwm_output:Ct.Profile.generate(["0-10","18"],"pwm","pwm"),analog_output:Ct.Profile.generate(["0-4"],"adc","adc"),espnow_channel:Ct.Profile.generate(["1-13"]),haskylens_model:Ct.Profile.generate(["0-4"]),digital:Ct.Profile.generate(["0-10","18"],"pin","pin"),pwm_pin:Ct.Profile.generate(["0-10","18"]),pwm:Ct.Profile.generate(["0-10","18"],"pwm","pwm"),analog_pin:Ct.Profile.generate(["0-4"]),analog:Ct.Profile.generate(["0-4"],"adc","adc"),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:Ct.Profile.generate(["0-4"]),exlcdh:Ct.Profile.generate(["0-11"]),exlcdv:Ct.Profile.generate(["0-7"]),brightness:Ct.Profile.generate(["0-9"]),tts_voice:Ct.Profile.generate(["0-16"]),tts_builtin_music:Ct.Profile.generate(["0-47"]),tts_bgmusic:Ct.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["ANGRY","onboard_matrix.ANGRY"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["DOOR_OPEN","onboard_matrix.DOOR_OPEN"],["DOOR_OPENING","onboard_matrix.DOOR_OPENING"],["DOOR_CLOSE","onboard_matrix.DOOR_CLOSE"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["BIRTHDAY","onboard_music.BIRTHDAY"],["BA_DING","onboard_music.BA_DING"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]},NU["ESP32C2 Generic(2M)"]={description:"MicroPython[ESP32C3 MixGo CC]",digital_pin:Ct.Profile.generate(["0-11","18-21"]),input_pin:Ct.Profile.generate(["0-11","18-21"]),output_pin:Ct.Profile.generate(["0-11","18-21"]),pwm_input:Ct.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_input:Ct.Profile.generate(["0-5"],"adc","adc"),pwm_output:Ct.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_output:Ct.Profile.generate(["0-5"],"adc","adc"),espnow_channel:Ct.Profile.generate(["1-13"]),haskylens_model:Ct.Profile.generate(["0-4"]),digital:Ct.Profile.generate(["0-11","18-21"],"pin","pin"),pwm_pin:Ct.Profile.generate(["0-11","18-21"]),pwm:Ct.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_pin:Ct.Profile.generate(["0-5"]),analog:Ct.Profile.generate(["0-5"],"adc","adc"),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:Ct.Profile.generate(["0-4"]),exlcdh:Ct.Profile.generate(["0-31"]),exlcdv:Ct.Profile.generate(["0-11"]),brightness:Ct.Profile.generate(["0-9"]),tts_voice:Ct.Profile.generate(["0-16"]),tts_builtin_music:Ct.Profile.generate(["0-47"]),tts_bgmusic:Ct.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]};const DU=NU,fU=20,FU={init:function(){this.setColour(fU),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_HIGH,"HIGH"],[gt.Msg.MIXLY_LOW,"LOW"]]),"BOOL"),this.setOutput(!0,Boolean),this.setTooltip(gt.Msg.MIXLY_ESP32_INOUT_HIGHLOW_TOOLTIP)}},PU={init:function(){this.setColour(fU),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_Digital_PINMODEOUT).setCheck(Number),this.appendValueInput("STAT").appendField(gt.Msg.MIXLY_STAT).setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_INOUT_DIGITAL_WRITE_TOOLTIP)}},vU={init:function(){this.setColour(fU),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(gt.Msg.MIXLY_Digital_PINMODEIN).setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_MACHINE_VALUE),this.setInputsInline(!0),this.setOutput(!0,[Boolean,Number]),this.setTooltip(gt.Msg.MIXLY_ESP32_INOUT_DIGITAL_READ_TOOLTIP)}},YU={init:function(){this.setColour(fU),this.appendValueInput("PIN",Number).appendField("DAC"+gt.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendValueInput("NUM",Number).appendField(gt.Msg.MIXLY_VALUE2).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(gt.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_TOOLTIP)}},XU={init:function(){this.setColour(fU),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_JS_PERIOD_MIL).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_mSecond,"period"],[gt.Msg.MIXLY_uSecond,"period_microseconds"]]),"key"),this.appendValueInput("NUM",Number).appendField(gt.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(gt.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_SET_TOOLTIP)}},yU={init:function(){this.setColour(fU),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_Analog_PINMODEIN).setCheck(Number),this.appendDummyInput("").appendField(gt.Msg.MIXLY_ESP32_REF_VOLTAGE+gt.Msg.MIXLY_STAT).appendField(new gt.FieldDropdown([["3.3V","machine.ADC.ATTN_11DB"],["2.2V","machine.ADC.ATTN_6DB"],["1.5V","machine.ADC.ATTN_2_5DB"],["1.2V","machine.ADC.ATTN_0DB"]]),"atten"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(gt.Msg.MIXLY_ESP32_INOUT_ANALOG_ATTEN_TOOLTIP)}},bU={init:function(){this.setColour(fU),this.appendValueInput("pin").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(gt.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_MACHINE_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_INOUT_PIN_PRESSED_TOOLTIP)}},xU={init:function(){this.setColour(20),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_ATTACHINTERRUPT_PIN).setCheck(Number),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MODE).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[gt.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[gt.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(gt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_INOUT_PIN_ATTACHINTERRUPT_TOOLTIP)}},VU={init:function(){this.setColour(20),this.appendDummyInput().appendField(gt.Msg.MIXLY_SETUP).appendField(new gt.FieldTextInput("pin#"),"PIN_OBJ"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROPYTHON_AS).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_Digital_PINMODEOUT,"machine.Pin.OUT"],[gt.Msg.MIXLY_Digital_PINMODEIN,"machine.Pin.IN"],[gt.Msg.MIXLY_PINMODEPULLUP,"machine.Pin.IN, machine.Pin.PULL_UP"],[gt.Msg.MIXLY_PINMODEPULLDOWN,"machine.Pin.IN, machine.Pin.PULL_DOWN"]]),"MODE"),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_INOUT_DIGITAL_INIT_TOOLTIP)},getVars:function(){return["pin#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(t,e){gt.Names.equals(t,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(e,"PIN_OBJ")}},BU={init:function(){this.setColour(fU),this.appendDummyInput("").appendField(gt.Msg.MIXLY_SETUP).appendField(new gt.FieldTextInput("dac#"),"PIN_OBJ").appendField(gt.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField("DAC"+gt.Msg.MIXLY_Analog_PINMODEOUT),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(gt.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_INIT_TOOLTIP)},getVars:function(){return["dac#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(t,e){gt.Names.equals(t,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(e,"PIN_OBJ")}},GU={init:function(){this.setColour(fU),this.appendDummyInput("").appendField(gt.Msg.MIXLY_SETUP).appendField(new gt.FieldTextInput("tc#"),"PIN_OBJ").appendField(gt.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField(gt.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(gt.Msg.MIXLY_ESP32_INOUT_PIN_PRESSED_INIT_TOOLTIP)},getVars:function(){return["tc#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(t,e){gt.Names.equals(t,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(e,"PIN_OBJ")}},UU={init:function(){this.setColour(fU),this.appendValueInput("PIN",Number).appendField("PWM"+gt.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendValueInput("NUM",Number).appendField(gt.Msg.MIXLY_FREQUENCY+gt.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(gt.Msg.MIXLY_ESP32_INOUT_PWM_ANALOG_WRITE_SET_FREQ_TOOLTIP)}},wU=VU,kU=GU,HU=bU,WU=xU,KU=40,JU={init:function(){if("mixgo_me"==Ct.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(KU),this.appendDummyInput("").appendField(t).appendField(gt.Msg.MIXLY_TEM_HUM+" AHT21").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[gt.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key");return{temperature:gt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,relative_humidity:gt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[t]}))}},qU={init:function(){if("mixgo_me"==Ct.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(KU),this.appendDummyInput("").appendField(t).appendField(gt.Msg.MIXLY_Altitude+gt.Msg.MSG.catSensor+" HP203X").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GETPRESSURE,"pressure()"],[gt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[gt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},zU={init:function(){if("mixgo_me"==Ct.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(KU),this.appendDummyInput().appendField(t).appendField(gt.Msg.MIXLY_MIXGO_NOVA_POTENTIAL_NUM),this.setOutput(!0,Number),this.setInputsInline(!0)}},QU={init:function(){if("mixgo_me"==Ct.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(KU),this.appendDummyInput().appendField(t).appendField("RFID"+gt.Msg.MIXLY_RFID_READ_CARD),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RFID_READ_CARD_UID),this.setOutput(!0,Number),this.setInputsInline(!0)}},jU={init:function(){if("mixgo_me"==Ct.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(KU),this.appendDummyInput().appendField(t).appendField("RFID"+gt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SECTOR").appendField(gt.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL),this.setOutput(!0,Number),this.setInputsInline(!0)}},$U={init:function(){if("mixgo_me"==Ct.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(KU),this.appendDummyInput().appendField(t).appendField(gt.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SECTOR").appendField(gt.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(gt.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},ZU={init:function(){if("mixgo_me"==Ct.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(KU),this.appendDummyInput().appendField(t).appendField(gt.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SECTOR").appendField(gt.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(gt.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(gt.Msg.RETURN_SUCCESS_OR_NOT),this.setInputsInline(!0),this.setOutput(!0)}},tw={init:function(){if("mixgo_me"==Ct.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(KU),this.appendDummyInput().appendField(t).appendField("RFID"),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_RFID_SCAN_OK,"True"],[gt.Msg.MIXLY_RFID_SCAN_NOTAGERR,"None"],[gt.Msg.MIXLY_RFID_SCAN_ERROR,"False"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},ew=100,iw={init:function(){this.setColour(ew),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXGO_LEFT_FRONT+gt.Msg.COLOUR_RGB_GREEN+gt.Msg.MIXLY_EXTERN_LED,"GLED[0]"],[gt.Msg.MIXGO_RIGHT_FRONT+gt.Msg.COLOUR_RGB_GREEN+gt.Msg.MIXLY_EXTERN_LED,"GLED[1]"],[gt.Msg.MIXGO_LEFT_BACK+gt.Msg.COLOUR_RGB_GREEN+gt.Msg.MIXLY_EXTERN_LED,"GLED[3]"],[gt.Msg.MIXGO_RIGHT_BACK+gt.Msg.COLOUR_RGB_GREEN+gt.Msg.MIXLY_EXTERN_LED,"GLED[2]"],[gt.Msg.MIXGO_LEFT_FRONT+gt.Msg.COLOUR_RGB_RED+gt.Msg.MIXLY_EXTERN_LED,"RLED[0]"],[gt.Msg.MIXGO_RIGHT_FRONT+gt.Msg.COLOUR_RGB_RED+gt.Msg.MIXLY_EXTERN_LED,"RLED[1]"],[gt.Msg.MIXGO_LEFT_BACK+gt.Msg.COLOUR_RGB_RED+gt.Msg.MIXLY_EXTERN_LED,"RLED[3]"],[gt.Msg.MIXGO_RIGHT_BACK+gt.Msg.COLOUR_RGB_RED+gt.Msg.MIXLY_EXTERN_LED,"RLED[2]"],[gt.Msg.ME_GO_LIGHT_HEADLIGHT,"WLED"]]),"op"),this.setOutput(!0)}},nw={init:function(){this.setColour(ew),this.appendDummyInput().appendField(gt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField("ME GO"),this.appendValueInput("bright").appendField(gt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_LED_SETONOFF)}},sw={init:function(){this.setColour(ew),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField("ME GO"),this.appendDummyInput().appendField(gt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_LED_GETONOFF)}},_w={init:function(){this.setColour(ew),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField("ME GO"),this.appendDummyInput().appendField(gt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_LED_GETONOFF)}},ow={init:function(){this.setColour(ew),this.appendDummyInput().appendField(gt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField("ME GO"),this.appendValueInput("bright").appendField(gt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_SETTING+gt.Msg.MIXLY_BUILDIN_LED+gt.Msg.MIXLY_BRIGHTNESS+"(0-10)")}},pw={init:function(){this.setColour(ew),this.appendDummyInput().appendField("ME GO").appendField(new gt.FieldDropdown([[gt.Msg.blockpy_forward,"F"],[gt.Msg.blockpy_backward,"B"],[gt.Msg.blockpy_left,"L"],[gt.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},aw={init:function(){this.setColour(ew),this.appendDummyInput().appendField("ME GO").appendField(new gt.FieldDropdown([[gt.Msg.MOTOR_P,"P"],[gt.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},uw={init:function(){this.setColour(ew),this.appendDummyInput().appendField("ME GO").appendField(gt.Msg.MOTOR_DC).appendField(new gt.FieldDropdown([[gt.Msg.MIXLYCAR_WHEEL_LEFT,"0"],[gt.Msg.MIXLYCAR_WHEEL_RIGHT,"1"],[gt.Msg.ME_GO_MOTOR_EXTERN,"2"]]),"wheel"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Direction).appendField(new gt.FieldDropdown([[gt.Msg.ROTATION_FORWARD,"CW"],[gt.Msg.ROTATION_BACKWARD,"CCW"],[gt.Msg.MOTOR_P,"P"],[gt.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},rw={init:function(){this.setColour(ew),this.appendDummyInput("").appendField(gt.Msg.MIXLY_ESP32_INTERRUPT).appendField(gt.Msg.ME_GO_HALL_SENSOR),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.TEXT_TRIM_LEFT,"A"],[gt.Msg.TEXT_TRIM_RIGHT,"B"]]),"mode"),this.appendValueInput("DO").appendField(gt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},lw={init:function(){this.setColour(ew),this.appendDummyInput("").appendField(gt.Msg.ME_GO_HALL_SENSOR),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.TEXT_TRIM_LEFT,"A"],[gt.Msg.TEXT_TRIM_RIGHT,"B"]]),"mode"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_SETUP),this.appendDummyInput("").appendField(new gt.FieldDropdown([["turns","turns"],["distance","distance"],["turns,distance","all"]]),"args"),this.appendValueInput("num").setCheck(Number),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},dw={init:function(){this.setColour(ew),this.appendDummyInput("").appendField(gt.Msg.ME_GO_HALL_SENSOR),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.TEXT_TRIM_LEFT,"A"],[gt.Msg.TEXT_TRIM_RIGHT,"B"]]),"mode"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput("").appendField(new gt.FieldDropdown([["turns","turns"],["distance","distance"],["speed","speed"]]),"args"),this.setOutput(!0),this.setInputsInline(!0)}},Iw={init:function(){this.setColour(ew),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new gt.FieldDropdown([[gt.Msg.TEXT_TRIM_LEFT,"[0]"],[gt.Msg.MIXGO_LEFT_MID,"[1]"],[gt.Msg.MIXGO_RIGHT_MID,"[2]"],[gt.Msg.TEXT_TRIM_RIGHT,"[3]"],[gt.Msg.MIXLY_ALL,""]]),"key").appendField(gt.Msg.MIXGO_LINE_SENSOR_VAL),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip((function(){return gt.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP+gt.Msg.MIXLY_ESP32_NEAR}))}},Tw={init:function(){this.setColour(ew),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new gt.FieldDropdown([[gt.Msg.MIXGO_LEFT_FRONT,"[0]"],[gt.Msg.MIXGO_RIGHT_FRONT,"[1]"],[gt.Msg.MIXGO_LEFT_BACK,"[3]"],[gt.Msg.MIXGO_RIGHT_BACK,"[2]"],[gt.Msg.MIXLY_ALL,""]]),"key").appendField(gt.Msg.MIXGO_PROXIMITY_SENSOR),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip((function(){return gt.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP+gt.Msg.MIXLY_ESP32_NEAR}))}},Mw={init:function(){this.setColour(ew),this.appendDummyInput().appendField(gt.Msg.MIXLY_MIXGO_CAR_SENSOR_ONBOARD_CHANGE).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_ME_GO_CAR_SENSOR_ONBOARD_AUTO_CHANGE,"AS"],[gt.Msg.MIXLY_MIXGO_CAR_USE_LINE_ONLY,"LP"],[gt.Msg.MIXLY_MIXGO_CAR_USE_PROXIMITY_ONLY,"OA"],[gt.Msg.MIXLY_ME_GO_CAR_LIGHT_SEEKING_ONLY,"LS"],[gt.Msg.ME_GO_SENSOR_MODE_OFF,"CL"]]),"key"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},hw={init:function(){this.setColour(ew),this.appendDummyInput("").appendField(gt.Msg.MIXLY_GET_GESTURE).appendField(new gt.FieldDropdown([[gt.Msg.ME_GO_PITCH,"[0]"],[gt.Msg.ME_GO_ROLL,"[1]"],[gt.Msg.ME_GO_PITCH+", "+gt.Msg.ME_GO_ROLL,""]]),"angle"),this.appendDummyInput(""),this.setOutput(!0,Number),this.setInputsInline(!0)}},mw={init:function(){this.setColour(ew),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new gt.FieldDropdown([[gt.Msg.TEXT_TRIM_LEFT,"[0]"],[gt.Msg.MIXGO_LEFT_MID,"[1]"],[gt.Msg.MIXGO_RIGHT_MID,"[2]"],[gt.Msg.TEXT_TRIM_RIGHT,"[3]"],[gt.Msg.MIXLY_ALL,""]]),"key").appendField(gt.Msg.MIXLY_ME_GO_CAR_LIGHT_SEEKING_SENSOR),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip((function(){return gt.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP+gt.Msg.MIXLY_ME_GO_CAR_LIGHT_SEEKING_SENSOR}))}},Ew=230,Ow={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.digital),"PIN"),this.setOutput(!0)}},Rw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.digital_pin),"PIN"),this.setOutput(!0,Number)}},cw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.input_pin),"PIN"),this.setOutput(!0,Number)}},gw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.output_pin),"PIN"),this.setOutput(!0,Number)}},Cw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.espnow_channel),"PIN"),this.setOutput(!0,Number)}},Sw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.haskylens_model),"PIN"),this.setOutput(!0,Number)}},Aw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.pwm_input),"PIN"),this.setOutput(!0)}},Lw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.analog_input),"PIN"),this.setOutput(!0)}},Nw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.pwm_output),"PIN"),this.setOutput(!0)}},Dw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.analog_output),"PIN"),this.setOutput(!0)}},fw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.i2c_A_pin),"PIN"),this.setOutput(!0,Number)}},Fw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.i2c_B_pin),"PIN"),this.setOutput(!0,Number)}},Pw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.spi_A_pin),"PIN"),this.setOutput(!0,Number)}},vw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.spi_B_pin),"PIN"),this.setOutput(!0,Number)}},Yw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.spi_C_pin),"PIN"),this.setOutput(!0,Number)}},Xw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.spi_D_pin),"PIN"),this.setOutput(!0,Number)}},yw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.analog),"PIN"),this.setOutput(!0)}},bw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.analog_pin),"PIN"),this.setOutput(!0,Number)}},xw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.dac),"PIN"),this.setOutput(!0)}},Vw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.dac_pin),"PIN"),this.setOutput(!0,Number)}},Bw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.button),"PIN"),this.setOutput(!0,Number)}},Gw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.buttonB),"PIN"),this.setOutput(!0,Number)}},Uw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.pwm),"PIN"),this.setOutput(!0)}},ww={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.pwm_pin),"PIN"),this.setOutput(!0,Number)}},kw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.touch_pin),"PIN"),this.setOutput(!0,Number)}},Hw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.touch),"PIN"),this.setOutput(!0)}},Ww={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.serial_pin),"PIN"),this.setOutput(!0,Number)}},Kw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.builtinimg),"PIN"),this.setOutput(!0,"esp32_image")}},Jw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.builtinimg_extern),"PIN"),this.setOutput(!0,"esp32_image")}},qw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.imglist),"PIN"),this.setOutput(!0)}},zw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.playlist),"PIN"),this.setOutput(!0)}},Qw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.playlist_extern),"PIN"),this.setOutput(!0)}},jw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.exlcdh),"PIN"),this.setOutput(!0,Number)}},$w={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.exlcdv),"PIN"),this.setOutput(!0,Number)}},Zw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.axis),"PIN"),this.setOutput(!0,Number)}},tk={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.brightness),"PIN"),this.setOutput(!0,Number)}},ek={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.tts_voice),"PIN"),this.setOutput(!0,Number)}},ik={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.tts_builtin_music),"PIN"),this.setOutput(!0,Number)}},nk={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.tts_bgmusic),"PIN"),this.setOutput(!0,Number)}},sk={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.tone_notes),"PIN"),this.setOutput(!0,Number)}},_k={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.radio_power),"PIN"),this.setOutput(!0,Number)}},ok={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.radio_datarate),"PIN"),this.setOutput(!0,Number)}},pk={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.one_more),"PIN"),this.setOutput(!0)}},ak={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.digital_dot),"PIN"),this.setOutput(!0,Number)}},uk=function(t,e){return["HIGH"==this.getFieldValue("BOOL")?"1":"0",e.ORDER_ATOMIC]},rk=function(t,e){e.definitions_.import_machine="import machine";var i="";return i+=e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".value("+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"},lk=function(t,e){e.definitions_.import_machine="import machine";return[e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".value()",e.ORDER_ATOMIC]},dk=function(t,e){return e.definitions_.import_machine="import machine",e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".write("+e.valueToCode(this,"NUM",e.ORDER_ATOMIC)+")\n"},Ik=function(t,e){e.definitions_.import_machine="import machine";var i=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),n=e.valueToCode(this,"NUM",e.ORDER_ATOMIC);return i+".set_analog_"+this.getFieldValue("key")+"("+n+")\n"},Tk=function(t,e){return e.definitions_.import_machine="import machine",[e.valueToCode(this,"pin",e.ORDER_ATOMIC)+".read()",e.ORDER_ATOMIC]},Mk=function(t,e){e.definitions_.import_machine="import machine";var i=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),n=this.getFieldValue("mode");return"machine.Pin("+i+").irq(handler = "+e.valueToCode(this,"DO",e.ORDER_ATOMIC)+", trigger = "+n+")\n"},hk=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"pin#",n=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),s=this.getFieldValue("MODE");return("pin#"==i?"pin"+n:e.variableDB_.getName(i,gt.Variables.NAME_TYPE))+" = machine.Pin("+n+", "+s+")\n"},mk=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"dac#",n=e.valueToCode(this,"PIN",e.ORDER_ATOMIC);return("dac#"==i?"dac"+n:e.variableDB_.getName(i,gt.Variables.NAME_TYPE))+" = machine.DAC(machine.Pin("+n+"))\n"},Ek=function(t,e){return e.definitions_.import_machine="import machine",e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".atten("+this.getFieldValue("atten")+")\n"},Ok=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"tc#",n=e.valueToCode(this,"PIN",e.ORDER_ATOMIC);return("tc#"==i?"tc"+n:e.variableDB_.getName(i,gt.Variables.NAME_TYPE))+" = machine.TouchPad(machine.Pin("+n+"))\n"},Rk=function(t,e){var i=this.getFieldValue("key");return e.definitions_.import_mini_g2="import mini_g2",["mini_g2.ext_ahtx0."+i+"()",e.ORDER_ATOMIC]},ck=function(t,e){var i=this.getFieldValue("key");return e.definitions_.import_mini_g2="import mini_g2",["mini_g2.ext_hp203x."+i,e.ORDER_ATOMIC]},gk=function(t,e){e.definitions_.import_mini_g2="import mini_g2";return["mini_g2.varistor()",e.ORDER_ATOMIC]},Ck=function(t,e){if(e.definitions_.import_mini_g2="import mini_g2","mixgo_mini"==Ct.Boards.getSelectedBoardKey().split(":")[2]){e.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var i='ext_rfid.read_card(0, x="id")'}else{e.definitions_.import_mini_g2="import mini_g2";i='mini_g2.ext_rc522.read_card(0, x="id")'}return[i,e.ORDER_ATOMIC]},Sk=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"SECTOR",e.ORDER_ATOMIC);if("mixgo_mini"==i){e.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var s="ext_rfid.read_card("+n+")"}else{e.definitions_.import_mini_g2="import mini_g2";s="mini_g2.ext_rc522.read_card("+n+")"}return[s,e.ORDER_ATOMIC]},Ak=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"SECTOR",e.ORDER_ATOMIC),s=e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC);if("mixgo_mini"==i){e.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var _="ext_rfid.write_card("+s+","+n+")\n"}else{e.definitions_.import_mini_g2="import mini_g2";_="mini_g2.ext_rc522.write_card("+s+","+n+")\n"}return _},Lk=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"SECTOR",e.ORDER_ATOMIC),s=e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC);if("mixgo_mini"==i){e.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var _="ext_rfid.write_card("+s+","+n+")"}else{e.definitions_.import_mini_g2="import mini_g2";_="mini_g2.ext_rc522.write_card("+s+","+n+")"}return[_,e.ORDER_ATOMIC]},Nk=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2],n=this.getFieldValue("key");if("mixgo_mini"==i){e.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var s="ext_rfid.scan_card()=="+n}else{e.definitions_.import_mini_g2="import mini_g2";s="mini_g2.ext_rc522.scan_card()=="+n}return[s,e.ORDER_ATOMIC]},Dk=function(t,e){return e.definitions_.import_me_go_car="from me_go import car",["car."+this.getFieldValue("op"),e.ORDER_ATOMIC]},fk=function(t,e){var i=e.valueToCode(this,"led",e.ORDER_ATOMIC);return e.definitions_.import_me_go_car="from me_go import car","car.setonoff("+i+","+e.valueToCode(this,"bright",e.ORDER_ATOMIC)+")\n"},Fk=function(t,e){var i=e.valueToCode(this,"led",e.ORDER_ATOMIC);return e.definitions_.import_me_go_car="from me_go import car",["car.getrightness("+i+")",e.ORDER_ATOMIC]},Pk=function(t,e){var i=e.valueToCode(this,"led",e.ORDER_ATOMIC);return e.definitions_.import_me_go_car="from me_go import car",["car.getonoff("+i+")",e.ORDER_ATOMIC]},vk=function(t,e){var i=e.valueToCode(this,"led",e.ORDER_ATOMIC);return e.definitions_.import_me_go_car="from me_go import car","car.setbrightness("+i+","+e.valueToCode(this,"bright",e.ORDER_ATOMIC)+")\n"},Yk=function(t,e){var i=this.getFieldValue("VAR");return e.definitions_.import_me_go_car="from me_go import car",'car.move("'+i+'",'+e.valueToCode(this,"speed",e.ORDER_ASSIGNMENT)+")\n"},Xk=function(t,e){var i=this.getFieldValue("VAR");return e.definitions_.import_me_go_car="from me_go import car",'car.move("'+i+'")\n'},yk=function(t,e){var i=this.getFieldValue("wheel");e.definitions_.import_me_go_car="from me_go import car";var n=this.getFieldValue("direction");return 0==i&&("CW"==n?n="CCW":"CCW"==n&&(n="CW")),"car.motor(car.MOTO["+i+'],"'+n+'",'+e.valueToCode(this,"speed",e.ORDER_ATOMIC)+")\n"},bk=function(t,e){var i=this.getFieldValue("mode");return e.definitions_["import_me_go_hall_"+i]="from me_go import hall_"+i,"hall_"+i+".irq_cb("+e.valueToCode(this,"DO",e.ORDER_ATOMIC)+")\n"},xk=function(t,e){var i=this.getFieldValue("mode"),n=this.getFieldValue("args");e.definitions_["import_me_go_hall_"+i]="from me_go import hall_"+i;var s=e.valueToCode(this,"num",e.ORDER_ATOMIC);return"all"==n?"hall_"+i+".initial(turns="+s+",distance="+s+")\n":"hall_"+i+".initial("+n+"="+s+")\n"},Vk=function(t,e){var i=this.getFieldValue("mode"),n=this.getFieldValue("args");return e.definitions_["import_me_go_hall_"+i]="from me_go import hall_"+i,["hall_"+i+"."+n,e.ORDER_ATOMIC]},Bk=function(t,e){var i=this.getFieldValue("key");return e.definitions_.import_me_go_hall="from me_go import car",["car.patrol()"+i,e.ORDER_ATOMIC]},Gk=function(t,e){var i=this.getFieldValue("key");return e.definitions_.import_me_go_hall="from me_go import car",["car.obstacle()"+i,e.ORDER_ATOMIC]},Uk=function(t,e){var i=this.getFieldValue("key");return e.definitions_.import_me_go_hall="from me_go import car","car.ir_mode(car."+i+")\n"},wk=function(t,e){return e.definitions_.import_mixgo_me_onboard_mxc6655xa="from mixgo_me import onboard_mxc6655xa",["onboard_mxc6655xa.eulerangles(upright=True)"+this.getFieldValue("angle"),e.ORDER_ATOMIC]},kk=function(t,e){var i=this.getFieldValue("key");return e.definitions_.import_me_go_hall="from me_go import car",["car.light()"+i,e.ORDER_ATOMIC]},Hk=function(t,e){return[this.getFieldValue("PIN"),e.ORDER_ATOMIC]},Wk=Hk,Kk=Hk,Jk=Hk,qk=Hk,zk=Hk,Qk=Hk,jk=Hk,$k=Hk,Zk=Hk,tH=Hk,eH=Hk,iH=Hk,nH=Hk,sH=Hk,_H=Hk,oH=Hk,pH=Hk,aH=Hk,uH=Hk,rH=Hk,lH=Hk,dH=Hk,IH=Hk,TH=Hk,MH=Hk,hH=Hk,mH=Hk,EH=Hk,OH=Hk,RH=Hk,cH=Hk,gH=Hk,CH=Hk,SH=Hk,AH=Hk,LH=Hk,NH=Hk,DH=Hk,fH=Hk,FH=Hk,PH=Hk,vH=Hk,YH=Hk,XH=Hk;Object.assign(gt.Variables,At),Object.assign(gt.Procedures,Uu),Object.assign(gt.Lang.ZhHans,lt),Object.assign(gt.Lang.ZhHant,dt),Object.assign(gt.Lang.En,It),gt.Python=wu,gt.generator=wu,Ct.Profile.default={},Object.assign(Ct.Profile,DU),Object.assign(Ct.Profile.default,DU["MixGo CC"]),Object.assign(gt.Blocks,e,i,n,s,_,o,p,a,u,r,l,d,I,V,H,k,X,B,W,f,w,U,G,F,D,N,b,y,x,P,v,Y,Tt,Mt,ht,mt),Object.assign(gt.Python.forBlock,T,M,h,m,E,O,R,c,g,C,S,A,L,nt,ut,at,Z,st,rt,q,pt,ot,_t,z,J,K,et,tt,it,Q,j,$,Et,Ot,Rt,ct)})(); \ No newline at end of file diff --git a/boards/default/micropython_esp32/index.xml b/boards/default/micropython_esp32/index.xml index 9d37f5a9..d1c7d74d 100644 --- a/boards/default/micropython_esp32/index.xml +++ b/boards/default/micropython_esp32/index.xml @@ -1 +1 @@ -02000attachInterrupt_funcattachInterrupt_func010,1,2,3051i5000DIVIDE10Exception as eetestThreadtestThreadWHILETRUEHello Mixly from Thread!ms10tim1000tim_callbacktim_callback200090x151100a10.998124.82997110010101000110050110011000110x2x0,1,2,30,1,2,30,1,2,3xMixlyMixlyHelloMixly65axMixlyMixly0Mixly02MixlyMixlyHello,mixlyl--mylistHello,mixlymixlymixpyI love mixly!I love mixlyRandom No. is {}int1100input('1+2*3')mylist1,2,3,4,5mylist0mylist02mylistmylistmylist0mylist00mylist00mylist0mylist0mylist0mylistmylistmylistxmytup1,2,3,4,5mytup0mytup02mytupmytupmytupmytup0mytupmytup1mytup2xmydictmydictkeymydictkey0mydictkey0mydictkeymydictkeymydictkey0mydictmydictmydictmydictxmydict{"name":"Mixly","color":"green"}s11,2,3,4,5s1s1s1s2s1s2s10s1Mixlys1s2xMixlyMixlyMixly,HelloMixlyprompt02MixlyMixly0XFF00FFcodebMixlyMixly1attachInterrupt_funcattachInterrupt_funcp20189141420452023,1,1,12,0,0180292023,1,1,12,0,01001004404401000010004120000000000010001000100Mixly0MixlyMixly500MixlyMixly500>10.5001MixlyMixly0010MixlyMixly0550MixlyMixly550000200050502020201510000i2c_extend2122400000pei2c_extendpepe100pepe100pepe100pewifinamewifipassword8080AUTH TOKEN0_value02000notify0Your Target Emailsubjectbodycolor#FF0000wifinamewifipasswordmixio.mixly.cnmixio.mixly.cnA1B2C3mixio.mixly.cnusernamepasswordMyProjecttopicmsgtopicmsgtopicmethodmethodEQmsg1content"long""lat""message"012content"key1""key2""key3"012https://mixio.mixly.cn/time.phpmixio.mixly.cnwifinamewifipasswordcsub_cb31444082183.230.40.3914109261n63JySRowo13ZLDBKw6y896E0=MixlyRobotsub_cbEQmsg1ciot_dict"tc"tc0ciot_dictccwifinamewifipasswordSVa3S0UKHIy9dDArs北京SVa3S0UKHIy9dDArs北京11111https://mixio.mixly.cn/tinydbusernamepasswordmqtt_clientmixlyhellomixly11mixlymixlyble_cble_pMixlyble_cble_cMixlyble_cble_xble_xble_xMixlyble_xble_methodble_methodEQdataMixlyhandlehandle_methodhandle_methodkey1key2key3keyxble_keyboard_mouse10Hello, Mixly!1002000001000009000,4500,563,5630x1234callbackcmdaddrrawpulsesi2c2221100000i2c00i2c00i2ci2ci2cspi200000045spi200000buf50spi10spi100xffspibufspibuf0xffspi12345spi12345buf1Mixlyow12owowow12345ow12345owmy_now0my_nowmy_nowmy_nowFFFFFFFFFFFFmixlymy_nowmy_nowcbcbEQmsg1spi10000004512spi8my_lora433.925716my_loramy_loramy_loraMixlyi2c_extend45100000xsensori2c_extendxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensor1013.25xsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensor5000500xsensorxsensorxsensorxsensorxsensorxsensorspi10000004512spi8ysensorysensorysensor0ysensor0ysensor0Mixlyysensor0Mixlyysensorysensor39,119.96,31.67ysensorysensorstation45ps2_handle24512ps2_handle50ps2_handleps2_handlews_wr457ws_wrws_wrws_wr360002zsensorzsensorzsensorzsensorzsensorweight12500weightvar_re345rotary_cbrotary_cbmidi0midi440midi4401000midimidimidimidi4120midimidirgb04rgb0000rgb000rgb0001000rgb1000rgb100100i2c_extend45400000Motori2c_extendMotor100Motor1024102402actuatoractuatoractuatoractuatoractuator你好米思齐actuatoractuatoractuator20actuatoractuatormixly*.mp3i2c_extend45400000matrixi2c_extendmatrixmatrixmatrixMixly0matrixMixlymatrixMixly500matrixMixlymatrixMixly500matrixmatrix>matrixmatrix1matrixmatrixmatrix0.5matrixmatrixdisp34disp2333dispdisp1i2c_extend45100000lcdi2c_extend0x27lcdMixly00lcdMixly005lcdlcdi2c_extend45100000oledi2c_extend0x3coledoled001oledMixlyoledMixly0010oledMixlyoledMixly0550oledMixlyoledMixly5500oled0020oled005050oled20202015oled1oled00oled00oledspi1000000450spi78tft_st7789135240tft_st7789001#ffffff255,255,0tft_st7789Mixly0050#ffffff255,255,0tft_st7789Mixly0550#ffffff255,255,0tft_st7789Mixly5500#ffffff255,255,0tft_st7789004040#ffffff255,255,0tft_st778912ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor'ni-hao','hong-se','lv-se','lan-se','bai-se','hei-se'0.1ai_sensor1.wav5ai_sensor1.wav100ai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsai_sensor'猫','狗','笔记本','笔'mixgo5自模型训练infoai_sensor'猫','狗','笔记本','笔'mixgo自模型识别objectsinfoai_sensor0.1606, 0.3562, 0.4712, 0.9568, 0.9877, 1.9108, 1.8761, 3.5310, 3.4423, 5.6823/sd/masks.kmodel外部模型加载objects12ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor1.wav5ai_sensor1.wav100infoai_sensorlicensePlateinfoai_sensorfaceinfoai_sensor20objectsai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsfilename.txtfMixlyfff0fffpathpathfilename.txtsrcname.txtdstname.txtff0wifinamewifipasswordwlanwlanwlanwlanwlan127.16.0.801234567wlanwlanwlanwlanwlanmixly123456781connect_wifiwlanAPwlanTruewlanwlanSmallCabbage1234561WHILETRUEEQ0wlan0.0.0.0ms1000TRUEss0.0.0.080s192.168.0.180s5sss1024sbMixlyresponses1024sbMixlyresponse127.0.0.180sntp.aliyun.comresponsehttp://mixio.mixly.cnresponsehttp://mixio.mixly.cnresponsehttp://192.168.1.1:11434qwen2.5-coder:0.5b5https://api.deepseek.comAPI Keydeepseek-chat5请介绍一下米思齐?content_callbackcontent_callbackcontent请介绍一下米思齐? \ No newline at end of file +02000attachInterrupt_funcattachInterrupt_func010,1,2,3051i5000DIVIDE10Exception as eetestThreadtestThreadWHILETRUEHello Mixly from Thread!ms10tim1000tim_callbacktim_callback200090x151100a10.998124.82997110010101000110050110011000110x2x0,1,2,30,1,2,30,1,2,3xMixlyMixlyHelloMixly65axMixlyMixly0Mixly02MixlyMixlyHello,mixlyl--mylistHello,mixlymixlymixpyI love mixly!I love mixlyRandom No. is {}int1100input('1+2*3')mylist1,2,3,4,5mylist0mylist02mylistmylistmylist0mylist00mylist00mylist0mylist0mylist0mylistmylistmylistxmytup1,2,3,4,5mytup0mytup02mytupmytupmytupmytup0mytupmytup1mytup2xmydictmydictkeymydictkey0mydictkey0mydictkeymydictkeymydictkey0mydictmydictmydictmydictxmydict{"name":"Mixly","color":"green"}s11,2,3,4,5s1s1s1s2s1s2s10s1Mixlys1s2xMixlyMixlyMixly,HelloMixlyprompt02MixlyMixly0XFF00FFcodebMixlyMixly1attachInterrupt_funcattachInterrupt_funcp20189141420452023,1,1,12,0,0180292023,1,1,12,0,01001004404401000010004120000000000010001000100Mixly0MixlyMixly500MixlyMixly500>10.5001MixlyMixly0010MixlyMixly0550MixlyMixly550000200050502020201510000i2c_extend2122400000pei2c_extendpepe100pepe100pepe100pewifinamewifipassword8080AUTH TOKEN0_value02000notify0Your Target Emailsubjectbodycolor#FF0000wifinamewifipasswordmixio.mixly.cnmixio.mixly.cnA1B2C3mixio.mixly.cnusernamepasswordMyProjecttopicmsgtopicmsgtopicmethodmethodEQmsg1content"long""lat""message"012content"key1""key2""key3"012https://mixio.mixly.cn/time.phpmixio.mixly.cnwifinamewifipasswordcsub_cb31444082183.230.40.3914109261n63JySRowo13ZLDBKw6y896E0=MixlyRobotsub_cbEQmsg1ciot_dict"tc"tc0ciot_dictccwifinamewifipasswordSVa3S0UKHIy9dDArs北京SVa3S0UKHIy9dDArs北京11111https://mixio.mixly.cn/tinydbusernamepasswordmqtt_clientmixlyhellomixly11mixlymixlyble_cble_pMixlyble_cble_cMixlyble_cble_xble_xble_xMixlyble_xble_methodble_methodEQdataMixlyhandlehandle_methodhandle_methodkey1key2key3keyxble_keyboard_mouse10Hello, Mixly!1002000001000009000,4500,563,5630x1234callbackcmdaddrrawpulsesi2c2221100000i2c00i2c00i2ci2ci2cspi200000045spi200000buf50spi10spi100xffspibufspibuf0xffspi12345spi12345buf1Mixlyow12owowow12345ow12345owmy_now0my_nowmy_nowmy_nowFFFFFFFFFFFFmixlymy_nowmy_nowcbcbEQmsg1spi10000004512spi8my_lora433.925716my_loramy_loramy_loraMixlyi2c_extend45100000xsensori2c_extendxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensor1013.25xsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensor5000500xsensorxsensorxsensorxsensorxsensorxsensorspi10000004512spi8ysensorysensorysensor0ysensor0ysensor0Mixlyysensor0Mixlyysensorysensor39,119.96,31.67ysensorysensorstation45ps2_handle24512ps2_handle50ps2_handleps2_handlews_wr457ws_wrws_wrws_wr360002zsensorzsensorzsensorzsensorzsensorweight12500weightvar_re345rotary_cbrotary_cbmidi0midi440midi4401000midimidimidimidi4120midimidirgb04rgb0000rgb000rgb0001000rgb1000rgb100100i2c_extend45400000Motori2c_extendMotor100Motor1024102402actuatoractuatoractuatoractuatoractuator你好米思齐actuatoractuatoractuator20actuatoractuatormixly*.mp3i2c_extend45400000matrixi2c_extendmatrixmatrixmatrixMixly0matrixMixlymatrixMixly500matrixMixlymatrixMixly500matrixmatrix>matrixmatrix1matrixmatrixmatrix0.5matrixmatrixdisp34disp2333dispdisp1i2c_extend45100000lcdi2c_extend0x27lcdMixly00lcdMixly005lcdlcdi2c_extend45100000oledi2c_extend0x3coledoled001oledMixlyoledMixly0010oledMixlyoledMixly0550oledMixlyoledMixly5500oled0020oled005050oled20202015oled1oled00oled00oledspi1000000450spi78tft_st7789135240tft_st7789001#ffffff255,255,0tft_st7789Mixly0050#ffffff255,255,0tft_st7789Mixly0550#ffffff255,255,0tft_st7789Mixly5500#ffffff255,255,0tft_st7789004040#ffffff255,255,0tft_st778912ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor'ni-hao','hong-se','lv-se','lan-se','bai-se','hei-se'0.1ai_sensor1.wav5ai_sensor1.wav100ai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsai_sensor'猫','狗','笔记本','笔'mixgo5自模型训练infoai_sensor'猫','狗','笔记本','笔'mixgo自模型识别objectsinfoai_sensor0.1606, 0.3562, 0.4712, 0.9568, 0.9877, 1.9108, 1.8761, 3.5310, 3.4423, 5.6823/sd/masks.kmodel外部模型加载objects12ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor1.wav5ai_sensor1.wav100infoai_sensorlicensePlateinfoai_sensorfaceinfoai_sensor20objectsai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsfilename.txtfMixlyfff0fffpathpathfilename.txtsrcname.txtdstname.txtff0wifinamewifipasswordwlanwlanwlanwlanwlan127.16.0.801234567wlanwlanwlanwlanwlanmixly123456781connect_wifiwlanAPwlanTruewlanwlanSmallCabbage1234561WHILETRUEEQ0wlan0.0.0.0ms1000TRUEss0.0.0.080s192.168.0.180s5sss1024sbMixlyresponses1024sbMixlyresponse127.0.0.180sntp.aliyun.comresponsehttp://mixio.mixly.cnresponsehttp://mixio.mixly.cnresponsehttp://192.168.1.1:11434qwen2.5-coder:0.5b5https://api.deepseek.comAPI Keydeepseek-chat5请介绍一下米思齐?content_callbackcontent_callbackcontent请介绍一下米思齐? \ No newline at end of file diff --git a/boards/default/micropython_esp32/main.bundle.67d11a28.js b/boards/default/micropython_esp32/main.bundle.67d11a28.js new file mode 100644 index 00000000..cbbb0043 --- /dev/null +++ b/boards/default/micropython_esp32/main.bundle.67d11a28.js @@ -0,0 +1,21 @@ +(()=>{"use strict";var t={d:(e,i)=>{for(var n in i)t.o(i,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:i[n]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};t.r(e),t.d(e,{controls_type:()=>At,controls_typeLists:()=>Lt,lists_zip:()=>Nt,lists_zip_container:()=>Dt,lists_zip_item:()=>ft,unpack_iterable_object:()=>Ft,variables_change:()=>Ct,variables_get:()=>ct,variables_global:()=>St,variables_set:()=>gt});var i={};t.r(i),t.d(i,{base_setup:()=>Yt,controls_delay:()=>Xt,controls_end_program:()=>xt,controls_except:()=>Qt,controls_finally:()=>qt,controls_flow_statements:()=>Ut,controls_for:()=>wt,controls_forEach:()=>Vt,controls_for_range:()=>Ht,controls_if:()=>bt,controls_if_else:()=>Kt,controls_if_elseif:()=>Wt,controls_if_if:()=>kt,controls_lambda:()=>jt,controls_main:()=>vt,controls_pass:()=>$t,controls_range:()=>yt,controls_repeat_ext:()=>zt,controls_thread:()=>Zt,controls_try:()=>Jt,controls_try_finally:()=>Gt,controls_whileUntil:()=>Bt,datetime_fromtimestamp:()=>oe,do_while:()=>te,garbage_collection:()=>ee,gene_unique_identifier:()=>_e,get_mem_alloc:()=>ie,get_mem_free:()=>ne,get_unique_identifier:()=>se});var n={};t.r(n),t.d(n,{base_map:()=>Ne,generate_cartesian_product:()=>fe,math_arithmetic:()=>de,math_bit:()=>Ie,math_constant:()=>ue,math_constant_mp:()=>re,math_constrain:()=>Re,math_dec:()=>Me,math_degree_to_radian:()=>Pe,math_indexer_number:()=>ge,math_map:()=>ce,math_max_min:()=>me,math_number:()=>ae,math_number_base_conversion:()=>Ee,math_radian_to_degree:()=>Fe,math_random:()=>Oe,math_random_seed:()=>Ce,math_round:()=>Se,math_selfcalcu:()=>le,math_to_int:()=>he,math_trig:()=>Te,text_to_number:()=>Ae,text_to_number_skulpt:()=>Le,turn_to_int:()=>De});var s={};t.r(s),t.d(s,{ascii_to_char:()=>Ve,char_to_ascii:()=>Be,number_to_text:()=>Ge,os_system:()=>di,text:()=>Ye,text_bytes:()=>xe,text_capital:()=>qe,text_center:()=>ze,text_char:()=>be,text_char_at:()=>He,text_char_at2:()=>we,text_char_at3:()=>pi,text_compareTo:()=>_i,text_compare_to:()=>Qe,text_create_with_container:()=>ni,text_create_with_item:()=>si,text_encode:()=>ui,text_equals_starts_ends:()=>Je,text_eval:()=>ri,text_find:()=>je,text_format:()=>ii,text_format_noreturn:()=>ai,text_join:()=>ye,text_join_seq:()=>$e,text_length:()=>Ue,text_random_char:()=>ke,text_replace:()=>Ze,text_split:()=>ti,text_strip:()=>ei,text_substring:()=>Ke,text_substring2:()=>We,text_substring3:()=>oi,text_textarea:()=>Xe});var o={};t.r(o),t.d(o,{ENUMERATE:()=>Ji,content_in_lists:()=>qi,enumerate:()=>Qi,list_many_input:()=>Xi,list_tolist:()=>Vi,list_tolist2:()=>Ki,list_trig:()=>Pi,lists_2d_get_col_row_data:()=>hi,lists_2d_get_data_with_col_row:()=>Mi,lists_append_extend:()=>gi,lists_change_to:()=>Yi,lists_change_to_general:()=>bi,lists_clear:()=>Ni,lists_create_with:()=>mi,lists_create_with2:()=>Bi,lists_create_with_container:()=>Oi,lists_create_with_item:()=>Ri,lists_create_with_noreturn:()=>xi,lists_create_with_text:()=>Ei,lists_create_with_text2:()=>Gi,lists_del_general:()=>yi,lists_find:()=>Fi,lists_getIndex3:()=>Ui,lists_getSublist3:()=>wi,lists_get_index:()=>Ii,lists_get_random_item:()=>Ci,lists_get_random_sublist:()=>Si,lists_get_sublist:()=>Ti,lists_insert_value:()=>Ai,lists_insert_value2:()=>ki,lists_pop:()=>fi,lists_remove_at:()=>Di,lists_remove_at2:()=>Wi,lists_reverse:()=>Li,lists_setIndex3:()=>Hi,lists_set_index:()=>ci,lists_sort:()=>vi});var _={};t.r(_),t.d(_,{dicts_add_change_del:()=>ln,dicts_add_or_change:()=>sn,dicts_clear:()=>pn,dicts_create_with:()=>ji,dicts_create_with_container:()=>$i,dicts_create_with_item:()=>Zi,dicts_create_with_noreturn:()=>Mn,dicts_deldict:()=>dn,dicts_delete:()=>on,dicts_get:()=>en,dicts_get_default:()=>nn,dicts_items:()=>an,dicts_keys:()=>tn,dicts_length:()=>rn,dicts_pop:()=>In,dicts_setdefault:()=>Tn,dicts_to_json:()=>mn,dicts_to_json2:()=>Rn,dicts_to_to:()=>On,dicts_todict:()=>hn,dicts_update:()=>_n,dicts_values:()=>un,json_to_dicts:()=>En});var p={};t.r(p),t.d(p,{logic_boolean:()=>Ln,logic_compare:()=>gn,logic_compare_continous:()=>Cn,logic_is:()=>Fn,logic_is_in:()=>fn,logic_negate:()=>An,logic_null:()=>Nn,logic_operation:()=>Sn,logic_tobool:()=>Pn,logic_true_or_false:()=>Dn});var a={};t.r(a),t.d(a,{sdcard_mount:()=>ts,sdcard_use_spi_init:()=>Zn,storage_can_write_ornot:()=>Gn,storage_change_dir:()=>jn,storage_close_file:()=>wn,storage_delete_file:()=>kn,storage_file_seek:()=>Jn,storage_file_tell:()=>Kn,storage_file_write:()=>bn,storage_fileopen:()=>Yn,storage_fileopen_new:()=>Xn,storage_fileopen_new_encoding:()=>xn,storage_get_a_line:()=>Bn,storage_get_contents:()=>Vn,storage_get_contents_without_para:()=>yn,storage_get_current_dir:()=>Qn,storage_get_file_size:()=>Wn,storage_get_filename:()=>Un,storage_is_file:()=>$n,storage_list_all_files:()=>Hn,storage_make_dir:()=>qn,storage_open_file_with_os:()=>vn,storage_rename:()=>zn});var u={};t.r(u),t.d(u,{procedures_callnoreturn:()=>os,procedures_callreturn:()=>_s,procedures_defnoreturn:()=>es,procedures_defreturn:()=>is,procedures_ifreturn:()=>ps,procedures_mutatorarg:()=>ss,procedures_mutatorcontainer:()=>ns,procedures_return:()=>as});var r={};t.r(r),t.d(r,{tuple_change_to:()=>Rs,tuple_create_llm_params:()=>fs,tuple_create_with:()=>rs,tuple_create_with_container:()=>ds,tuple_create_with_item:()=>ls,tuple_create_with_noreturn:()=>Ss,tuple_create_with_text2:()=>Is,tuple_create_with_text_return:()=>Ts,tuple_del:()=>ms,tuple_find:()=>cs,tuple_getIndex:()=>Ms,tuple_getSublist:()=>Cs,tuple_get_random_item:()=>Ls,tuple_get_sublist:()=>As,tuple_input:()=>Ds,tuple_join:()=>Es,tuple_length:()=>hs,tuple_max:()=>Os,tuple_totuple:()=>Ns,tuple_trig:()=>gs});var d={};t.r(d),t.d(d,{set_add_discard:()=>Bs,set_clear:()=>bs,set_create_with:()=>Ps,set_create_with_container:()=>vs,set_create_with_item:()=>Ys,set_create_with_text_return:()=>ws,set_length:()=>Xs,set_operate:()=>ys,set_operate_update:()=>Vs,set_pop:()=>xs,set_sub:()=>Gs,set_toset:()=>Hs,set_update:()=>Us});var l={};t.r(l),t.d(l,{html_content:()=>Qs,html_content_more:()=>qs,html_document:()=>Ws,html_form:()=>js,html_head_body:()=>Js,html_style:()=>zs,html_style_color:()=>Zs,html_style_content:()=>$s,html_text:()=>to,html_title:()=>Ks});var I={};t.r(I),t.d(I,{attribute_access:()=>Mo,function_call:()=>lo,function_call_container:()=>Io,function_call_item:()=>To,raw_block:()=>no,raw_empty:()=>oo,raw_expression:()=>so,raw_table:()=>io,text_comment:()=>_o,text_print_multiple:()=>ao,text_print_multiple_container:()=>uo,text_print_multiple_item:()=>ro,type_check:()=>po});var T={};t.r(T),t.d(T,{controls_type:()=>Ro,controls_typeLists:()=>co,lists_zip:()=>go,unpack_iterable_object:()=>Co,variables_change:()=>Eo,variables_get:()=>ho,variables_global:()=>Oo,variables_set:()=>mo});var M={};t.r(M),t.d(M,{Panic_with_status_code:()=>Yo,base_setup:()=>Ao,controls_delay:()=>vo,controls_flow_statements:()=>Po,controls_for:()=>Do,controls_forEach:()=>Vo,controls_for_range:()=>fo,controls_if:()=>Lo,controls_interrupts:()=>bo,controls_lambda:()=>Go,controls_main:()=>So,controls_millis:()=>Xo,controls_nointerrupts:()=>yo,controls_pass:()=>wo,controls_range:()=>Bo,controls_repeat:()=>zo,controls_repeat_ext:()=>Wo,controls_thread:()=>Ho,controls_try_finally:()=>No,controls_whileUntil:()=>Fo,datetime_fromtimestamp:()=>jo,do_while:()=>ko,garbage_collection:()=>Ko,gene_unique_identifier:()=>$o,get_mem_alloc:()=>Jo,get_mem_free:()=>Qo,get_unique_identifier:()=>qo,reset:()=>xo,time_sleep:()=>Uo});var h={};t.r(h),t.d(h,{base_map:()=>O_,generate_cartesian_product:()=>c_,math_arithmetic:()=>n_,math_bit:()=>i_,math_constant:()=>t_,math_constant_mp:()=>e_,math_constrain:()=>l_,math_dec:()=>p_,math_degree_to_radian:()=>C_,math_indexer_number:()=>M_,math_map:()=>d_,math_max_min:()=>u_,math_number:()=>Zo,math_number_base_conversion:()=>I_,math_radian_to_degree:()=>g_,math_random:()=>r_,math_random_seed:()=>T_,math_round:()=>h_,math_selfcalcu:()=>s_,math_single:()=>o_,math_to_int:()=>a_,math_trig:()=>__,text_to_number:()=>m_,text_to_number_skulpt:()=>E_,turn_to_int:()=>R_});var m={};t.r(m),t.d(m,{ascii_to_char:()=>f_,char_to_ascii:()=>F_,number_to_text:()=>P_,os_system:()=>tp,text:()=>S_,text_bytes:()=>L_,text_capital:()=>G_,text_center:()=>U_,text_char:()=>N_,text_char_at:()=>X_,text_char_at2:()=>Y_,text_char_at3:()=>j_,text_compareTo:()=>z_,text_compare_to:()=>y_,text_encode:()=>$_,text_equals_starts_ends:()=>b_,text_eval:()=>Z_,text_find:()=>w_,text_format:()=>J_,text_format_noreturn:()=>Q_,text_join:()=>D_,text_join_seq:()=>H_,text_length:()=>v_,text_random_char:()=>x_,text_replace:()=>k_,text_split:()=>W_,text_strip:()=>K_,text_substring:()=>B_,text_substring2:()=>V_,text_substring3:()=>q_,text_textarea:()=>A_});var E={};t.r(E),t.d(E,{content_in_lists:()=>Xp,enumerate:()=>Yp,list_many_input:()=>Rp,list_tolist:()=>Pp,list_tolist2:()=>vp,list_trig:()=>mp,lists_2d_get_col_row_data:()=>np,lists_2d_get_data_with_col_row:()=>ip,lists_append_extend:()=>ap,lists_change_to:()=>Op,lists_change_to_general:()=>gp,lists_clear:()=>Ip,lists_create_with:()=>sp,lists_create_with2:()=>Sp,lists_create_with_noreturn:()=>cp,lists_create_with_text:()=>op,lists_create_with_text2:()=>Ap,lists_del_general:()=>Cp,lists_find:()=>Tp,lists_getIndex3:()=>Lp,lists_getSublist3:()=>Np,lists_get_index:()=>_p,lists_get_random_item:()=>up,lists_get_random_sublist:()=>rp,lists_get_sublist:()=>ep,lists_insert_value:()=>dp,lists_insert_value2:()=>fp,lists_pop:()=>hp,lists_remove_at:()=>Mp,lists_remove_at2:()=>Fp,lists_reverse:()=>lp,lists_setIndex3:()=>Dp,lists_set_index:()=>pp,lists_sort:()=>Ep});var O={};t.r(O),t.d(O,{dicts_add_change_del:()=>Jp,dicts_add_or_change:()=>Bp,dicts_clear:()=>wp,dicts_create_with:()=>xp,dicts_create_with_noreturn:()=>zp,dicts_deldict:()=>Kp,dicts_delete:()=>Gp,dicts_get:()=>yp,dicts_get_default:()=>Vp,dicts_items:()=>Hp,dicts_keys:()=>bp,dicts_length:()=>Wp,dicts_pop:()=>Qp,dicts_setdefault:()=>qp,dicts_to_json:()=>$p,dicts_to_json2:()=>ea,dicts_to_to:()=>ta,dicts_todict:()=>jp,dicts_update:()=>Up,dicts_values:()=>kp,json_to_dicts:()=>Zp});var R={};t.r(R),t.d(R,{logic_boolean:()=>_a,logic_compare:()=>ia,logic_compare_continous:()=>na,logic_is:()=>ra,logic_is_in:()=>ua,logic_negate:()=>oa,logic_null:()=>pa,logic_operation:()=>sa,logic_tobool:()=>da,logic_true_or_false:()=>aa});var c={};t.r(c),t.d(c,{sdcard_mount:()=>Xa,sdcard_use_spi_init:()=>Ya,storage_can_write_ornot:()=>Ra,storage_change_dir:()=>Da,storage_close_file:()=>ga,storage_delete_file:()=>Sa,storage_file_seek:()=>Na,storage_file_tell:()=>La,storage_file_write:()=>ha,storage_fileopen:()=>Ia,storage_fileopen_new:()=>Ta,storage_fileopen_new_encoding:()=>Ma,storage_get_a_line:()=>Oa,storage_get_contents:()=>Ea,storage_get_contents_without_para:()=>ma,storage_get_current_dir:()=>fa,storage_get_file_size:()=>Aa,storage_get_filename:()=>ca,storage_is_file:()=>va,storage_list_all_files:()=>Ca,storage_make_dir:()=>Fa,storage_open_file_with_os:()=>la,storage_rename:()=>Pa});var g={};t.r(g),t.d(g,{procedures_callnoreturn:()=>Va,procedures_callreturn:()=>ya,procedures_defnoreturn:()=>ba,procedures_defreturn:()=>xa,procedures_ifreturn:()=>Ba,procedures_return:()=>Ga});var C={};t.r(C),t.d(C,{tuple_change_to:()=>qa,tuple_create_llm_params:()=>su,tuple_create_with:()=>Ua,tuple_create_with_noreturn:()=>Za,tuple_create_with_text2:()=>wa,tuple_create_with_text_return:()=>Ha,tuple_del:()=>Ka,tuple_find:()=>za,tuple_getIndex:()=>ka,tuple_getSublist:()=>$a,tuple_get_random_item:()=>eu,tuple_get_sublist:()=>tu,tuple_input:()=>nu,tuple_join:()=>Ja,tuple_length:()=>Wa,tuple_max:()=>Qa,tuple_totuple:()=>iu,tuple_trig:()=>ja});var S={};t.r(S),t.d(S,{set_add_discard:()=>du,set_clear:()=>au,set_create_with:()=>ou,set_create_with_text_return:()=>Tu,set_length:()=>_u,set_operate:()=>uu,set_operate_update:()=>ru,set_pop:()=>pu,set_sub:()=>lu,set_toset:()=>Mu,set_update:()=>Iu});var A={};t.r(A),t.d(A,{html_content:()=>Ou,html_content_more:()=>Ru,html_document:()=>hu,html_form:()=>gu,html_head_body:()=>Eu,html_style:()=>cu,html_style_content:()=>Cu,html_text:()=>Su,html_title:()=>mu});var L={};t.r(L),t.d(L,{attribute_access:()=>Pu,function_call:()=>Fu,raw_block:()=>Au,raw_empty:()=>Nu,raw_expression:()=>Lu,raw_table:()=>Du,type_check:()=>fu});var N={};t.r(N),t.d(N,{PIN_init:()=>Vr,actuator_extern_get_led_bright:()=>Ju,actuator_extern_get_led_state:()=>Qu,actuator_extern_led_bright:()=>Ku,actuator_extern_led_brightness:()=>qu,actuator_ms32006_dcmotor:()=>sr,actuator_ms32006_init:()=>nr,actuator_ms32006_stepper:()=>or,actuator_neopixel_init:()=>_r,actuator_neopixel_rgb:()=>pr,actuator_neopixel_rgb_all:()=>ar,actuator_neopixel_rgb_show_all_chase:()=>dr,actuator_neopixel_rgb_show_all_rainbow:()=>rr,actuator_neopixel_write:()=>ur,actuator_use_uart_init:()=>lr,backstage_esp32_music_play_list:()=>Gu,esp32_music_get_tempo_extern:()=>wu,esp32_music_pitch:()=>yu,esp32_music_pitch_init:()=>bu,esp32_music_pitch_with_time:()=>Vu,esp32_music_play_list:()=>Bu,esp32_music_reset_extern:()=>Hu,esp32_music_set_tempo_extern:()=>Uu,esp32_music_stop:()=>ku,esp32_set_music_volume:()=>Wu,mixbot_actuator_extern_get_addr:()=>br,mixbot_actuator_extern_set_addr:()=>yr,mixbot_addr_extern:()=>Cr,parrot_PIN_init:()=>wr,parrot_move_speed:()=>Hr,pin_led_bright:()=>Br,player_insert_music:()=>Er,player_play_music:()=>mr,player_set_mode:()=>hr,player_set_play:()=>Tr,player_set_volume:()=>Mr,player_whether_stop:()=>Ir,robot_led_extern:()=>Nr,robot_led_extern_get_value:()=>Dr,robot_motor_extern:()=>Sr,robot_motor_extern_get_speed:()=>Ar,robot_servo_extern_absolute_run:()=>vr,robot_servo_extern_get_status:()=>fr,robot_servo_extern_relative_continue:()=>xr,robot_servo_extern_relative_origin:()=>Yr,robot_servo_extern_relative_run:()=>Xr,robot_servo_extern_stop:()=>Pr,robot_servo_extern_stop_mode:()=>Fr,robot_traffic_light_extern:()=>Lr,servo_PIN_init:()=>Gr,servo_get_angle:()=>er,servo_get_speed:()=>ir,servo_init:()=>zu,servo_move:()=>ju,servo_move_angle:()=>Ur,servo_set_angle:()=>Zu,servo_set_speed:()=>tr,servo_speed_360:()=>$u,syn6288_builtin_voice:()=>cr,syn6288_get_voice:()=>Rr,syn6288_set_voice:()=>Or,syn6288_tts_play:()=>gr});var D={};t.r(D),t.d(D,{actuator_dc_motor:()=>gd,actuator_dc_motor_stop:()=>Cd,actuator_get_led_bright:()=>Qr,actuator_get_led_state:()=>qr,actuator_led_bright:()=>Jr,actuator_led_brightness:()=>zr,actuator_mixbot_buzzer_on_off:()=>Dd,actuator_mixgo_nova_mic_get:()=>Yd,actuator_mixgo_nova_mic_set:()=>vd,actuator_mixgo_nova_onboard_music_pitch:()=>Bd,actuator_mixgo_nova_onboard_music_stop:()=>Gd,actuator_mixgo_nova_play_audio:()=>yd,actuator_mixgo_nova_play_online_audio:()=>Vd,actuator_mixgo_nova_record_audio:()=>bd,actuator_mixgo_nova_voice_get:()=>xd,actuator_mixgo_nova_voice_set:()=>Xd,actuator_mixgo_zero_led_color:()=>jr,actuator_onboard_neopixel_rgb:()=>nd,actuator_onboard_neopixel_rgb_all:()=>sd,actuator_onboard_neopixel_rgb_show_all_chase:()=>_d,actuator_onboard_neopixel_rgb_show_all_rainbow:()=>od,actuator_onboard_neopixel_write:()=>pd,actuator_rm_onboard_neopixel_rgb:()=>ad,actuator_rm_onboard_neopixel_rgb_all:()=>ud,actuator_rm_onboard_neopixel_rgb_show_all_chase:()=>rd,actuator_stepper_keep:()=>Rd,actuator_stepper_stop:()=>cd,analog_ble_keyboard_init:()=>tl,analog_ble_keyboard_input:()=>nl,analog_ble_keyboard_mouse_init:()=>dl,analog_ble_keyboard_mouse_input:()=>Ml,analog_ble_keyboard_mouse_send_battery:()=>Tl,analog_ble_keyboard_mouse_str:()=>hl,analog_ble_keyboard_send_battery:()=>ol,analog_ble_keyboard_str:()=>sl,analog_ble_mouse_init:()=>_l,analog_ble_mouse_input:()=>ul,analog_ble_mouse_keyboard_input:()=>ml,analog_ble_mouse_send_battery:()=>rl,analog_keyboard_input:()=>Wd,analog_keyboard_str:()=>Zd,analog_mouse_input:()=>jd,backstage_onboard_music_play_list:()=>Ed,bitbot_motor:()=>Pd,bitbot_move:()=>fd,bitbot_stop:()=>Fd,ble_keyboard_connect:()=>il,ble_keyboard_get_mac:()=>el,ble_keyboard_mouse_connect:()=>Il,ble_keyboard_mouse_get_mac:()=>ll,ble_mouse_connect:()=>al,ble_mouse_get_mac:()=>pl,cc_number:()=>id,educore_ble_keyboard_input:()=>Nl,educore_ble_sensor_connected:()=>Ll,educore_ble_sensor_init:()=>Al,educore_buzzer:()=>El,educore_buzzer_play_tone:()=>Ol,educore_buzzer_play_tone_time:()=>Rl,educore_buzzer_stop:()=>cl,educore_neopixel_clear:()=>Sl,educore_neopixel_rgb:()=>Cl,educore_rgb_light:()=>gl,esp32_music_get_tempo:()=>ld,esp32_music_reset:()=>Id,esp32_music_set_tempo:()=>dd,esp32_onboard_music_pitch:()=>Td,esp32_onboard_music_pitch_with_time:()=>Md,esp32_onboard_music_play_list:()=>md,esp32_onboard_music_stop:()=>hd,general_key:()=>Jd,general_key_tuple:()=>Qd,generalkey_container:()=>qd,generalkey_create_with_item:()=>zd,get_keyboard_light:()=>Dl,get_power_output:()=>wd,ledswitch:()=>Kr,mixbot_motor:()=>Nd,mixbot_motor_status:()=>Sd,mixbot_move:()=>Ad,mixbot_stop:()=>Ld,mouse_key:()=>$d,number:()=>Wr,record_audio:()=>Fl,rm_actuator_get_led_bright:()=>Zr,rm_actuator_get_led_state:()=>td,rm_actuator_led_bright:()=>$r,rm_actuator_led_brightness:()=>ed,rm_motor:()=>Od,set_all_power_output:()=>Hd,set_microphone_amplification:()=>fl,set_music_volume:()=>Pl,set_part_power_output:()=>kd,set_power_output:()=>Ud,special_key:()=>Kd});var f={};t.r(f),t.d(f,{ai_sensor_20object:()=>dI,ai_sensor_ailocal_class:()=>tI,ai_sensor_ailocal_class_result:()=>eI,ai_sensor_ailocal_train:()=>Zl,ai_sensor_asr_recognize:()=>_I,ai_sensor_audio_play:()=>nI,ai_sensor_audio_record:()=>iI,ai_sensor_barcode:()=>Bl,ai_sensor_circle:()=>Wl,ai_sensor_classifier_faces:()=>rI,ai_sensor_color:()=>ql,ai_sensor_color_chases:()=>$l,ai_sensor_color_chases_result:()=>jl,ai_sensor_config:()=>yl,ai_sensor_face:()=>uI,ai_sensor_find_20objects:()=>lI,ai_sensor_find_barcodes:()=>Gl,ai_sensor_find_circles:()=>Kl,ai_sensor_find_colors:()=>zl,ai_sensor_find_licenseplates:()=>aI,ai_sensor_find_lines:()=>kl,ai_sensor_find_qrcodes:()=>bl,ai_sensor_find_rects:()=>Ql,ai_sensor_find_tags:()=>wl,ai_sensor_licenseplate:()=>pI,ai_sensor_line:()=>Hl,ai_sensor_qrcode:()=>Xl,ai_sensor_qrcode_lite:()=>xl,ai_sensor_rect:()=>Jl,ai_sensor_rgb:()=>Vl,ai_sensor_tag:()=>Ul,ai_sensor_use_uart_init:()=>Yl,ai_sensor_yolo_recognize:()=>sI,ai_sensor_yolo_recognize_result:()=>oI});var F={};t.r(F),t.d(F,{MICROPYTHON_AI_Speech_asr:()=>MI,MICROPYTHON_AI_Speech_unit:()=>TI,MICROPYTHON_AI_client:()=>II});var P={};t.r(P),t.d(P,{mpython_blynk_app_data:()=>FI,mpython_blynk_app_notify:()=>CI,mpython_blynk_email:()=>LI,mpython_blynk_get_timers:()=>NI,mpython_blynk_on_connected:()=>RI,mpython_blynk_on_disconnected:()=>OI,mpython_blynk_run:()=>gI,mpython_blynk_sensor_data_to_app:()=>fI,mpython_blynk_set_property:()=>AI,mpython_blynk_setup:()=>PI,mpython_blynk_stop_timers:()=>SI,mpython_blynk_sync_virtual:()=>EI,mpython_blynk_terminal_widget_vpin:()=>mI,mpython_blynktimer:()=>DI,mpython_blynktimer_run:()=>cI});var v={};t.r(v),t.d(v,{communicate_bluetooth_central_init:()=>IT,communicate_bluetooth_connect:()=>mT,communicate_bluetooth_disconnect:()=>ET,communicate_bluetooth_handle:()=>CT,communicate_bluetooth_is_connected:()=>RT,communicate_bluetooth_mac:()=>hT,communicate_bluetooth_peripheral_init:()=>TT,communicate_bluetooth_recv:()=>cT,communicate_bluetooth_recv_only:()=>gT,communicate_bluetooth_scan:()=>MT,communicate_bluetooth_send:()=>OT,communicate_espnow_init:()=>ST,communicate_espnow_init_new:()=>AT,communicate_i2c_available:()=>qI,communicate_i2c_init:()=>xI,communicate_i2c_master_read:()=>QI,communicate_i2c_onboard:()=>YI,communicate_i2c_read:()=>bI,communicate_i2c_scan:()=>VI,communicate_i2c_write:()=>yI,communicate_ir_recv_init:()=>nT,communicate_ir_send_init:()=>aT,communicate_ow_init:()=>jI,communicate_ow_read:()=>ZI,communicate_ow_reset:()=>iT,communicate_ow_scan:()=>$I,communicate_ow_select:()=>eT,communicate_ow_write:()=>tT,communicate_spi_buffer:()=>UI,communicate_spi_init:()=>BI,communicate_spi_onboard:()=>XI,communicate_spi_read:()=>wI,communicate_spi_read_output:()=>HI,communicate_spi_readinto:()=>kI,communicate_spi_readinto_output:()=>WI,communicate_spi_set:()=>GI,communicate_spi_write:()=>KI,communicate_spi_write_readinto:()=>JI,espnow_radio_channel:()=>PT,espnow_radio_channel_new:()=>YT,espnow_radio_on_off:()=>XT,espnow_radio_rec:()=>bT,espnow_radio_recv:()=>VT,espnow_radio_recv_certain_msg:()=>BT,espnow_radio_recv_certain_msg_new:()=>UT,espnow_radio_recv_msg:()=>yT,espnow_radio_recv_new:()=>GT,espnow_radio_send:()=>xT,espnow_radio_txpower:()=>vT,i2c_available:()=>uM,i2c_init:()=>qT,i2c_master_reader2:()=>aM,i2c_read:()=>zT,i2c_scan:()=>$T,i2c_slave_onreceive:()=>zI,i2c_write:()=>jT,internal_variable:()=>sT,ir_recv_timeout:()=>pT,ir_transmit_busy:()=>lT,ir_transmit_conventional_data:()=>uT,ir_transmit_raw_code:()=>dT,ir_transmit_study_code:()=>rT,ir_whether_recv:()=>_T,lora_init:()=>wT,lora_packet:()=>HT,lora_recv:()=>WT,lora_send:()=>kT,network_espnow_info:()=>NT,network_espnow_mac:()=>LT,network_espnow_recv:()=>DT,network_espnow_recv_handle:()=>FT,network_espnow_send:()=>fT,recv_fun:()=>oT,spi_buffer:()=>eM,spi_init:()=>ZT,spi_read:()=>iM,spi_read_output:()=>nM,spi_readinto:()=>sM,spi_readinto_output:()=>oM,spi_set:()=>tM,spi_write:()=>_M,spi_write_readinto:()=>pM,urequests_attribute:()=>JT,urequests_get:()=>KT,urequests_method:()=>QT});var Y={};t.r(Y),t.d(Y,{display_animate:()=>UM,display_blink_rate:()=>yM,display_circle:()=>wM,display_color_seclet:()=>th,display_draw_4strings:()=>PM,display_fill:()=>GM,display_get_screen_image:()=>bM,display_help:()=>kM,display_image_size:()=>vM,display_lcd_use_i2c_init:()=>_h,display_line:()=>XM,display_line_arbitrarily:()=>xM,display_matrix_extern_bright_point:()=>CM,display_matrix_extern_bright_screen:()=>AM,display_matrix_extern_clear:()=>LM,display_matrix_extern_get_pixel:()=>gM,display_matrix_extern_get_screen_pixel:()=>SM,display_matrix_extern_image_builtins:()=>NM,display_matrix_extern_scroll_string:()=>mM,display_matrix_extern_scroll_string_delay:()=>EM,display_matrix_extern_shift:()=>cM,display_matrix_extern_show_frame_string:()=>OM,display_matrix_extern_show_frame_string_delay:()=>RM,display_matrix_extern_show_image:()=>MM,display_matrix_extern_show_image_or_string_delay:()=>hM,display_matrix_use_i2c_init:()=>TM,display_oled_drawPixel:()=>KM,display_oled_showBitmap:()=>WM,display_oled_use_i2c_init:()=>dh,display_onoff:()=>BM,display_rect:()=>YM,display_rgb_color:()=>VM,display_tm1650_power:()=>QM,display_tm1650_set_brightness:()=>jM,display_tm1650_show_dot:()=>zM,display_tm1650_show_num:()=>qM,display_tm_use_i2c_init:()=>JM,display_triangle:()=>HM,display_use_i2c_init:()=>FM,extern_oled_bright_point:()=>gh,extern_oled_clear:()=>Ch,extern_oled_get_pixel:()=>ch,extern_oled_hvline:()=>Ah,extern_oled_line:()=>Lh,extern_oled_scroll_string:()=>hh,extern_oled_scroll_string_delay:()=>mh,extern_oled_shape_rect:()=>Sh,extern_oled_shift:()=>Rh,extern_oled_show_frame_string:()=>Eh,extern_oled_show_frame_string_delay:()=>Oh,extern_oled_show_image:()=>lh,extern_oled_show_image_or_string_delay:()=>Mh,extern_oled_show_image_xy:()=>Ih,extern_oled_show_string:()=>Th,lcd_backlight:()=>uh,lcd_clear:()=>rh,lcd_print_string:()=>ah,lcd_show_image_or_string_delay:()=>ph,matrix_extern_image_arithmetic:()=>DM,matrix_extern_image_invert:()=>fM,tft_fill:()=>sh,tft_line_arbitrarily:()=>oh,tft_scroll_string_delay:()=>ih,tft_show_frame_string_delay:()=>nh,tft_show_image_or_string_delay:()=>eh,tft_show_image_xy:()=>ZM,tft_use_spi_init:()=>$M});var X={};t.r(X),t.d(X,{bitbot_display_bitmap_create:()=>Rm,bitbot_display_image_create:()=>Om,display_available:()=>Qh,display_bitmap_create:()=>yh,display_bright_point:()=>kh,display_bright_screen:()=>Kh,display_clear:()=>Jh,display_get_pixel:()=>Hh,display_get_screen_pixel:()=>Wh,display_image_builtins:()=>Vh,display_image_builtins_all:()=>Bh,display_image_create:()=>bh,display_scroll_string:()=>Fh,display_scroll_string_delay:()=>Ph,display_scroll_way:()=>vh,display_shift:()=>wh,display_show_frame_string:()=>Xh,display_show_frame_string_delay:()=>xh,display_show_image:()=>Dh,display_show_image_or_string_delay:()=>fh,draw_pointer:()=>ym,image_arithmetic:()=>Gh,image_invert:()=>Uh,mixbot_display_bitmap_create:()=>Tm,mixbot_display_bright_screen:()=>mm,mixbot_display_get_ambientbright:()=>hm,mixbot_display_get_screen_pixel:()=>Mm,mixbot_display_image_create:()=>Im,mixbot_display_rotate:()=>Em,mixgo_display_bitmap_create:()=>tm,mixgo_display_image_create_new:()=>Zh,mixgome_display_bitmap_create:()=>zh,mixgome_display_font:()=>em,mixgome_display_image_create:()=>qh,mixgomini_display_bitmap_create:()=>$h,mixgomini_display_image_create:()=>jh,mpython_display_hvline:()=>rm,mpython_display_line:()=>dm,mpython_display_shape_rect:()=>um,mpython_pbm_image:()=>lm,nova_draw_pointer:()=>Vm,onboard_oled_bright_point:()=>am,onboard_oled_scroll_string_delay:()=>_m,onboard_oled_show_frame_string_delay:()=>pm,onboard_oled_show_image:()=>im,onboard_oled_show_image_or_string_delay:()=>om,onboard_oled_show_image_xy:()=>nm,onboard_oled_show_string:()=>sm,onboard_tft_bright_point:()=>fm,onboard_tft_bright_screen:()=>Jm,onboard_tft_clear:()=>Qm,onboard_tft_clock_clear:()=>xm,onboard_tft_clock_draw:()=>Xm,onboard_tft_clock_get_rtctime:()=>vm,onboard_tft_clock_init:()=>Pm,onboard_tft_clock_set_time:()=>Ym,onboard_tft_display_hvline:()=>Lm,onboard_tft_display_line:()=>Nm,onboard_tft_display_shape_circle:()=>bm,onboard_tft_display_shape_rect:()=>Am,onboard_tft_fill:()=>Fm,onboard_tft_get_pixel:()=>Dm,onboard_tft_get_screen_pixel:()=>Km,onboard_tft_scroll_string:()=>Hm,onboard_tft_scroll_string_delay:()=>Yh,onboard_tft_shift:()=>Wm,onboard_tft_show_frame_string:()=>km,onboard_tft_show_frame_string_delay:()=>Sm,onboard_tft_show_image:()=>wm,onboard_tft_show_image_or_string_delay:()=>Cm,onboard_tft_show_image_xy:()=>cm,onboard_tft_show_image_xy_direct:()=>gm,onboard_tft_show_qrcode:()=>Gm,onboard_tft_show_qrcode_details:()=>Um,onboard_tft_show_texts:()=>Bm});var x={};t.r(x),t.d(x,{factory_block:()=>lE,factory_block_return:()=>IE,factory_block_return_with_textarea:()=>ME,factory_block_with_textarea:()=>TE,factory_callMethod_noreturn:()=>rE,factory_callMethod_return:()=>dE,factory_create_with_container:()=>_E,factory_create_with_item:()=>pE,factory_declare:()=>uE,factory_from_import:()=>nE,factory_function_noreturn:()=>oE,factory_function_return:()=>aE,factory_import:()=>sE,folding_block:()=>hE});var b={};t.r(b),t.d(b,{controls_pin_attachInterrupt:()=>VE,inout_analog_atten:()=>LE,inout_analog_read:()=>AE,inout_analog_read_init:()=>vE,inout_analog_write:()=>gE,inout_analog_write_init:()=>PE,inout_analog_write_set:()=>CE,inout_analog_write_set_freq:()=>xE,inout_digital_init:()=>fE,inout_digital_read:()=>RE,inout_digital_write:()=>OE,inout_highlow:()=>EE,inout_pinMode:()=>XE,inout_pin_attachInterrupt:()=>DE,inout_pin_pressed:()=>NE,inout_pin_pressed_init:()=>YE,inout_pwm_analog_write:()=>cE,inout_pwm_analog_write_init:()=>FE,inout_pwm_analog_write_set_freq:()=>SE,pin_pressed:()=>yE,pin_pressed_init:()=>bE});var y={};t.r(y),t.d(y,{IOT_CONNECT_OLLAMA:()=>gO,IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>uO,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>aO,IOT_EMQX_PING:()=>_O,IOT_FORMATTING:()=>sO,IOT_FORMAT_STRING:()=>oO,IOT_MIXIO_NTP:()=>pO,IOT_MIXIO_PUBLISH:()=>zE,IOT_MIXIO_PUBLISHEX:()=>jE,IOT_MIXIO_SUBSCRIBE:()=>$E,iot_checkonenet:()=>OO,iot_client_onboard:()=>dO,iot_connect_ollama:()=>cO,iot_connect_openai:()=>CO,iot_create_with_item:()=>QE,iot_http_client:()=>lO,iot_http_data:()=>IO,iot_mixio_check:()=>eO,iot_mixio_connect:()=>qE,iot_mixio_connect_only:()=>tO,iot_mixio_disconnect:()=>ZE,iot_mixio_format_msg:()=>nO,iot_mixio_format_topic:()=>iO,iot_mixly_key:()=>rO,iot_mqtt_client:()=>TO,iot_mqtt_data:()=>MO,iot_onenet_check:()=>HE,iot_onenet_connect:()=>UE,iot_onenet_disconnect:()=>wE,iot_onenet_publish:()=>WE,iot_onenet_publish_dict:()=>kE,iot_onenetconnect:()=>mO,iot_onenetdisconnect:()=>EO,iot_publish:()=>RO,iot_publish_container:()=>KE,iot_publish_item:()=>JE,iot_tiny_web_db_count:()=>PO,iot_tiny_web_db_delete:()=>YO,iot_tiny_web_db_get:()=>FO,iot_tiny_web_db_init:()=>NO,iot_tiny_web_db_init_with_mqtt:()=>DO,iot_tiny_web_db_search:()=>vO,iot_tiny_web_db_update:()=>fO,iot_wifi_connect:()=>GE,iot_wificonnect:()=>hO,ollama_empty_history:()=>LO,use_ollama_llm_to_chat:()=>SO,use_ollama_llm_to_chat_return:()=>AO});var V={};t.r(V),t.d(V,{educore_mqtt_connect:()=>IR,educore_mqtt_connect_success:()=>mR,educore_mqtt_subscribe_message:()=>TR,educore_mqtt_topic_publish:()=>hR,educore_mqtt_topic_subscribe:()=>MR,educore_wifi_connect:()=>lR,network_ap_connect:()=>kO,network_connect:()=>BO,network_get_connect:()=>UO,network_get_wifi:()=>HO,network_init:()=>xO,network_is_active:()=>yO,network_open:()=>bO,network_scan:()=>VO,network_server:()=>WO,network_socket_accept:()=>zO,network_socket_bind:()=>JO,network_socket_close:()=>iR,network_socket_connect:()=>QO,network_socket_init:()=>KO,network_socket_listen:()=>qO,network_socket_readline:()=>jO,network_socket_receive:()=>$O,network_socket_receive_from:()=>tR,network_socket_send:()=>ZO,network_socket_send_to:()=>eR,network_stop:()=>wO,network_wifi_connect:()=>GO,ntptime_address:()=>pR,ntptime_time:()=>_R,requests_attribute:()=>sR,requests_attribute2:()=>dR,requests_get:()=>nR,requests_get2:()=>uR,requests_method:()=>oR,requests_post:()=>rR});var B={};t.r(B),t.d(B,{pe_g1_battery_left:()=>RR,pe_g1_dc_motor:()=>cR,pe_g1_dc_motor_speed:()=>gR,pe_g1_servo_get_angle:()=>AR,pe_g1_servo_get_speed:()=>LR,pe_g1_servo_set_angle:()=>CR,pe_g1_servo_set_speed:()=>SR,pe_g1_use_i2c_init:()=>OR});var G={};t.r(G),t.d(G,{CI130X_BROADCAST:()=>jR,CI130X_GET_THE_RECOGNIZED_CMD:()=>zR,CI130X_GET_WHETHER_IDENTIFY:()=>qR,CI130X_IDENTIFY_AND_SAVE:()=>QR,CI130X_SET_SYSTEM_CMD:()=>$R,HCSR04:()=>Gc,PS2_Button:()=>kc,PS2_Buttons:()=>Kc,PS2_Buttons_new:()=>zc,PS2_State:()=>Wc,PS2_init:()=>Uc,PS2_init_new:()=>Qc,PS2_stk:()=>Jc,PS2_stk_new:()=>jc,PS2_vibration:()=>Hc,PS2_vibration_new:()=>qc,camera_sensor_init:()=>Ng,camera_sensor_result:()=>Dg,column_tube_foot:()=>Yg,define_keyboards:()=>Xg,educore_body_sensor:()=>mg,educore_button_sensor_extern:()=>cg,educore_camera_sensor:()=>Lg,educore_infrared_sensor:()=>Rg,educore_soilhum_sensor:()=>Eg,educore_temp_sensor:()=>Ag,educore_temphum_sensor:()=>Og,educore_ultrasonic_sensor:()=>Cg,esp32_s2_weather_init:()=>bc,esp32_s2_weather_rain:()=>Vc,esp32_s2_weather_wd:()=>yc,esp32_s2_weather_ws:()=>Bc,extern_rfid_read:()=>gc,extern_rfid_readcontent:()=>Sc,extern_rfid_readid:()=>Cc,extern_rfid_status:()=>Nc,extern_rfid_write:()=>Ac,extern_rfid_write_return:()=>Lc,get_keboards_value:()=>xg,gnss_get_data:()=>eg,gnss_have_data:()=>tg,init_init_rotary_encoder:()=>bg,init_matrix_keyboard:()=>Pg,interaction_whether_to_interaction:()=>KR,interaction_whether_to_interaction_SANT:()=>JR,line_tube_foot:()=>vg,mixbot_sensor_extern_get_addr:()=>ug,mixbot_sensor_extern_set_addr:()=>rg,pm25_get_data:()=>Zc,radar_set_DETECTION_THRESHOLD:()=>kR,radar_set_DETECTION_THRESHOLD_SANT:()=>WR,robot_button_extern_get_value:()=>ng,robot_color_extern_get_value:()=>ag,robot_infrared_extern_get_value:()=>og,robot_infrared_extern_grey_get_value:()=>_g,robot_potentiometer_extern_get_value:()=>pg,robot_sonar_extern_get_value:()=>dg,robot_sonar_extern_led:()=>lg,robot_touch_extern_get_value:()=>sg,rotary_key:()=>yg,sensor_APDS9960_extern:()=>tc,sensor_DS18X20:()=>UR,sensor_LTR308_extern:()=>ec,sensor_LTR390UV_extern:()=>sc,sensor_MAX30102_extern:()=>ZR,sensor_QMC5883L_extern:()=>lc,sensor_VL530LX_extern:()=>oc,sensor_adxl345_get_acceleration:()=>YR,sensor_aht11_extern:()=>pc,sensor_bmp:()=>BR,sensor_compass_reset:()=>Rc,sensor_dht11:()=>xR,sensor_hp203_extern:()=>ac,sensor_light_level:()=>XR,sensor_lm35:()=>wR,sensor_ltr381_extern:()=>ic,sensor_mixgo_extern_button_attachInterrupt:()=>PR,sensor_mixgo_extern_button_get_presses:()=>FR,sensor_mixgo_extern_button_is_pressed:()=>DR,sensor_mixgo_extern_button_was_pressed:()=>fR,sensor_mixgo_extern_light:()=>bR,sensor_mixgo_extern_pin_near:()=>VR,sensor_mixgo_extern_sound:()=>yR,sensor_mixgoce_hot_wheel_degrees:()=>xc,sensor_mixgoce_hot_wheel_is_touched:()=>Xc,sensor_mpu9250_attachGestureInterrupt:()=>vR,sensor_mpu9250_calibrate_compass:()=>mc,sensor_mpu9250_field_strength:()=>Oc,sensor_mpu9250_gesture:()=>Ic,sensor_mpu9250_get_acceleration:()=>Tc,sensor_mpu9250_get_gyro:()=>hc,sensor_mpu9250_get_magnetic:()=>Mc,sensor_mpu9250_temperature:()=>Ec,sensor_ms5611_extern:()=>rc,sensor_ms5611_extern_altitude:()=>dc,sensor_read_humiture:()=>gg,sensor_sht:()=>GR,sensor_shtc3_extern:()=>_c,sensor_spl06_001_extern:()=>uc,sensor_ucs12071_extern:()=>nc,sensor_use_i2c_init:()=>HR,sensor_use_spi_init:()=>cc,sensor_use_uart_init:()=>$c,sensor_weather_solo_init:()=>Ig,sensor_weather_solo_rain:()=>hg,sensor_weather_solo_wd:()=>Tg,sensor_weather_solo_ws:()=>Mg,sensor_weigh_init:()=>fg,tvoc_get_data:()=>ig,ultrasonic_sensor_read_distance:()=>Sg,weather_data:()=>Dc,weather_have_data:()=>fc,weather_set_label:()=>Pc,weather_set_label_container:()=>vc,weather_set_label_item:()=>Yc,weather_uart_mixio:()=>Fc,weigh_sensor_get_weight:()=>Fg});var U={};t.r(U),t.d(U,{HCSR04:()=>tC,RTC_set_date:()=>Zg,RTC_set_time:()=>$g,bitbot_als_num:()=>uS,dht11:()=>hS,educore_button_sensor:()=>AS,educore_button_was_pressed:()=>LS,educore_gyroscope_sensor:()=>gS,educore_gyroscope_sensor_read:()=>CS,educore_gyroscope_sensor_shake:()=>SS,educore_light_sensor:()=>cS,educore_rfid_sensor:()=>NS,educore_rfid_sensor_scan:()=>DS,educore_rfid_sensor_scan_data:()=>fS,educore_voice_sensor:()=>OS,number1:()=>iC,number2:()=>nC,number3:()=>sC,number4:()=>oC,number5:()=>_C,number6:()=>pC,number7:()=>aC,onboard_RTC_get_time:()=>hC,onboard_RTC_get_time_str:()=>gC,onboard_RTC_get_timestamp:()=>mC,onboard_RTC_get_timetuple_to_str:()=>CC,onboard_RTC_set_datetime:()=>RC,onboard_RTC_settime_string:()=>OC,onboard_RTC_timestamp_totuple:()=>EC,rfid_readcontent:()=>FC,rfid_readid:()=>fC,rfid_status:()=>YC,rfid_write:()=>PC,rfid_write_return:()=>vC,sensor_LTR308:()=>SC,sensor_aht11:()=>LC,sensor_bitbot_ALS:()=>aS,sensor_button_get_presses:()=>lS,sensor_button_is_pressed:()=>rS,sensor_button_was_pressed:()=>dS,sensor_distance_hrsc04:()=>jg,sensor_eulerangles:()=>xC,sensor_field_strength:()=>mS,sensor_get_acceleration:()=>XC,sensor_get_temperature:()=>NC,sensor_get_the_coprocessor_version:()=>FS,sensor_hp203:()=>DC,sensor_light:()=>MS,sensor_mixbot_get_gyro:()=>pS,sensor_mixbot_patrol_calibrate:()=>sS,sensor_mixbot_patrol_value:()=>oS,sensor_mixbot_temperature:()=>_S,sensor_mixgo_LTR308:()=>TC,sensor_mixgo_button_attachInterrupt:()=>wg,sensor_mixgo_button_get_presses:()=>Ug,sensor_mixgo_button_is_pressed:()=>Bg,sensor_mixgo_button_was_pressed:()=>Gg,sensor_mixgo_cc_mmc5603_calibrate_compass:()=>KC,sensor_mixgo_cc_mmc5603_get_angle:()=>WC,sensor_mixgo_cc_mmc5603_get_magnetic:()=>kC,sensor_mixgo_light:()=>eC,sensor_mixgo_nova_LTR308:()=>IC,sensor_mixgo_nova_pin_near:()=>lC,sensor_mixgo_pin_near:()=>dC,sensor_mixgo_pin_near_double:()=>rC,sensor_mixgo_pin_near_single:()=>uC,sensor_mixgo_pin_pressed:()=>Jg,sensor_mixgo_sant_color:()=>MC,sensor_mixgo_touch_slide:()=>zg,sensor_mixgocar42_button_attachInterrupt:()=>Kg,sensor_mixgocar42_button_get_presses:()=>Wg,sensor_mixgocar42_button_is_pressed:()=>Hg,sensor_mixgocar42_button_was_pressed:()=>kg,sensor_mixgocar_battery_left:()=>nS,sensor_mixgocar_pin_near:()=>eS,sensor_mixgocar_pin_near_line:()=>tS,sensor_mixgocar_pin_near_state_change:()=>iS,sensor_mixgoce_pin_pressed:()=>Qg,sensor_mixgoce_temperature:()=>QC,sensor_mixgome_temperature:()=>JC,sensor_mpython_pin_pressed:()=>qg,sensor_mpython_qmi8658_get_gyro:()=>qC,sensor_mpython_qmi8658_temperature:()=>zC,sensor_onboard_compass_reset:()=>HC,sensor_onboard_mpu9250_calibrate_compass:()=>GC,sensor_onboard_mpu9250_field_strength:()=>wC,sensor_onboard_mpu9250_gesture:()=>bC,sensor_onboard_mpu9250_get_acceleration:()=>yC,sensor_onboard_mpu9250_get_gyro:()=>BC,sensor_onboard_mpu9250_get_magnetic:()=>VC,sensor_onboard_mpu9250_temperature:()=>UC,sensor_pin_near:()=>TS,sensor_pin_pressed:()=>IS,sensor_read:()=>RS,sensor_rm_acc:()=>ZC,sensor_rm_battery_left:()=>$C,sensor_rm_pin_near_double:()=>jC,sensor_rtc_init:()=>cC,sensor_sound:()=>AC,sensor_temperature:()=>ES,simulated_light_sensor:()=>PS});var w={};t.r(w),t.d(w,{serial_any:()=>US,serial_begin:()=>KS,serial_print:()=>bS,serial_print_byte:()=>xS,serial_print_hex:()=>VS,serial_println:()=>yS,serial_read_from_ai:()=>eA,serial_readline:()=>wS,serial_readstr:()=>GS,serial_readstr_until:()=>HS,serial_receive_data_event:()=>BS,serial_send_to_ai:()=>tA,serial_softserial:()=>WS,serial_softserial_new:()=>kS,system_input:()=>JS,system_print:()=>QS,system_print_container:()=>$S,system_print_end:()=>zS,system_print_inline:()=>qS,system_print_item:()=>ZS,system_print_many:()=>jS});var H={};t.r(H),t.d(H,{Panic_with_status_code:()=>oA,Timer_init:()=>OA,base_delay:()=>gA,controls_delay:()=>sA,controls_delay_new:()=>nA,controls_millis:()=>pA,controls_uname:()=>uA,raw_block:()=>aA,reset:()=>_A,set_system_timer:()=>TA,system_bitbot_shutdown:()=>EA,system_machine_reset:()=>mA,system_ticks_diff:()=>lA,system_timer:()=>dA,system_timer_init:()=>IA,system_wdt_feed:()=>hA,system_wdt_init:()=>MA,time_ticks_diff:()=>cA,timer:()=>rA,timer2:()=>RA});var k={};t.r(k),t.d(k,{Air_daily_content:()=>bA,Air_now_content:()=>fA,Geo_moon_content:()=>VA,Geo_sun_content:()=>yA,Life_suggestion_content:()=>PA,Location_search_content:()=>YA,Tide_daily_content:()=>vA,WEATHER_DAILY:()=>AA,WEATHER_HOUR:()=>LA,WEATHER_NOW:()=>SA,Weather_alarm_content:()=>FA,Weather_daily:()=>XA,Weather_daily_content:()=>xA,Weather_now:()=>NA,Weather_now_content:()=>DA});var W={};t.r(W),t.d(W,{PIN_init:()=>GL,actuator_extern_get_led_bright:()=>_L,actuator_extern_get_led_state:()=>pL,actuator_extern_led_bright:()=>oL,actuator_extern_led_brightness:()=>aL,actuator_ms32006_dcmotor:()=>KA,actuator_ms32006_init:()=>WA,actuator_ms32006_stepper:()=>JA,actuator_neopixel_init:()=>uL,actuator_neopixel_rgb:()=>lL,actuator_neopixel_rgb_all:()=>rL,actuator_neopixel_rgb_show_all_chase:()=>IL,actuator_neopixel_rgb_show_all_rainbow:()=>TL,actuator_neopixel_write:()=>dL,actuator_use_uart_init:()=>ML,backstage_esp32_music_play_list:()=>iL,esp32_music_get_tempo_extern:()=>tL,esp32_music_pitch:()=>qA,esp32_music_pitch_init:()=>QA,esp32_music_pitch_with_time:()=>zA,esp32_music_play_list:()=>eL,esp32_music_reset_extern:()=>nL,esp32_music_set_tempo_extern:()=>ZA,esp32_music_stop:()=>jA,esp32_set_music_volume:()=>$A,mixbot_actuator_extern_get_addr:()=>VL,mixbot_actuator_extern_set_addr:()=>BL,mixbot_addr_extern:()=>AL,parrot_PIN_init:()=>kL,parrot_move_speed:()=>WL,pin_led_bright:()=>UL,player_play_music:()=>RL,player_set_mode:()=>OL,player_set_play:()=>mL,player_set_volume:()=>EL,player_whether_stop:()=>hL,robot_led_extern:()=>fL,robot_led_extern_get_value:()=>FL,robot_motor_extern:()=>LL,robot_motor_extern_get_speed:()=>NL,robot_servo_extern_absolute_run:()=>XL,robot_servo_extern_get_status:()=>PL,robot_servo_extern_relative_continue:()=>yL,robot_servo_extern_relative_origin:()=>xL,robot_servo_extern_relative_run:()=>bL,robot_servo_extern_stop:()=>YL,robot_servo_extern_stop_mode:()=>vL,robot_traffic_light_extern:()=>DL,servo_PIN_init:()=>wL,servo_get_angle:()=>HA,servo_get_speed:()=>kA,servo_init:()=>BA,servo_move:()=>sL,servo_move_angle:()=>HL,servo_set_angle:()=>UA,servo_set_speed:()=>wA,servo_speed_360:()=>GA,syn6288_builtin_voice:()=>CL,syn6288_get_voice:()=>gL,syn6288_set_voice:()=>cL,syn6288_tts_play:()=>SL});var K={};t.r(K),t.d(K,{actuator_dc_motor:()=>RN,actuator_dc_motor_stop:()=>cN,actuator_get_led_bright:()=>nN,actuator_get_led_state:()=>sN,actuator_led_bright:()=>iN,actuator_led_brightness:()=>oN,actuator_mixbot_buzzer_on_off:()=>LN,actuator_mixgo_nova_mic_get:()=>PN,actuator_mixgo_nova_mic_set:()=>FN,actuator_mixgo_nova_onboard_music_pitch:()=>yN,actuator_mixgo_nova_onboard_music_stop:()=>VN,actuator_mixgo_nova_play_audio:()=>xN,actuator_mixgo_nova_play_online_audio:()=>bN,actuator_mixgo_nova_record_audio:()=>XN,actuator_mixgo_nova_voice_get:()=>YN,actuator_mixgo_nova_voice_set:()=>vN,actuator_mixgo_zero_led_color:()=>_N,actuator_onboard_neopixel_rgb:()=>IN,actuator_onboard_neopixel_rgb_all:()=>TN,actuator_onboard_neopixel_rgb_show_all_chase:()=>MN,actuator_onboard_neopixel_rgb_show_all_rainbow:()=>hN,actuator_onboard_neopixel_write:()=>lN,actuator_stepper_keep:()=>EN,actuator_stepper_stop:()=>ON,analog_ble_keyboard_init:()=>zN,analog_ble_keyboard_input:()=>ZN,analog_ble_keyboard_mouse_init:()=>pD,analog_ble_keyboard_mouse_input:()=>dD,analog_ble_keyboard_mouse_send_battery:()=>rD,analog_ble_keyboard_mouse_str:()=>lD,analog_ble_keyboard_send_battery:()=>eD,analog_ble_keyboard_str:()=>tD,analog_ble_mouse_init:()=>iD,analog_ble_mouse_input:()=>oD,analog_ble_mouse_keyboard_input:()=>ID,analog_ble_mouse_send_battery:()=>_D,analog_keyboard_input:()=>HN,analog_keyboard_str:()=>QN,analog_mouse_input:()=>KN,backstage_onboard_music_play_list:()=>$L,bitbot_motor:()=>fN,bitbot_move:()=>NN,bitbot_stop:()=>DN,ble_keyboard_connect:()=>$N,ble_keyboard_get_mac:()=>jN,ble_keyboard_mouse_connect:()=>uD,ble_keyboard_mouse_get_mac:()=>aD,ble_mouse_connect:()=>sD,ble_mouse_get_mac:()=>nD,cc_number:()=>pN,educore_ble_keyboard_input:()=>CD,educore_ble_sensor_connected:()=>gD,educore_ble_sensor_init:()=>cD,educore_buzzer:()=>TD,educore_buzzer_play_tone:()=>MD,educore_buzzer_play_tone_time:()=>hD,educore_buzzer_stop:()=>mD,educore_neopixel_clear:()=>RD,educore_neopixel_rgb:()=>OD,educore_rgb_light:()=>ED,esp32_music_get_tempo:()=>JL,esp32_music_reset:()=>ZL,esp32_music_set_tempo:()=>KL,esp32_onboard_music_pitch:()=>QL,esp32_onboard_music_pitch_with_time:()=>qL,esp32_onboard_music_play_list:()=>jL,esp32_onboard_music_stop:()=>zL,general_key:()=>WN,general_key_tuple:()=>qN,get_keyboard_light:()=>SD,get_power_output:()=>GN,ledswitch:()=>eN,mixbot_motor:()=>AN,mixbot_motor_status:()=>gN,mixbot_move:()=>CN,mixbot_stop:()=>SN,mouse_key:()=>JN,number:()=>tN,record_audio:()=>LD,rm_actuator_get_led_bright:()=>uN,rm_actuator_get_led_state:()=>rN,rm_actuator_led_bright:()=>aN,rm_actuator_led_brightness:()=>dN,rm_motor:()=>mN,set_all_power_output:()=>UN,set_microphone_amplification:()=>AD,set_music_volume:()=>ND,set_part_power_output:()=>wN,set_power_output:()=>BN,special_key:()=>kN});var J={};t.r(J),t.d(J,{ai_sensor_20object:()=>pf,ai_sensor_ailocal_class:()=>qD,ai_sensor_ailocal_class_result:()=>zD,ai_sensor_ailocal_train:()=>QD,ai_sensor_asr_recognize:()=>ef,ai_sensor_audio_play:()=>$D,ai_sensor_audio_record:()=>jD,ai_sensor_barcode:()=>XD,ai_sensor_circle:()=>GD,ai_sensor_classifier_faces:()=>_f,ai_sensor_color:()=>kD,ai_sensor_color_chases:()=>JD,ai_sensor_color_chases_result:()=>KD,ai_sensor_config:()=>FD,ai_sensor_face:()=>of,ai_sensor_find_20objects:()=>af,ai_sensor_find_barcodes:()=>xD,ai_sensor_find_circles:()=>UD,ai_sensor_find_colors:()=>WD,ai_sensor_find_licenseplates:()=>sf,ai_sensor_find_lines:()=>BD,ai_sensor_find_qrcodes:()=>YD,ai_sensor_find_rects:()=>HD,ai_sensor_find_tags:()=>yD,ai_sensor_licenseplate:()=>nf,ai_sensor_line:()=>VD,ai_sensor_qrcode:()=>vD,ai_sensor_qrcode_lite:()=>fD,ai_sensor_rect:()=>wD,ai_sensor_rgb:()=>PD,ai_sensor_tag:()=>bD,ai_sensor_use_uart_init:()=>DD,ai_sensor_yolo_recognize:()=>ZD,ai_sensor_yolo_recognize_result:()=>tf});var Q={};t.r(Q),t.d(Q,{MICROPYTHON_AI_Speech_asr:()=>df,MICROPYTHON_AI_Speech_unit:()=>rf,MICROPYTHON_AI_client:()=>uf});var q={};t.r(q),t.d(q,{mpython_blynk_app_data:()=>Cf,mpython_blynk_app_notify:()=>Ef,mpython_blynk_email:()=>Sf,mpython_blynk_get_timers:()=>Rf,mpython_blynk_on_connected:()=>Mf,mpython_blynk_on_disconnected:()=>Tf,mpython_blynk_run:()=>mf,mpython_blynk_sensor_data_to_app:()=>gf,mpython_blynk_set_property:()=>Af,mpython_blynk_setup:()=>Lf,mpython_blynk_stop_timers:()=>Of,mpython_blynk_sync_virtual:()=>If,mpython_blynk_terminal_widget_vpin:()=>lf,mpython_blynktimer:()=>cf,mpython_blynktimer_run:()=>hf});var z={};t.r(z),t.d(z,{communicate_bluetooth_central_init:()=>pF,communicate_bluetooth_connect:()=>rF,communicate_bluetooth_disconnect:()=>dF,communicate_bluetooth_handle:()=>mF,communicate_bluetooth_is_connected:()=>IF,communicate_bluetooth_mac:()=>lF,communicate_bluetooth_peripheral_init:()=>aF,communicate_bluetooth_recv:()=>hF,communicate_bluetooth_recv_only:()=>MF,communicate_bluetooth_scan:()=>uF,communicate_bluetooth_send:()=>TF,communicate_espnow_init:()=>EF,communicate_espnow_init_new:()=>OF,communicate_i2c_available:()=>Xf,communicate_i2c_init:()=>ff,communicate_i2c_master_read:()=>Yf,communicate_i2c_onboard:()=>Nf,communicate_i2c_read:()=>Ff,communicate_i2c_scan:()=>vf,communicate_i2c_write:()=>Pf,communicate_ir_recv_init:()=>jf,communicate_ir_send_init:()=>iF,communicate_ow_init:()=>Wf,communicate_ow_read:()=>Qf,communicate_ow_reset:()=>Jf,communicate_ow_scan:()=>Kf,communicate_ow_select:()=>zf,communicate_ow_write:()=>qf,communicate_spi_buffer:()=>Vf,communicate_spi_init:()=>bf,communicate_spi_onboard:()=>Df,communicate_spi_read:()=>Bf,communicate_spi_read_output:()=>Gf,communicate_spi_readinto:()=>Uf,communicate_spi_readinto_output:()=>wf,communicate_spi_set:()=>yf,communicate_spi_write:()=>Hf,communicate_spi_write_readinto:()=>kf,espnow_radio_channel:()=>AF,espnow_radio_channel_new:()=>NF,espnow_radio_on_off:()=>DF,espnow_radio_rec:()=>FF,espnow_radio_recv:()=>vF,espnow_radio_recv_certain_msg:()=>YF,espnow_radio_recv_certain_msg_new:()=>xF,espnow_radio_recv_msg:()=>PF,espnow_radio_recv_new:()=>XF,espnow_radio_send:()=>fF,espnow_radio_txpower:()=>LF,i2c_slave_onreceive:()=>xf,internal_variable:()=>$f,ir_recv_timeout:()=>eF,ir_transmit_busy:()=>_F,ir_transmit_conventional_data:()=>nF,ir_transmit_raw_code:()=>oF,ir_transmit_study_code:()=>sF,ir_whether_recv:()=>tF,lora_init:()=>bF,lora_packet:()=>yF,lora_recv:()=>BF,lora_send:()=>VF,network_espnow_info:()=>cF,network_espnow_mac:()=>RF,network_espnow_recv:()=>gF,network_espnow_recv_handle:()=>SF,network_espnow_send:()=>CF,recv_fun:()=>Zf,urequests_attribute:()=>UF,urequests_get:()=>GF,urequests_method:()=>wF});var j={};t.r(j),t.d(j,{display_animate:()=>IP,display_circle:()=>TP,display_color_seclet:()=>AP,display_draw_4strings:()=>_P,display_fill:()=>lP,display_lcd_use_i2c_init:()=>PP,display_line:()=>uP,display_line_arbitrarily:()=>pP,display_matrix_extern_bright_point:()=>ZF,display_matrix_extern_bright_screen:()=>eP,display_matrix_extern_clear:()=>zF,display_matrix_extern_get_pixel:()=>$F,display_matrix_extern_get_screen_pixel:()=>tP,display_matrix_extern_image_builtins:()=>iP,display_matrix_extern_scroll_string:()=>QF,display_matrix_extern_scroll_string_delay:()=>qF,display_matrix_extern_shift:()=>jF,display_matrix_extern_show_frame_string:()=>KF,display_matrix_extern_show_frame_string_delay:()=>JF,display_matrix_extern_show_image:()=>kF,display_matrix_extern_show_image_or_string_delay:()=>WF,display_matrix_use_i2c_init:()=>HF,display_oled_drawPixel:()=>mP,display_oled_showBitmap:()=>hP,display_oled_use_i2c_init:()=>bP,display_onoff:()=>rP,display_rect:()=>aP,display_tm1650_power:()=>OP,display_tm1650_set_brightness:()=>gP,display_tm1650_show_dot:()=>cP,display_tm1650_show_num:()=>RP,display_tm_use_i2c_init:()=>EP,display_triangle:()=>MP,display_use_i2c_init:()=>oP,extern_oled_bright_point:()=>QP,extern_oled_clear:()=>WP,extern_oled_get_pixel:()=>JP,extern_oled_hvline:()=>zP,extern_oled_line:()=>jP,extern_oled_scroll_string:()=>HP,extern_oled_scroll_string_delay:()=>kP,extern_oled_shape_rect:()=>qP,extern_oled_shift:()=>KP,extern_oled_show_frame_string:()=>UP,extern_oled_show_frame_string_delay:()=>wP,extern_oled_show_image:()=>yP,extern_oled_show_image_or_string_delay:()=>GP,extern_oled_show_image_xy:()=>VP,extern_oled_show_string:()=>BP,image_shift:()=>dP,lcd_backlight:()=>XP,lcd_clear:()=>xP,lcd_print_string:()=>YP,lcd_show_image_or_string_delay:()=>vP,matrix_extern_image_arithmetic:()=>nP,matrix_extern_image_invert:()=>sP,tft_fill:()=>fP,tft_line_arbitrarily:()=>FP,tft_scroll_string_delay:()=>DP,tft_show_frame_string_delay:()=>NP,tft_show_image_or_string_delay:()=>LP,tft_show_image_xy:()=>SP,tft_use_spi_init:()=>CP});var $={};t.r($),t.d($,{bitbot_display_bitmap_create:()=>kv,bitbot_display_image_create:()=>Hv,display_available:()=>dv,display_bitmap_create:()=>uv,display_bright_point:()=>hv,display_bright_screen:()=>Ev,display_clear:()=>rv,display_get_pixel:()=>Mv,display_get_screen_pixel:()=>mv,display_image_builtins:()=>_v,display_image_builtins_all:()=>pv,display_image_create:()=>av,display_scroll_string:()=>iv,display_scroll_string_delay:()=>nv,display_scroll_way:()=>sv,display_shift:()=>Tv,display_show_frame_string:()=>tv,display_show_frame_string_delay:()=>ev,display_show_image:()=>$P,display_show_image_or_string_delay:()=>ZP,draw_pointer:()=>pY,image_arithmetic:()=>lv,image_invert:()=>Iv,mixbot_display_bitmap_create:()=>Vv,mixbot_display_bright_screen:()=>Uv,mixbot_display_get_ambientbright:()=>Gv,mixbot_display_get_screen_pixel:()=>Bv,mixbot_display_image_create:()=>yv,mixbot_display_rotate:()=>wv,mixgo_display_bitmap_create:()=>Av,mixgo_display_image_create_new:()=>Sv,mixgome_display_bitmap_create:()=>Rv,mixgome_display_font:()=>Cv,mixgome_display_image_create:()=>Ov,mixgomini_display_bitmap_create:()=>gv,mixgomini_display_image_create:()=>cv,mpython_display_hvline:()=>xv,mpython_display_line:()=>bv,mpython_display_shape_rect:()=>Xv,mpython_pbm_image:()=>Lv,nova_draw_pointer:()=>aY,onboard_oled_bright_point:()=>Yv,onboard_oled_scroll_string_delay:()=>vv,onboard_oled_show_frame_string_delay:()=>Pv,onboard_oled_show_image:()=>Nv,onboard_oled_show_image_or_string_delay:()=>Fv,onboard_oled_show_image_xy:()=>Dv,onboard_oled_show_string:()=>fv,onboard_tft_bright_point:()=>Zv,onboard_tft_bright_screen:()=>hY,onboard_tft_clear:()=>mY,onboard_tft_clock_clear:()=>oY,onboard_tft_clock_draw:()=>sY,onboard_tft_clock_get_rtctime:()=>iY,onboard_tft_clock_init:()=>eY,onboard_tft_clock_set_time:()=>nY,onboard_tft_display_hvline:()=>zv,onboard_tft_display_line:()=>jv,onboard_tft_display_shape_circle:()=>_Y,onboard_tft_display_shape_rect:()=>qv,onboard_tft_fill:()=>tY,onboard_tft_get_pixel:()=>$v,onboard_tft_get_screen_pixel:()=>MY,onboard_tft_scroll_string_delay:()=>ov,onboard_tft_shift:()=>TY,onboard_tft_show_frame_string:()=>IY,onboard_tft_show_frame_string_delay:()=>Qv,onboard_tft_show_image:()=>lY,onboard_tft_show_image_or_string_delay:()=>Jv,onboard_tft_show_image_xy:()=>Wv,onboard_tft_show_image_xy_direct:()=>Kv,onboard_tft_show_qrcode:()=>rY,onboard_tft_show_qrcode_details:()=>dY,onboard_tft_show_texts:()=>uY});var Z={};t.r(Z),t.d(Z,{factory_block:()=>AY,factory_block_return:()=>LY,factory_block_return_with_textarea:()=>DY,factory_block_with_textarea:()=>NY,factory_callMethod_noreturn:()=>CY,factory_callMethod_return:()=>SY,factory_declare:()=>gY,factory_from_import:()=>EY,factory_function_noreturn:()=>RY,factory_function_return:()=>cY,factory_import:()=>OY,folding_block:()=>fY});var tt={};t.r(tt),t.d(tt,{inout_analog_atten:()=>kY,inout_analog_read:()=>yY,inout_analog_read_init:()=>HY,inout_analog_write:()=>XY,inout_analog_write_init:()=>wY,inout_analog_write_set:()=>xY,inout_digital_init:()=>GY,inout_digital_read:()=>vY,inout_digital_write:()=>PY,inout_highlow:()=>FY,inout_pin_attachInterrupt:()=>BY,inout_pin_pressed:()=>VY,inout_pin_pressed_init:()=>WY,inout_pwm_analog_write:()=>YY,inout_pwm_analog_write_init:()=>UY,inout_pwm_analog_write_set_freq:()=>bY});var et={};t.r(et),t.d(et,{IOT_CONNECT_OLLAMA:()=>RX,IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>dX,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>uX,IOT_EMQX_PING:()=>lX,IOT_FORMATTING:()=>pX,IOT_FORMAT_STRING:()=>aX,IOT_MIXIO_NTP:()=>IX,IOT_MIXIO_PUBLISH:()=>ZY,IOT_MIXIO_PUBLISHEX:()=>tX,IOT_MIXIO_SUBSCRIBE:()=>eX,iot_client_onboard:()=>TX,iot_connect_ollama:()=>OX,iot_connect_openai:()=>cX,iot_http_client:()=>MX,iot_http_data:()=>hX,iot_mixio_check:()=>sX,iot_mixio_connect:()=>$Y,iot_mixio_connect_only:()=>nX,iot_mixio_disconnect:()=>iX,iot_mixio_format_msg:()=>_X,iot_mixio_format_topic:()=>oX,iot_mixly_key:()=>rX,iot_mqtt_client:()=>mX,iot_mqtt_data:()=>EX,iot_onenet_check:()=>zY,iot_onenet_connect:()=>JY,iot_onenet_disconnect:()=>QY,iot_onenet_publish:()=>jY,iot_onenet_publish_dict:()=>qY,iot_tiny_web_db_count:()=>fX,iot_tiny_web_db_delete:()=>PX,iot_tiny_web_db_get:()=>DX,iot_tiny_web_db_init:()=>AX,iot_tiny_web_db_init_with_mqtt:()=>LX,iot_tiny_web_db_search:()=>FX,iot_tiny_web_db_update:()=>NX,iot_wifi_connect:()=>KY,ollama_empty_history:()=>SX,use_ollama_llm_to_chat:()=>gX,use_ollama_llm_to_chat_return:()=>CX});var it={};t.r(it),t.d(it,{educore_mqtt_connect:()=>ux,educore_mqtt_connect_success:()=>Ix,educore_mqtt_subscribe_message:()=>rx,educore_mqtt_topic_publish:()=>lx,educore_mqtt_topic_subscribe:()=>dx,educore_wifi_connect:()=>ax,network_ap_connect:()=>GX,network_connect:()=>YX,network_get_connect:()=>xX,network_get_wifi:()=>BX,network_init:()=>vX,network_is_active:()=>VX,network_open:()=>yX,network_scan:()=>UX,network_server:()=>wX,network_socket_accept:()=>JX,network_socket_bind:()=>kX,network_socket_close:()=>ZX,network_socket_connect:()=>WX,network_socket_init:()=>HX,network_socket_listen:()=>KX,network_socket_readline:()=>QX,network_socket_receive:()=>qX,network_socket_receive_from:()=>jX,network_socket_send:()=>zX,network_socket_send_to:()=>$X,network_stop:()=>bX,network_wifi_connect:()=>XX,ntptime_address:()=>sx,ntptime_time:()=>nx,requests_attribute:()=>ex,requests_attribute2:()=>_x,requests_get:()=>tx,requests_get2:()=>ox,requests_method:()=>ix,requests_post:()=>px});var nt={};t.r(nt),t.d(nt,{pe_g1_battery_left:()=>Mx,pe_g1_dc_motor:()=>hx,pe_g1_dc_motor_speed:()=>mx,pe_g1_servo_get_angle:()=>Rx,pe_g1_servo_get_speed:()=>cx,pe_g1_servo_set_angle:()=>Ex,pe_g1_servo_set_speed:()=>Ox,pe_g1_use_i2c_init:()=>Tx});var st={};t.r(st),t.d(st,{CI130X_BROADCAST:()=>kx,CI130X_GET_THE_RECOGNIZED_CMD:()=>Hx,CI130X_GET_WHETHER_IDENTIFY:()=>wx,CI130X_IDENTIFY_AND_SAVE:()=>Ux,CI130X_SET_SYSTEM_CMD:()=>Wx,HCSR04:()=>Cb,PS2_Button:()=>Lb,PS2_Buttons:()=>Nb,PS2_Buttons_new:()=>xb,PS2_State:()=>Db,PS2_init:()=>Sb,PS2_init_new:()=>Yb,PS2_stk:()=>fb,PS2_stk_new:()=>bb,PS2_vibration:()=>Ab,PS2_vibration_new:()=>Xb,RTC_get_time:()=>Pb,RTC_set_date:()=>fx,RTC_set_datetime:()=>Fb,RTC_set_time:()=>Dx,camera_sensor_init:()=>Iy,camera_sensor_result:()=>Ty,column_tube_foot:()=>Ey,define_keyboards:()=>Oy,educore_body_sensor:()=>ny,educore_button_sensor_extern:()=>py,educore_camera_sensor:()=>ly,educore_infrared_sensor:()=>_y,educore_soilhum_sensor:()=>sy,educore_temp_sensor:()=>dy,educore_temphum_sensor:()=>oy,educore_ultrasonic_sensor:()=>uy,esp32_s2_weather_init:()=>Ob,esp32_s2_weather_rain:()=>cb,esp32_s2_weather_wd:()=>Rb,esp32_s2_weather_ws:()=>gb,extern_rfid_read:()=>pb,extern_rfid_readcontent:()=>ub,extern_rfid_readid:()=>ab,extern_rfid_status:()=>lb,extern_rfid_write:()=>rb,extern_rfid_write_return:()=>db,get_keboards_value:()=>cy,gnss_get_data:()=>Bb,gnss_have_data:()=>Gb,init_init_rotary_encoder:()=>gy,init_matrix_keyboard:()=>Ry,interaction_whether_to_interaction:()=>Bx,interaction_whether_to_interaction_SANT:()=>Gx,line_tube_foot:()=>my,mixbot_sensor_extern_get_addr:()=>zb,mixbot_sensor_extern_set_addr:()=>jb,pm25_get_data:()=>Vb,radar_set_DETECTION_THRESHOLD:()=>yx,radar_set_DETECTION_THRESHOLD_SANT:()=>Vx,robot_button_extern_get_value:()=>wb,robot_color_extern_get_value:()=>Jb,robot_infrared_extern_get_value:()=>kb,robot_infrared_extern_grey_get_value:()=>Wb,robot_potentiometer_extern_get_value:()=>Kb,robot_sonar_extern_get_value:()=>Qb,robot_sonar_extern_led:()=>qb,robot_touch_extern_get_value:()=>Hb,rotary_key:()=>Cy,sensor_APDS9960_extern:()=>Jx,sensor_DS18X20:()=>iy,sensor_LTR308_extern:()=>Qx,sensor_LTR390UV_extern:()=>eb,sensor_MAX30102_extern:()=>Kx,sensor_QMC5883L_extern:()=>ib,sensor_VL530LX_extern:()=>ob,sensor_aht11_extern:()=>sb,sensor_bmp:()=>Xx,sensor_dht11:()=>vb,sensor_distance_hrsc04:()=>Nx,sensor_hp203_extern:()=>qx,sensor_ltr381_extern:()=>Zx,sensor_mixgo_extern_button_attachInterrupt:()=>Ax,sensor_mixgo_extern_button_get_presses:()=>Sx,sensor_mixgo_extern_button_is_pressed:()=>gx,sensor_mixgo_extern_button_was_pressed:()=>Cx,sensor_mixgo_extern_light:()=>Fx,sensor_mixgo_extern_pin_near:()=>vx,sensor_mixgo_extern_sound:()=>Px,sensor_mixgoce_hot_wheel_degrees:()=>Eb,sensor_mixgoce_hot_wheel_is_touched:()=>mb,sensor_mpu9250_attachGestureInterrupt:()=>Lx,sensor_ms5611_extern:()=>jx,sensor_ms5611_extern_altitude:()=>$x,sensor_read_humiture:()=>ay,sensor_rtc_init:()=>Yx,sensor_sht:()=>xx,sensor_shtc3_extern:()=>nb,sensor_spl06_001_extern:()=>zx,sensor_ucs12071_extern:()=>tb,sensor_use_i2c_init:()=>bx,sensor_use_spi_init:()=>_b,sensor_use_uart_init:()=>yb,sensor_weather_solo_init:()=>$b,sensor_weather_solo_rain:()=>ey,sensor_weather_solo_wd:()=>Zb,sensor_weather_solo_ws:()=>ty,sensor_weigh_init:()=>My,tvoc_get_data:()=>Ub,ultrasonic_sensor_read_distance:()=>ry,weather_data:()=>Ib,weather_have_data:()=>Tb,weather_set_label:()=>hb,weather_uart_mixio:()=>Mb,weigh_sensor_get_weight:()=>hy});var ot={};t.r(ot),t.d(ot,{HCSR04:()=>vy,bitbot_als_num:()=>tB,dht11:()=>aB,educore_button_sensor:()=>MB,educore_button_was_pressed:()=>hB,educore_gyroscope_sensor:()=>lB,educore_gyroscope_sensor_read:()=>IB,educore_gyroscope_sensor_shake:()=>TB,educore_light_sensor:()=>dB,educore_rfid_sensor:()=>mB,educore_rfid_sensor_scan:()=>EB,educore_rfid_sensor_scan_data:()=>OB,educore_voice_sensor:()=>uB,number1:()=>Yy,number2:()=>Xy,number3:()=>xy,number4:()=>by,number5:()=>yy,number6:()=>Vy,number7:()=>By,onboard_RTC_get_time:()=>FV,onboard_RTC_get_time_str:()=>YV,onboard_RTC_get_timestamp:()=>PV,onboard_RTC_get_timetuple_to_str:()=>XV,onboard_RTC_set_datetime:()=>DV,onboard_RTC_settime_string:()=>fV,onboard_RTC_timestamp_totuple:()=>vV,rfid_readcontent:()=>eV,rfid_readid:()=>tV,rfid_status:()=>sV,rfid_write:()=>iV,rfid_write_return:()=>nV,sensor_LTR308:()=>qy,sensor_adxl345_get_acceleration:()=>IV,sensor_aht11:()=>$y,sensor_bitbot_ALS:()=>ZV,sensor_button_get_presses:()=>nB,sensor_button_is_pressed:()=>eB,sensor_button_was_pressed:()=>iB,sensor_compass_reset:()=>OV,sensor_ds18x20:()=>Jy,sensor_eulerangles:()=>_V,sensor_get_acceleration:()=>oV,sensor_get_temperature:()=>Zy,sensor_get_the_coprocessor_version:()=>RB,sensor_hp203:()=>jy,sensor_light:()=>pB,sensor_lm35:()=>Qy,sensor_mixbot_get_gyro:()=>$V,sensor_mixbot_patrol_calibrate:()=>qV,sensor_mixbot_patrol_value:()=>zV,sensor_mixbot_temperature:()=>jV,sensor_mixgo_LTR308:()=>ky,sensor_mixgo_button_attachInterrupt:()=>Ny,sensor_mixgo_button_get_presses:()=>Ly,sensor_mixgo_button_is_pressed:()=>Sy,sensor_mixgo_button_was_pressed:()=>Ay,sensor_mixgo_cc_mmc5603_calibrate_compass:()=>yV,sensor_mixgo_cc_mmc5603_get_angle:()=>bV,sensor_mixgo_cc_mmc5603_get_magnetic:()=>xV,sensor_mixgo_light:()=>_B,sensor_mixgo_nova_LTR308:()=>Ky,sensor_mixgo_nova_pin_near:()=>Hy,sensor_mixgo_pin_near:()=>wy,sensor_mixgo_pin_near_double:()=>Uy,sensor_mixgo_pin_near_single:()=>Gy,sensor_mixgo_pin_pressed:()=>dV,sensor_mixgo_sant_color:()=>Wy,sensor_mixgo_touch_slide:()=>rV,sensor_mixgocar42_button_attachInterrupt:()=>Py,sensor_mixgocar42_button_get_presses:()=>Fy,sensor_mixgocar42_button_is_pressed:()=>Dy,sensor_mixgocar42_button_was_pressed:()=>fy,sensor_mixgocar_battery_left:()=>QV,sensor_mixgocar_pin_near:()=>KV,sensor_mixgocar_pin_near_line:()=>WV,sensor_mixgocar_pin_near_state_change:()=>JV,sensor_mixgoce_pin_pressed:()=>uV,sensor_mixgoce_temperature:()=>BV,sensor_mixgome_temperature:()=>VV,sensor_mpu9250_calibrate_compass:()=>hV,sensor_mpu9250_field_strength:()=>EV,sensor_mpu9250_gesture:()=>pV,sensor_mpu9250_get_acceleration:()=>aV,sensor_mpu9250_get_gyro:()=>MV,sensor_mpu9250_get_magnetic:()=>TV,sensor_mpu9250_temperature:()=>mV,sensor_mpython_pin_pressed:()=>lV,sensor_mpython_qmi8658_get_gyro:()=>GV,sensor_mpython_qmi8658_temperature:()=>UV,sensor_onboard_compass_reset:()=>NV,sensor_onboard_mpu9250_calibrate_compass:()=>SV,sensor_onboard_mpu9250_field_strength:()=>LV,sensor_onboard_mpu9250_gesture:()=>RV,sensor_onboard_mpu9250_get_acceleration:()=>cV,sensor_onboard_mpu9250_get_gyro:()=>CV,sensor_onboard_mpu9250_get_magnetic:()=>gV,sensor_onboard_mpu9250_temperature:()=>AV,sensor_pin_near:()=>oB,sensor_pin_pressed:()=>sB,sensor_read:()=>rB,sensor_rm_acc:()=>kV,sensor_rm_battery_left:()=>HV,sensor_rm_pin_near_double:()=>wV,sensor_sound:()=>zy,simulated_light_sensor:()=>cB});var _t={};t.r(_t),t.d(_t,{serial_any:()=>LB,serial_print:()=>gB,serial_print_byte:()=>CB,serial_print_hex:()=>AB,serial_println:()=>SB,serial_read_from_ai:()=>yB,serial_readline:()=>DB,serial_readstr:()=>NB,serial_send_to_ai:()=>bB,serial_softserial:()=>fB,serial_softserial_new:()=>FB,system_input:()=>PB,system_print:()=>vB,system_print_end:()=>XB,system_print_inline:()=>YB,system_print_many:()=>xB});var pt={};t.r(pt),t.d(pt,{Panic_with_status_code:()=>qB,Timer_init:()=>dG,base_delay:()=>TG,controls_delay:()=>tG,controls_delay_new:()=>eG,controls_end_program:()=>jB,controls_millis:()=>zB,controls_uname:()=>ZB,reset:()=>$B,set_system_timer:()=>nG,system_bitbot_shutdown:()=>rG,system_device_name:()=>JB,system_device_serial_number:()=>QB,system_event_bus_source:()=>WB,system_event_bus_value:()=>KB,system_machine_reset:()=>uG,system_on_event:()=>wB,system_raise_event:()=>UB,system_reset:()=>BB,system_run_in_background:()=>VB,system_ticks_diff:()=>sG,system_timer:()=>_G,system_timer_init:()=>oG,system_timestamp:()=>HB,system_value:()=>kB,system_wait:()=>GB,system_wdt_feed:()=>aG,system_wdt_init:()=>pG,time_ticks_diff:()=>IG,timer:()=>iG,timer2:()=>lG});var at={};t.r(at),t.d(at,{Air_daily_content:()=>NG,Air_now_content:()=>RG,Geo_moon_content:()=>fG,Geo_sun_content:()=>DG,Life_suggestion_content:()=>gG,Location_search_content:()=>SG,Tide_daily_content:()=>CG,WEATHER_DAILY:()=>hG,WEATHER_HOUR:()=>mG,WEATHER_NOW:()=>MG,Weather_alarm_content:()=>cG,Weather_daily:()=>AG,Weather_daily_content:()=>LG,Weather_now:()=>EG,Weather_now_content:()=>OG});var ut={};t.r(ut),t.d(ut,{MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED:()=>vG});var rt={};t.r(rt),t.d(rt,{MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED:()=>XG});var dt={};t.r(dt),t.d(dt,{MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED:()=>bG});var lt={};t.r(lt),t.d(lt,{analog_input:()=>qG,analog_output:()=>jG,espnow_channel:()=>KG,haskylens_model:()=>JG,i2c_A_pin:()=>$G,i2c_B_pin:()=>ZG,pins_analog:()=>sU,pins_analog_pin:()=>oU,pins_axis:()=>cU,pins_brightness:()=>gU,pins_builtinimg:()=>TU,pins_builtinimg_extern:()=>MU,pins_button:()=>aU,pins_dac:()=>_U,pins_dac_pin:()=>pU,pins_digital:()=>UG,pins_digital_dot:()=>FU,pins_digital_pin:()=>wG,pins_exlcdh:()=>OU,pins_exlcdv:()=>RU,pins_imglist:()=>hU,pins_input_pin:()=>HG,pins_mpython_touch:()=>WG,pins_one_more:()=>fU,pins_output_pin:()=>kG,pins_playlist:()=>mU,pins_playlist_extern:()=>EU,pins_pwm:()=>uU,pins_pwm_pin:()=>rU,pins_radio_datarate:()=>DU,pins_radio_power:()=>NU,pins_serial:()=>IU,pins_tone_notes:()=>LU,pins_touch:()=>lU,pins_touch_pin:()=>dU,pins_tts_bgmusic:()=>AU,pins_tts_builtin_music:()=>SU,pins_tts_voice:()=>CU,pwm_input:()=>QG,pwm_output:()=>zG,spi_A_pin:()=>tU,spi_B_pin:()=>eU,spi_C_pin:()=>iU,spi_D_pin:()=>nU,timer_id_pin:()=>PU});var It={};t.r(It),t.d(It,{espnow_channel:()=>UU,haskylens_model:()=>wU,pins_analog:()=>VU,pins_analog_pin:()=>yU,pins_axis:()=>ew,pins_brightness:()=>sw,pins_builtinimg:()=>zU,pins_builtinimg_extern:()=>jU,pins_button:()=>YU,pins_dac:()=>WU,pins_dac_pin:()=>kU,pins_digital:()=>vU,pins_digital_dot:()=>lw,pins_digital_pin:()=>XU,pins_exlcdh:()=>iw,pins_exlcdv:()=>nw,pins_imglist:()=>$U,pins_input_pin:()=>xU,pins_interrupt:()=>QU,pins_mpython_touch:()=>HU,pins_one_more:()=>dw,pins_output_pin:()=>bU,pins_playlist:()=>ZU,pins_playlist_extern:()=>tw,pins_pwm:()=>GU,pins_pwm_pin:()=>BU,pins_radio_datarate:()=>rw,pins_radio_power:()=>uw,pins_serial:()=>qU,pins_tone_notes:()=>aw,pins_touch:()=>JU,pins_touch_pin:()=>KU,pins_tts_bgmusic:()=>pw,pins_tts_builtin_music:()=>_w,pins_tts_voice:()=>ow,timer_id_pin:()=>Iw});const Tt=Blockly,Mt=Mixly,ht={NAME_TYPE:"VARIABLE",allVariables:function(t){var e;if(t.getDescendants)e=t.getDescendants();else{if(!t.getAllBlocks)throw"Not Block or Workspace: "+t;e=t.getAllBlocks()}for(var i=Object.create(null),n=0;n1&&(_+=n)):i=_}else i="i";return i}},mt=ht; +/** + * @license + * Visual Blocks Editor + * + * Copyright 2012 Google Inc. + * https://developers.google.com/blockly/ + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +class Et{constructor(t,e){if(this.variablePrefix_=e||"",this.reservedDict_=Object.create(null),t)for(var i=t.split(","),n=0;n0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(Tt.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+s).appendField(Tt.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(Tt.Msg.CONTROLS_IF_MSG_ELSE);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_if_if");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_if_elseif");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var o=t.newBlock("controls_if_else");o.initSvg(),i.connect(o.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],o=null;i;){switch(i.type){case"controls_if_elseif":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_if_else":this.elseCount_++,o=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,o)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_if_elseif":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_if_else":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),o=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(o.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(Tt.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+t).appendField(Tt.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(Tt.Msg.CONTROLS_IF_MSG_ELSE)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},yt={init:function(){this.setColour(Pt),this.appendValueInput("FROM").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.PYTHON_RANGE).appendField(Tt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.PYTHON_RANGE_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Tt.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},Vt={init:function(){this.setColour(Pt),this.appendValueInput("LIST").setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.CONTROLS_FOREACH_INPUT),this.appendValueInput("VAR").appendField(Tt.Msg.CONTROLS_FOREACH_INPUT_ITEM),this.appendStatementInput("DO").appendField(Tt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip((function(){return Tt.Msg.CONTROLS_FOR_TOOLTIP.replace("“%1”","")}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Tt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Bt={init:function(){this.setColour(Pt),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(Tt.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(new Tt.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(Tt.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT+Tt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return{WHILE:Tt.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:Tt.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[e]}))}},Gt={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Tt.Msg.MIXLY_PYTHON_TRY),this.appendStatementInput("try"),this.appendValueInput("IF1").appendField(Tt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO1").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Tt.icons.MutatorIcon(["controls_except","controls_finally"],this)),this.setTooltip(Tt.Msg.MIXLY_MIXPY_CONTROL_TRY_TOOLTIP),this.elseifCount_=1,this.elseCount_=0},mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var t=document.createElement("mutation");return this.elseifCount_&&t.setAttribute("elseif",this.elseifCount_),this.elseCount_&&t.setAttribute("else",1),t},domToMutation:function(t){var e=this,i=[],n=[];this.elseCount_&&this.removeInput("ELSE");for(var s=this.elseifCount_;s>0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(Tt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+s).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(Tt.Msg.MIXLY_PYTHON_FINALLY);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_try");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_except");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var o=t.newBlock("controls_finally");o.initSvg(),i.connect(o.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],o=null;i;){switch(i.type){case"controls_except":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_finally":this.elseCount_++,o=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,o)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_except":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_finally":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),o=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(o.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(Tt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+t).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(Tt.Msg.MIXLY_PYTHON_FINALLY)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},Ut={init:function(){this.setColour(Pt);var t=new Tt.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(t,"FLOW").appendField(Tt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0),this.setTooltip(Tt.Msg.MIXLY_PYTHON_CONTROLS_FLOW_STATEMENTS_TOOLTIP);var e=this;this.setTooltip((function(){var t=e.getFieldValue("FLOW");return{BREAK:Tt.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:Tt.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}[t]}))},onchange:function(){if(this.workspace){var t=!1,e=this;do{if("controls_repeat"==e.type||"controls_for"==e.type||"controls_forEach"==e.type||"controls_repeat_ext"==e.type||"controls_whileUntil"==e.type||"do_while"==e.type){t=!0;break}e=e.getSurroundParent()}while(e);t?this.setWarningText(null):this.setWarningText(Tt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}},wt={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Tt.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new Tt.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(Tt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return Tt.Msg.CONTROLS_FOR_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Tt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Ht={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Tt.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new Tt.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(Tt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return Tt.Msg.MIXLY_PYTHON_CONTROLS_FOR_RANGE_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Tt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}};Bt.OPERATORS=[[Tt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[Tt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]],Ut.OPERATORS=[[Tt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[Tt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const kt={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Tt.Msg.CONTROLS_IF_IF_TITLE_IF),this.appendStatementInput("STACK"),this.setTooltip(Tt.Msg.CONTROLS_IF_IF_TOOLTIP),this.contextMenu=!1}},Wt={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Tt.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},Kt={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Tt.Msg.CONTROLS_IF_ELSE_TITLE_ELSE),this.setPreviousStatement(!0),this.setTooltip(Tt.Msg.CONTROLS_IF_ELSE_TOOLTIP),this.contextMenu=!1}},Jt={init:function(){this.setColour(Pt),this.appendDummyInput().appendField("try"),this.appendStatementInput("STACK"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.contextMenu=!1}},Qt={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Tt.Msg.MIXLY_PYTHON_EXCEPT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1,this.setTooltip(Tt.Msg.MIXLY_MIXPY_CONTROL_EXCEPT_TOOLTIP)}},qt={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Tt.Msg.MIXLY_PYTHON_FINALLY),this.setPreviousStatement(!0),this.contextMenu=!1,this.setTooltip(Tt.Msg.MIXLY_MIXPY_CONTROL_FINALLY_TOOLTIP)}},zt={init:function(){this.jsonInit({message0:Tt.Msg.CONTROLS_REPEAT_TITLE,args0:[{type:"input_value",name:"TIMES"}],previousStatement:null,nextStatement:null,colour:Pt,tooltip:Tt.Msg.CONTROLS_REPEAT_TOOLTIP,helpUrl:Tt.Msg.CONTROLS_REPEAT_HELPURL}),this.appendStatementInput("DO")}},jt={init:function(){this.setColour(Pt),this.appendValueInput("BOOL").appendField("lambda"),this.appendStatementInput("DO").appendField(Tt.Msg.MIXLY_STAT),this.setOutput(!0)}},$t={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Tt.Msg.MIXLY_PYTHON_PASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.MIXLY_PYTHON_CONTROLS_PASS_TOOLTIP)}},Zt={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Tt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_START),this.appendValueInput("callback").appendField(Tt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_TOOLTIP)}},te={init:function(){this.appendDummyInput().appendField(Tt.Msg.CONTROLS_REPEAT_TITLE_REPEAT+Tt.Msg.MIXLY_DO),this.appendStatementInput("input_data").setCheck(null),this.appendValueInput("select_data").setCheck(null).appendField(Tt.Msg.CONTROLS_OPERATOR_UNTIL).appendField(new Tt.FieldDropdown([[Tt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"true"],[Tt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"false"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Pt),this.setTooltip("do-while loop"),this.setHelpUrl("")}},ee={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Tt.Msg.MIXLY_OP_GARBAGE_COLLECT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ie={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET_MEM_ALLOC),this.setOutput(!0)}},ne={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET_MEM_FREE),this.setOutput(!0)}},se={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET+Tt.Msg.MIXLY_DEVICE+"ID"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Tt.Msg.PROCEDURES_DEFRETURN_RETURN+Tt.Msg.MIXLY_GET_UNIQUE_IDEN)}},oe={init:function(){this.setColour(Pt),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_RTC_TIMESTAMP),this.appendDummyInput().appendField(Tt.Msg.MIXLY_TIMESTAMP_TO_DATA),this.setInputsInline(!0),this.setOutput(!0,Number)}},_e={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET_UNIQUE_IDEN),this.setOutput(!0)}},pe=230;Tt.FieldTextInput.math_number_validator=function(t){return String(t)},Tt.FieldTextInput.math_number_validator_include_blank=function(t){if(""===t)return"";return/^-?(0X|0x|0O|0o|0B|0b)?[a-fA-F0-9]{1,}(\.[a-fA-F0-9]+)?$/.test(t)?String(t):null};const ae={init:function(){this.setColour(pe),this.appendDummyInput().appendField(new Tt.FieldTextInput("0",Tt.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(Tt.Msg.MATH_NUMBER_TOOLTIP)}},ue={init:function(){this.setColour(pe);this.appendDummyInput("").appendField(Tt.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new Tt.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:Tt.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_TOOLTIP,e:Tt.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_TOOLTIP}[e]}))}},re={init:function(){this.setColour(pe);this.appendDummyInput("").appendField(Tt.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new Tt.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:Tt.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_MP_TOOLTIP,e:Tt.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_MP_TOOLTIP}[e]}))}},de={init:function(){this.setColour(pe),this.setOutput(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Tt.FieldDropdown([["+","ADD"],["-","MINUS"],["×","MULTIPLY"],["÷","DIVIDE"],["%","QUYU"],["//","ZHENGCHU"],["**","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:Tt.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:Tt.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:Tt.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:Tt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:Tt.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:Tt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:Tt.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},le={init:function(){this.setColour(pe),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Tt.FieldDropdown([["+=","ADD"],["-=","MINUS"],["×=","MULTIPLY"],["÷=","DIVIDE"],["%=","QUYU"],["//=","ZHENGCHU"],["**=","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:Tt.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:Tt.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:Tt.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:Tt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:Tt.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:Tt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:Tt.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},Ie={init:function(){this.setColour(pe),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new Tt.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},Te={init:function(){this.setColour(pe),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new Tt.FieldDropdown([["sin","SIN"],["cos","COS"],["tan","TAN"],["asin","ASIN"],["acos","ACOS"],["atan","ATAN"],["-","-"],["ln","LN"],["log10","LOG10"],["e^","EXP"],["10^","POW10"]]),"OP");var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{SIN:Tt.Msg.MATH_TRIG_TOOLTIP_SIN,COS:Tt.Msg.MATH_TRIG_TOOLTIP_COS,TAN:Tt.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:Tt.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:Tt.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:Tt.Msg.MATH_TRIG_TOOLTIP_ATAN,LN:Tt.Msg.MATH_SINGLE_TOOLTIP_LN}[e]}))}},Me={init:function(){var t=[[Tt.Msg.MATH_BIN,"bin"],[Tt.Msg.MATH_OCT,"oct"],[Tt.Msg.MATH_HEX,"hex"]];this.setColour(pe),this.setOutput(!0,String),this.appendValueInput("NUM").setCheck(Number).appendField(new Tt.FieldDropdown(t),"OP");var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{bin:Tt.Msg.MATH_DEC_TOOLTIP_BIN,oct:Tt.Msg.MATH_DEC_TOOLTIP_OCT,hex:Tt.Msg.MATH_DEC_TOOLTIP_HEX}[t]}))}},he={init:function(){var t=[[Tt.Msg.LANG_MATH_TO_ROUND,"round"],[Tt.Msg.LANG_MATH_TO_CEIL,"ceil"],[Tt.Msg.LANG_MATH_TO_FLOOR,"floor"],[Tt.Msg.MATH_ABS,"fabs"],[Tt.Msg.MATH_SQRT,"sqrt"]];this.setColour(pe),this.appendValueInput("A").setCheck(Number).appendField(new Tt.FieldDropdown(t),"OP"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{sqrt:Tt.Msg.MATH_SINGLE_TOOLTIP_ROOT,fabs:Tt.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:Tt.Msg.MATH_SINGLE_TOOLTIP_SQ,round:Tt.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:Tt.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:Tt.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[t]}))}},me={init:function(){var t=[[Tt.Msg.MIXLY_MAX,"max"],[Tt.Msg.MIXLY_MIN,"min"]];this.setColour(pe),this.appendValueInput("A").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(new Tt.FieldDropdown(t),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(Tt.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{max:Tt.Msg.MIXLY_TOOLTIP_MATH_MAX,min:Tt.Msg.MIXLY_TOOLTIP_MATH_MIN}[t]}))}},Ee={init:function(){var t=[[Tt.Msg.MATH_TWO,"two"],[Tt.Msg.MATH_EIGHT,"eight"],[Tt.Msg.MATH_TEN,"ten"],[Tt.Msg.MATH_SIXTEEN,"sixteen"]];this.setColour(pe),this.appendDummyInput("").appendField(Tt.Msg.MATH_BA),this.appendValueInput("NUM").appendField(new Tt.FieldDropdown(t),"OP").appendField(Tt.Msg.MATH_JinZhi).setCheck(Number),this.appendDummyInput("").appendField(Tt.Msg.MATH_ZHW).appendField(new Tt.FieldDropdown(t),"OP2").appendField(Tt.Msg.MATH_JinZhi),this.setFieldValue("ten","OP2"),this.setOutput(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i={two:Tt.Msg.MATH_Before_two,eight:Tt.Msg.MATH_Before_eight,ten:Tt.Msg.MATH_Before_ten,sixteen:Tt.Msg.MATH_Before_sixteen},n=e.getFieldValue("OP2"),s={two:Tt.Msg.MATH_Behind_two,eight:Tt.Msg.MATH_Behind_eight,ten:Tt.Msg.MATH_Behind_ten,sixteen:Tt.Msg.MATH_Behind_sixteen};return i[t]+s[n]}))}},Oe={init:function(){var t=[[Tt.Msg.LANG_MATH_INT,"int"],[Tt.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(pe),this.setOutput(!0,Number),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_RANDOM).appendField(new Tt.FieldDropdown(t),"TYPE"),this.appendValueInput("FROM").setCheck(Number).appendField(Tt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TYPE"),i={int:Tt.Msg.LANG_MATH_INT,float:Tt.Msg.LANG_MATH_FLOAT_RANDOM};return Tt.Msg.MATH_RANDOM_INT_TOOLTIP+i[t]}))}},Re={init:function(){this.setColour(pe),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(Tt.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(Tt.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(Tt.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MATH_CONSTRAIN_TOOLTIP)}},ce={init:function(){this.setColour(pe),this.appendValueInput("NUM",Number).appendField(Tt.Msg.MIXLY_MAP).setCheck(Number),this.appendValueInput("fromLow",Number).appendField(Tt.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(Tt.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Tt.Msg.MIXLY_TOOLTIP_MATH_MAP)}},ge={init:function(){this.setColour(pe),this.appendDummyInput().appendField(new Tt.FieldTextInput("0",Tt.FieldTextInput.math_number_validator_include_blank),"NUM"),this.setOutput(!0),this.setTooltip(Tt.Msg.MATH_NUMBER_TOOLTIP)}},Ce={init:function(){this.setColour(pe),this.appendValueInput("NUM").setCheck(Number).appendField(Tt.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED)}},Se={init:function(){this.setColour(pe),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number),this.appendValueInput("VAR").setCheck(Number).appendField(Tt.Msg.MATH_ROUND).appendField(Tt.Msg.TEXT_KEEP),this.appendDummyInput().appendField(Tt.Msg.TEXT_DECIMAL),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MATH_ROUND_NEW_TOOLTIP)}},Ae={init:function(){var t=[[Tt.Msg.MIXLY_TO_INT,"int"],[Tt.Msg.MIXLY_TO_FLOAT,"float"],[Tt.Msg.MIXLY_TO_BITES,"b"],[Tt.Msg.LANG_MATH_BYTE+Tt.Msg.MIXLY_TO_INT,"bti"]];this.setColour(pe),this.appendValueInput("VAR").appendField(new Tt.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:Tt.Msg.MIXLY_PYTHON_TOOLTIP_TOINT,float:Tt.Msg.MIXLY_PYTHON_TOOLTIP_TOFLOAT,b:Tt.Msg.MIXLY_TOOLTIP_TEXT_TOBYTE}[t]}))}},Le={init:function(){var t=[[Tt.Msg.MIXLY_TO_INT,"int"],[Tt.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(pe),this.appendValueInput("VAR").appendField(new Tt.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:Tt.Msg.MIXLY_TOOLTIP_TEXT_TOINT,float:Tt.Msg.MIXLY_TOOLTIP_TEXT_TOFLOAT}[t]}))}},Ne=ce,De={init:function(){this.setColour(pe),this.appendValueInput("VAR").appendField(Tt.Msg.LANG_MATH_BYTE+Tt.Msg.MIXLY_TO_HEX),this.setOutput(!0,Number),this.setTooltip(Tt.Msg.MIXLY_PYTHON_TOOLTIP_TOHEX)}},fe={init:function(){this.setColour(pe),this.itemCount_=1,this.setMutator(new Tt.icons.MutatorIcon(["lists_create_with_item"],this)),this.appendDummyInput("DUMMY").appendField(Tt.Msg.MIXLY_PRODUCT+Tt.Msg.MIXLY_GENERATE_CARTESIAN_PRODUCT),this.appendValueInput("REPEAT").appendField(Tt.Msg.MIXLY_EVERY_PER_ELEPER_ELEMENT),this.appendDummyInput().appendField(Tt.Msg.CONTROLS_REPEAT_TITLE_TIMES),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0),this.setTooltip(Tt.Msg.LISTS_CREATE_WITH_PYTHON_TOOLTIP),this.updateShape_()},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("lists_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n1&&"\\"===t.charAt(0)){var e=t.charAt(1);if("0"===e||"b"===e||"f"===e||"n"===e||"r"===e||"t"===e||"\\"===e||"'"===e)return String(t).substring(0,2);if("x"===e&&"0"===t.charAt(2)&&"B"===t.charAt(3))return String(t).substring(0,4)}return String(t).substring(0,1)};const be={init:function(){this.setColour(ve),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new Tt.FieldTextInput("",Tt.FieldTextInput.char_validator),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,Number),this.setTooltip(Tt.Msg.TEXT_CHAR_TOOLTIP)},newQuote_:function(t){if(1==t)var e="../../media/quote2.png";else e="../../media/quote3.png";return new Tt.FieldImage(e,7,12,'"')}},ye={init:function(){this.setColour(ve),this.appendValueInput("A").setCheck([String,Number]),this.appendValueInput("B").setCheck([String,Number]).appendField(Tt.Msg.MIXLY_TEXT_JOIN),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Tt.Msg.MIXLY_TOOLTIP_TEXT_JOIN)}},Ve={init:function(){this.setColour(ve),this.appendValueInput("VAR").setCheck(Number).appendField(Tt.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(Tt.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},Be={init:function(){this.setColour(ve),this.appendValueInput("VAR").setCheck(String).appendField(Tt.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(Tt.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},Ge={init:function(){this.setColour(ve),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(Tt.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},Ue={init:function(){this.setColour(ve),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(Tt.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},we={init:function(){this.WHERE_OPTIONS=[[Tt.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[Tt.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[Tt.Msg.TEXT_GET_INDEX_RANDOM+1+Tt.Msg.TEXT_CHARAT2,"RANDOM"]],this.setHelpUrl(Tt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(ve),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number),this.appendDummyInput().appendField(Tt.Msg.LISTS_GET_INDEX_GET,"MODE"),Tt.Msg.LISTS_GET_INDEX_TAIL&&this.appendDummyInput("TAIL").appendField(Tt.Msg.LISTS_GET_INDEX_TAIL),this.setInputsInline(!0),this.setOutput(!0),this.updateAt_(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=t.getFieldValue("WHERE"),n="";switch(e+" "+i){case"GET FROM_START":case"GET FROM_END":n=Tt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM;break;case"GET RANDOM":n=Tt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM;break;case"GET_REMOVE FROM_START":case"GET_REMOVE FROM_END":n=Tt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM;break;case"GET_REMOVE RANDOM":n=Tt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM}return"FROM_START"!=i&&"FROM_END"!=i||(n+=" "+Tt.Msg.LISTS_INDEX_FROM_START_TOOLTIP.replace("%1",Tt.Msg.ONE_BASED_INDEXING?"#1":"#0")),n}));var e=this;this.setTooltip((function(){var t=e.getFieldValue("WHERE"),i={FROM_START:Tt.Msg.LISTS_GET_INDEX_FROM_START,FROM_END:Tt.Msg.LISTS_GET_INDEX_FROM_END,RANDOM:Tt.Msg.TEXT_GET_INDEX_RANDOM};return Tt.Msg.PROCEDURES_DEFRETURN_RETURN+Tt.Msg.MIXLY_MICROBIT_TYPE_STRING+i[t]+"n"+Tt.Msg.TEXT_CHARAT2}))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("statement",!this.outputConnection);var e=this.getInput("AT").type==Tt.INPUT_VALUE;return t.setAttribute("at",e),t},domToMutation:function(t){var e="true"==t.getAttribute("statement");this.updateStatement_(e),t="false"!=t.getAttribute("at"),this.updateAt_(t)},updateStatement_:function(t){t!=!this.outputConnection&&(this.unplug(!0,!0),t?(this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)):(this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)))},updateAt_:function(t){this.removeInput("AT"),this.removeInput("ORDINAL",!0),t?(this.appendValueInput("AT").setCheck(Number),Tt.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL").appendField(Tt.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT");var e=new Tt.FieldDropdown(this.WHERE_OPTIONS,(function(e){var i="FROM_START"==e||"FROM_END"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT").appendField(e,"WHERE"),Tt.Msg.LISTS_GET_INDEX_TAIL&&this.moveInputBefore("TAIL",null)}},He={init:function(){this.setHelpUrl(Tt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(ve),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number).appendField(Tt.Msg.LISTS_GET_INDEX_GET+" "+Tt.Msg.LISTS_GET_INDEX_FROM_START),this.appendDummyInput().appendField(Tt.Msg.TEXT_CHARAT2),this.setOutput(!0),this.setTooltip(Tt.Msg.PROCEDURES_DEFRETURN_RETURN+Tt.Msg.MIXLY_MICROBIT_TYPE_STRING+Tt.Msg.LISTS_GET_INDEX_FROM_START+"n"+Tt.Msg.TEXT_CHARAT2)}},ke={init:function(){this.setHelpUrl(Tt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(ve),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(Tt.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(Tt.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},We={init:function(){this.WHERE_OPTIONS_1=[[Tt.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[Tt.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[Tt.Msg.LISTS_GET_SUBLIST_START_FIRST,"FIRST"]],this.WHERE_OPTIONS_2=[[Tt.Msg.LISTS_GET_SUBLIST_END_FROM_START,"FROM_START"],[Tt.Msg.LISTS_GET_SUBLIST_END_FROM_END,"FROM_END"],[Tt.Msg.LISTS_GET_SUBLIST_END_LAST,"LAST"]],this.setHelpUrl(Tt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(ve),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput("AT1"),this.appendDummyInput("AT2"),this.setInputsInline(!0),this.setOutput(!0,"List"),this.updateAt_(1,!0),this.updateAt_(2,!0),this.setTooltip(Tt.Msg._GET_TEXT_SUBLIST_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT1").type==Tt.INPUT_VALUE;t.setAttribute("at1",e);var i=this.getInput("AT2").type==Tt.INPUT_VALUE;return t.setAttribute("at2",i),t},domToMutation:function(t){var e="true"==t.getAttribute("at1"),i="true"==t.getAttribute("at2");this.updateAt_(1,e),this.updateAt_(2,i)},updateAt_:function(t,e){this.removeInput("AT"+t),this.removeInput("ORDINAL"+t,!0),e?(this.appendValueInput("AT"+t).setCheck(Number),Tt.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL"+t).appendField(Tt.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT"+t);var i=new Tt.FieldDropdown(this["WHERE_OPTIONS_"+t],(function(i){var n="FROM_START"==i||"FROM_END"==i;if(n!=e){var s=this.sourceBlock_;return s.updateAt_(t,n),s.setFieldValue(i,"WHERE"+t),null}}));this.getInput("AT"+t).appendField(i,"WHERE"+t),1==t&&(this.moveInputBefore("AT1","AT2"),this.getInput("ORDINAL1")&&this.moveInputBefore("ORDINAL1","AT2"))}},Ke={init:function(){this.setHelpUrl(Tt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(ve),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT1").appendField(Tt.Msg.LISTS_GET_INDEX_GET+" "+Tt.Msg.LISTS_GET_INDEX_FROM_START),this.appendValueInput("AT2").appendField(Tt.Msg.LISTS_GET_SUBLIST_END_FROM_START),this.appendDummyInput().appendField(Tt.Msg.TEXT_CHARAT2),this.setInputsInline(!0),this.setOutput(!0,["List",String]),this.setTooltip(Tt.Msg._GET_TEXT_SUBLIST_TOOLTIP)}},Je={init:function(){var t=[[Tt.Msg.MIXLY_EQUALS,"==="],[Tt.Msg.MIXLY_STARTSWITH,"startswith"],[Tt.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(ve),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new Tt.FieldDropdown(t),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},Qe={init:function(){this.setColour(ve),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(Tt.Msg.MIXLY_COMPARETO).setCheck(String),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_COMPARETO_HELP)}},qe={init:function(){var t=[[Tt.Msg.TEXT_UPPER,"upper"],[Tt.Msg.TEXT_TITLE,"title"],[Tt.Msg.TEXT_CAPITALIZE,"capitalize"],[Tt.Msg.TEXT_SWAPCASE,"swapcase"],[Tt.Msg.TEXT_LOWER,"lower"]];this.setColour(ve),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new Tt.FieldDropdown(t),"CAPITAL").setCheck(String),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CAPITAL");return{upper:Tt.Msg.MIXLY_MIXPY_TEXT_UPPER_TOOLTIP,title:Tt.Msg.MIXLY_MIXPY_TEXT_TITLE_TOOLTIP,swapcase:Tt.Msg.MIXLY_MIXPY_TEXT_SWAPCASE_TOOLTIP,capitalize:Tt.Msg.MIXLY_MIXPY_TEXT_CAPITALIZE_TOOLTIP,lower:Tt.Msg.MIXLY_MIXPY_TEXT_LOWER_TOOLTIP}[t]}))}},ze={init:function(){var t=[[Tt.Msg.TEXT_LJUST,"ljust"],[Tt.Msg.TEXT_CENTER,"center"],[Tt.Msg.TEXT_RJUST,"rjust"]];this.setColour(ve),this.appendValueInput("VAR").appendField(new Tt.FieldDropdown(t),"CENTER").setCheck(String),this.appendValueInput("WID").appendField(Tt.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("Symbol").appendField(Tt.Msg.MIXLY_RECT_Fill).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Tt.Msg.MIXLY_MIXPY_TEXT_CENTER_TOOLTIP)}},je={init:function(){this.setColour(ve),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).setCheck(String),this.appendValueInput("STR").appendField(Tt.Msg.MIXLY_MID+Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER).setCheck(String),this.appendDummyInput().appendField(Tt.Msg.MIXLY_LIST_INDEX),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Tt.Msg.MIXLY_MIXPY_TEXT_FIND_TOOLTIP)}},$e={init:function(){this.setColour(ve),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_USE_STR).setCheck(String),this.appendValueInput("LIST").appendField(Tt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_SEQ).setCheck("List","Tuple","Set","Dict"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_GET_STR),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Tt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_TOOLTIP)}},Ze={init:function(){this.setColour(ve),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("STR1").appendField(Tt.Msg.MIXLY_MIXPY_REPLACE).setCheck(String),this.appendValueInput("STR2").appendField(Tt.Msg.LISTS_SET_INDEX_INPUT_TO).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Tt.Msg.MIXLY_MIXPY_TEXT_REPLACE_TOOLTIP)}},ti={init:function(){this.setColour(ve),this.appendValueInput("VAR"),this.appendValueInput("VAL").appendField(Tt.Msg.LIST_SPLIT_AS),this.appendDummyInput("").appendField(Tt.Msg.LIST_SPLIT),this.setOutput(!0,"List"),this.setTooltip(Tt.Msg.MIXLY_MIXPY_TEXT_SPLIT_TOOLTIP),this.setInputsInline(!0)}},ei={init:function(){var t=[[Tt.Msg.TEXT_TRIM_BOTH,"strip"],[Tt.Msg.TEXT_TRIM_LEFT,"lstrip"],[Tt.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(ve),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(Tt.Msg.TEXT_STRIM),this.appendDummyInput("").appendField(new Tt.FieldDropdown(t),"TOWHAT"),this.appendDummyInput("").appendField(Tt.Msg.TEXT_BLANK),this.setOutput(!0,String),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{strip:Tt.Msg.TEXT_TRIM_BOTH_TOOLTIP,lstrip:Tt.Msg.TEXT_TRIM_LEFT_TOOLTIP,rstrip:Tt.Msg.TEXT_TRIM_RIGHT_TOOLTIP}[t]}))}},ii={init:function(){this.setColour(ve),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROPYTHON_FORMAT),this.appendDummyInput("").appendField(new Tt.FieldTextInput("str"),"VAR"),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new Tt.icons.MutatorIcon(["text_create_with_item"],this)),this.setOutput(!0),this.setTooltip(Tt.Msg.MIXLY_MIXPY_TEXT_FORMAT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("text_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Tt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},$i={init:function(){this.setColour(zi),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(Tt.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},Zi={init:function(){this.setColour(zi),this.appendDummyInput().appendField(Tt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},tn={init:function(){this.setColour(zi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Tt.Msg.DICT_KEYS),this.setTooltip(Tt.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},en={init:function(){this.setColour(zi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Tt.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(Tt.Msg.DICTS_ADD_VALUE),this.setOutput(!0),this.setTooltip(Tt.Msg.DICTS_GET_TOOLTIP)}},nn={init:function(){this.setColour(zi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Tt.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(Tt.Msg.DICTS_ADD_VALUE),this.appendValueInput("VAR").appendField(Tt.Msg.DICTS_DEFAULT_VALUE),this.setOutput(!0),this.setTooltip(Tt.Msg.DICTS_GET_DEFAULT_TOOLTIP)}},sn={init:function(){this.setColour(zi),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(Tt.Msg.DICTS_ADD),this.appendDummyInput(),this.appendValueInput("VAR").appendField(Tt.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.DICTS_ADD_OR_CHANGE_TOOLTIP)}},on={init:function(){this.setColour(zi),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(Tt.Msg.DICTS_DELETE_IN),this.appendDummyInput("").appendField(Tt.Msg.DICTS_DELETE_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.DICTS_DELETE_TOOLTIP)}},_n={init:function(){this.setColour(zi),this.appendValueInput("DICT2").setCheck("Dict").appendField(Tt.Msg.MAKE_DICT),this.appendValueInput("DICT").setCheck("Dict").appendField(Tt.Msg.DICT_UPDATE),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MID),this.setTooltip(Tt.Msg.DICTS_UPDATE_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},pn={init:function(){this.setColour(zi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Tt.Msg.DICT_CLEAR),this.setTooltip(Tt.Msg.DICTS_CLEAR_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},an={init:function(){this.setColour(zi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Tt.Msg.DICT_ITEMS),this.setTooltip(Tt.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},un={init:function(){this.setColour(zi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Tt.Msg.DICT_VALUES),this.setTooltip(Tt.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},rn={init:function(){this.setColour(zi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_LENGTH),this.setTooltip(Tt.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},dn={init:function(){this.setColour(zi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Tt.Msg.DICT_DELDICT),this.setTooltip(Tt.Msg.DICTS_DEL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ln={init:function(){this.MODE=[[Tt.Msg.DICTS_ADD_OR_CHANGE,"INSERT"],[Tt.Msg.MIXLY_MICROBIT_JS_DELETE_VAR,"DELETE"]],this.setHelpUrl(Tt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(zi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("AT2"),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).appendField(Tt.Msg.DICTS_ADD_VALUE),this.updateAt_(!0),this.setInputsInline(!0),this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e="";switch(t.getFieldValue("WHERE")){case"INSERT":e=Tt.Msg.DICTS_ADD_TOOLTIP;break;case"DELETE":e=Tt.Msg.DICTS_DELETE_TOOLTIP}return e}))},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT2").type==Tt.INPUT_VALUE;return t.setAttribute("at2",e),t},domToMutation:function(t){var e="true"==t.getAttribute("at2");this.updateAt_(e)},updateAt_:function(t){this.removeInput("AT2"),this.removeInput("ORDINAL",!0),t?this.appendValueInput("AT2").setCheck(Number):this.appendDummyInput("AT2");var e=new Tt.FieldDropdown(this.MODE,(function(e){var i="INSERT"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT2").appendField(e,"WHERE")}},In={init:function(){this.setColour(zi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Tt.Msg.blockpy_DICT_POP),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(Tt.Msg.DICTS_ADD_VALUE),this.setTooltip(Tt.Msg.DICT_POP_TOOLTIP),this.setInputsInline(!0),this.setOutput(!0)}},Tn={init:function(){this.setColour(zi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Tt.Msg.DICTS_SET_DEFAULT),this.appendDummyInput("").appendField(Tt.Msg.DICTS_DEFAULT_VALUE),this.appendValueInput("VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.DICTS_SETDEFAULT_TOOLTIP)}},Mn={init:function(){this.setColour(zi),this.appendDummyInput("").appendField(new Tt.FieldLabel(Tt.Msg.MIXLY_MICROBIT_TYPE_DICT),"TIP").appendField(" "),this.itemCount_=3,this.updateShape_(),this.setOutput(!0,"Dict"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setMutator(new Tt.icons.MutatorIcon(["dicts_create_with_item"],this)),this.setTooltip(Tt.Msg.DICTS_CREATE_WITH_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("dicts_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Tt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},hn={init:function(){this.setColour(zi),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(Tt.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},mn={init:function(){this.setColour(zi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_TO_JSON),this.setTooltip(Tt.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},En={init:function(){this.setColour(zi),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_CONVERT_TO_JSON),this.setTooltip(Tt.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},On={init:function(){this.setColour(zi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("VAR1").appendField("key1"),this.appendValueInput("VAR2").appendField("index"),this.appendValueInput("VAR3").appendField("key2"),this.appendValueInput("VAR4").appendField("key3"),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},Rn={init:function(){this.setColour(zi),this.appendValueInput("DICT"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_TO_JSON),this.setTooltip(Tt.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},cn=210,gn={init:function(){var t=Tt.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(cn),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Tt.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{EQ:Tt.Msg.LOGIC_COMPARE_TOOLTIP_EQ,NEQ:Tt.Msg.LOGIC_COMPARE_TOOLTIP_NEQ,LT:Tt.Msg.LOGIC_COMPARE_TOOLTIP_LT,LTE:Tt.Msg.LOGIC_COMPARE_TOOLTIP_LTE,GT:Tt.Msg.LOGIC_COMPARE_TOOLTIP_GT,GTE:Tt.Msg.LOGIC_COMPARE_TOOLTIP_GTE}[t]})),this.prevBlocks_=[null,null]}},Cn={init:function(){var t=Tt.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]],e=Tt.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(cn),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Tt.FieldDropdown(t),"OP1"),this.appendValueInput("C").appendField(new Tt.FieldDropdown(e),"OP2"),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_PYTHON_LOGIC_COMPARE_CONTINOUS_TOOLTIP)}},Sn={init:function(){var t=[[Tt.Msg.LOGIC_OPERATION_AND,"AND"],[Tt.Msg.LOGIC_OPERATION_OR,"OR"],[Tt.Msg.LOGIC_OPERATION_NOR,"NOR"],[Tt.Msg.LOGIC_OPERATION_XOR,"XOR"]];this.setColour(cn),this.setOutput(!0,Boolean),this.appendValueInput("A").setCheck([Boolean,Number]),this.appendValueInput("B").setCheck([Boolean,Number]).appendField(new Tt.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{AND:Tt.Msg.LOGIC_OPERATION_TOOLTIP_AND,OR:Tt.Msg.LOGIC_OPERATION_TOOLTIP_OR,NOR:Tt.Msg.LOGIC_OPERATION_TOOLTIP_NOR,XOR:Tt.Msg.LOGIC_OPERATION_TOOLTIP_XOR}[t]}))}},An={init:function(){this.setColour(cn),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(Tt.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(Tt.Msg.LOGIC_NEGATE_TOOLTIP)}},Ln={init:function(){var t=[[Tt.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[Tt.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(cn),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new Tt.FieldDropdown(t),"BOOL"),this.setTooltip(Tt.Msg.LOGIC_BOOLEAN_TOOLTIP)}},Nn={init:function(){this.setColour(cn),this.setOutput(!0),this.appendDummyInput().appendField(Tt.Msg.LOGIC_NULL),this.setTooltip(Tt.Msg.LOGIC_NULL_TOOLTIP)}},Dn={init:function(){this.setColour(cn),this.appendValueInput("A"),this.appendValueInput("B").appendField(Tt.Msg.LOGIC_TERNARY_IF_TRUE),this.appendValueInput("C").appendField(Tt.Msg.LOGIC_TERNARY_IF_FALSE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_TOOLTIP_LOGIT_TRUEORFALSE)}},fn={init:function(){var t=[[Tt.Msg.TEXT_APPEND_TO,"in"],[Tt.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(cn),this.appendValueInput("A"),this.appendValueInput("B").setCheck([String,"List"]).appendField(new Tt.FieldDropdown(t),"BOOL"),this.appendDummyInput("").appendField(Tt.Msg.MICROBIT_LOGIC_IS_IN),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Tt.Msg.IN)}},Fn={init:function(){var t=[[Tt.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[Tt.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(cn),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Tt.FieldDropdown(t),"BOOL"),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_PYTHON_LOGIC_IS_TOOLTIP)}},Pn={init:function(){this.setColour(cn),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(Tt.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},vn={init:function(){this.setColour(0),this.appendValueInput("fn").setCheck(String).appendField(Tt.Msg.MIXLY_PYTHON_STORAGE_OPEN_FILE_WITH_OS+"(For Windows)"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Yn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"],[Tt.Msg.MIXLY_ADD,"a"],[Tt.Msg.MATH_BIN+Tt.Msg.MIXLY_ADD,"ab"],[Tt.Msg.MIXLY_R_W,"r+"],[Tt.Msg.MATH_BIN+Tt.Msg.MIXLY_R_W,"rb+"],[Tt.Msg.MIXLY_W_R,"w+"],[Tt.Msg.MATH_BIN+Tt.Msg.MIXLY_W_R,"wb+"],[Tt.Msg.MIXLY_A_R,"a+"],[Tt.Msg.MATH_BIN+Tt.Msg.MIXLY_A_R,"ab+"]]),"MODE"),this.appendValueInput("FILE").appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_AS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Tt.Msg.MIXLY_USE,n=Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=Tt.Msg.MIXLY_BELONG;return i+{r:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Tt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Xn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Tt.Msg.MIXLY_USE,n=Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=Tt.Msg.MIXLY_BELONG,_=Tt.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s+_}))}},xn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE);this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendDummyInput().appendField(Tt.Msg.MIXPY_TEXT_ENCODE).appendField(new Tt.FieldDropdown([["ANSI","ANSI"],["gbk","gbk"],["utf-8","utf-8"]]),"CODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Tt.Msg.MIXLY_USE,n=Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=Tt.Msg.MIXLY_BELONG,_=Tt.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s+_}))}},bn={init:function(){this.setColour(0),this.appendValueInput("data").setCheck(String).appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendValueInput("FILE").appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+Tt.Msg.MIXLY_MICROBIT_TYPE_STRING+Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE)}},yn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"read"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE,"readline"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES,"readlines"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String)}},Vn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,"read"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,"readline"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE,"readlines"]]),"MODE"),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE,n=Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER;return i+{read:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,readline:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,readlines:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE}[e]+"x"+n}))}},Bn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.setNextStatement(!0),this.appendValueInput("SIZE").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(Tt.Msg.MICROBIT_PYTHON_TYPE)}},Gn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Tt.Msg.HTML_FILE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT1)}},Un={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILENAME),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILENAME)}},wn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE)}},Hn={init:function(){this.setColour(0),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES)}};Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE;const kn={init:function(){this.setColour(0),this.appendDummyInput().appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE,"remove"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_DIRS,"removedirs"]]),"MODE"),this.appendValueInput("FILE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE)}},Wn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE+Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE)}},Kn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_RETURN_FILE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_PRESENT_LOCATION),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_TELL)}},Jn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION),this.appendDummyInput().appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,"start"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,"current"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END,"end"]]),"MODE"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION+Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION,n=Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER,s=Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET;return i+" "+{start:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,current:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,end:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END}[e]+s+"x"+n}))}},Qn={init:function(){this.setColour(0),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR)}},qn={init:function(){this.setColour(0),this.appendValueInput("PATH").setCheck(String).appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_SET),this.appendDummyInput().appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,"mkdir"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_MAKEDIRS,"makedirs"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH+"x"+Tt.Msg.MIXLY_ESP32_SET+{mkdir:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,makedirs:Tt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},zn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME),this.appendValueInput("NEWFILE").setCheck(String).appendField(Tt.Msg.MIXLY_AS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME)}},jn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR)}},$n={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT),this.appendDummyInput().appendField(new Tt.FieldDropdown([[Tt.Msg.HTML_FILE,"isfile"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_DIR,"isdir"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean);let t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH+"x"+Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT+{isfile:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,isdir:Tt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},Zn={init:function(){this.setColour(0),this.appendValueInput("SPISUB").appendField(Tt.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_SETUP+Tt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(Tt.Msg.MIXLY_SD_CARD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},ts={init:function(){this.setColour(0),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_SD_CARD),this.appendValueInput("DIR").setCheck(String).appendField(Tt.Msg.MIXLY_SDCARD_MOUNT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip()}},es={init:function(){var t=Tt.Procedures.findLegalName("",this),e=new Tt.FieldTextInput(t,Tt.Procedures.rename);e.setSpellcheck(!1),this.appendDummyInput().appendField(e,"NAME").appendField("","PARAMS"),this.setMutator(new Tt.icons.MutatorIcon(["procedures_mutatorarg"],this)),(this.workspace.options.comments||this.workspace.options.parentWorkspace&&this.workspace.options.parentWorkspace.options.comments)&&Tt.Msg.PROCEDURES_DEFNORETURN_COMMENT&&this.setCommentText(Tt.Msg.PROCEDURES_DEFNORETURN_COMMENT),this.setStyle("procedure_blocks"),this.setTooltip(Tt.Msg.PROCEDURES_DEFNORETURN_TOOLTIP),this.setHelpUrl(Tt.Msg.PROCEDURES_DEFNORETURN_HELPURL),this.arguments_=[],this.argumentVarModels_=[],this.setStatements_(!0),this.statementConnection_=null},setStatements_:function(t){this.hasStatements_!==t&&(t?(this.appendStatementInput("STACK").appendField(Tt.Msg.PROCEDURES_DEFNORETURN_DO),this.getInput("RETURN")&&this.moveInputBefore("STACK","RETURN")):this.removeInput("STACK",!0),this.hasStatements_=t)},updateParams_:function(){var t="";this.arguments_.length&&(t=Tt.Msg.PROCEDURES_BEFORE_PARAMS+" "+this.arguments_.join(", ")),Tt.Events.disable();try{this.setFieldValue(t,"PARAMS")}finally{Tt.Events.enable()}},mutationToDom:function(t){var e=Tt.utils.xml.createElement("mutation");t&&e.setAttribute("name",this.getFieldValue("NAME"));for(var i=0;i"),this.appendValueInput("style").appendField(Tt.Msg.MIXLY_AIP_ATTR).setAlign(Tt.inputs.Align.RIGHT),this.appendStatementInput("DO").appendField(""),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},zs={init:function(){this.setColour(ks),this.appendDummyInput().appendField(Tt.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},js={init:function(){this.setColour(ks),this.appendDummyInput().appendField(Tt.Msg.HTML_FORM_CONTENT).appendField(new Tt.FieldDropdown([[Tt.Msg.HTML_TEXT,"text"],[Tt.Msg.HTML_EMAIL,"email"],[Tt.Msg.HTML_NUMBER,"number"],[Tt.Msg.HTML_PASSWORD,"password"],[Tt.Msg.HTML_CHECKBOX,"checkbox"],[Tt.Msg.HTML_RADIOBUTTON,"radiobutton"],[Tt.Msg.HTML_BUTTON,"button"],[Tt.Msg.HTML_COLOUR,"colour"],[Tt.Msg.HTML_DATE,"date"],[Tt.Msg.HTML_LOCALTIME,"local time"],[Tt.Msg.HTML_FILE,"file"],[Tt.Msg.HTML_HIDDEN,"hidden"],[Tt.Msg.HTML_IMAGE,"image"],[Tt.Msg.HTML_MONTH,"month"],[Tt.Msg.HTML_RANGE,"range"],[Tt.Msg.HTML_RESET,"reset"],[Tt.Msg.HTML_SEARCH,"search"],[Tt.Msg.HTML_SUBMIT,"submit"],[Tt.Msg.HTML_TELEPHONENUMBER,"telephone number"],[Tt.Msg.HTML_TIME,"time"],[Tt.Msg.HTML_URL,"url"],[Tt.Msg.HTML_WEEK,"week"]]),"LEVEL"),this.appendDummyInput().appendField(Tt.Msg.HTML_NAME).appendField(new Tt.FieldTextInput("car"),"NAME"),this.appendDummyInput().appendField(Tt.Msg.HTML_VALUE).appendField(new Tt.FieldTextInput("go"),"VALUE"),this.appendValueInput("style").appendField(Tt.Msg.MIXLY_AIP_ATTR).setAlign(Tt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},$s={init:function(){this.setColour(ks),this.appendDummyInput().appendField(new Tt.FieldTextInput("property"),"KEY").appendField(":").appendField(new Tt.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Zs={init:function(){this.setColour(ks),this.appendDummyInput().appendField(new Tt.FieldTextInput("property"),"KEY").appendField(":").appendField(new Tt.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},to={init:function(){this.setColour(ks),this.appendDummyInput().appendField(Tt.Msg.HTML_TEXT).appendField(new Tt.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},eo=160,io={init:function(){this.setColour(eo),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new Tt.FieldTable(""),"TEXT")}},no={init:function(){this.setColour(eo),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new Tt.FieldMultilineInput(""),"TEXT")}},so={init:function(){this.setColour(eo),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new Tt.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},oo={init:function(){this.setColour(eo),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},_o={init:function(){this.setColour(eo),this.appendDummyInput().appendTitle("Comment:").appendTitle(new Tt.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},po={init:function(){this.setColour(eo),this.appendValueInput("VALUE").appendField(Tt.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},ao={init:function(){this.setColour(eo),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Tt.icons.MutatorIcon(["text_print_multiple_item"],this)),this.setTooltip(Tt.Msg.TEXT_PRINT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=Tt.Block.obtain(t,"text_print_multiple_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n= stop:"," yield start"," start -= abs(step)"])};if(t=function(t,e,i){return"("+t+" <= "+e+") and "+a()+"("+t+", "+e+", "+i+") or "+u()+"("+t+", "+e+", "+i+")"},Tt.isNumber(n)&&Tt.isNumber(s)&&Tt.isNumber(o))n=parseFloat(n),s=parseFloat(s),o=Math.abs(parseFloat(o)),0==n%1&&0==s%1&&0==o%1?(n<=s?(s++,t=0==n&&1==o?s:n+", "+s,1!=o&&(t+=", "+o)):t=n+", "+--s+", -"+o,t="range("+t+")"):(t=n",GTE:">="};const sa=function(t,e){var i=this.getFieldValue("OP"),n="&&"==i?e.ORDER_LOGICAL_AND:e.ORDER_LOGICAL_OR,s=e.valueToCode(this,"A",n)||"False",o=e.valueToCode(this,"B",n)||"False";if("AND"==i)var _=s+" and "+o;else if("OR"==i)_=s+" or "+o;else if("NOR"==i)_="not("+s+"^"+o+")";else _=s+"^"+o;return[_,n]},oa=function(t,e){var i=e.ORDER_UNARY_PREFIX;return["not "+(e.valueToCode(this,"BOOL",i)||"False"),i]},_a=function(t,e){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",e.ORDER_ATOMIC]},pa=function(t,e){return["None",e.ORDER_ATOMIC]},aa=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"False";return["("+(e.valueToCode(this,"B",e.ORDER_ATOMIC)||"False")+" if "+i+" else "+(e.valueToCode(this,"C",e.ORDER_ATOMIC)||"False")+")",e.ORDER_ATOMIC]},ua=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},ra=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},da=function(t,e){return["bool("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||"0")+")",e.ORDER_ATOMIC]},la=function(t,e){return e.definitions_.import_os="import os","os.startfile("+e.valueToCode(this,"fn",e.ORDER_ATOMIC)+")\n"},Ia=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+" = open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},Ta=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",e.ORDER_ATOMIC]},Ma=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',e.ORDER_ATOMIC]},ha=function(t,e){var i=e.valueToCode(this,"data",e.ORDER_ATOMIC);return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".write("+i+")\n"},ma=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"()",e.ORDER_ATOMIC]},Ea=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Oa=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".readline("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Ra=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".writable()",e.ORDER_ATOMIC]},ca=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".name()",e.ORDER_ATOMIC]},ga=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".close()\n"},Ca=function(t,e){e.definitions_.import_os="import os";return["os.listdir()",e.ORDER_ATOMIC]},Sa=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},Aa=function(t,e){return e.definitions_.import_os="import os",["os.path.getsize("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},La=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".tell()",e.ORDER_ATOMIC]},Na=function(t,e){var i=this.getFieldValue("MODE"),n=0;return n="start"==i?0:"current"==i?1:2,e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".seek("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+","+n+")\n"},Da=function(t,e){return e.definitions_.import_os="import os","os.chdir("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},fa=function(t,e){e.definitions_.import_os="import os";return["os.getcwd()",e.ORDER_ATOMIC]},Fa=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"PATH",e.ORDER_ATOMIC)+")\n"},Pa=function(t,e){return e.definitions_.import_os="import os","os.rename("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+","+e.valueToCode(this,"NEWFILE",e.ORDER_ATOMIC)+")\n"},va=function(t,e){e.definitions_.import_os="import os";var i=e.valueToCode(this,"FILE",e.ORDER_ATOMIC);return["os."+this.getFieldValue("MODE")+"("+i+")",e.ORDER_ATOMIC]},Ya=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = sdcard.SDCard("+e.valueToCode(this,"SPISUB",e.ORDER_ATOMIC)+","+e.valueToCode(this,"PINSUB",e.ORDER_ATOMIC)+")\n"},Xa=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard","os.mount("+e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+","+e.valueToCode(this,"DIR",e.ORDER_ATOMIC)+")\n"},xa=function(t,e){var i=e.variableDB_.getName(this.getFieldValue("NAME"),Tt.Procedures.NAME_TYPE),n=(this.getInput("STACK")&&e.statementToCode(this,"STACK"))??" pass\n";e.INFINITE_LOOP_TRAP&&(n=e.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+n);var s=e.valueToCode(this,"RETURN",e.ORDER_NONE)||"";s&&(s=" return "+s+"\n");for(var o=[],_=0;_\n\n\n\t\n"+e.statementToCode(this,"HEAD")+"\n\n"+e.statementToCode(this,"BODY")+"\n\n'''",e.ORDER_ATOMIC]},mu=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"\n"+i+"\n"},Eu=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");if("head"==n)var s="<"+n+'>\n\t\n'+i+"\n";else s="<"+n+">\n"+i+"\n";return s},Ou=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"<"+n+">\n"+i+"\n"},Ru=function(t,e){var i=e.statementToCode(this,"DO"),n=e.valueToCode(this,"style"),s=this.getFieldValue("LEVEL");return"<"+s+" "+n+" >\n"+i+"\n"},cu=function(t,e){return['style="'+e.statementToCode(this,"STYLE")+'"',e.ORDER_ATOMIC]},gu=function(t,e){return'"},Cu=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},Su=function(){return this.getFieldValue("TEXT")+"\n"},Au=function(t){return t.getFieldValue("TEXT")+"\n"},Lu=function(t,e){return[t.getFieldValue("TEXT"),e.ORDER_ATOMIC]},Nu=function(t,e){return(e.valueToCode(t,"VALUE",e.ORDER_ATOMIC)||"")+"\n"},Du=function(){return""},fu=function(t,e){return["type("+(e.valueToCode(t,"VALUE",e.ORDER_MEMBER)||"___")+")",e.ORDER_ATOMIC]},Fu=function(t,e){for(var i=t.getFieldValue("NAME"),n=t.hasReturn_,s=new Array(t.itemCount_),o=0;o0?e.join("\n")+i.join("\n")+n.join("\n")+_.join("\n")+p.join("")+t+"while True:\n"+a.join("")+u.join("\n"):e.join("\n")+i.join("\n")+n.join("\n")+_.join("\n")+p.join("")+t+u.join("\n")},Xu.scrubNakedValue=function(t){return t+"\n"},Xu.quote_=function(t){var e="'";return-1!==t.indexOf("'")&&(-1===t.indexOf('"')?e='"':t=t.replace(/'/g,"\\'")),e+t+e},Xu.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},Xu.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(o=t.getCommentText())&&(o=Tt.utils.string.wrap(o,Xu.COMMENT_WRAP-3),n+=Xu.prefixLines(o+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const xu="#74A55B",bu={init:function(){this.setColour(xu),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MIDI),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Tt.Msg.MIXLY_RGB_PIN_COUNT)}},yu={init:function(){this.setColour(xu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Tt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Vu={init:function(){this.setColour(xu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Tt.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(Tt.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},Bu={init:function(){this.setColour(xu),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(Tt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Gu={init:function(){this.setColour(xu),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(Tt.Msg.MIXLY_BACKSTAGE+Tt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_BACKSTAGE+Tt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Uu={init:function(){this.setColour(xu),this.appendValueInput("SUB"),this.appendValueInput("TICKS").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(Tt.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(Tt.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},wu={init:function(){this.setColour(xu),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},Hu={init:function(){this.setColour(xu),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_MUSIC_RESET)}},ku={init:function(){this.setColour(xu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Wu={init:function(){this.setColour(xu),this.appendValueInput("SUB"),this.appendValueInput("percent").appendField(Tt.Msg.MIXLY_MUSIC_VOLUME_SET),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Ku={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.MIXLY_SETTING).appendField(Tt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(Tt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_EXTERN_LED_SETONOFF)}},Ju={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Tt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Tt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},Qu={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Tt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Tt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},qu={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.MIXLY_SETTING).appendField(Tt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(Tt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_EXTERN_LED_SETBRIGHT)}},zu={init:function(){this.setColour(xu),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_SETUP+Tt.Msg.MIXLY_SERVO),this.appendValueInput("PIN",Number).appendField(Tt.Msg.MIXLY_PIN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},ju={init:function(){this.setColour(xu),this.appendValueInput("PIN",Number).appendField(Tt.Msg.MIXLY_SERVO).appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("DEGREE",Number).setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_DEGREE_0_180),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_SERVO_MOVE)}},$u={init:function(){this.setColour(xu),this.appendValueInput("VAR").appendField("360°"+Tt.Msg.MIXLY_SERVO),this.appendValueInput("SPEED",Number).setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_SETTING+Tt.Msg.blockpy_turtle_rotate+Tt.Msg.MIXLY_SPEED+" (-10~10)"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_SERVO_360_TOOLTIP)}},Zu={init:function(){this.setColour(xu),this.appendValueInput("PIN",Number).appendField("180°"+Tt.Msg.MIXLY_SERVO).appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_SERVO_MOVE)}},tr={init:function(){this.setColour(xu),this.appendValueInput("PIN",Number).appendField("360°"+Tt.Msg.MIXLY_SERVO).appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_SERVO_SPEED_TOOLIPS)}},er={init:function(){this.setColour(xu),this.appendValueInput("PIN",Number).appendField("180°"+Tt.Msg.MIXLY_SERVO).appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET+Tt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},ir={init:function(){this.setColour(xu),this.appendValueInput("PIN",Number).appendField("360°"+Tt.Msg.MIXLY_SERVO).appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET+Tt.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},nr={init:function(){this.setColour(xu),this.appendValueInput("SUB").appendField("初始化").setCheck("var"),this.appendDummyInput().appendField("电机驱动"),this.appendDummyInput().appendField("地址").appendField(new Tt.FieldDropdown([["A","ms32006.ADDRESS_A"],["B","ms32006.ADDRESS_B"]]),"mode"),this.appendValueInput("SUB1").setCheck("var").setAlign(Tt.inputs.Align.RIGHT).appendField("通信"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("初始化MS32006电机驱动,使用I2C通信")}},sr={init:function(){this.setColour(xu),this.appendValueInput("SUB").appendField("直流电机").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_Direction).appendField(new Tt.FieldDropdown([[Tt.Msg.CLOCKWISE,"ms32006.MOT_CW"],[Tt.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"],[Tt.Msg.MOTOR_N,"ms32006.MOT_N"],[Tt.Msg.MOTOR_P,"ms32006.MOT_P"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_STEPPER_SET_SPEED),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置直流电机的状态及转速(0-100)")}},or={init:function(){this.setColour(xu),this.appendValueInput("SUB").appendField("步进电机").setCheck("var"),this.appendDummyInput().appendField("选择").appendField(new Tt.FieldDropdown([["A","ms32006.MOT_A"],["B","ms32006.MOT_B"]]),"mode"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_Direction).appendField(new Tt.FieldDropdown([[Tt.Msg.CLOCKWISE,"ms32006.MOT_CW"],[Tt.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField("转速"),this.appendValueInput("steps").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField("步数"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置步进电机的状态、转速、步数(0-2047)")}},_r={init:function(){this.setColour(xu),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RGB),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_PIN),this.appendValueInput("LEDCOUNT").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_COUNT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Tt.Msg.MIXLY_RGB_PIN_COUNT)}},pr={init:function(){this.setColour(xu),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("_LED_").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Tt.Msg.MIXLY_RGB_NUM_R_G_B_MP)}},ar={init:function(){this.setColour(xu),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Tt.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},ur={init:function(){this.setColour(xu),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Tt.Msg.MIXLY_ESP32_MUSIC_WRI)}},rr={init:function(){this.setColour(xu),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(Tt.Msg.MIXLY_DURATION).appendField(Tt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},dr={init:function(){this.setColour(xu),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(Tt.Msg.PYTHON_RANGE_STEP).appendField(Tt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},lr={init:function(){this.setColour(xu),this.appendDummyInput("").appendField(Tt.Msg.CONTROLS_FOR_INPUT_WITH+"uart").appendField(new Tt.FieldDropdown([["uart1","uart1"],["uart2","uart2"]]),"key"),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_SETUP+Tt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new Tt.FieldDropdown([["SYN6288"+Tt.Msg.MIXLY_AipSpeech_synthesis,"SYN6288"],["NS9300"+Tt.Msg.MIXLY_MUSIC_PLAYER,"NS9300"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Ir={init:function(){this.setColour(xu),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_GET+Tt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_WHETHER).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_STOPPED,"0"],[Tt.Msg.MIXLY_PLAYING,"1"],[Tt.Msg.MIXLY_PAUSED,"2"]]),"key"),this.setInputsInline(!0),this.setOutput(!0)}},Tr={init:function(){this.setColour(xu),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_STAT).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MP3_PLAY,"1"],[Tt.Msg.MIXLY_MP3_PAUSE,"2"],[Tt.Msg.MIXLY_STOP,"3"],[Tt.Msg.MIXLY_MP3_PREV,"4"],[Tt.Msg.MIXLY_MP3_NEXT,"5"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Mr={init:function(){this.setColour(xu),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendValueInput("volume").appendField(Tt.Msg.MIXLY_MP3_VOL+Tt.Msg.MIXLY_STAT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.MIXLY_PLAYER_SET_VOLUME_TOOLTIP)}},hr={init:function(){this.setColour(xu),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MODE+Tt.Msg.MIXLY_STAT).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MP3_LOOP_ALL,"0"],[Tt.Msg.MIXLY_MP3_LOOP_ONE,"1"],[Tt.Msg.MIXLY_PLAYER_DIRECTORY_LOOP,"2"],[Tt.Msg.MIXLY_MP3_LOOP_RAM,"3"],[Tt.Msg.MIXLY_PLAYER_SINGLE_STOP,"4"],[Tt.Msg.MIXLY_PLAYER_SEQUENTIAL_PLAY,"5"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},mr={init:function(){this.setColour(xu),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_JS_START_MELODY,"play"],[Tt.Msg.MIXLY_PLAYER_INSERT_MUSIC,"insert"]]),"key"),this.appendValueInput("song"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.MIXLY_PLAYER_PLAY_MUSIC_TOOTIP)}},Er={},Or={init:function(){this.setColour(xu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(Tt.Msg.MIXLY_SET_VOLUME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},Rr={init:function(){this.setColour(xu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET_VOLUME),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},cr={init:function(){this.setColour(xu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(Tt.Msg.MIXLY_PLAY_HINTS),this.appendDummyInput().appendField(Tt.Msg.MIXLY_PROGRAM_BLOCK).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Tt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_PLAY_HINTS_TOOLTIP)}},gr={init:function(){this.setColour(xu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("data").setCheck(String).appendField(Tt.Msg.MIXLY_AipSpeech_synthesis),this.appendValueInput("VOICE").setCheck(Number).appendField(Tt.Msg.MIXLY_BACKGROUND_MUSIC),this.appendDummyInput().appendField(Tt.Msg.MIXLY_PROGRAM_BLOCK).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Tt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_PLAY_TTS_TOOLTIP)}},Cr={init:function(){this.setColour(xu),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.extern_addr),"PIN"),this.setOutput(!0,Number)}},Sr={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.ME_GO_MOTOR_EXTERN+Tt.Msg.MIXLY_MOTOR).appendField(Tt.Msg.PIN_NUMBERING).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_LEFT,"0"],[Tt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},Ar={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.ME_GO_MOTOR_EXTERN+Tt.Msg.MIXLY_MOTOR).appendField(Tt.Msg.PIN_NUMBERING).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_LEFT,"0"],[Tt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_GET+Tt.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},Lr={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.ME_GO_MOTOR_EXTERN+Tt.Msg.MIXLY_TRAFFIC_LIGHT).appendField(Tt.Msg.PIN_NUMBERING).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_LEFT,"0"],[Tt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.LISTS_SET_INDEX_SET).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_Turn_off_display,"0"],[Tt.Msg.MIXLY_TRAFFIC_LIGHT_RED_ON,"1"],[Tt.Msg.MIXLY_TRAFFIC_LIGHT_RED_BLINK,"2"],[Tt.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_ON,"3"],[Tt.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_BLINK,"4"],[Tt.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_ON,"5"],[Tt.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_BLINK,"6"]]),"light"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Nr={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.ME_GO_MOTOR_EXTERN).appendField(new Tt.FieldDropdown([[Tt.Msg.COLOUR_RGB_WHITE,"W"],[Tt.Msg.COLOUR_RGB_RED,"R"],[Tt.Msg.COLOUR_RGB_YELLOW,"Y"],[Tt.Msg.COLOUR_RGB_GREEN,"G"],[Tt.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(Tt.Msg.PIN_NUMBERING).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_LEFT,"0"],[Tt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("value").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Dr={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.ME_GO_MOTOR_EXTERN).appendField(new Tt.FieldDropdown([[Tt.Msg.COLOUR_RGB_WHITE,"W"],[Tt.Msg.COLOUR_RGB_RED,"R"],[Tt.Msg.COLOUR_RGB_YELLOW,"Y"],[Tt.Msg.COLOUR_RGB_GREEN,"G"],[Tt.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(Tt.Msg.PIN_NUMBERING).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_LEFT,"0"],[Tt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET+Tt.Msg.BRIGHTNESS),this.setOutput(!0,Number),this.setInputsInline(!0)}},fr={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.ME_GO_MOTOR_EXTERN+Tt.Msg.MIXLY_SERVO_MOTOR).appendField(Tt.Msg.PIN_NUMBERING).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_LEFT,"0"],[Tt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"[0]"],[Tt.Msg.MIXLY_SPEED,"[1]"],[Tt.Msg.MATH_SINGLE_OP_ABSOLUTE+Tt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[2]"],[Tt.Msg.MIXLY_RELATIVE+Tt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[3]"],[Tt.Msg.MIXLY_MIXBOT_SERVO_BLOCK_OR_NOT,"[4]"],[Tt.Msg.MIXLY_MIXBOT_SERVO_FINISH_OR_NOT,"[5]"],[Tt.Msg.MIXLY_ALL,""]]),"status"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Fr={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.ME_GO_MOTOR_EXTERN+Tt.Msg.MIXLY_SERVO_MOTOR).appendField(Tt.Msg.PIN_NUMBERING).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_LEFT,"0"],[Tt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MIXBOT_SERVO_SET_STOP_MODE).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_KEEP,"0"],[Tt.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_COAST,"1"],[Tt.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_BRAKE,"2"]]),"status"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Pr={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.ME_GO_MOTOR_EXTERN+Tt.Msg.MIXLY_SERVO_MOTOR).appendField(Tt.Msg.PIN_NUMBERING).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_LEFT,"0"],[Tt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_STOP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},vr={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.ME_GO_MOTOR_EXTERN+Tt.Msg.MIXLY_SERVO_MOTOR).appendField(Tt.Msg.MATH_SINGLE_OP_ABSOLUTE+Tt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+Tt.Msg.MSG.run).appendField(Tt.Msg.PIN_NUMBERING).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_LEFT,"0"],[Tt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MODE).setAlign(Tt.inputs.Align.RIGHT).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_SPEED+Tt.Msg.MIXLY_MODE,"0"],[Tt.Msg.MIXLY_MICROBIT_JS_BLE_POWER+Tt.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(Tt.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(Tt.inputs.Align.RIGHT).appendField(new Tt.FieldDropdown([[Tt.Msg.CLOCKWISE,"0"],[Tt.Msg.MIXLY_MIXBOT_SERVO_NEAREST_PATH,"1"],[Tt.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.appendValueInput("angle").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+Tt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_MIXBOT_SERVO_ABSOLUTE_ANGLE_TOOLTIP)}},Yr={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.ME_GO_MOTOR_EXTERN+Tt.Msg.MIXLY_SERVO_MOTOR).appendField(Tt.Msg.MIXLY_RELATIVE+Tt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+Tt.Msg.MSG.run).appendField(Tt.Msg.PIN_NUMBERING).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_LEFT,"0"],[Tt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ORIGIN_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Xr={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.ME_GO_MOTOR_EXTERN+Tt.Msg.MIXLY_SERVO_MOTOR).appendField(Tt.Msg.MIXLY_RELATIVE+Tt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+Tt.Msg.MSG.run).appendField("("+Tt.Msg.MIXLY_MIXBOT_SERVO_LIKE_ENCODING_MOTOR+")").appendField(Tt.Msg.PIN_NUMBERING).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_LEFT,"0"],[Tt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MODE).setAlign(Tt.inputs.Align.RIGHT).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_SPEED+Tt.Msg.MIXLY_MODE,"0"],[Tt.Msg.MIXLY_MICROBIT_JS_BLE_POWER+Tt.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(Tt.inputs.Align.RIGHT).appendField("%"),this.appendValueInput("angle").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+Tt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ANGLE_TOOLTIP)}},xr={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.ME_GO_MOTOR_EXTERN+Tt.Msg.MIXLY_SERVO_MOTOR).appendField(Tt.Msg.MIXLY_RELATIVE+Tt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+Tt.Msg.MSG.run).appendField("("+Tt.Msg.MIXLY_MIXBOT_SERVO_LIKE_ORDINARY_MOTOR+")").appendField(Tt.Msg.PIN_NUMBERING).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_LEFT,"0"],[Tt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MODE).setAlign(Tt.inputs.Align.RIGHT).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_SPEED+Tt.Msg.MIXLY_MODE,"0"],[Tt.Msg.MIXLY_MICROBIT_JS_BLE_POWER+Tt.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(Tt.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(Tt.inputs.Align.RIGHT).appendField(new Tt.FieldDropdown([[Tt.Msg.CLOCKWISE,"0"],[Tt.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},br={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.MIXBOT).appendField(Tt.Msg.ME_GO_MOTOR_EXTERN).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MOTOR,"ext_motor"],[Tt.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[Tt.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[Tt.Msg.COLOUR_RGB_RED+"LED","R_LED"],[Tt.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[Tt.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[Tt.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[Tt.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MIXBOT_EXTERN_GET_ADDR),this.setOutput(!0),this.setInputsInline(!0)}},yr={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.MIXBOT).appendField(Tt.Msg.ME_GO_MOTOR_EXTERN).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MOTOR,"ext_motor"],[Tt.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[Tt.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[Tt.Msg.COLOUR_RGB_RED+"LED","R_LED"],[Tt.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[Tt.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[Tt.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[Tt.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MIXBOT_EXTERN_SET_ADDR),this.appendValueInput("old").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE),this.appendValueInput("new").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_UPDATE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Vr={init:function(){this.setColour(xu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_SETUP+Tt.Msg.MIXLY_AT).appendField(Tt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},Br={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.MIXLY_SETTING),this.appendValueInput("pin").appendField("LED"),this.appendValueInput("bright").appendField(Tt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Gr={init:function(){this.setColour(xu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_SERVO+Tt.Msg.MIXLY_SETUP+Tt.Msg.MIXLY_AT).appendField(Tt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},Ur={init:function(){this.setColour(xu),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_SERVO),this.appendValueInput("angle").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE),this.appendDummyInput().appendField(Tt.Msg.DRAW_POINTER_ANGLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},wr={init:function(){this.setColour(xu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_MOTOR+Tt.Msg.MIXLY_SETUP+Tt.Msg.MIXLY_AT).appendField(Tt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},Hr={init:function(){this.setColour(xu),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_MOTOR),this.appendValueInput("speed").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+Tt.Msg.MIXLY_SPEED),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},kr="#6C9858",Wr={init:function(){this.setColour(kr),this.appendDummyInput("").appendField(new Tt.FieldDropdown([["L1","1"],["L2","2"]]),"op"),this.setOutput(!0)}},Kr={init:function(){this.setColour(kr),this.appendDummyInput("").appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_ESP32_ON,"1"],[Tt.Msg.MIXLY_ESP32_OFF,"0"],[Tt.Msg.MIXLY_ESP32_TOGGLE,"-1"]]),"flag"),this.setOutput(!0),this.setTooltip(Tt.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},Jr={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(Tt.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(Tt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_LED_SETONOFF)}},Qr={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(Tt.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(Tt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_LED_GETBRIGHT)}},qr={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(Tt.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(Tt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_LED_GETONOFF)}},zr={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(Tt.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(Tt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_SETTING+Tt.Msg.MIXLY_BUILDIN_LED+Tt.Msg.MIXLY_BRIGHTNESS+"(0-100%)")}},jr={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(Tt.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_LCD_SETCOLOR).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_LIGHT_RED,"1"],[Tt.Msg.MIXLY_LIGHT_GREEN,"2"],[Tt.Msg.MIXLY_LIGHT_BLUE,"3"],[Tt.Msg.MIXLY_LIGHT_YELLOW,"4"],[Tt.Msg.MIXLY_LIGHT_CYAN,"5"],[Tt.Msg.MIXLY_LIGHT_PURPLE,"6"],[Tt.Msg.MIXLY_LIGHT_WHITE,"7"]]),"colorvalue"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},$r={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_SETTING).appendField(Tt.Msg.MIXLY_BUILDIN_LED).appendField(new Tt.FieldDropdown([[Tt.Msg.COLOUR_RGB_RED,"r"],[Tt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(Tt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_LED_SETONOFF)}},Zr={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Tt.Msg.MIXLY_BUILDIN_LED).appendField(new Tt.FieldDropdown([[Tt.Msg.COLOUR_RGB_RED,"r"],[Tt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_LED_GETONOFF)}},td={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Tt.Msg.MIXLY_BUILDIN_LED).appendField(new Tt.FieldDropdown([[Tt.Msg.COLOUR_RGB_RED,"r"],[Tt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_LED_GETONOFF)}},ed={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_SETTING).appendField(Tt.Msg.MIXLY_BUILDIN_LED).appendField(new Tt.FieldDropdown([[Tt.Msg.COLOUR_RGB_RED,"r"],[Tt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(Tt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_SETTING+Tt.Msg.MIXLY_BUILDIN_LED+Tt.Msg.MIXLY_BRIGHTNESS+"(0-10)")}},id={init:function(){this.setColour(kr),this.appendDummyInput("").appendField(new Tt.FieldDropdown([["L1","20"],["L2","21"]]),"op"),this.setOutput(!0)}},nd={init:function(){this.setColour(kr),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(Mt.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgo_cc":case"micropython:esp32s2:mixgo_ce":this.setTooltip(Tt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgo_me":default:this.setTooltip(Tt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(Tt.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},sd={init:function(){this.setColour(kr),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Tt.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},od={init:function(){this.setColour(kr),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(Tt.Msg.MIXLY_DURATION).appendField(Tt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},_d={init:function(){this.setColour(kr),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(Tt.Msg.PYTHON_RANGE_STEP).appendField(Tt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},pd={init:function(){this.setColour(kr),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RGB),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Tt.Msg.MIXLY_ESP32_MUSIC_WRI)}},ad={init:function(){this.setColour(kr),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(Mt.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgocc":this.setTooltip(Tt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgome":default:this.setTooltip(Tt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(Tt.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},ud={init:function(){this.setColour(kr),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Tt.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},rd={init:function(){this.setColour(kr),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(Tt.Msg.PYTHON_RANGE_STEP).appendField(Tt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},dd={init:function(){this.setColour(kr),this.appendValueInput("TICKS").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(Tt.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(Tt.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},ld={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},Id={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_MUSIC_RESET)}},Td={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Tt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Md={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Tt.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(Tt.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},hd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},md={init:function(){this.setColour(kr),this.appendValueInput("LIST").appendField(Tt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Ed={init:function(){this.setColour(kr),this.appendValueInput("LIST").appendField(Tt.Msg.MIXLY_BACKSTAGE+Tt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Od={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MOTOR_DC).appendField(new Tt.FieldDropdown([["1","1"],["2","2"],["3","3"]]),"wheel"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_Direction).appendField(new Tt.FieldDropdown([[Tt.Msg.CLOCKWISE,"CW"],[Tt.Msg.ANTI_CLOCKWISE,"CCW"],[Tt.Msg.MOTOR_P,"P"],[Tt.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Rd={init:function(){this.setColour(kr),this.appendDummyInput().appendField("MixGo Car").appendField(new Tt.FieldDropdown([[Tt.Msg.blockpy_forward,"F"],[Tt.Msg.blockpy_backward,"B"],[Tt.Msg.blockpy_left,"L"],[Tt.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},cd={init:function(){this.setColour(kr),this.appendDummyInput("").appendField("MixGo Car").appendField(new Tt.FieldDropdown([[Tt.Msg.MOTOR_P,"P"],[Tt.Msg.MOTOR_N,"N"]]),"VAR"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},gd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MOTOR_DC).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[Tt.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_Direction).appendField(new Tt.FieldDropdown([[Tt.Msg.CLOCKWISE,"CW"],[Tt.Msg.ANTI_CLOCKWISE,"CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Cd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MOTOR_DC).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[Tt.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_STOP).appendField(new Tt.FieldDropdown([[Tt.Msg.MOTOR_P,"P"],[Tt.Msg.MOTOR_N,"N"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Sd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MIXBOT_MOTOR_STATUS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_MIXBOT_MOTOR_STATUS_TOOLTIP)}},Ad={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXBOT).appendField(new Tt.FieldDropdown([[Tt.Msg.blockpy_forward,"F"],[Tt.Msg.blockpy_backward,"B"],[Tt.Msg.blockpy_left,"L"],[Tt.Msg.blockpy_right,"R"]]),"VAR"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[Tt.Msg.MIXLY_SPEED,"SPEED"],[Tt.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},Ld={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXBOT).appendField(new Tt.FieldDropdown([[Tt.Msg.MOTOR_P,"P"],[Tt.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Nd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXBOT).appendField(Tt.Msg.MIXLY_MOTOR).appendField(new Tt.FieldDropdown([[Tt.Msg.TEXT_TRIM_LEFT,"1"],[Tt.Msg.TEXT_TRIM_RIGHT,"2"],[Tt.Msg.TEXT_TRIM_BOTH,"0"]]),"wheel"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[Tt.Msg.MIXLY_SPEED,"SPEED"],[Tt.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},Dd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MIXBOT_BUZZER),this.appendDummyInput().appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,"0"],[Tt.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,"1"]]),"on_off"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},fd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.BITBOT).appendField(new Tt.FieldDropdown([[Tt.Msg.blockpy_forward,"F"],[Tt.Msg.blockpy_backward,"B"],[Tt.Msg.blockpy_left,"L"],[Tt.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Fd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.BITBOT).appendField(new Tt.FieldDropdown([[Tt.Msg.MOTOR_P,"P"],[Tt.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Pd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.BITBOT).appendField(Tt.Msg.MIXLY_MOTOR).appendField(new Tt.FieldDropdown([[Tt.Msg.TEXT_TRIM_LEFT,"0"],[Tt.Msg.TEXT_TRIM_RIGHT,"1"]]),"wheel"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_Direction).appendField(new Tt.FieldDropdown([[Tt.Msg.CLOCKWISE,"CW"],[Tt.Msg.ANTI_CLOCKWISE,"CCW"],[Tt.Msg.MOTOR_P,"P"],[Tt.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},vd={init:function(){this.setColour(kr),this.appendValueInput("bright").appendField(Tt.Msg.MIXLY_MIXBOT_SOUND_SET_LOUDNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_LED_SETONOFF)}},Yd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MIXBOT_SOUND_LOUDNESS+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_LED_GETONOFF)}},Xd={init:function(){this.setColour(kr),this.appendValueInput("bright").appendField(Tt.Msg.MIXLY_SETTING+Tt.Msg.MIXLY_MIXBOT_BUZZER+Tt.Msg.MIXLY_MP3_VOL),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_LED_SETONOFF)}},xd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET+Tt.Msg.MIXLY_MIXBOT_BUZZER+Tt.Msg.MIXLY_MP3_VOL+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_LED_GETONOFF)}},bd={init:function(){this.setColour(kr),this.appendValueInput("PATH").appendField(Tt.Msg.MIXLY_RECORD_AUDIO).appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendValueInput("TIME").setCheck(Number).appendField(Tt.Msg.MIXLY_GET_PRESSES_TIME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},yd={init:function(){this.setColour(kr),this.appendValueInput("PATH").appendField(Tt.Msg.MIXLY_PLAY_AUDIO).appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Vd={init:function(){this.setColour(kr),this.appendValueInput("PATH").appendField(Tt.Msg.MIXLY_PLAY_ONLINE_AUDIO).appendField("URL"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Bd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Tt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Gd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ud={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.LISTS_SET_INDEX_SET+Tt.Msg.ME_GO_MOTOR_EXTERN).appendField(Tt.Msg.PIN_NUMBERING);switch(Mt.Boards.getSelectedBoardKey()){case"micropython:esp32c2:mixgo_mini":this.appendDummyInput().appendField(new Tt.FieldDropdown([["1","1"],["2","2"]]),"index");break;case"micropython:esp32c5:mixgo_sowl":this.appendDummyInput().appendField(new Tt.FieldDropdown([["1","1"],["2","2"],["4","4"],["5","5"]]),"index");break;default:this.appendDummyInput().appendField(new Tt.FieldDropdown([["1","1"],["2","2"],["3","3"],["4","4"]]),"index")}this.appendValueInput("duty").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.blynk_IOT_IR_POWER+Tt.Msg.MIXLY_PINMODEOUT),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},wd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET+Tt.Msg.ME_GO_MOTOR_EXTERN).appendField(Tt.Msg.PIN_NUMBERING);switch(Mt.Boards.getSelectedBoardKey()){case"micropython:esp32c2:mixgo_mini":this.appendDummyInput().appendField(new Tt.FieldDropdown([["1","1"],["2","2"]]),"index");break;case"micropython:esp32c5:mixgo_sowl":this.appendDummyInput().appendField(new Tt.FieldDropdown([["1","1"],["2","2"],["4","4"],["5","5"]]),"index");break;default:this.appendDummyInput().appendField(new Tt.FieldDropdown([["1","1"],["2","2"],["3","3"],["4","4"]]),"index")}this.appendDummyInput().setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.blynk_IOT_IR_POWER+Tt.Msg.MIXLY_PINMODEOUT+Tt.Msg.MIXLY_DUTY_RATIO),this.setOutput(!0,Number),this.setInputsInline(!0)}},Hd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.LISTS_SET_INDEX_SET+Tt.Msg.ME_GO_MOTOR_EXTERN).appendField(Tt.Msg.MIXLY_ALL+Tt.Msg.PIN_NUMBERING),this.appendValueInput("duty").setCheck(Number).setAlign(Tt.ALIGN_RIGHT).appendField(Tt.Msg.blynk_IOT_IR_POWER+Tt.Msg.MIXLY_PINMODEOUT+Tt.Msg.MIXLY_FREQUENCY),this.appendDummyInput().appendField("Hz"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},kd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.LISTS_SET_INDEX_SET+Tt.Msg.ME_GO_MOTOR_EXTERN).appendField(new Tt.FieldDropdown([["1-2","1"],["4-5","4"]]),"index"),this.appendValueInput("duty").setCheck(Number).setAlign(Tt.ALIGN_RIGHT).appendField(Tt.Msg.blynk_IOT_IR_POWER+Tt.Msg.MIXLY_PINMODEOUT+Tt.Msg.MIXLY_FREQUENCY),this.appendDummyInput().appendField("Hz"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},Wd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.ANALOG+Tt.Msg.MIXLY_KEYBOARD_INPUT),this.appendValueInput("special"),this.appendValueInput("general"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_RELEASE).appendField(new Tt.FieldDropdown([[Tt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[Tt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"release"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.ANALOG+Tt.Msg.MIXLY_KEYBOARD_INPUT)}},Kd={init:function(){this.setColour(kr),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_SPECIAL_KEY).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_SPECIAL_KEY0,"0x00"],[Tt.Msg.MIXLY_SPECIAL_KEY1,"0x01"],[Tt.Msg.MIXLY_SPECIAL_KEY2,"0x02"],[Tt.Msg.MIXLY_SPECIAL_KEY4,"0x04"],[Tt.Msg.MIXLY_SPECIAL_KEY8,"0x08"],[Tt.Msg.MIXLY_SPECIAL_KEY16,"0x10"],[Tt.Msg.MIXLY_SPECIAL_KEY32,"0x20"],[Tt.Msg.MIXLY_SPECIAL_KEY64,"0x40"],[Tt.Msg.MIXLY_SPECIAL_KEY128,"0x80"]]),"op"),this.setOutput(!0)}},Jd={init:function(){this.setColour(kr),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_GENERAL_KEY).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_SPECIAL_KEY0,"0x00"],["A","0x04"],["B","0x05"],["C","0x06"],["D","0x07"],["E","0x08"],["F","0x09"],["G","0x0A"],["H","0x0B"],["I","0x0C"],["J","0x0D"],["K","0x0E"],["L","0x0F"],["M","0x10"],["N","0x11"],["O","0x12"],["P","0x13"],["Q","0x14"],["R","0x15"],["S","0x16"],["T","0x17"],["U","0x18"],["V","0x19"],["W","0x1A"],["X","0x1B"],["Y","0x1C"],["Z","0x1D"],["1 !","0x1E"],["2 @","0x1F"],["3 #","0x20"],["4 $","0x21"],["5 %","0x22"],["6 ^","0x23"],["7 &","0x24"],["8 *","0x25"],["9 (","0x26"],["0 )","0x27"],["ENTER","0x28"],["ESC","0x29"],["BACKSPACE","0x2A"],["TAB","0x2B"],["SPACE","0x2C"],["- _","0x2D"],["= +","0x2E"],["[ {","0x2F"],["] }","0x30"],["\\ |","0x31"],["; :","0x33"],["' \"","0x34"],["` ~","0x35"],[", <","0x36"],[". >","0x37"],["/ ?","0x38"],["CAPS_LOCK","0x39"],["F1","0x3A"],["F2","0x3B"],["F3","0x3C"],["F4","0x3D"],["F5","0x3E"],["F6","0x3F"],["F7","0x40"],["F8","0x41"],["F9","0x42"],["F10","0x43"],["F11","0x44"],["F12","0x45"],["PRINTSCREEN","0x46"],["SCROLL_LOCK","0x47"],["PAUSE","0x48"],["INSERT","0x49"],["HOME","0x4A"],["PAGE_UP","0x4B"],["DELETE","0x4C"],["END","0x4D"],["PAGE_DOWN","0x4E"],["RIGHT","0x4F"],["LEFT","0x50"],["DOWN","0x51"],["UP","0x52"],["NUM_LOCK","0x53"],["/","0x54"],["*","0x55"],["-","0x56"],["+","0x57"],["ENTER","0x58"],["1","0x59"],["2","0x5A"],["3","0x5B"],["4","0x5C"],["5","0x5D"],["6","0x5E"],["7","0x5F"],["8","0x60"],["9","0x61"],["0","0x62"],[".","0x63"]]),"op"),this.setOutput(!0)}},Qd={init:function(){this.setColour(kr),this.itemCount_=2,this.updateShape_(),this.setOutput(!0),this.setMutator(new Tt.icons.MutatorIcon(["generalkey_create_with_item"],this)),this.setTooltip(Tt.Msg.GENERALKEY_TUPLE_CREATE_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("generalkey_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;nnew Array(32).fill(0)))},Vh={init:function(){this.jsonInit({colour:Nh,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SAD","SAD"],["SMILE","SMILE"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["SURPRISED","SURPRISED"],["ASLEEP","ASLEEP"],["ANGRY","ANGRY"],["CONFUSED","CONFUSED"],["NO","NO"],["YES","YES"]],type:"field_dropdown"}],output:["esp32_image","List"],helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#attributes",tooltip:Tt.Msg.MIXLY_MICROBIT_Built_in_image1,message0:Tt.Msg.MIXLY_MICROBIT_Built_in_image})}},Bh={init:function(){this.setColour(Nh),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new Tt.FieldDropdown(Mt.Profile.default.builtinimg),"image"),this.setOutput(!0,["esp32_image","List"])}},Gh={init:function(){this.setColour(Nh),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(Tt.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new Tt.FieldDropdown(Gh.OPERATORS),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{"+":Tt.Msg.MIXLY_MICROBIT_image_add,"-":Tt.Msg.MIXLY_MICROBIT_image_reduce}[e]}))},OPERATORS:[[Tt.Msg.MICROBIT_DISPLAY_UNION,"add"],[Tt.Msg.MICROBIT_DISPLAY_MINUS,"sub"]]},Uh={init:function(){this.setColour(Nh),this.appendValueInput("A").setCheck("esp32_image").appendField(Tt.Msg.MIXLY_MICROBIT_Invert_image1),this.setInputsInline(!0),this.setOutput(!0,"esp32_image")}},wh={init:function(){this.setColour(Nh),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(Tt.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(Tt.Msg.DISPLAY_IMAGE_LET2).appendField(new Tt.FieldDropdown(wh.OPERATORS),"OP"),this.appendValueInput("val").appendField(Tt.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(Tt.Msg.DISPLAY_IMAGE_UNIT),["Python ESP32-S3","Python ESP32-C5"].includes(Mt.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Tt.Msg.MIXLY_synchronize);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=Tt.Msg.DISPLAY_IMAGE_LET,n=Tt.Msg.DISPLAY_IMAGE_LET2,s=Tt.Msg.DISPLAY_IMAGE_LET3;return i+n+{shift_up:Tt.Msg.MIXLY_UP,shift_down:Tt.Msg.MIXLY_DOWN,shift_left:Tt.Msg.MIXLY_LEFT,shift_right:Tt.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[Tt.Msg.MIXLY_UP,"shift_up"],[Tt.Msg.MIXLY_DOWN,"shift_down"],[Tt.Msg.MIXLY_LEFT,"shift_left"],[Tt.Msg.MIXLY_RIGHT,"shift_right"]]},Hh={init:function(){this.setColour(Nh),this.appendValueInput("x").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_JS_MONITOR_GET_POINT),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Tt.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},kh={init:function(){this.setColour(Nh),this.appendValueInput("x").setCheck(Number).appendField(Tt.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},Wh={init:function(){this.setColour(Nh),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Tt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},Kh={init:function(){this.setColour(Nh),this.appendValueInput("x").setCheck(Number).appendField(Tt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},Jh={init:function(){this.setColour(Nh),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_Clear_display),["Python ESP32-S3","Python ESP32-C5"].includes(Mt.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Tt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_Clear_display)}},Qh={init:function(){this.setColour(Nh),this.appendDummyInput().appendField(Tt.Msg.MIXLY_SHOW+Tt.Msg.MIXLY_DISPLAY_MATRIX_WRITE_NOW),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},qh={init:function(){this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<5;t++){let e=this.appendDummyInput();for(let i=0;i<8;i++)e.appendField(new Tt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${Tt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(Nh),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Tt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},zh={init:function(){this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Tt.inputs.Align.CENTRE).appendField(new Tt.FieldBitmap(zh.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Nh),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(8).fill(0)))},jh={init:function(){this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<8;t++){let e=this.appendDummyInput();for(let i=0;i<12;i++)e.appendField(new Tt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${Tt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(Nh),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Tt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},$h={init:function(){this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Tt.inputs.Align.CENTRE).appendField(new Tt.FieldBitmap($h.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Nh),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(12).fill(0)))},Zh={init:function(){this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<8;t++){let e=this.appendDummyInput();for(let i=0;i<16;i++)e.appendField(new Tt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${Tt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0,"esp32_image"),this.setColour(Nh),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Tt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},tm={init:function(){this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Tt.inputs.Align.CENTRE).appendField(new Tt.FieldBitmap(tm.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Nh),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(16).fill(0)))},em={init:function(){this.setColour(Nh),this.appendDummyInput().appendField(Tt.Msg.OLED_SET_FONT).appendField(new Tt.FieldDropdown(em.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[["4x5"+Tt.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'4x5'"],["5x5"+Tt.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'5x5'"],["5x8"+Tt.Msg.MIXGO_ME_DISPLAY_VERTICAL,"'5x8'"]]},im={init:function(){this.setColour(Nh),this.appendValueInput("data").appendField(Tt.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.OLED_BITMAP_OR_STRING)}},nm={init:function(){this.setColour(Nh),this.appendValueInput("data").appendField(Tt.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.OLED_BITMAP_OR_STRING)}},sm={init:function(){this.setColour(Nh),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(Tt.Msg.OLED_DRAWSTR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.OLED_BITMAP_OR_STRING)}},om={init:function(){this.setColour(Nh),this.appendValueInput("data").appendField(Tt.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Tt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(Tt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(Tt.Msg.TEXT_CENTER).appendField(new Tt.FieldDropdown([[Tt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[Tt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},_m={init:function(){this.setColour(Nh),this.appendValueInput("data").appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Tt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(Tt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},pm={init:function(){this.setColour(Nh),this.appendValueInput("data").appendField(Tt.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(Tt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},am={init:function(){this.setColour(Nh),this.appendValueInput("x").setCheck(Number).appendField(Tt.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},um={init:function(){this.jsonInit({colour:Nh,args0:[{name:"state",options:[[Tt.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[Tt.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"shape",options:[[Tt.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[Tt.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"}],inputsInline:!0,helpUrl:Tt.Msg.mpython_HELPURL,tooltip:Tt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:Tt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},rm={init:function(){this.jsonInit({colour:Nh,args0:[{name:"state",options:[[Tt.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[Tt.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"dir_h_v",options:[[Tt.Msg.mpython_vertical,"0"],[Tt.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"}],inputsInline:!0,helpUrl:Tt.Msg.mpython_HELPURL,tooltip:Tt.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:Tt.Msg.MPYTHON_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},dm={init:function(){this.jsonInit({colour:Nh,args0:[{name:"state",options:[[Tt.Msg.mpython_display_hline_1,"1"],[Tt.Msg.mpython_display_hline_0,"0"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"}],inputsInline:!0,helpUrl:Tt.Msg.mpython_HELPURL,tooltip:Tt.Msg.mpython_display_line_TOOLTIP,message0:Tt.Msg.mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},lm={init:function(){this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new Tt.FieldDropdown(lm.IMAGES),"path"),this.setColour(Nh),this.setOutput(!0)},IMAGES:[["Heart","expression_picture.Heart"],["Angry","expression_picture.Angry"],["Bored","expression_picture.Bored"],["Confused","expression_picture.Confused"],["Happy","expression_picture.Happy"],["Paper","expression_picture.Paper"],["Rock","expression_picture.Rock"],["Sad","expression_picture.Sad"],["Scissors","expression_picture.Scissors"],["Silly","expression_picture.Silly"],["Sleep","expression_picture.Sleep"],["Small_heart","expression_picture.Small_heart"],["Small_paper","expression_picture.Small_paper"],["Small_rock","expression_picture.Small_rock"],["Small_scissors","expression_picture.Small_scissors"],["Smile","expression_picture.Smile"],["Surprise","expression_picture.Surprise"],["Wonderful","expression_picture.Wonderful"],["Eyes_Angry","eye_picture.Eyes_Angry"],["Awake","eye_picture.Awake"],["Black_eye","eye_picture.Black_eye"],["Bottom_left","eye_picture.Bottom_left"],["Bottom_right","eye_picture.Bottom_right"],["Crazy_1","eye_picture.Crazy_1"],["Crazy_2","eye_picture.Crazy_2"],["Disappointed","eye_picture.Disappointed"],["Dizzy","eye_picture.Dizzy"],["Down","eye_picture.Down"],["Evil","eye_picture.Evil"],["Hurt","eye_picture.Hurt"],["Knocked_out","eye_picture.Knocked_out"],["Love","eye_picture.Love"],["Middle_left","eye_picture.Middle_left"],["Middle_right","eye_picture.Middle_right"],["Neutral","eye_picture.Neutral"],["Nuclear","eye_picture.Nuclear"],["Pinch_left","eye_picture.Pinch_left"],["Pinch_middle","eye_picture.Pinch_middle"],["Pinch_right","eye_picture.Pinch_right"],["Tear","eye_picture.Tear"],["Tired_left","eye_picture.Tired_left"],["Tired_middle","eye_picture.Tired_middle"],["Tired_right","eye_picture.Tired_right"],["Toxic","eye_picture.Toxic"],["Up","eye_picture.Up"],["Winking","eye_picture.Winking"],["Accept","informatio_picture.Accept"],["Backward","informatio_picture.Backward"],["Decline","informatio_picture.Decline"],["Forward","informatio_picture.Forward"],["Left","informatio_picture.Left"],["No_go","informatio_picture.No_go"],["Question_mark","informatio_picture.Question_mark"],["Right","informatio_picture.Right"],["Stop_1","informatio_picture.Stop_1"],["Stop_2","informatio_picture.Stop_2"],["Thumbs_down","informatio_picture.Thumbs_down"],["Thumbs_up","informatio_picture.Thumbs_up"],["Warning","informatio_picture.Warning"],["Bomb","object_picture.Bomb"],["Boom","object_picture.Boom"],["Fire","object_picture.Fire"],["Flowers","object_picture.Flowers"],["Forest","object_picture.Forest"],["Lightning","object_picture.Lightning"],["Light_off","object_picture.Light_off"],["Light_on","object_picture.Light_on"],["Night","object_picture.Night"],["Pirate","object_picture.Pirate"],["Snow","object_picture.Snow"],["Target","object_picture.Target"],["Bar_0","progres_picture.Bar_0"],["Bar_1","progres_picture.Bar_1"],["Bar_2","progres_picture.Bar_2"],["Bar_3","progres_picture.Bar_3"],["Bar_4","progres_picture.Bar_4"],["Dial_0","progres_picture.Dial_0"],["Dial_1","progres_picture.Dial_1"],["Dial_2","progres_picture.Dial_2"],["Dial_3","progres_picture.Dial_3"],["Dial_4","progres_picture.Dial_4"],["Dots_0","progres_picture.Dots_0"],["Dots_1","progres_picture.Dots_1"],["Dots_2","progres_picture.Dots_2"],["Dots_3","progres_picture.Dots_3"],["Hourglass_0","progres_picture.Hourglass_0"],["Hourglass_1","progres_picture.Hourglass_1"],["Hourglass_2","progres_picture.Hourglass_2"],["Timer_0","progres_picture.Timer_0"],["Timer_1","progres_picture.Timer_1"],["Timer_2","progres_picture.Timer_2"],["Timer_3","progres_picture.Timer_3"],["Timer_4","progres_picture.Timer_4"],["Water_level_0","progres_picture.Water_level_0"],["Water_level_1","progres_picture.Water_level_1"],["Water_level_2","progres_picture.Water_level_2"],["Water_level_3","progres_picture.Water_level_3"],["YES","informatio_picture.YES"],["NO","informatio_picture.NO"]]},Im={init:function(){this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<5;t++){let e=this.appendDummyInput();for(let i=0;i<5;i++)e.appendField(new Tt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${Tt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(Nh),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Tt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Tm={init:function(){this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Tt.inputs.Align.CENTRE).appendField(new Tt.FieldBitmap(Tm.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Nh),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(5).fill(0)))},Mm={init:function(){this.setColour(Nh),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Tt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},hm={init:function(){this.setColour(Nh),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MIXBOT_AMBIENTBRIGHT),this.setInputsInline(!0),this.setOutput(!0,Number)}},mm={init:function(){this.setColour(Nh),this.appendValueInput("x").setCheck(Number).appendField(Tt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},Em={init:function(){this.setColour(Nh),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MIXBOT_SCREEN_ROTATE).appendField(new Tt.FieldDropdown(Em.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[[Tt.Msg.mixpy_PL_PIE_SHADOW_N,"0"],[Tt.Msg.CLOCKWISE+"90"+Tt.Msg.blockpy_setheading_degree,"1"],[Tt.Msg.CLOCKWISE+"180"+Tt.Msg.blockpy_setheading_degree,"2"],[Tt.Msg.CLOCKWISE+"270"+Tt.Msg.blockpy_setheading_degree,"3"]]},Om={init:function(){this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<12;t++){let e=this.appendDummyInput();for(let i=0;i<12;i++)e.appendField(new Tt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${Tt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(Nh),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Tt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Rm={init:function(){this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Tt.inputs.Align.CENTRE).appendField(new Tt.FieldBitmap(Rm.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Nh),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:12},(()=>new Array(12).fill(0)))},cm={init:function(){this.setColour(Nh),this.appendValueInput("data").appendField(Tt.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(Tt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Mt.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Tt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},gm={init:function(){this.setColour(Nh),this.appendValueInput("x").setCheck(Number).appendField(Tt.Msg.OLED_BITMAP).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("direct").setCheck(String).appendField(Tt.Msg.MIXLY_AipImageClassify_Image+Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Cm={init:function(){this.setColour(Nh),this.appendValueInput("data").appendField(Tt.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Tt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(Tt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(Tt.Msg.TEXT_CENTER).appendField(new Tt.FieldDropdown([[Tt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[Tt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.appendValueInput("VAR").appendField(Tt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Mt.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Tt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},Sm={init:function(){this.setColour(Nh),this.appendValueInput("data").appendField(Tt.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(Tt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("VAR").appendField(Tt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Am={init:function(){this.jsonInit({colour:Nh,args0:[{name:"shape",options:[[Tt.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[Tt.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:Tt.Msg.mpython_HELPURL,tooltip:Tt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:Tt.Msg.ONBOARD_TFT_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},Lm={init:function(){this.jsonInit({colour:Nh,args0:[{name:"dir_h_v",options:[[Tt.Msg.mpython_vertical,"0"],[Tt.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:Tt.Msg.mpython_HELPURL,tooltip:Tt.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:Tt.Msg.ONBOARD_TFT_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},Nm={init:function(){this.jsonInit({colour:Nh,args0:[{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:Tt.Msg.mpython_HELPURL,tooltip:Tt.Msg.mpython_display_line_TOOLTIP,message0:Tt.Msg.onboard_mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},Dm={init:function(){this.setColour(Nh),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("x").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(Tt.Msg.HTML_COLOUR),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Tt.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},fm={init:function(){this.setColour(Nh),this.appendValueInput("x").setCheck(Number).appendField(Tt.Msg.MIXLY_LCD_SETCOLOR).appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("VAR").appendField(Tt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Mt.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Tt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},Fm={init:function(){this.setColour(Nh),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_SCREEN_FILL),["Python ESP32-S3","Python ESP32-C5"].includes(Mt.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Tt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Pm={init:function(){this.setColour(Nh),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_INIT_CLOCK),this.appendDummyInput().appendField(Tt.Msg.MIXLY_CENTER_POS),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Tt.Msg.OLED_CIRCLE_RADIUS),this.appendValueInput("VAR").appendField(Tt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},vm={init:function(){this.setColour(Nh),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Tt.Msg.GET_RTCTIME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Ym={init:function(){this.setColour(Nh),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Tt.Msg.SET_TIME),this.appendValueInput("h").setCheck(Number).appendField(Tt.Msg.MIXLY_HOUR),this.appendValueInput("m").setCheck(Number).appendField(Tt.Msg.MIXLY_MINUTE),this.appendValueInput("s").setCheck(Number).appendField(Tt.Msg.MIXLY_SECOND),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Xm={init:function(){this.setColour(Nh),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Tt.Msg.DRAW_CLOCK),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},xm={init:function(){this.setColour(Nh),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Tt.Msg.CLEAR_CLOCK),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_STM32_TFT_BACKGROUND_COLOR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},bm={init:function(){this.jsonInit({colour:Nh,args0:[{name:"shape",options:[[Tt.Msg.MPYTHON_DISPLAY_HOLLOW,"False"],[Tt.Msg.MPYTHON_DISPLAY_SOLID,"True"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"r",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:Tt.Msg.mpython_HELPURL,message0:Tt.Msg.ONBOARD_TFT_DISPLAY_SHAPE_CIRCLE_MESSAGE0,nextStatement:null,previousStatement:null})}},ym={init:function(){this.setColour(Nh),this.appendDummyInput().appendField(Tt.Msg.DRAW_POINTER).appendField(Tt.Msg.DRAW_POINTER_ANGLE),this.appendValueInput("angle"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_DRAW_POINTER_DU),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.DRAW_POINTER_TOOLTIP)}},Vm={init:function(){this.setColour(Nh),this.appendDummyInput().appendField(Tt.Msg.DRAW_POINTER).appendField(Tt.Msg.DRAW_POINTER_ANGLE),this.appendValueInput("angle"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_DRAW_POINTER_DU),this.appendValueInput("VAR").appendField(Tt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.DRAW_POINTER_TOOLTIP)}},Bm={init:function(){this.setColour(Nh),this.appendValueInput("data").appendField(Tt.Msg.MIXLY_Display_long_text),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(Tt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Mt.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Tt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Gm={init:function(){this.setColour(Nh),this.appendValueInput("direct").appendField(Tt.Msg.OLED_BITMAP).appendField(Tt.Msg.MIXLY_QR_CODE),["Python ESP32-S3","Python ESP32-C5"].includes(Mt.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Tt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Um={init:function(){this.setColour(Nh),this.appendValueInput("data").appendField(Tt.Msg.OLED_BITMAP).appendField(Tt.Msg.MIXLY_QR_CODE),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_ERROR_RATE).appendField(new Tt.FieldDropdown([["0","7%"],["1","15%"],["2","25%"],["3","30"]]),"correct"),this.appendValueInput("VAR").appendField(Tt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Mt.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Tt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},wm={init:function(){this.setColour(Nh),this.appendValueInput("data").appendField(Tt.Msg.OLED_BITMAP),this.appendDummyInput().appendField(`(${Tt.Msg.MIXLY_DEPRECATED})`),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.OLED_BITMAP_OR_STRING),this.setWarningText(Tt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Hm={init:function(){Fh.init.call(this),this.appendDummyInput().appendField(`(${Tt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Tt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},km={init:function(){Xh.init.call(this),this.appendDummyInput().appendField(`(${Tt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Tt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Wm={init:function(){wh.init.call(this),this.appendDummyInput().appendField(`(${Tt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Tt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Km={init:function(){Wh.init.call(this),this.appendDummyInput().appendField(`(${Tt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Tt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Jm={init:function(){Kh.init.call(this),this.appendDummyInput().appendField(`(${Tt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Tt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Qm={init:function(){Jh.init.call(this),this.appendDummyInput().appendField(`(${Tt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Tt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},qm=180,zm={init:function(){this.setColour(qm),this.setOutput(!0),this.setInputsInline(!0),this.appendValueInput("img").appendField(Tt.Msg.DISPLAY_IMAGE_LET).setCheck(["esp32_image","List",String]),this.appendDummyInput("").appendField(Tt.Msg.DISPLAY_IMAGE_LET2).appendField(new Tt.FieldDropdown(zm.OPERATORS),"OP"),this.appendValueInput("val").appendField(Tt.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(Tt.Msg.DISPLAY_IMAGE_UNIT);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=Tt.Msg.DISPLAY_IMAGE_LET,n=Tt.Msg.DISPLAY_IMAGE_LET2,s=Tt.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:Tt.Msg.MIXLY_UP,down:Tt.Msg.MIXLY_DOWN,left:Tt.Msg.MIXLY_LEFT,right:Tt.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[Tt.Msg.MIXLY_UP,"up"],[Tt.Msg.MIXLY_DOWN,"down"],[Tt.Msg.MIXLY_LEFT,"left"],[Tt.Msg.MIXLY_RIGHT,"right"]]},jm={init:function(){this.setColour(qm),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(Tt.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new Tt.FieldDropdown(jm.OPERATORS),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{"+":Tt.Msg.MIXLY_MICROBIT_image_add,"-":Tt.Msg.MIXLY_MICROBIT_image_reduce}[e]}))},OPERATORS:[[Tt.Msg.MICROBIT_DISPLAY_UNION,"+"],[Tt.Msg.MICROBIT_DISPLAY_MINUS,"-"]]},$m={init:function(){this.setColour(qm),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+Tt.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("esp32_image"),this.appendDummyInput("").appendField(new Tt.FieldDropdown($m.OPERATORS),"OP"),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+Tt.Msg.MIXLY_MICROBIT_IMAGE+{height:Tt.Msg.MIXLY_HEIGHT,width:Tt.Msg.MIXLY_WIDTH}[e]}))},OPERATORS:[[Tt.Msg.MIXLY_HEIGHT,"height"],[Tt.Msg.MIXLY_WIDTH,"width"]]},Zm={init:function(){this.setColour(qm),this.appendValueInput("VAR").appendField(Tt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RECT).appendField(new Tt.FieldDropdown(Zm.STATUS),"OP"),this.jsonInit({message0:Tt.Msg.MIXLY_MICROBIT_SHOW_RECT,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"width"},{check:Number,type:"input_value",name:"height"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Tt.Msg.MIXLY_OLED_RECT)},STATUS:[[Tt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[Tt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},tE={init:function(){this.setColour(qm),this.appendValueInput("VAR").appendField(Tt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE).appendField(new Tt.FieldDropdown(tE.STATUS),"OP"),this.jsonInit({message0:Tt.Msg.MIXLY_HANBIT_SHOW_CIRCLE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"r"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Tt.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE)},STATUS:[[Tt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[Tt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},eE={init:function(){this.setColour(qm),this.appendValueInput("VAR").appendField(Tt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_DISPLAY_DRAW+Tt.Msg.MIXLY_HANBIT_DRAW_TRIANGLE).appendField(new Tt.FieldDropdown(eE.STATUS),"OP"),this.jsonInit({message0:Tt.Msg.MIXLY_HANBIT_SHOW_triangle,args0:[{check:Number,type:"input_value",name:"x0"},{check:Number,type:"input_value",name:"y0"},{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Tt.Msg.MIXLY_DISPLAY_DRAW+Tt.Msg.MIXLY_HANBIT_DRAW_TRIANGLE)},STATUS:[[Tt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[Tt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},iE="#777777",nE={init:function(){this.setColour(iE),this.appendDummyInput("").appendField("from ").appendField(new Tt.FieldTextInput("ESP32"),"path").appendField(" import ").appendField(new Tt.FieldTextInput("*"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},sE={init:function(){this.setColour(iE),this.appendDummyInput("").appendField("import ").appendField(new Tt.FieldTextInput("module"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},oE={init:function(){this.setColour(iE),this.appendDummyInput("").appendField(new Tt.FieldTextInput("my_function"),"NAME"),this.itemCount_=1,this.arguments_=["x"],this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Tt.icons.MutatorIcon(["factory_create_with_item"],this))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("items",this.itemCount_);for(var e=0;ee?t[e]:'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Tt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},KE={init:function(){this.setColour(BE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(Tt.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},JE={init:function(){this.setColour(BE),this.appendDummyInput().appendField(Tt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},QE={init:function(){this.setColour(BE),this.appendDummyInput().appendField(Tt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},qE={init:function(){this.setColour(BE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").setCheck(String).appendField(Tt.Msg.MIXLY_EMQX_SERVER).setAlign(Tt.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(Tt.Msg.MIXLY_WIFI_USERNAME).setAlign(Tt.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(Tt.Msg.MIXLY_IOT_PASSWORD).setAlign(Tt.inputs.Align.RIGHT),this.appendValueInput("PROJECT").setCheck(String).appendField(Tt.Msg.MIXLY_EMQX_PROJECT).setAlign(Tt.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},zE={init:function(){this.setColour(BE),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(Tt.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(Tt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(Tt.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},jE={init:function(){this.setColour(BE),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(Tt.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(Tt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(Tt.Msg.HTML_BODY),this.appendDummyInput().appendField(Tt.Msg.MIXLY_Service_quality_display).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_AT_MOST_ONCE,"0"],[Tt.Msg.MIXLY_AT_LEAST_ONCE,"1"]]),"quality"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},$E={init:function(){this.setColour(BE),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(Tt.Msg.MIXLY_EMQX_SUBSCRIBE+Tt.Msg.MIXLY_MICROBIT_MSG).appendField(Tt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(Tt.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_IOT_EMQX_SUBSCRIBE_TOOLTIP)}},ZE={init:function(){this.setColour(BE),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},tO={init:function(){this.setColour(BE),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_EMQX_CONNECT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},eO={init:function(){this.setColour(BE),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_CHECK_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},iO={init:function(){this.setColour(BE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(Tt.Msg.MQTT_Topic),this.setInputsInline(!0),this.setOutput(!0)}},nO={init:function(){this.setColour(BE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(Tt.Msg.MIXLY_EMQX_PUBLISH_MSG),this.setInputsInline(!0),this.setOutput(!0)}},sO={init:function(){this.setColour(BE),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_ESP32_IOT_MAP_FORMATING),this.setOutput(!0)}},oO={init:function(){this.setColour(BE),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_MICROPYTHON_FORMAT+"(Json)"),this.setOutput(!0)}},_O={init:function(){this.setColour(BE),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_EMQX_PING),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_IOT_EMQX_PING_TOOLTIP)}},pO={init:function(){this.setColour(BE),this.appendDummyInput().appendField("MixIO").appendField(Tt.Msg.MIXLY_GET_NTP),this.appendValueInput("addr").appendField(Tt.Msg.blynk_SERVER_ADD),this.setInputsInline(!0),this.setOutput(!0)}},aO={init:function(){this.setColour(BE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(Tt.Msg.MIXLY_EMQX_SERVER).setAlign(Tt.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(Tt.Msg.CONTROLS_FOR_INPUT_WITH+Tt.Msg.MIXLY_MIXIO_SHARE_KEY).setAlign(Tt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},uO={init:function(){this.setColour(BE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(Tt.Msg.MIXLY_EMQX_SERVER).setAlign(Tt.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(Tt.Msg.CONTROLS_FOR_INPUT_WITH+"Mixly Key").setAlign(Tt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},rO={init:function(){this.VISITOR_ID=Mt.Config.BOARD.visitorId.str32.substring(0,8).toUpperCase(),this.setColour(BE),this.appendDummyInput("").appendField(new Tt.FieldTextInput(this.visitorId),"VISITOR_ID"),this.setOutput(!0,null)},onchange:function(){const t=this.getFieldValue("VISITOR_ID");this.VISITOR_ID!==t&&this.setFieldValue(this.VISITOR_ID,"VISITOR_ID")}},dO={init:function(){this.setColour(BE),this.appendDummyInput().appendField("MixIO").appendField(Tt.Msg.MSG.catEthernet_clinet),this.setOutput(!0),this.setInputsInline(!0)}},lO={init:function(){this.setColour(BE),this.appendDummyInput().appendField("HTTP"+Tt.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(Tt.Msg.DISPLAY_IMAGE_LET2),this.appendDummyInput().appendField(Tt.Msg.MIXLY_REQUESTS_GET).appendField(Tt.Msg.MIXLY_GET_CURRENT_TIME).appendField(Tt.Msg.MIXLY_OPEN_DEBUG).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Tt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},IO={init:function(){this.setColour(BE),this.appendDummyInput().appendField("HTTP"+Tt.Msg.MIXLY_Client).appendField(Tt.Msg.MIXLY_GET).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_REQUESTS_LEN,"client_len"],[Tt.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[Tt.Msg.MIXLY_REQUESTS_MESSAGE,"text"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},TO={init:function(){this.setColour(BE),this.appendDummyInput().appendField("MQTT"+Tt.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(Tt.Msg.MIXLY_CONNECTTO),this.appendDummyInput().appendField(Tt.Msg.MIXLY_INIT_SUBSCRIBE).appendField(Tt.Msg.MQTT_Topic).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_GET_CURRENT_TIME,""]]),"key").appendField(Tt.Msg.MIXLY_OPEN_DEBUG).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Tt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},MO={init:function(){this.setColour(BE),this.appendDummyInput().appendField("MQTT"+Tt.Msg.MIXLY_Client).appendField(Tt.Msg.MIXLY_GET).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_REQUESTS_LEN,"client_len"],[Tt.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[Tt.Msg.MIXLY_REQUESTS_MESSAGE,"time_msg()"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},hO=GE,mO=UE,EO=wE,OO=HE,RO=WE,cO={init:function(){this.setColour(BE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_CONNECT_OLLAMA),this.appendValueInput("SERVER").appendField(Tt.Msg.MIXLY_EMQX_SERVER).setAlign(Tt.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(Tt.Msg.MODEL_NAME).setAlign(Tt.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(Tt.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},gO=cO,CO={init:function(){this.setColour(BE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_CONNECT_OPENAI),this.appendValueInput("SERVER").appendField(Tt.Msg.MIXLY_EMQX_SERVER).setAlign(Tt.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(Tt.Msg.MIXLY_API_PRIVATE_KEY).setAlign(Tt.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(Tt.Msg.MODEL_NAME).setAlign(Tt.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(Tt.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},SO={init:function(){this.setColour(BE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(Tt.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendValueInput("METHOD").appendField(Tt.Msg.MIXLY_LLM_CONTENT_CALLBACK),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},AO={init:function(){this.setColour(BE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(Tt.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendDummyInput().appendField(Tt.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0)}},LO={init:function(){this.setColour(BE),this.appendDummyInput().appendField("Ollama "+Tt.Msg.MIXLY_EMPTY_HISTORY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},NO={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${Tt.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("ADDR").setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_EMQX_SERVER),this.appendValueInput("USERNAME").setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_EMQX_USERNAME),this.appendValueInput("PASSWORD").setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_IOT_PASSWORD),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},DO={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${Tt.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("MQTT").setAlign(Tt.inputs.Align.RIGHT).appendField(`MixIO ${Tt.Msg.MIXLY_Client}`),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},fO={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_TINY_WEB_DB_UPDATE_VARIABLE),this.appendValueInput("VALUE").setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},FO={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(Tt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLE),this.appendDummyInput().appendField(Tt.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setOutput(!0)}},PO={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_NUM),this.setInputsInline(!0),this.setOutput(!0)}},vO={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB").appendField(Tt.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARIABLES),this.appendValueInput("NO").setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_TINY_WEB_DB_START_NUMBER),this.appendValueInput("COUNT").setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_TINY_WEB_DB_VARIABLE_NUMBER),this.appendValueInput("TAG").setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARS),this.appendDummyInput().setAlign(Tt.inputs.Align.RIGHT).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_ALL,"both"],[Tt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_TAG,"tag"],[Tt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_VALUE,"value"]]),"DTYPE"),this.setInputsInline(!1),this.setOutput(!0)}},YO={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(Tt.Msg.MIXLY_TINY_WEB_DB_DELETE_VARIABLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},XO=225,xO={init:function(){this.setColour(XO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_NETWORK_INIT),this.appendDummyInput().appendField(Tt.Msg.MIXLY_NETWORK_MODE).appendField(new Tt.FieldDropdown([["STA","STA"],["AP","AP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_NETWORK_INIT_TOOLTIP)}},bO={init:function(){this.setColour(XO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_NETWORK_WIFI_OPEN,"True"],[Tt.Msg.MIXLY_NETWORK_WIFI_CLOSE,"False"]]),"op"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_NETWORK_WIFI_FLAG),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("op"),i=Tt.Msg.MIXLY_ESP32_NETWORK_OPEN_TOOLTIP;return{True:Tt.Msg.MIXLY_NETWORK_WIFI_OPEN,False:Tt.Msg.MIXLY_NETWORK_WIFI_CLOSE}[e]+i}))}},yO={init:function(){this.setColour(XO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE)}},VO={init:function(){this.setColour(XO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_NETWORK_WIFI_SCAN),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip((function(){return Tt.Msg.MIXLY_ESP32_NETWORK_SCAN_TOOLTIP+{0:"ssid",1:"bssid",2:"channel",3:"RSSI",4:"authmode",5:"hidden",all:Tt.Msg.MIXLY_NETWORK_WIFI_SCAN_ATTRIBUTE}.all}))}},BO={init:function(){this.setColour(XO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_ESP32_NETWORK_CONNECT),this.appendValueInput("id").setCheck(String).appendField(Tt.Msg.HTML_NAME),this.appendValueInput("password").setCheck(String).appendField(Tt.Msg.HTML_PASSWORD),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_NETWORK_CONNECT_TOOLTIP)}},GO={init:function(){this.setColour(XO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_NETWORK_WIFI_CONNECT+Tt.Msg.MIXLY_SYMBOL_QUESTION),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_NETWORK_WIFI_CONNECT_TOOLTIP)}},UO={init:function(){this.setColour(XO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput("").appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_ESP32_NETWORK_IP,"0"],[Tt.Msg.MIXLY_ESP32_NETWORK_MASK,"1"],[Tt.Msg.MIXLY_ESP32_NETWORK_GATEWAY,"2"],["DNS","3"]]),"mode"),this.setOutput(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return Tt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP+{0:Tt.Msg.MIXLY_ESP32_NETWORK_IP,1:Tt.Msg.MIXLY_ESP32_NETWORK_MASK,2:Tt.Msg.MIXLY_ESP32_NETWORK_GATEWAY,3:"DNS"}[e]}))}},wO={init:function(){this.setColour(XO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_ESP32_NETWORK_STOP_CONNECT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_NETWORK_STOP_TOOLTIP)}},HO={init:function(){this.setColour(XO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput().appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_NETWORK_WIFI_ESSID,"essid"],[Tt.Msg.MIXLY_NETWORK_WIFI_CHANNEL,"channel"]]),"op"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP)}},kO={init:function(){this.setColour(XO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.LISTS_SET_INDEX_SET+Tt.Msg.MIXLY_HOTSPOT),this.appendValueInput("essid").setCheck(String).appendField(Tt.Msg.MIXLY_NAME),this.appendValueInput("password").setCheck(String).appendField(Tt.Msg.MIXLY_EMQX_PASSWORD),this.appendValueInput("channel").setCheck(Number).appendField(Tt.Msg.MIXLY_NETWORK_WIFI_CHANNEL),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_NETWORK_AP_CONNECT_TOOLTIP)}},WO={init:function(){this.setColour(XO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_ESP32_NETWORK_SERVER1),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_ESP32_NETWORK_SERVER2),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},KO={init:function(){this.setColour(XO),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_INIT).setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new Tt.FieldDropdown([["TCP","TCP"],["UDP","UDP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return Tt.Msg.MIXLY_ESP32_NETWORK_SOCKET_INIT_TOOLTIP+{TCP:"TCP",UDP:"UDP"}[e]}))}},JO={init:function(){this.setColour(XO),this.appendValueInput("VAR").setCheck("var").appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_BIND_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_NETWORK_SOCKET_BIND_TOOLTIP)}},QO={init:function(){this.setColour(XO),this.appendValueInput("VAR").setCheck("var").appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_CONNECT_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_NETWORK_SOCKET_CONNECT_TOOLTIP)}},qO={init:function(){this.setColour(XO),this.appendValueInput("VAR").setCheck("var"),this.appendValueInput("queue").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_LISTEN).appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_QUEUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_NETWORK_SOCKET_LISTEN_TOOLTIP)}},zO={init:function(){this.setColour(XO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_ACCEPT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_NETWORK_SOCKET_ACCEPT_TOOLTIP)}},jO={init:function(){this.setColour(XO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE_TOOLTIP)}},$O={init:function(){this.setColour(XO),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("size").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_TOOLTIP)}},ZO={init:function(){this.setColour(XO),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("content").appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TOOLTIP)}},tR={init:function(){this.setColour(XO),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("size").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_FROM_TOOLTIP)}},eR={init:function(){this.setColour(XO),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("content").appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.appendValueInput("address").appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_TO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TO_TOOLTIP)}},iR={init:function(){this.setColour(XO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_CLOSE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},nR={init:function(){this.setColour(XO),this.appendValueInput("DOMAIN").appendField(Tt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(Tt.Msg.blockpy_REQUESTS_GET).appendField(new Tt.FieldTextInput("response"),"VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.blockpy_REQUESTS_GET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Tt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},sR={init:function(){this.appendValueInput("VAL"),this.setColour(XO),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new Tt.FieldDropdown(sR.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{clear:Tt.Msg.MIXLY_TOOLTIP_TURTEL_CLEAR,reset:Tt.Msg.MIXLY_TOOLTIP_TURTEL_RESET,home:Tt.Msg.MIXLY_TOOLTIP_TURTEL_HOME}[e]}))},ATTR:[[Tt.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[Tt.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[Tt.Msg.blockpy_REQUESTS_GET_ATTR_COOKIES,"cookies"],[Tt.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"]]},oR={init:function(){this.appendValueInput("VAR").appendField(Tt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.setColour(XO),this.appendDummyInput("").appendField(Tt.Msg.blockpy_CONDUCT).appendField(new Tt.FieldDropdown(oR.METHOD),"DIR"),this.appendDummyInput("").appendField(Tt.Msg.blockpy_REQUESTS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{forward:Tt.Msg.MIXLY_TOOLTIP_TURTEL_FORWARD,backward:Tt.Msg.MIXLY_TOOLTIP_TURTEL_BACKWARD}[e]}))},METHOD:[["post","post"],["put","put"],["delete","delete"],["head","head"],["option","option"]]},_R={init:function(){this.setColour(XO),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_GET_NTP+"(NTP)"),this.appendValueInput("data").appendField(Tt.Msg.blynk_SERVER_ADD),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},pR={init:function(){this.setColour(XO),this.appendDummyInput("").appendField(new Tt.FieldDropdown([["ntp.aliyun.com","ntp.aliyun.com"],["ntp1.aliyun.com","ntp1.aliyun.com"],["ntp2.aliyun.com","ntp2.aliyun.com"],["ntp3.aliyun.com","ntp3.aliyun.com"],["ntp4.aliyun.com","ntp4.aliyun.com"],["ntp5.aliyun.com","ntp5.aliyun.com"],["ntp6.aliyun.com","ntp6.aliyun.com"],["ntp7.aliyun.com","ntp7.aliyun.com"],["time1.cloud.tencent.com","time1.cloud.tencent.com"],["time2.cloud.tencent.com","time2.cloud.tencent.com"],["time3.cloud.tencent.com","time3.cloud.tencent.com"],["time4.cloud.tencent.com","time4.cloud.tencent.com"],["time5.cloud.tencent.com","time5.cloud.tencent.com"]]),"op"),this.setOutput(!0)}},aR="#3288dd",uR={init:function(){this.setColour(aR),this.appendValueInput("URL").appendField(Tt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(Tt.Msg.blockpy_CONDUCT).appendField(new Tt.FieldDropdown([["get","get"],["head","head"],["delete","delete"]]),"TYPE").appendField(Tt.Msg.blockpy_REQUESTS).appendField(Tt.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},rR={init:function(){this.setColour(aR),this.appendValueInput("URL").appendField(Tt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(Tt.Msg.blockpy_CONDUCT).appendField(new Tt.FieldDropdown([["post","post"],["put","put"],["patch","patch"]]),"TYPE").appendField(Tt.Msg.blockpy_REQUESTS),this.appendValueInput("data").appendField(Tt.Msg.blockpy_REQUESTS+Tt.Msg.OLED_STRING),this.appendDummyInput("").appendField(Tt.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},dR={init:function(){this.appendValueInput("VAL"),this.setColour(aR),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new Tt.FieldDropdown(dR.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String)},ATTR:[[Tt.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[Tt.Msg.blockpy_REQUESTS_GET_ATTR_JSON,"json()"],[Tt.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[Tt.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"],[Tt.Msg.MIXPY_TEXT_ENCODE,"encoding"]]},lR={init:function(){this.setColour(aR),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_IOT_CONNECT_WIFI),this.appendValueInput("WIFINAME").setCheck(String).appendField(Tt.Msg.HTML_NAME),this.appendValueInput("PASSWORD").setCheck(String).appendField(Tt.Msg.HTML_PASSWORD),this.appendValueInput("TIMEOUT").setCheck(Number).appendField(Tt.Msg.MIXLY_IR_TIMEOUT),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_IOT_WIFI_CONNECT_TOOLTIP)}},IR={init:function(){this.setColour(aR),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_IOT_EMQX_CONNECT_TOOLTIP),this.appendValueInput("SERVER").setCheck(String).appendField(Tt.Msg.MIXLY_EMQX_SERVER).setAlign(Tt.inputs.Align.RIGHT),this.appendValueInput("PORT").setCheck(Number).appendField(Tt.Msg.MIXLY_EMQX_PORT).setAlign(Tt.inputs.Align.RIGHT),this.appendValueInput("CLIENT_ID").setCheck(String).appendField(Tt.Msg.MIXLY_EMQX_CLIENT_ID).setAlign(Tt.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(Tt.Msg.MIXLY_WIFI_USERNAME).setAlign(Tt.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(Tt.Msg.MIXLY_IOT_PASSWORD).setAlign(Tt.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},TR={init:function(){this.setColour(aR),this.appendValueInput("TOPIC").appendField(Tt.Msg.MIXLY_EMQX_SUBSCRIBE+Tt.Msg.MIXLY_MICROBIT_MSG).appendField(Tt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MESSAGE").appendField(Tt.Msg.blockpy_set_of),this.setInputsInline(!0),this.setOutput(!0)}},MR={init:function(){this.setColour(aR),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(Tt.Msg.MIXLY_EMQX_SUBSCRIBE+Tt.Msg.MIXLY_MICROBIT_MSG).appendField(Tt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(Tt.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},hR={init:function(){this.setColour(aR),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(Tt.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(Tt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(Tt.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},mR={init:function(){this.setColour(aR),this.appendDummyInput().appendField("mqtt"+Tt.Msg.MIXLY_EMQX_IS_CONNECT),this.setInputsInline(!0),this.setOutput(!0)}},ER=100,OR={init:function(){this.setColour(ER),this.appendValueInput("I2CSUB").appendField(Tt.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_SETUP+Tt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField("PE GX"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},RR={init:function(){this.setColour(ER),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MIXGO_CAR_BATTERY_LEFT),this.setOutput(!0,Number),this.setInputsInline(!0)}},cR={init:function(){this.setColour(ER),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField(Tt.Msg.MOTOR_DC).appendField(Tt.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_Direction).appendField(new Tt.FieldDropdown([[Tt.Msg.CLOCKWISE,"CW"],[Tt.Msg.ANTI_CLOCKWISE,"CCW"],[Tt.Msg.MOTOR_P,"P"],[Tt.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},gR={init:function(){this.setColour(ER),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField(Tt.Msg.MOTOR_DC).appendField(Tt.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(Tt.Msg.MIXLY_STEPPER_GET_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},CR={init:function(){this.setColour(ER),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField("180°"+Tt.Msg.MIXLY_SERVO).appendField(Tt.Msg.LCD_NUMBERING),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_SERVO_MOVE)}},SR={init:function(){this.setColour(ER),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField("360°"+Tt.Msg.MIXLY_SERVO).appendField(Tt.Msg.LCD_NUMBERING),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_SERVO_SPEED_TOOLIPS)}},AR={init:function(){this.setColour(ER),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField("180°"+Tt.Msg.MIXLY_SERVO),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET+Tt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},LR={init:function(){this.setColour(ER),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField("360°"+Tt.Msg.MIXLY_SERVO).appendField(Tt.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET+Tt.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},NR="#A58C5B",DR={init:function(){this.setColour(NR),this.appendValueInput("PIN",Number).appendField(Tt.Msg.MIXLY_BUTTON).appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Tt.Msg.MIXLY_IS_PRESSED),this.appendValueInput("STAT").appendField(Tt.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_SENOR_IS_PRESSED)}},fR={init:function(){this.setColour(NR),this.appendValueInput("PIN",Number).appendField(Tt.Msg.MIXLY_BUTTON).appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Tt.Msg.MIXLY_WAS_PRESSED),this.appendValueInput("STAT").appendField(Tt.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_SENOR_WAS_PRESSED)}},FR={init:function(){this.setColour(NR),this.appendValueInput("PIN",Number).appendField(Tt.Msg.MIXLY_BUTTON).appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET_PRESSES),this.appendValueInput("VAR").setCheck(Number).appendField(Tt.Msg.MIXLY_GET_PRESSES_TIME),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Tt.Msg.PROCEDURES_DEFRETURN_RETURN+Tt.Msg.MIXLY_BUTTON+Tt.Msg.MIXLY_GET_PRESSES)}},PR={init:function(){this.setColour(NR),this.appendValueInput("PIN",Number).appendField(Tt.Msg.MIXLY_BUTTON).appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MODE).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[Tt.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[Tt.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(Tt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.MIXLY_TOOLTIP_INOUT_ATTACHINTERRUPT)}},vR={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_shake,"shake"],[Tt.Msg.MIXLY_UP,"up"],[Tt.Msg.MIXLY_DOWN,"down"],[Tt.Msg.MIXLY_LEFT,"left"],[Tt.Msg.MIXLY_RIGHT,"right"],[Tt.Msg.MIXLY_MICROBIT_face_up,"face up"],[Tt.Msg.MIXLY_MICROBIT_face_down,"face down"],[Tt.Msg.MIXLY_MICROBIT_freefall,"freefall"],["3g","3g"],["6g","6g"],["8g","8g"]]),"gesture"),this.appendStatementInput("DO").appendField(Tt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("gesture"),i=Tt.Msg.MIXLY_MICROBIT_JS_CURRENT,n=Tt.Msg.MSG.catSensor,s=Tt.Msg.MIXLY_MICROBIT_JS_STATE,o=Tt.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:Tt.Msg.MIXLY_MICROBIT_shake,up:Tt.Msg.MIXLY_UP,down:Tt.Msg.MIXLY_DOWN,left:Tt.Msg.MIXLY_LEFT,right:Tt.Msg.MIXLY_RIGHT,"face up":Tt.Msg.MIXLY_MICROBIT_face_up,"face down":Tt.Msg.MIXLY_MICROBIT_face_down,freefall:Tt.Msg.MIXLY_MICROBIT_freefall,"3g":"3g","6g":"6g","8g":"8g"}[e]+o}))}},YR={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_ADXL345).setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new Tt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Tt.Msg.MIXLY_MICROBIT_Direction,s=Tt.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":Tt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},XR={init:function(){this.setColour(NR),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_JS_LIGHT_LEVEL),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_SENSOR_LIGHT_LEVEL_TOOLTIP)}},xR={init:function(){this.setColour(NR),this.appendValueInput("PIN",Number).appendField(new Tt.FieldDropdown([["DHT11","DHT11"],["DHT22","DHT22"]]),"TYPE").appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(new Tt.FieldDropdown(xR.METHOD),"WHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("WHAT");return{temperature:Tt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM,relative_humidity:Tt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_HUM,tempandhum:Tt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM_HUM}[e]}))},METHOD:[[Tt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[Tt.Msg.MIXLY_GETHUMIDITY,"humidity"]]},bR={init:function(){this.setColour(NR),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_EXTERN_LIGHT),this.appendValueInput("PIN",Number).appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Tt.Msg.ESP32_SENSOR_NIXGO_LIGHT_TOOLTIP)}},yR={init:function(){this.setColour(NR),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_EXTERN_SOUND),this.appendValueInput("PIN",Number).appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Tt.Msg.ESP32_SENSOR_NIXGO_SOUND_TOOLTIP)}},VR={init:function(){this.setColour(NR),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new Tt.FieldDropdown([[Tt.Msg.TEXT_TRIM_LEFT,"left"],[Tt.Msg.TEXT_TRIM_RIGHT,"right"]]),"direction").appendField(Tt.Msg.MIXLY_ESP32_NEAR),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("direction"),i=Tt.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP,n=Tt.Msg.MIXLY_ESP32_NEAR;return i+{left:Tt.Msg.TEXT_TRIM_LEFT,right:Tt.Msg.TEXT_TRIM_RIGHT}[e]+n}))}},BR={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_ALTITUDE_SENSOR+" BMP280").setCheck("var"),this.appendDummyInput("").appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_GETTEMPERATUE,"get_BMP_temperature()"],[Tt.Msg.MIXLY_GETPRESSURE,"get_BMP_pressure()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{"get_BMP_temperature()":Tt.Msg.MIXLY_MICROBIT_SENSOR_BMP_temperature_TOOLTIP,"get_BMP_pressure()":Tt.Msg.MIXLY_MICROBIT_SENSOR_BMP_press_TOOLTIP}[e]}))}},GR={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+" SHT20").setCheck("var"),this.appendDummyInput("").appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_GETTEMPERATUE,"get_SHT_temperature()"],[Tt.Msg.MIXLY_GETHUMIDITY,"get_SHT_relative_humidity()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{"get_SHT_temperature()":Tt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,"get_SHT_relative_humidity()":Tt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},UR={init:function(){this.setColour(NR),this.appendValueInput("PIN",Number).appendField("DS18X20 "+Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_SENSOR_DS18X20_TOOLTIP)}},wR={init:function(){this.setColour(NR),this.appendDummyInput("").appendField("LM35"+Tt.Msg.MIXLY_TEMP),this.appendValueInput("PIN",Number).appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Tt.Msg.MIXLY_TOOLTIP_LM35)}},HR={init:function(){this.setColour(NR),this.appendValueInput("I2CSUB").appendField(Tt.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_SETUP+Tt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_ESP32_EXTERN_LIGHT+"(LTR308ALS)","LTR308"],[Tt.Msg.MIXLY_COLOR_SENSOR+"(LTR381RGB)","LTR381RGB"],[Tt.Msg.MIXLY_COLOR_SENSOR+"(UCS12071)","UCS12071"],[Tt.Msg.MIXLY_EXTERN_LIGHTUV+"(LTR390UV)","LTR390UV"],[Tt.Msg.MIXLY_ALTITUDE_SENSOR+"(HP203X)","HP203X"],[Tt.Msg.MIXLY_ALTITUDE_SENSOR+"(SPL06_001)","SPL06_001"],[Tt.Msg.MIXLY_ALTITUDE_SENSOR+"(MS5611)","MS5611"],[Tt.Msg.MIXLY_ALTITUDE_SENSOR+"(BMP280)","BMP280"],[Tt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(SHTC3)","SHTC3"],[Tt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(AHT21)","AHT21"],[Tt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(SHT20)","SHT20"],[Tt.Msg.MIXLY_LASER_RANGE_SENSOR+"(VL53L0X)","VL53L0X"],[Tt.Msg.MIXLY_GEOMAGNETIC_SENSOR+"(QMC5883L)","QMC5883L"],[Tt.Msg.MIXLY_ESP32_MAX30102+"(MAX30102)","MAX30102"],[Tt.Msg.HTML_COLOUR+"、"+Tt.Msg.MIXLY_ENVIRONMENT_LIGHT+"、"+Tt.Msg.MIXLY_NEXT+"、"+Tt.Msg.MIXLY_ESP32_APDS9960+"(APDS9960)","APDS9960"],[Tt.Msg.MIXLY_NINE_AXIS_SENSOR+"(MPU9250)","MPU9250"],[Tt.Msg.MixGo_MPU9250+"(ADXL345)","ADXL345"],["RFID","RFID"],[Tt.Msg.MIXLY_RADAR_SENSOR+"(CBR817)","CBR817"],[Tt.Msg.MIXLY_AipSpeech_asr+"(CI130X)","CI130X"],[Tt.Msg.MIXLY_TVOC_CO2_SENSOR+"(AGS10)","AGS10"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},kR={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_RADAR+"CBR817").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.LISTS_SET_INDEX_SET+Tt.Msg.MIXlY_INTERACTION),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_DETECTION_THRESHOLD),this.appendValueInput("VAR2").appendField(Tt.Msg.MIXLY_DELAY_TIME),this.appendDummyInput().appendField("ms"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_THRESHOLD_TOOLTIP+" ; "+Tt.Msg.MIXLY_DELAY_TIME_RANGE)}},WR={init:function(){this.setColour(NR),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RADAR).appendField(Tt.Msg.LISTS_SET_INDEX_SET+Tt.Msg.MIXlY_INTERACTION),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_DETECTION_THRESHOLD),this.appendValueInput("VAR2").appendField(Tt.Msg.MIXLY_DELAY_TIME),this.appendDummyInput().appendField("ms"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_THRESHOLD_TOOLTIP+" ; "+Tt.Msg.MIXLY_DELAY_TIME_RANGE)}},KR={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_RADAR+"CBR817").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_GET_TO_INTERACTION),this.setOutput(!0),this.setInputsInline(!0)}},JR={init:function(){this.setColour(NR),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RADAR).appendField(Tt.Msg.MIXLY_GET_TO_INTERACTION),this.setOutput(!0),this.setInputsInline(!0)}},QR={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_IDENTIFY_ONCE_AND_SAVE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},qR={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_GET).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_HELLO_XIAOZHI,"1"],[Tt.Msg.MIXLY_XIAOZHIXIAOZHI,"2"],[Tt.Msg.MIXLY_THE_FIRST,"3"],[Tt.Msg.MIXLY_THE_SECOND,"4"],[Tt.Msg.MIXLY_THE_THIRD,"5"],[Tt.Msg.MIXLY_THE_FOURTH,"6"],[Tt.Msg.MIXLY_THE_FIFTH,"7"],[Tt.Msg.MIXLY_THE_SIXTH,"8"],[Tt.Msg.MIXLY_THE_SEVENTH,"9"],[Tt.Msg.MIXLY_THE_EIGHTH,"10"],[Tt.Msg.MIXLY_THE_NINTH,"11"],[Tt.Msg.MIXLY_THE_TENTH,"12"],[Tt.Msg.MIXLY_THE_ELEVENTH,"13"],[Tt.Msg.MIXLY_THE_TWELFTH,"14"],[Tt.Msg.MIXLY_THE_13TH,"15"],[Tt.Msg.MIXLY_THE_14TH,"16"],[Tt.Msg.MIXLY_THE_15TH,"17"],[Tt.Msg.MIXLY_THE_16TH,"18"],[Tt.Msg.MIXLY_THE_17TH,"19"],[Tt.Msg.MIXLY_THE_18TH,"20"],[Tt.Msg.MIXLY_THE_19TH,"21"],[Tt.Msg.MIXLY_THE_20TH,"22"],[Tt.Msg.MIXLY_Turn_on_the_lights,"23"],[Tt.Msg.MIXLY_Turn_off_the_lights,"24"],[Tt.Msg.MIXLY_Turn_up_the_brightness,"25"],[Tt.Msg.MIXLY_Turn_down_the_brightness,"26"],[Tt.Msg.MIXLY_Set_it_to_red,"27"],[Tt.Msg.MIXLY_Set_it_to_orange,"28"],[Tt.Msg.MIXLY_Set_it_to_yellow,"29"],[Tt.Msg.MIXLY_Set_it_to_green,"30"],[Tt.Msg.MIXLY_Set_it_to_cyan,"31"],[Tt.Msg.MIXLY_Set_it_to_blue,"32"],[Tt.Msg.MIXLY_Set_it_to_purple,"33"],[Tt.Msg.MIXLY_Set_it_to_white,"34"],[Tt.Msg.MIXLY_Turn_on_the_fan,"35"],[Tt.Msg.MIXLY_Turn_off_the_fan,"36"],[Tt.Msg.MIXLY_First_gear,"37"],[Tt.Msg.MIXLY_Wind_speed_second,"38"],[Tt.Msg.MIXLY_Third_gear,"39"],[Tt.Msg.MIXLY_Previous,"40"],[Tt.Msg.MIXLY_Next_page,"41"],[Tt.Msg.MIXLY_Show_smiley_face,"42"],[Tt.Msg.MIXLY_Show_crying_face,"43"],[Tt.Msg.MIXLY_Show_love,"44"],[Tt.Msg.MIXLY_Close_display,"45"],[Tt.Msg.MIXLY_Start_execution,"46"],[Tt.Msg.MIXLY_FORWARD,"47"],[Tt.Msg.MIXLY_BACKWARD,"48"],[Tt.Msg.MIXLY_TURNLEFT,"49"],[Tt.Msg.MIXLY_TURNRIGHT,"50"],[Tt.Msg.MIXLY_STOP,"51"],[Tt.Msg.MIXLY_Accelerate,"52"],[Tt.Msg.MIXLY_retard,"53"],[Tt.Msg.ROTATION_FORWARD,"54"],[Tt.Msg.ROTATION_BACKWARD,"55"],[Tt.Msg.MIXLY_Query_temperature,"56"],[Tt.Msg.MIXLY_Query_humidity,"57"],[Tt.Msg.MIXLY_Query_brightness,"58"],[Tt.Msg.MIXLY_Query_sound,"59"],[Tt.Msg.MIXLY_Query_time,"60"],[Tt.Msg.MIXLY_Query_distance,"61"],[Tt.Msg.MIXLY_Query_pressure,"62"],[Tt.Msg.MIXLY_Query_key,"63"],[Tt.Msg.MIXLY_Query_touch,"64"],[Tt.Msg.MIXLY_Query_color,"65"]]),"cmd").appendField(Tt.Msg.MIXLY_WHETHER+Tt.Msg.MIXLY_BE_IDENTIFIED),this.setOutput(!0),this.setInputsInline(!0)}},zR={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_GET).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_RECOGNIZED_STATE,"status1"],[Tt.Msg.MIXLY_WHETHER_BROADCAST,"status2"],[Tt.Msg.MIXLY_THE_RECOGNIZED_CMD,"result"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_CI130X_GET_THE_RECOGNIZED_STATE_TOOLTIP)}},jR={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MP3_PLAY).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"],[Tt.Msg.MIXLY_WIND_SPEED,"154"],[Tt.Msg.MIXLY_HYETAL,"155"],[Tt.Msg.MIXLY_TEMPERATURE,"156"],[Tt.Msg.MIXLY_Humidity,"157"],[Tt.Msg.MIXLY_Altitude,"158"],[Tt.Msg.MIXLY_SOUND,"159"],[Tt.Msg.MIXLY_BRIGHTNESS,"160"],[Tt.Msg.ME_GO_HALL_SENSOR_DISTANCE,"161"],[Tt.Msg.MIXLY_SERVO,"162"],[Tt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"163"],[Tt.Msg.MIXLY_BUTTON2,"164"],[Tt.Msg.MIXLY_ESP32_TOUCH,"165"],[Tt.Msg.MIXLY_PAY,"166"],[Tt.Msg.MIXLY_CARSH_CHANGE,"167"],[Tt.Msg.MIXLY_COUNTDOWN,"168"],[Tt.Msg.MIXLY_TIMING,"169"],[Tt.Msg.MIXLY_AT_THE_MOMENT,"170"],[Tt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE,"171"],[Tt.Msg.MIXLY_FORWARD,"172"],[Tt.Msg.MIXLY_BACKWARD,"173"],[Tt.Msg.MIXLY_TURNLEFT,"174"],[Tt.Msg.MIXLY_TURNRIGHT,"175"],[Tt.Msg.MIXLY_STOP,"176"],[Tt.Msg.MIXLY_Accelerate,"177"],[Tt.Msg.MIXLY_retard,"178"],[Tt.Msg.ROTATION_FORWARD,"179"],[Tt.Msg.ROTATION_BACKWARD,"180"],[Tt.Msg.TUPLE_JOIN,"181"],[Tt.Msg.MIXLY_SHOW,"182"],[Tt.Msg.MIXLY_LAMPLIGHT,"183"],[Tt.Msg.MIXLY_ACCELERATION,"184"]]),"star"),this.appendValueInput("NUM").appendField(Tt.Msg.MIXLY_NUMBER),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_UNIT).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"],[Tt.Msg.MIXLY_YEAR,"117"],[Tt.Msg.MIXLY_MONTH,"118"],[Tt.Msg.MIXLY_DAY,"119"],[Tt.Msg.MIXLY_HOUR,"120"],[Tt.Msg.MIXLY_MINUTE,"121"],[Tt.Msg.MIXLY_SECOND,"122"],[Tt.Msg.MIXLY_WEEK2,"123"],[Tt.Msg.MIXLY_RMB_UNIT,"124"],[Tt.Msg.blockpy_setheading_degree,"125"],[Tt.Msg.MIXLY_GEAR,"126"],[Tt.Msg.MIXLY_LAYER,"127"],[Tt.Msg.MIXLY_GRAM,"128"],[Tt.Msg.MIXLY_METER,"129"],[Tt.Msg.MIXLY_CENTIMETER,"130"],[Tt.Msg.MIXLY_MILLIMETER,"131"],[Tt.Msg.MIXLY_LUMEN,"132"],[Tt.Msg.MIXLY_DECIBEL,"133"],[Tt.Msg.MIXLY_hectopascal,"134"],[Tt.Msg.MIXLY_PERCENT,"135"],[Tt.Msg.MIXLY_CELSIUS,"136"],[Tt.Msg.MIXLY_METER_PER_SEC,"137"],[Tt.Msg.MIXLY_MICROBIT_Turn_on_display,"138"],[Tt.Msg.MIXLY_MICROBIT_Turn_off_display,"139"],[Tt.Msg.MIXLY_SUCCESS,"140"],[Tt.Msg.MIXLY_FAILED,"141"],[Tt.Msg.MIXLY_WRONG,"142"],[Tt.Msg.MIXLY_GOOD,"143"],[Tt.Msg.MIXLY_blockpy_set_add,"144"],[Tt.Msg.MIXLY_DECREASE,"145"],[Tt.Msg.COLOUR_RGB_RED,"146"],[Tt.Msg.COLOUR_RGB_ORANGE,"147"],[Tt.Msg.COLOUR_YELLOW,"148"],[Tt.Msg.COLOUR_RGB_GREEN,"149"],[Tt.Msg.COLOUR_CYAN,"150"],[Tt.Msg.COLOUR_RGB_BLUE,"151"],[Tt.Msg.COLOUR_RGB_PURPLE,"152"],[Tt.Msg.COLOUR_RGB_WHITE,"153"]]),"end"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},$R={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.LISTS_SET_INDEX_SET+Tt.Msg.MIXLY_SYSTEM+Tt.Msg.MIXLY_CMD).appendField(new Tt.FieldDropdown([[Tt.Msg.MILXY_ENTER_WAKE_UP,"1"],[Tt.Msg.MIXLY_INCREASE_VOLUME,"202"],[Tt.Msg.MIXLY_REDUCE_VOLUME,"203"],[Tt.Msg.MIXLY_MAX_VOLUME,"204"],[Tt.Msg.MIXLY_MINIMUM,"205"],[Tt.Msg.MIXLY_OPEN_RESPONSE,"206"],[Tt.Msg.MIXLY_CLOSE_RESPONSE,"207"],[Tt.Msg.MIXLY_QUIT_WAKE_UP,"208"]]),"cmd"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},ZR={init:function(){this.setColour(NR),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_MAX30102+" MAX30102"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_ESP32_MAX30102_IR,"[0]"],[Tt.Msg.MIXLY_ESP32_MAX30102_RED,"[1]"],[Tt.Msg.MIXLY_ESP32_MAX30102_IR+","+Tt.Msg.MIXLY_ESP32_MAX30102_RED,""]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},tc={init:function(){this.setColour(NR),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_APDS9960+" APDS9960"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_ESP32_APDS9960_COLOR,"color"],[Tt.Msg.MIXLY_ESP32_APDS9960_GESTURE,"gesture"],[Tt.Msg.MIXLY_ESP32_APDS9960_APPROACH,"proximity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},ec={init:function(){this.setColour(NR),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_EXTERN_LIGHT+" LTR308ALS"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET_LIGHT_INTENSITY),this.setOutput(!0,Number),this.setInputsInline(!0)}},ic={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.HTML_COLOUR+Tt.Msg.MSG.catSensor+" LTR381RGB").setCheck("var"),this.appendDummyInput("").appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_GET+Tt.Msg.HTML_COLOUR,"[2]"],[Tt.Msg.MIXLY_GET+Tt.Msg.MIXLY_IR_STRENGTH,"[1]"],[Tt.Msg.MIXLY_GET+Tt.Msg.MIXLY_LIGHT_STRENGTH,"[0]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},nc={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.HTML_COLOUR+Tt.Msg.MSG.catSensor+" UCS12071").setCheck("var"),this.appendDummyInput("").appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_GET+"RGB"+Tt.Msg.HTML_COLOUR,"0"],[Tt.Msg.MIXLY_GET+Tt.Msg.MIXLY_RGB_RAW,"1"],[Tt.Msg.MIXLY_GET_ENV_LIGHT+Tt.Msg.MIXLY_BRIGHTNESS,"2"],[Tt.Msg.GET_IR_STRENGTH+Tt.Msg.MIXLY_BRIGHTNESS,"3"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},sc={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_EXTERN_LIGHTUV+" LTR390UV").setCheck("var"),this.appendDummyInput().appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_GET_ENV_LIGHT,"E"],[Tt.Msg.MIXLY_GET_ULTRAVIOLET,"U"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},oc={init:function(){this.setColour(NR),this.appendDummyInput().appendField(Tt.Msg.MIXLY_LASER_RANGE+" VL53L0X"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET_DISTANCE+"(mm)"),this.setOutput(!0,Number),this.setInputsInline(!0)}},_c={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_TEM_HUM+" SHTC3").setCheck("var"),this.appendDummyInput("").appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[Tt.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{temperature:Tt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,humidity:Tt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},pc={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_TEM_HUM+" AHT21").setCheck("var"),this.appendDummyInput("").appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[Tt.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{temperature:Tt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,relative_humidity:Tt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},ac={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_Altitude+Tt.Msg.MSG.catSensor+" HP203X").setCheck("var"),this.appendDummyInput("").appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_GETPRESSURE,"pressure()"],[Tt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[Tt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},uc={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_Altitude+Tt.Msg.MSG.catSensor+" SPL06_001").setCheck("var"),this.appendDummyInput("").appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_GETPRESSURE,"pressure()"],[Tt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[Tt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},rc={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_Altitude+Tt.Msg.MSG.catSensor+" MS5611").setCheck("var"),this.appendDummyInput("").appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_GETPRESSURE,"pressure()"],[Tt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[Tt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},dc={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_Altitude+Tt.Msg.MSG.catSensor+" MS5611").setCheck("var"),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_REF_TO_PRESSURE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_CAL_TO_ALTITUDE),this.setOutput(!0,Number),this.setInputsInline(!0)}},lc={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_MIXGOPE_FIELD+Tt.Msg.MSG.catSensor+" QMC5883L").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"get_bearing()"],[Tt.Msg.MIXLY_TEMPERATURE,"get_temp()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Ic={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_shake,"shake"],[Tt.Msg.MIXLY_UP,"up"],[Tt.Msg.MIXLY_DOWN,"down"],[Tt.Msg.MIXLY_LEFT,"left"],[Tt.Msg.MIXLY_RIGHT,"right"],[Tt.Msg.MIXLY_MICROBIT_face_up,"face up"],[Tt.Msg.MIXLY_MICROBIT_face_down,"face down"]]),"gesture"),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("gesture"),i=Tt.Msg.MIXLY_MICROBIT_JS_CURRENT,n=Tt.Msg.MSG.catSensor,s=Tt.Msg.MIXLY_MICROBIT_JS_STATE,o=Tt.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:Tt.Msg.MIXLY_MICROBIT_shake,up:Tt.Msg.MIXLY_UP,down:Tt.Msg.MIXLY_DOWN,left:Tt.Msg.MIXLY_LEFT,right:Tt.Msg.MIXLY_RIGHT,"face up":Tt.Msg.MIXLY_MICROBIT_face_up,"face down":Tt.Msg.MIXLY_MICROBIT_face_down}[e]+o}))}},Tc={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new Tt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Tt.Msg.MIXLY_MICROBIT_Direction,s=Tt.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":Tt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},Mc={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_JS_GET+Tt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH).appendField(new Tt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Tt.Msg.MIXLY_MICROBIT_Direction,s=Tt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH;return i+{x:"x",y:"y",z:"z","(x,y,z)":Tt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},hc={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+Tt.Msg.MIXLY_ESP32_SENOR_GYRO).appendField(new Tt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Tt.Msg.MIXLY_MICROBIT_Direction,s=Tt.Msg.MIXLY_ESP32_SENOR_GYRO;return i+{x:"x",y:"y",z:"z","(x,y,z)":Tt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},mc={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS)}},Ec={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GETTEMPERATUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_GETTEMPERATUE)}},Oc={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_JS_GET_COMPASS).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,"strength"],[Tt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"heading"]]),"compass"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("compass");return Tt.Msg.MIXLY_MICROBIT_JS_GET_COMPASS+{strength:Tt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,heading:Tt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE}[e]}))}},Rc={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_Reset_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_Reset_COMPASS)}},cc={init:function(){this.setColour(NR),this.appendValueInput("SPISUB").appendField(Tt.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_SETUP+Tt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new Tt.FieldDropdown([["RFID","RFID"],["WS-LoRa","Weather"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setFieldValue("RFID","key")}},gc={init:function(){this.setColour(NR),this.appendDummyInput().appendField("RFID"+Tt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(Tt.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_RFID_READ_CARD_UID,"id"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"content"],[Tt.Msg.MIXLY_ALL,"ALL"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Cc={init:function(){this.setColour(NR),this.appendDummyInput().appendField("RFID"+Tt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RFID_READ_CARD_UID),this.setOutput(!0,Number),this.setInputsInline(!0)}},Sc={init:function(){this.setColour(NR),this.appendDummyInput().appendField("RFID"+Tt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(Tt.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},Ac={init:function(){this.setColour(NR),this.appendDummyInput().appendField(Tt.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(Tt.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(Tt.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Lc={init:function(){this.setColour(NR),this.appendDummyInput().appendField(Tt.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(Tt.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(Tt.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(Tt.Msg.RETURN_SUCCESS_OR_NOT),this.setInputsInline(!0),this.setOutput(!0,Boolean)}},Nc={init:function(){this.setColour(NR),this.appendDummyInput().appendField("RFID"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_RFID_SCAN_OK,"0"],[Tt.Msg.MIXLY_RFID_SCAN_NOTAGERR,"1"],[Tt.Msg.MIXLY_RFID_SCAN_ERROR,"2"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Dc={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new Tt.FieldDropdown([["全部(元组)","data()[0]"],["全部(json)","data()[1]"],["全部(json,附带位置信息)","data()[2]"],["编号","data()[0][0]"],["电量","data()[0][1]"],["风速","data()[0][2]"],["阵风","data()[0][3]"],["风向","data()[0][4]"],["雨量","data()[0][5]"],["温度","data()[0][6]"],["湿度","data()[0][7]"],["光照","data()[0][8]"],["紫外线","data()[0][9]"],["大气压","data()[0][10]"],["信号强度","data()[0][11]"],["信噪比","data()[0][12]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip("返回气象数据元组 data= (设备id,电池状态,风速m/s,阵风m/s,风向°,雨量mm,温度℃,湿度%,光照Lux,UVI,大气压Pa,信号强度dB,信噪比dB)")}},fc={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_SERIAL_AVAILABLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},Fc={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendValueInput("BASE").appendField("以主题"),this.appendDummyInput("").appendField("串口发送至MixIO"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Pc={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.itemCount_=2,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new Tt.icons.MutatorIcon(["weather_set_label_item"],this)),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip()},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("weather_set_label_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n>6),i.push(128|63&o)):(2048<=o&&o<=55295||57344<=o&&o<=65535)&&(n+=3,i.push(224|15&o>>12),i.push(128|63&o>>6),i.push(128|63&o))}for(s=0;s>8,255&n].concat(i)}(t,!0),i="",n=0;n=0?"0x700000":["mixgo_sant"].indexOf(n)>=0?"0xE00000":"0x3A0000","32x12 Matrix"==_?(e.definitions_.import_matrix32x12="import matrix32x12",i=s+" = matrix32x12.Matrix("+o+", font_address="+p+")\n"):"16x8 Matrix"==_&&(e.definitions_.import_matrix16x8="import matrix16x8",i=s+" = matrix16x8.Matrix("+o+")\n"),i},kF=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},WF=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+", center="+this.getFieldValue("center")+")\n"},KF=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},JF=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", delay="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},QF=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},qF=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", speed="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+")\n"},zF=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},jF=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("OP")+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")\n"},$F=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},ZF=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".pixel(int("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+"), int("+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+"), "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"+i+".show()\n"},tP=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".get_brightness()",e.ORDER_ATOMIC]},eP=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".set_brightness("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+")\n"},iP=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("image"),e.ORDER_ATOMIC]},nP=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".map_"+t.getFieldValue("OP")+"("+e.valueToCode(t,"A",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"B",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},sP=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".map_invert("+e.valueToCode(t,"A",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},oP=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC);return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = ssd1306.SSD1306_I2C("+e.valueToCode(this,"row",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"column",e.ORDER_ATOMIC)+", "+i+")\n"},_P=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_str("+(e.valueToCode(this,"Text_line1",e.ORDER_ASSIGNMENT)||"''")+", "+(e.valueToCode(this,"Text_line2",e.ORDER_ASSIGNMENT)||"''")+", "+(e.valueToCode(this,"Text_line3",e.ORDER_ASSIGNMENT)||"''")+", "+(e.valueToCode(this,"Text_line4",e.ORDER_ASSIGNMENT)||"''")+")\n"},pP=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_line("+e.valueToCode(this,"x1",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"y1",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"x2",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"y2",e.ORDER_ATOMIC)+", 1)\n"},aP=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),o=e.valueToCode(this,"width",e.ORDER_ATOMIC),_=e.valueToCode(this,"height",e.ORDER_ATOMIC),p="TRUE"==this.getFieldValue("fill")?"True":"False",a=this.getFieldValue("OP");switch(p){case"True":return i+".show_fill_rect("+n+", "+s+", "+o+", "+_+", "+a+")\n";case"False":return i+".show_rect("+n+", "+s+", "+o+", "+_+", "+a+")\n"}},uP=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),o=e.valueToCode(this,"length",e.ORDER_ATOMIC);return i+".show_"+this.getFieldValue("direction")+"("+n+", "+s+", "+o+", 1)\n"},rP=function(t,e){return["ON"==this.getFieldValue("ONOFF")?"1":"0",e.ORDER_ATOMIC]},dP=function(t,e){e.definitions_.import_matrix="import matrix";var i=t.getFieldValue("OP");return[e.valueToCode(t,"img",e.ORDER_ATOMIC)+".shift_"+i+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},lP=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return e.definitions_.import_ssd1306="import ssd1306",e.definitions_.import_machine="import machine",i+".show_fill("+this.getFieldValue("key")+")\n"},IP=function(t,e){return["matrix.Image."+this.getFieldValue("ANIMATION"),e.ORDER_ATOMIC]},TP=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),o=e.valueToCode(this,"r",e.ORDER_ATOMIC),_="TRUE"==this.getFieldValue("fill")?"True":"False",p=this.getFieldValue("OP");switch(_){case"True":return i+".show_fill_circle("+n+", "+s+", "+o+", "+p+")\n";case"False":return i+".show_circle("+n+", "+s+", "+o+", "+p+")\n"}},MP=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var n=e.valueToCode(this,"x0",e.ORDER_ATOMIC),s=e.valueToCode(this,"y0",e.ORDER_ATOMIC),o=e.valueToCode(this,"x1",e.ORDER_ATOMIC),_=e.valueToCode(this,"y1",e.ORDER_ATOMIC),p=e.valueToCode(this,"x2",e.ORDER_ATOMIC),a=e.valueToCode(this,"y2",e.ORDER_ATOMIC),u="TRUE"==this.getFieldValue("fill")?"True":"False",r=this.getFieldValue("OP");switch(u){case"True":return i+".show_fill_triangle("+n+", "+s+", "+o+", "+_+", "+p+", "+a+", "+r+")\n";case"False":return i+".show_triangle("+n+", "+s+", "+o+", "+_+", "+p+", "+a+", "+r+")\n"}},hP=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_bitmap("+e.valueToCode(this,"START_X",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"START_Y",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"bitmap_name",e.ORDER_ATOMIC)+","+e.valueToCode(this,"WIDTH",e.ORDER_ATOMIC)+","+e.valueToCode(this,"HEIGHT",e.ORDER_ATOMIC)+")\n"},mP=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_pixel("+e.valueToCode(this,"POS_X",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"POS_Y",e.ORDER_ATOMIC)+")\n"},EP=function(t,e){var i,n=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),s=e.valueToCode(this,"CLK",e.ORDER_ATOMIC),o=e.valueToCode(this,"DIO",e.ORDER_ATOMIC),_=this.getFieldValue("key");return"TM1650"==_?(e.definitions_.import_tm1650="import tm1650",i=n+" = tm1650."+_+"(clk="+s+",dio="+o+")\n"):"TM1637"==_&&(e.definitions_.import_tm1637="import tm1637",i=n+" = tm1637."+_+"(clk="+s+",dio="+o+")\n"),i},OP=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+"."+this.getFieldValue("STAT")+"()\n"},RP=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".shownum("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},cP=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".showDP("+e.valueToCode(this,"NO",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"},gP=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".intensity("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},CP=function(t,e){e.definitions_.import_st7789="import st7789";var i=Mt.Boards.getSelectedBoardKey().split(":")[2],n="";n=["mpython","mixgo_pe","mixgo_nova"].indexOf(i)>=0?"0x700000":["mixgo_sant"].indexOf(i)>=0?"0xE00000":"0x3A0000";var s=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),o=e.valueToCode(this,"SPISUB",e.ORDER_ATOMIC),_=e.valueToCode(this,"PINCS",e.ORDER_ATOMIC),p=e.valueToCode(this,"PINDC",e.ORDER_ATOMIC);return s+" = st7789.ST7789("+o+", "+e.valueToCode(this,"WIDTH",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"HEIGHT",e.ORDER_ATOMIC)+", dc_pin="+p+", cs_pin="+_+", rotation="+this.getFieldValue("rotate")+", font_address="+n+")\n"},SP=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".image("+n+", x="+s+", y="+o+", size="+_+", color="+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=i+".image("+n+", x= "+s+",y="+o+", size="+_+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},AP=function(t,e){var i="0x"+this.getFieldValue("COLOR").slice(1);return["0x"+((16252928&i)>>8|(64512&i)>>5|(255&i)>>3).toString(16),e.ORDER_ATOMIC]},LP=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),u=this.getFieldValue("center");if("0x"==a.slice(0,2))var r=i+".shows("+n+", x="+s+", y="+o+", size="+_+", space="+p+", center="+u+", color="+a+")\n";else{const t=a.match(/\d+/g);var d="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r=i+".shows("+n+", x="+s+", y="+o+", size="+_+", space="+p+", center="+u+", color=0x"+((16252928&d)>>8|(64512&d)>>5|(255&d)>>3).toString(16)+")\n"}return r},NP=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==_.slice(0,2))var p=i+".frame("+n+", size="+s+", delay="+o+", color="+_+")\n";else{const t=_.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p=i+".frame("+n+", size="+s+", delay="+o+", color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},DP=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u=i+".scroll("+n+", y="+s+", size="+o+", speed="+_+", space="+p+", color="+a+")\n";else{const t=a.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u=i+".scroll("+n+", y="+s+", size="+o+", speed="+_+", space="+p+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},fP=function(t,e){return e.definitions_.import_st7789="import st7789",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".fill(st7789."+this.getFieldValue("key")+")\n"},FP=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"x1",e.ORDER_ATOMIC),s=e.valueToCode(this,"y1",e.ORDER_ATOMIC),o=e.valueToCode(this,"x2",e.ORDER_ATOMIC),_=e.valueToCode(this,"y2",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".line("+n+", "+s+", "+o+", "+_+", color="+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=i+".line("+n+", "+s+", "+o+", "+_+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},PP=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC),s=this.getFieldValue("key"),o=e.valueToCode(this,"ADDR",e.ORDER_ATOMIC);return e.definitions_.import_i2clcd="import i2clcd",i+" = i2clcd.LCD("+n+", lcd_width="+s+", i2c_addr="+o+")\n"},vP=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", column="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", line="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+",center = "+this.getFieldValue("center")+")\n"},YP=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".print("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", column="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", line="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", delay="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},XP=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".backlight("+this.getFieldValue("key")+")\n"},xP=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".clear()\n"},bP=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC),s=e.valueToCode(this,"ADDR",e.ORDER_ATOMIC),o=this.getFieldValue("driver"),_=Mt.Boards.getSelectedBoardKey().split(":")[2],p="";return p=["mpython","mixgo_pe","mixgo_nova"].indexOf(_)>=0?"0x700000":["mixgo_sant"].indexOf(_)>=0?"0xE00000":"0x3A0000",e.definitions_.import_oled128x64="import oled128x64",i+" = oled128x64.OLED("+n+", address="+s+", font_address="+p+", types="+o+")\n"},yP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".image("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},VP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".image("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", x="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", y="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+")\n"},BP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},GP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", x="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", y="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+", center="+this.getFieldValue("center")+")\n"},UP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},wP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+", delay="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},HP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},kP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", y="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+", speed="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+")\n"},WP=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},KP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("OP")+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")\n"},JP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},QP=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".pixel(int("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+"), int("+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+"), "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"+i+".show()\n"},qP=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"w",e.ORDER_ATOMIC),_=e.valueToCode(t,"h",e.ORDER_ATOMIC),p=t.getFieldValue("state");return i+"."+t.getFieldValue("shape")+"("+n+", "+s+", "+o+", "+_+", "+p+")\n"+i+".show()\n"},zP=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"length",e.ORDER_ATOMIC),_=t.getFieldValue("state");return i+"."+("0"==t.getFieldValue("dir_h_v")?"v":"h")+"line("+n+", "+s+", "+o+", "+_+")\n"+i+".show()\n"},jP=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".line("+e.valueToCode(t,"x1",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"y1",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"x2",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"y2",e.ORDER_ATOMIC)+", "+t.getFieldValue("state")+")\n"+i+".show()\n"},$P=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT);if("Python ESP32-S3"===Mt.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var s="onboard_tft.image("+(n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT))+", color=0xffff,sync="+(e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True")+")\n"}else if("educore"==i){e.definitions_["import_"+i+"_oled"]="from "+i+" import oled";s="oled.print("+n+")\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";s="onboard_matrix.shows("+n+")\n"}return s},ZP=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),o=this.getFieldValue("center");if("mixgo_sant"==i||"mixgo_nova"==i||"mixgo_soar"==i)return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.shows("+n+", space="+s+", center="+o+",sync="+(e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True")+")\n";if("educore"==i){e.definitions_["import_"+i+"_oled"]="from "+i+" import oled"}return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.shows("+n+", space="+s+", center="+o+")\n"},tv=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var s="onboard_oled.frame("+n+")\n"}else if("Python ESP32-S3"===Mt.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";s="onboard_tft.frame("+(n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT))+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";s="onboard_matrix.frame("+n+")\n"}return s},ev=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var o="onboard_oled.frame("+(n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT))+", delay="+s+")\n"}else if("Python ESP32-S3"===Mt.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";o="onboard_tft.frame("+n+", size=5 , delay="+s+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";o="onboard_matrix.frame("+n+", delay="+s+")\n"}return o},iv=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var n="onboard_oled.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"}else if("Python ESP32-S3"===Mt.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";n="onboard_tft.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"}return n},nv=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var _="onboard_oled.scroll("+n+", speed="+s+", space="+o+")\n"}else if("Python ESP32-S3"===Mt.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";_="onboard_tft.scroll("+n+", y=0, size=5, speed="+s+", space="+o+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";_="onboard_matrix.scroll("+n+", speed="+s+", space="+o+")\n"}return _},sv=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.scroll_way("+this.getFieldValue("way")+")\n"},ov=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u="onboard_tft.scroll("+n+", y="+s+", size="+o+", speed="+_+", space="+p+", color="+a+")\n";else{const t=a.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.scroll("+n+", y="+s+", size="+o+", speed="+_+", space="+p+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},_v=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix",["onboard_matrix."+t.getFieldValue("image"),e.ORDER_ATOMIC]},pv=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];if("Python ESP32-S3"===Mt.JSFuncs.getPlatform()){const i=t.getFieldValue("image").split(".");if(2!==i.length)throw Error("pin value error");e.definitions_[`import_${i[0]}_${i[1]}`]=`from ${i[0]} import ${i[1]}`;var n=i[1]}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix."+t.getFieldValue("image")}return[n,e.ORDER_ATOMIC]},av=function(t,e){var i={"#000000":"0","#ff0000":"1"};function n(t){let e="";if(t.length%2==1&&(t="0"+t),t.length<8){let e=8-t.length;for(let i=1;i<=e;i++)t="0"+t}for(let i=1;i<=t.length;i++)i%2==0&&i!==t.length?e=e+t[i-1]+",0x":e+=t[i-1];return"0x"+e}let s=[];for(let e=0;e<12;e++){let o="",_=0,p=0;for(let n=0;n<32;n++)n<8?p=7-n:n<16?p=23-n:n<24?p=39-n:n<32&&(p=55-n),_+=Number(i[t.getFieldValue(e+"-"+n)])*Math.pow(2,31-p);o+=n(_.toString(16)),s.unshift(o)}let o=[];for(let t=0;t>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},Kv=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.picture("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+","+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+","+e.valueToCode(this,"direct",e.ORDER_ASSIGNMENT)+")\n"},Jv=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=this.getFieldValue("center"),u=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True",r=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==r.slice(0,2))var d="onboard_tft.shows("+n+", x="+s+", y="+o+", size="+_+", space="+p+", center="+a+", color="+r+",sync="+u+")\n";else{const t=r.match(/\d+/g);var l="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");d="onboard_tft.shows("+n+", x="+s+", y="+o+", size="+_+", space="+p+", center="+a+", color=0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+",sync="+u+")\n"}return d},Qv=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==_.slice(0,2))var p="onboard_tft.frame("+n+", size="+s+", delay="+o+", color="+_+")\n";else{const t=_.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p="onboard_tft.frame("+n+", size="+s+", delay="+o+", color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},qv=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"w",e.ORDER_ATOMIC),_=e.valueToCode(t,"h",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=t.getFieldValue("shape"),u=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var r="onboard_tft."+a+"("+n+", "+s+", "+o+", "+_+", "+p+",sync="+u+")\n";else{const t=p.match(/\d+/g);var d="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r="onboard_tft."+a+"("+n+", "+s+", "+o+", "+_+", 0x"+((16252928&d)>>8|(64512&d)>>5|(255&d)>>3).toString(16)+",sync="+u+")\n"}return r},zv=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"length",e.ORDER_ATOMIC),_=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),p=t.getFieldValue("dir_h_v"),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==_.slice(0,2))var u="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+o+", "+_+",sync="+a+")\n";else{const t=_.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+o+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},jv=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x1",e.ORDER_ATOMIC),s=e.valueToCode(t,"y1",e.ORDER_ATOMIC),o=e.valueToCode(t,"x2",e.ORDER_ATOMIC),_=e.valueToCode(t,"y2",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var u="onboard_tft.line("+n+", "+s+", "+o+", "+_+", "+p+",sync="+a+")\n";else{const t=p.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.line("+n+", "+s+", "+o+", "+_+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},$v=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft",["onboard_tft.pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},Zv=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),_=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==o.slice(0,2))var p="onboard_tft.pixel(int("+n+"), int("+s+"), "+o+",sync="+_+")\n";else{const t=o.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p="onboard_tft.pixel(int("+n+"), int("+s+"), 0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+",sync="+_+")\n"}return p},tY=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"VAR",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==n.slice(0,2))var o="onboard_tft.fill("+n+",sync="+s+")\n";else{const t=n.match(/\d+/g);var _="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");o="onboard_tft.fill(0x"+((16252928&_)>>8|(64512&_)>>5|(255&_)>>3).toString(16)+",sync="+s+")\n"}return o},eY=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=_+"=Clock("+n+", "+s+", "+o+", "+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=_+"=Clock("+n+", "+s+", "+o+", 0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},iY=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".set_rtctime()\n"},nY=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".set_time("+e.valueToCode(this,"h",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"m",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"s",e.ORDER_ASSIGNMENT)+")\n"},sY=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".draw_clock()\n"},oY=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==s.slice(0,2))var o=n+".clear("+s+")\n";else{const t=s.match(/\d+/g);var _="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");o=n+".clear(0x"+((16252928&_)>>8|(64512&_)>>5|(255&_)>>3).toString(16)+")\n"}return o},_Y=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"r",e.ORDER_ATOMIC),_=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),p=t.getFieldValue("shape"),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==_.slice(0,2))var u="onboard_tft.ellipse("+n+", "+s+", "+o+", "+o+", "+_+", "+p+",sync="+a+")\n";else{const t=_.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.ellipse("+n+", "+s+", "+o+", "+o+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+", "+p+",sync="+a+")\n"}return u},pY=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];if("Python ESP32-S3"===Mt.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n="onboard_tft.pointern(angle="+e.valueToCode(this,"angle",e.ORDER_ASSIGNMENT)+")\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.pointern(angle="+e.valueToCode(this,"angle",e.ORDER_ASSIGNMENT)+")\n"}return n},aY=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"angle",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==s.slice(0,2));else{const t=s.match(/\d+/g);var o="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");((16252928&o)>>8|(64512&o)>>5|(255&o)>>3).toString(16)}return"onboard_tft.pointern(angle="+n+")\n"},uY=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var u="onboard_tft.texts("+n+", x="+s+", y="+o+", size="+_+", color="+p+",sync="+a+")\n";else{const t=p.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.texts("+n+", x="+s+", y="+o+", size="+_+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},rY=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.qrcode("+e.valueToCode(this,"direct",e.ORDER_ATOMIC)+")\n"},dY=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True",u=this.getFieldValue("correct");if("0x"==p.slice(0,2))var r="onboard_tft.qrcode("+n+",x="+s+",y="+o+",size="+_+",correct="+u+",color="+p+",sync="+a+")\n";else{const t=p.match(/\d+/g);var d="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r="onboard_tft.qrcode("+n+",x="+s+",y="+o+",size="+_+",correct="+u+",color=0x"+((16252928&d)>>8|(64512&d)>>5|(255&d)>>3).toString(16)+",sync="+a+")\n"}return r},lY=$P,IY=mv,TY=Tv,MY=mv,hY=Ev,mY=rv,EY=function(t,e){var i=this.getFieldValue("path"),n=this.getFieldValue("module");return e.definitions_["import_"+i+"_"+n]="from "+i+" import "+n,""},OY=function(t,e){var i=this.getFieldValue("module");return e.definitions_["import_"+i]="import "+i,""},RY=function(t,e){for(var i=this.getFieldValue("NAME"),n=new Array(this.itemCount_),s=0;s {\n"+e.statementToCode(this,"do")+"})\n"},BB=function(){return"control.reset()\n"},GB=function(t,e){return"control.waitMicros("+(e.valueToCode(this,"data",e.ORDER_ATOMIC)||Mt.Profile.default.serial)+")\n"},UB=function(t,e){return"control.raiseEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||Mt.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||Mt.Profile.default.serial)+")\n"},wB=function(t,e){return"control.onEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||Mt.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||Mt.Profile.default.serial)+", () => {\n"+e.statementToCode(this,"do")+")\n"},HB=function(t,e){return["control.eventTimestamp()",e.ORDER_ATOMIC]},kB=function(t,e){return["control.eventValue()",e.ORDER_ATOMIC]},WB=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},KB=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},JB=function(t,e){return["control.deviceName()",e.ORDER_ATOMIC]},QB=function(t,e){return["control.deviceSerialNumber()",e.ORDER_ATOMIC]},qB=function(t,e){return"panic("+(e.valueToCode(this,"STATUS_CODE",e.ORDER_ATOMIC)||"1000")+")\n"},zB=function(t,e){switch(e.definitions_.import_time="import time",this.getFieldValue("Time")){case"ms":return["time.ticks_ms()",e.ORDER_ATOMIC];case"us":return["time.ticks_us()",e.ORDER_ATOMIC]}},jB=function(){return"while True:\n pass\n"},$B=function(t,e){return e.definitions_.import_mixgo="import mixgo","reset()\n"},ZB=function(t,e){return e.definitions_.import_os="import os","os.uname()"},tG=function(t,e){e.definitions_.import_time="import time";var i=e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},eG=function(t,e){e.definitions_.import_time="import time";var i=e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},iG=function(t,e){return e.definitions_.import_mixgo="import mixgo",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+".init(period="+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode=Timer."+(e.valueToCode(this,"mode",e.ORDER_NONE)||"None")+", callback="+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},nG=function(t,e){return e.definitions_.import_machine="import machine",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+" = machine.Timer("+(e.valueToCode(this,"PIN",e.ORDER_NONE)||"None")+",period = "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode=machine.Timer."+this.getFieldValue("mode")+", callback="+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},sG=function(t,e){return e.definitions_.import_time="import time",["time.ticks_diff("+(e.valueToCode(this,"END",e.ORDER_NONE)||"0")+", "+(e.valueToCode(this,"START",e.ORDER_NONE)||"0")+")",e.ORDER_ATOMIC]},oG=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return e.definitions_.import_machine="import machine",i+" = machine.Timer(0)\n"},_G=function(t,e){return e.definitions_.import_machine="import machine",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+".init(period = "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode=machine.Timer."+this.getFieldValue("mode")+", callback="+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},pG=function(t,e){return e.definitions_.import_machine="import machine","wdt = machine.WDT(timeout= "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+")\n"},aG=function(t,e){e.definitions_.import_machine="import machine";return"wdt.feed()\n"},uG=function(t,e){e.definitions_.import_machine="import machine";return"machine.reset()\n"},rG=function(t,e){e.definitions_.import_bitbot_onboard_bot51="from bitbot import onboard_bot51";return"onboard_bot51.shutdown()\n"},dG=oG,lG=_G,IG=sG,TG=tG,MG=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},hG=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"day",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},mG=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api.weather_hourly("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"hour",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},EG=function(t,e){return e.definitions_["import_seniverse_api*"]="from seniverse_api import *",this.getFieldValue("mode")+".request("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+")\n"},OG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Weather_now.analysis()";else n='Weather_now.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},RG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Air_now.analysis()";else n='Air_now.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},cG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Weather_alarm.analysis()";else n='Weather_alarm.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},gG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Life_suggestion.analysis()";else n='Life_suggestion.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},CG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Tide_daily.analysis()";else n='Tide_daily.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},SG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Location_search.analysis()";else n='Location_search.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},AG=function(t,e){return e.definitions_["import_seniverse_api*"]="from seniverse_api import *",this.getFieldValue("mode")+".request("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"day",e.ORDER_ATOMIC)+")\n"},LG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Weather_daily.analysis("+n+")";else s="Weather_daily.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},NG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Air_daily.analysis("+n+")";else s="Air_daily.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},DG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Geo_sun.analysis("+n+")";else s="Geo_sun.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},fG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Geo_moon.analysis("+n+")";else s="Geo_moon.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},FG='
\r\n
{{-d.title}}
\r\n
\r\n {{# if (d.message) { }}\r\n

\r\n {{-d.message}}\r\n

\r\n {{# } }}\r\n
\r\n
',{XML:PG}=Mt,vG=PG.render(FG,{title:"烧录速度",message:"要选择烧录速度,请更改“Burn Speed”,此值将用于向设备烧录代码。如果在用较高的烧录速度时出现问题,请尝试减小此值,这可能是由于外部串行到USB芯片的限制。"}),{XML:YG}=Mt,XG=YG.render(FG,{title:"燒錄速度",message:"要選擇燒錄速度,請更改“Burn Speed”,此值將用於向設備燒錄程式碼。如果在用較高的燒錄速度時出現問題,請嘗試减小此值,這可能是由於外部串列到USB晶片的限制。"}),{XML:xG}=Mt,bG=xG.render(FG,{title:"Burn Speed",message:"To select the flashing speed, change the Burn Speed. This value will be used for flashing the code to the device. If you have issues while flashing the device at high speed, try to decrease this value. This could be due to the external serial-to-USB chip limitations."}),yG=new Tt.Generator("Python");yG.INDENT=" ",yG.addReservedWords("False,None,True,and,as,assert,break,class,continue,def,del,elif,else,except,exec,finally,for,from,global,if,import,in,is,lambda,nonlocal,not,or,pass,print,raise,return,try,while,with,yield,NotImplemented,Ellipsis,__debug__,quit,exit,copyright,license,credits,ArithmeticError,AssertionError,AttributeError,BaseException,BlockingIOError,BrokenPipeError,BufferError,BytesWarning,ChildProcessError,ConnectionAbortedError,ConnectionError,ConnectionRefusedError,ConnectionResetError,DeprecationWarning,EOFError,Ellipsis,EnvironmentError,Exception,FileExistsError,FileNotFoundError,FloatingPointError,FutureWarning,GeneratorExit,IOError,ImportError,ImportWarning,IndentationError,IndexError,InterruptedError,IsADirectoryError,KeyError,KeyboardInterrupt,LookupError,MemoryError,ModuleNotFoundError,NameError,NotADirectoryError,NotImplemented,NotImplementedError,OSError,OverflowError,PendingDeprecationWarning,PermissionError,ProcessLookupError,RecursionError,ReferenceError,ResourceWarning,RuntimeError,RuntimeWarning,StandardError,StopAsyncIteration,StopIteration,SyntaxError,SyntaxWarning,SystemError,SystemExit,TabError,TimeoutError,TypeError,UnboundLocalError,UnicodeDecodeError,UnicodeEncodeError,UnicodeError,UnicodeTranslateError,UnicodeWarning,UserWarning,ValueError,Warning,ZeroDivisionError,_,__build_class__,__debug__,__doc__,__import__,__loader__,__name__,__package__,__spec__,abs,all,any,apply,ascii,basestring,bin,bool,buffer,bytearray,bytes,callable,chr,classmethod,cmp,coerce,compile,complex,copyright,credits,delattr,dict,dir,divmod,enumerate,eval,exec,execfile,exit,file,filter,float,format,frozenset,getattr,globals,hasattr,hash,help,hex,id,input,int,intern,isinstance,issubclass,iter,len,license,list,locals,long,map,max,memoryview,min,next,object,oct,open,ord,pow,print,property,quit,range,raw_input,reduce,reload,repr,reversed,round,set,setattr,slice,sorted,staticmethod,str,sum,super,tuple,type,unichr,unicode,vars,xrange,zip"),yG.ORDER_ATOMIC=0,yG.ORDER_COLLECTION=1,yG.ORDER_STRING_CONVERSION=1,yG.ORDER_UNARY_POSTFIX=1,yG.ORDER_UNARY_PREFIX=2,yG.ORDER_MEMBER=2.1,yG.ORDER_FUNCTION_CALL=2.2,yG.ORDER_EXPONENTIATION=3,yG.ORDER_UNARY_SIGN=4,yG.ORDER_BITWISE_NOT=4,yG.ORDER_MULTIPLICATIVE=5,yG.ORDER_ADDITIVE=6,yG.ORDER_BITWISE_SHIFT=7,yG.ORDER_BITWISE_AND=8,yG.ORDER_BITWISE_XOR=9,yG.ORDER_BITWISE_OR=10,yG.ORDER_RELATIONAL=11,yG.ORDER_EQUALITY=11,yG.ORDER_LOGICAL_NOT=12,yG.ORDER_LOGICAL_AND=13,yG.ORDER_LOGICAL_OR=14,yG.ORDER_ASSIGNMENT=14,yG.ORDER_CONDITIONAL=15,yG.ORDER_LAMBDA=16,yG.ORDER_NONE=99,yG.ORDER_OVERRIDES=[[yG.ORDER_FUNCTION_CALL,yG.ORDER_MEMBER],[yG.ORDER_FUNCTION_CALL,yG.ORDER_FUNCTION_CALL],[yG.ORDER_MEMBER,yG.ORDER_MEMBER],[yG.ORDER_MEMBER,yG.ORDER_FUNCTION_CALL]],yG.init=function(){yG.PASS=this.INDENT+"pass\n",yG.definitions_=Object.create(null),yG.functionNames_=Object.create(null),yG.setups_=Object.create(null),yG.loops_=Object.create(null),yG.codeEnd_=Object.create(null),yG.variableDB_?yG.variableDB_.reset():yG.variableDB_=new Ot(yG.RESERVED_WORDS_)},yG.finish=function(t){""!==t&&(t=(t=t.replace(/\n/g,"\n")).replace(/\n\s+$/,"\n"));var e=[],i=[],n=[];for(var s in this.definitions_){var o=this.definitions_[s];0===s.indexOf("import")?e.push(o):0===s.indexOf("var_declare")?i.push(o):n.push(o)}e.length&&e.push("\n"),i.length&&i.push("\n"),n.length&&n.push("\n");var _=[];for(var s in yG.functions_)_.push(yG.functions_[s]);_.length&&_.push("\n");var p=[];for(var s in yG.setups_)p.push(yG.setups_[s]);p.length&&p.push("\n");var a=[];for(var s in yG.loops_)a.push(yG.loops_[s]);var u=[];for(var s in yG.codeEnd_)u.push(yG.codeEnd_[s]);0!==u.length&&u.push("\n");let r="";return r=a.length>0?e.join("\n")+i.join("\n")+n.join("\n")+_.join("\n")+p.join("")+t+"while True:\n"+a.join("")+u.join("\n"):e.join("\n")+i.join("\n")+n.join("\n")+_.join("\n")+p.join("")+t+u.join("\n"),r},yG.scrubNakedValue=function(t){return t+"\n"},yG.quote_=function(t){var e="'";return-1!==(t=t.replace(/\\/g,"\\\\").replace(/\n/g,"\\\n")).indexOf("'")&&(-1===t.indexOf('"')?e='"':t=t.replace(/'/g,"\\'")),e+t+e},yG.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},yG.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(o=t.getCommentText())&&(o=Tt.utils.string.wrap(o,yG.COMMENT_WRAP-3),n+=yG.prefixLines(o+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const VG={};VG.MixGo={description:"MicroPython[ESP32 MixGo]",digital_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["39","39"]],digital:[["pin0","pin0"],["pin2","pin2"],["pin4","pin4"],["pin5","pin5"],["pin12","pin12"],["pin13","pin13"],["pin14","pin14"],["pin15","pin15"],["pin16","pin16"],["pin17","pin17"],["pin18","pin18"],["pin19","pin19"],["pin21","pin21"],["pin22","pin22"],["pin23","pin23"],["pin25","pin25"],["pin26","pin26"],["pin27","pin27"],["pin32","pin32"],["pin33","pin33"],["pin34","pin34"],["pin35","pin35"],["pin36","pin36"],["pin39","pin39"]],input_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["39","39"]],output_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"]],pwm_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["20","20"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"]],pwm:[["pwm0","pwm0"],["pwm2","pwm2"],["pwm4","pwm4"],["pwm5","pwm5"],["pwm12","pwm12"],["pwm13","pwm13"],["pwm14","pwm14"],["pwm15","pwm15"],["pwm16","pwm16"],["pwm17","pwm17"],["pwm18","pwm18"],["pwm19","pwm19"],["pwm20","pwm20"],["pwm21","pwm21"],["pwm22","pwm22"],["pwm23","pwm23"],["pwm25","pwm25"],["pwm26","pwm26"],["pwm27","pwm27"],["pwm32","pwm32"],["pwm33","pwm33"]],analog_pin:[["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],analog:[["adc32","adc32"],["adc33","adc33"],["adc34","adc34"],["adc35","adc35"],["adc36","adc36"],["adc37","adc37"],["adc38","adc38"],["adc39","adc39"]],espnow_channel:Mt.Profile.generate(["1-13"]),haskylens_model:Mt.Profile.generate(["0-4"]),dac_pin:[["25","25"],["26","26"]],dac:[["dac25","dac25"],["dac26","dac26"]],touch:[["tc0","tc0"],["tc2","tc2"],["tc4","tc4"],["tc12","tc12"],["tc13","tc13"],["tc14","tc14"],["tc15","tc15"],["tc27","tc27"],["tc32","tc32"],["tc33","tc33"]],touch_pin:[["0","0"],["2","2"],["4","4"],["12","12"],["13","13"],["14","14"],["15","15"],["27","27"],["32","32"],["33","33"]],button:[["A","button_a"],["B","button_b"]],axis:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],exlcdh:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"],["12","12"],["13","13"],["14","14"],["15","15"]],exlcdv:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],brightness:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"]],tts_voice:Mt.Profile.generate(["0-16"]),tts_builtin_music:Mt.Profile.generate(["0-47"]),tts_bgmusic:Mt.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["onboard_music_QUAVERS","onboard_matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","onboard_matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","onboard_matrix.onboard_music_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","onboard_matrix.ALL_CLOCKS"],["ALL_ARROWS","onboard_matrix.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"],["3","3"]]},VG["MixGo PE"]={description:"MicroPython[ESP32 MixGo PE]",digital_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["7","7"],["8","8"],["12","12"],["13","13"],["14","14"],["15","15"],["19","19"],["20","20"],["21","21"],["22","22"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],digital:[["pin0","pin0"],["pin2","pin2"],["pin4","pin4"],["pin5","pin5"],["pin7","pin7"],["pin8","pin8"],["pin12","pin12"],["pin13","pin13"],["pin14","pin14"],["pin15","pin15"],["pin19","pin19"],["pin20","pin20"],["pin21","pin21"],["pin22","pin22"],["pin25","pin25"],["pin26","pin26"],["pin27","pin27"],["pin32","pin32"],["pin33","pin33"],["pin34","pin34"],["pin35","pin35"],["pin36","pin36"],["pin37","pin37"],["pin38","pin38"],["pin39","pin39"]],input_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["7","7"],["8","8"],["12","12"],["13","13"],["14","14"],["15","15"],["19","19"],["20","20"],["21","21"],["22","22"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],output_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["7","7"],["8","8"],["12","12"],["13","13"],["14","14"],["15","15"],["19","19"],["20","20"],["21","21"],["22","22"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"]],pwm_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["7","7"],["8","8"],["12","12"],["13","13"],["14","14"],["15","15"],["19","19"],["20","20"],["21","21"],["22","22"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"]],pwm:[["pwm0","pwm0"],["pwm2","pwm2"],["pwm4","pwm4"],["pwm5","pwm5"],["pwm7","pwm7"],["pwm8","pwm8"],["pwm12","pwm12"],["pwm13","pwm13"],["pwm14","pwm14"],["pwm15","pwm15"],["pwm19","pwm19"],["pwm20","pwm20"],["pwm21","pwm21"],["pwm22","pwm22"],["pwm25","pwm25"],["pwm26","pwm26"],["pwm27","pwm27"],["pwm32","pwm32"],["pwm33","pwm33"]],espnow_channel:Mt.Profile.generate(["1-13"]),haskylens_model:Mt.Profile.generate(["0-4"]),analog_pin:[["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],analog:[["adc32","adc32"],["adc33","adc33"],["adc34","adc34"],["adc35","adc35"],["adc36","adc36"],["adc37","adc37"],["adc38","adc38"],["adc39","adc39"]],dac_pin:[["25","25"],["26","26"]],dac:[["dac25","dac25"],["dac26","dac26"]],touch:[["tc0","tc0"],["tc2","tc2"],["tc4","tc4"],["tc12","tc12"],["tc13","tc13"],["tc14","tc14"],["tc15","tc15"],["tc27","tc27"],["tc32","tc32"],["tc33","tc33"]],touch_pin:[["0","0"],["2","2"],["4","4"],["12","12"],["13","13"],["14","14"],["15","15"],["27","27"],["32","32"],["33","33"]],button:[["A","button_a"],["B","button_b"]],axis:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],exlcdh:Mt.Profile.generate(["0-7"]),exlcdv:Mt.Profile.generate(["0-4"]),brightness:Mt.Profile.generate(["0-9"]),tts_voice:Mt.Profile.generate(["0-16"]),tts_builtin_music:Mt.Profile.generate(["0-47"]),tts_bgmusic:Mt.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["MUSIC_QUAVERS","onboard_matrix.MUSIC_QUAVERS"],["MUSIC_QUAVER","onboard_matrix.MUSIC_QUAVER"],["MUSIC_CROTCHET","onboard_matrix.MUSIC_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","onboard_matrix.ALL_CLOCKS"],["ALL_ARROWS","onboard_matrix.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"],["3","3"]]},VG["ESP32 Generic(4MB)"]={description:"MicroPython[ESP32 Generic]",digital_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["20","20"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],digital:[["pin0","pin0"],["pin2","pin2"],["pin4","pin4"],["pin5","pin5"],["pin6","pin6"],["pin7","pin7"],["pin8","pin8"],["pin9","pin9"],["pin10","pin10"],["pin11","pin11"],["pin12","pin12"],["pin13","pin13"],["pin14","pin14"],["pin15","pin15"],["pin16","pin16"],["pin17","pin17"],["pin18","pin18"],["pin19","pin19"],["pin20","pin20"],["pin21","pin21"],["pin22","pin22"],["pin23","pin23"],["pin25","pin25"],["pin26","pin26"],["pin27","pin27"],["pin32","pin32"],["pin33","pin33"],["pin34","pin34"],["pin35","pin35"],["pin36","pin36"],["pin37","pin37"],["pin38","pin38"],["pin39","pin39"]],input_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["7","7"],["8","8"],["12","12"],["13","13"],["14","14"],["15","15"],["19","19"],["20","20"],["21","21"],["22","22"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],output_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["7","7"],["8","8"],["12","12"],["13","13"],["14","14"],["15","15"],["19","19"],["20","20"],["21","21"],["22","22"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"]],pwm_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["20","20"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"]],pwm:[["pwm0","pwm0"],["pwm2","pwm2"],["pwm4","pwm4"],["pwm5","pwm5"],["pwm12","pwm12"],["pwm13","pwm13"],["pwm14","pwm14"],["pwm15","pwm15"],["pwm16","pwm16"],["pwm17","pwm17"],["pwm18","pwm18"],["pwm19","pwm19"],["pwm20","pwm20"],["pwm21","pwm21"],["pwm22","pwm22"],["pwm23","pwm23"],["pwm25","pwm25"],["pwm26","pwm26"],["pwm27","pwm27"],["pwm32","pwm32"],["pwm33","pwm33"]],analog_pin:[["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],analog:[["adc32","adc32"],["adc33","adc33"],["adc34","adc34"],["adc35","adc35"],["adc36","adc36"],["adc37","adc37"],["adc38","adc38"],["adc39","adc39"]],espnow_channel:Mt.Profile.generate(["1-13"]),haskylens_model:Mt.Profile.generate(["0-4"]),dac_pin:[["25","25"],["26","26"]],dac:[["dac25","dac25"],["dac26","dac26"]],touch:[["tc0","tc0"],["tc2","tc2"],["tc4","tc4"],["tc12","tc12"],["tc13","tc13"],["tc14","tc14"],["tc15","tc15"],["tc27","tc27"],["tc32","tc32"],["tc33","tc33"]],touch_pin:[["0","0"],["2","2"],["4","4"],["12","12"],["13","13"],["14","14"],["15","15"],["27","27"],["32","32"],["33","33"]],button:[["A","button_a"],["B","button_b"]],axis:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],exlcdh:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"],["12","12"],["13","13"],["14","14"],["15","15"]],exlcdv:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],brightness:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"]],tts_voice:Mt.Profile.generate(["0-16"]),tts_builtin_music:Mt.Profile.generate(["0-47"]),tts_bgmusic:Mt.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["onboard_music_QUAVERS","onboard_matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","onboard_matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","onboard_matrix.onboard_music_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","onboard_matrix.ALL_CLOCKS"],["ALL_ARROWS","onboard_matrix.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"],["3","3"]]},VG.mPython={description:"MicroPython[ESP32 Generic]",digital_pin:[["p0","33"],["p1","32"],["p2","35"],["p5","0"],["p6","16"],["p7","17"],["p8","26"],["p9","25"],["p11","2"],["p13","18"],["p14","19"],["p15","21"],["p16","5"],["p19","22"],["p20","23"]],digital:[["pin0","pin33"],["pin1","pin32"],["pin2","pin35"],["pin5","pin0"],["pin6","pin16"],["pin7","pin17"],["pin8","pin26"],["pin9","pin25"],["pin11","pin2"],["pin13","pin18"],["pin14","pin19"],["pin15","pin21"],["pin16","pin5"],["pin19","pin22"],["pin20","pin23"]],input_pin:[["p0","33"],["p1","32"],["p2","35"],["p5","0"],["p6","16"],["p7","17"],["p8","26"],["p9","25"],["p11","2"],["p13","18"],["p14","19"],["p15","21"],["p16","5"],["p19","22"],["p20","23"]],output_pin:[["p0","33"],["p1","32"],["p5","0"],["p6","16"],["p7","17"],["p8","26"],["p9","25"],["p11","2"],["p13","18"],["p14","19"],["p15","21"],["p16","5"],["p19","22"],["p20","23"]],pwm_pin:[["p0","33"],["p1","32"],["p5","0"],["p6","16"],["p7","17"],["p8","26"],["p9","25"],["p11","2"],["p13","18"],["p14","19"],["p15","21"],["p16","5"],["p19","22"],["p20","23"]],pwm:[["pwm0","pwm33"],["pwm1","pwm32"],["pwm5","pwm0"],["pwm6","pwm16"],["pwm7","pwm17"],["pwm8","pwm26"],["pwm9","pwm25"],["pwm11","pwm2"],["pwm13","pwm18"],["pwm14","pwm19"],["pwm15","pwm21"],["pwm16","pwm5"],["pwm19","pwm22"],["pwm20","pwm23"]],espnow_channel:Mt.Profile.generate(["1-13"]),haskylens_model:Mt.Profile.generate(["0-4"]),analog_pin:[["p0","33"],["p1","32"],["p2","35"],["p3","34"],["p4","39"],["p10","36"]],analog:[["adc0","adc33"],["adc1","adc32"],["adc2","adc35"],["adc3","adc34"],["adc4","adc39"],["adc10","adc36"]],dac_pin:[["p8","26"],["p9","25"]],dac:[["dac8","dac26"],["dac9","dac25"]],touch_mpython:[["p","p"],["y","y"],["t","t"],["h","h"],["o","o"],["n","n"]],touch:[["tc0","tc33"],["tc1","tc32"],["tc5","tc0"],["tc11","tc2"],["tc23","tc27"],["tc24","tc14"],["tc25","tc12"],["tc26","tc13"],["tc27","tc15"],["tc28","tc4"]],touch_pin:[["p0","33"],["p1","32"],["p5","0"],["p11","2"],["p23","27"],["p24","14"],["p25","12"],["p26","13"],["p27","15"],["p28","4"]],button:[["A","button_a"],["B","button_b"]],axis:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],exlcdh:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"],["12","12"],["13","13"],["14","14"],["15","15"]],exlcdv:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],brightness:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"]],tts_voice:Mt.Profile.generate(["0-16"]),tts_builtin_music:Mt.Profile.generate(["0-47"]),tts_bgmusic:Mt.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["onboard_music_QUAVERS","onboard_matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","onboard_matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","onboard_matrix.onboard_music_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","onboard_matrix.ALL_CLOCKS"],["ALL_ARROWS","onboard_matrix.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"],["3","3"]]};const BG=VG,GG=230,UG={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.digital),"PIN"),this.setOutput(!0)}},wG={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.digital_pin),"PIN"),this.setOutput(!0,Number)}},HG={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.input_pin),"PIN"),this.setOutput(!0,Number)}},kG={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.output_pin),"PIN"),this.setOutput(!0,Number)}},WG={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.touch_mpython),"PIN"),this.setOutput(!0,Number)}},KG={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.espnow_channel),"PIN"),this.setOutput(!0,Number)}},JG={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.haskylens_model),"PIN"),this.setOutput(!0,Number)}},QG={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.pwm_input),"PIN"),this.setOutput(!0)}},qG={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.analog_input),"PIN"),this.setOutput(!0)}},zG={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.pwm_output),"PIN"),this.setOutput(!0)}},jG={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.analog_output),"PIN"),this.setOutput(!0)}},$G={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.i2c_A_pin),"PIN"),this.setOutput(!0,Number)}},ZG={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.i2c_B_pin),"PIN"),this.setOutput(!0,Number)}},tU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.spi_A_pin),"PIN"),this.setOutput(!0,Number)}},eU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.spi_B_pin),"PIN"),this.setOutput(!0,Number)}},iU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.spi_C_pin),"PIN"),this.setOutput(!0,Number)}},nU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.spi_D_pin),"PIN"),this.setOutput(!0,Number)}},sU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.analog),"PIN"),this.setOutput(!0)}},oU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.analog_pin),"PIN"),this.setOutput(!0,Number)}},_U={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.dac),"PIN"),this.setOutput(!0)}},pU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.dac_pin),"PIN"),this.setOutput(!0,Number)}},aU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.button),"PIN"),this.setOutput(!0,Number)}},uU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.pwm),"PIN"),this.setOutput(!0)}},rU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.pwm_pin),"PIN"),this.setOutput(!0,Number)}},dU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.touch_pin),"PIN"),this.setOutput(!0,Number)}},lU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.touch),"PIN"),this.setOutput(!0)}},IU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.serial_pin),"PIN"),this.setOutput(!0,Number)}},TU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.builtinimg),"PIN"),this.setOutput(!0,"esp32_image")}},MU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.builtinimg_extern),"PIN"),this.setOutput(!0,"esp32_image")}},hU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.imglist),"PIN"),this.setOutput(!0)}},mU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.playlist),"PIN"),this.setOutput(!0)}},EU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.playlist_extern),"PIN"),this.setOutput(!0)}},OU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.exlcdh),"PIN"),this.setOutput(!0,Number)}},RU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.exlcdv),"PIN"),this.setOutput(!0,Number)}},cU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.axis),"PIN"),this.setOutput(!0,Number)}},gU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.brightness),"PIN"),this.setOutput(!0,Number)}},CU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.tts_voice),"PIN"),this.setOutput(!0,Number)}},SU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.tts_builtin_music),"PIN"),this.setOutput(!0,Number)}},AU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.tts_bgmusic),"PIN"),this.setOutput(!0,Number)}},LU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.tone_notes),"PIN"),this.setOutput(!0,Number)}},NU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.radio_power),"PIN"),this.setOutput(!0,Number)}},DU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.radio_datarate),"PIN"),this.setOutput(!0,Number)}},fU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.one_more),"PIN"),this.setOutput(!0)}},FU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.digital_dot),"PIN"),this.setOutput(!0,Number)}},PU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown([["0","0"],["1","1"],["2","2"],["3","3"]]),"PIN"),this.setOutput(!0,Number)}},vU=function(t,e){return[this.getFieldValue("PIN"),e.ORDER_ATOMIC]},YU=vU,XU=vU,xU=vU,bU=vU,yU=vU,VU=vU,BU=vU,GU=vU,UU=vU,wU=vU,HU=vU,kU=vU,WU=vU,KU=vU,JU=vU,QU=vU,qU=vU,zU=vU,jU=vU,$U=vU,ZU=vU,tw=vU,ew=vU,iw=vU,nw=vU,sw=vU,ow=vU,_w=vU,pw=vU,aw=vU,uw=vU,rw=vU,dw=vU,lw=vU,Iw=vU;Object.assign(Tt.Variables,mt),Object.assign(Tt.Procedures,Yu),Object.assign(Tt.Lang.ZhHans,ut),Object.assign(Tt.Lang.ZhHant,rt),Object.assign(Tt.Lang.En,dt),Tt.Python=Xu,Tt.generator=Xu,Mt.Profile.default={},Object.assign(Mt.Profile,BG),Object.assign(Mt.Profile.default,BG["ESP32 Generic"]),Object.assign(Tt.Blocks,e,i,n,s,o,_,p,a,u,r,d,l,I,b,H,w,v,y,k,f,U,G,B,V,F,D,N,X,Y,x,P,lt),Object.assign(Tt.Python.forBlock,T,M,h,m,E,O,R,c,g,C,S,A,L,tt,pt,_t,z,et,at,J,ot,st,nt,it,Q,K,W,$,j,Z,q,It)})(); \ No newline at end of file diff --git a/boards/default/micropython_esp32/main.bundle.e54d8d89.js b/boards/default/micropython_esp32/main.bundle.e54d8d89.js deleted file mode 100644 index 4436b596..00000000 --- a/boards/default/micropython_esp32/main.bundle.e54d8d89.js +++ /dev/null @@ -1,21 +0,0 @@ -(()=>{"use strict";var t={d:(e,i)=>{for(var n in i)t.o(i,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:i[n]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};t.r(e),t.d(e,{controls_type:()=>At,controls_typeLists:()=>Lt,lists_zip:()=>Nt,lists_zip_container:()=>Dt,lists_zip_item:()=>ft,unpack_iterable_object:()=>Ft,variables_change:()=>Ct,variables_get:()=>ct,variables_global:()=>St,variables_set:()=>gt});var i={};t.r(i),t.d(i,{base_setup:()=>Yt,controls_delay:()=>Xt,controls_end_program:()=>xt,controls_except:()=>Qt,controls_finally:()=>qt,controls_flow_statements:()=>Ut,controls_for:()=>wt,controls_forEach:()=>Vt,controls_for_range:()=>Ht,controls_if:()=>bt,controls_if_else:()=>Kt,controls_if_elseif:()=>Wt,controls_if_if:()=>kt,controls_lambda:()=>jt,controls_main:()=>vt,controls_pass:()=>$t,controls_range:()=>yt,controls_repeat_ext:()=>zt,controls_thread:()=>Zt,controls_try:()=>Jt,controls_try_finally:()=>Gt,controls_whileUntil:()=>Bt,datetime_fromtimestamp:()=>oe,do_while:()=>te,garbage_collection:()=>ee,gene_unique_identifier:()=>_e,get_mem_alloc:()=>ie,get_mem_free:()=>ne,get_unique_identifier:()=>se});var n={};t.r(n),t.d(n,{base_map:()=>Ne,generate_cartesian_product:()=>fe,math_arithmetic:()=>de,math_bit:()=>Ie,math_constant:()=>ue,math_constant_mp:()=>re,math_constrain:()=>Re,math_dec:()=>Me,math_degree_to_radian:()=>Pe,math_indexer_number:()=>ge,math_map:()=>ce,math_max_min:()=>me,math_number:()=>ae,math_number_base_conversion:()=>Ee,math_radian_to_degree:()=>Fe,math_random:()=>Oe,math_random_seed:()=>Ce,math_round:()=>Se,math_selfcalcu:()=>le,math_to_int:()=>he,math_trig:()=>Te,text_to_number:()=>Ae,text_to_number_skulpt:()=>Le,turn_to_int:()=>De});var s={};t.r(s),t.d(s,{ascii_to_char:()=>Ve,char_to_ascii:()=>Be,number_to_text:()=>Ge,os_system:()=>di,text:()=>Ye,text_bytes:()=>xe,text_capital:()=>qe,text_center:()=>ze,text_char:()=>be,text_char_at:()=>He,text_char_at2:()=>we,text_char_at3:()=>pi,text_compareTo:()=>_i,text_compare_to:()=>Qe,text_create_with_container:()=>ni,text_create_with_item:()=>si,text_encode:()=>ui,text_equals_starts_ends:()=>Je,text_eval:()=>ri,text_find:()=>je,text_format:()=>ii,text_format_noreturn:()=>ai,text_join:()=>ye,text_join_seq:()=>$e,text_length:()=>Ue,text_random_char:()=>ke,text_replace:()=>Ze,text_split:()=>ti,text_strip:()=>ei,text_substring:()=>Ke,text_substring2:()=>We,text_substring3:()=>oi,text_textarea:()=>Xe});var o={};t.r(o),t.d(o,{ENUMERATE:()=>Ji,content_in_lists:()=>qi,enumerate:()=>Qi,list_many_input:()=>Xi,list_tolist:()=>Vi,list_tolist2:()=>Ki,list_trig:()=>Pi,lists_2d_get_col_row_data:()=>hi,lists_2d_get_data_with_col_row:()=>Mi,lists_append_extend:()=>gi,lists_change_to:()=>Yi,lists_change_to_general:()=>bi,lists_clear:()=>Ni,lists_create_with:()=>mi,lists_create_with2:()=>Bi,lists_create_with_container:()=>Oi,lists_create_with_item:()=>Ri,lists_create_with_noreturn:()=>xi,lists_create_with_text:()=>Ei,lists_create_with_text2:()=>Gi,lists_del_general:()=>yi,lists_find:()=>Fi,lists_getIndex3:()=>Ui,lists_getSublist3:()=>wi,lists_get_index:()=>Ii,lists_get_random_item:()=>Ci,lists_get_random_sublist:()=>Si,lists_get_sublist:()=>Ti,lists_insert_value:()=>Ai,lists_insert_value2:()=>ki,lists_pop:()=>fi,lists_remove_at:()=>Di,lists_remove_at2:()=>Wi,lists_reverse:()=>Li,lists_setIndex3:()=>Hi,lists_set_index:()=>ci,lists_sort:()=>vi});var _={};t.r(_),t.d(_,{dicts_add_change_del:()=>ln,dicts_add_or_change:()=>sn,dicts_clear:()=>pn,dicts_create_with:()=>ji,dicts_create_with_container:()=>$i,dicts_create_with_item:()=>Zi,dicts_create_with_noreturn:()=>Mn,dicts_deldict:()=>dn,dicts_delete:()=>on,dicts_get:()=>en,dicts_get_default:()=>nn,dicts_items:()=>an,dicts_keys:()=>tn,dicts_length:()=>rn,dicts_pop:()=>In,dicts_setdefault:()=>Tn,dicts_to_json:()=>mn,dicts_to_json2:()=>Rn,dicts_to_to:()=>On,dicts_todict:()=>hn,dicts_update:()=>_n,dicts_values:()=>un,json_to_dicts:()=>En});var p={};t.r(p),t.d(p,{logic_boolean:()=>Ln,logic_compare:()=>gn,logic_compare_continous:()=>Cn,logic_is:()=>Fn,logic_is_in:()=>fn,logic_negate:()=>An,logic_null:()=>Nn,logic_operation:()=>Sn,logic_tobool:()=>Pn,logic_true_or_false:()=>Dn});var a={};t.r(a),t.d(a,{sdcard_mount:()=>ts,sdcard_use_spi_init:()=>Zn,storage_can_write_ornot:()=>Gn,storage_change_dir:()=>jn,storage_close_file:()=>wn,storage_delete_file:()=>kn,storage_file_seek:()=>Jn,storage_file_tell:()=>Kn,storage_file_write:()=>bn,storage_fileopen:()=>Yn,storage_fileopen_new:()=>Xn,storage_fileopen_new_encoding:()=>xn,storage_get_a_line:()=>Bn,storage_get_contents:()=>Vn,storage_get_contents_without_para:()=>yn,storage_get_current_dir:()=>Qn,storage_get_file_size:()=>Wn,storage_get_filename:()=>Un,storage_is_file:()=>$n,storage_list_all_files:()=>Hn,storage_make_dir:()=>qn,storage_open_file_with_os:()=>vn,storage_rename:()=>zn});var u={};t.r(u),t.d(u,{procedures_callnoreturn:()=>os,procedures_callreturn:()=>_s,procedures_defnoreturn:()=>es,procedures_defreturn:()=>is,procedures_ifreturn:()=>ps,procedures_mutatorarg:()=>ss,procedures_mutatorcontainer:()=>ns,procedures_return:()=>as});var r={};t.r(r),t.d(r,{tuple_change_to:()=>Rs,tuple_create_llm_params:()=>fs,tuple_create_with:()=>rs,tuple_create_with_container:()=>ds,tuple_create_with_item:()=>ls,tuple_create_with_noreturn:()=>Ss,tuple_create_with_text2:()=>Is,tuple_create_with_text_return:()=>Ts,tuple_del:()=>ms,tuple_find:()=>cs,tuple_getIndex:()=>Ms,tuple_getSublist:()=>Cs,tuple_get_random_item:()=>Ls,tuple_get_sublist:()=>As,tuple_input:()=>Ds,tuple_join:()=>Es,tuple_length:()=>hs,tuple_max:()=>Os,tuple_totuple:()=>Ns,tuple_trig:()=>gs});var d={};t.r(d),t.d(d,{set_add_discard:()=>Bs,set_clear:()=>bs,set_create_with:()=>Ps,set_create_with_container:()=>vs,set_create_with_item:()=>Ys,set_create_with_text_return:()=>ws,set_length:()=>Xs,set_operate:()=>ys,set_operate_update:()=>Vs,set_pop:()=>xs,set_sub:()=>Gs,set_toset:()=>Hs,set_update:()=>Us});var l={};t.r(l),t.d(l,{html_content:()=>Qs,html_content_more:()=>qs,html_document:()=>Ws,html_form:()=>js,html_head_body:()=>Js,html_style:()=>zs,html_style_color:()=>Zs,html_style_content:()=>$s,html_text:()=>to,html_title:()=>Ks});var I={};t.r(I),t.d(I,{attribute_access:()=>Mo,function_call:()=>lo,function_call_container:()=>Io,function_call_item:()=>To,raw_block:()=>no,raw_empty:()=>oo,raw_expression:()=>so,raw_table:()=>io,text_comment:()=>_o,text_print_multiple:()=>ao,text_print_multiple_container:()=>uo,text_print_multiple_item:()=>ro,type_check:()=>po});var T={};t.r(T),t.d(T,{controls_type:()=>Ro,controls_typeLists:()=>co,lists_zip:()=>go,unpack_iterable_object:()=>Co,variables_change:()=>Eo,variables_get:()=>ho,variables_global:()=>Oo,variables_set:()=>mo});var M={};t.r(M),t.d(M,{Panic_with_status_code:()=>Yo,base_setup:()=>Ao,controls_delay:()=>vo,controls_flow_statements:()=>Po,controls_for:()=>Do,controls_forEach:()=>Vo,controls_for_range:()=>fo,controls_if:()=>Lo,controls_interrupts:()=>bo,controls_lambda:()=>Go,controls_main:()=>So,controls_millis:()=>Xo,controls_nointerrupts:()=>yo,controls_pass:()=>wo,controls_range:()=>Bo,controls_repeat:()=>zo,controls_repeat_ext:()=>Wo,controls_thread:()=>Ho,controls_try_finally:()=>No,controls_whileUntil:()=>Fo,datetime_fromtimestamp:()=>jo,do_while:()=>ko,garbage_collection:()=>Ko,gene_unique_identifier:()=>$o,get_mem_alloc:()=>Jo,get_mem_free:()=>Qo,get_unique_identifier:()=>qo,reset:()=>xo,time_sleep:()=>Uo});var h={};t.r(h),t.d(h,{base_map:()=>O_,generate_cartesian_product:()=>c_,math_arithmetic:()=>n_,math_bit:()=>i_,math_constant:()=>t_,math_constant_mp:()=>e_,math_constrain:()=>l_,math_dec:()=>p_,math_degree_to_radian:()=>C_,math_indexer_number:()=>M_,math_map:()=>d_,math_max_min:()=>u_,math_number:()=>Zo,math_number_base_conversion:()=>I_,math_radian_to_degree:()=>g_,math_random:()=>r_,math_random_seed:()=>T_,math_round:()=>h_,math_selfcalcu:()=>s_,math_single:()=>o_,math_to_int:()=>a_,math_trig:()=>__,text_to_number:()=>m_,text_to_number_skulpt:()=>E_,turn_to_int:()=>R_});var m={};t.r(m),t.d(m,{ascii_to_char:()=>f_,char_to_ascii:()=>F_,number_to_text:()=>P_,os_system:()=>tp,text:()=>S_,text_bytes:()=>L_,text_capital:()=>G_,text_center:()=>U_,text_char:()=>N_,text_char_at:()=>X_,text_char_at2:()=>Y_,text_char_at3:()=>j_,text_compareTo:()=>z_,text_compare_to:()=>y_,text_encode:()=>$_,text_equals_starts_ends:()=>b_,text_eval:()=>Z_,text_find:()=>w_,text_format:()=>J_,text_format_noreturn:()=>Q_,text_join:()=>D_,text_join_seq:()=>H_,text_length:()=>v_,text_random_char:()=>x_,text_replace:()=>k_,text_split:()=>W_,text_strip:()=>K_,text_substring:()=>B_,text_substring2:()=>V_,text_substring3:()=>q_,text_textarea:()=>A_});var E={};t.r(E),t.d(E,{content_in_lists:()=>Xp,enumerate:()=>Yp,list_many_input:()=>Rp,list_tolist:()=>Pp,list_tolist2:()=>vp,list_trig:()=>mp,lists_2d_get_col_row_data:()=>np,lists_2d_get_data_with_col_row:()=>ip,lists_append_extend:()=>ap,lists_change_to:()=>Op,lists_change_to_general:()=>gp,lists_clear:()=>Ip,lists_create_with:()=>sp,lists_create_with2:()=>Sp,lists_create_with_noreturn:()=>cp,lists_create_with_text:()=>op,lists_create_with_text2:()=>Ap,lists_del_general:()=>Cp,lists_find:()=>Tp,lists_getIndex3:()=>Lp,lists_getSublist3:()=>Np,lists_get_index:()=>_p,lists_get_random_item:()=>up,lists_get_random_sublist:()=>rp,lists_get_sublist:()=>ep,lists_insert_value:()=>dp,lists_insert_value2:()=>fp,lists_pop:()=>hp,lists_remove_at:()=>Mp,lists_remove_at2:()=>Fp,lists_reverse:()=>lp,lists_setIndex3:()=>Dp,lists_set_index:()=>pp,lists_sort:()=>Ep});var O={};t.r(O),t.d(O,{dicts_add_change_del:()=>Jp,dicts_add_or_change:()=>Bp,dicts_clear:()=>wp,dicts_create_with:()=>xp,dicts_create_with_noreturn:()=>zp,dicts_deldict:()=>Kp,dicts_delete:()=>Gp,dicts_get:()=>yp,dicts_get_default:()=>Vp,dicts_items:()=>Hp,dicts_keys:()=>bp,dicts_length:()=>Wp,dicts_pop:()=>Qp,dicts_setdefault:()=>qp,dicts_to_json:()=>$p,dicts_to_json2:()=>ea,dicts_to_to:()=>ta,dicts_todict:()=>jp,dicts_update:()=>Up,dicts_values:()=>kp,json_to_dicts:()=>Zp});var R={};t.r(R),t.d(R,{logic_boolean:()=>_a,logic_compare:()=>ia,logic_compare_continous:()=>na,logic_is:()=>ra,logic_is_in:()=>ua,logic_negate:()=>oa,logic_null:()=>pa,logic_operation:()=>sa,logic_tobool:()=>da,logic_true_or_false:()=>aa});var c={};t.r(c),t.d(c,{sdcard_mount:()=>Xa,sdcard_use_spi_init:()=>Ya,storage_can_write_ornot:()=>Ra,storage_change_dir:()=>Da,storage_close_file:()=>ga,storage_delete_file:()=>Sa,storage_file_seek:()=>Na,storage_file_tell:()=>La,storage_file_write:()=>ha,storage_fileopen:()=>Ia,storage_fileopen_new:()=>Ta,storage_fileopen_new_encoding:()=>Ma,storage_get_a_line:()=>Oa,storage_get_contents:()=>Ea,storage_get_contents_without_para:()=>ma,storage_get_current_dir:()=>fa,storage_get_file_size:()=>Aa,storage_get_filename:()=>ca,storage_is_file:()=>va,storage_list_all_files:()=>Ca,storage_make_dir:()=>Fa,storage_open_file_with_os:()=>la,storage_rename:()=>Pa});var g={};t.r(g),t.d(g,{procedures_callnoreturn:()=>Va,procedures_callreturn:()=>ya,procedures_defnoreturn:()=>ba,procedures_defreturn:()=>xa,procedures_ifreturn:()=>Ba,procedures_return:()=>Ga});var C={};t.r(C),t.d(C,{tuple_change_to:()=>qa,tuple_create_llm_params:()=>su,tuple_create_with:()=>Ua,tuple_create_with_noreturn:()=>Za,tuple_create_with_text2:()=>wa,tuple_create_with_text_return:()=>Ha,tuple_del:()=>Ka,tuple_find:()=>za,tuple_getIndex:()=>ka,tuple_getSublist:()=>$a,tuple_get_random_item:()=>eu,tuple_get_sublist:()=>tu,tuple_input:()=>nu,tuple_join:()=>Ja,tuple_length:()=>Wa,tuple_max:()=>Qa,tuple_totuple:()=>iu,tuple_trig:()=>ja});var S={};t.r(S),t.d(S,{set_add_discard:()=>du,set_clear:()=>au,set_create_with:()=>ou,set_create_with_text_return:()=>Tu,set_length:()=>_u,set_operate:()=>uu,set_operate_update:()=>ru,set_pop:()=>pu,set_sub:()=>lu,set_toset:()=>Mu,set_update:()=>Iu});var A={};t.r(A),t.d(A,{html_content:()=>Ou,html_content_more:()=>Ru,html_document:()=>hu,html_form:()=>gu,html_head_body:()=>Eu,html_style:()=>cu,html_style_content:()=>Cu,html_text:()=>Su,html_title:()=>mu});var L={};t.r(L),t.d(L,{attribute_access:()=>Pu,function_call:()=>Fu,raw_block:()=>Au,raw_empty:()=>Nu,raw_expression:()=>Lu,raw_table:()=>Du,type_check:()=>fu});var N={};t.r(N),t.d(N,{PIN_init:()=>Vr,actuator_extern_get_led_bright:()=>Ju,actuator_extern_get_led_state:()=>Qu,actuator_extern_led_bright:()=>Ku,actuator_extern_led_brightness:()=>qu,actuator_ms32006_dcmotor:()=>sr,actuator_ms32006_init:()=>nr,actuator_ms32006_stepper:()=>or,actuator_neopixel_init:()=>_r,actuator_neopixel_rgb:()=>pr,actuator_neopixel_rgb_all:()=>ar,actuator_neopixel_rgb_show_all_chase:()=>dr,actuator_neopixel_rgb_show_all_rainbow:()=>rr,actuator_neopixel_write:()=>ur,actuator_use_uart_init:()=>lr,backstage_esp32_music_play_list:()=>Gu,esp32_music_get_tempo_extern:()=>wu,esp32_music_pitch:()=>yu,esp32_music_pitch_init:()=>bu,esp32_music_pitch_with_time:()=>Vu,esp32_music_play_list:()=>Bu,esp32_music_reset_extern:()=>Hu,esp32_music_set_tempo_extern:()=>Uu,esp32_music_stop:()=>ku,esp32_set_music_volume:()=>Wu,mixbot_actuator_extern_get_addr:()=>br,mixbot_actuator_extern_set_addr:()=>yr,mixbot_addr_extern:()=>Cr,parrot_PIN_init:()=>wr,parrot_move_speed:()=>Hr,pin_led_bright:()=>Br,player_insert_music:()=>Er,player_play_music:()=>mr,player_set_mode:()=>hr,player_set_play:()=>Tr,player_set_volume:()=>Mr,player_whether_stop:()=>Ir,robot_led_extern:()=>Nr,robot_led_extern_get_value:()=>Dr,robot_motor_extern:()=>Sr,robot_motor_extern_get_speed:()=>Ar,robot_servo_extern_absolute_run:()=>vr,robot_servo_extern_get_status:()=>fr,robot_servo_extern_relative_continue:()=>xr,robot_servo_extern_relative_origin:()=>Yr,robot_servo_extern_relative_run:()=>Xr,robot_servo_extern_stop:()=>Pr,robot_servo_extern_stop_mode:()=>Fr,robot_traffic_light_extern:()=>Lr,servo_PIN_init:()=>Gr,servo_get_angle:()=>er,servo_get_speed:()=>ir,servo_init:()=>zu,servo_move:()=>ju,servo_move_angle:()=>Ur,servo_set_angle:()=>Zu,servo_set_speed:()=>tr,servo_speed_360:()=>$u,syn6288_builtin_voice:()=>cr,syn6288_get_voice:()=>Rr,syn6288_set_voice:()=>Or,syn6288_tts_play:()=>gr});var D={};t.r(D),t.d(D,{actuator_dc_motor:()=>gd,actuator_dc_motor_stop:()=>Cd,actuator_get_led_bright:()=>Qr,actuator_get_led_state:()=>qr,actuator_led_bright:()=>Jr,actuator_led_brightness:()=>zr,actuator_mixbot_buzzer_on_off:()=>Dd,actuator_mixgo_nova_mic_get:()=>Yd,actuator_mixgo_nova_mic_set:()=>vd,actuator_mixgo_nova_onboard_music_pitch:()=>Bd,actuator_mixgo_nova_onboard_music_stop:()=>Gd,actuator_mixgo_nova_play_audio:()=>yd,actuator_mixgo_nova_play_online_audio:()=>Vd,actuator_mixgo_nova_record_audio:()=>bd,actuator_mixgo_nova_voice_get:()=>xd,actuator_mixgo_nova_voice_set:()=>Xd,actuator_mixgo_zero_led_color:()=>jr,actuator_onboard_neopixel_rgb:()=>nd,actuator_onboard_neopixel_rgb_all:()=>sd,actuator_onboard_neopixel_rgb_show_all_chase:()=>_d,actuator_onboard_neopixel_rgb_show_all_rainbow:()=>od,actuator_onboard_neopixel_write:()=>pd,actuator_rm_onboard_neopixel_rgb:()=>ad,actuator_rm_onboard_neopixel_rgb_all:()=>ud,actuator_rm_onboard_neopixel_rgb_show_all_chase:()=>rd,actuator_stepper_keep:()=>Rd,actuator_stepper_stop:()=>cd,analog_ble_keyboard_init:()=>Zd,analog_ble_keyboard_input:()=>il,analog_ble_keyboard_mouse_init:()=>rl,analog_ble_keyboard_mouse_input:()=>Tl,analog_ble_keyboard_mouse_send_battery:()=>Il,analog_ble_keyboard_mouse_str:()=>Ml,analog_ble_keyboard_send_battery:()=>sl,analog_ble_keyboard_str:()=>nl,analog_ble_mouse_init:()=>ol,analog_ble_mouse_input:()=>al,analog_ble_mouse_keyboard_input:()=>hl,analog_ble_mouse_send_battery:()=>ul,analog_keyboard_input:()=>kd,analog_keyboard_str:()=>$d,analog_mouse_input:()=>zd,backstage_onboard_music_play_list:()=>Ed,bitbot_motor:()=>Pd,bitbot_move:()=>fd,bitbot_stop:()=>Fd,ble_keyboard_connect:()=>el,ble_keyboard_get_mac:()=>tl,ble_keyboard_mouse_connect:()=>ll,ble_keyboard_mouse_get_mac:()=>dl,ble_mouse_connect:()=>pl,ble_mouse_get_mac:()=>_l,cc_number:()=>id,educore_ble_keyboard_input:()=>Ll,educore_ble_sensor_connected:()=>Al,educore_ble_sensor_init:()=>Sl,educore_buzzer:()=>ml,educore_buzzer_play_tone:()=>El,educore_buzzer_play_tone_time:()=>Ol,educore_buzzer_stop:()=>Rl,educore_neopixel_clear:()=>Cl,educore_neopixel_rgb:()=>gl,educore_rgb_light:()=>cl,esp32_music_get_tempo:()=>ld,esp32_music_reset:()=>Id,esp32_music_set_tempo:()=>dd,esp32_onboard_music_pitch:()=>Td,esp32_onboard_music_pitch_with_time:()=>Md,esp32_onboard_music_play_list:()=>md,esp32_onboard_music_stop:()=>hd,general_key:()=>Kd,general_key_tuple:()=>Jd,generalkey_container:()=>Qd,generalkey_create_with_item:()=>qd,get_keyboard_light:()=>Nl,get_power_output:()=>wd,ledswitch:()=>Kr,mixbot_motor:()=>Nd,mixbot_motor_status:()=>Sd,mixbot_move:()=>Ad,mixbot_stop:()=>Ld,mouse_key:()=>jd,number:()=>Wr,record_audio:()=>fl,rm_actuator_get_led_bright:()=>Zr,rm_actuator_get_led_state:()=>td,rm_actuator_led_bright:()=>$r,rm_actuator_led_brightness:()=>ed,rm_motor:()=>Od,set_all_power_output:()=>Hd,set_microphone_amplification:()=>Dl,set_music_volume:()=>Fl,set_power_output:()=>Ud,special_key:()=>Wd});var f={};t.r(f),t.d(f,{ai_sensor_20object:()=>rI,ai_sensor_ailocal_class:()=>Zl,ai_sensor_ailocal_class_result:()=>tI,ai_sensor_ailocal_train:()=>$l,ai_sensor_asr_recognize:()=>oI,ai_sensor_audio_play:()=>iI,ai_sensor_audio_record:()=>eI,ai_sensor_barcode:()=>Vl,ai_sensor_circle:()=>kl,ai_sensor_classifier_faces:()=>uI,ai_sensor_color:()=>Ql,ai_sensor_color_chases:()=>jl,ai_sensor_color_chases_result:()=>zl,ai_sensor_config:()=>bl,ai_sensor_face:()=>aI,ai_sensor_find_20objects:()=>dI,ai_sensor_find_barcodes:()=>Bl,ai_sensor_find_circles:()=>Wl,ai_sensor_find_colors:()=>ql,ai_sensor_find_licenseplates:()=>pI,ai_sensor_find_lines:()=>Hl,ai_sensor_find_qrcodes:()=>xl,ai_sensor_find_rects:()=>Jl,ai_sensor_find_tags:()=>Ul,ai_sensor_licenseplate:()=>_I,ai_sensor_line:()=>wl,ai_sensor_qrcode:()=>Yl,ai_sensor_qrcode_lite:()=>Xl,ai_sensor_rect:()=>Kl,ai_sensor_rgb:()=>yl,ai_sensor_tag:()=>Gl,ai_sensor_use_uart_init:()=>vl,ai_sensor_yolo_recognize:()=>nI,ai_sensor_yolo_recognize_result:()=>sI});var F={};t.r(F),t.d(F,{MICROPYTHON_AI_Speech_asr:()=>TI,MICROPYTHON_AI_Speech_unit:()=>II,MICROPYTHON_AI_client:()=>lI});var P={};t.r(P),t.d(P,{mpython_blynk_app_data:()=>fI,mpython_blynk_app_notify:()=>gI,mpython_blynk_email:()=>AI,mpython_blynk_get_timers:()=>LI,mpython_blynk_on_connected:()=>OI,mpython_blynk_on_disconnected:()=>EI,mpython_blynk_run:()=>cI,mpython_blynk_sensor_data_to_app:()=>DI,mpython_blynk_set_property:()=>SI,mpython_blynk_setup:()=>FI,mpython_blynk_stop_timers:()=>CI,mpython_blynk_sync_virtual:()=>mI,mpython_blynk_terminal_widget_vpin:()=>hI,mpython_blynktimer:()=>NI,mpython_blynktimer_run:()=>RI});var v={};t.r(v),t.d(v,{communicate_bluetooth_central_init:()=>lT,communicate_bluetooth_connect:()=>hT,communicate_bluetooth_disconnect:()=>mT,communicate_bluetooth_handle:()=>gT,communicate_bluetooth_is_connected:()=>OT,communicate_bluetooth_mac:()=>MT,communicate_bluetooth_peripheral_init:()=>IT,communicate_bluetooth_recv:()=>RT,communicate_bluetooth_recv_only:()=>cT,communicate_bluetooth_scan:()=>TT,communicate_bluetooth_send:()=>ET,communicate_espnow_init:()=>CT,communicate_espnow_init_new:()=>ST,communicate_i2c_available:()=>QI,communicate_i2c_init:()=>XI,communicate_i2c_master_read:()=>JI,communicate_i2c_onboard:()=>vI,communicate_i2c_read:()=>xI,communicate_i2c_scan:()=>yI,communicate_i2c_write:()=>bI,communicate_ir_recv_init:()=>iT,communicate_ir_send_init:()=>pT,communicate_ow_init:()=>zI,communicate_ow_read:()=>$I,communicate_ow_reset:()=>eT,communicate_ow_scan:()=>jI,communicate_ow_select:()=>tT,communicate_ow_write:()=>ZI,communicate_spi_buffer:()=>GI,communicate_spi_init:()=>VI,communicate_spi_onboard:()=>YI,communicate_spi_read:()=>UI,communicate_spi_read_output:()=>wI,communicate_spi_readinto:()=>HI,communicate_spi_readinto_output:()=>kI,communicate_spi_set:()=>BI,communicate_spi_write:()=>WI,communicate_spi_write_readinto:()=>KI,espnow_radio_channel:()=>FT,espnow_radio_channel_new:()=>vT,espnow_radio_on_off:()=>YT,espnow_radio_rec:()=>xT,espnow_radio_recv:()=>yT,espnow_radio_recv_certain_msg:()=>VT,espnow_radio_recv_certain_msg_new:()=>GT,espnow_radio_recv_msg:()=>bT,espnow_radio_recv_new:()=>BT,espnow_radio_send:()=>XT,espnow_radio_txpower:()=>PT,i2c_available:()=>aM,i2c_init:()=>QT,i2c_master_reader2:()=>pM,i2c_read:()=>qT,i2c_scan:()=>jT,i2c_slave_onreceive:()=>qI,i2c_write:()=>zT,internal_variable:()=>nT,ir_recv_timeout:()=>_T,ir_transmit_busy:()=>dT,ir_transmit_conventional_data:()=>aT,ir_transmit_raw_code:()=>rT,ir_transmit_study_code:()=>uT,ir_whether_recv:()=>oT,lora_init:()=>UT,lora_packet:()=>wT,lora_recv:()=>kT,lora_send:()=>HT,network_espnow_info:()=>LT,network_espnow_mac:()=>AT,network_espnow_recv:()=>NT,network_espnow_recv_handle:()=>fT,network_espnow_send:()=>DT,recv_fun:()=>sT,spi_buffer:()=>tM,spi_init:()=>$T,spi_read:()=>eM,spi_read_output:()=>iM,spi_readinto:()=>nM,spi_readinto_output:()=>sM,spi_set:()=>ZT,spi_write:()=>oM,spi_write_readinto:()=>_M,urequests_attribute:()=>KT,urequests_get:()=>WT,urequests_method:()=>JT});var Y={};t.r(Y),t.d(Y,{display_animate:()=>GM,display_blink_rate:()=>bM,display_circle:()=>UM,display_color_seclet:()=>ZM,display_draw_4strings:()=>FM,display_fill:()=>BM,display_get_screen_image:()=>xM,display_help:()=>HM,display_image_size:()=>PM,display_lcd_use_i2c_init:()=>oh,display_line:()=>YM,display_line_arbitrarily:()=>XM,display_matrix_extern_bright_point:()=>gM,display_matrix_extern_bright_screen:()=>SM,display_matrix_extern_clear:()=>AM,display_matrix_extern_get_pixel:()=>cM,display_matrix_extern_get_screen_pixel:()=>CM,display_matrix_extern_image_builtins:()=>LM,display_matrix_extern_scroll_string:()=>hM,display_matrix_extern_scroll_string_delay:()=>mM,display_matrix_extern_shift:()=>RM,display_matrix_extern_show_frame_string:()=>EM,display_matrix_extern_show_frame_string_delay:()=>OM,display_matrix_extern_show_image:()=>TM,display_matrix_extern_show_image_or_string_delay:()=>MM,display_matrix_use_i2c_init:()=>IM,display_oled_drawPixel:()=>WM,display_oled_showBitmap:()=>kM,display_oled_use_i2c_init:()=>rh,display_onoff:()=>VM,display_rect:()=>vM,display_rgb_color:()=>yM,display_tm1650_power:()=>JM,display_tm1650_set_brightness:()=>zM,display_tm1650_show_dot:()=>qM,display_tm1650_show_num:()=>QM,display_tm_use_i2c_init:()=>KM,display_triangle:()=>wM,display_use_i2c_init:()=>fM,extern_oled_bright_point:()=>ch,extern_oled_clear:()=>gh,extern_oled_get_pixel:()=>Rh,extern_oled_hvline:()=>Sh,extern_oled_line:()=>Ah,extern_oled_scroll_string:()=>Mh,extern_oled_scroll_string_delay:()=>hh,extern_oled_shape_rect:()=>Ch,extern_oled_shift:()=>Oh,extern_oled_show_frame_string:()=>mh,extern_oled_show_frame_string_delay:()=>Eh,extern_oled_show_image:()=>dh,extern_oled_show_image_or_string_delay:()=>Th,extern_oled_show_image_xy:()=>lh,extern_oled_show_string:()=>Ih,lcd_backlight:()=>ah,lcd_clear:()=>uh,lcd_print_string:()=>ph,lcd_show_image_or_string_delay:()=>_h,matrix_extern_image_arithmetic:()=>NM,matrix_extern_image_invert:()=>DM,tft_fill:()=>nh,tft_line_arbitrarily:()=>sh,tft_scroll_string_delay:()=>eh,tft_show_frame_string_delay:()=>ih,tft_show_image_or_string_delay:()=>th,tft_show_image_xy:()=>$M,tft_use_spi_init:()=>jM});var X={};t.r(X),t.d(X,{bitbot_display_bitmap_create:()=>Om,bitbot_display_image_create:()=>Em,display_available:()=>Jh,display_bitmap_create:()=>bh,display_bright_point:()=>Hh,display_bright_screen:()=>Wh,display_clear:()=>Kh,display_get_pixel:()=>wh,display_get_screen_pixel:()=>kh,display_image_builtins:()=>yh,display_image_builtins_all:()=>Vh,display_image_create:()=>xh,display_scroll_string:()=>fh,display_scroll_string_delay:()=>Fh,display_scroll_way:()=>Ph,display_shift:()=>Uh,display_show_frame_string:()=>Yh,display_show_frame_string_delay:()=>Xh,display_show_image:()=>Nh,display_show_image_or_string_delay:()=>Dh,draw_pointer:()=>bm,image_arithmetic:()=>Bh,image_invert:()=>Gh,mixbot_display_bitmap_create:()=>Im,mixbot_display_bright_screen:()=>hm,mixbot_display_get_ambientbright:()=>Mm,mixbot_display_get_screen_pixel:()=>Tm,mixbot_display_image_create:()=>lm,mixbot_display_rotate:()=>mm,mixgo_display_bitmap_create:()=>Zh,mixgo_display_image_create_new:()=>$h,mixgome_display_bitmap_create:()=>qh,mixgome_display_font:()=>tm,mixgome_display_image_create:()=>Qh,mixgomini_display_bitmap_create:()=>jh,mixgomini_display_image_create:()=>zh,mpython_display_hvline:()=>um,mpython_display_line:()=>rm,mpython_display_shape_rect:()=>am,mpython_pbm_image:()=>dm,nova_draw_pointer:()=>ym,onboard_oled_bright_point:()=>pm,onboard_oled_scroll_string_delay:()=>om,onboard_oled_show_frame_string_delay:()=>_m,onboard_oled_show_image:()=>em,onboard_oled_show_image_or_string_delay:()=>sm,onboard_oled_show_image_xy:()=>im,onboard_oled_show_string:()=>nm,onboard_tft_bright_point:()=>Dm,onboard_tft_bright_screen:()=>Km,onboard_tft_clear:()=>Jm,onboard_tft_clock_clear:()=>Xm,onboard_tft_clock_draw:()=>Ym,onboard_tft_clock_get_rtctime:()=>Pm,onboard_tft_clock_init:()=>Fm,onboard_tft_clock_set_time:()=>vm,onboard_tft_display_hvline:()=>Am,onboard_tft_display_line:()=>Lm,onboard_tft_display_shape_circle:()=>xm,onboard_tft_display_shape_rect:()=>Sm,onboard_tft_fill:()=>fm,onboard_tft_get_pixel:()=>Nm,onboard_tft_get_screen_pixel:()=>Wm,onboard_tft_scroll_string:()=>wm,onboard_tft_scroll_string_delay:()=>vh,onboard_tft_shift:()=>km,onboard_tft_show_frame_string:()=>Hm,onboard_tft_show_frame_string_delay:()=>Cm,onboard_tft_show_image:()=>Um,onboard_tft_show_image_or_string_delay:()=>gm,onboard_tft_show_image_xy:()=>Rm,onboard_tft_show_image_xy_direct:()=>cm,onboard_tft_show_qrcode:()=>Bm,onboard_tft_show_qrcode_details:()=>Gm,onboard_tft_show_texts:()=>Vm});var x={};t.r(x),t.d(x,{factory_block:()=>dE,factory_block_return:()=>lE,factory_block_return_with_textarea:()=>TE,factory_block_with_textarea:()=>IE,factory_callMethod_noreturn:()=>uE,factory_callMethod_return:()=>rE,factory_create_with_container:()=>oE,factory_create_with_item:()=>_E,factory_declare:()=>aE,factory_from_import:()=>iE,factory_function_noreturn:()=>sE,factory_function_return:()=>pE,factory_import:()=>nE,folding_block:()=>ME});var b={};t.r(b),t.d(b,{controls_pin_attachInterrupt:()=>yE,inout_analog_atten:()=>AE,inout_analog_read:()=>SE,inout_analog_read_init:()=>PE,inout_analog_write:()=>cE,inout_analog_write_init:()=>FE,inout_analog_write_set:()=>gE,inout_analog_write_set_freq:()=>XE,inout_digital_init:()=>DE,inout_digital_read:()=>OE,inout_digital_write:()=>EE,inout_highlow:()=>mE,inout_pinMode:()=>YE,inout_pin_attachInterrupt:()=>NE,inout_pin_pressed:()=>LE,inout_pin_pressed_init:()=>vE,inout_pwm_analog_write:()=>RE,inout_pwm_analog_write_init:()=>fE,inout_pwm_analog_write_set_freq:()=>CE,pin_pressed:()=>bE,pin_pressed_init:()=>xE});var y={};t.r(y),t.d(y,{IOT_CONNECT_OLLAMA:()=>cO,IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>aO,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>pO,IOT_EMQX_PING:()=>oO,IOT_FORMATTING:()=>nO,IOT_FORMAT_STRING:()=>sO,IOT_MIXIO_NTP:()=>_O,IOT_MIXIO_PUBLISH:()=>qE,IOT_MIXIO_PUBLISHEX:()=>zE,IOT_MIXIO_SUBSCRIBE:()=>jE,iot_checkonenet:()=>EO,iot_client_onboard:()=>rO,iot_connect_ollama:()=>RO,iot_connect_openai:()=>gO,iot_create_with_item:()=>JE,iot_http_client:()=>dO,iot_http_data:()=>lO,iot_mixio_check:()=>tO,iot_mixio_connect:()=>QE,iot_mixio_connect_only:()=>ZE,iot_mixio_disconnect:()=>$E,iot_mixio_format_msg:()=>iO,iot_mixio_format_topic:()=>eO,iot_mixly_key:()=>uO,iot_mqtt_client:()=>IO,iot_mqtt_data:()=>TO,iot_onenet_check:()=>wE,iot_onenet_connect:()=>GE,iot_onenet_disconnect:()=>UE,iot_onenet_publish:()=>kE,iot_onenet_publish_dict:()=>HE,iot_onenetconnect:()=>hO,iot_onenetdisconnect:()=>mO,iot_publish:()=>OO,iot_publish_container:()=>WE,iot_publish_item:()=>KE,iot_tiny_web_db_count:()=>FO,iot_tiny_web_db_delete:()=>vO,iot_tiny_web_db_get:()=>fO,iot_tiny_web_db_init:()=>LO,iot_tiny_web_db_init_with_mqtt:()=>NO,iot_tiny_web_db_search:()=>PO,iot_tiny_web_db_update:()=>DO,iot_wifi_connect:()=>BE,iot_wificonnect:()=>MO,ollama_empty_history:()=>AO,use_ollama_llm_to_chat:()=>CO,use_ollama_llm_to_chat_return:()=>SO});var V={};t.r(V),t.d(V,{educore_mqtt_connect:()=>lR,educore_mqtt_connect_success:()=>hR,educore_mqtt_subscribe_message:()=>IR,educore_mqtt_topic_publish:()=>MR,educore_mqtt_topic_subscribe:()=>TR,educore_wifi_connect:()=>dR,network_ap_connect:()=>HO,network_connect:()=>VO,network_get_connect:()=>GO,network_get_wifi:()=>wO,network_init:()=>XO,network_is_active:()=>bO,network_open:()=>xO,network_scan:()=>yO,network_server:()=>kO,network_socket_accept:()=>qO,network_socket_bind:()=>KO,network_socket_close:()=>eR,network_socket_connect:()=>JO,network_socket_init:()=>WO,network_socket_listen:()=>QO,network_socket_readline:()=>zO,network_socket_receive:()=>jO,network_socket_receive_from:()=>ZO,network_socket_send:()=>$O,network_socket_send_to:()=>tR,network_stop:()=>UO,network_wifi_connect:()=>BO,ntptime_address:()=>_R,ntptime_time:()=>oR,requests_attribute:()=>nR,requests_attribute2:()=>rR,requests_get:()=>iR,requests_get2:()=>aR,requests_method:()=>sR,requests_post:()=>uR});var B={};t.r(B),t.d(B,{pe_g1_battery_left:()=>OR,pe_g1_dc_motor:()=>RR,pe_g1_dc_motor_speed:()=>cR,pe_g1_servo_get_angle:()=>SR,pe_g1_servo_get_speed:()=>AR,pe_g1_servo_set_angle:()=>gR,pe_g1_servo_set_speed:()=>CR,pe_g1_use_i2c_init:()=>ER});var G={};t.r(G),t.d(G,{CI130X_BROADCAST:()=>zR,CI130X_GET_THE_RECOGNIZED_CMD:()=>qR,CI130X_GET_WHETHER_IDENTIFY:()=>QR,CI130X_IDENTIFY_AND_SAVE:()=>JR,CI130X_SET_SYSTEM_CMD:()=>jR,HCSR04:()=>Bc,PS2_Button:()=>Hc,PS2_Buttons:()=>Wc,PS2_Buttons_new:()=>qc,PS2_State:()=>kc,PS2_init:()=>Gc,PS2_init_new:()=>Jc,PS2_stk:()=>Kc,PS2_stk_new:()=>zc,PS2_vibration:()=>wc,PS2_vibration_new:()=>Qc,camera_sensor_init:()=>Lg,camera_sensor_result:()=>Ng,column_tube_foot:()=>vg,define_keyboards:()=>Yg,educore_body_sensor:()=>hg,educore_button_sensor_extern:()=>Rg,educore_camera_sensor:()=>Ag,educore_infrared_sensor:()=>Og,educore_soilhum_sensor:()=>mg,educore_temp_sensor:()=>Sg,educore_temphum_sensor:()=>Eg,educore_ultrasonic_sensor:()=>gg,esp32_s2_weather_init:()=>xc,esp32_s2_weather_rain:()=>yc,esp32_s2_weather_wd:()=>bc,esp32_s2_weather_ws:()=>Vc,extern_rfid_read:()=>cc,extern_rfid_readcontent:()=>Cc,extern_rfid_readid:()=>gc,extern_rfid_status:()=>Lc,extern_rfid_write:()=>Sc,extern_rfid_write_return:()=>Ac,get_keboards_value:()=>Xg,gnss_get_data:()=>tg,gnss_have_data:()=>Zc,init_init_rotary_encoder:()=>xg,init_matrix_keyboard:()=>Fg,interaction_whether_to_interaction:()=>WR,interaction_whether_to_interaction_SANT:()=>KR,line_tube_foot:()=>Pg,mixbot_sensor_extern_get_addr:()=>ag,mixbot_sensor_extern_set_addr:()=>ug,pm25_get_data:()=>$c,radar_set_DETECTION_THRESHOLD:()=>HR,radar_set_DETECTION_THRESHOLD_SANT:()=>kR,robot_button_extern_get_value:()=>ig,robot_color_extern_get_value:()=>pg,robot_infrared_extern_get_value:()=>sg,robot_infrared_extern_grey_get_value:()=>og,robot_potentiometer_extern_get_value:()=>_g,robot_sonar_extern_get_value:()=>rg,robot_sonar_extern_led:()=>dg,robot_touch_extern_get_value:()=>ng,rotary_key:()=>bg,sensor_APDS9960_extern:()=>ZR,sensor_DS18X20:()=>GR,sensor_LTR308_extern:()=>tc,sensor_LTR390UV_extern:()=>nc,sensor_MAX30102_extern:()=>$R,sensor_QMC5883L_extern:()=>dc,sensor_VL530LX_extern:()=>sc,sensor_adxl345_get_acceleration:()=>vR,sensor_aht11_extern:()=>_c,sensor_bmp:()=>VR,sensor_compass_reset:()=>Oc,sensor_dht11:()=>XR,sensor_hp203_extern:()=>pc,sensor_light_level:()=>YR,sensor_lm35:()=>UR,sensor_ltr381_extern:()=>ec,sensor_mixgo_extern_button_attachInterrupt:()=>FR,sensor_mixgo_extern_button_get_presses:()=>fR,sensor_mixgo_extern_button_is_pressed:()=>NR,sensor_mixgo_extern_button_was_pressed:()=>DR,sensor_mixgo_extern_light:()=>xR,sensor_mixgo_extern_pin_near:()=>yR,sensor_mixgo_extern_sound:()=>bR,sensor_mixgoce_hot_wheel_degrees:()=>Xc,sensor_mixgoce_hot_wheel_is_touched:()=>Yc,sensor_mpu9250_attachGestureInterrupt:()=>PR,sensor_mpu9250_calibrate_compass:()=>hc,sensor_mpu9250_field_strength:()=>Ec,sensor_mpu9250_gesture:()=>lc,sensor_mpu9250_get_acceleration:()=>Ic,sensor_mpu9250_get_gyro:()=>Mc,sensor_mpu9250_get_magnetic:()=>Tc,sensor_mpu9250_temperature:()=>mc,sensor_ms5611_extern:()=>uc,sensor_ms5611_extern_altitude:()=>rc,sensor_read_humiture:()=>cg,sensor_sht:()=>BR,sensor_shtc3_extern:()=>oc,sensor_spl06_001_extern:()=>ac,sensor_ucs12071_extern:()=>ic,sensor_use_i2c_init:()=>wR,sensor_use_spi_init:()=>Rc,sensor_use_uart_init:()=>jc,sensor_weather_solo_init:()=>lg,sensor_weather_solo_rain:()=>Mg,sensor_weather_solo_wd:()=>Ig,sensor_weather_solo_ws:()=>Tg,sensor_weigh_init:()=>Dg,tvoc_get_data:()=>eg,ultrasonic_sensor_read_distance:()=>Cg,weather_data:()=>Nc,weather_have_data:()=>Dc,weather_set_label:()=>Fc,weather_set_label_container:()=>Pc,weather_set_label_item:()=>vc,weather_uart_mixio:()=>fc,weigh_sensor_get_weight:()=>fg});var U={};t.r(U),t.d(U,{HCSR04:()=>Zg,RTC_set_date:()=>$g,RTC_set_time:()=>jg,bitbot_als_num:()=>aS,dht11:()=>MS,educore_button_sensor:()=>SS,educore_button_was_pressed:()=>AS,educore_gyroscope_sensor:()=>cS,educore_gyroscope_sensor_read:()=>gS,educore_gyroscope_sensor_shake:()=>CS,educore_light_sensor:()=>RS,educore_rfid_sensor:()=>LS,educore_rfid_sensor_scan:()=>NS,educore_rfid_sensor_scan_data:()=>DS,educore_voice_sensor:()=>ES,number1:()=>eC,number2:()=>iC,number3:()=>nC,number4:()=>sC,number5:()=>oC,number6:()=>_C,number7:()=>pC,onboard_RTC_get_time:()=>MC,onboard_RTC_get_time_str:()=>cC,onboard_RTC_get_timestamp:()=>hC,onboard_RTC_get_timetuple_to_str:()=>gC,onboard_RTC_set_datetime:()=>OC,onboard_RTC_settime_string:()=>EC,onboard_RTC_timestamp_totuple:()=>mC,rfid_readcontent:()=>fC,rfid_readid:()=>DC,rfid_status:()=>vC,rfid_write:()=>FC,rfid_write_return:()=>PC,sensor_LTR308:()=>CC,sensor_aht11:()=>AC,sensor_bitbot_ALS:()=>pS,sensor_button_get_presses:()=>dS,sensor_button_is_pressed:()=>uS,sensor_button_was_pressed:()=>rS,sensor_distance_hrsc04:()=>zg,sensor_eulerangles:()=>XC,sensor_field_strength:()=>hS,sensor_get_acceleration:()=>YC,sensor_get_temperature:()=>LC,sensor_get_the_coprocessor_version:()=>fS,sensor_hp203:()=>NC,sensor_light:()=>TS,sensor_mixbot_get_gyro:()=>_S,sensor_mixbot_patrol_calibrate:()=>nS,sensor_mixbot_patrol_value:()=>sS,sensor_mixbot_temperature:()=>oS,sensor_mixgo_LTR308:()=>IC,sensor_mixgo_button_attachInterrupt:()=>Ug,sensor_mixgo_button_get_presses:()=>Gg,sensor_mixgo_button_is_pressed:()=>Vg,sensor_mixgo_button_was_pressed:()=>Bg,sensor_mixgo_cc_mmc5603_calibrate_compass:()=>WC,sensor_mixgo_cc_mmc5603_get_angle:()=>kC,sensor_mixgo_cc_mmc5603_get_magnetic:()=>HC,sensor_mixgo_light:()=>tC,sensor_mixgo_nova_LTR308:()=>lC,sensor_mixgo_nova_pin_near:()=>dC,sensor_mixgo_pin_near:()=>rC,sensor_mixgo_pin_near_double:()=>uC,sensor_mixgo_pin_near_single:()=>aC,sensor_mixgo_pin_pressed:()=>Kg,sensor_mixgo_sant_color:()=>TC,sensor_mixgo_touch_slide:()=>qg,sensor_mixgocar42_button_attachInterrupt:()=>Wg,sensor_mixgocar42_button_get_presses:()=>kg,sensor_mixgocar42_button_is_pressed:()=>wg,sensor_mixgocar42_button_was_pressed:()=>Hg,sensor_mixgocar_battery_left:()=>iS,sensor_mixgocar_pin_near:()=>tS,sensor_mixgocar_pin_near_line:()=>ZC,sensor_mixgocar_pin_near_state_change:()=>eS,sensor_mixgoce_pin_pressed:()=>Jg,sensor_mixgoce_temperature:()=>JC,sensor_mixgome_temperature:()=>KC,sensor_mpython_pin_pressed:()=>Qg,sensor_mpython_qmi8658_get_gyro:()=>QC,sensor_mpython_qmi8658_temperature:()=>qC,sensor_onboard_compass_reset:()=>wC,sensor_onboard_mpu9250_calibrate_compass:()=>BC,sensor_onboard_mpu9250_field_strength:()=>UC,sensor_onboard_mpu9250_gesture:()=>xC,sensor_onboard_mpu9250_get_acceleration:()=>bC,sensor_onboard_mpu9250_get_gyro:()=>VC,sensor_onboard_mpu9250_get_magnetic:()=>yC,sensor_onboard_mpu9250_temperature:()=>GC,sensor_pin_near:()=>IS,sensor_pin_pressed:()=>lS,sensor_read:()=>OS,sensor_rm_acc:()=>$C,sensor_rm_battery_left:()=>jC,sensor_rm_pin_near_double:()=>zC,sensor_rtc_init:()=>RC,sensor_sound:()=>SC,sensor_temperature:()=>mS,simulated_light_sensor:()=>FS});var w={};t.r(w),t.d(w,{serial_any:()=>GS,serial_begin:()=>WS,serial_print:()=>xS,serial_print_byte:()=>XS,serial_print_hex:()=>yS,serial_println:()=>bS,serial_read_from_ai:()=>tA,serial_readline:()=>US,serial_readstr:()=>BS,serial_readstr_until:()=>wS,serial_receive_data_event:()=>VS,serial_send_to_ai:()=>ZS,serial_softserial:()=>kS,serial_softserial_new:()=>HS,system_input:()=>KS,system_print:()=>JS,system_print_container:()=>jS,system_print_end:()=>qS,system_print_inline:()=>QS,system_print_item:()=>$S,system_print_many:()=>zS});var H={};t.r(H),t.d(H,{Panic_with_status_code:()=>sA,Timer_init:()=>EA,base_delay:()=>cA,controls_delay:()=>nA,controls_delay_new:()=>iA,controls_millis:()=>_A,controls_uname:()=>aA,raw_block:()=>pA,reset:()=>oA,set_system_timer:()=>IA,system_bitbot_shutdown:()=>mA,system_machine_reset:()=>hA,system_ticks_diff:()=>dA,system_timer:()=>rA,system_timer_init:()=>lA,system_wdt_feed:()=>MA,system_wdt_init:()=>TA,time_ticks_diff:()=>RA,timer:()=>uA,timer2:()=>OA});var k={};t.r(k),t.d(k,{Air_daily_content:()=>xA,Air_now_content:()=>DA,Geo_moon_content:()=>yA,Geo_sun_content:()=>bA,Life_suggestion_content:()=>FA,Location_search_content:()=>vA,Tide_daily_content:()=>PA,WEATHER_DAILY:()=>SA,WEATHER_HOUR:()=>AA,WEATHER_NOW:()=>CA,Weather_alarm_content:()=>fA,Weather_daily:()=>YA,Weather_daily_content:()=>XA,Weather_now:()=>LA,Weather_now_content:()=>NA});var W={};t.r(W),t.d(W,{PIN_init:()=>BL,actuator_extern_get_led_bright:()=>oL,actuator_extern_get_led_state:()=>_L,actuator_extern_led_bright:()=>sL,actuator_extern_led_brightness:()=>pL,actuator_ms32006_dcmotor:()=>WA,actuator_ms32006_init:()=>kA,actuator_ms32006_stepper:()=>KA,actuator_neopixel_init:()=>aL,actuator_neopixel_rgb:()=>dL,actuator_neopixel_rgb_all:()=>uL,actuator_neopixel_rgb_show_all_chase:()=>lL,actuator_neopixel_rgb_show_all_rainbow:()=>IL,actuator_neopixel_write:()=>rL,actuator_use_uart_init:()=>TL,backstage_esp32_music_play_list:()=>eL,esp32_music_get_tempo_extern:()=>ZA,esp32_music_pitch:()=>QA,esp32_music_pitch_init:()=>JA,esp32_music_pitch_with_time:()=>qA,esp32_music_play_list:()=>tL,esp32_music_reset_extern:()=>iL,esp32_music_set_tempo_extern:()=>$A,esp32_music_stop:()=>zA,esp32_set_music_volume:()=>jA,mixbot_actuator_extern_get_addr:()=>yL,mixbot_actuator_extern_set_addr:()=>VL,mixbot_addr_extern:()=>SL,parrot_PIN_init:()=>HL,parrot_move_speed:()=>kL,pin_led_bright:()=>GL,player_play_music:()=>OL,player_set_mode:()=>EL,player_set_play:()=>hL,player_set_volume:()=>mL,player_whether_stop:()=>ML,robot_led_extern:()=>DL,robot_led_extern_get_value:()=>fL,robot_motor_extern:()=>AL,robot_motor_extern_get_speed:()=>LL,robot_servo_extern_absolute_run:()=>YL,robot_servo_extern_get_status:()=>FL,robot_servo_extern_relative_continue:()=>bL,robot_servo_extern_relative_origin:()=>XL,robot_servo_extern_relative_run:()=>xL,robot_servo_extern_stop:()=>vL,robot_servo_extern_stop_mode:()=>PL,robot_traffic_light_extern:()=>NL,servo_PIN_init:()=>UL,servo_get_angle:()=>wA,servo_get_speed:()=>HA,servo_init:()=>VA,servo_move:()=>nL,servo_move_angle:()=>wL,servo_set_angle:()=>GA,servo_set_speed:()=>UA,servo_speed_360:()=>BA,syn6288_builtin_voice:()=>gL,syn6288_get_voice:()=>cL,syn6288_set_voice:()=>RL,syn6288_tts_play:()=>CL});var K={};t.r(K),t.d(K,{actuator_dc_motor:()=>ON,actuator_dc_motor_stop:()=>RN,actuator_get_led_bright:()=>iN,actuator_get_led_state:()=>nN,actuator_led_bright:()=>eN,actuator_led_brightness:()=>sN,actuator_mixbot_buzzer_on_off:()=>AN,actuator_mixgo_nova_mic_get:()=>FN,actuator_mixgo_nova_mic_set:()=>fN,actuator_mixgo_nova_onboard_music_pitch:()=>bN,actuator_mixgo_nova_onboard_music_stop:()=>yN,actuator_mixgo_nova_play_audio:()=>XN,actuator_mixgo_nova_play_online_audio:()=>xN,actuator_mixgo_nova_record_audio:()=>YN,actuator_mixgo_nova_voice_get:()=>vN,actuator_mixgo_nova_voice_set:()=>PN,actuator_mixgo_zero_led_color:()=>oN,actuator_onboard_neopixel_rgb:()=>lN,actuator_onboard_neopixel_rgb_all:()=>IN,actuator_onboard_neopixel_rgb_show_all_chase:()=>TN,actuator_onboard_neopixel_rgb_show_all_rainbow:()=>MN,actuator_onboard_neopixel_write:()=>dN,actuator_stepper_keep:()=>mN,actuator_stepper_stop:()=>EN,analog_ble_keyboard_init:()=>QN,analog_ble_keyboard_input:()=>jN,analog_ble_keyboard_mouse_init:()=>oD,analog_ble_keyboard_mouse_input:()=>uD,analog_ble_keyboard_mouse_send_battery:()=>aD,analog_ble_keyboard_mouse_str:()=>rD,analog_ble_keyboard_send_battery:()=>ZN,analog_ble_keyboard_str:()=>$N,analog_ble_mouse_init:()=>tD,analog_ble_mouse_input:()=>nD,analog_ble_mouse_keyboard_input:()=>dD,analog_ble_mouse_send_battery:()=>sD,analog_keyboard_input:()=>UN,analog_keyboard_str:()=>KN,analog_mouse_input:()=>kN,backstage_onboard_music_play_list:()=>jL,bitbot_motor:()=>DN,bitbot_move:()=>LN,bitbot_stop:()=>NN,ble_keyboard_connect:()=>zN,ble_keyboard_get_mac:()=>qN,ble_keyboard_mouse_connect:()=>pD,ble_keyboard_mouse_get_mac:()=>_D,ble_mouse_connect:()=>iD,ble_mouse_get_mac:()=>eD,cc_number:()=>_N,educore_ble_keyboard_input:()=>cD,educore_ble_sensor_connected:()=>RD,educore_ble_sensor_init:()=>OD,educore_buzzer:()=>lD,educore_buzzer_play_tone:()=>ID,educore_buzzer_play_tone_time:()=>TD,educore_buzzer_stop:()=>MD,educore_neopixel_clear:()=>ED,educore_neopixel_rgb:()=>mD,educore_rgb_light:()=>hD,esp32_music_get_tempo:()=>KL,esp32_music_reset:()=>$L,esp32_music_set_tempo:()=>WL,esp32_onboard_music_pitch:()=>JL,esp32_onboard_music_pitch_with_time:()=>QL,esp32_onboard_music_play_list:()=>zL,esp32_onboard_music_stop:()=>qL,general_key:()=>HN,general_key_tuple:()=>JN,get_keyboard_light:()=>gD,get_power_output:()=>BN,ledswitch:()=>tN,mixbot_motor:()=>SN,mixbot_motor_status:()=>cN,mixbot_move:()=>gN,mixbot_stop:()=>CN,mouse_key:()=>WN,number:()=>ZL,record_audio:()=>SD,rm_actuator_get_led_bright:()=>aN,rm_actuator_get_led_state:()=>uN,rm_actuator_led_bright:()=>pN,rm_actuator_led_brightness:()=>rN,rm_motor:()=>hN,set_all_power_output:()=>GN,set_microphone_amplification:()=>CD,set_music_volume:()=>AD,set_power_output:()=>VN,special_key:()=>wN});var J={};t.r(J),t.d(J,{ai_sensor_20object:()=>of,ai_sensor_ailocal_class:()=>JD,ai_sensor_ailocal_class_result:()=>QD,ai_sensor_ailocal_train:()=>KD,ai_sensor_asr_recognize:()=>ZD,ai_sensor_audio_play:()=>zD,ai_sensor_audio_record:()=>qD,ai_sensor_barcode:()=>vD,ai_sensor_circle:()=>VD,ai_sensor_classifier_faces:()=>sf,ai_sensor_color:()=>wD,ai_sensor_color_chases:()=>WD,ai_sensor_color_chases_result:()=>kD,ai_sensor_config:()=>DD,ai_sensor_face:()=>nf,ai_sensor_find_20objects:()=>_f,ai_sensor_find_barcodes:()=>YD,ai_sensor_find_circles:()=>BD,ai_sensor_find_colors:()=>HD,ai_sensor_find_licenseplates:()=>ef,ai_sensor_find_lines:()=>yD,ai_sensor_find_qrcodes:()=>PD,ai_sensor_find_rects:()=>UD,ai_sensor_find_tags:()=>xD,ai_sensor_licenseplate:()=>tf,ai_sensor_line:()=>bD,ai_sensor_qrcode:()=>FD,ai_sensor_qrcode_lite:()=>ND,ai_sensor_rect:()=>GD,ai_sensor_rgb:()=>fD,ai_sensor_tag:()=>XD,ai_sensor_use_uart_init:()=>LD,ai_sensor_yolo_recognize:()=>jD,ai_sensor_yolo_recognize_result:()=>$D});var Q={};t.r(Q),t.d(Q,{MICROPYTHON_AI_Speech_asr:()=>uf,MICROPYTHON_AI_Speech_unit:()=>af,MICROPYTHON_AI_client:()=>pf});var q={};t.r(q),t.d(q,{mpython_blynk_app_data:()=>cf,mpython_blynk_app_notify:()=>hf,mpython_blynk_email:()=>gf,mpython_blynk_get_timers:()=>Ef,mpython_blynk_on_connected:()=>If,mpython_blynk_on_disconnected:()=>lf,mpython_blynk_run:()=>Mf,mpython_blynk_sensor_data_to_app:()=>Rf,mpython_blynk_set_property:()=>Cf,mpython_blynk_setup:()=>Sf,mpython_blynk_stop_timers:()=>mf,mpython_blynk_sync_virtual:()=>df,mpython_blynk_terminal_widget_vpin:()=>rf,mpython_blynktimer:()=>Of,mpython_blynktimer_run:()=>Tf});var z={};t.r(z),t.d(z,{communicate_bluetooth_central_init:()=>oF,communicate_bluetooth_connect:()=>aF,communicate_bluetooth_disconnect:()=>uF,communicate_bluetooth_handle:()=>MF,communicate_bluetooth_is_connected:()=>dF,communicate_bluetooth_mac:()=>rF,communicate_bluetooth_peripheral_init:()=>_F,communicate_bluetooth_recv:()=>TF,communicate_bluetooth_recv_only:()=>IF,communicate_bluetooth_scan:()=>pF,communicate_bluetooth_send:()=>lF,communicate_espnow_init:()=>hF,communicate_espnow_init_new:()=>mF,communicate_i2c_available:()=>vf,communicate_i2c_init:()=>Nf,communicate_i2c_master_read:()=>Pf,communicate_i2c_onboard:()=>Af,communicate_i2c_read:()=>Df,communicate_i2c_scan:()=>Ff,communicate_i2c_write:()=>ff,communicate_ir_recv_init:()=>qf,communicate_ir_send_init:()=>tF,communicate_ow_init:()=>Hf,communicate_ow_read:()=>Kf,communicate_ow_reset:()=>Wf,communicate_ow_scan:()=>kf,communicate_ow_select:()=>Qf,communicate_ow_write:()=>Jf,communicate_spi_buffer:()=>bf,communicate_spi_init:()=>Xf,communicate_spi_onboard:()=>Lf,communicate_spi_read:()=>yf,communicate_spi_read_output:()=>Vf,communicate_spi_readinto:()=>Bf,communicate_spi_readinto_output:()=>Gf,communicate_spi_set:()=>xf,communicate_spi_write:()=>Uf,communicate_spi_write_readinto:()=>wf,espnow_radio_channel:()=>CF,espnow_radio_channel_new:()=>AF,espnow_radio_on_off:()=>LF,espnow_radio_rec:()=>DF,espnow_radio_recv:()=>FF,espnow_radio_recv_certain_msg:()=>PF,espnow_radio_recv_certain_msg_new:()=>YF,espnow_radio_recv_msg:()=>fF,espnow_radio_recv_new:()=>vF,espnow_radio_send:()=>NF,espnow_radio_txpower:()=>SF,i2c_slave_onreceive:()=>Yf,internal_variable:()=>zf,ir_recv_timeout:()=>Zf,ir_transmit_busy:()=>sF,ir_transmit_conventional_data:()=>eF,ir_transmit_raw_code:()=>nF,ir_transmit_study_code:()=>iF,ir_whether_recv:()=>$f,lora_init:()=>XF,lora_packet:()=>xF,lora_recv:()=>yF,lora_send:()=>bF,network_espnow_info:()=>OF,network_espnow_mac:()=>EF,network_espnow_recv:()=>RF,network_espnow_recv_handle:()=>gF,network_espnow_send:()=>cF,recv_fun:()=>jf,urequests_attribute:()=>BF,urequests_get:()=>VF,urequests_method:()=>GF});var j={};t.r(j),t.d(j,{display_animate:()=>dP,display_circle:()=>lP,display_color_seclet:()=>CP,display_draw_4strings:()=>sP,display_fill:()=>rP,display_lcd_use_i2c_init:()=>fP,display_line:()=>pP,display_line_arbitrarily:()=>oP,display_matrix_extern_bright_point:()=>jF,display_matrix_extern_bright_screen:()=>ZF,display_matrix_extern_clear:()=>QF,display_matrix_extern_get_pixel:()=>zF,display_matrix_extern_get_screen_pixel:()=>$F,display_matrix_extern_image_builtins:()=>tP,display_matrix_extern_scroll_string:()=>KF,display_matrix_extern_scroll_string_delay:()=>JF,display_matrix_extern_shift:()=>qF,display_matrix_extern_show_frame_string:()=>kF,display_matrix_extern_show_frame_string_delay:()=>WF,display_matrix_extern_show_image:()=>wF,display_matrix_extern_show_image_or_string_delay:()=>HF,display_matrix_use_i2c_init:()=>UF,display_oled_drawPixel:()=>MP,display_oled_showBitmap:()=>TP,display_oled_use_i2c_init:()=>XP,display_onoff:()=>aP,display_rect:()=>_P,display_tm1650_power:()=>mP,display_tm1650_set_brightness:()=>RP,display_tm1650_show_dot:()=>OP,display_tm1650_show_num:()=>EP,display_tm_use_i2c_init:()=>hP,display_triangle:()=>IP,display_use_i2c_init:()=>nP,extern_oled_bright_point:()=>KP,extern_oled_clear:()=>HP,extern_oled_get_pixel:()=>WP,extern_oled_hvline:()=>QP,extern_oled_line:()=>qP,extern_oled_scroll_string:()=>UP,extern_oled_scroll_string_delay:()=>wP,extern_oled_shape_rect:()=>JP,extern_oled_shift:()=>kP,extern_oled_show_frame_string:()=>BP,extern_oled_show_frame_string_delay:()=>GP,extern_oled_show_image:()=>xP,extern_oled_show_image_or_string_delay:()=>VP,extern_oled_show_image_xy:()=>bP,extern_oled_show_string:()=>yP,image_shift:()=>uP,lcd_backlight:()=>vP,lcd_clear:()=>YP,lcd_print_string:()=>PP,lcd_show_image_or_string_delay:()=>FP,matrix_extern_image_arithmetic:()=>eP,matrix_extern_image_invert:()=>iP,tft_fill:()=>NP,tft_line_arbitrarily:()=>DP,tft_scroll_string_delay:()=>LP,tft_show_frame_string_delay:()=>AP,tft_show_image_or_string_delay:()=>SP,tft_show_image_xy:()=>gP,tft_use_spi_init:()=>cP});var $={};t.r($),t.d($,{bitbot_display_bitmap_create:()=>wv,bitbot_display_image_create:()=>Uv,display_available:()=>uv,display_bitmap_create:()=>pv,display_bright_point:()=>Tv,display_bright_screen:()=>hv,display_clear:()=>av,display_get_pixel:()=>Iv,display_get_screen_pixel:()=>Mv,display_image_builtins:()=>sv,display_image_builtins_all:()=>ov,display_image_create:()=>_v,display_scroll_string:()=>tv,display_scroll_string_delay:()=>ev,display_scroll_way:()=>iv,display_shift:()=>lv,display_show_frame_string:()=>$P,display_show_frame_string_delay:()=>ZP,display_show_image:()=>zP,display_show_image_or_string_delay:()=>jP,draw_pointer:()=>oY,image_arithmetic:()=>rv,image_invert:()=>dv,mixbot_display_bitmap_create:()=>bv,mixbot_display_bright_screen:()=>Bv,mixbot_display_get_ambientbright:()=>Vv,mixbot_display_get_screen_pixel:()=>yv,mixbot_display_image_create:()=>xv,mixbot_display_rotate:()=>Gv,mixgo_display_bitmap_create:()=>Cv,mixgo_display_image_create_new:()=>gv,mixgome_display_bitmap_create:()=>Ev,mixgome_display_font:()=>cv,mixgome_display_image_create:()=>mv,mixgomini_display_bitmap_create:()=>Rv,mixgomini_display_image_create:()=>Ov,mpython_display_hvline:()=>Yv,mpython_display_line:()=>Xv,mpython_display_shape_rect:()=>vv,mpython_pbm_image:()=>Sv,nova_draw_pointer:()=>_Y,onboard_oled_bright_point:()=>Pv,onboard_oled_scroll_string_delay:()=>Fv,onboard_oled_show_frame_string_delay:()=>fv,onboard_oled_show_image:()=>Av,onboard_oled_show_image_or_string_delay:()=>Dv,onboard_oled_show_image_xy:()=>Lv,onboard_oled_show_string:()=>Nv,onboard_tft_bright_point:()=>jv,onboard_tft_bright_screen:()=>TY,onboard_tft_clear:()=>MY,onboard_tft_clock_clear:()=>nY,onboard_tft_clock_draw:()=>iY,onboard_tft_clock_get_rtctime:()=>tY,onboard_tft_clock_init:()=>Zv,onboard_tft_clock_set_time:()=>eY,onboard_tft_display_hvline:()=>Qv,onboard_tft_display_line:()=>qv,onboard_tft_display_shape_circle:()=>sY,onboard_tft_display_shape_rect:()=>Jv,onboard_tft_fill:()=>$v,onboard_tft_get_pixel:()=>zv,onboard_tft_get_screen_pixel:()=>IY,onboard_tft_scroll_string_delay:()=>nv,onboard_tft_shift:()=>lY,onboard_tft_show_frame_string:()=>dY,onboard_tft_show_frame_string_delay:()=>Kv,onboard_tft_show_image:()=>rY,onboard_tft_show_image_or_string_delay:()=>Wv,onboard_tft_show_image_xy:()=>Hv,onboard_tft_show_image_xy_direct:()=>kv,onboard_tft_show_qrcode:()=>aY,onboard_tft_show_qrcode_details:()=>uY,onboard_tft_show_texts:()=>pY});var Z={};t.r(Z),t.d(Z,{factory_block:()=>CY,factory_block_return:()=>SY,factory_block_return_with_textarea:()=>LY,factory_block_with_textarea:()=>AY,factory_callMethod_noreturn:()=>cY,factory_callMethod_return:()=>gY,factory_declare:()=>RY,factory_from_import:()=>hY,factory_function_noreturn:()=>EY,factory_function_return:()=>OY,factory_import:()=>mY,folding_block:()=>NY});var tt={};t.r(tt),t.d(tt,{inout_analog_atten:()=>wY,inout_analog_read:()=>xY,inout_analog_read_init:()=>UY,inout_analog_write:()=>vY,inout_analog_write_init:()=>GY,inout_analog_write_set:()=>YY,inout_digital_init:()=>VY,inout_digital_read:()=>FY,inout_digital_write:()=>fY,inout_highlow:()=>DY,inout_pin_attachInterrupt:()=>yY,inout_pin_pressed:()=>bY,inout_pin_pressed_init:()=>HY,inout_pwm_analog_write:()=>PY,inout_pwm_analog_write_init:()=>BY,inout_pwm_analog_write_set_freq:()=>XY});var et={};t.r(et),t.d(et,{IOT_CONNECT_OLLAMA:()=>EX,IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>uX,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>pX,IOT_EMQX_PING:()=>rX,IOT_FORMATTING:()=>oX,IOT_FORMAT_STRING:()=>_X,IOT_MIXIO_NTP:()=>dX,IOT_MIXIO_PUBLISH:()=>jY,IOT_MIXIO_PUBLISHEX:()=>$Y,IOT_MIXIO_SUBSCRIBE:()=>ZY,iot_client_onboard:()=>lX,iot_connect_ollama:()=>mX,iot_connect_openai:()=>OX,iot_http_client:()=>IX,iot_http_data:()=>TX,iot_mixio_check:()=>iX,iot_mixio_connect:()=>zY,iot_mixio_connect_only:()=>eX,iot_mixio_disconnect:()=>tX,iot_mixio_format_msg:()=>sX,iot_mixio_format_topic:()=>nX,iot_mixly_key:()=>aX,iot_mqtt_client:()=>MX,iot_mqtt_data:()=>hX,iot_onenet_check:()=>QY,iot_onenet_connect:()=>WY,iot_onenet_disconnect:()=>KY,iot_onenet_publish:()=>qY,iot_onenet_publish_dict:()=>JY,iot_tiny_web_db_count:()=>NX,iot_tiny_web_db_delete:()=>fX,iot_tiny_web_db_get:()=>LX,iot_tiny_web_db_init:()=>CX,iot_tiny_web_db_init_with_mqtt:()=>SX,iot_tiny_web_db_search:()=>DX,iot_tiny_web_db_update:()=>AX,iot_wifi_connect:()=>kY,ollama_empty_history:()=>gX,use_ollama_llm_to_chat:()=>RX,use_ollama_llm_to_chat_return:()=>cX});var it={};t.r(it),t.d(it,{educore_mqtt_connect:()=>px,educore_mqtt_connect_success:()=>dx,educore_mqtt_subscribe_message:()=>ax,educore_mqtt_topic_publish:()=>rx,educore_mqtt_topic_subscribe:()=>ux,educore_wifi_connect:()=>_x,network_ap_connect:()=>VX,network_connect:()=>PX,network_get_connect:()=>YX,network_get_wifi:()=>yX,network_init:()=>FX,network_is_active:()=>bX,network_open:()=>xX,network_scan:()=>BX,network_server:()=>GX,network_socket_accept:()=>WX,network_socket_bind:()=>wX,network_socket_close:()=>jX,network_socket_connect:()=>HX,network_socket_init:()=>UX,network_socket_listen:()=>kX,network_socket_readline:()=>KX,network_socket_receive:()=>JX,network_socket_receive_from:()=>qX,network_socket_send:()=>QX,network_socket_send_to:()=>zX,network_stop:()=>XX,network_wifi_connect:()=>vX,ntptime_address:()=>ix,ntptime_time:()=>ex,requests_attribute:()=>ZX,requests_attribute2:()=>sx,requests_get:()=>$X,requests_get2:()=>nx,requests_method:()=>tx,requests_post:()=>ox});var nt={};t.r(nt),t.d(nt,{pe_g1_battery_left:()=>Ix,pe_g1_dc_motor:()=>Tx,pe_g1_dc_motor_speed:()=>Mx,pe_g1_servo_get_angle:()=>Ex,pe_g1_servo_get_speed:()=>Ox,pe_g1_servo_set_angle:()=>hx,pe_g1_servo_set_speed:()=>mx,pe_g1_use_i2c_init:()=>lx});var st={};t.r(st),t.d(st,{CI130X_BROADCAST:()=>wx,CI130X_GET_THE_RECOGNIZED_CMD:()=>Ux,CI130X_GET_WHETHER_IDENTIFY:()=>Gx,CI130X_IDENTIFY_AND_SAVE:()=>Bx,CI130X_SET_SYSTEM_CMD:()=>Hx,HCSR04:()=>cb,PS2_Button:()=>Sb,PS2_Buttons:()=>Ab,PS2_Buttons_new:()=>Yb,PS2_State:()=>Lb,PS2_init:()=>gb,PS2_init_new:()=>Pb,PS2_stk:()=>Nb,PS2_stk_new:()=>Xb,PS2_vibration:()=>Cb,PS2_vibration_new:()=>vb,RTC_get_time:()=>fb,RTC_set_date:()=>Nx,RTC_set_datetime:()=>Db,RTC_set_time:()=>Lx,camera_sensor_init:()=>dy,camera_sensor_result:()=>ly,column_tube_foot:()=>hy,define_keyboards:()=>my,educore_body_sensor:()=>ey,educore_button_sensor_extern:()=>oy,educore_camera_sensor:()=>ry,educore_infrared_sensor:()=>sy,educore_soilhum_sensor:()=>iy,educore_temp_sensor:()=>uy,educore_temphum_sensor:()=>ny,educore_ultrasonic_sensor:()=>py,esp32_s2_weather_init:()=>mb,esp32_s2_weather_rain:()=>Ob,esp32_s2_weather_wd:()=>Eb,esp32_s2_weather_ws:()=>Rb,extern_rfid_read:()=>ob,extern_rfid_readcontent:()=>pb,extern_rfid_readid:()=>_b,extern_rfid_status:()=>rb,extern_rfid_write:()=>ab,extern_rfid_write_return:()=>ub,get_keboards_value:()=>Oy,gnss_get_data:()=>yb,gnss_have_data:()=>Vb,init_init_rotary_encoder:()=>Ry,init_matrix_keyboard:()=>Ey,interaction_whether_to_interaction:()=>yx,interaction_whether_to_interaction_SANT:()=>Vx,line_tube_foot:()=>My,mixbot_sensor_extern_get_addr:()=>Qb,mixbot_sensor_extern_set_addr:()=>qb,pm25_get_data:()=>bb,radar_set_DETECTION_THRESHOLD:()=>xx,radar_set_DETECTION_THRESHOLD_SANT:()=>bx,robot_button_extern_get_value:()=>Gb,robot_color_extern_get_value:()=>Wb,robot_infrared_extern_get_value:()=>wb,robot_infrared_extern_grey_get_value:()=>Hb,robot_potentiometer_extern_get_value:()=>kb,robot_sonar_extern_get_value:()=>Kb,robot_sonar_extern_led:()=>Jb,robot_touch_extern_get_value:()=>Ub,rotary_key:()=>cy,sensor_APDS9960_extern:()=>Wx,sensor_DS18X20:()=>ty,sensor_LTR308_extern:()=>Kx,sensor_LTR390UV_extern:()=>Zx,sensor_MAX30102_extern:()=>kx,sensor_QMC5883L_extern:()=>tb,sensor_VL530LX_extern:()=>nb,sensor_aht11_extern:()=>ib,sensor_bmp:()=>vx,sensor_dht11:()=>Fb,sensor_distance_hrsc04:()=>Ax,sensor_hp203_extern:()=>Jx,sensor_ltr381_extern:()=>jx,sensor_mixgo_extern_button_attachInterrupt:()=>Cx,sensor_mixgo_extern_button_get_presses:()=>gx,sensor_mixgo_extern_button_is_pressed:()=>Rx,sensor_mixgo_extern_button_was_pressed:()=>cx,sensor_mixgo_extern_light:()=>Dx,sensor_mixgo_extern_pin_near:()=>Fx,sensor_mixgo_extern_sound:()=>fx,sensor_mixgoce_hot_wheel_degrees:()=>hb,sensor_mixgoce_hot_wheel_is_touched:()=>Mb,sensor_mpu9250_attachGestureInterrupt:()=>Sx,sensor_ms5611_extern:()=>qx,sensor_ms5611_extern_altitude:()=>zx,sensor_read_humiture:()=>_y,sensor_rtc_init:()=>Px,sensor_sht:()=>Yx,sensor_shtc3_extern:()=>eb,sensor_spl06_001_extern:()=>Qx,sensor_ucs12071_extern:()=>$x,sensor_use_i2c_init:()=>Xx,sensor_use_spi_init:()=>sb,sensor_use_uart_init:()=>xb,sensor_weather_solo_init:()=>zb,sensor_weather_solo_rain:()=>Zb,sensor_weather_solo_wd:()=>jb,sensor_weather_solo_ws:()=>$b,sensor_weigh_init:()=>Iy,tvoc_get_data:()=>Bb,ultrasonic_sensor_read_distance:()=>ay,weather_data:()=>db,weather_have_data:()=>lb,weather_set_label:()=>Tb,weather_uart_mixio:()=>Ib,weigh_sensor_get_weight:()=>Ty});var ot={};t.r(ot),t.d(ot,{HCSR04:()=>Fy,bitbot_als_num:()=>$V,dht11:()=>_B,educore_button_sensor:()=>IB,educore_button_was_pressed:()=>TB,educore_gyroscope_sensor:()=>rB,educore_gyroscope_sensor_read:()=>dB,educore_gyroscope_sensor_shake:()=>lB,educore_light_sensor:()=>uB,educore_rfid_sensor:()=>MB,educore_rfid_sensor_scan:()=>hB,educore_rfid_sensor_scan_data:()=>mB,educore_voice_sensor:()=>pB,number1:()=>Py,number2:()=>vy,number3:()=>Yy,number4:()=>Xy,number5:()=>xy,number6:()=>by,number7:()=>yy,onboard_RTC_get_time:()=>DV,onboard_RTC_get_time_str:()=>PV,onboard_RTC_get_timestamp:()=>fV,onboard_RTC_get_timetuple_to_str:()=>vV,onboard_RTC_set_datetime:()=>LV,onboard_RTC_settime_string:()=>NV,onboard_RTC_timestamp_totuple:()=>FV,rfid_readcontent:()=>Zy,rfid_readid:()=>$y,rfid_status:()=>iV,rfid_write:()=>tV,rfid_write_return:()=>eV,sensor_LTR308:()=>Jy,sensor_adxl345_get_acceleration:()=>dV,sensor_aht11:()=>zy,sensor_bitbot_ALS:()=>jV,sensor_button_get_presses:()=>eB,sensor_button_is_pressed:()=>ZV,sensor_button_was_pressed:()=>tB,sensor_compass_reset:()=>mV,sensor_ds18x20:()=>Wy,sensor_eulerangles:()=>sV,sensor_get_acceleration:()=>nV,sensor_get_temperature:()=>jy,sensor_get_the_coprocessor_version:()=>EB,sensor_hp203:()=>qy,sensor_light:()=>oB,sensor_lm35:()=>Ky,sensor_mixbot_get_gyro:()=>zV,sensor_mixbot_patrol_calibrate:()=>JV,sensor_mixbot_patrol_value:()=>QV,sensor_mixbot_temperature:()=>qV,sensor_mixgo_LTR308:()=>wy,sensor_mixgo_button_attachInterrupt:()=>Ay,sensor_mixgo_button_get_presses:()=>Sy,sensor_mixgo_button_is_pressed:()=>gy,sensor_mixgo_button_was_pressed:()=>Cy,sensor_mixgo_cc_mmc5603_calibrate_compass:()=>xV,sensor_mixgo_cc_mmc5603_get_angle:()=>XV,sensor_mixgo_cc_mmc5603_get_magnetic:()=>YV,sensor_mixgo_light:()=>sB,sensor_mixgo_nova_LTR308:()=>ky,sensor_mixgo_nova_pin_near:()=>Uy,sensor_mixgo_pin_near:()=>Gy,sensor_mixgo_pin_near_double:()=>By,sensor_mixgo_pin_near_single:()=>Vy,sensor_mixgo_pin_pressed:()=>uV,sensor_mixgo_sant_color:()=>Hy,sensor_mixgo_touch_slide:()=>aV,sensor_mixgocar42_button_attachInterrupt:()=>fy,sensor_mixgocar42_button_get_presses:()=>Dy,sensor_mixgocar42_button_is_pressed:()=>Ly,sensor_mixgocar42_button_was_pressed:()=>Ny,sensor_mixgocar_battery_left:()=>KV,sensor_mixgocar_pin_near:()=>kV,sensor_mixgocar_pin_near_line:()=>HV,sensor_mixgocar_pin_near_state_change:()=>WV,sensor_mixgoce_pin_pressed:()=>pV,sensor_mixgoce_temperature:()=>yV,sensor_mixgome_temperature:()=>bV,sensor_mpu9250_calibrate_compass:()=>TV,sensor_mpu9250_field_strength:()=>hV,sensor_mpu9250_gesture:()=>oV,sensor_mpu9250_get_acceleration:()=>_V,sensor_mpu9250_get_gyro:()=>IV,sensor_mpu9250_get_magnetic:()=>lV,sensor_mpu9250_temperature:()=>MV,sensor_mpython_pin_pressed:()=>rV,sensor_mpython_qmi8658_get_gyro:()=>VV,sensor_mpython_qmi8658_temperature:()=>BV,sensor_onboard_compass_reset:()=>AV,sensor_onboard_mpu9250_calibrate_compass:()=>gV,sensor_onboard_mpu9250_field_strength:()=>SV,sensor_onboard_mpu9250_gesture:()=>EV,sensor_onboard_mpu9250_get_acceleration:()=>OV,sensor_onboard_mpu9250_get_gyro:()=>cV,sensor_onboard_mpu9250_get_magnetic:()=>RV,sensor_onboard_mpu9250_temperature:()=>CV,sensor_pin_near:()=>nB,sensor_pin_pressed:()=>iB,sensor_read:()=>aB,sensor_rm_acc:()=>wV,sensor_rm_battery_left:()=>UV,sensor_rm_pin_near_double:()=>GV,sensor_sound:()=>Qy,simulated_light_sensor:()=>OB});var _t={};t.r(_t),t.d(_t,{serial_any:()=>SB,serial_print:()=>RB,serial_print_byte:()=>cB,serial_print_hex:()=>CB,serial_println:()=>gB,serial_read_from_ai:()=>xB,serial_readline:()=>LB,serial_readstr:()=>AB,serial_send_to_ai:()=>XB,serial_softserial:()=>NB,serial_softserial_new:()=>DB,system_input:()=>fB,system_print:()=>FB,system_print_end:()=>vB,system_print_inline:()=>PB,system_print_many:()=>YB});var pt={};t.r(pt),t.d(pt,{Panic_with_status_code:()=>JB,Timer_init:()=>uG,base_delay:()=>lG,controls_delay:()=>$B,controls_delay_new:()=>ZB,controls_end_program:()=>qB,controls_millis:()=>QB,controls_uname:()=>jB,reset:()=>zB,set_system_timer:()=>eG,system_bitbot_shutdown:()=>aG,system_device_name:()=>WB,system_device_serial_number:()=>KB,system_event_bus_source:()=>HB,system_event_bus_value:()=>kB,system_machine_reset:()=>pG,system_on_event:()=>GB,system_raise_event:()=>BB,system_reset:()=>yB,system_run_in_background:()=>bB,system_ticks_diff:()=>iG,system_timer:()=>sG,system_timer_init:()=>nG,system_timestamp:()=>UB,system_value:()=>wB,system_wait:()=>VB,system_wdt_feed:()=>_G,system_wdt_init:()=>oG,time_ticks_diff:()=>dG,timer:()=>tG,timer2:()=>rG});var at={};t.r(at),t.d(at,{Air_daily_content:()=>AG,Air_now_content:()=>EG,Geo_moon_content:()=>NG,Geo_sun_content:()=>LG,Life_suggestion_content:()=>RG,Location_search_content:()=>gG,Tide_daily_content:()=>cG,WEATHER_DAILY:()=>TG,WEATHER_HOUR:()=>MG,WEATHER_NOW:()=>IG,Weather_alarm_content:()=>OG,Weather_daily:()=>CG,Weather_daily_content:()=>SG,Weather_now:()=>hG,Weather_now_content:()=>mG});var ut={};t.r(ut),t.d(ut,{MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED:()=>FG});var rt={};t.r(rt),t.d(rt,{MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED:()=>vG});var dt={};t.r(dt),t.d(dt,{MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED:()=>XG});var lt={};t.r(lt),t.d(lt,{analog_input:()=>JG,analog_output:()=>qG,espnow_channel:()=>kG,haskylens_model:()=>WG,i2c_A_pin:()=>zG,i2c_B_pin:()=>jG,pins_analog:()=>iU,pins_analog_pin:()=>nU,pins_axis:()=>OU,pins_brightness:()=>RU,pins_builtinimg:()=>lU,pins_builtinimg_extern:()=>IU,pins_button:()=>_U,pins_dac:()=>sU,pins_dac_pin:()=>oU,pins_digital:()=>BG,pins_digital_dot:()=>DU,pins_digital_pin:()=>GG,pins_exlcdh:()=>mU,pins_exlcdv:()=>EU,pins_imglist:()=>TU,pins_input_pin:()=>UG,pins_mpython_touch:()=>HG,pins_one_more:()=>NU,pins_output_pin:()=>wG,pins_playlist:()=>MU,pins_playlist_extern:()=>hU,pins_pwm:()=>pU,pins_pwm_pin:()=>aU,pins_radio_datarate:()=>LU,pins_radio_power:()=>AU,pins_serial:()=>dU,pins_tone_notes:()=>SU,pins_touch:()=>rU,pins_touch_pin:()=>uU,pins_tts_bgmusic:()=>CU,pins_tts_builtin_music:()=>gU,pins_tts_voice:()=>cU,pwm_input:()=>KG,pwm_output:()=>QG,spi_A_pin:()=>$G,spi_B_pin:()=>ZG,spi_C_pin:()=>tU,spi_D_pin:()=>eU,timer_id_pin:()=>fU});var It={};t.r(It),t.d(It,{espnow_channel:()=>BU,haskylens_model:()=>GU,pins_analog:()=>bU,pins_analog_pin:()=>xU,pins_axis:()=>ZU,pins_brightness:()=>iw,pins_builtinimg:()=>QU,pins_builtinimg_extern:()=>qU,pins_button:()=>PU,pins_dac:()=>HU,pins_dac_pin:()=>wU,pins_digital:()=>FU,pins_digital_dot:()=>rw,pins_digital_pin:()=>vU,pins_exlcdh:()=>tw,pins_exlcdv:()=>ew,pins_imglist:()=>zU,pins_input_pin:()=>YU,pins_interrupt:()=>KU,pins_mpython_touch:()=>UU,pins_one_more:()=>uw,pins_output_pin:()=>XU,pins_playlist:()=>jU,pins_playlist_extern:()=>$U,pins_pwm:()=>VU,pins_pwm_pin:()=>yU,pins_radio_datarate:()=>aw,pins_radio_power:()=>pw,pins_serial:()=>JU,pins_tone_notes:()=>_w,pins_touch:()=>WU,pins_touch_pin:()=>kU,pins_tts_bgmusic:()=>ow,pins_tts_builtin_music:()=>sw,pins_tts_voice:()=>nw,timer_id_pin:()=>dw});const Tt=Blockly,Mt=Mixly,ht={NAME_TYPE:"VARIABLE",allVariables:function(t){var e;if(t.getDescendants)e=t.getDescendants();else{if(!t.getAllBlocks)throw"Not Block or Workspace: "+t;e=t.getAllBlocks()}for(var i=Object.create(null),n=0;n1&&(_+=n)):i=_}else i="i";return i}},mt=ht; -/** - * @license - * Visual Blocks Editor - * - * Copyright 2012 Google Inc. - * https://developers.google.com/blockly/ - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -class Et{constructor(t,e){if(this.variablePrefix_=e||"",this.reservedDict_=Object.create(null),t)for(var i=t.split(","),n=0;n0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(Tt.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+s).appendField(Tt.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(Tt.Msg.CONTROLS_IF_MSG_ELSE);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_if_if");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_if_elseif");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var o=t.newBlock("controls_if_else");o.initSvg(),i.connect(o.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],o=null;i;){switch(i.type){case"controls_if_elseif":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_if_else":this.elseCount_++,o=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,o)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_if_elseif":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_if_else":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),o=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(o.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(Tt.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+t).appendField(Tt.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(Tt.Msg.CONTROLS_IF_MSG_ELSE)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},yt={init:function(){this.setColour(Pt),this.appendValueInput("FROM").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.PYTHON_RANGE).appendField(Tt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.PYTHON_RANGE_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Tt.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},Vt={init:function(){this.setColour(Pt),this.appendValueInput("LIST").setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.CONTROLS_FOREACH_INPUT),this.appendValueInput("VAR").appendField(Tt.Msg.CONTROLS_FOREACH_INPUT_ITEM),this.appendStatementInput("DO").appendField(Tt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip((function(){return Tt.Msg.CONTROLS_FOR_TOOLTIP.replace("“%1”","")}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Tt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Bt={init:function(){this.setColour(Pt),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(Tt.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(new Tt.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(Tt.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT+Tt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return{WHILE:Tt.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:Tt.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[e]}))}},Gt={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Tt.Msg.MIXLY_PYTHON_TRY),this.appendStatementInput("try"),this.appendValueInput("IF1").appendField(Tt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO1").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Tt.icons.MutatorIcon(["controls_except","controls_finally"],this)),this.setTooltip(Tt.Msg.MIXLY_MIXPY_CONTROL_TRY_TOOLTIP),this.elseifCount_=1,this.elseCount_=0},mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var t=document.createElement("mutation");return this.elseifCount_&&t.setAttribute("elseif",this.elseifCount_),this.elseCount_&&t.setAttribute("else",1),t},domToMutation:function(t){var e=this,i=[],n=[];this.elseCount_&&this.removeInput("ELSE");for(var s=this.elseifCount_;s>0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(Tt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+s).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(Tt.Msg.MIXLY_PYTHON_FINALLY);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_try");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_except");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var o=t.newBlock("controls_finally");o.initSvg(),i.connect(o.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],o=null;i;){switch(i.type){case"controls_except":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_finally":this.elseCount_++,o=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,o)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_except":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_finally":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),o=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(o.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(Tt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+t).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(Tt.Msg.MIXLY_PYTHON_FINALLY)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},Ut={init:function(){this.setColour(Pt);var t=new Tt.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(t,"FLOW").appendField(Tt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0),this.setTooltip(Tt.Msg.MIXLY_PYTHON_CONTROLS_FLOW_STATEMENTS_TOOLTIP);var e=this;this.setTooltip((function(){var t=e.getFieldValue("FLOW");return{BREAK:Tt.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:Tt.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}[t]}))},onchange:function(){if(this.workspace){var t=!1,e=this;do{if("controls_repeat"==e.type||"controls_for"==e.type||"controls_forEach"==e.type||"controls_repeat_ext"==e.type||"controls_whileUntil"==e.type||"do_while"==e.type){t=!0;break}e=e.getSurroundParent()}while(e);t?this.setWarningText(null):this.setWarningText(Tt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}},wt={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Tt.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new Tt.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(Tt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return Tt.Msg.CONTROLS_FOR_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Tt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Ht={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Tt.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new Tt.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(Tt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return Tt.Msg.MIXLY_PYTHON_CONTROLS_FOR_RANGE_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Tt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}};Bt.OPERATORS=[[Tt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[Tt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]],Ut.OPERATORS=[[Tt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[Tt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const kt={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Tt.Msg.CONTROLS_IF_IF_TITLE_IF),this.appendStatementInput("STACK"),this.setTooltip(Tt.Msg.CONTROLS_IF_IF_TOOLTIP),this.contextMenu=!1}},Wt={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Tt.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},Kt={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Tt.Msg.CONTROLS_IF_ELSE_TITLE_ELSE),this.setPreviousStatement(!0),this.setTooltip(Tt.Msg.CONTROLS_IF_ELSE_TOOLTIP),this.contextMenu=!1}},Jt={init:function(){this.setColour(Pt),this.appendDummyInput().appendField("try"),this.appendStatementInput("STACK"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.contextMenu=!1}},Qt={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Tt.Msg.MIXLY_PYTHON_EXCEPT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1,this.setTooltip(Tt.Msg.MIXLY_MIXPY_CONTROL_EXCEPT_TOOLTIP)}},qt={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Tt.Msg.MIXLY_PYTHON_FINALLY),this.setPreviousStatement(!0),this.contextMenu=!1,this.setTooltip(Tt.Msg.MIXLY_MIXPY_CONTROL_FINALLY_TOOLTIP)}},zt={init:function(){this.jsonInit({message0:Tt.Msg.CONTROLS_REPEAT_TITLE,args0:[{type:"input_value",name:"TIMES"}],previousStatement:null,nextStatement:null,colour:Pt,tooltip:Tt.Msg.CONTROLS_REPEAT_TOOLTIP,helpUrl:Tt.Msg.CONTROLS_REPEAT_HELPURL}),this.appendStatementInput("DO")}},jt={init:function(){this.setColour(Pt),this.appendValueInput("BOOL").appendField("lambda"),this.appendStatementInput("DO").appendField(Tt.Msg.MIXLY_STAT),this.setOutput(!0)}},$t={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Tt.Msg.MIXLY_PYTHON_PASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.MIXLY_PYTHON_CONTROLS_PASS_TOOLTIP)}},Zt={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Tt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_START),this.appendValueInput("callback").appendField(Tt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_TOOLTIP)}},te={init:function(){this.appendDummyInput().appendField(Tt.Msg.CONTROLS_REPEAT_TITLE_REPEAT+Tt.Msg.MIXLY_DO),this.appendStatementInput("input_data").setCheck(null),this.appendValueInput("select_data").setCheck(null).appendField(Tt.Msg.CONTROLS_OPERATOR_UNTIL).appendField(new Tt.FieldDropdown([[Tt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"true"],[Tt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"false"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Pt),this.setTooltip("do-while loop"),this.setHelpUrl("")}},ee={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Tt.Msg.MIXLY_OP_GARBAGE_COLLECT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ie={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET_MEM_ALLOC),this.setOutput(!0)}},ne={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET_MEM_FREE),this.setOutput(!0)}},se={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET+Tt.Msg.MIXLY_DEVICE+"ID"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Tt.Msg.PROCEDURES_DEFRETURN_RETURN+Tt.Msg.MIXLY_GET_UNIQUE_IDEN)}},oe={init:function(){this.setColour(Pt),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_RTC_TIMESTAMP),this.appendDummyInput().appendField(Tt.Msg.MIXLY_TIMESTAMP_TO_DATA),this.setInputsInline(!0),this.setOutput(!0,Number)}},_e={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET_UNIQUE_IDEN),this.setOutput(!0)}},pe=230;Tt.FieldTextInput.math_number_validator=function(t){return String(t)},Tt.FieldTextInput.math_number_validator_include_blank=function(t){if(""===t)return"";return/^-?(0X|0x|0O|0o|0B|0b)?[a-fA-F0-9]{1,}(\.[a-fA-F0-9]+)?$/.test(t)?String(t):null};const ae={init:function(){this.setColour(pe),this.appendDummyInput().appendField(new Tt.FieldTextInput("0",Tt.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(Tt.Msg.MATH_NUMBER_TOOLTIP)}},ue={init:function(){this.setColour(pe);this.appendDummyInput("").appendField(Tt.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new Tt.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:Tt.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_TOOLTIP,e:Tt.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_TOOLTIP}[e]}))}},re={init:function(){this.setColour(pe);this.appendDummyInput("").appendField(Tt.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new Tt.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:Tt.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_MP_TOOLTIP,e:Tt.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_MP_TOOLTIP}[e]}))}},de={init:function(){this.setColour(pe),this.setOutput(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Tt.FieldDropdown([["+","ADD"],["-","MINUS"],["×","MULTIPLY"],["÷","DIVIDE"],["%","QUYU"],["//","ZHENGCHU"],["**","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:Tt.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:Tt.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:Tt.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:Tt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:Tt.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:Tt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:Tt.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},le={init:function(){this.setColour(pe),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Tt.FieldDropdown([["+=","ADD"],["-=","MINUS"],["×=","MULTIPLY"],["÷=","DIVIDE"],["%=","QUYU"],["//=","ZHENGCHU"],["**=","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:Tt.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:Tt.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:Tt.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:Tt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:Tt.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:Tt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:Tt.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},Ie={init:function(){this.setColour(pe),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new Tt.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},Te={init:function(){this.setColour(pe),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new Tt.FieldDropdown([["sin","SIN"],["cos","COS"],["tan","TAN"],["asin","ASIN"],["acos","ACOS"],["atan","ATAN"],["-","-"],["ln","LN"],["log10","LOG10"],["e^","EXP"],["10^","POW10"]]),"OP");var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{SIN:Tt.Msg.MATH_TRIG_TOOLTIP_SIN,COS:Tt.Msg.MATH_TRIG_TOOLTIP_COS,TAN:Tt.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:Tt.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:Tt.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:Tt.Msg.MATH_TRIG_TOOLTIP_ATAN,LN:Tt.Msg.MATH_SINGLE_TOOLTIP_LN}[e]}))}},Me={init:function(){var t=[[Tt.Msg.MATH_BIN,"bin"],[Tt.Msg.MATH_OCT,"oct"],[Tt.Msg.MATH_HEX,"hex"]];this.setColour(pe),this.setOutput(!0,String),this.appendValueInput("NUM").setCheck(Number).appendField(new Tt.FieldDropdown(t),"OP");var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{bin:Tt.Msg.MATH_DEC_TOOLTIP_BIN,oct:Tt.Msg.MATH_DEC_TOOLTIP_OCT,hex:Tt.Msg.MATH_DEC_TOOLTIP_HEX}[t]}))}},he={init:function(){var t=[[Tt.Msg.LANG_MATH_TO_ROUND,"round"],[Tt.Msg.LANG_MATH_TO_CEIL,"ceil"],[Tt.Msg.LANG_MATH_TO_FLOOR,"floor"],[Tt.Msg.MATH_ABS,"fabs"],[Tt.Msg.MATH_SQRT,"sqrt"]];this.setColour(pe),this.appendValueInput("A").setCheck(Number).appendField(new Tt.FieldDropdown(t),"OP"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{sqrt:Tt.Msg.MATH_SINGLE_TOOLTIP_ROOT,fabs:Tt.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:Tt.Msg.MATH_SINGLE_TOOLTIP_SQ,round:Tt.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:Tt.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:Tt.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[t]}))}},me={init:function(){var t=[[Tt.Msg.MIXLY_MAX,"max"],[Tt.Msg.MIXLY_MIN,"min"]];this.setColour(pe),this.appendValueInput("A").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(new Tt.FieldDropdown(t),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(Tt.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{max:Tt.Msg.MIXLY_TOOLTIP_MATH_MAX,min:Tt.Msg.MIXLY_TOOLTIP_MATH_MIN}[t]}))}},Ee={init:function(){var t=[[Tt.Msg.MATH_TWO,"two"],[Tt.Msg.MATH_EIGHT,"eight"],[Tt.Msg.MATH_TEN,"ten"],[Tt.Msg.MATH_SIXTEEN,"sixteen"]];this.setColour(pe),this.appendDummyInput("").appendField(Tt.Msg.MATH_BA),this.appendValueInput("NUM").appendField(new Tt.FieldDropdown(t),"OP").appendField(Tt.Msg.MATH_JinZhi).setCheck(Number),this.appendDummyInput("").appendField(Tt.Msg.MATH_ZHW).appendField(new Tt.FieldDropdown(t),"OP2").appendField(Tt.Msg.MATH_JinZhi),this.setFieldValue("ten","OP2"),this.setOutput(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i={two:Tt.Msg.MATH_Before_two,eight:Tt.Msg.MATH_Before_eight,ten:Tt.Msg.MATH_Before_ten,sixteen:Tt.Msg.MATH_Before_sixteen},n=e.getFieldValue("OP2"),s={two:Tt.Msg.MATH_Behind_two,eight:Tt.Msg.MATH_Behind_eight,ten:Tt.Msg.MATH_Behind_ten,sixteen:Tt.Msg.MATH_Behind_sixteen};return i[t]+s[n]}))}},Oe={init:function(){var t=[[Tt.Msg.LANG_MATH_INT,"int"],[Tt.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(pe),this.setOutput(!0,Number),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_RANDOM).appendField(new Tt.FieldDropdown(t),"TYPE"),this.appendValueInput("FROM").setCheck(Number).appendField(Tt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TYPE"),i={int:Tt.Msg.LANG_MATH_INT,float:Tt.Msg.LANG_MATH_FLOAT_RANDOM};return Tt.Msg.MATH_RANDOM_INT_TOOLTIP+i[t]}))}},Re={init:function(){this.setColour(pe),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(Tt.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(Tt.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(Tt.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MATH_CONSTRAIN_TOOLTIP)}},ce={init:function(){this.setColour(pe),this.appendValueInput("NUM",Number).appendField(Tt.Msg.MIXLY_MAP).setCheck(Number),this.appendValueInput("fromLow",Number).appendField(Tt.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(Tt.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Tt.Msg.MIXLY_TOOLTIP_MATH_MAP)}},ge={init:function(){this.setColour(pe),this.appendDummyInput().appendField(new Tt.FieldTextInput("0",Tt.FieldTextInput.math_number_validator_include_blank),"NUM"),this.setOutput(!0),this.setTooltip(Tt.Msg.MATH_NUMBER_TOOLTIP)}},Ce={init:function(){this.setColour(pe),this.appendValueInput("NUM").setCheck(Number).appendField(Tt.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED)}},Se={init:function(){this.setColour(pe),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number),this.appendValueInput("VAR").setCheck(Number).appendField(Tt.Msg.MATH_ROUND).appendField(Tt.Msg.TEXT_KEEP),this.appendDummyInput().appendField(Tt.Msg.TEXT_DECIMAL),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MATH_ROUND_NEW_TOOLTIP)}},Ae={init:function(){var t=[[Tt.Msg.MIXLY_TO_INT,"int"],[Tt.Msg.MIXLY_TO_FLOAT,"float"],[Tt.Msg.MIXLY_TO_BITES,"b"],[Tt.Msg.LANG_MATH_BYTE+Tt.Msg.MIXLY_TO_INT,"bti"]];this.setColour(pe),this.appendValueInput("VAR").appendField(new Tt.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:Tt.Msg.MIXLY_PYTHON_TOOLTIP_TOINT,float:Tt.Msg.MIXLY_PYTHON_TOOLTIP_TOFLOAT,b:Tt.Msg.MIXLY_TOOLTIP_TEXT_TOBYTE}[t]}))}},Le={init:function(){var t=[[Tt.Msg.MIXLY_TO_INT,"int"],[Tt.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(pe),this.appendValueInput("VAR").appendField(new Tt.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:Tt.Msg.MIXLY_TOOLTIP_TEXT_TOINT,float:Tt.Msg.MIXLY_TOOLTIP_TEXT_TOFLOAT}[t]}))}},Ne=ce,De={init:function(){this.setColour(pe),this.appendValueInput("VAR").appendField(Tt.Msg.LANG_MATH_BYTE+Tt.Msg.MIXLY_TO_HEX),this.setOutput(!0,Number),this.setTooltip(Tt.Msg.MIXLY_PYTHON_TOOLTIP_TOHEX)}},fe={init:function(){this.setColour(pe),this.itemCount_=1,this.setMutator(new Tt.icons.MutatorIcon(["lists_create_with_item"],this)),this.appendDummyInput("DUMMY").appendField(Tt.Msg.MIXLY_PRODUCT+Tt.Msg.MIXLY_GENERATE_CARTESIAN_PRODUCT),this.appendValueInput("REPEAT").appendField(Tt.Msg.MIXLY_EVERY_PER_ELEPER_ELEMENT),this.appendDummyInput().appendField(Tt.Msg.CONTROLS_REPEAT_TITLE_TIMES),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0),this.setTooltip(Tt.Msg.LISTS_CREATE_WITH_PYTHON_TOOLTIP),this.updateShape_()},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("lists_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n1&&"\\"===t.charAt(0)){var e=t.charAt(1);if("0"===e||"b"===e||"f"===e||"n"===e||"r"===e||"t"===e||"\\"===e||"'"===e)return String(t).substring(0,2);if("x"===e&&"0"===t.charAt(2)&&"B"===t.charAt(3))return String(t).substring(0,4)}return String(t).substring(0,1)};const be={init:function(){this.setColour(ve),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new Tt.FieldTextInput("",Tt.FieldTextInput.char_validator),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,Number),this.setTooltip(Tt.Msg.TEXT_CHAR_TOOLTIP)},newQuote_:function(t){if(1==t)var e="../../media/quote2.png";else e="../../media/quote3.png";return new Tt.FieldImage(e,7,12,'"')}},ye={init:function(){this.setColour(ve),this.appendValueInput("A").setCheck([String,Number]),this.appendValueInput("B").setCheck([String,Number]).appendField(Tt.Msg.MIXLY_TEXT_JOIN),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Tt.Msg.MIXLY_TOOLTIP_TEXT_JOIN)}},Ve={init:function(){this.setColour(ve),this.appendValueInput("VAR").setCheck(Number).appendField(Tt.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(Tt.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},Be={init:function(){this.setColour(ve),this.appendValueInput("VAR").setCheck(String).appendField(Tt.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(Tt.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},Ge={init:function(){this.setColour(ve),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(Tt.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},Ue={init:function(){this.setColour(ve),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(Tt.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},we={init:function(){this.WHERE_OPTIONS=[[Tt.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[Tt.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[Tt.Msg.TEXT_GET_INDEX_RANDOM+1+Tt.Msg.TEXT_CHARAT2,"RANDOM"]],this.setHelpUrl(Tt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(ve),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number),this.appendDummyInput().appendField(Tt.Msg.LISTS_GET_INDEX_GET,"MODE"),Tt.Msg.LISTS_GET_INDEX_TAIL&&this.appendDummyInput("TAIL").appendField(Tt.Msg.LISTS_GET_INDEX_TAIL),this.setInputsInline(!0),this.setOutput(!0),this.updateAt_(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=t.getFieldValue("WHERE"),n="";switch(e+" "+i){case"GET FROM_START":case"GET FROM_END":n=Tt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM;break;case"GET RANDOM":n=Tt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM;break;case"GET_REMOVE FROM_START":case"GET_REMOVE FROM_END":n=Tt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM;break;case"GET_REMOVE RANDOM":n=Tt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM}return"FROM_START"!=i&&"FROM_END"!=i||(n+=" "+Tt.Msg.LISTS_INDEX_FROM_START_TOOLTIP.replace("%1",Tt.Msg.ONE_BASED_INDEXING?"#1":"#0")),n}));var e=this;this.setTooltip((function(){var t=e.getFieldValue("WHERE"),i={FROM_START:Tt.Msg.LISTS_GET_INDEX_FROM_START,FROM_END:Tt.Msg.LISTS_GET_INDEX_FROM_END,RANDOM:Tt.Msg.TEXT_GET_INDEX_RANDOM};return Tt.Msg.PROCEDURES_DEFRETURN_RETURN+Tt.Msg.MIXLY_MICROBIT_TYPE_STRING+i[t]+"n"+Tt.Msg.TEXT_CHARAT2}))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("statement",!this.outputConnection);var e=this.getInput("AT").type==Tt.INPUT_VALUE;return t.setAttribute("at",e),t},domToMutation:function(t){var e="true"==t.getAttribute("statement");this.updateStatement_(e),t="false"!=t.getAttribute("at"),this.updateAt_(t)},updateStatement_:function(t){t!=!this.outputConnection&&(this.unplug(!0,!0),t?(this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)):(this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)))},updateAt_:function(t){this.removeInput("AT"),this.removeInput("ORDINAL",!0),t?(this.appendValueInput("AT").setCheck(Number),Tt.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL").appendField(Tt.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT");var e=new Tt.FieldDropdown(this.WHERE_OPTIONS,(function(e){var i="FROM_START"==e||"FROM_END"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT").appendField(e,"WHERE"),Tt.Msg.LISTS_GET_INDEX_TAIL&&this.moveInputBefore("TAIL",null)}},He={init:function(){this.setHelpUrl(Tt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(ve),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number).appendField(Tt.Msg.LISTS_GET_INDEX_GET+" "+Tt.Msg.LISTS_GET_INDEX_FROM_START),this.appendDummyInput().appendField(Tt.Msg.TEXT_CHARAT2),this.setOutput(!0),this.setTooltip(Tt.Msg.PROCEDURES_DEFRETURN_RETURN+Tt.Msg.MIXLY_MICROBIT_TYPE_STRING+Tt.Msg.LISTS_GET_INDEX_FROM_START+"n"+Tt.Msg.TEXT_CHARAT2)}},ke={init:function(){this.setHelpUrl(Tt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(ve),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(Tt.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(Tt.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},We={init:function(){this.WHERE_OPTIONS_1=[[Tt.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[Tt.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[Tt.Msg.LISTS_GET_SUBLIST_START_FIRST,"FIRST"]],this.WHERE_OPTIONS_2=[[Tt.Msg.LISTS_GET_SUBLIST_END_FROM_START,"FROM_START"],[Tt.Msg.LISTS_GET_SUBLIST_END_FROM_END,"FROM_END"],[Tt.Msg.LISTS_GET_SUBLIST_END_LAST,"LAST"]],this.setHelpUrl(Tt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(ve),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput("AT1"),this.appendDummyInput("AT2"),this.setInputsInline(!0),this.setOutput(!0,"List"),this.updateAt_(1,!0),this.updateAt_(2,!0),this.setTooltip(Tt.Msg._GET_TEXT_SUBLIST_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT1").type==Tt.INPUT_VALUE;t.setAttribute("at1",e);var i=this.getInput("AT2").type==Tt.INPUT_VALUE;return t.setAttribute("at2",i),t},domToMutation:function(t){var e="true"==t.getAttribute("at1"),i="true"==t.getAttribute("at2");this.updateAt_(1,e),this.updateAt_(2,i)},updateAt_:function(t,e){this.removeInput("AT"+t),this.removeInput("ORDINAL"+t,!0),e?(this.appendValueInput("AT"+t).setCheck(Number),Tt.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL"+t).appendField(Tt.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT"+t);var i=new Tt.FieldDropdown(this["WHERE_OPTIONS_"+t],(function(i){var n="FROM_START"==i||"FROM_END"==i;if(n!=e){var s=this.sourceBlock_;return s.updateAt_(t,n),s.setFieldValue(i,"WHERE"+t),null}}));this.getInput("AT"+t).appendField(i,"WHERE"+t),1==t&&(this.moveInputBefore("AT1","AT2"),this.getInput("ORDINAL1")&&this.moveInputBefore("ORDINAL1","AT2"))}},Ke={init:function(){this.setHelpUrl(Tt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(ve),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT1").appendField(Tt.Msg.LISTS_GET_INDEX_GET+" "+Tt.Msg.LISTS_GET_INDEX_FROM_START),this.appendValueInput("AT2").appendField(Tt.Msg.LISTS_GET_SUBLIST_END_FROM_START),this.appendDummyInput().appendField(Tt.Msg.TEXT_CHARAT2),this.setInputsInline(!0),this.setOutput(!0,["List",String]),this.setTooltip(Tt.Msg._GET_TEXT_SUBLIST_TOOLTIP)}},Je={init:function(){var t=[[Tt.Msg.MIXLY_EQUALS,"==="],[Tt.Msg.MIXLY_STARTSWITH,"startswith"],[Tt.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(ve),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new Tt.FieldDropdown(t),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},Qe={init:function(){this.setColour(ve),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(Tt.Msg.MIXLY_COMPARETO).setCheck(String),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_COMPARETO_HELP)}},qe={init:function(){var t=[[Tt.Msg.TEXT_UPPER,"upper"],[Tt.Msg.TEXT_TITLE,"title"],[Tt.Msg.TEXT_CAPITALIZE,"capitalize"],[Tt.Msg.TEXT_SWAPCASE,"swapcase"],[Tt.Msg.TEXT_LOWER,"lower"]];this.setColour(ve),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new Tt.FieldDropdown(t),"CAPITAL").setCheck(String),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CAPITAL");return{upper:Tt.Msg.MIXLY_MIXPY_TEXT_UPPER_TOOLTIP,title:Tt.Msg.MIXLY_MIXPY_TEXT_TITLE_TOOLTIP,swapcase:Tt.Msg.MIXLY_MIXPY_TEXT_SWAPCASE_TOOLTIP,capitalize:Tt.Msg.MIXLY_MIXPY_TEXT_CAPITALIZE_TOOLTIP,lower:Tt.Msg.MIXLY_MIXPY_TEXT_LOWER_TOOLTIP}[t]}))}},ze={init:function(){var t=[[Tt.Msg.TEXT_LJUST,"ljust"],[Tt.Msg.TEXT_CENTER,"center"],[Tt.Msg.TEXT_RJUST,"rjust"]];this.setColour(ve),this.appendValueInput("VAR").appendField(new Tt.FieldDropdown(t),"CENTER").setCheck(String),this.appendValueInput("WID").appendField(Tt.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("Symbol").appendField(Tt.Msg.MIXLY_RECT_Fill).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Tt.Msg.MIXLY_MIXPY_TEXT_CENTER_TOOLTIP)}},je={init:function(){this.setColour(ve),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).setCheck(String),this.appendValueInput("STR").appendField(Tt.Msg.MIXLY_MID+Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER).setCheck(String),this.appendDummyInput().appendField(Tt.Msg.MIXLY_LIST_INDEX),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Tt.Msg.MIXLY_MIXPY_TEXT_FIND_TOOLTIP)}},$e={init:function(){this.setColour(ve),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_USE_STR).setCheck(String),this.appendValueInput("LIST").appendField(Tt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_SEQ).setCheck("List","Tuple","Set","Dict"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_GET_STR),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Tt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_TOOLTIP)}},Ze={init:function(){this.setColour(ve),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("STR1").appendField(Tt.Msg.MIXLY_MIXPY_REPLACE).setCheck(String),this.appendValueInput("STR2").appendField(Tt.Msg.LISTS_SET_INDEX_INPUT_TO).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Tt.Msg.MIXLY_MIXPY_TEXT_REPLACE_TOOLTIP)}},ti={init:function(){this.setColour(ve),this.appendValueInput("VAR"),this.appendValueInput("VAL").appendField(Tt.Msg.LIST_SPLIT_AS),this.appendDummyInput("").appendField(Tt.Msg.LIST_SPLIT),this.setOutput(!0,"List"),this.setTooltip(Tt.Msg.MIXLY_MIXPY_TEXT_SPLIT_TOOLTIP),this.setInputsInline(!0)}},ei={init:function(){var t=[[Tt.Msg.TEXT_TRIM_BOTH,"strip"],[Tt.Msg.TEXT_TRIM_LEFT,"lstrip"],[Tt.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(ve),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(Tt.Msg.TEXT_STRIM),this.appendDummyInput("").appendField(new Tt.FieldDropdown(t),"TOWHAT"),this.appendDummyInput("").appendField(Tt.Msg.TEXT_BLANK),this.setOutput(!0,String),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{strip:Tt.Msg.TEXT_TRIM_BOTH_TOOLTIP,lstrip:Tt.Msg.TEXT_TRIM_LEFT_TOOLTIP,rstrip:Tt.Msg.TEXT_TRIM_RIGHT_TOOLTIP}[t]}))}},ii={init:function(){this.setColour(ve),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROPYTHON_FORMAT),this.appendDummyInput("").appendField(new Tt.FieldTextInput("str"),"VAR"),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new Tt.icons.MutatorIcon(["text_create_with_item"],this)),this.setOutput(!0),this.setTooltip(Tt.Msg.MIXLY_MIXPY_TEXT_FORMAT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("text_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Tt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},$i={init:function(){this.setColour(zi),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(Tt.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},Zi={init:function(){this.setColour(zi),this.appendDummyInput().appendField(Tt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},tn={init:function(){this.setColour(zi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Tt.Msg.DICT_KEYS),this.setTooltip(Tt.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},en={init:function(){this.setColour(zi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Tt.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(Tt.Msg.DICTS_ADD_VALUE),this.setOutput(!0),this.setTooltip(Tt.Msg.DICTS_GET_TOOLTIP)}},nn={init:function(){this.setColour(zi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Tt.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(Tt.Msg.DICTS_ADD_VALUE),this.appendValueInput("VAR").appendField(Tt.Msg.DICTS_DEFAULT_VALUE),this.setOutput(!0),this.setTooltip(Tt.Msg.DICTS_GET_DEFAULT_TOOLTIP)}},sn={init:function(){this.setColour(zi),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(Tt.Msg.DICTS_ADD),this.appendDummyInput(),this.appendValueInput("VAR").appendField(Tt.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.DICTS_ADD_OR_CHANGE_TOOLTIP)}},on={init:function(){this.setColour(zi),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(Tt.Msg.DICTS_DELETE_IN),this.appendDummyInput("").appendField(Tt.Msg.DICTS_DELETE_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.DICTS_DELETE_TOOLTIP)}},_n={init:function(){this.setColour(zi),this.appendValueInput("DICT2").setCheck("Dict").appendField(Tt.Msg.MAKE_DICT),this.appendValueInput("DICT").setCheck("Dict").appendField(Tt.Msg.DICT_UPDATE),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MID),this.setTooltip(Tt.Msg.DICTS_UPDATE_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},pn={init:function(){this.setColour(zi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Tt.Msg.DICT_CLEAR),this.setTooltip(Tt.Msg.DICTS_CLEAR_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},an={init:function(){this.setColour(zi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Tt.Msg.DICT_ITEMS),this.setTooltip(Tt.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},un={init:function(){this.setColour(zi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Tt.Msg.DICT_VALUES),this.setTooltip(Tt.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},rn={init:function(){this.setColour(zi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_LENGTH),this.setTooltip(Tt.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},dn={init:function(){this.setColour(zi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Tt.Msg.DICT_DELDICT),this.setTooltip(Tt.Msg.DICTS_DEL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ln={init:function(){this.MODE=[[Tt.Msg.DICTS_ADD_OR_CHANGE,"INSERT"],[Tt.Msg.MIXLY_MICROBIT_JS_DELETE_VAR,"DELETE"]],this.setHelpUrl(Tt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(zi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("AT2"),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).appendField(Tt.Msg.DICTS_ADD_VALUE),this.updateAt_(!0),this.setInputsInline(!0),this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e="";switch(t.getFieldValue("WHERE")){case"INSERT":e=Tt.Msg.DICTS_ADD_TOOLTIP;break;case"DELETE":e=Tt.Msg.DICTS_DELETE_TOOLTIP}return e}))},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT2").type==Tt.INPUT_VALUE;return t.setAttribute("at2",e),t},domToMutation:function(t){var e="true"==t.getAttribute("at2");this.updateAt_(e)},updateAt_:function(t){this.removeInput("AT2"),this.removeInput("ORDINAL",!0),t?this.appendValueInput("AT2").setCheck(Number):this.appendDummyInput("AT2");var e=new Tt.FieldDropdown(this.MODE,(function(e){var i="INSERT"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT2").appendField(e,"WHERE")}},In={init:function(){this.setColour(zi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Tt.Msg.blockpy_DICT_POP),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(Tt.Msg.DICTS_ADD_VALUE),this.setTooltip(Tt.Msg.DICT_POP_TOOLTIP),this.setInputsInline(!0),this.setOutput(!0)}},Tn={init:function(){this.setColour(zi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Tt.Msg.DICTS_SET_DEFAULT),this.appendDummyInput("").appendField(Tt.Msg.DICTS_DEFAULT_VALUE),this.appendValueInput("VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.DICTS_SETDEFAULT_TOOLTIP)}},Mn={init:function(){this.setColour(zi),this.appendDummyInput("").appendField(new Tt.FieldLabel(Tt.Msg.MIXLY_MICROBIT_TYPE_DICT),"TIP").appendField(" "),this.itemCount_=3,this.updateShape_(),this.setOutput(!0,"Dict"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setMutator(new Tt.icons.MutatorIcon(["dicts_create_with_item"],this)),this.setTooltip(Tt.Msg.DICTS_CREATE_WITH_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("dicts_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Tt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},hn={init:function(){this.setColour(zi),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(Tt.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},mn={init:function(){this.setColour(zi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_TO_JSON),this.setTooltip(Tt.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},En={init:function(){this.setColour(zi),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_CONVERT_TO_JSON),this.setTooltip(Tt.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},On={init:function(){this.setColour(zi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("VAR1").appendField("key1"),this.appendValueInput("VAR2").appendField("index"),this.appendValueInput("VAR3").appendField("key2"),this.appendValueInput("VAR4").appendField("key3"),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},Rn={init:function(){this.setColour(zi),this.appendValueInput("DICT"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_TO_JSON),this.setTooltip(Tt.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},cn=210,gn={init:function(){var t=Tt.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(cn),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Tt.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{EQ:Tt.Msg.LOGIC_COMPARE_TOOLTIP_EQ,NEQ:Tt.Msg.LOGIC_COMPARE_TOOLTIP_NEQ,LT:Tt.Msg.LOGIC_COMPARE_TOOLTIP_LT,LTE:Tt.Msg.LOGIC_COMPARE_TOOLTIP_LTE,GT:Tt.Msg.LOGIC_COMPARE_TOOLTIP_GT,GTE:Tt.Msg.LOGIC_COMPARE_TOOLTIP_GTE}[t]})),this.prevBlocks_=[null,null]}},Cn={init:function(){var t=Tt.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]],e=Tt.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(cn),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Tt.FieldDropdown(t),"OP1"),this.appendValueInput("C").appendField(new Tt.FieldDropdown(e),"OP2"),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_PYTHON_LOGIC_COMPARE_CONTINOUS_TOOLTIP)}},Sn={init:function(){var t=[[Tt.Msg.LOGIC_OPERATION_AND,"AND"],[Tt.Msg.LOGIC_OPERATION_OR,"OR"],[Tt.Msg.LOGIC_OPERATION_NOR,"NOR"],[Tt.Msg.LOGIC_OPERATION_XOR,"XOR"]];this.setColour(cn),this.setOutput(!0,Boolean),this.appendValueInput("A").setCheck([Boolean,Number]),this.appendValueInput("B").setCheck([Boolean,Number]).appendField(new Tt.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{AND:Tt.Msg.LOGIC_OPERATION_TOOLTIP_AND,OR:Tt.Msg.LOGIC_OPERATION_TOOLTIP_OR,NOR:Tt.Msg.LOGIC_OPERATION_TOOLTIP_NOR,XOR:Tt.Msg.LOGIC_OPERATION_TOOLTIP_XOR}[t]}))}},An={init:function(){this.setColour(cn),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(Tt.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(Tt.Msg.LOGIC_NEGATE_TOOLTIP)}},Ln={init:function(){var t=[[Tt.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[Tt.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(cn),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new Tt.FieldDropdown(t),"BOOL"),this.setTooltip(Tt.Msg.LOGIC_BOOLEAN_TOOLTIP)}},Nn={init:function(){this.setColour(cn),this.setOutput(!0),this.appendDummyInput().appendField(Tt.Msg.LOGIC_NULL),this.setTooltip(Tt.Msg.LOGIC_NULL_TOOLTIP)}},Dn={init:function(){this.setColour(cn),this.appendValueInput("A"),this.appendValueInput("B").appendField(Tt.Msg.LOGIC_TERNARY_IF_TRUE),this.appendValueInput("C").appendField(Tt.Msg.LOGIC_TERNARY_IF_FALSE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_TOOLTIP_LOGIT_TRUEORFALSE)}},fn={init:function(){var t=[[Tt.Msg.TEXT_APPEND_TO,"in"],[Tt.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(cn),this.appendValueInput("A"),this.appendValueInput("B").setCheck([String,"List"]).appendField(new Tt.FieldDropdown(t),"BOOL"),this.appendDummyInput("").appendField(Tt.Msg.MICROBIT_LOGIC_IS_IN),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Tt.Msg.IN)}},Fn={init:function(){var t=[[Tt.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[Tt.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(cn),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Tt.FieldDropdown(t),"BOOL"),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_PYTHON_LOGIC_IS_TOOLTIP)}},Pn={init:function(){this.setColour(cn),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(Tt.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},vn={init:function(){this.setColour(0),this.appendValueInput("fn").setCheck(String).appendField(Tt.Msg.MIXLY_PYTHON_STORAGE_OPEN_FILE_WITH_OS+"(For Windows)"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Yn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"],[Tt.Msg.MIXLY_ADD,"a"],[Tt.Msg.MATH_BIN+Tt.Msg.MIXLY_ADD,"ab"],[Tt.Msg.MIXLY_R_W,"r+"],[Tt.Msg.MATH_BIN+Tt.Msg.MIXLY_R_W,"rb+"],[Tt.Msg.MIXLY_W_R,"w+"],[Tt.Msg.MATH_BIN+Tt.Msg.MIXLY_W_R,"wb+"],[Tt.Msg.MIXLY_A_R,"a+"],[Tt.Msg.MATH_BIN+Tt.Msg.MIXLY_A_R,"ab+"]]),"MODE"),this.appendValueInput("FILE").appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_AS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Tt.Msg.MIXLY_USE,n=Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=Tt.Msg.MIXLY_BELONG;return i+{r:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Tt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Xn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Tt.Msg.MIXLY_USE,n=Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=Tt.Msg.MIXLY_BELONG,_=Tt.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s+_}))}},xn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE);this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendDummyInput().appendField(Tt.Msg.MIXPY_TEXT_ENCODE).appendField(new Tt.FieldDropdown([["ANSI","ANSI"],["gbk","gbk"],["utf-8","utf-8"]]),"CODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Tt.Msg.MIXLY_USE,n=Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=Tt.Msg.MIXLY_BELONG,_=Tt.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s+_}))}},bn={init:function(){this.setColour(0),this.appendValueInput("data").setCheck(String).appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendValueInput("FILE").appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+Tt.Msg.MIXLY_MICROBIT_TYPE_STRING+Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE)}},yn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"read"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE,"readline"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES,"readlines"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String)}},Vn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,"read"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,"readline"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE,"readlines"]]),"MODE"),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE,n=Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER;return i+{read:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,readline:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,readlines:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE}[e]+"x"+n}))}},Bn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.setNextStatement(!0),this.appendValueInput("SIZE").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(Tt.Msg.MICROBIT_PYTHON_TYPE)}},Gn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Tt.Msg.HTML_FILE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT1)}},Un={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILENAME),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILENAME)}},wn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE)}},Hn={init:function(){this.setColour(0),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES)}};Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE;const kn={init:function(){this.setColour(0),this.appendDummyInput().appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE,"remove"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_DIRS,"removedirs"]]),"MODE"),this.appendValueInput("FILE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE)}},Wn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE+Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE)}},Kn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_RETURN_FILE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_PRESENT_LOCATION),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_TELL)}},Jn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION),this.appendDummyInput().appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,"start"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,"current"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END,"end"]]),"MODE"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION+Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION,n=Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER,s=Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET;return i+" "+{start:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,current:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,end:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END}[e]+s+"x"+n}))}},Qn={init:function(){this.setColour(0),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR)}},qn={init:function(){this.setColour(0),this.appendValueInput("PATH").setCheck(String).appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_SET),this.appendDummyInput().appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,"mkdir"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_MAKEDIRS,"makedirs"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH+"x"+Tt.Msg.MIXLY_ESP32_SET+{mkdir:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,makedirs:Tt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},zn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME),this.appendValueInput("NEWFILE").setCheck(String).appendField(Tt.Msg.MIXLY_AS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME)}},jn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR)}},$n={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT),this.appendDummyInput().appendField(new Tt.FieldDropdown([[Tt.Msg.HTML_FILE,"isfile"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_DIR,"isdir"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean);let t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH+"x"+Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT+{isfile:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,isdir:Tt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},Zn={init:function(){this.setColour(0),this.appendValueInput("SPISUB").appendField(Tt.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_SETUP+Tt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(Tt.Msg.MIXLY_SD_CARD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},ts={init:function(){this.setColour(0),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_SD_CARD),this.appendValueInput("DIR").setCheck(String).appendField(Tt.Msg.MIXLY_SDCARD_MOUNT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip()}},es={init:function(){var t=Tt.Procedures.findLegalName("",this),e=new Tt.FieldTextInput(t,Tt.Procedures.rename);e.setSpellcheck(!1),this.appendDummyInput().appendField(e,"NAME").appendField("","PARAMS"),this.setMutator(new Tt.icons.MutatorIcon(["procedures_mutatorarg"],this)),(this.workspace.options.comments||this.workspace.options.parentWorkspace&&this.workspace.options.parentWorkspace.options.comments)&&Tt.Msg.PROCEDURES_DEFNORETURN_COMMENT&&this.setCommentText(Tt.Msg.PROCEDURES_DEFNORETURN_COMMENT),this.setStyle("procedure_blocks"),this.setTooltip(Tt.Msg.PROCEDURES_DEFNORETURN_TOOLTIP),this.setHelpUrl(Tt.Msg.PROCEDURES_DEFNORETURN_HELPURL),this.arguments_=[],this.argumentVarModels_=[],this.setStatements_(!0),this.statementConnection_=null},setStatements_:function(t){this.hasStatements_!==t&&(t?(this.appendStatementInput("STACK").appendField(Tt.Msg.PROCEDURES_DEFNORETURN_DO),this.getInput("RETURN")&&this.moveInputBefore("STACK","RETURN")):this.removeInput("STACK",!0),this.hasStatements_=t)},updateParams_:function(){var t="";this.arguments_.length&&(t=Tt.Msg.PROCEDURES_BEFORE_PARAMS+" "+this.arguments_.join(", ")),Tt.Events.disable();try{this.setFieldValue(t,"PARAMS")}finally{Tt.Events.enable()}},mutationToDom:function(t){var e=Tt.utils.xml.createElement("mutation");t&&e.setAttribute("name",this.getFieldValue("NAME"));for(var i=0;i"),this.appendValueInput("style").appendField(Tt.Msg.MIXLY_AIP_ATTR).setAlign(Tt.inputs.Align.RIGHT),this.appendStatementInput("DO").appendField(""),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},zs={init:function(){this.setColour(ks),this.appendDummyInput().appendField(Tt.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},js={init:function(){this.setColour(ks),this.appendDummyInput().appendField(Tt.Msg.HTML_FORM_CONTENT).appendField(new Tt.FieldDropdown([[Tt.Msg.HTML_TEXT,"text"],[Tt.Msg.HTML_EMAIL,"email"],[Tt.Msg.HTML_NUMBER,"number"],[Tt.Msg.HTML_PASSWORD,"password"],[Tt.Msg.HTML_CHECKBOX,"checkbox"],[Tt.Msg.HTML_RADIOBUTTON,"radiobutton"],[Tt.Msg.HTML_BUTTON,"button"],[Tt.Msg.HTML_COLOUR,"colour"],[Tt.Msg.HTML_DATE,"date"],[Tt.Msg.HTML_LOCALTIME,"local time"],[Tt.Msg.HTML_FILE,"file"],[Tt.Msg.HTML_HIDDEN,"hidden"],[Tt.Msg.HTML_IMAGE,"image"],[Tt.Msg.HTML_MONTH,"month"],[Tt.Msg.HTML_RANGE,"range"],[Tt.Msg.HTML_RESET,"reset"],[Tt.Msg.HTML_SEARCH,"search"],[Tt.Msg.HTML_SUBMIT,"submit"],[Tt.Msg.HTML_TELEPHONENUMBER,"telephone number"],[Tt.Msg.HTML_TIME,"time"],[Tt.Msg.HTML_URL,"url"],[Tt.Msg.HTML_WEEK,"week"]]),"LEVEL"),this.appendDummyInput().appendField(Tt.Msg.HTML_NAME).appendField(new Tt.FieldTextInput("car"),"NAME"),this.appendDummyInput().appendField(Tt.Msg.HTML_VALUE).appendField(new Tt.FieldTextInput("go"),"VALUE"),this.appendValueInput("style").appendField(Tt.Msg.MIXLY_AIP_ATTR).setAlign(Tt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},$s={init:function(){this.setColour(ks),this.appendDummyInput().appendField(new Tt.FieldTextInput("property"),"KEY").appendField(":").appendField(new Tt.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Zs={init:function(){this.setColour(ks),this.appendDummyInput().appendField(new Tt.FieldTextInput("property"),"KEY").appendField(":").appendField(new Tt.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},to={init:function(){this.setColour(ks),this.appendDummyInput().appendField(Tt.Msg.HTML_TEXT).appendField(new Tt.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},eo=160,io={init:function(){this.setColour(eo),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new Tt.FieldTable(""),"TEXT")}},no={init:function(){this.setColour(eo),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new Tt.FieldMultilineInput(""),"TEXT")}},so={init:function(){this.setColour(eo),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new Tt.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},oo={init:function(){this.setColour(eo),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},_o={init:function(){this.setColour(eo),this.appendDummyInput().appendTitle("Comment:").appendTitle(new Tt.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},po={init:function(){this.setColour(eo),this.appendValueInput("VALUE").appendField(Tt.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},ao={init:function(){this.setColour(eo),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Tt.icons.MutatorIcon(["text_print_multiple_item"],this)),this.setTooltip(Tt.Msg.TEXT_PRINT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=Tt.Block.obtain(t,"text_print_multiple_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n= stop:"," yield start"," start -= abs(step)"])};if(t=function(t,e,i){return"("+t+" <= "+e+") and "+a()+"("+t+", "+e+", "+i+") or "+u()+"("+t+", "+e+", "+i+")"},Tt.isNumber(n)&&Tt.isNumber(s)&&Tt.isNumber(o))n=parseFloat(n),s=parseFloat(s),o=Math.abs(parseFloat(o)),0==n%1&&0==s%1&&0==o%1?(n<=s?(s++,t=0==n&&1==o?s:n+", "+s,1!=o&&(t+=", "+o)):t=n+", "+--s+", -"+o,t="range("+t+")"):(t=n",GTE:">="};const sa=function(t,e){var i=this.getFieldValue("OP"),n="&&"==i?e.ORDER_LOGICAL_AND:e.ORDER_LOGICAL_OR,s=e.valueToCode(this,"A",n)||"False",o=e.valueToCode(this,"B",n)||"False";if("AND"==i)var _=s+" and "+o;else if("OR"==i)_=s+" or "+o;else if("NOR"==i)_="not("+s+"^"+o+")";else _=s+"^"+o;return[_,n]},oa=function(t,e){var i=e.ORDER_UNARY_PREFIX;return["not "+(e.valueToCode(this,"BOOL",i)||"False"),i]},_a=function(t,e){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",e.ORDER_ATOMIC]},pa=function(t,e){return["None",e.ORDER_ATOMIC]},aa=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"False";return["("+(e.valueToCode(this,"B",e.ORDER_ATOMIC)||"False")+" if "+i+" else "+(e.valueToCode(this,"C",e.ORDER_ATOMIC)||"False")+")",e.ORDER_ATOMIC]},ua=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},ra=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},da=function(t,e){return["bool("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||"0")+")",e.ORDER_ATOMIC]},la=function(t,e){return e.definitions_.import_os="import os","os.startfile("+e.valueToCode(this,"fn",e.ORDER_ATOMIC)+")\n"},Ia=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+" = open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},Ta=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",e.ORDER_ATOMIC]},Ma=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',e.ORDER_ATOMIC]},ha=function(t,e){var i=e.valueToCode(this,"data",e.ORDER_ATOMIC);return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".write("+i+")\n"},ma=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"()",e.ORDER_ATOMIC]},Ea=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Oa=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".readline("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Ra=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".writable()",e.ORDER_ATOMIC]},ca=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".name()",e.ORDER_ATOMIC]},ga=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".close()\n"},Ca=function(t,e){e.definitions_.import_os="import os";return["os.listdir()",e.ORDER_ATOMIC]},Sa=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},Aa=function(t,e){return e.definitions_.import_os="import os",["os.path.getsize("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},La=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".tell()",e.ORDER_ATOMIC]},Na=function(t,e){var i=this.getFieldValue("MODE"),n=0;return n="start"==i?0:"current"==i?1:2,e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".seek("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+","+n+")\n"},Da=function(t,e){return e.definitions_.import_os="import os","os.chdir("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},fa=function(t,e){e.definitions_.import_os="import os";return["os.getcwd()",e.ORDER_ATOMIC]},Fa=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"PATH",e.ORDER_ATOMIC)+")\n"},Pa=function(t,e){return e.definitions_.import_os="import os","os.rename("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+","+e.valueToCode(this,"NEWFILE",e.ORDER_ATOMIC)+")\n"},va=function(t,e){e.definitions_.import_os="import os";var i=e.valueToCode(this,"FILE",e.ORDER_ATOMIC);return["os."+this.getFieldValue("MODE")+"("+i+")",e.ORDER_ATOMIC]},Ya=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = sdcard.SDCard("+e.valueToCode(this,"SPISUB",e.ORDER_ATOMIC)+","+e.valueToCode(this,"PINSUB",e.ORDER_ATOMIC)+")\n"},Xa=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard","os.mount("+e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+","+e.valueToCode(this,"DIR",e.ORDER_ATOMIC)+")\n"},xa=function(t,e){var i=e.variableDB_.getName(this.getFieldValue("NAME"),Tt.Procedures.NAME_TYPE),n=(this.getInput("STACK")&&e.statementToCode(this,"STACK"))??" pass\n";e.INFINITE_LOOP_TRAP&&(n=e.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+n);var s=e.valueToCode(this,"RETURN",e.ORDER_NONE)||"";s&&(s=" return "+s+"\n");for(var o=[],_=0;_\n\n\n\t\n"+e.statementToCode(this,"HEAD")+"\n\n"+e.statementToCode(this,"BODY")+"\n\n'''",e.ORDER_ATOMIC]},mu=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"\n"+i+"\n"},Eu=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");if("head"==n)var s="<"+n+'>\n\t\n'+i+"\n";else s="<"+n+">\n"+i+"\n";return s},Ou=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"<"+n+">\n"+i+"\n"},Ru=function(t,e){var i=e.statementToCode(this,"DO"),n=e.valueToCode(this,"style"),s=this.getFieldValue("LEVEL");return"<"+s+" "+n+" >\n"+i+"\n"},cu=function(t,e){return['style="'+e.statementToCode(this,"STYLE")+'"',e.ORDER_ATOMIC]},gu=function(t,e){return'"},Cu=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},Su=function(){return this.getFieldValue("TEXT")+"\n"},Au=function(t){return t.getFieldValue("TEXT")+"\n"},Lu=function(t,e){return[t.getFieldValue("TEXT"),e.ORDER_ATOMIC]},Nu=function(t,e){return(e.valueToCode(t,"VALUE",e.ORDER_ATOMIC)||"")+"\n"},Du=function(){return""},fu=function(t,e){return["type("+(e.valueToCode(t,"VALUE",e.ORDER_MEMBER)||"___")+")",e.ORDER_ATOMIC]},Fu=function(t,e){for(var i=t.getFieldValue("NAME"),n=t.hasReturn_,s=new Array(t.itemCount_),o=0;o0?e.join("\n")+i.join("\n")+n.join("\n")+_.join("\n")+p.join("")+t+"while True:\n"+a.join("")+u.join("\n"):e.join("\n")+i.join("\n")+n.join("\n")+_.join("\n")+p.join("")+t+u.join("\n")},Xu.scrubNakedValue=function(t){return t+"\n"},Xu.quote_=function(t){var e="'";return-1!==t.indexOf("'")&&(-1===t.indexOf('"')?e='"':t=t.replace(/'/g,"\\'")),e+t+e},Xu.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},Xu.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(o=t.getCommentText())&&(o=Tt.utils.string.wrap(o,Xu.COMMENT_WRAP-3),n+=Xu.prefixLines(o+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const xu="#74A55B",bu={init:function(){this.setColour(xu),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MIDI),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Tt.Msg.MIXLY_RGB_PIN_COUNT)}},yu={init:function(){this.setColour(xu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Tt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Vu={init:function(){this.setColour(xu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Tt.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(Tt.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},Bu={init:function(){this.setColour(xu),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(Tt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Gu={init:function(){this.setColour(xu),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(Tt.Msg.MIXLY_BACKSTAGE+Tt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_BACKSTAGE+Tt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Uu={init:function(){this.setColour(xu),this.appendValueInput("SUB"),this.appendValueInput("TICKS").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(Tt.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(Tt.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},wu={init:function(){this.setColour(xu),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},Hu={init:function(){this.setColour(xu),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_MUSIC_RESET)}},ku={init:function(){this.setColour(xu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Wu={init:function(){this.setColour(xu),this.appendValueInput("SUB"),this.appendValueInput("percent").appendField(Tt.Msg.MIXLY_MUSIC_VOLUME_SET),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Ku={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.MIXLY_SETTING).appendField(Tt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(Tt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_EXTERN_LED_SETONOFF)}},Ju={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Tt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Tt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},Qu={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Tt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Tt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},qu={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.MIXLY_SETTING).appendField(Tt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(Tt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_EXTERN_LED_SETBRIGHT)}},zu={init:function(){this.setColour(xu),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_SETUP+Tt.Msg.MIXLY_SERVO),this.appendValueInput("PIN",Number).appendField(Tt.Msg.MIXLY_PIN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},ju={init:function(){this.setColour(xu),this.appendValueInput("PIN",Number).appendField(Tt.Msg.MIXLY_SERVO).appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("DEGREE",Number).setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_DEGREE_0_180),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_SERVO_MOVE)}},$u={init:function(){this.setColour(xu),this.appendValueInput("VAR").appendField("360°"+Tt.Msg.MIXLY_SERVO),this.appendValueInput("SPEED",Number).setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_SETTING+Tt.Msg.blockpy_turtle_rotate+Tt.Msg.MIXLY_SPEED+" (-10~10)"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_SERVO_360_TOOLTIP)}},Zu={init:function(){this.setColour(xu),this.appendValueInput("PIN",Number).appendField("180°"+Tt.Msg.MIXLY_SERVO).appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_SERVO_MOVE)}},tr={init:function(){this.setColour(xu),this.appendValueInput("PIN",Number).appendField("360°"+Tt.Msg.MIXLY_SERVO).appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_SERVO_SPEED_TOOLIPS)}},er={init:function(){this.setColour(xu),this.appendValueInput("PIN",Number).appendField("180°"+Tt.Msg.MIXLY_SERVO).appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET+Tt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},ir={init:function(){this.setColour(xu),this.appendValueInput("PIN",Number).appendField("360°"+Tt.Msg.MIXLY_SERVO).appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET+Tt.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},nr={init:function(){this.setColour(xu),this.appendValueInput("SUB").appendField("初始化").setCheck("var"),this.appendDummyInput().appendField("电机驱动"),this.appendDummyInput().appendField("地址").appendField(new Tt.FieldDropdown([["A","ms32006.ADDRESS_A"],["B","ms32006.ADDRESS_B"]]),"mode"),this.appendValueInput("SUB1").setCheck("var").setAlign(Tt.inputs.Align.RIGHT).appendField("通信"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("初始化MS32006电机驱动,使用I2C通信")}},sr={init:function(){this.setColour(xu),this.appendValueInput("SUB").appendField("直流电机").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_Direction).appendField(new Tt.FieldDropdown([[Tt.Msg.CLOCKWISE,"ms32006.MOT_CW"],[Tt.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"],[Tt.Msg.MOTOR_N,"ms32006.MOT_N"],[Tt.Msg.MOTOR_P,"ms32006.MOT_P"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_STEPPER_SET_SPEED),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置直流电机的状态及转速(0-100)")}},or={init:function(){this.setColour(xu),this.appendValueInput("SUB").appendField("步进电机").setCheck("var"),this.appendDummyInput().appendField("选择").appendField(new Tt.FieldDropdown([["A","ms32006.MOT_A"],["B","ms32006.MOT_B"]]),"mode"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_Direction).appendField(new Tt.FieldDropdown([[Tt.Msg.CLOCKWISE,"ms32006.MOT_CW"],[Tt.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField("转速"),this.appendValueInput("steps").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField("步数"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置步进电机的状态、转速、步数(0-2047)")}},_r={init:function(){this.setColour(xu),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RGB),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_PIN),this.appendValueInput("LEDCOUNT").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_COUNT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Tt.Msg.MIXLY_RGB_PIN_COUNT)}},pr={init:function(){this.setColour(xu),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("_LED_").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Tt.Msg.MIXLY_RGB_NUM_R_G_B_MP)}},ar={init:function(){this.setColour(xu),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Tt.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},ur={init:function(){this.setColour(xu),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Tt.Msg.MIXLY_ESP32_MUSIC_WRI)}},rr={init:function(){this.setColour(xu),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(Tt.Msg.MIXLY_DURATION).appendField(Tt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},dr={init:function(){this.setColour(xu),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(Tt.Msg.PYTHON_RANGE_STEP).appendField(Tt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},lr={init:function(){this.setColour(xu),this.appendDummyInput("").appendField(Tt.Msg.CONTROLS_FOR_INPUT_WITH+"uart").appendField(new Tt.FieldDropdown([["uart1","uart1"],["uart2","uart2"]]),"key"),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_SETUP+Tt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new Tt.FieldDropdown([["SYN6288"+Tt.Msg.MIXLY_AipSpeech_synthesis,"SYN6288"],["NS9300"+Tt.Msg.MIXLY_MUSIC_PLAYER,"NS9300"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Ir={init:function(){this.setColour(xu),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_GET+Tt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_WHETHER).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_STOPPED,"0"],[Tt.Msg.MIXLY_PLAYING,"1"],[Tt.Msg.MIXLY_PAUSED,"2"]]),"key"),this.setInputsInline(!0),this.setOutput(!0)}},Tr={init:function(){this.setColour(xu),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_STAT).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MP3_PLAY,"1"],[Tt.Msg.MIXLY_MP3_PAUSE,"2"],[Tt.Msg.MIXLY_STOP,"3"],[Tt.Msg.MIXLY_MP3_PREV,"4"],[Tt.Msg.MIXLY_MP3_NEXT,"5"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Mr={init:function(){this.setColour(xu),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendValueInput("volume").appendField(Tt.Msg.MIXLY_MP3_VOL+Tt.Msg.MIXLY_STAT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.MIXLY_PLAYER_SET_VOLUME_TOOLTIP)}},hr={init:function(){this.setColour(xu),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MODE+Tt.Msg.MIXLY_STAT).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MP3_LOOP_ALL,"0"],[Tt.Msg.MIXLY_MP3_LOOP_ONE,"1"],[Tt.Msg.MIXLY_PLAYER_DIRECTORY_LOOP,"2"],[Tt.Msg.MIXLY_MP3_LOOP_RAM,"3"],[Tt.Msg.MIXLY_PLAYER_SINGLE_STOP,"4"],[Tt.Msg.MIXLY_PLAYER_SEQUENTIAL_PLAY,"5"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},mr={init:function(){this.setColour(xu),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_JS_START_MELODY,"play"],[Tt.Msg.MIXLY_PLAYER_INSERT_MUSIC,"insert"]]),"key"),this.appendValueInput("song"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.MIXLY_PLAYER_PLAY_MUSIC_TOOTIP)}},Er={},Or={init:function(){this.setColour(xu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(Tt.Msg.MIXLY_SET_VOLUME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},Rr={init:function(){this.setColour(xu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET_VOLUME),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},cr={init:function(){this.setColour(xu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(Tt.Msg.MIXLY_PLAY_HINTS),this.appendDummyInput().appendField(Tt.Msg.MIXLY_PROGRAM_BLOCK).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Tt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_PLAY_HINTS_TOOLTIP)}},gr={init:function(){this.setColour(xu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("data").setCheck(String).appendField(Tt.Msg.MIXLY_AipSpeech_synthesis),this.appendValueInput("VOICE").setCheck(Number).appendField(Tt.Msg.MIXLY_BACKGROUND_MUSIC),this.appendDummyInput().appendField(Tt.Msg.MIXLY_PROGRAM_BLOCK).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Tt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_PLAY_TTS_TOOLTIP)}},Cr={init:function(){this.setColour(xu),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.extern_addr),"PIN"),this.setOutput(!0,Number)}},Sr={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.ME_GO_MOTOR_EXTERN+Tt.Msg.MIXLY_MOTOR).appendField(Tt.Msg.PIN_NUMBERING).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_LEFT,"0"],[Tt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},Ar={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.ME_GO_MOTOR_EXTERN+Tt.Msg.MIXLY_MOTOR).appendField(Tt.Msg.PIN_NUMBERING).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_LEFT,"0"],[Tt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_GET+Tt.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},Lr={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.ME_GO_MOTOR_EXTERN+Tt.Msg.MIXLY_TRAFFIC_LIGHT).appendField(Tt.Msg.PIN_NUMBERING).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_LEFT,"0"],[Tt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.LISTS_SET_INDEX_SET).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_Turn_off_display,"0"],[Tt.Msg.MIXLY_TRAFFIC_LIGHT_RED_ON,"1"],[Tt.Msg.MIXLY_TRAFFIC_LIGHT_RED_BLINK,"2"],[Tt.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_ON,"3"],[Tt.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_BLINK,"4"],[Tt.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_ON,"5"],[Tt.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_BLINK,"6"]]),"light"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Nr={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.ME_GO_MOTOR_EXTERN).appendField(new Tt.FieldDropdown([[Tt.Msg.COLOUR_RGB_WHITE,"W"],[Tt.Msg.COLOUR_RGB_RED,"R"],[Tt.Msg.COLOUR_RGB_YELLOW,"Y"],[Tt.Msg.COLOUR_RGB_GREEN,"G"],[Tt.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(Tt.Msg.PIN_NUMBERING).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_LEFT,"0"],[Tt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("value").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Dr={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.ME_GO_MOTOR_EXTERN).appendField(new Tt.FieldDropdown([[Tt.Msg.COLOUR_RGB_WHITE,"W"],[Tt.Msg.COLOUR_RGB_RED,"R"],[Tt.Msg.COLOUR_RGB_YELLOW,"Y"],[Tt.Msg.COLOUR_RGB_GREEN,"G"],[Tt.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(Tt.Msg.PIN_NUMBERING).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_LEFT,"0"],[Tt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET+Tt.Msg.BRIGHTNESS),this.setOutput(!0,Number),this.setInputsInline(!0)}},fr={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.ME_GO_MOTOR_EXTERN+Tt.Msg.MIXLY_SERVO_MOTOR).appendField(Tt.Msg.PIN_NUMBERING).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_LEFT,"0"],[Tt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"[0]"],[Tt.Msg.MIXLY_SPEED,"[1]"],[Tt.Msg.MATH_SINGLE_OP_ABSOLUTE+Tt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[2]"],[Tt.Msg.MIXLY_RELATIVE+Tt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[3]"],[Tt.Msg.MIXLY_MIXBOT_SERVO_BLOCK_OR_NOT,"[4]"],[Tt.Msg.MIXLY_MIXBOT_SERVO_FINISH_OR_NOT,"[5]"],[Tt.Msg.MIXLY_ALL,""]]),"status"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Fr={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.ME_GO_MOTOR_EXTERN+Tt.Msg.MIXLY_SERVO_MOTOR).appendField(Tt.Msg.PIN_NUMBERING).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_LEFT,"0"],[Tt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MIXBOT_SERVO_SET_STOP_MODE).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_KEEP,"0"],[Tt.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_COAST,"1"],[Tt.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_BRAKE,"2"]]),"status"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Pr={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.ME_GO_MOTOR_EXTERN+Tt.Msg.MIXLY_SERVO_MOTOR).appendField(Tt.Msg.PIN_NUMBERING).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_LEFT,"0"],[Tt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_STOP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},vr={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.ME_GO_MOTOR_EXTERN+Tt.Msg.MIXLY_SERVO_MOTOR).appendField(Tt.Msg.MATH_SINGLE_OP_ABSOLUTE+Tt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+Tt.Msg.MSG.run).appendField(Tt.Msg.PIN_NUMBERING).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_LEFT,"0"],[Tt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MODE).setAlign(Tt.inputs.Align.RIGHT).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_SPEED+Tt.Msg.MIXLY_MODE,"0"],[Tt.Msg.MIXLY_MICROBIT_JS_BLE_POWER+Tt.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(Tt.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(Tt.inputs.Align.RIGHT).appendField(new Tt.FieldDropdown([[Tt.Msg.CLOCKWISE,"0"],[Tt.Msg.MIXLY_MIXBOT_SERVO_NEAREST_PATH,"1"],[Tt.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.appendValueInput("angle").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+Tt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_MIXBOT_SERVO_ABSOLUTE_ANGLE_TOOLTIP)}},Yr={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.ME_GO_MOTOR_EXTERN+Tt.Msg.MIXLY_SERVO_MOTOR).appendField(Tt.Msg.MIXLY_RELATIVE+Tt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+Tt.Msg.MSG.run).appendField(Tt.Msg.PIN_NUMBERING).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_LEFT,"0"],[Tt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ORIGIN_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Xr={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.ME_GO_MOTOR_EXTERN+Tt.Msg.MIXLY_SERVO_MOTOR).appendField(Tt.Msg.MIXLY_RELATIVE+Tt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+Tt.Msg.MSG.run).appendField("("+Tt.Msg.MIXLY_MIXBOT_SERVO_LIKE_ENCODING_MOTOR+")").appendField(Tt.Msg.PIN_NUMBERING).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_LEFT,"0"],[Tt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MODE).setAlign(Tt.inputs.Align.RIGHT).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_SPEED+Tt.Msg.MIXLY_MODE,"0"],[Tt.Msg.MIXLY_MICROBIT_JS_BLE_POWER+Tt.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(Tt.inputs.Align.RIGHT).appendField("%"),this.appendValueInput("angle").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+Tt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ANGLE_TOOLTIP)}},xr={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.ME_GO_MOTOR_EXTERN+Tt.Msg.MIXLY_SERVO_MOTOR).appendField(Tt.Msg.MIXLY_RELATIVE+Tt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+Tt.Msg.MSG.run).appendField("("+Tt.Msg.MIXLY_MIXBOT_SERVO_LIKE_ORDINARY_MOTOR+")").appendField(Tt.Msg.PIN_NUMBERING).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_LEFT,"0"],[Tt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MODE).setAlign(Tt.inputs.Align.RIGHT).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_SPEED+Tt.Msg.MIXLY_MODE,"0"],[Tt.Msg.MIXLY_MICROBIT_JS_BLE_POWER+Tt.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(Tt.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(Tt.inputs.Align.RIGHT).appendField(new Tt.FieldDropdown([[Tt.Msg.CLOCKWISE,"0"],[Tt.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},br={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.MIXBOT).appendField(Tt.Msg.ME_GO_MOTOR_EXTERN).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MOTOR,"ext_motor"],[Tt.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[Tt.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[Tt.Msg.COLOUR_RGB_RED+"LED","R_LED"],[Tt.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[Tt.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[Tt.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[Tt.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MIXBOT_EXTERN_GET_ADDR),this.setOutput(!0),this.setInputsInline(!0)}},yr={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.MIXBOT).appendField(Tt.Msg.ME_GO_MOTOR_EXTERN).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MOTOR,"ext_motor"],[Tt.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[Tt.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[Tt.Msg.COLOUR_RGB_RED+"LED","R_LED"],[Tt.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[Tt.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[Tt.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[Tt.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MIXBOT_EXTERN_SET_ADDR),this.appendValueInput("old").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE),this.appendValueInput("new").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_UPDATE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Vr={init:function(){this.setColour(xu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_SETUP+Tt.Msg.MIXLY_AT).appendField(Tt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},Br={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.MIXLY_SETTING),this.appendValueInput("pin").appendField("LED"),this.appendValueInput("bright").appendField(Tt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Gr={init:function(){this.setColour(xu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_SERVO+Tt.Msg.MIXLY_SETUP+Tt.Msg.MIXLY_AT).appendField(Tt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},Ur={init:function(){this.setColour(xu),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_SERVO),this.appendValueInput("angle").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE),this.appendDummyInput().appendField(Tt.Msg.DRAW_POINTER_ANGLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},wr={init:function(){this.setColour(xu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_MOTOR+Tt.Msg.MIXLY_SETUP+Tt.Msg.MIXLY_AT).appendField(Tt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},Hr={init:function(){this.setColour(xu),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_MOTOR),this.appendValueInput("speed").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+Tt.Msg.MIXLY_SPEED),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},kr="#6C9858",Wr={init:function(){this.setColour(kr),this.appendDummyInput("").appendField(new Tt.FieldDropdown([["L1","1"],["L2","2"]]),"op"),this.setOutput(!0)}},Kr={init:function(){this.setColour(kr),this.appendDummyInput("").appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_ESP32_ON,"1"],[Tt.Msg.MIXLY_ESP32_OFF,"0"],[Tt.Msg.MIXLY_ESP32_TOGGLE,"-1"]]),"flag"),this.setOutput(!0),this.setTooltip(Tt.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},Jr={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(Tt.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(Tt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_LED_SETONOFF)}},Qr={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(Tt.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(Tt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_LED_GETBRIGHT)}},qr={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(Tt.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(Tt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_LED_GETONOFF)}},zr={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(Tt.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(Tt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_SETTING+Tt.Msg.MIXLY_BUILDIN_LED+Tt.Msg.MIXLY_BRIGHTNESS+"(0-100%)")}},jr={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(Tt.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_LCD_SETCOLOR).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_LIGHT_RED,"1"],[Tt.Msg.MIXLY_LIGHT_GREEN,"2"],[Tt.Msg.MIXLY_LIGHT_BLUE,"3"],[Tt.Msg.MIXLY_LIGHT_YELLOW,"4"],[Tt.Msg.MIXLY_LIGHT_CYAN,"5"],[Tt.Msg.MIXLY_LIGHT_PURPLE,"6"],[Tt.Msg.MIXLY_LIGHT_WHITE,"7"]]),"colorvalue"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},$r={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_SETTING).appendField(Tt.Msg.MIXLY_BUILDIN_LED).appendField(new Tt.FieldDropdown([[Tt.Msg.COLOUR_RGB_RED,"r"],[Tt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(Tt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_LED_SETONOFF)}},Zr={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Tt.Msg.MIXLY_BUILDIN_LED).appendField(new Tt.FieldDropdown([[Tt.Msg.COLOUR_RGB_RED,"r"],[Tt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_LED_GETONOFF)}},td={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Tt.Msg.MIXLY_BUILDIN_LED).appendField(new Tt.FieldDropdown([[Tt.Msg.COLOUR_RGB_RED,"r"],[Tt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_LED_GETONOFF)}},ed={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_SETTING).appendField(Tt.Msg.MIXLY_BUILDIN_LED).appendField(new Tt.FieldDropdown([[Tt.Msg.COLOUR_RGB_RED,"r"],[Tt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(Tt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_SETTING+Tt.Msg.MIXLY_BUILDIN_LED+Tt.Msg.MIXLY_BRIGHTNESS+"(0-10)")}},id={init:function(){this.setColour(kr),this.appendDummyInput("").appendField(new Tt.FieldDropdown([["L1","20"],["L2","21"]]),"op"),this.setOutput(!0)}},nd={init:function(){this.setColour(kr),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(Mt.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgo_cc":case"micropython:esp32s2:mixgo_ce":this.setTooltip(Tt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgo_me":default:this.setTooltip(Tt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(Tt.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},sd={init:function(){this.setColour(kr),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Tt.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},od={init:function(){this.setColour(kr),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(Tt.Msg.MIXLY_DURATION).appendField(Tt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},_d={init:function(){this.setColour(kr),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(Tt.Msg.PYTHON_RANGE_STEP).appendField(Tt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},pd={init:function(){this.setColour(kr),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RGB),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Tt.Msg.MIXLY_ESP32_MUSIC_WRI)}},ad={init:function(){this.setColour(kr),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(Mt.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgocc":this.setTooltip(Tt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgome":default:this.setTooltip(Tt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(Tt.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},ud={init:function(){this.setColour(kr),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Tt.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},rd={init:function(){this.setColour(kr),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(Tt.Msg.PYTHON_RANGE_STEP).appendField(Tt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},dd={init:function(){this.setColour(kr),this.appendValueInput("TICKS").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(Tt.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(Tt.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},ld={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},Id={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_MUSIC_RESET)}},Td={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Tt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Md={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Tt.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(Tt.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},hd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},md={init:function(){this.setColour(kr),this.appendValueInput("LIST").appendField(Tt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Ed={init:function(){this.setColour(kr),this.appendValueInput("LIST").appendField(Tt.Msg.MIXLY_BACKSTAGE+Tt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Od={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MOTOR_DC).appendField(new Tt.FieldDropdown([["1","1"],["2","2"],["3","3"]]),"wheel"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_Direction).appendField(new Tt.FieldDropdown([[Tt.Msg.CLOCKWISE,"CW"],[Tt.Msg.ANTI_CLOCKWISE,"CCW"],[Tt.Msg.MOTOR_P,"P"],[Tt.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Rd={init:function(){this.setColour(kr),this.appendDummyInput().appendField("MixGo Car").appendField(new Tt.FieldDropdown([[Tt.Msg.blockpy_forward,"F"],[Tt.Msg.blockpy_backward,"B"],[Tt.Msg.blockpy_left,"L"],[Tt.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},cd={init:function(){this.setColour(kr),this.appendDummyInput("").appendField("MixGo Car").appendField(new Tt.FieldDropdown([[Tt.Msg.MOTOR_P,"P"],[Tt.Msg.MOTOR_N,"N"]]),"VAR"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},gd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MOTOR_DC).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[Tt.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_Direction).appendField(new Tt.FieldDropdown([[Tt.Msg.CLOCKWISE,"CW"],[Tt.Msg.ANTI_CLOCKWISE,"CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Cd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MOTOR_DC).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[Tt.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_STOP).appendField(new Tt.FieldDropdown([[Tt.Msg.MOTOR_P,"P"],[Tt.Msg.MOTOR_N,"N"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Sd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MIXBOT_MOTOR_STATUS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_MIXBOT_MOTOR_STATUS_TOOLTIP)}},Ad={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXBOT).appendField(new Tt.FieldDropdown([[Tt.Msg.blockpy_forward,"F"],[Tt.Msg.blockpy_backward,"B"],[Tt.Msg.blockpy_left,"L"],[Tt.Msg.blockpy_right,"R"]]),"VAR"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[Tt.Msg.MIXLY_SPEED,"SPEED"],[Tt.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},Ld={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXBOT).appendField(new Tt.FieldDropdown([[Tt.Msg.MOTOR_P,"P"],[Tt.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Nd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXBOT).appendField(Tt.Msg.MIXLY_MOTOR).appendField(new Tt.FieldDropdown([[Tt.Msg.TEXT_TRIM_LEFT,"1"],[Tt.Msg.TEXT_TRIM_RIGHT,"2"],[Tt.Msg.TEXT_TRIM_BOTH,"0"]]),"wheel"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[Tt.Msg.MIXLY_SPEED,"SPEED"],[Tt.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},Dd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MIXBOT_BUZZER),this.appendDummyInput().appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,"0"],[Tt.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,"1"]]),"on_off"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},fd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.BITBOT).appendField(new Tt.FieldDropdown([[Tt.Msg.blockpy_forward,"F"],[Tt.Msg.blockpy_backward,"B"],[Tt.Msg.blockpy_left,"L"],[Tt.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Fd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.BITBOT).appendField(new Tt.FieldDropdown([[Tt.Msg.MOTOR_P,"P"],[Tt.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Pd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.BITBOT).appendField(Tt.Msg.MIXLY_MOTOR).appendField(new Tt.FieldDropdown([[Tt.Msg.TEXT_TRIM_LEFT,"0"],[Tt.Msg.TEXT_TRIM_RIGHT,"1"]]),"wheel"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_Direction).appendField(new Tt.FieldDropdown([[Tt.Msg.CLOCKWISE,"CW"],[Tt.Msg.ANTI_CLOCKWISE,"CCW"],[Tt.Msg.MOTOR_P,"P"],[Tt.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},vd={init:function(){this.setColour(kr),this.appendValueInput("bright").appendField(Tt.Msg.MIXLY_MIXBOT_SOUND_SET_LOUDNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_LED_SETONOFF)}},Yd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MIXBOT_SOUND_LOUDNESS+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_LED_GETONOFF)}},Xd={init:function(){this.setColour(kr),this.appendValueInput("bright").appendField(Tt.Msg.MIXLY_SETTING+Tt.Msg.MIXLY_MIXBOT_BUZZER+Tt.Msg.MIXLY_MP3_VOL),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_LED_SETONOFF)}},xd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET+Tt.Msg.MIXLY_MIXBOT_BUZZER+Tt.Msg.MIXLY_MP3_VOL+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_LED_GETONOFF)}},bd={init:function(){this.setColour(kr),this.appendValueInput("PATH").appendField(Tt.Msg.MIXLY_RECORD_AUDIO).appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendValueInput("TIME").setCheck(Number).appendField(Tt.Msg.MIXLY_GET_PRESSES_TIME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},yd={init:function(){this.setColour(kr),this.appendValueInput("PATH").appendField(Tt.Msg.MIXLY_PLAY_AUDIO).appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Vd={init:function(){this.setColour(kr),this.appendValueInput("PATH").appendField(Tt.Msg.MIXLY_PLAY_ONLINE_AUDIO).appendField("URL"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Bd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Tt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Gd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ud={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.LISTS_SET_INDEX_SET+Tt.Msg.ME_GO_MOTOR_EXTERN).appendField(Tt.Msg.PIN_NUMBERING);if("micropython:esp32c2:mixgo_mini"===Mt.Boards.getSelectedBoardKey())this.appendDummyInput().appendField(new Tt.FieldDropdown([["1","1"],["2","2"]]),"index");else this.appendDummyInput().appendField(new Tt.FieldDropdown([["1","1"],["2","2"],["3","3"],["4","4"]]),"index");this.appendValueInput("duty").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.blynk_IOT_IR_POWER+Tt.Msg.MIXLY_PINMODEOUT),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},wd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET+Tt.Msg.ME_GO_MOTOR_EXTERN).appendField(Tt.Msg.PIN_NUMBERING);if("micropython:esp32c2:mixgo_mini"===Mt.Boards.getSelectedBoardKey())this.appendDummyInput().appendField(new Tt.FieldDropdown([["1","1"],["2","2"]]),"index");else this.appendDummyInput().appendField(new Tt.FieldDropdown([["1","1"],["2","2"],["3","3"],["4","4"]]),"index");this.appendDummyInput().setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.blynk_IOT_IR_POWER+Tt.Msg.MIXLY_PINMODEOUT+Tt.Msg.MIXLY_DUTY_RATIO),this.setOutput(!0,Number),this.setInputsInline(!0)}},Hd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.LISTS_SET_INDEX_SET+Tt.Msg.ME_GO_MOTOR_EXTERN).appendField(Tt.Msg.MIXLY_ALL+Tt.Msg.PIN_NUMBERING),this.appendValueInput("duty").setCheck(Number).setAlign(Tt.ALIGN_RIGHT).appendField(Tt.Msg.blynk_IOT_IR_POWER+Tt.Msg.MIXLY_PINMODEOUT+Tt.Msg.MIXLY_FREQUENCY),this.appendDummyInput().appendField("Hz"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},kd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.ANALOG+Tt.Msg.MIXLY_KEYBOARD_INPUT),this.appendValueInput("special"),this.appendValueInput("general"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_RELEASE).appendField(new Tt.FieldDropdown([[Tt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[Tt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"release"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.ANALOG+Tt.Msg.MIXLY_KEYBOARD_INPUT)}},Wd={init:function(){this.setColour(kr),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_SPECIAL_KEY).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_SPECIAL_KEY0,"0x00"],[Tt.Msg.MIXLY_SPECIAL_KEY1,"0x01"],[Tt.Msg.MIXLY_SPECIAL_KEY2,"0x02"],[Tt.Msg.MIXLY_SPECIAL_KEY4,"0x04"],[Tt.Msg.MIXLY_SPECIAL_KEY8,"0x08"],[Tt.Msg.MIXLY_SPECIAL_KEY16,"0x10"],[Tt.Msg.MIXLY_SPECIAL_KEY32,"0x20"],[Tt.Msg.MIXLY_SPECIAL_KEY64,"0x40"],[Tt.Msg.MIXLY_SPECIAL_KEY128,"0x80"]]),"op"),this.setOutput(!0)}},Kd={init:function(){this.setColour(kr),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_GENERAL_KEY).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_SPECIAL_KEY0,"0x00"],["A","0x04"],["B","0x05"],["C","0x06"],["D","0x07"],["E","0x08"],["F","0x09"],["G","0x0A"],["H","0x0B"],["I","0x0C"],["J","0x0D"],["K","0x0E"],["L","0x0F"],["M","0x10"],["N","0x11"],["O","0x12"],["P","0x13"],["Q","0x14"],["R","0x15"],["S","0x16"],["T","0x17"],["U","0x18"],["V","0x19"],["W","0x1A"],["X","0x1B"],["Y","0x1C"],["Z","0x1D"],["1 !","0x1E"],["2 @","0x1F"],["3 #","0x20"],["4 $","0x21"],["5 %","0x22"],["6 ^","0x23"],["7 &","0x24"],["8 *","0x25"],["9 (","0x26"],["0 )","0x27"],["ENTER","0x28"],["ESC","0x29"],["BACKSPACE","0x2A"],["TAB","0x2B"],["SPACE","0x2C"],["- _","0x2D"],["= +","0x2E"],["[ {","0x2F"],["] }","0x30"],["\\ |","0x31"],["; :","0x33"],["' \"","0x34"],["` ~","0x35"],[", <","0x36"],[". >","0x37"],["/ ?","0x38"],["CAPS_LOCK","0x39"],["F1","0x3A"],["F2","0x3B"],["F3","0x3C"],["F4","0x3D"],["F5","0x3E"],["F6","0x3F"],["F7","0x40"],["F8","0x41"],["F9","0x42"],["F10","0x43"],["F11","0x44"],["F12","0x45"],["PRINTSCREEN","0x46"],["SCROLL_LOCK","0x47"],["PAUSE","0x48"],["INSERT","0x49"],["HOME","0x4A"],["PAGE_UP","0x4B"],["DELETE","0x4C"],["END","0x4D"],["PAGE_DOWN","0x4E"],["RIGHT","0x4F"],["LEFT","0x50"],["DOWN","0x51"],["UP","0x52"],["NUM_LOCK","0x53"],["/","0x54"],["*","0x55"],["-","0x56"],["+","0x57"],["ENTER","0x58"],["1","0x59"],["2","0x5A"],["3","0x5B"],["4","0x5C"],["5","0x5D"],["6","0x5E"],["7","0x5F"],["8","0x60"],["9","0x61"],["0","0x62"],[".","0x63"]]),"op"),this.setOutput(!0)}},Jd={init:function(){this.setColour(kr),this.itemCount_=2,this.updateShape_(),this.setOutput(!0),this.setMutator(new Tt.icons.MutatorIcon(["generalkey_create_with_item"],this)),this.setTooltip(Tt.Msg.GENERALKEY_TUPLE_CREATE_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("generalkey_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;nnew Array(32).fill(0)))},yh={init:function(){this.jsonInit({colour:Lh,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SAD","SAD"],["SMILE","SMILE"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["SURPRISED","SURPRISED"],["ASLEEP","ASLEEP"],["ANGRY","ANGRY"],["CONFUSED","CONFUSED"],["NO","NO"],["YES","YES"]],type:"field_dropdown"}],output:["esp32_image","List"],helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#attributes",tooltip:Tt.Msg.MIXLY_MICROBIT_Built_in_image1,message0:Tt.Msg.MIXLY_MICROBIT_Built_in_image})}},Vh={init:function(){this.setColour(Lh),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new Tt.FieldDropdown(Mt.Profile.default.builtinimg),"image"),this.setOutput(!0,["esp32_image","List"])}},Bh={init:function(){this.setColour(Lh),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(Tt.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new Tt.FieldDropdown(Bh.OPERATORS),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{"+":Tt.Msg.MIXLY_MICROBIT_image_add,"-":Tt.Msg.MIXLY_MICROBIT_image_reduce}[e]}))},OPERATORS:[[Tt.Msg.MICROBIT_DISPLAY_UNION,"add"],[Tt.Msg.MICROBIT_DISPLAY_MINUS,"sub"]]},Gh={init:function(){this.setColour(Lh),this.appendValueInput("A").setCheck("esp32_image").appendField(Tt.Msg.MIXLY_MICROBIT_Invert_image1),this.setInputsInline(!0),this.setOutput(!0,"esp32_image")}},Uh={init:function(){this.setColour(Lh),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(Tt.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(Tt.Msg.DISPLAY_IMAGE_LET2).appendField(new Tt.FieldDropdown(Uh.OPERATORS),"OP"),this.appendValueInput("val").appendField(Tt.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(Tt.Msg.DISPLAY_IMAGE_UNIT);Mt.Boards.getSelectedBoardKey();"Python ESP32-S3"===Mt.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(Tt.Msg.MIXLY_synchronize);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=Tt.Msg.DISPLAY_IMAGE_LET,n=Tt.Msg.DISPLAY_IMAGE_LET2,s=Tt.Msg.DISPLAY_IMAGE_LET3;return i+n+{shift_up:Tt.Msg.MIXLY_UP,shift_down:Tt.Msg.MIXLY_DOWN,shift_left:Tt.Msg.MIXLY_LEFT,shift_right:Tt.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[Tt.Msg.MIXLY_UP,"shift_up"],[Tt.Msg.MIXLY_DOWN,"shift_down"],[Tt.Msg.MIXLY_LEFT,"shift_left"],[Tt.Msg.MIXLY_RIGHT,"shift_right"]]},wh={init:function(){this.setColour(Lh),this.appendValueInput("x").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_JS_MONITOR_GET_POINT),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Tt.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},Hh={init:function(){this.setColour(Lh),this.appendValueInput("x").setCheck(Number).appendField(Tt.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},kh={init:function(){this.setColour(Lh),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Tt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},Wh={init:function(){this.setColour(Lh),this.appendValueInput("x").setCheck(Number).appendField(Tt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},Kh={init:function(){this.setColour(Lh),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_Clear_display);Mt.Boards.getSelectedBoardKey();"Python ESP32-S3"===Mt.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(Tt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_Clear_display)}},Jh={init:function(){this.setColour(Lh),this.appendDummyInput().appendField(Tt.Msg.MIXLY_SHOW+Tt.Msg.MIXLY_DISPLAY_MATRIX_WRITE_NOW),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Qh={init:function(){this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<5;t++){let e=this.appendDummyInput();for(let i=0;i<8;i++)e.appendField(new Tt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${Tt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(Lh),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Tt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},qh={init:function(){this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Tt.inputs.Align.CENTRE).appendField(new Tt.FieldBitmap(qh.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Lh),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(8).fill(0)))},zh={init:function(){this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<8;t++){let e=this.appendDummyInput();for(let i=0;i<12;i++)e.appendField(new Tt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${Tt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(Lh),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Tt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},jh={init:function(){this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Tt.inputs.Align.CENTRE).appendField(new Tt.FieldBitmap(jh.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Lh),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(12).fill(0)))},$h={init:function(){this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<8;t++){let e=this.appendDummyInput();for(let i=0;i<16;i++)e.appendField(new Tt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${Tt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0,"esp32_image"),this.setColour(Lh),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Tt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Zh={init:function(){this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Tt.inputs.Align.CENTRE).appendField(new Tt.FieldBitmap(Zh.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Lh),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(16).fill(0)))},tm={init:function(){this.setColour(Lh),this.appendDummyInput().appendField(Tt.Msg.OLED_SET_FONT).appendField(new Tt.FieldDropdown(tm.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[["4x5"+Tt.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'4x5'"],["5x5"+Tt.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'5x5'"],["5x8"+Tt.Msg.MIXGO_ME_DISPLAY_VERTICAL,"'5x8'"]]},em={init:function(){this.setColour(Lh),this.appendValueInput("data").appendField(Tt.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.OLED_BITMAP_OR_STRING)}},im={init:function(){this.setColour(Lh),this.appendValueInput("data").appendField(Tt.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.OLED_BITMAP_OR_STRING)}},nm={init:function(){this.setColour(Lh),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(Tt.Msg.OLED_DRAWSTR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.OLED_BITMAP_OR_STRING)}},sm={init:function(){this.setColour(Lh),this.appendValueInput("data").appendField(Tt.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Tt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(Tt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(Tt.Msg.TEXT_CENTER).appendField(new Tt.FieldDropdown([[Tt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[Tt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},om={init:function(){this.setColour(Lh),this.appendValueInput("data").appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Tt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(Tt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},_m={init:function(){this.setColour(Lh),this.appendValueInput("data").appendField(Tt.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(Tt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},pm={init:function(){this.setColour(Lh),this.appendValueInput("x").setCheck(Number).appendField(Tt.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},am={init:function(){this.jsonInit({colour:Lh,args0:[{name:"state",options:[[Tt.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[Tt.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"shape",options:[[Tt.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[Tt.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"}],inputsInline:!0,helpUrl:Tt.Msg.mpython_HELPURL,tooltip:Tt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:Tt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},um={init:function(){this.jsonInit({colour:Lh,args0:[{name:"state",options:[[Tt.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[Tt.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"dir_h_v",options:[[Tt.Msg.mpython_vertical,"0"],[Tt.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"}],inputsInline:!0,helpUrl:Tt.Msg.mpython_HELPURL,tooltip:Tt.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:Tt.Msg.MPYTHON_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},rm={init:function(){this.jsonInit({colour:Lh,args0:[{name:"state",options:[[Tt.Msg.mpython_display_hline_1,"1"],[Tt.Msg.mpython_display_hline_0,"0"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"}],inputsInline:!0,helpUrl:Tt.Msg.mpython_HELPURL,tooltip:Tt.Msg.mpython_display_line_TOOLTIP,message0:Tt.Msg.mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},dm={init:function(){this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new Tt.FieldDropdown(dm.IMAGES),"path"),this.setColour(Lh),this.setOutput(!0)},IMAGES:[["Heart","expression_picture.Heart"],["Angry","expression_picture.Angry"],["Bored","expression_picture.Bored"],["Confused","expression_picture.Confused"],["Happy","expression_picture.Happy"],["Paper","expression_picture.Paper"],["Rock","expression_picture.Rock"],["Sad","expression_picture.Sad"],["Scissors","expression_picture.Scissors"],["Silly","expression_picture.Silly"],["Sleep","expression_picture.Sleep"],["Small_heart","expression_picture.Small_heart"],["Small_paper","expression_picture.Small_paper"],["Small_rock","expression_picture.Small_rock"],["Small_scissors","expression_picture.Small_scissors"],["Smile","expression_picture.Smile"],["Surprise","expression_picture.Surprise"],["Wonderful","expression_picture.Wonderful"],["Eyes_Angry","eye_picture.Eyes_Angry"],["Awake","eye_picture.Awake"],["Black_eye","eye_picture.Black_eye"],["Bottom_left","eye_picture.Bottom_left"],["Bottom_right","eye_picture.Bottom_right"],["Crazy_1","eye_picture.Crazy_1"],["Crazy_2","eye_picture.Crazy_2"],["Disappointed","eye_picture.Disappointed"],["Dizzy","eye_picture.Dizzy"],["Down","eye_picture.Down"],["Evil","eye_picture.Evil"],["Hurt","eye_picture.Hurt"],["Knocked_out","eye_picture.Knocked_out"],["Love","eye_picture.Love"],["Middle_left","eye_picture.Middle_left"],["Middle_right","eye_picture.Middle_right"],["Neutral","eye_picture.Neutral"],["Nuclear","eye_picture.Nuclear"],["Pinch_left","eye_picture.Pinch_left"],["Pinch_middle","eye_picture.Pinch_middle"],["Pinch_right","eye_picture.Pinch_right"],["Tear","eye_picture.Tear"],["Tired_left","eye_picture.Tired_left"],["Tired_middle","eye_picture.Tired_middle"],["Tired_right","eye_picture.Tired_right"],["Toxic","eye_picture.Toxic"],["Up","eye_picture.Up"],["Winking","eye_picture.Winking"],["Accept","informatio_picture.Accept"],["Backward","informatio_picture.Backward"],["Decline","informatio_picture.Decline"],["Forward","informatio_picture.Forward"],["Left","informatio_picture.Left"],["No_go","informatio_picture.No_go"],["Question_mark","informatio_picture.Question_mark"],["Right","informatio_picture.Right"],["Stop_1","informatio_picture.Stop_1"],["Stop_2","informatio_picture.Stop_2"],["Thumbs_down","informatio_picture.Thumbs_down"],["Thumbs_up","informatio_picture.Thumbs_up"],["Warning","informatio_picture.Warning"],["Bomb","object_picture.Bomb"],["Boom","object_picture.Boom"],["Fire","object_picture.Fire"],["Flowers","object_picture.Flowers"],["Forest","object_picture.Forest"],["Lightning","object_picture.Lightning"],["Light_off","object_picture.Light_off"],["Light_on","object_picture.Light_on"],["Night","object_picture.Night"],["Pirate","object_picture.Pirate"],["Snow","object_picture.Snow"],["Target","object_picture.Target"],["Bar_0","progres_picture.Bar_0"],["Bar_1","progres_picture.Bar_1"],["Bar_2","progres_picture.Bar_2"],["Bar_3","progres_picture.Bar_3"],["Bar_4","progres_picture.Bar_4"],["Dial_0","progres_picture.Dial_0"],["Dial_1","progres_picture.Dial_1"],["Dial_2","progres_picture.Dial_2"],["Dial_3","progres_picture.Dial_3"],["Dial_4","progres_picture.Dial_4"],["Dots_0","progres_picture.Dots_0"],["Dots_1","progres_picture.Dots_1"],["Dots_2","progres_picture.Dots_2"],["Dots_3","progres_picture.Dots_3"],["Hourglass_0","progres_picture.Hourglass_0"],["Hourglass_1","progres_picture.Hourglass_1"],["Hourglass_2","progres_picture.Hourglass_2"],["Timer_0","progres_picture.Timer_0"],["Timer_1","progres_picture.Timer_1"],["Timer_2","progres_picture.Timer_2"],["Timer_3","progres_picture.Timer_3"],["Timer_4","progres_picture.Timer_4"],["Water_level_0","progres_picture.Water_level_0"],["Water_level_1","progres_picture.Water_level_1"],["Water_level_2","progres_picture.Water_level_2"],["Water_level_3","progres_picture.Water_level_3"],["YES","informatio_picture.YES"],["NO","informatio_picture.NO"]]},lm={init:function(){this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<5;t++){let e=this.appendDummyInput();for(let i=0;i<5;i++)e.appendField(new Tt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${Tt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(Lh),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Tt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Im={init:function(){this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Tt.inputs.Align.CENTRE).appendField(new Tt.FieldBitmap(Im.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Lh),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(5).fill(0)))},Tm={init:function(){this.setColour(Lh),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Tt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},Mm={init:function(){this.setColour(Lh),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MIXBOT_AMBIENTBRIGHT),this.setInputsInline(!0),this.setOutput(!0,Number)}},hm={init:function(){this.setColour(Lh),this.appendValueInput("x").setCheck(Number).appendField(Tt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},mm={init:function(){this.setColour(Lh),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MIXBOT_SCREEN_ROTATE).appendField(new Tt.FieldDropdown(mm.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[[Tt.Msg.mixpy_PL_PIE_SHADOW_N,"0"],[Tt.Msg.CLOCKWISE+"90"+Tt.Msg.blockpy_setheading_degree,"1"],[Tt.Msg.CLOCKWISE+"180"+Tt.Msg.blockpy_setheading_degree,"2"],[Tt.Msg.CLOCKWISE+"270"+Tt.Msg.blockpy_setheading_degree,"3"]]},Em={init:function(){this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<12;t++){let e=this.appendDummyInput();for(let i=0;i<12;i++)e.appendField(new Tt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${Tt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(Lh),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Tt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Om={init:function(){this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Tt.inputs.Align.CENTRE).appendField(new Tt.FieldBitmap(Om.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Lh),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:12},(()=>new Array(12).fill(0)))},Rm={init:function(){this.setColour(Lh),this.appendValueInput("data").appendField(Tt.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(Tt.Msg.HTML_COLOUR);Mt.Boards.getSelectedBoardKey();"Python ESP32-S3"===Mt.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(Tt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},cm={init:function(){this.setColour(Lh),this.appendValueInput("x").setCheck(Number).appendField(Tt.Msg.OLED_BITMAP).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("direct").setCheck(String).appendField(Tt.Msg.MIXLY_AipImageClassify_Image+Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},gm={init:function(){this.setColour(Lh),this.appendValueInput("data").appendField(Tt.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Tt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(Tt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(Tt.Msg.TEXT_CENTER).appendField(new Tt.FieldDropdown([[Tt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[Tt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.appendValueInput("VAR").appendField(Tt.Msg.HTML_COLOUR);Mt.Boards.getSelectedBoardKey();"Python ESP32-S3"===Mt.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(Tt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},Cm={init:function(){this.setColour(Lh),this.appendValueInput("data").appendField(Tt.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(Tt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("VAR").appendField(Tt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Sm={init:function(){this.jsonInit({colour:Lh,args0:[{name:"shape",options:[[Tt.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[Tt.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:Tt.Msg.mpython_HELPURL,tooltip:Tt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:Tt.Msg.ONBOARD_TFT_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},Am={init:function(){this.jsonInit({colour:Lh,args0:[{name:"dir_h_v",options:[[Tt.Msg.mpython_vertical,"0"],[Tt.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:Tt.Msg.mpython_HELPURL,tooltip:Tt.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:Tt.Msg.ONBOARD_TFT_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},Lm={init:function(){this.jsonInit({colour:Lh,args0:[{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:Tt.Msg.mpython_HELPURL,tooltip:Tt.Msg.mpython_display_line_TOOLTIP,message0:Tt.Msg.onboard_mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},Nm={init:function(){this.setColour(Lh),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("x").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(Tt.Msg.HTML_COLOUR),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Tt.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},Dm={init:function(){this.setColour(Lh),this.appendValueInput("x").setCheck(Number).appendField(Tt.Msg.MIXLY_LCD_SETCOLOR).appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("VAR").appendField(Tt.Msg.HTML_COLOUR);Mt.Boards.getSelectedBoardKey();"Python ESP32-S3"===Mt.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(Tt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},fm={init:function(){this.setColour(Lh),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_SCREEN_FILL);Mt.Boards.getSelectedBoardKey();"Python ESP32-S3"===Mt.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(Tt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Fm={init:function(){this.setColour(Lh),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_INIT_CLOCK),this.appendDummyInput().appendField(Tt.Msg.MIXLY_CENTER_POS),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Tt.Msg.OLED_CIRCLE_RADIUS),this.appendValueInput("VAR").appendField(Tt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Pm={init:function(){this.setColour(Lh),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Tt.Msg.GET_RTCTIME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},vm={init:function(){this.setColour(Lh),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Tt.Msg.SET_TIME),this.appendValueInput("h").setCheck(Number).appendField(Tt.Msg.MIXLY_HOUR),this.appendValueInput("m").setCheck(Number).appendField(Tt.Msg.MIXLY_MINUTE),this.appendValueInput("s").setCheck(Number).appendField(Tt.Msg.MIXLY_SECOND),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Ym={init:function(){this.setColour(Lh),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Tt.Msg.DRAW_CLOCK),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Xm={init:function(){this.setColour(Lh),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Tt.Msg.CLEAR_CLOCK),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_STM32_TFT_BACKGROUND_COLOR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},xm={init:function(){this.jsonInit({colour:Lh,args0:[{name:"shape",options:[[Tt.Msg.MPYTHON_DISPLAY_HOLLOW,"False"],[Tt.Msg.MPYTHON_DISPLAY_SOLID,"True"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"r",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:Tt.Msg.mpython_HELPURL,message0:Tt.Msg.ONBOARD_TFT_DISPLAY_SHAPE_CIRCLE_MESSAGE0,nextStatement:null,previousStatement:null})}},bm={init:function(){this.setColour(Lh),this.appendDummyInput().appendField(Tt.Msg.DRAW_POINTER).appendField(Tt.Msg.DRAW_POINTER_ANGLE),this.appendValueInput("angle"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_DRAW_POINTER_DU),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.DRAW_POINTER_TOOLTIP)}},ym={init:function(){this.setColour(Lh),this.appendDummyInput().appendField(Tt.Msg.DRAW_POINTER).appendField(Tt.Msg.DRAW_POINTER_ANGLE),this.appendValueInput("angle"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_DRAW_POINTER_DU),this.appendValueInput("VAR").appendField(Tt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.DRAW_POINTER_TOOLTIP)}},Vm={init:function(){this.setColour(Lh),this.appendValueInput("data").appendField(Tt.Msg.MIXLY_Display_long_text),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(Tt.Msg.HTML_COLOUR);Mt.Boards.getSelectedBoardKey();"Python ESP32-S3"===Mt.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(Tt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Bm={init:function(){this.setColour(Lh),this.appendValueInput("direct").appendField(Tt.Msg.OLED_BITMAP).appendField(Tt.Msg.MIXLY_QR_CODE),"Python ESP32-S3"===Mt.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(Tt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Gm={init:function(){this.setColour(Lh),this.appendValueInput("data").appendField(Tt.Msg.OLED_BITMAP).appendField(Tt.Msg.MIXLY_QR_CODE),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_ERROR_RATE).appendField(new Tt.FieldDropdown([["0","7%"],["1","15%"],["2","25%"],["3","30"]]),"correct"),this.appendValueInput("VAR").appendField(Tt.Msg.HTML_COLOUR),"Python ESP32-S3"===Mt.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(Tt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Um={init:function(){this.setColour(Lh),this.appendValueInput("data").appendField(Tt.Msg.OLED_BITMAP),this.appendDummyInput().appendField(`(${Tt.Msg.MIXLY_DEPRECATED})`),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.OLED_BITMAP_OR_STRING),this.setWarningText(Tt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},wm={init:function(){fh.init.call(this),this.appendDummyInput().appendField(`(${Tt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Tt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Hm={init:function(){Yh.init.call(this),this.appendDummyInput().appendField(`(${Tt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Tt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},km={init:function(){Uh.init.call(this),this.appendDummyInput().appendField(`(${Tt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Tt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Wm={init:function(){kh.init.call(this),this.appendDummyInput().appendField(`(${Tt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Tt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Km={init:function(){Wh.init.call(this),this.appendDummyInput().appendField(`(${Tt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Tt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Jm={init:function(){Kh.init.call(this),this.appendDummyInput().appendField(`(${Tt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Tt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Qm=180,qm={init:function(){this.setColour(Qm),this.setOutput(!0),this.setInputsInline(!0),this.appendValueInput("img").appendField(Tt.Msg.DISPLAY_IMAGE_LET).setCheck(["esp32_image","List",String]),this.appendDummyInput("").appendField(Tt.Msg.DISPLAY_IMAGE_LET2).appendField(new Tt.FieldDropdown(qm.OPERATORS),"OP"),this.appendValueInput("val").appendField(Tt.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(Tt.Msg.DISPLAY_IMAGE_UNIT);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=Tt.Msg.DISPLAY_IMAGE_LET,n=Tt.Msg.DISPLAY_IMAGE_LET2,s=Tt.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:Tt.Msg.MIXLY_UP,down:Tt.Msg.MIXLY_DOWN,left:Tt.Msg.MIXLY_LEFT,right:Tt.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[Tt.Msg.MIXLY_UP,"up"],[Tt.Msg.MIXLY_DOWN,"down"],[Tt.Msg.MIXLY_LEFT,"left"],[Tt.Msg.MIXLY_RIGHT,"right"]]},zm={init:function(){this.setColour(Qm),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(Tt.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new Tt.FieldDropdown(zm.OPERATORS),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{"+":Tt.Msg.MIXLY_MICROBIT_image_add,"-":Tt.Msg.MIXLY_MICROBIT_image_reduce}[e]}))},OPERATORS:[[Tt.Msg.MICROBIT_DISPLAY_UNION,"+"],[Tt.Msg.MICROBIT_DISPLAY_MINUS,"-"]]},jm={init:function(){this.setColour(Qm),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+Tt.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("esp32_image"),this.appendDummyInput("").appendField(new Tt.FieldDropdown(jm.OPERATORS),"OP"),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+Tt.Msg.MIXLY_MICROBIT_IMAGE+{height:Tt.Msg.MIXLY_HEIGHT,width:Tt.Msg.MIXLY_WIDTH}[e]}))},OPERATORS:[[Tt.Msg.MIXLY_HEIGHT,"height"],[Tt.Msg.MIXLY_WIDTH,"width"]]},$m={init:function(){this.setColour(Qm),this.appendValueInput("VAR").appendField(Tt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RECT).appendField(new Tt.FieldDropdown($m.STATUS),"OP"),this.jsonInit({message0:Tt.Msg.MIXLY_MICROBIT_SHOW_RECT,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"width"},{check:Number,type:"input_value",name:"height"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Tt.Msg.MIXLY_OLED_RECT)},STATUS:[[Tt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[Tt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},Zm={init:function(){this.setColour(Qm),this.appendValueInput("VAR").appendField(Tt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE).appendField(new Tt.FieldDropdown(Zm.STATUS),"OP"),this.jsonInit({message0:Tt.Msg.MIXLY_HANBIT_SHOW_CIRCLE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"r"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Tt.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE)},STATUS:[[Tt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[Tt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},tE={init:function(){this.setColour(Qm),this.appendValueInput("VAR").appendField(Tt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_DISPLAY_DRAW+Tt.Msg.MIXLY_HANBIT_DRAW_TRIANGLE).appendField(new Tt.FieldDropdown(tE.STATUS),"OP"),this.jsonInit({message0:Tt.Msg.MIXLY_HANBIT_SHOW_triangle,args0:[{check:Number,type:"input_value",name:"x0"},{check:Number,type:"input_value",name:"y0"},{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Tt.Msg.MIXLY_DISPLAY_DRAW+Tt.Msg.MIXLY_HANBIT_DRAW_TRIANGLE)},STATUS:[[Tt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[Tt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},eE="#777777",iE={init:function(){this.setColour(eE),this.appendDummyInput("").appendField("from ").appendField(new Tt.FieldTextInput("ESP32"),"path").appendField(" import ").appendField(new Tt.FieldTextInput("*"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},nE={init:function(){this.setColour(eE),this.appendDummyInput("").appendField("import ").appendField(new Tt.FieldTextInput("module"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},sE={init:function(){this.setColour(eE),this.appendDummyInput("").appendField(new Tt.FieldTextInput("my_function"),"NAME"),this.itemCount_=1,this.arguments_=["x"],this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Tt.icons.MutatorIcon(["factory_create_with_item"],this))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("items",this.itemCount_);for(var e=0;ee?t[e]:'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Tt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},WE={init:function(){this.setColour(VE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(Tt.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},KE={init:function(){this.setColour(VE),this.appendDummyInput().appendField(Tt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},JE={init:function(){this.setColour(VE),this.appendDummyInput().appendField(Tt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},QE={init:function(){this.setColour(VE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").setCheck(String).appendField(Tt.Msg.MIXLY_EMQX_SERVER).setAlign(Tt.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(Tt.Msg.MIXLY_WIFI_USERNAME).setAlign(Tt.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(Tt.Msg.MIXLY_IOT_PASSWORD).setAlign(Tt.inputs.Align.RIGHT),this.appendValueInput("PROJECT").setCheck(String).appendField(Tt.Msg.MIXLY_EMQX_PROJECT).setAlign(Tt.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},qE={init:function(){this.setColour(VE),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(Tt.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(Tt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(Tt.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},zE={init:function(){this.setColour(VE),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(Tt.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(Tt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(Tt.Msg.HTML_BODY),this.appendDummyInput().appendField(Tt.Msg.MIXLY_Service_quality_display).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_AT_MOST_ONCE,"0"],[Tt.Msg.MIXLY_AT_LEAST_ONCE,"1"]]),"quality"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},jE={init:function(){this.setColour(VE),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(Tt.Msg.MIXLY_EMQX_SUBSCRIBE+Tt.Msg.MIXLY_MICROBIT_MSG).appendField(Tt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(Tt.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_IOT_EMQX_SUBSCRIBE_TOOLTIP)}},$E={init:function(){this.setColour(VE),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ZE={init:function(){this.setColour(VE),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_EMQX_CONNECT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},tO={init:function(){this.setColour(VE),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_CHECK_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},eO={init:function(){this.setColour(VE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(Tt.Msg.MQTT_Topic),this.setInputsInline(!0),this.setOutput(!0)}},iO={init:function(){this.setColour(VE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(Tt.Msg.MIXLY_EMQX_PUBLISH_MSG),this.setInputsInline(!0),this.setOutput(!0)}},nO={init:function(){this.setColour(VE),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_ESP32_IOT_MAP_FORMATING),this.setOutput(!0)}},sO={init:function(){this.setColour(VE),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_MICROPYTHON_FORMAT+"(Json)"),this.setOutput(!0)}},oO={init:function(){this.setColour(VE),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_EMQX_PING),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_IOT_EMQX_PING_TOOLTIP)}},_O={init:function(){this.setColour(VE),this.appendDummyInput().appendField("MixIO").appendField(Tt.Msg.MIXLY_GET_NTP),this.appendValueInput("addr").appendField(Tt.Msg.blynk_SERVER_ADD),this.setInputsInline(!0),this.setOutput(!0)}},pO={init:function(){this.setColour(VE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(Tt.Msg.MIXLY_EMQX_SERVER).setAlign(Tt.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(Tt.Msg.CONTROLS_FOR_INPUT_WITH+Tt.Msg.MIXLY_MIXIO_SHARE_KEY).setAlign(Tt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},aO={init:function(){this.setColour(VE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(Tt.Msg.MIXLY_EMQX_SERVER).setAlign(Tt.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(Tt.Msg.CONTROLS_FOR_INPUT_WITH+"Mixly Key").setAlign(Tt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},uO={init:function(){this.VISITOR_ID=Mt.Config.BOARD.visitorId.str32.substring(0,8).toUpperCase(),this.setColour(VE),this.appendDummyInput("").appendField(new Tt.FieldTextInput(this.visitorId),"VISITOR_ID"),this.setOutput(!0,null)},onchange:function(){const t=this.getFieldValue("VISITOR_ID");this.VISITOR_ID!==t&&this.setFieldValue(this.VISITOR_ID,"VISITOR_ID")}},rO={init:function(){this.setColour(VE),this.appendDummyInput().appendField("MixIO").appendField(Tt.Msg.MSG.catEthernet_clinet),this.setOutput(!0),this.setInputsInline(!0)}},dO={init:function(){this.setColour(VE),this.appendDummyInput().appendField("HTTP"+Tt.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(Tt.Msg.DISPLAY_IMAGE_LET2),this.appendDummyInput().appendField(Tt.Msg.MIXLY_REQUESTS_GET).appendField(Tt.Msg.MIXLY_GET_CURRENT_TIME).appendField(Tt.Msg.MIXLY_OPEN_DEBUG).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Tt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},lO={init:function(){this.setColour(VE),this.appendDummyInput().appendField("HTTP"+Tt.Msg.MIXLY_Client).appendField(Tt.Msg.MIXLY_GET).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_REQUESTS_LEN,"client_len"],[Tt.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[Tt.Msg.MIXLY_REQUESTS_MESSAGE,"text"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},IO={init:function(){this.setColour(VE),this.appendDummyInput().appendField("MQTT"+Tt.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(Tt.Msg.MIXLY_CONNECTTO),this.appendDummyInput().appendField(Tt.Msg.MIXLY_INIT_SUBSCRIBE).appendField(Tt.Msg.MQTT_Topic).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_GET_CURRENT_TIME,""]]),"key").appendField(Tt.Msg.MIXLY_OPEN_DEBUG).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Tt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},TO={init:function(){this.setColour(VE),this.appendDummyInput().appendField("MQTT"+Tt.Msg.MIXLY_Client).appendField(Tt.Msg.MIXLY_GET).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_REQUESTS_LEN,"client_len"],[Tt.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[Tt.Msg.MIXLY_REQUESTS_MESSAGE,"time_msg()"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},MO=BE,hO=GE,mO=UE,EO=wE,OO=kE,RO={init:function(){this.setColour(VE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_CONNECT_OLLAMA),this.appendValueInput("SERVER").appendField(Tt.Msg.MIXLY_EMQX_SERVER).setAlign(Tt.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(Tt.Msg.MODEL_NAME).setAlign(Tt.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(Tt.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},cO=RO,gO={init:function(){this.setColour(VE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_CONNECT_OPENAI),this.appendValueInput("SERVER").appendField(Tt.Msg.MIXLY_EMQX_SERVER).setAlign(Tt.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(Tt.Msg.MIXLY_API_PRIVATE_KEY).setAlign(Tt.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(Tt.Msg.MODEL_NAME).setAlign(Tt.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(Tt.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},CO={init:function(){this.setColour(VE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(Tt.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendValueInput("METHOD").appendField(Tt.Msg.MIXLY_LLM_CONTENT_CALLBACK),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},SO={init:function(){this.setColour(VE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(Tt.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendDummyInput().appendField(Tt.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0)}},AO={init:function(){this.setColour(VE),this.appendDummyInput().appendField("Ollama "+Tt.Msg.MIXLY_EMPTY_HISTORY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},LO={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${Tt.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("ADDR").setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_EMQX_SERVER),this.appendValueInput("USERNAME").setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_EMQX_USERNAME),this.appendValueInput("PASSWORD").setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_IOT_PASSWORD),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},NO={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${Tt.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("MQTT").setAlign(Tt.inputs.Align.RIGHT).appendField(`MixIO ${Tt.Msg.MIXLY_Client}`),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},DO={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_TINY_WEB_DB_UPDATE_VARIABLE),this.appendValueInput("VALUE").setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},fO={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(Tt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLE),this.appendDummyInput().appendField(Tt.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setOutput(!0)}},FO={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_NUM),this.setInputsInline(!0),this.setOutput(!0)}},PO={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB").appendField(Tt.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARIABLES),this.appendValueInput("NO").setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_TINY_WEB_DB_START_NUMBER),this.appendValueInput("COUNT").setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_TINY_WEB_DB_VARIABLE_NUMBER),this.appendValueInput("TAG").setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARS),this.appendDummyInput().setAlign(Tt.inputs.Align.RIGHT).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_ALL,"both"],[Tt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_TAG,"tag"],[Tt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_VALUE,"value"]]),"DTYPE"),this.setInputsInline(!1),this.setOutput(!0)}},vO={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(Tt.Msg.MIXLY_TINY_WEB_DB_DELETE_VARIABLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},YO=225,XO={init:function(){this.setColour(YO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_NETWORK_INIT),this.appendDummyInput().appendField(Tt.Msg.MIXLY_NETWORK_MODE).appendField(new Tt.FieldDropdown([["STA","STA"],["AP","AP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_NETWORK_INIT_TOOLTIP)}},xO={init:function(){this.setColour(YO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_NETWORK_WIFI_OPEN,"True"],[Tt.Msg.MIXLY_NETWORK_WIFI_CLOSE,"False"]]),"op"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_NETWORK_WIFI_FLAG),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("op"),i=Tt.Msg.MIXLY_ESP32_NETWORK_OPEN_TOOLTIP;return{True:Tt.Msg.MIXLY_NETWORK_WIFI_OPEN,False:Tt.Msg.MIXLY_NETWORK_WIFI_CLOSE}[e]+i}))}},bO={init:function(){this.setColour(YO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE)}},yO={init:function(){this.setColour(YO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_NETWORK_WIFI_SCAN),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip((function(){return Tt.Msg.MIXLY_ESP32_NETWORK_SCAN_TOOLTIP+{0:"ssid",1:"bssid",2:"channel",3:"RSSI",4:"authmode",5:"hidden",all:Tt.Msg.MIXLY_NETWORK_WIFI_SCAN_ATTRIBUTE}.all}))}},VO={init:function(){this.setColour(YO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_ESP32_NETWORK_CONNECT),this.appendValueInput("id").setCheck(String).appendField(Tt.Msg.HTML_NAME),this.appendValueInput("password").setCheck(String).appendField(Tt.Msg.HTML_PASSWORD),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_NETWORK_CONNECT_TOOLTIP)}},BO={init:function(){this.setColour(YO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_NETWORK_WIFI_CONNECT+Tt.Msg.MIXLY_SYMBOL_QUESTION),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_NETWORK_WIFI_CONNECT_TOOLTIP)}},GO={init:function(){this.setColour(YO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput("").appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_ESP32_NETWORK_IP,"0"],[Tt.Msg.MIXLY_ESP32_NETWORK_MASK,"1"],[Tt.Msg.MIXLY_ESP32_NETWORK_GATEWAY,"2"],["DNS","3"]]),"mode"),this.setOutput(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return Tt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP+{0:Tt.Msg.MIXLY_ESP32_NETWORK_IP,1:Tt.Msg.MIXLY_ESP32_NETWORK_MASK,2:Tt.Msg.MIXLY_ESP32_NETWORK_GATEWAY,3:"DNS"}[e]}))}},UO={init:function(){this.setColour(YO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_ESP32_NETWORK_STOP_CONNECT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_NETWORK_STOP_TOOLTIP)}},wO={init:function(){this.setColour(YO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput().appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_NETWORK_WIFI_ESSID,"essid"],[Tt.Msg.MIXLY_NETWORK_WIFI_CHANNEL,"channel"]]),"op"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP)}},HO={init:function(){this.setColour(YO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.LISTS_SET_INDEX_SET+Tt.Msg.MIXLY_HOTSPOT),this.appendValueInput("essid").setCheck(String).appendField(Tt.Msg.MIXLY_NAME),this.appendValueInput("password").setCheck(String).appendField(Tt.Msg.MIXLY_EMQX_PASSWORD),this.appendValueInput("channel").setCheck(Number).appendField(Tt.Msg.MIXLY_NETWORK_WIFI_CHANNEL),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_NETWORK_AP_CONNECT_TOOLTIP)}},kO={init:function(){this.setColour(YO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_ESP32_NETWORK_SERVER1),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_ESP32_NETWORK_SERVER2),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},WO={init:function(){this.setColour(YO),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_INIT).setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new Tt.FieldDropdown([["TCP","TCP"],["UDP","UDP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return Tt.Msg.MIXLY_ESP32_NETWORK_SOCKET_INIT_TOOLTIP+{TCP:"TCP",UDP:"UDP"}[e]}))}},KO={init:function(){this.setColour(YO),this.appendValueInput("VAR").setCheck("var").appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_BIND_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_NETWORK_SOCKET_BIND_TOOLTIP)}},JO={init:function(){this.setColour(YO),this.appendValueInput("VAR").setCheck("var").appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_CONNECT_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_NETWORK_SOCKET_CONNECT_TOOLTIP)}},QO={init:function(){this.setColour(YO),this.appendValueInput("VAR").setCheck("var"),this.appendValueInput("queue").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_LISTEN).appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_QUEUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_NETWORK_SOCKET_LISTEN_TOOLTIP)}},qO={init:function(){this.setColour(YO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_ACCEPT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_NETWORK_SOCKET_ACCEPT_TOOLTIP)}},zO={init:function(){this.setColour(YO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE_TOOLTIP)}},jO={init:function(){this.setColour(YO),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("size").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_TOOLTIP)}},$O={init:function(){this.setColour(YO),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("content").appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TOOLTIP)}},ZO={init:function(){this.setColour(YO),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("size").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_FROM_TOOLTIP)}},tR={init:function(){this.setColour(YO),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("content").appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.appendValueInput("address").appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_TO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TO_TOOLTIP)}},eR={init:function(){this.setColour(YO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_CLOSE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},iR={init:function(){this.setColour(YO),this.appendValueInput("DOMAIN").appendField(Tt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(Tt.Msg.blockpy_REQUESTS_GET).appendField(new Tt.FieldTextInput("response"),"VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.blockpy_REQUESTS_GET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Tt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},nR={init:function(){this.appendValueInput("VAL"),this.setColour(YO),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new Tt.FieldDropdown(nR.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{clear:Tt.Msg.MIXLY_TOOLTIP_TURTEL_CLEAR,reset:Tt.Msg.MIXLY_TOOLTIP_TURTEL_RESET,home:Tt.Msg.MIXLY_TOOLTIP_TURTEL_HOME}[e]}))},ATTR:[[Tt.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[Tt.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[Tt.Msg.blockpy_REQUESTS_GET_ATTR_COOKIES,"cookies"],[Tt.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"]]},sR={init:function(){this.appendValueInput("VAR").appendField(Tt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.setColour(YO),this.appendDummyInput("").appendField(Tt.Msg.blockpy_CONDUCT).appendField(new Tt.FieldDropdown(sR.METHOD),"DIR"),this.appendDummyInput("").appendField(Tt.Msg.blockpy_REQUESTS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{forward:Tt.Msg.MIXLY_TOOLTIP_TURTEL_FORWARD,backward:Tt.Msg.MIXLY_TOOLTIP_TURTEL_BACKWARD}[e]}))},METHOD:[["post","post"],["put","put"],["delete","delete"],["head","head"],["option","option"]]},oR={init:function(){this.setColour(YO),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_GET_NTP+"(NTP)"),this.appendValueInput("data").appendField(Tt.Msg.blynk_SERVER_ADD),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},_R={init:function(){this.setColour(YO),this.appendDummyInput("").appendField(new Tt.FieldDropdown([["ntp.aliyun.com","ntp.aliyun.com"],["ntp1.aliyun.com","ntp1.aliyun.com"],["ntp2.aliyun.com","ntp2.aliyun.com"],["ntp3.aliyun.com","ntp3.aliyun.com"],["ntp4.aliyun.com","ntp4.aliyun.com"],["ntp5.aliyun.com","ntp5.aliyun.com"],["ntp6.aliyun.com","ntp6.aliyun.com"],["ntp7.aliyun.com","ntp7.aliyun.com"],["time1.cloud.tencent.com","time1.cloud.tencent.com"],["time2.cloud.tencent.com","time2.cloud.tencent.com"],["time3.cloud.tencent.com","time3.cloud.tencent.com"],["time4.cloud.tencent.com","time4.cloud.tencent.com"],["time5.cloud.tencent.com","time5.cloud.tencent.com"]]),"op"),this.setOutput(!0)}},pR="#3288dd",aR={init:function(){this.setColour(pR),this.appendValueInput("URL").appendField(Tt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(Tt.Msg.blockpy_CONDUCT).appendField(new Tt.FieldDropdown([["get","get"],["head","head"],["delete","delete"]]),"TYPE").appendField(Tt.Msg.blockpy_REQUESTS).appendField(Tt.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},uR={init:function(){this.setColour(pR),this.appendValueInput("URL").appendField(Tt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(Tt.Msg.blockpy_CONDUCT).appendField(new Tt.FieldDropdown([["post","post"],["put","put"],["patch","patch"]]),"TYPE").appendField(Tt.Msg.blockpy_REQUESTS),this.appendValueInput("data").appendField(Tt.Msg.blockpy_REQUESTS+Tt.Msg.OLED_STRING),this.appendDummyInput("").appendField(Tt.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},rR={init:function(){this.appendValueInput("VAL"),this.setColour(pR),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new Tt.FieldDropdown(rR.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String)},ATTR:[[Tt.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[Tt.Msg.blockpy_REQUESTS_GET_ATTR_JSON,"json()"],[Tt.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[Tt.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"],[Tt.Msg.MIXPY_TEXT_ENCODE,"encoding"]]},dR={init:function(){this.setColour(pR),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_IOT_CONNECT_WIFI),this.appendValueInput("WIFINAME").setCheck(String).appendField(Tt.Msg.HTML_NAME),this.appendValueInput("PASSWORD").setCheck(String).appendField(Tt.Msg.HTML_PASSWORD),this.appendValueInput("TIMEOUT").setCheck(Number).appendField(Tt.Msg.MIXLY_IR_TIMEOUT),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_IOT_WIFI_CONNECT_TOOLTIP)}},lR={init:function(){this.setColour(pR),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_IOT_EMQX_CONNECT_TOOLTIP),this.appendValueInput("SERVER").setCheck(String).appendField(Tt.Msg.MIXLY_EMQX_SERVER).setAlign(Tt.inputs.Align.RIGHT),this.appendValueInput("PORT").setCheck(Number).appendField(Tt.Msg.MIXLY_EMQX_PORT).setAlign(Tt.inputs.Align.RIGHT),this.appendValueInput("CLIENT_ID").setCheck(String).appendField(Tt.Msg.MIXLY_EMQX_CLIENT_ID).setAlign(Tt.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(Tt.Msg.MIXLY_WIFI_USERNAME).setAlign(Tt.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(Tt.Msg.MIXLY_IOT_PASSWORD).setAlign(Tt.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},IR={init:function(){this.setColour(pR),this.appendValueInput("TOPIC").appendField(Tt.Msg.MIXLY_EMQX_SUBSCRIBE+Tt.Msg.MIXLY_MICROBIT_MSG).appendField(Tt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MESSAGE").appendField(Tt.Msg.blockpy_set_of),this.setInputsInline(!0),this.setOutput(!0)}},TR={init:function(){this.setColour(pR),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(Tt.Msg.MIXLY_EMQX_SUBSCRIBE+Tt.Msg.MIXLY_MICROBIT_MSG).appendField(Tt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(Tt.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},MR={init:function(){this.setColour(pR),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(Tt.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(Tt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(Tt.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},hR={init:function(){this.setColour(pR),this.appendDummyInput().appendField("mqtt"+Tt.Msg.MIXLY_EMQX_IS_CONNECT),this.setInputsInline(!0),this.setOutput(!0)}},mR=100,ER={init:function(){var t=Mt.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==t)var e="CE G6";else if("mixgo_pe"==t)e="PE G1";this.setColour(mR),this.appendValueInput("I2CSUB").appendField(Tt.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_SETUP+Tt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(e),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},OR={init:function(){var t=Mt.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==t)var e="CE G6";else if("mixgo_pe"==t)e="PE G1";this.setColour(mR),this.appendValueInput("SUB").appendField(e).setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MIXGO_CAR_BATTERY_LEFT),this.setOutput(!0,Number),this.setInputsInline(!0)}},RR={init:function(){var t=Mt.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==t)var e="CE G6";else if("mixgo_pe"==t)e="PE G1";this.setColour(mR),this.appendValueInput("SUB").appendField(e).setCheck("var"),this.appendValueInput("PIN").appendField(Tt.Msg.MOTOR_DC).appendField(Tt.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_Direction).appendField(new Tt.FieldDropdown([[Tt.Msg.CLOCKWISE,"CW"],[Tt.Msg.ANTI_CLOCKWISE,"CCW"],[Tt.Msg.MOTOR_P,"P"],[Tt.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},cR={init:function(){var t=Mt.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==t)var e="CE G6";else if("mixgo_pe"==t)e="PE G1";this.setColour(mR),this.appendValueInput("SUB").appendField(e).setCheck("var"),this.appendValueInput("PIN").appendField(Tt.Msg.MOTOR_DC).appendField(Tt.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(Tt.Msg.MIXLY_STEPPER_GET_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},gR={init:function(){var t=Mt.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==t)var e="CE G6";else if("mixgo_pe"==t)e="PE G1";this.setColour(mR),this.appendValueInput("SUB").appendField(e).setCheck("var"),this.appendValueInput("PIN").appendField("180°"+Tt.Msg.MIXLY_SERVO).appendField(Tt.Msg.LCD_NUMBERING),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_SERVO_MOVE)}},CR={init:function(){var t=Mt.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==t)var e="CE G6";else if("mixgo_pe"==t)e="PE G1";this.setColour(mR),this.appendValueInput("SUB").appendField(e).setCheck("var"),this.appendValueInput("PIN").appendField("360°"+Tt.Msg.MIXLY_SERVO).appendField(Tt.Msg.LCD_NUMBERING),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_SERVO_SPEED_TOOLIPS)}},SR={init:function(){var t=Mt.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==t)var e="CE G6";else if("mixgo_pe"==t)e="PE G1";this.setColour(mR),this.appendValueInput("SUB").appendField(e).setCheck("var"),this.appendValueInput("PIN").appendField("180°"+Tt.Msg.MIXLY_SERVO),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET+Tt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},AR={init:function(){var t=Mt.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==t)var e="CE G6";else if("mixgo_pe"==t)e="PE G1";this.setColour(mR),this.appendValueInput("SUB").appendField(e).setCheck("var"),this.appendValueInput("PIN").appendField("360°"+Tt.Msg.MIXLY_SERVO).appendField(Tt.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET+Tt.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},LR="#A58C5B",NR={init:function(){this.setColour(LR),this.appendValueInput("PIN",Number).appendField(Tt.Msg.MIXLY_BUTTON).appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Tt.Msg.MIXLY_IS_PRESSED),this.appendValueInput("STAT").appendField(Tt.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_SENOR_IS_PRESSED)}},DR={init:function(){this.setColour(LR),this.appendValueInput("PIN",Number).appendField(Tt.Msg.MIXLY_BUTTON).appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Tt.Msg.MIXLY_WAS_PRESSED),this.appendValueInput("STAT").appendField(Tt.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_SENOR_WAS_PRESSED)}},fR={init:function(){this.setColour(LR),this.appendValueInput("PIN",Number).appendField(Tt.Msg.MIXLY_BUTTON).appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET_PRESSES),this.appendValueInput("VAR").setCheck(Number).appendField(Tt.Msg.MIXLY_GET_PRESSES_TIME),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Tt.Msg.PROCEDURES_DEFRETURN_RETURN+Tt.Msg.MIXLY_BUTTON+Tt.Msg.MIXLY_GET_PRESSES)}},FR={init:function(){this.setColour(LR),this.appendValueInput("PIN",Number).appendField(Tt.Msg.MIXLY_BUTTON).appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MODE).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[Tt.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[Tt.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(Tt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.MIXLY_TOOLTIP_INOUT_ATTACHINTERRUPT)}},PR={init:function(){this.setColour(LR),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_shake,"shake"],[Tt.Msg.MIXLY_UP,"up"],[Tt.Msg.MIXLY_DOWN,"down"],[Tt.Msg.MIXLY_LEFT,"left"],[Tt.Msg.MIXLY_RIGHT,"right"],[Tt.Msg.MIXLY_MICROBIT_face_up,"face up"],[Tt.Msg.MIXLY_MICROBIT_face_down,"face down"],[Tt.Msg.MIXLY_MICROBIT_freefall,"freefall"],["3g","3g"],["6g","6g"],["8g","8g"]]),"gesture"),this.appendStatementInput("DO").appendField(Tt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("gesture"),i=Tt.Msg.MIXLY_MICROBIT_JS_CURRENT,n=Tt.Msg.MSG.catSensor,s=Tt.Msg.MIXLY_MICROBIT_JS_STATE,o=Tt.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:Tt.Msg.MIXLY_MICROBIT_shake,up:Tt.Msg.MIXLY_UP,down:Tt.Msg.MIXLY_DOWN,left:Tt.Msg.MIXLY_LEFT,right:Tt.Msg.MIXLY_RIGHT,"face up":Tt.Msg.MIXLY_MICROBIT_face_up,"face down":Tt.Msg.MIXLY_MICROBIT_face_down,freefall:Tt.Msg.MIXLY_MICROBIT_freefall,"3g":"3g","6g":"6g","8g":"8g"}[e]+o}))}},vR={init:function(){this.setColour(LR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_ADXL345).setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new Tt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Tt.Msg.MIXLY_MICROBIT_Direction,s=Tt.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":Tt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},YR={init:function(){this.setColour(LR),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_JS_LIGHT_LEVEL),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_SENSOR_LIGHT_LEVEL_TOOLTIP)}},XR={init:function(){this.setColour(LR),this.appendValueInput("PIN",Number).appendField(new Tt.FieldDropdown([["DHT11","DHT11"],["DHT22","DHT22"]]),"TYPE").appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(new Tt.FieldDropdown(XR.METHOD),"WHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("WHAT");return{temperature:Tt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM,relative_humidity:Tt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_HUM,tempandhum:Tt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM_HUM}[e]}))},METHOD:[[Tt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[Tt.Msg.MIXLY_GETHUMIDITY,"humidity"]]},xR={init:function(){this.setColour(LR),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_EXTERN_LIGHT),this.appendValueInput("PIN",Number).appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Tt.Msg.ESP32_SENSOR_NIXGO_LIGHT_TOOLTIP)}},bR={init:function(){this.setColour(LR),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_EXTERN_SOUND),this.appendValueInput("PIN",Number).appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Tt.Msg.ESP32_SENSOR_NIXGO_SOUND_TOOLTIP)}},yR={init:function(){this.setColour(LR),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new Tt.FieldDropdown([[Tt.Msg.TEXT_TRIM_LEFT,"left"],[Tt.Msg.TEXT_TRIM_RIGHT,"right"]]),"direction").appendField(Tt.Msg.MIXLY_ESP32_NEAR),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("direction"),i=Tt.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP,n=Tt.Msg.MIXLY_ESP32_NEAR;return i+{left:Tt.Msg.TEXT_TRIM_LEFT,right:Tt.Msg.TEXT_TRIM_RIGHT}[e]+n}))}},VR={init:function(){this.setColour(LR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_ALTITUDE_SENSOR+" BMP280").setCheck("var"),this.appendDummyInput("").appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_GETTEMPERATUE,"get_BMP_temperature()"],[Tt.Msg.MIXLY_GETPRESSURE,"get_BMP_pressure()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{"get_BMP_temperature()":Tt.Msg.MIXLY_MICROBIT_SENSOR_BMP_temperature_TOOLTIP,"get_BMP_pressure()":Tt.Msg.MIXLY_MICROBIT_SENSOR_BMP_press_TOOLTIP}[e]}))}},BR={init:function(){this.setColour(LR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+" SHT20").setCheck("var"),this.appendDummyInput("").appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_GETTEMPERATUE,"get_SHT_temperature()"],[Tt.Msg.MIXLY_GETHUMIDITY,"get_SHT_relative_humidity()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{"get_SHT_temperature()":Tt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,"get_SHT_relative_humidity()":Tt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},GR={init:function(){this.setColour(LR),this.appendValueInput("PIN",Number).appendField("DS18X20 "+Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_SENSOR_DS18X20_TOOLTIP)}},UR={init:function(){this.setColour(LR),this.appendDummyInput("").appendField("LM35"+Tt.Msg.MIXLY_TEMP),this.appendValueInput("PIN",Number).appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Tt.Msg.MIXLY_TOOLTIP_LM35)}},wR={init:function(){this.setColour(LR),this.appendValueInput("I2CSUB").appendField(Tt.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_SETUP+Tt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_ESP32_EXTERN_LIGHT+"(LTR308ALS)","LTR308"],[Tt.Msg.MIXLY_COLOR_SENSOR+"(LTR381RGB)","LTR381RGB"],[Tt.Msg.MIXLY_COLOR_SENSOR+"(UCS12071)","UCS12071"],[Tt.Msg.MIXLY_EXTERN_LIGHTUV+"(LTR390UV)","LTR390UV"],[Tt.Msg.MIXLY_ALTITUDE_SENSOR+"(HP203X)","HP203X"],[Tt.Msg.MIXLY_ALTITUDE_SENSOR+"(SPL06_001)","SPL06_001"],[Tt.Msg.MIXLY_ALTITUDE_SENSOR+"(MS5611)","MS5611"],[Tt.Msg.MIXLY_ALTITUDE_SENSOR+"(BMP280)","BMP280"],[Tt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(SHTC3)","SHTC3"],[Tt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(AHT21)","AHT21"],[Tt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(SHT20)","SHT20"],[Tt.Msg.MIXLY_LASER_RANGE_SENSOR+"(VL53L0X)","VL53L0X"],[Tt.Msg.MIXLY_GEOMAGNETIC_SENSOR+"(QMC5883L)","QMC5883L"],[Tt.Msg.MIXLY_ESP32_MAX30102+"(MAX30102)","MAX30102"],[Tt.Msg.HTML_COLOUR+"、"+Tt.Msg.MIXLY_ENVIRONMENT_LIGHT+"、"+Tt.Msg.MIXLY_NEXT+"、"+Tt.Msg.MIXLY_ESP32_APDS9960+"(APDS9960)","APDS9960"],[Tt.Msg.MIXLY_NINE_AXIS_SENSOR+"(MPU9250)","MPU9250"],[Tt.Msg.MixGo_MPU9250+"(ADXL345)","ADXL345"],["RFID","RFID"],[Tt.Msg.MIXLY_RADAR_SENSOR+"(CBR817)","CBR817"],[Tt.Msg.MIXLY_AipSpeech_asr+"(CI130X)","CI130X"],[Tt.Msg.MIXLY_TVOC_CO2_SENSOR+"(AGS10)","AGS10"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},HR={init:function(){this.setColour(LR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_RADAR+"CBR817").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.LISTS_SET_INDEX_SET+Tt.Msg.MIXlY_INTERACTION),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_DETECTION_THRESHOLD),this.appendValueInput("VAR2").appendField(Tt.Msg.MIXLY_DELAY_TIME),this.appendDummyInput().appendField("ms"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_THRESHOLD_TOOLTIP+" ; "+Tt.Msg.MIXLY_DELAY_TIME_RANGE)}},kR={init:function(){this.setColour(LR),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RADAR).appendField(Tt.Msg.LISTS_SET_INDEX_SET+Tt.Msg.MIXlY_INTERACTION),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_DETECTION_THRESHOLD),this.appendValueInput("VAR2").appendField(Tt.Msg.MIXLY_DELAY_TIME),this.appendDummyInput().appendField("ms"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_THRESHOLD_TOOLTIP+" ; "+Tt.Msg.MIXLY_DELAY_TIME_RANGE)}},WR={init:function(){this.setColour(LR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_RADAR+"CBR817").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_GET_TO_INTERACTION),this.setOutput(!0),this.setInputsInline(!0)}},KR={init:function(){this.setColour(LR),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RADAR).appendField(Tt.Msg.MIXLY_GET_TO_INTERACTION),this.setOutput(!0),this.setInputsInline(!0)}},JR={init:function(){this.setColour(LR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_IDENTIFY_ONCE_AND_SAVE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},QR={init:function(){this.setColour(LR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_GET).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_HELLO_XIAOZHI,"1"],[Tt.Msg.MIXLY_XIAOZHIXIAOZHI,"2"],[Tt.Msg.MIXLY_THE_FIRST,"3"],[Tt.Msg.MIXLY_THE_SECOND,"4"],[Tt.Msg.MIXLY_THE_THIRD,"5"],[Tt.Msg.MIXLY_THE_FOURTH,"6"],[Tt.Msg.MIXLY_THE_FIFTH,"7"],[Tt.Msg.MIXLY_THE_SIXTH,"8"],[Tt.Msg.MIXLY_THE_SEVENTH,"9"],[Tt.Msg.MIXLY_THE_EIGHTH,"10"],[Tt.Msg.MIXLY_THE_NINTH,"11"],[Tt.Msg.MIXLY_THE_TENTH,"12"],[Tt.Msg.MIXLY_THE_ELEVENTH,"13"],[Tt.Msg.MIXLY_THE_TWELFTH,"14"],[Tt.Msg.MIXLY_THE_13TH,"15"],[Tt.Msg.MIXLY_THE_14TH,"16"],[Tt.Msg.MIXLY_THE_15TH,"17"],[Tt.Msg.MIXLY_THE_16TH,"18"],[Tt.Msg.MIXLY_THE_17TH,"19"],[Tt.Msg.MIXLY_THE_18TH,"20"],[Tt.Msg.MIXLY_THE_19TH,"21"],[Tt.Msg.MIXLY_THE_20TH,"22"],[Tt.Msg.MIXLY_Turn_on_the_lights,"23"],[Tt.Msg.MIXLY_Turn_off_the_lights,"24"],[Tt.Msg.MIXLY_Turn_up_the_brightness,"25"],[Tt.Msg.MIXLY_Turn_down_the_brightness,"26"],[Tt.Msg.MIXLY_Set_it_to_red,"27"],[Tt.Msg.MIXLY_Set_it_to_orange,"28"],[Tt.Msg.MIXLY_Set_it_to_yellow,"29"],[Tt.Msg.MIXLY_Set_it_to_green,"30"],[Tt.Msg.MIXLY_Set_it_to_cyan,"31"],[Tt.Msg.MIXLY_Set_it_to_blue,"32"],[Tt.Msg.MIXLY_Set_it_to_purple,"33"],[Tt.Msg.MIXLY_Set_it_to_white,"34"],[Tt.Msg.MIXLY_Turn_on_the_fan,"35"],[Tt.Msg.MIXLY_Turn_off_the_fan,"36"],[Tt.Msg.MIXLY_First_gear,"37"],[Tt.Msg.MIXLY_Wind_speed_second,"38"],[Tt.Msg.MIXLY_Third_gear,"39"],[Tt.Msg.MIXLY_Previous,"40"],[Tt.Msg.MIXLY_Next_page,"41"],[Tt.Msg.MIXLY_Show_smiley_face,"42"],[Tt.Msg.MIXLY_Show_crying_face,"43"],[Tt.Msg.MIXLY_Show_love,"44"],[Tt.Msg.MIXLY_Close_display,"45"],[Tt.Msg.MIXLY_Start_execution,"46"],[Tt.Msg.MIXLY_FORWARD,"47"],[Tt.Msg.MIXLY_BACKWARD,"48"],[Tt.Msg.MIXLY_TURNLEFT,"49"],[Tt.Msg.MIXLY_TURNRIGHT,"50"],[Tt.Msg.MIXLY_STOP,"51"],[Tt.Msg.MIXLY_Accelerate,"52"],[Tt.Msg.MIXLY_retard,"53"],[Tt.Msg.ROTATION_FORWARD,"54"],[Tt.Msg.ROTATION_BACKWARD,"55"],[Tt.Msg.MIXLY_Query_temperature,"56"],[Tt.Msg.MIXLY_Query_humidity,"57"],[Tt.Msg.MIXLY_Query_brightness,"58"],[Tt.Msg.MIXLY_Query_sound,"59"],[Tt.Msg.MIXLY_Query_time,"60"],[Tt.Msg.MIXLY_Query_distance,"61"],[Tt.Msg.MIXLY_Query_pressure,"62"],[Tt.Msg.MIXLY_Query_key,"63"],[Tt.Msg.MIXLY_Query_touch,"64"],[Tt.Msg.MIXLY_Query_color,"65"]]),"cmd").appendField(Tt.Msg.MIXLY_WHETHER+Tt.Msg.MIXLY_BE_IDENTIFIED),this.setOutput(!0),this.setInputsInline(!0)}},qR={init:function(){this.setColour(LR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_GET).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_RECOGNIZED_STATE,"status1"],[Tt.Msg.MIXLY_WHETHER_BROADCAST,"status2"],[Tt.Msg.MIXLY_THE_RECOGNIZED_CMD,"result"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_CI130X_GET_THE_RECOGNIZED_STATE_TOOLTIP)}},zR={init:function(){this.setColour(LR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MP3_PLAY).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"],[Tt.Msg.MIXLY_WIND_SPEED,"154"],[Tt.Msg.MIXLY_HYETAL,"155"],[Tt.Msg.MIXLY_TEMPERATURE,"156"],[Tt.Msg.MIXLY_Humidity,"157"],[Tt.Msg.MIXLY_Altitude,"158"],[Tt.Msg.MIXLY_SOUND,"159"],[Tt.Msg.MIXLY_BRIGHTNESS,"160"],[Tt.Msg.ME_GO_HALL_SENSOR_DISTANCE,"161"],[Tt.Msg.MIXLY_SERVO,"162"],[Tt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"163"],[Tt.Msg.MIXLY_BUTTON2,"164"],[Tt.Msg.MIXLY_ESP32_TOUCH,"165"],[Tt.Msg.MIXLY_PAY,"166"],[Tt.Msg.MIXLY_CARSH_CHANGE,"167"],[Tt.Msg.MIXLY_COUNTDOWN,"168"],[Tt.Msg.MIXLY_TIMING,"169"],[Tt.Msg.MIXLY_AT_THE_MOMENT,"170"],[Tt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE,"171"],[Tt.Msg.MIXLY_FORWARD,"172"],[Tt.Msg.MIXLY_BACKWARD,"173"],[Tt.Msg.MIXLY_TURNLEFT,"174"],[Tt.Msg.MIXLY_TURNRIGHT,"175"],[Tt.Msg.MIXLY_STOP,"176"],[Tt.Msg.MIXLY_Accelerate,"177"],[Tt.Msg.MIXLY_retard,"178"],[Tt.Msg.ROTATION_FORWARD,"179"],[Tt.Msg.ROTATION_BACKWARD,"180"],[Tt.Msg.TUPLE_JOIN,"181"],[Tt.Msg.MIXLY_SHOW,"182"],[Tt.Msg.MIXLY_LAMPLIGHT,"183"],[Tt.Msg.MIXLY_ACCELERATION,"184"]]),"star"),this.appendValueInput("NUM").appendField(Tt.Msg.MIXLY_NUMBER),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_UNIT).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"],[Tt.Msg.MIXLY_YEAR,"117"],[Tt.Msg.MIXLY_MONTH,"118"],[Tt.Msg.MIXLY_DAY,"119"],[Tt.Msg.MIXLY_HOUR,"120"],[Tt.Msg.MIXLY_MINUTE,"121"],[Tt.Msg.MIXLY_SECOND,"122"],[Tt.Msg.MIXLY_WEEK2,"123"],[Tt.Msg.MIXLY_RMB_UNIT,"124"],[Tt.Msg.blockpy_setheading_degree,"125"],[Tt.Msg.MIXLY_GEAR,"126"],[Tt.Msg.MIXLY_LAYER,"127"],[Tt.Msg.MIXLY_GRAM,"128"],[Tt.Msg.MIXLY_METER,"129"],[Tt.Msg.MIXLY_CENTIMETER,"130"],[Tt.Msg.MIXLY_MILLIMETER,"131"],[Tt.Msg.MIXLY_LUMEN,"132"],[Tt.Msg.MIXLY_DECIBEL,"133"],[Tt.Msg.MIXLY_hectopascal,"134"],[Tt.Msg.MIXLY_PERCENT,"135"],[Tt.Msg.MIXLY_CELSIUS,"136"],[Tt.Msg.MIXLY_METER_PER_SEC,"137"],[Tt.Msg.MIXLY_MICROBIT_Turn_on_display,"138"],[Tt.Msg.MIXLY_MICROBIT_Turn_off_display,"139"],[Tt.Msg.MIXLY_SUCCESS,"140"],[Tt.Msg.MIXLY_FAILED,"141"],[Tt.Msg.MIXLY_WRONG,"142"],[Tt.Msg.MIXLY_GOOD,"143"],[Tt.Msg.MIXLY_blockpy_set_add,"144"],[Tt.Msg.MIXLY_DECREASE,"145"],[Tt.Msg.COLOUR_RGB_RED,"146"],[Tt.Msg.COLOUR_RGB_ORANGE,"147"],[Tt.Msg.COLOUR_YELLOW,"148"],[Tt.Msg.COLOUR_RGB_GREEN,"149"],[Tt.Msg.COLOUR_CYAN,"150"],[Tt.Msg.COLOUR_RGB_BLUE,"151"],[Tt.Msg.COLOUR_RGB_PURPLE,"152"],[Tt.Msg.COLOUR_RGB_WHITE,"153"]]),"end"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},jR={init:function(){this.setColour(LR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.LISTS_SET_INDEX_SET+Tt.Msg.MIXLY_SYSTEM+Tt.Msg.MIXLY_CMD).appendField(new Tt.FieldDropdown([[Tt.Msg.MILXY_ENTER_WAKE_UP,"1"],[Tt.Msg.MIXLY_INCREASE_VOLUME,"202"],[Tt.Msg.MIXLY_REDUCE_VOLUME,"203"],[Tt.Msg.MIXLY_MAX_VOLUME,"204"],[Tt.Msg.MIXLY_MINIMUM,"205"],[Tt.Msg.MIXLY_OPEN_RESPONSE,"206"],[Tt.Msg.MIXLY_CLOSE_RESPONSE,"207"],[Tt.Msg.MIXLY_QUIT_WAKE_UP,"208"]]),"cmd"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},$R={init:function(){this.setColour(LR),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_MAX30102+" MAX30102"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_ESP32_MAX30102_IR,"[0]"],[Tt.Msg.MIXLY_ESP32_MAX30102_RED,"[1]"],[Tt.Msg.MIXLY_ESP32_MAX30102_IR+","+Tt.Msg.MIXLY_ESP32_MAX30102_RED,""]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},ZR={init:function(){this.setColour(LR),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_APDS9960+" APDS9960"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_ESP32_APDS9960_COLOR,"color"],[Tt.Msg.MIXLY_ESP32_APDS9960_GESTURE,"gesture"],[Tt.Msg.MIXLY_ESP32_APDS9960_APPROACH,"proximity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},tc={init:function(){this.setColour(LR),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_EXTERN_LIGHT+" LTR308ALS"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET_LIGHT_INTENSITY),this.setOutput(!0,Number),this.setInputsInline(!0)}},ec={init:function(){this.setColour(LR),this.appendValueInput("SUB").appendField(Tt.Msg.HTML_COLOUR+Tt.Msg.MSG.catSensor+" LTR381RGB").setCheck("var"),this.appendDummyInput("").appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_GET+Tt.Msg.HTML_COLOUR,"[2]"],[Tt.Msg.MIXLY_GET+Tt.Msg.MIXLY_IR_STRENGTH,"[1]"],[Tt.Msg.MIXLY_GET+Tt.Msg.MIXLY_LIGHT_STRENGTH,"[0]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},ic={init:function(){this.setColour(LR),this.appendValueInput("SUB").appendField(Tt.Msg.HTML_COLOUR+Tt.Msg.MSG.catSensor+" UCS12071").setCheck("var"),this.appendDummyInput("").appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_GET+"RGB"+Tt.Msg.HTML_COLOUR,"0"],[Tt.Msg.MIXLY_GET+Tt.Msg.MIXLY_RGB_RAW,"1"],[Tt.Msg.MIXLY_GET_ENV_LIGHT+Tt.Msg.MIXLY_BRIGHTNESS,"2"],[Tt.Msg.GET_IR_STRENGTH+Tt.Msg.MIXLY_BRIGHTNESS,"3"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},nc={init:function(){this.setColour(LR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_EXTERN_LIGHTUV+" LTR390UV").setCheck("var"),this.appendDummyInput().appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_GET_ENV_LIGHT,"E"],[Tt.Msg.MIXLY_GET_ULTRAVIOLET,"U"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},sc={init:function(){this.setColour(LR),this.appendDummyInput().appendField(Tt.Msg.MIXLY_LASER_RANGE+" VL53L0X"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET_DISTANCE+"(mm)"),this.setOutput(!0,Number),this.setInputsInline(!0)}},oc={init:function(){this.setColour(LR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_TEM_HUM+" SHTC3").setCheck("var"),this.appendDummyInput("").appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[Tt.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{temperature:Tt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,humidity:Tt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},_c={init:function(){this.setColour(LR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_TEM_HUM+" AHT21").setCheck("var"),this.appendDummyInput("").appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[Tt.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{temperature:Tt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,relative_humidity:Tt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},pc={init:function(){this.setColour(LR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_Altitude+Tt.Msg.MSG.catSensor+" HP203X").setCheck("var"),this.appendDummyInput("").appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_GETPRESSURE,"pressure()"],[Tt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[Tt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},ac={init:function(){this.setColour(LR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_Altitude+Tt.Msg.MSG.catSensor+" SPL06_001").setCheck("var"),this.appendDummyInput("").appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_GETPRESSURE,"pressure()"],[Tt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[Tt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},uc={init:function(){this.setColour(LR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_Altitude+Tt.Msg.MSG.catSensor+" MS5611").setCheck("var"),this.appendDummyInput("").appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_GETPRESSURE,"pressure()"],[Tt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[Tt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},rc={init:function(){this.setColour(LR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_Altitude+Tt.Msg.MSG.catSensor+" MS5611").setCheck("var"),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_REF_TO_PRESSURE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_CAL_TO_ALTITUDE),this.setOutput(!0,Number),this.setInputsInline(!0)}},dc={init:function(){this.setColour(LR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_MIXGOPE_FIELD+Tt.Msg.MSG.catSensor+" QMC5883L").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"get_bearing()"],[Tt.Msg.MIXLY_TEMPERATURE,"get_temp()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},lc={init:function(){this.setColour(LR),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_shake,"shake"],[Tt.Msg.MIXLY_UP,"up"],[Tt.Msg.MIXLY_DOWN,"down"],[Tt.Msg.MIXLY_LEFT,"left"],[Tt.Msg.MIXLY_RIGHT,"right"],[Tt.Msg.MIXLY_MICROBIT_face_up,"face up"],[Tt.Msg.MIXLY_MICROBIT_face_down,"face down"]]),"gesture"),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("gesture"),i=Tt.Msg.MIXLY_MICROBIT_JS_CURRENT,n=Tt.Msg.MSG.catSensor,s=Tt.Msg.MIXLY_MICROBIT_JS_STATE,o=Tt.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:Tt.Msg.MIXLY_MICROBIT_shake,up:Tt.Msg.MIXLY_UP,down:Tt.Msg.MIXLY_DOWN,left:Tt.Msg.MIXLY_LEFT,right:Tt.Msg.MIXLY_RIGHT,"face up":Tt.Msg.MIXLY_MICROBIT_face_up,"face down":Tt.Msg.MIXLY_MICROBIT_face_down}[e]+o}))}},Ic={init:function(){this.setColour(LR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new Tt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Tt.Msg.MIXLY_MICROBIT_Direction,s=Tt.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":Tt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},Tc={init:function(){this.setColour(LR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_JS_GET+Tt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH).appendField(new Tt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Tt.Msg.MIXLY_MICROBIT_Direction,s=Tt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH;return i+{x:"x",y:"y",z:"z","(x,y,z)":Tt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},Mc={init:function(){this.setColour(LR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+Tt.Msg.MIXLY_ESP32_SENOR_GYRO).appendField(new Tt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Tt.Msg.MIXLY_MICROBIT_Direction,s=Tt.Msg.MIXLY_ESP32_SENOR_GYRO;return i+{x:"x",y:"y",z:"z","(x,y,z)":Tt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},hc={init:function(){this.setColour(LR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS)}},mc={init:function(){this.setColour(LR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GETTEMPERATUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_GETTEMPERATUE)}},Ec={init:function(){this.setColour(LR),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_JS_GET_COMPASS).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,"strength"],[Tt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"heading"]]),"compass"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("compass");return Tt.Msg.MIXLY_MICROBIT_JS_GET_COMPASS+{strength:Tt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,heading:Tt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE}[e]}))}},Oc={init:function(){this.setColour(LR),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_Reset_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_Reset_COMPASS)}},Rc={init:function(){this.setColour(LR),this.appendValueInput("SPISUB").appendField(Tt.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_SETUP+Tt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new Tt.FieldDropdown([["RFID","RFID"],["WS-LoRa","Weather"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setFieldValue("RFID","key")}},cc={init:function(){this.setColour(LR),this.appendDummyInput().appendField("RFID"+Tt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(Tt.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_RFID_READ_CARD_UID,"id"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"content"],[Tt.Msg.MIXLY_ALL,"ALL"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},gc={init:function(){this.setColour(LR),this.appendDummyInput().appendField("RFID"+Tt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RFID_READ_CARD_UID),this.setOutput(!0,Number),this.setInputsInline(!0)}},Cc={init:function(){this.setColour(LR),this.appendDummyInput().appendField("RFID"+Tt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(Tt.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},Sc={init:function(){this.setColour(LR),this.appendDummyInput().appendField(Tt.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(Tt.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(Tt.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Ac={init:function(){this.setColour(LR),this.appendDummyInput().appendField(Tt.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(Tt.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(Tt.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(Tt.Msg.RETURN_SUCCESS_OR_NOT),this.setInputsInline(!0),this.setOutput(!0,Boolean)}},Lc={init:function(){this.setColour(LR),this.appendDummyInput().appendField("RFID"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_RFID_SCAN_OK,"0"],[Tt.Msg.MIXLY_RFID_SCAN_NOTAGERR,"1"],[Tt.Msg.MIXLY_RFID_SCAN_ERROR,"2"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Nc={init:function(){this.setColour(LR),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new Tt.FieldDropdown([["全部(元组)","data()[0]"],["全部(json)","data()[1]"],["全部(json,附带位置信息)","data()[2]"],["编号","data()[0][0]"],["电量","data()[0][1]"],["风速","data()[0][2]"],["阵风","data()[0][3]"],["风向","data()[0][4]"],["雨量","data()[0][5]"],["温度","data()[0][6]"],["湿度","data()[0][7]"],["光照","data()[0][8]"],["紫外线","data()[0][9]"],["大气压","data()[0][10]"],["信号强度","data()[0][11]"],["信噪比","data()[0][12]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip("返回气象数据元组 data= (设备id,电池状态,风速m/s,阵风m/s,风向°,雨量mm,温度℃,湿度%,光照Lux,UVI,大气压Pa,信号强度dB,信噪比dB)")}},Dc={init:function(){this.setColour(LR),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_SERIAL_AVAILABLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},fc={init:function(){this.setColour(LR),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendValueInput("BASE").appendField("以主题"),this.appendDummyInput("").appendField("串口发送至MixIO"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Fc={init:function(){this.setColour(LR),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.itemCount_=2,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new Tt.icons.MutatorIcon(["weather_set_label_item"],this)),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip()},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("weather_set_label_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n>6),i.push(128|63&o)):(2048<=o&&o<=55295||57344<=o&&o<=65535)&&(n+=3,i.push(224|15&o>>12),i.push(128|63&o>>6),i.push(128|63&o))}for(s=0;s>8,255&n].concat(i)}(t,!0),i="",n=0;n=0?"0x700000":["mixgo_sant"].indexOf(n)>=0?"0xE00000":"0x3A0000","32x12 Matrix"==_?(e.definitions_.import_matrix32x12="import matrix32x12",i=s+" = matrix32x12.Matrix("+o+", font_address="+p+")\n"):"16x8 Matrix"==_&&(e.definitions_.import_matrix16x8="import matrix16x8",i=s+" = matrix16x8.Matrix("+o+")\n"),i},wF=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},HF=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+", center="+this.getFieldValue("center")+")\n"},kF=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},WF=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", delay="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},KF=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},JF=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", speed="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+")\n"},QF=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},qF=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("OP")+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")\n"},zF=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},jF=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".pixel(int("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+"), int("+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+"), "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"+i+".show()\n"},$F=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".get_brightness()",e.ORDER_ATOMIC]},ZF=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".set_brightness("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+")\n"},tP=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("image"),e.ORDER_ATOMIC]},eP=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".map_"+t.getFieldValue("OP")+"("+e.valueToCode(t,"A",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"B",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},iP=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".map_invert("+e.valueToCode(t,"A",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},nP=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC);return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = ssd1306.SSD1306_I2C("+e.valueToCode(this,"row",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"column",e.ORDER_ATOMIC)+", "+i+")\n"},sP=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_str("+(e.valueToCode(this,"Text_line1",e.ORDER_ASSIGNMENT)||"''")+", "+(e.valueToCode(this,"Text_line2",e.ORDER_ASSIGNMENT)||"''")+", "+(e.valueToCode(this,"Text_line3",e.ORDER_ASSIGNMENT)||"''")+", "+(e.valueToCode(this,"Text_line4",e.ORDER_ASSIGNMENT)||"''")+")\n"},oP=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_line("+e.valueToCode(this,"x1",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"y1",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"x2",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"y2",e.ORDER_ATOMIC)+", 1)\n"},_P=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),o=e.valueToCode(this,"width",e.ORDER_ATOMIC),_=e.valueToCode(this,"height",e.ORDER_ATOMIC),p="TRUE"==this.getFieldValue("fill")?"True":"False",a=this.getFieldValue("OP");switch(p){case"True":return i+".show_fill_rect("+n+", "+s+", "+o+", "+_+", "+a+")\n";case"False":return i+".show_rect("+n+", "+s+", "+o+", "+_+", "+a+")\n"}},pP=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),o=e.valueToCode(this,"length",e.ORDER_ATOMIC);return i+".show_"+this.getFieldValue("direction")+"("+n+", "+s+", "+o+", 1)\n"},aP=function(t,e){return["ON"==this.getFieldValue("ONOFF")?"1":"0",e.ORDER_ATOMIC]},uP=function(t,e){e.definitions_.import_matrix="import matrix";var i=t.getFieldValue("OP");return[e.valueToCode(t,"img",e.ORDER_ATOMIC)+".shift_"+i+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},rP=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return e.definitions_.import_ssd1306="import ssd1306",e.definitions_.import_machine="import machine",i+".show_fill("+this.getFieldValue("key")+")\n"},dP=function(t,e){return["matrix.Image."+this.getFieldValue("ANIMATION"),e.ORDER_ATOMIC]},lP=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),o=e.valueToCode(this,"r",e.ORDER_ATOMIC),_="TRUE"==this.getFieldValue("fill")?"True":"False",p=this.getFieldValue("OP");switch(_){case"True":return i+".show_fill_circle("+n+", "+s+", "+o+", "+p+")\n";case"False":return i+".show_circle("+n+", "+s+", "+o+", "+p+")\n"}},IP=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var n=e.valueToCode(this,"x0",e.ORDER_ATOMIC),s=e.valueToCode(this,"y0",e.ORDER_ATOMIC),o=e.valueToCode(this,"x1",e.ORDER_ATOMIC),_=e.valueToCode(this,"y1",e.ORDER_ATOMIC),p=e.valueToCode(this,"x2",e.ORDER_ATOMIC),a=e.valueToCode(this,"y2",e.ORDER_ATOMIC),u="TRUE"==this.getFieldValue("fill")?"True":"False",r=this.getFieldValue("OP");switch(u){case"True":return i+".show_fill_triangle("+n+", "+s+", "+o+", "+_+", "+p+", "+a+", "+r+")\n";case"False":return i+".show_triangle("+n+", "+s+", "+o+", "+_+", "+p+", "+a+", "+r+")\n"}},TP=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_bitmap("+e.valueToCode(this,"START_X",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"START_Y",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"bitmap_name",e.ORDER_ATOMIC)+","+e.valueToCode(this,"WIDTH",e.ORDER_ATOMIC)+","+e.valueToCode(this,"HEIGHT",e.ORDER_ATOMIC)+")\n"},MP=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_pixel("+e.valueToCode(this,"POS_X",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"POS_Y",e.ORDER_ATOMIC)+")\n"},hP=function(t,e){var i,n=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),s=e.valueToCode(this,"CLK",e.ORDER_ATOMIC),o=e.valueToCode(this,"DIO",e.ORDER_ATOMIC),_=this.getFieldValue("key");return"TM1650"==_?(e.definitions_.import_tm1650="import tm1650",i=n+" = tm1650."+_+"(clk="+s+",dio="+o+")\n"):"TM1637"==_&&(e.definitions_.import_tm1637="import tm1637",i=n+" = tm1637."+_+"(clk="+s+",dio="+o+")\n"),i},mP=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+"."+this.getFieldValue("STAT")+"()\n"},EP=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".shownum("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},OP=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".showDP("+e.valueToCode(this,"NO",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"},RP=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".intensity("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},cP=function(t,e){e.definitions_.import_st7789="import st7789";var i=Mt.Boards.getSelectedBoardKey().split(":")[2],n="";n=["mpython","mixgo_pe","mixgo_nova"].indexOf(i)>=0?"0x700000":["mixgo_sant"].indexOf(i)>=0?"0xE00000":"0x3A0000";var s=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),o=e.valueToCode(this,"SPISUB",e.ORDER_ATOMIC),_=e.valueToCode(this,"PINCS",e.ORDER_ATOMIC),p=e.valueToCode(this,"PINDC",e.ORDER_ATOMIC);return s+" = st7789.ST7789("+o+", "+e.valueToCode(this,"WIDTH",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"HEIGHT",e.ORDER_ATOMIC)+", dc_pin="+p+", cs_pin="+_+", rotation="+this.getFieldValue("rotate")+", font_address="+n+")\n"},gP=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".image("+n+", x="+s+", y="+o+", size="+_+", color="+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=i+".image("+n+", x= "+s+",y="+o+", size="+_+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},CP=function(t,e){var i="0x"+this.getFieldValue("COLOR").slice(1);return["0x"+((16252928&i)>>8|(64512&i)>>5|(255&i)>>3).toString(16),e.ORDER_ATOMIC]},SP=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),u=this.getFieldValue("center");if("0x"==a.slice(0,2))var r=i+".shows("+n+", x="+s+", y="+o+", size="+_+", space="+p+", center="+u+", color="+a+")\n";else{const t=a.match(/\d+/g);var d="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r=i+".shows("+n+", x="+s+", y="+o+", size="+_+", space="+p+", center="+u+", color=0x"+((16252928&d)>>8|(64512&d)>>5|(255&d)>>3).toString(16)+")\n"}return r},AP=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==_.slice(0,2))var p=i+".frame("+n+", size="+s+", delay="+o+", color="+_+")\n";else{const t=_.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p=i+".frame("+n+", size="+s+", delay="+o+", color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},LP=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u=i+".scroll("+n+", y="+s+", size="+o+", speed="+_+", space="+p+", color="+a+")\n";else{const t=a.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u=i+".scroll("+n+", y="+s+", size="+o+", speed="+_+", space="+p+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},NP=function(t,e){return e.definitions_.import_st7789="import st7789",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".fill(st7789."+this.getFieldValue("key")+")\n"},DP=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"x1",e.ORDER_ATOMIC),s=e.valueToCode(this,"y1",e.ORDER_ATOMIC),o=e.valueToCode(this,"x2",e.ORDER_ATOMIC),_=e.valueToCode(this,"y2",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".line("+n+", "+s+", "+o+", "+_+", color="+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=i+".line("+n+", "+s+", "+o+", "+_+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},fP=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC),s=this.getFieldValue("key"),o=e.valueToCode(this,"ADDR",e.ORDER_ATOMIC);return e.definitions_.import_i2clcd="import i2clcd",i+" = i2clcd.LCD("+n+", lcd_width="+s+", i2c_addr="+o+")\n"},FP=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", column="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", line="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+",center = "+this.getFieldValue("center")+")\n"},PP=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".print("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", column="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", line="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", delay="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},vP=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".backlight("+this.getFieldValue("key")+")\n"},YP=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".clear()\n"},XP=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC),s=e.valueToCode(this,"ADDR",e.ORDER_ATOMIC),o=this.getFieldValue("driver"),_=Mt.Boards.getSelectedBoardKey().split(":")[2],p="";return p=["mpython","mixgo_pe","mixgo_nova"].indexOf(_)>=0?"0x700000":["mixgo_sant"].indexOf(_)>=0?"0xE00000":"0x3A0000",e.definitions_.import_oled128x64="import oled128x64",i+" = oled128x64.OLED("+n+", address="+s+", font_address="+p+", types="+o+")\n"},xP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".image("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},bP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".image("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", x="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", y="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+")\n"},yP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},VP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", x="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", y="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+", center="+this.getFieldValue("center")+")\n"},BP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},GP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+", delay="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},UP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},wP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", y="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+", speed="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+")\n"},HP=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},kP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("OP")+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")\n"},WP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},KP=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".pixel(int("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+"), int("+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+"), "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"+i+".show()\n"},JP=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"w",e.ORDER_ATOMIC),_=e.valueToCode(t,"h",e.ORDER_ATOMIC),p=t.getFieldValue("state");return i+"."+t.getFieldValue("shape")+"("+n+", "+s+", "+o+", "+_+", "+p+")\n"+i+".show()\n"},QP=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"length",e.ORDER_ATOMIC),_=t.getFieldValue("state");return i+"."+("0"==t.getFieldValue("dir_h_v")?"v":"h")+"line("+n+", "+s+", "+o+", "+_+")\n"+i+".show()\n"},qP=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".line("+e.valueToCode(t,"x1",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"y1",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"x2",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"y2",e.ORDER_ATOMIC)+", "+t.getFieldValue("state")+")\n"+i+".show()\n"},zP=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT);if("Python ESP32-S3"===Mt.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var s="onboard_tft.image("+(n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT))+", color=0xffff,sync="+(e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True")+")\n"}else if("educore"==i){e.definitions_["import_"+i+"_oled"]="from "+i+" import oled";s="oled.print("+n+")\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";s="onboard_matrix.shows("+n+")\n"}return s},jP=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),o=this.getFieldValue("center");if("mixgo_sant"==i||"mixgo_nova"==i||"mixgo_soar"==i)return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.shows("+n+", space="+s+", center="+o+",sync="+(e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True")+")\n";if("educore"==i){e.definitions_["import_"+i+"_oled"]="from "+i+" import oled"}return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.shows("+n+", space="+s+", center="+o+")\n"},$P=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var s="onboard_oled.frame("+n+")\n"}else if("Python ESP32-S3"===Mt.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";s="onboard_tft.frame("+(n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT))+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";s="onboard_matrix.frame("+n+")\n"}return s},ZP=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var o="onboard_oled.frame("+(n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT))+", delay="+s+")\n"}else if("Python ESP32-S3"===Mt.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";o="onboard_tft.frame("+n+", size=5 , delay="+s+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";o="onboard_matrix.frame("+n+", delay="+s+")\n"}return o},tv=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var n="onboard_oled.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"}else if("Python ESP32-S3"===Mt.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";n="onboard_tft.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"}return n},ev=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var _="onboard_oled.scroll("+n+", speed="+s+", space="+o+")\n"}else if("Python ESP32-S3"===Mt.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";_="onboard_tft.scroll("+n+", y=0, size=5, speed="+s+", space="+o+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";_="onboard_matrix.scroll("+n+", speed="+s+", space="+o+")\n"}return _},iv=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.scroll_way("+this.getFieldValue("way")+")\n"},nv=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u="onboard_tft.scroll("+n+", y="+s+", size="+o+", speed="+_+", space="+p+", color="+a+")\n";else{const t=a.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.scroll("+n+", y="+s+", size="+o+", speed="+_+", space="+p+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},sv=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix",["onboard_matrix."+t.getFieldValue("image"),e.ORDER_ATOMIC]},ov=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];if("Python ESP32-S3"===Mt.JSFuncs.getPlatform()){const i=t.getFieldValue("image").split(".");if(2!==i.length)throw Error("pin value error");e.definitions_[`import_${i[0]}_${i[1]}`]=`from ${i[0]} import ${i[1]}`;var n=i[1]}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix."+t.getFieldValue("image")}return[n,e.ORDER_ATOMIC]},_v=function(t,e){var i={"#000000":"0","#ff0000":"1"};function n(t){let e="";if(t.length%2==1&&(t="0"+t),t.length<8){let e=8-t.length;for(let i=1;i<=e;i++)t="0"+t}for(let i=1;i<=t.length;i++)i%2==0&&i!==t.length?e=e+t[i-1]+",0x":e+=t[i-1];return"0x"+e}let s=[];for(let e=0;e<12;e++){let o="",_=0,p=0;for(let n=0;n<32;n++)n<8?p=7-n:n<16?p=23-n:n<24?p=39-n:n<32&&(p=55-n),_+=Number(i[t.getFieldValue(e+"-"+n)])*Math.pow(2,31-p);o+=n(_.toString(16)),s.unshift(o)}let o=[];for(let t=0;t>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},kv=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.picture("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+","+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+","+e.valueToCode(this,"direct",e.ORDER_ASSIGNMENT)+")\n"},Wv=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=this.getFieldValue("center"),u=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True",r=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==r.slice(0,2))var d="onboard_tft.shows("+n+", x="+s+", y="+o+", size="+_+", space="+p+", center="+a+", color="+r+",sync="+u+")\n";else{const t=r.match(/\d+/g);var l="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");d="onboard_tft.shows("+n+", x="+s+", y="+o+", size="+_+", space="+p+", center="+a+", color=0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+",sync="+u+")\n"}return d},Kv=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==_.slice(0,2))var p="onboard_tft.frame("+n+", size="+s+", delay="+o+", color="+_+")\n";else{const t=_.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p="onboard_tft.frame("+n+", size="+s+", delay="+o+", color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},Jv=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"w",e.ORDER_ATOMIC),_=e.valueToCode(t,"h",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=t.getFieldValue("shape"),u=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var r="onboard_tft."+a+"("+n+", "+s+", "+o+", "+_+", "+p+",sync="+u+")\n";else{const t=p.match(/\d+/g);var d="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r="onboard_tft."+a+"("+n+", "+s+", "+o+", "+_+", 0x"+((16252928&d)>>8|(64512&d)>>5|(255&d)>>3).toString(16)+",sync="+u+")\n"}return r},Qv=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"length",e.ORDER_ATOMIC),_=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),p=t.getFieldValue("dir_h_v"),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==_.slice(0,2))var u="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+o+", "+_+",sync="+a+")\n";else{const t=_.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+o+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},qv=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x1",e.ORDER_ATOMIC),s=e.valueToCode(t,"y1",e.ORDER_ATOMIC),o=e.valueToCode(t,"x2",e.ORDER_ATOMIC),_=e.valueToCode(t,"y2",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var u="onboard_tft.line("+n+", "+s+", "+o+", "+_+", "+p+",sync="+a+")\n";else{const t=p.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.line("+n+", "+s+", "+o+", "+_+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},zv=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft",["onboard_tft.pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},jv=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),_=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==o.slice(0,2))var p="onboard_tft.pixel(int("+n+"), int("+s+"), "+o+",sync="+_+")\n";else{const t=o.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p="onboard_tft.pixel(int("+n+"), int("+s+"), 0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+",sync="+_+")\n"}return p},$v=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"VAR",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==n.slice(0,2))var o="onboard_tft.fill("+n+",sync="+s+")\n";else{const t=n.match(/\d+/g);var _="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");o="onboard_tft.fill(0x"+((16252928&_)>>8|(64512&_)>>5|(255&_)>>3).toString(16)+",sync="+s+")\n"}return o},Zv=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=_+"=Clock("+n+", "+s+", "+o+", "+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=_+"=Clock("+n+", "+s+", "+o+", 0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},tY=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".set_rtctime()\n"},eY=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".set_time("+e.valueToCode(this,"h",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"m",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"s",e.ORDER_ASSIGNMENT)+")\n"},iY=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".draw_clock()\n"},nY=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==s.slice(0,2))var o=n+".clear("+s+")\n";else{const t=s.match(/\d+/g);var _="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");o=n+".clear(0x"+((16252928&_)>>8|(64512&_)>>5|(255&_)>>3).toString(16)+")\n"}return o},sY=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"r",e.ORDER_ATOMIC),_=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),p=t.getFieldValue("shape"),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==_.slice(0,2))var u="onboard_tft.ellipse("+n+", "+s+", "+o+", "+o+", "+_+", "+p+",sync="+a+")\n";else{const t=_.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.ellipse("+n+", "+s+", "+o+", "+o+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+", "+p+",sync="+a+")\n"}return u},oY=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];if("Python ESP32-S3"===Mt.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n="onboard_tft.pointern(angle="+e.valueToCode(this,"angle",e.ORDER_ASSIGNMENT)+")\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.pointern(angle="+e.valueToCode(this,"angle",e.ORDER_ASSIGNMENT)+")\n"}return n},_Y=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"angle",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==s.slice(0,2));else{const t=s.match(/\d+/g);var o="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");((16252928&o)>>8|(64512&o)>>5|(255&o)>>3).toString(16)}return"onboard_tft.pointern(angle="+n+")\n"},pY=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var u="onboard_tft.texts("+n+", x="+s+", y="+o+", size="+_+", color="+p+",sync="+a+")\n";else{const t=p.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.texts("+n+", x="+s+", y="+o+", size="+_+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},aY=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"direct",e.ORDER_ATOMIC);e.valueToCode(this,"boolean",e.ORDER_ATOMIC);return"onboard_tft.qrcode("+n+")\n"},uY=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True",u=this.getFieldValue("correct");if("0x"==p.slice(0,2))var r="onboard_tft.qrcode("+n+",x="+s+",y="+o+",size="+_+",correct="+u+",color="+p+",sync="+a+")\n";else{const t=p.match(/\d+/g);var d="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r="onboard_tft.qrcode("+n+",x="+s+",y="+o+",size="+_+",correct="+u+",color=0x"+((16252928&d)>>8|(64512&d)>>5|(255&d)>>3).toString(16)+",sync="+a+")\n"}return r},rY=zP,dY=Mv,lY=lv,IY=Mv,TY=hv,MY=av,hY=function(t,e){var i=this.getFieldValue("path"),n=this.getFieldValue("module");return e.definitions_["import_"+i+"_"+n]="from "+i+" import "+n,""},mY=function(t,e){var i=this.getFieldValue("module");return e.definitions_["import_"+i]="import "+i,""},EY=function(t,e){for(var i=this.getFieldValue("NAME"),n=new Array(this.itemCount_),s=0;s {\n"+e.statementToCode(this,"do")+"})\n"},yB=function(){return"control.reset()\n"},VB=function(t,e){return"control.waitMicros("+(e.valueToCode(this,"data",e.ORDER_ATOMIC)||Mt.Profile.default.serial)+")\n"},BB=function(t,e){return"control.raiseEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||Mt.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||Mt.Profile.default.serial)+")\n"},GB=function(t,e){return"control.onEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||Mt.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||Mt.Profile.default.serial)+", () => {\n"+e.statementToCode(this,"do")+")\n"},UB=function(t,e){return["control.eventTimestamp()",e.ORDER_ATOMIC]},wB=function(t,e){return["control.eventValue()",e.ORDER_ATOMIC]},HB=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},kB=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},WB=function(t,e){return["control.deviceName()",e.ORDER_ATOMIC]},KB=function(t,e){return["control.deviceSerialNumber()",e.ORDER_ATOMIC]},JB=function(t,e){return"panic("+(e.valueToCode(this,"STATUS_CODE",e.ORDER_ATOMIC)||"1000")+")\n"},QB=function(t,e){switch(e.definitions_.import_time="import time",this.getFieldValue("Time")){case"ms":return["time.ticks_ms()",e.ORDER_ATOMIC];case"us":return["time.ticks_us()",e.ORDER_ATOMIC]}},qB=function(){return"while True:\n pass\n"},zB=function(t,e){return e.definitions_.import_mixgo="import mixgo","reset()\n"},jB=function(t,e){return e.definitions_.import_os="import os","os.uname()"},$B=function(t,e){e.definitions_.import_time="import time";var i=e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},ZB=function(t,e){e.definitions_.import_time="import time";var i=e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},tG=function(t,e){return e.definitions_.import_mixgo="import mixgo",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+".init(period="+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode=Timer."+(e.valueToCode(this,"mode",e.ORDER_NONE)||"None")+", callback="+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},eG=function(t,e){return e.definitions_.import_machine="import machine",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+" = machine.Timer("+(e.valueToCode(this,"PIN",e.ORDER_NONE)||"None")+",period = "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode=machine.Timer."+this.getFieldValue("mode")+", callback="+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},iG=function(t,e){return e.definitions_.import_time="import time",["time.ticks_diff("+(e.valueToCode(this,"END",e.ORDER_NONE)||"0")+", "+(e.valueToCode(this,"START",e.ORDER_NONE)||"0")+")",e.ORDER_ATOMIC]},nG=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return e.definitions_.import_machine="import machine",i+" = machine.Timer(0)\n"},sG=function(t,e){return e.definitions_.import_machine="import machine",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+".init(period = "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode=machine.Timer."+this.getFieldValue("mode")+", callback="+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},oG=function(t,e){return e.definitions_.import_machine="import machine","wdt = machine.WDT(timeout= "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+")\n"},_G=function(t,e){e.definitions_.import_machine="import machine";return"wdt.feed()\n"},pG=function(t,e){e.definitions_.import_machine="import machine";return"machine.reset()\n"},aG=function(t,e){e.definitions_.import_bitbot_onboard_bot51="from bitbot import onboard_bot51";return"onboard_bot51.shutdown()\n"},uG=nG,rG=sG,dG=iG,lG=$B,IG=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},TG=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"day",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},MG=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api.weather_hourly("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"hour",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},hG=function(t,e){return e.definitions_["import_seniverse_api*"]="from seniverse_api import *",this.getFieldValue("mode")+".request("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+")\n"},mG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Weather_now.analysis()";else n='Weather_now.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},EG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Air_now.analysis()";else n='Air_now.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},OG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Weather_alarm.analysis()";else n='Weather_alarm.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},RG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Life_suggestion.analysis()";else n='Life_suggestion.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},cG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Tide_daily.analysis()";else n='Tide_daily.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},gG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Location_search.analysis()";else n='Location_search.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},CG=function(t,e){return e.definitions_["import_seniverse_api*"]="from seniverse_api import *",this.getFieldValue("mode")+".request("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"day",e.ORDER_ATOMIC)+")\n"},SG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Weather_daily.analysis("+n+")";else s="Weather_daily.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},AG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Air_daily.analysis("+n+")";else s="Air_daily.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},LG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Geo_sun.analysis("+n+")";else s="Geo_sun.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},NG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Geo_moon.analysis("+n+")";else s="Geo_moon.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},DG='
\r\n
{{-d.title}}
\r\n
\r\n {{# if (d.message) { }}\r\n

\r\n {{-d.message}}\r\n

\r\n {{# } }}\r\n
\r\n
',{XML:fG}=Mt,FG=fG.render(DG,{title:"烧录速度",message:"要选择烧录速度,请更改“Burn Speed”,此值将用于向设备烧录代码。如果在用较高的烧录速度时出现问题,请尝试减小此值,这可能是由于外部串行到USB芯片的限制。"}),{XML:PG}=Mt,vG=PG.render(DG,{title:"燒錄速度",message:"要選擇燒錄速度,請更改“Burn Speed”,此值將用於向設備燒錄程式碼。如果在用較高的燒錄速度時出現問題,請嘗試减小此值,這可能是由於外部串列到USB晶片的限制。"}),{XML:YG}=Mt,XG=YG.render(DG,{title:"Burn Speed",message:"To select the flashing speed, change the Burn Speed. This value will be used for flashing the code to the device. If you have issues while flashing the device at high speed, try to decrease this value. This could be due to the external serial-to-USB chip limitations."}),xG=new Tt.Generator("Python");xG.INDENT=" ",xG.addReservedWords("False,None,True,and,as,assert,break,class,continue,def,del,elif,else,except,exec,finally,for,from,global,if,import,in,is,lambda,nonlocal,not,or,pass,print,raise,return,try,while,with,yield,NotImplemented,Ellipsis,__debug__,quit,exit,copyright,license,credits,ArithmeticError,AssertionError,AttributeError,BaseException,BlockingIOError,BrokenPipeError,BufferError,BytesWarning,ChildProcessError,ConnectionAbortedError,ConnectionError,ConnectionRefusedError,ConnectionResetError,DeprecationWarning,EOFError,Ellipsis,EnvironmentError,Exception,FileExistsError,FileNotFoundError,FloatingPointError,FutureWarning,GeneratorExit,IOError,ImportError,ImportWarning,IndentationError,IndexError,InterruptedError,IsADirectoryError,KeyError,KeyboardInterrupt,LookupError,MemoryError,ModuleNotFoundError,NameError,NotADirectoryError,NotImplemented,NotImplementedError,OSError,OverflowError,PendingDeprecationWarning,PermissionError,ProcessLookupError,RecursionError,ReferenceError,ResourceWarning,RuntimeError,RuntimeWarning,StandardError,StopAsyncIteration,StopIteration,SyntaxError,SyntaxWarning,SystemError,SystemExit,TabError,TimeoutError,TypeError,UnboundLocalError,UnicodeDecodeError,UnicodeEncodeError,UnicodeError,UnicodeTranslateError,UnicodeWarning,UserWarning,ValueError,Warning,ZeroDivisionError,_,__build_class__,__debug__,__doc__,__import__,__loader__,__name__,__package__,__spec__,abs,all,any,apply,ascii,basestring,bin,bool,buffer,bytearray,bytes,callable,chr,classmethod,cmp,coerce,compile,complex,copyright,credits,delattr,dict,dir,divmod,enumerate,eval,exec,execfile,exit,file,filter,float,format,frozenset,getattr,globals,hasattr,hash,help,hex,id,input,int,intern,isinstance,issubclass,iter,len,license,list,locals,long,map,max,memoryview,min,next,object,oct,open,ord,pow,print,property,quit,range,raw_input,reduce,reload,repr,reversed,round,set,setattr,slice,sorted,staticmethod,str,sum,super,tuple,type,unichr,unicode,vars,xrange,zip"),xG.ORDER_ATOMIC=0,xG.ORDER_COLLECTION=1,xG.ORDER_STRING_CONVERSION=1,xG.ORDER_UNARY_POSTFIX=1,xG.ORDER_UNARY_PREFIX=2,xG.ORDER_MEMBER=2.1,xG.ORDER_FUNCTION_CALL=2.2,xG.ORDER_EXPONENTIATION=3,xG.ORDER_UNARY_SIGN=4,xG.ORDER_BITWISE_NOT=4,xG.ORDER_MULTIPLICATIVE=5,xG.ORDER_ADDITIVE=6,xG.ORDER_BITWISE_SHIFT=7,xG.ORDER_BITWISE_AND=8,xG.ORDER_BITWISE_XOR=9,xG.ORDER_BITWISE_OR=10,xG.ORDER_RELATIONAL=11,xG.ORDER_EQUALITY=11,xG.ORDER_LOGICAL_NOT=12,xG.ORDER_LOGICAL_AND=13,xG.ORDER_LOGICAL_OR=14,xG.ORDER_ASSIGNMENT=14,xG.ORDER_CONDITIONAL=15,xG.ORDER_LAMBDA=16,xG.ORDER_NONE=99,xG.ORDER_OVERRIDES=[[xG.ORDER_FUNCTION_CALL,xG.ORDER_MEMBER],[xG.ORDER_FUNCTION_CALL,xG.ORDER_FUNCTION_CALL],[xG.ORDER_MEMBER,xG.ORDER_MEMBER],[xG.ORDER_MEMBER,xG.ORDER_FUNCTION_CALL]],xG.init=function(){xG.PASS=this.INDENT+"pass\n",xG.definitions_=Object.create(null),xG.functionNames_=Object.create(null),xG.setups_=Object.create(null),xG.loops_=Object.create(null),xG.codeEnd_=Object.create(null),xG.variableDB_?xG.variableDB_.reset():xG.variableDB_=new Ot(xG.RESERVED_WORDS_)},xG.finish=function(t){""!==t&&(t=(t=t.replace(/\n/g,"\n")).replace(/\n\s+$/,"\n"));var e=[],i=[],n=[];for(var s in this.definitions_){var o=this.definitions_[s];0===s.indexOf("import")?e.push(o):0===s.indexOf("var_declare")?i.push(o):n.push(o)}e.length&&e.push("\n"),i.length&&i.push("\n"),n.length&&n.push("\n");var _=[];for(var s in xG.functions_)_.push(xG.functions_[s]);_.length&&_.push("\n");var p=[];for(var s in xG.setups_)p.push(xG.setups_[s]);p.length&&p.push("\n");var a=[];for(var s in xG.loops_)a.push(xG.loops_[s]);var u=[];for(var s in xG.codeEnd_)u.push(xG.codeEnd_[s]);0!==u.length&&u.push("\n");let r="";return r=a.length>0?e.join("\n")+i.join("\n")+n.join("\n")+_.join("\n")+p.join("")+t+"while True:\n"+a.join("")+u.join("\n"):e.join("\n")+i.join("\n")+n.join("\n")+_.join("\n")+p.join("")+t+u.join("\n"),r},xG.scrubNakedValue=function(t){return t+"\n"},xG.quote_=function(t){var e="'";return-1!==(t=t.replace(/\\/g,"\\\\").replace(/\n/g,"\\\n")).indexOf("'")&&(-1===t.indexOf('"')?e='"':t=t.replace(/'/g,"\\'")),e+t+e},xG.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},xG.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(o=t.getCommentText())&&(o=Tt.utils.string.wrap(o,xG.COMMENT_WRAP-3),n+=xG.prefixLines(o+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const bG={};bG.MixGo={description:"MicroPython[ESP32 MixGo]",digital_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["39","39"]],digital:[["pin0","pin0"],["pin2","pin2"],["pin4","pin4"],["pin5","pin5"],["pin12","pin12"],["pin13","pin13"],["pin14","pin14"],["pin15","pin15"],["pin16","pin16"],["pin17","pin17"],["pin18","pin18"],["pin19","pin19"],["pin21","pin21"],["pin22","pin22"],["pin23","pin23"],["pin25","pin25"],["pin26","pin26"],["pin27","pin27"],["pin32","pin32"],["pin33","pin33"],["pin34","pin34"],["pin35","pin35"],["pin36","pin36"],["pin39","pin39"]],input_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["39","39"]],output_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"]],pwm_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["20","20"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"]],pwm:[["pwm0","pwm0"],["pwm2","pwm2"],["pwm4","pwm4"],["pwm5","pwm5"],["pwm12","pwm12"],["pwm13","pwm13"],["pwm14","pwm14"],["pwm15","pwm15"],["pwm16","pwm16"],["pwm17","pwm17"],["pwm18","pwm18"],["pwm19","pwm19"],["pwm20","pwm20"],["pwm21","pwm21"],["pwm22","pwm22"],["pwm23","pwm23"],["pwm25","pwm25"],["pwm26","pwm26"],["pwm27","pwm27"],["pwm32","pwm32"],["pwm33","pwm33"]],analog_pin:[["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],analog:[["adc32","adc32"],["adc33","adc33"],["adc34","adc34"],["adc35","adc35"],["adc36","adc36"],["adc37","adc37"],["adc38","adc38"],["adc39","adc39"]],espnow_channel:Mt.Profile.generate(["1-13"]),haskylens_model:Mt.Profile.generate(["0-4"]),dac_pin:[["25","25"],["26","26"]],dac:[["dac25","dac25"],["dac26","dac26"]],touch:[["tc0","tc0"],["tc2","tc2"],["tc4","tc4"],["tc12","tc12"],["tc13","tc13"],["tc14","tc14"],["tc15","tc15"],["tc27","tc27"],["tc32","tc32"],["tc33","tc33"]],touch_pin:[["0","0"],["2","2"],["4","4"],["12","12"],["13","13"],["14","14"],["15","15"],["27","27"],["32","32"],["33","33"]],button:[["A","button_a"],["B","button_b"]],axis:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],exlcdh:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"],["12","12"],["13","13"],["14","14"],["15","15"]],exlcdv:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],brightness:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"]],tts_voice:Mt.Profile.generate(["0-16"]),tts_builtin_music:Mt.Profile.generate(["0-47"]),tts_bgmusic:Mt.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["onboard_music_QUAVERS","onboard_matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","onboard_matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","onboard_matrix.onboard_music_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","onboard_matrix.ALL_CLOCKS"],["ALL_ARROWS","onboard_matrix.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"],["3","3"]]},bG["MixGo PE"]={description:"MicroPython[ESP32 MixGo PE]",digital_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["7","7"],["8","8"],["12","12"],["13","13"],["14","14"],["15","15"],["19","19"],["20","20"],["21","21"],["22","22"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],digital:[["pin0","pin0"],["pin2","pin2"],["pin4","pin4"],["pin5","pin5"],["pin7","pin7"],["pin8","pin8"],["pin12","pin12"],["pin13","pin13"],["pin14","pin14"],["pin15","pin15"],["pin19","pin19"],["pin20","pin20"],["pin21","pin21"],["pin22","pin22"],["pin25","pin25"],["pin26","pin26"],["pin27","pin27"],["pin32","pin32"],["pin33","pin33"],["pin34","pin34"],["pin35","pin35"],["pin36","pin36"],["pin37","pin37"],["pin38","pin38"],["pin39","pin39"]],input_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["7","7"],["8","8"],["12","12"],["13","13"],["14","14"],["15","15"],["19","19"],["20","20"],["21","21"],["22","22"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],output_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["7","7"],["8","8"],["12","12"],["13","13"],["14","14"],["15","15"],["19","19"],["20","20"],["21","21"],["22","22"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"]],pwm_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["7","7"],["8","8"],["12","12"],["13","13"],["14","14"],["15","15"],["19","19"],["20","20"],["21","21"],["22","22"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"]],pwm:[["pwm0","pwm0"],["pwm2","pwm2"],["pwm4","pwm4"],["pwm5","pwm5"],["pwm7","pwm7"],["pwm8","pwm8"],["pwm12","pwm12"],["pwm13","pwm13"],["pwm14","pwm14"],["pwm15","pwm15"],["pwm19","pwm19"],["pwm20","pwm20"],["pwm21","pwm21"],["pwm22","pwm22"],["pwm25","pwm25"],["pwm26","pwm26"],["pwm27","pwm27"],["pwm32","pwm32"],["pwm33","pwm33"]],espnow_channel:Mt.Profile.generate(["1-13"]),haskylens_model:Mt.Profile.generate(["0-4"]),analog_pin:[["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],analog:[["adc32","adc32"],["adc33","adc33"],["adc34","adc34"],["adc35","adc35"],["adc36","adc36"],["adc37","adc37"],["adc38","adc38"],["adc39","adc39"]],dac_pin:[["25","25"],["26","26"]],dac:[["dac25","dac25"],["dac26","dac26"]],touch:[["tc0","tc0"],["tc2","tc2"],["tc4","tc4"],["tc12","tc12"],["tc13","tc13"],["tc14","tc14"],["tc15","tc15"],["tc27","tc27"],["tc32","tc32"],["tc33","tc33"]],touch_pin:[["0","0"],["2","2"],["4","4"],["12","12"],["13","13"],["14","14"],["15","15"],["27","27"],["32","32"],["33","33"]],button:[["A","button_a"],["B","button_b"]],axis:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],exlcdh:Mt.Profile.generate(["0-7"]),exlcdv:Mt.Profile.generate(["0-4"]),brightness:Mt.Profile.generate(["0-9"]),tts_voice:Mt.Profile.generate(["0-16"]),tts_builtin_music:Mt.Profile.generate(["0-47"]),tts_bgmusic:Mt.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["MUSIC_QUAVERS","onboard_matrix.MUSIC_QUAVERS"],["MUSIC_QUAVER","onboard_matrix.MUSIC_QUAVER"],["MUSIC_CROTCHET","onboard_matrix.MUSIC_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","onboard_matrix.ALL_CLOCKS"],["ALL_ARROWS","onboard_matrix.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"],["3","3"]]},bG["ESP32 Generic(4MB)"]={description:"MicroPython[ESP32 Generic]",digital_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["20","20"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],digital:[["pin0","pin0"],["pin2","pin2"],["pin4","pin4"],["pin5","pin5"],["pin6","pin6"],["pin7","pin7"],["pin8","pin8"],["pin9","pin9"],["pin10","pin10"],["pin11","pin11"],["pin12","pin12"],["pin13","pin13"],["pin14","pin14"],["pin15","pin15"],["pin16","pin16"],["pin17","pin17"],["pin18","pin18"],["pin19","pin19"],["pin20","pin20"],["pin21","pin21"],["pin22","pin22"],["pin23","pin23"],["pin25","pin25"],["pin26","pin26"],["pin27","pin27"],["pin32","pin32"],["pin33","pin33"],["pin34","pin34"],["pin35","pin35"],["pin36","pin36"],["pin37","pin37"],["pin38","pin38"],["pin39","pin39"]],input_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["7","7"],["8","8"],["12","12"],["13","13"],["14","14"],["15","15"],["19","19"],["20","20"],["21","21"],["22","22"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],output_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["7","7"],["8","8"],["12","12"],["13","13"],["14","14"],["15","15"],["19","19"],["20","20"],["21","21"],["22","22"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"]],pwm_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["20","20"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"]],pwm:[["pwm0","pwm0"],["pwm2","pwm2"],["pwm4","pwm4"],["pwm5","pwm5"],["pwm12","pwm12"],["pwm13","pwm13"],["pwm14","pwm14"],["pwm15","pwm15"],["pwm16","pwm16"],["pwm17","pwm17"],["pwm18","pwm18"],["pwm19","pwm19"],["pwm20","pwm20"],["pwm21","pwm21"],["pwm22","pwm22"],["pwm23","pwm23"],["pwm25","pwm25"],["pwm26","pwm26"],["pwm27","pwm27"],["pwm32","pwm32"],["pwm33","pwm33"]],analog_pin:[["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],analog:[["adc32","adc32"],["adc33","adc33"],["adc34","adc34"],["adc35","adc35"],["adc36","adc36"],["adc37","adc37"],["adc38","adc38"],["adc39","adc39"]],espnow_channel:Mt.Profile.generate(["1-13"]),haskylens_model:Mt.Profile.generate(["0-4"]),dac_pin:[["25","25"],["26","26"]],dac:[["dac25","dac25"],["dac26","dac26"]],touch:[["tc0","tc0"],["tc2","tc2"],["tc4","tc4"],["tc12","tc12"],["tc13","tc13"],["tc14","tc14"],["tc15","tc15"],["tc27","tc27"],["tc32","tc32"],["tc33","tc33"]],touch_pin:[["0","0"],["2","2"],["4","4"],["12","12"],["13","13"],["14","14"],["15","15"],["27","27"],["32","32"],["33","33"]],button:[["A","button_a"],["B","button_b"]],axis:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],exlcdh:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"],["12","12"],["13","13"],["14","14"],["15","15"]],exlcdv:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],brightness:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"]],tts_voice:Mt.Profile.generate(["0-16"]),tts_builtin_music:Mt.Profile.generate(["0-47"]),tts_bgmusic:Mt.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["onboard_music_QUAVERS","onboard_matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","onboard_matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","onboard_matrix.onboard_music_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","onboard_matrix.ALL_CLOCKS"],["ALL_ARROWS","onboard_matrix.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"],["3","3"]]},bG.mPython={description:"MicroPython[ESP32 Generic]",digital_pin:[["p0","33"],["p1","32"],["p2","35"],["p5","0"],["p6","16"],["p7","17"],["p8","26"],["p9","25"],["p11","2"],["p13","18"],["p14","19"],["p15","21"],["p16","5"],["p19","22"],["p20","23"]],digital:[["pin0","pin33"],["pin1","pin32"],["pin2","pin35"],["pin5","pin0"],["pin6","pin16"],["pin7","pin17"],["pin8","pin26"],["pin9","pin25"],["pin11","pin2"],["pin13","pin18"],["pin14","pin19"],["pin15","pin21"],["pin16","pin5"],["pin19","pin22"],["pin20","pin23"]],input_pin:[["p0","33"],["p1","32"],["p2","35"],["p5","0"],["p6","16"],["p7","17"],["p8","26"],["p9","25"],["p11","2"],["p13","18"],["p14","19"],["p15","21"],["p16","5"],["p19","22"],["p20","23"]],output_pin:[["p0","33"],["p1","32"],["p5","0"],["p6","16"],["p7","17"],["p8","26"],["p9","25"],["p11","2"],["p13","18"],["p14","19"],["p15","21"],["p16","5"],["p19","22"],["p20","23"]],pwm_pin:[["p0","33"],["p1","32"],["p5","0"],["p6","16"],["p7","17"],["p8","26"],["p9","25"],["p11","2"],["p13","18"],["p14","19"],["p15","21"],["p16","5"],["p19","22"],["p20","23"]],pwm:[["pwm0","pwm33"],["pwm1","pwm32"],["pwm5","pwm0"],["pwm6","pwm16"],["pwm7","pwm17"],["pwm8","pwm26"],["pwm9","pwm25"],["pwm11","pwm2"],["pwm13","pwm18"],["pwm14","pwm19"],["pwm15","pwm21"],["pwm16","pwm5"],["pwm19","pwm22"],["pwm20","pwm23"]],espnow_channel:Mt.Profile.generate(["1-13"]),haskylens_model:Mt.Profile.generate(["0-4"]),analog_pin:[["p0","33"],["p1","32"],["p2","35"],["p3","34"],["p4","39"],["p10","36"]],analog:[["adc0","adc33"],["adc1","adc32"],["adc2","adc35"],["adc3","adc34"],["adc4","adc39"],["adc10","adc36"]],dac_pin:[["p8","26"],["p9","25"]],dac:[["dac8","dac26"],["dac9","dac25"]],touch_mpython:[["p","p"],["y","y"],["t","t"],["h","h"],["o","o"],["n","n"]],touch:[["tc0","tc33"],["tc1","tc32"],["tc5","tc0"],["tc11","tc2"],["tc23","tc27"],["tc24","tc14"],["tc25","tc12"],["tc26","tc13"],["tc27","tc15"],["tc28","tc4"]],touch_pin:[["p0","33"],["p1","32"],["p5","0"],["p11","2"],["p23","27"],["p24","14"],["p25","12"],["p26","13"],["p27","15"],["p28","4"]],button:[["A","button_a"],["B","button_b"]],axis:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],exlcdh:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"],["12","12"],["13","13"],["14","14"],["15","15"]],exlcdv:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],brightness:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"]],tts_voice:Mt.Profile.generate(["0-16"]),tts_builtin_music:Mt.Profile.generate(["0-47"]),tts_bgmusic:Mt.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["onboard_music_QUAVERS","onboard_matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","onboard_matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","onboard_matrix.onboard_music_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","onboard_matrix.ALL_CLOCKS"],["ALL_ARROWS","onboard_matrix.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"],["3","3"]]};const yG=bG,VG=230,BG={init:function(){this.setColour(VG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.digital),"PIN"),this.setOutput(!0)}},GG={init:function(){this.setColour(VG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.digital_pin),"PIN"),this.setOutput(!0,Number)}},UG={init:function(){this.setColour(VG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.input_pin),"PIN"),this.setOutput(!0,Number)}},wG={init:function(){this.setColour(VG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.output_pin),"PIN"),this.setOutput(!0,Number)}},HG={init:function(){this.setColour(VG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.touch_mpython),"PIN"),this.setOutput(!0,Number)}},kG={init:function(){this.setColour(VG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.espnow_channel),"PIN"),this.setOutput(!0,Number)}},WG={init:function(){this.setColour(VG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.haskylens_model),"PIN"),this.setOutput(!0,Number)}},KG={init:function(){this.setColour(VG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.pwm_input),"PIN"),this.setOutput(!0)}},JG={init:function(){this.setColour(VG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.analog_input),"PIN"),this.setOutput(!0)}},QG={init:function(){this.setColour(VG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.pwm_output),"PIN"),this.setOutput(!0)}},qG={init:function(){this.setColour(VG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.analog_output),"PIN"),this.setOutput(!0)}},zG={init:function(){this.setColour(VG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.i2c_A_pin),"PIN"),this.setOutput(!0,Number)}},jG={init:function(){this.setColour(VG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.i2c_B_pin),"PIN"),this.setOutput(!0,Number)}},$G={init:function(){this.setColour(VG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.spi_A_pin),"PIN"),this.setOutput(!0,Number)}},ZG={init:function(){this.setColour(VG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.spi_B_pin),"PIN"),this.setOutput(!0,Number)}},tU={init:function(){this.setColour(VG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.spi_C_pin),"PIN"),this.setOutput(!0,Number)}},eU={init:function(){this.setColour(VG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.spi_D_pin),"PIN"),this.setOutput(!0,Number)}},iU={init:function(){this.setColour(VG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.analog),"PIN"),this.setOutput(!0)}},nU={init:function(){this.setColour(VG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.analog_pin),"PIN"),this.setOutput(!0,Number)}},sU={init:function(){this.setColour(VG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.dac),"PIN"),this.setOutput(!0)}},oU={init:function(){this.setColour(VG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.dac_pin),"PIN"),this.setOutput(!0,Number)}},_U={init:function(){this.setColour(VG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.button),"PIN"),this.setOutput(!0,Number)}},pU={init:function(){this.setColour(VG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.pwm),"PIN"),this.setOutput(!0)}},aU={init:function(){this.setColour(VG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.pwm_pin),"PIN"),this.setOutput(!0,Number)}},uU={init:function(){this.setColour(VG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.touch_pin),"PIN"),this.setOutput(!0,Number)}},rU={init:function(){this.setColour(VG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.touch),"PIN"),this.setOutput(!0)}},dU={init:function(){this.setColour(VG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.serial_pin),"PIN"),this.setOutput(!0,Number)}},lU={init:function(){this.setColour(VG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.builtinimg),"PIN"),this.setOutput(!0,"esp32_image")}},IU={init:function(){this.setColour(VG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.builtinimg_extern),"PIN"),this.setOutput(!0,"esp32_image")}},TU={init:function(){this.setColour(VG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.imglist),"PIN"),this.setOutput(!0)}},MU={init:function(){this.setColour(VG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.playlist),"PIN"),this.setOutput(!0)}},hU={init:function(){this.setColour(VG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.playlist_extern),"PIN"),this.setOutput(!0)}},mU={init:function(){this.setColour(VG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.exlcdh),"PIN"),this.setOutput(!0,Number)}},EU={init:function(){this.setColour(VG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.exlcdv),"PIN"),this.setOutput(!0,Number)}},OU={init:function(){this.setColour(VG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.axis),"PIN"),this.setOutput(!0,Number)}},RU={init:function(){this.setColour(VG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.brightness),"PIN"),this.setOutput(!0,Number)}},cU={init:function(){this.setColour(VG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.tts_voice),"PIN"),this.setOutput(!0,Number)}},gU={init:function(){this.setColour(VG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.tts_builtin_music),"PIN"),this.setOutput(!0,Number)}},CU={init:function(){this.setColour(VG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.tts_bgmusic),"PIN"),this.setOutput(!0,Number)}},SU={init:function(){this.setColour(VG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.tone_notes),"PIN"),this.setOutput(!0,Number)}},AU={init:function(){this.setColour(VG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.radio_power),"PIN"),this.setOutput(!0,Number)}},LU={init:function(){this.setColour(VG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.radio_datarate),"PIN"),this.setOutput(!0,Number)}},NU={init:function(){this.setColour(VG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.one_more),"PIN"),this.setOutput(!0)}},DU={init:function(){this.setColour(VG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.digital_dot),"PIN"),this.setOutput(!0,Number)}},fU={init:function(){this.setColour(VG),this.appendDummyInput("").appendField(new Tt.FieldDropdown([["0","0"],["1","1"],["2","2"],["3","3"]]),"PIN"),this.setOutput(!0,Number)}},FU=function(t,e){return[this.getFieldValue("PIN"),e.ORDER_ATOMIC]},PU=FU,vU=FU,YU=FU,XU=FU,xU=FU,bU=FU,yU=FU,VU=FU,BU=FU,GU=FU,UU=FU,wU=FU,HU=FU,kU=FU,WU=FU,KU=FU,JU=FU,QU=FU,qU=FU,zU=FU,jU=FU,$U=FU,ZU=FU,tw=FU,ew=FU,iw=FU,nw=FU,sw=FU,ow=FU,_w=FU,pw=FU,aw=FU,uw=FU,rw=FU,dw=FU;Object.assign(Tt.Variables,mt),Object.assign(Tt.Procedures,Yu),Object.assign(Tt.Lang.ZhHans,ut),Object.assign(Tt.Lang.ZhHant,rt),Object.assign(Tt.Lang.En,dt),Tt.Python=Xu,Tt.generator=Xu,Mt.Profile.default={},Object.assign(Mt.Profile,yG),Object.assign(Mt.Profile.default,yG["ESP32 Generic"]),Object.assign(Tt.Blocks,e,i,n,s,o,_,p,a,u,r,d,l,I,b,H,w,v,y,k,f,U,G,B,V,F,D,N,X,Y,x,P,lt),Object.assign(Tt.Python.forBlock,T,M,h,m,E,O,R,c,g,C,S,A,L,tt,pt,_t,z,et,at,J,ot,st,nt,it,Q,K,W,$,j,Z,q,It)})(); \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/index.xml b/boards/default/micropython_esp32c2/index.xml index 8f42f14f..958116de 100644 --- a/boards/default/micropython_esp32c2/index.xml +++ b/boards/default/micropython_esp32c2/index.xml @@ -1 +1 @@ -02000attachInterrupt_funcattachInterrupt_func10,1,2,3051i5000DIVIDE10Exception as eetestThreadtestThreadWHILETRUEHello Mixly from Thread!ms10tim1000tim_callbacktim_callback200090x151100a10.998124.82997110010101000110050110011000110x2x0,1,2,30,1,2,30,1,2,3xMixlyMixlyHelloMixly65axMixlyMixly0Mixly02MixlyMixlyHello,mixlyl--mylistHello,mixlymixlymixpyI love mixly!I love mixlyRandom No. is {}int1100input('1+2*3')mylist1,2,3,4,5mylist0mylist02mylistmylistmylist0mylist00mylist00mylist0mylist0mylist0mylistmylistmylistxmytup1,2,3,4,5mytup0mytup02mytupmytupmytupmytup0mytupmytup1mytup2xmydictmydictkeymydictkey0mydictkey0mydictkeymydictkeymydictkey0mydictmydictmydictmydictxmydict{"name":"Mixly","color":"green"}s11,2,3,4,5s1s1s1s2s1s2s10s1Mixlys1s2xMixlyMixlyMixly,HelloMixlyprompt02MixlyMixly0XFF00FFcodebMixlyMixly1attachInterrupt_func1attachInterrupt_funcattachInterrupt_funcrfid00Mixly0Mixly2022711420452023,1,1,12,0,0180292023,1,1,12,0,010044044010000100412000000000001000100010020000Hello, Mixly!10mixly.wav5Mixly0MixlyMixly500MixlyMixly50010.501001001000interrupt_funcinterrupt_functurnsdistance00Mixly0Mixly00Mixly0Mixlywifinamewifipassword8080AUTH TOKEN0_value02000notify0Your Target Emailsubjectbodycolor#FF0000wifinamewifipasswordmixio.mixly.cnmixio.mixly.cnA1B2C3mixio.mixly.cnusernamepasswordMyProjecttopicmsgtopicmsgtopicmethodmethodEQmsg1content"long""lat""message"012content"key1""key2""key3"012https://mixio.mixly.cn/time.phpmixio.mixly.cnwifinamewifipasswordcsub_cb31444082183.230.40.3914109261n63JySRowo13ZLDBKw6y896E0=MixlyRobotsub_cbEQmsg1ciot_dict"sound"ciot_dictccwifinamewifipasswordclientEnter Your API_KEYEnter Your SECRET_KEYclient1clientS72099北京今天天气如何?wifinamewifipasswordSVa3S0UKHIy9dDArs北京SVa3S0UKHIy9dDArs北京10000https://mixio.mixly.cn/tinydbusernamepasswordmqtt_clientmixlyhellomixly11mixlymixlyasrllmasrasr3llmquestionllmllmcb_func灯光控制用来控制LED灯光的开关power开为true,关为falsecb_funcinfoble_cble_pMixlyble_cble_cMixlyble_cble_xble_xble_xMixlyble_xble_xble_methodble_methodEQdataMixlyhandlehandle_methodhandle_methodkey1key2key3keyxble_keyboard_mouse10Hello, Mixly!1002000001000009000,4500,563,5630x1234callbackcmdaddrrawpulsesi2c2221100000i2c00i2c00i2ci2ci2cspi2000004512spi200000buf50spi10spi100xffspibufspibuf0xffspi12345spi12345buf1Mixlyow12owowow12345ow12345owmy_now0my_nowmy_nowmy_nowFFFFFFFFFFFFmixlymy_nowmy_nowcbcbEQmsg1spi10000004512spi8my_lora433.925716my_loramy_loramy_loraMixlyi2c_extend45100000xsensori2c_extendxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensor1013.25xsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensor5000500xsensorxsensorxsensorxsensorxsensorxsensorspi10000004512spi8ysensorysensorysensor0ysensor0ysensor0Mixlyysensor0Mixlyysensorysensor39,119.96,31.67ysensorysensorstation45ps2_handle24512ps2_handle50ps2_handleps2_handlews_wr0121ws_wrws_wrws_wr360002zsensorzsensorzsensorzsensorzsensorweight12500weightvar_re345rotary_cbrotary_cb100midi0midi440midi4401000midimidi100midimidimidi4120midimidirgb04rgb0000rgb000rgb0001000rgb1000rgb100100i2c_extend45400000Motori2c_extendMotor100Motor1024102402actuatoractuatoractuatoractuatoractuator你好米思齐actuatoractuatoractuator20actuatoractuatormixly*.mp3i2c_extend45400000matrixi2c_extendmatrixmatrixmatrixMixly0matrixMixlymatrixMixly500matrixMixlymatrixMixly500matrixmatrix>matrixmatrix1matrixmatrixmatrix0.5matrixmatrixdisp34disp2333dispdisp1i2c_extend45100000lcdi2c_extend0x27lcdMixly00lcdMixly005lcdlcdi2c_extend45100000oledi2c_extend0x3coledoled001oledMixlyoledMixly0010oledMixlyoledMixly0550oledMixlyoledMixly5500oled0020oled005050oled20202015oled1oled00oled00oledspi1000000450spi78tft_st7789135240tft_st7789001#ffffff255,255,0tft_st7789Mixly0050#ffffff255,255,0tft_st7789Mixly0550#ffffff255,255,0tft_st7789Mixly5500#ffffff255,255,0tft_st7789004040#ffffff255,255,0tft_st778912ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor'ni-hao','hong-se','lv-se','lan-se','bai-se','hei-se'0.1ai_sensor1.wav5ai_sensor1.wav100ai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsai_sensor'猫','狗','笔记本','笔'mixgo5自模型训练infoai_sensor'猫','狗','笔记本','笔'mixgo自模型识别objectsinfoai_sensor0.1606, 0.3562, 0.4712, 0.9568, 0.9877, 1.9108, 1.8761, 3.5310, 3.4423, 5.6823/sd/masks.kmodel外部模型加载objects12ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor1.wav5ai_sensor1.wav100infoai_sensorlicensePlateinfoai_sensorfaceinfoai_sensor20objectsai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsfilename.txtfMixlyfff0fffpathpathfilename.txtsrcname.txtdstname.txtff0wifinamewifipasswordwlanwlanwlanwlanwlan127.16.0.801234567wlanwlanwlanwlanwlanmixly123456781connect_wifiwlanAPwlanTruewlanwlanSmallCabbage1234561WHILETRUEEQ0wlan0.0.0.0ms1000TRUEss0.0.0.080s192.168.0.180s5sss1024sbMixlyresponses1024sbMixlyresponse127.0.0.180sntp.aliyun.comresponsehttp://mixio.mixly.cnresponsehttp://mixio.mixly.cnresponsehttp://192.168.1.1:11434qwen2.5-coder:0.5b5https://api.deepseek.comAPI Keydeepseek-chat5请介绍一下米思齐?content_callbackcontent_callbackcontent请介绍一下米思齐? \ No newline at end of file +02000attachInterrupt_funcattachInterrupt_func10,1,2,3051i5000DIVIDE10Exception as eetestThreadtestThreadWHILETRUEHello Mixly from Thread!ms10tim1000tim_callbacktim_callback200090x151100a10.998124.82997110010101000110050110011000110x2x0,1,2,30,1,2,30,1,2,3xMixlyMixlyHelloMixly65axMixlyMixly0Mixly02MixlyMixlyHello,mixlyl--mylistHello,mixlymixlymixpyI love mixly!I love mixlyRandom No. is {}int1100input('1+2*3')mylist1,2,3,4,5mylist0mylist02mylistmylistmylist0mylist00mylist00mylist0mylist0mylist0mylistmylistmylistxmytup1,2,3,4,5mytup0mytup02mytupmytupmytupmytup0mytupmytup1mytup2xmydictmydictkeymydictkey0mydictkey0mydictkeymydictkeymydictkey0mydictmydictmydictmydictxmydict{"name":"Mixly","color":"green"}s11,2,3,4,5s1s1s1s2s1s2s10s1Mixlys1s2xMixlyMixlyMixly,HelloMixlyprompt02MixlyMixly0XFF00FFcodebMixlyMixly1attachInterrupt_func1attachInterrupt_funcattachInterrupt_funcrfid00Mixly0Mixly2022711420452023,1,1,12,0,0180292023,1,1,12,0,010044044010000100412000000000001000100010020000Hello, Mixly!10mixly.wav5Mixly0MixlyMixly500MixlyMixly50010.501001001000interrupt_funcinterrupt_functurnsdistancei2c_extend2122400000pei2c_extendpepe100pepe100pepe100pe00Mixly0Mixly00Mixly0Mixlywifinamewifipassword8080AUTH TOKEN0_value02000notify0Your Target Emailsubjectbodycolor#FF0000wifinamewifipasswordmixio.mixly.cnmixio.mixly.cnA1B2C3mixio.mixly.cnusernamepasswordMyProjecttopicmsgtopicmsgtopicmethodmethodEQmsg1content"long""lat""message"012content"key1""key2""key3"012https://mixio.mixly.cn/time.phpmixio.mixly.cnwifinamewifipasswordcsub_cb31444082183.230.40.3914109261n63JySRowo13ZLDBKw6y896E0=MixlyRobotsub_cbEQmsg1ciot_dict"sound"ciot_dictccwifinamewifipasswordclientEnter Your API_KEYEnter Your SECRET_KEYclient1clientS72099北京今天天气如何?wifinamewifipasswordSVa3S0UKHIy9dDArs北京SVa3S0UKHIy9dDArs北京10000https://mixio.mixly.cn/tinydbusernamepasswordmqtt_clientmixlyhellomixly11mixlymixlyasrllmasrasr3llmquestionllmllmcb_func灯光控制用来控制LED灯光的开关power开为true,关为falsecb_funcinfoble_cble_pMixlyble_cble_cMixlyble_cble_xble_xble_xMixlyble_xble_xble_methodble_methodEQdataMixlyhandlehandle_methodhandle_methodkey1key2key3keyxble_keyboard_mouse10Hello, Mixly!1002000001000009000,4500,563,5630x1234callbackcmdaddrrawpulsesi2c2221100000i2c00i2c00i2ci2ci2cspi2000004512spi200000buf50spi10spi100xffspibufspibuf0xffspi12345spi12345buf1Mixlyow12owowow12345ow12345owmy_now0my_nowmy_nowmy_nowFFFFFFFFFFFFmixlymy_nowmy_nowcbcbEQmsg1spi10000004512spi8my_lora433.925716my_loramy_loramy_loraMixlyi2c_extend45100000xsensori2c_extendxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensor1013.25xsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensor5000500xsensorxsensorxsensorxsensorxsensorxsensorspi10000004512spi8ysensorysensorysensor0ysensor0ysensor0Mixlyysensor0Mixlyysensorysensor39,119.96,31.67ysensorysensorstation45ps2_handle24512ps2_handle50ps2_handleps2_handlews_wr0121ws_wrws_wrws_wr360002zsensorzsensorzsensorzsensorzsensorweight12500weightvar_re345rotary_cbrotary_cb100midi0midi440midi4401000midimidi100midimidimidi4120midimidirgb04rgb0000rgb000rgb0001000rgb1000rgb100100i2c_extend45400000Motori2c_extendMotor100Motor1024102402actuatoractuatoractuatoractuatoractuator你好米思齐actuatoractuatoractuator20actuatoractuatormixly*.mp3i2c_extend45400000matrixi2c_extendmatrixmatrixmatrixMixly0matrixMixlymatrixMixly500matrixMixlymatrixMixly500matrixmatrix>matrixmatrix1matrixmatrixmatrix0.5matrixmatrixdisp34disp2333dispdisp1i2c_extend45100000lcdi2c_extend0x27lcdMixly00lcdMixly005lcdlcdi2c_extend45100000oledi2c_extend0x3coledoled001oledMixlyoledMixly0010oledMixlyoledMixly0550oledMixlyoledMixly5500oled0020oled005050oled20202015oled1oled00oled00oledspi1000000450spi78tft_st7789135240tft_st7789001#ffffff255,255,0tft_st7789Mixly0050#ffffff255,255,0tft_st7789Mixly0550#ffffff255,255,0tft_st7789Mixly5500#ffffff255,255,0tft_st7789004040#ffffff255,255,0tft_st778912ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor'ni-hao','hong-se','lv-se','lan-se','bai-se','hei-se'0.1ai_sensor1.wav5ai_sensor1.wav100ai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsai_sensor'猫','狗','笔记本','笔'mixgo5自模型训练infoai_sensor'猫','狗','笔记本','笔'mixgo自模型识别objectsinfoai_sensor0.1606, 0.3562, 0.4712, 0.9568, 0.9877, 1.9108, 1.8761, 3.5310, 3.4423, 5.6823/sd/masks.kmodel外部模型加载objects12ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor1.wav5ai_sensor1.wav100infoai_sensorlicensePlateinfoai_sensorfaceinfoai_sensor20objectsai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsfilename.txtfMixlyfff0fffpathpathfilename.txtsrcname.txtdstname.txtff0wifinamewifipasswordwlanwlanwlanwlanwlan127.16.0.801234567wlanwlanwlanwlanwlanmixly123456781connect_wifiwlanAPwlanTruewlanwlanSmallCabbage1234561WHILETRUEEQ0wlan0.0.0.0ms1000TRUEss0.0.0.080s192.168.0.180s5sss1024sbMixlyresponses1024sbMixlyresponse127.0.0.180sntp.aliyun.comresponsehttp://mixio.mixly.cnresponsehttp://mixio.mixly.cnresponsehttp://192.168.1.1:11434qwen2.5-coder:0.5b5https://api.deepseek.comAPI Keydeepseek-chat5请介绍一下米思齐?content_callbackcontent_callbackcontent请介绍一下米思齐? \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/main.bundle.1cce2904.js b/boards/default/micropython_esp32c2/main.bundle.1cce2904.js new file mode 100644 index 00000000..5ba47332 --- /dev/null +++ b/boards/default/micropython_esp32c2/main.bundle.1cce2904.js @@ -0,0 +1,21 @@ +(()=>{"use strict";var e={d:(t,i)=>{for(var n in i)e.o(i,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:i[n]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};e.r(t),e.d(t,{controls_type:()=>Ge,controls_typeLists:()=>Ue,lists_zip:()=>we,lists_zip_container:()=>He,lists_zip_item:()=>ke,unpack_iterable_object:()=>We,variables_change:()=>Ve,variables_get:()=>xe,variables_global:()=>Be,variables_set:()=>be});var i={};e.r(i),e.d(i,{base_setup:()=>Qe,controls_delay:()=>qe,controls_end_program:()=>ze,controls_except:()=>ut,controls_finally:()=>rt,controls_flow_statements:()=>it,controls_for:()=>nt,controls_forEach:()=>Ze,controls_for_range:()=>st,controls_if:()=>je,controls_if_else:()=>pt,controls_if_elseif:()=>ot,controls_if_if:()=>_t,controls_lambda:()=>lt,controls_main:()=>Je,controls_pass:()=>It,controls_range:()=>$e,controls_repeat_ext:()=>dt,controls_thread:()=>Mt,controls_try:()=>at,controls_try_finally:()=>tt,controls_whileUntil:()=>et,datetime_fromtimestamp:()=>Rt,do_while:()=>Tt,garbage_collection:()=>ht,gene_unique_identifier:()=>ct,get_mem_alloc:()=>mt,get_mem_free:()=>Et,get_unique_identifier:()=>Ot});var n={};e.r(n),e.d(n,{base_map:()=>wt,generate_cartesian_product:()=>kt,math_arithmetic:()=>Lt,math_bit:()=>Dt,math_constant:()=>St,math_constant_mp:()=>At,math_constrain:()=>yt,math_dec:()=>Ft,math_degree_to_radian:()=>Kt,math_indexer_number:()=>bt,math_map:()=>xt,math_max_min:()=>Yt,math_number:()=>Ct,math_number_base_conversion:()=>vt,math_radian_to_degree:()=>Wt,math_random:()=>Xt,math_random_seed:()=>Vt,math_round:()=>Bt,math_selfcalcu:()=>Nt,math_to_int:()=>Pt,math_trig:()=>ft,text_to_number:()=>Gt,text_to_number_skulpt:()=>Ut,turn_to_int:()=>Ht});var s={};e.r(s),e.d(s,{ascii_to_char:()=>Zt,char_to_ascii:()=>ei,number_to_text:()=>ti,os_system:()=>Li,text:()=>Qt,text_bytes:()=>zt,text_capital:()=>ri,text_center:()=>di,text_char:()=>jt,text_char_at:()=>si,text_char_at2:()=>ni,text_char_at3:()=>gi,text_compareTo:()=>ci,text_compare_to:()=>ui,text_create_with_container:()=>Ei,text_create_with_item:()=>Oi,text_encode:()=>Si,text_equals_starts_ends:()=>ai,text_eval:()=>Ai,text_find:()=>li,text_format:()=>mi,text_format_noreturn:()=>Ci,text_join:()=>$t,text_join_seq:()=>Ii,text_length:()=>ii,text_random_char:()=>_i,text_replace:()=>Mi,text_split:()=>Ti,text_strip:()=>hi,text_substring:()=>pi,text_substring2:()=>oi,text_substring3:()=>Ri,text_textarea:()=>qt});var _={};e.r(_),e.d(_,{ENUMERATE:()=>un,content_in_lists:()=>dn,enumerate:()=>rn,list_many_input:()=>qi,list_tolist:()=>Zi,list_tolist2:()=>an,list_trig:()=>Ki,lists_2d_get_col_row_data:()=>Pi,lists_2d_get_data_with_col_row:()=>Fi,lists_append_extend:()=>bi,lists_change_to:()=>Qi,lists_change_to_general:()=>ji,lists_clear:()=>wi,lists_create_with:()=>Yi,lists_create_with2:()=>en,lists_create_with_container:()=>Xi,lists_create_with_item:()=>yi,lists_create_with_noreturn:()=>zi,lists_create_with_text:()=>vi,lists_create_with_text2:()=>tn,lists_del_general:()=>$i,lists_find:()=>Wi,lists_getIndex3:()=>nn,lists_getSublist3:()=>sn,lists_get_index:()=>Di,lists_get_random_item:()=>Vi,lists_get_random_sublist:()=>Bi,lists_get_sublist:()=>fi,lists_insert_value:()=>Gi,lists_insert_value2:()=>on,lists_pop:()=>ki,lists_remove_at:()=>Hi,lists_remove_at2:()=>pn,lists_reverse:()=>Ui,lists_setIndex3:()=>_n,lists_set_index:()=>xi,lists_sort:()=>Ji});var o={};e.r(o),e.d(o,{dicts_add_change_del:()=>Nn,dicts_add_or_change:()=>On,dicts_clear:()=>gn,dicts_create_with:()=>In,dicts_create_with_container:()=>Mn,dicts_create_with_item:()=>Tn,dicts_create_with_noreturn:()=>Fn,dicts_deldict:()=>Ln,dicts_delete:()=>Rn,dicts_get:()=>mn,dicts_get_default:()=>En,dicts_items:()=>Cn,dicts_keys:()=>hn,dicts_length:()=>An,dicts_pop:()=>Dn,dicts_setdefault:()=>fn,dicts_to_json:()=>Yn,dicts_to_json2:()=>yn,dicts_to_to:()=>Xn,dicts_todict:()=>Pn,dicts_update:()=>cn,dicts_values:()=>Sn,json_to_dicts:()=>vn});var p={};e.r(p),e.d(p,{logic_boolean:()=>Un,logic_compare:()=>bn,logic_compare_continous:()=>Vn,logic_is:()=>Wn,logic_is_in:()=>kn,logic_negate:()=>Gn,logic_null:()=>wn,logic_operation:()=>Bn,logic_tobool:()=>Kn,logic_true_or_false:()=>Hn});var a={};e.r(a),e.d(a,{sdcard_mount:()=>Ts,sdcard_use_spi_init:()=>Ms,storage_can_write_ornot:()=>ts,storage_change_dir:()=>ls,storage_close_file:()=>ns,storage_delete_file:()=>_s,storage_file_seek:()=>as,storage_file_tell:()=>ps,storage_file_write:()=>jn,storage_fileopen:()=>Qn,storage_fileopen_new:()=>qn,storage_fileopen_new_encoding:()=>zn,storage_get_a_line:()=>es,storage_get_contents:()=>Zn,storage_get_contents_without_para:()=>$n,storage_get_current_dir:()=>us,storage_get_file_size:()=>os,storage_get_filename:()=>is,storage_is_file:()=>Is,storage_list_all_files:()=>ss,storage_make_dir:()=>rs,storage_open_file_with_os:()=>Jn,storage_rename:()=>ds});var u={};e.r(u),e.d(u,{procedures_callnoreturn:()=>Rs,procedures_callreturn:()=>cs,procedures_defnoreturn:()=>hs,procedures_defreturn:()=>ms,procedures_ifreturn:()=>gs,procedures_mutatorarg:()=>Os,procedures_mutatorcontainer:()=>Es,procedures_return:()=>Cs});var r={};e.r(r),e.d(r,{tuple_change_to:()=>ys,tuple_create_llm_params:()=>ks,tuple_create_with:()=>As,tuple_create_with_container:()=>Ls,tuple_create_with_item:()=>Ns,tuple_create_with_noreturn:()=>Bs,tuple_create_with_text2:()=>Ds,tuple_create_with_text_return:()=>fs,tuple_del:()=>Ys,tuple_find:()=>xs,tuple_getIndex:()=>Fs,tuple_getSublist:()=>Vs,tuple_get_random_item:()=>Us,tuple_get_sublist:()=>Gs,tuple_input:()=>Hs,tuple_join:()=>vs,tuple_length:()=>Ps,tuple_max:()=>Xs,tuple_totuple:()=>ws,tuple_trig:()=>bs});var d={};e.r(d),e.d(d,{set_add_discard:()=>e_,set_clear:()=>js,set_create_with:()=>Ks,set_create_with_container:()=>Js,set_create_with_item:()=>Qs,set_create_with_text_return:()=>n_,set_length:()=>qs,set_operate:()=>$s,set_operate_update:()=>Zs,set_pop:()=>zs,set_sub:()=>t_,set_toset:()=>s_,set_update:()=>i_});var l={};e.r(l),e.d(l,{html_content:()=>u_,html_content_more:()=>r_,html_document:()=>o_,html_form:()=>l_,html_head_body:()=>a_,html_style:()=>d_,html_style_color:()=>M_,html_style_content:()=>I_,html_text:()=>T_,html_title:()=>p_});var I={};e.r(I),e.d(I,{attribute_access:()=>f_,function_call:()=>L_,function_call_container:()=>N_,function_call_item:()=>D_,raw_block:()=>E_,raw_empty:()=>R_,raw_expression:()=>O_,raw_table:()=>m_,text_comment:()=>c_,text_print_multiple:()=>C_,text_print_multiple_container:()=>S_,text_print_multiple_item:()=>A_,type_check:()=>g_});var M={};e.r(M),e.d(M,{controls_type:()=>X_,controls_typeLists:()=>y_,lists_zip:()=>x_,unpack_iterable_object:()=>b_,variables_change:()=>Y_,variables_get:()=>F_,variables_global:()=>v_,variables_set:()=>P_});var T={};e.r(T),e.d(T,{Panic_with_status_code:()=>J_,base_setup:()=>B_,controls_delay:()=>K_,controls_flow_statements:()=>W_,controls_for:()=>w_,controls_forEach:()=>$_,controls_for_range:()=>H_,controls_if:()=>G_,controls_interrupts:()=>z_,controls_lambda:()=>eo,controls_main:()=>V_,controls_millis:()=>Q_,controls_nointerrupts:()=>j_,controls_pass:()=>io,controls_range:()=>Z_,controls_repeat:()=>ro,controls_repeat_ext:()=>_o,controls_thread:()=>no,controls_try_finally:()=>U_,controls_whileUntil:()=>k_,datetime_fromtimestamp:()=>lo,do_while:()=>so,garbage_collection:()=>oo,gene_unique_identifier:()=>Io,get_mem_alloc:()=>po,get_mem_free:()=>ao,get_unique_identifier:()=>uo,reset:()=>q_,time_sleep:()=>to});var h={};e.r(h),e.d(h,{base_map:()=>Xo,generate_cartesian_product:()=>xo,math_arithmetic:()=>Eo,math_bit:()=>mo,math_constant:()=>To,math_constant_mp:()=>ho,math_constrain:()=>No,math_dec:()=>go,math_degree_to_radian:()=>Vo,math_indexer_number:()=>Fo,math_map:()=>Lo,math_max_min:()=>So,math_number:()=>Mo,math_number_base_conversion:()=>Do,math_radian_to_degree:()=>bo,math_random:()=>Ao,math_random_seed:()=>fo,math_round:()=>Po,math_selfcalcu:()=>Oo,math_single:()=>Ro,math_to_int:()=>Co,math_trig:()=>co,text_to_number:()=>Yo,text_to_number_skulpt:()=>vo,turn_to_int:()=>yo});var m={};e.r(m),e.d(m,{ascii_to_char:()=>ko,char_to_ascii:()=>Wo,number_to_text:()=>Ko,os_system:()=>Tp,text:()=>Bo,text_bytes:()=>Uo,text_capital:()=>tp,text_center:()=>ip,text_char:()=>wo,text_char_at:()=>qo,text_char_at2:()=>Qo,text_char_at3:()=>lp,text_compareTo:()=>dp,text_compare_to:()=>$o,text_encode:()=>Ip,text_equals_starts_ends:()=>jo,text_eval:()=>Mp,text_find:()=>np,text_format:()=>ap,text_format_noreturn:()=>up,text_join:()=>Ho,text_join_seq:()=>sp,text_length:()=>Jo,text_random_char:()=>zo,text_replace:()=>_p,text_split:()=>op,text_strip:()=>pp,text_substring:()=>ep,text_substring2:()=>Zo,text_substring3:()=>rp,text_textarea:()=>Go});var E={};e.r(E),e.d(E,{content_in_lists:()=>qp,enumerate:()=>Qp,list_many_input:()=>yp,list_tolist:()=>Kp,list_tolist2:()=>Jp,list_trig:()=>Yp,lists_2d_get_col_row_data:()=>Ep,lists_2d_get_data_with_col_row:()=>mp,lists_append_extend:()=>Cp,lists_change_to:()=>Xp,lists_change_to_general:()=>bp,lists_clear:()=>Dp,lists_create_with:()=>Op,lists_create_with2:()=>Bp,lists_create_with_noreturn:()=>xp,lists_create_with_text:()=>Rp,lists_create_with_text2:()=>Gp,lists_del_general:()=>Vp,lists_find:()=>fp,lists_getIndex3:()=>Up,lists_getSublist3:()=>wp,lists_get_index:()=>cp,lists_get_random_item:()=>Sp,lists_get_random_sublist:()=>Ap,lists_get_sublist:()=>hp,lists_insert_value:()=>Lp,lists_insert_value2:()=>kp,lists_pop:()=>Pp,lists_remove_at:()=>Fp,lists_remove_at2:()=>Wp,lists_reverse:()=>Np,lists_setIndex3:()=>Hp,lists_set_index:()=>gp,lists_sort:()=>vp});var O={};e.r(O),e.d(O,{dicts_add_change_del:()=>aa,dicts_add_or_change:()=>ea,dicts_clear:()=>na,dicts_create_with:()=>zp,dicts_create_with_noreturn:()=>da,dicts_deldict:()=>pa,dicts_delete:()=>ta,dicts_get:()=>$p,dicts_get_default:()=>Zp,dicts_items:()=>sa,dicts_keys:()=>jp,dicts_length:()=>oa,dicts_pop:()=>ua,dicts_setdefault:()=>ra,dicts_to_json:()=>Ia,dicts_to_json2:()=>ha,dicts_to_to:()=>Ta,dicts_todict:()=>la,dicts_update:()=>ia,dicts_values:()=>_a,json_to_dicts:()=>Ma});var R={};e.r(R),e.d(R,{logic_boolean:()=>ca,logic_compare:()=>ma,logic_compare_continous:()=>Ea,logic_is:()=>Aa,logic_is_in:()=>Sa,logic_negate:()=>Ra,logic_null:()=>ga,logic_operation:()=>Oa,logic_tobool:()=>La,logic_true_or_false:()=>Ca});var c={};e.r(c),e.d(c,{sdcard_mount:()=>qa,sdcard_use_spi_init:()=>Qa,storage_can_write_ornot:()=>ya,storage_change_dir:()=>Ha,storage_close_file:()=>ba,storage_delete_file:()=>Ba,storage_file_seek:()=>wa,storage_file_tell:()=>Ua,storage_file_write:()=>Pa,storage_fileopen:()=>Da,storage_fileopen_new:()=>fa,storage_fileopen_new_encoding:()=>Fa,storage_get_a_line:()=>Xa,storage_get_contents:()=>va,storage_get_contents_without_para:()=>Ya,storage_get_current_dir:()=>ka,storage_get_file_size:()=>Ga,storage_get_filename:()=>xa,storage_is_file:()=>Ja,storage_list_all_files:()=>Va,storage_make_dir:()=>Wa,storage_open_file_with_os:()=>Na,storage_rename:()=>Ka});var g={};e.r(g),e.d(g,{procedures_callnoreturn:()=>Za,procedures_callreturn:()=>$a,procedures_defnoreturn:()=>ja,procedures_defreturn:()=>za,procedures_ifreturn:()=>eu,procedures_return:()=>tu});var C={};e.r(C),e.d(C,{tuple_change_to:()=>ru,tuple_create_llm_params:()=>Ou,tuple_create_with:()=>iu,tuple_create_with_noreturn:()=>Mu,tuple_create_with_text2:()=>nu,tuple_create_with_text_return:()=>su,tuple_del:()=>pu,tuple_find:()=>du,tuple_getIndex:()=>_u,tuple_getSublist:()=>Iu,tuple_get_random_item:()=>hu,tuple_get_sublist:()=>Tu,tuple_input:()=>Eu,tuple_join:()=>au,tuple_length:()=>ou,tuple_max:()=>uu,tuple_totuple:()=>mu,tuple_trig:()=>lu});var S={};e.r(S),e.d(S,{set_add_discard:()=>Lu,set_clear:()=>Cu,set_create_with:()=>Ru,set_create_with_text_return:()=>fu,set_length:()=>cu,set_operate:()=>Su,set_operate_update:()=>Au,set_pop:()=>gu,set_sub:()=>Nu,set_toset:()=>Fu,set_update:()=>Du});var A={};e.r(A),e.d(A,{html_content:()=>Xu,html_content_more:()=>yu,html_document:()=>Pu,html_form:()=>bu,html_head_body:()=>vu,html_style:()=>xu,html_style_content:()=>Vu,html_text:()=>Bu,html_title:()=>Yu});var L={};e.r(L),e.d(L,{attribute_access:()=>Ku,function_call:()=>Wu,raw_block:()=>Gu,raw_empty:()=>wu,raw_expression:()=>Uu,raw_table:()=>Hu,type_check:()=>ku});var N={};e.r(N),e.d(N,{PIN_init:()=>Zr,actuator_extern_get_led_bright:()=>ar,actuator_extern_get_led_state:()=>ur,actuator_extern_led_bright:()=>pr,actuator_extern_led_brightness:()=>rr,actuator_ms32006_dcmotor:()=>Or,actuator_ms32006_init:()=>Er,actuator_ms32006_stepper:()=>Rr,actuator_neopixel_init:()=>cr,actuator_neopixel_rgb:()=>gr,actuator_neopixel_rgb_all:()=>Cr,actuator_neopixel_rgb_show_all_chase:()=>Lr,actuator_neopixel_rgb_show_all_rainbow:()=>Ar,actuator_neopixel_write:()=>Sr,actuator_use_uart_init:()=>Nr,backstage_esp32_music_play_list:()=>tr,esp32_music_get_tempo_extern:()=>nr,esp32_music_pitch:()=>$u,esp32_music_pitch_init:()=>ju,esp32_music_pitch_with_time:()=>Zu,esp32_music_play_list:()=>er,esp32_music_reset_extern:()=>sr,esp32_music_set_tempo_extern:()=>ir,esp32_music_stop:()=>_r,esp32_set_music_volume:()=>or,mixbot_actuator_extern_get_addr:()=>jr,mixbot_actuator_extern_set_addr:()=>$r,mixbot_addr_extern:()=>Vr,parrot_PIN_init:()=>nd,parrot_move_speed:()=>sd,pin_led_bright:()=>ed,player_insert_music:()=>vr,player_play_music:()=>Yr,player_set_mode:()=>Pr,player_set_play:()=>fr,player_set_volume:()=>Fr,player_whether_stop:()=>Dr,robot_led_extern:()=>wr,robot_led_extern_get_value:()=>Hr,robot_motor_extern:()=>Br,robot_motor_extern_get_speed:()=>Gr,robot_servo_extern_absolute_run:()=>Jr,robot_servo_extern_get_status:()=>kr,robot_servo_extern_relative_continue:()=>zr,robot_servo_extern_relative_origin:()=>Qr,robot_servo_extern_relative_run:()=>qr,robot_servo_extern_stop:()=>Kr,robot_servo_extern_stop_mode:()=>Wr,robot_traffic_light_extern:()=>Ur,servo_PIN_init:()=>td,servo_get_angle:()=>hr,servo_get_speed:()=>mr,servo_init:()=>dr,servo_move:()=>lr,servo_move_angle:()=>id,servo_set_angle:()=>Mr,servo_set_speed:()=>Tr,servo_speed_360:()=>Ir,syn6288_builtin_voice:()=>xr,syn6288_get_voice:()=>yr,syn6288_set_voice:()=>Xr,syn6288_tts_play:()=>br});var D={};e.r(D),e.d(D,{actuator_dc_motor:()=>bd,actuator_dc_motor_stop:()=>Vd,actuator_get_led_bright:()=>ud,actuator_get_led_state:()=>rd,actuator_led_bright:()=>ad,actuator_led_brightness:()=>dd,actuator_mixbot_buzzer_on_off:()=>Hd,actuator_mixgo_nova_mic_get:()=>Qd,actuator_mixgo_nova_mic_set:()=>Jd,actuator_mixgo_nova_onboard_music_pitch:()=>el,actuator_mixgo_nova_onboard_music_stop:()=>tl,actuator_mixgo_nova_play_audio:()=>$d,actuator_mixgo_nova_play_online_audio:()=>Zd,actuator_mixgo_nova_record_audio:()=>jd,actuator_mixgo_nova_voice_get:()=>zd,actuator_mixgo_nova_voice_set:()=>qd,actuator_mixgo_zero_led_color:()=>ld,actuator_onboard_neopixel_rgb:()=>Ed,actuator_onboard_neopixel_rgb_all:()=>Od,actuator_onboard_neopixel_rgb_show_all_chase:()=>cd,actuator_onboard_neopixel_rgb_show_all_rainbow:()=>Rd,actuator_onboard_neopixel_write:()=>gd,actuator_rm_onboard_neopixel_rgb:()=>Cd,actuator_rm_onboard_neopixel_rgb_all:()=>Sd,actuator_rm_onboard_neopixel_rgb_show_all_chase:()=>Ad,actuator_stepper_keep:()=>yd,actuator_stepper_stop:()=>xd,analog_ble_keyboard_init:()=>Tl,analog_ble_keyboard_input:()=>El,analog_ble_keyboard_mouse_init:()=>Ll,analog_ble_keyboard_mouse_input:()=>Fl,analog_ble_keyboard_mouse_send_battery:()=>fl,analog_ble_keyboard_mouse_str:()=>Pl,analog_ble_keyboard_send_battery:()=>Rl,analog_ble_keyboard_str:()=>Ol,analog_ble_mouse_init:()=>cl,analog_ble_mouse_input:()=>Sl,analog_ble_mouse_keyboard_input:()=>Yl,analog_ble_mouse_send_battery:()=>Al,analog_keyboard_input:()=>ol,analog_keyboard_str:()=>Ml,analog_mouse_input:()=>ll,backstage_onboard_music_play_list:()=>vd,bitbot_motor:()=>Kd,bitbot_move:()=>kd,bitbot_stop:()=>Wd,ble_keyboard_connect:()=>ml,ble_keyboard_get_mac:()=>hl,ble_keyboard_mouse_connect:()=>Dl,ble_keyboard_mouse_get_mac:()=>Nl,ble_mouse_connect:()=>Cl,ble_mouse_get_mac:()=>gl,cc_number:()=>md,educore_ble_keyboard_input:()=>wl,educore_ble_sensor_connected:()=>Ul,educore_ble_sensor_init:()=>Gl,educore_buzzer:()=>vl,educore_buzzer_play_tone:()=>Xl,educore_buzzer_play_tone_time:()=>yl,educore_buzzer_stop:()=>xl,educore_neopixel_clear:()=>Bl,educore_neopixel_rgb:()=>Vl,educore_rgb_light:()=>bl,esp32_music_get_tempo:()=>Nd,esp32_music_reset:()=>Dd,esp32_music_set_tempo:()=>Ld,esp32_onboard_music_pitch:()=>fd,esp32_onboard_music_pitch_with_time:()=>Fd,esp32_onboard_music_play_list:()=>Yd,esp32_onboard_music_stop:()=>Pd,general_key:()=>al,general_key_tuple:()=>ul,generalkey_container:()=>rl,generalkey_create_with_item:()=>dl,get_keyboard_light:()=>Hl,get_power_output:()=>nl,ledswitch:()=>pd,mixbot_motor:()=>wd,mixbot_motor_status:()=>Bd,mixbot_move:()=>Gd,mixbot_stop:()=>Ud,mouse_key:()=>Il,number:()=>od,record_audio:()=>Wl,rm_actuator_get_led_bright:()=>Md,rm_actuator_get_led_state:()=>Td,rm_actuator_led_bright:()=>Id,rm_actuator_led_brightness:()=>hd,rm_motor:()=>Xd,set_all_power_output:()=>sl,set_microphone_amplification:()=>kl,set_music_volume:()=>Kl,set_part_power_output:()=>_l,set_power_output:()=>il,special_key:()=>pl});var f={};e.r(f),e.d(f,{ai_sensor_20object:()=>LI,ai_sensor_ailocal_class:()=>TI,ai_sensor_ailocal_class_result:()=>hI,ai_sensor_ailocal_train:()=>MI,ai_sensor_asr_recognize:()=>cI,ai_sensor_audio_play:()=>EI,ai_sensor_audio_record:()=>mI,ai_sensor_barcode:()=>eI,ai_sensor_circle:()=>oI,ai_sensor_classifier_faces:()=>AI,ai_sensor_color:()=>rI,ai_sensor_color_chases:()=>II,ai_sensor_color_chases_result:()=>lI,ai_sensor_config:()=>$l,ai_sensor_face:()=>SI,ai_sensor_find_20objects:()=>NI,ai_sensor_find_barcodes:()=>tI,ai_sensor_find_circles:()=>pI,ai_sensor_find_colors:()=>dI,ai_sensor_find_licenseplates:()=>CI,ai_sensor_find_lines:()=>_I,ai_sensor_find_qrcodes:()=>jl,ai_sensor_find_rects:()=>uI,ai_sensor_find_tags:()=>nI,ai_sensor_licenseplate:()=>gI,ai_sensor_line:()=>sI,ai_sensor_qrcode:()=>ql,ai_sensor_qrcode_lite:()=>zl,ai_sensor_rect:()=>aI,ai_sensor_rgb:()=>Zl,ai_sensor_tag:()=>iI,ai_sensor_use_uart_init:()=>Ql,ai_sensor_yolo_recognize:()=>OI,ai_sensor_yolo_recognize_result:()=>RI});var F={};e.r(F),e.d(F,{MICROPYTHON_AI_Speech_asr:()=>FI,MICROPYTHON_AI_Speech_unit:()=>fI,MICROPYTHON_AI_client:()=>DI});var P={};e.r(P),e.d(P,{AI_CAMERA_INIT:()=>oM,AI_CAMERA_INIT_FACERECOGNIZE:()=>uM,AI_CAMERA_INIT_SIMPLE:()=>yM,AI_STOP_ACQUISITION:()=>YM,CAMERA_LOOGOUT:()=>qI,CI130X_BROADCAST_SANT:()=>UI,CI130X_BROADCAST_SYSTEM_TIME:()=>HI,CI130X_GET_THE_RECOGNIZED_CMD_SANT:()=>GI,CI130X_GET_WHETHER_IDENTIFY_SANT:()=>BI,CI130X_IDENTIFY_AND_SAVE_SANT:()=>VI,CI130X_OPEN_AND_CLOSE:()=>xI,CI130X_PLAY_SYSTEM_CMD_SANT:()=>bI,CI130X_SET_SYSTEM_CMD_SANT:()=>wI,CONVERT_IMAGE_TO_JPG:()=>$I,CREATE_CAMERA:()=>kI,CREATE_CAMERA_SIMPLE:()=>XM,DELETE_FACE_ALL:()=>CM,DELETE_FACE_FROM_DATABASE:()=>gM,GET_CAT_FACE_DETECTION_NUM:()=>DM,GET_COLOR_DETECTION_NUM:()=>NM,GET_FACE_DETECTION_NAME:()=>PM,GET_FACE_DETECTION_NUM:()=>FM,GET_HOW_MUCH_RECOGNITION:()=>IM,GET_HUMAN_DETECTION_NUM:()=>fM,GET_IMAGE_AND_SAVE:()=>KI,GET_IMAGE_FROM_NET:()=>QI,GET_NO_CAT_OR_FACE_RECOGNITION:()=>TM,GET_NO_FACE_RECOGNITION_INFO:()=>EM,GET_NO_RECOGNITION:()=>MM,GET_NO_XY_RECOGNITION:()=>hM,GET_NO_XY_RECOGNITION_FACE:()=>mM,GET_PICTURE_DATA_EXACT:()=>zI,GET_PICTURE_DATA_WHS:()=>ZI,GET_PICTURE_RECOGNITION_DATA:()=>LM,GET_PICTURE_WIDTH_HEIGHT_DEVICE:()=>jI,GET_QR_CODE_RECOGNITION_DATA:()=>AM,GET_SCREEN_IMAGE:()=>_M,GET_SCREEN_IMAGE_SIZE:()=>sM,MIXIO_REPORT_IMAGE_DATA:()=>vM,MODEL_INIT_HEIGHT:()=>aM,MODEL_INIT_WIDTH:()=>pM,MODEL_LOGOUT:()=>rM,MODEL_RUN:()=>dM,MODEL_WHETHER_RUN_SUCCEED:()=>lM,OPEN_IMAGE:()=>JI,PRINT_FACE_DATABASE:()=>SM,REGISTER_NEW_FACE:()=>cM,REGISTER_NEW_FACE_SIMPLE:()=>bM,Register_color_recognition:()=>RM,Register_color_recognition_fixed:()=>OM,Register_color_recognition_fixed_SIMPLE:()=>xM,SCREEN_DISPLAY_IMAGE:()=>iM,SCREEN_DISPLAY_IMAGE_LOCATION:()=>nM,SCREEN_SHOW_CAM_GRAPH_SHOOT:()=>eM,SCREEN_SHOW_CAM_GRAPH_SHOOT_LOCATION:()=>tM,SHOOT_AND_SAVE_PICTURE:()=>WI,VOICE_RECOGNITION_CONTROL:()=>yI,yesorno:()=>XI});var Y={};e.r(Y),e.d(Y,{init_xunfei_Chinese_Model:()=>UM,init_xunfei_Spark_Ultra:()=>GM,init_xunfei_Spark_Ultra_clr_his:()=>kM,init_xunfei_vi:()=>BM,llm_set_callback:()=>WM,llm_set_callback_container:()=>KM,llm_set_callback_item:()=>JM,xunfei_Spark_Ultra_run:()=>HM,xunfei_vi_run:()=>wM});var v={};e.r(v),e.d(v,{mpython_blynk_app_data:()=>aT,mpython_blynk_app_notify:()=>tT,mpython_blynk_email:()=>sT,mpython_blynk_get_timers:()=>_T,mpython_blynk_on_connected:()=>$M,mpython_blynk_on_disconnected:()=>jM,mpython_blynk_run:()=>eT,mpython_blynk_sensor_data_to_app:()=>pT,mpython_blynk_set_property:()=>nT,mpython_blynk_setup:()=>uT,mpython_blynk_stop_timers:()=>iT,mpython_blynk_sync_virtual:()=>zM,mpython_blynk_terminal_widget_vpin:()=>qM,mpython_blynktimer:()=>oT,mpython_blynktimer_run:()=>ZM});var X={};e.r(X),e.d(X,{cc_g1_init:()=>rT,cc_g1_read_bat:()=>dT,cc_g1_read_joystick:()=>lT,cc_g1_read_key:()=>IT,cc_g1_turnoff:()=>MT});var y={};e.r(y),e.d(y,{ce_go_dc_motor:()=>CT,ce_go_get_led_bright:()=>ET,ce_go_get_led_state:()=>OT,ce_go_hall_attachInterrupt:()=>ST,ce_go_hall_data:()=>LT,ce_go_hall_initialize:()=>AT,ce_go_led_bright:()=>mT,ce_go_led_brightness:()=>RT,ce_go_light_number:()=>hT,ce_go_pin_light:()=>PT,ce_go_pin_near:()=>DT,ce_go_pin_near_line:()=>NT,ce_go_pin_near_state_change:()=>fT,ce_go_stepper_keep:()=>cT,ce_go_stepper_stop:()=>gT,educore_car:()=>YT,educore_car_pin_near:()=>xT,educore_car_pin_near_line:()=>yT,educore_car_stepper_keep:()=>vT,educore_car_stepper_stop:()=>XT,sensor_mixgome_eulerangles:()=>FT});var x={};e.r(x),e.d(x,{communicate_bluetooth_central_init:()=>Eh,communicate_bluetooth_connect:()=>gh,communicate_bluetooth_disconnect:()=>Ch,communicate_bluetooth_handle:()=>Dh,communicate_bluetooth_is_connected:()=>Ah,communicate_bluetooth_mac:()=>ch,communicate_bluetooth_peripheral_init:()=>Oh,communicate_bluetooth_recv:()=>Lh,communicate_bluetooth_recv_only:()=>Nh,communicate_bluetooth_scan:()=>Rh,communicate_bluetooth_send:()=>Sh,communicate_espnow_init:()=>fh,communicate_espnow_init_new:()=>Fh,communicate_i2c_available:()=>eh,communicate_i2c_init:()=>GT,communicate_i2c_master_read:()=>ZT,communicate_i2c_onboard:()=>VT,communicate_i2c_read:()=>UT,communicate_i2c_scan:()=>HT,communicate_i2c_write:()=>wT,communicate_ir_recv_init:()=>ah,communicate_ir_send_init:()=>Ih,communicate_ow_init:()=>ih,communicate_ow_read:()=>sh,communicate_ow_reset:()=>ph,communicate_ow_scan:()=>nh,communicate_ow_select:()=>oh,communicate_ow_write:()=>_h,communicate_spi_buffer:()=>KT,communicate_spi_init:()=>kT,communicate_spi_onboard:()=>BT,communicate_spi_read:()=>JT,communicate_spi_read_output:()=>QT,communicate_spi_readinto:()=>qT,communicate_spi_readinto_output:()=>zT,communicate_spi_set:()=>WT,communicate_spi_write:()=>jT,communicate_spi_write_readinto:()=>$T,espnow_radio_channel:()=>xh,espnow_radio_channel_new:()=>Vh,espnow_radio_on_off:()=>Bh,espnow_radio_rec:()=>Uh,espnow_radio_recv:()=>Hh,espnow_radio_recv_certain_msg:()=>kh,espnow_radio_recv_certain_msg_new:()=>Kh,espnow_radio_recv_msg:()=>wh,espnow_radio_recv_new:()=>Wh,espnow_radio_send:()=>Gh,espnow_radio_txpower:()=>bh,i2c_available:()=>Mm,i2c_init:()=>em,i2c_master_reader2:()=>Im,i2c_read:()=>tm,i2c_scan:()=>nm,i2c_slave_onreceive:()=>th,i2c_write:()=>im,internal_variable:()=>uh,ir_recv_timeout:()=>lh,ir_transmit_busy:()=>mh,ir_transmit_conventional_data:()=>Mh,ir_transmit_raw_code:()=>hh,ir_transmit_study_code:()=>Th,ir_whether_recv:()=>dh,lora_init:()=>Jh,lora_packet:()=>Qh,lora_recv:()=>zh,lora_send:()=>qh,network_espnow_info:()=>Yh,network_espnow_mac:()=>Ph,network_espnow_recv:()=>vh,network_espnow_recv_handle:()=>yh,network_espnow_send:()=>Xh,recv_fun:()=>rh,spi_buffer:()=>om,spi_init:()=>sm,spi_read:()=>pm,spi_read_output:()=>am,spi_readinto:()=>um,spi_readinto_output:()=>rm,spi_set:()=>_m,spi_write:()=>dm,spi_write_readinto:()=>lm,urequests_attribute:()=>$h,urequests_get:()=>jh,urequests_method:()=>Zh});var b={};e.r(b),e.d(b,{display_animate:()=>Km,display_blink_rate:()=>wm,display_circle:()=>Jm,display_color_seclet:()=>_E,display_draw_4strings:()=>xm,display_fill:()=>Wm,display_get_screen_image:()=>Um,display_help:()=>qm,display_image_size:()=>bm,display_lcd_use_i2c_init:()=>dE,display_line:()=>Bm,display_line_arbitrarily:()=>Gm,display_matrix_extern_bright_point:()=>Dm,display_matrix_extern_bright_screen:()=>Fm,display_matrix_extern_clear:()=>Pm,display_matrix_extern_get_pixel:()=>Nm,display_matrix_extern_get_screen_pixel:()=>fm,display_matrix_extern_image_builtins:()=>Ym,display_matrix_extern_scroll_string:()=>gm,display_matrix_extern_scroll_string_delay:()=>Cm,display_matrix_extern_shift:()=>Lm,display_matrix_extern_show_frame_string:()=>Sm,display_matrix_extern_show_frame_string_delay:()=>Am,display_matrix_extern_show_image:()=>Rm,display_matrix_extern_show_image_or_string_delay:()=>cm,display_matrix_use_i2c_init:()=>Om,display_oled_drawPixel:()=>jm,display_oled_showBitmap:()=>zm,display_oled_use_i2c_init:()=>hE,display_onoff:()=>km,display_rect:()=>Vm,display_rgb_color:()=>Hm,display_tm1650_power:()=>Zm,display_tm1650_set_brightness:()=>iE,display_tm1650_show_dot:()=>tE,display_tm1650_show_num:()=>eE,display_tm_use_i2c_init:()=>$m,display_triangle:()=>Qm,display_use_i2c_init:()=>ym,extern_oled_bright_point:()=>NE,extern_oled_clear:()=>DE,extern_oled_get_pixel:()=>LE,extern_oled_hvline:()=>FE,extern_oled_line:()=>PE,extern_oled_scroll_string:()=>cE,extern_oled_scroll_string_delay:()=>gE,extern_oled_shape_rect:()=>fE,extern_oled_shift:()=>AE,extern_oled_show_frame_string:()=>CE,extern_oled_show_frame_string_delay:()=>SE,extern_oled_show_image:()=>mE,extern_oled_show_image_or_string_delay:()=>RE,extern_oled_show_image_xy:()=>EE,extern_oled_show_string:()=>OE,lcd_backlight:()=>ME,lcd_clear:()=>TE,lcd_print_string:()=>IE,lcd_show_image_or_string_delay:()=>lE,matrix_extern_image_arithmetic:()=>vm,matrix_extern_image_invert:()=>Xm,tft_fill:()=>uE,tft_line_arbitrarily:()=>rE,tft_scroll_string_delay:()=>pE,tft_show_frame_string_delay:()=>aE,tft_show_image_or_string_delay:()=>oE,tft_show_image_xy:()=>sE,tft_use_spi_init:()=>nE});var V={};e.r(V),e.d(V,{bitbot_display_bitmap_create:()=>AO,bitbot_display_image_create:()=>SO,display_available:()=>ZE,display_bitmap_create:()=>wE,display_bright_point:()=>qE,display_bright_screen:()=>jE,display_clear:()=>$E,display_get_pixel:()=>QE,display_get_screen_pixel:()=>zE,display_image_builtins:()=>HE,display_image_builtins_all:()=>kE,display_image_create:()=>UE,display_scroll_string:()=>yE,display_scroll_string_delay:()=>xE,display_scroll_way:()=>bE,display_shift:()=>JE,display_show_frame_string:()=>BE,display_show_frame_string_delay:()=>GE,display_show_image:()=>vE,display_show_image_or_string_delay:()=>XE,draw_pointer:()=>wO,image_arithmetic:()=>WE,image_invert:()=>KE,mixbot_display_bitmap_create:()=>OO,mixbot_display_bright_screen:()=>gO,mixbot_display_get_ambientbright:()=>cO,mixbot_display_get_screen_pixel:()=>RO,mixbot_display_image_create:()=>EO,mixbot_display_rotate:()=>CO,mixgo_display_bitmap_create:()=>_O,mixgo_display_image_create_new:()=>sO,mixgome_display_bitmap_create:()=>tO,mixgome_display_font:()=>oO,mixgome_display_image_create:()=>eO,mixgomini_display_bitmap_create:()=>nO,mixgomini_display_image_create:()=>iO,mpython_display_hvline:()=>TO,mpython_display_line:()=>hO,mpython_display_shape_rect:()=>MO,mpython_pbm_image:()=>mO,nova_draw_pointer:()=>HO,onboard_oled_bright_point:()=>IO,onboard_oled_scroll_string_delay:()=>dO,onboard_oled_show_frame_string_delay:()=>lO,onboard_oled_show_image:()=>pO,onboard_oled_show_image_or_string_delay:()=>rO,onboard_oled_show_image_xy:()=>aO,onboard_oled_show_string:()=>uO,onboard_tft_bright_point:()=>XO,onboard_tft_bright_screen:()=>$O,onboard_tft_clear:()=>ZO,onboard_tft_clock_clear:()=>GO,onboard_tft_clock_draw:()=>BO,onboard_tft_clock_get_rtctime:()=>bO,onboard_tft_clock_init:()=>xO,onboard_tft_clock_set_time:()=>VO,onboard_tft_display_hvline:()=>PO,onboard_tft_display_line:()=>YO,onboard_tft_display_shape_circle:()=>UO,onboard_tft_display_shape_rect:()=>FO,onboard_tft_fill:()=>yO,onboard_tft_get_pixel:()=>vO,onboard_tft_get_screen_pixel:()=>jO,onboard_tft_scroll_string:()=>QO,onboard_tft_scroll_string_delay:()=>VE,onboard_tft_shift:()=>zO,onboard_tft_show_frame_string:()=>qO,onboard_tft_show_frame_string_delay:()=>fO,onboard_tft_show_image:()=>JO,onboard_tft_show_image_or_string_delay:()=>DO,onboard_tft_show_image_xy:()=>LO,onboard_tft_show_image_xy_direct:()=>NO,onboard_tft_show_qrcode:()=>WO,onboard_tft_show_qrcode_details:()=>KO,onboard_tft_show_texts:()=>kO});var B={};e.r(B),e.d(B,{factory_block:()=>mR,factory_block_return:()=>ER,factory_block_return_with_textarea:()=>RR,factory_block_with_textarea:()=>OR,factory_callMethod_noreturn:()=>TR,factory_callMethod_return:()=>hR,factory_create_with_container:()=>dR,factory_create_with_item:()=>lR,factory_declare:()=>MR,factory_from_import:()=>aR,factory_function_noreturn:()=>rR,factory_function_return:()=>IR,factory_import:()=>uR,folding_block:()=>cR});var G={};e.r(G),e.d(G,{controls_pin_attachInterrupt:()=>HR,inout_analog_atten:()=>PR,inout_analog_read:()=>FR,inout_analog_read_init:()=>bR,inout_analog_write:()=>NR,inout_analog_write_init:()=>xR,inout_analog_write_set:()=>DR,inout_analog_write_set_freq:()=>GR,inout_digital_init:()=>XR,inout_digital_read:()=>AR,inout_digital_write:()=>SR,inout_highlow:()=>CR,inout_pinMode:()=>BR,inout_pin_attachInterrupt:()=>vR,inout_pin_pressed:()=>YR,inout_pin_pressed_init:()=>VR,inout_pwm_analog_write:()=>LR,inout_pwm_analog_write_init:()=>yR,inout_pwm_analog_write_set_freq:()=>fR,pin_pressed:()=>wR,pin_pressed_init:()=>UR});var U={};e.r(U),e.d(U,{IOT_CONNECT_OLLAMA:()=>Nc,IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>Mc,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>Ic,IOT_EMQX_PING:()=>dc,IOT_FORMATTING:()=>uc,IOT_FORMAT_STRING:()=>rc,IOT_MIXIO_NTP:()=>lc,IOT_MIXIO_PUBLISH:()=>tc,IOT_MIXIO_PUBLISHEX:()=>ic,IOT_MIXIO_SUBSCRIBE:()=>nc,iot_checkonenet:()=>Sc,iot_client_onboard:()=>hc,iot_connect_ollama:()=>Lc,iot_connect_openai:()=>Dc,iot_create_with_item:()=>ZR,iot_http_client:()=>mc,iot_http_data:()=>Ec,iot_mixio_check:()=>oc,iot_mixio_connect:()=>ec,iot_mixio_connect_only:()=>_c,iot_mixio_disconnect:()=>sc,iot_mixio_format_msg:()=>ac,iot_mixio_format_topic:()=>pc,iot_mixly_key:()=>Tc,iot_mqtt_client:()=>Oc,iot_mqtt_data:()=>Rc,iot_onenet_check:()=>QR,iot_onenet_connect:()=>KR,iot_onenet_disconnect:()=>JR,iot_onenet_publish:()=>zR,iot_onenet_publish_dict:()=>qR,iot_onenetconnect:()=>gc,iot_onenetdisconnect:()=>Cc,iot_publish:()=>Ac,iot_publish_container:()=>jR,iot_publish_item:()=>$R,iot_tiny_web_db_count:()=>xc,iot_tiny_web_db_delete:()=>Vc,iot_tiny_web_db_get:()=>yc,iot_tiny_web_db_init:()=>Yc,iot_tiny_web_db_init_with_mqtt:()=>vc,iot_tiny_web_db_search:()=>bc,iot_tiny_web_db_update:()=>Xc,iot_wifi_connect:()=>WR,iot_wificonnect:()=>cc,ollama_empty_history:()=>Pc,use_ollama_llm_to_chat:()=>fc,use_ollama_llm_to_chat_return:()=>Fc});var w={};e.r(w),e.d(w,{educore_mqtt_connect:()=>Eg,educore_mqtt_connect_success:()=>gg,educore_mqtt_subscribe_message:()=>Og,educore_mqtt_topic_publish:()=>cg,educore_mqtt_topic_subscribe:()=>Rg,educore_wifi_connect:()=>mg,network_ap_connect:()=>qc,network_connect:()=>kc,network_get_connect:()=>Kc,network_get_wifi:()=>Qc,network_init:()=>Gc,network_is_active:()=>wc,network_open:()=>Uc,network_scan:()=>Hc,network_server:()=>zc,network_socket_accept:()=>tg,network_socket_bind:()=>$c,network_socket_close:()=>pg,network_socket_connect:()=>Zc,network_socket_init:()=>jc,network_socket_listen:()=>eg,network_socket_readline:()=>ig,network_socket_receive:()=>ng,network_socket_receive_from:()=>_g,network_socket_send:()=>sg,network_socket_send_to:()=>og,network_stop:()=>Jc,network_wifi_connect:()=>Wc,ntptime_address:()=>lg,ntptime_time:()=>dg,requests_attribute:()=>ug,requests_attribute2:()=>hg,requests_get:()=>ag,requests_get2:()=>Mg,requests_method:()=>rg,requests_post:()=>Tg});var H={};e.r(H),e.d(H,{pe_g1_battery_left:()=>Ag,pe_g1_dc_motor:()=>Lg,pe_g1_dc_motor_speed:()=>Ng,pe_g1_servo_get_angle:()=>Fg,pe_g1_servo_get_speed:()=>Pg,pe_g1_servo_set_angle:()=>Dg,pe_g1_servo_set_speed:()=>fg,pe_g1_use_i2c_init:()=>Sg});var k={};e.r(k),e.d(k,{CI130X_BROADCAST:()=>iC,CI130X_GET_THE_RECOGNIZED_CMD:()=>tC,CI130X_GET_WHETHER_IDENTIFY:()=>eC,CI130X_IDENTIFY_AND_SAVE:()=>Zg,CI130X_SET_SYSTEM_CMD:()=>nC,HCSR04:()=>WC,PS2_Button:()=>qC,PS2_Buttons:()=>jC,PS2_Buttons_new:()=>tS,PS2_State:()=>zC,PS2_init:()=>KC,PS2_init_new:()=>ZC,PS2_stk:()=>$C,PS2_stk_new:()=>iS,PS2_vibration:()=>QC,PS2_vibration_new:()=>eS,camera_sensor_init:()=>YS,camera_sensor_result:()=>vS,column_tube_foot:()=>VS,define_keyboards:()=>BS,educore_body_sensor:()=>gS,educore_button_sensor_extern:()=>LS,educore_camera_sensor:()=>PS,educore_infrared_sensor:()=>AS,educore_soilhum_sensor:()=>CS,educore_temp_sensor:()=>FS,educore_temphum_sensor:()=>SS,educore_ultrasonic_sensor:()=>DS,esp32_s2_weather_init:()=>UC,esp32_s2_weather_rain:()=>HC,esp32_s2_weather_wd:()=>wC,esp32_s2_weather_ws:()=>kC,extern_rfid_read:()=>NC,extern_rfid_readcontent:()=>fC,extern_rfid_readid:()=>DC,extern_rfid_status:()=>YC,extern_rfid_write:()=>FC,extern_rfid_write_return:()=>PC,get_keboards_value:()=>GS,gnss_get_data:()=>oS,gnss_have_data:()=>_S,init_init_rotary_encoder:()=>US,init_matrix_keyboard:()=>xS,interaction_whether_to_interaction:()=>jg,interaction_whether_to_interaction_SANT:()=>$g,line_tube_foot:()=>bS,mixbot_sensor_extern_get_addr:()=>MS,mixbot_sensor_extern_set_addr:()=>TS,pm25_get_data:()=>sS,radar_set_DETECTION_THRESHOLD:()=>qg,radar_set_DETECTION_THRESHOLD_SANT:()=>zg,robot_button_extern_get_value:()=>aS,robot_color_extern_get_value:()=>IS,robot_infrared_extern_get_value:()=>rS,robot_infrared_extern_grey_get_value:()=>dS,robot_potentiometer_extern_get_value:()=>lS,robot_sonar_extern_get_value:()=>hS,robot_sonar_extern_led:()=>mS,robot_touch_extern_get_value:()=>uS,rotary_key:()=>wS,sensor_APDS9960_extern:()=>_C,sensor_DS18X20:()=>Kg,sensor_LTR308_extern:()=>oC,sensor_LTR390UV_extern:()=>uC,sensor_MAX30102_extern:()=>sC,sensor_QMC5883L_extern:()=>mC,sensor_VL530LX_extern:()=>rC,sensor_adxl345_get_acceleration:()=>Vg,sensor_aht11_extern:()=>lC,sensor_bmp:()=>kg,sensor_compass_reset:()=>AC,sensor_dht11:()=>Gg,sensor_hp203_extern:()=>IC,sensor_light_level:()=>Bg,sensor_lm35:()=>Jg,sensor_ltr381_extern:()=>pC,sensor_mixgo_extern_button_attachInterrupt:()=>xg,sensor_mixgo_extern_button_get_presses:()=>yg,sensor_mixgo_extern_button_is_pressed:()=>vg,sensor_mixgo_extern_button_was_pressed:()=>Xg,sensor_mixgo_extern_light:()=>Ug,sensor_mixgo_extern_pin_near:()=>Hg,sensor_mixgo_extern_sound:()=>wg,sensor_mixgoce_hot_wheel_degrees:()=>GC,sensor_mixgoce_hot_wheel_is_touched:()=>BC,sensor_mpu9250_attachGestureInterrupt:()=>bg,sensor_mpu9250_calibrate_compass:()=>gC,sensor_mpu9250_field_strength:()=>SC,sensor_mpu9250_gesture:()=>EC,sensor_mpu9250_get_acceleration:()=>OC,sensor_mpu9250_get_gyro:()=>cC,sensor_mpu9250_get_magnetic:()=>RC,sensor_mpu9250_temperature:()=>CC,sensor_ms5611_extern:()=>TC,sensor_ms5611_extern_altitude:()=>hC,sensor_read_humiture:()=>NS,sensor_sht:()=>Wg,sensor_shtc3_extern:()=>dC,sensor_spl06_001_extern:()=>MC,sensor_ucs12071_extern:()=>aC,sensor_use_i2c_init:()=>Qg,sensor_use_spi_init:()=>LC,sensor_use_uart_init:()=>nS,sensor_weather_solo_init:()=>ES,sensor_weather_solo_rain:()=>cS,sensor_weather_solo_wd:()=>OS,sensor_weather_solo_ws:()=>RS,sensor_weigh_init:()=>XS,tvoc_get_data:()=>pS,ultrasonic_sensor_read_distance:()=>fS,weather_data:()=>vC,weather_have_data:()=>XC,weather_set_label:()=>xC,weather_set_label_container:()=>bC,weather_set_label_item:()=>VC,weather_uart_mixio:()=>yC,weigh_sensor_get_weight:()=>yS});var W={};e.r(W),e.d(W,{HCSR04:()=>_A,RTC_set_date:()=>sA,RTC_set_time:()=>nA,bitbot_als_num:()=>ML,dht11:()=>cL,educore_button_sensor:()=>FL,educore_button_was_pressed:()=>PL,educore_gyroscope_sensor:()=>NL,educore_gyroscope_sensor_read:()=>DL,educore_gyroscope_sensor_shake:()=>fL,educore_light_sensor:()=>LL,educore_rfid_sensor:()=>YL,educore_rfid_sensor_scan:()=>vL,educore_rfid_sensor_scan_data:()=>XL,educore_voice_sensor:()=>SL,number1:()=>pA,number2:()=>aA,number3:()=>uA,number4:()=>rA,number5:()=>dA,number6:()=>lA,number7:()=>IA,onboard_RTC_get_time:()=>cA,onboard_RTC_get_time_str:()=>NA,onboard_RTC_get_timestamp:()=>gA,onboard_RTC_get_timetuple_to_str:()=>DA,onboard_RTC_set_datetime:()=>AA,onboard_RTC_settime_string:()=>SA,onboard_RTC_timestamp_totuple:()=>CA,rfid_readcontent:()=>yA,rfid_readid:()=>XA,rfid_status:()=>VA,rfid_write:()=>xA,rfid_write_return:()=>bA,sensor_LTR308:()=>fA,sensor_aht11:()=>PA,sensor_bitbot_ALS:()=>IL,sensor_button_get_presses:()=>mL,sensor_button_is_pressed:()=>TL,sensor_button_was_pressed:()=>hL,sensor_distance_hrsc04:()=>iA,sensor_eulerangles:()=>GA,sensor_field_strength:()=>gL,sensor_get_acceleration:()=>BA,sensor_get_temperature:()=>YA,sensor_get_the_coprocessor_version:()=>yL,sensor_hp203:()=>vA,sensor_light:()=>RL,sensor_mixbot_get_gyro:()=>lL,sensor_mixbot_patrol_calibrate:()=>uL,sensor_mixbot_patrol_value:()=>rL,sensor_mixbot_temperature:()=>dL,sensor_mixgo_LTR308:()=>OA,sensor_mixgo_button_attachInterrupt:()=>JS,sensor_mixgo_button_get_presses:()=>KS,sensor_mixgo_button_is_pressed:()=>kS,sensor_mixgo_button_was_pressed:()=>WS,sensor_mixgo_cc_mmc5603_calibrate_compass:()=>jA,sensor_mixgo_cc_mmc5603_get_angle:()=>zA,sensor_mixgo_cc_mmc5603_get_magnetic:()=>qA,sensor_mixgo_light:()=>oA,sensor_mixgo_nova_LTR308:()=>EA,sensor_mixgo_nova_pin_near:()=>mA,sensor_mixgo_pin_near:()=>hA,sensor_mixgo_pin_near_double:()=>TA,sensor_mixgo_pin_near_single:()=>MA,sensor_mixgo_pin_pressed:()=>$S,sensor_mixgo_sant_color:()=>RA,sensor_mixgo_touch_slide:()=>tA,sensor_mixgocar42_button_attachInterrupt:()=>jS,sensor_mixgocar42_button_get_presses:()=>zS,sensor_mixgocar42_button_is_pressed:()=>QS,sensor_mixgocar42_button_was_pressed:()=>qS,sensor_mixgocar_battery_left:()=>aL,sensor_mixgocar_pin_near:()=>oL,sensor_mixgocar_pin_near_line:()=>_L,sensor_mixgocar_pin_near_state_change:()=>pL,sensor_mixgoce_pin_pressed:()=>ZS,sensor_mixgoce_temperature:()=>ZA,sensor_mixgome_temperature:()=>$A,sensor_mpython_pin_pressed:()=>eA,sensor_mpython_qmi8658_get_gyro:()=>eL,sensor_mpython_qmi8658_temperature:()=>tL,sensor_onboard_compass_reset:()=>QA,sensor_onboard_mpu9250_calibrate_compass:()=>WA,sensor_onboard_mpu9250_field_strength:()=>JA,sensor_onboard_mpu9250_gesture:()=>UA,sensor_onboard_mpu9250_get_acceleration:()=>wA,sensor_onboard_mpu9250_get_gyro:()=>kA,sensor_onboard_mpu9250_get_magnetic:()=>HA,sensor_onboard_mpu9250_temperature:()=>KA,sensor_pin_near:()=>OL,sensor_pin_pressed:()=>EL,sensor_read:()=>AL,sensor_rm_acc:()=>sL,sensor_rm_battery_left:()=>nL,sensor_rm_pin_near_double:()=>iL,sensor_rtc_init:()=>LA,sensor_sound:()=>FA,sensor_temperature:()=>CL,simulated_light_sensor:()=>xL});var K={};e.r(K),e.d(K,{serial_any:()=>KL,serial_begin:()=>jL,serial_print:()=>UL,serial_print_byte:()=>GL,serial_print_hex:()=>HL,serial_println:()=>wL,serial_read_from_ai:()=>oN,serial_readline:()=>JL,serial_readstr:()=>WL,serial_readstr_until:()=>QL,serial_receive_data_event:()=>kL,serial_send_to_ai:()=>_N,serial_softserial:()=>zL,serial_softserial_new:()=>qL,system_input:()=>$L,system_print:()=>ZL,system_print_container:()=>nN,system_print_end:()=>tN,system_print_inline:()=>eN,system_print_item:()=>sN,system_print_many:()=>iN});var J={};e.r(J),e.d(J,{Panic_with_status_code:()=>rN,Timer_init:()=>SN,base_delay:()=>NN,controls_delay:()=>uN,controls_delay_new:()=>aN,controls_millis:()=>lN,controls_uname:()=>MN,raw_block:()=>IN,reset:()=>dN,set_system_timer:()=>ON,system_bitbot_shutdown:()=>CN,system_machine_reset:()=>gN,system_ticks_diff:()=>mN,system_timer:()=>hN,system_timer_init:()=>EN,system_wdt_feed:()=>cN,system_wdt_init:()=>RN,time_ticks_diff:()=>LN,timer:()=>TN,timer2:()=>AN});var Q={};e.r(Q),e.d(Q,{Air_daily_content:()=>UN,Air_now_content:()=>XN,Geo_moon_content:()=>HN,Geo_sun_content:()=>wN,Life_suggestion_content:()=>xN,Location_search_content:()=>VN,Tide_daily_content:()=>bN,WEATHER_DAILY:()=>FN,WEATHER_HOUR:()=>PN,WEATHER_NOW:()=>fN,Weather_alarm_content:()=>yN,Weather_daily:()=>BN,Weather_daily_content:()=>GN,Weather_now:()=>YN,Weather_now_content:()=>vN});var q={};e.r(q),e.d(q,{PIN_init:()=>WD,actuator_extern_get_led_bright:()=>dD,actuator_extern_get_led_state:()=>lD,actuator_extern_led_bright:()=>rD,actuator_extern_led_brightness:()=>ID,actuator_ms32006_dcmotor:()=>jN,actuator_ms32006_init:()=>zN,actuator_ms32006_stepper:()=>$N,actuator_neopixel_init:()=>MD,actuator_neopixel_rgb:()=>mD,actuator_neopixel_rgb_all:()=>TD,actuator_neopixel_rgb_show_all_chase:()=>ED,actuator_neopixel_rgb_show_all_rainbow:()=>OD,actuator_neopixel_write:()=>hD,actuator_use_uart_init:()=>RD,backstage_esp32_music_play_list:()=>pD,esp32_music_get_tempo_extern:()=>_D,esp32_music_pitch:()=>eD,esp32_music_pitch_init:()=>ZN,esp32_music_pitch_with_time:()=>tD,esp32_music_play_list:()=>oD,esp32_music_reset_extern:()=>aD,esp32_music_set_tempo_extern:()=>sD,esp32_music_stop:()=>iD,esp32_set_music_volume:()=>nD,mixbot_actuator_extern_get_addr:()=>HD,mixbot_actuator_extern_set_addr:()=>kD,mixbot_addr_extern:()=>FD,parrot_PIN_init:()=>qD,parrot_move_speed:()=>zD,pin_led_bright:()=>KD,player_play_music:()=>AD,player_set_mode:()=>SD,player_set_play:()=>gD,player_set_volume:()=>CD,player_whether_stop:()=>cD,robot_led_extern:()=>XD,robot_led_extern_get_value:()=>yD,robot_motor_extern:()=>PD,robot_motor_extern_get_speed:()=>YD,robot_servo_extern_absolute_run:()=>BD,robot_servo_extern_get_status:()=>xD,robot_servo_extern_relative_continue:()=>wD,robot_servo_extern_relative_origin:()=>GD,robot_servo_extern_relative_run:()=>UD,robot_servo_extern_stop:()=>VD,robot_servo_extern_stop_mode:()=>bD,robot_traffic_light_extern:()=>vD,servo_PIN_init:()=>JD,servo_get_angle:()=>QN,servo_get_speed:()=>qN,servo_init:()=>kN,servo_move:()=>uD,servo_move_angle:()=>QD,servo_set_angle:()=>KN,servo_set_speed:()=>JN,servo_speed_360:()=>WN,syn6288_builtin_voice:()=>DD,syn6288_get_voice:()=>ND,syn6288_set_voice:()=>LD,syn6288_tts_play:()=>fD});var z={};e.r(z),e.d(z,{actuator_dc_motor:()=>Lf,actuator_dc_motor_stop:()=>Nf,actuator_get_led_bright:()=>uf,actuator_get_led_state:()=>rf,actuator_led_bright:()=>af,actuator_led_brightness:()=>df,actuator_mixbot_buzzer_on_off:()=>Yf,actuator_mixgo_nova_mic_get:()=>bf,actuator_mixgo_nova_mic_set:()=>xf,actuator_mixgo_nova_onboard_music_pitch:()=>Hf,actuator_mixgo_nova_onboard_music_stop:()=>kf,actuator_mixgo_nova_play_audio:()=>Uf,actuator_mixgo_nova_play_online_audio:()=>wf,actuator_mixgo_nova_record_audio:()=>Gf,actuator_mixgo_nova_voice_get:()=>Bf,actuator_mixgo_nova_voice_set:()=>Vf,actuator_mixgo_zero_led_color:()=>lf,actuator_onboard_neopixel_rgb:()=>Of,actuator_onboard_neopixel_rgb_all:()=>Rf,actuator_onboard_neopixel_rgb_show_all_chase:()=>cf,actuator_onboard_neopixel_rgb_show_all_rainbow:()=>gf,actuator_onboard_neopixel_write:()=>Ef,actuator_stepper_keep:()=>Sf,actuator_stepper_stop:()=>Af,analog_ble_keyboard_init:()=>iF,analog_ble_keyboard_input:()=>_F,analog_ble_keyboard_mouse_init:()=>IF,analog_ble_keyboard_mouse_input:()=>mF,analog_ble_keyboard_mouse_send_battery:()=>hF,analog_ble_keyboard_mouse_str:()=>EF,analog_ble_keyboard_send_battery:()=>pF,analog_ble_keyboard_str:()=>oF,analog_ble_mouse_init:()=>aF,analog_ble_mouse_input:()=>dF,analog_ble_mouse_keyboard_input:()=>OF,analog_ble_mouse_send_battery:()=>lF,analog_keyboard_input:()=>qf,analog_keyboard_str:()=>eF,analog_mouse_input:()=>$f,backstage_onboard_music_play_list:()=>sf,bitbot_motor:()=>yf,bitbot_move:()=>vf,bitbot_stop:()=>Xf,ble_keyboard_connect:()=>sF,ble_keyboard_get_mac:()=>nF,ble_keyboard_mouse_connect:()=>TF,ble_keyboard_mouse_get_mac:()=>MF,ble_mouse_connect:()=>rF,ble_mouse_get_mac:()=>uF,cc_number:()=>If,educore_ble_keyboard_input:()=>fF,educore_ble_sensor_connected:()=>DF,educore_ble_sensor_init:()=>NF,educore_buzzer:()=>RF,educore_buzzer_play_tone:()=>cF,educore_buzzer_play_tone_time:()=>gF,educore_buzzer_stop:()=>CF,educore_neopixel_clear:()=>LF,educore_neopixel_rgb:()=>AF,educore_rgb_light:()=>SF,esp32_music_get_tempo:()=>$D,esp32_music_reset:()=>_f,esp32_music_set_tempo:()=>jD,esp32_onboard_music_pitch:()=>ZD,esp32_onboard_music_pitch_with_time:()=>ef,esp32_onboard_music_play_list:()=>nf,esp32_onboard_music_stop:()=>tf,general_key:()=>jf,general_key_tuple:()=>tF,get_keyboard_light:()=>FF,get_power_output:()=>Kf,ledswitch:()=>pf,mixbot_motor:()=>Pf,mixbot_motor_status:()=>Df,mixbot_move:()=>ff,mixbot_stop:()=>Ff,mouse_key:()=>Zf,number:()=>of,record_audio:()=>YF,rm_actuator_get_led_bright:()=>Tf,rm_actuator_get_led_state:()=>hf,rm_actuator_led_bright:()=>Mf,rm_actuator_led_brightness:()=>mf,rm_motor:()=>Cf,set_all_power_output:()=>Jf,set_microphone_amplification:()=>PF,set_music_volume:()=>vF,set_part_power_output:()=>Qf,set_power_output:()=>Wf,special_key:()=>zf});var j={};e.r(j),e.d(j,{ai_sensor_20object:()=>lP,ai_sensor_ailocal_class:()=>tP,ai_sensor_ailocal_class_result:()=>iP,ai_sensor_ailocal_train:()=>eP,ai_sensor_asr_recognize:()=>pP,ai_sensor_audio_play:()=>sP,ai_sensor_audio_record:()=>nP,ai_sensor_barcode:()=>GF,ai_sensor_circle:()=>KF,ai_sensor_classifier_faces:()=>dP,ai_sensor_color:()=>zF,ai_sensor_color_chases:()=>ZF,ai_sensor_color_chases_result:()=>$F,ai_sensor_config:()=>xF,ai_sensor_face:()=>rP,ai_sensor_find_20objects:()=>IP,ai_sensor_find_barcodes:()=>UF,ai_sensor_find_circles:()=>JF,ai_sensor_find_colors:()=>jF,ai_sensor_find_licenseplates:()=>uP,ai_sensor_find_lines:()=>WF,ai_sensor_find_qrcodes:()=>BF,ai_sensor_find_rects:()=>qF,ai_sensor_find_tags:()=>HF,ai_sensor_licenseplate:()=>aP,ai_sensor_line:()=>kF,ai_sensor_qrcode:()=>VF,ai_sensor_qrcode_lite:()=>yF,ai_sensor_rect:()=>QF,ai_sensor_rgb:()=>bF,ai_sensor_tag:()=>wF,ai_sensor_use_uart_init:()=>XF,ai_sensor_yolo_recognize:()=>_P,ai_sensor_yolo_recognize_result:()=>oP});var $={};e.r($),e.d($,{AI_CAMERA_INIT:()=>GP,AI_CAMERA_INIT_FACERECOGNIZE:()=>HP,AI_CAMERA_INIT_SIMPLE:()=>TY,AI_STOP_ACQUISITION:()=>lY,CAMERA_LOOGOUT:()=>fP,CI130X_BROADCAST_SANT:()=>RP,CI130X_BROADCAST_SYSTEM_TIME:()=>gP,CI130X_GET_THE_RECOGNIZED_CMD_SANT:()=>OP,CI130X_GET_WHETHER_IDENTIFY_SANT:()=>EP,CI130X_IDENTIFY_AND_SAVE_SANT:()=>mP,CI130X_OPEN_AND_CLOSE:()=>hP,CI130X_PLAY_SYSTEM_CMD_SANT:()=>CP,CI130X_SET_SYSTEM_CMD_SANT:()=>cP,CONVERT_IMAGE_TO_JPG:()=>YP,CREATE_CAMERA:()=>SP,CREATE_CAMERA_SIMPLE:()=>MY,DELETE_FACE_ALL:()=>iY,DELETE_FACE_FROM_DATABASE:()=>tY,GET_CAT_FACE_DETECTION_NUM:()=>pY,GET_COLOR_DETECTION_NUM:()=>oY,GET_FACE_DETECTION_NAME:()=>rY,GET_FACE_DETECTION_NUM:()=>uY,GET_HOW_MUCH_RECOGNITION:()=>JP,GET_HUMAN_DETECTION_NUM:()=>aY,GET_IMAGE_AND_SAVE:()=>LP,GET_IMAGE_FROM_NET:()=>DP,GET_NO_CAT_OR_FACE_RECOGNITION:()=>jP,GET_NO_FACE_RECOGNITION_INFO:()=>dY,GET_NO_RECOGNITION:()=>QP,GET_NO_XY_RECOGNITION:()=>qP,GET_NO_XY_RECOGNITION_FACE:()=>zP,GET_PICTURE_DATA_EXACT:()=>FP,GET_PICTURE_DATA_WHS:()=>vP,GET_PICTURE_RECOGNITION_DATA:()=>_Y,GET_PICTURE_WIDTH_HEIGHT_DEVICE:()=>PP,GET_QR_CODE_RECOGNITION_DATA:()=>sY,GET_SCREEN_IMAGE:()=>VP,GET_SCREEN_IMAGE_SIZE:()=>BP,MIXIO_REPORT_IMAGE_DATA:()=>IY,MODEL_INIT_HEIGHT:()=>wP,MODEL_INIT_WIDTH:()=>UP,MODEL_LOGOUT:()=>kP,MODEL_RUN:()=>WP,MODEL_WHETHER_RUN_SUCCEED:()=>KP,OPEN_IMAGE:()=>NP,PRINT_FACE_DATABASE:()=>nY,REGISTER_NEW_FACE:()=>eY,REGISTER_NEW_FACE_SIMPLE:()=>mY,Register_color_recognition:()=>ZP,Register_color_recognition_fixed:()=>$P,Register_color_recognition_fixed_SIMPLE:()=>hY,SCREEN_DISPLAY_IMAGE:()=>xP,SCREEN_DISPLAY_IMAGE_LOCATION:()=>bP,SCREEN_SHOW_CAM_GRAPH_SHOOT:()=>XP,SCREEN_SHOW_CAM_GRAPH_SHOOT_LOCATION:()=>yP,SHOOT_AND_SAVE_PICTURE:()=>AP,VOICE_RECOGNITION_CONTROL:()=>TP,yesorno:()=>MP});var Z={};e.r(Z),e.d(Z,{MICROPYTHON_AI_Speech_asr:()=>RY,MICROPYTHON_AI_Speech_unit:()=>OY,MICROPYTHON_AI_client:()=>EY});var ee={};e.r(ee),e.d(ee,{init_xunfei_Chinese_Model:()=>CY,init_xunfei_Spark_Ultra:()=>gY,init_xunfei_Spark_Ultra_clr_his:()=>LY,init_xunfei_vi:()=>cY,llm_set_callback:()=>NY,xunfei_Spark_Ultra_run:()=>AY,xunfei_vi_run:()=>SY});var te={};e.r(te),e.d(te,{mpython_blynk_app_data:()=>BY,mpython_blynk_app_notify:()=>XY,mpython_blynk_email:()=>GY,mpython_blynk_get_timers:()=>xY,mpython_blynk_on_connected:()=>PY,mpython_blynk_on_disconnected:()=>FY,mpython_blynk_run:()=>vY,mpython_blynk_sensor_data_to_app:()=>VY,mpython_blynk_set_property:()=>UY,mpython_blynk_setup:()=>wY,mpython_blynk_stop_timers:()=>yY,mpython_blynk_sync_virtual:()=>fY,mpython_blynk_terminal_widget_vpin:()=>DY,mpython_blynktimer:()=>bY,mpython_blynktimer_run:()=>YY});var ie={};e.r(ie),e.d(ie,{cc_g1_read_bat:()=>HY,cc_g1_read_joystick:()=>kY,cc_g1_read_key:()=>WY,cc_g1_turnoff:()=>KY});var ne={};e.r(ne),e.d(ne,{ce_go_dc_motor:()=>ev,ce_go_get_led_bright:()=>qY,ce_go_get_led_state:()=>zY,ce_go_hall_attachInterrupt:()=>tv,ce_go_hall_data:()=>nv,ce_go_hall_initialize:()=>iv,ce_go_led_bright:()=>QY,ce_go_led_brightness:()=>jY,ce_go_light_number:()=>JY,ce_go_pin_light:()=>av,ce_go_pin_near:()=>_v,ce_go_pin_near_line:()=>sv,ce_go_pin_near_state_change:()=>ov,ce_go_stepper_keep:()=>$Y,ce_go_stepper_stop:()=>ZY,educore_car:()=>uv,educore_car_pin_near:()=>Iv,educore_car_pin_near_line:()=>lv,educore_car_stepper_keep:()=>rv,educore_car_stepper_stop:()=>dv,sensor_mixgome_eulerangles:()=>pv});var se={};e.r(se),e.d(se,{communicate_bluetooth_central_init:()=>Qv,communicate_bluetooth_connect:()=>jv,communicate_bluetooth_disconnect:()=>$v,communicate_bluetooth_handle:()=>sX,communicate_bluetooth_is_connected:()=>eX,communicate_bluetooth_mac:()=>Zv,communicate_bluetooth_peripheral_init:()=>qv,communicate_bluetooth_recv:()=>nX,communicate_bluetooth_recv_only:()=>iX,communicate_bluetooth_scan:()=>zv,communicate_bluetooth_send:()=>tX,communicate_espnow_init:()=>_X,communicate_espnow_init_new:()=>oX,communicate_i2c_available:()=>cv,communicate_i2c_init:()=>hv,communicate_i2c_master_read:()=>Rv,communicate_i2c_onboard:()=>Mv,communicate_i2c_read:()=>mv,communicate_i2c_scan:()=>Ov,communicate_i2c_write:()=>Ev,communicate_ir_recv_init:()=>Vv,communicate_ir_send_init:()=>Hv,communicate_ow_init:()=>Yv,communicate_ow_read:()=>yv,communicate_ow_reset:()=>Xv,communicate_ow_scan:()=>vv,communicate_ow_select:()=>bv,communicate_ow_write:()=>xv,communicate_spi_buffer:()=>Av,communicate_spi_init:()=>Cv,communicate_spi_onboard:()=>Tv,communicate_spi_read:()=>Lv,communicate_spi_read_output:()=>Nv,communicate_spi_readinto:()=>Dv,communicate_spi_readinto_output:()=>fv,communicate_spi_set:()=>Sv,communicate_spi_write:()=>Fv,communicate_spi_write_readinto:()=>Pv,espnow_radio_channel:()=>lX,espnow_radio_channel_new:()=>MX,espnow_radio_on_off:()=>TX,espnow_radio_rec:()=>mX,espnow_radio_recv:()=>OX,espnow_radio_recv_certain_msg:()=>RX,espnow_radio_recv_certain_msg_new:()=>gX,espnow_radio_recv_msg:()=>EX,espnow_radio_recv_new:()=>cX,espnow_radio_send:()=>hX,espnow_radio_txpower:()=>IX,i2c_slave_onreceive:()=>gv,internal_variable:()=>Bv,ir_recv_timeout:()=>wv,ir_transmit_busy:()=>Jv,ir_transmit_conventional_data:()=>kv,ir_transmit_raw_code:()=>Kv,ir_transmit_study_code:()=>Wv,ir_whether_recv:()=>Uv,lora_init:()=>CX,lora_packet:()=>SX,lora_recv:()=>LX,lora_send:()=>AX,network_espnow_info:()=>aX,network_espnow_mac:()=>pX,network_espnow_recv:()=>uX,network_espnow_recv_handle:()=>dX,network_espnow_send:()=>rX,recv_fun:()=>Gv,urequests_attribute:()=>DX,urequests_get:()=>NX,urequests_method:()=>fX});var _e={};e.r(_e),e.d(_e,{display_animate:()=>ey,display_circle:()=>ty,display_color_seclet:()=>ly,display_draw_4strings:()=>JX,display_fill:()=>ZX,display_lcd_use_i2c_init:()=>Ey,display_line:()=>zX,display_line_arbitrarily:()=>QX,display_matrix_extern_bright_point:()=>GX,display_matrix_extern_bright_screen:()=>wX,display_matrix_extern_clear:()=>bX,display_matrix_extern_get_pixel:()=>BX,display_matrix_extern_get_screen_pixel:()=>UX,display_matrix_extern_image_builtins:()=>HX,display_matrix_extern_scroll_string:()=>yX,display_matrix_extern_scroll_string_delay:()=>xX,display_matrix_extern_shift:()=>VX,display_matrix_extern_show_frame_string:()=>vX,display_matrix_extern_show_frame_string_delay:()=>XX,display_matrix_extern_show_image:()=>PX,display_matrix_extern_show_image_or_string_delay:()=>YX,display_matrix_use_i2c_init:()=>FX,display_oled_drawPixel:()=>sy,display_oled_showBitmap:()=>ny,display_oled_use_i2c_init:()=>Cy,display_onoff:()=>jX,display_rect:()=>qX,display_tm1650_power:()=>oy,display_tm1650_set_brightness:()=>uy,display_tm1650_show_dot:()=>ay,display_tm1650_show_num:()=>py,display_tm_use_i2c_init:()=>_y,display_triangle:()=>iy,display_use_i2c_init:()=>KX,extern_oled_bright_point:()=>yy,extern_oled_clear:()=>Yy,extern_oled_get_pixel:()=>Xy,extern_oled_hvline:()=>by,extern_oled_line:()=>Vy,extern_oled_scroll_string:()=>Fy,extern_oled_scroll_string_delay:()=>Py,extern_oled_shape_rect:()=>xy,extern_oled_shift:()=>vy,extern_oled_show_frame_string:()=>Dy,extern_oled_show_frame_string_delay:()=>fy,extern_oled_show_image:()=>Sy,extern_oled_show_image_or_string_delay:()=>Ny,extern_oled_show_image_xy:()=>Ay,extern_oled_show_string:()=>Ly,image_shift:()=>$X,lcd_backlight:()=>cy,lcd_clear:()=>gy,lcd_print_string:()=>Ry,lcd_show_image_or_string_delay:()=>Oy,matrix_extern_image_arithmetic:()=>kX,matrix_extern_image_invert:()=>WX,tft_fill:()=>hy,tft_line_arbitrarily:()=>my,tft_scroll_string_delay:()=>Ty,tft_show_frame_string_delay:()=>My,tft_show_image_or_string_delay:()=>Iy,tft_show_image_xy:()=>dy,tft_use_spi_init:()=>ry});var oe={};e.r(oe),e.d(oe,{bitbot_display_bitmap_create:()=>Px,bitbot_display_image_create:()=>Fx,display_available:()=>$y,display_bitmap_create:()=>zy,display_bright_point:()=>nx,display_bright_screen:()=>_x,display_clear:()=>jy,display_get_pixel:()=>ix,display_get_screen_pixel:()=>sx,display_image_builtins:()=>Jy,display_image_builtins_all:()=>Qy,display_image_create:()=>qy,display_scroll_string:()=>Hy,display_scroll_string_delay:()=>ky,display_scroll_way:()=>Wy,display_shift:()=>tx,display_show_frame_string:()=>Uy,display_show_frame_string_delay:()=>wy,display_show_image:()=>By,display_show_image_or_string_delay:()=>Gy,draw_pointer:()=>Qx,image_arithmetic:()=>Zy,image_invert:()=>ex,mixbot_display_bitmap_create:()=>Ax,mixbot_display_bright_screen:()=>Dx,mixbot_display_get_ambientbright:()=>Nx,mixbot_display_get_screen_pixel:()=>Lx,mixbot_display_image_create:()=>Sx,mixbot_display_rotate:()=>fx,mixgo_display_bitmap_create:()=>lx,mixgo_display_image_create_new:()=>dx,mixgome_display_bitmap_create:()=>px,mixgome_display_font:()=>rx,mixgome_display_image_create:()=>ox,mixgomini_display_bitmap_create:()=>ux,mixgomini_display_image_create:()=>ax,mpython_display_hvline:()=>gx,mpython_display_line:()=>Cx,mpython_display_shape_rect:()=>cx,mpython_pbm_image:()=>Ix,nova_draw_pointer:()=>qx,onboard_oled_bright_point:()=>Rx,onboard_oled_scroll_string_delay:()=>Ox,onboard_oled_show_frame_string_delay:()=>Ex,onboard_oled_show_image:()=>Mx,onboard_oled_show_image_or_string_delay:()=>mx,onboard_oled_show_image_xy:()=>Tx,onboard_oled_show_string:()=>hx,onboard_tft_bright_point:()=>Gx,onboard_tft_bright_screen:()=>nb,onboard_tft_clear:()=>sb,onboard_tft_clock_clear:()=>Kx,onboard_tft_clock_draw:()=>Wx,onboard_tft_clock_get_rtctime:()=>Hx,onboard_tft_clock_init:()=>wx,onboard_tft_clock_set_time:()=>kx,onboard_tft_display_hvline:()=>bx,onboard_tft_display_line:()=>Vx,onboard_tft_display_shape_circle:()=>Jx,onboard_tft_display_shape_rect:()=>xx,onboard_tft_fill:()=>Ux,onboard_tft_get_pixel:()=>Bx,onboard_tft_get_screen_pixel:()=>ib,onboard_tft_scroll_string_delay:()=>Ky,onboard_tft_shift:()=>tb,onboard_tft_show_frame_string:()=>eb,onboard_tft_show_frame_string_delay:()=>yx,onboard_tft_show_image:()=>Zx,onboard_tft_show_image_or_string_delay:()=>Xx,onboard_tft_show_image_xy:()=>Yx,onboard_tft_show_image_xy_direct:()=>vx,onboard_tft_show_qrcode:()=>jx,onboard_tft_show_qrcode_details:()=>$x,onboard_tft_show_texts:()=>zx});var pe={};e.r(pe),e.d(pe,{factory_block:()=>lb,factory_block_return:()=>Ib,factory_block_return_with_textarea:()=>Tb,factory_block_with_textarea:()=>Mb,factory_callMethod_noreturn:()=>rb,factory_callMethod_return:()=>db,factory_declare:()=>ub,factory_from_import:()=>_b,factory_function_noreturn:()=>pb,factory_function_return:()=>ab,factory_import:()=>ob,folding_block:()=>hb});var ae={};e.r(ae),e.d(ae,{inout_analog_atten:()=>Pb,inout_analog_read:()=>Sb,inout_analog_read_init:()=>Fb,inout_analog_write:()=>cb,inout_analog_write_init:()=>fb,inout_analog_write_set:()=>gb,inout_digital_init:()=>Nb,inout_digital_read:()=>Ob,inout_digital_write:()=>Eb,inout_highlow:()=>mb,inout_pin_attachInterrupt:()=>Lb,inout_pin_pressed:()=>Ab,inout_pin_pressed_init:()=>Yb,inout_pwm_analog_write:()=>Rb,inout_pwm_analog_write_init:()=>Db,inout_pwm_analog_write_set_freq:()=>Cb});var ue={};e.r(ue),e.d(ue,{IOT_CONNECT_OLLAMA:()=>pV,IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>$b,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>zb,IOT_EMQX_PING:()=>Zb,IOT_FORMATTING:()=>Qb,IOT_FORMAT_STRING:()=>qb,IOT_MIXIO_NTP:()=>eV,IOT_MIXIO_PUBLISH:()=>Gb,IOT_MIXIO_PUBLISHEX:()=>Ub,IOT_MIXIO_SUBSCRIBE:()=>wb,iot_client_onboard:()=>tV,iot_connect_ollama:()=>oV,iot_connect_openai:()=>aV,iot_http_client:()=>iV,iot_http_data:()=>nV,iot_mixio_check:()=>Wb,iot_mixio_connect:()=>Bb,iot_mixio_connect_only:()=>kb,iot_mixio_disconnect:()=>Hb,iot_mixio_format_msg:()=>Jb,iot_mixio_format_topic:()=>Kb,iot_mixly_key:()=>jb,iot_mqtt_client:()=>sV,iot_mqtt_data:()=>_V,iot_onenet_check:()=>bb,iot_onenet_connect:()=>Xb,iot_onenet_disconnect:()=>yb,iot_onenet_publish:()=>Vb,iot_onenet_publish_dict:()=>xb,iot_tiny_web_db_count:()=>hV,iot_tiny_web_db_delete:()=>EV,iot_tiny_web_db_get:()=>TV,iot_tiny_web_db_init:()=>lV,iot_tiny_web_db_init_with_mqtt:()=>IV,iot_tiny_web_db_search:()=>mV,iot_tiny_web_db_update:()=>MV,iot_wifi_connect:()=>vb,ollama_empty_history:()=>dV,use_ollama_llm_to_chat:()=>uV,use_ollama_llm_to_chat_return:()=>rV});var re={};e.r(re),e.d(re,{educore_mqtt_connect:()=>zV,educore_mqtt_connect_success:()=>eB,educore_mqtt_subscribe_message:()=>jV,educore_mqtt_topic_publish:()=>ZV,educore_mqtt_topic_subscribe:()=>$V,educore_wifi_connect:()=>qV,network_ap_connect:()=>NV,network_connect:()=>RV,network_get_connect:()=>gV,network_get_wifi:()=>LV,network_init:()=>OV,network_is_active:()=>AV,network_open:()=>SV,network_scan:()=>DV,network_server:()=>fV,network_socket_accept:()=>XV,network_socket_bind:()=>PV,network_socket_close:()=>GV,network_socket_connect:()=>YV,network_socket_init:()=>FV,network_socket_listen:()=>vV,network_socket_readline:()=>yV,network_socket_receive:()=>xV,network_socket_receive_from:()=>VV,network_socket_send:()=>bV,network_socket_send_to:()=>BV,network_stop:()=>CV,network_wifi_connect:()=>cV,ntptime_address:()=>WV,ntptime_time:()=>kV,requests_attribute:()=>wV,requests_attribute2:()=>JV,requests_get:()=>UV,requests_get2:()=>KV,requests_method:()=>HV,requests_post:()=>QV});var de={};e.r(de),e.d(de,{pe_g1_battery_left:()=>iB,pe_g1_dc_motor:()=>nB,pe_g1_dc_motor_speed:()=>sB,pe_g1_servo_get_angle:()=>pB,pe_g1_servo_get_speed:()=>aB,pe_g1_servo_set_angle:()=>_B,pe_g1_servo_set_speed:()=>oB,pe_g1_use_i2c_init:()=>tB});var le={};e.r(le),e.d(le,{CI130X_BROADCAST:()=>PB,CI130X_GET_THE_RECOGNIZED_CMD:()=>FB,CI130X_GET_WHETHER_IDENTIFY:()=>fB,CI130X_IDENTIFY_AND_SAVE:()=>DB,CI130X_SET_SYSTEM_CMD:()=>YB,HCSR04:()=>rG,PS2_Button:()=>IG,PS2_Buttons:()=>MG,PS2_Buttons_new:()=>gG,PS2_State:()=>TG,PS2_init:()=>dG,PS2_init_new:()=>RG,PS2_stk:()=>hG,PS2_stk_new:()=>CG,PS2_vibration:()=>lG,PS2_vibration_new:()=>cG,RTC_get_time:()=>EG,RTC_set_date:()=>hB,RTC_set_datetime:()=>mG,RTC_set_time:()=>TB,camera_sensor_init:()=>eU,camera_sensor_result:()=>tU,column_tube_foot:()=>_U,define_keyboards:()=>oU,educore_body_sensor:()=>kG,educore_button_sensor_extern:()=>QG,educore_camera_sensor:()=>ZG,educore_infrared_sensor:()=>JG,educore_soilhum_sensor:()=>WG,educore_temp_sensor:()=>$G,educore_temphum_sensor:()=>KG,educore_ultrasonic_sensor:()=>zG,esp32_s2_weather_init:()=>oG,esp32_s2_weather_rain:()=>aG,esp32_s2_weather_wd:()=>pG,esp32_s2_weather_ws:()=>uG,extern_rfid_read:()=>QB,extern_rfid_readcontent:()=>zB,extern_rfid_readid:()=>qB,extern_rfid_status:()=>ZB,extern_rfid_write:()=>jB,extern_rfid_write_return:()=>$B,get_keboards_value:()=>aU,gnss_get_data:()=>LG,gnss_have_data:()=>NG,init_init_rotary_encoder:()=>uU,init_matrix_keyboard:()=>pU,interaction_whether_to_interaction:()=>LB,interaction_whether_to_interaction_SANT:()=>NB,line_tube_foot:()=>sU,mixbot_sensor_extern_get_addr:()=>bG,mixbot_sensor_extern_set_addr:()=>VG,pm25_get_data:()=>AG,radar_set_DETECTION_THRESHOLD:()=>SB,radar_set_DETECTION_THRESHOLD_SANT:()=>AB,robot_button_extern_get_value:()=>fG,robot_color_extern_get_value:()=>XG,robot_infrared_extern_get_value:()=>PG,robot_infrared_extern_grey_get_value:()=>YG,robot_potentiometer_extern_get_value:()=>vG,robot_sonar_extern_get_value:()=>yG,robot_sonar_extern_led:()=>xG,robot_touch_extern_get_value:()=>FG,rotary_key:()=>rU,sensor_APDS9960_extern:()=>XB,sensor_DS18X20:()=>HG,sensor_LTR308_extern:()=>yB,sensor_LTR390UV_extern:()=>wB,sensor_MAX30102_extern:()=>vB,sensor_QMC5883L_extern:()=>HB,sensor_VL530LX_extern:()=>KB,sensor_aht11_extern:()=>WB,sensor_bmp:()=>cB,sensor_dht11:()=>OG,sensor_distance_hrsc04:()=>MB,sensor_hp203_extern:()=>xB,sensor_ltr381_extern:()=>GB,sensor_mixgo_extern_button_attachInterrupt:()=>lB,sensor_mixgo_extern_button_get_presses:()=>dB,sensor_mixgo_extern_button_is_pressed:()=>uB,sensor_mixgo_extern_button_was_pressed:()=>rB,sensor_mixgo_extern_light:()=>mB,sensor_mixgo_extern_pin_near:()=>OB,sensor_mixgo_extern_sound:()=>EB,sensor_mixgoce_hot_wheel_degrees:()=>_G,sensor_mixgoce_hot_wheel_is_touched:()=>sG,sensor_mpu9250_attachGestureInterrupt:()=>IB,sensor_ms5611_extern:()=>VB,sensor_ms5611_extern_altitude:()=>BB,sensor_read_humiture:()=>qG,sensor_rtc_init:()=>RB,sensor_sht:()=>gB,sensor_shtc3_extern:()=>kB,sensor_spl06_001_extern:()=>bB,sensor_ucs12071_extern:()=>UB,sensor_use_i2c_init:()=>CB,sensor_use_spi_init:()=>JB,sensor_use_uart_init:()=>SG,sensor_weather_solo_init:()=>BG,sensor_weather_solo_rain:()=>wG,sensor_weather_solo_wd:()=>GG,sensor_weather_solo_ws:()=>UG,sensor_weigh_init:()=>iU,tvoc_get_data:()=>DG,ultrasonic_sensor_read_distance:()=>jG,weather_data:()=>eG,weather_have_data:()=>tG,weather_set_label:()=>nG,weather_uart_mixio:()=>iG,weigh_sensor_get_weight:()=>nU});var Ie={};e.r(Ie),e.d(Ie,{HCSR04:()=>OU,bitbot_als_num:()=>Uw,dht11:()=>qw,educore_button_sensor:()=>iH,educore_button_was_pressed:()=>nH,educore_gyroscope_sensor:()=>Zw,educore_gyroscope_sensor_read:()=>eH,educore_gyroscope_sensor_shake:()=>tH,educore_light_sensor:()=>$w,educore_rfid_sensor:()=>sH,educore_rfid_sensor_scan:()=>_H,educore_rfid_sensor_scan_data:()=>oH,educore_voice_sensor:()=>zw,number1:()=>RU,number2:()=>cU,number3:()=>gU,number4:()=>CU,number5:()=>SU,number6:()=>AU,number7:()=>LU,onboard_RTC_get_time:()=>mw,onboard_RTC_get_time_str:()=>Rw,onboard_RTC_get_timestamp:()=>Ew,onboard_RTC_get_timetuple_to_str:()=>cw,onboard_RTC_set_datetime:()=>Tw,onboard_RTC_settime_string:()=>hw,onboard_RTC_timestamp_totuple:()=>Ow,rfid_readcontent:()=>wU,rfid_readid:()=>UU,rfid_status:()=>WU,rfid_write:()=>HU,rfid_write_return:()=>kU,sensor_LTR308:()=>xU,sensor_adxl345_get_acceleration:()=>ew,sensor_aht11:()=>BU,sensor_bitbot_ALS:()=>Gw,sensor_button_get_presses:()=>kw,sensor_button_is_pressed:()=>ww,sensor_button_was_pressed:()=>Hw,sensor_compass_reset:()=>ow,sensor_ds18x20:()=>XU,sensor_eulerangles:()=>JU,sensor_get_acceleration:()=>KU,sensor_get_temperature:()=>GU,sensor_get_the_coprocessor_version:()=>pH,sensor_hp203:()=>VU,sensor_light:()=>Qw,sensor_lm35:()=>yU,sensor_mixbot_get_gyro:()=>Bw,sensor_mixbot_patrol_calibrate:()=>xw,sensor_mixbot_patrol_value:()=>bw,sensor_mixbot_temperature:()=>Vw,sensor_mixgo_LTR308:()=>PU,sensor_mixgo_button_attachInterrupt:()=>MU,sensor_mixgo_button_get_presses:()=>IU,sensor_mixgo_button_is_pressed:()=>dU,sensor_mixgo_button_was_pressed:()=>lU,sensor_mixgo_cc_mmc5603_calibrate_compass:()=>Sw,sensor_mixgo_cc_mmc5603_get_angle:()=>Cw,sensor_mixgo_cc_mmc5603_get_magnetic:()=>gw,sensor_mixgo_light:()=>Jw,sensor_mixgo_nova_LTR308:()=>vU,sensor_mixgo_nova_pin_near:()=>FU,sensor_mixgo_pin_near:()=>fU,sensor_mixgo_pin_near_double:()=>DU,sensor_mixgo_pin_near_single:()=>NU,sensor_mixgo_pin_pressed:()=>$U,sensor_mixgo_sant_color:()=>YU,sensor_mixgo_touch_slide:()=>jU,sensor_mixgocar42_button_attachInterrupt:()=>EU,sensor_mixgocar42_button_get_presses:()=>mU,sensor_mixgocar42_button_is_pressed:()=>TU,sensor_mixgocar42_button_was_pressed:()=>hU,sensor_mixgocar_battery_left:()=>yw,sensor_mixgocar_pin_near:()=>vw,sensor_mixgocar_pin_near_line:()=>Yw,sensor_mixgocar_pin_near_state_change:()=>Xw,sensor_mixgoce_pin_pressed:()=>zU,sensor_mixgoce_temperature:()=>Lw,sensor_mixgome_temperature:()=>Aw,sensor_mpu9250_calibrate_compass:()=>nw,sensor_mpu9250_field_strength:()=>_w,sensor_mpu9250_gesture:()=>QU,sensor_mpu9250_get_acceleration:()=>qU,sensor_mpu9250_get_gyro:()=>iw,sensor_mpu9250_get_magnetic:()=>tw,sensor_mpu9250_temperature:()=>sw,sensor_mpython_pin_pressed:()=>ZU,sensor_mpython_qmi8658_get_gyro:()=>Nw,sensor_mpython_qmi8658_temperature:()=>Dw,sensor_onboard_compass_reset:()=>Mw,sensor_onboard_mpu9250_calibrate_compass:()=>dw,sensor_onboard_mpu9250_field_strength:()=>Iw,sensor_onboard_mpu9250_gesture:()=>pw,sensor_onboard_mpu9250_get_acceleration:()=>aw,sensor_onboard_mpu9250_get_gyro:()=>rw,sensor_onboard_mpu9250_get_magnetic:()=>uw,sensor_onboard_mpu9250_temperature:()=>lw,sensor_pin_near:()=>Kw,sensor_pin_pressed:()=>Ww,sensor_read:()=>jw,sensor_rm_acc:()=>Pw,sensor_rm_battery_left:()=>Fw,sensor_rm_pin_near_double:()=>fw,sensor_sound:()=>bU,simulated_light_sensor:()=>aH});var Me={};e.r(Me),e.d(Me,{serial_any:()=>IH,serial_print:()=>uH,serial_print_byte:()=>rH,serial_print_hex:()=>lH,serial_println:()=>dH,serial_read_from_ai:()=>SH,serial_readline:()=>TH,serial_readstr:()=>MH,serial_send_to_ai:()=>CH,serial_softserial:()=>hH,serial_softserial_new:()=>mH,system_input:()=>EH,system_print:()=>OH,system_print_end:()=>cH,system_print_inline:()=>RH,system_print_many:()=>gH});var Te={};e.r(Te),e.d(Te,{Panic_with_status_code:()=>xH,Timer_init:()=>$H,base_delay:()=>tk,controls_delay:()=>UH,controls_delay_new:()=>wH,controls_end_program:()=>VH,controls_millis:()=>bH,controls_uname:()=>GH,reset:()=>BH,set_system_timer:()=>kH,system_bitbot_shutdown:()=>jH,system_device_name:()=>XH,system_device_serial_number:()=>yH,system_event_bus_source:()=>YH,system_event_bus_value:()=>vH,system_machine_reset:()=>zH,system_on_event:()=>fH,system_raise_event:()=>DH,system_reset:()=>LH,system_run_in_background:()=>AH,system_ticks_diff:()=>WH,system_timer:()=>JH,system_timer_init:()=>KH,system_timestamp:()=>FH,system_value:()=>PH,system_wait:()=>NH,system_wdt_feed:()=>qH,system_wdt_init:()=>QH,time_ticks_diff:()=>ek,timer:()=>HH,timer2:()=>ZH});var he={};e.r(he),e.d(he,{Air_daily_content:()=>Mk,Air_now_content:()=>pk,Geo_moon_content:()=>hk,Geo_sun_content:()=>Tk,Life_suggestion_content:()=>uk,Location_search_content:()=>dk,Tide_daily_content:()=>rk,WEATHER_DAILY:()=>nk,WEATHER_HOUR:()=>sk,WEATHER_NOW:()=>ik,Weather_alarm_content:()=>ak,Weather_daily:()=>lk,Weather_daily_content:()=>Ik,Weather_now:()=>_k,Weather_now_content:()=>ok});var me={};e.r(me),e.d(me,{MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED:()=>Ok});var Ee={};e.r(Ee),e.d(Ee,{MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED:()=>ck});var Oe={};e.r(Oe),e.d(Oe,{MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED:()=>Ck});var Re={};e.r(Re),e.d(Re,{controls_pin_attachInterrupt:()=>Hk,inout_analog_atten:()=>vk,inout_analog_write:()=>Pk,inout_analog_write_init:()=>bk,inout_analog_write_set:()=>Yk,inout_analog_write_set_freq:()=>Bk,inout_digital_init:()=>xk,inout_digital_read:()=>Fk,inout_digital_write:()=>fk,inout_highlow:()=>Dk,inout_pinMode:()=>Gk,inout_pin_attachInterrupt:()=>yk,inout_pin_pressed:()=>Xk,inout_pin_pressed_init:()=>Vk,pin_pressed:()=>wk,pin_pressed_init:()=>Uk});var ce={};e.r(ce),e.d(ce,{mini_g2_aht11:()=>Wk,mini_g2_hp203:()=>Kk,mini_g2_rfid_readcontent:()=>qk,mini_g2_rfid_readid:()=>Qk,mini_g2_rfid_status:()=>$k,mini_g2_rfid_write:()=>zk,mini_g2_rfid_write_outcome:()=>jk,mini_g2_varistor:()=>Jk});var ge={};e.r(ge),e.d(ge,{me_go_dc_motor:()=>pW,me_go_get_led_bright:()=>iW,me_go_get_led_state:()=>nW,me_go_hall_attachInterrupt:()=>aW,me_go_hall_data:()=>rW,me_go_hall_initialize:()=>uW,me_go_led_bright:()=>tW,me_go_led_brightness:()=>sW,me_go_light_number:()=>eW,me_go_pin_light:()=>TW,me_go_pin_near:()=>lW,me_go_pin_near_line:()=>dW,me_go_pin_near_state_change:()=>IW,me_go_stepper_keep:()=>_W,me_go_stepper_stop:()=>oW,sensor_mixgome_eulerangles:()=>MW});var Ce={};e.r(Ce),e.d(Ce,{analog_input:()=>SW,analog_output:()=>LW,espnow_channel:()=>cW,haskylens_model:()=>gW,i2c_A_pin:()=>NW,i2c_B_pin:()=>DW,pins_analog:()=>vW,pins_analog_pin:()=>XW,pins_axis:()=>jW,pins_brightness:()=>$W,pins_builtinimg:()=>kW,pins_builtinimg_extern:()=>WW,pins_button:()=>bW,pins_buttonB:()=>VW,pins_dac:()=>yW,pins_dac_pin:()=>xW,pins_digital:()=>mW,pins_digital_dot:()=>oK,pins_digital_pin:()=>EW,pins_exlcdh:()=>qW,pins_exlcdv:()=>zW,pins_imglist:()=>KW,pins_input_pin:()=>OW,pins_one_more:()=>_K,pins_output_pin:()=>RW,pins_playlist:()=>JW,pins_playlist_extern:()=>QW,pins_pwm:()=>BW,pins_pwm_pin:()=>GW,pins_radio_datarate:()=>sK,pins_radio_power:()=>nK,pins_serial:()=>HW,pins_tone_notes:()=>iK,pins_touch:()=>wW,pins_touch_pin:()=>UW,pins_tts_bgmusic:()=>tK,pins_tts_builtin_music:()=>eK,pins_tts_voice:()=>ZW,pwm_input:()=>CW,pwm_output:()=>AW,spi_A_pin:()=>fW,spi_B_pin:()=>FW,spi_C_pin:()=>PW,spi_D_pin:()=>YW,timer_id_pin:()=>pK});var Se={};e.r(Se),e.d(Se,{actuator_neopixel_init:()=>aK});var Ae={};e.r(Ae),e.d(Ae,{inout_analog_atten:()=>EK,inout_analog_write:()=>lK,inout_analog_write_init:()=>mK,inout_analog_write_set:()=>IK,inout_digital_init:()=>hK,inout_digital_read:()=>dK,inout_digital_write:()=>rK,inout_highlow:()=>uK,inout_pin_attachInterrupt:()=>TK,inout_pin_pressed:()=>MK,inout_pin_pressed_init:()=>OK});var Le={};e.r(Le),e.d(Le,{mini_g2_aht11:()=>RK,mini_g2_hp203:()=>cK,mini_g2_rfid_readcontent:()=>SK,mini_g2_rfid_readid:()=>CK,mini_g2_rfid_status:()=>NK,mini_g2_rfid_write:()=>AK,mini_g2_rfid_write_outcome:()=>LK,mini_g2_varistor:()=>gK});var Ne={};e.r(Ne),e.d(Ne,{me_go_dc_motor:()=>yK,me_go_get_led_bright:()=>FK,me_go_get_led_state:()=>PK,me_go_hall_attachInterrupt:()=>xK,me_go_hall_data:()=>VK,me_go_hall_initialize:()=>bK,me_go_led_bright:()=>fK,me_go_led_brightness:()=>YK,me_go_light_number:()=>DK,me_go_pin_light:()=>HK,me_go_pin_near:()=>GK,me_go_pin_near_line:()=>BK,me_go_pin_near_state_change:()=>UK,me_go_stepper_keep:()=>vK,me_go_stepper_stop:()=>XK,sensor_mixgome_eulerangles:()=>wK});var De={};e.r(De),e.d(De,{analog_input:()=>ZK,analog_output:()=>tJ,espnow_channel:()=>jK,haskylens_model:()=>$K,i2c_A_pin:()=>iJ,i2c_B_pin:()=>nJ,pins_analog:()=>uJ,pins_analog_pin:()=>aJ,pins_axis:()=>CJ,pins_brightness:()=>LJ,pins_builtinimg:()=>EJ,pins_builtinimg_extern:()=>OJ,pins_button:()=>WK,pins_buttonB:()=>KK,pins_dac:()=>IJ,pins_dac_pin:()=>lJ,pins_digital:()=>kK,pins_digital_dot:()=>XJ,pins_digital_pin:()=>JK,pins_exlcdh:()=>SJ,pins_exlcdv:()=>AJ,pins_imglist:()=>RJ,pins_input_pin:()=>QK,pins_interrupt:()=>hJ,pins_one_more:()=>vJ,pins_output_pin:()=>qK,pins_playlist:()=>cJ,pins_playlist_extern:()=>gJ,pins_pwm:()=>dJ,pins_pwm_input:()=>zK,pins_pwm_pin:()=>rJ,pins_radio_datarate:()=>YJ,pins_radio_power:()=>PJ,pins_serial:()=>mJ,pins_tone_notes:()=>FJ,pins_touch:()=>TJ,pins_touch_pin:()=>MJ,pins_tts_bgmusic:()=>fJ,pins_tts_builtin_music:()=>DJ,pins_tts_voice:()=>NJ,pwm_output:()=>eJ,spi_A_pin:()=>sJ,spi_B_pin:()=>_J,spi_C_pin:()=>oJ,spi_D_pin:()=>pJ,timer_id_pin:()=>yJ});const fe=Blockly,Fe=Mixly,Pe={NAME_TYPE:"VARIABLE",allVariables:function(e){var t;if(e.getDescendants)t=e.getDescendants();else{if(!e.getAllBlocks)throw"Not Block or Workspace: "+e;t=e.getAllBlocks()}for(var i=Object.create(null),n=0;n1&&(o+=n)):i=o}else i="i";return i}},Ye=Pe; +/** + * @license + * Visual Blocks Editor + * + * Copyright 2012 Google Inc. + * https://developers.google.com/blockly/ + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +class ve{constructor(e,t){if(this.variablePrefix_=t||"",this.reservedDict_=Object.create(null),e)for(var i=e.split(","),n=0;n0;s--)t.getInputTargetBlock("IF"+s)&&t.getInputTargetBlock("IF"+s).previousConnection?i[s]=t.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),t.getInputTargetBlock("DO"+s)&&t.getInputTargetBlock("DO"+s).previousConnection?n[s]=t.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(e.getAttribute("elseif"),10),this.elseCount_=parseInt(e.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(fe.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+s).appendField(fe.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(fe.Msg.CONTROLS_IF_MSG_ELSE);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(e){var t=e.newBlock("controls_if_if");t.initSvg();for(var i=t.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=e.newBlock("controls_if_elseif");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var _=e.newBlock("controls_if_else");_.initSvg(),i.connect(_.previousConnection)}return t},compose:function(e){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var t=this.elseifCount_;t>0;t--)this.removeInput("IF"+t),this.removeInput("DO"+t);this.elseifCount_=0;for(var i=e.getInputTargetBlock("STACK"),n=[null],s=[null],_=null;i;){switch(i.type){case"controls_if_elseif":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_if_else":this.elseCount_++,_=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,_)},saveConnections:function(e){for(var t=e.getInputTargetBlock("STACK"),i=1;t;){switch(t.type){case"controls_if_elseif":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);t.valueConnection_=n&&n.connection.targetConnection,t.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_if_else":s=this.getInput("ELSE");t.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}t=t.nextConnection&&t.nextConnection.targetBlock()}},rebuildShape_:function(){var e=[null],t=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),_=this.getInput("DO"+n);console.log(s.connection.targetConnection),e.push(s.connection.targetConnection),t.push(_.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(e,t,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var e=1;this.getInput("IF"+e);)this.removeInput("IF"+e),this.removeInput("DO"+e),e++;for(e=1;e<=this.elseifCount_;e++)this.appendValueInput("IF"+e).setCheck([Number,Boolean]).appendField(fe.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+e).appendField(fe.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(fe.Msg.CONTROLS_IF_MSG_ELSE)},reconnectChildBlocks_:function(e,t,i){for(var n=1;n<=this.elseifCount_;n++)e[n]&&e[n].reconnect(this,"IF"+n),t[n]&&t[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},$e={init:function(){this.setColour(Ke),this.appendValueInput("FROM").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.PYTHON_RANGE).appendField(fe.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.PYTHON_RANGE_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(fe.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},Ze={init:function(){this.setColour(Ke),this.appendValueInput("LIST").setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.CONTROLS_FOREACH_INPUT),this.appendValueInput("VAR").appendField(fe.Msg.CONTROLS_FOREACH_INPUT_ITEM),this.appendStatementInput("DO").appendField(fe.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip((function(){return fe.Msg.CONTROLS_FOR_TOOLTIP.replace("“%1”","")}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){fe.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},et={init:function(){this.setColour(Ke),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(fe.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(new fe.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(fe.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT+fe.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE");return{WHILE:fe.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:fe.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[t]}))}},tt={init:function(){this.setColour(Ke),this.appendDummyInput().appendField(fe.Msg.MIXLY_PYTHON_TRY),this.appendStatementInput("try"),this.appendValueInput("IF1").appendField(fe.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO1").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new fe.icons.MutatorIcon(["controls_except","controls_finally"],this)),this.setTooltip(fe.Msg.MIXLY_MIXPY_CONTROL_TRY_TOOLTIP),this.elseifCount_=1,this.elseCount_=0},mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var e=document.createElement("mutation");return this.elseifCount_&&e.setAttribute("elseif",this.elseifCount_),this.elseCount_&&e.setAttribute("else",1),e},domToMutation:function(e){var t=this,i=[],n=[];this.elseCount_&&this.removeInput("ELSE");for(var s=this.elseifCount_;s>0;s--)t.getInputTargetBlock("IF"+s)&&t.getInputTargetBlock("IF"+s).previousConnection?i[s]=t.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),t.getInputTargetBlock("DO"+s)&&t.getInputTargetBlock("DO"+s).previousConnection?n[s]=t.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(e.getAttribute("elseif"),10),this.elseCount_=parseInt(e.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(fe.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+s).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(fe.Msg.MIXLY_PYTHON_FINALLY);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(e){var t=e.newBlock("controls_try");t.initSvg();for(var i=t.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=e.newBlock("controls_except");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var _=e.newBlock("controls_finally");_.initSvg(),i.connect(_.previousConnection)}return t},compose:function(e){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var t=this.elseifCount_;t>0;t--)this.removeInput("IF"+t),this.removeInput("DO"+t);this.elseifCount_=0;for(var i=e.getInputTargetBlock("STACK"),n=[null],s=[null],_=null;i;){switch(i.type){case"controls_except":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_finally":this.elseCount_++,_=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,_)},saveConnections:function(e){for(var t=e.getInputTargetBlock("STACK"),i=1;t;){switch(t.type){case"controls_except":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);t.valueConnection_=n&&n.connection.targetConnection,t.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_finally":s=this.getInput("ELSE");t.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}t=t.nextConnection&&t.nextConnection.targetBlock()}},rebuildShape_:function(){var e=[null],t=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),_=this.getInput("DO"+n);console.log(s.connection.targetConnection),e.push(s.connection.targetConnection),t.push(_.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(e,t,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var e=1;this.getInput("IF"+e);)this.removeInput("IF"+e),this.removeInput("DO"+e),e++;for(e=1;e<=this.elseifCount_;e++)this.appendValueInput("IF"+e).setCheck([Number,Boolean]).appendField(fe.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+e).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(fe.Msg.MIXLY_PYTHON_FINALLY)},reconnectChildBlocks_:function(e,t,i){for(var n=1;n<=this.elseifCount_;n++)e[n]&&e[n].reconnect(this,"IF"+n),t[n]&&t[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},it={init:function(){this.setColour(Ke);var e=new fe.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(e,"FLOW").appendField(fe.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0),this.setTooltip(fe.Msg.MIXLY_PYTHON_CONTROLS_FLOW_STATEMENTS_TOOLTIP);var t=this;this.setTooltip((function(){var e=t.getFieldValue("FLOW");return{BREAK:fe.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:fe.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}[e]}))},onchange:function(){if(this.workspace){var e=!1,t=this;do{if("controls_repeat"==t.type||"controls_for"==t.type||"controls_forEach"==t.type||"controls_repeat_ext"==t.type||"controls_whileUntil"==t.type||"do_while"==t.type){e=!0;break}t=t.getSurroundParent()}while(t);e?this.setWarningText(null):this.setWarningText(fe.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}},nt={init:function(){this.setColour(Ke),this.appendDummyInput().appendField(fe.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new fe.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(fe.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){return fe.Msg.CONTROLS_FOR_TOOLTIP.replace("%1",e.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){fe.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},st={init:function(){this.setColour(Ke),this.appendDummyInput().appendField(fe.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new fe.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(fe.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){return fe.Msg.MIXLY_PYTHON_CONTROLS_FOR_RANGE_TOOLTIP.replace("%1",e.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){fe.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}};et.OPERATORS=[[fe.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[fe.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]],it.OPERATORS=[[fe.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[fe.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const _t={init:function(){this.setColour(Ke),this.appendDummyInput().appendField(fe.Msg.CONTROLS_IF_IF_TITLE_IF),this.appendStatementInput("STACK"),this.setTooltip(fe.Msg.CONTROLS_IF_IF_TOOLTIP),this.contextMenu=!1}},ot={init:function(){this.setColour(Ke),this.appendDummyInput().appendField(fe.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(fe.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},pt={init:function(){this.setColour(Ke),this.appendDummyInput().appendField(fe.Msg.CONTROLS_IF_ELSE_TITLE_ELSE),this.setPreviousStatement(!0),this.setTooltip(fe.Msg.CONTROLS_IF_ELSE_TOOLTIP),this.contextMenu=!1}},at={init:function(){this.setColour(Ke),this.appendDummyInput().appendField("try"),this.appendStatementInput("STACK"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.contextMenu=!1}},ut={init:function(){this.setColour(Ke),this.appendDummyInput().appendField(fe.Msg.MIXLY_PYTHON_EXCEPT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1,this.setTooltip(fe.Msg.MIXLY_MIXPY_CONTROL_EXCEPT_TOOLTIP)}},rt={init:function(){this.setColour(Ke),this.appendDummyInput().appendField(fe.Msg.MIXLY_PYTHON_FINALLY),this.setPreviousStatement(!0),this.contextMenu=!1,this.setTooltip(fe.Msg.MIXLY_MIXPY_CONTROL_FINALLY_TOOLTIP)}},dt={init:function(){this.jsonInit({message0:fe.Msg.CONTROLS_REPEAT_TITLE,args0:[{type:"input_value",name:"TIMES"}],previousStatement:null,nextStatement:null,colour:Ke,tooltip:fe.Msg.CONTROLS_REPEAT_TOOLTIP,helpUrl:fe.Msg.CONTROLS_REPEAT_HELPURL}),this.appendStatementInput("DO")}},lt={init:function(){this.setColour(Ke),this.appendValueInput("BOOL").appendField("lambda"),this.appendStatementInput("DO").appendField(fe.Msg.MIXLY_STAT),this.setOutput(!0)}},It={init:function(){this.setColour(Ke),this.appendDummyInput().appendField(fe.Msg.MIXLY_PYTHON_PASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(fe.Msg.MIXLY_PYTHON_CONTROLS_PASS_TOOLTIP)}},Mt={init:function(){this.setColour(Ke),this.appendDummyInput().appendField(fe.Msg.MIXLY_PYTHON_CONTROLS_THREAD_START),this.appendValueInput("callback").appendField(fe.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.appendValueInput("VAR").appendField(fe.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_PYTHON_CONTROLS_THREAD_TOOLTIP)}},Tt={init:function(){this.appendDummyInput().appendField(fe.Msg.CONTROLS_REPEAT_TITLE_REPEAT+fe.Msg.MIXLY_DO),this.appendStatementInput("input_data").setCheck(null),this.appendValueInput("select_data").setCheck(null).appendField(fe.Msg.CONTROLS_OPERATOR_UNTIL).appendField(new fe.FieldDropdown([[fe.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"true"],[fe.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"false"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Ke),this.setTooltip("do-while loop"),this.setHelpUrl("")}},ht={init:function(){this.setColour(Ke),this.appendDummyInput().appendField(fe.Msg.MIXLY_OP_GARBAGE_COLLECT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},mt={init:function(){this.setColour(Ke),this.appendDummyInput().appendField(fe.Msg.MIXLY_GET_MEM_ALLOC),this.setOutput(!0)}},Et={init:function(){this.setColour(Ke),this.appendDummyInput().appendField(fe.Msg.MIXLY_GET_MEM_FREE),this.setOutput(!0)}},Ot={init:function(){this.setColour(Ke),this.appendDummyInput().appendField(fe.Msg.MIXLY_GET+fe.Msg.MIXLY_DEVICE+"ID"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(fe.Msg.PROCEDURES_DEFRETURN_RETURN+fe.Msg.MIXLY_GET_UNIQUE_IDEN)}},Rt={init:function(){this.setColour(Ke),this.appendValueInput("VAR").appendField(fe.Msg.MIXLY_RTC_TIMESTAMP),this.appendDummyInput().appendField(fe.Msg.MIXLY_TIMESTAMP_TO_DATA),this.setInputsInline(!0),this.setOutput(!0,Number)}},ct={init:function(){this.setColour(Ke),this.appendDummyInput().appendField(fe.Msg.MIXLY_GET_UNIQUE_IDEN),this.setOutput(!0)}},gt=230;fe.FieldTextInput.math_number_validator=function(e){return String(e)},fe.FieldTextInput.math_number_validator_include_blank=function(e){if(""===e)return"";return/^-?(0X|0x|0O|0o|0B|0b)?[a-fA-F0-9]{1,}(\.[a-fA-F0-9]+)?$/.test(e)?String(e):null};const Ct={init:function(){this.setColour(gt),this.appendDummyInput().appendField(new fe.FieldTextInput("0",fe.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(fe.Msg.MATH_NUMBER_TOOLTIP)}},St={init:function(){this.setColour(gt);this.appendDummyInput("").appendField(fe.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new fe.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CONSTANT");return{pi:fe.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_TOOLTIP,e:fe.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_TOOLTIP}[t]}))}},At={init:function(){this.setColour(gt);this.appendDummyInput("").appendField(fe.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new fe.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CONSTANT");return{pi:fe.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_MP_TOOLTIP,e:fe.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_MP_TOOLTIP}[t]}))}},Lt={init:function(){this.setColour(gt),this.setOutput(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new fe.FieldDropdown([["+","ADD"],["-","MINUS"],["×","MULTIPLY"],["÷","DIVIDE"],["%","QUYU"],["//","ZHENGCHU"],["**","POWER"]]),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{ADD:fe.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:fe.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:fe.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:fe.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:fe.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:fe.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:fe.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[t]}))}},Nt={init:function(){this.setColour(gt),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new fe.FieldDropdown([["+=","ADD"],["-=","MINUS"],["×=","MULTIPLY"],["÷=","DIVIDE"],["%=","QUYU"],["//=","ZHENGCHU"],["**=","POWER"]]),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{ADD:fe.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:fe.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:fe.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:fe.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:fe.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:fe.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:fe.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[t]}))}},Dt={init:function(){this.setColour(gt),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new fe.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},ft={init:function(){this.setColour(gt),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new fe.FieldDropdown([["sin","SIN"],["cos","COS"],["tan","TAN"],["asin","ASIN"],["acos","ACOS"],["atan","ATAN"],["-","-"],["ln","LN"],["log10","LOG10"],["e^","EXP"],["10^","POW10"]]),"OP");var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{SIN:fe.Msg.MATH_TRIG_TOOLTIP_SIN,COS:fe.Msg.MATH_TRIG_TOOLTIP_COS,TAN:fe.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:fe.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:fe.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:fe.Msg.MATH_TRIG_TOOLTIP_ATAN,LN:fe.Msg.MATH_SINGLE_TOOLTIP_LN}[t]}))}},Ft={init:function(){var e=[[fe.Msg.MATH_BIN,"bin"],[fe.Msg.MATH_OCT,"oct"],[fe.Msg.MATH_HEX,"hex"]];this.setColour(gt),this.setOutput(!0,String),this.appendValueInput("NUM").setCheck(Number).appendField(new fe.FieldDropdown(e),"OP");var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{bin:fe.Msg.MATH_DEC_TOOLTIP_BIN,oct:fe.Msg.MATH_DEC_TOOLTIP_OCT,hex:fe.Msg.MATH_DEC_TOOLTIP_HEX}[e]}))}},Pt={init:function(){var e=[[fe.Msg.LANG_MATH_TO_ROUND,"round"],[fe.Msg.LANG_MATH_TO_CEIL,"ceil"],[fe.Msg.LANG_MATH_TO_FLOOR,"floor"],[fe.Msg.MATH_ABS,"fabs"],[fe.Msg.MATH_SQRT,"sqrt"]];this.setColour(gt),this.appendValueInput("A").setCheck(Number).appendField(new fe.FieldDropdown(e),"OP"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{sqrt:fe.Msg.MATH_SINGLE_TOOLTIP_ROOT,fabs:fe.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:fe.Msg.MATH_SINGLE_TOOLTIP_SQ,round:fe.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:fe.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:fe.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[e]}))}},Yt={init:function(){var e=[[fe.Msg.MIXLY_MAX,"max"],[fe.Msg.MIXLY_MIN,"min"]];this.setColour(gt),this.appendValueInput("A").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(new fe.FieldDropdown(e),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(fe.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{max:fe.Msg.MIXLY_TOOLTIP_MATH_MAX,min:fe.Msg.MIXLY_TOOLTIP_MATH_MIN}[e]}))}},vt={init:function(){var e=[[fe.Msg.MATH_TWO,"two"],[fe.Msg.MATH_EIGHT,"eight"],[fe.Msg.MATH_TEN,"ten"],[fe.Msg.MATH_SIXTEEN,"sixteen"]];this.setColour(gt),this.appendDummyInput("").appendField(fe.Msg.MATH_BA),this.appendValueInput("NUM").appendField(new fe.FieldDropdown(e),"OP").appendField(fe.Msg.MATH_JinZhi).setCheck(Number),this.appendDummyInput("").appendField(fe.Msg.MATH_ZHW).appendField(new fe.FieldDropdown(e),"OP2").appendField(fe.Msg.MATH_JinZhi),this.setFieldValue("ten","OP2"),this.setOutput(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i={two:fe.Msg.MATH_Before_two,eight:fe.Msg.MATH_Before_eight,ten:fe.Msg.MATH_Before_ten,sixteen:fe.Msg.MATH_Before_sixteen},n=t.getFieldValue("OP2"),s={two:fe.Msg.MATH_Behind_two,eight:fe.Msg.MATH_Behind_eight,ten:fe.Msg.MATH_Behind_ten,sixteen:fe.Msg.MATH_Behind_sixteen};return i[e]+s[n]}))}},Xt={init:function(){var e=[[fe.Msg.LANG_MATH_INT,"int"],[fe.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(gt),this.setOutput(!0,Number),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_RANDOM).appendField(new fe.FieldDropdown(e),"TYPE"),this.appendValueInput("FROM").setCheck(Number).appendField(fe.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("TYPE"),i={int:fe.Msg.LANG_MATH_INT,float:fe.Msg.LANG_MATH_FLOAT_RANDOM};return fe.Msg.MATH_RANDOM_INT_TOOLTIP+i[e]}))}},yt={init:function(){this.setColour(gt),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(fe.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(fe.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(fe.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(fe.Msg.MATH_CONSTRAIN_TOOLTIP)}},xt={init:function(){this.setColour(gt),this.appendValueInput("NUM",Number).appendField(fe.Msg.MIXLY_MAP).setCheck(Number),this.appendValueInput("fromLow",Number).appendField(fe.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(fe.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(fe.Msg.MIXLY_TOOLTIP_MATH_MAP)}},bt={init:function(){this.setColour(gt),this.appendDummyInput().appendField(new fe.FieldTextInput("0",fe.FieldTextInput.math_number_validator_include_blank),"NUM"),this.setOutput(!0),this.setTooltip(fe.Msg.MATH_NUMBER_TOOLTIP)}},Vt={init:function(){this.setColour(gt),this.appendValueInput("NUM").setCheck(Number).appendField(fe.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(fe.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED)}},Bt={init:function(){this.setColour(gt),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number),this.appendValueInput("VAR").setCheck(Number).appendField(fe.Msg.MATH_ROUND).appendField(fe.Msg.TEXT_KEEP),this.appendDummyInput().appendField(fe.Msg.TEXT_DECIMAL),this.setInputsInline(!0),this.setTooltip(fe.Msg.MATH_ROUND_NEW_TOOLTIP)}},Gt={init:function(){var e=[[fe.Msg.MIXLY_TO_INT,"int"],[fe.Msg.MIXLY_TO_FLOAT,"float"],[fe.Msg.MIXLY_TO_BITES,"b"],[fe.Msg.LANG_MATH_BYTE+fe.Msg.MIXLY_TO_INT,"bti"]];this.setColour(gt),this.appendValueInput("VAR").appendField(new fe.FieldDropdown(e),"TOWHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("TOWHAT");return{int:fe.Msg.MIXLY_PYTHON_TOOLTIP_TOINT,float:fe.Msg.MIXLY_PYTHON_TOOLTIP_TOFLOAT,b:fe.Msg.MIXLY_TOOLTIP_TEXT_TOBYTE}[e]}))}},Ut={init:function(){var e=[[fe.Msg.MIXLY_TO_INT,"int"],[fe.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(gt),this.appendValueInput("VAR").appendField(new fe.FieldDropdown(e),"TOWHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("TOWHAT");return{int:fe.Msg.MIXLY_TOOLTIP_TEXT_TOINT,float:fe.Msg.MIXLY_TOOLTIP_TEXT_TOFLOAT}[e]}))}},wt=xt,Ht={init:function(){this.setColour(gt),this.appendValueInput("VAR").appendField(fe.Msg.LANG_MATH_BYTE+fe.Msg.MIXLY_TO_HEX),this.setOutput(!0,Number),this.setTooltip(fe.Msg.MIXLY_PYTHON_TOOLTIP_TOHEX)}},kt={init:function(){this.setColour(gt),this.itemCount_=1,this.setMutator(new fe.icons.MutatorIcon(["lists_create_with_item"],this)),this.appendDummyInput("DUMMY").appendField(fe.Msg.MIXLY_PRODUCT+fe.Msg.MIXLY_GENERATE_CARTESIAN_PRODUCT),this.appendValueInput("REPEAT").appendField(fe.Msg.MIXLY_EVERY_PER_ELEPER_ELEMENT),this.appendDummyInput().appendField(fe.Msg.CONTROLS_REPEAT_TITLE_TIMES),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0),this.setTooltip(fe.Msg.LISTS_CREATE_WITH_PYTHON_TOOLTIP),this.updateShape_()},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("lists_create_with_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;n1&&"\\"===e.charAt(0)){var t=e.charAt(1);if("0"===t||"b"===t||"f"===t||"n"===t||"r"===t||"t"===t||"\\"===t||"'"===t)return String(e).substring(0,2);if("x"===t&&"0"===e.charAt(2)&&"B"===e.charAt(3))return String(e).substring(0,4)}return String(e).substring(0,1)};const jt={init:function(){this.setColour(Jt),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new fe.FieldTextInput("",fe.FieldTextInput.char_validator),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,Number),this.setTooltip(fe.Msg.TEXT_CHAR_TOOLTIP)},newQuote_:function(e){if(1==e)var t="../../media/quote2.png";else t="../../media/quote3.png";return new fe.FieldImage(t,7,12,'"')}},$t={init:function(){this.setColour(Jt),this.appendValueInput("A").setCheck([String,Number]),this.appendValueInput("B").setCheck([String,Number]).appendField(fe.Msg.MIXLY_TEXT_JOIN),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(fe.Msg.MIXLY_TOOLTIP_TEXT_JOIN)}},Zt={init:function(){this.setColour(Jt),this.appendValueInput("VAR").setCheck(Number).appendField(fe.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(fe.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},ei={init:function(){this.setColour(Jt),this.appendValueInput("VAR").setCheck(String).appendField(fe.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(fe.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},ti={init:function(){this.setColour(Jt),this.appendValueInput("VAR").appendField(fe.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(fe.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},ii={init:function(){this.setColour(Jt),this.appendValueInput("VAR").appendField(fe.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(fe.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},ni={init:function(){this.WHERE_OPTIONS=[[fe.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[fe.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[fe.Msg.TEXT_GET_INDEX_RANDOM+1+fe.Msg.TEXT_CHARAT2,"RANDOM"]],this.setHelpUrl(fe.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Jt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number),this.appendDummyInput().appendField(fe.Msg.LISTS_GET_INDEX_GET,"MODE"),fe.Msg.LISTS_GET_INDEX_TAIL&&this.appendDummyInput("TAIL").appendField(fe.Msg.LISTS_GET_INDEX_TAIL),this.setInputsInline(!0),this.setOutput(!0),this.updateAt_(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=e.getFieldValue("WHERE"),n="";switch(t+" "+i){case"GET FROM_START":case"GET FROM_END":n=fe.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM;break;case"GET RANDOM":n=fe.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM;break;case"GET_REMOVE FROM_START":case"GET_REMOVE FROM_END":n=fe.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM;break;case"GET_REMOVE RANDOM":n=fe.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM}return"FROM_START"!=i&&"FROM_END"!=i||(n+=" "+fe.Msg.LISTS_INDEX_FROM_START_TOOLTIP.replace("%1",fe.Msg.ONE_BASED_INDEXING?"#1":"#0")),n}));var t=this;this.setTooltip((function(){var e=t.getFieldValue("WHERE"),i={FROM_START:fe.Msg.LISTS_GET_INDEX_FROM_START,FROM_END:fe.Msg.LISTS_GET_INDEX_FROM_END,RANDOM:fe.Msg.TEXT_GET_INDEX_RANDOM};return fe.Msg.PROCEDURES_DEFRETURN_RETURN+fe.Msg.MIXLY_MICROBIT_TYPE_STRING+i[e]+"n"+fe.Msg.TEXT_CHARAT2}))},mutationToDom:function(){var e=document.createElement("mutation");e.setAttribute("statement",!this.outputConnection);var t=this.getInput("AT").type==fe.INPUT_VALUE;return e.setAttribute("at",t),e},domToMutation:function(e){var t="true"==e.getAttribute("statement");this.updateStatement_(t),e="false"!=e.getAttribute("at"),this.updateAt_(e)},updateStatement_:function(e){e!=!this.outputConnection&&(this.unplug(!0,!0),e?(this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)):(this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)))},updateAt_:function(e){this.removeInput("AT"),this.removeInput("ORDINAL",!0),e?(this.appendValueInput("AT").setCheck(Number),fe.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL").appendField(fe.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT");var t=new fe.FieldDropdown(this.WHERE_OPTIONS,(function(t){var i="FROM_START"==t||"FROM_END"==t;if(i!=e){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(t,"WHERE"),null}}));this.getInput("AT").appendField(t,"WHERE"),fe.Msg.LISTS_GET_INDEX_TAIL&&this.moveInputBefore("TAIL",null)}},si={init:function(){this.setHelpUrl(fe.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Jt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number).appendField(fe.Msg.LISTS_GET_INDEX_GET+" "+fe.Msg.LISTS_GET_INDEX_FROM_START),this.appendDummyInput().appendField(fe.Msg.TEXT_CHARAT2),this.setOutput(!0),this.setTooltip(fe.Msg.PROCEDURES_DEFRETURN_RETURN+fe.Msg.MIXLY_MICROBIT_TYPE_STRING+fe.Msg.LISTS_GET_INDEX_FROM_START+"n"+fe.Msg.TEXT_CHARAT2)}},_i={init:function(){this.setHelpUrl(fe.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Jt),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(fe.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(fe.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},oi={init:function(){this.WHERE_OPTIONS_1=[[fe.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[fe.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[fe.Msg.LISTS_GET_SUBLIST_START_FIRST,"FIRST"]],this.WHERE_OPTIONS_2=[[fe.Msg.LISTS_GET_SUBLIST_END_FROM_START,"FROM_START"],[fe.Msg.LISTS_GET_SUBLIST_END_FROM_END,"FROM_END"],[fe.Msg.LISTS_GET_SUBLIST_END_LAST,"LAST"]],this.setHelpUrl(fe.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Jt),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput("AT1"),this.appendDummyInput("AT2"),this.setInputsInline(!0),this.setOutput(!0,"List"),this.updateAt_(1,!0),this.updateAt_(2,!0),this.setTooltip(fe.Msg._GET_TEXT_SUBLIST_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation"),t=this.getInput("AT1").type==fe.INPUT_VALUE;e.setAttribute("at1",t);var i=this.getInput("AT2").type==fe.INPUT_VALUE;return e.setAttribute("at2",i),e},domToMutation:function(e){var t="true"==e.getAttribute("at1"),i="true"==e.getAttribute("at2");this.updateAt_(1,t),this.updateAt_(2,i)},updateAt_:function(e,t){this.removeInput("AT"+e),this.removeInput("ORDINAL"+e,!0),t?(this.appendValueInput("AT"+e).setCheck(Number),fe.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL"+e).appendField(fe.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT"+e);var i=new fe.FieldDropdown(this["WHERE_OPTIONS_"+e],(function(i){var n="FROM_START"==i||"FROM_END"==i;if(n!=t){var s=this.sourceBlock_;return s.updateAt_(e,n),s.setFieldValue(i,"WHERE"+e),null}}));this.getInput("AT"+e).appendField(i,"WHERE"+e),1==e&&(this.moveInputBefore("AT1","AT2"),this.getInput("ORDINAL1")&&this.moveInputBefore("ORDINAL1","AT2"))}},pi={init:function(){this.setHelpUrl(fe.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Jt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT1").appendField(fe.Msg.LISTS_GET_INDEX_GET+" "+fe.Msg.LISTS_GET_INDEX_FROM_START),this.appendValueInput("AT2").appendField(fe.Msg.LISTS_GET_SUBLIST_END_FROM_START),this.appendDummyInput().appendField(fe.Msg.TEXT_CHARAT2),this.setInputsInline(!0),this.setOutput(!0,["List",String]),this.setTooltip(fe.Msg._GET_TEXT_SUBLIST_TOOLTIP)}},ai={init:function(){var e=[[fe.Msg.MIXLY_EQUALS,"==="],[fe.Msg.MIXLY_STARTSWITH,"startswith"],[fe.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(Jt),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new fe.FieldDropdown(e),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},ui={init:function(){this.setColour(Jt),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(fe.Msg.MIXLY_COMPARETO).setCheck(String),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_COMPARETO_HELP)}},ri={init:function(){var e=[[fe.Msg.TEXT_UPPER,"upper"],[fe.Msg.TEXT_TITLE,"title"],[fe.Msg.TEXT_CAPITALIZE,"capitalize"],[fe.Msg.TEXT_SWAPCASE,"swapcase"],[fe.Msg.TEXT_LOWER,"lower"]];this.setColour(Jt),this.appendValueInput("VAR").appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new fe.FieldDropdown(e),"CAPITAL").setCheck(String),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CAPITAL");return{upper:fe.Msg.MIXLY_MIXPY_TEXT_UPPER_TOOLTIP,title:fe.Msg.MIXLY_MIXPY_TEXT_TITLE_TOOLTIP,swapcase:fe.Msg.MIXLY_MIXPY_TEXT_SWAPCASE_TOOLTIP,capitalize:fe.Msg.MIXLY_MIXPY_TEXT_CAPITALIZE_TOOLTIP,lower:fe.Msg.MIXLY_MIXPY_TEXT_LOWER_TOOLTIP}[e]}))}},di={init:function(){var e=[[fe.Msg.TEXT_LJUST,"ljust"],[fe.Msg.TEXT_CENTER,"center"],[fe.Msg.TEXT_RJUST,"rjust"]];this.setColour(Jt),this.appendValueInput("VAR").appendField(new fe.FieldDropdown(e),"CENTER").setCheck(String),this.appendValueInput("WID").appendField(fe.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("Symbol").appendField(fe.Msg.MIXLY_RECT_Fill).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(fe.Msg.MIXLY_MIXPY_TEXT_CENTER_TOOLTIP)}},li={init:function(){this.setColour(Jt),this.appendValueInput("VAR").appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).setCheck(String),this.appendValueInput("STR").appendField(fe.Msg.MIXLY_MID+fe.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER).setCheck(String),this.appendDummyInput().appendField(fe.Msg.MIXLY_LIST_INDEX),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(fe.Msg.MIXLY_MIXPY_TEXT_FIND_TOOLTIP)}},Ii={init:function(){this.setColour(Jt),this.appendValueInput("VAR").appendField(fe.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_USE_STR).setCheck(String),this.appendValueInput("LIST").appendField(fe.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_SEQ).setCheck("List","Tuple","Set","Dict"),this.appendDummyInput().appendField(fe.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_GET_STR),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(fe.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_TOOLTIP)}},Mi={init:function(){this.setColour(Jt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("STR1").appendField(fe.Msg.MIXLY_MIXPY_REPLACE).setCheck(String),this.appendValueInput("STR2").appendField(fe.Msg.LISTS_SET_INDEX_INPUT_TO).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(fe.Msg.MIXLY_MIXPY_TEXT_REPLACE_TOOLTIP)}},Ti={init:function(){this.setColour(Jt),this.appendValueInput("VAR"),this.appendValueInput("VAL").appendField(fe.Msg.LIST_SPLIT_AS),this.appendDummyInput("").appendField(fe.Msg.LIST_SPLIT),this.setOutput(!0,"List"),this.setTooltip(fe.Msg.MIXLY_MIXPY_TEXT_SPLIT_TOOLTIP),this.setInputsInline(!0)}},hi={init:function(){var e=[[fe.Msg.TEXT_TRIM_BOTH,"strip"],[fe.Msg.TEXT_TRIM_LEFT,"lstrip"],[fe.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(Jt),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(fe.Msg.TEXT_STRIM),this.appendDummyInput("").appendField(new fe.FieldDropdown(e),"TOWHAT"),this.appendDummyInput("").appendField(fe.Msg.TEXT_BLANK),this.setOutput(!0,String),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("TOWHAT");return{strip:fe.Msg.TEXT_TRIM_BOTH_TOOLTIP,lstrip:fe.Msg.TEXT_TRIM_LEFT_TOOLTIP,rstrip:fe.Msg.TEXT_TRIM_RIGHT_TOOLTIP}[e]}))}},mi={init:function(){this.setColour(Jt),this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROPYTHON_FORMAT),this.appendDummyInput("").appendField(new fe.FieldTextInput("str"),"VAR"),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new fe.icons.MutatorIcon(["text_create_with_item"],this)),this.setOutput(!0),this.setTooltip(fe.Msg.MIXLY_MIXPY_TEXT_FORMAT_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("text_create_with_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;nt?e[t]:0==t?'"key"':'"key'+(t+1)+'"'),"KEY"+t).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){fe.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},Mn={init:function(){this.setColour(ln),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(fe.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},Tn={init:function(){this.setColour(ln),this.appendDummyInput().appendField(fe.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(fe.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},hn={init:function(){this.setColour(ln),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(fe.Msg.DICT_KEYS),this.setTooltip(fe.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},mn={init:function(){this.setColour(ln),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(fe.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(fe.Msg.DICTS_ADD_VALUE),this.setOutput(!0),this.setTooltip(fe.Msg.DICTS_GET_TOOLTIP)}},En={init:function(){this.setColour(ln),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(fe.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(fe.Msg.DICTS_ADD_VALUE),this.appendValueInput("VAR").appendField(fe.Msg.DICTS_DEFAULT_VALUE),this.setOutput(!0),this.setTooltip(fe.Msg.DICTS_GET_DEFAULT_TOOLTIP)}},On={init:function(){this.setColour(ln),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(fe.Msg.DICTS_ADD),this.appendDummyInput(),this.appendValueInput("VAR").appendField(fe.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(fe.Msg.DICTS_ADD_OR_CHANGE_TOOLTIP)}},Rn={init:function(){this.setColour(ln),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(fe.Msg.DICTS_DELETE_IN),this.appendDummyInput("").appendField(fe.Msg.DICTS_DELETE_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(fe.Msg.DICTS_DELETE_TOOLTIP)}},cn={init:function(){this.setColour(ln),this.appendValueInput("DICT2").setCheck("Dict").appendField(fe.Msg.MAKE_DICT),this.appendValueInput("DICT").setCheck("Dict").appendField(fe.Msg.DICT_UPDATE),this.appendDummyInput("").appendField(fe.Msg.MIXLY_MID),this.setTooltip(fe.Msg.DICTS_UPDATE_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},gn={init:function(){this.setColour(ln),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(fe.Msg.DICT_CLEAR),this.setTooltip(fe.Msg.DICTS_CLEAR_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Cn={init:function(){this.setColour(ln),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(fe.Msg.DICT_ITEMS),this.setTooltip(fe.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},Sn={init:function(){this.setColour(ln),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(fe.Msg.DICT_VALUES),this.setTooltip(fe.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},An={init:function(){this.setColour(ln),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_LENGTH),this.setTooltip(fe.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},Ln={init:function(){this.setColour(ln),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(fe.Msg.DICT_DELDICT),this.setTooltip(fe.Msg.DICTS_DEL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Nn={init:function(){this.MODE=[[fe.Msg.DICTS_ADD_OR_CHANGE,"INSERT"],[fe.Msg.MIXLY_MICROBIT_JS_DELETE_VAR,"DELETE"]],this.setHelpUrl(fe.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(ln),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("AT2"),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).appendField(fe.Msg.DICTS_ADD_VALUE),this.updateAt_(!0),this.setInputsInline(!0),this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t="";switch(e.getFieldValue("WHERE")){case"INSERT":t=fe.Msg.DICTS_ADD_TOOLTIP;break;case"DELETE":t=fe.Msg.DICTS_DELETE_TOOLTIP}return t}))},mutationToDom:function(){var e=document.createElement("mutation"),t=this.getInput("AT2").type==fe.INPUT_VALUE;return e.setAttribute("at2",t),e},domToMutation:function(e){var t="true"==e.getAttribute("at2");this.updateAt_(t)},updateAt_:function(e){this.removeInput("AT2"),this.removeInput("ORDINAL",!0),e?this.appendValueInput("AT2").setCheck(Number):this.appendDummyInput("AT2");var t=new fe.FieldDropdown(this.MODE,(function(t){var i="INSERT"==t;if(i!=e){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(t,"WHERE"),null}}));this.getInput("AT2").appendField(t,"WHERE")}},Dn={init:function(){this.setColour(ln),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(fe.Msg.blockpy_DICT_POP),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(fe.Msg.DICTS_ADD_VALUE),this.setTooltip(fe.Msg.DICT_POP_TOOLTIP),this.setInputsInline(!0),this.setOutput(!0)}},fn={init:function(){this.setColour(ln),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(fe.Msg.DICTS_SET_DEFAULT),this.appendDummyInput("").appendField(fe.Msg.DICTS_DEFAULT_VALUE),this.appendValueInput("VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(fe.Msg.DICTS_SETDEFAULT_TOOLTIP)}},Fn={init:function(){this.setColour(ln),this.appendDummyInput("").appendField(new fe.FieldLabel(fe.Msg.MIXLY_MICROBIT_TYPE_DICT),"TIP").appendField(" "),this.itemCount_=3,this.updateShape_(),this.setOutput(!0,"Dict"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setMutator(new fe.icons.MutatorIcon(["dicts_create_with_item"],this)),this.setTooltip(fe.Msg.DICTS_CREATE_WITH_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("dicts_create_with_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;nt?e[t]:0==t?'"key"':'"key'+(t+1)+'"'),"KEY"+t).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){fe.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},Pn={init:function(){this.setColour(ln),this.appendValueInput("VAR").appendField(fe.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(fe.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},Yn={init:function(){this.setColour(ln),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_TO_JSON),this.setTooltip(fe.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},vn={init:function(){this.setColour(ln),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_CONVERT_TO_JSON),this.setTooltip(fe.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},Xn={init:function(){this.setColour(ln),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("VAR1").appendField("key1"),this.appendValueInput("VAR2").appendField("index"),this.appendValueInput("VAR3").appendField("key2"),this.appendValueInput("VAR4").appendField("key3"),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},yn={init:function(){this.setColour(ln),this.appendValueInput("DICT"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_TO_JSON),this.setTooltip(fe.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},xn=210,bn={init:function(){var e=fe.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(xn),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new fe.FieldDropdown(e),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{EQ:fe.Msg.LOGIC_COMPARE_TOOLTIP_EQ,NEQ:fe.Msg.LOGIC_COMPARE_TOOLTIP_NEQ,LT:fe.Msg.LOGIC_COMPARE_TOOLTIP_LT,LTE:fe.Msg.LOGIC_COMPARE_TOOLTIP_LTE,GT:fe.Msg.LOGIC_COMPARE_TOOLTIP_GT,GTE:fe.Msg.LOGIC_COMPARE_TOOLTIP_GTE}[e]})),this.prevBlocks_=[null,null]}},Vn={init:function(){var e=fe.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]],t=fe.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(xn),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new fe.FieldDropdown(e),"OP1"),this.appendValueInput("C").appendField(new fe.FieldDropdown(t),"OP2"),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_PYTHON_LOGIC_COMPARE_CONTINOUS_TOOLTIP)}},Bn={init:function(){var e=[[fe.Msg.LOGIC_OPERATION_AND,"AND"],[fe.Msg.LOGIC_OPERATION_OR,"OR"],[fe.Msg.LOGIC_OPERATION_NOR,"NOR"],[fe.Msg.LOGIC_OPERATION_XOR,"XOR"]];this.setColour(xn),this.setOutput(!0,Boolean),this.appendValueInput("A").setCheck([Boolean,Number]),this.appendValueInput("B").setCheck([Boolean,Number]).appendField(new fe.FieldDropdown(e),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{AND:fe.Msg.LOGIC_OPERATION_TOOLTIP_AND,OR:fe.Msg.LOGIC_OPERATION_TOOLTIP_OR,NOR:fe.Msg.LOGIC_OPERATION_TOOLTIP_NOR,XOR:fe.Msg.LOGIC_OPERATION_TOOLTIP_XOR}[e]}))}},Gn={init:function(){this.setColour(xn),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(fe.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(fe.Msg.LOGIC_NEGATE_TOOLTIP)}},Un={init:function(){var e=[[fe.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[fe.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(xn),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new fe.FieldDropdown(e),"BOOL"),this.setTooltip(fe.Msg.LOGIC_BOOLEAN_TOOLTIP)}},wn={init:function(){this.setColour(xn),this.setOutput(!0),this.appendDummyInput().appendField(fe.Msg.LOGIC_NULL),this.setTooltip(fe.Msg.LOGIC_NULL_TOOLTIP)}},Hn={init:function(){this.setColour(xn),this.appendValueInput("A"),this.appendValueInput("B").appendField(fe.Msg.LOGIC_TERNARY_IF_TRUE),this.appendValueInput("C").appendField(fe.Msg.LOGIC_TERNARY_IF_FALSE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_TOOLTIP_LOGIT_TRUEORFALSE)}},kn={init:function(){var e=[[fe.Msg.TEXT_APPEND_TO,"in"],[fe.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(xn),this.appendValueInput("A"),this.appendValueInput("B").setCheck([String,"List"]).appendField(new fe.FieldDropdown(e),"BOOL"),this.appendDummyInput("").appendField(fe.Msg.MICROBIT_LOGIC_IS_IN),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(fe.Msg.IN)}},Wn={init:function(){var e=[[fe.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[fe.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(xn),this.appendValueInput("A"),this.appendValueInput("B").appendField(new fe.FieldDropdown(e),"BOOL"),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_PYTHON_LOGIC_IS_TOOLTIP)}},Kn={init:function(){this.setColour(xn),this.appendValueInput("VAR").appendField(fe.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(fe.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},Jn={init:function(){this.setColour(0),this.appendValueInput("fn").setCheck(String).appendField(fe.Msg.MIXLY_PYTHON_STORAGE_OPEN_FILE_WITH_OS+"(For Windows)"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Qn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"],[fe.Msg.MIXLY_ADD,"a"],[fe.Msg.MATH_BIN+fe.Msg.MIXLY_ADD,"ab"],[fe.Msg.MIXLY_R_W,"r+"],[fe.Msg.MATH_BIN+fe.Msg.MIXLY_R_W,"rb+"],[fe.Msg.MIXLY_W_R,"w+"],[fe.Msg.MATH_BIN+fe.Msg.MIXLY_W_R,"wb+"],[fe.Msg.MIXLY_A_R,"a+"],[fe.Msg.MATH_BIN+fe.Msg.MIXLY_A_R,"ab+"]]),"MODE"),this.appendValueInput("FILE").appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_AS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=fe.Msg.MIXLY_USE,n=fe.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=fe.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=fe.Msg.MIXLY_BELONG;return i+{r:fe.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:fe.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:fe.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:fe.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[t]+_+n+s}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){fe.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},qn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=fe.Msg.MIXLY_USE,n=fe.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=fe.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=fe.Msg.MIXLY_BELONG,o=fe.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:fe.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:fe.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:fe.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:fe.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[t]+_+n+s+o}))}},zn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE);this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendDummyInput().appendField(fe.Msg.MIXPY_TEXT_ENCODE).appendField(new fe.FieldDropdown([["ANSI","ANSI"],["gbk","gbk"],["utf-8","utf-8"]]),"CODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=fe.Msg.MIXLY_USE,n=fe.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=fe.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=fe.Msg.MIXLY_BELONG,o=fe.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:fe.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:fe.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:fe.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:fe.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[t]+_+n+s+o}))}},jn={init:function(){this.setColour(0),this.appendValueInput("data").setCheck(String).appendField(fe.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendValueInput("FILE").appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+fe.Msg.MIXLY_MICROBIT_TYPE_STRING+fe.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE)}},$n={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"read"],[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE,"readline"],[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES,"readlines"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String)}},Zn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,"read"],[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,"readline"],[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE,"readlines"]]),"MODE"),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=fe.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE,n=fe.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER;return i+{read:fe.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,readline:fe.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,readlines:fe.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE}[t]+"x"+n}))}},es={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.setNextStatement(!0),this.appendValueInput("SIZE").setCheck(Number).appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(fe.Msg.MICROBIT_PYTHON_TYPE)}},ts={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(fe.Msg.HTML_FILE),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean),this.setTooltip(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT1)}},is={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_FILENAME),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILENAME)}},ns={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE)}},ss={init:function(){this.setColour(0),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES)}};fe.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE;const _s={init:function(){this.setColour(0),this.appendDummyInput().appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE,"remove"],[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_DIRS,"removedirs"]]),"MODE"),this.appendValueInput("FILE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE)}},os={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE+fe.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE)}},ps={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_RETURN_FILE),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_PRESENT_LOCATION),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_TELL)}},as={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION),this.appendDummyInput().appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,"start"],[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,"current"],[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END,"end"]]),"MODE"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=fe.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION+fe.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION,n=fe.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER,s=fe.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET;return i+" "+{start:fe.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,current:fe.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,end:fe.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END}[t]+s+"x"+n}))}},us={init:function(){this.setColour(0),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR)}},rs={init:function(){this.setColour(0),this.appendValueInput("PATH").setCheck(String).appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH),this.appendDummyInput().appendField(fe.Msg.MIXLY_ESP32_SET),this.appendDummyInput().appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,"mkdir"],[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_MAKEDIRS,"makedirs"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE");return fe.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH+"x"+fe.Msg.MIXLY_ESP32_SET+{mkdir:fe.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,makedirs:fe.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[t]}))}},ds={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME),this.appendValueInput("NEWFILE").setCheck(String).appendField(fe.Msg.MIXLY_AS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME)}},ls={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR)}},Is={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT),this.appendDummyInput().appendField(new fe.FieldDropdown([[fe.Msg.HTML_FILE,"isfile"],[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_DIR,"isdir"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean);let e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE");return fe.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH+"x"+fe.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT+{isfile:fe.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,isdir:fe.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[t]}))}},Ms={init:function(){this.setColour(0),this.appendValueInput("SPISUB").appendField(fe.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_SETUP+fe.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(fe.Msg.MIXLY_SD_CARD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Ts={init:function(){this.setColour(0),this.appendValueInput("VAR").appendField(fe.Msg.MIXLY_SD_CARD),this.appendValueInput("DIR").setCheck(String).appendField(fe.Msg.MIXLY_SDCARD_MOUNT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip()}},hs={init:function(){var e=fe.Procedures.findLegalName("",this),t=new fe.FieldTextInput(e,fe.Procedures.rename);t.setSpellcheck(!1),this.appendDummyInput().appendField(t,"NAME").appendField("","PARAMS"),this.setMutator(new fe.icons.MutatorIcon(["procedures_mutatorarg"],this)),(this.workspace.options.comments||this.workspace.options.parentWorkspace&&this.workspace.options.parentWorkspace.options.comments)&&fe.Msg.PROCEDURES_DEFNORETURN_COMMENT&&this.setCommentText(fe.Msg.PROCEDURES_DEFNORETURN_COMMENT),this.setStyle("procedure_blocks"),this.setTooltip(fe.Msg.PROCEDURES_DEFNORETURN_TOOLTIP),this.setHelpUrl(fe.Msg.PROCEDURES_DEFNORETURN_HELPURL),this.arguments_=[],this.argumentVarModels_=[],this.setStatements_(!0),this.statementConnection_=null},setStatements_:function(e){this.hasStatements_!==e&&(e?(this.appendStatementInput("STACK").appendField(fe.Msg.PROCEDURES_DEFNORETURN_DO),this.getInput("RETURN")&&this.moveInputBefore("STACK","RETURN")):this.removeInput("STACK",!0),this.hasStatements_=e)},updateParams_:function(){var e="";this.arguments_.length&&(e=fe.Msg.PROCEDURES_BEFORE_PARAMS+" "+this.arguments_.join(", ")),fe.Events.disable();try{this.setFieldValue(e,"PARAMS")}finally{fe.Events.enable()}},mutationToDom:function(e){var t=fe.utils.xml.createElement("mutation");e&&t.setAttribute("name",this.getFieldValue("NAME"));for(var i=0;i"),this.appendValueInput("style").appendField(fe.Msg.MIXLY_AIP_ATTR).setAlign(fe.inputs.Align.RIGHT),this.appendStatementInput("DO").appendField(""),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},d_={init:function(){this.setColour(__),this.appendDummyInput().appendField(fe.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},l_={init:function(){this.setColour(__),this.appendDummyInput().appendField(fe.Msg.HTML_FORM_CONTENT).appendField(new fe.FieldDropdown([[fe.Msg.HTML_TEXT,"text"],[fe.Msg.HTML_EMAIL,"email"],[fe.Msg.HTML_NUMBER,"number"],[fe.Msg.HTML_PASSWORD,"password"],[fe.Msg.HTML_CHECKBOX,"checkbox"],[fe.Msg.HTML_RADIOBUTTON,"radiobutton"],[fe.Msg.HTML_BUTTON,"button"],[fe.Msg.HTML_COLOUR,"colour"],[fe.Msg.HTML_DATE,"date"],[fe.Msg.HTML_LOCALTIME,"local time"],[fe.Msg.HTML_FILE,"file"],[fe.Msg.HTML_HIDDEN,"hidden"],[fe.Msg.HTML_IMAGE,"image"],[fe.Msg.HTML_MONTH,"month"],[fe.Msg.HTML_RANGE,"range"],[fe.Msg.HTML_RESET,"reset"],[fe.Msg.HTML_SEARCH,"search"],[fe.Msg.HTML_SUBMIT,"submit"],[fe.Msg.HTML_TELEPHONENUMBER,"telephone number"],[fe.Msg.HTML_TIME,"time"],[fe.Msg.HTML_URL,"url"],[fe.Msg.HTML_WEEK,"week"]]),"LEVEL"),this.appendDummyInput().appendField(fe.Msg.HTML_NAME).appendField(new fe.FieldTextInput("car"),"NAME"),this.appendDummyInput().appendField(fe.Msg.HTML_VALUE).appendField(new fe.FieldTextInput("go"),"VALUE"),this.appendValueInput("style").appendField(fe.Msg.MIXLY_AIP_ATTR).setAlign(fe.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},I_={init:function(){this.setColour(__),this.appendDummyInput().appendField(new fe.FieldTextInput("property"),"KEY").appendField(":").appendField(new fe.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},M_={init:function(){this.setColour(__),this.appendDummyInput().appendField(new fe.FieldTextInput("property"),"KEY").appendField(":").appendField(new fe.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},T_={init:function(){this.setColour(__),this.appendDummyInput().appendField(fe.Msg.HTML_TEXT).appendField(new fe.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},h_=160,m_={init:function(){this.setColour(h_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new fe.FieldTable(""),"TEXT")}},E_={init:function(){this.setColour(h_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new fe.FieldMultilineInput(""),"TEXT")}},O_={init:function(){this.setColour(h_),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new fe.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},R_={init:function(){this.setColour(h_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},c_={init:function(){this.setColour(h_),this.appendDummyInput().appendTitle("Comment:").appendTitle(new fe.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},g_={init:function(){this.setColour(h_),this.appendValueInput("VALUE").appendField(fe.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},C_={init:function(){this.setColour(h_),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new fe.icons.MutatorIcon(["text_print_multiple_item"],this)),this.setTooltip(fe.Msg.TEXT_PRINT_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=fe.Block.obtain(e,"text_print_multiple_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;n= stop:"," yield start"," start -= abs(step)"])};if(e=function(e,t,i){return"("+e+" <= "+t+") and "+a()+"("+e+", "+t+", "+i+") or "+u()+"("+e+", "+t+", "+i+")"},fe.isNumber(n)&&fe.isNumber(s)&&fe.isNumber(_))n=parseFloat(n),s=parseFloat(s),_=Math.abs(parseFloat(_)),0==n%1&&0==s%1&&0==_%1?(n<=s?(s++,e=0==n&&1==_?s:n+", "+s,1!=_&&(e+=", "+_)):e=n+", "+--s+", -"+_,e="range("+e+")"):(e=n",GTE:">="};const Oa=function(e,t){var i=this.getFieldValue("OP"),n="&&"==i?t.ORDER_LOGICAL_AND:t.ORDER_LOGICAL_OR,s=t.valueToCode(this,"A",n)||"False",_=t.valueToCode(this,"B",n)||"False";if("AND"==i)var o=s+" and "+_;else if("OR"==i)o=s+" or "+_;else if("NOR"==i)o="not("+s+"^"+_+")";else o=s+"^"+_;return[o,n]},Ra=function(e,t){var i=t.ORDER_UNARY_PREFIX;return["not "+(t.valueToCode(this,"BOOL",i)||"False"),i]},ca=function(e,t){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",t.ORDER_ATOMIC]},ga=function(e,t){return["None",t.ORDER_ATOMIC]},Ca=function(e,t){var i=t.valueToCode(this,"A",t.ORDER_ATOMIC)||"False";return["("+(t.valueToCode(this,"B",t.ORDER_ATOMIC)||"False")+" if "+i+" else "+(t.valueToCode(this,"C",t.ORDER_ATOMIC)||"False")+")",t.ORDER_ATOMIC]},Sa=function(e,t){var i=t.valueToCode(this,"A",t.ORDER_ATOMIC)||"''",n=t.valueToCode(this,"B",t.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,t.ORDER_ATOMIC]},Aa=function(e,t){var i=t.valueToCode(this,"A",t.ORDER_ATOMIC)||"''",n=t.valueToCode(this,"B",t.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,t.ORDER_ATOMIC]},La=function(e,t){return["bool("+(t.valueToCode(this,"VAR",t.ORDER_ATOMIC)||"0")+")",t.ORDER_ATOMIC]},Na=function(e,t){return t.definitions_.import_os="import os","os.startfile("+t.valueToCode(this,"fn",t.ORDER_ATOMIC)+")\n"},Da=function(e,t){return t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+" = open("+t.valueToCode(this,"FILENAME",t.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},fa=function(e,t){return["open("+t.valueToCode(this,"FILENAME",t.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",t.ORDER_ATOMIC]},Fa=function(e,t){return["open("+t.valueToCode(this,"FILENAME",t.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',t.ORDER_ATOMIC]},Pa=function(e,t){var i=t.valueToCode(this,"data",t.ORDER_ATOMIC);return t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".write("+i+")\n"},Ya=function(e,t){var i=this.getFieldValue("MODE");return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+"."+i+"()",t.ORDER_ATOMIC]},va=function(e,t){var i=this.getFieldValue("MODE");return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+"."+i+"("+t.valueToCode(this,"SIZE",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Xa=function(e,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".readline("+t.valueToCode(this,"SIZE",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},ya=function(e,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".writable()",t.ORDER_ATOMIC]},xa=function(e,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".name()",t.ORDER_ATOMIC]},ba=function(e,t){return t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".close()\n"},Va=function(e,t){t.definitions_.import_os="import os";return["os.listdir()",t.ORDER_ATOMIC]},Ba=function(e,t){return t.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+")\n"},Ga=function(e,t){return t.definitions_.import_os="import os",["os.path.getsize("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Ua=function(e,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".tell()",t.ORDER_ATOMIC]},wa=function(e,t){var i=this.getFieldValue("MODE"),n=0;return n="start"==i?0:"current"==i?1:2,t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".seek("+t.valueToCode(this,"SIZE",t.ORDER_ATOMIC)+","+n+")\n"},Ha=function(e,t){return t.definitions_.import_os="import os","os.chdir("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+")\n"},ka=function(e,t){t.definitions_.import_os="import os";return["os.getcwd()",t.ORDER_ATOMIC]},Wa=function(e,t){return t.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+t.valueToCode(this,"PATH",t.ORDER_ATOMIC)+")\n"},Ka=function(e,t){return t.definitions_.import_os="import os","os.rename("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+","+t.valueToCode(this,"NEWFILE",t.ORDER_ATOMIC)+")\n"},Ja=function(e,t){t.definitions_.import_os="import os";var i=t.valueToCode(this,"FILE",t.ORDER_ATOMIC);return["os."+this.getFieldValue("MODE")+"("+i+")",t.ORDER_ATOMIC]},Qa=function(e,t){return t.definitions_.import_os="import os",t.definitions_.import_sdcard="import sdcard",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+" = sdcard.SDCard("+t.valueToCode(this,"SPISUB",t.ORDER_ATOMIC)+","+t.valueToCode(this,"PINSUB",t.ORDER_ATOMIC)+")\n"},qa=function(e,t){return t.definitions_.import_os="import os",t.definitions_.import_sdcard="import sdcard","os.mount("+t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+","+t.valueToCode(this,"DIR",t.ORDER_ATOMIC)+")\n"},za=function(e,t){var i=t.variableDB_.getName(this.getFieldValue("NAME"),fe.Procedures.NAME_TYPE),n=(this.getInput("STACK")&&t.statementToCode(this,"STACK"))??" pass\n";t.INFINITE_LOOP_TRAP&&(n=t.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+n);var s=t.valueToCode(this,"RETURN",t.ORDER_NONE)||"";s&&(s=" return "+s+"\n");for(var _=[],o=0;o\n\n\n\t\n"+t.statementToCode(this,"HEAD")+"\n\n"+t.statementToCode(this,"BODY")+"\n\n'''",t.ORDER_ATOMIC]},Yu=function(e,t){var i=t.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"\n"+i+"\n"},vu=function(e,t){var i=t.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");if("head"==n)var s="<"+n+'>\n\t\n'+i+"\n";else s="<"+n+">\n"+i+"\n";return s},Xu=function(e,t){var i=t.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"<"+n+">\n"+i+"\n"},yu=function(e,t){var i=t.statementToCode(this,"DO"),n=t.valueToCode(this,"style"),s=this.getFieldValue("LEVEL");return"<"+s+" "+n+" >\n"+i+"\n"},xu=function(e,t){return['style="'+t.statementToCode(this,"STYLE")+'"',t.ORDER_ATOMIC]},bu=function(e,t){return'"},Vu=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},Bu=function(){return this.getFieldValue("TEXT")+"\n"},Gu=function(e){return e.getFieldValue("TEXT")+"\n"},Uu=function(e,t){return[e.getFieldValue("TEXT"),t.ORDER_ATOMIC]},wu=function(e,t){return(t.valueToCode(e,"VALUE",t.ORDER_ATOMIC)||"")+"\n"},Hu=function(){return""},ku=function(e,t){return["type("+(t.valueToCode(e,"VALUE",t.ORDER_MEMBER)||"___")+")",t.ORDER_ATOMIC]},Wu=function(e,t){for(var i=e.getFieldValue("NAME"),n=e.hasReturn_,s=new Array(e.itemCount_),_=0;_0?t.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+e+"while True:\n"+a.join("")+u.join("\n"):t.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+e+u.join("\n")},qu.scrubNakedValue=function(e){return e+"\n"},qu.quote_=function(e){var t="'";return-1!==e.indexOf("'")&&(-1===e.indexOf('"')?t='"':e=e.replace(/'/g,"\\'")),t+e+t},qu.multiline_quote_=function(e){return"'''"+(e=e.replace(/'''/g,"\\'\\'\\'"))+"'''"},qu.scrub_=function(e,t,i){var n="";if(!e.outputConnection||!e.outputConnection.targetConnection){(_=e.getCommentText())&&(_=fe.utils.string.wrap(_,qu.COMMENT_WRAP-3),n+=qu.prefixLines(_+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const zu="#74A55B",ju={init:function(){this.setColour(zu),this.appendDummyInput("").appendField(fe.Msg.MIXLY_MIDI),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(fe.Msg.MIXLY_RGB_PIN_COUNT)}},$u={init:function(){this.setColour(zu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(fe.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(fe.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Zu={init:function(){this.setColour(zu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(fe.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(fe.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(fe.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},er={init:function(){this.setColour(zu),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(fe.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},tr={init:function(){this.setColour(zu),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(fe.Msg.MIXLY_BACKSTAGE+fe.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_BACKSTAGE+fe.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},ir={init:function(){this.setColour(zu),this.appendValueInput("SUB"),this.appendValueInput("TICKS").setCheck(Number).appendField(fe.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(fe.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(fe.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},nr={init:function(){this.setColour(zu),this.appendValueInput("SUB"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},sr={init:function(){this.setColour(zu),this.appendValueInput("SUB"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_MUSIC_RESET)}},_r={init:function(){this.setColour(zu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},or={init:function(){this.setColour(zu),this.appendValueInput("SUB"),this.appendValueInput("percent").appendField(fe.Msg.MIXLY_MUSIC_VOLUME_SET),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},pr={init:function(){this.setColour(zu),this.appendDummyInput().appendField(fe.Msg.MIXLY_SETTING).appendField(fe.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(fe.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(fe.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_EXTERN_LED_SETONOFF)}},ar={init:function(){this.setColour(zu),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(fe.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(fe.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(fe.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},ur={init:function(){this.setColour(zu),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(fe.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(fe.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(fe.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},rr={init:function(){this.setColour(zu),this.appendDummyInput().appendField(fe.Msg.MIXLY_SETTING).appendField(fe.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(fe.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(fe.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_EXTERN_LED_SETBRIGHT)}},dr={init:function(){this.setColour(zu),this.appendValueInput("VAR").appendField(fe.Msg.MIXLY_SETUP+fe.Msg.MIXLY_SERVO),this.appendValueInput("PIN",Number).appendField(fe.Msg.MIXLY_PIN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},lr={init:function(){this.setColour(zu),this.appendValueInput("PIN",Number).appendField(fe.Msg.MIXLY_SERVO).appendField(fe.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("DEGREE",Number).setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_DEGREE_0_180),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_SERVO_MOVE)}},Ir={init:function(){this.setColour(zu),this.appendValueInput("VAR").appendField("360°"+fe.Msg.MIXLY_SERVO),this.appendValueInput("SPEED",Number).setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_SETTING+fe.Msg.blockpy_turtle_rotate+fe.Msg.MIXLY_SPEED+" (-10~10)"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_SERVO_360_TOOLTIP)}},Mr={init:function(){this.setColour(zu),this.appendValueInput("PIN",Number).appendField("180°"+fe.Msg.MIXLY_SERVO).appendField(fe.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_SERVO_MOVE)}},Tr={init:function(){this.setColour(zu),this.appendValueInput("PIN",Number).appendField("360°"+fe.Msg.MIXLY_SERVO).appendField(fe.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_SERVO_SPEED_TOOLIPS)}},hr={init:function(){this.setColour(zu),this.appendValueInput("PIN",Number).appendField("180°"+fe.Msg.MIXLY_SERVO).appendField(fe.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(fe.Msg.MIXLY_GET+fe.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},mr={init:function(){this.setColour(zu),this.appendValueInput("PIN",Number).appendField("360°"+fe.Msg.MIXLY_SERVO).appendField(fe.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(fe.Msg.MIXLY_GET+fe.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},Er={init:function(){this.setColour(zu),this.appendValueInput("SUB").appendField("初始化").setCheck("var"),this.appendDummyInput().appendField("电机驱动"),this.appendDummyInput().appendField("地址").appendField(new fe.FieldDropdown([["A","ms32006.ADDRESS_A"],["B","ms32006.ADDRESS_B"]]),"mode"),this.appendValueInput("SUB1").setCheck("var").setAlign(fe.inputs.Align.RIGHT).appendField("通信"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("初始化MS32006电机驱动,使用I2C通信")}},Or={init:function(){this.setColour(zu),this.appendValueInput("SUB").appendField("直流电机").setCheck("var"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_Direction).appendField(new fe.FieldDropdown([[fe.Msg.CLOCKWISE,"ms32006.MOT_CW"],[fe.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"],[fe.Msg.MOTOR_N,"ms32006.MOT_N"],[fe.Msg.MOTOR_P,"ms32006.MOT_P"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_STEPPER_SET_SPEED),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置直流电机的状态及转速(0-100)")}},Rr={init:function(){this.setColour(zu),this.appendValueInput("SUB").appendField("步进电机").setCheck("var"),this.appendDummyInput().appendField("选择").appendField(new fe.FieldDropdown([["A","ms32006.MOT_A"],["B","ms32006.MOT_B"]]),"mode"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_Direction).appendField(new fe.FieldDropdown([[fe.Msg.CLOCKWISE,"ms32006.MOT_CW"],[fe.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField("转速"),this.appendValueInput("steps").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField("步数"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置步进电机的状态、转速、步数(0-2047)")}},cr={init:function(){this.setColour(zu),this.appendDummyInput("").appendField(fe.Msg.MIXLY_RGB),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_PIN),this.appendValueInput("LEDCOUNT").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_COUNT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(fe.Msg.MIXLY_RGB_PIN_COUNT)}},gr={init:function(){this.setColour(zu),this.appendDummyInput("").appendField(fe.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("_LED_").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(fe.Msg.MIXLY_RGB_NUM_R_G_B_MP)}},Cr={init:function(){this.setColour(zu),this.appendDummyInput("").appendField(fe.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("RVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(fe.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},Sr={init:function(){this.setColour(zu),this.appendDummyInput("").appendField(fe.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(fe.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(fe.Msg.MIXLY_ESP32_MUSIC_WRI)}},Ar={init:function(){this.setColour(zu),this.appendDummyInput("").appendField(fe.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(fe.Msg.MIXLY_DURATION).appendField(fe.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Lr={init:function(){this.setColour(zu),this.appendDummyInput("").appendField(fe.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(fe.Msg.PYTHON_RANGE_STEP).appendField(fe.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Nr={init:function(){this.setColour(zu),this.appendDummyInput("").appendField(fe.Msg.CONTROLS_FOR_INPUT_WITH+"uart").appendField(new fe.FieldDropdown([["uart1","uart1"],["uart2","uart2"]]),"key"),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_SETUP+fe.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new fe.FieldDropdown([["SYN6288"+fe.Msg.MIXLY_AipSpeech_synthesis,"SYN6288"],["NS9300"+fe.Msg.MIXLY_MUSIC_PLAYER,"NS9300"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Dr={init:function(){this.setColour(zu),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_GET+fe.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_WHETHER).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_STOPPED,"0"],[fe.Msg.MIXLY_PLAYING,"1"],[fe.Msg.MIXLY_PAUSED,"2"]]),"key"),this.setInputsInline(!0),this.setOutput(!0)}},fr={init:function(){this.setColour(zu),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_STAT).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MP3_PLAY,"1"],[fe.Msg.MIXLY_MP3_PAUSE,"2"],[fe.Msg.MIXLY_STOP,"3"],[fe.Msg.MIXLY_MP3_PREV,"4"],[fe.Msg.MIXLY_MP3_NEXT,"5"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Fr={init:function(){this.setColour(zu),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendValueInput("volume").appendField(fe.Msg.MIXLY_MP3_VOL+fe.Msg.MIXLY_STAT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(fe.Msg.MIXLY_PLAYER_SET_VOLUME_TOOLTIP)}},Pr={init:function(){this.setColour(zu),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_MODE+fe.Msg.MIXLY_STAT).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MP3_LOOP_ALL,"0"],[fe.Msg.MIXLY_MP3_LOOP_ONE,"1"],[fe.Msg.MIXLY_PLAYER_DIRECTORY_LOOP,"2"],[fe.Msg.MIXLY_MP3_LOOP_RAM,"3"],[fe.Msg.MIXLY_PLAYER_SINGLE_STOP,"4"],[fe.Msg.MIXLY_PLAYER_SEQUENTIAL_PLAY,"5"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Yr={init:function(){this.setColour(zu),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MICROBIT_JS_START_MELODY,"play"],[fe.Msg.MIXLY_PLAYER_INSERT_MUSIC,"insert"]]),"key"),this.appendValueInput("song"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(fe.Msg.MIXLY_PLAYER_PLAY_MUSIC_TOOTIP)}},vr={},Xr={init:function(){this.setColour(zu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(fe.Msg.MIXLY_SET_VOLUME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},yr={init:function(){this.setColour(zu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendDummyInput().appendField(fe.Msg.MIXLY_GET_VOLUME),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},xr={init:function(){this.setColour(zu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(fe.Msg.MIXLY_PLAY_HINTS),this.appendDummyInput().appendField(fe.Msg.MIXLY_PROGRAM_BLOCK).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[fe.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_PLAY_HINTS_TOOLTIP)}},br={init:function(){this.setColour(zu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("data").setCheck(String).appendField(fe.Msg.MIXLY_AipSpeech_synthesis),this.appendValueInput("VOICE").setCheck(Number).appendField(fe.Msg.MIXLY_BACKGROUND_MUSIC),this.appendDummyInput().appendField(fe.Msg.MIXLY_PROGRAM_BLOCK).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[fe.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_PLAY_TTS_TOOLTIP)}},Vr={init:function(){this.setColour(zu),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.extern_addr),"PIN"),this.setOutput(!0,Number)}},Br={init:function(){this.setColour(zu),this.appendDummyInput().appendField(fe.Msg.ME_GO_MOTOR_EXTERN+fe.Msg.MIXLY_MOTOR).appendField(fe.Msg.PIN_NUMBERING).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_LEFT,"0"],[fe.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},Gr={init:function(){this.setColour(zu),this.appendDummyInput().appendField(fe.Msg.ME_GO_MOTOR_EXTERN+fe.Msg.MIXLY_MOTOR).appendField(fe.Msg.PIN_NUMBERING).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_LEFT,"0"],[fe.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_GET+fe.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},Ur={init:function(){this.setColour(zu),this.appendDummyInput().appendField(fe.Msg.ME_GO_MOTOR_EXTERN+fe.Msg.MIXLY_TRAFFIC_LIGHT).appendField(fe.Msg.PIN_NUMBERING).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_LEFT,"0"],[fe.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.LISTS_SET_INDEX_SET).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MICROBIT_Turn_off_display,"0"],[fe.Msg.MIXLY_TRAFFIC_LIGHT_RED_ON,"1"],[fe.Msg.MIXLY_TRAFFIC_LIGHT_RED_BLINK,"2"],[fe.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_ON,"3"],[fe.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_BLINK,"4"],[fe.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_ON,"5"],[fe.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_BLINK,"6"]]),"light"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},wr={init:function(){this.setColour(zu),this.appendDummyInput().appendField(fe.Msg.ME_GO_MOTOR_EXTERN).appendField(new fe.FieldDropdown([[fe.Msg.COLOUR_RGB_WHITE,"W"],[fe.Msg.COLOUR_RGB_RED,"R"],[fe.Msg.COLOUR_RGB_YELLOW,"Y"],[fe.Msg.COLOUR_RGB_GREEN,"G"],[fe.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(fe.Msg.PIN_NUMBERING).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_LEFT,"0"],[fe.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("value").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Hr={init:function(){this.setColour(zu),this.appendDummyInput().appendField(fe.Msg.ME_GO_MOTOR_EXTERN).appendField(new fe.FieldDropdown([[fe.Msg.COLOUR_RGB_WHITE,"W"],[fe.Msg.COLOUR_RGB_RED,"R"],[fe.Msg.COLOUR_RGB_YELLOW,"Y"],[fe.Msg.COLOUR_RGB_GREEN,"G"],[fe.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(fe.Msg.PIN_NUMBERING).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_LEFT,"0"],[fe.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(fe.Msg.MIXLY_GET+fe.Msg.BRIGHTNESS),this.setOutput(!0,Number),this.setInputsInline(!0)}},kr={init:function(){this.setColour(zu),this.appendDummyInput().appendField(fe.Msg.ME_GO_MOTOR_EXTERN+fe.Msg.MIXLY_SERVO_MOTOR).appendField(fe.Msg.PIN_NUMBERING).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_LEFT,"0"],[fe.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(fe.Msg.MIXLY_GET).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"[0]"],[fe.Msg.MIXLY_SPEED,"[1]"],[fe.Msg.MATH_SINGLE_OP_ABSOLUTE+fe.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[2]"],[fe.Msg.MIXLY_RELATIVE+fe.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[3]"],[fe.Msg.MIXLY_MIXBOT_SERVO_BLOCK_OR_NOT,"[4]"],[fe.Msg.MIXLY_MIXBOT_SERVO_FINISH_OR_NOT,"[5]"],[fe.Msg.MIXLY_ALL,""]]),"status"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Wr={init:function(){this.setColour(zu),this.appendDummyInput().appendField(fe.Msg.ME_GO_MOTOR_EXTERN+fe.Msg.MIXLY_SERVO_MOTOR).appendField(fe.Msg.PIN_NUMBERING).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_LEFT,"0"],[fe.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MIXBOT_SERVO_SET_STOP_MODE).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_KEEP,"0"],[fe.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_COAST,"1"],[fe.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_BRAKE,"2"]]),"status"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Kr={init:function(){this.setColour(zu),this.appendDummyInput().appendField(fe.Msg.ME_GO_MOTOR_EXTERN+fe.Msg.MIXLY_SERVO_MOTOR).appendField(fe.Msg.PIN_NUMBERING).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_LEFT,"0"],[fe.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(fe.Msg.MIXLY_STOP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Jr={init:function(){this.setColour(zu),this.appendDummyInput().appendField(fe.Msg.ME_GO_MOTOR_EXTERN+fe.Msg.MIXLY_SERVO_MOTOR).appendField(fe.Msg.MATH_SINGLE_OP_ABSOLUTE+fe.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+fe.Msg.MSG.run).appendField(fe.Msg.PIN_NUMBERING).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_LEFT,"0"],[fe.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MODE).setAlign(fe.inputs.Align.RIGHT).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_SPEED+fe.Msg.MIXLY_MODE,"0"],[fe.Msg.MIXLY_MICROBIT_JS_BLE_POWER+fe.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(fe.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(fe.inputs.Align.RIGHT).appendField(new fe.FieldDropdown([[fe.Msg.CLOCKWISE,"0"],[fe.Msg.MIXLY_MIXBOT_SERVO_NEAREST_PATH,"1"],[fe.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.appendValueInput("angle").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+fe.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_MIXBOT_SERVO_ABSOLUTE_ANGLE_TOOLTIP)}},Qr={init:function(){this.setColour(zu),this.appendDummyInput().appendField(fe.Msg.ME_GO_MOTOR_EXTERN+fe.Msg.MIXLY_SERVO_MOTOR).appendField(fe.Msg.MIXLY_RELATIVE+fe.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+fe.Msg.MSG.run).appendField(fe.Msg.PIN_NUMBERING).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_LEFT,"0"],[fe.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ORIGIN_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},qr={init:function(){this.setColour(zu),this.appendDummyInput().appendField(fe.Msg.ME_GO_MOTOR_EXTERN+fe.Msg.MIXLY_SERVO_MOTOR).appendField(fe.Msg.MIXLY_RELATIVE+fe.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+fe.Msg.MSG.run).appendField("("+fe.Msg.MIXLY_MIXBOT_SERVO_LIKE_ENCODING_MOTOR+")").appendField(fe.Msg.PIN_NUMBERING).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_LEFT,"0"],[fe.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MODE).setAlign(fe.inputs.Align.RIGHT).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_SPEED+fe.Msg.MIXLY_MODE,"0"],[fe.Msg.MIXLY_MICROBIT_JS_BLE_POWER+fe.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(fe.inputs.Align.RIGHT).appendField("%"),this.appendValueInput("angle").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+fe.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ANGLE_TOOLTIP)}},zr={init:function(){this.setColour(zu),this.appendDummyInput().appendField(fe.Msg.ME_GO_MOTOR_EXTERN+fe.Msg.MIXLY_SERVO_MOTOR).appendField(fe.Msg.MIXLY_RELATIVE+fe.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+fe.Msg.MSG.run).appendField("("+fe.Msg.MIXLY_MIXBOT_SERVO_LIKE_ORDINARY_MOTOR+")").appendField(fe.Msg.PIN_NUMBERING).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_LEFT,"0"],[fe.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MODE).setAlign(fe.inputs.Align.RIGHT).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_SPEED+fe.Msg.MIXLY_MODE,"0"],[fe.Msg.MIXLY_MICROBIT_JS_BLE_POWER+fe.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(fe.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(fe.inputs.Align.RIGHT).appendField(new fe.FieldDropdown([[fe.Msg.CLOCKWISE,"0"],[fe.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},jr={init:function(){this.setColour(zu),this.appendDummyInput().appendField(fe.Msg.MIXBOT).appendField(fe.Msg.ME_GO_MOTOR_EXTERN).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MOTOR,"ext_motor"],[fe.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[fe.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[fe.Msg.COLOUR_RGB_RED+"LED","R_LED"],[fe.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[fe.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[fe.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[fe.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MIXBOT_EXTERN_GET_ADDR),this.setOutput(!0),this.setInputsInline(!0)}},$r={init:function(){this.setColour(zu),this.appendDummyInput().appendField(fe.Msg.MIXBOT).appendField(fe.Msg.ME_GO_MOTOR_EXTERN).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MOTOR,"ext_motor"],[fe.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[fe.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[fe.Msg.COLOUR_RGB_RED+"LED","R_LED"],[fe.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[fe.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[fe.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[fe.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MIXBOT_EXTERN_SET_ADDR),this.appendValueInput("old").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE),this.appendValueInput("new").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_UPDATE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Zr={init:function(){this.setColour(zu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_SETUP+fe.Msg.MIXLY_AT).appendField(fe.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},ed={init:function(){this.setColour(zu),this.appendDummyInput().appendField(fe.Msg.MIXLY_SETTING),this.appendValueInput("pin").appendField("LED"),this.appendValueInput("bright").appendField(fe.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},td={init:function(){this.setColour(zu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_SERVO+fe.Msg.MIXLY_SETUP+fe.Msg.MIXLY_AT).appendField(fe.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},id={init:function(){this.setColour(zu),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_SERVO),this.appendValueInput("angle").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_DISPLAY_MATRIX_ROTATE),this.appendDummyInput().appendField(fe.Msg.DRAW_POINTER_ANGLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},nd={init:function(){this.setColour(zu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_MOTOR+fe.Msg.MIXLY_SETUP+fe.Msg.MIXLY_AT).appendField(fe.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},sd={init:function(){this.setColour(zu),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_MOTOR),this.appendValueInput("speed").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+fe.Msg.MIXLY_SPEED),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},_d="#6C9858",od={init:function(){this.setColour(_d),this.appendDummyInput("").appendField(new fe.FieldDropdown([["L1","1"],["L2","2"]]),"op"),this.setOutput(!0)}},pd={init:function(){this.setColour(_d),this.appendDummyInput("").appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_ESP32_ON,"1"],[fe.Msg.MIXLY_ESP32_OFF,"0"],[fe.Msg.MIXLY_ESP32_TOGGLE,"-1"]]),"flag"),this.setOutput(!0),this.setTooltip(fe.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},ad={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(fe.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(fe.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_LED_SETONOFF)}},ud={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(fe.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(fe.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_LED_GETBRIGHT)}},rd={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(fe.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(fe.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_LED_GETONOFF)}},dd={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(fe.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(fe.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_SETTING+fe.Msg.MIXLY_BUILDIN_LED+fe.Msg.MIXLY_BRIGHTNESS+"(0-100%)")}},ld={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(fe.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput("").appendField(fe.Msg.MIXLY_LCD_SETCOLOR).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_LIGHT_RED,"1"],[fe.Msg.MIXLY_LIGHT_GREEN,"2"],[fe.Msg.MIXLY_LIGHT_BLUE,"3"],[fe.Msg.MIXLY_LIGHT_YELLOW,"4"],[fe.Msg.MIXLY_LIGHT_CYAN,"5"],[fe.Msg.MIXLY_LIGHT_PURPLE,"6"],[fe.Msg.MIXLY_LIGHT_WHITE,"7"]]),"colorvalue"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},Id={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MIXLY_SETTING).appendField(fe.Msg.MIXLY_BUILDIN_LED).appendField(new fe.FieldDropdown([[fe.Msg.COLOUR_RGB_RED,"r"],[fe.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(fe.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_LED_SETONOFF)}},Md={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(fe.Msg.MIXLY_BUILDIN_LED).appendField(new fe.FieldDropdown([[fe.Msg.COLOUR_RGB_RED,"r"],[fe.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(fe.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_LED_GETONOFF)}},Td={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(fe.Msg.MIXLY_BUILDIN_LED).appendField(new fe.FieldDropdown([[fe.Msg.COLOUR_RGB_RED,"r"],[fe.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(fe.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_LED_GETONOFF)}},hd={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MIXLY_SETTING).appendField(fe.Msg.MIXLY_BUILDIN_LED).appendField(new fe.FieldDropdown([[fe.Msg.COLOUR_RGB_RED,"r"],[fe.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(fe.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_SETTING+fe.Msg.MIXLY_BUILDIN_LED+fe.Msg.MIXLY_BRIGHTNESS+"(0-10)")}},md={init:function(){this.setColour(_d),this.appendDummyInput("").appendField(new fe.FieldDropdown([["L1","20"],["L2","21"]]),"op"),this.setOutput(!0)}},Ed={init:function(){this.setColour(_d),this.appendDummyInput("").appendField(fe.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(Fe.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgo_cc":case"micropython:esp32s2:mixgo_ce":this.setTooltip(fe.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgo_me":default:this.setTooltip(fe.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(fe.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},Od={init:function(){this.setColour(_d),this.appendDummyInput("").appendField(fe.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(fe.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},Rd={init:function(){this.setColour(_d),this.appendDummyInput("").appendField(fe.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(fe.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(fe.Msg.MIXLY_DURATION).appendField(fe.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},cd={init:function(){this.setColour(_d),this.appendDummyInput("").appendField(fe.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(fe.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(fe.Msg.PYTHON_RANGE_STEP).appendField(fe.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},gd={init:function(){this.setColour(_d),this.appendDummyInput("").appendField(fe.Msg.MIXLY_RGB),this.appendDummyInput().appendField(fe.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(fe.Msg.MIXLY_ESP32_MUSIC_WRI)}},Cd={init:function(){this.setColour(_d),this.appendDummyInput("").appendField(fe.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(Fe.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgocc":this.setTooltip(fe.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgome":default:this.setTooltip(fe.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(fe.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},Sd={init:function(){this.setColour(_d),this.appendDummyInput("").appendField(fe.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(fe.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},Ad={init:function(){this.setColour(_d),this.appendDummyInput("").appendField(fe.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(fe.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(fe.Msg.PYTHON_RANGE_STEP).appendField(fe.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Ld={init:function(){this.setColour(_d),this.appendValueInput("TICKS").setCheck(Number).appendField(fe.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(fe.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(fe.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},Nd={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},Dd={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_MUSIC_RESET)}},fd={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(fe.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(fe.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Fd={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(fe.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(fe.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(fe.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},Pd={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Yd={init:function(){this.setColour(_d),this.appendValueInput("LIST").appendField(fe.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},vd={init:function(){this.setColour(_d),this.appendValueInput("LIST").appendField(fe.Msg.MIXLY_BACKSTAGE+fe.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Xd={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MOTOR_DC).appendField(new fe.FieldDropdown([["1","1"],["2","2"],["3","3"]]),"wheel"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_Direction).appendField(new fe.FieldDropdown([[fe.Msg.CLOCKWISE,"CW"],[fe.Msg.ANTI_CLOCKWISE,"CCW"],[fe.Msg.MOTOR_P,"P"],[fe.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},yd={init:function(){this.setColour(_d),this.appendDummyInput().appendField("MixGo Car").appendField(new fe.FieldDropdown([[fe.Msg.blockpy_forward,"F"],[fe.Msg.blockpy_backward,"B"],[fe.Msg.blockpy_left,"L"],[fe.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},xd={init:function(){this.setColour(_d),this.appendDummyInput("").appendField("MixGo Car").appendField(new fe.FieldDropdown([[fe.Msg.MOTOR_P,"P"],[fe.Msg.MOTOR_N,"N"]]),"VAR"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},bd={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MOTOR_DC).appendField(new fe.FieldDropdown([[fe.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[fe.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_Direction).appendField(new fe.FieldDropdown([[fe.Msg.CLOCKWISE,"CW"],[fe.Msg.ANTI_CLOCKWISE,"CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Vd={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MOTOR_DC).appendField(new fe.FieldDropdown([[fe.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[fe.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(fe.Msg.MIXLY_STOP).appendField(new fe.FieldDropdown([[fe.Msg.MOTOR_P,"P"],[fe.Msg.MOTOR_N,"N"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Bd={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MIXLY_MIXBOT_MOTOR_STATUS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_MIXBOT_MOTOR_STATUS_TOOLTIP)}},Gd={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MIXBOT).appendField(new fe.FieldDropdown([[fe.Msg.blockpy_forward,"F"],[fe.Msg.blockpy_backward,"B"],[fe.Msg.blockpy_left,"L"],[fe.Msg.blockpy_right,"R"]]),"VAR"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[fe.Msg.MIXLY_SPEED,"SPEED"],[fe.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},Ud={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MIXBOT).appendField(new fe.FieldDropdown([[fe.Msg.MOTOR_P,"P"],[fe.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},wd={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MIXBOT).appendField(fe.Msg.MIXLY_MOTOR).appendField(new fe.FieldDropdown([[fe.Msg.TEXT_TRIM_LEFT,"1"],[fe.Msg.TEXT_TRIM_RIGHT,"2"],[fe.Msg.TEXT_TRIM_BOTH,"0"]]),"wheel"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[fe.Msg.MIXLY_SPEED,"SPEED"],[fe.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},Hd={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MIXLY_MIXBOT_BUZZER),this.appendDummyInput().appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,"0"],[fe.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,"1"]]),"on_off"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},kd={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.BITBOT).appendField(new fe.FieldDropdown([[fe.Msg.blockpy_forward,"F"],[fe.Msg.blockpy_backward,"B"],[fe.Msg.blockpy_left,"L"],[fe.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Wd={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.BITBOT).appendField(new fe.FieldDropdown([[fe.Msg.MOTOR_P,"P"],[fe.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Kd={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.BITBOT).appendField(fe.Msg.MIXLY_MOTOR).appendField(new fe.FieldDropdown([[fe.Msg.TEXT_TRIM_LEFT,"0"],[fe.Msg.TEXT_TRIM_RIGHT,"1"]]),"wheel"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_Direction).appendField(new fe.FieldDropdown([[fe.Msg.CLOCKWISE,"CW"],[fe.Msg.ANTI_CLOCKWISE,"CCW"],[fe.Msg.MOTOR_P,"P"],[fe.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Jd={init:function(){this.setColour(_d),this.appendValueInput("bright").appendField(fe.Msg.MIXLY_MIXBOT_SOUND_SET_LOUDNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_LED_SETONOFF)}},Qd={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MIXLY_MIXBOT_SOUND_LOUDNESS+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_LED_GETONOFF)}},qd={init:function(){this.setColour(_d),this.appendValueInput("bright").appendField(fe.Msg.MIXLY_SETTING+fe.Msg.MIXLY_MIXBOT_BUZZER+fe.Msg.MIXLY_MP3_VOL),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_LED_SETONOFF)}},zd={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MIXLY_GET+fe.Msg.MIXLY_MIXBOT_BUZZER+fe.Msg.MIXLY_MP3_VOL+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_LED_GETONOFF)}},jd={init:function(){this.setColour(_d),this.appendValueInput("PATH").appendField(fe.Msg.MIXLY_RECORD_AUDIO).appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendValueInput("TIME").setCheck(Number).appendField(fe.Msg.MIXLY_GET_PRESSES_TIME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},$d={init:function(){this.setColour(_d),this.appendValueInput("PATH").appendField(fe.Msg.MIXLY_PLAY_AUDIO).appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Zd={init:function(){this.setColour(_d),this.appendValueInput("PATH").appendField(fe.Msg.MIXLY_PLAY_ONLINE_AUDIO).appendField("URL"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},el={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(fe.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(fe.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},tl={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},il={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.LISTS_SET_INDEX_SET+fe.Msg.ME_GO_MOTOR_EXTERN).appendField(fe.Msg.PIN_NUMBERING);switch(Fe.Boards.getSelectedBoardKey()){case"micropython:esp32c2:mixgo_mini":this.appendDummyInput().appendField(new fe.FieldDropdown([["1","1"],["2","2"]]),"index");break;case"micropython:esp32c5:mixgo_sowl":this.appendDummyInput().appendField(new fe.FieldDropdown([["1","1"],["2","2"],["4","4"],["5","5"]]),"index");break;default:this.appendDummyInput().appendField(new fe.FieldDropdown([["1","1"],["2","2"],["3","3"],["4","4"]]),"index")}this.appendValueInput("duty").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.blynk_IOT_IR_POWER+fe.Msg.MIXLY_PINMODEOUT),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},nl={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MIXLY_GET+fe.Msg.ME_GO_MOTOR_EXTERN).appendField(fe.Msg.PIN_NUMBERING);switch(Fe.Boards.getSelectedBoardKey()){case"micropython:esp32c2:mixgo_mini":this.appendDummyInput().appendField(new fe.FieldDropdown([["1","1"],["2","2"]]),"index");break;case"micropython:esp32c5:mixgo_sowl":this.appendDummyInput().appendField(new fe.FieldDropdown([["1","1"],["2","2"],["4","4"],["5","5"]]),"index");break;default:this.appendDummyInput().appendField(new fe.FieldDropdown([["1","1"],["2","2"],["3","3"],["4","4"]]),"index")}this.appendDummyInput().setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.blynk_IOT_IR_POWER+fe.Msg.MIXLY_PINMODEOUT+fe.Msg.MIXLY_DUTY_RATIO),this.setOutput(!0,Number),this.setInputsInline(!0)}},sl={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.LISTS_SET_INDEX_SET+fe.Msg.ME_GO_MOTOR_EXTERN).appendField(fe.Msg.MIXLY_ALL+fe.Msg.PIN_NUMBERING),this.appendValueInput("duty").setCheck(Number).setAlign(fe.ALIGN_RIGHT).appendField(fe.Msg.blynk_IOT_IR_POWER+fe.Msg.MIXLY_PINMODEOUT+fe.Msg.MIXLY_FREQUENCY),this.appendDummyInput().appendField("Hz"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},_l={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.LISTS_SET_INDEX_SET+fe.Msg.ME_GO_MOTOR_EXTERN).appendField(new fe.FieldDropdown([["1-2","1"],["4-5","4"]]),"index"),this.appendValueInput("duty").setCheck(Number).setAlign(fe.ALIGN_RIGHT).appendField(fe.Msg.blynk_IOT_IR_POWER+fe.Msg.MIXLY_PINMODEOUT+fe.Msg.MIXLY_FREQUENCY),this.appendDummyInput().appendField("Hz"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},ol={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.ANALOG+fe.Msg.MIXLY_KEYBOARD_INPUT),this.appendValueInput("special"),this.appendValueInput("general"),this.appendDummyInput().appendField(fe.Msg.MIXLY_RELEASE).appendField(new fe.FieldDropdown([[fe.Msg.MICROPYTHON_DISPLAY_YES,"True"],[fe.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"release"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.ANALOG+fe.Msg.MIXLY_KEYBOARD_INPUT)}},pl={init:function(){this.setColour(_d),this.appendDummyInput("").appendField(fe.Msg.MIXLY_SPECIAL_KEY).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_SPECIAL_KEY0,"0x00"],[fe.Msg.MIXLY_SPECIAL_KEY1,"0x01"],[fe.Msg.MIXLY_SPECIAL_KEY2,"0x02"],[fe.Msg.MIXLY_SPECIAL_KEY4,"0x04"],[fe.Msg.MIXLY_SPECIAL_KEY8,"0x08"],[fe.Msg.MIXLY_SPECIAL_KEY16,"0x10"],[fe.Msg.MIXLY_SPECIAL_KEY32,"0x20"],[fe.Msg.MIXLY_SPECIAL_KEY64,"0x40"],[fe.Msg.MIXLY_SPECIAL_KEY128,"0x80"]]),"op"),this.setOutput(!0)}},al={init:function(){this.setColour(_d),this.appendDummyInput("").appendField(fe.Msg.MIXLY_GENERAL_KEY).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_SPECIAL_KEY0,"0x00"],["A","0x04"],["B","0x05"],["C","0x06"],["D","0x07"],["E","0x08"],["F","0x09"],["G","0x0A"],["H","0x0B"],["I","0x0C"],["J","0x0D"],["K","0x0E"],["L","0x0F"],["M","0x10"],["N","0x11"],["O","0x12"],["P","0x13"],["Q","0x14"],["R","0x15"],["S","0x16"],["T","0x17"],["U","0x18"],["V","0x19"],["W","0x1A"],["X","0x1B"],["Y","0x1C"],["Z","0x1D"],["1 !","0x1E"],["2 @","0x1F"],["3 #","0x20"],["4 $","0x21"],["5 %","0x22"],["6 ^","0x23"],["7 &","0x24"],["8 *","0x25"],["9 (","0x26"],["0 )","0x27"],["ENTER","0x28"],["ESC","0x29"],["BACKSPACE","0x2A"],["TAB","0x2B"],["SPACE","0x2C"],["- _","0x2D"],["= +","0x2E"],["[ {","0x2F"],["] }","0x30"],["\\ |","0x31"],["; :","0x33"],["' \"","0x34"],["` ~","0x35"],[", <","0x36"],[". >","0x37"],["/ ?","0x38"],["CAPS_LOCK","0x39"],["F1","0x3A"],["F2","0x3B"],["F3","0x3C"],["F4","0x3D"],["F5","0x3E"],["F6","0x3F"],["F7","0x40"],["F8","0x41"],["F9","0x42"],["F10","0x43"],["F11","0x44"],["F12","0x45"],["PRINTSCREEN","0x46"],["SCROLL_LOCK","0x47"],["PAUSE","0x48"],["INSERT","0x49"],["HOME","0x4A"],["PAGE_UP","0x4B"],["DELETE","0x4C"],["END","0x4D"],["PAGE_DOWN","0x4E"],["RIGHT","0x4F"],["LEFT","0x50"],["DOWN","0x51"],["UP","0x52"],["NUM_LOCK","0x53"],["/","0x54"],["*","0x55"],["-","0x56"],["+","0x57"],["ENTER","0x58"],["1","0x59"],["2","0x5A"],["3","0x5B"],["4","0x5C"],["5","0x5D"],["6","0x5E"],["7","0x5F"],["8","0x60"],["9","0x61"],["0","0x62"],[".","0x63"]]),"op"),this.setOutput(!0)}},ul={init:function(){this.setColour(_d),this.itemCount_=2,this.updateShape_(),this.setOutput(!0),this.setMutator(new fe.icons.MutatorIcon(["generalkey_create_with_item"],this)),this.setTooltip(fe.Msg.GENERALKEY_TUPLE_CREATE_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("generalkey_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;nnew Array(32).fill(0)))},HE={init:function(){this.jsonInit({colour:YE,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SAD","SAD"],["SMILE","SMILE"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["SURPRISED","SURPRISED"],["ASLEEP","ASLEEP"],["ANGRY","ANGRY"],["CONFUSED","CONFUSED"],["NO","NO"],["YES","YES"]],type:"field_dropdown"}],output:["esp32_image","List"],helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#attributes",tooltip:fe.Msg.MIXLY_MICROBIT_Built_in_image1,message0:fe.Msg.MIXLY_MICROBIT_Built_in_image})}},kE={init:function(){this.setColour(YE),this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new fe.FieldDropdown(Fe.Profile.default.builtinimg),"image"),this.setOutput(!0,["esp32_image","List"])}},WE={init:function(){this.setColour(YE),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(fe.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new fe.FieldDropdown(WE.OPERATORS),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{"+":fe.Msg.MIXLY_MICROBIT_image_add,"-":fe.Msg.MIXLY_MICROBIT_image_reduce}[t]}))},OPERATORS:[[fe.Msg.MICROBIT_DISPLAY_UNION,"add"],[fe.Msg.MICROBIT_DISPLAY_MINUS,"sub"]]},KE={init:function(){this.setColour(YE),this.appendValueInput("A").setCheck("esp32_image").appendField(fe.Msg.MIXLY_MICROBIT_Invert_image1),this.setInputsInline(!0),this.setOutput(!0,"esp32_image")}},JE={init:function(){this.setColour(YE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(fe.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(fe.Msg.DISPLAY_IMAGE_LET2).appendField(new fe.FieldDropdown(JE.OPERATORS),"OP"),this.appendValueInput("val").appendField(fe.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(fe.Msg.DISPLAY_IMAGE_UNIT),["Python ESP32-S3","Python ESP32-C5"].includes(Fe.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(fe.Msg.MIXLY_synchronize);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i=fe.Msg.DISPLAY_IMAGE_LET,n=fe.Msg.DISPLAY_IMAGE_LET2,s=fe.Msg.DISPLAY_IMAGE_LET3;return i+n+{shift_up:fe.Msg.MIXLY_UP,shift_down:fe.Msg.MIXLY_DOWN,shift_left:fe.Msg.MIXLY_LEFT,shift_right:fe.Msg.MIXLY_RIGHT}[t]+s}))},OPERATORS:[[fe.Msg.MIXLY_UP,"shift_up"],[fe.Msg.MIXLY_DOWN,"shift_down"],[fe.Msg.MIXLY_LEFT,"shift_left"],[fe.Msg.MIXLY_RIGHT,"shift_right"]]},QE={init:function(){this.setColour(YE),this.appendValueInput("x").setCheck(Number).appendField(fe.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(fe.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(fe.Msg.MIXLY_ESP32_JS_MONITOR_GET_POINT),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(fe.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},qE={init:function(){this.setColour(YE),this.appendValueInput("x").setCheck(Number).appendField(fe.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(fe.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(fe.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},zE={init:function(){this.setColour(YE),this.appendDummyInput().appendField(fe.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(fe.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},jE={init:function(){this.setColour(YE),this.appendValueInput("x").setCheck(Number).appendField(fe.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},$E={init:function(){this.setColour(YE),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_Clear_display),["Python ESP32-S3","Python ESP32-C5"].includes(Fe.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(fe.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_MICROBIT_Clear_display)}},ZE={init:function(){this.setColour(YE),this.appendDummyInput().appendField(fe.Msg.MIXLY_SHOW+fe.Msg.MIXLY_DISPLAY_MATRIX_WRITE_NOW),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},eO={init:function(){this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let e=0;e<5;e++){let t=this.appendDummyInput();for(let i=0;i<8;i++)t.appendField(new fe.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),e+"-"+i)}this.appendDummyInput().appendField(`(${fe.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(YE),this.setTooltip(fe.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(fe.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},tO={init:function(){this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(fe.inputs.Align.CENTRE).appendField(new fe.FieldBitmap(tO.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(YE),this.setTooltip(fe.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(8).fill(0)))},iO={init:function(){this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let e=0;e<8;e++){let t=this.appendDummyInput();for(let i=0;i<12;i++)t.appendField(new fe.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),e+"-"+i)}this.appendDummyInput().appendField(`(${fe.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(YE),this.setTooltip(fe.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(fe.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},nO={init:function(){this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(fe.inputs.Align.CENTRE).appendField(new fe.FieldBitmap(nO.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(YE),this.setTooltip(fe.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(12).fill(0)))},sO={init:function(){this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let e=0;e<8;e++){let t=this.appendDummyInput();for(let i=0;i<16;i++)t.appendField(new fe.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),e+"-"+i)}this.appendDummyInput().appendField(`(${fe.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0,"esp32_image"),this.setColour(YE),this.setTooltip(fe.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(fe.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},_O={init:function(){this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(fe.inputs.Align.CENTRE).appendField(new fe.FieldBitmap(_O.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(YE),this.setTooltip(fe.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(16).fill(0)))},oO={init:function(){this.setColour(YE),this.appendDummyInput().appendField(fe.Msg.OLED_SET_FONT).appendField(new fe.FieldDropdown(oO.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[["4x5"+fe.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'4x5'"],["5x5"+fe.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'5x5'"],["5x8"+fe.Msg.MIXGO_ME_DISPLAY_VERTICAL,"'5x8'"]]},pO={init:function(){this.setColour(YE),this.appendValueInput("data").appendField(fe.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.OLED_BITMAP_OR_STRING)}},aO={init:function(){this.setColour(YE),this.appendValueInput("data").appendField(fe.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(fe.Msg.MIXLY_MICROBIT_JS_NUMBER),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.OLED_BITMAP_OR_STRING)}},uO={init:function(){this.setColour(YE),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(fe.Msg.OLED_DRAWSTR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.OLED_BITMAP_OR_STRING)}},rO={init:function(){this.setColour(YE),this.appendValueInput("data").appendField(fe.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(fe.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(fe.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(fe.Msg.TEXT_CENTER).appendField(new fe.FieldDropdown([[fe.Msg.MICROPYTHON_DISPLAY_YES,"True"],[fe.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},dO={init:function(){this.setColour(YE),this.appendValueInput("data").appendField(fe.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(fe.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(fe.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(fe.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},lO={init:function(){this.setColour(YE),this.appendValueInput("data").appendField(fe.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(fe.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(fe.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},IO={init:function(){this.setColour(YE),this.appendValueInput("x").setCheck(Number).appendField(fe.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(fe.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(fe.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},MO={init:function(){this.jsonInit({colour:YE,args0:[{name:"state",options:[[fe.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[fe.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"shape",options:[[fe.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[fe.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"}],inputsInline:!0,helpUrl:fe.Msg.mpython_HELPURL,tooltip:fe.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:fe.Msg.MPYTHON_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},TO={init:function(){this.jsonInit({colour:YE,args0:[{name:"state",options:[[fe.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[fe.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"dir_h_v",options:[[fe.Msg.mpython_vertical,"0"],[fe.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"}],inputsInline:!0,helpUrl:fe.Msg.mpython_HELPURL,tooltip:fe.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:fe.Msg.MPYTHON_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},hO={init:function(){this.jsonInit({colour:YE,args0:[{name:"state",options:[[fe.Msg.mpython_display_hline_1,"1"],[fe.Msg.mpython_display_hline_0,"0"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"}],inputsInline:!0,helpUrl:fe.Msg.mpython_HELPURL,tooltip:fe.Msg.mpython_display_line_TOOLTIP,message0:fe.Msg.mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},mO={init:function(){this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new fe.FieldDropdown(mO.IMAGES),"path"),this.setColour(YE),this.setOutput(!0)},IMAGES:[["Heart","expression_picture.Heart"],["Angry","expression_picture.Angry"],["Bored","expression_picture.Bored"],["Confused","expression_picture.Confused"],["Happy","expression_picture.Happy"],["Paper","expression_picture.Paper"],["Rock","expression_picture.Rock"],["Sad","expression_picture.Sad"],["Scissors","expression_picture.Scissors"],["Silly","expression_picture.Silly"],["Sleep","expression_picture.Sleep"],["Small_heart","expression_picture.Small_heart"],["Small_paper","expression_picture.Small_paper"],["Small_rock","expression_picture.Small_rock"],["Small_scissors","expression_picture.Small_scissors"],["Smile","expression_picture.Smile"],["Surprise","expression_picture.Surprise"],["Wonderful","expression_picture.Wonderful"],["Eyes_Angry","eye_picture.Eyes_Angry"],["Awake","eye_picture.Awake"],["Black_eye","eye_picture.Black_eye"],["Bottom_left","eye_picture.Bottom_left"],["Bottom_right","eye_picture.Bottom_right"],["Crazy_1","eye_picture.Crazy_1"],["Crazy_2","eye_picture.Crazy_2"],["Disappointed","eye_picture.Disappointed"],["Dizzy","eye_picture.Dizzy"],["Down","eye_picture.Down"],["Evil","eye_picture.Evil"],["Hurt","eye_picture.Hurt"],["Knocked_out","eye_picture.Knocked_out"],["Love","eye_picture.Love"],["Middle_left","eye_picture.Middle_left"],["Middle_right","eye_picture.Middle_right"],["Neutral","eye_picture.Neutral"],["Nuclear","eye_picture.Nuclear"],["Pinch_left","eye_picture.Pinch_left"],["Pinch_middle","eye_picture.Pinch_middle"],["Pinch_right","eye_picture.Pinch_right"],["Tear","eye_picture.Tear"],["Tired_left","eye_picture.Tired_left"],["Tired_middle","eye_picture.Tired_middle"],["Tired_right","eye_picture.Tired_right"],["Toxic","eye_picture.Toxic"],["Up","eye_picture.Up"],["Winking","eye_picture.Winking"],["Accept","informatio_picture.Accept"],["Backward","informatio_picture.Backward"],["Decline","informatio_picture.Decline"],["Forward","informatio_picture.Forward"],["Left","informatio_picture.Left"],["No_go","informatio_picture.No_go"],["Question_mark","informatio_picture.Question_mark"],["Right","informatio_picture.Right"],["Stop_1","informatio_picture.Stop_1"],["Stop_2","informatio_picture.Stop_2"],["Thumbs_down","informatio_picture.Thumbs_down"],["Thumbs_up","informatio_picture.Thumbs_up"],["Warning","informatio_picture.Warning"],["Bomb","object_picture.Bomb"],["Boom","object_picture.Boom"],["Fire","object_picture.Fire"],["Flowers","object_picture.Flowers"],["Forest","object_picture.Forest"],["Lightning","object_picture.Lightning"],["Light_off","object_picture.Light_off"],["Light_on","object_picture.Light_on"],["Night","object_picture.Night"],["Pirate","object_picture.Pirate"],["Snow","object_picture.Snow"],["Target","object_picture.Target"],["Bar_0","progres_picture.Bar_0"],["Bar_1","progres_picture.Bar_1"],["Bar_2","progres_picture.Bar_2"],["Bar_3","progres_picture.Bar_3"],["Bar_4","progres_picture.Bar_4"],["Dial_0","progres_picture.Dial_0"],["Dial_1","progres_picture.Dial_1"],["Dial_2","progres_picture.Dial_2"],["Dial_3","progres_picture.Dial_3"],["Dial_4","progres_picture.Dial_4"],["Dots_0","progres_picture.Dots_0"],["Dots_1","progres_picture.Dots_1"],["Dots_2","progres_picture.Dots_2"],["Dots_3","progres_picture.Dots_3"],["Hourglass_0","progres_picture.Hourglass_0"],["Hourglass_1","progres_picture.Hourglass_1"],["Hourglass_2","progres_picture.Hourglass_2"],["Timer_0","progres_picture.Timer_0"],["Timer_1","progres_picture.Timer_1"],["Timer_2","progres_picture.Timer_2"],["Timer_3","progres_picture.Timer_3"],["Timer_4","progres_picture.Timer_4"],["Water_level_0","progres_picture.Water_level_0"],["Water_level_1","progres_picture.Water_level_1"],["Water_level_2","progres_picture.Water_level_2"],["Water_level_3","progres_picture.Water_level_3"],["YES","informatio_picture.YES"],["NO","informatio_picture.NO"]]},EO={init:function(){this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let e=0;e<5;e++){let t=this.appendDummyInput();for(let i=0;i<5;i++)t.appendField(new fe.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),e+"-"+i)}this.appendDummyInput().appendField(`(${fe.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(YE),this.setTooltip(fe.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(fe.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},OO={init:function(){this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(fe.inputs.Align.CENTRE).appendField(new fe.FieldBitmap(OO.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(YE),this.setTooltip(fe.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(5).fill(0)))},RO={init:function(){this.setColour(YE),this.appendDummyInput().appendField(fe.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(fe.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},cO={init:function(){this.setColour(YE),this.appendDummyInput().appendField(fe.Msg.MIXLY_MIXBOT_AMBIENTBRIGHT),this.setInputsInline(!0),this.setOutput(!0,Number)}},gO={init:function(){this.setColour(YE),this.appendValueInput("x").setCheck(Number).appendField(fe.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},CO={init:function(){this.setColour(YE),this.appendDummyInput().appendField(fe.Msg.MIXLY_MIXBOT_SCREEN_ROTATE).appendField(new fe.FieldDropdown(CO.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[[fe.Msg.mixpy_PL_PIE_SHADOW_N,"0"],[fe.Msg.CLOCKWISE+"90"+fe.Msg.blockpy_setheading_degree,"1"],[fe.Msg.CLOCKWISE+"180"+fe.Msg.blockpy_setheading_degree,"2"],[fe.Msg.CLOCKWISE+"270"+fe.Msg.blockpy_setheading_degree,"3"]]},SO={init:function(){this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let e=0;e<12;e++){let t=this.appendDummyInput();for(let i=0;i<12;i++)t.appendField(new fe.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),e+"-"+i)}this.appendDummyInput().appendField(`(${fe.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(YE),this.setTooltip(fe.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(fe.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},AO={init:function(){this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(fe.inputs.Align.CENTRE).appendField(new fe.FieldBitmap(AO.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(YE),this.setTooltip(fe.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:12},(()=>new Array(12).fill(0)))},LO={init:function(){this.setColour(YE),this.appendValueInput("data").appendField(fe.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(fe.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(fe.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Fe.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(fe.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},NO={init:function(){this.setColour(YE),this.appendValueInput("x").setCheck(Number).appendField(fe.Msg.OLED_BITMAP).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("direct").setCheck(String).appendField(fe.Msg.MIXLY_AipImageClassify_Image+fe.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},DO={init:function(){this.setColour(YE),this.appendValueInput("data").appendField(fe.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(fe.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(fe.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(fe.Msg.TEXT_CENTER).appendField(new fe.FieldDropdown([[fe.Msg.MICROPYTHON_DISPLAY_YES,"True"],[fe.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.appendValueInput("VAR").appendField(fe.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Fe.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(fe.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},fO={init:function(){this.setColour(YE),this.appendValueInput("data").appendField(fe.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(fe.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(fe.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("VAR").appendField(fe.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},FO={init:function(){this.jsonInit({colour:YE,args0:[{name:"shape",options:[[fe.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[fe.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:fe.Msg.mpython_HELPURL,tooltip:fe.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:fe.Msg.ONBOARD_TFT_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},PO={init:function(){this.jsonInit({colour:YE,args0:[{name:"dir_h_v",options:[[fe.Msg.mpython_vertical,"0"],[fe.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:fe.Msg.mpython_HELPURL,tooltip:fe.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:fe.Msg.ONBOARD_TFT_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},YO={init:function(){this.jsonInit({colour:YE,args0:[{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:fe.Msg.mpython_HELPURL,tooltip:fe.Msg.mpython_display_line_TOOLTIP,message0:fe.Msg.onboard_mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},vO={init:function(){this.setColour(YE),this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("x").setCheck(Number).appendField(fe.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(fe.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(fe.Msg.HTML_COLOUR),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(fe.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},XO={init:function(){this.setColour(YE),this.appendValueInput("x").setCheck(Number).appendField(fe.Msg.MIXLY_LCD_SETCOLOR).appendField(fe.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(fe.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("VAR").appendField(fe.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Fe.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(fe.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},yO={init:function(){this.setColour(YE),this.appendValueInput("VAR").appendField(fe.Msg.MIXLY_SCREEN_FILL),["Python ESP32-S3","Python ESP32-C5"].includes(Fe.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(fe.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},xO={init:function(){this.setColour(YE),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_INIT_CLOCK),this.appendDummyInput().appendField(fe.Msg.MIXLY_CENTER_POS),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(fe.Msg.OLED_CIRCLE_RADIUS),this.appendValueInput("VAR").appendField(fe.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},bO={init:function(){this.setColour(YE),this.appendValueInput("SUB"),this.appendDummyInput().appendField(fe.Msg.GET_RTCTIME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},VO={init:function(){this.setColour(YE),this.appendValueInput("SUB"),this.appendDummyInput().appendField(fe.Msg.SET_TIME),this.appendValueInput("h").setCheck(Number).appendField(fe.Msg.MIXLY_HOUR),this.appendValueInput("m").setCheck(Number).appendField(fe.Msg.MIXLY_MINUTE),this.appendValueInput("s").setCheck(Number).appendField(fe.Msg.MIXLY_SECOND),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},BO={init:function(){this.setColour(YE),this.appendValueInput("SUB"),this.appendDummyInput().appendField(fe.Msg.DRAW_CLOCK),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},GO={init:function(){this.setColour(YE),this.appendValueInput("SUB"),this.appendDummyInput().appendField(fe.Msg.CLEAR_CLOCK),this.appendValueInput("VAR").appendField(fe.Msg.MIXLY_STM32_TFT_BACKGROUND_COLOR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},UO={init:function(){this.jsonInit({colour:YE,args0:[{name:"shape",options:[[fe.Msg.MPYTHON_DISPLAY_HOLLOW,"False"],[fe.Msg.MPYTHON_DISPLAY_SOLID,"True"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"r",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:fe.Msg.mpython_HELPURL,message0:fe.Msg.ONBOARD_TFT_DISPLAY_SHAPE_CIRCLE_MESSAGE0,nextStatement:null,previousStatement:null})}},wO={init:function(){this.setColour(YE),this.appendDummyInput().appendField(fe.Msg.DRAW_POINTER).appendField(fe.Msg.DRAW_POINTER_ANGLE),this.appendValueInput("angle"),this.appendDummyInput().appendField(fe.Msg.MIXLY_DRAW_POINTER_DU),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.DRAW_POINTER_TOOLTIP)}},HO={init:function(){this.setColour(YE),this.appendDummyInput().appendField(fe.Msg.DRAW_POINTER).appendField(fe.Msg.DRAW_POINTER_ANGLE),this.appendValueInput("angle"),this.appendDummyInput().appendField(fe.Msg.MIXLY_DRAW_POINTER_DU),this.appendValueInput("VAR").appendField(fe.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.DRAW_POINTER_TOOLTIP)}},kO={init:function(){this.setColour(YE),this.appendValueInput("data").appendField(fe.Msg.MIXLY_Display_long_text),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(fe.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(fe.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Fe.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(fe.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},WO={init:function(){this.setColour(YE),this.appendValueInput("direct").appendField(fe.Msg.OLED_BITMAP).appendField(fe.Msg.MIXLY_QR_CODE),["Python ESP32-S3","Python ESP32-C5"].includes(Fe.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(fe.Msg.MIXLY_synchronize),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},KO={init:function(){this.setColour(YE),this.appendValueInput("data").appendField(fe.Msg.OLED_BITMAP).appendField(fe.Msg.MIXLY_QR_CODE),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(fe.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendDummyInput("").appendField(fe.Msg.MIXLY_ERROR_RATE).appendField(new fe.FieldDropdown([["0","7%"],["1","15%"],["2","25%"],["3","30"]]),"correct"),this.appendValueInput("VAR").appendField(fe.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Fe.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(fe.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},JO={init:function(){this.setColour(YE),this.appendValueInput("data").appendField(fe.Msg.OLED_BITMAP),this.appendDummyInput().appendField(`(${fe.Msg.MIXLY_DEPRECATED})`),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.OLED_BITMAP_OR_STRING),this.setWarningText(fe.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},QO={init:function(){yE.init.call(this),this.appendDummyInput().appendField(`(${fe.Msg.MIXLY_DEPRECATED})`),this.setWarningText(fe.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},qO={init:function(){BE.init.call(this),this.appendDummyInput().appendField(`(${fe.Msg.MIXLY_DEPRECATED})`),this.setWarningText(fe.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},zO={init:function(){JE.init.call(this),this.appendDummyInput().appendField(`(${fe.Msg.MIXLY_DEPRECATED})`),this.setWarningText(fe.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},jO={init:function(){zE.init.call(this),this.appendDummyInput().appendField(`(${fe.Msg.MIXLY_DEPRECATED})`),this.setWarningText(fe.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},$O={init:function(){jE.init.call(this),this.appendDummyInput().appendField(`(${fe.Msg.MIXLY_DEPRECATED})`),this.setWarningText(fe.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},ZO={init:function(){$E.init.call(this),this.appendDummyInput().appendField(`(${fe.Msg.MIXLY_DEPRECATED})`),this.setWarningText(fe.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},eR=180,tR={init:function(){this.setColour(eR),this.setOutput(!0),this.setInputsInline(!0),this.appendValueInput("img").appendField(fe.Msg.DISPLAY_IMAGE_LET).setCheck(["esp32_image","List",String]),this.appendDummyInput("").appendField(fe.Msg.DISPLAY_IMAGE_LET2).appendField(new fe.FieldDropdown(tR.OPERATORS),"OP"),this.appendValueInput("val").appendField(fe.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(fe.Msg.DISPLAY_IMAGE_UNIT);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i=fe.Msg.DISPLAY_IMAGE_LET,n=fe.Msg.DISPLAY_IMAGE_LET2,s=fe.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:fe.Msg.MIXLY_UP,down:fe.Msg.MIXLY_DOWN,left:fe.Msg.MIXLY_LEFT,right:fe.Msg.MIXLY_RIGHT}[t]+s}))},OPERATORS:[[fe.Msg.MIXLY_UP,"up"],[fe.Msg.MIXLY_DOWN,"down"],[fe.Msg.MIXLY_LEFT,"left"],[fe.Msg.MIXLY_RIGHT,"right"]]},iR={init:function(){this.setColour(eR),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(fe.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new fe.FieldDropdown(iR.OPERATORS),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{"+":fe.Msg.MIXLY_MICROBIT_image_add,"-":fe.Msg.MIXLY_MICROBIT_image_reduce}[t]}))},OPERATORS:[[fe.Msg.MICROBIT_DISPLAY_UNION,"+"],[fe.Msg.MICROBIT_DISPLAY_MINUS,"-"]]},nR={init:function(){this.setColour(eR),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+fe.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("esp32_image"),this.appendDummyInput("").appendField(new fe.FieldDropdown(nR.OPERATORS),"OP"),this.setInputsInline(!0),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+fe.Msg.MIXLY_MICROBIT_IMAGE+{height:fe.Msg.MIXLY_HEIGHT,width:fe.Msg.MIXLY_WIDTH}[t]}))},OPERATORS:[[fe.Msg.MIXLY_HEIGHT,"height"],[fe.Msg.MIXLY_WIDTH,"width"]]},sR={init:function(){this.setColour(eR),this.appendValueInput("VAR").appendField(fe.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_RECT).appendField(new fe.FieldDropdown(sR.STATUS),"OP"),this.jsonInit({message0:fe.Msg.MIXLY_MICROBIT_SHOW_RECT,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"width"},{check:Number,type:"input_value",name:"height"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(fe.Msg.MIXLY_OLED_RECT)},STATUS:[[fe.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[fe.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},_R={init:function(){this.setColour(eR),this.appendValueInput("VAR").appendField(fe.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE).appendField(new fe.FieldDropdown(_R.STATUS),"OP"),this.jsonInit({message0:fe.Msg.MIXLY_HANBIT_SHOW_CIRCLE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"r"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(fe.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE)},STATUS:[[fe.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[fe.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},oR={init:function(){this.setColour(eR),this.appendValueInput("VAR").appendField(fe.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_DISPLAY_DRAW+fe.Msg.MIXLY_HANBIT_DRAW_TRIANGLE).appendField(new fe.FieldDropdown(oR.STATUS),"OP"),this.jsonInit({message0:fe.Msg.MIXLY_HANBIT_SHOW_triangle,args0:[{check:Number,type:"input_value",name:"x0"},{check:Number,type:"input_value",name:"y0"},{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(fe.Msg.MIXLY_DISPLAY_DRAW+fe.Msg.MIXLY_HANBIT_DRAW_TRIANGLE)},STATUS:[[fe.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[fe.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},pR="#777777",aR={init:function(){this.setColour(pR),this.appendDummyInput("").appendField("from ").appendField(new fe.FieldTextInput("ESP32"),"path").appendField(" import ").appendField(new fe.FieldTextInput("*"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},uR={init:function(){this.setColour(pR),this.appendDummyInput("").appendField("import ").appendField(new fe.FieldTextInput("module"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},rR={init:function(){this.setColour(pR),this.appendDummyInput("").appendField(new fe.FieldTextInput("my_function"),"NAME"),this.itemCount_=1,this.arguments_=["x"],this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new fe.icons.MutatorIcon(["factory_create_with_item"],this))},mutationToDom:function(){var e=document.createElement("mutation");e.setAttribute("items",this.itemCount_);for(var t=0;tt?e[t]:'"key'+(t+1)+'"'),"KEY"+t).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){fe.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},jR={init:function(){this.setColour(kR),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(fe.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},$R={init:function(){this.setColour(kR),this.appendDummyInput().appendField(fe.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(fe.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},ZR={init:function(){this.setColour(kR),this.appendDummyInput().appendField(fe.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(fe.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},ec={init:function(){this.setColour(kR),this.appendDummyInput().appendField(fe.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").setCheck(String).appendField(fe.Msg.MIXLY_EMQX_SERVER).setAlign(fe.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(fe.Msg.MIXLY_WIFI_USERNAME).setAlign(fe.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(fe.Msg.MIXLY_IOT_PASSWORD).setAlign(fe.inputs.Align.RIGHT),this.appendValueInput("PROJECT").setCheck(String).appendField(fe.Msg.MIXLY_EMQX_PROJECT).setAlign(fe.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},tc={init:function(){this.setColour(kR),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(fe.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(fe.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(fe.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},ic={init:function(){this.setColour(kR),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(fe.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(fe.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(fe.Msg.HTML_BODY),this.appendDummyInput().appendField(fe.Msg.MIXLY_Service_quality_display).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_AT_MOST_ONCE,"0"],[fe.Msg.MIXLY_AT_LEAST_ONCE,"1"]]),"quality"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},nc={init:function(){this.setColour(kR),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(fe.Msg.MIXLY_EMQX_SUBSCRIBE+fe.Msg.MIXLY_MICROBIT_MSG).appendField(fe.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(fe.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_IOT_EMQX_SUBSCRIBE_TOOLTIP)}},sc={init:function(){this.setColour(kR),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(fe.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},_c={init:function(){this.setColour(kR),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(fe.Msg.MIXLY_EMQX_CONNECT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},oc={init:function(){this.setColour(kR),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(fe.Msg.MIXLY_ESP32_CHECK_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},pc={init:function(){this.setColour(kR),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(fe.Msg.MQTT_Topic),this.setInputsInline(!0),this.setOutput(!0)}},ac={init:function(){this.setColour(kR),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(fe.Msg.MIXLY_EMQX_PUBLISH_MSG),this.setInputsInline(!0),this.setOutput(!0)}},uc={init:function(){this.setColour(kR),this.appendValueInput("VAR").appendField(fe.Msg.MIXLY_ESP32_IOT_MAP_FORMATING),this.setOutput(!0)}},rc={init:function(){this.setColour(kR),this.appendValueInput("VAR").appendField(fe.Msg.MIXLY_MICROPYTHON_FORMAT+"(Json)"),this.setOutput(!0)}},dc={init:function(){this.setColour(kR),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(fe.Msg.MIXLY_EMQX_PING),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_IOT_EMQX_PING_TOOLTIP)}},lc={init:function(){this.setColour(kR),this.appendDummyInput().appendField("MixIO").appendField(fe.Msg.MIXLY_GET_NTP),this.appendValueInput("addr").appendField(fe.Msg.blynk_SERVER_ADD),this.setInputsInline(!0),this.setOutput(!0)}},Ic={init:function(){this.setColour(kR),this.appendDummyInput().appendField(fe.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(fe.Msg.MIXLY_EMQX_SERVER).setAlign(fe.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(fe.Msg.CONTROLS_FOR_INPUT_WITH+fe.Msg.MIXLY_MIXIO_SHARE_KEY).setAlign(fe.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Mc={init:function(){this.setColour(kR),this.appendDummyInput().appendField(fe.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(fe.Msg.MIXLY_EMQX_SERVER).setAlign(fe.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(fe.Msg.CONTROLS_FOR_INPUT_WITH+"Mixly Key").setAlign(fe.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Tc={init:function(){this.VISITOR_ID=Fe.Config.BOARD.visitorId.str32.substring(0,8).toUpperCase(),this.setColour(kR),this.appendDummyInput("").appendField(new fe.FieldTextInput(this.visitorId),"VISITOR_ID"),this.setOutput(!0,null)},onchange:function(){const e=this.getFieldValue("VISITOR_ID");this.VISITOR_ID!==e&&this.setFieldValue(this.VISITOR_ID,"VISITOR_ID")}},hc={init:function(){this.setColour(kR),this.appendDummyInput().appendField("MixIO").appendField(fe.Msg.MSG.catEthernet_clinet),this.setOutput(!0),this.setInputsInline(!0)}},mc={init:function(){this.setColour(kR),this.appendDummyInput().appendField("HTTP"+fe.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(fe.Msg.DISPLAY_IMAGE_LET2),this.appendDummyInput().appendField(fe.Msg.MIXLY_REQUESTS_GET).appendField(fe.Msg.MIXLY_GET_CURRENT_TIME).appendField(fe.Msg.MIXLY_OPEN_DEBUG).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[fe.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ec={init:function(){this.setColour(kR),this.appendDummyInput().appendField("HTTP"+fe.Msg.MIXLY_Client).appendField(fe.Msg.MIXLY_GET).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_REQUESTS_LEN,"client_len"],[fe.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[fe.Msg.MIXLY_REQUESTS_MESSAGE,"text"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},Oc={init:function(){this.setColour(kR),this.appendDummyInput().appendField("MQTT"+fe.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(fe.Msg.MIXLY_CONNECTTO),this.appendDummyInput().appendField(fe.Msg.MIXLY_INIT_SUBSCRIBE).appendField(fe.Msg.MQTT_Topic).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_GET_CURRENT_TIME,""]]),"key").appendField(fe.Msg.MIXLY_OPEN_DEBUG).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[fe.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Rc={init:function(){this.setColour(kR),this.appendDummyInput().appendField("MQTT"+fe.Msg.MIXLY_Client).appendField(fe.Msg.MIXLY_GET).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_REQUESTS_LEN,"client_len"],[fe.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[fe.Msg.MIXLY_REQUESTS_MESSAGE,"time_msg()"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},cc=WR,gc=KR,Cc=JR,Sc=QR,Ac=zR,Lc={init:function(){this.setColour(kR),this.appendDummyInput().appendField(fe.Msg.MIXLY_CONNECT_OLLAMA),this.appendValueInput("SERVER").appendField(fe.Msg.MIXLY_EMQX_SERVER).setAlign(fe.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(fe.Msg.MODEL_NAME).setAlign(fe.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(fe.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Nc=Lc,Dc={init:function(){this.setColour(kR),this.appendDummyInput().appendField(fe.Msg.MIXLY_CONNECT_OPENAI),this.appendValueInput("SERVER").appendField(fe.Msg.MIXLY_EMQX_SERVER).setAlign(fe.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(fe.Msg.MIXLY_API_PRIVATE_KEY).setAlign(fe.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(fe.Msg.MODEL_NAME).setAlign(fe.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(fe.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},fc={init:function(){this.setColour(kR),this.appendDummyInput().appendField(fe.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(fe.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendValueInput("METHOD").appendField(fe.Msg.MIXLY_LLM_CONTENT_CALLBACK),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Fc={init:function(){this.setColour(kR),this.appendDummyInput().appendField(fe.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(fe.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendDummyInput().appendField(fe.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0)}},Pc={init:function(){this.setColour(kR),this.appendDummyInput().appendField("Ollama "+fe.Msg.MIXLY_EMPTY_HISTORY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Yc={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${fe.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("ADDR").setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_EMQX_SERVER),this.appendValueInput("USERNAME").setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_EMQX_USERNAME),this.appendValueInput("PASSWORD").setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_IOT_PASSWORD),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},vc={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${fe.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("MQTT").setAlign(fe.inputs.Align.RIGHT).appendField(`MixIO ${fe.Msg.MIXLY_Client}`),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Xc={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_TINY_WEB_DB_UPDATE_VARIABLE),this.appendValueInput("VALUE").setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},yc={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(fe.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLE),this.appendDummyInput().appendField(fe.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setOutput(!0)}},xc={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendDummyInput().appendField(fe.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_NUM),this.setInputsInline(!0),this.setOutput(!0)}},bc={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB").appendField(fe.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARIABLES),this.appendValueInput("NO").setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_TINY_WEB_DB_START_NUMBER),this.appendValueInput("COUNT").setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_TINY_WEB_DB_VARIABLE_NUMBER),this.appendValueInput("TAG").setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARS),this.appendDummyInput().setAlign(fe.inputs.Align.RIGHT).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_ALL,"both"],[fe.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_TAG,"tag"],[fe.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_VALUE,"value"]]),"DTYPE"),this.setInputsInline(!1),this.setOutput(!0)}},Vc={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(fe.Msg.MIXLY_TINY_WEB_DB_DELETE_VARIABLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Bc=225,Gc={init:function(){this.setColour(Bc),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_NETWORK_INIT),this.appendDummyInput().appendField(fe.Msg.MIXLY_NETWORK_MODE).appendField(new fe.FieldDropdown([["STA","STA"],["AP","AP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_NETWORK_INIT_TOOLTIP)}},Uc={init:function(){this.setColour(Bc),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_NETWORK_WIFI_OPEN,"True"],[fe.Msg.MIXLY_NETWORK_WIFI_CLOSE,"False"]]),"op"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_NETWORK_WIFI_FLAG),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("op"),i=fe.Msg.MIXLY_ESP32_NETWORK_OPEN_TOOLTIP;return{True:fe.Msg.MIXLY_NETWORK_WIFI_OPEN,False:fe.Msg.MIXLY_NETWORK_WIFI_CLOSE}[t]+i}))}},wc={init:function(){this.setColour(Bc),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE)}},Hc={init:function(){this.setColour(Bc),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_NETWORK_WIFI_SCAN),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip((function(){return fe.Msg.MIXLY_ESP32_NETWORK_SCAN_TOOLTIP+{0:"ssid",1:"bssid",2:"channel",3:"RSSI",4:"authmode",5:"hidden",all:fe.Msg.MIXLY_NETWORK_WIFI_SCAN_ATTRIBUTE}.all}))}},kc={init:function(){this.setColour(Bc),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_ESP32_NETWORK_CONNECT),this.appendValueInput("id").setCheck(String).appendField(fe.Msg.HTML_NAME),this.appendValueInput("password").setCheck(String).appendField(fe.Msg.HTML_PASSWORD),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_NETWORK_CONNECT_TOOLTIP)}},Wc={init:function(){this.setColour(Bc),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_NETWORK_WIFI_CONNECT+fe.Msg.MIXLY_SYMBOL_QUESTION),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_NETWORK_WIFI_CONNECT_TOOLTIP)}},Kc={init:function(){this.setColour(Bc),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput("").appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_ESP32_NETWORK_IP,"0"],[fe.Msg.MIXLY_ESP32_NETWORK_MASK,"1"],[fe.Msg.MIXLY_ESP32_NETWORK_GATEWAY,"2"],["DNS","3"]]),"mode"),this.setOutput(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("mode");return fe.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP+{0:fe.Msg.MIXLY_ESP32_NETWORK_IP,1:fe.Msg.MIXLY_ESP32_NETWORK_MASK,2:fe.Msg.MIXLY_ESP32_NETWORK_GATEWAY,3:"DNS"}[t]}))}},Jc={init:function(){this.setColour(Bc),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_ESP32_NETWORK_STOP_CONNECT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_NETWORK_STOP_TOOLTIP)}},Qc={init:function(){this.setColour(Bc),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput().appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_NETWORK_WIFI_ESSID,"essid"],[fe.Msg.MIXLY_NETWORK_WIFI_CHANNEL,"channel"]]),"op"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP)}},qc={init:function(){this.setColour(Bc),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.LISTS_SET_INDEX_SET+fe.Msg.MIXLY_HOTSPOT),this.appendValueInput("essid").setCheck(String).appendField(fe.Msg.MIXLY_NAME),this.appendValueInput("password").setCheck(String).appendField(fe.Msg.MIXLY_EMQX_PASSWORD),this.appendValueInput("channel").setCheck(Number).appendField(fe.Msg.MIXLY_NETWORK_WIFI_CHANNEL),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_NETWORK_AP_CONNECT_TOOLTIP)}},zc={init:function(){this.setColour(Bc),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_ESP32_NETWORK_SERVER1),this.appendDummyInput("").appendField(fe.Msg.MIXLY_ESP32_NETWORK_SERVER2),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},jc={init:function(){this.setColour(Bc),this.appendValueInput("VAR").appendField(fe.Msg.MIXLY_MICROPYTHON_SOCKET_INIT).setCheck("var"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new fe.FieldDropdown([["TCP","TCP"],["UDP","UDP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("mode");return fe.Msg.MIXLY_ESP32_NETWORK_SOCKET_INIT_TOOLTIP+{TCP:"TCP",UDP:"UDP"}[t]}))}},$c={init:function(){this.setColour(Bc),this.appendValueInput("VAR").setCheck("var").appendField(fe.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(fe.Msg.MIXLY_MICROPYTHON_SOCKET_BIND_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_NETWORK_SOCKET_BIND_TOOLTIP)}},Zc={init:function(){this.setColour(Bc),this.appendValueInput("VAR").setCheck("var").appendField(fe.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(fe.Msg.MIXLY_MICROPYTHON_SOCKET_CONNECT_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_NETWORK_SOCKET_CONNECT_TOOLTIP)}},eg={init:function(){this.setColour(Bc),this.appendValueInput("VAR").setCheck("var"),this.appendValueInput("queue").setCheck(Number).appendField(fe.Msg.MIXLY_MICROPYTHON_SOCKET_LISTEN).appendField(fe.Msg.MIXLY_MICROPYTHON_SOCKET_QUEUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_NETWORK_SOCKET_LISTEN_TOOLTIP)}},tg={init:function(){this.setColour(Bc),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROPYTHON_SOCKET_ACCEPT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_NETWORK_SOCKET_ACCEPT_TOOLTIP)}},ig={init:function(){this.setColour(Bc),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE_TOOLTIP)}},ng={init:function(){this.setColour(Bc),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("size").setCheck(Number).appendField(fe.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_TOOLTIP)}},sg={init:function(){this.setColour(Bc),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("content").appendField(fe.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TOOLTIP)}},_g={init:function(){this.setColour(Bc),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("size").setCheck(Number).appendField(fe.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_FROM_TOOLTIP)}},og={init:function(){this.setColour(Bc),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("content").appendField(fe.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.appendValueInput("address").appendField(fe.Msg.MIXLY_MICROPYTHON_SOCKET_TO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TO_TOOLTIP)}},pg={init:function(){this.setColour(Bc),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROPYTHON_SOCKET_CLOSE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},ag={init:function(){this.setColour(Bc),this.appendValueInput("DOMAIN").appendField(fe.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(fe.Msg.blockpy_REQUESTS_GET).appendField(new fe.FieldTextInput("response"),"VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(fe.Msg.blockpy_REQUESTS_GET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){fe.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},ug={init:function(){this.appendValueInput("VAL"),this.setColour(Bc),this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROBIT_JS_GET).appendField(new fe.FieldDropdown(ug.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("DIR");return{clear:fe.Msg.MIXLY_TOOLTIP_TURTEL_CLEAR,reset:fe.Msg.MIXLY_TOOLTIP_TURTEL_RESET,home:fe.Msg.MIXLY_TOOLTIP_TURTEL_HOME}[t]}))},ATTR:[[fe.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[fe.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[fe.Msg.blockpy_REQUESTS_GET_ATTR_COOKIES,"cookies"],[fe.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"]]},rg={init:function(){this.appendValueInput("VAR").appendField(fe.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.setColour(Bc),this.appendDummyInput("").appendField(fe.Msg.blockpy_CONDUCT).appendField(new fe.FieldDropdown(rg.METHOD),"DIR"),this.appendDummyInput("").appendField(fe.Msg.blockpy_REQUESTS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("DIR");return{forward:fe.Msg.MIXLY_TOOLTIP_TURTEL_FORWARD,backward:fe.Msg.MIXLY_TOOLTIP_TURTEL_BACKWARD}[t]}))},METHOD:[["post","post"],["put","put"],["delete","delete"],["head","head"],["option","option"]]},dg={init:function(){this.setColour(Bc),this.appendDummyInput("").appendField(fe.Msg.MIXLY_GET_NTP+"(NTP)"),this.appendValueInput("data").appendField(fe.Msg.blynk_SERVER_ADD),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},lg={init:function(){this.setColour(Bc),this.appendDummyInput("").appendField(new fe.FieldDropdown([["ntp.aliyun.com","ntp.aliyun.com"],["ntp1.aliyun.com","ntp1.aliyun.com"],["ntp2.aliyun.com","ntp2.aliyun.com"],["ntp3.aliyun.com","ntp3.aliyun.com"],["ntp4.aliyun.com","ntp4.aliyun.com"],["ntp5.aliyun.com","ntp5.aliyun.com"],["ntp6.aliyun.com","ntp6.aliyun.com"],["ntp7.aliyun.com","ntp7.aliyun.com"],["time1.cloud.tencent.com","time1.cloud.tencent.com"],["time2.cloud.tencent.com","time2.cloud.tencent.com"],["time3.cloud.tencent.com","time3.cloud.tencent.com"],["time4.cloud.tencent.com","time4.cloud.tencent.com"],["time5.cloud.tencent.com","time5.cloud.tencent.com"]]),"op"),this.setOutput(!0)}},Ig="#3288dd",Mg={init:function(){this.setColour(Ig),this.appendValueInput("URL").appendField(fe.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(fe.Msg.blockpy_CONDUCT).appendField(new fe.FieldDropdown([["get","get"],["head","head"],["delete","delete"]]),"TYPE").appendField(fe.Msg.blockpy_REQUESTS).appendField(fe.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},Tg={init:function(){this.setColour(Ig),this.appendValueInput("URL").appendField(fe.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(fe.Msg.blockpy_CONDUCT).appendField(new fe.FieldDropdown([["post","post"],["put","put"],["patch","patch"]]),"TYPE").appendField(fe.Msg.blockpy_REQUESTS),this.appendValueInput("data").appendField(fe.Msg.blockpy_REQUESTS+fe.Msg.OLED_STRING),this.appendDummyInput("").appendField(fe.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},hg={init:function(){this.appendValueInput("VAL"),this.setColour(Ig),this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROBIT_JS_GET).appendField(new fe.FieldDropdown(hg.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String)},ATTR:[[fe.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[fe.Msg.blockpy_REQUESTS_GET_ATTR_JSON,"json()"],[fe.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[fe.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"],[fe.Msg.MIXPY_TEXT_ENCODE,"encoding"]]},mg={init:function(){this.setColour(Ig),this.appendDummyInput().appendField(fe.Msg.MIXLY_ESP32_IOT_CONNECT_WIFI),this.appendValueInput("WIFINAME").setCheck(String).appendField(fe.Msg.HTML_NAME),this.appendValueInput("PASSWORD").setCheck(String).appendField(fe.Msg.HTML_PASSWORD),this.appendValueInput("TIMEOUT").setCheck(Number).appendField(fe.Msg.MIXLY_IR_TIMEOUT),this.appendDummyInput().appendField(fe.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_IOT_WIFI_CONNECT_TOOLTIP)}},Eg={init:function(){this.setColour(Ig),this.appendDummyInput().appendField(fe.Msg.MIXLY_ESP32_IOT_EMQX_CONNECT_TOOLTIP),this.appendValueInput("SERVER").setCheck(String).appendField(fe.Msg.MIXLY_EMQX_SERVER).setAlign(fe.inputs.Align.RIGHT),this.appendValueInput("PORT").setCheck(Number).appendField(fe.Msg.MIXLY_EMQX_PORT).setAlign(fe.inputs.Align.RIGHT),this.appendValueInput("CLIENT_ID").setCheck(String).appendField(fe.Msg.MIXLY_EMQX_CLIENT_ID).setAlign(fe.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(fe.Msg.MIXLY_WIFI_USERNAME).setAlign(fe.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(fe.Msg.MIXLY_IOT_PASSWORD).setAlign(fe.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Og={init:function(){this.setColour(Ig),this.appendValueInput("TOPIC").appendField(fe.Msg.MIXLY_EMQX_SUBSCRIBE+fe.Msg.MIXLY_MICROBIT_MSG).appendField(fe.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MESSAGE").appendField(fe.Msg.blockpy_set_of),this.setInputsInline(!0),this.setOutput(!0)}},Rg={init:function(){this.setColour(Ig),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(fe.Msg.MIXLY_EMQX_SUBSCRIBE+fe.Msg.MIXLY_MICROBIT_MSG).appendField(fe.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(fe.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},cg={init:function(){this.setColour(Ig),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(fe.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(fe.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(fe.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},gg={init:function(){this.setColour(Ig),this.appendDummyInput().appendField("mqtt"+fe.Msg.MIXLY_EMQX_IS_CONNECT),this.setInputsInline(!0),this.setOutput(!0)}},Cg=100,Sg={init:function(){this.setColour(Cg),this.appendValueInput("I2CSUB").appendField(fe.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_SETUP+fe.Msg.LISTS_SET_INDEX_INPUT_TO).appendField("PE GX"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Ag={init:function(){this.setColour(Cg),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MIXGO_CAR_BATTERY_LEFT),this.setOutput(!0,Number),this.setInputsInline(!0)}},Lg={init:function(){this.setColour(Cg),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField(fe.Msg.MOTOR_DC).appendField(fe.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_Direction).appendField(new fe.FieldDropdown([[fe.Msg.CLOCKWISE,"CW"],[fe.Msg.ANTI_CLOCKWISE,"CCW"],[fe.Msg.MOTOR_P,"P"],[fe.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Ng={init:function(){this.setColour(Cg),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField(fe.Msg.MOTOR_DC).appendField(fe.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(fe.Msg.MIXLY_STEPPER_GET_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},Dg={init:function(){this.setColour(Cg),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField("180°"+fe.Msg.MIXLY_SERVO).appendField(fe.Msg.LCD_NUMBERING),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_SERVO_MOVE)}},fg={init:function(){this.setColour(Cg),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField("360°"+fe.Msg.MIXLY_SERVO).appendField(fe.Msg.LCD_NUMBERING),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_SERVO_SPEED_TOOLIPS)}},Fg={init:function(){this.setColour(Cg),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField("180°"+fe.Msg.MIXLY_SERVO),this.appendDummyInput().appendField(fe.Msg.MIXLY_GET+fe.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},Pg={init:function(){this.setColour(Cg),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField("360°"+fe.Msg.MIXLY_SERVO).appendField(fe.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(fe.Msg.MIXLY_GET+fe.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},Yg="#A58C5B",vg={init:function(){this.setColour(Yg),this.appendValueInput("PIN",Number).appendField(fe.Msg.MIXLY_BUTTON).appendField(fe.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(fe.Msg.MIXLY_IS_PRESSED),this.appendValueInput("STAT").appendField(fe.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_SENOR_IS_PRESSED)}},Xg={init:function(){this.setColour(Yg),this.appendValueInput("PIN",Number).appendField(fe.Msg.MIXLY_BUTTON).appendField(fe.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(fe.Msg.MIXLY_WAS_PRESSED),this.appendValueInput("STAT").appendField(fe.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_SENOR_WAS_PRESSED)}},yg={init:function(){this.setColour(Yg),this.appendValueInput("PIN",Number).appendField(fe.Msg.MIXLY_BUTTON).appendField(fe.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(fe.Msg.MIXLY_GET_PRESSES),this.appendValueInput("VAR").setCheck(Number).appendField(fe.Msg.MIXLY_GET_PRESSES_TIME),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(fe.Msg.PROCEDURES_DEFRETURN_RETURN+fe.Msg.MIXLY_BUTTON+fe.Msg.MIXLY_GET_PRESSES)}},xg={init:function(){this.setColour(Yg),this.appendValueInput("PIN",Number).appendField(fe.Msg.MIXLY_BUTTON).appendField(fe.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(fe.Msg.MIXLY_MODE).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[fe.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[fe.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(fe.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(fe.Msg.MIXLY_TOOLTIP_INOUT_ATTACHINTERRUPT)}},bg={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MICROBIT_shake,"shake"],[fe.Msg.MIXLY_UP,"up"],[fe.Msg.MIXLY_DOWN,"down"],[fe.Msg.MIXLY_LEFT,"left"],[fe.Msg.MIXLY_RIGHT,"right"],[fe.Msg.MIXLY_MICROBIT_face_up,"face up"],[fe.Msg.MIXLY_MICROBIT_face_down,"face down"],[fe.Msg.MIXLY_MICROBIT_freefall,"freefall"],["3g","3g"],["6g","6g"],["8g","8g"]]),"gesture"),this.appendStatementInput("DO").appendField(fe.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("gesture"),i=fe.Msg.MIXLY_MICROBIT_JS_CURRENT,n=fe.Msg.MSG.catSensor,s=fe.Msg.MIXLY_MICROBIT_JS_STATE,_=fe.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:fe.Msg.MIXLY_MICROBIT_shake,up:fe.Msg.MIXLY_UP,down:fe.Msg.MIXLY_DOWN,left:fe.Msg.MIXLY_LEFT,right:fe.Msg.MIXLY_RIGHT,"face up":fe.Msg.MIXLY_MICROBIT_face_up,"face down":fe.Msg.MIXLY_MICROBIT_face_down,freefall:fe.Msg.MIXLY_MICROBIT_freefall,"3g":"3g","6g":"6g","8g":"8g"}[t]+_}))}},Vg={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_ADXL345).setCheck("var"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new fe.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key"),i=fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=fe.Msg.MIXLY_MICROBIT_Direction,s=fe.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":fe.Msg.MIXLY_MICROBIT_Shiliang_Direction}[t]+n+s}))}},Bg={init:function(){this.setColour(Yg),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_JS_LIGHT_LEVEL),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_SENSOR_LIGHT_LEVEL_TOOLTIP)}},Gg={init:function(){this.setColour(Yg),this.appendValueInput("PIN",Number).appendField(new fe.FieldDropdown([["DHT11","DHT11"],["DHT22","DHT22"]]),"TYPE").appendField(fe.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(new fe.FieldDropdown(Gg.METHOD),"WHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("WHAT");return{temperature:fe.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM,relative_humidity:fe.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_HUM,tempandhum:fe.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM_HUM}[t]}))},METHOD:[[fe.Msg.MIXLY_GETTEMPERATUE,"temperature"],[fe.Msg.MIXLY_GETHUMIDITY,"humidity"]]},Ug={init:function(){this.setColour(Yg),this.appendDummyInput().appendField(fe.Msg.MIXLY_ESP32_EXTERN_LIGHT),this.appendValueInput("PIN",Number).appendField(fe.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(fe.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(fe.Msg.ESP32_SENSOR_NIXGO_LIGHT_TOOLTIP)}},wg={init:function(){this.setColour(Yg),this.appendDummyInput().appendField(fe.Msg.MIXLY_ESP32_EXTERN_SOUND),this.appendValueInput("PIN",Number).appendField(fe.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(fe.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(fe.Msg.ESP32_SENSOR_NIXGO_SOUND_TOOLTIP)}},Hg={init:function(){this.setColour(Yg),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new fe.FieldDropdown([[fe.Msg.TEXT_TRIM_LEFT,"left"],[fe.Msg.TEXT_TRIM_RIGHT,"right"]]),"direction").appendField(fe.Msg.MIXLY_ESP32_NEAR),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("direction"),i=fe.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP,n=fe.Msg.MIXLY_ESP32_NEAR;return i+{left:fe.Msg.TEXT_TRIM_LEFT,right:fe.Msg.TEXT_TRIM_RIGHT}[t]+n}))}},kg={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_ALTITUDE_SENSOR+" BMP280").setCheck("var"),this.appendDummyInput("").appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_GETTEMPERATUE,"get_BMP_temperature()"],[fe.Msg.MIXLY_GETPRESSURE,"get_BMP_pressure()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key");return{"get_BMP_temperature()":fe.Msg.MIXLY_MICROBIT_SENSOR_BMP_temperature_TOOLTIP,"get_BMP_pressure()":fe.Msg.MIXLY_MICROBIT_SENSOR_BMP_press_TOOLTIP}[t]}))}},Wg={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+" SHT20").setCheck("var"),this.appendDummyInput("").appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_GETTEMPERATUE,"get_SHT_temperature()"],[fe.Msg.MIXLY_GETHUMIDITY,"get_SHT_relative_humidity()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key");return{"get_SHT_temperature()":fe.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,"get_SHT_relative_humidity()":fe.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[t]}))}},Kg={init:function(){this.setColour(Yg),this.appendValueInput("PIN",Number).appendField("DS18X20 "+fe.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(fe.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(fe.Msg.MIXLY_MICROBIT_SENSOR_DS18X20_TOOLTIP)}},Jg={init:function(){this.setColour(Yg),this.appendDummyInput("").appendField("LM35"+fe.Msg.MIXLY_TEMP),this.appendValueInput("PIN",Number).appendField(fe.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(fe.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(fe.Msg.MIXLY_TOOLTIP_LM35)}},Qg={init:function(){this.setColour(Yg),this.appendValueInput("I2CSUB").appendField(fe.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_SETUP+fe.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_ESP32_EXTERN_LIGHT+"(LTR308ALS)","LTR308"],[fe.Msg.MIXLY_COLOR_SENSOR+"(LTR381RGB)","LTR381RGB"],[fe.Msg.MIXLY_COLOR_SENSOR+"(UCS12071)","UCS12071"],[fe.Msg.MIXLY_EXTERN_LIGHTUV+"(LTR390UV)","LTR390UV"],[fe.Msg.MIXLY_ALTITUDE_SENSOR+"(HP203X)","HP203X"],[fe.Msg.MIXLY_ALTITUDE_SENSOR+"(SPL06_001)","SPL06_001"],[fe.Msg.MIXLY_ALTITUDE_SENSOR+"(MS5611)","MS5611"],[fe.Msg.MIXLY_ALTITUDE_SENSOR+"(BMP280)","BMP280"],[fe.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(SHTC3)","SHTC3"],[fe.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(AHT21)","AHT21"],[fe.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(SHT20)","SHT20"],[fe.Msg.MIXLY_LASER_RANGE_SENSOR+"(VL53L0X)","VL53L0X"],[fe.Msg.MIXLY_GEOMAGNETIC_SENSOR+"(QMC5883L)","QMC5883L"],[fe.Msg.MIXLY_ESP32_MAX30102+"(MAX30102)","MAX30102"],[fe.Msg.HTML_COLOUR+"、"+fe.Msg.MIXLY_ENVIRONMENT_LIGHT+"、"+fe.Msg.MIXLY_NEXT+"、"+fe.Msg.MIXLY_ESP32_APDS9960+"(APDS9960)","APDS9960"],[fe.Msg.MIXLY_NINE_AXIS_SENSOR+"(MPU9250)","MPU9250"],[fe.Msg.MixGo_MPU9250+"(ADXL345)","ADXL345"],["RFID","RFID"],[fe.Msg.MIXLY_RADAR_SENSOR+"(CBR817)","CBR817"],[fe.Msg.MIXLY_AipSpeech_asr+"(CI130X)","CI130X"],[fe.Msg.MIXLY_TVOC_CO2_SENSOR+"(AGS10)","AGS10"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},qg={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_RADAR+"CBR817").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.LISTS_SET_INDEX_SET+fe.Msg.MIXlY_INTERACTION),this.appendValueInput("VAR").appendField(fe.Msg.MIXLY_DETECTION_THRESHOLD),this.appendValueInput("VAR2").appendField(fe.Msg.MIXLY_DELAY_TIME),this.appendDummyInput().appendField("ms"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_THRESHOLD_TOOLTIP+" ; "+fe.Msg.MIXLY_DELAY_TIME_RANGE)}},zg={init:function(){this.setColour(Yg),this.appendDummyInput("").appendField(fe.Msg.MIXLY_RADAR).appendField(fe.Msg.LISTS_SET_INDEX_SET+fe.Msg.MIXlY_INTERACTION),this.appendValueInput("VAR").appendField(fe.Msg.MIXLY_DETECTION_THRESHOLD),this.appendValueInput("VAR2").appendField(fe.Msg.MIXLY_DELAY_TIME),this.appendDummyInput().appendField("ms"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_THRESHOLD_TOOLTIP+" ; "+fe.Msg.MIXLY_DELAY_TIME_RANGE)}},jg={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_RADAR+"CBR817").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_GET_TO_INTERACTION),this.setOutput(!0),this.setInputsInline(!0)}},$g={init:function(){this.setColour(Yg),this.appendDummyInput("").appendField(fe.Msg.MIXLY_RADAR).appendField(fe.Msg.MIXLY_GET_TO_INTERACTION),this.setOutput(!0),this.setInputsInline(!0)}},Zg={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_IDENTIFY_ONCE_AND_SAVE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},eC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_GET).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_HELLO_XIAOZHI,"1"],[fe.Msg.MIXLY_XIAOZHIXIAOZHI,"2"],[fe.Msg.MIXLY_THE_FIRST,"3"],[fe.Msg.MIXLY_THE_SECOND,"4"],[fe.Msg.MIXLY_THE_THIRD,"5"],[fe.Msg.MIXLY_THE_FOURTH,"6"],[fe.Msg.MIXLY_THE_FIFTH,"7"],[fe.Msg.MIXLY_THE_SIXTH,"8"],[fe.Msg.MIXLY_THE_SEVENTH,"9"],[fe.Msg.MIXLY_THE_EIGHTH,"10"],[fe.Msg.MIXLY_THE_NINTH,"11"],[fe.Msg.MIXLY_THE_TENTH,"12"],[fe.Msg.MIXLY_THE_ELEVENTH,"13"],[fe.Msg.MIXLY_THE_TWELFTH,"14"],[fe.Msg.MIXLY_THE_13TH,"15"],[fe.Msg.MIXLY_THE_14TH,"16"],[fe.Msg.MIXLY_THE_15TH,"17"],[fe.Msg.MIXLY_THE_16TH,"18"],[fe.Msg.MIXLY_THE_17TH,"19"],[fe.Msg.MIXLY_THE_18TH,"20"],[fe.Msg.MIXLY_THE_19TH,"21"],[fe.Msg.MIXLY_THE_20TH,"22"],[fe.Msg.MIXLY_Turn_on_the_lights,"23"],[fe.Msg.MIXLY_Turn_off_the_lights,"24"],[fe.Msg.MIXLY_Turn_up_the_brightness,"25"],[fe.Msg.MIXLY_Turn_down_the_brightness,"26"],[fe.Msg.MIXLY_Set_it_to_red,"27"],[fe.Msg.MIXLY_Set_it_to_orange,"28"],[fe.Msg.MIXLY_Set_it_to_yellow,"29"],[fe.Msg.MIXLY_Set_it_to_green,"30"],[fe.Msg.MIXLY_Set_it_to_cyan,"31"],[fe.Msg.MIXLY_Set_it_to_blue,"32"],[fe.Msg.MIXLY_Set_it_to_purple,"33"],[fe.Msg.MIXLY_Set_it_to_white,"34"],[fe.Msg.MIXLY_Turn_on_the_fan,"35"],[fe.Msg.MIXLY_Turn_off_the_fan,"36"],[fe.Msg.MIXLY_First_gear,"37"],[fe.Msg.MIXLY_Wind_speed_second,"38"],[fe.Msg.MIXLY_Third_gear,"39"],[fe.Msg.MIXLY_Previous,"40"],[fe.Msg.MIXLY_Next_page,"41"],[fe.Msg.MIXLY_Show_smiley_face,"42"],[fe.Msg.MIXLY_Show_crying_face,"43"],[fe.Msg.MIXLY_Show_love,"44"],[fe.Msg.MIXLY_Close_display,"45"],[fe.Msg.MIXLY_Start_execution,"46"],[fe.Msg.MIXLY_FORWARD,"47"],[fe.Msg.MIXLY_BACKWARD,"48"],[fe.Msg.MIXLY_TURNLEFT,"49"],[fe.Msg.MIXLY_TURNRIGHT,"50"],[fe.Msg.MIXLY_STOP,"51"],[fe.Msg.MIXLY_Accelerate,"52"],[fe.Msg.MIXLY_retard,"53"],[fe.Msg.ROTATION_FORWARD,"54"],[fe.Msg.ROTATION_BACKWARD,"55"],[fe.Msg.MIXLY_Query_temperature,"56"],[fe.Msg.MIXLY_Query_humidity,"57"],[fe.Msg.MIXLY_Query_brightness,"58"],[fe.Msg.MIXLY_Query_sound,"59"],[fe.Msg.MIXLY_Query_time,"60"],[fe.Msg.MIXLY_Query_distance,"61"],[fe.Msg.MIXLY_Query_pressure,"62"],[fe.Msg.MIXLY_Query_key,"63"],[fe.Msg.MIXLY_Query_touch,"64"],[fe.Msg.MIXLY_Query_color,"65"]]),"cmd").appendField(fe.Msg.MIXLY_WHETHER+fe.Msg.MIXLY_BE_IDENTIFIED),this.setOutput(!0),this.setInputsInline(!0)}},tC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_GET).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_RECOGNIZED_STATE,"status1"],[fe.Msg.MIXLY_WHETHER_BROADCAST,"status2"],[fe.Msg.MIXLY_THE_RECOGNIZED_CMD,"result"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_CI130X_GET_THE_RECOGNIZED_STATE_TOOLTIP)}},iC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_MP3_PLAY).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"],[fe.Msg.MIXLY_WIND_SPEED,"154"],[fe.Msg.MIXLY_HYETAL,"155"],[fe.Msg.MIXLY_TEMPERATURE,"156"],[fe.Msg.MIXLY_Humidity,"157"],[fe.Msg.MIXLY_Altitude,"158"],[fe.Msg.MIXLY_SOUND,"159"],[fe.Msg.MIXLY_BRIGHTNESS,"160"],[fe.Msg.ME_GO_HALL_SENSOR_DISTANCE,"161"],[fe.Msg.MIXLY_SERVO,"162"],[fe.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"163"],[fe.Msg.MIXLY_BUTTON2,"164"],[fe.Msg.MIXLY_ESP32_TOUCH,"165"],[fe.Msg.MIXLY_PAY,"166"],[fe.Msg.MIXLY_CARSH_CHANGE,"167"],[fe.Msg.MIXLY_COUNTDOWN,"168"],[fe.Msg.MIXLY_TIMING,"169"],[fe.Msg.MIXLY_AT_THE_MOMENT,"170"],[fe.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE,"171"],[fe.Msg.MIXLY_FORWARD,"172"],[fe.Msg.MIXLY_BACKWARD,"173"],[fe.Msg.MIXLY_TURNLEFT,"174"],[fe.Msg.MIXLY_TURNRIGHT,"175"],[fe.Msg.MIXLY_STOP,"176"],[fe.Msg.MIXLY_Accelerate,"177"],[fe.Msg.MIXLY_retard,"178"],[fe.Msg.ROTATION_FORWARD,"179"],[fe.Msg.ROTATION_BACKWARD,"180"],[fe.Msg.TUPLE_JOIN,"181"],[fe.Msg.MIXLY_SHOW,"182"],[fe.Msg.MIXLY_LAMPLIGHT,"183"],[fe.Msg.MIXLY_ACCELERATION,"184"]]),"star"),this.appendValueInput("NUM").appendField(fe.Msg.MIXLY_NUMBER),this.appendDummyInput("").appendField(fe.Msg.MIXLY_UNIT).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"],[fe.Msg.MIXLY_YEAR,"117"],[fe.Msg.MIXLY_MONTH,"118"],[fe.Msg.MIXLY_DAY,"119"],[fe.Msg.MIXLY_HOUR,"120"],[fe.Msg.MIXLY_MINUTE,"121"],[fe.Msg.MIXLY_SECOND,"122"],[fe.Msg.MIXLY_WEEK2,"123"],[fe.Msg.MIXLY_RMB_UNIT,"124"],[fe.Msg.blockpy_setheading_degree,"125"],[fe.Msg.MIXLY_GEAR,"126"],[fe.Msg.MIXLY_LAYER,"127"],[fe.Msg.MIXLY_GRAM,"128"],[fe.Msg.MIXLY_METER,"129"],[fe.Msg.MIXLY_CENTIMETER,"130"],[fe.Msg.MIXLY_MILLIMETER,"131"],[fe.Msg.MIXLY_LUMEN,"132"],[fe.Msg.MIXLY_DECIBEL,"133"],[fe.Msg.MIXLY_hectopascal,"134"],[fe.Msg.MIXLY_PERCENT,"135"],[fe.Msg.MIXLY_CELSIUS,"136"],[fe.Msg.MIXLY_METER_PER_SEC,"137"],[fe.Msg.MIXLY_MICROBIT_Turn_on_display,"138"],[fe.Msg.MIXLY_MICROBIT_Turn_off_display,"139"],[fe.Msg.MIXLY_SUCCESS,"140"],[fe.Msg.MIXLY_FAILED,"141"],[fe.Msg.MIXLY_WRONG,"142"],[fe.Msg.MIXLY_GOOD,"143"],[fe.Msg.MIXLY_blockpy_set_add,"144"],[fe.Msg.MIXLY_DECREASE,"145"],[fe.Msg.COLOUR_RGB_RED,"146"],[fe.Msg.COLOUR_RGB_ORANGE,"147"],[fe.Msg.COLOUR_YELLOW,"148"],[fe.Msg.COLOUR_RGB_GREEN,"149"],[fe.Msg.COLOUR_CYAN,"150"],[fe.Msg.COLOUR_RGB_BLUE,"151"],[fe.Msg.COLOUR_RGB_PURPLE,"152"],[fe.Msg.COLOUR_RGB_WHITE,"153"]]),"end"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},nC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.LISTS_SET_INDEX_SET+fe.Msg.MIXLY_SYSTEM+fe.Msg.MIXLY_CMD).appendField(new fe.FieldDropdown([[fe.Msg.MILXY_ENTER_WAKE_UP,"1"],[fe.Msg.MIXLY_INCREASE_VOLUME,"202"],[fe.Msg.MIXLY_REDUCE_VOLUME,"203"],[fe.Msg.MIXLY_MAX_VOLUME,"204"],[fe.Msg.MIXLY_MINIMUM,"205"],[fe.Msg.MIXLY_OPEN_RESPONSE,"206"],[fe.Msg.MIXLY_CLOSE_RESPONSE,"207"],[fe.Msg.MIXLY_QUIT_WAKE_UP,"208"]]),"cmd"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},sC={init:function(){this.setColour(Yg),this.appendDummyInput().appendField(fe.Msg.MIXLY_ESP32_MAX30102+" MAX30102"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(fe.Msg.MIXLY_GET).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_ESP32_MAX30102_IR,"[0]"],[fe.Msg.MIXLY_ESP32_MAX30102_RED,"[1]"],[fe.Msg.MIXLY_ESP32_MAX30102_IR+","+fe.Msg.MIXLY_ESP32_MAX30102_RED,""]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},_C={init:function(){this.setColour(Yg),this.appendDummyInput().appendField(fe.Msg.MIXLY_ESP32_APDS9960+" APDS9960"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(fe.Msg.MIXLY_GET).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_ESP32_APDS9960_COLOR,"color"],[fe.Msg.MIXLY_ESP32_APDS9960_GESTURE,"gesture"],[fe.Msg.MIXLY_ESP32_APDS9960_APPROACH,"proximity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},oC={init:function(){this.setColour(Yg),this.appendDummyInput().appendField(fe.Msg.MIXLY_ESP32_EXTERN_LIGHT+" LTR308ALS"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(fe.Msg.MIXLY_GET_LIGHT_INTENSITY),this.setOutput(!0,Number),this.setInputsInline(!0)}},pC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.HTML_COLOUR+fe.Msg.MSG.catSensor+" LTR381RGB").setCheck("var"),this.appendDummyInput("").appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_GET+fe.Msg.HTML_COLOUR,"[2]"],[fe.Msg.MIXLY_GET+fe.Msg.MIXLY_IR_STRENGTH,"[1]"],[fe.Msg.MIXLY_GET+fe.Msg.MIXLY_LIGHT_STRENGTH,"[0]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},aC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.HTML_COLOUR+fe.Msg.MSG.catSensor+" UCS12071").setCheck("var"),this.appendDummyInput("").appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_GET+"RGB"+fe.Msg.HTML_COLOUR,"0"],[fe.Msg.MIXLY_GET+fe.Msg.MIXLY_RGB_RAW,"1"],[fe.Msg.MIXLY_GET_ENV_LIGHT+fe.Msg.MIXLY_BRIGHTNESS,"2"],[fe.Msg.GET_IR_STRENGTH+fe.Msg.MIXLY_BRIGHTNESS,"3"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},uC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_EXTERN_LIGHTUV+" LTR390UV").setCheck("var"),this.appendDummyInput().appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_GET_ENV_LIGHT,"E"],[fe.Msg.MIXLY_GET_ULTRAVIOLET,"U"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},rC={init:function(){this.setColour(Yg),this.appendDummyInput().appendField(fe.Msg.MIXLY_LASER_RANGE+" VL53L0X"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(fe.Msg.MIXLY_GET_DISTANCE+"(mm)"),this.setOutput(!0,Number),this.setInputsInline(!0)}},dC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_TEM_HUM+" SHTC3").setCheck("var"),this.appendDummyInput("").appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_GETTEMPERATUE,"temperature"],[fe.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key");return{temperature:fe.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,humidity:fe.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[t]}))}},lC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_TEM_HUM+" AHT21").setCheck("var"),this.appendDummyInput("").appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_GETTEMPERATUE,"temperature"],[fe.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key");return{temperature:fe.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,relative_humidity:fe.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[t]}))}},IC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_Altitude+fe.Msg.MSG.catSensor+" HP203X").setCheck("var"),this.appendDummyInput("").appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_GETPRESSURE,"pressure()"],[fe.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[fe.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},MC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_Altitude+fe.Msg.MSG.catSensor+" SPL06_001").setCheck("var"),this.appendDummyInput("").appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_GETPRESSURE,"pressure()"],[fe.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[fe.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},TC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_Altitude+fe.Msg.MSG.catSensor+" MS5611").setCheck("var"),this.appendDummyInput("").appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_GETPRESSURE,"pressure()"],[fe.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[fe.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},hC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_Altitude+fe.Msg.MSG.catSensor+" MS5611").setCheck("var"),this.appendValueInput("VAR").appendField(fe.Msg.MIXLY_REF_TO_PRESSURE),this.appendDummyInput().appendField(fe.Msg.MIXLY_CAL_TO_ALTITUDE),this.setOutput(!0,Number),this.setInputsInline(!0)}},mC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_MIXGOPE_FIELD+fe.Msg.MSG.catSensor+" QMC5883L").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROBIT_JS_GET).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"get_bearing()"],[fe.Msg.MIXLY_TEMPERATURE,"get_temp()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},EC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MICROBIT_shake,"shake"],[fe.Msg.MIXLY_UP,"up"],[fe.Msg.MIXLY_DOWN,"down"],[fe.Msg.MIXLY_LEFT,"left"],[fe.Msg.MIXLY_RIGHT,"right"],[fe.Msg.MIXLY_MICROBIT_face_up,"face up"],[fe.Msg.MIXLY_MICROBIT_face_down,"face down"]]),"gesture"),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("gesture"),i=fe.Msg.MIXLY_MICROBIT_JS_CURRENT,n=fe.Msg.MSG.catSensor,s=fe.Msg.MIXLY_MICROBIT_JS_STATE,_=fe.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:fe.Msg.MIXLY_MICROBIT_shake,up:fe.Msg.MIXLY_UP,down:fe.Msg.MIXLY_DOWN,left:fe.Msg.MIXLY_LEFT,right:fe.Msg.MIXLY_RIGHT,"face up":fe.Msg.MIXLY_MICROBIT_face_up,"face down":fe.Msg.MIXLY_MICROBIT_face_down}[t]+_}))}},OC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new fe.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key"),i=fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=fe.Msg.MIXLY_MICROBIT_Direction,s=fe.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":fe.Msg.MIXLY_MICROBIT_Shiliang_Direction}[t]+n+s}))}},RC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_JS_GET+fe.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH).appendField(new fe.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key"),i=fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=fe.Msg.MIXLY_MICROBIT_Direction,s=fe.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH;return i+{x:"x",y:"y",z:"z","(x,y,z)":fe.Msg.MIXLY_MICROBIT_Shiliang_Direction}[t]+n+s}))}},cC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+fe.Msg.MIXLY_ESP32_SENOR_GYRO).appendField(new fe.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key"),i=fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=fe.Msg.MIXLY_MICROBIT_Direction,s=fe.Msg.MIXLY_ESP32_SENOR_GYRO;return i+{x:"x",y:"y",z:"z","(x,y,z)":fe.Msg.MIXLY_MICROBIT_Shiliang_Direction}[t]+n+s}))}},gC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS)}},CC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(fe.Msg.MIXLY_GETTEMPERATUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_GETTEMPERATUE)}},SC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_JS_GET_COMPASS).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,"strength"],[fe.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"heading"]]),"compass"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("compass");return fe.Msg.MIXLY_MICROBIT_JS_GET_COMPASS+{strength:fe.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,heading:fe.Msg.MIXLY_MICROBIT_JS_BY_ANGLE}[t]}))}},AC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_Reset_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_MICROBIT_Reset_COMPASS)}},LC={init:function(){this.setColour(Yg),this.appendValueInput("SPISUB").appendField(fe.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_SETUP+fe.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new fe.FieldDropdown([["RFID","RFID"],["WS-LoRa","Weather"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setFieldValue("RFID","key")}},NC={init:function(){this.setColour(Yg),this.appendDummyInput().appendField("RFID"+fe.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(fe.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_RFID_READ_CARD_UID,"id"],[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"content"],[fe.Msg.MIXLY_ALL,"ALL"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},DC={init:function(){this.setColour(Yg),this.appendDummyInput().appendField("RFID"+fe.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_RFID_READ_CARD_UID),this.setOutput(!0,Number),this.setInputsInline(!0)}},fC={init:function(){this.setColour(Yg),this.appendDummyInput().appendField("RFID"+fe.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(fe.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},FC={init:function(){this.setColour(Yg),this.appendDummyInput().appendField(fe.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(fe.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(fe.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},PC={init:function(){this.setColour(Yg),this.appendDummyInput().appendField(fe.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(fe.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(fe.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(fe.Msg.RETURN_SUCCESS_OR_NOT),this.setInputsInline(!0),this.setOutput(!0,Boolean)}},YC={init:function(){this.setColour(Yg),this.appendDummyInput().appendField("RFID"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_RFID_SCAN_OK,"0"],[fe.Msg.MIXLY_RFID_SCAN_NOTAGERR,"1"],[fe.Msg.MIXLY_RFID_SCAN_ERROR,"2"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},vC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROBIT_JS_GET).appendField(new fe.FieldDropdown([["全部(元组)","data()[0]"],["全部(json)","data()[1]"],["全部(json,附带位置信息)","data()[2]"],["编号","data()[0][0]"],["电量","data()[0][1]"],["风速","data()[0][2]"],["阵风","data()[0][3]"],["风向","data()[0][4]"],["雨量","data()[0][5]"],["温度","data()[0][6]"],["湿度","data()[0][7]"],["光照","data()[0][8]"],["紫外线","data()[0][9]"],["大气压","data()[0][10]"],["信号强度","data()[0][11]"],["信噪比","data()[0][12]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip("返回气象数据元组 data= (设备id,电池状态,风速m/s,阵风m/s,风向°,雨量mm,温度℃,湿度%,光照Lux,UVI,大气压Pa,信号强度dB,信噪比dB)")}},XC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_SERIAL_AVAILABLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},yC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendValueInput("BASE").appendField("以主题"),this.appendDummyInput("").appendField("串口发送至MixIO"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},xC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.itemCount_=2,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new fe.icons.MutatorIcon(["weather_set_label_item"],this)),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip()},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("weather_set_label_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;n1)o=i+".function_call("+_+", "+n+", "+s+", ("+o.join(", ")+"))\n";else if(1==this.itemCount_)o=i+".function_call("+_+", "+n+", "+s+", "+o.join(", ")+")\n";else o=i+".function_call("+_+", "+n+", "+s+")\n";return o},DY=function(e,t){var i=t.valueToCode(this,"virtual_pin",t.ORDER_ATOMIC);t.functions_["terminal_widget_vpin_"+i]=`\nALLOWED_COMMANDS_LIST = ['ls', 'lsusb', 'ip a', 'ip abc']\n\n@blynk.handle_event('write V${i}')\ndef write_handler(pin, _values):\n header = ''\n result = ''\n delimiter = '{}\\n'.format('=' * 30)\n if _values and _values[0] in ALLOWED_COMMANDS_LIST:\n cmd_params = _values[0].split(' ')\n try:\n result = subprocess.check_output(cmd_params).decode('utf-8')\n header = '[output]\\n'\n except subprocess.CalledProcessError as exe_err:\n header = '[error]\\n'\n result = 'Return Code: {}\\n'.format(exe_err.returncode)\n except Exception as g_err:\n print("Command caused '{}'".format(g_err))\n elif _values and _values[0] == 'help':\n header = '[help -> allowed commands]\\n'\n result = '{}\\n'.format('\\n'.join(ALLOWED_COMMANDS_LIST))\n\n # communicate with terminal if help or some allowed command\n if result:\n output = '{}{}{}{}'.format(header, delimiter, result, delimiter)\n print(output)\n blynk.virtual_write(pin, output)\n blynk.virtual_write(pin, '\\n')\n`;return""},fY=function(e,t){return"blynk.virtual_sync("+t.valueToCode(this,"virtual_pin",t.ORDER_ATOMIC)+")\n"},FY=function(e,t){var i=t.statementToCode(this,"DO");return i=t.addLoopTrap(i,this.id)||t.PASS,t.definitions_.blynk_on_disconnected="@blynk.handle_event(\"disconnect\")\ndef connect_handler():\n print('Blynk disconnected')\n"+i,""},PY=function(e,t){var i=t.statementToCode(this,"DO");return i=t.addLoopTrap(i,this.id)||t.PASS,t.definitions_.blynk_on_connected="@blynk.handle_event(\"connect\")\ndef connect_handler():\n print('Blynk connected')\n"+i,""},YY=function(){return"blynk_timer.run()\n"},vY=function(){return"blynk.run()\n"},XY=function(e,t){return"blynk.notify("+t.valueToCode(this,"notification",t.ORDER_ATOMIC)+")\n"},yY=function(e,t){t.definitions_.import_blynktimer="import blynktimer",t.definitions_.def_blynktimer="blynk_timer = blynktimer.Timer(no_timers_err=False)";var i=t.valueToCode(this,"timer_num",t.ORDER_ATOMIC);return`blynk_timer.stop('${i}_blynk_timer${i}')\n`},xY=function(e,t){t.definitions_.import_blynktimer="import blynktimer",t.definitions_.def_blynktimer="blynk_timer = blynktimer.Timer(no_timers_err=False)";return["blynk_timer.get_timers()",t.ORDER_ATOMIC]},bY=function(e,t){t.definitions_.import_blynktimer="import blynktimer";var i=t.valueToCode(this,"Num",t.ORDER_ATOMIC),n=t.valueToCode(this,"period",t.ORDER_ATOMIC),s=this.getFieldValue("Timer_mode"),_=t.statementToCode(this,"DO");return _=t.addLoopTrap(_,this.id)||t.PASS,t.definitions_.def_blynktimer="blynk_timer = blynktimer.Timer(no_timers_err=False)",t.definitions_["blynktimer_event"+i]=`\n@blynk_timer.register(interval=${n}, run_once=${s})\ndef blynk_timer${i}():\n`+_,""},VY=function(e,t){var i=t.valueToCode(this,"sensor_data",t.ORDER_ATOMIC);return"blynk.virtual_write("+t.valueToCode(this,"virtual_pin",t.ORDER_ATOMIC)+", "+i+")\n"},BY=function(e,t){var i=t.valueToCode(this,"virtual_pin",t.ORDER_ATOMIC),n=t.statementToCode(this,"DO");return n=t.addLoopTrap(n,this.id)||t.PASS,t.definitions_["blynk_VIRTUAL_WRITE_"+i]="@blynk.handle_event('write V"+i+"')\ndef write_virtual_pin_handler(pin, _value):\n for i in range(0, len(_value)):\n try: _value[i] = eval(_value[i])\n except: pass\n if len(_value) == 1: _value = _value[0]\n"+n,""},GY=function(e,t){var i=t.valueToCode(this,"body",t.ORDER_ATOMIC),n=t.valueToCode(this,"subject",t.ORDER_ATOMIC);return`blynk.email(${t.valueToCode(this,"TargetEmail",t.ORDER_ATOMIC)}, ${n}, ${i})\n`},UY=function(e,t){var i=t.valueToCode(this,"attribute_value",t.ORDER_ATOMIC);return`blynk.set_property(pin, ${t.valueToCode(this,"attribute_name",t.ORDER_ATOMIC)}, ${i})\n`},wY=function(e,t){t.definitions_.import_BlynkLib="import blynklib";var i=t.valueToCode(this,"server",t.ORDER_ATOMIC),n=t.valueToCode(this,"auth",t.ORDER_ATOMIC),s=t.valueToCode(this,"port",t.ORDER_ATOMIC);return t.definitions_.mpython_blynk_setup="blynk = blynklib.Blynk("+n+", server="+i+", port="+s+")",t.definitions_.blynk_on_connected="\n@blynk.handle_event(\"connect\")\ndef connect_handler():\n print('Blynk connected')\n",t.definitions_.blynk_on_disconnected="\n@blynk.handle_event(\"disconnect\")\ndef connect_handler():\n print('Blynk disconnected')\n",""},HY=function(e,t){t.definitions_.import_cc_g1="from cc_g1 import handle";return["handle.read_bat()",t.ORDER_ATOMIC]},kY=function(e,t){var i=this.getFieldValue("VAR");return t.definitions_.import_cc_g1="from cc_g1 import handle",["handle.read_joystick()"+i,t.ORDER_ATOMIC]},WY=function(e,t){var i=this.getFieldValue("VAR");return t.definitions_.import_cc_g1="from cc_g1 import handle",["handle.read_key("+i+")",t.ORDER_ATOMIC]},KY=function(e,t){t.definitions_.import_cc_g1="from cc_g1 import handle";return"handle.shutdown()"},JY=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];return"mixgo_me"==i||"mixgo_cc"==i?t.definitions_.import_me_go_car="from me_go import car":"mixgo_ce"==i?t.definitions_.import_ce_go_car="from ce_go import car":"mixgo_mini"==i&&(t.definitions_.import_mini_go_car="from mini_go import car"),["car."+this.getFieldValue("op"),t.ORDER_ATOMIC]},QY=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];return"mixgo_me"==i||"mixgo_cc"==i?t.definitions_.import_me_go_car="from me_go import car":"mixgo_mini"==i?t.definitions_.import_mini_go_car="from mini_go import car":"mixgo_ce"==i&&(t.definitions_.import_ce_go_car="from ce_go import car"),"car.setonoff("+t.valueToCode(this,"led",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"bright",t.ORDER_ATOMIC)+")\n"},qY=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];return"mixgo_me"==i||"mixgo_cc"==i?t.definitions_.import_me_go_car="from me_go import car":"mixgo_ce"==i?t.definitions_.import_ce_go_car="from ce_go import car":"mixgo_mini"==i&&(t.definitions_.import_mini_go_car="from mini_go import car"),["car.getrightness("+t.valueToCode(this,"led",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},zY=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];return"mixgo_me"==i||"mixgo_cc"==i?t.definitions_.import_me_go_car="from me_go import car":"mixgo_ce"==i?t.definitions_.import_ce_go_car="from ce_go import car":"mixgo_mini"==i&&(t.definitions_.import_mini_go_car="from mini_go import car"),["car.getonoff("+t.valueToCode(this,"led",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},jY=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];return"mixgo_me"==i||"mixgo_cc"==i?t.definitions_.import_me_go_car="from me_go import car":"mixgo_ce"==i?t.definitions_.import_ce_go_car="from ce_go import car":"mixgo_mini"==i&&(t.definitions_.import_mini_go_car="from mini_go import car"),"car.setbrightness("+t.valueToCode(this,"led",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"bright",t.ORDER_ATOMIC)+")\n"},$Y=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];return"mixgo_me"==i||"mixgo_cc"==i?t.definitions_.import_me_go_car="from me_go import car":"mixgo_ce"==i?t.definitions_.import_ce_go_car="from ce_go import car":"mixgo_mini"==i&&(t.definitions_.import_mini_go_car="from mini_go import car"),'car.move("'+this.getFieldValue("VAR")+'", '+t.valueToCode(this,"speed",t.ORDER_ASSIGNMENT)+")\n"},ZY=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];return"mixgo_me"==i||"mixgo_cc"==i?t.definitions_.import_me_go_car="from me_go import car":"mixgo_ce"==i?t.definitions_.import_ce_go_car="from ce_go import car":"mixgo_mini"==i&&(t.definitions_.import_mini_go_car="from mini_go import car"),'car.move("'+this.getFieldValue("VAR")+'")\n'},ev=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];"mixgo_me"==i||"mixgo_cc"==i?t.definitions_.import_me_go_car="from me_go import car":"mixgo_ce"==i?t.definitions_.import_ce_go_car="from ce_go import car":"mixgo_mini"==i&&(t.definitions_.import_mini_go_car="from mini_go import car");var n=this.getFieldValue("wheel"),s=this.getFieldValue("direction");return 0==n&&("CW"==s?s="CCW":"CCW"==s&&(s="CW")),"car.motor(car.MOTO["+n+'], "'+s+'", '+t.valueToCode(this,"speed",t.ORDER_ATOMIC)+")\n"},tv=function(e,t){var i=this.getFieldValue("mode"),n=Fe.Boards.getSelectedBoardKey().split(":")[2];return"mixgo_me"==n||"mixgo_cc"==n?t.definitions_["import_me_go_hall_"+i]="from me_go import hall_"+i:"mixgo_ce"==n?t.definitions_["import_ce_go_hall_"+i]="from ce_go import hall_"+i:"mixgo_mini"==n&&(t.definitions_["import_mini_go_hall"+i]="from mini_go import hall_"+i),"hall_"+i+".irq_cb("+t.valueToCode(this,"DO",t.ORDER_ATOMIC)+")\n"},iv=function(e,t){var i=this.getFieldValue("mode"),n=this.getFieldValue("args"),s=Fe.Boards.getSelectedBoardKey().split(":")[2];"mixgo_me"==s||"mixgo_cc"==s?t.definitions_["import_me_go_hall_"+i]="from me_go import hall_"+i:"mixgo_ce"==s?t.definitions_["import_ce_go_hall_"+i]="from ce_go import hall_"+i:"mixgo_mini"==s&&(t.definitions_["import_mini_go_hall"+i]="from mini_go import hall_"+i);var _=t.valueToCode(this,"num",t.ORDER_ATOMIC);return"all"==n?"hall_"+i+".initial(turns="+_+", distance="+_+")\n":"hall_"+i+".initial("+n+"="+_+")\n"},nv=function(e,t){var i=this.getFieldValue("mode"),n=this.getFieldValue("args"),s=Fe.Boards.getSelectedBoardKey().split(":")[2];return"mixgo_me"==s||"mixgo_cc"==s?t.definitions_["import_me_go_hall_"+i]="from me_go import hall_"+i:"mixgo_ce"==s?t.definitions_["import_ce_go_hall_"+i]="from ce_go import hall_"+i:"mixgo_mini"==s&&(t.definitions_["import_mini_go_hall"+i]="from mini_go import hall_"+i),["hall_"+i+"."+n,t.ORDER_ATOMIC]},sv=function(e,t){var i=this.getFieldValue("key"),n=Fe.Boards.getSelectedBoardKey().split(":")[2];return"mixgo_me"==n||"mixgo_cc"==n?t.definitions_.import_me_go_hall="from me_go import car":"mixgo_ce"==n?t.definitions_.import_ce_go_hall="from ce_go import car":"mixgo_mini"==n&&(t.definitions_.import_mini_go_hall="from mini_go import car"),["car.patrol()"+i,t.ORDER_ATOMIC]},_v=function(e,t){var i=this.getFieldValue("key"),n=Fe.Boards.getSelectedBoardKey().split(":")[2];return"mixgo_me"==n||"mixgo_cc"==n?t.definitions_.import_me_go_hall="from me_go import car":"mixgo_ce"==n?t.definitions_.import_ce_go_hall="from ce_go import car":"mixgo_mini"==n&&(t.definitions_.import_mini_go_hall="from mini_go import car"),["car.obstacle()"+i,t.ORDER_ATOMIC]},ov=function(e,t){var i=this.getFieldValue("key"),n=Fe.Boards.getSelectedBoardKey().split(":")[2];return"mixgo_me"==n||"mixgo_cc"==n?t.definitions_.import_me_go_hall="from me_go import car":"mixgo_ce"==n?t.definitions_.import_ce_go_hall="from ce_go import car":"mixgo_mini"==n&&(t.definitions_.import_mini_go_hall="from mini_go import car"),"car.ir_mode(car."+i+")\n"},pv=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];return"mixgo_me"==i||"mixgo_cc"==i?t.definitions_.import_mixgo_me_onboard_mxc6655xa="from mixgo_me import onboard_mxc6655xa":"mixgo_ce"==i?t.definitions_.import_mixgo_ce_onboard_mxc6655xa="from mixgo_ce import onboard_mxc6655xa":"mixgo_mini"==i&&(t.definitions_.import_mini_onboard_mxc6655xa="from mini_go import onboard_mxc6655xa"),["onboard_mxc6655xa.eulerangles(upright=True)"+this.getFieldValue("angle"),t.ORDER_ATOMIC]},av=function(e,t){var i=this.getFieldValue("key"),n=Fe.Boards.getSelectedBoardKey().split(":")[2];return"mixgo_me"==n||"mixgo_cc"==n?t.definitions_.import_me_go_hall="from me_go import car":"mixgo_ce"==n?t.definitions_.import_ce_go_hall="from ce_go import car":"mixgo_mini"==n&&(t.definitions_.import_mini_go_hall="from mini_go import car"),["car.light()"+i,t.ORDER_ATOMIC]},uv=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_car"]="from "+i+" import car";return["car()",t.ORDER_ATOMIC]},rv=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_car"]="from "+i+" import car",t.valueToCode(this,"car",t.ORDER_ASSIGNMENT)+"."+this.getFieldValue("VAR")+"("+t.valueToCode(this,"speed",t.ORDER_ASSIGNMENT)+")\n"},dv=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_car"]="from "+i+" import car",t.valueToCode(this,"car",t.ORDER_ASSIGNMENT)+"."+this.getFieldValue("VAR")+"()\n"},lv=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_car"]="from "+i+" import car",[t.valueToCode(this,"car",t.ORDER_ASSIGNMENT)+".get_itr_dnum("+this.getFieldValue("key")+")",t.ORDER_ATOMIC]},Iv=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_car"]="from "+i+" import car",[t.valueToCode(this,"car",t.ORDER_ASSIGNMENT)+".get_distance()",t.ORDER_ATOMIC]},Mv=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_i2c"]="from "+i+" import onboard_i2c";return["onboard_i2c",t.ORDER_ATOMIC]},Tv=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_i2c"]="from "+i+" import onboard_spi";return["onboard_spi",t.ORDER_ATOMIC]},hv=function(e,t){t.definitions_.import_machine="import machine";var i=t.valueToCode(this,"RX",t.ORDER_ATOMIC),n=t.valueToCode(this,"TX",t.ORDER_ATOMIC),s=t.valueToCode(this,"freq",t.ORDER_ATOMIC);return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+" = machine.SoftI2C(scl = machine.Pin("+n+"), sda=machine.Pin("+i+"), freq="+s+")\n"},mv=function(e,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".readfrom("+t.valueToCode(this,"address",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"data",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Ev=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".writeto("+t.valueToCode(this,"address",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"data",t.ORDER_ATOMIC)+")\n"},Ov=function(e,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".scan()",t.ORDER_ATOMIC]},Rv=function(e,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".read()",t.ORDER_ATOMIC]},cv=function(e,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".available()",t.ORDER_ATOMIC]},gv=function(e,t){var i=t.valueToCode(this,"PIN",t.ORDER_ATOMIC);t.setups_["setup_i2c_"+i]="Wire.begin("+i+");",t.setups_["setup_i2c_onReceive_"+i]="Wire.onReceive(i2cReceiveEvent_"+i+");";var n="i2cReceiveEvent_"+i,s="void "+n+"(int howMany) {\n"+t.statementToCode(this,"DO")+"}\n";return t.definitions_[n]=s,""},Cv=function(e,t){t.definitions_.import_machine="import machine";var i=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),n=t.valueToCode(this,"freq",t.ORDER_ATOMIC),s=t.valueToCode(this,"mosi",t.ORDER_ATOMIC),_=t.valueToCode(this,"miso",t.ORDER_ATOMIC);return i+" = machine.SoftSPI(baudrate="+n+", sck=machine.Pin("+t.valueToCode(this,"sck",t.ORDER_ATOMIC)+"), mosi=machine.Pin("+s+"), miso=machine.Pin("+_+"))\n"},Sv=function(e,t){return"spi.init(baudrate="+t.valueToCode(this,"data",t.ORDER_ATOMIC)+")\n"},Av=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+"=bytearray("+t.valueToCode(this,"data",t.ORDER_ATOMIC)+")\n"},Lv=function(e,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".read("+t.valueToCode(this,"data",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Nv=function(e,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".read("+t.valueToCode(this,"data",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"val",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Dv=function(e,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".readinto("+t.valueToCode(this,"data",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},fv=function(e,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".readinto("+t.valueToCode(this,"data",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"val",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Fv=function(e,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".write("+t.valueToCode(this,"data",t.ORDER_ATOMIC)+".encode('utf-8'))",t.ORDER_ATOMIC]},Pv=function(e,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".write_readinto("+t.valueToCode(this,"data",t.ORDER_ATOMIC)+".encode('utf-8'), "+t.valueToCode(this,"val",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Yv=function(e,t){return t.definitions_.import_machine="import machine",t.definitions_.import_onewire="import onewire",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+"=onewire.OneWire(machine.Pin("+t.valueToCode(this,"BUS",t.ORDER_ATOMIC)+"))\n"},vv=function(e,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".scan()",t.ORDER_ATOMIC]},Xv=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".reset()\n"},yv=function(e,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".readbyte()",t.ORDER_ATOMIC]},xv=function(e,t){var i=t.valueToCode(this,"byte",t.ORDER_ATOMIC);return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+"."+this.getFieldValue("op")+"("+i+")\n"},bv=function(e,t){var i=t.valueToCode(this,"byte",t.ORDER_ATOMIC);return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".select_rom("+i+".encode('utf-8'))\n"},Vv=function(e,t){t.definitions_.import_irremote="import irremote";var i=t.valueToCode(this,"PIN",t.ORDER_ATOMIC),n=this.getFieldValue("type"),s=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);if(""==s&&"RC5"==n)var _="ir_rx = irremote.RC5_RX("+i+")\n";else if("RC5"==n)_="ir_rx = irremote.RC5_RX("+i+", "+s+")\n";else if(""==s)_="ir_rx = irremote.NEC_RX("+i+", "+n+")\n";else _="ir_rx = irremote.NEC_RX("+i+", "+n+", "+s+")\n";return _},Bv=function(e,t){return t.definitions_.import_irremote="import irremote",["ir_rx.code["+this.getFieldValue("index")+"]",t.ORDER_ATOMIC]},Gv=function(e,t){return t.definitions_.import_irremote="import irremote","ir_rx.enable("+this.getFieldValue("en")+")\n"},Uv=function(e,t){t.definitions_.import_irremote="import irremote";return["ir_rx.any()",t.ORDER_ATOMIC]},wv=function(e,t){return t.definitions_.import_irremote="import irremote","ir_rx.timeout("+t.valueToCode(this,"time",t.ORDER_ATOMIC)+")\n"},Hv=function(e,t){t.definitions_.import_irremote="import irremote";var i=t.valueToCode(this,"PIN",t.ORDER_ATOMIC),n=this.getFieldValue("type"),s=t.valueToCode(this,"power",t.ORDER_ATOMIC);if("RC5"==n)var _="ir_tx = irremote.RC5_TX("+i+", "+s+")\n";else _="ir_tx = irremote.NEC_TX("+i+", "+n+", "+s+")\n";return _},kv=function(e,t){return t.definitions_.import_irremote="import irremote","ir_tx.transmit("+t.valueToCode(this,"cmd",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"toggle",t.ORDER_ATOMIC)+")\n"},Wv=function(e,t){return t.definitions_.import_irremote="import irremote","ir_tx.transmit(pulses="+t.valueToCode(this,"LIST",t.ORDER_ATOMIC)+")\n"},Kv=function(e,t){return t.definitions_.import_irremote="import irremote","ir_tx.transmit(raw="+t.valueToCode(this,"raw",t.ORDER_ATOMIC)+")\n"},Jv=function(e,t){t.definitions_.import_irremote="import irremote";return["ir_tx.busy()",t.ORDER_ATOMIC]},Qv=function(e,t){return t.definitions_.import_ble_central="import ble_central",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+" = ble_central.BLESimpleCentral()\n"},qv=function(e,t){t.definitions_.import_ble_peripheral="import ble_peripheral";var i=t.valueToCode(this,"data",t.ORDER_ATOMIC);return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+" = ble_peripheral.BLESimplePeripheral("+i+")\n"},zv=function(e,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".scan()",t.ORDER_ATOMIC]},jv=function(e,t){var i=t.valueToCode(this,"data",t.ORDER_ATOMIC);return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".connect("+this.getFieldValue("mode")+"="+i+")\n"},$v=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".disconnect()\n"},Zv=function(e,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".mac",t.ORDER_ATOMIC]},eX=function(e,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".is_connected()",t.ORDER_ATOMIC]},tX=function(e,t){var i=t.valueToCode(this,"data",t.ORDER_ATOMIC);return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".send("+i+")\n"},iX=function(e,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".recv()",t.ORDER_ATOMIC]},nX=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".recv("+t.valueToCode(this,"METHOD",t.ORDER_ATOMIC)+")\n"},sX=function(e,t){t.definitions_.import_ble_handle="import ble_handle";var i=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);return i+"=ble_handle.Handle()\n"+i+".recv("+t.valueToCode(this,"METHOD",t.ORDER_ATOMIC)+")\n"},_X=function(e,t){return t.definitions_.import_radio="import radio",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+"=radio.ESPNow(channel="+t.valueToCode(this,"CHNL",t.ORDER_ATOMIC)+", txpower="+this.getFieldValue("op")+")\n"},oX=function(e,t){return t.definitions_.import_radio="import radio",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+"=radio.ESPNow(channel="+t.valueToCode(this,"CHNL",t.ORDER_ATOMIC)+", txpower="+t.valueToCode(this,"DB",t.ORDER_ATOMIC)+")\n"},pX=function(e,t){return t.definitions_.import_radio="import radio",[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".mac",t.ORDER_ATOMIC]},aX=function(e,t){return t.definitions_.import_radio="import radio",[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".info()",t.ORDER_ATOMIC]},uX=function(e,t){t.definitions_.import_radio="import radio";var i=this.getFieldValue("mode");return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".recv()"+i,t.ORDER_ATOMIC]},rX=function(e,t){return t.definitions_.import_radio="import radio",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".send("+t.valueToCode(this,"mac",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"content",t.ORDER_ATOMIC)+")\n"},dX=function(e,t){return t.definitions_.import_radio="import radio",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".recv_cb("+t.valueToCode(this,"METHOD",t.ORDER_ATOMIC)+")\n"},lX=function(e,t){return t.definitions_.import_radio="import radio",t.definitions_.var_declare_ESPNow_radio="ESPNow_radio=radio.ESPNow()","ESPNow_radio.set_channel(channel="+t.valueToCode(this,"CHNL",t.ORDER_ATOMIC)+")\n"},IX=function(e,t){return t.definitions_.import_radio="import radio",t.definitions_.var_declare_ESPNow_radio="ESPNow_radio=radio.ESPNow()","ESPNow_radio.set_channel(txpower="+this.getFieldValue("op")+")\n"},MX=function(e,t){t.definitions_.import_radio="import radio";var i=t.valueToCode(this,"DB",t.ORDER_ATOMIC);return t.definitions_.var_declare_ESPNow_radio="ESPNow_radio=radio.ESPNow(channel=1, txpower="+i+")","ESPNow_radio.set_channel("+t.valueToCode(this,"CHNL",t.ORDER_ATOMIC)+")\n"},TX=function(e,t){return t.definitions_.import_radio="import radio",t.definitions_.var_declare_ESPNow_radio="ESPNow_radio = radio.ESPNow()","ESPNow_radio.active("+this.getFieldValue("on_off")+")\n"},hX=function(e,t){return t.definitions_.import_radio="import radio",t.definitions_.var_declare_ESPNow_radio="ESPNow_radio = radio.ESPNow()",'ESPNow_radio.send("ffffffffffff",'+t.valueToCode(this,"send",t.ORDER_ATOMIC)+")\n"},mX=function(e,t){t.definitions_.import_radio="import radio",t.definitions_.var_declare_ESPNow_radio="ESPNow_radio = radio.ESPNow()";return["ESPNow_radio.recv()",t.ORDER_ATOMIC]},EX=function(e,t){return["ESPNow_radio_msg",t.ORDER_ATOMIC]},OX=function(e,t){t.definitions_.import_radio="import radio",t.definitions_.import_ubinascii="import ubinascii",t.definitions_.var_declare_ESPNow_radio="ESPNow_radio = radio.ESPNow()";var i=t.statementToCode(e,"DO")||t.PASS;return t.definitions_.def_ESPNow_radio_recv="def ESPNow_radio_recv(mac,ESPNow_radio_msg):\n"+i,t.definitions_.def_ESPNow_radio_recv_all="_radio_msg_list = []\ndef ESPNow_radio_recv_callback(mac,ESPNow_radio_msg):\n global _radio_msg_list\n try:\n ESPNow_radio_recv(mac,ESPNow_radio_msg)\n except:\n pass\n if str(ESPNow_radio_msg) in _radio_msg_list:\n eval('radio_recv_' + bytes.decode(ubinascii.hexlify(ESPNow_radio_msg)) + '()')\n",t.definitions_.ESPNow_radio_recv_callback="ESPNow_radio.recv_cb(ESPNow_radio_recv_callback)\n",""};const RX=function(e,t){t.definitions_.import_radio="import radio",t.definitions_.import_ubinascii="import ubinascii",t.definitions_.var_declare_ESPNow_radio="ESPNow_radio = radio.ESPNow()";var i=t.statementToCode(e,"DO")||t.PASS;t.definitions_.def_ESPNow_radio_recv_all="_radio_msg_list = []\ndef ESPNow_radio_recv_callback(mac,ESPNow_radio_msg):\n global _radio_msg_list\n try:\n ESPNow_radio_recv(mac,ESPNow_radio_msg)\n except:\n pass\n if str(ESPNow_radio_msg) in _radio_msg_list:\n eval('radio_recv_' + bytes.decode(ubinascii.hexlify(ESPNow_radio_msg)) + '()')\n",t.definitions_.ESPNow_radio_recv_callback="ESPNow_radio.recv_cb(ESPNow_radio_recv_callback)\n";var n=e.getFieldValue("msg"),s=function(e){for(var t=function(e,t){for(var i=[],n=0,s=0;s>6),i.push(128|63&_)):(2048<=_&&_<=55295||57344<=_&&_<=65535)&&(n+=3,i.push(224|15&_>>12),i.push(128|63&_>>6),i.push(128|63&_))}for(s=0;s>8,255&n].concat(i)}(e,!0),i="",n=0;n=0?"0x700000":["mixgo_sant"].indexOf(n)>=0?"0xE00000":"0x3A0000","32x12 Matrix"==o?(t.definitions_.import_matrix32x12="import matrix32x12",i=s+" = matrix32x12.Matrix("+_+", font_address="+p+")\n"):"16x8 Matrix"==o&&(t.definitions_.import_matrix16x8="import matrix16x8",i=s+" = matrix16x8.Matrix("+_+")\n"),i},PX=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},YX=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", space="+t.valueToCode(this,"space",t.ORDER_ASSIGNMENT)+", center="+this.getFieldValue("center")+")\n"},vX=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".frame("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},XX=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".frame("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", delay="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+")\n"},yX=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},xX=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", speed="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+", space="+t.valueToCode(this,"space",t.ORDER_ASSIGNMENT)+")\n"},bX=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},VX=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+"."+e.getFieldValue("OP")+"("+t.valueToCode(e,"val",t.ORDER_ATOMIC)+")\n"},BX=function(e,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".pixel(int("+t.valueToCode(e,"x",t.ORDER_ATOMIC)+"), int("+t.valueToCode(e,"y",t.ORDER_ATOMIC)+"))",t.ORDER_ATOMIC]},GX=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return i+".pixel(int("+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+"), int("+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+"), "+t.valueToCode(this,"STAT",t.ORDER_ATOMIC)+")\n"+i+".show()\n"},UX=function(e,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".get_brightness()",t.ORDER_ATOMIC]},wX=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".set_brightness("+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+")\n"},HX=function(e,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+"."+e.getFieldValue("image"),t.ORDER_ATOMIC]},kX=function(e,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".map_"+e.getFieldValue("OP")+"("+t.valueToCode(e,"A",t.ORDER_ATOMIC)+", "+t.valueToCode(e,"B",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},WX=function(e,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".map_invert("+t.valueToCode(e,"A",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},KX=function(e,t){t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var i=t.valueToCode(this,"I2CSUB",t.ORDER_ATOMIC);return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+" = ssd1306.SSD1306_I2C("+t.valueToCode(this,"row",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"column",t.ORDER_ATOMIC)+", "+i+")\n"},JX=function(e,t){return t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".show_str("+(t.valueToCode(this,"Text_line1",t.ORDER_ASSIGNMENT)||"''")+", "+(t.valueToCode(this,"Text_line2",t.ORDER_ASSIGNMENT)||"''")+", "+(t.valueToCode(this,"Text_line3",t.ORDER_ASSIGNMENT)||"''")+", "+(t.valueToCode(this,"Text_line4",t.ORDER_ASSIGNMENT)||"''")+")\n"},QX=function(e,t){return t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".show_line("+t.valueToCode(this,"x1",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"y1",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"x2",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"y2",t.ORDER_ATOMIC)+", 1)\n"},qX=function(e,t){t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var i=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),n=t.valueToCode(this,"x",t.ORDER_ATOMIC),s=t.valueToCode(this,"y",t.ORDER_ATOMIC),_=t.valueToCode(this,"width",t.ORDER_ATOMIC),o=t.valueToCode(this,"height",t.ORDER_ATOMIC),p="TRUE"==this.getFieldValue("fill")?"True":"False",a=this.getFieldValue("OP");switch(p){case"True":return i+".show_fill_rect("+n+", "+s+", "+_+", "+o+", "+a+")\n";case"False":return i+".show_rect("+n+", "+s+", "+_+", "+o+", "+a+")\n"}},zX=function(e,t){t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var i=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),n=t.valueToCode(this,"x",t.ORDER_ATOMIC),s=t.valueToCode(this,"y",t.ORDER_ATOMIC),_=t.valueToCode(this,"length",t.ORDER_ATOMIC);return i+".show_"+this.getFieldValue("direction")+"("+n+", "+s+", "+_+", 1)\n"},jX=function(e,t){return["ON"==this.getFieldValue("ONOFF")?"1":"0",t.ORDER_ATOMIC]},$X=function(e,t){t.definitions_.import_matrix="import matrix";var i=e.getFieldValue("OP");return[t.valueToCode(e,"img",t.ORDER_ATOMIC)+".shift_"+i+"("+t.valueToCode(e,"val",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},ZX=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return t.definitions_.import_ssd1306="import ssd1306",t.definitions_.import_machine="import machine",i+".show_fill("+this.getFieldValue("key")+")\n"},ey=function(e,t){return["matrix.Image."+this.getFieldValue("ANIMATION"),t.ORDER_ATOMIC]},ty=function(e,t){var i=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var n=t.valueToCode(this,"x",t.ORDER_ATOMIC),s=t.valueToCode(this,"y",t.ORDER_ATOMIC),_=t.valueToCode(this,"r",t.ORDER_ATOMIC),o="TRUE"==this.getFieldValue("fill")?"True":"False",p=this.getFieldValue("OP");switch(o){case"True":return i+".show_fill_circle("+n+", "+s+", "+_+", "+p+")\n";case"False":return i+".show_circle("+n+", "+s+", "+_+", "+p+")\n"}},iy=function(e,t){var i=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var n=t.valueToCode(this,"x0",t.ORDER_ATOMIC),s=t.valueToCode(this,"y0",t.ORDER_ATOMIC),_=t.valueToCode(this,"x1",t.ORDER_ATOMIC),o=t.valueToCode(this,"y1",t.ORDER_ATOMIC),p=t.valueToCode(this,"x2",t.ORDER_ATOMIC),a=t.valueToCode(this,"y2",t.ORDER_ATOMIC),u="TRUE"==this.getFieldValue("fill")?"True":"False",r=this.getFieldValue("OP");switch(u){case"True":return i+".show_fill_triangle("+n+", "+s+", "+_+", "+o+", "+p+", "+a+", "+r+")\n";case"False":return i+".show_triangle("+n+", "+s+", "+_+", "+o+", "+p+", "+a+", "+r+")\n"}},ny=function(e,t){return t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".show_bitmap("+t.valueToCode(this,"START_X",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"START_Y",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"bitmap_name",t.ORDER_ATOMIC)+","+t.valueToCode(this,"WIDTH",t.ORDER_ATOMIC)+","+t.valueToCode(this,"HEIGHT",t.ORDER_ATOMIC)+")\n"},sy=function(e,t){return t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".show_pixel("+t.valueToCode(this,"POS_X",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"POS_Y",t.ORDER_ATOMIC)+")\n"},_y=function(e,t){var i,n=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),s=t.valueToCode(this,"CLK",t.ORDER_ATOMIC),_=t.valueToCode(this,"DIO",t.ORDER_ATOMIC),o=this.getFieldValue("key");return"TM1650"==o?(t.definitions_.import_tm1650="import tm1650",i=n+" = tm1650."+o+"(clk="+s+",dio="+_+")\n"):"TM1637"==o&&(t.definitions_.import_tm1637="import tm1637",i=n+" = tm1637."+o+"(clk="+s+",dio="+_+")\n"),i},oy=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+"."+this.getFieldValue("STAT")+"()\n"},py=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".shownum("+t.valueToCode(this,"VALUE",t.ORDER_ATOMIC)+")\n"},ay=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".showDP("+t.valueToCode(this,"NO",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"STAT",t.ORDER_ATOMIC)+")\n"},uy=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".intensity("+t.valueToCode(this,"VALUE",t.ORDER_ATOMIC)+")\n"},ry=function(e,t){t.definitions_.import_st7789="import st7789";var i=Fe.Boards.getSelectedBoardKey().split(":")[2],n="";n=["mpython","mixgo_pe","mixgo_nova"].indexOf(i)>=0?"0x700000":["mixgo_sant"].indexOf(i)>=0?"0xE00000":"0x3A0000";var s=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),_=t.valueToCode(this,"SPISUB",t.ORDER_ATOMIC),o=t.valueToCode(this,"PINCS",t.ORDER_ATOMIC),p=t.valueToCode(this,"PINDC",t.ORDER_ATOMIC);return s+" = st7789.ST7789("+_+", "+t.valueToCode(this,"WIDTH",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"HEIGHT",t.ORDER_ATOMIC)+", dc_pin="+p+", cs_pin="+o+", rotation="+this.getFieldValue("rotate")+", font_address="+n+")\n"},dy=function(e,t){t.definitions_.import_st7789="import st7789";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".image("+n+", x="+s+", y="+_+", size="+o+", color="+p+")\n";else{const e=p.match(/\d+/g);var u="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");a=i+".image("+n+", x= "+s+",y="+_+", size="+o+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},ly=function(e,t){var i="0x"+this.getFieldValue("COLOR").slice(1);return["0x"+((16252928&i)>>8|(64512&i)>>5|(255&i)>>3).toString(16),t.ORDER_ATOMIC]},Iy=function(e,t){t.definitions_.import_st7789="import st7789";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),a=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),u=this.getFieldValue("center");if("0x"==a.slice(0,2))var r=i+".shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+u+", color="+a+")\n";else{const e=a.match(/\d+/g);var d="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");r=i+".shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+u+", color=0x"+((16252928&d)>>8|(64512&d)>>5|(255&d)>>3).toString(16)+")\n"}return r},My=function(e,t){t.definitions_.import_st7789="import st7789";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==o.slice(0,2))var p=i+".frame("+n+", size="+s+", delay="+_+", color="+o+")\n";else{const e=o.match(/\d+/g);var a="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");p=i+".frame("+n+", size="+s+", delay="+_+", color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},Ty=function(e,t){t.definitions_.import_st7789="import st7789";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),a=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u=i+".scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color="+a+")\n";else{const e=a.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u=i+".scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},hy=function(e,t){return t.definitions_.import_st7789="import st7789",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".fill(st7789."+this.getFieldValue("key")+")\n"},my=function(e,t){t.definitions_.import_st7789="import st7789";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"x1",t.ORDER_ATOMIC),s=t.valueToCode(this,"y1",t.ORDER_ATOMIC),_=t.valueToCode(this,"x2",t.ORDER_ATOMIC),o=t.valueToCode(this,"y2",t.ORDER_ATOMIC),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".line("+n+", "+s+", "+_+", "+o+", color="+p+")\n";else{const e=p.match(/\d+/g);var u="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");a=i+".line("+n+", "+s+", "+_+", "+o+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},Ey=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"I2CSUB",t.ORDER_ATOMIC),s=this.getFieldValue("key"),_=t.valueToCode(this,"ADDR",t.ORDER_ATOMIC);return t.definitions_.import_i2clcd="import i2clcd",i+" = i2clcd.LCD("+n+", lcd_width="+s+", i2c_addr="+_+")\n"},Oy=function(e,t){return t.definitions_.import_i2clcd="import i2clcd",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", column="+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+", line="+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+",center = "+this.getFieldValue("center")+")\n"},Ry=function(e,t){return t.definitions_.import_i2clcd="import i2clcd",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".print("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", column="+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+", line="+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+", delay="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+")\n"},cy=function(e,t){return t.definitions_.import_i2clcd="import i2clcd",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".backlight("+this.getFieldValue("key")+")\n"},gy=function(e,t){return t.definitions_.import_i2clcd="import i2clcd",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".clear()\n"},Cy=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"I2CSUB",t.ORDER_ATOMIC),s=t.valueToCode(this,"ADDR",t.ORDER_ATOMIC),_=this.getFieldValue("driver"),o=Fe.Boards.getSelectedBoardKey().split(":")[2],p="";return p=["mpython","mixgo_pe","mixgo_nova"].indexOf(o)>=0?"0x700000":["mixgo_sant"].indexOf(o)>=0?"0xE00000":"0x3A0000",t.definitions_.import_oled128x64="import oled128x64",i+" = oled128x64.OLED("+n+", address="+s+", font_address="+p+", types="+_+")\n"},Sy=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".image("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},Ay=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".image("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", x="+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+", y="+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+", size="+t.valueToCode(this,"size",t.ORDER_ASSIGNMENT)+")\n"},Ly=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},Ny=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", x="+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+", y="+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+", size="+t.valueToCode(this,"size",t.ORDER_ASSIGNMENT)+", space="+t.valueToCode(this,"space",t.ORDER_ASSIGNMENT)+", center="+this.getFieldValue("center")+")\n"},Dy=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".frame("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},fy=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".frame("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", size="+t.valueToCode(this,"size",t.ORDER_ASSIGNMENT)+", delay="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+")\n"},Fy=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},Py=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", y="+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+", size="+t.valueToCode(this,"size",t.ORDER_ASSIGNMENT)+", speed="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+", space="+t.valueToCode(this,"space",t.ORDER_ASSIGNMENT)+")\n"},Yy=function(e,t){t.definitions_.import_oled128x64="import oled128x64";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},vy=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+"."+e.getFieldValue("OP")+"("+t.valueToCode(e,"val",t.ORDER_ATOMIC)+")\n"},Xy=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".pixel(int("+t.valueToCode(e,"x",t.ORDER_ATOMIC)+"), int("+t.valueToCode(e,"y",t.ORDER_ATOMIC)+"))",t.ORDER_ATOMIC]},yy=function(e,t){t.definitions_.import_oled128x64="import oled128x64";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return i+".pixel(int("+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+"), int("+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+"), "+t.valueToCode(this,"STAT",t.ORDER_ATOMIC)+")\n"+i+".show()\n"},xy=function(e,t){t.definitions_.import_oled128x64="import oled128x64";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(e,"x",t.ORDER_ATOMIC),s=t.valueToCode(e,"y",t.ORDER_ATOMIC),_=t.valueToCode(e,"w",t.ORDER_ATOMIC),o=t.valueToCode(e,"h",t.ORDER_ATOMIC),p=e.getFieldValue("state");return i+"."+e.getFieldValue("shape")+"("+n+", "+s+", "+_+", "+o+", "+p+")\n"+i+".show()\n"},by=function(e,t){t.definitions_.import_oled128x64="import oled128x64";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(e,"x",t.ORDER_ATOMIC),s=t.valueToCode(e,"y",t.ORDER_ATOMIC),_=t.valueToCode(e,"length",t.ORDER_ATOMIC),o=e.getFieldValue("state");return i+"."+("0"==e.getFieldValue("dir_h_v")?"v":"h")+"line("+n+", "+s+", "+_+", "+o+")\n"+i+".show()\n"},Vy=function(e,t){t.definitions_.import_oled128x64="import oled128x64";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return i+".line("+t.valueToCode(e,"x1",t.ORDER_ATOMIC)+", "+t.valueToCode(e,"y1",t.ORDER_ATOMIC)+", "+t.valueToCode(e,"x2",t.ORDER_ATOMIC)+", "+t.valueToCode(e,"y2",t.ORDER_ATOMIC)+", "+e.getFieldValue("state")+")\n"+i+".show()\n"},By=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT);if("Python ESP32-S3"===Fe.JSFuncs.getPlatform()){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var s="onboard_tft.image("+(n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT))+", color=0xffff,sync="+(t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True")+")\n"}else if("educore"==i){t.definitions_["import_"+i+"_oled"]="from "+i+" import oled";s="oled.print("+n+")\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";s="onboard_matrix.shows("+n+")\n"}return s},Gy=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),_=this.getFieldValue("center");if("mixgo_sant"==i||"mixgo_nova"==i||"mixgo_soar"==i)return t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.shows("+n+", space="+s+", center="+_+",sync="+(t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True")+")\n";if("educore"==i){t.definitions_["import_"+i+"_oled"]="from "+i+" import oled"}return t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.shows("+n+", space="+s+", center="+_+")\n"},Uy=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){t.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var s="onboard_oled.frame("+n+")\n"}else if("Python ESP32-S3"===Fe.JSFuncs.getPlatform()){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";s="onboard_tft.frame("+(n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT))+", color=0xffff)\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";s="onboard_matrix.frame("+n+")\n"}return s},wy=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){t.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var _="onboard_oled.frame("+(n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT))+", delay="+s+")\n"}else if("Python ESP32-S3"===Fe.JSFuncs.getPlatform()){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";_="onboard_tft.frame("+n+", size=5 , delay="+s+", color=0xffff)\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";_="onboard_matrix.frame("+n+", delay="+s+")\n"}return _},Hy=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];if("mpython"==i||"educore"==i){t.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var n="onboard_oled.scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"}else if("Python ESP32-S3"===Fe.JSFuncs.getPlatform()){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";n="onboard_tft.scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", color=0xffff)\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"}return n},ky=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){t.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var o="onboard_oled.scroll("+n+", speed="+s+", space="+_+")\n"}else if("Python ESP32-S3"===Fe.JSFuncs.getPlatform()){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";o="onboard_tft.scroll("+n+", y=0, size=5, speed="+s+", space="+_+", color=0xffff)\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";o="onboard_matrix.scroll("+n+", speed="+s+", space="+_+")\n"}return o},Wy=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.scroll_way("+this.getFieldValue("way")+")\n"},Ky=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),a=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u="onboard_tft.scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color="+a+")\n";else{const e=a.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u="onboard_tft.scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},Jy=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix",["onboard_matrix."+e.getFieldValue("image"),t.ORDER_ATOMIC]},Qy=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];if("Python ESP32-S3"===Fe.JSFuncs.getPlatform()){const i=e.getFieldValue("image").split(".");if(2!==i.length)throw Error("pin value error");t.definitions_[`import_${i[0]}_${i[1]}`]=`from ${i[0]} import ${i[1]}`;var n=i[1]}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix."+e.getFieldValue("image")}return[n,t.ORDER_ATOMIC]},qy=function(e,t){var i={"#000000":"0","#ff0000":"1"};function n(e){let t="";if(e.length%2==1&&(e="0"+e),e.length<8){let t=8-e.length;for(let i=1;i<=t;i++)e="0"+e}for(let i=1;i<=e.length;i++)i%2==0&&i!==e.length?t=t+e[i-1]+",0x":t+=e[i-1];return"0x"+t}let s=[];for(let t=0;t<12;t++){let _="",o=0,p=0;for(let n=0;n<32;n++)n<8?p=7-n:n<16?p=23-n:n<24?p=39-n:n<32&&(p=55-n),o+=Number(i[e.getFieldValue(t+"-"+n)])*Math.pow(2,31-p);_+=n(o.toString(16)),s.unshift(_)}let _=[];for(let e=0;e>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},vx=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.picture("+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+","+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+","+t.valueToCode(this,"direct",t.ORDER_ASSIGNMENT)+")\n"},Xx=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),a=this.getFieldValue("center"),u=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True",r=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==r.slice(0,2))var d="onboard_tft.shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+a+", color="+r+",sync="+u+")\n";else{const e=r.match(/\d+/g);var l="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");d="onboard_tft.shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+a+", color=0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+",sync="+u+")\n"}return d},yx=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==o.slice(0,2))var p="onboard_tft.frame("+n+", size="+s+", delay="+_+", color="+o+")\n";else{const e=o.match(/\d+/g);var a="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");p="onboard_tft.frame("+n+", size="+s+", delay="+_+", color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},xx=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(e,"x",t.ORDER_ATOMIC),s=t.valueToCode(e,"y",t.ORDER_ATOMIC),_=t.valueToCode(e,"w",t.ORDER_ATOMIC),o=t.valueToCode(e,"h",t.ORDER_ATOMIC),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),a=e.getFieldValue("shape"),u=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var r="onboard_tft."+a+"("+n+", "+s+", "+_+", "+o+", "+p+",sync="+u+")\n";else{const e=p.match(/\d+/g);var d="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");r="onboard_tft."+a+"("+n+", "+s+", "+_+", "+o+", 0x"+((16252928&d)>>8|(64512&d)>>5|(255&d)>>3).toString(16)+",sync="+u+")\n"}return r},bx=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(e,"x",t.ORDER_ATOMIC),s=t.valueToCode(e,"y",t.ORDER_ATOMIC),_=t.valueToCode(e,"length",t.ORDER_ATOMIC),o=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),p=e.getFieldValue("dir_h_v"),a=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==o.slice(0,2))var u="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+_+", "+o+",sync="+a+")\n";else{const e=o.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+_+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},Vx=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(e,"x1",t.ORDER_ATOMIC),s=t.valueToCode(e,"y1",t.ORDER_ATOMIC),_=t.valueToCode(e,"x2",t.ORDER_ATOMIC),o=t.valueToCode(e,"y2",t.ORDER_ATOMIC),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),a=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var u="onboard_tft.line("+n+", "+s+", "+_+", "+o+", "+p+",sync="+a+")\n";else{const e=p.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u="onboard_tft.line("+n+", "+s+", "+_+", "+o+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},Bx=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft",["onboard_tft.pixel(int("+t.valueToCode(e,"x",t.ORDER_ATOMIC)+"), int("+t.valueToCode(e,"y",t.ORDER_ATOMIC)+"))",t.ORDER_ATOMIC]},Gx=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),o=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==_.slice(0,2))var p="onboard_tft.pixel(int("+n+"), int("+s+"), "+_+",sync="+o+")\n";else{const e=_.match(/\d+/g);var a="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");p="onboard_tft.pixel(int("+n+"), int("+s+"), 0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+",sync="+o+")\n"}return p},Ux=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"VAR",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==n.slice(0,2))var _="onboard_tft.fill("+n+",sync="+s+")\n";else{const e=n.match(/\d+/g);var o="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");_="onboard_tft.fill(0x"+((16252928&o)>>8|(64512&o)>>5|(255&o)>>3).toString(16)+",sync="+s+")\n"}return _},wx=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=o+"=Clock("+n+", "+s+", "+_+", "+p+")\n";else{const e=p.match(/\d+/g);var u="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");a=o+"=Clock("+n+", "+s+", "+_+", 0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},Hx=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT)+".set_rtctime()\n"},kx=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT)+".set_time("+t.valueToCode(this,"h",t.ORDER_ASSIGNMENT)+", "+t.valueToCode(this,"m",t.ORDER_ASSIGNMENT)+", "+t.valueToCode(this,"s",t.ORDER_ASSIGNMENT)+")\n"},Wx=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT)+".draw_clock()\n"},Kx=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==s.slice(0,2))var _=n+".clear("+s+")\n";else{const e=s.match(/\d+/g);var o="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");_=n+".clear(0x"+((16252928&o)>>8|(64512&o)>>5|(255&o)>>3).toString(16)+")\n"}return _},Jx=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(e,"x",t.ORDER_ATOMIC),s=t.valueToCode(e,"y",t.ORDER_ATOMIC),_=t.valueToCode(e,"r",t.ORDER_ATOMIC),o=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),p=e.getFieldValue("shape"),a=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==o.slice(0,2))var u="onboard_tft.ellipse("+n+", "+s+", "+_+", "+_+", "+o+", "+p+",sync="+a+")\n";else{const e=o.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u="onboard_tft.ellipse("+n+", "+s+", "+_+", "+_+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+", "+p+",sync="+a+")\n"}return u},Qx=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];if("Python ESP32-S3"===Fe.JSFuncs.getPlatform()){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n="onboard_tft.pointern(angle="+t.valueToCode(this,"angle",t.ORDER_ASSIGNMENT)+")\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.pointern(angle="+t.valueToCode(this,"angle",t.ORDER_ASSIGNMENT)+")\n"}return n},qx=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"angle",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==s.slice(0,2));else{const e=s.match(/\d+/g);var _="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");((16252928&_)>>8|(64512&_)>>5|(255&_)>>3).toString(16)}return"onboard_tft.pointern(angle="+n+")\n"},zx=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),a=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var u="onboard_tft.texts("+n+", x="+s+", y="+_+", size="+o+", color="+p+",sync="+a+")\n";else{const e=p.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u="onboard_tft.texts("+n+", x="+s+", y="+_+", size="+o+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},jx=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.qrcode("+t.valueToCode(this,"direct",t.ORDER_ATOMIC)+")\n"},$x=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),a=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True",u=this.getFieldValue("correct");if("0x"==p.slice(0,2))var r="onboard_tft.qrcode("+n+",x="+s+",y="+_+",size="+o+",correct="+u+",color="+p+",sync="+a+")\n";else{const e=p.match(/\d+/g);var d="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");r="onboard_tft.qrcode("+n+",x="+s+",y="+_+",size="+o+",correct="+u+",color=0x"+((16252928&d)>>8|(64512&d)>>5|(255&d)>>3).toString(16)+",sync="+a+")\n"}return r},Zx=By,eb=sx,tb=tx,ib=sx,nb=_x,sb=jy,_b=function(e,t){var i=this.getFieldValue("path"),n=this.getFieldValue("module");return t.definitions_["import_"+i+"_"+n]="from "+i+" import "+n,""},ob=function(e,t){var i=this.getFieldValue("module");return t.definitions_["import_"+i]="import "+i,""},pb=function(e,t){for(var i=this.getFieldValue("NAME"),n=new Array(this.itemCount_),s=0;s {\n"+t.statementToCode(this,"do")+"})\n"},LH=function(){return"control.reset()\n"},NH=function(e,t){return"control.waitMicros("+(t.valueToCode(this,"data",t.ORDER_ATOMIC)||Fe.Profile.default.serial)+")\n"},DH=function(e,t){return"control.raiseEvent("+(t.valueToCode(this,"system_event_bus_source",t.ORDER_ATOMIC)||Fe.Profile.default.serial)+", "+(t.valueToCode(this,"system_event_bus_value",t.ORDER_ATOMIC)||Fe.Profile.default.serial)+")\n"},fH=function(e,t){return"control.onEvent("+(t.valueToCode(this,"system_event_bus_source",t.ORDER_ATOMIC)||Fe.Profile.default.serial)+", "+(t.valueToCode(this,"system_event_bus_value",t.ORDER_ATOMIC)||Fe.Profile.default.serial)+", () => {\n"+t.statementToCode(this,"do")+")\n"},FH=function(e,t){return["control.eventTimestamp()",t.ORDER_ATOMIC]},PH=function(e,t){return["control.eventValue()",t.ORDER_ATOMIC]},YH=function(e,t){return[this.getFieldValue("key"),t.ORDER_ATOMIC]},vH=function(e,t){return[this.getFieldValue("key"),t.ORDER_ATOMIC]},XH=function(e,t){return["control.deviceName()",t.ORDER_ATOMIC]},yH=function(e,t){return["control.deviceSerialNumber()",t.ORDER_ATOMIC]},xH=function(e,t){return"panic("+(t.valueToCode(this,"STATUS_CODE",t.ORDER_ATOMIC)||"1000")+")\n"},bH=function(e,t){switch(t.definitions_.import_time="import time",this.getFieldValue("Time")){case"ms":return["time.ticks_ms()",t.ORDER_ATOMIC];case"us":return["time.ticks_us()",t.ORDER_ATOMIC]}},VH=function(){return"while True:\n pass\n"},BH=function(e,t){return t.definitions_.import_mixgo="import mixgo","reset()\n"},GH=function(e,t){return t.definitions_.import_os="import os","os.uname()"},UH=function(e,t){t.definitions_.import_time="import time";var i=t.valueToCode(this,"DELAY_TIME",t.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},wH=function(e,t){t.definitions_.import_time="import time";var i=t.valueToCode(this,"DELAY_TIME",t.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},HH=function(e,t){return t.definitions_.import_mixgo="import mixgo",(t.valueToCode(this,"VAR",t.ORDER_NONE)||"None")+".init(period="+(t.valueToCode(this,"period",t.ORDER_NONE)||"0")+", mode=Timer."+(t.valueToCode(this,"mode",t.ORDER_NONE)||"None")+", callback="+(t.valueToCode(this,"callback",t.ORDER_NONE)||"None")+")\n"},kH=function(e,t){return t.definitions_.import_machine="import machine",(t.valueToCode(this,"VAR",t.ORDER_NONE)||"None")+" = machine.Timer("+(t.valueToCode(this,"PIN",t.ORDER_NONE)||"None")+",period = "+(t.valueToCode(this,"period",t.ORDER_NONE)||"0")+", mode=machine.Timer."+this.getFieldValue("mode")+", callback="+(t.valueToCode(this,"callback",t.ORDER_NONE)||"None")+")\n"},WH=function(e,t){return t.definitions_.import_time="import time",["time.ticks_diff("+(t.valueToCode(this,"END",t.ORDER_NONE)||"0")+", "+(t.valueToCode(this,"START",t.ORDER_NONE)||"0")+")",t.ORDER_ATOMIC]},KH=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return t.definitions_.import_machine="import machine",i+" = machine.Timer(0)\n"},JH=function(e,t){return t.definitions_.import_machine="import machine",(t.valueToCode(this,"VAR",t.ORDER_NONE)||"None")+".init(period = "+(t.valueToCode(this,"period",t.ORDER_NONE)||"0")+", mode=machine.Timer."+this.getFieldValue("mode")+", callback="+(t.valueToCode(this,"callback",t.ORDER_NONE)||"None")+")\n"},QH=function(e,t){return t.definitions_.import_machine="import machine","wdt = machine.WDT(timeout= "+(t.valueToCode(this,"period",t.ORDER_NONE)||"0")+")\n"},qH=function(e,t){t.definitions_.import_machine="import machine";return"wdt.feed()\n"},zH=function(e,t){t.definitions_.import_machine="import machine";return"machine.reset()\n"},jH=function(e,t){t.definitions_.import_bitbot_onboard_bot51="from bitbot import onboard_bot51";return"onboard_bot51.shutdown()\n"},$H=KH,ZH=JH,ek=WH,tk=UH,ik=function(e,t){return t.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+t.valueToCode(this,"key",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},nk=function(e,t){return t.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+t.valueToCode(this,"key",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"day",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},sk=function(e,t){return t.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api.weather_hourly("+t.valueToCode(this,"key",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"hour",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},_k=function(e,t){return t.definitions_["import_seniverse_api*"]="from seniverse_api import *",this.getFieldValue("mode")+".request("+t.valueToCode(this,"key",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+")\n"},ok=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Weather_now.analysis()";else n='Weather_now.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},pk=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Air_now.analysis()";else n='Air_now.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},ak=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Weather_alarm.analysis()";else n='Weather_alarm.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},uk=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Life_suggestion.analysis()";else n='Life_suggestion.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},rk=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Tide_daily.analysis()";else n='Tide_daily.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},dk=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Location_search.analysis()";else n='Location_search.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},lk=function(e,t){return t.definitions_["import_seniverse_api*"]="from seniverse_api import *",this.getFieldValue("mode")+".request("+t.valueToCode(this,"key",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"day",t.ORDER_ATOMIC)+")\n"},Ik=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=t.valueToCode(this,"day",t.ORDER_ATOMIC);if("none"==i)var s="Weather_daily.analysis("+n+")";else s="Weather_daily.analysis("+n+', "'+i+'")';return[s,t.ORDER_ATOMIC]},Mk=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=t.valueToCode(this,"day",t.ORDER_ATOMIC);if("none"==i)var s="Air_daily.analysis("+n+")";else s="Air_daily.analysis("+n+', "'+i+'")';return[s,t.ORDER_ATOMIC]},Tk=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=t.valueToCode(this,"day",t.ORDER_ATOMIC);if("none"==i)var s="Geo_sun.analysis("+n+")";else s="Geo_sun.analysis("+n+', "'+i+'")';return[s,t.ORDER_ATOMIC]},hk=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=t.valueToCode(this,"day",t.ORDER_ATOMIC);if("none"==i)var s="Geo_moon.analysis("+n+")";else s="Geo_moon.analysis("+n+', "'+i+'")';return[s,t.ORDER_ATOMIC]},mk='
\r\n
{{-d.title}}
\r\n
\r\n {{# if (d.message) { }}\r\n

\r\n {{-d.message}}\r\n

\r\n {{# } }}\r\n
\r\n
',{XML:Ek}=Fe,Ok=Ek.render(mk,{title:"烧录速度",message:"要选择烧录速度,请更改“Burn Speed”,此值将用于向设备烧录代码。如果在用较高的烧录速度时出现问题,请尝试减小此值,这可能是由于外部串行到USB芯片的限制。"}),{XML:Rk}=Fe,ck=Rk.render(mk,{title:"燒錄速度",message:"要選擇燒錄速度,請更改“Burn Speed”,此值將用於向設備燒錄程式碼。如果在用較高的燒錄速度時出現問題,請嘗試减小此值,這可能是由於外部串列到USB晶片的限制。"}),{XML:gk}=Fe,Ck=gk.render(mk,{title:"Burn Speed",message:"To select the flashing speed, change the Burn Speed. This value will be used for flashing the code to the device. If you have issues while flashing the device at high speed, try to decrease this value. This could be due to the external serial-to-USB chip limitations."}),Sk=new fe.Generator("Python");Sk.INDENT=" ",Sk.addReservedWords("False,None,True,and,as,assert,break,class,continue,def,del,elif,else,except,exec,finally,for,from,global,if,import,in,is,lambda,nonlocal,not,or,pass,print,raise,return,try,while,with,yield,NotImplemented,Ellipsis,__debug__,quit,exit,copyright,license,credits,ArithmeticError,AssertionError,AttributeError,BaseException,BlockingIOError,BrokenPipeError,BufferError,BytesWarning,ChildProcessError,ConnectionAbortedError,ConnectionError,ConnectionRefusedError,ConnectionResetError,DeprecationWarning,EOFError,Ellipsis,EnvironmentError,Exception,FileExistsError,FileNotFoundError,FloatingPointError,FutureWarning,GeneratorExit,IOError,ImportError,ImportWarning,IndentationError,IndexError,InterruptedError,IsADirectoryError,KeyError,KeyboardInterrupt,LookupError,MemoryError,ModuleNotFoundError,NameError,NotADirectoryError,NotImplemented,NotImplementedError,OSError,OverflowError,PendingDeprecationWarning,PermissionError,ProcessLookupError,RecursionError,ReferenceError,ResourceWarning,RuntimeError,RuntimeWarning,StandardError,StopAsyncIteration,StopIteration,SyntaxError,SyntaxWarning,SystemError,SystemExit,TabError,TimeoutError,TypeError,UnboundLocalError,UnicodeDecodeError,UnicodeEncodeError,UnicodeError,UnicodeTranslateError,UnicodeWarning,UserWarning,ValueError,Warning,ZeroDivisionError,_,__build_class__,__debug__,__doc__,__import__,__loader__,__name__,__package__,__spec__,abs,all,any,apply,ascii,basestring,bin,bool,buffer,bytearray,bytes,callable,chr,classmethod,cmp,coerce,compile,complex,copyright,credits,delattr,dict,dir,divmod,enumerate,eval,exec,execfile,exit,file,filter,float,format,frozenset,getattr,globals,hasattr,hash,help,hex,id,input,int,intern,isinstance,issubclass,iter,len,license,list,locals,long,map,max,memoryview,min,next,object,oct,open,ord,pow,print,property,quit,range,raw_input,reduce,reload,repr,reversed,round,set,setattr,slice,sorted,staticmethod,str,sum,super,tuple,type,unichr,unicode,vars,xrange,zip"),Sk.ORDER_ATOMIC=0,Sk.ORDER_COLLECTION=1,Sk.ORDER_STRING_CONVERSION=1,Sk.ORDER_UNARY_POSTFIX=1,Sk.ORDER_UNARY_PREFIX=2,Sk.ORDER_MEMBER=2.1,Sk.ORDER_FUNCTION_CALL=2.2,Sk.ORDER_EXPONENTIATION=3,Sk.ORDER_UNARY_SIGN=4,Sk.ORDER_BITWISE_NOT=4,Sk.ORDER_MULTIPLICATIVE=5,Sk.ORDER_ADDITIVE=6,Sk.ORDER_BITWISE_SHIFT=7,Sk.ORDER_BITWISE_AND=8,Sk.ORDER_BITWISE_XOR=9,Sk.ORDER_BITWISE_OR=10,Sk.ORDER_RELATIONAL=11,Sk.ORDER_EQUALITY=11,Sk.ORDER_LOGICAL_NOT=12,Sk.ORDER_LOGICAL_AND=13,Sk.ORDER_LOGICAL_OR=14,Sk.ORDER_ASSIGNMENT=14,Sk.ORDER_CONDITIONAL=15,Sk.ORDER_LAMBDA=16,Sk.ORDER_NONE=99,Sk.ORDER_OVERRIDES=[[Sk.ORDER_FUNCTION_CALL,Sk.ORDER_MEMBER],[Sk.ORDER_FUNCTION_CALL,Sk.ORDER_FUNCTION_CALL],[Sk.ORDER_MEMBER,Sk.ORDER_MEMBER],[Sk.ORDER_MEMBER,Sk.ORDER_FUNCTION_CALL]],Sk.init=function(){Sk.PASS=this.INDENT+"pass\n",Sk.definitions_=Object.create(null),Sk.functionNames_=Object.create(null),Sk.setups_=Object.create(null),Sk.loops_=Object.create(null),Sk.codeEnd_=Object.create(null),Sk.variableDB_?Sk.variableDB_.reset():Sk.variableDB_=new Xe(Sk.RESERVED_WORDS_)},Sk.finish=function(e){""!==e&&(e=(e=e.replace(/\n/g,"\n")).replace(/\n\s+$/,"\n"));var t=[],i=[],n=[];for(var s in this.definitions_){var _=this.definitions_[s];0===s.indexOf("import")?t.push(_):0===s.indexOf("var_declare")?i.push(_):n.push(_)}t.length&&t.push("\n"),i.length&&i.push("\n"),n.length&&n.push("\n");var o=[];for(var s in Sk.functions_)o.push(Sk.functions_[s]);o.length&&o.push("\n");var p=[];for(var s in Sk.setups_)p.push(Sk.setups_[s]);p.length&&p.push("\n");var a=[];for(var s in Sk.loops_)a.push(Sk.loops_[s]);var u=[];for(var s in Sk.codeEnd_)u.push(Sk.codeEnd_[s]);0!==u.length&&u.push("\n");let r="";return r=a.length>0?t.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+e+"while True:\n"+a.join("")+u.join("\n"):t.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+e+u.join("\n"),r},Sk.scrubNakedValue=function(e){return e+"\n"},Sk.quote_=function(e){var t="'";return-1!==(e=e.replace(/\\/g,"\\\\").replace(/\n/g,"\\\n")).indexOf("'")&&(-1===e.indexOf('"')?t='"':e=e.replace(/'/g,"\\'")),t+e+t},Sk.multiline_quote_=function(e){return"'''"+(e=e.replace(/'''/g,"\\'\\'\\'"))+"'''"},Sk.scrub_=function(e,t,i){var n="";if(!e.outputConnection||!e.outputConnection.targetConnection){(_=e.getCommentText())&&(_=fe.utils.string.wrap(_,Sk.COMMENT_WRAP-3),n+=Sk.prefixLines(_+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const Ak={};Ak["MixGo MINI"]={description:"MicroPython[ESP32C3 MixGo MINI]",digital_pin:Fe.Profile.generate(["0-10","18"]),input_pin:Fe.Profile.generate(["0-10","18"]),output_pin:Fe.Profile.generate(["0-10","18"]),pwm_input:Fe.Profile.generate(["0-10","18"],"pwm","pwm"),analog_input:Fe.Profile.generate(["0-4"],"adc","adc"),pwm_output:Fe.Profile.generate(["0-10","18"],"pwm","pwm"),analog_output:Fe.Profile.generate(["0-4"],"adc","adc"),espnow_channel:Fe.Profile.generate(["1-13"]),haskylens_model:Fe.Profile.generate(["0-4"]),digital:Fe.Profile.generate(["0-10","18"],"pin","pin"),pwm_pin:Fe.Profile.generate(["0-10","18"]),pwm:Fe.Profile.generate(["0-10","18"],"pwm","pwm"),analog_pin:Fe.Profile.generate(["0-4"]),analog:Fe.Profile.generate(["0-4"],"adc","adc"),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:Fe.Profile.generate(["0-4"]),exlcdh:Fe.Profile.generate(["0-11"]),exlcdv:Fe.Profile.generate(["0-7"]),brightness:Fe.Profile.generate(["0-9"]),tts_voice:Fe.Profile.generate(["0-16"]),tts_builtin_music:Fe.Profile.generate(["0-47"]),tts_bgmusic:Fe.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["ANGRY","onboard_matrix.ANGRY"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["DOOR_OPEN","onboard_matrix.DOOR_OPEN"],["DOOR_OPENING","onboard_matrix.DOOR_OPENING"],["DOOR_CLOSE","onboard_matrix.DOOR_CLOSE"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["BIRTHDAY","onboard_music.BIRTHDAY"],["BA_DING","onboard_music.BA_DING"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]},Ak["ESP32C2 Generic(2M)"]={description:"MicroPython[ESP32C3 MixGo CC]",digital_pin:Fe.Profile.generate(["0-11","18-21"]),input_pin:Fe.Profile.generate(["0-11","18-21"]),output_pin:Fe.Profile.generate(["0-11","18-21"]),pwm_input:Fe.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_input:Fe.Profile.generate(["0-5"],"adc","adc"),pwm_output:Fe.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_output:Fe.Profile.generate(["0-5"],"adc","adc"),espnow_channel:Fe.Profile.generate(["1-13"]),haskylens_model:Fe.Profile.generate(["0-4"]),digital:Fe.Profile.generate(["0-11","18-21"],"pin","pin"),pwm_pin:Fe.Profile.generate(["0-11","18-21"]),pwm:Fe.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_pin:Fe.Profile.generate(["0-5"]),analog:Fe.Profile.generate(["0-5"],"adc","adc"),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:Fe.Profile.generate(["0-4"]),exlcdh:Fe.Profile.generate(["0-31"]),exlcdv:Fe.Profile.generate(["0-11"]),brightness:Fe.Profile.generate(["0-9"]),tts_voice:Fe.Profile.generate(["0-16"]),tts_builtin_music:Fe.Profile.generate(["0-47"]),tts_bgmusic:Fe.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]};const Lk=Ak,Nk=20,Dk={init:function(){this.setColour(Nk),this.appendDummyInput("").appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_HIGH,"HIGH"],[fe.Msg.MIXLY_LOW,"LOW"]]),"BOOL"),this.setOutput(!0,Boolean),this.setTooltip(fe.Msg.MIXLY_ESP32_INOUT_HIGHLOW_TOOLTIP)}},fk={init:function(){this.setColour(Nk),this.appendValueInput("PIN",Number).appendField(fe.Msg.MIXLY_Digital_PINMODEOUT).setCheck(Number),this.appendValueInput("STAT").appendField(fe.Msg.MIXLY_STAT).setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_INOUT_DIGITAL_WRITE_TOOLTIP)}},Fk={init:function(){this.setColour(Nk),this.appendValueInput("PIN",Number).appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(fe.Msg.MIXLY_Digital_PINMODEIN).setCheck(Number),this.appendDummyInput().appendField(fe.Msg.MIXLY_ESP32_MACHINE_VALUE),this.setInputsInline(!0),this.setOutput(!0,[Boolean,Number]),this.setTooltip(fe.Msg.MIXLY_ESP32_INOUT_DIGITAL_READ_TOOLTIP)}},Pk={init:function(){this.setColour(Nk),this.appendValueInput("PIN",Number).appendField("DAC"+fe.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendValueInput("NUM",Number).appendField(fe.Msg.MIXLY_VALUE2).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(fe.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_TOOLTIP)}},Yk={init:function(){this.setColour(Nk),this.appendValueInput("PIN",Number).appendField(fe.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_JS_PERIOD_MIL).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_mSecond,"period"],[fe.Msg.MIXLY_uSecond,"period_microseconds"]]),"key"),this.appendValueInput("NUM",Number).appendField(fe.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(fe.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_SET_TOOLTIP)}},vk={init:function(){this.setColour(Nk),this.appendValueInput("PIN",Number).appendField(fe.Msg.MIXLY_Analog_PINMODEIN).setCheck(Number),this.appendDummyInput("").appendField(fe.Msg.MIXLY_ESP32_REF_VOLTAGE+fe.Msg.MIXLY_STAT).appendField(new fe.FieldDropdown([["3.3V","machine.ADC.ATTN_11DB"],["1.2V","machine.ADC.ATTN_0DB"]]),"atten"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(fe.Msg.MIXLY_ESP32_INOUT_ANALOG_ATTEN_TOOLTIP)}},Xk={init:function(){this.setColour(Nk),this.appendValueInput("pin").appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(fe.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendDummyInput().appendField(fe.Msg.MIXLY_ESP32_MACHINE_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_INOUT_PIN_PRESSED_TOOLTIP)}},yk={init:function(){this.setColour(20),this.appendValueInput("PIN",Number).appendField(fe.Msg.MIXLY_ATTACHINTERRUPT_PIN).setCheck(Number),this.appendDummyInput("").appendField(fe.Msg.MIXLY_MODE).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[fe.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[fe.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(fe.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_INOUT_PIN_ATTACHINTERRUPT_TOOLTIP)}},xk={init:function(){this.setColour(20),this.appendDummyInput().appendField(fe.Msg.MIXLY_SETUP).appendField(new fe.FieldTextInput("pin#"),"PIN_OBJ"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROPYTHON_AS).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_Digital_PINMODEOUT,"machine.Pin.OUT"],[fe.Msg.MIXLY_Digital_PINMODEIN,"machine.Pin.IN"],[fe.Msg.MIXLY_PINMODEPULLUP,"machine.Pin.IN, machine.Pin.PULL_UP"],[fe.Msg.MIXLY_PINMODEPULLDOWN,"machine.Pin.IN, machine.Pin.PULL_DOWN"]]),"MODE"),this.appendValueInput("PIN",Number).appendField(fe.Msg.MIXLY_PIN).setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_INOUT_DIGITAL_INIT_TOOLTIP)},getVars:function(){return["pin#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(e,t){fe.Names.equals(e,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(t,"PIN_OBJ")}},bk={init:function(){this.setColour(Nk),this.appendDummyInput("").appendField(fe.Msg.MIXLY_SETUP).appendField(new fe.FieldTextInput("dac#"),"PIN_OBJ").appendField(fe.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField("DAC"+fe.Msg.MIXLY_Analog_PINMODEOUT),this.appendValueInput("PIN",Number).appendField(fe.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(fe.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_INIT_TOOLTIP)},getVars:function(){return["dac#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(e,t){fe.Names.equals(e,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(t,"PIN_OBJ")}},Vk={init:function(){this.setColour(Nk),this.appendDummyInput("").appendField(fe.Msg.MIXLY_SETUP).appendField(new fe.FieldTextInput("tc#"),"PIN_OBJ").appendField(fe.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField(fe.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendValueInput("PIN",Number).appendField(fe.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(fe.Msg.MIXLY_ESP32_INOUT_PIN_PRESSED_INIT_TOOLTIP)},getVars:function(){return["tc#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(e,t){fe.Names.equals(e,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(t,"PIN_OBJ")}},Bk={init:function(){this.setColour(Nk),this.appendValueInput("PIN",Number).appendField("PWM"+fe.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendValueInput("NUM",Number).appendField(fe.Msg.MIXLY_FREQUENCY+fe.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(fe.Msg.MIXLY_ESP32_INOUT_PWM_ANALOG_WRITE_SET_FREQ_TOOLTIP)}},Gk=xk,Uk=Vk,wk=Xk,Hk=yk,kk=40,Wk={init:function(){if("mixgo_me"==Fe.Boards.getSelectedBoardKey().split(":")[2])var e="ME G1";this.setColour(kk),this.appendDummyInput("").appendField(e).appendField(fe.Msg.MIXLY_TEM_HUM+" AHT21").appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_GETTEMPERATUE,"temperature"],[fe.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{temperature:fe.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,relative_humidity:fe.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},Kk={init:function(){if("mixgo_me"==Fe.Boards.getSelectedBoardKey().split(":")[2])var e="ME G1";this.setColour(kk),this.appendDummyInput("").appendField(e).appendField(fe.Msg.MIXLY_Altitude+fe.Msg.MSG.catSensor+" HP203X").appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_GETPRESSURE,"pressure()"],[fe.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[fe.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Jk={init:function(){if("mixgo_me"==Fe.Boards.getSelectedBoardKey().split(":")[2])var e="ME G1";this.setColour(kk),this.appendDummyInput().appendField(e).appendField(fe.Msg.MIXLY_MIXGO_NOVA_POTENTIAL_NUM),this.setOutput(!0,Number),this.setInputsInline(!0)}},Qk={init:function(){if("mixgo_me"==Fe.Boards.getSelectedBoardKey().split(":")[2])var e="ME G1";this.setColour(kk),this.appendDummyInput().appendField(e).appendField("RFID"+fe.Msg.MIXLY_RFID_READ_CARD),this.appendDummyInput("").appendField(fe.Msg.MIXLY_RFID_READ_CARD_UID),this.appendDummyInput().appendField(`(${fe.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0,Number),this.setInputsInline(!0),this.setWarningText(fe.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},qk={init:function(){if("mixgo_me"==Fe.Boards.getSelectedBoardKey().split(":")[2])var e="ME G1";this.setColour(kk),this.appendDummyInput().appendField(e).appendField("RFID"+fe.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SECTOR").appendField(fe.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL),this.appendDummyInput().appendField(`(${fe.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0,Number),this.setInputsInline(!0),this.setWarningText(fe.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},zk={init:function(){if("mixgo_me"==Fe.Boards.getSelectedBoardKey().split(":")[2])var e="ME G1";this.setColour(kk),this.appendDummyInput().appendField(e).appendField(fe.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SECTOR").appendField(fe.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(fe.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(`(${fe.Msg.MIXLY_DEPRECATED})`),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setWarningText(fe.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},jk={init:function(){if("mixgo_me"==Fe.Boards.getSelectedBoardKey().split(":")[2])var e="ME G1";this.setColour(kk),this.appendDummyInput().appendField(e).appendField(fe.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SECTOR").appendField(fe.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(fe.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(fe.Msg.RETURN_SUCCESS_OR_NOT),this.appendDummyInput().appendField(`(${fe.Msg.MIXLY_DEPRECATED})`),this.setInputsInline(!0),this.setOutput(!0),this.setWarningText(fe.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},$k={init:function(){if("mixgo_me"==Fe.Boards.getSelectedBoardKey().split(":")[2])var e="ME G1";this.setColour(kk),this.appendDummyInput().appendField(e).appendField("RFID"),this.appendDummyInput("").appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_RFID_SCAN_OK,"True"],[fe.Msg.MIXLY_RFID_SCAN_NOTAGERR,"None"],[fe.Msg.MIXLY_RFID_SCAN_ERROR,"False"]]),"key"),this.appendDummyInput().appendField(`(${fe.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0,Number),this.setInputsInline(!0),this.setWarningText(fe.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Zk=100,eW={init:function(){this.setColour(Zk),this.appendDummyInput("").appendField(new fe.FieldDropdown([[fe.Msg.MIXGO_LEFT_FRONT+fe.Msg.COLOUR_RGB_GREEN+fe.Msg.MIXLY_EXTERN_LED,"GLED[0]"],[fe.Msg.MIXGO_RIGHT_FRONT+fe.Msg.COLOUR_RGB_GREEN+fe.Msg.MIXLY_EXTERN_LED,"GLED[1]"],[fe.Msg.MIXGO_LEFT_BACK+fe.Msg.COLOUR_RGB_GREEN+fe.Msg.MIXLY_EXTERN_LED,"GLED[3]"],[fe.Msg.MIXGO_RIGHT_BACK+fe.Msg.COLOUR_RGB_GREEN+fe.Msg.MIXLY_EXTERN_LED,"GLED[2]"],[fe.Msg.MIXGO_LEFT_FRONT+fe.Msg.COLOUR_RGB_RED+fe.Msg.MIXLY_EXTERN_LED,"RLED[0]"],[fe.Msg.MIXGO_RIGHT_FRONT+fe.Msg.COLOUR_RGB_RED+fe.Msg.MIXLY_EXTERN_LED,"RLED[1]"],[fe.Msg.MIXGO_LEFT_BACK+fe.Msg.COLOUR_RGB_RED+fe.Msg.MIXLY_EXTERN_LED,"RLED[3]"],[fe.Msg.MIXGO_RIGHT_BACK+fe.Msg.COLOUR_RGB_RED+fe.Msg.MIXLY_EXTERN_LED,"RLED[2]"],[fe.Msg.ME_GO_LIGHT_HEADLIGHT,"WLED"]]),"op"),this.setOutput(!0)}},tW={init:function(){this.setColour(Zk),this.appendDummyInput().appendField(fe.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField("ME GO"),this.appendValueInput("bright").appendField(fe.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_LED_SETONOFF)}},iW={init:function(){this.setColour(Zk),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField("ME GO"),this.appendDummyInput().appendField(fe.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_LED_GETONOFF)}},nW={init:function(){this.setColour(Zk),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField("ME GO"),this.appendDummyInput().appendField(fe.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_LED_GETONOFF)}},sW={init:function(){this.setColour(Zk),this.appendDummyInput().appendField(fe.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField("ME GO"),this.appendValueInput("bright").appendField(fe.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_SETTING+fe.Msg.MIXLY_BUILDIN_LED+fe.Msg.MIXLY_BRIGHTNESS+"(0-10)")}},_W={init:function(){this.setColour(Zk),this.appendDummyInput().appendField("ME GO").appendField(new fe.FieldDropdown([[fe.Msg.blockpy_forward,"F"],[fe.Msg.blockpy_backward,"B"],[fe.Msg.blockpy_left,"L"],[fe.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},oW={init:function(){this.setColour(Zk),this.appendDummyInput().appendField("ME GO").appendField(new fe.FieldDropdown([[fe.Msg.MOTOR_P,"P"],[fe.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},pW={init:function(){this.setColour(Zk),this.appendDummyInput().appendField("ME GO").appendField(fe.Msg.MOTOR_DC).appendField(new fe.FieldDropdown([[fe.Msg.MIXLYCAR_WHEEL_LEFT,"0"],[fe.Msg.MIXLYCAR_WHEEL_RIGHT,"1"],[fe.Msg.ME_GO_MOTOR_EXTERN,"2"]]),"wheel"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_Direction).appendField(new fe.FieldDropdown([[fe.Msg.ROTATION_FORWARD,"CW"],[fe.Msg.ROTATION_BACKWARD,"CCW"],[fe.Msg.MOTOR_P,"P"],[fe.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},aW={init:function(){this.setColour(Zk),this.appendDummyInput("").appendField(fe.Msg.MIXLY_ESP32_INTERRUPT).appendField(fe.Msg.ME_GO_HALL_SENSOR),this.appendDummyInput("").appendField(new fe.FieldDropdown([[fe.Msg.TEXT_TRIM_LEFT,"A"],[fe.Msg.TEXT_TRIM_RIGHT,"B"]]),"mode"),this.appendValueInput("DO").appendField(fe.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},uW={init:function(){this.setColour(Zk),this.appendDummyInput("").appendField(fe.Msg.ME_GO_HALL_SENSOR),this.appendDummyInput("").appendField(new fe.FieldDropdown([[fe.Msg.TEXT_TRIM_LEFT,"A"],[fe.Msg.TEXT_TRIM_RIGHT,"B"]]),"mode"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_SETUP),this.appendDummyInput("").appendField(new fe.FieldDropdown([["turns","turns"],["distance","distance"],["turns,distance","all"]]),"args"),this.appendValueInput("num").setCheck(Number),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},rW={init:function(){this.setColour(Zk),this.appendDummyInput("").appendField(fe.Msg.ME_GO_HALL_SENSOR),this.appendDummyInput("").appendField(new fe.FieldDropdown([[fe.Msg.TEXT_TRIM_LEFT,"A"],[fe.Msg.TEXT_TRIM_RIGHT,"B"]]),"mode"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput("").appendField(new fe.FieldDropdown([["turns","turns"],["distance","distance"],["speed","speed"]]),"args"),this.setOutput(!0),this.setInputsInline(!0)}},dW={init:function(){this.setColour(Zk),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new fe.FieldDropdown([[fe.Msg.TEXT_TRIM_LEFT,"[0]"],[fe.Msg.MIXGO_LEFT_MID,"[1]"],[fe.Msg.MIXGO_RIGHT_MID,"[2]"],[fe.Msg.TEXT_TRIM_RIGHT,"[3]"],[fe.Msg.MIXLY_ALL,""]]),"key").appendField(fe.Msg.MIXGO_LINE_SENSOR_VAL),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip((function(){return fe.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP+fe.Msg.MIXLY_ESP32_NEAR}))}},lW={init:function(){this.setColour(Zk),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new fe.FieldDropdown([[fe.Msg.MIXGO_LEFT_FRONT,"[0]"],[fe.Msg.MIXGO_RIGHT_FRONT,"[1]"],[fe.Msg.MIXGO_LEFT_BACK,"[3]"],[fe.Msg.MIXGO_RIGHT_BACK,"[2]"],[fe.Msg.MIXLY_ALL,""]]),"key").appendField(fe.Msg.MIXGO_PROXIMITY_SENSOR),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip((function(){return fe.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP+fe.Msg.MIXLY_ESP32_NEAR}))}},IW={init:function(){this.setColour(Zk),this.appendDummyInput().appendField(fe.Msg.MIXLY_MIXGO_CAR_SENSOR_ONBOARD_CHANGE).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_ME_GO_CAR_SENSOR_ONBOARD_AUTO_CHANGE,"AS"],[fe.Msg.MIXLY_MIXGO_CAR_USE_LINE_ONLY,"LP"],[fe.Msg.MIXLY_MIXGO_CAR_USE_PROXIMITY_ONLY,"OA"],[fe.Msg.MIXLY_ME_GO_CAR_LIGHT_SEEKING_ONLY,"LS"],[fe.Msg.ME_GO_SENSOR_MODE_OFF,"CL"]]),"key"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},MW={init:function(){this.setColour(Zk),this.appendDummyInput("").appendField(fe.Msg.MIXLY_GET_GESTURE).appendField(new fe.FieldDropdown([[fe.Msg.ME_GO_PITCH,"[0]"],[fe.Msg.ME_GO_ROLL,"[1]"],[fe.Msg.ME_GO_PITCH+", "+fe.Msg.ME_GO_ROLL,""]]),"angle"),this.appendDummyInput(""),this.setOutput(!0,Number),this.setInputsInline(!0)}},TW={init:function(){this.setColour(Zk),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new fe.FieldDropdown([[fe.Msg.TEXT_TRIM_LEFT,"[0]"],[fe.Msg.MIXGO_LEFT_MID,"[1]"],[fe.Msg.MIXGO_RIGHT_MID,"[2]"],[fe.Msg.TEXT_TRIM_RIGHT,"[3]"],[fe.Msg.MIXLY_ALL,""]]),"key").appendField(fe.Msg.MIXLY_ME_GO_CAR_LIGHT_SEEKING_SENSOR),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip((function(){return fe.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP+fe.Msg.MIXLY_ME_GO_CAR_LIGHT_SEEKING_SENSOR}))}},hW=230,mW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.digital),"PIN"),this.setOutput(!0)}},EW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.digital_pin),"PIN"),this.setOutput(!0,Number)}},OW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.input_pin),"PIN"),this.setOutput(!0,Number)}},RW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.output_pin),"PIN"),this.setOutput(!0,Number)}},cW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.espnow_channel),"PIN"),this.setOutput(!0,Number)}},gW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.haskylens_model),"PIN"),this.setOutput(!0,Number)}},CW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.pwm_input),"PIN"),this.setOutput(!0)}},SW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.analog_input),"PIN"),this.setOutput(!0)}},AW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.pwm_output),"PIN"),this.setOutput(!0)}},LW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.analog_output),"PIN"),this.setOutput(!0)}},NW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.i2c_A_pin),"PIN"),this.setOutput(!0,Number)}},DW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.i2c_B_pin),"PIN"),this.setOutput(!0,Number)}},fW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.spi_A_pin),"PIN"),this.setOutput(!0,Number)}},FW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.spi_B_pin),"PIN"),this.setOutput(!0,Number)}},PW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.spi_C_pin),"PIN"),this.setOutput(!0,Number)}},YW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.spi_D_pin),"PIN"),this.setOutput(!0,Number)}},vW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.analog),"PIN"),this.setOutput(!0)}},XW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.analog_pin),"PIN"),this.setOutput(!0,Number)}},yW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.dac),"PIN"),this.setOutput(!0)}},xW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.dac_pin),"PIN"),this.setOutput(!0,Number)}},bW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.button),"PIN"),this.setOutput(!0,Number)}},VW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.buttonB),"PIN"),this.setOutput(!0,Number)}},BW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.pwm),"PIN"),this.setOutput(!0)}},GW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.pwm_pin),"PIN"),this.setOutput(!0,Number)}},UW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.touch_pin),"PIN"),this.setOutput(!0,Number)}},wW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.touch),"PIN"),this.setOutput(!0)}},HW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.serial_pin),"PIN"),this.setOutput(!0,Number)}},kW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.builtinimg),"PIN"),this.setOutput(!0,"esp32_image")}},WW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.builtinimg_extern),"PIN"),this.setOutput(!0,"esp32_image")}},KW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.imglist),"PIN"),this.setOutput(!0)}},JW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.playlist),"PIN"),this.setOutput(!0)}},QW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.playlist_extern),"PIN"),this.setOutput(!0)}},qW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.exlcdh),"PIN"),this.setOutput(!0,Number)}},zW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.exlcdv),"PIN"),this.setOutput(!0,Number)}},jW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.axis),"PIN"),this.setOutput(!0,Number)}},$W={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.brightness),"PIN"),this.setOutput(!0,Number)}},ZW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.tts_voice),"PIN"),this.setOutput(!0,Number)}},eK={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.tts_builtin_music),"PIN"),this.setOutput(!0,Number)}},tK={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.tts_bgmusic),"PIN"),this.setOutput(!0,Number)}},iK={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.tone_notes),"PIN"),this.setOutput(!0,Number)}},nK={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.radio_power),"PIN"),this.setOutput(!0,Number)}},sK={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.radio_datarate),"PIN"),this.setOutput(!0,Number)}},_K={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.one_more),"PIN"),this.setOutput(!0)}},oK={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.digital_dot),"PIN"),this.setOutput(!0,Number)}},pK={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown([["0","0"]]),"PIN"),this.setOutput(!0,Number)}},aK=function(e,t){const i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"PIN",t.ORDER_ATOMIC),s=t.valueToCode(this,"LEDCOUNT",t.ORDER_ATOMIC);t.definitions_.import_machine="import machine",t.definitions_.import_ws2812x_NeoPixel="from ws2812x import NeoPixel";return`${i} = NeoPixel(machine.Pin(${n}), ${s})\n`},uK=function(e,t){return["HIGH"==this.getFieldValue("BOOL")?"1":"0",t.ORDER_ATOMIC]},rK=function(e,t){t.definitions_.import_machine="import machine";var i="";return i+=t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+".value("+t.valueToCode(this,"STAT",t.ORDER_ATOMIC)+")\n"},dK=function(e,t){t.definitions_.import_machine="import machine";return[t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+".value()",t.ORDER_ATOMIC]},lK=function(e,t){return t.definitions_.import_machine="import machine",t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+".write("+t.valueToCode(this,"NUM",t.ORDER_ATOMIC)+")\n"},IK=function(e,t){t.definitions_.import_machine="import machine";var i=t.valueToCode(this,"PIN",t.ORDER_ATOMIC),n=t.valueToCode(this,"NUM",t.ORDER_ATOMIC);return i+".set_analog_"+this.getFieldValue("key")+"("+n+")\n"},MK=function(e,t){return t.definitions_.import_machine="import machine",[t.valueToCode(this,"pin",t.ORDER_ATOMIC)+".read()",t.ORDER_ATOMIC]},TK=function(e,t){t.definitions_.import_machine="import machine";var i=t.valueToCode(this,"PIN",t.ORDER_ATOMIC),n=this.getFieldValue("mode");return"machine.Pin("+i+").irq(handler = "+t.valueToCode(this,"DO",t.ORDER_ATOMIC)+", trigger = "+n+")\n"},hK=function(e,t){t.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"pin#",n=t.valueToCode(this,"PIN",t.ORDER_ATOMIC),s=this.getFieldValue("MODE");return("pin#"==i?"pin"+n:t.variableDB_.getName(i,fe.Variables.NAME_TYPE))+" = machine.Pin("+n+", "+s+")\n"},mK=function(e,t){t.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"dac#",n=t.valueToCode(this,"PIN",t.ORDER_ATOMIC);return("dac#"==i?"dac"+n:t.variableDB_.getName(i,fe.Variables.NAME_TYPE))+" = machine.DAC(machine.Pin("+n+"))\n"},EK=function(e,t){return t.definitions_.import_machine="import machine",t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+".atten("+this.getFieldValue("atten")+")\n"},OK=function(e,t){t.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"tc#",n=t.valueToCode(this,"PIN",t.ORDER_ATOMIC);return("tc#"==i?"tc"+n:t.variableDB_.getName(i,fe.Variables.NAME_TYPE))+" = machine.TouchPad(machine.Pin("+n+"))\n"},RK=function(e,t){var i=this.getFieldValue("key");return t.definitions_.import_mini_g2="import mini_g2",["mini_g2.ext_ahtx0."+i+"()",t.ORDER_ATOMIC]},cK=function(e,t){var i=this.getFieldValue("key");return t.definitions_.import_mini_g2="import mini_g2",["mini_g2.ext_hp203x."+i,t.ORDER_ATOMIC]},gK=function(e,t){t.definitions_.import_mini_g2="import mini_g2";return["mini_g2.varistor()",t.ORDER_ATOMIC]},CK=function(e,t){t.definitions_.import_mini_g2="import mini_g2";var i=Fe.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_mini"==i){t.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var n='ext_rfid.read_card(0, x="id")'}else{t.definitions_["import_"+i+"_onboard_rfid"]="from "+i+" import onboard_rfid";n='onboard_rfid.read_card(0, x="id")'}return[n,t.ORDER_ATOMIC]},SK=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"SECTOR",t.ORDER_ATOMIC);if("mixgo_mini"==i){t.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var s="ext_rfid.read_card("+n+")"}else{t.definitions_["import_"+i+"_onboard_rfid"]="from "+i+" import onboard_rfid";s="onboard_rfid.read_card("+n+', x="content")'}return[s,t.ORDER_ATOMIC]},AK=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"SECTOR",t.ORDER_ATOMIC),s=t.valueToCode(this,"CONTENT",t.ORDER_ATOMIC);if("mixgo_mini"==i){t.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var _="ext_rfid.write_card("+s+","+n+")\n"}else{t.definitions_["import_"+i+"_onboard_rfid"]="from "+i+" import onboard_rfid";_="onboard_rfid.write_card("+s+", "+n+")\n"}return _},LK=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"SECTOR",t.ORDER_ATOMIC),s=t.valueToCode(this,"CONTENT",t.ORDER_ATOMIC);if("mixgo_mini"==i){t.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var _="ext_rfid.write_card("+s+","+n+")"}else{t.definitions_["import_"+i+"_onboard_rfid"]="from "+i+" import onboard_rfid";_="onboard_rfid.write_card("+s+", "+n+")"}return[_,t.ORDER_ATOMIC]},NK=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2],n=this.getFieldValue("key");if("mixgo_mini"==i){t.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var s="ext_rfid.scan_card()=="+n}else{t.definitions_["import_"+i+"_onboard_rfid"]="from "+i+" import onboard_rfid";s="onboard_rfid.scan_card()=="+n}return[s,t.ORDER_ATOMIC]},DK=function(e,t){return t.definitions_.import_me_go_car="from me_go import car",["car."+this.getFieldValue("op"),t.ORDER_ATOMIC]},fK=function(e,t){var i=t.valueToCode(this,"led",t.ORDER_ATOMIC);return t.definitions_.import_me_go_car="from me_go import car","car.setonoff("+i+","+t.valueToCode(this,"bright",t.ORDER_ATOMIC)+")\n"},FK=function(e,t){var i=t.valueToCode(this,"led",t.ORDER_ATOMIC);return t.definitions_.import_me_go_car="from me_go import car",["car.getrightness("+i+")",t.ORDER_ATOMIC]},PK=function(e,t){var i=t.valueToCode(this,"led",t.ORDER_ATOMIC);return t.definitions_.import_me_go_car="from me_go import car",["car.getonoff("+i+")",t.ORDER_ATOMIC]},YK=function(e,t){var i=t.valueToCode(this,"led",t.ORDER_ATOMIC);return t.definitions_.import_me_go_car="from me_go import car","car.setbrightness("+i+","+t.valueToCode(this,"bright",t.ORDER_ATOMIC)+")\n"},vK=function(e,t){var i=this.getFieldValue("VAR");return t.definitions_.import_me_go_car="from me_go import car",'car.move("'+i+'",'+t.valueToCode(this,"speed",t.ORDER_ASSIGNMENT)+")\n"},XK=function(e,t){var i=this.getFieldValue("VAR");return t.definitions_.import_me_go_car="from me_go import car",'car.move("'+i+'")\n'},yK=function(e,t){var i=this.getFieldValue("wheel");t.definitions_.import_me_go_car="from me_go import car";var n=this.getFieldValue("direction");return 0==i&&("CW"==n?n="CCW":"CCW"==n&&(n="CW")),"car.motor(car.MOTO["+i+'],"'+n+'",'+t.valueToCode(this,"speed",t.ORDER_ATOMIC)+")\n"},xK=function(e,t){var i=this.getFieldValue("mode");return t.definitions_["import_me_go_hall_"+i]="from me_go import hall_"+i,"hall_"+i+".irq_cb("+t.valueToCode(this,"DO",t.ORDER_ATOMIC)+")\n"},bK=function(e,t){var i=this.getFieldValue("mode"),n=this.getFieldValue("args");t.definitions_["import_me_go_hall_"+i]="from me_go import hall_"+i;var s=t.valueToCode(this,"num",t.ORDER_ATOMIC);return"all"==n?"hall_"+i+".initial(turns="+s+",distance="+s+")\n":"hall_"+i+".initial("+n+"="+s+")\n"},VK=function(e,t){var i=this.getFieldValue("mode"),n=this.getFieldValue("args");return t.definitions_["import_me_go_hall_"+i]="from me_go import hall_"+i,["hall_"+i+"."+n,t.ORDER_ATOMIC]},BK=function(e,t){var i=this.getFieldValue("key");return t.definitions_.import_me_go_hall="from me_go import car",["car.patrol()"+i,t.ORDER_ATOMIC]},GK=function(e,t){var i=this.getFieldValue("key");return t.definitions_.import_me_go_hall="from me_go import car",["car.obstacle()"+i,t.ORDER_ATOMIC]},UK=function(e,t){var i=this.getFieldValue("key");return t.definitions_.import_me_go_hall="from me_go import car","car.ir_mode(car."+i+")\n"},wK=function(e,t){return t.definitions_.import_mixgo_me_onboard_mxc6655xa="from mixgo_me import onboard_mxc6655xa",["onboard_mxc6655xa.eulerangles(upright=True)"+this.getFieldValue("angle"),t.ORDER_ATOMIC]},HK=function(e,t){var i=this.getFieldValue("key");return t.definitions_.import_me_go_hall="from me_go import car",["car.light()"+i,t.ORDER_ATOMIC]},kK=function(e,t){return[this.getFieldValue("PIN"),t.ORDER_ATOMIC]},WK=kK,KK=kK,JK=kK,QK=kK,qK=kK,zK=kK,jK=kK,$K=kK,ZK=kK,eJ=kK,tJ=kK,iJ=kK,nJ=kK,sJ=kK,_J=kK,oJ=kK,pJ=kK,aJ=kK,uJ=kK,rJ=kK,dJ=kK,lJ=kK,IJ=kK,MJ=kK,TJ=kK,hJ=kK,mJ=kK,EJ=kK,OJ=kK,RJ=kK,cJ=kK,gJ=kK,CJ=kK,SJ=kK,AJ=kK,LJ=kK,NJ=kK,DJ=kK,fJ=kK,FJ=kK,PJ=kK,YJ=kK,vJ=kK,XJ=kK,yJ=kK;Object.assign(fe.Variables,Ye),Object.assign(fe.Procedures,Qu),Object.assign(fe.Lang.ZhHans,me),Object.assign(fe.Lang.ZhHant,Ee),Object.assign(fe.Lang.En,Oe),fe.Python=qu,fe.generator=qu,Fe.Profile.default={},Object.assign(Fe.Profile,Lk),Object.assign(Fe.Profile.default,Lk["MixGo CC"]),Object.assign(fe.Blocks,t,i,n,s,_,o,p,a,u,r,d,l,I,G,J,K,x,U,Q,f,P,Y,W,k,w,H,F,D,N,V,b,B,v,X,y,Re,ce,ge,Ce),Object.assign(fe.Python.forBlock,M,T,h,m,E,O,R,c,g,C,S,A,L,ae,Te,Me,se,ue,he,j,$,ee,Ie,le,re,de,Z,z,q,oe,_e,pe,te,ie,ne,Se,Ae,Le,Ne,De)})(); \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/main.bundle.29be3cf1.js b/boards/default/micropython_esp32c2/main.bundle.29be3cf1.js deleted file mode 100644 index cfce006e..00000000 --- a/boards/default/micropython_esp32c2/main.bundle.29be3cf1.js +++ /dev/null @@ -1,21 +0,0 @@ -(()=>{"use strict";var e={d:(t,i)=>{for(var n in i)e.o(i,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:i[n]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};e.r(t),e.d(t,{controls_type:()=>Ve,controls_typeLists:()=>Be,lists_zip:()=>Ge,lists_zip_container:()=>Ue,lists_zip_item:()=>we,unpack_iterable_object:()=>He,variables_change:()=>xe,variables_get:()=>Xe,variables_global:()=>be,variables_set:()=>ye});var i={};e.r(i),e.d(i,{base_setup:()=>Ke,controls_delay:()=>Je,controls_end_program:()=>Qe,controls_except:()=>pt,controls_finally:()=>at,controls_flow_statements:()=>et,controls_for:()=>tt,controls_forEach:()=>je,controls_for_range:()=>it,controls_if:()=>qe,controls_if_else:()=>_t,controls_if_elseif:()=>st,controls_if_if:()=>nt,controls_lambda:()=>rt,controls_main:()=>We,controls_pass:()=>dt,controls_range:()=>ze,controls_repeat_ext:()=>ut,controls_thread:()=>lt,controls_try:()=>ot,controls_try_finally:()=>Ze,controls_whileUntil:()=>$e,datetime_fromtimestamp:()=>Et,do_while:()=>It,garbage_collection:()=>Tt,gene_unique_identifier:()=>Ot,get_mem_alloc:()=>Mt,get_mem_free:()=>ht,get_unique_identifier:()=>mt});var n={};e.r(n),e.d(n,{base_map:()=>Gt,generate_cartesian_product:()=>wt,math_arithmetic:()=>St,math_bit:()=>Lt,math_constant:()=>gt,math_constant_mp:()=>Ct,math_constrain:()=>vt,math_dec:()=>Dt,math_degree_to_radian:()=>kt,math_indexer_number:()=>yt,math_map:()=>Xt,math_max_min:()=>Ft,math_number:()=>ct,math_number_base_conversion:()=>Pt,math_radian_to_degree:()=>Ht,math_random:()=>Yt,math_random_seed:()=>xt,math_round:()=>bt,math_selfcalcu:()=>At,math_to_int:()=>ft,math_trig:()=>Nt,text_to_number:()=>Vt,text_to_number_skulpt:()=>Bt,turn_to_int:()=>Ut});var s={};e.r(s),e.d(s,{ascii_to_char:()=>jt,char_to_ascii:()=>$t,number_to_text:()=>Zt,os_system:()=>Si,text:()=>Kt,text_bytes:()=>Qt,text_capital:()=>ai,text_center:()=>ui,text_char:()=>qt,text_char_at:()=>ii,text_char_at2:()=>ti,text_char_at3:()=>Ri,text_compareTo:()=>Oi,text_compare_to:()=>pi,text_create_with_container:()=>hi,text_create_with_item:()=>mi,text_encode:()=>gi,text_equals_starts_ends:()=>oi,text_eval:()=>Ci,text_find:()=>ri,text_format:()=>Mi,text_format_noreturn:()=>ci,text_join:()=>zt,text_join_seq:()=>di,text_length:()=>ei,text_random_char:()=>ni,text_replace:()=>li,text_split:()=>Ii,text_strip:()=>Ti,text_substring:()=>_i,text_substring2:()=>si,text_substring3:()=>Ei,text_textarea:()=>Jt});var _={};e.r(_),e.d(_,{ENUMERATE:()=>pn,content_in_lists:()=>un,enumerate:()=>an,list_many_input:()=>Ji,list_tolist:()=>ji,list_tolist2:()=>on,list_trig:()=>ki,lists_2d_get_col_row_data:()=>fi,lists_2d_get_data_with_col_row:()=>Di,lists_append_extend:()=>yi,lists_change_to:()=>Ki,lists_change_to_general:()=>qi,lists_clear:()=>Gi,lists_create_with:()=>Fi,lists_create_with2:()=>$i,lists_create_with_container:()=>Yi,lists_create_with_item:()=>vi,lists_create_with_noreturn:()=>Qi,lists_create_with_text:()=>Pi,lists_create_with_text2:()=>Zi,lists_del_general:()=>zi,lists_find:()=>Hi,lists_getIndex3:()=>en,lists_getSublist3:()=>tn,lists_get_index:()=>Li,lists_get_random_item:()=>xi,lists_get_random_sublist:()=>bi,lists_get_sublist:()=>Ni,lists_insert_value:()=>Vi,lists_insert_value2:()=>sn,lists_pop:()=>wi,lists_remove_at:()=>Ui,lists_remove_at2:()=>_n,lists_reverse:()=>Bi,lists_setIndex3:()=>nn,lists_set_index:()=>Xi,lists_sort:()=>Wi});var o={};e.r(o),e.d(o,{dicts_add_change_del:()=>An,dicts_add_or_change:()=>mn,dicts_clear:()=>Rn,dicts_create_with:()=>dn,dicts_create_with_container:()=>ln,dicts_create_with_item:()=>In,dicts_create_with_noreturn:()=>Dn,dicts_deldict:()=>Sn,dicts_delete:()=>En,dicts_get:()=>Mn,dicts_get_default:()=>hn,dicts_items:()=>cn,dicts_keys:()=>Tn,dicts_length:()=>Cn,dicts_pop:()=>Ln,dicts_setdefault:()=>Nn,dicts_to_json:()=>Fn,dicts_to_json2:()=>vn,dicts_to_to:()=>Yn,dicts_todict:()=>fn,dicts_update:()=>On,dicts_values:()=>gn,json_to_dicts:()=>Pn});var p={};e.r(p),e.d(p,{logic_boolean:()=>Bn,logic_compare:()=>yn,logic_compare_continous:()=>xn,logic_is:()=>Hn,logic_is_in:()=>wn,logic_negate:()=>Vn,logic_null:()=>Gn,logic_operation:()=>bn,logic_tobool:()=>kn,logic_true_or_false:()=>Un});var a={};e.r(a),e.d(a,{sdcard_mount:()=>Is,sdcard_use_spi_init:()=>ls,storage_can_write_ornot:()=>Zn,storage_change_dir:()=>rs,storage_close_file:()=>ts,storage_delete_file:()=>ns,storage_file_seek:()=>os,storage_file_tell:()=>_s,storage_file_write:()=>qn,storage_fileopen:()=>Kn,storage_fileopen_new:()=>Jn,storage_fileopen_new_encoding:()=>Qn,storage_get_a_line:()=>$n,storage_get_contents:()=>jn,storage_get_contents_without_para:()=>zn,storage_get_current_dir:()=>ps,storage_get_file_size:()=>ss,storage_get_filename:()=>es,storage_is_file:()=>ds,storage_list_all_files:()=>is,storage_make_dir:()=>as,storage_open_file_with_os:()=>Wn,storage_rename:()=>us});var u={};e.r(u),e.d(u,{procedures_callnoreturn:()=>Es,procedures_callreturn:()=>Os,procedures_defnoreturn:()=>Ts,procedures_defreturn:()=>Ms,procedures_ifreturn:()=>Rs,procedures_mutatorarg:()=>ms,procedures_mutatorcontainer:()=>hs,procedures_return:()=>cs});var r={};e.r(r),e.d(r,{tuple_change_to:()=>vs,tuple_create_llm_params:()=>ws,tuple_create_with:()=>Cs,tuple_create_with_container:()=>Ss,tuple_create_with_item:()=>As,tuple_create_with_noreturn:()=>bs,tuple_create_with_text2:()=>Ls,tuple_create_with_text_return:()=>Ns,tuple_del:()=>Fs,tuple_find:()=>Xs,tuple_getIndex:()=>Ds,tuple_getSublist:()=>xs,tuple_get_random_item:()=>Bs,tuple_get_sublist:()=>Vs,tuple_input:()=>Us,tuple_join:()=>Ps,tuple_length:()=>fs,tuple_max:()=>Ys,tuple_totuple:()=>Gs,tuple_trig:()=>ys});var d={};e.r(d),e.d(d,{set_add_discard:()=>$s,set_clear:()=>qs,set_create_with:()=>ks,set_create_with_container:()=>Ws,set_create_with_item:()=>Ks,set_create_with_text_return:()=>t_,set_length:()=>Js,set_operate:()=>zs,set_operate_update:()=>js,set_pop:()=>Qs,set_sub:()=>Zs,set_toset:()=>i_,set_update:()=>e_});var l={};e.r(l),e.d(l,{html_content:()=>p_,html_content_more:()=>a_,html_document:()=>s_,html_form:()=>r_,html_head_body:()=>o_,html_style:()=>u_,html_style_color:()=>l_,html_style_content:()=>d_,html_text:()=>I_,html_title:()=>__});var I={};e.r(I),e.d(I,{attribute_access:()=>N_,function_call:()=>S_,function_call_container:()=>A_,function_call_item:()=>L_,raw_block:()=>h_,raw_empty:()=>E_,raw_expression:()=>m_,raw_table:()=>M_,text_comment:()=>O_,text_print_multiple:()=>c_,text_print_multiple_container:()=>g_,text_print_multiple_item:()=>C_,type_check:()=>R_});var T={};e.r(T),e.d(T,{controls_type:()=>Y_,controls_typeLists:()=>v_,lists_zip:()=>X_,unpack_iterable_object:()=>y_,variables_change:()=>F_,variables_get:()=>D_,variables_global:()=>P_,variables_set:()=>f_});var M={};e.r(M),e.d(M,{Panic_with_status_code:()=>W_,base_setup:()=>b_,controls_delay:()=>k_,controls_flow_statements:()=>H_,controls_for:()=>G_,controls_forEach:()=>z_,controls_for_range:()=>U_,controls_if:()=>V_,controls_interrupts:()=>Q_,controls_lambda:()=>$_,controls_main:()=>x_,controls_millis:()=>K_,controls_nointerrupts:()=>q_,controls_pass:()=>eo,controls_range:()=>j_,controls_repeat:()=>ao,controls_repeat_ext:()=>no,controls_thread:()=>to,controls_try_finally:()=>B_,controls_whileUntil:()=>w_,datetime_fromtimestamp:()=>uo,do_while:()=>io,garbage_collection:()=>so,gene_unique_identifier:()=>ro,get_mem_alloc:()=>_o,get_mem_free:()=>oo,get_unique_identifier:()=>po,reset:()=>J_,time_sleep:()=>Z_});var h={};e.r(h),e.d(h,{base_map:()=>Yo,generate_cartesian_product:()=>Xo,math_arithmetic:()=>ho,math_bit:()=>Mo,math_constant:()=>Io,math_constant_mp:()=>To,math_constrain:()=>Ao,math_dec:()=>Ro,math_degree_to_radian:()=>xo,math_indexer_number:()=>Do,math_map:()=>So,math_max_min:()=>go,math_number:()=>lo,math_number_base_conversion:()=>Lo,math_radian_to_degree:()=>yo,math_random:()=>Co,math_random_seed:()=>No,math_round:()=>fo,math_selfcalcu:()=>mo,math_single:()=>Eo,math_to_int:()=>co,math_trig:()=>Oo,text_to_number:()=>Fo,text_to_number_skulpt:()=>Po,turn_to_int:()=>vo});var m={};e.r(m),e.d(m,{ascii_to_char:()=>wo,char_to_ascii:()=>Ho,number_to_text:()=>ko,os_system:()=>Ip,text:()=>bo,text_bytes:()=>Bo,text_capital:()=>Zo,text_center:()=>ep,text_char:()=>Go,text_char_at:()=>Jo,text_char_at2:()=>Ko,text_char_at3:()=>rp,text_compareTo:()=>up,text_compare_to:()=>zo,text_encode:()=>dp,text_equals_starts_ends:()=>qo,text_eval:()=>lp,text_find:()=>tp,text_format:()=>op,text_format_noreturn:()=>pp,text_join:()=>Uo,text_join_seq:()=>ip,text_length:()=>Wo,text_random_char:()=>Qo,text_replace:()=>np,text_split:()=>sp,text_strip:()=>_p,text_substring:()=>$o,text_substring2:()=>jo,text_substring3:()=>ap,text_textarea:()=>Vo});var E={};e.r(E),e.d(E,{content_in_lists:()=>Jp,enumerate:()=>Kp,list_many_input:()=>vp,list_tolist:()=>kp,list_tolist2:()=>Wp,list_trig:()=>Fp,lists_2d_get_col_row_data:()=>hp,lists_2d_get_data_with_col_row:()=>Mp,lists_append_extend:()=>cp,lists_change_to:()=>Yp,lists_change_to_general:()=>yp,lists_clear:()=>Lp,lists_create_with:()=>mp,lists_create_with2:()=>bp,lists_create_with_noreturn:()=>Xp,lists_create_with_text:()=>Ep,lists_create_with_text2:()=>Vp,lists_del_general:()=>xp,lists_find:()=>Np,lists_getIndex3:()=>Bp,lists_getSublist3:()=>Gp,lists_get_index:()=>Op,lists_get_random_item:()=>gp,lists_get_random_sublist:()=>Cp,lists_get_sublist:()=>Tp,lists_insert_value:()=>Sp,lists_insert_value2:()=>wp,lists_pop:()=>fp,lists_remove_at:()=>Dp,lists_remove_at2:()=>Hp,lists_reverse:()=>Ap,lists_setIndex3:()=>Up,lists_set_index:()=>Rp,lists_sort:()=>Pp});var O={};e.r(O),e.d(O,{dicts_add_change_del:()=>oa,dicts_add_or_change:()=>$p,dicts_clear:()=>ta,dicts_create_with:()=>Qp,dicts_create_with_noreturn:()=>ua,dicts_deldict:()=>_a,dicts_delete:()=>Zp,dicts_get:()=>zp,dicts_get_default:()=>jp,dicts_items:()=>ia,dicts_keys:()=>qp,dicts_length:()=>sa,dicts_pop:()=>pa,dicts_setdefault:()=>aa,dicts_to_json:()=>da,dicts_to_json2:()=>Ta,dicts_to_to:()=>Ia,dicts_todict:()=>ra,dicts_update:()=>ea,dicts_values:()=>na,json_to_dicts:()=>la});var R={};e.r(R),e.d(R,{logic_boolean:()=>Oa,logic_compare:()=>Ma,logic_compare_continous:()=>ha,logic_is:()=>Ca,logic_is_in:()=>ga,logic_negate:()=>Ea,logic_null:()=>Ra,logic_operation:()=>ma,logic_tobool:()=>Sa,logic_true_or_false:()=>ca});var c={};e.r(c),e.d(c,{sdcard_mount:()=>Ja,sdcard_use_spi_init:()=>Ka,storage_can_write_ornot:()=>va,storage_change_dir:()=>Ua,storage_close_file:()=>ya,storage_delete_file:()=>ba,storage_file_seek:()=>Ga,storage_file_tell:()=>Ba,storage_file_write:()=>fa,storage_fileopen:()=>La,storage_fileopen_new:()=>Na,storage_fileopen_new_encoding:()=>Da,storage_get_a_line:()=>Ya,storage_get_contents:()=>Pa,storage_get_contents_without_para:()=>Fa,storage_get_current_dir:()=>wa,storage_get_file_size:()=>Va,storage_get_filename:()=>Xa,storage_is_file:()=>Wa,storage_list_all_files:()=>xa,storage_make_dir:()=>Ha,storage_open_file_with_os:()=>Aa,storage_rename:()=>ka});var g={};e.r(g),e.d(g,{procedures_callnoreturn:()=>ja,procedures_callreturn:()=>za,procedures_defnoreturn:()=>qa,procedures_defreturn:()=>Qa,procedures_ifreturn:()=>$a,procedures_return:()=>Za});var C={};e.r(C),e.d(C,{tuple_change_to:()=>au,tuple_create_llm_params:()=>mu,tuple_create_with:()=>eu,tuple_create_with_noreturn:()=>lu,tuple_create_with_text2:()=>tu,tuple_create_with_text_return:()=>iu,tuple_del:()=>_u,tuple_find:()=>uu,tuple_getIndex:()=>nu,tuple_getSublist:()=>du,tuple_get_random_item:()=>Tu,tuple_get_sublist:()=>Iu,tuple_input:()=>hu,tuple_join:()=>ou,tuple_length:()=>su,tuple_max:()=>pu,tuple_totuple:()=>Mu,tuple_trig:()=>ru});var S={};e.r(S),e.d(S,{set_add_discard:()=>Su,set_clear:()=>cu,set_create_with:()=>Eu,set_create_with_text_return:()=>Nu,set_length:()=>Ou,set_operate:()=>gu,set_operate_update:()=>Cu,set_pop:()=>Ru,set_sub:()=>Au,set_toset:()=>Du,set_update:()=>Lu});var A={};e.r(A),e.d(A,{html_content:()=>Yu,html_content_more:()=>vu,html_document:()=>fu,html_form:()=>yu,html_head_body:()=>Pu,html_style:()=>Xu,html_style_content:()=>xu,html_text:()=>bu,html_title:()=>Fu});var L={};e.r(L),e.d(L,{attribute_access:()=>ku,function_call:()=>Hu,raw_block:()=>Vu,raw_empty:()=>Gu,raw_expression:()=>Bu,raw_table:()=>Uu,type_check:()=>wu});var N={};e.r(N),e.d(N,{PIN_init:()=>jr,actuator_extern_get_led_bright:()=>or,actuator_extern_get_led_state:()=>pr,actuator_extern_led_bright:()=>_r,actuator_extern_led_brightness:()=>ar,actuator_ms32006_dcmotor:()=>mr,actuator_ms32006_init:()=>hr,actuator_ms32006_stepper:()=>Er,actuator_neopixel_init:()=>Or,actuator_neopixel_rgb:()=>Rr,actuator_neopixel_rgb_all:()=>cr,actuator_neopixel_rgb_show_all_chase:()=>Sr,actuator_neopixel_rgb_show_all_rainbow:()=>Cr,actuator_neopixel_write:()=>gr,actuator_use_uart_init:()=>Ar,backstage_esp32_music_play_list:()=>Zu,esp32_music_get_tempo_extern:()=>tr,esp32_music_pitch:()=>zu,esp32_music_pitch_init:()=>qu,esp32_music_pitch_with_time:()=>ju,esp32_music_play_list:()=>$u,esp32_music_reset_extern:()=>ir,esp32_music_set_tempo_extern:()=>er,esp32_music_stop:()=>nr,esp32_set_music_volume:()=>sr,mixbot_actuator_extern_get_addr:()=>qr,mixbot_actuator_extern_set_addr:()=>zr,mixbot_addr_extern:()=>xr,parrot_PIN_init:()=>td,parrot_move_speed:()=>id,pin_led_bright:()=>$r,player_insert_music:()=>Pr,player_play_music:()=>Fr,player_set_mode:()=>fr,player_set_play:()=>Nr,player_set_volume:()=>Dr,player_whether_stop:()=>Lr,robot_led_extern:()=>Gr,robot_led_extern_get_value:()=>Ur,robot_motor_extern:()=>br,robot_motor_extern_get_speed:()=>Vr,robot_servo_extern_absolute_run:()=>Wr,robot_servo_extern_get_status:()=>wr,robot_servo_extern_relative_continue:()=>Qr,robot_servo_extern_relative_origin:()=>Kr,robot_servo_extern_relative_run:()=>Jr,robot_servo_extern_stop:()=>kr,robot_servo_extern_stop_mode:()=>Hr,robot_traffic_light_extern:()=>Br,servo_PIN_init:()=>Zr,servo_get_angle:()=>Tr,servo_get_speed:()=>Mr,servo_init:()=>ur,servo_move:()=>rr,servo_move_angle:()=>ed,servo_set_angle:()=>lr,servo_set_speed:()=>Ir,servo_speed_360:()=>dr,syn6288_builtin_voice:()=>Xr,syn6288_get_voice:()=>vr,syn6288_set_voice:()=>Yr,syn6288_tts_play:()=>yr});var D={};e.r(D),e.d(D,{actuator_dc_motor:()=>yd,actuator_dc_motor_stop:()=>xd,actuator_get_led_bright:()=>pd,actuator_get_led_state:()=>ad,actuator_led_bright:()=>od,actuator_led_brightness:()=>ud,actuator_mixbot_buzzer_on_off:()=>Ud,actuator_mixgo_nova_mic_get:()=>Kd,actuator_mixgo_nova_mic_set:()=>Wd,actuator_mixgo_nova_onboard_music_pitch:()=>$d,actuator_mixgo_nova_onboard_music_stop:()=>Zd,actuator_mixgo_nova_play_audio:()=>zd,actuator_mixgo_nova_play_online_audio:()=>jd,actuator_mixgo_nova_record_audio:()=>qd,actuator_mixgo_nova_voice_get:()=>Qd,actuator_mixgo_nova_voice_set:()=>Jd,actuator_mixgo_zero_led_color:()=>rd,actuator_onboard_neopixel_rgb:()=>hd,actuator_onboard_neopixel_rgb_all:()=>md,actuator_onboard_neopixel_rgb_show_all_chase:()=>Od,actuator_onboard_neopixel_rgb_show_all_rainbow:()=>Ed,actuator_onboard_neopixel_write:()=>Rd,actuator_rm_onboard_neopixel_rgb:()=>cd,actuator_rm_onboard_neopixel_rgb_all:()=>gd,actuator_rm_onboard_neopixel_rgb_show_all_chase:()=>Cd,actuator_stepper_keep:()=>vd,actuator_stepper_stop:()=>Xd,analog_ble_keyboard_init:()=>ll,analog_ble_keyboard_input:()=>Ml,analog_ble_keyboard_mouse_init:()=>Cl,analog_ble_keyboard_mouse_input:()=>Nl,analog_ble_keyboard_mouse_send_battery:()=>Ll,analog_ble_keyboard_mouse_str:()=>Dl,analog_ble_keyboard_send_battery:()=>ml,analog_ble_keyboard_str:()=>hl,analog_ble_mouse_init:()=>El,analog_ble_mouse_input:()=>cl,analog_ble_mouse_keyboard_input:()=>fl,analog_ble_mouse_send_battery:()=>gl,analog_keyboard_input:()=>nl,analog_keyboard_str:()=>dl,analog_mouse_input:()=>ul,backstage_onboard_music_play_list:()=>Pd,bitbot_motor:()=>kd,bitbot_move:()=>wd,bitbot_stop:()=>Hd,ble_keyboard_connect:()=>Tl,ble_keyboard_get_mac:()=>Il,ble_keyboard_mouse_connect:()=>Al,ble_keyboard_mouse_get_mac:()=>Sl,ble_mouse_connect:()=>Rl,ble_mouse_get_mac:()=>Ol,cc_number:()=>Md,educore_ble_keyboard_input:()=>Bl,educore_ble_sensor_connected:()=>Vl,educore_ble_sensor_init:()=>bl,educore_buzzer:()=>Fl,educore_buzzer_play_tone:()=>Pl,educore_buzzer_play_tone_time:()=>Yl,educore_buzzer_stop:()=>vl,educore_neopixel_clear:()=>xl,educore_neopixel_rgb:()=>yl,educore_rgb_light:()=>Xl,esp32_music_get_tempo:()=>Ad,esp32_music_reset:()=>Ld,esp32_music_set_tempo:()=>Sd,esp32_onboard_music_pitch:()=>Nd,esp32_onboard_music_pitch_with_time:()=>Dd,esp32_onboard_music_play_list:()=>Fd,esp32_onboard_music_stop:()=>fd,general_key:()=>_l,general_key_tuple:()=>ol,generalkey_container:()=>pl,generalkey_create_with_item:()=>al,get_keyboard_light:()=>Gl,get_power_output:()=>tl,ledswitch:()=>_d,mixbot_motor:()=>Gd,mixbot_motor_status:()=>bd,mixbot_move:()=>Vd,mixbot_stop:()=>Bd,mouse_key:()=>rl,number:()=>sd,record_audio:()=>wl,rm_actuator_get_led_bright:()=>ld,rm_actuator_get_led_state:()=>Id,rm_actuator_led_bright:()=>dd,rm_actuator_led_brightness:()=>Td,rm_motor:()=>Yd,set_all_power_output:()=>il,set_microphone_amplification:()=>Ul,set_music_volume:()=>Hl,set_power_output:()=>el,special_key:()=>sl});var f={};e.r(f),e.d(f,{ai_sensor_20object:()=>CI,ai_sensor_ailocal_class:()=>lI,ai_sensor_ailocal_class_result:()=>II,ai_sensor_ailocal_train:()=>dI,ai_sensor_asr_recognize:()=>EI,ai_sensor_audio_play:()=>MI,ai_sensor_audio_record:()=>TI,ai_sensor_barcode:()=>jl,ai_sensor_circle:()=>nI,ai_sensor_classifier_faces:()=>gI,ai_sensor_color:()=>pI,ai_sensor_color_chases:()=>rI,ai_sensor_color_chases_result:()=>uI,ai_sensor_config:()=>ql,ai_sensor_face:()=>cI,ai_sensor_find_20objects:()=>SI,ai_sensor_find_barcodes:()=>$l,ai_sensor_find_circles:()=>sI,ai_sensor_find_colors:()=>aI,ai_sensor_find_licenseplates:()=>RI,ai_sensor_find_lines:()=>iI,ai_sensor_find_qrcodes:()=>Ql,ai_sensor_find_rects:()=>oI,ai_sensor_find_tags:()=>eI,ai_sensor_licenseplate:()=>OI,ai_sensor_line:()=>tI,ai_sensor_qrcode:()=>Kl,ai_sensor_qrcode_lite:()=>Jl,ai_sensor_rect:()=>_I,ai_sensor_rgb:()=>zl,ai_sensor_tag:()=>Zl,ai_sensor_use_uart_init:()=>Wl,ai_sensor_yolo_recognize:()=>hI,ai_sensor_yolo_recognize_result:()=>mI});var F={};e.r(F),e.d(F,{MICROPYTHON_AI_Speech_asr:()=>NI,MICROPYTHON_AI_Speech_unit:()=>LI,MICROPYTHON_AI_client:()=>AI});var P={};e.r(P),e.d(P,{AI_CAMERA_INIT:()=>nT,AI_CAMERA_INIT_FACERECOGNIZE:()=>oT,AI_CAMERA_INIT_SIMPLE:()=>YT,AI_STOP_ACQUISITION:()=>fT,CAMERA_LOOGOUT:()=>KI,CI130X_BROADCAST_SANT:()=>VI,CI130X_BROADCAST_SYSTEM_TIME:()=>GI,CI130X_GET_THE_RECOGNIZED_CMD_SANT:()=>bI,CI130X_GET_WHETHER_IDENTIFY_SANT:()=>xI,CI130X_IDENTIFY_AND_SAVE_SANT:()=>yI,CI130X_OPEN_AND_CLOSE:()=>vI,CI130X_PLAY_SYSTEM_CMD_SANT:()=>XI,CI130X_SET_SYSTEM_CMD_SANT:()=>BI,CONVERT_IMAGE_TO_JPG:()=>qI,CREATE_CAMERA:()=>UI,CREATE_CAMERA_SIMPLE:()=>PT,DELETE_FACE_ALL:()=>RT,DELETE_FACE_FROM_DATABASE:()=>OT,GET_CAT_FACE_DETECTION_NUM:()=>AT,GET_COLOR_DETECTION_NUM:()=>ST,GET_FACE_DETECTION_NAME:()=>DT,GET_FACE_DETECTION_NUM:()=>NT,GET_HOW_MUCH_RECOGNITION:()=>rT,GET_HUMAN_DETECTION_NUM:()=>LT,GET_IMAGE_AND_SAVE:()=>HI,GET_IMAGE_FROM_NET:()=>WI,GET_NO_CAT_OR_FACE_RECOGNITION:()=>lT,GET_NO_FACE_RECOGNITION_INFO:()=>MT,GET_NO_RECOGNITION:()=>dT,GET_NO_XY_RECOGNITION:()=>IT,GET_NO_XY_RECOGNITION_FACE:()=>TT,GET_PICTURE_DATA_EXACT:()=>JI,GET_PICTURE_DATA_WHS:()=>zI,GET_PICTURE_RECOGNITION_DATA:()=>CT,GET_PICTURE_WIDTH_HEIGHT_DEVICE:()=>QI,GET_QR_CODE_RECOGNITION_DATA:()=>gT,GET_SCREEN_IMAGE:()=>iT,GET_SCREEN_IMAGE_SIZE:()=>tT,MIXIO_REPORT_IMAGE_DATA:()=>FT,MODEL_INIT_HEIGHT:()=>_T,MODEL_INIT_WIDTH:()=>sT,MODEL_LOGOUT:()=>pT,MODEL_RUN:()=>aT,MODEL_WHETHER_RUN_SUCCEED:()=>uT,OPEN_IMAGE:()=>kI,PRINT_FACE_DATABASE:()=>cT,REGISTER_NEW_FACE:()=>ET,REGISTER_NEW_FACE_SIMPLE:()=>XT,Register_color_recognition:()=>mT,Register_color_recognition_fixed:()=>hT,Register_color_recognition_fixed_SIMPLE:()=>vT,SCREEN_DISPLAY_IMAGE:()=>ZI,SCREEN_DISPLAY_IMAGE_LOCATION:()=>eT,SCREEN_SHOW_CAM_GRAPH_SHOOT:()=>jI,SCREEN_SHOW_CAM_GRAPH_SHOOT_LOCATION:()=>$I,SHOOT_AND_SAVE_PICTURE:()=>wI,VOICE_RECOGNITION_CONTROL:()=>YI,yesorno:()=>PI});var Y={};e.r(Y),e.d(Y,{init_xunfei_Chinese_Model:()=>VT,init_xunfei_Spark_Ultra:()=>bT,init_xunfei_Spark_Ultra_clr_his:()=>UT,init_xunfei_vi:()=>xT,llm_set_callback:()=>wT,llm_set_callback_container:()=>HT,llm_set_callback_item:()=>kT,xunfei_Spark_Ultra_run:()=>GT,xunfei_vi_run:()=>BT});var v={};e.r(v),e.d(v,{mpython_blynk_app_data:()=>_M,mpython_blynk_app_notify:()=>$T,mpython_blynk_email:()=>tM,mpython_blynk_get_timers:()=>iM,mpython_blynk_on_connected:()=>qT,mpython_blynk_on_disconnected:()=>QT,mpython_blynk_run:()=>jT,mpython_blynk_sensor_data_to_app:()=>sM,mpython_blynk_set_property:()=>eM,mpython_blynk_setup:()=>oM,mpython_blynk_stop_timers:()=>ZT,mpython_blynk_sync_virtual:()=>JT,mpython_blynk_terminal_widget_vpin:()=>KT,mpython_blynktimer:()=>nM,mpython_blynktimer_run:()=>zT});var X={};e.r(X),e.d(X,{cc_g1_init:()=>pM,cc_g1_read_bat:()=>aM,cc_g1_read_joystick:()=>uM,cc_g1_read_key:()=>rM,cc_g1_turnoff:()=>dM});var y={};e.r(y),e.d(y,{ce_go_dc_motor:()=>RM,ce_go_get_led_bright:()=>MM,ce_go_get_led_state:()=>hM,ce_go_hall_attachInterrupt:()=>cM,ce_go_hall_data:()=>CM,ce_go_hall_initialize:()=>gM,ce_go_led_bright:()=>TM,ce_go_led_brightness:()=>mM,ce_go_light_number:()=>IM,ce_go_pin_light:()=>DM,ce_go_pin_near:()=>AM,ce_go_pin_near_line:()=>SM,ce_go_pin_near_state_change:()=>LM,ce_go_stepper_keep:()=>EM,ce_go_stepper_stop:()=>OM,educore_car:()=>fM,educore_car_pin_near:()=>vM,educore_car_pin_near_line:()=>YM,educore_car_stepper_keep:()=>FM,educore_car_stepper_stop:()=>PM,sensor_mixgome_eulerangles:()=>NM});var x={};e.r(x),e.d(x,{communicate_bluetooth_central_init:()=>Mh,communicate_bluetooth_connect:()=>Oh,communicate_bluetooth_disconnect:()=>Rh,communicate_bluetooth_handle:()=>Ah,communicate_bluetooth_is_connected:()=>gh,communicate_bluetooth_mac:()=>Eh,communicate_bluetooth_peripheral_init:()=>hh,communicate_bluetooth_recv:()=>Ch,communicate_bluetooth_recv_only:()=>Sh,communicate_bluetooth_scan:()=>mh,communicate_bluetooth_send:()=>ch,communicate_espnow_init:()=>Lh,communicate_espnow_init_new:()=>Nh,communicate_i2c_available:()=>jM,communicate_i2c_init:()=>bM,communicate_i2c_master_read:()=>zM,communicate_i2c_onboard:()=>yM,communicate_i2c_read:()=>VM,communicate_i2c_scan:()=>GM,communicate_i2c_write:()=>BM,communicate_ir_recv_init:()=>_h,communicate_ir_send_init:()=>rh,communicate_ow_init:()=>ZM,communicate_ow_read:()=>th,communicate_ow_reset:()=>sh,communicate_ow_scan:()=>eh,communicate_ow_select:()=>nh,communicate_ow_write:()=>ih,communicate_spi_buffer:()=>HM,communicate_spi_init:()=>UM,communicate_spi_onboard:()=>xM,communicate_spi_read:()=>kM,communicate_spi_read_output:()=>WM,communicate_spi_readinto:()=>KM,communicate_spi_readinto_output:()=>JM,communicate_spi_set:()=>wM,communicate_spi_write:()=>QM,communicate_spi_write_readinto:()=>qM,espnow_radio_channel:()=>vh,espnow_radio_channel_new:()=>yh,espnow_radio_on_off:()=>xh,espnow_radio_rec:()=>Vh,espnow_radio_recv:()=>Gh,espnow_radio_recv_certain_msg:()=>Uh,espnow_radio_recv_certain_msg_new:()=>Hh,espnow_radio_recv_msg:()=>Bh,espnow_radio_recv_new:()=>wh,espnow_radio_send:()=>bh,espnow_radio_txpower:()=>Xh,i2c_available:()=>dm,i2c_init:()=>jh,i2c_master_reader2:()=>rm,i2c_read:()=>$h,i2c_scan:()=>em,i2c_slave_onreceive:()=>$M,i2c_write:()=>Zh,internal_variable:()=>oh,ir_recv_timeout:()=>uh,ir_transmit_busy:()=>Th,ir_transmit_conventional_data:()=>dh,ir_transmit_raw_code:()=>Ih,ir_transmit_study_code:()=>lh,ir_whether_recv:()=>ah,lora_init:()=>kh,lora_packet:()=>Wh,lora_recv:()=>Jh,lora_send:()=>Kh,network_espnow_info:()=>fh,network_espnow_mac:()=>Dh,network_espnow_recv:()=>Fh,network_espnow_recv_handle:()=>Yh,network_espnow_send:()=>Ph,recv_fun:()=>ph,spi_buffer:()=>nm,spi_init:()=>tm,spi_read:()=>sm,spi_read_output:()=>_m,spi_readinto:()=>om,spi_readinto_output:()=>pm,spi_set:()=>im,spi_write:()=>am,spi_write_readinto:()=>um,urequests_attribute:()=>qh,urequests_get:()=>Qh,urequests_method:()=>zh});var b={};e.r(b),e.d(b,{display_animate:()=>Hm,display_blink_rate:()=>Bm,display_circle:()=>km,display_color_seclet:()=>iE,display_draw_4strings:()=>vm,display_fill:()=>wm,display_get_screen_image:()=>Vm,display_help:()=>Km,display_image_size:()=>Xm,display_lcd_use_i2c_init:()=>aE,display_line:()=>xm,display_line_arbitrarily:()=>bm,display_matrix_extern_bright_point:()=>Am,display_matrix_extern_bright_screen:()=>Nm,display_matrix_extern_clear:()=>Dm,display_matrix_extern_get_pixel:()=>Sm,display_matrix_extern_get_screen_pixel:()=>Lm,display_matrix_extern_image_builtins:()=>fm,display_matrix_extern_scroll_string:()=>Om,display_matrix_extern_scroll_string_delay:()=>Rm,display_matrix_extern_shift:()=>Cm,display_matrix_extern_show_frame_string:()=>cm,display_matrix_extern_show_frame_string_delay:()=>gm,display_matrix_extern_show_image:()=>mm,display_matrix_extern_show_image_or_string_delay:()=>Em,display_matrix_use_i2c_init:()=>hm,display_oled_drawPixel:()=>Qm,display_oled_showBitmap:()=>Jm,display_oled_use_i2c_init:()=>IE,display_onoff:()=>Um,display_rect:()=>ym,display_rgb_color:()=>Gm,display_tm1650_power:()=>zm,display_tm1650_set_brightness:()=>Zm,display_tm1650_show_dot:()=>$m,display_tm1650_show_num:()=>jm,display_tm_use_i2c_init:()=>qm,display_triangle:()=>Wm,display_use_i2c_init:()=>Ym,extern_oled_bright_point:()=>SE,extern_oled_clear:()=>AE,extern_oled_get_pixel:()=>CE,extern_oled_hvline:()=>NE,extern_oled_line:()=>DE,extern_oled_scroll_string:()=>EE,extern_oled_scroll_string_delay:()=>OE,extern_oled_shape_rect:()=>LE,extern_oled_shift:()=>gE,extern_oled_show_frame_string:()=>RE,extern_oled_show_frame_string_delay:()=>cE,extern_oled_show_image:()=>TE,extern_oled_show_image_or_string_delay:()=>mE,extern_oled_show_image_xy:()=>ME,extern_oled_show_string:()=>hE,lcd_backlight:()=>dE,lcd_clear:()=>lE,lcd_print_string:()=>rE,lcd_show_image_or_string_delay:()=>uE,matrix_extern_image_arithmetic:()=>Fm,matrix_extern_image_invert:()=>Pm,tft_fill:()=>oE,tft_line_arbitrarily:()=>pE,tft_scroll_string_delay:()=>sE,tft_show_frame_string_delay:()=>_E,tft_show_image_or_string_delay:()=>nE,tft_show_image_xy:()=>tE,tft_use_spi_init:()=>eE});var V={};e.r(V),e.d(V,{bitbot_display_bitmap_create:()=>gO,bitbot_display_image_create:()=>cO,display_available:()=>zE,display_bitmap_create:()=>BE,display_bright_point:()=>KE,display_bright_screen:()=>QE,display_clear:()=>qE,display_get_pixel:()=>WE,display_get_screen_pixel:()=>JE,display_image_builtins:()=>GE,display_image_builtins_all:()=>UE,display_image_create:()=>VE,display_scroll_string:()=>YE,display_scroll_string_delay:()=>vE,display_scroll_way:()=>XE,display_shift:()=>kE,display_show_frame_string:()=>xE,display_show_frame_string_delay:()=>bE,display_show_image:()=>FE,display_show_image_or_string_delay:()=>PE,draw_pointer:()=>BO,image_arithmetic:()=>wE,image_invert:()=>HE,mixbot_display_bitmap_create:()=>hO,mixbot_display_bright_screen:()=>OO,mixbot_display_get_ambientbright:()=>EO,mixbot_display_get_screen_pixel:()=>mO,mixbot_display_image_create:()=>MO,mixbot_display_rotate:()=>RO,mixgo_display_bitmap_create:()=>iO,mixgo_display_image_create_new:()=>tO,mixgome_display_bitmap_create:()=>$E,mixgome_display_font:()=>nO,mixgome_display_image_create:()=>jE,mixgomini_display_bitmap_create:()=>eO,mixgomini_display_image_create:()=>ZE,mpython_display_hvline:()=>lO,mpython_display_line:()=>IO,mpython_display_shape_rect:()=>dO,mpython_pbm_image:()=>TO,nova_draw_pointer:()=>GO,onboard_oled_bright_point:()=>rO,onboard_oled_scroll_string_delay:()=>aO,onboard_oled_show_frame_string_delay:()=>uO,onboard_oled_show_image:()=>sO,onboard_oled_show_image_or_string_delay:()=>pO,onboard_oled_show_image_xy:()=>_O,onboard_oled_show_string:()=>oO,onboard_tft_bright_point:()=>PO,onboard_tft_bright_screen:()=>qO,onboard_tft_clear:()=>zO,onboard_tft_clock_clear:()=>bO,onboard_tft_clock_draw:()=>xO,onboard_tft_clock_get_rtctime:()=>XO,onboard_tft_clock_init:()=>vO,onboard_tft_clock_set_time:()=>yO,onboard_tft_display_hvline:()=>DO,onboard_tft_display_line:()=>fO,onboard_tft_display_shape_circle:()=>VO,onboard_tft_display_shape_rect:()=>NO,onboard_tft_fill:()=>YO,onboard_tft_get_pixel:()=>FO,onboard_tft_get_screen_pixel:()=>QO,onboard_tft_scroll_string:()=>WO,onboard_tft_scroll_string_delay:()=>yE,onboard_tft_shift:()=>JO,onboard_tft_show_frame_string:()=>KO,onboard_tft_show_frame_string_delay:()=>LO,onboard_tft_show_image:()=>kO,onboard_tft_show_image_or_string_delay:()=>AO,onboard_tft_show_image_xy:()=>CO,onboard_tft_show_image_xy_direct:()=>SO,onboard_tft_show_qrcode:()=>wO,onboard_tft_show_qrcode_details:()=>HO,onboard_tft_show_texts:()=>UO});var B={};e.r(B),e.d(B,{factory_block:()=>TR,factory_block_return:()=>MR,factory_block_return_with_textarea:()=>mR,factory_block_with_textarea:()=>hR,factory_callMethod_noreturn:()=>lR,factory_callMethod_return:()=>IR,factory_create_with_container:()=>aR,factory_create_with_item:()=>uR,factory_declare:()=>dR,factory_from_import:()=>_R,factory_function_noreturn:()=>pR,factory_function_return:()=>rR,factory_import:()=>oR,folding_block:()=>ER});var G={};e.r(G),e.d(G,{controls_pin_attachInterrupt:()=>GR,inout_analog_atten:()=>DR,inout_analog_read:()=>NR,inout_analog_read_init:()=>XR,inout_analog_write:()=>SR,inout_analog_write_init:()=>vR,inout_analog_write_set:()=>AR,inout_analog_write_set_freq:()=>bR,inout_digital_init:()=>PR,inout_digital_read:()=>gR,inout_digital_write:()=>cR,inout_highlow:()=>RR,inout_pinMode:()=>xR,inout_pin_attachInterrupt:()=>FR,inout_pin_pressed:()=>fR,inout_pin_pressed_init:()=>yR,inout_pwm_analog_write:()=>CR,inout_pwm_analog_write_init:()=>YR,inout_pwm_analog_write_set_freq:()=>LR,pin_pressed:()=>BR,pin_pressed_init:()=>VR});var U={};e.r(U),e.d(U,{IOT_CONNECT_OLLAMA:()=>Sc,IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>dc,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>rc,IOT_EMQX_PING:()=>ac,IOT_FORMATTING:()=>oc,IOT_FORMAT_STRING:()=>pc,IOT_MIXIO_NTP:()=>uc,IOT_MIXIO_PUBLISH:()=>$R,IOT_MIXIO_PUBLISHEX:()=>ZR,IOT_MIXIO_SUBSCRIBE:()=>ec,iot_checkonenet:()=>cc,iot_client_onboard:()=>Ic,iot_connect_ollama:()=>Cc,iot_connect_openai:()=>Ac,iot_create_with_item:()=>zR,iot_http_client:()=>Tc,iot_http_data:()=>Mc,iot_mixio_check:()=>nc,iot_mixio_connect:()=>jR,iot_mixio_connect_only:()=>ic,iot_mixio_disconnect:()=>tc,iot_mixio_format_msg:()=>_c,iot_mixio_format_topic:()=>sc,iot_mixly_key:()=>lc,iot_mqtt_client:()=>hc,iot_mqtt_data:()=>mc,iot_onenet_check:()=>WR,iot_onenet_connect:()=>HR,iot_onenet_disconnect:()=>kR,iot_onenet_publish:()=>JR,iot_onenet_publish_dict:()=>KR,iot_onenetconnect:()=>Oc,iot_onenetdisconnect:()=>Rc,iot_publish:()=>gc,iot_publish_container:()=>QR,iot_publish_item:()=>qR,iot_tiny_web_db_count:()=>vc,iot_tiny_web_db_delete:()=>yc,iot_tiny_web_db_get:()=>Yc,iot_tiny_web_db_init:()=>fc,iot_tiny_web_db_init_with_mqtt:()=>Fc,iot_tiny_web_db_search:()=>Xc,iot_tiny_web_db_update:()=>Pc,iot_wifi_connect:()=>wR,iot_wificonnect:()=>Ec,ollama_empty_history:()=>Dc,use_ollama_llm_to_chat:()=>Lc,use_ollama_llm_to_chat_return:()=>Nc});var w={};e.r(w),e.d(w,{educore_mqtt_connect:()=>Mg,educore_mqtt_connect_success:()=>Og,educore_mqtt_subscribe_message:()=>hg,educore_mqtt_topic_publish:()=>Eg,educore_mqtt_topic_subscribe:()=>mg,educore_wifi_connect:()=>Tg,network_ap_connect:()=>Kc,network_connect:()=>Uc,network_get_connect:()=>Hc,network_get_wifi:()=>Wc,network_init:()=>bc,network_is_active:()=>Bc,network_open:()=>Vc,network_scan:()=>Gc,network_server:()=>Jc,network_socket_accept:()=>$c,network_socket_bind:()=>qc,network_socket_close:()=>sg,network_socket_connect:()=>zc,network_socket_init:()=>Qc,network_socket_listen:()=>jc,network_socket_readline:()=>Zc,network_socket_receive:()=>eg,network_socket_receive_from:()=>ig,network_socket_send:()=>tg,network_socket_send_to:()=>ng,network_stop:()=>kc,network_wifi_connect:()=>wc,ntptime_address:()=>ug,ntptime_time:()=>ag,requests_attribute:()=>og,requests_attribute2:()=>Ig,requests_get:()=>_g,requests_get2:()=>dg,requests_method:()=>pg,requests_post:()=>lg});var H={};e.r(H),e.d(H,{CI130X_BROADCAST:()=>kg,CI130X_GET_THE_RECOGNIZED_CMD:()=>Hg,CI130X_GET_WHETHER_IDENTIFY:()=>wg,CI130X_IDENTIFY_AND_SAVE:()=>Ug,CI130X_SET_SYSTEM_CMD:()=>Wg,HCSR04:()=>vC,PS2_Button:()=>bC,PS2_Buttons:()=>BC,PS2_Buttons_new:()=>HC,PS2_State:()=>VC,PS2_init:()=>XC,PS2_init_new:()=>UC,PS2_stk:()=>GC,PS2_stk_new:()=>kC,PS2_vibration:()=>xC,PS2_vibration_new:()=>wC,camera_sensor_init:()=>RS,camera_sensor_result:()=>cS,column_tube_foot:()=>LS,define_keyboards:()=>NS,educore_body_sensor:()=>rS,educore_button_sensor_extern:()=>TS,educore_camera_sensor:()=>OS,educore_infrared_sensor:()=>IS,educore_soilhum_sensor:()=>dS,educore_temp_sensor:()=>ES,educore_temphum_sensor:()=>lS,educore_ultrasonic_sensor:()=>hS,esp32_s2_weather_init:()=>fC,esp32_s2_weather_rain:()=>PC,esp32_s2_weather_wd:()=>FC,esp32_s2_weather_ws:()=>YC,extern_rfid_read:()=>MC,extern_rfid_readcontent:()=>mC,extern_rfid_readid:()=>hC,extern_rfid_status:()=>RC,extern_rfid_write:()=>EC,extern_rfid_write_return:()=>OC,get_keboards_value:()=>DS,gnss_get_data:()=>QC,gnss_have_data:()=>JC,init_init_rotary_encoder:()=>fS,init_matrix_keyboard:()=>SS,interaction_whether_to_interaction:()=>Bg,interaction_whether_to_interaction_SANT:()=>Gg,line_tube_foot:()=>AS,mixbot_sensor_extern_get_addr:()=>iS,mixbot_sensor_extern_set_addr:()=>nS,pm25_get_data:()=>KC,radar_set_DETECTION_THRESHOLD:()=>bg,radar_set_DETECTION_THRESHOLD_SANT:()=>Vg,robot_button_extern_get_value:()=>zC,robot_color_extern_get_value:()=>tS,robot_infrared_extern_get_value:()=>$C,robot_infrared_extern_grey_get_value:()=>ZC,robot_potentiometer_extern_get_value:()=>eS,robot_sonar_extern_get_value:()=>sS,robot_sonar_extern_led:()=>_S,robot_touch_extern_get_value:()=>jC,rotary_key:()=>FS,sensor_APDS9960_extern:()=>Jg,sensor_DS18X20:()=>Xg,sensor_LTR308_extern:()=>Qg,sensor_LTR390UV_extern:()=>jg,sensor_MAX30102_extern:()=>Kg,sensor_QMC5883L_extern:()=>_C,sensor_VL530LX_extern:()=>$g,sensor_adxl345_get_acceleration:()=>Lg,sensor_aht11_extern:()=>eC,sensor_bmp:()=>Yg,sensor_compass_reset:()=>IC,sensor_dht11:()=>Dg,sensor_hp203_extern:()=>tC,sensor_light_level:()=>Ng,sensor_lm35:()=>yg,sensor_ltr381_extern:()=>qg,sensor_mixgo_extern_button_attachInterrupt:()=>Sg,sensor_mixgo_extern_button_get_presses:()=>Cg,sensor_mixgo_extern_button_is_pressed:()=>cg,sensor_mixgo_extern_button_was_pressed:()=>gg,sensor_mixgo_extern_light:()=>fg,sensor_mixgo_extern_pin_near:()=>Pg,sensor_mixgo_extern_sound:()=>Fg,sensor_mixgoce_hot_wheel_degrees:()=>DC,sensor_mixgoce_hot_wheel_is_touched:()=>NC,sensor_mpu9250_attachGestureInterrupt:()=>Ag,sensor_mpu9250_calibrate_compass:()=>rC,sensor_mpu9250_field_strength:()=>lC,sensor_mpu9250_gesture:()=>oC,sensor_mpu9250_get_acceleration:()=>pC,sensor_mpu9250_get_gyro:()=>uC,sensor_mpu9250_get_magnetic:()=>aC,sensor_mpu9250_temperature:()=>dC,sensor_ms5611_extern:()=>nC,sensor_ms5611_extern_altitude:()=>sC,sensor_read_humiture:()=>MS,sensor_sht:()=>vg,sensor_shtc3_extern:()=>Zg,sensor_spl06_001_extern:()=>iC,sensor_ucs12071_extern:()=>zg,sensor_use_i2c_init:()=>xg,sensor_use_spi_init:()=>TC,sensor_use_uart_init:()=>WC,sensor_weather_solo_init:()=>oS,sensor_weather_solo_rain:()=>uS,sensor_weather_solo_wd:()=>pS,sensor_weather_solo_ws:()=>aS,sensor_weigh_init:()=>gS,tvoc_get_data:()=>qC,ultrasonic_sensor_read_distance:()=>mS,weather_data:()=>cC,weather_have_data:()=>gC,weather_set_label:()=>SC,weather_set_label_container:()=>AC,weather_set_label_item:()=>LC,weather_uart_mixio:()=>CC,weigh_sensor_get_weight:()=>CS});var k={};e.r(k),e.d(k,{HCSR04:()=>JS,RTC_set_date:()=>KS,RTC_set_time:()=>WS,bitbot_als_num:()=>iL,dht11:()=>uL,educore_button_sensor:()=>EL,educore_button_was_pressed:()=>OL,educore_gyroscope_sensor:()=>ML,educore_gyroscope_sensor_read:()=>hL,educore_gyroscope_sensor_shake:()=>mL,educore_light_sensor:()=>TL,educore_rfid_sensor:()=>RL,educore_rfid_sensor_scan:()=>cL,educore_rfid_sensor_scan_data:()=>gL,educore_voice_sensor:()=>lL,number1:()=>qS,number2:()=>zS,number3:()=>jS,number4:()=>$S,number5:()=>ZS,number6:()=>eA,number7:()=>tA,onboard_RTC_get_time:()=>uA,onboard_RTC_get_time_str:()=>MA,onboard_RTC_get_timestamp:()=>rA,onboard_RTC_get_timetuple_to_str:()=>hA,onboard_RTC_set_datetime:()=>IA,onboard_RTC_settime_string:()=>lA,onboard_RTC_timestamp_totuple:()=>dA,rfid_readcontent:()=>CA,rfid_readid:()=>gA,rfid_status:()=>LA,rfid_write:()=>SA,rfid_write_return:()=>AA,sensor_LTR308:()=>mA,sensor_aht11:()=>OA,sensor_bitbot_ALS:()=>tL,sensor_button_get_presses:()=>_L,sensor_button_is_pressed:()=>nL,sensor_button_was_pressed:()=>sL,sensor_distance_hrsc04:()=>kS,sensor_eulerangles:()=>DA,sensor_field_strength:()=>rL,sensor_get_acceleration:()=>NA,sensor_get_temperature:()=>RA,sensor_get_the_coprocessor_version:()=>CL,sensor_hp203:()=>cA,sensor_light:()=>aL,sensor_mixbot_get_gyro:()=>eL,sensor_mixbot_patrol_calibrate:()=>jA,sensor_mixbot_patrol_value:()=>$A,sensor_mixbot_temperature:()=>ZA,sensor_mixgo_LTR308:()=>pA,sensor_mixgo_button_attachInterrupt:()=>yS,sensor_mixgo_button_get_presses:()=>XS,sensor_mixgo_button_is_pressed:()=>YS,sensor_mixgo_button_was_pressed:()=>vS,sensor_mixgo_cc_mmc5603_calibrate_compass:()=>BA,sensor_mixgo_cc_mmc5603_get_angle:()=>VA,sensor_mixgo_cc_mmc5603_get_magnetic:()=>bA,sensor_mixgo_light:()=>QS,sensor_mixgo_nova_LTR308:()=>oA,sensor_mixgo_nova_pin_near:()=>_A,sensor_mixgo_pin_near:()=>sA,sensor_mixgo_pin_near_double:()=>nA,sensor_mixgo_pin_near_single:()=>iA,sensor_mixgo_pin_pressed:()=>GS,sensor_mixgo_sant_color:()=>aA,sensor_mixgo_touch_slide:()=>HS,sensor_mixgocar42_button_attachInterrupt:()=>BS,sensor_mixgocar42_button_get_presses:()=>VS,sensor_mixgocar42_button_is_pressed:()=>xS,sensor_mixgocar42_button_was_pressed:()=>bS,sensor_mixgocar_battery_left:()=>zA,sensor_mixgocar_pin_near:()=>QA,sensor_mixgocar_pin_near_line:()=>JA,sensor_mixgocar_pin_near_state_change:()=>qA,sensor_mixgoce_pin_pressed:()=>US,sensor_mixgoce_temperature:()=>UA,sensor_mixgome_temperature:()=>GA,sensor_mpython_pin_pressed:()=>wS,sensor_mpython_qmi8658_get_gyro:()=>wA,sensor_mpython_qmi8658_temperature:()=>HA,sensor_onboard_compass_reset:()=>xA,sensor_onboard_mpu9250_calibrate_compass:()=>vA,sensor_onboard_mpu9250_field_strength:()=>yA,sensor_onboard_mpu9250_gesture:()=>fA,sensor_onboard_mpu9250_get_acceleration:()=>FA,sensor_onboard_mpu9250_get_gyro:()=>YA,sensor_onboard_mpu9250_get_magnetic:()=>PA,sensor_onboard_mpu9250_temperature:()=>XA,sensor_pin_near:()=>pL,sensor_pin_pressed:()=>oL,sensor_read:()=>IL,sensor_rm_acc:()=>KA,sensor_rm_battery_left:()=>WA,sensor_rm_pin_near_double:()=>kA,sensor_rtc_init:()=>TA,sensor_sound:()=>EA,sensor_temperature:()=>dL,simulated_light_sensor:()=>SL});var W={};e.r(W),e.d(W,{serial_any:()=>XL,serial_begin:()=>BL,serial_print:()=>fL,serial_print_byte:()=>DL,serial_print_hex:()=>PL,serial_println:()=>FL,serial_read_from_ai:()=>QL,serial_readline:()=>yL,serial_readstr:()=>vL,serial_readstr_until:()=>xL,serial_receive_data_event:()=>YL,serial_send_to_ai:()=>JL,serial_softserial:()=>VL,serial_softserial_new:()=>bL,system_input:()=>GL,system_print:()=>UL,system_print_container:()=>WL,system_print_end:()=>HL,system_print_inline:()=>wL,system_print_item:()=>KL,system_print_many:()=>kL});var K={};e.r(K),e.d(K,{Panic_with_status_code:()=>$L,Timer_init:()=>lN,base_delay:()=>MN,controls_delay:()=>jL,controls_delay_new:()=>zL,controls_millis:()=>eN,controls_uname:()=>iN,raw_block:()=>tN,reset:()=>ZL,set_system_timer:()=>pN,system_bitbot_shutdown:()=>dN,system_machine_reset:()=>rN,system_ticks_diff:()=>_N,system_timer:()=>sN,system_timer_init:()=>oN,system_wdt_feed:()=>uN,system_wdt_init:()=>aN,time_ticks_diff:()=>TN,timer:()=>nN,timer2:()=>IN});var J={};e.r(J),e.d(J,{Air_daily_content:()=>fN,Air_now_content:()=>gN,Geo_moon_content:()=>PN,Geo_sun_content:()=>FN,Life_suggestion_content:()=>SN,Location_search_content:()=>LN,Tide_daily_content:()=>AN,WEATHER_DAILY:()=>EN,WEATHER_HOUR:()=>ON,WEATHER_NOW:()=>mN,Weather_alarm_content:()=>CN,Weather_daily:()=>NN,Weather_daily_content:()=>DN,Weather_now:()=>RN,Weather_now_content:()=>cN});var Q={};e.r(Q),e.d(Q,{PIN_init:()=>vD,actuator_extern_get_led_bright:()=>ZN,actuator_extern_get_led_state:()=>eD,actuator_extern_led_bright:()=>$N,actuator_extern_led_brightness:()=>tD,actuator_ms32006_dcmotor:()=>BN,actuator_ms32006_init:()=>VN,actuator_ms32006_stepper:()=>GN,actuator_neopixel_init:()=>iD,actuator_neopixel_rgb:()=>_D,actuator_neopixel_rgb_all:()=>nD,actuator_neopixel_rgb_show_all_chase:()=>oD,actuator_neopixel_rgb_show_all_rainbow:()=>pD,actuator_neopixel_write:()=>sD,actuator_use_uart_init:()=>aD,backstage_esp32_music_play_list:()=>qN,esp32_music_get_tempo_extern:()=>JN,esp32_music_pitch:()=>wN,esp32_music_pitch_init:()=>UN,esp32_music_pitch_with_time:()=>HN,esp32_music_play_list:()=>QN,esp32_music_reset_extern:()=>zN,esp32_music_set_tempo_extern:()=>KN,esp32_music_stop:()=>kN,esp32_set_music_volume:()=>WN,mixbot_actuator_extern_get_addr:()=>PD,mixbot_actuator_extern_set_addr:()=>YD,mixbot_addr_extern:()=>ED,parrot_PIN_init:()=>bD,parrot_move_speed:()=>VD,pin_led_bright:()=>XD,player_play_music:()=>ID,player_set_mode:()=>lD,player_set_play:()=>rD,player_set_volume:()=>dD,player_whether_stop:()=>uD,robot_led_extern:()=>gD,robot_led_extern_get_value:()=>CD,robot_motor_extern:()=>OD,robot_motor_extern_get_speed:()=>RD,robot_servo_extern_absolute_run:()=>ND,robot_servo_extern_get_status:()=>SD,robot_servo_extern_relative_continue:()=>FD,robot_servo_extern_relative_origin:()=>DD,robot_servo_extern_relative_run:()=>fD,robot_servo_extern_stop:()=>LD,robot_servo_extern_stop_mode:()=>AD,robot_traffic_light_extern:()=>cD,servo_PIN_init:()=>yD,servo_get_angle:()=>xN,servo_get_speed:()=>bN,servo_init:()=>YN,servo_move:()=>jN,servo_move_angle:()=>xD,servo_set_angle:()=>XN,servo_set_speed:()=>yN,servo_speed_360:()=>vN,syn6288_builtin_voice:()=>hD,syn6288_get_voice:()=>MD,syn6288_set_voice:()=>TD,syn6288_tts_play:()=>mD});var q={};e.r(q),e.d(q,{actuator_dc_motor:()=>Tf,actuator_dc_motor_stop:()=>Mf,actuator_get_led_bright:()=>zD,actuator_get_led_state:()=>jD,actuator_led_bright:()=>qD,actuator_led_brightness:()=>$D,actuator_mixbot_buzzer_on_off:()=>Rf,actuator_mixgo_nova_mic_get:()=>Af,actuator_mixgo_nova_mic_set:()=>Sf,actuator_mixgo_nova_onboard_music_pitch:()=>Pf,actuator_mixgo_nova_onboard_music_stop:()=>Yf,actuator_mixgo_nova_play_audio:()=>ff,actuator_mixgo_nova_play_online_audio:()=>Ff,actuator_mixgo_nova_record_audio:()=>Df,actuator_mixgo_nova_voice_get:()=>Nf,actuator_mixgo_nova_voice_set:()=>Lf,actuator_mixgo_zero_led_color:()=>ZD,actuator_onboard_neopixel_rgb:()=>pf,actuator_onboard_neopixel_rgb_all:()=>af,actuator_onboard_neopixel_rgb_show_all_chase:()=>uf,actuator_onboard_neopixel_rgb_show_all_rainbow:()=>rf,actuator_onboard_neopixel_write:()=>of,actuator_stepper_keep:()=>lf,actuator_stepper_stop:()=>If,analog_ble_keyboard_init:()=>Hf,analog_ble_keyboard_input:()=>Kf,analog_ble_keyboard_mouse_init:()=>eF,analog_ble_keyboard_mouse_input:()=>sF,analog_ble_keyboard_mouse_send_battery:()=>nF,analog_ble_keyboard_mouse_str:()=>_F,analog_ble_keyboard_send_battery:()=>Qf,analog_ble_keyboard_str:()=>Jf,analog_ble_mouse_init:()=>qf,analog_ble_mouse_input:()=>$f,analog_ble_mouse_keyboard_input:()=>oF,analog_ble_mouse_send_battery:()=>Zf,analog_keyboard_input:()=>xf,analog_keyboard_str:()=>Uf,analog_mouse_input:()=>Bf,backstage_onboard_music_play_list:()=>WD,bitbot_motor:()=>Cf,bitbot_move:()=>cf,bitbot_stop:()=>gf,ble_keyboard_connect:()=>Wf,ble_keyboard_get_mac:()=>kf,ble_keyboard_mouse_connect:()=>iF,ble_keyboard_mouse_get_mac:()=>tF,ble_mouse_connect:()=>jf,ble_mouse_get_mac:()=>zf,cc_number:()=>ef,educore_ble_keyboard_input:()=>hF,educore_ble_sensor_connected:()=>MF,educore_ble_sensor_init:()=>TF,educore_buzzer:()=>pF,educore_buzzer_play_tone:()=>aF,educore_buzzer_play_tone_time:()=>uF,educore_buzzer_stop:()=>rF,educore_neopixel_clear:()=>IF,educore_neopixel_rgb:()=>lF,educore_rgb_light:()=>dF,esp32_music_get_tempo:()=>GD,esp32_music_reset:()=>KD,esp32_music_set_tempo:()=>BD,esp32_onboard_music_pitch:()=>UD,esp32_onboard_music_pitch_with_time:()=>wD,esp32_onboard_music_play_list:()=>kD,esp32_onboard_music_stop:()=>HD,general_key:()=>Vf,general_key_tuple:()=>wf,get_keyboard_light:()=>mF,get_power_output:()=>Xf,ledswitch:()=>QD,mixbot_motor:()=>Of,mixbot_motor_status:()=>hf,mixbot_move:()=>mf,mixbot_stop:()=>Ef,mouse_key:()=>Gf,number:()=>JD,record_audio:()=>OF,rm_actuator_get_led_bright:()=>nf,rm_actuator_get_led_state:()=>sf,rm_actuator_led_bright:()=>tf,rm_actuator_led_brightness:()=>_f,rm_motor:()=>df,set_all_power_output:()=>yf,set_microphone_amplification:()=>EF,set_music_volume:()=>RF,set_power_output:()=>vf,special_key:()=>bf});var z={};e.r(z),e.d(z,{ai_sensor_20object:()=>ZF,ai_sensor_ailocal_class:()=>wF,ai_sensor_ailocal_class_result:()=>HF,ai_sensor_ailocal_train:()=>UF,ai_sensor_asr_recognize:()=>QF,ai_sensor_audio_play:()=>WF,ai_sensor_audio_record:()=>kF,ai_sensor_barcode:()=>NF,ai_sensor_circle:()=>vF,ai_sensor_classifier_faces:()=>$F,ai_sensor_color:()=>bF,ai_sensor_color_chases:()=>GF,ai_sensor_color_chases_result:()=>BF,ai_sensor_config:()=>CF,ai_sensor_face:()=>jF,ai_sensor_find_20objects:()=>eP,ai_sensor_find_barcodes:()=>DF,ai_sensor_find_circles:()=>XF,ai_sensor_find_colors:()=>VF,ai_sensor_find_licenseplates:()=>zF,ai_sensor_find_lines:()=>YF,ai_sensor_find_qrcodes:()=>LF,ai_sensor_find_rects:()=>xF,ai_sensor_find_tags:()=>FF,ai_sensor_licenseplate:()=>qF,ai_sensor_line:()=>PF,ai_sensor_qrcode:()=>AF,ai_sensor_qrcode_lite:()=>gF,ai_sensor_rect:()=>yF,ai_sensor_rgb:()=>SF,ai_sensor_tag:()=>fF,ai_sensor_use_uart_init:()=>cF,ai_sensor_yolo_recognize:()=>KF,ai_sensor_yolo_recognize_result:()=>JF});var j={};e.r(j),e.d(j,{AI_CAMERA_INIT:()=>NP,AI_CAMERA_INIT_FACERECOGNIZE:()=>FP,AI_CAMERA_INIT_SIMPLE:()=>iY,AI_STOP_ACQUISITION:()=>ZP,CAMERA_LOOGOUT:()=>hP,CI130X_BROADCAST_SANT:()=>pP,CI130X_BROADCAST_SYSTEM_TIME:()=>uP,CI130X_GET_THE_RECOGNIZED_CMD_SANT:()=>oP,CI130X_GET_WHETHER_IDENTIFY_SANT:()=>_P,CI130X_IDENTIFY_AND_SAVE_SANT:()=>sP,CI130X_OPEN_AND_CLOSE:()=>nP,CI130X_PLAY_SYSTEM_CMD_SANT:()=>rP,CI130X_SET_SYSTEM_CMD_SANT:()=>aP,CONVERT_IMAGE_TO_JPG:()=>OP,CREATE_CAMERA:()=>dP,CREATE_CAMERA_SIMPLE:()=>tY,DELETE_FACE_ALL:()=>HP,DELETE_FACE_FROM_DATABASE:()=>wP,GET_CAT_FACE_DETECTION_NUM:()=>QP,GET_COLOR_DETECTION_NUM:()=>JP,GET_FACE_DETECTION_NAME:()=>jP,GET_FACE_DETECTION_NUM:()=>zP,GET_HOW_MUCH_RECOGNITION:()=>XP,GET_HUMAN_DETECTION_NUM:()=>qP,GET_IMAGE_AND_SAVE:()=>IP,GET_IMAGE_FROM_NET:()=>MP,GET_NO_CAT_OR_FACE_RECOGNITION:()=>VP,GET_NO_FACE_RECOGNITION_INFO:()=>$P,GET_NO_RECOGNITION:()=>yP,GET_NO_XY_RECOGNITION:()=>xP,GET_NO_XY_RECOGNITION_FACE:()=>bP,GET_PICTURE_DATA_EXACT:()=>mP,GET_PICTURE_DATA_WHS:()=>RP,GET_PICTURE_RECOGNITION_DATA:()=>KP,GET_PICTURE_WIDTH_HEIGHT_DEVICE:()=>EP,GET_QR_CODE_RECOGNITION_DATA:()=>WP,GET_SCREEN_IMAGE:()=>AP,GET_SCREEN_IMAGE_SIZE:()=>LP,MIXIO_REPORT_IMAGE_DATA:()=>eY,MODEL_INIT_HEIGHT:()=>fP,MODEL_INIT_WIDTH:()=>DP,MODEL_LOGOUT:()=>PP,MODEL_RUN:()=>YP,MODEL_WHETHER_RUN_SUCCEED:()=>vP,OPEN_IMAGE:()=>TP,PRINT_FACE_DATABASE:()=>kP,REGISTER_NEW_FACE:()=>UP,REGISTER_NEW_FACE_SIMPLE:()=>sY,Register_color_recognition:()=>GP,Register_color_recognition_fixed:()=>BP,Register_color_recognition_fixed_SIMPLE:()=>nY,SCREEN_DISPLAY_IMAGE:()=>CP,SCREEN_DISPLAY_IMAGE_LOCATION:()=>SP,SCREEN_SHOW_CAM_GRAPH_SHOOT:()=>cP,SCREEN_SHOW_CAM_GRAPH_SHOOT_LOCATION:()=>gP,SHOOT_AND_SAVE_PICTURE:()=>lP,VOICE_RECOGNITION_CONTROL:()=>iP,yesorno:()=>tP});var $={};e.r($),e.d($,{MICROPYTHON_AI_Speech_asr:()=>pY,MICROPYTHON_AI_Speech_unit:()=>oY,MICROPYTHON_AI_client:()=>_Y});var Z={};e.r(Z),e.d(Z,{init_xunfei_Chinese_Model:()=>rY,init_xunfei_Spark_Ultra:()=>uY,init_xunfei_Spark_Ultra_clr_his:()=>IY,init_xunfei_vi:()=>aY,llm_set_callback:()=>TY,xunfei_Spark_Ultra_run:()=>lY,xunfei_vi_run:()=>dY});var ee={};e.r(ee),e.d(ee,{mpython_blynk_app_data:()=>LY,mpython_blynk_app_notify:()=>cY,mpython_blynk_email:()=>NY,mpython_blynk_get_timers:()=>CY,mpython_blynk_on_connected:()=>EY,mpython_blynk_on_disconnected:()=>mY,mpython_blynk_run:()=>RY,mpython_blynk_sensor_data_to_app:()=>AY,mpython_blynk_set_property:()=>DY,mpython_blynk_setup:()=>fY,mpython_blynk_stop_timers:()=>gY,mpython_blynk_sync_virtual:()=>hY,mpython_blynk_terminal_widget_vpin:()=>MY,mpython_blynktimer:()=>SY,mpython_blynktimer_run:()=>OY});var te={};e.r(te),e.d(te,{cc_g1_read_bat:()=>FY,cc_g1_read_joystick:()=>PY,cc_g1_read_key:()=>YY,cc_g1_turnoff:()=>vY});var ie={};e.r(ie),e.d(ie,{ce_go_dc_motor:()=>UY,ce_go_get_led_bright:()=>xY,ce_go_get_led_state:()=>bY,ce_go_hall_attachInterrupt:()=>wY,ce_go_hall_data:()=>kY,ce_go_hall_initialize:()=>HY,ce_go_led_bright:()=>yY,ce_go_led_brightness:()=>VY,ce_go_light_number:()=>XY,ce_go_pin_light:()=>qY,ce_go_pin_near:()=>KY,ce_go_pin_near_line:()=>WY,ce_go_pin_near_state_change:()=>JY,ce_go_stepper_keep:()=>BY,ce_go_stepper_stop:()=>GY,educore_car:()=>zY,educore_car_pin_near:()=>ev,educore_car_pin_near_line:()=>ZY,educore_car_stepper_keep:()=>jY,educore_car_stepper_stop:()=>$Y,sensor_mixgome_eulerangles:()=>QY});var ne={};e.r(ne),e.d(ne,{communicate_bluetooth_central_init:()=>yv,communicate_bluetooth_connect:()=>Vv,communicate_bluetooth_disconnect:()=>Bv,communicate_bluetooth_handle:()=>Wv,communicate_bluetooth_is_connected:()=>Uv,communicate_bluetooth_mac:()=>Gv,communicate_bluetooth_peripheral_init:()=>xv,communicate_bluetooth_recv:()=>kv,communicate_bluetooth_recv_only:()=>Hv,communicate_bluetooth_scan:()=>bv,communicate_bluetooth_send:()=>wv,communicate_espnow_init:()=>Kv,communicate_espnow_init_new:()=>Jv,communicate_i2c_available:()=>av,communicate_i2c_init:()=>nv,communicate_i2c_master_read:()=>pv,communicate_i2c_onboard:()=>tv,communicate_i2c_read:()=>sv,communicate_i2c_scan:()=>ov,communicate_i2c_write:()=>_v,communicate_ir_recv_init:()=>Av,communicate_ir_send_init:()=>Fv,communicate_ow_init:()=>Ov,communicate_ow_read:()=>gv,communicate_ow_reset:()=>cv,communicate_ow_scan:()=>Rv,communicate_ow_select:()=>Sv,communicate_ow_write:()=>Cv,communicate_spi_buffer:()=>lv,communicate_spi_init:()=>rv,communicate_spi_onboard:()=>iv,communicate_spi_read:()=>Iv,communicate_spi_read_output:()=>Tv,communicate_spi_readinto:()=>Mv,communicate_spi_readinto_output:()=>hv,communicate_spi_set:()=>dv,communicate_spi_write:()=>mv,communicate_spi_write_readinto:()=>Ev,espnow_radio_channel:()=>Zv,espnow_radio_channel_new:()=>tX,espnow_radio_on_off:()=>iX,espnow_radio_rec:()=>sX,espnow_radio_recv:()=>oX,espnow_radio_recv_certain_msg:()=>pX,espnow_radio_recv_certain_msg_new:()=>uX,espnow_radio_recv_msg:()=>_X,espnow_radio_recv_new:()=>aX,espnow_radio_send:()=>nX,espnow_radio_txpower:()=>eX,i2c_slave_onreceive:()=>uv,internal_variable:()=>Lv,ir_recv_timeout:()=>fv,ir_transmit_busy:()=>Xv,ir_transmit_conventional_data:()=>Pv,ir_transmit_raw_code:()=>vv,ir_transmit_study_code:()=>Yv,ir_whether_recv:()=>Dv,lora_init:()=>rX,lora_packet:()=>dX,lora_recv:()=>IX,lora_send:()=>lX,network_espnow_info:()=>qv,network_espnow_mac:()=>Qv,network_espnow_recv:()=>zv,network_espnow_recv_handle:()=>$v,network_espnow_send:()=>jv,recv_fun:()=>Nv,urequests_attribute:()=>MX,urequests_get:()=>TX,urequests_method:()=>hX});var se={};e.r(se),e.d(se,{display_animate:()=>UX,display_circle:()=>wX,display_color_seclet:()=>ZX,display_draw_4strings:()=>XX,display_fill:()=>GX,display_lcd_use_i2c_init:()=>_y,display_line:()=>bX,display_line_arbitrarily:()=>yX,display_matrix_extern_bright_point:()=>NX,display_matrix_extern_bright_screen:()=>fX,display_matrix_extern_clear:()=>SX,display_matrix_extern_get_pixel:()=>LX,display_matrix_extern_get_screen_pixel:()=>DX,display_matrix_extern_image_builtins:()=>FX,display_matrix_extern_scroll_string:()=>gX,display_matrix_extern_scroll_string_delay:()=>CX,display_matrix_extern_shift:()=>AX,display_matrix_extern_show_frame_string:()=>RX,display_matrix_extern_show_frame_string_delay:()=>cX,display_matrix_extern_show_image:()=>EX,display_matrix_extern_show_image_or_string_delay:()=>OX,display_matrix_use_i2c_init:()=>mX,display_oled_drawPixel:()=>WX,display_oled_showBitmap:()=>kX,display_oled_use_i2c_init:()=>ry,display_onoff:()=>VX,display_rect:()=>xX,display_tm1650_power:()=>JX,display_tm1650_set_brightness:()=>zX,display_tm1650_show_dot:()=>qX,display_tm1650_show_num:()=>QX,display_tm_use_i2c_init:()=>KX,display_triangle:()=>HX,display_use_i2c_init:()=>vX,extern_oled_bright_point:()=>gy,extern_oled_clear:()=>Oy,extern_oled_get_pixel:()=>cy,extern_oled_hvline:()=>Sy,extern_oled_line:()=>Ay,extern_oled_scroll_string:()=>my,extern_oled_scroll_string_delay:()=>Ey,extern_oled_shape_rect:()=>Cy,extern_oled_shift:()=>Ry,extern_oled_show_frame_string:()=>My,extern_oled_show_frame_string_delay:()=>hy,extern_oled_show_image:()=>dy,extern_oled_show_image_or_string_delay:()=>Ty,extern_oled_show_image_xy:()=>ly,extern_oled_show_string:()=>Iy,image_shift:()=>BX,lcd_backlight:()=>ay,lcd_clear:()=>uy,lcd_print_string:()=>py,lcd_show_image_or_string_delay:()=>oy,matrix_extern_image_arithmetic:()=>PX,matrix_extern_image_invert:()=>YX,tft_fill:()=>ny,tft_line_arbitrarily:()=>sy,tft_scroll_string_delay:()=>iy,tft_show_frame_string_delay:()=>ty,tft_show_image_or_string_delay:()=>ey,tft_show_image_xy:()=>$X,tft_use_spi_init:()=>jX});var _e={};e.r(_e),e.d(_e,{bitbot_display_bitmap_create:()=>Ex,bitbot_display_image_create:()=>mx,display_available:()=>By,display_bitmap_create:()=>by,display_bright_point:()=>ky,display_bright_screen:()=>Ky,display_clear:()=>Vy,display_get_pixel:()=>Hy,display_get_screen_pixel:()=>Wy,display_image_builtins:()=>Xy,display_image_builtins_all:()=>yy,display_image_create:()=>xy,display_scroll_string:()=>Fy,display_scroll_string_delay:()=>Py,display_scroll_way:()=>Yy,display_shift:()=>wy,display_show_frame_string:()=>Dy,display_show_frame_string_delay:()=>fy,display_show_image:()=>Ly,display_show_image_or_string_delay:()=>Ny,draw_pointer:()=>yx,image_arithmetic:()=>Gy,image_invert:()=>Uy,mixbot_display_bitmap_create:()=>lx,mixbot_display_bright_screen:()=>Mx,mixbot_display_get_ambientbright:()=>Tx,mixbot_display_get_screen_pixel:()=>Ix,mixbot_display_image_create:()=>dx,mixbot_display_rotate:()=>hx,mixgo_display_bitmap_create:()=>Zy,mixgo_display_image_create_new:()=>$y,mixgome_display_bitmap_create:()=>Qy,mixgome_display_font:()=>jy,mixgome_display_image_create:()=>Jy,mixgomini_display_bitmap_create:()=>zy,mixgomini_display_image_create:()=>qy,mpython_display_hvline:()=>ux,mpython_display_line:()=>rx,mpython_display_shape_rect:()=>ax,mpython_pbm_image:()=>ex,nova_draw_pointer:()=>xx,onboard_oled_bright_point:()=>px,onboard_oled_scroll_string_delay:()=>ox,onboard_oled_show_frame_string_delay:()=>_x,onboard_oled_show_image:()=>tx,onboard_oled_show_image_or_string_delay:()=>sx,onboard_oled_show_image_xy:()=>ix,onboard_oled_show_string:()=>nx,onboard_tft_bright_point:()=>Nx,onboard_tft_bright_screen:()=>kx,onboard_tft_clear:()=>Wx,onboard_tft_clock_clear:()=>vx,onboard_tft_clock_draw:()=>Yx,onboard_tft_clock_get_rtctime:()=>Fx,onboard_tft_clock_init:()=>fx,onboard_tft_clock_set_time:()=>Px,onboard_tft_display_hvline:()=>Sx,onboard_tft_display_line:()=>Ax,onboard_tft_display_shape_circle:()=>Xx,onboard_tft_display_shape_rect:()=>Cx,onboard_tft_fill:()=>Dx,onboard_tft_get_pixel:()=>Lx,onboard_tft_get_screen_pixel:()=>Hx,onboard_tft_scroll_string_delay:()=>vy,onboard_tft_shift:()=>wx,onboard_tft_show_frame_string:()=>Ux,onboard_tft_show_frame_string_delay:()=>gx,onboard_tft_show_image:()=>Gx,onboard_tft_show_image_or_string_delay:()=>cx,onboard_tft_show_image_xy:()=>Ox,onboard_tft_show_image_xy_direct:()=>Rx,onboard_tft_show_qrcode:()=>Vx,onboard_tft_show_qrcode_details:()=>Bx,onboard_tft_show_texts:()=>bx});var oe={};e.r(oe),e.d(oe,{factory_block:()=>Zx,factory_block_return:()=>eb,factory_block_return_with_textarea:()=>ib,factory_block_with_textarea:()=>tb,factory_callMethod_noreturn:()=>jx,factory_callMethod_return:()=>$x,factory_declare:()=>zx,factory_from_import:()=>Kx,factory_function_noreturn:()=>Qx,factory_function_return:()=>qx,factory_import:()=>Jx,folding_block:()=>nb});var pe={};e.r(pe),e.d(pe,{inout_analog_atten:()=>Eb,inout_analog_read:()=>db,inout_analog_read_init:()=>mb,inout_analog_write:()=>ab,inout_analog_write_init:()=>hb,inout_analog_write_set:()=>ub,inout_digital_init:()=>Tb,inout_digital_read:()=>ob,inout_digital_write:()=>_b,inout_highlow:()=>sb,inout_pin_attachInterrupt:()=>Ib,inout_pin_pressed:()=>lb,inout_pin_pressed_init:()=>Ob,inout_pwm_analog_write:()=>pb,inout_pwm_analog_write_init:()=>Mb,inout_pwm_analog_write_set_freq:()=>rb});var ae={};e.r(ae),e.d(ae,{IOT_CONNECT_OLLAMA:()=>Qb,IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>Bb,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>bb,IOT_EMQX_PING:()=>Gb,IOT_FORMATTING:()=>yb,IOT_FORMAT_STRING:()=>xb,IOT_MIXIO_NTP:()=>Ub,IOT_MIXIO_PUBLISH:()=>Nb,IOT_MIXIO_PUBLISHEX:()=>Db,IOT_MIXIO_SUBSCRIBE:()=>fb,iot_client_onboard:()=>wb,iot_connect_ollama:()=>Jb,iot_connect_openai:()=>qb,iot_http_client:()=>Hb,iot_http_data:()=>kb,iot_mixio_check:()=>Yb,iot_mixio_connect:()=>Lb,iot_mixio_connect_only:()=>Pb,iot_mixio_disconnect:()=>Fb,iot_mixio_format_msg:()=>Xb,iot_mixio_format_topic:()=>vb,iot_mixly_key:()=>Vb,iot_mqtt_client:()=>Wb,iot_mqtt_data:()=>Kb,iot_onenet_check:()=>Sb,iot_onenet_connect:()=>cb,iot_onenet_disconnect:()=>gb,iot_onenet_publish:()=>Ab,iot_onenet_publish_dict:()=>Cb,iot_tiny_web_db_count:()=>nV,iot_tiny_web_db_delete:()=>_V,iot_tiny_web_db_get:()=>iV,iot_tiny_web_db_init:()=>Zb,iot_tiny_web_db_init_with_mqtt:()=>eV,iot_tiny_web_db_search:()=>sV,iot_tiny_web_db_update:()=>tV,iot_wifi_connect:()=>Rb,ollama_empty_history:()=>$b,use_ollama_llm_to_chat:()=>zb,use_ollama_llm_to_chat_return:()=>jb});var ue={};e.r(ue),e.d(ue,{educore_mqtt_connect:()=>bV,educore_mqtt_connect_success:()=>UV,educore_mqtt_subscribe_message:()=>VV,educore_mqtt_topic_publish:()=>GV,educore_mqtt_topic_subscribe:()=>BV,educore_wifi_connect:()=>xV,network_ap_connect:()=>TV,network_connect:()=>pV,network_get_connect:()=>uV,network_get_wifi:()=>IV,network_init:()=>oV,network_is_active:()=>lV,network_open:()=>dV,network_scan:()=>MV,network_server:()=>hV,network_socket_accept:()=>cV,network_socket_bind:()=>EV,network_socket_close:()=>NV,network_socket_connect:()=>OV,network_socket_init:()=>mV,network_socket_listen:()=>RV,network_socket_readline:()=>gV,network_socket_receive:()=>CV,network_socket_receive_from:()=>AV,network_socket_send:()=>SV,network_socket_send_to:()=>LV,network_stop:()=>rV,network_wifi_connect:()=>aV,ntptime_address:()=>YV,ntptime_time:()=>PV,requests_attribute:()=>fV,requests_attribute2:()=>XV,requests_get:()=>DV,requests_get2:()=>vV,requests_method:()=>FV,requests_post:()=>yV});var re={};e.r(re),e.d(re,{CI130X_BROADCAST:()=>rB,CI130X_GET_THE_RECOGNIZED_CMD:()=>uB,CI130X_GET_WHETHER_IDENTIFY:()=>aB,CI130X_IDENTIFY_AND_SAVE:()=>pB,CI130X_SET_SYSTEM_CMD:()=>dB,HCSR04:()=>HB,PS2_Button:()=>KB,PS2_Buttons:()=>JB,PS2_Buttons_new:()=>tG,PS2_State:()=>QB,PS2_init:()=>kB,PS2_init_new:()=>ZB,PS2_stk:()=>qB,PS2_stk_new:()=>iG,PS2_vibration:()=>WB,PS2_vibration_new:()=>eG,RTC_get_time:()=>jB,RTC_set_date:()=>qV,RTC_set_datetime:()=>zB,RTC_set_time:()=>QV,camera_sensor_init:()=>vG,camera_sensor_result:()=>XG,column_tube_foot:()=>VG,define_keyboards:()=>BG,educore_body_sensor:()=>CG,educore_button_sensor_extern:()=>NG,educore_camera_sensor:()=>YG,educore_infrared_sensor:()=>LG,educore_soilhum_sensor:()=>SG,educore_temp_sensor:()=>PG,educore_temphum_sensor:()=>AG,educore_ultrasonic_sensor:()=>fG,esp32_s2_weather_init:()=>BB,esp32_s2_weather_rain:()=>UB,esp32_s2_weather_wd:()=>GB,esp32_s2_weather_ws:()=>wB,extern_rfid_read:()=>NB,extern_rfid_readcontent:()=>fB,extern_rfid_readid:()=>DB,extern_rfid_status:()=>YB,extern_rfid_write:()=>FB,extern_rfid_write_return:()=>PB,get_keboards_value:()=>UG,gnss_get_data:()=>_G,gnss_have_data:()=>oG,init_init_rotary_encoder:()=>wG,init_matrix_keyboard:()=>GG,interaction_whether_to_interaction:()=>_B,interaction_whether_to_interaction_SANT:()=>oB,line_tube_foot:()=>bG,mixbot_sensor_extern_get_addr:()=>hG,mixbot_sensor_extern_set_addr:()=>mG,pm25_get_data:()=>sG,radar_set_DETECTION_THRESHOLD:()=>nB,radar_set_DETECTION_THRESHOLD_SANT:()=>sB,robot_button_extern_get_value:()=>aG,robot_color_extern_get_value:()=>IG,robot_infrared_extern_get_value:()=>rG,robot_infrared_extern_grey_get_value:()=>dG,robot_potentiometer_extern_get_value:()=>lG,robot_sonar_extern_get_value:()=>TG,robot_sonar_extern_led:()=>MG,robot_touch_extern_get_value:()=>uG,rotary_key:()=>HG,sensor_APDS9960_extern:()=>IB,sensor_DS18X20:()=>gG,sensor_LTR308_extern:()=>TB,sensor_LTR390UV_extern:()=>cB,sensor_MAX30102_extern:()=>lB,sensor_QMC5883L_extern:()=>gB,sensor_VL530LX_extern:()=>AB,sensor_aht11_extern:()=>SB,sensor_bmp:()=>eB,sensor_dht11:()=>$B,sensor_distance_hrsc04:()=>JV,sensor_hp203_extern:()=>MB,sensor_ltr381_extern:()=>OB,sensor_mixgo_extern_button_attachInterrupt:()=>WV,sensor_mixgo_extern_button_get_presses:()=>kV,sensor_mixgo_extern_button_is_pressed:()=>wV,sensor_mixgo_extern_button_was_pressed:()=>HV,sensor_mixgo_extern_light:()=>zV,sensor_mixgo_extern_pin_near:()=>$V,sensor_mixgo_extern_sound:()=>jV,sensor_mixgoce_hot_wheel_degrees:()=>VB,sensor_mixgoce_hot_wheel_is_touched:()=>bB,sensor_mpu9250_attachGestureInterrupt:()=>KV,sensor_ms5611_extern:()=>mB,sensor_ms5611_extern_altitude:()=>EB,sensor_read_humiture:()=>DG,sensor_rtc_init:()=>ZV,sensor_sht:()=>tB,sensor_shtc3_extern:()=>CB,sensor_spl06_001_extern:()=>hB,sensor_ucs12071_extern:()=>RB,sensor_use_i2c_init:()=>iB,sensor_use_spi_init:()=>LB,sensor_use_uart_init:()=>nG,sensor_weather_solo_init:()=>EG,sensor_weather_solo_rain:()=>cG,sensor_weather_solo_wd:()=>OG,sensor_weather_solo_ws:()=>RG,sensor_weigh_init:()=>yG,tvoc_get_data:()=>pG,ultrasonic_sensor_read_distance:()=>FG,weather_data:()=>vB,weather_have_data:()=>XB,weather_set_label:()=>xB,weather_uart_mixio:()=>yB,weigh_sensor_get_weight:()=>xG});var de={};e.r(de),e.d(de,{HCSR04:()=>$G,bitbot_als_num:()=>Rw,dht11:()=>Dw,educore_button_sensor:()=>yw,educore_button_was_pressed:()=>xw,educore_gyroscope_sensor:()=>Yw,educore_gyroscope_sensor_read:()=>vw,educore_gyroscope_sensor_shake:()=>Xw,educore_light_sensor:()=>Pw,educore_rfid_sensor:()=>bw,educore_rfid_sensor_scan:()=>Vw,educore_rfid_sensor_scan_data:()=>Bw,educore_voice_sensor:()=>fw,number1:()=>ZG,number2:()=>eU,number3:()=>tU,number4:()=>iU,number5:()=>nU,number6:()=>sU,number7:()=>_U,onboard_RTC_get_time:()=>zU,onboard_RTC_get_time_str:()=>ZU,onboard_RTC_get_timestamp:()=>jU,onboard_RTC_get_timetuple_to_str:()=>ew,onboard_RTC_set_datetime:()=>QU,onboard_RTC_settime_string:()=>qU,onboard_RTC_timestamp_totuple:()=>$U,rfid_readcontent:()=>cU,rfid_readid:()=>RU,rfid_status:()=>SU,rfid_write:()=>gU,rfid_write_return:()=>CU,sensor_LTR308:()=>MU,sensor_adxl345_get_acceleration:()=>vU,sensor_aht11:()=>EU,sensor_bitbot_ALS:()=>Ow,sensor_button_get_presses:()=>Cw,sensor_button_is_pressed:()=>cw,sensor_button_was_pressed:()=>gw,sensor_compass_reset:()=>BU,sensor_ds18x20:()=>IU,sensor_eulerangles:()=>LU,sensor_get_acceleration:()=>AU,sensor_get_temperature:()=>OU,sensor_get_the_coprocessor_version:()=>Gw,sensor_hp203:()=>mU,sensor_light:()=>Nw,sensor_lm35:()=>TU,sensor_mixbot_get_gyro:()=>Ew,sensor_mixbot_patrol_calibrate:()=>Mw,sensor_mixbot_patrol_value:()=>hw,sensor_mixbot_temperature:()=>mw,sensor_mixgo_LTR308:()=>rU,sensor_mixgo_button_attachInterrupt:()=>JG,sensor_mixgo_button_get_presses:()=>KG,sensor_mixgo_button_is_pressed:()=>kG,sensor_mixgo_button_was_pressed:()=>WG,sensor_mixgo_cc_mmc5603_calibrate_compass:()=>nw,sensor_mixgo_cc_mmc5603_get_angle:()=>iw,sensor_mixgo_cc_mmc5603_get_magnetic:()=>tw,sensor_mixgo_light:()=>Lw,sensor_mixgo_nova_LTR308:()=>lU,sensor_mixgo_nova_pin_near:()=>uU,sensor_mixgo_pin_near:()=>aU,sensor_mixgo_pin_near_double:()=>pU,sensor_mixgo_pin_near_single:()=>oU,sensor_mixgo_pin_pressed:()=>PU,sensor_mixgo_sant_color:()=>dU,sensor_mixgo_touch_slide:()=>FU,sensor_mixgocar42_button_attachInterrupt:()=>jG,sensor_mixgocar42_button_get_presses:()=>zG,sensor_mixgocar42_button_is_pressed:()=>QG,sensor_mixgocar42_button_was_pressed:()=>qG,sensor_mixgocar_battery_left:()=>Tw,sensor_mixgocar_pin_near:()=>lw,sensor_mixgocar_pin_near_line:()=>dw,sensor_mixgocar_pin_near_state_change:()=>Iw,sensor_mixgoce_pin_pressed:()=>fU,sensor_mixgoce_temperature:()=>_w,sensor_mixgome_temperature:()=>sw,sensor_mpu9250_calibrate_compass:()=>xU,sensor_mpu9250_field_strength:()=>VU,sensor_mpu9250_gesture:()=>NU,sensor_mpu9250_get_acceleration:()=>DU,sensor_mpu9250_get_gyro:()=>yU,sensor_mpu9250_get_magnetic:()=>XU,sensor_mpu9250_temperature:()=>bU,sensor_mpython_pin_pressed:()=>YU,sensor_mpython_qmi8658_get_gyro:()=>ow,sensor_mpython_qmi8658_temperature:()=>pw,sensor_onboard_compass_reset:()=>JU,sensor_onboard_mpu9250_calibrate_compass:()=>kU,sensor_onboard_mpu9250_field_strength:()=>KU,sensor_onboard_mpu9250_gesture:()=>GU,sensor_onboard_mpu9250_get_acceleration:()=>UU,sensor_onboard_mpu9250_get_gyro:()=>HU,sensor_onboard_mpu9250_get_magnetic:()=>wU,sensor_onboard_mpu9250_temperature:()=>WU,sensor_pin_near:()=>Aw,sensor_pin_pressed:()=>Sw,sensor_read:()=>Fw,sensor_rm_acc:()=>rw,sensor_rm_battery_left:()=>uw,sensor_rm_pin_near_double:()=>aw,sensor_sound:()=>hU,simulated_light_sensor:()=>Uw});var le={};e.r(le),e.d(le,{serial_any:()=>Kw,serial_print:()=>ww,serial_print_byte:()=>Hw,serial_print_hex:()=>Ww,serial_println:()=>kw,serial_read_from_ai:()=>nH,serial_readline:()=>Qw,serial_readstr:()=>Jw,serial_send_to_ai:()=>iH,serial_softserial:()=>qw,serial_softserial_new:()=>zw,system_input:()=>jw,system_print:()=>$w,system_print_end:()=>eH,system_print_inline:()=>Zw,system_print_many:()=>tH});var Ie={};e.r(Ie),e.d(Ie,{Panic_with_status_code:()=>MH,Timer_init:()=>PH,base_delay:()=>XH,controls_delay:()=>RH,controls_delay_new:()=>cH,controls_end_program:()=>mH,controls_millis:()=>hH,controls_uname:()=>OH,reset:()=>EH,set_system_timer:()=>CH,system_bitbot_shutdown:()=>FH,system_device_name:()=>IH,system_device_serial_number:()=>TH,system_event_bus_source:()=>dH,system_event_bus_value:()=>lH,system_machine_reset:()=>fH,system_on_event:()=>aH,system_raise_event:()=>pH,system_reset:()=>_H,system_run_in_background:()=>sH,system_ticks_diff:()=>SH,system_timer:()=>LH,system_timer_init:()=>AH,system_timestamp:()=>uH,system_value:()=>rH,system_wait:()=>oH,system_wdt_feed:()=>DH,system_wdt_init:()=>NH,time_ticks_diff:()=>vH,timer:()=>gH,timer2:()=>YH});var Te={};e.r(Te),e.d(Te,{Air_daily_content:()=>JH,Air_now_content:()=>GH,Geo_moon_content:()=>qH,Geo_sun_content:()=>QH,Life_suggestion_content:()=>wH,Location_search_content:()=>kH,Tide_daily_content:()=>HH,WEATHER_DAILY:()=>xH,WEATHER_HOUR:()=>bH,WEATHER_NOW:()=>yH,Weather_alarm_content:()=>UH,Weather_daily:()=>WH,Weather_daily_content:()=>KH,Weather_now:()=>VH,Weather_now_content:()=>BH});var Me={};e.r(Me),e.d(Me,{MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED:()=>$H});var he={};e.r(he),e.d(he,{MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED:()=>ek});var me={};e.r(me),e.d(me,{MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED:()=>ik});var Ee={};e.r(Ee),e.d(Ee,{controls_pin_attachInterrupt:()=>gk,inout_analog_atten:()=>lk,inout_analog_write:()=>rk,inout_analog_write_init:()=>hk,inout_analog_write_set:()=>dk,inout_analog_write_set_freq:()=>Ek,inout_digital_init:()=>Mk,inout_digital_read:()=>uk,inout_digital_write:()=>ak,inout_highlow:()=>pk,inout_pinMode:()=>Ok,inout_pin_attachInterrupt:()=>Tk,inout_pin_pressed:()=>Ik,inout_pin_pressed_init:()=>mk,pin_pressed:()=>ck,pin_pressed_init:()=>Rk});var Oe={};e.r(Oe),e.d(Oe,{mini_g2_aht11:()=>Sk,mini_g2_hp203:()=>Ak,mini_g2_rfid_readcontent:()=>Dk,mini_g2_rfid_readid:()=>Nk,mini_g2_rfid_status:()=>Pk,mini_g2_rfid_write:()=>fk,mini_g2_rfid_write_outcome:()=>Fk,mini_g2_varistor:()=>Lk});var Re={};e.r(Re),e.d(Re,{me_go_dc_motor:()=>Gk,me_go_get_led_bright:()=>yk,me_go_get_led_state:()=>xk,me_go_hall_attachInterrupt:()=>Uk,me_go_hall_data:()=>Hk,me_go_hall_initialize:()=>wk,me_go_led_bright:()=>Xk,me_go_led_brightness:()=>bk,me_go_light_number:()=>vk,me_go_pin_light:()=>Qk,me_go_pin_near:()=>Wk,me_go_pin_near_line:()=>kk,me_go_pin_near_state_change:()=>Kk,me_go_stepper_keep:()=>Vk,me_go_stepper_stop:()=>Bk,sensor_mixgome_eulerangles:()=>Jk});var ce={};e.r(ce),e.d(ce,{analog_input:()=>nW,analog_output:()=>_W,espnow_channel:()=>eW,haskylens_model:()=>tW,i2c_A_pin:()=>oW,i2c_B_pin:()=>pW,pins_analog:()=>lW,pins_analog_pin:()=>IW,pins_axis:()=>FW,pins_brightness:()=>PW,pins_builtinimg:()=>CW,pins_builtinimg_extern:()=>SW,pins_button:()=>hW,pins_buttonB:()=>mW,pins_dac:()=>TW,pins_dac_pin:()=>MW,pins_digital:()=>zk,pins_digital_dot:()=>BW,pins_digital_pin:()=>jk,pins_exlcdh:()=>DW,pins_exlcdv:()=>fW,pins_imglist:()=>AW,pins_input_pin:()=>$k,pins_one_more:()=>VW,pins_output_pin:()=>Zk,pins_playlist:()=>LW,pins_playlist_extern:()=>NW,pins_pwm:()=>EW,pins_pwm_pin:()=>OW,pins_radio_datarate:()=>bW,pins_radio_power:()=>xW,pins_serial:()=>gW,pins_tone_notes:()=>yW,pins_touch:()=>cW,pins_touch_pin:()=>RW,pins_tts_bgmusic:()=>XW,pins_tts_builtin_music:()=>vW,pins_tts_voice:()=>YW,pwm_input:()=>iW,pwm_output:()=>sW,spi_A_pin:()=>aW,spi_B_pin:()=>uW,spi_C_pin:()=>rW,spi_D_pin:()=>dW,timer_id_pin:()=>GW});var ge={};e.r(ge),e.d(ge,{actuator_neopixel_init:()=>UW});var Ce={};e.r(Ce),e.d(Ce,{inout_analog_atten:()=>jW,inout_analog_write:()=>WW,inout_analog_write_init:()=>zW,inout_analog_write_set:()=>KW,inout_digital_init:()=>qW,inout_digital_read:()=>kW,inout_digital_write:()=>HW,inout_highlow:()=>wW,inout_pin_attachInterrupt:()=>QW,inout_pin_pressed:()=>JW,inout_pin_pressed_init:()=>$W});var Se={};e.r(Se),e.d(Se,{mini_g2_aht11:()=>ZW,mini_g2_hp203:()=>eK,mini_g2_rfid_readcontent:()=>nK,mini_g2_rfid_readid:()=>iK,mini_g2_rfid_status:()=>oK,mini_g2_rfid_write:()=>sK,mini_g2_rfid_write_outcome:()=>_K,mini_g2_varistor:()=>tK});var Ae={};e.r(Ae),e.d(Ae,{me_go_dc_motor:()=>TK,me_go_get_led_bright:()=>uK,me_go_get_led_state:()=>rK,me_go_hall_attachInterrupt:()=>MK,me_go_hall_data:()=>mK,me_go_hall_initialize:()=>hK,me_go_led_bright:()=>aK,me_go_led_brightness:()=>dK,me_go_light_number:()=>pK,me_go_pin_light:()=>gK,me_go_pin_near:()=>OK,me_go_pin_near_line:()=>EK,me_go_pin_near_state_change:()=>RK,me_go_stepper_keep:()=>lK,me_go_stepper_stop:()=>IK,sensor_mixgome_eulerangles:()=>cK});var Le={};e.r(Le),e.d(Le,{analog_input:()=>YK,analog_output:()=>XK,espnow_channel:()=>FK,haskylens_model:()=>PK,i2c_A_pin:()=>yK,i2c_B_pin:()=>xK,pins_analog:()=>wK,pins_analog_pin:()=>UK,pins_axis:()=>iJ,pins_brightness:()=>_J,pins_builtinimg:()=>jK,pins_builtinimg_extern:()=>$K,pins_button:()=>SK,pins_buttonB:()=>AK,pins_dac:()=>KK,pins_dac_pin:()=>WK,pins_digital:()=>CK,pins_digital_dot:()=>IJ,pins_digital_pin:()=>LK,pins_exlcdh:()=>nJ,pins_exlcdv:()=>sJ,pins_imglist:()=>ZK,pins_input_pin:()=>NK,pins_interrupt:()=>qK,pins_one_more:()=>lJ,pins_output_pin:()=>DK,pins_playlist:()=>eJ,pins_playlist_extern:()=>tJ,pins_pwm:()=>kK,pins_pwm_input:()=>fK,pins_pwm_pin:()=>HK,pins_radio_datarate:()=>dJ,pins_radio_power:()=>rJ,pins_serial:()=>zK,pins_tone_notes:()=>uJ,pins_touch:()=>QK,pins_touch_pin:()=>JK,pins_tts_bgmusic:()=>aJ,pins_tts_builtin_music:()=>pJ,pins_tts_voice:()=>oJ,pwm_output:()=>vK,spi_A_pin:()=>bK,spi_B_pin:()=>VK,spi_C_pin:()=>BK,spi_D_pin:()=>GK,timer_id_pin:()=>TJ});const Ne=Blockly,De=Mixly,fe={NAME_TYPE:"VARIABLE",allVariables:function(e){var t;if(e.getDescendants)t=e.getDescendants();else{if(!e.getAllBlocks)throw"Not Block or Workspace: "+e;t=e.getAllBlocks()}for(var i=Object.create(null),n=0;n1&&(o+=n)):i=o}else i="i";return i}},Fe=fe; -/** - * @license - * Visual Blocks Editor - * - * Copyright 2012 Google Inc. - * https://developers.google.com/blockly/ - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -class Pe{constructor(e,t){if(this.variablePrefix_=t||"",this.reservedDict_=Object.create(null),e)for(var i=e.split(","),n=0;n0;s--)t.getInputTargetBlock("IF"+s)&&t.getInputTargetBlock("IF"+s).previousConnection?i[s]=t.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),t.getInputTargetBlock("DO"+s)&&t.getInputTargetBlock("DO"+s).previousConnection?n[s]=t.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(e.getAttribute("elseif"),10),this.elseCount_=parseInt(e.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(Ne.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+s).appendField(Ne.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(Ne.Msg.CONTROLS_IF_MSG_ELSE);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(e){var t=e.newBlock("controls_if_if");t.initSvg();for(var i=t.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=e.newBlock("controls_if_elseif");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var _=e.newBlock("controls_if_else");_.initSvg(),i.connect(_.previousConnection)}return t},compose:function(e){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var t=this.elseifCount_;t>0;t--)this.removeInput("IF"+t),this.removeInput("DO"+t);this.elseifCount_=0;for(var i=e.getInputTargetBlock("STACK"),n=[null],s=[null],_=null;i;){switch(i.type){case"controls_if_elseif":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_if_else":this.elseCount_++,_=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,_)},saveConnections:function(e){for(var t=e.getInputTargetBlock("STACK"),i=1;t;){switch(t.type){case"controls_if_elseif":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);t.valueConnection_=n&&n.connection.targetConnection,t.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_if_else":s=this.getInput("ELSE");t.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}t=t.nextConnection&&t.nextConnection.targetBlock()}},rebuildShape_:function(){var e=[null],t=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),_=this.getInput("DO"+n);console.log(s.connection.targetConnection),e.push(s.connection.targetConnection),t.push(_.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(e,t,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var e=1;this.getInput("IF"+e);)this.removeInput("IF"+e),this.removeInput("DO"+e),e++;for(e=1;e<=this.elseifCount_;e++)this.appendValueInput("IF"+e).setCheck([Number,Boolean]).appendField(Ne.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+e).appendField(Ne.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(Ne.Msg.CONTROLS_IF_MSG_ELSE)},reconnectChildBlocks_:function(e,t,i){for(var n=1;n<=this.elseifCount_;n++)e[n]&&e[n].reconnect(this,"IF"+n),t[n]&&t[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},ze={init:function(){this.setColour(ke),this.appendValueInput("FROM").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.PYTHON_RANGE).appendField(Ne.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.PYTHON_RANGE_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Ne.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},je={init:function(){this.setColour(ke),this.appendValueInput("LIST").setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.CONTROLS_FOREACH_INPUT),this.appendValueInput("VAR").appendField(Ne.Msg.CONTROLS_FOREACH_INPUT_ITEM),this.appendStatementInput("DO").appendField(Ne.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip((function(){return Ne.Msg.CONTROLS_FOR_TOOLTIP.replace("“%1”","")}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Ne.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},$e={init:function(){this.setColour(ke),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(Ne.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(new Ne.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(Ne.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT+Ne.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE");return{WHILE:Ne.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:Ne.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[t]}))}},Ze={init:function(){this.setColour(ke),this.appendDummyInput().appendField(Ne.Msg.MIXLY_PYTHON_TRY),this.appendStatementInput("try"),this.appendValueInput("IF1").appendField(Ne.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO1").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Ne.icons.MutatorIcon(["controls_except","controls_finally"],this)),this.setTooltip(Ne.Msg.MIXLY_MIXPY_CONTROL_TRY_TOOLTIP),this.elseifCount_=1,this.elseCount_=0},mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var e=document.createElement("mutation");return this.elseifCount_&&e.setAttribute("elseif",this.elseifCount_),this.elseCount_&&e.setAttribute("else",1),e},domToMutation:function(e){var t=this,i=[],n=[];this.elseCount_&&this.removeInput("ELSE");for(var s=this.elseifCount_;s>0;s--)t.getInputTargetBlock("IF"+s)&&t.getInputTargetBlock("IF"+s).previousConnection?i[s]=t.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),t.getInputTargetBlock("DO"+s)&&t.getInputTargetBlock("DO"+s).previousConnection?n[s]=t.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(e.getAttribute("elseif"),10),this.elseCount_=parseInt(e.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(Ne.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+s).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(Ne.Msg.MIXLY_PYTHON_FINALLY);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(e){var t=e.newBlock("controls_try");t.initSvg();for(var i=t.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=e.newBlock("controls_except");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var _=e.newBlock("controls_finally");_.initSvg(),i.connect(_.previousConnection)}return t},compose:function(e){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var t=this.elseifCount_;t>0;t--)this.removeInput("IF"+t),this.removeInput("DO"+t);this.elseifCount_=0;for(var i=e.getInputTargetBlock("STACK"),n=[null],s=[null],_=null;i;){switch(i.type){case"controls_except":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_finally":this.elseCount_++,_=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,_)},saveConnections:function(e){for(var t=e.getInputTargetBlock("STACK"),i=1;t;){switch(t.type){case"controls_except":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);t.valueConnection_=n&&n.connection.targetConnection,t.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_finally":s=this.getInput("ELSE");t.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}t=t.nextConnection&&t.nextConnection.targetBlock()}},rebuildShape_:function(){var e=[null],t=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),_=this.getInput("DO"+n);console.log(s.connection.targetConnection),e.push(s.connection.targetConnection),t.push(_.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(e,t,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var e=1;this.getInput("IF"+e);)this.removeInput("IF"+e),this.removeInput("DO"+e),e++;for(e=1;e<=this.elseifCount_;e++)this.appendValueInput("IF"+e).setCheck([Number,Boolean]).appendField(Ne.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+e).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(Ne.Msg.MIXLY_PYTHON_FINALLY)},reconnectChildBlocks_:function(e,t,i){for(var n=1;n<=this.elseifCount_;n++)e[n]&&e[n].reconnect(this,"IF"+n),t[n]&&t[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},et={init:function(){this.setColour(ke);var e=new Ne.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(e,"FLOW").appendField(Ne.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0),this.setTooltip(Ne.Msg.MIXLY_PYTHON_CONTROLS_FLOW_STATEMENTS_TOOLTIP);var t=this;this.setTooltip((function(){var e=t.getFieldValue("FLOW");return{BREAK:Ne.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:Ne.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}[e]}))},onchange:function(){if(this.workspace){var e=!1,t=this;do{if("controls_repeat"==t.type||"controls_for"==t.type||"controls_forEach"==t.type||"controls_repeat_ext"==t.type||"controls_whileUntil"==t.type||"do_while"==t.type){e=!0;break}t=t.getSurroundParent()}while(t);e?this.setWarningText(null):this.setWarningText(Ne.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}},tt={init:function(){this.setColour(ke),this.appendDummyInput().appendField(Ne.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new Ne.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(Ne.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){return Ne.Msg.CONTROLS_FOR_TOOLTIP.replace("%1",e.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Ne.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},it={init:function(){this.setColour(ke),this.appendDummyInput().appendField(Ne.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new Ne.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(Ne.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){return Ne.Msg.MIXLY_PYTHON_CONTROLS_FOR_RANGE_TOOLTIP.replace("%1",e.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Ne.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}};$e.OPERATORS=[[Ne.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[Ne.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]],et.OPERATORS=[[Ne.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[Ne.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const nt={init:function(){this.setColour(ke),this.appendDummyInput().appendField(Ne.Msg.CONTROLS_IF_IF_TITLE_IF),this.appendStatementInput("STACK"),this.setTooltip(Ne.Msg.CONTROLS_IF_IF_TOOLTIP),this.contextMenu=!1}},st={init:function(){this.setColour(ke),this.appendDummyInput().appendField(Ne.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ne.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},_t={init:function(){this.setColour(ke),this.appendDummyInput().appendField(Ne.Msg.CONTROLS_IF_ELSE_TITLE_ELSE),this.setPreviousStatement(!0),this.setTooltip(Ne.Msg.CONTROLS_IF_ELSE_TOOLTIP),this.contextMenu=!1}},ot={init:function(){this.setColour(ke),this.appendDummyInput().appendField("try"),this.appendStatementInput("STACK"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.contextMenu=!1}},pt={init:function(){this.setColour(ke),this.appendDummyInput().appendField(Ne.Msg.MIXLY_PYTHON_EXCEPT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1,this.setTooltip(Ne.Msg.MIXLY_MIXPY_CONTROL_EXCEPT_TOOLTIP)}},at={init:function(){this.setColour(ke),this.appendDummyInput().appendField(Ne.Msg.MIXLY_PYTHON_FINALLY),this.setPreviousStatement(!0),this.contextMenu=!1,this.setTooltip(Ne.Msg.MIXLY_MIXPY_CONTROL_FINALLY_TOOLTIP)}},ut={init:function(){this.jsonInit({message0:Ne.Msg.CONTROLS_REPEAT_TITLE,args0:[{type:"input_value",name:"TIMES"}],previousStatement:null,nextStatement:null,colour:ke,tooltip:Ne.Msg.CONTROLS_REPEAT_TOOLTIP,helpUrl:Ne.Msg.CONTROLS_REPEAT_HELPURL}),this.appendStatementInput("DO")}},rt={init:function(){this.setColour(ke),this.appendValueInput("BOOL").appendField("lambda"),this.appendStatementInput("DO").appendField(Ne.Msg.MIXLY_STAT),this.setOutput(!0)}},dt={init:function(){this.setColour(ke),this.appendDummyInput().appendField(Ne.Msg.MIXLY_PYTHON_PASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ne.Msg.MIXLY_PYTHON_CONTROLS_PASS_TOOLTIP)}},lt={init:function(){this.setColour(ke),this.appendDummyInput().appendField(Ne.Msg.MIXLY_PYTHON_CONTROLS_THREAD_START),this.appendValueInput("callback").appendField(Ne.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.appendValueInput("VAR").appendField(Ne.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_PYTHON_CONTROLS_THREAD_TOOLTIP)}},It={init:function(){this.appendDummyInput().appendField(Ne.Msg.CONTROLS_REPEAT_TITLE_REPEAT+Ne.Msg.MIXLY_DO),this.appendStatementInput("input_data").setCheck(null),this.appendValueInput("select_data").setCheck(null).appendField(Ne.Msg.CONTROLS_OPERATOR_UNTIL).appendField(new Ne.FieldDropdown([[Ne.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"true"],[Ne.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"false"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(ke),this.setTooltip("do-while loop"),this.setHelpUrl("")}},Tt={init:function(){this.setColour(ke),this.appendDummyInput().appendField(Ne.Msg.MIXLY_OP_GARBAGE_COLLECT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Mt={init:function(){this.setColour(ke),this.appendDummyInput().appendField(Ne.Msg.MIXLY_GET_MEM_ALLOC),this.setOutput(!0)}},ht={init:function(){this.setColour(ke),this.appendDummyInput().appendField(Ne.Msg.MIXLY_GET_MEM_FREE),this.setOutput(!0)}},mt={init:function(){this.setColour(ke),this.appendDummyInput().appendField(Ne.Msg.MIXLY_GET+Ne.Msg.MIXLY_DEVICE+"ID"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Ne.Msg.PROCEDURES_DEFRETURN_RETURN+Ne.Msg.MIXLY_GET_UNIQUE_IDEN)}},Et={init:function(){this.setColour(ke),this.appendValueInput("VAR").appendField(Ne.Msg.MIXLY_RTC_TIMESTAMP),this.appendDummyInput().appendField(Ne.Msg.MIXLY_TIMESTAMP_TO_DATA),this.setInputsInline(!0),this.setOutput(!0,Number)}},Ot={init:function(){this.setColour(ke),this.appendDummyInput().appendField(Ne.Msg.MIXLY_GET_UNIQUE_IDEN),this.setOutput(!0)}},Rt=230;Ne.FieldTextInput.math_number_validator=function(e){return String(e)},Ne.FieldTextInput.math_number_validator_include_blank=function(e){if(""===e)return"";return/^-?(0X|0x|0O|0o|0B|0b)?[a-fA-F0-9]{1,}(\.[a-fA-F0-9]+)?$/.test(e)?String(e):null};const ct={init:function(){this.setColour(Rt),this.appendDummyInput().appendField(new Ne.FieldTextInput("0",Ne.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(Ne.Msg.MATH_NUMBER_TOOLTIP)}},gt={init:function(){this.setColour(Rt);this.appendDummyInput("").appendField(Ne.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new Ne.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CONSTANT");return{pi:Ne.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_TOOLTIP,e:Ne.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_TOOLTIP}[t]}))}},Ct={init:function(){this.setColour(Rt);this.appendDummyInput("").appendField(Ne.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new Ne.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CONSTANT");return{pi:Ne.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_MP_TOOLTIP,e:Ne.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_MP_TOOLTIP}[t]}))}},St={init:function(){this.setColour(Rt),this.setOutput(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Ne.FieldDropdown([["+","ADD"],["-","MINUS"],["×","MULTIPLY"],["÷","DIVIDE"],["%","QUYU"],["//","ZHENGCHU"],["**","POWER"]]),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{ADD:Ne.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:Ne.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:Ne.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:Ne.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:Ne.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:Ne.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:Ne.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[t]}))}},At={init:function(){this.setColour(Rt),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Ne.FieldDropdown([["+=","ADD"],["-=","MINUS"],["×=","MULTIPLY"],["÷=","DIVIDE"],["%=","QUYU"],["//=","ZHENGCHU"],["**=","POWER"]]),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{ADD:Ne.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:Ne.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:Ne.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:Ne.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:Ne.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:Ne.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:Ne.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[t]}))}},Lt={init:function(){this.setColour(Rt),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new Ne.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},Nt={init:function(){this.setColour(Rt),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new Ne.FieldDropdown([["sin","SIN"],["cos","COS"],["tan","TAN"],["asin","ASIN"],["acos","ACOS"],["atan","ATAN"],["-","-"],["ln","LN"],["log10","LOG10"],["e^","EXP"],["10^","POW10"]]),"OP");var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{SIN:Ne.Msg.MATH_TRIG_TOOLTIP_SIN,COS:Ne.Msg.MATH_TRIG_TOOLTIP_COS,TAN:Ne.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:Ne.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:Ne.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:Ne.Msg.MATH_TRIG_TOOLTIP_ATAN,LN:Ne.Msg.MATH_SINGLE_TOOLTIP_LN}[t]}))}},Dt={init:function(){var e=[[Ne.Msg.MATH_BIN,"bin"],[Ne.Msg.MATH_OCT,"oct"],[Ne.Msg.MATH_HEX,"hex"]];this.setColour(Rt),this.setOutput(!0,String),this.appendValueInput("NUM").setCheck(Number).appendField(new Ne.FieldDropdown(e),"OP");var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{bin:Ne.Msg.MATH_DEC_TOOLTIP_BIN,oct:Ne.Msg.MATH_DEC_TOOLTIP_OCT,hex:Ne.Msg.MATH_DEC_TOOLTIP_HEX}[e]}))}},ft={init:function(){var e=[[Ne.Msg.LANG_MATH_TO_ROUND,"round"],[Ne.Msg.LANG_MATH_TO_CEIL,"ceil"],[Ne.Msg.LANG_MATH_TO_FLOOR,"floor"],[Ne.Msg.MATH_ABS,"fabs"],[Ne.Msg.MATH_SQRT,"sqrt"]];this.setColour(Rt),this.appendValueInput("A").setCheck(Number).appendField(new Ne.FieldDropdown(e),"OP"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{sqrt:Ne.Msg.MATH_SINGLE_TOOLTIP_ROOT,fabs:Ne.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:Ne.Msg.MATH_SINGLE_TOOLTIP_SQ,round:Ne.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:Ne.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:Ne.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[e]}))}},Ft={init:function(){var e=[[Ne.Msg.MIXLY_MAX,"max"],[Ne.Msg.MIXLY_MIN,"min"]];this.setColour(Rt),this.appendValueInput("A").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(new Ne.FieldDropdown(e),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(Ne.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{max:Ne.Msg.MIXLY_TOOLTIP_MATH_MAX,min:Ne.Msg.MIXLY_TOOLTIP_MATH_MIN}[e]}))}},Pt={init:function(){var e=[[Ne.Msg.MATH_TWO,"two"],[Ne.Msg.MATH_EIGHT,"eight"],[Ne.Msg.MATH_TEN,"ten"],[Ne.Msg.MATH_SIXTEEN,"sixteen"]];this.setColour(Rt),this.appendDummyInput("").appendField(Ne.Msg.MATH_BA),this.appendValueInput("NUM").appendField(new Ne.FieldDropdown(e),"OP").appendField(Ne.Msg.MATH_JinZhi).setCheck(Number),this.appendDummyInput("").appendField(Ne.Msg.MATH_ZHW).appendField(new Ne.FieldDropdown(e),"OP2").appendField(Ne.Msg.MATH_JinZhi),this.setFieldValue("ten","OP2"),this.setOutput(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i={two:Ne.Msg.MATH_Before_two,eight:Ne.Msg.MATH_Before_eight,ten:Ne.Msg.MATH_Before_ten,sixteen:Ne.Msg.MATH_Before_sixteen},n=t.getFieldValue("OP2"),s={two:Ne.Msg.MATH_Behind_two,eight:Ne.Msg.MATH_Behind_eight,ten:Ne.Msg.MATH_Behind_ten,sixteen:Ne.Msg.MATH_Behind_sixteen};return i[e]+s[n]}))}},Yt={init:function(){var e=[[Ne.Msg.LANG_MATH_INT,"int"],[Ne.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(Rt),this.setOutput(!0,Number),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_RANDOM).appendField(new Ne.FieldDropdown(e),"TYPE"),this.appendValueInput("FROM").setCheck(Number).appendField(Ne.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("TYPE"),i={int:Ne.Msg.LANG_MATH_INT,float:Ne.Msg.LANG_MATH_FLOAT_RANDOM};return Ne.Msg.MATH_RANDOM_INT_TOOLTIP+i[e]}))}},vt={init:function(){this.setColour(Rt),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(Ne.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(Ne.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(Ne.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MATH_CONSTRAIN_TOOLTIP)}},Xt={init:function(){this.setColour(Rt),this.appendValueInput("NUM",Number).appendField(Ne.Msg.MIXLY_MAP).setCheck(Number),this.appendValueInput("fromLow",Number).appendField(Ne.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(Ne.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Ne.Msg.MIXLY_TOOLTIP_MATH_MAP)}},yt={init:function(){this.setColour(Rt),this.appendDummyInput().appendField(new Ne.FieldTextInput("0",Ne.FieldTextInput.math_number_validator_include_blank),"NUM"),this.setOutput(!0),this.setTooltip(Ne.Msg.MATH_NUMBER_TOOLTIP)}},xt={init:function(){this.setColour(Rt),this.appendValueInput("NUM").setCheck(Number).appendField(Ne.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ne.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED)}},bt={init:function(){this.setColour(Rt),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number),this.appendValueInput("VAR").setCheck(Number).appendField(Ne.Msg.MATH_ROUND).appendField(Ne.Msg.TEXT_KEEP),this.appendDummyInput().appendField(Ne.Msg.TEXT_DECIMAL),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MATH_ROUND_NEW_TOOLTIP)}},Vt={init:function(){var e=[[Ne.Msg.MIXLY_TO_INT,"int"],[Ne.Msg.MIXLY_TO_FLOAT,"float"],[Ne.Msg.MIXLY_TO_BITES,"b"],[Ne.Msg.LANG_MATH_BYTE+Ne.Msg.MIXLY_TO_INT,"bti"]];this.setColour(Rt),this.appendValueInput("VAR").appendField(new Ne.FieldDropdown(e),"TOWHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("TOWHAT");return{int:Ne.Msg.MIXLY_PYTHON_TOOLTIP_TOINT,float:Ne.Msg.MIXLY_PYTHON_TOOLTIP_TOFLOAT,b:Ne.Msg.MIXLY_TOOLTIP_TEXT_TOBYTE}[e]}))}},Bt={init:function(){var e=[[Ne.Msg.MIXLY_TO_INT,"int"],[Ne.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(Rt),this.appendValueInput("VAR").appendField(new Ne.FieldDropdown(e),"TOWHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("TOWHAT");return{int:Ne.Msg.MIXLY_TOOLTIP_TEXT_TOINT,float:Ne.Msg.MIXLY_TOOLTIP_TEXT_TOFLOAT}[e]}))}},Gt=Xt,Ut={init:function(){this.setColour(Rt),this.appendValueInput("VAR").appendField(Ne.Msg.LANG_MATH_BYTE+Ne.Msg.MIXLY_TO_HEX),this.setOutput(!0,Number),this.setTooltip(Ne.Msg.MIXLY_PYTHON_TOOLTIP_TOHEX)}},wt={init:function(){this.setColour(Rt),this.itemCount_=1,this.setMutator(new Ne.icons.MutatorIcon(["lists_create_with_item"],this)),this.appendDummyInput("DUMMY").appendField(Ne.Msg.MIXLY_PRODUCT+Ne.Msg.MIXLY_GENERATE_CARTESIAN_PRODUCT),this.appendValueInput("REPEAT").appendField(Ne.Msg.MIXLY_EVERY_PER_ELEPER_ELEMENT),this.appendDummyInput().appendField(Ne.Msg.CONTROLS_REPEAT_TITLE_TIMES),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0),this.setTooltip(Ne.Msg.LISTS_CREATE_WITH_PYTHON_TOOLTIP),this.updateShape_()},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("lists_create_with_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;n1&&"\\"===e.charAt(0)){var t=e.charAt(1);if("0"===t||"b"===t||"f"===t||"n"===t||"r"===t||"t"===t||"\\"===t||"'"===t)return String(e).substring(0,2);if("x"===t&&"0"===e.charAt(2)&&"B"===e.charAt(3))return String(e).substring(0,4)}return String(e).substring(0,1)};const qt={init:function(){this.setColour(Wt),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new Ne.FieldTextInput("",Ne.FieldTextInput.char_validator),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,Number),this.setTooltip(Ne.Msg.TEXT_CHAR_TOOLTIP)},newQuote_:function(e){if(1==e)var t="../../media/quote2.png";else t="../../media/quote3.png";return new Ne.FieldImage(t,7,12,'"')}},zt={init:function(){this.setColour(Wt),this.appendValueInput("A").setCheck([String,Number]),this.appendValueInput("B").setCheck([String,Number]).appendField(Ne.Msg.MIXLY_TEXT_JOIN),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Ne.Msg.MIXLY_TOOLTIP_TEXT_JOIN)}},jt={init:function(){this.setColour(Wt),this.appendValueInput("VAR").setCheck(Number).appendField(Ne.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(Ne.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},$t={init:function(){this.setColour(Wt),this.appendValueInput("VAR").setCheck(String).appendField(Ne.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(Ne.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},Zt={init:function(){this.setColour(Wt),this.appendValueInput("VAR").appendField(Ne.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(Ne.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},ei={init:function(){this.setColour(Wt),this.appendValueInput("VAR").appendField(Ne.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(Ne.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},ti={init:function(){this.WHERE_OPTIONS=[[Ne.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[Ne.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[Ne.Msg.TEXT_GET_INDEX_RANDOM+1+Ne.Msg.TEXT_CHARAT2,"RANDOM"]],this.setHelpUrl(Ne.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Wt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number),this.appendDummyInput().appendField(Ne.Msg.LISTS_GET_INDEX_GET,"MODE"),Ne.Msg.LISTS_GET_INDEX_TAIL&&this.appendDummyInput("TAIL").appendField(Ne.Msg.LISTS_GET_INDEX_TAIL),this.setInputsInline(!0),this.setOutput(!0),this.updateAt_(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=e.getFieldValue("WHERE"),n="";switch(t+" "+i){case"GET FROM_START":case"GET FROM_END":n=Ne.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM;break;case"GET RANDOM":n=Ne.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM;break;case"GET_REMOVE FROM_START":case"GET_REMOVE FROM_END":n=Ne.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM;break;case"GET_REMOVE RANDOM":n=Ne.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM}return"FROM_START"!=i&&"FROM_END"!=i||(n+=" "+Ne.Msg.LISTS_INDEX_FROM_START_TOOLTIP.replace("%1",Ne.Msg.ONE_BASED_INDEXING?"#1":"#0")),n}));var t=this;this.setTooltip((function(){var e=t.getFieldValue("WHERE"),i={FROM_START:Ne.Msg.LISTS_GET_INDEX_FROM_START,FROM_END:Ne.Msg.LISTS_GET_INDEX_FROM_END,RANDOM:Ne.Msg.TEXT_GET_INDEX_RANDOM};return Ne.Msg.PROCEDURES_DEFRETURN_RETURN+Ne.Msg.MIXLY_MICROBIT_TYPE_STRING+i[e]+"n"+Ne.Msg.TEXT_CHARAT2}))},mutationToDom:function(){var e=document.createElement("mutation");e.setAttribute("statement",!this.outputConnection);var t=this.getInput("AT").type==Ne.INPUT_VALUE;return e.setAttribute("at",t),e},domToMutation:function(e){var t="true"==e.getAttribute("statement");this.updateStatement_(t),e="false"!=e.getAttribute("at"),this.updateAt_(e)},updateStatement_:function(e){e!=!this.outputConnection&&(this.unplug(!0,!0),e?(this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)):(this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)))},updateAt_:function(e){this.removeInput("AT"),this.removeInput("ORDINAL",!0),e?(this.appendValueInput("AT").setCheck(Number),Ne.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL").appendField(Ne.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT");var t=new Ne.FieldDropdown(this.WHERE_OPTIONS,(function(t){var i="FROM_START"==t||"FROM_END"==t;if(i!=e){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(t,"WHERE"),null}}));this.getInput("AT").appendField(t,"WHERE"),Ne.Msg.LISTS_GET_INDEX_TAIL&&this.moveInputBefore("TAIL",null)}},ii={init:function(){this.setHelpUrl(Ne.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Wt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number).appendField(Ne.Msg.LISTS_GET_INDEX_GET+" "+Ne.Msg.LISTS_GET_INDEX_FROM_START),this.appendDummyInput().appendField(Ne.Msg.TEXT_CHARAT2),this.setOutput(!0),this.setTooltip(Ne.Msg.PROCEDURES_DEFRETURN_RETURN+Ne.Msg.MIXLY_MICROBIT_TYPE_STRING+Ne.Msg.LISTS_GET_INDEX_FROM_START+"n"+Ne.Msg.TEXT_CHARAT2)}},ni={init:function(){this.setHelpUrl(Ne.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Wt),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(Ne.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(Ne.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},si={init:function(){this.WHERE_OPTIONS_1=[[Ne.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[Ne.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[Ne.Msg.LISTS_GET_SUBLIST_START_FIRST,"FIRST"]],this.WHERE_OPTIONS_2=[[Ne.Msg.LISTS_GET_SUBLIST_END_FROM_START,"FROM_START"],[Ne.Msg.LISTS_GET_SUBLIST_END_FROM_END,"FROM_END"],[Ne.Msg.LISTS_GET_SUBLIST_END_LAST,"LAST"]],this.setHelpUrl(Ne.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Wt),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput("AT1"),this.appendDummyInput("AT2"),this.setInputsInline(!0),this.setOutput(!0,"List"),this.updateAt_(1,!0),this.updateAt_(2,!0),this.setTooltip(Ne.Msg._GET_TEXT_SUBLIST_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation"),t=this.getInput("AT1").type==Ne.INPUT_VALUE;e.setAttribute("at1",t);var i=this.getInput("AT2").type==Ne.INPUT_VALUE;return e.setAttribute("at2",i),e},domToMutation:function(e){var t="true"==e.getAttribute("at1"),i="true"==e.getAttribute("at2");this.updateAt_(1,t),this.updateAt_(2,i)},updateAt_:function(e,t){this.removeInput("AT"+e),this.removeInput("ORDINAL"+e,!0),t?(this.appendValueInput("AT"+e).setCheck(Number),Ne.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL"+e).appendField(Ne.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT"+e);var i=new Ne.FieldDropdown(this["WHERE_OPTIONS_"+e],(function(i){var n="FROM_START"==i||"FROM_END"==i;if(n!=t){var s=this.sourceBlock_;return s.updateAt_(e,n),s.setFieldValue(i,"WHERE"+e),null}}));this.getInput("AT"+e).appendField(i,"WHERE"+e),1==e&&(this.moveInputBefore("AT1","AT2"),this.getInput("ORDINAL1")&&this.moveInputBefore("ORDINAL1","AT2"))}},_i={init:function(){this.setHelpUrl(Ne.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Wt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT1").appendField(Ne.Msg.LISTS_GET_INDEX_GET+" "+Ne.Msg.LISTS_GET_INDEX_FROM_START),this.appendValueInput("AT2").appendField(Ne.Msg.LISTS_GET_SUBLIST_END_FROM_START),this.appendDummyInput().appendField(Ne.Msg.TEXT_CHARAT2),this.setInputsInline(!0),this.setOutput(!0,["List",String]),this.setTooltip(Ne.Msg._GET_TEXT_SUBLIST_TOOLTIP)}},oi={init:function(){var e=[[Ne.Msg.MIXLY_EQUALS,"==="],[Ne.Msg.MIXLY_STARTSWITH,"startswith"],[Ne.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(Wt),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new Ne.FieldDropdown(e),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},pi={init:function(){this.setColour(Wt),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(Ne.Msg.MIXLY_COMPARETO).setCheck(String),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_COMPARETO_HELP)}},ai={init:function(){var e=[[Ne.Msg.TEXT_UPPER,"upper"],[Ne.Msg.TEXT_TITLE,"title"],[Ne.Msg.TEXT_CAPITALIZE,"capitalize"],[Ne.Msg.TEXT_SWAPCASE,"swapcase"],[Ne.Msg.TEXT_LOWER,"lower"]];this.setColour(Wt),this.appendValueInput("VAR").appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new Ne.FieldDropdown(e),"CAPITAL").setCheck(String),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CAPITAL");return{upper:Ne.Msg.MIXLY_MIXPY_TEXT_UPPER_TOOLTIP,title:Ne.Msg.MIXLY_MIXPY_TEXT_TITLE_TOOLTIP,swapcase:Ne.Msg.MIXLY_MIXPY_TEXT_SWAPCASE_TOOLTIP,capitalize:Ne.Msg.MIXLY_MIXPY_TEXT_CAPITALIZE_TOOLTIP,lower:Ne.Msg.MIXLY_MIXPY_TEXT_LOWER_TOOLTIP}[e]}))}},ui={init:function(){var e=[[Ne.Msg.TEXT_LJUST,"ljust"],[Ne.Msg.TEXT_CENTER,"center"],[Ne.Msg.TEXT_RJUST,"rjust"]];this.setColour(Wt),this.appendValueInput("VAR").appendField(new Ne.FieldDropdown(e),"CENTER").setCheck(String),this.appendValueInput("WID").appendField(Ne.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("Symbol").appendField(Ne.Msg.MIXLY_RECT_Fill).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Ne.Msg.MIXLY_MIXPY_TEXT_CENTER_TOOLTIP)}},ri={init:function(){this.setColour(Wt),this.appendValueInput("VAR").appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).setCheck(String),this.appendValueInput("STR").appendField(Ne.Msg.MIXLY_MID+Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER).setCheck(String),this.appendDummyInput().appendField(Ne.Msg.MIXLY_LIST_INDEX),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Ne.Msg.MIXLY_MIXPY_TEXT_FIND_TOOLTIP)}},di={init:function(){this.setColour(Wt),this.appendValueInput("VAR").appendField(Ne.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_USE_STR).setCheck(String),this.appendValueInput("LIST").appendField(Ne.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_SEQ).setCheck("List","Tuple","Set","Dict"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_GET_STR),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Ne.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_TOOLTIP)}},li={init:function(){this.setColour(Wt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("STR1").appendField(Ne.Msg.MIXLY_MIXPY_REPLACE).setCheck(String),this.appendValueInput("STR2").appendField(Ne.Msg.LISTS_SET_INDEX_INPUT_TO).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Ne.Msg.MIXLY_MIXPY_TEXT_REPLACE_TOOLTIP)}},Ii={init:function(){this.setColour(Wt),this.appendValueInput("VAR"),this.appendValueInput("VAL").appendField(Ne.Msg.LIST_SPLIT_AS),this.appendDummyInput("").appendField(Ne.Msg.LIST_SPLIT),this.setOutput(!0,"List"),this.setTooltip(Ne.Msg.MIXLY_MIXPY_TEXT_SPLIT_TOOLTIP),this.setInputsInline(!0)}},Ti={init:function(){var e=[[Ne.Msg.TEXT_TRIM_BOTH,"strip"],[Ne.Msg.TEXT_TRIM_LEFT,"lstrip"],[Ne.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(Wt),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(Ne.Msg.TEXT_STRIM),this.appendDummyInput("").appendField(new Ne.FieldDropdown(e),"TOWHAT"),this.appendDummyInput("").appendField(Ne.Msg.TEXT_BLANK),this.setOutput(!0,String),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("TOWHAT");return{strip:Ne.Msg.TEXT_TRIM_BOTH_TOOLTIP,lstrip:Ne.Msg.TEXT_TRIM_LEFT_TOOLTIP,rstrip:Ne.Msg.TEXT_TRIM_RIGHT_TOOLTIP}[e]}))}},Mi={init:function(){this.setColour(Wt),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_MICROPYTHON_FORMAT),this.appendDummyInput("").appendField(new Ne.FieldTextInput("str"),"VAR"),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new Ne.icons.MutatorIcon(["text_create_with_item"],this)),this.setOutput(!0),this.setTooltip(Ne.Msg.MIXLY_MIXPY_TEXT_FORMAT_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("text_create_with_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;nt?e[t]:0==t?'"key"':'"key'+(t+1)+'"'),"KEY"+t).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Ne.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},ln={init:function(){this.setColour(rn),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(Ne.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},In={init:function(){this.setColour(rn),this.appendDummyInput().appendField(Ne.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ne.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},Tn={init:function(){this.setColour(rn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Ne.Msg.DICT_KEYS),this.setTooltip(Ne.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},Mn={init:function(){this.setColour(rn),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Ne.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(Ne.Msg.DICTS_ADD_VALUE),this.setOutput(!0),this.setTooltip(Ne.Msg.DICTS_GET_TOOLTIP)}},hn={init:function(){this.setColour(rn),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Ne.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(Ne.Msg.DICTS_ADD_VALUE),this.appendValueInput("VAR").appendField(Ne.Msg.DICTS_DEFAULT_VALUE),this.setOutput(!0),this.setTooltip(Ne.Msg.DICTS_GET_DEFAULT_TOOLTIP)}},mn={init:function(){this.setColour(rn),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(Ne.Msg.DICTS_ADD),this.appendDummyInput(),this.appendValueInput("VAR").appendField(Ne.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ne.Msg.DICTS_ADD_OR_CHANGE_TOOLTIP)}},En={init:function(){this.setColour(rn),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(Ne.Msg.DICTS_DELETE_IN),this.appendDummyInput("").appendField(Ne.Msg.DICTS_DELETE_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ne.Msg.DICTS_DELETE_TOOLTIP)}},On={init:function(){this.setColour(rn),this.appendValueInput("DICT2").setCheck("Dict").appendField(Ne.Msg.MAKE_DICT),this.appendValueInput("DICT").setCheck("Dict").appendField(Ne.Msg.DICT_UPDATE),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_MID),this.setTooltip(Ne.Msg.DICTS_UPDATE_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Rn={init:function(){this.setColour(rn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Ne.Msg.DICT_CLEAR),this.setTooltip(Ne.Msg.DICTS_CLEAR_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},cn={init:function(){this.setColour(rn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Ne.Msg.DICT_ITEMS),this.setTooltip(Ne.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},gn={init:function(){this.setColour(rn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Ne.Msg.DICT_VALUES),this.setTooltip(Ne.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},Cn={init:function(){this.setColour(rn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_LENGTH),this.setTooltip(Ne.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},Sn={init:function(){this.setColour(rn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Ne.Msg.DICT_DELDICT),this.setTooltip(Ne.Msg.DICTS_DEL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},An={init:function(){this.MODE=[[Ne.Msg.DICTS_ADD_OR_CHANGE,"INSERT"],[Ne.Msg.MIXLY_MICROBIT_JS_DELETE_VAR,"DELETE"]],this.setHelpUrl(Ne.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(rn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("AT2"),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).appendField(Ne.Msg.DICTS_ADD_VALUE),this.updateAt_(!0),this.setInputsInline(!0),this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t="";switch(e.getFieldValue("WHERE")){case"INSERT":t=Ne.Msg.DICTS_ADD_TOOLTIP;break;case"DELETE":t=Ne.Msg.DICTS_DELETE_TOOLTIP}return t}))},mutationToDom:function(){var e=document.createElement("mutation"),t=this.getInput("AT2").type==Ne.INPUT_VALUE;return e.setAttribute("at2",t),e},domToMutation:function(e){var t="true"==e.getAttribute("at2");this.updateAt_(t)},updateAt_:function(e){this.removeInput("AT2"),this.removeInput("ORDINAL",!0),e?this.appendValueInput("AT2").setCheck(Number):this.appendDummyInput("AT2");var t=new Ne.FieldDropdown(this.MODE,(function(t){var i="INSERT"==t;if(i!=e){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(t,"WHERE"),null}}));this.getInput("AT2").appendField(t,"WHERE")}},Ln={init:function(){this.setColour(rn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Ne.Msg.blockpy_DICT_POP),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(Ne.Msg.DICTS_ADD_VALUE),this.setTooltip(Ne.Msg.DICT_POP_TOOLTIP),this.setInputsInline(!0),this.setOutput(!0)}},Nn={init:function(){this.setColour(rn),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Ne.Msg.DICTS_SET_DEFAULT),this.appendDummyInput("").appendField(Ne.Msg.DICTS_DEFAULT_VALUE),this.appendValueInput("VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ne.Msg.DICTS_SETDEFAULT_TOOLTIP)}},Dn={init:function(){this.setColour(rn),this.appendDummyInput("").appendField(new Ne.FieldLabel(Ne.Msg.MIXLY_MICROBIT_TYPE_DICT),"TIP").appendField(" "),this.itemCount_=3,this.updateShape_(),this.setOutput(!0,"Dict"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setMutator(new Ne.icons.MutatorIcon(["dicts_create_with_item"],this)),this.setTooltip(Ne.Msg.DICTS_CREATE_WITH_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("dicts_create_with_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;nt?e[t]:0==t?'"key"':'"key'+(t+1)+'"'),"KEY"+t).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Ne.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},fn={init:function(){this.setColour(rn),this.appendValueInput("VAR").appendField(Ne.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(Ne.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},Fn={init:function(){this.setColour(rn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_TO_JSON),this.setTooltip(Ne.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},Pn={init:function(){this.setColour(rn),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_CONVERT_TO_JSON),this.setTooltip(Ne.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},Yn={init:function(){this.setColour(rn),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("VAR1").appendField("key1"),this.appendValueInput("VAR2").appendField("index"),this.appendValueInput("VAR3").appendField("key2"),this.appendValueInput("VAR4").appendField("key3"),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},vn={init:function(){this.setColour(rn),this.appendValueInput("DICT"),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_TO_JSON),this.setTooltip(Ne.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},Xn=210,yn={init:function(){var e=Ne.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(Xn),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Ne.FieldDropdown(e),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{EQ:Ne.Msg.LOGIC_COMPARE_TOOLTIP_EQ,NEQ:Ne.Msg.LOGIC_COMPARE_TOOLTIP_NEQ,LT:Ne.Msg.LOGIC_COMPARE_TOOLTIP_LT,LTE:Ne.Msg.LOGIC_COMPARE_TOOLTIP_LTE,GT:Ne.Msg.LOGIC_COMPARE_TOOLTIP_GT,GTE:Ne.Msg.LOGIC_COMPARE_TOOLTIP_GTE}[e]})),this.prevBlocks_=[null,null]}},xn={init:function(){var e=Ne.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]],t=Ne.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(Xn),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Ne.FieldDropdown(e),"OP1"),this.appendValueInput("C").appendField(new Ne.FieldDropdown(t),"OP2"),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_PYTHON_LOGIC_COMPARE_CONTINOUS_TOOLTIP)}},bn={init:function(){var e=[[Ne.Msg.LOGIC_OPERATION_AND,"AND"],[Ne.Msg.LOGIC_OPERATION_OR,"OR"],[Ne.Msg.LOGIC_OPERATION_NOR,"NOR"],[Ne.Msg.LOGIC_OPERATION_XOR,"XOR"]];this.setColour(Xn),this.setOutput(!0,Boolean),this.appendValueInput("A").setCheck([Boolean,Number]),this.appendValueInput("B").setCheck([Boolean,Number]).appendField(new Ne.FieldDropdown(e),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{AND:Ne.Msg.LOGIC_OPERATION_TOOLTIP_AND,OR:Ne.Msg.LOGIC_OPERATION_TOOLTIP_OR,NOR:Ne.Msg.LOGIC_OPERATION_TOOLTIP_NOR,XOR:Ne.Msg.LOGIC_OPERATION_TOOLTIP_XOR}[e]}))}},Vn={init:function(){this.setColour(Xn),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(Ne.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(Ne.Msg.LOGIC_NEGATE_TOOLTIP)}},Bn={init:function(){var e=[[Ne.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[Ne.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(Xn),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new Ne.FieldDropdown(e),"BOOL"),this.setTooltip(Ne.Msg.LOGIC_BOOLEAN_TOOLTIP)}},Gn={init:function(){this.setColour(Xn),this.setOutput(!0),this.appendDummyInput().appendField(Ne.Msg.LOGIC_NULL),this.setTooltip(Ne.Msg.LOGIC_NULL_TOOLTIP)}},Un={init:function(){this.setColour(Xn),this.appendValueInput("A"),this.appendValueInput("B").appendField(Ne.Msg.LOGIC_TERNARY_IF_TRUE),this.appendValueInput("C").appendField(Ne.Msg.LOGIC_TERNARY_IF_FALSE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_TOOLTIP_LOGIT_TRUEORFALSE)}},wn={init:function(){var e=[[Ne.Msg.TEXT_APPEND_TO,"in"],[Ne.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(Xn),this.appendValueInput("A"),this.appendValueInput("B").setCheck([String,"List"]).appendField(new Ne.FieldDropdown(e),"BOOL"),this.appendDummyInput("").appendField(Ne.Msg.MICROBIT_LOGIC_IS_IN),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Ne.Msg.IN)}},Hn={init:function(){var e=[[Ne.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[Ne.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(Xn),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Ne.FieldDropdown(e),"BOOL"),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_PYTHON_LOGIC_IS_TOOLTIP)}},kn={init:function(){this.setColour(Xn),this.appendValueInput("VAR").appendField(Ne.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(Ne.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},Wn={init:function(){this.setColour(0),this.appendValueInput("fn").setCheck(String).appendField(Ne.Msg.MIXLY_PYTHON_STORAGE_OPEN_FILE_WITH_OS+"(For Windows)"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Kn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"],[Ne.Msg.MIXLY_ADD,"a"],[Ne.Msg.MATH_BIN+Ne.Msg.MIXLY_ADD,"ab"],[Ne.Msg.MIXLY_R_W,"r+"],[Ne.Msg.MATH_BIN+Ne.Msg.MIXLY_R_W,"rb+"],[Ne.Msg.MIXLY_W_R,"w+"],[Ne.Msg.MATH_BIN+Ne.Msg.MIXLY_W_R,"wb+"],[Ne.Msg.MIXLY_A_R,"a+"],[Ne.Msg.MATH_BIN+Ne.Msg.MIXLY_A_R,"ab+"]]),"MODE"),this.appendValueInput("FILE").appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_AS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=Ne.Msg.MIXLY_USE,n=Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=Ne.Msg.MIXLY_BELONG;return i+{r:Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[t]+_+n+s}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Ne.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},Jn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=Ne.Msg.MIXLY_USE,n=Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=Ne.Msg.MIXLY_BELONG,o=Ne.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[t]+_+n+s+o}))}},Qn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE);this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendDummyInput().appendField(Ne.Msg.MIXPY_TEXT_ENCODE).appendField(new Ne.FieldDropdown([["ANSI","ANSI"],["gbk","gbk"],["utf-8","utf-8"]]),"CODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=Ne.Msg.MIXLY_USE,n=Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=Ne.Msg.MIXLY_BELONG,o=Ne.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[t]+_+n+s+o}))}},qn={init:function(){this.setColour(0),this.appendValueInput("data").setCheck(String).appendField(Ne.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendValueInput("FILE").appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+Ne.Msg.MIXLY_MICROBIT_TYPE_STRING+Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE)}},zn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"read"],[Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE,"readline"],[Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES,"readlines"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String)}},jn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,"read"],[Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,"readline"],[Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE,"readlines"]]),"MODE"),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE,n=Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER;return i+{read:Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,readline:Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,readlines:Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE}[t]+"x"+n}))}},$n={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.setNextStatement(!0),this.appendValueInput("SIZE").setCheck(Number).appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(Ne.Msg.MICROBIT_PYTHON_TYPE)}},Zn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Ne.Msg.HTML_FILE),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean),this.setTooltip(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT1)}},es={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_FILENAME),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILENAME)}},ts={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE)}},is={init:function(){this.setColour(0),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES)}};Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE;const ns={init:function(){this.setColour(0),this.appendDummyInput().appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE,"remove"],[Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_DIRS,"removedirs"]]),"MODE"),this.appendValueInput("FILE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE)}},ss={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE+Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE)}},_s={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_RETURN_FILE),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_PRESENT_LOCATION),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_TELL)}},os={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION),this.appendDummyInput().appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,"start"],[Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,"current"],[Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END,"end"]]),"MODE"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION+Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION,n=Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER,s=Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET;return i+" "+{start:Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,current:Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,end:Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END}[t]+s+"x"+n}))}},ps={init:function(){this.setColour(0),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR)}},as={init:function(){this.setColour(0),this.appendValueInput("PATH").setCheck(String).appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH),this.appendDummyInput().appendField(Ne.Msg.MIXLY_ESP32_SET),this.appendDummyInput().appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,"mkdir"],[Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_MAKEDIRS,"makedirs"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE");return Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH+"x"+Ne.Msg.MIXLY_ESP32_SET+{mkdir:Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,makedirs:Ne.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[t]}))}},us={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME),this.appendValueInput("NEWFILE").setCheck(String).appendField(Ne.Msg.MIXLY_AS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME)}},rs={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR)}},ds={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT),this.appendDummyInput().appendField(new Ne.FieldDropdown([[Ne.Msg.HTML_FILE,"isfile"],[Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_DIR,"isdir"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean);let e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE");return Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH+"x"+Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT+{isfile:Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,isdir:Ne.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[t]}))}},ls={init:function(){this.setColour(0),this.appendValueInput("SPISUB").appendField(Ne.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(Ne.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_SETUP+Ne.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(Ne.Msg.MIXLY_SD_CARD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Is={init:function(){this.setColour(0),this.appendValueInput("VAR").appendField(Ne.Msg.MIXLY_SD_CARD),this.appendValueInput("DIR").setCheck(String).appendField(Ne.Msg.MIXLY_SDCARD_MOUNT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip()}},Ts={init:function(){var e=Ne.Procedures.findLegalName("",this),t=new Ne.FieldTextInput(e,Ne.Procedures.rename);t.setSpellcheck(!1),this.appendDummyInput().appendField(t,"NAME").appendField("","PARAMS"),this.setMutator(new Ne.icons.MutatorIcon(["procedures_mutatorarg"],this)),(this.workspace.options.comments||this.workspace.options.parentWorkspace&&this.workspace.options.parentWorkspace.options.comments)&&Ne.Msg.PROCEDURES_DEFNORETURN_COMMENT&&this.setCommentText(Ne.Msg.PROCEDURES_DEFNORETURN_COMMENT),this.setStyle("procedure_blocks"),this.setTooltip(Ne.Msg.PROCEDURES_DEFNORETURN_TOOLTIP),this.setHelpUrl(Ne.Msg.PROCEDURES_DEFNORETURN_HELPURL),this.arguments_=[],this.argumentVarModels_=[],this.setStatements_(!0),this.statementConnection_=null},setStatements_:function(e){this.hasStatements_!==e&&(e?(this.appendStatementInput("STACK").appendField(Ne.Msg.PROCEDURES_DEFNORETURN_DO),this.getInput("RETURN")&&this.moveInputBefore("STACK","RETURN")):this.removeInput("STACK",!0),this.hasStatements_=e)},updateParams_:function(){var e="";this.arguments_.length&&(e=Ne.Msg.PROCEDURES_BEFORE_PARAMS+" "+this.arguments_.join(", ")),Ne.Events.disable();try{this.setFieldValue(e,"PARAMS")}finally{Ne.Events.enable()}},mutationToDom:function(e){var t=Ne.utils.xml.createElement("mutation");e&&t.setAttribute("name",this.getFieldValue("NAME"));for(var i=0;i"),this.appendValueInput("style").appendField(Ne.Msg.MIXLY_AIP_ATTR).setAlign(Ne.inputs.Align.RIGHT),this.appendStatementInput("DO").appendField(""),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},u_={init:function(){this.setColour(n_),this.appendDummyInput().appendField(Ne.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},r_={init:function(){this.setColour(n_),this.appendDummyInput().appendField(Ne.Msg.HTML_FORM_CONTENT).appendField(new Ne.FieldDropdown([[Ne.Msg.HTML_TEXT,"text"],[Ne.Msg.HTML_EMAIL,"email"],[Ne.Msg.HTML_NUMBER,"number"],[Ne.Msg.HTML_PASSWORD,"password"],[Ne.Msg.HTML_CHECKBOX,"checkbox"],[Ne.Msg.HTML_RADIOBUTTON,"radiobutton"],[Ne.Msg.HTML_BUTTON,"button"],[Ne.Msg.HTML_COLOUR,"colour"],[Ne.Msg.HTML_DATE,"date"],[Ne.Msg.HTML_LOCALTIME,"local time"],[Ne.Msg.HTML_FILE,"file"],[Ne.Msg.HTML_HIDDEN,"hidden"],[Ne.Msg.HTML_IMAGE,"image"],[Ne.Msg.HTML_MONTH,"month"],[Ne.Msg.HTML_RANGE,"range"],[Ne.Msg.HTML_RESET,"reset"],[Ne.Msg.HTML_SEARCH,"search"],[Ne.Msg.HTML_SUBMIT,"submit"],[Ne.Msg.HTML_TELEPHONENUMBER,"telephone number"],[Ne.Msg.HTML_TIME,"time"],[Ne.Msg.HTML_URL,"url"],[Ne.Msg.HTML_WEEK,"week"]]),"LEVEL"),this.appendDummyInput().appendField(Ne.Msg.HTML_NAME).appendField(new Ne.FieldTextInput("car"),"NAME"),this.appendDummyInput().appendField(Ne.Msg.HTML_VALUE).appendField(new Ne.FieldTextInput("go"),"VALUE"),this.appendValueInput("style").appendField(Ne.Msg.MIXLY_AIP_ATTR).setAlign(Ne.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},d_={init:function(){this.setColour(n_),this.appendDummyInput().appendField(new Ne.FieldTextInput("property"),"KEY").appendField(":").appendField(new Ne.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},l_={init:function(){this.setColour(n_),this.appendDummyInput().appendField(new Ne.FieldTextInput("property"),"KEY").appendField(":").appendField(new Ne.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},I_={init:function(){this.setColour(n_),this.appendDummyInput().appendField(Ne.Msg.HTML_TEXT).appendField(new Ne.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},T_=160,M_={init:function(){this.setColour(T_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new Ne.FieldTable(""),"TEXT")}},h_={init:function(){this.setColour(T_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new Ne.FieldMultilineInput(""),"TEXT")}},m_={init:function(){this.setColour(T_),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new Ne.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},E_={init:function(){this.setColour(T_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},O_={init:function(){this.setColour(T_),this.appendDummyInput().appendTitle("Comment:").appendTitle(new Ne.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},R_={init:function(){this.setColour(T_),this.appendValueInput("VALUE").appendField(Ne.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},c_={init:function(){this.setColour(T_),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Ne.icons.MutatorIcon(["text_print_multiple_item"],this)),this.setTooltip(Ne.Msg.TEXT_PRINT_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=Ne.Block.obtain(e,"text_print_multiple_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;n= stop:"," yield start"," start -= abs(step)"])};if(e=function(e,t,i){return"("+e+" <= "+t+") and "+a()+"("+e+", "+t+", "+i+") or "+u()+"("+e+", "+t+", "+i+")"},Ne.isNumber(n)&&Ne.isNumber(s)&&Ne.isNumber(_))n=parseFloat(n),s=parseFloat(s),_=Math.abs(parseFloat(_)),0==n%1&&0==s%1&&0==_%1?(n<=s?(s++,e=0==n&&1==_?s:n+", "+s,1!=_&&(e+=", "+_)):e=n+", "+--s+", -"+_,e="range("+e+")"):(e=n",GTE:">="};const ma=function(e,t){var i=this.getFieldValue("OP"),n="&&"==i?t.ORDER_LOGICAL_AND:t.ORDER_LOGICAL_OR,s=t.valueToCode(this,"A",n)||"False",_=t.valueToCode(this,"B",n)||"False";if("AND"==i)var o=s+" and "+_;else if("OR"==i)o=s+" or "+_;else if("NOR"==i)o="not("+s+"^"+_+")";else o=s+"^"+_;return[o,n]},Ea=function(e,t){var i=t.ORDER_UNARY_PREFIX;return["not "+(t.valueToCode(this,"BOOL",i)||"False"),i]},Oa=function(e,t){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",t.ORDER_ATOMIC]},Ra=function(e,t){return["None",t.ORDER_ATOMIC]},ca=function(e,t){var i=t.valueToCode(this,"A",t.ORDER_ATOMIC)||"False";return["("+(t.valueToCode(this,"B",t.ORDER_ATOMIC)||"False")+" if "+i+" else "+(t.valueToCode(this,"C",t.ORDER_ATOMIC)||"False")+")",t.ORDER_ATOMIC]},ga=function(e,t){var i=t.valueToCode(this,"A",t.ORDER_ATOMIC)||"''",n=t.valueToCode(this,"B",t.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,t.ORDER_ATOMIC]},Ca=function(e,t){var i=t.valueToCode(this,"A",t.ORDER_ATOMIC)||"''",n=t.valueToCode(this,"B",t.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,t.ORDER_ATOMIC]},Sa=function(e,t){return["bool("+(t.valueToCode(this,"VAR",t.ORDER_ATOMIC)||"0")+")",t.ORDER_ATOMIC]},Aa=function(e,t){return t.definitions_.import_os="import os","os.startfile("+t.valueToCode(this,"fn",t.ORDER_ATOMIC)+")\n"},La=function(e,t){return t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+" = open("+t.valueToCode(this,"FILENAME",t.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},Na=function(e,t){return["open("+t.valueToCode(this,"FILENAME",t.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",t.ORDER_ATOMIC]},Da=function(e,t){return["open("+t.valueToCode(this,"FILENAME",t.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',t.ORDER_ATOMIC]},fa=function(e,t){var i=t.valueToCode(this,"data",t.ORDER_ATOMIC);return t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".write("+i+")\n"},Fa=function(e,t){var i=this.getFieldValue("MODE");return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+"."+i+"()",t.ORDER_ATOMIC]},Pa=function(e,t){var i=this.getFieldValue("MODE");return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+"."+i+"("+t.valueToCode(this,"SIZE",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Ya=function(e,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".readline("+t.valueToCode(this,"SIZE",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},va=function(e,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".writable()",t.ORDER_ATOMIC]},Xa=function(e,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".name()",t.ORDER_ATOMIC]},ya=function(e,t){return t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".close()\n"},xa=function(e,t){t.definitions_.import_os="import os";return["os.listdir()",t.ORDER_ATOMIC]},ba=function(e,t){return t.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+")\n"},Va=function(e,t){return t.definitions_.import_os="import os",["os.path.getsize("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Ba=function(e,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".tell()",t.ORDER_ATOMIC]},Ga=function(e,t){var i=this.getFieldValue("MODE"),n=0;return n="start"==i?0:"current"==i?1:2,t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".seek("+t.valueToCode(this,"SIZE",t.ORDER_ATOMIC)+","+n+")\n"},Ua=function(e,t){return t.definitions_.import_os="import os","os.chdir("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+")\n"},wa=function(e,t){t.definitions_.import_os="import os";return["os.getcwd()",t.ORDER_ATOMIC]},Ha=function(e,t){return t.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+t.valueToCode(this,"PATH",t.ORDER_ATOMIC)+")\n"},ka=function(e,t){return t.definitions_.import_os="import os","os.rename("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+","+t.valueToCode(this,"NEWFILE",t.ORDER_ATOMIC)+")\n"},Wa=function(e,t){t.definitions_.import_os="import os";var i=t.valueToCode(this,"FILE",t.ORDER_ATOMIC);return["os."+this.getFieldValue("MODE")+"("+i+")",t.ORDER_ATOMIC]},Ka=function(e,t){return t.definitions_.import_os="import os",t.definitions_.import_sdcard="import sdcard",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+" = sdcard.SDCard("+t.valueToCode(this,"SPISUB",t.ORDER_ATOMIC)+","+t.valueToCode(this,"PINSUB",t.ORDER_ATOMIC)+")\n"},Ja=function(e,t){return t.definitions_.import_os="import os",t.definitions_.import_sdcard="import sdcard","os.mount("+t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+","+t.valueToCode(this,"DIR",t.ORDER_ATOMIC)+")\n"},Qa=function(e,t){var i=t.variableDB_.getName(this.getFieldValue("NAME"),Ne.Procedures.NAME_TYPE),n=(this.getInput("STACK")&&t.statementToCode(this,"STACK"))??" pass\n";t.INFINITE_LOOP_TRAP&&(n=t.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+n);var s=t.valueToCode(this,"RETURN",t.ORDER_NONE)||"";s&&(s=" return "+s+"\n");for(var _=[],o=0;o\n\n\n\t\n"+t.statementToCode(this,"HEAD")+"\n\n"+t.statementToCode(this,"BODY")+"\n\n'''",t.ORDER_ATOMIC]},Fu=function(e,t){var i=t.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"\n"+i+"\n"},Pu=function(e,t){var i=t.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");if("head"==n)var s="<"+n+'>\n\t\n'+i+"\n";else s="<"+n+">\n"+i+"\n";return s},Yu=function(e,t){var i=t.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"<"+n+">\n"+i+"\n"},vu=function(e,t){var i=t.statementToCode(this,"DO"),n=t.valueToCode(this,"style"),s=this.getFieldValue("LEVEL");return"<"+s+" "+n+" >\n"+i+"\n"},Xu=function(e,t){return['style="'+t.statementToCode(this,"STYLE")+'"',t.ORDER_ATOMIC]},yu=function(e,t){return'"},xu=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},bu=function(){return this.getFieldValue("TEXT")+"\n"},Vu=function(e){return e.getFieldValue("TEXT")+"\n"},Bu=function(e,t){return[e.getFieldValue("TEXT"),t.ORDER_ATOMIC]},Gu=function(e,t){return(t.valueToCode(e,"VALUE",t.ORDER_ATOMIC)||"")+"\n"},Uu=function(){return""},wu=function(e,t){return["type("+(t.valueToCode(e,"VALUE",t.ORDER_MEMBER)||"___")+")",t.ORDER_ATOMIC]},Hu=function(e,t){for(var i=e.getFieldValue("NAME"),n=e.hasReturn_,s=new Array(e.itemCount_),_=0;_0?t.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+e+"while True:\n"+a.join("")+u.join("\n"):t.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+e+u.join("\n")},Ju.scrubNakedValue=function(e){return e+"\n"},Ju.quote_=function(e){var t="'";return-1!==e.indexOf("'")&&(-1===e.indexOf('"')?t='"':e=e.replace(/'/g,"\\'")),t+e+t},Ju.multiline_quote_=function(e){return"'''"+(e=e.replace(/'''/g,"\\'\\'\\'"))+"'''"},Ju.scrub_=function(e,t,i){var n="";if(!e.outputConnection||!e.outputConnection.targetConnection){(_=e.getCommentText())&&(_=Ne.utils.string.wrap(_,Ju.COMMENT_WRAP-3),n+=Ju.prefixLines(_+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const Qu="#74A55B",qu={init:function(){this.setColour(Qu),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_MIDI),this.appendValueInput("SUB").appendField(Ne.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Ne.Msg.MIXLY_RGB_PIN_COUNT)}},zu={init:function(){this.setColour(Qu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Ne.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ne.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},ju={init:function(){this.setColour(Qu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Ne.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(Ne.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ne.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},$u={init:function(){this.setColour(Qu),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(Ne.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Zu={init:function(){this.setColour(Qu),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(Ne.Msg.MIXLY_BACKSTAGE+Ne.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_BACKSTAGE+Ne.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},er={init:function(){this.setColour(Qu),this.appendValueInput("SUB"),this.appendValueInput("TICKS").setCheck(Number).appendField(Ne.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(Ne.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(Ne.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},tr={init:function(){this.setColour(Qu),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},ir={init:function(){this.setColour(Qu),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_MUSIC_RESET)}},nr={init:function(){this.setColour(Qu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},sr={init:function(){this.setColour(Qu),this.appendValueInput("SUB"),this.appendValueInput("percent").appendField(Ne.Msg.MIXLY_MUSIC_VOLUME_SET),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},_r={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(Ne.Msg.MIXLY_SETTING).appendField(Ne.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Ne.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(Ne.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_EXTERN_LED_SETONOFF)}},or={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Ne.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Ne.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Ne.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},pr={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Ne.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Ne.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Ne.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},ar={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(Ne.Msg.MIXLY_SETTING).appendField(Ne.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Ne.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(Ne.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_EXTERN_LED_SETBRIGHT)}},ur={init:function(){this.setColour(Qu),this.appendValueInput("VAR").appendField(Ne.Msg.MIXLY_SETUP+Ne.Msg.MIXLY_SERVO),this.appendValueInput("PIN",Number).appendField(Ne.Msg.MIXLY_PIN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},rr={init:function(){this.setColour(Qu),this.appendValueInput("PIN",Number).appendField(Ne.Msg.MIXLY_SERVO).appendField(Ne.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("DEGREE",Number).setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_DEGREE_0_180),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_SERVO_MOVE)}},dr={init:function(){this.setColour(Qu),this.appendValueInput("VAR").appendField("360°"+Ne.Msg.MIXLY_SERVO),this.appendValueInput("SPEED",Number).setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_SETTING+Ne.Msg.blockpy_turtle_rotate+Ne.Msg.MIXLY_SPEED+" (-10~10)"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_SERVO_360_TOOLTIP)}},lr={init:function(){this.setColour(Qu),this.appendValueInput("PIN",Number).appendField("180°"+Ne.Msg.MIXLY_SERVO).appendField(Ne.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_SERVO_MOVE)}},Ir={init:function(){this.setColour(Qu),this.appendValueInput("PIN",Number).appendField("360°"+Ne.Msg.MIXLY_SERVO).appendField(Ne.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_SERVO_SPEED_TOOLIPS)}},Tr={init:function(){this.setColour(Qu),this.appendValueInput("PIN",Number).appendField("180°"+Ne.Msg.MIXLY_SERVO).appendField(Ne.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Ne.Msg.MIXLY_GET+Ne.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},Mr={init:function(){this.setColour(Qu),this.appendValueInput("PIN",Number).appendField("360°"+Ne.Msg.MIXLY_SERVO).appendField(Ne.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Ne.Msg.MIXLY_GET+Ne.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},hr={init:function(){this.setColour(Qu),this.appendValueInput("SUB").appendField("初始化").setCheck("var"),this.appendDummyInput().appendField("电机驱动"),this.appendDummyInput().appendField("地址").appendField(new Ne.FieldDropdown([["A","ms32006.ADDRESS_A"],["B","ms32006.ADDRESS_B"]]),"mode"),this.appendValueInput("SUB1").setCheck("var").setAlign(Ne.inputs.Align.RIGHT).appendField("通信"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("初始化MS32006电机驱动,使用I2C通信")}},mr={init:function(){this.setColour(Qu),this.appendValueInput("SUB").appendField("直流电机").setCheck("var"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_Direction).appendField(new Ne.FieldDropdown([[Ne.Msg.CLOCKWISE,"ms32006.MOT_CW"],[Ne.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"],[Ne.Msg.MOTOR_N,"ms32006.MOT_N"],[Ne.Msg.MOTOR_P,"ms32006.MOT_P"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_STEPPER_SET_SPEED),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置直流电机的状态及转速(0-100)")}},Er={init:function(){this.setColour(Qu),this.appendValueInput("SUB").appendField("步进电机").setCheck("var"),this.appendDummyInput().appendField("选择").appendField(new Ne.FieldDropdown([["A","ms32006.MOT_A"],["B","ms32006.MOT_B"]]),"mode"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_Direction).appendField(new Ne.FieldDropdown([[Ne.Msg.CLOCKWISE,"ms32006.MOT_CW"],[Ne.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField("转速"),this.appendValueInput("steps").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField("步数"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置步进电机的状态、转速、步数(0-2047)")}},Or={init:function(){this.setColour(Qu),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_RGB),this.appendValueInput("SUB").appendField(Ne.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_PIN),this.appendValueInput("LEDCOUNT").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_RGB_COUNT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Ne.Msg.MIXLY_RGB_PIN_COUNT)}},Rr={init:function(){this.setColour(Qu),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("_LED_").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Ne.Msg.MIXLY_RGB_NUM_R_G_B_MP)}},cr={init:function(){this.setColour(Qu),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Ne.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},gr={init:function(){this.setColour(Qu),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Ne.Msg.MIXLY_ESP32_MUSIC_WRI)}},Cr={init:function(){this.setColour(Qu),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(Ne.Msg.MIXLY_DURATION).appendField(Ne.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Sr={init:function(){this.setColour(Qu),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(Ne.Msg.PYTHON_RANGE_STEP).appendField(Ne.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Ar={init:function(){this.setColour(Qu),this.appendDummyInput("").appendField(Ne.Msg.CONTROLS_FOR_INPUT_WITH+"uart").appendField(new Ne.FieldDropdown([["uart1","uart1"],["uart2","uart2"]]),"key"),this.appendValueInput("SUB").appendField(Ne.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_SETUP+Ne.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new Ne.FieldDropdown([["SYN6288"+Ne.Msg.MIXLY_AipSpeech_synthesis,"SYN6288"],["NS9300"+Ne.Msg.MIXLY_MUSIC_PLAYER,"NS9300"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Lr={init:function(){this.setColour(Qu),this.appendValueInput("SUB").appendField(Ne.Msg.MIXLY_GET+Ne.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_WHETHER).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_STOPPED,"0"],[Ne.Msg.MIXLY_PLAYING,"1"],[Ne.Msg.MIXLY_PAUSED,"2"]]),"key"),this.setInputsInline(!0),this.setOutput(!0)}},Nr={init:function(){this.setColour(Qu),this.appendValueInput("SUB").appendField(Ne.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_STAT).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_MP3_PLAY,"1"],[Ne.Msg.MIXLY_MP3_PAUSE,"2"],[Ne.Msg.MIXLY_STOP,"3"],[Ne.Msg.MIXLY_MP3_PREV,"4"],[Ne.Msg.MIXLY_MP3_NEXT,"5"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Dr={init:function(){this.setColour(Qu),this.appendValueInput("SUB").appendField(Ne.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendValueInput("volume").appendField(Ne.Msg.MIXLY_MP3_VOL+Ne.Msg.MIXLY_STAT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ne.Msg.MIXLY_PLAYER_SET_VOLUME_TOOLTIP)}},fr={init:function(){this.setColour(Qu),this.appendValueInput("SUB").appendField(Ne.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_MODE+Ne.Msg.MIXLY_STAT).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_MP3_LOOP_ALL,"0"],[Ne.Msg.MIXLY_MP3_LOOP_ONE,"1"],[Ne.Msg.MIXLY_PLAYER_DIRECTORY_LOOP,"2"],[Ne.Msg.MIXLY_MP3_LOOP_RAM,"3"],[Ne.Msg.MIXLY_PLAYER_SINGLE_STOP,"4"],[Ne.Msg.MIXLY_PLAYER_SEQUENTIAL_PLAY,"5"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Fr={init:function(){this.setColour(Qu),this.appendValueInput("SUB").appendField(Ne.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_MICROBIT_JS_START_MELODY,"play"],[Ne.Msg.MIXLY_PLAYER_INSERT_MUSIC,"insert"]]),"key"),this.appendValueInput("song"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ne.Msg.MIXLY_PLAYER_PLAY_MUSIC_TOOTIP)}},Pr={},Yr={init:function(){this.setColour(Qu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(Ne.Msg.MIXLY_SET_VOLUME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},vr={init:function(){this.setColour(Qu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_GET_VOLUME),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},Xr={init:function(){this.setColour(Qu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(Ne.Msg.MIXLY_PLAY_HINTS),this.appendDummyInput().appendField(Ne.Msg.MIXLY_PROGRAM_BLOCK).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Ne.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_PLAY_HINTS_TOOLTIP)}},yr={init:function(){this.setColour(Qu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("data").setCheck(String).appendField(Ne.Msg.MIXLY_AipSpeech_synthesis),this.appendValueInput("VOICE").setCheck(Number).appendField(Ne.Msg.MIXLY_BACKGROUND_MUSIC),this.appendDummyInput().appendField(Ne.Msg.MIXLY_PROGRAM_BLOCK).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Ne.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_PLAY_TTS_TOOLTIP)}},xr={init:function(){this.setColour(Qu),this.appendDummyInput("").appendField(new Ne.FieldDropdown(De.Profile.default.extern_addr),"PIN"),this.setOutput(!0,Number)}},br={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(Ne.Msg.ME_GO_MOTOR_EXTERN+Ne.Msg.MIXLY_MOTOR).appendField(Ne.Msg.PIN_NUMBERING).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_LEFT,"0"],[Ne.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},Vr={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(Ne.Msg.ME_GO_MOTOR_EXTERN+Ne.Msg.MIXLY_MOTOR).appendField(Ne.Msg.PIN_NUMBERING).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_LEFT,"0"],[Ne.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_GET+Ne.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},Br={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(Ne.Msg.ME_GO_MOTOR_EXTERN+Ne.Msg.MIXLY_TRAFFIC_LIGHT).appendField(Ne.Msg.PIN_NUMBERING).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_LEFT,"0"],[Ne.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.LISTS_SET_INDEX_SET).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_MICROBIT_Turn_off_display,"0"],[Ne.Msg.MIXLY_TRAFFIC_LIGHT_RED_ON,"1"],[Ne.Msg.MIXLY_TRAFFIC_LIGHT_RED_BLINK,"2"],[Ne.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_ON,"3"],[Ne.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_BLINK,"4"],[Ne.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_ON,"5"],[Ne.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_BLINK,"6"]]),"light"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Gr={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(Ne.Msg.ME_GO_MOTOR_EXTERN).appendField(new Ne.FieldDropdown([[Ne.Msg.COLOUR_RGB_WHITE,"W"],[Ne.Msg.COLOUR_RGB_RED,"R"],[Ne.Msg.COLOUR_RGB_YELLOW,"Y"],[Ne.Msg.COLOUR_RGB_GREEN,"G"],[Ne.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(Ne.Msg.PIN_NUMBERING).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_LEFT,"0"],[Ne.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("value").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Ur={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(Ne.Msg.ME_GO_MOTOR_EXTERN).appendField(new Ne.FieldDropdown([[Ne.Msg.COLOUR_RGB_WHITE,"W"],[Ne.Msg.COLOUR_RGB_RED,"R"],[Ne.Msg.COLOUR_RGB_YELLOW,"Y"],[Ne.Msg.COLOUR_RGB_GREEN,"G"],[Ne.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(Ne.Msg.PIN_NUMBERING).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_LEFT,"0"],[Ne.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_GET+Ne.Msg.BRIGHTNESS),this.setOutput(!0,Number),this.setInputsInline(!0)}},wr={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(Ne.Msg.ME_GO_MOTOR_EXTERN+Ne.Msg.MIXLY_SERVO_MOTOR).appendField(Ne.Msg.PIN_NUMBERING).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_LEFT,"0"],[Ne.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_GET).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"[0]"],[Ne.Msg.MIXLY_SPEED,"[1]"],[Ne.Msg.MATH_SINGLE_OP_ABSOLUTE+Ne.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[2]"],[Ne.Msg.MIXLY_RELATIVE+Ne.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[3]"],[Ne.Msg.MIXLY_MIXBOT_SERVO_BLOCK_OR_NOT,"[4]"],[Ne.Msg.MIXLY_MIXBOT_SERVO_FINISH_OR_NOT,"[5]"],[Ne.Msg.MIXLY_ALL,""]]),"status"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Hr={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(Ne.Msg.ME_GO_MOTOR_EXTERN+Ne.Msg.MIXLY_SERVO_MOTOR).appendField(Ne.Msg.PIN_NUMBERING).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_LEFT,"0"],[Ne.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MIXBOT_SERVO_SET_STOP_MODE).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_KEEP,"0"],[Ne.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_COAST,"1"],[Ne.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_BRAKE,"2"]]),"status"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},kr={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(Ne.Msg.ME_GO_MOTOR_EXTERN+Ne.Msg.MIXLY_SERVO_MOTOR).appendField(Ne.Msg.PIN_NUMBERING).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_LEFT,"0"],[Ne.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_STOP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Wr={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(Ne.Msg.ME_GO_MOTOR_EXTERN+Ne.Msg.MIXLY_SERVO_MOTOR).appendField(Ne.Msg.MATH_SINGLE_OP_ABSOLUTE+Ne.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+Ne.Msg.MSG.run).appendField(Ne.Msg.PIN_NUMBERING).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_LEFT,"0"],[Ne.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MODE).setAlign(Ne.inputs.Align.RIGHT).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_SPEED+Ne.Msg.MIXLY_MODE,"0"],[Ne.Msg.MIXLY_MICROBIT_JS_BLE_POWER+Ne.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(Ne.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(Ne.inputs.Align.RIGHT).appendField(new Ne.FieldDropdown([[Ne.Msg.CLOCKWISE,"0"],[Ne.Msg.MIXLY_MIXBOT_SERVO_NEAREST_PATH,"1"],[Ne.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.appendValueInput("angle").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+Ne.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_MIXBOT_SERVO_ABSOLUTE_ANGLE_TOOLTIP)}},Kr={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(Ne.Msg.ME_GO_MOTOR_EXTERN+Ne.Msg.MIXLY_SERVO_MOTOR).appendField(Ne.Msg.MIXLY_RELATIVE+Ne.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+Ne.Msg.MSG.run).appendField(Ne.Msg.PIN_NUMBERING).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_LEFT,"0"],[Ne.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ORIGIN_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Jr={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(Ne.Msg.ME_GO_MOTOR_EXTERN+Ne.Msg.MIXLY_SERVO_MOTOR).appendField(Ne.Msg.MIXLY_RELATIVE+Ne.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+Ne.Msg.MSG.run).appendField("("+Ne.Msg.MIXLY_MIXBOT_SERVO_LIKE_ENCODING_MOTOR+")").appendField(Ne.Msg.PIN_NUMBERING).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_LEFT,"0"],[Ne.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MODE).setAlign(Ne.inputs.Align.RIGHT).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_SPEED+Ne.Msg.MIXLY_MODE,"0"],[Ne.Msg.MIXLY_MICROBIT_JS_BLE_POWER+Ne.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(Ne.inputs.Align.RIGHT).appendField("%"),this.appendValueInput("angle").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+Ne.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ANGLE_TOOLTIP)}},Qr={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(Ne.Msg.ME_GO_MOTOR_EXTERN+Ne.Msg.MIXLY_SERVO_MOTOR).appendField(Ne.Msg.MIXLY_RELATIVE+Ne.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+Ne.Msg.MSG.run).appendField("("+Ne.Msg.MIXLY_MIXBOT_SERVO_LIKE_ORDINARY_MOTOR+")").appendField(Ne.Msg.PIN_NUMBERING).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_LEFT,"0"],[Ne.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MODE).setAlign(Ne.inputs.Align.RIGHT).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_SPEED+Ne.Msg.MIXLY_MODE,"0"],[Ne.Msg.MIXLY_MICROBIT_JS_BLE_POWER+Ne.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(Ne.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(Ne.inputs.Align.RIGHT).appendField(new Ne.FieldDropdown([[Ne.Msg.CLOCKWISE,"0"],[Ne.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},qr={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(Ne.Msg.MIXBOT).appendField(Ne.Msg.ME_GO_MOTOR_EXTERN).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_MOTOR,"ext_motor"],[Ne.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[Ne.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[Ne.Msg.COLOUR_RGB_RED+"LED","R_LED"],[Ne.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[Ne.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[Ne.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[Ne.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MIXBOT_EXTERN_GET_ADDR),this.setOutput(!0),this.setInputsInline(!0)}},zr={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(Ne.Msg.MIXBOT).appendField(Ne.Msg.ME_GO_MOTOR_EXTERN).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_MOTOR,"ext_motor"],[Ne.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[Ne.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[Ne.Msg.COLOUR_RGB_RED+"LED","R_LED"],[Ne.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[Ne.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[Ne.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[Ne.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MIXBOT_EXTERN_SET_ADDR),this.appendValueInput("old").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE),this.appendValueInput("new").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_UPDATE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},jr={init:function(){this.setColour(Qu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_SETUP+Ne.Msg.MIXLY_AT).appendField(Ne.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},$r={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(Ne.Msg.MIXLY_SETTING),this.appendValueInput("pin").appendField("LED"),this.appendValueInput("bright").appendField(Ne.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Zr={init:function(){this.setColour(Qu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_SERVO+Ne.Msg.MIXLY_SETUP+Ne.Msg.MIXLY_AT).appendField(Ne.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},ed={init:function(){this.setColour(Qu),this.appendValueInput("SUB").appendField(Ne.Msg.MIXLY_SERVO),this.appendValueInput("angle").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_DISPLAY_MATRIX_ROTATE),this.appendDummyInput().appendField(Ne.Msg.DRAW_POINTER_ANGLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},td={init:function(){this.setColour(Qu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_MOTOR+Ne.Msg.MIXLY_SETUP+Ne.Msg.MIXLY_AT).appendField(Ne.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},id={init:function(){this.setColour(Qu),this.appendValueInput("SUB").appendField(Ne.Msg.MIXLY_MOTOR),this.appendValueInput("speed").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+Ne.Msg.MIXLY_SPEED),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},nd="#6C9858",sd={init:function(){this.setColour(nd),this.appendDummyInput("").appendField(new Ne.FieldDropdown([["L1","1"],["L2","2"]]),"op"),this.setOutput(!0)}},_d={init:function(){this.setColour(nd),this.appendDummyInput("").appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_ESP32_ON,"1"],[Ne.Msg.MIXLY_ESP32_OFF,"0"],[Ne.Msg.MIXLY_ESP32_TOGGLE,"-1"]]),"flag"),this.setOutput(!0),this.setTooltip(Ne.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},od={init:function(){this.setColour(nd),this.appendDummyInput().appendField(Ne.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(Ne.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(Ne.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_LED_SETONOFF)}},pd={init:function(){this.setColour(nd),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(Ne.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(Ne.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_LED_GETBRIGHT)}},ad={init:function(){this.setColour(nd),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(Ne.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(Ne.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_LED_GETONOFF)}},ud={init:function(){this.setColour(nd),this.appendDummyInput().appendField(Ne.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(Ne.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(Ne.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_SETTING+Ne.Msg.MIXLY_BUILDIN_LED+Ne.Msg.MIXLY_BRIGHTNESS+"(0-100%)")}},rd={init:function(){this.setColour(nd),this.appendDummyInput().appendField(Ne.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(Ne.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_LCD_SETCOLOR).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_LIGHT_RED,"1"],[Ne.Msg.MIXLY_LIGHT_GREEN,"2"],[Ne.Msg.MIXLY_LIGHT_BLUE,"3"],[Ne.Msg.MIXLY_LIGHT_YELLOW,"4"],[Ne.Msg.MIXLY_LIGHT_CYAN,"5"],[Ne.Msg.MIXLY_LIGHT_PURPLE,"6"],[Ne.Msg.MIXLY_LIGHT_WHITE,"7"]]),"colorvalue"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},dd={init:function(){this.setColour(nd),this.appendDummyInput().appendField(Ne.Msg.MIXLY_SETTING).appendField(Ne.Msg.MIXLY_BUILDIN_LED).appendField(new Ne.FieldDropdown([[Ne.Msg.COLOUR_RGB_RED,"r"],[Ne.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(Ne.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_LED_SETONOFF)}},ld={init:function(){this.setColour(nd),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Ne.Msg.MIXLY_BUILDIN_LED).appendField(new Ne.FieldDropdown([[Ne.Msg.COLOUR_RGB_RED,"r"],[Ne.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_LED_GETONOFF)}},Id={init:function(){this.setColour(nd),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Ne.Msg.MIXLY_BUILDIN_LED).appendField(new Ne.FieldDropdown([[Ne.Msg.COLOUR_RGB_RED,"r"],[Ne.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_LED_GETONOFF)}},Td={init:function(){this.setColour(nd),this.appendDummyInput().appendField(Ne.Msg.MIXLY_SETTING).appendField(Ne.Msg.MIXLY_BUILDIN_LED).appendField(new Ne.FieldDropdown([[Ne.Msg.COLOUR_RGB_RED,"r"],[Ne.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(Ne.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_SETTING+Ne.Msg.MIXLY_BUILDIN_LED+Ne.Msg.MIXLY_BRIGHTNESS+"(0-10)")}},Md={init:function(){this.setColour(nd),this.appendDummyInput("").appendField(new Ne.FieldDropdown([["L1","20"],["L2","21"]]),"op"),this.setOutput(!0)}},hd={init:function(){this.setColour(nd),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(De.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgo_cc":case"micropython:esp32s2:mixgo_ce":this.setTooltip(Ne.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgo_me":default:this.setTooltip(Ne.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(Ne.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},md={init:function(){this.setColour(nd),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Ne.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},Ed={init:function(){this.setColour(nd),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(Ne.Msg.MIXLY_DURATION).appendField(Ne.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Od={init:function(){this.setColour(nd),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(Ne.Msg.PYTHON_RANGE_STEP).appendField(Ne.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Rd={init:function(){this.setColour(nd),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_RGB),this.appendDummyInput().appendField(Ne.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Ne.Msg.MIXLY_ESP32_MUSIC_WRI)}},cd={init:function(){this.setColour(nd),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(De.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgocc":this.setTooltip(Ne.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgome":default:this.setTooltip(Ne.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(Ne.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},gd={init:function(){this.setColour(nd),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Ne.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},Cd={init:function(){this.setColour(nd),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(Ne.Msg.PYTHON_RANGE_STEP).appendField(Ne.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Sd={init:function(){this.setColour(nd),this.appendValueInput("TICKS").setCheck(Number).appendField(Ne.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(Ne.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(Ne.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},Ad={init:function(){this.setColour(nd),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},Ld={init:function(){this.setColour(nd),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_MUSIC_RESET)}},Nd={init:function(){this.setColour(nd),this.appendDummyInput().appendField(Ne.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Ne.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ne.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Dd={init:function(){this.setColour(nd),this.appendDummyInput().appendField(Ne.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Ne.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(Ne.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ne.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},fd={init:function(){this.setColour(nd),this.appendDummyInput().appendField(Ne.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Fd={init:function(){this.setColour(nd),this.appendValueInput("LIST").appendField(Ne.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Pd={init:function(){this.setColour(nd),this.appendValueInput("LIST").appendField(Ne.Msg.MIXLY_BACKSTAGE+Ne.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Yd={init:function(){this.setColour(nd),this.appendDummyInput().appendField(Ne.Msg.MOTOR_DC).appendField(new Ne.FieldDropdown([["1","1"],["2","2"],["3","3"]]),"wheel"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_Direction).appendField(new Ne.FieldDropdown([[Ne.Msg.CLOCKWISE,"CW"],[Ne.Msg.ANTI_CLOCKWISE,"CCW"],[Ne.Msg.MOTOR_P,"P"],[Ne.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},vd={init:function(){this.setColour(nd),this.appendDummyInput().appendField("MixGo Car").appendField(new Ne.FieldDropdown([[Ne.Msg.blockpy_forward,"F"],[Ne.Msg.blockpy_backward,"B"],[Ne.Msg.blockpy_left,"L"],[Ne.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Xd={init:function(){this.setColour(nd),this.appendDummyInput("").appendField("MixGo Car").appendField(new Ne.FieldDropdown([[Ne.Msg.MOTOR_P,"P"],[Ne.Msg.MOTOR_N,"N"]]),"VAR"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},yd={init:function(){this.setColour(nd),this.appendDummyInput().appendField(Ne.Msg.MOTOR_DC).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[Ne.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_Direction).appendField(new Ne.FieldDropdown([[Ne.Msg.CLOCKWISE,"CW"],[Ne.Msg.ANTI_CLOCKWISE,"CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},xd={init:function(){this.setColour(nd),this.appendDummyInput().appendField(Ne.Msg.MOTOR_DC).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[Ne.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_STOP).appendField(new Ne.FieldDropdown([[Ne.Msg.MOTOR_P,"P"],[Ne.Msg.MOTOR_N,"N"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},bd={init:function(){this.setColour(nd),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MIXBOT_MOTOR_STATUS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_MIXBOT_MOTOR_STATUS_TOOLTIP)}},Vd={init:function(){this.setColour(nd),this.appendDummyInput().appendField(Ne.Msg.MIXBOT).appendField(new Ne.FieldDropdown([[Ne.Msg.blockpy_forward,"F"],[Ne.Msg.blockpy_backward,"B"],[Ne.Msg.blockpy_left,"L"],[Ne.Msg.blockpy_right,"R"]]),"VAR"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[Ne.Msg.MIXLY_SPEED,"SPEED"],[Ne.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},Bd={init:function(){this.setColour(nd),this.appendDummyInput().appendField(Ne.Msg.MIXBOT).appendField(new Ne.FieldDropdown([[Ne.Msg.MOTOR_P,"P"],[Ne.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Gd={init:function(){this.setColour(nd),this.appendDummyInput().appendField(Ne.Msg.MIXBOT).appendField(Ne.Msg.MIXLY_MOTOR).appendField(new Ne.FieldDropdown([[Ne.Msg.TEXT_TRIM_LEFT,"1"],[Ne.Msg.TEXT_TRIM_RIGHT,"2"],[Ne.Msg.TEXT_TRIM_BOTH,"0"]]),"wheel"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[Ne.Msg.MIXLY_SPEED,"SPEED"],[Ne.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},Ud={init:function(){this.setColour(nd),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MIXBOT_BUZZER),this.appendDummyInput().appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,"0"],[Ne.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,"1"]]),"on_off"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},wd={init:function(){this.setColour(nd),this.appendDummyInput().appendField(Ne.Msg.BITBOT).appendField(new Ne.FieldDropdown([[Ne.Msg.blockpy_forward,"F"],[Ne.Msg.blockpy_backward,"B"],[Ne.Msg.blockpy_left,"L"],[Ne.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Hd={init:function(){this.setColour(nd),this.appendDummyInput().appendField(Ne.Msg.BITBOT).appendField(new Ne.FieldDropdown([[Ne.Msg.MOTOR_P,"P"],[Ne.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},kd={init:function(){this.setColour(nd),this.appendDummyInput().appendField(Ne.Msg.BITBOT).appendField(Ne.Msg.MIXLY_MOTOR).appendField(new Ne.FieldDropdown([[Ne.Msg.TEXT_TRIM_LEFT,"0"],[Ne.Msg.TEXT_TRIM_RIGHT,"1"]]),"wheel"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_Direction).appendField(new Ne.FieldDropdown([[Ne.Msg.CLOCKWISE,"CW"],[Ne.Msg.ANTI_CLOCKWISE,"CCW"],[Ne.Msg.MOTOR_P,"P"],[Ne.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Wd={init:function(){this.setColour(nd),this.appendValueInput("bright").appendField(Ne.Msg.MIXLY_MIXBOT_SOUND_SET_LOUDNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_LED_SETONOFF)}},Kd={init:function(){this.setColour(nd),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MIXBOT_SOUND_LOUDNESS+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_LED_GETONOFF)}},Jd={init:function(){this.setColour(nd),this.appendValueInput("bright").appendField(Ne.Msg.MIXLY_SETTING+Ne.Msg.MIXLY_MIXBOT_BUZZER+Ne.Msg.MIXLY_MP3_VOL),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_LED_SETONOFF)}},Qd={init:function(){this.setColour(nd),this.appendDummyInput().appendField(Ne.Msg.MIXLY_GET+Ne.Msg.MIXLY_MIXBOT_BUZZER+Ne.Msg.MIXLY_MP3_VOL+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_LED_GETONOFF)}},qd={init:function(){this.setColour(nd),this.appendValueInput("PATH").appendField(Ne.Msg.MIXLY_RECORD_AUDIO).appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendValueInput("TIME").setCheck(Number).appendField(Ne.Msg.MIXLY_GET_PRESSES_TIME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},zd={init:function(){this.setColour(nd),this.appendValueInput("PATH").appendField(Ne.Msg.MIXLY_PLAY_AUDIO).appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},jd={init:function(){this.setColour(nd),this.appendValueInput("PATH").appendField(Ne.Msg.MIXLY_PLAY_ONLINE_AUDIO).appendField("URL"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},$d={init:function(){this.setColour(nd),this.appendDummyInput().appendField(Ne.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Ne.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ne.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Zd={init:function(){this.setColour(nd),this.appendDummyInput().appendField(Ne.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},el={init:function(){this.setColour(nd),this.appendDummyInput().appendField(Ne.Msg.LISTS_SET_INDEX_SET+Ne.Msg.ME_GO_MOTOR_EXTERN).appendField(Ne.Msg.PIN_NUMBERING);if("micropython:esp32c2:mixgo_mini"===De.Boards.getSelectedBoardKey())this.appendDummyInput().appendField(new Ne.FieldDropdown([["1","1"],["2","2"]]),"index");else this.appendDummyInput().appendField(new Ne.FieldDropdown([["1","1"],["2","2"],["3","3"],["4","4"]]),"index");this.appendValueInput("duty").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.blynk_IOT_IR_POWER+Ne.Msg.MIXLY_PINMODEOUT),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},tl={init:function(){this.setColour(nd),this.appendDummyInput().appendField(Ne.Msg.MIXLY_GET+Ne.Msg.ME_GO_MOTOR_EXTERN).appendField(Ne.Msg.PIN_NUMBERING);if("micropython:esp32c2:mixgo_mini"===De.Boards.getSelectedBoardKey())this.appendDummyInput().appendField(new Ne.FieldDropdown([["1","1"],["2","2"]]),"index");else this.appendDummyInput().appendField(new Ne.FieldDropdown([["1","1"],["2","2"],["3","3"],["4","4"]]),"index");this.appendDummyInput().setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.blynk_IOT_IR_POWER+Ne.Msg.MIXLY_PINMODEOUT+Ne.Msg.MIXLY_DUTY_RATIO),this.setOutput(!0,Number),this.setInputsInline(!0)}},il={init:function(){this.setColour(nd),this.appendDummyInput().appendField(Ne.Msg.LISTS_SET_INDEX_SET+Ne.Msg.ME_GO_MOTOR_EXTERN).appendField(Ne.Msg.MIXLY_ALL+Ne.Msg.PIN_NUMBERING),this.appendValueInput("duty").setCheck(Number).setAlign(Ne.ALIGN_RIGHT).appendField(Ne.Msg.blynk_IOT_IR_POWER+Ne.Msg.MIXLY_PINMODEOUT+Ne.Msg.MIXLY_FREQUENCY),this.appendDummyInput().appendField("Hz"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},nl={init:function(){this.setColour(nd),this.appendDummyInput().appendField(Ne.Msg.ANALOG+Ne.Msg.MIXLY_KEYBOARD_INPUT),this.appendValueInput("special"),this.appendValueInput("general"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_RELEASE).appendField(new Ne.FieldDropdown([[Ne.Msg.MICROPYTHON_DISPLAY_YES,"True"],[Ne.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"release"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ne.Msg.ANALOG+Ne.Msg.MIXLY_KEYBOARD_INPUT)}},sl={init:function(){this.setColour(nd),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_SPECIAL_KEY).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_SPECIAL_KEY0,"0x00"],[Ne.Msg.MIXLY_SPECIAL_KEY1,"0x01"],[Ne.Msg.MIXLY_SPECIAL_KEY2,"0x02"],[Ne.Msg.MIXLY_SPECIAL_KEY4,"0x04"],[Ne.Msg.MIXLY_SPECIAL_KEY8,"0x08"],[Ne.Msg.MIXLY_SPECIAL_KEY16,"0x10"],[Ne.Msg.MIXLY_SPECIAL_KEY32,"0x20"],[Ne.Msg.MIXLY_SPECIAL_KEY64,"0x40"],[Ne.Msg.MIXLY_SPECIAL_KEY128,"0x80"]]),"op"),this.setOutput(!0)}},_l={init:function(){this.setColour(nd),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_GENERAL_KEY).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_SPECIAL_KEY0,"0x00"],["A","0x04"],["B","0x05"],["C","0x06"],["D","0x07"],["E","0x08"],["F","0x09"],["G","0x0A"],["H","0x0B"],["I","0x0C"],["J","0x0D"],["K","0x0E"],["L","0x0F"],["M","0x10"],["N","0x11"],["O","0x12"],["P","0x13"],["Q","0x14"],["R","0x15"],["S","0x16"],["T","0x17"],["U","0x18"],["V","0x19"],["W","0x1A"],["X","0x1B"],["Y","0x1C"],["Z","0x1D"],["1 !","0x1E"],["2 @","0x1F"],["3 #","0x20"],["4 $","0x21"],["5 %","0x22"],["6 ^","0x23"],["7 &","0x24"],["8 *","0x25"],["9 (","0x26"],["0 )","0x27"],["ENTER","0x28"],["ESC","0x29"],["BACKSPACE","0x2A"],["TAB","0x2B"],["SPACE","0x2C"],["- _","0x2D"],["= +","0x2E"],["[ {","0x2F"],["] }","0x30"],["\\ |","0x31"],["; :","0x33"],["' \"","0x34"],["` ~","0x35"],[", <","0x36"],[". >","0x37"],["/ ?","0x38"],["CAPS_LOCK","0x39"],["F1","0x3A"],["F2","0x3B"],["F3","0x3C"],["F4","0x3D"],["F5","0x3E"],["F6","0x3F"],["F7","0x40"],["F8","0x41"],["F9","0x42"],["F10","0x43"],["F11","0x44"],["F12","0x45"],["PRINTSCREEN","0x46"],["SCROLL_LOCK","0x47"],["PAUSE","0x48"],["INSERT","0x49"],["HOME","0x4A"],["PAGE_UP","0x4B"],["DELETE","0x4C"],["END","0x4D"],["PAGE_DOWN","0x4E"],["RIGHT","0x4F"],["LEFT","0x50"],["DOWN","0x51"],["UP","0x52"],["NUM_LOCK","0x53"],["/","0x54"],["*","0x55"],["-","0x56"],["+","0x57"],["ENTER","0x58"],["1","0x59"],["2","0x5A"],["3","0x5B"],["4","0x5C"],["5","0x5D"],["6","0x5E"],["7","0x5F"],["8","0x60"],["9","0x61"],["0","0x62"],[".","0x63"]]),"op"),this.setOutput(!0)}},ol={init:function(){this.setColour(nd),this.itemCount_=2,this.updateShape_(),this.setOutput(!0),this.setMutator(new Ne.icons.MutatorIcon(["generalkey_create_with_item"],this)),this.setTooltip(Ne.Msg.GENERALKEY_TUPLE_CREATE_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("generalkey_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;nnew Array(32).fill(0)))},GE={init:function(){this.jsonInit({colour:fE,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SAD","SAD"],["SMILE","SMILE"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["SURPRISED","SURPRISED"],["ASLEEP","ASLEEP"],["ANGRY","ANGRY"],["CONFUSED","CONFUSED"],["NO","NO"],["YES","YES"]],type:"field_dropdown"}],output:["esp32_image","List"],helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#attributes",tooltip:Ne.Msg.MIXLY_MICROBIT_Built_in_image1,message0:Ne.Msg.MIXLY_MICROBIT_Built_in_image})}},UE={init:function(){this.setColour(fE),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new Ne.FieldDropdown(De.Profile.default.builtinimg),"image"),this.setOutput(!0,["esp32_image","List"])}},wE={init:function(){this.setColour(fE),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(Ne.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new Ne.FieldDropdown(wE.OPERATORS),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{"+":Ne.Msg.MIXLY_MICROBIT_image_add,"-":Ne.Msg.MIXLY_MICROBIT_image_reduce}[t]}))},OPERATORS:[[Ne.Msg.MICROBIT_DISPLAY_UNION,"add"],[Ne.Msg.MICROBIT_DISPLAY_MINUS,"sub"]]},HE={init:function(){this.setColour(fE),this.appendValueInput("A").setCheck("esp32_image").appendField(Ne.Msg.MIXLY_MICROBIT_Invert_image1),this.setInputsInline(!0),this.setOutput(!0,"esp32_image")}},kE={init:function(){this.setColour(fE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(Ne.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(Ne.Msg.DISPLAY_IMAGE_LET2).appendField(new Ne.FieldDropdown(kE.OPERATORS),"OP"),this.appendValueInput("val").appendField(Ne.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(Ne.Msg.DISPLAY_IMAGE_UNIT);De.Boards.getSelectedBoardKey();"Python ESP32-S3"===De.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(Ne.Msg.MIXLY_synchronize);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i=Ne.Msg.DISPLAY_IMAGE_LET,n=Ne.Msg.DISPLAY_IMAGE_LET2,s=Ne.Msg.DISPLAY_IMAGE_LET3;return i+n+{shift_up:Ne.Msg.MIXLY_UP,shift_down:Ne.Msg.MIXLY_DOWN,shift_left:Ne.Msg.MIXLY_LEFT,shift_right:Ne.Msg.MIXLY_RIGHT}[t]+s}))},OPERATORS:[[Ne.Msg.MIXLY_UP,"shift_up"],[Ne.Msg.MIXLY_DOWN,"shift_down"],[Ne.Msg.MIXLY_LEFT,"shift_left"],[Ne.Msg.MIXLY_RIGHT,"shift_right"]]},WE={init:function(){this.setColour(fE),this.appendValueInput("x").setCheck(Number).appendField(Ne.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Ne.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(Ne.Msg.MIXLY_ESP32_JS_MONITOR_GET_POINT),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Ne.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},KE={init:function(){this.setColour(fE),this.appendValueInput("x").setCheck(Number).appendField(Ne.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(Ne.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Ne.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},JE={init:function(){this.setColour(fE),this.appendDummyInput().appendField(Ne.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Ne.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},QE={init:function(){this.setColour(fE),this.appendValueInput("x").setCheck(Number).appendField(Ne.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},qE={init:function(){this.setColour(fE),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_Clear_display);De.Boards.getSelectedBoardKey();"Python ESP32-S3"===De.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(Ne.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_MICROBIT_Clear_display)}},zE={init:function(){this.setColour(fE),this.appendDummyInput().appendField(Ne.Msg.MIXLY_SHOW+Ne.Msg.MIXLY_DISPLAY_MATRIX_WRITE_NOW),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},jE={init:function(){this.appendDummyInput("").appendField(Ne.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let e=0;e<5;e++){let t=this.appendDummyInput();for(let i=0;i<8;i++)t.appendField(new Ne.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),e+"-"+i)}this.appendDummyInput().appendField(`(${Ne.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(fE),this.setTooltip(Ne.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Ne.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},$E={init:function(){this.appendDummyInput("").appendField(Ne.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Ne.inputs.Align.CENTRE).appendField(new Ne.FieldBitmap($E.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(fE),this.setTooltip(Ne.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(8).fill(0)))},ZE={init:function(){this.appendDummyInput("").appendField(Ne.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let e=0;e<8;e++){let t=this.appendDummyInput();for(let i=0;i<12;i++)t.appendField(new Ne.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),e+"-"+i)}this.appendDummyInput().appendField(`(${Ne.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(fE),this.setTooltip(Ne.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Ne.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},eO={init:function(){this.appendDummyInput("").appendField(Ne.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Ne.inputs.Align.CENTRE).appendField(new Ne.FieldBitmap(eO.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(fE),this.setTooltip(Ne.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(12).fill(0)))},tO={init:function(){this.appendDummyInput("").appendField(Ne.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let e=0;e<8;e++){let t=this.appendDummyInput();for(let i=0;i<16;i++)t.appendField(new Ne.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),e+"-"+i)}this.appendDummyInput().appendField(`(${Ne.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0,"esp32_image"),this.setColour(fE),this.setTooltip(Ne.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Ne.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},iO={init:function(){this.appendDummyInput("").appendField(Ne.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Ne.inputs.Align.CENTRE).appendField(new Ne.FieldBitmap(iO.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(fE),this.setTooltip(Ne.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(16).fill(0)))},nO={init:function(){this.setColour(fE),this.appendDummyInput().appendField(Ne.Msg.OLED_SET_FONT).appendField(new Ne.FieldDropdown(nO.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[["4x5"+Ne.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'4x5'"],["5x5"+Ne.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'5x5'"],["5x8"+Ne.Msg.MIXGO_ME_DISPLAY_VERTICAL,"'5x8'"]]},sO={init:function(){this.setColour(fE),this.appendValueInput("data").appendField(Ne.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ne.Msg.OLED_BITMAP_OR_STRING)}},_O={init:function(){this.setColour(fE),this.appendValueInput("data").appendField(Ne.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Ne.Msg.MIXLY_MICROBIT_JS_NUMBER),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ne.Msg.OLED_BITMAP_OR_STRING)}},oO={init:function(){this.setColour(fE),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(Ne.Msg.OLED_DRAWSTR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ne.Msg.OLED_BITMAP_OR_STRING)}},pO={init:function(){this.setColour(fE),this.appendValueInput("data").appendField(Ne.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Ne.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(Ne.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(Ne.Msg.TEXT_CENTER).appendField(new Ne.FieldDropdown([[Ne.Msg.MICROPYTHON_DISPLAY_YES,"True"],[Ne.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},aO={init:function(){this.setColour(fE),this.appendValueInput("data").appendField(Ne.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Ne.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(Ne.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(Ne.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},uO={init:function(){this.setColour(fE),this.appendValueInput("data").appendField(Ne.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(Ne.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(Ne.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},rO={init:function(){this.setColour(fE),this.appendValueInput("x").setCheck(Number).appendField(Ne.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(Ne.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Ne.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},dO={init:function(){this.jsonInit({colour:fE,args0:[{name:"state",options:[[Ne.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[Ne.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"shape",options:[[Ne.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[Ne.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"}],inputsInline:!0,helpUrl:Ne.Msg.mpython_HELPURL,tooltip:Ne.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:Ne.Msg.MPYTHON_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},lO={init:function(){this.jsonInit({colour:fE,args0:[{name:"state",options:[[Ne.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[Ne.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"dir_h_v",options:[[Ne.Msg.mpython_vertical,"0"],[Ne.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"}],inputsInline:!0,helpUrl:Ne.Msg.mpython_HELPURL,tooltip:Ne.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:Ne.Msg.MPYTHON_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},IO={init:function(){this.jsonInit({colour:fE,args0:[{name:"state",options:[[Ne.Msg.mpython_display_hline_1,"1"],[Ne.Msg.mpython_display_hline_0,"0"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"}],inputsInline:!0,helpUrl:Ne.Msg.mpython_HELPURL,tooltip:Ne.Msg.mpython_display_line_TOOLTIP,message0:Ne.Msg.mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},TO={init:function(){this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new Ne.FieldDropdown(TO.IMAGES),"path"),this.setColour(fE),this.setOutput(!0)},IMAGES:[["Heart","expression_picture.Heart"],["Angry","expression_picture.Angry"],["Bored","expression_picture.Bored"],["Confused","expression_picture.Confused"],["Happy","expression_picture.Happy"],["Paper","expression_picture.Paper"],["Rock","expression_picture.Rock"],["Sad","expression_picture.Sad"],["Scissors","expression_picture.Scissors"],["Silly","expression_picture.Silly"],["Sleep","expression_picture.Sleep"],["Small_heart","expression_picture.Small_heart"],["Small_paper","expression_picture.Small_paper"],["Small_rock","expression_picture.Small_rock"],["Small_scissors","expression_picture.Small_scissors"],["Smile","expression_picture.Smile"],["Surprise","expression_picture.Surprise"],["Wonderful","expression_picture.Wonderful"],["Eyes_Angry","eye_picture.Eyes_Angry"],["Awake","eye_picture.Awake"],["Black_eye","eye_picture.Black_eye"],["Bottom_left","eye_picture.Bottom_left"],["Bottom_right","eye_picture.Bottom_right"],["Crazy_1","eye_picture.Crazy_1"],["Crazy_2","eye_picture.Crazy_2"],["Disappointed","eye_picture.Disappointed"],["Dizzy","eye_picture.Dizzy"],["Down","eye_picture.Down"],["Evil","eye_picture.Evil"],["Hurt","eye_picture.Hurt"],["Knocked_out","eye_picture.Knocked_out"],["Love","eye_picture.Love"],["Middle_left","eye_picture.Middle_left"],["Middle_right","eye_picture.Middle_right"],["Neutral","eye_picture.Neutral"],["Nuclear","eye_picture.Nuclear"],["Pinch_left","eye_picture.Pinch_left"],["Pinch_middle","eye_picture.Pinch_middle"],["Pinch_right","eye_picture.Pinch_right"],["Tear","eye_picture.Tear"],["Tired_left","eye_picture.Tired_left"],["Tired_middle","eye_picture.Tired_middle"],["Tired_right","eye_picture.Tired_right"],["Toxic","eye_picture.Toxic"],["Up","eye_picture.Up"],["Winking","eye_picture.Winking"],["Accept","informatio_picture.Accept"],["Backward","informatio_picture.Backward"],["Decline","informatio_picture.Decline"],["Forward","informatio_picture.Forward"],["Left","informatio_picture.Left"],["No_go","informatio_picture.No_go"],["Question_mark","informatio_picture.Question_mark"],["Right","informatio_picture.Right"],["Stop_1","informatio_picture.Stop_1"],["Stop_2","informatio_picture.Stop_2"],["Thumbs_down","informatio_picture.Thumbs_down"],["Thumbs_up","informatio_picture.Thumbs_up"],["Warning","informatio_picture.Warning"],["Bomb","object_picture.Bomb"],["Boom","object_picture.Boom"],["Fire","object_picture.Fire"],["Flowers","object_picture.Flowers"],["Forest","object_picture.Forest"],["Lightning","object_picture.Lightning"],["Light_off","object_picture.Light_off"],["Light_on","object_picture.Light_on"],["Night","object_picture.Night"],["Pirate","object_picture.Pirate"],["Snow","object_picture.Snow"],["Target","object_picture.Target"],["Bar_0","progres_picture.Bar_0"],["Bar_1","progres_picture.Bar_1"],["Bar_2","progres_picture.Bar_2"],["Bar_3","progres_picture.Bar_3"],["Bar_4","progres_picture.Bar_4"],["Dial_0","progres_picture.Dial_0"],["Dial_1","progres_picture.Dial_1"],["Dial_2","progres_picture.Dial_2"],["Dial_3","progres_picture.Dial_3"],["Dial_4","progres_picture.Dial_4"],["Dots_0","progres_picture.Dots_0"],["Dots_1","progres_picture.Dots_1"],["Dots_2","progres_picture.Dots_2"],["Dots_3","progres_picture.Dots_3"],["Hourglass_0","progres_picture.Hourglass_0"],["Hourglass_1","progres_picture.Hourglass_1"],["Hourglass_2","progres_picture.Hourglass_2"],["Timer_0","progres_picture.Timer_0"],["Timer_1","progres_picture.Timer_1"],["Timer_2","progres_picture.Timer_2"],["Timer_3","progres_picture.Timer_3"],["Timer_4","progres_picture.Timer_4"],["Water_level_0","progres_picture.Water_level_0"],["Water_level_1","progres_picture.Water_level_1"],["Water_level_2","progres_picture.Water_level_2"],["Water_level_3","progres_picture.Water_level_3"],["YES","informatio_picture.YES"],["NO","informatio_picture.NO"]]},MO={init:function(){this.appendDummyInput("").appendField(Ne.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let e=0;e<5;e++){let t=this.appendDummyInput();for(let i=0;i<5;i++)t.appendField(new Ne.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),e+"-"+i)}this.appendDummyInput().appendField(`(${Ne.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(fE),this.setTooltip(Ne.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Ne.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},hO={init:function(){this.appendDummyInput("").appendField(Ne.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Ne.inputs.Align.CENTRE).appendField(new Ne.FieldBitmap(hO.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(fE),this.setTooltip(Ne.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(5).fill(0)))},mO={init:function(){this.setColour(fE),this.appendDummyInput().appendField(Ne.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Ne.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},EO={init:function(){this.setColour(fE),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MIXBOT_AMBIENTBRIGHT),this.setInputsInline(!0),this.setOutput(!0,Number)}},OO={init:function(){this.setColour(fE),this.appendValueInput("x").setCheck(Number).appendField(Ne.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},RO={init:function(){this.setColour(fE),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MIXBOT_SCREEN_ROTATE).appendField(new Ne.FieldDropdown(RO.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[[Ne.Msg.mixpy_PL_PIE_SHADOW_N,"0"],[Ne.Msg.CLOCKWISE+"90"+Ne.Msg.blockpy_setheading_degree,"1"],[Ne.Msg.CLOCKWISE+"180"+Ne.Msg.blockpy_setheading_degree,"2"],[Ne.Msg.CLOCKWISE+"270"+Ne.Msg.blockpy_setheading_degree,"3"]]},cO={init:function(){this.appendDummyInput("").appendField(Ne.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let e=0;e<12;e++){let t=this.appendDummyInput();for(let i=0;i<12;i++)t.appendField(new Ne.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),e+"-"+i)}this.appendDummyInput().appendField(`(${Ne.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(fE),this.setTooltip(Ne.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Ne.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},gO={init:function(){this.appendDummyInput("").appendField(Ne.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Ne.inputs.Align.CENTRE).appendField(new Ne.FieldBitmap(gO.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(fE),this.setTooltip(Ne.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:12},(()=>new Array(12).fill(0)))},CO={init:function(){this.setColour(fE),this.appendValueInput("data").appendField(Ne.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Ne.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(Ne.Msg.HTML_COLOUR);De.Boards.getSelectedBoardKey();"Python ESP32-S3"===De.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(Ne.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},SO={init:function(){this.setColour(fE),this.appendValueInput("x").setCheck(Number).appendField(Ne.Msg.OLED_BITMAP).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("direct").setCheck(String).appendField(Ne.Msg.MIXLY_AipImageClassify_Image+Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},AO={init:function(){this.setColour(fE),this.appendValueInput("data").appendField(Ne.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Ne.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(Ne.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(Ne.Msg.TEXT_CENTER).appendField(new Ne.FieldDropdown([[Ne.Msg.MICROPYTHON_DISPLAY_YES,"True"],[Ne.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.appendValueInput("VAR").appendField(Ne.Msg.HTML_COLOUR);De.Boards.getSelectedBoardKey();"Python ESP32-S3"===De.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(Ne.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},LO={init:function(){this.setColour(fE),this.appendValueInput("data").appendField(Ne.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(Ne.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(Ne.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("VAR").appendField(Ne.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},NO={init:function(){this.jsonInit({colour:fE,args0:[{name:"shape",options:[[Ne.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[Ne.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:Ne.Msg.mpython_HELPURL,tooltip:Ne.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:Ne.Msg.ONBOARD_TFT_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},DO={init:function(){this.jsonInit({colour:fE,args0:[{name:"dir_h_v",options:[[Ne.Msg.mpython_vertical,"0"],[Ne.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:Ne.Msg.mpython_HELPURL,tooltip:Ne.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:Ne.Msg.ONBOARD_TFT_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},fO={init:function(){this.jsonInit({colour:fE,args0:[{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:Ne.Msg.mpython_HELPURL,tooltip:Ne.Msg.mpython_display_line_TOOLTIP,message0:Ne.Msg.onboard_mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},FO={init:function(){this.setColour(fE),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("x").setCheck(Number).appendField(Ne.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Ne.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(Ne.Msg.HTML_COLOUR),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Ne.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},PO={init:function(){this.setColour(fE),this.appendValueInput("x").setCheck(Number).appendField(Ne.Msg.MIXLY_LCD_SETCOLOR).appendField(Ne.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Ne.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("VAR").appendField(Ne.Msg.HTML_COLOUR);De.Boards.getSelectedBoardKey();"Python ESP32-S3"===De.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(Ne.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},YO={init:function(){this.setColour(fE),this.appendValueInput("VAR").appendField(Ne.Msg.MIXLY_SCREEN_FILL);De.Boards.getSelectedBoardKey();"Python ESP32-S3"===De.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(Ne.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},vO={init:function(){this.setColour(fE),this.appendValueInput("SUB").appendField(Ne.Msg.MIXLY_INIT_CLOCK),this.appendDummyInput().appendField(Ne.Msg.MIXLY_CENTER_POS),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Ne.Msg.OLED_CIRCLE_RADIUS),this.appendValueInput("VAR").appendField(Ne.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},XO={init:function(){this.setColour(fE),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Ne.Msg.GET_RTCTIME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},yO={init:function(){this.setColour(fE),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Ne.Msg.SET_TIME),this.appendValueInput("h").setCheck(Number).appendField(Ne.Msg.MIXLY_HOUR),this.appendValueInput("m").setCheck(Number).appendField(Ne.Msg.MIXLY_MINUTE),this.appendValueInput("s").setCheck(Number).appendField(Ne.Msg.MIXLY_SECOND),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},xO={init:function(){this.setColour(fE),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Ne.Msg.DRAW_CLOCK),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},bO={init:function(){this.setColour(fE),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Ne.Msg.CLEAR_CLOCK),this.appendValueInput("VAR").appendField(Ne.Msg.MIXLY_STM32_TFT_BACKGROUND_COLOR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},VO={init:function(){this.jsonInit({colour:fE,args0:[{name:"shape",options:[[Ne.Msg.MPYTHON_DISPLAY_HOLLOW,"False"],[Ne.Msg.MPYTHON_DISPLAY_SOLID,"True"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"r",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:Ne.Msg.mpython_HELPURL,message0:Ne.Msg.ONBOARD_TFT_DISPLAY_SHAPE_CIRCLE_MESSAGE0,nextStatement:null,previousStatement:null})}},BO={init:function(){this.setColour(fE),this.appendDummyInput().appendField(Ne.Msg.DRAW_POINTER).appendField(Ne.Msg.DRAW_POINTER_ANGLE),this.appendValueInput("angle"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_DRAW_POINTER_DU),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ne.Msg.DRAW_POINTER_TOOLTIP)}},GO={init:function(){this.setColour(fE),this.appendDummyInput().appendField(Ne.Msg.DRAW_POINTER).appendField(Ne.Msg.DRAW_POINTER_ANGLE),this.appendValueInput("angle"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_DRAW_POINTER_DU),this.appendValueInput("VAR").appendField(Ne.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ne.Msg.DRAW_POINTER_TOOLTIP)}},UO={init:function(){this.setColour(fE),this.appendValueInput("data").appendField(Ne.Msg.MIXLY_Display_long_text),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Ne.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(Ne.Msg.HTML_COLOUR);De.Boards.getSelectedBoardKey();"Python ESP32-S3"===De.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(Ne.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},wO={init:function(){this.setColour(fE),this.appendValueInput("direct").appendField(Ne.Msg.OLED_BITMAP).appendField(Ne.Msg.MIXLY_QR_CODE),"Python ESP32-S3"===De.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(Ne.Msg.MIXLY_synchronize),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},HO={init:function(){this.setColour(fE),this.appendValueInput("data").appendField(Ne.Msg.OLED_BITMAP).appendField(Ne.Msg.MIXLY_QR_CODE),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Ne.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_ERROR_RATE).appendField(new Ne.FieldDropdown([["0","7%"],["1","15%"],["2","25%"],["3","30"]]),"correct"),this.appendValueInput("VAR").appendField(Ne.Msg.HTML_COLOUR),"Python ESP32-S3"===De.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(Ne.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},kO={init:function(){this.setColour(fE),this.appendValueInput("data").appendField(Ne.Msg.OLED_BITMAP),this.appendDummyInput().appendField(`(${Ne.Msg.MIXLY_DEPRECATED})`),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ne.Msg.OLED_BITMAP_OR_STRING),this.setWarningText(Ne.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},WO={init:function(){YE.init.call(this),this.appendDummyInput().appendField(`(${Ne.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Ne.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},KO={init:function(){xE.init.call(this),this.appendDummyInput().appendField(`(${Ne.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Ne.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},JO={init:function(){kE.init.call(this),this.appendDummyInput().appendField(`(${Ne.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Ne.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},QO={init:function(){JE.init.call(this),this.appendDummyInput().appendField(`(${Ne.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Ne.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},qO={init:function(){QE.init.call(this),this.appendDummyInput().appendField(`(${Ne.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Ne.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},zO={init:function(){qE.init.call(this),this.appendDummyInput().appendField(`(${Ne.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Ne.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},jO=180,$O={init:function(){this.setColour(jO),this.setOutput(!0),this.setInputsInline(!0),this.appendValueInput("img").appendField(Ne.Msg.DISPLAY_IMAGE_LET).setCheck(["esp32_image","List",String]),this.appendDummyInput("").appendField(Ne.Msg.DISPLAY_IMAGE_LET2).appendField(new Ne.FieldDropdown($O.OPERATORS),"OP"),this.appendValueInput("val").appendField(Ne.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(Ne.Msg.DISPLAY_IMAGE_UNIT);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i=Ne.Msg.DISPLAY_IMAGE_LET,n=Ne.Msg.DISPLAY_IMAGE_LET2,s=Ne.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:Ne.Msg.MIXLY_UP,down:Ne.Msg.MIXLY_DOWN,left:Ne.Msg.MIXLY_LEFT,right:Ne.Msg.MIXLY_RIGHT}[t]+s}))},OPERATORS:[[Ne.Msg.MIXLY_UP,"up"],[Ne.Msg.MIXLY_DOWN,"down"],[Ne.Msg.MIXLY_LEFT,"left"],[Ne.Msg.MIXLY_RIGHT,"right"]]},ZO={init:function(){this.setColour(jO),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(Ne.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new Ne.FieldDropdown(ZO.OPERATORS),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{"+":Ne.Msg.MIXLY_MICROBIT_image_add,"-":Ne.Msg.MIXLY_MICROBIT_image_reduce}[t]}))},OPERATORS:[[Ne.Msg.MICROBIT_DISPLAY_UNION,"+"],[Ne.Msg.MICROBIT_DISPLAY_MINUS,"-"]]},eR={init:function(){this.setColour(jO),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+Ne.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("esp32_image"),this.appendDummyInput("").appendField(new Ne.FieldDropdown(eR.OPERATORS),"OP"),this.setInputsInline(!0),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+Ne.Msg.MIXLY_MICROBIT_IMAGE+{height:Ne.Msg.MIXLY_HEIGHT,width:Ne.Msg.MIXLY_WIDTH}[t]}))},OPERATORS:[[Ne.Msg.MIXLY_HEIGHT,"height"],[Ne.Msg.MIXLY_WIDTH,"width"]]},tR={init:function(){this.setColour(jO),this.appendValueInput("VAR").appendField(Ne.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_RECT).appendField(new Ne.FieldDropdown(tR.STATUS),"OP"),this.jsonInit({message0:Ne.Msg.MIXLY_MICROBIT_SHOW_RECT,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"width"},{check:Number,type:"input_value",name:"height"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Ne.Msg.MIXLY_OLED_RECT)},STATUS:[[Ne.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[Ne.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},iR={init:function(){this.setColour(jO),this.appendValueInput("VAR").appendField(Ne.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE).appendField(new Ne.FieldDropdown(iR.STATUS),"OP"),this.jsonInit({message0:Ne.Msg.MIXLY_HANBIT_SHOW_CIRCLE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"r"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Ne.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE)},STATUS:[[Ne.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[Ne.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},nR={init:function(){this.setColour(jO),this.appendValueInput("VAR").appendField(Ne.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_DISPLAY_DRAW+Ne.Msg.MIXLY_HANBIT_DRAW_TRIANGLE).appendField(new Ne.FieldDropdown(nR.STATUS),"OP"),this.jsonInit({message0:Ne.Msg.MIXLY_HANBIT_SHOW_triangle,args0:[{check:Number,type:"input_value",name:"x0"},{check:Number,type:"input_value",name:"y0"},{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Ne.Msg.MIXLY_DISPLAY_DRAW+Ne.Msg.MIXLY_HANBIT_DRAW_TRIANGLE)},STATUS:[[Ne.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[Ne.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},sR="#777777",_R={init:function(){this.setColour(sR),this.appendDummyInput("").appendField("from ").appendField(new Ne.FieldTextInput("ESP32"),"path").appendField(" import ").appendField(new Ne.FieldTextInput("*"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},oR={init:function(){this.setColour(sR),this.appendDummyInput("").appendField("import ").appendField(new Ne.FieldTextInput("module"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},pR={init:function(){this.setColour(sR),this.appendDummyInput("").appendField(new Ne.FieldTextInput("my_function"),"NAME"),this.itemCount_=1,this.arguments_=["x"],this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Ne.icons.MutatorIcon(["factory_create_with_item"],this))},mutationToDom:function(){var e=document.createElement("mutation");e.setAttribute("items",this.itemCount_);for(var t=0;tt?e[t]:'"key'+(t+1)+'"'),"KEY"+t).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Ne.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},QR={init:function(){this.setColour(UR),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(Ne.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},qR={init:function(){this.setColour(UR),this.appendDummyInput().appendField(Ne.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ne.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},zR={init:function(){this.setColour(UR),this.appendDummyInput().appendField(Ne.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ne.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},jR={init:function(){this.setColour(UR),this.appendDummyInput().appendField(Ne.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").setCheck(String).appendField(Ne.Msg.MIXLY_EMQX_SERVER).setAlign(Ne.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(Ne.Msg.MIXLY_WIFI_USERNAME).setAlign(Ne.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(Ne.Msg.MIXLY_IOT_PASSWORD).setAlign(Ne.inputs.Align.RIGHT),this.appendValueInput("PROJECT").setCheck(String).appendField(Ne.Msg.MIXLY_EMQX_PROJECT).setAlign(Ne.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},$R={init:function(){this.setColour(UR),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(Ne.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(Ne.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(Ne.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},ZR={init:function(){this.setColour(UR),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(Ne.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(Ne.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(Ne.Msg.HTML_BODY),this.appendDummyInput().appendField(Ne.Msg.MIXLY_Service_quality_display).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_AT_MOST_ONCE,"0"],[Ne.Msg.MIXLY_AT_LEAST_ONCE,"1"]]),"quality"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},ec={init:function(){this.setColour(UR),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(Ne.Msg.MIXLY_EMQX_SUBSCRIBE+Ne.Msg.MIXLY_MICROBIT_MSG).appendField(Ne.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(Ne.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_IOT_EMQX_SUBSCRIBE_TOOLTIP)}},tc={init:function(){this.setColour(UR),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ic={init:function(){this.setColour(UR),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_EMQX_CONNECT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},nc={init:function(){this.setColour(UR),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_ESP32_CHECK_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},sc={init:function(){this.setColour(UR),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(Ne.Msg.MQTT_Topic),this.setInputsInline(!0),this.setOutput(!0)}},_c={init:function(){this.setColour(UR),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(Ne.Msg.MIXLY_EMQX_PUBLISH_MSG),this.setInputsInline(!0),this.setOutput(!0)}},oc={init:function(){this.setColour(UR),this.appendValueInput("VAR").appendField(Ne.Msg.MIXLY_ESP32_IOT_MAP_FORMATING),this.setOutput(!0)}},pc={init:function(){this.setColour(UR),this.appendValueInput("VAR").appendField(Ne.Msg.MIXLY_MICROPYTHON_FORMAT+"(Json)"),this.setOutput(!0)}},ac={init:function(){this.setColour(UR),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_EMQX_PING),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_IOT_EMQX_PING_TOOLTIP)}},uc={init:function(){this.setColour(UR),this.appendDummyInput().appendField("MixIO").appendField(Ne.Msg.MIXLY_GET_NTP),this.appendValueInput("addr").appendField(Ne.Msg.blynk_SERVER_ADD),this.setInputsInline(!0),this.setOutput(!0)}},rc={init:function(){this.setColour(UR),this.appendDummyInput().appendField(Ne.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(Ne.Msg.MIXLY_EMQX_SERVER).setAlign(Ne.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(Ne.Msg.CONTROLS_FOR_INPUT_WITH+Ne.Msg.MIXLY_MIXIO_SHARE_KEY).setAlign(Ne.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},dc={init:function(){this.setColour(UR),this.appendDummyInput().appendField(Ne.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(Ne.Msg.MIXLY_EMQX_SERVER).setAlign(Ne.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(Ne.Msg.CONTROLS_FOR_INPUT_WITH+"Mixly Key").setAlign(Ne.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},lc={init:function(){this.VISITOR_ID=De.Config.BOARD.visitorId.str32.substring(0,8).toUpperCase(),this.setColour(UR),this.appendDummyInput("").appendField(new Ne.FieldTextInput(this.visitorId),"VISITOR_ID"),this.setOutput(!0,null)},onchange:function(){const e=this.getFieldValue("VISITOR_ID");this.VISITOR_ID!==e&&this.setFieldValue(this.VISITOR_ID,"VISITOR_ID")}},Ic={init:function(){this.setColour(UR),this.appendDummyInput().appendField("MixIO").appendField(Ne.Msg.MSG.catEthernet_clinet),this.setOutput(!0),this.setInputsInline(!0)}},Tc={init:function(){this.setColour(UR),this.appendDummyInput().appendField("HTTP"+Ne.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(Ne.Msg.DISPLAY_IMAGE_LET2),this.appendDummyInput().appendField(Ne.Msg.MIXLY_REQUESTS_GET).appendField(Ne.Msg.MIXLY_GET_CURRENT_TIME).appendField(Ne.Msg.MIXLY_OPEN_DEBUG).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Ne.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Mc={init:function(){this.setColour(UR),this.appendDummyInput().appendField("HTTP"+Ne.Msg.MIXLY_Client).appendField(Ne.Msg.MIXLY_GET).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_REQUESTS_LEN,"client_len"],[Ne.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[Ne.Msg.MIXLY_REQUESTS_MESSAGE,"text"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},hc={init:function(){this.setColour(UR),this.appendDummyInput().appendField("MQTT"+Ne.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(Ne.Msg.MIXLY_CONNECTTO),this.appendDummyInput().appendField(Ne.Msg.MIXLY_INIT_SUBSCRIBE).appendField(Ne.Msg.MQTT_Topic).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_GET_CURRENT_TIME,""]]),"key").appendField(Ne.Msg.MIXLY_OPEN_DEBUG).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Ne.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},mc={init:function(){this.setColour(UR),this.appendDummyInput().appendField("MQTT"+Ne.Msg.MIXLY_Client).appendField(Ne.Msg.MIXLY_GET).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_REQUESTS_LEN,"client_len"],[Ne.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[Ne.Msg.MIXLY_REQUESTS_MESSAGE,"time_msg()"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},Ec=wR,Oc=HR,Rc=kR,cc=WR,gc=JR,Cc={init:function(){this.setColour(UR),this.appendDummyInput().appendField(Ne.Msg.MIXLY_CONNECT_OLLAMA),this.appendValueInput("SERVER").appendField(Ne.Msg.MIXLY_EMQX_SERVER).setAlign(Ne.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(Ne.Msg.MODEL_NAME).setAlign(Ne.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(Ne.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Sc=Cc,Ac={init:function(){this.setColour(UR),this.appendDummyInput().appendField(Ne.Msg.MIXLY_CONNECT_OPENAI),this.appendValueInput("SERVER").appendField(Ne.Msg.MIXLY_EMQX_SERVER).setAlign(Ne.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(Ne.Msg.MIXLY_API_PRIVATE_KEY).setAlign(Ne.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(Ne.Msg.MODEL_NAME).setAlign(Ne.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(Ne.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Lc={init:function(){this.setColour(UR),this.appendDummyInput().appendField(Ne.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(Ne.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendValueInput("METHOD").appendField(Ne.Msg.MIXLY_LLM_CONTENT_CALLBACK),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Nc={init:function(){this.setColour(UR),this.appendDummyInput().appendField(Ne.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(Ne.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendDummyInput().appendField(Ne.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0)}},Dc={init:function(){this.setColour(UR),this.appendDummyInput().appendField("Ollama "+Ne.Msg.MIXLY_EMPTY_HISTORY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},fc={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${Ne.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("ADDR").setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_EMQX_SERVER),this.appendValueInput("USERNAME").setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_EMQX_USERNAME),this.appendValueInput("PASSWORD").setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_IOT_PASSWORD),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Fc={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${Ne.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("MQTT").setAlign(Ne.inputs.Align.RIGHT).appendField(`MixIO ${Ne.Msg.MIXLY_Client}`),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Pc={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_TINY_WEB_DB_UPDATE_VARIABLE),this.appendValueInput("VALUE").setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Yc={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(Ne.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLE),this.appendDummyInput().appendField(Ne.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setOutput(!0)}},vc={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_NUM),this.setInputsInline(!0),this.setOutput(!0)}},Xc={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB").appendField(Ne.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARIABLES),this.appendValueInput("NO").setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_TINY_WEB_DB_START_NUMBER),this.appendValueInput("COUNT").setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_TINY_WEB_DB_VARIABLE_NUMBER),this.appendValueInput("TAG").setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARS),this.appendDummyInput().setAlign(Ne.inputs.Align.RIGHT).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_ALL,"both"],[Ne.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_TAG,"tag"],[Ne.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_VALUE,"value"]]),"DTYPE"),this.setInputsInline(!1),this.setOutput(!0)}},yc={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(Ne.Msg.MIXLY_TINY_WEB_DB_DELETE_VARIABLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},xc=225,bc={init:function(){this.setColour(xc),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_NETWORK_INIT),this.appendDummyInput().appendField(Ne.Msg.MIXLY_NETWORK_MODE).appendField(new Ne.FieldDropdown([["STA","STA"],["AP","AP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_NETWORK_INIT_TOOLTIP)}},Vc={init:function(){this.setColour(xc),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_NETWORK_WIFI_OPEN,"True"],[Ne.Msg.MIXLY_NETWORK_WIFI_CLOSE,"False"]]),"op"),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_NETWORK_WIFI_FLAG),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("op"),i=Ne.Msg.MIXLY_ESP32_NETWORK_OPEN_TOOLTIP;return{True:Ne.Msg.MIXLY_NETWORK_WIFI_OPEN,False:Ne.Msg.MIXLY_NETWORK_WIFI_CLOSE}[t]+i}))}},Bc={init:function(){this.setColour(xc),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE)}},Gc={init:function(){this.setColour(xc),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_NETWORK_WIFI_SCAN),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip((function(){return Ne.Msg.MIXLY_ESP32_NETWORK_SCAN_TOOLTIP+{0:"ssid",1:"bssid",2:"channel",3:"RSSI",4:"authmode",5:"hidden",all:Ne.Msg.MIXLY_NETWORK_WIFI_SCAN_ATTRIBUTE}.all}))}},Uc={init:function(){this.setColour(xc),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_ESP32_NETWORK_CONNECT),this.appendValueInput("id").setCheck(String).appendField(Ne.Msg.HTML_NAME),this.appendValueInput("password").setCheck(String).appendField(Ne.Msg.HTML_PASSWORD),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_NETWORK_CONNECT_TOOLTIP)}},wc={init:function(){this.setColour(xc),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_NETWORK_WIFI_CONNECT+Ne.Msg.MIXLY_SYMBOL_QUESTION),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_NETWORK_WIFI_CONNECT_TOOLTIP)}},Hc={init:function(){this.setColour(xc),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput("").appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_ESP32_NETWORK_IP,"0"],[Ne.Msg.MIXLY_ESP32_NETWORK_MASK,"1"],[Ne.Msg.MIXLY_ESP32_NETWORK_GATEWAY,"2"],["DNS","3"]]),"mode"),this.setOutput(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("mode");return Ne.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP+{0:Ne.Msg.MIXLY_ESP32_NETWORK_IP,1:Ne.Msg.MIXLY_ESP32_NETWORK_MASK,2:Ne.Msg.MIXLY_ESP32_NETWORK_GATEWAY,3:"DNS"}[t]}))}},kc={init:function(){this.setColour(xc),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_ESP32_NETWORK_STOP_CONNECT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_NETWORK_STOP_TOOLTIP)}},Wc={init:function(){this.setColour(xc),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput().appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_NETWORK_WIFI_ESSID,"essid"],[Ne.Msg.MIXLY_NETWORK_WIFI_CHANNEL,"channel"]]),"op"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP)}},Kc={init:function(){this.setColour(xc),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Ne.Msg.LISTS_SET_INDEX_SET+Ne.Msg.MIXLY_HOTSPOT),this.appendValueInput("essid").setCheck(String).appendField(Ne.Msg.MIXLY_NAME),this.appendValueInput("password").setCheck(String).appendField(Ne.Msg.MIXLY_EMQX_PASSWORD),this.appendValueInput("channel").setCheck(Number).appendField(Ne.Msg.MIXLY_NETWORK_WIFI_CHANNEL),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_NETWORK_AP_CONNECT_TOOLTIP)}},Jc={init:function(){this.setColour(xc),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_ESP32_NETWORK_SERVER1),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_ESP32_NETWORK_SERVER2),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},Qc={init:function(){this.setColour(xc),this.appendValueInput("VAR").appendField(Ne.Msg.MIXLY_MICROPYTHON_SOCKET_INIT).setCheck("var"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new Ne.FieldDropdown([["TCP","TCP"],["UDP","UDP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("mode");return Ne.Msg.MIXLY_ESP32_NETWORK_SOCKET_INIT_TOOLTIP+{TCP:"TCP",UDP:"UDP"}[t]}))}},qc={init:function(){this.setColour(xc),this.appendValueInput("VAR").setCheck("var").appendField(Ne.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(Ne.Msg.MIXLY_MICROPYTHON_SOCKET_BIND_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_NETWORK_SOCKET_BIND_TOOLTIP)}},zc={init:function(){this.setColour(xc),this.appendValueInput("VAR").setCheck("var").appendField(Ne.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(Ne.Msg.MIXLY_MICROPYTHON_SOCKET_CONNECT_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_NETWORK_SOCKET_CONNECT_TOOLTIP)}},jc={init:function(){this.setColour(xc),this.appendValueInput("VAR").setCheck("var"),this.appendValueInput("queue").setCheck(Number).appendField(Ne.Msg.MIXLY_MICROPYTHON_SOCKET_LISTEN).appendField(Ne.Msg.MIXLY_MICROPYTHON_SOCKET_QUEUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_NETWORK_SOCKET_LISTEN_TOOLTIP)}},$c={init:function(){this.setColour(xc),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROPYTHON_SOCKET_ACCEPT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_NETWORK_SOCKET_ACCEPT_TOOLTIP)}},Zc={init:function(){this.setColour(xc),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE_TOOLTIP)}},eg={init:function(){this.setColour(xc),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("size").setCheck(Number).appendField(Ne.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_TOOLTIP)}},tg={init:function(){this.setColour(xc),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("content").appendField(Ne.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TOOLTIP)}},ig={init:function(){this.setColour(xc),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("size").setCheck(Number).appendField(Ne.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_FROM_TOOLTIP)}},ng={init:function(){this.setColour(xc),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("content").appendField(Ne.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.appendValueInput("address").appendField(Ne.Msg.MIXLY_MICROPYTHON_SOCKET_TO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TO_TOOLTIP)}},sg={init:function(){this.setColour(xc),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROPYTHON_SOCKET_CLOSE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},_g={init:function(){this.setColour(xc),this.appendValueInput("DOMAIN").appendField(Ne.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(Ne.Msg.blockpy_REQUESTS_GET).appendField(new Ne.FieldTextInput("response"),"VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ne.Msg.blockpy_REQUESTS_GET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Ne.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},og={init:function(){this.appendValueInput("VAL"),this.setColour(xc),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_MICROBIT_JS_GET).appendField(new Ne.FieldDropdown(og.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("DIR");return{clear:Ne.Msg.MIXLY_TOOLTIP_TURTEL_CLEAR,reset:Ne.Msg.MIXLY_TOOLTIP_TURTEL_RESET,home:Ne.Msg.MIXLY_TOOLTIP_TURTEL_HOME}[t]}))},ATTR:[[Ne.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[Ne.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[Ne.Msg.blockpy_REQUESTS_GET_ATTR_COOKIES,"cookies"],[Ne.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"]]},pg={init:function(){this.appendValueInput("VAR").appendField(Ne.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.setColour(xc),this.appendDummyInput("").appendField(Ne.Msg.blockpy_CONDUCT).appendField(new Ne.FieldDropdown(pg.METHOD),"DIR"),this.appendDummyInput("").appendField(Ne.Msg.blockpy_REQUESTS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("DIR");return{forward:Ne.Msg.MIXLY_TOOLTIP_TURTEL_FORWARD,backward:Ne.Msg.MIXLY_TOOLTIP_TURTEL_BACKWARD}[t]}))},METHOD:[["post","post"],["put","put"],["delete","delete"],["head","head"],["option","option"]]},ag={init:function(){this.setColour(xc),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_GET_NTP+"(NTP)"),this.appendValueInput("data").appendField(Ne.Msg.blynk_SERVER_ADD),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},ug={init:function(){this.setColour(xc),this.appendDummyInput("").appendField(new Ne.FieldDropdown([["ntp.aliyun.com","ntp.aliyun.com"],["ntp1.aliyun.com","ntp1.aliyun.com"],["ntp2.aliyun.com","ntp2.aliyun.com"],["ntp3.aliyun.com","ntp3.aliyun.com"],["ntp4.aliyun.com","ntp4.aliyun.com"],["ntp5.aliyun.com","ntp5.aliyun.com"],["ntp6.aliyun.com","ntp6.aliyun.com"],["ntp7.aliyun.com","ntp7.aliyun.com"],["time1.cloud.tencent.com","time1.cloud.tencent.com"],["time2.cloud.tencent.com","time2.cloud.tencent.com"],["time3.cloud.tencent.com","time3.cloud.tencent.com"],["time4.cloud.tencent.com","time4.cloud.tencent.com"],["time5.cloud.tencent.com","time5.cloud.tencent.com"]]),"op"),this.setOutput(!0)}},rg="#3288dd",dg={init:function(){this.setColour(rg),this.appendValueInput("URL").appendField(Ne.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(Ne.Msg.blockpy_CONDUCT).appendField(new Ne.FieldDropdown([["get","get"],["head","head"],["delete","delete"]]),"TYPE").appendField(Ne.Msg.blockpy_REQUESTS).appendField(Ne.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},lg={init:function(){this.setColour(rg),this.appendValueInput("URL").appendField(Ne.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(Ne.Msg.blockpy_CONDUCT).appendField(new Ne.FieldDropdown([["post","post"],["put","put"],["patch","patch"]]),"TYPE").appendField(Ne.Msg.blockpy_REQUESTS),this.appendValueInput("data").appendField(Ne.Msg.blockpy_REQUESTS+Ne.Msg.OLED_STRING),this.appendDummyInput("").appendField(Ne.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},Ig={init:function(){this.appendValueInput("VAL"),this.setColour(rg),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_MICROBIT_JS_GET).appendField(new Ne.FieldDropdown(Ig.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String)},ATTR:[[Ne.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[Ne.Msg.blockpy_REQUESTS_GET_ATTR_JSON,"json()"],[Ne.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[Ne.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"],[Ne.Msg.MIXPY_TEXT_ENCODE,"encoding"]]},Tg={init:function(){this.setColour(rg),this.appendDummyInput().appendField(Ne.Msg.MIXLY_ESP32_IOT_CONNECT_WIFI),this.appendValueInput("WIFINAME").setCheck(String).appendField(Ne.Msg.HTML_NAME),this.appendValueInput("PASSWORD").setCheck(String).appendField(Ne.Msg.HTML_PASSWORD),this.appendValueInput("TIMEOUT").setCheck(Number).appendField(Ne.Msg.MIXLY_IR_TIMEOUT),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_IOT_WIFI_CONNECT_TOOLTIP)}},Mg={init:function(){this.setColour(rg),this.appendDummyInput().appendField(Ne.Msg.MIXLY_ESP32_IOT_EMQX_CONNECT_TOOLTIP),this.appendValueInput("SERVER").setCheck(String).appendField(Ne.Msg.MIXLY_EMQX_SERVER).setAlign(Ne.inputs.Align.RIGHT),this.appendValueInput("PORT").setCheck(Number).appendField(Ne.Msg.MIXLY_EMQX_PORT).setAlign(Ne.inputs.Align.RIGHT),this.appendValueInput("CLIENT_ID").setCheck(String).appendField(Ne.Msg.MIXLY_EMQX_CLIENT_ID).setAlign(Ne.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(Ne.Msg.MIXLY_WIFI_USERNAME).setAlign(Ne.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(Ne.Msg.MIXLY_IOT_PASSWORD).setAlign(Ne.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},hg={init:function(){this.setColour(rg),this.appendValueInput("TOPIC").appendField(Ne.Msg.MIXLY_EMQX_SUBSCRIBE+Ne.Msg.MIXLY_MICROBIT_MSG).appendField(Ne.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MESSAGE").appendField(Ne.Msg.blockpy_set_of),this.setInputsInline(!0),this.setOutput(!0)}},mg={init:function(){this.setColour(rg),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(Ne.Msg.MIXLY_EMQX_SUBSCRIBE+Ne.Msg.MIXLY_MICROBIT_MSG).appendField(Ne.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(Ne.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Eg={init:function(){this.setColour(rg),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(Ne.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(Ne.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(Ne.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Og={init:function(){this.setColour(rg),this.appendDummyInput().appendField("mqtt"+Ne.Msg.MIXLY_EMQX_IS_CONNECT),this.setInputsInline(!0),this.setOutput(!0)}},Rg="#A58C5B",cg={init:function(){this.setColour(Rg),this.appendValueInput("PIN",Number).appendField(Ne.Msg.MIXLY_BUTTON).appendField(Ne.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Ne.Msg.MIXLY_IS_PRESSED),this.appendValueInput("STAT").appendField(Ne.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_SENOR_IS_PRESSED)}},gg={init:function(){this.setColour(Rg),this.appendValueInput("PIN",Number).appendField(Ne.Msg.MIXLY_BUTTON).appendField(Ne.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Ne.Msg.MIXLY_WAS_PRESSED),this.appendValueInput("STAT").appendField(Ne.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_SENOR_WAS_PRESSED)}},Cg={init:function(){this.setColour(Rg),this.appendValueInput("PIN",Number).appendField(Ne.Msg.MIXLY_BUTTON).appendField(Ne.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Ne.Msg.MIXLY_GET_PRESSES),this.appendValueInput("VAR").setCheck(Number).appendField(Ne.Msg.MIXLY_GET_PRESSES_TIME),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Ne.Msg.PROCEDURES_DEFRETURN_RETURN+Ne.Msg.MIXLY_BUTTON+Ne.Msg.MIXLY_GET_PRESSES)}},Sg={init:function(){this.setColour(Rg),this.appendValueInput("PIN",Number).appendField(Ne.Msg.MIXLY_BUTTON).appendField(Ne.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_MODE).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[Ne.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[Ne.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(Ne.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ne.Msg.MIXLY_TOOLTIP_INOUT_ATTACHINTERRUPT)}},Ag={init:function(){this.setColour(Rg),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_MICROBIT_shake,"shake"],[Ne.Msg.MIXLY_UP,"up"],[Ne.Msg.MIXLY_DOWN,"down"],[Ne.Msg.MIXLY_LEFT,"left"],[Ne.Msg.MIXLY_RIGHT,"right"],[Ne.Msg.MIXLY_MICROBIT_face_up,"face up"],[Ne.Msg.MIXLY_MICROBIT_face_down,"face down"],[Ne.Msg.MIXLY_MICROBIT_freefall,"freefall"],["3g","3g"],["6g","6g"],["8g","8g"]]),"gesture"),this.appendStatementInput("DO").appendField(Ne.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("gesture"),i=Ne.Msg.MIXLY_MICROBIT_JS_CURRENT,n=Ne.Msg.MSG.catSensor,s=Ne.Msg.MIXLY_MICROBIT_JS_STATE,_=Ne.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:Ne.Msg.MIXLY_MICROBIT_shake,up:Ne.Msg.MIXLY_UP,down:Ne.Msg.MIXLY_DOWN,left:Ne.Msg.MIXLY_LEFT,right:Ne.Msg.MIXLY_RIGHT,"face up":Ne.Msg.MIXLY_MICROBIT_face_up,"face down":Ne.Msg.MIXLY_MICROBIT_face_down,freefall:Ne.Msg.MIXLY_MICROBIT_freefall,"3g":"3g","6g":"6g","8g":"8g"}[t]+_}))}},Lg={init:function(){this.setColour(Rg),this.appendValueInput("SUB").appendField(Ne.Msg.MIXLY_ADXL345).setCheck("var"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new Ne.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key"),i=Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Ne.Msg.MIXLY_MICROBIT_Direction,s=Ne.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":Ne.Msg.MIXLY_MICROBIT_Shiliang_Direction}[t]+n+s}))}},Ng={init:function(){this.setColour(Rg),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_JS_LIGHT_LEVEL),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_SENSOR_LIGHT_LEVEL_TOOLTIP)}},Dg={init:function(){this.setColour(Rg),this.appendValueInput("PIN",Number).appendField(new Ne.FieldDropdown([["DHT11","DHT11"],["DHT22","DHT22"]]),"TYPE").appendField(Ne.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(new Ne.FieldDropdown(Dg.METHOD),"WHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("WHAT");return{temperature:Ne.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM,relative_humidity:Ne.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_HUM,tempandhum:Ne.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM_HUM}[t]}))},METHOD:[[Ne.Msg.MIXLY_GETTEMPERATUE,"temperature"],[Ne.Msg.MIXLY_GETHUMIDITY,"humidity"]]},fg={init:function(){this.setColour(Rg),this.appendDummyInput().appendField(Ne.Msg.MIXLY_ESP32_EXTERN_LIGHT),this.appendValueInput("PIN",Number).appendField(Ne.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Ne.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Ne.Msg.ESP32_SENSOR_NIXGO_LIGHT_TOOLTIP)}},Fg={init:function(){this.setColour(Rg),this.appendDummyInput().appendField(Ne.Msg.MIXLY_ESP32_EXTERN_SOUND),this.appendValueInput("PIN",Number).appendField(Ne.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Ne.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Ne.Msg.ESP32_SENSOR_NIXGO_SOUND_TOOLTIP)}},Pg={init:function(){this.setColour(Rg),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new Ne.FieldDropdown([[Ne.Msg.TEXT_TRIM_LEFT,"left"],[Ne.Msg.TEXT_TRIM_RIGHT,"right"]]),"direction").appendField(Ne.Msg.MIXLY_ESP32_NEAR),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("direction"),i=Ne.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP,n=Ne.Msg.MIXLY_ESP32_NEAR;return i+{left:Ne.Msg.TEXT_TRIM_LEFT,right:Ne.Msg.TEXT_TRIM_RIGHT}[t]+n}))}},Yg={init:function(){this.setColour(Rg),this.appendValueInput("SUB").appendField(Ne.Msg.MIXLY_ALTITUDE_SENSOR+" BMP280").setCheck("var"),this.appendDummyInput("").appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_GETTEMPERATUE,"get_BMP_temperature()"],[Ne.Msg.MIXLY_GETPRESSURE,"get_BMP_pressure()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key");return{"get_BMP_temperature()":Ne.Msg.MIXLY_MICROBIT_SENSOR_BMP_temperature_TOOLTIP,"get_BMP_pressure()":Ne.Msg.MIXLY_MICROBIT_SENSOR_BMP_press_TOOLTIP}[t]}))}},vg={init:function(){this.setColour(Rg),this.appendValueInput("SUB").appendField(Ne.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+" SHT20").setCheck("var"),this.appendDummyInput("").appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_GETTEMPERATUE,"get_SHT_temperature()"],[Ne.Msg.MIXLY_GETHUMIDITY,"get_SHT_relative_humidity()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key");return{"get_SHT_temperature()":Ne.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,"get_SHT_relative_humidity()":Ne.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[t]}))}},Xg={init:function(){this.setColour(Rg),this.appendValueInput("PIN",Number).appendField("DS18X20 "+Ne.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Ne.Msg.MIXLY_MICROBIT_SENSOR_DS18X20_TOOLTIP)}},yg={init:function(){this.setColour(Rg),this.appendDummyInput("").appendField("LM35"+Ne.Msg.MIXLY_TEMP),this.appendValueInput("PIN",Number).appendField(Ne.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Ne.Msg.MIXLY_TOOLTIP_LM35)}},xg={init:function(){this.setColour(Rg),this.appendValueInput("I2CSUB").appendField(Ne.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(Ne.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_SETUP+Ne.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_ESP32_EXTERN_LIGHT+"(LTR308ALS)","LTR308"],[Ne.Msg.MIXLY_COLOR_SENSOR+"(LTR381RGB)","LTR381RGB"],[Ne.Msg.MIXLY_COLOR_SENSOR+"(UCS12071)","UCS12071"],[Ne.Msg.MIXLY_EXTERN_LIGHTUV+"(LTR390UV)","LTR390UV"],[Ne.Msg.MIXLY_ALTITUDE_SENSOR+"(HP203X)","HP203X"],[Ne.Msg.MIXLY_ALTITUDE_SENSOR+"(SPL06_001)","SPL06_001"],[Ne.Msg.MIXLY_ALTITUDE_SENSOR+"(MS5611)","MS5611"],[Ne.Msg.MIXLY_ALTITUDE_SENSOR+"(BMP280)","BMP280"],[Ne.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(SHTC3)","SHTC3"],[Ne.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(AHT21)","AHT21"],[Ne.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(SHT20)","SHT20"],[Ne.Msg.MIXLY_LASER_RANGE_SENSOR+"(VL53L0X)","VL53L0X"],[Ne.Msg.MIXLY_GEOMAGNETIC_SENSOR+"(QMC5883L)","QMC5883L"],[Ne.Msg.MIXLY_ESP32_MAX30102+"(MAX30102)","MAX30102"],[Ne.Msg.HTML_COLOUR+"、"+Ne.Msg.MIXLY_ENVIRONMENT_LIGHT+"、"+Ne.Msg.MIXLY_NEXT+"、"+Ne.Msg.MIXLY_ESP32_APDS9960+"(APDS9960)","APDS9960"],[Ne.Msg.MIXLY_NINE_AXIS_SENSOR+"(MPU9250)","MPU9250"],[Ne.Msg.MixGo_MPU9250+"(ADXL345)","ADXL345"],["RFID","RFID"],[Ne.Msg.MIXLY_RADAR_SENSOR+"(CBR817)","CBR817"],[Ne.Msg.MIXLY_AipSpeech_asr+"(CI130X)","CI130X"],[Ne.Msg.MIXLY_TVOC_CO2_SENSOR+"(AGS10)","AGS10"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},bg={init:function(){this.setColour(Rg),this.appendValueInput("SUB").appendField(Ne.Msg.MIXLY_RADAR+"CBR817").setCheck("var"),this.appendDummyInput("").appendField(Ne.Msg.LISTS_SET_INDEX_SET+Ne.Msg.MIXlY_INTERACTION),this.appendValueInput("VAR").appendField(Ne.Msg.MIXLY_DETECTION_THRESHOLD),this.appendValueInput("VAR2").appendField(Ne.Msg.MIXLY_DELAY_TIME),this.appendDummyInput().appendField("ms"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_THRESHOLD_TOOLTIP+" ; "+Ne.Msg.MIXLY_DELAY_TIME_RANGE)}},Vg={init:function(){this.setColour(Rg),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_RADAR).appendField(Ne.Msg.LISTS_SET_INDEX_SET+Ne.Msg.MIXlY_INTERACTION),this.appendValueInput("VAR").appendField(Ne.Msg.MIXLY_DETECTION_THRESHOLD),this.appendValueInput("VAR2").appendField(Ne.Msg.MIXLY_DELAY_TIME),this.appendDummyInput().appendField("ms"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_THRESHOLD_TOOLTIP+" ; "+Ne.Msg.MIXLY_DELAY_TIME_RANGE)}},Bg={init:function(){this.setColour(Rg),this.appendValueInput("SUB").appendField(Ne.Msg.MIXLY_RADAR+"CBR817").setCheck("var"),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_GET_TO_INTERACTION),this.setOutput(!0),this.setInputsInline(!0)}},Gg={init:function(){this.setColour(Rg),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_RADAR).appendField(Ne.Msg.MIXLY_GET_TO_INTERACTION),this.setOutput(!0),this.setInputsInline(!0)}},Ug={init:function(){this.setColour(Rg),this.appendValueInput("SUB").appendField(Ne.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_IDENTIFY_ONCE_AND_SAVE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},wg={init:function(){this.setColour(Rg),this.appendValueInput("SUB").appendField(Ne.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_GET).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_HELLO_XIAOZHI,"1"],[Ne.Msg.MIXLY_XIAOZHIXIAOZHI,"2"],[Ne.Msg.MIXLY_THE_FIRST,"3"],[Ne.Msg.MIXLY_THE_SECOND,"4"],[Ne.Msg.MIXLY_THE_THIRD,"5"],[Ne.Msg.MIXLY_THE_FOURTH,"6"],[Ne.Msg.MIXLY_THE_FIFTH,"7"],[Ne.Msg.MIXLY_THE_SIXTH,"8"],[Ne.Msg.MIXLY_THE_SEVENTH,"9"],[Ne.Msg.MIXLY_THE_EIGHTH,"10"],[Ne.Msg.MIXLY_THE_NINTH,"11"],[Ne.Msg.MIXLY_THE_TENTH,"12"],[Ne.Msg.MIXLY_THE_ELEVENTH,"13"],[Ne.Msg.MIXLY_THE_TWELFTH,"14"],[Ne.Msg.MIXLY_THE_13TH,"15"],[Ne.Msg.MIXLY_THE_14TH,"16"],[Ne.Msg.MIXLY_THE_15TH,"17"],[Ne.Msg.MIXLY_THE_16TH,"18"],[Ne.Msg.MIXLY_THE_17TH,"19"],[Ne.Msg.MIXLY_THE_18TH,"20"],[Ne.Msg.MIXLY_THE_19TH,"21"],[Ne.Msg.MIXLY_THE_20TH,"22"],[Ne.Msg.MIXLY_Turn_on_the_lights,"23"],[Ne.Msg.MIXLY_Turn_off_the_lights,"24"],[Ne.Msg.MIXLY_Turn_up_the_brightness,"25"],[Ne.Msg.MIXLY_Turn_down_the_brightness,"26"],[Ne.Msg.MIXLY_Set_it_to_red,"27"],[Ne.Msg.MIXLY_Set_it_to_orange,"28"],[Ne.Msg.MIXLY_Set_it_to_yellow,"29"],[Ne.Msg.MIXLY_Set_it_to_green,"30"],[Ne.Msg.MIXLY_Set_it_to_cyan,"31"],[Ne.Msg.MIXLY_Set_it_to_blue,"32"],[Ne.Msg.MIXLY_Set_it_to_purple,"33"],[Ne.Msg.MIXLY_Set_it_to_white,"34"],[Ne.Msg.MIXLY_Turn_on_the_fan,"35"],[Ne.Msg.MIXLY_Turn_off_the_fan,"36"],[Ne.Msg.MIXLY_First_gear,"37"],[Ne.Msg.MIXLY_Wind_speed_second,"38"],[Ne.Msg.MIXLY_Third_gear,"39"],[Ne.Msg.MIXLY_Previous,"40"],[Ne.Msg.MIXLY_Next_page,"41"],[Ne.Msg.MIXLY_Show_smiley_face,"42"],[Ne.Msg.MIXLY_Show_crying_face,"43"],[Ne.Msg.MIXLY_Show_love,"44"],[Ne.Msg.MIXLY_Close_display,"45"],[Ne.Msg.MIXLY_Start_execution,"46"],[Ne.Msg.MIXLY_FORWARD,"47"],[Ne.Msg.MIXLY_BACKWARD,"48"],[Ne.Msg.MIXLY_TURNLEFT,"49"],[Ne.Msg.MIXLY_TURNRIGHT,"50"],[Ne.Msg.MIXLY_STOP,"51"],[Ne.Msg.MIXLY_Accelerate,"52"],[Ne.Msg.MIXLY_retard,"53"],[Ne.Msg.ROTATION_FORWARD,"54"],[Ne.Msg.ROTATION_BACKWARD,"55"],[Ne.Msg.MIXLY_Query_temperature,"56"],[Ne.Msg.MIXLY_Query_humidity,"57"],[Ne.Msg.MIXLY_Query_brightness,"58"],[Ne.Msg.MIXLY_Query_sound,"59"],[Ne.Msg.MIXLY_Query_time,"60"],[Ne.Msg.MIXLY_Query_distance,"61"],[Ne.Msg.MIXLY_Query_pressure,"62"],[Ne.Msg.MIXLY_Query_key,"63"],[Ne.Msg.MIXLY_Query_touch,"64"],[Ne.Msg.MIXLY_Query_color,"65"]]),"cmd").appendField(Ne.Msg.MIXLY_WHETHER+Ne.Msg.MIXLY_BE_IDENTIFIED),this.setOutput(!0),this.setInputsInline(!0)}},Hg={init:function(){this.setColour(Rg),this.appendValueInput("SUB").appendField(Ne.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_GET).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_RECOGNIZED_STATE,"status1"],[Ne.Msg.MIXLY_WHETHER_BROADCAST,"status2"],[Ne.Msg.MIXLY_THE_RECOGNIZED_CMD,"result"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_CI130X_GET_THE_RECOGNIZED_STATE_TOOLTIP)}},kg={init:function(){this.setColour(Rg),this.appendValueInput("SUB").appendField(Ne.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_MP3_PLAY).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"],[Ne.Msg.MIXLY_WIND_SPEED,"154"],[Ne.Msg.MIXLY_HYETAL,"155"],[Ne.Msg.MIXLY_TEMPERATURE,"156"],[Ne.Msg.MIXLY_Humidity,"157"],[Ne.Msg.MIXLY_Altitude,"158"],[Ne.Msg.MIXLY_SOUND,"159"],[Ne.Msg.MIXLY_BRIGHTNESS,"160"],[Ne.Msg.ME_GO_HALL_SENSOR_DISTANCE,"161"],[Ne.Msg.MIXLY_SERVO,"162"],[Ne.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"163"],[Ne.Msg.MIXLY_BUTTON2,"164"],[Ne.Msg.MIXLY_ESP32_TOUCH,"165"],[Ne.Msg.MIXLY_PAY,"166"],[Ne.Msg.MIXLY_CARSH_CHANGE,"167"],[Ne.Msg.MIXLY_COUNTDOWN,"168"],[Ne.Msg.MIXLY_TIMING,"169"],[Ne.Msg.MIXLY_AT_THE_MOMENT,"170"],[Ne.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE,"171"],[Ne.Msg.MIXLY_FORWARD,"172"],[Ne.Msg.MIXLY_BACKWARD,"173"],[Ne.Msg.MIXLY_TURNLEFT,"174"],[Ne.Msg.MIXLY_TURNRIGHT,"175"],[Ne.Msg.MIXLY_STOP,"176"],[Ne.Msg.MIXLY_Accelerate,"177"],[Ne.Msg.MIXLY_retard,"178"],[Ne.Msg.ROTATION_FORWARD,"179"],[Ne.Msg.ROTATION_BACKWARD,"180"],[Ne.Msg.TUPLE_JOIN,"181"],[Ne.Msg.MIXLY_SHOW,"182"],[Ne.Msg.MIXLY_LAMPLIGHT,"183"],[Ne.Msg.MIXLY_ACCELERATION,"184"]]),"star"),this.appendValueInput("NUM").appendField(Ne.Msg.MIXLY_NUMBER),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_UNIT).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"],[Ne.Msg.MIXLY_YEAR,"117"],[Ne.Msg.MIXLY_MONTH,"118"],[Ne.Msg.MIXLY_DAY,"119"],[Ne.Msg.MIXLY_HOUR,"120"],[Ne.Msg.MIXLY_MINUTE,"121"],[Ne.Msg.MIXLY_SECOND,"122"],[Ne.Msg.MIXLY_WEEK2,"123"],[Ne.Msg.MIXLY_RMB_UNIT,"124"],[Ne.Msg.blockpy_setheading_degree,"125"],[Ne.Msg.MIXLY_GEAR,"126"],[Ne.Msg.MIXLY_LAYER,"127"],[Ne.Msg.MIXLY_GRAM,"128"],[Ne.Msg.MIXLY_METER,"129"],[Ne.Msg.MIXLY_CENTIMETER,"130"],[Ne.Msg.MIXLY_MILLIMETER,"131"],[Ne.Msg.MIXLY_LUMEN,"132"],[Ne.Msg.MIXLY_DECIBEL,"133"],[Ne.Msg.MIXLY_hectopascal,"134"],[Ne.Msg.MIXLY_PERCENT,"135"],[Ne.Msg.MIXLY_CELSIUS,"136"],[Ne.Msg.MIXLY_METER_PER_SEC,"137"],[Ne.Msg.MIXLY_MICROBIT_Turn_on_display,"138"],[Ne.Msg.MIXLY_MICROBIT_Turn_off_display,"139"],[Ne.Msg.MIXLY_SUCCESS,"140"],[Ne.Msg.MIXLY_FAILED,"141"],[Ne.Msg.MIXLY_WRONG,"142"],[Ne.Msg.MIXLY_GOOD,"143"],[Ne.Msg.MIXLY_blockpy_set_add,"144"],[Ne.Msg.MIXLY_DECREASE,"145"],[Ne.Msg.COLOUR_RGB_RED,"146"],[Ne.Msg.COLOUR_RGB_ORANGE,"147"],[Ne.Msg.COLOUR_YELLOW,"148"],[Ne.Msg.COLOUR_RGB_GREEN,"149"],[Ne.Msg.COLOUR_CYAN,"150"],[Ne.Msg.COLOUR_RGB_BLUE,"151"],[Ne.Msg.COLOUR_RGB_PURPLE,"152"],[Ne.Msg.COLOUR_RGB_WHITE,"153"]]),"end"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Wg={init:function(){this.setColour(Rg),this.appendValueInput("SUB").appendField(Ne.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Ne.Msg.LISTS_SET_INDEX_SET+Ne.Msg.MIXLY_SYSTEM+Ne.Msg.MIXLY_CMD).appendField(new Ne.FieldDropdown([[Ne.Msg.MILXY_ENTER_WAKE_UP,"1"],[Ne.Msg.MIXLY_INCREASE_VOLUME,"202"],[Ne.Msg.MIXLY_REDUCE_VOLUME,"203"],[Ne.Msg.MIXLY_MAX_VOLUME,"204"],[Ne.Msg.MIXLY_MINIMUM,"205"],[Ne.Msg.MIXLY_OPEN_RESPONSE,"206"],[Ne.Msg.MIXLY_CLOSE_RESPONSE,"207"],[Ne.Msg.MIXLY_QUIT_WAKE_UP,"208"]]),"cmd"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Kg={init:function(){this.setColour(Rg),this.appendDummyInput().appendField(Ne.Msg.MIXLY_ESP32_MAX30102+" MAX30102"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_GET).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_ESP32_MAX30102_IR,"[0]"],[Ne.Msg.MIXLY_ESP32_MAX30102_RED,"[1]"],[Ne.Msg.MIXLY_ESP32_MAX30102_IR+","+Ne.Msg.MIXLY_ESP32_MAX30102_RED,""]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Jg={init:function(){this.setColour(Rg),this.appendDummyInput().appendField(Ne.Msg.MIXLY_ESP32_APDS9960+" APDS9960"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_GET).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_ESP32_APDS9960_COLOR,"color"],[Ne.Msg.MIXLY_ESP32_APDS9960_GESTURE,"gesture"],[Ne.Msg.MIXLY_ESP32_APDS9960_APPROACH,"proximity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Qg={init:function(){this.setColour(Rg),this.appendDummyInput().appendField(Ne.Msg.MIXLY_ESP32_EXTERN_LIGHT+" LTR308ALS"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_GET_LIGHT_INTENSITY),this.setOutput(!0,Number),this.setInputsInline(!0)}},qg={init:function(){this.setColour(Rg),this.appendValueInput("SUB").appendField(Ne.Msg.HTML_COLOUR+Ne.Msg.MSG.catSensor+" LTR381RGB").setCheck("var"),this.appendDummyInput("").appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_GET+Ne.Msg.HTML_COLOUR,"[2]"],[Ne.Msg.MIXLY_GET+Ne.Msg.MIXLY_IR_STRENGTH,"[1]"],[Ne.Msg.MIXLY_GET+Ne.Msg.MIXLY_LIGHT_STRENGTH,"[0]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},zg={init:function(){this.setColour(Rg),this.appendValueInput("SUB").appendField(Ne.Msg.HTML_COLOUR+Ne.Msg.MSG.catSensor+" UCS12071").setCheck("var"),this.appendDummyInput("").appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_GET+"RGB"+Ne.Msg.HTML_COLOUR,"0"],[Ne.Msg.MIXLY_GET+Ne.Msg.MIXLY_RGB_RAW,"1"],[Ne.Msg.MIXLY_GET_ENV_LIGHT+Ne.Msg.MIXLY_BRIGHTNESS,"2"],[Ne.Msg.GET_IR_STRENGTH+Ne.Msg.MIXLY_BRIGHTNESS,"3"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},jg={init:function(){this.setColour(Rg),this.appendValueInput("SUB").appendField(Ne.Msg.MIXLY_EXTERN_LIGHTUV+" LTR390UV").setCheck("var"),this.appendDummyInput().appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_GET_ENV_LIGHT,"E"],[Ne.Msg.MIXLY_GET_ULTRAVIOLET,"U"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},$g={init:function(){this.setColour(Rg),this.appendDummyInput().appendField(Ne.Msg.MIXLY_LASER_RANGE+" VL53L0X"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_GET_DISTANCE+"(mm)"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Zg={init:function(){this.setColour(Rg),this.appendValueInput("SUB").appendField(Ne.Msg.MIXLY_TEM_HUM+" SHTC3").setCheck("var"),this.appendDummyInput("").appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_GETTEMPERATUE,"temperature"],[Ne.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key");return{temperature:Ne.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,humidity:Ne.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[t]}))}},eC={init:function(){this.setColour(Rg),this.appendValueInput("SUB").appendField(Ne.Msg.MIXLY_TEM_HUM+" AHT21").setCheck("var"),this.appendDummyInput("").appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_GETTEMPERATUE,"temperature"],[Ne.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key");return{temperature:Ne.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,relative_humidity:Ne.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[t]}))}},tC={init:function(){this.setColour(Rg),this.appendValueInput("SUB").appendField(Ne.Msg.MIXLY_Altitude+Ne.Msg.MSG.catSensor+" HP203X").setCheck("var"),this.appendDummyInput("").appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_GETPRESSURE,"pressure()"],[Ne.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[Ne.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},iC={init:function(){this.setColour(Rg),this.appendValueInput("SUB").appendField(Ne.Msg.MIXLY_Altitude+Ne.Msg.MSG.catSensor+" SPL06_001").setCheck("var"),this.appendDummyInput("").appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_GETPRESSURE,"pressure()"],[Ne.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[Ne.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},nC={init:function(){this.setColour(Rg),this.appendValueInput("SUB").appendField(Ne.Msg.MIXLY_Altitude+Ne.Msg.MSG.catSensor+" MS5611").setCheck("var"),this.appendDummyInput("").appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_GETPRESSURE,"pressure()"],[Ne.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[Ne.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},sC={init:function(){this.setColour(Rg),this.appendValueInput("SUB").appendField(Ne.Msg.MIXLY_Altitude+Ne.Msg.MSG.catSensor+" MS5611").setCheck("var"),this.appendValueInput("VAR").appendField(Ne.Msg.MIXLY_REF_TO_PRESSURE),this.appendDummyInput().appendField(Ne.Msg.MIXLY_CAL_TO_ALTITUDE),this.setOutput(!0,Number),this.setInputsInline(!0)}},_C={init:function(){this.setColour(Rg),this.appendValueInput("SUB").appendField(Ne.Msg.MIXLY_MIXGOPE_FIELD+Ne.Msg.MSG.catSensor+" QMC5883L").setCheck("var"),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_MICROBIT_JS_GET).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"get_bearing()"],[Ne.Msg.MIXLY_TEMPERATURE,"get_temp()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},oC={init:function(){this.setColour(Rg),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_MICROBIT_shake,"shake"],[Ne.Msg.MIXLY_UP,"up"],[Ne.Msg.MIXLY_DOWN,"down"],[Ne.Msg.MIXLY_LEFT,"left"],[Ne.Msg.MIXLY_RIGHT,"right"],[Ne.Msg.MIXLY_MICROBIT_face_up,"face up"],[Ne.Msg.MIXLY_MICROBIT_face_down,"face down"]]),"gesture"),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("gesture"),i=Ne.Msg.MIXLY_MICROBIT_JS_CURRENT,n=Ne.Msg.MSG.catSensor,s=Ne.Msg.MIXLY_MICROBIT_JS_STATE,_=Ne.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:Ne.Msg.MIXLY_MICROBIT_shake,up:Ne.Msg.MIXLY_UP,down:Ne.Msg.MIXLY_DOWN,left:Ne.Msg.MIXLY_LEFT,right:Ne.Msg.MIXLY_RIGHT,"face up":Ne.Msg.MIXLY_MICROBIT_face_up,"face down":Ne.Msg.MIXLY_MICROBIT_face_down}[t]+_}))}},pC={init:function(){this.setColour(Rg),this.appendValueInput("SUB").appendField(Ne.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new Ne.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key"),i=Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Ne.Msg.MIXLY_MICROBIT_Direction,s=Ne.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":Ne.Msg.MIXLY_MICROBIT_Shiliang_Direction}[t]+n+s}))}},aC={init:function(){this.setColour(Rg),this.appendValueInput("SUB").appendField(Ne.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_JS_GET+Ne.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH).appendField(new Ne.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key"),i=Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Ne.Msg.MIXLY_MICROBIT_Direction,s=Ne.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH;return i+{x:"x",y:"y",z:"z","(x,y,z)":Ne.Msg.MIXLY_MICROBIT_Shiliang_Direction}[t]+n+s}))}},uC={init:function(){this.setColour(Rg),this.appendValueInput("SUB").appendField(Ne.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+Ne.Msg.MIXLY_ESP32_SENOR_GYRO).appendField(new Ne.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key"),i=Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Ne.Msg.MIXLY_MICROBIT_Direction,s=Ne.Msg.MIXLY_ESP32_SENOR_GYRO;return i+{x:"x",y:"y",z:"z","(x,y,z)":Ne.Msg.MIXLY_MICROBIT_Shiliang_Direction}[t]+n+s}))}},rC={init:function(){this.setColour(Rg),this.appendValueInput("SUB").appendField(Ne.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS)}},dC={init:function(){this.setColour(Rg),this.appendValueInput("SUB").appendField(Ne.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_GETTEMPERATUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_GETTEMPERATUE)}},lC={init:function(){this.setColour(Rg),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_JS_GET_COMPASS).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,"strength"],[Ne.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"heading"]]),"compass"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("compass");return Ne.Msg.MIXLY_MICROBIT_JS_GET_COMPASS+{strength:Ne.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,heading:Ne.Msg.MIXLY_MICROBIT_JS_BY_ANGLE}[t]}))}},IC={init:function(){this.setColour(Rg),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_Reset_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_MICROBIT_Reset_COMPASS)}},TC={init:function(){this.setColour(Rg),this.appendValueInput("SPISUB").appendField(Ne.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(Ne.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_SETUP+Ne.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new Ne.FieldDropdown([["RFID","RFID"],["WS-LoRa","Weather"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setFieldValue("RFID","key")}},MC={init:function(){this.setColour(Rg),this.appendDummyInput().appendField("RFID"+Ne.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(Ne.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_RFID_READ_CARD_UID,"id"],[Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"content"],[Ne.Msg.MIXLY_ALL,"ALL"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},hC={init:function(){this.setColour(Rg),this.appendDummyInput().appendField("RFID"+Ne.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_RFID_READ_CARD_UID),this.setOutput(!0,Number),this.setInputsInline(!0)}},mC={init:function(){this.setColour(Rg),this.appendDummyInput().appendField("RFID"+Ne.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(Ne.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},EC={init:function(){this.setColour(Rg),this.appendDummyInput().appendField(Ne.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(Ne.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(Ne.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},OC={init:function(){this.setColour(Rg),this.appendDummyInput().appendField(Ne.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(Ne.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(Ne.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(Ne.Msg.RETURN_SUCCESS_OR_NOT),this.setInputsInline(!0),this.setOutput(!0,Boolean)}},RC={init:function(){this.setColour(Rg),this.appendDummyInput().appendField("RFID"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_RFID_SCAN_OK,"0"],[Ne.Msg.MIXLY_RFID_SCAN_NOTAGERR,"1"],[Ne.Msg.MIXLY_RFID_SCAN_ERROR,"2"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},cC={init:function(){this.setColour(Rg),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_MICROBIT_JS_GET).appendField(new Ne.FieldDropdown([["全部(元组)","data()[0]"],["全部(json)","data()[1]"],["全部(json,附带位置信息)","data()[2]"],["编号","data()[0][0]"],["电量","data()[0][1]"],["风速","data()[0][2]"],["阵风","data()[0][3]"],["风向","data()[0][4]"],["雨量","data()[0][5]"],["温度","data()[0][6]"],["湿度","data()[0][7]"],["光照","data()[0][8]"],["紫外线","data()[0][9]"],["大气压","data()[0][10]"],["信号强度","data()[0][11]"],["信噪比","data()[0][12]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip("返回气象数据元组 data= (设备id,电池状态,风速m/s,阵风m/s,风向°,雨量mm,温度℃,湿度%,光照Lux,UVI,大气压Pa,信号强度dB,信噪比dB)")}},gC={init:function(){this.setColour(Rg),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_SERIAL_AVAILABLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},CC={init:function(){this.setColour(Rg),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendValueInput("BASE").appendField("以主题"),this.appendDummyInput("").appendField("串口发送至MixIO"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},SC={init:function(){this.setColour(Rg),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.itemCount_=2,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new Ne.icons.MutatorIcon(["weather_set_label_item"],this)),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip()},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("weather_set_label_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;n1)o=i+".function_call("+_+", "+n+", "+s+", ("+o.join(", ")+"))\n";else if(1==this.itemCount_)o=i+".function_call("+_+", "+n+", "+s+", "+o.join(", ")+")\n";else o=i+".function_call("+_+", "+n+", "+s+")\n";return o},MY=function(e,t){var i=t.valueToCode(this,"virtual_pin",t.ORDER_ATOMIC);t.functions_["terminal_widget_vpin_"+i]=`\nALLOWED_COMMANDS_LIST = ['ls', 'lsusb', 'ip a', 'ip abc']\n\n@blynk.handle_event('write V${i}')\ndef write_handler(pin, _values):\n header = ''\n result = ''\n delimiter = '{}\\n'.format('=' * 30)\n if _values and _values[0] in ALLOWED_COMMANDS_LIST:\n cmd_params = _values[0].split(' ')\n try:\n result = subprocess.check_output(cmd_params).decode('utf-8')\n header = '[output]\\n'\n except subprocess.CalledProcessError as exe_err:\n header = '[error]\\n'\n result = 'Return Code: {}\\n'.format(exe_err.returncode)\n except Exception as g_err:\n print("Command caused '{}'".format(g_err))\n elif _values and _values[0] == 'help':\n header = '[help -> allowed commands]\\n'\n result = '{}\\n'.format('\\n'.join(ALLOWED_COMMANDS_LIST))\n\n # communicate with terminal if help or some allowed command\n if result:\n output = '{}{}{}{}'.format(header, delimiter, result, delimiter)\n print(output)\n blynk.virtual_write(pin, output)\n blynk.virtual_write(pin, '\\n')\n`;return""},hY=function(e,t){return"blynk.virtual_sync("+t.valueToCode(this,"virtual_pin",t.ORDER_ATOMIC)+")\n"},mY=function(e,t){var i=t.statementToCode(this,"DO");return i=t.addLoopTrap(i,this.id)||t.PASS,t.definitions_.blynk_on_disconnected="@blynk.handle_event(\"disconnect\")\ndef connect_handler():\n print('Blynk disconnected')\n"+i,""},EY=function(e,t){var i=t.statementToCode(this,"DO");return i=t.addLoopTrap(i,this.id)||t.PASS,t.definitions_.blynk_on_connected="@blynk.handle_event(\"connect\")\ndef connect_handler():\n print('Blynk connected')\n"+i,""},OY=function(){return"blynk_timer.run()\n"},RY=function(){return"blynk.run()\n"},cY=function(e,t){return"blynk.notify("+t.valueToCode(this,"notification",t.ORDER_ATOMIC)+")\n"},gY=function(e,t){t.definitions_.import_blynktimer="import blynktimer",t.definitions_.def_blynktimer="blynk_timer = blynktimer.Timer(no_timers_err=False)";var i=t.valueToCode(this,"timer_num",t.ORDER_ATOMIC);return`blynk_timer.stop('${i}_blynk_timer${i}')\n`},CY=function(e,t){t.definitions_.import_blynktimer="import blynktimer",t.definitions_.def_blynktimer="blynk_timer = blynktimer.Timer(no_timers_err=False)";return["blynk_timer.get_timers()",t.ORDER_ATOMIC]},SY=function(e,t){t.definitions_.import_blynktimer="import blynktimer";var i=t.valueToCode(this,"Num",t.ORDER_ATOMIC),n=t.valueToCode(this,"period",t.ORDER_ATOMIC),s=this.getFieldValue("Timer_mode"),_=t.statementToCode(this,"DO");return _=t.addLoopTrap(_,this.id)||t.PASS,t.definitions_.def_blynktimer="blynk_timer = blynktimer.Timer(no_timers_err=False)",t.definitions_["blynktimer_event"+i]=`\n@blynk_timer.register(interval=${n}, run_once=${s})\ndef blynk_timer${i}():\n`+_,""},AY=function(e,t){var i=t.valueToCode(this,"sensor_data",t.ORDER_ATOMIC);return"blynk.virtual_write("+t.valueToCode(this,"virtual_pin",t.ORDER_ATOMIC)+", "+i+")\n"},LY=function(e,t){var i=t.valueToCode(this,"virtual_pin",t.ORDER_ATOMIC),n=t.statementToCode(this,"DO");return n=t.addLoopTrap(n,this.id)||t.PASS,t.definitions_["blynk_VIRTUAL_WRITE_"+i]="@blynk.handle_event('write V"+i+"')\ndef write_virtual_pin_handler(pin, _value):\n for i in range(0, len(_value)):\n try: _value[i] = eval(_value[i])\n except: pass\n if len(_value) == 1: _value = _value[0]\n"+n,""},NY=function(e,t){var i=t.valueToCode(this,"body",t.ORDER_ATOMIC),n=t.valueToCode(this,"subject",t.ORDER_ATOMIC);return`blynk.email(${t.valueToCode(this,"TargetEmail",t.ORDER_ATOMIC)}, ${n}, ${i})\n`},DY=function(e,t){var i=t.valueToCode(this,"attribute_value",t.ORDER_ATOMIC);return`blynk.set_property(pin, ${t.valueToCode(this,"attribute_name",t.ORDER_ATOMIC)}, ${i})\n`},fY=function(e,t){t.definitions_.import_BlynkLib="import blynklib";var i=t.valueToCode(this,"server",t.ORDER_ATOMIC),n=t.valueToCode(this,"auth",t.ORDER_ATOMIC),s=t.valueToCode(this,"port",t.ORDER_ATOMIC);return t.definitions_.mpython_blynk_setup="blynk = blynklib.Blynk("+n+", server="+i+", port="+s+")",t.definitions_.blynk_on_connected="\n@blynk.handle_event(\"connect\")\ndef connect_handler():\n print('Blynk connected')\n",t.definitions_.blynk_on_disconnected="\n@blynk.handle_event(\"disconnect\")\ndef connect_handler():\n print('Blynk disconnected')\n",""},FY=function(e,t){t.definitions_.import_cc_g1="from cc_g1 import handle";return["handle.read_bat()",t.ORDER_ATOMIC]},PY=function(e,t){var i=this.getFieldValue("VAR");return t.definitions_.import_cc_g1="from cc_g1 import handle",["handle.read_joystick()"+i,t.ORDER_ATOMIC]},YY=function(e,t){var i=this.getFieldValue("VAR");return t.definitions_.import_cc_g1="from cc_g1 import handle",["handle.read_key("+i+")",t.ORDER_ATOMIC]},vY=function(e,t){t.definitions_.import_cc_g1="from cc_g1 import handle";return"handle.shutdown()"},XY=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2];return"mixgo_me"==i||"mixgo_cc"==i?t.definitions_.import_me_go_car="from me_go import car":"mixgo_ce"==i?t.definitions_.import_ce_go_car="from ce_go import car":"mixgo_mini"==i&&(t.definitions_.import_mini_go_car="from mini_go import car"),["car."+this.getFieldValue("op"),t.ORDER_ATOMIC]},yY=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2];return"mixgo_me"==i||"mixgo_cc"==i?t.definitions_.import_me_go_car="from me_go import car":"mixgo_mini"==i?t.definitions_.import_mini_go_car="from mini_go import car":"mixgo_ce"==i&&(t.definitions_.import_ce_go_car="from ce_go import car"),"car.setonoff("+t.valueToCode(this,"led",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"bright",t.ORDER_ATOMIC)+")\n"},xY=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2];return"mixgo_me"==i||"mixgo_cc"==i?t.definitions_.import_me_go_car="from me_go import car":"mixgo_ce"==i?t.definitions_.import_ce_go_car="from ce_go import car":"mixgo_mini"==i&&(t.definitions_.import_mini_go_car="from mini_go import car"),["car.getrightness("+t.valueToCode(this,"led",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},bY=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2];return"mixgo_me"==i||"mixgo_cc"==i?t.definitions_.import_me_go_car="from me_go import car":"mixgo_ce"==i?t.definitions_.import_ce_go_car="from ce_go import car":"mixgo_mini"==i&&(t.definitions_.import_mini_go_car="from mini_go import car"),["car.getonoff("+t.valueToCode(this,"led",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},VY=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2];return"mixgo_me"==i||"mixgo_cc"==i?t.definitions_.import_me_go_car="from me_go import car":"mixgo_ce"==i?t.definitions_.import_ce_go_car="from ce_go import car":"mixgo_mini"==i&&(t.definitions_.import_mini_go_car="from mini_go import car"),"car.setbrightness("+t.valueToCode(this,"led",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"bright",t.ORDER_ATOMIC)+")\n"},BY=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2];return"mixgo_me"==i||"mixgo_cc"==i?t.definitions_.import_me_go_car="from me_go import car":"mixgo_ce"==i?t.definitions_.import_ce_go_car="from ce_go import car":"mixgo_mini"==i&&(t.definitions_.import_mini_go_car="from mini_go import car"),'car.move("'+this.getFieldValue("VAR")+'", '+t.valueToCode(this,"speed",t.ORDER_ASSIGNMENT)+")\n"},GY=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2];return"mixgo_me"==i||"mixgo_cc"==i?t.definitions_.import_me_go_car="from me_go import car":"mixgo_ce"==i?t.definitions_.import_ce_go_car="from ce_go import car":"mixgo_mini"==i&&(t.definitions_.import_mini_go_car="from mini_go import car"),'car.move("'+this.getFieldValue("VAR")+'")\n'},UY=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2];"mixgo_me"==i||"mixgo_cc"==i?t.definitions_.import_me_go_car="from me_go import car":"mixgo_ce"==i?t.definitions_.import_ce_go_car="from ce_go import car":"mixgo_mini"==i&&(t.definitions_.import_mini_go_car="from mini_go import car");var n=this.getFieldValue("wheel"),s=this.getFieldValue("direction");return 0==n&&("CW"==s?s="CCW":"CCW"==s&&(s="CW")),"car.motor(car.MOTO["+n+'], "'+s+'", '+t.valueToCode(this,"speed",t.ORDER_ATOMIC)+")\n"},wY=function(e,t){var i=this.getFieldValue("mode"),n=De.Boards.getSelectedBoardKey().split(":")[2];return"mixgo_me"==n||"mixgo_cc"==n?t.definitions_["import_me_go_hall_"+i]="from me_go import hall_"+i:"mixgo_ce"==n?t.definitions_["import_ce_go_hall_"+i]="from ce_go import hall_"+i:"mixgo_mini"==n&&(t.definitions_["import_mini_go_hall"+i]="from mini_go import hall_"+i),"hall_"+i+".irq_cb("+t.valueToCode(this,"DO",t.ORDER_ATOMIC)+")\n"},HY=function(e,t){var i=this.getFieldValue("mode"),n=this.getFieldValue("args"),s=De.Boards.getSelectedBoardKey().split(":")[2];"mixgo_me"==s||"mixgo_cc"==s?t.definitions_["import_me_go_hall_"+i]="from me_go import hall_"+i:"mixgo_ce"==s?t.definitions_["import_ce_go_hall_"+i]="from ce_go import hall_"+i:"mixgo_mini"==s&&(t.definitions_["import_mini_go_hall"+i]="from mini_go import hall_"+i);var _=t.valueToCode(this,"num",t.ORDER_ATOMIC);return"all"==n?"hall_"+i+".initial(turns="+_+", distance="+_+")\n":"hall_"+i+".initial("+n+"="+_+")\n"},kY=function(e,t){var i=this.getFieldValue("mode"),n=this.getFieldValue("args"),s=De.Boards.getSelectedBoardKey().split(":")[2];return"mixgo_me"==s||"mixgo_cc"==s?t.definitions_["import_me_go_hall_"+i]="from me_go import hall_"+i:"mixgo_ce"==s?t.definitions_["import_ce_go_hall_"+i]="from ce_go import hall_"+i:"mixgo_mini"==s&&(t.definitions_["import_mini_go_hall"+i]="from mini_go import hall_"+i),["hall_"+i+"."+n,t.ORDER_ATOMIC]},WY=function(e,t){var i=this.getFieldValue("key"),n=De.Boards.getSelectedBoardKey().split(":")[2];return"mixgo_me"==n||"mixgo_cc"==n?t.definitions_.import_me_go_hall="from me_go import car":"mixgo_ce"==n?t.definitions_.import_ce_go_hall="from ce_go import car":"mixgo_mini"==n&&(t.definitions_.import_mini_go_hall="from mini_go import car"),["car.patrol()"+i,t.ORDER_ATOMIC]},KY=function(e,t){var i=this.getFieldValue("key"),n=De.Boards.getSelectedBoardKey().split(":")[2];return"mixgo_me"==n||"mixgo_cc"==n?t.definitions_.import_me_go_hall="from me_go import car":"mixgo_ce"==n?t.definitions_.import_ce_go_hall="from ce_go import car":"mixgo_mini"==n&&(t.definitions_.import_mini_go_hall="from mini_go import car"),["car.obstacle()"+i,t.ORDER_ATOMIC]},JY=function(e,t){var i=this.getFieldValue("key"),n=De.Boards.getSelectedBoardKey().split(":")[2];return"mixgo_me"==n||"mixgo_cc"==n?t.definitions_.import_me_go_hall="from me_go import car":"mixgo_ce"==n?t.definitions_.import_ce_go_hall="from ce_go import car":"mixgo_mini"==n&&(t.definitions_.import_mini_go_hall="from mini_go import car"),"car.ir_mode(car."+i+")\n"},QY=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2];return"mixgo_me"==i||"mixgo_cc"==i?t.definitions_.import_mixgo_me_onboard_mxc6655xa="from mixgo_me import onboard_mxc6655xa":"mixgo_ce"==i?t.definitions_.import_mixgo_ce_onboard_mxc6655xa="from mixgo_ce import onboard_mxc6655xa":"mixgo_mini"==i&&(t.definitions_.import_mini_onboard_mxc6655xa="from mini_go import onboard_mxc6655xa"),["onboard_mxc6655xa.eulerangles(upright=True)"+this.getFieldValue("angle"),t.ORDER_ATOMIC]},qY=function(e,t){var i=this.getFieldValue("key"),n=De.Boards.getSelectedBoardKey().split(":")[2];return"mixgo_me"==n||"mixgo_cc"==n?t.definitions_.import_me_go_hall="from me_go import car":"mixgo_ce"==n?t.definitions_.import_ce_go_hall="from ce_go import car":"mixgo_mini"==n&&(t.definitions_.import_mini_go_hall="from mini_go import car"),["car.light()"+i,t.ORDER_ATOMIC]},zY=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_car"]="from "+i+" import car";return["car()",t.ORDER_ATOMIC]},jY=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_car"]="from "+i+" import car",t.valueToCode(this,"car",t.ORDER_ASSIGNMENT)+"."+this.getFieldValue("VAR")+"("+t.valueToCode(this,"speed",t.ORDER_ASSIGNMENT)+")\n"},$Y=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_car"]="from "+i+" import car",t.valueToCode(this,"car",t.ORDER_ASSIGNMENT)+"."+this.getFieldValue("VAR")+"()\n"},ZY=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_car"]="from "+i+" import car",[t.valueToCode(this,"car",t.ORDER_ASSIGNMENT)+".get_itr_dnum("+this.getFieldValue("key")+")",t.ORDER_ATOMIC]},ev=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_car"]="from "+i+" import car",[t.valueToCode(this,"car",t.ORDER_ASSIGNMENT)+".get_distance()",t.ORDER_ATOMIC]},tv=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_i2c"]="from "+i+" import onboard_i2c";return["onboard_i2c",t.ORDER_ATOMIC]},iv=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_i2c"]="from "+i+" import onboard_spi";return["onboard_spi",t.ORDER_ATOMIC]},nv=function(e,t){t.definitions_.import_machine="import machine";var i=t.valueToCode(this,"RX",t.ORDER_ATOMIC),n=t.valueToCode(this,"TX",t.ORDER_ATOMIC),s=t.valueToCode(this,"freq",t.ORDER_ATOMIC);return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+" = machine.SoftI2C(scl = machine.Pin("+n+"), sda=machine.Pin("+i+"), freq="+s+")\n"},sv=function(e,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".readfrom("+t.valueToCode(this,"address",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"data",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},_v=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".writeto("+t.valueToCode(this,"address",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"data",t.ORDER_ATOMIC)+")\n"},ov=function(e,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".scan()",t.ORDER_ATOMIC]},pv=function(e,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".read()",t.ORDER_ATOMIC]},av=function(e,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".available()",t.ORDER_ATOMIC]},uv=function(e,t){var i=t.valueToCode(this,"PIN",t.ORDER_ATOMIC);t.setups_["setup_i2c_"+i]="Wire.begin("+i+");",t.setups_["setup_i2c_onReceive_"+i]="Wire.onReceive(i2cReceiveEvent_"+i+");";var n="i2cReceiveEvent_"+i,s="void "+n+"(int howMany) {\n"+t.statementToCode(this,"DO")+"}\n";return t.definitions_[n]=s,""},rv=function(e,t){t.definitions_.import_machine="import machine";var i=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),n=t.valueToCode(this,"freq",t.ORDER_ATOMIC),s=t.valueToCode(this,"mosi",t.ORDER_ATOMIC),_=t.valueToCode(this,"miso",t.ORDER_ATOMIC);return i+" = machine.SoftSPI(baudrate="+n+", sck=machine.Pin("+t.valueToCode(this,"sck",t.ORDER_ATOMIC)+"), mosi=machine.Pin("+s+"), miso=machine.Pin("+_+"))\n"},dv=function(e,t){return"spi.init(baudrate="+t.valueToCode(this,"data",t.ORDER_ATOMIC)+")\n"},lv=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+"=bytearray("+t.valueToCode(this,"data",t.ORDER_ATOMIC)+")\n"},Iv=function(e,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".read("+t.valueToCode(this,"data",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Tv=function(e,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".read("+t.valueToCode(this,"data",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"val",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Mv=function(e,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".readinto("+t.valueToCode(this,"data",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},hv=function(e,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".readinto("+t.valueToCode(this,"data",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"val",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},mv=function(e,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".write("+t.valueToCode(this,"data",t.ORDER_ATOMIC)+".encode('utf-8'))",t.ORDER_ATOMIC]},Ev=function(e,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".write_readinto("+t.valueToCode(this,"data",t.ORDER_ATOMIC)+".encode('utf-8'), "+t.valueToCode(this,"val",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Ov=function(e,t){return t.definitions_.import_machine="import machine",t.definitions_.import_onewire="import onewire",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+"=onewire.OneWire(machine.Pin("+t.valueToCode(this,"BUS",t.ORDER_ATOMIC)+"))\n"},Rv=function(e,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".scan()",t.ORDER_ATOMIC]},cv=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".reset()\n"},gv=function(e,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".readbyte()",t.ORDER_ATOMIC]},Cv=function(e,t){var i=t.valueToCode(this,"byte",t.ORDER_ATOMIC);return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+"."+this.getFieldValue("op")+"("+i+")\n"},Sv=function(e,t){var i=t.valueToCode(this,"byte",t.ORDER_ATOMIC);return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".select_rom("+i+".encode('utf-8'))\n"},Av=function(e,t){t.definitions_.import_irremote="import irremote";var i=t.valueToCode(this,"PIN",t.ORDER_ATOMIC),n=this.getFieldValue("type"),s=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);if(""==s&&"RC5"==n)var _="ir_rx = irremote.RC5_RX("+i+")\n";else if("RC5"==n)_="ir_rx = irremote.RC5_RX("+i+", "+s+")\n";else if(""==s)_="ir_rx = irremote.NEC_RX("+i+", "+n+")\n";else _="ir_rx = irremote.NEC_RX("+i+", "+n+", "+s+")\n";return _},Lv=function(e,t){return t.definitions_.import_irremote="import irremote",["ir_rx.code["+this.getFieldValue("index")+"]",t.ORDER_ATOMIC]},Nv=function(e,t){return t.definitions_.import_irremote="import irremote","ir_rx.enable("+this.getFieldValue("en")+")\n"},Dv=function(e,t){t.definitions_.import_irremote="import irremote";return["ir_rx.any()",t.ORDER_ATOMIC]},fv=function(e,t){return t.definitions_.import_irremote="import irremote","ir_rx.timeout("+t.valueToCode(this,"time",t.ORDER_ATOMIC)+")\n"},Fv=function(e,t){t.definitions_.import_irremote="import irremote";var i=t.valueToCode(this,"PIN",t.ORDER_ATOMIC),n=this.getFieldValue("type"),s=t.valueToCode(this,"power",t.ORDER_ATOMIC);if("RC5"==n)var _="ir_tx = irremote.RC5_TX("+i+", "+s+")\n";else _="ir_tx = irremote.NEC_TX("+i+", "+n+", "+s+")\n";return _},Pv=function(e,t){return t.definitions_.import_irremote="import irremote","ir_tx.transmit("+t.valueToCode(this,"cmd",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"toggle",t.ORDER_ATOMIC)+")\n"},Yv=function(e,t){return t.definitions_.import_irremote="import irremote","ir_tx.transmit(pulses="+t.valueToCode(this,"LIST",t.ORDER_ATOMIC)+")\n"},vv=function(e,t){return t.definitions_.import_irremote="import irremote","ir_tx.transmit(raw="+t.valueToCode(this,"raw",t.ORDER_ATOMIC)+")\n"},Xv=function(e,t){t.definitions_.import_irremote="import irremote";return["ir_tx.busy()",t.ORDER_ATOMIC]},yv=function(e,t){return t.definitions_.import_ble_central="import ble_central",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+" = ble_central.BLESimpleCentral()\n"},xv=function(e,t){t.definitions_.import_ble_peripheral="import ble_peripheral";var i=t.valueToCode(this,"data",t.ORDER_ATOMIC);return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+" = ble_peripheral.BLESimplePeripheral("+i+")\n"},bv=function(e,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".scan()",t.ORDER_ATOMIC]},Vv=function(e,t){var i=t.valueToCode(this,"data",t.ORDER_ATOMIC);return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".connect("+this.getFieldValue("mode")+"="+i+")\n"},Bv=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".disconnect()\n"},Gv=function(e,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".mac",t.ORDER_ATOMIC]},Uv=function(e,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".is_connected()",t.ORDER_ATOMIC]},wv=function(e,t){var i=t.valueToCode(this,"data",t.ORDER_ATOMIC);return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".send("+i+")\n"},Hv=function(e,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".recv()",t.ORDER_ATOMIC]},kv=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".recv("+t.valueToCode(this,"METHOD",t.ORDER_ATOMIC)+")\n"},Wv=function(e,t){t.definitions_.import_ble_handle="import ble_handle";var i=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);return i+"=ble_handle.Handle()\n"+i+".recv("+t.valueToCode(this,"METHOD",t.ORDER_ATOMIC)+")\n"},Kv=function(e,t){return t.definitions_.import_radio="import radio",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+"=radio.ESPNow(channel="+t.valueToCode(this,"CHNL",t.ORDER_ATOMIC)+", txpower="+this.getFieldValue("op")+")\n"},Jv=function(e,t){return t.definitions_.import_radio="import radio",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+"=radio.ESPNow(channel="+t.valueToCode(this,"CHNL",t.ORDER_ATOMIC)+", txpower="+t.valueToCode(this,"DB",t.ORDER_ATOMIC)+")\n"},Qv=function(e,t){return t.definitions_.import_radio="import radio",[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".mac",t.ORDER_ATOMIC]},qv=function(e,t){return t.definitions_.import_radio="import radio",[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".info()",t.ORDER_ATOMIC]},zv=function(e,t){t.definitions_.import_radio="import radio";var i=this.getFieldValue("mode");return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".recv()"+i,t.ORDER_ATOMIC]},jv=function(e,t){return t.definitions_.import_radio="import radio",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".send("+t.valueToCode(this,"mac",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"content",t.ORDER_ATOMIC)+")\n"},$v=function(e,t){return t.definitions_.import_radio="import radio",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".recv_cb("+t.valueToCode(this,"METHOD",t.ORDER_ATOMIC)+")\n"},Zv=function(e,t){return t.definitions_.import_radio="import radio",t.definitions_.var_declare_ESPNow_radio="ESPNow_radio=radio.ESPNow()","ESPNow_radio.set_channel(channel="+t.valueToCode(this,"CHNL",t.ORDER_ATOMIC)+")\n"},eX=function(e,t){return t.definitions_.import_radio="import radio",t.definitions_.var_declare_ESPNow_radio="ESPNow_radio=radio.ESPNow()","ESPNow_radio.set_channel(txpower="+this.getFieldValue("op")+")\n"},tX=function(e,t){t.definitions_.import_radio="import radio";var i=t.valueToCode(this,"DB",t.ORDER_ATOMIC);return t.definitions_.var_declare_ESPNow_radio="ESPNow_radio=radio.ESPNow(channel=1, txpower="+i+")","ESPNow_radio.set_channel("+t.valueToCode(this,"CHNL",t.ORDER_ATOMIC)+")\n"},iX=function(e,t){return t.definitions_.import_radio="import radio",t.definitions_.var_declare_ESPNow_radio="ESPNow_radio = radio.ESPNow()","ESPNow_radio.active("+this.getFieldValue("on_off")+")\n"},nX=function(e,t){return t.definitions_.import_radio="import radio",t.definitions_.var_declare_ESPNow_radio="ESPNow_radio = radio.ESPNow()",'ESPNow_radio.send("ffffffffffff",'+t.valueToCode(this,"send",t.ORDER_ATOMIC)+")\n"},sX=function(e,t){t.definitions_.import_radio="import radio",t.definitions_.var_declare_ESPNow_radio="ESPNow_radio = radio.ESPNow()";return["ESPNow_radio.recv()",t.ORDER_ATOMIC]},_X=function(e,t){return["ESPNow_radio_msg",t.ORDER_ATOMIC]},oX=function(e,t){t.definitions_.import_radio="import radio",t.definitions_.import_ubinascii="import ubinascii",t.definitions_.var_declare_ESPNow_radio="ESPNow_radio = radio.ESPNow()";var i=t.statementToCode(e,"DO")||t.PASS;return t.definitions_.def_ESPNow_radio_recv="def ESPNow_radio_recv(mac,ESPNow_radio_msg):\n"+i,t.definitions_.def_ESPNow_radio_recv_all="_radio_msg_list = []\ndef ESPNow_radio_recv_callback(mac,ESPNow_radio_msg):\n global _radio_msg_list\n try:\n ESPNow_radio_recv(mac,ESPNow_radio_msg)\n except:\n pass\n if str(ESPNow_radio_msg) in _radio_msg_list:\n eval('radio_recv_' + bytes.decode(ubinascii.hexlify(ESPNow_radio_msg)) + '()')\n",t.definitions_.ESPNow_radio_recv_callback="ESPNow_radio.recv_cb(ESPNow_radio_recv_callback)\n",""};const pX=function(e,t){t.definitions_.import_radio="import radio",t.definitions_.import_ubinascii="import ubinascii",t.definitions_.var_declare_ESPNow_radio="ESPNow_radio = radio.ESPNow()";var i=t.statementToCode(e,"DO")||t.PASS;t.definitions_.def_ESPNow_radio_recv_all="_radio_msg_list = []\ndef ESPNow_radio_recv_callback(mac,ESPNow_radio_msg):\n global _radio_msg_list\n try:\n ESPNow_radio_recv(mac,ESPNow_radio_msg)\n except:\n pass\n if str(ESPNow_radio_msg) in _radio_msg_list:\n eval('radio_recv_' + bytes.decode(ubinascii.hexlify(ESPNow_radio_msg)) + '()')\n",t.definitions_.ESPNow_radio_recv_callback="ESPNow_radio.recv_cb(ESPNow_radio_recv_callback)\n";var n=e.getFieldValue("msg"),s=function(e){for(var t=function(e,t){for(var i=[],n=0,s=0;s>6),i.push(128|63&_)):(2048<=_&&_<=55295||57344<=_&&_<=65535)&&(n+=3,i.push(224|15&_>>12),i.push(128|63&_>>6),i.push(128|63&_))}for(s=0;s>8,255&n].concat(i)}(e,!0),i="",n=0;n=0?"0x700000":["mixgo_sant"].indexOf(n)>=0?"0xE00000":"0x3A0000","32x12 Matrix"==o?(t.definitions_.import_matrix32x12="import matrix32x12",i=s+" = matrix32x12.Matrix("+_+", font_address="+p+")\n"):"16x8 Matrix"==o&&(t.definitions_.import_matrix16x8="import matrix16x8",i=s+" = matrix16x8.Matrix("+_+")\n"),i},EX=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},OX=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", space="+t.valueToCode(this,"space",t.ORDER_ASSIGNMENT)+", center="+this.getFieldValue("center")+")\n"},RX=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".frame("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},cX=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".frame("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", delay="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+")\n"},gX=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},CX=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", speed="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+", space="+t.valueToCode(this,"space",t.ORDER_ASSIGNMENT)+")\n"},SX=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},AX=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+"."+e.getFieldValue("OP")+"("+t.valueToCode(e,"val",t.ORDER_ATOMIC)+")\n"},LX=function(e,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".pixel(int("+t.valueToCode(e,"x",t.ORDER_ATOMIC)+"), int("+t.valueToCode(e,"y",t.ORDER_ATOMIC)+"))",t.ORDER_ATOMIC]},NX=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return i+".pixel(int("+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+"), int("+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+"), "+t.valueToCode(this,"STAT",t.ORDER_ATOMIC)+")\n"+i+".show()\n"},DX=function(e,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".get_brightness()",t.ORDER_ATOMIC]},fX=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".set_brightness("+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+")\n"},FX=function(e,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+"."+e.getFieldValue("image"),t.ORDER_ATOMIC]},PX=function(e,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".map_"+e.getFieldValue("OP")+"("+t.valueToCode(e,"A",t.ORDER_ATOMIC)+", "+t.valueToCode(e,"B",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},YX=function(e,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".map_invert("+t.valueToCode(e,"A",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},vX=function(e,t){t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var i=t.valueToCode(this,"I2CSUB",t.ORDER_ATOMIC);return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+" = ssd1306.SSD1306_I2C("+t.valueToCode(this,"row",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"column",t.ORDER_ATOMIC)+", "+i+")\n"},XX=function(e,t){return t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".show_str("+(t.valueToCode(this,"Text_line1",t.ORDER_ASSIGNMENT)||"''")+", "+(t.valueToCode(this,"Text_line2",t.ORDER_ASSIGNMENT)||"''")+", "+(t.valueToCode(this,"Text_line3",t.ORDER_ASSIGNMENT)||"''")+", "+(t.valueToCode(this,"Text_line4",t.ORDER_ASSIGNMENT)||"''")+")\n"},yX=function(e,t){return t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".show_line("+t.valueToCode(this,"x1",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"y1",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"x2",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"y2",t.ORDER_ATOMIC)+", 1)\n"},xX=function(e,t){t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var i=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),n=t.valueToCode(this,"x",t.ORDER_ATOMIC),s=t.valueToCode(this,"y",t.ORDER_ATOMIC),_=t.valueToCode(this,"width",t.ORDER_ATOMIC),o=t.valueToCode(this,"height",t.ORDER_ATOMIC),p="TRUE"==this.getFieldValue("fill")?"True":"False",a=this.getFieldValue("OP");switch(p){case"True":return i+".show_fill_rect("+n+", "+s+", "+_+", "+o+", "+a+")\n";case"False":return i+".show_rect("+n+", "+s+", "+_+", "+o+", "+a+")\n"}},bX=function(e,t){t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var i=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),n=t.valueToCode(this,"x",t.ORDER_ATOMIC),s=t.valueToCode(this,"y",t.ORDER_ATOMIC),_=t.valueToCode(this,"length",t.ORDER_ATOMIC);return i+".show_"+this.getFieldValue("direction")+"("+n+", "+s+", "+_+", 1)\n"},VX=function(e,t){return["ON"==this.getFieldValue("ONOFF")?"1":"0",t.ORDER_ATOMIC]},BX=function(e,t){t.definitions_.import_matrix="import matrix";var i=e.getFieldValue("OP");return[t.valueToCode(e,"img",t.ORDER_ATOMIC)+".shift_"+i+"("+t.valueToCode(e,"val",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},GX=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return t.definitions_.import_ssd1306="import ssd1306",t.definitions_.import_machine="import machine",i+".show_fill("+this.getFieldValue("key")+")\n"},UX=function(e,t){return["matrix.Image."+this.getFieldValue("ANIMATION"),t.ORDER_ATOMIC]},wX=function(e,t){var i=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var n=t.valueToCode(this,"x",t.ORDER_ATOMIC),s=t.valueToCode(this,"y",t.ORDER_ATOMIC),_=t.valueToCode(this,"r",t.ORDER_ATOMIC),o="TRUE"==this.getFieldValue("fill")?"True":"False",p=this.getFieldValue("OP");switch(o){case"True":return i+".show_fill_circle("+n+", "+s+", "+_+", "+p+")\n";case"False":return i+".show_circle("+n+", "+s+", "+_+", "+p+")\n"}},HX=function(e,t){var i=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var n=t.valueToCode(this,"x0",t.ORDER_ATOMIC),s=t.valueToCode(this,"y0",t.ORDER_ATOMIC),_=t.valueToCode(this,"x1",t.ORDER_ATOMIC),o=t.valueToCode(this,"y1",t.ORDER_ATOMIC),p=t.valueToCode(this,"x2",t.ORDER_ATOMIC),a=t.valueToCode(this,"y2",t.ORDER_ATOMIC),u="TRUE"==this.getFieldValue("fill")?"True":"False",r=this.getFieldValue("OP");switch(u){case"True":return i+".show_fill_triangle("+n+", "+s+", "+_+", "+o+", "+p+", "+a+", "+r+")\n";case"False":return i+".show_triangle("+n+", "+s+", "+_+", "+o+", "+p+", "+a+", "+r+")\n"}},kX=function(e,t){return t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".show_bitmap("+t.valueToCode(this,"START_X",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"START_Y",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"bitmap_name",t.ORDER_ATOMIC)+","+t.valueToCode(this,"WIDTH",t.ORDER_ATOMIC)+","+t.valueToCode(this,"HEIGHT",t.ORDER_ATOMIC)+")\n"},WX=function(e,t){return t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".show_pixel("+t.valueToCode(this,"POS_X",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"POS_Y",t.ORDER_ATOMIC)+")\n"},KX=function(e,t){var i,n=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),s=t.valueToCode(this,"CLK",t.ORDER_ATOMIC),_=t.valueToCode(this,"DIO",t.ORDER_ATOMIC),o=this.getFieldValue("key");return"TM1650"==o?(t.definitions_.import_tm1650="import tm1650",i=n+" = tm1650."+o+"(clk="+s+",dio="+_+")\n"):"TM1637"==o&&(t.definitions_.import_tm1637="import tm1637",i=n+" = tm1637."+o+"(clk="+s+",dio="+_+")\n"),i},JX=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+"."+this.getFieldValue("STAT")+"()\n"},QX=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".shownum("+t.valueToCode(this,"VALUE",t.ORDER_ATOMIC)+")\n"},qX=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".showDP("+t.valueToCode(this,"NO",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"STAT",t.ORDER_ATOMIC)+")\n"},zX=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".intensity("+t.valueToCode(this,"VALUE",t.ORDER_ATOMIC)+")\n"},jX=function(e,t){t.definitions_.import_st7789="import st7789";var i=De.Boards.getSelectedBoardKey().split(":")[2],n="";n=["mpython","mixgo_pe","mixgo_nova"].indexOf(i)>=0?"0x700000":["mixgo_sant"].indexOf(i)>=0?"0xE00000":"0x3A0000";var s=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),_=t.valueToCode(this,"SPISUB",t.ORDER_ATOMIC),o=t.valueToCode(this,"PINCS",t.ORDER_ATOMIC),p=t.valueToCode(this,"PINDC",t.ORDER_ATOMIC);return s+" = st7789.ST7789("+_+", "+t.valueToCode(this,"WIDTH",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"HEIGHT",t.ORDER_ATOMIC)+", dc_pin="+p+", cs_pin="+o+", rotation="+this.getFieldValue("rotate")+", font_address="+n+")\n"},$X=function(e,t){t.definitions_.import_st7789="import st7789";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".image("+n+", x="+s+", y="+_+", size="+o+", color="+p+")\n";else{const e=p.match(/\d+/g);var u="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");a=i+".image("+n+", x= "+s+",y="+_+", size="+o+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},ZX=function(e,t){var i="0x"+this.getFieldValue("COLOR").slice(1);return["0x"+((16252928&i)>>8|(64512&i)>>5|(255&i)>>3).toString(16),t.ORDER_ATOMIC]},ey=function(e,t){t.definitions_.import_st7789="import st7789";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),a=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),u=this.getFieldValue("center");if("0x"==a.slice(0,2))var r=i+".shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+u+", color="+a+")\n";else{const e=a.match(/\d+/g);var d="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");r=i+".shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+u+", color=0x"+((16252928&d)>>8|(64512&d)>>5|(255&d)>>3).toString(16)+")\n"}return r},ty=function(e,t){t.definitions_.import_st7789="import st7789";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==o.slice(0,2))var p=i+".frame("+n+", size="+s+", delay="+_+", color="+o+")\n";else{const e=o.match(/\d+/g);var a="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");p=i+".frame("+n+", size="+s+", delay="+_+", color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},iy=function(e,t){t.definitions_.import_st7789="import st7789";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),a=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u=i+".scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color="+a+")\n";else{const e=a.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u=i+".scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},ny=function(e,t){return t.definitions_.import_st7789="import st7789",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".fill(st7789."+this.getFieldValue("key")+")\n"},sy=function(e,t){t.definitions_.import_st7789="import st7789";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"x1",t.ORDER_ATOMIC),s=t.valueToCode(this,"y1",t.ORDER_ATOMIC),_=t.valueToCode(this,"x2",t.ORDER_ATOMIC),o=t.valueToCode(this,"y2",t.ORDER_ATOMIC),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".line("+n+", "+s+", "+_+", "+o+", color="+p+")\n";else{const e=p.match(/\d+/g);var u="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");a=i+".line("+n+", "+s+", "+_+", "+o+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},_y=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"I2CSUB",t.ORDER_ATOMIC),s=this.getFieldValue("key"),_=t.valueToCode(this,"ADDR",t.ORDER_ATOMIC);return t.definitions_.import_i2clcd="import i2clcd",i+" = i2clcd.LCD("+n+", lcd_width="+s+", i2c_addr="+_+")\n"},oy=function(e,t){return t.definitions_.import_i2clcd="import i2clcd",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", column="+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+", line="+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+",center = "+this.getFieldValue("center")+")\n"},py=function(e,t){return t.definitions_.import_i2clcd="import i2clcd",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".print("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", column="+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+", line="+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+", delay="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+")\n"},ay=function(e,t){return t.definitions_.import_i2clcd="import i2clcd",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".backlight("+this.getFieldValue("key")+")\n"},uy=function(e,t){return t.definitions_.import_i2clcd="import i2clcd",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".clear()\n"},ry=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"I2CSUB",t.ORDER_ATOMIC),s=t.valueToCode(this,"ADDR",t.ORDER_ATOMIC),_=this.getFieldValue("driver"),o=De.Boards.getSelectedBoardKey().split(":")[2],p="";return p=["mpython","mixgo_pe","mixgo_nova"].indexOf(o)>=0?"0x700000":["mixgo_sant"].indexOf(o)>=0?"0xE00000":"0x3A0000",t.definitions_.import_oled128x64="import oled128x64",i+" = oled128x64.OLED("+n+", address="+s+", font_address="+p+", types="+_+")\n"},dy=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".image("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},ly=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".image("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", x="+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+", y="+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+", size="+t.valueToCode(this,"size",t.ORDER_ASSIGNMENT)+")\n"},Iy=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},Ty=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", x="+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+", y="+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+", size="+t.valueToCode(this,"size",t.ORDER_ASSIGNMENT)+", space="+t.valueToCode(this,"space",t.ORDER_ASSIGNMENT)+", center="+this.getFieldValue("center")+")\n"},My=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".frame("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},hy=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".frame("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", size="+t.valueToCode(this,"size",t.ORDER_ASSIGNMENT)+", delay="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+")\n"},my=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},Ey=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", y="+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+", size="+t.valueToCode(this,"size",t.ORDER_ASSIGNMENT)+", speed="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+", space="+t.valueToCode(this,"space",t.ORDER_ASSIGNMENT)+")\n"},Oy=function(e,t){t.definitions_.import_oled128x64="import oled128x64";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},Ry=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+"."+e.getFieldValue("OP")+"("+t.valueToCode(e,"val",t.ORDER_ATOMIC)+")\n"},cy=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".pixel(int("+t.valueToCode(e,"x",t.ORDER_ATOMIC)+"), int("+t.valueToCode(e,"y",t.ORDER_ATOMIC)+"))",t.ORDER_ATOMIC]},gy=function(e,t){t.definitions_.import_oled128x64="import oled128x64";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return i+".pixel(int("+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+"), int("+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+"), "+t.valueToCode(this,"STAT",t.ORDER_ATOMIC)+")\n"+i+".show()\n"},Cy=function(e,t){t.definitions_.import_oled128x64="import oled128x64";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(e,"x",t.ORDER_ATOMIC),s=t.valueToCode(e,"y",t.ORDER_ATOMIC),_=t.valueToCode(e,"w",t.ORDER_ATOMIC),o=t.valueToCode(e,"h",t.ORDER_ATOMIC),p=e.getFieldValue("state");return i+"."+e.getFieldValue("shape")+"("+n+", "+s+", "+_+", "+o+", "+p+")\n"+i+".show()\n"},Sy=function(e,t){t.definitions_.import_oled128x64="import oled128x64";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(e,"x",t.ORDER_ATOMIC),s=t.valueToCode(e,"y",t.ORDER_ATOMIC),_=t.valueToCode(e,"length",t.ORDER_ATOMIC),o=e.getFieldValue("state");return i+"."+("0"==e.getFieldValue("dir_h_v")?"v":"h")+"line("+n+", "+s+", "+_+", "+o+")\n"+i+".show()\n"},Ay=function(e,t){t.definitions_.import_oled128x64="import oled128x64";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return i+".line("+t.valueToCode(e,"x1",t.ORDER_ATOMIC)+", "+t.valueToCode(e,"y1",t.ORDER_ATOMIC)+", "+t.valueToCode(e,"x2",t.ORDER_ATOMIC)+", "+t.valueToCode(e,"y2",t.ORDER_ATOMIC)+", "+e.getFieldValue("state")+")\n"+i+".show()\n"},Ly=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT);if("Python ESP32-S3"===De.JSFuncs.getPlatform()){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var s="onboard_tft.image("+(n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT))+", color=0xffff,sync="+(t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True")+")\n"}else if("educore"==i){t.definitions_["import_"+i+"_oled"]="from "+i+" import oled";s="oled.print("+n+")\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";s="onboard_matrix.shows("+n+")\n"}return s},Ny=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),_=this.getFieldValue("center");if("mixgo_sant"==i||"mixgo_nova"==i||"mixgo_soar"==i)return t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.shows("+n+", space="+s+", center="+_+",sync="+(t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True")+")\n";if("educore"==i){t.definitions_["import_"+i+"_oled"]="from "+i+" import oled"}return t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.shows("+n+", space="+s+", center="+_+")\n"},Dy=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){t.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var s="onboard_oled.frame("+n+")\n"}else if("Python ESP32-S3"===De.JSFuncs.getPlatform()){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";s="onboard_tft.frame("+(n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT))+", color=0xffff)\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";s="onboard_matrix.frame("+n+")\n"}return s},fy=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){t.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var _="onboard_oled.frame("+(n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT))+", delay="+s+")\n"}else if("Python ESP32-S3"===De.JSFuncs.getPlatform()){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";_="onboard_tft.frame("+n+", size=5 , delay="+s+", color=0xffff)\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";_="onboard_matrix.frame("+n+", delay="+s+")\n"}return _},Fy=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2];if("mpython"==i||"educore"==i){t.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var n="onboard_oled.scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"}else if("Python ESP32-S3"===De.JSFuncs.getPlatform()){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";n="onboard_tft.scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", color=0xffff)\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"}return n},Py=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){t.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var o="onboard_oled.scroll("+n+", speed="+s+", space="+_+")\n"}else if("Python ESP32-S3"===De.JSFuncs.getPlatform()){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";o="onboard_tft.scroll("+n+", y=0, size=5, speed="+s+", space="+_+", color=0xffff)\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";o="onboard_matrix.scroll("+n+", speed="+s+", space="+_+")\n"}return o},Yy=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.scroll_way("+this.getFieldValue("way")+")\n"},vy=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),a=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u="onboard_tft.scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color="+a+")\n";else{const e=a.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u="onboard_tft.scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},Xy=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix",["onboard_matrix."+e.getFieldValue("image"),t.ORDER_ATOMIC]},yy=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2];if("Python ESP32-S3"===De.JSFuncs.getPlatform()){const i=e.getFieldValue("image").split(".");if(2!==i.length)throw Error("pin value error");t.definitions_[`import_${i[0]}_${i[1]}`]=`from ${i[0]} import ${i[1]}`;var n=i[1]}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix."+e.getFieldValue("image")}return[n,t.ORDER_ATOMIC]},xy=function(e,t){var i={"#000000":"0","#ff0000":"1"};function n(e){let t="";if(e.length%2==1&&(e="0"+e),e.length<8){let t=8-e.length;for(let i=1;i<=t;i++)e="0"+e}for(let i=1;i<=e.length;i++)i%2==0&&i!==e.length?t=t+e[i-1]+",0x":t+=e[i-1];return"0x"+t}let s=[];for(let t=0;t<12;t++){let _="",o=0,p=0;for(let n=0;n<32;n++)n<8?p=7-n:n<16?p=23-n:n<24?p=39-n:n<32&&(p=55-n),o+=Number(i[e.getFieldValue(t+"-"+n)])*Math.pow(2,31-p);_+=n(o.toString(16)),s.unshift(_)}let _=[];for(let e=0;e>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},Rx=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.picture("+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+","+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+","+t.valueToCode(this,"direct",t.ORDER_ASSIGNMENT)+")\n"},cx=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),a=this.getFieldValue("center"),u=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True",r=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==r.slice(0,2))var d="onboard_tft.shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+a+", color="+r+",sync="+u+")\n";else{const e=r.match(/\d+/g);var l="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");d="onboard_tft.shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+a+", color=0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+",sync="+u+")\n"}return d},gx=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==o.slice(0,2))var p="onboard_tft.frame("+n+", size="+s+", delay="+_+", color="+o+")\n";else{const e=o.match(/\d+/g);var a="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");p="onboard_tft.frame("+n+", size="+s+", delay="+_+", color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},Cx=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(e,"x",t.ORDER_ATOMIC),s=t.valueToCode(e,"y",t.ORDER_ATOMIC),_=t.valueToCode(e,"w",t.ORDER_ATOMIC),o=t.valueToCode(e,"h",t.ORDER_ATOMIC),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),a=e.getFieldValue("shape"),u=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var r="onboard_tft."+a+"("+n+", "+s+", "+_+", "+o+", "+p+",sync="+u+")\n";else{const e=p.match(/\d+/g);var d="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");r="onboard_tft."+a+"("+n+", "+s+", "+_+", "+o+", 0x"+((16252928&d)>>8|(64512&d)>>5|(255&d)>>3).toString(16)+",sync="+u+")\n"}return r},Sx=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(e,"x",t.ORDER_ATOMIC),s=t.valueToCode(e,"y",t.ORDER_ATOMIC),_=t.valueToCode(e,"length",t.ORDER_ATOMIC),o=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),p=e.getFieldValue("dir_h_v"),a=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==o.slice(0,2))var u="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+_+", "+o+",sync="+a+")\n";else{const e=o.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+_+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},Ax=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(e,"x1",t.ORDER_ATOMIC),s=t.valueToCode(e,"y1",t.ORDER_ATOMIC),_=t.valueToCode(e,"x2",t.ORDER_ATOMIC),o=t.valueToCode(e,"y2",t.ORDER_ATOMIC),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),a=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var u="onboard_tft.line("+n+", "+s+", "+_+", "+o+", "+p+",sync="+a+")\n";else{const e=p.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u="onboard_tft.line("+n+", "+s+", "+_+", "+o+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},Lx=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft",["onboard_tft.pixel(int("+t.valueToCode(e,"x",t.ORDER_ATOMIC)+"), int("+t.valueToCode(e,"y",t.ORDER_ATOMIC)+"))",t.ORDER_ATOMIC]},Nx=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),o=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==_.slice(0,2))var p="onboard_tft.pixel(int("+n+"), int("+s+"), "+_+",sync="+o+")\n";else{const e=_.match(/\d+/g);var a="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");p="onboard_tft.pixel(int("+n+"), int("+s+"), 0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+",sync="+o+")\n"}return p},Dx=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"VAR",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==n.slice(0,2))var _="onboard_tft.fill("+n+",sync="+s+")\n";else{const e=n.match(/\d+/g);var o="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");_="onboard_tft.fill(0x"+((16252928&o)>>8|(64512&o)>>5|(255&o)>>3).toString(16)+",sync="+s+")\n"}return _},fx=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=o+"=Clock("+n+", "+s+", "+_+", "+p+")\n";else{const e=p.match(/\d+/g);var u="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");a=o+"=Clock("+n+", "+s+", "+_+", 0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},Fx=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT)+".set_rtctime()\n"},Px=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT)+".set_time("+t.valueToCode(this,"h",t.ORDER_ASSIGNMENT)+", "+t.valueToCode(this,"m",t.ORDER_ASSIGNMENT)+", "+t.valueToCode(this,"s",t.ORDER_ASSIGNMENT)+")\n"},Yx=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT)+".draw_clock()\n"},vx=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==s.slice(0,2))var _=n+".clear("+s+")\n";else{const e=s.match(/\d+/g);var o="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");_=n+".clear(0x"+((16252928&o)>>8|(64512&o)>>5|(255&o)>>3).toString(16)+")\n"}return _},Xx=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(e,"x",t.ORDER_ATOMIC),s=t.valueToCode(e,"y",t.ORDER_ATOMIC),_=t.valueToCode(e,"r",t.ORDER_ATOMIC),o=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),p=e.getFieldValue("shape"),a=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==o.slice(0,2))var u="onboard_tft.ellipse("+n+", "+s+", "+_+", "+_+", "+o+", "+p+",sync="+a+")\n";else{const e=o.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u="onboard_tft.ellipse("+n+", "+s+", "+_+", "+_+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+", "+p+",sync="+a+")\n"}return u},yx=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2];if("Python ESP32-S3"===De.JSFuncs.getPlatform()){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n="onboard_tft.pointern(angle="+t.valueToCode(this,"angle",t.ORDER_ASSIGNMENT)+")\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.pointern(angle="+t.valueToCode(this,"angle",t.ORDER_ASSIGNMENT)+")\n"}return n},xx=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"angle",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==s.slice(0,2));else{const e=s.match(/\d+/g);var _="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");((16252928&_)>>8|(64512&_)>>5|(255&_)>>3).toString(16)}return"onboard_tft.pointern(angle="+n+")\n"},bx=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),a=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var u="onboard_tft.texts("+n+", x="+s+", y="+_+", size="+o+", color="+p+",sync="+a+")\n";else{const e=p.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u="onboard_tft.texts("+n+", x="+s+", y="+_+", size="+o+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},Vx=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"direct",t.ORDER_ATOMIC);t.valueToCode(this,"boolean",t.ORDER_ATOMIC);return"onboard_tft.qrcode("+n+")\n"},Bx=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),a=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True",u=this.getFieldValue("correct");if("0x"==p.slice(0,2))var r="onboard_tft.qrcode("+n+",x="+s+",y="+_+",size="+o+",correct="+u+",color="+p+",sync="+a+")\n";else{const e=p.match(/\d+/g);var d="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");r="onboard_tft.qrcode("+n+",x="+s+",y="+_+",size="+o+",correct="+u+",color=0x"+((16252928&d)>>8|(64512&d)>>5|(255&d)>>3).toString(16)+",sync="+a+")\n"}return r},Gx=Ly,Ux=Wy,wx=wy,Hx=Wy,kx=Ky,Wx=Vy,Kx=function(e,t){var i=this.getFieldValue("path"),n=this.getFieldValue("module");return t.definitions_["import_"+i+"_"+n]="from "+i+" import "+n,""},Jx=function(e,t){var i=this.getFieldValue("module");return t.definitions_["import_"+i]="import "+i,""},Qx=function(e,t){for(var i=this.getFieldValue("NAME"),n=new Array(this.itemCount_),s=0;s {\n"+t.statementToCode(this,"do")+"})\n"},_H=function(){return"control.reset()\n"},oH=function(e,t){return"control.waitMicros("+(t.valueToCode(this,"data",t.ORDER_ATOMIC)||De.Profile.default.serial)+")\n"},pH=function(e,t){return"control.raiseEvent("+(t.valueToCode(this,"system_event_bus_source",t.ORDER_ATOMIC)||De.Profile.default.serial)+", "+(t.valueToCode(this,"system_event_bus_value",t.ORDER_ATOMIC)||De.Profile.default.serial)+")\n"},aH=function(e,t){return"control.onEvent("+(t.valueToCode(this,"system_event_bus_source",t.ORDER_ATOMIC)||De.Profile.default.serial)+", "+(t.valueToCode(this,"system_event_bus_value",t.ORDER_ATOMIC)||De.Profile.default.serial)+", () => {\n"+t.statementToCode(this,"do")+")\n"},uH=function(e,t){return["control.eventTimestamp()",t.ORDER_ATOMIC]},rH=function(e,t){return["control.eventValue()",t.ORDER_ATOMIC]},dH=function(e,t){return[this.getFieldValue("key"),t.ORDER_ATOMIC]},lH=function(e,t){return[this.getFieldValue("key"),t.ORDER_ATOMIC]},IH=function(e,t){return["control.deviceName()",t.ORDER_ATOMIC]},TH=function(e,t){return["control.deviceSerialNumber()",t.ORDER_ATOMIC]},MH=function(e,t){return"panic("+(t.valueToCode(this,"STATUS_CODE",t.ORDER_ATOMIC)||"1000")+")\n"},hH=function(e,t){switch(t.definitions_.import_time="import time",this.getFieldValue("Time")){case"ms":return["time.ticks_ms()",t.ORDER_ATOMIC];case"us":return["time.ticks_us()",t.ORDER_ATOMIC]}},mH=function(){return"while True:\n pass\n"},EH=function(e,t){return t.definitions_.import_mixgo="import mixgo","reset()\n"},OH=function(e,t){return t.definitions_.import_os="import os","os.uname()"},RH=function(e,t){t.definitions_.import_time="import time";var i=t.valueToCode(this,"DELAY_TIME",t.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},cH=function(e,t){t.definitions_.import_time="import time";var i=t.valueToCode(this,"DELAY_TIME",t.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},gH=function(e,t){return t.definitions_.import_mixgo="import mixgo",(t.valueToCode(this,"VAR",t.ORDER_NONE)||"None")+".init(period="+(t.valueToCode(this,"period",t.ORDER_NONE)||"0")+", mode=Timer."+(t.valueToCode(this,"mode",t.ORDER_NONE)||"None")+", callback="+(t.valueToCode(this,"callback",t.ORDER_NONE)||"None")+")\n"},CH=function(e,t){return t.definitions_.import_machine="import machine",(t.valueToCode(this,"VAR",t.ORDER_NONE)||"None")+" = machine.Timer("+(t.valueToCode(this,"PIN",t.ORDER_NONE)||"None")+",period = "+(t.valueToCode(this,"period",t.ORDER_NONE)||"0")+", mode=machine.Timer."+this.getFieldValue("mode")+", callback="+(t.valueToCode(this,"callback",t.ORDER_NONE)||"None")+")\n"},SH=function(e,t){return t.definitions_.import_time="import time",["time.ticks_diff("+(t.valueToCode(this,"END",t.ORDER_NONE)||"0")+", "+(t.valueToCode(this,"START",t.ORDER_NONE)||"0")+")",t.ORDER_ATOMIC]},AH=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return t.definitions_.import_machine="import machine",i+" = machine.Timer(0)\n"},LH=function(e,t){return t.definitions_.import_machine="import machine",(t.valueToCode(this,"VAR",t.ORDER_NONE)||"None")+".init(period = "+(t.valueToCode(this,"period",t.ORDER_NONE)||"0")+", mode=machine.Timer."+this.getFieldValue("mode")+", callback="+(t.valueToCode(this,"callback",t.ORDER_NONE)||"None")+")\n"},NH=function(e,t){return t.definitions_.import_machine="import machine","wdt = machine.WDT(timeout= "+(t.valueToCode(this,"period",t.ORDER_NONE)||"0")+")\n"},DH=function(e,t){t.definitions_.import_machine="import machine";return"wdt.feed()\n"},fH=function(e,t){t.definitions_.import_machine="import machine";return"machine.reset()\n"},FH=function(e,t){t.definitions_.import_bitbot_onboard_bot51="from bitbot import onboard_bot51";return"onboard_bot51.shutdown()\n"},PH=AH,YH=LH,vH=SH,XH=RH,yH=function(e,t){return t.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+t.valueToCode(this,"key",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},xH=function(e,t){return t.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+t.valueToCode(this,"key",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"day",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},bH=function(e,t){return t.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api.weather_hourly("+t.valueToCode(this,"key",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"hour",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},VH=function(e,t){return t.definitions_["import_seniverse_api*"]="from seniverse_api import *",this.getFieldValue("mode")+".request("+t.valueToCode(this,"key",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+")\n"},BH=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Weather_now.analysis()";else n='Weather_now.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},GH=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Air_now.analysis()";else n='Air_now.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},UH=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Weather_alarm.analysis()";else n='Weather_alarm.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},wH=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Life_suggestion.analysis()";else n='Life_suggestion.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},HH=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Tide_daily.analysis()";else n='Tide_daily.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},kH=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Location_search.analysis()";else n='Location_search.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},WH=function(e,t){return t.definitions_["import_seniverse_api*"]="from seniverse_api import *",this.getFieldValue("mode")+".request("+t.valueToCode(this,"key",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"day",t.ORDER_ATOMIC)+")\n"},KH=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=t.valueToCode(this,"day",t.ORDER_ATOMIC);if("none"==i)var s="Weather_daily.analysis("+n+")";else s="Weather_daily.analysis("+n+', "'+i+'")';return[s,t.ORDER_ATOMIC]},JH=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=t.valueToCode(this,"day",t.ORDER_ATOMIC);if("none"==i)var s="Air_daily.analysis("+n+")";else s="Air_daily.analysis("+n+', "'+i+'")';return[s,t.ORDER_ATOMIC]},QH=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=t.valueToCode(this,"day",t.ORDER_ATOMIC);if("none"==i)var s="Geo_sun.analysis("+n+")";else s="Geo_sun.analysis("+n+', "'+i+'")';return[s,t.ORDER_ATOMIC]},qH=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=t.valueToCode(this,"day",t.ORDER_ATOMIC);if("none"==i)var s="Geo_moon.analysis("+n+")";else s="Geo_moon.analysis("+n+', "'+i+'")';return[s,t.ORDER_ATOMIC]},zH='
\r\n
{{-d.title}}
\r\n
\r\n {{# if (d.message) { }}\r\n

\r\n {{-d.message}}\r\n

\r\n {{# } }}\r\n
\r\n
',{XML:jH}=De,$H=jH.render(zH,{title:"烧录速度",message:"要选择烧录速度,请更改“Burn Speed”,此值将用于向设备烧录代码。如果在用较高的烧录速度时出现问题,请尝试减小此值,这可能是由于外部串行到USB芯片的限制。"}),{XML:ZH}=De,ek=ZH.render(zH,{title:"燒錄速度",message:"要選擇燒錄速度,請更改“Burn Speed”,此值將用於向設備燒錄程式碼。如果在用較高的燒錄速度時出現問題,請嘗試减小此值,這可能是由於外部串列到USB晶片的限制。"}),{XML:tk}=De,ik=tk.render(zH,{title:"Burn Speed",message:"To select the flashing speed, change the Burn Speed. This value will be used for flashing the code to the device. If you have issues while flashing the device at high speed, try to decrease this value. This could be due to the external serial-to-USB chip limitations."}),nk=new Ne.Generator("Python");nk.INDENT=" ",nk.addReservedWords("False,None,True,and,as,assert,break,class,continue,def,del,elif,else,except,exec,finally,for,from,global,if,import,in,is,lambda,nonlocal,not,or,pass,print,raise,return,try,while,with,yield,NotImplemented,Ellipsis,__debug__,quit,exit,copyright,license,credits,ArithmeticError,AssertionError,AttributeError,BaseException,BlockingIOError,BrokenPipeError,BufferError,BytesWarning,ChildProcessError,ConnectionAbortedError,ConnectionError,ConnectionRefusedError,ConnectionResetError,DeprecationWarning,EOFError,Ellipsis,EnvironmentError,Exception,FileExistsError,FileNotFoundError,FloatingPointError,FutureWarning,GeneratorExit,IOError,ImportError,ImportWarning,IndentationError,IndexError,InterruptedError,IsADirectoryError,KeyError,KeyboardInterrupt,LookupError,MemoryError,ModuleNotFoundError,NameError,NotADirectoryError,NotImplemented,NotImplementedError,OSError,OverflowError,PendingDeprecationWarning,PermissionError,ProcessLookupError,RecursionError,ReferenceError,ResourceWarning,RuntimeError,RuntimeWarning,StandardError,StopAsyncIteration,StopIteration,SyntaxError,SyntaxWarning,SystemError,SystemExit,TabError,TimeoutError,TypeError,UnboundLocalError,UnicodeDecodeError,UnicodeEncodeError,UnicodeError,UnicodeTranslateError,UnicodeWarning,UserWarning,ValueError,Warning,ZeroDivisionError,_,__build_class__,__debug__,__doc__,__import__,__loader__,__name__,__package__,__spec__,abs,all,any,apply,ascii,basestring,bin,bool,buffer,bytearray,bytes,callable,chr,classmethod,cmp,coerce,compile,complex,copyright,credits,delattr,dict,dir,divmod,enumerate,eval,exec,execfile,exit,file,filter,float,format,frozenset,getattr,globals,hasattr,hash,help,hex,id,input,int,intern,isinstance,issubclass,iter,len,license,list,locals,long,map,max,memoryview,min,next,object,oct,open,ord,pow,print,property,quit,range,raw_input,reduce,reload,repr,reversed,round,set,setattr,slice,sorted,staticmethod,str,sum,super,tuple,type,unichr,unicode,vars,xrange,zip"),nk.ORDER_ATOMIC=0,nk.ORDER_COLLECTION=1,nk.ORDER_STRING_CONVERSION=1,nk.ORDER_UNARY_POSTFIX=1,nk.ORDER_UNARY_PREFIX=2,nk.ORDER_MEMBER=2.1,nk.ORDER_FUNCTION_CALL=2.2,nk.ORDER_EXPONENTIATION=3,nk.ORDER_UNARY_SIGN=4,nk.ORDER_BITWISE_NOT=4,nk.ORDER_MULTIPLICATIVE=5,nk.ORDER_ADDITIVE=6,nk.ORDER_BITWISE_SHIFT=7,nk.ORDER_BITWISE_AND=8,nk.ORDER_BITWISE_XOR=9,nk.ORDER_BITWISE_OR=10,nk.ORDER_RELATIONAL=11,nk.ORDER_EQUALITY=11,nk.ORDER_LOGICAL_NOT=12,nk.ORDER_LOGICAL_AND=13,nk.ORDER_LOGICAL_OR=14,nk.ORDER_ASSIGNMENT=14,nk.ORDER_CONDITIONAL=15,nk.ORDER_LAMBDA=16,nk.ORDER_NONE=99,nk.ORDER_OVERRIDES=[[nk.ORDER_FUNCTION_CALL,nk.ORDER_MEMBER],[nk.ORDER_FUNCTION_CALL,nk.ORDER_FUNCTION_CALL],[nk.ORDER_MEMBER,nk.ORDER_MEMBER],[nk.ORDER_MEMBER,nk.ORDER_FUNCTION_CALL]],nk.init=function(){nk.PASS=this.INDENT+"pass\n",nk.definitions_=Object.create(null),nk.functionNames_=Object.create(null),nk.setups_=Object.create(null),nk.loops_=Object.create(null),nk.codeEnd_=Object.create(null),nk.variableDB_?nk.variableDB_.reset():nk.variableDB_=new Ye(nk.RESERVED_WORDS_)},nk.finish=function(e){""!==e&&(e=(e=e.replace(/\n/g,"\n")).replace(/\n\s+$/,"\n"));var t=[],i=[],n=[];for(var s in this.definitions_){var _=this.definitions_[s];0===s.indexOf("import")?t.push(_):0===s.indexOf("var_declare")?i.push(_):n.push(_)}t.length&&t.push("\n"),i.length&&i.push("\n"),n.length&&n.push("\n");var o=[];for(var s in nk.functions_)o.push(nk.functions_[s]);o.length&&o.push("\n");var p=[];for(var s in nk.setups_)p.push(nk.setups_[s]);p.length&&p.push("\n");var a=[];for(var s in nk.loops_)a.push(nk.loops_[s]);var u=[];for(var s in nk.codeEnd_)u.push(nk.codeEnd_[s]);0!==u.length&&u.push("\n");let r="";return r=a.length>0?t.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+e+"while True:\n"+a.join("")+u.join("\n"):t.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+e+u.join("\n"),r},nk.scrubNakedValue=function(e){return e+"\n"},nk.quote_=function(e){var t="'";return-1!==(e=e.replace(/\\/g,"\\\\").replace(/\n/g,"\\\n")).indexOf("'")&&(-1===e.indexOf('"')?t='"':e=e.replace(/'/g,"\\'")),t+e+t},nk.multiline_quote_=function(e){return"'''"+(e=e.replace(/'''/g,"\\'\\'\\'"))+"'''"},nk.scrub_=function(e,t,i){var n="";if(!e.outputConnection||!e.outputConnection.targetConnection){(_=e.getCommentText())&&(_=Ne.utils.string.wrap(_,nk.COMMENT_WRAP-3),n+=nk.prefixLines(_+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const sk={};sk["MixGo MINI"]={description:"MicroPython[ESP32C3 MixGo MINI]",digital_pin:De.Profile.generate(["0-10","18"]),input_pin:De.Profile.generate(["0-10","18"]),output_pin:De.Profile.generate(["0-10","18"]),pwm_input:De.Profile.generate(["0-10","18"],"pwm","pwm"),analog_input:De.Profile.generate(["0-4"],"adc","adc"),pwm_output:De.Profile.generate(["0-10","18"],"pwm","pwm"),analog_output:De.Profile.generate(["0-4"],"adc","adc"),espnow_channel:De.Profile.generate(["1-13"]),haskylens_model:De.Profile.generate(["0-4"]),digital:De.Profile.generate(["0-10","18"],"pin","pin"),pwm_pin:De.Profile.generate(["0-10","18"]),pwm:De.Profile.generate(["0-10","18"],"pwm","pwm"),analog_pin:De.Profile.generate(["0-4"]),analog:De.Profile.generate(["0-4"],"adc","adc"),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:De.Profile.generate(["0-4"]),exlcdh:De.Profile.generate(["0-11"]),exlcdv:De.Profile.generate(["0-7"]),brightness:De.Profile.generate(["0-9"]),tts_voice:De.Profile.generate(["0-16"]),tts_builtin_music:De.Profile.generate(["0-47"]),tts_bgmusic:De.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["ANGRY","onboard_matrix.ANGRY"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["DOOR_OPEN","onboard_matrix.DOOR_OPEN"],["DOOR_OPENING","onboard_matrix.DOOR_OPENING"],["DOOR_CLOSE","onboard_matrix.DOOR_CLOSE"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["BIRTHDAY","onboard_music.BIRTHDAY"],["BA_DING","onboard_music.BA_DING"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]},sk["ESP32C2 Generic(2M)"]={description:"MicroPython[ESP32C3 MixGo CC]",digital_pin:De.Profile.generate(["0-11","18-21"]),input_pin:De.Profile.generate(["0-11","18-21"]),output_pin:De.Profile.generate(["0-11","18-21"]),pwm_input:De.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_input:De.Profile.generate(["0-5"],"adc","adc"),pwm_output:De.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_output:De.Profile.generate(["0-5"],"adc","adc"),espnow_channel:De.Profile.generate(["1-13"]),haskylens_model:De.Profile.generate(["0-4"]),digital:De.Profile.generate(["0-11","18-21"],"pin","pin"),pwm_pin:De.Profile.generate(["0-11","18-21"]),pwm:De.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_pin:De.Profile.generate(["0-5"]),analog:De.Profile.generate(["0-5"],"adc","adc"),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:De.Profile.generate(["0-4"]),exlcdh:De.Profile.generate(["0-31"]),exlcdv:De.Profile.generate(["0-11"]),brightness:De.Profile.generate(["0-9"]),tts_voice:De.Profile.generate(["0-16"]),tts_builtin_music:De.Profile.generate(["0-47"]),tts_bgmusic:De.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]};const _k=sk,ok=20,pk={init:function(){this.setColour(ok),this.appendDummyInput("").appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_HIGH,"HIGH"],[Ne.Msg.MIXLY_LOW,"LOW"]]),"BOOL"),this.setOutput(!0,Boolean),this.setTooltip(Ne.Msg.MIXLY_ESP32_INOUT_HIGHLOW_TOOLTIP)}},ak={init:function(){this.setColour(ok),this.appendValueInput("PIN",Number).appendField(Ne.Msg.MIXLY_Digital_PINMODEOUT).setCheck(Number),this.appendValueInput("STAT").appendField(Ne.Msg.MIXLY_STAT).setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_INOUT_DIGITAL_WRITE_TOOLTIP)}},uk={init:function(){this.setColour(ok),this.appendValueInput("PIN",Number).appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Ne.Msg.MIXLY_Digital_PINMODEIN).setCheck(Number),this.appendDummyInput().appendField(Ne.Msg.MIXLY_ESP32_MACHINE_VALUE),this.setInputsInline(!0),this.setOutput(!0,[Boolean,Number]),this.setTooltip(Ne.Msg.MIXLY_ESP32_INOUT_DIGITAL_READ_TOOLTIP)}},rk={init:function(){this.setColour(ok),this.appendValueInput("PIN",Number).appendField("DAC"+Ne.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendValueInput("NUM",Number).appendField(Ne.Msg.MIXLY_VALUE2).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Ne.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_TOOLTIP)}},dk={init:function(){this.setColour(ok),this.appendValueInput("PIN",Number).appendField(Ne.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_JS_PERIOD_MIL).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_mSecond,"period"],[Ne.Msg.MIXLY_uSecond,"period_microseconds"]]),"key"),this.appendValueInput("NUM",Number).appendField(Ne.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Ne.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_SET_TOOLTIP)}},lk={init:function(){this.setColour(ok),this.appendValueInput("PIN",Number).appendField(Ne.Msg.MIXLY_Analog_PINMODEIN).setCheck(Number),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_ESP32_REF_VOLTAGE+Ne.Msg.MIXLY_STAT).appendField(new Ne.FieldDropdown([["3.3V","machine.ADC.ATTN_11DB"],["1.2V","machine.ADC.ATTN_0DB"]]),"atten"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Ne.Msg.MIXLY_ESP32_INOUT_ANALOG_ATTEN_TOOLTIP)}},Ik={init:function(){this.setColour(ok),this.appendValueInput("pin").appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Ne.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendDummyInput().appendField(Ne.Msg.MIXLY_ESP32_MACHINE_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_INOUT_PIN_PRESSED_TOOLTIP)}},Tk={init:function(){this.setColour(20),this.appendValueInput("PIN",Number).appendField(Ne.Msg.MIXLY_ATTACHINTERRUPT_PIN).setCheck(Number),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_MODE).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[Ne.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[Ne.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(Ne.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_INOUT_PIN_ATTACHINTERRUPT_TOOLTIP)}},Mk={init:function(){this.setColour(20),this.appendDummyInput().appendField(Ne.Msg.MIXLY_SETUP).appendField(new Ne.FieldTextInput("pin#"),"PIN_OBJ"),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_MICROPYTHON_AS).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_Digital_PINMODEOUT,"machine.Pin.OUT"],[Ne.Msg.MIXLY_Digital_PINMODEIN,"machine.Pin.IN"],[Ne.Msg.MIXLY_PINMODEPULLUP,"machine.Pin.IN, machine.Pin.PULL_UP"],[Ne.Msg.MIXLY_PINMODEPULLDOWN,"machine.Pin.IN, machine.Pin.PULL_DOWN"]]),"MODE"),this.appendValueInput("PIN",Number).appendField(Ne.Msg.MIXLY_PIN).setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_INOUT_DIGITAL_INIT_TOOLTIP)},getVars:function(){return["pin#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(e,t){Ne.Names.equals(e,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(t,"PIN_OBJ")}},hk={init:function(){this.setColour(ok),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_SETUP).appendField(new Ne.FieldTextInput("dac#"),"PIN_OBJ").appendField(Ne.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField("DAC"+Ne.Msg.MIXLY_Analog_PINMODEOUT),this.appendValueInput("PIN",Number).appendField(Ne.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Ne.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_INIT_TOOLTIP)},getVars:function(){return["dac#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(e,t){Ne.Names.equals(e,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(t,"PIN_OBJ")}},mk={init:function(){this.setColour(ok),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_SETUP).appendField(new Ne.FieldTextInput("tc#"),"PIN_OBJ").appendField(Ne.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendValueInput("PIN",Number).appendField(Ne.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Ne.Msg.MIXLY_ESP32_INOUT_PIN_PRESSED_INIT_TOOLTIP)},getVars:function(){return["tc#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(e,t){Ne.Names.equals(e,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(t,"PIN_OBJ")}},Ek={init:function(){this.setColour(ok),this.appendValueInput("PIN",Number).appendField("PWM"+Ne.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendValueInput("NUM",Number).appendField(Ne.Msg.MIXLY_FREQUENCY+Ne.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Ne.Msg.MIXLY_ESP32_INOUT_PWM_ANALOG_WRITE_SET_FREQ_TOOLTIP)}},Ok=Mk,Rk=mk,ck=Ik,gk=Tk,Ck=40,Sk={init:function(){if("mixgo_me"==De.Boards.getSelectedBoardKey().split(":")[2])var e="ME G1";this.setColour(Ck),this.appendDummyInput("").appendField(e).appendField(Ne.Msg.MIXLY_TEM_HUM+" AHT21").appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_GETTEMPERATUE,"temperature"],[Ne.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{temperature:Ne.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,relative_humidity:Ne.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},Ak={init:function(){if("mixgo_me"==De.Boards.getSelectedBoardKey().split(":")[2])var e="ME G1";this.setColour(Ck),this.appendDummyInput("").appendField(e).appendField(Ne.Msg.MIXLY_Altitude+Ne.Msg.MSG.catSensor+" HP203X").appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_GETPRESSURE,"pressure()"],[Ne.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[Ne.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Lk={init:function(){if("mixgo_me"==De.Boards.getSelectedBoardKey().split(":")[2])var e="ME G1";this.setColour(Ck),this.appendDummyInput().appendField(e).appendField(Ne.Msg.MIXLY_MIXGO_NOVA_POTENTIAL_NUM),this.setOutput(!0,Number),this.setInputsInline(!0)}},Nk={init:function(){if("mixgo_me"==De.Boards.getSelectedBoardKey().split(":")[2])var e="ME G1";this.setColour(Ck),this.appendDummyInput().appendField(e).appendField("RFID"+Ne.Msg.MIXLY_RFID_READ_CARD),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_RFID_READ_CARD_UID),this.appendDummyInput().appendField(`(${Ne.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0,Number),this.setInputsInline(!0),this.setWarningText(Ne.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Dk={init:function(){if("mixgo_me"==De.Boards.getSelectedBoardKey().split(":")[2])var e="ME G1";this.setColour(Ck),this.appendDummyInput().appendField(e).appendField("RFID"+Ne.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SECTOR").appendField(Ne.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL),this.appendDummyInput().appendField(`(${Ne.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0,Number),this.setInputsInline(!0),this.setWarningText(Ne.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},fk={init:function(){if("mixgo_me"==De.Boards.getSelectedBoardKey().split(":")[2])var e="ME G1";this.setColour(Ck),this.appendDummyInput().appendField(e).appendField(Ne.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SECTOR").appendField(Ne.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(Ne.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(`(${Ne.Msg.MIXLY_DEPRECATED})`),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setWarningText(Ne.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Fk={init:function(){if("mixgo_me"==De.Boards.getSelectedBoardKey().split(":")[2])var e="ME G1";this.setColour(Ck),this.appendDummyInput().appendField(e).appendField(Ne.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SECTOR").appendField(Ne.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(Ne.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(Ne.Msg.RETURN_SUCCESS_OR_NOT),this.appendDummyInput().appendField(`(${Ne.Msg.MIXLY_DEPRECATED})`),this.setInputsInline(!0),this.setOutput(!0),this.setWarningText(Ne.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Pk={init:function(){if("mixgo_me"==De.Boards.getSelectedBoardKey().split(":")[2])var e="ME G1";this.setColour(Ck),this.appendDummyInput().appendField(e).appendField("RFID"),this.appendDummyInput("").appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_RFID_SCAN_OK,"True"],[Ne.Msg.MIXLY_RFID_SCAN_NOTAGERR,"None"],[Ne.Msg.MIXLY_RFID_SCAN_ERROR,"False"]]),"key"),this.appendDummyInput().appendField(`(${Ne.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0,Number),this.setInputsInline(!0),this.setWarningText(Ne.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Yk=100,vk={init:function(){this.setColour(Yk),this.appendDummyInput("").appendField(new Ne.FieldDropdown([[Ne.Msg.MIXGO_LEFT_FRONT+Ne.Msg.COLOUR_RGB_GREEN+Ne.Msg.MIXLY_EXTERN_LED,"GLED[0]"],[Ne.Msg.MIXGO_RIGHT_FRONT+Ne.Msg.COLOUR_RGB_GREEN+Ne.Msg.MIXLY_EXTERN_LED,"GLED[1]"],[Ne.Msg.MIXGO_LEFT_BACK+Ne.Msg.COLOUR_RGB_GREEN+Ne.Msg.MIXLY_EXTERN_LED,"GLED[3]"],[Ne.Msg.MIXGO_RIGHT_BACK+Ne.Msg.COLOUR_RGB_GREEN+Ne.Msg.MIXLY_EXTERN_LED,"GLED[2]"],[Ne.Msg.MIXGO_LEFT_FRONT+Ne.Msg.COLOUR_RGB_RED+Ne.Msg.MIXLY_EXTERN_LED,"RLED[0]"],[Ne.Msg.MIXGO_RIGHT_FRONT+Ne.Msg.COLOUR_RGB_RED+Ne.Msg.MIXLY_EXTERN_LED,"RLED[1]"],[Ne.Msg.MIXGO_LEFT_BACK+Ne.Msg.COLOUR_RGB_RED+Ne.Msg.MIXLY_EXTERN_LED,"RLED[3]"],[Ne.Msg.MIXGO_RIGHT_BACK+Ne.Msg.COLOUR_RGB_RED+Ne.Msg.MIXLY_EXTERN_LED,"RLED[2]"],[Ne.Msg.ME_GO_LIGHT_HEADLIGHT,"WLED"]]),"op"),this.setOutput(!0)}},Xk={init:function(){this.setColour(Yk),this.appendDummyInput().appendField(Ne.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField("ME GO"),this.appendValueInput("bright").appendField(Ne.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_LED_SETONOFF)}},yk={init:function(){this.setColour(Yk),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField("ME GO"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_LED_GETONOFF)}},xk={init:function(){this.setColour(Yk),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField("ME GO"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_LED_GETONOFF)}},bk={init:function(){this.setColour(Yk),this.appendDummyInput().appendField(Ne.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField("ME GO"),this.appendValueInput("bright").appendField(Ne.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_SETTING+Ne.Msg.MIXLY_BUILDIN_LED+Ne.Msg.MIXLY_BRIGHTNESS+"(0-10)")}},Vk={init:function(){this.setColour(Yk),this.appendDummyInput().appendField("ME GO").appendField(new Ne.FieldDropdown([[Ne.Msg.blockpy_forward,"F"],[Ne.Msg.blockpy_backward,"B"],[Ne.Msg.blockpy_left,"L"],[Ne.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Bk={init:function(){this.setColour(Yk),this.appendDummyInput().appendField("ME GO").appendField(new Ne.FieldDropdown([[Ne.Msg.MOTOR_P,"P"],[Ne.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Gk={init:function(){this.setColour(Yk),this.appendDummyInput().appendField("ME GO").appendField(Ne.Msg.MOTOR_DC).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLYCAR_WHEEL_LEFT,"0"],[Ne.Msg.MIXLYCAR_WHEEL_RIGHT,"1"],[Ne.Msg.ME_GO_MOTOR_EXTERN,"2"]]),"wheel"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_Direction).appendField(new Ne.FieldDropdown([[Ne.Msg.ROTATION_FORWARD,"CW"],[Ne.Msg.ROTATION_BACKWARD,"CCW"],[Ne.Msg.MOTOR_P,"P"],[Ne.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Uk={init:function(){this.setColour(Yk),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_ESP32_INTERRUPT).appendField(Ne.Msg.ME_GO_HALL_SENSOR),this.appendDummyInput("").appendField(new Ne.FieldDropdown([[Ne.Msg.TEXT_TRIM_LEFT,"A"],[Ne.Msg.TEXT_TRIM_RIGHT,"B"]]),"mode"),this.appendValueInput("DO").appendField(Ne.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},wk={init:function(){this.setColour(Yk),this.appendDummyInput("").appendField(Ne.Msg.ME_GO_HALL_SENSOR),this.appendDummyInput("").appendField(new Ne.FieldDropdown([[Ne.Msg.TEXT_TRIM_LEFT,"A"],[Ne.Msg.TEXT_TRIM_RIGHT,"B"]]),"mode"),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_SETUP),this.appendDummyInput("").appendField(new Ne.FieldDropdown([["turns","turns"],["distance","distance"],["turns,distance","all"]]),"args"),this.appendValueInput("num").setCheck(Number),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Hk={init:function(){this.setColour(Yk),this.appendDummyInput("").appendField(Ne.Msg.ME_GO_HALL_SENSOR),this.appendDummyInput("").appendField(new Ne.FieldDropdown([[Ne.Msg.TEXT_TRIM_LEFT,"A"],[Ne.Msg.TEXT_TRIM_RIGHT,"B"]]),"mode"),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput("").appendField(new Ne.FieldDropdown([["turns","turns"],["distance","distance"],["speed","speed"]]),"args"),this.setOutput(!0),this.setInputsInline(!0)}},kk={init:function(){this.setColour(Yk),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new Ne.FieldDropdown([[Ne.Msg.TEXT_TRIM_LEFT,"[0]"],[Ne.Msg.MIXGO_LEFT_MID,"[1]"],[Ne.Msg.MIXGO_RIGHT_MID,"[2]"],[Ne.Msg.TEXT_TRIM_RIGHT,"[3]"],[Ne.Msg.MIXLY_ALL,""]]),"key").appendField(Ne.Msg.MIXGO_LINE_SENSOR_VAL),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip((function(){return Ne.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP+Ne.Msg.MIXLY_ESP32_NEAR}))}},Wk={init:function(){this.setColour(Yk),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXGO_LEFT_FRONT,"[0]"],[Ne.Msg.MIXGO_RIGHT_FRONT,"[1]"],[Ne.Msg.MIXGO_LEFT_BACK,"[3]"],[Ne.Msg.MIXGO_RIGHT_BACK,"[2]"],[Ne.Msg.MIXLY_ALL,""]]),"key").appendField(Ne.Msg.MIXGO_PROXIMITY_SENSOR),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip((function(){return Ne.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP+Ne.Msg.MIXLY_ESP32_NEAR}))}},Kk={init:function(){this.setColour(Yk),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MIXGO_CAR_SENSOR_ONBOARD_CHANGE).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_ME_GO_CAR_SENSOR_ONBOARD_AUTO_CHANGE,"AS"],[Ne.Msg.MIXLY_MIXGO_CAR_USE_LINE_ONLY,"LP"],[Ne.Msg.MIXLY_MIXGO_CAR_USE_PROXIMITY_ONLY,"OA"],[Ne.Msg.MIXLY_ME_GO_CAR_LIGHT_SEEKING_ONLY,"LS"],[Ne.Msg.ME_GO_SENSOR_MODE_OFF,"CL"]]),"key"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Jk={init:function(){this.setColour(Yk),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_GET_GESTURE).appendField(new Ne.FieldDropdown([[Ne.Msg.ME_GO_PITCH,"[0]"],[Ne.Msg.ME_GO_ROLL,"[1]"],[Ne.Msg.ME_GO_PITCH+", "+Ne.Msg.ME_GO_ROLL,""]]),"angle"),this.appendDummyInput(""),this.setOutput(!0,Number),this.setInputsInline(!0)}},Qk={init:function(){this.setColour(Yk),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new Ne.FieldDropdown([[Ne.Msg.TEXT_TRIM_LEFT,"[0]"],[Ne.Msg.MIXGO_LEFT_MID,"[1]"],[Ne.Msg.MIXGO_RIGHT_MID,"[2]"],[Ne.Msg.TEXT_TRIM_RIGHT,"[3]"],[Ne.Msg.MIXLY_ALL,""]]),"key").appendField(Ne.Msg.MIXLY_ME_GO_CAR_LIGHT_SEEKING_SENSOR),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip((function(){return Ne.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP+Ne.Msg.MIXLY_ME_GO_CAR_LIGHT_SEEKING_SENSOR}))}},qk=230,zk={init:function(){this.setColour(qk),this.appendDummyInput("").appendField(new Ne.FieldDropdown(De.Profile.default.digital),"PIN"),this.setOutput(!0)}},jk={init:function(){this.setColour(qk),this.appendDummyInput("").appendField(new Ne.FieldDropdown(De.Profile.default.digital_pin),"PIN"),this.setOutput(!0,Number)}},$k={init:function(){this.setColour(qk),this.appendDummyInput("").appendField(new Ne.FieldDropdown(De.Profile.default.input_pin),"PIN"),this.setOutput(!0,Number)}},Zk={init:function(){this.setColour(qk),this.appendDummyInput("").appendField(new Ne.FieldDropdown(De.Profile.default.output_pin),"PIN"),this.setOutput(!0,Number)}},eW={init:function(){this.setColour(qk),this.appendDummyInput("").appendField(new Ne.FieldDropdown(De.Profile.default.espnow_channel),"PIN"),this.setOutput(!0,Number)}},tW={init:function(){this.setColour(qk),this.appendDummyInput("").appendField(new Ne.FieldDropdown(De.Profile.default.haskylens_model),"PIN"),this.setOutput(!0,Number)}},iW={init:function(){this.setColour(qk),this.appendDummyInput("").appendField(new Ne.FieldDropdown(De.Profile.default.pwm_input),"PIN"),this.setOutput(!0)}},nW={init:function(){this.setColour(qk),this.appendDummyInput("").appendField(new Ne.FieldDropdown(De.Profile.default.analog_input),"PIN"),this.setOutput(!0)}},sW={init:function(){this.setColour(qk),this.appendDummyInput("").appendField(new Ne.FieldDropdown(De.Profile.default.pwm_output),"PIN"),this.setOutput(!0)}},_W={init:function(){this.setColour(qk),this.appendDummyInput("").appendField(new Ne.FieldDropdown(De.Profile.default.analog_output),"PIN"),this.setOutput(!0)}},oW={init:function(){this.setColour(qk),this.appendDummyInput("").appendField(new Ne.FieldDropdown(De.Profile.default.i2c_A_pin),"PIN"),this.setOutput(!0,Number)}},pW={init:function(){this.setColour(qk),this.appendDummyInput("").appendField(new Ne.FieldDropdown(De.Profile.default.i2c_B_pin),"PIN"),this.setOutput(!0,Number)}},aW={init:function(){this.setColour(qk),this.appendDummyInput("").appendField(new Ne.FieldDropdown(De.Profile.default.spi_A_pin),"PIN"),this.setOutput(!0,Number)}},uW={init:function(){this.setColour(qk),this.appendDummyInput("").appendField(new Ne.FieldDropdown(De.Profile.default.spi_B_pin),"PIN"),this.setOutput(!0,Number)}},rW={init:function(){this.setColour(qk),this.appendDummyInput("").appendField(new Ne.FieldDropdown(De.Profile.default.spi_C_pin),"PIN"),this.setOutput(!0,Number)}},dW={init:function(){this.setColour(qk),this.appendDummyInput("").appendField(new Ne.FieldDropdown(De.Profile.default.spi_D_pin),"PIN"),this.setOutput(!0,Number)}},lW={init:function(){this.setColour(qk),this.appendDummyInput("").appendField(new Ne.FieldDropdown(De.Profile.default.analog),"PIN"),this.setOutput(!0)}},IW={init:function(){this.setColour(qk),this.appendDummyInput("").appendField(new Ne.FieldDropdown(De.Profile.default.analog_pin),"PIN"),this.setOutput(!0,Number)}},TW={init:function(){this.setColour(qk),this.appendDummyInput("").appendField(new Ne.FieldDropdown(De.Profile.default.dac),"PIN"),this.setOutput(!0)}},MW={init:function(){this.setColour(qk),this.appendDummyInput("").appendField(new Ne.FieldDropdown(De.Profile.default.dac_pin),"PIN"),this.setOutput(!0,Number)}},hW={init:function(){this.setColour(qk),this.appendDummyInput("").appendField(new Ne.FieldDropdown(De.Profile.default.button),"PIN"),this.setOutput(!0,Number)}},mW={init:function(){this.setColour(qk),this.appendDummyInput("").appendField(new Ne.FieldDropdown(De.Profile.default.buttonB),"PIN"),this.setOutput(!0,Number)}},EW={init:function(){this.setColour(qk),this.appendDummyInput("").appendField(new Ne.FieldDropdown(De.Profile.default.pwm),"PIN"),this.setOutput(!0)}},OW={init:function(){this.setColour(qk),this.appendDummyInput("").appendField(new Ne.FieldDropdown(De.Profile.default.pwm_pin),"PIN"),this.setOutput(!0,Number)}},RW={init:function(){this.setColour(qk),this.appendDummyInput("").appendField(new Ne.FieldDropdown(De.Profile.default.touch_pin),"PIN"),this.setOutput(!0,Number)}},cW={init:function(){this.setColour(qk),this.appendDummyInput("").appendField(new Ne.FieldDropdown(De.Profile.default.touch),"PIN"),this.setOutput(!0)}},gW={init:function(){this.setColour(qk),this.appendDummyInput("").appendField(new Ne.FieldDropdown(De.Profile.default.serial_pin),"PIN"),this.setOutput(!0,Number)}},CW={init:function(){this.setColour(qk),this.appendDummyInput("").appendField(new Ne.FieldDropdown(De.Profile.default.builtinimg),"PIN"),this.setOutput(!0,"esp32_image")}},SW={init:function(){this.setColour(qk),this.appendDummyInput("").appendField(new Ne.FieldDropdown(De.Profile.default.builtinimg_extern),"PIN"),this.setOutput(!0,"esp32_image")}},AW={init:function(){this.setColour(qk),this.appendDummyInput("").appendField(new Ne.FieldDropdown(De.Profile.default.imglist),"PIN"),this.setOutput(!0)}},LW={init:function(){this.setColour(qk),this.appendDummyInput("").appendField(new Ne.FieldDropdown(De.Profile.default.playlist),"PIN"),this.setOutput(!0)}},NW={init:function(){this.setColour(qk),this.appendDummyInput("").appendField(new Ne.FieldDropdown(De.Profile.default.playlist_extern),"PIN"),this.setOutput(!0)}},DW={init:function(){this.setColour(qk),this.appendDummyInput("").appendField(new Ne.FieldDropdown(De.Profile.default.exlcdh),"PIN"),this.setOutput(!0,Number)}},fW={init:function(){this.setColour(qk),this.appendDummyInput("").appendField(new Ne.FieldDropdown(De.Profile.default.exlcdv),"PIN"),this.setOutput(!0,Number)}},FW={init:function(){this.setColour(qk),this.appendDummyInput("").appendField(new Ne.FieldDropdown(De.Profile.default.axis),"PIN"),this.setOutput(!0,Number)}},PW={init:function(){this.setColour(qk),this.appendDummyInput("").appendField(new Ne.FieldDropdown(De.Profile.default.brightness),"PIN"),this.setOutput(!0,Number)}},YW={init:function(){this.setColour(qk),this.appendDummyInput("").appendField(new Ne.FieldDropdown(De.Profile.default.tts_voice),"PIN"),this.setOutput(!0,Number)}},vW={init:function(){this.setColour(qk),this.appendDummyInput("").appendField(new Ne.FieldDropdown(De.Profile.default.tts_builtin_music),"PIN"),this.setOutput(!0,Number)}},XW={init:function(){this.setColour(qk),this.appendDummyInput("").appendField(new Ne.FieldDropdown(De.Profile.default.tts_bgmusic),"PIN"),this.setOutput(!0,Number)}},yW={init:function(){this.setColour(qk),this.appendDummyInput("").appendField(new Ne.FieldDropdown(De.Profile.default.tone_notes),"PIN"),this.setOutput(!0,Number)}},xW={init:function(){this.setColour(qk),this.appendDummyInput("").appendField(new Ne.FieldDropdown(De.Profile.default.radio_power),"PIN"),this.setOutput(!0,Number)}},bW={init:function(){this.setColour(qk),this.appendDummyInput("").appendField(new Ne.FieldDropdown(De.Profile.default.radio_datarate),"PIN"),this.setOutput(!0,Number)}},VW={init:function(){this.setColour(qk),this.appendDummyInput("").appendField(new Ne.FieldDropdown(De.Profile.default.one_more),"PIN"),this.setOutput(!0)}},BW={init:function(){this.setColour(qk),this.appendDummyInput("").appendField(new Ne.FieldDropdown(De.Profile.default.digital_dot),"PIN"),this.setOutput(!0,Number)}},GW={init:function(){this.setColour(qk),this.appendDummyInput("").appendField(new Ne.FieldDropdown([["0","0"]]),"PIN"),this.setOutput(!0,Number)}},UW=function(e,t){const i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"PIN",t.ORDER_ATOMIC),s=t.valueToCode(this,"LEDCOUNT",t.ORDER_ATOMIC);t.definitions_.import_machine="import machine",t.definitions_.import_ws2812x_NeoPixel="from ws2812x import NeoPixel";return`${i} = NeoPixel(machine.Pin(${n}), ${s})\n`},wW=function(e,t){return["HIGH"==this.getFieldValue("BOOL")?"1":"0",t.ORDER_ATOMIC]},HW=function(e,t){t.definitions_.import_machine="import machine";var i="";return i+=t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+".value("+t.valueToCode(this,"STAT",t.ORDER_ATOMIC)+")\n"},kW=function(e,t){t.definitions_.import_machine="import machine";return[t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+".value()",t.ORDER_ATOMIC]},WW=function(e,t){return t.definitions_.import_machine="import machine",t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+".write("+t.valueToCode(this,"NUM",t.ORDER_ATOMIC)+")\n"},KW=function(e,t){t.definitions_.import_machine="import machine";var i=t.valueToCode(this,"PIN",t.ORDER_ATOMIC),n=t.valueToCode(this,"NUM",t.ORDER_ATOMIC);return i+".set_analog_"+this.getFieldValue("key")+"("+n+")\n"},JW=function(e,t){return t.definitions_.import_machine="import machine",[t.valueToCode(this,"pin",t.ORDER_ATOMIC)+".read()",t.ORDER_ATOMIC]},QW=function(e,t){t.definitions_.import_machine="import machine";var i=t.valueToCode(this,"PIN",t.ORDER_ATOMIC),n=this.getFieldValue("mode");return"machine.Pin("+i+").irq(handler = "+t.valueToCode(this,"DO",t.ORDER_ATOMIC)+", trigger = "+n+")\n"},qW=function(e,t){t.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"pin#",n=t.valueToCode(this,"PIN",t.ORDER_ATOMIC),s=this.getFieldValue("MODE");return("pin#"==i?"pin"+n:t.variableDB_.getName(i,Ne.Variables.NAME_TYPE))+" = machine.Pin("+n+", "+s+")\n"},zW=function(e,t){t.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"dac#",n=t.valueToCode(this,"PIN",t.ORDER_ATOMIC);return("dac#"==i?"dac"+n:t.variableDB_.getName(i,Ne.Variables.NAME_TYPE))+" = machine.DAC(machine.Pin("+n+"))\n"},jW=function(e,t){return t.definitions_.import_machine="import machine",t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+".atten("+this.getFieldValue("atten")+")\n"},$W=function(e,t){t.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"tc#",n=t.valueToCode(this,"PIN",t.ORDER_ATOMIC);return("tc#"==i?"tc"+n:t.variableDB_.getName(i,Ne.Variables.NAME_TYPE))+" = machine.TouchPad(machine.Pin("+n+"))\n"},ZW=function(e,t){var i=this.getFieldValue("key");return t.definitions_.import_mini_g2="import mini_g2",["mini_g2.ext_ahtx0."+i+"()",t.ORDER_ATOMIC]},eK=function(e,t){var i=this.getFieldValue("key");return t.definitions_.import_mini_g2="import mini_g2",["mini_g2.ext_hp203x."+i,t.ORDER_ATOMIC]},tK=function(e,t){t.definitions_.import_mini_g2="import mini_g2";return["mini_g2.varistor()",t.ORDER_ATOMIC]},iK=function(e,t){t.definitions_.import_mini_g2="import mini_g2";var i=De.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_mini"==i){t.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var n='ext_rfid.read_card(0, x="id")'}else{t.definitions_["import_"+i+"_onboard_rfid"]="from "+i+" import onboard_rfid";n='onboard_rfid.read_card(0, x="id")'}return[n,t.ORDER_ATOMIC]},nK=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"SECTOR",t.ORDER_ATOMIC);if("mixgo_mini"==i){t.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var s="ext_rfid.read_card("+n+")"}else{t.definitions_["import_"+i+"_onboard_rfid"]="from "+i+" import onboard_rfid";s="onboard_rfid.read_card("+n+', x="content")'}return[s,t.ORDER_ATOMIC]},sK=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"SECTOR",t.ORDER_ATOMIC),s=t.valueToCode(this,"CONTENT",t.ORDER_ATOMIC);if("mixgo_mini"==i){t.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var _="ext_rfid.write_card("+s+","+n+")\n"}else{t.definitions_["import_"+i+"_onboard_rfid"]="from "+i+" import onboard_rfid";_="onboard_rfid.write_card("+s+", "+n+")\n"}return _},_K=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"SECTOR",t.ORDER_ATOMIC),s=t.valueToCode(this,"CONTENT",t.ORDER_ATOMIC);if("mixgo_mini"==i){t.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var _="ext_rfid.write_card("+s+","+n+")"}else{t.definitions_["import_"+i+"_onboard_rfid"]="from "+i+" import onboard_rfid";_="onboard_rfid.write_card("+s+", "+n+")"}return[_,t.ORDER_ATOMIC]},oK=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2],n=this.getFieldValue("key");if("mixgo_mini"==i){t.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var s="ext_rfid.scan_card()=="+n}else{t.definitions_["import_"+i+"_onboard_rfid"]="from "+i+" import onboard_rfid";s="onboard_rfid.scan_card()=="+n}return[s,t.ORDER_ATOMIC]},pK=function(e,t){return t.definitions_.import_me_go_car="from me_go import car",["car."+this.getFieldValue("op"),t.ORDER_ATOMIC]},aK=function(e,t){var i=t.valueToCode(this,"led",t.ORDER_ATOMIC);return t.definitions_.import_me_go_car="from me_go import car","car.setonoff("+i+","+t.valueToCode(this,"bright",t.ORDER_ATOMIC)+")\n"},uK=function(e,t){var i=t.valueToCode(this,"led",t.ORDER_ATOMIC);return t.definitions_.import_me_go_car="from me_go import car",["car.getrightness("+i+")",t.ORDER_ATOMIC]},rK=function(e,t){var i=t.valueToCode(this,"led",t.ORDER_ATOMIC);return t.definitions_.import_me_go_car="from me_go import car",["car.getonoff("+i+")",t.ORDER_ATOMIC]},dK=function(e,t){var i=t.valueToCode(this,"led",t.ORDER_ATOMIC);return t.definitions_.import_me_go_car="from me_go import car","car.setbrightness("+i+","+t.valueToCode(this,"bright",t.ORDER_ATOMIC)+")\n"},lK=function(e,t){var i=this.getFieldValue("VAR");return t.definitions_.import_me_go_car="from me_go import car",'car.move("'+i+'",'+t.valueToCode(this,"speed",t.ORDER_ASSIGNMENT)+")\n"},IK=function(e,t){var i=this.getFieldValue("VAR");return t.definitions_.import_me_go_car="from me_go import car",'car.move("'+i+'")\n'},TK=function(e,t){var i=this.getFieldValue("wheel");t.definitions_.import_me_go_car="from me_go import car";var n=this.getFieldValue("direction");return 0==i&&("CW"==n?n="CCW":"CCW"==n&&(n="CW")),"car.motor(car.MOTO["+i+'],"'+n+'",'+t.valueToCode(this,"speed",t.ORDER_ATOMIC)+")\n"},MK=function(e,t){var i=this.getFieldValue("mode");return t.definitions_["import_me_go_hall_"+i]="from me_go import hall_"+i,"hall_"+i+".irq_cb("+t.valueToCode(this,"DO",t.ORDER_ATOMIC)+")\n"},hK=function(e,t){var i=this.getFieldValue("mode"),n=this.getFieldValue("args");t.definitions_["import_me_go_hall_"+i]="from me_go import hall_"+i;var s=t.valueToCode(this,"num",t.ORDER_ATOMIC);return"all"==n?"hall_"+i+".initial(turns="+s+",distance="+s+")\n":"hall_"+i+".initial("+n+"="+s+")\n"},mK=function(e,t){var i=this.getFieldValue("mode"),n=this.getFieldValue("args");return t.definitions_["import_me_go_hall_"+i]="from me_go import hall_"+i,["hall_"+i+"."+n,t.ORDER_ATOMIC]},EK=function(e,t){var i=this.getFieldValue("key");return t.definitions_.import_me_go_hall="from me_go import car",["car.patrol()"+i,t.ORDER_ATOMIC]},OK=function(e,t){var i=this.getFieldValue("key");return t.definitions_.import_me_go_hall="from me_go import car",["car.obstacle()"+i,t.ORDER_ATOMIC]},RK=function(e,t){var i=this.getFieldValue("key");return t.definitions_.import_me_go_hall="from me_go import car","car.ir_mode(car."+i+")\n"},cK=function(e,t){return t.definitions_.import_mixgo_me_onboard_mxc6655xa="from mixgo_me import onboard_mxc6655xa",["onboard_mxc6655xa.eulerangles(upright=True)"+this.getFieldValue("angle"),t.ORDER_ATOMIC]},gK=function(e,t){var i=this.getFieldValue("key");return t.definitions_.import_me_go_hall="from me_go import car",["car.light()"+i,t.ORDER_ATOMIC]},CK=function(e,t){return[this.getFieldValue("PIN"),t.ORDER_ATOMIC]},SK=CK,AK=CK,LK=CK,NK=CK,DK=CK,fK=CK,FK=CK,PK=CK,YK=CK,vK=CK,XK=CK,yK=CK,xK=CK,bK=CK,VK=CK,BK=CK,GK=CK,UK=CK,wK=CK,HK=CK,kK=CK,WK=CK,KK=CK,JK=CK,QK=CK,qK=CK,zK=CK,jK=CK,$K=CK,ZK=CK,eJ=CK,tJ=CK,iJ=CK,nJ=CK,sJ=CK,_J=CK,oJ=CK,pJ=CK,aJ=CK,uJ=CK,rJ=CK,dJ=CK,lJ=CK,IJ=CK,TJ=CK;Object.assign(Ne.Variables,Fe),Object.assign(Ne.Procedures,Ku),Object.assign(Ne.Lang.ZhHans,Me),Object.assign(Ne.Lang.ZhHant,he),Object.assign(Ne.Lang.En,me),Ne.Python=Ju,Ne.generator=Ju,De.Profile.default={},Object.assign(De.Profile,_k),Object.assign(De.Profile.default,_k["MixGo CC"]),Object.assign(Ne.Blocks,t,i,n,s,_,o,p,a,u,r,d,l,I,G,K,W,x,U,J,f,P,Y,k,H,w,F,D,N,V,b,B,v,X,y,Ee,Oe,Re,ce),Object.assign(Ne.Python.forBlock,T,M,h,m,E,O,R,c,g,C,S,A,L,pe,Ie,le,ne,ae,Te,z,j,Z,de,re,ue,$,q,Q,_e,se,oe,ee,te,ie,ge,Ce,Se,Ae,Le)})(); \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/styles/main.fad90f1f.css b/boards/default/micropython_esp32c2/styles/main.0665557c.css similarity index 97% rename from boards/default/micropython_esp32c2/styles/main.fad90f1f.css rename to boards/default/micropython_esp32c2/styles/main.0665557c.css index 8fd38444..8157a190 100644 --- a/boards/default/micropython_esp32c2/styles/main.fad90f1f.css +++ b/boards/default/micropython_esp32c2/styles/main.0665557c.css @@ -158,6 +158,16 @@ div.blocklyToolboxDiv>div.blocklyToolboxContents>div:nth-child(12)>div.blocklyTr background-size: 100% auto; } +#catPE_G1.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NToyMiswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6MjIrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6ZDNmNzAyOWQtOWMwYy00NTRiLTllMTQtNTg0MjY3NTRiYWMyPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOmQzZjcwMjlkLTljMGMtNDU0Yi05ZTE0LTU4NDI2NzU0YmFjMjwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOmQzZjcwMjlkLTljMGMtNDU0Yi05ZTE0LTU4NDI2NzU0YmFjMjwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDpkM2Y3MDI5ZC05YzBjLTQ1NGItOWUxNC01ODQyNjc1NGJhYzI8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+/zmC9wAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAADFklEQVR42uzXPYgdVRjG8f/znnFbEUWwFBENKVLEMosoWNiYoEnYL4MEtbAQoqsi9gHNrh+FYKKNMfeGZZeNNoKaJhIrU9ikEQnpUq2gRYp1zvtYzFxJjAlC5pImpxyGc37M+3HekW3u5NJdwLWA5fEikUGNpC2VsChZ3ha8D/zu1HzC9xEJGSQQpULb4EgiEtfSPY+EWrBMlIrbhiyVAFYWRjcHKAMDLhWh3bIu2HwmeAzxlGEd8iVquZoaHLD0hcwm1rcKAB8yfOkaQgnFr8o6jozbWEwxHhTw1njJ4I+AN0AA+4F1Uo8gX0oZarkvIkcEz9qcBx+klitDAt4DjvaAF4ANUg8Dl90foKgg9gmdAXDGspWrUwcApIVKBcC1lCh5QnDY8Bt4nzMuThVgC3oAtUBUCO+R42vgfpvVtJanBgBwJAZUC5SKZahBBEeBd4E/jZ+jLeccUwAgk/L1gAxCxvC4rE2JHU59lfByRN12HRIAXa8AFHkdIPvQROTrhD8BgX3AtWwMCgBIQDLuO+O1AJWK4UE5Tof8tK2zVTkXsDUYwAA3+QI9ANqGaNqDwJoRmD0ri6d+GgTwT0LeAqC2gabFFiF+Bp44tnBKwwCs7vBIMoMAVCqZgTKgaclaCAuaFjkuALsHA9iC/wVgIZocuQPPrsyPzg9TBVb3Vn/oDYBSHwKtBcw69UPK80Rurc6PByjDSJyB+s54A8BxJCI/dJeKB1zLhiMhkmEApXYX078BkTsNZyQ9StXJlF9R5Pbkyp4uQD4msQz8YeVe2uac5e7yGgrgPvvVJ5hS0NQnhb4B7rX5wNY76puT+7DcPsBcJro6V8YEMBPwOeFD4F+B551xcdKihweU7OaBDFTqftB6X45HjD+eDCS3C/jvkQwu9bF+QGgs+RnjH8FzynIlZYYAHE9508rvGgfAi7ZOdkOpUeRriE8B3JYFy6ejVKiFYQCjJWqppEVTC8AuhX9x6oTEDuRZmzWUh6nN1cm0MyygacntGbQ9A6VS7vnrTYVXsLacmrM5q6bfcGjA3X/DO7H+HgDRj5vujRlaHAAAAABJRU5ErkJggg==) no-repeat; + background-size: 100% auto; +} + +#catPE_G1.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NToyMyswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6MjMrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6ZmEyZmFlYWEtZjcyYS1hYjQzLThkN2EtYjEwY2QxMTA3MmNiPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOmZhMmZhZWFhLWY3MmEtYWI0My04ZDdhLWIxMGNkMTEwNzJjYjwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOmZhMmZhZWFhLWY3MmEtYWI0My04ZDdhLWIxMGNkMTEwNzJjYjwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDpmYTJmYWVhYS1mNzJhLWFiNDMtOGQ3YS1iMTBjZDExMDcyY2I8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+wqwjaAAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAABl0lEQVR42uzXP0hVcRjG8c9FcI0wgsYQSWloqDEJgwYXk/6IFYaEOjQIlRTRLpTanyHIaqlQEaV0ESoXI6ccWlxCws1JwYaGltvyHrhIQ8O9ryC+0+89cA7f3znv73meUyqXy3azSvsA/wFwFw+xhSv4lAlwEit4gWNowwx68bsWAK/xHgvRX8cblKIfwHisr2Gy2gBlPMHt6C/FjhvxM64dxATa8RVd2KgmwAMMR38RsziK9R33duJDrIcwlg0AdXiJG1gLqNVMgKJOYw4N8SaGsgGKGsZ9/EIHlrIBoDlOUgveoQ9/MgGKGsSzWF+O56QCwGFM4SwW0Y3NTICiujBdMbDL2QBFfcOpCmVNB1gJf0kHuBryDa0h4SkAR+Lbt+Jz2HnaEN7C4904hsfDpJrwFv2ZQjQSPrCN85lSfAbzOIBHuJdlRvV4FcnpBy5k2nGRloqBe5oVyQ5FFjyHL6HvVYtk42GlH6PviUkulOsmnleIy1StY/kJfI/Y1RKCMh0RrCax/F91B6OhYN1hq/v/hnsH4O8A38/3wXV4mTEAAAAASUVORK5CYII=) no-repeat; + background-size: 100% auto; +} + #catME_G1.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NjowNCswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTY6MDQrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6ZTgzOWI5NTgtMjZhNy1kYTQwLTg1NDQtZWRkY2UzZjYzYmNhPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOmU4MzliOTU4LTI2YTctZGE0MC04NTQ0LWVkZGNlM2Y2M2JjYTwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOmU4MzliOTU4LTI2YTctZGE0MC04NTQ0LWVkZGNlM2Y2M2JjYTwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDplODM5Yjk1OC0yNmE3LWRhNDAtODU0NC1lZGRjZTNmNjNiY2E8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+w67uMwAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAFA0lEQVR42sSXS6hkVxWGv3/tfW4bgxIJNK1RuKJ4J42PgWJGCUkEHwMHcZSbgYKQgWRqRKI4izF3IoiERnzQ3pkRRwaFpB21GATRJpDuIDFog23EGNMm3XXOXr+DU1W36tbDJhlkD+ucOvtba/3r32vLNm/l0uHBfXdJfOSN/h+7DarnWpQ/iTEYI2SzkxOESQcArRSGqGghaB0e7P8W+OSbCGIw+klKX8ZLZBTaCGRtBfCU+iLYQNzoxsDbBbvAZSfvnT0wIpRIvmGAl2xOzlK1IdeglZ9vDvkq8HxaH1p8UNTmGyXx/wFInyTAEhzTpWQaBaWRPb4zrltD/ucigNG4eRijEbrxpMwHhlI+00f353AeAzBXpDyl4o3RX9PbaC7UHIicf+C2kP8GXEprbx59NDKCzDHyIM+Gfb/R633Uj1m6uAhwbRrlGcbY19TB0ahnmuKPAKW17QAaAdxEaY2sAdKjkflVS6/YvCecr80A/gW8a8yVNyqA5CvG3wcWS7ACEE4UHjNAoQ49GcH1ukPX2g9rDl9CPpfEXZbQ4cH+AFwF7t0meVsXDP849vMcoFl7YRNuEPFwhqrRt5QmS4EYn0XjBVu7rcbnMuKXMxFewT6FtA1gXX6WM6AxO+F0GCw/k9an+rrzn+qBkgMmbhecR7yYYncG8Hfsd/sYgOy5KuzYCuBkr0Wh7zq6Nvlg19oPEHckerZFOW1EbQMiQboAOp3SJ3R4sD8BesM3jgoOwAmZ87Z/M+3F0VC0OQOy6WtHkJRsCM7JvtPSd4YoD4WTaAnSA4jHDQc6PNh/GbhlbdrRU2ndo43iXAVoUXBopumbuhz+C6gR7wRenXrAnuA5i9/r8GC/BybYDy61oelU+IMifzezUlvz3t7WhtTRO4wI+6wa9zfpCyk9UTIRrkg90C9p4Fj4qHhsqQwiRm/v+w5bM59fCxDMzgFj4gHQ49hfF37EsxpKLwO3LANsOYYUSYmktcIw1DcEADyy4O9zgLEEmpdAqy5EAX4dkX+xRWvlBkowraf9UzX2m3RvSj8vmciuhHpgslWEyz4QDyZ875ggVwBk4xB9qYS9KMJ3AFfnIhTPmVGEE6DH/uaWDHRYPzM8fyNWbAmHCHvWho8OUb62pg0f2yzC1Z6cr1SstWJhSiYZ8T6Js8J3GD07LBmRQVwAnbb08a1WbIRtgukcgBY3Xz0Lxjc6FJPpF56xdc+k7rzauR9PRpXbhc8jv5jS7tbDyOivaS5pNhF5Kf3LJUj2HEHWiDoM35V4JdHDaqaVgooZS+AXjHZbic9m6MmF43ht8/3K6U+PaR8xtonQEn3tONGuI8zgyg4TmgrX4wQ1hx91OXzR4unmcvfsOL42jfYMPnJC4ZKKp1rEE7YoNKoGMsdJZ50PyGYolUIjSByiU8/QKk59u8gPJfq3zW2yX1ucCa/YnEoLpjOhnAy14hp02VNoRzo4gljpAksESWUYQzGkyy+MPg+83kf9qKVLq0Opx6F0SQPTjwU5n2znQ2orOOPWiFwaSuVxGnJoCgzFvhxu2Ue9cyjrh9KXFHmSmDv1aAg+6oZ1KzNu1ijgFYC+dnO9lNZqyTZkBEPZcDGRfNEbh9K1U+IA3GTr/YbLTC8mllCaVsuofpvIcT7YBPBmr2bN6MeLVzMx3h1mm20HeOy+u018mO1j8cZECGeLeHrxcjqr4cwztgK81dfz/w0AHjWdyjCbBL0AAAAASUVORK5CYII=) no-repeat; background-size: 100% auto; diff --git a/boards/default/micropython_esp32c3/index.xml b/boards/default/micropython_esp32c3/index.xml index 9b273e62..f9871464 100644 --- a/boards/default/micropython_esp32c3/index.xml +++ b/boards/default/micropython_esp32c3/index.xml @@ -1 +1 @@ -02000attachInterrupt_funcattachInterrupt_func10,1,2,3051i5000DIVIDE10Exception as eetestThreadtestThreadWHILETRUEHello Mixly from Thread!ms10tim1000tim_callbacktim_callback200090x151100a10.998124.82997110010101000110050110011000110x2x0,1,2,30,1,2,30,1,2,3xMixlyMixlyHelloMixly65axMixlyMixly0Mixly02MixlyMixlyHello,mixlyl--mylistHello,mixlymixlymixpyI love mixly!I love mixlyRandom No. is {}int1100input('1+2*3')mylist1,2,3,4,5mylist0mylist02mylistmylistmylist0mylist00mylist00mylist0mylist0mylist0mylistmylistmylistxmytup1,2,3,4,5mytup0mytup02mytupmytupmytupmytup0mytupmytup1mytup2xmydictmydictkeymydictkey0mydictkey0mydictkeymydictkeymydictkey0mydictmydictmydictmydictxmydict{"name":"Mixly","color":"green"}s11,2,3,4,5s1s1s1s2s1s2s10s1Mixlys1s2xMixlyMixlyMixly,HelloMixlyprompt02MixlyMixly0XFF00FFcodebMixlyMixly1attachInterrupt_func1attachInterrupt_funcattachInterrupt_func00Mixly0Mixly2022711420452023,1,1,12,0,0180292023,1,1,12,0,0100100100440440100001004120000000000010001000Mixly0MixlyMixly500MixlyMixly50010.51001001000interrupt_funcinterrupt_functurnsdistance00Mixly0Mixlywifinamewifipassword8080AUTH TOKEN0_value02000notify0Your Target Emailsubjectbodycolor#FF0000wifinamewifipasswordmixio.mixly.cnmixio.mixly.cnA1B2C3mixio.mixly.cnusernamepasswordMyProjecttopicmsgtopicmsgtopicmethodmethodEQmsg1content"long""lat""message"012content"key1""key2""key3"012https://mixio.mixly.cn/time.phpmixio.mixly.cnwifinamewifipasswordcsub_cb31444082183.230.40.3914109261n63JySRowo13ZLDBKw6y896E0=MixlyRobotsub_cbEQmsg1ciot_dict"sound"ciot_dictccwifinamewifipasswordclientEnter Your API_KEYEnter Your SECRET_KEYclient1clientS72099北京今天天气如何?wifinamewifipasswordSVa3S0UKHIy9dDArs北京SVa3S0UKHIy9dDArs北京11111https://mixio.mixly.cn/tinydbusernamepasswordmqtt_clientmixlyhellomixly11mixlymixlyble_cble_pMixlyble_cble_cMixlyble_cble_xble_xble_xMixlyble_xble_xble_methodble_methodEQdataMixlyhandlehandle_methodhandle_methodkey1key2key3keyxble_keyboard_mouse10Hello, Mixly!1002000001000009000,4500,563,5630x1234callbackcmdaddrrawpulsesi2c2221100000i2c00i2c00i2ci2ci2cspi2000004512spi200000buf50spi10spi100xffspibufspibuf0xffspi12345spi12345buf1Mixlyow12owowow12345ow12345owmy_now0my_nowmy_nowmy_nowFFFFFFFFFFFFmixlymy_nowmy_nowcbcbEQmsg1spi10000004512spi8my_lora433.925716my_loramy_loramy_loraMixlyi2c_extend45100000xsensori2c_extendxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensor1013.25xsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensor5000500xsensorxsensorxsensorxsensorxsensorxsensorspi10000004512spi8ysensorysensorysensor0ysensor0ysensor0Mixlyysensor0Mixlyysensorysensor39,119.96,31.67ysensorysensorstation45ps2_handle24512ps2_handle50ps2_handleps2_handlews_wr0121ws_wrws_wrws_wr360002zsensorzsensorzsensorzsensorzsensorweight12500weightvar_re345rotary_cbrotary_cbvar_re345rotary_cbrotary_cb100midi0midi440midi4401000midimidi100midimidimidimidi4120midimidirgb04rgb0000rgb000rgb0001000rgb1000rgb100100i2c_extend45400000Motori2c_extendMotor100Motor1024102402actuatoractuatoractuatoractuatoractuator你好米思齐actuatoractuatoractuator20actuatoractuatormixly*.mp3i2c_extend45400000matrixi2c_extendmatrixmatrixmatrixMixly0matrixMixlymatrixMixly500matrixMixlymatrixMixly500matrixmatrix>matrixmatrix1matrixmatrixmatrix0.5matrixmatrixdisp34disp2333dispdisp1i2c_extend45100000lcdi2c_extend0x27lcdMixly00lcdMixly005lcdlcdi2c_extend45100000oledi2c_extend0x3coledoled001oledMixlyoledMixly0010oledMixlyoledMixly0550oledMixlyoledMixly5500oled0020oled005050oled20202015oled1oled00oled00oledspi1000000450spi78tft_st7789135240tft_st7789001#ffffff255,255,0tft_st7789Mixly0050#ffffff255,255,0tft_st7789Mixly0550#ffffff255,255,0tft_st7789Mixly5500#ffffff255,255,0tft_st7789004040#ffffff255,255,0tft_st778912ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor'ni-hao','hong-se','lv-se','lan-se','bai-se','hei-se'0.1ai_sensor1.wav5ai_sensor1.wav100ai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsai_sensor'猫','狗','笔记本','笔'mixgo5自模型训练infoai_sensor'猫','狗','笔记本','笔'mixgo自模型识别objectsinfoai_sensor0.1606, 0.3562, 0.4712, 0.9568, 0.9877, 1.9108, 1.8761, 3.5310, 3.4423, 5.6823/sd/masks.kmodel外部模型加载objects12ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor1.wav5ai_sensor1.wav100infoai_sensorlicensePlateinfoai_sensorfaceinfoai_sensor20objectsai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsfilename.txtfMixlyfff0fffpathpathfilename.txtsrcname.txtdstname.txtff0wifinamewifipasswordwlanwlanwlanwlanwlan127.16.0.801234567wlanwlanwlanwlanwlanmixly123456781connect_wifiwlanAPwlanTruewlanwlanSmallCabbage1234561WHILETRUEEQ0wlan0.0.0.0ms1000TRUEss0.0.0.080s192.168.0.180s5sss1024sbMixlyresponses1024sbMixlyresponse127.0.0.180sntp.aliyun.comresponsehttp://mixio.mixly.cnresponsehttp://mixio.mixly.cnresponsehttp://192.168.1.1:11434qwen2.5-coder:0.5b5https://api.deepseek.comAPI Keydeepseek-chat5请介绍一下米思齐?content_callbackcontent_callbackcontent请介绍一下米思齐? \ No newline at end of file +02000attachInterrupt_funcattachInterrupt_func10,1,2,3051i5000DIVIDE10Exception as eetestThreadtestThreadWHILETRUEHello Mixly from Thread!ms10tim1000tim_callbacktim_callback200090x151100a10.998124.82997110010101000110050110011000110x2x0,1,2,30,1,2,30,1,2,3xMixlyMixlyHelloMixly65axMixlyMixly0Mixly02MixlyMixlyHello,mixlyl--mylistHello,mixlymixlymixpyI love mixly!I love mixlyRandom No. is {}int1100input('1+2*3')mylist1,2,3,4,5mylist0mylist02mylistmylistmylist0mylist00mylist00mylist0mylist0mylist0mylistmylistmylistxmytup1,2,3,4,5mytup0mytup02mytupmytupmytupmytup0mytupmytup1mytup2xmydictmydictkeymydictkey0mydictkey0mydictkeymydictkeymydictkey0mydictmydictmydictmydictxmydict{"name":"Mixly","color":"green"}s11,2,3,4,5s1s1s1s2s1s2s10s1Mixlys1s2xMixlyMixlyMixly,HelloMixlyprompt02MixlyMixly0XFF00FFcodebMixlyMixly1attachInterrupt_func1attachInterrupt_funcattachInterrupt_func00Mixly0Mixly2022711420452023,1,1,12,0,0180292023,1,1,12,0,0100100100440440100001004120000000000010001000Mixly0MixlyMixly500MixlyMixly50010.51001001000interrupt_funcinterrupt_functurnsdistancei2c_extend2122400000pei2c_extendpepe100pepe100pepe100pe00Mixly0Mixlywifinamewifipassword8080AUTH TOKEN0_value02000notify0Your Target Emailsubjectbodycolor#FF0000wifinamewifipasswordmixio.mixly.cnmixio.mixly.cnA1B2C3mixio.mixly.cnusernamepasswordMyProjecttopicmsgtopicmsgtopicmethodmethodEQmsg1content"long""lat""message"012content"key1""key2""key3"012https://mixio.mixly.cn/time.phpmixio.mixly.cnwifinamewifipasswordcsub_cb31444082183.230.40.3914109261n63JySRowo13ZLDBKw6y896E0=MixlyRobotsub_cbEQmsg1ciot_dict"sound"ciot_dictccwifinamewifipasswordclientEnter Your API_KEYEnter Your SECRET_KEYclient1clientS72099北京今天天气如何?wifinamewifipasswordSVa3S0UKHIy9dDArs北京SVa3S0UKHIy9dDArs北京11111https://mixio.mixly.cn/tinydbusernamepasswordmqtt_clientmixlyhellomixly11mixlymixlyble_cble_pMixlyble_cble_cMixlyble_cble_xble_xble_xMixlyble_xble_xble_methodble_methodEQdataMixlyhandlehandle_methodhandle_methodkey1key2key3keyxble_keyboard_mouse10Hello, Mixly!1002000001000009000,4500,563,5630x1234callbackcmdaddrrawpulsesi2c2221100000i2c00i2c00i2ci2ci2cspi2000004512spi200000buf50spi10spi100xffspibufspibuf0xffspi12345spi12345buf1Mixlyow12owowow12345ow12345owmy_now0my_nowmy_nowmy_nowFFFFFFFFFFFFmixlymy_nowmy_nowcbcbEQmsg1spi10000004512spi8my_lora433.925716my_loramy_loramy_loraMixlyi2c_extend45100000xsensori2c_extendxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensor1013.25xsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensor5000500xsensorxsensorxsensorxsensorxsensorxsensorspi10000004512spi8ysensorysensorysensor0ysensor0ysensor0Mixlyysensor0Mixlyysensorysensor39,119.96,31.67ysensorysensorstation45ps2_handle24512ps2_handle50ps2_handleps2_handlews_wr0121ws_wrws_wrws_wr360002zsensorzsensorzsensorzsensorzsensorweight12500weightvar_re345rotary_cbrotary_cbvar_re345rotary_cbrotary_cb100midi0midi440midi4401000midimidi100midimidimidimidi4120midimidirgb04rgb0000rgb000rgb0001000rgb1000rgb100100i2c_extend45400000Motori2c_extendMotor100Motor1024102402actuatoractuatoractuatoractuatoractuator你好米思齐actuatoractuatoractuator20actuatoractuatormixly*.mp3i2c_extend45400000matrixi2c_extendmatrixmatrixmatrixMixly0matrixMixlymatrixMixly500matrixMixlymatrixMixly500matrixmatrix>matrixmatrix1matrixmatrixmatrix0.5matrixmatrixdisp34disp2333dispdisp1i2c_extend45100000lcdi2c_extend0x27lcdMixly00lcdMixly005lcdlcdi2c_extend45100000oledi2c_extend0x3coledoled001oledMixlyoledMixly0010oledMixlyoledMixly0550oledMixlyoledMixly5500oled0020oled005050oled20202015oled1oled00oled00oledspi1000000450spi78tft_st7789135240tft_st7789001#ffffff255,255,0tft_st7789Mixly0050#ffffff255,255,0tft_st7789Mixly0550#ffffff255,255,0tft_st7789Mixly5500#ffffff255,255,0tft_st7789004040#ffffff255,255,0tft_st778912ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor'ni-hao','hong-se','lv-se','lan-se','bai-se','hei-se'0.1ai_sensor1.wav5ai_sensor1.wav100ai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsai_sensor'猫','狗','笔记本','笔'mixgo5自模型训练infoai_sensor'猫','狗','笔记本','笔'mixgo自模型识别objectsinfoai_sensor0.1606, 0.3562, 0.4712, 0.9568, 0.9877, 1.9108, 1.8761, 3.5310, 3.4423, 5.6823/sd/masks.kmodel外部模型加载objects12ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor1.wav5ai_sensor1.wav100infoai_sensorlicensePlateinfoai_sensorfaceinfoai_sensor20objectsai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsfilename.txtfMixlyfff0fffpathpathfilename.txtsrcname.txtdstname.txtff0wifinamewifipasswordwlanwlanwlanwlanwlan127.16.0.801234567wlanwlanwlanwlanwlanmixly123456781connect_wifiwlanAPwlanTruewlanwlanSmallCabbage1234561WHILETRUEEQ0wlan0.0.0.0ms1000TRUEss0.0.0.080s192.168.0.180s5sss1024sbMixlyresponses1024sbMixlyresponse127.0.0.180sntp.aliyun.comresponsehttp://mixio.mixly.cnresponsehttp://mixio.mixly.cnresponsehttp://192.168.1.1:11434qwen2.5-coder:0.5b5https://api.deepseek.comAPI Keydeepseek-chat5请介绍一下米思齐?content_callbackcontent_callbackcontent请介绍一下米思齐? \ No newline at end of file diff --git a/boards/default/micropython_esp32c3/main.bundle.6027d445.js b/boards/default/micropython_esp32c3/main.bundle.6027d445.js new file mode 100644 index 00000000..861e2baf --- /dev/null +++ b/boards/default/micropython_esp32c3/main.bundle.6027d445.js @@ -0,0 +1,21 @@ +(()=>{"use strict";var t={d:(e,i)=>{for(var n in i)t.o(i,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:i[n]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};t.r(e),t.d(e,{controls_type:()=>vt,controls_typeLists:()=>Xt,lists_zip:()=>xt,lists_zip_container:()=>yt,lists_zip_item:()=>bt,unpack_iterable_object:()=>Vt,variables_change:()=>Pt,variables_get:()=>ft,variables_global:()=>Yt,variables_set:()=>Ft});var i={};t.r(i),t.d(i,{base_setup:()=>Ut,controls_delay:()=>wt,controls_end_program:()=>kt,controls_except:()=>ie,controls_finally:()=>ne,controls_flow_statements:()=>qt,controls_for:()=>zt,controls_forEach:()=>Kt,controls_for_range:()=>jt,controls_if:()=>Ht,controls_if_else:()=>te,controls_if_elseif:()=>Zt,controls_if_if:()=>$t,controls_lambda:()=>_e,controls_main:()=>Gt,controls_pass:()=>oe,controls_range:()=>Wt,controls_repeat_ext:()=>se,controls_thread:()=>pe,controls_try:()=>ee,controls_try_finally:()=>Qt,controls_whileUntil:()=>Jt,datetime_fromtimestamp:()=>Ie,do_while:()=>ae,garbage_collection:()=>ue,gene_unique_identifier:()=>Te,get_mem_alloc:()=>re,get_mem_free:()=>de,get_unique_identifier:()=>le});var n={};t.r(n),t.d(n,{base_map:()=>xe,generate_cartesian_product:()=>be,math_arithmetic:()=>Oe,math_bit:()=>ce,math_constant:()=>me,math_constant_mp:()=>Ee,math_constrain:()=>De,math_dec:()=>Ce,math_degree_to_radian:()=>Be,math_indexer_number:()=>Fe,math_map:()=>fe,math_max_min:()=>Ae,math_number:()=>he,math_number_base_conversion:()=>Le,math_radian_to_degree:()=>Ve,math_random:()=>Ne,math_random_seed:()=>Pe,math_round:()=>Ye,math_selfcalcu:()=>Re,math_to_int:()=>Se,math_trig:()=>ge,text_to_number:()=>ve,text_to_number_skulpt:()=>Xe,turn_to_int:()=>ye});var s={};t.r(s),t.d(s,{ascii_to_char:()=>Ke,char_to_ascii:()=>Je,number_to_text:()=>Qe,os_system:()=>Oi,text:()=>Ue,text_bytes:()=>ke,text_capital:()=>ni,text_center:()=>si,text_char:()=>He,text_char_at:()=>je,text_char_at2:()=>ze,text_char_at3:()=>Mi,text_compareTo:()=>Ti,text_compare_to:()=>ii,text_create_with_container:()=>di,text_create_with_item:()=>li,text_encode:()=>mi,text_equals_starts_ends:()=>ei,text_eval:()=>Ei,text_find:()=>_i,text_format:()=>ri,text_format_noreturn:()=>hi,text_join:()=>We,text_join_seq:()=>oi,text_length:()=>qe,text_random_char:()=>$e,text_replace:()=>pi,text_split:()=>ai,text_strip:()=>ui,text_substring:()=>ti,text_substring2:()=>Ze,text_substring3:()=>Ii,text_textarea:()=>we});var _={};t.r(_),t.d(_,{ENUMERATE:()=>en,content_in_lists:()=>sn,enumerate:()=>nn,list_many_input:()=>wi,list_tolist:()=>Ki,list_tolist2:()=>tn,list_trig:()=>Bi,lists_2d_get_col_row_data:()=>Si,lists_2d_get_data_with_col_row:()=>Ci,lists_append_extend:()=>Fi,lists_change_to:()=>Ui,lists_change_to_general:()=>Hi,lists_clear:()=>xi,lists_create_with:()=>Ai,lists_create_with2:()=>Ji,lists_create_with_container:()=>Ni,lists_create_with_item:()=>Di,lists_create_with_noreturn:()=>ki,lists_create_with_text:()=>Li,lists_create_with_text2:()=>Qi,lists_del_general:()=>Wi,lists_find:()=>Vi,lists_getIndex3:()=>qi,lists_getSublist3:()=>zi,lists_get_index:()=>ci,lists_get_random_item:()=>Pi,lists_get_random_sublist:()=>Yi,lists_get_sublist:()=>gi,lists_insert_value:()=>vi,lists_insert_value2:()=>$i,lists_pop:()=>bi,lists_remove_at:()=>yi,lists_remove_at2:()=>Zi,lists_reverse:()=>Xi,lists_setIndex3:()=>ji,lists_set_index:()=>fi,lists_sort:()=>Gi});var o={};t.r(o),t.d(o,{dicts_add_change_del:()=>Rn,dicts_add_or_change:()=>ln,dicts_clear:()=>Mn,dicts_create_with:()=>on,dicts_create_with_container:()=>pn,dicts_create_with_item:()=>an,dicts_create_with_noreturn:()=>Cn,dicts_deldict:()=>On,dicts_delete:()=>In,dicts_get:()=>rn,dicts_get_default:()=>dn,dicts_items:()=>hn,dicts_keys:()=>un,dicts_length:()=>En,dicts_pop:()=>cn,dicts_setdefault:()=>gn,dicts_to_json:()=>An,dicts_to_json2:()=>Dn,dicts_to_to:()=>Nn,dicts_todict:()=>Sn,dicts_update:()=>Tn,dicts_values:()=>mn,json_to_dicts:()=>Ln});var p={};t.r(p),t.d(p,{logic_boolean:()=>Xn,logic_compare:()=>Fn,logic_compare_continous:()=>Pn,logic_is:()=>Vn,logic_is_in:()=>bn,logic_negate:()=>vn,logic_null:()=>xn,logic_operation:()=>Yn,logic_tobool:()=>Bn,logic_true_or_false:()=>yn});var a={};t.r(a),t.d(a,{sdcard_mount:()=>as,sdcard_use_spi_init:()=>ps,storage_can_write_ornot:()=>Qn,storage_change_dir:()=>_s,storage_close_file:()=>zn,storage_delete_file:()=>$n,storage_file_seek:()=>es,storage_file_tell:()=>ts,storage_file_write:()=>Hn,storage_fileopen:()=>Un,storage_fileopen_new:()=>wn,storage_fileopen_new_encoding:()=>kn,storage_get_a_line:()=>Jn,storage_get_contents:()=>Kn,storage_get_contents_without_para:()=>Wn,storage_get_current_dir:()=>is,storage_get_file_size:()=>Zn,storage_get_filename:()=>qn,storage_is_file:()=>os,storage_list_all_files:()=>jn,storage_make_dir:()=>ns,storage_open_file_with_os:()=>Gn,storage_rename:()=>ss});var u={};t.r(u),t.d(u,{procedures_callnoreturn:()=>Is,procedures_callreturn:()=>Ts,procedures_defnoreturn:()=>us,procedures_defreturn:()=>rs,procedures_ifreturn:()=>Ms,procedures_mutatorarg:()=>ls,procedures_mutatorcontainer:()=>ds,procedures_return:()=>hs});var r={};t.r(r),t.d(r,{tuple_change_to:()=>Ds,tuple_create_llm_params:()=>bs,tuple_create_with:()=>Es,tuple_create_with_container:()=>Os,tuple_create_with_item:()=>Rs,tuple_create_with_noreturn:()=>Ys,tuple_create_with_text2:()=>cs,tuple_create_with_text_return:()=>gs,tuple_del:()=>As,tuple_find:()=>fs,tuple_getIndex:()=>Cs,tuple_getSublist:()=>Ps,tuple_get_random_item:()=>Xs,tuple_get_sublist:()=>vs,tuple_input:()=>ys,tuple_join:()=>Ls,tuple_length:()=>Ss,tuple_max:()=>Ns,tuple_totuple:()=>xs,tuple_trig:()=>Fs});var d={};t.r(d),t.d(d,{set_add_discard:()=>Js,set_clear:()=>Hs,set_create_with:()=>Bs,set_create_with_container:()=>Gs,set_create_with_item:()=>Us,set_create_with_text_return:()=>zs,set_length:()=>ws,set_operate:()=>Ws,set_operate_update:()=>Ks,set_pop:()=>ks,set_sub:()=>Qs,set_toset:()=>js,set_update:()=>qs});var l={};t.r(l),t.d(l,{html_content:()=>i_,html_content_more:()=>n_,html_document:()=>Zs,html_form:()=>__,html_head_body:()=>e_,html_style:()=>s_,html_style_color:()=>p_,html_style_content:()=>o_,html_text:()=>a_,html_title:()=>t_});var I={};t.r(I),t.d(I,{attribute_access:()=>g_,function_call:()=>O_,function_call_container:()=>R_,function_call_item:()=>c_,raw_block:()=>d_,raw_empty:()=>I_,raw_expression:()=>l_,raw_table:()=>r_,text_comment:()=>T_,text_print_multiple:()=>h_,text_print_multiple_container:()=>m_,text_print_multiple_item:()=>E_,type_check:()=>M_});var T={};t.r(T),t.d(T,{controls_type:()=>N_,controls_typeLists:()=>D_,lists_zip:()=>f_,unpack_iterable_object:()=>F_,variables_change:()=>A_,variables_get:()=>C_,variables_global:()=>L_,variables_set:()=>S_});var M={};t.r(M),t.d(M,{Panic_with_status_code:()=>G_,base_setup:()=>Y_,controls_delay:()=>B_,controls_flow_statements:()=>V_,controls_for:()=>x_,controls_forEach:()=>W_,controls_for_range:()=>y_,controls_if:()=>v_,controls_interrupts:()=>k_,controls_lambda:()=>J_,controls_main:()=>P_,controls_millis:()=>U_,controls_nointerrupts:()=>H_,controls_pass:()=>q_,controls_range:()=>K_,controls_repeat:()=>no,controls_repeat_ext:()=>$_,controls_thread:()=>z_,controls_try_finally:()=>X_,controls_whileUntil:()=>b_,datetime_fromtimestamp:()=>so,do_while:()=>j_,garbage_collection:()=>Z_,gene_unique_identifier:()=>_o,get_mem_alloc:()=>to,get_mem_free:()=>eo,get_unique_identifier:()=>io,reset:()=>w_,time_sleep:()=>Q_});var h={};t.r(h),t.d(h,{base_map:()=>No,generate_cartesian_product:()=>fo,math_arithmetic:()=>ro,math_bit:()=>uo,math_constant:()=>po,math_constant_mp:()=>ao,math_constrain:()=>Ro,math_dec:()=>Mo,math_degree_to_radian:()=>Po,math_indexer_number:()=>Co,math_map:()=>Oo,math_max_min:()=>mo,math_number:()=>oo,math_number_base_conversion:()=>co,math_radian_to_degree:()=>Fo,math_random:()=>Eo,math_random_seed:()=>go,math_round:()=>So,math_selfcalcu:()=>lo,math_single:()=>Io,math_to_int:()=>ho,math_trig:()=>To,text_to_number:()=>Ao,text_to_number_skulpt:()=>Lo,turn_to_int:()=>Do});var m={};t.r(m),t.d(m,{ascii_to_char:()=>bo,char_to_ascii:()=>Vo,number_to_text:()=>Bo,os_system:()=>ap,text:()=>Yo,text_bytes:()=>Xo,text_capital:()=>Qo,text_center:()=>qo,text_char:()=>xo,text_char_at:()=>wo,text_char_at2:()=>Uo,text_char_at3:()=>_p,text_compareTo:()=>sp,text_compare_to:()=>Wo,text_encode:()=>op,text_equals_starts_ends:()=>Ho,text_eval:()=>pp,text_find:()=>zo,text_format:()=>ep,text_format_noreturn:()=>ip,text_join:()=>yo,text_join_seq:()=>jo,text_length:()=>Go,text_random_char:()=>ko,text_replace:()=>$o,text_split:()=>Zo,text_strip:()=>tp,text_substring:()=>Jo,text_substring2:()=>Ko,text_substring3:()=>np,text_textarea:()=>vo});var E={};t.r(E),t.d(E,{content_in_lists:()=>wp,enumerate:()=>Up,list_many_input:()=>Dp,list_tolist:()=>Bp,list_tolist2:()=>Gp,list_trig:()=>Ap,lists_2d_get_col_row_data:()=>dp,lists_2d_get_data_with_col_row:()=>rp,lists_append_extend:()=>hp,lists_change_to:()=>Np,lists_change_to_general:()=>Fp,lists_clear:()=>cp,lists_create_with:()=>lp,lists_create_with2:()=>Yp,lists_create_with_noreturn:()=>fp,lists_create_with_text:()=>Ip,lists_create_with_text2:()=>vp,lists_del_general:()=>Pp,lists_find:()=>gp,lists_getIndex3:()=>Xp,lists_getSublist3:()=>xp,lists_get_index:()=>Tp,lists_get_random_item:()=>mp,lists_get_random_sublist:()=>Ep,lists_get_sublist:()=>up,lists_insert_value:()=>Op,lists_insert_value2:()=>bp,lists_pop:()=>Sp,lists_remove_at:()=>Cp,lists_remove_at2:()=>Vp,lists_reverse:()=>Rp,lists_setIndex3:()=>yp,lists_set_index:()=>Mp,lists_sort:()=>Lp});var O={};t.r(O),t.d(O,{dicts_add_change_del:()=>ea,dicts_add_or_change:()=>Jp,dicts_clear:()=>zp,dicts_create_with:()=>kp,dicts_create_with_noreturn:()=>sa,dicts_deldict:()=>ta,dicts_delete:()=>Qp,dicts_get:()=>Wp,dicts_get_default:()=>Kp,dicts_items:()=>jp,dicts_keys:()=>Hp,dicts_length:()=>Zp,dicts_pop:()=>ia,dicts_setdefault:()=>na,dicts_to_json:()=>oa,dicts_to_json2:()=>ua,dicts_to_to:()=>aa,dicts_todict:()=>_a,dicts_update:()=>qp,dicts_values:()=>$p,json_to_dicts:()=>pa});var R={};t.r(R),t.d(R,{logic_boolean:()=>Ta,logic_compare:()=>ra,logic_compare_continous:()=>da,logic_is:()=>Ea,logic_is_in:()=>ma,logic_negate:()=>Ia,logic_null:()=>Ma,logic_operation:()=>la,logic_tobool:()=>Oa,logic_true_or_false:()=>ha});var c={};t.r(c),t.d(c,{sdcard_mount:()=>wa,sdcard_use_spi_init:()=>Ua,storage_can_write_ornot:()=>Da,storage_change_dir:()=>ya,storage_close_file:()=>Fa,storage_delete_file:()=>Ya,storage_file_seek:()=>xa,storage_file_tell:()=>Xa,storage_file_write:()=>Sa,storage_fileopen:()=>ca,storage_fileopen_new:()=>ga,storage_fileopen_new_encoding:()=>Ca,storage_get_a_line:()=>Na,storage_get_contents:()=>La,storage_get_contents_without_para:()=>Aa,storage_get_current_dir:()=>ba,storage_get_file_size:()=>va,storage_get_filename:()=>fa,storage_is_file:()=>Ga,storage_list_all_files:()=>Pa,storage_make_dir:()=>Va,storage_open_file_with_os:()=>Ra,storage_rename:()=>Ba});var g={};t.r(g),t.d(g,{procedures_callnoreturn:()=>Ka,procedures_callreturn:()=>Wa,procedures_defnoreturn:()=>Ha,procedures_defreturn:()=>ka,procedures_ifreturn:()=>Ja,procedures_return:()=>Qa});var C={};t.r(C),t.d(C,{tuple_change_to:()=>nu,tuple_create_llm_params:()=>lu,tuple_create_with:()=>qa,tuple_create_with_noreturn:()=>pu,tuple_create_with_text2:()=>za,tuple_create_with_text_return:()=>ja,tuple_del:()=>tu,tuple_find:()=>su,tuple_getIndex:()=>$a,tuple_getSublist:()=>ou,tuple_get_random_item:()=>uu,tuple_get_sublist:()=>au,tuple_input:()=>du,tuple_join:()=>eu,tuple_length:()=>Za,tuple_max:()=>iu,tuple_totuple:()=>ru,tuple_trig:()=>_u});var S={};t.r(S),t.d(S,{set_add_discard:()=>Ou,set_clear:()=>hu,set_create_with:()=>Iu,set_create_with_text_return:()=>gu,set_length:()=>Tu,set_operate:()=>mu,set_operate_update:()=>Eu,set_pop:()=>Mu,set_sub:()=>Ru,set_toset:()=>Cu,set_update:()=>cu});var A={};t.r(A),t.d(A,{html_content:()=>Nu,html_content_more:()=>Du,html_document:()=>Su,html_form:()=>Fu,html_head_body:()=>Lu,html_style:()=>fu,html_style_content:()=>Pu,html_text:()=>Yu,html_title:()=>Au});var L={};t.r(L),t.d(L,{attribute_access:()=>Bu,function_call:()=>Vu,raw_block:()=>vu,raw_empty:()=>xu,raw_expression:()=>Xu,raw_table:()=>yu,type_check:()=>bu});var N={};t.r(N),t.d(N,{PIN_init:()=>Kr,actuator_extern_get_led_bright:()=>er,actuator_extern_get_led_state:()=>ir,actuator_extern_led_bright:()=>tr,actuator_extern_led_brightness:()=>nr,actuator_ms32006_dcmotor:()=>lr,actuator_ms32006_init:()=>dr,actuator_ms32006_stepper:()=>Ir,actuator_neopixel_init:()=>Tr,actuator_neopixel_rgb:()=>Mr,actuator_neopixel_rgb_all:()=>hr,actuator_neopixel_rgb_show_all_chase:()=>Or,actuator_neopixel_rgb_show_all_rainbow:()=>Er,actuator_neopixel_write:()=>mr,actuator_use_uart_init:()=>Rr,backstage_esp32_music_play_list:()=>Qu,esp32_music_get_tempo_extern:()=>zu,esp32_music_pitch:()=>Wu,esp32_music_pitch_init:()=>Hu,esp32_music_pitch_with_time:()=>Ku,esp32_music_play_list:()=>Ju,esp32_music_reset_extern:()=>ju,esp32_music_set_tempo_extern:()=>qu,esp32_music_stop:()=>$u,esp32_set_music_volume:()=>Zu,mixbot_actuator_extern_get_addr:()=>Hr,mixbot_actuator_extern_set_addr:()=>Wr,mixbot_addr_extern:()=>Pr,parrot_PIN_init:()=>zr,parrot_move_speed:()=>jr,pin_led_bright:()=>Jr,player_insert_music:()=>Lr,player_play_music:()=>Ar,player_set_mode:()=>Sr,player_set_play:()=>gr,player_set_volume:()=>Cr,player_whether_stop:()=>cr,robot_led_extern:()=>xr,robot_led_extern_get_value:()=>yr,robot_motor_extern:()=>Yr,robot_motor_extern_get_speed:()=>vr,robot_servo_extern_absolute_run:()=>Gr,robot_servo_extern_get_status:()=>br,robot_servo_extern_relative_continue:()=>kr,robot_servo_extern_relative_origin:()=>Ur,robot_servo_extern_relative_run:()=>wr,robot_servo_extern_stop:()=>Br,robot_servo_extern_stop_mode:()=>Vr,robot_traffic_light_extern:()=>Xr,servo_PIN_init:()=>Qr,servo_get_angle:()=>ur,servo_get_speed:()=>rr,servo_init:()=>sr,servo_move:()=>_r,servo_move_angle:()=>qr,servo_set_angle:()=>pr,servo_set_speed:()=>ar,servo_speed_360:()=>or,syn6288_builtin_voice:()=>fr,syn6288_get_voice:()=>Dr,syn6288_set_voice:()=>Nr,syn6288_tts_play:()=>Fr});var D={};t.r(D),t.d(D,{actuator_dc_motor:()=>Fd,actuator_dc_motor_stop:()=>Pd,actuator_get_led_bright:()=>id,actuator_get_led_state:()=>nd,actuator_led_bright:()=>ed,actuator_led_brightness:()=>sd,actuator_mixbot_buzzer_on_off:()=>yd,actuator_mixgo_nova_mic_get:()=>Ud,actuator_mixgo_nova_mic_set:()=>Gd,actuator_mixgo_nova_onboard_music_pitch:()=>Jd,actuator_mixgo_nova_onboard_music_stop:()=>Qd,actuator_mixgo_nova_play_audio:()=>Wd,actuator_mixgo_nova_play_online_audio:()=>Kd,actuator_mixgo_nova_record_audio:()=>Hd,actuator_mixgo_nova_voice_get:()=>kd,actuator_mixgo_nova_voice_set:()=>wd,actuator_mixgo_zero_led_color:()=>_d,actuator_onboard_neopixel_rgb:()=>dd,actuator_onboard_neopixel_rgb_all:()=>ld,actuator_onboard_neopixel_rgb_show_all_chase:()=>Td,actuator_onboard_neopixel_rgb_show_all_rainbow:()=>Id,actuator_onboard_neopixel_write:()=>Md,actuator_rm_onboard_neopixel_rgb:()=>hd,actuator_rm_onboard_neopixel_rgb_all:()=>md,actuator_rm_onboard_neopixel_rgb_show_all_chase:()=>Ed,actuator_stepper_keep:()=>Dd,actuator_stepper_stop:()=>fd,analog_ble_keyboard_init:()=>al,analog_ble_keyboard_input:()=>dl,analog_ble_keyboard_mouse_init:()=>Ol,analog_ble_keyboard_mouse_input:()=>Cl,analog_ble_keyboard_mouse_send_battery:()=>gl,analog_ble_keyboard_mouse_str:()=>Sl,analog_ble_keyboard_send_battery:()=>Il,analog_ble_keyboard_str:()=>ll,analog_ble_mouse_init:()=>Tl,analog_ble_mouse_input:()=>ml,analog_ble_mouse_keyboard_input:()=>Al,analog_ble_mouse_send_battery:()=>El,analog_keyboard_input:()=>Zd,analog_keyboard_str:()=>pl,analog_mouse_input:()=>_l,backstage_onboard_music_play_list:()=>Ld,bitbot_motor:()=>Bd,bitbot_move:()=>bd,bitbot_stop:()=>Vd,ble_keyboard_connect:()=>rl,ble_keyboard_get_mac:()=>ul,ble_keyboard_mouse_connect:()=>cl,ble_keyboard_mouse_get_mac:()=>Rl,ble_mouse_connect:()=>hl,ble_mouse_get_mac:()=>Ml,cc_number:()=>rd,educore_ble_keyboard_input:()=>xl,educore_ble_sensor_connected:()=>Xl,educore_ble_sensor_init:()=>vl,educore_buzzer:()=>Ll,educore_buzzer_play_tone:()=>Nl,educore_buzzer_play_tone_time:()=>Dl,educore_buzzer_stop:()=>fl,educore_neopixel_clear:()=>Yl,educore_neopixel_rgb:()=>Pl,educore_rgb_light:()=>Fl,esp32_music_get_tempo:()=>Rd,esp32_music_reset:()=>cd,esp32_music_set_tempo:()=>Od,esp32_onboard_music_pitch:()=>gd,esp32_onboard_music_pitch_with_time:()=>Cd,esp32_onboard_music_play_list:()=>Ad,esp32_onboard_music_stop:()=>Sd,general_key:()=>el,general_key_tuple:()=>il,generalkey_container:()=>nl,generalkey_create_with_item:()=>sl,get_keyboard_light:()=>yl,get_power_output:()=>zd,ledswitch:()=>td,mixbot_motor:()=>xd,mixbot_motor_status:()=>Yd,mixbot_move:()=>vd,mixbot_stop:()=>Xd,mouse_key:()=>ol,number:()=>Zr,record_audio:()=>Vl,rm_actuator_get_led_bright:()=>pd,rm_actuator_get_led_state:()=>ad,rm_actuator_led_bright:()=>od,rm_actuator_led_brightness:()=>ud,rm_motor:()=>Nd,set_all_power_output:()=>jd,set_microphone_amplification:()=>bl,set_music_volume:()=>Bl,set_part_power_output:()=>$d,set_power_output:()=>qd,special_key:()=>tl});var f={};t.r(f),t.d(f,{ai_sensor_20object:()=>OI,ai_sensor_ailocal_class:()=>aI,ai_sensor_ailocal_class_result:()=>uI,ai_sensor_ailocal_train:()=>pI,ai_sensor_asr_recognize:()=>TI,ai_sensor_audio_play:()=>dI,ai_sensor_audio_record:()=>rI,ai_sensor_barcode:()=>Jl,ai_sensor_circle:()=>Zl,ai_sensor_classifier_faces:()=>EI,ai_sensor_color:()=>nI,ai_sensor_color_chases:()=>oI,ai_sensor_color_chases_result:()=>_I,ai_sensor_config:()=>Wl,ai_sensor_face:()=>mI,ai_sensor_find_20objects:()=>RI,ai_sensor_find_barcodes:()=>Ql,ai_sensor_find_circles:()=>tI,ai_sensor_find_colors:()=>sI,ai_sensor_find_licenseplates:()=>hI,ai_sensor_find_lines:()=>$l,ai_sensor_find_qrcodes:()=>Hl,ai_sensor_find_rects:()=>iI,ai_sensor_find_tags:()=>zl,ai_sensor_licenseplate:()=>MI,ai_sensor_line:()=>jl,ai_sensor_qrcode:()=>wl,ai_sensor_qrcode_lite:()=>kl,ai_sensor_rect:()=>eI,ai_sensor_rgb:()=>Kl,ai_sensor_tag:()=>ql,ai_sensor_use_uart_init:()=>Ul,ai_sensor_yolo_recognize:()=>lI,ai_sensor_yolo_recognize_result:()=>II});var F={};t.r(F),t.d(F,{MICROPYTHON_AI_Speech_asr:()=>CI,MICROPYTHON_AI_Speech_unit:()=>gI,MICROPYTHON_AI_client:()=>cI});var P={};t.r(P),t.d(P,{mpython_blynk_app_data:()=>VI,mpython_blynk_app_notify:()=>PI,mpython_blynk_email:()=>XI,mpython_blynk_get_timers:()=>xI,mpython_blynk_on_connected:()=>DI,mpython_blynk_on_disconnected:()=>NI,mpython_blynk_run:()=>FI,mpython_blynk_sensor_data_to_app:()=>bI,mpython_blynk_set_property:()=>vI,mpython_blynk_setup:()=>BI,mpython_blynk_stop_timers:()=>YI,mpython_blynk_sync_virtual:()=>LI,mpython_blynk_terminal_widget_vpin:()=>AI,mpython_blynktimer:()=>yI,mpython_blynktimer_run:()=>fI});var Y={};t.r(Y),t.d(Y,{cc_g1_init:()=>GI,cc_g1_read_bat:()=>UI,cc_g1_read_joystick:()=>wI,cc_g1_read_key:()=>kI,cc_g1_turnoff:()=>HI});var v={};t.r(v),t.d(v,{ce_go_dc_motor:()=>ZI,ce_go_get_led_bright:()=>QI,ce_go_get_led_state:()=>qI,ce_go_hall_attachInterrupt:()=>tT,ce_go_hall_data:()=>iT,ce_go_hall_initialize:()=>eT,ce_go_led_bright:()=>JI,ce_go_led_brightness:()=>zI,ce_go_light_number:()=>KI,ce_go_pin_light:()=>pT,ce_go_pin_near:()=>sT,ce_go_pin_near_line:()=>nT,ce_go_pin_near_state_change:()=>_T,ce_go_stepper_keep:()=>jI,ce_go_stepper_stop:()=>$I,educore_car:()=>aT,educore_car_pin_near:()=>lT,educore_car_pin_near_line:()=>dT,educore_car_stepper_keep:()=>uT,educore_car_stepper_stop:()=>rT,sensor_mixgome_eulerangles:()=>oT});var X={};t.r(X),t.d(X,{communicate_bluetooth_central_init:()=>QT,communicate_bluetooth_connect:()=>$T,communicate_bluetooth_disconnect:()=>ZT,communicate_bluetooth_handle:()=>sM,communicate_bluetooth_is_connected:()=>eM,communicate_bluetooth_mac:()=>jT,communicate_bluetooth_peripheral_init:()=>qT,communicate_bluetooth_recv:()=>iM,communicate_bluetooth_recv_only:()=>nM,communicate_bluetooth_scan:()=>zT,communicate_bluetooth_send:()=>tM,communicate_espnow_init:()=>_M,communicate_espnow_init_new:()=>oM,communicate_i2c_available:()=>FT,communicate_i2c_init:()=>hT,communicate_i2c_master_read:()=>fT,communicate_i2c_onboard:()=>TT,communicate_i2c_read:()=>mT,communicate_i2c_scan:()=>OT,communicate_i2c_write:()=>ET,communicate_ir_recv_init:()=>VT,communicate_ir_send_init:()=>kT,communicate_ow_init:()=>YT,communicate_ow_read:()=>XT,communicate_ow_reset:()=>bT,communicate_ow_scan:()=>vT,communicate_ow_select:()=>yT,communicate_ow_write:()=>xT,communicate_spi_buffer:()=>gT,communicate_spi_init:()=>RT,communicate_spi_onboard:()=>MT,communicate_spi_read:()=>CT,communicate_spi_read_output:()=>ST,communicate_spi_readinto:()=>AT,communicate_spi_readinto_output:()=>LT,communicate_spi_set:()=>cT,communicate_spi_write:()=>NT,communicate_spi_write_readinto:()=>DT,espnow_radio_channel:()=>lM,espnow_radio_channel_new:()=>TM,espnow_radio_on_off:()=>MM,espnow_radio_rec:()=>mM,espnow_radio_recv:()=>OM,espnow_radio_recv_certain_msg:()=>RM,espnow_radio_recv_certain_msg_new:()=>gM,espnow_radio_recv_msg:()=>EM,espnow_radio_recv_new:()=>cM,espnow_radio_send:()=>hM,espnow_radio_txpower:()=>IM,i2c_available:()=>HM,i2c_init:()=>FM,i2c_master_reader2:()=>kM,i2c_read:()=>PM,i2c_scan:()=>vM,i2c_slave_onreceive:()=>PT,i2c_write:()=>YM,internal_variable:()=>BT,ir_recv_timeout:()=>wT,ir_transmit_busy:()=>JT,ir_transmit_conventional_data:()=>HT,ir_transmit_raw_code:()=>KT,ir_transmit_study_code:()=>WT,ir_whether_recv:()=>UT,lora_init:()=>CM,lora_packet:()=>SM,lora_recv:()=>LM,lora_send:()=>AM,network_espnow_info:()=>aM,network_espnow_mac:()=>pM,network_espnow_recv:()=>uM,network_espnow_recv_handle:()=>dM,network_espnow_send:()=>rM,recv_fun:()=>GT,spi_buffer:()=>yM,spi_init:()=>XM,spi_read:()=>bM,spi_read_output:()=>VM,spi_readinto:()=>BM,spi_readinto_output:()=>GM,spi_set:()=>xM,spi_write:()=>UM,spi_write_readinto:()=>wM,urequests_attribute:()=>DM,urequests_get:()=>NM,urequests_method:()=>fM});var x={};t.r(x),t.d(x,{display_animate:()=>gh,display_blink_rate:()=>Eh,display_circle:()=>Ch,display_color_seclet:()=>xh,display_draw_4strings:()=>lh,display_fill:()=>ch,display_get_screen_image:()=>mh,display_help:()=>Ah,display_image_size:()=>Ih,display_lcd_use_i2c_init:()=>Uh,display_line:()=>Mh,display_line_arbitrarily:()=>hh,display_matrix_extern_bright_point:()=>sh,display_matrix_extern_bright_screen:()=>oh,display_matrix_extern_clear:()=>ph,display_matrix_extern_get_pixel:()=>nh,display_matrix_extern_get_screen_pixel:()=>_h,display_matrix_extern_image_builtins:()=>ah,display_matrix_extern_scroll_string:()=>$M,display_matrix_extern_scroll_string_delay:()=>ZM,display_matrix_extern_shift:()=>ih,display_matrix_extern_show_frame_string:()=>th,display_matrix_extern_show_frame_string_delay:()=>eh,display_matrix_extern_show_image:()=>zM,display_matrix_extern_show_image_or_string_delay:()=>jM,display_matrix_use_i2c_init:()=>qM,display_oled_drawPixel:()=>Nh,display_oled_showBitmap:()=>Lh,display_oled_use_i2c_init:()=>Kh,display_onoff:()=>Rh,display_rect:()=>Th,display_rgb_color:()=>Oh,display_tm1650_power:()=>fh,display_tm1650_set_brightness:()=>Yh,display_tm1650_show_dot:()=>Ph,display_tm1650_show_num:()=>Fh,display_tm_use_i2c_init:()=>Dh,display_triangle:()=>Sh,display_use_i2c_init:()=>dh,extern_oled_bright_point:()=>nm,extern_oled_clear:()=>sm,extern_oled_get_pixel:()=>im,extern_oled_hvline:()=>om,extern_oled_line:()=>pm,extern_oled_scroll_string:()=>jh,extern_oled_scroll_string_delay:()=>$h,extern_oled_shape_rect:()=>_m,extern_oled_shift:()=>em,extern_oled_show_frame_string:()=>Zh,extern_oled_show_frame_string_delay:()=>tm,extern_oled_show_image:()=>Jh,extern_oled_show_image_or_string_delay:()=>zh,extern_oled_show_image_xy:()=>Qh,extern_oled_show_string:()=>qh,lcd_backlight:()=>Hh,lcd_clear:()=>Wh,lcd_print_string:()=>kh,lcd_show_image_or_string_delay:()=>wh,matrix_extern_image_arithmetic:()=>uh,matrix_extern_image_invert:()=>rh,tft_fill:()=>Bh,tft_line_arbitrarily:()=>Gh,tft_scroll_string_delay:()=>bh,tft_show_frame_string_delay:()=>Vh,tft_show_image_or_string_delay:()=>yh,tft_show_image_xy:()=>Xh,tft_use_spi_init:()=>vh});var y={};t.r(y),t.d(y,{bitbot_display_bitmap_create:()=>eE,bitbot_display_image_create:()=>tE,display_available:()=>fm,display_bitmap_create:()=>Em,display_bright_point:()=>Am,display_bright_screen:()=>Nm,display_clear:()=>Dm,display_get_pixel:()=>Sm,display_get_screen_pixel:()=>Lm,display_image_builtins:()=>Om,display_image_builtins_all:()=>Rm,display_image_create:()=>mm,display_scroll_string:()=>dm,display_scroll_string_delay:()=>lm,display_scroll_way:()=>Im,display_shift:()=>Cm,display_show_frame_string:()=>Mm,display_show_frame_string_delay:()=>hm,display_show_image:()=>um,display_show_image_or_string_delay:()=>rm,draw_pointer:()=>EE,image_arithmetic:()=>cm,image_invert:()=>gm,mixbot_display_bitmap_create:()=>qm,mixbot_display_bright_screen:()=>$m,mixbot_display_get_ambientbright:()=>jm,mixbot_display_get_screen_pixel:()=>zm,mixbot_display_image_create:()=>Qm,mixbot_display_rotate:()=>Zm,mixgo_display_bitmap_create:()=>xm,mixgo_display_image_create_new:()=>Xm,mixgome_display_bitmap_create:()=>Pm,mixgome_display_font:()=>ym,mixgome_display_image_create:()=>Fm,mixgomini_display_bitmap_create:()=>vm,mixgomini_display_image_create:()=>Ym,mpython_display_hvline:()=>Wm,mpython_display_line:()=>Km,mpython_display_shape_rect:()=>Hm,mpython_pbm_image:()=>Jm,nova_draw_pointer:()=>OE,onboard_oled_bright_point:()=>km,onboard_oled_scroll_string_delay:()=>Um,onboard_oled_show_frame_string_delay:()=>wm,onboard_oled_show_image:()=>bm,onboard_oled_show_image_or_string_delay:()=>Gm,onboard_oled_show_image_xy:()=>Vm,onboard_oled_show_string:()=>Bm,onboard_tft_bright_point:()=>rE,onboard_tft_bright_screen:()=>DE,onboard_tft_clear:()=>fE,onboard_tft_clock_clear:()=>hE,onboard_tft_clock_draw:()=>ME,onboard_tft_clock_get_rtctime:()=>IE,onboard_tft_clock_init:()=>lE,onboard_tft_clock_set_time:()=>TE,onboard_tft_display_hvline:()=>pE,onboard_tft_display_line:()=>aE,onboard_tft_display_shape_circle:()=>mE,onboard_tft_display_shape_rect:()=>oE,onboard_tft_fill:()=>dE,onboard_tft_get_pixel:()=>uE,onboard_tft_get_screen_pixel:()=>NE,onboard_tft_scroll_string:()=>SE,onboard_tft_scroll_string_delay:()=>Tm,onboard_tft_shift:()=>LE,onboard_tft_show_frame_string:()=>AE,onboard_tft_show_frame_string_delay:()=>_E,onboard_tft_show_image:()=>CE,onboard_tft_show_image_or_string_delay:()=>sE,onboard_tft_show_image_xy:()=>iE,onboard_tft_show_image_xy_direct:()=>nE,onboard_tft_show_qrcode:()=>cE,onboard_tft_show_qrcode_details:()=>gE,onboard_tft_show_texts:()=>RE});var b={};t.r(b),t.d(b,{factory_block:()=>JE,factory_block_return:()=>QE,factory_block_return_with_textarea:()=>zE,factory_block_with_textarea:()=>qE,factory_callMethod_noreturn:()=>WE,factory_callMethod_return:()=>KE,factory_create_with_container:()=>UE,factory_create_with_item:()=>wE,factory_declare:()=>HE,factory_from_import:()=>VE,factory_function_noreturn:()=>GE,factory_function_return:()=>kE,factory_import:()=>BE,folding_block:()=>jE});var V={};t.r(V),t.d(V,{controls_pin_attachInterrupt:()=>OO,inout_analog_atten:()=>pO,inout_analog_read:()=>oO,inout_analog_read_init:()=>IO,inout_analog_write:()=>nO,inout_analog_write_init:()=>lO,inout_analog_write_set:()=>sO,inout_analog_write_set_freq:()=>hO,inout_digital_init:()=>rO,inout_digital_read:()=>eO,inout_digital_write:()=>tO,inout_highlow:()=>ZE,inout_pinMode:()=>MO,inout_pin_attachInterrupt:()=>uO,inout_pin_pressed:()=>aO,inout_pin_pressed_init:()=>TO,inout_pwm_analog_write:()=>iO,inout_pwm_analog_write_init:()=>dO,inout_pwm_analog_write_set_freq:()=>_O,pin_pressed:()=>EO,pin_pressed_init:()=>mO});var B={};t.r(B),t.d(B,{IOT_CONNECT_OLLAMA:()=>nR,IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>HO,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>kO,IOT_EMQX_PING:()=>UO,IOT_FORMATTING:()=>BO,IOT_FORMAT_STRING:()=>GO,IOT_MIXIO_NTP:()=>wO,IOT_MIXIO_PUBLISH:()=>PO,IOT_MIXIO_PUBLISHEX:()=>YO,IOT_MIXIO_SUBSCRIBE:()=>vO,iot_checkonenet:()=>tR,iot_client_onboard:()=>KO,iot_connect_ollama:()=>iR,iot_connect_openai:()=>sR,iot_create_with_item:()=>fO,iot_http_client:()=>JO,iot_http_data:()=>QO,iot_mixio_check:()=>yO,iot_mixio_connect:()=>FO,iot_mixio_connect_only:()=>xO,iot_mixio_disconnect:()=>XO,iot_mixio_format_msg:()=>VO,iot_mixio_format_topic:()=>bO,iot_mixly_key:()=>WO,iot_mqtt_client:()=>qO,iot_mqtt_data:()=>zO,iot_onenet_check:()=>SO,iot_onenet_connect:()=>gO,iot_onenet_disconnect:()=>CO,iot_onenet_publish:()=>LO,iot_onenet_publish_dict:()=>AO,iot_onenetconnect:()=>$O,iot_onenetdisconnect:()=>ZO,iot_publish:()=>eR,iot_publish_container:()=>NO,iot_publish_item:()=>DO,iot_tiny_web_db_count:()=>lR,iot_tiny_web_db_delete:()=>TR,iot_tiny_web_db_get:()=>dR,iot_tiny_web_db_init:()=>aR,iot_tiny_web_db_init_with_mqtt:()=>uR,iot_tiny_web_db_search:()=>IR,iot_tiny_web_db_update:()=>rR,iot_wifi_connect:()=>cO,iot_wificonnect:()=>jO,ollama_empty_history:()=>pR,use_ollama_llm_to_chat:()=>_R,use_ollama_llm_to_chat_return:()=>oR});var G={};t.r(G),t.d(G,{educore_mqtt_connect:()=>QR,educore_mqtt_connect_success:()=>$R,educore_mqtt_subscribe_message:()=>qR,educore_mqtt_topic_publish:()=>jR,educore_mqtt_topic_subscribe:()=>zR,educore_wifi_connect:()=>JR,network_ap_connect:()=>AR,network_connect:()=>RR,network_get_connect:()=>gR,network_get_wifi:()=>SR,network_init:()=>hR,network_is_active:()=>ER,network_open:()=>mR,network_scan:()=>OR,network_server:()=>LR,network_socket_accept:()=>PR,network_socket_bind:()=>DR,network_socket_close:()=>bR,network_socket_connect:()=>fR,network_socket_init:()=>NR,network_socket_listen:()=>FR,network_socket_readline:()=>YR,network_socket_receive:()=>vR,network_socket_receive_from:()=>xR,network_socket_send:()=>XR,network_socket_send_to:()=>yR,network_stop:()=>CR,network_wifi_connect:()=>cR,ntptime_address:()=>wR,ntptime_time:()=>UR,requests_attribute:()=>BR,requests_attribute2:()=>KR,requests_get:()=>VR,requests_get2:()=>HR,requests_method:()=>GR,requests_post:()=>WR});var U={};t.r(U),t.d(U,{pe_g1_battery_left:()=>ec,pe_g1_dc_motor:()=>ic,pe_g1_dc_motor_speed:()=>nc,pe_g1_servo_get_angle:()=>oc,pe_g1_servo_get_speed:()=>pc,pe_g1_servo_set_angle:()=>sc,pe_g1_servo_set_speed:()=>_c,pe_g1_use_i2c_init:()=>tc});var w={};t.r(w),t.d(w,{CI130X_BROADCAST:()=>Yc,CI130X_GET_THE_RECOGNIZED_CMD:()=>Pc,CI130X_GET_WHETHER_IDENTIFY:()=>Fc,CI130X_IDENTIFY_AND_SAVE:()=>fc,CI130X_SET_SYSTEM_CMD:()=>vc,HCSR04:()=>cg,PS2_Button:()=>Ag,PS2_Buttons:()=>Ng,PS2_Buttons_new:()=>Pg,PS2_State:()=>Lg,PS2_init:()=>gg,PS2_init_new:()=>fg,PS2_stk:()=>Dg,PS2_stk_new:()=>Yg,PS2_vibration:()=>Sg,PS2_vibration_new:()=>Fg,camera_sensor_init:()=>aC,camera_sensor_result:()=>uC,column_tube_foot:()=>TC,define_keyboards:()=>MC,educore_body_sensor:()=>$g,educore_button_sensor_extern:()=>iC,educore_camera_sensor:()=>pC,educore_infrared_sensor:()=>eC,educore_soilhum_sensor:()=>Zg,educore_temp_sensor:()=>oC,educore_temphum_sensor:()=>tC,educore_ultrasonic_sensor:()=>sC,esp32_s2_weather_init:()=>mg,esp32_s2_weather_rain:()=>Og,esp32_s2_weather_wd:()=>Eg,esp32_s2_weather_ws:()=>Rg,extern_rfid_read:()=>ng,extern_rfid_readcontent:()=>_g,extern_rfid_readid:()=>sg,extern_rfid_status:()=>ag,extern_rfid_write:()=>og,extern_rfid_write_return:()=>pg,get_keboards_value:()=>hC,gnss_get_data:()=>yg,gnss_have_data:()=>xg,init_init_rotary_encoder:()=>mC,init_matrix_keyboard:()=>lC,interaction_whether_to_interaction:()=>Nc,interaction_whether_to_interaction_SANT:()=>Dc,line_tube_foot:()=>IC,mixbot_sensor_extern_get_addr:()=>Hg,mixbot_sensor_extern_set_addr:()=>Wg,pm25_get_data:()=>Xg,radar_set_DETECTION_THRESHOLD:()=>Ac,radar_set_DETECTION_THRESHOLD_SANT:()=>Lc,robot_button_extern_get_value:()=>Vg,robot_color_extern_get_value:()=>kg,robot_infrared_extern_get_value:()=>Gg,robot_infrared_extern_grey_get_value:()=>Ug,robot_potentiometer_extern_get_value:()=>wg,robot_sonar_extern_get_value:()=>Kg,robot_sonar_extern_led:()=>Jg,robot_touch_extern_get_value:()=>Bg,rotary_key:()=>EC,sensor_APDS9960_extern:()=>xc,sensor_DS18X20:()=>gc,sensor_LTR308_extern:()=>yc,sensor_LTR390UV_extern:()=>Bc,sensor_MAX30102_extern:()=>Xc,sensor_QMC5883L_extern:()=>Jc,sensor_VL530LX_extern:()=>Gc,sensor_adxl345_get_acceleration:()=>Tc,sensor_aht11_extern:()=>wc,sensor_bmp:()=>Rc,sensor_compass_reset:()=>eg,sensor_dht11:()=>hc,sensor_hp203_extern:()=>kc,sensor_light_level:()=>Mc,sensor_lm35:()=>Cc,sensor_ltr381_extern:()=>bc,sensor_mixgo_extern_button_attachInterrupt:()=>lc,sensor_mixgo_extern_button_get_presses:()=>dc,sensor_mixgo_extern_button_is_pressed:()=>uc,sensor_mixgo_extern_button_was_pressed:()=>rc,sensor_mixgo_extern_light:()=>mc,sensor_mixgo_extern_pin_near:()=>Oc,sensor_mixgo_extern_sound:()=>Ec,sensor_mixgoce_hot_wheel_degrees:()=>hg,sensor_mixgoce_hot_wheel_is_touched:()=>Mg,sensor_mpu9250_attachGestureInterrupt:()=>Ic,sensor_mpu9250_calibrate_compass:()=>$c,sensor_mpu9250_field_strength:()=>tg,sensor_mpu9250_gesture:()=>Qc,sensor_mpu9250_get_acceleration:()=>qc,sensor_mpu9250_get_gyro:()=>jc,sensor_mpu9250_get_magnetic:()=>zc,sensor_mpu9250_temperature:()=>Zc,sensor_ms5611_extern:()=>Wc,sensor_ms5611_extern_altitude:()=>Kc,sensor_read_humiture:()=>nC,sensor_sht:()=>cc,sensor_shtc3_extern:()=>Uc,sensor_spl06_001_extern:()=>Hc,sensor_ucs12071_extern:()=>Vc,sensor_use_i2c_init:()=>Sc,sensor_use_spi_init:()=>ig,sensor_use_uart_init:()=>vg,sensor_weather_solo_init:()=>Qg,sensor_weather_solo_rain:()=>jg,sensor_weather_solo_wd:()=>qg,sensor_weather_solo_ws:()=>zg,sensor_weigh_init:()=>rC,tvoc_get_data:()=>bg,ultrasonic_sensor_read_distance:()=>_C,weather_data:()=>ug,weather_have_data:()=>rg,weather_set_label:()=>lg,weather_set_label_container:()=>Ig,weather_set_label_item:()=>Tg,weather_uart_mixio:()=>dg,weigh_sensor_get_weight:()=>dC});var k={};t.r(k),t.d(k,{HCSR04:()=>xC,RTC_set_date:()=>XC,RTC_set_time:()=>vC,bitbot_als_num:()=>HS,dht11:()=>jS,educore_button_sensor:()=>oA,educore_button_was_pressed:()=>pA,educore_gyroscope_sensor:()=>nA,educore_gyroscope_sensor_read:()=>sA,educore_gyroscope_sensor_shake:()=>_A,educore_light_sensor:()=>iA,educore_rfid_sensor:()=>aA,educore_rfid_sensor_scan:()=>uA,educore_rfid_sensor_scan_data:()=>rA,educore_voice_sensor:()=>tA,number1:()=>bC,number2:()=>VC,number3:()=>BC,number4:()=>GC,number5:()=>UC,number6:()=>wC,number7:()=>kC,onboard_RTC_get_time:()=>jC,onboard_RTC_get_time_str:()=>nS,onboard_RTC_get_timestamp:()=>$C,onboard_RTC_get_timetuple_to_str:()=>sS,onboard_RTC_set_datetime:()=>eS,onboard_RTC_settime_string:()=>tS,onboard_RTC_timestamp_totuple:()=>ZC,rfid_readcontent:()=>dS,rfid_readid:()=>rS,rfid_status:()=>TS,rfid_write:()=>lS,rfid_write_return:()=>IS,sensor_LTR308:()=>_S,sensor_aht11:()=>pS,sensor_bitbot_ALS:()=>kS,sensor_button_get_presses:()=>JS,sensor_button_is_pressed:()=>WS,sensor_button_was_pressed:()=>KS,sensor_distance_hrsc04:()=>YC,sensor_eulerangles:()=>hS,sensor_field_strength:()=>$S,sensor_get_acceleration:()=>MS,sensor_get_temperature:()=>aS,sensor_get_the_coprocessor_version:()=>dA,sensor_hp203:()=>uS,sensor_light:()=>zS,sensor_mixbot_get_gyro:()=>wS,sensor_mixbot_patrol_calibrate:()=>BS,sensor_mixbot_patrol_value:()=>GS,sensor_mixbot_temperature:()=>US,sensor_mixgo_LTR308:()=>qC,sensor_mixgo_button_attachInterrupt:()=>CC,sensor_mixgo_button_get_presses:()=>gC,sensor_mixgo_button_is_pressed:()=>RC,sensor_mixgo_button_was_pressed:()=>cC,sensor_mixgo_cc_mmc5603_calibrate_compass:()=>NS,sensor_mixgo_cc_mmc5603_get_angle:()=>LS,sensor_mixgo_cc_mmc5603_get_magnetic:()=>AS,sensor_mixgo_light:()=>yC,sensor_mixgo_nova_LTR308:()=>QC,sensor_mixgo_nova_pin_near:()=>JC,sensor_mixgo_pin_near:()=>KC,sensor_mixgo_pin_near_double:()=>WC,sensor_mixgo_pin_near_single:()=>HC,sensor_mixgo_pin_pressed:()=>DC,sensor_mixgo_sant_color:()=>zC,sensor_mixgo_touch_slide:()=>PC,sensor_mixgocar42_button_attachInterrupt:()=>NC,sensor_mixgocar42_button_get_presses:()=>LC,sensor_mixgocar42_button_is_pressed:()=>SC,sensor_mixgocar42_button_was_pressed:()=>AC,sensor_mixgocar_battery_left:()=>VS,sensor_mixgocar_pin_near:()=>yS,sensor_mixgocar_pin_near_line:()=>xS,sensor_mixgocar_pin_near_state_change:()=>bS,sensor_mixgoce_pin_pressed:()=>fC,sensor_mixgoce_temperature:()=>fS,sensor_mixgome_temperature:()=>DS,sensor_mpython_pin_pressed:()=>FC,sensor_mpython_qmi8658_get_gyro:()=>FS,sensor_mpython_qmi8658_temperature:()=>PS,sensor_onboard_compass_reset:()=>SS,sensor_onboard_mpu9250_calibrate_compass:()=>cS,sensor_onboard_mpu9250_field_strength:()=>CS,sensor_onboard_mpu9250_gesture:()=>mS,sensor_onboard_mpu9250_get_acceleration:()=>ES,sensor_onboard_mpu9250_get_gyro:()=>RS,sensor_onboard_mpu9250_get_magnetic:()=>OS,sensor_onboard_mpu9250_temperature:()=>gS,sensor_pin_near:()=>qS,sensor_pin_pressed:()=>QS,sensor_read:()=>eA,sensor_rm_acc:()=>XS,sensor_rm_battery_left:()=>vS,sensor_rm_pin_near_double:()=>YS,sensor_rtc_init:()=>iS,sensor_sound:()=>oS,sensor_temperature:()=>ZS,simulated_light_sensor:()=>lA});var H={};t.r(H),t.d(H,{serial_any:()=>gA,serial_begin:()=>NA,serial_print:()=>mA,serial_print_byte:()=>hA,serial_print_hex:()=>OA,serial_println:()=>EA,serial_read_from_ai:()=>yA,serial_readline:()=>CA,serial_readstr:()=>cA,serial_readstr_until:()=>SA,serial_receive_data_event:()=>RA,serial_send_to_ai:()=>xA,serial_softserial:()=>LA,serial_softserial_new:()=>AA,system_input:()=>DA,system_print:()=>fA,system_print_container:()=>vA,system_print_end:()=>PA,system_print_inline:()=>FA,system_print_item:()=>XA,system_print_many:()=>YA});var W={};t.r(W),t.d(W,{Panic_with_status_code:()=>GA,Timer_init:()=>tL,base_delay:()=>nL,controls_delay:()=>BA,controls_delay_new:()=>VA,controls_millis:()=>wA,controls_uname:()=>HA,raw_block:()=>kA,reset:()=>UA,set_system_timer:()=>qA,system_bitbot_shutdown:()=>ZA,system_machine_reset:()=>$A,system_ticks_diff:()=>JA,system_timer:()=>KA,system_timer_init:()=>QA,system_wdt_feed:()=>jA,system_wdt_init:()=>zA,time_ticks_diff:()=>iL,timer:()=>WA,timer2:()=>eL});var K={};t.r(K),t.d(K,{Air_daily_content:()=>mL,Air_now_content:()=>rL,Geo_moon_content:()=>OL,Geo_sun_content:()=>EL,Life_suggestion_content:()=>lL,Location_search_content:()=>TL,Tide_daily_content:()=>IL,WEATHER_DAILY:()=>oL,WEATHER_HOUR:()=>pL,WEATHER_NOW:()=>_L,Weather_alarm_content:()=>dL,Weather_daily:()=>ML,Weather_daily_content:()=>hL,Weather_now:()=>aL,Weather_now_content:()=>uL});var J={};t.r(J),t.d(J,{PIN_init:()=>cN,actuator_extern_get_led_bright:()=>UL,actuator_extern_get_led_state:()=>wL,actuator_extern_led_bright:()=>GL,actuator_extern_led_brightness:()=>kL,actuator_ms32006_dcmotor:()=>NL,actuator_ms32006_init:()=>LL,actuator_ms32006_stepper:()=>DL,actuator_neopixel_init:()=>HL,actuator_neopixel_rgb:()=>JL,actuator_neopixel_rgb_all:()=>WL,actuator_neopixel_rgb_show_all_chase:()=>QL,actuator_neopixel_rgb_show_all_rainbow:()=>qL,actuator_neopixel_write:()=>KL,actuator_use_uart_init:()=>zL,backstage_esp32_music_play_list:()=>bL,esp32_music_get_tempo_extern:()=>xL,esp32_music_pitch:()=>FL,esp32_music_pitch_init:()=>fL,esp32_music_pitch_with_time:()=>PL,esp32_music_play_list:()=>yL,esp32_music_reset_extern:()=>VL,esp32_music_set_tempo_extern:()=>XL,esp32_music_stop:()=>YL,esp32_set_music_volume:()=>vL,mixbot_actuator_extern_get_addr:()=>ON,mixbot_actuator_extern_set_addr:()=>RN,mixbot_addr_extern:()=>oN,parrot_PIN_init:()=>AN,parrot_move_speed:()=>LN,pin_led_bright:()=>gN,player_play_music:()=>eN,player_set_mode:()=>tN,player_set_play:()=>$L,player_set_volume:()=>ZL,player_whether_stop:()=>jL,robot_led_extern:()=>rN,robot_led_extern_get_value:()=>dN,robot_motor_extern:()=>pN,robot_motor_extern_get_speed:()=>aN,robot_servo_extern_absolute_run:()=>MN,robot_servo_extern_get_status:()=>lN,robot_servo_extern_relative_continue:()=>EN,robot_servo_extern_relative_origin:()=>hN,robot_servo_extern_relative_run:()=>mN,robot_servo_extern_stop:()=>TN,robot_servo_extern_stop_mode:()=>IN,robot_traffic_light_extern:()=>uN,servo_PIN_init:()=>CN,servo_get_angle:()=>SL,servo_get_speed:()=>AL,servo_init:()=>RL,servo_move:()=>BL,servo_move_angle:()=>SN,servo_set_angle:()=>gL,servo_set_speed:()=>CL,servo_speed_360:()=>cL,syn6288_builtin_voice:()=>sN,syn6288_get_voice:()=>nN,syn6288_set_voice:()=>iN,syn6288_tts_play:()=>_N});var Q={};t.r(Q),t.d(Q,{actuator_dc_motor:()=>eD,actuator_dc_motor_stop:()=>iD,actuator_get_led_bright:()=>VN,actuator_get_led_state:()=>BN,actuator_led_bright:()=>bN,actuator_led_brightness:()=>GN,actuator_mixbot_buzzer_on_off:()=>pD,actuator_mixgo_nova_mic_get:()=>lD,actuator_mixgo_nova_mic_set:()=>dD,actuator_mixgo_nova_onboard_music_pitch:()=>ED,actuator_mixgo_nova_onboard_music_stop:()=>OD,actuator_mixgo_nova_play_audio:()=>hD,actuator_mixgo_nova_play_online_audio:()=>mD,actuator_mixgo_nova_record_audio:()=>MD,actuator_mixgo_nova_voice_get:()=>TD,actuator_mixgo_nova_voice_set:()=>ID,actuator_mixgo_zero_led_color:()=>UN,actuator_onboard_neopixel_rgb:()=>QN,actuator_onboard_neopixel_rgb_all:()=>qN,actuator_onboard_neopixel_rgb_show_all_chase:()=>zN,actuator_onboard_neopixel_rgb_show_all_rainbow:()=>jN,actuator_onboard_neopixel_write:()=>JN,actuator_stepper_keep:()=>ZN,actuator_stepper_stop:()=>tD,analog_ble_keyboard_init:()=>PD,analog_ble_keyboard_input:()=>XD,analog_ble_keyboard_mouse_init:()=>wD,analog_ble_keyboard_mouse_input:()=>KD,analog_ble_keyboard_mouse_send_battery:()=>WD,analog_ble_keyboard_mouse_str:()=>JD,analog_ble_keyboard_send_battery:()=>yD,analog_ble_keyboard_str:()=>xD,analog_ble_mouse_init:()=>bD,analog_ble_mouse_input:()=>GD,analog_ble_mouse_keyboard_input:()=>QD,analog_ble_mouse_send_battery:()=>UD,analog_keyboard_input:()=>SD,analog_keyboard_str:()=>fD,analog_mouse_input:()=>ND,backstage_onboard_music_play_list:()=>vN,bitbot_motor:()=>rD,bitbot_move:()=>aD,bitbot_stop:()=>uD,ble_keyboard_connect:()=>vD,ble_keyboard_get_mac:()=>YD,ble_keyboard_mouse_connect:()=>HD,ble_keyboard_mouse_get_mac:()=>kD,ble_mouse_connect:()=>BD,ble_mouse_get_mac:()=>VD,cc_number:()=>wN,educore_ble_keyboard_input:()=>_f,educore_ble_sensor_connected:()=>sf,educore_ble_sensor_init:()=>nf,educore_buzzer:()=>qD,educore_buzzer_play_tone:()=>zD,educore_buzzer_play_tone_time:()=>jD,educore_buzzer_stop:()=>$D,educore_neopixel_clear:()=>ef,educore_neopixel_rgb:()=>tf,educore_rgb_light:()=>ZD,esp32_music_get_tempo:()=>DN,esp32_music_reset:()=>XN,esp32_music_set_tempo:()=>NN,esp32_onboard_music_pitch:()=>fN,esp32_onboard_music_pitch_with_time:()=>FN,esp32_onboard_music_play_list:()=>YN,esp32_onboard_music_stop:()=>PN,general_key:()=>LD,general_key_tuple:()=>FD,get_keyboard_light:()=>of,get_power_output:()=>cD,ledswitch:()=>yN,mixbot_motor:()=>oD,mixbot_motor_status:()=>nD,mixbot_move:()=>sD,mixbot_stop:()=>_D,mouse_key:()=>DD,number:()=>xN,record_audio:()=>af,rm_actuator_get_led_bright:()=>HN,rm_actuator_get_led_state:()=>WN,rm_actuator_led_bright:()=>kN,rm_actuator_led_brightness:()=>KN,rm_motor:()=>$N,set_all_power_output:()=>gD,set_microphone_amplification:()=>pf,set_music_volume:()=>uf,set_part_power_output:()=>CD,set_power_output:()=>RD,special_key:()=>AD});var q={};t.r(q),t.d(q,{ai_sensor_20object:()=>wf,ai_sensor_ailocal_class:()=>Pf,ai_sensor_ailocal_class_result:()=>Yf,ai_sensor_ailocal_train:()=>Ff,ai_sensor_asr_recognize:()=>bf,ai_sensor_audio_play:()=>Xf,ai_sensor_audio_record:()=>vf,ai_sensor_barcode:()=>hf,ai_sensor_circle:()=>gf,ai_sensor_classifier_faces:()=>Uf,ai_sensor_color:()=>Lf,ai_sensor_color_chases:()=>ff,ai_sensor_color_chases_result:()=>Df,ai_sensor_config:()=>lf,ai_sensor_face:()=>Gf,ai_sensor_find_20objects:()=>kf,ai_sensor_find_barcodes:()=>mf,ai_sensor_find_circles:()=>Cf,ai_sensor_find_colors:()=>Nf,ai_sensor_find_licenseplates:()=>Bf,ai_sensor_find_lines:()=>cf,ai_sensor_find_qrcodes:()=>Mf,ai_sensor_find_rects:()=>Af,ai_sensor_find_tags:()=>Of,ai_sensor_licenseplate:()=>Vf,ai_sensor_line:()=>Rf,ai_sensor_qrcode:()=>Tf,ai_sensor_qrcode_lite:()=>df,ai_sensor_rect:()=>Sf,ai_sensor_rgb:()=>If,ai_sensor_tag:()=>Ef,ai_sensor_use_uart_init:()=>rf,ai_sensor_yolo_recognize:()=>xf,ai_sensor_yolo_recognize_result:()=>yf});var z={};t.r(z),t.d(z,{MICROPYTHON_AI_Speech_asr:()=>Kf,MICROPYTHON_AI_Speech_unit:()=>Wf,MICROPYTHON_AI_client:()=>Hf});var j={};t.r(j),t.d(j,{mpython_blynk_app_data:()=>sF,mpython_blynk_app_notify:()=>Zf,mpython_blynk_email:()=>_F,mpython_blynk_get_timers:()=>eF,mpython_blynk_on_connected:()=>zf,mpython_blynk_on_disconnected:()=>qf,mpython_blynk_run:()=>$f,mpython_blynk_sensor_data_to_app:()=>nF,mpython_blynk_set_property:()=>oF,mpython_blynk_setup:()=>pF,mpython_blynk_stop_timers:()=>tF,mpython_blynk_sync_virtual:()=>Qf,mpython_blynk_terminal_widget_vpin:()=>Jf,mpython_blynktimer:()=>iF,mpython_blynktimer_run:()=>jf});var $={};t.r($),t.d($,{cc_g1_read_bat:()=>aF,cc_g1_read_joystick:()=>uF,cc_g1_read_key:()=>rF,cc_g1_turnoff:()=>dF});var Z={};t.r(Z),t.d(Z,{ce_go_dc_motor:()=>OF,ce_go_get_led_bright:()=>TF,ce_go_get_led_state:()=>MF,ce_go_hall_attachInterrupt:()=>RF,ce_go_hall_data:()=>gF,ce_go_hall_initialize:()=>cF,ce_go_led_bright:()=>IF,ce_go_led_brightness:()=>hF,ce_go_light_number:()=>lF,ce_go_pin_light:()=>NF,ce_go_pin_near:()=>SF,ce_go_pin_near_line:()=>CF,ce_go_pin_near_state_change:()=>AF,ce_go_stepper_keep:()=>mF,ce_go_stepper_stop:()=>EF,educore_car:()=>DF,educore_car_pin_near:()=>YF,educore_car_pin_near_line:()=>PF,educore_car_stepper_keep:()=>fF,educore_car_stepper_stop:()=>FF,sensor_mixgome_eulerangles:()=>LF});var tt={};t.r(tt),t.d(tt,{communicate_bluetooth_central_init:()=>IP,communicate_bluetooth_connect:()=>hP,communicate_bluetooth_disconnect:()=>mP,communicate_bluetooth_handle:()=>CP,communicate_bluetooth_is_connected:()=>OP,communicate_bluetooth_mac:()=>EP,communicate_bluetooth_peripheral_init:()=>TP,communicate_bluetooth_recv:()=>gP,communicate_bluetooth_recv_only:()=>cP,communicate_bluetooth_scan:()=>MP,communicate_bluetooth_send:()=>RP,communicate_espnow_init:()=>SP,communicate_espnow_init_new:()=>AP,communicate_i2c_available:()=>GF,communicate_i2c_init:()=>xF,communicate_i2c_master_read:()=>BF,communicate_i2c_onboard:()=>vF,communicate_i2c_read:()=>yF,communicate_i2c_scan:()=>VF,communicate_i2c_write:()=>bF,communicate_ir_recv_init:()=>nP,communicate_ir_send_init:()=>aP,communicate_ow_init:()=>jF,communicate_ow_read:()=>tP,communicate_ow_reset:()=>ZF,communicate_ow_scan:()=>$F,communicate_ow_select:()=>iP,communicate_ow_write:()=>eP,communicate_spi_buffer:()=>HF,communicate_spi_init:()=>wF,communicate_spi_onboard:()=>XF,communicate_spi_read:()=>WF,communicate_spi_read_output:()=>KF,communicate_spi_readinto:()=>JF,communicate_spi_readinto_output:()=>QF,communicate_spi_set:()=>kF,communicate_spi_write:()=>qF,communicate_spi_write_readinto:()=>zF,espnow_radio_channel:()=>PP,espnow_radio_channel_new:()=>vP,espnow_radio_on_off:()=>XP,espnow_radio_rec:()=>yP,espnow_radio_recv:()=>VP,espnow_radio_recv_certain_msg:()=>BP,espnow_radio_recv_certain_msg_new:()=>UP,espnow_radio_recv_msg:()=>bP,espnow_radio_recv_new:()=>GP,espnow_radio_send:()=>xP,espnow_radio_txpower:()=>YP,i2c_slave_onreceive:()=>UF,internal_variable:()=>sP,ir_recv_timeout:()=>pP,ir_transmit_busy:()=>lP,ir_transmit_conventional_data:()=>uP,ir_transmit_raw_code:()=>dP,ir_transmit_study_code:()=>rP,ir_whether_recv:()=>oP,lora_init:()=>wP,lora_packet:()=>kP,lora_recv:()=>WP,lora_send:()=>HP,network_espnow_info:()=>NP,network_espnow_mac:()=>LP,network_espnow_recv:()=>DP,network_espnow_recv_handle:()=>FP,network_espnow_send:()=>fP,recv_fun:()=>_P,urequests_attribute:()=>JP,urequests_get:()=>KP,urequests_method:()=>QP});var et={};t.r(et),t.d(et,{display_animate:()=>OY,display_circle:()=>RY,display_color_seclet:()=>PY,display_draw_4strings:()=>lY,display_fill:()=>EY,display_lcd_use_i2c_init:()=>bY,display_line:()=>MY,display_line_arbitrarily:()=>IY,display_matrix_extern_bright_point:()=>_Y,display_matrix_extern_bright_screen:()=>pY,display_matrix_extern_clear:()=>iY,display_matrix_extern_get_pixel:()=>sY,display_matrix_extern_get_screen_pixel:()=>oY,display_matrix_extern_image_builtins:()=>aY,display_matrix_extern_scroll_string:()=>tY,display_matrix_extern_scroll_string_delay:()=>eY,display_matrix_extern_shift:()=>nY,display_matrix_extern_show_frame_string:()=>$P,display_matrix_extern_show_frame_string_delay:()=>ZP,display_matrix_extern_show_image:()=>zP,display_matrix_extern_show_image_or_string_delay:()=>jP,display_matrix_use_i2c_init:()=>qP,display_oled_drawPixel:()=>CY,display_oled_showBitmap:()=>gY,display_oled_use_i2c_init:()=>wY,display_onoff:()=>hY,display_rect:()=>TY,display_tm1650_power:()=>AY,display_tm1650_set_brightness:()=>DY,display_tm1650_show_dot:()=>NY,display_tm1650_show_num:()=>LY,display_tm_use_i2c_init:()=>SY,display_triangle:()=>cY,display_use_i2c_init:()=>dY,extern_oled_bright_point:()=>tv,extern_oled_clear:()=>jY,extern_oled_get_pixel:()=>ZY,extern_oled_hvline:()=>iv,extern_oled_line:()=>nv,extern_oled_scroll_string:()=>qY,extern_oled_scroll_string_delay:()=>zY,extern_oled_shape_rect:()=>ev,extern_oled_shift:()=>$Y,extern_oled_show_frame_string:()=>JY,extern_oled_show_frame_string_delay:()=>QY,extern_oled_show_image:()=>kY,extern_oled_show_image_or_string_delay:()=>KY,extern_oled_show_image_xy:()=>HY,extern_oled_show_string:()=>WY,image_shift:()=>mY,lcd_backlight:()=>GY,lcd_clear:()=>UY,lcd_print_string:()=>BY,lcd_show_image_or_string_delay:()=>VY,matrix_extern_image_arithmetic:()=>uY,matrix_extern_image_invert:()=>rY,tft_fill:()=>xY,tft_line_arbitrarily:()=>yY,tft_scroll_string_delay:()=>XY,tft_show_frame_string_delay:()=>vY,tft_show_image_or_string_delay:()=>YY,tft_show_image_xy:()=>FY,tft_use_spi_init:()=>fY});var it={};t.r(it),t.d(it,{bitbot_display_bitmap_create:()=>zv,bitbot_display_image_create:()=>qv,display_available:()=>mv,display_bitmap_create:()=>Mv,display_bright_point:()=>gv,display_bright_screen:()=>Sv,display_clear:()=>hv,display_get_pixel:()=>cv,display_get_screen_pixel:()=>Cv,display_image_builtins:()=>lv,display_image_builtins_all:()=>Iv,display_image_create:()=>Tv,display_scroll_string:()=>av,display_scroll_string_delay:()=>uv,display_scroll_way:()=>rv,display_shift:()=>Rv,display_show_frame_string:()=>ov,display_show_frame_string_delay:()=>pv,display_show_image:()=>sv,display_show_image_or_string_delay:()=>_v,draw_pointer:()=>IX,image_arithmetic:()=>Ev,image_invert:()=>Ov,mixbot_display_bitmap_create:()=>Hv,mixbot_display_bright_screen:()=>Jv,mixbot_display_get_ambientbright:()=>Kv,mixbot_display_get_screen_pixel:()=>Wv,mixbot_display_image_create:()=>kv,mixbot_display_rotate:()=>Qv,mixgo_display_bitmap_create:()=>Pv,mixgo_display_image_create_new:()=>Fv,mixgome_display_bitmap_create:()=>Lv,mixgome_display_font:()=>fv,mixgome_display_image_create:()=>Av,mixgomini_display_bitmap_create:()=>Dv,mixgomini_display_image_create:()=>Nv,mpython_display_hvline:()=>Uv,mpython_display_line:()=>wv,mpython_display_shape_rect:()=>Gv,mpython_pbm_image:()=>Yv,nova_draw_pointer:()=>TX,onboard_oled_bright_point:()=>Bv,onboard_oled_scroll_string_delay:()=>Vv,onboard_oled_show_frame_string_delay:()=>bv,onboard_oled_show_image:()=>vv,onboard_oled_show_image_or_string_delay:()=>yv,onboard_oled_show_image_xy:()=>Xv,onboard_oled_show_string:()=>xv,onboard_tft_bright_point:()=>_X,onboard_tft_bright_screen:()=>gX,onboard_tft_clear:()=>CX,onboard_tft_clock_clear:()=>dX,onboard_tft_clock_draw:()=>rX,onboard_tft_clock_get_rtctime:()=>aX,onboard_tft_clock_init:()=>pX,onboard_tft_clock_set_time:()=>uX,onboard_tft_display_hvline:()=>iX,onboard_tft_display_line:()=>nX,onboard_tft_display_shape_circle:()=>lX,onboard_tft_display_shape_rect:()=>eX,onboard_tft_fill:()=>oX,onboard_tft_get_pixel:()=>sX,onboard_tft_get_screen_pixel:()=>cX,onboard_tft_scroll_string_delay:()=>dv,onboard_tft_shift:()=>RX,onboard_tft_show_frame_string:()=>OX,onboard_tft_show_frame_string_delay:()=>tX,onboard_tft_show_image:()=>EX,onboard_tft_show_image_or_string_delay:()=>Zv,onboard_tft_show_image_xy:()=>jv,onboard_tft_show_image_xy_direct:()=>$v,onboard_tft_show_qrcode:()=>hX,onboard_tft_show_qrcode_details:()=>mX,onboard_tft_show_texts:()=>MX});var nt={};t.r(nt),t.d(nt,{factory_block:()=>PX,factory_block_return:()=>YX,factory_block_return_with_textarea:()=>XX,factory_block_with_textarea:()=>vX,factory_callMethod_noreturn:()=>fX,factory_callMethod_return:()=>FX,factory_declare:()=>DX,factory_from_import:()=>SX,factory_function_noreturn:()=>LX,factory_function_return:()=>NX,factory_import:()=>AX,folding_block:()=>xX});var st={};t.r(st),t.d(st,{inout_analog_atten:()=>zX,inout_analog_read:()=>kX,inout_analog_read_init:()=>qX,inout_analog_write:()=>GX,inout_analog_write_init:()=>QX,inout_analog_write_set:()=>UX,inout_digital_init:()=>KX,inout_digital_read:()=>VX,inout_digital_write:()=>bX,inout_highlow:()=>yX,inout_pin_attachInterrupt:()=>WX,inout_pin_pressed:()=>HX,inout_pin_pressed_init:()=>jX,inout_pwm_analog_write:()=>BX,inout_pwm_analog_write_init:()=>JX,inout_pwm_analog_write_set_freq:()=>wX});var _t={};t.r(_t),t.d(_t,{IOT_CONNECT_OLLAMA:()=>Lx,IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>mx,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>Mx,IOT_EMQX_PING:()=>Ex,IOT_FORMATTING:()=>Ix,IOT_FORMAT_STRING:()=>Tx,IOT_MIXIO_NTP:()=>Ox,IOT_MIXIO_PUBLISH:()=>_x,IOT_MIXIO_PUBLISHEX:()=>ox,IOT_MIXIO_SUBSCRIBE:()=>px,iot_client_onboard:()=>Rx,iot_connect_ollama:()=>Ax,iot_connect_openai:()=>Nx,iot_http_client:()=>cx,iot_http_data:()=>gx,iot_mixio_check:()=>rx,iot_mixio_connect:()=>sx,iot_mixio_connect_only:()=>ux,iot_mixio_disconnect:()=>ax,iot_mixio_format_msg:()=>lx,iot_mixio_format_topic:()=>dx,iot_mixly_key:()=>hx,iot_mqtt_client:()=>Cx,iot_mqtt_data:()=>Sx,iot_onenet_check:()=>ix,iot_onenet_connect:()=>ZX,iot_onenet_disconnect:()=>tx,iot_onenet_publish:()=>nx,iot_onenet_publish_dict:()=>ex,iot_tiny_web_db_count:()=>xx,iot_tiny_web_db_delete:()=>bx,iot_tiny_web_db_get:()=>Xx,iot_tiny_web_db_init:()=>Px,iot_tiny_web_db_init_with_mqtt:()=>Yx,iot_tiny_web_db_search:()=>yx,iot_tiny_web_db_update:()=>vx,iot_wifi_connect:()=>$X,ollama_empty_history:()=>Fx,use_ollama_llm_to_chat:()=>Dx,use_ollama_llm_to_chat_return:()=>fx});var ot={};t.r(ot),t.d(ot,{educore_mqtt_connect:()=>My,educore_mqtt_connect_success:()=>Oy,educore_mqtt_subscribe_message:()=>hy,educore_mqtt_topic_publish:()=>Ey,educore_mqtt_topic_subscribe:()=>my,educore_wifi_connect:()=>Ty,network_ap_connect:()=>Kx,network_connect:()=>Bx,network_get_connect:()=>Ux,network_get_wifi:()=>Wx,network_init:()=>Vx,network_is_active:()=>Hx,network_open:()=>kx,network_scan:()=>Jx,network_server:()=>Qx,network_socket_accept:()=>Zx,network_socket_bind:()=>zx,network_socket_close:()=>_y,network_socket_connect:()=>jx,network_socket_init:()=>qx,network_socket_listen:()=>$x,network_socket_readline:()=>ty,network_socket_receive:()=>ey,network_socket_receive_from:()=>ny,network_socket_send:()=>iy,network_socket_send_to:()=>sy,network_stop:()=>wx,network_wifi_connect:()=>Gx,ntptime_address:()=>ry,ntptime_time:()=>uy,requests_attribute:()=>py,requests_attribute2:()=>ly,requests_get:()=>oy,requests_get2:()=>dy,requests_method:()=>ay,requests_post:()=>Iy});var pt={};t.r(pt),t.d(pt,{pe_g1_battery_left:()=>cy,pe_g1_dc_motor:()=>gy,pe_g1_dc_motor_speed:()=>Cy,pe_g1_servo_get_angle:()=>Ly,pe_g1_servo_get_speed:()=>Ny,pe_g1_servo_set_angle:()=>Sy,pe_g1_servo_set_speed:()=>Ay,pe_g1_use_i2c_init:()=>Ry});var at={};t.r(at),t.d(at,{CI130X_BROADCAST:()=>zy,CI130X_GET_THE_RECOGNIZED_CMD:()=>qy,CI130X_GET_WHETHER_IDENTIFY:()=>Qy,CI130X_IDENTIFY_AND_SAVE:()=>Jy,CI130X_SET_SYSTEM_CMD:()=>jy,HCSR04:()=>fb,PS2_Button:()=>Yb,PS2_Buttons:()=>vb,PS2_Buttons_new:()=>Ub,PS2_State:()=>Xb,PS2_init:()=>Fb,PS2_init_new:()=>Bb,PS2_stk:()=>xb,PS2_stk_new:()=>wb,PS2_vibration:()=>Pb,PS2_vibration_new:()=>Gb,RTC_get_time:()=>bb,RTC_set_date:()=>xy,RTC_set_datetime:()=>yb,RTC_set_time:()=>Xy,camera_sensor_init:()=>OV,camera_sensor_result:()=>RV,column_tube_foot:()=>SV,define_keyboards:()=>AV,educore_body_sensor:()=>uV,educore_button_sensor_extern:()=>IV,educore_camera_sensor:()=>EV,educore_infrared_sensor:()=>lV,educore_soilhum_sensor:()=>rV,educore_temp_sensor:()=>mV,educore_temphum_sensor:()=>dV,educore_ultrasonic_sensor:()=>MV,esp32_s2_weather_init:()=>Ab,esp32_s2_weather_rain:()=>Nb,esp32_s2_weather_wd:()=>Lb,esp32_s2_weather_ws:()=>Db,extern_rfid_read:()=>Ib,extern_rfid_readcontent:()=>Mb,extern_rfid_readid:()=>Tb,extern_rfid_status:()=>Eb,extern_rfid_write:()=>hb,extern_rfid_write_return:()=>mb,get_keboards_value:()=>NV,gnss_get_data:()=>Wb,gnss_have_data:()=>Kb,init_init_rotary_encoder:()=>DV,init_matrix_keyboard:()=>LV,interaction_whether_to_interaction:()=>Wy,interaction_whether_to_interaction_SANT:()=>Ky,line_tube_foot:()=>CV,mixbot_sensor_extern_get_addr:()=>iV,mixbot_sensor_extern_set_addr:()=>nV,pm25_get_data:()=>Hb,radar_set_DETECTION_THRESHOLD:()=>ky,radar_set_DETECTION_THRESHOLD_SANT:()=>Hy,robot_button_extern_get_value:()=>Qb,robot_color_extern_get_value:()=>Zb,robot_infrared_extern_get_value:()=>zb,robot_infrared_extern_grey_get_value:()=>jb,robot_potentiometer_extern_get_value:()=>$b,robot_sonar_extern_get_value:()=>tV,robot_sonar_extern_led:()=>eV,robot_touch_extern_get_value:()=>qb,rotary_key:()=>fV,sensor_APDS9960_extern:()=>Zy,sensor_DS18X20:()=>aV,sensor_LTR308_extern:()=>tb,sensor_LTR390UV_extern:()=>pb,sensor_MAX30102_extern:()=>$y,sensor_QMC5883L_extern:()=>ab,sensor_VL530LX_extern:()=>db,sensor_aht11_extern:()=>rb,sensor_bmp:()=>Gy,sensor_dht11:()=>Vb,sensor_distance_hrsc04:()=>vy,sensor_hp203_extern:()=>eb,sensor_ltr381_extern:()=>_b,sensor_mixgo_extern_button_attachInterrupt:()=>Py,sensor_mixgo_extern_button_get_presses:()=>Fy,sensor_mixgo_extern_button_is_pressed:()=>Dy,sensor_mixgo_extern_button_was_pressed:()=>fy,sensor_mixgo_extern_light:()=>yy,sensor_mixgo_extern_pin_near:()=>Vy,sensor_mixgo_extern_sound:()=>by,sensor_mixgoce_hot_wheel_degrees:()=>Sb,sensor_mixgoce_hot_wheel_is_touched:()=>Cb,sensor_mpu9250_attachGestureInterrupt:()=>Yy,sensor_ms5611_extern:()=>nb,sensor_ms5611_extern_altitude:()=>sb,sensor_read_humiture:()=>TV,sensor_rtc_init:()=>By,sensor_sht:()=>Uy,sensor_shtc3_extern:()=>ub,sensor_spl06_001_extern:()=>ib,sensor_ucs12071_extern:()=>ob,sensor_use_i2c_init:()=>wy,sensor_use_spi_init:()=>lb,sensor_use_uart_init:()=>kb,sensor_weather_solo_init:()=>sV,sensor_weather_solo_rain:()=>pV,sensor_weather_solo_wd:()=>_V,sensor_weather_solo_ws:()=>oV,sensor_weigh_init:()=>cV,tvoc_get_data:()=>Jb,ultrasonic_sensor_read_distance:()=>hV,weather_data:()=>Ob,weather_have_data:()=>Rb,weather_set_label:()=>gb,weather_uart_mixio:()=>cb,weigh_sensor_get_weight:()=>gV});var ut={};t.r(ut),t.d(ut,{HCSR04:()=>VV,bitbot_als_num:()=>oG,dht11:()=>TG,educore_button_sensor:()=>cG,educore_button_was_pressed:()=>gG,educore_gyroscope_sensor:()=>EG,educore_gyroscope_sensor_read:()=>OG,educore_gyroscope_sensor_shake:()=>RG,educore_light_sensor:()=>mG,educore_rfid_sensor:()=>CG,educore_rfid_sensor_scan:()=>SG,educore_rfid_sensor_scan_data:()=>AG,educore_voice_sensor:()=>MG,number1:()=>BV,number2:()=>GV,number3:()=>UV,number4:()=>wV,number5:()=>kV,number6:()=>HV,number7:()=>WV,onboard_RTC_get_time:()=>yB,onboard_RTC_get_time_str:()=>BB,onboard_RTC_get_timestamp:()=>bB,onboard_RTC_get_timetuple_to_str:()=>GB,onboard_RTC_set_datetime:()=>XB,onboard_RTC_settime_string:()=>xB,onboard_RTC_timestamp_totuple:()=>VB,rfid_readcontent:()=>pB,rfid_readid:()=>oB,rfid_status:()=>rB,rfid_write:()=>aB,rfid_write_return:()=>uB,sensor_LTR308:()=>eB,sensor_adxl345_get_acceleration:()=>OB,sensor_aht11:()=>sB,sensor_bitbot_ALS:()=>_G,sensor_button_get_presses:()=>uG,sensor_button_is_pressed:()=>pG,sensor_button_was_pressed:()=>aG,sensor_compass_reset:()=>AB,sensor_ds18x20:()=>ZV,sensor_eulerangles:()=>lB,sensor_get_acceleration:()=>dB,sensor_get_temperature:()=>_B,sensor_get_the_coprocessor_version:()=>LG,sensor_hp203:()=>nB,sensor_light:()=>IG,sensor_lm35:()=>tB,sensor_mixbot_get_gyro:()=>sG,sensor_mixbot_patrol_calibrate:()=>eG,sensor_mixbot_patrol_value:()=>iG,sensor_mixbot_temperature:()=>nG,sensor_mixgo_LTR308:()=>zV,sensor_mixgo_button_attachInterrupt:()=>vV,sensor_mixgo_button_get_presses:()=>YV,sensor_mixgo_button_is_pressed:()=>FV,sensor_mixgo_button_was_pressed:()=>PV,sensor_mixgo_cc_mmc5603_calibrate_compass:()=>kB,sensor_mixgo_cc_mmc5603_get_angle:()=>wB,sensor_mixgo_cc_mmc5603_get_magnetic:()=>UB,sensor_mixgo_light:()=>lG,sensor_mixgo_nova_LTR308:()=>$V,sensor_mixgo_nova_pin_near:()=>qV,sensor_mixgo_pin_near:()=>QV,sensor_mixgo_pin_near_double:()=>JV,sensor_mixgo_pin_near_single:()=>KV,sensor_mixgo_pin_pressed:()=>mB,sensor_mixgo_sant_color:()=>jV,sensor_mixgo_touch_slide:()=>hB,sensor_mixgocar42_button_attachInterrupt:()=>bV,sensor_mixgocar42_button_get_presses:()=>yV,sensor_mixgocar42_button_is_pressed:()=>XV,sensor_mixgocar42_button_was_pressed:()=>xV,sensor_mixgocar_battery_left:()=>tG,sensor_mixgocar_pin_near:()=>$B,sensor_mixgocar_pin_near_line:()=>jB,sensor_mixgocar_pin_near_state_change:()=>ZB,sensor_mixgoce_pin_pressed:()=>MB,sensor_mixgoce_temperature:()=>WB,sensor_mixgome_temperature:()=>HB,sensor_mpu9250_calibrate_compass:()=>gB,sensor_mpu9250_field_strength:()=>SB,sensor_mpu9250_gesture:()=>IB,sensor_mpu9250_get_acceleration:()=>TB,sensor_mpu9250_get_gyro:()=>cB,sensor_mpu9250_get_magnetic:()=>RB,sensor_mpu9250_temperature:()=>CB,sensor_mpython_pin_pressed:()=>EB,sensor_mpython_qmi8658_get_gyro:()=>KB,sensor_mpython_qmi8658_temperature:()=>JB,sensor_onboard_compass_reset:()=>vB,sensor_onboard_mpu9250_calibrate_compass:()=>FB,sensor_onboard_mpu9250_field_strength:()=>YB,sensor_onboard_mpu9250_gesture:()=>LB,sensor_onboard_mpu9250_get_acceleration:()=>NB,sensor_onboard_mpu9250_get_gyro:()=>fB,sensor_onboard_mpu9250_get_magnetic:()=>DB,sensor_onboard_mpu9250_temperature:()=>PB,sensor_pin_near:()=>dG,sensor_pin_pressed:()=>rG,sensor_read:()=>hG,sensor_rm_acc:()=>zB,sensor_rm_battery_left:()=>qB,sensor_rm_pin_near_double:()=>QB,sensor_sound:()=>iB,simulated_light_sensor:()=>NG});var rt={};t.r(rt),t.d(rt,{serial_any:()=>YG,serial_print:()=>DG,serial_print_byte:()=>fG,serial_print_hex:()=>PG,serial_println:()=>FG,serial_read_from_ai:()=>kG,serial_readline:()=>XG,serial_readstr:()=>vG,serial_send_to_ai:()=>wG,serial_softserial:()=>xG,serial_softserial_new:()=>yG,system_input:()=>bG,system_print:()=>VG,system_print_end:()=>GG,system_print_inline:()=>BG,system_print_many:()=>UG});var dt={};t.r(dt),t.d(dt,{Panic_with_status_code:()=>eU,Timer_init:()=>mU,base_delay:()=>RU,controls_delay:()=>oU,controls_delay_new:()=>pU,controls_end_program:()=>nU,controls_millis:()=>iU,controls_uname:()=>_U,reset:()=>sU,set_system_timer:()=>uU,system_bitbot_shutdown:()=>hU,system_device_name:()=>ZG,system_device_serial_number:()=>tU,system_event_bus_source:()=>jG,system_event_bus_value:()=>$G,system_machine_reset:()=>MU,system_on_event:()=>QG,system_raise_event:()=>JG,system_reset:()=>WG,system_run_in_background:()=>HG,system_ticks_diff:()=>rU,system_timer:()=>lU,system_timer_init:()=>dU,system_timestamp:()=>qG,system_value:()=>zG,system_wait:()=>KG,system_wdt_feed:()=>TU,system_wdt_init:()=>IU,time_ticks_diff:()=>OU,timer:()=>aU,timer2:()=>EU});var lt={};t.r(lt),t.d(lt,{Air_daily_content:()=>vU,Air_now_content:()=>LU,Geo_moon_content:()=>xU,Geo_sun_content:()=>XU,Life_suggestion_content:()=>DU,Location_search_content:()=>FU,Tide_daily_content:()=>fU,WEATHER_DAILY:()=>gU,WEATHER_HOUR:()=>CU,WEATHER_NOW:()=>cU,Weather_alarm_content:()=>NU,Weather_daily:()=>PU,Weather_daily_content:()=>YU,Weather_now:()=>SU,Weather_now_content:()=>AU});var It={};t.r(It),t.d(It,{MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED:()=>VU});var Tt={};t.r(Tt),t.d(Tt,{MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED:()=>GU});var Mt={};t.r(Mt),t.d(Mt,{MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED:()=>wU});var ht={};t.r(ht),t.d(ht,{controls_pin_attachInterrupt:()=>aw,inout_analog_atten:()=>$U,inout_analog_write:()=>zU,inout_analog_write_init:()=>iw,inout_analog_write_set:()=>jU,inout_analog_write_set_freq:()=>sw,inout_digital_init:()=>ew,inout_digital_read:()=>qU,inout_digital_write:()=>QU,inout_highlow:()=>JU,inout_pinMode:()=>_w,inout_pin_attachInterrupt:()=>tw,inout_pin_pressed:()=>ZU,inout_pin_pressed_init:()=>nw,pin_pressed:()=>pw,pin_pressed_init:()=>ow});var mt={};t.r(mt),t.d(mt,{me_g1_aht11:()=>rw,me_g1_hp203:()=>dw,me_g1_rfid_readcontent:()=>Tw,me_g1_rfid_readid:()=>Iw,me_g1_rfid_status:()=>mw,me_g1_rfid_write:()=>Mw,me_g1_rfid_write_outcome:()=>hw,me_g1_varistor:()=>lw});var Et={};t.r(Et),t.d(Et,{analog_input:()=>Lw,analog_output:()=>Dw,espnow_channel:()=>Cw,haskylens_model:()=>Sw,i2c_A_pin:()=>fw,i2c_B_pin:()=>Fw,pins_analog:()=>xw,pins_analog_pin:()=>yw,pins_axis:()=>Zw,pins_brightness:()=>tk,pins_builtinimg:()=>Kw,pins_builtinimg_extern:()=>Jw,pins_button:()=>Bw,pins_buttonB:()=>Gw,pins_dac:()=>bw,pins_dac_pin:()=>Vw,pins_digital:()=>Ow,pins_digital_dot:()=>ak,pins_digital_pin:()=>Rw,pins_exlcdh:()=>jw,pins_exlcdv:()=>$w,pins_imglist:()=>Qw,pins_input_pin:()=>cw,pins_one_more:()=>pk,pins_output_pin:()=>gw,pins_playlist:()=>qw,pins_playlist_extern:()=>zw,pins_pwm:()=>Uw,pins_pwm_pin:()=>ww,pins_radio_datarate:()=>ok,pins_radio_power:()=>_k,pins_serial:()=>Ww,pins_tone_notes:()=>sk,pins_touch:()=>Hw,pins_touch_pin:()=>kw,pins_tts_bgmusic:()=>nk,pins_tts_builtin_music:()=>ik,pins_tts_voice:()=>ek,pwm_input:()=>Aw,pwm_output:()=>Nw,spi_A_pin:()=>Pw,spi_B_pin:()=>Yw,spi_C_pin:()=>vw,spi_D_pin:()=>Xw,timer_id_pin:()=>uk});var Ot={};t.r(Ot),t.d(Ot,{inout_analog_atten:()=>Ok,inout_analog_write:()=>Ik,inout_analog_write_init:()=>Ek,inout_analog_write_set:()=>Tk,inout_digital_init:()=>mk,inout_digital_read:()=>lk,inout_digital_write:()=>dk,inout_highlow:()=>rk,inout_pin_attachInterrupt:()=>hk,inout_pin_pressed:()=>Mk,inout_pin_pressed_init:()=>Rk});var Rt={};t.r(Rt),t.d(Rt,{me_g1_aht11:()=>ck,me_g1_hp203:()=>gk,me_g1_rfid_readcontent:()=>Ak,me_g1_rfid_readid:()=>Sk,me_g1_rfid_status:()=>Dk,me_g1_rfid_write:()=>Lk,me_g1_rfid_write_outcome:()=>Nk,me_g1_varistor:()=>Ck});var ct={};t.r(ct),t.d(ct,{analog_input:()=>Vk,analog_output:()=>Gk,espnow_channel:()=>yk,haskylens_model:()=>bk,i2c_A_pin:()=>Uk,i2c_B_pin:()=>wk,pins_analog:()=>Qk,pins_analog_pin:()=>Jk,pins_axis:()=>aH,pins_brightness:()=>dH,pins_builtinimg:()=>nH,pins_builtinimg_extern:()=>sH,pins_button:()=>Fk,pins_buttonB:()=>Pk,pins_dac:()=>$k,pins_dac_pin:()=>jk,pins_digital:()=>fk,pins_digital_dot:()=>OH,pins_digital_pin:()=>Yk,pins_exlcdh:()=>uH,pins_exlcdv:()=>rH,pins_imglist:()=>_H,pins_input_pin:()=>vk,pins_interrupt:()=>eH,pins_one_more:()=>EH,pins_output_pin:()=>Xk,pins_playlist:()=>oH,pins_playlist_extern:()=>pH,pins_pwm:()=>zk,pins_pwm_input:()=>xk,pins_pwm_pin:()=>qk,pins_radio_datarate:()=>mH,pins_radio_power:()=>hH,pins_serial:()=>iH,pins_tone_notes:()=>MH,pins_touch:()=>tH,pins_touch_pin:()=>Zk,pins_tts_bgmusic:()=>TH,pins_tts_builtin_music:()=>IH,pins_tts_voice:()=>lH,pwm_output:()=>Bk,spi_A_pin:()=>kk,spi_B_pin:()=>Hk,spi_C_pin:()=>Wk,spi_D_pin:()=>Kk,timer_id_pin:()=>RH});const gt=Blockly,Ct=Mixly,St={NAME_TYPE:"VARIABLE",allVariables:function(t){var e;if(t.getDescendants)e=t.getDescendants();else{if(!t.getAllBlocks)throw"Not Block or Workspace: "+t;e=t.getAllBlocks()}for(var i=Object.create(null),n=0;n1&&(o+=n)):i=o}else i="i";return i}},At=St; +/** + * @license + * Visual Blocks Editor + * + * Copyright 2012 Google Inc. + * https://developers.google.com/blockly/ + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +class Lt{constructor(t,e){if(this.variablePrefix_=e||"",this.reservedDict_=Object.create(null),t)for(var i=t.split(","),n=0;n0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(gt.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+s).appendField(gt.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(gt.Msg.CONTROLS_IF_MSG_ELSE);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_if_if");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_if_elseif");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var _=t.newBlock("controls_if_else");_.initSvg(),i.connect(_.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],_=null;i;){switch(i.type){case"controls_if_elseif":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_if_else":this.elseCount_++,_=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,_)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_if_elseif":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_if_else":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),_=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(_.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(gt.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+t).appendField(gt.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(gt.Msg.CONTROLS_IF_MSG_ELSE)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},Wt={init:function(){this.setColour(Bt),this.appendValueInput("FROM").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.PYTHON_RANGE).appendField(gt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.PYTHON_RANGE_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(gt.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},Kt={init:function(){this.setColour(Bt),this.appendValueInput("LIST").setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.CONTROLS_FOREACH_INPUT),this.appendValueInput("VAR").appendField(gt.Msg.CONTROLS_FOREACH_INPUT_ITEM),this.appendStatementInput("DO").appendField(gt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip((function(){return gt.Msg.CONTROLS_FOR_TOOLTIP.replace("“%1”","")}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){gt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Jt={init:function(){this.setColour(Bt),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(gt.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(new gt.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(gt.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT+gt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return{WHILE:gt.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:gt.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[e]}))}},Qt={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.MIXLY_PYTHON_TRY),this.appendStatementInput("try"),this.appendValueInput("IF1").appendField(gt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO1").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new gt.icons.MutatorIcon(["controls_except","controls_finally"],this)),this.setTooltip(gt.Msg.MIXLY_MIXPY_CONTROL_TRY_TOOLTIP),this.elseifCount_=1,this.elseCount_=0},mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var t=document.createElement("mutation");return this.elseifCount_&&t.setAttribute("elseif",this.elseifCount_),this.elseCount_&&t.setAttribute("else",1),t},domToMutation:function(t){var e=this,i=[],n=[];this.elseCount_&&this.removeInput("ELSE");for(var s=this.elseifCount_;s>0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(gt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+s).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(gt.Msg.MIXLY_PYTHON_FINALLY);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_try");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_except");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var _=t.newBlock("controls_finally");_.initSvg(),i.connect(_.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],_=null;i;){switch(i.type){case"controls_except":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_finally":this.elseCount_++,_=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,_)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_except":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_finally":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),_=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(_.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(gt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+t).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(gt.Msg.MIXLY_PYTHON_FINALLY)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},qt={init:function(){this.setColour(Bt);var t=new gt.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(t,"FLOW").appendField(gt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0),this.setTooltip(gt.Msg.MIXLY_PYTHON_CONTROLS_FLOW_STATEMENTS_TOOLTIP);var e=this;this.setTooltip((function(){var t=e.getFieldValue("FLOW");return{BREAK:gt.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:gt.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}[t]}))},onchange:function(){if(this.workspace){var t=!1,e=this;do{if("controls_repeat"==e.type||"controls_for"==e.type||"controls_forEach"==e.type||"controls_repeat_ext"==e.type||"controls_whileUntil"==e.type||"do_while"==e.type){t=!0;break}e=e.getSurroundParent()}while(e);t?this.setWarningText(null):this.setWarningText(gt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}},zt={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new gt.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(gt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return gt.Msg.CONTROLS_FOR_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){gt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},jt={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new gt.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(gt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return gt.Msg.MIXLY_PYTHON_CONTROLS_FOR_RANGE_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){gt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}};Jt.OPERATORS=[[gt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[gt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]],qt.OPERATORS=[[gt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[gt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const $t={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.CONTROLS_IF_IF_TITLE_IF),this.appendStatementInput("STACK"),this.setTooltip(gt.Msg.CONTROLS_IF_IF_TOOLTIP),this.contextMenu=!1}},Zt={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},te={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.CONTROLS_IF_ELSE_TITLE_ELSE),this.setPreviousStatement(!0),this.setTooltip(gt.Msg.CONTROLS_IF_ELSE_TOOLTIP),this.contextMenu=!1}},ee={init:function(){this.setColour(Bt),this.appendDummyInput().appendField("try"),this.appendStatementInput("STACK"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.contextMenu=!1}},ie={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.MIXLY_PYTHON_EXCEPT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1,this.setTooltip(gt.Msg.MIXLY_MIXPY_CONTROL_EXCEPT_TOOLTIP)}},ne={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.MIXLY_PYTHON_FINALLY),this.setPreviousStatement(!0),this.contextMenu=!1,this.setTooltip(gt.Msg.MIXLY_MIXPY_CONTROL_FINALLY_TOOLTIP)}},se={init:function(){this.jsonInit({message0:gt.Msg.CONTROLS_REPEAT_TITLE,args0:[{type:"input_value",name:"TIMES"}],previousStatement:null,nextStatement:null,colour:Bt,tooltip:gt.Msg.CONTROLS_REPEAT_TOOLTIP,helpUrl:gt.Msg.CONTROLS_REPEAT_HELPURL}),this.appendStatementInput("DO")}},_e={init:function(){this.setColour(Bt),this.appendValueInput("BOOL").appendField("lambda"),this.appendStatementInput("DO").appendField(gt.Msg.MIXLY_STAT),this.setOutput(!0)}},oe={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.MIXLY_PYTHON_PASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_PYTHON_CONTROLS_PASS_TOOLTIP)}},pe={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_START),this.appendValueInput("callback").appendField(gt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_TOOLTIP)}},ae={init:function(){this.appendDummyInput().appendField(gt.Msg.CONTROLS_REPEAT_TITLE_REPEAT+gt.Msg.MIXLY_DO),this.appendStatementInput("input_data").setCheck(null),this.appendValueInput("select_data").setCheck(null).appendField(gt.Msg.CONTROLS_OPERATOR_UNTIL).appendField(new gt.FieldDropdown([[gt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"true"],[gt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"false"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Bt),this.setTooltip("do-while loop"),this.setHelpUrl("")}},ue={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.MIXLY_OP_GARBAGE_COLLECT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},re={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET_MEM_ALLOC),this.setOutput(!0)}},de={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET_MEM_FREE),this.setOutput(!0)}},le={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET+gt.Msg.MIXLY_DEVICE+"ID"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(gt.Msg.PROCEDURES_DEFRETURN_RETURN+gt.Msg.MIXLY_GET_UNIQUE_IDEN)}},Ie={init:function(){this.setColour(Bt),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_RTC_TIMESTAMP),this.appendDummyInput().appendField(gt.Msg.MIXLY_TIMESTAMP_TO_DATA),this.setInputsInline(!0),this.setOutput(!0,Number)}},Te={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET_UNIQUE_IDEN),this.setOutput(!0)}},Me=230;gt.FieldTextInput.math_number_validator=function(t){return String(t)},gt.FieldTextInput.math_number_validator_include_blank=function(t){if(""===t)return"";return/^-?(0X|0x|0O|0o|0B|0b)?[a-fA-F0-9]{1,}(\.[a-fA-F0-9]+)?$/.test(t)?String(t):null};const he={init:function(){this.setColour(Me),this.appendDummyInput().appendField(new gt.FieldTextInput("0",gt.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(gt.Msg.MATH_NUMBER_TOOLTIP)}},me={init:function(){this.setColour(Me);this.appendDummyInput("").appendField(gt.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new gt.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:gt.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_TOOLTIP,e:gt.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_TOOLTIP}[e]}))}},Ee={init:function(){this.setColour(Me);this.appendDummyInput("").appendField(gt.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new gt.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:gt.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_MP_TOOLTIP,e:gt.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_MP_TOOLTIP}[e]}))}},Oe={init:function(){this.setColour(Me),this.setOutput(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new gt.FieldDropdown([["+","ADD"],["-","MINUS"],["×","MULTIPLY"],["÷","DIVIDE"],["%","QUYU"],["//","ZHENGCHU"],["**","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:gt.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:gt.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:gt.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:gt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:gt.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:gt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:gt.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},Re={init:function(){this.setColour(Me),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new gt.FieldDropdown([["+=","ADD"],["-=","MINUS"],["×=","MULTIPLY"],["÷=","DIVIDE"],["%=","QUYU"],["//=","ZHENGCHU"],["**=","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:gt.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:gt.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:gt.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:gt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:gt.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:gt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:gt.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},ce={init:function(){this.setColour(Me),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new gt.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},ge={init:function(){this.setColour(Me),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new gt.FieldDropdown([["sin","SIN"],["cos","COS"],["tan","TAN"],["asin","ASIN"],["acos","ACOS"],["atan","ATAN"],["-","-"],["ln","LN"],["log10","LOG10"],["e^","EXP"],["10^","POW10"]]),"OP");var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{SIN:gt.Msg.MATH_TRIG_TOOLTIP_SIN,COS:gt.Msg.MATH_TRIG_TOOLTIP_COS,TAN:gt.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:gt.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:gt.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:gt.Msg.MATH_TRIG_TOOLTIP_ATAN,LN:gt.Msg.MATH_SINGLE_TOOLTIP_LN}[e]}))}},Ce={init:function(){var t=[[gt.Msg.MATH_BIN,"bin"],[gt.Msg.MATH_OCT,"oct"],[gt.Msg.MATH_HEX,"hex"]];this.setColour(Me),this.setOutput(!0,String),this.appendValueInput("NUM").setCheck(Number).appendField(new gt.FieldDropdown(t),"OP");var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{bin:gt.Msg.MATH_DEC_TOOLTIP_BIN,oct:gt.Msg.MATH_DEC_TOOLTIP_OCT,hex:gt.Msg.MATH_DEC_TOOLTIP_HEX}[t]}))}},Se={init:function(){var t=[[gt.Msg.LANG_MATH_TO_ROUND,"round"],[gt.Msg.LANG_MATH_TO_CEIL,"ceil"],[gt.Msg.LANG_MATH_TO_FLOOR,"floor"],[gt.Msg.MATH_ABS,"fabs"],[gt.Msg.MATH_SQRT,"sqrt"]];this.setColour(Me),this.appendValueInput("A").setCheck(Number).appendField(new gt.FieldDropdown(t),"OP"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{sqrt:gt.Msg.MATH_SINGLE_TOOLTIP_ROOT,fabs:gt.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:gt.Msg.MATH_SINGLE_TOOLTIP_SQ,round:gt.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:gt.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:gt.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[t]}))}},Ae={init:function(){var t=[[gt.Msg.MIXLY_MAX,"max"],[gt.Msg.MIXLY_MIN,"min"]];this.setColour(Me),this.appendValueInput("A").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(new gt.FieldDropdown(t),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(gt.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{max:gt.Msg.MIXLY_TOOLTIP_MATH_MAX,min:gt.Msg.MIXLY_TOOLTIP_MATH_MIN}[t]}))}},Le={init:function(){var t=[[gt.Msg.MATH_TWO,"two"],[gt.Msg.MATH_EIGHT,"eight"],[gt.Msg.MATH_TEN,"ten"],[gt.Msg.MATH_SIXTEEN,"sixteen"]];this.setColour(Me),this.appendDummyInput("").appendField(gt.Msg.MATH_BA),this.appendValueInput("NUM").appendField(new gt.FieldDropdown(t),"OP").appendField(gt.Msg.MATH_JinZhi).setCheck(Number),this.appendDummyInput("").appendField(gt.Msg.MATH_ZHW).appendField(new gt.FieldDropdown(t),"OP2").appendField(gt.Msg.MATH_JinZhi),this.setFieldValue("ten","OP2"),this.setOutput(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i={two:gt.Msg.MATH_Before_two,eight:gt.Msg.MATH_Before_eight,ten:gt.Msg.MATH_Before_ten,sixteen:gt.Msg.MATH_Before_sixteen},n=e.getFieldValue("OP2"),s={two:gt.Msg.MATH_Behind_two,eight:gt.Msg.MATH_Behind_eight,ten:gt.Msg.MATH_Behind_ten,sixteen:gt.Msg.MATH_Behind_sixteen};return i[t]+s[n]}))}},Ne={init:function(){var t=[[gt.Msg.LANG_MATH_INT,"int"],[gt.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(Me),this.setOutput(!0,Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_RANDOM).appendField(new gt.FieldDropdown(t),"TYPE"),this.appendValueInput("FROM").setCheck(Number).appendField(gt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TYPE"),i={int:gt.Msg.LANG_MATH_INT,float:gt.Msg.LANG_MATH_FLOAT_RANDOM};return gt.Msg.MATH_RANDOM_INT_TOOLTIP+i[t]}))}},De={init:function(){this.setColour(Me),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(gt.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(gt.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(gt.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(gt.Msg.MATH_CONSTRAIN_TOOLTIP)}},fe={init:function(){this.setColour(Me),this.appendValueInput("NUM",Number).appendField(gt.Msg.MIXLY_MAP).setCheck(Number),this.appendValueInput("fromLow",Number).appendField(gt.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(gt.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_MATH_MAP)}},Fe={init:function(){this.setColour(Me),this.appendDummyInput().appendField(new gt.FieldTextInput("0",gt.FieldTextInput.math_number_validator_include_blank),"NUM"),this.setOutput(!0),this.setTooltip(gt.Msg.MATH_NUMBER_TOOLTIP)}},Pe={init:function(){this.setColour(Me),this.appendValueInput("NUM").setCheck(Number).appendField(gt.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED)}},Ye={init:function(){this.setColour(Me),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number),this.appendValueInput("VAR").setCheck(Number).appendField(gt.Msg.MATH_ROUND).appendField(gt.Msg.TEXT_KEEP),this.appendDummyInput().appendField(gt.Msg.TEXT_DECIMAL),this.setInputsInline(!0),this.setTooltip(gt.Msg.MATH_ROUND_NEW_TOOLTIP)}},ve={init:function(){var t=[[gt.Msg.MIXLY_TO_INT,"int"],[gt.Msg.MIXLY_TO_FLOAT,"float"],[gt.Msg.MIXLY_TO_BITES,"b"],[gt.Msg.LANG_MATH_BYTE+gt.Msg.MIXLY_TO_INT,"bti"]];this.setColour(Me),this.appendValueInput("VAR").appendField(new gt.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:gt.Msg.MIXLY_PYTHON_TOOLTIP_TOINT,float:gt.Msg.MIXLY_PYTHON_TOOLTIP_TOFLOAT,b:gt.Msg.MIXLY_TOOLTIP_TEXT_TOBYTE}[t]}))}},Xe={init:function(){var t=[[gt.Msg.MIXLY_TO_INT,"int"],[gt.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(Me),this.appendValueInput("VAR").appendField(new gt.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:gt.Msg.MIXLY_TOOLTIP_TEXT_TOINT,float:gt.Msg.MIXLY_TOOLTIP_TEXT_TOFLOAT}[t]}))}},xe=fe,ye={init:function(){this.setColour(Me),this.appendValueInput("VAR").appendField(gt.Msg.LANG_MATH_BYTE+gt.Msg.MIXLY_TO_HEX),this.setOutput(!0,Number),this.setTooltip(gt.Msg.MIXLY_PYTHON_TOOLTIP_TOHEX)}},be={init:function(){this.setColour(Me),this.itemCount_=1,this.setMutator(new gt.icons.MutatorIcon(["lists_create_with_item"],this)),this.appendDummyInput("DUMMY").appendField(gt.Msg.MIXLY_PRODUCT+gt.Msg.MIXLY_GENERATE_CARTESIAN_PRODUCT),this.appendValueInput("REPEAT").appendField(gt.Msg.MIXLY_EVERY_PER_ELEPER_ELEMENT),this.appendDummyInput().appendField(gt.Msg.CONTROLS_REPEAT_TITLE_TIMES),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0),this.setTooltip(gt.Msg.LISTS_CREATE_WITH_PYTHON_TOOLTIP),this.updateShape_()},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("lists_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n1&&"\\"===t.charAt(0)){var e=t.charAt(1);if("0"===e||"b"===e||"f"===e||"n"===e||"r"===e||"t"===e||"\\"===e||"'"===e)return String(t).substring(0,2);if("x"===e&&"0"===t.charAt(2)&&"B"===t.charAt(3))return String(t).substring(0,4)}return String(t).substring(0,1)};const He={init:function(){this.setColour(Ge),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new gt.FieldTextInput("",gt.FieldTextInput.char_validator),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,Number),this.setTooltip(gt.Msg.TEXT_CHAR_TOOLTIP)},newQuote_:function(t){if(1==t)var e="../../media/quote2.png";else e="../../media/quote3.png";return new gt.FieldImage(e,7,12,'"')}},We={init:function(){this.setColour(Ge),this.appendValueInput("A").setCheck([String,Number]),this.appendValueInput("B").setCheck([String,Number]).appendField(gt.Msg.MIXLY_TEXT_JOIN),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_TEXT_JOIN)}},Ke={init:function(){this.setColour(Ge),this.appendValueInput("VAR").setCheck(Number).appendField(gt.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},Je={init:function(){this.setColour(Ge),this.appendValueInput("VAR").setCheck(String).appendField(gt.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},Qe={init:function(){this.setColour(Ge),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(gt.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},qe={init:function(){this.setColour(Ge),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},ze={init:function(){this.WHERE_OPTIONS=[[gt.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[gt.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[gt.Msg.TEXT_GET_INDEX_RANDOM+1+gt.Msg.TEXT_CHARAT2,"RANDOM"]],this.setHelpUrl(gt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ge),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number),this.appendDummyInput().appendField(gt.Msg.LISTS_GET_INDEX_GET,"MODE"),gt.Msg.LISTS_GET_INDEX_TAIL&&this.appendDummyInput("TAIL").appendField(gt.Msg.LISTS_GET_INDEX_TAIL),this.setInputsInline(!0),this.setOutput(!0),this.updateAt_(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=t.getFieldValue("WHERE"),n="";switch(e+" "+i){case"GET FROM_START":case"GET FROM_END":n=gt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM;break;case"GET RANDOM":n=gt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM;break;case"GET_REMOVE FROM_START":case"GET_REMOVE FROM_END":n=gt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM;break;case"GET_REMOVE RANDOM":n=gt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM}return"FROM_START"!=i&&"FROM_END"!=i||(n+=" "+gt.Msg.LISTS_INDEX_FROM_START_TOOLTIP.replace("%1",gt.Msg.ONE_BASED_INDEXING?"#1":"#0")),n}));var e=this;this.setTooltip((function(){var t=e.getFieldValue("WHERE"),i={FROM_START:gt.Msg.LISTS_GET_INDEX_FROM_START,FROM_END:gt.Msg.LISTS_GET_INDEX_FROM_END,RANDOM:gt.Msg.TEXT_GET_INDEX_RANDOM};return gt.Msg.PROCEDURES_DEFRETURN_RETURN+gt.Msg.MIXLY_MICROBIT_TYPE_STRING+i[t]+"n"+gt.Msg.TEXT_CHARAT2}))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("statement",!this.outputConnection);var e=this.getInput("AT").type==gt.INPUT_VALUE;return t.setAttribute("at",e),t},domToMutation:function(t){var e="true"==t.getAttribute("statement");this.updateStatement_(e),t="false"!=t.getAttribute("at"),this.updateAt_(t)},updateStatement_:function(t){t!=!this.outputConnection&&(this.unplug(!0,!0),t?(this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)):(this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)))},updateAt_:function(t){this.removeInput("AT"),this.removeInput("ORDINAL",!0),t?(this.appendValueInput("AT").setCheck(Number),gt.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL").appendField(gt.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT");var e=new gt.FieldDropdown(this.WHERE_OPTIONS,(function(e){var i="FROM_START"==e||"FROM_END"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT").appendField(e,"WHERE"),gt.Msg.LISTS_GET_INDEX_TAIL&&this.moveInputBefore("TAIL",null)}},je={init:function(){this.setHelpUrl(gt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ge),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number).appendField(gt.Msg.LISTS_GET_INDEX_GET+" "+gt.Msg.LISTS_GET_INDEX_FROM_START),this.appendDummyInput().appendField(gt.Msg.TEXT_CHARAT2),this.setOutput(!0),this.setTooltip(gt.Msg.PROCEDURES_DEFRETURN_RETURN+gt.Msg.MIXLY_MICROBIT_TYPE_STRING+gt.Msg.LISTS_GET_INDEX_FROM_START+"n"+gt.Msg.TEXT_CHARAT2)}},$e={init:function(){this.setHelpUrl(gt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ge),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(gt.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(gt.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},Ze={init:function(){this.WHERE_OPTIONS_1=[[gt.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[gt.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[gt.Msg.LISTS_GET_SUBLIST_START_FIRST,"FIRST"]],this.WHERE_OPTIONS_2=[[gt.Msg.LISTS_GET_SUBLIST_END_FROM_START,"FROM_START"],[gt.Msg.LISTS_GET_SUBLIST_END_FROM_END,"FROM_END"],[gt.Msg.LISTS_GET_SUBLIST_END_LAST,"LAST"]],this.setHelpUrl(gt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Ge),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput("AT1"),this.appendDummyInput("AT2"),this.setInputsInline(!0),this.setOutput(!0,"List"),this.updateAt_(1,!0),this.updateAt_(2,!0),this.setTooltip(gt.Msg._GET_TEXT_SUBLIST_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT1").type==gt.INPUT_VALUE;t.setAttribute("at1",e);var i=this.getInput("AT2").type==gt.INPUT_VALUE;return t.setAttribute("at2",i),t},domToMutation:function(t){var e="true"==t.getAttribute("at1"),i="true"==t.getAttribute("at2");this.updateAt_(1,e),this.updateAt_(2,i)},updateAt_:function(t,e){this.removeInput("AT"+t),this.removeInput("ORDINAL"+t,!0),e?(this.appendValueInput("AT"+t).setCheck(Number),gt.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL"+t).appendField(gt.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT"+t);var i=new gt.FieldDropdown(this["WHERE_OPTIONS_"+t],(function(i){var n="FROM_START"==i||"FROM_END"==i;if(n!=e){var s=this.sourceBlock_;return s.updateAt_(t,n),s.setFieldValue(i,"WHERE"+t),null}}));this.getInput("AT"+t).appendField(i,"WHERE"+t),1==t&&(this.moveInputBefore("AT1","AT2"),this.getInput("ORDINAL1")&&this.moveInputBefore("ORDINAL1","AT2"))}},ti={init:function(){this.setHelpUrl(gt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Ge),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT1").appendField(gt.Msg.LISTS_GET_INDEX_GET+" "+gt.Msg.LISTS_GET_INDEX_FROM_START),this.appendValueInput("AT2").appendField(gt.Msg.LISTS_GET_SUBLIST_END_FROM_START),this.appendDummyInput().appendField(gt.Msg.TEXT_CHARAT2),this.setInputsInline(!0),this.setOutput(!0,["List",String]),this.setTooltip(gt.Msg._GET_TEXT_SUBLIST_TOOLTIP)}},ei={init:function(){var t=[[gt.Msg.MIXLY_EQUALS,"==="],[gt.Msg.MIXLY_STARTSWITH,"startswith"],[gt.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(Ge),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new gt.FieldDropdown(t),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},ii={init:function(){this.setColour(Ge),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(gt.Msg.MIXLY_COMPARETO).setCheck(String),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_COMPARETO_HELP)}},ni={init:function(){var t=[[gt.Msg.TEXT_UPPER,"upper"],[gt.Msg.TEXT_TITLE,"title"],[gt.Msg.TEXT_CAPITALIZE,"capitalize"],[gt.Msg.TEXT_SWAPCASE,"swapcase"],[gt.Msg.TEXT_LOWER,"lower"]];this.setColour(Ge),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new gt.FieldDropdown(t),"CAPITAL").setCheck(String),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CAPITAL");return{upper:gt.Msg.MIXLY_MIXPY_TEXT_UPPER_TOOLTIP,title:gt.Msg.MIXLY_MIXPY_TEXT_TITLE_TOOLTIP,swapcase:gt.Msg.MIXLY_MIXPY_TEXT_SWAPCASE_TOOLTIP,capitalize:gt.Msg.MIXLY_MIXPY_TEXT_CAPITALIZE_TOOLTIP,lower:gt.Msg.MIXLY_MIXPY_TEXT_LOWER_TOOLTIP}[t]}))}},si={init:function(){var t=[[gt.Msg.TEXT_LJUST,"ljust"],[gt.Msg.TEXT_CENTER,"center"],[gt.Msg.TEXT_RJUST,"rjust"]];this.setColour(Ge),this.appendValueInput("VAR").appendField(new gt.FieldDropdown(t),"CENTER").setCheck(String),this.appendValueInput("WID").appendField(gt.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("Symbol").appendField(gt.Msg.MIXLY_RECT_Fill).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(gt.Msg.MIXLY_MIXPY_TEXT_CENTER_TOOLTIP)}},_i={init:function(){this.setColour(Ge),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).setCheck(String),this.appendValueInput("STR").appendField(gt.Msg.MIXLY_MID+gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER).setCheck(String),this.appendDummyInput().appendField(gt.Msg.MIXLY_LIST_INDEX),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(gt.Msg.MIXLY_MIXPY_TEXT_FIND_TOOLTIP)}},oi={init:function(){this.setColour(Ge),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_USE_STR).setCheck(String),this.appendValueInput("LIST").appendField(gt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_SEQ).setCheck("List","Tuple","Set","Dict"),this.appendDummyInput().appendField(gt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_GET_STR),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(gt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_TOOLTIP)}},pi={init:function(){this.setColour(Ge),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("STR1").appendField(gt.Msg.MIXLY_MIXPY_REPLACE).setCheck(String),this.appendValueInput("STR2").appendField(gt.Msg.LISTS_SET_INDEX_INPUT_TO).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(gt.Msg.MIXLY_MIXPY_TEXT_REPLACE_TOOLTIP)}},ai={init:function(){this.setColour(Ge),this.appendValueInput("VAR"),this.appendValueInput("VAL").appendField(gt.Msg.LIST_SPLIT_AS),this.appendDummyInput("").appendField(gt.Msg.LIST_SPLIT),this.setOutput(!0,"List"),this.setTooltip(gt.Msg.MIXLY_MIXPY_TEXT_SPLIT_TOOLTIP),this.setInputsInline(!0)}},ui={init:function(){var t=[[gt.Msg.TEXT_TRIM_BOTH,"strip"],[gt.Msg.TEXT_TRIM_LEFT,"lstrip"],[gt.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(Ge),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(gt.Msg.TEXT_STRIM),this.appendDummyInput("").appendField(new gt.FieldDropdown(t),"TOWHAT"),this.appendDummyInput("").appendField(gt.Msg.TEXT_BLANK),this.setOutput(!0,String),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{strip:gt.Msg.TEXT_TRIM_BOTH_TOOLTIP,lstrip:gt.Msg.TEXT_TRIM_LEFT_TOOLTIP,rstrip:gt.Msg.TEXT_TRIM_RIGHT_TOOLTIP}[t]}))}},ri={init:function(){this.setColour(Ge),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROPYTHON_FORMAT),this.appendDummyInput("").appendField(new gt.FieldTextInput("str"),"VAR"),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new gt.icons.MutatorIcon(["text_create_with_item"],this)),this.setOutput(!0),this.setTooltip(gt.Msg.MIXLY_MIXPY_TEXT_FORMAT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("text_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){gt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},pn={init:function(){this.setColour(_n),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(gt.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},an={init:function(){this.setColour(_n),this.appendDummyInput().appendField(gt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},un={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(gt.Msg.DICT_KEYS),this.setTooltip(gt.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},rn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(gt.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(gt.Msg.DICTS_ADD_VALUE),this.setOutput(!0),this.setTooltip(gt.Msg.DICTS_GET_TOOLTIP)}},dn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(gt.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(gt.Msg.DICTS_ADD_VALUE),this.appendValueInput("VAR").appendField(gt.Msg.DICTS_DEFAULT_VALUE),this.setOutput(!0),this.setTooltip(gt.Msg.DICTS_GET_DEFAULT_TOOLTIP)}},ln={init:function(){this.setColour(_n),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(gt.Msg.DICTS_ADD),this.appendDummyInput(),this.appendValueInput("VAR").appendField(gt.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.DICTS_ADD_OR_CHANGE_TOOLTIP)}},In={init:function(){this.setColour(_n),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(gt.Msg.DICTS_DELETE_IN),this.appendDummyInput("").appendField(gt.Msg.DICTS_DELETE_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.DICTS_DELETE_TOOLTIP)}},Tn={init:function(){this.setColour(_n),this.appendValueInput("DICT2").setCheck("Dict").appendField(gt.Msg.MAKE_DICT),this.appendValueInput("DICT").setCheck("Dict").appendField(gt.Msg.DICT_UPDATE),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MID),this.setTooltip(gt.Msg.DICTS_UPDATE_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Mn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(gt.Msg.DICT_CLEAR),this.setTooltip(gt.Msg.DICTS_CLEAR_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},hn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(gt.Msg.DICT_ITEMS),this.setTooltip(gt.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},mn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(gt.Msg.DICT_VALUES),this.setTooltip(gt.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},En={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_LENGTH),this.setTooltip(gt.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},On={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(gt.Msg.DICT_DELDICT),this.setTooltip(gt.Msg.DICTS_DEL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Rn={init:function(){this.MODE=[[gt.Msg.DICTS_ADD_OR_CHANGE,"INSERT"],[gt.Msg.MIXLY_MICROBIT_JS_DELETE_VAR,"DELETE"]],this.setHelpUrl(gt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("AT2"),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).appendField(gt.Msg.DICTS_ADD_VALUE),this.updateAt_(!0),this.setInputsInline(!0),this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e="";switch(t.getFieldValue("WHERE")){case"INSERT":e=gt.Msg.DICTS_ADD_TOOLTIP;break;case"DELETE":e=gt.Msg.DICTS_DELETE_TOOLTIP}return e}))},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT2").type==gt.INPUT_VALUE;return t.setAttribute("at2",e),t},domToMutation:function(t){var e="true"==t.getAttribute("at2");this.updateAt_(e)},updateAt_:function(t){this.removeInput("AT2"),this.removeInput("ORDINAL",!0),t?this.appendValueInput("AT2").setCheck(Number):this.appendDummyInput("AT2");var e=new gt.FieldDropdown(this.MODE,(function(e){var i="INSERT"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT2").appendField(e,"WHERE")}},cn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(gt.Msg.blockpy_DICT_POP),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(gt.Msg.DICTS_ADD_VALUE),this.setTooltip(gt.Msg.DICT_POP_TOOLTIP),this.setInputsInline(!0),this.setOutput(!0)}},gn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(gt.Msg.DICTS_SET_DEFAULT),this.appendDummyInput("").appendField(gt.Msg.DICTS_DEFAULT_VALUE),this.appendValueInput("VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.DICTS_SETDEFAULT_TOOLTIP)}},Cn={init:function(){this.setColour(_n),this.appendDummyInput("").appendField(new gt.FieldLabel(gt.Msg.MIXLY_MICROBIT_TYPE_DICT),"TIP").appendField(" "),this.itemCount_=3,this.updateShape_(),this.setOutput(!0,"Dict"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setMutator(new gt.icons.MutatorIcon(["dicts_create_with_item"],this)),this.setTooltip(gt.Msg.DICTS_CREATE_WITH_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("dicts_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){gt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Sn={init:function(){this.setColour(_n),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(gt.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},An={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_TO_JSON),this.setTooltip(gt.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},Ln={init:function(){this.setColour(_n),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_CONVERT_TO_JSON),this.setTooltip(gt.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},Nn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("VAR1").appendField("key1"),this.appendValueInput("VAR2").appendField("index"),this.appendValueInput("VAR3").appendField("key2"),this.appendValueInput("VAR4").appendField("key3"),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},Dn={init:function(){this.setColour(_n),this.appendValueInput("DICT"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_TO_JSON),this.setTooltip(gt.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},fn=210,Fn={init:function(){var t=gt.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(fn),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new gt.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{EQ:gt.Msg.LOGIC_COMPARE_TOOLTIP_EQ,NEQ:gt.Msg.LOGIC_COMPARE_TOOLTIP_NEQ,LT:gt.Msg.LOGIC_COMPARE_TOOLTIP_LT,LTE:gt.Msg.LOGIC_COMPARE_TOOLTIP_LTE,GT:gt.Msg.LOGIC_COMPARE_TOOLTIP_GT,GTE:gt.Msg.LOGIC_COMPARE_TOOLTIP_GTE}[t]})),this.prevBlocks_=[null,null]}},Pn={init:function(){var t=gt.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]],e=gt.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(fn),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new gt.FieldDropdown(t),"OP1"),this.appendValueInput("C").appendField(new gt.FieldDropdown(e),"OP2"),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_PYTHON_LOGIC_COMPARE_CONTINOUS_TOOLTIP)}},Yn={init:function(){var t=[[gt.Msg.LOGIC_OPERATION_AND,"AND"],[gt.Msg.LOGIC_OPERATION_OR,"OR"],[gt.Msg.LOGIC_OPERATION_NOR,"NOR"],[gt.Msg.LOGIC_OPERATION_XOR,"XOR"]];this.setColour(fn),this.setOutput(!0,Boolean),this.appendValueInput("A").setCheck([Boolean,Number]),this.appendValueInput("B").setCheck([Boolean,Number]).appendField(new gt.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{AND:gt.Msg.LOGIC_OPERATION_TOOLTIP_AND,OR:gt.Msg.LOGIC_OPERATION_TOOLTIP_OR,NOR:gt.Msg.LOGIC_OPERATION_TOOLTIP_NOR,XOR:gt.Msg.LOGIC_OPERATION_TOOLTIP_XOR}[t]}))}},vn={init:function(){this.setColour(fn),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(gt.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(gt.Msg.LOGIC_NEGATE_TOOLTIP)}},Xn={init:function(){var t=[[gt.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[gt.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(fn),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new gt.FieldDropdown(t),"BOOL"),this.setTooltip(gt.Msg.LOGIC_BOOLEAN_TOOLTIP)}},xn={init:function(){this.setColour(fn),this.setOutput(!0),this.appendDummyInput().appendField(gt.Msg.LOGIC_NULL),this.setTooltip(gt.Msg.LOGIC_NULL_TOOLTIP)}},yn={init:function(){this.setColour(fn),this.appendValueInput("A"),this.appendValueInput("B").appendField(gt.Msg.LOGIC_TERNARY_IF_TRUE),this.appendValueInput("C").appendField(gt.Msg.LOGIC_TERNARY_IF_FALSE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_LOGIT_TRUEORFALSE)}},bn={init:function(){var t=[[gt.Msg.TEXT_APPEND_TO,"in"],[gt.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(fn),this.appendValueInput("A"),this.appendValueInput("B").setCheck([String,"List"]).appendField(new gt.FieldDropdown(t),"BOOL"),this.appendDummyInput("").appendField(gt.Msg.MICROBIT_LOGIC_IS_IN),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(gt.Msg.IN)}},Vn={init:function(){var t=[[gt.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[gt.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(fn),this.appendValueInput("A"),this.appendValueInput("B").appendField(new gt.FieldDropdown(t),"BOOL"),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_PYTHON_LOGIC_IS_TOOLTIP)}},Bn={init:function(){this.setColour(fn),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(gt.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},Gn={init:function(){this.setColour(0),this.appendValueInput("fn").setCheck(String).appendField(gt.Msg.MIXLY_PYTHON_STORAGE_OPEN_FILE_WITH_OS+"(For Windows)"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Un={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"],[gt.Msg.MIXLY_ADD,"a"],[gt.Msg.MATH_BIN+gt.Msg.MIXLY_ADD,"ab"],[gt.Msg.MIXLY_R_W,"r+"],[gt.Msg.MATH_BIN+gt.Msg.MIXLY_R_W,"rb+"],[gt.Msg.MIXLY_W_R,"w+"],[gt.Msg.MATH_BIN+gt.Msg.MIXLY_W_R,"wb+"],[gt.Msg.MIXLY_A_R,"a+"],[gt.Msg.MATH_BIN+gt.Msg.MIXLY_A_R,"ab+"]]),"MODE"),this.appendValueInput("FILE").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_AS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=gt.Msg.MIXLY_USE,n=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=gt.Msg.MIXLY_BELONG;return i+{r:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+_+n+s}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){gt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},wn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=gt.Msg.MIXLY_USE,n=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=gt.Msg.MIXLY_BELONG,o=gt.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+_+n+s+o}))}},kn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE);this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendDummyInput().appendField(gt.Msg.MIXPY_TEXT_ENCODE).appendField(new gt.FieldDropdown([["ANSI","ANSI"],["gbk","gbk"],["utf-8","utf-8"]]),"CODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=gt.Msg.MIXLY_USE,n=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=gt.Msg.MIXLY_BELONG,o=gt.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+_+n+s+o}))}},Hn={init:function(){this.setColour(0),this.appendValueInput("data").setCheck(String).appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendValueInput("FILE").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+gt.Msg.MIXLY_MICROBIT_TYPE_STRING+gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE)}},Wn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"read"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE,"readline"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES,"readlines"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String)}},Kn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,"read"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,"readline"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE,"readlines"]]),"MODE"),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE,n=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER;return i+{read:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,readline:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,readlines:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE}[e]+"x"+n}))}},Jn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.setNextStatement(!0),this.appendValueInput("SIZE").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(gt.Msg.MICROBIT_PYTHON_TYPE)}},Qn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(gt.Msg.HTML_FILE),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean),this.setTooltip(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT1)}},qn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILENAME),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILENAME)}},zn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE)}},jn={init:function(){this.setColour(0),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES)}};gt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE;const $n={init:function(){this.setColour(0),this.appendDummyInput().appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE,"remove"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_DIRS,"removedirs"]]),"MODE"),this.appendValueInput("FILE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE)}},Zn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE+gt.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE)}},ts={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_RETURN_FILE),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_PRESENT_LOCATION),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_TELL)}},es={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION),this.appendDummyInput().appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,"start"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,"current"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END,"end"]]),"MODE"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION+gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION,n=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER,s=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET;return i+" "+{start:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,current:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,end:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END}[e]+s+"x"+n}))}},is={init:function(){this.setColour(0),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR)}},ns={init:function(){this.setColour(0),this.appendValueInput("PATH").setCheck(String).appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_SET),this.appendDummyInput().appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,"mkdir"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_MAKEDIRS,"makedirs"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return gt.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH+"x"+gt.Msg.MIXLY_ESP32_SET+{mkdir:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,makedirs:gt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},ss={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME),this.appendValueInput("NEWFILE").setCheck(String).appendField(gt.Msg.MIXLY_AS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME)}},_s={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR)}},os={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT),this.appendDummyInput().appendField(new gt.FieldDropdown([[gt.Msg.HTML_FILE,"isfile"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_DIR,"isdir"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean);let t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return gt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH+"x"+gt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT+{isfile:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,isdir:gt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},ps={init:function(){this.setColour(0),this.appendValueInput("SPISUB").appendField(gt.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_SETUP+gt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(gt.Msg.MIXLY_SD_CARD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},as={init:function(){this.setColour(0),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_SD_CARD),this.appendValueInput("DIR").setCheck(String).appendField(gt.Msg.MIXLY_SDCARD_MOUNT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip()}},us={init:function(){var t=gt.Procedures.findLegalName("",this),e=new gt.FieldTextInput(t,gt.Procedures.rename);e.setSpellcheck(!1),this.appendDummyInput().appendField(e,"NAME").appendField("","PARAMS"),this.setMutator(new gt.icons.MutatorIcon(["procedures_mutatorarg"],this)),(this.workspace.options.comments||this.workspace.options.parentWorkspace&&this.workspace.options.parentWorkspace.options.comments)&>.Msg.PROCEDURES_DEFNORETURN_COMMENT&&this.setCommentText(gt.Msg.PROCEDURES_DEFNORETURN_COMMENT),this.setStyle("procedure_blocks"),this.setTooltip(gt.Msg.PROCEDURES_DEFNORETURN_TOOLTIP),this.setHelpUrl(gt.Msg.PROCEDURES_DEFNORETURN_HELPURL),this.arguments_=[],this.argumentVarModels_=[],this.setStatements_(!0),this.statementConnection_=null},setStatements_:function(t){this.hasStatements_!==t&&(t?(this.appendStatementInput("STACK").appendField(gt.Msg.PROCEDURES_DEFNORETURN_DO),this.getInput("RETURN")&&this.moveInputBefore("STACK","RETURN")):this.removeInput("STACK",!0),this.hasStatements_=t)},updateParams_:function(){var t="";this.arguments_.length&&(t=gt.Msg.PROCEDURES_BEFORE_PARAMS+" "+this.arguments_.join(", ")),gt.Events.disable();try{this.setFieldValue(t,"PARAMS")}finally{gt.Events.enable()}},mutationToDom:function(t){var e=gt.utils.xml.createElement("mutation");t&&e.setAttribute("name",this.getFieldValue("NAME"));for(var i=0;i"),this.appendValueInput("style").appendField(gt.Msg.MIXLY_AIP_ATTR).setAlign(gt.inputs.Align.RIGHT),this.appendStatementInput("DO").appendField(""),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},s_={init:function(){this.setColour($s),this.appendDummyInput().appendField(gt.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},__={init:function(){this.setColour($s),this.appendDummyInput().appendField(gt.Msg.HTML_FORM_CONTENT).appendField(new gt.FieldDropdown([[gt.Msg.HTML_TEXT,"text"],[gt.Msg.HTML_EMAIL,"email"],[gt.Msg.HTML_NUMBER,"number"],[gt.Msg.HTML_PASSWORD,"password"],[gt.Msg.HTML_CHECKBOX,"checkbox"],[gt.Msg.HTML_RADIOBUTTON,"radiobutton"],[gt.Msg.HTML_BUTTON,"button"],[gt.Msg.HTML_COLOUR,"colour"],[gt.Msg.HTML_DATE,"date"],[gt.Msg.HTML_LOCALTIME,"local time"],[gt.Msg.HTML_FILE,"file"],[gt.Msg.HTML_HIDDEN,"hidden"],[gt.Msg.HTML_IMAGE,"image"],[gt.Msg.HTML_MONTH,"month"],[gt.Msg.HTML_RANGE,"range"],[gt.Msg.HTML_RESET,"reset"],[gt.Msg.HTML_SEARCH,"search"],[gt.Msg.HTML_SUBMIT,"submit"],[gt.Msg.HTML_TELEPHONENUMBER,"telephone number"],[gt.Msg.HTML_TIME,"time"],[gt.Msg.HTML_URL,"url"],[gt.Msg.HTML_WEEK,"week"]]),"LEVEL"),this.appendDummyInput().appendField(gt.Msg.HTML_NAME).appendField(new gt.FieldTextInput("car"),"NAME"),this.appendDummyInput().appendField(gt.Msg.HTML_VALUE).appendField(new gt.FieldTextInput("go"),"VALUE"),this.appendValueInput("style").appendField(gt.Msg.MIXLY_AIP_ATTR).setAlign(gt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},o_={init:function(){this.setColour($s),this.appendDummyInput().appendField(new gt.FieldTextInput("property"),"KEY").appendField(":").appendField(new gt.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},p_={init:function(){this.setColour($s),this.appendDummyInput().appendField(new gt.FieldTextInput("property"),"KEY").appendField(":").appendField(new gt.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},a_={init:function(){this.setColour($s),this.appendDummyInput().appendField(gt.Msg.HTML_TEXT).appendField(new gt.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},u_=160,r_={init:function(){this.setColour(u_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new gt.FieldTable(""),"TEXT")}},d_={init:function(){this.setColour(u_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new gt.FieldMultilineInput(""),"TEXT")}},l_={init:function(){this.setColour(u_),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new gt.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},I_={init:function(){this.setColour(u_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},T_={init:function(){this.setColour(u_),this.appendDummyInput().appendTitle("Comment:").appendTitle(new gt.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},M_={init:function(){this.setColour(u_),this.appendValueInput("VALUE").appendField(gt.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},h_={init:function(){this.setColour(u_),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new gt.icons.MutatorIcon(["text_print_multiple_item"],this)),this.setTooltip(gt.Msg.TEXT_PRINT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=gt.Block.obtain(t,"text_print_multiple_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n= stop:"," yield start"," start -= abs(step)"])};if(t=function(t,e,i){return"("+t+" <= "+e+") and "+a()+"("+t+", "+e+", "+i+") or "+u()+"("+t+", "+e+", "+i+")"},gt.isNumber(n)&>.isNumber(s)&>.isNumber(_))n=parseFloat(n),s=parseFloat(s),_=Math.abs(parseFloat(_)),0==n%1&&0==s%1&&0==_%1?(n<=s?(s++,t=0==n&&1==_?s:n+", "+s,1!=_&&(t+=", "+_)):t=n+", "+--s+", -"+_,t="range("+t+")"):(t=n",GTE:">="};const la=function(t,e){var i=this.getFieldValue("OP"),n="&&"==i?e.ORDER_LOGICAL_AND:e.ORDER_LOGICAL_OR,s=e.valueToCode(this,"A",n)||"False",_=e.valueToCode(this,"B",n)||"False";if("AND"==i)var o=s+" and "+_;else if("OR"==i)o=s+" or "+_;else if("NOR"==i)o="not("+s+"^"+_+")";else o=s+"^"+_;return[o,n]},Ia=function(t,e){var i=e.ORDER_UNARY_PREFIX;return["not "+(e.valueToCode(this,"BOOL",i)||"False"),i]},Ta=function(t,e){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",e.ORDER_ATOMIC]},Ma=function(t,e){return["None",e.ORDER_ATOMIC]},ha=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"False";return["("+(e.valueToCode(this,"B",e.ORDER_ATOMIC)||"False")+" if "+i+" else "+(e.valueToCode(this,"C",e.ORDER_ATOMIC)||"False")+")",e.ORDER_ATOMIC]},ma=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},Ea=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},Oa=function(t,e){return["bool("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||"0")+")",e.ORDER_ATOMIC]},Ra=function(t,e){return e.definitions_.import_os="import os","os.startfile("+e.valueToCode(this,"fn",e.ORDER_ATOMIC)+")\n"},ca=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+" = open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},ga=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",e.ORDER_ATOMIC]},Ca=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',e.ORDER_ATOMIC]},Sa=function(t,e){var i=e.valueToCode(this,"data",e.ORDER_ATOMIC);return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".write("+i+")\n"},Aa=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"()",e.ORDER_ATOMIC]},La=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Na=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".readline("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Da=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".writable()",e.ORDER_ATOMIC]},fa=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".name()",e.ORDER_ATOMIC]},Fa=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".close()\n"},Pa=function(t,e){e.definitions_.import_os="import os";return["os.listdir()",e.ORDER_ATOMIC]},Ya=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},va=function(t,e){return e.definitions_.import_os="import os",["os.path.getsize("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Xa=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".tell()",e.ORDER_ATOMIC]},xa=function(t,e){var i=this.getFieldValue("MODE"),n=0;return n="start"==i?0:"current"==i?1:2,e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".seek("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+","+n+")\n"},ya=function(t,e){return e.definitions_.import_os="import os","os.chdir("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},ba=function(t,e){e.definitions_.import_os="import os";return["os.getcwd()",e.ORDER_ATOMIC]},Va=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"PATH",e.ORDER_ATOMIC)+")\n"},Ba=function(t,e){return e.definitions_.import_os="import os","os.rename("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+","+e.valueToCode(this,"NEWFILE",e.ORDER_ATOMIC)+")\n"},Ga=function(t,e){e.definitions_.import_os="import os";var i=e.valueToCode(this,"FILE",e.ORDER_ATOMIC);return["os."+this.getFieldValue("MODE")+"("+i+")",e.ORDER_ATOMIC]},Ua=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = sdcard.SDCard("+e.valueToCode(this,"SPISUB",e.ORDER_ATOMIC)+","+e.valueToCode(this,"PINSUB",e.ORDER_ATOMIC)+")\n"},wa=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard","os.mount("+e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+","+e.valueToCode(this,"DIR",e.ORDER_ATOMIC)+")\n"},ka=function(t,e){var i=e.variableDB_.getName(this.getFieldValue("NAME"),gt.Procedures.NAME_TYPE),n=(this.getInput("STACK")&&e.statementToCode(this,"STACK"))??" pass\n";e.INFINITE_LOOP_TRAP&&(n=e.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+n);var s=e.valueToCode(this,"RETURN",e.ORDER_NONE)||"";s&&(s=" return "+s+"\n");for(var _=[],o=0;o\n\n\n\t\n"+e.statementToCode(this,"HEAD")+"\n\n"+e.statementToCode(this,"BODY")+"\n\n'''",e.ORDER_ATOMIC]},Au=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"\n"+i+"\n"},Lu=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");if("head"==n)var s="<"+n+'>\n\t\n'+i+"\n";else s="<"+n+">\n"+i+"\n";return s},Nu=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"<"+n+">\n"+i+"\n"},Du=function(t,e){var i=e.statementToCode(this,"DO"),n=e.valueToCode(this,"style"),s=this.getFieldValue("LEVEL");return"<"+s+" "+n+" >\n"+i+"\n"},fu=function(t,e){return['style="'+e.statementToCode(this,"STYLE")+'"',e.ORDER_ATOMIC]},Fu=function(t,e){return'"},Pu=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},Yu=function(){return this.getFieldValue("TEXT")+"\n"},vu=function(t){return t.getFieldValue("TEXT")+"\n"},Xu=function(t,e){return[t.getFieldValue("TEXT"),e.ORDER_ATOMIC]},xu=function(t,e){return(e.valueToCode(t,"VALUE",e.ORDER_ATOMIC)||"")+"\n"},yu=function(){return""},bu=function(t,e){return["type("+(e.valueToCode(t,"VALUE",e.ORDER_MEMBER)||"___")+")",e.ORDER_ATOMIC]},Vu=function(t,e){for(var i=t.getFieldValue("NAME"),n=t.hasReturn_,s=new Array(t.itemCount_),_=0;_0?e.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+t+"while True:\n"+a.join("")+u.join("\n"):e.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+t+u.join("\n")},wu.scrubNakedValue=function(t){return t+"\n"},wu.quote_=function(t){var e="'";return-1!==t.indexOf("'")&&(-1===t.indexOf('"')?e='"':t=t.replace(/'/g,"\\'")),e+t+e},wu.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},wu.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(_=t.getCommentText())&&(_=gt.utils.string.wrap(_,wu.COMMENT_WRAP-3),n+=wu.prefixLines(_+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const ku="#74A55B",Hu={init:function(){this.setColour(ku),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MIDI),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(gt.Msg.MIXLY_RGB_PIN_COUNT)}},Wu={init:function(){this.setColour(ku),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(gt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Ku={init:function(){this.setColour(ku),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(gt.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(gt.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},Ju={init:function(){this.setColour(ku),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(gt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Qu={init:function(){this.setColour(ku),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(gt.Msg.MIXLY_BACKSTAGE+gt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_BACKSTAGE+gt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},qu={init:function(){this.setColour(ku),this.appendValueInput("SUB"),this.appendValueInput("TICKS").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(gt.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(gt.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},zu={init:function(){this.setColour(ku),this.appendValueInput("SUB"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},ju={init:function(){this.setColour(ku),this.appendValueInput("SUB"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_MUSIC_RESET)}},$u={init:function(){this.setColour(ku),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Zu={init:function(){this.setColour(ku),this.appendValueInput("SUB"),this.appendValueInput("percent").appendField(gt.Msg.MIXLY_MUSIC_VOLUME_SET),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},tr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.MIXLY_SETTING).appendField(gt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(gt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_EXTERN_LED_SETONOFF)}},er={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(gt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},ir={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(gt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},nr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.MIXLY_SETTING).appendField(gt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(gt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_EXTERN_LED_SETBRIGHT)}},sr={init:function(){this.setColour(ku),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_SETUP+gt.Msg.MIXLY_SERVO),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_PIN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},_r={init:function(){this.setColour(ku),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_SERVO).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("DEGREE",Number).setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_DEGREE_0_180),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_SERVO_MOVE)}},or={init:function(){this.setColour(ku),this.appendValueInput("VAR").appendField("360°"+gt.Msg.MIXLY_SERVO),this.appendValueInput("SPEED",Number).setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_SETTING+gt.Msg.blockpy_turtle_rotate+gt.Msg.MIXLY_SPEED+" (-10~10)"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_SERVO_360_TOOLTIP)}},pr={init:function(){this.setColour(ku),this.appendValueInput("PIN",Number).appendField("180°"+gt.Msg.MIXLY_SERVO).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_SERVO_MOVE)}},ar={init:function(){this.setColour(ku),this.appendValueInput("PIN",Number).appendField("360°"+gt.Msg.MIXLY_SERVO).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_SERVO_SPEED_TOOLIPS)}},ur={init:function(){this.setColour(ku),this.appendValueInput("PIN",Number).appendField("180°"+gt.Msg.MIXLY_SERVO).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET+gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},rr={init:function(){this.setColour(ku),this.appendValueInput("PIN",Number).appendField("360°"+gt.Msg.MIXLY_SERVO).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET+gt.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},dr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField("初始化").setCheck("var"),this.appendDummyInput().appendField("电机驱动"),this.appendDummyInput().appendField("地址").appendField(new gt.FieldDropdown([["A","ms32006.ADDRESS_A"],["B","ms32006.ADDRESS_B"]]),"mode"),this.appendValueInput("SUB1").setCheck("var").setAlign(gt.inputs.Align.RIGHT).appendField("通信"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("初始化MS32006电机驱动,使用I2C通信")}},lr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField("直流电机").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Direction).appendField(new gt.FieldDropdown([[gt.Msg.CLOCKWISE,"ms32006.MOT_CW"],[gt.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"],[gt.Msg.MOTOR_N,"ms32006.MOT_N"],[gt.Msg.MOTOR_P,"ms32006.MOT_P"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_STEPPER_SET_SPEED),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置直流电机的状态及转速(0-100)")}},Ir={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField("步进电机").setCheck("var"),this.appendDummyInput().appendField("选择").appendField(new gt.FieldDropdown([["A","ms32006.MOT_A"],["B","ms32006.MOT_B"]]),"mode"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Direction).appendField(new gt.FieldDropdown([[gt.Msg.CLOCKWISE,"ms32006.MOT_CW"],[gt.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField("转速"),this.appendValueInput("steps").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField("步数"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置步进电机的状态、转速、步数(0-2047)")}},Tr={init:function(){this.setColour(ku),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_PIN),this.appendValueInput("LEDCOUNT").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_COUNT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(gt.Msg.MIXLY_RGB_PIN_COUNT)}},Mr={init:function(){this.setColour(ku),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("_LED_").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(gt.Msg.MIXLY_RGB_NUM_R_G_B_MP)}},hr={init:function(){this.setColour(ku),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("RVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(gt.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},mr={init:function(){this.setColour(ku),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(gt.Msg.MIXLY_ESP32_MUSIC_WRI)}},Er={init:function(){this.setColour(ku),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(gt.Msg.MIXLY_DURATION).appendField(gt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Or={init:function(){this.setColour(ku),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(gt.Msg.PYTHON_RANGE_STEP).appendField(gt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Rr={init:function(){this.setColour(ku),this.appendDummyInput("").appendField(gt.Msg.CONTROLS_FOR_INPUT_WITH+"uart").appendField(new gt.FieldDropdown([["uart1","uart1"],["uart2","uart2"]]),"key"),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_SETUP+gt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new gt.FieldDropdown([["SYN6288"+gt.Msg.MIXLY_AipSpeech_synthesis,"SYN6288"],["NS9300"+gt.Msg.MIXLY_MUSIC_PLAYER,"NS9300"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},cr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_GET+gt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_WHETHER).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_STOPPED,"0"],[gt.Msg.MIXLY_PLAYING,"1"],[gt.Msg.MIXLY_PAUSED,"2"]]),"key"),this.setInputsInline(!0),this.setOutput(!0)}},gr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_STAT).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MP3_PLAY,"1"],[gt.Msg.MIXLY_MP3_PAUSE,"2"],[gt.Msg.MIXLY_STOP,"3"],[gt.Msg.MIXLY_MP3_PREV,"4"],[gt.Msg.MIXLY_MP3_NEXT,"5"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Cr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendValueInput("volume").appendField(gt.Msg.MIXLY_MP3_VOL+gt.Msg.MIXLY_STAT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_PLAYER_SET_VOLUME_TOOLTIP)}},Sr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MODE+gt.Msg.MIXLY_STAT).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MP3_LOOP_ALL,"0"],[gt.Msg.MIXLY_MP3_LOOP_ONE,"1"],[gt.Msg.MIXLY_PLAYER_DIRECTORY_LOOP,"2"],[gt.Msg.MIXLY_MP3_LOOP_RAM,"3"],[gt.Msg.MIXLY_PLAYER_SINGLE_STOP,"4"],[gt.Msg.MIXLY_PLAYER_SEQUENTIAL_PLAY,"5"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ar={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_JS_START_MELODY,"play"],[gt.Msg.MIXLY_PLAYER_INSERT_MUSIC,"insert"]]),"key"),this.appendValueInput("song"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_PLAYER_PLAY_MUSIC_TOOTIP)}},Lr={},Nr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(gt.Msg.MIXLY_SET_VOLUME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},Dr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField("SYN6288"),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET_VOLUME),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},fr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(gt.Msg.MIXLY_PLAY_HINTS),this.appendDummyInput().appendField(gt.Msg.MIXLY_PROGRAM_BLOCK).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[gt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_PLAY_HINTS_TOOLTIP)}},Fr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("data").setCheck(String).appendField(gt.Msg.MIXLY_AipSpeech_synthesis),this.appendValueInput("VOICE").setCheck(Number).appendField(gt.Msg.MIXLY_BACKGROUND_MUSIC),this.appendDummyInput().appendField(gt.Msg.MIXLY_PROGRAM_BLOCK).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[gt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_PLAY_TTS_TOOLTIP)}},Pr={init:function(){this.setColour(ku),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.extern_addr),"PIN"),this.setOutput(!0,Number)}},Yr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.ME_GO_MOTOR_EXTERN+gt.Msg.MIXLY_MOTOR).appendField(gt.Msg.PIN_NUMBERING).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LEFT,"0"],[gt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},vr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.ME_GO_MOTOR_EXTERN+gt.Msg.MIXLY_MOTOR).appendField(gt.Msg.PIN_NUMBERING).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LEFT,"0"],[gt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_GET+gt.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},Xr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.ME_GO_MOTOR_EXTERN+gt.Msg.MIXLY_TRAFFIC_LIGHT).appendField(gt.Msg.PIN_NUMBERING).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LEFT,"0"],[gt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.LISTS_SET_INDEX_SET).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_Turn_off_display,"0"],[gt.Msg.MIXLY_TRAFFIC_LIGHT_RED_ON,"1"],[gt.Msg.MIXLY_TRAFFIC_LIGHT_RED_BLINK,"2"],[gt.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_ON,"3"],[gt.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_BLINK,"4"],[gt.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_ON,"5"],[gt.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_BLINK,"6"]]),"light"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},xr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.ME_GO_MOTOR_EXTERN).appendField(new gt.FieldDropdown([[gt.Msg.COLOUR_RGB_WHITE,"W"],[gt.Msg.COLOUR_RGB_RED,"R"],[gt.Msg.COLOUR_RGB_YELLOW,"Y"],[gt.Msg.COLOUR_RGB_GREEN,"G"],[gt.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(gt.Msg.PIN_NUMBERING).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LEFT,"0"],[gt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("value").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},yr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.ME_GO_MOTOR_EXTERN).appendField(new gt.FieldDropdown([[gt.Msg.COLOUR_RGB_WHITE,"W"],[gt.Msg.COLOUR_RGB_RED,"R"],[gt.Msg.COLOUR_RGB_YELLOW,"Y"],[gt.Msg.COLOUR_RGB_GREEN,"G"],[gt.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(gt.Msg.PIN_NUMBERING).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LEFT,"0"],[gt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET+gt.Msg.BRIGHTNESS),this.setOutput(!0,Number),this.setInputsInline(!0)}},br={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.ME_GO_MOTOR_EXTERN+gt.Msg.MIXLY_SERVO_MOTOR).appendField(gt.Msg.PIN_NUMBERING).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LEFT,"0"],[gt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"[0]"],[gt.Msg.MIXLY_SPEED,"[1]"],[gt.Msg.MATH_SINGLE_OP_ABSOLUTE+gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[2]"],[gt.Msg.MIXLY_RELATIVE+gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[3]"],[gt.Msg.MIXLY_MIXBOT_SERVO_BLOCK_OR_NOT,"[4]"],[gt.Msg.MIXLY_MIXBOT_SERVO_FINISH_OR_NOT,"[5]"],[gt.Msg.MIXLY_ALL,""]]),"status"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Vr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.ME_GO_MOTOR_EXTERN+gt.Msg.MIXLY_SERVO_MOTOR).appendField(gt.Msg.PIN_NUMBERING).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LEFT,"0"],[gt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MIXBOT_SERVO_SET_STOP_MODE).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_KEEP,"0"],[gt.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_COAST,"1"],[gt.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_BRAKE,"2"]]),"status"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Br={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.ME_GO_MOTOR_EXTERN+gt.Msg.MIXLY_SERVO_MOTOR).appendField(gt.Msg.PIN_NUMBERING).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LEFT,"0"],[gt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(gt.Msg.MIXLY_STOP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Gr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.ME_GO_MOTOR_EXTERN+gt.Msg.MIXLY_SERVO_MOTOR).appendField(gt.Msg.MATH_SINGLE_OP_ABSOLUTE+gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+gt.Msg.MSG.run).appendField(gt.Msg.PIN_NUMBERING).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LEFT,"0"],[gt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MODE).setAlign(gt.inputs.Align.RIGHT).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_SPEED+gt.Msg.MIXLY_MODE,"0"],[gt.Msg.MIXLY_MICROBIT_JS_BLE_POWER+gt.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(gt.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(gt.inputs.Align.RIGHT).appendField(new gt.FieldDropdown([[gt.Msg.CLOCKWISE,"0"],[gt.Msg.MIXLY_MIXBOT_SERVO_NEAREST_PATH,"1"],[gt.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.appendValueInput("angle").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MIXBOT_SERVO_ABSOLUTE_ANGLE_TOOLTIP)}},Ur={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.ME_GO_MOTOR_EXTERN+gt.Msg.MIXLY_SERVO_MOTOR).appendField(gt.Msg.MIXLY_RELATIVE+gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+gt.Msg.MSG.run).appendField(gt.Msg.PIN_NUMBERING).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LEFT,"0"],[gt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ORIGIN_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},wr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.ME_GO_MOTOR_EXTERN+gt.Msg.MIXLY_SERVO_MOTOR).appendField(gt.Msg.MIXLY_RELATIVE+gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+gt.Msg.MSG.run).appendField("("+gt.Msg.MIXLY_MIXBOT_SERVO_LIKE_ENCODING_MOTOR+")").appendField(gt.Msg.PIN_NUMBERING).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LEFT,"0"],[gt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MODE).setAlign(gt.inputs.Align.RIGHT).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_SPEED+gt.Msg.MIXLY_MODE,"0"],[gt.Msg.MIXLY_MICROBIT_JS_BLE_POWER+gt.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(gt.inputs.Align.RIGHT).appendField("%"),this.appendValueInput("angle").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ANGLE_TOOLTIP)}},kr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.ME_GO_MOTOR_EXTERN+gt.Msg.MIXLY_SERVO_MOTOR).appendField(gt.Msg.MIXLY_RELATIVE+gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+gt.Msg.MSG.run).appendField("("+gt.Msg.MIXLY_MIXBOT_SERVO_LIKE_ORDINARY_MOTOR+")").appendField(gt.Msg.PIN_NUMBERING).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LEFT,"0"],[gt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MODE).setAlign(gt.inputs.Align.RIGHT).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_SPEED+gt.Msg.MIXLY_MODE,"0"],[gt.Msg.MIXLY_MICROBIT_JS_BLE_POWER+gt.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(gt.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(gt.inputs.Align.RIGHT).appendField(new gt.FieldDropdown([[gt.Msg.CLOCKWISE,"0"],[gt.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Hr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.MIXBOT).appendField(gt.Msg.ME_GO_MOTOR_EXTERN).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MOTOR,"ext_motor"],[gt.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[gt.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[gt.Msg.COLOUR_RGB_RED+"LED","R_LED"],[gt.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[gt.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[gt.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[gt.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MIXBOT_EXTERN_GET_ADDR),this.setOutput(!0),this.setInputsInline(!0)}},Wr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.MIXBOT).appendField(gt.Msg.ME_GO_MOTOR_EXTERN).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MOTOR,"ext_motor"],[gt.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[gt.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[gt.Msg.COLOUR_RGB_RED+"LED","R_LED"],[gt.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[gt.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[gt.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[gt.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MIXBOT_EXTERN_SET_ADDR),this.appendValueInput("old").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE),this.appendValueInput("new").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_UPDATE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Kr={init:function(){this.setColour(ku),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_SETUP+gt.Msg.MIXLY_AT).appendField(gt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},Jr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.MIXLY_SETTING),this.appendValueInput("pin").appendField("LED"),this.appendValueInput("bright").appendField(gt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Qr={init:function(){this.setColour(ku),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_SERVO+gt.Msg.MIXLY_SETUP+gt.Msg.MIXLY_AT).appendField(gt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},qr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_SERVO),this.appendValueInput("angle").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE),this.appendDummyInput().appendField(gt.Msg.DRAW_POINTER_ANGLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},zr={init:function(){this.setColour(ku),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_MOTOR+gt.Msg.MIXLY_SETUP+gt.Msg.MIXLY_AT).appendField(gt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},jr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_MOTOR),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+gt.Msg.MIXLY_SPEED),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},$r="#6C9858",Zr={init:function(){this.setColour($r),this.appendDummyInput("").appendField(new gt.FieldDropdown([["L1","1"],["L2","2"]]),"op"),this.setOutput(!0)}},td={init:function(){this.setColour($r),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_ESP32_ON,"1"],[gt.Msg.MIXLY_ESP32_OFF,"0"],[gt.Msg.MIXLY_ESP32_TOGGLE,"-1"]]),"flag"),this.setOutput(!0),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},ed={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(gt.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(gt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_LED_SETONOFF)}},id={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(gt.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(gt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_LED_GETBRIGHT)}},nd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(gt.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(gt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_LED_GETONOFF)}},sd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(gt.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(gt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_SETTING+gt.Msg.MIXLY_BUILDIN_LED+gt.Msg.MIXLY_BRIGHTNESS+"(0-100%)")}},_d={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(gt.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput("").appendField(gt.Msg.MIXLY_LCD_SETCOLOR).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LIGHT_RED,"1"],[gt.Msg.MIXLY_LIGHT_GREEN,"2"],[gt.Msg.MIXLY_LIGHT_BLUE,"3"],[gt.Msg.MIXLY_LIGHT_YELLOW,"4"],[gt.Msg.MIXLY_LIGHT_CYAN,"5"],[gt.Msg.MIXLY_LIGHT_PURPLE,"6"],[gt.Msg.MIXLY_LIGHT_WHITE,"7"]]),"colorvalue"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},od={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_SETTING).appendField(gt.Msg.MIXLY_BUILDIN_LED).appendField(new gt.FieldDropdown([[gt.Msg.COLOUR_RGB_RED,"r"],[gt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(gt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_LED_SETONOFF)}},pd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(gt.Msg.MIXLY_BUILDIN_LED).appendField(new gt.FieldDropdown([[gt.Msg.COLOUR_RGB_RED,"r"],[gt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(gt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_LED_GETONOFF)}},ad={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(gt.Msg.MIXLY_BUILDIN_LED).appendField(new gt.FieldDropdown([[gt.Msg.COLOUR_RGB_RED,"r"],[gt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(gt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_LED_GETONOFF)}},ud={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_SETTING).appendField(gt.Msg.MIXLY_BUILDIN_LED).appendField(new gt.FieldDropdown([[gt.Msg.COLOUR_RGB_RED,"r"],[gt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(gt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_SETTING+gt.Msg.MIXLY_BUILDIN_LED+gt.Msg.MIXLY_BRIGHTNESS+"(0-10)")}},rd={init:function(){this.setColour($r),this.appendDummyInput("").appendField(new gt.FieldDropdown([["L1","20"],["L2","21"]]),"op"),this.setOutput(!0)}},dd={init:function(){this.setColour($r),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(Ct.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgo_cc":case"micropython:esp32s2:mixgo_ce":this.setTooltip(gt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgo_me":default:this.setTooltip(gt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(gt.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},ld={init:function(){this.setColour($r),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(gt.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},Id={init:function(){this.setColour($r),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(gt.Msg.MIXLY_DURATION).appendField(gt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Td={init:function(){this.setColour($r),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(gt.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(gt.Msg.PYTHON_RANGE_STEP).appendField(gt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Md={init:function(){this.setColour($r),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(gt.Msg.MIXLY_ESP32_MUSIC_WRI)}},hd={init:function(){this.setColour($r),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(Ct.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgocc":this.setTooltip(gt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgome":default:this.setTooltip(gt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(gt.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},md={init:function(){this.setColour($r),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(gt.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},Ed={init:function(){this.setColour($r),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(gt.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(gt.Msg.PYTHON_RANGE_STEP).appendField(gt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Od={init:function(){this.setColour($r),this.appendValueInput("TICKS").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(gt.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(gt.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},Rd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},cd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_MUSIC_RESET)}},gd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(gt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Cd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(gt.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(gt.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},Sd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ad={init:function(){this.setColour($r),this.appendValueInput("LIST").appendField(gt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Ld={init:function(){this.setColour($r),this.appendValueInput("LIST").appendField(gt.Msg.MIXLY_BACKSTAGE+gt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Nd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MOTOR_DC).appendField(new gt.FieldDropdown([["1","1"],["2","2"],["3","3"]]),"wheel"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Direction).appendField(new gt.FieldDropdown([[gt.Msg.CLOCKWISE,"CW"],[gt.Msg.ANTI_CLOCKWISE,"CCW"],[gt.Msg.MOTOR_P,"P"],[gt.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Dd={init:function(){this.setColour($r),this.appendDummyInput().appendField("MixGo Car").appendField(new gt.FieldDropdown([[gt.Msg.blockpy_forward,"F"],[gt.Msg.blockpy_backward,"B"],[gt.Msg.blockpy_left,"L"],[gt.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},fd={init:function(){this.setColour($r),this.appendDummyInput("").appendField("MixGo Car").appendField(new gt.FieldDropdown([[gt.Msg.MOTOR_P,"P"],[gt.Msg.MOTOR_N,"N"]]),"VAR"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Fd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MOTOR_DC).appendField(new gt.FieldDropdown([[gt.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[gt.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Direction).appendField(new gt.FieldDropdown([[gt.Msg.CLOCKWISE,"CW"],[gt.Msg.ANTI_CLOCKWISE,"CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Pd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MOTOR_DC).appendField(new gt.FieldDropdown([[gt.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[gt.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(gt.Msg.MIXLY_STOP).appendField(new gt.FieldDropdown([[gt.Msg.MOTOR_P,"P"],[gt.Msg.MOTOR_N,"N"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Yd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_MIXBOT_MOTOR_STATUS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MIXBOT_MOTOR_STATUS_TOOLTIP)}},vd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXBOT).appendField(new gt.FieldDropdown([[gt.Msg.blockpy_forward,"F"],[gt.Msg.blockpy_backward,"B"],[gt.Msg.blockpy_left,"L"],[gt.Msg.blockpy_right,"R"]]),"VAR"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[gt.Msg.MIXLY_SPEED,"SPEED"],[gt.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},Xd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXBOT).appendField(new gt.FieldDropdown([[gt.Msg.MOTOR_P,"P"],[gt.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},xd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXBOT).appendField(gt.Msg.MIXLY_MOTOR).appendField(new gt.FieldDropdown([[gt.Msg.TEXT_TRIM_LEFT,"1"],[gt.Msg.TEXT_TRIM_RIGHT,"2"],[gt.Msg.TEXT_TRIM_BOTH,"0"]]),"wheel"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[gt.Msg.MIXLY_SPEED,"SPEED"],[gt.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},yd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_MIXBOT_BUZZER),this.appendDummyInput().appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,"0"],[gt.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,"1"]]),"on_off"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},bd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.BITBOT).appendField(new gt.FieldDropdown([[gt.Msg.blockpy_forward,"F"],[gt.Msg.blockpy_backward,"B"],[gt.Msg.blockpy_left,"L"],[gt.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Vd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.BITBOT).appendField(new gt.FieldDropdown([[gt.Msg.MOTOR_P,"P"],[gt.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Bd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.BITBOT).appendField(gt.Msg.MIXLY_MOTOR).appendField(new gt.FieldDropdown([[gt.Msg.TEXT_TRIM_LEFT,"0"],[gt.Msg.TEXT_TRIM_RIGHT,"1"]]),"wheel"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Direction).appendField(new gt.FieldDropdown([[gt.Msg.CLOCKWISE,"CW"],[gt.Msg.ANTI_CLOCKWISE,"CCW"],[gt.Msg.MOTOR_P,"P"],[gt.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Gd={init:function(){this.setColour($r),this.appendValueInput("bright").appendField(gt.Msg.MIXLY_MIXBOT_SOUND_SET_LOUDNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_LED_SETONOFF)}},Ud={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_MIXBOT_SOUND_LOUDNESS+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_LED_GETONOFF)}},wd={init:function(){this.setColour($r),this.appendValueInput("bright").appendField(gt.Msg.MIXLY_SETTING+gt.Msg.MIXLY_MIXBOT_BUZZER+gt.Msg.MIXLY_MP3_VOL),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_LED_SETONOFF)}},kd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET+gt.Msg.MIXLY_MIXBOT_BUZZER+gt.Msg.MIXLY_MP3_VOL+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_LED_GETONOFF)}},Hd={init:function(){this.setColour($r),this.appendValueInput("PATH").appendField(gt.Msg.MIXLY_RECORD_AUDIO).appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendValueInput("TIME").setCheck(Number).appendField(gt.Msg.MIXLY_GET_PRESSES_TIME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Wd={init:function(){this.setColour($r),this.appendValueInput("PATH").appendField(gt.Msg.MIXLY_PLAY_AUDIO).appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Kd={init:function(){this.setColour($r),this.appendValueInput("PATH").appendField(gt.Msg.MIXLY_PLAY_ONLINE_AUDIO).appendField("URL"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Jd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(gt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Qd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},qd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.LISTS_SET_INDEX_SET+gt.Msg.ME_GO_MOTOR_EXTERN).appendField(gt.Msg.PIN_NUMBERING);switch(Ct.Boards.getSelectedBoardKey()){case"micropython:esp32c2:mixgo_mini":this.appendDummyInput().appendField(new gt.FieldDropdown([["1","1"],["2","2"]]),"index");break;case"micropython:esp32c5:mixgo_sowl":this.appendDummyInput().appendField(new gt.FieldDropdown([["1","1"],["2","2"],["4","4"],["5","5"]]),"index");break;default:this.appendDummyInput().appendField(new gt.FieldDropdown([["1","1"],["2","2"],["3","3"],["4","4"]]),"index")}this.appendValueInput("duty").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.blynk_IOT_IR_POWER+gt.Msg.MIXLY_PINMODEOUT),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},zd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET+gt.Msg.ME_GO_MOTOR_EXTERN).appendField(gt.Msg.PIN_NUMBERING);switch(Ct.Boards.getSelectedBoardKey()){case"micropython:esp32c2:mixgo_mini":this.appendDummyInput().appendField(new gt.FieldDropdown([["1","1"],["2","2"]]),"index");break;case"micropython:esp32c5:mixgo_sowl":this.appendDummyInput().appendField(new gt.FieldDropdown([["1","1"],["2","2"],["4","4"],["5","5"]]),"index");break;default:this.appendDummyInput().appendField(new gt.FieldDropdown([["1","1"],["2","2"],["3","3"],["4","4"]]),"index")}this.appendDummyInput().setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.blynk_IOT_IR_POWER+gt.Msg.MIXLY_PINMODEOUT+gt.Msg.MIXLY_DUTY_RATIO),this.setOutput(!0,Number),this.setInputsInline(!0)}},jd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.LISTS_SET_INDEX_SET+gt.Msg.ME_GO_MOTOR_EXTERN).appendField(gt.Msg.MIXLY_ALL+gt.Msg.PIN_NUMBERING),this.appendValueInput("duty").setCheck(Number).setAlign(gt.ALIGN_RIGHT).appendField(gt.Msg.blynk_IOT_IR_POWER+gt.Msg.MIXLY_PINMODEOUT+gt.Msg.MIXLY_FREQUENCY),this.appendDummyInput().appendField("Hz"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},$d={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.LISTS_SET_INDEX_SET+gt.Msg.ME_GO_MOTOR_EXTERN).appendField(new gt.FieldDropdown([["1-2","1"],["4-5","4"]]),"index"),this.appendValueInput("duty").setCheck(Number).setAlign(gt.ALIGN_RIGHT).appendField(gt.Msg.blynk_IOT_IR_POWER+gt.Msg.MIXLY_PINMODEOUT+gt.Msg.MIXLY_FREQUENCY),this.appendDummyInput().appendField("Hz"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},Zd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.ANALOG+gt.Msg.MIXLY_KEYBOARD_INPUT),this.appendValueInput("special"),this.appendValueInput("general"),this.appendDummyInput().appendField(gt.Msg.MIXLY_RELEASE).appendField(new gt.FieldDropdown([[gt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[gt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"release"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.ANALOG+gt.Msg.MIXLY_KEYBOARD_INPUT)}},tl={init:function(){this.setColour($r),this.appendDummyInput("").appendField(gt.Msg.MIXLY_SPECIAL_KEY).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_SPECIAL_KEY0,"0x00"],[gt.Msg.MIXLY_SPECIAL_KEY1,"0x01"],[gt.Msg.MIXLY_SPECIAL_KEY2,"0x02"],[gt.Msg.MIXLY_SPECIAL_KEY4,"0x04"],[gt.Msg.MIXLY_SPECIAL_KEY8,"0x08"],[gt.Msg.MIXLY_SPECIAL_KEY16,"0x10"],[gt.Msg.MIXLY_SPECIAL_KEY32,"0x20"],[gt.Msg.MIXLY_SPECIAL_KEY64,"0x40"],[gt.Msg.MIXLY_SPECIAL_KEY128,"0x80"]]),"op"),this.setOutput(!0)}},el={init:function(){this.setColour($r),this.appendDummyInput("").appendField(gt.Msg.MIXLY_GENERAL_KEY).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_SPECIAL_KEY0,"0x00"],["A","0x04"],["B","0x05"],["C","0x06"],["D","0x07"],["E","0x08"],["F","0x09"],["G","0x0A"],["H","0x0B"],["I","0x0C"],["J","0x0D"],["K","0x0E"],["L","0x0F"],["M","0x10"],["N","0x11"],["O","0x12"],["P","0x13"],["Q","0x14"],["R","0x15"],["S","0x16"],["T","0x17"],["U","0x18"],["V","0x19"],["W","0x1A"],["X","0x1B"],["Y","0x1C"],["Z","0x1D"],["1 !","0x1E"],["2 @","0x1F"],["3 #","0x20"],["4 $","0x21"],["5 %","0x22"],["6 ^","0x23"],["7 &","0x24"],["8 *","0x25"],["9 (","0x26"],["0 )","0x27"],["ENTER","0x28"],["ESC","0x29"],["BACKSPACE","0x2A"],["TAB","0x2B"],["SPACE","0x2C"],["- _","0x2D"],["= +","0x2E"],["[ {","0x2F"],["] }","0x30"],["\\ |","0x31"],["; :","0x33"],["' \"","0x34"],["` ~","0x35"],[", <","0x36"],[". >","0x37"],["/ ?","0x38"],["CAPS_LOCK","0x39"],["F1","0x3A"],["F2","0x3B"],["F3","0x3C"],["F4","0x3D"],["F5","0x3E"],["F6","0x3F"],["F7","0x40"],["F8","0x41"],["F9","0x42"],["F10","0x43"],["F11","0x44"],["F12","0x45"],["PRINTSCREEN","0x46"],["SCROLL_LOCK","0x47"],["PAUSE","0x48"],["INSERT","0x49"],["HOME","0x4A"],["PAGE_UP","0x4B"],["DELETE","0x4C"],["END","0x4D"],["PAGE_DOWN","0x4E"],["RIGHT","0x4F"],["LEFT","0x50"],["DOWN","0x51"],["UP","0x52"],["NUM_LOCK","0x53"],["/","0x54"],["*","0x55"],["-","0x56"],["+","0x57"],["ENTER","0x58"],["1","0x59"],["2","0x5A"],["3","0x5B"],["4","0x5C"],["5","0x5D"],["6","0x5E"],["7","0x5F"],["8","0x60"],["9","0x61"],["0","0x62"],[".","0x63"]]),"op"),this.setOutput(!0)}},il={init:function(){this.setColour($r),this.itemCount_=2,this.updateShape_(),this.setOutput(!0),this.setMutator(new gt.icons.MutatorIcon(["generalkey_create_with_item"],this)),this.setTooltip(gt.Msg.GENERALKEY_TUPLE_CREATE_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("generalkey_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;nnew Array(32).fill(0)))},Om={init:function(){this.jsonInit({colour:am,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SAD","SAD"],["SMILE","SMILE"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["SURPRISED","SURPRISED"],["ASLEEP","ASLEEP"],["ANGRY","ANGRY"],["CONFUSED","CONFUSED"],["NO","NO"],["YES","YES"]],type:"field_dropdown"}],output:["esp32_image","List"],helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#attributes",tooltip:gt.Msg.MIXLY_MICROBIT_Built_in_image1,message0:gt.Msg.MIXLY_MICROBIT_Built_in_image})}},Rm={init:function(){this.setColour(am),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new gt.FieldDropdown(Ct.Profile.default.builtinimg),"image"),this.setOutput(!0,["esp32_image","List"])}},cm={init:function(){this.setColour(am),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(gt.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new gt.FieldDropdown(cm.OPERATORS),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{"+":gt.Msg.MIXLY_MICROBIT_image_add,"-":gt.Msg.MIXLY_MICROBIT_image_reduce}[e]}))},OPERATORS:[[gt.Msg.MICROBIT_DISPLAY_UNION,"add"],[gt.Msg.MICROBIT_DISPLAY_MINUS,"sub"]]},gm={init:function(){this.setColour(am),this.appendValueInput("A").setCheck("esp32_image").appendField(gt.Msg.MIXLY_MICROBIT_Invert_image1),this.setInputsInline(!0),this.setOutput(!0,"esp32_image")}},Cm={init:function(){this.setColour(am),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(gt.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(gt.Msg.DISPLAY_IMAGE_LET2).appendField(new gt.FieldDropdown(Cm.OPERATORS),"OP"),this.appendValueInput("val").appendField(gt.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(gt.Msg.DISPLAY_IMAGE_UNIT),["Python ESP32-S3","Python ESP32-C5"].includes(Ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(gt.Msg.MIXLY_synchronize);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=gt.Msg.DISPLAY_IMAGE_LET,n=gt.Msg.DISPLAY_IMAGE_LET2,s=gt.Msg.DISPLAY_IMAGE_LET3;return i+n+{shift_up:gt.Msg.MIXLY_UP,shift_down:gt.Msg.MIXLY_DOWN,shift_left:gt.Msg.MIXLY_LEFT,shift_right:gt.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[gt.Msg.MIXLY_UP,"shift_up"],[gt.Msg.MIXLY_DOWN,"shift_down"],[gt.Msg.MIXLY_LEFT,"shift_left"],[gt.Msg.MIXLY_RIGHT,"shift_right"]]},Sm={init:function(){this.setColour(am),this.appendValueInput("x").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_JS_MONITOR_GET_POINT),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(gt.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},Am={init:function(){this.setColour(am),this.appendValueInput("x").setCheck(Number).appendField(gt.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},Lm={init:function(){this.setColour(am),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(gt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},Nm={init:function(){this.setColour(am),this.appendValueInput("x").setCheck(Number).appendField(gt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},Dm={init:function(){this.setColour(am),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Clear_display),["Python ESP32-S3","Python ESP32-C5"].includes(Ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(gt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MICROBIT_Clear_display)}},fm={init:function(){this.setColour(am),this.appendDummyInput().appendField(gt.Msg.MIXLY_SHOW+gt.Msg.MIXLY_DISPLAY_MATRIX_WRITE_NOW),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Fm={init:function(){this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<5;t++){let e=this.appendDummyInput();for(let i=0;i<8;i++)e.appendField(new gt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(am),this.setTooltip(gt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Pm={init:function(){this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(gt.inputs.Align.CENTRE).appendField(new gt.FieldBitmap(Pm.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(am),this.setTooltip(gt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(8).fill(0)))},Ym={init:function(){this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<8;t++){let e=this.appendDummyInput();for(let i=0;i<12;i++)e.appendField(new gt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(am),this.setTooltip(gt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},vm={init:function(){this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(gt.inputs.Align.CENTRE).appendField(new gt.FieldBitmap(vm.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(am),this.setTooltip(gt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(12).fill(0)))},Xm={init:function(){this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<8;t++){let e=this.appendDummyInput();for(let i=0;i<16;i++)e.appendField(new gt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0,"esp32_image"),this.setColour(am),this.setTooltip(gt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},xm={init:function(){this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(gt.inputs.Align.CENTRE).appendField(new gt.FieldBitmap(xm.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(am),this.setTooltip(gt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(16).fill(0)))},ym={init:function(){this.setColour(am),this.appendDummyInput().appendField(gt.Msg.OLED_SET_FONT).appendField(new gt.FieldDropdown(ym.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[["4x5"+gt.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'4x5'"],["5x5"+gt.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'5x5'"],["5x8"+gt.Msg.MIXGO_ME_DISPLAY_VERTICAL,"'5x8'"]]},bm={init:function(){this.setColour(am),this.appendValueInput("data").appendField(gt.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.OLED_BITMAP_OR_STRING)}},Vm={init:function(){this.setColour(am),this.appendValueInput("data").appendField(gt.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.OLED_BITMAP_OR_STRING)}},Bm={init:function(){this.setColour(am),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(gt.Msg.OLED_DRAWSTR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.OLED_BITMAP_OR_STRING)}},Gm={init:function(){this.setColour(am),this.appendValueInput("data").appendField(gt.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(gt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(gt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(gt.Msg.TEXT_CENTER).appendField(new gt.FieldDropdown([[gt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[gt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},Um={init:function(){this.setColour(am),this.appendValueInput("data").appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(gt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(gt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},wm={init:function(){this.setColour(am),this.appendValueInput("data").appendField(gt.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(gt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},km={init:function(){this.setColour(am),this.appendValueInput("x").setCheck(Number).appendField(gt.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},Hm={init:function(){this.jsonInit({colour:am,args0:[{name:"state",options:[[gt.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[gt.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"shape",options:[[gt.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[gt.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"}],inputsInline:!0,helpUrl:gt.Msg.mpython_HELPURL,tooltip:gt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:gt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},Wm={init:function(){this.jsonInit({colour:am,args0:[{name:"state",options:[[gt.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[gt.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"dir_h_v",options:[[gt.Msg.mpython_vertical,"0"],[gt.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"}],inputsInline:!0,helpUrl:gt.Msg.mpython_HELPURL,tooltip:gt.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:gt.Msg.MPYTHON_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},Km={init:function(){this.jsonInit({colour:am,args0:[{name:"state",options:[[gt.Msg.mpython_display_hline_1,"1"],[gt.Msg.mpython_display_hline_0,"0"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"}],inputsInline:!0,helpUrl:gt.Msg.mpython_HELPURL,tooltip:gt.Msg.mpython_display_line_TOOLTIP,message0:gt.Msg.mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},Jm={init:function(){this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new gt.FieldDropdown(Jm.IMAGES),"path"),this.setColour(am),this.setOutput(!0)},IMAGES:[["Heart","expression_picture.Heart"],["Angry","expression_picture.Angry"],["Bored","expression_picture.Bored"],["Confused","expression_picture.Confused"],["Happy","expression_picture.Happy"],["Paper","expression_picture.Paper"],["Rock","expression_picture.Rock"],["Sad","expression_picture.Sad"],["Scissors","expression_picture.Scissors"],["Silly","expression_picture.Silly"],["Sleep","expression_picture.Sleep"],["Small_heart","expression_picture.Small_heart"],["Small_paper","expression_picture.Small_paper"],["Small_rock","expression_picture.Small_rock"],["Small_scissors","expression_picture.Small_scissors"],["Smile","expression_picture.Smile"],["Surprise","expression_picture.Surprise"],["Wonderful","expression_picture.Wonderful"],["Eyes_Angry","eye_picture.Eyes_Angry"],["Awake","eye_picture.Awake"],["Black_eye","eye_picture.Black_eye"],["Bottom_left","eye_picture.Bottom_left"],["Bottom_right","eye_picture.Bottom_right"],["Crazy_1","eye_picture.Crazy_1"],["Crazy_2","eye_picture.Crazy_2"],["Disappointed","eye_picture.Disappointed"],["Dizzy","eye_picture.Dizzy"],["Down","eye_picture.Down"],["Evil","eye_picture.Evil"],["Hurt","eye_picture.Hurt"],["Knocked_out","eye_picture.Knocked_out"],["Love","eye_picture.Love"],["Middle_left","eye_picture.Middle_left"],["Middle_right","eye_picture.Middle_right"],["Neutral","eye_picture.Neutral"],["Nuclear","eye_picture.Nuclear"],["Pinch_left","eye_picture.Pinch_left"],["Pinch_middle","eye_picture.Pinch_middle"],["Pinch_right","eye_picture.Pinch_right"],["Tear","eye_picture.Tear"],["Tired_left","eye_picture.Tired_left"],["Tired_middle","eye_picture.Tired_middle"],["Tired_right","eye_picture.Tired_right"],["Toxic","eye_picture.Toxic"],["Up","eye_picture.Up"],["Winking","eye_picture.Winking"],["Accept","informatio_picture.Accept"],["Backward","informatio_picture.Backward"],["Decline","informatio_picture.Decline"],["Forward","informatio_picture.Forward"],["Left","informatio_picture.Left"],["No_go","informatio_picture.No_go"],["Question_mark","informatio_picture.Question_mark"],["Right","informatio_picture.Right"],["Stop_1","informatio_picture.Stop_1"],["Stop_2","informatio_picture.Stop_2"],["Thumbs_down","informatio_picture.Thumbs_down"],["Thumbs_up","informatio_picture.Thumbs_up"],["Warning","informatio_picture.Warning"],["Bomb","object_picture.Bomb"],["Boom","object_picture.Boom"],["Fire","object_picture.Fire"],["Flowers","object_picture.Flowers"],["Forest","object_picture.Forest"],["Lightning","object_picture.Lightning"],["Light_off","object_picture.Light_off"],["Light_on","object_picture.Light_on"],["Night","object_picture.Night"],["Pirate","object_picture.Pirate"],["Snow","object_picture.Snow"],["Target","object_picture.Target"],["Bar_0","progres_picture.Bar_0"],["Bar_1","progres_picture.Bar_1"],["Bar_2","progres_picture.Bar_2"],["Bar_3","progres_picture.Bar_3"],["Bar_4","progres_picture.Bar_4"],["Dial_0","progres_picture.Dial_0"],["Dial_1","progres_picture.Dial_1"],["Dial_2","progres_picture.Dial_2"],["Dial_3","progres_picture.Dial_3"],["Dial_4","progres_picture.Dial_4"],["Dots_0","progres_picture.Dots_0"],["Dots_1","progres_picture.Dots_1"],["Dots_2","progres_picture.Dots_2"],["Dots_3","progres_picture.Dots_3"],["Hourglass_0","progres_picture.Hourglass_0"],["Hourglass_1","progres_picture.Hourglass_1"],["Hourglass_2","progres_picture.Hourglass_2"],["Timer_0","progres_picture.Timer_0"],["Timer_1","progres_picture.Timer_1"],["Timer_2","progres_picture.Timer_2"],["Timer_3","progres_picture.Timer_3"],["Timer_4","progres_picture.Timer_4"],["Water_level_0","progres_picture.Water_level_0"],["Water_level_1","progres_picture.Water_level_1"],["Water_level_2","progres_picture.Water_level_2"],["Water_level_3","progres_picture.Water_level_3"],["YES","informatio_picture.YES"],["NO","informatio_picture.NO"]]},Qm={init:function(){this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<5;t++){let e=this.appendDummyInput();for(let i=0;i<5;i++)e.appendField(new gt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(am),this.setTooltip(gt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},qm={init:function(){this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(gt.inputs.Align.CENTRE).appendField(new gt.FieldBitmap(qm.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(am),this.setTooltip(gt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(5).fill(0)))},zm={init:function(){this.setColour(am),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(gt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},jm={init:function(){this.setColour(am),this.appendDummyInput().appendField(gt.Msg.MIXLY_MIXBOT_AMBIENTBRIGHT),this.setInputsInline(!0),this.setOutput(!0,Number)}},$m={init:function(){this.setColour(am),this.appendValueInput("x").setCheck(Number).appendField(gt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},Zm={init:function(){this.setColour(am),this.appendDummyInput().appendField(gt.Msg.MIXLY_MIXBOT_SCREEN_ROTATE).appendField(new gt.FieldDropdown(Zm.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[[gt.Msg.mixpy_PL_PIE_SHADOW_N,"0"],[gt.Msg.CLOCKWISE+"90"+gt.Msg.blockpy_setheading_degree,"1"],[gt.Msg.CLOCKWISE+"180"+gt.Msg.blockpy_setheading_degree,"2"],[gt.Msg.CLOCKWISE+"270"+gt.Msg.blockpy_setheading_degree,"3"]]},tE={init:function(){this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<12;t++){let e=this.appendDummyInput();for(let i=0;i<12;i++)e.appendField(new gt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(am),this.setTooltip(gt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},eE={init:function(){this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(gt.inputs.Align.CENTRE).appendField(new gt.FieldBitmap(eE.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(am),this.setTooltip(gt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:12},(()=>new Array(12).fill(0)))},iE={init:function(){this.setColour(am),this.appendValueInput("data").appendField(gt.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(gt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(gt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},nE={init:function(){this.setColour(am),this.appendValueInput("x").setCheck(Number).appendField(gt.Msg.OLED_BITMAP).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("direct").setCheck(String).appendField(gt.Msg.MIXLY_AipImageClassify_Image+gt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},sE={init:function(){this.setColour(am),this.appendValueInput("data").appendField(gt.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(gt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(gt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(gt.Msg.TEXT_CENTER).appendField(new gt.FieldDropdown([[gt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[gt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.appendValueInput("VAR").appendField(gt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(gt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},_E={init:function(){this.setColour(am),this.appendValueInput("data").appendField(gt.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(gt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("VAR").appendField(gt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},oE={init:function(){this.jsonInit({colour:am,args0:[{name:"shape",options:[[gt.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[gt.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:gt.Msg.mpython_HELPURL,tooltip:gt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:gt.Msg.ONBOARD_TFT_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},pE={init:function(){this.jsonInit({colour:am,args0:[{name:"dir_h_v",options:[[gt.Msg.mpython_vertical,"0"],[gt.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:gt.Msg.mpython_HELPURL,tooltip:gt.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:gt.Msg.ONBOARD_TFT_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},aE={init:function(){this.jsonInit({colour:am,args0:[{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:gt.Msg.mpython_HELPURL,tooltip:gt.Msg.mpython_display_line_TOOLTIP,message0:gt.Msg.onboard_mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},uE={init:function(){this.setColour(am),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("x").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(gt.Msg.HTML_COLOUR),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(gt.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},rE={init:function(){this.setColour(am),this.appendValueInput("x").setCheck(Number).appendField(gt.Msg.MIXLY_LCD_SETCOLOR).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("VAR").appendField(gt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(gt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},dE={init:function(){this.setColour(am),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_SCREEN_FILL),["Python ESP32-S3","Python ESP32-C5"].includes(Ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(gt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},lE={init:function(){this.setColour(am),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_INIT_CLOCK),this.appendDummyInput().appendField(gt.Msg.MIXLY_CENTER_POS),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(gt.Msg.OLED_CIRCLE_RADIUS),this.appendValueInput("VAR").appendField(gt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},IE={init:function(){this.setColour(am),this.appendValueInput("SUB"),this.appendDummyInput().appendField(gt.Msg.GET_RTCTIME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},TE={init:function(){this.setColour(am),this.appendValueInput("SUB"),this.appendDummyInput().appendField(gt.Msg.SET_TIME),this.appendValueInput("h").setCheck(Number).appendField(gt.Msg.MIXLY_HOUR),this.appendValueInput("m").setCheck(Number).appendField(gt.Msg.MIXLY_MINUTE),this.appendValueInput("s").setCheck(Number).appendField(gt.Msg.MIXLY_SECOND),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},ME={init:function(){this.setColour(am),this.appendValueInput("SUB"),this.appendDummyInput().appendField(gt.Msg.DRAW_CLOCK),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},hE={init:function(){this.setColour(am),this.appendValueInput("SUB"),this.appendDummyInput().appendField(gt.Msg.CLEAR_CLOCK),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_STM32_TFT_BACKGROUND_COLOR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},mE={init:function(){this.jsonInit({colour:am,args0:[{name:"shape",options:[[gt.Msg.MPYTHON_DISPLAY_HOLLOW,"False"],[gt.Msg.MPYTHON_DISPLAY_SOLID,"True"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"r",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:gt.Msg.mpython_HELPURL,message0:gt.Msg.ONBOARD_TFT_DISPLAY_SHAPE_CIRCLE_MESSAGE0,nextStatement:null,previousStatement:null})}},EE={init:function(){this.setColour(am),this.appendDummyInput().appendField(gt.Msg.DRAW_POINTER).appendField(gt.Msg.DRAW_POINTER_ANGLE),this.appendValueInput("angle"),this.appendDummyInput().appendField(gt.Msg.MIXLY_DRAW_POINTER_DU),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.DRAW_POINTER_TOOLTIP)}},OE={init:function(){this.setColour(am),this.appendDummyInput().appendField(gt.Msg.DRAW_POINTER).appendField(gt.Msg.DRAW_POINTER_ANGLE),this.appendValueInput("angle"),this.appendDummyInput().appendField(gt.Msg.MIXLY_DRAW_POINTER_DU),this.appendValueInput("VAR").appendField(gt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.DRAW_POINTER_TOOLTIP)}},RE={init:function(){this.setColour(am),this.appendValueInput("data").appendField(gt.Msg.MIXLY_Display_long_text),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(gt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(gt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},cE={init:function(){this.setColour(am),this.appendValueInput("direct").appendField(gt.Msg.OLED_BITMAP).appendField(gt.Msg.MIXLY_QR_CODE),["Python ESP32-S3","Python ESP32-C5"].includes(Ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(gt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},gE={init:function(){this.setColour(am),this.appendValueInput("data").appendField(gt.Msg.OLED_BITMAP).appendField(gt.Msg.MIXLY_QR_CODE),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendDummyInput("").appendField(gt.Msg.MIXLY_ERROR_RATE).appendField(new gt.FieldDropdown([["0","7%"],["1","15%"],["2","25%"],["3","30"]]),"correct"),this.appendValueInput("VAR").appendField(gt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(gt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},CE={init:function(){this.setColour(am),this.appendValueInput("data").appendField(gt.Msg.OLED_BITMAP),this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.OLED_BITMAP_OR_STRING),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},SE={init:function(){dm.init.call(this),this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},AE={init:function(){Mm.init.call(this),this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},LE={init:function(){Cm.init.call(this),this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},NE={init:function(){Lm.init.call(this),this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},DE={init:function(){Nm.init.call(this),this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},fE={init:function(){Dm.init.call(this),this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},FE=180,PE={init:function(){this.setColour(FE),this.setOutput(!0),this.setInputsInline(!0),this.appendValueInput("img").appendField(gt.Msg.DISPLAY_IMAGE_LET).setCheck(["esp32_image","List",String]),this.appendDummyInput("").appendField(gt.Msg.DISPLAY_IMAGE_LET2).appendField(new gt.FieldDropdown(PE.OPERATORS),"OP"),this.appendValueInput("val").appendField(gt.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(gt.Msg.DISPLAY_IMAGE_UNIT);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=gt.Msg.DISPLAY_IMAGE_LET,n=gt.Msg.DISPLAY_IMAGE_LET2,s=gt.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:gt.Msg.MIXLY_UP,down:gt.Msg.MIXLY_DOWN,left:gt.Msg.MIXLY_LEFT,right:gt.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[gt.Msg.MIXLY_UP,"up"],[gt.Msg.MIXLY_DOWN,"down"],[gt.Msg.MIXLY_LEFT,"left"],[gt.Msg.MIXLY_RIGHT,"right"]]},YE={init:function(){this.setColour(FE),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(gt.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new gt.FieldDropdown(YE.OPERATORS),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{"+":gt.Msg.MIXLY_MICROBIT_image_add,"-":gt.Msg.MIXLY_MICROBIT_image_reduce}[e]}))},OPERATORS:[[gt.Msg.MICROBIT_DISPLAY_UNION,"+"],[gt.Msg.MICROBIT_DISPLAY_MINUS,"-"]]},vE={init:function(){this.setColour(FE),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+gt.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("esp32_image"),this.appendDummyInput("").appendField(new gt.FieldDropdown(vE.OPERATORS),"OP"),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+gt.Msg.MIXLY_MICROBIT_IMAGE+{height:gt.Msg.MIXLY_HEIGHT,width:gt.Msg.MIXLY_WIDTH}[e]}))},OPERATORS:[[gt.Msg.MIXLY_HEIGHT,"height"],[gt.Msg.MIXLY_WIDTH,"width"]]},XE={init:function(){this.setColour(FE),this.appendValueInput("VAR").appendField(gt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RECT).appendField(new gt.FieldDropdown(XE.STATUS),"OP"),this.jsonInit({message0:gt.Msg.MIXLY_MICROBIT_SHOW_RECT,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"width"},{check:Number,type:"input_value",name:"height"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(gt.Msg.MIXLY_OLED_RECT)},STATUS:[[gt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[gt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},xE={init:function(){this.setColour(FE),this.appendValueInput("VAR").appendField(gt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE).appendField(new gt.FieldDropdown(xE.STATUS),"OP"),this.jsonInit({message0:gt.Msg.MIXLY_HANBIT_SHOW_CIRCLE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"r"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(gt.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE)},STATUS:[[gt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[gt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},yE={init:function(){this.setColour(FE),this.appendValueInput("VAR").appendField(gt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_DISPLAY_DRAW+gt.Msg.MIXLY_HANBIT_DRAW_TRIANGLE).appendField(new gt.FieldDropdown(yE.STATUS),"OP"),this.jsonInit({message0:gt.Msg.MIXLY_HANBIT_SHOW_triangle,args0:[{check:Number,type:"input_value",name:"x0"},{check:Number,type:"input_value",name:"y0"},{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(gt.Msg.MIXLY_DISPLAY_DRAW+gt.Msg.MIXLY_HANBIT_DRAW_TRIANGLE)},STATUS:[[gt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[gt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},bE="#777777",VE={init:function(){this.setColour(bE),this.appendDummyInput("").appendField("from ").appendField(new gt.FieldTextInput("ESP32"),"path").appendField(" import ").appendField(new gt.FieldTextInput("*"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},BE={init:function(){this.setColour(bE),this.appendDummyInput("").appendField("import ").appendField(new gt.FieldTextInput("module"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},GE={init:function(){this.setColour(bE),this.appendDummyInput("").appendField(new gt.FieldTextInput("my_function"),"NAME"),this.itemCount_=1,this.arguments_=["x"],this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new gt.icons.MutatorIcon(["factory_create_with_item"],this))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("items",this.itemCount_);for(var e=0;ee?t[e]:'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){gt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},NO={init:function(){this.setColour(RO),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(gt.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},DO={init:function(){this.setColour(RO),this.appendDummyInput().appendField(gt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},fO={init:function(){this.setColour(RO),this.appendDummyInput().appendField(gt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},FO={init:function(){this.setColour(RO),this.appendDummyInput().appendField(gt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").setCheck(String).appendField(gt.Msg.MIXLY_EMQX_SERVER).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(gt.Msg.MIXLY_WIFI_USERNAME).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(gt.Msg.MIXLY_IOT_PASSWORD).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("PROJECT").setCheck(String).appendField(gt.Msg.MIXLY_EMQX_PROJECT).setAlign(gt.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},PO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(gt.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(gt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(gt.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},YO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(gt.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(gt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(gt.Msg.HTML_BODY),this.appendDummyInput().appendField(gt.Msg.MIXLY_Service_quality_display).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_AT_MOST_ONCE,"0"],[gt.Msg.MIXLY_AT_LEAST_ONCE,"1"]]),"quality"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},vO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(gt.Msg.MIXLY_EMQX_SUBSCRIBE+gt.Msg.MIXLY_MICROBIT_MSG).appendField(gt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(gt.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_IOT_EMQX_SUBSCRIBE_TOOLTIP)}},XO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},xO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(gt.Msg.MIXLY_EMQX_CONNECT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},yO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_CHECK_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},bO={init:function(){this.setColour(RO),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(gt.Msg.MQTT_Topic),this.setInputsInline(!0),this.setOutput(!0)}},VO={init:function(){this.setColour(RO),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(gt.Msg.MIXLY_EMQX_PUBLISH_MSG),this.setInputsInline(!0),this.setOutput(!0)}},BO={init:function(){this.setColour(RO),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_ESP32_IOT_MAP_FORMATING),this.setOutput(!0)}},GO={init:function(){this.setColour(RO),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_MICROPYTHON_FORMAT+"(Json)"),this.setOutput(!0)}},UO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(gt.Msg.MIXLY_EMQX_PING),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_IOT_EMQX_PING_TOOLTIP)}},wO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("MixIO").appendField(gt.Msg.MIXLY_GET_NTP),this.appendValueInput("addr").appendField(gt.Msg.blynk_SERVER_ADD),this.setInputsInline(!0),this.setOutput(!0)}},kO={init:function(){this.setColour(RO),this.appendDummyInput().appendField(gt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(gt.Msg.MIXLY_EMQX_SERVER).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(gt.Msg.CONTROLS_FOR_INPUT_WITH+gt.Msg.MIXLY_MIXIO_SHARE_KEY).setAlign(gt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},HO={init:function(){this.setColour(RO),this.appendDummyInput().appendField(gt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(gt.Msg.MIXLY_EMQX_SERVER).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(gt.Msg.CONTROLS_FOR_INPUT_WITH+"Mixly Key").setAlign(gt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},WO={init:function(){this.VISITOR_ID=Ct.Config.BOARD.visitorId.str32.substring(0,8).toUpperCase(),this.setColour(RO),this.appendDummyInput("").appendField(new gt.FieldTextInput(this.visitorId),"VISITOR_ID"),this.setOutput(!0,null)},onchange:function(){const t=this.getFieldValue("VISITOR_ID");this.VISITOR_ID!==t&&this.setFieldValue(this.VISITOR_ID,"VISITOR_ID")}},KO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("MixIO").appendField(gt.Msg.MSG.catEthernet_clinet),this.setOutput(!0),this.setInputsInline(!0)}},JO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("HTTP"+gt.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(gt.Msg.DISPLAY_IMAGE_LET2),this.appendDummyInput().appendField(gt.Msg.MIXLY_REQUESTS_GET).appendField(gt.Msg.MIXLY_GET_CURRENT_TIME).appendField(gt.Msg.MIXLY_OPEN_DEBUG).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[gt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},QO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("HTTP"+gt.Msg.MIXLY_Client).appendField(gt.Msg.MIXLY_GET).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_REQUESTS_LEN,"client_len"],[gt.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[gt.Msg.MIXLY_REQUESTS_MESSAGE,"text"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},qO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("MQTT"+gt.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(gt.Msg.MIXLY_CONNECTTO),this.appendDummyInput().appendField(gt.Msg.MIXLY_INIT_SUBSCRIBE).appendField(gt.Msg.MQTT_Topic).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GET_CURRENT_TIME,""]]),"key").appendField(gt.Msg.MIXLY_OPEN_DEBUG).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[gt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},zO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("MQTT"+gt.Msg.MIXLY_Client).appendField(gt.Msg.MIXLY_GET).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_REQUESTS_LEN,"client_len"],[gt.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[gt.Msg.MIXLY_REQUESTS_MESSAGE,"time_msg()"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},jO=cO,$O=gO,ZO=CO,tR=SO,eR=LO,iR={init:function(){this.setColour(RO),this.appendDummyInput().appendField(gt.Msg.MIXLY_CONNECT_OLLAMA),this.appendValueInput("SERVER").appendField(gt.Msg.MIXLY_EMQX_SERVER).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(gt.Msg.MODEL_NAME).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(gt.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},nR=iR,sR={init:function(){this.setColour(RO),this.appendDummyInput().appendField(gt.Msg.MIXLY_CONNECT_OPENAI),this.appendValueInput("SERVER").appendField(gt.Msg.MIXLY_EMQX_SERVER).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(gt.Msg.MIXLY_API_PRIVATE_KEY).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(gt.Msg.MODEL_NAME).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(gt.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},_R={init:function(){this.setColour(RO),this.appendDummyInput().appendField(gt.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(gt.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendValueInput("METHOD").appendField(gt.Msg.MIXLY_LLM_CONTENT_CALLBACK),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},oR={init:function(){this.setColour(RO),this.appendDummyInput().appendField(gt.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(gt.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendDummyInput().appendField(gt.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0)}},pR={init:function(){this.setColour(RO),this.appendDummyInput().appendField("Ollama "+gt.Msg.MIXLY_EMPTY_HISTORY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},aR={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${gt.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("ADDR").setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_EMQX_SERVER),this.appendValueInput("USERNAME").setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_EMQX_USERNAME),this.appendValueInput("PASSWORD").setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_IOT_PASSWORD),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},uR={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${gt.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("MQTT").setAlign(gt.inputs.Align.RIGHT).appendField(`MixIO ${gt.Msg.MIXLY_Client}`),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},rR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_TINY_WEB_DB_UPDATE_VARIABLE),this.appendValueInput("VALUE").setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},dR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(gt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLE),this.appendDummyInput().appendField(gt.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setOutput(!0)}},lR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendDummyInput().appendField(gt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_NUM),this.setInputsInline(!0),this.setOutput(!0)}},IR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB").appendField(gt.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARIABLES),this.appendValueInput("NO").setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_TINY_WEB_DB_START_NUMBER),this.appendValueInput("COUNT").setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_TINY_WEB_DB_VARIABLE_NUMBER),this.appendValueInput("TAG").setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARS),this.appendDummyInput().setAlign(gt.inputs.Align.RIGHT).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_ALL,"both"],[gt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_TAG,"tag"],[gt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_VALUE,"value"]]),"DTYPE"),this.setInputsInline(!1),this.setOutput(!0)}},TR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(gt.Msg.MIXLY_TINY_WEB_DB_DELETE_VARIABLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},MR=225,hR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_NETWORK_INIT),this.appendDummyInput().appendField(gt.Msg.MIXLY_NETWORK_MODE).appendField(new gt.FieldDropdown([["STA","STA"],["AP","AP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_INIT_TOOLTIP)}},mR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_NETWORK_WIFI_OPEN,"True"],[gt.Msg.MIXLY_NETWORK_WIFI_CLOSE,"False"]]),"op"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_NETWORK_WIFI_FLAG),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("op"),i=gt.Msg.MIXLY_ESP32_NETWORK_OPEN_TOOLTIP;return{True:gt.Msg.MIXLY_NETWORK_WIFI_OPEN,False:gt.Msg.MIXLY_NETWORK_WIFI_CLOSE}[e]+i}))}},ER={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE)}},OR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_NETWORK_WIFI_SCAN),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip((function(){return gt.Msg.MIXLY_ESP32_NETWORK_SCAN_TOOLTIP+{0:"ssid",1:"bssid",2:"channel",3:"RSSI",4:"authmode",5:"hidden",all:gt.Msg.MIXLY_NETWORK_WIFI_SCAN_ATTRIBUTE}.all}))}},RR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_ESP32_NETWORK_CONNECT),this.appendValueInput("id").setCheck(String).appendField(gt.Msg.HTML_NAME),this.appendValueInput("password").setCheck(String).appendField(gt.Msg.HTML_PASSWORD),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_CONNECT_TOOLTIP)}},cR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_NETWORK_WIFI_CONNECT+gt.Msg.MIXLY_SYMBOL_QUESTION),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_WIFI_CONNECT_TOOLTIP)}},gR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_ESP32_NETWORK_IP,"0"],[gt.Msg.MIXLY_ESP32_NETWORK_MASK,"1"],[gt.Msg.MIXLY_ESP32_NETWORK_GATEWAY,"2"],["DNS","3"]]),"mode"),this.setOutput(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return gt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP+{0:gt.Msg.MIXLY_ESP32_NETWORK_IP,1:gt.Msg.MIXLY_ESP32_NETWORK_MASK,2:gt.Msg.MIXLY_ESP32_NETWORK_GATEWAY,3:"DNS"}[e]}))}},CR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_ESP32_NETWORK_STOP_CONNECT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_STOP_TOOLTIP)}},SR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput().appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_NETWORK_WIFI_ESSID,"essid"],[gt.Msg.MIXLY_NETWORK_WIFI_CHANNEL,"channel"]]),"op"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP)}},AR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.LISTS_SET_INDEX_SET+gt.Msg.MIXLY_HOTSPOT),this.appendValueInput("essid").setCheck(String).appendField(gt.Msg.MIXLY_NAME),this.appendValueInput("password").setCheck(String).appendField(gt.Msg.MIXLY_EMQX_PASSWORD),this.appendValueInput("channel").setCheck(Number).appendField(gt.Msg.MIXLY_NETWORK_WIFI_CHANNEL),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_AP_CONNECT_TOOLTIP)}},LR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_ESP32_NETWORK_SERVER1),this.appendDummyInput("").appendField(gt.Msg.MIXLY_ESP32_NETWORK_SERVER2),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},NR={init:function(){this.setColour(MR),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_INIT).setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new gt.FieldDropdown([["TCP","TCP"],["UDP","UDP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return gt.Msg.MIXLY_ESP32_NETWORK_SOCKET_INIT_TOOLTIP+{TCP:"TCP",UDP:"UDP"}[e]}))}},DR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_BIND_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_SOCKET_BIND_TOOLTIP)}},fR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_CONNECT_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_SOCKET_CONNECT_TOOLTIP)}},FR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendValueInput("queue").setCheck(Number).appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_LISTEN).appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_QUEUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_SOCKET_LISTEN_TOOLTIP)}},PR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_ACCEPT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_SOCKET_ACCEPT_TOOLTIP)}},YR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE_TOOLTIP)}},vR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("size").setCheck(Number).appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_TOOLTIP)}},XR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("content").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TOOLTIP)}},xR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("size").setCheck(Number).appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_FROM_TOOLTIP)}},yR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("content").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.appendValueInput("address").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_TO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TO_TOOLTIP)}},bR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_CLOSE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},VR={init:function(){this.setColour(MR),this.appendValueInput("DOMAIN").appendField(gt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(gt.Msg.blockpy_REQUESTS_GET).appendField(new gt.FieldTextInput("response"),"VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.blockpy_REQUESTS_GET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){gt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},BR={init:function(){this.appendValueInput("VAL"),this.setColour(MR),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new gt.FieldDropdown(BR.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{clear:gt.Msg.MIXLY_TOOLTIP_TURTEL_CLEAR,reset:gt.Msg.MIXLY_TOOLTIP_TURTEL_RESET,home:gt.Msg.MIXLY_TOOLTIP_TURTEL_HOME}[e]}))},ATTR:[[gt.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[gt.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[gt.Msg.blockpy_REQUESTS_GET_ATTR_COOKIES,"cookies"],[gt.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"]]},GR={init:function(){this.appendValueInput("VAR").appendField(gt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.setColour(MR),this.appendDummyInput("").appendField(gt.Msg.blockpy_CONDUCT).appendField(new gt.FieldDropdown(GR.METHOD),"DIR"),this.appendDummyInput("").appendField(gt.Msg.blockpy_REQUESTS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{forward:gt.Msg.MIXLY_TOOLTIP_TURTEL_FORWARD,backward:gt.Msg.MIXLY_TOOLTIP_TURTEL_BACKWARD}[e]}))},METHOD:[["post","post"],["put","put"],["delete","delete"],["head","head"],["option","option"]]},UR={init:function(){this.setColour(MR),this.appendDummyInput("").appendField(gt.Msg.MIXLY_GET_NTP+"(NTP)"),this.appendValueInput("data").appendField(gt.Msg.blynk_SERVER_ADD),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},wR={init:function(){this.setColour(MR),this.appendDummyInput("").appendField(new gt.FieldDropdown([["ntp.aliyun.com","ntp.aliyun.com"],["ntp1.aliyun.com","ntp1.aliyun.com"],["ntp2.aliyun.com","ntp2.aliyun.com"],["ntp3.aliyun.com","ntp3.aliyun.com"],["ntp4.aliyun.com","ntp4.aliyun.com"],["ntp5.aliyun.com","ntp5.aliyun.com"],["ntp6.aliyun.com","ntp6.aliyun.com"],["ntp7.aliyun.com","ntp7.aliyun.com"],["time1.cloud.tencent.com","time1.cloud.tencent.com"],["time2.cloud.tencent.com","time2.cloud.tencent.com"],["time3.cloud.tencent.com","time3.cloud.tencent.com"],["time4.cloud.tencent.com","time4.cloud.tencent.com"],["time5.cloud.tencent.com","time5.cloud.tencent.com"]]),"op"),this.setOutput(!0)}},kR="#3288dd",HR={init:function(){this.setColour(kR),this.appendValueInput("URL").appendField(gt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(gt.Msg.blockpy_CONDUCT).appendField(new gt.FieldDropdown([["get","get"],["head","head"],["delete","delete"]]),"TYPE").appendField(gt.Msg.blockpy_REQUESTS).appendField(gt.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},WR={init:function(){this.setColour(kR),this.appendValueInput("URL").appendField(gt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(gt.Msg.blockpy_CONDUCT).appendField(new gt.FieldDropdown([["post","post"],["put","put"],["patch","patch"]]),"TYPE").appendField(gt.Msg.blockpy_REQUESTS),this.appendValueInput("data").appendField(gt.Msg.blockpy_REQUESTS+gt.Msg.OLED_STRING),this.appendDummyInput("").appendField(gt.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},KR={init:function(){this.appendValueInput("VAL"),this.setColour(kR),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new gt.FieldDropdown(KR.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String)},ATTR:[[gt.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[gt.Msg.blockpy_REQUESTS_GET_ATTR_JSON,"json()"],[gt.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[gt.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"],[gt.Msg.MIXPY_TEXT_ENCODE,"encoding"]]},JR={init:function(){this.setColour(kR),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_IOT_CONNECT_WIFI),this.appendValueInput("WIFINAME").setCheck(String).appendField(gt.Msg.HTML_NAME),this.appendValueInput("PASSWORD").setCheck(String).appendField(gt.Msg.HTML_PASSWORD),this.appendValueInput("TIMEOUT").setCheck(Number).appendField(gt.Msg.MIXLY_IR_TIMEOUT),this.appendDummyInput().appendField(gt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_IOT_WIFI_CONNECT_TOOLTIP)}},QR={init:function(){this.setColour(kR),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_IOT_EMQX_CONNECT_TOOLTIP),this.appendValueInput("SERVER").setCheck(String).appendField(gt.Msg.MIXLY_EMQX_SERVER).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("PORT").setCheck(Number).appendField(gt.Msg.MIXLY_EMQX_PORT).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("CLIENT_ID").setCheck(String).appendField(gt.Msg.MIXLY_EMQX_CLIENT_ID).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(gt.Msg.MIXLY_WIFI_USERNAME).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(gt.Msg.MIXLY_IOT_PASSWORD).setAlign(gt.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},qR={init:function(){this.setColour(kR),this.appendValueInput("TOPIC").appendField(gt.Msg.MIXLY_EMQX_SUBSCRIBE+gt.Msg.MIXLY_MICROBIT_MSG).appendField(gt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MESSAGE").appendField(gt.Msg.blockpy_set_of),this.setInputsInline(!0),this.setOutput(!0)}},zR={init:function(){this.setColour(kR),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(gt.Msg.MIXLY_EMQX_SUBSCRIBE+gt.Msg.MIXLY_MICROBIT_MSG).appendField(gt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(gt.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},jR={init:function(){this.setColour(kR),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(gt.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(gt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(gt.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},$R={init:function(){this.setColour(kR),this.appendDummyInput().appendField("mqtt"+gt.Msg.MIXLY_EMQX_IS_CONNECT),this.setInputsInline(!0),this.setOutput(!0)}},ZR=100,tc={init:function(){this.setColour(ZR),this.appendValueInput("I2CSUB").appendField(gt.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_SETUP+gt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField("PE GX"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},ec={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MIXGO_CAR_BATTERY_LEFT),this.setOutput(!0,Number),this.setInputsInline(!0)}},ic={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField(gt.Msg.MOTOR_DC).appendField(gt.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Direction).appendField(new gt.FieldDropdown([[gt.Msg.CLOCKWISE,"CW"],[gt.Msg.ANTI_CLOCKWISE,"CCW"],[gt.Msg.MOTOR_P,"P"],[gt.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},nc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField(gt.Msg.MOTOR_DC).appendField(gt.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(gt.Msg.MIXLY_STEPPER_GET_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},sc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField("180°"+gt.Msg.MIXLY_SERVO).appendField(gt.Msg.LCD_NUMBERING),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_SERVO_MOVE)}},_c={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField("360°"+gt.Msg.MIXLY_SERVO).appendField(gt.Msg.LCD_NUMBERING),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_SERVO_SPEED_TOOLIPS)}},oc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField("180°"+gt.Msg.MIXLY_SERVO),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET+gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},pc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField("360°"+gt.Msg.MIXLY_SERVO).appendField(gt.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET+gt.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},ac="#A58C5B",uc={init:function(){this.setColour(ac),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_BUTTON).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_IS_PRESSED),this.appendValueInput("STAT").appendField(gt.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_SENOR_IS_PRESSED)}},rc={init:function(){this.setColour(ac),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_BUTTON).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_WAS_PRESSED),this.appendValueInput("STAT").appendField(gt.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_SENOR_WAS_PRESSED)}},dc={init:function(){this.setColour(ac),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_BUTTON).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET_PRESSES),this.appendValueInput("VAR").setCheck(Number).appendField(gt.Msg.MIXLY_GET_PRESSES_TIME),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(gt.Msg.PROCEDURES_DEFRETURN_RETURN+gt.Msg.MIXLY_BUTTON+gt.Msg.MIXLY_GET_PRESSES)}},lc={init:function(){this.setColour(ac),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_BUTTON).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MODE).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[gt.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[gt.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(gt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_INOUT_ATTACHINTERRUPT)}},Ic={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_shake,"shake"],[gt.Msg.MIXLY_UP,"up"],[gt.Msg.MIXLY_DOWN,"down"],[gt.Msg.MIXLY_LEFT,"left"],[gt.Msg.MIXLY_RIGHT,"right"],[gt.Msg.MIXLY_MICROBIT_face_up,"face up"],[gt.Msg.MIXLY_MICROBIT_face_down,"face down"],[gt.Msg.MIXLY_MICROBIT_freefall,"freefall"],["3g","3g"],["6g","6g"],["8g","8g"]]),"gesture"),this.appendStatementInput("DO").appendField(gt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("gesture"),i=gt.Msg.MIXLY_MICROBIT_JS_CURRENT,n=gt.Msg.MSG.catSensor,s=gt.Msg.MIXLY_MICROBIT_JS_STATE,_=gt.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:gt.Msg.MIXLY_MICROBIT_shake,up:gt.Msg.MIXLY_UP,down:gt.Msg.MIXLY_DOWN,left:gt.Msg.MIXLY_LEFT,right:gt.Msg.MIXLY_RIGHT,"face up":gt.Msg.MIXLY_MICROBIT_face_up,"face down":gt.Msg.MIXLY_MICROBIT_face_down,freefall:gt.Msg.MIXLY_MICROBIT_freefall,"3g":"3g","6g":"6g","8g":"8g"}[e]+_}))}},Tc={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_ADXL345).setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new gt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=gt.Msg.MIXLY_MICROBIT_Direction,s=gt.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":gt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},Mc={init:function(){this.setColour(ac),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_JS_LIGHT_LEVEL),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_SENSOR_LIGHT_LEVEL_TOOLTIP)}},hc={init:function(){this.setColour(ac),this.appendValueInput("PIN",Number).appendField(new gt.FieldDropdown([["DHT11","DHT11"],["DHT22","DHT22"]]),"TYPE").appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(new gt.FieldDropdown(hc.METHOD),"WHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("WHAT");return{temperature:gt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM,relative_humidity:gt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_HUM,tempandhum:gt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM_HUM}[e]}))},METHOD:[[gt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[gt.Msg.MIXLY_GETHUMIDITY,"humidity"]]},mc={init:function(){this.setColour(ac),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_EXTERN_LIGHT),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(gt.Msg.ESP32_SENSOR_NIXGO_LIGHT_TOOLTIP)}},Ec={init:function(){this.setColour(ac),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_EXTERN_SOUND),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(gt.Msg.ESP32_SENSOR_NIXGO_SOUND_TOOLTIP)}},Oc={init:function(){this.setColour(ac),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new gt.FieldDropdown([[gt.Msg.TEXT_TRIM_LEFT,"left"],[gt.Msg.TEXT_TRIM_RIGHT,"right"]]),"direction").appendField(gt.Msg.MIXLY_ESP32_NEAR),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("direction"),i=gt.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP,n=gt.Msg.MIXLY_ESP32_NEAR;return i+{left:gt.Msg.TEXT_TRIM_LEFT,right:gt.Msg.TEXT_TRIM_RIGHT}[e]+n}))}},Rc={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_ALTITUDE_SENSOR+" BMP280").setCheck("var"),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GETTEMPERATUE,"get_BMP_temperature()"],[gt.Msg.MIXLY_GETPRESSURE,"get_BMP_pressure()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{"get_BMP_temperature()":gt.Msg.MIXLY_MICROBIT_SENSOR_BMP_temperature_TOOLTIP,"get_BMP_pressure()":gt.Msg.MIXLY_MICROBIT_SENSOR_BMP_press_TOOLTIP}[e]}))}},cc={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+" SHT20").setCheck("var"),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GETTEMPERATUE,"get_SHT_temperature()"],[gt.Msg.MIXLY_GETHUMIDITY,"get_SHT_relative_humidity()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{"get_SHT_temperature()":gt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,"get_SHT_relative_humidity()":gt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},gc={init:function(){this.setColour(ac),this.appendValueInput("PIN",Number).appendField("DS18X20 "+gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(gt.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(gt.Msg.MIXLY_MICROBIT_SENSOR_DS18X20_TOOLTIP)}},Cc={init:function(){this.setColour(ac),this.appendDummyInput("").appendField("LM35"+gt.Msg.MIXLY_TEMP),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(gt.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_LM35)}},Sc={init:function(){this.setColour(ac),this.appendValueInput("I2CSUB").appendField(gt.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_SETUP+gt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_ESP32_EXTERN_LIGHT+"(LTR308ALS)","LTR308"],[gt.Msg.MIXLY_COLOR_SENSOR+"(LTR381RGB)","LTR381RGB"],[gt.Msg.MIXLY_COLOR_SENSOR+"(UCS12071)","UCS12071"],[gt.Msg.MIXLY_EXTERN_LIGHTUV+"(LTR390UV)","LTR390UV"],[gt.Msg.MIXLY_ALTITUDE_SENSOR+"(HP203X)","HP203X"],[gt.Msg.MIXLY_ALTITUDE_SENSOR+"(SPL06_001)","SPL06_001"],[gt.Msg.MIXLY_ALTITUDE_SENSOR+"(MS5611)","MS5611"],[gt.Msg.MIXLY_ALTITUDE_SENSOR+"(BMP280)","BMP280"],[gt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(SHTC3)","SHTC3"],[gt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(AHT21)","AHT21"],[gt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(SHT20)","SHT20"],[gt.Msg.MIXLY_LASER_RANGE_SENSOR+"(VL53L0X)","VL53L0X"],[gt.Msg.MIXLY_GEOMAGNETIC_SENSOR+"(QMC5883L)","QMC5883L"],[gt.Msg.MIXLY_ESP32_MAX30102+"(MAX30102)","MAX30102"],[gt.Msg.HTML_COLOUR+"、"+gt.Msg.MIXLY_ENVIRONMENT_LIGHT+"、"+gt.Msg.MIXLY_NEXT+"、"+gt.Msg.MIXLY_ESP32_APDS9960+"(APDS9960)","APDS9960"],[gt.Msg.MIXLY_NINE_AXIS_SENSOR+"(MPU9250)","MPU9250"],[gt.Msg.MixGo_MPU9250+"(ADXL345)","ADXL345"],["RFID","RFID"],[gt.Msg.MIXLY_RADAR_SENSOR+"(CBR817)","CBR817"],[gt.Msg.MIXLY_AipSpeech_asr+"(CI130X)","CI130X"],[gt.Msg.MIXLY_TVOC_CO2_SENSOR+"(AGS10)","AGS10"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Ac={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_RADAR+"CBR817").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.LISTS_SET_INDEX_SET+gt.Msg.MIXlY_INTERACTION),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_DETECTION_THRESHOLD),this.appendValueInput("VAR2").appendField(gt.Msg.MIXLY_DELAY_TIME),this.appendDummyInput().appendField("ms"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_THRESHOLD_TOOLTIP+" ; "+gt.Msg.MIXLY_DELAY_TIME_RANGE)}},Lc={init:function(){this.setColour(ac),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RADAR).appendField(gt.Msg.LISTS_SET_INDEX_SET+gt.Msg.MIXlY_INTERACTION),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_DETECTION_THRESHOLD),this.appendValueInput("VAR2").appendField(gt.Msg.MIXLY_DELAY_TIME),this.appendDummyInput().appendField("ms"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_THRESHOLD_TOOLTIP+" ; "+gt.Msg.MIXLY_DELAY_TIME_RANGE)}},Nc={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_RADAR+"CBR817").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_GET_TO_INTERACTION),this.setOutput(!0),this.setInputsInline(!0)}},Dc={init:function(){this.setColour(ac),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RADAR).appendField(gt.Msg.MIXLY_GET_TO_INTERACTION),this.setOutput(!0),this.setInputsInline(!0)}},fc={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_IDENTIFY_ONCE_AND_SAVE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Fc={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_GET).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_HELLO_XIAOZHI,"1"],[gt.Msg.MIXLY_XIAOZHIXIAOZHI,"2"],[gt.Msg.MIXLY_THE_FIRST,"3"],[gt.Msg.MIXLY_THE_SECOND,"4"],[gt.Msg.MIXLY_THE_THIRD,"5"],[gt.Msg.MIXLY_THE_FOURTH,"6"],[gt.Msg.MIXLY_THE_FIFTH,"7"],[gt.Msg.MIXLY_THE_SIXTH,"8"],[gt.Msg.MIXLY_THE_SEVENTH,"9"],[gt.Msg.MIXLY_THE_EIGHTH,"10"],[gt.Msg.MIXLY_THE_NINTH,"11"],[gt.Msg.MIXLY_THE_TENTH,"12"],[gt.Msg.MIXLY_THE_ELEVENTH,"13"],[gt.Msg.MIXLY_THE_TWELFTH,"14"],[gt.Msg.MIXLY_THE_13TH,"15"],[gt.Msg.MIXLY_THE_14TH,"16"],[gt.Msg.MIXLY_THE_15TH,"17"],[gt.Msg.MIXLY_THE_16TH,"18"],[gt.Msg.MIXLY_THE_17TH,"19"],[gt.Msg.MIXLY_THE_18TH,"20"],[gt.Msg.MIXLY_THE_19TH,"21"],[gt.Msg.MIXLY_THE_20TH,"22"],[gt.Msg.MIXLY_Turn_on_the_lights,"23"],[gt.Msg.MIXLY_Turn_off_the_lights,"24"],[gt.Msg.MIXLY_Turn_up_the_brightness,"25"],[gt.Msg.MIXLY_Turn_down_the_brightness,"26"],[gt.Msg.MIXLY_Set_it_to_red,"27"],[gt.Msg.MIXLY_Set_it_to_orange,"28"],[gt.Msg.MIXLY_Set_it_to_yellow,"29"],[gt.Msg.MIXLY_Set_it_to_green,"30"],[gt.Msg.MIXLY_Set_it_to_cyan,"31"],[gt.Msg.MIXLY_Set_it_to_blue,"32"],[gt.Msg.MIXLY_Set_it_to_purple,"33"],[gt.Msg.MIXLY_Set_it_to_white,"34"],[gt.Msg.MIXLY_Turn_on_the_fan,"35"],[gt.Msg.MIXLY_Turn_off_the_fan,"36"],[gt.Msg.MIXLY_First_gear,"37"],[gt.Msg.MIXLY_Wind_speed_second,"38"],[gt.Msg.MIXLY_Third_gear,"39"],[gt.Msg.MIXLY_Previous,"40"],[gt.Msg.MIXLY_Next_page,"41"],[gt.Msg.MIXLY_Show_smiley_face,"42"],[gt.Msg.MIXLY_Show_crying_face,"43"],[gt.Msg.MIXLY_Show_love,"44"],[gt.Msg.MIXLY_Close_display,"45"],[gt.Msg.MIXLY_Start_execution,"46"],[gt.Msg.MIXLY_FORWARD,"47"],[gt.Msg.MIXLY_BACKWARD,"48"],[gt.Msg.MIXLY_TURNLEFT,"49"],[gt.Msg.MIXLY_TURNRIGHT,"50"],[gt.Msg.MIXLY_STOP,"51"],[gt.Msg.MIXLY_Accelerate,"52"],[gt.Msg.MIXLY_retard,"53"],[gt.Msg.ROTATION_FORWARD,"54"],[gt.Msg.ROTATION_BACKWARD,"55"],[gt.Msg.MIXLY_Query_temperature,"56"],[gt.Msg.MIXLY_Query_humidity,"57"],[gt.Msg.MIXLY_Query_brightness,"58"],[gt.Msg.MIXLY_Query_sound,"59"],[gt.Msg.MIXLY_Query_time,"60"],[gt.Msg.MIXLY_Query_distance,"61"],[gt.Msg.MIXLY_Query_pressure,"62"],[gt.Msg.MIXLY_Query_key,"63"],[gt.Msg.MIXLY_Query_touch,"64"],[gt.Msg.MIXLY_Query_color,"65"]]),"cmd").appendField(gt.Msg.MIXLY_WHETHER+gt.Msg.MIXLY_BE_IDENTIFIED),this.setOutput(!0),this.setInputsInline(!0)}},Pc={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_GET).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_RECOGNIZED_STATE,"status1"],[gt.Msg.MIXLY_WHETHER_BROADCAST,"status2"],[gt.Msg.MIXLY_THE_RECOGNIZED_CMD,"result"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_CI130X_GET_THE_RECOGNIZED_STATE_TOOLTIP)}},Yc={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MP3_PLAY).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"],[gt.Msg.MIXLY_WIND_SPEED,"154"],[gt.Msg.MIXLY_HYETAL,"155"],[gt.Msg.MIXLY_TEMPERATURE,"156"],[gt.Msg.MIXLY_Humidity,"157"],[gt.Msg.MIXLY_Altitude,"158"],[gt.Msg.MIXLY_SOUND,"159"],[gt.Msg.MIXLY_BRIGHTNESS,"160"],[gt.Msg.ME_GO_HALL_SENSOR_DISTANCE,"161"],[gt.Msg.MIXLY_SERVO,"162"],[gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"163"],[gt.Msg.MIXLY_BUTTON2,"164"],[gt.Msg.MIXLY_ESP32_TOUCH,"165"],[gt.Msg.MIXLY_PAY,"166"],[gt.Msg.MIXLY_CARSH_CHANGE,"167"],[gt.Msg.MIXLY_COUNTDOWN,"168"],[gt.Msg.MIXLY_TIMING,"169"],[gt.Msg.MIXLY_AT_THE_MOMENT,"170"],[gt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE,"171"],[gt.Msg.MIXLY_FORWARD,"172"],[gt.Msg.MIXLY_BACKWARD,"173"],[gt.Msg.MIXLY_TURNLEFT,"174"],[gt.Msg.MIXLY_TURNRIGHT,"175"],[gt.Msg.MIXLY_STOP,"176"],[gt.Msg.MIXLY_Accelerate,"177"],[gt.Msg.MIXLY_retard,"178"],[gt.Msg.ROTATION_FORWARD,"179"],[gt.Msg.ROTATION_BACKWARD,"180"],[gt.Msg.TUPLE_JOIN,"181"],[gt.Msg.MIXLY_SHOW,"182"],[gt.Msg.MIXLY_LAMPLIGHT,"183"],[gt.Msg.MIXLY_ACCELERATION,"184"]]),"star"),this.appendValueInput("NUM").appendField(gt.Msg.MIXLY_NUMBER),this.appendDummyInput("").appendField(gt.Msg.MIXLY_UNIT).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"],[gt.Msg.MIXLY_YEAR,"117"],[gt.Msg.MIXLY_MONTH,"118"],[gt.Msg.MIXLY_DAY,"119"],[gt.Msg.MIXLY_HOUR,"120"],[gt.Msg.MIXLY_MINUTE,"121"],[gt.Msg.MIXLY_SECOND,"122"],[gt.Msg.MIXLY_WEEK2,"123"],[gt.Msg.MIXLY_RMB_UNIT,"124"],[gt.Msg.blockpy_setheading_degree,"125"],[gt.Msg.MIXLY_GEAR,"126"],[gt.Msg.MIXLY_LAYER,"127"],[gt.Msg.MIXLY_GRAM,"128"],[gt.Msg.MIXLY_METER,"129"],[gt.Msg.MIXLY_CENTIMETER,"130"],[gt.Msg.MIXLY_MILLIMETER,"131"],[gt.Msg.MIXLY_LUMEN,"132"],[gt.Msg.MIXLY_DECIBEL,"133"],[gt.Msg.MIXLY_hectopascal,"134"],[gt.Msg.MIXLY_PERCENT,"135"],[gt.Msg.MIXLY_CELSIUS,"136"],[gt.Msg.MIXLY_METER_PER_SEC,"137"],[gt.Msg.MIXLY_MICROBIT_Turn_on_display,"138"],[gt.Msg.MIXLY_MICROBIT_Turn_off_display,"139"],[gt.Msg.MIXLY_SUCCESS,"140"],[gt.Msg.MIXLY_FAILED,"141"],[gt.Msg.MIXLY_WRONG,"142"],[gt.Msg.MIXLY_GOOD,"143"],[gt.Msg.MIXLY_blockpy_set_add,"144"],[gt.Msg.MIXLY_DECREASE,"145"],[gt.Msg.COLOUR_RGB_RED,"146"],[gt.Msg.COLOUR_RGB_ORANGE,"147"],[gt.Msg.COLOUR_YELLOW,"148"],[gt.Msg.COLOUR_RGB_GREEN,"149"],[gt.Msg.COLOUR_CYAN,"150"],[gt.Msg.COLOUR_RGB_BLUE,"151"],[gt.Msg.COLOUR_RGB_PURPLE,"152"],[gt.Msg.COLOUR_RGB_WHITE,"153"]]),"end"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},vc={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.LISTS_SET_INDEX_SET+gt.Msg.MIXLY_SYSTEM+gt.Msg.MIXLY_CMD).appendField(new gt.FieldDropdown([[gt.Msg.MILXY_ENTER_WAKE_UP,"1"],[gt.Msg.MIXLY_INCREASE_VOLUME,"202"],[gt.Msg.MIXLY_REDUCE_VOLUME,"203"],[gt.Msg.MIXLY_MAX_VOLUME,"204"],[gt.Msg.MIXLY_MINIMUM,"205"],[gt.Msg.MIXLY_OPEN_RESPONSE,"206"],[gt.Msg.MIXLY_CLOSE_RESPONSE,"207"],[gt.Msg.MIXLY_QUIT_WAKE_UP,"208"]]),"cmd"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Xc={init:function(){this.setColour(ac),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_MAX30102+" MAX30102"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_ESP32_MAX30102_IR,"[0]"],[gt.Msg.MIXLY_ESP32_MAX30102_RED,"[1]"],[gt.Msg.MIXLY_ESP32_MAX30102_IR+","+gt.Msg.MIXLY_ESP32_MAX30102_RED,""]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},xc={init:function(){this.setColour(ac),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_APDS9960+" APDS9960"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_ESP32_APDS9960_COLOR,"color"],[gt.Msg.MIXLY_ESP32_APDS9960_GESTURE,"gesture"],[gt.Msg.MIXLY_ESP32_APDS9960_APPROACH,"proximity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},yc={init:function(){this.setColour(ac),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_EXTERN_LIGHT+" LTR308ALS"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET_LIGHT_INTENSITY),this.setOutput(!0,Number),this.setInputsInline(!0)}},bc={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.HTML_COLOUR+gt.Msg.MSG.catSensor+" LTR381RGB").setCheck("var"),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GET+gt.Msg.HTML_COLOUR,"[2]"],[gt.Msg.MIXLY_GET+gt.Msg.MIXLY_IR_STRENGTH,"[1]"],[gt.Msg.MIXLY_GET+gt.Msg.MIXLY_LIGHT_STRENGTH,"[0]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Vc={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.HTML_COLOUR+gt.Msg.MSG.catSensor+" UCS12071").setCheck("var"),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GET+"RGB"+gt.Msg.HTML_COLOUR,"0"],[gt.Msg.MIXLY_GET+gt.Msg.MIXLY_RGB_RAW,"1"],[gt.Msg.MIXLY_GET_ENV_LIGHT+gt.Msg.MIXLY_BRIGHTNESS,"2"],[gt.Msg.GET_IR_STRENGTH+gt.Msg.MIXLY_BRIGHTNESS,"3"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Bc={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_EXTERN_LIGHTUV+" LTR390UV").setCheck("var"),this.appendDummyInput().appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GET_ENV_LIGHT,"E"],[gt.Msg.MIXLY_GET_ULTRAVIOLET,"U"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Gc={init:function(){this.setColour(ac),this.appendDummyInput().appendField(gt.Msg.MIXLY_LASER_RANGE+" VL53L0X"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET_DISTANCE+"(mm)"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Uc={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_TEM_HUM+" SHTC3").setCheck("var"),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[gt.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{temperature:gt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,humidity:gt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},wc={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_TEM_HUM+" AHT21").setCheck("var"),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[gt.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{temperature:gt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,relative_humidity:gt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},kc={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_Altitude+gt.Msg.MSG.catSensor+" HP203X").setCheck("var"),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GETPRESSURE,"pressure()"],[gt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[gt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Hc={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_Altitude+gt.Msg.MSG.catSensor+" SPL06_001").setCheck("var"),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GETPRESSURE,"pressure()"],[gt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[gt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Wc={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_Altitude+gt.Msg.MSG.catSensor+" MS5611").setCheck("var"),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GETPRESSURE,"pressure()"],[gt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[gt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Kc={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_Altitude+gt.Msg.MSG.catSensor+" MS5611").setCheck("var"),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_REF_TO_PRESSURE),this.appendDummyInput().appendField(gt.Msg.MIXLY_CAL_TO_ALTITUDE),this.setOutput(!0,Number),this.setInputsInline(!0)}},Jc={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_MIXGOPE_FIELD+gt.Msg.MSG.catSensor+" QMC5883L").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"get_bearing()"],[gt.Msg.MIXLY_TEMPERATURE,"get_temp()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Qc={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_shake,"shake"],[gt.Msg.MIXLY_UP,"up"],[gt.Msg.MIXLY_DOWN,"down"],[gt.Msg.MIXLY_LEFT,"left"],[gt.Msg.MIXLY_RIGHT,"right"],[gt.Msg.MIXLY_MICROBIT_face_up,"face up"],[gt.Msg.MIXLY_MICROBIT_face_down,"face down"]]),"gesture"),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("gesture"),i=gt.Msg.MIXLY_MICROBIT_JS_CURRENT,n=gt.Msg.MSG.catSensor,s=gt.Msg.MIXLY_MICROBIT_JS_STATE,_=gt.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:gt.Msg.MIXLY_MICROBIT_shake,up:gt.Msg.MIXLY_UP,down:gt.Msg.MIXLY_DOWN,left:gt.Msg.MIXLY_LEFT,right:gt.Msg.MIXLY_RIGHT,"face up":gt.Msg.MIXLY_MICROBIT_face_up,"face down":gt.Msg.MIXLY_MICROBIT_face_down}[e]+_}))}},qc={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new gt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=gt.Msg.MIXLY_MICROBIT_Direction,s=gt.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":gt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},zc={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_JS_GET+gt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH).appendField(new gt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=gt.Msg.MIXLY_MICROBIT_Direction,s=gt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH;return i+{x:"x",y:"y",z:"z","(x,y,z)":gt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},jc={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+gt.Msg.MIXLY_ESP32_SENOR_GYRO).appendField(new gt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=gt.Msg.MIXLY_MICROBIT_Direction,s=gt.Msg.MIXLY_ESP32_SENOR_GYRO;return i+{x:"x",y:"y",z:"z","(x,y,z)":gt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},$c={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS)}},Zc={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_GETTEMPERATUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_GETTEMPERATUE)}},tg={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_JS_GET_COMPASS).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,"strength"],[gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"heading"]]),"compass"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("compass");return gt.Msg.MIXLY_MICROBIT_JS_GET_COMPASS+{strength:gt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,heading:gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE}[e]}))}},eg={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Reset_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MICROBIT_Reset_COMPASS)}},ig={init:function(){this.setColour(ac),this.appendValueInput("SPISUB").appendField(gt.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_SETUP+gt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new gt.FieldDropdown([["RFID","RFID"],["WS-LoRa","Weather"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setFieldValue("RFID","key")}},ng={init:function(){this.setColour(ac),this.appendDummyInput().appendField("RFID"+gt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(gt.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_RFID_READ_CARD_UID,"id"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"content"],[gt.Msg.MIXLY_ALL,"ALL"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},sg={init:function(){this.setColour(ac),this.appendDummyInput().appendField("RFID"+gt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RFID_READ_CARD_UID),this.setOutput(!0,Number),this.setInputsInline(!0)}},_g={init:function(){this.setColour(ac),this.appendDummyInput().appendField("RFID"+gt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(gt.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},og={init:function(){this.setColour(ac),this.appendDummyInput().appendField(gt.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(gt.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(gt.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},pg={init:function(){this.setColour(ac),this.appendDummyInput().appendField(gt.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(gt.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(gt.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(gt.Msg.RETURN_SUCCESS_OR_NOT),this.setInputsInline(!0),this.setOutput(!0,Boolean)}},ag={init:function(){this.setColour(ac),this.appendDummyInput().appendField("RFID"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_RFID_SCAN_OK,"0"],[gt.Msg.MIXLY_RFID_SCAN_NOTAGERR,"1"],[gt.Msg.MIXLY_RFID_SCAN_ERROR,"2"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},ug={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new gt.FieldDropdown([["全部(元组)","data()[0]"],["全部(json)","data()[1]"],["全部(json,附带位置信息)","data()[2]"],["编号","data()[0][0]"],["电量","data()[0][1]"],["风速","data()[0][2]"],["阵风","data()[0][3]"],["风向","data()[0][4]"],["雨量","data()[0][5]"],["温度","data()[0][6]"],["湿度","data()[0][7]"],["光照","data()[0][8]"],["紫外线","data()[0][9]"],["大气压","data()[0][10]"],["信号强度","data()[0][11]"],["信噪比","data()[0][12]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip("返回气象数据元组 data= (设备id,电池状态,风速m/s,阵风m/s,风向°,雨量mm,温度℃,湿度%,光照Lux,UVI,大气压Pa,信号强度dB,信噪比dB)")}},rg={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_SERIAL_AVAILABLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},dg={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendValueInput("BASE").appendField("以主题"),this.appendDummyInput("").appendField("串口发送至MixIO"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},lg={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.itemCount_=2,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new gt.icons.MutatorIcon(["weather_set_label_item"],this)),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip()},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("weather_set_label_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n>6),i.push(128|63&_)):(2048<=_&&_<=55295||57344<=_&&_<=65535)&&(n+=3,i.push(224|15&_>>12),i.push(128|63&_>>6),i.push(128|63&_))}for(s=0;s>8,255&n].concat(i)}(t,!0),i="",n=0;n=0?"0x700000":["mixgo_sant"].indexOf(n)>=0?"0xE00000":"0x3A0000","32x12 Matrix"==o?(e.definitions_.import_matrix32x12="import matrix32x12",i=s+" = matrix32x12.Matrix("+_+", font_address="+p+")\n"):"16x8 Matrix"==o&&(e.definitions_.import_matrix16x8="import matrix16x8",i=s+" = matrix16x8.Matrix("+_+")\n"),i},zP=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},jP=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+", center="+this.getFieldValue("center")+")\n"},$P=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},ZP=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", delay="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},tY=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},eY=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", speed="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+")\n"},iY=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},nY=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("OP")+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")\n"},sY=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},_Y=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".pixel(int("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+"), int("+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+"), "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"+i+".show()\n"},oY=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".get_brightness()",e.ORDER_ATOMIC]},pY=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".set_brightness("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+")\n"},aY=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("image"),e.ORDER_ATOMIC]},uY=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".map_"+t.getFieldValue("OP")+"("+e.valueToCode(t,"A",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"B",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},rY=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".map_invert("+e.valueToCode(t,"A",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},dY=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC);return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = ssd1306.SSD1306_I2C("+e.valueToCode(this,"row",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"column",e.ORDER_ATOMIC)+", "+i+")\n"},lY=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_str("+(e.valueToCode(this,"Text_line1",e.ORDER_ASSIGNMENT)||"''")+", "+(e.valueToCode(this,"Text_line2",e.ORDER_ASSIGNMENT)||"''")+", "+(e.valueToCode(this,"Text_line3",e.ORDER_ASSIGNMENT)||"''")+", "+(e.valueToCode(this,"Text_line4",e.ORDER_ASSIGNMENT)||"''")+")\n"},IY=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_line("+e.valueToCode(this,"x1",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"y1",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"x2",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"y2",e.ORDER_ATOMIC)+", 1)\n"},TY=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),_=e.valueToCode(this,"width",e.ORDER_ATOMIC),o=e.valueToCode(this,"height",e.ORDER_ATOMIC),p="TRUE"==this.getFieldValue("fill")?"True":"False",a=this.getFieldValue("OP");switch(p){case"True":return i+".show_fill_rect("+n+", "+s+", "+_+", "+o+", "+a+")\n";case"False":return i+".show_rect("+n+", "+s+", "+_+", "+o+", "+a+")\n"}},MY=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),_=e.valueToCode(this,"length",e.ORDER_ATOMIC);return i+".show_"+this.getFieldValue("direction")+"("+n+", "+s+", "+_+", 1)\n"},hY=function(t,e){return["ON"==this.getFieldValue("ONOFF")?"1":"0",e.ORDER_ATOMIC]},mY=function(t,e){e.definitions_.import_matrix="import matrix";var i=t.getFieldValue("OP");return[e.valueToCode(t,"img",e.ORDER_ATOMIC)+".shift_"+i+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},EY=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return e.definitions_.import_ssd1306="import ssd1306",e.definitions_.import_machine="import machine",i+".show_fill("+this.getFieldValue("key")+")\n"},OY=function(t,e){return["matrix.Image."+this.getFieldValue("ANIMATION"),e.ORDER_ATOMIC]},RY=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),_=e.valueToCode(this,"r",e.ORDER_ATOMIC),o="TRUE"==this.getFieldValue("fill")?"True":"False",p=this.getFieldValue("OP");switch(o){case"True":return i+".show_fill_circle("+n+", "+s+", "+_+", "+p+")\n";case"False":return i+".show_circle("+n+", "+s+", "+_+", "+p+")\n"}},cY=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var n=e.valueToCode(this,"x0",e.ORDER_ATOMIC),s=e.valueToCode(this,"y0",e.ORDER_ATOMIC),_=e.valueToCode(this,"x1",e.ORDER_ATOMIC),o=e.valueToCode(this,"y1",e.ORDER_ATOMIC),p=e.valueToCode(this,"x2",e.ORDER_ATOMIC),a=e.valueToCode(this,"y2",e.ORDER_ATOMIC),u="TRUE"==this.getFieldValue("fill")?"True":"False",r=this.getFieldValue("OP");switch(u){case"True":return i+".show_fill_triangle("+n+", "+s+", "+_+", "+o+", "+p+", "+a+", "+r+")\n";case"False":return i+".show_triangle("+n+", "+s+", "+_+", "+o+", "+p+", "+a+", "+r+")\n"}},gY=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_bitmap("+e.valueToCode(this,"START_X",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"START_Y",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"bitmap_name",e.ORDER_ATOMIC)+","+e.valueToCode(this,"WIDTH",e.ORDER_ATOMIC)+","+e.valueToCode(this,"HEIGHT",e.ORDER_ATOMIC)+")\n"},CY=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_pixel("+e.valueToCode(this,"POS_X",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"POS_Y",e.ORDER_ATOMIC)+")\n"},SY=function(t,e){var i,n=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),s=e.valueToCode(this,"CLK",e.ORDER_ATOMIC),_=e.valueToCode(this,"DIO",e.ORDER_ATOMIC),o=this.getFieldValue("key");return"TM1650"==o?(e.definitions_.import_tm1650="import tm1650",i=n+" = tm1650."+o+"(clk="+s+",dio="+_+")\n"):"TM1637"==o&&(e.definitions_.import_tm1637="import tm1637",i=n+" = tm1637."+o+"(clk="+s+",dio="+_+")\n"),i},AY=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+"."+this.getFieldValue("STAT")+"()\n"},LY=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".shownum("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},NY=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".showDP("+e.valueToCode(this,"NO",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"},DY=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".intensity("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},fY=function(t,e){e.definitions_.import_st7789="import st7789";var i=Ct.Boards.getSelectedBoardKey().split(":")[2],n="";n=["mpython","mixgo_pe","mixgo_nova"].indexOf(i)>=0?"0x700000":["mixgo_sant"].indexOf(i)>=0?"0xE00000":"0x3A0000";var s=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),_=e.valueToCode(this,"SPISUB",e.ORDER_ATOMIC),o=e.valueToCode(this,"PINCS",e.ORDER_ATOMIC),p=e.valueToCode(this,"PINDC",e.ORDER_ATOMIC);return s+" = st7789.ST7789("+_+", "+e.valueToCode(this,"WIDTH",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"HEIGHT",e.ORDER_ATOMIC)+", dc_pin="+p+", cs_pin="+o+", rotation="+this.getFieldValue("rotate")+", font_address="+n+")\n"},FY=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".image("+n+", x="+s+", y="+_+", size="+o+", color="+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=i+".image("+n+", x= "+s+",y="+_+", size="+o+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},PY=function(t,e){var i="0x"+this.getFieldValue("COLOR").slice(1);return["0x"+((16252928&i)>>8|(64512&i)>>5|(255&i)>>3).toString(16),e.ORDER_ATOMIC]},YY=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),u=this.getFieldValue("center");if("0x"==a.slice(0,2))var r=i+".shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+u+", color="+a+")\n";else{const t=a.match(/\d+/g);var d="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r=i+".shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+u+", color=0x"+((16252928&d)>>8|(64512&d)>>5|(255&d)>>3).toString(16)+")\n"}return r},vY=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==o.slice(0,2))var p=i+".frame("+n+", size="+s+", delay="+_+", color="+o+")\n";else{const t=o.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p=i+".frame("+n+", size="+s+", delay="+_+", color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},XY=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u=i+".scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color="+a+")\n";else{const t=a.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u=i+".scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},xY=function(t,e){return e.definitions_.import_st7789="import st7789",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".fill(st7789."+this.getFieldValue("key")+")\n"},yY=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"x1",e.ORDER_ATOMIC),s=e.valueToCode(this,"y1",e.ORDER_ATOMIC),_=e.valueToCode(this,"x2",e.ORDER_ATOMIC),o=e.valueToCode(this,"y2",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".line("+n+", "+s+", "+_+", "+o+", color="+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=i+".line("+n+", "+s+", "+_+", "+o+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},bY=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC),s=this.getFieldValue("key"),_=e.valueToCode(this,"ADDR",e.ORDER_ATOMIC);return e.definitions_.import_i2clcd="import i2clcd",i+" = i2clcd.LCD("+n+", lcd_width="+s+", i2c_addr="+_+")\n"},VY=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", column="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", line="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+",center = "+this.getFieldValue("center")+")\n"},BY=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".print("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", column="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", line="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", delay="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},GY=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".backlight("+this.getFieldValue("key")+")\n"},UY=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".clear()\n"},wY=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC),s=e.valueToCode(this,"ADDR",e.ORDER_ATOMIC),_=this.getFieldValue("driver"),o=Ct.Boards.getSelectedBoardKey().split(":")[2],p="";return p=["mpython","mixgo_pe","mixgo_nova"].indexOf(o)>=0?"0x700000":["mixgo_sant"].indexOf(o)>=0?"0xE00000":"0x3A0000",e.definitions_.import_oled128x64="import oled128x64",i+" = oled128x64.OLED("+n+", address="+s+", font_address="+p+", types="+_+")\n"},kY=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".image("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},HY=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".image("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", x="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", y="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+")\n"},WY=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},KY=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", x="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", y="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+", center="+this.getFieldValue("center")+")\n"},JY=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},QY=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+", delay="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},qY=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},zY=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", y="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+", speed="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+")\n"},jY=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},$Y=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("OP")+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")\n"},ZY=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},tv=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".pixel(int("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+"), int("+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+"), "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"+i+".show()\n"},ev=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),_=e.valueToCode(t,"w",e.ORDER_ATOMIC),o=e.valueToCode(t,"h",e.ORDER_ATOMIC),p=t.getFieldValue("state");return i+"."+t.getFieldValue("shape")+"("+n+", "+s+", "+_+", "+o+", "+p+")\n"+i+".show()\n"},iv=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),_=e.valueToCode(t,"length",e.ORDER_ATOMIC),o=t.getFieldValue("state");return i+"."+("0"==t.getFieldValue("dir_h_v")?"v":"h")+"line("+n+", "+s+", "+_+", "+o+")\n"+i+".show()\n"},nv=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".line("+e.valueToCode(t,"x1",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"y1",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"x2",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"y2",e.ORDER_ATOMIC)+", "+t.getFieldValue("state")+")\n"+i+".show()\n"},sv=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT);if("Python ESP32-S3"===Ct.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var s="onboard_tft.image("+(n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT))+", color=0xffff,sync="+(e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True")+")\n"}else if("educore"==i){e.definitions_["import_"+i+"_oled"]="from "+i+" import oled";s="oled.print("+n+")\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";s="onboard_matrix.shows("+n+")\n"}return s},_v=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),_=this.getFieldValue("center");if("mixgo_sant"==i||"mixgo_nova"==i||"mixgo_soar"==i)return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.shows("+n+", space="+s+", center="+_+",sync="+(e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True")+")\n";if("educore"==i){e.definitions_["import_"+i+"_oled"]="from "+i+" import oled"}return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.shows("+n+", space="+s+", center="+_+")\n"},ov=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var s="onboard_oled.frame("+n+")\n"}else if("Python ESP32-S3"===Ct.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";s="onboard_tft.frame("+(n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT))+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";s="onboard_matrix.frame("+n+")\n"}return s},pv=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var _="onboard_oled.frame("+(n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT))+", delay="+s+")\n"}else if("Python ESP32-S3"===Ct.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";_="onboard_tft.frame("+n+", size=5 , delay="+s+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";_="onboard_matrix.frame("+n+", delay="+s+")\n"}return _},av=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var n="onboard_oled.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"}else if("Python ESP32-S3"===Ct.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";n="onboard_tft.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"}return n},uv=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var o="onboard_oled.scroll("+n+", speed="+s+", space="+_+")\n"}else if("Python ESP32-S3"===Ct.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";o="onboard_tft.scroll("+n+", y=0, size=5, speed="+s+", space="+_+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";o="onboard_matrix.scroll("+n+", speed="+s+", space="+_+")\n"}return o},rv=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.scroll_way("+this.getFieldValue("way")+")\n"},dv=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u="onboard_tft.scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color="+a+")\n";else{const t=a.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},lv=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix",["onboard_matrix."+t.getFieldValue("image"),e.ORDER_ATOMIC]},Iv=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];if("Python ESP32-S3"===Ct.JSFuncs.getPlatform()){const i=t.getFieldValue("image").split(".");if(2!==i.length)throw Error("pin value error");e.definitions_[`import_${i[0]}_${i[1]}`]=`from ${i[0]} import ${i[1]}`;var n=i[1]}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix."+t.getFieldValue("image")}return[n,e.ORDER_ATOMIC]},Tv=function(t,e){var i={"#000000":"0","#ff0000":"1"};function n(t){let e="";if(t.length%2==1&&(t="0"+t),t.length<8){let e=8-t.length;for(let i=1;i<=e;i++)t="0"+t}for(let i=1;i<=t.length;i++)i%2==0&&i!==t.length?e=e+t[i-1]+",0x":e+=t[i-1];return"0x"+e}let s=[];for(let e=0;e<12;e++){let _="",o=0,p=0;for(let n=0;n<32;n++)n<8?p=7-n:n<16?p=23-n:n<24?p=39-n:n<32&&(p=55-n),o+=Number(i[t.getFieldValue(e+"-"+n)])*Math.pow(2,31-p);_+=n(o.toString(16)),s.unshift(_)}let _=[];for(let t=0;t>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},$v=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.picture("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+","+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+","+e.valueToCode(this,"direct",e.ORDER_ASSIGNMENT)+")\n"},Zv=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=this.getFieldValue("center"),u=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True",r=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==r.slice(0,2))var d="onboard_tft.shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+a+", color="+r+",sync="+u+")\n";else{const t=r.match(/\d+/g);var l="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");d="onboard_tft.shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+a+", color=0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+",sync="+u+")\n"}return d},tX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==o.slice(0,2))var p="onboard_tft.frame("+n+", size="+s+", delay="+_+", color="+o+")\n";else{const t=o.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p="onboard_tft.frame("+n+", size="+s+", delay="+_+", color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},eX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),_=e.valueToCode(t,"w",e.ORDER_ATOMIC),o=e.valueToCode(t,"h",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=t.getFieldValue("shape"),u=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var r="onboard_tft."+a+"("+n+", "+s+", "+_+", "+o+", "+p+",sync="+u+")\n";else{const t=p.match(/\d+/g);var d="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r="onboard_tft."+a+"("+n+", "+s+", "+_+", "+o+", 0x"+((16252928&d)>>8|(64512&d)>>5|(255&d)>>3).toString(16)+",sync="+u+")\n"}return r},iX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),_=e.valueToCode(t,"length",e.ORDER_ATOMIC),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),p=t.getFieldValue("dir_h_v"),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==o.slice(0,2))var u="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+_+", "+o+",sync="+a+")\n";else{const t=o.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+_+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},nX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x1",e.ORDER_ATOMIC),s=e.valueToCode(t,"y1",e.ORDER_ATOMIC),_=e.valueToCode(t,"x2",e.ORDER_ATOMIC),o=e.valueToCode(t,"y2",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var u="onboard_tft.line("+n+", "+s+", "+_+", "+o+", "+p+",sync="+a+")\n";else{const t=p.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.line("+n+", "+s+", "+_+", "+o+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},sX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft",["onboard_tft.pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},_X=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),o=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==_.slice(0,2))var p="onboard_tft.pixel(int("+n+"), int("+s+"), "+_+",sync="+o+")\n";else{const t=_.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p="onboard_tft.pixel(int("+n+"), int("+s+"), 0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+",sync="+o+")\n"}return p},oX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"VAR",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==n.slice(0,2))var _="onboard_tft.fill("+n+",sync="+s+")\n";else{const t=n.match(/\d+/g);var o="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");_="onboard_tft.fill(0x"+((16252928&o)>>8|(64512&o)>>5|(255&o)>>3).toString(16)+",sync="+s+")\n"}return _},pX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=o+"=Clock("+n+", "+s+", "+_+", "+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=o+"=Clock("+n+", "+s+", "+_+", 0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},aX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".set_rtctime()\n"},uX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".set_time("+e.valueToCode(this,"h",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"m",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"s",e.ORDER_ASSIGNMENT)+")\n"},rX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".draw_clock()\n"},dX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==s.slice(0,2))var _=n+".clear("+s+")\n";else{const t=s.match(/\d+/g);var o="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");_=n+".clear(0x"+((16252928&o)>>8|(64512&o)>>5|(255&o)>>3).toString(16)+")\n"}return _},lX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),_=e.valueToCode(t,"r",e.ORDER_ATOMIC),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),p=t.getFieldValue("shape"),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==o.slice(0,2))var u="onboard_tft.ellipse("+n+", "+s+", "+_+", "+_+", "+o+", "+p+",sync="+a+")\n";else{const t=o.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.ellipse("+n+", "+s+", "+_+", "+_+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+", "+p+",sync="+a+")\n"}return u},IX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];if("Python ESP32-S3"===Ct.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n="onboard_tft.pointern(angle="+e.valueToCode(this,"angle",e.ORDER_ASSIGNMENT)+")\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.pointern(angle="+e.valueToCode(this,"angle",e.ORDER_ASSIGNMENT)+")\n"}return n},TX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"angle",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==s.slice(0,2));else{const t=s.match(/\d+/g);var _="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");((16252928&_)>>8|(64512&_)>>5|(255&_)>>3).toString(16)}return"onboard_tft.pointern(angle="+n+")\n"},MX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var u="onboard_tft.texts("+n+", x="+s+", y="+_+", size="+o+", color="+p+",sync="+a+")\n";else{const t=p.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.texts("+n+", x="+s+", y="+_+", size="+o+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},hX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.qrcode("+e.valueToCode(this,"direct",e.ORDER_ATOMIC)+")\n"},mX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True",u=this.getFieldValue("correct");if("0x"==p.slice(0,2))var r="onboard_tft.qrcode("+n+",x="+s+",y="+_+",size="+o+",correct="+u+",color="+p+",sync="+a+")\n";else{const t=p.match(/\d+/g);var d="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r="onboard_tft.qrcode("+n+",x="+s+",y="+_+",size="+o+",correct="+u+",color=0x"+((16252928&d)>>8|(64512&d)>>5|(255&d)>>3).toString(16)+",sync="+a+")\n"}return r},EX=sv,OX=Cv,RX=Rv,cX=Cv,gX=Sv,CX=hv,SX=function(t,e){var i=this.getFieldValue("path"),n=this.getFieldValue("module");return e.definitions_["import_"+i+"_"+n]="from "+i+" import "+n,""},AX=function(t,e){var i=this.getFieldValue("module");return e.definitions_["import_"+i]="import "+i,""},LX=function(t,e){for(var i=this.getFieldValue("NAME"),n=new Array(this.itemCount_),s=0;s {\n"+e.statementToCode(this,"do")+"})\n"},WG=function(){return"control.reset()\n"},KG=function(t,e){return"control.waitMicros("+(e.valueToCode(this,"data",e.ORDER_ATOMIC)||Ct.Profile.default.serial)+")\n"},JG=function(t,e){return"control.raiseEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||Ct.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||Ct.Profile.default.serial)+")\n"},QG=function(t,e){return"control.onEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||Ct.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||Ct.Profile.default.serial)+", () => {\n"+e.statementToCode(this,"do")+")\n"},qG=function(t,e){return["control.eventTimestamp()",e.ORDER_ATOMIC]},zG=function(t,e){return["control.eventValue()",e.ORDER_ATOMIC]},jG=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},$G=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},ZG=function(t,e){return["control.deviceName()",e.ORDER_ATOMIC]},tU=function(t,e){return["control.deviceSerialNumber()",e.ORDER_ATOMIC]},eU=function(t,e){return"panic("+(e.valueToCode(this,"STATUS_CODE",e.ORDER_ATOMIC)||"1000")+")\n"},iU=function(t,e){switch(e.definitions_.import_time="import time",this.getFieldValue("Time")){case"ms":return["time.ticks_ms()",e.ORDER_ATOMIC];case"us":return["time.ticks_us()",e.ORDER_ATOMIC]}},nU=function(){return"while True:\n pass\n"},sU=function(t,e){return e.definitions_.import_mixgo="import mixgo","reset()\n"},_U=function(t,e){return e.definitions_.import_os="import os","os.uname()"},oU=function(t,e){e.definitions_.import_time="import time";var i=e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},pU=function(t,e){e.definitions_.import_time="import time";var i=e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},aU=function(t,e){return e.definitions_.import_mixgo="import mixgo",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+".init(period="+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode=Timer."+(e.valueToCode(this,"mode",e.ORDER_NONE)||"None")+", callback="+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},uU=function(t,e){return e.definitions_.import_machine="import machine",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+" = machine.Timer("+(e.valueToCode(this,"PIN",e.ORDER_NONE)||"None")+",period = "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode=machine.Timer."+this.getFieldValue("mode")+", callback="+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},rU=function(t,e){return e.definitions_.import_time="import time",["time.ticks_diff("+(e.valueToCode(this,"END",e.ORDER_NONE)||"0")+", "+(e.valueToCode(this,"START",e.ORDER_NONE)||"0")+")",e.ORDER_ATOMIC]},dU=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return e.definitions_.import_machine="import machine",i+" = machine.Timer(0)\n"},lU=function(t,e){return e.definitions_.import_machine="import machine",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+".init(period = "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode=machine.Timer."+this.getFieldValue("mode")+", callback="+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},IU=function(t,e){return e.definitions_.import_machine="import machine","wdt = machine.WDT(timeout= "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+")\n"},TU=function(t,e){e.definitions_.import_machine="import machine";return"wdt.feed()\n"},MU=function(t,e){e.definitions_.import_machine="import machine";return"machine.reset()\n"},hU=function(t,e){e.definitions_.import_bitbot_onboard_bot51="from bitbot import onboard_bot51";return"onboard_bot51.shutdown()\n"},mU=dU,EU=lU,OU=rU,RU=oU,cU=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},gU=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"day",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},CU=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api.weather_hourly("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"hour",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},SU=function(t,e){return e.definitions_["import_seniverse_api*"]="from seniverse_api import *",this.getFieldValue("mode")+".request("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+")\n"},AU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Weather_now.analysis()";else n='Weather_now.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},LU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Air_now.analysis()";else n='Air_now.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},NU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Weather_alarm.analysis()";else n='Weather_alarm.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},DU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Life_suggestion.analysis()";else n='Life_suggestion.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},fU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Tide_daily.analysis()";else n='Tide_daily.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},FU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Location_search.analysis()";else n='Location_search.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},PU=function(t,e){return e.definitions_["import_seniverse_api*"]="from seniverse_api import *",this.getFieldValue("mode")+".request("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"day",e.ORDER_ATOMIC)+")\n"},YU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Weather_daily.analysis("+n+")";else s="Weather_daily.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},vU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Air_daily.analysis("+n+")";else s="Air_daily.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},XU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Geo_sun.analysis("+n+")";else s="Geo_sun.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},xU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Geo_moon.analysis("+n+")";else s="Geo_moon.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},yU='
\r\n
{{-d.title}}
\r\n
\r\n {{# if (d.message) { }}\r\n

\r\n {{-d.message}}\r\n

\r\n {{# } }}\r\n
\r\n
',{XML:bU}=Ct,VU=bU.render(yU,{title:"烧录速度",message:"要选择烧录速度,请更改“Burn Speed”,此值将用于向设备烧录代码。如果在用较高的烧录速度时出现问题,请尝试减小此值,这可能是由于外部串行到USB芯片的限制。"}),{XML:BU}=Ct,GU=BU.render(yU,{title:"燒錄速度",message:"要選擇燒錄速度,請更改“Burn Speed”,此值將用於向設備燒錄程式碼。如果在用較高的燒錄速度時出現問題,請嘗試减小此值,這可能是由於外部串列到USB晶片的限制。"}),{XML:UU}=Ct,wU=UU.render(yU,{title:"Burn Speed",message:"To select the flashing speed, change the Burn Speed. This value will be used for flashing the code to the device. If you have issues while flashing the device at high speed, try to decrease this value. This could be due to the external serial-to-USB chip limitations."}),kU=new gt.Generator("Python");kU.INDENT=" ",kU.addReservedWords("False,None,True,and,as,assert,break,class,continue,def,del,elif,else,except,exec,finally,for,from,global,if,import,in,is,lambda,nonlocal,not,or,pass,print,raise,return,try,while,with,yield,NotImplemented,Ellipsis,__debug__,quit,exit,copyright,license,credits,ArithmeticError,AssertionError,AttributeError,BaseException,BlockingIOError,BrokenPipeError,BufferError,BytesWarning,ChildProcessError,ConnectionAbortedError,ConnectionError,ConnectionRefusedError,ConnectionResetError,DeprecationWarning,EOFError,Ellipsis,EnvironmentError,Exception,FileExistsError,FileNotFoundError,FloatingPointError,FutureWarning,GeneratorExit,IOError,ImportError,ImportWarning,IndentationError,IndexError,InterruptedError,IsADirectoryError,KeyError,KeyboardInterrupt,LookupError,MemoryError,ModuleNotFoundError,NameError,NotADirectoryError,NotImplemented,NotImplementedError,OSError,OverflowError,PendingDeprecationWarning,PermissionError,ProcessLookupError,RecursionError,ReferenceError,ResourceWarning,RuntimeError,RuntimeWarning,StandardError,StopAsyncIteration,StopIteration,SyntaxError,SyntaxWarning,SystemError,SystemExit,TabError,TimeoutError,TypeError,UnboundLocalError,UnicodeDecodeError,UnicodeEncodeError,UnicodeError,UnicodeTranslateError,UnicodeWarning,UserWarning,ValueError,Warning,ZeroDivisionError,_,__build_class__,__debug__,__doc__,__import__,__loader__,__name__,__package__,__spec__,abs,all,any,apply,ascii,basestring,bin,bool,buffer,bytearray,bytes,callable,chr,classmethod,cmp,coerce,compile,complex,copyright,credits,delattr,dict,dir,divmod,enumerate,eval,exec,execfile,exit,file,filter,float,format,frozenset,getattr,globals,hasattr,hash,help,hex,id,input,int,intern,isinstance,issubclass,iter,len,license,list,locals,long,map,max,memoryview,min,next,object,oct,open,ord,pow,print,property,quit,range,raw_input,reduce,reload,repr,reversed,round,set,setattr,slice,sorted,staticmethod,str,sum,super,tuple,type,unichr,unicode,vars,xrange,zip"),kU.ORDER_ATOMIC=0,kU.ORDER_COLLECTION=1,kU.ORDER_STRING_CONVERSION=1,kU.ORDER_UNARY_POSTFIX=1,kU.ORDER_UNARY_PREFIX=2,kU.ORDER_MEMBER=2.1,kU.ORDER_FUNCTION_CALL=2.2,kU.ORDER_EXPONENTIATION=3,kU.ORDER_UNARY_SIGN=4,kU.ORDER_BITWISE_NOT=4,kU.ORDER_MULTIPLICATIVE=5,kU.ORDER_ADDITIVE=6,kU.ORDER_BITWISE_SHIFT=7,kU.ORDER_BITWISE_AND=8,kU.ORDER_BITWISE_XOR=9,kU.ORDER_BITWISE_OR=10,kU.ORDER_RELATIONAL=11,kU.ORDER_EQUALITY=11,kU.ORDER_LOGICAL_NOT=12,kU.ORDER_LOGICAL_AND=13,kU.ORDER_LOGICAL_OR=14,kU.ORDER_ASSIGNMENT=14,kU.ORDER_CONDITIONAL=15,kU.ORDER_LAMBDA=16,kU.ORDER_NONE=99,kU.ORDER_OVERRIDES=[[kU.ORDER_FUNCTION_CALL,kU.ORDER_MEMBER],[kU.ORDER_FUNCTION_CALL,kU.ORDER_FUNCTION_CALL],[kU.ORDER_MEMBER,kU.ORDER_MEMBER],[kU.ORDER_MEMBER,kU.ORDER_FUNCTION_CALL]],kU.init=function(){kU.PASS=this.INDENT+"pass\n",kU.definitions_=Object.create(null),kU.functionNames_=Object.create(null),kU.setups_=Object.create(null),kU.loops_=Object.create(null),kU.codeEnd_=Object.create(null),kU.variableDB_?kU.variableDB_.reset():kU.variableDB_=new Nt(kU.RESERVED_WORDS_)},kU.finish=function(t){""!==t&&(t=(t=t.replace(/\n/g,"\n")).replace(/\n\s+$/,"\n"));var e=[],i=[],n=[];for(var s in this.definitions_){var _=this.definitions_[s];0===s.indexOf("import")?e.push(_):0===s.indexOf("var_declare")?i.push(_):n.push(_)}e.length&&e.push("\n"),i.length&&i.push("\n"),n.length&&n.push("\n");var o=[];for(var s in kU.functions_)o.push(kU.functions_[s]);o.length&&o.push("\n");var p=[];for(var s in kU.setups_)p.push(kU.setups_[s]);p.length&&p.push("\n");var a=[];for(var s in kU.loops_)a.push(kU.loops_[s]);var u=[];for(var s in kU.codeEnd_)u.push(kU.codeEnd_[s]);0!==u.length&&u.push("\n");let r="";return r=a.length>0?e.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+t+"while True:\n"+a.join("")+u.join("\n"):e.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+t+u.join("\n"),r},kU.scrubNakedValue=function(t){return t+"\n"},kU.quote_=function(t){var e="'";return-1!==(t=t.replace(/\\/g,"\\\\").replace(/\n/g,"\\\n")).indexOf("'")&&(-1===t.indexOf('"')?e='"':t=t.replace(/'/g,"\\'")),e+t+e},kU.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},kU.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(_=t.getCommentText())&&(_=gt.utils.string.wrap(_,kU.COMMENT_WRAP-3),n+=kU.prefixLines(_+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const HU={};HU["MixGo CC"]={description:"MicroPython[ESP32C3 MixGo CC]",digital_pin:Ct.Profile.generate(["0-11","18-21"]),input_pin:Ct.Profile.generate(["0-11","18-21"]),output_pin:Ct.Profile.generate(["0-11","18-21"]),pwm_input:Ct.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_input:Ct.Profile.generate(["0-5"],"adc","adc"),pwm_output:Ct.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_output:Ct.Profile.generate(["0-5"],"adc","adc"),espnow_channel:Ct.Profile.generate(["1-13"]),haskylens_model:Ct.Profile.generate(["0-4"]),digital:Ct.Profile.generate(["0-11","18-21"],"pin","pin"),pwm_pin:Ct.Profile.generate(["0-11","18-21"]),pwm:Ct.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_pin:Ct.Profile.generate(["0-5"]),analog:Ct.Profile.generate(["0-5"],"adc","adc"),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:Ct.Profile.generate(["0-4"]),exlcdh:Ct.Profile.generate(["0-31"]),exlcdv:Ct.Profile.generate(["0-11"]),brightness:Ct.Profile.generate(["0-9"]),tts_voice:Ct.Profile.generate(["0-16"]),tts_builtin_music:Ct.Profile.generate(["0-47"]),tts_bgmusic:Ct.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["MUSIC_QUAVERS","onboard_matrix.MUSIC_QUAVERS"],["MUSIC_QUAVER","onboard_matrix.MUSIC_QUAVER"],["MUSIC_CROTCHET","onboard_matrix.MUSIC_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]},HU["MixGo ME"]={description:"MicroPython[ESP32C3 MixGo ME]",digital_pin:Ct.Profile.generate(["0-11","18-21"]),input_pin:Ct.Profile.generate(["0-11","18-21"]),output_pin:Ct.Profile.generate(["0-11","18-21"]),pwm_input:Ct.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_input:Ct.Profile.generate(["0-5"],"adc","adc"),pwm_output:Ct.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_output:Ct.Profile.generate(["0-5"],"adc","adc"),espnow_channel:Ct.Profile.generate(["1-13"]),haskylens_model:Ct.Profile.generate(["0-4"]),digital:Ct.Profile.generate(["0-11","18-21"],"pin","pin"),pwm_pin:Ct.Profile.generate(["0-11","18-21"]),pwm:Ct.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_pin:Ct.Profile.generate(["0-5"]),analog:Ct.Profile.generate(["0-5"],"adc","adc"),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:Ct.Profile.generate(["0-4"]),exlcdh:Ct.Profile.generate(["0-7"]),exlcdv:Ct.Profile.generate(["0-4"]),brightness:Ct.Profile.generate(["0-9"]),tts_voice:Ct.Profile.generate(["0-16"]),tts_builtin_music:Ct.Profile.generate(["0-47"]),tts_bgmusic:Ct.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["MUSIC_QUAVERS","onboard_matrix.MUSIC_QUAVERS"],["MUSIC_QUAVER","onboard_matrix.MUSIC_QUAVER"],["MUSIC_CROTCHET","onboard_matrix.MUSIC_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]},HU["MixGo Car 4.2"]={description:"MicroPython[ESP32]",digital_pin:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["20","20"],["21","21"]],digital:[["pin0","pin0"],["pin1","pin1"],["pin2","pin2"],["pin3","pin3"],["pin4","pin4"],["pin5","pin5"],["pin6","pin6"],["pin7","pin7"],["pin8","pin8"],["pin9","pin9"],["pin10","pin10"],["pin20","pin20"],["pin21","pin21"]],pwm_pin:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["20","20"],["21","21"]],pwm:[["pwm0","pwm0"],["pwm1","pwm1"],["pwm2","pwm2"],["pwm3","pwm3"],["pwm4","pwm4"],["pwm5","pwm5"],["pwm6","pwm6"],["pwm7","pwm7"],["pwm8","pwm8"],["pwm9","pwm9"],["pwm10","pwm10"],["pwm20","pwm20"],["pwm21","pwm21"]],espnow_channel:[["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"],["12","12"],["13","13"]],i2c_A_pin:[["6","6"],["9","9"]],i2c_B_pin:[["7","7"],["10","10"]],spi_A_pin:[["6","6"],["9","9"]],spi_B_pin:[["7","7"],["10","10"]],spi_C_pin:[["9","9"],["20","20"]],spi_D_pin:[["10","10"],["21","21"]],analog_pin:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],analog:[["adc0","adc0"],["adc1","adc1"],["adc2","adc2"],["adc3","adc3"],["adc4","adc4"]],dac_pin:[["25","25"],["26","26"]],dac:[["dac25","dac25"],["dac26","dac26"]],touch:[["tc0","tc0"],["tc2","tc2"],["tc4","tc4"],["tc12","tc12"],["tc13","tc13"],["tc14","tc14"],["tc15","tc15"],["tc27","tc27"],["tc32","tc32"],["tc33","tc33"]],touch_pin:[["0","0"],["2","2"],["4","4"],["12","12"],["13","13"],["14","14"],["15","15"],["27","27"],["32","32"],["33","33"]],button:[["A","button_a"],["B","button_b"]],buttonB:[["B","button_b"]],axis:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],exlcdh:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["20","20"],["21","21"],["22","22"],["23","23"],["24","24"],["25","25"],["26","26"],["27","27"],["28","28"],["29","29"],["30","30"],["31","31"]],exlcdv:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"]],brightness:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"]],builtinimg:[["HEART","matrix.Image.HEART"],["HEART_SMALL","matrix.Image.HEART_SMALL"],["HAPPY","matrix.Image.HAPPY"],["SAD","matrix.Image.SAD"],["SMILE","matrix.Image.SMILE"],["SILLY","matrix.Image.SILLY"],["FABULOUS","matrix.Image.FABULOUS"],["SURPRISED","matrix.Image.SURPRISED"],["ASLEEP","matrix.Image.ASLEEP"],["ANGRY","matrix.Image.ANGRY"],["CONFUSED","matrix.Image.CONFUSED"],["NO","matrix.Image.NO"],["YES","matrix.Image.YES"],["LEFT_ARROW","matrix.Image.LEFT_ARROW"],["RIGHT_ARROW","matrix.Image.RIGHT_ARROW"],["DRESS","matrix.Image.DRESS"],["TRANSFORMERS","matrix.Image.TRANSFORMERS"],["SCISSORS","matrix.Image.SCISSORS"],["EXIT","matrix.Image.EXIT"],["TREE","matrix.Image.TREE"],["PACMAN","matrix.Image.PACMAN"],["TARGET","matrix.Image.TARGET"],["TSHIRT","matrix.Image.TSHIRT"],["ROLLERSKATE","matrix.Image.ROLLERSKATE"],["DUCK","matrix.Image.DUCK"],["HOUSE","matrix.Image.HOUSE"],["TORTOISE","matrix.Image.TORTOISE"],["BUTTERFLY","matrix.Image.BUTTERFLY"],["STICKFIGURE","matrix.Image.STICKFIGURE"],["GHOST","matrix.Image.GHOST"],["PITCHFORK","matrix.Image.PITCHFORK"],["MUSIC_QUAVERS","matrix.Image.MUSIC_QUAVERS"],["MUSIC_QUAVER","matrix.Image.MUSIC_QUAVER"],["MUSIC_CROTCHET","matrix.Image.MUSIC_CROTCHET"],["COW","matrix.Image.COW"],["RABBIT","matrix.Image.RABBIT"],["SQUARE_SMALL","matrix.Image.SQUARE_SMALL"],["SQUARE","matrix.Image.SQUARE"],["DIAMOND_SMALL","matrix.Image.DIAMOND_SMALL"],["DIAMOND","matrix.Image.DIAMOND"],["CHESSBOARD","matrix.Image.CHESSBOARD"],["TRIANGLE_LEFT","matrix.Image.TRIANGLE_LEFT"],["TRIANGLE","matrix.Image.TRIANGLE"],["SNAKE","matrix.Image.SNAKE"],["UMBRELLA","matrix.Image.UMBRELLA"],["SKULL","matrix.Image.SKULL"],["GIRAFFE","matrix.Image.GIRAFFE"],["SWORD","matrix.Image.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM","music.DADADADUM"],["ENTERTAINER","music.ENTERTAINER"],["PRELUDE","music.PRELUDE"],["ODE","music.ODE"],["NYAN","music.NYAN"],["RINGTONE","music.RINGTONE"],["FUNK","music.FUNK"],["BLUES","music.BLUES"],["BIRTHDAY","music.BIRTHDAY"],["WEDDING","music.WEDDING"],["FUNERAL","music.FUNERAL"],["PUNCHLINE","music.PUNCHLINE"],["PYTHON","music.PYTHON"],["BADDY","music.BADDY"],["CHASE","music.CHASE"],["BA_DING","music.BA_DING"],["WAWAWAWAA","music.WAWAWAWAA"],["JUMP_UP","music.JUMP_UP"],["JUMP_DOWN","music.JUMP_DOWN"],["POWER_UP","music.POWER_UP"],["POWER_DOWN","music.POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]},HU["ESP32C3 Generic"]={description:"MicroPython[ESP32C3 MixGo CC]",digital_pin:Ct.Profile.generate(["0-11","18-21"]),input_pin:Ct.Profile.generate(["0-11","18-21"]),output_pin:Ct.Profile.generate(["0-11","18-21"]),pwm_input:Ct.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_input:Ct.Profile.generate(["0-5"],"adc","adc"),pwm_output:Ct.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_output:Ct.Profile.generate(["0-5"],"adc","adc"),espnow_channel:Ct.Profile.generate(["1-13"]),haskylens_model:Ct.Profile.generate(["0-4"]),digital:Ct.Profile.generate(["0-11","18-21"],"pin","pin"),pwm_pin:Ct.Profile.generate(["0-11","18-21"]),pwm:Ct.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_pin:Ct.Profile.generate(["0-5"]),analog:Ct.Profile.generate(["0-5"],"adc","adc"),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:Ct.Profile.generate(["0-4"]),exlcdh:Ct.Profile.generate(["0-31"]),exlcdv:Ct.Profile.generate(["0-11"]),brightness:Ct.Profile.generate(["0-9"]),tts_voice:Ct.Profile.generate(["0-16"]),tts_builtin_music:Ct.Profile.generate(["0-47"]),tts_bgmusic:Ct.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]};const WU=HU,KU=20,JU={init:function(){this.setColour(KU),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_HIGH,"HIGH"],[gt.Msg.MIXLY_LOW,"LOW"]]),"BOOL"),this.setOutput(!0,Boolean),this.setTooltip(gt.Msg.MIXLY_ESP32_INOUT_HIGHLOW_TOOLTIP)}},QU={init:function(){this.setColour(KU),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_Digital_PINMODEOUT).setCheck(Number),this.appendValueInput("STAT").appendField(gt.Msg.MIXLY_STAT).setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_INOUT_DIGITAL_WRITE_TOOLTIP)}},qU={init:function(){this.setColour(KU),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(gt.Msg.MIXLY_Digital_PINMODEIN).setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_MACHINE_VALUE),this.setInputsInline(!0),this.setOutput(!0,[Boolean,Number]),this.setTooltip(gt.Msg.MIXLY_ESP32_INOUT_DIGITAL_READ_TOOLTIP)}},zU={init:function(){this.setColour(KU),this.appendValueInput("PIN",Number).appendField("DAC"+gt.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendValueInput("NUM",Number).appendField(gt.Msg.MIXLY_VALUE2).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(gt.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_TOOLTIP)}},jU={init:function(){this.setColour(KU),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_JS_PERIOD_MIL).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_mSecond,"period"],[gt.Msg.MIXLY_uSecond,"period_microseconds"]]),"key"),this.appendValueInput("NUM",Number).appendField(gt.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(gt.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_SET_TOOLTIP)}},$U={init:function(){this.setColour(KU),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_Analog_PINMODEIN).setCheck(Number),this.appendDummyInput("").appendField(gt.Msg.MIXLY_ESP32_REF_VOLTAGE+gt.Msg.MIXLY_STAT).appendField(new gt.FieldDropdown([["3.3V","machine.ADC.ATTN_11DB"],["2.2V","machine.ADC.ATTN_6DB"],["1.5V","machine.ADC.ATTN_2_5DB"],["1.2V","machine.ADC.ATTN_0DB"]]),"atten"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(gt.Msg.MIXLY_ESP32_INOUT_ANALOG_ATTEN_TOOLTIP)}},ZU={init:function(){this.setColour(KU),this.appendValueInput("pin").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(gt.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_MACHINE_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_INOUT_PIN_PRESSED_TOOLTIP)}},tw={init:function(){this.setColour(20),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_ATTACHINTERRUPT_PIN).setCheck(Number),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MODE).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[gt.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[gt.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(gt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_INOUT_PIN_ATTACHINTERRUPT_TOOLTIP)}},ew={init:function(){this.setColour(20),this.appendDummyInput().appendField(gt.Msg.MIXLY_SETUP).appendField(new gt.FieldTextInput("pin#"),"PIN_OBJ"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROPYTHON_AS).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_Digital_PINMODEOUT,"machine.Pin.OUT"],[gt.Msg.MIXLY_Digital_PINMODEIN,"machine.Pin.IN"],[gt.Msg.MIXLY_PINMODEPULLUP,"machine.Pin.IN, machine.Pin.PULL_UP"],[gt.Msg.MIXLY_PINMODEPULLDOWN,"machine.Pin.IN, machine.Pin.PULL_DOWN"]]),"MODE"),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_INOUT_DIGITAL_INIT_TOOLTIP)},getVars:function(){return["pin#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(t,e){gt.Names.equals(t,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(e,"PIN_OBJ")}},iw={init:function(){this.setColour(KU),this.appendDummyInput("").appendField(gt.Msg.MIXLY_SETUP).appendField(new gt.FieldTextInput("dac#"),"PIN_OBJ").appendField(gt.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField("DAC"+gt.Msg.MIXLY_Analog_PINMODEOUT),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(gt.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_INIT_TOOLTIP)},getVars:function(){return["dac#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(t,e){gt.Names.equals(t,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(e,"PIN_OBJ")}},nw={init:function(){this.setColour(KU),this.appendDummyInput("").appendField(gt.Msg.MIXLY_SETUP).appendField(new gt.FieldTextInput("tc#"),"PIN_OBJ").appendField(gt.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField(gt.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(gt.Msg.MIXLY_ESP32_INOUT_PIN_PRESSED_INIT_TOOLTIP)},getVars:function(){return["tc#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(t,e){gt.Names.equals(t,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(e,"PIN_OBJ")}},sw={init:function(){this.setColour(KU),this.appendValueInput("PIN",Number).appendField("PWM"+gt.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendValueInput("NUM",Number).appendField(gt.Msg.MIXLY_FREQUENCY+gt.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(gt.Msg.MIXLY_ESP32_INOUT_PWM_ANALOG_WRITE_SET_FREQ_TOOLTIP)}},_w=ew,ow=nw,pw=ZU,aw=tw,uw=40,rw={init:function(){if("mixgo_me"==Ct.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(uw),this.appendDummyInput("").appendField(t).appendField(gt.Msg.MIXLY_TEM_HUM+" AHT21").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[gt.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key");return{temperature:gt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,relative_humidity:gt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[t]}))}},dw={init:function(){if("mixgo_me"==Ct.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(uw),this.appendDummyInput("").appendField(t).appendField(gt.Msg.MIXLY_Altitude+gt.Msg.MSG.catSensor+" HP203X").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GETPRESSURE,"pressure()"],[gt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[gt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},lw={init:function(){if("mixgo_me"==Ct.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(uw),this.appendDummyInput().appendField(t).appendField(gt.Msg.MIXLY_MIXGO_NOVA_POTENTIAL_NUM),this.setOutput(!0,Number),this.setInputsInline(!0)}},Iw={init:function(){if("mixgo_me"==Ct.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(uw),this.appendDummyInput().appendField(t).appendField("RFID"+gt.Msg.MIXLY_RFID_READ_CARD),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RFID_READ_CARD_UID),this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0,Number),this.setInputsInline(!0),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Tw={init:function(){if("mixgo_me"==Ct.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(uw),this.appendDummyInput().appendField(t).appendField("RFID"+gt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SECTOR").appendField(gt.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL),this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0,Number),this.setInputsInline(!0),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Mw={init:function(){if("mixgo_me"==Ct.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(uw),this.appendDummyInput().appendField(t).appendField(gt.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SECTOR").appendField(gt.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(gt.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},hw={init:function(){if("mixgo_me"==Ct.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(uw),this.appendDummyInput().appendField(t).appendField(gt.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SECTOR").appendField(gt.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(gt.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(gt.Msg.RETURN_SUCCESS_OR_NOT),this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setInputsInline(!0),this.setOutput(!0),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},mw={init:function(){if("mixgo_me"==Ct.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(uw),this.appendDummyInput().appendField(t).appendField("RFID"),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_RFID_SCAN_OK,"0"],[gt.Msg.MIXLY_RFID_SCAN_NOTAGERR,"1"],[gt.Msg.MIXLY_RFID_SCAN_ERROR,"2"]]),"key"),this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0,Number),this.setInputsInline(!0),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Ew=230,Ow={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.digital),"PIN"),this.setOutput(!0)}},Rw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.digital_pin),"PIN"),this.setOutput(!0,Number)}},cw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.input_pin),"PIN"),this.setOutput(!0,Number)}},gw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.output_pin),"PIN"),this.setOutput(!0,Number)}},Cw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.espnow_channel),"PIN"),this.setOutput(!0,Number)}},Sw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.haskylens_model),"PIN"),this.setOutput(!0,Number)}},Aw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.pwm_input),"PIN"),this.setOutput(!0)}},Lw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.analog_input),"PIN"),this.setOutput(!0)}},Nw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.pwm_output),"PIN"),this.setOutput(!0)}},Dw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.analog_output),"PIN"),this.setOutput(!0)}},fw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.i2c_A_pin),"PIN"),this.setOutput(!0,Number)}},Fw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.i2c_B_pin),"PIN"),this.setOutput(!0,Number)}},Pw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.spi_A_pin),"PIN"),this.setOutput(!0,Number)}},Yw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.spi_B_pin),"PIN"),this.setOutput(!0,Number)}},vw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.spi_C_pin),"PIN"),this.setOutput(!0,Number)}},Xw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.spi_D_pin),"PIN"),this.setOutput(!0,Number)}},xw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.analog),"PIN"),this.setOutput(!0)}},yw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.analog_pin),"PIN"),this.setOutput(!0,Number)}},bw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.dac),"PIN"),this.setOutput(!0)}},Vw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.dac_pin),"PIN"),this.setOutput(!0,Number)}},Bw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.button),"PIN"),this.setOutput(!0,Number)}},Gw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.buttonB),"PIN"),this.setOutput(!0,Number)}},Uw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.pwm),"PIN"),this.setOutput(!0)}},ww={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.pwm_pin),"PIN"),this.setOutput(!0,Number)}},kw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.touch_pin),"PIN"),this.setOutput(!0,Number)}},Hw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.touch),"PIN"),this.setOutput(!0)}},Ww={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.serial_pin),"PIN"),this.setOutput(!0,Number)}},Kw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.builtinimg),"PIN"),this.setOutput(!0,"esp32_image")}},Jw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.builtinimg_extern),"PIN"),this.setOutput(!0,"esp32_image")}},Qw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.imglist),"PIN"),this.setOutput(!0)}},qw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.playlist),"PIN"),this.setOutput(!0)}},zw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.playlist_extern),"PIN"),this.setOutput(!0)}},jw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.exlcdh),"PIN"),this.setOutput(!0,Number)}},$w={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.exlcdv),"PIN"),this.setOutput(!0,Number)}},Zw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.axis),"PIN"),this.setOutput(!0,Number)}},tk={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.brightness),"PIN"),this.setOutput(!0,Number)}},ek={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.tts_voice),"PIN"),this.setOutput(!0,Number)}},ik={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.tts_builtin_music),"PIN"),this.setOutput(!0,Number)}},nk={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.tts_bgmusic),"PIN"),this.setOutput(!0,Number)}},sk={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.tone_notes),"PIN"),this.setOutput(!0,Number)}},_k={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.radio_power),"PIN"),this.setOutput(!0,Number)}},ok={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.radio_datarate),"PIN"),this.setOutput(!0,Number)}},pk={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.one_more),"PIN"),this.setOutput(!0)}},ak={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.digital_dot),"PIN"),this.setOutput(!0,Number)}},uk={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown([["0","0"],["1","1"]]),"PIN"),this.setOutput(!0,Number)}},rk=function(t,e){return["HIGH"==this.getFieldValue("BOOL")?"1":"0",e.ORDER_ATOMIC]},dk=function(t,e){e.definitions_.import_machine="import machine";var i="";return i+=e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".value("+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"},lk=function(t,e){e.definitions_.import_machine="import machine";return[e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".value()",e.ORDER_ATOMIC]},Ik=function(t,e){return e.definitions_.import_machine="import machine",e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".write("+e.valueToCode(this,"NUM",e.ORDER_ATOMIC)+")\n"},Tk=function(t,e){e.definitions_.import_machine="import machine";var i=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),n=e.valueToCode(this,"NUM",e.ORDER_ATOMIC);return i+".set_analog_"+this.getFieldValue("key")+"("+n+")\n"},Mk=function(t,e){return e.definitions_.import_machine="import machine",[e.valueToCode(this,"pin",e.ORDER_ATOMIC)+".read()",e.ORDER_ATOMIC]},hk=function(t,e){e.definitions_.import_machine="import machine";var i=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),n=this.getFieldValue("mode");return"machine.Pin("+i+").irq(handler = "+e.valueToCode(this,"DO",e.ORDER_ATOMIC)+", trigger = "+n+")\n"},mk=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"pin#",n=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),s=this.getFieldValue("MODE");return("pin#"==i?"pin"+n:e.variableDB_.getName(i,gt.Variables.NAME_TYPE))+" = machine.Pin("+n+", "+s+")\n"},Ek=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"dac#",n=e.valueToCode(this,"PIN",e.ORDER_ATOMIC);return("dac#"==i?"dac"+n:e.variableDB_.getName(i,gt.Variables.NAME_TYPE))+" = machine.DAC(machine.Pin("+n+"))\n"},Ok=function(t,e){return e.definitions_.import_machine="import machine",e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".atten("+this.getFieldValue("atten")+")\n"},Rk=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"tc#",n=e.valueToCode(this,"PIN",e.ORDER_ATOMIC);return("tc#"==i?"tc"+n:e.variableDB_.getName(i,gt.Variables.NAME_TYPE))+" = machine.TouchPad(machine.Pin("+n+"))\n"},ck=function(t,e){var i=this.getFieldValue("key");return e.definitions_.import_me_g1="import me_g1",["me_g1.ext_ahtx0."+i+"()",e.ORDER_ATOMIC]},gk=function(t,e){var i=this.getFieldValue("key");return e.definitions_.import_me_g1="import me_g1",["me_g1.ext_hp203x."+i,e.ORDER_ATOMIC]},Ck=function(t,e){e.definitions_.import_me_g1="import me_g1";return["me_g1.varistor()",e.ORDER_ATOMIC]},Sk=function(t,e){e.definitions_.import_me_g1="import me_g1";return['me_g1.ext_rc522.read_card(0, x="id")',e.ORDER_ATOMIC]},Ak=function(t,e){var i=e.valueToCode(this,"SECTOR",e.ORDER_ATOMIC);return e.definitions_.import_me_g1="import me_g1",["me_g1.ext_rc522.read_card("+i+")",e.ORDER_ATOMIC]},Lk=function(t,e){var i=e.valueToCode(this,"SECTOR",e.ORDER_ATOMIC),n=e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC);return e.definitions_.import_me_g1="import me_g1","me_g1.ext_rc522.write_card("+n+","+i+")\n"},Nk=function(t,e){var i=e.valueToCode(this,"SECTOR",e.ORDER_ATOMIC),n=e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC);return e.definitions_.import_me_g1="import me_g1",["me_g1.ext_rc522.write_card("+n+","+i+")",e.ORDER_ATOMIC]},Dk=function(t,e){var i=this.getFieldValue("key");return e.definitions_.import_me_g1="import me_g1",["me_g1.ext_rc522.scan_card()=="+i,e.ORDER_ATOMIC]},fk=function(t,e){return[this.getFieldValue("PIN"),e.ORDER_ATOMIC]},Fk=fk,Pk=fk,Yk=fk,vk=fk,Xk=fk,xk=fk,yk=fk,bk=fk,Vk=fk,Bk=fk,Gk=fk,Uk=fk,wk=fk,kk=fk,Hk=fk,Wk=fk,Kk=fk,Jk=fk,Qk=fk,qk=fk,zk=fk,jk=fk,$k=fk,Zk=fk,tH=fk,eH=fk,iH=fk,nH=fk,sH=fk,_H=fk,oH=fk,pH=fk,aH=fk,uH=fk,rH=fk,dH=fk,lH=fk,IH=fk,TH=fk,MH=fk,hH=fk,mH=fk,EH=fk,OH=fk,RH=fk;Object.assign(gt.Variables,At),Object.assign(gt.Procedures,Uu),Object.assign(gt.Lang.ZhHans,It),Object.assign(gt.Lang.ZhHant,Tt),Object.assign(gt.Lang.En,Mt),gt.Python=wu,gt.generator=wu,Ct.Profile.default={},Object.assign(Ct.Profile,WU),Object.assign(Ct.Profile.default,WU["MixGo CC"]),Object.assign(gt.Blocks,e,i,n,s,_,o,p,a,u,r,d,l,I,V,W,H,X,B,K,f,k,w,G,U,F,D,N,y,x,b,P,Y,v,ht,mt,Et),Object.assign(gt.Python.forBlock,T,M,h,m,E,O,R,c,g,C,S,A,L,st,dt,rt,tt,_t,lt,q,ut,at,ot,pt,z,Q,J,it,et,nt,j,$,Z,Ot,Rt,ct)})(); \ No newline at end of file diff --git a/boards/default/micropython_esp32c3/main.bundle.77273235.js b/boards/default/micropython_esp32c3/main.bundle.77273235.js deleted file mode 100644 index b6d9c18f..00000000 --- a/boards/default/micropython_esp32c3/main.bundle.77273235.js +++ /dev/null @@ -1,21 +0,0 @@ -(()=>{"use strict";var t={d:(e,i)=>{for(var n in i)t.o(i,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:i[n]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};t.r(e),t.d(e,{controls_type:()=>Pt,controls_typeLists:()=>Yt,lists_zip:()=>vt,lists_zip_container:()=>Xt,lists_zip_item:()=>xt,unpack_iterable_object:()=>yt,variables_change:()=>ft,variables_get:()=>Nt,variables_global:()=>Ft,variables_set:()=>Dt});var i={};t.r(i),t.d(i,{base_setup:()=>Bt,controls_delay:()=>Gt,controls_end_program:()=>Ut,controls_except:()=>te,controls_finally:()=>ee,controls_flow_statements:()=>Jt,controls_for:()=>Qt,controls_forEach:()=>Ht,controls_for_range:()=>qt,controls_if:()=>wt,controls_if_else:()=>$t,controls_if_elseif:()=>jt,controls_if_if:()=>zt,controls_lambda:()=>ne,controls_main:()=>Vt,controls_pass:()=>se,controls_range:()=>kt,controls_repeat_ext:()=>ie,controls_thread:()=>_e,controls_try:()=>Zt,controls_try_finally:()=>Kt,controls_whileUntil:()=>Wt,datetime_fromtimestamp:()=>de,do_while:()=>oe,garbage_collection:()=>pe,gene_unique_identifier:()=>le,get_mem_alloc:()=>ae,get_mem_free:()=>ue,get_unique_identifier:()=>re});var n={};t.r(n),t.d(n,{base_map:()=>ve,generate_cartesian_product:()=>xe,math_arithmetic:()=>me,math_bit:()=>Oe,math_constant:()=>Me,math_constant_mp:()=>he,math_constrain:()=>Le,math_dec:()=>ce,math_degree_to_radian:()=>be,math_indexer_number:()=>De,math_map:()=>Ne,math_max_min:()=>Ce,math_number:()=>Te,math_number_base_conversion:()=>Se,math_radian_to_degree:()=>ye,math_random:()=>Ae,math_random_seed:()=>fe,math_round:()=>Fe,math_selfcalcu:()=>Ee,math_to_int:()=>ge,math_trig:()=>Re,text_to_number:()=>Pe,text_to_number_skulpt:()=>Ye,turn_to_int:()=>Xe});var s={};t.r(s),t.d(s,{ascii_to_char:()=>He,char_to_ascii:()=>We,number_to_text:()=>Ke,os_system:()=>mi,text:()=>Be,text_bytes:()=>Ue,text_capital:()=>ei,text_center:()=>ii,text_char:()=>we,text_char_at:()=>qe,text_char_at2:()=>Qe,text_char_at3:()=>Ii,text_compareTo:()=>li,text_compare_to:()=>ti,text_create_with_container:()=>ui,text_create_with_item:()=>ri,text_encode:()=>Mi,text_equals_starts_ends:()=>Ze,text_eval:()=>hi,text_find:()=>ni,text_format:()=>ai,text_format_noreturn:()=>Ti,text_join:()=>ke,text_join_seq:()=>si,text_length:()=>Je,text_random_char:()=>ze,text_replace:()=>_i,text_split:()=>oi,text_strip:()=>pi,text_substring:()=>$e,text_substring2:()=>je,text_substring3:()=>di,text_textarea:()=>Ge});var _={};t.r(_),t.d(_,{ENUMERATE:()=>Zi,content_in_lists:()=>en,enumerate:()=>tn,list_many_input:()=>Gi,list_tolist:()=>Hi,list_tolist2:()=>$i,list_trig:()=>bi,lists_2d_get_col_row_data:()=>gi,lists_2d_get_data_with_col_row:()=>ci,lists_append_extend:()=>Di,lists_change_to:()=>Bi,lists_change_to_general:()=>wi,lists_clear:()=>vi,lists_create_with:()=>Ci,lists_create_with2:()=>Wi,lists_create_with_container:()=>Ai,lists_create_with_item:()=>Li,lists_create_with_noreturn:()=>Ui,lists_create_with_text:()=>Si,lists_create_with_text2:()=>Ki,lists_del_general:()=>ki,lists_find:()=>yi,lists_getIndex3:()=>Ji,lists_getSublist3:()=>Qi,lists_get_index:()=>Oi,lists_get_random_item:()=>fi,lists_get_random_sublist:()=>Fi,lists_get_sublist:()=>Ri,lists_insert_value:()=>Pi,lists_insert_value2:()=>zi,lists_pop:()=>xi,lists_remove_at:()=>Xi,lists_remove_at2:()=>ji,lists_reverse:()=>Yi,lists_setIndex3:()=>qi,lists_set_index:()=>Ni,lists_sort:()=>Vi});var o={};t.r(o),t.d(o,{dicts_add_change_del:()=>En,dicts_add_or_change:()=>rn,dicts_clear:()=>In,dicts_create_with:()=>sn,dicts_create_with_container:()=>_n,dicts_create_with_item:()=>on,dicts_create_with_noreturn:()=>cn,dicts_deldict:()=>mn,dicts_delete:()=>dn,dicts_get:()=>an,dicts_get_default:()=>un,dicts_items:()=>Tn,dicts_keys:()=>pn,dicts_length:()=>hn,dicts_pop:()=>On,dicts_setdefault:()=>Rn,dicts_to_json:()=>Cn,dicts_to_json2:()=>Ln,dicts_to_to:()=>An,dicts_todict:()=>gn,dicts_update:()=>ln,dicts_values:()=>Mn,json_to_dicts:()=>Sn});var p={};t.r(p),t.d(p,{logic_boolean:()=>Yn,logic_compare:()=>Dn,logic_compare_continous:()=>fn,logic_is:()=>yn,logic_is_in:()=>xn,logic_negate:()=>Pn,logic_null:()=>vn,logic_operation:()=>Fn,logic_tobool:()=>bn,logic_true_or_false:()=>Xn});var a={};t.r(a),t.d(a,{sdcard_mount:()=>os,sdcard_use_spi_init:()=>_s,storage_can_write_ornot:()=>Kn,storage_change_dir:()=>ns,storage_close_file:()=>Qn,storage_delete_file:()=>zn,storage_file_seek:()=>Zn,storage_file_tell:()=>$n,storage_file_write:()=>wn,storage_fileopen:()=>Bn,storage_fileopen_new:()=>Gn,storage_fileopen_new_encoding:()=>Un,storage_get_a_line:()=>Wn,storage_get_contents:()=>Hn,storage_get_contents_without_para:()=>kn,storage_get_current_dir:()=>ts,storage_get_file_size:()=>jn,storage_get_filename:()=>Jn,storage_is_file:()=>ss,storage_list_all_files:()=>qn,storage_make_dir:()=>es,storage_open_file_with_os:()=>Vn,storage_rename:()=>is});var u={};t.r(u),t.d(u,{procedures_callnoreturn:()=>ds,procedures_callreturn:()=>ls,procedures_defnoreturn:()=>ps,procedures_defreturn:()=>as,procedures_ifreturn:()=>Is,procedures_mutatorarg:()=>rs,procedures_mutatorcontainer:()=>us,procedures_return:()=>Ts});var r={};t.r(r),t.d(r,{tuple_change_to:()=>Ls,tuple_create_llm_params:()=>xs,tuple_create_with:()=>hs,tuple_create_with_container:()=>ms,tuple_create_with_item:()=>Es,tuple_create_with_noreturn:()=>Fs,tuple_create_with_text2:()=>Os,tuple_create_with_text_return:()=>Rs,tuple_del:()=>Cs,tuple_find:()=>Ns,tuple_getIndex:()=>cs,tuple_getSublist:()=>fs,tuple_get_random_item:()=>Ys,tuple_get_sublist:()=>Ps,tuple_input:()=>Xs,tuple_join:()=>Ss,tuple_length:()=>gs,tuple_max:()=>As,tuple_totuple:()=>vs,tuple_trig:()=>Ds});var d={};t.r(d),t.d(d,{set_add_discard:()=>Ws,set_clear:()=>ws,set_create_with:()=>bs,set_create_with_container:()=>Vs,set_create_with_item:()=>Bs,set_create_with_text_return:()=>Qs,set_length:()=>Gs,set_operate:()=>ks,set_operate_update:()=>Hs,set_pop:()=>Us,set_sub:()=>Ks,set_toset:()=>qs,set_update:()=>Js});var l={};t.r(l),t.d(l,{html_content:()=>t_,html_content_more:()=>e_,html_document:()=>js,html_form:()=>n_,html_head_body:()=>Zs,html_style:()=>i_,html_style_color:()=>__,html_style_content:()=>s_,html_text:()=>o_,html_title:()=>$s});var I={};t.r(I),t.d(I,{attribute_access:()=>R_,function_call:()=>m_,function_call_container:()=>E_,function_call_item:()=>O_,raw_block:()=>u_,raw_empty:()=>d_,raw_expression:()=>r_,raw_table:()=>a_,text_comment:()=>l_,text_print_multiple:()=>T_,text_print_multiple_container:()=>M_,text_print_multiple_item:()=>h_,type_check:()=>I_});var T={};t.r(T),t.d(T,{controls_type:()=>A_,controls_typeLists:()=>L_,lists_zip:()=>N_,unpack_iterable_object:()=>D_,variables_change:()=>C_,variables_get:()=>c_,variables_global:()=>S_,variables_set:()=>g_});var M={};t.r(M),t.d(M,{Panic_with_status_code:()=>V_,base_setup:()=>F_,controls_delay:()=>b_,controls_flow_statements:()=>y_,controls_for:()=>v_,controls_forEach:()=>k_,controls_for_range:()=>X_,controls_if:()=>P_,controls_interrupts:()=>U_,controls_lambda:()=>W_,controls_main:()=>f_,controls_millis:()=>B_,controls_nointerrupts:()=>w_,controls_pass:()=>J_,controls_range:()=>H_,controls_repeat:()=>eo,controls_repeat_ext:()=>z_,controls_thread:()=>Q_,controls_try_finally:()=>Y_,controls_whileUntil:()=>x_,datetime_fromtimestamp:()=>io,do_while:()=>q_,garbage_collection:()=>j_,gene_unique_identifier:()=>no,get_mem_alloc:()=>$_,get_mem_free:()=>Z_,get_unique_identifier:()=>to,reset:()=>G_,time_sleep:()=>K_});var h={};t.r(h),t.d(h,{base_map:()=>Ao,generate_cartesian_product:()=>No,math_arithmetic:()=>ao,math_bit:()=>po,math_constant:()=>_o,math_constant_mp:()=>oo,math_constrain:()=>Eo,math_dec:()=>Io,math_degree_to_radian:()=>fo,math_indexer_number:()=>co,math_map:()=>mo,math_max_min:()=>Mo,math_number:()=>so,math_number_base_conversion:()=>Oo,math_radian_to_degree:()=>Do,math_random:()=>ho,math_random_seed:()=>Ro,math_round:()=>go,math_selfcalcu:()=>uo,math_single:()=>ro,math_to_int:()=>To,math_trig:()=>lo,text_to_number:()=>Co,text_to_number_skulpt:()=>So,turn_to_int:()=>Lo});var m={};t.r(m),t.d(m,{ascii_to_char:()=>xo,char_to_ascii:()=>yo,number_to_text:()=>bo,os_system:()=>op,text:()=>Fo,text_bytes:()=>Yo,text_capital:()=>Ko,text_center:()=>Jo,text_char:()=>vo,text_char_at:()=>Go,text_char_at2:()=>Bo,text_char_at3:()=>np,text_compareTo:()=>ip,text_compare_to:()=>ko,text_encode:()=>sp,text_equals_starts_ends:()=>wo,text_eval:()=>_p,text_find:()=>Qo,text_format:()=>Zo,text_format_noreturn:()=>tp,text_join:()=>Xo,text_join_seq:()=>qo,text_length:()=>Vo,text_random_char:()=>Uo,text_replace:()=>zo,text_split:()=>jo,text_strip:()=>$o,text_substring:()=>Wo,text_substring2:()=>Ho,text_substring3:()=>ep,text_textarea:()=>Po});var E={};t.r(E),t.d(E,{content_in_lists:()=>Gp,enumerate:()=>Bp,list_many_input:()=>Lp,list_tolist:()=>bp,list_tolist2:()=>Vp,list_trig:()=>Cp,lists_2d_get_col_row_data:()=>up,lists_2d_get_data_with_col_row:()=>ap,lists_append_extend:()=>Tp,lists_change_to:()=>Ap,lists_change_to_general:()=>Dp,lists_clear:()=>Op,lists_create_with:()=>rp,lists_create_with2:()=>Fp,lists_create_with_noreturn:()=>Np,lists_create_with_text:()=>dp,lists_create_with_text2:()=>Pp,lists_del_general:()=>fp,lists_find:()=>Rp,lists_getIndex3:()=>Yp,lists_getSublist3:()=>vp,lists_get_index:()=>lp,lists_get_random_item:()=>Mp,lists_get_random_sublist:()=>hp,lists_get_sublist:()=>pp,lists_insert_value:()=>mp,lists_insert_value2:()=>xp,lists_pop:()=>gp,lists_remove_at:()=>cp,lists_remove_at2:()=>yp,lists_reverse:()=>Ep,lists_setIndex3:()=>Xp,lists_set_index:()=>Ip,lists_sort:()=>Sp});var O={};t.r(O),t.d(O,{dicts_add_change_del:()=>Zp,dicts_add_or_change:()=>Wp,dicts_clear:()=>Qp,dicts_create_with:()=>Up,dicts_create_with_noreturn:()=>ia,dicts_deldict:()=>$p,dicts_delete:()=>Kp,dicts_get:()=>kp,dicts_get_default:()=>Hp,dicts_items:()=>qp,dicts_keys:()=>wp,dicts_length:()=>jp,dicts_pop:()=>ta,dicts_setdefault:()=>ea,dicts_to_json:()=>sa,dicts_to_json2:()=>pa,dicts_to_to:()=>oa,dicts_todict:()=>na,dicts_update:()=>Jp,dicts_values:()=>zp,json_to_dicts:()=>_a});var R={};t.r(R),t.d(R,{logic_boolean:()=>la,logic_compare:()=>aa,logic_compare_continous:()=>ua,logic_is:()=>ha,logic_is_in:()=>Ma,logic_negate:()=>da,logic_null:()=>Ia,logic_operation:()=>ra,logic_tobool:()=>ma,logic_true_or_false:()=>Ta});var c={};t.r(c),t.d(c,{sdcard_mount:()=>Ga,sdcard_use_spi_init:()=>Ba,storage_can_write_ornot:()=>La,storage_change_dir:()=>Xa,storage_close_file:()=>Da,storage_delete_file:()=>Fa,storage_file_seek:()=>va,storage_file_tell:()=>Ya,storage_file_write:()=>ga,storage_fileopen:()=>Oa,storage_fileopen_new:()=>Ra,storage_fileopen_new_encoding:()=>ca,storage_get_a_line:()=>Aa,storage_get_contents:()=>Sa,storage_get_contents_without_para:()=>Ca,storage_get_current_dir:()=>xa,storage_get_file_size:()=>Pa,storage_get_filename:()=>Na,storage_is_file:()=>Va,storage_list_all_files:()=>fa,storage_make_dir:()=>ya,storage_open_file_with_os:()=>Ea,storage_rename:()=>ba});var g={};t.r(g),t.d(g,{procedures_callnoreturn:()=>Ha,procedures_callreturn:()=>ka,procedures_defnoreturn:()=>wa,procedures_defreturn:()=>Ua,procedures_ifreturn:()=>Wa,procedures_return:()=>Ka});var C={};t.r(C),t.d(C,{tuple_change_to:()=>eu,tuple_create_llm_params:()=>ru,tuple_create_with:()=>Ja,tuple_create_with_noreturn:()=>_u,tuple_create_with_text2:()=>Qa,tuple_create_with_text_return:()=>qa,tuple_del:()=>$a,tuple_find:()=>iu,tuple_getIndex:()=>za,tuple_getSublist:()=>su,tuple_get_random_item:()=>pu,tuple_get_sublist:()=>ou,tuple_input:()=>uu,tuple_join:()=>Za,tuple_length:()=>ja,tuple_max:()=>tu,tuple_totuple:()=>au,tuple_trig:()=>nu});var S={};t.r(S),t.d(S,{set_add_discard:()=>mu,set_clear:()=>Tu,set_create_with:()=>du,set_create_with_text_return:()=>Ru,set_length:()=>lu,set_operate:()=>Mu,set_operate_update:()=>hu,set_pop:()=>Iu,set_sub:()=>Eu,set_toset:()=>cu,set_update:()=>Ou});var A={};t.r(A),t.d(A,{html_content:()=>Au,html_content_more:()=>Lu,html_document:()=>gu,html_form:()=>Du,html_head_body:()=>Su,html_style:()=>Nu,html_style_content:()=>fu,html_text:()=>Fu,html_title:()=>Cu});var L={};t.r(L),t.d(L,{attribute_access:()=>bu,function_call:()=>yu,raw_block:()=>Pu,raw_empty:()=>vu,raw_expression:()=>Yu,raw_table:()=>Xu,type_check:()=>xu});var N={};t.r(N),t.d(N,{PIN_init:()=>Hr,actuator_extern_get_led_bright:()=>Zu,actuator_extern_get_led_state:()=>tr,actuator_extern_led_bright:()=>$u,actuator_extern_led_brightness:()=>er,actuator_ms32006_dcmotor:()=>rr,actuator_ms32006_init:()=>ur,actuator_ms32006_stepper:()=>dr,actuator_neopixel_init:()=>lr,actuator_neopixel_rgb:()=>Ir,actuator_neopixel_rgb_all:()=>Tr,actuator_neopixel_rgb_show_all_chase:()=>mr,actuator_neopixel_rgb_show_all_rainbow:()=>hr,actuator_neopixel_write:()=>Mr,actuator_use_uart_init:()=>Er,backstage_esp32_music_play_list:()=>Ku,esp32_music_get_tempo_extern:()=>Qu,esp32_music_pitch:()=>ku,esp32_music_pitch_init:()=>wu,esp32_music_pitch_with_time:()=>Hu,esp32_music_play_list:()=>Wu,esp32_music_reset_extern:()=>qu,esp32_music_set_tempo_extern:()=>Ju,esp32_music_stop:()=>zu,esp32_set_music_volume:()=>ju,mixbot_actuator_extern_get_addr:()=>wr,mixbot_actuator_extern_set_addr:()=>kr,mixbot_addr_extern:()=>fr,parrot_PIN_init:()=>Qr,parrot_move_speed:()=>qr,pin_led_bright:()=>Wr,player_insert_music:()=>Sr,player_play_music:()=>Cr,player_set_mode:()=>gr,player_set_play:()=>Rr,player_set_volume:()=>cr,player_whether_stop:()=>Or,robot_led_extern:()=>vr,robot_led_extern_get_value:()=>Xr,robot_motor_extern:()=>Fr,robot_motor_extern_get_speed:()=>Pr,robot_servo_extern_absolute_run:()=>Vr,robot_servo_extern_get_status:()=>xr,robot_servo_extern_relative_continue:()=>Ur,robot_servo_extern_relative_origin:()=>Br,robot_servo_extern_relative_run:()=>Gr,robot_servo_extern_stop:()=>br,robot_servo_extern_stop_mode:()=>yr,robot_traffic_light_extern:()=>Yr,servo_PIN_init:()=>Kr,servo_get_angle:()=>pr,servo_get_speed:()=>ar,servo_init:()=>ir,servo_move:()=>nr,servo_move_angle:()=>Jr,servo_set_angle:()=>_r,servo_set_speed:()=>or,servo_speed_360:()=>sr,syn6288_builtin_voice:()=>Nr,syn6288_get_voice:()=>Lr,syn6288_set_voice:()=>Ar,syn6288_tts_play:()=>Dr});var D={};t.r(D),t.d(D,{actuator_dc_motor:()=>Dd,actuator_dc_motor_stop:()=>fd,actuator_get_led_bright:()=>td,actuator_get_led_state:()=>ed,actuator_led_bright:()=>Zr,actuator_led_brightness:()=>id,actuator_mixbot_buzzer_on_off:()=>Xd,actuator_mixgo_nova_mic_get:()=>Bd,actuator_mixgo_nova_mic_set:()=>Vd,actuator_mixgo_nova_onboard_music_pitch:()=>Wd,actuator_mixgo_nova_onboard_music_stop:()=>Kd,actuator_mixgo_nova_play_audio:()=>kd,actuator_mixgo_nova_play_online_audio:()=>Hd,actuator_mixgo_nova_record_audio:()=>wd,actuator_mixgo_nova_voice_get:()=>Ud,actuator_mixgo_nova_voice_set:()=>Gd,actuator_mixgo_zero_led_color:()=>nd,actuator_onboard_neopixel_rgb:()=>ud,actuator_onboard_neopixel_rgb_all:()=>rd,actuator_onboard_neopixel_rgb_show_all_chase:()=>ld,actuator_onboard_neopixel_rgb_show_all_rainbow:()=>dd,actuator_onboard_neopixel_write:()=>Id,actuator_rm_onboard_neopixel_rgb:()=>Td,actuator_rm_onboard_neopixel_rgb_all:()=>Md,actuator_rm_onboard_neopixel_rgb_show_all_chase:()=>hd,actuator_stepper_keep:()=>Ld,actuator_stepper_stop:()=>Nd,analog_ble_keyboard_init:()=>_l,analog_ble_keyboard_input:()=>al,analog_ble_keyboard_mouse_init:()=>hl,analog_ble_keyboard_mouse_input:()=>Rl,analog_ble_keyboard_mouse_send_battery:()=>Ol,analog_ble_keyboard_mouse_str:()=>cl,analog_ble_keyboard_send_battery:()=>rl,analog_ble_keyboard_str:()=>ul,analog_ble_mouse_init:()=>dl,analog_ble_mouse_input:()=>Tl,analog_ble_mouse_keyboard_input:()=>gl,analog_ble_mouse_send_battery:()=>Ml,analog_keyboard_input:()=>zd,analog_keyboard_str:()=>sl,analog_mouse_input:()=>il,backstage_onboard_music_play_list:()=>Sd,bitbot_motor:()=>bd,bitbot_move:()=>xd,bitbot_stop:()=>yd,ble_keyboard_connect:()=>pl,ble_keyboard_get_mac:()=>ol,ble_keyboard_mouse_connect:()=>El,ble_keyboard_mouse_get_mac:()=>ml,ble_mouse_connect:()=>Il,ble_mouse_get_mac:()=>ll,cc_number:()=>ad,educore_ble_keyboard_input:()=>Yl,educore_ble_sensor_connected:()=>Pl,educore_ble_sensor_init:()=>Fl,educore_buzzer:()=>Cl,educore_buzzer_play_tone:()=>Sl,educore_buzzer_play_tone_time:()=>Al,educore_buzzer_stop:()=>Ll,educore_neopixel_clear:()=>fl,educore_neopixel_rgb:()=>Dl,educore_rgb_light:()=>Nl,esp32_music_get_tempo:()=>Ed,esp32_music_reset:()=>Od,esp32_music_set_tempo:()=>md,esp32_onboard_music_pitch:()=>Rd,esp32_onboard_music_pitch_with_time:()=>cd,esp32_onboard_music_play_list:()=>Cd,esp32_onboard_music_stop:()=>gd,general_key:()=>$d,general_key_tuple:()=>Zd,generalkey_container:()=>tl,generalkey_create_with_item:()=>el,get_keyboard_light:()=>vl,get_power_output:()=>Qd,ledswitch:()=>$r,mixbot_motor:()=>vd,mixbot_motor_status:()=>Fd,mixbot_move:()=>Pd,mixbot_stop:()=>Yd,mouse_key:()=>nl,number:()=>jr,record_audio:()=>xl,rm_actuator_get_led_bright:()=>_d,rm_actuator_get_led_state:()=>od,rm_actuator_led_bright:()=>sd,rm_actuator_led_brightness:()=>pd,rm_motor:()=>Ad,set_all_power_output:()=>qd,set_microphone_amplification:()=>Xl,set_music_volume:()=>yl,set_power_output:()=>Jd,special_key:()=>jd});var f={};t.r(f),t.d(f,{ai_sensor_20object:()=>hI,ai_sensor_ailocal_class:()=>_I,ai_sensor_ailocal_class_result:()=>oI,ai_sensor_ailocal_train:()=>sI,ai_sensor_asr_recognize:()=>dI,ai_sensor_audio_play:()=>aI,ai_sensor_audio_record:()=>pI,ai_sensor_barcode:()=>Hl,ai_sensor_circle:()=>zl,ai_sensor_classifier_faces:()=>MI,ai_sensor_color:()=>tI,ai_sensor_color_chases:()=>nI,ai_sensor_color_chases_result:()=>iI,ai_sensor_config:()=>wl,ai_sensor_face:()=>TI,ai_sensor_find_20objects:()=>mI,ai_sensor_find_barcodes:()=>Wl,ai_sensor_find_circles:()=>jl,ai_sensor_find_colors:()=>eI,ai_sensor_find_licenseplates:()=>II,ai_sensor_find_lines:()=>ql,ai_sensor_find_qrcodes:()=>Ul,ai_sensor_find_rects:()=>Zl,ai_sensor_find_tags:()=>Jl,ai_sensor_licenseplate:()=>lI,ai_sensor_line:()=>Ql,ai_sensor_qrcode:()=>Bl,ai_sensor_qrcode_lite:()=>Gl,ai_sensor_rect:()=>$l,ai_sensor_rgb:()=>kl,ai_sensor_tag:()=>Kl,ai_sensor_use_uart_init:()=>Vl,ai_sensor_yolo_recognize:()=>uI,ai_sensor_yolo_recognize_result:()=>rI});var F={};t.r(F),t.d(F,{MICROPYTHON_AI_Speech_asr:()=>RI,MICROPYTHON_AI_Speech_unit:()=>OI,MICROPYTHON_AI_client:()=>EI});var P={};t.r(P),t.d(P,{mpython_blynk_app_data:()=>xI,mpython_blynk_app_notify:()=>DI,mpython_blynk_email:()=>PI,mpython_blynk_get_timers:()=>YI,mpython_blynk_on_connected:()=>AI,mpython_blynk_on_disconnected:()=>SI,mpython_blynk_run:()=>NI,mpython_blynk_sensor_data_to_app:()=>XI,mpython_blynk_set_property:()=>FI,mpython_blynk_setup:()=>yI,mpython_blynk_stop_timers:()=>fI,mpython_blynk_sync_virtual:()=>CI,mpython_blynk_terminal_widget_vpin:()=>gI,mpython_blynktimer:()=>vI,mpython_blynktimer_run:()=>LI});var Y={};t.r(Y),t.d(Y,{cc_g1_init:()=>bI,cc_g1_read_bat:()=>VI,cc_g1_read_joystick:()=>BI,cc_g1_read_key:()=>GI,cc_g1_turnoff:()=>UI});var v={};t.r(v),t.d(v,{ce_go_dc_motor:()=>zI,ce_go_get_led_bright:()=>WI,ce_go_get_led_state:()=>KI,ce_go_hall_attachInterrupt:()=>jI,ce_go_hall_data:()=>ZI,ce_go_hall_initialize:()=>$I,ce_go_led_bright:()=>HI,ce_go_led_brightness:()=>JI,ce_go_light_number:()=>kI,ce_go_pin_light:()=>sT,ce_go_pin_near:()=>eT,ce_go_pin_near_line:()=>tT,ce_go_pin_near_state_change:()=>iT,ce_go_stepper_keep:()=>QI,ce_go_stepper_stop:()=>qI,educore_car:()=>_T,educore_car_pin_near:()=>uT,educore_car_pin_near_line:()=>aT,educore_car_stepper_keep:()=>oT,educore_car_stepper_stop:()=>pT,sensor_mixgome_eulerangles:()=>nT});var X={};t.r(X),t.d(X,{communicate_bluetooth_central_init:()=>WT,communicate_bluetooth_connect:()=>qT,communicate_bluetooth_disconnect:()=>zT,communicate_bluetooth_handle:()=>eM,communicate_bluetooth_is_connected:()=>$T,communicate_bluetooth_mac:()=>QT,communicate_bluetooth_peripheral_init:()=>KT,communicate_bluetooth_recv:()=>ZT,communicate_bluetooth_recv_only:()=>tM,communicate_bluetooth_scan:()=>JT,communicate_bluetooth_send:()=>jT,communicate_espnow_init:()=>iM,communicate_espnow_init_new:()=>nM,communicate_i2c_available:()=>NT,communicate_i2c_init:()=>IT,communicate_i2c_master_read:()=>LT,communicate_i2c_onboard:()=>dT,communicate_i2c_read:()=>TT,communicate_i2c_scan:()=>hT,communicate_i2c_write:()=>MT,communicate_ir_recv_init:()=>xT,communicate_ir_send_init:()=>GT,communicate_ow_init:()=>fT,communicate_ow_read:()=>PT,communicate_ow_reset:()=>XT,communicate_ow_scan:()=>FT,communicate_ow_select:()=>vT,communicate_ow_write:()=>YT,communicate_spi_buffer:()=>OT,communicate_spi_init:()=>mT,communicate_spi_onboard:()=>lT,communicate_spi_read:()=>RT,communicate_spi_read_output:()=>cT,communicate_spi_readinto:()=>gT,communicate_spi_readinto_output:()=>CT,communicate_spi_set:()=>ET,communicate_spi_write:()=>ST,communicate_spi_write_readinto:()=>AT,espnow_radio_channel:()=>uM,espnow_radio_channel_new:()=>dM,espnow_radio_on_off:()=>lM,espnow_radio_rec:()=>TM,espnow_radio_recv:()=>hM,espnow_radio_recv_certain_msg:()=>mM,espnow_radio_recv_certain_msg_new:()=>OM,espnow_radio_recv_msg:()=>MM,espnow_radio_recv_new:()=>EM,espnow_radio_send:()=>IM,espnow_radio_txpower:()=>rM,i2c_available:()=>UM,i2c_init:()=>NM,i2c_master_reader2:()=>GM,i2c_read:()=>DM,i2c_scan:()=>FM,i2c_slave_onreceive:()=>DT,i2c_write:()=>fM,internal_variable:()=>yT,ir_recv_timeout:()=>BT,ir_transmit_busy:()=>HT,ir_transmit_conventional_data:()=>UT,ir_transmit_raw_code:()=>kT,ir_transmit_study_code:()=>wT,ir_whether_recv:()=>VT,lora_init:()=>RM,lora_packet:()=>cM,lora_recv:()=>CM,lora_send:()=>gM,network_espnow_info:()=>_M,network_espnow_mac:()=>sM,network_espnow_recv:()=>oM,network_espnow_recv_handle:()=>aM,network_espnow_send:()=>pM,recv_fun:()=>bT,spi_buffer:()=>vM,spi_init:()=>PM,spi_read:()=>XM,spi_read_output:()=>xM,spi_readinto:()=>yM,spi_readinto_output:()=>bM,spi_set:()=>YM,spi_write:()=>VM,spi_write_readinto:()=>BM,urequests_attribute:()=>AM,urequests_get:()=>SM,urequests_method:()=>LM});var x={};t.r(x),t.d(x,{display_animate:()=>Oh,display_blink_rate:()=>Mh,display_circle:()=>Rh,display_color_seclet:()=>Yh,display_draw_4strings:()=>uh,display_fill:()=>Eh,display_get_screen_image:()=>Th,display_help:()=>gh,display_image_size:()=>rh,display_lcd_use_i2c_init:()=>Vh,display_line:()=>lh,display_line_arbitrarily:()=>Ih,display_matrix_extern_bright_point:()=>eh,display_matrix_extern_bright_screen:()=>nh,display_matrix_extern_clear:()=>sh,display_matrix_extern_get_pixel:()=>th,display_matrix_extern_get_screen_pixel:()=>ih,display_matrix_extern_image_builtins:()=>_h,display_matrix_extern_scroll_string:()=>qM,display_matrix_extern_scroll_string_delay:()=>zM,display_matrix_extern_shift:()=>ZM,display_matrix_extern_show_frame_string:()=>jM,display_matrix_extern_show_frame_string_delay:()=>$M,display_matrix_extern_show_image:()=>JM,display_matrix_extern_show_image_or_string_delay:()=>QM,display_matrix_use_i2c_init:()=>KM,display_oled_drawPixel:()=>Sh,display_oled_showBitmap:()=>Ch,display_oled_use_i2c_init:()=>kh,display_onoff:()=>mh,display_rect:()=>dh,display_rgb_color:()=>hh,display_tm1650_power:()=>Lh,display_tm1650_set_brightness:()=>fh,display_tm1650_show_dot:()=>Dh,display_tm1650_show_num:()=>Nh,display_tm_use_i2c_init:()=>Ah,display_triangle:()=>ch,display_use_i2c_init:()=>ah,extern_oled_bright_point:()=>tm,extern_oled_clear:()=>em,extern_oled_get_pixel:()=>Zh,extern_oled_hvline:()=>nm,extern_oled_line:()=>sm,extern_oled_scroll_string:()=>Qh,extern_oled_scroll_string_delay:()=>qh,extern_oled_shape_rect:()=>im,extern_oled_shift:()=>$h,extern_oled_show_frame_string:()=>zh,extern_oled_show_frame_string_delay:()=>jh,extern_oled_show_image:()=>Hh,extern_oled_show_image_or_string_delay:()=>Jh,extern_oled_show_image_xy:()=>Wh,extern_oled_show_string:()=>Kh,lcd_backlight:()=>Uh,lcd_clear:()=>wh,lcd_print_string:()=>Gh,lcd_show_image_or_string_delay:()=>Bh,matrix_extern_image_arithmetic:()=>oh,matrix_extern_image_invert:()=>ph,tft_fill:()=>yh,tft_line_arbitrarily:()=>bh,tft_scroll_string_delay:()=>Xh,tft_show_frame_string_delay:()=>xh,tft_show_image_or_string_delay:()=>vh,tft_show_image_xy:()=>Ph,tft_use_spi_init:()=>Fh});var y={};t.r(y),t.d(y,{bitbot_display_bitmap_create:()=>$m,bitbot_display_image_create:()=>jm,display_available:()=>Lm,display_bitmap_create:()=>Mm,display_bright_point:()=>gm,display_bright_screen:()=>Sm,display_clear:()=>Am,display_get_pixel:()=>cm,display_get_screen_pixel:()=>Cm,display_image_builtins:()=>hm,display_image_builtins_all:()=>mm,display_image_create:()=>Tm,display_scroll_string:()=>am,display_scroll_string_delay:()=>um,display_scroll_way:()=>rm,display_shift:()=>Rm,display_show_frame_string:()=>lm,display_show_frame_string_delay:()=>Im,display_show_image:()=>om,display_show_image_or_string_delay:()=>pm,draw_pointer:()=>ME,image_arithmetic:()=>Em,image_invert:()=>Om,mixbot_display_bitmap_create:()=>Km,mixbot_display_bright_screen:()=>qm,mixbot_display_get_ambientbright:()=>Qm,mixbot_display_get_screen_pixel:()=>Jm,mixbot_display_image_create:()=>Wm,mixbot_display_rotate:()=>zm,mixgo_display_bitmap_create:()=>Ym,mixgo_display_image_create_new:()=>Pm,mixgome_display_bitmap_create:()=>Dm,mixgome_display_font:()=>vm,mixgome_display_image_create:()=>Nm,mixgomini_display_bitmap_create:()=>Fm,mixgomini_display_image_create:()=>fm,mpython_display_hvline:()=>wm,mpython_display_line:()=>km,mpython_display_shape_rect:()=>Um,mpython_pbm_image:()=>Hm,nova_draw_pointer:()=>hE,onboard_oled_bright_point:()=>Gm,onboard_oled_scroll_string_delay:()=>Vm,onboard_oled_show_frame_string_delay:()=>Bm,onboard_oled_show_image:()=>Xm,onboard_oled_show_image_or_string_delay:()=>bm,onboard_oled_show_image_xy:()=>xm,onboard_oled_show_string:()=>ym,onboard_tft_bright_point:()=>pE,onboard_tft_bright_screen:()=>AE,onboard_tft_clear:()=>LE,onboard_tft_clock_clear:()=>IE,onboard_tft_clock_draw:()=>lE,onboard_tft_clock_get_rtctime:()=>rE,onboard_tft_clock_init:()=>uE,onboard_tft_clock_set_time:()=>dE,onboard_tft_display_hvline:()=>sE,onboard_tft_display_line:()=>_E,onboard_tft_display_shape_circle:()=>TE,onboard_tft_display_shape_rect:()=>nE,onboard_tft_fill:()=>aE,onboard_tft_get_pixel:()=>oE,onboard_tft_get_screen_pixel:()=>SE,onboard_tft_scroll_string:()=>cE,onboard_tft_scroll_string_delay:()=>dm,onboard_tft_shift:()=>CE,onboard_tft_show_frame_string:()=>gE,onboard_tft_show_frame_string_delay:()=>iE,onboard_tft_show_image:()=>RE,onboard_tft_show_image_or_string_delay:()=>eE,onboard_tft_show_image_xy:()=>Zm,onboard_tft_show_image_xy_direct:()=>tE,onboard_tft_show_qrcode:()=>EE,onboard_tft_show_qrcode_details:()=>OE,onboard_tft_show_texts:()=>mE});var b={};t.r(b),t.d(b,{factory_block:()=>HE,factory_block_return:()=>WE,factory_block_return_with_textarea:()=>JE,factory_block_with_textarea:()=>KE,factory_callMethod_noreturn:()=>wE,factory_callMethod_return:()=>kE,factory_create_with_container:()=>VE,factory_create_with_item:()=>BE,factory_declare:()=>UE,factory_from_import:()=>xE,factory_function_noreturn:()=>bE,factory_function_return:()=>GE,factory_import:()=>yE,folding_block:()=>QE});var V={};t.r(V),t.d(V,{controls_pin_attachInterrupt:()=>hO,inout_analog_atten:()=>sO,inout_analog_read:()=>nO,inout_analog_read_init:()=>rO,inout_analog_write:()=>tO,inout_analog_write_init:()=>uO,inout_analog_write_set:()=>eO,inout_analog_write_set_freq:()=>IO,inout_digital_init:()=>pO,inout_digital_read:()=>$E,inout_digital_write:()=>jE,inout_highlow:()=>zE,inout_pinMode:()=>lO,inout_pin_attachInterrupt:()=>oO,inout_pin_pressed:()=>_O,inout_pin_pressed_init:()=>dO,inout_pwm_analog_write:()=>ZE,inout_pwm_analog_write_init:()=>aO,inout_pwm_analog_write_set_freq:()=>iO,pin_pressed:()=>MO,pin_pressed_init:()=>TO});var B={};t.r(B),t.d(B,{IOT_CONNECT_OLLAMA:()=>tR,IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>UO,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>GO,IOT_EMQX_PING:()=>VO,IOT_FORMATTING:()=>yO,IOT_FORMAT_STRING:()=>bO,IOT_MIXIO_NTP:()=>BO,IOT_MIXIO_PUBLISH:()=>DO,IOT_MIXIO_PUBLISHEX:()=>fO,IOT_MIXIO_SUBSCRIBE:()=>FO,iot_checkonenet:()=>jO,iot_client_onboard:()=>kO,iot_connect_ollama:()=>ZO,iot_connect_openai:()=>eR,iot_create_with_item:()=>LO,iot_http_client:()=>HO,iot_http_data:()=>WO,iot_mixio_check:()=>vO,iot_mixio_connect:()=>NO,iot_mixio_connect_only:()=>YO,iot_mixio_disconnect:()=>PO,iot_mixio_format_msg:()=>xO,iot_mixio_format_topic:()=>XO,iot_mixly_key:()=>wO,iot_mqtt_client:()=>KO,iot_mqtt_data:()=>JO,iot_onenet_check:()=>cO,iot_onenet_connect:()=>OO,iot_onenet_disconnect:()=>RO,iot_onenet_publish:()=>CO,iot_onenet_publish_dict:()=>gO,iot_onenetconnect:()=>qO,iot_onenetdisconnect:()=>zO,iot_publish:()=>$O,iot_publish_container:()=>SO,iot_publish_item:()=>AO,iot_tiny_web_db_count:()=>uR,iot_tiny_web_db_delete:()=>dR,iot_tiny_web_db_get:()=>aR,iot_tiny_web_db_init:()=>_R,iot_tiny_web_db_init_with_mqtt:()=>oR,iot_tiny_web_db_search:()=>rR,iot_tiny_web_db_update:()=>pR,iot_wifi_connect:()=>EO,iot_wificonnect:()=>QO,ollama_empty_history:()=>sR,use_ollama_llm_to_chat:()=>iR,use_ollama_llm_to_chat_return:()=>nR});var G={};t.r(G),t.d(G,{educore_mqtt_connect:()=>WR,educore_mqtt_connect_success:()=>qR,educore_mqtt_subscribe_message:()=>KR,educore_mqtt_topic_publish:()=>QR,educore_mqtt_topic_subscribe:()=>JR,educore_wifi_connect:()=>HR,network_ap_connect:()=>gR,network_connect:()=>mR,network_get_connect:()=>OR,network_get_wifi:()=>cR,network_init:()=>IR,network_is_active:()=>MR,network_open:()=>TR,network_scan:()=>hR,network_server:()=>CR,network_socket_accept:()=>DR,network_socket_bind:()=>AR,network_socket_close:()=>XR,network_socket_connect:()=>LR,network_socket_init:()=>SR,network_socket_listen:()=>NR,network_socket_readline:()=>fR,network_socket_receive:()=>FR,network_socket_receive_from:()=>YR,network_socket_send:()=>PR,network_socket_send_to:()=>vR,network_stop:()=>RR,network_wifi_connect:()=>ER,ntptime_address:()=>BR,ntptime_time:()=>VR,requests_attribute:()=>yR,requests_attribute2:()=>kR,requests_get:()=>xR,requests_get2:()=>UR,requests_method:()=>bR,requests_post:()=>wR});var U={};t.r(U),t.d(U,{CI130X_BROADCAST:()=>Rc,CI130X_GET_THE_RECOGNIZED_CMD:()=>Oc,CI130X_GET_WHETHER_IDENTIFY:()=>Ec,CI130X_IDENTIFY_AND_SAVE:()=>mc,CI130X_SET_SYSTEM_CMD:()=>cc,HCSR04:()=>ug,PS2_Button:()=>Ig,PS2_Buttons:()=>Mg,PS2_Buttons_new:()=>Og,PS2_State:()=>Tg,PS2_init:()=>rg,PS2_init_new:()=>mg,PS2_stk:()=>hg,PS2_stk_new:()=>Rg,PS2_vibration:()=>lg,PS2_vibration_new:()=>Eg,camera_sensor_init:()=>zg,camera_sensor_result:()=>jg,column_tube_foot:()=>iC,define_keyboards:()=>nC,educore_body_sensor:()=>Gg,educore_button_sensor_extern:()=>Hg,educore_camera_sensor:()=>qg,educore_infrared_sensor:()=>kg,educore_soilhum_sensor:()=>Ug,educore_temp_sensor:()=>Qg,educore_temphum_sensor:()=>wg,educore_ultrasonic_sensor:()=>Kg,esp32_s2_weather_init:()=>_g,esp32_s2_weather_rain:()=>pg,esp32_s2_weather_wd:()=>og,esp32_s2_weather_ws:()=>ag,extern_rfid_read:()=>Wc,extern_rfid_readcontent:()=>Jc,extern_rfid_readid:()=>Kc,extern_rfid_status:()=>zc,extern_rfid_write:()=>Qc,extern_rfid_write_return:()=>qc,get_keboards_value:()=>sC,gnss_get_data:()=>Sg,gnss_have_data:()=>Cg,init_init_rotary_encoder:()=>_C,init_matrix_keyboard:()=>tC,interaction_whether_to_interaction:()=>Mc,interaction_whether_to_interaction_SANT:()=>hc,line_tube_foot:()=>eC,mixbot_sensor_extern_get_addr:()=>Yg,mixbot_sensor_extern_set_addr:()=>vg,pm25_get_data:()=>gg,radar_set_DETECTION_THRESHOLD:()=>Ic,radar_set_DETECTION_THRESHOLD_SANT:()=>Tc,robot_button_extern_get_value:()=>Lg,robot_color_extern_get_value:()=>Pg,robot_infrared_extern_get_value:()=>Dg,robot_infrared_extern_grey_get_value:()=>fg,robot_potentiometer_extern_get_value:()=>Fg,robot_sonar_extern_get_value:()=>Xg,robot_sonar_extern_led:()=>xg,robot_touch_extern_get_value:()=>Ng,rotary_key:()=>oC,sensor_APDS9960_extern:()=>Cc,sensor_DS18X20:()=>rc,sensor_LTR308_extern:()=>Sc,sensor_LTR390UV_extern:()=>Nc,sensor_MAX30102_extern:()=>gc,sensor_QMC5883L_extern:()=>xc,sensor_VL530LX_extern:()=>Dc,sensor_adxl345_get_acceleration:()=>ic,sensor_aht11_extern:()=>Fc,sensor_bmp:()=>ac,sensor_compass_reset:()=>kc,sensor_dht11:()=>sc,sensor_hp203_extern:()=>Pc,sensor_light_level:()=>nc,sensor_lm35:()=>dc,sensor_ltr381_extern:()=>Ac,sensor_mixgo_extern_button_attachInterrupt:()=>tc,sensor_mixgo_extern_button_get_presses:()=>ZR,sensor_mixgo_extern_button_is_pressed:()=>jR,sensor_mixgo_extern_button_was_pressed:()=>$R,sensor_mixgo_extern_light:()=>_c,sensor_mixgo_extern_pin_near:()=>pc,sensor_mixgo_extern_sound:()=>oc,sensor_mixgoce_hot_wheel_degrees:()=>sg,sensor_mixgoce_hot_wheel_is_touched:()=>ng,sensor_mpu9250_attachGestureInterrupt:()=>ec,sensor_mpu9250_calibrate_compass:()=>Gc,sensor_mpu9250_field_strength:()=>wc,sensor_mpu9250_gesture:()=>yc,sensor_mpu9250_get_acceleration:()=>bc,sensor_mpu9250_get_gyro:()=>Bc,sensor_mpu9250_get_magnetic:()=>Vc,sensor_mpu9250_temperature:()=>Uc,sensor_ms5611_extern:()=>vc,sensor_ms5611_extern_altitude:()=>Xc,sensor_read_humiture:()=>Wg,sensor_sht:()=>uc,sensor_shtc3_extern:()=>fc,sensor_spl06_001_extern:()=>Yc,sensor_ucs12071_extern:()=>Lc,sensor_use_i2c_init:()=>lc,sensor_use_spi_init:()=>Hc,sensor_use_uart_init:()=>cg,sensor_weather_solo_init:()=>yg,sensor_weather_solo_rain:()=>Bg,sensor_weather_solo_wd:()=>bg,sensor_weather_solo_ws:()=>Vg,sensor_weigh_init:()=>$g,tvoc_get_data:()=>Ag,ultrasonic_sensor_read_distance:()=>Jg,weather_data:()=>jc,weather_have_data:()=>$c,weather_set_label:()=>tg,weather_set_label_container:()=>eg,weather_set_label_item:()=>ig,weather_uart_mixio:()=>Zc,weigh_sensor_get_weight:()=>Zg});var w={};t.r(w),t.d(w,{HCSR04:()=>CC,RTC_set_date:()=>gC,RTC_set_time:()=>cC,bitbot_als_num:()=>YS,dht11:()=>BS,educore_button_sensor:()=>QS,educore_button_was_pressed:()=>qS,educore_gyroscope_sensor:()=>WS,educore_gyroscope_sensor_read:()=>KS,educore_gyroscope_sensor_shake:()=>JS,educore_light_sensor:()=>HS,educore_rfid_sensor:()=>zS,educore_rfid_sensor_scan:()=>jS,educore_rfid_sensor_scan_data:()=>$S,educore_voice_sensor:()=>wS,number1:()=>AC,number2:()=>LC,number3:()=>NC,number4:()=>DC,number5:()=>fC,number6:()=>FC,number7:()=>PC,onboard_RTC_get_time:()=>BC,onboard_RTC_get_time_str:()=>WC,onboard_RTC_get_timestamp:()=>GC,onboard_RTC_get_timetuple_to_str:()=>KC,onboard_RTC_set_datetime:()=>kC,onboard_RTC_settime_string:()=>wC,onboard_RTC_timestamp_totuple:()=>UC,rfid_readcontent:()=>ZC,rfid_readid:()=>$C,rfid_status:()=>iS,rfid_write:()=>tS,rfid_write_return:()=>eS,sensor_LTR308:()=>JC,sensor_aht11:()=>qC,sensor_bitbot_ALS:()=>PS,sensor_button_get_presses:()=>xS,sensor_button_is_pressed:()=>vS,sensor_button_was_pressed:()=>XS,sensor_distance_hrsc04:()=>RC,sensor_eulerangles:()=>sS,sensor_field_strength:()=>GS,sensor_get_acceleration:()=>nS,sensor_get_temperature:()=>zC,sensor_get_the_coprocessor_version:()=>ZS,sensor_hp203:()=>jC,sensor_light:()=>VS,sensor_mixbot_get_gyro:()=>FS,sensor_mixbot_patrol_calibrate:()=>NS,sensor_mixbot_patrol_value:()=>DS,sensor_mixbot_temperature:()=>fS,sensor_mixgo_LTR308:()=>bC,sensor_mixgo_button_attachInterrupt:()=>dC,sensor_mixgo_button_get_presses:()=>rC,sensor_mixgo_button_is_pressed:()=>aC,sensor_mixgo_button_was_pressed:()=>uC,sensor_mixgo_cc_mmc5603_calibrate_compass:()=>MS,sensor_mixgo_cc_mmc5603_get_angle:()=>TS,sensor_mixgo_cc_mmc5603_get_magnetic:()=>IS,sensor_mixgo_light:()=>SC,sensor_mixgo_nova_LTR308:()=>yC,sensor_mixgo_nova_pin_near:()=>xC,sensor_mixgo_pin_near:()=>XC,sensor_mixgo_pin_near_double:()=>vC,sensor_mixgo_pin_near_single:()=>YC,sensor_mixgo_pin_pressed:()=>hC,sensor_mixgo_sant_color:()=>VC,sensor_mixgo_touch_slide:()=>OC,sensor_mixgocar42_button_attachInterrupt:()=>MC,sensor_mixgocar42_button_get_presses:()=>TC,sensor_mixgocar42_button_is_pressed:()=>lC,sensor_mixgocar42_button_was_pressed:()=>IC,sensor_mixgocar_battery_left:()=>LS,sensor_mixgocar_pin_near:()=>SS,sensor_mixgocar_pin_near_line:()=>CS,sensor_mixgocar_pin_near_state_change:()=>AS,sensor_mixgoce_pin_pressed:()=>mC,sensor_mixgoce_temperature:()=>mS,sensor_mixgome_temperature:()=>hS,sensor_mpython_pin_pressed:()=>EC,sensor_mpython_qmi8658_get_gyro:()=>ES,sensor_mpython_qmi8658_temperature:()=>OS,sensor_onboard_compass_reset:()=>lS,sensor_onboard_mpu9250_calibrate_compass:()=>uS,sensor_onboard_mpu9250_field_strength:()=>dS,sensor_onboard_mpu9250_gesture:()=>_S,sensor_onboard_mpu9250_get_acceleration:()=>oS,sensor_onboard_mpu9250_get_gyro:()=>aS,sensor_onboard_mpu9250_get_magnetic:()=>pS,sensor_onboard_mpu9250_temperature:()=>rS,sensor_pin_near:()=>bS,sensor_pin_pressed:()=>yS,sensor_read:()=>kS,sensor_rm_acc:()=>gS,sensor_rm_battery_left:()=>cS,sensor_rm_pin_near_double:()=>RS,sensor_rtc_init:()=>HC,sensor_sound:()=>QC,sensor_temperature:()=>US,simulated_light_sensor:()=>tA});var k={};t.r(k),t.d(k,{serial_any:()=>rA,serial_begin:()=>MA,serial_print:()=>_A,serial_print_byte:()=>sA,serial_print_hex:()=>pA,serial_println:()=>oA,serial_read_from_ai:()=>SA,serial_readline:()=>dA,serial_readstr:()=>uA,serial_readstr_until:()=>lA,serial_receive_data_event:()=>aA,serial_send_to_ai:()=>CA,serial_softserial:()=>TA,serial_softserial_new:()=>IA,system_input:()=>hA,system_print:()=>mA,system_print_container:()=>cA,system_print_end:()=>OA,system_print_inline:()=>EA,system_print_item:()=>gA,system_print_many:()=>RA});var H={};t.r(H),t.d(H,{Panic_with_status_code:()=>DA,Timer_init:()=>wA,base_delay:()=>WA,controls_delay:()=>NA,controls_delay_new:()=>LA,controls_millis:()=>FA,controls_uname:()=>YA,raw_block:()=>PA,reset:()=>fA,set_system_timer:()=>bA,system_bitbot_shutdown:()=>UA,system_machine_reset:()=>GA,system_ticks_diff:()=>xA,system_timer:()=>XA,system_timer_init:()=>yA,system_wdt_feed:()=>BA,system_wdt_init:()=>VA,time_ticks_diff:()=>HA,timer:()=>vA,timer2:()=>kA});var W={};t.r(W),t.d(W,{Air_daily_content:()=>_L,Air_now_content:()=>$A,Geo_moon_content:()=>pL,Geo_sun_content:()=>oL,Life_suggestion_content:()=>tL,Location_search_content:()=>iL,Tide_daily_content:()=>eL,WEATHER_DAILY:()=>QA,WEATHER_HOUR:()=>qA,WEATHER_NOW:()=>JA,Weather_alarm_content:()=>ZA,Weather_daily:()=>nL,Weather_daily_content:()=>sL,Weather_now:()=>zA,Weather_now_content:()=>jA});var K={};t.r(K),t.d(K,{PIN_init:()=>uN,actuator_extern_get_led_bright:()=>fL,actuator_extern_get_led_state:()=>FL,actuator_extern_led_bright:()=>DL,actuator_extern_led_brightness:()=>PL,actuator_ms32006_dcmotor:()=>ML,actuator_ms32006_init:()=>TL,actuator_ms32006_stepper:()=>hL,actuator_neopixel_init:()=>YL,actuator_neopixel_rgb:()=>xL,actuator_neopixel_rgb_all:()=>vL,actuator_neopixel_rgb_show_all_chase:()=>yL,actuator_neopixel_rgb_show_all_rainbow:()=>bL,actuator_neopixel_write:()=>XL,actuator_use_uart_init:()=>VL,backstage_esp32_music_play_list:()=>AL,esp32_music_get_tempo_extern:()=>CL,esp32_music_pitch:()=>EL,esp32_music_pitch_init:()=>mL,esp32_music_pitch_with_time:()=>OL,esp32_music_play_list:()=>SL,esp32_music_reset_extern:()=>LL,esp32_music_set_tempo_extern:()=>gL,esp32_music_stop:()=>RL,esp32_set_music_volume:()=>cL,mixbot_actuator_extern_get_addr:()=>pN,mixbot_actuator_extern_set_addr:()=>aN,mixbot_addr_extern:()=>QL,parrot_PIN_init:()=>IN,parrot_move_speed:()=>TN,pin_led_bright:()=>rN,player_play_music:()=>kL,player_set_mode:()=>wL,player_set_play:()=>GL,player_set_volume:()=>UL,player_whether_stop:()=>BL,robot_led_extern:()=>$L,robot_led_extern_get_value:()=>ZL,robot_motor_extern:()=>qL,robot_motor_extern_get_speed:()=>zL,robot_servo_extern_absolute_run:()=>nN,robot_servo_extern_get_status:()=>tN,robot_servo_extern_relative_continue:()=>oN,robot_servo_extern_relative_origin:()=>sN,robot_servo_extern_relative_run:()=>_N,robot_servo_extern_stop:()=>iN,robot_servo_extern_stop_mode:()=>eN,robot_traffic_light_extern:()=>jL,servo_PIN_init:()=>dN,servo_get_angle:()=>lL,servo_get_speed:()=>IL,servo_init:()=>aL,servo_move:()=>NL,servo_move_angle:()=>lN,servo_set_angle:()=>rL,servo_set_speed:()=>dL,servo_speed_360:()=>uL,syn6288_builtin_voice:()=>KL,syn6288_get_voice:()=>WL,syn6288_set_voice:()=>HL,syn6288_tts_play:()=>JL});var J={};t.r(J),t.d(J,{actuator_dc_motor:()=>kN,actuator_dc_motor_stop:()=>HN,actuator_get_led_bright:()=>LN,actuator_get_led_state:()=>NN,actuator_led_bright:()=>AN,actuator_led_brightness:()=>DN,actuator_mixbot_buzzer_on_off:()=>qN,actuator_mixgo_nova_mic_get:()=>tD,actuator_mixgo_nova_mic_set:()=>ZN,actuator_mixgo_nova_onboard_music_pitch:()=>oD,actuator_mixgo_nova_onboard_music_stop:()=>pD,actuator_mixgo_nova_play_audio:()=>sD,actuator_mixgo_nova_play_online_audio:()=>_D,actuator_mixgo_nova_record_audio:()=>nD,actuator_mixgo_nova_voice_get:()=>iD,actuator_mixgo_nova_voice_set:()=>eD,actuator_mixgo_zero_led_color:()=>fN,actuator_onboard_neopixel_rgb:()=>yN,actuator_onboard_neopixel_rgb_all:()=>bN,actuator_onboard_neopixel_rgb_show_all_chase:()=>VN,actuator_onboard_neopixel_rgb_show_all_rainbow:()=>BN,actuator_onboard_neopixel_write:()=>xN,actuator_stepper_keep:()=>UN,actuator_stepper_stop:()=>wN,analog_ble_keyboard_init:()=>ED,analog_ble_keyboard_input:()=>cD,analog_ble_keyboard_mouse_init:()=>fD,analog_ble_keyboard_mouse_input:()=>vD,analog_ble_keyboard_mouse_send_battery:()=>YD,analog_ble_keyboard_mouse_str:()=>XD,analog_ble_keyboard_send_battery:()=>CD,analog_ble_keyboard_str:()=>gD,analog_ble_mouse_init:()=>SD,analog_ble_mouse_input:()=>ND,analog_ble_mouse_keyboard_input:()=>xD,analog_ble_mouse_send_battery:()=>DD,analog_keyboard_input:()=>dD,analog_keyboard_str:()=>hD,analog_mouse_input:()=>TD,backstage_onboard_music_play_list:()=>cN,bitbot_motor:()=>$N,bitbot_move:()=>zN,bitbot_stop:()=>jN,ble_keyboard_connect:()=>RD,ble_keyboard_get_mac:()=>OD,ble_keyboard_mouse_connect:()=>PD,ble_keyboard_mouse_get_mac:()=>FD,ble_mouse_connect:()=>LD,ble_mouse_get_mac:()=>AD,cc_number:()=>FN,educore_ble_keyboard_input:()=>WD,educore_ble_sensor_connected:()=>HD,educore_ble_sensor_init:()=>kD,educore_buzzer:()=>yD,educore_buzzer_play_tone:()=>bD,educore_buzzer_play_tone_time:()=>VD,educore_buzzer_stop:()=>BD,educore_neopixel_clear:()=>wD,educore_neopixel_rgb:()=>UD,educore_rgb_light:()=>GD,esp32_music_get_tempo:()=>hN,esp32_music_reset:()=>gN,esp32_music_set_tempo:()=>MN,esp32_onboard_music_pitch:()=>mN,esp32_onboard_music_pitch_with_time:()=>EN,esp32_onboard_music_play_list:()=>RN,esp32_onboard_music_stop:()=>ON,general_key:()=>ID,general_key_tuple:()=>mD,get_keyboard_light:()=>KD,get_power_output:()=>uD,ledswitch:()=>SN,mixbot_motor:()=>QN,mixbot_motor_status:()=>WN,mixbot_move:()=>KN,mixbot_stop:()=>JN,mouse_key:()=>MD,number:()=>CN,record_audio:()=>QD,rm_actuator_get_led_bright:()=>YN,rm_actuator_get_led_state:()=>vN,rm_actuator_led_bright:()=>PN,rm_actuator_led_brightness:()=>XN,rm_motor:()=>GN,set_all_power_output:()=>rD,set_microphone_amplification:()=>JD,set_music_volume:()=>qD,set_power_output:()=>aD,special_key:()=>lD});var Q={};t.r(Q),t.d(Q,{ai_sensor_20object:()=>ff,ai_sensor_ailocal_class:()=>Ef,ai_sensor_ailocal_class_result:()=>Of,ai_sensor_ailocal_train:()=>mf,ai_sensor_asr_recognize:()=>Sf,ai_sensor_audio_play:()=>cf,ai_sensor_audio_record:()=>Rf,ai_sensor_barcode:()=>nf,ai_sensor_circle:()=>uf,ai_sensor_classifier_faces:()=>Df,ai_sensor_color:()=>If,ai_sensor_color_chases:()=>hf,ai_sensor_color_chases_result:()=>Mf,ai_sensor_config:()=>$D,ai_sensor_face:()=>Nf,ai_sensor_find_20objects:()=>Ff,ai_sensor_find_barcodes:()=>sf,ai_sensor_find_circles:()=>rf,ai_sensor_find_colors:()=>Tf,ai_sensor_find_licenseplates:()=>Lf,ai_sensor_find_lines:()=>af,ai_sensor_find_qrcodes:()=>ef,ai_sensor_find_rects:()=>lf,ai_sensor_find_tags:()=>of,ai_sensor_licenseplate:()=>Af,ai_sensor_line:()=>pf,ai_sensor_qrcode:()=>tf,ai_sensor_qrcode_lite:()=>jD,ai_sensor_rect:()=>df,ai_sensor_rgb:()=>ZD,ai_sensor_tag:()=>_f,ai_sensor_use_uart_init:()=>zD,ai_sensor_yolo_recognize:()=>gf,ai_sensor_yolo_recognize_result:()=>Cf});var q={};t.r(q),t.d(q,{MICROPYTHON_AI_Speech_asr:()=>vf,MICROPYTHON_AI_Speech_unit:()=>Yf,MICROPYTHON_AI_client:()=>Pf});var z={};t.r(z),t.d(z,{mpython_blynk_app_data:()=>Wf,mpython_blynk_app_notify:()=>Gf,mpython_blynk_email:()=>Kf,mpython_blynk_get_timers:()=>wf,mpython_blynk_on_connected:()=>bf,mpython_blynk_on_disconnected:()=>yf,mpython_blynk_run:()=>Bf,mpython_blynk_sensor_data_to_app:()=>Hf,mpython_blynk_set_property:()=>Jf,mpython_blynk_setup:()=>Qf,mpython_blynk_stop_timers:()=>Uf,mpython_blynk_sync_virtual:()=>xf,mpython_blynk_terminal_widget_vpin:()=>Xf,mpython_blynktimer:()=>kf,mpython_blynktimer_run:()=>Vf});var j={};t.r(j),t.d(j,{cc_g1_read_bat:()=>qf,cc_g1_read_joystick:()=>zf,cc_g1_read_key:()=>jf,cc_g1_turnoff:()=>$f});var $={};t.r($),t.d($,{ce_go_dc_motor:()=>oF,ce_go_get_led_bright:()=>eF,ce_go_get_led_state:()=>iF,ce_go_hall_attachInterrupt:()=>pF,ce_go_hall_data:()=>uF,ce_go_hall_initialize:()=>aF,ce_go_led_bright:()=>tF,ce_go_led_brightness:()=>nF,ce_go_light_number:()=>Zf,ce_go_pin_light:()=>TF,ce_go_pin_near:()=>dF,ce_go_pin_near_line:()=>rF,ce_go_pin_near_state_change:()=>lF,ce_go_stepper_keep:()=>sF,ce_go_stepper_stop:()=>_F,educore_car:()=>MF,educore_car_pin_near:()=>OF,educore_car_pin_near_line:()=>EF,educore_car_stepper_keep:()=>hF,educore_car_stepper_stop:()=>mF,sensor_mixgome_eulerangles:()=>IF});var Z={};t.r(Z),t.d(Z,{communicate_bluetooth_central_init:()=>tP,communicate_bluetooth_connect:()=>nP,communicate_bluetooth_disconnect:()=>sP,communicate_bluetooth_handle:()=>rP,communicate_bluetooth_is_connected:()=>oP,communicate_bluetooth_mac:()=>_P,communicate_bluetooth_peripheral_init:()=>eP,communicate_bluetooth_recv:()=>uP,communicate_bluetooth_recv_only:()=>aP,communicate_bluetooth_scan:()=>iP,communicate_bluetooth_send:()=>pP,communicate_espnow_init:()=>dP,communicate_espnow_init_new:()=>lP,communicate_i2c_available:()=>NF,communicate_i2c_init:()=>gF,communicate_i2c_master_read:()=>LF,communicate_i2c_onboard:()=>RF,communicate_i2c_read:()=>CF,communicate_i2c_scan:()=>AF,communicate_i2c_write:()=>SF,communicate_ir_recv_init:()=>HF,communicate_ir_send_init:()=>qF,communicate_ow_init:()=>VF,communicate_ow_read:()=>UF,communicate_ow_reset:()=>GF,communicate_ow_scan:()=>BF,communicate_ow_select:()=>kF,communicate_ow_write:()=>wF,communicate_spi_buffer:()=>PF,communicate_spi_init:()=>fF,communicate_spi_onboard:()=>cF,communicate_spi_read:()=>YF,communicate_spi_read_output:()=>vF,communicate_spi_readinto:()=>XF,communicate_spi_readinto_output:()=>xF,communicate_spi_set:()=>FF,communicate_spi_write:()=>yF,communicate_spi_write_readinto:()=>bF,espnow_radio_channel:()=>EP,espnow_radio_channel_new:()=>RP,espnow_radio_on_off:()=>cP,espnow_radio_rec:()=>CP,espnow_radio_recv:()=>AP,espnow_radio_recv_certain_msg:()=>LP,espnow_radio_recv_certain_msg_new:()=>DP,espnow_radio_recv_msg:()=>SP,espnow_radio_recv_new:()=>NP,espnow_radio_send:()=>gP,espnow_radio_txpower:()=>OP,i2c_slave_onreceive:()=>DF,internal_variable:()=>WF,ir_recv_timeout:()=>QF,ir_transmit_busy:()=>ZF,ir_transmit_conventional_data:()=>zF,ir_transmit_raw_code:()=>$F,ir_transmit_study_code:()=>jF,ir_whether_recv:()=>JF,lora_init:()=>fP,lora_packet:()=>FP,lora_recv:()=>YP,lora_send:()=>PP,network_espnow_info:()=>TP,network_espnow_mac:()=>IP,network_espnow_recv:()=>MP,network_espnow_recv_handle:()=>mP,network_espnow_send:()=>hP,recv_fun:()=>KF,urequests_attribute:()=>XP,urequests_get:()=>vP,urequests_method:()=>xP});var tt={};t.r(tt),t.d(tt,{display_animate:()=>oY,display_circle:()=>pY,display_color_seclet:()=>EY,display_draw_4strings:()=>ZP,display_fill:()=>_Y,display_lcd_use_i2c_init:()=>SY,display_line:()=>iY,display_line_arbitrarily:()=>tY,display_matrix_extern_bright_point:()=>KP,display_matrix_extern_bright_screen:()=>QP,display_matrix_extern_clear:()=>kP,display_matrix_extern_get_pixel:()=>WP,display_matrix_extern_get_screen_pixel:()=>JP,display_matrix_extern_image_builtins:()=>qP,display_matrix_extern_scroll_string:()=>UP,display_matrix_extern_scroll_string_delay:()=>wP,display_matrix_extern_shift:()=>HP,display_matrix_extern_show_frame_string:()=>BP,display_matrix_extern_show_frame_string_delay:()=>GP,display_matrix_extern_show_image:()=>bP,display_matrix_extern_show_image_or_string_delay:()=>VP,display_matrix_use_i2c_init:()=>yP,display_oled_drawPixel:()=>rY,display_oled_showBitmap:()=>uY,display_oled_use_i2c_init:()=>fY,display_onoff:()=>nY,display_rect:()=>eY,display_tm1650_power:()=>lY,display_tm1650_set_brightness:()=>MY,display_tm1650_show_dot:()=>TY,display_tm1650_show_num:()=>IY,display_tm_use_i2c_init:()=>dY,display_triangle:()=>aY,display_use_i2c_init:()=>$P,extern_oled_bright_point:()=>UY,extern_oled_clear:()=>VY,extern_oled_get_pixel:()=>GY,extern_oled_hvline:()=>kY,extern_oled_line:()=>HY,extern_oled_scroll_string:()=>yY,extern_oled_scroll_string_delay:()=>bY,extern_oled_shape_rect:()=>wY,extern_oled_shift:()=>BY,extern_oled_show_frame_string:()=>XY,extern_oled_show_frame_string_delay:()=>xY,extern_oled_show_image:()=>FY,extern_oled_show_image_or_string_delay:()=>vY,extern_oled_show_image_xy:()=>PY,extern_oled_show_string:()=>YY,image_shift:()=>sY,lcd_backlight:()=>NY,lcd_clear:()=>DY,lcd_print_string:()=>LY,lcd_show_image_or_string_delay:()=>AY,matrix_extern_image_arithmetic:()=>zP,matrix_extern_image_invert:()=>jP,tft_fill:()=>gY,tft_line_arbitrarily:()=>CY,tft_scroll_string_delay:()=>cY,tft_show_frame_string_delay:()=>RY,tft_show_image_or_string_delay:()=>OY,tft_show_image_xy:()=>mY,tft_use_spi_init:()=>hY});var et={};t.r(et),t.d(et,{bitbot_display_bitmap_create:()=>bv,bitbot_display_image_create:()=>yv,display_available:()=>sv,display_bitmap_create:()=>iv,display_bright_point:()=>uv,display_bright_screen:()=>dv,display_clear:()=>nv,display_get_pixel:()=>av,display_get_screen_pixel:()=>rv,display_image_builtins:()=>ZY,display_image_builtins_all:()=>tv,display_image_create:()=>ev,display_scroll_string:()=>qY,display_scroll_string_delay:()=>zY,display_scroll_way:()=>jY,display_shift:()=>pv,display_show_frame_string:()=>JY,display_show_frame_string_delay:()=>QY,display_show_image:()=>WY,display_show_image_or_string_delay:()=>KY,draw_pointer:()=>tX,image_arithmetic:()=>_v,image_invert:()=>ov,mixbot_display_bitmap_create:()=>Pv,mixbot_display_bright_screen:()=>Xv,mixbot_display_get_ambientbright:()=>vv,mixbot_display_get_screen_pixel:()=>Yv,mixbot_display_image_create:()=>Fv,mixbot_display_rotate:()=>xv,mixgo_display_bitmap_create:()=>Ev,mixgo_display_image_create_new:()=>mv,mixgome_display_bitmap_create:()=>Iv,mixgome_display_font:()=>hv,mixgome_display_image_create:()=>lv,mixgomini_display_bitmap_create:()=>Mv,mixgomini_display_image_create:()=>Tv,mpython_display_hvline:()=>Dv,mpython_display_line:()=>fv,mpython_display_shape_rect:()=>Nv,mpython_pbm_image:()=>Ov,nova_draw_pointer:()=>eX,onboard_oled_bright_point:()=>Lv,onboard_oled_scroll_string_delay:()=>Av,onboard_oled_show_frame_string_delay:()=>Sv,onboard_oled_show_image:()=>Rv,onboard_oled_show_image_or_string_delay:()=>Cv,onboard_oled_show_image_xy:()=>cv,onboard_oled_show_string:()=>gv,onboard_tft_bright_point:()=>Kv,onboard_tft_bright_screen:()=>uX,onboard_tft_clear:()=>rX,onboard_tft_clock_clear:()=>$v,onboard_tft_clock_draw:()=>jv,onboard_tft_clock_get_rtctime:()=>qv,onboard_tft_clock_init:()=>Qv,onboard_tft_clock_set_time:()=>zv,onboard_tft_display_hvline:()=>kv,onboard_tft_display_line:()=>Hv,onboard_tft_display_shape_circle:()=>Zv,onboard_tft_display_shape_rect:()=>wv,onboard_tft_fill:()=>Jv,onboard_tft_get_pixel:()=>Wv,onboard_tft_get_screen_pixel:()=>aX,onboard_tft_scroll_string_delay:()=>$Y,onboard_tft_shift:()=>pX,onboard_tft_show_frame_string:()=>oX,onboard_tft_show_frame_string_delay:()=>Uv,onboard_tft_show_image:()=>_X,onboard_tft_show_image_or_string_delay:()=>Gv,onboard_tft_show_image_xy:()=>Vv,onboard_tft_show_image_xy_direct:()=>Bv,onboard_tft_show_qrcode:()=>nX,onboard_tft_show_qrcode_details:()=>sX,onboard_tft_show_texts:()=>iX});var it={};t.r(it),t.d(it,{factory_block:()=>EX,factory_block_return:()=>OX,factory_block_return_with_textarea:()=>cX,factory_block_with_textarea:()=>RX,factory_callMethod_noreturn:()=>hX,factory_callMethod_return:()=>mX,factory_declare:()=>MX,factory_from_import:()=>dX,factory_function_noreturn:()=>IX,factory_function_return:()=>TX,factory_import:()=>lX,folding_block:()=>gX});var nt={};t.r(nt),t.d(nt,{inout_analog_atten:()=>bX,inout_analog_read:()=>FX,inout_analog_read_init:()=>yX,inout_analog_write:()=>NX,inout_analog_write_init:()=>xX,inout_analog_write_set:()=>DX,inout_digital_init:()=>vX,inout_digital_read:()=>AX,inout_digital_write:()=>SX,inout_highlow:()=>CX,inout_pin_attachInterrupt:()=>YX,inout_pin_pressed:()=>PX,inout_pin_pressed_init:()=>VX,inout_pwm_analog_write:()=>LX,inout_pwm_analog_write_init:()=>XX,inout_pwm_analog_write_set_freq:()=>fX});var st={};t.r(st),t.d(st,{IOT_CONNECT_OLLAMA:()=>Ix,IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>sx,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>ix,IOT_EMQX_PING:()=>_x,IOT_FORMATTING:()=>tx,IOT_FORMAT_STRING:()=>ex,IOT_MIXIO_NTP:()=>ox,IOT_MIXIO_PUBLISH:()=>KX,IOT_MIXIO_PUBLISHEX:()=>JX,IOT_MIXIO_SUBSCRIBE:()=>QX,iot_client_onboard:()=>px,iot_connect_ollama:()=>lx,iot_connect_openai:()=>Tx,iot_http_client:()=>ax,iot_http_data:()=>ux,iot_mixio_check:()=>jX,iot_mixio_connect:()=>WX,iot_mixio_connect_only:()=>zX,iot_mixio_disconnect:()=>qX,iot_mixio_format_msg:()=>ZX,iot_mixio_format_topic:()=>$X,iot_mixly_key:()=>nx,iot_mqtt_client:()=>rx,iot_mqtt_data:()=>dx,iot_onenet_check:()=>kX,iot_onenet_connect:()=>GX,iot_onenet_disconnect:()=>UX,iot_onenet_publish:()=>HX,iot_onenet_publish_dict:()=>wX,iot_tiny_web_db_count:()=>gx,iot_tiny_web_db_delete:()=>Sx,iot_tiny_web_db_get:()=>cx,iot_tiny_web_db_init:()=>Ex,iot_tiny_web_db_init_with_mqtt:()=>Ox,iot_tiny_web_db_search:()=>Cx,iot_tiny_web_db_update:()=>Rx,iot_wifi_connect:()=>BX,ollama_empty_history:()=>mx,use_ollama_llm_to_chat:()=>Mx,use_ollama_llm_to_chat_return:()=>hx});var _t={};t.r(_t),t.d(_t,{educore_mqtt_connect:()=>iy,educore_mqtt_connect_success:()=>oy,educore_mqtt_subscribe_message:()=>ny,educore_mqtt_topic_publish:()=>_y,educore_mqtt_topic_subscribe:()=>sy,educore_wifi_connect:()=>ey,network_ap_connect:()=>vx,network_connect:()=>Lx,network_get_connect:()=>Dx,network_get_wifi:()=>Yx,network_init:()=>Ax,network_is_active:()=>Px,network_open:()=>Fx,network_scan:()=>Xx,network_server:()=>xx,network_socket_accept:()=>Gx,network_socket_bind:()=>bx,network_socket_close:()=>Kx,network_socket_connect:()=>Vx,network_socket_init:()=>yx,network_socket_listen:()=>Bx,network_socket_readline:()=>Ux,network_socket_receive:()=>wx,network_socket_receive_from:()=>Hx,network_socket_send:()=>kx,network_socket_send_to:()=>Wx,network_stop:()=>fx,network_wifi_connect:()=>Nx,ntptime_address:()=>jx,ntptime_time:()=>zx,requests_attribute:()=>Qx,requests_attribute2:()=>Zx,requests_get:()=>Jx,requests_get2:()=>$x,requests_method:()=>qx,requests_post:()=>ty});var ot={};t.r(ot),t.d(ot,{CI130X_BROADCAST:()=>fy,CI130X_GET_THE_RECOGNIZED_CMD:()=>Dy,CI130X_GET_WHETHER_IDENTIFY:()=>Ny,CI130X_IDENTIFY_AND_SAVE:()=>Ly,CI130X_SET_SYSTEM_CMD:()=>Fy,HCSR04:()=>ab,PS2_Button:()=>db,PS2_Buttons:()=>lb,PS2_Buttons_new:()=>Rb,PS2_State:()=>Ib,PS2_init:()=>ub,PS2_init_new:()=>Eb,PS2_stk:()=>Tb,PS2_stk_new:()=>cb,PS2_vibration:()=>rb,PS2_vibration_new:()=>Ob,RTC_get_time:()=>hb,RTC_set_date:()=>Ty,RTC_set_datetime:()=>Mb,RTC_set_time:()=>Iy,camera_sensor_init:()=>$b,camera_sensor_result:()=>Zb,column_tube_foot:()=>nV,define_keyboards:()=>sV,educore_body_sensor:()=>wb,educore_button_sensor_extern:()=>Kb,educore_camera_sensor:()=>jb,educore_infrared_sensor:()=>Wb,educore_soilhum_sensor:()=>kb,educore_temp_sensor:()=>zb,educore_temphum_sensor:()=>Hb,educore_ultrasonic_sensor:()=>Qb,esp32_s2_weather_init:()=>sb,esp32_s2_weather_rain:()=>ob,esp32_s2_weather_wd:()=>_b,esp32_s2_weather_ws:()=>pb,extern_rfid_read:()=>Ky,extern_rfid_readcontent:()=>Qy,extern_rfid_readid:()=>Jy,extern_rfid_status:()=>jy,extern_rfid_write:()=>qy,extern_rfid_write_return:()=>zy,get_keboards_value:()=>oV,gnss_get_data:()=>Sb,gnss_have_data:()=>Ab,init_init_rotary_encoder:()=>pV,init_matrix_keyboard:()=>_V,interaction_whether_to_interaction:()=>Sy,interaction_whether_to_interaction_SANT:()=>Ay,line_tube_foot:()=>iV,mixbot_sensor_extern_get_addr:()=>xb,mixbot_sensor_extern_set_addr:()=>yb,pm25_get_data:()=>Cb,radar_set_DETECTION_THRESHOLD:()=>gy,radar_set_DETECTION_THRESHOLD_SANT:()=>Cy,robot_button_extern_get_value:()=>Nb,robot_color_extern_get_value:()=>Yb,robot_infrared_extern_get_value:()=>fb,robot_infrared_extern_grey_get_value:()=>Fb,robot_potentiometer_extern_get_value:()=>Pb,robot_sonar_extern_get_value:()=>vb,robot_sonar_extern_led:()=>Xb,robot_touch_extern_get_value:()=>Db,rotary_key:()=>aV,sensor_APDS9960_extern:()=>Yy,sensor_DS18X20:()=>Ub,sensor_LTR308_extern:()=>vy,sensor_LTR390UV_extern:()=>Gy,sensor_MAX30102_extern:()=>Py,sensor_QMC5883L_extern:()=>Uy,sensor_VL530LX_extern:()=>Hy,sensor_aht11_extern:()=>ky,sensor_bmp:()=>Oy,sensor_dht11:()=>mb,sensor_distance_hrsc04:()=>ly,sensor_hp203_extern:()=>Xy,sensor_ltr381_extern:()=>Vy,sensor_mixgo_extern_button_attachInterrupt:()=>ry,sensor_mixgo_extern_button_get_presses:()=>uy,sensor_mixgo_extern_button_is_pressed:()=>py,sensor_mixgo_extern_button_was_pressed:()=>ay,sensor_mixgo_extern_light:()=>My,sensor_mixgo_extern_pin_near:()=>my,sensor_mixgo_extern_sound:()=>hy,sensor_mixgoce_hot_wheel_degrees:()=>nb,sensor_mixgoce_hot_wheel_is_touched:()=>ib,sensor_mpu9250_attachGestureInterrupt:()=>dy,sensor_ms5611_extern:()=>yy,sensor_ms5611_extern_altitude:()=>by,sensor_read_humiture:()=>Jb,sensor_rtc_init:()=>Ey,sensor_sht:()=>Ry,sensor_shtc3_extern:()=>wy,sensor_spl06_001_extern:()=>xy,sensor_ucs12071_extern:()=>By,sensor_use_i2c_init:()=>cy,sensor_use_spi_init:()=>Wy,sensor_use_uart_init:()=>gb,sensor_weather_solo_init:()=>bb,sensor_weather_solo_rain:()=>Gb,sensor_weather_solo_wd:()=>Vb,sensor_weather_solo_ws:()=>Bb,sensor_weigh_init:()=>tV,tvoc_get_data:()=>Lb,ultrasonic_sensor_read_distance:()=>qb,weather_data:()=>$y,weather_have_data:()=>Zy,weather_set_label:()=>eb,weather_uart_mixio:()=>tb,weigh_sensor_get_weight:()=>eV});var pt={};t.r(pt),t.d(pt,{HCSR04:()=>mV,bitbot_als_num:()=>BB,dht11:()=>JB,educore_button_sensor:()=>tG,educore_button_was_pressed:()=>eG,educore_gyroscope_sensor:()=>jB,educore_gyroscope_sensor_read:()=>$B,educore_gyroscope_sensor_shake:()=>ZB,educore_light_sensor:()=>zB,educore_rfid_sensor:()=>iG,educore_rfid_sensor_scan:()=>nG,educore_rfid_sensor_scan_data:()=>sG,educore_voice_sensor:()=>QB,number1:()=>EV,number2:()=>OV,number3:()=>RV,number4:()=>cV,number5:()=>gV,number6:()=>CV,number7:()=>SV,onboard_RTC_get_time:()=>MB,onboard_RTC_get_time_str:()=>EB,onboard_RTC_get_timestamp:()=>hB,onboard_RTC_get_timetuple_to_str:()=>OB,onboard_RTC_set_datetime:()=>IB,onboard_RTC_settime_string:()=>TB,onboard_RTC_timestamp_totuple:()=>mB,rfid_readcontent:()=>GV,rfid_readid:()=>BV,rfid_status:()=>kV,rfid_write:()=>UV,rfid_write_return:()=>wV,sensor_LTR308:()=>XV,sensor_adxl345_get_acceleration:()=>$V,sensor_aht11:()=>bV,sensor_bitbot_ALS:()=>VB,sensor_button_get_presses:()=>wB,sensor_button_is_pressed:()=>GB,sensor_button_was_pressed:()=>UB,sensor_compass_reset:()=>sB,sensor_ds18x20:()=>YV,sensor_eulerangles:()=>WV,sensor_get_acceleration:()=>HV,sensor_get_temperature:()=>VV,sensor_get_the_coprocessor_version:()=>_G,sensor_hp203:()=>yV,sensor_light:()=>KB,sensor_lm35:()=>vV,sensor_mixbot_get_gyro:()=>bB,sensor_mixbot_patrol_calibrate:()=>XB,sensor_mixbot_patrol_value:()=>xB,sensor_mixbot_temperature:()=>yB,sensor_mixgo_LTR308:()=>fV,sensor_mixgo_button_attachInterrupt:()=>lV,sensor_mixgo_button_get_presses:()=>dV,sensor_mixgo_button_is_pressed:()=>uV,sensor_mixgo_button_was_pressed:()=>rV,sensor_mixgo_cc_mmc5603_calibrate_compass:()=>gB,sensor_mixgo_cc_mmc5603_get_angle:()=>cB,sensor_mixgo_cc_mmc5603_get_magnetic:()=>RB,sensor_mixgo_light:()=>WB,sensor_mixgo_nova_LTR308:()=>PV,sensor_mixgo_nova_pin_near:()=>DV,sensor_mixgo_pin_near:()=>NV,sensor_mixgo_pin_near_double:()=>LV,sensor_mixgo_pin_near_single:()=>AV,sensor_mixgo_pin_pressed:()=>zV,sensor_mixgo_sant_color:()=>FV,sensor_mixgo_touch_slide:()=>qV,sensor_mixgocar42_button_attachInterrupt:()=>hV,sensor_mixgocar42_button_get_presses:()=>MV,sensor_mixgocar42_button_is_pressed:()=>IV,sensor_mixgocar42_button_was_pressed:()=>TV,sensor_mixgocar_battery_left:()=>vB,sensor_mixgocar_pin_near:()=>PB,sensor_mixgocar_pin_near_line:()=>FB,sensor_mixgocar_pin_near_state_change:()=>YB,sensor_mixgoce_pin_pressed:()=>QV,sensor_mixgoce_temperature:()=>SB,sensor_mixgome_temperature:()=>CB,sensor_mpu9250_calibrate_compass:()=>eB,sensor_mpu9250_field_strength:()=>nB,sensor_mpu9250_gesture:()=>KV,sensor_mpu9250_get_acceleration:()=>JV,sensor_mpu9250_get_gyro:()=>tB,sensor_mpu9250_get_magnetic:()=>ZV,sensor_mpu9250_temperature:()=>iB,sensor_mpython_pin_pressed:()=>jV,sensor_mpython_qmi8658_get_gyro:()=>AB,sensor_mpython_qmi8658_temperature:()=>LB,sensor_onboard_compass_reset:()=>lB,sensor_onboard_mpu9250_calibrate_compass:()=>uB,sensor_onboard_mpu9250_field_strength:()=>dB,sensor_onboard_mpu9250_gesture:()=>_B,sensor_onboard_mpu9250_get_acceleration:()=>oB,sensor_onboard_mpu9250_get_gyro:()=>aB,sensor_onboard_mpu9250_get_magnetic:()=>pB,sensor_onboard_mpu9250_temperature:()=>rB,sensor_pin_near:()=>HB,sensor_pin_pressed:()=>kB,sensor_read:()=>qB,sensor_rm_acc:()=>fB,sensor_rm_battery_left:()=>DB,sensor_rm_pin_near_double:()=>NB,sensor_sound:()=>xV,simulated_light_sensor:()=>oG});var at={};t.r(at),t.d(at,{serial_any:()=>dG,serial_print:()=>pG,serial_print_byte:()=>aG,serial_print_hex:()=>rG,serial_println:()=>uG,serial_read_from_ai:()=>gG,serial_readline:()=>IG,serial_readstr:()=>lG,serial_send_to_ai:()=>cG,serial_softserial:()=>TG,serial_softserial_new:()=>MG,system_input:()=>hG,system_print:()=>mG,system_print_end:()=>OG,system_print_inline:()=>EG,system_print_many:()=>RG});var ut={};t.r(ut),t.d(ut,{Panic_with_status_code:()=>XG,Timer_init:()=>zG,base_delay:()=>ZG,controls_delay:()=>BG,controls_delay_new:()=>GG,controls_end_program:()=>yG,controls_millis:()=>xG,controls_uname:()=>VG,reset:()=>bG,set_system_timer:()=>wG,system_bitbot_shutdown:()=>qG,system_device_name:()=>YG,system_device_serial_number:()=>vG,system_event_bus_source:()=>FG,system_event_bus_value:()=>PG,system_machine_reset:()=>QG,system_on_event:()=>NG,system_raise_event:()=>LG,system_reset:()=>SG,system_run_in_background:()=>CG,system_ticks_diff:()=>kG,system_timer:()=>WG,system_timer_init:()=>HG,system_timestamp:()=>DG,system_value:()=>fG,system_wait:()=>AG,system_wdt_feed:()=>JG,system_wdt_init:()=>KG,time_ticks_diff:()=>$G,timer:()=>UG,timer2:()=>jG});var rt={};t.r(rt),t.d(rt,{Air_daily_content:()=>lU,Air_now_content:()=>_U,Geo_moon_content:()=>TU,Geo_sun_content:()=>IU,Life_suggestion_content:()=>pU,Location_search_content:()=>uU,Tide_daily_content:()=>aU,WEATHER_DAILY:()=>eU,WEATHER_HOUR:()=>iU,WEATHER_NOW:()=>tU,Weather_alarm_content:()=>oU,Weather_daily:()=>rU,Weather_daily_content:()=>dU,Weather_now:()=>nU,Weather_now_content:()=>sU});var dt={};t.r(dt),t.d(dt,{MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED:()=>mU});var lt={};t.r(lt),t.d(lt,{MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED:()=>OU});var It={};t.r(It),t.d(It,{MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED:()=>cU});var Tt={};t.r(Tt),t.d(Tt,{controls_pin_attachInterrupt:()=>UU,inout_analog_atten:()=>PU,inout_analog_write:()=>fU,inout_analog_write_init:()=>xU,inout_analog_write_set:()=>FU,inout_analog_write_set_freq:()=>bU,inout_digital_init:()=>XU,inout_digital_read:()=>DU,inout_digital_write:()=>NU,inout_highlow:()=>LU,inout_pinMode:()=>VU,inout_pin_attachInterrupt:()=>vU,inout_pin_pressed:()=>YU,inout_pin_pressed_init:()=>yU,pin_pressed:()=>GU,pin_pressed_init:()=>BU});var Mt={};t.r(Mt),t.d(Mt,{me_g1_aht11:()=>kU,me_g1_hp203:()=>HU,me_g1_rfid_readcontent:()=>JU,me_g1_rfid_readid:()=>KU,me_g1_rfid_status:()=>zU,me_g1_rfid_write:()=>QU,me_g1_rfid_write_outcome:()=>qU,me_g1_varistor:()=>WU});var ht={};t.r(ht),t.d(ht,{analog_input:()=>_w,analog_output:()=>pw,espnow_channel:()=>iw,haskylens_model:()=>nw,i2c_A_pin:()=>aw,i2c_B_pin:()=>uw,pins_analog:()=>Tw,pins_analog_pin:()=>Mw,pins_axis:()=>Yw,pins_brightness:()=>vw,pins_builtinimg:()=>Aw,pins_builtinimg_extern:()=>Lw,pins_button:()=>Ew,pins_buttonB:()=>Ow,pins_dac:()=>hw,pins_dac_pin:()=>mw,pins_digital:()=>$U,pins_digital_dot:()=>Uw,pins_digital_pin:()=>ZU,pins_exlcdh:()=>Fw,pins_exlcdv:()=>Pw,pins_imglist:()=>Nw,pins_input_pin:()=>tw,pins_one_more:()=>Gw,pins_output_pin:()=>ew,pins_playlist:()=>Dw,pins_playlist_extern:()=>fw,pins_pwm:()=>Rw,pins_pwm_pin:()=>cw,pins_radio_datarate:()=>Bw,pins_radio_power:()=>Vw,pins_serial:()=>Sw,pins_tone_notes:()=>bw,pins_touch:()=>Cw,pins_touch_pin:()=>gw,pins_tts_bgmusic:()=>yw,pins_tts_builtin_music:()=>xw,pins_tts_voice:()=>Xw,pwm_input:()=>sw,pwm_output:()=>ow,spi_A_pin:()=>rw,spi_B_pin:()=>dw,spi_C_pin:()=>lw,spi_D_pin:()=>Iw,timer_id_pin:()=>ww});var mt={};t.r(mt),t.d(mt,{inout_analog_atten:()=>$w,inout_analog_write:()=>Kw,inout_analog_write_init:()=>jw,inout_analog_write_set:()=>Jw,inout_digital_init:()=>zw,inout_digital_read:()=>Ww,inout_digital_write:()=>Hw,inout_highlow:()=>kw,inout_pin_attachInterrupt:()=>qw,inout_pin_pressed:()=>Qw,inout_pin_pressed_init:()=>Zw});var Et={};t.r(Et),t.d(Et,{me_g1_aht11:()=>tk,me_g1_hp203:()=>ek,me_g1_rfid_readcontent:()=>sk,me_g1_rfid_readid:()=>nk,me_g1_rfid_status:()=>pk,me_g1_rfid_write:()=>_k,me_g1_rfid_write_outcome:()=>ok,me_g1_varistor:()=>ik});var Ot={};t.r(Ot),t.d(Ot,{analog_input:()=>mk,analog_output:()=>Ok,espnow_channel:()=>Mk,haskylens_model:()=>hk,i2c_A_pin:()=>Rk,i2c_B_pin:()=>ck,pins_analog:()=>Nk,pins_analog_pin:()=>Lk,pins_axis:()=>Uk,pins_brightness:()=>Hk,pins_builtinimg:()=>yk,pins_builtinimg_extern:()=>bk,pins_button:()=>uk,pins_buttonB:()=>rk,pins_dac:()=>Pk,pins_dac_pin:()=>Fk,pins_digital:()=>ak,pins_digital_dot:()=>$k,pins_digital_pin:()=>dk,pins_exlcdh:()=>wk,pins_exlcdv:()=>kk,pins_imglist:()=>Vk,pins_input_pin:()=>lk,pins_interrupt:()=>Xk,pins_one_more:()=>jk,pins_output_pin:()=>Ik,pins_playlist:()=>Bk,pins_playlist_extern:()=>Gk,pins_pwm:()=>fk,pins_pwm_input:()=>Tk,pins_pwm_pin:()=>Dk,pins_radio_datarate:()=>zk,pins_radio_power:()=>qk,pins_serial:()=>xk,pins_tone_notes:()=>Qk,pins_touch:()=>vk,pins_touch_pin:()=>Yk,pins_tts_bgmusic:()=>Jk,pins_tts_builtin_music:()=>Kk,pins_tts_voice:()=>Wk,pwm_output:()=>Ek,spi_A_pin:()=>gk,spi_B_pin:()=>Ck,spi_C_pin:()=>Sk,spi_D_pin:()=>Ak,timer_id_pin:()=>Zk});const Rt=Blockly,ct=Mixly,gt={NAME_TYPE:"VARIABLE",allVariables:function(t){var e;if(t.getDescendants)e=t.getDescendants();else{if(!t.getAllBlocks)throw"Not Block or Workspace: "+t;e=t.getAllBlocks()}for(var i=Object.create(null),n=0;n1&&(o+=n)):i=o}else i="i";return i}},Ct=gt; -/** - * @license - * Visual Blocks Editor - * - * Copyright 2012 Google Inc. - * https://developers.google.com/blockly/ - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -class St{constructor(t,e){if(this.variablePrefix_=e||"",this.reservedDict_=Object.create(null),t)for(var i=t.split(","),n=0;n0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(Rt.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+s).appendField(Rt.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(Rt.Msg.CONTROLS_IF_MSG_ELSE);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_if_if");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_if_elseif");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var _=t.newBlock("controls_if_else");_.initSvg(),i.connect(_.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],_=null;i;){switch(i.type){case"controls_if_elseif":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_if_else":this.elseCount_++,_=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,_)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_if_elseif":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_if_else":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),_=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(_.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(Rt.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+t).appendField(Rt.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(Rt.Msg.CONTROLS_IF_MSG_ELSE)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},kt={init:function(){this.setColour(bt),this.appendValueInput("FROM").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.PYTHON_RANGE).appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.PYTHON_RANGE_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Rt.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},Ht={init:function(){this.setColour(bt),this.appendValueInput("LIST").setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.CONTROLS_FOREACH_INPUT),this.appendValueInput("VAR").appendField(Rt.Msg.CONTROLS_FOREACH_INPUT_ITEM),this.appendStatementInput("DO").appendField(Rt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip((function(){return Rt.Msg.CONTROLS_FOR_TOOLTIP.replace("“%1”","")}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Wt={init:function(){this.setColour(bt),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(Rt.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(new Rt.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(Rt.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT+Rt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return{WHILE:Rt.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:Rt.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[e]}))}},Kt={init:function(){this.setColour(bt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PYTHON_TRY),this.appendStatementInput("try"),this.appendValueInput("IF1").appendField(Rt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO1").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Rt.icons.MutatorIcon(["controls_except","controls_finally"],this)),this.setTooltip(Rt.Msg.MIXLY_MIXPY_CONTROL_TRY_TOOLTIP),this.elseifCount_=1,this.elseCount_=0},mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var t=document.createElement("mutation");return this.elseifCount_&&t.setAttribute("elseif",this.elseifCount_),this.elseCount_&&t.setAttribute("else",1),t},domToMutation:function(t){var e=this,i=[],n=[];this.elseCount_&&this.removeInput("ELSE");for(var s=this.elseifCount_;s>0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(Rt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+s).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(Rt.Msg.MIXLY_PYTHON_FINALLY);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_try");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_except");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var _=t.newBlock("controls_finally");_.initSvg(),i.connect(_.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],_=null;i;){switch(i.type){case"controls_except":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_finally":this.elseCount_++,_=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,_)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_except":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_finally":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),_=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(_.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(Rt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+t).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(Rt.Msg.MIXLY_PYTHON_FINALLY)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},Jt={init:function(){this.setColour(bt);var t=new Rt.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(t,"FLOW").appendField(Rt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0),this.setTooltip(Rt.Msg.MIXLY_PYTHON_CONTROLS_FLOW_STATEMENTS_TOOLTIP);var e=this;this.setTooltip((function(){var t=e.getFieldValue("FLOW");return{BREAK:Rt.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:Rt.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}[t]}))},onchange:function(){if(this.workspace){var t=!1,e=this;do{if("controls_repeat"==e.type||"controls_for"==e.type||"controls_forEach"==e.type||"controls_repeat_ext"==e.type||"controls_whileUntil"==e.type||"do_while"==e.type){t=!0;break}e=e.getSurroundParent()}while(e);t?this.setWarningText(null):this.setWarningText(Rt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}},Qt={init:function(){this.setColour(bt),this.appendDummyInput().appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new Rt.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(Rt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return Rt.Msg.CONTROLS_FOR_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},qt={init:function(){this.setColour(bt),this.appendDummyInput().appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new Rt.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(Rt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return Rt.Msg.MIXLY_PYTHON_CONTROLS_FOR_RANGE_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}};Wt.OPERATORS=[[Rt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[Rt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]],Jt.OPERATORS=[[Rt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[Rt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const zt={init:function(){this.setColour(bt),this.appendDummyInput().appendField(Rt.Msg.CONTROLS_IF_IF_TITLE_IF),this.appendStatementInput("STACK"),this.setTooltip(Rt.Msg.CONTROLS_IF_IF_TOOLTIP),this.contextMenu=!1}},jt={init:function(){this.setColour(bt),this.appendDummyInput().appendField(Rt.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},$t={init:function(){this.setColour(bt),this.appendDummyInput().appendField(Rt.Msg.CONTROLS_IF_ELSE_TITLE_ELSE),this.setPreviousStatement(!0),this.setTooltip(Rt.Msg.CONTROLS_IF_ELSE_TOOLTIP),this.contextMenu=!1}},Zt={init:function(){this.setColour(bt),this.appendDummyInput().appendField("try"),this.appendStatementInput("STACK"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.contextMenu=!1}},te={init:function(){this.setColour(bt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PYTHON_EXCEPT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1,this.setTooltip(Rt.Msg.MIXLY_MIXPY_CONTROL_EXCEPT_TOOLTIP)}},ee={init:function(){this.setColour(bt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PYTHON_FINALLY),this.setPreviousStatement(!0),this.contextMenu=!1,this.setTooltip(Rt.Msg.MIXLY_MIXPY_CONTROL_FINALLY_TOOLTIP)}},ie={init:function(){this.jsonInit({message0:Rt.Msg.CONTROLS_REPEAT_TITLE,args0:[{type:"input_value",name:"TIMES"}],previousStatement:null,nextStatement:null,colour:bt,tooltip:Rt.Msg.CONTROLS_REPEAT_TOOLTIP,helpUrl:Rt.Msg.CONTROLS_REPEAT_HELPURL}),this.appendStatementInput("DO")}},ne={init:function(){this.setColour(bt),this.appendValueInput("BOOL").appendField("lambda"),this.appendStatementInput("DO").appendField(Rt.Msg.MIXLY_STAT),this.setOutput(!0)}},se={init:function(){this.setColour(bt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PYTHON_PASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_PYTHON_CONTROLS_PASS_TOOLTIP)}},_e={init:function(){this.setColour(bt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_START),this.appendValueInput("callback").appendField(Rt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_TOOLTIP)}},oe={init:function(){this.appendDummyInput().appendField(Rt.Msg.CONTROLS_REPEAT_TITLE_REPEAT+Rt.Msg.MIXLY_DO),this.appendStatementInput("input_data").setCheck(null),this.appendValueInput("select_data").setCheck(null).appendField(Rt.Msg.CONTROLS_OPERATOR_UNTIL).appendField(new Rt.FieldDropdown([[Rt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"true"],[Rt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"false"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(bt),this.setTooltip("do-while loop"),this.setHelpUrl("")}},pe={init:function(){this.setColour(bt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_OP_GARBAGE_COLLECT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ae={init:function(){this.setColour(bt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET_MEM_ALLOC),this.setOutput(!0)}},ue={init:function(){this.setColour(bt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET_MEM_FREE),this.setOutput(!0)}},re={init:function(){this.setColour(bt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET+Rt.Msg.MIXLY_DEVICE+"ID"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Rt.Msg.PROCEDURES_DEFRETURN_RETURN+Rt.Msg.MIXLY_GET_UNIQUE_IDEN)}},de={init:function(){this.setColour(bt),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_RTC_TIMESTAMP),this.appendDummyInput().appendField(Rt.Msg.MIXLY_TIMESTAMP_TO_DATA),this.setInputsInline(!0),this.setOutput(!0,Number)}},le={init:function(){this.setColour(bt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET_UNIQUE_IDEN),this.setOutput(!0)}},Ie=230;Rt.FieldTextInput.math_number_validator=function(t){return String(t)},Rt.FieldTextInput.math_number_validator_include_blank=function(t){if(""===t)return"";return/^-?(0X|0x|0O|0o|0B|0b)?[a-fA-F0-9]{1,}(\.[a-fA-F0-9]+)?$/.test(t)?String(t):null};const Te={init:function(){this.setColour(Ie),this.appendDummyInput().appendField(new Rt.FieldTextInput("0",Rt.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MATH_NUMBER_TOOLTIP)}},Me={init:function(){this.setColour(Ie);this.appendDummyInput("").appendField(Rt.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new Rt.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:Rt.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_TOOLTIP,e:Rt.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_TOOLTIP}[e]}))}},he={init:function(){this.setColour(Ie);this.appendDummyInput("").appendField(Rt.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new Rt.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:Rt.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_MP_TOOLTIP,e:Rt.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_MP_TOOLTIP}[e]}))}},me={init:function(){this.setColour(Ie),this.setOutput(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Rt.FieldDropdown([["+","ADD"],["-","MINUS"],["×","MULTIPLY"],["÷","DIVIDE"],["%","QUYU"],["//","ZHENGCHU"],["**","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:Rt.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},Ee={init:function(){this.setColour(Ie),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Rt.FieldDropdown([["+=","ADD"],["-=","MINUS"],["×=","MULTIPLY"],["÷=","DIVIDE"],["%=","QUYU"],["//=","ZHENGCHU"],["**=","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:Rt.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},Oe={init:function(){this.setColour(Ie),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new Rt.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},Re={init:function(){this.setColour(Ie),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new Rt.FieldDropdown([["sin","SIN"],["cos","COS"],["tan","TAN"],["asin","ASIN"],["acos","ACOS"],["atan","ATAN"],["-","-"],["ln","LN"],["log10","LOG10"],["e^","EXP"],["10^","POW10"]]),"OP");var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{SIN:Rt.Msg.MATH_TRIG_TOOLTIP_SIN,COS:Rt.Msg.MATH_TRIG_TOOLTIP_COS,TAN:Rt.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:Rt.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:Rt.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:Rt.Msg.MATH_TRIG_TOOLTIP_ATAN,LN:Rt.Msg.MATH_SINGLE_TOOLTIP_LN}[e]}))}},ce={init:function(){var t=[[Rt.Msg.MATH_BIN,"bin"],[Rt.Msg.MATH_OCT,"oct"],[Rt.Msg.MATH_HEX,"hex"]];this.setColour(Ie),this.setOutput(!0,String),this.appendValueInput("NUM").setCheck(Number).appendField(new Rt.FieldDropdown(t),"OP");var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{bin:Rt.Msg.MATH_DEC_TOOLTIP_BIN,oct:Rt.Msg.MATH_DEC_TOOLTIP_OCT,hex:Rt.Msg.MATH_DEC_TOOLTIP_HEX}[t]}))}},ge={init:function(){var t=[[Rt.Msg.LANG_MATH_TO_ROUND,"round"],[Rt.Msg.LANG_MATH_TO_CEIL,"ceil"],[Rt.Msg.LANG_MATH_TO_FLOOR,"floor"],[Rt.Msg.MATH_ABS,"fabs"],[Rt.Msg.MATH_SQRT,"sqrt"]];this.setColour(Ie),this.appendValueInput("A").setCheck(Number).appendField(new Rt.FieldDropdown(t),"OP"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{sqrt:Rt.Msg.MATH_SINGLE_TOOLTIP_ROOT,fabs:Rt.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:Rt.Msg.MATH_SINGLE_TOOLTIP_SQ,round:Rt.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:Rt.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:Rt.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[t]}))}},Ce={init:function(){var t=[[Rt.Msg.MIXLY_MAX,"max"],[Rt.Msg.MIXLY_MIN,"min"]];this.setColour(Ie),this.appendValueInput("A").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(new Rt.FieldDropdown(t),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(Rt.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{max:Rt.Msg.MIXLY_TOOLTIP_MATH_MAX,min:Rt.Msg.MIXLY_TOOLTIP_MATH_MIN}[t]}))}},Se={init:function(){var t=[[Rt.Msg.MATH_TWO,"two"],[Rt.Msg.MATH_EIGHT,"eight"],[Rt.Msg.MATH_TEN,"ten"],[Rt.Msg.MATH_SIXTEEN,"sixteen"]];this.setColour(Ie),this.appendDummyInput("").appendField(Rt.Msg.MATH_BA),this.appendValueInput("NUM").appendField(new Rt.FieldDropdown(t),"OP").appendField(Rt.Msg.MATH_JinZhi).setCheck(Number),this.appendDummyInput("").appendField(Rt.Msg.MATH_ZHW).appendField(new Rt.FieldDropdown(t),"OP2").appendField(Rt.Msg.MATH_JinZhi),this.setFieldValue("ten","OP2"),this.setOutput(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i={two:Rt.Msg.MATH_Before_two,eight:Rt.Msg.MATH_Before_eight,ten:Rt.Msg.MATH_Before_ten,sixteen:Rt.Msg.MATH_Before_sixteen},n=e.getFieldValue("OP2"),s={two:Rt.Msg.MATH_Behind_two,eight:Rt.Msg.MATH_Behind_eight,ten:Rt.Msg.MATH_Behind_ten,sixteen:Rt.Msg.MATH_Behind_sixteen};return i[t]+s[n]}))}},Ae={init:function(){var t=[[Rt.Msg.LANG_MATH_INT,"int"],[Rt.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(Ie),this.setOutput(!0,Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_RANDOM).appendField(new Rt.FieldDropdown(t),"TYPE"),this.appendValueInput("FROM").setCheck(Number).appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TYPE"),i={int:Rt.Msg.LANG_MATH_INT,float:Rt.Msg.LANG_MATH_FLOAT_RANDOM};return Rt.Msg.MATH_RANDOM_INT_TOOLTIP+i[t]}))}},Le={init:function(){this.setColour(Ie),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(Rt.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(Rt.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(Rt.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MATH_CONSTRAIN_TOOLTIP)}},Ne={init:function(){this.setColour(Ie),this.appendValueInput("NUM",Number).appendField(Rt.Msg.MIXLY_MAP).setCheck(Number),this.appendValueInput("fromLow",Number).appendField(Rt.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(Rt.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_MATH_MAP)}},De={init:function(){this.setColour(Ie),this.appendDummyInput().appendField(new Rt.FieldTextInput("0",Rt.FieldTextInput.math_number_validator_include_blank),"NUM"),this.setOutput(!0),this.setTooltip(Rt.Msg.MATH_NUMBER_TOOLTIP)}},fe={init:function(){this.setColour(Ie),this.appendValueInput("NUM").setCheck(Number).appendField(Rt.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED)}},Fe={init:function(){this.setColour(Ie),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number),this.appendValueInput("VAR").setCheck(Number).appendField(Rt.Msg.MATH_ROUND).appendField(Rt.Msg.TEXT_KEEP),this.appendDummyInput().appendField(Rt.Msg.TEXT_DECIMAL),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MATH_ROUND_NEW_TOOLTIP)}},Pe={init:function(){var t=[[Rt.Msg.MIXLY_TO_INT,"int"],[Rt.Msg.MIXLY_TO_FLOAT,"float"],[Rt.Msg.MIXLY_TO_BITES,"b"],[Rt.Msg.LANG_MATH_BYTE+Rt.Msg.MIXLY_TO_INT,"bti"]];this.setColour(Ie),this.appendValueInput("VAR").appendField(new Rt.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:Rt.Msg.MIXLY_PYTHON_TOOLTIP_TOINT,float:Rt.Msg.MIXLY_PYTHON_TOOLTIP_TOFLOAT,b:Rt.Msg.MIXLY_TOOLTIP_TEXT_TOBYTE}[t]}))}},Ye={init:function(){var t=[[Rt.Msg.MIXLY_TO_INT,"int"],[Rt.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(Ie),this.appendValueInput("VAR").appendField(new Rt.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:Rt.Msg.MIXLY_TOOLTIP_TEXT_TOINT,float:Rt.Msg.MIXLY_TOOLTIP_TEXT_TOFLOAT}[t]}))}},ve=Ne,Xe={init:function(){this.setColour(Ie),this.appendValueInput("VAR").appendField(Rt.Msg.LANG_MATH_BYTE+Rt.Msg.MIXLY_TO_HEX),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_PYTHON_TOOLTIP_TOHEX)}},xe={init:function(){this.setColour(Ie),this.itemCount_=1,this.setMutator(new Rt.icons.MutatorIcon(["lists_create_with_item"],this)),this.appendDummyInput("DUMMY").appendField(Rt.Msg.MIXLY_PRODUCT+Rt.Msg.MIXLY_GENERATE_CARTESIAN_PRODUCT),this.appendValueInput("REPEAT").appendField(Rt.Msg.MIXLY_EVERY_PER_ELEPER_ELEMENT),this.appendDummyInput().appendField(Rt.Msg.CONTROLS_REPEAT_TITLE_TIMES),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0),this.setTooltip(Rt.Msg.LISTS_CREATE_WITH_PYTHON_TOOLTIP),this.updateShape_()},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("lists_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n1&&"\\"===t.charAt(0)){var e=t.charAt(1);if("0"===e||"b"===e||"f"===e||"n"===e||"r"===e||"t"===e||"\\"===e||"'"===e)return String(t).substring(0,2);if("x"===e&&"0"===t.charAt(2)&&"B"===t.charAt(3))return String(t).substring(0,4)}return String(t).substring(0,1)};const we={init:function(){this.setColour(Ve),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new Rt.FieldTextInput("",Rt.FieldTextInput.char_validator),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.TEXT_CHAR_TOOLTIP)},newQuote_:function(t){if(1==t)var e="../../media/quote2.png";else e="../../media/quote3.png";return new Rt.FieldImage(e,7,12,'"')}},ke={init:function(){this.setColour(Ve),this.appendValueInput("A").setCheck([String,Number]),this.appendValueInput("B").setCheck([String,Number]).appendField(Rt.Msg.MIXLY_TEXT_JOIN),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_TEXT_JOIN)}},He={init:function(){this.setColour(Ve),this.appendValueInput("VAR").setCheck(Number).appendField(Rt.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},We={init:function(){this.setColour(Ve),this.appendValueInput("VAR").setCheck(String).appendField(Rt.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},Ke={init:function(){this.setColour(Ve),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},Je={init:function(){this.setColour(Ve),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},Qe={init:function(){this.WHERE_OPTIONS=[[Rt.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[Rt.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[Rt.Msg.TEXT_GET_INDEX_RANDOM+1+Rt.Msg.TEXT_CHARAT2,"RANDOM"]],this.setHelpUrl(Rt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ve),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.LISTS_GET_INDEX_GET,"MODE"),Rt.Msg.LISTS_GET_INDEX_TAIL&&this.appendDummyInput("TAIL").appendField(Rt.Msg.LISTS_GET_INDEX_TAIL),this.setInputsInline(!0),this.setOutput(!0),this.updateAt_(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=t.getFieldValue("WHERE"),n="";switch(e+" "+i){case"GET FROM_START":case"GET FROM_END":n=Rt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM;break;case"GET RANDOM":n=Rt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM;break;case"GET_REMOVE FROM_START":case"GET_REMOVE FROM_END":n=Rt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM;break;case"GET_REMOVE RANDOM":n=Rt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM}return"FROM_START"!=i&&"FROM_END"!=i||(n+=" "+Rt.Msg.LISTS_INDEX_FROM_START_TOOLTIP.replace("%1",Rt.Msg.ONE_BASED_INDEXING?"#1":"#0")),n}));var e=this;this.setTooltip((function(){var t=e.getFieldValue("WHERE"),i={FROM_START:Rt.Msg.LISTS_GET_INDEX_FROM_START,FROM_END:Rt.Msg.LISTS_GET_INDEX_FROM_END,RANDOM:Rt.Msg.TEXT_GET_INDEX_RANDOM};return Rt.Msg.PROCEDURES_DEFRETURN_RETURN+Rt.Msg.MIXLY_MICROBIT_TYPE_STRING+i[t]+"n"+Rt.Msg.TEXT_CHARAT2}))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("statement",!this.outputConnection);var e=this.getInput("AT").type==Rt.INPUT_VALUE;return t.setAttribute("at",e),t},domToMutation:function(t){var e="true"==t.getAttribute("statement");this.updateStatement_(e),t="false"!=t.getAttribute("at"),this.updateAt_(t)},updateStatement_:function(t){t!=!this.outputConnection&&(this.unplug(!0,!0),t?(this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)):(this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)))},updateAt_:function(t){this.removeInput("AT"),this.removeInput("ORDINAL",!0),t?(this.appendValueInput("AT").setCheck(Number),Rt.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL").appendField(Rt.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT");var e=new Rt.FieldDropdown(this.WHERE_OPTIONS,(function(e){var i="FROM_START"==e||"FROM_END"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT").appendField(e,"WHERE"),Rt.Msg.LISTS_GET_INDEX_TAIL&&this.moveInputBefore("TAIL",null)}},qe={init:function(){this.setHelpUrl(Rt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ve),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number).appendField(Rt.Msg.LISTS_GET_INDEX_GET+" "+Rt.Msg.LISTS_GET_INDEX_FROM_START),this.appendDummyInput().appendField(Rt.Msg.TEXT_CHARAT2),this.setOutput(!0),this.setTooltip(Rt.Msg.PROCEDURES_DEFRETURN_RETURN+Rt.Msg.MIXLY_MICROBIT_TYPE_STRING+Rt.Msg.LISTS_GET_INDEX_FROM_START+"n"+Rt.Msg.TEXT_CHARAT2)}},ze={init:function(){this.setHelpUrl(Rt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ve),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(Rt.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(Rt.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},je={init:function(){this.WHERE_OPTIONS_1=[[Rt.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[Rt.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[Rt.Msg.LISTS_GET_SUBLIST_START_FIRST,"FIRST"]],this.WHERE_OPTIONS_2=[[Rt.Msg.LISTS_GET_SUBLIST_END_FROM_START,"FROM_START"],[Rt.Msg.LISTS_GET_SUBLIST_END_FROM_END,"FROM_END"],[Rt.Msg.LISTS_GET_SUBLIST_END_LAST,"LAST"]],this.setHelpUrl(Rt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Ve),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput("AT1"),this.appendDummyInput("AT2"),this.setInputsInline(!0),this.setOutput(!0,"List"),this.updateAt_(1,!0),this.updateAt_(2,!0),this.setTooltip(Rt.Msg._GET_TEXT_SUBLIST_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT1").type==Rt.INPUT_VALUE;t.setAttribute("at1",e);var i=this.getInput("AT2").type==Rt.INPUT_VALUE;return t.setAttribute("at2",i),t},domToMutation:function(t){var e="true"==t.getAttribute("at1"),i="true"==t.getAttribute("at2");this.updateAt_(1,e),this.updateAt_(2,i)},updateAt_:function(t,e){this.removeInput("AT"+t),this.removeInput("ORDINAL"+t,!0),e?(this.appendValueInput("AT"+t).setCheck(Number),Rt.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL"+t).appendField(Rt.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT"+t);var i=new Rt.FieldDropdown(this["WHERE_OPTIONS_"+t],(function(i){var n="FROM_START"==i||"FROM_END"==i;if(n!=e){var s=this.sourceBlock_;return s.updateAt_(t,n),s.setFieldValue(i,"WHERE"+t),null}}));this.getInput("AT"+t).appendField(i,"WHERE"+t),1==t&&(this.moveInputBefore("AT1","AT2"),this.getInput("ORDINAL1")&&this.moveInputBefore("ORDINAL1","AT2"))}},$e={init:function(){this.setHelpUrl(Rt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Ve),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT1").appendField(Rt.Msg.LISTS_GET_INDEX_GET+" "+Rt.Msg.LISTS_GET_INDEX_FROM_START),this.appendValueInput("AT2").appendField(Rt.Msg.LISTS_GET_SUBLIST_END_FROM_START),this.appendDummyInput().appendField(Rt.Msg.TEXT_CHARAT2),this.setInputsInline(!0),this.setOutput(!0,["List",String]),this.setTooltip(Rt.Msg._GET_TEXT_SUBLIST_TOOLTIP)}},Ze={init:function(){var t=[[Rt.Msg.MIXLY_EQUALS,"==="],[Rt.Msg.MIXLY_STARTSWITH,"startswith"],[Rt.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(Ve),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new Rt.FieldDropdown(t),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},ti={init:function(){this.setColour(Ve),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(Rt.Msg.MIXLY_COMPARETO).setCheck(String),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_COMPARETO_HELP)}},ei={init:function(){var t=[[Rt.Msg.TEXT_UPPER,"upper"],[Rt.Msg.TEXT_TITLE,"title"],[Rt.Msg.TEXT_CAPITALIZE,"capitalize"],[Rt.Msg.TEXT_SWAPCASE,"swapcase"],[Rt.Msg.TEXT_LOWER,"lower"]];this.setColour(Ve),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new Rt.FieldDropdown(t),"CAPITAL").setCheck(String),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CAPITAL");return{upper:Rt.Msg.MIXLY_MIXPY_TEXT_UPPER_TOOLTIP,title:Rt.Msg.MIXLY_MIXPY_TEXT_TITLE_TOOLTIP,swapcase:Rt.Msg.MIXLY_MIXPY_TEXT_SWAPCASE_TOOLTIP,capitalize:Rt.Msg.MIXLY_MIXPY_TEXT_CAPITALIZE_TOOLTIP,lower:Rt.Msg.MIXLY_MIXPY_TEXT_LOWER_TOOLTIP}[t]}))}},ii={init:function(){var t=[[Rt.Msg.TEXT_LJUST,"ljust"],[Rt.Msg.TEXT_CENTER,"center"],[Rt.Msg.TEXT_RJUST,"rjust"]];this.setColour(Ve),this.appendValueInput("VAR").appendField(new Rt.FieldDropdown(t),"CENTER").setCheck(String),this.appendValueInput("WID").appendField(Rt.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("Symbol").appendField(Rt.Msg.MIXLY_RECT_Fill).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MIXLY_MIXPY_TEXT_CENTER_TOOLTIP)}},ni={init:function(){this.setColour(Ve),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).setCheck(String),this.appendValueInput("STR").appendField(Rt.Msg.MIXLY_MID+Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER).setCheck(String),this.appendDummyInput().appendField(Rt.Msg.MIXLY_LIST_INDEX),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MIXLY_MIXPY_TEXT_FIND_TOOLTIP)}},si={init:function(){this.setColour(Ve),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_USE_STR).setCheck(String),this.appendValueInput("LIST").appendField(Rt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_SEQ).setCheck("List","Tuple","Set","Dict"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_GET_STR),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_TOOLTIP)}},_i={init:function(){this.setColour(Ve),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("STR1").appendField(Rt.Msg.MIXLY_MIXPY_REPLACE).setCheck(String),this.appendValueInput("STR2").appendField(Rt.Msg.LISTS_SET_INDEX_INPUT_TO).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MIXLY_MIXPY_TEXT_REPLACE_TOOLTIP)}},oi={init:function(){this.setColour(Ve),this.appendValueInput("VAR"),this.appendValueInput("VAL").appendField(Rt.Msg.LIST_SPLIT_AS),this.appendDummyInput("").appendField(Rt.Msg.LIST_SPLIT),this.setOutput(!0,"List"),this.setTooltip(Rt.Msg.MIXLY_MIXPY_TEXT_SPLIT_TOOLTIP),this.setInputsInline(!0)}},pi={init:function(){var t=[[Rt.Msg.TEXT_TRIM_BOTH,"strip"],[Rt.Msg.TEXT_TRIM_LEFT,"lstrip"],[Rt.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(Ve),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(Rt.Msg.TEXT_STRIM),this.appendDummyInput("").appendField(new Rt.FieldDropdown(t),"TOWHAT"),this.appendDummyInput("").appendField(Rt.Msg.TEXT_BLANK),this.setOutput(!0,String),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{strip:Rt.Msg.TEXT_TRIM_BOTH_TOOLTIP,lstrip:Rt.Msg.TEXT_TRIM_LEFT_TOOLTIP,rstrip:Rt.Msg.TEXT_TRIM_RIGHT_TOOLTIP}[t]}))}},ai={init:function(){this.setColour(Ve),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROPYTHON_FORMAT),this.appendDummyInput("").appendField(new Rt.FieldTextInput("str"),"VAR"),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new Rt.icons.MutatorIcon(["text_create_with_item"],this)),this.setOutput(!0),this.setTooltip(Rt.Msg.MIXLY_MIXPY_TEXT_FORMAT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("text_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},_n={init:function(){this.setColour(nn),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(Rt.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},on={init:function(){this.setColour(nn),this.appendDummyInput().appendField(Rt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},pn={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Rt.Msg.DICT_KEYS),this.setTooltip(Rt.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},an={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Rt.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(Rt.Msg.DICTS_ADD_VALUE),this.setOutput(!0),this.setTooltip(Rt.Msg.DICTS_GET_TOOLTIP)}},un={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Rt.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(Rt.Msg.DICTS_ADD_VALUE),this.appendValueInput("VAR").appendField(Rt.Msg.DICTS_DEFAULT_VALUE),this.setOutput(!0),this.setTooltip(Rt.Msg.DICTS_GET_DEFAULT_TOOLTIP)}},rn={init:function(){this.setColour(nn),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(Rt.Msg.DICTS_ADD),this.appendDummyInput(),this.appendValueInput("VAR").appendField(Rt.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.DICTS_ADD_OR_CHANGE_TOOLTIP)}},dn={init:function(){this.setColour(nn),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(Rt.Msg.DICTS_DELETE_IN),this.appendDummyInput("").appendField(Rt.Msg.DICTS_DELETE_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.DICTS_DELETE_TOOLTIP)}},ln={init:function(){this.setColour(nn),this.appendValueInput("DICT2").setCheck("Dict").appendField(Rt.Msg.MAKE_DICT),this.appendValueInput("DICT").setCheck("Dict").appendField(Rt.Msg.DICT_UPDATE),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MID),this.setTooltip(Rt.Msg.DICTS_UPDATE_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},In={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Rt.Msg.DICT_CLEAR),this.setTooltip(Rt.Msg.DICTS_CLEAR_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Tn={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Rt.Msg.DICT_ITEMS),this.setTooltip(Rt.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},Mn={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Rt.Msg.DICT_VALUES),this.setTooltip(Rt.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},hn={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_LENGTH),this.setTooltip(Rt.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},mn={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Rt.Msg.DICT_DELDICT),this.setTooltip(Rt.Msg.DICTS_DEL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},En={init:function(){this.MODE=[[Rt.Msg.DICTS_ADD_OR_CHANGE,"INSERT"],[Rt.Msg.MIXLY_MICROBIT_JS_DELETE_VAR,"DELETE"]],this.setHelpUrl(Rt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("AT2"),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).appendField(Rt.Msg.DICTS_ADD_VALUE),this.updateAt_(!0),this.setInputsInline(!0),this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e="";switch(t.getFieldValue("WHERE")){case"INSERT":e=Rt.Msg.DICTS_ADD_TOOLTIP;break;case"DELETE":e=Rt.Msg.DICTS_DELETE_TOOLTIP}return e}))},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT2").type==Rt.INPUT_VALUE;return t.setAttribute("at2",e),t},domToMutation:function(t){var e="true"==t.getAttribute("at2");this.updateAt_(e)},updateAt_:function(t){this.removeInput("AT2"),this.removeInput("ORDINAL",!0),t?this.appendValueInput("AT2").setCheck(Number):this.appendDummyInput("AT2");var e=new Rt.FieldDropdown(this.MODE,(function(e){var i="INSERT"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT2").appendField(e,"WHERE")}},On={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Rt.Msg.blockpy_DICT_POP),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(Rt.Msg.DICTS_ADD_VALUE),this.setTooltip(Rt.Msg.DICT_POP_TOOLTIP),this.setInputsInline(!0),this.setOutput(!0)}},Rn={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Rt.Msg.DICTS_SET_DEFAULT),this.appendDummyInput("").appendField(Rt.Msg.DICTS_DEFAULT_VALUE),this.appendValueInput("VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.DICTS_SETDEFAULT_TOOLTIP)}},cn={init:function(){this.setColour(nn),this.appendDummyInput("").appendField(new Rt.FieldLabel(Rt.Msg.MIXLY_MICROBIT_TYPE_DICT),"TIP").appendField(" "),this.itemCount_=3,this.updateShape_(),this.setOutput(!0,"Dict"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setMutator(new Rt.icons.MutatorIcon(["dicts_create_with_item"],this)),this.setTooltip(Rt.Msg.DICTS_CREATE_WITH_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("dicts_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},gn={init:function(){this.setColour(nn),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(Rt.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},Cn={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_TO_JSON),this.setTooltip(Rt.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},Sn={init:function(){this.setColour(nn),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_CONVERT_TO_JSON),this.setTooltip(Rt.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},An={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("VAR1").appendField("key1"),this.appendValueInput("VAR2").appendField("index"),this.appendValueInput("VAR3").appendField("key2"),this.appendValueInput("VAR4").appendField("key3"),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},Ln={init:function(){this.setColour(nn),this.appendValueInput("DICT"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_TO_JSON),this.setTooltip(Rt.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},Nn=210,Dn={init:function(){var t=Rt.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(Nn),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Rt.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{EQ:Rt.Msg.LOGIC_COMPARE_TOOLTIP_EQ,NEQ:Rt.Msg.LOGIC_COMPARE_TOOLTIP_NEQ,LT:Rt.Msg.LOGIC_COMPARE_TOOLTIP_LT,LTE:Rt.Msg.LOGIC_COMPARE_TOOLTIP_LTE,GT:Rt.Msg.LOGIC_COMPARE_TOOLTIP_GT,GTE:Rt.Msg.LOGIC_COMPARE_TOOLTIP_GTE}[t]})),this.prevBlocks_=[null,null]}},fn={init:function(){var t=Rt.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]],e=Rt.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(Nn),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Rt.FieldDropdown(t),"OP1"),this.appendValueInput("C").appendField(new Rt.FieldDropdown(e),"OP2"),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_PYTHON_LOGIC_COMPARE_CONTINOUS_TOOLTIP)}},Fn={init:function(){var t=[[Rt.Msg.LOGIC_OPERATION_AND,"AND"],[Rt.Msg.LOGIC_OPERATION_OR,"OR"],[Rt.Msg.LOGIC_OPERATION_NOR,"NOR"],[Rt.Msg.LOGIC_OPERATION_XOR,"XOR"]];this.setColour(Nn),this.setOutput(!0,Boolean),this.appendValueInput("A").setCheck([Boolean,Number]),this.appendValueInput("B").setCheck([Boolean,Number]).appendField(new Rt.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{AND:Rt.Msg.LOGIC_OPERATION_TOOLTIP_AND,OR:Rt.Msg.LOGIC_OPERATION_TOOLTIP_OR,NOR:Rt.Msg.LOGIC_OPERATION_TOOLTIP_NOR,XOR:Rt.Msg.LOGIC_OPERATION_TOOLTIP_XOR}[t]}))}},Pn={init:function(){this.setColour(Nn),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(Rt.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(Rt.Msg.LOGIC_NEGATE_TOOLTIP)}},Yn={init:function(){var t=[[Rt.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[Rt.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(Nn),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new Rt.FieldDropdown(t),"BOOL"),this.setTooltip(Rt.Msg.LOGIC_BOOLEAN_TOOLTIP)}},vn={init:function(){this.setColour(Nn),this.setOutput(!0),this.appendDummyInput().appendField(Rt.Msg.LOGIC_NULL),this.setTooltip(Rt.Msg.LOGIC_NULL_TOOLTIP)}},Xn={init:function(){this.setColour(Nn),this.appendValueInput("A"),this.appendValueInput("B").appendField(Rt.Msg.LOGIC_TERNARY_IF_TRUE),this.appendValueInput("C").appendField(Rt.Msg.LOGIC_TERNARY_IF_FALSE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_LOGIT_TRUEORFALSE)}},xn={init:function(){var t=[[Rt.Msg.TEXT_APPEND_TO,"in"],[Rt.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(Nn),this.appendValueInput("A"),this.appendValueInput("B").setCheck([String,"List"]).appendField(new Rt.FieldDropdown(t),"BOOL"),this.appendDummyInput("").appendField(Rt.Msg.MICROBIT_LOGIC_IS_IN),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Rt.Msg.IN)}},yn={init:function(){var t=[[Rt.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[Rt.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(Nn),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Rt.FieldDropdown(t),"BOOL"),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_PYTHON_LOGIC_IS_TOOLTIP)}},bn={init:function(){this.setColour(Nn),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(Rt.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},Vn={init:function(){this.setColour(0),this.appendValueInput("fn").setCheck(String).appendField(Rt.Msg.MIXLY_PYTHON_STORAGE_OPEN_FILE_WITH_OS+"(For Windows)"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Bn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"],[Rt.Msg.MIXLY_ADD,"a"],[Rt.Msg.MATH_BIN+Rt.Msg.MIXLY_ADD,"ab"],[Rt.Msg.MIXLY_R_W,"r+"],[Rt.Msg.MATH_BIN+Rt.Msg.MIXLY_R_W,"rb+"],[Rt.Msg.MIXLY_W_R,"w+"],[Rt.Msg.MATH_BIN+Rt.Msg.MIXLY_W_R,"wb+"],[Rt.Msg.MIXLY_A_R,"a+"],[Rt.Msg.MATH_BIN+Rt.Msg.MIXLY_A_R,"ab+"]]),"MODE"),this.appendValueInput("FILE").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_AS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Rt.Msg.MIXLY_USE,n=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=Rt.Msg.MIXLY_BELONG;return i+{r:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+_+n+s}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Gn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Rt.Msg.MIXLY_USE,n=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=Rt.Msg.MIXLY_BELONG,o=Rt.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+_+n+s+o}))}},Un={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE);this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendDummyInput().appendField(Rt.Msg.MIXPY_TEXT_ENCODE).appendField(new Rt.FieldDropdown([["ANSI","ANSI"],["gbk","gbk"],["utf-8","utf-8"]]),"CODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Rt.Msg.MIXLY_USE,n=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=Rt.Msg.MIXLY_BELONG,o=Rt.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+_+n+s+o}))}},wn={init:function(){this.setColour(0),this.appendValueInput("data").setCheck(String).appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendValueInput("FILE").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+Rt.Msg.MIXLY_MICROBIT_TYPE_STRING+Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE)}},kn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"read"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE,"readline"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES,"readlines"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String)}},Hn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,"read"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,"readline"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE,"readlines"]]),"MODE"),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE,n=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER;return i+{read:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,readline:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,readlines:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE}[e]+"x"+n}))}},Wn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.setNextStatement(!0),this.appendValueInput("SIZE").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MICROBIT_PYTHON_TYPE)}},Kn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Rt.Msg.HTML_FILE),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT1)}},Jn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILENAME),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILENAME)}},Qn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE)}},qn={init:function(){this.setColour(0),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES)}};Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE;const zn={init:function(){this.setColour(0),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE,"remove"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_DIRS,"removedirs"]]),"MODE"),this.appendValueInput("FILE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE)}},jn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE+Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE)}},$n={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_RETURN_FILE),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_PRESENT_LOCATION),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_TELL)}},Zn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,"start"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,"current"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END,"end"]]),"MODE"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION+Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION,n=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER,s=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET;return i+" "+{start:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,current:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,end:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END}[e]+s+"x"+n}))}},ts={init:function(){this.setColour(0),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR)}},es={init:function(){this.setColour(0),this.appendValueInput("PATH").setCheck(String).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_SET),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,"mkdir"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MAKEDIRS,"makedirs"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH+"x"+Rt.Msg.MIXLY_ESP32_SET+{mkdir:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,makedirs:Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},is={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME),this.appendValueInput("NEWFILE").setCheck(String).appendField(Rt.Msg.MIXLY_AS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME)}},ns={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR)}},ss={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.HTML_FILE,"isfile"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_DIR,"isdir"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean);let t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH+"x"+Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT+{isfile:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,isdir:Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},_s={init:function(){this.setColour(0),this.appendValueInput("SPISUB").appendField(Rt.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_SETUP+Rt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(Rt.Msg.MIXLY_SD_CARD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},os={init:function(){this.setColour(0),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_SD_CARD),this.appendValueInput("DIR").setCheck(String).appendField(Rt.Msg.MIXLY_SDCARD_MOUNT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip()}},ps={init:function(){var t=Rt.Procedures.findLegalName("",this),e=new Rt.FieldTextInput(t,Rt.Procedures.rename);e.setSpellcheck(!1),this.appendDummyInput().appendField(e,"NAME").appendField("","PARAMS"),this.setMutator(new Rt.icons.MutatorIcon(["procedures_mutatorarg"],this)),(this.workspace.options.comments||this.workspace.options.parentWorkspace&&this.workspace.options.parentWorkspace.options.comments)&&Rt.Msg.PROCEDURES_DEFNORETURN_COMMENT&&this.setCommentText(Rt.Msg.PROCEDURES_DEFNORETURN_COMMENT),this.setStyle("procedure_blocks"),this.setTooltip(Rt.Msg.PROCEDURES_DEFNORETURN_TOOLTIP),this.setHelpUrl(Rt.Msg.PROCEDURES_DEFNORETURN_HELPURL),this.arguments_=[],this.argumentVarModels_=[],this.setStatements_(!0),this.statementConnection_=null},setStatements_:function(t){this.hasStatements_!==t&&(t?(this.appendStatementInput("STACK").appendField(Rt.Msg.PROCEDURES_DEFNORETURN_DO),this.getInput("RETURN")&&this.moveInputBefore("STACK","RETURN")):this.removeInput("STACK",!0),this.hasStatements_=t)},updateParams_:function(){var t="";this.arguments_.length&&(t=Rt.Msg.PROCEDURES_BEFORE_PARAMS+" "+this.arguments_.join(", ")),Rt.Events.disable();try{this.setFieldValue(t,"PARAMS")}finally{Rt.Events.enable()}},mutationToDom:function(t){var e=Rt.utils.xml.createElement("mutation");t&&e.setAttribute("name",this.getFieldValue("NAME"));for(var i=0;i"),this.appendValueInput("style").appendField(Rt.Msg.MIXLY_AIP_ATTR).setAlign(Rt.inputs.Align.RIGHT),this.appendStatementInput("DO").appendField(""),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},i_={init:function(){this.setColour(zs),this.appendDummyInput().appendField(Rt.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},n_={init:function(){this.setColour(zs),this.appendDummyInput().appendField(Rt.Msg.HTML_FORM_CONTENT).appendField(new Rt.FieldDropdown([[Rt.Msg.HTML_TEXT,"text"],[Rt.Msg.HTML_EMAIL,"email"],[Rt.Msg.HTML_NUMBER,"number"],[Rt.Msg.HTML_PASSWORD,"password"],[Rt.Msg.HTML_CHECKBOX,"checkbox"],[Rt.Msg.HTML_RADIOBUTTON,"radiobutton"],[Rt.Msg.HTML_BUTTON,"button"],[Rt.Msg.HTML_COLOUR,"colour"],[Rt.Msg.HTML_DATE,"date"],[Rt.Msg.HTML_LOCALTIME,"local time"],[Rt.Msg.HTML_FILE,"file"],[Rt.Msg.HTML_HIDDEN,"hidden"],[Rt.Msg.HTML_IMAGE,"image"],[Rt.Msg.HTML_MONTH,"month"],[Rt.Msg.HTML_RANGE,"range"],[Rt.Msg.HTML_RESET,"reset"],[Rt.Msg.HTML_SEARCH,"search"],[Rt.Msg.HTML_SUBMIT,"submit"],[Rt.Msg.HTML_TELEPHONENUMBER,"telephone number"],[Rt.Msg.HTML_TIME,"time"],[Rt.Msg.HTML_URL,"url"],[Rt.Msg.HTML_WEEK,"week"]]),"LEVEL"),this.appendDummyInput().appendField(Rt.Msg.HTML_NAME).appendField(new Rt.FieldTextInput("car"),"NAME"),this.appendDummyInput().appendField(Rt.Msg.HTML_VALUE).appendField(new Rt.FieldTextInput("go"),"VALUE"),this.appendValueInput("style").appendField(Rt.Msg.MIXLY_AIP_ATTR).setAlign(Rt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},s_={init:function(){this.setColour(zs),this.appendDummyInput().appendField(new Rt.FieldTextInput("property"),"KEY").appendField(":").appendField(new Rt.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},__={init:function(){this.setColour(zs),this.appendDummyInput().appendField(new Rt.FieldTextInput("property"),"KEY").appendField(":").appendField(new Rt.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},o_={init:function(){this.setColour(zs),this.appendDummyInput().appendField(Rt.Msg.HTML_TEXT).appendField(new Rt.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},p_=160,a_={init:function(){this.setColour(p_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new Rt.FieldTable(""),"TEXT")}},u_={init:function(){this.setColour(p_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new Rt.FieldMultilineInput(""),"TEXT")}},r_={init:function(){this.setColour(p_),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new Rt.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},d_={init:function(){this.setColour(p_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},l_={init:function(){this.setColour(p_),this.appendDummyInput().appendTitle("Comment:").appendTitle(new Rt.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},I_={init:function(){this.setColour(p_),this.appendValueInput("VALUE").appendField(Rt.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},T_={init:function(){this.setColour(p_),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Rt.icons.MutatorIcon(["text_print_multiple_item"],this)),this.setTooltip(Rt.Msg.TEXT_PRINT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=Rt.Block.obtain(t,"text_print_multiple_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n= stop:"," yield start"," start -= abs(step)"])};if(t=function(t,e,i){return"("+t+" <= "+e+") and "+a()+"("+t+", "+e+", "+i+") or "+u()+"("+t+", "+e+", "+i+")"},Rt.isNumber(n)&&Rt.isNumber(s)&&Rt.isNumber(_))n=parseFloat(n),s=parseFloat(s),_=Math.abs(parseFloat(_)),0==n%1&&0==s%1&&0==_%1?(n<=s?(s++,t=0==n&&1==_?s:n+", "+s,1!=_&&(t+=", "+_)):t=n+", "+--s+", -"+_,t="range("+t+")"):(t=n",GTE:">="};const ra=function(t,e){var i=this.getFieldValue("OP"),n="&&"==i?e.ORDER_LOGICAL_AND:e.ORDER_LOGICAL_OR,s=e.valueToCode(this,"A",n)||"False",_=e.valueToCode(this,"B",n)||"False";if("AND"==i)var o=s+" and "+_;else if("OR"==i)o=s+" or "+_;else if("NOR"==i)o="not("+s+"^"+_+")";else o=s+"^"+_;return[o,n]},da=function(t,e){var i=e.ORDER_UNARY_PREFIX;return["not "+(e.valueToCode(this,"BOOL",i)||"False"),i]},la=function(t,e){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",e.ORDER_ATOMIC]},Ia=function(t,e){return["None",e.ORDER_ATOMIC]},Ta=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"False";return["("+(e.valueToCode(this,"B",e.ORDER_ATOMIC)||"False")+" if "+i+" else "+(e.valueToCode(this,"C",e.ORDER_ATOMIC)||"False")+")",e.ORDER_ATOMIC]},Ma=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},ha=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},ma=function(t,e){return["bool("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||"0")+")",e.ORDER_ATOMIC]},Ea=function(t,e){return e.definitions_.import_os="import os","os.startfile("+e.valueToCode(this,"fn",e.ORDER_ATOMIC)+")\n"},Oa=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+" = open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},Ra=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",e.ORDER_ATOMIC]},ca=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',e.ORDER_ATOMIC]},ga=function(t,e){var i=e.valueToCode(this,"data",e.ORDER_ATOMIC);return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".write("+i+")\n"},Ca=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"()",e.ORDER_ATOMIC]},Sa=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Aa=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".readline("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},La=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".writable()",e.ORDER_ATOMIC]},Na=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".name()",e.ORDER_ATOMIC]},Da=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".close()\n"},fa=function(t,e){e.definitions_.import_os="import os";return["os.listdir()",e.ORDER_ATOMIC]},Fa=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},Pa=function(t,e){return e.definitions_.import_os="import os",["os.path.getsize("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Ya=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".tell()",e.ORDER_ATOMIC]},va=function(t,e){var i=this.getFieldValue("MODE"),n=0;return n="start"==i?0:"current"==i?1:2,e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".seek("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+","+n+")\n"},Xa=function(t,e){return e.definitions_.import_os="import os","os.chdir("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},xa=function(t,e){e.definitions_.import_os="import os";return["os.getcwd()",e.ORDER_ATOMIC]},ya=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"PATH",e.ORDER_ATOMIC)+")\n"},ba=function(t,e){return e.definitions_.import_os="import os","os.rename("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+","+e.valueToCode(this,"NEWFILE",e.ORDER_ATOMIC)+")\n"},Va=function(t,e){e.definitions_.import_os="import os";var i=e.valueToCode(this,"FILE",e.ORDER_ATOMIC);return["os."+this.getFieldValue("MODE")+"("+i+")",e.ORDER_ATOMIC]},Ba=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = sdcard.SDCard("+e.valueToCode(this,"SPISUB",e.ORDER_ATOMIC)+","+e.valueToCode(this,"PINSUB",e.ORDER_ATOMIC)+")\n"},Ga=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard","os.mount("+e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+","+e.valueToCode(this,"DIR",e.ORDER_ATOMIC)+")\n"},Ua=function(t,e){var i=e.variableDB_.getName(this.getFieldValue("NAME"),Rt.Procedures.NAME_TYPE),n=(this.getInput("STACK")&&e.statementToCode(this,"STACK"))??" pass\n";e.INFINITE_LOOP_TRAP&&(n=e.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+n);var s=e.valueToCode(this,"RETURN",e.ORDER_NONE)||"";s&&(s=" return "+s+"\n");for(var _=[],o=0;o\n\n\n\t\n"+e.statementToCode(this,"HEAD")+"\n\n"+e.statementToCode(this,"BODY")+"\n\n'''",e.ORDER_ATOMIC]},Cu=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"\n"+i+"\n"},Su=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");if("head"==n)var s="<"+n+'>\n\t\n'+i+"\n";else s="<"+n+">\n"+i+"\n";return s},Au=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"<"+n+">\n"+i+"\n"},Lu=function(t,e){var i=e.statementToCode(this,"DO"),n=e.valueToCode(this,"style"),s=this.getFieldValue("LEVEL");return"<"+s+" "+n+" >\n"+i+"\n"},Nu=function(t,e){return['style="'+e.statementToCode(this,"STYLE")+'"',e.ORDER_ATOMIC]},Du=function(t,e){return'"},fu=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},Fu=function(){return this.getFieldValue("TEXT")+"\n"},Pu=function(t){return t.getFieldValue("TEXT")+"\n"},Yu=function(t,e){return[t.getFieldValue("TEXT"),e.ORDER_ATOMIC]},vu=function(t,e){return(e.valueToCode(t,"VALUE",e.ORDER_ATOMIC)||"")+"\n"},Xu=function(){return""},xu=function(t,e){return["type("+(e.valueToCode(t,"VALUE",e.ORDER_MEMBER)||"___")+")",e.ORDER_ATOMIC]},yu=function(t,e){for(var i=t.getFieldValue("NAME"),n=t.hasReturn_,s=new Array(t.itemCount_),_=0;_0?e.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+t+"while True:\n"+a.join("")+u.join("\n"):e.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+t+u.join("\n")},Gu.scrubNakedValue=function(t){return t+"\n"},Gu.quote_=function(t){var e="'";return-1!==t.indexOf("'")&&(-1===t.indexOf('"')?e='"':t=t.replace(/'/g,"\\'")),e+t+e},Gu.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},Gu.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(_=t.getCommentText())&&(_=Rt.utils.string.wrap(_,Gu.COMMENT_WRAP-3),n+=Gu.prefixLines(_+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const Uu="#74A55B",wu={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MIDI),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.MIXLY_RGB_PIN_COUNT)}},ku={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Rt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Hu={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Rt.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(Rt.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},Wu={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(Rt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Ku={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(Rt.Msg.MIXLY_BACKSTAGE+Rt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_BACKSTAGE+Rt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Ju={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendValueInput("TICKS").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(Rt.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(Rt.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},Qu={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},qu={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_RESET)}},zu={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ju={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendValueInput("percent").appendField(Rt.Msg.MIXLY_MUSIC_VOLUME_SET),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},$u={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.MIXLY_SETTING).appendField(Rt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(Rt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_EXTERN_LED_SETONOFF)}},Zu={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Rt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},tr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Rt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},er={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.MIXLY_SETTING).appendField(Rt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(Rt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_EXTERN_LED_SETBRIGHT)}},ir={init:function(){this.setColour(Uu),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_SETUP+Rt.Msg.MIXLY_SERVO),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},nr={init:function(){this.setColour(Uu),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_SERVO).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("DEGREE",Number).setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_DEGREE_0_180),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_SERVO_MOVE)}},sr={init:function(){this.setColour(Uu),this.appendValueInput("VAR").appendField("360°"+Rt.Msg.MIXLY_SERVO),this.appendValueInput("SPEED",Number).setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_SETTING+Rt.Msg.blockpy_turtle_rotate+Rt.Msg.MIXLY_SPEED+" (-10~10)"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_SERVO_360_TOOLTIP)}},_r={init:function(){this.setColour(Uu),this.appendValueInput("PIN",Number).appendField("180°"+Rt.Msg.MIXLY_SERVO).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_SERVO_MOVE)}},or={init:function(){this.setColour(Uu),this.appendValueInput("PIN",Number).appendField("360°"+Rt.Msg.MIXLY_SERVO).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_SERVO_SPEED_TOOLIPS)}},pr={init:function(){this.setColour(Uu),this.appendValueInput("PIN",Number).appendField("180°"+Rt.Msg.MIXLY_SERVO).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET+Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},ar={init:function(){this.setColour(Uu),this.appendValueInput("PIN",Number).appendField("360°"+Rt.Msg.MIXLY_SERVO).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET+Rt.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},ur={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField("初始化").setCheck("var"),this.appendDummyInput().appendField("电机驱动"),this.appendDummyInput().appendField("地址").appendField(new Rt.FieldDropdown([["A","ms32006.ADDRESS_A"],["B","ms32006.ADDRESS_B"]]),"mode"),this.appendValueInput("SUB1").setCheck("var").setAlign(Rt.inputs.Align.RIGHT).appendField("通信"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("初始化MS32006电机驱动,使用I2C通信")}},rr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField("直流电机").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Direction).appendField(new Rt.FieldDropdown([[Rt.Msg.CLOCKWISE,"ms32006.MOT_CW"],[Rt.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"],[Rt.Msg.MOTOR_N,"ms32006.MOT_N"],[Rt.Msg.MOTOR_P,"ms32006.MOT_P"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_STEPPER_SET_SPEED),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置直流电机的状态及转速(0-100)")}},dr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField("步进电机").setCheck("var"),this.appendDummyInput().appendField("选择").appendField(new Rt.FieldDropdown([["A","ms32006.MOT_A"],["B","ms32006.MOT_B"]]),"mode"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Direction).appendField(new Rt.FieldDropdown([[Rt.Msg.CLOCKWISE,"ms32006.MOT_CW"],[Rt.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField("转速"),this.appendValueInput("steps").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField("步数"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置步进电机的状态、转速、步数(0-2047)")}},lr={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_PIN),this.appendValueInput("LEDCOUNT").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_COUNT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.MIXLY_RGB_PIN_COUNT)}},Ir={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("_LED_").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Rt.Msg.MIXLY_RGB_NUM_R_G_B_MP)}},Tr={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Rt.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},Mr={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_WRI)}},hr={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(Rt.Msg.MIXLY_DURATION).appendField(Rt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},mr={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(Rt.Msg.PYTHON_RANGE_STEP).appendField(Rt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Er={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(Rt.Msg.CONTROLS_FOR_INPUT_WITH+"uart").appendField(new Rt.FieldDropdown([["uart1","uart1"],["uart2","uart2"]]),"key"),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_SETUP+Rt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new Rt.FieldDropdown([["SYN6288"+Rt.Msg.MIXLY_AipSpeech_synthesis,"SYN6288"],["NS9300"+Rt.Msg.MIXLY_MUSIC_PLAYER,"NS9300"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Or={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_GET+Rt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_WHETHER).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_STOPPED,"0"],[Rt.Msg.MIXLY_PLAYING,"1"],[Rt.Msg.MIXLY_PAUSED,"2"]]),"key"),this.setInputsInline(!0),this.setOutput(!0)}},Rr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_STAT).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MP3_PLAY,"1"],[Rt.Msg.MIXLY_MP3_PAUSE,"2"],[Rt.Msg.MIXLY_STOP,"3"],[Rt.Msg.MIXLY_MP3_PREV,"4"],[Rt.Msg.MIXLY_MP3_NEXT,"5"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},cr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendValueInput("volume").appendField(Rt.Msg.MIXLY_MP3_VOL+Rt.Msg.MIXLY_STAT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_PLAYER_SET_VOLUME_TOOLTIP)}},gr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MODE+Rt.Msg.MIXLY_STAT).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MP3_LOOP_ALL,"0"],[Rt.Msg.MIXLY_MP3_LOOP_ONE,"1"],[Rt.Msg.MIXLY_PLAYER_DIRECTORY_LOOP,"2"],[Rt.Msg.MIXLY_MP3_LOOP_RAM,"3"],[Rt.Msg.MIXLY_PLAYER_SINGLE_STOP,"4"],[Rt.Msg.MIXLY_PLAYER_SEQUENTIAL_PLAY,"5"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Cr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_JS_START_MELODY,"play"],[Rt.Msg.MIXLY_PLAYER_INSERT_MUSIC,"insert"]]),"key"),this.appendValueInput("song"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_PLAYER_PLAY_MUSIC_TOOTIP)}},Sr={},Ar={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(Rt.Msg.MIXLY_SET_VOLUME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},Lr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET_VOLUME),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},Nr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(Rt.Msg.MIXLY_PLAY_HINTS),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PROGRAM_BLOCK).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Rt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_PLAY_HINTS_TOOLTIP)}},Dr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("data").setCheck(String).appendField(Rt.Msg.MIXLY_AipSpeech_synthesis),this.appendValueInput("VOICE").setCheck(Number).appendField(Rt.Msg.MIXLY_BACKGROUND_MUSIC),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PROGRAM_BLOCK).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Rt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_PLAY_TTS_TOOLTIP)}},fr={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.extern_addr),"PIN"),this.setOutput(!0,Number)}},Fr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.ME_GO_MOTOR_EXTERN+Rt.Msg.MIXLY_MOTOR).appendField(Rt.Msg.PIN_NUMBERING).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LEFT,"0"],[Rt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},Pr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.ME_GO_MOTOR_EXTERN+Rt.Msg.MIXLY_MOTOR).appendField(Rt.Msg.PIN_NUMBERING).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LEFT,"0"],[Rt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_GET+Rt.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},Yr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.ME_GO_MOTOR_EXTERN+Rt.Msg.MIXLY_TRAFFIC_LIGHT).appendField(Rt.Msg.PIN_NUMBERING).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LEFT,"0"],[Rt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.LISTS_SET_INDEX_SET).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_Turn_off_display,"0"],[Rt.Msg.MIXLY_TRAFFIC_LIGHT_RED_ON,"1"],[Rt.Msg.MIXLY_TRAFFIC_LIGHT_RED_BLINK,"2"],[Rt.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_ON,"3"],[Rt.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_BLINK,"4"],[Rt.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_ON,"5"],[Rt.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_BLINK,"6"]]),"light"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},vr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.ME_GO_MOTOR_EXTERN).appendField(new Rt.FieldDropdown([[Rt.Msg.COLOUR_RGB_WHITE,"W"],[Rt.Msg.COLOUR_RGB_RED,"R"],[Rt.Msg.COLOUR_RGB_YELLOW,"Y"],[Rt.Msg.COLOUR_RGB_GREEN,"G"],[Rt.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(Rt.Msg.PIN_NUMBERING).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LEFT,"0"],[Rt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("value").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Xr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.ME_GO_MOTOR_EXTERN).appendField(new Rt.FieldDropdown([[Rt.Msg.COLOUR_RGB_WHITE,"W"],[Rt.Msg.COLOUR_RGB_RED,"R"],[Rt.Msg.COLOUR_RGB_YELLOW,"Y"],[Rt.Msg.COLOUR_RGB_GREEN,"G"],[Rt.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(Rt.Msg.PIN_NUMBERING).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LEFT,"0"],[Rt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET+Rt.Msg.BRIGHTNESS),this.setOutput(!0,Number),this.setInputsInline(!0)}},xr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.ME_GO_MOTOR_EXTERN+Rt.Msg.MIXLY_SERVO_MOTOR).appendField(Rt.Msg.PIN_NUMBERING).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LEFT,"0"],[Rt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"[0]"],[Rt.Msg.MIXLY_SPEED,"[1]"],[Rt.Msg.MATH_SINGLE_OP_ABSOLUTE+Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[2]"],[Rt.Msg.MIXLY_RELATIVE+Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[3]"],[Rt.Msg.MIXLY_MIXBOT_SERVO_BLOCK_OR_NOT,"[4]"],[Rt.Msg.MIXLY_MIXBOT_SERVO_FINISH_OR_NOT,"[5]"],[Rt.Msg.MIXLY_ALL,""]]),"status"),this.setOutput(!0,Number),this.setInputsInline(!0)}},yr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.ME_GO_MOTOR_EXTERN+Rt.Msg.MIXLY_SERVO_MOTOR).appendField(Rt.Msg.PIN_NUMBERING).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LEFT,"0"],[Rt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MIXBOT_SERVO_SET_STOP_MODE).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_KEEP,"0"],[Rt.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_COAST,"1"],[Rt.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_BRAKE,"2"]]),"status"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},br={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.ME_GO_MOTOR_EXTERN+Rt.Msg.MIXLY_SERVO_MOTOR).appendField(Rt.Msg.PIN_NUMBERING).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LEFT,"0"],[Rt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_STOP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Vr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.ME_GO_MOTOR_EXTERN+Rt.Msg.MIXLY_SERVO_MOTOR).appendField(Rt.Msg.MATH_SINGLE_OP_ABSOLUTE+Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+Rt.Msg.MSG.run).appendField(Rt.Msg.PIN_NUMBERING).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LEFT,"0"],[Rt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MODE).setAlign(Rt.inputs.Align.RIGHT).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_SPEED+Rt.Msg.MIXLY_MODE,"0"],[Rt.Msg.MIXLY_MICROBIT_JS_BLE_POWER+Rt.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(Rt.inputs.Align.RIGHT).appendField(new Rt.FieldDropdown([[Rt.Msg.CLOCKWISE,"0"],[Rt.Msg.MIXLY_MIXBOT_SERVO_NEAREST_PATH,"1"],[Rt.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.appendValueInput("angle").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MIXBOT_SERVO_ABSOLUTE_ANGLE_TOOLTIP)}},Br={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.ME_GO_MOTOR_EXTERN+Rt.Msg.MIXLY_SERVO_MOTOR).appendField(Rt.Msg.MIXLY_RELATIVE+Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+Rt.Msg.MSG.run).appendField(Rt.Msg.PIN_NUMBERING).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LEFT,"0"],[Rt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ORIGIN_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Gr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.ME_GO_MOTOR_EXTERN+Rt.Msg.MIXLY_SERVO_MOTOR).appendField(Rt.Msg.MIXLY_RELATIVE+Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+Rt.Msg.MSG.run).appendField("("+Rt.Msg.MIXLY_MIXBOT_SERVO_LIKE_ENCODING_MOTOR+")").appendField(Rt.Msg.PIN_NUMBERING).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LEFT,"0"],[Rt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MODE).setAlign(Rt.inputs.Align.RIGHT).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_SPEED+Rt.Msg.MIXLY_MODE,"0"],[Rt.Msg.MIXLY_MICROBIT_JS_BLE_POWER+Rt.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField("%"),this.appendValueInput("angle").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ANGLE_TOOLTIP)}},Ur={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.ME_GO_MOTOR_EXTERN+Rt.Msg.MIXLY_SERVO_MOTOR).appendField(Rt.Msg.MIXLY_RELATIVE+Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+Rt.Msg.MSG.run).appendField("("+Rt.Msg.MIXLY_MIXBOT_SERVO_LIKE_ORDINARY_MOTOR+")").appendField(Rt.Msg.PIN_NUMBERING).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LEFT,"0"],[Rt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MODE).setAlign(Rt.inputs.Align.RIGHT).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_SPEED+Rt.Msg.MIXLY_MODE,"0"],[Rt.Msg.MIXLY_MICROBIT_JS_BLE_POWER+Rt.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(Rt.inputs.Align.RIGHT).appendField(new Rt.FieldDropdown([[Rt.Msg.CLOCKWISE,"0"],[Rt.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},wr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.MIXBOT).appendField(Rt.Msg.ME_GO_MOTOR_EXTERN).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MOTOR,"ext_motor"],[Rt.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[Rt.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[Rt.Msg.COLOUR_RGB_RED+"LED","R_LED"],[Rt.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[Rt.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[Rt.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[Rt.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MIXBOT_EXTERN_GET_ADDR),this.setOutput(!0),this.setInputsInline(!0)}},kr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.MIXBOT).appendField(Rt.Msg.ME_GO_MOTOR_EXTERN).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MOTOR,"ext_motor"],[Rt.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[Rt.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[Rt.Msg.COLOUR_RGB_RED+"LED","R_LED"],[Rt.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[Rt.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[Rt.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[Rt.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MIXBOT_EXTERN_SET_ADDR),this.appendValueInput("old").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE),this.appendValueInput("new").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_UPDATE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Hr={init:function(){this.setColour(Uu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_SETUP+Rt.Msg.MIXLY_AT).appendField(Rt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},Wr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.MIXLY_SETTING),this.appendValueInput("pin").appendField("LED"),this.appendValueInput("bright").appendField(Rt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Kr={init:function(){this.setColour(Uu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_SERVO+Rt.Msg.MIXLY_SETUP+Rt.Msg.MIXLY_AT).appendField(Rt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},Jr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_SERVO),this.appendValueInput("angle").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE),this.appendDummyInput().appendField(Rt.Msg.DRAW_POINTER_ANGLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Qr={init:function(){this.setColour(Uu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_MOTOR+Rt.Msg.MIXLY_SETUP+Rt.Msg.MIXLY_AT).appendField(Rt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},qr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MOTOR),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+Rt.Msg.MIXLY_SPEED),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},zr="#6C9858",jr={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(new Rt.FieldDropdown([["L1","1"],["L2","2"]]),"op"),this.setOutput(!0)}},$r={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_ESP32_ON,"1"],[Rt.Msg.MIXLY_ESP32_OFF,"0"],[Rt.Msg.MIXLY_ESP32_TOGGLE,"-1"]]),"flag"),this.setOutput(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},Zr={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(Rt.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(Rt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_LED_SETONOFF)}},td={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(Rt.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(Rt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_LED_GETBRIGHT)}},ed={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(Rt.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_LED_GETONOFF)}},id={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(Rt.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(Rt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_SETTING+Rt.Msg.MIXLY_BUILDIN_LED+Rt.Msg.MIXLY_BRIGHTNESS+"(0-100%)")}},nd={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(Rt.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_LCD_SETCOLOR).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LIGHT_RED,"1"],[Rt.Msg.MIXLY_LIGHT_GREEN,"2"],[Rt.Msg.MIXLY_LIGHT_BLUE,"3"],[Rt.Msg.MIXLY_LIGHT_YELLOW,"4"],[Rt.Msg.MIXLY_LIGHT_CYAN,"5"],[Rt.Msg.MIXLY_LIGHT_PURPLE,"6"],[Rt.Msg.MIXLY_LIGHT_WHITE,"7"]]),"colorvalue"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},sd={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_SETTING).appendField(Rt.Msg.MIXLY_BUILDIN_LED).appendField(new Rt.FieldDropdown([[Rt.Msg.COLOUR_RGB_RED,"r"],[Rt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(Rt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_LED_SETONOFF)}},_d={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Rt.Msg.MIXLY_BUILDIN_LED).appendField(new Rt.FieldDropdown([[Rt.Msg.COLOUR_RGB_RED,"r"],[Rt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_LED_GETONOFF)}},od={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Rt.Msg.MIXLY_BUILDIN_LED).appendField(new Rt.FieldDropdown([[Rt.Msg.COLOUR_RGB_RED,"r"],[Rt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_LED_GETONOFF)}},pd={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_SETTING).appendField(Rt.Msg.MIXLY_BUILDIN_LED).appendField(new Rt.FieldDropdown([[Rt.Msg.COLOUR_RGB_RED,"r"],[Rt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(Rt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_SETTING+Rt.Msg.MIXLY_BUILDIN_LED+Rt.Msg.MIXLY_BRIGHTNESS+"(0-10)")}},ad={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(new Rt.FieldDropdown([["L1","20"],["L2","21"]]),"op"),this.setOutput(!0)}},ud={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(ct.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgo_cc":case"micropython:esp32s2:mixgo_ce":this.setTooltip(Rt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgo_me":default:this.setTooltip(Rt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(Rt.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},rd={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Rt.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},dd={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(Rt.Msg.MIXLY_DURATION).appendField(Rt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},ld={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(Rt.Msg.PYTHON_RANGE_STEP).appendField(Rt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Id={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_WRI)}},Td={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(ct.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgocc":this.setTooltip(Rt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgome":default:this.setTooltip(Rt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(Rt.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},Md={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Rt.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},hd={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(Rt.Msg.PYTHON_RANGE_STEP).appendField(Rt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},md={init:function(){this.setColour(zr),this.appendValueInput("TICKS").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(Rt.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(Rt.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},Ed={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},Od={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_RESET)}},Rd={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Rt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},cd={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Rt.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(Rt.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},gd={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Cd={init:function(){this.setColour(zr),this.appendValueInput("LIST").appendField(Rt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Sd={init:function(){this.setColour(zr),this.appendValueInput("LIST").appendField(Rt.Msg.MIXLY_BACKSTAGE+Rt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Ad={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MOTOR_DC).appendField(new Rt.FieldDropdown([["1","1"],["2","2"],["3","3"]]),"wheel"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Direction).appendField(new Rt.FieldDropdown([[Rt.Msg.CLOCKWISE,"CW"],[Rt.Msg.ANTI_CLOCKWISE,"CCW"],[Rt.Msg.MOTOR_P,"P"],[Rt.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Ld={init:function(){this.setColour(zr),this.appendDummyInput().appendField("MixGo Car").appendField(new Rt.FieldDropdown([[Rt.Msg.blockpy_forward,"F"],[Rt.Msg.blockpy_backward,"B"],[Rt.Msg.blockpy_left,"L"],[Rt.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Nd={init:function(){this.setColour(zr),this.appendDummyInput("").appendField("MixGo Car").appendField(new Rt.FieldDropdown([[Rt.Msg.MOTOR_P,"P"],[Rt.Msg.MOTOR_N,"N"]]),"VAR"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Dd={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MOTOR_DC).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[Rt.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Direction).appendField(new Rt.FieldDropdown([[Rt.Msg.CLOCKWISE,"CW"],[Rt.Msg.ANTI_CLOCKWISE,"CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},fd={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MOTOR_DC).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[Rt.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_STOP).appendField(new Rt.FieldDropdown([[Rt.Msg.MOTOR_P,"P"],[Rt.Msg.MOTOR_N,"N"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Fd={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MIXBOT_MOTOR_STATUS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MIXBOT_MOTOR_STATUS_TOOLTIP)}},Pd={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXBOT).appendField(new Rt.FieldDropdown([[Rt.Msg.blockpy_forward,"F"],[Rt.Msg.blockpy_backward,"B"],[Rt.Msg.blockpy_left,"L"],[Rt.Msg.blockpy_right,"R"]]),"VAR"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[Rt.Msg.MIXLY_SPEED,"SPEED"],[Rt.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},Yd={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXBOT).appendField(new Rt.FieldDropdown([[Rt.Msg.MOTOR_P,"P"],[Rt.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},vd={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXBOT).appendField(Rt.Msg.MIXLY_MOTOR).appendField(new Rt.FieldDropdown([[Rt.Msg.TEXT_TRIM_LEFT,"1"],[Rt.Msg.TEXT_TRIM_RIGHT,"2"],[Rt.Msg.TEXT_TRIM_BOTH,"0"]]),"wheel"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[Rt.Msg.MIXLY_SPEED,"SPEED"],[Rt.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},Xd={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MIXBOT_BUZZER),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,"0"],[Rt.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,"1"]]),"on_off"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},xd={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.BITBOT).appendField(new Rt.FieldDropdown([[Rt.Msg.blockpy_forward,"F"],[Rt.Msg.blockpy_backward,"B"],[Rt.Msg.blockpy_left,"L"],[Rt.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},yd={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.BITBOT).appendField(new Rt.FieldDropdown([[Rt.Msg.MOTOR_P,"P"],[Rt.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},bd={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.BITBOT).appendField(Rt.Msg.MIXLY_MOTOR).appendField(new Rt.FieldDropdown([[Rt.Msg.TEXT_TRIM_LEFT,"0"],[Rt.Msg.TEXT_TRIM_RIGHT,"1"]]),"wheel"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Direction).appendField(new Rt.FieldDropdown([[Rt.Msg.CLOCKWISE,"CW"],[Rt.Msg.ANTI_CLOCKWISE,"CCW"],[Rt.Msg.MOTOR_P,"P"],[Rt.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Vd={init:function(){this.setColour(zr),this.appendValueInput("bright").appendField(Rt.Msg.MIXLY_MIXBOT_SOUND_SET_LOUDNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_LED_SETONOFF)}},Bd={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MIXBOT_SOUND_LOUDNESS+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_LED_GETONOFF)}},Gd={init:function(){this.setColour(zr),this.appendValueInput("bright").appendField(Rt.Msg.MIXLY_SETTING+Rt.Msg.MIXLY_MIXBOT_BUZZER+Rt.Msg.MIXLY_MP3_VOL),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_LED_SETONOFF)}},Ud={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET+Rt.Msg.MIXLY_MIXBOT_BUZZER+Rt.Msg.MIXLY_MP3_VOL+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_LED_GETONOFF)}},wd={init:function(){this.setColour(zr),this.appendValueInput("PATH").appendField(Rt.Msg.MIXLY_RECORD_AUDIO).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendValueInput("TIME").setCheck(Number).appendField(Rt.Msg.MIXLY_GET_PRESSES_TIME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},kd={init:function(){this.setColour(zr),this.appendValueInput("PATH").appendField(Rt.Msg.MIXLY_PLAY_AUDIO).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Hd={init:function(){this.setColour(zr),this.appendValueInput("PATH").appendField(Rt.Msg.MIXLY_PLAY_ONLINE_AUDIO).appendField("URL"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Wd={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Rt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Kd={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Jd={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.LISTS_SET_INDEX_SET+Rt.Msg.ME_GO_MOTOR_EXTERN).appendField(Rt.Msg.PIN_NUMBERING);if("micropython:esp32c2:mixgo_mini"===ct.Boards.getSelectedBoardKey())this.appendDummyInput().appendField(new Rt.FieldDropdown([["1","1"],["2","2"]]),"index");else this.appendDummyInput().appendField(new Rt.FieldDropdown([["1","1"],["2","2"],["3","3"],["4","4"]]),"index");this.appendValueInput("duty").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.blynk_IOT_IR_POWER+Rt.Msg.MIXLY_PINMODEOUT),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},Qd={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET+Rt.Msg.ME_GO_MOTOR_EXTERN).appendField(Rt.Msg.PIN_NUMBERING);if("micropython:esp32c2:mixgo_mini"===ct.Boards.getSelectedBoardKey())this.appendDummyInput().appendField(new Rt.FieldDropdown([["1","1"],["2","2"]]),"index");else this.appendDummyInput().appendField(new Rt.FieldDropdown([["1","1"],["2","2"],["3","3"],["4","4"]]),"index");this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.blynk_IOT_IR_POWER+Rt.Msg.MIXLY_PINMODEOUT+Rt.Msg.MIXLY_DUTY_RATIO),this.setOutput(!0,Number),this.setInputsInline(!0)}},qd={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.LISTS_SET_INDEX_SET+Rt.Msg.ME_GO_MOTOR_EXTERN).appendField(Rt.Msg.MIXLY_ALL+Rt.Msg.PIN_NUMBERING),this.appendValueInput("duty").setCheck(Number).setAlign(Rt.ALIGN_RIGHT).appendField(Rt.Msg.blynk_IOT_IR_POWER+Rt.Msg.MIXLY_PINMODEOUT+Rt.Msg.MIXLY_FREQUENCY),this.appendDummyInput().appendField("Hz"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},zd={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.ANALOG+Rt.Msg.MIXLY_KEYBOARD_INPUT),this.appendValueInput("special"),this.appendValueInput("general"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_RELEASE).appendField(new Rt.FieldDropdown([[Rt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[Rt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"release"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.ANALOG+Rt.Msg.MIXLY_KEYBOARD_INPUT)}},jd={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_SPECIAL_KEY).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_SPECIAL_KEY0,"0x00"],[Rt.Msg.MIXLY_SPECIAL_KEY1,"0x01"],[Rt.Msg.MIXLY_SPECIAL_KEY2,"0x02"],[Rt.Msg.MIXLY_SPECIAL_KEY4,"0x04"],[Rt.Msg.MIXLY_SPECIAL_KEY8,"0x08"],[Rt.Msg.MIXLY_SPECIAL_KEY16,"0x10"],[Rt.Msg.MIXLY_SPECIAL_KEY32,"0x20"],[Rt.Msg.MIXLY_SPECIAL_KEY64,"0x40"],[Rt.Msg.MIXLY_SPECIAL_KEY128,"0x80"]]),"op"),this.setOutput(!0)}},$d={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_GENERAL_KEY).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_SPECIAL_KEY0,"0x00"],["A","0x04"],["B","0x05"],["C","0x06"],["D","0x07"],["E","0x08"],["F","0x09"],["G","0x0A"],["H","0x0B"],["I","0x0C"],["J","0x0D"],["K","0x0E"],["L","0x0F"],["M","0x10"],["N","0x11"],["O","0x12"],["P","0x13"],["Q","0x14"],["R","0x15"],["S","0x16"],["T","0x17"],["U","0x18"],["V","0x19"],["W","0x1A"],["X","0x1B"],["Y","0x1C"],["Z","0x1D"],["1 !","0x1E"],["2 @","0x1F"],["3 #","0x20"],["4 $","0x21"],["5 %","0x22"],["6 ^","0x23"],["7 &","0x24"],["8 *","0x25"],["9 (","0x26"],["0 )","0x27"],["ENTER","0x28"],["ESC","0x29"],["BACKSPACE","0x2A"],["TAB","0x2B"],["SPACE","0x2C"],["- _","0x2D"],["= +","0x2E"],["[ {","0x2F"],["] }","0x30"],["\\ |","0x31"],["; :","0x33"],["' \"","0x34"],["` ~","0x35"],[", <","0x36"],[". >","0x37"],["/ ?","0x38"],["CAPS_LOCK","0x39"],["F1","0x3A"],["F2","0x3B"],["F3","0x3C"],["F4","0x3D"],["F5","0x3E"],["F6","0x3F"],["F7","0x40"],["F8","0x41"],["F9","0x42"],["F10","0x43"],["F11","0x44"],["F12","0x45"],["PRINTSCREEN","0x46"],["SCROLL_LOCK","0x47"],["PAUSE","0x48"],["INSERT","0x49"],["HOME","0x4A"],["PAGE_UP","0x4B"],["DELETE","0x4C"],["END","0x4D"],["PAGE_DOWN","0x4E"],["RIGHT","0x4F"],["LEFT","0x50"],["DOWN","0x51"],["UP","0x52"],["NUM_LOCK","0x53"],["/","0x54"],["*","0x55"],["-","0x56"],["+","0x57"],["ENTER","0x58"],["1","0x59"],["2","0x5A"],["3","0x5B"],["4","0x5C"],["5","0x5D"],["6","0x5E"],["7","0x5F"],["8","0x60"],["9","0x61"],["0","0x62"],[".","0x63"]]),"op"),this.setOutput(!0)}},Zd={init:function(){this.setColour(zr),this.itemCount_=2,this.updateShape_(),this.setOutput(!0),this.setMutator(new Rt.icons.MutatorIcon(["generalkey_create_with_item"],this)),this.setTooltip(Rt.Msg.GENERALKEY_TUPLE_CREATE_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("generalkey_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;nnew Array(32).fill(0)))},hm={init:function(){this.jsonInit({colour:_m,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SAD","SAD"],["SMILE","SMILE"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["SURPRISED","SURPRISED"],["ASLEEP","ASLEEP"],["ANGRY","ANGRY"],["CONFUSED","CONFUSED"],["NO","NO"],["YES","YES"]],type:"field_dropdown"}],output:["esp32_image","List"],helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#attributes",tooltip:Rt.Msg.MIXLY_MICROBIT_Built_in_image1,message0:Rt.Msg.MIXLY_MICROBIT_Built_in_image})}},mm={init:function(){this.setColour(_m),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new Rt.FieldDropdown(ct.Profile.default.builtinimg),"image"),this.setOutput(!0,["esp32_image","List"])}},Em={init:function(){this.setColour(_m),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(Rt.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new Rt.FieldDropdown(Em.OPERATORS),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{"+":Rt.Msg.MIXLY_MICROBIT_image_add,"-":Rt.Msg.MIXLY_MICROBIT_image_reduce}[e]}))},OPERATORS:[[Rt.Msg.MICROBIT_DISPLAY_UNION,"add"],[Rt.Msg.MICROBIT_DISPLAY_MINUS,"sub"]]},Om={init:function(){this.setColour(_m),this.appendValueInput("A").setCheck("esp32_image").appendField(Rt.Msg.MIXLY_MICROBIT_Invert_image1),this.setInputsInline(!0),this.setOutput(!0,"esp32_image")}},Rm={init:function(){this.setColour(_m),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(Rt.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(Rt.Msg.DISPLAY_IMAGE_LET2).appendField(new Rt.FieldDropdown(Rm.OPERATORS),"OP"),this.appendValueInput("val").appendField(Rt.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(Rt.Msg.DISPLAY_IMAGE_UNIT);ct.Boards.getSelectedBoardKey();"Python ESP32-S3"===ct.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(Rt.Msg.MIXLY_synchronize);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=Rt.Msg.DISPLAY_IMAGE_LET,n=Rt.Msg.DISPLAY_IMAGE_LET2,s=Rt.Msg.DISPLAY_IMAGE_LET3;return i+n+{shift_up:Rt.Msg.MIXLY_UP,shift_down:Rt.Msg.MIXLY_DOWN,shift_left:Rt.Msg.MIXLY_LEFT,shift_right:Rt.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[Rt.Msg.MIXLY_UP,"shift_up"],[Rt.Msg.MIXLY_DOWN,"shift_down"],[Rt.Msg.MIXLY_LEFT,"shift_left"],[Rt.Msg.MIXLY_RIGHT,"shift_right"]]},cm={init:function(){this.setColour(_m),this.appendValueInput("x").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_JS_MONITOR_GET_POINT),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},gm={init:function(){this.setColour(_m),this.appendValueInput("x").setCheck(Number).appendField(Rt.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},Cm={init:function(){this.setColour(_m),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},Sm={init:function(){this.setColour(_m),this.appendValueInput("x").setCheck(Number).appendField(Rt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},Am={init:function(){this.setColour(_m),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Clear_display);ct.Boards.getSelectedBoardKey();"Python ESP32-S3"===ct.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(Rt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Clear_display)}},Lm={init:function(){this.setColour(_m),this.appendDummyInput().appendField(Rt.Msg.MIXLY_SHOW+Rt.Msg.MIXLY_DISPLAY_MATRIX_WRITE_NOW),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Nm={init:function(){this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<5;t++){let e=this.appendDummyInput();for(let i=0;i<8;i++)e.appendField(new Rt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(_m),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Dm={init:function(){this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Rt.inputs.Align.CENTRE).appendField(new Rt.FieldBitmap(Dm.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(_m),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(8).fill(0)))},fm={init:function(){this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<8;t++){let e=this.appendDummyInput();for(let i=0;i<12;i++)e.appendField(new Rt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(_m),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Fm={init:function(){this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Rt.inputs.Align.CENTRE).appendField(new Rt.FieldBitmap(Fm.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(_m),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(12).fill(0)))},Pm={init:function(){this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<8;t++){let e=this.appendDummyInput();for(let i=0;i<16;i++)e.appendField(new Rt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0,"esp32_image"),this.setColour(_m),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Ym={init:function(){this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Rt.inputs.Align.CENTRE).appendField(new Rt.FieldBitmap(Ym.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(_m),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(16).fill(0)))},vm={init:function(){this.setColour(_m),this.appendDummyInput().appendField(Rt.Msg.OLED_SET_FONT).appendField(new Rt.FieldDropdown(vm.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[["4x5"+Rt.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'4x5'"],["5x5"+Rt.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'5x5'"],["5x8"+Rt.Msg.MIXGO_ME_DISPLAY_VERTICAL,"'5x8'"]]},Xm={init:function(){this.setColour(_m),this.appendValueInput("data").appendField(Rt.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.OLED_BITMAP_OR_STRING)}},xm={init:function(){this.setColour(_m),this.appendValueInput("data").appendField(Rt.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.OLED_BITMAP_OR_STRING)}},ym={init:function(){this.setColour(_m),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(Rt.Msg.OLED_DRAWSTR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.OLED_BITMAP_OR_STRING)}},bm={init:function(){this.setColour(_m),this.appendValueInput("data").appendField(Rt.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Rt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(Rt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(Rt.Msg.TEXT_CENTER).appendField(new Rt.FieldDropdown([[Rt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[Rt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},Vm={init:function(){this.setColour(_m),this.appendValueInput("data").appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Rt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(Rt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},Bm={init:function(){this.setColour(_m),this.appendValueInput("data").appendField(Rt.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(Rt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Gm={init:function(){this.setColour(_m),this.appendValueInput("x").setCheck(Number).appendField(Rt.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},Um={init:function(){this.jsonInit({colour:_m,args0:[{name:"state",options:[[Rt.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[Rt.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"shape",options:[[Rt.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[Rt.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"}],inputsInline:!0,helpUrl:Rt.Msg.mpython_HELPURL,tooltip:Rt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:Rt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},wm={init:function(){this.jsonInit({colour:_m,args0:[{name:"state",options:[[Rt.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[Rt.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"dir_h_v",options:[[Rt.Msg.mpython_vertical,"0"],[Rt.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"}],inputsInline:!0,helpUrl:Rt.Msg.mpython_HELPURL,tooltip:Rt.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:Rt.Msg.MPYTHON_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},km={init:function(){this.jsonInit({colour:_m,args0:[{name:"state",options:[[Rt.Msg.mpython_display_hline_1,"1"],[Rt.Msg.mpython_display_hline_0,"0"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"}],inputsInline:!0,helpUrl:Rt.Msg.mpython_HELPURL,tooltip:Rt.Msg.mpython_display_line_TOOLTIP,message0:Rt.Msg.mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},Hm={init:function(){this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new Rt.FieldDropdown(Hm.IMAGES),"path"),this.setColour(_m),this.setOutput(!0)},IMAGES:[["Heart","expression_picture.Heart"],["Angry","expression_picture.Angry"],["Bored","expression_picture.Bored"],["Confused","expression_picture.Confused"],["Happy","expression_picture.Happy"],["Paper","expression_picture.Paper"],["Rock","expression_picture.Rock"],["Sad","expression_picture.Sad"],["Scissors","expression_picture.Scissors"],["Silly","expression_picture.Silly"],["Sleep","expression_picture.Sleep"],["Small_heart","expression_picture.Small_heart"],["Small_paper","expression_picture.Small_paper"],["Small_rock","expression_picture.Small_rock"],["Small_scissors","expression_picture.Small_scissors"],["Smile","expression_picture.Smile"],["Surprise","expression_picture.Surprise"],["Wonderful","expression_picture.Wonderful"],["Eyes_Angry","eye_picture.Eyes_Angry"],["Awake","eye_picture.Awake"],["Black_eye","eye_picture.Black_eye"],["Bottom_left","eye_picture.Bottom_left"],["Bottom_right","eye_picture.Bottom_right"],["Crazy_1","eye_picture.Crazy_1"],["Crazy_2","eye_picture.Crazy_2"],["Disappointed","eye_picture.Disappointed"],["Dizzy","eye_picture.Dizzy"],["Down","eye_picture.Down"],["Evil","eye_picture.Evil"],["Hurt","eye_picture.Hurt"],["Knocked_out","eye_picture.Knocked_out"],["Love","eye_picture.Love"],["Middle_left","eye_picture.Middle_left"],["Middle_right","eye_picture.Middle_right"],["Neutral","eye_picture.Neutral"],["Nuclear","eye_picture.Nuclear"],["Pinch_left","eye_picture.Pinch_left"],["Pinch_middle","eye_picture.Pinch_middle"],["Pinch_right","eye_picture.Pinch_right"],["Tear","eye_picture.Tear"],["Tired_left","eye_picture.Tired_left"],["Tired_middle","eye_picture.Tired_middle"],["Tired_right","eye_picture.Tired_right"],["Toxic","eye_picture.Toxic"],["Up","eye_picture.Up"],["Winking","eye_picture.Winking"],["Accept","informatio_picture.Accept"],["Backward","informatio_picture.Backward"],["Decline","informatio_picture.Decline"],["Forward","informatio_picture.Forward"],["Left","informatio_picture.Left"],["No_go","informatio_picture.No_go"],["Question_mark","informatio_picture.Question_mark"],["Right","informatio_picture.Right"],["Stop_1","informatio_picture.Stop_1"],["Stop_2","informatio_picture.Stop_2"],["Thumbs_down","informatio_picture.Thumbs_down"],["Thumbs_up","informatio_picture.Thumbs_up"],["Warning","informatio_picture.Warning"],["Bomb","object_picture.Bomb"],["Boom","object_picture.Boom"],["Fire","object_picture.Fire"],["Flowers","object_picture.Flowers"],["Forest","object_picture.Forest"],["Lightning","object_picture.Lightning"],["Light_off","object_picture.Light_off"],["Light_on","object_picture.Light_on"],["Night","object_picture.Night"],["Pirate","object_picture.Pirate"],["Snow","object_picture.Snow"],["Target","object_picture.Target"],["Bar_0","progres_picture.Bar_0"],["Bar_1","progres_picture.Bar_1"],["Bar_2","progres_picture.Bar_2"],["Bar_3","progres_picture.Bar_3"],["Bar_4","progres_picture.Bar_4"],["Dial_0","progres_picture.Dial_0"],["Dial_1","progres_picture.Dial_1"],["Dial_2","progres_picture.Dial_2"],["Dial_3","progres_picture.Dial_3"],["Dial_4","progres_picture.Dial_4"],["Dots_0","progres_picture.Dots_0"],["Dots_1","progres_picture.Dots_1"],["Dots_2","progres_picture.Dots_2"],["Dots_3","progres_picture.Dots_3"],["Hourglass_0","progres_picture.Hourglass_0"],["Hourglass_1","progres_picture.Hourglass_1"],["Hourglass_2","progres_picture.Hourglass_2"],["Timer_0","progres_picture.Timer_0"],["Timer_1","progres_picture.Timer_1"],["Timer_2","progres_picture.Timer_2"],["Timer_3","progres_picture.Timer_3"],["Timer_4","progres_picture.Timer_4"],["Water_level_0","progres_picture.Water_level_0"],["Water_level_1","progres_picture.Water_level_1"],["Water_level_2","progres_picture.Water_level_2"],["Water_level_3","progres_picture.Water_level_3"],["YES","informatio_picture.YES"],["NO","informatio_picture.NO"]]},Wm={init:function(){this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<5;t++){let e=this.appendDummyInput();for(let i=0;i<5;i++)e.appendField(new Rt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(_m),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Km={init:function(){this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Rt.inputs.Align.CENTRE).appendField(new Rt.FieldBitmap(Km.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(_m),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(5).fill(0)))},Jm={init:function(){this.setColour(_m),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},Qm={init:function(){this.setColour(_m),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MIXBOT_AMBIENTBRIGHT),this.setInputsInline(!0),this.setOutput(!0,Number)}},qm={init:function(){this.setColour(_m),this.appendValueInput("x").setCheck(Number).appendField(Rt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},zm={init:function(){this.setColour(_m),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MIXBOT_SCREEN_ROTATE).appendField(new Rt.FieldDropdown(zm.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[[Rt.Msg.mixpy_PL_PIE_SHADOW_N,"0"],[Rt.Msg.CLOCKWISE+"90"+Rt.Msg.blockpy_setheading_degree,"1"],[Rt.Msg.CLOCKWISE+"180"+Rt.Msg.blockpy_setheading_degree,"2"],[Rt.Msg.CLOCKWISE+"270"+Rt.Msg.blockpy_setheading_degree,"3"]]},jm={init:function(){this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<12;t++){let e=this.appendDummyInput();for(let i=0;i<12;i++)e.appendField(new Rt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(_m),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},$m={init:function(){this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Rt.inputs.Align.CENTRE).appendField(new Rt.FieldBitmap($m.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(_m),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:12},(()=>new Array(12).fill(0)))},Zm={init:function(){this.setColour(_m),this.appendValueInput("data").appendField(Rt.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(Rt.Msg.HTML_COLOUR);ct.Boards.getSelectedBoardKey();"Python ESP32-S3"===ct.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(Rt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},tE={init:function(){this.setColour(_m),this.appendValueInput("x").setCheck(Number).appendField(Rt.Msg.OLED_BITMAP).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("direct").setCheck(String).appendField(Rt.Msg.MIXLY_AipImageClassify_Image+Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},eE={init:function(){this.setColour(_m),this.appendValueInput("data").appendField(Rt.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Rt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(Rt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(Rt.Msg.TEXT_CENTER).appendField(new Rt.FieldDropdown([[Rt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[Rt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.appendValueInput("VAR").appendField(Rt.Msg.HTML_COLOUR);ct.Boards.getSelectedBoardKey();"Python ESP32-S3"===ct.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(Rt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},iE={init:function(){this.setColour(_m),this.appendValueInput("data").appendField(Rt.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(Rt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("VAR").appendField(Rt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},nE={init:function(){this.jsonInit({colour:_m,args0:[{name:"shape",options:[[Rt.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[Rt.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:Rt.Msg.mpython_HELPURL,tooltip:Rt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:Rt.Msg.ONBOARD_TFT_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},sE={init:function(){this.jsonInit({colour:_m,args0:[{name:"dir_h_v",options:[[Rt.Msg.mpython_vertical,"0"],[Rt.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:Rt.Msg.mpython_HELPURL,tooltip:Rt.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:Rt.Msg.ONBOARD_TFT_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},_E={init:function(){this.jsonInit({colour:_m,args0:[{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:Rt.Msg.mpython_HELPURL,tooltip:Rt.Msg.mpython_display_line_TOOLTIP,message0:Rt.Msg.onboard_mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},oE={init:function(){this.setColour(_m),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("x").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(Rt.Msg.HTML_COLOUR),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},pE={init:function(){this.setColour(_m),this.appendValueInput("x").setCheck(Number).appendField(Rt.Msg.MIXLY_LCD_SETCOLOR).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("VAR").appendField(Rt.Msg.HTML_COLOUR);ct.Boards.getSelectedBoardKey();"Python ESP32-S3"===ct.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(Rt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},aE={init:function(){this.setColour(_m),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_SCREEN_FILL);ct.Boards.getSelectedBoardKey();"Python ESP32-S3"===ct.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(Rt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},uE={init:function(){this.setColour(_m),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_INIT_CLOCK),this.appendDummyInput().appendField(Rt.Msg.MIXLY_CENTER_POS),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Rt.Msg.OLED_CIRCLE_RADIUS),this.appendValueInput("VAR").appendField(Rt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},rE={init:function(){this.setColour(_m),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Rt.Msg.GET_RTCTIME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},dE={init:function(){this.setColour(_m),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Rt.Msg.SET_TIME),this.appendValueInput("h").setCheck(Number).appendField(Rt.Msg.MIXLY_HOUR),this.appendValueInput("m").setCheck(Number).appendField(Rt.Msg.MIXLY_MINUTE),this.appendValueInput("s").setCheck(Number).appendField(Rt.Msg.MIXLY_SECOND),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},lE={init:function(){this.setColour(_m),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Rt.Msg.DRAW_CLOCK),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},IE={init:function(){this.setColour(_m),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Rt.Msg.CLEAR_CLOCK),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_STM32_TFT_BACKGROUND_COLOR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},TE={init:function(){this.jsonInit({colour:_m,args0:[{name:"shape",options:[[Rt.Msg.MPYTHON_DISPLAY_HOLLOW,"False"],[Rt.Msg.MPYTHON_DISPLAY_SOLID,"True"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"r",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:Rt.Msg.mpython_HELPURL,message0:Rt.Msg.ONBOARD_TFT_DISPLAY_SHAPE_CIRCLE_MESSAGE0,nextStatement:null,previousStatement:null})}},ME={init:function(){this.setColour(_m),this.appendDummyInput().appendField(Rt.Msg.DRAW_POINTER).appendField(Rt.Msg.DRAW_POINTER_ANGLE),this.appendValueInput("angle"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_DRAW_POINTER_DU),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.DRAW_POINTER_TOOLTIP)}},hE={init:function(){this.setColour(_m),this.appendDummyInput().appendField(Rt.Msg.DRAW_POINTER).appendField(Rt.Msg.DRAW_POINTER_ANGLE),this.appendValueInput("angle"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_DRAW_POINTER_DU),this.appendValueInput("VAR").appendField(Rt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.DRAW_POINTER_TOOLTIP)}},mE={init:function(){this.setColour(_m),this.appendValueInput("data").appendField(Rt.Msg.MIXLY_Display_long_text),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(Rt.Msg.HTML_COLOUR);ct.Boards.getSelectedBoardKey();"Python ESP32-S3"===ct.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(Rt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},EE={init:function(){this.setColour(_m),this.appendValueInput("direct").appendField(Rt.Msg.OLED_BITMAP).appendField(Rt.Msg.MIXLY_QR_CODE),"Python ESP32-S3"===ct.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(Rt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},OE={init:function(){this.setColour(_m),this.appendValueInput("data").appendField(Rt.Msg.OLED_BITMAP).appendField(Rt.Msg.MIXLY_QR_CODE),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_ERROR_RATE).appendField(new Rt.FieldDropdown([["0","7%"],["1","15%"],["2","25%"],["3","30"]]),"correct"),this.appendValueInput("VAR").appendField(Rt.Msg.HTML_COLOUR),"Python ESP32-S3"===ct.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(Rt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},RE={init:function(){this.setColour(_m),this.appendValueInput("data").appendField(Rt.Msg.OLED_BITMAP),this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.OLED_BITMAP_OR_STRING),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},cE={init:function(){am.init.call(this),this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},gE={init:function(){lm.init.call(this),this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},CE={init:function(){Rm.init.call(this),this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},SE={init:function(){Cm.init.call(this),this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},AE={init:function(){Sm.init.call(this),this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},LE={init:function(){Am.init.call(this),this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},NE=180,DE={init:function(){this.setColour(NE),this.setOutput(!0),this.setInputsInline(!0),this.appendValueInput("img").appendField(Rt.Msg.DISPLAY_IMAGE_LET).setCheck(["esp32_image","List",String]),this.appendDummyInput("").appendField(Rt.Msg.DISPLAY_IMAGE_LET2).appendField(new Rt.FieldDropdown(DE.OPERATORS),"OP"),this.appendValueInput("val").appendField(Rt.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(Rt.Msg.DISPLAY_IMAGE_UNIT);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=Rt.Msg.DISPLAY_IMAGE_LET,n=Rt.Msg.DISPLAY_IMAGE_LET2,s=Rt.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:Rt.Msg.MIXLY_UP,down:Rt.Msg.MIXLY_DOWN,left:Rt.Msg.MIXLY_LEFT,right:Rt.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[Rt.Msg.MIXLY_UP,"up"],[Rt.Msg.MIXLY_DOWN,"down"],[Rt.Msg.MIXLY_LEFT,"left"],[Rt.Msg.MIXLY_RIGHT,"right"]]},fE={init:function(){this.setColour(NE),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(Rt.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new Rt.FieldDropdown(fE.OPERATORS),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{"+":Rt.Msg.MIXLY_MICROBIT_image_add,"-":Rt.Msg.MIXLY_MICROBIT_image_reduce}[e]}))},OPERATORS:[[Rt.Msg.MICROBIT_DISPLAY_UNION,"+"],[Rt.Msg.MICROBIT_DISPLAY_MINUS,"-"]]},FE={init:function(){this.setColour(NE),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+Rt.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("esp32_image"),this.appendDummyInput("").appendField(new Rt.FieldDropdown(FE.OPERATORS),"OP"),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+Rt.Msg.MIXLY_MICROBIT_IMAGE+{height:Rt.Msg.MIXLY_HEIGHT,width:Rt.Msg.MIXLY_WIDTH}[e]}))},OPERATORS:[[Rt.Msg.MIXLY_HEIGHT,"height"],[Rt.Msg.MIXLY_WIDTH,"width"]]},PE={init:function(){this.setColour(NE),this.appendValueInput("VAR").appendField(Rt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RECT).appendField(new Rt.FieldDropdown(PE.STATUS),"OP"),this.jsonInit({message0:Rt.Msg.MIXLY_MICROBIT_SHOW_RECT,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"width"},{check:Number,type:"input_value",name:"height"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Rt.Msg.MIXLY_OLED_RECT)},STATUS:[[Rt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[Rt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},YE={init:function(){this.setColour(NE),this.appendValueInput("VAR").appendField(Rt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE).appendField(new Rt.FieldDropdown(YE.STATUS),"OP"),this.jsonInit({message0:Rt.Msg.MIXLY_HANBIT_SHOW_CIRCLE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"r"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Rt.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE)},STATUS:[[Rt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[Rt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},vE={init:function(){this.setColour(NE),this.appendValueInput("VAR").appendField(Rt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_DISPLAY_DRAW+Rt.Msg.MIXLY_HANBIT_DRAW_TRIANGLE).appendField(new Rt.FieldDropdown(vE.STATUS),"OP"),this.jsonInit({message0:Rt.Msg.MIXLY_HANBIT_SHOW_triangle,args0:[{check:Number,type:"input_value",name:"x0"},{check:Number,type:"input_value",name:"y0"},{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Rt.Msg.MIXLY_DISPLAY_DRAW+Rt.Msg.MIXLY_HANBIT_DRAW_TRIANGLE)},STATUS:[[Rt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[Rt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},XE="#777777",xE={init:function(){this.setColour(XE),this.appendDummyInput("").appendField("from ").appendField(new Rt.FieldTextInput("ESP32"),"path").appendField(" import ").appendField(new Rt.FieldTextInput("*"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},yE={init:function(){this.setColour(XE),this.appendDummyInput("").appendField("import ").appendField(new Rt.FieldTextInput("module"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},bE={init:function(){this.setColour(XE),this.appendDummyInput("").appendField(new Rt.FieldTextInput("my_function"),"NAME"),this.itemCount_=1,this.arguments_=["x"],this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Rt.icons.MutatorIcon(["factory_create_with_item"],this))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("items",this.itemCount_);for(var e=0;ee?t[e]:'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},SO={init:function(){this.setColour(mO),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(Rt.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},AO={init:function(){this.setColour(mO),this.appendDummyInput().appendField(Rt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},LO={init:function(){this.setColour(mO),this.appendDummyInput().appendField(Rt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},NO={init:function(){this.setColour(mO),this.appendDummyInput().appendField(Rt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").setCheck(String).appendField(Rt.Msg.MIXLY_EMQX_SERVER).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(Rt.Msg.MIXLY_WIFI_USERNAME).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(Rt.Msg.MIXLY_IOT_PASSWORD).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("PROJECT").setCheck(String).appendField(Rt.Msg.MIXLY_EMQX_PROJECT).setAlign(Rt.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},DO={init:function(){this.setColour(mO),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(Rt.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(Rt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(Rt.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},fO={init:function(){this.setColour(mO),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(Rt.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(Rt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(Rt.Msg.HTML_BODY),this.appendDummyInput().appendField(Rt.Msg.MIXLY_Service_quality_display).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_AT_MOST_ONCE,"0"],[Rt.Msg.MIXLY_AT_LEAST_ONCE,"1"]]),"quality"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},FO={init:function(){this.setColour(mO),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(Rt.Msg.MIXLY_EMQX_SUBSCRIBE+Rt.Msg.MIXLY_MICROBIT_MSG).appendField(Rt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(Rt.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_IOT_EMQX_SUBSCRIBE_TOOLTIP)}},PO={init:function(){this.setColour(mO),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},YO={init:function(){this.setColour(mO),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_EMQX_CONNECT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},vO={init:function(){this.setColour(mO),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_CHECK_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},XO={init:function(){this.setColour(mO),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(Rt.Msg.MQTT_Topic),this.setInputsInline(!0),this.setOutput(!0)}},xO={init:function(){this.setColour(mO),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(Rt.Msg.MIXLY_EMQX_PUBLISH_MSG),this.setInputsInline(!0),this.setOutput(!0)}},yO={init:function(){this.setColour(mO),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_ESP32_IOT_MAP_FORMATING),this.setOutput(!0)}},bO={init:function(){this.setColour(mO),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_MICROPYTHON_FORMAT+"(Json)"),this.setOutput(!0)}},VO={init:function(){this.setColour(mO),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_EMQX_PING),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_IOT_EMQX_PING_TOOLTIP)}},BO={init:function(){this.setColour(mO),this.appendDummyInput().appendField("MixIO").appendField(Rt.Msg.MIXLY_GET_NTP),this.appendValueInput("addr").appendField(Rt.Msg.blynk_SERVER_ADD),this.setInputsInline(!0),this.setOutput(!0)}},GO={init:function(){this.setColour(mO),this.appendDummyInput().appendField(Rt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(Rt.Msg.MIXLY_EMQX_SERVER).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(Rt.Msg.CONTROLS_FOR_INPUT_WITH+Rt.Msg.MIXLY_MIXIO_SHARE_KEY).setAlign(Rt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},UO={init:function(){this.setColour(mO),this.appendDummyInput().appendField(Rt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(Rt.Msg.MIXLY_EMQX_SERVER).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(Rt.Msg.CONTROLS_FOR_INPUT_WITH+"Mixly Key").setAlign(Rt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},wO={init:function(){this.VISITOR_ID=ct.Config.BOARD.visitorId.str32.substring(0,8).toUpperCase(),this.setColour(mO),this.appendDummyInput("").appendField(new Rt.FieldTextInput(this.visitorId),"VISITOR_ID"),this.setOutput(!0,null)},onchange:function(){const t=this.getFieldValue("VISITOR_ID");this.VISITOR_ID!==t&&this.setFieldValue(this.VISITOR_ID,"VISITOR_ID")}},kO={init:function(){this.setColour(mO),this.appendDummyInput().appendField("MixIO").appendField(Rt.Msg.MSG.catEthernet_clinet),this.setOutput(!0),this.setInputsInline(!0)}},HO={init:function(){this.setColour(mO),this.appendDummyInput().appendField("HTTP"+Rt.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(Rt.Msg.DISPLAY_IMAGE_LET2),this.appendDummyInput().appendField(Rt.Msg.MIXLY_REQUESTS_GET).appendField(Rt.Msg.MIXLY_GET_CURRENT_TIME).appendField(Rt.Msg.MIXLY_OPEN_DEBUG).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Rt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},WO={init:function(){this.setColour(mO),this.appendDummyInput().appendField("HTTP"+Rt.Msg.MIXLY_Client).appendField(Rt.Msg.MIXLY_GET).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_REQUESTS_LEN,"client_len"],[Rt.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[Rt.Msg.MIXLY_REQUESTS_MESSAGE,"text"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},KO={init:function(){this.setColour(mO),this.appendDummyInput().appendField("MQTT"+Rt.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(Rt.Msg.MIXLY_CONNECTTO),this.appendDummyInput().appendField(Rt.Msg.MIXLY_INIT_SUBSCRIBE).appendField(Rt.Msg.MQTT_Topic).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GET_CURRENT_TIME,""]]),"key").appendField(Rt.Msg.MIXLY_OPEN_DEBUG).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Rt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},JO={init:function(){this.setColour(mO),this.appendDummyInput().appendField("MQTT"+Rt.Msg.MIXLY_Client).appendField(Rt.Msg.MIXLY_GET).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_REQUESTS_LEN,"client_len"],[Rt.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[Rt.Msg.MIXLY_REQUESTS_MESSAGE,"time_msg()"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},QO=EO,qO=OO,zO=RO,jO=cO,$O=CO,ZO={init:function(){this.setColour(mO),this.appendDummyInput().appendField(Rt.Msg.MIXLY_CONNECT_OLLAMA),this.appendValueInput("SERVER").appendField(Rt.Msg.MIXLY_EMQX_SERVER).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(Rt.Msg.MODEL_NAME).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(Rt.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},tR=ZO,eR={init:function(){this.setColour(mO),this.appendDummyInput().appendField(Rt.Msg.MIXLY_CONNECT_OPENAI),this.appendValueInput("SERVER").appendField(Rt.Msg.MIXLY_EMQX_SERVER).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(Rt.Msg.MIXLY_API_PRIVATE_KEY).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(Rt.Msg.MODEL_NAME).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(Rt.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},iR={init:function(){this.setColour(mO),this.appendDummyInput().appendField(Rt.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(Rt.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendValueInput("METHOD").appendField(Rt.Msg.MIXLY_LLM_CONTENT_CALLBACK),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},nR={init:function(){this.setColour(mO),this.appendDummyInput().appendField(Rt.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(Rt.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendDummyInput().appendField(Rt.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0)}},sR={init:function(){this.setColour(mO),this.appendDummyInput().appendField("Ollama "+Rt.Msg.MIXLY_EMPTY_HISTORY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},_R={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${Rt.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("ADDR").setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_EMQX_SERVER),this.appendValueInput("USERNAME").setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_EMQX_USERNAME),this.appendValueInput("PASSWORD").setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_IOT_PASSWORD),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},oR={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${Rt.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("MQTT").setAlign(Rt.inputs.Align.RIGHT).appendField(`MixIO ${Rt.Msg.MIXLY_Client}`),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},pR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_TINY_WEB_DB_UPDATE_VARIABLE),this.appendValueInput("VALUE").setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},aR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(Rt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLE),this.appendDummyInput().appendField(Rt.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setOutput(!0)}},uR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_NUM),this.setInputsInline(!0),this.setOutput(!0)}},rR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB").appendField(Rt.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARIABLES),this.appendValueInput("NO").setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_TINY_WEB_DB_START_NUMBER),this.appendValueInput("COUNT").setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_TINY_WEB_DB_VARIABLE_NUMBER),this.appendValueInput("TAG").setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARS),this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_ALL,"both"],[Rt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_TAG,"tag"],[Rt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_VALUE,"value"]]),"DTYPE"),this.setInputsInline(!1),this.setOutput(!0)}},dR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(Rt.Msg.MIXLY_TINY_WEB_DB_DELETE_VARIABLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},lR=225,IR={init:function(){this.setColour(lR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_NETWORK_INIT),this.appendDummyInput().appendField(Rt.Msg.MIXLY_NETWORK_MODE).appendField(new Rt.FieldDropdown([["STA","STA"],["AP","AP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_INIT_TOOLTIP)}},TR={init:function(){this.setColour(lR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_NETWORK_WIFI_OPEN,"True"],[Rt.Msg.MIXLY_NETWORK_WIFI_CLOSE,"False"]]),"op"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_NETWORK_WIFI_FLAG),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("op"),i=Rt.Msg.MIXLY_ESP32_NETWORK_OPEN_TOOLTIP;return{True:Rt.Msg.MIXLY_NETWORK_WIFI_OPEN,False:Rt.Msg.MIXLY_NETWORK_WIFI_CLOSE}[e]+i}))}},MR={init:function(){this.setColour(lR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE)}},hR={init:function(){this.setColour(lR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_NETWORK_WIFI_SCAN),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip((function(){return Rt.Msg.MIXLY_ESP32_NETWORK_SCAN_TOOLTIP+{0:"ssid",1:"bssid",2:"channel",3:"RSSI",4:"authmode",5:"hidden",all:Rt.Msg.MIXLY_NETWORK_WIFI_SCAN_ATTRIBUTE}.all}))}},mR={init:function(){this.setColour(lR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_ESP32_NETWORK_CONNECT),this.appendValueInput("id").setCheck(String).appendField(Rt.Msg.HTML_NAME),this.appendValueInput("password").setCheck(String).appendField(Rt.Msg.HTML_PASSWORD),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_CONNECT_TOOLTIP)}},ER={init:function(){this.setColour(lR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_NETWORK_WIFI_CONNECT+Rt.Msg.MIXLY_SYMBOL_QUESTION),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_WIFI_CONNECT_TOOLTIP)}},OR={init:function(){this.setColour(lR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_ESP32_NETWORK_IP,"0"],[Rt.Msg.MIXLY_ESP32_NETWORK_MASK,"1"],[Rt.Msg.MIXLY_ESP32_NETWORK_GATEWAY,"2"],["DNS","3"]]),"mode"),this.setOutput(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return Rt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP+{0:Rt.Msg.MIXLY_ESP32_NETWORK_IP,1:Rt.Msg.MIXLY_ESP32_NETWORK_MASK,2:Rt.Msg.MIXLY_ESP32_NETWORK_GATEWAY,3:"DNS"}[e]}))}},RR={init:function(){this.setColour(lR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_ESP32_NETWORK_STOP_CONNECT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_STOP_TOOLTIP)}},cR={init:function(){this.setColour(lR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_NETWORK_WIFI_ESSID,"essid"],[Rt.Msg.MIXLY_NETWORK_WIFI_CHANNEL,"channel"]]),"op"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP)}},gR={init:function(){this.setColour(lR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.LISTS_SET_INDEX_SET+Rt.Msg.MIXLY_HOTSPOT),this.appendValueInput("essid").setCheck(String).appendField(Rt.Msg.MIXLY_NAME),this.appendValueInput("password").setCheck(String).appendField(Rt.Msg.MIXLY_EMQX_PASSWORD),this.appendValueInput("channel").setCheck(Number).appendField(Rt.Msg.MIXLY_NETWORK_WIFI_CHANNEL),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_AP_CONNECT_TOOLTIP)}},CR={init:function(){this.setColour(lR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_ESP32_NETWORK_SERVER1),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_ESP32_NETWORK_SERVER2),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},SR={init:function(){this.setColour(lR),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_INIT).setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new Rt.FieldDropdown([["TCP","TCP"],["UDP","UDP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return Rt.Msg.MIXLY_ESP32_NETWORK_SOCKET_INIT_TOOLTIP+{TCP:"TCP",UDP:"UDP"}[e]}))}},AR={init:function(){this.setColour(lR),this.appendValueInput("VAR").setCheck("var").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_BIND_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_SOCKET_BIND_TOOLTIP)}},LR={init:function(){this.setColour(lR),this.appendValueInput("VAR").setCheck("var").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_CONNECT_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_SOCKET_CONNECT_TOOLTIP)}},NR={init:function(){this.setColour(lR),this.appendValueInput("VAR").setCheck("var"),this.appendValueInput("queue").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_LISTEN).appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_QUEUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_SOCKET_LISTEN_TOOLTIP)}},DR={init:function(){this.setColour(lR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_ACCEPT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_SOCKET_ACCEPT_TOOLTIP)}},fR={init:function(){this.setColour(lR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE_TOOLTIP)}},FR={init:function(){this.setColour(lR),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("size").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_TOOLTIP)}},PR={init:function(){this.setColour(lR),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("content").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TOOLTIP)}},YR={init:function(){this.setColour(lR),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("size").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_FROM_TOOLTIP)}},vR={init:function(){this.setColour(lR),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("content").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.appendValueInput("address").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_TO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TO_TOOLTIP)}},XR={init:function(){this.setColour(lR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_CLOSE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},xR={init:function(){this.setColour(lR),this.appendValueInput("DOMAIN").appendField(Rt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(Rt.Msg.blockpy_REQUESTS_GET).appendField(new Rt.FieldTextInput("response"),"VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.blockpy_REQUESTS_GET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},yR={init:function(){this.appendValueInput("VAL"),this.setColour(lR),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new Rt.FieldDropdown(yR.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{clear:Rt.Msg.MIXLY_TOOLTIP_TURTEL_CLEAR,reset:Rt.Msg.MIXLY_TOOLTIP_TURTEL_RESET,home:Rt.Msg.MIXLY_TOOLTIP_TURTEL_HOME}[e]}))},ATTR:[[Rt.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[Rt.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[Rt.Msg.blockpy_REQUESTS_GET_ATTR_COOKIES,"cookies"],[Rt.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"]]},bR={init:function(){this.appendValueInput("VAR").appendField(Rt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.setColour(lR),this.appendDummyInput("").appendField(Rt.Msg.blockpy_CONDUCT).appendField(new Rt.FieldDropdown(bR.METHOD),"DIR"),this.appendDummyInput("").appendField(Rt.Msg.blockpy_REQUESTS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{forward:Rt.Msg.MIXLY_TOOLTIP_TURTEL_FORWARD,backward:Rt.Msg.MIXLY_TOOLTIP_TURTEL_BACKWARD}[e]}))},METHOD:[["post","post"],["put","put"],["delete","delete"],["head","head"],["option","option"]]},VR={init:function(){this.setColour(lR),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_GET_NTP+"(NTP)"),this.appendValueInput("data").appendField(Rt.Msg.blynk_SERVER_ADD),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},BR={init:function(){this.setColour(lR),this.appendDummyInput("").appendField(new Rt.FieldDropdown([["ntp.aliyun.com","ntp.aliyun.com"],["ntp1.aliyun.com","ntp1.aliyun.com"],["ntp2.aliyun.com","ntp2.aliyun.com"],["ntp3.aliyun.com","ntp3.aliyun.com"],["ntp4.aliyun.com","ntp4.aliyun.com"],["ntp5.aliyun.com","ntp5.aliyun.com"],["ntp6.aliyun.com","ntp6.aliyun.com"],["ntp7.aliyun.com","ntp7.aliyun.com"],["time1.cloud.tencent.com","time1.cloud.tencent.com"],["time2.cloud.tencent.com","time2.cloud.tencent.com"],["time3.cloud.tencent.com","time3.cloud.tencent.com"],["time4.cloud.tencent.com","time4.cloud.tencent.com"],["time5.cloud.tencent.com","time5.cloud.tencent.com"]]),"op"),this.setOutput(!0)}},GR="#3288dd",UR={init:function(){this.setColour(GR),this.appendValueInput("URL").appendField(Rt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(Rt.Msg.blockpy_CONDUCT).appendField(new Rt.FieldDropdown([["get","get"],["head","head"],["delete","delete"]]),"TYPE").appendField(Rt.Msg.blockpy_REQUESTS).appendField(Rt.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},wR={init:function(){this.setColour(GR),this.appendValueInput("URL").appendField(Rt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(Rt.Msg.blockpy_CONDUCT).appendField(new Rt.FieldDropdown([["post","post"],["put","put"],["patch","patch"]]),"TYPE").appendField(Rt.Msg.blockpy_REQUESTS),this.appendValueInput("data").appendField(Rt.Msg.blockpy_REQUESTS+Rt.Msg.OLED_STRING),this.appendDummyInput("").appendField(Rt.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},kR={init:function(){this.appendValueInput("VAL"),this.setColour(GR),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new Rt.FieldDropdown(kR.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String)},ATTR:[[Rt.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[Rt.Msg.blockpy_REQUESTS_GET_ATTR_JSON,"json()"],[Rt.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[Rt.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"],[Rt.Msg.MIXPY_TEXT_ENCODE,"encoding"]]},HR={init:function(){this.setColour(GR),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_IOT_CONNECT_WIFI),this.appendValueInput("WIFINAME").setCheck(String).appendField(Rt.Msg.HTML_NAME),this.appendValueInput("PASSWORD").setCheck(String).appendField(Rt.Msg.HTML_PASSWORD),this.appendValueInput("TIMEOUT").setCheck(Number).appendField(Rt.Msg.MIXLY_IR_TIMEOUT),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_IOT_WIFI_CONNECT_TOOLTIP)}},WR={init:function(){this.setColour(GR),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_IOT_EMQX_CONNECT_TOOLTIP),this.appendValueInput("SERVER").setCheck(String).appendField(Rt.Msg.MIXLY_EMQX_SERVER).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("PORT").setCheck(Number).appendField(Rt.Msg.MIXLY_EMQX_PORT).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("CLIENT_ID").setCheck(String).appendField(Rt.Msg.MIXLY_EMQX_CLIENT_ID).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(Rt.Msg.MIXLY_WIFI_USERNAME).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(Rt.Msg.MIXLY_IOT_PASSWORD).setAlign(Rt.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},KR={init:function(){this.setColour(GR),this.appendValueInput("TOPIC").appendField(Rt.Msg.MIXLY_EMQX_SUBSCRIBE+Rt.Msg.MIXLY_MICROBIT_MSG).appendField(Rt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MESSAGE").appendField(Rt.Msg.blockpy_set_of),this.setInputsInline(!0),this.setOutput(!0)}},JR={init:function(){this.setColour(GR),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(Rt.Msg.MIXLY_EMQX_SUBSCRIBE+Rt.Msg.MIXLY_MICROBIT_MSG).appendField(Rt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(Rt.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},QR={init:function(){this.setColour(GR),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(Rt.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(Rt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(Rt.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},qR={init:function(){this.setColour(GR),this.appendDummyInput().appendField("mqtt"+Rt.Msg.MIXLY_EMQX_IS_CONNECT),this.setInputsInline(!0),this.setOutput(!0)}},zR="#A58C5B",jR={init:function(){this.setColour(zR),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_BUTTON).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_IS_PRESSED),this.appendValueInput("STAT").appendField(Rt.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_SENOR_IS_PRESSED)}},$R={init:function(){this.setColour(zR),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_BUTTON).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_WAS_PRESSED),this.appendValueInput("STAT").appendField(Rt.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_SENOR_WAS_PRESSED)}},ZR={init:function(){this.setColour(zR),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_BUTTON).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET_PRESSES),this.appendValueInput("VAR").setCheck(Number).appendField(Rt.Msg.MIXLY_GET_PRESSES_TIME),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Rt.Msg.PROCEDURES_DEFRETURN_RETURN+Rt.Msg.MIXLY_BUTTON+Rt.Msg.MIXLY_GET_PRESSES)}},tc={init:function(){this.setColour(zR),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_BUTTON).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MODE).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[Rt.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[Rt.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(Rt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_INOUT_ATTACHINTERRUPT)}},ec={init:function(){this.setColour(zR),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_shake,"shake"],[Rt.Msg.MIXLY_UP,"up"],[Rt.Msg.MIXLY_DOWN,"down"],[Rt.Msg.MIXLY_LEFT,"left"],[Rt.Msg.MIXLY_RIGHT,"right"],[Rt.Msg.MIXLY_MICROBIT_face_up,"face up"],[Rt.Msg.MIXLY_MICROBIT_face_down,"face down"],[Rt.Msg.MIXLY_MICROBIT_freefall,"freefall"],["3g","3g"],["6g","6g"],["8g","8g"]]),"gesture"),this.appendStatementInput("DO").appendField(Rt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("gesture"),i=Rt.Msg.MIXLY_MICROBIT_JS_CURRENT,n=Rt.Msg.MSG.catSensor,s=Rt.Msg.MIXLY_MICROBIT_JS_STATE,_=Rt.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:Rt.Msg.MIXLY_MICROBIT_shake,up:Rt.Msg.MIXLY_UP,down:Rt.Msg.MIXLY_DOWN,left:Rt.Msg.MIXLY_LEFT,right:Rt.Msg.MIXLY_RIGHT,"face up":Rt.Msg.MIXLY_MICROBIT_face_up,"face down":Rt.Msg.MIXLY_MICROBIT_face_down,freefall:Rt.Msg.MIXLY_MICROBIT_freefall,"3g":"3g","6g":"6g","8g":"8g"}[e]+_}))}},ic={init:function(){this.setColour(zR),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_ADXL345).setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new Rt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Rt.Msg.MIXLY_MICROBIT_Direction,s=Rt.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":Rt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},nc={init:function(){this.setColour(zR),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_JS_LIGHT_LEVEL),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_SENSOR_LIGHT_LEVEL_TOOLTIP)}},sc={init:function(){this.setColour(zR),this.appendValueInput("PIN",Number).appendField(new Rt.FieldDropdown([["DHT11","DHT11"],["DHT22","DHT22"]]),"TYPE").appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(new Rt.FieldDropdown(sc.METHOD),"WHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("WHAT");return{temperature:Rt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM,relative_humidity:Rt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_HUM,tempandhum:Rt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM_HUM}[e]}))},METHOD:[[Rt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[Rt.Msg.MIXLY_GETHUMIDITY,"humidity"]]},_c={init:function(){this.setColour(zR),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_EXTERN_LIGHT),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Rt.Msg.ESP32_SENSOR_NIXGO_LIGHT_TOOLTIP)}},oc={init:function(){this.setColour(zR),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_EXTERN_SOUND),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Rt.Msg.ESP32_SENSOR_NIXGO_SOUND_TOOLTIP)}},pc={init:function(){this.setColour(zR),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new Rt.FieldDropdown([[Rt.Msg.TEXT_TRIM_LEFT,"left"],[Rt.Msg.TEXT_TRIM_RIGHT,"right"]]),"direction").appendField(Rt.Msg.MIXLY_ESP32_NEAR),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("direction"),i=Rt.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP,n=Rt.Msg.MIXLY_ESP32_NEAR;return i+{left:Rt.Msg.TEXT_TRIM_LEFT,right:Rt.Msg.TEXT_TRIM_RIGHT}[e]+n}))}},ac={init:function(){this.setColour(zR),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_ALTITUDE_SENSOR+" BMP280").setCheck("var"),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GETTEMPERATUE,"get_BMP_temperature()"],[Rt.Msg.MIXLY_GETPRESSURE,"get_BMP_pressure()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{"get_BMP_temperature()":Rt.Msg.MIXLY_MICROBIT_SENSOR_BMP_temperature_TOOLTIP,"get_BMP_pressure()":Rt.Msg.MIXLY_MICROBIT_SENSOR_BMP_press_TOOLTIP}[e]}))}},uc={init:function(){this.setColour(zR),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+" SHT20").setCheck("var"),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GETTEMPERATUE,"get_SHT_temperature()"],[Rt.Msg.MIXLY_GETHUMIDITY,"get_SHT_relative_humidity()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{"get_SHT_temperature()":Rt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,"get_SHT_relative_humidity()":Rt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},rc={init:function(){this.setColour(zR),this.appendValueInput("PIN",Number).appendField("DS18X20 "+Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_SENSOR_DS18X20_TOOLTIP)}},dc={init:function(){this.setColour(zR),this.appendDummyInput("").appendField("LM35"+Rt.Msg.MIXLY_TEMP),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_LM35)}},lc={init:function(){this.setColour(zR),this.appendValueInput("I2CSUB").appendField(Rt.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_SETUP+Rt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_ESP32_EXTERN_LIGHT+"(LTR308ALS)","LTR308"],[Rt.Msg.MIXLY_COLOR_SENSOR+"(LTR381RGB)","LTR381RGB"],[Rt.Msg.MIXLY_COLOR_SENSOR+"(UCS12071)","UCS12071"],[Rt.Msg.MIXLY_EXTERN_LIGHTUV+"(LTR390UV)","LTR390UV"],[Rt.Msg.MIXLY_ALTITUDE_SENSOR+"(HP203X)","HP203X"],[Rt.Msg.MIXLY_ALTITUDE_SENSOR+"(SPL06_001)","SPL06_001"],[Rt.Msg.MIXLY_ALTITUDE_SENSOR+"(MS5611)","MS5611"],[Rt.Msg.MIXLY_ALTITUDE_SENSOR+"(BMP280)","BMP280"],[Rt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(SHTC3)","SHTC3"],[Rt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(AHT21)","AHT21"],[Rt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(SHT20)","SHT20"],[Rt.Msg.MIXLY_LASER_RANGE_SENSOR+"(VL53L0X)","VL53L0X"],[Rt.Msg.MIXLY_GEOMAGNETIC_SENSOR+"(QMC5883L)","QMC5883L"],[Rt.Msg.MIXLY_ESP32_MAX30102+"(MAX30102)","MAX30102"],[Rt.Msg.HTML_COLOUR+"、"+Rt.Msg.MIXLY_ENVIRONMENT_LIGHT+"、"+Rt.Msg.MIXLY_NEXT+"、"+Rt.Msg.MIXLY_ESP32_APDS9960+"(APDS9960)","APDS9960"],[Rt.Msg.MIXLY_NINE_AXIS_SENSOR+"(MPU9250)","MPU9250"],[Rt.Msg.MixGo_MPU9250+"(ADXL345)","ADXL345"],["RFID","RFID"],[Rt.Msg.MIXLY_RADAR_SENSOR+"(CBR817)","CBR817"],[Rt.Msg.MIXLY_AipSpeech_asr+"(CI130X)","CI130X"],[Rt.Msg.MIXLY_TVOC_CO2_SENSOR+"(AGS10)","AGS10"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Ic={init:function(){this.setColour(zR),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_RADAR+"CBR817").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.LISTS_SET_INDEX_SET+Rt.Msg.MIXlY_INTERACTION),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_DETECTION_THRESHOLD),this.appendValueInput("VAR2").appendField(Rt.Msg.MIXLY_DELAY_TIME),this.appendDummyInput().appendField("ms"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_THRESHOLD_TOOLTIP+" ; "+Rt.Msg.MIXLY_DELAY_TIME_RANGE)}},Tc={init:function(){this.setColour(zR),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RADAR).appendField(Rt.Msg.LISTS_SET_INDEX_SET+Rt.Msg.MIXlY_INTERACTION),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_DETECTION_THRESHOLD),this.appendValueInput("VAR2").appendField(Rt.Msg.MIXLY_DELAY_TIME),this.appendDummyInput().appendField("ms"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_THRESHOLD_TOOLTIP+" ; "+Rt.Msg.MIXLY_DELAY_TIME_RANGE)}},Mc={init:function(){this.setColour(zR),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_RADAR+"CBR817").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_GET_TO_INTERACTION),this.setOutput(!0),this.setInputsInline(!0)}},hc={init:function(){this.setColour(zR),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RADAR).appendField(Rt.Msg.MIXLY_GET_TO_INTERACTION),this.setOutput(!0),this.setInputsInline(!0)}},mc={init:function(){this.setColour(zR),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_IDENTIFY_ONCE_AND_SAVE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Ec={init:function(){this.setColour(zR),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_GET).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_HELLO_XIAOZHI,"1"],[Rt.Msg.MIXLY_XIAOZHIXIAOZHI,"2"],[Rt.Msg.MIXLY_THE_FIRST,"3"],[Rt.Msg.MIXLY_THE_SECOND,"4"],[Rt.Msg.MIXLY_THE_THIRD,"5"],[Rt.Msg.MIXLY_THE_FOURTH,"6"],[Rt.Msg.MIXLY_THE_FIFTH,"7"],[Rt.Msg.MIXLY_THE_SIXTH,"8"],[Rt.Msg.MIXLY_THE_SEVENTH,"9"],[Rt.Msg.MIXLY_THE_EIGHTH,"10"],[Rt.Msg.MIXLY_THE_NINTH,"11"],[Rt.Msg.MIXLY_THE_TENTH,"12"],[Rt.Msg.MIXLY_THE_ELEVENTH,"13"],[Rt.Msg.MIXLY_THE_TWELFTH,"14"],[Rt.Msg.MIXLY_THE_13TH,"15"],[Rt.Msg.MIXLY_THE_14TH,"16"],[Rt.Msg.MIXLY_THE_15TH,"17"],[Rt.Msg.MIXLY_THE_16TH,"18"],[Rt.Msg.MIXLY_THE_17TH,"19"],[Rt.Msg.MIXLY_THE_18TH,"20"],[Rt.Msg.MIXLY_THE_19TH,"21"],[Rt.Msg.MIXLY_THE_20TH,"22"],[Rt.Msg.MIXLY_Turn_on_the_lights,"23"],[Rt.Msg.MIXLY_Turn_off_the_lights,"24"],[Rt.Msg.MIXLY_Turn_up_the_brightness,"25"],[Rt.Msg.MIXLY_Turn_down_the_brightness,"26"],[Rt.Msg.MIXLY_Set_it_to_red,"27"],[Rt.Msg.MIXLY_Set_it_to_orange,"28"],[Rt.Msg.MIXLY_Set_it_to_yellow,"29"],[Rt.Msg.MIXLY_Set_it_to_green,"30"],[Rt.Msg.MIXLY_Set_it_to_cyan,"31"],[Rt.Msg.MIXLY_Set_it_to_blue,"32"],[Rt.Msg.MIXLY_Set_it_to_purple,"33"],[Rt.Msg.MIXLY_Set_it_to_white,"34"],[Rt.Msg.MIXLY_Turn_on_the_fan,"35"],[Rt.Msg.MIXLY_Turn_off_the_fan,"36"],[Rt.Msg.MIXLY_First_gear,"37"],[Rt.Msg.MIXLY_Wind_speed_second,"38"],[Rt.Msg.MIXLY_Third_gear,"39"],[Rt.Msg.MIXLY_Previous,"40"],[Rt.Msg.MIXLY_Next_page,"41"],[Rt.Msg.MIXLY_Show_smiley_face,"42"],[Rt.Msg.MIXLY_Show_crying_face,"43"],[Rt.Msg.MIXLY_Show_love,"44"],[Rt.Msg.MIXLY_Close_display,"45"],[Rt.Msg.MIXLY_Start_execution,"46"],[Rt.Msg.MIXLY_FORWARD,"47"],[Rt.Msg.MIXLY_BACKWARD,"48"],[Rt.Msg.MIXLY_TURNLEFT,"49"],[Rt.Msg.MIXLY_TURNRIGHT,"50"],[Rt.Msg.MIXLY_STOP,"51"],[Rt.Msg.MIXLY_Accelerate,"52"],[Rt.Msg.MIXLY_retard,"53"],[Rt.Msg.ROTATION_FORWARD,"54"],[Rt.Msg.ROTATION_BACKWARD,"55"],[Rt.Msg.MIXLY_Query_temperature,"56"],[Rt.Msg.MIXLY_Query_humidity,"57"],[Rt.Msg.MIXLY_Query_brightness,"58"],[Rt.Msg.MIXLY_Query_sound,"59"],[Rt.Msg.MIXLY_Query_time,"60"],[Rt.Msg.MIXLY_Query_distance,"61"],[Rt.Msg.MIXLY_Query_pressure,"62"],[Rt.Msg.MIXLY_Query_key,"63"],[Rt.Msg.MIXLY_Query_touch,"64"],[Rt.Msg.MIXLY_Query_color,"65"]]),"cmd").appendField(Rt.Msg.MIXLY_WHETHER+Rt.Msg.MIXLY_BE_IDENTIFIED),this.setOutput(!0),this.setInputsInline(!0)}},Oc={init:function(){this.setColour(zR),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_GET).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_RECOGNIZED_STATE,"status1"],[Rt.Msg.MIXLY_WHETHER_BROADCAST,"status2"],[Rt.Msg.MIXLY_THE_RECOGNIZED_CMD,"result"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_CI130X_GET_THE_RECOGNIZED_STATE_TOOLTIP)}},Rc={init:function(){this.setColour(zR),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MP3_PLAY).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"],[Rt.Msg.MIXLY_WIND_SPEED,"154"],[Rt.Msg.MIXLY_HYETAL,"155"],[Rt.Msg.MIXLY_TEMPERATURE,"156"],[Rt.Msg.MIXLY_Humidity,"157"],[Rt.Msg.MIXLY_Altitude,"158"],[Rt.Msg.MIXLY_SOUND,"159"],[Rt.Msg.MIXLY_BRIGHTNESS,"160"],[Rt.Msg.ME_GO_HALL_SENSOR_DISTANCE,"161"],[Rt.Msg.MIXLY_SERVO,"162"],[Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"163"],[Rt.Msg.MIXLY_BUTTON2,"164"],[Rt.Msg.MIXLY_ESP32_TOUCH,"165"],[Rt.Msg.MIXLY_PAY,"166"],[Rt.Msg.MIXLY_CARSH_CHANGE,"167"],[Rt.Msg.MIXLY_COUNTDOWN,"168"],[Rt.Msg.MIXLY_TIMING,"169"],[Rt.Msg.MIXLY_AT_THE_MOMENT,"170"],[Rt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE,"171"],[Rt.Msg.MIXLY_FORWARD,"172"],[Rt.Msg.MIXLY_BACKWARD,"173"],[Rt.Msg.MIXLY_TURNLEFT,"174"],[Rt.Msg.MIXLY_TURNRIGHT,"175"],[Rt.Msg.MIXLY_STOP,"176"],[Rt.Msg.MIXLY_Accelerate,"177"],[Rt.Msg.MIXLY_retard,"178"],[Rt.Msg.ROTATION_FORWARD,"179"],[Rt.Msg.ROTATION_BACKWARD,"180"],[Rt.Msg.TUPLE_JOIN,"181"],[Rt.Msg.MIXLY_SHOW,"182"],[Rt.Msg.MIXLY_LAMPLIGHT,"183"],[Rt.Msg.MIXLY_ACCELERATION,"184"]]),"star"),this.appendValueInput("NUM").appendField(Rt.Msg.MIXLY_NUMBER),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_UNIT).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"],[Rt.Msg.MIXLY_YEAR,"117"],[Rt.Msg.MIXLY_MONTH,"118"],[Rt.Msg.MIXLY_DAY,"119"],[Rt.Msg.MIXLY_HOUR,"120"],[Rt.Msg.MIXLY_MINUTE,"121"],[Rt.Msg.MIXLY_SECOND,"122"],[Rt.Msg.MIXLY_WEEK2,"123"],[Rt.Msg.MIXLY_RMB_UNIT,"124"],[Rt.Msg.blockpy_setheading_degree,"125"],[Rt.Msg.MIXLY_GEAR,"126"],[Rt.Msg.MIXLY_LAYER,"127"],[Rt.Msg.MIXLY_GRAM,"128"],[Rt.Msg.MIXLY_METER,"129"],[Rt.Msg.MIXLY_CENTIMETER,"130"],[Rt.Msg.MIXLY_MILLIMETER,"131"],[Rt.Msg.MIXLY_LUMEN,"132"],[Rt.Msg.MIXLY_DECIBEL,"133"],[Rt.Msg.MIXLY_hectopascal,"134"],[Rt.Msg.MIXLY_PERCENT,"135"],[Rt.Msg.MIXLY_CELSIUS,"136"],[Rt.Msg.MIXLY_METER_PER_SEC,"137"],[Rt.Msg.MIXLY_MICROBIT_Turn_on_display,"138"],[Rt.Msg.MIXLY_MICROBIT_Turn_off_display,"139"],[Rt.Msg.MIXLY_SUCCESS,"140"],[Rt.Msg.MIXLY_FAILED,"141"],[Rt.Msg.MIXLY_WRONG,"142"],[Rt.Msg.MIXLY_GOOD,"143"],[Rt.Msg.MIXLY_blockpy_set_add,"144"],[Rt.Msg.MIXLY_DECREASE,"145"],[Rt.Msg.COLOUR_RGB_RED,"146"],[Rt.Msg.COLOUR_RGB_ORANGE,"147"],[Rt.Msg.COLOUR_YELLOW,"148"],[Rt.Msg.COLOUR_RGB_GREEN,"149"],[Rt.Msg.COLOUR_CYAN,"150"],[Rt.Msg.COLOUR_RGB_BLUE,"151"],[Rt.Msg.COLOUR_RGB_PURPLE,"152"],[Rt.Msg.COLOUR_RGB_WHITE,"153"]]),"end"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},cc={init:function(){this.setColour(zR),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.LISTS_SET_INDEX_SET+Rt.Msg.MIXLY_SYSTEM+Rt.Msg.MIXLY_CMD).appendField(new Rt.FieldDropdown([[Rt.Msg.MILXY_ENTER_WAKE_UP,"1"],[Rt.Msg.MIXLY_INCREASE_VOLUME,"202"],[Rt.Msg.MIXLY_REDUCE_VOLUME,"203"],[Rt.Msg.MIXLY_MAX_VOLUME,"204"],[Rt.Msg.MIXLY_MINIMUM,"205"],[Rt.Msg.MIXLY_OPEN_RESPONSE,"206"],[Rt.Msg.MIXLY_CLOSE_RESPONSE,"207"],[Rt.Msg.MIXLY_QUIT_WAKE_UP,"208"]]),"cmd"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},gc={init:function(){this.setColour(zR),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_MAX30102+" MAX30102"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_ESP32_MAX30102_IR,"[0]"],[Rt.Msg.MIXLY_ESP32_MAX30102_RED,"[1]"],[Rt.Msg.MIXLY_ESP32_MAX30102_IR+","+Rt.Msg.MIXLY_ESP32_MAX30102_RED,""]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Cc={init:function(){this.setColour(zR),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_APDS9960+" APDS9960"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_ESP32_APDS9960_COLOR,"color"],[Rt.Msg.MIXLY_ESP32_APDS9960_GESTURE,"gesture"],[Rt.Msg.MIXLY_ESP32_APDS9960_APPROACH,"proximity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Sc={init:function(){this.setColour(zR),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_EXTERN_LIGHT+" LTR308ALS"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET_LIGHT_INTENSITY),this.setOutput(!0,Number),this.setInputsInline(!0)}},Ac={init:function(){this.setColour(zR),this.appendValueInput("SUB").appendField(Rt.Msg.HTML_COLOUR+Rt.Msg.MSG.catSensor+" LTR381RGB").setCheck("var"),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GET+Rt.Msg.HTML_COLOUR,"[2]"],[Rt.Msg.MIXLY_GET+Rt.Msg.MIXLY_IR_STRENGTH,"[1]"],[Rt.Msg.MIXLY_GET+Rt.Msg.MIXLY_LIGHT_STRENGTH,"[0]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Lc={init:function(){this.setColour(zR),this.appendValueInput("SUB").appendField(Rt.Msg.HTML_COLOUR+Rt.Msg.MSG.catSensor+" UCS12071").setCheck("var"),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GET+"RGB"+Rt.Msg.HTML_COLOUR,"0"],[Rt.Msg.MIXLY_GET+Rt.Msg.MIXLY_RGB_RAW,"1"],[Rt.Msg.MIXLY_GET_ENV_LIGHT+Rt.Msg.MIXLY_BRIGHTNESS,"2"],[Rt.Msg.GET_IR_STRENGTH+Rt.Msg.MIXLY_BRIGHTNESS,"3"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Nc={init:function(){this.setColour(zR),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_EXTERN_LIGHTUV+" LTR390UV").setCheck("var"),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GET_ENV_LIGHT,"E"],[Rt.Msg.MIXLY_GET_ULTRAVIOLET,"U"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Dc={init:function(){this.setColour(zR),this.appendDummyInput().appendField(Rt.Msg.MIXLY_LASER_RANGE+" VL53L0X"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET_DISTANCE+"(mm)"),this.setOutput(!0,Number),this.setInputsInline(!0)}},fc={init:function(){this.setColour(zR),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_TEM_HUM+" SHTC3").setCheck("var"),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[Rt.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{temperature:Rt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,humidity:Rt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},Fc={init:function(){this.setColour(zR),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_TEM_HUM+" AHT21").setCheck("var"),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[Rt.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{temperature:Rt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,relative_humidity:Rt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},Pc={init:function(){this.setColour(zR),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_Altitude+Rt.Msg.MSG.catSensor+" HP203X").setCheck("var"),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GETPRESSURE,"pressure()"],[Rt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[Rt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Yc={init:function(){this.setColour(zR),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_Altitude+Rt.Msg.MSG.catSensor+" SPL06_001").setCheck("var"),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GETPRESSURE,"pressure()"],[Rt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[Rt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},vc={init:function(){this.setColour(zR),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_Altitude+Rt.Msg.MSG.catSensor+" MS5611").setCheck("var"),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GETPRESSURE,"pressure()"],[Rt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[Rt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Xc={init:function(){this.setColour(zR),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_Altitude+Rt.Msg.MSG.catSensor+" MS5611").setCheck("var"),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_REF_TO_PRESSURE),this.appendDummyInput().appendField(Rt.Msg.MIXLY_CAL_TO_ALTITUDE),this.setOutput(!0,Number),this.setInputsInline(!0)}},xc={init:function(){this.setColour(zR),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MIXGOPE_FIELD+Rt.Msg.MSG.catSensor+" QMC5883L").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"get_bearing()"],[Rt.Msg.MIXLY_TEMPERATURE,"get_temp()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},yc={init:function(){this.setColour(zR),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_shake,"shake"],[Rt.Msg.MIXLY_UP,"up"],[Rt.Msg.MIXLY_DOWN,"down"],[Rt.Msg.MIXLY_LEFT,"left"],[Rt.Msg.MIXLY_RIGHT,"right"],[Rt.Msg.MIXLY_MICROBIT_face_up,"face up"],[Rt.Msg.MIXLY_MICROBIT_face_down,"face down"]]),"gesture"),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("gesture"),i=Rt.Msg.MIXLY_MICROBIT_JS_CURRENT,n=Rt.Msg.MSG.catSensor,s=Rt.Msg.MIXLY_MICROBIT_JS_STATE,_=Rt.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:Rt.Msg.MIXLY_MICROBIT_shake,up:Rt.Msg.MIXLY_UP,down:Rt.Msg.MIXLY_DOWN,left:Rt.Msg.MIXLY_LEFT,right:Rt.Msg.MIXLY_RIGHT,"face up":Rt.Msg.MIXLY_MICROBIT_face_up,"face down":Rt.Msg.MIXLY_MICROBIT_face_down}[e]+_}))}},bc={init:function(){this.setColour(zR),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new Rt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Rt.Msg.MIXLY_MICROBIT_Direction,s=Rt.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":Rt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},Vc={init:function(){this.setColour(zR),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_JS_GET+Rt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH).appendField(new Rt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Rt.Msg.MIXLY_MICROBIT_Direction,s=Rt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH;return i+{x:"x",y:"y",z:"z","(x,y,z)":Rt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},Bc={init:function(){this.setColour(zR),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+Rt.Msg.MIXLY_ESP32_SENOR_GYRO).appendField(new Rt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Rt.Msg.MIXLY_MICROBIT_Direction,s=Rt.Msg.MIXLY_ESP32_SENOR_GYRO;return i+{x:"x",y:"y",z:"z","(x,y,z)":Rt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},Gc={init:function(){this.setColour(zR),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS)}},Uc={init:function(){this.setColour(zR),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GETTEMPERATUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_GETTEMPERATUE)}},wc={init:function(){this.setColour(zR),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_JS_GET_COMPASS).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,"strength"],[Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"heading"]]),"compass"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("compass");return Rt.Msg.MIXLY_MICROBIT_JS_GET_COMPASS+{strength:Rt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,heading:Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE}[e]}))}},kc={init:function(){this.setColour(zR),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Reset_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Reset_COMPASS)}},Hc={init:function(){this.setColour(zR),this.appendValueInput("SPISUB").appendField(Rt.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_SETUP+Rt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new Rt.FieldDropdown([["RFID","RFID"],["WS-LoRa","Weather"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setFieldValue("RFID","key")}},Wc={init:function(){this.setColour(zR),this.appendDummyInput().appendField("RFID"+Rt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(Rt.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_RFID_READ_CARD_UID,"id"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"content"],[Rt.Msg.MIXLY_ALL,"ALL"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Kc={init:function(){this.setColour(zR),this.appendDummyInput().appendField("RFID"+Rt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RFID_READ_CARD_UID),this.setOutput(!0,Number),this.setInputsInline(!0)}},Jc={init:function(){this.setColour(zR),this.appendDummyInput().appendField("RFID"+Rt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(Rt.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},Qc={init:function(){this.setColour(zR),this.appendDummyInput().appendField(Rt.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(Rt.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(Rt.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},qc={init:function(){this.setColour(zR),this.appendDummyInput().appendField(Rt.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(Rt.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(Rt.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(Rt.Msg.RETURN_SUCCESS_OR_NOT),this.setInputsInline(!0),this.setOutput(!0,Boolean)}},zc={init:function(){this.setColour(zR),this.appendDummyInput().appendField("RFID"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_RFID_SCAN_OK,"0"],[Rt.Msg.MIXLY_RFID_SCAN_NOTAGERR,"1"],[Rt.Msg.MIXLY_RFID_SCAN_ERROR,"2"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},jc={init:function(){this.setColour(zR),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new Rt.FieldDropdown([["全部(元组)","data()[0]"],["全部(json)","data()[1]"],["全部(json,附带位置信息)","data()[2]"],["编号","data()[0][0]"],["电量","data()[0][1]"],["风速","data()[0][2]"],["阵风","data()[0][3]"],["风向","data()[0][4]"],["雨量","data()[0][5]"],["温度","data()[0][6]"],["湿度","data()[0][7]"],["光照","data()[0][8]"],["紫外线","data()[0][9]"],["大气压","data()[0][10]"],["信号强度","data()[0][11]"],["信噪比","data()[0][12]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip("返回气象数据元组 data= (设备id,电池状态,风速m/s,阵风m/s,风向°,雨量mm,温度℃,湿度%,光照Lux,UVI,大气压Pa,信号强度dB,信噪比dB)")}},$c={init:function(){this.setColour(zR),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_SERIAL_AVAILABLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},Zc={init:function(){this.setColour(zR),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendValueInput("BASE").appendField("以主题"),this.appendDummyInput("").appendField("串口发送至MixIO"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},tg={init:function(){this.setColour(zR),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.itemCount_=2,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new Rt.icons.MutatorIcon(["weather_set_label_item"],this)),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip()},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("weather_set_label_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n>6),i.push(128|63&_)):(2048<=_&&_<=55295||57344<=_&&_<=65535)&&(n+=3,i.push(224|15&_>>12),i.push(128|63&_>>6),i.push(128|63&_))}for(s=0;s>8,255&n].concat(i)}(t,!0),i="",n=0;n=0?"0x700000":["mixgo_sant"].indexOf(n)>=0?"0xE00000":"0x3A0000","32x12 Matrix"==o?(e.definitions_.import_matrix32x12="import matrix32x12",i=s+" = matrix32x12.Matrix("+_+", font_address="+p+")\n"):"16x8 Matrix"==o&&(e.definitions_.import_matrix16x8="import matrix16x8",i=s+" = matrix16x8.Matrix("+_+")\n"),i},bP=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},VP=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+", center="+this.getFieldValue("center")+")\n"},BP=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},GP=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", delay="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},UP=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},wP=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", speed="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+")\n"},kP=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},HP=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("OP")+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")\n"},WP=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},KP=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".pixel(int("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+"), int("+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+"), "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"+i+".show()\n"},JP=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".get_brightness()",e.ORDER_ATOMIC]},QP=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".set_brightness("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+")\n"},qP=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("image"),e.ORDER_ATOMIC]},zP=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".map_"+t.getFieldValue("OP")+"("+e.valueToCode(t,"A",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"B",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},jP=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".map_invert("+e.valueToCode(t,"A",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},$P=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC);return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = ssd1306.SSD1306_I2C("+e.valueToCode(this,"row",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"column",e.ORDER_ATOMIC)+", "+i+")\n"},ZP=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_str("+(e.valueToCode(this,"Text_line1",e.ORDER_ASSIGNMENT)||"''")+", "+(e.valueToCode(this,"Text_line2",e.ORDER_ASSIGNMENT)||"''")+", "+(e.valueToCode(this,"Text_line3",e.ORDER_ASSIGNMENT)||"''")+", "+(e.valueToCode(this,"Text_line4",e.ORDER_ASSIGNMENT)||"''")+")\n"},tY=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_line("+e.valueToCode(this,"x1",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"y1",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"x2",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"y2",e.ORDER_ATOMIC)+", 1)\n"},eY=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),_=e.valueToCode(this,"width",e.ORDER_ATOMIC),o=e.valueToCode(this,"height",e.ORDER_ATOMIC),p="TRUE"==this.getFieldValue("fill")?"True":"False",a=this.getFieldValue("OP");switch(p){case"True":return i+".show_fill_rect("+n+", "+s+", "+_+", "+o+", "+a+")\n";case"False":return i+".show_rect("+n+", "+s+", "+_+", "+o+", "+a+")\n"}},iY=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),_=e.valueToCode(this,"length",e.ORDER_ATOMIC);return i+".show_"+this.getFieldValue("direction")+"("+n+", "+s+", "+_+", 1)\n"},nY=function(t,e){return["ON"==this.getFieldValue("ONOFF")?"1":"0",e.ORDER_ATOMIC]},sY=function(t,e){e.definitions_.import_matrix="import matrix";var i=t.getFieldValue("OP");return[e.valueToCode(t,"img",e.ORDER_ATOMIC)+".shift_"+i+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},_Y=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return e.definitions_.import_ssd1306="import ssd1306",e.definitions_.import_machine="import machine",i+".show_fill("+this.getFieldValue("key")+")\n"},oY=function(t,e){return["matrix.Image."+this.getFieldValue("ANIMATION"),e.ORDER_ATOMIC]},pY=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),_=e.valueToCode(this,"r",e.ORDER_ATOMIC),o="TRUE"==this.getFieldValue("fill")?"True":"False",p=this.getFieldValue("OP");switch(o){case"True":return i+".show_fill_circle("+n+", "+s+", "+_+", "+p+")\n";case"False":return i+".show_circle("+n+", "+s+", "+_+", "+p+")\n"}},aY=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var n=e.valueToCode(this,"x0",e.ORDER_ATOMIC),s=e.valueToCode(this,"y0",e.ORDER_ATOMIC),_=e.valueToCode(this,"x1",e.ORDER_ATOMIC),o=e.valueToCode(this,"y1",e.ORDER_ATOMIC),p=e.valueToCode(this,"x2",e.ORDER_ATOMIC),a=e.valueToCode(this,"y2",e.ORDER_ATOMIC),u="TRUE"==this.getFieldValue("fill")?"True":"False",r=this.getFieldValue("OP");switch(u){case"True":return i+".show_fill_triangle("+n+", "+s+", "+_+", "+o+", "+p+", "+a+", "+r+")\n";case"False":return i+".show_triangle("+n+", "+s+", "+_+", "+o+", "+p+", "+a+", "+r+")\n"}},uY=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_bitmap("+e.valueToCode(this,"START_X",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"START_Y",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"bitmap_name",e.ORDER_ATOMIC)+","+e.valueToCode(this,"WIDTH",e.ORDER_ATOMIC)+","+e.valueToCode(this,"HEIGHT",e.ORDER_ATOMIC)+")\n"},rY=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_pixel("+e.valueToCode(this,"POS_X",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"POS_Y",e.ORDER_ATOMIC)+")\n"},dY=function(t,e){var i,n=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),s=e.valueToCode(this,"CLK",e.ORDER_ATOMIC),_=e.valueToCode(this,"DIO",e.ORDER_ATOMIC),o=this.getFieldValue("key");return"TM1650"==o?(e.definitions_.import_tm1650="import tm1650",i=n+" = tm1650."+o+"(clk="+s+",dio="+_+")\n"):"TM1637"==o&&(e.definitions_.import_tm1637="import tm1637",i=n+" = tm1637."+o+"(clk="+s+",dio="+_+")\n"),i},lY=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+"."+this.getFieldValue("STAT")+"()\n"},IY=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".shownum("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},TY=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".showDP("+e.valueToCode(this,"NO",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"},MY=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".intensity("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},hY=function(t,e){e.definitions_.import_st7789="import st7789";var i=ct.Boards.getSelectedBoardKey().split(":")[2],n="";n=["mpython","mixgo_pe","mixgo_nova"].indexOf(i)>=0?"0x700000":["mixgo_sant"].indexOf(i)>=0?"0xE00000":"0x3A0000";var s=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),_=e.valueToCode(this,"SPISUB",e.ORDER_ATOMIC),o=e.valueToCode(this,"PINCS",e.ORDER_ATOMIC),p=e.valueToCode(this,"PINDC",e.ORDER_ATOMIC);return s+" = st7789.ST7789("+_+", "+e.valueToCode(this,"WIDTH",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"HEIGHT",e.ORDER_ATOMIC)+", dc_pin="+p+", cs_pin="+o+", rotation="+this.getFieldValue("rotate")+", font_address="+n+")\n"},mY=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".image("+n+", x="+s+", y="+_+", size="+o+", color="+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=i+".image("+n+", x= "+s+",y="+_+", size="+o+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},EY=function(t,e){var i="0x"+this.getFieldValue("COLOR").slice(1);return["0x"+((16252928&i)>>8|(64512&i)>>5|(255&i)>>3).toString(16),e.ORDER_ATOMIC]},OY=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),u=this.getFieldValue("center");if("0x"==a.slice(0,2))var r=i+".shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+u+", color="+a+")\n";else{const t=a.match(/\d+/g);var d="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r=i+".shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+u+", color=0x"+((16252928&d)>>8|(64512&d)>>5|(255&d)>>3).toString(16)+")\n"}return r},RY=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==o.slice(0,2))var p=i+".frame("+n+", size="+s+", delay="+_+", color="+o+")\n";else{const t=o.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p=i+".frame("+n+", size="+s+", delay="+_+", color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},cY=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u=i+".scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color="+a+")\n";else{const t=a.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u=i+".scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},gY=function(t,e){return e.definitions_.import_st7789="import st7789",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".fill(st7789."+this.getFieldValue("key")+")\n"},CY=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"x1",e.ORDER_ATOMIC),s=e.valueToCode(this,"y1",e.ORDER_ATOMIC),_=e.valueToCode(this,"x2",e.ORDER_ATOMIC),o=e.valueToCode(this,"y2",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".line("+n+", "+s+", "+_+", "+o+", color="+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=i+".line("+n+", "+s+", "+_+", "+o+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},SY=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC),s=this.getFieldValue("key"),_=e.valueToCode(this,"ADDR",e.ORDER_ATOMIC);return e.definitions_.import_i2clcd="import i2clcd",i+" = i2clcd.LCD("+n+", lcd_width="+s+", i2c_addr="+_+")\n"},AY=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", column="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", line="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+",center = "+this.getFieldValue("center")+")\n"},LY=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".print("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", column="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", line="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", delay="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},NY=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".backlight("+this.getFieldValue("key")+")\n"},DY=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".clear()\n"},fY=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC),s=e.valueToCode(this,"ADDR",e.ORDER_ATOMIC),_=this.getFieldValue("driver"),o=ct.Boards.getSelectedBoardKey().split(":")[2],p="";return p=["mpython","mixgo_pe","mixgo_nova"].indexOf(o)>=0?"0x700000":["mixgo_sant"].indexOf(o)>=0?"0xE00000":"0x3A0000",e.definitions_.import_oled128x64="import oled128x64",i+" = oled128x64.OLED("+n+", address="+s+", font_address="+p+", types="+_+")\n"},FY=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".image("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},PY=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".image("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", x="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", y="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+")\n"},YY=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},vY=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", x="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", y="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+", center="+this.getFieldValue("center")+")\n"},XY=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},xY=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+", delay="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},yY=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},bY=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", y="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+", speed="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+")\n"},VY=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},BY=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("OP")+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")\n"},GY=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},UY=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".pixel(int("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+"), int("+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+"), "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"+i+".show()\n"},wY=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),_=e.valueToCode(t,"w",e.ORDER_ATOMIC),o=e.valueToCode(t,"h",e.ORDER_ATOMIC),p=t.getFieldValue("state");return i+"."+t.getFieldValue("shape")+"("+n+", "+s+", "+_+", "+o+", "+p+")\n"+i+".show()\n"},kY=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),_=e.valueToCode(t,"length",e.ORDER_ATOMIC),o=t.getFieldValue("state");return i+"."+("0"==t.getFieldValue("dir_h_v")?"v":"h")+"line("+n+", "+s+", "+_+", "+o+")\n"+i+".show()\n"},HY=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".line("+e.valueToCode(t,"x1",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"y1",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"x2",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"y2",e.ORDER_ATOMIC)+", "+t.getFieldValue("state")+")\n"+i+".show()\n"},WY=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT);if("Python ESP32-S3"===ct.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var s="onboard_tft.image("+(n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT))+", color=0xffff,sync="+(e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True")+")\n"}else if("educore"==i){e.definitions_["import_"+i+"_oled"]="from "+i+" import oled";s="oled.print("+n+")\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";s="onboard_matrix.shows("+n+")\n"}return s},KY=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),_=this.getFieldValue("center");if("mixgo_sant"==i||"mixgo_nova"==i||"mixgo_soar"==i)return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.shows("+n+", space="+s+", center="+_+",sync="+(e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True")+")\n";if("educore"==i){e.definitions_["import_"+i+"_oled"]="from "+i+" import oled"}return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.shows("+n+", space="+s+", center="+_+")\n"},JY=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var s="onboard_oled.frame("+n+")\n"}else if("Python ESP32-S3"===ct.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";s="onboard_tft.frame("+(n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT))+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";s="onboard_matrix.frame("+n+")\n"}return s},QY=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var _="onboard_oled.frame("+(n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT))+", delay="+s+")\n"}else if("Python ESP32-S3"===ct.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";_="onboard_tft.frame("+n+", size=5 , delay="+s+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";_="onboard_matrix.frame("+n+", delay="+s+")\n"}return _},qY=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var n="onboard_oled.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"}else if("Python ESP32-S3"===ct.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";n="onboard_tft.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"}return n},zY=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var o="onboard_oled.scroll("+n+", speed="+s+", space="+_+")\n"}else if("Python ESP32-S3"===ct.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";o="onboard_tft.scroll("+n+", y=0, size=5, speed="+s+", space="+_+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";o="onboard_matrix.scroll("+n+", speed="+s+", space="+_+")\n"}return o},jY=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.scroll_way("+this.getFieldValue("way")+")\n"},$Y=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u="onboard_tft.scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color="+a+")\n";else{const t=a.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},ZY=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix",["onboard_matrix."+t.getFieldValue("image"),e.ORDER_ATOMIC]},tv=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];if("Python ESP32-S3"===ct.JSFuncs.getPlatform()){const i=t.getFieldValue("image").split(".");if(2!==i.length)throw Error("pin value error");e.definitions_[`import_${i[0]}_${i[1]}`]=`from ${i[0]} import ${i[1]}`;var n=i[1]}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix."+t.getFieldValue("image")}return[n,e.ORDER_ATOMIC]},ev=function(t,e){var i={"#000000":"0","#ff0000":"1"};function n(t){let e="";if(t.length%2==1&&(t="0"+t),t.length<8){let e=8-t.length;for(let i=1;i<=e;i++)t="0"+t}for(let i=1;i<=t.length;i++)i%2==0&&i!==t.length?e=e+t[i-1]+",0x":e+=t[i-1];return"0x"+e}let s=[];for(let e=0;e<12;e++){let _="",o=0,p=0;for(let n=0;n<32;n++)n<8?p=7-n:n<16?p=23-n:n<24?p=39-n:n<32&&(p=55-n),o+=Number(i[t.getFieldValue(e+"-"+n)])*Math.pow(2,31-p);_+=n(o.toString(16)),s.unshift(_)}let _=[];for(let t=0;t>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},Bv=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.picture("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+","+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+","+e.valueToCode(this,"direct",e.ORDER_ASSIGNMENT)+")\n"},Gv=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=this.getFieldValue("center"),u=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True",r=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==r.slice(0,2))var d="onboard_tft.shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+a+", color="+r+",sync="+u+")\n";else{const t=r.match(/\d+/g);var l="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");d="onboard_tft.shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+a+", color=0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+",sync="+u+")\n"}return d},Uv=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==o.slice(0,2))var p="onboard_tft.frame("+n+", size="+s+", delay="+_+", color="+o+")\n";else{const t=o.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p="onboard_tft.frame("+n+", size="+s+", delay="+_+", color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},wv=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),_=e.valueToCode(t,"w",e.ORDER_ATOMIC),o=e.valueToCode(t,"h",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=t.getFieldValue("shape"),u=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var r="onboard_tft."+a+"("+n+", "+s+", "+_+", "+o+", "+p+",sync="+u+")\n";else{const t=p.match(/\d+/g);var d="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r="onboard_tft."+a+"("+n+", "+s+", "+_+", "+o+", 0x"+((16252928&d)>>8|(64512&d)>>5|(255&d)>>3).toString(16)+",sync="+u+")\n"}return r},kv=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),_=e.valueToCode(t,"length",e.ORDER_ATOMIC),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),p=t.getFieldValue("dir_h_v"),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==o.slice(0,2))var u="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+_+", "+o+",sync="+a+")\n";else{const t=o.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+_+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},Hv=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x1",e.ORDER_ATOMIC),s=e.valueToCode(t,"y1",e.ORDER_ATOMIC),_=e.valueToCode(t,"x2",e.ORDER_ATOMIC),o=e.valueToCode(t,"y2",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var u="onboard_tft.line("+n+", "+s+", "+_+", "+o+", "+p+",sync="+a+")\n";else{const t=p.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.line("+n+", "+s+", "+_+", "+o+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},Wv=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft",["onboard_tft.pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},Kv=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),o=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==_.slice(0,2))var p="onboard_tft.pixel(int("+n+"), int("+s+"), "+_+",sync="+o+")\n";else{const t=_.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p="onboard_tft.pixel(int("+n+"), int("+s+"), 0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+",sync="+o+")\n"}return p},Jv=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"VAR",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==n.slice(0,2))var _="onboard_tft.fill("+n+",sync="+s+")\n";else{const t=n.match(/\d+/g);var o="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");_="onboard_tft.fill(0x"+((16252928&o)>>8|(64512&o)>>5|(255&o)>>3).toString(16)+",sync="+s+")\n"}return _},Qv=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=o+"=Clock("+n+", "+s+", "+_+", "+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=o+"=Clock("+n+", "+s+", "+_+", 0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},qv=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".set_rtctime()\n"},zv=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".set_time("+e.valueToCode(this,"h",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"m",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"s",e.ORDER_ASSIGNMENT)+")\n"},jv=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".draw_clock()\n"},$v=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==s.slice(0,2))var _=n+".clear("+s+")\n";else{const t=s.match(/\d+/g);var o="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");_=n+".clear(0x"+((16252928&o)>>8|(64512&o)>>5|(255&o)>>3).toString(16)+")\n"}return _},Zv=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),_=e.valueToCode(t,"r",e.ORDER_ATOMIC),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),p=t.getFieldValue("shape"),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==o.slice(0,2))var u="onboard_tft.ellipse("+n+", "+s+", "+_+", "+_+", "+o+", "+p+",sync="+a+")\n";else{const t=o.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.ellipse("+n+", "+s+", "+_+", "+_+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+", "+p+",sync="+a+")\n"}return u},tX=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];if("Python ESP32-S3"===ct.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n="onboard_tft.pointern(angle="+e.valueToCode(this,"angle",e.ORDER_ASSIGNMENT)+")\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.pointern(angle="+e.valueToCode(this,"angle",e.ORDER_ASSIGNMENT)+")\n"}return n},eX=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"angle",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==s.slice(0,2));else{const t=s.match(/\d+/g);var _="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");((16252928&_)>>8|(64512&_)>>5|(255&_)>>3).toString(16)}return"onboard_tft.pointern(angle="+n+")\n"},iX=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var u="onboard_tft.texts("+n+", x="+s+", y="+_+", size="+o+", color="+p+",sync="+a+")\n";else{const t=p.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.texts("+n+", x="+s+", y="+_+", size="+o+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},nX=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"direct",e.ORDER_ATOMIC);e.valueToCode(this,"boolean",e.ORDER_ATOMIC);return"onboard_tft.qrcode("+n+")\n"},sX=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True",u=this.getFieldValue("correct");if("0x"==p.slice(0,2))var r="onboard_tft.qrcode("+n+",x="+s+",y="+_+",size="+o+",correct="+u+",color="+p+",sync="+a+")\n";else{const t=p.match(/\d+/g);var d="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r="onboard_tft.qrcode("+n+",x="+s+",y="+_+",size="+o+",correct="+u+",color=0x"+((16252928&d)>>8|(64512&d)>>5|(255&d)>>3).toString(16)+",sync="+a+")\n"}return r},_X=WY,oX=rv,pX=pv,aX=rv,uX=dv,rX=nv,dX=function(t,e){var i=this.getFieldValue("path"),n=this.getFieldValue("module");return e.definitions_["import_"+i+"_"+n]="from "+i+" import "+n,""},lX=function(t,e){var i=this.getFieldValue("module");return e.definitions_["import_"+i]="import "+i,""},IX=function(t,e){for(var i=this.getFieldValue("NAME"),n=new Array(this.itemCount_),s=0;s {\n"+e.statementToCode(this,"do")+"})\n"},SG=function(){return"control.reset()\n"},AG=function(t,e){return"control.waitMicros("+(e.valueToCode(this,"data",e.ORDER_ATOMIC)||ct.Profile.default.serial)+")\n"},LG=function(t,e){return"control.raiseEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||ct.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||ct.Profile.default.serial)+")\n"},NG=function(t,e){return"control.onEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||ct.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||ct.Profile.default.serial)+", () => {\n"+e.statementToCode(this,"do")+")\n"},DG=function(t,e){return["control.eventTimestamp()",e.ORDER_ATOMIC]},fG=function(t,e){return["control.eventValue()",e.ORDER_ATOMIC]},FG=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},PG=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},YG=function(t,e){return["control.deviceName()",e.ORDER_ATOMIC]},vG=function(t,e){return["control.deviceSerialNumber()",e.ORDER_ATOMIC]},XG=function(t,e){return"panic("+(e.valueToCode(this,"STATUS_CODE",e.ORDER_ATOMIC)||"1000")+")\n"},xG=function(t,e){switch(e.definitions_.import_time="import time",this.getFieldValue("Time")){case"ms":return["time.ticks_ms()",e.ORDER_ATOMIC];case"us":return["time.ticks_us()",e.ORDER_ATOMIC]}},yG=function(){return"while True:\n pass\n"},bG=function(t,e){return e.definitions_.import_mixgo="import mixgo","reset()\n"},VG=function(t,e){return e.definitions_.import_os="import os","os.uname()"},BG=function(t,e){e.definitions_.import_time="import time";var i=e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},GG=function(t,e){e.definitions_.import_time="import time";var i=e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},UG=function(t,e){return e.definitions_.import_mixgo="import mixgo",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+".init(period="+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode=Timer."+(e.valueToCode(this,"mode",e.ORDER_NONE)||"None")+", callback="+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},wG=function(t,e){return e.definitions_.import_machine="import machine",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+" = machine.Timer("+(e.valueToCode(this,"PIN",e.ORDER_NONE)||"None")+",period = "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode=machine.Timer."+this.getFieldValue("mode")+", callback="+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},kG=function(t,e){return e.definitions_.import_time="import time",["time.ticks_diff("+(e.valueToCode(this,"END",e.ORDER_NONE)||"0")+", "+(e.valueToCode(this,"START",e.ORDER_NONE)||"0")+")",e.ORDER_ATOMIC]},HG=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return e.definitions_.import_machine="import machine",i+" = machine.Timer(0)\n"},WG=function(t,e){return e.definitions_.import_machine="import machine",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+".init(period = "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode=machine.Timer."+this.getFieldValue("mode")+", callback="+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},KG=function(t,e){return e.definitions_.import_machine="import machine","wdt = machine.WDT(timeout= "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+")\n"},JG=function(t,e){e.definitions_.import_machine="import machine";return"wdt.feed()\n"},QG=function(t,e){e.definitions_.import_machine="import machine";return"machine.reset()\n"},qG=function(t,e){e.definitions_.import_bitbot_onboard_bot51="from bitbot import onboard_bot51";return"onboard_bot51.shutdown()\n"},zG=HG,jG=WG,$G=kG,ZG=BG,tU=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},eU=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"day",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},iU=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api.weather_hourly("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"hour",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},nU=function(t,e){return e.definitions_["import_seniverse_api*"]="from seniverse_api import *",this.getFieldValue("mode")+".request("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+")\n"},sU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Weather_now.analysis()";else n='Weather_now.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},_U=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Air_now.analysis()";else n='Air_now.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},oU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Weather_alarm.analysis()";else n='Weather_alarm.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},pU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Life_suggestion.analysis()";else n='Life_suggestion.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},aU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Tide_daily.analysis()";else n='Tide_daily.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},uU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Location_search.analysis()";else n='Location_search.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},rU=function(t,e){return e.definitions_["import_seniverse_api*"]="from seniverse_api import *",this.getFieldValue("mode")+".request("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"day",e.ORDER_ATOMIC)+")\n"},dU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Weather_daily.analysis("+n+")";else s="Weather_daily.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},lU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Air_daily.analysis("+n+")";else s="Air_daily.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},IU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Geo_sun.analysis("+n+")";else s="Geo_sun.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},TU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Geo_moon.analysis("+n+")";else s="Geo_moon.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},MU='
\r\n
{{-d.title}}
\r\n
\r\n {{# if (d.message) { }}\r\n

\r\n {{-d.message}}\r\n

\r\n {{# } }}\r\n
\r\n
',{XML:hU}=ct,mU=hU.render(MU,{title:"烧录速度",message:"要选择烧录速度,请更改“Burn Speed”,此值将用于向设备烧录代码。如果在用较高的烧录速度时出现问题,请尝试减小此值,这可能是由于外部串行到USB芯片的限制。"}),{XML:EU}=ct,OU=EU.render(MU,{title:"燒錄速度",message:"要選擇燒錄速度,請更改“Burn Speed”,此值將用於向設備燒錄程式碼。如果在用較高的燒錄速度時出現問題,請嘗試减小此值,這可能是由於外部串列到USB晶片的限制。"}),{XML:RU}=ct,cU=RU.render(MU,{title:"Burn Speed",message:"To select the flashing speed, change the Burn Speed. This value will be used for flashing the code to the device. If you have issues while flashing the device at high speed, try to decrease this value. This could be due to the external serial-to-USB chip limitations."}),gU=new Rt.Generator("Python");gU.INDENT=" ",gU.addReservedWords("False,None,True,and,as,assert,break,class,continue,def,del,elif,else,except,exec,finally,for,from,global,if,import,in,is,lambda,nonlocal,not,or,pass,print,raise,return,try,while,with,yield,NotImplemented,Ellipsis,__debug__,quit,exit,copyright,license,credits,ArithmeticError,AssertionError,AttributeError,BaseException,BlockingIOError,BrokenPipeError,BufferError,BytesWarning,ChildProcessError,ConnectionAbortedError,ConnectionError,ConnectionRefusedError,ConnectionResetError,DeprecationWarning,EOFError,Ellipsis,EnvironmentError,Exception,FileExistsError,FileNotFoundError,FloatingPointError,FutureWarning,GeneratorExit,IOError,ImportError,ImportWarning,IndentationError,IndexError,InterruptedError,IsADirectoryError,KeyError,KeyboardInterrupt,LookupError,MemoryError,ModuleNotFoundError,NameError,NotADirectoryError,NotImplemented,NotImplementedError,OSError,OverflowError,PendingDeprecationWarning,PermissionError,ProcessLookupError,RecursionError,ReferenceError,ResourceWarning,RuntimeError,RuntimeWarning,StandardError,StopAsyncIteration,StopIteration,SyntaxError,SyntaxWarning,SystemError,SystemExit,TabError,TimeoutError,TypeError,UnboundLocalError,UnicodeDecodeError,UnicodeEncodeError,UnicodeError,UnicodeTranslateError,UnicodeWarning,UserWarning,ValueError,Warning,ZeroDivisionError,_,__build_class__,__debug__,__doc__,__import__,__loader__,__name__,__package__,__spec__,abs,all,any,apply,ascii,basestring,bin,bool,buffer,bytearray,bytes,callable,chr,classmethod,cmp,coerce,compile,complex,copyright,credits,delattr,dict,dir,divmod,enumerate,eval,exec,execfile,exit,file,filter,float,format,frozenset,getattr,globals,hasattr,hash,help,hex,id,input,int,intern,isinstance,issubclass,iter,len,license,list,locals,long,map,max,memoryview,min,next,object,oct,open,ord,pow,print,property,quit,range,raw_input,reduce,reload,repr,reversed,round,set,setattr,slice,sorted,staticmethod,str,sum,super,tuple,type,unichr,unicode,vars,xrange,zip"),gU.ORDER_ATOMIC=0,gU.ORDER_COLLECTION=1,gU.ORDER_STRING_CONVERSION=1,gU.ORDER_UNARY_POSTFIX=1,gU.ORDER_UNARY_PREFIX=2,gU.ORDER_MEMBER=2.1,gU.ORDER_FUNCTION_CALL=2.2,gU.ORDER_EXPONENTIATION=3,gU.ORDER_UNARY_SIGN=4,gU.ORDER_BITWISE_NOT=4,gU.ORDER_MULTIPLICATIVE=5,gU.ORDER_ADDITIVE=6,gU.ORDER_BITWISE_SHIFT=7,gU.ORDER_BITWISE_AND=8,gU.ORDER_BITWISE_XOR=9,gU.ORDER_BITWISE_OR=10,gU.ORDER_RELATIONAL=11,gU.ORDER_EQUALITY=11,gU.ORDER_LOGICAL_NOT=12,gU.ORDER_LOGICAL_AND=13,gU.ORDER_LOGICAL_OR=14,gU.ORDER_ASSIGNMENT=14,gU.ORDER_CONDITIONAL=15,gU.ORDER_LAMBDA=16,gU.ORDER_NONE=99,gU.ORDER_OVERRIDES=[[gU.ORDER_FUNCTION_CALL,gU.ORDER_MEMBER],[gU.ORDER_FUNCTION_CALL,gU.ORDER_FUNCTION_CALL],[gU.ORDER_MEMBER,gU.ORDER_MEMBER],[gU.ORDER_MEMBER,gU.ORDER_FUNCTION_CALL]],gU.init=function(){gU.PASS=this.INDENT+"pass\n",gU.definitions_=Object.create(null),gU.functionNames_=Object.create(null),gU.setups_=Object.create(null),gU.loops_=Object.create(null),gU.codeEnd_=Object.create(null),gU.variableDB_?gU.variableDB_.reset():gU.variableDB_=new At(gU.RESERVED_WORDS_)},gU.finish=function(t){""!==t&&(t=(t=t.replace(/\n/g,"\n")).replace(/\n\s+$/,"\n"));var e=[],i=[],n=[];for(var s in this.definitions_){var _=this.definitions_[s];0===s.indexOf("import")?e.push(_):0===s.indexOf("var_declare")?i.push(_):n.push(_)}e.length&&e.push("\n"),i.length&&i.push("\n"),n.length&&n.push("\n");var o=[];for(var s in gU.functions_)o.push(gU.functions_[s]);o.length&&o.push("\n");var p=[];for(var s in gU.setups_)p.push(gU.setups_[s]);p.length&&p.push("\n");var a=[];for(var s in gU.loops_)a.push(gU.loops_[s]);var u=[];for(var s in gU.codeEnd_)u.push(gU.codeEnd_[s]);0!==u.length&&u.push("\n");let r="";return r=a.length>0?e.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+t+"while True:\n"+a.join("")+u.join("\n"):e.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+t+u.join("\n"),r},gU.scrubNakedValue=function(t){return t+"\n"},gU.quote_=function(t){var e="'";return-1!==(t=t.replace(/\\/g,"\\\\").replace(/\n/g,"\\\n")).indexOf("'")&&(-1===t.indexOf('"')?e='"':t=t.replace(/'/g,"\\'")),e+t+e},gU.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},gU.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(_=t.getCommentText())&&(_=Rt.utils.string.wrap(_,gU.COMMENT_WRAP-3),n+=gU.prefixLines(_+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const CU={};CU["MixGo CC"]={description:"MicroPython[ESP32C3 MixGo CC]",digital_pin:ct.Profile.generate(["0-11","18-21"]),input_pin:ct.Profile.generate(["0-11","18-21"]),output_pin:ct.Profile.generate(["0-11","18-21"]),pwm_input:ct.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_input:ct.Profile.generate(["0-5"],"adc","adc"),pwm_output:ct.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_output:ct.Profile.generate(["0-5"],"adc","adc"),espnow_channel:ct.Profile.generate(["1-13"]),haskylens_model:ct.Profile.generate(["0-4"]),digital:ct.Profile.generate(["0-11","18-21"],"pin","pin"),pwm_pin:ct.Profile.generate(["0-11","18-21"]),pwm:ct.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_pin:ct.Profile.generate(["0-5"]),analog:ct.Profile.generate(["0-5"],"adc","adc"),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:ct.Profile.generate(["0-4"]),exlcdh:ct.Profile.generate(["0-31"]),exlcdv:ct.Profile.generate(["0-11"]),brightness:ct.Profile.generate(["0-9"]),tts_voice:ct.Profile.generate(["0-16"]),tts_builtin_music:ct.Profile.generate(["0-47"]),tts_bgmusic:ct.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["MUSIC_QUAVERS","onboard_matrix.MUSIC_QUAVERS"],["MUSIC_QUAVER","onboard_matrix.MUSIC_QUAVER"],["MUSIC_CROTCHET","onboard_matrix.MUSIC_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]},CU["MixGo ME"]={description:"MicroPython[ESP32C3 MixGo ME]",digital_pin:ct.Profile.generate(["0-11","18-21"]),input_pin:ct.Profile.generate(["0-11","18-21"]),output_pin:ct.Profile.generate(["0-11","18-21"]),pwm_input:ct.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_input:ct.Profile.generate(["0-5"],"adc","adc"),pwm_output:ct.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_output:ct.Profile.generate(["0-5"],"adc","adc"),espnow_channel:ct.Profile.generate(["1-13"]),haskylens_model:ct.Profile.generate(["0-4"]),digital:ct.Profile.generate(["0-11","18-21"],"pin","pin"),pwm_pin:ct.Profile.generate(["0-11","18-21"]),pwm:ct.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_pin:ct.Profile.generate(["0-5"]),analog:ct.Profile.generate(["0-5"],"adc","adc"),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:ct.Profile.generate(["0-4"]),exlcdh:ct.Profile.generate(["0-7"]),exlcdv:ct.Profile.generate(["0-4"]),brightness:ct.Profile.generate(["0-9"]),tts_voice:ct.Profile.generate(["0-16"]),tts_builtin_music:ct.Profile.generate(["0-47"]),tts_bgmusic:ct.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["MUSIC_QUAVERS","onboard_matrix.MUSIC_QUAVERS"],["MUSIC_QUAVER","onboard_matrix.MUSIC_QUAVER"],["MUSIC_CROTCHET","onboard_matrix.MUSIC_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]},CU["MixGo Car 4.2"]={description:"MicroPython[ESP32]",digital_pin:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["20","20"],["21","21"]],digital:[["pin0","pin0"],["pin1","pin1"],["pin2","pin2"],["pin3","pin3"],["pin4","pin4"],["pin5","pin5"],["pin6","pin6"],["pin7","pin7"],["pin8","pin8"],["pin9","pin9"],["pin10","pin10"],["pin20","pin20"],["pin21","pin21"]],pwm_pin:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["20","20"],["21","21"]],pwm:[["pwm0","pwm0"],["pwm1","pwm1"],["pwm2","pwm2"],["pwm3","pwm3"],["pwm4","pwm4"],["pwm5","pwm5"],["pwm6","pwm6"],["pwm7","pwm7"],["pwm8","pwm8"],["pwm9","pwm9"],["pwm10","pwm10"],["pwm20","pwm20"],["pwm21","pwm21"]],espnow_channel:[["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"],["12","12"],["13","13"]],i2c_A_pin:[["6","6"],["9","9"]],i2c_B_pin:[["7","7"],["10","10"]],spi_A_pin:[["6","6"],["9","9"]],spi_B_pin:[["7","7"],["10","10"]],spi_C_pin:[["9","9"],["20","20"]],spi_D_pin:[["10","10"],["21","21"]],analog_pin:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],analog:[["adc0","adc0"],["adc1","adc1"],["adc2","adc2"],["adc3","adc3"],["adc4","adc4"]],dac_pin:[["25","25"],["26","26"]],dac:[["dac25","dac25"],["dac26","dac26"]],touch:[["tc0","tc0"],["tc2","tc2"],["tc4","tc4"],["tc12","tc12"],["tc13","tc13"],["tc14","tc14"],["tc15","tc15"],["tc27","tc27"],["tc32","tc32"],["tc33","tc33"]],touch_pin:[["0","0"],["2","2"],["4","4"],["12","12"],["13","13"],["14","14"],["15","15"],["27","27"],["32","32"],["33","33"]],button:[["A","button_a"],["B","button_b"]],buttonB:[["B","button_b"]],axis:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],exlcdh:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["20","20"],["21","21"],["22","22"],["23","23"],["24","24"],["25","25"],["26","26"],["27","27"],["28","28"],["29","29"],["30","30"],["31","31"]],exlcdv:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"]],brightness:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"]],builtinimg:[["HEART","matrix.Image.HEART"],["HEART_SMALL","matrix.Image.HEART_SMALL"],["HAPPY","matrix.Image.HAPPY"],["SAD","matrix.Image.SAD"],["SMILE","matrix.Image.SMILE"],["SILLY","matrix.Image.SILLY"],["FABULOUS","matrix.Image.FABULOUS"],["SURPRISED","matrix.Image.SURPRISED"],["ASLEEP","matrix.Image.ASLEEP"],["ANGRY","matrix.Image.ANGRY"],["CONFUSED","matrix.Image.CONFUSED"],["NO","matrix.Image.NO"],["YES","matrix.Image.YES"],["LEFT_ARROW","matrix.Image.LEFT_ARROW"],["RIGHT_ARROW","matrix.Image.RIGHT_ARROW"],["DRESS","matrix.Image.DRESS"],["TRANSFORMERS","matrix.Image.TRANSFORMERS"],["SCISSORS","matrix.Image.SCISSORS"],["EXIT","matrix.Image.EXIT"],["TREE","matrix.Image.TREE"],["PACMAN","matrix.Image.PACMAN"],["TARGET","matrix.Image.TARGET"],["TSHIRT","matrix.Image.TSHIRT"],["ROLLERSKATE","matrix.Image.ROLLERSKATE"],["DUCK","matrix.Image.DUCK"],["HOUSE","matrix.Image.HOUSE"],["TORTOISE","matrix.Image.TORTOISE"],["BUTTERFLY","matrix.Image.BUTTERFLY"],["STICKFIGURE","matrix.Image.STICKFIGURE"],["GHOST","matrix.Image.GHOST"],["PITCHFORK","matrix.Image.PITCHFORK"],["MUSIC_QUAVERS","matrix.Image.MUSIC_QUAVERS"],["MUSIC_QUAVER","matrix.Image.MUSIC_QUAVER"],["MUSIC_CROTCHET","matrix.Image.MUSIC_CROTCHET"],["COW","matrix.Image.COW"],["RABBIT","matrix.Image.RABBIT"],["SQUARE_SMALL","matrix.Image.SQUARE_SMALL"],["SQUARE","matrix.Image.SQUARE"],["DIAMOND_SMALL","matrix.Image.DIAMOND_SMALL"],["DIAMOND","matrix.Image.DIAMOND"],["CHESSBOARD","matrix.Image.CHESSBOARD"],["TRIANGLE_LEFT","matrix.Image.TRIANGLE_LEFT"],["TRIANGLE","matrix.Image.TRIANGLE"],["SNAKE","matrix.Image.SNAKE"],["UMBRELLA","matrix.Image.UMBRELLA"],["SKULL","matrix.Image.SKULL"],["GIRAFFE","matrix.Image.GIRAFFE"],["SWORD","matrix.Image.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM","music.DADADADUM"],["ENTERTAINER","music.ENTERTAINER"],["PRELUDE","music.PRELUDE"],["ODE","music.ODE"],["NYAN","music.NYAN"],["RINGTONE","music.RINGTONE"],["FUNK","music.FUNK"],["BLUES","music.BLUES"],["BIRTHDAY","music.BIRTHDAY"],["WEDDING","music.WEDDING"],["FUNERAL","music.FUNERAL"],["PUNCHLINE","music.PUNCHLINE"],["PYTHON","music.PYTHON"],["BADDY","music.BADDY"],["CHASE","music.CHASE"],["BA_DING","music.BA_DING"],["WAWAWAWAA","music.WAWAWAWAA"],["JUMP_UP","music.JUMP_UP"],["JUMP_DOWN","music.JUMP_DOWN"],["POWER_UP","music.POWER_UP"],["POWER_DOWN","music.POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]},CU["ESP32C3 Generic"]={description:"MicroPython[ESP32C3 MixGo CC]",digital_pin:ct.Profile.generate(["0-11","18-21"]),input_pin:ct.Profile.generate(["0-11","18-21"]),output_pin:ct.Profile.generate(["0-11","18-21"]),pwm_input:ct.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_input:ct.Profile.generate(["0-5"],"adc","adc"),pwm_output:ct.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_output:ct.Profile.generate(["0-5"],"adc","adc"),espnow_channel:ct.Profile.generate(["1-13"]),haskylens_model:ct.Profile.generate(["0-4"]),digital:ct.Profile.generate(["0-11","18-21"],"pin","pin"),pwm_pin:ct.Profile.generate(["0-11","18-21"]),pwm:ct.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_pin:ct.Profile.generate(["0-5"]),analog:ct.Profile.generate(["0-5"],"adc","adc"),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:ct.Profile.generate(["0-4"]),exlcdh:ct.Profile.generate(["0-31"]),exlcdv:ct.Profile.generate(["0-11"]),brightness:ct.Profile.generate(["0-9"]),tts_voice:ct.Profile.generate(["0-16"]),tts_builtin_music:ct.Profile.generate(["0-47"]),tts_bgmusic:ct.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]};const SU=CU,AU=20,LU={init:function(){this.setColour(AU),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_HIGH,"HIGH"],[Rt.Msg.MIXLY_LOW,"LOW"]]),"BOOL"),this.setOutput(!0,Boolean),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_HIGHLOW_TOOLTIP)}},NU={init:function(){this.setColour(AU),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_Digital_PINMODEOUT).setCheck(Number),this.appendValueInput("STAT").appendField(Rt.Msg.MIXLY_STAT).setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_DIGITAL_WRITE_TOOLTIP)}},DU={init:function(){this.setColour(AU),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Rt.Msg.MIXLY_Digital_PINMODEIN).setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_MACHINE_VALUE),this.setInputsInline(!0),this.setOutput(!0,[Boolean,Number]),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_DIGITAL_READ_TOOLTIP)}},fU={init:function(){this.setColour(AU),this.appendValueInput("PIN",Number).appendField("DAC"+Rt.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendValueInput("NUM",Number).appendField(Rt.Msg.MIXLY_VALUE2).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_TOOLTIP)}},FU={init:function(){this.setColour(AU),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_JS_PERIOD_MIL).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_mSecond,"period"],[Rt.Msg.MIXLY_uSecond,"period_microseconds"]]),"key"),this.appendValueInput("NUM",Number).appendField(Rt.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_SET_TOOLTIP)}},PU={init:function(){this.setColour(AU),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_Analog_PINMODEIN).setCheck(Number),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_ESP32_REF_VOLTAGE+Rt.Msg.MIXLY_STAT).appendField(new Rt.FieldDropdown([["3.3V","machine.ADC.ATTN_11DB"],["2.2V","machine.ADC.ATTN_6DB"],["1.5V","machine.ADC.ATTN_2_5DB"],["1.2V","machine.ADC.ATTN_0DB"]]),"atten"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_ANALOG_ATTEN_TOOLTIP)}},YU={init:function(){this.setColour(AU),this.appendValueInput("pin").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Rt.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_MACHINE_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_PIN_PRESSED_TOOLTIP)}},vU={init:function(){this.setColour(20),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_ATTACHINTERRUPT_PIN).setCheck(Number),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MODE).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[Rt.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[Rt.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(Rt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_PIN_ATTACHINTERRUPT_TOOLTIP)}},XU={init:function(){this.setColour(20),this.appendDummyInput().appendField(Rt.Msg.MIXLY_SETUP).appendField(new Rt.FieldTextInput("pin#"),"PIN_OBJ"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROPYTHON_AS).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_Digital_PINMODEOUT,"machine.Pin.OUT"],[Rt.Msg.MIXLY_Digital_PINMODEIN,"machine.Pin.IN"],[Rt.Msg.MIXLY_PINMODEPULLUP,"machine.Pin.IN, machine.Pin.PULL_UP"],[Rt.Msg.MIXLY_PINMODEPULLDOWN,"machine.Pin.IN, machine.Pin.PULL_DOWN"]]),"MODE"),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_DIGITAL_INIT_TOOLTIP)},getVars:function(){return["pin#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(e,"PIN_OBJ")}},xU={init:function(){this.setColour(AU),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_SETUP).appendField(new Rt.FieldTextInput("dac#"),"PIN_OBJ").appendField(Rt.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField("DAC"+Rt.Msg.MIXLY_Analog_PINMODEOUT),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_INIT_TOOLTIP)},getVars:function(){return["dac#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(e,"PIN_OBJ")}},yU={init:function(){this.setColour(AU),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_SETUP).appendField(new Rt.FieldTextInput("tc#"),"PIN_OBJ").appendField(Rt.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_PIN_PRESSED_INIT_TOOLTIP)},getVars:function(){return["tc#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(e,"PIN_OBJ")}},bU={init:function(){this.setColour(AU),this.appendValueInput("PIN",Number).appendField("PWM"+Rt.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendValueInput("NUM",Number).appendField(Rt.Msg.MIXLY_FREQUENCY+Rt.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_PWM_ANALOG_WRITE_SET_FREQ_TOOLTIP)}},VU=XU,BU=yU,GU=YU,UU=vU,wU=40,kU={init:function(){if("mixgo_me"==ct.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(wU),this.appendDummyInput("").appendField(t).appendField(Rt.Msg.MIXLY_TEM_HUM+" AHT21").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[Rt.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key");return{temperature:Rt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,relative_humidity:Rt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[t]}))}},HU={init:function(){if("mixgo_me"==ct.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(wU),this.appendDummyInput("").appendField(t).appendField(Rt.Msg.MIXLY_Altitude+Rt.Msg.MSG.catSensor+" HP203X").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GETPRESSURE,"pressure()"],[Rt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[Rt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},WU={init:function(){if("mixgo_me"==ct.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(wU),this.appendDummyInput().appendField(t).appendField(Rt.Msg.MIXLY_MIXGO_NOVA_POTENTIAL_NUM),this.setOutput(!0,Number),this.setInputsInline(!0)}},KU={init:function(){if("mixgo_me"==ct.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(wU),this.appendDummyInput().appendField(t).appendField("RFID"+Rt.Msg.MIXLY_RFID_READ_CARD),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RFID_READ_CARD_UID),this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0,Number),this.setInputsInline(!0),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},JU={init:function(){if("mixgo_me"==ct.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(wU),this.appendDummyInput().appendField(t).appendField("RFID"+Rt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SECTOR").appendField(Rt.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL),this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0,Number),this.setInputsInline(!0),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},QU={init:function(){if("mixgo_me"==ct.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(wU),this.appendDummyInput().appendField(t).appendField(Rt.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SECTOR").appendField(Rt.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(Rt.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},qU={init:function(){if("mixgo_me"==ct.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(wU),this.appendDummyInput().appendField(t).appendField(Rt.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SECTOR").appendField(Rt.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(Rt.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(Rt.Msg.RETURN_SUCCESS_OR_NOT),this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setInputsInline(!0),this.setOutput(!0),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},zU={init:function(){if("mixgo_me"==ct.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(wU),this.appendDummyInput().appendField(t).appendField("RFID"),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_RFID_SCAN_OK,"0"],[Rt.Msg.MIXLY_RFID_SCAN_NOTAGERR,"1"],[Rt.Msg.MIXLY_RFID_SCAN_ERROR,"2"]]),"key"),this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0,Number),this.setInputsInline(!0),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},jU=230,$U={init:function(){this.setColour(jU),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.digital),"PIN"),this.setOutput(!0)}},ZU={init:function(){this.setColour(jU),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.digital_pin),"PIN"),this.setOutput(!0,Number)}},tw={init:function(){this.setColour(jU),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.input_pin),"PIN"),this.setOutput(!0,Number)}},ew={init:function(){this.setColour(jU),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.output_pin),"PIN"),this.setOutput(!0,Number)}},iw={init:function(){this.setColour(jU),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.espnow_channel),"PIN"),this.setOutput(!0,Number)}},nw={init:function(){this.setColour(jU),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.haskylens_model),"PIN"),this.setOutput(!0,Number)}},sw={init:function(){this.setColour(jU),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.pwm_input),"PIN"),this.setOutput(!0)}},_w={init:function(){this.setColour(jU),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.analog_input),"PIN"),this.setOutput(!0)}},ow={init:function(){this.setColour(jU),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.pwm_output),"PIN"),this.setOutput(!0)}},pw={init:function(){this.setColour(jU),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.analog_output),"PIN"),this.setOutput(!0)}},aw={init:function(){this.setColour(jU),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.i2c_A_pin),"PIN"),this.setOutput(!0,Number)}},uw={init:function(){this.setColour(jU),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.i2c_B_pin),"PIN"),this.setOutput(!0,Number)}},rw={init:function(){this.setColour(jU),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.spi_A_pin),"PIN"),this.setOutput(!0,Number)}},dw={init:function(){this.setColour(jU),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.spi_B_pin),"PIN"),this.setOutput(!0,Number)}},lw={init:function(){this.setColour(jU),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.spi_C_pin),"PIN"),this.setOutput(!0,Number)}},Iw={init:function(){this.setColour(jU),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.spi_D_pin),"PIN"),this.setOutput(!0,Number)}},Tw={init:function(){this.setColour(jU),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.analog),"PIN"),this.setOutput(!0)}},Mw={init:function(){this.setColour(jU),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.analog_pin),"PIN"),this.setOutput(!0,Number)}},hw={init:function(){this.setColour(jU),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.dac),"PIN"),this.setOutput(!0)}},mw={init:function(){this.setColour(jU),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.dac_pin),"PIN"),this.setOutput(!0,Number)}},Ew={init:function(){this.setColour(jU),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.button),"PIN"),this.setOutput(!0,Number)}},Ow={init:function(){this.setColour(jU),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.buttonB),"PIN"),this.setOutput(!0,Number)}},Rw={init:function(){this.setColour(jU),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.pwm),"PIN"),this.setOutput(!0)}},cw={init:function(){this.setColour(jU),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.pwm_pin),"PIN"),this.setOutput(!0,Number)}},gw={init:function(){this.setColour(jU),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.touch_pin),"PIN"),this.setOutput(!0,Number)}},Cw={init:function(){this.setColour(jU),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.touch),"PIN"),this.setOutput(!0)}},Sw={init:function(){this.setColour(jU),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.serial_pin),"PIN"),this.setOutput(!0,Number)}},Aw={init:function(){this.setColour(jU),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.builtinimg),"PIN"),this.setOutput(!0,"esp32_image")}},Lw={init:function(){this.setColour(jU),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.builtinimg_extern),"PIN"),this.setOutput(!0,"esp32_image")}},Nw={init:function(){this.setColour(jU),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.imglist),"PIN"),this.setOutput(!0)}},Dw={init:function(){this.setColour(jU),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.playlist),"PIN"),this.setOutput(!0)}},fw={init:function(){this.setColour(jU),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.playlist_extern),"PIN"),this.setOutput(!0)}},Fw={init:function(){this.setColour(jU),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.exlcdh),"PIN"),this.setOutput(!0,Number)}},Pw={init:function(){this.setColour(jU),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.exlcdv),"PIN"),this.setOutput(!0,Number)}},Yw={init:function(){this.setColour(jU),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.axis),"PIN"),this.setOutput(!0,Number)}},vw={init:function(){this.setColour(jU),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.brightness),"PIN"),this.setOutput(!0,Number)}},Xw={init:function(){this.setColour(jU),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.tts_voice),"PIN"),this.setOutput(!0,Number)}},xw={init:function(){this.setColour(jU),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.tts_builtin_music),"PIN"),this.setOutput(!0,Number)}},yw={init:function(){this.setColour(jU),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.tts_bgmusic),"PIN"),this.setOutput(!0,Number)}},bw={init:function(){this.setColour(jU),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.tone_notes),"PIN"),this.setOutput(!0,Number)}},Vw={init:function(){this.setColour(jU),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.radio_power),"PIN"),this.setOutput(!0,Number)}},Bw={init:function(){this.setColour(jU),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.radio_datarate),"PIN"),this.setOutput(!0,Number)}},Gw={init:function(){this.setColour(jU),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.one_more),"PIN"),this.setOutput(!0)}},Uw={init:function(){this.setColour(jU),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.digital_dot),"PIN"),this.setOutput(!0,Number)}},ww={init:function(){this.setColour(jU),this.appendDummyInput("").appendField(new Rt.FieldDropdown([["0","0"],["1","1"]]),"PIN"),this.setOutput(!0,Number)}},kw=function(t,e){return["HIGH"==this.getFieldValue("BOOL")?"1":"0",e.ORDER_ATOMIC]},Hw=function(t,e){e.definitions_.import_machine="import machine";var i="";return i+=e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".value("+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"},Ww=function(t,e){e.definitions_.import_machine="import machine";return[e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".value()",e.ORDER_ATOMIC]},Kw=function(t,e){return e.definitions_.import_machine="import machine",e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".write("+e.valueToCode(this,"NUM",e.ORDER_ATOMIC)+")\n"},Jw=function(t,e){e.definitions_.import_machine="import machine";var i=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),n=e.valueToCode(this,"NUM",e.ORDER_ATOMIC);return i+".set_analog_"+this.getFieldValue("key")+"("+n+")\n"},Qw=function(t,e){return e.definitions_.import_machine="import machine",[e.valueToCode(this,"pin",e.ORDER_ATOMIC)+".read()",e.ORDER_ATOMIC]},qw=function(t,e){e.definitions_.import_machine="import machine";var i=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),n=this.getFieldValue("mode");return"machine.Pin("+i+").irq(handler = "+e.valueToCode(this,"DO",e.ORDER_ATOMIC)+", trigger = "+n+")\n"},zw=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"pin#",n=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),s=this.getFieldValue("MODE");return("pin#"==i?"pin"+n:e.variableDB_.getName(i,Rt.Variables.NAME_TYPE))+" = machine.Pin("+n+", "+s+")\n"},jw=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"dac#",n=e.valueToCode(this,"PIN",e.ORDER_ATOMIC);return("dac#"==i?"dac"+n:e.variableDB_.getName(i,Rt.Variables.NAME_TYPE))+" = machine.DAC(machine.Pin("+n+"))\n"},$w=function(t,e){return e.definitions_.import_machine="import machine",e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".atten("+this.getFieldValue("atten")+")\n"},Zw=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"tc#",n=e.valueToCode(this,"PIN",e.ORDER_ATOMIC);return("tc#"==i?"tc"+n:e.variableDB_.getName(i,Rt.Variables.NAME_TYPE))+" = machine.TouchPad(machine.Pin("+n+"))\n"},tk=function(t,e){var i=this.getFieldValue("key");return e.definitions_.import_me_g1="import me_g1",["me_g1.ext_ahtx0."+i+"()",e.ORDER_ATOMIC]},ek=function(t,e){var i=this.getFieldValue("key");return e.definitions_.import_me_g1="import me_g1",["me_g1.ext_hp203x."+i,e.ORDER_ATOMIC]},ik=function(t,e){e.definitions_.import_me_g1="import me_g1";return["me_g1.varistor()",e.ORDER_ATOMIC]},nk=function(t,e){e.definitions_.import_me_g1="import me_g1";return['me_g1.ext_rc522.read_card(0, x="id")',e.ORDER_ATOMIC]},sk=function(t,e){var i=e.valueToCode(this,"SECTOR",e.ORDER_ATOMIC);return e.definitions_.import_me_g1="import me_g1",["me_g1.ext_rc522.read_card("+i+")",e.ORDER_ATOMIC]},_k=function(t,e){var i=e.valueToCode(this,"SECTOR",e.ORDER_ATOMIC),n=e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC);return e.definitions_.import_me_g1="import me_g1","me_g1.ext_rc522.write_card("+n+","+i+")\n"},ok=function(t,e){var i=e.valueToCode(this,"SECTOR",e.ORDER_ATOMIC),n=e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC);return e.definitions_.import_me_g1="import me_g1",["me_g1.ext_rc522.write_card("+n+","+i+")",e.ORDER_ATOMIC]},pk=function(t,e){var i=this.getFieldValue("key");return e.definitions_.import_me_g1="import me_g1",["me_g1.ext_rc522.scan_card()=="+i,e.ORDER_ATOMIC]},ak=function(t,e){return[this.getFieldValue("PIN"),e.ORDER_ATOMIC]},uk=ak,rk=ak,dk=ak,lk=ak,Ik=ak,Tk=ak,Mk=ak,hk=ak,mk=ak,Ek=ak,Ok=ak,Rk=ak,ck=ak,gk=ak,Ck=ak,Sk=ak,Ak=ak,Lk=ak,Nk=ak,Dk=ak,fk=ak,Fk=ak,Pk=ak,Yk=ak,vk=ak,Xk=ak,xk=ak,yk=ak,bk=ak,Vk=ak,Bk=ak,Gk=ak,Uk=ak,wk=ak,kk=ak,Hk=ak,Wk=ak,Kk=ak,Jk=ak,Qk=ak,qk=ak,zk=ak,jk=ak,$k=ak,Zk=ak;Object.assign(Rt.Variables,Ct),Object.assign(Rt.Procedures,Bu),Object.assign(Rt.Lang.ZhHans,dt),Object.assign(Rt.Lang.ZhHant,lt),Object.assign(Rt.Lang.En,It),Rt.Python=Gu,Rt.generator=Gu,ct.Profile.default={},Object.assign(ct.Profile,SU),Object.assign(ct.Profile.default,SU["MixGo CC"]),Object.assign(Rt.Blocks,e,i,n,s,_,o,p,a,u,r,d,l,I,V,H,k,X,B,W,f,w,U,G,F,D,N,y,x,b,P,Y,v,Tt,Mt,ht),Object.assign(Rt.Python.forBlock,T,M,h,m,E,O,R,c,g,C,S,A,L,nt,ut,at,Z,st,rt,Q,pt,ot,_t,q,J,K,et,tt,it,z,j,$,mt,Et,Ot)})(); \ No newline at end of file diff --git a/boards/default/micropython_esp32c3/styles/main.59b36aec.css b/boards/default/micropython_esp32c3/styles/main.b1fb04d0.css similarity index 97% rename from boards/default/micropython_esp32c3/styles/main.59b36aec.css rename to boards/default/micropython_esp32c3/styles/main.b1fb04d0.css index 7dd40fb5..cae16127 100644 --- a/boards/default/micropython_esp32c3/styles/main.59b36aec.css +++ b/boards/default/micropython_esp32c3/styles/main.b1fb04d0.css @@ -158,6 +158,16 @@ div.blocklyToolboxDiv>div.blocklyToolboxContents>div:nth-child(12)>div.blocklyTr background-size: 100% auto; } +#catPE_G1.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NToyMiswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6MjIrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6ZDNmNzAyOWQtOWMwYy00NTRiLTllMTQtNTg0MjY3NTRiYWMyPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOmQzZjcwMjlkLTljMGMtNDU0Yi05ZTE0LTU4NDI2NzU0YmFjMjwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOmQzZjcwMjlkLTljMGMtNDU0Yi05ZTE0LTU4NDI2NzU0YmFjMjwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDpkM2Y3MDI5ZC05YzBjLTQ1NGItOWUxNC01ODQyNjc1NGJhYzI8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+/zmC9wAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAADFklEQVR42uzXPYgdVRjG8f/znnFbEUWwFBENKVLEMosoWNiYoEnYL4MEtbAQoqsi9gHNrh+FYKKNMfeGZZeNNoKaJhIrU9ikEQnpUq2gRYp1zvtYzFxJjAlC5pImpxyGc37M+3HekW3u5NJdwLWA5fEikUGNpC2VsChZ3ha8D/zu1HzC9xEJGSQQpULb4EgiEtfSPY+EWrBMlIrbhiyVAFYWRjcHKAMDLhWh3bIu2HwmeAzxlGEd8iVquZoaHLD0hcwm1rcKAB8yfOkaQgnFr8o6jozbWEwxHhTw1njJ4I+AN0AA+4F1Uo8gX0oZarkvIkcEz9qcBx+klitDAt4DjvaAF4ANUg8Dl90foKgg9gmdAXDGspWrUwcApIVKBcC1lCh5QnDY8Bt4nzMuThVgC3oAtUBUCO+R42vgfpvVtJanBgBwJAZUC5SKZahBBEeBd4E/jZ+jLeccUwAgk/L1gAxCxvC4rE2JHU59lfByRN12HRIAXa8AFHkdIPvQROTrhD8BgX3AtWwMCgBIQDLuO+O1AJWK4UE5Tof8tK2zVTkXsDUYwAA3+QI9ANqGaNqDwJoRmD0ri6d+GgTwT0LeAqC2gabFFiF+Bp44tnBKwwCs7vBIMoMAVCqZgTKgaclaCAuaFjkuALsHA9iC/wVgIZocuQPPrsyPzg9TBVb3Vn/oDYBSHwKtBcw69UPK80Rurc6PByjDSJyB+s54A8BxJCI/dJeKB1zLhiMhkmEApXYX078BkTsNZyQ9StXJlF9R5Pbkyp4uQD4msQz8YeVe2uac5e7yGgrgPvvVJ5hS0NQnhb4B7rX5wNY76puT+7DcPsBcJro6V8YEMBPwOeFD4F+B551xcdKihweU7OaBDFTqftB6X45HjD+eDCS3C/jvkQwu9bF+QGgs+RnjH8FzynIlZYYAHE9508rvGgfAi7ZOdkOpUeRriE8B3JYFy6ejVKiFYQCjJWqppEVTC8AuhX9x6oTEDuRZmzWUh6nN1cm0MyygacntGbQ9A6VS7vnrTYVXsLacmrM5q6bfcGjA3X/DO7H+HgDRj5vujRlaHAAAAABJRU5ErkJggg==) no-repeat; + background-size: 100% auto; +} + +#catPE_G1.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NToyMyswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6MjMrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6ZmEyZmFlYWEtZjcyYS1hYjQzLThkN2EtYjEwY2QxMTA3MmNiPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOmZhMmZhZWFhLWY3MmEtYWI0My04ZDdhLWIxMGNkMTEwNzJjYjwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOmZhMmZhZWFhLWY3MmEtYWI0My04ZDdhLWIxMGNkMTEwNzJjYjwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDpmYTJmYWVhYS1mNzJhLWFiNDMtOGQ3YS1iMTBjZDExMDcyY2I8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+wqwjaAAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAABl0lEQVR42uzXP0hVcRjG8c9FcI0wgsYQSWloqDEJgwYXk/6IFYaEOjQIlRTRLpTanyHIaqlQEaV0ESoXI6ccWlxCws1JwYaGltvyHrhIQ8O9ryC+0+89cA7f3znv73meUyqXy3azSvsA/wFwFw+xhSv4lAlwEit4gWNowwx68bsWAK/xHgvRX8cblKIfwHisr2Gy2gBlPMHt6C/FjhvxM64dxATa8RVd2KgmwAMMR38RsziK9R33duJDrIcwlg0AdXiJG1gLqNVMgKJOYw4N8SaGsgGKGsZ9/EIHlrIBoDlOUgveoQ9/MgGKGsSzWF+O56QCwGFM4SwW0Y3NTICiujBdMbDL2QBFfcOpCmVNB1gJf0kHuBryDa0h4SkAR+Lbt+Jz2HnaEN7C4904hsfDpJrwFv2ZQjQSPrCN85lSfAbzOIBHuJdlRvV4FcnpBy5k2nGRloqBe5oVyQ5FFjyHL6HvVYtk42GlH6PviUkulOsmnleIy1StY/kJfI/Y1RKCMh0RrCax/F91B6OhYN1hq/v/hnsH4O8A38/3wXV4mTEAAAAASUVORK5CYII=) no-repeat; + background-size: 100% auto; +} + #catME_G1.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NjowNCswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTY6MDQrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6ZTgzOWI5NTgtMjZhNy1kYTQwLTg1NDQtZWRkY2UzZjYzYmNhPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOmU4MzliOTU4LTI2YTctZGE0MC04NTQ0LWVkZGNlM2Y2M2JjYTwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOmU4MzliOTU4LTI2YTctZGE0MC04NTQ0LWVkZGNlM2Y2M2JjYTwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDplODM5Yjk1OC0yNmE3LWRhNDAtODU0NC1lZGRjZTNmNjNiY2E8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+w67uMwAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAFA0lEQVR42sSXS6hkVxWGv3/tfW4bgxIJNK1RuKJ4J42PgWJGCUkEHwMHcZSbgYKQgWRqRKI4izF3IoiERnzQ3pkRRwaFpB21GATRJpDuIDFog23EGNMm3XXOXr+DU1W36tbDJhlkD+ucOvtba/3r32vLNm/l0uHBfXdJfOSN/h+7DarnWpQ/iTEYI2SzkxOESQcArRSGqGghaB0e7P8W+OSbCGIw+klKX8ZLZBTaCGRtBfCU+iLYQNzoxsDbBbvAZSfvnT0wIpRIvmGAl2xOzlK1IdeglZ9vDvkq8HxaH1p8UNTmGyXx/wFInyTAEhzTpWQaBaWRPb4zrltD/ucigNG4eRijEbrxpMwHhlI+00f353AeAzBXpDyl4o3RX9PbaC7UHIicf+C2kP8GXEprbx59NDKCzDHyIM+Gfb/R633Uj1m6uAhwbRrlGcbY19TB0ahnmuKPAKW17QAaAdxEaY2sAdKjkflVS6/YvCecr80A/gW8a8yVNyqA5CvG3wcWS7ACEE4UHjNAoQ49GcH1ukPX2g9rDl9CPpfEXZbQ4cH+AFwF7t0meVsXDP849vMcoFl7YRNuEPFwhqrRt5QmS4EYn0XjBVu7rcbnMuKXMxFewT6FtA1gXX6WM6AxO+F0GCw/k9an+rrzn+qBkgMmbhecR7yYYncG8Hfsd/sYgOy5KuzYCuBkr0Wh7zq6Nvlg19oPEHckerZFOW1EbQMiQboAOp3SJ3R4sD8BesM3jgoOwAmZ87Z/M+3F0VC0OQOy6WtHkJRsCM7JvtPSd4YoD4WTaAnSA4jHDQc6PNh/GbhlbdrRU2ndo43iXAVoUXBopumbuhz+C6gR7wRenXrAnuA5i9/r8GC/BybYDy61oelU+IMifzezUlvz3t7WhtTRO4wI+6wa9zfpCyk9UTIRrkg90C9p4Fj4qHhsqQwiRm/v+w5bM59fCxDMzgFj4gHQ49hfF37EsxpKLwO3LANsOYYUSYmktcIw1DcEADyy4O9zgLEEmpdAqy5EAX4dkX+xRWvlBkowraf9UzX2m3RvSj8vmciuhHpgslWEyz4QDyZ875ggVwBk4xB9qYS9KMJ3AFfnIhTPmVGEE6DH/uaWDHRYPzM8fyNWbAmHCHvWho8OUb62pg0f2yzC1Z6cr1SstWJhSiYZ8T6Js8J3GD07LBmRQVwAnbb08a1WbIRtgukcgBY3Xz0Lxjc6FJPpF56xdc+k7rzauR9PRpXbhc8jv5jS7tbDyOivaS5pNhF5Kf3LJUj2HEHWiDoM35V4JdHDaqaVgooZS+AXjHZbic9m6MmF43ht8/3K6U+PaR8xtonQEn3tONGuI8zgyg4TmgrX4wQ1hx91OXzR4unmcvfsOL42jfYMPnJC4ZKKp1rEE7YoNKoGMsdJZ50PyGYolUIjSByiU8/QKk59u8gPJfq3zW2yX1ucCa/YnEoLpjOhnAy14hp02VNoRzo4gljpAksESWUYQzGkyy+MPg+83kf9qKVLq0Opx6F0SQPTjwU5n2znQ2orOOPWiFwaSuVxGnJoCgzFvhxu2Ue9cyjrh9KXFHmSmDv1aAg+6oZ1KzNu1ijgFYC+dnO9lNZqyTZkBEPZcDGRfNEbh9K1U+IA3GTr/YbLTC8mllCaVsuofpvIcT7YBPBmr2bN6MeLVzMx3h1mm20HeOy+u018mO1j8cZECGeLeHrxcjqr4cwztgK81dfz/w0AHjWdyjCbBL0AAAAASUVORK5CYII=) no-repeat; background-size: 100% auto; diff --git a/boards/default/micropython_esp32c5/build/Generic_C5_lib-v1.27.0.bin b/boards/default/micropython_esp32c5/build/Generic_C5_lib-v1.27.0.bin new file mode 100644 index 00000000..3157070f Binary files /dev/null and b/boards/default/micropython_esp32c5/build/Generic_C5_lib-v1.27.0.bin differ diff --git a/boards/default/micropython_esp32c5/build/Mixgo_Sowl_lib-v1.27.0.bin b/boards/default/micropython_esp32c5/build/Mixgo_Sowl_lib-v1.27.0.bin new file mode 100644 index 00000000..0335d5c6 Binary files /dev/null and b/boards/default/micropython_esp32c5/build/Mixgo_Sowl_lib-v1.27.0.bin differ diff --git a/boards/default/micropython_esp32c5/build/lib/map.json b/boards/default/micropython_esp32c5/build/lib/map.json new file mode 100644 index 00000000..0eb9f6f5 --- /dev/null +++ b/boards/default/micropython_esp32c5/build/lib/map.json @@ -0,0 +1,52 @@ +{ + "mixgo_sowl": { + "__require__": [ + "gc", + "time", + "math", + "machine", + "music", + "ws2812x", + "st7735_cf", + "sowl_bot", + "spl06_001", + "sc7a20", + "ltr553als", + "shtc3", + "mmc5603", + "rc522", + "ci130x" + ], + "__file__": true, + "__size__": 7707, + "__name__": "mixgo_sowl.py" + }, + "sowl_bot": { + "__require__": [ + "time", + "micropython" + ], + "__file__": true, + "__size__": 4683, + "__name__": "sowl_bot.py" + }, + "st7735_cf": { + "__require__": [ + "time", + "uframebuf", + "machine", + "image" + ], + "__file__": true, + "__size__": 3975, + "__name__": "st7735_cf.py" + }, + "ws2812x": { + "__require__": [ + "time" + ], + "__file__": true, + "__size__": 1955, + "__name__": "ws2812x.py" + } +} \ No newline at end of file diff --git a/boards/default/micropython_esp32c5/build/lib/mixgo_sowl.py b/boards/default/micropython_esp32c5/build/lib/mixgo_sowl.py new file mode 100644 index 00000000..a3df3e10 --- /dev/null +++ b/boards/default/micropython_esp32c5/build/lib/mixgo_sowl.py @@ -0,0 +1,263 @@ +""" +mixgo_sowl Onboard resources(v1.3) + +Micropython library for the mixgo_sant Onboard resources +======================================================= +@dahanzimin From the Mixly Team +""" +import gc +import time +import math +from machine import * +from music import MIDI +from ws2812x import NeoPixel + +'''RTC''' +rtc_clock = RTC() + +'''I2C-onboard''' +# onboard_i2c = I2C(0) +onboard_i2c = SoftI2C(scl=Pin(27), sda=Pin(26), freq=400000) + +'''SPI-onboard''' +onboard_spi = SPI(1, baudrate=80000000, polarity=0, phase=0) + +'''BOT035-Sensor''' +try: + import sowl_bot + onboard_bot = sowl_bot.BOT035(onboard_i2c) +except Exception as e: + print("Warning: Failed to communicate with BOT035 (Coprocessor) or", e) + +'''TFT/128*128''' +import st7735_cf +onboard_tft = st7735_cf.ST7735(onboard_spi, 128, 128, dc_pin=23, reset=onboard_bot.tft_reset, backlight=onboard_bot.tft_brightness, font_address=0x700000) + +'''BPS-Sensor''' +try: + import spl06_001 + onboard_bps = spl06_001.SPL06(onboard_i2c) +except Exception as e: + print("Warning: Failed to communicate with SPL06-001 (BPS) or", e) + +'''ACC-Sensor''' +try: + import sc7a20 + onboard_acc = sc7a20.SC7A20(onboard_i2c) +except Exception as e: + print("Warning: Failed to communicate with SC7A20H (ACC) or", e) + +'''ALS_PS-Sensor''' +try: + import ltr553als + onboard_als = ltr553als.LTR_553ALS(onboard_i2c) +except Exception as e: + print("Warning: Failed to communicate with LTR_553ALS (ALS&PS) or", e) + +'''THS-Sensor''' +try: + import shtc3 + onboard_ths = shtc3.SHTC3(onboard_i2c) +except Exception as e: + print("Warning: Failed to communicate with GXHTC3 (THS) or", e) + +'''MGS-Sensor''' +try: + import mmc5603 + onboard_mgs = mmc5603.MMC5603(onboard_i2c) +except Exception as e: + print("Warning: Failed to communicate with MMC5603 (MGS) or", e) + +'''RFID_Sensor''' +try : + import rc522 + onboard_rfid = rc522.RC522(onboard_i2c) +except Exception as e: + print("Warning: Failed to communicate with SI522 (RFID) or",e) + +'''ASR-Sensor''' +try: + from ci130x import CI130X + onboard_asr = CI130X(onboard_i2c) +except Exception as e: + print("Warning: Failed to communicate with CI1316XP (ASR) or", e) + +'''2RGB_WS2812''' +onboard_rgb = NeoPixel(onboard_bot.rgb_sync, 3) + +'''1Buzzer-Music''' +onboard_music = MIDI(0, pa_ctrl=onboard_asr.pa_ctrl) + +'''5KEY_Sensor''' +class KEYSensor: + def __init__(self, pin, range): + self.pin = pin + self.adc = ADC(Pin(pin)) + self.adc.atten(ADC.ATTN_0DB) + self.range = range + self.flag = True + + def _value(self): + values = [] + for _ in range(25): + values.append(self.adc.read()) + time.sleep_us(5) + return (self.range-200) < min(values) < (self.range+200) + + def get_presses(self, delay=1): + last_time, presses = time.time(), 0 + while time.time() < last_time + delay: + time.sleep_ms(50) + if self.was_pressed(): + presses += 1 + return presses + + def is_pressed(self): + return self._value() + + def was_pressed(self): + if (self._value() != self.flag): + self.flag = self._value() + if self.flag: + return True + else: + return False + + def irq(self, handler, trigger): + Pin(self.pin, Pin.IN).irq(handler=handler, trigger=trigger) + +'''1KEY_Button''' +class Button(KEYSensor): + def __init__(self, pin): + self.pin = pin + self.key = Pin(pin, Pin.IN) + self.flag = True + + def _value(self): + return not self.key.value() + +B1key = Button(28) +B2key = KEYSensor(5, 0) +A1key = KEYSensor(5, 800) +A2key = KEYSensor(5, 2050) +A3key = KEYSensor(5, 2600) +A4key = KEYSensor(5, 1450) + +'''2-LED''' +class LED: + def __init__(self, func): + self._func = func + + def setbrightness(self, index, val): + self._func(index, val) + + def getbrightness(self, index): + return self._func(index) + + def setonoff(self, index, val): + if val == -1: + self.setbrightness(index, 100) if self.getbrightness(index) < 50 else self.setbrightness(index, 0) + elif val == 1: + self.setbrightness(index, 100) + elif val == 0: + self.setbrightness(index, 0) + + def getonoff(self, index): + return True if self.getbrightness(index) > 50 else False + +onboard_led = LED(onboard_bot.led_pwm) + +'''MIC_Sensor''' +class MICSensor: + def __init__(self,pin): + self.adc=ADC(Pin(pin), atten=ADC.ATTN_11DB) + + def read(self): + maxloudness = 0 + for i in range(5): + loudness = self.sample() + if loudness > maxloudness: + maxloudness = loudness + return maxloudness + + def sample(self): + values = [] + for i in range(50): + val = self.adc.read_u16() + values.append(val) + return max(values) - min(values) + +onboard_sound = MICSensor(6) + +class Clock: + def __init__(self, x, y, radius, color, oled=onboard_tft): # 定义时钟中心点和半径 + self.display = oled + self.xc = x + self.yc = y + self.r = radius + self.color = color + self.hour = 0 + self.min = 0 + self.sec = 0 + + def set_time(self, h, m, s): # 设定时间 + self.hour = h + self.min = m + self.sec = s + + def set_rtctime(self): # 设定时间 + t = rtc_clock.datetime() + self.hour = t[4] + self.min = t[5] + self.sec = t[6] + + def drawDial(self, color): # 画钟表刻度 + r_tic1 = self.r - 1 + r_tic2 = self.r - 2 + self.display.ellipse(self.xc, self.yc, self.r, self.r, color) + self.display.ellipse(self.xc, self.yc, 2, 2, color, True) + + for h in range(12): + at = math.pi * 2.0 * h / 12.0 + x1 = round(self.xc + r_tic1 * math.sin(at)) + x2 = round(self.xc + r_tic2 * math.sin(at)) + y1 = round(self.yc - r_tic1 * math.cos(at)) + y2 = round(self.yc - r_tic2 * math.cos(at)) + self.display.line(x1, y1, x2, y2, color) + + def drawHour(self, color): # 画时针 + r_hour = int(self.r / 10.0 * 5) + ah = math.pi * 2.0 * ((self.hour % 12) + self.min / 60.0) / 12.0 + xh = int(self.xc + r_hour * math.sin(ah)) + yh = int(self.yc - r_hour * math.cos(ah)) + self.display.line(self.xc, self.yc, xh, yh, color) + + def drawMin(self, color): # 画分针 + r_min = int(self.r / 10.0 * 7) + am = math.pi * 2.0 * self.min / 60.0 + xm = round(self.xc + r_min * math.sin(am)) + ym = round(self.yc - r_min * math.cos(am)) + self.display.line(self.xc, self.yc, xm, ym, color) + + def drawSec(self, color): # 画秒针 + r_sec = int(self.r / 10.0 * 9) + asec = math.pi * 2.0 * self.sec / 60.0 + xs = round(self.xc + r_sec * math.sin(asec)) + ys = round(self.yc - r_sec * math.cos(asec)) + self.display.line(self.xc, self.yc, xs, ys, color) + + def draw_clock(self, bg_color=0): # 画完整钟表 + self.drawDial(self.color) + self.drawHour(self.color) + self.drawMin(self.color) + self.drawSec(self.color) + self.display.show() + self.drawHour(bg_color) + self.drawMin(bg_color) + self.drawSec(bg_color) + + def clear(self, color=0): # 清除 + self.display.ellipse(self.xc, self.yc, self.r, self.r, color, True) + +'''Reclaim memory''' +gc.collect() diff --git a/boards/default/micropython_esp32c5/build/lib/sowl_bot.py b/boards/default/micropython_esp32c5/build/lib/sowl_bot.py new file mode 100644 index 00000000..de75f437 --- /dev/null +++ b/boards/default/micropython_esp32c5/build/lib/sowl_bot.py @@ -0,0 +1,121 @@ +""" +SOWL_WCH + +Micropython library for the SOWL_WCH(--V1.0--) +======================================================= +@dahanzimin From the Mixly Team +""" +import time +from micropython import const + +_BOT035_ADDRESS = const(0x13) +_BOT5_TOUCH = const(0x01) +_BOT035_PHZ = const(0x05) +_BOT035_PWM = const(0x09) +_BOT035_LED = const(0x0D) +_BOT035_STA = const(0x10) +_BOT035_RGB = const(0x11) +_BOT035_KB = const(0x1A) +_BOT035_MS = const(0xAE) +_BOT035_STR = const(0x22) + +class BOT035: + def __init__(self, i2c_bus): + self._i2c = i2c_bus + self._touchs = [self.touch(0), self.touch(1)] + self.reset() + + def _wreg(self, reg, val, digit=1): + '''Write memory address''' + self._i2c.writeto_mem(_BOT035_ADDRESS, reg, val.to_bytes(digit, 'little')) + + def _rreg(self, reg, nbytes=1): + '''Read memory address''' + self._i2c.writeto(_BOT035_ADDRESS, reg.to_bytes(1, 'little')) + return int.from_bytes(self._i2c.readfrom(_BOT035_ADDRESS, nbytes), 'little') + + def _bits(self, offset, mask, value=None, delay=100, reg=_BOT035_STA): + if value is None: + return (self._rreg(reg) & mask) >> offset + else: + self._wreg(reg, (self._rreg(reg) & (~ mask & 0xFF)) | (value << offset)) + time.sleep_ms(delay) + + def reset(self): + self._i2c.writeto_mem(_BOT035_ADDRESS, _BOT035_PHZ, b' N Nddddd\x00\x00\x0c') + + def touch(self, index, value=None): + index = max(min(index, 1), 0) + touch = 4095 - self._rreg(_BOT5_TOUCH + index * 2, 2) + return touch > value if value else touch + + def touched(self, index, value=600): + return self.touch(index, value) + + def touch_slide(self): + values = [] + for i in range(20): + values.append((self.touch(1) - self._touchs[1]) - (self.touch(0) - self._touchs[0])) + return round(sorted(values)[10] / 10) + + def usben(self, index=1, duty=None, freq=None): + if index not in (1, 2, 4, 5): + raise ValueError("USB port must be a number in (1, 2, 4, 5)") + if duty is not None: + self._wreg(_BOT035_PWM + index - (1 if index < 3 else 2), int(max(min(duty, 100), 0))) + if freq is not None: + self._wreg(_BOT035_PHZ + (0 if index < 3 else 2) , max(min(freq, 65535), 10), 2) + if freq is None and duty is None: + return self._rreg(_BOT035_PWM + index - (1 if index < 3 else 2)), self._rreg(_BOT035_PHZ + (0 if index < 3 else 2), 2) + + def tft_brightness(self, brightness=None): + """PMOS inverting level driver""" + if brightness is None: + return 100 - self._rreg(_BOT035_LED) + else: + self._wreg(_BOT035_LED, max(min(100 - brightness, 100), 0)) + + def led_pwm(self, index=1, duty=None): + index = max(min(index, 2), 1) + if duty is None: + return self._rreg(_BOT035_LED + index) + else: + self._wreg(_BOT035_LED + index, max(min(duty, 100), 0)) + + def tft_reset(self, value=None, delay=50): + return self._bits(7, 0x80, value, delay) + + def mcu_reset(self, value=None, delay=10): + return self._bits(2, 0x04, value, delay) + + def rgb_sync(self, buffer, n=9): + self._i2c.writeto_mem(_BOT035_ADDRESS, _BOT035_RGB, buffer if len(buffer) < n else buffer[:n]) + + def hid_keyboard(self, special=0, general=0, release=True): + self._buf = bytearray(4) + self._buf[0] = special + if type(general) in (tuple, list): + for i in range(len(general)): + if i > 2: break + self._buf[i + 1] = general[i] + else: + self._buf[1] = general + self._i2c.writeto_mem(_BOT035_ADDRESS, _BOT035_KB, self._buf) + if release: + time.sleep_ms(10) + self._i2c.writeto_mem(_BOT035_ADDRESS, _BOT035_KB, bytes(4)) + + def hid_keyboard_str(self, string, delay=0): + for char in str(string): + self._wreg(_BOT035_STR, ord(char) & 0xFF) + time.sleep_ms(20 + delay) + + def hid_keyboard_state(self): + state = self._rreg(_BOT035_STA) + return bool(state & 0x10), bool(state & 0x20), bool(state & 0x40) + + def hid_mouse(self, keys=0, move=(0, 0), wheel=0, release=True): + self._i2c.writeto_mem(_BOT035_ADDRESS, _BOT035_MS, bytes([keys & 0x0F, move[0] & 0xFF, move[1] & 0xFF, wheel & 0xFF])) + if release: + time.sleep_ms(10) + self._i2c.writeto_mem(_BOT035_ADDRESS, _BOT035_MS, bytes(4)) diff --git a/boards/default/micropython_esp32c5/build/lib/st7735_cf.py b/boards/default/micropython_esp32c5/build/lib/st7735_cf.py new file mode 100644 index 00000000..6a7db26e --- /dev/null +++ b/boards/default/micropython_esp32c5/build/lib/st7735_cf.py @@ -0,0 +1,100 @@ +""" +ST7735/FrameBuffer + +MicroPython library for the ST7735(TFT-SPI) +======================================================= +@dahanzimin From the Mixly Team +""" +import time +import uframebuf +from machine import Pin +from image import Image, IMG + +class ST7735(uframebuf.FrameBuffer_Uincode): + def __init__(self, spi, width, height, dc_pin=None, backlight=None, reset=None, font_address=0x700000): + self.spi = spi + self.dc = Pin(dc_pin, Pin.OUT, value=1) + self._buffer = bytearray(width * height * 2) + super().__init__(self._buffer, width, height, uframebuf.RGB565) + if reset: reset(1, 100) + self.font(font_address) + self._init() + self._oneclight = True + self._backlight = backlight + + def _write(self, cmd, dat=None): + """Write command or data""" + self.dc.off() + self.spi.write(bytearray([cmd])) + if dat is not None: + self.dc.on() + self.spi.write(dat) + + def _init(self): + """Display initialization configuration""" + for cmd, data, delay in [ + (0x11, None, 120000), + (0xB1, b'\x01\x2C\x2D', 10), + (0xB2, b'\x01\x2C\x2D', 10), + (0xB3, b'\x01\x2C\x2D', 10), + (0xB4, b'\x07', 10), + (0xC0, b'\xA2\x02\x84', 10), + (0xC1, b'\xC5', 10), + (0xC2, b'\x0A\x00', 10), + (0xC3, b'\x8A\x2A', 10), + (0xC4, b'\x8A\xEE', 10), + (0xC5, b'\x0E', 10), + (0x36, b'\xC8', 10), + (0xE0, b'\x02\x1C\x07\x12\x37\x32\x29\x2D\x29\x25\x2B\x39\x00\x01\x03\x10', 10), + (0xE1, b'\x03\x1D\x07\x06\x2E\x2C\x29\x2D\x2E\x2E\x37\x3F\x00\x00\x02\x10', 10), + (0x3A, b'\x05', 10), + (0x29, None, 10), + (0x2A, b'\x00\x02\x00\x81', 10), + (0x2B, b'\x00\x03\x00\x82', 10) + ]: + self._write(cmd, data) + if delay: + time.sleep_us(delay) + + def display(self, data=None, x=None, y=None, scale_width=None, scale_height=None, rotation=0, sync=True): + '''data is a string, display the path image; otherwise, display the image of data''' + if type(data) is str: + data = Image.open(data, scale_width, scale_height, self.width, self.height, rotation=rotation) + if sync: self.fill(0x0, sync=False) + self.blit_rgb565(data.image, data.width, data.height, x, y) + if sync: self.show() + + def screenshot(self, data=None, x=0, y=0, w=None, h=None, **kwargs): + '''data is a string, save the path image; otherwise, return the image of data''' + if (w is None and h is None): + _img = IMG(memoryview(self._buffer), self.width, self.height) + else: + _img = IMG(memoryview(self.crop_rgb565(x,y,w,h)), w, h) + if type(data) is str: + Image.save(_img, data, **kwargs) + return _img + + def get_brightness(self): + return self._backlight() / 100 + + def set_brightness(self, brightness): + if not 0.0 <= brightness <= 1.0: + raise ValueError( + "Brightness must be a decimal number in the range: 0.0~1.0") + self._backlight(int(brightness * 100)) + + def color(self, red, green=None, blue=None): + """ Convert red, green and blue values (0-255) into a 16-bit 565 encoding.""" + if green is None or blue is None: + return red + else: + return (red & 0xf8) << 8 | (green & 0xfc) << 3 | blue >> 3 + + def show(self): + """Refresh the display and show the changes.""" + self._write(0x2C, self._buffer) + if self._oneclight: + self._oneclight = False + for i in range(60): #slow down display + self.set_brightness(i / 100) + time.sleep_ms(5) diff --git a/boards/default/micropython_esp32c5/build/lib/ws2812x.py b/boards/default/micropython_esp32c5/build/lib/ws2812x.py new file mode 100644 index 00000000..9600162a --- /dev/null +++ b/boards/default/micropython_esp32c5/build/lib/ws2812x.py @@ -0,0 +1,66 @@ +""" +WS2812 RGB(x035) + +Micropython library for the WS2812 NeoPixel-RGB(method inheritance) +======================================================= +@dahanzimin From the Mixly Team +""" +from time import sleep + +class NeoPixel: + def __init__(self, func, n, bpp=3, ORDER=(0, 1, 2, 3)): + self.func = func + self.bpp = bpp + self.rgbs = n + self.ORDER = ORDER + self.rgb_buf = bytearray(self.rgbs * bpp) + self.write() + + def __len__(self): + return self.rgbs + + def __setitem__(self, n, v): + for i in range(self.bpp): + self.rgb_buf[n * self.bpp + self.ORDER[i]] = v[i] + + def __getitem__(self, n): + return tuple(self.rgb_buf[n * self.bpp + self.ORDER[i]] for i in range(self.bpp)) + + def fill(self, v): + for i in range(self.bpp): + j = self.ORDER[i] + while j < self.rgbs * self.bpp: + self.rgb_buf[j] = v[i] + j += self.bpp + + def write(self): + self.func(self.rgb_buf) + + def color_chase(self, R, G, B, wait): + for i in range(self.rgbs): + self.__setitem__(i, (R, G, B)) + self.write() + sleep(wait/1000) + + def rainbow_cycle(self, wait, clear=True): + for j in range(255): + for i in range(self.rgbs): + rc_index = (i * 256 // self.rgbs) + j + self.__setitem__(i, self.wheel(rc_index & 255)) + self.write() + sleep(wait / 1000 / 256) + if clear: + self.fill((0, 0, 0)) + self.write() + + def wheel(self, pos): + if pos < 0 or pos > 255: + return (0, 0, 0) + elif pos < 85: + return (pos * 3, 255 - pos * 3, 0) + elif pos < 170: + pos -= 85 + return (255 - pos * 3, 0, pos * 3) + else: + pos -= 170 + return (0, pos * 3, 255 - pos * 3) diff --git a/boards/default/micropython_esp32c5/config.json b/boards/default/micropython_esp32c5/config.json new file mode 100644 index 00000000..f50a21fd --- /dev/null +++ b/boards/default/micropython_esp32c5/config.json @@ -0,0 +1,146 @@ +{ + "board": { + "元控自立": { + "key": "micropython:esp32c5:mixgo_sowl", + "config": [ + { + "key": "BurnSpeed", + "label": "Burn Speed", + "messageId": "MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED", + "options": [ + { + "key": "921600", + "label": "921600" + }, + { + "key": "460800", + "label": "460800" + }, + { + "key": "230400", + "label": "230400" + }, + { + "key": "115200", + "label": "115200" + } + ] + } + ] + }, + "C5_generic": { + "key": "micropython:esp32c5:generic", + "config": [ + { + "key": "BurnSpeed", + "label": "Burn Speed", + "messageId": "MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED", + "options": [ + { + "key": "921600", + "label": "921600" + }, + { + "key": "460800", + "label": "460800" + }, + { + "key": "230400", + "label": "230400" + }, + { + "key": "115200", + "label": "115200" + } + ] + } + ] + } + }, + "language": "MicroPython", + "burn": { + "type": "command", + "portSelect": "all", + "micropython:esp32c5:mixgo_sowl": { + "command": "\"{esptool}\" --chip esp32c5 --port {com} --baud {baudrate} --after hard_reset write_flash -e 0x2000 \"{indexPath}/build/Mixgo_Sowl_lib-v1.27.0.bin\" 0x700000 \"{indexPath}/../micropython/build/HZK12.bin\"" + }, + "micropython:esp32c5:generic": { + "command": "\"{esptool}\" --chip esp32c5 --port {com} --baud {baudrate} --after=no_reset write_flash -e 0x2000 \"{indexPath}/build/Generic_C5_lib-v1.27.0.bin\" 0x3A0000 \"{indexPath}/../micropython/build/HZK12.bin\"" + } + }, + "upload": { + "type": "command", + "portSelect": "all", + "libPath": [ + "{indexPath}/build/lib", + "{indexPath}/../micropython/build/lib" + ], + "command": "\"{ampy}\" -p {com} -d 1 -r \"{reset}\" put \"{indexPath}/build/upload\"", + "filePath": "{indexPath}/build/upload/main.py", + "copyLib": false, + "reset": [] + }, + "nav": { + "burn": true, + "upload": true, + "save": { + "py": true + }, + "setting": { + "thirdPartyLibrary": true + } + }, + "serial": { + "ctrlCBtn": true, + "ctrlDBtn": true, + "baudRates": 115200, + "yMax": 100, + "yMin": 0, + "pointNum": 100, + "rts": true, + "dtr": true + }, + "lib": { + "mixly": { + "url": [ + "http://download.mixlylibs.cloud/mixly3-packages/cloud-libs/micropython_esp32c5/libs.json" + ] + } + }, + "pythonToBlockly": false, + "web": { + "devices": { + "serial": true, + "hid": true, + "usb":true + }, + "burn": { + "erase": true, + "micropython:esp32c5:mixgo_sowl": { + "binFile": [ + { + "offset": "0x2000", + "path": "./build/Mixgo_Sowl_lib-v1.27.0.bin" + }, { + "offset": "0x700000", + "path": "../micropython/build/HZK12.bin" + } + ] + }, + "micropython:esp32c5:generic": { + "binFile": [ + { + "offset": "0x2000", + "path": "./build/Generic_C5_lib-v1.27.0.bin" + }, { + "offset": "0x3A0000", + "path": "../micropython/build/HZK12.bin" + } + ] + } + }, + "upload": { + "reset": [] + } + } +} diff --git a/boards/default/micropython_esp32c5/examples/map.json b/boards/default/micropython_esp32c5/examples/map.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/boards/default/micropython_esp32c5/examples/map.json @@ -0,0 +1 @@ +{} diff --git a/boards/default/micropython_esp32c5/index.xml b/boards/default/micropython_esp32c5/index.xml new file mode 100644 index 00000000..dcf60680 --- /dev/null +++ b/boards/default/micropython_esp32c5/index.xml @@ -0,0 +1 @@ +02000attachInterrupt_funcattachInterrupt_func10,1,2,3051i5000DIVIDE10Exception as eetestThreadtestThreadWHILETRUEHello Mixly from Thread!ms10tim1000tim_callbacktim_callback200090x151100a10.998124.82997110010101000110050110011000110x2x0,1,2,30,1,2,30,1,2,3xMixlyMixlyHelloMixly65axMixlyMixly0Mixly02MixlyMixlyHello,mixlyl--mylistHello,mixlymixlymixpyI love mixly!I love mixlyRandom No. is {}int1100input('1+2*3')mylist1,2,3,4,5mylist0mylist02mylistmylistmylist0mylist00mylist00mylist0mylist0mylist0mylistmylistmylistxmytup1,2,3,4,5mytup0mytup02mytupmytupmytupmytup0mytupmytup1mytup2xmydictmydictkeymydictkey0mydictkey0mydictkeymydictkeymydictkey0mydictmydictmydictmydictxmydict{"name":"Mixly","color":"green"}s11,2,3,4,5s1s1s1s2s1s2s10s1Mixlys1s2xMixlyMixlyMixly,HelloMixlyprompt02MixlyMixly0XFF00FFcodebMixlyMixly1attachInterrupt_funcattachInterrupt_func00Mixly0Mixly2022711420452023,1,1,12,0,0180292023,1,1,12,0,010044044010000100412000000000001000100010020000Hello, Mixly!10001#ffffff255,255,0Mixly0Mixly0010#ffffff255,255,0Mixly001#ffffff255,255,0mixly.jpgmixlyMixly001#ffffff255,255,0MixlyMixly0550#ffffff255,255,0MixlyMixly5500#ffffff255,255,00020#ffffff255,255,0005050#ffffff255,255,020202015#ffffff255,255,0606040#ffffff255,255,010000#ffffff255,255,00.5#ffffff255,255,0new_clock16012040#ffffff255,255,0new_clocknew_clock8200new_clocknew_clock0x0000000,0,00#ffffff255,255,0i2c_extend2122400000pei2c_extendpepe100pepe100pepe100pewifinamewifipasswordmixio.mixly.cnmixio.mixly.cnA1B2C3mixio.mixly.cnusernamepasswordMyProjecttopicmsgtopicmsgtopicmethodmethodEQmsg1content"long""lat""message"012content"key1""key2""key3"012https://mixio.mixly.cn/time.phpmixio.mixly.cn12.jpgwifinamewifipasswordcsub_cb31444082183.230.40.3914109261n63JySRowo13ZLDBKw6y896E0=MixlyRobotsub_cbEQmsg1ciot_dict"tc"tc0ciot_dictccwifinamewifipasswordclientEnter Your API_KEYEnter Your SECRET_KEYclient1clientS72099北京今天天气如何?wifinamewifipasswordSVa3S0UKHIy9dDArs北京SVa3S0UKHIy9dDArs北京11111https://mixio.mixly.cn/tinydbusernamepasswordmqtt_clientmixlyhellomixly11mixlymixlyble_cble_pMixlyble_cble_cMixlyble_cble_xble_xble_xMixlyble_xble_xble_methodble_methodEQdataMixlyhandlehandle_methodhandle_methodkey1key2key3keyxble_keyboard_mouse10Hello, Mixly!10i2c2221100000i2c00i2c00i2ci2ci2cspi200000045spi200000buf50spi10spi100xffspibufspibuf0xffspi12345spi12345buf1Mixlyow12owowow12345ow12345owmy_now0my_nowmy_nowmy_nowFFFFFFFFFFFFmixlymy_nowmy_nowcbcbEQmsg1spi10000004512spi8my_lora433.925716my_loramy_loramy_loraMixlyi2c_extend45100000xsensori2c_extendxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensor1013.25xsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensor5000500xsensorxsensorxsensorxsensorxsensorxsensorspi10000004512spi8ysensorysensorysensor0ysensor0ysensor0Mixlyysensor0Mixlyysensorysensor39,119.96,31.67ysensorysensorstation45ps2_handle24512ps2_handle50ps2_handleps2_handlews_wr123ws_wrws_wrws_wr360010zsensorzsensorzsensorzsensorzsensorweight12500weightKEYPAD_4_4123A456B789C*0#DKEYPAD_4_4var_re345rotary_cbrotary_cbmidi0midi440midi4401000midimidi100midimidimidi4120midimidirgb04rgb0000rgb000rgb0001000rgb1000rgb100100i2c_extend45400000Motori2c_extendMotor100Motor1024102402actuatoractuatoractuatoractuatoractuator你好米思齐actuatoractuatoractuator20actuatoractuatormixly*.mp3i2c_extend45400000matrixi2c_extendmatrixmatrixmatrixMixly0matrixMixlymatrixMixly500matrixMixlymatrixMixly500matrixmatrixmatrixmatrix1matrixmatrixmatrix0.5matrixmatrixdisp34disp2333dispdisp1i2c_extend45100000lcdi2c_extend0x27lcdMixly00lcdMixly005lcdlcdi2c_extend45100000oledi2c_extend0x3coledoled001oledMixlyoledMixly0010oledMixlyoledMixly0550oledMixlyoledMixly5500oled0020oled005050oled20202015oled1oled00oled00oledspi10000001246spi45tft_st7789135240tft_st7789001#ffffff255,255,0tft_st7789Mixly0050#ffffff255,255,0tft_st7789Mixly0550#ffffff255,255,0tft_st7789Mixly5500#ffffff255,255,0tft_st7789004040#ffffff255,255,0tft_st778912ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor'ni-hao','hong-se','lv-se','lan-se','bai-se','hei-se'0.1ai_sensor1.wav5ai_sensor1.wav100ai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsai_sensor'猫','狗','笔记本','笔'mixgo5自模型训练infoai_sensor'猫','狗','笔记本','笔'mixgo自模型识别objectsinfoai_sensor0.1606, 0.3562, 0.4712, 0.9568, 0.9877, 1.9108, 1.8761, 3.5310, 3.4423, 5.6823/sd/masks.kmodel外部模型加载objects12ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor1.wav5ai_sensor1.wav100infoai_sensorlicensePlateinfoai_sensorfaceinfoai_sensor20objectsai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsspi46sdsd/sdfilename.txtfMixlyfff0fffpathpathfilename.txtsrcname.txtdstname.txtff0wifinamewifipasswordwlanwlanwlanwlanwlan127.16.0.801234567wlanwlanwlanwlanwlanmixly123456781connect_wifiwlanAPwlanTruewlanwlanSmallCabbage1234561WHILETRUEEQ0wlan0.0.0.0ms1000TRUEss0.0.0.080s192.168.0.180s5sss1024sbMixlyresponses1024sbMixlyresponse127.0.0.180sntp.aliyun.comresponsehttp://mixio.mixly.cnresponsehttp://mixio.mixly.cnresponsehttp://192.168.1.1:11434qwen2.5-coder:0.5b5https://api.deepseek.comAPI Keydeepseek-chat5请介绍一下米思齐?content_callbackcontent_callbackcontent请介绍一下米思齐? \ No newline at end of file diff --git a/boards/default/micropython_esp32c5/main.bundle.2b743a90.js b/boards/default/micropython_esp32c5/main.bundle.2b743a90.js new file mode 100644 index 00000000..258e8105 --- /dev/null +++ b/boards/default/micropython_esp32c5/main.bundle.2b743a90.js @@ -0,0 +1,21 @@ +(()=>{"use strict";var e={d:(t,i)=>{for(var n in i)e.o(i,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:i[n]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};e.r(t),e.d(t,{controls_type:()=>Pe,controls_typeLists:()=>Ye,lists_zip:()=>ve,lists_zip_container:()=>Xe,lists_zip_item:()=>ye,unpack_iterable_object:()=>be,variables_change:()=>fe,variables_get:()=>Ne,variables_global:()=>Fe,variables_set:()=>De});var i={};e.r(i),e.d(i,{base_setup:()=>Be,controls_delay:()=>Ge,controls_end_program:()=>Ue,controls_except:()=>et,controls_finally:()=>tt,controls_flow_statements:()=>Je,controls_for:()=>Qe,controls_forEach:()=>ke,controls_for_range:()=>ze,controls_if:()=>we,controls_if_else:()=>$e,controls_if_elseif:()=>je,controls_if_if:()=>qe,controls_lambda:()=>nt,controls_main:()=>Ve,controls_pass:()=>st,controls_range:()=>He,controls_repeat_ext:()=>it,controls_thread:()=>_t,controls_try:()=>Ze,controls_try_finally:()=>Ke,controls_whileUntil:()=>We,datetime_fromtimestamp:()=>lt,do_while:()=>ot,garbage_collection:()=>pt,gene_unique_identifier:()=>dt,get_mem_alloc:()=>at,get_mem_free:()=>ut,get_unique_identifier:()=>rt});var n={};e.r(n),e.d(n,{base_map:()=>vt,generate_cartesian_product:()=>yt,math_arithmetic:()=>mt,math_bit:()=>Ot,math_constant:()=>Mt,math_constant_mp:()=>ht,math_constrain:()=>Lt,math_dec:()=>ct,math_degree_to_radian:()=>xt,math_indexer_number:()=>Dt,math_map:()=>Nt,math_max_min:()=>Ct,math_number:()=>Tt,math_number_base_conversion:()=>St,math_radian_to_degree:()=>bt,math_random:()=>At,math_random_seed:()=>ft,math_round:()=>Ft,math_selfcalcu:()=>Et,math_to_int:()=>gt,math_trig:()=>Rt,text_to_number:()=>Pt,text_to_number_skulpt:()=>Yt,turn_to_int:()=>Xt});var s={};e.r(s),e.d(s,{ascii_to_char:()=>kt,char_to_ascii:()=>Wt,number_to_text:()=>Kt,os_system:()=>mi,text:()=>Bt,text_bytes:()=>Ut,text_capital:()=>ti,text_center:()=>ii,text_char:()=>wt,text_char_at:()=>zt,text_char_at2:()=>Qt,text_char_at3:()=>Ii,text_compareTo:()=>di,text_compare_to:()=>ei,text_create_with_container:()=>ui,text_create_with_item:()=>ri,text_encode:()=>Mi,text_equals_starts_ends:()=>Zt,text_eval:()=>hi,text_find:()=>ni,text_format:()=>ai,text_format_noreturn:()=>Ti,text_join:()=>Ht,text_join_seq:()=>si,text_length:()=>Jt,text_random_char:()=>qt,text_replace:()=>_i,text_split:()=>oi,text_strip:()=>pi,text_substring:()=>$t,text_substring2:()=>jt,text_substring3:()=>li,text_textarea:()=>Gt});var _={};e.r(_),e.d(_,{ENUMERATE:()=>Zi,content_in_lists:()=>tn,enumerate:()=>en,list_many_input:()=>Gi,list_tolist:()=>ki,list_tolist2:()=>$i,list_trig:()=>xi,lists_2d_get_col_row_data:()=>gi,lists_2d_get_data_with_col_row:()=>ci,lists_append_extend:()=>Di,lists_change_to:()=>Bi,lists_change_to_general:()=>wi,lists_clear:()=>vi,lists_create_with:()=>Ci,lists_create_with2:()=>Wi,lists_create_with_container:()=>Ai,lists_create_with_item:()=>Li,lists_create_with_noreturn:()=>Ui,lists_create_with_text:()=>Si,lists_create_with_text2:()=>Ki,lists_del_general:()=>Hi,lists_find:()=>bi,lists_getIndex3:()=>Ji,lists_getSublist3:()=>Qi,lists_get_index:()=>Oi,lists_get_random_item:()=>fi,lists_get_random_sublist:()=>Fi,lists_get_sublist:()=>Ri,lists_insert_value:()=>Pi,lists_insert_value2:()=>qi,lists_pop:()=>yi,lists_remove_at:()=>Xi,lists_remove_at2:()=>ji,lists_reverse:()=>Yi,lists_setIndex3:()=>zi,lists_set_index:()=>Ni,lists_sort:()=>Vi});var o={};e.r(o),e.d(o,{dicts_add_change_del:()=>En,dicts_add_or_change:()=>rn,dicts_clear:()=>In,dicts_create_with:()=>sn,dicts_create_with_container:()=>_n,dicts_create_with_item:()=>on,dicts_create_with_noreturn:()=>cn,dicts_deldict:()=>mn,dicts_delete:()=>ln,dicts_get:()=>an,dicts_get_default:()=>un,dicts_items:()=>Tn,dicts_keys:()=>pn,dicts_length:()=>hn,dicts_pop:()=>On,dicts_setdefault:()=>Rn,dicts_to_json:()=>Cn,dicts_to_json2:()=>Ln,dicts_to_to:()=>An,dicts_todict:()=>gn,dicts_update:()=>dn,dicts_values:()=>Mn,json_to_dicts:()=>Sn});var p={};e.r(p),e.d(p,{logic_boolean:()=>Yn,logic_compare:()=>Dn,logic_compare_continous:()=>fn,logic_is:()=>bn,logic_is_in:()=>yn,logic_negate:()=>Pn,logic_null:()=>vn,logic_operation:()=>Fn,logic_tobool:()=>xn,logic_true_or_false:()=>Xn});var a={};e.r(a),e.d(a,{sdcard_mount:()=>os,sdcard_use_spi_init:()=>_s,storage_can_write_ornot:()=>Kn,storage_change_dir:()=>ns,storage_close_file:()=>Qn,storage_delete_file:()=>qn,storage_file_seek:()=>Zn,storage_file_tell:()=>$n,storage_file_write:()=>wn,storage_fileopen:()=>Bn,storage_fileopen_new:()=>Gn,storage_fileopen_new_encoding:()=>Un,storage_get_a_line:()=>Wn,storage_get_contents:()=>kn,storage_get_contents_without_para:()=>Hn,storage_get_current_dir:()=>es,storage_get_file_size:()=>jn,storage_get_filename:()=>Jn,storage_is_file:()=>ss,storage_list_all_files:()=>zn,storage_make_dir:()=>ts,storage_open_file_with_os:()=>Vn,storage_rename:()=>is});var u={};e.r(u),e.d(u,{procedures_callnoreturn:()=>ls,procedures_callreturn:()=>ds,procedures_defnoreturn:()=>ps,procedures_defreturn:()=>as,procedures_ifreturn:()=>Is,procedures_mutatorarg:()=>rs,procedures_mutatorcontainer:()=>us,procedures_return:()=>Ts});var r={};e.r(r),e.d(r,{tuple_change_to:()=>Ls,tuple_create_llm_params:()=>ys,tuple_create_with:()=>hs,tuple_create_with_container:()=>ms,tuple_create_with_item:()=>Es,tuple_create_with_noreturn:()=>Fs,tuple_create_with_text2:()=>Os,tuple_create_with_text_return:()=>Rs,tuple_del:()=>Cs,tuple_find:()=>Ns,tuple_getIndex:()=>cs,tuple_getSublist:()=>fs,tuple_get_random_item:()=>Ys,tuple_get_sublist:()=>Ps,tuple_input:()=>Xs,tuple_join:()=>Ss,tuple_length:()=>gs,tuple_max:()=>As,tuple_totuple:()=>vs,tuple_trig:()=>Ds});var l={};e.r(l),e.d(l,{set_add_discard:()=>Ws,set_clear:()=>ws,set_create_with:()=>xs,set_create_with_container:()=>Vs,set_create_with_item:()=>Bs,set_create_with_text_return:()=>Qs,set_length:()=>Gs,set_operate:()=>Hs,set_operate_update:()=>ks,set_pop:()=>Us,set_sub:()=>Ks,set_toset:()=>zs,set_update:()=>Js});var d={};e.r(d),e.d(d,{html_content:()=>e_,html_content_more:()=>t_,html_document:()=>js,html_form:()=>n_,html_head_body:()=>Zs,html_style:()=>i_,html_style_color:()=>__,html_style_content:()=>s_,html_text:()=>o_,html_title:()=>$s});var I={};e.r(I),e.d(I,{attribute_access:()=>R_,function_call:()=>m_,function_call_container:()=>E_,function_call_item:()=>O_,raw_block:()=>u_,raw_empty:()=>l_,raw_expression:()=>r_,raw_table:()=>a_,text_comment:()=>d_,text_print_multiple:()=>T_,text_print_multiple_container:()=>M_,text_print_multiple_item:()=>h_,type_check:()=>I_});var T={};e.r(T),e.d(T,{controls_type:()=>A_,controls_typeLists:()=>L_,lists_zip:()=>N_,unpack_iterable_object:()=>D_,variables_change:()=>C_,variables_get:()=>c_,variables_global:()=>S_,variables_set:()=>g_});var M={};e.r(M),e.d(M,{Panic_with_status_code:()=>V_,base_setup:()=>F_,controls_delay:()=>x_,controls_flow_statements:()=>b_,controls_for:()=>v_,controls_forEach:()=>H_,controls_for_range:()=>X_,controls_if:()=>P_,controls_interrupts:()=>U_,controls_lambda:()=>W_,controls_main:()=>f_,controls_millis:()=>B_,controls_nointerrupts:()=>w_,controls_pass:()=>J_,controls_range:()=>k_,controls_repeat:()=>to,controls_repeat_ext:()=>q_,controls_thread:()=>Q_,controls_try_finally:()=>Y_,controls_whileUntil:()=>y_,datetime_fromtimestamp:()=>io,do_while:()=>z_,garbage_collection:()=>j_,gene_unique_identifier:()=>no,get_mem_alloc:()=>$_,get_mem_free:()=>Z_,get_unique_identifier:()=>eo,reset:()=>G_,time_sleep:()=>K_});var h={};e.r(h),e.d(h,{base_map:()=>Ao,generate_cartesian_product:()=>No,math_arithmetic:()=>ao,math_bit:()=>po,math_constant:()=>_o,math_constant_mp:()=>oo,math_constrain:()=>Eo,math_dec:()=>Io,math_degree_to_radian:()=>fo,math_indexer_number:()=>co,math_map:()=>mo,math_max_min:()=>Mo,math_number:()=>so,math_number_base_conversion:()=>Oo,math_radian_to_degree:()=>Do,math_random:()=>ho,math_random_seed:()=>Ro,math_round:()=>go,math_selfcalcu:()=>uo,math_single:()=>ro,math_to_int:()=>To,math_trig:()=>lo,text_to_number:()=>Co,text_to_number_skulpt:()=>So,turn_to_int:()=>Lo});var m={};e.r(m),e.d(m,{ascii_to_char:()=>yo,char_to_ascii:()=>bo,number_to_text:()=>xo,os_system:()=>op,text:()=>Fo,text_bytes:()=>Yo,text_capital:()=>Ko,text_center:()=>Jo,text_char:()=>vo,text_char_at:()=>Go,text_char_at2:()=>Bo,text_char_at3:()=>np,text_compareTo:()=>ip,text_compare_to:()=>Ho,text_encode:()=>sp,text_equals_starts_ends:()=>wo,text_eval:()=>_p,text_find:()=>Qo,text_format:()=>Zo,text_format_noreturn:()=>ep,text_join:()=>Xo,text_join_seq:()=>zo,text_length:()=>Vo,text_random_char:()=>Uo,text_replace:()=>qo,text_split:()=>jo,text_strip:()=>$o,text_substring:()=>Wo,text_substring2:()=>ko,text_substring3:()=>tp,text_textarea:()=>Po});var E={};e.r(E),e.d(E,{content_in_lists:()=>Gp,enumerate:()=>Bp,list_many_input:()=>Lp,list_tolist:()=>xp,list_tolist2:()=>Vp,list_trig:()=>Cp,lists_2d_get_col_row_data:()=>up,lists_2d_get_data_with_col_row:()=>ap,lists_append_extend:()=>Tp,lists_change_to:()=>Ap,lists_change_to_general:()=>Dp,lists_clear:()=>Op,lists_create_with:()=>rp,lists_create_with2:()=>Fp,lists_create_with_noreturn:()=>Np,lists_create_with_text:()=>lp,lists_create_with_text2:()=>Pp,lists_del_general:()=>fp,lists_find:()=>Rp,lists_getIndex3:()=>Yp,lists_getSublist3:()=>vp,lists_get_index:()=>dp,lists_get_random_item:()=>Mp,lists_get_random_sublist:()=>hp,lists_get_sublist:()=>pp,lists_insert_value:()=>mp,lists_insert_value2:()=>yp,lists_pop:()=>gp,lists_remove_at:()=>cp,lists_remove_at2:()=>bp,lists_reverse:()=>Ep,lists_setIndex3:()=>Xp,lists_set_index:()=>Ip,lists_sort:()=>Sp});var O={};e.r(O),e.d(O,{dicts_add_change_del:()=>Zp,dicts_add_or_change:()=>Wp,dicts_clear:()=>Qp,dicts_create_with:()=>Up,dicts_create_with_noreturn:()=>ia,dicts_deldict:()=>$p,dicts_delete:()=>Kp,dicts_get:()=>Hp,dicts_get_default:()=>kp,dicts_items:()=>zp,dicts_keys:()=>wp,dicts_length:()=>jp,dicts_pop:()=>ea,dicts_setdefault:()=>ta,dicts_to_json:()=>sa,dicts_to_json2:()=>pa,dicts_to_to:()=>oa,dicts_todict:()=>na,dicts_update:()=>Jp,dicts_values:()=>qp,json_to_dicts:()=>_a});var R={};e.r(R),e.d(R,{logic_boolean:()=>da,logic_compare:()=>aa,logic_compare_continous:()=>ua,logic_is:()=>ha,logic_is_in:()=>Ma,logic_negate:()=>la,logic_null:()=>Ia,logic_operation:()=>ra,logic_tobool:()=>ma,logic_true_or_false:()=>Ta});var c={};e.r(c),e.d(c,{sdcard_mount:()=>Ga,sdcard_use_spi_init:()=>Ba,storage_can_write_ornot:()=>La,storage_change_dir:()=>Xa,storage_close_file:()=>Da,storage_delete_file:()=>Fa,storage_file_seek:()=>va,storage_file_tell:()=>Ya,storage_file_write:()=>ga,storage_fileopen:()=>Oa,storage_fileopen_new:()=>Ra,storage_fileopen_new_encoding:()=>ca,storage_get_a_line:()=>Aa,storage_get_contents:()=>Sa,storage_get_contents_without_para:()=>Ca,storage_get_current_dir:()=>ya,storage_get_file_size:()=>Pa,storage_get_filename:()=>Na,storage_is_file:()=>Va,storage_list_all_files:()=>fa,storage_make_dir:()=>ba,storage_open_file_with_os:()=>Ea,storage_rename:()=>xa});var g={};e.r(g),e.d(g,{procedures_callnoreturn:()=>ka,procedures_callreturn:()=>Ha,procedures_defnoreturn:()=>wa,procedures_defreturn:()=>Ua,procedures_ifreturn:()=>Wa,procedures_return:()=>Ka});var C={};e.r(C),e.d(C,{tuple_change_to:()=>tu,tuple_create_llm_params:()=>ru,tuple_create_with:()=>Ja,tuple_create_with_noreturn:()=>_u,tuple_create_with_text2:()=>Qa,tuple_create_with_text_return:()=>za,tuple_del:()=>$a,tuple_find:()=>iu,tuple_getIndex:()=>qa,tuple_getSublist:()=>su,tuple_get_random_item:()=>pu,tuple_get_sublist:()=>ou,tuple_input:()=>uu,tuple_join:()=>Za,tuple_length:()=>ja,tuple_max:()=>eu,tuple_totuple:()=>au,tuple_trig:()=>nu});var S={};e.r(S),e.d(S,{set_add_discard:()=>mu,set_clear:()=>Tu,set_create_with:()=>lu,set_create_with_text_return:()=>Ru,set_length:()=>du,set_operate:()=>Mu,set_operate_update:()=>hu,set_pop:()=>Iu,set_sub:()=>Eu,set_toset:()=>cu,set_update:()=>Ou});var A={};e.r(A),e.d(A,{html_content:()=>Au,html_content_more:()=>Lu,html_document:()=>gu,html_form:()=>Du,html_head_body:()=>Su,html_style:()=>Nu,html_style_content:()=>fu,html_text:()=>Fu,html_title:()=>Cu});var L={};e.r(L),e.d(L,{attribute_access:()=>xu,function_call:()=>bu,raw_block:()=>Pu,raw_empty:()=>vu,raw_expression:()=>Yu,raw_table:()=>Xu,type_check:()=>yu});var N={};e.r(N),e.d(N,{PIN_init:()=>kr,actuator_extern_get_led_bright:()=>Zu,actuator_extern_get_led_state:()=>er,actuator_extern_led_bright:()=>$u,actuator_extern_led_brightness:()=>tr,actuator_ms32006_dcmotor:()=>rr,actuator_ms32006_init:()=>ur,actuator_ms32006_stepper:()=>lr,actuator_neopixel_init:()=>dr,actuator_neopixel_rgb:()=>Ir,actuator_neopixel_rgb_all:()=>Tr,actuator_neopixel_rgb_show_all_chase:()=>mr,actuator_neopixel_rgb_show_all_rainbow:()=>hr,actuator_neopixel_write:()=>Mr,actuator_use_uart_init:()=>Er,backstage_esp32_music_play_list:()=>Ku,esp32_music_get_tempo_extern:()=>Qu,esp32_music_pitch:()=>Hu,esp32_music_pitch_init:()=>wu,esp32_music_pitch_with_time:()=>ku,esp32_music_play_list:()=>Wu,esp32_music_reset_extern:()=>zu,esp32_music_set_tempo_extern:()=>Ju,esp32_music_stop:()=>qu,esp32_set_music_volume:()=>ju,mixbot_actuator_extern_get_addr:()=>wr,mixbot_actuator_extern_set_addr:()=>Hr,mixbot_addr_extern:()=>fr,parrot_PIN_init:()=>Qr,parrot_move_speed:()=>zr,pin_led_bright:()=>Wr,player_insert_music:()=>Sr,player_play_music:()=>Cr,player_set_mode:()=>gr,player_set_play:()=>Rr,player_set_volume:()=>cr,player_whether_stop:()=>Or,robot_led_extern:()=>vr,robot_led_extern_get_value:()=>Xr,robot_motor_extern:()=>Fr,robot_motor_extern_get_speed:()=>Pr,robot_servo_extern_absolute_run:()=>Vr,robot_servo_extern_get_status:()=>yr,robot_servo_extern_relative_continue:()=>Ur,robot_servo_extern_relative_origin:()=>Br,robot_servo_extern_relative_run:()=>Gr,robot_servo_extern_stop:()=>xr,robot_servo_extern_stop_mode:()=>br,robot_traffic_light_extern:()=>Yr,servo_PIN_init:()=>Kr,servo_get_angle:()=>pr,servo_get_speed:()=>ar,servo_init:()=>ir,servo_move:()=>nr,servo_move_angle:()=>Jr,servo_set_angle:()=>_r,servo_set_speed:()=>or,servo_speed_360:()=>sr,syn6288_builtin_voice:()=>Nr,syn6288_get_voice:()=>Lr,syn6288_set_voice:()=>Ar,syn6288_tts_play:()=>Dr});var D={};e.r(D),e.d(D,{actuator_dc_motor:()=>Dl,actuator_dc_motor_stop:()=>fl,actuator_get_led_bright:()=>el,actuator_get_led_state:()=>tl,actuator_led_bright:()=>Zr,actuator_led_brightness:()=>il,actuator_mixbot_buzzer_on_off:()=>Xl,actuator_mixgo_nova_mic_get:()=>Bl,actuator_mixgo_nova_mic_set:()=>Vl,actuator_mixgo_nova_onboard_music_pitch:()=>Wl,actuator_mixgo_nova_onboard_music_stop:()=>Kl,actuator_mixgo_nova_play_audio:()=>Hl,actuator_mixgo_nova_play_online_audio:()=>kl,actuator_mixgo_nova_record_audio:()=>wl,actuator_mixgo_nova_voice_get:()=>Ul,actuator_mixgo_nova_voice_set:()=>Gl,actuator_mixgo_zero_led_color:()=>nl,actuator_onboard_neopixel_rgb:()=>ul,actuator_onboard_neopixel_rgb_all:()=>rl,actuator_onboard_neopixel_rgb_show_all_chase:()=>dl,actuator_onboard_neopixel_rgb_show_all_rainbow:()=>ll,actuator_onboard_neopixel_write:()=>Il,actuator_rm_onboard_neopixel_rgb:()=>Tl,actuator_rm_onboard_neopixel_rgb_all:()=>Ml,actuator_rm_onboard_neopixel_rgb_show_all_chase:()=>hl,actuator_stepper_keep:()=>Ll,actuator_stepper_stop:()=>Nl,analog_ble_keyboard_init:()=>od,analog_ble_keyboard_input:()=>ud,analog_ble_keyboard_mouse_init:()=>md,analog_ble_keyboard_mouse_input:()=>cd,analog_ble_keyboard_mouse_send_battery:()=>Rd,analog_ble_keyboard_mouse_str:()=>gd,analog_ble_keyboard_send_battery:()=>ld,analog_ble_keyboard_str:()=>rd,analog_ble_mouse_init:()=>dd,analog_ble_mouse_input:()=>Md,analog_ble_mouse_keyboard_input:()=>Cd,analog_ble_mouse_send_battery:()=>hd,analog_keyboard_input:()=>jl,analog_keyboard_str:()=>_d,analog_mouse_input:()=>nd,backstage_onboard_music_play_list:()=>Sl,bitbot_motor:()=>xl,bitbot_move:()=>yl,bitbot_stop:()=>bl,ble_keyboard_connect:()=>ad,ble_keyboard_get_mac:()=>pd,ble_keyboard_mouse_connect:()=>Od,ble_keyboard_mouse_get_mac:()=>Ed,ble_mouse_connect:()=>Td,ble_mouse_get_mac:()=>Id,cc_number:()=>al,educore_ble_keyboard_input:()=>vd,educore_ble_sensor_connected:()=>Yd,educore_ble_sensor_init:()=>Pd,educore_buzzer:()=>Sd,educore_buzzer_play_tone:()=>Ad,educore_buzzer_play_tone_time:()=>Ld,educore_buzzer_stop:()=>Nd,educore_neopixel_clear:()=>Fd,educore_neopixel_rgb:()=>fd,educore_rgb_light:()=>Dd,esp32_music_get_tempo:()=>El,esp32_music_reset:()=>Ol,esp32_music_set_tempo:()=>ml,esp32_onboard_music_pitch:()=>Rl,esp32_onboard_music_pitch_with_time:()=>cl,esp32_onboard_music_play_list:()=>Cl,esp32_onboard_music_stop:()=>gl,general_key:()=>Zl,general_key_tuple:()=>ed,generalkey_container:()=>td,generalkey_create_with_item:()=>id,get_keyboard_light:()=>Xd,get_power_output:()=>Ql,ledswitch:()=>$r,mixbot_motor:()=>vl,mixbot_motor_status:()=>Fl,mixbot_move:()=>Pl,mixbot_stop:()=>Yl,mouse_key:()=>sd,number:()=>jr,record_audio:()=>bd,rm_actuator_get_led_bright:()=>_l,rm_actuator_get_led_state:()=>ol,rm_actuator_led_bright:()=>sl,rm_actuator_led_brightness:()=>pl,rm_motor:()=>Al,set_all_power_output:()=>zl,set_microphone_amplification:()=>yd,set_music_volume:()=>xd,set_part_power_output:()=>ql,set_power_output:()=>Jl,special_key:()=>$l});var f={};e.r(f),e.d(f,{ai_sensor_20object:()=>mI,ai_sensor_ailocal_class:()=>oI,ai_sensor_ailocal_class_result:()=>pI,ai_sensor_ailocal_train:()=>_I,ai_sensor_asr_recognize:()=>dI,ai_sensor_audio_play:()=>uI,ai_sensor_audio_record:()=>aI,ai_sensor_barcode:()=>Wd,ai_sensor_circle:()=>jd,ai_sensor_classifier_faces:()=>hI,ai_sensor_color:()=>tI,ai_sensor_color_chases:()=>sI,ai_sensor_color_chases_result:()=>nI,ai_sensor_config:()=>Hd,ai_sensor_face:()=>MI,ai_sensor_find_20objects:()=>EI,ai_sensor_find_barcodes:()=>Kd,ai_sensor_find_circles:()=>$d,ai_sensor_find_colors:()=>iI,ai_sensor_find_licenseplates:()=>TI,ai_sensor_find_lines:()=>qd,ai_sensor_find_qrcodes:()=>wd,ai_sensor_find_rects:()=>eI,ai_sensor_find_tags:()=>Qd,ai_sensor_licenseplate:()=>II,ai_sensor_line:()=>zd,ai_sensor_qrcode:()=>Gd,ai_sensor_qrcode_lite:()=>Ud,ai_sensor_rect:()=>Zd,ai_sensor_rgb:()=>kd,ai_sensor_tag:()=>Jd,ai_sensor_use_uart_init:()=>Bd,ai_sensor_yolo_recognize:()=>rI,ai_sensor_yolo_recognize_result:()=>lI});var F={};e.r(F),e.d(F,{MICROPYTHON_AI_Speech_asr:()=>cI,MICROPYTHON_AI_Speech_unit:()=>RI,MICROPYTHON_AI_client:()=>OI});var P={};e.r(P),e.d(P,{AI_CAMERA_INIT:()=>jI,AI_CAMERA_INIT_FACERECOGNIZE:()=>eT,AI_CAMERA_INIT_SIMPLE:()=>LT,AI_STOP_ACQUISITION:()=>CT,CAMERA_LOOGOUT:()=>GI,CI130X_BROADCAST_SANT:()=>YI,CI130X_BROADCAST_SYSTEM_TIME:()=>XI,CI130X_GET_THE_RECOGNIZED_CMD_SANT:()=>PI,CI130X_GET_WHETHER_IDENTIFY_SANT:()=>FI,CI130X_IDENTIFY_AND_SAVE_SANT:()=>fI,CI130X_OPEN_AND_CLOSE:()=>NI,CI130X_PLAY_SYSTEM_CMD_SANT:()=>DI,CI130X_SET_SYSTEM_CMD_SANT:()=>vI,CONVERT_IMAGE_TO_JPG:()=>HI,CREATE_CAMERA:()=>yI,CREATE_CAMERA_SIMPLE:()=>AT,DELETE_FACE_ALL:()=>TT,DELETE_FACE_FROM_DATABASE:()=>IT,GET_CAT_FACE_DETECTION_NUM:()=>OT,GET_COLOR_DETECTION_NUM:()=>ET,GET_FACE_DETECTION_NAME:()=>gT,GET_FACE_DETECTION_NUM:()=>cT,GET_HOW_MUCH_RECOGNITION:()=>sT,GET_HUMAN_DETECTION_NUM:()=>RT,GET_IMAGE_AND_SAVE:()=>xI,GET_IMAGE_FROM_NET:()=>BI,GET_NO_CAT_OR_FACE_RECOGNITION:()=>oT,GET_NO_FACE_RECOGNITION_INFO:()=>uT,GET_NO_RECOGNITION:()=>_T,GET_NO_XY_RECOGNITION:()=>pT,GET_NO_XY_RECOGNITION_FACE:()=>aT,GET_PICTURE_DATA_EXACT:()=>UI,GET_PICTURE_DATA_WHS:()=>kI,GET_PICTURE_RECOGNITION_DATA:()=>mT,GET_PICTURE_WIDTH_HEIGHT_DEVICE:()=>wI,GET_QR_CODE_RECOGNITION_DATA:()=>hT,GET_SCREEN_IMAGE:()=>qI,GET_SCREEN_IMAGE_SIZE:()=>zI,MIXIO_REPORT_IMAGE_DATA:()=>ST,MODEL_INIT_HEIGHT:()=>ZI,MODEL_INIT_WIDTH:()=>$I,MODEL_LOGOUT:()=>tT,MODEL_RUN:()=>iT,MODEL_WHETHER_RUN_SUCCEED:()=>nT,OPEN_IMAGE:()=>VI,PRINT_FACE_DATABASE:()=>MT,REGISTER_NEW_FACE:()=>dT,REGISTER_NEW_FACE_SIMPLE:()=>DT,Register_color_recognition:()=>lT,Register_color_recognition_fixed:()=>rT,Register_color_recognition_fixed_SIMPLE:()=>NT,SCREEN_DISPLAY_IMAGE:()=>JI,SCREEN_DISPLAY_IMAGE_LOCATION:()=>QI,SCREEN_SHOW_CAM_GRAPH_SHOOT:()=>WI,SCREEN_SHOW_CAM_GRAPH_SHOOT_LOCATION:()=>KI,SHOOT_AND_SAVE_PICTURE:()=>bI,VOICE_RECOGNITION_CONTROL:()=>LI,yesorno:()=>AI});var Y={};e.r(Y),e.d(Y,{mpython_blynk_app_data:()=>HT,mpython_blynk_app_notify:()=>bT,mpython_blynk_email:()=>BT,mpython_blynk_get_timers:()=>GT,mpython_blynk_on_connected:()=>vT,mpython_blynk_on_disconnected:()=>YT,mpython_blynk_run:()=>yT,mpython_blynk_sensor_data_to_app:()=>wT,mpython_blynk_set_property:()=>VT,mpython_blynk_setup:()=>kT,mpython_blynk_stop_timers:()=>xT,mpython_blynk_sync_virtual:()=>PT,mpython_blynk_terminal_widget_vpin:()=>FT,mpython_blynktimer:()=>UT,mpython_blynktimer_run:()=>XT});var v={};e.r(v),e.d(v,{communicate_bluetooth_central_init:()=>LM,communicate_bluetooth_connect:()=>FM,communicate_bluetooth_disconnect:()=>PM,communicate_bluetooth_handle:()=>bM,communicate_bluetooth_is_connected:()=>vM,communicate_bluetooth_mac:()=>fM,communicate_bluetooth_peripheral_init:()=>NM,communicate_bluetooth_recv:()=>XM,communicate_bluetooth_recv_only:()=>yM,communicate_bluetooth_scan:()=>DM,communicate_bluetooth_send:()=>YM,communicate_espnow_init:()=>xM,communicate_espnow_init_new:()=>VM,communicate_i2c_available:()=>aM,communicate_i2c_init:()=>QT,communicate_i2c_master_read:()=>pM,communicate_i2c_onboard:()=>KT,communicate_i2c_read:()=>zT,communicate_i2c_scan:()=>jT,communicate_i2c_write:()=>qT,communicate_ir_recv_init:()=>hM,communicate_ir_send_init:()=>cM,communicate_ow_init:()=>rM,communicate_ow_read:()=>dM,communicate_ow_reset:()=>MM,communicate_ow_scan:()=>lM,communicate_ow_select:()=>TM,communicate_ow_write:()=>IM,communicate_spi_buffer:()=>eM,communicate_spi_init:()=>$T,communicate_spi_onboard:()=>JT,communicate_spi_read:()=>tM,communicate_spi_read_output:()=>iM,communicate_spi_readinto:()=>nM,communicate_spi_readinto_output:()=>sM,communicate_spi_set:()=>ZT,communicate_spi_write:()=>_M,communicate_spi_write_readinto:()=>oM,espnow_radio_channel:()=>kM,espnow_radio_channel_new:()=>KM,espnow_radio_on_off:()=>JM,espnow_radio_rec:()=>zM,espnow_radio_recv:()=>jM,espnow_radio_recv_certain_msg:()=>$M,espnow_radio_recv_certain_msg_new:()=>eh,espnow_radio_recv_msg:()=>qM,espnow_radio_recv_new:()=>ZM,espnow_radio_send:()=>QM,espnow_radio_txpower:()=>WM,i2c_available:()=>gh,i2c_init:()=>ah,i2c_master_reader2:()=>ch,i2c_read:()=>uh,i2c_scan:()=>lh,i2c_slave_onreceive:()=>uM,i2c_write:()=>rh,internal_variable:()=>mM,ir_recv_timeout:()=>RM,ir_transmit_busy:()=>AM,ir_transmit_conventional_data:()=>gM,ir_transmit_raw_code:()=>SM,ir_transmit_study_code:()=>CM,ir_whether_recv:()=>OM,lora_init:()=>th,lora_packet:()=>ih,lora_recv:()=>sh,lora_send:()=>nh,network_espnow_info:()=>GM,network_espnow_mac:()=>BM,network_espnow_recv:()=>UM,network_espnow_recv_handle:()=>HM,network_espnow_send:()=>wM,recv_fun:()=>EM,spi_buffer:()=>Th,spi_init:()=>dh,spi_read:()=>Mh,spi_read_output:()=>hh,spi_readinto:()=>mh,spi_readinto_output:()=>Eh,spi_set:()=>Ih,spi_write:()=>Oh,spi_write_readinto:()=>Rh,urequests_attribute:()=>oh,urequests_get:()=>_h,urequests_method:()=>ph});var X={};e.r(X),e.d(X,{display_animate:()=>em,display_blink_rate:()=>qh,display_circle:()=>tm,display_color_seclet:()=>Im,display_draw_4strings:()=>kh,display_fill:()=>Zh,display_get_screen_image:()=>zh,display_help:()=>nm,display_image_size:()=>Wh,display_lcd_use_i2c_init:()=>Om,display_line:()=>Jh,display_line_arbitrarily:()=>Qh,display_matrix_extern_bright_point:()=>bh,display_matrix_extern_bright_screen:()=>Vh,display_matrix_extern_clear:()=>Bh,display_matrix_extern_get_pixel:()=>yh,display_matrix_extern_get_screen_pixel:()=>xh,display_matrix_extern_image_builtins:()=>Gh,display_matrix_extern_scroll_string:()=>Fh,display_matrix_extern_scroll_string_delay:()=>Ph,display_matrix_extern_shift:()=>Xh,display_matrix_extern_show_frame_string:()=>Yh,display_matrix_extern_show_frame_string_delay:()=>vh,display_matrix_extern_show_image:()=>Dh,display_matrix_extern_show_image_or_string_delay:()=>fh,display_matrix_use_i2c_init:()=>Nh,display_oled_drawPixel:()=>_m,display_oled_showBitmap:()=>sm,display_oled_use_i2c_init:()=>Sm,display_onoff:()=>$h,display_rect:()=>Kh,display_rgb_color:()=>jh,display_tm1650_power:()=>pm,display_tm1650_set_brightness:()=>rm,display_tm1650_show_dot:()=>um,display_tm1650_show_num:()=>am,display_tm_use_i2c_init:()=>om,display_triangle:()=>im,display_use_i2c_init:()=>Hh,extern_oled_bright_point:()=>ym,extern_oled_clear:()=>bm,extern_oled_get_pixel:()=>Xm,extern_oled_hvline:()=>Vm,extern_oled_line:()=>Bm,extern_oled_scroll_string:()=>fm,extern_oled_scroll_string_delay:()=>Fm,extern_oled_shape_rect:()=>xm,extern_oled_shift:()=>vm,extern_oled_show_frame_string:()=>Pm,extern_oled_show_frame_string_delay:()=>Ym,extern_oled_show_image:()=>Am,extern_oled_show_image_or_string_delay:()=>Dm,extern_oled_show_image_xy:()=>Lm,extern_oled_show_string:()=>Nm,lcd_backlight:()=>gm,lcd_clear:()=>Cm,lcd_print_string:()=>cm,lcd_show_image_or_string_delay:()=>Rm,matrix_extern_image_arithmetic:()=>Uh,matrix_extern_image_invert:()=>wh,tft_fill:()=>mm,tft_line_arbitrarily:()=>Em,tft_scroll_string_delay:()=>Mm,tft_show_frame_string_delay:()=>hm,tft_show_image_or_string_delay:()=>Tm,tft_show_image_xy:()=>dm,tft_use_spi_init:()=>lm});var y={};e.r(y),e.d(y,{bitbot_display_bitmap_create:()=>vE,bitbot_display_image_create:()=>YE,display_available:()=>pE,display_bitmap_create:()=>qm,display_bright_point:()=>nE,display_bright_screen:()=>_E,display_clear:()=>oE,display_get_pixel:()=>iE,display_get_screen_pixel:()=>sE,display_image_builtins:()=>jm,display_image_builtins_all:()=>$m,display_image_create:()=>zm,display_scroll_string:()=>Hm,display_scroll_string_delay:()=>km,display_scroll_way:()=>Wm,display_shift:()=>tE,display_show_frame_string:()=>Jm,display_show_frame_string_delay:()=>Qm,display_show_image:()=>Um,display_show_image_or_string_delay:()=>wm,draw_pointer:()=>qE,image_arithmetic:()=>Zm,image_invert:()=>eE,mixbot_display_bitmap_create:()=>NE,mixbot_display_bright_screen:()=>FE,mixbot_display_get_ambientbright:()=>fE,mixbot_display_get_screen_pixel:()=>DE,mixbot_display_image_create:()=>LE,mixbot_display_rotate:()=>PE,mixgo_display_bitmap_create:()=>IE,mixgo_display_image_create_new:()=>dE,mixgome_display_bitmap_create:()=>uE,mixgome_display_font:()=>TE,mixgome_display_image_create:()=>aE,mixgomini_display_bitmap_create:()=>lE,mixgomini_display_image_create:()=>rE,mpython_display_hvline:()=>CE,mpython_display_line:()=>SE,mpython_display_shape_rect:()=>gE,mpython_pbm_image:()=>AE,nova_draw_pointer:()=>jE,onboard_oled_bright_point:()=>cE,onboard_oled_scroll_string_delay:()=>OE,onboard_oled_show_frame_string_delay:()=>RE,onboard_oled_show_image:()=>ME,onboard_oled_show_image_or_string_delay:()=>EE,onboard_oled_show_image_xy:()=>hE,onboard_oled_show_string:()=>mE,onboard_tft_bright_point:()=>wE,onboard_tft_bright_screen:()=>oO,onboard_tft_clear:()=>pO,onboard_tft_clock_clear:()=>QE,onboard_tft_clock_draw:()=>JE,onboard_tft_clock_get_rtctime:()=>WE,onboard_tft_clock_init:()=>kE,onboard_tft_clock_set_time:()=>KE,onboard_tft_display_hvline:()=>BE,onboard_tft_display_line:()=>GE,onboard_tft_display_shape_circle:()=>zE,onboard_tft_display_shape_rect:()=>VE,onboard_tft_fill:()=>HE,onboard_tft_get_pixel:()=>UE,onboard_tft_get_screen_pixel:()=>_O,onboard_tft_scroll_string:()=>iO,onboard_tft_scroll_string_delay:()=>Km,onboard_tft_shift:()=>sO,onboard_tft_show_frame_string:()=>nO,onboard_tft_show_frame_string_delay:()=>xE,onboard_tft_show_image:()=>tO,onboard_tft_show_image_or_string_delay:()=>bE,onboard_tft_show_image_xy:()=>XE,onboard_tft_show_image_xy_direct:()=>yE,onboard_tft_show_qrcode:()=>ZE,onboard_tft_show_qrcode_details:()=>eO,onboard_tft_show_texts:()=>$E});var b={};e.r(b),e.d(b,{factory_block:()=>AO,factory_block_return:()=>LO,factory_block_return_with_textarea:()=>DO,factory_block_with_textarea:()=>NO,factory_callMethod_noreturn:()=>CO,factory_callMethod_return:()=>SO,factory_create_with_container:()=>OO,factory_create_with_item:()=>RO,factory_declare:()=>gO,factory_from_import:()=>hO,factory_function_noreturn:()=>EO,factory_function_return:()=>cO,factory_import:()=>mO,folding_block:()=>fO});var x={};e.r(x),e.d(x,{controls_pin_attachInterrupt:()=>jO,inout_analog_atten:()=>BO,inout_analog_read:()=>VO,inout_analog_read_init:()=>WO,inout_analog_write:()=>yO,inout_analog_write_init:()=>kO,inout_analog_write_set:()=>bO,inout_analog_write_set_freq:()=>QO,inout_digital_init:()=>wO,inout_digital_read:()=>vO,inout_digital_write:()=>YO,inout_highlow:()=>PO,inout_pinMode:()=>JO,inout_pin_attachInterrupt:()=>UO,inout_pin_pressed:()=>GO,inout_pin_pressed_init:()=>KO,inout_pwm_analog_write:()=>XO,inout_pwm_analog_write_init:()=>HO,inout_pwm_analog_write_set_freq:()=>xO,pin_pressed:()=>qO,pin_pressed_init:()=>zO});var V={};e.r(V),e.d(V,{IOT_CONNECT_OLLAMA:()=>yR,IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>gR,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>cR,IOT_EMQX_PING:()=>OR,IOT_FORMATTING:()=>mR,IOT_FORMAT_STRING:()=>ER,IOT_MIXIO_NTP:()=>RR,IOT_MIXIO_PUBLISH:()=>uR,IOT_MIXIO_PUBLISHEX:()=>rR,IOT_MIXIO_SUBSCRIBE:()=>lR,iot_checkonenet:()=>YR,iot_client_onboard:()=>SR,iot_connect_ollama:()=>XR,iot_connect_openai:()=>bR,iot_create_with_item:()=>pR,iot_http_client:()=>AR,iot_http_data:()=>LR,iot_mixio_check:()=>TR,iot_mixio_connect:()=>aR,iot_mixio_connect_only:()=>IR,iot_mixio_disconnect:()=>dR,iot_mixio_format_msg:()=>hR,iot_mixio_format_topic:()=>MR,iot_mixly_key:()=>CR,iot_mqtt_client:()=>NR,iot_mqtt_data:()=>DR,iot_onenet_check:()=>iR,iot_onenet_connect:()=>eR,iot_onenet_disconnect:()=>tR,iot_onenet_publish:()=>sR,iot_onenet_publish_dict:()=>nR,iot_onenetconnect:()=>FR,iot_onenetdisconnect:()=>PR,iot_publish:()=>vR,iot_publish_container:()=>_R,iot_publish_item:()=>oR,iot_tiny_web_db_count:()=>kR,iot_tiny_web_db_delete:()=>KR,iot_tiny_web_db_get:()=>HR,iot_tiny_web_db_init:()=>GR,iot_tiny_web_db_init_with_mqtt:()=>UR,iot_tiny_web_db_search:()=>WR,iot_tiny_web_db_update:()=>wR,iot_wifi_connect:()=>ZO,iot_wificonnect:()=>fR,ollama_empty_history:()=>BR,use_ollama_llm_to_chat:()=>xR,use_ollama_llm_to_chat_return:()=>VR});var B={};e.r(B),e.d(B,{educore_mqtt_connect:()=>Lc,educore_mqtt_connect_success:()=>Fc,educore_mqtt_subscribe_message:()=>Nc,educore_mqtt_topic_publish:()=>fc,educore_mqtt_topic_subscribe:()=>Dc,educore_wifi_connect:()=>Ac,network_ap_connect:()=>nc,network_connect:()=>$R,network_get_connect:()=>ec,network_get_wifi:()=>ic,network_init:()=>QR,network_is_active:()=>qR,network_open:()=>zR,network_scan:()=>jR,network_server:()=>sc,network_socket_accept:()=>uc,network_socket_bind:()=>oc,network_socket_close:()=>Mc,network_socket_connect:()=>pc,network_socket_init:()=>_c,network_socket_listen:()=>ac,network_socket_readline:()=>rc,network_socket_receive:()=>lc,network_socket_receive_from:()=>Ic,network_socket_send:()=>dc,network_socket_send_to:()=>Tc,network_stop:()=>tc,network_wifi_connect:()=>ZR,ntptime_address:()=>Rc,ntptime_time:()=>Oc,requests_attribute:()=>mc,requests_attribute2:()=>Sc,requests_get:()=>hc,requests_get2:()=>gc,requests_method:()=>Ec,requests_post:()=>Cc});var G={};e.r(G),e.d(G,{get_potential_num:()=>Yc,nova_g1_motor:()=>vc,nova_g1_spk_en:()=>yc,nova_g1_usb:()=>Xc});var U={};e.r(U),e.d(U,{pe_g1_battery_left:()=>Vc,pe_g1_dc_motor:()=>Bc,pe_g1_dc_motor_speed:()=>Gc,pe_g1_servo_get_angle:()=>Hc,pe_g1_servo_get_speed:()=>kc,pe_g1_servo_set_angle:()=>Uc,pe_g1_servo_set_speed:()=>wc,pe_g1_use_i2c_init:()=>xc});var w={};e.r(w),e.d(w,{CI130X_BROADCAST:()=>Mg,CI130X_GET_THE_RECOGNIZED_CMD:()=>Tg,CI130X_GET_WHETHER_IDENTIFY:()=>Ig,CI130X_IDENTIFY_AND_SAVE:()=>dg,CI130X_SET_SYSTEM_CMD:()=>hg,HCSR04:()=>sC,PS2_Button:()=>aC,PS2_Buttons:()=>rC,PS2_Buttons_new:()=>TC,PS2_State:()=>uC,PS2_init:()=>_C,PS2_init_new:()=>dC,PS2_stk:()=>lC,PS2_stk_new:()=>MC,PS2_vibration:()=>pC,PS2_vibration_new:()=>IC,camera_sensor_init:()=>WC,camera_sensor_result:()=>KC,column_tube_foot:()=>jC,define_keyboards:()=>$C,educore_body_sensor:()=>yC,educore_button_sensor_extern:()=>BC,educore_camera_sensor:()=>kC,educore_infrared_sensor:()=>VC,educore_soilhum_sensor:()=>bC,educore_temp_sensor:()=>HC,educore_temphum_sensor:()=>xC,educore_ultrasonic_sensor:()=>UC,esp32_s2_weather_init:()=>eC,esp32_s2_weather_rain:()=>iC,esp32_s2_weather_wd:()=>tC,esp32_s2_weather_ws:()=>nC,extern_rfid_read:()=>Gg,extern_rfid_readcontent:()=>wg,extern_rfid_readid:()=>Ug,extern_rfid_status:()=>Wg,extern_rfid_write:()=>Hg,extern_rfid_write_return:()=>kg,get_keboards_value:()=>ZC,gnss_get_data:()=>OC,gnss_have_data:()=>EC,init_init_rotary_encoder:()=>eS,init_matrix_keyboard:()=>zC,interaction_whether_to_interaction:()=>rg,interaction_whether_to_interaction_SANT:()=>lg,line_tube_foot:()=>qC,mixbot_sensor_extern_get_addr:()=>NC,mixbot_sensor_extern_set_addr:()=>DC,pm25_get_data:()=>mC,radar_set_DETECTION_THRESHOLD:()=>ag,radar_set_DETECTION_THRESHOLD_SANT:()=>ug,robot_button_extern_get_value:()=>cC,robot_color_extern_get_value:()=>LC,robot_infrared_extern_get_value:()=>CC,robot_infrared_extern_grey_get_value:()=>SC,robot_potentiometer_extern_get_value:()=>AC,robot_sonar_extern_get_value:()=>fC,robot_sonar_extern_led:()=>FC,robot_touch_extern_get_value:()=>gC,rotary_key:()=>tS,sensor_APDS9960_extern:()=>Eg,sensor_DS18X20:()=>_g,sensor_LTR308_extern:()=>Og,sensor_LTR390UV_extern:()=>gg,sensor_MAX30102_extern:()=>mg,sensor_QMC5883L_extern:()=>Fg,sensor_VL530LX_extern:()=>Cg,sensor_adxl345_get_acceleration:()=>jc,sensor_aht11_extern:()=>Ag,sensor_bmp:()=>ng,sensor_compass_reset:()=>Vg,sensor_dht11:()=>Zc,sensor_hp203_extern:()=>Lg,sensor_light_level:()=>$c,sensor_lm35:()=>og,sensor_ltr381_extern:()=>Rg,sensor_mixgo_extern_button_attachInterrupt:()=>zc,sensor_mixgo_extern_button_get_presses:()=>Qc,sensor_mixgo_extern_button_is_pressed:()=>Kc,sensor_mixgo_extern_button_was_pressed:()=>Jc,sensor_mixgo_extern_light:()=>eg,sensor_mixgo_extern_pin_near:()=>ig,sensor_mixgo_extern_sound:()=>tg,sensor_mixgoce_hot_wheel_degrees:()=>Zg,sensor_mixgoce_hot_wheel_is_touched:()=>$g,sensor_mpu9250_attachGestureInterrupt:()=>qc,sensor_mpu9250_calibrate_compass:()=>yg,sensor_mpu9250_field_strength:()=>xg,sensor_mpu9250_gesture:()=>Pg,sensor_mpu9250_get_acceleration:()=>Yg,sensor_mpu9250_get_gyro:()=>Xg,sensor_mpu9250_get_magnetic:()=>vg,sensor_mpu9250_temperature:()=>bg,sensor_ms5611_extern:()=>Dg,sensor_ms5611_extern_altitude:()=>fg,sensor_read_humiture:()=>GC,sensor_sht:()=>sg,sensor_shtc3_extern:()=>Sg,sensor_spl06_001_extern:()=>Ng,sensor_ucs12071_extern:()=>cg,sensor_use_i2c_init:()=>pg,sensor_use_spi_init:()=>Bg,sensor_use_uart_init:()=>hC,sensor_weather_solo_init:()=>PC,sensor_weather_solo_rain:()=>XC,sensor_weather_solo_wd:()=>YC,sensor_weather_solo_ws:()=>vC,sensor_weigh_init:()=>JC,tvoc_get_data:()=>RC,ultrasonic_sensor_read_distance:()=>wC,weather_data:()=>Kg,weather_have_data:()=>Jg,weather_set_label:()=>zg,weather_set_label_container:()=>qg,weather_set_label_item:()=>jg,weather_uart_mixio:()=>Qg,weigh_sensor_get_weight:()=>QC});var H={};e.r(H),e.d(H,{HCSR04:()=>ES,RTC_set_date:()=>mS,RTC_set_time:()=>hS,bitbot_als_num:()=>NA,dht11:()=>XA,educore_button_sensor:()=>HA,educore_button_was_pressed:()=>kA,educore_gyroscope_sensor:()=>GA,educore_gyroscope_sensor_read:()=>UA,educore_gyroscope_sensor_shake:()=>wA,educore_light_sensor:()=>BA,educore_rfid_sensor:()=>WA,educore_rfid_sensor_scan:()=>KA,educore_rfid_sensor_scan_data:()=>JA,educore_voice_sensor:()=>xA,number1:()=>RS,number2:()=>cS,number3:()=>gS,number4:()=>CS,number5:()=>SS,number6:()=>AS,number7:()=>LS,onboard_RTC_get_time:()=>XS,onboard_RTC_get_time_str:()=>GS,onboard_RTC_get_timestamp:()=>yS,onboard_RTC_get_timetuple_to_str:()=>US,onboard_RTC_set_datetime:()=>VS,onboard_RTC_settime_string:()=>xS,onboard_RTC_timestamp_totuple:()=>bS,rfid_readcontent:()=>QS,rfid_readid:()=>JS,rfid_status:()=>jS,rfid_write:()=>zS,rfid_write_return:()=>qS,sensor_LTR308:()=>wS,sensor_aht11:()=>kS,sensor_bitbot_ALS:()=>LA,sensor_button_get_presses:()=>FA,sensor_button_is_pressed:()=>DA,sensor_button_was_pressed:()=>fA,sensor_distance_hrsc04:()=>MS,sensor_eulerangles:()=>ZS,sensor_field_strength:()=>yA,sensor_get_acceleration:()=>$S,sensor_get_temperature:()=>WS,sensor_get_the_coprocessor_version:()=>QA,sensor_hp203:()=>KS,sensor_light:()=>vA,sensor_mixbot_get_gyro:()=>AA,sensor_mixbot_patrol_calibrate:()=>gA,sensor_mixbot_patrol_value:()=>CA,sensor_mixbot_temperature:()=>SA,sensor_mixgo_LTR308:()=>YS,sensor_mixgo_button_attachInterrupt:()=>oS,sensor_mixgo_button_get_presses:()=>_S,sensor_mixgo_button_is_pressed:()=>nS,sensor_mixgo_button_was_pressed:()=>sS,sensor_mixgo_cc_mmc5603_calibrate_compass:()=>rA,sensor_mixgo_cc_mmc5603_get_angle:()=>uA,sensor_mixgo_cc_mmc5603_get_magnetic:()=>aA,sensor_mixgo_light:()=>OS,sensor_mixgo_nova_LTR308:()=>PS,sensor_mixgo_nova_pin_near:()=>FS,sensor_mixgo_pin_near:()=>fS,sensor_mixgo_pin_near_double:()=>DS,sensor_mixgo_pin_near_single:()=>NS,sensor_mixgo_pin_pressed:()=>lS,sensor_mixgo_sant_color:()=>vS,sensor_mixgo_touch_slide:()=>TS,sensor_mixgocar42_button_attachInterrupt:()=>rS,sensor_mixgocar42_button_get_presses:()=>uS,sensor_mixgocar42_button_is_pressed:()=>pS,sensor_mixgocar42_button_was_pressed:()=>aS,sensor_mixgocar_battery_left:()=>cA,sensor_mixgocar_pin_near:()=>OA,sensor_mixgocar_pin_near_line:()=>EA,sensor_mixgocar_pin_near_state_change:()=>RA,sensor_mixgoce_pin_pressed:()=>dS,sensor_mixgoce_temperature:()=>dA,sensor_mixgome_temperature:()=>lA,sensor_mpython_pin_pressed:()=>IS,sensor_mpython_qmi8658_get_gyro:()=>IA,sensor_mpython_qmi8658_temperature:()=>TA,sensor_onboard_compass_reset:()=>pA,sensor_onboard_mpu9250_calibrate_compass:()=>sA,sensor_onboard_mpu9250_field_strength:()=>oA,sensor_onboard_mpu9250_gesture:()=>eA,sensor_onboard_mpu9250_get_acceleration:()=>tA,sensor_onboard_mpu9250_get_gyro:()=>nA,sensor_onboard_mpu9250_get_magnetic:()=>iA,sensor_onboard_mpu9250_temperature:()=>_A,sensor_pin_near:()=>YA,sensor_pin_pressed:()=>PA,sensor_read:()=>VA,sensor_rm_acc:()=>mA,sensor_rm_battery_left:()=>hA,sensor_rm_pin_near_double:()=>MA,sensor_rtc_init:()=>BS,sensor_sound:()=>HS,sensor_temperature:()=>bA,simulated_light_sensor:()=>zA});var k={};e.r(k),e.d(k,{serial_any:()=>_L,serial_begin:()=>rL,serial_print:()=>eL,serial_print_byte:()=>ZA,serial_print_hex:()=>iL,serial_println:()=>tL,serial_read_from_ai:()=>OL,serial_readline:()=>oL,serial_readstr:()=>sL,serial_readstr_until:()=>pL,serial_receive_data_event:()=>nL,serial_send_to_ai:()=>EL,serial_softserial:()=>uL,serial_softserial_new:()=>aL,system_input:()=>lL,system_print:()=>dL,system_print_container:()=>hL,system_print_end:()=>TL,system_print_inline:()=>IL,system_print_item:()=>mL,system_print_many:()=>ML});var W={};e.r(W),e.d(W,{Panic_with_status_code:()=>CL,Timer_init:()=>xL,base_delay:()=>GL,controls_delay:()=>gL,controls_delay_new:()=>cL,controls_millis:()=>AL,controls_uname:()=>NL,raw_block:()=>LL,reset:()=>SL,set_system_timer:()=>YL,system_bitbot_shutdown:()=>bL,system_machine_reset:()=>yL,system_ticks_diff:()=>FL,system_timer:()=>fL,system_timer_init:()=>PL,system_wdt_feed:()=>XL,system_wdt_init:()=>vL,time_ticks_diff:()=>BL,timer:()=>DL,timer2:()=>VL});var K={};e.r(K),e.d(K,{Air_daily_content:()=>eN,Air_now_content:()=>JL,Geo_moon_content:()=>iN,Geo_sun_content:()=>tN,Life_suggestion_content:()=>zL,Location_search_content:()=>jL,Tide_daily_content:()=>qL,WEATHER_DAILY:()=>HL,WEATHER_HOUR:()=>kL,WEATHER_NOW:()=>wL,Weather_alarm_content:()=>QL,Weather_daily:()=>$L,Weather_daily_content:()=>ZL,Weather_now:()=>WL,Weather_now_content:()=>KL});var J={};e.r(J),e.d(J,{PIN_init:()=>sD,actuator_extern_get_led_bright:()=>SN,actuator_extern_get_led_state:()=>AN,actuator_extern_led_bright:()=>CN,actuator_extern_led_brightness:()=>LN,actuator_ms32006_dcmotor:()=>rN,actuator_ms32006_init:()=>uN,actuator_ms32006_stepper:()=>lN,actuator_neopixel_init:()=>NN,actuator_neopixel_rgb:()=>FN,actuator_neopixel_rgb_all:()=>DN,actuator_neopixel_rgb_show_all_chase:()=>PN,actuator_neopixel_rgb_show_all_rainbow:()=>YN,actuator_neopixel_write:()=>fN,actuator_use_uart_init:()=>vN,backstage_esp32_music_play_list:()=>RN,esp32_music_get_tempo_extern:()=>EN,esp32_music_pitch:()=>IN,esp32_music_pitch_init:()=>dN,esp32_music_pitch_with_time:()=>TN,esp32_music_play_list:()=>ON,esp32_music_reset_extern:()=>cN,esp32_music_set_tempo_extern:()=>mN,esp32_music_stop:()=>MN,esp32_set_music_volume:()=>hN,mixbot_actuator_extern_get_addr:()=>iD,mixbot_actuator_extern_set_addr:()=>nD,mixbot_addr_extern:()=>HN,parrot_PIN_init:()=>aD,parrot_move_speed:()=>uD,pin_led_bright:()=>_D,player_play_music:()=>VN,player_set_mode:()=>xN,player_set_play:()=>yN,player_set_volume:()=>bN,player_whether_stop:()=>XN,robot_led_extern:()=>JN,robot_led_extern_get_value:()=>QN,robot_motor_extern:()=>kN,robot_motor_extern_get_speed:()=>WN,robot_servo_extern_absolute_run:()=>$N,robot_servo_extern_get_status:()=>zN,robot_servo_extern_relative_continue:()=>tD,robot_servo_extern_relative_origin:()=>ZN,robot_servo_extern_relative_run:()=>eD,robot_servo_extern_stop:()=>jN,robot_servo_extern_stop_mode:()=>qN,robot_traffic_light_extern:()=>KN,servo_PIN_init:()=>oD,servo_get_angle:()=>pN,servo_get_speed:()=>aN,servo_init:()=>nN,servo_move:()=>gN,servo_move_angle:()=>pD,servo_set_angle:()=>_N,servo_set_speed:()=>oN,servo_speed_360:()=>sN,syn6288_builtin_voice:()=>UN,syn6288_get_voice:()=>GN,syn6288_set_voice:()=>BN,syn6288_tts_play:()=>wN});var Q={};e.r(Q),e.d(Q,{actuator_dc_motor:()=>VD,actuator_dc_motor_stop:()=>BD,actuator_get_led_bright:()=>cD,actuator_get_led_state:()=>gD,actuator_led_bright:()=>RD,actuator_led_brightness:()=>CD,actuator_mixbot_buzzer_on_off:()=>kD,actuator_mixgo_nova_mic_get:()=>zD,actuator_mixgo_nova_mic_set:()=>QD,actuator_mixgo_nova_onboard_music_pitch:()=>tf,actuator_mixgo_nova_onboard_music_stop:()=>nf,actuator_mixgo_nova_play_audio:()=>ZD,actuator_mixgo_nova_play_online_audio:()=>ef,actuator_mixgo_nova_record_audio:()=>$D,actuator_mixgo_nova_voice_get:()=>jD,actuator_mixgo_nova_voice_set:()=>qD,actuator_mixgo_zero_led_color:()=>SD,actuator_onboard_neopixel_rgb:()=>PD,actuator_onboard_neopixel_rgb_all:()=>YD,actuator_onboard_neopixel_rgb_show_all_chase:()=>vD,actuator_onboard_neopixel_rgb_show_all_rainbow:()=>XD,actuator_onboard_neopixel_write:()=>FD,actuator_stepper_keep:()=>bD,actuator_stepper_stop:()=>xD,analog_ble_keyboard_init:()=>Mf,analog_ble_keyboard_input:()=>Ef,analog_ble_keyboard_mouse_init:()=>Lf,analog_ble_keyboard_mouse_input:()=>Ff,analog_ble_keyboard_mouse_send_battery:()=>ff,analog_ble_keyboard_mouse_str:()=>Pf,analog_ble_keyboard_send_battery:()=>Rf,analog_ble_keyboard_str:()=>Of,analog_ble_mouse_init:()=>cf,analog_ble_mouse_input:()=>Sf,analog_ble_mouse_keyboard_input:()=>Yf,analog_ble_mouse_send_battery:()=>Af,analog_keyboard_input:()=>af,analog_keyboard_str:()=>If,analog_mouse_input:()=>lf,backstage_onboard_music_play_list:()=>hD,bitbot_motor:()=>JD,bitbot_move:()=>WD,bitbot_stop:()=>KD,ble_keyboard_connect:()=>mf,ble_keyboard_get_mac:()=>hf,ble_keyboard_mouse_connect:()=>Df,ble_keyboard_mouse_get_mac:()=>Nf,ble_mouse_connect:()=>Cf,ble_mouse_get_mac:()=>gf,cc_number:()=>AD,educore_ble_keyboard_input:()=>wf,educore_ble_sensor_connected:()=>Uf,educore_ble_sensor_init:()=>Gf,educore_buzzer:()=>vf,educore_buzzer_play_tone:()=>Xf,educore_buzzer_play_tone_time:()=>yf,educore_buzzer_stop:()=>bf,educore_neopixel_clear:()=>Bf,educore_neopixel_rgb:()=>Vf,educore_rgb_light:()=>xf,esp32_music_get_tempo:()=>lD,esp32_music_reset:()=>mD,esp32_music_set_tempo:()=>rD,esp32_onboard_music_pitch:()=>dD,esp32_onboard_music_pitch_with_time:()=>ID,esp32_onboard_music_play_list:()=>MD,esp32_onboard_music_stop:()=>TD,general_key:()=>rf,general_key_tuple:()=>Tf,get_keyboard_light:()=>Hf,get_power_output:()=>_f,ledswitch:()=>OD,mixbot_motor:()=>HD,mixbot_motor_status:()=>GD,mixbot_move:()=>UD,mixbot_stop:()=>wD,mouse_key:()=>df,number:()=>ED,record_audio:()=>Wf,rm_actuator_get_led_bright:()=>ND,rm_actuator_get_led_state:()=>DD,rm_actuator_led_bright:()=>LD,rm_actuator_led_brightness:()=>fD,rm_motor:()=>yD,set_all_power_output:()=>of,set_microphone_amplification:()=>kf,set_music_volume:()=>Kf,set_part_power_output:()=>pf,set_power_output:()=>sf,special_key:()=>uf});var z={};e.r(z),e.d(z,{ai_sensor_20object:()=>AF,ai_sensor_ailocal_class:()=>TF,ai_sensor_ailocal_class_result:()=>MF,ai_sensor_ailocal_train:()=>IF,ai_sensor_asr_recognize:()=>RF,ai_sensor_audio_play:()=>mF,ai_sensor_audio_record:()=>hF,ai_sensor_barcode:()=>Zf,ai_sensor_circle:()=>_F,ai_sensor_classifier_faces:()=>SF,ai_sensor_color:()=>uF,ai_sensor_color_chases:()=>dF,ai_sensor_color_chases_result:()=>lF,ai_sensor_config:()=>zf,ai_sensor_face:()=>CF,ai_sensor_find_20objects:()=>LF,ai_sensor_find_barcodes:()=>eF,ai_sensor_find_circles:()=>oF,ai_sensor_find_colors:()=>rF,ai_sensor_find_licenseplates:()=>gF,ai_sensor_find_lines:()=>sF,ai_sensor_find_qrcodes:()=>$f,ai_sensor_find_rects:()=>aF,ai_sensor_find_tags:()=>iF,ai_sensor_licenseplate:()=>cF,ai_sensor_line:()=>nF,ai_sensor_qrcode:()=>jf,ai_sensor_qrcode_lite:()=>Qf,ai_sensor_rect:()=>pF,ai_sensor_rgb:()=>qf,ai_sensor_tag:()=>tF,ai_sensor_use_uart_init:()=>Jf,ai_sensor_yolo_recognize:()=>EF,ai_sensor_yolo_recognize_result:()=>OF});var q={};e.r(q),e.d(q,{AI_CAMERA_INIT:()=>ZF,AI_CAMERA_INIT_FACERECOGNIZE:()=>iP,AI_CAMERA_INIT_SIMPLE:()=>DP,AI_STOP_ACQUISITION:()=>AP,CAMERA_LOOGOUT:()=>wF,CI130X_BROADCAST_SANT:()=>vF,CI130X_BROADCAST_SYSTEM_TIME:()=>yF,CI130X_GET_THE_RECOGNIZED_CMD_SANT:()=>YF,CI130X_GET_WHETHER_IDENTIFY_SANT:()=>PF,CI130X_IDENTIFY_AND_SAVE_SANT:()=>FF,CI130X_OPEN_AND_CLOSE:()=>fF,CI130X_PLAY_SYSTEM_CMD_SANT:()=>bF,CI130X_SET_SYSTEM_CMD_SANT:()=>XF,CONVERT_IMAGE_TO_JPG:()=>WF,CREATE_CAMERA:()=>xF,CREATE_CAMERA_SIMPLE:()=>NP,DELETE_FACE_ALL:()=>MP,DELETE_FACE_FROM_DATABASE:()=>TP,GET_CAT_FACE_DETECTION_NUM:()=>RP,GET_COLOR_DETECTION_NUM:()=>OP,GET_FACE_DETECTION_NAME:()=>CP,GET_FACE_DETECTION_NUM:()=>gP,GET_HOW_MUCH_RECOGNITION:()=>oP,GET_HUMAN_DETECTION_NUM:()=>cP,GET_IMAGE_AND_SAVE:()=>BF,GET_IMAGE_FROM_NET:()=>UF,GET_NO_CAT_OR_FACE_RECOGNITION:()=>rP,GET_NO_FACE_RECOGNITION_INFO:()=>SP,GET_NO_RECOGNITION:()=>pP,GET_NO_XY_RECOGNITION:()=>aP,GET_NO_XY_RECOGNITION_FACE:()=>uP,GET_PICTURE_DATA_EXACT:()=>HF,GET_PICTURE_DATA_WHS:()=>KF,GET_PICTURE_RECOGNITION_DATA:()=>EP,GET_PICTURE_WIDTH_HEIGHT_DEVICE:()=>kF,GET_QR_CODE_RECOGNITION_DATA:()=>mP,GET_SCREEN_IMAGE:()=>jF,GET_SCREEN_IMAGE_SIZE:()=>$F,MIXIO_REPORT_IMAGE_DATA:()=>LP,MODEL_INIT_HEIGHT:()=>tP,MODEL_INIT_WIDTH:()=>eP,MODEL_LOGOUT:()=>nP,MODEL_RUN:()=>sP,MODEL_WHETHER_RUN_SUCCEED:()=>_P,OPEN_IMAGE:()=>GF,PRINT_FACE_DATABASE:()=>hP,REGISTER_NEW_FACE:()=>IP,REGISTER_NEW_FACE_SIMPLE:()=>FP,Register_color_recognition:()=>dP,Register_color_recognition_fixed:()=>lP,Register_color_recognition_fixed_SIMPLE:()=>fP,SCREEN_DISPLAY_IMAGE:()=>zF,SCREEN_DISPLAY_IMAGE_LOCATION:()=>qF,SCREEN_SHOW_CAM_GRAPH_SHOOT:()=>JF,SCREEN_SHOW_CAM_GRAPH_SHOOT_LOCATION:()=>QF,SHOOT_AND_SAVE_PICTURE:()=>VF,VOICE_RECOGNITION_CONTROL:()=>DF,yesorno:()=>NF});var j={};e.r(j),e.d(j,{MICROPYTHON_AI_Speech_asr:()=>vP,MICROPYTHON_AI_Speech_unit:()=>YP,MICROPYTHON_AI_client:()=>PP});var $={};e.r($),e.d($,{mpython_blynk_app_data:()=>WP,mpython_blynk_app_notify:()=>GP,mpython_blynk_email:()=>KP,mpython_blynk_get_timers:()=>wP,mpython_blynk_on_connected:()=>xP,mpython_blynk_on_disconnected:()=>bP,mpython_blynk_run:()=>BP,mpython_blynk_sensor_data_to_app:()=>kP,mpython_blynk_set_property:()=>JP,mpython_blynk_setup:()=>QP,mpython_blynk_stop_timers:()=>UP,mpython_blynk_sync_virtual:()=>yP,mpython_blynk_terminal_widget_vpin:()=>XP,mpython_blynktimer:()=>HP,mpython_blynktimer_run:()=>VP});var Z={};e.r(Z),e.d(Z,{communicate_bluetooth_central_init:()=>fY,communicate_bluetooth_connect:()=>YY,communicate_bluetooth_disconnect:()=>vY,communicate_bluetooth_handle:()=>BY,communicate_bluetooth_is_connected:()=>yY,communicate_bluetooth_mac:()=>XY,communicate_bluetooth_peripheral_init:()=>FY,communicate_bluetooth_recv:()=>VY,communicate_bluetooth_recv_only:()=>xY,communicate_bluetooth_scan:()=>PY,communicate_bluetooth_send:()=>bY,communicate_espnow_init:()=>GY,communicate_espnow_init_new:()=>UY,communicate_i2c_available:()=>iY,communicate_i2c_init:()=>jP,communicate_i2c_master_read:()=>tY,communicate_i2c_onboard:()=>zP,communicate_i2c_read:()=>$P,communicate_i2c_scan:()=>eY,communicate_i2c_write:()=>ZP,communicate_ir_recv_init:()=>OY,communicate_ir_send_init:()=>SY,communicate_ow_init:()=>IY,communicate_ow_read:()=>hY,communicate_ow_reset:()=>MY,communicate_ow_scan:()=>TY,communicate_ow_select:()=>EY,communicate_ow_write:()=>mY,communicate_spi_buffer:()=>oY,communicate_spi_init:()=>sY,communicate_spi_onboard:()=>qP,communicate_spi_read:()=>pY,communicate_spi_read_output:()=>aY,communicate_spi_readinto:()=>uY,communicate_spi_readinto_output:()=>rY,communicate_spi_set:()=>_Y,communicate_spi_write:()=>lY,communicate_spi_write_readinto:()=>dY,espnow_radio_channel:()=>JY,espnow_radio_channel_new:()=>zY,espnow_radio_on_off:()=>qY,espnow_radio_rec:()=>$Y,espnow_radio_recv:()=>ev,espnow_radio_recv_certain_msg:()=>tv,espnow_radio_recv_certain_msg_new:()=>nv,espnow_radio_recv_msg:()=>ZY,espnow_radio_recv_new:()=>iv,espnow_radio_send:()=>jY,espnow_radio_txpower:()=>QY,i2c_slave_onreceive:()=>nY,internal_variable:()=>RY,ir_recv_timeout:()=>CY,ir_transmit_busy:()=>DY,ir_transmit_conventional_data:()=>AY,ir_transmit_raw_code:()=>NY,ir_transmit_study_code:()=>LY,ir_whether_recv:()=>gY,lora_init:()=>sv,lora_packet:()=>_v,lora_recv:()=>pv,lora_send:()=>ov,network_espnow_info:()=>HY,network_espnow_mac:()=>wY,network_espnow_recv:()=>kY,network_espnow_recv_handle:()=>KY,network_espnow_send:()=>WY,recv_fun:()=>cY,urequests_attribute:()=>uv,urequests_get:()=>av,urequests_method:()=>rv});var ee={};e.r(ee),e.d(ee,{display_animate:()=>yv,display_circle:()=>bv,display_color_seclet:()=>Jv,display_draw_4strings:()=>Dv,display_fill:()=>Xv,display_lcd_use_i2c_init:()=>Zv,display_line:()=>Pv,display_line_arbitrarily:()=>fv,display_matrix_extern_bright_point:()=>cv,display_matrix_extern_bright_screen:()=>Cv,display_matrix_extern_clear:()=>Ev,display_matrix_extern_get_pixel:()=>Rv,display_matrix_extern_get_screen_pixel:()=>gv,display_matrix_extern_image_builtins:()=>Sv,display_matrix_extern_scroll_string:()=>hv,display_matrix_extern_scroll_string_delay:()=>mv,display_matrix_extern_shift:()=>Ov,display_matrix_extern_show_frame_string:()=>Tv,display_matrix_extern_show_frame_string_delay:()=>Mv,display_matrix_extern_show_image:()=>dv,display_matrix_extern_show_image_or_string_delay:()=>Iv,display_matrix_use_i2c_init:()=>lv,display_oled_drawPixel:()=>Bv,display_oled_showBitmap:()=>Vv,display_oled_use_i2c_init:()=>sX,display_onoff:()=>Yv,display_rect:()=>Fv,display_tm1650_power:()=>Uv,display_tm1650_set_brightness:()=>kv,display_tm1650_show_dot:()=>Hv,display_tm1650_show_num:()=>wv,display_tm_use_i2c_init:()=>Gv,display_triangle:()=>xv,display_use_i2c_init:()=>Nv,extern_oled_bright_point:()=>hX,extern_oled_clear:()=>IX,extern_oled_get_pixel:()=>MX,extern_oled_hvline:()=>EX,extern_oled_line:()=>OX,extern_oled_scroll_string:()=>lX,extern_oled_scroll_string_delay:()=>dX,extern_oled_shape_rect:()=>mX,extern_oled_shift:()=>TX,extern_oled_show_frame_string:()=>uX,extern_oled_show_frame_string_delay:()=>rX,extern_oled_show_image:()=>_X,extern_oled_show_image_or_string_delay:()=>aX,extern_oled_show_image_xy:()=>oX,extern_oled_show_string:()=>pX,image_shift:()=>vv,lcd_backlight:()=>iX,lcd_clear:()=>nX,lcd_print_string:()=>tX,lcd_show_image_or_string_delay:()=>eX,matrix_extern_image_arithmetic:()=>Av,matrix_extern_image_invert:()=>Lv,tft_fill:()=>jv,tft_line_arbitrarily:()=>$v,tft_scroll_string_delay:()=>qv,tft_show_frame_string_delay:()=>zv,tft_show_image_or_string_delay:()=>Qv,tft_show_image_xy:()=>Kv,tft_use_spi_init:()=>Wv});var te={};e.r(te),e.d(te,{bitbot_display_bitmap_create:()=>dy,bitbot_display_image_create:()=>ly,display_available:()=>vX,display_bitmap_create:()=>PX,display_bright_point:()=>VX,display_bright_screen:()=>GX,display_clear:()=>YX,display_get_pixel:()=>xX,display_get_screen_pixel:()=>BX,display_image_builtins:()=>DX,display_image_builtins_all:()=>fX,display_image_create:()=>FX,display_scroll_string:()=>SX,display_scroll_string_delay:()=>AX,display_scroll_way:()=>LX,display_shift:()=>bX,display_show_frame_string:()=>gX,display_show_frame_string_delay:()=>CX,display_show_image:()=>RX,display_show_image_or_string_delay:()=>cX,draw_pointer:()=>fy,image_arithmetic:()=>XX,image_invert:()=>yX,mixbot_display_bitmap_create:()=>oy,mixbot_display_bright_screen:()=>uy,mixbot_display_get_ambientbright:()=>ay,mixbot_display_get_screen_pixel:()=>py,mixbot_display_image_create:()=>_y,mixbot_display_rotate:()=>ry,mixgo_display_bitmap_create:()=>JX,mixgo_display_image_create_new:()=>KX,mixgome_display_bitmap_create:()=>wX,mixgome_display_font:()=>WX,mixgome_display_image_create:()=>UX,mixgomini_display_bitmap_create:()=>kX,mixgomini_display_image_create:()=>HX,mpython_display_hvline:()=>ny,mpython_display_line:()=>sy,mpython_display_shape_rect:()=>iy,mpython_pbm_image:()=>QX,nova_draw_pointer:()=>Fy,onboard_oled_bright_point:()=>ty,onboard_oled_scroll_string_delay:()=>ey,onboard_oled_show_frame_string_delay:()=>ZX,onboard_oled_show_image:()=>zX,onboard_oled_show_image_or_string_delay:()=>$X,onboard_oled_show_image_xy:()=>qX,onboard_oled_show_string:()=>jX,onboard_tft_bright_point:()=>cy,onboard_tft_bright_screen:()=>Vy,onboard_tft_clear:()=>By,onboard_tft_clock_clear:()=>Ny,onboard_tft_clock_draw:()=>Ly,onboard_tft_clock_get_rtctime:()=>Sy,onboard_tft_clock_init:()=>Cy,onboard_tft_clock_set_time:()=>Ay,onboard_tft_display_hvline:()=>Ey,onboard_tft_display_line:()=>Oy,onboard_tft_display_shape_circle:()=>Dy,onboard_tft_display_shape_rect:()=>my,onboard_tft_fill:()=>gy,onboard_tft_get_pixel:()=>Ry,onboard_tft_get_screen_pixel:()=>xy,onboard_tft_scroll_string_delay:()=>NX,onboard_tft_shift:()=>by,onboard_tft_show_frame_string:()=>yy,onboard_tft_show_frame_string_delay:()=>hy,onboard_tft_show_image:()=>Xy,onboard_tft_show_image_or_string_delay:()=>My,onboard_tft_show_image_xy:()=>Iy,onboard_tft_show_image_xy_direct:()=>Ty,onboard_tft_show_qrcode:()=>Yy,onboard_tft_show_qrcode_details:()=>vy,onboard_tft_show_texts:()=>Py});var ie={};e.r(ie),e.d(ie,{factory_block:()=>Jy,factory_block_return:()=>Qy,factory_block_return_with_textarea:()=>qy,factory_block_with_textarea:()=>zy,factory_callMethod_noreturn:()=>Wy,factory_callMethod_return:()=>Ky,factory_declare:()=>ky,factory_from_import:()=>Gy,factory_function_noreturn:()=>wy,factory_function_return:()=>Hy,factory_import:()=>Uy,folding_block:()=>jy});var ne={};e.r(ne),e.d(ne,{inout_analog_atten:()=>db,inout_analog_read:()=>_b,inout_analog_read_init:()=>lb,inout_analog_write:()=>ib,inout_analog_write_init:()=>rb,inout_analog_write_set:()=>nb,inout_digital_init:()=>ab,inout_digital_read:()=>eb,inout_digital_write:()=>Zy,inout_highlow:()=>$y,inout_pin_attachInterrupt:()=>pb,inout_pin_pressed:()=>ob,inout_pin_pressed_init:()=>Ib,inout_pwm_analog_write:()=>tb,inout_pwm_analog_write_init:()=>ub,inout_pwm_analog_write_set_freq:()=>sb});var se={};e.r(se),e.d(se,{IOT_CONNECT_OLLAMA:()=>wb,IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>vb,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>Pb,IOT_EMQX_PING:()=>Xb,IOT_FORMATTING:()=>fb,IOT_FORMAT_STRING:()=>Fb,IOT_MIXIO_NTP:()=>yb,IOT_MIXIO_PUBLISH:()=>cb,IOT_MIXIO_PUBLISHEX:()=>gb,IOT_MIXIO_SUBSCRIBE:()=>Cb,iot_client_onboard:()=>bb,iot_connect_ollama:()=>Ub,iot_connect_openai:()=>Hb,iot_http_client:()=>xb,iot_http_data:()=>Vb,iot_mixio_check:()=>Lb,iot_mixio_connect:()=>Rb,iot_mixio_connect_only:()=>Ab,iot_mixio_disconnect:()=>Sb,iot_mixio_format_msg:()=>Db,iot_mixio_format_topic:()=>Nb,iot_mixly_key:()=>Yb,iot_mqtt_client:()=>Bb,iot_mqtt_data:()=>Gb,iot_onenet_check:()=>Eb,iot_onenet_connect:()=>Mb,iot_onenet_disconnect:()=>hb,iot_onenet_publish:()=>Ob,iot_onenet_publish_dict:()=>mb,iot_tiny_web_db_count:()=>jb,iot_tiny_web_db_delete:()=>Zb,iot_tiny_web_db_get:()=>qb,iot_tiny_web_db_init:()=>Jb,iot_tiny_web_db_init_with_mqtt:()=>Qb,iot_tiny_web_db_search:()=>$b,iot_tiny_web_db_update:()=>zb,iot_wifi_connect:()=>Tb,ollama_empty_history:()=>Kb,use_ollama_llm_to_chat:()=>kb,use_ollama_llm_to_chat_return:()=>Wb});var _e={};e.r(_e),e.d(_e,{educore_mqtt_connect:()=>Px,educore_mqtt_connect_success:()=>yx,educore_mqtt_subscribe_message:()=>Yx,educore_mqtt_topic_publish:()=>Xx,educore_mqtt_topic_subscribe:()=>vx,educore_wifi_connect:()=>Fx,network_ap_connect:()=>ax,network_connect:()=>tx,network_get_connect:()=>nx,network_get_wifi:()=>px,network_init:()=>ex,network_is_active:()=>ox,network_open:()=>_x,network_scan:()=>ux,network_server:()=>rx,network_socket_accept:()=>Mx,network_socket_bind:()=>dx,network_socket_close:()=>cx,network_socket_connect:()=>Ix,network_socket_init:()=>lx,network_socket_listen:()=>Tx,network_socket_readline:()=>hx,network_socket_receive:()=>mx,network_socket_receive_from:()=>Ox,network_socket_send:()=>Ex,network_socket_send_to:()=>Rx,network_stop:()=>sx,network_wifi_connect:()=>ix,ntptime_address:()=>Lx,ntptime_time:()=>Ax,requests_attribute:()=>Cx,requests_attribute2:()=>Dx,requests_get:()=>gx,requests_get2:()=>Nx,requests_method:()=>Sx,requests_post:()=>fx});var oe={};e.r(oe),e.d(oe,{get_potential_num:()=>bx,nova_g1_motor:()=>xx,nova_g1_spk_en:()=>Bx,nova_g1_usb:()=>Vx});var pe={};e.r(pe),e.d(pe,{pe_g1_battery_left:()=>Ux,pe_g1_dc_motor:()=>wx,pe_g1_dc_motor_speed:()=>Hx,pe_g1_servo_get_angle:()=>Kx,pe_g1_servo_get_speed:()=>Jx,pe_g1_servo_set_angle:()=>kx,pe_g1_servo_set_speed:()=>Wx,pe_g1_use_i2c_init:()=>Gx});var ae={};e.r(ae),e.d(ae,{CI130X_BROADCAST:()=>hV,CI130X_GET_THE_RECOGNIZED_CMD:()=>MV,CI130X_GET_WHETHER_IDENTIFY:()=>TV,CI130X_IDENTIFY_AND_SAVE:()=>IV,CI130X_SET_SYSTEM_CMD:()=>mV,HCSR04:()=>zV,PS2_Button:()=>$V,PS2_Buttons:()=>ZV,PS2_Buttons_new:()=>pB,PS2_State:()=>eB,PS2_init:()=>qV,PS2_init_new:()=>_B,PS2_stk:()=>tB,PS2_stk_new:()=>aB,PS2_vibration:()=>jV,PS2_vibration_new:()=>oB,RTC_get_time:()=>nB,RTC_set_date:()=>tV,RTC_set_datetime:()=>iB,RTC_set_time:()=>eV,camera_sensor_init:()=>BB,camera_sensor_result:()=>GB,column_tube_foot:()=>kB,define_keyboards:()=>WB,educore_body_sensor:()=>fB,educore_button_sensor_extern:()=>vB,educore_camera_sensor:()=>VB,educore_infrared_sensor:()=>YB,educore_soilhum_sensor:()=>FB,educore_temp_sensor:()=>xB,educore_temphum_sensor:()=>PB,educore_ultrasonic_sensor:()=>yB,esp32_s2_weather_init:()=>WV,esp32_s2_weather_rain:()=>JV,esp32_s2_weather_wd:()=>KV,esp32_s2_weather_ws:()=>QV,extern_rfid_read:()=>vV,extern_rfid_readcontent:()=>yV,extern_rfid_readid:()=>XV,extern_rfid_status:()=>VV,extern_rfid_write:()=>bV,extern_rfid_write_return:()=>xV,get_keboards_value:()=>JB,gnss_get_data:()=>lB,gnss_have_data:()=>dB,init_init_rotary_encoder:()=>QB,init_matrix_keyboard:()=>KB,interaction_whether_to_interaction:()=>lV,interaction_whether_to_interaction_SANT:()=>dV,line_tube_foot:()=>HB,mixbot_sensor_extern_get_addr:()=>gB,mixbot_sensor_extern_set_addr:()=>CB,pm25_get_data:()=>rB,radar_set_DETECTION_THRESHOLD:()=>uV,radar_set_DETECTION_THRESHOLD_SANT:()=>rV,robot_button_extern_get_value:()=>TB,robot_color_extern_get_value:()=>OB,robot_infrared_extern_get_value:()=>hB,robot_infrared_extern_grey_get_value:()=>mB,robot_potentiometer_extern_get_value:()=>EB,robot_sonar_extern_get_value:()=>RB,robot_sonar_extern_led:()=>cB,robot_touch_extern_get_value:()=>MB,rotary_key:()=>zB,sensor_APDS9960_extern:()=>OV,sensor_DS18X20:()=>DB,sensor_LTR308_extern:()=>RV,sensor_LTR390UV_extern:()=>NV,sensor_MAX30102_extern:()=>EV,sensor_QMC5883L_extern:()=>DV,sensor_VL530LX_extern:()=>PV,sensor_aht11_extern:()=>FV,sensor_bmp:()=>oV,sensor_dht11:()=>sB,sensor_distance_hrsc04:()=>Zx,sensor_hp203_extern:()=>cV,sensor_ltr381_extern:()=>AV,sensor_mixgo_extern_button_attachInterrupt:()=>jx,sensor_mixgo_extern_button_get_presses:()=>qx,sensor_mixgo_extern_button_is_pressed:()=>Qx,sensor_mixgo_extern_button_was_pressed:()=>zx,sensor_mixgo_extern_light:()=>iV,sensor_mixgo_extern_pin_near:()=>sV,sensor_mixgo_extern_sound:()=>nV,sensor_mixgoce_hot_wheel_degrees:()=>kV,sensor_mixgoce_hot_wheel_is_touched:()=>HV,sensor_mpu9250_attachGestureInterrupt:()=>$x,sensor_ms5611_extern:()=>CV,sensor_ms5611_extern_altitude:()=>SV,sensor_read_humiture:()=>XB,sensor_rtc_init:()=>_V,sensor_sht:()=>pV,sensor_shtc3_extern:()=>fV,sensor_spl06_001_extern:()=>gV,sensor_ucs12071_extern:()=>LV,sensor_use_i2c_init:()=>aV,sensor_use_spi_init:()=>YV,sensor_use_uart_init:()=>uB,sensor_weather_solo_init:()=>SB,sensor_weather_solo_rain:()=>NB,sensor_weather_solo_wd:()=>AB,sensor_weather_solo_ws:()=>LB,sensor_weigh_init:()=>UB,tvoc_get_data:()=>IB,ultrasonic_sensor_read_distance:()=>bB,weather_data:()=>BV,weather_have_data:()=>GV,weather_set_label:()=>wV,weather_uart_mixio:()=>UV,weigh_sensor_get_weight:()=>wB});var ue={};e.r(ue),e.d(ue,{HCSR04:()=>sG,bitbot_als_num:()=>LU,dht11:()=>XU,educore_button_sensor:()=>UU,educore_button_was_pressed:()=>wU,educore_gyroscope_sensor:()=>VU,educore_gyroscope_sensor_read:()=>BU,educore_gyroscope_sensor_shake:()=>GU,educore_light_sensor:()=>xU,educore_rfid_sensor:()=>HU,educore_rfid_sensor_scan:()=>kU,educore_rfid_sensor_scan_data:()=>WU,educore_voice_sensor:()=>yU,number1:()=>_G,number2:()=>oG,number3:()=>pG,number4:()=>aG,number5:()=>uG,number6:()=>rG,number7:()=>lG,onboard_RTC_get_time:()=>iU,onboard_RTC_get_time_str:()=>_U,onboard_RTC_get_timestamp:()=>nU,onboard_RTC_get_timetuple_to_str:()=>oU,onboard_RTC_set_datetime:()=>eU,onboard_RTC_settime_string:()=>tU,onboard_RTC_timestamp_totuple:()=>sU,rfid_readcontent:()=>NG,rfid_readid:()=>LG,rfid_status:()=>FG,rfid_write:()=>DG,rfid_write_return:()=>fG,sensor_LTR308:()=>cG,sensor_adxl345_get_acceleration:()=>BG,sensor_aht11:()=>SG,sensor_bitbot_ALS:()=>AU,sensor_button_get_presses:()=>fU,sensor_button_is_pressed:()=>NU,sensor_button_was_pressed:()=>DU,sensor_compass_reset:()=>WG,sensor_ds18x20:()=>OG,sensor_eulerangles:()=>YG,sensor_get_acceleration:()=>PG,sensor_get_temperature:()=>AG,sensor_get_the_coprocessor_version:()=>KU,sensor_hp203:()=>CG,sensor_light:()=>vU,sensor_lm35:()=>RG,sensor_mixbot_get_gyro:()=>SU,sensor_mixbot_patrol_calibrate:()=>cU,sensor_mixbot_patrol_value:()=>gU,sensor_mixbot_temperature:()=>CU,sensor_mixgo_LTR308:()=>hG,sensor_mixgo_button_attachInterrupt:()=>ZB,sensor_mixgo_button_get_presses:()=>$B,sensor_mixgo_button_is_pressed:()=>qB,sensor_mixgo_button_was_pressed:()=>jB,sensor_mixgo_cc_mmc5603_calibrate_compass:()=>uU,sensor_mixgo_cc_mmc5603_get_angle:()=>aU,sensor_mixgo_cc_mmc5603_get_magnetic:()=>pU,sensor_mixgo_light:()=>YU,sensor_mixgo_nova_LTR308:()=>EG,sensor_mixgo_nova_pin_near:()=>MG,sensor_mixgo_pin_near:()=>TG,sensor_mixgo_pin_near_double:()=>IG,sensor_mixgo_pin_near_single:()=>dG,sensor_mixgo_pin_pressed:()=>xG,sensor_mixgo_sant_color:()=>mG,sensor_mixgo_touch_slide:()=>bG,sensor_mixgocar42_button_attachInterrupt:()=>nG,sensor_mixgocar42_button_get_presses:()=>iG,sensor_mixgocar42_button_is_pressed:()=>eG,sensor_mixgocar42_button_was_pressed:()=>tG,sensor_mixgocar_battery_left:()=>RU,sensor_mixgocar_pin_near:()=>EU,sensor_mixgocar_pin_near_line:()=>mU,sensor_mixgocar_pin_near_state_change:()=>OU,sensor_mixgoce_pin_pressed:()=>yG,sensor_mixgoce_temperature:()=>lU,sensor_mixgome_temperature:()=>rU,sensor_mpu9250_calibrate_compass:()=>wG,sensor_mpu9250_field_strength:()=>kG,sensor_mpu9250_gesture:()=>vG,sensor_mpu9250_get_acceleration:()=>XG,sensor_mpu9250_get_gyro:()=>UG,sensor_mpu9250_get_magnetic:()=>GG,sensor_mpu9250_temperature:()=>HG,sensor_mpython_pin_pressed:()=>VG,sensor_mpython_qmi8658_get_gyro:()=>dU,sensor_mpython_qmi8658_temperature:()=>IU,sensor_onboard_compass_reset:()=>ZG,sensor_onboard_mpu9250_calibrate_compass:()=>qG,sensor_onboard_mpu9250_field_strength:()=>$G,sensor_onboard_mpu9250_gesture:()=>KG,sensor_onboard_mpu9250_get_acceleration:()=>JG,sensor_onboard_mpu9250_get_gyro:()=>zG,sensor_onboard_mpu9250_get_magnetic:()=>QG,sensor_onboard_mpu9250_temperature:()=>jG,sensor_pin_near:()=>PU,sensor_pin_pressed:()=>FU,sensor_read:()=>bU,sensor_rm_acc:()=>hU,sensor_rm_battery_left:()=>MU,sensor_rm_pin_near_double:()=>TU,sensor_sound:()=>gG,simulated_light_sensor:()=>JU});var re={};e.r(re),e.d(re,{serial_any:()=>$U,serial_print:()=>QU,serial_print_byte:()=>zU,serial_print_hex:()=>jU,serial_println:()=>qU,serial_read_from_ai:()=>uw,serial_readline:()=>ew,serial_readstr:()=>ZU,serial_send_to_ai:()=>aw,serial_softserial:()=>tw,serial_softserial_new:()=>iw,system_input:()=>nw,system_print:()=>sw,system_print_end:()=>ow,system_print_inline:()=>_w,system_print_many:()=>pw});var le={};e.r(le),e.d(le,{Panic_with_status_code:()=>cw,Timer_init:()=>xw,base_delay:()=>Gw,controls_delay:()=>Lw,controls_delay_new:()=>Nw,controls_end_program:()=>Cw,controls_millis:()=>gw,controls_uname:()=>Aw,reset:()=>Sw,set_system_timer:()=>fw,system_bitbot_shutdown:()=>bw,system_device_name:()=>Ow,system_device_serial_number:()=>Rw,system_event_bus_source:()=>mw,system_event_bus_value:()=>Ew,system_machine_reset:()=>yw,system_on_event:()=>Tw,system_raise_event:()=>Iw,system_reset:()=>lw,system_run_in_background:()=>rw,system_ticks_diff:()=>Fw,system_timer:()=>Yw,system_timer_init:()=>Pw,system_timestamp:()=>Mw,system_value:()=>hw,system_wait:()=>dw,system_wdt_feed:()=>Xw,system_wdt_init:()=>vw,time_ticks_diff:()=>Bw,timer:()=>Dw,timer2:()=>Vw});var de={};e.r(de),e.d(de,{Air_daily_content:()=>Zw,Air_now_content:()=>Kw,Geo_moon_content:()=>tH,Geo_sun_content:()=>eH,Life_suggestion_content:()=>Qw,Location_search_content:()=>qw,Tide_daily_content:()=>zw,WEATHER_DAILY:()=>ww,WEATHER_HOUR:()=>Hw,WEATHER_NOW:()=>Uw,Weather_alarm_content:()=>Jw,Weather_daily:()=>jw,Weather_daily_content:()=>$w,Weather_now:()=>kw,Weather_now_content:()=>Ww});var Ie={};e.r(Ie),e.d(Ie,{MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED:()=>sH});var Te={};e.r(Te),e.d(Te,{MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED:()=>oH});var Me={};e.r(Me),e.d(Me,{MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED:()=>aH});var he={};e.r(he),e.d(he,{controls_pin_attachInterrupt:()=>DH,inout_analog_atten:()=>EH,inout_analog_write:()=>hH,inout_analog_write_init:()=>gH,inout_analog_write_set:()=>mH,inout_analog_write_set_freq:()=>SH,inout_digital_init:()=>cH,inout_digital_read:()=>MH,inout_digital_write:()=>TH,inout_highlow:()=>IH,inout_pinMode:()=>AH,inout_pin_attachInterrupt:()=>RH,inout_pin_pressed:()=>OH,inout_pin_pressed_init:()=>CH,pin_pressed:()=>NH,pin_pressed_init:()=>LH});var me={};e.r(me),e.d(me,{analog_input:()=>xH,analog_output:()=>BH,espnow_channel:()=>XH,haskylens_model:()=>yH,i2c_A_pin:()=>GH,i2c_B_pin:()=>UH,pins_analog:()=>KH,pins_analog_pin:()=>JH,pins_axis:()=>rk,pins_brightness:()=>lk,pins_builtinimg:()=>nk,pins_builtinimg_extern:()=>sk,pins_button:()=>qH,pins_buttonB:()=>jH,pins_dac:()=>QH,pins_dac_pin:()=>zH,pins_digital:()=>FH,pins_digital_dot:()=>Ok,pins_digital_pin:()=>PH,pins_exlcdh:()=>ak,pins_exlcdv:()=>uk,pins_imglist:()=>_k,pins_input_pin:()=>YH,pins_one_more:()=>Ek,pins_output_pin:()=>vH,pins_playlist:()=>ok,pins_playlist_extern:()=>pk,pins_pwm:()=>$H,pins_pwm_pin:()=>ZH,pins_radio_datarate:()=>mk,pins_radio_power:()=>hk,pins_serial:()=>ik,pins_tone_notes:()=>Mk,pins_touch:()=>tk,pins_touch_pin:()=>ek,pins_tts_bgmusic:()=>Tk,pins_tts_builtin_music:()=>Ik,pins_tts_voice:()=>dk,pwm_input:()=>bH,pwm_output:()=>VH,spi_A_pin:()=>wH,spi_B_pin:()=>HH,spi_C_pin:()=>kH,spi_D_pin:()=>WH,timer_id_pin:()=>Rk});var Ee={};e.r(Ee),e.d(Ee,{inout_analog_atten:()=>Fk,inout_analog_write:()=>Sk,inout_analog_write_init:()=>fk,inout_analog_write_set:()=>Ak,inout_digital_init:()=>Dk,inout_digital_read:()=>Ck,inout_digital_write:()=>gk,inout_highlow:()=>ck,inout_pin_attachInterrupt:()=>Nk,inout_pin_pressed:()=>Lk,inout_pin_pressed_init:()=>Pk});var Oe={};e.r(Oe),e.d(Oe,{analog_input:()=>Uk,analog_output:()=>Hk,espnow_channel:()=>Bk,haskylens_model:()=>Gk,i2c_A_pin:()=>kk,i2c_B_pin:()=>Wk,pins_analog:()=>jk,pins_analog_pin:()=>qk,pins_axis:()=>rW,pins_brightness:()=>IW,pins_builtinimg:()=>CW,pins_builtinimg_extern:()=>oW,pins_button:()=>vk,pins_buttonB:()=>Xk,pins_dac:()=>tW,pins_dac_pin:()=>eW,pins_digital:()=>Yk,pins_digital_dot:()=>cW,pins_digital_pin:()=>yk,pins_exlcdh:()=>lW,pins_exlcdv:()=>dW,pins_imglist:()=>pW,pins_input_pin:()=>bk,pins_interrupt:()=>sW,pins_one_more:()=>RW,pins_output_pin:()=>xk,pins_playlist:()=>aW,pins_playlist_extern:()=>uW,pins_pwm:()=>Zk,pins_pwm_input:()=>Vk,pins_pwm_pin:()=>$k,pins_radio_datarate:()=>OW,pins_radio_power:()=>EW,pins_serial:()=>_W,pins_tone_notes:()=>mW,pins_touch:()=>nW,pins_touch_pin:()=>iW,pins_tts_bgmusic:()=>hW,pins_tts_builtin_music:()=>MW,pins_tts_voice:()=>TW,pwm_output:()=>wk,spi_A_pin:()=>Kk,spi_B_pin:()=>Jk,spi_C_pin:()=>Qk,spi_D_pin:()=>zk,timer_id_pin:()=>gW});const Re=Blockly,ce=Mixly,ge={NAME_TYPE:"VARIABLE",allVariables:function(e){var t;if(e.getDescendants)t=e.getDescendants();else{if(!e.getAllBlocks)throw"Not Block or Workspace: "+e;t=e.getAllBlocks()}for(var i=Object.create(null),n=0;n1&&(o+=n)):i=o}else i="i";return i}},Ce=ge; +/** + * @license + * Visual Blocks Editor + * + * Copyright 2012 Google Inc. + * https://developers.google.com/blockly/ + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +class Se{constructor(e,t){if(this.variablePrefix_=t||"",this.reservedDict_=Object.create(null),e)for(var i=e.split(","),n=0;n0;s--)t.getInputTargetBlock("IF"+s)&&t.getInputTargetBlock("IF"+s).previousConnection?i[s]=t.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),t.getInputTargetBlock("DO"+s)&&t.getInputTargetBlock("DO"+s).previousConnection?n[s]=t.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(e.getAttribute("elseif"),10),this.elseCount_=parseInt(e.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(Re.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+s).appendField(Re.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(Re.Msg.CONTROLS_IF_MSG_ELSE);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(e){var t=e.newBlock("controls_if_if");t.initSvg();for(var i=t.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=e.newBlock("controls_if_elseif");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var _=e.newBlock("controls_if_else");_.initSvg(),i.connect(_.previousConnection)}return t},compose:function(e){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var t=this.elseifCount_;t>0;t--)this.removeInput("IF"+t),this.removeInput("DO"+t);this.elseifCount_=0;for(var i=e.getInputTargetBlock("STACK"),n=[null],s=[null],_=null;i;){switch(i.type){case"controls_if_elseif":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_if_else":this.elseCount_++,_=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,_)},saveConnections:function(e){for(var t=e.getInputTargetBlock("STACK"),i=1;t;){switch(t.type){case"controls_if_elseif":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);t.valueConnection_=n&&n.connection.targetConnection,t.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_if_else":s=this.getInput("ELSE");t.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}t=t.nextConnection&&t.nextConnection.targetBlock()}},rebuildShape_:function(){var e=[null],t=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),_=this.getInput("DO"+n);console.log(s.connection.targetConnection),e.push(s.connection.targetConnection),t.push(_.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(e,t,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var e=1;this.getInput("IF"+e);)this.removeInput("IF"+e),this.removeInput("DO"+e),e++;for(e=1;e<=this.elseifCount_;e++)this.appendValueInput("IF"+e).setCheck([Number,Boolean]).appendField(Re.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+e).appendField(Re.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(Re.Msg.CONTROLS_IF_MSG_ELSE)},reconnectChildBlocks_:function(e,t,i){for(var n=1;n<=this.elseifCount_;n++)e[n]&&e[n].reconnect(this,"IF"+n),t[n]&&t[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},He={init:function(){this.setColour(xe),this.appendValueInput("FROM").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.PYTHON_RANGE).appendField(Re.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.PYTHON_RANGE_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Re.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},ke={init:function(){this.setColour(xe),this.appendValueInput("LIST").setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.CONTROLS_FOREACH_INPUT),this.appendValueInput("VAR").appendField(Re.Msg.CONTROLS_FOREACH_INPUT_ITEM),this.appendStatementInput("DO").appendField(Re.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip((function(){return Re.Msg.CONTROLS_FOR_TOOLTIP.replace("“%1”","")}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Re.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},We={init:function(){this.setColour(xe),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(Re.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(new Re.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(Re.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT+Re.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE");return{WHILE:Re.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:Re.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[t]}))}},Ke={init:function(){this.setColour(xe),this.appendDummyInput().appendField(Re.Msg.MIXLY_PYTHON_TRY),this.appendStatementInput("try"),this.appendValueInput("IF1").appendField(Re.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO1").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Re.icons.MutatorIcon(["controls_except","controls_finally"],this)),this.setTooltip(Re.Msg.MIXLY_MIXPY_CONTROL_TRY_TOOLTIP),this.elseifCount_=1,this.elseCount_=0},mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var e=document.createElement("mutation");return this.elseifCount_&&e.setAttribute("elseif",this.elseifCount_),this.elseCount_&&e.setAttribute("else",1),e},domToMutation:function(e){var t=this,i=[],n=[];this.elseCount_&&this.removeInput("ELSE");for(var s=this.elseifCount_;s>0;s--)t.getInputTargetBlock("IF"+s)&&t.getInputTargetBlock("IF"+s).previousConnection?i[s]=t.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),t.getInputTargetBlock("DO"+s)&&t.getInputTargetBlock("DO"+s).previousConnection?n[s]=t.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(e.getAttribute("elseif"),10),this.elseCount_=parseInt(e.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(Re.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+s).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(Re.Msg.MIXLY_PYTHON_FINALLY);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(e){var t=e.newBlock("controls_try");t.initSvg();for(var i=t.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=e.newBlock("controls_except");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var _=e.newBlock("controls_finally");_.initSvg(),i.connect(_.previousConnection)}return t},compose:function(e){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var t=this.elseifCount_;t>0;t--)this.removeInput("IF"+t),this.removeInput("DO"+t);this.elseifCount_=0;for(var i=e.getInputTargetBlock("STACK"),n=[null],s=[null],_=null;i;){switch(i.type){case"controls_except":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_finally":this.elseCount_++,_=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,_)},saveConnections:function(e){for(var t=e.getInputTargetBlock("STACK"),i=1;t;){switch(t.type){case"controls_except":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);t.valueConnection_=n&&n.connection.targetConnection,t.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_finally":s=this.getInput("ELSE");t.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}t=t.nextConnection&&t.nextConnection.targetBlock()}},rebuildShape_:function(){var e=[null],t=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),_=this.getInput("DO"+n);console.log(s.connection.targetConnection),e.push(s.connection.targetConnection),t.push(_.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(e,t,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var e=1;this.getInput("IF"+e);)this.removeInput("IF"+e),this.removeInput("DO"+e),e++;for(e=1;e<=this.elseifCount_;e++)this.appendValueInput("IF"+e).setCheck([Number,Boolean]).appendField(Re.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+e).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(Re.Msg.MIXLY_PYTHON_FINALLY)},reconnectChildBlocks_:function(e,t,i){for(var n=1;n<=this.elseifCount_;n++)e[n]&&e[n].reconnect(this,"IF"+n),t[n]&&t[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},Je={init:function(){this.setColour(xe);var e=new Re.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(e,"FLOW").appendField(Re.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0),this.setTooltip(Re.Msg.MIXLY_PYTHON_CONTROLS_FLOW_STATEMENTS_TOOLTIP);var t=this;this.setTooltip((function(){var e=t.getFieldValue("FLOW");return{BREAK:Re.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:Re.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}[e]}))},onchange:function(){if(this.workspace){var e=!1,t=this;do{if("controls_repeat"==t.type||"controls_for"==t.type||"controls_forEach"==t.type||"controls_repeat_ext"==t.type||"controls_whileUntil"==t.type||"do_while"==t.type){e=!0;break}t=t.getSurroundParent()}while(t);e?this.setWarningText(null):this.setWarningText(Re.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}},Qe={init:function(){this.setColour(xe),this.appendDummyInput().appendField(Re.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new Re.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(Re.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){return Re.Msg.CONTROLS_FOR_TOOLTIP.replace("%1",e.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Re.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},ze={init:function(){this.setColour(xe),this.appendDummyInput().appendField(Re.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new Re.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(Re.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){return Re.Msg.MIXLY_PYTHON_CONTROLS_FOR_RANGE_TOOLTIP.replace("%1",e.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Re.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}};We.OPERATORS=[[Re.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[Re.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]],Je.OPERATORS=[[Re.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[Re.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const qe={init:function(){this.setColour(xe),this.appendDummyInput().appendField(Re.Msg.CONTROLS_IF_IF_TITLE_IF),this.appendStatementInput("STACK"),this.setTooltip(Re.Msg.CONTROLS_IF_IF_TOOLTIP),this.contextMenu=!1}},je={init:function(){this.setColour(xe),this.appendDummyInput().appendField(Re.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Re.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},$e={init:function(){this.setColour(xe),this.appendDummyInput().appendField(Re.Msg.CONTROLS_IF_ELSE_TITLE_ELSE),this.setPreviousStatement(!0),this.setTooltip(Re.Msg.CONTROLS_IF_ELSE_TOOLTIP),this.contextMenu=!1}},Ze={init:function(){this.setColour(xe),this.appendDummyInput().appendField("try"),this.appendStatementInput("STACK"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.contextMenu=!1}},et={init:function(){this.setColour(xe),this.appendDummyInput().appendField(Re.Msg.MIXLY_PYTHON_EXCEPT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1,this.setTooltip(Re.Msg.MIXLY_MIXPY_CONTROL_EXCEPT_TOOLTIP)}},tt={init:function(){this.setColour(xe),this.appendDummyInput().appendField(Re.Msg.MIXLY_PYTHON_FINALLY),this.setPreviousStatement(!0),this.contextMenu=!1,this.setTooltip(Re.Msg.MIXLY_MIXPY_CONTROL_FINALLY_TOOLTIP)}},it={init:function(){this.jsonInit({message0:Re.Msg.CONTROLS_REPEAT_TITLE,args0:[{type:"input_value",name:"TIMES"}],previousStatement:null,nextStatement:null,colour:xe,tooltip:Re.Msg.CONTROLS_REPEAT_TOOLTIP,helpUrl:Re.Msg.CONTROLS_REPEAT_HELPURL}),this.appendStatementInput("DO")}},nt={init:function(){this.setColour(xe),this.appendValueInput("BOOL").appendField("lambda"),this.appendStatementInput("DO").appendField(Re.Msg.MIXLY_STAT),this.setOutput(!0)}},st={init:function(){this.setColour(xe),this.appendDummyInput().appendField(Re.Msg.MIXLY_PYTHON_PASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Re.Msg.MIXLY_PYTHON_CONTROLS_PASS_TOOLTIP)}},_t={init:function(){this.setColour(xe),this.appendDummyInput().appendField(Re.Msg.MIXLY_PYTHON_CONTROLS_THREAD_START),this.appendValueInput("callback").appendField(Re.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.appendValueInput("VAR").appendField(Re.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_PYTHON_CONTROLS_THREAD_TOOLTIP)}},ot={init:function(){this.appendDummyInput().appendField(Re.Msg.CONTROLS_REPEAT_TITLE_REPEAT+Re.Msg.MIXLY_DO),this.appendStatementInput("input_data").setCheck(null),this.appendValueInput("select_data").setCheck(null).appendField(Re.Msg.CONTROLS_OPERATOR_UNTIL).appendField(new Re.FieldDropdown([[Re.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"true"],[Re.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"false"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(xe),this.setTooltip("do-while loop"),this.setHelpUrl("")}},pt={init:function(){this.setColour(xe),this.appendDummyInput().appendField(Re.Msg.MIXLY_OP_GARBAGE_COLLECT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},at={init:function(){this.setColour(xe),this.appendDummyInput().appendField(Re.Msg.MIXLY_GET_MEM_ALLOC),this.setOutput(!0)}},ut={init:function(){this.setColour(xe),this.appendDummyInput().appendField(Re.Msg.MIXLY_GET_MEM_FREE),this.setOutput(!0)}},rt={init:function(){this.setColour(xe),this.appendDummyInput().appendField(Re.Msg.MIXLY_GET+Re.Msg.MIXLY_DEVICE+"ID"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Re.Msg.PROCEDURES_DEFRETURN_RETURN+Re.Msg.MIXLY_GET_UNIQUE_IDEN)}},lt={init:function(){this.setColour(xe),this.appendValueInput("VAR").appendField(Re.Msg.MIXLY_RTC_TIMESTAMP),this.appendDummyInput().appendField(Re.Msg.MIXLY_TIMESTAMP_TO_DATA),this.setInputsInline(!0),this.setOutput(!0,Number)}},dt={init:function(){this.setColour(xe),this.appendDummyInput().appendField(Re.Msg.MIXLY_GET_UNIQUE_IDEN),this.setOutput(!0)}},It=230;Re.FieldTextInput.math_number_validator=function(e){return String(e)},Re.FieldTextInput.math_number_validator_include_blank=function(e){if(""===e)return"";return/^-?(0X|0x|0O|0o|0B|0b)?[a-fA-F0-9]{1,}(\.[a-fA-F0-9]+)?$/.test(e)?String(e):null};const Tt={init:function(){this.setColour(It),this.appendDummyInput().appendField(new Re.FieldTextInput("0",Re.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(Re.Msg.MATH_NUMBER_TOOLTIP)}},Mt={init:function(){this.setColour(It);this.appendDummyInput("").appendField(Re.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new Re.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CONSTANT");return{pi:Re.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_TOOLTIP,e:Re.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_TOOLTIP}[t]}))}},ht={init:function(){this.setColour(It);this.appendDummyInput("").appendField(Re.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new Re.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CONSTANT");return{pi:Re.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_MP_TOOLTIP,e:Re.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_MP_TOOLTIP}[t]}))}},mt={init:function(){this.setColour(It),this.setOutput(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Re.FieldDropdown([["+","ADD"],["-","MINUS"],["×","MULTIPLY"],["÷","DIVIDE"],["%","QUYU"],["//","ZHENGCHU"],["**","POWER"]]),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{ADD:Re.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:Re.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:Re.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:Re.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:Re.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:Re.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:Re.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[t]}))}},Et={init:function(){this.setColour(It),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Re.FieldDropdown([["+=","ADD"],["-=","MINUS"],["×=","MULTIPLY"],["÷=","DIVIDE"],["%=","QUYU"],["//=","ZHENGCHU"],["**=","POWER"]]),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{ADD:Re.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:Re.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:Re.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:Re.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:Re.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:Re.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:Re.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[t]}))}},Ot={init:function(){this.setColour(It),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new Re.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},Rt={init:function(){this.setColour(It),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new Re.FieldDropdown([["sin","SIN"],["cos","COS"],["tan","TAN"],["asin","ASIN"],["acos","ACOS"],["atan","ATAN"],["-","-"],["ln","LN"],["log10","LOG10"],["e^","EXP"],["10^","POW10"]]),"OP");var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{SIN:Re.Msg.MATH_TRIG_TOOLTIP_SIN,COS:Re.Msg.MATH_TRIG_TOOLTIP_COS,TAN:Re.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:Re.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:Re.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:Re.Msg.MATH_TRIG_TOOLTIP_ATAN,LN:Re.Msg.MATH_SINGLE_TOOLTIP_LN}[t]}))}},ct={init:function(){var e=[[Re.Msg.MATH_BIN,"bin"],[Re.Msg.MATH_OCT,"oct"],[Re.Msg.MATH_HEX,"hex"]];this.setColour(It),this.setOutput(!0,String),this.appendValueInput("NUM").setCheck(Number).appendField(new Re.FieldDropdown(e),"OP");var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{bin:Re.Msg.MATH_DEC_TOOLTIP_BIN,oct:Re.Msg.MATH_DEC_TOOLTIP_OCT,hex:Re.Msg.MATH_DEC_TOOLTIP_HEX}[e]}))}},gt={init:function(){var e=[[Re.Msg.LANG_MATH_TO_ROUND,"round"],[Re.Msg.LANG_MATH_TO_CEIL,"ceil"],[Re.Msg.LANG_MATH_TO_FLOOR,"floor"],[Re.Msg.MATH_ABS,"fabs"],[Re.Msg.MATH_SQRT,"sqrt"]];this.setColour(It),this.appendValueInput("A").setCheck(Number).appendField(new Re.FieldDropdown(e),"OP"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{sqrt:Re.Msg.MATH_SINGLE_TOOLTIP_ROOT,fabs:Re.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:Re.Msg.MATH_SINGLE_TOOLTIP_SQ,round:Re.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:Re.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:Re.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[e]}))}},Ct={init:function(){var e=[[Re.Msg.MIXLY_MAX,"max"],[Re.Msg.MIXLY_MIN,"min"]];this.setColour(It),this.appendValueInput("A").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(new Re.FieldDropdown(e),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(Re.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{max:Re.Msg.MIXLY_TOOLTIP_MATH_MAX,min:Re.Msg.MIXLY_TOOLTIP_MATH_MIN}[e]}))}},St={init:function(){var e=[[Re.Msg.MATH_TWO,"two"],[Re.Msg.MATH_EIGHT,"eight"],[Re.Msg.MATH_TEN,"ten"],[Re.Msg.MATH_SIXTEEN,"sixteen"]];this.setColour(It),this.appendDummyInput("").appendField(Re.Msg.MATH_BA),this.appendValueInput("NUM").appendField(new Re.FieldDropdown(e),"OP").appendField(Re.Msg.MATH_JinZhi).setCheck(Number),this.appendDummyInput("").appendField(Re.Msg.MATH_ZHW).appendField(new Re.FieldDropdown(e),"OP2").appendField(Re.Msg.MATH_JinZhi),this.setFieldValue("ten","OP2"),this.setOutput(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i={two:Re.Msg.MATH_Before_two,eight:Re.Msg.MATH_Before_eight,ten:Re.Msg.MATH_Before_ten,sixteen:Re.Msg.MATH_Before_sixteen},n=t.getFieldValue("OP2"),s={two:Re.Msg.MATH_Behind_two,eight:Re.Msg.MATH_Behind_eight,ten:Re.Msg.MATH_Behind_ten,sixteen:Re.Msg.MATH_Behind_sixteen};return i[e]+s[n]}))}},At={init:function(){var e=[[Re.Msg.LANG_MATH_INT,"int"],[Re.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(It),this.setOutput(!0,Number),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_RANDOM).appendField(new Re.FieldDropdown(e),"TYPE"),this.appendValueInput("FROM").setCheck(Number).appendField(Re.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("TYPE"),i={int:Re.Msg.LANG_MATH_INT,float:Re.Msg.LANG_MATH_FLOAT_RANDOM};return Re.Msg.MATH_RANDOM_INT_TOOLTIP+i[e]}))}},Lt={init:function(){this.setColour(It),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(Re.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(Re.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(Re.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(Re.Msg.MATH_CONSTRAIN_TOOLTIP)}},Nt={init:function(){this.setColour(It),this.appendValueInput("NUM",Number).appendField(Re.Msg.MIXLY_MAP).setCheck(Number),this.appendValueInput("fromLow",Number).appendField(Re.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(Re.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Re.Msg.MIXLY_TOOLTIP_MATH_MAP)}},Dt={init:function(){this.setColour(It),this.appendDummyInput().appendField(new Re.FieldTextInput("0",Re.FieldTextInput.math_number_validator_include_blank),"NUM"),this.setOutput(!0),this.setTooltip(Re.Msg.MATH_NUMBER_TOOLTIP)}},ft={init:function(){this.setColour(It),this.appendValueInput("NUM").setCheck(Number).appendField(Re.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Re.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED)}},Ft={init:function(){this.setColour(It),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number),this.appendValueInput("VAR").setCheck(Number).appendField(Re.Msg.MATH_ROUND).appendField(Re.Msg.TEXT_KEEP),this.appendDummyInput().appendField(Re.Msg.TEXT_DECIMAL),this.setInputsInline(!0),this.setTooltip(Re.Msg.MATH_ROUND_NEW_TOOLTIP)}},Pt={init:function(){var e=[[Re.Msg.MIXLY_TO_INT,"int"],[Re.Msg.MIXLY_TO_FLOAT,"float"],[Re.Msg.MIXLY_TO_BITES,"b"],[Re.Msg.LANG_MATH_BYTE+Re.Msg.MIXLY_TO_INT,"bti"]];this.setColour(It),this.appendValueInput("VAR").appendField(new Re.FieldDropdown(e),"TOWHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("TOWHAT");return{int:Re.Msg.MIXLY_PYTHON_TOOLTIP_TOINT,float:Re.Msg.MIXLY_PYTHON_TOOLTIP_TOFLOAT,b:Re.Msg.MIXLY_TOOLTIP_TEXT_TOBYTE}[e]}))}},Yt={init:function(){var e=[[Re.Msg.MIXLY_TO_INT,"int"],[Re.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(It),this.appendValueInput("VAR").appendField(new Re.FieldDropdown(e),"TOWHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("TOWHAT");return{int:Re.Msg.MIXLY_TOOLTIP_TEXT_TOINT,float:Re.Msg.MIXLY_TOOLTIP_TEXT_TOFLOAT}[e]}))}},vt=Nt,Xt={init:function(){this.setColour(It),this.appendValueInput("VAR").appendField(Re.Msg.LANG_MATH_BYTE+Re.Msg.MIXLY_TO_HEX),this.setOutput(!0,Number),this.setTooltip(Re.Msg.MIXLY_PYTHON_TOOLTIP_TOHEX)}},yt={init:function(){this.setColour(It),this.itemCount_=1,this.setMutator(new Re.icons.MutatorIcon(["lists_create_with_item"],this)),this.appendDummyInput("DUMMY").appendField(Re.Msg.MIXLY_PRODUCT+Re.Msg.MIXLY_GENERATE_CARTESIAN_PRODUCT),this.appendValueInput("REPEAT").appendField(Re.Msg.MIXLY_EVERY_PER_ELEPER_ELEMENT),this.appendDummyInput().appendField(Re.Msg.CONTROLS_REPEAT_TITLE_TIMES),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0),this.setTooltip(Re.Msg.LISTS_CREATE_WITH_PYTHON_TOOLTIP),this.updateShape_()},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("lists_create_with_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;n1&&"\\"===e.charAt(0)){var t=e.charAt(1);if("0"===t||"b"===t||"f"===t||"n"===t||"r"===t||"t"===t||"\\"===t||"'"===t)return String(e).substring(0,2);if("x"===t&&"0"===e.charAt(2)&&"B"===e.charAt(3))return String(e).substring(0,4)}return String(e).substring(0,1)};const wt={init:function(){this.setColour(Vt),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new Re.FieldTextInput("",Re.FieldTextInput.char_validator),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,Number),this.setTooltip(Re.Msg.TEXT_CHAR_TOOLTIP)},newQuote_:function(e){if(1==e)var t="../../media/quote2.png";else t="../../media/quote3.png";return new Re.FieldImage(t,7,12,'"')}},Ht={init:function(){this.setColour(Vt),this.appendValueInput("A").setCheck([String,Number]),this.appendValueInput("B").setCheck([String,Number]).appendField(Re.Msg.MIXLY_TEXT_JOIN),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Re.Msg.MIXLY_TOOLTIP_TEXT_JOIN)}},kt={init:function(){this.setColour(Vt),this.appendValueInput("VAR").setCheck(Number).appendField(Re.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(Re.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},Wt={init:function(){this.setColour(Vt),this.appendValueInput("VAR").setCheck(String).appendField(Re.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(Re.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},Kt={init:function(){this.setColour(Vt),this.appendValueInput("VAR").appendField(Re.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(Re.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},Jt={init:function(){this.setColour(Vt),this.appendValueInput("VAR").appendField(Re.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(Re.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},Qt={init:function(){this.WHERE_OPTIONS=[[Re.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[Re.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[Re.Msg.TEXT_GET_INDEX_RANDOM+1+Re.Msg.TEXT_CHARAT2,"RANDOM"]],this.setHelpUrl(Re.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Vt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number),this.appendDummyInput().appendField(Re.Msg.LISTS_GET_INDEX_GET,"MODE"),Re.Msg.LISTS_GET_INDEX_TAIL&&this.appendDummyInput("TAIL").appendField(Re.Msg.LISTS_GET_INDEX_TAIL),this.setInputsInline(!0),this.setOutput(!0),this.updateAt_(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=e.getFieldValue("WHERE"),n="";switch(t+" "+i){case"GET FROM_START":case"GET FROM_END":n=Re.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM;break;case"GET RANDOM":n=Re.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM;break;case"GET_REMOVE FROM_START":case"GET_REMOVE FROM_END":n=Re.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM;break;case"GET_REMOVE RANDOM":n=Re.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM}return"FROM_START"!=i&&"FROM_END"!=i||(n+=" "+Re.Msg.LISTS_INDEX_FROM_START_TOOLTIP.replace("%1",Re.Msg.ONE_BASED_INDEXING?"#1":"#0")),n}));var t=this;this.setTooltip((function(){var e=t.getFieldValue("WHERE"),i={FROM_START:Re.Msg.LISTS_GET_INDEX_FROM_START,FROM_END:Re.Msg.LISTS_GET_INDEX_FROM_END,RANDOM:Re.Msg.TEXT_GET_INDEX_RANDOM};return Re.Msg.PROCEDURES_DEFRETURN_RETURN+Re.Msg.MIXLY_MICROBIT_TYPE_STRING+i[e]+"n"+Re.Msg.TEXT_CHARAT2}))},mutationToDom:function(){var e=document.createElement("mutation");e.setAttribute("statement",!this.outputConnection);var t=this.getInput("AT").type==Re.INPUT_VALUE;return e.setAttribute("at",t),e},domToMutation:function(e){var t="true"==e.getAttribute("statement");this.updateStatement_(t),e="false"!=e.getAttribute("at"),this.updateAt_(e)},updateStatement_:function(e){e!=!this.outputConnection&&(this.unplug(!0,!0),e?(this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)):(this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)))},updateAt_:function(e){this.removeInput("AT"),this.removeInput("ORDINAL",!0),e?(this.appendValueInput("AT").setCheck(Number),Re.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL").appendField(Re.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT");var t=new Re.FieldDropdown(this.WHERE_OPTIONS,(function(t){var i="FROM_START"==t||"FROM_END"==t;if(i!=e){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(t,"WHERE"),null}}));this.getInput("AT").appendField(t,"WHERE"),Re.Msg.LISTS_GET_INDEX_TAIL&&this.moveInputBefore("TAIL",null)}},zt={init:function(){this.setHelpUrl(Re.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Vt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number).appendField(Re.Msg.LISTS_GET_INDEX_GET+" "+Re.Msg.LISTS_GET_INDEX_FROM_START),this.appendDummyInput().appendField(Re.Msg.TEXT_CHARAT2),this.setOutput(!0),this.setTooltip(Re.Msg.PROCEDURES_DEFRETURN_RETURN+Re.Msg.MIXLY_MICROBIT_TYPE_STRING+Re.Msg.LISTS_GET_INDEX_FROM_START+"n"+Re.Msg.TEXT_CHARAT2)}},qt={init:function(){this.setHelpUrl(Re.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Vt),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(Re.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(Re.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},jt={init:function(){this.WHERE_OPTIONS_1=[[Re.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[Re.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[Re.Msg.LISTS_GET_SUBLIST_START_FIRST,"FIRST"]],this.WHERE_OPTIONS_2=[[Re.Msg.LISTS_GET_SUBLIST_END_FROM_START,"FROM_START"],[Re.Msg.LISTS_GET_SUBLIST_END_FROM_END,"FROM_END"],[Re.Msg.LISTS_GET_SUBLIST_END_LAST,"LAST"]],this.setHelpUrl(Re.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Vt),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput("").appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput("AT1"),this.appendDummyInput("AT2"),this.setInputsInline(!0),this.setOutput(!0,"List"),this.updateAt_(1,!0),this.updateAt_(2,!0),this.setTooltip(Re.Msg._GET_TEXT_SUBLIST_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation"),t=this.getInput("AT1").type==Re.INPUT_VALUE;e.setAttribute("at1",t);var i=this.getInput("AT2").type==Re.INPUT_VALUE;return e.setAttribute("at2",i),e},domToMutation:function(e){var t="true"==e.getAttribute("at1"),i="true"==e.getAttribute("at2");this.updateAt_(1,t),this.updateAt_(2,i)},updateAt_:function(e,t){this.removeInput("AT"+e),this.removeInput("ORDINAL"+e,!0),t?(this.appendValueInput("AT"+e).setCheck(Number),Re.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL"+e).appendField(Re.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT"+e);var i=new Re.FieldDropdown(this["WHERE_OPTIONS_"+e],(function(i){var n="FROM_START"==i||"FROM_END"==i;if(n!=t){var s=this.sourceBlock_;return s.updateAt_(e,n),s.setFieldValue(i,"WHERE"+e),null}}));this.getInput("AT"+e).appendField(i,"WHERE"+e),1==e&&(this.moveInputBefore("AT1","AT2"),this.getInput("ORDINAL1")&&this.moveInputBefore("ORDINAL1","AT2"))}},$t={init:function(){this.setHelpUrl(Re.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Vt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT1").appendField(Re.Msg.LISTS_GET_INDEX_GET+" "+Re.Msg.LISTS_GET_INDEX_FROM_START),this.appendValueInput("AT2").appendField(Re.Msg.LISTS_GET_SUBLIST_END_FROM_START),this.appendDummyInput().appendField(Re.Msg.TEXT_CHARAT2),this.setInputsInline(!0),this.setOutput(!0,["List",String]),this.setTooltip(Re.Msg._GET_TEXT_SUBLIST_TOOLTIP)}},Zt={init:function(){var e=[[Re.Msg.MIXLY_EQUALS,"==="],[Re.Msg.MIXLY_STARTSWITH,"startswith"],[Re.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(Vt),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new Re.FieldDropdown(e),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},ei={init:function(){this.setColour(Vt),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(Re.Msg.MIXLY_COMPARETO).setCheck(String),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_COMPARETO_HELP)}},ti={init:function(){var e=[[Re.Msg.TEXT_UPPER,"upper"],[Re.Msg.TEXT_TITLE,"title"],[Re.Msg.TEXT_CAPITALIZE,"capitalize"],[Re.Msg.TEXT_SWAPCASE,"swapcase"],[Re.Msg.TEXT_LOWER,"lower"]];this.setColour(Vt),this.appendValueInput("VAR").appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new Re.FieldDropdown(e),"CAPITAL").setCheck(String),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CAPITAL");return{upper:Re.Msg.MIXLY_MIXPY_TEXT_UPPER_TOOLTIP,title:Re.Msg.MIXLY_MIXPY_TEXT_TITLE_TOOLTIP,swapcase:Re.Msg.MIXLY_MIXPY_TEXT_SWAPCASE_TOOLTIP,capitalize:Re.Msg.MIXLY_MIXPY_TEXT_CAPITALIZE_TOOLTIP,lower:Re.Msg.MIXLY_MIXPY_TEXT_LOWER_TOOLTIP}[e]}))}},ii={init:function(){var e=[[Re.Msg.TEXT_LJUST,"ljust"],[Re.Msg.TEXT_CENTER,"center"],[Re.Msg.TEXT_RJUST,"rjust"]];this.setColour(Vt),this.appendValueInput("VAR").appendField(new Re.FieldDropdown(e),"CENTER").setCheck(String),this.appendValueInput("WID").appendField(Re.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("Symbol").appendField(Re.Msg.MIXLY_RECT_Fill).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Re.Msg.MIXLY_MIXPY_TEXT_CENTER_TOOLTIP)}},ni={init:function(){this.setColour(Vt),this.appendValueInput("VAR").appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).setCheck(String),this.appendValueInput("STR").appendField(Re.Msg.MIXLY_MID+Re.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER).setCheck(String),this.appendDummyInput().appendField(Re.Msg.MIXLY_LIST_INDEX),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Re.Msg.MIXLY_MIXPY_TEXT_FIND_TOOLTIP)}},si={init:function(){this.setColour(Vt),this.appendValueInput("VAR").appendField(Re.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_USE_STR).setCheck(String),this.appendValueInput("LIST").appendField(Re.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_SEQ).setCheck("List","Tuple","Set","Dict"),this.appendDummyInput().appendField(Re.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_GET_STR),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Re.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_TOOLTIP)}},_i={init:function(){this.setColour(Vt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("STR1").appendField(Re.Msg.MIXLY_MIXPY_REPLACE).setCheck(String),this.appendValueInput("STR2").appendField(Re.Msg.LISTS_SET_INDEX_INPUT_TO).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Re.Msg.MIXLY_MIXPY_TEXT_REPLACE_TOOLTIP)}},oi={init:function(){this.setColour(Vt),this.appendValueInput("VAR"),this.appendValueInput("VAL").appendField(Re.Msg.LIST_SPLIT_AS),this.appendDummyInput("").appendField(Re.Msg.LIST_SPLIT),this.setOutput(!0,"List"),this.setTooltip(Re.Msg.MIXLY_MIXPY_TEXT_SPLIT_TOOLTIP),this.setInputsInline(!0)}},pi={init:function(){var e=[[Re.Msg.TEXT_TRIM_BOTH,"strip"],[Re.Msg.TEXT_TRIM_LEFT,"lstrip"],[Re.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(Vt),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(Re.Msg.TEXT_STRIM),this.appendDummyInput("").appendField(new Re.FieldDropdown(e),"TOWHAT"),this.appendDummyInput("").appendField(Re.Msg.TEXT_BLANK),this.setOutput(!0,String),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("TOWHAT");return{strip:Re.Msg.TEXT_TRIM_BOTH_TOOLTIP,lstrip:Re.Msg.TEXT_TRIM_LEFT_TOOLTIP,rstrip:Re.Msg.TEXT_TRIM_RIGHT_TOOLTIP}[e]}))}},ai={init:function(){this.setColour(Vt),this.appendDummyInput("").appendField(Re.Msg.MIXLY_MICROPYTHON_FORMAT),this.appendDummyInput("").appendField(new Re.FieldTextInput("str"),"VAR"),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new Re.icons.MutatorIcon(["text_create_with_item"],this)),this.setOutput(!0),this.setTooltip(Re.Msg.MIXLY_MIXPY_TEXT_FORMAT_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("text_create_with_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;nt?e[t]:0==t?'"key"':'"key'+(t+1)+'"'),"KEY"+t).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Re.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},_n={init:function(){this.setColour(nn),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(Re.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},on={init:function(){this.setColour(nn),this.appendDummyInput().appendField(Re.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Re.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},pn={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Re.Msg.DICT_KEYS),this.setTooltip(Re.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},an={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Re.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(Re.Msg.DICTS_ADD_VALUE),this.setOutput(!0),this.setTooltip(Re.Msg.DICTS_GET_TOOLTIP)}},un={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Re.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(Re.Msg.DICTS_ADD_VALUE),this.appendValueInput("VAR").appendField(Re.Msg.DICTS_DEFAULT_VALUE),this.setOutput(!0),this.setTooltip(Re.Msg.DICTS_GET_DEFAULT_TOOLTIP)}},rn={init:function(){this.setColour(nn),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(Re.Msg.DICTS_ADD),this.appendDummyInput(),this.appendValueInput("VAR").appendField(Re.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Re.Msg.DICTS_ADD_OR_CHANGE_TOOLTIP)}},ln={init:function(){this.setColour(nn),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(Re.Msg.DICTS_DELETE_IN),this.appendDummyInput("").appendField(Re.Msg.DICTS_DELETE_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Re.Msg.DICTS_DELETE_TOOLTIP)}},dn={init:function(){this.setColour(nn),this.appendValueInput("DICT2").setCheck("Dict").appendField(Re.Msg.MAKE_DICT),this.appendValueInput("DICT").setCheck("Dict").appendField(Re.Msg.DICT_UPDATE),this.appendDummyInput("").appendField(Re.Msg.MIXLY_MID),this.setTooltip(Re.Msg.DICTS_UPDATE_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},In={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Re.Msg.DICT_CLEAR),this.setTooltip(Re.Msg.DICTS_CLEAR_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Tn={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Re.Msg.DICT_ITEMS),this.setTooltip(Re.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},Mn={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Re.Msg.DICT_VALUES),this.setTooltip(Re.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},hn={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_LENGTH),this.setTooltip(Re.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},mn={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Re.Msg.DICT_DELDICT),this.setTooltip(Re.Msg.DICTS_DEL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},En={init:function(){this.MODE=[[Re.Msg.DICTS_ADD_OR_CHANGE,"INSERT"],[Re.Msg.MIXLY_MICROBIT_JS_DELETE_VAR,"DELETE"]],this.setHelpUrl(Re.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("AT2"),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).appendField(Re.Msg.DICTS_ADD_VALUE),this.updateAt_(!0),this.setInputsInline(!0),this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t="";switch(e.getFieldValue("WHERE")){case"INSERT":t=Re.Msg.DICTS_ADD_TOOLTIP;break;case"DELETE":t=Re.Msg.DICTS_DELETE_TOOLTIP}return t}))},mutationToDom:function(){var e=document.createElement("mutation"),t=this.getInput("AT2").type==Re.INPUT_VALUE;return e.setAttribute("at2",t),e},domToMutation:function(e){var t="true"==e.getAttribute("at2");this.updateAt_(t)},updateAt_:function(e){this.removeInput("AT2"),this.removeInput("ORDINAL",!0),e?this.appendValueInput("AT2").setCheck(Number):this.appendDummyInput("AT2");var t=new Re.FieldDropdown(this.MODE,(function(t){var i="INSERT"==t;if(i!=e){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(t,"WHERE"),null}}));this.getInput("AT2").appendField(t,"WHERE")}},On={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Re.Msg.blockpy_DICT_POP),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(Re.Msg.DICTS_ADD_VALUE),this.setTooltip(Re.Msg.DICT_POP_TOOLTIP),this.setInputsInline(!0),this.setOutput(!0)}},Rn={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Re.Msg.DICTS_SET_DEFAULT),this.appendDummyInput("").appendField(Re.Msg.DICTS_DEFAULT_VALUE),this.appendValueInput("VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Re.Msg.DICTS_SETDEFAULT_TOOLTIP)}},cn={init:function(){this.setColour(nn),this.appendDummyInput("").appendField(new Re.FieldLabel(Re.Msg.MIXLY_MICROBIT_TYPE_DICT),"TIP").appendField(" "),this.itemCount_=3,this.updateShape_(),this.setOutput(!0,"Dict"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setMutator(new Re.icons.MutatorIcon(["dicts_create_with_item"],this)),this.setTooltip(Re.Msg.DICTS_CREATE_WITH_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("dicts_create_with_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;nt?e[t]:0==t?'"key"':'"key'+(t+1)+'"'),"KEY"+t).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Re.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},gn={init:function(){this.setColour(nn),this.appendValueInput("VAR").appendField(Re.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(Re.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},Cn={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_TO_JSON),this.setTooltip(Re.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},Sn={init:function(){this.setColour(nn),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_CONVERT_TO_JSON),this.setTooltip(Re.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},An={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("VAR1").appendField("key1"),this.appendValueInput("VAR2").appendField("index"),this.appendValueInput("VAR3").appendField("key2"),this.appendValueInput("VAR4").appendField("key3"),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},Ln={init:function(){this.setColour(nn),this.appendValueInput("DICT"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_TO_JSON),this.setTooltip(Re.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},Nn=210,Dn={init:function(){var e=Re.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(Nn),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Re.FieldDropdown(e),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{EQ:Re.Msg.LOGIC_COMPARE_TOOLTIP_EQ,NEQ:Re.Msg.LOGIC_COMPARE_TOOLTIP_NEQ,LT:Re.Msg.LOGIC_COMPARE_TOOLTIP_LT,LTE:Re.Msg.LOGIC_COMPARE_TOOLTIP_LTE,GT:Re.Msg.LOGIC_COMPARE_TOOLTIP_GT,GTE:Re.Msg.LOGIC_COMPARE_TOOLTIP_GTE}[e]})),this.prevBlocks_=[null,null]}},fn={init:function(){var e=Re.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]],t=Re.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(Nn),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Re.FieldDropdown(e),"OP1"),this.appendValueInput("C").appendField(new Re.FieldDropdown(t),"OP2"),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_PYTHON_LOGIC_COMPARE_CONTINOUS_TOOLTIP)}},Fn={init:function(){var e=[[Re.Msg.LOGIC_OPERATION_AND,"AND"],[Re.Msg.LOGIC_OPERATION_OR,"OR"],[Re.Msg.LOGIC_OPERATION_NOR,"NOR"],[Re.Msg.LOGIC_OPERATION_XOR,"XOR"]];this.setColour(Nn),this.setOutput(!0,Boolean),this.appendValueInput("A").setCheck([Boolean,Number]),this.appendValueInput("B").setCheck([Boolean,Number]).appendField(new Re.FieldDropdown(e),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{AND:Re.Msg.LOGIC_OPERATION_TOOLTIP_AND,OR:Re.Msg.LOGIC_OPERATION_TOOLTIP_OR,NOR:Re.Msg.LOGIC_OPERATION_TOOLTIP_NOR,XOR:Re.Msg.LOGIC_OPERATION_TOOLTIP_XOR}[e]}))}},Pn={init:function(){this.setColour(Nn),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(Re.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(Re.Msg.LOGIC_NEGATE_TOOLTIP)}},Yn={init:function(){var e=[[Re.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[Re.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(Nn),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new Re.FieldDropdown(e),"BOOL"),this.setTooltip(Re.Msg.LOGIC_BOOLEAN_TOOLTIP)}},vn={init:function(){this.setColour(Nn),this.setOutput(!0),this.appendDummyInput().appendField(Re.Msg.LOGIC_NULL),this.setTooltip(Re.Msg.LOGIC_NULL_TOOLTIP)}},Xn={init:function(){this.setColour(Nn),this.appendValueInput("A"),this.appendValueInput("B").appendField(Re.Msg.LOGIC_TERNARY_IF_TRUE),this.appendValueInput("C").appendField(Re.Msg.LOGIC_TERNARY_IF_FALSE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_TOOLTIP_LOGIT_TRUEORFALSE)}},yn={init:function(){var e=[[Re.Msg.TEXT_APPEND_TO,"in"],[Re.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(Nn),this.appendValueInput("A"),this.appendValueInput("B").setCheck([String,"List"]).appendField(new Re.FieldDropdown(e),"BOOL"),this.appendDummyInput("").appendField(Re.Msg.MICROBIT_LOGIC_IS_IN),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Re.Msg.IN)}},bn={init:function(){var e=[[Re.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[Re.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(Nn),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Re.FieldDropdown(e),"BOOL"),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_PYTHON_LOGIC_IS_TOOLTIP)}},xn={init:function(){this.setColour(Nn),this.appendValueInput("VAR").appendField(Re.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(Re.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},Vn={init:function(){this.setColour(0),this.appendValueInput("fn").setCheck(String).appendField(Re.Msg.MIXLY_PYTHON_STORAGE_OPEN_FILE_WITH_OS+"(For Windows)"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Bn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"],[Re.Msg.MIXLY_ADD,"a"],[Re.Msg.MATH_BIN+Re.Msg.MIXLY_ADD,"ab"],[Re.Msg.MIXLY_R_W,"r+"],[Re.Msg.MATH_BIN+Re.Msg.MIXLY_R_W,"rb+"],[Re.Msg.MIXLY_W_R,"w+"],[Re.Msg.MATH_BIN+Re.Msg.MIXLY_W_R,"wb+"],[Re.Msg.MIXLY_A_R,"a+"],[Re.Msg.MATH_BIN+Re.Msg.MIXLY_A_R,"ab+"]]),"MODE"),this.appendValueInput("FILE").appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_AS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=Re.Msg.MIXLY_USE,n=Re.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=Re.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=Re.Msg.MIXLY_BELONG;return i+{r:Re.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Re.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Re.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Re.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[t]+_+n+s}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Re.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},Gn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=Re.Msg.MIXLY_USE,n=Re.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=Re.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=Re.Msg.MIXLY_BELONG,o=Re.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:Re.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Re.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Re.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Re.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[t]+_+n+s+o}))}},Un={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE);this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendDummyInput().appendField(Re.Msg.MIXPY_TEXT_ENCODE).appendField(new Re.FieldDropdown([["ANSI","ANSI"],["gbk","gbk"],["utf-8","utf-8"]]),"CODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=Re.Msg.MIXLY_USE,n=Re.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=Re.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=Re.Msg.MIXLY_BELONG,o=Re.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:Re.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Re.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Re.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Re.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[t]+_+n+s+o}))}},wn={init:function(){this.setColour(0),this.appendValueInput("data").setCheck(String).appendField(Re.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendValueInput("FILE").appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+Re.Msg.MIXLY_MICROBIT_TYPE_STRING+Re.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE)}},Hn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"read"],[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE,"readline"],[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES,"readlines"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String)}},kn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,"read"],[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,"readline"],[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE,"readlines"]]),"MODE"),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=Re.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE,n=Re.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER;return i+{read:Re.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,readline:Re.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,readlines:Re.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE}[t]+"x"+n}))}},Wn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.setNextStatement(!0),this.appendValueInput("SIZE").setCheck(Number).appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(Re.Msg.MICROBIT_PYTHON_TYPE)}},Kn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Re.Msg.HTML_FILE),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean),this.setTooltip(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT1)}},Jn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_FILENAME),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILENAME)}},Qn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE)}},zn={init:function(){this.setColour(0),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES)}};Re.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE;const qn={init:function(){this.setColour(0),this.appendDummyInput().appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE,"remove"],[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_DIRS,"removedirs"]]),"MODE"),this.appendValueInput("FILE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE)}},jn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE+Re.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE)}},$n={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_RETURN_FILE),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_PRESENT_LOCATION),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_TELL)}},Zn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION),this.appendDummyInput().appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,"start"],[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,"current"],[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END,"end"]]),"MODE"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=Re.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION+Re.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION,n=Re.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER,s=Re.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET;return i+" "+{start:Re.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,current:Re.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,end:Re.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END}[t]+s+"x"+n}))}},es={init:function(){this.setColour(0),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR)}},ts={init:function(){this.setColour(0),this.appendValueInput("PATH").setCheck(String).appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH),this.appendDummyInput().appendField(Re.Msg.MIXLY_ESP32_SET),this.appendDummyInput().appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,"mkdir"],[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_MAKEDIRS,"makedirs"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE");return Re.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH+"x"+Re.Msg.MIXLY_ESP32_SET+{mkdir:Re.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,makedirs:Re.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[t]}))}},is={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME),this.appendValueInput("NEWFILE").setCheck(String).appendField(Re.Msg.MIXLY_AS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME)}},ns={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR)}},ss={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT),this.appendDummyInput().appendField(new Re.FieldDropdown([[Re.Msg.HTML_FILE,"isfile"],[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_DIR,"isdir"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean);let e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE");return Re.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH+"x"+Re.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT+{isfile:Re.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,isdir:Re.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[t]}))}},_s={init:function(){this.setColour(0),this.appendValueInput("SPISUB").appendField(Re.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_SETUP+Re.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(Re.Msg.MIXLY_SD_CARD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},os={init:function(){this.setColour(0),this.appendValueInput("VAR").appendField(Re.Msg.MIXLY_SD_CARD),this.appendValueInput("DIR").setCheck(String).appendField(Re.Msg.MIXLY_SDCARD_MOUNT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip()}},ps={init:function(){var e=Re.Procedures.findLegalName("",this),t=new Re.FieldTextInput(e,Re.Procedures.rename);t.setSpellcheck(!1),this.appendDummyInput().appendField(t,"NAME").appendField("","PARAMS"),this.setMutator(new Re.icons.MutatorIcon(["procedures_mutatorarg"],this)),(this.workspace.options.comments||this.workspace.options.parentWorkspace&&this.workspace.options.parentWorkspace.options.comments)&&Re.Msg.PROCEDURES_DEFNORETURN_COMMENT&&this.setCommentText(Re.Msg.PROCEDURES_DEFNORETURN_COMMENT),this.setStyle("procedure_blocks"),this.setTooltip(Re.Msg.PROCEDURES_DEFNORETURN_TOOLTIP),this.setHelpUrl(Re.Msg.PROCEDURES_DEFNORETURN_HELPURL),this.arguments_=[],this.argumentVarModels_=[],this.setStatements_(!0),this.statementConnection_=null},setStatements_:function(e){this.hasStatements_!==e&&(e?(this.appendStatementInput("STACK").appendField(Re.Msg.PROCEDURES_DEFNORETURN_DO),this.getInput("RETURN")&&this.moveInputBefore("STACK","RETURN")):this.removeInput("STACK",!0),this.hasStatements_=e)},updateParams_:function(){var e="";this.arguments_.length&&(e=Re.Msg.PROCEDURES_BEFORE_PARAMS+" "+this.arguments_.join(", ")),Re.Events.disable();try{this.setFieldValue(e,"PARAMS")}finally{Re.Events.enable()}},mutationToDom:function(e){var t=Re.utils.xml.createElement("mutation");e&&t.setAttribute("name",this.getFieldValue("NAME"));for(var i=0;i"),this.appendValueInput("style").appendField(Re.Msg.MIXLY_AIP_ATTR).setAlign(Re.inputs.Align.RIGHT),this.appendStatementInput("DO").appendField(""),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},i_={init:function(){this.setColour(qs),this.appendDummyInput().appendField(Re.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},n_={init:function(){this.setColour(qs),this.appendDummyInput().appendField(Re.Msg.HTML_FORM_CONTENT).appendField(new Re.FieldDropdown([[Re.Msg.HTML_TEXT,"text"],[Re.Msg.HTML_EMAIL,"email"],[Re.Msg.HTML_NUMBER,"number"],[Re.Msg.HTML_PASSWORD,"password"],[Re.Msg.HTML_CHECKBOX,"checkbox"],[Re.Msg.HTML_RADIOBUTTON,"radiobutton"],[Re.Msg.HTML_BUTTON,"button"],[Re.Msg.HTML_COLOUR,"colour"],[Re.Msg.HTML_DATE,"date"],[Re.Msg.HTML_LOCALTIME,"local time"],[Re.Msg.HTML_FILE,"file"],[Re.Msg.HTML_HIDDEN,"hidden"],[Re.Msg.HTML_IMAGE,"image"],[Re.Msg.HTML_MONTH,"month"],[Re.Msg.HTML_RANGE,"range"],[Re.Msg.HTML_RESET,"reset"],[Re.Msg.HTML_SEARCH,"search"],[Re.Msg.HTML_SUBMIT,"submit"],[Re.Msg.HTML_TELEPHONENUMBER,"telephone number"],[Re.Msg.HTML_TIME,"time"],[Re.Msg.HTML_URL,"url"],[Re.Msg.HTML_WEEK,"week"]]),"LEVEL"),this.appendDummyInput().appendField(Re.Msg.HTML_NAME).appendField(new Re.FieldTextInput("car"),"NAME"),this.appendDummyInput().appendField(Re.Msg.HTML_VALUE).appendField(new Re.FieldTextInput("go"),"VALUE"),this.appendValueInput("style").appendField(Re.Msg.MIXLY_AIP_ATTR).setAlign(Re.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},s_={init:function(){this.setColour(qs),this.appendDummyInput().appendField(new Re.FieldTextInput("property"),"KEY").appendField(":").appendField(new Re.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},__={init:function(){this.setColour(qs),this.appendDummyInput().appendField(new Re.FieldTextInput("property"),"KEY").appendField(":").appendField(new Re.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},o_={init:function(){this.setColour(qs),this.appendDummyInput().appendField(Re.Msg.HTML_TEXT).appendField(new Re.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},p_=160,a_={init:function(){this.setColour(p_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new Re.FieldTable(""),"TEXT")}},u_={init:function(){this.setColour(p_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new Re.FieldMultilineInput(""),"TEXT")}},r_={init:function(){this.setColour(p_),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new Re.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},l_={init:function(){this.setColour(p_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},d_={init:function(){this.setColour(p_),this.appendDummyInput().appendTitle("Comment:").appendTitle(new Re.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},I_={init:function(){this.setColour(p_),this.appendValueInput("VALUE").appendField(Re.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},T_={init:function(){this.setColour(p_),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Re.icons.MutatorIcon(["text_print_multiple_item"],this)),this.setTooltip(Re.Msg.TEXT_PRINT_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=Re.Block.obtain(e,"text_print_multiple_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;n= stop:"," yield start"," start -= abs(step)"])};if(e=function(e,t,i){return"("+e+" <= "+t+") and "+a()+"("+e+", "+t+", "+i+") or "+u()+"("+e+", "+t+", "+i+")"},Re.isNumber(n)&&Re.isNumber(s)&&Re.isNumber(_))n=parseFloat(n),s=parseFloat(s),_=Math.abs(parseFloat(_)),0==n%1&&0==s%1&&0==_%1?(n<=s?(s++,e=0==n&&1==_?s:n+", "+s,1!=_&&(e+=", "+_)):e=n+", "+--s+", -"+_,e="range("+e+")"):(e=n",GTE:">="};const ra=function(e,t){var i=this.getFieldValue("OP"),n="&&"==i?t.ORDER_LOGICAL_AND:t.ORDER_LOGICAL_OR,s=t.valueToCode(this,"A",n)||"False",_=t.valueToCode(this,"B",n)||"False";if("AND"==i)var o=s+" and "+_;else if("OR"==i)o=s+" or "+_;else if("NOR"==i)o="not("+s+"^"+_+")";else o=s+"^"+_;return[o,n]},la=function(e,t){var i=t.ORDER_UNARY_PREFIX;return["not "+(t.valueToCode(this,"BOOL",i)||"False"),i]},da=function(e,t){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",t.ORDER_ATOMIC]},Ia=function(e,t){return["None",t.ORDER_ATOMIC]},Ta=function(e,t){var i=t.valueToCode(this,"A",t.ORDER_ATOMIC)||"False";return["("+(t.valueToCode(this,"B",t.ORDER_ATOMIC)||"False")+" if "+i+" else "+(t.valueToCode(this,"C",t.ORDER_ATOMIC)||"False")+")",t.ORDER_ATOMIC]},Ma=function(e,t){var i=t.valueToCode(this,"A",t.ORDER_ATOMIC)||"''",n=t.valueToCode(this,"B",t.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,t.ORDER_ATOMIC]},ha=function(e,t){var i=t.valueToCode(this,"A",t.ORDER_ATOMIC)||"''",n=t.valueToCode(this,"B",t.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,t.ORDER_ATOMIC]},ma=function(e,t){return["bool("+(t.valueToCode(this,"VAR",t.ORDER_ATOMIC)||"0")+")",t.ORDER_ATOMIC]},Ea=function(e,t){return t.definitions_.import_os="import os","os.startfile("+t.valueToCode(this,"fn",t.ORDER_ATOMIC)+")\n"},Oa=function(e,t){return t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+" = open("+t.valueToCode(this,"FILENAME",t.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},Ra=function(e,t){return["open("+t.valueToCode(this,"FILENAME",t.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",t.ORDER_ATOMIC]},ca=function(e,t){return["open("+t.valueToCode(this,"FILENAME",t.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',t.ORDER_ATOMIC]},ga=function(e,t){var i=t.valueToCode(this,"data",t.ORDER_ATOMIC);return t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".write("+i+")\n"},Ca=function(e,t){var i=this.getFieldValue("MODE");return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+"."+i+"()",t.ORDER_ATOMIC]},Sa=function(e,t){var i=this.getFieldValue("MODE");return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+"."+i+"("+t.valueToCode(this,"SIZE",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Aa=function(e,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".readline("+t.valueToCode(this,"SIZE",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},La=function(e,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".writable()",t.ORDER_ATOMIC]},Na=function(e,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".name()",t.ORDER_ATOMIC]},Da=function(e,t){return t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".close()\n"},fa=function(e,t){t.definitions_.import_os="import os";return["os.listdir()",t.ORDER_ATOMIC]},Fa=function(e,t){return t.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+")\n"},Pa=function(e,t){return t.definitions_.import_os="import os",["os.path.getsize("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Ya=function(e,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".tell()",t.ORDER_ATOMIC]},va=function(e,t){var i=this.getFieldValue("MODE"),n=0;return n="start"==i?0:"current"==i?1:2,t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".seek("+t.valueToCode(this,"SIZE",t.ORDER_ATOMIC)+","+n+")\n"},Xa=function(e,t){return t.definitions_.import_os="import os","os.chdir("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+")\n"},ya=function(e,t){t.definitions_.import_os="import os";return["os.getcwd()",t.ORDER_ATOMIC]},ba=function(e,t){return t.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+t.valueToCode(this,"PATH",t.ORDER_ATOMIC)+")\n"},xa=function(e,t){return t.definitions_.import_os="import os","os.rename("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+","+t.valueToCode(this,"NEWFILE",t.ORDER_ATOMIC)+")\n"},Va=function(e,t){t.definitions_.import_os="import os";var i=t.valueToCode(this,"FILE",t.ORDER_ATOMIC);return["os."+this.getFieldValue("MODE")+"("+i+")",t.ORDER_ATOMIC]},Ba=function(e,t){return t.definitions_.import_os="import os",t.definitions_.import_sdcard="import sdcard",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+" = sdcard.SDCard("+t.valueToCode(this,"SPISUB",t.ORDER_ATOMIC)+","+t.valueToCode(this,"PINSUB",t.ORDER_ATOMIC)+")\n"},Ga=function(e,t){return t.definitions_.import_os="import os",t.definitions_.import_sdcard="import sdcard","os.mount("+t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+","+t.valueToCode(this,"DIR",t.ORDER_ATOMIC)+")\n"},Ua=function(e,t){var i=t.variableDB_.getName(this.getFieldValue("NAME"),Re.Procedures.NAME_TYPE),n=(this.getInput("STACK")&&t.statementToCode(this,"STACK"))??" pass\n";t.INFINITE_LOOP_TRAP&&(n=t.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+n);var s=t.valueToCode(this,"RETURN",t.ORDER_NONE)||"";s&&(s=" return "+s+"\n");for(var _=[],o=0;o\n\n\n\t\n"+t.statementToCode(this,"HEAD")+"\n\n"+t.statementToCode(this,"BODY")+"\n\n'''",t.ORDER_ATOMIC]},Cu=function(e,t){var i=t.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"\n"+i+"\n"},Su=function(e,t){var i=t.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");if("head"==n)var s="<"+n+'>\n\t\n'+i+"\n";else s="<"+n+">\n"+i+"\n";return s},Au=function(e,t){var i=t.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"<"+n+">\n"+i+"\n"},Lu=function(e,t){var i=t.statementToCode(this,"DO"),n=t.valueToCode(this,"style"),s=this.getFieldValue("LEVEL");return"<"+s+" "+n+" >\n"+i+"\n"},Nu=function(e,t){return['style="'+t.statementToCode(this,"STYLE")+'"',t.ORDER_ATOMIC]},Du=function(e,t){return'"},fu=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},Fu=function(){return this.getFieldValue("TEXT")+"\n"},Pu=function(e){return e.getFieldValue("TEXT")+"\n"},Yu=function(e,t){return[e.getFieldValue("TEXT"),t.ORDER_ATOMIC]},vu=function(e,t){return(t.valueToCode(e,"VALUE",t.ORDER_ATOMIC)||"")+"\n"},Xu=function(){return""},yu=function(e,t){return["type("+(t.valueToCode(e,"VALUE",t.ORDER_MEMBER)||"___")+")",t.ORDER_ATOMIC]},bu=function(e,t){for(var i=e.getFieldValue("NAME"),n=e.hasReturn_,s=new Array(e.itemCount_),_=0;_0?t.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+e+"while True:\n"+a.join("")+u.join("\n"):t.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+e+u.join("\n")},Gu.scrubNakedValue=function(e){return e+"\n"},Gu.quote_=function(e){var t="'";return-1!==e.indexOf("'")&&(-1===e.indexOf('"')?t='"':e=e.replace(/'/g,"\\'")),t+e+t},Gu.multiline_quote_=function(e){return"'''"+(e=e.replace(/'''/g,"\\'\\'\\'"))+"'''"},Gu.scrub_=function(e,t,i){var n="";if(!e.outputConnection||!e.outputConnection.targetConnection){(_=e.getCommentText())&&(_=Re.utils.string.wrap(_,Gu.COMMENT_WRAP-3),n+=Gu.prefixLines(_+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const Uu="#74A55B",wu={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(Re.Msg.MIXLY_MIDI),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Re.Msg.MIXLY_RGB_PIN_COUNT)}},Hu={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Re.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Re.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},ku={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Re.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(Re.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Re.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},Wu={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(Re.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Ku={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(Re.Msg.MIXLY_BACKSTAGE+Re.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_BACKSTAGE+Re.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Ju={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendValueInput("TICKS").setCheck(Number).appendField(Re.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(Re.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(Re.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},Qu={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},zu={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_MUSIC_RESET)}},qu={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ju={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendValueInput("percent").appendField(Re.Msg.MIXLY_MUSIC_VOLUME_SET),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},$u={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Re.Msg.MIXLY_SETTING).appendField(Re.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Re.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(Re.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_EXTERN_LED_SETONOFF)}},Zu={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Re.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Re.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Re.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},er={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Re.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Re.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Re.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},tr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Re.Msg.MIXLY_SETTING).appendField(Re.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Re.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(Re.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_EXTERN_LED_SETBRIGHT)}},ir={init:function(){this.setColour(Uu),this.appendValueInput("VAR").appendField(Re.Msg.MIXLY_SETUP+Re.Msg.MIXLY_SERVO),this.appendValueInput("PIN",Number).appendField(Re.Msg.MIXLY_PIN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},nr={init:function(){this.setColour(Uu),this.appendValueInput("PIN",Number).appendField(Re.Msg.MIXLY_SERVO).appendField(Re.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("DEGREE",Number).setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_DEGREE_0_180),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_SERVO_MOVE)}},sr={init:function(){this.setColour(Uu),this.appendValueInput("VAR").appendField("360°"+Re.Msg.MIXLY_SERVO),this.appendValueInput("SPEED",Number).setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_SETTING+Re.Msg.blockpy_turtle_rotate+Re.Msg.MIXLY_SPEED+" (-10~10)"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_SERVO_360_TOOLTIP)}},_r={init:function(){this.setColour(Uu),this.appendValueInput("PIN",Number).appendField("180°"+Re.Msg.MIXLY_SERVO).appendField(Re.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_SERVO_MOVE)}},or={init:function(){this.setColour(Uu),this.appendValueInput("PIN",Number).appendField("360°"+Re.Msg.MIXLY_SERVO).appendField(Re.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_SERVO_SPEED_TOOLIPS)}},pr={init:function(){this.setColour(Uu),this.appendValueInput("PIN",Number).appendField("180°"+Re.Msg.MIXLY_SERVO).appendField(Re.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Re.Msg.MIXLY_GET+Re.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},ar={init:function(){this.setColour(Uu),this.appendValueInput("PIN",Number).appendField("360°"+Re.Msg.MIXLY_SERVO).appendField(Re.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Re.Msg.MIXLY_GET+Re.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},ur={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField("初始化").setCheck("var"),this.appendDummyInput().appendField("电机驱动"),this.appendDummyInput().appendField("地址").appendField(new Re.FieldDropdown([["A","ms32006.ADDRESS_A"],["B","ms32006.ADDRESS_B"]]),"mode"),this.appendValueInput("SUB1").setCheck("var").setAlign(Re.inputs.Align.RIGHT).appendField("通信"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("初始化MS32006电机驱动,使用I2C通信")}},rr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField("直流电机").setCheck("var"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_Direction).appendField(new Re.FieldDropdown([[Re.Msg.CLOCKWISE,"ms32006.MOT_CW"],[Re.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"],[Re.Msg.MOTOR_N,"ms32006.MOT_N"],[Re.Msg.MOTOR_P,"ms32006.MOT_P"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_STEPPER_SET_SPEED),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置直流电机的状态及转速(0-100)")}},lr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField("步进电机").setCheck("var"),this.appendDummyInput().appendField("选择").appendField(new Re.FieldDropdown([["A","ms32006.MOT_A"],["B","ms32006.MOT_B"]]),"mode"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_Direction).appendField(new Re.FieldDropdown([[Re.Msg.CLOCKWISE,"ms32006.MOT_CW"],[Re.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField("转速"),this.appendValueInput("steps").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField("步数"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置步进电机的状态、转速、步数(0-2047)")}},dr={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(Re.Msg.MIXLY_RGB),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_PIN),this.appendValueInput("LEDCOUNT").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_COUNT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Re.Msg.MIXLY_RGB_PIN_COUNT)}},Ir={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(Re.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("_LED_").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Re.Msg.MIXLY_RGB_NUM_R_G_B_MP)}},Tr={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(Re.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Re.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},Mr={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(Re.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Re.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Re.Msg.MIXLY_ESP32_MUSIC_WRI)}},hr={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(Re.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(Re.Msg.MIXLY_DURATION).appendField(Re.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},mr={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(Re.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(Re.Msg.PYTHON_RANGE_STEP).appendField(Re.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Er={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(Re.Msg.CONTROLS_FOR_INPUT_WITH+"uart").appendField(new Re.FieldDropdown([["uart1","uart1"],["uart2","uart2"]]),"key"),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_SETUP+Re.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new Re.FieldDropdown([["SYN6288"+Re.Msg.MIXLY_AipSpeech_synthesis,"SYN6288"],["NS9300"+Re.Msg.MIXLY_MUSIC_PLAYER,"NS9300"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Or={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_GET+Re.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_WHETHER).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_STOPPED,"0"],[Re.Msg.MIXLY_PLAYING,"1"],[Re.Msg.MIXLY_PAUSED,"2"]]),"key"),this.setInputsInline(!0),this.setOutput(!0)}},Rr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_STAT).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MP3_PLAY,"1"],[Re.Msg.MIXLY_MP3_PAUSE,"2"],[Re.Msg.MIXLY_STOP,"3"],[Re.Msg.MIXLY_MP3_PREV,"4"],[Re.Msg.MIXLY_MP3_NEXT,"5"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},cr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendValueInput("volume").appendField(Re.Msg.MIXLY_MP3_VOL+Re.Msg.MIXLY_STAT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Re.Msg.MIXLY_PLAYER_SET_VOLUME_TOOLTIP)}},gr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_MODE+Re.Msg.MIXLY_STAT).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MP3_LOOP_ALL,"0"],[Re.Msg.MIXLY_MP3_LOOP_ONE,"1"],[Re.Msg.MIXLY_PLAYER_DIRECTORY_LOOP,"2"],[Re.Msg.MIXLY_MP3_LOOP_RAM,"3"],[Re.Msg.MIXLY_PLAYER_SINGLE_STOP,"4"],[Re.Msg.MIXLY_PLAYER_SEQUENTIAL_PLAY,"5"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Cr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MICROBIT_JS_START_MELODY,"play"],[Re.Msg.MIXLY_PLAYER_INSERT_MUSIC,"insert"]]),"key"),this.appendValueInput("song"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Re.Msg.MIXLY_PLAYER_PLAY_MUSIC_TOOTIP)}},Sr={},Ar={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(Re.Msg.MIXLY_SET_VOLUME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},Lr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendDummyInput().appendField(Re.Msg.MIXLY_GET_VOLUME),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},Nr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(Re.Msg.MIXLY_PLAY_HINTS),this.appendDummyInput().appendField(Re.Msg.MIXLY_PROGRAM_BLOCK).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Re.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_PLAY_HINTS_TOOLTIP)}},Dr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("data").setCheck(String).appendField(Re.Msg.MIXLY_AipSpeech_synthesis),this.appendValueInput("VOICE").setCheck(Number).appendField(Re.Msg.MIXLY_BACKGROUND_MUSIC),this.appendDummyInput().appendField(Re.Msg.MIXLY_PROGRAM_BLOCK).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Re.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_PLAY_TTS_TOOLTIP)}},fr={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.extern_addr),"PIN"),this.setOutput(!0,Number)}},Fr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Re.Msg.ME_GO_MOTOR_EXTERN+Re.Msg.MIXLY_MOTOR).appendField(Re.Msg.PIN_NUMBERING).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_LEFT,"0"],[Re.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},Pr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Re.Msg.ME_GO_MOTOR_EXTERN+Re.Msg.MIXLY_MOTOR).appendField(Re.Msg.PIN_NUMBERING).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_LEFT,"0"],[Re.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_GET+Re.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},Yr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Re.Msg.ME_GO_MOTOR_EXTERN+Re.Msg.MIXLY_TRAFFIC_LIGHT).appendField(Re.Msg.PIN_NUMBERING).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_LEFT,"0"],[Re.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.LISTS_SET_INDEX_SET).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MICROBIT_Turn_off_display,"0"],[Re.Msg.MIXLY_TRAFFIC_LIGHT_RED_ON,"1"],[Re.Msg.MIXLY_TRAFFIC_LIGHT_RED_BLINK,"2"],[Re.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_ON,"3"],[Re.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_BLINK,"4"],[Re.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_ON,"5"],[Re.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_BLINK,"6"]]),"light"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},vr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Re.Msg.ME_GO_MOTOR_EXTERN).appendField(new Re.FieldDropdown([[Re.Msg.COLOUR_RGB_WHITE,"W"],[Re.Msg.COLOUR_RGB_RED,"R"],[Re.Msg.COLOUR_RGB_YELLOW,"Y"],[Re.Msg.COLOUR_RGB_GREEN,"G"],[Re.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(Re.Msg.PIN_NUMBERING).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_LEFT,"0"],[Re.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("value").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Xr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Re.Msg.ME_GO_MOTOR_EXTERN).appendField(new Re.FieldDropdown([[Re.Msg.COLOUR_RGB_WHITE,"W"],[Re.Msg.COLOUR_RGB_RED,"R"],[Re.Msg.COLOUR_RGB_YELLOW,"Y"],[Re.Msg.COLOUR_RGB_GREEN,"G"],[Re.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(Re.Msg.PIN_NUMBERING).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_LEFT,"0"],[Re.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Re.Msg.MIXLY_GET+Re.Msg.BRIGHTNESS),this.setOutput(!0,Number),this.setInputsInline(!0)}},yr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Re.Msg.ME_GO_MOTOR_EXTERN+Re.Msg.MIXLY_SERVO_MOTOR).appendField(Re.Msg.PIN_NUMBERING).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_LEFT,"0"],[Re.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Re.Msg.MIXLY_GET).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"[0]"],[Re.Msg.MIXLY_SPEED,"[1]"],[Re.Msg.MATH_SINGLE_OP_ABSOLUTE+Re.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[2]"],[Re.Msg.MIXLY_RELATIVE+Re.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[3]"],[Re.Msg.MIXLY_MIXBOT_SERVO_BLOCK_OR_NOT,"[4]"],[Re.Msg.MIXLY_MIXBOT_SERVO_FINISH_OR_NOT,"[5]"],[Re.Msg.MIXLY_ALL,""]]),"status"),this.setOutput(!0,Number),this.setInputsInline(!0)}},br={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Re.Msg.ME_GO_MOTOR_EXTERN+Re.Msg.MIXLY_SERVO_MOTOR).appendField(Re.Msg.PIN_NUMBERING).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_LEFT,"0"],[Re.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MIXBOT_SERVO_SET_STOP_MODE).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_KEEP,"0"],[Re.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_COAST,"1"],[Re.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_BRAKE,"2"]]),"status"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},xr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Re.Msg.ME_GO_MOTOR_EXTERN+Re.Msg.MIXLY_SERVO_MOTOR).appendField(Re.Msg.PIN_NUMBERING).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_LEFT,"0"],[Re.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Re.Msg.MIXLY_STOP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Vr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Re.Msg.ME_GO_MOTOR_EXTERN+Re.Msg.MIXLY_SERVO_MOTOR).appendField(Re.Msg.MATH_SINGLE_OP_ABSOLUTE+Re.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+Re.Msg.MSG.run).appendField(Re.Msg.PIN_NUMBERING).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_LEFT,"0"],[Re.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MODE).setAlign(Re.inputs.Align.RIGHT).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_SPEED+Re.Msg.MIXLY_MODE,"0"],[Re.Msg.MIXLY_MICROBIT_JS_BLE_POWER+Re.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(Re.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(Re.inputs.Align.RIGHT).appendField(new Re.FieldDropdown([[Re.Msg.CLOCKWISE,"0"],[Re.Msg.MIXLY_MIXBOT_SERVO_NEAREST_PATH,"1"],[Re.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.appendValueInput("angle").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+Re.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_MIXBOT_SERVO_ABSOLUTE_ANGLE_TOOLTIP)}},Br={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Re.Msg.ME_GO_MOTOR_EXTERN+Re.Msg.MIXLY_SERVO_MOTOR).appendField(Re.Msg.MIXLY_RELATIVE+Re.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+Re.Msg.MSG.run).appendField(Re.Msg.PIN_NUMBERING).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_LEFT,"0"],[Re.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ORIGIN_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Gr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Re.Msg.ME_GO_MOTOR_EXTERN+Re.Msg.MIXLY_SERVO_MOTOR).appendField(Re.Msg.MIXLY_RELATIVE+Re.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+Re.Msg.MSG.run).appendField("("+Re.Msg.MIXLY_MIXBOT_SERVO_LIKE_ENCODING_MOTOR+")").appendField(Re.Msg.PIN_NUMBERING).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_LEFT,"0"],[Re.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MODE).setAlign(Re.inputs.Align.RIGHT).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_SPEED+Re.Msg.MIXLY_MODE,"0"],[Re.Msg.MIXLY_MICROBIT_JS_BLE_POWER+Re.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(Re.inputs.Align.RIGHT).appendField("%"),this.appendValueInput("angle").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+Re.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ANGLE_TOOLTIP)}},Ur={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Re.Msg.ME_GO_MOTOR_EXTERN+Re.Msg.MIXLY_SERVO_MOTOR).appendField(Re.Msg.MIXLY_RELATIVE+Re.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+Re.Msg.MSG.run).appendField("("+Re.Msg.MIXLY_MIXBOT_SERVO_LIKE_ORDINARY_MOTOR+")").appendField(Re.Msg.PIN_NUMBERING).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_LEFT,"0"],[Re.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MODE).setAlign(Re.inputs.Align.RIGHT).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_SPEED+Re.Msg.MIXLY_MODE,"0"],[Re.Msg.MIXLY_MICROBIT_JS_BLE_POWER+Re.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(Re.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(Re.inputs.Align.RIGHT).appendField(new Re.FieldDropdown([[Re.Msg.CLOCKWISE,"0"],[Re.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},wr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Re.Msg.MIXBOT).appendField(Re.Msg.ME_GO_MOTOR_EXTERN).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MOTOR,"ext_motor"],[Re.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[Re.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[Re.Msg.COLOUR_RGB_RED+"LED","R_LED"],[Re.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[Re.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[Re.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[Re.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MIXBOT_EXTERN_GET_ADDR),this.setOutput(!0),this.setInputsInline(!0)}},Hr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Re.Msg.MIXBOT).appendField(Re.Msg.ME_GO_MOTOR_EXTERN).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MOTOR,"ext_motor"],[Re.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[Re.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[Re.Msg.COLOUR_RGB_RED+"LED","R_LED"],[Re.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[Re.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[Re.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[Re.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MIXBOT_EXTERN_SET_ADDR),this.appendValueInput("old").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE),this.appendValueInput("new").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_UPDATE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},kr={init:function(){this.setColour(Uu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_SETUP+Re.Msg.MIXLY_AT).appendField(Re.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},Wr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Re.Msg.MIXLY_SETTING),this.appendValueInput("pin").appendField("LED"),this.appendValueInput("bright").appendField(Re.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Kr={init:function(){this.setColour(Uu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_SERVO+Re.Msg.MIXLY_SETUP+Re.Msg.MIXLY_AT).appendField(Re.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},Jr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_SERVO),this.appendValueInput("angle").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_DISPLAY_MATRIX_ROTATE),this.appendDummyInput().appendField(Re.Msg.DRAW_POINTER_ANGLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Qr={init:function(){this.setColour(Uu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_MOTOR+Re.Msg.MIXLY_SETUP+Re.Msg.MIXLY_AT).appendField(Re.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},zr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_MOTOR),this.appendValueInput("speed").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+Re.Msg.MIXLY_SPEED),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},qr="#6C9858",jr={init:function(){this.setColour(qr),this.appendDummyInput("").appendField(new Re.FieldDropdown([["L1","1"],["L2","2"]]),"op"),this.setOutput(!0)}},$r={init:function(){this.setColour(qr),this.appendDummyInput("").appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_ESP32_ON,"1"],[Re.Msg.MIXLY_ESP32_OFF,"0"],[Re.Msg.MIXLY_ESP32_TOGGLE,"-1"]]),"flag"),this.setOutput(!0),this.setTooltip(Re.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},Zr={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(Re.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(Re.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_LED_SETONOFF)}},el={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(Re.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(Re.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_LED_GETBRIGHT)}},tl={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(Re.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(Re.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_LED_GETONOFF)}},il={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(Re.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(Re.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_SETTING+Re.Msg.MIXLY_BUILDIN_LED+Re.Msg.MIXLY_BRIGHTNESS+"(0-100%)")}},nl={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(Re.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput("").appendField(Re.Msg.MIXLY_LCD_SETCOLOR).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_LIGHT_RED,"1"],[Re.Msg.MIXLY_LIGHT_GREEN,"2"],[Re.Msg.MIXLY_LIGHT_BLUE,"3"],[Re.Msg.MIXLY_LIGHT_YELLOW,"4"],[Re.Msg.MIXLY_LIGHT_CYAN,"5"],[Re.Msg.MIXLY_LIGHT_PURPLE,"6"],[Re.Msg.MIXLY_LIGHT_WHITE,"7"]]),"colorvalue"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},sl={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MIXLY_SETTING).appendField(Re.Msg.MIXLY_BUILDIN_LED).appendField(new Re.FieldDropdown([[Re.Msg.COLOUR_RGB_RED,"r"],[Re.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(Re.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_LED_SETONOFF)}},_l={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Re.Msg.MIXLY_BUILDIN_LED).appendField(new Re.FieldDropdown([[Re.Msg.COLOUR_RGB_RED,"r"],[Re.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(Re.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_LED_GETONOFF)}},ol={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Re.Msg.MIXLY_BUILDIN_LED).appendField(new Re.FieldDropdown([[Re.Msg.COLOUR_RGB_RED,"r"],[Re.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(Re.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_LED_GETONOFF)}},pl={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MIXLY_SETTING).appendField(Re.Msg.MIXLY_BUILDIN_LED).appendField(new Re.FieldDropdown([[Re.Msg.COLOUR_RGB_RED,"r"],[Re.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(Re.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_SETTING+Re.Msg.MIXLY_BUILDIN_LED+Re.Msg.MIXLY_BRIGHTNESS+"(0-10)")}},al={init:function(){this.setColour(qr),this.appendDummyInput("").appendField(new Re.FieldDropdown([["L1","20"],["L2","21"]]),"op"),this.setOutput(!0)}},ul={init:function(){this.setColour(qr),this.appendDummyInput("").appendField(Re.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(ce.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgo_cc":case"micropython:esp32s2:mixgo_ce":this.setTooltip(Re.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgo_me":default:this.setTooltip(Re.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(Re.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},rl={init:function(){this.setColour(qr),this.appendDummyInput("").appendField(Re.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Re.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},ll={init:function(){this.setColour(qr),this.appendDummyInput("").appendField(Re.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(Re.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(Re.Msg.MIXLY_DURATION).appendField(Re.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},dl={init:function(){this.setColour(qr),this.appendDummyInput("").appendField(Re.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(Re.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(Re.Msg.PYTHON_RANGE_STEP).appendField(Re.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Il={init:function(){this.setColour(qr),this.appendDummyInput("").appendField(Re.Msg.MIXLY_RGB),this.appendDummyInput().appendField(Re.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Re.Msg.MIXLY_ESP32_MUSIC_WRI)}},Tl={init:function(){this.setColour(qr),this.appendDummyInput("").appendField(Re.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(ce.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgocc":this.setTooltip(Re.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgome":default:this.setTooltip(Re.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(Re.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},Ml={init:function(){this.setColour(qr),this.appendDummyInput("").appendField(Re.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Re.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},hl={init:function(){this.setColour(qr),this.appendDummyInput("").appendField(Re.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(Re.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(Re.Msg.PYTHON_RANGE_STEP).appendField(Re.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},ml={init:function(){this.setColour(qr),this.appendValueInput("TICKS").setCheck(Number).appendField(Re.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(Re.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(Re.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},El={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},Ol={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_MUSIC_RESET)}},Rl={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Re.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Re.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},cl={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Re.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(Re.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Re.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},gl={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Cl={init:function(){this.setColour(qr),this.appendValueInput("LIST").appendField(Re.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Sl={init:function(){this.setColour(qr),this.appendValueInput("LIST").appendField(Re.Msg.MIXLY_BACKSTAGE+Re.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Al={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MOTOR_DC).appendField(new Re.FieldDropdown([["1","1"],["2","2"],["3","3"]]),"wheel"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_Direction).appendField(new Re.FieldDropdown([[Re.Msg.CLOCKWISE,"CW"],[Re.Msg.ANTI_CLOCKWISE,"CCW"],[Re.Msg.MOTOR_P,"P"],[Re.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Ll={init:function(){this.setColour(qr),this.appendDummyInput().appendField("MixGo Car").appendField(new Re.FieldDropdown([[Re.Msg.blockpy_forward,"F"],[Re.Msg.blockpy_backward,"B"],[Re.Msg.blockpy_left,"L"],[Re.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Nl={init:function(){this.setColour(qr),this.appendDummyInput("").appendField("MixGo Car").appendField(new Re.FieldDropdown([[Re.Msg.MOTOR_P,"P"],[Re.Msg.MOTOR_N,"N"]]),"VAR"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Dl={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MOTOR_DC).appendField(new Re.FieldDropdown([[Re.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[Re.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_Direction).appendField(new Re.FieldDropdown([[Re.Msg.CLOCKWISE,"CW"],[Re.Msg.ANTI_CLOCKWISE,"CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},fl={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MOTOR_DC).appendField(new Re.FieldDropdown([[Re.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[Re.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(Re.Msg.MIXLY_STOP).appendField(new Re.FieldDropdown([[Re.Msg.MOTOR_P,"P"],[Re.Msg.MOTOR_N,"N"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Fl={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MIXLY_MIXBOT_MOTOR_STATUS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_MIXBOT_MOTOR_STATUS_TOOLTIP)}},Pl={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MIXBOT).appendField(new Re.FieldDropdown([[Re.Msg.blockpy_forward,"F"],[Re.Msg.blockpy_backward,"B"],[Re.Msg.blockpy_left,"L"],[Re.Msg.blockpy_right,"R"]]),"VAR"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[Re.Msg.MIXLY_SPEED,"SPEED"],[Re.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},Yl={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MIXBOT).appendField(new Re.FieldDropdown([[Re.Msg.MOTOR_P,"P"],[Re.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},vl={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MIXBOT).appendField(Re.Msg.MIXLY_MOTOR).appendField(new Re.FieldDropdown([[Re.Msg.TEXT_TRIM_LEFT,"1"],[Re.Msg.TEXT_TRIM_RIGHT,"2"],[Re.Msg.TEXT_TRIM_BOTH,"0"]]),"wheel"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[Re.Msg.MIXLY_SPEED,"SPEED"],[Re.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},Xl={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MIXLY_MIXBOT_BUZZER),this.appendDummyInput().appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,"0"],[Re.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,"1"]]),"on_off"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},yl={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.BITBOT).appendField(new Re.FieldDropdown([[Re.Msg.blockpy_forward,"F"],[Re.Msg.blockpy_backward,"B"],[Re.Msg.blockpy_left,"L"],[Re.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},bl={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.BITBOT).appendField(new Re.FieldDropdown([[Re.Msg.MOTOR_P,"P"],[Re.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},xl={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.BITBOT).appendField(Re.Msg.MIXLY_MOTOR).appendField(new Re.FieldDropdown([[Re.Msg.TEXT_TRIM_LEFT,"0"],[Re.Msg.TEXT_TRIM_RIGHT,"1"]]),"wheel"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_Direction).appendField(new Re.FieldDropdown([[Re.Msg.CLOCKWISE,"CW"],[Re.Msg.ANTI_CLOCKWISE,"CCW"],[Re.Msg.MOTOR_P,"P"],[Re.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Vl={init:function(){this.setColour(qr),this.appendValueInput("bright").appendField(Re.Msg.MIXLY_MIXBOT_SOUND_SET_LOUDNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_LED_SETONOFF)}},Bl={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MIXLY_MIXBOT_SOUND_LOUDNESS+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_LED_GETONOFF)}},Gl={init:function(){this.setColour(qr),this.appendValueInput("bright").appendField(Re.Msg.MIXLY_SETTING+Re.Msg.MIXLY_MIXBOT_BUZZER+Re.Msg.MIXLY_MP3_VOL),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_LED_SETONOFF)}},Ul={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MIXLY_GET+Re.Msg.MIXLY_MIXBOT_BUZZER+Re.Msg.MIXLY_MP3_VOL+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_LED_GETONOFF)}},wl={init:function(){this.setColour(qr),this.appendValueInput("PATH").appendField(Re.Msg.MIXLY_RECORD_AUDIO).appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendValueInput("TIME").setCheck(Number).appendField(Re.Msg.MIXLY_GET_PRESSES_TIME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Hl={init:function(){this.setColour(qr),this.appendValueInput("PATH").appendField(Re.Msg.MIXLY_PLAY_AUDIO).appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},kl={init:function(){this.setColour(qr),this.appendValueInput("PATH").appendField(Re.Msg.MIXLY_PLAY_ONLINE_AUDIO).appendField("URL"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Wl={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Re.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Re.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Kl={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Jl={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.LISTS_SET_INDEX_SET+Re.Msg.ME_GO_MOTOR_EXTERN).appendField(Re.Msg.PIN_NUMBERING);switch(ce.Boards.getSelectedBoardKey()){case"micropython:esp32c2:mixgo_mini":this.appendDummyInput().appendField(new Re.FieldDropdown([["1","1"],["2","2"]]),"index");break;case"micropython:esp32c5:mixgo_sowl":this.appendDummyInput().appendField(new Re.FieldDropdown([["1","1"],["2","2"],["4","4"],["5","5"]]),"index");break;default:this.appendDummyInput().appendField(new Re.FieldDropdown([["1","1"],["2","2"],["3","3"],["4","4"]]),"index")}this.appendValueInput("duty").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.blynk_IOT_IR_POWER+Re.Msg.MIXLY_PINMODEOUT),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},Ql={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MIXLY_GET+Re.Msg.ME_GO_MOTOR_EXTERN).appendField(Re.Msg.PIN_NUMBERING);switch(ce.Boards.getSelectedBoardKey()){case"micropython:esp32c2:mixgo_mini":this.appendDummyInput().appendField(new Re.FieldDropdown([["1","1"],["2","2"]]),"index");break;case"micropython:esp32c5:mixgo_sowl":this.appendDummyInput().appendField(new Re.FieldDropdown([["1","1"],["2","2"],["4","4"],["5","5"]]),"index");break;default:this.appendDummyInput().appendField(new Re.FieldDropdown([["1","1"],["2","2"],["3","3"],["4","4"]]),"index")}this.appendDummyInput().setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.blynk_IOT_IR_POWER+Re.Msg.MIXLY_PINMODEOUT+Re.Msg.MIXLY_DUTY_RATIO),this.setOutput(!0,Number),this.setInputsInline(!0)}},zl={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.LISTS_SET_INDEX_SET+Re.Msg.ME_GO_MOTOR_EXTERN).appendField(Re.Msg.MIXLY_ALL+Re.Msg.PIN_NUMBERING),this.appendValueInput("duty").setCheck(Number).setAlign(Re.ALIGN_RIGHT).appendField(Re.Msg.blynk_IOT_IR_POWER+Re.Msg.MIXLY_PINMODEOUT+Re.Msg.MIXLY_FREQUENCY),this.appendDummyInput().appendField("Hz"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},ql={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.LISTS_SET_INDEX_SET+Re.Msg.ME_GO_MOTOR_EXTERN).appendField(new Re.FieldDropdown([["1-2","1"],["4-5","4"]]),"index"),this.appendValueInput("duty").setCheck(Number).setAlign(Re.ALIGN_RIGHT).appendField(Re.Msg.blynk_IOT_IR_POWER+Re.Msg.MIXLY_PINMODEOUT+Re.Msg.MIXLY_FREQUENCY),this.appendDummyInput().appendField("Hz"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},jl={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.ANALOG+Re.Msg.MIXLY_KEYBOARD_INPUT),this.appendValueInput("special"),this.appendValueInput("general"),this.appendDummyInput().appendField(Re.Msg.MIXLY_RELEASE).appendField(new Re.FieldDropdown([[Re.Msg.MICROPYTHON_DISPLAY_YES,"True"],[Re.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"release"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.ANALOG+Re.Msg.MIXLY_KEYBOARD_INPUT)}},$l={init:function(){this.setColour(qr),this.appendDummyInput("").appendField(Re.Msg.MIXLY_SPECIAL_KEY).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_SPECIAL_KEY0,"0x00"],[Re.Msg.MIXLY_SPECIAL_KEY1,"0x01"],[Re.Msg.MIXLY_SPECIAL_KEY2,"0x02"],[Re.Msg.MIXLY_SPECIAL_KEY4,"0x04"],[Re.Msg.MIXLY_SPECIAL_KEY8,"0x08"],[Re.Msg.MIXLY_SPECIAL_KEY16,"0x10"],[Re.Msg.MIXLY_SPECIAL_KEY32,"0x20"],[Re.Msg.MIXLY_SPECIAL_KEY64,"0x40"],[Re.Msg.MIXLY_SPECIAL_KEY128,"0x80"]]),"op"),this.setOutput(!0)}},Zl={init:function(){this.setColour(qr),this.appendDummyInput("").appendField(Re.Msg.MIXLY_GENERAL_KEY).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_SPECIAL_KEY0,"0x00"],["A","0x04"],["B","0x05"],["C","0x06"],["D","0x07"],["E","0x08"],["F","0x09"],["G","0x0A"],["H","0x0B"],["I","0x0C"],["J","0x0D"],["K","0x0E"],["L","0x0F"],["M","0x10"],["N","0x11"],["O","0x12"],["P","0x13"],["Q","0x14"],["R","0x15"],["S","0x16"],["T","0x17"],["U","0x18"],["V","0x19"],["W","0x1A"],["X","0x1B"],["Y","0x1C"],["Z","0x1D"],["1 !","0x1E"],["2 @","0x1F"],["3 #","0x20"],["4 $","0x21"],["5 %","0x22"],["6 ^","0x23"],["7 &","0x24"],["8 *","0x25"],["9 (","0x26"],["0 )","0x27"],["ENTER","0x28"],["ESC","0x29"],["BACKSPACE","0x2A"],["TAB","0x2B"],["SPACE","0x2C"],["- _","0x2D"],["= +","0x2E"],["[ {","0x2F"],["] }","0x30"],["\\ |","0x31"],["; :","0x33"],["' \"","0x34"],["` ~","0x35"],[", <","0x36"],[". >","0x37"],["/ ?","0x38"],["CAPS_LOCK","0x39"],["F1","0x3A"],["F2","0x3B"],["F3","0x3C"],["F4","0x3D"],["F5","0x3E"],["F6","0x3F"],["F7","0x40"],["F8","0x41"],["F9","0x42"],["F10","0x43"],["F11","0x44"],["F12","0x45"],["PRINTSCREEN","0x46"],["SCROLL_LOCK","0x47"],["PAUSE","0x48"],["INSERT","0x49"],["HOME","0x4A"],["PAGE_UP","0x4B"],["DELETE","0x4C"],["END","0x4D"],["PAGE_DOWN","0x4E"],["RIGHT","0x4F"],["LEFT","0x50"],["DOWN","0x51"],["UP","0x52"],["NUM_LOCK","0x53"],["/","0x54"],["*","0x55"],["-","0x56"],["+","0x57"],["ENTER","0x58"],["1","0x59"],["2","0x5A"],["3","0x5B"],["4","0x5C"],["5","0x5D"],["6","0x5E"],["7","0x5F"],["8","0x60"],["9","0x61"],["0","0x62"],[".","0x63"]]),"op"),this.setOutput(!0)}},ed={init:function(){this.setColour(qr),this.itemCount_=2,this.updateShape_(),this.setOutput(!0),this.setMutator(new Re.icons.MutatorIcon(["generalkey_create_with_item"],this)),this.setTooltip(Re.Msg.GENERALKEY_TUPLE_CREATE_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("generalkey_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;nnew Array(32).fill(0)))},jm={init:function(){this.jsonInit({colour:Gm,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SAD","SAD"],["SMILE","SMILE"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["SURPRISED","SURPRISED"],["ASLEEP","ASLEEP"],["ANGRY","ANGRY"],["CONFUSED","CONFUSED"],["NO","NO"],["YES","YES"]],type:"field_dropdown"}],output:["esp32_image","List"],helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#attributes",tooltip:Re.Msg.MIXLY_MICROBIT_Built_in_image1,message0:Re.Msg.MIXLY_MICROBIT_Built_in_image})}},$m={init:function(){this.setColour(Gm),this.appendDummyInput("").appendField(Re.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new Re.FieldDropdown(ce.Profile.default.builtinimg),"image"),this.setOutput(!0,["esp32_image","List"])}},Zm={init:function(){this.setColour(Gm),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(Re.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new Re.FieldDropdown(Zm.OPERATORS),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{"+":Re.Msg.MIXLY_MICROBIT_image_add,"-":Re.Msg.MIXLY_MICROBIT_image_reduce}[t]}))},OPERATORS:[[Re.Msg.MICROBIT_DISPLAY_UNION,"add"],[Re.Msg.MICROBIT_DISPLAY_MINUS,"sub"]]},eE={init:function(){this.setColour(Gm),this.appendValueInput("A").setCheck("esp32_image").appendField(Re.Msg.MIXLY_MICROBIT_Invert_image1),this.setInputsInline(!0),this.setOutput(!0,"esp32_image")}},tE={init:function(){this.setColour(Gm),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(Re.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(Re.Msg.DISPLAY_IMAGE_LET2).appendField(new Re.FieldDropdown(tE.OPERATORS),"OP"),this.appendValueInput("val").appendField(Re.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(Re.Msg.DISPLAY_IMAGE_UNIT),["Python ESP32-S3","Python ESP32-C5"].includes(ce.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Re.Msg.MIXLY_synchronize);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i=Re.Msg.DISPLAY_IMAGE_LET,n=Re.Msg.DISPLAY_IMAGE_LET2,s=Re.Msg.DISPLAY_IMAGE_LET3;return i+n+{shift_up:Re.Msg.MIXLY_UP,shift_down:Re.Msg.MIXLY_DOWN,shift_left:Re.Msg.MIXLY_LEFT,shift_right:Re.Msg.MIXLY_RIGHT}[t]+s}))},OPERATORS:[[Re.Msg.MIXLY_UP,"shift_up"],[Re.Msg.MIXLY_DOWN,"shift_down"],[Re.Msg.MIXLY_LEFT,"shift_left"],[Re.Msg.MIXLY_RIGHT,"shift_right"]]},iE={init:function(){this.setColour(Gm),this.appendValueInput("x").setCheck(Number).appendField(Re.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Re.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(Re.Msg.MIXLY_ESP32_JS_MONITOR_GET_POINT),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Re.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},nE={init:function(){this.setColour(Gm),this.appendValueInput("x").setCheck(Number).appendField(Re.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(Re.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Re.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},sE={init:function(){this.setColour(Gm),this.appendDummyInput().appendField(Re.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Re.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},_E={init:function(){this.setColour(Gm),this.appendValueInput("x").setCheck(Number).appendField(Re.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},oE={init:function(){this.setColour(Gm),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_Clear_display),["Python ESP32-S3","Python ESP32-C5"].includes(ce.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Re.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_MICROBIT_Clear_display)}},pE={init:function(){this.setColour(Gm),this.appendDummyInput().appendField(Re.Msg.MIXLY_SHOW+Re.Msg.MIXLY_DISPLAY_MATRIX_WRITE_NOW),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},aE={init:function(){this.appendDummyInput("").appendField(Re.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let e=0;e<5;e++){let t=this.appendDummyInput();for(let i=0;i<8;i++)t.appendField(new Re.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),e+"-"+i)}this.appendDummyInput().appendField(`(${Re.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(Gm),this.setTooltip(Re.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Re.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},uE={init:function(){this.appendDummyInput("").appendField(Re.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Re.inputs.Align.CENTRE).appendField(new Re.FieldBitmap(uE.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Gm),this.setTooltip(Re.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(8).fill(0)))},rE={init:function(){this.appendDummyInput("").appendField(Re.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let e=0;e<8;e++){let t=this.appendDummyInput();for(let i=0;i<12;i++)t.appendField(new Re.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),e+"-"+i)}this.appendDummyInput().appendField(`(${Re.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(Gm),this.setTooltip(Re.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Re.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},lE={init:function(){this.appendDummyInput("").appendField(Re.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Re.inputs.Align.CENTRE).appendField(new Re.FieldBitmap(lE.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Gm),this.setTooltip(Re.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(12).fill(0)))},dE={init:function(){this.appendDummyInput("").appendField(Re.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let e=0;e<8;e++){let t=this.appendDummyInput();for(let i=0;i<16;i++)t.appendField(new Re.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),e+"-"+i)}this.appendDummyInput().appendField(`(${Re.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0,"esp32_image"),this.setColour(Gm),this.setTooltip(Re.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Re.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},IE={init:function(){this.appendDummyInput("").appendField(Re.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Re.inputs.Align.CENTRE).appendField(new Re.FieldBitmap(IE.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Gm),this.setTooltip(Re.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(16).fill(0)))},TE={init:function(){this.setColour(Gm),this.appendDummyInput().appendField(Re.Msg.OLED_SET_FONT).appendField(new Re.FieldDropdown(TE.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[["4x5"+Re.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'4x5'"],["5x5"+Re.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'5x5'"],["5x8"+Re.Msg.MIXGO_ME_DISPLAY_VERTICAL,"'5x8'"]]},ME={init:function(){this.setColour(Gm),this.appendValueInput("data").appendField(Re.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.OLED_BITMAP_OR_STRING)}},hE={init:function(){this.setColour(Gm),this.appendValueInput("data").appendField(Re.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Re.Msg.MIXLY_MICROBIT_JS_NUMBER),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.OLED_BITMAP_OR_STRING)}},mE={init:function(){this.setColour(Gm),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(Re.Msg.OLED_DRAWSTR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.OLED_BITMAP_OR_STRING)}},EE={init:function(){this.setColour(Gm),this.appendValueInput("data").appendField(Re.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Re.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(Re.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(Re.Msg.TEXT_CENTER).appendField(new Re.FieldDropdown([[Re.Msg.MICROPYTHON_DISPLAY_YES,"True"],[Re.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},OE={init:function(){this.setColour(Gm),this.appendValueInput("data").appendField(Re.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Re.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(Re.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(Re.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},RE={init:function(){this.setColour(Gm),this.appendValueInput("data").appendField(Re.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(Re.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(Re.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},cE={init:function(){this.setColour(Gm),this.appendValueInput("x").setCheck(Number).appendField(Re.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(Re.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Re.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},gE={init:function(){this.jsonInit({colour:Gm,args0:[{name:"state",options:[[Re.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[Re.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"shape",options:[[Re.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[Re.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"}],inputsInline:!0,helpUrl:Re.Msg.mpython_HELPURL,tooltip:Re.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:Re.Msg.MPYTHON_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},CE={init:function(){this.jsonInit({colour:Gm,args0:[{name:"state",options:[[Re.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[Re.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"dir_h_v",options:[[Re.Msg.mpython_vertical,"0"],[Re.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"}],inputsInline:!0,helpUrl:Re.Msg.mpython_HELPURL,tooltip:Re.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:Re.Msg.MPYTHON_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},SE={init:function(){this.jsonInit({colour:Gm,args0:[{name:"state",options:[[Re.Msg.mpython_display_hline_1,"1"],[Re.Msg.mpython_display_hline_0,"0"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"}],inputsInline:!0,helpUrl:Re.Msg.mpython_HELPURL,tooltip:Re.Msg.mpython_display_line_TOOLTIP,message0:Re.Msg.mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},AE={init:function(){this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new Re.FieldDropdown(AE.IMAGES),"path"),this.setColour(Gm),this.setOutput(!0)},IMAGES:[["Heart","expression_picture.Heart"],["Angry","expression_picture.Angry"],["Bored","expression_picture.Bored"],["Confused","expression_picture.Confused"],["Happy","expression_picture.Happy"],["Paper","expression_picture.Paper"],["Rock","expression_picture.Rock"],["Sad","expression_picture.Sad"],["Scissors","expression_picture.Scissors"],["Silly","expression_picture.Silly"],["Sleep","expression_picture.Sleep"],["Small_heart","expression_picture.Small_heart"],["Small_paper","expression_picture.Small_paper"],["Small_rock","expression_picture.Small_rock"],["Small_scissors","expression_picture.Small_scissors"],["Smile","expression_picture.Smile"],["Surprise","expression_picture.Surprise"],["Wonderful","expression_picture.Wonderful"],["Eyes_Angry","eye_picture.Eyes_Angry"],["Awake","eye_picture.Awake"],["Black_eye","eye_picture.Black_eye"],["Bottom_left","eye_picture.Bottom_left"],["Bottom_right","eye_picture.Bottom_right"],["Crazy_1","eye_picture.Crazy_1"],["Crazy_2","eye_picture.Crazy_2"],["Disappointed","eye_picture.Disappointed"],["Dizzy","eye_picture.Dizzy"],["Down","eye_picture.Down"],["Evil","eye_picture.Evil"],["Hurt","eye_picture.Hurt"],["Knocked_out","eye_picture.Knocked_out"],["Love","eye_picture.Love"],["Middle_left","eye_picture.Middle_left"],["Middle_right","eye_picture.Middle_right"],["Neutral","eye_picture.Neutral"],["Nuclear","eye_picture.Nuclear"],["Pinch_left","eye_picture.Pinch_left"],["Pinch_middle","eye_picture.Pinch_middle"],["Pinch_right","eye_picture.Pinch_right"],["Tear","eye_picture.Tear"],["Tired_left","eye_picture.Tired_left"],["Tired_middle","eye_picture.Tired_middle"],["Tired_right","eye_picture.Tired_right"],["Toxic","eye_picture.Toxic"],["Up","eye_picture.Up"],["Winking","eye_picture.Winking"],["Accept","informatio_picture.Accept"],["Backward","informatio_picture.Backward"],["Decline","informatio_picture.Decline"],["Forward","informatio_picture.Forward"],["Left","informatio_picture.Left"],["No_go","informatio_picture.No_go"],["Question_mark","informatio_picture.Question_mark"],["Right","informatio_picture.Right"],["Stop_1","informatio_picture.Stop_1"],["Stop_2","informatio_picture.Stop_2"],["Thumbs_down","informatio_picture.Thumbs_down"],["Thumbs_up","informatio_picture.Thumbs_up"],["Warning","informatio_picture.Warning"],["Bomb","object_picture.Bomb"],["Boom","object_picture.Boom"],["Fire","object_picture.Fire"],["Flowers","object_picture.Flowers"],["Forest","object_picture.Forest"],["Lightning","object_picture.Lightning"],["Light_off","object_picture.Light_off"],["Light_on","object_picture.Light_on"],["Night","object_picture.Night"],["Pirate","object_picture.Pirate"],["Snow","object_picture.Snow"],["Target","object_picture.Target"],["Bar_0","progres_picture.Bar_0"],["Bar_1","progres_picture.Bar_1"],["Bar_2","progres_picture.Bar_2"],["Bar_3","progres_picture.Bar_3"],["Bar_4","progres_picture.Bar_4"],["Dial_0","progres_picture.Dial_0"],["Dial_1","progres_picture.Dial_1"],["Dial_2","progres_picture.Dial_2"],["Dial_3","progres_picture.Dial_3"],["Dial_4","progres_picture.Dial_4"],["Dots_0","progres_picture.Dots_0"],["Dots_1","progres_picture.Dots_1"],["Dots_2","progres_picture.Dots_2"],["Dots_3","progres_picture.Dots_3"],["Hourglass_0","progres_picture.Hourglass_0"],["Hourglass_1","progres_picture.Hourglass_1"],["Hourglass_2","progres_picture.Hourglass_2"],["Timer_0","progres_picture.Timer_0"],["Timer_1","progres_picture.Timer_1"],["Timer_2","progres_picture.Timer_2"],["Timer_3","progres_picture.Timer_3"],["Timer_4","progres_picture.Timer_4"],["Water_level_0","progres_picture.Water_level_0"],["Water_level_1","progres_picture.Water_level_1"],["Water_level_2","progres_picture.Water_level_2"],["Water_level_3","progres_picture.Water_level_3"],["YES","informatio_picture.YES"],["NO","informatio_picture.NO"]]},LE={init:function(){this.appendDummyInput("").appendField(Re.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let e=0;e<5;e++){let t=this.appendDummyInput();for(let i=0;i<5;i++)t.appendField(new Re.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),e+"-"+i)}this.appendDummyInput().appendField(`(${Re.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(Gm),this.setTooltip(Re.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Re.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},NE={init:function(){this.appendDummyInput("").appendField(Re.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Re.inputs.Align.CENTRE).appendField(new Re.FieldBitmap(NE.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Gm),this.setTooltip(Re.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(5).fill(0)))},DE={init:function(){this.setColour(Gm),this.appendDummyInput().appendField(Re.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Re.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},fE={init:function(){this.setColour(Gm),this.appendDummyInput().appendField(Re.Msg.MIXLY_MIXBOT_AMBIENTBRIGHT),this.setInputsInline(!0),this.setOutput(!0,Number)}},FE={init:function(){this.setColour(Gm),this.appendValueInput("x").setCheck(Number).appendField(Re.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},PE={init:function(){this.setColour(Gm),this.appendDummyInput().appendField(Re.Msg.MIXLY_MIXBOT_SCREEN_ROTATE).appendField(new Re.FieldDropdown(PE.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[[Re.Msg.mixpy_PL_PIE_SHADOW_N,"0"],[Re.Msg.CLOCKWISE+"90"+Re.Msg.blockpy_setheading_degree,"1"],[Re.Msg.CLOCKWISE+"180"+Re.Msg.blockpy_setheading_degree,"2"],[Re.Msg.CLOCKWISE+"270"+Re.Msg.blockpy_setheading_degree,"3"]]},YE={init:function(){this.appendDummyInput("").appendField(Re.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let e=0;e<12;e++){let t=this.appendDummyInput();for(let i=0;i<12;i++)t.appendField(new Re.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),e+"-"+i)}this.appendDummyInput().appendField(`(${Re.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(Gm),this.setTooltip(Re.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Re.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},vE={init:function(){this.appendDummyInput("").appendField(Re.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Re.inputs.Align.CENTRE).appendField(new Re.FieldBitmap(vE.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Gm),this.setTooltip(Re.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:12},(()=>new Array(12).fill(0)))},XE={init:function(){this.setColour(Gm),this.appendValueInput("data").appendField(Re.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Re.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(Re.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(ce.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Re.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},yE={init:function(){this.setColour(Gm),this.appendValueInput("x").setCheck(Number).appendField(Re.Msg.OLED_BITMAP).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("direct").setCheck(String).appendField(Re.Msg.MIXLY_AipImageClassify_Image+Re.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},bE={init:function(){this.setColour(Gm),this.appendValueInput("data").appendField(Re.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Re.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(Re.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(Re.Msg.TEXT_CENTER).appendField(new Re.FieldDropdown([[Re.Msg.MICROPYTHON_DISPLAY_YES,"True"],[Re.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.appendValueInput("VAR").appendField(Re.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(ce.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Re.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},xE={init:function(){this.setColour(Gm),this.appendValueInput("data").appendField(Re.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(Re.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(Re.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("VAR").appendField(Re.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},VE={init:function(){this.jsonInit({colour:Gm,args0:[{name:"shape",options:[[Re.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[Re.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:Re.Msg.mpython_HELPURL,tooltip:Re.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:Re.Msg.ONBOARD_TFT_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},BE={init:function(){this.jsonInit({colour:Gm,args0:[{name:"dir_h_v",options:[[Re.Msg.mpython_vertical,"0"],[Re.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:Re.Msg.mpython_HELPURL,tooltip:Re.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:Re.Msg.ONBOARD_TFT_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},GE={init:function(){this.jsonInit({colour:Gm,args0:[{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:Re.Msg.mpython_HELPURL,tooltip:Re.Msg.mpython_display_line_TOOLTIP,message0:Re.Msg.onboard_mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},UE={init:function(){this.setColour(Gm),this.appendDummyInput("").appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("x").setCheck(Number).appendField(Re.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Re.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(Re.Msg.HTML_COLOUR),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Re.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},wE={init:function(){this.setColour(Gm),this.appendValueInput("x").setCheck(Number).appendField(Re.Msg.MIXLY_LCD_SETCOLOR).appendField(Re.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Re.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("VAR").appendField(Re.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(ce.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Re.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},HE={init:function(){this.setColour(Gm),this.appendValueInput("VAR").appendField(Re.Msg.MIXLY_SCREEN_FILL),["Python ESP32-S3","Python ESP32-C5"].includes(ce.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Re.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},kE={init:function(){this.setColour(Gm),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_INIT_CLOCK),this.appendDummyInput().appendField(Re.Msg.MIXLY_CENTER_POS),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Re.Msg.OLED_CIRCLE_RADIUS),this.appendValueInput("VAR").appendField(Re.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},WE={init:function(){this.setColour(Gm),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Re.Msg.GET_RTCTIME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},KE={init:function(){this.setColour(Gm),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Re.Msg.SET_TIME),this.appendValueInput("h").setCheck(Number).appendField(Re.Msg.MIXLY_HOUR),this.appendValueInput("m").setCheck(Number).appendField(Re.Msg.MIXLY_MINUTE),this.appendValueInput("s").setCheck(Number).appendField(Re.Msg.MIXLY_SECOND),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},JE={init:function(){this.setColour(Gm),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Re.Msg.DRAW_CLOCK),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},QE={init:function(){this.setColour(Gm),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Re.Msg.CLEAR_CLOCK),this.appendValueInput("VAR").appendField(Re.Msg.MIXLY_STM32_TFT_BACKGROUND_COLOR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},zE={init:function(){this.jsonInit({colour:Gm,args0:[{name:"shape",options:[[Re.Msg.MPYTHON_DISPLAY_HOLLOW,"False"],[Re.Msg.MPYTHON_DISPLAY_SOLID,"True"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"r",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:Re.Msg.mpython_HELPURL,message0:Re.Msg.ONBOARD_TFT_DISPLAY_SHAPE_CIRCLE_MESSAGE0,nextStatement:null,previousStatement:null})}},qE={init:function(){this.setColour(Gm),this.appendDummyInput().appendField(Re.Msg.DRAW_POINTER).appendField(Re.Msg.DRAW_POINTER_ANGLE),this.appendValueInput("angle"),this.appendDummyInput().appendField(Re.Msg.MIXLY_DRAW_POINTER_DU),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.DRAW_POINTER_TOOLTIP)}},jE={init:function(){this.setColour(Gm),this.appendDummyInput().appendField(Re.Msg.DRAW_POINTER).appendField(Re.Msg.DRAW_POINTER_ANGLE),this.appendValueInput("angle"),this.appendDummyInput().appendField(Re.Msg.MIXLY_DRAW_POINTER_DU),this.appendValueInput("VAR").appendField(Re.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.DRAW_POINTER_TOOLTIP)}},$E={init:function(){this.setColour(Gm),this.appendValueInput("data").appendField(Re.Msg.MIXLY_Display_long_text),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Re.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(Re.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(ce.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Re.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},ZE={init:function(){this.setColour(Gm),this.appendValueInput("direct").appendField(Re.Msg.OLED_BITMAP).appendField(Re.Msg.MIXLY_QR_CODE),["Python ESP32-S3","Python ESP32-C5"].includes(ce.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Re.Msg.MIXLY_synchronize),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},eO={init:function(){this.setColour(Gm),this.appendValueInput("data").appendField(Re.Msg.OLED_BITMAP).appendField(Re.Msg.MIXLY_QR_CODE),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Re.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendDummyInput("").appendField(Re.Msg.MIXLY_ERROR_RATE).appendField(new Re.FieldDropdown([["0","7%"],["1","15%"],["2","25%"],["3","30"]]),"correct"),this.appendValueInput("VAR").appendField(Re.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(ce.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Re.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},tO={init:function(){this.setColour(Gm),this.appendValueInput("data").appendField(Re.Msg.OLED_BITMAP),this.appendDummyInput().appendField(`(${Re.Msg.MIXLY_DEPRECATED})`),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.OLED_BITMAP_OR_STRING),this.setWarningText(Re.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},iO={init:function(){Hm.init.call(this),this.appendDummyInput().appendField(`(${Re.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Re.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},nO={init:function(){Jm.init.call(this),this.appendDummyInput().appendField(`(${Re.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Re.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},sO={init:function(){tE.init.call(this),this.appendDummyInput().appendField(`(${Re.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Re.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},_O={init:function(){sE.init.call(this),this.appendDummyInput().appendField(`(${Re.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Re.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},oO={init:function(){_E.init.call(this),this.appendDummyInput().appendField(`(${Re.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Re.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},pO={init:function(){oE.init.call(this),this.appendDummyInput().appendField(`(${Re.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Re.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},aO=180,uO={init:function(){this.setColour(aO),this.setOutput(!0),this.setInputsInline(!0),this.appendValueInput("img").appendField(Re.Msg.DISPLAY_IMAGE_LET).setCheck(["esp32_image","List",String]),this.appendDummyInput("").appendField(Re.Msg.DISPLAY_IMAGE_LET2).appendField(new Re.FieldDropdown(uO.OPERATORS),"OP"),this.appendValueInput("val").appendField(Re.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(Re.Msg.DISPLAY_IMAGE_UNIT);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i=Re.Msg.DISPLAY_IMAGE_LET,n=Re.Msg.DISPLAY_IMAGE_LET2,s=Re.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:Re.Msg.MIXLY_UP,down:Re.Msg.MIXLY_DOWN,left:Re.Msg.MIXLY_LEFT,right:Re.Msg.MIXLY_RIGHT}[t]+s}))},OPERATORS:[[Re.Msg.MIXLY_UP,"up"],[Re.Msg.MIXLY_DOWN,"down"],[Re.Msg.MIXLY_LEFT,"left"],[Re.Msg.MIXLY_RIGHT,"right"]]},rO={init:function(){this.setColour(aO),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(Re.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new Re.FieldDropdown(rO.OPERATORS),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{"+":Re.Msg.MIXLY_MICROBIT_image_add,"-":Re.Msg.MIXLY_MICROBIT_image_reduce}[t]}))},OPERATORS:[[Re.Msg.MICROBIT_DISPLAY_UNION,"+"],[Re.Msg.MICROBIT_DISPLAY_MINUS,"-"]]},lO={init:function(){this.setColour(aO),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+Re.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("esp32_image"),this.appendDummyInput("").appendField(new Re.FieldDropdown(lO.OPERATORS),"OP"),this.setInputsInline(!0),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+Re.Msg.MIXLY_MICROBIT_IMAGE+{height:Re.Msg.MIXLY_HEIGHT,width:Re.Msg.MIXLY_WIDTH}[t]}))},OPERATORS:[[Re.Msg.MIXLY_HEIGHT,"height"],[Re.Msg.MIXLY_WIDTH,"width"]]},dO={init:function(){this.setColour(aO),this.appendValueInput("VAR").appendField(Re.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_RECT).appendField(new Re.FieldDropdown(dO.STATUS),"OP"),this.jsonInit({message0:Re.Msg.MIXLY_MICROBIT_SHOW_RECT,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"width"},{check:Number,type:"input_value",name:"height"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Re.Msg.MIXLY_OLED_RECT)},STATUS:[[Re.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[Re.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},IO={init:function(){this.setColour(aO),this.appendValueInput("VAR").appendField(Re.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE).appendField(new Re.FieldDropdown(IO.STATUS),"OP"),this.jsonInit({message0:Re.Msg.MIXLY_HANBIT_SHOW_CIRCLE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"r"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Re.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE)},STATUS:[[Re.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[Re.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},TO={init:function(){this.setColour(aO),this.appendValueInput("VAR").appendField(Re.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_DISPLAY_DRAW+Re.Msg.MIXLY_HANBIT_DRAW_TRIANGLE).appendField(new Re.FieldDropdown(TO.STATUS),"OP"),this.jsonInit({message0:Re.Msg.MIXLY_HANBIT_SHOW_triangle,args0:[{check:Number,type:"input_value",name:"x0"},{check:Number,type:"input_value",name:"y0"},{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Re.Msg.MIXLY_DISPLAY_DRAW+Re.Msg.MIXLY_HANBIT_DRAW_TRIANGLE)},STATUS:[[Re.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[Re.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},MO="#777777",hO={init:function(){this.setColour(MO),this.appendDummyInput("").appendField("from ").appendField(new Re.FieldTextInput("ESP32"),"path").appendField(" import ").appendField(new Re.FieldTextInput("*"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},mO={init:function(){this.setColour(MO),this.appendDummyInput("").appendField("import ").appendField(new Re.FieldTextInput("module"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},EO={init:function(){this.setColour(MO),this.appendDummyInput("").appendField(new Re.FieldTextInput("my_function"),"NAME"),this.itemCount_=1,this.arguments_=["x"],this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Re.icons.MutatorIcon(["factory_create_with_item"],this))},mutationToDom:function(){var e=document.createElement("mutation");e.setAttribute("items",this.itemCount_);for(var t=0;tt?e[t]:'"key'+(t+1)+'"'),"KEY"+t).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Re.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},_R={init:function(){this.setColour($O),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(Re.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},oR={init:function(){this.setColour($O),this.appendDummyInput().appendField(Re.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Re.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},pR={init:function(){this.setColour($O),this.appendDummyInput().appendField(Re.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Re.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},aR={init:function(){this.setColour($O),this.appendDummyInput().appendField(Re.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").setCheck(String).appendField(Re.Msg.MIXLY_EMQX_SERVER).setAlign(Re.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(Re.Msg.MIXLY_WIFI_USERNAME).setAlign(Re.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(Re.Msg.MIXLY_IOT_PASSWORD).setAlign(Re.inputs.Align.RIGHT),this.appendValueInput("PROJECT").setCheck(String).appendField(Re.Msg.MIXLY_EMQX_PROJECT).setAlign(Re.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},uR={init:function(){this.setColour($O),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(Re.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(Re.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(Re.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},rR={init:function(){this.setColour($O),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(Re.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(Re.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(Re.Msg.HTML_BODY),this.appendDummyInput().appendField(Re.Msg.MIXLY_Service_quality_display).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_AT_MOST_ONCE,"0"],[Re.Msg.MIXLY_AT_LEAST_ONCE,"1"]]),"quality"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},lR={init:function(){this.setColour($O),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(Re.Msg.MIXLY_EMQX_SUBSCRIBE+Re.Msg.MIXLY_MICROBIT_MSG).appendField(Re.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(Re.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_IOT_EMQX_SUBSCRIBE_TOOLTIP)}},dR={init:function(){this.setColour($O),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Re.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},IR={init:function(){this.setColour($O),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Re.Msg.MIXLY_EMQX_CONNECT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},TR={init:function(){this.setColour($O),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Re.Msg.MIXLY_ESP32_CHECK_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},MR={init:function(){this.setColour($O),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(Re.Msg.MQTT_Topic),this.setInputsInline(!0),this.setOutput(!0)}},hR={init:function(){this.setColour($O),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(Re.Msg.MIXLY_EMQX_PUBLISH_MSG),this.setInputsInline(!0),this.setOutput(!0)}},mR={init:function(){this.setColour($O),this.appendValueInput("VAR").appendField(Re.Msg.MIXLY_ESP32_IOT_MAP_FORMATING),this.setOutput(!0)}},ER={init:function(){this.setColour($O),this.appendValueInput("VAR").appendField(Re.Msg.MIXLY_MICROPYTHON_FORMAT+"(Json)"),this.setOutput(!0)}},OR={init:function(){this.setColour($O),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Re.Msg.MIXLY_EMQX_PING),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_IOT_EMQX_PING_TOOLTIP)}},RR={init:function(){this.setColour($O),this.appendDummyInput().appendField("MixIO").appendField(Re.Msg.MIXLY_GET_NTP),this.appendValueInput("addr").appendField(Re.Msg.blynk_SERVER_ADD),this.setInputsInline(!0),this.setOutput(!0)}},cR={init:function(){this.setColour($O),this.appendDummyInput().appendField(Re.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(Re.Msg.MIXLY_EMQX_SERVER).setAlign(Re.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(Re.Msg.CONTROLS_FOR_INPUT_WITH+Re.Msg.MIXLY_MIXIO_SHARE_KEY).setAlign(Re.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},gR={init:function(){this.setColour($O),this.appendDummyInput().appendField(Re.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(Re.Msg.MIXLY_EMQX_SERVER).setAlign(Re.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(Re.Msg.CONTROLS_FOR_INPUT_WITH+"Mixly Key").setAlign(Re.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},CR={init:function(){this.VISITOR_ID=ce.Config.BOARD.visitorId.str32.substring(0,8).toUpperCase(),this.setColour($O),this.appendDummyInput("").appendField(new Re.FieldTextInput(this.visitorId),"VISITOR_ID"),this.setOutput(!0,null)},onchange:function(){const e=this.getFieldValue("VISITOR_ID");this.VISITOR_ID!==e&&this.setFieldValue(this.VISITOR_ID,"VISITOR_ID")}},SR={init:function(){this.setColour($O),this.appendDummyInput().appendField("MixIO").appendField(Re.Msg.MSG.catEthernet_clinet),this.setOutput(!0),this.setInputsInline(!0)}},AR={init:function(){this.setColour($O),this.appendDummyInput().appendField("HTTP"+Re.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(Re.Msg.DISPLAY_IMAGE_LET2),this.appendDummyInput().appendField(Re.Msg.MIXLY_REQUESTS_GET).appendField(Re.Msg.MIXLY_GET_CURRENT_TIME).appendField(Re.Msg.MIXLY_OPEN_DEBUG).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Re.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},LR={init:function(){this.setColour($O),this.appendDummyInput().appendField("HTTP"+Re.Msg.MIXLY_Client).appendField(Re.Msg.MIXLY_GET).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_REQUESTS_LEN,"client_len"],[Re.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[Re.Msg.MIXLY_REQUESTS_MESSAGE,"text"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},NR={init:function(){this.setColour($O),this.appendDummyInput().appendField("MQTT"+Re.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(Re.Msg.MIXLY_CONNECTTO),this.appendDummyInput().appendField(Re.Msg.MIXLY_INIT_SUBSCRIBE).appendField(Re.Msg.MQTT_Topic).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_GET_CURRENT_TIME,""]]),"key").appendField(Re.Msg.MIXLY_OPEN_DEBUG).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Re.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},DR={init:function(){this.setColour($O),this.appendDummyInput().appendField("MQTT"+Re.Msg.MIXLY_Client).appendField(Re.Msg.MIXLY_GET).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_REQUESTS_LEN,"client_len"],[Re.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[Re.Msg.MIXLY_REQUESTS_MESSAGE,"time_msg()"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},fR=ZO,FR=eR,PR=tR,YR=iR,vR=sR,XR={init:function(){this.setColour($O),this.appendDummyInput().appendField(Re.Msg.MIXLY_CONNECT_OLLAMA),this.appendValueInput("SERVER").appendField(Re.Msg.MIXLY_EMQX_SERVER).setAlign(Re.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(Re.Msg.MODEL_NAME).setAlign(Re.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(Re.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},yR=XR,bR={init:function(){this.setColour($O),this.appendDummyInput().appendField(Re.Msg.MIXLY_CONNECT_OPENAI),this.appendValueInput("SERVER").appendField(Re.Msg.MIXLY_EMQX_SERVER).setAlign(Re.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(Re.Msg.MIXLY_API_PRIVATE_KEY).setAlign(Re.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(Re.Msg.MODEL_NAME).setAlign(Re.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(Re.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},xR={init:function(){this.setColour($O),this.appendDummyInput().appendField(Re.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(Re.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendValueInput("METHOD").appendField(Re.Msg.MIXLY_LLM_CONTENT_CALLBACK),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},VR={init:function(){this.setColour($O),this.appendDummyInput().appendField(Re.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(Re.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendDummyInput().appendField(Re.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0)}},BR={init:function(){this.setColour($O),this.appendDummyInput().appendField("Ollama "+Re.Msg.MIXLY_EMPTY_HISTORY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},GR={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${Re.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("ADDR").setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_EMQX_SERVER),this.appendValueInput("USERNAME").setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_EMQX_USERNAME),this.appendValueInput("PASSWORD").setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_IOT_PASSWORD),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},UR={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${Re.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("MQTT").setAlign(Re.inputs.Align.RIGHT).appendField(`MixIO ${Re.Msg.MIXLY_Client}`),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},wR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_TINY_WEB_DB_UPDATE_VARIABLE),this.appendValueInput("VALUE").setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},HR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(Re.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLE),this.appendDummyInput().appendField(Re.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setOutput(!0)}},kR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendDummyInput().appendField(Re.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_NUM),this.setInputsInline(!0),this.setOutput(!0)}},WR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB").appendField(Re.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARIABLES),this.appendValueInput("NO").setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_TINY_WEB_DB_START_NUMBER),this.appendValueInput("COUNT").setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_TINY_WEB_DB_VARIABLE_NUMBER),this.appendValueInput("TAG").setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARS),this.appendDummyInput().setAlign(Re.inputs.Align.RIGHT).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_ALL,"both"],[Re.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_TAG,"tag"],[Re.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_VALUE,"value"]]),"DTYPE"),this.setInputsInline(!1),this.setOutput(!0)}},KR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(Re.Msg.MIXLY_TINY_WEB_DB_DELETE_VARIABLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},JR=225,QR={init:function(){this.setColour(JR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_NETWORK_INIT),this.appendDummyInput().appendField(Re.Msg.MIXLY_NETWORK_MODE).appendField(new Re.FieldDropdown([["STA","STA"],["AP","AP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_NETWORK_INIT_TOOLTIP)}},zR={init:function(){this.setColour(JR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_NETWORK_WIFI_OPEN,"True"],[Re.Msg.MIXLY_NETWORK_WIFI_CLOSE,"False"]]),"op"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_NETWORK_WIFI_FLAG),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("op"),i=Re.Msg.MIXLY_ESP32_NETWORK_OPEN_TOOLTIP;return{True:Re.Msg.MIXLY_NETWORK_WIFI_OPEN,False:Re.Msg.MIXLY_NETWORK_WIFI_CLOSE}[t]+i}))}},qR={init:function(){this.setColour(JR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE)}},jR={init:function(){this.setColour(JR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_NETWORK_WIFI_SCAN),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip((function(){return Re.Msg.MIXLY_ESP32_NETWORK_SCAN_TOOLTIP+{0:"ssid",1:"bssid",2:"channel",3:"RSSI",4:"authmode",5:"hidden",all:Re.Msg.MIXLY_NETWORK_WIFI_SCAN_ATTRIBUTE}.all}))}},$R={init:function(){this.setColour(JR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_ESP32_NETWORK_CONNECT),this.appendValueInput("id").setCheck(String).appendField(Re.Msg.HTML_NAME),this.appendValueInput("password").setCheck(String).appendField(Re.Msg.HTML_PASSWORD),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_NETWORK_CONNECT_TOOLTIP)}},ZR={init:function(){this.setColour(JR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_NETWORK_WIFI_CONNECT+Re.Msg.MIXLY_SYMBOL_QUESTION),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_NETWORK_WIFI_CONNECT_TOOLTIP)}},ec={init:function(){this.setColour(JR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput("").appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_ESP32_NETWORK_IP,"0"],[Re.Msg.MIXLY_ESP32_NETWORK_MASK,"1"],[Re.Msg.MIXLY_ESP32_NETWORK_GATEWAY,"2"],["DNS","3"]]),"mode"),this.setOutput(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("mode");return Re.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP+{0:Re.Msg.MIXLY_ESP32_NETWORK_IP,1:Re.Msg.MIXLY_ESP32_NETWORK_MASK,2:Re.Msg.MIXLY_ESP32_NETWORK_GATEWAY,3:"DNS"}[t]}))}},tc={init:function(){this.setColour(JR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_ESP32_NETWORK_STOP_CONNECT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_NETWORK_STOP_TOOLTIP)}},ic={init:function(){this.setColour(JR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput().appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_NETWORK_WIFI_ESSID,"essid"],[Re.Msg.MIXLY_NETWORK_WIFI_CHANNEL,"channel"]]),"op"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP)}},nc={init:function(){this.setColour(JR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.LISTS_SET_INDEX_SET+Re.Msg.MIXLY_HOTSPOT),this.appendValueInput("essid").setCheck(String).appendField(Re.Msg.MIXLY_NAME),this.appendValueInput("password").setCheck(String).appendField(Re.Msg.MIXLY_EMQX_PASSWORD),this.appendValueInput("channel").setCheck(Number).appendField(Re.Msg.MIXLY_NETWORK_WIFI_CHANNEL),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_NETWORK_AP_CONNECT_TOOLTIP)}},sc={init:function(){this.setColour(JR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_ESP32_NETWORK_SERVER1),this.appendDummyInput("").appendField(Re.Msg.MIXLY_ESP32_NETWORK_SERVER2),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},_c={init:function(){this.setColour(JR),this.appendValueInput("VAR").appendField(Re.Msg.MIXLY_MICROPYTHON_SOCKET_INIT).setCheck("var"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new Re.FieldDropdown([["TCP","TCP"],["UDP","UDP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("mode");return Re.Msg.MIXLY_ESP32_NETWORK_SOCKET_INIT_TOOLTIP+{TCP:"TCP",UDP:"UDP"}[t]}))}},oc={init:function(){this.setColour(JR),this.appendValueInput("VAR").setCheck("var").appendField(Re.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(Re.Msg.MIXLY_MICROPYTHON_SOCKET_BIND_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_NETWORK_SOCKET_BIND_TOOLTIP)}},pc={init:function(){this.setColour(JR),this.appendValueInput("VAR").setCheck("var").appendField(Re.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(Re.Msg.MIXLY_MICROPYTHON_SOCKET_CONNECT_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_NETWORK_SOCKET_CONNECT_TOOLTIP)}},ac={init:function(){this.setColour(JR),this.appendValueInput("VAR").setCheck("var"),this.appendValueInput("queue").setCheck(Number).appendField(Re.Msg.MIXLY_MICROPYTHON_SOCKET_LISTEN).appendField(Re.Msg.MIXLY_MICROPYTHON_SOCKET_QUEUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_NETWORK_SOCKET_LISTEN_TOOLTIP)}},uc={init:function(){this.setColour(JR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROPYTHON_SOCKET_ACCEPT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_NETWORK_SOCKET_ACCEPT_TOOLTIP)}},rc={init:function(){this.setColour(JR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE_TOOLTIP)}},lc={init:function(){this.setColour(JR),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("size").setCheck(Number).appendField(Re.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_TOOLTIP)}},dc={init:function(){this.setColour(JR),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("content").appendField(Re.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TOOLTIP)}},Ic={init:function(){this.setColour(JR),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("size").setCheck(Number).appendField(Re.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_FROM_TOOLTIP)}},Tc={init:function(){this.setColour(JR),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("content").appendField(Re.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.appendValueInput("address").appendField(Re.Msg.MIXLY_MICROPYTHON_SOCKET_TO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TO_TOOLTIP)}},Mc={init:function(){this.setColour(JR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROPYTHON_SOCKET_CLOSE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},hc={init:function(){this.setColour(JR),this.appendValueInput("DOMAIN").appendField(Re.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(Re.Msg.blockpy_REQUESTS_GET).appendField(new Re.FieldTextInput("response"),"VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Re.Msg.blockpy_REQUESTS_GET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Re.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},mc={init:function(){this.appendValueInput("VAL"),this.setColour(JR),this.appendDummyInput("").appendField(Re.Msg.MIXLY_MICROBIT_JS_GET).appendField(new Re.FieldDropdown(mc.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("DIR");return{clear:Re.Msg.MIXLY_TOOLTIP_TURTEL_CLEAR,reset:Re.Msg.MIXLY_TOOLTIP_TURTEL_RESET,home:Re.Msg.MIXLY_TOOLTIP_TURTEL_HOME}[t]}))},ATTR:[[Re.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[Re.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[Re.Msg.blockpy_REQUESTS_GET_ATTR_COOKIES,"cookies"],[Re.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"]]},Ec={init:function(){this.appendValueInput("VAR").appendField(Re.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.setColour(JR),this.appendDummyInput("").appendField(Re.Msg.blockpy_CONDUCT).appendField(new Re.FieldDropdown(Ec.METHOD),"DIR"),this.appendDummyInput("").appendField(Re.Msg.blockpy_REQUESTS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("DIR");return{forward:Re.Msg.MIXLY_TOOLTIP_TURTEL_FORWARD,backward:Re.Msg.MIXLY_TOOLTIP_TURTEL_BACKWARD}[t]}))},METHOD:[["post","post"],["put","put"],["delete","delete"],["head","head"],["option","option"]]},Oc={init:function(){this.setColour(JR),this.appendDummyInput("").appendField(Re.Msg.MIXLY_GET_NTP+"(NTP)"),this.appendValueInput("data").appendField(Re.Msg.blynk_SERVER_ADD),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},Rc={init:function(){this.setColour(JR),this.appendDummyInput("").appendField(new Re.FieldDropdown([["ntp.aliyun.com","ntp.aliyun.com"],["ntp1.aliyun.com","ntp1.aliyun.com"],["ntp2.aliyun.com","ntp2.aliyun.com"],["ntp3.aliyun.com","ntp3.aliyun.com"],["ntp4.aliyun.com","ntp4.aliyun.com"],["ntp5.aliyun.com","ntp5.aliyun.com"],["ntp6.aliyun.com","ntp6.aliyun.com"],["ntp7.aliyun.com","ntp7.aliyun.com"],["time1.cloud.tencent.com","time1.cloud.tencent.com"],["time2.cloud.tencent.com","time2.cloud.tencent.com"],["time3.cloud.tencent.com","time3.cloud.tencent.com"],["time4.cloud.tencent.com","time4.cloud.tencent.com"],["time5.cloud.tencent.com","time5.cloud.tencent.com"]]),"op"),this.setOutput(!0)}},cc="#3288dd",gc={init:function(){this.setColour(cc),this.appendValueInput("URL").appendField(Re.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(Re.Msg.blockpy_CONDUCT).appendField(new Re.FieldDropdown([["get","get"],["head","head"],["delete","delete"]]),"TYPE").appendField(Re.Msg.blockpy_REQUESTS).appendField(Re.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},Cc={init:function(){this.setColour(cc),this.appendValueInput("URL").appendField(Re.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(Re.Msg.blockpy_CONDUCT).appendField(new Re.FieldDropdown([["post","post"],["put","put"],["patch","patch"]]),"TYPE").appendField(Re.Msg.blockpy_REQUESTS),this.appendValueInput("data").appendField(Re.Msg.blockpy_REQUESTS+Re.Msg.OLED_STRING),this.appendDummyInput("").appendField(Re.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},Sc={init:function(){this.appendValueInput("VAL"),this.setColour(cc),this.appendDummyInput("").appendField(Re.Msg.MIXLY_MICROBIT_JS_GET).appendField(new Re.FieldDropdown(Sc.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String)},ATTR:[[Re.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[Re.Msg.blockpy_REQUESTS_GET_ATTR_JSON,"json()"],[Re.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[Re.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"],[Re.Msg.MIXPY_TEXT_ENCODE,"encoding"]]},Ac={init:function(){this.setColour(cc),this.appendDummyInput().appendField(Re.Msg.MIXLY_ESP32_IOT_CONNECT_WIFI),this.appendValueInput("WIFINAME").setCheck(String).appendField(Re.Msg.HTML_NAME),this.appendValueInput("PASSWORD").setCheck(String).appendField(Re.Msg.HTML_PASSWORD),this.appendValueInput("TIMEOUT").setCheck(Number).appendField(Re.Msg.MIXLY_IR_TIMEOUT),this.appendDummyInput().appendField(Re.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_IOT_WIFI_CONNECT_TOOLTIP)}},Lc={init:function(){this.setColour(cc),this.appendDummyInput().appendField(Re.Msg.MIXLY_ESP32_IOT_EMQX_CONNECT_TOOLTIP),this.appendValueInput("SERVER").setCheck(String).appendField(Re.Msg.MIXLY_EMQX_SERVER).setAlign(Re.inputs.Align.RIGHT),this.appendValueInput("PORT").setCheck(Number).appendField(Re.Msg.MIXLY_EMQX_PORT).setAlign(Re.inputs.Align.RIGHT),this.appendValueInput("CLIENT_ID").setCheck(String).appendField(Re.Msg.MIXLY_EMQX_CLIENT_ID).setAlign(Re.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(Re.Msg.MIXLY_WIFI_USERNAME).setAlign(Re.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(Re.Msg.MIXLY_IOT_PASSWORD).setAlign(Re.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Nc={init:function(){this.setColour(cc),this.appendValueInput("TOPIC").appendField(Re.Msg.MIXLY_EMQX_SUBSCRIBE+Re.Msg.MIXLY_MICROBIT_MSG).appendField(Re.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MESSAGE").appendField(Re.Msg.blockpy_set_of),this.setInputsInline(!0),this.setOutput(!0)}},Dc={init:function(){this.setColour(cc),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(Re.Msg.MIXLY_EMQX_SUBSCRIBE+Re.Msg.MIXLY_MICROBIT_MSG).appendField(Re.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(Re.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},fc={init:function(){this.setColour(cc),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(Re.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(Re.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(Re.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Fc={init:function(){this.setColour(cc),this.appendDummyInput().appendField("mqtt"+Re.Msg.MIXLY_EMQX_IS_CONNECT),this.setInputsInline(!0),this.setOutput(!0)}},Pc=100,Yc={init:function(){if("mixgo_nova"==ce.Boards.getSelectedBoardKey().split(":")[2])var e="Nova G1";this.setColour(Pc),this.appendDummyInput().appendField(e).appendField(Re.Msg.MIXLY_MIXGO_NOVA_POTENTIAL_NUM),this.setOutput(!0,Number),this.setInputsInline(!0)}},vc={init:function(){if("mixgo_nova"==ce.Boards.getSelectedBoardKey().split(":")[2])var e="Nova G1";this.setColour(Pc),this.appendValueInput("PIN").appendField(e).appendField(Re.Msg.MOTOR_DC).appendField(Re.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_Direction).appendField(new Re.FieldDropdown([[Re.Msg.CLOCKWISE,"CW"],[Re.Msg.ANTI_CLOCKWISE,"CCW"],[Re.Msg.MOTOR_P,"P"],[Re.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Xc={init:function(){if("mixgo_nova"==ce.Boards.getSelectedBoardKey().split(":")[2])var e="Nova G1";this.setColour(Pc),this.appendValueInput("PIN").appendField(e).appendField(Re.Msg.SET_USB),this.appendValueInput("percent").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_POWER_SUPPLY),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},yc={init:function(){if("mixgo_nova"==ce.Boards.getSelectedBoardKey().split(":")[2])var e="Nova G1";this.setColour(Pc),this.appendDummyInput().appendField(e).appendField(Re.Msg.MIXLY_SPK_STATE).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_ON,"True"],[Re.Msg.MIXLY_OFF,"False"]]),"state"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},bc=100,xc={init:function(){this.setColour(bc),this.appendValueInput("I2CSUB").appendField(Re.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_SETUP+Re.Msg.LISTS_SET_INDEX_INPUT_TO).appendField("PE GX"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Vc={init:function(){this.setColour(bc),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MIXGO_CAR_BATTERY_LEFT),this.setOutput(!0,Number),this.setInputsInline(!0)}},Bc={init:function(){this.setColour(bc),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField(Re.Msg.MOTOR_DC).appendField(Re.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_Direction).appendField(new Re.FieldDropdown([[Re.Msg.CLOCKWISE,"CW"],[Re.Msg.ANTI_CLOCKWISE,"CCW"],[Re.Msg.MOTOR_P,"P"],[Re.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Gc={init:function(){this.setColour(bc),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField(Re.Msg.MOTOR_DC).appendField(Re.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(Re.Msg.MIXLY_STEPPER_GET_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},Uc={init:function(){this.setColour(bc),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField("180°"+Re.Msg.MIXLY_SERVO).appendField(Re.Msg.LCD_NUMBERING),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_SERVO_MOVE)}},wc={init:function(){this.setColour(bc),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField("360°"+Re.Msg.MIXLY_SERVO).appendField(Re.Msg.LCD_NUMBERING),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_SERVO_SPEED_TOOLIPS)}},Hc={init:function(){this.setColour(bc),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField("180°"+Re.Msg.MIXLY_SERVO),this.appendDummyInput().appendField(Re.Msg.MIXLY_GET+Re.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},kc={init:function(){this.setColour(bc),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField("360°"+Re.Msg.MIXLY_SERVO).appendField(Re.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(Re.Msg.MIXLY_GET+Re.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},Wc="#A58C5B",Kc={init:function(){this.setColour(Wc),this.appendValueInput("PIN",Number).appendField(Re.Msg.MIXLY_BUTTON).appendField(Re.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Re.Msg.MIXLY_IS_PRESSED),this.appendValueInput("STAT").appendField(Re.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_SENOR_IS_PRESSED)}},Jc={init:function(){this.setColour(Wc),this.appendValueInput("PIN",Number).appendField(Re.Msg.MIXLY_BUTTON).appendField(Re.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Re.Msg.MIXLY_WAS_PRESSED),this.appendValueInput("STAT").appendField(Re.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_SENOR_WAS_PRESSED)}},Qc={init:function(){this.setColour(Wc),this.appendValueInput("PIN",Number).appendField(Re.Msg.MIXLY_BUTTON).appendField(Re.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Re.Msg.MIXLY_GET_PRESSES),this.appendValueInput("VAR").setCheck(Number).appendField(Re.Msg.MIXLY_GET_PRESSES_TIME),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Re.Msg.PROCEDURES_DEFRETURN_RETURN+Re.Msg.MIXLY_BUTTON+Re.Msg.MIXLY_GET_PRESSES)}},zc={init:function(){this.setColour(Wc),this.appendValueInput("PIN",Number).appendField(Re.Msg.MIXLY_BUTTON).appendField(Re.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(Re.Msg.MIXLY_MODE).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[Re.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[Re.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(Re.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Re.Msg.MIXLY_TOOLTIP_INOUT_ATTACHINTERRUPT)}},qc={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MICROBIT_shake,"shake"],[Re.Msg.MIXLY_UP,"up"],[Re.Msg.MIXLY_DOWN,"down"],[Re.Msg.MIXLY_LEFT,"left"],[Re.Msg.MIXLY_RIGHT,"right"],[Re.Msg.MIXLY_MICROBIT_face_up,"face up"],[Re.Msg.MIXLY_MICROBIT_face_down,"face down"],[Re.Msg.MIXLY_MICROBIT_freefall,"freefall"],["3g","3g"],["6g","6g"],["8g","8g"]]),"gesture"),this.appendStatementInput("DO").appendField(Re.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("gesture"),i=Re.Msg.MIXLY_MICROBIT_JS_CURRENT,n=Re.Msg.MSG.catSensor,s=Re.Msg.MIXLY_MICROBIT_JS_STATE,_=Re.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:Re.Msg.MIXLY_MICROBIT_shake,up:Re.Msg.MIXLY_UP,down:Re.Msg.MIXLY_DOWN,left:Re.Msg.MIXLY_LEFT,right:Re.Msg.MIXLY_RIGHT,"face up":Re.Msg.MIXLY_MICROBIT_face_up,"face down":Re.Msg.MIXLY_MICROBIT_face_down,freefall:Re.Msg.MIXLY_MICROBIT_freefall,"3g":"3g","6g":"6g","8g":"8g"}[t]+_}))}},jc={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_ADXL345).setCheck("var"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new Re.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key"),i=Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Re.Msg.MIXLY_MICROBIT_Direction,s=Re.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":Re.Msg.MIXLY_MICROBIT_Shiliang_Direction}[t]+n+s}))}},$c={init:function(){this.setColour(Wc),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_JS_LIGHT_LEVEL),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_SENSOR_LIGHT_LEVEL_TOOLTIP)}},Zc={init:function(){this.setColour(Wc),this.appendValueInput("PIN",Number).appendField(new Re.FieldDropdown([["DHT11","DHT11"],["DHT22","DHT22"]]),"TYPE").appendField(Re.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(new Re.FieldDropdown(Zc.METHOD),"WHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("WHAT");return{temperature:Re.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM,relative_humidity:Re.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_HUM,tempandhum:Re.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM_HUM}[t]}))},METHOD:[[Re.Msg.MIXLY_GETTEMPERATUE,"temperature"],[Re.Msg.MIXLY_GETHUMIDITY,"humidity"]]},eg={init:function(){this.setColour(Wc),this.appendDummyInput().appendField(Re.Msg.MIXLY_ESP32_EXTERN_LIGHT),this.appendValueInput("PIN",Number).appendField(Re.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Re.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Re.Msg.ESP32_SENSOR_NIXGO_LIGHT_TOOLTIP)}},tg={init:function(){this.setColour(Wc),this.appendDummyInput().appendField(Re.Msg.MIXLY_ESP32_EXTERN_SOUND),this.appendValueInput("PIN",Number).appendField(Re.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Re.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Re.Msg.ESP32_SENSOR_NIXGO_SOUND_TOOLTIP)}},ig={init:function(){this.setColour(Wc),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new Re.FieldDropdown([[Re.Msg.TEXT_TRIM_LEFT,"left"],[Re.Msg.TEXT_TRIM_RIGHT,"right"]]),"direction").appendField(Re.Msg.MIXLY_ESP32_NEAR),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("direction"),i=Re.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP,n=Re.Msg.MIXLY_ESP32_NEAR;return i+{left:Re.Msg.TEXT_TRIM_LEFT,right:Re.Msg.TEXT_TRIM_RIGHT}[t]+n}))}},ng={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_ALTITUDE_SENSOR+" BMP280").setCheck("var"),this.appendDummyInput("").appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_GETTEMPERATUE,"get_BMP_temperature()"],[Re.Msg.MIXLY_GETPRESSURE,"get_BMP_pressure()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key");return{"get_BMP_temperature()":Re.Msg.MIXLY_MICROBIT_SENSOR_BMP_temperature_TOOLTIP,"get_BMP_pressure()":Re.Msg.MIXLY_MICROBIT_SENSOR_BMP_press_TOOLTIP}[t]}))}},sg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+" SHT20").setCheck("var"),this.appendDummyInput("").appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_GETTEMPERATUE,"get_SHT_temperature()"],[Re.Msg.MIXLY_GETHUMIDITY,"get_SHT_relative_humidity()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key");return{"get_SHT_temperature()":Re.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,"get_SHT_relative_humidity()":Re.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[t]}))}},_g={init:function(){this.setColour(Wc),this.appendValueInput("PIN",Number).appendField("DS18X20 "+Re.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(Re.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Re.Msg.MIXLY_MICROBIT_SENSOR_DS18X20_TOOLTIP)}},og={init:function(){this.setColour(Wc),this.appendDummyInput("").appendField("LM35"+Re.Msg.MIXLY_TEMP),this.appendValueInput("PIN",Number).appendField(Re.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(Re.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Re.Msg.MIXLY_TOOLTIP_LM35)}},pg={init:function(){this.setColour(Wc),this.appendValueInput("I2CSUB").appendField(Re.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_SETUP+Re.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_ESP32_EXTERN_LIGHT+"(LTR308ALS)","LTR308"],[Re.Msg.MIXLY_COLOR_SENSOR+"(LTR381RGB)","LTR381RGB"],[Re.Msg.MIXLY_COLOR_SENSOR+"(UCS12071)","UCS12071"],[Re.Msg.MIXLY_EXTERN_LIGHTUV+"(LTR390UV)","LTR390UV"],[Re.Msg.MIXLY_ALTITUDE_SENSOR+"(HP203X)","HP203X"],[Re.Msg.MIXLY_ALTITUDE_SENSOR+"(SPL06_001)","SPL06_001"],[Re.Msg.MIXLY_ALTITUDE_SENSOR+"(MS5611)","MS5611"],[Re.Msg.MIXLY_ALTITUDE_SENSOR+"(BMP280)","BMP280"],[Re.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(SHTC3)","SHTC3"],[Re.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(AHT21)","AHT21"],[Re.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(SHT20)","SHT20"],[Re.Msg.MIXLY_LASER_RANGE_SENSOR+"(VL53L0X)","VL53L0X"],[Re.Msg.MIXLY_GEOMAGNETIC_SENSOR+"(QMC5883L)","QMC5883L"],[Re.Msg.MIXLY_ESP32_MAX30102+"(MAX30102)","MAX30102"],[Re.Msg.HTML_COLOUR+"、"+Re.Msg.MIXLY_ENVIRONMENT_LIGHT+"、"+Re.Msg.MIXLY_NEXT+"、"+Re.Msg.MIXLY_ESP32_APDS9960+"(APDS9960)","APDS9960"],[Re.Msg.MIXLY_NINE_AXIS_SENSOR+"(MPU9250)","MPU9250"],[Re.Msg.MixGo_MPU9250+"(ADXL345)","ADXL345"],["RFID","RFID"],[Re.Msg.MIXLY_RADAR_SENSOR+"(CBR817)","CBR817"],[Re.Msg.MIXLY_AipSpeech_asr+"(CI130X)","CI130X"],[Re.Msg.MIXLY_TVOC_CO2_SENSOR+"(AGS10)","AGS10"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},ag={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_RADAR+"CBR817").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.LISTS_SET_INDEX_SET+Re.Msg.MIXlY_INTERACTION),this.appendValueInput("VAR").appendField(Re.Msg.MIXLY_DETECTION_THRESHOLD),this.appendValueInput("VAR2").appendField(Re.Msg.MIXLY_DELAY_TIME),this.appendDummyInput().appendField("ms"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_THRESHOLD_TOOLTIP+" ; "+Re.Msg.MIXLY_DELAY_TIME_RANGE)}},ug={init:function(){this.setColour(Wc),this.appendDummyInput("").appendField(Re.Msg.MIXLY_RADAR).appendField(Re.Msg.LISTS_SET_INDEX_SET+Re.Msg.MIXlY_INTERACTION),this.appendValueInput("VAR").appendField(Re.Msg.MIXLY_DETECTION_THRESHOLD),this.appendValueInput("VAR2").appendField(Re.Msg.MIXLY_DELAY_TIME),this.appendDummyInput().appendField("ms"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_THRESHOLD_TOOLTIP+" ; "+Re.Msg.MIXLY_DELAY_TIME_RANGE)}},rg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_RADAR+"CBR817").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_GET_TO_INTERACTION),this.setOutput(!0),this.setInputsInline(!0)}},lg={init:function(){this.setColour(Wc),this.appendDummyInput("").appendField(Re.Msg.MIXLY_RADAR).appendField(Re.Msg.MIXLY_GET_TO_INTERACTION),this.setOutput(!0),this.setInputsInline(!0)}},dg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_IDENTIFY_ONCE_AND_SAVE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Ig={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_GET).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_HELLO_XIAOZHI,"1"],[Re.Msg.MIXLY_XIAOZHIXIAOZHI,"2"],[Re.Msg.MIXLY_THE_FIRST,"3"],[Re.Msg.MIXLY_THE_SECOND,"4"],[Re.Msg.MIXLY_THE_THIRD,"5"],[Re.Msg.MIXLY_THE_FOURTH,"6"],[Re.Msg.MIXLY_THE_FIFTH,"7"],[Re.Msg.MIXLY_THE_SIXTH,"8"],[Re.Msg.MIXLY_THE_SEVENTH,"9"],[Re.Msg.MIXLY_THE_EIGHTH,"10"],[Re.Msg.MIXLY_THE_NINTH,"11"],[Re.Msg.MIXLY_THE_TENTH,"12"],[Re.Msg.MIXLY_THE_ELEVENTH,"13"],[Re.Msg.MIXLY_THE_TWELFTH,"14"],[Re.Msg.MIXLY_THE_13TH,"15"],[Re.Msg.MIXLY_THE_14TH,"16"],[Re.Msg.MIXLY_THE_15TH,"17"],[Re.Msg.MIXLY_THE_16TH,"18"],[Re.Msg.MIXLY_THE_17TH,"19"],[Re.Msg.MIXLY_THE_18TH,"20"],[Re.Msg.MIXLY_THE_19TH,"21"],[Re.Msg.MIXLY_THE_20TH,"22"],[Re.Msg.MIXLY_Turn_on_the_lights,"23"],[Re.Msg.MIXLY_Turn_off_the_lights,"24"],[Re.Msg.MIXLY_Turn_up_the_brightness,"25"],[Re.Msg.MIXLY_Turn_down_the_brightness,"26"],[Re.Msg.MIXLY_Set_it_to_red,"27"],[Re.Msg.MIXLY_Set_it_to_orange,"28"],[Re.Msg.MIXLY_Set_it_to_yellow,"29"],[Re.Msg.MIXLY_Set_it_to_green,"30"],[Re.Msg.MIXLY_Set_it_to_cyan,"31"],[Re.Msg.MIXLY_Set_it_to_blue,"32"],[Re.Msg.MIXLY_Set_it_to_purple,"33"],[Re.Msg.MIXLY_Set_it_to_white,"34"],[Re.Msg.MIXLY_Turn_on_the_fan,"35"],[Re.Msg.MIXLY_Turn_off_the_fan,"36"],[Re.Msg.MIXLY_First_gear,"37"],[Re.Msg.MIXLY_Wind_speed_second,"38"],[Re.Msg.MIXLY_Third_gear,"39"],[Re.Msg.MIXLY_Previous,"40"],[Re.Msg.MIXLY_Next_page,"41"],[Re.Msg.MIXLY_Show_smiley_face,"42"],[Re.Msg.MIXLY_Show_crying_face,"43"],[Re.Msg.MIXLY_Show_love,"44"],[Re.Msg.MIXLY_Close_display,"45"],[Re.Msg.MIXLY_Start_execution,"46"],[Re.Msg.MIXLY_FORWARD,"47"],[Re.Msg.MIXLY_BACKWARD,"48"],[Re.Msg.MIXLY_TURNLEFT,"49"],[Re.Msg.MIXLY_TURNRIGHT,"50"],[Re.Msg.MIXLY_STOP,"51"],[Re.Msg.MIXLY_Accelerate,"52"],[Re.Msg.MIXLY_retard,"53"],[Re.Msg.ROTATION_FORWARD,"54"],[Re.Msg.ROTATION_BACKWARD,"55"],[Re.Msg.MIXLY_Query_temperature,"56"],[Re.Msg.MIXLY_Query_humidity,"57"],[Re.Msg.MIXLY_Query_brightness,"58"],[Re.Msg.MIXLY_Query_sound,"59"],[Re.Msg.MIXLY_Query_time,"60"],[Re.Msg.MIXLY_Query_distance,"61"],[Re.Msg.MIXLY_Query_pressure,"62"],[Re.Msg.MIXLY_Query_key,"63"],[Re.Msg.MIXLY_Query_touch,"64"],[Re.Msg.MIXLY_Query_color,"65"]]),"cmd").appendField(Re.Msg.MIXLY_WHETHER+Re.Msg.MIXLY_BE_IDENTIFIED),this.setOutput(!0),this.setInputsInline(!0)}},Tg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_GET).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_RECOGNIZED_STATE,"status1"],[Re.Msg.MIXLY_WHETHER_BROADCAST,"status2"],[Re.Msg.MIXLY_THE_RECOGNIZED_CMD,"result"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_CI130X_GET_THE_RECOGNIZED_STATE_TOOLTIP)}},Mg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_MP3_PLAY).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"],[Re.Msg.MIXLY_WIND_SPEED,"154"],[Re.Msg.MIXLY_HYETAL,"155"],[Re.Msg.MIXLY_TEMPERATURE,"156"],[Re.Msg.MIXLY_Humidity,"157"],[Re.Msg.MIXLY_Altitude,"158"],[Re.Msg.MIXLY_SOUND,"159"],[Re.Msg.MIXLY_BRIGHTNESS,"160"],[Re.Msg.ME_GO_HALL_SENSOR_DISTANCE,"161"],[Re.Msg.MIXLY_SERVO,"162"],[Re.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"163"],[Re.Msg.MIXLY_BUTTON2,"164"],[Re.Msg.MIXLY_ESP32_TOUCH,"165"],[Re.Msg.MIXLY_PAY,"166"],[Re.Msg.MIXLY_CARSH_CHANGE,"167"],[Re.Msg.MIXLY_COUNTDOWN,"168"],[Re.Msg.MIXLY_TIMING,"169"],[Re.Msg.MIXLY_AT_THE_MOMENT,"170"],[Re.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE,"171"],[Re.Msg.MIXLY_FORWARD,"172"],[Re.Msg.MIXLY_BACKWARD,"173"],[Re.Msg.MIXLY_TURNLEFT,"174"],[Re.Msg.MIXLY_TURNRIGHT,"175"],[Re.Msg.MIXLY_STOP,"176"],[Re.Msg.MIXLY_Accelerate,"177"],[Re.Msg.MIXLY_retard,"178"],[Re.Msg.ROTATION_FORWARD,"179"],[Re.Msg.ROTATION_BACKWARD,"180"],[Re.Msg.TUPLE_JOIN,"181"],[Re.Msg.MIXLY_SHOW,"182"],[Re.Msg.MIXLY_LAMPLIGHT,"183"],[Re.Msg.MIXLY_ACCELERATION,"184"]]),"star"),this.appendValueInput("NUM").appendField(Re.Msg.MIXLY_NUMBER),this.appendDummyInput("").appendField(Re.Msg.MIXLY_UNIT).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"],[Re.Msg.MIXLY_YEAR,"117"],[Re.Msg.MIXLY_MONTH,"118"],[Re.Msg.MIXLY_DAY,"119"],[Re.Msg.MIXLY_HOUR,"120"],[Re.Msg.MIXLY_MINUTE,"121"],[Re.Msg.MIXLY_SECOND,"122"],[Re.Msg.MIXLY_WEEK2,"123"],[Re.Msg.MIXLY_RMB_UNIT,"124"],[Re.Msg.blockpy_setheading_degree,"125"],[Re.Msg.MIXLY_GEAR,"126"],[Re.Msg.MIXLY_LAYER,"127"],[Re.Msg.MIXLY_GRAM,"128"],[Re.Msg.MIXLY_METER,"129"],[Re.Msg.MIXLY_CENTIMETER,"130"],[Re.Msg.MIXLY_MILLIMETER,"131"],[Re.Msg.MIXLY_LUMEN,"132"],[Re.Msg.MIXLY_DECIBEL,"133"],[Re.Msg.MIXLY_hectopascal,"134"],[Re.Msg.MIXLY_PERCENT,"135"],[Re.Msg.MIXLY_CELSIUS,"136"],[Re.Msg.MIXLY_METER_PER_SEC,"137"],[Re.Msg.MIXLY_MICROBIT_Turn_on_display,"138"],[Re.Msg.MIXLY_MICROBIT_Turn_off_display,"139"],[Re.Msg.MIXLY_SUCCESS,"140"],[Re.Msg.MIXLY_FAILED,"141"],[Re.Msg.MIXLY_WRONG,"142"],[Re.Msg.MIXLY_GOOD,"143"],[Re.Msg.MIXLY_blockpy_set_add,"144"],[Re.Msg.MIXLY_DECREASE,"145"],[Re.Msg.COLOUR_RGB_RED,"146"],[Re.Msg.COLOUR_RGB_ORANGE,"147"],[Re.Msg.COLOUR_YELLOW,"148"],[Re.Msg.COLOUR_RGB_GREEN,"149"],[Re.Msg.COLOUR_CYAN,"150"],[Re.Msg.COLOUR_RGB_BLUE,"151"],[Re.Msg.COLOUR_RGB_PURPLE,"152"],[Re.Msg.COLOUR_RGB_WHITE,"153"]]),"end"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},hg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.LISTS_SET_INDEX_SET+Re.Msg.MIXLY_SYSTEM+Re.Msg.MIXLY_CMD).appendField(new Re.FieldDropdown([[Re.Msg.MILXY_ENTER_WAKE_UP,"1"],[Re.Msg.MIXLY_INCREASE_VOLUME,"202"],[Re.Msg.MIXLY_REDUCE_VOLUME,"203"],[Re.Msg.MIXLY_MAX_VOLUME,"204"],[Re.Msg.MIXLY_MINIMUM,"205"],[Re.Msg.MIXLY_OPEN_RESPONSE,"206"],[Re.Msg.MIXLY_CLOSE_RESPONSE,"207"],[Re.Msg.MIXLY_QUIT_WAKE_UP,"208"]]),"cmd"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},mg={init:function(){this.setColour(Wc),this.appendDummyInput().appendField(Re.Msg.MIXLY_ESP32_MAX30102+" MAX30102"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Re.Msg.MIXLY_GET).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_ESP32_MAX30102_IR,"[0]"],[Re.Msg.MIXLY_ESP32_MAX30102_RED,"[1]"],[Re.Msg.MIXLY_ESP32_MAX30102_IR+","+Re.Msg.MIXLY_ESP32_MAX30102_RED,""]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Eg={init:function(){this.setColour(Wc),this.appendDummyInput().appendField(Re.Msg.MIXLY_ESP32_APDS9960+" APDS9960"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Re.Msg.MIXLY_GET).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_ESP32_APDS9960_COLOR,"color"],[Re.Msg.MIXLY_ESP32_APDS9960_GESTURE,"gesture"],[Re.Msg.MIXLY_ESP32_APDS9960_APPROACH,"proximity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Og={init:function(){this.setColour(Wc),this.appendDummyInput().appendField(Re.Msg.MIXLY_ESP32_EXTERN_LIGHT+" LTR308ALS"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Re.Msg.MIXLY_GET_LIGHT_INTENSITY),this.setOutput(!0,Number),this.setInputsInline(!0)}},Rg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.HTML_COLOUR+Re.Msg.MSG.catSensor+" LTR381RGB").setCheck("var"),this.appendDummyInput("").appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_GET+Re.Msg.HTML_COLOUR,"[2]"],[Re.Msg.MIXLY_GET+Re.Msg.MIXLY_IR_STRENGTH,"[1]"],[Re.Msg.MIXLY_GET+Re.Msg.MIXLY_LIGHT_STRENGTH,"[0]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},cg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.HTML_COLOUR+Re.Msg.MSG.catSensor+" UCS12071").setCheck("var"),this.appendDummyInput("").appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_GET+"RGB"+Re.Msg.HTML_COLOUR,"0"],[Re.Msg.MIXLY_GET+Re.Msg.MIXLY_RGB_RAW,"1"],[Re.Msg.MIXLY_GET_ENV_LIGHT+Re.Msg.MIXLY_BRIGHTNESS,"2"],[Re.Msg.GET_IR_STRENGTH+Re.Msg.MIXLY_BRIGHTNESS,"3"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},gg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_EXTERN_LIGHTUV+" LTR390UV").setCheck("var"),this.appendDummyInput().appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_GET_ENV_LIGHT,"E"],[Re.Msg.MIXLY_GET_ULTRAVIOLET,"U"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Cg={init:function(){this.setColour(Wc),this.appendDummyInput().appendField(Re.Msg.MIXLY_LASER_RANGE+" VL53L0X"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Re.Msg.MIXLY_GET_DISTANCE+"(mm)"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Sg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_TEM_HUM+" SHTC3").setCheck("var"),this.appendDummyInput("").appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_GETTEMPERATUE,"temperature"],[Re.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key");return{temperature:Re.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,humidity:Re.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[t]}))}},Ag={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_TEM_HUM+" AHT21").setCheck("var"),this.appendDummyInput("").appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_GETTEMPERATUE,"temperature"],[Re.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key");return{temperature:Re.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,relative_humidity:Re.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[t]}))}},Lg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_Altitude+Re.Msg.MSG.catSensor+" HP203X").setCheck("var"),this.appendDummyInput("").appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_GETPRESSURE,"pressure()"],[Re.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[Re.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Ng={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_Altitude+Re.Msg.MSG.catSensor+" SPL06_001").setCheck("var"),this.appendDummyInput("").appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_GETPRESSURE,"pressure()"],[Re.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[Re.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Dg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_Altitude+Re.Msg.MSG.catSensor+" MS5611").setCheck("var"),this.appendDummyInput("").appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_GETPRESSURE,"pressure()"],[Re.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[Re.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},fg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_Altitude+Re.Msg.MSG.catSensor+" MS5611").setCheck("var"),this.appendValueInput("VAR").appendField(Re.Msg.MIXLY_REF_TO_PRESSURE),this.appendDummyInput().appendField(Re.Msg.MIXLY_CAL_TO_ALTITUDE),this.setOutput(!0,Number),this.setInputsInline(!0)}},Fg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_MIXGOPE_FIELD+Re.Msg.MSG.catSensor+" QMC5883L").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_MICROBIT_JS_GET).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"get_bearing()"],[Re.Msg.MIXLY_TEMPERATURE,"get_temp()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Pg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MICROBIT_shake,"shake"],[Re.Msg.MIXLY_UP,"up"],[Re.Msg.MIXLY_DOWN,"down"],[Re.Msg.MIXLY_LEFT,"left"],[Re.Msg.MIXLY_RIGHT,"right"],[Re.Msg.MIXLY_MICROBIT_face_up,"face up"],[Re.Msg.MIXLY_MICROBIT_face_down,"face down"]]),"gesture"),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("gesture"),i=Re.Msg.MIXLY_MICROBIT_JS_CURRENT,n=Re.Msg.MSG.catSensor,s=Re.Msg.MIXLY_MICROBIT_JS_STATE,_=Re.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:Re.Msg.MIXLY_MICROBIT_shake,up:Re.Msg.MIXLY_UP,down:Re.Msg.MIXLY_DOWN,left:Re.Msg.MIXLY_LEFT,right:Re.Msg.MIXLY_RIGHT,"face up":Re.Msg.MIXLY_MICROBIT_face_up,"face down":Re.Msg.MIXLY_MICROBIT_face_down}[t]+_}))}},Yg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new Re.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key"),i=Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Re.Msg.MIXLY_MICROBIT_Direction,s=Re.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":Re.Msg.MIXLY_MICROBIT_Shiliang_Direction}[t]+n+s}))}},vg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_JS_GET+Re.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH).appendField(new Re.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key"),i=Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Re.Msg.MIXLY_MICROBIT_Direction,s=Re.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH;return i+{x:"x",y:"y",z:"z","(x,y,z)":Re.Msg.MIXLY_MICROBIT_Shiliang_Direction}[t]+n+s}))}},Xg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+Re.Msg.MIXLY_ESP32_SENOR_GYRO).appendField(new Re.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key"),i=Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Re.Msg.MIXLY_MICROBIT_Direction,s=Re.Msg.MIXLY_ESP32_SENOR_GYRO;return i+{x:"x",y:"y",z:"z","(x,y,z)":Re.Msg.MIXLY_MICROBIT_Shiliang_Direction}[t]+n+s}))}},yg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS)}},bg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Re.Msg.MIXLY_GETTEMPERATUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_GETTEMPERATUE)}},xg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_JS_GET_COMPASS).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,"strength"],[Re.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"heading"]]),"compass"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("compass");return Re.Msg.MIXLY_MICROBIT_JS_GET_COMPASS+{strength:Re.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,heading:Re.Msg.MIXLY_MICROBIT_JS_BY_ANGLE}[t]}))}},Vg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_Reset_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_MICROBIT_Reset_COMPASS)}},Bg={init:function(){this.setColour(Wc),this.appendValueInput("SPISUB").appendField(Re.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_SETUP+Re.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new Re.FieldDropdown([["RFID","RFID"],["WS-LoRa","Weather"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setFieldValue("RFID","key")}},Gg={init:function(){this.setColour(Wc),this.appendDummyInput().appendField("RFID"+Re.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(Re.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_RFID_READ_CARD_UID,"id"],[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"content"],[Re.Msg.MIXLY_ALL,"ALL"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Ug={init:function(){this.setColour(Wc),this.appendDummyInput().appendField("RFID"+Re.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_RFID_READ_CARD_UID),this.setOutput(!0,Number),this.setInputsInline(!0)}},wg={init:function(){this.setColour(Wc),this.appendDummyInput().appendField("RFID"+Re.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(Re.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},Hg={init:function(){this.setColour(Wc),this.appendDummyInput().appendField(Re.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(Re.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(Re.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},kg={init:function(){this.setColour(Wc),this.appendDummyInput().appendField(Re.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(Re.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(Re.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(Re.Msg.RETURN_SUCCESS_OR_NOT),this.setInputsInline(!0),this.setOutput(!0,Boolean)}},Wg={init:function(){this.setColour(Wc),this.appendDummyInput().appendField("RFID"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_RFID_SCAN_OK,"0"],[Re.Msg.MIXLY_RFID_SCAN_NOTAGERR,"1"],[Re.Msg.MIXLY_RFID_SCAN_ERROR,"2"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Kg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_MICROBIT_JS_GET).appendField(new Re.FieldDropdown([["全部(元组)","data()[0]"],["全部(json)","data()[1]"],["全部(json,附带位置信息)","data()[2]"],["编号","data()[0][0]"],["电量","data()[0][1]"],["风速","data()[0][2]"],["阵风","data()[0][3]"],["风向","data()[0][4]"],["雨量","data()[0][5]"],["温度","data()[0][6]"],["湿度","data()[0][7]"],["光照","data()[0][8]"],["紫外线","data()[0][9]"],["大气压","data()[0][10]"],["信号强度","data()[0][11]"],["信噪比","data()[0][12]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip("返回气象数据元组 data= (设备id,电池状态,风速m/s,阵风m/s,风向°,雨量mm,温度℃,湿度%,光照Lux,UVI,大气压Pa,信号强度dB,信噪比dB)")}},Jg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_SERIAL_AVAILABLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},Qg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendValueInput("BASE").appendField("以主题"),this.appendDummyInput("").appendField("串口发送至MixIO"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},zg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.itemCount_=2,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new Re.icons.MutatorIcon(["weather_set_label_item"],this)),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip()},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("weather_set_label_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;n>6),i.push(128|63&_)):(2048<=_&&_<=55295||57344<=_&&_<=65535)&&(n+=3,i.push(224|15&_>>12),i.push(128|63&_>>6),i.push(128|63&_))}for(s=0;s>8,255&n].concat(i)}(e,!0),i="",n=0;n=0?"0x700000":["mixgo_sant"].indexOf(n)>=0?"0xE00000":"0x3A0000","32x12 Matrix"==o?(t.definitions_.import_matrix32x12="import matrix32x12",i=s+" = matrix32x12.Matrix("+_+", font_address="+p+")\n"):"16x8 Matrix"==o&&(t.definitions_.import_matrix16x8="import matrix16x8",i=s+" = matrix16x8.Matrix("+_+")\n"),i},dv=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},Iv=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", space="+t.valueToCode(this,"space",t.ORDER_ASSIGNMENT)+", center="+this.getFieldValue("center")+")\n"},Tv=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".frame("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},Mv=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".frame("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", delay="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+")\n"},hv=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},mv=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", speed="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+", space="+t.valueToCode(this,"space",t.ORDER_ASSIGNMENT)+")\n"},Ev=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},Ov=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+"."+e.getFieldValue("OP")+"("+t.valueToCode(e,"val",t.ORDER_ATOMIC)+")\n"},Rv=function(e,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".pixel(int("+t.valueToCode(e,"x",t.ORDER_ATOMIC)+"), int("+t.valueToCode(e,"y",t.ORDER_ATOMIC)+"))",t.ORDER_ATOMIC]},cv=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return i+".pixel(int("+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+"), int("+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+"), "+t.valueToCode(this,"STAT",t.ORDER_ATOMIC)+")\n"+i+".show()\n"},gv=function(e,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".get_brightness()",t.ORDER_ATOMIC]},Cv=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".set_brightness("+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+")\n"},Sv=function(e,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+"."+e.getFieldValue("image"),t.ORDER_ATOMIC]},Av=function(e,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".map_"+e.getFieldValue("OP")+"("+t.valueToCode(e,"A",t.ORDER_ATOMIC)+", "+t.valueToCode(e,"B",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Lv=function(e,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".map_invert("+t.valueToCode(e,"A",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Nv=function(e,t){t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var i=t.valueToCode(this,"I2CSUB",t.ORDER_ATOMIC);return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+" = ssd1306.SSD1306_I2C("+t.valueToCode(this,"row",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"column",t.ORDER_ATOMIC)+", "+i+")\n"},Dv=function(e,t){return t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".show_str("+(t.valueToCode(this,"Text_line1",t.ORDER_ASSIGNMENT)||"''")+", "+(t.valueToCode(this,"Text_line2",t.ORDER_ASSIGNMENT)||"''")+", "+(t.valueToCode(this,"Text_line3",t.ORDER_ASSIGNMENT)||"''")+", "+(t.valueToCode(this,"Text_line4",t.ORDER_ASSIGNMENT)||"''")+")\n"},fv=function(e,t){return t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".show_line("+t.valueToCode(this,"x1",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"y1",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"x2",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"y2",t.ORDER_ATOMIC)+", 1)\n"},Fv=function(e,t){t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var i=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),n=t.valueToCode(this,"x",t.ORDER_ATOMIC),s=t.valueToCode(this,"y",t.ORDER_ATOMIC),_=t.valueToCode(this,"width",t.ORDER_ATOMIC),o=t.valueToCode(this,"height",t.ORDER_ATOMIC),p="TRUE"==this.getFieldValue("fill")?"True":"False",a=this.getFieldValue("OP");switch(p){case"True":return i+".show_fill_rect("+n+", "+s+", "+_+", "+o+", "+a+")\n";case"False":return i+".show_rect("+n+", "+s+", "+_+", "+o+", "+a+")\n"}},Pv=function(e,t){t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var i=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),n=t.valueToCode(this,"x",t.ORDER_ATOMIC),s=t.valueToCode(this,"y",t.ORDER_ATOMIC),_=t.valueToCode(this,"length",t.ORDER_ATOMIC);return i+".show_"+this.getFieldValue("direction")+"("+n+", "+s+", "+_+", 1)\n"},Yv=function(e,t){return["ON"==this.getFieldValue("ONOFF")?"1":"0",t.ORDER_ATOMIC]},vv=function(e,t){t.definitions_.import_matrix="import matrix";var i=e.getFieldValue("OP");return[t.valueToCode(e,"img",t.ORDER_ATOMIC)+".shift_"+i+"("+t.valueToCode(e,"val",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Xv=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return t.definitions_.import_ssd1306="import ssd1306",t.definitions_.import_machine="import machine",i+".show_fill("+this.getFieldValue("key")+")\n"},yv=function(e,t){return["matrix.Image."+this.getFieldValue("ANIMATION"),t.ORDER_ATOMIC]},bv=function(e,t){var i=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var n=t.valueToCode(this,"x",t.ORDER_ATOMIC),s=t.valueToCode(this,"y",t.ORDER_ATOMIC),_=t.valueToCode(this,"r",t.ORDER_ATOMIC),o="TRUE"==this.getFieldValue("fill")?"True":"False",p=this.getFieldValue("OP");switch(o){case"True":return i+".show_fill_circle("+n+", "+s+", "+_+", "+p+")\n";case"False":return i+".show_circle("+n+", "+s+", "+_+", "+p+")\n"}},xv=function(e,t){var i=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var n=t.valueToCode(this,"x0",t.ORDER_ATOMIC),s=t.valueToCode(this,"y0",t.ORDER_ATOMIC),_=t.valueToCode(this,"x1",t.ORDER_ATOMIC),o=t.valueToCode(this,"y1",t.ORDER_ATOMIC),p=t.valueToCode(this,"x2",t.ORDER_ATOMIC),a=t.valueToCode(this,"y2",t.ORDER_ATOMIC),u="TRUE"==this.getFieldValue("fill")?"True":"False",r=this.getFieldValue("OP");switch(u){case"True":return i+".show_fill_triangle("+n+", "+s+", "+_+", "+o+", "+p+", "+a+", "+r+")\n";case"False":return i+".show_triangle("+n+", "+s+", "+_+", "+o+", "+p+", "+a+", "+r+")\n"}},Vv=function(e,t){return t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".show_bitmap("+t.valueToCode(this,"START_X",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"START_Y",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"bitmap_name",t.ORDER_ATOMIC)+","+t.valueToCode(this,"WIDTH",t.ORDER_ATOMIC)+","+t.valueToCode(this,"HEIGHT",t.ORDER_ATOMIC)+")\n"},Bv=function(e,t){return t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".show_pixel("+t.valueToCode(this,"POS_X",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"POS_Y",t.ORDER_ATOMIC)+")\n"},Gv=function(e,t){var i,n=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),s=t.valueToCode(this,"CLK",t.ORDER_ATOMIC),_=t.valueToCode(this,"DIO",t.ORDER_ATOMIC),o=this.getFieldValue("key");return"TM1650"==o?(t.definitions_.import_tm1650="import tm1650",i=n+" = tm1650."+o+"(clk="+s+",dio="+_+")\n"):"TM1637"==o&&(t.definitions_.import_tm1637="import tm1637",i=n+" = tm1637."+o+"(clk="+s+",dio="+_+")\n"),i},Uv=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+"."+this.getFieldValue("STAT")+"()\n"},wv=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".shownum("+t.valueToCode(this,"VALUE",t.ORDER_ATOMIC)+")\n"},Hv=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".showDP("+t.valueToCode(this,"NO",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"STAT",t.ORDER_ATOMIC)+")\n"},kv=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".intensity("+t.valueToCode(this,"VALUE",t.ORDER_ATOMIC)+")\n"},Wv=function(e,t){t.definitions_.import_st7789="import st7789";var i=ce.Boards.getSelectedBoardKey().split(":")[2],n="";n=["mpython","mixgo_pe","mixgo_nova"].indexOf(i)>=0?"0x700000":["mixgo_sant"].indexOf(i)>=0?"0xE00000":"0x3A0000";var s=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),_=t.valueToCode(this,"SPISUB",t.ORDER_ATOMIC),o=t.valueToCode(this,"PINCS",t.ORDER_ATOMIC),p=t.valueToCode(this,"PINDC",t.ORDER_ATOMIC);return s+" = st7789.ST7789("+_+", "+t.valueToCode(this,"WIDTH",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"HEIGHT",t.ORDER_ATOMIC)+", dc_pin="+p+", cs_pin="+o+", rotation="+this.getFieldValue("rotate")+", font_address="+n+")\n"},Kv=function(e,t){t.definitions_.import_st7789="import st7789";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".image("+n+", x="+s+", y="+_+", size="+o+", color="+p+")\n";else{const e=p.match(/\d+/g);var u="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");a=i+".image("+n+", x= "+s+",y="+_+", size="+o+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},Jv=function(e,t){var i="0x"+this.getFieldValue("COLOR").slice(1);return["0x"+((16252928&i)>>8|(64512&i)>>5|(255&i)>>3).toString(16),t.ORDER_ATOMIC]},Qv=function(e,t){t.definitions_.import_st7789="import st7789";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),a=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),u=this.getFieldValue("center");if("0x"==a.slice(0,2))var r=i+".shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+u+", color="+a+")\n";else{const e=a.match(/\d+/g);var l="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");r=i+".shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+u+", color=0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+")\n"}return r},zv=function(e,t){t.definitions_.import_st7789="import st7789";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==o.slice(0,2))var p=i+".frame("+n+", size="+s+", delay="+_+", color="+o+")\n";else{const e=o.match(/\d+/g);var a="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");p=i+".frame("+n+", size="+s+", delay="+_+", color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},qv=function(e,t){t.definitions_.import_st7789="import st7789";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),a=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u=i+".scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color="+a+")\n";else{const e=a.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u=i+".scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},jv=function(e,t){return t.definitions_.import_st7789="import st7789",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".fill(st7789."+this.getFieldValue("key")+")\n"},$v=function(e,t){t.definitions_.import_st7789="import st7789";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"x1",t.ORDER_ATOMIC),s=t.valueToCode(this,"y1",t.ORDER_ATOMIC),_=t.valueToCode(this,"x2",t.ORDER_ATOMIC),o=t.valueToCode(this,"y2",t.ORDER_ATOMIC),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".line("+n+", "+s+", "+_+", "+o+", color="+p+")\n";else{const e=p.match(/\d+/g);var u="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");a=i+".line("+n+", "+s+", "+_+", "+o+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},Zv=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"I2CSUB",t.ORDER_ATOMIC),s=this.getFieldValue("key"),_=t.valueToCode(this,"ADDR",t.ORDER_ATOMIC);return t.definitions_.import_i2clcd="import i2clcd",i+" = i2clcd.LCD("+n+", lcd_width="+s+", i2c_addr="+_+")\n"},eX=function(e,t){return t.definitions_.import_i2clcd="import i2clcd",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", column="+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+", line="+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+",center = "+this.getFieldValue("center")+")\n"},tX=function(e,t){return t.definitions_.import_i2clcd="import i2clcd",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".print("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", column="+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+", line="+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+", delay="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+")\n"},iX=function(e,t){return t.definitions_.import_i2clcd="import i2clcd",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".backlight("+this.getFieldValue("key")+")\n"},nX=function(e,t){return t.definitions_.import_i2clcd="import i2clcd",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".clear()\n"},sX=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"I2CSUB",t.ORDER_ATOMIC),s=t.valueToCode(this,"ADDR",t.ORDER_ATOMIC),_=this.getFieldValue("driver"),o=ce.Boards.getSelectedBoardKey().split(":")[2],p="";return p=["mpython","mixgo_pe","mixgo_nova"].indexOf(o)>=0?"0x700000":["mixgo_sant"].indexOf(o)>=0?"0xE00000":"0x3A0000",t.definitions_.import_oled128x64="import oled128x64",i+" = oled128x64.OLED("+n+", address="+s+", font_address="+p+", types="+_+")\n"},_X=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".image("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},oX=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".image("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", x="+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+", y="+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+", size="+t.valueToCode(this,"size",t.ORDER_ASSIGNMENT)+")\n"},pX=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},aX=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", x="+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+", y="+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+", size="+t.valueToCode(this,"size",t.ORDER_ASSIGNMENT)+", space="+t.valueToCode(this,"space",t.ORDER_ASSIGNMENT)+", center="+this.getFieldValue("center")+")\n"},uX=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".frame("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},rX=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".frame("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", size="+t.valueToCode(this,"size",t.ORDER_ASSIGNMENT)+", delay="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+")\n"},lX=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},dX=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", y="+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+", size="+t.valueToCode(this,"size",t.ORDER_ASSIGNMENT)+", speed="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+", space="+t.valueToCode(this,"space",t.ORDER_ASSIGNMENT)+")\n"},IX=function(e,t){t.definitions_.import_oled128x64="import oled128x64";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},TX=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+"."+e.getFieldValue("OP")+"("+t.valueToCode(e,"val",t.ORDER_ATOMIC)+")\n"},MX=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".pixel(int("+t.valueToCode(e,"x",t.ORDER_ATOMIC)+"), int("+t.valueToCode(e,"y",t.ORDER_ATOMIC)+"))",t.ORDER_ATOMIC]},hX=function(e,t){t.definitions_.import_oled128x64="import oled128x64";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return i+".pixel(int("+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+"), int("+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+"), "+t.valueToCode(this,"STAT",t.ORDER_ATOMIC)+")\n"+i+".show()\n"},mX=function(e,t){t.definitions_.import_oled128x64="import oled128x64";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(e,"x",t.ORDER_ATOMIC),s=t.valueToCode(e,"y",t.ORDER_ATOMIC),_=t.valueToCode(e,"w",t.ORDER_ATOMIC),o=t.valueToCode(e,"h",t.ORDER_ATOMIC),p=e.getFieldValue("state");return i+"."+e.getFieldValue("shape")+"("+n+", "+s+", "+_+", "+o+", "+p+")\n"+i+".show()\n"},EX=function(e,t){t.definitions_.import_oled128x64="import oled128x64";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(e,"x",t.ORDER_ATOMIC),s=t.valueToCode(e,"y",t.ORDER_ATOMIC),_=t.valueToCode(e,"length",t.ORDER_ATOMIC),o=e.getFieldValue("state");return i+"."+("0"==e.getFieldValue("dir_h_v")?"v":"h")+"line("+n+", "+s+", "+_+", "+o+")\n"+i+".show()\n"},OX=function(e,t){t.definitions_.import_oled128x64="import oled128x64";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return i+".line("+t.valueToCode(e,"x1",t.ORDER_ATOMIC)+", "+t.valueToCode(e,"y1",t.ORDER_ATOMIC)+", "+t.valueToCode(e,"x2",t.ORDER_ATOMIC)+", "+t.valueToCode(e,"y2",t.ORDER_ATOMIC)+", "+e.getFieldValue("state")+")\n"+i+".show()\n"},RX=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT);if("Python ESP32-S3"===ce.JSFuncs.getPlatform()){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var s="onboard_tft.image("+(n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT))+", color=0xffff,sync="+(t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True")+")\n"}else if("educore"==i){t.definitions_["import_"+i+"_oled"]="from "+i+" import oled";s="oled.print("+n+")\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";s="onboard_matrix.shows("+n+")\n"}return s},cX=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),_=this.getFieldValue("center");if("mixgo_sant"==i||"mixgo_nova"==i||"mixgo_soar"==i)return t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.shows("+n+", space="+s+", center="+_+",sync="+(t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True")+")\n";if("educore"==i){t.definitions_["import_"+i+"_oled"]="from "+i+" import oled"}return t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.shows("+n+", space="+s+", center="+_+")\n"},gX=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){t.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var s="onboard_oled.frame("+n+")\n"}else if("Python ESP32-S3"===ce.JSFuncs.getPlatform()){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";s="onboard_tft.frame("+(n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT))+", color=0xffff)\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";s="onboard_matrix.frame("+n+")\n"}return s},CX=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){t.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var _="onboard_oled.frame("+(n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT))+", delay="+s+")\n"}else if("Python ESP32-S3"===ce.JSFuncs.getPlatform()){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";_="onboard_tft.frame("+n+", size=5 , delay="+s+", color=0xffff)\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";_="onboard_matrix.frame("+n+", delay="+s+")\n"}return _},SX=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];if("mpython"==i||"educore"==i){t.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var n="onboard_oled.scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"}else if("Python ESP32-S3"===ce.JSFuncs.getPlatform()){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";n="onboard_tft.scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", color=0xffff)\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"}return n},AX=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){t.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var o="onboard_oled.scroll("+n+", speed="+s+", space="+_+")\n"}else if("Python ESP32-S3"===ce.JSFuncs.getPlatform()){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";o="onboard_tft.scroll("+n+", y=0, size=5, speed="+s+", space="+_+", color=0xffff)\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";o="onboard_matrix.scroll("+n+", speed="+s+", space="+_+")\n"}return o},LX=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.scroll_way("+this.getFieldValue("way")+")\n"},NX=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),a=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u="onboard_tft.scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color="+a+")\n";else{const e=a.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u="onboard_tft.scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},DX=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix",["onboard_matrix."+e.getFieldValue("image"),t.ORDER_ATOMIC]},fX=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];if("Python ESP32-S3"===ce.JSFuncs.getPlatform()){const i=e.getFieldValue("image").split(".");if(2!==i.length)throw Error("pin value error");t.definitions_[`import_${i[0]}_${i[1]}`]=`from ${i[0]} import ${i[1]}`;var n=i[1]}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix."+e.getFieldValue("image")}return[n,t.ORDER_ATOMIC]},FX=function(e,t){var i={"#000000":"0","#ff0000":"1"};function n(e){let t="";if(e.length%2==1&&(e="0"+e),e.length<8){let t=8-e.length;for(let i=1;i<=t;i++)e="0"+e}for(let i=1;i<=e.length;i++)i%2==0&&i!==e.length?t=t+e[i-1]+",0x":t+=e[i-1];return"0x"+t}let s=[];for(let t=0;t<12;t++){let _="",o=0,p=0;for(let n=0;n<32;n++)n<8?p=7-n:n<16?p=23-n:n<24?p=39-n:n<32&&(p=55-n),o+=Number(i[e.getFieldValue(t+"-"+n)])*Math.pow(2,31-p);_+=n(o.toString(16)),s.unshift(_)}let _=[];for(let e=0;e>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},Ty=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.picture("+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+","+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+","+t.valueToCode(this,"direct",t.ORDER_ASSIGNMENT)+")\n"},My=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),a=this.getFieldValue("center"),u=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True",r=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==r.slice(0,2))var l="onboard_tft.shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+a+", color="+r+",sync="+u+")\n";else{const e=r.match(/\d+/g);var d="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");l="onboard_tft.shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+a+", color=0x"+((16252928&d)>>8|(64512&d)>>5|(255&d)>>3).toString(16)+",sync="+u+")\n"}return l},hy=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==o.slice(0,2))var p="onboard_tft.frame("+n+", size="+s+", delay="+_+", color="+o+")\n";else{const e=o.match(/\d+/g);var a="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");p="onboard_tft.frame("+n+", size="+s+", delay="+_+", color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},my=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(e,"x",t.ORDER_ATOMIC),s=t.valueToCode(e,"y",t.ORDER_ATOMIC),_=t.valueToCode(e,"w",t.ORDER_ATOMIC),o=t.valueToCode(e,"h",t.ORDER_ATOMIC),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),a=e.getFieldValue("shape"),u=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var r="onboard_tft."+a+"("+n+", "+s+", "+_+", "+o+", "+p+",sync="+u+")\n";else{const e=p.match(/\d+/g);var l="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");r="onboard_tft."+a+"("+n+", "+s+", "+_+", "+o+", 0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+",sync="+u+")\n"}return r},Ey=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(e,"x",t.ORDER_ATOMIC),s=t.valueToCode(e,"y",t.ORDER_ATOMIC),_=t.valueToCode(e,"length",t.ORDER_ATOMIC),o=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),p=e.getFieldValue("dir_h_v"),a=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==o.slice(0,2))var u="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+_+", "+o+",sync="+a+")\n";else{const e=o.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+_+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},Oy=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(e,"x1",t.ORDER_ATOMIC),s=t.valueToCode(e,"y1",t.ORDER_ATOMIC),_=t.valueToCode(e,"x2",t.ORDER_ATOMIC),o=t.valueToCode(e,"y2",t.ORDER_ATOMIC),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),a=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var u="onboard_tft.line("+n+", "+s+", "+_+", "+o+", "+p+",sync="+a+")\n";else{const e=p.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u="onboard_tft.line("+n+", "+s+", "+_+", "+o+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},Ry=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft",["onboard_tft.pixel(int("+t.valueToCode(e,"x",t.ORDER_ATOMIC)+"), int("+t.valueToCode(e,"y",t.ORDER_ATOMIC)+"))",t.ORDER_ATOMIC]},cy=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),o=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==_.slice(0,2))var p="onboard_tft.pixel(int("+n+"), int("+s+"), "+_+",sync="+o+")\n";else{const e=_.match(/\d+/g);var a="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");p="onboard_tft.pixel(int("+n+"), int("+s+"), 0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+",sync="+o+")\n"}return p},gy=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"VAR",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==n.slice(0,2))var _="onboard_tft.fill("+n+",sync="+s+")\n";else{const e=n.match(/\d+/g);var o="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");_="onboard_tft.fill(0x"+((16252928&o)>>8|(64512&o)>>5|(255&o)>>3).toString(16)+",sync="+s+")\n"}return _},Cy=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=o+"=Clock("+n+", "+s+", "+_+", "+p+")\n";else{const e=p.match(/\d+/g);var u="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");a=o+"=Clock("+n+", "+s+", "+_+", 0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},Sy=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT)+".set_rtctime()\n"},Ay=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT)+".set_time("+t.valueToCode(this,"h",t.ORDER_ASSIGNMENT)+", "+t.valueToCode(this,"m",t.ORDER_ASSIGNMENT)+", "+t.valueToCode(this,"s",t.ORDER_ASSIGNMENT)+")\n"},Ly=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT)+".draw_clock()\n"},Ny=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==s.slice(0,2))var _=n+".clear("+s+")\n";else{const e=s.match(/\d+/g);var o="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");_=n+".clear(0x"+((16252928&o)>>8|(64512&o)>>5|(255&o)>>3).toString(16)+")\n"}return _},Dy=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(e,"x",t.ORDER_ATOMIC),s=t.valueToCode(e,"y",t.ORDER_ATOMIC),_=t.valueToCode(e,"r",t.ORDER_ATOMIC),o=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),p=e.getFieldValue("shape"),a=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==o.slice(0,2))var u="onboard_tft.ellipse("+n+", "+s+", "+_+", "+_+", "+o+", "+p+",sync="+a+")\n";else{const e=o.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u="onboard_tft.ellipse("+n+", "+s+", "+_+", "+_+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+", "+p+",sync="+a+")\n"}return u},fy=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];if("Python ESP32-S3"===ce.JSFuncs.getPlatform()){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n="onboard_tft.pointern(angle="+t.valueToCode(this,"angle",t.ORDER_ASSIGNMENT)+")\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.pointern(angle="+t.valueToCode(this,"angle",t.ORDER_ASSIGNMENT)+")\n"}return n},Fy=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"angle",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==s.slice(0,2));else{const e=s.match(/\d+/g);var _="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");((16252928&_)>>8|(64512&_)>>5|(255&_)>>3).toString(16)}return"onboard_tft.pointern(angle="+n+")\n"},Py=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),a=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var u="onboard_tft.texts("+n+", x="+s+", y="+_+", size="+o+", color="+p+",sync="+a+")\n";else{const e=p.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u="onboard_tft.texts("+n+", x="+s+", y="+_+", size="+o+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},Yy=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.qrcode("+t.valueToCode(this,"direct",t.ORDER_ATOMIC)+")\n"},vy=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),a=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True",u=this.getFieldValue("correct");if("0x"==p.slice(0,2))var r="onboard_tft.qrcode("+n+",x="+s+",y="+_+",size="+o+",correct="+u+",color="+p+",sync="+a+")\n";else{const e=p.match(/\d+/g);var l="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");r="onboard_tft.qrcode("+n+",x="+s+",y="+_+",size="+o+",correct="+u+",color=0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+",sync="+a+")\n"}return r},Xy=RX,yy=BX,by=bX,xy=BX,Vy=GX,By=YX,Gy=function(e,t){var i=this.getFieldValue("path"),n=this.getFieldValue("module");return t.definitions_["import_"+i+"_"+n]="from "+i+" import "+n,""},Uy=function(e,t){var i=this.getFieldValue("module");return t.definitions_["import_"+i]="import "+i,""},wy=function(e,t){for(var i=this.getFieldValue("NAME"),n=new Array(this.itemCount_),s=0;s {\n"+t.statementToCode(this,"do")+"})\n"},lw=function(){return"control.reset()\n"},dw=function(e,t){return"control.waitMicros("+(t.valueToCode(this,"data",t.ORDER_ATOMIC)||ce.Profile.default.serial)+")\n"},Iw=function(e,t){return"control.raiseEvent("+(t.valueToCode(this,"system_event_bus_source",t.ORDER_ATOMIC)||ce.Profile.default.serial)+", "+(t.valueToCode(this,"system_event_bus_value",t.ORDER_ATOMIC)||ce.Profile.default.serial)+")\n"},Tw=function(e,t){return"control.onEvent("+(t.valueToCode(this,"system_event_bus_source",t.ORDER_ATOMIC)||ce.Profile.default.serial)+", "+(t.valueToCode(this,"system_event_bus_value",t.ORDER_ATOMIC)||ce.Profile.default.serial)+", () => {\n"+t.statementToCode(this,"do")+")\n"},Mw=function(e,t){return["control.eventTimestamp()",t.ORDER_ATOMIC]},hw=function(e,t){return["control.eventValue()",t.ORDER_ATOMIC]},mw=function(e,t){return[this.getFieldValue("key"),t.ORDER_ATOMIC]},Ew=function(e,t){return[this.getFieldValue("key"),t.ORDER_ATOMIC]},Ow=function(e,t){return["control.deviceName()",t.ORDER_ATOMIC]},Rw=function(e,t){return["control.deviceSerialNumber()",t.ORDER_ATOMIC]},cw=function(e,t){return"panic("+(t.valueToCode(this,"STATUS_CODE",t.ORDER_ATOMIC)||"1000")+")\n"},gw=function(e,t){switch(t.definitions_.import_time="import time",this.getFieldValue("Time")){case"ms":return["time.ticks_ms()",t.ORDER_ATOMIC];case"us":return["time.ticks_us()",t.ORDER_ATOMIC]}},Cw=function(){return"while True:\n pass\n"},Sw=function(e,t){return t.definitions_.import_mixgo="import mixgo","reset()\n"},Aw=function(e,t){return t.definitions_.import_os="import os","os.uname()"},Lw=function(e,t){t.definitions_.import_time="import time";var i=t.valueToCode(this,"DELAY_TIME",t.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},Nw=function(e,t){t.definitions_.import_time="import time";var i=t.valueToCode(this,"DELAY_TIME",t.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},Dw=function(e,t){return t.definitions_.import_mixgo="import mixgo",(t.valueToCode(this,"VAR",t.ORDER_NONE)||"None")+".init(period="+(t.valueToCode(this,"period",t.ORDER_NONE)||"0")+", mode=Timer."+(t.valueToCode(this,"mode",t.ORDER_NONE)||"None")+", callback="+(t.valueToCode(this,"callback",t.ORDER_NONE)||"None")+")\n"},fw=function(e,t){return t.definitions_.import_machine="import machine",(t.valueToCode(this,"VAR",t.ORDER_NONE)||"None")+" = machine.Timer("+(t.valueToCode(this,"PIN",t.ORDER_NONE)||"None")+",period = "+(t.valueToCode(this,"period",t.ORDER_NONE)||"0")+", mode=machine.Timer."+this.getFieldValue("mode")+", callback="+(t.valueToCode(this,"callback",t.ORDER_NONE)||"None")+")\n"},Fw=function(e,t){return t.definitions_.import_time="import time",["time.ticks_diff("+(t.valueToCode(this,"END",t.ORDER_NONE)||"0")+", "+(t.valueToCode(this,"START",t.ORDER_NONE)||"0")+")",t.ORDER_ATOMIC]},Pw=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return t.definitions_.import_machine="import machine",i+" = machine.Timer(0)\n"},Yw=function(e,t){return t.definitions_.import_machine="import machine",(t.valueToCode(this,"VAR",t.ORDER_NONE)||"None")+".init(period = "+(t.valueToCode(this,"period",t.ORDER_NONE)||"0")+", mode=machine.Timer."+this.getFieldValue("mode")+", callback="+(t.valueToCode(this,"callback",t.ORDER_NONE)||"None")+")\n"},vw=function(e,t){return t.definitions_.import_machine="import machine","wdt = machine.WDT(timeout= "+(t.valueToCode(this,"period",t.ORDER_NONE)||"0")+")\n"},Xw=function(e,t){t.definitions_.import_machine="import machine";return"wdt.feed()\n"},yw=function(e,t){t.definitions_.import_machine="import machine";return"machine.reset()\n"},bw=function(e,t){t.definitions_.import_bitbot_onboard_bot51="from bitbot import onboard_bot51";return"onboard_bot51.shutdown()\n"},xw=Pw,Vw=Yw,Bw=Fw,Gw=Lw,Uw=function(e,t){return t.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+t.valueToCode(this,"key",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},ww=function(e,t){return t.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+t.valueToCode(this,"key",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"day",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Hw=function(e,t){return t.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api.weather_hourly("+t.valueToCode(this,"key",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"hour",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},kw=function(e,t){return t.definitions_["import_seniverse_api*"]="from seniverse_api import *",this.getFieldValue("mode")+".request("+t.valueToCode(this,"key",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+")\n"},Ww=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Weather_now.analysis()";else n='Weather_now.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},Kw=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Air_now.analysis()";else n='Air_now.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},Jw=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Weather_alarm.analysis()";else n='Weather_alarm.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},Qw=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Life_suggestion.analysis()";else n='Life_suggestion.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},zw=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Tide_daily.analysis()";else n='Tide_daily.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},qw=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Location_search.analysis()";else n='Location_search.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},jw=function(e,t){return t.definitions_["import_seniverse_api*"]="from seniverse_api import *",this.getFieldValue("mode")+".request("+t.valueToCode(this,"key",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"day",t.ORDER_ATOMIC)+")\n"},$w=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=t.valueToCode(this,"day",t.ORDER_ATOMIC);if("none"==i)var s="Weather_daily.analysis("+n+")";else s="Weather_daily.analysis("+n+', "'+i+'")';return[s,t.ORDER_ATOMIC]},Zw=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=t.valueToCode(this,"day",t.ORDER_ATOMIC);if("none"==i)var s="Air_daily.analysis("+n+")";else s="Air_daily.analysis("+n+', "'+i+'")';return[s,t.ORDER_ATOMIC]},eH=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=t.valueToCode(this,"day",t.ORDER_ATOMIC);if("none"==i)var s="Geo_sun.analysis("+n+")";else s="Geo_sun.analysis("+n+', "'+i+'")';return[s,t.ORDER_ATOMIC]},tH=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=t.valueToCode(this,"day",t.ORDER_ATOMIC);if("none"==i)var s="Geo_moon.analysis("+n+")";else s="Geo_moon.analysis("+n+', "'+i+'")';return[s,t.ORDER_ATOMIC]},iH='
\r\n
{{-d.title}}
\r\n
\r\n {{# if (d.message) { }}\r\n

\r\n {{-d.message}}\r\n

\r\n {{# } }}\r\n
\r\n
',{XML:nH}=ce,sH=nH.render(iH,{title:"烧录速度",message:"要选择烧录速度,请更改“Burn Speed”,此值将用于向设备烧录代码。如果在用较高的烧录速度时出现问题,请尝试减小此值,这可能是由于外部串行到USB芯片的限制。"}),{XML:_H}=ce,oH=_H.render(iH,{title:"燒錄速度",message:"要選擇燒錄速度,請更改“Burn Speed”,此值將用於向設備燒錄程式碼。如果在用較高的燒錄速度時出現問題,請嘗試减小此值,這可能是由於外部串列到USB晶片的限制。"}),{XML:pH}=ce,aH=pH.render(iH,{title:"Burn Speed",message:"To select the flashing speed, change the Burn Speed. This value will be used for flashing the code to the device. If you have issues while flashing the device at high speed, try to decrease this value. This could be due to the external serial-to-USB chip limitations."}),uH=new Re.Generator("Python");uH.INDENT=" ",uH.addReservedWords("False,None,True,and,as,assert,break,class,continue,def,del,elif,else,except,exec,finally,for,from,global,if,import,in,is,lambda,nonlocal,not,or,pass,print,raise,return,try,while,with,yield,NotImplemented,Ellipsis,__debug__,quit,exit,copyright,license,credits,ArithmeticError,AssertionError,AttributeError,BaseException,BlockingIOError,BrokenPipeError,BufferError,BytesWarning,ChildProcessError,ConnectionAbortedError,ConnectionError,ConnectionRefusedError,ConnectionResetError,DeprecationWarning,EOFError,Ellipsis,EnvironmentError,Exception,FileExistsError,FileNotFoundError,FloatingPointError,FutureWarning,GeneratorExit,IOError,ImportError,ImportWarning,IndentationError,IndexError,InterruptedError,IsADirectoryError,KeyError,KeyboardInterrupt,LookupError,MemoryError,ModuleNotFoundError,NameError,NotADirectoryError,NotImplemented,NotImplementedError,OSError,OverflowError,PendingDeprecationWarning,PermissionError,ProcessLookupError,RecursionError,ReferenceError,ResourceWarning,RuntimeError,RuntimeWarning,StandardError,StopAsyncIteration,StopIteration,SyntaxError,SyntaxWarning,SystemError,SystemExit,TabError,TimeoutError,TypeError,UnboundLocalError,UnicodeDecodeError,UnicodeEncodeError,UnicodeError,UnicodeTranslateError,UnicodeWarning,UserWarning,ValueError,Warning,ZeroDivisionError,_,__build_class__,__debug__,__doc__,__import__,__loader__,__name__,__package__,__spec__,abs,all,any,apply,ascii,basestring,bin,bool,buffer,bytearray,bytes,callable,chr,classmethod,cmp,coerce,compile,complex,copyright,credits,delattr,dict,dir,divmod,enumerate,eval,exec,execfile,exit,file,filter,float,format,frozenset,getattr,globals,hasattr,hash,help,hex,id,input,int,intern,isinstance,issubclass,iter,len,license,list,locals,long,map,max,memoryview,min,next,object,oct,open,ord,pow,print,property,quit,range,raw_input,reduce,reload,repr,reversed,round,set,setattr,slice,sorted,staticmethod,str,sum,super,tuple,type,unichr,unicode,vars,xrange,zip"),uH.ORDER_ATOMIC=0,uH.ORDER_COLLECTION=1,uH.ORDER_STRING_CONVERSION=1,uH.ORDER_UNARY_POSTFIX=1,uH.ORDER_UNARY_PREFIX=2,uH.ORDER_MEMBER=2.1,uH.ORDER_FUNCTION_CALL=2.2,uH.ORDER_EXPONENTIATION=3,uH.ORDER_UNARY_SIGN=4,uH.ORDER_BITWISE_NOT=4,uH.ORDER_MULTIPLICATIVE=5,uH.ORDER_ADDITIVE=6,uH.ORDER_BITWISE_SHIFT=7,uH.ORDER_BITWISE_AND=8,uH.ORDER_BITWISE_XOR=9,uH.ORDER_BITWISE_OR=10,uH.ORDER_RELATIONAL=11,uH.ORDER_EQUALITY=11,uH.ORDER_LOGICAL_NOT=12,uH.ORDER_LOGICAL_AND=13,uH.ORDER_LOGICAL_OR=14,uH.ORDER_ASSIGNMENT=14,uH.ORDER_CONDITIONAL=15,uH.ORDER_LAMBDA=16,uH.ORDER_NONE=99,uH.ORDER_OVERRIDES=[[uH.ORDER_FUNCTION_CALL,uH.ORDER_MEMBER],[uH.ORDER_FUNCTION_CALL,uH.ORDER_FUNCTION_CALL],[uH.ORDER_MEMBER,uH.ORDER_MEMBER],[uH.ORDER_MEMBER,uH.ORDER_FUNCTION_CALL]],uH.init=function(){uH.PASS=this.INDENT+"pass\n",uH.definitions_=Object.create(null),uH.functionNames_=Object.create(null),uH.setups_=Object.create(null),uH.loops_=Object.create(null),uH.codeEnd_=Object.create(null),uH.variableDB_?uH.variableDB_.reset():uH.variableDB_=new Ae(uH.RESERVED_WORDS_)},uH.finish=function(e){""!==e&&(e=(e=e.replace(/\n/g,"\n")).replace(/\n\s+$/,"\n"));var t=[],i=[],n=[];for(var s in this.definitions_){var _=this.definitions_[s];0===s.indexOf("import")?t.push(_):0===s.indexOf("var_declare")?i.push(_):n.push(_)}t.length&&t.push("\n"),i.length&&i.push("\n"),n.length&&n.push("\n");var o=[];for(var s in uH.functions_)o.push(uH.functions_[s]);o.length&&o.push("\n");var p=[];for(var s in uH.setups_)p.push(uH.setups_[s]);p.length&&p.push("\n");var a=[];for(var s in uH.loops_)a.push(uH.loops_[s]);var u=[];for(var s in uH.codeEnd_)u.push(uH.codeEnd_[s]);0!==u.length&&u.push("\n");let r="";return r=a.length>0?t.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+e+"while True:\n"+a.join("")+u.join("\n"):t.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+e+u.join("\n"),r},uH.scrubNakedValue=function(e){return e+"\n"},uH.quote_=function(e){var t="'";return-1!==(e=e.replace(/\\/g,"\\\\").replace(/\n/g,"\\\n")).indexOf("'")&&(-1===e.indexOf('"')?t='"':e=e.replace(/'/g,"\\'")),t+e+t},uH.multiline_quote_=function(e){return"'''"+(e=e.replace(/'''/g,"\\'\\'\\'"))+"'''"},uH.scrub_=function(e,t,i){var n="";if(!e.outputConnection||!e.outputConnection.targetConnection){(_=e.getCommentText())&&(_=Re.utils.string.wrap(_,uH.COMMENT_WRAP-3),n+=uH.prefixLines(_+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const rH={};rH["元控自立"]={description:"MicroPython[ESP32C5 MixGo SOWL]",digital_pin:ce.Profile.generate(["0-14","23-28"]),input_pin:ce.Profile.generate(["0-14","23-28"]),output_pin:ce.Profile.generate(["0-14","23-28"]),pwm_input:ce.Profile.generate(["0-14","23-28"],"pwm","pwm"),analog_input:ce.Profile.generate(["1-6"],"adc","adc"),pwm_output:ce.Profile.generate(["0-14","23-28"],"pwm","pwm"),analog_output:ce.Profile.generate(["1-6"],"adc","adc"),espnow_channel:ce.Profile.generate(["1-13"]),haskylens_model:ce.Profile.generate(["0-4"]),digital:ce.Profile.generate(["0-14","23-28"],"pin","pin"),pwm_pin:ce.Profile.generate(["0-14","23-28"]),pwm:ce.Profile.generate(["0-14","23-28"],"pwm","pwm"),analog_pin:ce.Profile.generate(["1-6"]),analog:ce.Profile.generate(["1-6"],"adc","adc"),touch:ce.Profile.generate(["1-14"],"tc","tc"),touch_pin:ce.Profile.generate(["1-14"]),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:ce.Profile.generate(["0-4"]),exlcdh:ce.Profile.generate(["0-15"]),exlcdv:ce.Profile.generate(["0-7"]),brightness:ce.Profile.generate(["0-9"]),tts_voice:ce.Profile.generate(["0-16"]),tts_builtin_music:ce.Profile.generate(["0-47"]),tts_bgmusic:ce.Profile.generate(["0-15"]),builtinimg:[["Heart","expression_picture.Heart"],["Angry","expression_picture.Angry"],["Bored","expression_picture.Bored"],["Confused","expression_picture.Confused"],["Happy","expression_picture.Happy"],["Paper","expression_picture.Paper"],["Rock","expression_picture.Rock"],["Sad","expression_picture.Sad"],["Scissors","expression_picture.Scissors"],["Silly","expression_picture.Silly"],["Sleep","expression_picture.Sleep"],["Small_heart","expression_picture.Small_heart"],["Small_paper","expression_picture.Small_paper"],["Small_rock","expression_picture.Small_rock"],["Small_scissors","expression_picture.Small_scissors"],["Smile","expression_picture.Smile"],["Surprise","expression_picture.Surprise"],["Wonderful","expression_picture.Wonderful"],["Eyes_Angry","eye_picture.Eyes_Angry"],["Awake","eye_picture.Awake"],["Black_eye","eye_picture.Black_eye"],["Bottom_left","eye_picture.Bottom_left"],["Bottom_right","eye_picture.Bottom_right"],["Crazy_1","eye_picture.Crazy_1"],["Crazy_2","eye_picture.Crazy_2"],["Disappointed","eye_picture.Disappointed"],["Dizzy","eye_picture.Dizzy"],["Down","eye_picture.Down"],["Evil","eye_picture.Evil"],["Hurt","eye_picture.Hurt"],["Knocked_out","eye_picture.Knocked_out"],["Love","eye_picture.Love"],["Middle_left","eye_picture.Middle_left"],["Middle_right","eye_picture.Middle_right"],["Neutral","eye_picture.Neutral"],["Nuclear","eye_picture.Nuclear"],["Pinch_left","eye_picture.Pinch_left"],["Pinch_middle","eye_picture.Pinch_middle"],["Pinch_right","eye_picture.Pinch_right"],["Tear","eye_picture.Tear"],["Tired_left","eye_picture.Tired_left"],["Tired_middle","eye_picture.Tired_middle"],["Tired_right","eye_picture.Tired_right"],["Toxic","eye_picture.Toxic"],["Up","eye_picture.Up"],["Winking","eye_picture.Winking"],["Accept","informatio_picture.Accept"],["Backward","informatio_picture.Backward"],["Decline","informatio_picture.Decline"],["Forward","informatio_picture.Forward"],["Left","informatio_picture.Left"],["No_go","informatio_picture.No_go"],["Question_mark","informatio_picture.Question_mark"],["Right","informatio_picture.Right"],["Stop_1","informatio_picture.Stop_1"],["Stop_2","informatio_picture.Stop_2"],["Thumbs_down","informatio_picture.Thumbs_down"],["Thumbs_up","informatio_picture.Thumbs_up"],["Warning","informatio_picture.Warning"],["Bomb","object_picture.Bomb"],["Boom","object_picture.Boom"],["DOOR_CLOSE","object_picture.DOOR_CLOSE"],["DOOR_OPEN","object_picture.DOOR_OPEN"],["DOOR_OPENING","object_picture.DOOR_OPENING"],["Fire","object_picture.Fire"],["Flowers","object_picture.Flowers"],["Forest","object_picture.Forest"],["Lightning","object_picture.Lightning"],["Light_off","object_picture.Light_off"],["Light_on","object_picture.Light_on"],["Night","object_picture.Night"],["Pirate","object_picture.Pirate"],["Snow","object_picture.Snow"],["Target","object_picture.Target"],["Bar_0","progres_picture.Bar_0"],["Bar_1","progres_picture.Bar_1"],["Bar_2","progres_picture.Bar_2"],["Bar_3","progres_picture.Bar_3"],["Bar_4","progres_picture.Bar_4"],["Dial_0","progres_picture.Dial_0"],["Dial_1","progres_picture.Dial_1"],["Dial_2","progres_picture.Dial_2"],["Dial_3","progres_picture.Dial_3"],["Dial_4","progres_picture.Dial_4"],["Dots_0","progres_picture.Dots_0"],["Dots_1","progres_picture.Dots_1"],["Dots_2","progres_picture.Dots_2"],["Dots_3","progres_picture.Dots_3"],["Hourglass_0","progres_picture.Hourglass_0"],["Hourglass_1","progres_picture.Hourglass_1"],["Hourglass_2","progres_picture.Hourglass_2"],["Timer_0","progres_picture.Timer_0"],["Timer_1","progres_picture.Timer_1"],["Timer_2","progres_picture.Timer_2"],["Timer_3","progres_picture.Timer_3"],["Timer_4","progres_picture.Timer_4"],["Water_level_0","progres_picture.Water_level_0"],["Water_level_1","progres_picture.Water_level_1"],["Water_level_2","progres_picture.Water_level_2"],["Water_level_3","progres_picture.Water_level_3"],["YES","informatio_picture.YES"],["NO","informatio_picture.NO"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]},rH["ESP32C5 Generic"]={description:"MicroPython[ESP32C5 Generic]",digital_pin:ce.Profile.generate(["0-14","23-28"]),input_pin:ce.Profile.generate(["0-14","23-28"]),output_pin:ce.Profile.generate(["0-14","23-28"]),pwm_input:ce.Profile.generate(["0-14","23-28"],"pwm","pwm"),analog_input:ce.Profile.generate(["1-6"],"adc","adc"),pwm_output:ce.Profile.generate(["0-14","23-28"],"pwm","pwm"),analog_output:ce.Profile.generate(["1-6"],"adc","adc"),espnow_channel:ce.Profile.generate(["1-13"]),haskylens_model:ce.Profile.generate(["0-4"]),digital:ce.Profile.generate(["0-14","23-28"],"pin","pin"),pwm_pin:ce.Profile.generate(["0-14","23-28"]),pwm:ce.Profile.generate(["0-14","23-28"],"pwm","pwm"),analog_pin:ce.Profile.generate(["1-6"]),analog:ce.Profile.generate(["1-6"],"adc","adc"),touch:ce.Profile.generate(["1-14"],"tc","tc"),touch_pin:ce.Profile.generate(["1-14"]),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:ce.Profile.generate(["0-4"]),exlcdh:ce.Profile.generate(["0-15"]),exlcdv:ce.Profile.generate(["0-7"]),brightness:ce.Profile.generate(["0-9"]),tts_voice:ce.Profile.generate(["0-16"]),tts_builtin_music:ce.Profile.generate(["0-47"]),tts_bgmusic:ce.Profile.generate(["0-15"]),builtinimg:rH["元控自立"].builtinimg,builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM",".DADADADUM"],["ENTERTAINER",".ENTERTAINER"],["PRELUDE",".PRELUDE"],["ODE",".ODE"],["NYAN",".NYAN"],["RINGTONE",".RINGTONE"],["FUNK",".FUNK"],["BLUES",".BLUES"],["BIRTHDAY",".BIRTHDAY"],["WEDDING",".WEDDING"],["FUNERAL",".FUNERAL"],["PUNCHLINE",".PUNCHLINE"],["PYTHON",".PYTHON"],["BADDY",".BADDY"],["CHASE",".CHASE"],["BA_DING",".BA_DING"],["WAWAWAWAA",".WAWAWAWAA"],["JUMP_UP",".JUMP_UP"],["JUMP_DOWN",".JUMP_DOWN"],["POWER_UP",".POWER_UP"],["POWER_DOWN",".POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]};const lH=rH,dH=20,IH={init:function(){this.setColour(dH),this.appendDummyInput("").appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_HIGH,"HIGH"],[Re.Msg.MIXLY_LOW,"LOW"]]),"BOOL"),this.setOutput(!0,Boolean),this.setTooltip(Re.Msg.MIXLY_ESP32_INOUT_HIGHLOW_TOOLTIP)}},TH={init:function(){this.setColour(dH),this.appendValueInput("PIN",Number).appendField(Re.Msg.MIXLY_Digital_PINMODEOUT).setCheck(Number),this.appendValueInput("STAT").appendField(Re.Msg.MIXLY_STAT).setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_INOUT_DIGITAL_WRITE_TOOLTIP)}},MH={init:function(){this.setColour(dH),this.appendValueInput("PIN",Number).appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Re.Msg.MIXLY_Digital_PINMODEIN).setCheck(Number),this.appendDummyInput().appendField(Re.Msg.MIXLY_ESP32_MACHINE_VALUE),this.setInputsInline(!0),this.setOutput(!0,[Boolean,Number]),this.setTooltip(Re.Msg.MIXLY_ESP32_INOUT_DIGITAL_READ_TOOLTIP)}},hH={init:function(){this.setColour(dH),this.appendValueInput("PIN",Number).appendField("DAC"+Re.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendValueInput("NUM",Number).appendField(Re.Msg.MIXLY_VALUE2).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Re.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_TOOLTIP)}},mH={init:function(){this.setColour(dH),this.appendValueInput("PIN",Number).appendField(Re.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_JS_PERIOD_MIL).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_mSecond,"period"],[Re.Msg.MIXLY_uSecond,"period_microseconds"]]),"key"),this.appendValueInput("NUM",Number).appendField(Re.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Re.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_SET_TOOLTIP)}},EH={init:function(){this.setColour(dH),this.appendValueInput("PIN",Number).appendField(Re.Msg.MIXLY_Analog_PINMODEIN).setCheck(Number),this.appendDummyInput("").appendField(Re.Msg.MIXLY_ESP32_REF_VOLTAGE+Re.Msg.MIXLY_STAT).appendField(new Re.FieldDropdown([["3.3V","machine.ADC.ATTN_11DB"],["2.2V","machine.ADC.ATTN_6DB"],["1.5V","machine.ADC.ATTN_2_5DB"],["1.2V","machine.ADC.ATTN_0DB"]]),"atten"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Re.Msg.MIXLY_ESP32_INOUT_ANALOG_ATTEN_TOOLTIP)}},OH={init:function(){this.setColour(dH),this.appendValueInput("pin").appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Re.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendDummyInput().appendField(Re.Msg.MIXLY_ESP32_MACHINE_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_INOUT_PIN_PRESSED_TOOLTIP)}},RH={init:function(){this.setColour(20),this.appendValueInput("PIN",Number).appendField(Re.Msg.MIXLY_ATTACHINTERRUPT_PIN).setCheck(Number),this.appendDummyInput("").appendField(Re.Msg.MIXLY_MODE).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[Re.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[Re.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(Re.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_INOUT_PIN_ATTACHINTERRUPT_TOOLTIP)}},cH={init:function(){this.setColour(20),this.appendDummyInput().appendField(Re.Msg.MIXLY_SETUP).appendField(new Re.FieldTextInput("pin#"),"PIN_OBJ"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_MICROPYTHON_AS).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_Digital_PINMODEOUT,"machine.Pin.OUT"],[Re.Msg.MIXLY_Digital_PINMODEIN,"machine.Pin.IN"],[Re.Msg.MIXLY_PINMODEPULLUP,"machine.Pin.IN, machine.Pin.PULL_UP"],[Re.Msg.MIXLY_PINMODEPULLDOWN,"machine.Pin.IN, machine.Pin.PULL_DOWN"]]),"MODE"),this.appendValueInput("PIN",Number).appendField(Re.Msg.MIXLY_PIN).setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_INOUT_DIGITAL_INIT_TOOLTIP)},getVars:function(){return["pin#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(e,t){Re.Names.equals(e,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(t,"PIN_OBJ")}},gH={init:function(){this.setColour(dH),this.appendDummyInput("").appendField(Re.Msg.MIXLY_SETUP).appendField(new Re.FieldTextInput("dac#"),"PIN_OBJ").appendField(Re.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField("DAC"+Re.Msg.MIXLY_Analog_PINMODEOUT),this.appendValueInput("PIN",Number).appendField(Re.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Re.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_INIT_TOOLTIP)},getVars:function(){return["dac#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(e,t){Re.Names.equals(e,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(t,"PIN_OBJ")}},CH={init:function(){this.setColour(dH),this.appendDummyInput("").appendField(Re.Msg.MIXLY_SETUP).appendField(new Re.FieldTextInput("tc#"),"PIN_OBJ").appendField(Re.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField(Re.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendValueInput("PIN",Number).appendField(Re.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Re.Msg.MIXLY_ESP32_INOUT_PIN_PRESSED_INIT_TOOLTIP)},getVars:function(){return["tc#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(e,t){Re.Names.equals(e,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(t,"PIN_OBJ")}},SH={init:function(){this.setColour(dH),this.appendValueInput("PIN",Number).appendField("PWM"+Re.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendValueInput("NUM",Number).appendField(Re.Msg.MIXLY_FREQUENCY+Re.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Re.Msg.MIXLY_ESP32_INOUT_PWM_ANALOG_WRITE_SET_FREQ_TOOLTIP)}},AH=cH,LH=CH,NH=OH,DH=RH,fH=230,FH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.digital),"PIN"),this.setOutput(!0)}},PH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.digital_pin),"PIN"),this.setOutput(!0,Number)}},YH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.input_pin),"PIN"),this.setOutput(!0,Number)}},vH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.output_pin),"PIN"),this.setOutput(!0,Number)}},XH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.espnow_channel),"PIN"),this.setOutput(!0,Number)}},yH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.haskylens_model),"PIN"),this.setOutput(!0,Number)}},bH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.pwm_input),"PIN"),this.setOutput(!0)}},xH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.analog_input),"PIN"),this.setOutput(!0)}},VH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.pwm_output),"PIN"),this.setOutput(!0)}},BH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.analog_output),"PIN"),this.setOutput(!0)}},GH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.i2c_A_pin),"PIN"),this.setOutput(!0,Number)}},UH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.i2c_B_pin),"PIN"),this.setOutput(!0,Number)}},wH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.spi_A_pin),"PIN"),this.setOutput(!0,Number)}},HH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.spi_B_pin),"PIN"),this.setOutput(!0,Number)}},kH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.spi_C_pin),"PIN"),this.setOutput(!0,Number)}},WH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.spi_D_pin),"PIN"),this.setOutput(!0,Number)}},KH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.analog),"PIN"),this.setOutput(!0)}},JH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.analog_pin),"PIN"),this.setOutput(!0,Number)}},QH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.dac),"PIN"),this.setOutput(!0)}},zH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.dac_pin),"PIN"),this.setOutput(!0,Number)}},qH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.button),"PIN"),this.setOutput(!0,Number)}},jH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.buttonB),"PIN"),this.setOutput(!0,Number)}},$H={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.pwm),"PIN"),this.setOutput(!0)}},ZH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.pwm_pin),"PIN"),this.setOutput(!0,Number)}},ek={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.touch_pin),"PIN"),this.setOutput(!0,Number)}},tk={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.touch),"PIN"),this.setOutput(!0)}},ik={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.serial_pin),"PIN"),this.setOutput(!0,Number)}},nk={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.builtinimg),"PIN"),this.setOutput(!0,"esp32_image")}},sk={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.builtinimg_extern),"PIN"),this.setOutput(!0,"esp32_image")}},_k={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.imglist),"PIN"),this.setOutput(!0)}},ok={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.playlist),"PIN"),this.setOutput(!0)}},pk={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.playlist_extern),"PIN"),this.setOutput(!0)}},ak={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.exlcdh),"PIN"),this.setOutput(!0,Number)}},uk={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.exlcdv),"PIN"),this.setOutput(!0,Number)}},rk={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.axis),"PIN"),this.setOutput(!0,Number)}},lk={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.brightness),"PIN"),this.setOutput(!0,Number)}},dk={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.tts_voice),"PIN"),this.setOutput(!0,Number)}},Ik={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.tts_builtin_music),"PIN"),this.setOutput(!0,Number)}},Tk={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.tts_bgmusic),"PIN"),this.setOutput(!0,Number)}},Mk={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.tone_notes),"PIN"),this.setOutput(!0,Number)}},hk={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.radio_power),"PIN"),this.setOutput(!0,Number)}},mk={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.radio_datarate),"PIN"),this.setOutput(!0,Number)}},Ek={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.one_more),"PIN"),this.setOutput(!0)}},Ok={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.digital_dot),"PIN"),this.setOutput(!0,Number)}},Rk={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown([["0","0"],["1","1"],["2","2"],["3","3"]]),"PIN"),this.setOutput(!0,Number)}},ck=function(e,t){return["HIGH"==this.getFieldValue("BOOL")?"1":"0",t.ORDER_ATOMIC]},gk=function(e,t){t.definitions_.import_machine="import machine";var i="";return i+=t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+".value("+t.valueToCode(this,"STAT",t.ORDER_ATOMIC)+")\n"},Ck=function(e,t){t.definitions_.import_machine="import machine";return[t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+".value()",t.ORDER_ATOMIC]},Sk=function(e,t){return t.definitions_.import_machine="import machine",t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+".write("+t.valueToCode(this,"NUM",t.ORDER_ATOMIC)+")\n"},Ak=function(e,t){t.definitions_.import_machine="import machine";var i=t.valueToCode(this,"PIN",t.ORDER_ATOMIC),n=t.valueToCode(this,"NUM",t.ORDER_ATOMIC);return i+".set_analog_"+this.getFieldValue("key")+"("+n+")\n"},Lk=function(e,t){return t.definitions_.import_machine="import machine",[t.valueToCode(this,"pin",t.ORDER_ATOMIC)+".read()",t.ORDER_ATOMIC]},Nk=function(e,t){t.definitions_.import_machine="import machine";var i=t.valueToCode(this,"PIN",t.ORDER_ATOMIC),n=this.getFieldValue("mode");return"machine.Pin("+i+").irq(handler = "+t.valueToCode(this,"DO",t.ORDER_ATOMIC)+", trigger = "+n+")\n"},Dk=function(e,t){t.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"pin#",n=t.valueToCode(this,"PIN",t.ORDER_ATOMIC),s=this.getFieldValue("MODE");return("pin#"==i?"pin"+n:t.variableDB_.getName(i,Re.Variables.NAME_TYPE))+" = machine.Pin("+n+", "+s+")\n"},fk=function(e,t){t.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"dac#",n=t.valueToCode(this,"PIN",t.ORDER_ATOMIC);return("dac#"==i?"dac"+n:t.variableDB_.getName(i,Re.Variables.NAME_TYPE))+" = machine.DAC(machine.Pin("+n+"))\n"},Fk=function(e,t){return t.definitions_.import_machine="import machine",t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+".atten("+this.getFieldValue("atten")+")\n"},Pk=function(e,t){t.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"tc#",n=t.valueToCode(this,"PIN",t.ORDER_ATOMIC);return("tc#"==i?"tc"+n:t.variableDB_.getName(i,Re.Variables.NAME_TYPE))+" = machine.TouchPad(machine.Pin("+n+"))\n"},Yk=function(e,t){return[this.getFieldValue("PIN"),t.ORDER_ATOMIC]},vk=Yk,Xk=Yk,yk=Yk,bk=Yk,xk=Yk,Vk=Yk,Bk=Yk,Gk=Yk,Uk=Yk,wk=Yk,Hk=Yk,kk=Yk,Wk=Yk,Kk=Yk,Jk=Yk,Qk=Yk,zk=Yk,qk=Yk,jk=Yk,$k=Yk,Zk=Yk,eW=Yk,tW=Yk,iW=Yk,nW=Yk,sW=Yk,_W=Yk,oW=Yk,pW=Yk,aW=Yk,uW=Yk,rW=Yk,lW=Yk,dW=Yk,IW=Yk,TW=Yk,MW=Yk,hW=Yk,mW=Yk,EW=Yk,OW=Yk,RW=Yk,cW=Yk,gW=Yk,CW=function(e,t){const i=this.getFieldValue("PIN").split(".");if(2!==i.length)throw Error("pin value error");return t.definitions_[`import_${i[0]}_${i[1]}`]=`from ${i[0]} import ${i[1]}`,[i[1],t.ORDER_ATOMIC]};Object.assign(Re.Variables,Ce),Object.assign(Re.Procedures,Bu),Object.assign(Re.Lang.ZhHans,Ie),Object.assign(Re.Lang.ZhHant,Te),Object.assign(Re.Lang.En,Me),Re.Python=Gu,Re.generator=Gu,ce.Profile.default={},Object.assign(ce.Profile,lH),Object.assign(ce.Profile.default,lH["元控青春"]),Object.assign(Re.Blocks,t,i,n,s,_,o,p,a,u,r,l,d,I,x,W,k,v,V,K,f,P,H,w,U,B,F,D,N,y,X,b,Y,G,he,me),Object.assign(Re.Python.forBlock,T,M,h,m,E,O,R,c,g,C,S,A,L,ne,le,re,Z,se,de,z,q,ue,ae,pe,_e,j,Q,J,te,ee,ie,$,oe,Ee,Oe)})(); \ No newline at end of file diff --git a/boards/default/micropython_esp32c5/media/esp32c5_compressed.png b/boards/default/micropython_esp32c5/media/esp32c5_compressed.png new file mode 100644 index 00000000..2dda6a52 Binary files /dev/null and b/boards/default/micropython_esp32c5/media/esp32c5_compressed.png differ diff --git a/boards/default/micropython_esp32s3/styles/main.3b5b3dfe.css b/boards/default/micropython_esp32c5/styles/main.6d008c05.css similarity index 97% rename from boards/default/micropython_esp32s3/styles/main.3b5b3dfe.css rename to boards/default/micropython_esp32c5/styles/main.6d008c05.css index b7c6b6da..42908ce0 100644 --- a/boards/default/micropython_esp32s3/styles/main.3b5b3dfe.css +++ b/boards/default/micropython_esp32c5/styles/main.6d008c05.css @@ -148,6 +148,16 @@ div.blocklyToolboxDiv>div.blocklyToolboxContents>div:nth-child(12)>div.blocklyTr background-size: 100% auto; } +#catPE_G1.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NToyMiswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6MjIrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6ZDNmNzAyOWQtOWMwYy00NTRiLTllMTQtNTg0MjY3NTRiYWMyPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOmQzZjcwMjlkLTljMGMtNDU0Yi05ZTE0LTU4NDI2NzU0YmFjMjwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOmQzZjcwMjlkLTljMGMtNDU0Yi05ZTE0LTU4NDI2NzU0YmFjMjwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDpkM2Y3MDI5ZC05YzBjLTQ1NGItOWUxNC01ODQyNjc1NGJhYzI8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+/zmC9wAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAADFklEQVR42uzXPYgdVRjG8f/znnFbEUWwFBENKVLEMosoWNiYoEnYL4MEtbAQoqsi9gHNrh+FYKKNMfeGZZeNNoKaJhIrU9ikEQnpUq2gRYp1zvtYzFxJjAlC5pImpxyGc37M+3HekW3u5NJdwLWA5fEikUGNpC2VsChZ3ha8D/zu1HzC9xEJGSQQpULb4EgiEtfSPY+EWrBMlIrbhiyVAFYWRjcHKAMDLhWh3bIu2HwmeAzxlGEd8iVquZoaHLD0hcwm1rcKAB8yfOkaQgnFr8o6jozbWEwxHhTw1njJ4I+AN0AA+4F1Uo8gX0oZarkvIkcEz9qcBx+klitDAt4DjvaAF4ANUg8Dl90foKgg9gmdAXDGspWrUwcApIVKBcC1lCh5QnDY8Bt4nzMuThVgC3oAtUBUCO+R42vgfpvVtJanBgBwJAZUC5SKZahBBEeBd4E/jZ+jLeccUwAgk/L1gAxCxvC4rE2JHU59lfByRN12HRIAXa8AFHkdIPvQROTrhD8BgX3AtWwMCgBIQDLuO+O1AJWK4UE5Tof8tK2zVTkXsDUYwAA3+QI9ANqGaNqDwJoRmD0ri6d+GgTwT0LeAqC2gabFFiF+Bp44tnBKwwCs7vBIMoMAVCqZgTKgaclaCAuaFjkuALsHA9iC/wVgIZocuQPPrsyPzg9TBVb3Vn/oDYBSHwKtBcw69UPK80Rurc6PByjDSJyB+s54A8BxJCI/dJeKB1zLhiMhkmEApXYX078BkTsNZyQ9StXJlF9R5Pbkyp4uQD4msQz8YeVe2uac5e7yGgrgPvvVJ5hS0NQnhb4B7rX5wNY76puT+7DcPsBcJro6V8YEMBPwOeFD4F+B551xcdKihweU7OaBDFTqftB6X45HjD+eDCS3C/jvkQwu9bF+QGgs+RnjH8FzynIlZYYAHE9508rvGgfAi7ZOdkOpUeRriE8B3JYFy6ejVKiFYQCjJWqppEVTC8AuhX9x6oTEDuRZmzWUh6nN1cm0MyygacntGbQ9A6VS7vnrTYVXsLacmrM5q6bfcGjA3X/DO7H+HgDRj5vujRlaHAAAAABJRU5ErkJggg==) no-repeat; + background-size: 100% auto; +} + +#catPE_G1.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NToyMyswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6MjMrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6ZmEyZmFlYWEtZjcyYS1hYjQzLThkN2EtYjEwY2QxMTA3MmNiPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOmZhMmZhZWFhLWY3MmEtYWI0My04ZDdhLWIxMGNkMTEwNzJjYjwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOmZhMmZhZWFhLWY3MmEtYWI0My04ZDdhLWIxMGNkMTEwNzJjYjwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDpmYTJmYWVhYS1mNzJhLWFiNDMtOGQ3YS1iMTBjZDExMDcyY2I8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+wqwjaAAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAABl0lEQVR42uzXP0hVcRjG8c9FcI0wgsYQSWloqDEJgwYXk/6IFYaEOjQIlRTRLpTanyHIaqlQEaV0ESoXI6ccWlxCws1JwYaGltvyHrhIQ8O9ryC+0+89cA7f3znv73meUyqXy3azSvsA/wFwFw+xhSv4lAlwEit4gWNowwx68bsWAK/xHgvRX8cblKIfwHisr2Gy2gBlPMHt6C/FjhvxM64dxATa8RVd2KgmwAMMR38RsziK9R33duJDrIcwlg0AdXiJG1gLqNVMgKJOYw4N8SaGsgGKGsZ9/EIHlrIBoDlOUgveoQ9/MgGKGsSzWF+O56QCwGFM4SwW0Y3NTICiujBdMbDL2QBFfcOpCmVNB1gJf0kHuBryDa0h4SkAR+Lbt+Jz2HnaEN7C4904hsfDpJrwFv2ZQjQSPrCN85lSfAbzOIBHuJdlRvV4FcnpBy5k2nGRloqBe5oVyQ5FFjyHL6HvVYtk42GlH6PviUkulOsmnleIy1StY/kJfI/Y1RKCMh0RrCax/F91B6OhYN1hq/v/hnsH4O8A38/3wXV4mTEAAAAASUVORK5CYII=) no-repeat; + background-size: 100% auto; +} + #catSANT_G3.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NjowNCswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTY6MDQrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6ZTgzOWI5NTgtMjZhNy1kYTQwLTg1NDQtZWRkY2UzZjYzYmNhPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOmU4MzliOTU4LTI2YTctZGE0MC04NTQ0LWVkZGNlM2Y2M2JjYTwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOmU4MzliOTU4LTI2YTctZGE0MC04NTQ0LWVkZGNlM2Y2M2JjYTwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDplODM5Yjk1OC0yNmE3LWRhNDAtODU0NC1lZGRjZTNmNjNiY2E8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+w67uMwAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAFA0lEQVR42sSXS6hkVxWGv3/tfW4bgxIJNK1RuKJ4J42PgWJGCUkEHwMHcZSbgYKQgWRqRKI4izF3IoiERnzQ3pkRRwaFpB21GATRJpDuIDFog23EGNMm3XXOXr+DU1W36tbDJhlkD+ucOvtba/3r32vLNm/l0uHBfXdJfOSN/h+7DarnWpQ/iTEYI2SzkxOESQcArRSGqGghaB0e7P8W+OSbCGIw+klKX8ZLZBTaCGRtBfCU+iLYQNzoxsDbBbvAZSfvnT0wIpRIvmGAl2xOzlK1IdeglZ9vDvkq8HxaH1p8UNTmGyXx/wFInyTAEhzTpWQaBaWRPb4zrltD/ucigNG4eRijEbrxpMwHhlI+00f353AeAzBXpDyl4o3RX9PbaC7UHIicf+C2kP8GXEprbx59NDKCzDHyIM+Gfb/R633Uj1m6uAhwbRrlGcbY19TB0ahnmuKPAKW17QAaAdxEaY2sAdKjkflVS6/YvCecr80A/gW8a8yVNyqA5CvG3wcWS7ACEE4UHjNAoQ49GcH1ukPX2g9rDl9CPpfEXZbQ4cH+AFwF7t0meVsXDP849vMcoFl7YRNuEPFwhqrRt5QmS4EYn0XjBVu7rcbnMuKXMxFewT6FtA1gXX6WM6AxO+F0GCw/k9an+rrzn+qBkgMmbhecR7yYYncG8Hfsd/sYgOy5KuzYCuBkr0Wh7zq6Nvlg19oPEHckerZFOW1EbQMiQboAOp3SJ3R4sD8BesM3jgoOwAmZ87Z/M+3F0VC0OQOy6WtHkJRsCM7JvtPSd4YoD4WTaAnSA4jHDQc6PNh/GbhlbdrRU2ndo43iXAVoUXBopumbuhz+C6gR7wRenXrAnuA5i9/r8GC/BybYDy61oelU+IMifzezUlvz3t7WhtTRO4wI+6wa9zfpCyk9UTIRrkg90C9p4Fj4qHhsqQwiRm/v+w5bM59fCxDMzgFj4gHQ49hfF37EsxpKLwO3LANsOYYUSYmktcIw1DcEADyy4O9zgLEEmpdAqy5EAX4dkX+xRWvlBkowraf9UzX2m3RvSj8vmciuhHpgslWEyz4QDyZ875ggVwBk4xB9qYS9KMJ3AFfnIhTPmVGEE6DH/uaWDHRYPzM8fyNWbAmHCHvWho8OUb62pg0f2yzC1Z6cr1SstWJhSiYZ8T6Js8J3GD07LBmRQVwAnbb08a1WbIRtgukcgBY3Xz0Lxjc6FJPpF56xdc+k7rzauR9PRpXbhc8jv5jS7tbDyOivaS5pNhF5Kf3LJUj2HEHWiDoM35V4JdHDaqaVgooZS+AXjHZbic9m6MmF43ht8/3K6U+PaR8xtonQEn3tONGuI8zgyg4TmgrX4wQ1hx91OXzR4unmcvfsOL42jfYMPnJC4ZKKp1rEE7YoNKoGMsdJZ50PyGYolUIjSByiU8/QKk59u8gPJfq3zW2yX1ucCa/YnEoLpjOhnAy14hp02VNoRzo4gljpAksESWUYQzGkyy+MPg+83kf9qKVLq0Opx6F0SQPTjwU5n2znQ2orOOPWiFwaSuVxGnJoCgzFvhxu2Ue9cyjrh9KXFHmSmDv1aAg+6oZ1KzNu1ijgFYC+dnO9lNZqyTZkBEPZcDGRfNEbh9K1U+IA3GTr/YbLTC8mllCaVsuofpvIcT7YBPBmr2bN6MeLVzMx3h1mm20HeOy+u018mO1j8cZECGeLeHrxcjqr4cwztgK81dfz/w0AHjWdyjCbBL0AAAAASUVORK5CYII=) no-repeat; background-size: 100% auto; diff --git a/boards/default/micropython_esp32s2/index.xml b/boards/default/micropython_esp32s2/index.xml index 871efe4a..8cf0e41c 100644 --- a/boards/default/micropython_esp32s2/index.xml +++ b/boards/default/micropython_esp32s2/index.xml @@ -1 +1 @@ -02000attachInterrupt_funcattachInterrupt_func010,1,2,3051i5000DIVIDE10Exception as eetestThreadtestThreadWHILETRUEHello Mixly from Thread!ms10tim1000tim_callbacktim_callback200090x151100a10.998124.82997110010101000110050110011000110x2x0,1,2,30,1,2,30,1,2,3xMixlyMixlyHelloMixly65axMixlyMixly0Mixly02MixlyMixlyHello,mixlyl--mylistHello,mixlymixlymixpyI love mixly!I love mixlyRandom No. is {}int1100input('1+2*3')mylist1,2,3,4,5mylist0mylist02mylistmylistmylist0mylist00mylist00mylist0mylist0mylist0mylistmylistmylistxmytup1,2,3,4,5mytup0mytup02mytupmytupmytupmytup0mytupmytup1mytup2xmydictmydictkeymydictkey0mydictkey0mydictkeymydictkeymydictkey0mydictmydictmydictmydictxmydict{"name":"Mixly","color":"green"}s11,2,3,4,5s1s1s1s2s1s2s10s1Mixlys1s2xMixlyMixlyMixly,HelloMixlyprompt02MixlyMixly0XFF00FFcodebMixlyMixly1attachInterrupt_funcattachInterrupt_func2022711420452023,1,1,12,0,0180292023,1,1,12,0,0100440440100001004120000000000010001000Mixly0MixlyMixly500MixlyMixly500>10.51001001000interrupt_funcinterrupt_functurnsdistancei2c_extend1718400000g6i2c_extendg6g6100g6g6100g6g6100g6wifinamewifipassword8080AUTH TOKEN0_value02000notify0Your Target Emailsubjectbodycolor#FF0000wifinamewifipasswordmixio.mixly.cnmixio.mixly.cnA1B2C3mixio.mixly.cnusernamepasswordMyProjecttopicmsgtopicmsgtopicmethodmethodEQmsg1content"long""lat""message"012content"key1""key2""key3"012https://mixio.mixly.cn/time.phpmixio.mixly.cnwifinamewifipasswordcsub_cb31444082183.230.40.3914109261n63JySRowo13ZLDBKw6y896E0=MixlyRobotsub_cbEQmsg1ciot_dict"tc"tc0ciot_dictccwifinamewifipasswordclientEnter Your API_KEYEnter Your SECRET_KEYclient1clientS72099北京今天天气如何?wifinamewifipasswordSVa3S0UKHIy9dDArs北京SVa3S0UKHIy9dDArs北京11111https://mixio.mixly.cn/tinydbusernamepasswordmqtt_clientmixlyhellomixly11mixlymixly3820000391000009000,4500,563,5630x1234callbackcmdaddrrawpulsesi2c2221100000i2c00i2c00i2ci2ci2cspi200000045spi200000buf50spi10spi100xffspibufspibuf0xffspi12345spi12345buf1Mixlyow12owowow12345ow12345owmy_now0my_nowmy_nowmy_nowFFFFFFFFFFFFmixlymy_nowmy_nowcbcbEQmsg1spi10000004512spi8my_lora433.925716my_loramy_loramy_loraMixlyi2c_extend45100000xsensori2c_extendxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensor1013.25xsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensor5000500xsensorxsensorxsensorxsensorxsensorxsensorspi10000004512spi8ysensorysensorysensor0ysensor0ysensor0Mixlyysensor0Mixlyysensorysensor39,119.96,31.67ysensorysensorstation45ps2_handle24512ps2_handle50ps2_handleps2_handlews_wr124ws_wrws_wrws_wr360010zsensorzsensorzsensorzsensorzsensorweight12500weightmidi0midi440midi4401000midimidi100midimidimidi4120midimidirgb04rgb0000rgb000rgb0001000rgb1000rgb100100i2c_extend45400000Motori2c_extendMotor100Motor1024102402actuatoractuatoractuatoractuatoractuator你好米思齐actuatoractuatoractuator20actuatoractuatormixly*.mp3i2c_extend45400000matrixi2c_extendmatrixmatrixmatrixMixly0matrixMixlymatrixMixly500matrixMixlymatrixMixly500matrixmatrix>matrixmatrix1matrixmatrixmatrix0.5matrixmatrixdisp34disp2333dispdisp1i2c_extend45100000lcdi2c_extend0x27lcdMixly00lcdMixly005lcdlcdi2c_extend45100000oledi2c_extend0x3coledoled001oledMixlyoledMixly0010oledMixlyoledMixly0550oledMixlyoledMixly5500oled0020oled005050oled20202015oled1oled00oled00oledspi10000001246spi45tft_st7789135240tft_st7789001#ffffff255,255,0tft_st7789Mixly0050#ffffff255,255,0tft_st7789Mixly0550#ffffff255,255,0tft_st7789Mixly5500#ffffff255,255,0tft_st7789004040#ffffff255,255,0tft_st778912ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor'ni-hao','hong-se','lv-se','lan-se','bai-se','hei-se'0.1ai_sensor1.wav5ai_sensor1.wav100ai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsai_sensor'猫','狗','笔记本','笔'mixgo5自模型训练infoai_sensor'猫','狗','笔记本','笔'mixgo自模型识别objectsinfoai_sensor0.1606, 0.3562, 0.4712, 0.9568, 0.9877, 1.9108, 1.8761, 3.5310, 3.4423, 5.6823/sd/masks.kmodel外部模型加载objects12ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor1.wav5ai_sensor1.wav100infoai_sensorlicensePlateinfoai_sensorfaceinfoai_sensor20objectsai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsfilename.txtfMixlyfff0fffpathpathfilename.txtsrcname.txtdstname.txtff0wifinamewifipasswordwlanwlanwlanwlanwlan127.16.0.801234567wlanwlanwlanwlanwlanmixly123456781connect_wifiwlanAPwlanTruewlanwlanSmallCabbage1234561WHILETRUEEQ0wlan0.0.0.0ms1000TRUEss0.0.0.080s192.168.0.180s5sss1024sbMixlyresponses1024sbMixlyresponse127.0.0.180sntp.aliyun.comresponsehttp://mixio.mixly.cnresponsehttp://mixio.mixly.cnresponsehttp://192.168.1.1:11434qwen2.5-coder:0.5b5https://api.deepseek.comAPI Keydeepseek-chat5请介绍一下米思齐?content_callbackcontent_callbackcontent请介绍一下米思齐? \ No newline at end of file +02000attachInterrupt_funcattachInterrupt_func010,1,2,3051i5000DIVIDE10Exception as eetestThreadtestThreadWHILETRUEHello Mixly from Thread!ms10tim1000tim_callbacktim_callback200090x151100a10.998124.82997110010101000110050110011000110x2x0,1,2,30,1,2,30,1,2,3xMixlyMixlyHelloMixly65axMixlyMixly0Mixly02MixlyMixlyHello,mixlyl--mylistHello,mixlymixlymixpyI love mixly!I love mixlyRandom No. is {}int1100input('1+2*3')mylist1,2,3,4,5mylist0mylist02mylistmylistmylist0mylist00mylist00mylist0mylist0mylist0mylistmylistmylistxmytup1,2,3,4,5mytup0mytup02mytupmytupmytupmytup0mytupmytup1mytup2xmydictmydictkeymydictkey0mydictkey0mydictkeymydictkeymydictkey0mydictmydictmydictmydictxmydict{"name":"Mixly","color":"green"}s11,2,3,4,5s1s1s1s2s1s2s10s1Mixlys1s2xMixlyMixlyMixly,HelloMixlyprompt02MixlyMixly0XFF00FFcodebMixlyMixly1attachInterrupt_funcattachInterrupt_func2022711420452023,1,1,12,0,0180292023,1,1,12,0,0100440440100001004120000000000010001000Mixly0MixlyMixly500MixlyMixly500>10.51001001000interrupt_funcinterrupt_functurnsdistancei2c_extend1718400000g6i2c_extendg6g6100g6g6100g6g6100g6i2c_extend2122400000pei2c_extendpepe100pepe100pepe100pewifinamewifipassword8080AUTH TOKEN0_value02000notify0Your Target Emailsubjectbodycolor#FF0000wifinamewifipasswordmixio.mixly.cnmixio.mixly.cnA1B2C3mixio.mixly.cnusernamepasswordMyProjecttopicmsgtopicmsgtopicmethodmethodEQmsg1content"long""lat""message"012content"key1""key2""key3"012https://mixio.mixly.cn/time.phpmixio.mixly.cnwifinamewifipasswordcsub_cb31444082183.230.40.3914109261n63JySRowo13ZLDBKw6y896E0=MixlyRobotsub_cbEQmsg1ciot_dict"tc"tc0ciot_dictccwifinamewifipasswordclientEnter Your API_KEYEnter Your SECRET_KEYclient1clientS72099北京今天天气如何?wifinamewifipasswordSVa3S0UKHIy9dDArs北京SVa3S0UKHIy9dDArs北京11111https://mixio.mixly.cn/tinydbusernamepasswordmqtt_clientmixlyhellomixly11mixlymixly3820000391000009000,4500,563,5630x1234callbackcmdaddrrawpulsesi2c2221100000i2c00i2c00i2ci2ci2cspi200000045spi200000buf50spi10spi100xffspibufspibuf0xffspi12345spi12345buf1Mixlyow12owowow12345ow12345owmy_now0my_nowmy_nowmy_nowFFFFFFFFFFFFmixlymy_nowmy_nowcbcbEQmsg1spi10000004512spi8my_lora433.925716my_loramy_loramy_loraMixlyi2c_extend45100000xsensori2c_extendxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensor1013.25xsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensor5000500xsensorxsensorxsensorxsensorxsensorxsensorspi10000004512spi8ysensorysensorysensor0ysensor0ysensor0Mixlyysensor0Mixlyysensorysensor39,119.96,31.67ysensorysensorstation45ps2_handle24512ps2_handle50ps2_handleps2_handlews_wr124ws_wrws_wrws_wr360010zsensorzsensorzsensorzsensorzsensorweight12500weightmidi0midi440midi4401000midimidi100midimidimidi4120midimidirgb04rgb0000rgb000rgb0001000rgb1000rgb100100i2c_extend45400000Motori2c_extendMotor100Motor1024102402actuatoractuatoractuatoractuatoractuator你好米思齐actuatoractuatoractuator20actuatoractuatormixly*.mp3i2c_extend45400000matrixi2c_extendmatrixmatrixmatrixMixly0matrixMixlymatrixMixly500matrixMixlymatrixMixly500matrixmatrix>matrixmatrix1matrixmatrixmatrix0.5matrixmatrixdisp34disp2333dispdisp1i2c_extend45100000lcdi2c_extend0x27lcdMixly00lcdMixly005lcdlcdi2c_extend45100000oledi2c_extend0x3coledoled001oledMixlyoledMixly0010oledMixlyoledMixly0550oledMixlyoledMixly5500oled0020oled005050oled20202015oled1oled00oled00oledspi10000001246spi45tft_st7789135240tft_st7789001#ffffff255,255,0tft_st7789Mixly0050#ffffff255,255,0tft_st7789Mixly0550#ffffff255,255,0tft_st7789Mixly5500#ffffff255,255,0tft_st7789004040#ffffff255,255,0tft_st778912ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor'ni-hao','hong-se','lv-se','lan-se','bai-se','hei-se'0.1ai_sensor1.wav5ai_sensor1.wav100ai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsai_sensor'猫','狗','笔记本','笔'mixgo5自模型训练infoai_sensor'猫','狗','笔记本','笔'mixgo自模型识别objectsinfoai_sensor0.1606, 0.3562, 0.4712, 0.9568, 0.9877, 1.9108, 1.8761, 3.5310, 3.4423, 5.6823/sd/masks.kmodel外部模型加载objects12ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor1.wav5ai_sensor1.wav100infoai_sensorlicensePlateinfoai_sensorfaceinfoai_sensor20objectsai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsfilename.txtfMixlyfff0fffpathpathfilename.txtsrcname.txtdstname.txtff0wifinamewifipasswordwlanwlanwlanwlanwlan127.16.0.801234567wlanwlanwlanwlanwlanmixly123456781connect_wifiwlanAPwlanTruewlanwlanSmallCabbage1234561WHILETRUEEQ0wlan0.0.0.0ms1000TRUEss0.0.0.080s192.168.0.180s5sss1024sbMixlyresponses1024sbMixlyresponse127.0.0.180sntp.aliyun.comresponsehttp://mixio.mixly.cnresponsehttp://mixio.mixly.cnresponsehttp://192.168.1.1:11434qwen2.5-coder:0.5b5https://api.deepseek.comAPI Keydeepseek-chat5请介绍一下米思齐?content_callbackcontent_callbackcontent请介绍一下米思齐? \ No newline at end of file diff --git a/boards/default/micropython_esp32s2/main.bundle.3f76b5d3.js b/boards/default/micropython_esp32s2/main.bundle.3f76b5d3.js new file mode 100644 index 00000000..c7dcc7c5 --- /dev/null +++ b/boards/default/micropython_esp32s2/main.bundle.3f76b5d3.js @@ -0,0 +1,21 @@ +(()=>{"use strict";var t={d:(e,i)=>{for(var n in i)t.o(i,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:i[n]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};t.r(e),t.d(e,{controls_type:()=>Pt,controls_typeLists:()=>vt,lists_zip:()=>Yt,lists_zip_container:()=>Xt,lists_zip_item:()=>yt,unpack_iterable_object:()=>bt,variables_change:()=>ft,variables_get:()=>Nt,variables_global:()=>Ft,variables_set:()=>Dt});var i={};t.r(i),t.d(i,{base_setup:()=>Bt,controls_delay:()=>Gt,controls_end_program:()=>Ut,controls_except:()=>te,controls_finally:()=>ee,controls_flow_statements:()=>Jt,controls_for:()=>qt,controls_forEach:()=>Ht,controls_for_range:()=>Qt,controls_if:()=>wt,controls_if_else:()=>$t,controls_if_elseif:()=>jt,controls_if_if:()=>zt,controls_lambda:()=>ne,controls_main:()=>Vt,controls_pass:()=>se,controls_range:()=>kt,controls_repeat_ext:()=>ie,controls_thread:()=>_e,controls_try:()=>Zt,controls_try_finally:()=>Kt,controls_whileUntil:()=>Wt,datetime_fromtimestamp:()=>le,do_while:()=>oe,garbage_collection:()=>pe,gene_unique_identifier:()=>de,get_mem_alloc:()=>ae,get_mem_free:()=>ue,get_unique_identifier:()=>re});var n={};t.r(n),t.d(n,{base_map:()=>Ye,generate_cartesian_product:()=>ye,math_arithmetic:()=>me,math_bit:()=>Oe,math_constant:()=>Me,math_constant_mp:()=>he,math_constrain:()=>Le,math_dec:()=>ce,math_degree_to_radian:()=>xe,math_indexer_number:()=>De,math_map:()=>Ne,math_max_min:()=>Ce,math_number:()=>Te,math_number_base_conversion:()=>Se,math_radian_to_degree:()=>be,math_random:()=>Ae,math_random_seed:()=>fe,math_round:()=>Fe,math_selfcalcu:()=>Ee,math_to_int:()=>ge,math_trig:()=>Re,text_to_number:()=>Pe,text_to_number_skulpt:()=>ve,turn_to_int:()=>Xe});var s={};t.r(s),t.d(s,{ascii_to_char:()=>He,char_to_ascii:()=>We,number_to_text:()=>Ke,os_system:()=>mi,text:()=>Be,text_bytes:()=>Ue,text_capital:()=>ei,text_center:()=>ii,text_char:()=>we,text_char_at:()=>Qe,text_char_at2:()=>qe,text_char_at3:()=>Ii,text_compareTo:()=>di,text_compare_to:()=>ti,text_create_with_container:()=>ui,text_create_with_item:()=>ri,text_encode:()=>Mi,text_equals_starts_ends:()=>Ze,text_eval:()=>hi,text_find:()=>ni,text_format:()=>ai,text_format_noreturn:()=>Ti,text_join:()=>ke,text_join_seq:()=>si,text_length:()=>Je,text_random_char:()=>ze,text_replace:()=>_i,text_split:()=>oi,text_strip:()=>pi,text_substring:()=>$e,text_substring2:()=>je,text_substring3:()=>li,text_textarea:()=>Ge});var _={};t.r(_),t.d(_,{ENUMERATE:()=>Zi,content_in_lists:()=>en,enumerate:()=>tn,list_many_input:()=>Gi,list_tolist:()=>Hi,list_tolist2:()=>$i,list_trig:()=>xi,lists_2d_get_col_row_data:()=>gi,lists_2d_get_data_with_col_row:()=>ci,lists_append_extend:()=>Di,lists_change_to:()=>Bi,lists_change_to_general:()=>wi,lists_clear:()=>Yi,lists_create_with:()=>Ci,lists_create_with2:()=>Wi,lists_create_with_container:()=>Ai,lists_create_with_item:()=>Li,lists_create_with_noreturn:()=>Ui,lists_create_with_text:()=>Si,lists_create_with_text2:()=>Ki,lists_del_general:()=>ki,lists_find:()=>bi,lists_getIndex3:()=>Ji,lists_getSublist3:()=>qi,lists_get_index:()=>Oi,lists_get_random_item:()=>fi,lists_get_random_sublist:()=>Fi,lists_get_sublist:()=>Ri,lists_insert_value:()=>Pi,lists_insert_value2:()=>zi,lists_pop:()=>yi,lists_remove_at:()=>Xi,lists_remove_at2:()=>ji,lists_reverse:()=>vi,lists_setIndex3:()=>Qi,lists_set_index:()=>Ni,lists_sort:()=>Vi});var o={};t.r(o),t.d(o,{dicts_add_change_del:()=>En,dicts_add_or_change:()=>rn,dicts_clear:()=>In,dicts_create_with:()=>sn,dicts_create_with_container:()=>_n,dicts_create_with_item:()=>on,dicts_create_with_noreturn:()=>cn,dicts_deldict:()=>mn,dicts_delete:()=>ln,dicts_get:()=>an,dicts_get_default:()=>un,dicts_items:()=>Tn,dicts_keys:()=>pn,dicts_length:()=>hn,dicts_pop:()=>On,dicts_setdefault:()=>Rn,dicts_to_json:()=>Cn,dicts_to_json2:()=>Ln,dicts_to_to:()=>An,dicts_todict:()=>gn,dicts_update:()=>dn,dicts_values:()=>Mn,json_to_dicts:()=>Sn});var p={};t.r(p),t.d(p,{logic_boolean:()=>vn,logic_compare:()=>Dn,logic_compare_continous:()=>fn,logic_is:()=>bn,logic_is_in:()=>yn,logic_negate:()=>Pn,logic_null:()=>Yn,logic_operation:()=>Fn,logic_tobool:()=>xn,logic_true_or_false:()=>Xn});var a={};t.r(a),t.d(a,{sdcard_mount:()=>os,sdcard_use_spi_init:()=>_s,storage_can_write_ornot:()=>Kn,storage_change_dir:()=>ns,storage_close_file:()=>qn,storage_delete_file:()=>zn,storage_file_seek:()=>Zn,storage_file_tell:()=>$n,storage_file_write:()=>wn,storage_fileopen:()=>Bn,storage_fileopen_new:()=>Gn,storage_fileopen_new_encoding:()=>Un,storage_get_a_line:()=>Wn,storage_get_contents:()=>Hn,storage_get_contents_without_para:()=>kn,storage_get_current_dir:()=>ts,storage_get_file_size:()=>jn,storage_get_filename:()=>Jn,storage_is_file:()=>ss,storage_list_all_files:()=>Qn,storage_make_dir:()=>es,storage_open_file_with_os:()=>Vn,storage_rename:()=>is});var u={};t.r(u),t.d(u,{procedures_callnoreturn:()=>ls,procedures_callreturn:()=>ds,procedures_defnoreturn:()=>ps,procedures_defreturn:()=>as,procedures_ifreturn:()=>Is,procedures_mutatorarg:()=>rs,procedures_mutatorcontainer:()=>us,procedures_return:()=>Ts});var r={};t.r(r),t.d(r,{tuple_change_to:()=>Ls,tuple_create_llm_params:()=>ys,tuple_create_with:()=>hs,tuple_create_with_container:()=>ms,tuple_create_with_item:()=>Es,tuple_create_with_noreturn:()=>Fs,tuple_create_with_text2:()=>Os,tuple_create_with_text_return:()=>Rs,tuple_del:()=>Cs,tuple_find:()=>Ns,tuple_getIndex:()=>cs,tuple_getSublist:()=>fs,tuple_get_random_item:()=>vs,tuple_get_sublist:()=>Ps,tuple_input:()=>Xs,tuple_join:()=>Ss,tuple_length:()=>gs,tuple_max:()=>As,tuple_totuple:()=>Ys,tuple_trig:()=>Ds});var l={};t.r(l),t.d(l,{set_add_discard:()=>Ws,set_clear:()=>ws,set_create_with:()=>xs,set_create_with_container:()=>Vs,set_create_with_item:()=>Bs,set_create_with_text_return:()=>qs,set_length:()=>Gs,set_operate:()=>ks,set_operate_update:()=>Hs,set_pop:()=>Us,set_sub:()=>Ks,set_toset:()=>Qs,set_update:()=>Js});var d={};t.r(d),t.d(d,{html_content:()=>t_,html_content_more:()=>e_,html_document:()=>js,html_form:()=>n_,html_head_body:()=>Zs,html_style:()=>i_,html_style_color:()=>__,html_style_content:()=>s_,html_text:()=>o_,html_title:()=>$s});var I={};t.r(I),t.d(I,{attribute_access:()=>R_,function_call:()=>m_,function_call_container:()=>E_,function_call_item:()=>O_,raw_block:()=>u_,raw_empty:()=>l_,raw_expression:()=>r_,raw_table:()=>a_,text_comment:()=>d_,text_print_multiple:()=>T_,text_print_multiple_container:()=>M_,text_print_multiple_item:()=>h_,type_check:()=>I_});var T={};t.r(T),t.d(T,{controls_type:()=>A_,controls_typeLists:()=>L_,lists_zip:()=>N_,unpack_iterable_object:()=>D_,variables_change:()=>C_,variables_get:()=>c_,variables_global:()=>S_,variables_set:()=>g_});var M={};t.r(M),t.d(M,{Panic_with_status_code:()=>V_,base_setup:()=>F_,controls_delay:()=>x_,controls_flow_statements:()=>b_,controls_for:()=>Y_,controls_forEach:()=>k_,controls_for_range:()=>X_,controls_if:()=>P_,controls_interrupts:()=>U_,controls_lambda:()=>W_,controls_main:()=>f_,controls_millis:()=>B_,controls_nointerrupts:()=>w_,controls_pass:()=>J_,controls_range:()=>H_,controls_repeat:()=>eo,controls_repeat_ext:()=>z_,controls_thread:()=>q_,controls_try_finally:()=>v_,controls_whileUntil:()=>y_,datetime_fromtimestamp:()=>io,do_while:()=>Q_,garbage_collection:()=>j_,gene_unique_identifier:()=>no,get_mem_alloc:()=>$_,get_mem_free:()=>Z_,get_unique_identifier:()=>to,reset:()=>G_,time_sleep:()=>K_});var h={};t.r(h),t.d(h,{base_map:()=>Ao,generate_cartesian_product:()=>No,math_arithmetic:()=>ao,math_bit:()=>po,math_constant:()=>_o,math_constant_mp:()=>oo,math_constrain:()=>Eo,math_dec:()=>Io,math_degree_to_radian:()=>fo,math_indexer_number:()=>co,math_map:()=>mo,math_max_min:()=>Mo,math_number:()=>so,math_number_base_conversion:()=>Oo,math_radian_to_degree:()=>Do,math_random:()=>ho,math_random_seed:()=>Ro,math_round:()=>go,math_selfcalcu:()=>uo,math_single:()=>ro,math_to_int:()=>To,math_trig:()=>lo,text_to_number:()=>Co,text_to_number_skulpt:()=>So,turn_to_int:()=>Lo});var m={};t.r(m),t.d(m,{ascii_to_char:()=>yo,char_to_ascii:()=>bo,number_to_text:()=>xo,os_system:()=>op,text:()=>Fo,text_bytes:()=>vo,text_capital:()=>Ko,text_center:()=>Jo,text_char:()=>Yo,text_char_at:()=>Go,text_char_at2:()=>Bo,text_char_at3:()=>np,text_compareTo:()=>ip,text_compare_to:()=>ko,text_encode:()=>sp,text_equals_starts_ends:()=>wo,text_eval:()=>_p,text_find:()=>qo,text_format:()=>Zo,text_format_noreturn:()=>tp,text_join:()=>Xo,text_join_seq:()=>Qo,text_length:()=>Vo,text_random_char:()=>Uo,text_replace:()=>zo,text_split:()=>jo,text_strip:()=>$o,text_substring:()=>Wo,text_substring2:()=>Ho,text_substring3:()=>ep,text_textarea:()=>Po});var E={};t.r(E),t.d(E,{content_in_lists:()=>Gp,enumerate:()=>Bp,list_many_input:()=>Lp,list_tolist:()=>xp,list_tolist2:()=>Vp,list_trig:()=>Cp,lists_2d_get_col_row_data:()=>up,lists_2d_get_data_with_col_row:()=>ap,lists_append_extend:()=>Tp,lists_change_to:()=>Ap,lists_change_to_general:()=>Dp,lists_clear:()=>Op,lists_create_with:()=>rp,lists_create_with2:()=>Fp,lists_create_with_noreturn:()=>Np,lists_create_with_text:()=>lp,lists_create_with_text2:()=>Pp,lists_del_general:()=>fp,lists_find:()=>Rp,lists_getIndex3:()=>vp,lists_getSublist3:()=>Yp,lists_get_index:()=>dp,lists_get_random_item:()=>Mp,lists_get_random_sublist:()=>hp,lists_get_sublist:()=>pp,lists_insert_value:()=>mp,lists_insert_value2:()=>yp,lists_pop:()=>gp,lists_remove_at:()=>cp,lists_remove_at2:()=>bp,lists_reverse:()=>Ep,lists_setIndex3:()=>Xp,lists_set_index:()=>Ip,lists_sort:()=>Sp});var O={};t.r(O),t.d(O,{dicts_add_change_del:()=>Zp,dicts_add_or_change:()=>Wp,dicts_clear:()=>qp,dicts_create_with:()=>Up,dicts_create_with_noreturn:()=>ia,dicts_deldict:()=>$p,dicts_delete:()=>Kp,dicts_get:()=>kp,dicts_get_default:()=>Hp,dicts_items:()=>Qp,dicts_keys:()=>wp,dicts_length:()=>jp,dicts_pop:()=>ta,dicts_setdefault:()=>ea,dicts_to_json:()=>sa,dicts_to_json2:()=>pa,dicts_to_to:()=>oa,dicts_todict:()=>na,dicts_update:()=>Jp,dicts_values:()=>zp,json_to_dicts:()=>_a});var R={};t.r(R),t.d(R,{logic_boolean:()=>da,logic_compare:()=>aa,logic_compare_continous:()=>ua,logic_is:()=>ha,logic_is_in:()=>Ma,logic_negate:()=>la,logic_null:()=>Ia,logic_operation:()=>ra,logic_tobool:()=>ma,logic_true_or_false:()=>Ta});var c={};t.r(c),t.d(c,{sdcard_mount:()=>Ga,sdcard_use_spi_init:()=>Ba,storage_can_write_ornot:()=>La,storage_change_dir:()=>Xa,storage_close_file:()=>Da,storage_delete_file:()=>Fa,storage_file_seek:()=>Ya,storage_file_tell:()=>va,storage_file_write:()=>ga,storage_fileopen:()=>Oa,storage_fileopen_new:()=>Ra,storage_fileopen_new_encoding:()=>ca,storage_get_a_line:()=>Aa,storage_get_contents:()=>Sa,storage_get_contents_without_para:()=>Ca,storage_get_current_dir:()=>ya,storage_get_file_size:()=>Pa,storage_get_filename:()=>Na,storage_is_file:()=>Va,storage_list_all_files:()=>fa,storage_make_dir:()=>ba,storage_open_file_with_os:()=>Ea,storage_rename:()=>xa});var g={};t.r(g),t.d(g,{procedures_callnoreturn:()=>Ha,procedures_callreturn:()=>ka,procedures_defnoreturn:()=>wa,procedures_defreturn:()=>Ua,procedures_ifreturn:()=>Wa,procedures_return:()=>Ka});var C={};t.r(C),t.d(C,{tuple_change_to:()=>eu,tuple_create_llm_params:()=>ru,tuple_create_with:()=>Ja,tuple_create_with_noreturn:()=>_u,tuple_create_with_text2:()=>qa,tuple_create_with_text_return:()=>Qa,tuple_del:()=>$a,tuple_find:()=>iu,tuple_getIndex:()=>za,tuple_getSublist:()=>su,tuple_get_random_item:()=>pu,tuple_get_sublist:()=>ou,tuple_input:()=>uu,tuple_join:()=>Za,tuple_length:()=>ja,tuple_max:()=>tu,tuple_totuple:()=>au,tuple_trig:()=>nu});var S={};t.r(S),t.d(S,{set_add_discard:()=>mu,set_clear:()=>Tu,set_create_with:()=>lu,set_create_with_text_return:()=>Ru,set_length:()=>du,set_operate:()=>Mu,set_operate_update:()=>hu,set_pop:()=>Iu,set_sub:()=>Eu,set_toset:()=>cu,set_update:()=>Ou});var A={};t.r(A),t.d(A,{html_content:()=>Au,html_content_more:()=>Lu,html_document:()=>gu,html_form:()=>Du,html_head_body:()=>Su,html_style:()=>Nu,html_style_content:()=>fu,html_text:()=>Fu,html_title:()=>Cu});var L={};t.r(L),t.d(L,{attribute_access:()=>xu,function_call:()=>bu,raw_block:()=>Pu,raw_empty:()=>Yu,raw_expression:()=>vu,raw_table:()=>Xu,type_check:()=>yu});var N={};t.r(N),t.d(N,{PIN_init:()=>Hr,actuator_extern_get_led_bright:()=>Zu,actuator_extern_get_led_state:()=>tr,actuator_extern_led_bright:()=>$u,actuator_extern_led_brightness:()=>er,actuator_ms32006_dcmotor:()=>rr,actuator_ms32006_init:()=>ur,actuator_ms32006_stepper:()=>lr,actuator_neopixel_init:()=>dr,actuator_neopixel_rgb:()=>Ir,actuator_neopixel_rgb_all:()=>Tr,actuator_neopixel_rgb_show_all_chase:()=>mr,actuator_neopixel_rgb_show_all_rainbow:()=>hr,actuator_neopixel_write:()=>Mr,actuator_use_uart_init:()=>Er,backstage_esp32_music_play_list:()=>Ku,esp32_music_get_tempo_extern:()=>qu,esp32_music_pitch:()=>ku,esp32_music_pitch_init:()=>wu,esp32_music_pitch_with_time:()=>Hu,esp32_music_play_list:()=>Wu,esp32_music_reset_extern:()=>Qu,esp32_music_set_tempo_extern:()=>Ju,esp32_music_stop:()=>zu,esp32_set_music_volume:()=>ju,mixbot_actuator_extern_get_addr:()=>wr,mixbot_actuator_extern_set_addr:()=>kr,mixbot_addr_extern:()=>fr,parrot_PIN_init:()=>qr,parrot_move_speed:()=>Qr,pin_led_bright:()=>Wr,player_insert_music:()=>Sr,player_play_music:()=>Cr,player_set_mode:()=>gr,player_set_play:()=>Rr,player_set_volume:()=>cr,player_whether_stop:()=>Or,robot_led_extern:()=>Yr,robot_led_extern_get_value:()=>Xr,robot_motor_extern:()=>Fr,robot_motor_extern_get_speed:()=>Pr,robot_servo_extern_absolute_run:()=>Vr,robot_servo_extern_get_status:()=>yr,robot_servo_extern_relative_continue:()=>Ur,robot_servo_extern_relative_origin:()=>Br,robot_servo_extern_relative_run:()=>Gr,robot_servo_extern_stop:()=>xr,robot_servo_extern_stop_mode:()=>br,robot_traffic_light_extern:()=>vr,servo_PIN_init:()=>Kr,servo_get_angle:()=>pr,servo_get_speed:()=>ar,servo_init:()=>ir,servo_move:()=>nr,servo_move_angle:()=>Jr,servo_set_angle:()=>_r,servo_set_speed:()=>or,servo_speed_360:()=>sr,syn6288_builtin_voice:()=>Nr,syn6288_get_voice:()=>Lr,syn6288_set_voice:()=>Ar,syn6288_tts_play:()=>Dr});var D={};t.r(D),t.d(D,{actuator_dc_motor:()=>Dl,actuator_dc_motor_stop:()=>fl,actuator_get_led_bright:()=>tl,actuator_get_led_state:()=>el,actuator_led_bright:()=>Zr,actuator_led_brightness:()=>il,actuator_mixbot_buzzer_on_off:()=>Xl,actuator_mixgo_nova_mic_get:()=>Bl,actuator_mixgo_nova_mic_set:()=>Vl,actuator_mixgo_nova_onboard_music_pitch:()=>Wl,actuator_mixgo_nova_onboard_music_stop:()=>Kl,actuator_mixgo_nova_play_audio:()=>kl,actuator_mixgo_nova_play_online_audio:()=>Hl,actuator_mixgo_nova_record_audio:()=>wl,actuator_mixgo_nova_voice_get:()=>Ul,actuator_mixgo_nova_voice_set:()=>Gl,actuator_mixgo_zero_led_color:()=>nl,actuator_onboard_neopixel_rgb:()=>ul,actuator_onboard_neopixel_rgb_all:()=>rl,actuator_onboard_neopixel_rgb_show_all_chase:()=>dl,actuator_onboard_neopixel_rgb_show_all_rainbow:()=>ll,actuator_onboard_neopixel_write:()=>Il,actuator_rm_onboard_neopixel_rgb:()=>Tl,actuator_rm_onboard_neopixel_rgb_all:()=>Ml,actuator_rm_onboard_neopixel_rgb_show_all_chase:()=>hl,actuator_stepper_keep:()=>Ll,actuator_stepper_stop:()=>Nl,analog_ble_keyboard_init:()=>od,analog_ble_keyboard_input:()=>ud,analog_ble_keyboard_mouse_init:()=>md,analog_ble_keyboard_mouse_input:()=>cd,analog_ble_keyboard_mouse_send_battery:()=>Rd,analog_ble_keyboard_mouse_str:()=>gd,analog_ble_keyboard_send_battery:()=>ld,analog_ble_keyboard_str:()=>rd,analog_ble_mouse_init:()=>dd,analog_ble_mouse_input:()=>Md,analog_ble_mouse_keyboard_input:()=>Cd,analog_ble_mouse_send_battery:()=>hd,analog_keyboard_input:()=>jl,analog_keyboard_str:()=>_d,analog_mouse_input:()=>nd,backstage_onboard_music_play_list:()=>Sl,bitbot_motor:()=>xl,bitbot_move:()=>yl,bitbot_stop:()=>bl,ble_keyboard_connect:()=>ad,ble_keyboard_get_mac:()=>pd,ble_keyboard_mouse_connect:()=>Od,ble_keyboard_mouse_get_mac:()=>Ed,ble_mouse_connect:()=>Td,ble_mouse_get_mac:()=>Id,cc_number:()=>al,educore_ble_keyboard_input:()=>Yd,educore_ble_sensor_connected:()=>vd,educore_ble_sensor_init:()=>Pd,educore_buzzer:()=>Sd,educore_buzzer_play_tone:()=>Ad,educore_buzzer_play_tone_time:()=>Ld,educore_buzzer_stop:()=>Nd,educore_neopixel_clear:()=>Fd,educore_neopixel_rgb:()=>fd,educore_rgb_light:()=>Dd,esp32_music_get_tempo:()=>El,esp32_music_reset:()=>Ol,esp32_music_set_tempo:()=>ml,esp32_onboard_music_pitch:()=>Rl,esp32_onboard_music_pitch_with_time:()=>cl,esp32_onboard_music_play_list:()=>Cl,esp32_onboard_music_stop:()=>gl,general_key:()=>Zl,general_key_tuple:()=>td,generalkey_container:()=>ed,generalkey_create_with_item:()=>id,get_keyboard_light:()=>Xd,get_power_output:()=>ql,ledswitch:()=>$r,mixbot_motor:()=>Yl,mixbot_motor_status:()=>Fl,mixbot_move:()=>Pl,mixbot_stop:()=>vl,mouse_key:()=>sd,number:()=>jr,record_audio:()=>bd,rm_actuator_get_led_bright:()=>_l,rm_actuator_get_led_state:()=>ol,rm_actuator_led_bright:()=>sl,rm_actuator_led_brightness:()=>pl,rm_motor:()=>Al,set_all_power_output:()=>Ql,set_microphone_amplification:()=>yd,set_music_volume:()=>xd,set_part_power_output:()=>zl,set_power_output:()=>Jl,special_key:()=>$l});var f={};t.r(f),t.d(f,{ai_sensor_20object:()=>mI,ai_sensor_ailocal_class:()=>oI,ai_sensor_ailocal_class_result:()=>pI,ai_sensor_ailocal_train:()=>_I,ai_sensor_asr_recognize:()=>dI,ai_sensor_audio_play:()=>uI,ai_sensor_audio_record:()=>aI,ai_sensor_barcode:()=>Wd,ai_sensor_circle:()=>jd,ai_sensor_classifier_faces:()=>hI,ai_sensor_color:()=>eI,ai_sensor_color_chases:()=>sI,ai_sensor_color_chases_result:()=>nI,ai_sensor_config:()=>kd,ai_sensor_face:()=>MI,ai_sensor_find_20objects:()=>EI,ai_sensor_find_barcodes:()=>Kd,ai_sensor_find_circles:()=>$d,ai_sensor_find_colors:()=>iI,ai_sensor_find_licenseplates:()=>TI,ai_sensor_find_lines:()=>zd,ai_sensor_find_qrcodes:()=>wd,ai_sensor_find_rects:()=>tI,ai_sensor_find_tags:()=>qd,ai_sensor_licenseplate:()=>II,ai_sensor_line:()=>Qd,ai_sensor_qrcode:()=>Gd,ai_sensor_qrcode_lite:()=>Ud,ai_sensor_rect:()=>Zd,ai_sensor_rgb:()=>Hd,ai_sensor_tag:()=>Jd,ai_sensor_use_uart_init:()=>Bd,ai_sensor_yolo_recognize:()=>rI,ai_sensor_yolo_recognize_result:()=>lI});var F={};t.r(F),t.d(F,{MICROPYTHON_AI_Speech_asr:()=>cI,MICROPYTHON_AI_Speech_unit:()=>RI,MICROPYTHON_AI_client:()=>OI});var P={};t.r(P),t.d(P,{mpython_blynk_app_data:()=>bI,mpython_blynk_app_notify:()=>fI,mpython_blynk_email:()=>vI,mpython_blynk_get_timers:()=>YI,mpython_blynk_on_connected:()=>LI,mpython_blynk_on_disconnected:()=>AI,mpython_blynk_run:()=>DI,mpython_blynk_sensor_data_to_app:()=>yI,mpython_blynk_set_property:()=>PI,mpython_blynk_setup:()=>xI,mpython_blynk_stop_timers:()=>FI,mpython_blynk_sync_virtual:()=>SI,mpython_blynk_terminal_widget_vpin:()=>CI,mpython_blynktimer:()=>XI,mpython_blynktimer_run:()=>NI});var v={};t.r(v),t.d(v,{cc_g1_init:()=>VI,cc_g1_read_bat:()=>BI,cc_g1_read_joystick:()=>GI,cc_g1_read_key:()=>UI,cc_g1_turnoff:()=>wI});var Y={};t.r(Y),t.d(Y,{ce_go_dc_motor:()=>jI,ce_go_get_led_bright:()=>KI,ce_go_get_led_state:()=>JI,ce_go_hall_attachInterrupt:()=>$I,ce_go_hall_data:()=>tT,ce_go_hall_initialize:()=>ZI,ce_go_led_bright:()=>WI,ce_go_led_brightness:()=>qI,ce_go_light_number:()=>HI,ce_go_pin_light:()=>_T,ce_go_pin_near:()=>iT,ce_go_pin_near_line:()=>eT,ce_go_pin_near_state_change:()=>nT,ce_go_stepper_keep:()=>QI,ce_go_stepper_stop:()=>zI,educore_car:()=>oT,educore_car_pin_near:()=>rT,educore_car_pin_near_line:()=>uT,educore_car_stepper_keep:()=>pT,educore_car_stepper_stop:()=>aT,sensor_mixgome_eulerangles:()=>sT});var X={};t.r(X),t.d(X,{communicate_bluetooth_central_init:()=>KT,communicate_bluetooth_connect:()=>zT,communicate_bluetooth_disconnect:()=>jT,communicate_bluetooth_handle:()=>iM,communicate_bluetooth_is_connected:()=>ZT,communicate_bluetooth_mac:()=>QT,communicate_bluetooth_peripheral_init:()=>JT,communicate_bluetooth_recv:()=>tM,communicate_bluetooth_recv_only:()=>eM,communicate_bluetooth_scan:()=>qT,communicate_bluetooth_send:()=>$T,communicate_espnow_init:()=>nM,communicate_espnow_init_new:()=>sM,communicate_i2c_available:()=>DT,communicate_i2c_init:()=>TT,communicate_i2c_master_read:()=>NT,communicate_i2c_onboard:()=>dT,communicate_i2c_read:()=>MT,communicate_i2c_scan:()=>mT,communicate_i2c_write:()=>hT,communicate_ir_recv_init:()=>bT,communicate_ir_send_init:()=>UT,communicate_ow_init:()=>FT,communicate_ow_read:()=>vT,communicate_ow_reset:()=>yT,communicate_ow_scan:()=>PT,communicate_ow_select:()=>XT,communicate_ow_write:()=>YT,communicate_spi_buffer:()=>RT,communicate_spi_init:()=>ET,communicate_spi_onboard:()=>IT,communicate_spi_read:()=>cT,communicate_spi_read_output:()=>gT,communicate_spi_readinto:()=>CT,communicate_spi_readinto_output:()=>ST,communicate_spi_set:()=>OT,communicate_spi_write:()=>AT,communicate_spi_write_readinto:()=>LT,espnow_radio_channel:()=>rM,espnow_radio_channel_new:()=>dM,espnow_radio_on_off:()=>IM,espnow_radio_rec:()=>MM,espnow_radio_recv:()=>mM,espnow_radio_recv_certain_msg:()=>EM,espnow_radio_recv_certain_msg_new:()=>RM,espnow_radio_recv_msg:()=>hM,espnow_radio_recv_new:()=>OM,espnow_radio_send:()=>TM,espnow_radio_txpower:()=>lM,i2c_available:()=>wM,i2c_init:()=>DM,i2c_master_reader2:()=>UM,i2c_read:()=>fM,i2c_scan:()=>PM,i2c_slave_onreceive:()=>fT,i2c_write:()=>FM,internal_variable:()=>xT,ir_recv_timeout:()=>GT,ir_transmit_busy:()=>WT,ir_transmit_conventional_data:()=>wT,ir_transmit_raw_code:()=>HT,ir_transmit_study_code:()=>kT,ir_whether_recv:()=>BT,lora_init:()=>cM,lora_packet:()=>gM,lora_recv:()=>SM,lora_send:()=>CM,network_espnow_info:()=>oM,network_espnow_mac:()=>_M,network_espnow_recv:()=>pM,network_espnow_recv_handle:()=>uM,network_espnow_send:()=>aM,recv_fun:()=>VT,spi_buffer:()=>XM,spi_init:()=>vM,spi_read:()=>yM,spi_read_output:()=>bM,spi_readinto:()=>xM,spi_readinto_output:()=>VM,spi_set:()=>YM,spi_write:()=>BM,spi_write_readinto:()=>GM,urequests_attribute:()=>LM,urequests_get:()=>AM,urequests_method:()=>NM});var y={};t.r(y),t.d(y,{display_animate:()=>Rh,display_blink_rate:()=>hh,display_circle:()=>ch,display_color_seclet:()=>Yh,display_draw_4strings:()=>rh,display_fill:()=>Oh,display_get_screen_image:()=>Mh,display_help:()=>Ch,display_image_size:()=>lh,display_lcd_use_i2c_init:()=>Bh,display_line:()=>Ih,display_line_arbitrarily:()=>Th,display_matrix_extern_bright_point:()=>ih,display_matrix_extern_bright_screen:()=>sh,display_matrix_extern_clear:()=>_h,display_matrix_extern_get_pixel:()=>eh,display_matrix_extern_get_screen_pixel:()=>nh,display_matrix_extern_image_builtins:()=>oh,display_matrix_extern_scroll_string:()=>zM,display_matrix_extern_scroll_string_delay:()=>jM,display_matrix_extern_shift:()=>th,display_matrix_extern_show_frame_string:()=>$M,display_matrix_extern_show_frame_string_delay:()=>ZM,display_matrix_extern_show_image:()=>qM,display_matrix_extern_show_image_or_string_delay:()=>QM,display_matrix_use_i2c_init:()=>JM,display_oled_drawPixel:()=>Ah,display_oled_showBitmap:()=>Sh,display_oled_use_i2c_init:()=>Hh,display_onoff:()=>Eh,display_rect:()=>dh,display_rgb_color:()=>mh,display_tm1650_power:()=>Nh,display_tm1650_set_brightness:()=>Fh,display_tm1650_show_dot:()=>fh,display_tm1650_show_num:()=>Dh,display_tm_use_i2c_init:()=>Lh,display_triangle:()=>gh,display_use_i2c_init:()=>uh,extern_oled_bright_point:()=>em,extern_oled_clear:()=>im,extern_oled_get_pixel:()=>tm,extern_oled_hvline:()=>sm,extern_oled_line:()=>_m,extern_oled_scroll_string:()=>Qh,extern_oled_scroll_string_delay:()=>zh,extern_oled_shape_rect:()=>nm,extern_oled_shift:()=>Zh,extern_oled_show_frame_string:()=>jh,extern_oled_show_frame_string_delay:()=>$h,extern_oled_show_image:()=>Wh,extern_oled_show_image_or_string_delay:()=>qh,extern_oled_show_image_xy:()=>Kh,extern_oled_show_string:()=>Jh,lcd_backlight:()=>wh,lcd_clear:()=>kh,lcd_print_string:()=>Uh,lcd_show_image_or_string_delay:()=>Gh,matrix_extern_image_arithmetic:()=>ph,matrix_extern_image_invert:()=>ah,tft_fill:()=>xh,tft_line_arbitrarily:()=>Vh,tft_scroll_string_delay:()=>yh,tft_show_frame_string_delay:()=>bh,tft_show_image_or_string_delay:()=>Xh,tft_show_image_xy:()=>vh,tft_use_spi_init:()=>Ph});var b={};t.r(b),t.d(b,{bitbot_display_bitmap_create:()=>Zm,bitbot_display_image_create:()=>$m,display_available:()=>Nm,display_bitmap_create:()=>hm,display_bright_point:()=>Cm,display_bright_screen:()=>Am,display_clear:()=>Lm,display_get_pixel:()=>gm,display_get_screen_pixel:()=>Sm,display_image_builtins:()=>mm,display_image_builtins_all:()=>Em,display_image_create:()=>Mm,display_scroll_string:()=>um,display_scroll_string_delay:()=>rm,display_scroll_way:()=>lm,display_shift:()=>cm,display_show_frame_string:()=>Im,display_show_frame_string_delay:()=>Tm,display_show_image:()=>pm,display_show_image_or_string_delay:()=>am,draw_pointer:()=>hE,image_arithmetic:()=>Om,image_invert:()=>Rm,mixbot_display_bitmap_create:()=>Jm,mixbot_display_bright_screen:()=>zm,mixbot_display_get_ambientbright:()=>Qm,mixbot_display_get_screen_pixel:()=>qm,mixbot_display_image_create:()=>Km,mixbot_display_rotate:()=>jm,mixgo_display_bitmap_create:()=>Ym,mixgo_display_image_create_new:()=>vm,mixgome_display_bitmap_create:()=>fm,mixgome_display_font:()=>Xm,mixgome_display_image_create:()=>Dm,mixgomini_display_bitmap_create:()=>Pm,mixgomini_display_image_create:()=>Fm,mpython_display_hvline:()=>km,mpython_display_line:()=>Hm,mpython_display_shape_rect:()=>wm,mpython_pbm_image:()=>Wm,nova_draw_pointer:()=>mE,onboard_oled_bright_point:()=>Um,onboard_oled_scroll_string_delay:()=>Bm,onboard_oled_show_frame_string_delay:()=>Gm,onboard_oled_show_image:()=>ym,onboard_oled_show_image_or_string_delay:()=>Vm,onboard_oled_show_image_xy:()=>bm,onboard_oled_show_string:()=>xm,onboard_tft_bright_point:()=>aE,onboard_tft_bright_screen:()=>LE,onboard_tft_clear:()=>NE,onboard_tft_clock_clear:()=>TE,onboard_tft_clock_draw:()=>IE,onboard_tft_clock_get_rtctime:()=>lE,onboard_tft_clock_init:()=>rE,onboard_tft_clock_set_time:()=>dE,onboard_tft_display_hvline:()=>_E,onboard_tft_display_line:()=>oE,onboard_tft_display_shape_circle:()=>ME,onboard_tft_display_shape_rect:()=>sE,onboard_tft_fill:()=>uE,onboard_tft_get_pixel:()=>pE,onboard_tft_get_screen_pixel:()=>AE,onboard_tft_scroll_string:()=>gE,onboard_tft_scroll_string_delay:()=>dm,onboard_tft_shift:()=>SE,onboard_tft_show_frame_string:()=>CE,onboard_tft_show_frame_string_delay:()=>nE,onboard_tft_show_image:()=>cE,onboard_tft_show_image_or_string_delay:()=>iE,onboard_tft_show_image_xy:()=>tE,onboard_tft_show_image_xy_direct:()=>eE,onboard_tft_show_qrcode:()=>OE,onboard_tft_show_qrcode_details:()=>RE,onboard_tft_show_texts:()=>EE});var x={};t.r(x),t.d(x,{factory_block:()=>WE,factory_block_return:()=>KE,factory_block_return_with_textarea:()=>qE,factory_block_with_textarea:()=>JE,factory_callMethod_noreturn:()=>kE,factory_callMethod_return:()=>HE,factory_create_with_container:()=>BE,factory_create_with_item:()=>GE,factory_declare:()=>wE,factory_from_import:()=>bE,factory_function_noreturn:()=>VE,factory_function_return:()=>UE,factory_import:()=>xE,folding_block:()=>QE});var V={};t.r(V),t.d(V,{controls_pin_attachInterrupt:()=>mO,inout_analog_atten:()=>_O,inout_analog_read:()=>sO,inout_analog_read_init:()=>lO,inout_analog_write:()=>eO,inout_analog_write_init:()=>rO,inout_analog_write_set:()=>iO,inout_analog_write_set_freq:()=>TO,inout_digital_init:()=>aO,inout_digital_read:()=>ZE,inout_digital_write:()=>$E,inout_highlow:()=>jE,inout_pinMode:()=>IO,inout_pin_attachInterrupt:()=>pO,inout_pin_pressed:()=>oO,inout_pin_pressed_init:()=>dO,inout_pwm_analog_write:()=>tO,inout_pwm_analog_write_init:()=>uO,inout_pwm_analog_write_set_freq:()=>nO,pin_pressed:()=>hO,pin_pressed_init:()=>MO});var B={};t.r(B),t.d(B,{IOT_CONNECT_OLLAMA:()=>eR,IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>wO,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>UO,IOT_EMQX_PING:()=>BO,IOT_FORMATTING:()=>xO,IOT_FORMAT_STRING:()=>VO,IOT_MIXIO_NTP:()=>GO,IOT_MIXIO_PUBLISH:()=>fO,IOT_MIXIO_PUBLISHEX:()=>FO,IOT_MIXIO_SUBSCRIBE:()=>PO,iot_checkonenet:()=>$O,iot_client_onboard:()=>HO,iot_connect_ollama:()=>tR,iot_connect_openai:()=>iR,iot_create_with_item:()=>NO,iot_http_client:()=>WO,iot_http_data:()=>KO,iot_mixio_check:()=>XO,iot_mixio_connect:()=>DO,iot_mixio_connect_only:()=>YO,iot_mixio_disconnect:()=>vO,iot_mixio_format_msg:()=>bO,iot_mixio_format_topic:()=>yO,iot_mixly_key:()=>kO,iot_mqtt_client:()=>JO,iot_mqtt_data:()=>qO,iot_onenet_check:()=>gO,iot_onenet_connect:()=>RO,iot_onenet_disconnect:()=>cO,iot_onenet_publish:()=>SO,iot_onenet_publish_dict:()=>CO,iot_onenetconnect:()=>zO,iot_onenetdisconnect:()=>jO,iot_publish:()=>ZO,iot_publish_container:()=>AO,iot_publish_item:()=>LO,iot_tiny_web_db_count:()=>rR,iot_tiny_web_db_delete:()=>dR,iot_tiny_web_db_get:()=>uR,iot_tiny_web_db_init:()=>oR,iot_tiny_web_db_init_with_mqtt:()=>pR,iot_tiny_web_db_search:()=>lR,iot_tiny_web_db_update:()=>aR,iot_wifi_connect:()=>OO,iot_wificonnect:()=>QO,ollama_empty_history:()=>_R,use_ollama_llm_to_chat:()=>nR,use_ollama_llm_to_chat_return:()=>sR});var G={};t.r(G),t.d(G,{educore_mqtt_connect:()=>KR,educore_mqtt_connect_success:()=>zR,educore_mqtt_subscribe_message:()=>JR,educore_mqtt_topic_publish:()=>QR,educore_mqtt_topic_subscribe:()=>qR,educore_wifi_connect:()=>WR,network_ap_connect:()=>CR,network_connect:()=>ER,network_get_connect:()=>RR,network_get_wifi:()=>gR,network_init:()=>TR,network_is_active:()=>hR,network_open:()=>MR,network_scan:()=>mR,network_server:()=>SR,network_socket_accept:()=>fR,network_socket_bind:()=>LR,network_socket_close:()=>yR,network_socket_connect:()=>NR,network_socket_init:()=>AR,network_socket_listen:()=>DR,network_socket_readline:()=>FR,network_socket_receive:()=>PR,network_socket_receive_from:()=>YR,network_socket_send:()=>vR,network_socket_send_to:()=>XR,network_stop:()=>cR,network_wifi_connect:()=>OR,ntptime_address:()=>GR,ntptime_time:()=>BR,requests_attribute:()=>xR,requests_attribute2:()=>HR,requests_get:()=>bR,requests_get2:()=>wR,requests_method:()=>VR,requests_post:()=>kR});var U={};t.r(U),t.d(U,{pe_g1_battery_left:()=>ZR,pe_g1_dc_motor:()=>tc,pe_g1_dc_motor_speed:()=>ec,pe_g1_servo_get_angle:()=>sc,pe_g1_servo_get_speed:()=>_c,pe_g1_servo_set_angle:()=>ic,pe_g1_servo_set_speed:()=>nc,pe_g1_use_i2c_init:()=>$R});var w={};t.r(w),t.d(w,{CI130X_BROADCAST:()=>Fc,CI130X_GET_THE_RECOGNIZED_CMD:()=>fc,CI130X_GET_WHETHER_IDENTIFY:()=>Dc,CI130X_IDENTIFY_AND_SAVE:()=>Nc,CI130X_SET_SYSTEM_CMD:()=>Pc,HCSR04:()=>Og,PS2_Button:()=>Cg,PS2_Buttons:()=>Ag,PS2_Buttons_new:()=>fg,PS2_State:()=>Sg,PS2_init:()=>Rg,PS2_init_new:()=>Ng,PS2_stk:()=>Lg,PS2_stk_new:()=>Fg,PS2_vibration:()=>gg,PS2_vibration_new:()=>Dg,camera_sensor_init:()=>oC,camera_sensor_result:()=>pC,column_tube_foot:()=>dC,define_keyboards:()=>IC,educore_body_sensor:()=>zg,educore_button_sensor_extern:()=>tC,educore_camera_sensor:()=>_C,educore_infrared_sensor:()=>Zg,educore_soilhum_sensor:()=>jg,educore_temp_sensor:()=>sC,educore_temphum_sensor:()=>$g,educore_ultrasonic_sensor:()=>iC,esp32_s2_weather_init:()=>Mg,esp32_s2_weather_rain:()=>mg,esp32_s2_weather_wd:()=>hg,esp32_s2_weather_ws:()=>Eg,extern_rfid_read:()=>eg,extern_rfid_readcontent:()=>ng,extern_rfid_readid:()=>ig,extern_rfid_status:()=>og,extern_rfid_write:()=>sg,extern_rfid_write_return:()=>_g,get_keboards_value:()=>TC,gnss_get_data:()=>Xg,gnss_have_data:()=>Yg,init_init_rotary_encoder:()=>MC,init_matrix_keyboard:()=>rC,interaction_whether_to_interaction:()=>Ac,interaction_whether_to_interaction_SANT:()=>Lc,line_tube_foot:()=>lC,mixbot_sensor_extern_get_addr:()=>wg,mixbot_sensor_extern_set_addr:()=>kg,pm25_get_data:()=>vg,radar_set_DETECTION_THRESHOLD:()=>Cc,radar_set_DETECTION_THRESHOLD_SANT:()=>Sc,robot_button_extern_get_value:()=>bg,robot_color_extern_get_value:()=>Ug,robot_infrared_extern_get_value:()=>Vg,robot_infrared_extern_grey_get_value:()=>Bg,robot_potentiometer_extern_get_value:()=>Gg,robot_sonar_extern_get_value:()=>Hg,robot_sonar_extern_led:()=>Wg,robot_touch_extern_get_value:()=>xg,rotary_key:()=>hC,sensor_APDS9960_extern:()=>Yc,sensor_DS18X20:()=>Rc,sensor_LTR308_extern:()=>Xc,sensor_LTR390UV_extern:()=>xc,sensor_MAX30102_extern:()=>vc,sensor_QMC5883L_extern:()=>Wc,sensor_VL530LX_extern:()=>Vc,sensor_adxl345_get_acceleration:()=>dc,sensor_aht11_extern:()=>Gc,sensor_bmp:()=>Ec,sensor_compass_reset:()=>Zc,sensor_dht11:()=>Tc,sensor_hp203_extern:()=>Uc,sensor_light_level:()=>Ic,sensor_lm35:()=>cc,sensor_ltr381_extern:()=>yc,sensor_mixgo_extern_button_attachInterrupt:()=>rc,sensor_mixgo_extern_button_get_presses:()=>uc,sensor_mixgo_extern_button_is_pressed:()=>pc,sensor_mixgo_extern_button_was_pressed:()=>ac,sensor_mixgo_extern_light:()=>Mc,sensor_mixgo_extern_pin_near:()=>mc,sensor_mixgo_extern_sound:()=>hc,sensor_mixgoce_hot_wheel_degrees:()=>Tg,sensor_mixgoce_hot_wheel_is_touched:()=>Ig,sensor_mpu9250_attachGestureInterrupt:()=>lc,sensor_mpu9250_calibrate_compass:()=>zc,sensor_mpu9250_field_strength:()=>$c,sensor_mpu9250_gesture:()=>Kc,sensor_mpu9250_get_acceleration:()=>Jc,sensor_mpu9250_get_gyro:()=>Qc,sensor_mpu9250_get_magnetic:()=>qc,sensor_mpu9250_temperature:()=>jc,sensor_ms5611_extern:()=>kc,sensor_ms5611_extern_altitude:()=>Hc,sensor_read_humiture:()=>eC,sensor_sht:()=>Oc,sensor_shtc3_extern:()=>Bc,sensor_spl06_001_extern:()=>wc,sensor_ucs12071_extern:()=>bc,sensor_use_i2c_init:()=>gc,sensor_use_spi_init:()=>tg,sensor_use_uart_init:()=>Pg,sensor_weather_solo_init:()=>Kg,sensor_weather_solo_rain:()=>Qg,sensor_weather_solo_wd:()=>Jg,sensor_weather_solo_ws:()=>qg,sensor_weigh_init:()=>aC,tvoc_get_data:()=>yg,ultrasonic_sensor_read_distance:()=>nC,weather_data:()=>pg,weather_have_data:()=>ag,weather_set_label:()=>rg,weather_set_label_container:()=>lg,weather_set_label_item:()=>dg,weather_uart_mixio:()=>ug,weigh_sensor_get_weight:()=>uC});var k={};t.r(k),t.d(k,{HCSR04:()=>YC,RTC_set_date:()=>vC,RTC_set_time:()=>PC,bitbot_als_num:()=>wS,dht11:()=>QS,educore_button_sensor:()=>sA,educore_button_was_pressed:()=>_A,educore_gyroscope_sensor:()=>eA,educore_gyroscope_sensor_read:()=>iA,educore_gyroscope_sensor_shake:()=>nA,educore_light_sensor:()=>tA,educore_rfid_sensor:()=>oA,educore_rfid_sensor_scan:()=>pA,educore_rfid_sensor_scan_data:()=>aA,educore_voice_sensor:()=>$S,number1:()=>yC,number2:()=>bC,number3:()=>xC,number4:()=>VC,number5:()=>BC,number6:()=>GC,number7:()=>UC,onboard_RTC_get_time:()=>QC,onboard_RTC_get_time_str:()=>eS,onboard_RTC_get_timestamp:()=>zC,onboard_RTC_get_timetuple_to_str:()=>iS,onboard_RTC_set_datetime:()=>ZC,onboard_RTC_settime_string:()=>$C,onboard_RTC_timestamp_totuple:()=>jC,rfid_readcontent:()=>uS,rfid_readid:()=>aS,rfid_status:()=>dS,rfid_write:()=>rS,rfid_write_return:()=>lS,sensor_LTR308:()=>nS,sensor_aht11:()=>_S,sensor_bitbot_ALS:()=>US,sensor_button_get_presses:()=>WS,sensor_button_is_pressed:()=>kS,sensor_button_was_pressed:()=>HS,sensor_distance_hrsc04:()=>FC,sensor_eulerangles:()=>TS,sensor_field_strength:()=>zS,sensor_get_acceleration:()=>IS,sensor_get_temperature:()=>oS,sensor_get_the_coprocessor_version:()=>uA,sensor_hp203:()=>pS,sensor_light:()=>qS,sensor_mixbot_get_gyro:()=>GS,sensor_mixbot_patrol_calibrate:()=>xS,sensor_mixbot_patrol_value:()=>VS,sensor_mixbot_temperature:()=>BS,sensor_mixgo_LTR308:()=>JC,sensor_mixgo_button_attachInterrupt:()=>cC,sensor_mixgo_button_get_presses:()=>RC,sensor_mixgo_button_is_pressed:()=>EC,sensor_mixgo_button_was_pressed:()=>OC,sensor_mixgo_cc_mmc5603_calibrate_compass:()=>AS,sensor_mixgo_cc_mmc5603_get_angle:()=>SS,sensor_mixgo_cc_mmc5603_get_magnetic:()=>CS,sensor_mixgo_light:()=>XC,sensor_mixgo_nova_LTR308:()=>KC,sensor_mixgo_nova_pin_near:()=>WC,sensor_mixgo_pin_near:()=>HC,sensor_mixgo_pin_near_double:()=>kC,sensor_mixgo_pin_near_single:()=>wC,sensor_mixgo_pin_pressed:()=>LC,sensor_mixgo_sant_color:()=>qC,sensor_mixgo_touch_slide:()=>fC,sensor_mixgocar42_button_attachInterrupt:()=>AC,sensor_mixgocar42_button_get_presses:()=>SC,sensor_mixgocar42_button_is_pressed:()=>gC,sensor_mixgocar42_button_was_pressed:()=>CC,sensor_mixgocar_battery_left:()=>bS,sensor_mixgocar_pin_near:()=>XS,sensor_mixgocar_pin_near_line:()=>YS,sensor_mixgocar_pin_near_state_change:()=>yS,sensor_mixgoce_pin_pressed:()=>NC,sensor_mixgoce_temperature:()=>NS,sensor_mixgome_temperature:()=>LS,sensor_mpython_pin_pressed:()=>DC,sensor_mpython_qmi8658_get_gyro:()=>DS,sensor_mpython_qmi8658_temperature:()=>fS,sensor_onboard_compass_reset:()=>gS,sensor_onboard_mpu9250_calibrate_compass:()=>OS,sensor_onboard_mpu9250_field_strength:()=>cS,sensor_onboard_mpu9250_gesture:()=>MS,sensor_onboard_mpu9250_get_acceleration:()=>hS,sensor_onboard_mpu9250_get_gyro:()=>ES,sensor_onboard_mpu9250_get_magnetic:()=>mS,sensor_onboard_mpu9250_temperature:()=>RS,sensor_pin_near:()=>JS,sensor_pin_pressed:()=>KS,sensor_read:()=>ZS,sensor_rm_acc:()=>vS,sensor_rm_battery_left:()=>PS,sensor_rm_pin_near_double:()=>FS,sensor_rtc_init:()=>tS,sensor_sound:()=>sS,sensor_temperature:()=>jS,simulated_light_sensor:()=>rA});var H={};t.r(H),t.d(H,{serial_any:()=>RA,serial_begin:()=>AA,serial_print:()=>MA,serial_print_byte:()=>TA,serial_print_hex:()=>mA,serial_println:()=>hA,serial_read_from_ai:()=>XA,serial_readline:()=>cA,serial_readstr:()=>OA,serial_readstr_until:()=>gA,serial_receive_data_event:()=>EA,serial_send_to_ai:()=>YA,serial_softserial:()=>SA,serial_softserial_new:()=>CA,system_input:()=>LA,system_print:()=>NA,system_print_container:()=>PA,system_print_end:()=>fA,system_print_inline:()=>DA,system_print_item:()=>vA,system_print_many:()=>FA});var W={};t.r(W),t.d(W,{Panic_with_status_code:()=>VA,Timer_init:()=>$A,base_delay:()=>eL,controls_delay:()=>xA,controls_delay_new:()=>bA,controls_millis:()=>GA,controls_uname:()=>wA,raw_block:()=>UA,reset:()=>BA,set_system_timer:()=>JA,system_bitbot_shutdown:()=>jA,system_machine_reset:()=>zA,system_ticks_diff:()=>WA,system_timer:()=>HA,system_timer_init:()=>KA,system_wdt_feed:()=>QA,system_wdt_init:()=>qA,time_ticks_diff:()=>tL,timer:()=>kA,timer2:()=>ZA});var K={};t.r(K),t.d(K,{Air_daily_content:()=>ML,Air_now_content:()=>aL,Geo_moon_content:()=>mL,Geo_sun_content:()=>hL,Life_suggestion_content:()=>rL,Location_search_content:()=>dL,Tide_daily_content:()=>lL,WEATHER_DAILY:()=>sL,WEATHER_HOUR:()=>_L,WEATHER_NOW:()=>nL,Weather_alarm_content:()=>uL,Weather_daily:()=>IL,Weather_daily_content:()=>TL,Weather_now:()=>oL,Weather_now_content:()=>pL});var J={};t.r(J),t.d(J,{PIN_init:()=>ON,actuator_extern_get_led_bright:()=>BL,actuator_extern_get_led_state:()=>GL,actuator_extern_led_bright:()=>VL,actuator_extern_led_brightness:()=>UL,actuator_ms32006_dcmotor:()=>AL,actuator_ms32006_init:()=>SL,actuator_ms32006_stepper:()=>LL,actuator_neopixel_init:()=>wL,actuator_neopixel_rgb:()=>WL,actuator_neopixel_rgb_all:()=>kL,actuator_neopixel_rgb_show_all_chase:()=>KL,actuator_neopixel_rgb_show_all_rainbow:()=>JL,actuator_neopixel_write:()=>HL,actuator_use_uart_init:()=>qL,backstage_esp32_music_play_list:()=>yL,esp32_music_get_tempo_extern:()=>YL,esp32_music_pitch:()=>DL,esp32_music_pitch_init:()=>NL,esp32_music_pitch_with_time:()=>fL,esp32_music_play_list:()=>XL,esp32_music_reset_extern:()=>bL,esp32_music_set_tempo_extern:()=>vL,esp32_music_stop:()=>FL,esp32_set_music_volume:()=>PL,mixbot_actuator_extern_get_addr:()=>mN,mixbot_actuator_extern_set_addr:()=>EN,mixbot_addr_extern:()=>sN,parrot_PIN_init:()=>CN,parrot_move_speed:()=>SN,pin_led_bright:()=>RN,player_play_music:()=>ZL,player_set_mode:()=>$L,player_set_play:()=>zL,player_set_volume:()=>jL,player_whether_stop:()=>QL,robot_led_extern:()=>aN,robot_led_extern_get_value:()=>uN,robot_motor_extern:()=>_N,robot_motor_extern_get_speed:()=>oN,robot_servo_extern_absolute_run:()=>IN,robot_servo_extern_get_status:()=>rN,robot_servo_extern_relative_continue:()=>hN,robot_servo_extern_relative_origin:()=>TN,robot_servo_extern_relative_run:()=>MN,robot_servo_extern_stop:()=>dN,robot_servo_extern_stop_mode:()=>lN,robot_traffic_light_extern:()=>pN,servo_PIN_init:()=>cN,servo_get_angle:()=>gL,servo_get_speed:()=>CL,servo_init:()=>EL,servo_move:()=>xL,servo_move_angle:()=>gN,servo_set_angle:()=>RL,servo_set_speed:()=>cL,servo_speed_360:()=>OL,syn6288_builtin_voice:()=>iN,syn6288_get_voice:()=>eN,syn6288_set_voice:()=>tN,syn6288_tts_play:()=>nN});var q={};t.r(q),t.d(q,{actuator_dc_motor:()=>ZN,actuator_dc_motor_stop:()=>tD,actuator_get_led_bright:()=>bN,actuator_get_led_state:()=>xN,actuator_led_bright:()=>yN,actuator_led_brightness:()=>VN,actuator_mixbot_buzzer_on_off:()=>_D,actuator_mixgo_nova_mic_get:()=>rD,actuator_mixgo_nova_mic_set:()=>uD,actuator_mixgo_nova_onboard_music_pitch:()=>hD,actuator_mixgo_nova_onboard_music_stop:()=>mD,actuator_mixgo_nova_play_audio:()=>TD,actuator_mixgo_nova_play_online_audio:()=>MD,actuator_mixgo_nova_record_audio:()=>ID,actuator_mixgo_nova_voice_get:()=>dD,actuator_mixgo_nova_voice_set:()=>lD,actuator_mixgo_zero_led_color:()=>BN,actuator_onboard_neopixel_rgb:()=>KN,actuator_onboard_neopixel_rgb_all:()=>JN,actuator_onboard_neopixel_rgb_show_all_chase:()=>qN,actuator_onboard_neopixel_rgb_show_all_rainbow:()=>QN,actuator_onboard_neopixel_write:()=>WN,actuator_stepper_keep:()=>jN,actuator_stepper_stop:()=>$N,analog_ble_keyboard_init:()=>fD,analog_ble_keyboard_input:()=>vD,analog_ble_keyboard_mouse_init:()=>GD,analog_ble_keyboard_mouse_input:()=>HD,analog_ble_keyboard_mouse_send_battery:()=>kD,analog_ble_keyboard_mouse_str:()=>WD,analog_ble_keyboard_send_battery:()=>XD,analog_ble_keyboard_str:()=>YD,analog_ble_mouse_init:()=>yD,analog_ble_mouse_input:()=>VD,analog_ble_mouse_keyboard_input:()=>KD,analog_ble_mouse_send_battery:()=>BD,analog_keyboard_input:()=>gD,analog_keyboard_str:()=>ND,analog_mouse_input:()=>AD,backstage_onboard_music_play_list:()=>PN,bitbot_motor:()=>aD,bitbot_move:()=>oD,bitbot_stop:()=>pD,ble_keyboard_connect:()=>PD,ble_keyboard_get_mac:()=>FD,ble_keyboard_mouse_connect:()=>wD,ble_keyboard_mouse_get_mac:()=>UD,ble_mouse_connect:()=>xD,ble_mouse_get_mac:()=>bD,cc_number:()=>GN,educore_ble_keyboard_input:()=>nf,educore_ble_sensor_connected:()=>ef,educore_ble_sensor_init:()=>tf,educore_buzzer:()=>JD,educore_buzzer_play_tone:()=>qD,educore_buzzer_play_tone_time:()=>QD,educore_buzzer_stop:()=>zD,educore_neopixel_clear:()=>ZD,educore_neopixel_rgb:()=>$D,educore_rgb_light:()=>jD,esp32_music_get_tempo:()=>LN,esp32_music_reset:()=>vN,esp32_music_set_tempo:()=>AN,esp32_onboard_music_pitch:()=>NN,esp32_onboard_music_pitch_with_time:()=>DN,esp32_onboard_music_play_list:()=>FN,esp32_onboard_music_stop:()=>fN,general_key:()=>SD,general_key_tuple:()=>DD,get_keyboard_light:()=>sf,get_power_output:()=>OD,ledswitch:()=>XN,mixbot_motor:()=>sD,mixbot_motor_status:()=>eD,mixbot_move:()=>iD,mixbot_stop:()=>nD,mouse_key:()=>LD,number:()=>YN,record_audio:()=>of,rm_actuator_get_led_bright:()=>wN,rm_actuator_get_led_state:()=>kN,rm_actuator_led_bright:()=>UN,rm_actuator_led_brightness:()=>HN,rm_motor:()=>zN,set_all_power_output:()=>RD,set_microphone_amplification:()=>_f,set_music_volume:()=>pf,set_part_power_output:()=>cD,set_power_output:()=>ED,special_key:()=>CD});var Q={};t.r(Q),t.d(Q,{ai_sensor_20object:()=>Gf,ai_sensor_ailocal_class:()=>ff,ai_sensor_ailocal_class_result:()=>Ff,ai_sensor_ailocal_train:()=>Df,ai_sensor_asr_recognize:()=>yf,ai_sensor_audio_play:()=>vf,ai_sensor_audio_record:()=>Pf,ai_sensor_barcode:()=>Tf,ai_sensor_circle:()=>Rf,ai_sensor_classifier_faces:()=>Bf,ai_sensor_color:()=>Sf,ai_sensor_color_chases:()=>Nf,ai_sensor_color_chases_result:()=>Lf,ai_sensor_config:()=>rf,ai_sensor_face:()=>Vf,ai_sensor_find_20objects:()=>Uf,ai_sensor_find_barcodes:()=>Mf,ai_sensor_find_circles:()=>cf,ai_sensor_find_colors:()=>Af,ai_sensor_find_licenseplates:()=>xf,ai_sensor_find_lines:()=>Of,ai_sensor_find_qrcodes:()=>If,ai_sensor_find_rects:()=>Cf,ai_sensor_find_tags:()=>mf,ai_sensor_licenseplate:()=>bf,ai_sensor_line:()=>Ef,ai_sensor_qrcode:()=>df,ai_sensor_qrcode_lite:()=>uf,ai_sensor_rect:()=>gf,ai_sensor_rgb:()=>lf,ai_sensor_tag:()=>hf,ai_sensor_use_uart_init:()=>af,ai_sensor_yolo_recognize:()=>Yf,ai_sensor_yolo_recognize_result:()=>Xf});var z={};t.r(z),t.d(z,{MICROPYTHON_AI_Speech_asr:()=>Hf,MICROPYTHON_AI_Speech_unit:()=>kf,MICROPYTHON_AI_client:()=>wf});var j={};t.r(j),t.d(j,{mpython_blynk_app_data:()=>iF,mpython_blynk_app_notify:()=>jf,mpython_blynk_email:()=>nF,mpython_blynk_get_timers:()=>Zf,mpython_blynk_on_connected:()=>qf,mpython_blynk_on_disconnected:()=>Jf,mpython_blynk_run:()=>zf,mpython_blynk_sensor_data_to_app:()=>eF,mpython_blynk_set_property:()=>sF,mpython_blynk_setup:()=>_F,mpython_blynk_stop_timers:()=>$f,mpython_blynk_sync_virtual:()=>Kf,mpython_blynk_terminal_widget_vpin:()=>Wf,mpython_blynktimer:()=>tF,mpython_blynktimer_run:()=>Qf});var $={};t.r($),t.d($,{cc_g1_read_bat:()=>oF,cc_g1_read_joystick:()=>pF,cc_g1_read_key:()=>aF,cc_g1_turnoff:()=>uF});var Z={};t.r(Z),t.d(Z,{ce_go_dc_motor:()=>mF,ce_go_get_led_bright:()=>dF,ce_go_get_led_state:()=>IF,ce_go_hall_attachInterrupt:()=>EF,ce_go_hall_data:()=>RF,ce_go_hall_initialize:()=>OF,ce_go_led_bright:()=>lF,ce_go_led_brightness:()=>TF,ce_go_light_number:()=>rF,ce_go_pin_light:()=>AF,ce_go_pin_near:()=>gF,ce_go_pin_near_line:()=>cF,ce_go_pin_near_state_change:()=>CF,ce_go_stepper_keep:()=>MF,ce_go_stepper_stop:()=>hF,educore_car:()=>LF,educore_car_pin_near:()=>FF,educore_car_pin_near_line:()=>fF,educore_car_stepper_keep:()=>NF,educore_car_stepper_stop:()=>DF,sensor_mixgome_eulerangles:()=>SF});var tt={};t.r(tt),t.d(tt,{communicate_bluetooth_central_init:()=>lP,communicate_bluetooth_connect:()=>TP,communicate_bluetooth_disconnect:()=>MP,communicate_bluetooth_handle:()=>cP,communicate_bluetooth_is_connected:()=>mP,communicate_bluetooth_mac:()=>hP,communicate_bluetooth_peripheral_init:()=>dP,communicate_bluetooth_recv:()=>RP,communicate_bluetooth_recv_only:()=>OP,communicate_bluetooth_scan:()=>IP,communicate_bluetooth_send:()=>EP,communicate_espnow_init:()=>gP,communicate_espnow_init_new:()=>CP,communicate_i2c_available:()=>VF,communicate_i2c_init:()=>YF,communicate_i2c_master_read:()=>xF,communicate_i2c_onboard:()=>PF,communicate_i2c_read:()=>XF,communicate_i2c_scan:()=>bF,communicate_i2c_write:()=>yF,communicate_ir_recv_init:()=>eP,communicate_ir_send_init:()=>oP,communicate_ow_init:()=>QF,communicate_ow_read:()=>$F,communicate_ow_reset:()=>jF,communicate_ow_scan:()=>zF,communicate_ow_select:()=>tP,communicate_ow_write:()=>ZF,communicate_spi_buffer:()=>wF,communicate_spi_init:()=>GF,communicate_spi_onboard:()=>vF,communicate_spi_read:()=>kF,communicate_spi_read_output:()=>HF,communicate_spi_readinto:()=>WF,communicate_spi_readinto_output:()=>KF,communicate_spi_set:()=>UF,communicate_spi_write:()=>JF,communicate_spi_write_readinto:()=>qF,espnow_radio_channel:()=>fP,espnow_radio_channel_new:()=>PP,espnow_radio_on_off:()=>vP,espnow_radio_rec:()=>XP,espnow_radio_recv:()=>bP,espnow_radio_recv_certain_msg:()=>xP,espnow_radio_recv_certain_msg_new:()=>BP,espnow_radio_recv_msg:()=>yP,espnow_radio_recv_new:()=>VP,espnow_radio_send:()=>YP,espnow_radio_txpower:()=>FP,i2c_slave_onreceive:()=>BF,internal_variable:()=>iP,ir_recv_timeout:()=>_P,ir_transmit_busy:()=>rP,ir_transmit_conventional_data:()=>pP,ir_transmit_raw_code:()=>uP,ir_transmit_study_code:()=>aP,ir_whether_recv:()=>sP,lora_init:()=>GP,lora_packet:()=>UP,lora_recv:()=>kP,lora_send:()=>wP,network_espnow_info:()=>AP,network_espnow_mac:()=>SP,network_espnow_recv:()=>LP,network_espnow_recv_handle:()=>DP,network_espnow_send:()=>NP,recv_fun:()=>nP,urequests_attribute:()=>WP,urequests_get:()=>HP,urequests_method:()=>KP});var et={};t.r(et),t.d(et,{display_animate:()=>mv,display_circle:()=>Ev,display_color_seclet:()=>fv,display_draw_4strings:()=>rv,display_fill:()=>hv,display_lcd_use_i2c_init:()=>yv,display_line:()=>Iv,display_line_arbitrarily:()=>lv,display_matrix_extern_bright_point:()=>nv,display_matrix_extern_bright_screen:()=>_v,display_matrix_extern_clear:()=>tv,display_matrix_extern_get_pixel:()=>iv,display_matrix_extern_get_screen_pixel:()=>sv,display_matrix_extern_image_builtins:()=>ov,display_matrix_extern_scroll_string:()=>$P,display_matrix_extern_scroll_string_delay:()=>ZP,display_matrix_extern_shift:()=>ev,display_matrix_extern_show_frame_string:()=>zP,display_matrix_extern_show_frame_string_delay:()=>jP,display_matrix_extern_show_image:()=>qP,display_matrix_extern_show_image_or_string_delay:()=>QP,display_matrix_use_i2c_init:()=>JP,display_oled_drawPixel:()=>cv,display_oled_showBitmap:()=>Rv,display_oled_use_i2c_init:()=>Gv,display_onoff:()=>Tv,display_rect:()=>dv,display_tm1650_power:()=>Cv,display_tm1650_set_brightness:()=>Lv,display_tm1650_show_dot:()=>Av,display_tm1650_show_num:()=>Sv,display_tm_use_i2c_init:()=>gv,display_triangle:()=>Ov,display_use_i2c_init:()=>uv,extern_oled_bright_point:()=>$v,extern_oled_clear:()=>Qv,extern_oled_get_pixel:()=>jv,extern_oled_hvline:()=>tY,extern_oled_line:()=>eY,extern_oled_scroll_string:()=>Jv,extern_oled_scroll_string_delay:()=>qv,extern_oled_shape_rect:()=>Zv,extern_oled_shift:()=>zv,extern_oled_show_frame_string:()=>Wv,extern_oled_show_frame_string_delay:()=>Kv,extern_oled_show_image:()=>Uv,extern_oled_show_image_or_string_delay:()=>Hv,extern_oled_show_image_xy:()=>wv,extern_oled_show_string:()=>kv,image_shift:()=>Mv,lcd_backlight:()=>Vv,lcd_clear:()=>Bv,lcd_print_string:()=>xv,lcd_show_image_or_string_delay:()=>bv,matrix_extern_image_arithmetic:()=>pv,matrix_extern_image_invert:()=>av,tft_fill:()=>Yv,tft_line_arbitrarily:()=>Xv,tft_scroll_string_delay:()=>vv,tft_show_frame_string_delay:()=>Pv,tft_show_image_or_string_delay:()=>Fv,tft_show_image_xy:()=>Dv,tft_use_spi_init:()=>Nv});var it={};t.r(it),t.d(it,{bitbot_display_bitmap_create:()=>qY,bitbot_display_image_create:()=>JY,display_available:()=>MY,display_bitmap_create:()=>IY,display_bright_point:()=>RY,display_bright_screen:()=>gY,display_clear:()=>TY,display_get_pixel:()=>OY,display_get_screen_pixel:()=>cY,display_image_builtins:()=>rY,display_image_builtins_all:()=>lY,display_image_create:()=>dY,display_scroll_string:()=>oY,display_scroll_string_delay:()=>pY,display_scroll_way:()=>aY,display_shift:()=>EY,display_show_frame_string:()=>sY,display_show_frame_string_delay:()=>_Y,display_show_image:()=>iY,display_show_image_or_string_delay:()=>nY,draw_pointer:()=>lX,image_arithmetic:()=>hY,image_invert:()=>mY,mixbot_display_bitmap_create:()=>wY,mixbot_display_bright_screen:()=>WY,mixbot_display_get_ambientbright:()=>HY,mixbot_display_get_screen_pixel:()=>kY,mixbot_display_image_create:()=>UY,mixbot_display_rotate:()=>KY,mixgo_display_bitmap_create:()=>fY,mixgo_display_image_create_new:()=>DY,mixgome_display_bitmap_create:()=>SY,mixgome_display_font:()=>NY,mixgome_display_image_create:()=>CY,mixgomini_display_bitmap_create:()=>LY,mixgomini_display_image_create:()=>AY,mpython_display_hvline:()=>BY,mpython_display_line:()=>GY,mpython_display_shape_rect:()=>VY,mpython_pbm_image:()=>FY,nova_draw_pointer:()=>dX,onboard_oled_bright_point:()=>xY,onboard_oled_scroll_string_delay:()=>bY,onboard_oled_show_frame_string_delay:()=>yY,onboard_oled_show_image:()=>PY,onboard_oled_show_image_or_string_delay:()=>XY,onboard_oled_show_image_xy:()=>vY,onboard_oled_show_string:()=>YY,onboard_tft_bright_point:()=>nX,onboard_tft_bright_screen:()=>RX,onboard_tft_clear:()=>cX,onboard_tft_clock_clear:()=>uX,onboard_tft_clock_draw:()=>aX,onboard_tft_clock_get_rtctime:()=>oX,onboard_tft_clock_init:()=>_X,onboard_tft_clock_set_time:()=>pX,onboard_tft_display_hvline:()=>tX,onboard_tft_display_line:()=>eX,onboard_tft_display_shape_circle:()=>rX,onboard_tft_display_shape_rect:()=>ZY,onboard_tft_fill:()=>sX,onboard_tft_get_pixel:()=>iX,onboard_tft_get_screen_pixel:()=>OX,onboard_tft_scroll_string_delay:()=>uY,onboard_tft_shift:()=>EX,onboard_tft_show_frame_string:()=>mX,onboard_tft_show_frame_string_delay:()=>$Y,onboard_tft_show_image:()=>hX,onboard_tft_show_image_or_string_delay:()=>jY,onboard_tft_show_image_xy:()=>QY,onboard_tft_show_image_xy_direct:()=>zY,onboard_tft_show_qrcode:()=>TX,onboard_tft_show_qrcode_details:()=>MX,onboard_tft_show_texts:()=>IX});var nt={};t.r(nt),t.d(nt,{factory_block:()=>fX,factory_block_return:()=>FX,factory_block_return_with_textarea:()=>vX,factory_block_with_textarea:()=>PX,factory_callMethod_noreturn:()=>NX,factory_callMethod_return:()=>DX,factory_declare:()=>LX,factory_from_import:()=>gX,factory_function_noreturn:()=>SX,factory_function_return:()=>AX,factory_import:()=>CX,folding_block:()=>YX});var st={};t.r(st),t.d(st,{inout_analog_atten:()=>qX,inout_analog_read:()=>UX,inout_analog_read_init:()=>JX,inout_analog_write:()=>VX,inout_analog_write_init:()=>KX,inout_analog_write_set:()=>BX,inout_digital_init:()=>HX,inout_digital_read:()=>bX,inout_digital_write:()=>yX,inout_highlow:()=>XX,inout_pin_attachInterrupt:()=>kX,inout_pin_pressed:()=>wX,inout_pin_pressed_init:()=>QX,inout_pwm_analog_write:()=>xX,inout_pwm_analog_write_init:()=>WX,inout_pwm_analog_write_set_freq:()=>GX});var _t={};t.r(_t),t.d(_t,{IOT_CONNECT_OLLAMA:()=>Sy,IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>My,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>Iy,IOT_EMQX_PING:()=>hy,IOT_FORMATTING:()=>ly,IOT_FORMAT_STRING:()=>dy,IOT_MIXIO_NTP:()=>my,IOT_MIXIO_PUBLISH:()=>ny,IOT_MIXIO_PUBLISHEX:()=>sy,IOT_MIXIO_SUBSCRIBE:()=>_y,iot_client_onboard:()=>Ey,iot_connect_ollama:()=>Cy,iot_connect_openai:()=>Ay,iot_http_client:()=>Oy,iot_http_data:()=>Ry,iot_mixio_check:()=>ay,iot_mixio_connect:()=>iy,iot_mixio_connect_only:()=>py,iot_mixio_disconnect:()=>oy,iot_mixio_format_msg:()=>ry,iot_mixio_format_topic:()=>uy,iot_mixly_key:()=>Ty,iot_mqtt_client:()=>cy,iot_mqtt_data:()=>gy,iot_onenet_check:()=>ty,iot_onenet_connect:()=>jX,iot_onenet_disconnect:()=>$X,iot_onenet_publish:()=>ey,iot_onenet_publish_dict:()=>ZX,iot_tiny_web_db_count:()=>Yy,iot_tiny_web_db_delete:()=>yy,iot_tiny_web_db_get:()=>vy,iot_tiny_web_db_init:()=>fy,iot_tiny_web_db_init_with_mqtt:()=>Fy,iot_tiny_web_db_search:()=>Xy,iot_tiny_web_db_update:()=>Py,iot_wifi_connect:()=>zX,ollama_empty_history:()=>Dy,use_ollama_llm_to_chat:()=>Ly,use_ollama_llm_to_chat_return:()=>Ny});var ot={};t.r(ot),t.d(ot,{educore_mqtt_connect:()=>Ib,educore_mqtt_connect_success:()=>mb,educore_mqtt_subscribe_message:()=>Tb,educore_mqtt_topic_publish:()=>hb,educore_mqtt_topic_subscribe:()=>Mb,educore_wifi_connect:()=>db,network_ap_connect:()=>Hy,network_connect:()=>xy,network_get_connect:()=>By,network_get_wifi:()=>ky,network_init:()=>by,network_is_active:()=>wy,network_open:()=>Uy,network_scan:()=>Wy,network_server:()=>Ky,network_socket_accept:()=>jy,network_socket_bind:()=>qy,network_socket_close:()=>nb,network_socket_connect:()=>Qy,network_socket_init:()=>Jy,network_socket_listen:()=>zy,network_socket_readline:()=>$y,network_socket_receive:()=>Zy,network_socket_receive_from:()=>eb,network_socket_send:()=>tb,network_socket_send_to:()=>ib,network_stop:()=>Gy,network_wifi_connect:()=>Vy,ntptime_address:()=>ab,ntptime_time:()=>pb,requests_attribute:()=>_b,requests_attribute2:()=>rb,requests_get:()=>sb,requests_get2:()=>ub,requests_method:()=>ob,requests_post:()=>lb});var pt={};t.r(pt),t.d(pt,{pe_g1_battery_left:()=>Ob,pe_g1_dc_motor:()=>Rb,pe_g1_dc_motor_speed:()=>cb,pe_g1_servo_get_angle:()=>Sb,pe_g1_servo_get_speed:()=>Ab,pe_g1_servo_set_angle:()=>gb,pe_g1_servo_set_speed:()=>Cb,pe_g1_use_i2c_init:()=>Eb});var at={};t.r(at),t.d(at,{CI130X_BROADCAST:()=>qb,CI130X_GET_THE_RECOGNIZED_CMD:()=>Jb,CI130X_GET_WHETHER_IDENTIFY:()=>Kb,CI130X_IDENTIFY_AND_SAVE:()=>Wb,CI130X_SET_SYSTEM_CMD:()=>Qb,HCSR04:()=>Nx,PS2_Button:()=>Fx,PS2_Buttons:()=>Px,PS2_Buttons_new:()=>Bx,PS2_State:()=>vx,PS2_init:()=>Dx,PS2_init_new:()=>xx,PS2_stk:()=>Yx,PS2_stk_new:()=>Gx,PS2_vibration:()=>fx,PS2_vibration_new:()=>Vx,RTC_get_time:()=>yx,RTC_set_date:()=>Yb,RTC_set_datetime:()=>Xx,RTC_set_time:()=>vb,camera_sensor_init:()=>mV,camera_sensor_result:()=>EV,column_tube_foot:()=>gV,define_keyboards:()=>CV,educore_body_sensor:()=>pV,educore_button_sensor_extern:()=>lV,educore_camera_sensor:()=>hV,educore_infrared_sensor:()=>rV,educore_soilhum_sensor:()=>aV,educore_temp_sensor:()=>MV,educore_temphum_sensor:()=>uV,educore_ultrasonic_sensor:()=>IV,esp32_s2_weather_init:()=>Cx,esp32_s2_weather_rain:()=>Ax,esp32_s2_weather_wd:()=>Sx,esp32_s2_weather_ws:()=>Lx,extern_rfid_read:()=>lx,extern_rfid_readcontent:()=>Ix,extern_rfid_readid:()=>dx,extern_rfid_status:()=>hx,extern_rfid_write:()=>Tx,extern_rfid_write_return:()=>Mx,get_keboards_value:()=>AV,gnss_get_data:()=>kx,gnss_have_data:()=>Hx,init_init_rotary_encoder:()=>LV,init_matrix_keyboard:()=>SV,interaction_whether_to_interaction:()=>kb,interaction_whether_to_interaction_SANT:()=>Hb,line_tube_foot:()=>cV,mixbot_sensor_extern_get_addr:()=>tV,mixbot_sensor_extern_set_addr:()=>eV,pm25_get_data:()=>wx,radar_set_DETECTION_THRESHOLD:()=>Ub,radar_set_DETECTION_THRESHOLD_SANT:()=>wb,robot_button_extern_get_value:()=>Kx,robot_color_extern_get_value:()=>jx,robot_infrared_extern_get_value:()=>qx,robot_infrared_extern_grey_get_value:()=>Qx,robot_potentiometer_extern_get_value:()=>zx,robot_sonar_extern_get_value:()=>$x,robot_sonar_extern_led:()=>Zx,robot_touch_extern_get_value:()=>Jx,rotary_key:()=>NV,sensor_APDS9960_extern:()=>jb,sensor_DS18X20:()=>oV,sensor_LTR308_extern:()=>$b,sensor_LTR390UV_extern:()=>_x,sensor_MAX30102_extern:()=>zb,sensor_QMC5883L_extern:()=>ox,sensor_VL530LX_extern:()=>ux,sensor_aht11_extern:()=>ax,sensor_bmp:()=>Vb,sensor_dht11:()=>bx,sensor_distance_hrsc04:()=>Pb,sensor_hp203_extern:()=>Zb,sensor_ltr381_extern:()=>nx,sensor_mixgo_extern_button_attachInterrupt:()=>fb,sensor_mixgo_extern_button_get_presses:()=>Db,sensor_mixgo_extern_button_is_pressed:()=>Lb,sensor_mixgo_extern_button_was_pressed:()=>Nb,sensor_mixgo_extern_light:()=>Xb,sensor_mixgo_extern_pin_near:()=>bb,sensor_mixgo_extern_sound:()=>yb,sensor_mixgoce_hot_wheel_degrees:()=>gx,sensor_mixgoce_hot_wheel_is_touched:()=>cx,sensor_mpu9250_attachGestureInterrupt:()=>Fb,sensor_ms5611_extern:()=>ex,sensor_ms5611_extern_altitude:()=>ix,sensor_read_humiture:()=>dV,sensor_rtc_init:()=>xb,sensor_sht:()=>Bb,sensor_shtc3_extern:()=>px,sensor_spl06_001_extern:()=>tx,sensor_ucs12071_extern:()=>sx,sensor_use_i2c_init:()=>Gb,sensor_use_spi_init:()=>rx,sensor_use_uart_init:()=>Ux,sensor_weather_solo_init:()=>iV,sensor_weather_solo_rain:()=>_V,sensor_weather_solo_wd:()=>nV,sensor_weather_solo_ws:()=>sV,sensor_weigh_init:()=>OV,tvoc_get_data:()=>Wx,ultrasonic_sensor_read_distance:()=>TV,weather_data:()=>mx,weather_have_data:()=>Ex,weather_set_label:()=>Rx,weather_uart_mixio:()=>Ox,weigh_sensor_get_weight:()=>RV});var ut={};t.r(ut),t.d(ut,{HCSR04:()=>bV,bitbot_als_num:()=>sG,dht11:()=>dG,educore_button_sensor:()=>OG,educore_button_was_pressed:()=>RG,educore_gyroscope_sensor:()=>hG,educore_gyroscope_sensor_read:()=>mG,educore_gyroscope_sensor_shake:()=>EG,educore_light_sensor:()=>MG,educore_rfid_sensor:()=>cG,educore_rfid_sensor_scan:()=>gG,educore_rfid_sensor_scan_data:()=>CG,educore_voice_sensor:()=>IG,number1:()=>xV,number2:()=>VV,number3:()=>BV,number4:()=>GV,number5:()=>UV,number6:()=>wV,number7:()=>kV,onboard_RTC_get_time:()=>XB,onboard_RTC_get_time_str:()=>xB,onboard_RTC_get_timestamp:()=>yB,onboard_RTC_get_timetuple_to_str:()=>VB,onboard_RTC_set_datetime:()=>vB,onboard_RTC_settime_string:()=>YB,onboard_RTC_timestamp_totuple:()=>bB,rfid_readcontent:()=>_B,rfid_readid:()=>sB,rfid_status:()=>aB,rfid_write:()=>oB,rfid_write_return:()=>pB,sensor_LTR308:()=>ZV,sensor_adxl345_get_acceleration:()=>mB,sensor_aht11:()=>iB,sensor_bitbot_ALS:()=>nG,sensor_button_get_presses:()=>pG,sensor_button_is_pressed:()=>_G,sensor_button_was_pressed:()=>oG,sensor_compass_reset:()=>CB,sensor_ds18x20:()=>jV,sensor_eulerangles:()=>rB,sensor_get_acceleration:()=>uB,sensor_get_temperature:()=>nB,sensor_get_the_coprocessor_version:()=>SG,sensor_hp203:()=>eB,sensor_light:()=>lG,sensor_lm35:()=>$V,sensor_mixbot_get_gyro:()=>iG,sensor_mixbot_patrol_calibrate:()=>ZB,sensor_mixbot_patrol_value:()=>tG,sensor_mixbot_temperature:()=>eG,sensor_mixgo_LTR308:()=>qV,sensor_mixgo_button_attachInterrupt:()=>PV,sensor_mixgo_button_get_presses:()=>FV,sensor_mixgo_button_is_pressed:()=>DV,sensor_mixgo_button_was_pressed:()=>fV,sensor_mixgo_cc_mmc5603_calibrate_compass:()=>UB,sensor_mixgo_cc_mmc5603_get_angle:()=>GB,sensor_mixgo_cc_mmc5603_get_magnetic:()=>BB,sensor_mixgo_light:()=>rG,sensor_mixgo_nova_LTR308:()=>zV,sensor_mixgo_nova_pin_near:()=>JV,sensor_mixgo_pin_near:()=>KV,sensor_mixgo_pin_near_double:()=>WV,sensor_mixgo_pin_near_single:()=>HV,sensor_mixgo_pin_pressed:()=>MB,sensor_mixgo_sant_color:()=>QV,sensor_mixgo_touch_slide:()=>TB,sensor_mixgocar42_button_attachInterrupt:()=>yV,sensor_mixgocar42_button_get_presses:()=>XV,sensor_mixgocar42_button_is_pressed:()=>vV,sensor_mixgocar42_button_was_pressed:()=>YV,sensor_mixgocar_battery_left:()=>$B,sensor_mixgocar_pin_near:()=>zB,sensor_mixgocar_pin_near_line:()=>QB,sensor_mixgocar_pin_near_state_change:()=>jB,sensor_mixgoce_pin_pressed:()=>IB,sensor_mixgoce_temperature:()=>kB,sensor_mixgome_temperature:()=>wB,sensor_mpu9250_calibrate_compass:()=>RB,sensor_mpu9250_field_strength:()=>gB,sensor_mpu9250_gesture:()=>lB,sensor_mpu9250_get_acceleration:()=>dB,sensor_mpu9250_get_gyro:()=>OB,sensor_mpu9250_get_magnetic:()=>EB,sensor_mpu9250_temperature:()=>cB,sensor_mpython_pin_pressed:()=>hB,sensor_mpython_qmi8658_get_gyro:()=>HB,sensor_mpython_qmi8658_temperature:()=>WB,sensor_onboard_compass_reset:()=>PB,sensor_onboard_mpu9250_calibrate_compass:()=>DB,sensor_onboard_mpu9250_field_strength:()=>FB,sensor_onboard_mpu9250_gesture:()=>SB,sensor_onboard_mpu9250_get_acceleration:()=>AB,sensor_onboard_mpu9250_get_gyro:()=>NB,sensor_onboard_mpu9250_get_magnetic:()=>LB,sensor_onboard_mpu9250_temperature:()=>fB,sensor_pin_near:()=>uG,sensor_pin_pressed:()=>aG,sensor_read:()=>TG,sensor_rm_acc:()=>qB,sensor_rm_battery_left:()=>JB,sensor_rm_pin_near_double:()=>KB,sensor_sound:()=>tB,simulated_light_sensor:()=>AG});var rt={};t.r(rt),t.d(rt,{serial_any:()=>FG,serial_print:()=>LG,serial_print_byte:()=>NG,serial_print_hex:()=>fG,serial_println:()=>DG,serial_read_from_ai:()=>UG,serial_readline:()=>vG,serial_readstr:()=>PG,serial_send_to_ai:()=>GG,serial_softserial:()=>YG,serial_softserial_new:()=>XG,system_input:()=>yG,system_print:()=>bG,system_print_end:()=>VG,system_print_inline:()=>xG,system_print_many:()=>BG});var lt={};t.r(lt),t.d(lt,{Panic_with_status_code:()=>ZG,Timer_init:()=>MU,base_delay:()=>EU,controls_delay:()=>sU,controls_delay_new:()=>_U,controls_end_program:()=>eU,controls_millis:()=>tU,controls_uname:()=>nU,reset:()=>iU,set_system_timer:()=>pU,system_bitbot_shutdown:()=>TU,system_device_name:()=>jG,system_device_serial_number:()=>$G,system_event_bus_source:()=>QG,system_event_bus_value:()=>zG,system_machine_reset:()=>IU,system_on_event:()=>KG,system_raise_event:()=>WG,system_reset:()=>kG,system_run_in_background:()=>wG,system_ticks_diff:()=>aU,system_timer:()=>rU,system_timer_init:()=>uU,system_timestamp:()=>JG,system_value:()=>qG,system_wait:()=>HG,system_wdt_feed:()=>dU,system_wdt_init:()=>lU,time_ticks_diff:()=>mU,timer:()=>oU,timer2:()=>hU});var dt={};t.r(dt),t.d(dt,{Air_daily_content:()=>PU,Air_now_content:()=>SU,Geo_moon_content:()=>YU,Geo_sun_content:()=>vU,Life_suggestion_content:()=>LU,Location_search_content:()=>DU,Tide_daily_content:()=>NU,WEATHER_DAILY:()=>RU,WEATHER_HOUR:()=>cU,WEATHER_NOW:()=>OU,Weather_alarm_content:()=>AU,Weather_daily:()=>fU,Weather_daily_content:()=>FU,Weather_now:()=>gU,Weather_now_content:()=>CU});var It={};t.r(It),t.d(It,{MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED:()=>bU});var Tt={};t.r(Tt),t.d(Tt,{MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED:()=>VU});var Mt={};t.r(Mt),t.d(Mt,{MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED:()=>GU});var ht={};t.r(ht),t.d(ht,{controls_pin_attachInterrupt:()=>ow,inout_analog_atten:()=>zU,inout_analog_write:()=>qU,inout_analog_write_init:()=>tw,inout_analog_write_set:()=>QU,inout_analog_write_set_freq:()=>iw,inout_digital_init:()=>ZU,inout_digital_read:()=>JU,inout_digital_write:()=>KU,inout_highlow:()=>WU,inout_pinMode:()=>nw,inout_pin_attachInterrupt:()=>$U,inout_pin_pressed:()=>jU,inout_pin_pressed_init:()=>ew,pin_pressed:()=>_w,pin_pressed_init:()=>sw});var mt={};t.r(mt),t.d(mt,{analog_input:()=>Mw,analog_output:()=>mw,espnow_channel:()=>dw,haskylens_model:()=>Iw,i2c_A_pin:()=>Ew,i2c_B_pin:()=>Ow,pins_analog:()=>Sw,pins_analog_pin:()=>Aw,pins_axis:()=>ww,pins_brightness:()=>kw,pins_builtinimg:()=>yw,pins_builtinimg_extern:()=>bw,pins_button:()=>Dw,pins_buttonB:()=>fw,pins_dac:()=>Lw,pins_dac_pin:()=>Nw,pins_digital:()=>aw,pins_digital_dot:()=>jw,pins_digital_pin:()=>uw,pins_exlcdh:()=>Gw,pins_exlcdv:()=>Uw,pins_imglist:()=>xw,pins_input_pin:()=>rw,pins_one_more:()=>zw,pins_output_pin:()=>lw,pins_playlist:()=>Vw,pins_playlist_extern:()=>Bw,pins_pwm:()=>Fw,pins_pwm_pin:()=>Pw,pins_radio_datarate:()=>Qw,pins_radio_power:()=>qw,pins_serial:()=>Xw,pins_tone_notes:()=>Jw,pins_touch:()=>Yw,pins_touch_pin:()=>vw,pins_tts_bgmusic:()=>Kw,pins_tts_builtin_music:()=>Ww,pins_tts_voice:()=>Hw,pwm_input:()=>Tw,pwm_output:()=>hw,spi_A_pin:()=>Rw,spi_B_pin:()=>cw,spi_C_pin:()=>gw,spi_D_pin:()=>Cw,timer_id_pin:()=>$w});var Et={};t.r(Et),t.d(Et,{inout_analog_atten:()=>ak,inout_analog_write:()=>ik,inout_analog_write_init:()=>pk,inout_analog_write_set:()=>nk,inout_digital_init:()=>ok,inout_digital_read:()=>ek,inout_digital_write:()=>tk,inout_highlow:()=>Zw,inout_pin_attachInterrupt:()=>_k,inout_pin_pressed:()=>sk,inout_pin_pressed_init:()=>uk});var Ot={};t.r(Ot),t.d(Ot,{analog_input:()=>Ok,analog_output:()=>ck,espnow_channel:()=>mk,haskylens_model:()=>Ek,i2c_A_pin:()=>gk,i2c_B_pin:()=>Ck,pins_analog:()=>fk,pins_analog_pin:()=>Dk,pins_axis:()=>kk,pins_brightness:()=>Kk,pins_builtinimg:()=>Vk,pins_builtinimg_extern:()=>Bk,pins_button:()=>lk,pins_buttonB:()=>dk,pins_dac:()=>Yk,pins_dac_pin:()=>vk,pins_digital:()=>rk,pins_digital_dot:()=>tH,pins_digital_pin:()=>Ik,pins_exlcdh:()=>Hk,pins_exlcdv:()=>Wk,pins_imglist:()=>Gk,pins_input_pin:()=>Tk,pins_interrupt:()=>bk,pins_one_more:()=>Zk,pins_output_pin:()=>Mk,pins_playlist:()=>Uk,pins_playlist_extern:()=>wk,pins_pwm:()=>Pk,pins_pwm_input:()=>hk,pins_pwm_pin:()=>Fk,pins_radio_datarate:()=>$k,pins_radio_power:()=>jk,pins_serial:()=>xk,pins_tone_notes:()=>zk,pins_touch:()=>yk,pins_touch_pin:()=>Xk,pins_tts_bgmusic:()=>Qk,pins_tts_builtin_music:()=>qk,pins_tts_voice:()=>Jk,pwm_output:()=>Rk,spi_A_pin:()=>Sk,spi_B_pin:()=>Ak,spi_C_pin:()=>Lk,spi_D_pin:()=>Nk,timer_id_pin:()=>eH});const Rt=Blockly,ct=Mixly,gt={NAME_TYPE:"VARIABLE",allVariables:function(t){var e;if(t.getDescendants)e=t.getDescendants();else{if(!t.getAllBlocks)throw"Not Block or Workspace: "+t;e=t.getAllBlocks()}for(var i=Object.create(null),n=0;n1&&(o+=n)):i=o}else i="i";return i}},Ct=gt; +/** + * @license + * Visual Blocks Editor + * + * Copyright 2012 Google Inc. + * https://developers.google.com/blockly/ + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +class St{constructor(t,e){if(this.variablePrefix_=e||"",this.reservedDict_=Object.create(null),t)for(var i=t.split(","),n=0;n0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(Rt.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+s).appendField(Rt.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(Rt.Msg.CONTROLS_IF_MSG_ELSE);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_if_if");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_if_elseif");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var _=t.newBlock("controls_if_else");_.initSvg(),i.connect(_.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],_=null;i;){switch(i.type){case"controls_if_elseif":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_if_else":this.elseCount_++,_=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,_)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_if_elseif":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_if_else":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),_=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(_.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(Rt.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+t).appendField(Rt.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(Rt.Msg.CONTROLS_IF_MSG_ELSE)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},kt={init:function(){this.setColour(xt),this.appendValueInput("FROM").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.PYTHON_RANGE).appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.PYTHON_RANGE_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Rt.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},Ht={init:function(){this.setColour(xt),this.appendValueInput("LIST").setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.CONTROLS_FOREACH_INPUT),this.appendValueInput("VAR").appendField(Rt.Msg.CONTROLS_FOREACH_INPUT_ITEM),this.appendStatementInput("DO").appendField(Rt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip((function(){return Rt.Msg.CONTROLS_FOR_TOOLTIP.replace("“%1”","")}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Wt={init:function(){this.setColour(xt),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(Rt.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(new Rt.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(Rt.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT+Rt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return{WHILE:Rt.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:Rt.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[e]}))}},Kt={init:function(){this.setColour(xt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PYTHON_TRY),this.appendStatementInput("try"),this.appendValueInput("IF1").appendField(Rt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO1").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Rt.icons.MutatorIcon(["controls_except","controls_finally"],this)),this.setTooltip(Rt.Msg.MIXLY_MIXPY_CONTROL_TRY_TOOLTIP),this.elseifCount_=1,this.elseCount_=0},mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var t=document.createElement("mutation");return this.elseifCount_&&t.setAttribute("elseif",this.elseifCount_),this.elseCount_&&t.setAttribute("else",1),t},domToMutation:function(t){var e=this,i=[],n=[];this.elseCount_&&this.removeInput("ELSE");for(var s=this.elseifCount_;s>0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(Rt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+s).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(Rt.Msg.MIXLY_PYTHON_FINALLY);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_try");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_except");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var _=t.newBlock("controls_finally");_.initSvg(),i.connect(_.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],_=null;i;){switch(i.type){case"controls_except":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_finally":this.elseCount_++,_=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,_)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_except":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_finally":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),_=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(_.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(Rt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+t).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(Rt.Msg.MIXLY_PYTHON_FINALLY)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},Jt={init:function(){this.setColour(xt);var t=new Rt.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(t,"FLOW").appendField(Rt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0),this.setTooltip(Rt.Msg.MIXLY_PYTHON_CONTROLS_FLOW_STATEMENTS_TOOLTIP);var e=this;this.setTooltip((function(){var t=e.getFieldValue("FLOW");return{BREAK:Rt.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:Rt.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}[t]}))},onchange:function(){if(this.workspace){var t=!1,e=this;do{if("controls_repeat"==e.type||"controls_for"==e.type||"controls_forEach"==e.type||"controls_repeat_ext"==e.type||"controls_whileUntil"==e.type||"do_while"==e.type){t=!0;break}e=e.getSurroundParent()}while(e);t?this.setWarningText(null):this.setWarningText(Rt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}},qt={init:function(){this.setColour(xt),this.appendDummyInput().appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new Rt.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(Rt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return Rt.Msg.CONTROLS_FOR_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Qt={init:function(){this.setColour(xt),this.appendDummyInput().appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new Rt.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(Rt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return Rt.Msg.MIXLY_PYTHON_CONTROLS_FOR_RANGE_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}};Wt.OPERATORS=[[Rt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[Rt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]],Jt.OPERATORS=[[Rt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[Rt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const zt={init:function(){this.setColour(xt),this.appendDummyInput().appendField(Rt.Msg.CONTROLS_IF_IF_TITLE_IF),this.appendStatementInput("STACK"),this.setTooltip(Rt.Msg.CONTROLS_IF_IF_TOOLTIP),this.contextMenu=!1}},jt={init:function(){this.setColour(xt),this.appendDummyInput().appendField(Rt.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},$t={init:function(){this.setColour(xt),this.appendDummyInput().appendField(Rt.Msg.CONTROLS_IF_ELSE_TITLE_ELSE),this.setPreviousStatement(!0),this.setTooltip(Rt.Msg.CONTROLS_IF_ELSE_TOOLTIP),this.contextMenu=!1}},Zt={init:function(){this.setColour(xt),this.appendDummyInput().appendField("try"),this.appendStatementInput("STACK"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.contextMenu=!1}},te={init:function(){this.setColour(xt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PYTHON_EXCEPT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1,this.setTooltip(Rt.Msg.MIXLY_MIXPY_CONTROL_EXCEPT_TOOLTIP)}},ee={init:function(){this.setColour(xt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PYTHON_FINALLY),this.setPreviousStatement(!0),this.contextMenu=!1,this.setTooltip(Rt.Msg.MIXLY_MIXPY_CONTROL_FINALLY_TOOLTIP)}},ie={init:function(){this.jsonInit({message0:Rt.Msg.CONTROLS_REPEAT_TITLE,args0:[{type:"input_value",name:"TIMES"}],previousStatement:null,nextStatement:null,colour:xt,tooltip:Rt.Msg.CONTROLS_REPEAT_TOOLTIP,helpUrl:Rt.Msg.CONTROLS_REPEAT_HELPURL}),this.appendStatementInput("DO")}},ne={init:function(){this.setColour(xt),this.appendValueInput("BOOL").appendField("lambda"),this.appendStatementInput("DO").appendField(Rt.Msg.MIXLY_STAT),this.setOutput(!0)}},se={init:function(){this.setColour(xt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PYTHON_PASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_PYTHON_CONTROLS_PASS_TOOLTIP)}},_e={init:function(){this.setColour(xt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_START),this.appendValueInput("callback").appendField(Rt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_TOOLTIP)}},oe={init:function(){this.appendDummyInput().appendField(Rt.Msg.CONTROLS_REPEAT_TITLE_REPEAT+Rt.Msg.MIXLY_DO),this.appendStatementInput("input_data").setCheck(null),this.appendValueInput("select_data").setCheck(null).appendField(Rt.Msg.CONTROLS_OPERATOR_UNTIL).appendField(new Rt.FieldDropdown([[Rt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"true"],[Rt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"false"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(xt),this.setTooltip("do-while loop"),this.setHelpUrl("")}},pe={init:function(){this.setColour(xt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_OP_GARBAGE_COLLECT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ae={init:function(){this.setColour(xt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET_MEM_ALLOC),this.setOutput(!0)}},ue={init:function(){this.setColour(xt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET_MEM_FREE),this.setOutput(!0)}},re={init:function(){this.setColour(xt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET+Rt.Msg.MIXLY_DEVICE+"ID"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Rt.Msg.PROCEDURES_DEFRETURN_RETURN+Rt.Msg.MIXLY_GET_UNIQUE_IDEN)}},le={init:function(){this.setColour(xt),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_RTC_TIMESTAMP),this.appendDummyInput().appendField(Rt.Msg.MIXLY_TIMESTAMP_TO_DATA),this.setInputsInline(!0),this.setOutput(!0,Number)}},de={init:function(){this.setColour(xt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET_UNIQUE_IDEN),this.setOutput(!0)}},Ie=230;Rt.FieldTextInput.math_number_validator=function(t){return String(t)},Rt.FieldTextInput.math_number_validator_include_blank=function(t){if(""===t)return"";return/^-?(0X|0x|0O|0o|0B|0b)?[a-fA-F0-9]{1,}(\.[a-fA-F0-9]+)?$/.test(t)?String(t):null};const Te={init:function(){this.setColour(Ie),this.appendDummyInput().appendField(new Rt.FieldTextInput("0",Rt.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MATH_NUMBER_TOOLTIP)}},Me={init:function(){this.setColour(Ie);this.appendDummyInput("").appendField(Rt.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new Rt.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:Rt.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_TOOLTIP,e:Rt.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_TOOLTIP}[e]}))}},he={init:function(){this.setColour(Ie);this.appendDummyInput("").appendField(Rt.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new Rt.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:Rt.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_MP_TOOLTIP,e:Rt.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_MP_TOOLTIP}[e]}))}},me={init:function(){this.setColour(Ie),this.setOutput(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Rt.FieldDropdown([["+","ADD"],["-","MINUS"],["×","MULTIPLY"],["÷","DIVIDE"],["%","QUYU"],["//","ZHENGCHU"],["**","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:Rt.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},Ee={init:function(){this.setColour(Ie),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Rt.FieldDropdown([["+=","ADD"],["-=","MINUS"],["×=","MULTIPLY"],["÷=","DIVIDE"],["%=","QUYU"],["//=","ZHENGCHU"],["**=","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:Rt.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},Oe={init:function(){this.setColour(Ie),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new Rt.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},Re={init:function(){this.setColour(Ie),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new Rt.FieldDropdown([["sin","SIN"],["cos","COS"],["tan","TAN"],["asin","ASIN"],["acos","ACOS"],["atan","ATAN"],["-","-"],["ln","LN"],["log10","LOG10"],["e^","EXP"],["10^","POW10"]]),"OP");var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{SIN:Rt.Msg.MATH_TRIG_TOOLTIP_SIN,COS:Rt.Msg.MATH_TRIG_TOOLTIP_COS,TAN:Rt.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:Rt.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:Rt.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:Rt.Msg.MATH_TRIG_TOOLTIP_ATAN,LN:Rt.Msg.MATH_SINGLE_TOOLTIP_LN}[e]}))}},ce={init:function(){var t=[[Rt.Msg.MATH_BIN,"bin"],[Rt.Msg.MATH_OCT,"oct"],[Rt.Msg.MATH_HEX,"hex"]];this.setColour(Ie),this.setOutput(!0,String),this.appendValueInput("NUM").setCheck(Number).appendField(new Rt.FieldDropdown(t),"OP");var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{bin:Rt.Msg.MATH_DEC_TOOLTIP_BIN,oct:Rt.Msg.MATH_DEC_TOOLTIP_OCT,hex:Rt.Msg.MATH_DEC_TOOLTIP_HEX}[t]}))}},ge={init:function(){var t=[[Rt.Msg.LANG_MATH_TO_ROUND,"round"],[Rt.Msg.LANG_MATH_TO_CEIL,"ceil"],[Rt.Msg.LANG_MATH_TO_FLOOR,"floor"],[Rt.Msg.MATH_ABS,"fabs"],[Rt.Msg.MATH_SQRT,"sqrt"]];this.setColour(Ie),this.appendValueInput("A").setCheck(Number).appendField(new Rt.FieldDropdown(t),"OP"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{sqrt:Rt.Msg.MATH_SINGLE_TOOLTIP_ROOT,fabs:Rt.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:Rt.Msg.MATH_SINGLE_TOOLTIP_SQ,round:Rt.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:Rt.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:Rt.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[t]}))}},Ce={init:function(){var t=[[Rt.Msg.MIXLY_MAX,"max"],[Rt.Msg.MIXLY_MIN,"min"]];this.setColour(Ie),this.appendValueInput("A").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(new Rt.FieldDropdown(t),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(Rt.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{max:Rt.Msg.MIXLY_TOOLTIP_MATH_MAX,min:Rt.Msg.MIXLY_TOOLTIP_MATH_MIN}[t]}))}},Se={init:function(){var t=[[Rt.Msg.MATH_TWO,"two"],[Rt.Msg.MATH_EIGHT,"eight"],[Rt.Msg.MATH_TEN,"ten"],[Rt.Msg.MATH_SIXTEEN,"sixteen"]];this.setColour(Ie),this.appendDummyInput("").appendField(Rt.Msg.MATH_BA),this.appendValueInput("NUM").appendField(new Rt.FieldDropdown(t),"OP").appendField(Rt.Msg.MATH_JinZhi).setCheck(Number),this.appendDummyInput("").appendField(Rt.Msg.MATH_ZHW).appendField(new Rt.FieldDropdown(t),"OP2").appendField(Rt.Msg.MATH_JinZhi),this.setFieldValue("ten","OP2"),this.setOutput(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i={two:Rt.Msg.MATH_Before_two,eight:Rt.Msg.MATH_Before_eight,ten:Rt.Msg.MATH_Before_ten,sixteen:Rt.Msg.MATH_Before_sixteen},n=e.getFieldValue("OP2"),s={two:Rt.Msg.MATH_Behind_two,eight:Rt.Msg.MATH_Behind_eight,ten:Rt.Msg.MATH_Behind_ten,sixteen:Rt.Msg.MATH_Behind_sixteen};return i[t]+s[n]}))}},Ae={init:function(){var t=[[Rt.Msg.LANG_MATH_INT,"int"],[Rt.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(Ie),this.setOutput(!0,Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_RANDOM).appendField(new Rt.FieldDropdown(t),"TYPE"),this.appendValueInput("FROM").setCheck(Number).appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TYPE"),i={int:Rt.Msg.LANG_MATH_INT,float:Rt.Msg.LANG_MATH_FLOAT_RANDOM};return Rt.Msg.MATH_RANDOM_INT_TOOLTIP+i[t]}))}},Le={init:function(){this.setColour(Ie),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(Rt.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(Rt.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(Rt.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MATH_CONSTRAIN_TOOLTIP)}},Ne={init:function(){this.setColour(Ie),this.appendValueInput("NUM",Number).appendField(Rt.Msg.MIXLY_MAP).setCheck(Number),this.appendValueInput("fromLow",Number).appendField(Rt.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(Rt.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_MATH_MAP)}},De={init:function(){this.setColour(Ie),this.appendDummyInput().appendField(new Rt.FieldTextInput("0",Rt.FieldTextInput.math_number_validator_include_blank),"NUM"),this.setOutput(!0),this.setTooltip(Rt.Msg.MATH_NUMBER_TOOLTIP)}},fe={init:function(){this.setColour(Ie),this.appendValueInput("NUM").setCheck(Number).appendField(Rt.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED)}},Fe={init:function(){this.setColour(Ie),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number),this.appendValueInput("VAR").setCheck(Number).appendField(Rt.Msg.MATH_ROUND).appendField(Rt.Msg.TEXT_KEEP),this.appendDummyInput().appendField(Rt.Msg.TEXT_DECIMAL),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MATH_ROUND_NEW_TOOLTIP)}},Pe={init:function(){var t=[[Rt.Msg.MIXLY_TO_INT,"int"],[Rt.Msg.MIXLY_TO_FLOAT,"float"],[Rt.Msg.MIXLY_TO_BITES,"b"],[Rt.Msg.LANG_MATH_BYTE+Rt.Msg.MIXLY_TO_INT,"bti"]];this.setColour(Ie),this.appendValueInput("VAR").appendField(new Rt.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:Rt.Msg.MIXLY_PYTHON_TOOLTIP_TOINT,float:Rt.Msg.MIXLY_PYTHON_TOOLTIP_TOFLOAT,b:Rt.Msg.MIXLY_TOOLTIP_TEXT_TOBYTE}[t]}))}},ve={init:function(){var t=[[Rt.Msg.MIXLY_TO_INT,"int"],[Rt.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(Ie),this.appendValueInput("VAR").appendField(new Rt.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:Rt.Msg.MIXLY_TOOLTIP_TEXT_TOINT,float:Rt.Msg.MIXLY_TOOLTIP_TEXT_TOFLOAT}[t]}))}},Ye=Ne,Xe={init:function(){this.setColour(Ie),this.appendValueInput("VAR").appendField(Rt.Msg.LANG_MATH_BYTE+Rt.Msg.MIXLY_TO_HEX),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_PYTHON_TOOLTIP_TOHEX)}},ye={init:function(){this.setColour(Ie),this.itemCount_=1,this.setMutator(new Rt.icons.MutatorIcon(["lists_create_with_item"],this)),this.appendDummyInput("DUMMY").appendField(Rt.Msg.MIXLY_PRODUCT+Rt.Msg.MIXLY_GENERATE_CARTESIAN_PRODUCT),this.appendValueInput("REPEAT").appendField(Rt.Msg.MIXLY_EVERY_PER_ELEPER_ELEMENT),this.appendDummyInput().appendField(Rt.Msg.CONTROLS_REPEAT_TITLE_TIMES),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0),this.setTooltip(Rt.Msg.LISTS_CREATE_WITH_PYTHON_TOOLTIP),this.updateShape_()},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("lists_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n1&&"\\"===t.charAt(0)){var e=t.charAt(1);if("0"===e||"b"===e||"f"===e||"n"===e||"r"===e||"t"===e||"\\"===e||"'"===e)return String(t).substring(0,2);if("x"===e&&"0"===t.charAt(2)&&"B"===t.charAt(3))return String(t).substring(0,4)}return String(t).substring(0,1)};const we={init:function(){this.setColour(Ve),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new Rt.FieldTextInput("",Rt.FieldTextInput.char_validator),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.TEXT_CHAR_TOOLTIP)},newQuote_:function(t){if(1==t)var e="../../media/quote2.png";else e="../../media/quote3.png";return new Rt.FieldImage(e,7,12,'"')}},ke={init:function(){this.setColour(Ve),this.appendValueInput("A").setCheck([String,Number]),this.appendValueInput("B").setCheck([String,Number]).appendField(Rt.Msg.MIXLY_TEXT_JOIN),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_TEXT_JOIN)}},He={init:function(){this.setColour(Ve),this.appendValueInput("VAR").setCheck(Number).appendField(Rt.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},We={init:function(){this.setColour(Ve),this.appendValueInput("VAR").setCheck(String).appendField(Rt.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},Ke={init:function(){this.setColour(Ve),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},Je={init:function(){this.setColour(Ve),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},qe={init:function(){this.WHERE_OPTIONS=[[Rt.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[Rt.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[Rt.Msg.TEXT_GET_INDEX_RANDOM+1+Rt.Msg.TEXT_CHARAT2,"RANDOM"]],this.setHelpUrl(Rt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ve),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.LISTS_GET_INDEX_GET,"MODE"),Rt.Msg.LISTS_GET_INDEX_TAIL&&this.appendDummyInput("TAIL").appendField(Rt.Msg.LISTS_GET_INDEX_TAIL),this.setInputsInline(!0),this.setOutput(!0),this.updateAt_(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=t.getFieldValue("WHERE"),n="";switch(e+" "+i){case"GET FROM_START":case"GET FROM_END":n=Rt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM;break;case"GET RANDOM":n=Rt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM;break;case"GET_REMOVE FROM_START":case"GET_REMOVE FROM_END":n=Rt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM;break;case"GET_REMOVE RANDOM":n=Rt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM}return"FROM_START"!=i&&"FROM_END"!=i||(n+=" "+Rt.Msg.LISTS_INDEX_FROM_START_TOOLTIP.replace("%1",Rt.Msg.ONE_BASED_INDEXING?"#1":"#0")),n}));var e=this;this.setTooltip((function(){var t=e.getFieldValue("WHERE"),i={FROM_START:Rt.Msg.LISTS_GET_INDEX_FROM_START,FROM_END:Rt.Msg.LISTS_GET_INDEX_FROM_END,RANDOM:Rt.Msg.TEXT_GET_INDEX_RANDOM};return Rt.Msg.PROCEDURES_DEFRETURN_RETURN+Rt.Msg.MIXLY_MICROBIT_TYPE_STRING+i[t]+"n"+Rt.Msg.TEXT_CHARAT2}))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("statement",!this.outputConnection);var e=this.getInput("AT").type==Rt.INPUT_VALUE;return t.setAttribute("at",e),t},domToMutation:function(t){var e="true"==t.getAttribute("statement");this.updateStatement_(e),t="false"!=t.getAttribute("at"),this.updateAt_(t)},updateStatement_:function(t){t!=!this.outputConnection&&(this.unplug(!0,!0),t?(this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)):(this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)))},updateAt_:function(t){this.removeInput("AT"),this.removeInput("ORDINAL",!0),t?(this.appendValueInput("AT").setCheck(Number),Rt.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL").appendField(Rt.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT");var e=new Rt.FieldDropdown(this.WHERE_OPTIONS,(function(e){var i="FROM_START"==e||"FROM_END"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT").appendField(e,"WHERE"),Rt.Msg.LISTS_GET_INDEX_TAIL&&this.moveInputBefore("TAIL",null)}},Qe={init:function(){this.setHelpUrl(Rt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ve),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number).appendField(Rt.Msg.LISTS_GET_INDEX_GET+" "+Rt.Msg.LISTS_GET_INDEX_FROM_START),this.appendDummyInput().appendField(Rt.Msg.TEXT_CHARAT2),this.setOutput(!0),this.setTooltip(Rt.Msg.PROCEDURES_DEFRETURN_RETURN+Rt.Msg.MIXLY_MICROBIT_TYPE_STRING+Rt.Msg.LISTS_GET_INDEX_FROM_START+"n"+Rt.Msg.TEXT_CHARAT2)}},ze={init:function(){this.setHelpUrl(Rt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ve),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(Rt.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(Rt.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},je={init:function(){this.WHERE_OPTIONS_1=[[Rt.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[Rt.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[Rt.Msg.LISTS_GET_SUBLIST_START_FIRST,"FIRST"]],this.WHERE_OPTIONS_2=[[Rt.Msg.LISTS_GET_SUBLIST_END_FROM_START,"FROM_START"],[Rt.Msg.LISTS_GET_SUBLIST_END_FROM_END,"FROM_END"],[Rt.Msg.LISTS_GET_SUBLIST_END_LAST,"LAST"]],this.setHelpUrl(Rt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Ve),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput("AT1"),this.appendDummyInput("AT2"),this.setInputsInline(!0),this.setOutput(!0,"List"),this.updateAt_(1,!0),this.updateAt_(2,!0),this.setTooltip(Rt.Msg._GET_TEXT_SUBLIST_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT1").type==Rt.INPUT_VALUE;t.setAttribute("at1",e);var i=this.getInput("AT2").type==Rt.INPUT_VALUE;return t.setAttribute("at2",i),t},domToMutation:function(t){var e="true"==t.getAttribute("at1"),i="true"==t.getAttribute("at2");this.updateAt_(1,e),this.updateAt_(2,i)},updateAt_:function(t,e){this.removeInput("AT"+t),this.removeInput("ORDINAL"+t,!0),e?(this.appendValueInput("AT"+t).setCheck(Number),Rt.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL"+t).appendField(Rt.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT"+t);var i=new Rt.FieldDropdown(this["WHERE_OPTIONS_"+t],(function(i){var n="FROM_START"==i||"FROM_END"==i;if(n!=e){var s=this.sourceBlock_;return s.updateAt_(t,n),s.setFieldValue(i,"WHERE"+t),null}}));this.getInput("AT"+t).appendField(i,"WHERE"+t),1==t&&(this.moveInputBefore("AT1","AT2"),this.getInput("ORDINAL1")&&this.moveInputBefore("ORDINAL1","AT2"))}},$e={init:function(){this.setHelpUrl(Rt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Ve),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT1").appendField(Rt.Msg.LISTS_GET_INDEX_GET+" "+Rt.Msg.LISTS_GET_INDEX_FROM_START),this.appendValueInput("AT2").appendField(Rt.Msg.LISTS_GET_SUBLIST_END_FROM_START),this.appendDummyInput().appendField(Rt.Msg.TEXT_CHARAT2),this.setInputsInline(!0),this.setOutput(!0,["List",String]),this.setTooltip(Rt.Msg._GET_TEXT_SUBLIST_TOOLTIP)}},Ze={init:function(){var t=[[Rt.Msg.MIXLY_EQUALS,"==="],[Rt.Msg.MIXLY_STARTSWITH,"startswith"],[Rt.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(Ve),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new Rt.FieldDropdown(t),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},ti={init:function(){this.setColour(Ve),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(Rt.Msg.MIXLY_COMPARETO).setCheck(String),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_COMPARETO_HELP)}},ei={init:function(){var t=[[Rt.Msg.TEXT_UPPER,"upper"],[Rt.Msg.TEXT_TITLE,"title"],[Rt.Msg.TEXT_CAPITALIZE,"capitalize"],[Rt.Msg.TEXT_SWAPCASE,"swapcase"],[Rt.Msg.TEXT_LOWER,"lower"]];this.setColour(Ve),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new Rt.FieldDropdown(t),"CAPITAL").setCheck(String),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CAPITAL");return{upper:Rt.Msg.MIXLY_MIXPY_TEXT_UPPER_TOOLTIP,title:Rt.Msg.MIXLY_MIXPY_TEXT_TITLE_TOOLTIP,swapcase:Rt.Msg.MIXLY_MIXPY_TEXT_SWAPCASE_TOOLTIP,capitalize:Rt.Msg.MIXLY_MIXPY_TEXT_CAPITALIZE_TOOLTIP,lower:Rt.Msg.MIXLY_MIXPY_TEXT_LOWER_TOOLTIP}[t]}))}},ii={init:function(){var t=[[Rt.Msg.TEXT_LJUST,"ljust"],[Rt.Msg.TEXT_CENTER,"center"],[Rt.Msg.TEXT_RJUST,"rjust"]];this.setColour(Ve),this.appendValueInput("VAR").appendField(new Rt.FieldDropdown(t),"CENTER").setCheck(String),this.appendValueInput("WID").appendField(Rt.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("Symbol").appendField(Rt.Msg.MIXLY_RECT_Fill).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MIXLY_MIXPY_TEXT_CENTER_TOOLTIP)}},ni={init:function(){this.setColour(Ve),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).setCheck(String),this.appendValueInput("STR").appendField(Rt.Msg.MIXLY_MID+Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER).setCheck(String),this.appendDummyInput().appendField(Rt.Msg.MIXLY_LIST_INDEX),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MIXLY_MIXPY_TEXT_FIND_TOOLTIP)}},si={init:function(){this.setColour(Ve),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_USE_STR).setCheck(String),this.appendValueInput("LIST").appendField(Rt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_SEQ).setCheck("List","Tuple","Set","Dict"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_GET_STR),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_TOOLTIP)}},_i={init:function(){this.setColour(Ve),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("STR1").appendField(Rt.Msg.MIXLY_MIXPY_REPLACE).setCheck(String),this.appendValueInput("STR2").appendField(Rt.Msg.LISTS_SET_INDEX_INPUT_TO).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MIXLY_MIXPY_TEXT_REPLACE_TOOLTIP)}},oi={init:function(){this.setColour(Ve),this.appendValueInput("VAR"),this.appendValueInput("VAL").appendField(Rt.Msg.LIST_SPLIT_AS),this.appendDummyInput("").appendField(Rt.Msg.LIST_SPLIT),this.setOutput(!0,"List"),this.setTooltip(Rt.Msg.MIXLY_MIXPY_TEXT_SPLIT_TOOLTIP),this.setInputsInline(!0)}},pi={init:function(){var t=[[Rt.Msg.TEXT_TRIM_BOTH,"strip"],[Rt.Msg.TEXT_TRIM_LEFT,"lstrip"],[Rt.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(Ve),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(Rt.Msg.TEXT_STRIM),this.appendDummyInput("").appendField(new Rt.FieldDropdown(t),"TOWHAT"),this.appendDummyInput("").appendField(Rt.Msg.TEXT_BLANK),this.setOutput(!0,String),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{strip:Rt.Msg.TEXT_TRIM_BOTH_TOOLTIP,lstrip:Rt.Msg.TEXT_TRIM_LEFT_TOOLTIP,rstrip:Rt.Msg.TEXT_TRIM_RIGHT_TOOLTIP}[t]}))}},ai={init:function(){this.setColour(Ve),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROPYTHON_FORMAT),this.appendDummyInput("").appendField(new Rt.FieldTextInput("str"),"VAR"),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new Rt.icons.MutatorIcon(["text_create_with_item"],this)),this.setOutput(!0),this.setTooltip(Rt.Msg.MIXLY_MIXPY_TEXT_FORMAT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("text_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},_n={init:function(){this.setColour(nn),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(Rt.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},on={init:function(){this.setColour(nn),this.appendDummyInput().appendField(Rt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},pn={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Rt.Msg.DICT_KEYS),this.setTooltip(Rt.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},an={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Rt.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(Rt.Msg.DICTS_ADD_VALUE),this.setOutput(!0),this.setTooltip(Rt.Msg.DICTS_GET_TOOLTIP)}},un={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Rt.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(Rt.Msg.DICTS_ADD_VALUE),this.appendValueInput("VAR").appendField(Rt.Msg.DICTS_DEFAULT_VALUE),this.setOutput(!0),this.setTooltip(Rt.Msg.DICTS_GET_DEFAULT_TOOLTIP)}},rn={init:function(){this.setColour(nn),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(Rt.Msg.DICTS_ADD),this.appendDummyInput(),this.appendValueInput("VAR").appendField(Rt.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.DICTS_ADD_OR_CHANGE_TOOLTIP)}},ln={init:function(){this.setColour(nn),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(Rt.Msg.DICTS_DELETE_IN),this.appendDummyInput("").appendField(Rt.Msg.DICTS_DELETE_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.DICTS_DELETE_TOOLTIP)}},dn={init:function(){this.setColour(nn),this.appendValueInput("DICT2").setCheck("Dict").appendField(Rt.Msg.MAKE_DICT),this.appendValueInput("DICT").setCheck("Dict").appendField(Rt.Msg.DICT_UPDATE),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MID),this.setTooltip(Rt.Msg.DICTS_UPDATE_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},In={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Rt.Msg.DICT_CLEAR),this.setTooltip(Rt.Msg.DICTS_CLEAR_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Tn={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Rt.Msg.DICT_ITEMS),this.setTooltip(Rt.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},Mn={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Rt.Msg.DICT_VALUES),this.setTooltip(Rt.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},hn={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_LENGTH),this.setTooltip(Rt.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},mn={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Rt.Msg.DICT_DELDICT),this.setTooltip(Rt.Msg.DICTS_DEL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},En={init:function(){this.MODE=[[Rt.Msg.DICTS_ADD_OR_CHANGE,"INSERT"],[Rt.Msg.MIXLY_MICROBIT_JS_DELETE_VAR,"DELETE"]],this.setHelpUrl(Rt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("AT2"),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).appendField(Rt.Msg.DICTS_ADD_VALUE),this.updateAt_(!0),this.setInputsInline(!0),this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e="";switch(t.getFieldValue("WHERE")){case"INSERT":e=Rt.Msg.DICTS_ADD_TOOLTIP;break;case"DELETE":e=Rt.Msg.DICTS_DELETE_TOOLTIP}return e}))},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT2").type==Rt.INPUT_VALUE;return t.setAttribute("at2",e),t},domToMutation:function(t){var e="true"==t.getAttribute("at2");this.updateAt_(e)},updateAt_:function(t){this.removeInput("AT2"),this.removeInput("ORDINAL",!0),t?this.appendValueInput("AT2").setCheck(Number):this.appendDummyInput("AT2");var e=new Rt.FieldDropdown(this.MODE,(function(e){var i="INSERT"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT2").appendField(e,"WHERE")}},On={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Rt.Msg.blockpy_DICT_POP),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(Rt.Msg.DICTS_ADD_VALUE),this.setTooltip(Rt.Msg.DICT_POP_TOOLTIP),this.setInputsInline(!0),this.setOutput(!0)}},Rn={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Rt.Msg.DICTS_SET_DEFAULT),this.appendDummyInput("").appendField(Rt.Msg.DICTS_DEFAULT_VALUE),this.appendValueInput("VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.DICTS_SETDEFAULT_TOOLTIP)}},cn={init:function(){this.setColour(nn),this.appendDummyInput("").appendField(new Rt.FieldLabel(Rt.Msg.MIXLY_MICROBIT_TYPE_DICT),"TIP").appendField(" "),this.itemCount_=3,this.updateShape_(),this.setOutput(!0,"Dict"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setMutator(new Rt.icons.MutatorIcon(["dicts_create_with_item"],this)),this.setTooltip(Rt.Msg.DICTS_CREATE_WITH_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("dicts_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},gn={init:function(){this.setColour(nn),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(Rt.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},Cn={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_TO_JSON),this.setTooltip(Rt.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},Sn={init:function(){this.setColour(nn),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_CONVERT_TO_JSON),this.setTooltip(Rt.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},An={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("VAR1").appendField("key1"),this.appendValueInput("VAR2").appendField("index"),this.appendValueInput("VAR3").appendField("key2"),this.appendValueInput("VAR4").appendField("key3"),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},Ln={init:function(){this.setColour(nn),this.appendValueInput("DICT"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_TO_JSON),this.setTooltip(Rt.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},Nn=210,Dn={init:function(){var t=Rt.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(Nn),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Rt.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{EQ:Rt.Msg.LOGIC_COMPARE_TOOLTIP_EQ,NEQ:Rt.Msg.LOGIC_COMPARE_TOOLTIP_NEQ,LT:Rt.Msg.LOGIC_COMPARE_TOOLTIP_LT,LTE:Rt.Msg.LOGIC_COMPARE_TOOLTIP_LTE,GT:Rt.Msg.LOGIC_COMPARE_TOOLTIP_GT,GTE:Rt.Msg.LOGIC_COMPARE_TOOLTIP_GTE}[t]})),this.prevBlocks_=[null,null]}},fn={init:function(){var t=Rt.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]],e=Rt.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(Nn),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Rt.FieldDropdown(t),"OP1"),this.appendValueInput("C").appendField(new Rt.FieldDropdown(e),"OP2"),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_PYTHON_LOGIC_COMPARE_CONTINOUS_TOOLTIP)}},Fn={init:function(){var t=[[Rt.Msg.LOGIC_OPERATION_AND,"AND"],[Rt.Msg.LOGIC_OPERATION_OR,"OR"],[Rt.Msg.LOGIC_OPERATION_NOR,"NOR"],[Rt.Msg.LOGIC_OPERATION_XOR,"XOR"]];this.setColour(Nn),this.setOutput(!0,Boolean),this.appendValueInput("A").setCheck([Boolean,Number]),this.appendValueInput("B").setCheck([Boolean,Number]).appendField(new Rt.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{AND:Rt.Msg.LOGIC_OPERATION_TOOLTIP_AND,OR:Rt.Msg.LOGIC_OPERATION_TOOLTIP_OR,NOR:Rt.Msg.LOGIC_OPERATION_TOOLTIP_NOR,XOR:Rt.Msg.LOGIC_OPERATION_TOOLTIP_XOR}[t]}))}},Pn={init:function(){this.setColour(Nn),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(Rt.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(Rt.Msg.LOGIC_NEGATE_TOOLTIP)}},vn={init:function(){var t=[[Rt.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[Rt.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(Nn),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new Rt.FieldDropdown(t),"BOOL"),this.setTooltip(Rt.Msg.LOGIC_BOOLEAN_TOOLTIP)}},Yn={init:function(){this.setColour(Nn),this.setOutput(!0),this.appendDummyInput().appendField(Rt.Msg.LOGIC_NULL),this.setTooltip(Rt.Msg.LOGIC_NULL_TOOLTIP)}},Xn={init:function(){this.setColour(Nn),this.appendValueInput("A"),this.appendValueInput("B").appendField(Rt.Msg.LOGIC_TERNARY_IF_TRUE),this.appendValueInput("C").appendField(Rt.Msg.LOGIC_TERNARY_IF_FALSE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_LOGIT_TRUEORFALSE)}},yn={init:function(){var t=[[Rt.Msg.TEXT_APPEND_TO,"in"],[Rt.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(Nn),this.appendValueInput("A"),this.appendValueInput("B").setCheck([String,"List"]).appendField(new Rt.FieldDropdown(t),"BOOL"),this.appendDummyInput("").appendField(Rt.Msg.MICROBIT_LOGIC_IS_IN),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Rt.Msg.IN)}},bn={init:function(){var t=[[Rt.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[Rt.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(Nn),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Rt.FieldDropdown(t),"BOOL"),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_PYTHON_LOGIC_IS_TOOLTIP)}},xn={init:function(){this.setColour(Nn),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(Rt.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},Vn={init:function(){this.setColour(0),this.appendValueInput("fn").setCheck(String).appendField(Rt.Msg.MIXLY_PYTHON_STORAGE_OPEN_FILE_WITH_OS+"(For Windows)"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Bn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"],[Rt.Msg.MIXLY_ADD,"a"],[Rt.Msg.MATH_BIN+Rt.Msg.MIXLY_ADD,"ab"],[Rt.Msg.MIXLY_R_W,"r+"],[Rt.Msg.MATH_BIN+Rt.Msg.MIXLY_R_W,"rb+"],[Rt.Msg.MIXLY_W_R,"w+"],[Rt.Msg.MATH_BIN+Rt.Msg.MIXLY_W_R,"wb+"],[Rt.Msg.MIXLY_A_R,"a+"],[Rt.Msg.MATH_BIN+Rt.Msg.MIXLY_A_R,"ab+"]]),"MODE"),this.appendValueInput("FILE").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_AS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Rt.Msg.MIXLY_USE,n=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=Rt.Msg.MIXLY_BELONG;return i+{r:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+_+n+s}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Gn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Rt.Msg.MIXLY_USE,n=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=Rt.Msg.MIXLY_BELONG,o=Rt.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+_+n+s+o}))}},Un={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE);this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendDummyInput().appendField(Rt.Msg.MIXPY_TEXT_ENCODE).appendField(new Rt.FieldDropdown([["ANSI","ANSI"],["gbk","gbk"],["utf-8","utf-8"]]),"CODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Rt.Msg.MIXLY_USE,n=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=Rt.Msg.MIXLY_BELONG,o=Rt.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+_+n+s+o}))}},wn={init:function(){this.setColour(0),this.appendValueInput("data").setCheck(String).appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendValueInput("FILE").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+Rt.Msg.MIXLY_MICROBIT_TYPE_STRING+Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE)}},kn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"read"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE,"readline"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES,"readlines"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String)}},Hn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,"read"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,"readline"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE,"readlines"]]),"MODE"),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE,n=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER;return i+{read:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,readline:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,readlines:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE}[e]+"x"+n}))}},Wn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.setNextStatement(!0),this.appendValueInput("SIZE").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MICROBIT_PYTHON_TYPE)}},Kn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Rt.Msg.HTML_FILE),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT1)}},Jn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILENAME),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILENAME)}},qn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE)}},Qn={init:function(){this.setColour(0),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES)}};Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE;const zn={init:function(){this.setColour(0),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE,"remove"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_DIRS,"removedirs"]]),"MODE"),this.appendValueInput("FILE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE)}},jn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE+Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE)}},$n={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_RETURN_FILE),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_PRESENT_LOCATION),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_TELL)}},Zn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,"start"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,"current"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END,"end"]]),"MODE"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION+Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION,n=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER,s=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET;return i+" "+{start:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,current:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,end:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END}[e]+s+"x"+n}))}},ts={init:function(){this.setColour(0),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR)}},es={init:function(){this.setColour(0),this.appendValueInput("PATH").setCheck(String).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_SET),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,"mkdir"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MAKEDIRS,"makedirs"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH+"x"+Rt.Msg.MIXLY_ESP32_SET+{mkdir:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,makedirs:Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},is={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME),this.appendValueInput("NEWFILE").setCheck(String).appendField(Rt.Msg.MIXLY_AS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME)}},ns={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR)}},ss={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.HTML_FILE,"isfile"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_DIR,"isdir"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean);let t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH+"x"+Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT+{isfile:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,isdir:Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},_s={init:function(){this.setColour(0),this.appendValueInput("SPISUB").appendField(Rt.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_SETUP+Rt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(Rt.Msg.MIXLY_SD_CARD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},os={init:function(){this.setColour(0),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_SD_CARD),this.appendValueInput("DIR").setCheck(String).appendField(Rt.Msg.MIXLY_SDCARD_MOUNT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip()}},ps={init:function(){var t=Rt.Procedures.findLegalName("",this),e=new Rt.FieldTextInput(t,Rt.Procedures.rename);e.setSpellcheck(!1),this.appendDummyInput().appendField(e,"NAME").appendField("","PARAMS"),this.setMutator(new Rt.icons.MutatorIcon(["procedures_mutatorarg"],this)),(this.workspace.options.comments||this.workspace.options.parentWorkspace&&this.workspace.options.parentWorkspace.options.comments)&&Rt.Msg.PROCEDURES_DEFNORETURN_COMMENT&&this.setCommentText(Rt.Msg.PROCEDURES_DEFNORETURN_COMMENT),this.setStyle("procedure_blocks"),this.setTooltip(Rt.Msg.PROCEDURES_DEFNORETURN_TOOLTIP),this.setHelpUrl(Rt.Msg.PROCEDURES_DEFNORETURN_HELPURL),this.arguments_=[],this.argumentVarModels_=[],this.setStatements_(!0),this.statementConnection_=null},setStatements_:function(t){this.hasStatements_!==t&&(t?(this.appendStatementInput("STACK").appendField(Rt.Msg.PROCEDURES_DEFNORETURN_DO),this.getInput("RETURN")&&this.moveInputBefore("STACK","RETURN")):this.removeInput("STACK",!0),this.hasStatements_=t)},updateParams_:function(){var t="";this.arguments_.length&&(t=Rt.Msg.PROCEDURES_BEFORE_PARAMS+" "+this.arguments_.join(", ")),Rt.Events.disable();try{this.setFieldValue(t,"PARAMS")}finally{Rt.Events.enable()}},mutationToDom:function(t){var e=Rt.utils.xml.createElement("mutation");t&&e.setAttribute("name",this.getFieldValue("NAME"));for(var i=0;i"),this.appendValueInput("style").appendField(Rt.Msg.MIXLY_AIP_ATTR).setAlign(Rt.inputs.Align.RIGHT),this.appendStatementInput("DO").appendField(""),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},i_={init:function(){this.setColour(zs),this.appendDummyInput().appendField(Rt.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},n_={init:function(){this.setColour(zs),this.appendDummyInput().appendField(Rt.Msg.HTML_FORM_CONTENT).appendField(new Rt.FieldDropdown([[Rt.Msg.HTML_TEXT,"text"],[Rt.Msg.HTML_EMAIL,"email"],[Rt.Msg.HTML_NUMBER,"number"],[Rt.Msg.HTML_PASSWORD,"password"],[Rt.Msg.HTML_CHECKBOX,"checkbox"],[Rt.Msg.HTML_RADIOBUTTON,"radiobutton"],[Rt.Msg.HTML_BUTTON,"button"],[Rt.Msg.HTML_COLOUR,"colour"],[Rt.Msg.HTML_DATE,"date"],[Rt.Msg.HTML_LOCALTIME,"local time"],[Rt.Msg.HTML_FILE,"file"],[Rt.Msg.HTML_HIDDEN,"hidden"],[Rt.Msg.HTML_IMAGE,"image"],[Rt.Msg.HTML_MONTH,"month"],[Rt.Msg.HTML_RANGE,"range"],[Rt.Msg.HTML_RESET,"reset"],[Rt.Msg.HTML_SEARCH,"search"],[Rt.Msg.HTML_SUBMIT,"submit"],[Rt.Msg.HTML_TELEPHONENUMBER,"telephone number"],[Rt.Msg.HTML_TIME,"time"],[Rt.Msg.HTML_URL,"url"],[Rt.Msg.HTML_WEEK,"week"]]),"LEVEL"),this.appendDummyInput().appendField(Rt.Msg.HTML_NAME).appendField(new Rt.FieldTextInput("car"),"NAME"),this.appendDummyInput().appendField(Rt.Msg.HTML_VALUE).appendField(new Rt.FieldTextInput("go"),"VALUE"),this.appendValueInput("style").appendField(Rt.Msg.MIXLY_AIP_ATTR).setAlign(Rt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},s_={init:function(){this.setColour(zs),this.appendDummyInput().appendField(new Rt.FieldTextInput("property"),"KEY").appendField(":").appendField(new Rt.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},__={init:function(){this.setColour(zs),this.appendDummyInput().appendField(new Rt.FieldTextInput("property"),"KEY").appendField(":").appendField(new Rt.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},o_={init:function(){this.setColour(zs),this.appendDummyInput().appendField(Rt.Msg.HTML_TEXT).appendField(new Rt.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},p_=160,a_={init:function(){this.setColour(p_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new Rt.FieldTable(""),"TEXT")}},u_={init:function(){this.setColour(p_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new Rt.FieldMultilineInput(""),"TEXT")}},r_={init:function(){this.setColour(p_),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new Rt.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},l_={init:function(){this.setColour(p_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},d_={init:function(){this.setColour(p_),this.appendDummyInput().appendTitle("Comment:").appendTitle(new Rt.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},I_={init:function(){this.setColour(p_),this.appendValueInput("VALUE").appendField(Rt.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},T_={init:function(){this.setColour(p_),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Rt.icons.MutatorIcon(["text_print_multiple_item"],this)),this.setTooltip(Rt.Msg.TEXT_PRINT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=Rt.Block.obtain(t,"text_print_multiple_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n= stop:"," yield start"," start -= abs(step)"])};if(t=function(t,e,i){return"("+t+" <= "+e+") and "+a()+"("+t+", "+e+", "+i+") or "+u()+"("+t+", "+e+", "+i+")"},Rt.isNumber(n)&&Rt.isNumber(s)&&Rt.isNumber(_))n=parseFloat(n),s=parseFloat(s),_=Math.abs(parseFloat(_)),0==n%1&&0==s%1&&0==_%1?(n<=s?(s++,t=0==n&&1==_?s:n+", "+s,1!=_&&(t+=", "+_)):t=n+", "+--s+", -"+_,t="range("+t+")"):(t=n",GTE:">="};const ra=function(t,e){var i=this.getFieldValue("OP"),n="&&"==i?e.ORDER_LOGICAL_AND:e.ORDER_LOGICAL_OR,s=e.valueToCode(this,"A",n)||"False",_=e.valueToCode(this,"B",n)||"False";if("AND"==i)var o=s+" and "+_;else if("OR"==i)o=s+" or "+_;else if("NOR"==i)o="not("+s+"^"+_+")";else o=s+"^"+_;return[o,n]},la=function(t,e){var i=e.ORDER_UNARY_PREFIX;return["not "+(e.valueToCode(this,"BOOL",i)||"False"),i]},da=function(t,e){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",e.ORDER_ATOMIC]},Ia=function(t,e){return["None",e.ORDER_ATOMIC]},Ta=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"False";return["("+(e.valueToCode(this,"B",e.ORDER_ATOMIC)||"False")+" if "+i+" else "+(e.valueToCode(this,"C",e.ORDER_ATOMIC)||"False")+")",e.ORDER_ATOMIC]},Ma=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},ha=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},ma=function(t,e){return["bool("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||"0")+")",e.ORDER_ATOMIC]},Ea=function(t,e){return e.definitions_.import_os="import os","os.startfile("+e.valueToCode(this,"fn",e.ORDER_ATOMIC)+")\n"},Oa=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+" = open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},Ra=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",e.ORDER_ATOMIC]},ca=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',e.ORDER_ATOMIC]},ga=function(t,e){var i=e.valueToCode(this,"data",e.ORDER_ATOMIC);return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".write("+i+")\n"},Ca=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"()",e.ORDER_ATOMIC]},Sa=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Aa=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".readline("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},La=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".writable()",e.ORDER_ATOMIC]},Na=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".name()",e.ORDER_ATOMIC]},Da=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".close()\n"},fa=function(t,e){e.definitions_.import_os="import os";return["os.listdir()",e.ORDER_ATOMIC]},Fa=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},Pa=function(t,e){return e.definitions_.import_os="import os",["os.path.getsize("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},va=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".tell()",e.ORDER_ATOMIC]},Ya=function(t,e){var i=this.getFieldValue("MODE"),n=0;return n="start"==i?0:"current"==i?1:2,e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".seek("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+","+n+")\n"},Xa=function(t,e){return e.definitions_.import_os="import os","os.chdir("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},ya=function(t,e){e.definitions_.import_os="import os";return["os.getcwd()",e.ORDER_ATOMIC]},ba=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"PATH",e.ORDER_ATOMIC)+")\n"},xa=function(t,e){return e.definitions_.import_os="import os","os.rename("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+","+e.valueToCode(this,"NEWFILE",e.ORDER_ATOMIC)+")\n"},Va=function(t,e){e.definitions_.import_os="import os";var i=e.valueToCode(this,"FILE",e.ORDER_ATOMIC);return["os."+this.getFieldValue("MODE")+"("+i+")",e.ORDER_ATOMIC]},Ba=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = sdcard.SDCard("+e.valueToCode(this,"SPISUB",e.ORDER_ATOMIC)+","+e.valueToCode(this,"PINSUB",e.ORDER_ATOMIC)+")\n"},Ga=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard","os.mount("+e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+","+e.valueToCode(this,"DIR",e.ORDER_ATOMIC)+")\n"},Ua=function(t,e){var i=e.variableDB_.getName(this.getFieldValue("NAME"),Rt.Procedures.NAME_TYPE),n=(this.getInput("STACK")&&e.statementToCode(this,"STACK"))??" pass\n";e.INFINITE_LOOP_TRAP&&(n=e.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+n);var s=e.valueToCode(this,"RETURN",e.ORDER_NONE)||"";s&&(s=" return "+s+"\n");for(var _=[],o=0;o\n\n\n\t\n"+e.statementToCode(this,"HEAD")+"\n\n"+e.statementToCode(this,"BODY")+"\n\n'''",e.ORDER_ATOMIC]},Cu=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"\n"+i+"\n"},Su=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");if("head"==n)var s="<"+n+'>\n\t\n'+i+"\n";else s="<"+n+">\n"+i+"\n";return s},Au=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"<"+n+">\n"+i+"\n"},Lu=function(t,e){var i=e.statementToCode(this,"DO"),n=e.valueToCode(this,"style"),s=this.getFieldValue("LEVEL");return"<"+s+" "+n+" >\n"+i+"\n"},Nu=function(t,e){return['style="'+e.statementToCode(this,"STYLE")+'"',e.ORDER_ATOMIC]},Du=function(t,e){return'"},fu=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},Fu=function(){return this.getFieldValue("TEXT")+"\n"},Pu=function(t){return t.getFieldValue("TEXT")+"\n"},vu=function(t,e){return[t.getFieldValue("TEXT"),e.ORDER_ATOMIC]},Yu=function(t,e){return(e.valueToCode(t,"VALUE",e.ORDER_ATOMIC)||"")+"\n"},Xu=function(){return""},yu=function(t,e){return["type("+(e.valueToCode(t,"VALUE",e.ORDER_MEMBER)||"___")+")",e.ORDER_ATOMIC]},bu=function(t,e){for(var i=t.getFieldValue("NAME"),n=t.hasReturn_,s=new Array(t.itemCount_),_=0;_0?e.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+t+"while True:\n"+a.join("")+u.join("\n"):e.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+t+u.join("\n")},Gu.scrubNakedValue=function(t){return t+"\n"},Gu.quote_=function(t){var e="'";return-1!==t.indexOf("'")&&(-1===t.indexOf('"')?e='"':t=t.replace(/'/g,"\\'")),e+t+e},Gu.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},Gu.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(_=t.getCommentText())&&(_=Rt.utils.string.wrap(_,Gu.COMMENT_WRAP-3),n+=Gu.prefixLines(_+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const Uu="#74A55B",wu={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MIDI),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.MIXLY_RGB_PIN_COUNT)}},ku={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Rt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Hu={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Rt.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(Rt.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},Wu={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(Rt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Ku={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(Rt.Msg.MIXLY_BACKSTAGE+Rt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_BACKSTAGE+Rt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Ju={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendValueInput("TICKS").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(Rt.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(Rt.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},qu={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},Qu={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_RESET)}},zu={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ju={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendValueInput("percent").appendField(Rt.Msg.MIXLY_MUSIC_VOLUME_SET),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},$u={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.MIXLY_SETTING).appendField(Rt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(Rt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_EXTERN_LED_SETONOFF)}},Zu={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Rt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},tr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Rt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},er={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.MIXLY_SETTING).appendField(Rt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(Rt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_EXTERN_LED_SETBRIGHT)}},ir={init:function(){this.setColour(Uu),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_SETUP+Rt.Msg.MIXLY_SERVO),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},nr={init:function(){this.setColour(Uu),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_SERVO).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("DEGREE",Number).setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_DEGREE_0_180),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_SERVO_MOVE)}},sr={init:function(){this.setColour(Uu),this.appendValueInput("VAR").appendField("360°"+Rt.Msg.MIXLY_SERVO),this.appendValueInput("SPEED",Number).setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_SETTING+Rt.Msg.blockpy_turtle_rotate+Rt.Msg.MIXLY_SPEED+" (-10~10)"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_SERVO_360_TOOLTIP)}},_r={init:function(){this.setColour(Uu),this.appendValueInput("PIN",Number).appendField("180°"+Rt.Msg.MIXLY_SERVO).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_SERVO_MOVE)}},or={init:function(){this.setColour(Uu),this.appendValueInput("PIN",Number).appendField("360°"+Rt.Msg.MIXLY_SERVO).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_SERVO_SPEED_TOOLIPS)}},pr={init:function(){this.setColour(Uu),this.appendValueInput("PIN",Number).appendField("180°"+Rt.Msg.MIXLY_SERVO).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET+Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},ar={init:function(){this.setColour(Uu),this.appendValueInput("PIN",Number).appendField("360°"+Rt.Msg.MIXLY_SERVO).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET+Rt.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},ur={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField("初始化").setCheck("var"),this.appendDummyInput().appendField("电机驱动"),this.appendDummyInput().appendField("地址").appendField(new Rt.FieldDropdown([["A","ms32006.ADDRESS_A"],["B","ms32006.ADDRESS_B"]]),"mode"),this.appendValueInput("SUB1").setCheck("var").setAlign(Rt.inputs.Align.RIGHT).appendField("通信"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("初始化MS32006电机驱动,使用I2C通信")}},rr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField("直流电机").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Direction).appendField(new Rt.FieldDropdown([[Rt.Msg.CLOCKWISE,"ms32006.MOT_CW"],[Rt.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"],[Rt.Msg.MOTOR_N,"ms32006.MOT_N"],[Rt.Msg.MOTOR_P,"ms32006.MOT_P"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_STEPPER_SET_SPEED),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置直流电机的状态及转速(0-100)")}},lr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField("步进电机").setCheck("var"),this.appendDummyInput().appendField("选择").appendField(new Rt.FieldDropdown([["A","ms32006.MOT_A"],["B","ms32006.MOT_B"]]),"mode"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Direction).appendField(new Rt.FieldDropdown([[Rt.Msg.CLOCKWISE,"ms32006.MOT_CW"],[Rt.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField("转速"),this.appendValueInput("steps").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField("步数"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置步进电机的状态、转速、步数(0-2047)")}},dr={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_PIN),this.appendValueInput("LEDCOUNT").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_COUNT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.MIXLY_RGB_PIN_COUNT)}},Ir={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("_LED_").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Rt.Msg.MIXLY_RGB_NUM_R_G_B_MP)}},Tr={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Rt.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},Mr={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_WRI)}},hr={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(Rt.Msg.MIXLY_DURATION).appendField(Rt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},mr={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(Rt.Msg.PYTHON_RANGE_STEP).appendField(Rt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Er={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(Rt.Msg.CONTROLS_FOR_INPUT_WITH+"uart").appendField(new Rt.FieldDropdown([["uart1","uart1"],["uart2","uart2"]]),"key"),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_SETUP+Rt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new Rt.FieldDropdown([["SYN6288"+Rt.Msg.MIXLY_AipSpeech_synthesis,"SYN6288"],["NS9300"+Rt.Msg.MIXLY_MUSIC_PLAYER,"NS9300"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Or={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_GET+Rt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_WHETHER).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_STOPPED,"0"],[Rt.Msg.MIXLY_PLAYING,"1"],[Rt.Msg.MIXLY_PAUSED,"2"]]),"key"),this.setInputsInline(!0),this.setOutput(!0)}},Rr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_STAT).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MP3_PLAY,"1"],[Rt.Msg.MIXLY_MP3_PAUSE,"2"],[Rt.Msg.MIXLY_STOP,"3"],[Rt.Msg.MIXLY_MP3_PREV,"4"],[Rt.Msg.MIXLY_MP3_NEXT,"5"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},cr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendValueInput("volume").appendField(Rt.Msg.MIXLY_MP3_VOL+Rt.Msg.MIXLY_STAT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_PLAYER_SET_VOLUME_TOOLTIP)}},gr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MODE+Rt.Msg.MIXLY_STAT).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MP3_LOOP_ALL,"0"],[Rt.Msg.MIXLY_MP3_LOOP_ONE,"1"],[Rt.Msg.MIXLY_PLAYER_DIRECTORY_LOOP,"2"],[Rt.Msg.MIXLY_MP3_LOOP_RAM,"3"],[Rt.Msg.MIXLY_PLAYER_SINGLE_STOP,"4"],[Rt.Msg.MIXLY_PLAYER_SEQUENTIAL_PLAY,"5"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Cr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_JS_START_MELODY,"play"],[Rt.Msg.MIXLY_PLAYER_INSERT_MUSIC,"insert"]]),"key"),this.appendValueInput("song"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_PLAYER_PLAY_MUSIC_TOOTIP)}},Sr={},Ar={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(Rt.Msg.MIXLY_SET_VOLUME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},Lr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET_VOLUME),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},Nr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(Rt.Msg.MIXLY_PLAY_HINTS),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PROGRAM_BLOCK).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Rt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_PLAY_HINTS_TOOLTIP)}},Dr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("data").setCheck(String).appendField(Rt.Msg.MIXLY_AipSpeech_synthesis),this.appendValueInput("VOICE").setCheck(Number).appendField(Rt.Msg.MIXLY_BACKGROUND_MUSIC),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PROGRAM_BLOCK).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Rt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_PLAY_TTS_TOOLTIP)}},fr={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.extern_addr),"PIN"),this.setOutput(!0,Number)}},Fr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.ME_GO_MOTOR_EXTERN+Rt.Msg.MIXLY_MOTOR).appendField(Rt.Msg.PIN_NUMBERING).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LEFT,"0"],[Rt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},Pr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.ME_GO_MOTOR_EXTERN+Rt.Msg.MIXLY_MOTOR).appendField(Rt.Msg.PIN_NUMBERING).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LEFT,"0"],[Rt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_GET+Rt.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},vr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.ME_GO_MOTOR_EXTERN+Rt.Msg.MIXLY_TRAFFIC_LIGHT).appendField(Rt.Msg.PIN_NUMBERING).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LEFT,"0"],[Rt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.LISTS_SET_INDEX_SET).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_Turn_off_display,"0"],[Rt.Msg.MIXLY_TRAFFIC_LIGHT_RED_ON,"1"],[Rt.Msg.MIXLY_TRAFFIC_LIGHT_RED_BLINK,"2"],[Rt.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_ON,"3"],[Rt.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_BLINK,"4"],[Rt.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_ON,"5"],[Rt.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_BLINK,"6"]]),"light"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Yr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.ME_GO_MOTOR_EXTERN).appendField(new Rt.FieldDropdown([[Rt.Msg.COLOUR_RGB_WHITE,"W"],[Rt.Msg.COLOUR_RGB_RED,"R"],[Rt.Msg.COLOUR_RGB_YELLOW,"Y"],[Rt.Msg.COLOUR_RGB_GREEN,"G"],[Rt.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(Rt.Msg.PIN_NUMBERING).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LEFT,"0"],[Rt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("value").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Xr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.ME_GO_MOTOR_EXTERN).appendField(new Rt.FieldDropdown([[Rt.Msg.COLOUR_RGB_WHITE,"W"],[Rt.Msg.COLOUR_RGB_RED,"R"],[Rt.Msg.COLOUR_RGB_YELLOW,"Y"],[Rt.Msg.COLOUR_RGB_GREEN,"G"],[Rt.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(Rt.Msg.PIN_NUMBERING).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LEFT,"0"],[Rt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET+Rt.Msg.BRIGHTNESS),this.setOutput(!0,Number),this.setInputsInline(!0)}},yr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.ME_GO_MOTOR_EXTERN+Rt.Msg.MIXLY_SERVO_MOTOR).appendField(Rt.Msg.PIN_NUMBERING).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LEFT,"0"],[Rt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"[0]"],[Rt.Msg.MIXLY_SPEED,"[1]"],[Rt.Msg.MATH_SINGLE_OP_ABSOLUTE+Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[2]"],[Rt.Msg.MIXLY_RELATIVE+Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[3]"],[Rt.Msg.MIXLY_MIXBOT_SERVO_BLOCK_OR_NOT,"[4]"],[Rt.Msg.MIXLY_MIXBOT_SERVO_FINISH_OR_NOT,"[5]"],[Rt.Msg.MIXLY_ALL,""]]),"status"),this.setOutput(!0,Number),this.setInputsInline(!0)}},br={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.ME_GO_MOTOR_EXTERN+Rt.Msg.MIXLY_SERVO_MOTOR).appendField(Rt.Msg.PIN_NUMBERING).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LEFT,"0"],[Rt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MIXBOT_SERVO_SET_STOP_MODE).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_KEEP,"0"],[Rt.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_COAST,"1"],[Rt.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_BRAKE,"2"]]),"status"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},xr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.ME_GO_MOTOR_EXTERN+Rt.Msg.MIXLY_SERVO_MOTOR).appendField(Rt.Msg.PIN_NUMBERING).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LEFT,"0"],[Rt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_STOP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Vr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.ME_GO_MOTOR_EXTERN+Rt.Msg.MIXLY_SERVO_MOTOR).appendField(Rt.Msg.MATH_SINGLE_OP_ABSOLUTE+Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+Rt.Msg.MSG.run).appendField(Rt.Msg.PIN_NUMBERING).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LEFT,"0"],[Rt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MODE).setAlign(Rt.inputs.Align.RIGHT).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_SPEED+Rt.Msg.MIXLY_MODE,"0"],[Rt.Msg.MIXLY_MICROBIT_JS_BLE_POWER+Rt.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(Rt.inputs.Align.RIGHT).appendField(new Rt.FieldDropdown([[Rt.Msg.CLOCKWISE,"0"],[Rt.Msg.MIXLY_MIXBOT_SERVO_NEAREST_PATH,"1"],[Rt.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.appendValueInput("angle").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MIXBOT_SERVO_ABSOLUTE_ANGLE_TOOLTIP)}},Br={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.ME_GO_MOTOR_EXTERN+Rt.Msg.MIXLY_SERVO_MOTOR).appendField(Rt.Msg.MIXLY_RELATIVE+Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+Rt.Msg.MSG.run).appendField(Rt.Msg.PIN_NUMBERING).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LEFT,"0"],[Rt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ORIGIN_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Gr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.ME_GO_MOTOR_EXTERN+Rt.Msg.MIXLY_SERVO_MOTOR).appendField(Rt.Msg.MIXLY_RELATIVE+Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+Rt.Msg.MSG.run).appendField("("+Rt.Msg.MIXLY_MIXBOT_SERVO_LIKE_ENCODING_MOTOR+")").appendField(Rt.Msg.PIN_NUMBERING).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LEFT,"0"],[Rt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MODE).setAlign(Rt.inputs.Align.RIGHT).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_SPEED+Rt.Msg.MIXLY_MODE,"0"],[Rt.Msg.MIXLY_MICROBIT_JS_BLE_POWER+Rt.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField("%"),this.appendValueInput("angle").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ANGLE_TOOLTIP)}},Ur={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.ME_GO_MOTOR_EXTERN+Rt.Msg.MIXLY_SERVO_MOTOR).appendField(Rt.Msg.MIXLY_RELATIVE+Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+Rt.Msg.MSG.run).appendField("("+Rt.Msg.MIXLY_MIXBOT_SERVO_LIKE_ORDINARY_MOTOR+")").appendField(Rt.Msg.PIN_NUMBERING).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LEFT,"0"],[Rt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MODE).setAlign(Rt.inputs.Align.RIGHT).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_SPEED+Rt.Msg.MIXLY_MODE,"0"],[Rt.Msg.MIXLY_MICROBIT_JS_BLE_POWER+Rt.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(Rt.inputs.Align.RIGHT).appendField(new Rt.FieldDropdown([[Rt.Msg.CLOCKWISE,"0"],[Rt.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},wr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.MIXBOT).appendField(Rt.Msg.ME_GO_MOTOR_EXTERN).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MOTOR,"ext_motor"],[Rt.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[Rt.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[Rt.Msg.COLOUR_RGB_RED+"LED","R_LED"],[Rt.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[Rt.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[Rt.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[Rt.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MIXBOT_EXTERN_GET_ADDR),this.setOutput(!0),this.setInputsInline(!0)}},kr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.MIXBOT).appendField(Rt.Msg.ME_GO_MOTOR_EXTERN).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MOTOR,"ext_motor"],[Rt.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[Rt.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[Rt.Msg.COLOUR_RGB_RED+"LED","R_LED"],[Rt.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[Rt.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[Rt.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[Rt.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MIXBOT_EXTERN_SET_ADDR),this.appendValueInput("old").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE),this.appendValueInput("new").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_UPDATE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Hr={init:function(){this.setColour(Uu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_SETUP+Rt.Msg.MIXLY_AT).appendField(Rt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},Wr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.MIXLY_SETTING),this.appendValueInput("pin").appendField("LED"),this.appendValueInput("bright").appendField(Rt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Kr={init:function(){this.setColour(Uu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_SERVO+Rt.Msg.MIXLY_SETUP+Rt.Msg.MIXLY_AT).appendField(Rt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},Jr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_SERVO),this.appendValueInput("angle").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE),this.appendDummyInput().appendField(Rt.Msg.DRAW_POINTER_ANGLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},qr={init:function(){this.setColour(Uu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_MOTOR+Rt.Msg.MIXLY_SETUP+Rt.Msg.MIXLY_AT).appendField(Rt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},Qr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MOTOR),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+Rt.Msg.MIXLY_SPEED),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},zr="#6C9858",jr={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(new Rt.FieldDropdown([["L1","1"],["L2","2"]]),"op"),this.setOutput(!0)}},$r={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_ESP32_ON,"1"],[Rt.Msg.MIXLY_ESP32_OFF,"0"],[Rt.Msg.MIXLY_ESP32_TOGGLE,"-1"]]),"flag"),this.setOutput(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},Zr={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(Rt.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(Rt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_LED_SETONOFF)}},tl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(Rt.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(Rt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_LED_GETBRIGHT)}},el={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(Rt.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_LED_GETONOFF)}},il={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(Rt.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(Rt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_SETTING+Rt.Msg.MIXLY_BUILDIN_LED+Rt.Msg.MIXLY_BRIGHTNESS+"(0-100%)")}},nl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(Rt.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_LCD_SETCOLOR).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LIGHT_RED,"1"],[Rt.Msg.MIXLY_LIGHT_GREEN,"2"],[Rt.Msg.MIXLY_LIGHT_BLUE,"3"],[Rt.Msg.MIXLY_LIGHT_YELLOW,"4"],[Rt.Msg.MIXLY_LIGHT_CYAN,"5"],[Rt.Msg.MIXLY_LIGHT_PURPLE,"6"],[Rt.Msg.MIXLY_LIGHT_WHITE,"7"]]),"colorvalue"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},sl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_SETTING).appendField(Rt.Msg.MIXLY_BUILDIN_LED).appendField(new Rt.FieldDropdown([[Rt.Msg.COLOUR_RGB_RED,"r"],[Rt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(Rt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_LED_SETONOFF)}},_l={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Rt.Msg.MIXLY_BUILDIN_LED).appendField(new Rt.FieldDropdown([[Rt.Msg.COLOUR_RGB_RED,"r"],[Rt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_LED_GETONOFF)}},ol={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Rt.Msg.MIXLY_BUILDIN_LED).appendField(new Rt.FieldDropdown([[Rt.Msg.COLOUR_RGB_RED,"r"],[Rt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_LED_GETONOFF)}},pl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_SETTING).appendField(Rt.Msg.MIXLY_BUILDIN_LED).appendField(new Rt.FieldDropdown([[Rt.Msg.COLOUR_RGB_RED,"r"],[Rt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(Rt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_SETTING+Rt.Msg.MIXLY_BUILDIN_LED+Rt.Msg.MIXLY_BRIGHTNESS+"(0-10)")}},al={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(new Rt.FieldDropdown([["L1","20"],["L2","21"]]),"op"),this.setOutput(!0)}},ul={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(ct.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgo_cc":case"micropython:esp32s2:mixgo_ce":this.setTooltip(Rt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgo_me":default:this.setTooltip(Rt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(Rt.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},rl={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Rt.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},ll={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(Rt.Msg.MIXLY_DURATION).appendField(Rt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},dl={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(Rt.Msg.PYTHON_RANGE_STEP).appendField(Rt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Il={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_WRI)}},Tl={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(ct.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgocc":this.setTooltip(Rt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgome":default:this.setTooltip(Rt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(Rt.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},Ml={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Rt.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},hl={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(Rt.Msg.PYTHON_RANGE_STEP).appendField(Rt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},ml={init:function(){this.setColour(zr),this.appendValueInput("TICKS").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(Rt.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(Rt.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},El={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},Ol={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_RESET)}},Rl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Rt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},cl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Rt.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(Rt.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},gl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Cl={init:function(){this.setColour(zr),this.appendValueInput("LIST").appendField(Rt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Sl={init:function(){this.setColour(zr),this.appendValueInput("LIST").appendField(Rt.Msg.MIXLY_BACKSTAGE+Rt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Al={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MOTOR_DC).appendField(new Rt.FieldDropdown([["1","1"],["2","2"],["3","3"]]),"wheel"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Direction).appendField(new Rt.FieldDropdown([[Rt.Msg.CLOCKWISE,"CW"],[Rt.Msg.ANTI_CLOCKWISE,"CCW"],[Rt.Msg.MOTOR_P,"P"],[Rt.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Ll={init:function(){this.setColour(zr),this.appendDummyInput().appendField("MixGo Car").appendField(new Rt.FieldDropdown([[Rt.Msg.blockpy_forward,"F"],[Rt.Msg.blockpy_backward,"B"],[Rt.Msg.blockpy_left,"L"],[Rt.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Nl={init:function(){this.setColour(zr),this.appendDummyInput("").appendField("MixGo Car").appendField(new Rt.FieldDropdown([[Rt.Msg.MOTOR_P,"P"],[Rt.Msg.MOTOR_N,"N"]]),"VAR"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Dl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MOTOR_DC).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[Rt.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Direction).appendField(new Rt.FieldDropdown([[Rt.Msg.CLOCKWISE,"CW"],[Rt.Msg.ANTI_CLOCKWISE,"CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},fl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MOTOR_DC).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[Rt.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_STOP).appendField(new Rt.FieldDropdown([[Rt.Msg.MOTOR_P,"P"],[Rt.Msg.MOTOR_N,"N"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Fl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MIXBOT_MOTOR_STATUS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MIXBOT_MOTOR_STATUS_TOOLTIP)}},Pl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXBOT).appendField(new Rt.FieldDropdown([[Rt.Msg.blockpy_forward,"F"],[Rt.Msg.blockpy_backward,"B"],[Rt.Msg.blockpy_left,"L"],[Rt.Msg.blockpy_right,"R"]]),"VAR"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[Rt.Msg.MIXLY_SPEED,"SPEED"],[Rt.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},vl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXBOT).appendField(new Rt.FieldDropdown([[Rt.Msg.MOTOR_P,"P"],[Rt.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Yl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXBOT).appendField(Rt.Msg.MIXLY_MOTOR).appendField(new Rt.FieldDropdown([[Rt.Msg.TEXT_TRIM_LEFT,"1"],[Rt.Msg.TEXT_TRIM_RIGHT,"2"],[Rt.Msg.TEXT_TRIM_BOTH,"0"]]),"wheel"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[Rt.Msg.MIXLY_SPEED,"SPEED"],[Rt.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},Xl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MIXBOT_BUZZER),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,"0"],[Rt.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,"1"]]),"on_off"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},yl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.BITBOT).appendField(new Rt.FieldDropdown([[Rt.Msg.blockpy_forward,"F"],[Rt.Msg.blockpy_backward,"B"],[Rt.Msg.blockpy_left,"L"],[Rt.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},bl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.BITBOT).appendField(new Rt.FieldDropdown([[Rt.Msg.MOTOR_P,"P"],[Rt.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},xl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.BITBOT).appendField(Rt.Msg.MIXLY_MOTOR).appendField(new Rt.FieldDropdown([[Rt.Msg.TEXT_TRIM_LEFT,"0"],[Rt.Msg.TEXT_TRIM_RIGHT,"1"]]),"wheel"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Direction).appendField(new Rt.FieldDropdown([[Rt.Msg.CLOCKWISE,"CW"],[Rt.Msg.ANTI_CLOCKWISE,"CCW"],[Rt.Msg.MOTOR_P,"P"],[Rt.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Vl={init:function(){this.setColour(zr),this.appendValueInput("bright").appendField(Rt.Msg.MIXLY_MIXBOT_SOUND_SET_LOUDNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_LED_SETONOFF)}},Bl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MIXBOT_SOUND_LOUDNESS+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_LED_GETONOFF)}},Gl={init:function(){this.setColour(zr),this.appendValueInput("bright").appendField(Rt.Msg.MIXLY_SETTING+Rt.Msg.MIXLY_MIXBOT_BUZZER+Rt.Msg.MIXLY_MP3_VOL),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_LED_SETONOFF)}},Ul={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET+Rt.Msg.MIXLY_MIXBOT_BUZZER+Rt.Msg.MIXLY_MP3_VOL+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_LED_GETONOFF)}},wl={init:function(){this.setColour(zr),this.appendValueInput("PATH").appendField(Rt.Msg.MIXLY_RECORD_AUDIO).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendValueInput("TIME").setCheck(Number).appendField(Rt.Msg.MIXLY_GET_PRESSES_TIME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},kl={init:function(){this.setColour(zr),this.appendValueInput("PATH").appendField(Rt.Msg.MIXLY_PLAY_AUDIO).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Hl={init:function(){this.setColour(zr),this.appendValueInput("PATH").appendField(Rt.Msg.MIXLY_PLAY_ONLINE_AUDIO).appendField("URL"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Wl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Rt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Kl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Jl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.LISTS_SET_INDEX_SET+Rt.Msg.ME_GO_MOTOR_EXTERN).appendField(Rt.Msg.PIN_NUMBERING);switch(ct.Boards.getSelectedBoardKey()){case"micropython:esp32c2:mixgo_mini":this.appendDummyInput().appendField(new Rt.FieldDropdown([["1","1"],["2","2"]]),"index");break;case"micropython:esp32c5:mixgo_sowl":this.appendDummyInput().appendField(new Rt.FieldDropdown([["1","1"],["2","2"],["4","4"],["5","5"]]),"index");break;default:this.appendDummyInput().appendField(new Rt.FieldDropdown([["1","1"],["2","2"],["3","3"],["4","4"]]),"index")}this.appendValueInput("duty").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.blynk_IOT_IR_POWER+Rt.Msg.MIXLY_PINMODEOUT),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},ql={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET+Rt.Msg.ME_GO_MOTOR_EXTERN).appendField(Rt.Msg.PIN_NUMBERING);switch(ct.Boards.getSelectedBoardKey()){case"micropython:esp32c2:mixgo_mini":this.appendDummyInput().appendField(new Rt.FieldDropdown([["1","1"],["2","2"]]),"index");break;case"micropython:esp32c5:mixgo_sowl":this.appendDummyInput().appendField(new Rt.FieldDropdown([["1","1"],["2","2"],["4","4"],["5","5"]]),"index");break;default:this.appendDummyInput().appendField(new Rt.FieldDropdown([["1","1"],["2","2"],["3","3"],["4","4"]]),"index")}this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.blynk_IOT_IR_POWER+Rt.Msg.MIXLY_PINMODEOUT+Rt.Msg.MIXLY_DUTY_RATIO),this.setOutput(!0,Number),this.setInputsInline(!0)}},Ql={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.LISTS_SET_INDEX_SET+Rt.Msg.ME_GO_MOTOR_EXTERN).appendField(Rt.Msg.MIXLY_ALL+Rt.Msg.PIN_NUMBERING),this.appendValueInput("duty").setCheck(Number).setAlign(Rt.ALIGN_RIGHT).appendField(Rt.Msg.blynk_IOT_IR_POWER+Rt.Msg.MIXLY_PINMODEOUT+Rt.Msg.MIXLY_FREQUENCY),this.appendDummyInput().appendField("Hz"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},zl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.LISTS_SET_INDEX_SET+Rt.Msg.ME_GO_MOTOR_EXTERN).appendField(new Rt.FieldDropdown([["1-2","1"],["4-5","4"]]),"index"),this.appendValueInput("duty").setCheck(Number).setAlign(Rt.ALIGN_RIGHT).appendField(Rt.Msg.blynk_IOT_IR_POWER+Rt.Msg.MIXLY_PINMODEOUT+Rt.Msg.MIXLY_FREQUENCY),this.appendDummyInput().appendField("Hz"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},jl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.ANALOG+Rt.Msg.MIXLY_KEYBOARD_INPUT),this.appendValueInput("special"),this.appendValueInput("general"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_RELEASE).appendField(new Rt.FieldDropdown([[Rt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[Rt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"release"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.ANALOG+Rt.Msg.MIXLY_KEYBOARD_INPUT)}},$l={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_SPECIAL_KEY).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_SPECIAL_KEY0,"0x00"],[Rt.Msg.MIXLY_SPECIAL_KEY1,"0x01"],[Rt.Msg.MIXLY_SPECIAL_KEY2,"0x02"],[Rt.Msg.MIXLY_SPECIAL_KEY4,"0x04"],[Rt.Msg.MIXLY_SPECIAL_KEY8,"0x08"],[Rt.Msg.MIXLY_SPECIAL_KEY16,"0x10"],[Rt.Msg.MIXLY_SPECIAL_KEY32,"0x20"],[Rt.Msg.MIXLY_SPECIAL_KEY64,"0x40"],[Rt.Msg.MIXLY_SPECIAL_KEY128,"0x80"]]),"op"),this.setOutput(!0)}},Zl={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_GENERAL_KEY).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_SPECIAL_KEY0,"0x00"],["A","0x04"],["B","0x05"],["C","0x06"],["D","0x07"],["E","0x08"],["F","0x09"],["G","0x0A"],["H","0x0B"],["I","0x0C"],["J","0x0D"],["K","0x0E"],["L","0x0F"],["M","0x10"],["N","0x11"],["O","0x12"],["P","0x13"],["Q","0x14"],["R","0x15"],["S","0x16"],["T","0x17"],["U","0x18"],["V","0x19"],["W","0x1A"],["X","0x1B"],["Y","0x1C"],["Z","0x1D"],["1 !","0x1E"],["2 @","0x1F"],["3 #","0x20"],["4 $","0x21"],["5 %","0x22"],["6 ^","0x23"],["7 &","0x24"],["8 *","0x25"],["9 (","0x26"],["0 )","0x27"],["ENTER","0x28"],["ESC","0x29"],["BACKSPACE","0x2A"],["TAB","0x2B"],["SPACE","0x2C"],["- _","0x2D"],["= +","0x2E"],["[ {","0x2F"],["] }","0x30"],["\\ |","0x31"],["; :","0x33"],["' \"","0x34"],["` ~","0x35"],[", <","0x36"],[". >","0x37"],["/ ?","0x38"],["CAPS_LOCK","0x39"],["F1","0x3A"],["F2","0x3B"],["F3","0x3C"],["F4","0x3D"],["F5","0x3E"],["F6","0x3F"],["F7","0x40"],["F8","0x41"],["F9","0x42"],["F10","0x43"],["F11","0x44"],["F12","0x45"],["PRINTSCREEN","0x46"],["SCROLL_LOCK","0x47"],["PAUSE","0x48"],["INSERT","0x49"],["HOME","0x4A"],["PAGE_UP","0x4B"],["DELETE","0x4C"],["END","0x4D"],["PAGE_DOWN","0x4E"],["RIGHT","0x4F"],["LEFT","0x50"],["DOWN","0x51"],["UP","0x52"],["NUM_LOCK","0x53"],["/","0x54"],["*","0x55"],["-","0x56"],["+","0x57"],["ENTER","0x58"],["1","0x59"],["2","0x5A"],["3","0x5B"],["4","0x5C"],["5","0x5D"],["6","0x5E"],["7","0x5F"],["8","0x60"],["9","0x61"],["0","0x62"],[".","0x63"]]),"op"),this.setOutput(!0)}},td={init:function(){this.setColour(zr),this.itemCount_=2,this.updateShape_(),this.setOutput(!0),this.setMutator(new Rt.icons.MutatorIcon(["generalkey_create_with_item"],this)),this.setTooltip(Rt.Msg.GENERALKEY_TUPLE_CREATE_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("generalkey_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;nnew Array(32).fill(0)))},mm={init:function(){this.jsonInit({colour:om,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SAD","SAD"],["SMILE","SMILE"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["SURPRISED","SURPRISED"],["ASLEEP","ASLEEP"],["ANGRY","ANGRY"],["CONFUSED","CONFUSED"],["NO","NO"],["YES","YES"]],type:"field_dropdown"}],output:["esp32_image","List"],helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#attributes",tooltip:Rt.Msg.MIXLY_MICROBIT_Built_in_image1,message0:Rt.Msg.MIXLY_MICROBIT_Built_in_image})}},Em={init:function(){this.setColour(om),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new Rt.FieldDropdown(ct.Profile.default.builtinimg),"image"),this.setOutput(!0,["esp32_image","List"])}},Om={init:function(){this.setColour(om),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(Rt.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new Rt.FieldDropdown(Om.OPERATORS),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{"+":Rt.Msg.MIXLY_MICROBIT_image_add,"-":Rt.Msg.MIXLY_MICROBIT_image_reduce}[e]}))},OPERATORS:[[Rt.Msg.MICROBIT_DISPLAY_UNION,"add"],[Rt.Msg.MICROBIT_DISPLAY_MINUS,"sub"]]},Rm={init:function(){this.setColour(om),this.appendValueInput("A").setCheck("esp32_image").appendField(Rt.Msg.MIXLY_MICROBIT_Invert_image1),this.setInputsInline(!0),this.setOutput(!0,"esp32_image")}},cm={init:function(){this.setColour(om),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(Rt.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(Rt.Msg.DISPLAY_IMAGE_LET2).appendField(new Rt.FieldDropdown(cm.OPERATORS),"OP"),this.appendValueInput("val").appendField(Rt.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(Rt.Msg.DISPLAY_IMAGE_UNIT),["Python ESP32-S3","Python ESP32-C5"].includes(ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Rt.Msg.MIXLY_synchronize);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=Rt.Msg.DISPLAY_IMAGE_LET,n=Rt.Msg.DISPLAY_IMAGE_LET2,s=Rt.Msg.DISPLAY_IMAGE_LET3;return i+n+{shift_up:Rt.Msg.MIXLY_UP,shift_down:Rt.Msg.MIXLY_DOWN,shift_left:Rt.Msg.MIXLY_LEFT,shift_right:Rt.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[Rt.Msg.MIXLY_UP,"shift_up"],[Rt.Msg.MIXLY_DOWN,"shift_down"],[Rt.Msg.MIXLY_LEFT,"shift_left"],[Rt.Msg.MIXLY_RIGHT,"shift_right"]]},gm={init:function(){this.setColour(om),this.appendValueInput("x").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_JS_MONITOR_GET_POINT),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},Cm={init:function(){this.setColour(om),this.appendValueInput("x").setCheck(Number).appendField(Rt.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},Sm={init:function(){this.setColour(om),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},Am={init:function(){this.setColour(om),this.appendValueInput("x").setCheck(Number).appendField(Rt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},Lm={init:function(){this.setColour(om),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Clear_display),["Python ESP32-S3","Python ESP32-C5"].includes(ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Rt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Clear_display)}},Nm={init:function(){this.setColour(om),this.appendDummyInput().appendField(Rt.Msg.MIXLY_SHOW+Rt.Msg.MIXLY_DISPLAY_MATRIX_WRITE_NOW),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Dm={init:function(){this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<5;t++){let e=this.appendDummyInput();for(let i=0;i<8;i++)e.appendField(new Rt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(om),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},fm={init:function(){this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Rt.inputs.Align.CENTRE).appendField(new Rt.FieldBitmap(fm.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(om),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(8).fill(0)))},Fm={init:function(){this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<8;t++){let e=this.appendDummyInput();for(let i=0;i<12;i++)e.appendField(new Rt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(om),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Pm={init:function(){this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Rt.inputs.Align.CENTRE).appendField(new Rt.FieldBitmap(Pm.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(om),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(12).fill(0)))},vm={init:function(){this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<8;t++){let e=this.appendDummyInput();for(let i=0;i<16;i++)e.appendField(new Rt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0,"esp32_image"),this.setColour(om),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Ym={init:function(){this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Rt.inputs.Align.CENTRE).appendField(new Rt.FieldBitmap(Ym.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(om),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(16).fill(0)))},Xm={init:function(){this.setColour(om),this.appendDummyInput().appendField(Rt.Msg.OLED_SET_FONT).appendField(new Rt.FieldDropdown(Xm.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[["4x5"+Rt.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'4x5'"],["5x5"+Rt.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'5x5'"],["5x8"+Rt.Msg.MIXGO_ME_DISPLAY_VERTICAL,"'5x8'"]]},ym={init:function(){this.setColour(om),this.appendValueInput("data").appendField(Rt.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.OLED_BITMAP_OR_STRING)}},bm={init:function(){this.setColour(om),this.appendValueInput("data").appendField(Rt.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.OLED_BITMAP_OR_STRING)}},xm={init:function(){this.setColour(om),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(Rt.Msg.OLED_DRAWSTR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.OLED_BITMAP_OR_STRING)}},Vm={init:function(){this.setColour(om),this.appendValueInput("data").appendField(Rt.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Rt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(Rt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(Rt.Msg.TEXT_CENTER).appendField(new Rt.FieldDropdown([[Rt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[Rt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},Bm={init:function(){this.setColour(om),this.appendValueInput("data").appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Rt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(Rt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},Gm={init:function(){this.setColour(om),this.appendValueInput("data").appendField(Rt.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(Rt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Um={init:function(){this.setColour(om),this.appendValueInput("x").setCheck(Number).appendField(Rt.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},wm={init:function(){this.jsonInit({colour:om,args0:[{name:"state",options:[[Rt.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[Rt.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"shape",options:[[Rt.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[Rt.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"}],inputsInline:!0,helpUrl:Rt.Msg.mpython_HELPURL,tooltip:Rt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:Rt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},km={init:function(){this.jsonInit({colour:om,args0:[{name:"state",options:[[Rt.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[Rt.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"dir_h_v",options:[[Rt.Msg.mpython_vertical,"0"],[Rt.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"}],inputsInline:!0,helpUrl:Rt.Msg.mpython_HELPURL,tooltip:Rt.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:Rt.Msg.MPYTHON_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},Hm={init:function(){this.jsonInit({colour:om,args0:[{name:"state",options:[[Rt.Msg.mpython_display_hline_1,"1"],[Rt.Msg.mpython_display_hline_0,"0"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"}],inputsInline:!0,helpUrl:Rt.Msg.mpython_HELPURL,tooltip:Rt.Msg.mpython_display_line_TOOLTIP,message0:Rt.Msg.mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},Wm={init:function(){this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new Rt.FieldDropdown(Wm.IMAGES),"path"),this.setColour(om),this.setOutput(!0)},IMAGES:[["Heart","expression_picture.Heart"],["Angry","expression_picture.Angry"],["Bored","expression_picture.Bored"],["Confused","expression_picture.Confused"],["Happy","expression_picture.Happy"],["Paper","expression_picture.Paper"],["Rock","expression_picture.Rock"],["Sad","expression_picture.Sad"],["Scissors","expression_picture.Scissors"],["Silly","expression_picture.Silly"],["Sleep","expression_picture.Sleep"],["Small_heart","expression_picture.Small_heart"],["Small_paper","expression_picture.Small_paper"],["Small_rock","expression_picture.Small_rock"],["Small_scissors","expression_picture.Small_scissors"],["Smile","expression_picture.Smile"],["Surprise","expression_picture.Surprise"],["Wonderful","expression_picture.Wonderful"],["Eyes_Angry","eye_picture.Eyes_Angry"],["Awake","eye_picture.Awake"],["Black_eye","eye_picture.Black_eye"],["Bottom_left","eye_picture.Bottom_left"],["Bottom_right","eye_picture.Bottom_right"],["Crazy_1","eye_picture.Crazy_1"],["Crazy_2","eye_picture.Crazy_2"],["Disappointed","eye_picture.Disappointed"],["Dizzy","eye_picture.Dizzy"],["Down","eye_picture.Down"],["Evil","eye_picture.Evil"],["Hurt","eye_picture.Hurt"],["Knocked_out","eye_picture.Knocked_out"],["Love","eye_picture.Love"],["Middle_left","eye_picture.Middle_left"],["Middle_right","eye_picture.Middle_right"],["Neutral","eye_picture.Neutral"],["Nuclear","eye_picture.Nuclear"],["Pinch_left","eye_picture.Pinch_left"],["Pinch_middle","eye_picture.Pinch_middle"],["Pinch_right","eye_picture.Pinch_right"],["Tear","eye_picture.Tear"],["Tired_left","eye_picture.Tired_left"],["Tired_middle","eye_picture.Tired_middle"],["Tired_right","eye_picture.Tired_right"],["Toxic","eye_picture.Toxic"],["Up","eye_picture.Up"],["Winking","eye_picture.Winking"],["Accept","informatio_picture.Accept"],["Backward","informatio_picture.Backward"],["Decline","informatio_picture.Decline"],["Forward","informatio_picture.Forward"],["Left","informatio_picture.Left"],["No_go","informatio_picture.No_go"],["Question_mark","informatio_picture.Question_mark"],["Right","informatio_picture.Right"],["Stop_1","informatio_picture.Stop_1"],["Stop_2","informatio_picture.Stop_2"],["Thumbs_down","informatio_picture.Thumbs_down"],["Thumbs_up","informatio_picture.Thumbs_up"],["Warning","informatio_picture.Warning"],["Bomb","object_picture.Bomb"],["Boom","object_picture.Boom"],["Fire","object_picture.Fire"],["Flowers","object_picture.Flowers"],["Forest","object_picture.Forest"],["Lightning","object_picture.Lightning"],["Light_off","object_picture.Light_off"],["Light_on","object_picture.Light_on"],["Night","object_picture.Night"],["Pirate","object_picture.Pirate"],["Snow","object_picture.Snow"],["Target","object_picture.Target"],["Bar_0","progres_picture.Bar_0"],["Bar_1","progres_picture.Bar_1"],["Bar_2","progres_picture.Bar_2"],["Bar_3","progres_picture.Bar_3"],["Bar_4","progres_picture.Bar_4"],["Dial_0","progres_picture.Dial_0"],["Dial_1","progres_picture.Dial_1"],["Dial_2","progres_picture.Dial_2"],["Dial_3","progres_picture.Dial_3"],["Dial_4","progres_picture.Dial_4"],["Dots_0","progres_picture.Dots_0"],["Dots_1","progres_picture.Dots_1"],["Dots_2","progres_picture.Dots_2"],["Dots_3","progres_picture.Dots_3"],["Hourglass_0","progres_picture.Hourglass_0"],["Hourglass_1","progres_picture.Hourglass_1"],["Hourglass_2","progres_picture.Hourglass_2"],["Timer_0","progres_picture.Timer_0"],["Timer_1","progres_picture.Timer_1"],["Timer_2","progres_picture.Timer_2"],["Timer_3","progres_picture.Timer_3"],["Timer_4","progres_picture.Timer_4"],["Water_level_0","progres_picture.Water_level_0"],["Water_level_1","progres_picture.Water_level_1"],["Water_level_2","progres_picture.Water_level_2"],["Water_level_3","progres_picture.Water_level_3"],["YES","informatio_picture.YES"],["NO","informatio_picture.NO"]]},Km={init:function(){this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<5;t++){let e=this.appendDummyInput();for(let i=0;i<5;i++)e.appendField(new Rt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(om),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Jm={init:function(){this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Rt.inputs.Align.CENTRE).appendField(new Rt.FieldBitmap(Jm.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(om),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(5).fill(0)))},qm={init:function(){this.setColour(om),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},Qm={init:function(){this.setColour(om),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MIXBOT_AMBIENTBRIGHT),this.setInputsInline(!0),this.setOutput(!0,Number)}},zm={init:function(){this.setColour(om),this.appendValueInput("x").setCheck(Number).appendField(Rt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},jm={init:function(){this.setColour(om),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MIXBOT_SCREEN_ROTATE).appendField(new Rt.FieldDropdown(jm.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[[Rt.Msg.mixpy_PL_PIE_SHADOW_N,"0"],[Rt.Msg.CLOCKWISE+"90"+Rt.Msg.blockpy_setheading_degree,"1"],[Rt.Msg.CLOCKWISE+"180"+Rt.Msg.blockpy_setheading_degree,"2"],[Rt.Msg.CLOCKWISE+"270"+Rt.Msg.blockpy_setheading_degree,"3"]]},$m={init:function(){this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<12;t++){let e=this.appendDummyInput();for(let i=0;i<12;i++)e.appendField(new Rt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(om),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Zm={init:function(){this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Rt.inputs.Align.CENTRE).appendField(new Rt.FieldBitmap(Zm.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(om),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:12},(()=>new Array(12).fill(0)))},tE={init:function(){this.setColour(om),this.appendValueInput("data").appendField(Rt.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(Rt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Rt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},eE={init:function(){this.setColour(om),this.appendValueInput("x").setCheck(Number).appendField(Rt.Msg.OLED_BITMAP).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("direct").setCheck(String).appendField(Rt.Msg.MIXLY_AipImageClassify_Image+Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},iE={init:function(){this.setColour(om),this.appendValueInput("data").appendField(Rt.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Rt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(Rt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(Rt.Msg.TEXT_CENTER).appendField(new Rt.FieldDropdown([[Rt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[Rt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.appendValueInput("VAR").appendField(Rt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Rt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},nE={init:function(){this.setColour(om),this.appendValueInput("data").appendField(Rt.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(Rt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("VAR").appendField(Rt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},sE={init:function(){this.jsonInit({colour:om,args0:[{name:"shape",options:[[Rt.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[Rt.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:Rt.Msg.mpython_HELPURL,tooltip:Rt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:Rt.Msg.ONBOARD_TFT_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},_E={init:function(){this.jsonInit({colour:om,args0:[{name:"dir_h_v",options:[[Rt.Msg.mpython_vertical,"0"],[Rt.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:Rt.Msg.mpython_HELPURL,tooltip:Rt.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:Rt.Msg.ONBOARD_TFT_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},oE={init:function(){this.jsonInit({colour:om,args0:[{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:Rt.Msg.mpython_HELPURL,tooltip:Rt.Msg.mpython_display_line_TOOLTIP,message0:Rt.Msg.onboard_mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},pE={init:function(){this.setColour(om),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("x").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(Rt.Msg.HTML_COLOUR),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},aE={init:function(){this.setColour(om),this.appendValueInput("x").setCheck(Number).appendField(Rt.Msg.MIXLY_LCD_SETCOLOR).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("VAR").appendField(Rt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Rt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},uE={init:function(){this.setColour(om),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_SCREEN_FILL),["Python ESP32-S3","Python ESP32-C5"].includes(ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Rt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},rE={init:function(){this.setColour(om),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_INIT_CLOCK),this.appendDummyInput().appendField(Rt.Msg.MIXLY_CENTER_POS),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Rt.Msg.OLED_CIRCLE_RADIUS),this.appendValueInput("VAR").appendField(Rt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},lE={init:function(){this.setColour(om),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Rt.Msg.GET_RTCTIME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},dE={init:function(){this.setColour(om),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Rt.Msg.SET_TIME),this.appendValueInput("h").setCheck(Number).appendField(Rt.Msg.MIXLY_HOUR),this.appendValueInput("m").setCheck(Number).appendField(Rt.Msg.MIXLY_MINUTE),this.appendValueInput("s").setCheck(Number).appendField(Rt.Msg.MIXLY_SECOND),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},IE={init:function(){this.setColour(om),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Rt.Msg.DRAW_CLOCK),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},TE={init:function(){this.setColour(om),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Rt.Msg.CLEAR_CLOCK),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_STM32_TFT_BACKGROUND_COLOR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},ME={init:function(){this.jsonInit({colour:om,args0:[{name:"shape",options:[[Rt.Msg.MPYTHON_DISPLAY_HOLLOW,"False"],[Rt.Msg.MPYTHON_DISPLAY_SOLID,"True"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"r",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:Rt.Msg.mpython_HELPURL,message0:Rt.Msg.ONBOARD_TFT_DISPLAY_SHAPE_CIRCLE_MESSAGE0,nextStatement:null,previousStatement:null})}},hE={init:function(){this.setColour(om),this.appendDummyInput().appendField(Rt.Msg.DRAW_POINTER).appendField(Rt.Msg.DRAW_POINTER_ANGLE),this.appendValueInput("angle"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_DRAW_POINTER_DU),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.DRAW_POINTER_TOOLTIP)}},mE={init:function(){this.setColour(om),this.appendDummyInput().appendField(Rt.Msg.DRAW_POINTER).appendField(Rt.Msg.DRAW_POINTER_ANGLE),this.appendValueInput("angle"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_DRAW_POINTER_DU),this.appendValueInput("VAR").appendField(Rt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.DRAW_POINTER_TOOLTIP)}},EE={init:function(){this.setColour(om),this.appendValueInput("data").appendField(Rt.Msg.MIXLY_Display_long_text),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(Rt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Rt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},OE={init:function(){this.setColour(om),this.appendValueInput("direct").appendField(Rt.Msg.OLED_BITMAP).appendField(Rt.Msg.MIXLY_QR_CODE),["Python ESP32-S3","Python ESP32-C5"].includes(ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Rt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},RE={init:function(){this.setColour(om),this.appendValueInput("data").appendField(Rt.Msg.OLED_BITMAP).appendField(Rt.Msg.MIXLY_QR_CODE),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_ERROR_RATE).appendField(new Rt.FieldDropdown([["0","7%"],["1","15%"],["2","25%"],["3","30"]]),"correct"),this.appendValueInput("VAR").appendField(Rt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Rt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},cE={init:function(){this.setColour(om),this.appendValueInput("data").appendField(Rt.Msg.OLED_BITMAP),this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.OLED_BITMAP_OR_STRING),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},gE={init:function(){um.init.call(this),this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},CE={init:function(){Im.init.call(this),this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},SE={init:function(){cm.init.call(this),this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},AE={init:function(){Sm.init.call(this),this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},LE={init:function(){Am.init.call(this),this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},NE={init:function(){Lm.init.call(this),this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},DE=180,fE={init:function(){this.setColour(DE),this.setOutput(!0),this.setInputsInline(!0),this.appendValueInput("img").appendField(Rt.Msg.DISPLAY_IMAGE_LET).setCheck(["esp32_image","List",String]),this.appendDummyInput("").appendField(Rt.Msg.DISPLAY_IMAGE_LET2).appendField(new Rt.FieldDropdown(fE.OPERATORS),"OP"),this.appendValueInput("val").appendField(Rt.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(Rt.Msg.DISPLAY_IMAGE_UNIT);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=Rt.Msg.DISPLAY_IMAGE_LET,n=Rt.Msg.DISPLAY_IMAGE_LET2,s=Rt.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:Rt.Msg.MIXLY_UP,down:Rt.Msg.MIXLY_DOWN,left:Rt.Msg.MIXLY_LEFT,right:Rt.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[Rt.Msg.MIXLY_UP,"up"],[Rt.Msg.MIXLY_DOWN,"down"],[Rt.Msg.MIXLY_LEFT,"left"],[Rt.Msg.MIXLY_RIGHT,"right"]]},FE={init:function(){this.setColour(DE),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(Rt.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new Rt.FieldDropdown(FE.OPERATORS),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{"+":Rt.Msg.MIXLY_MICROBIT_image_add,"-":Rt.Msg.MIXLY_MICROBIT_image_reduce}[e]}))},OPERATORS:[[Rt.Msg.MICROBIT_DISPLAY_UNION,"+"],[Rt.Msg.MICROBIT_DISPLAY_MINUS,"-"]]},PE={init:function(){this.setColour(DE),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+Rt.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("esp32_image"),this.appendDummyInput("").appendField(new Rt.FieldDropdown(PE.OPERATORS),"OP"),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+Rt.Msg.MIXLY_MICROBIT_IMAGE+{height:Rt.Msg.MIXLY_HEIGHT,width:Rt.Msg.MIXLY_WIDTH}[e]}))},OPERATORS:[[Rt.Msg.MIXLY_HEIGHT,"height"],[Rt.Msg.MIXLY_WIDTH,"width"]]},vE={init:function(){this.setColour(DE),this.appendValueInput("VAR").appendField(Rt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RECT).appendField(new Rt.FieldDropdown(vE.STATUS),"OP"),this.jsonInit({message0:Rt.Msg.MIXLY_MICROBIT_SHOW_RECT,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"width"},{check:Number,type:"input_value",name:"height"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Rt.Msg.MIXLY_OLED_RECT)},STATUS:[[Rt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[Rt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},YE={init:function(){this.setColour(DE),this.appendValueInput("VAR").appendField(Rt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE).appendField(new Rt.FieldDropdown(YE.STATUS),"OP"),this.jsonInit({message0:Rt.Msg.MIXLY_HANBIT_SHOW_CIRCLE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"r"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Rt.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE)},STATUS:[[Rt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[Rt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},XE={init:function(){this.setColour(DE),this.appendValueInput("VAR").appendField(Rt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_DISPLAY_DRAW+Rt.Msg.MIXLY_HANBIT_DRAW_TRIANGLE).appendField(new Rt.FieldDropdown(XE.STATUS),"OP"),this.jsonInit({message0:Rt.Msg.MIXLY_HANBIT_SHOW_triangle,args0:[{check:Number,type:"input_value",name:"x0"},{check:Number,type:"input_value",name:"y0"},{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Rt.Msg.MIXLY_DISPLAY_DRAW+Rt.Msg.MIXLY_HANBIT_DRAW_TRIANGLE)},STATUS:[[Rt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[Rt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},yE="#777777",bE={init:function(){this.setColour(yE),this.appendDummyInput("").appendField("from ").appendField(new Rt.FieldTextInput("ESP32"),"path").appendField(" import ").appendField(new Rt.FieldTextInput("*"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},xE={init:function(){this.setColour(yE),this.appendDummyInput("").appendField("import ").appendField(new Rt.FieldTextInput("module"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},VE={init:function(){this.setColour(yE),this.appendDummyInput("").appendField(new Rt.FieldTextInput("my_function"),"NAME"),this.itemCount_=1,this.arguments_=["x"],this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Rt.icons.MutatorIcon(["factory_create_with_item"],this))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("items",this.itemCount_);for(var e=0;ee?t[e]:'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},AO={init:function(){this.setColour(EO),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(Rt.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},LO={init:function(){this.setColour(EO),this.appendDummyInput().appendField(Rt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},NO={init:function(){this.setColour(EO),this.appendDummyInput().appendField(Rt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},DO={init:function(){this.setColour(EO),this.appendDummyInput().appendField(Rt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").setCheck(String).appendField(Rt.Msg.MIXLY_EMQX_SERVER).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(Rt.Msg.MIXLY_WIFI_USERNAME).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(Rt.Msg.MIXLY_IOT_PASSWORD).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("PROJECT").setCheck(String).appendField(Rt.Msg.MIXLY_EMQX_PROJECT).setAlign(Rt.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},fO={init:function(){this.setColour(EO),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(Rt.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(Rt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(Rt.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},FO={init:function(){this.setColour(EO),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(Rt.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(Rt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(Rt.Msg.HTML_BODY),this.appendDummyInput().appendField(Rt.Msg.MIXLY_Service_quality_display).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_AT_MOST_ONCE,"0"],[Rt.Msg.MIXLY_AT_LEAST_ONCE,"1"]]),"quality"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},PO={init:function(){this.setColour(EO),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(Rt.Msg.MIXLY_EMQX_SUBSCRIBE+Rt.Msg.MIXLY_MICROBIT_MSG).appendField(Rt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(Rt.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_IOT_EMQX_SUBSCRIBE_TOOLTIP)}},vO={init:function(){this.setColour(EO),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},YO={init:function(){this.setColour(EO),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_EMQX_CONNECT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},XO={init:function(){this.setColour(EO),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_CHECK_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},yO={init:function(){this.setColour(EO),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(Rt.Msg.MQTT_Topic),this.setInputsInline(!0),this.setOutput(!0)}},bO={init:function(){this.setColour(EO),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(Rt.Msg.MIXLY_EMQX_PUBLISH_MSG),this.setInputsInline(!0),this.setOutput(!0)}},xO={init:function(){this.setColour(EO),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_ESP32_IOT_MAP_FORMATING),this.setOutput(!0)}},VO={init:function(){this.setColour(EO),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_MICROPYTHON_FORMAT+"(Json)"),this.setOutput(!0)}},BO={init:function(){this.setColour(EO),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_EMQX_PING),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_IOT_EMQX_PING_TOOLTIP)}},GO={init:function(){this.setColour(EO),this.appendDummyInput().appendField("MixIO").appendField(Rt.Msg.MIXLY_GET_NTP),this.appendValueInput("addr").appendField(Rt.Msg.blynk_SERVER_ADD),this.setInputsInline(!0),this.setOutput(!0)}},UO={init:function(){this.setColour(EO),this.appendDummyInput().appendField(Rt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(Rt.Msg.MIXLY_EMQX_SERVER).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(Rt.Msg.CONTROLS_FOR_INPUT_WITH+Rt.Msg.MIXLY_MIXIO_SHARE_KEY).setAlign(Rt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},wO={init:function(){this.setColour(EO),this.appendDummyInput().appendField(Rt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(Rt.Msg.MIXLY_EMQX_SERVER).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(Rt.Msg.CONTROLS_FOR_INPUT_WITH+"Mixly Key").setAlign(Rt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},kO={init:function(){this.VISITOR_ID=ct.Config.BOARD.visitorId.str32.substring(0,8).toUpperCase(),this.setColour(EO),this.appendDummyInput("").appendField(new Rt.FieldTextInput(this.visitorId),"VISITOR_ID"),this.setOutput(!0,null)},onchange:function(){const t=this.getFieldValue("VISITOR_ID");this.VISITOR_ID!==t&&this.setFieldValue(this.VISITOR_ID,"VISITOR_ID")}},HO={init:function(){this.setColour(EO),this.appendDummyInput().appendField("MixIO").appendField(Rt.Msg.MSG.catEthernet_clinet),this.setOutput(!0),this.setInputsInline(!0)}},WO={init:function(){this.setColour(EO),this.appendDummyInput().appendField("HTTP"+Rt.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(Rt.Msg.DISPLAY_IMAGE_LET2),this.appendDummyInput().appendField(Rt.Msg.MIXLY_REQUESTS_GET).appendField(Rt.Msg.MIXLY_GET_CURRENT_TIME).appendField(Rt.Msg.MIXLY_OPEN_DEBUG).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Rt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},KO={init:function(){this.setColour(EO),this.appendDummyInput().appendField("HTTP"+Rt.Msg.MIXLY_Client).appendField(Rt.Msg.MIXLY_GET).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_REQUESTS_LEN,"client_len"],[Rt.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[Rt.Msg.MIXLY_REQUESTS_MESSAGE,"text"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},JO={init:function(){this.setColour(EO),this.appendDummyInput().appendField("MQTT"+Rt.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(Rt.Msg.MIXLY_CONNECTTO),this.appendDummyInput().appendField(Rt.Msg.MIXLY_INIT_SUBSCRIBE).appendField(Rt.Msg.MQTT_Topic).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GET_CURRENT_TIME,""]]),"key").appendField(Rt.Msg.MIXLY_OPEN_DEBUG).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Rt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},qO={init:function(){this.setColour(EO),this.appendDummyInput().appendField("MQTT"+Rt.Msg.MIXLY_Client).appendField(Rt.Msg.MIXLY_GET).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_REQUESTS_LEN,"client_len"],[Rt.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[Rt.Msg.MIXLY_REQUESTS_MESSAGE,"time_msg()"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},QO=OO,zO=RO,jO=cO,$O=gO,ZO=SO,tR={init:function(){this.setColour(EO),this.appendDummyInput().appendField(Rt.Msg.MIXLY_CONNECT_OLLAMA),this.appendValueInput("SERVER").appendField(Rt.Msg.MIXLY_EMQX_SERVER).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(Rt.Msg.MODEL_NAME).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(Rt.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},eR=tR,iR={init:function(){this.setColour(EO),this.appendDummyInput().appendField(Rt.Msg.MIXLY_CONNECT_OPENAI),this.appendValueInput("SERVER").appendField(Rt.Msg.MIXLY_EMQX_SERVER).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(Rt.Msg.MIXLY_API_PRIVATE_KEY).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(Rt.Msg.MODEL_NAME).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(Rt.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},nR={init:function(){this.setColour(EO),this.appendDummyInput().appendField(Rt.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(Rt.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendValueInput("METHOD").appendField(Rt.Msg.MIXLY_LLM_CONTENT_CALLBACK),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},sR={init:function(){this.setColour(EO),this.appendDummyInput().appendField(Rt.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(Rt.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendDummyInput().appendField(Rt.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0)}},_R={init:function(){this.setColour(EO),this.appendDummyInput().appendField("Ollama "+Rt.Msg.MIXLY_EMPTY_HISTORY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},oR={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${Rt.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("ADDR").setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_EMQX_SERVER),this.appendValueInput("USERNAME").setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_EMQX_USERNAME),this.appendValueInput("PASSWORD").setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_IOT_PASSWORD),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},pR={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${Rt.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("MQTT").setAlign(Rt.inputs.Align.RIGHT).appendField(`MixIO ${Rt.Msg.MIXLY_Client}`),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},aR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_TINY_WEB_DB_UPDATE_VARIABLE),this.appendValueInput("VALUE").setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},uR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(Rt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLE),this.appendDummyInput().appendField(Rt.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setOutput(!0)}},rR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_NUM),this.setInputsInline(!0),this.setOutput(!0)}},lR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB").appendField(Rt.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARIABLES),this.appendValueInput("NO").setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_TINY_WEB_DB_START_NUMBER),this.appendValueInput("COUNT").setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_TINY_WEB_DB_VARIABLE_NUMBER),this.appendValueInput("TAG").setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARS),this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_ALL,"both"],[Rt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_TAG,"tag"],[Rt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_VALUE,"value"]]),"DTYPE"),this.setInputsInline(!1),this.setOutput(!0)}},dR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(Rt.Msg.MIXLY_TINY_WEB_DB_DELETE_VARIABLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},IR=225,TR={init:function(){this.setColour(IR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_NETWORK_INIT),this.appendDummyInput().appendField(Rt.Msg.MIXLY_NETWORK_MODE).appendField(new Rt.FieldDropdown([["STA","STA"],["AP","AP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_INIT_TOOLTIP)}},MR={init:function(){this.setColour(IR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_NETWORK_WIFI_OPEN,"True"],[Rt.Msg.MIXLY_NETWORK_WIFI_CLOSE,"False"]]),"op"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_NETWORK_WIFI_FLAG),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("op"),i=Rt.Msg.MIXLY_ESP32_NETWORK_OPEN_TOOLTIP;return{True:Rt.Msg.MIXLY_NETWORK_WIFI_OPEN,False:Rt.Msg.MIXLY_NETWORK_WIFI_CLOSE}[e]+i}))}},hR={init:function(){this.setColour(IR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE)}},mR={init:function(){this.setColour(IR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_NETWORK_WIFI_SCAN),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip((function(){return Rt.Msg.MIXLY_ESP32_NETWORK_SCAN_TOOLTIP+{0:"ssid",1:"bssid",2:"channel",3:"RSSI",4:"authmode",5:"hidden",all:Rt.Msg.MIXLY_NETWORK_WIFI_SCAN_ATTRIBUTE}.all}))}},ER={init:function(){this.setColour(IR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_ESP32_NETWORK_CONNECT),this.appendValueInput("id").setCheck(String).appendField(Rt.Msg.HTML_NAME),this.appendValueInput("password").setCheck(String).appendField(Rt.Msg.HTML_PASSWORD),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_CONNECT_TOOLTIP)}},OR={init:function(){this.setColour(IR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_NETWORK_WIFI_CONNECT+Rt.Msg.MIXLY_SYMBOL_QUESTION),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_WIFI_CONNECT_TOOLTIP)}},RR={init:function(){this.setColour(IR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_ESP32_NETWORK_IP,"0"],[Rt.Msg.MIXLY_ESP32_NETWORK_MASK,"1"],[Rt.Msg.MIXLY_ESP32_NETWORK_GATEWAY,"2"],["DNS","3"]]),"mode"),this.setOutput(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return Rt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP+{0:Rt.Msg.MIXLY_ESP32_NETWORK_IP,1:Rt.Msg.MIXLY_ESP32_NETWORK_MASK,2:Rt.Msg.MIXLY_ESP32_NETWORK_GATEWAY,3:"DNS"}[e]}))}},cR={init:function(){this.setColour(IR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_ESP32_NETWORK_STOP_CONNECT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_STOP_TOOLTIP)}},gR={init:function(){this.setColour(IR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_NETWORK_WIFI_ESSID,"essid"],[Rt.Msg.MIXLY_NETWORK_WIFI_CHANNEL,"channel"]]),"op"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP)}},CR={init:function(){this.setColour(IR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.LISTS_SET_INDEX_SET+Rt.Msg.MIXLY_HOTSPOT),this.appendValueInput("essid").setCheck(String).appendField(Rt.Msg.MIXLY_NAME),this.appendValueInput("password").setCheck(String).appendField(Rt.Msg.MIXLY_EMQX_PASSWORD),this.appendValueInput("channel").setCheck(Number).appendField(Rt.Msg.MIXLY_NETWORK_WIFI_CHANNEL),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_AP_CONNECT_TOOLTIP)}},SR={init:function(){this.setColour(IR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_ESP32_NETWORK_SERVER1),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_ESP32_NETWORK_SERVER2),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},AR={init:function(){this.setColour(IR),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_INIT).setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new Rt.FieldDropdown([["TCP","TCP"],["UDP","UDP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return Rt.Msg.MIXLY_ESP32_NETWORK_SOCKET_INIT_TOOLTIP+{TCP:"TCP",UDP:"UDP"}[e]}))}},LR={init:function(){this.setColour(IR),this.appendValueInput("VAR").setCheck("var").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_BIND_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_SOCKET_BIND_TOOLTIP)}},NR={init:function(){this.setColour(IR),this.appendValueInput("VAR").setCheck("var").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_CONNECT_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_SOCKET_CONNECT_TOOLTIP)}},DR={init:function(){this.setColour(IR),this.appendValueInput("VAR").setCheck("var"),this.appendValueInput("queue").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_LISTEN).appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_QUEUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_SOCKET_LISTEN_TOOLTIP)}},fR={init:function(){this.setColour(IR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_ACCEPT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_SOCKET_ACCEPT_TOOLTIP)}},FR={init:function(){this.setColour(IR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE_TOOLTIP)}},PR={init:function(){this.setColour(IR),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("size").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_TOOLTIP)}},vR={init:function(){this.setColour(IR),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("content").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TOOLTIP)}},YR={init:function(){this.setColour(IR),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("size").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_FROM_TOOLTIP)}},XR={init:function(){this.setColour(IR),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("content").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.appendValueInput("address").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_TO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TO_TOOLTIP)}},yR={init:function(){this.setColour(IR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_CLOSE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},bR={init:function(){this.setColour(IR),this.appendValueInput("DOMAIN").appendField(Rt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(Rt.Msg.blockpy_REQUESTS_GET).appendField(new Rt.FieldTextInput("response"),"VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.blockpy_REQUESTS_GET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},xR={init:function(){this.appendValueInput("VAL"),this.setColour(IR),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new Rt.FieldDropdown(xR.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{clear:Rt.Msg.MIXLY_TOOLTIP_TURTEL_CLEAR,reset:Rt.Msg.MIXLY_TOOLTIP_TURTEL_RESET,home:Rt.Msg.MIXLY_TOOLTIP_TURTEL_HOME}[e]}))},ATTR:[[Rt.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[Rt.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[Rt.Msg.blockpy_REQUESTS_GET_ATTR_COOKIES,"cookies"],[Rt.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"]]},VR={init:function(){this.appendValueInput("VAR").appendField(Rt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.setColour(IR),this.appendDummyInput("").appendField(Rt.Msg.blockpy_CONDUCT).appendField(new Rt.FieldDropdown(VR.METHOD),"DIR"),this.appendDummyInput("").appendField(Rt.Msg.blockpy_REQUESTS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{forward:Rt.Msg.MIXLY_TOOLTIP_TURTEL_FORWARD,backward:Rt.Msg.MIXLY_TOOLTIP_TURTEL_BACKWARD}[e]}))},METHOD:[["post","post"],["put","put"],["delete","delete"],["head","head"],["option","option"]]},BR={init:function(){this.setColour(IR),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_GET_NTP+"(NTP)"),this.appendValueInput("data").appendField(Rt.Msg.blynk_SERVER_ADD),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},GR={init:function(){this.setColour(IR),this.appendDummyInput("").appendField(new Rt.FieldDropdown([["ntp.aliyun.com","ntp.aliyun.com"],["ntp1.aliyun.com","ntp1.aliyun.com"],["ntp2.aliyun.com","ntp2.aliyun.com"],["ntp3.aliyun.com","ntp3.aliyun.com"],["ntp4.aliyun.com","ntp4.aliyun.com"],["ntp5.aliyun.com","ntp5.aliyun.com"],["ntp6.aliyun.com","ntp6.aliyun.com"],["ntp7.aliyun.com","ntp7.aliyun.com"],["time1.cloud.tencent.com","time1.cloud.tencent.com"],["time2.cloud.tencent.com","time2.cloud.tencent.com"],["time3.cloud.tencent.com","time3.cloud.tencent.com"],["time4.cloud.tencent.com","time4.cloud.tencent.com"],["time5.cloud.tencent.com","time5.cloud.tencent.com"]]),"op"),this.setOutput(!0)}},UR="#3288dd",wR={init:function(){this.setColour(UR),this.appendValueInput("URL").appendField(Rt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(Rt.Msg.blockpy_CONDUCT).appendField(new Rt.FieldDropdown([["get","get"],["head","head"],["delete","delete"]]),"TYPE").appendField(Rt.Msg.blockpy_REQUESTS).appendField(Rt.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},kR={init:function(){this.setColour(UR),this.appendValueInput("URL").appendField(Rt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(Rt.Msg.blockpy_CONDUCT).appendField(new Rt.FieldDropdown([["post","post"],["put","put"],["patch","patch"]]),"TYPE").appendField(Rt.Msg.blockpy_REQUESTS),this.appendValueInput("data").appendField(Rt.Msg.blockpy_REQUESTS+Rt.Msg.OLED_STRING),this.appendDummyInput("").appendField(Rt.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},HR={init:function(){this.appendValueInput("VAL"),this.setColour(UR),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new Rt.FieldDropdown(HR.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String)},ATTR:[[Rt.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[Rt.Msg.blockpy_REQUESTS_GET_ATTR_JSON,"json()"],[Rt.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[Rt.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"],[Rt.Msg.MIXPY_TEXT_ENCODE,"encoding"]]},WR={init:function(){this.setColour(UR),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_IOT_CONNECT_WIFI),this.appendValueInput("WIFINAME").setCheck(String).appendField(Rt.Msg.HTML_NAME),this.appendValueInput("PASSWORD").setCheck(String).appendField(Rt.Msg.HTML_PASSWORD),this.appendValueInput("TIMEOUT").setCheck(Number).appendField(Rt.Msg.MIXLY_IR_TIMEOUT),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_IOT_WIFI_CONNECT_TOOLTIP)}},KR={init:function(){this.setColour(UR),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_IOT_EMQX_CONNECT_TOOLTIP),this.appendValueInput("SERVER").setCheck(String).appendField(Rt.Msg.MIXLY_EMQX_SERVER).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("PORT").setCheck(Number).appendField(Rt.Msg.MIXLY_EMQX_PORT).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("CLIENT_ID").setCheck(String).appendField(Rt.Msg.MIXLY_EMQX_CLIENT_ID).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(Rt.Msg.MIXLY_WIFI_USERNAME).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(Rt.Msg.MIXLY_IOT_PASSWORD).setAlign(Rt.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},JR={init:function(){this.setColour(UR),this.appendValueInput("TOPIC").appendField(Rt.Msg.MIXLY_EMQX_SUBSCRIBE+Rt.Msg.MIXLY_MICROBIT_MSG).appendField(Rt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MESSAGE").appendField(Rt.Msg.blockpy_set_of),this.setInputsInline(!0),this.setOutput(!0)}},qR={init:function(){this.setColour(UR),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(Rt.Msg.MIXLY_EMQX_SUBSCRIBE+Rt.Msg.MIXLY_MICROBIT_MSG).appendField(Rt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(Rt.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},QR={init:function(){this.setColour(UR),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(Rt.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(Rt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(Rt.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},zR={init:function(){this.setColour(UR),this.appendDummyInput().appendField("mqtt"+Rt.Msg.MIXLY_EMQX_IS_CONNECT),this.setInputsInline(!0),this.setOutput(!0)}},jR=100,$R={init:function(){this.setColour(jR),this.appendValueInput("I2CSUB").appendField(Rt.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_SETUP+Rt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField("PE GX"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},ZR={init:function(){this.setColour(jR),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MIXGO_CAR_BATTERY_LEFT),this.setOutput(!0,Number),this.setInputsInline(!0)}},tc={init:function(){this.setColour(jR),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField(Rt.Msg.MOTOR_DC).appendField(Rt.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Direction).appendField(new Rt.FieldDropdown([[Rt.Msg.CLOCKWISE,"CW"],[Rt.Msg.ANTI_CLOCKWISE,"CCW"],[Rt.Msg.MOTOR_P,"P"],[Rt.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},ec={init:function(){this.setColour(jR),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField(Rt.Msg.MOTOR_DC).appendField(Rt.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(Rt.Msg.MIXLY_STEPPER_GET_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},ic={init:function(){this.setColour(jR),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField("180°"+Rt.Msg.MIXLY_SERVO).appendField(Rt.Msg.LCD_NUMBERING),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_SERVO_MOVE)}},nc={init:function(){this.setColour(jR),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField("360°"+Rt.Msg.MIXLY_SERVO).appendField(Rt.Msg.LCD_NUMBERING),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_SERVO_SPEED_TOOLIPS)}},sc={init:function(){this.setColour(jR),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField("180°"+Rt.Msg.MIXLY_SERVO),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET+Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},_c={init:function(){this.setColour(jR),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField("360°"+Rt.Msg.MIXLY_SERVO).appendField(Rt.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET+Rt.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},oc="#A58C5B",pc={init:function(){this.setColour(oc),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_BUTTON).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_IS_PRESSED),this.appendValueInput("STAT").appendField(Rt.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_SENOR_IS_PRESSED)}},ac={init:function(){this.setColour(oc),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_BUTTON).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_WAS_PRESSED),this.appendValueInput("STAT").appendField(Rt.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_SENOR_WAS_PRESSED)}},uc={init:function(){this.setColour(oc),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_BUTTON).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET_PRESSES),this.appendValueInput("VAR").setCheck(Number).appendField(Rt.Msg.MIXLY_GET_PRESSES_TIME),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Rt.Msg.PROCEDURES_DEFRETURN_RETURN+Rt.Msg.MIXLY_BUTTON+Rt.Msg.MIXLY_GET_PRESSES)}},rc={init:function(){this.setColour(oc),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_BUTTON).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MODE).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[Rt.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[Rt.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(Rt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_INOUT_ATTACHINTERRUPT)}},lc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_shake,"shake"],[Rt.Msg.MIXLY_UP,"up"],[Rt.Msg.MIXLY_DOWN,"down"],[Rt.Msg.MIXLY_LEFT,"left"],[Rt.Msg.MIXLY_RIGHT,"right"],[Rt.Msg.MIXLY_MICROBIT_face_up,"face up"],[Rt.Msg.MIXLY_MICROBIT_face_down,"face down"],[Rt.Msg.MIXLY_MICROBIT_freefall,"freefall"],["3g","3g"],["6g","6g"],["8g","8g"]]),"gesture"),this.appendStatementInput("DO").appendField(Rt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("gesture"),i=Rt.Msg.MIXLY_MICROBIT_JS_CURRENT,n=Rt.Msg.MSG.catSensor,s=Rt.Msg.MIXLY_MICROBIT_JS_STATE,_=Rt.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:Rt.Msg.MIXLY_MICROBIT_shake,up:Rt.Msg.MIXLY_UP,down:Rt.Msg.MIXLY_DOWN,left:Rt.Msg.MIXLY_LEFT,right:Rt.Msg.MIXLY_RIGHT,"face up":Rt.Msg.MIXLY_MICROBIT_face_up,"face down":Rt.Msg.MIXLY_MICROBIT_face_down,freefall:Rt.Msg.MIXLY_MICROBIT_freefall,"3g":"3g","6g":"6g","8g":"8g"}[e]+_}))}},dc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_ADXL345).setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new Rt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Rt.Msg.MIXLY_MICROBIT_Direction,s=Rt.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":Rt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},Ic={init:function(){this.setColour(oc),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_JS_LIGHT_LEVEL),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_SENSOR_LIGHT_LEVEL_TOOLTIP)}},Tc={init:function(){this.setColour(oc),this.appendValueInput("PIN",Number).appendField(new Rt.FieldDropdown([["DHT11","DHT11"],["DHT22","DHT22"]]),"TYPE").appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(new Rt.FieldDropdown(Tc.METHOD),"WHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("WHAT");return{temperature:Rt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM,relative_humidity:Rt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_HUM,tempandhum:Rt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM_HUM}[e]}))},METHOD:[[Rt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[Rt.Msg.MIXLY_GETHUMIDITY,"humidity"]]},Mc={init:function(){this.setColour(oc),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_EXTERN_LIGHT),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Rt.Msg.ESP32_SENSOR_NIXGO_LIGHT_TOOLTIP)}},hc={init:function(){this.setColour(oc),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_EXTERN_SOUND),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Rt.Msg.ESP32_SENSOR_NIXGO_SOUND_TOOLTIP)}},mc={init:function(){this.setColour(oc),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new Rt.FieldDropdown([[Rt.Msg.TEXT_TRIM_LEFT,"left"],[Rt.Msg.TEXT_TRIM_RIGHT,"right"]]),"direction").appendField(Rt.Msg.MIXLY_ESP32_NEAR),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("direction"),i=Rt.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP,n=Rt.Msg.MIXLY_ESP32_NEAR;return i+{left:Rt.Msg.TEXT_TRIM_LEFT,right:Rt.Msg.TEXT_TRIM_RIGHT}[e]+n}))}},Ec={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_ALTITUDE_SENSOR+" BMP280").setCheck("var"),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GETTEMPERATUE,"get_BMP_temperature()"],[Rt.Msg.MIXLY_GETPRESSURE,"get_BMP_pressure()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{"get_BMP_temperature()":Rt.Msg.MIXLY_MICROBIT_SENSOR_BMP_temperature_TOOLTIP,"get_BMP_pressure()":Rt.Msg.MIXLY_MICROBIT_SENSOR_BMP_press_TOOLTIP}[e]}))}},Oc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+" SHT20").setCheck("var"),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GETTEMPERATUE,"get_SHT_temperature()"],[Rt.Msg.MIXLY_GETHUMIDITY,"get_SHT_relative_humidity()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{"get_SHT_temperature()":Rt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,"get_SHT_relative_humidity()":Rt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},Rc={init:function(){this.setColour(oc),this.appendValueInput("PIN",Number).appendField("DS18X20 "+Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_SENSOR_DS18X20_TOOLTIP)}},cc={init:function(){this.setColour(oc),this.appendDummyInput("").appendField("LM35"+Rt.Msg.MIXLY_TEMP),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_LM35)}},gc={init:function(){this.setColour(oc),this.appendValueInput("I2CSUB").appendField(Rt.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_SETUP+Rt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_ESP32_EXTERN_LIGHT+"(LTR308ALS)","LTR308"],[Rt.Msg.MIXLY_COLOR_SENSOR+"(LTR381RGB)","LTR381RGB"],[Rt.Msg.MIXLY_COLOR_SENSOR+"(UCS12071)","UCS12071"],[Rt.Msg.MIXLY_EXTERN_LIGHTUV+"(LTR390UV)","LTR390UV"],[Rt.Msg.MIXLY_ALTITUDE_SENSOR+"(HP203X)","HP203X"],[Rt.Msg.MIXLY_ALTITUDE_SENSOR+"(SPL06_001)","SPL06_001"],[Rt.Msg.MIXLY_ALTITUDE_SENSOR+"(MS5611)","MS5611"],[Rt.Msg.MIXLY_ALTITUDE_SENSOR+"(BMP280)","BMP280"],[Rt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(SHTC3)","SHTC3"],[Rt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(AHT21)","AHT21"],[Rt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(SHT20)","SHT20"],[Rt.Msg.MIXLY_LASER_RANGE_SENSOR+"(VL53L0X)","VL53L0X"],[Rt.Msg.MIXLY_GEOMAGNETIC_SENSOR+"(QMC5883L)","QMC5883L"],[Rt.Msg.MIXLY_ESP32_MAX30102+"(MAX30102)","MAX30102"],[Rt.Msg.HTML_COLOUR+"、"+Rt.Msg.MIXLY_ENVIRONMENT_LIGHT+"、"+Rt.Msg.MIXLY_NEXT+"、"+Rt.Msg.MIXLY_ESP32_APDS9960+"(APDS9960)","APDS9960"],[Rt.Msg.MIXLY_NINE_AXIS_SENSOR+"(MPU9250)","MPU9250"],[Rt.Msg.MixGo_MPU9250+"(ADXL345)","ADXL345"],["RFID","RFID"],[Rt.Msg.MIXLY_RADAR_SENSOR+"(CBR817)","CBR817"],[Rt.Msg.MIXLY_AipSpeech_asr+"(CI130X)","CI130X"],[Rt.Msg.MIXLY_TVOC_CO2_SENSOR+"(AGS10)","AGS10"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Cc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_RADAR+"CBR817").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.LISTS_SET_INDEX_SET+Rt.Msg.MIXlY_INTERACTION),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_DETECTION_THRESHOLD),this.appendValueInput("VAR2").appendField(Rt.Msg.MIXLY_DELAY_TIME),this.appendDummyInput().appendField("ms"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_THRESHOLD_TOOLTIP+" ; "+Rt.Msg.MIXLY_DELAY_TIME_RANGE)}},Sc={init:function(){this.setColour(oc),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RADAR).appendField(Rt.Msg.LISTS_SET_INDEX_SET+Rt.Msg.MIXlY_INTERACTION),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_DETECTION_THRESHOLD),this.appendValueInput("VAR2").appendField(Rt.Msg.MIXLY_DELAY_TIME),this.appendDummyInput().appendField("ms"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_THRESHOLD_TOOLTIP+" ; "+Rt.Msg.MIXLY_DELAY_TIME_RANGE)}},Ac={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_RADAR+"CBR817").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_GET_TO_INTERACTION),this.setOutput(!0),this.setInputsInline(!0)}},Lc={init:function(){this.setColour(oc),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RADAR).appendField(Rt.Msg.MIXLY_GET_TO_INTERACTION),this.setOutput(!0),this.setInputsInline(!0)}},Nc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_IDENTIFY_ONCE_AND_SAVE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Dc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_GET).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_HELLO_XIAOZHI,"1"],[Rt.Msg.MIXLY_XIAOZHIXIAOZHI,"2"],[Rt.Msg.MIXLY_THE_FIRST,"3"],[Rt.Msg.MIXLY_THE_SECOND,"4"],[Rt.Msg.MIXLY_THE_THIRD,"5"],[Rt.Msg.MIXLY_THE_FOURTH,"6"],[Rt.Msg.MIXLY_THE_FIFTH,"7"],[Rt.Msg.MIXLY_THE_SIXTH,"8"],[Rt.Msg.MIXLY_THE_SEVENTH,"9"],[Rt.Msg.MIXLY_THE_EIGHTH,"10"],[Rt.Msg.MIXLY_THE_NINTH,"11"],[Rt.Msg.MIXLY_THE_TENTH,"12"],[Rt.Msg.MIXLY_THE_ELEVENTH,"13"],[Rt.Msg.MIXLY_THE_TWELFTH,"14"],[Rt.Msg.MIXLY_THE_13TH,"15"],[Rt.Msg.MIXLY_THE_14TH,"16"],[Rt.Msg.MIXLY_THE_15TH,"17"],[Rt.Msg.MIXLY_THE_16TH,"18"],[Rt.Msg.MIXLY_THE_17TH,"19"],[Rt.Msg.MIXLY_THE_18TH,"20"],[Rt.Msg.MIXLY_THE_19TH,"21"],[Rt.Msg.MIXLY_THE_20TH,"22"],[Rt.Msg.MIXLY_Turn_on_the_lights,"23"],[Rt.Msg.MIXLY_Turn_off_the_lights,"24"],[Rt.Msg.MIXLY_Turn_up_the_brightness,"25"],[Rt.Msg.MIXLY_Turn_down_the_brightness,"26"],[Rt.Msg.MIXLY_Set_it_to_red,"27"],[Rt.Msg.MIXLY_Set_it_to_orange,"28"],[Rt.Msg.MIXLY_Set_it_to_yellow,"29"],[Rt.Msg.MIXLY_Set_it_to_green,"30"],[Rt.Msg.MIXLY_Set_it_to_cyan,"31"],[Rt.Msg.MIXLY_Set_it_to_blue,"32"],[Rt.Msg.MIXLY_Set_it_to_purple,"33"],[Rt.Msg.MIXLY_Set_it_to_white,"34"],[Rt.Msg.MIXLY_Turn_on_the_fan,"35"],[Rt.Msg.MIXLY_Turn_off_the_fan,"36"],[Rt.Msg.MIXLY_First_gear,"37"],[Rt.Msg.MIXLY_Wind_speed_second,"38"],[Rt.Msg.MIXLY_Third_gear,"39"],[Rt.Msg.MIXLY_Previous,"40"],[Rt.Msg.MIXLY_Next_page,"41"],[Rt.Msg.MIXLY_Show_smiley_face,"42"],[Rt.Msg.MIXLY_Show_crying_face,"43"],[Rt.Msg.MIXLY_Show_love,"44"],[Rt.Msg.MIXLY_Close_display,"45"],[Rt.Msg.MIXLY_Start_execution,"46"],[Rt.Msg.MIXLY_FORWARD,"47"],[Rt.Msg.MIXLY_BACKWARD,"48"],[Rt.Msg.MIXLY_TURNLEFT,"49"],[Rt.Msg.MIXLY_TURNRIGHT,"50"],[Rt.Msg.MIXLY_STOP,"51"],[Rt.Msg.MIXLY_Accelerate,"52"],[Rt.Msg.MIXLY_retard,"53"],[Rt.Msg.ROTATION_FORWARD,"54"],[Rt.Msg.ROTATION_BACKWARD,"55"],[Rt.Msg.MIXLY_Query_temperature,"56"],[Rt.Msg.MIXLY_Query_humidity,"57"],[Rt.Msg.MIXLY_Query_brightness,"58"],[Rt.Msg.MIXLY_Query_sound,"59"],[Rt.Msg.MIXLY_Query_time,"60"],[Rt.Msg.MIXLY_Query_distance,"61"],[Rt.Msg.MIXLY_Query_pressure,"62"],[Rt.Msg.MIXLY_Query_key,"63"],[Rt.Msg.MIXLY_Query_touch,"64"],[Rt.Msg.MIXLY_Query_color,"65"]]),"cmd").appendField(Rt.Msg.MIXLY_WHETHER+Rt.Msg.MIXLY_BE_IDENTIFIED),this.setOutput(!0),this.setInputsInline(!0)}},fc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_GET).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_RECOGNIZED_STATE,"status1"],[Rt.Msg.MIXLY_WHETHER_BROADCAST,"status2"],[Rt.Msg.MIXLY_THE_RECOGNIZED_CMD,"result"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_CI130X_GET_THE_RECOGNIZED_STATE_TOOLTIP)}},Fc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MP3_PLAY).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"],[Rt.Msg.MIXLY_WIND_SPEED,"154"],[Rt.Msg.MIXLY_HYETAL,"155"],[Rt.Msg.MIXLY_TEMPERATURE,"156"],[Rt.Msg.MIXLY_Humidity,"157"],[Rt.Msg.MIXLY_Altitude,"158"],[Rt.Msg.MIXLY_SOUND,"159"],[Rt.Msg.MIXLY_BRIGHTNESS,"160"],[Rt.Msg.ME_GO_HALL_SENSOR_DISTANCE,"161"],[Rt.Msg.MIXLY_SERVO,"162"],[Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"163"],[Rt.Msg.MIXLY_BUTTON2,"164"],[Rt.Msg.MIXLY_ESP32_TOUCH,"165"],[Rt.Msg.MIXLY_PAY,"166"],[Rt.Msg.MIXLY_CARSH_CHANGE,"167"],[Rt.Msg.MIXLY_COUNTDOWN,"168"],[Rt.Msg.MIXLY_TIMING,"169"],[Rt.Msg.MIXLY_AT_THE_MOMENT,"170"],[Rt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE,"171"],[Rt.Msg.MIXLY_FORWARD,"172"],[Rt.Msg.MIXLY_BACKWARD,"173"],[Rt.Msg.MIXLY_TURNLEFT,"174"],[Rt.Msg.MIXLY_TURNRIGHT,"175"],[Rt.Msg.MIXLY_STOP,"176"],[Rt.Msg.MIXLY_Accelerate,"177"],[Rt.Msg.MIXLY_retard,"178"],[Rt.Msg.ROTATION_FORWARD,"179"],[Rt.Msg.ROTATION_BACKWARD,"180"],[Rt.Msg.TUPLE_JOIN,"181"],[Rt.Msg.MIXLY_SHOW,"182"],[Rt.Msg.MIXLY_LAMPLIGHT,"183"],[Rt.Msg.MIXLY_ACCELERATION,"184"]]),"star"),this.appendValueInput("NUM").appendField(Rt.Msg.MIXLY_NUMBER),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_UNIT).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"],[Rt.Msg.MIXLY_YEAR,"117"],[Rt.Msg.MIXLY_MONTH,"118"],[Rt.Msg.MIXLY_DAY,"119"],[Rt.Msg.MIXLY_HOUR,"120"],[Rt.Msg.MIXLY_MINUTE,"121"],[Rt.Msg.MIXLY_SECOND,"122"],[Rt.Msg.MIXLY_WEEK2,"123"],[Rt.Msg.MIXLY_RMB_UNIT,"124"],[Rt.Msg.blockpy_setheading_degree,"125"],[Rt.Msg.MIXLY_GEAR,"126"],[Rt.Msg.MIXLY_LAYER,"127"],[Rt.Msg.MIXLY_GRAM,"128"],[Rt.Msg.MIXLY_METER,"129"],[Rt.Msg.MIXLY_CENTIMETER,"130"],[Rt.Msg.MIXLY_MILLIMETER,"131"],[Rt.Msg.MIXLY_LUMEN,"132"],[Rt.Msg.MIXLY_DECIBEL,"133"],[Rt.Msg.MIXLY_hectopascal,"134"],[Rt.Msg.MIXLY_PERCENT,"135"],[Rt.Msg.MIXLY_CELSIUS,"136"],[Rt.Msg.MIXLY_METER_PER_SEC,"137"],[Rt.Msg.MIXLY_MICROBIT_Turn_on_display,"138"],[Rt.Msg.MIXLY_MICROBIT_Turn_off_display,"139"],[Rt.Msg.MIXLY_SUCCESS,"140"],[Rt.Msg.MIXLY_FAILED,"141"],[Rt.Msg.MIXLY_WRONG,"142"],[Rt.Msg.MIXLY_GOOD,"143"],[Rt.Msg.MIXLY_blockpy_set_add,"144"],[Rt.Msg.MIXLY_DECREASE,"145"],[Rt.Msg.COLOUR_RGB_RED,"146"],[Rt.Msg.COLOUR_RGB_ORANGE,"147"],[Rt.Msg.COLOUR_YELLOW,"148"],[Rt.Msg.COLOUR_RGB_GREEN,"149"],[Rt.Msg.COLOUR_CYAN,"150"],[Rt.Msg.COLOUR_RGB_BLUE,"151"],[Rt.Msg.COLOUR_RGB_PURPLE,"152"],[Rt.Msg.COLOUR_RGB_WHITE,"153"]]),"end"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Pc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.LISTS_SET_INDEX_SET+Rt.Msg.MIXLY_SYSTEM+Rt.Msg.MIXLY_CMD).appendField(new Rt.FieldDropdown([[Rt.Msg.MILXY_ENTER_WAKE_UP,"1"],[Rt.Msg.MIXLY_INCREASE_VOLUME,"202"],[Rt.Msg.MIXLY_REDUCE_VOLUME,"203"],[Rt.Msg.MIXLY_MAX_VOLUME,"204"],[Rt.Msg.MIXLY_MINIMUM,"205"],[Rt.Msg.MIXLY_OPEN_RESPONSE,"206"],[Rt.Msg.MIXLY_CLOSE_RESPONSE,"207"],[Rt.Msg.MIXLY_QUIT_WAKE_UP,"208"]]),"cmd"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},vc={init:function(){this.setColour(oc),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_MAX30102+" MAX30102"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_ESP32_MAX30102_IR,"[0]"],[Rt.Msg.MIXLY_ESP32_MAX30102_RED,"[1]"],[Rt.Msg.MIXLY_ESP32_MAX30102_IR+","+Rt.Msg.MIXLY_ESP32_MAX30102_RED,""]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Yc={init:function(){this.setColour(oc),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_APDS9960+" APDS9960"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_ESP32_APDS9960_COLOR,"color"],[Rt.Msg.MIXLY_ESP32_APDS9960_GESTURE,"gesture"],[Rt.Msg.MIXLY_ESP32_APDS9960_APPROACH,"proximity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Xc={init:function(){this.setColour(oc),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_EXTERN_LIGHT+" LTR308ALS"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET_LIGHT_INTENSITY),this.setOutput(!0,Number),this.setInputsInline(!0)}},yc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.HTML_COLOUR+Rt.Msg.MSG.catSensor+" LTR381RGB").setCheck("var"),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GET+Rt.Msg.HTML_COLOUR,"[2]"],[Rt.Msg.MIXLY_GET+Rt.Msg.MIXLY_IR_STRENGTH,"[1]"],[Rt.Msg.MIXLY_GET+Rt.Msg.MIXLY_LIGHT_STRENGTH,"[0]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},bc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.HTML_COLOUR+Rt.Msg.MSG.catSensor+" UCS12071").setCheck("var"),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GET+"RGB"+Rt.Msg.HTML_COLOUR,"0"],[Rt.Msg.MIXLY_GET+Rt.Msg.MIXLY_RGB_RAW,"1"],[Rt.Msg.MIXLY_GET_ENV_LIGHT+Rt.Msg.MIXLY_BRIGHTNESS,"2"],[Rt.Msg.GET_IR_STRENGTH+Rt.Msg.MIXLY_BRIGHTNESS,"3"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},xc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_EXTERN_LIGHTUV+" LTR390UV").setCheck("var"),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GET_ENV_LIGHT,"E"],[Rt.Msg.MIXLY_GET_ULTRAVIOLET,"U"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Vc={init:function(){this.setColour(oc),this.appendDummyInput().appendField(Rt.Msg.MIXLY_LASER_RANGE+" VL53L0X"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET_DISTANCE+"(mm)"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Bc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_TEM_HUM+" SHTC3").setCheck("var"),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[Rt.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{temperature:Rt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,humidity:Rt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},Gc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_TEM_HUM+" AHT21").setCheck("var"),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[Rt.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{temperature:Rt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,relative_humidity:Rt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},Uc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_Altitude+Rt.Msg.MSG.catSensor+" HP203X").setCheck("var"),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GETPRESSURE,"pressure()"],[Rt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[Rt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},wc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_Altitude+Rt.Msg.MSG.catSensor+" SPL06_001").setCheck("var"),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GETPRESSURE,"pressure()"],[Rt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[Rt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},kc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_Altitude+Rt.Msg.MSG.catSensor+" MS5611").setCheck("var"),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GETPRESSURE,"pressure()"],[Rt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[Rt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Hc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_Altitude+Rt.Msg.MSG.catSensor+" MS5611").setCheck("var"),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_REF_TO_PRESSURE),this.appendDummyInput().appendField(Rt.Msg.MIXLY_CAL_TO_ALTITUDE),this.setOutput(!0,Number),this.setInputsInline(!0)}},Wc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MIXGOPE_FIELD+Rt.Msg.MSG.catSensor+" QMC5883L").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"get_bearing()"],[Rt.Msg.MIXLY_TEMPERATURE,"get_temp()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Kc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_shake,"shake"],[Rt.Msg.MIXLY_UP,"up"],[Rt.Msg.MIXLY_DOWN,"down"],[Rt.Msg.MIXLY_LEFT,"left"],[Rt.Msg.MIXLY_RIGHT,"right"],[Rt.Msg.MIXLY_MICROBIT_face_up,"face up"],[Rt.Msg.MIXLY_MICROBIT_face_down,"face down"]]),"gesture"),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("gesture"),i=Rt.Msg.MIXLY_MICROBIT_JS_CURRENT,n=Rt.Msg.MSG.catSensor,s=Rt.Msg.MIXLY_MICROBIT_JS_STATE,_=Rt.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:Rt.Msg.MIXLY_MICROBIT_shake,up:Rt.Msg.MIXLY_UP,down:Rt.Msg.MIXLY_DOWN,left:Rt.Msg.MIXLY_LEFT,right:Rt.Msg.MIXLY_RIGHT,"face up":Rt.Msg.MIXLY_MICROBIT_face_up,"face down":Rt.Msg.MIXLY_MICROBIT_face_down}[e]+_}))}},Jc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new Rt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Rt.Msg.MIXLY_MICROBIT_Direction,s=Rt.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":Rt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},qc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_JS_GET+Rt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH).appendField(new Rt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Rt.Msg.MIXLY_MICROBIT_Direction,s=Rt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH;return i+{x:"x",y:"y",z:"z","(x,y,z)":Rt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},Qc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+Rt.Msg.MIXLY_ESP32_SENOR_GYRO).appendField(new Rt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Rt.Msg.MIXLY_MICROBIT_Direction,s=Rt.Msg.MIXLY_ESP32_SENOR_GYRO;return i+{x:"x",y:"y",z:"z","(x,y,z)":Rt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},zc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS)}},jc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GETTEMPERATUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_GETTEMPERATUE)}},$c={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_JS_GET_COMPASS).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,"strength"],[Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"heading"]]),"compass"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("compass");return Rt.Msg.MIXLY_MICROBIT_JS_GET_COMPASS+{strength:Rt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,heading:Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE}[e]}))}},Zc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Reset_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Reset_COMPASS)}},tg={init:function(){this.setColour(oc),this.appendValueInput("SPISUB").appendField(Rt.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_SETUP+Rt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new Rt.FieldDropdown([["RFID","RFID"],["WS-LoRa","Weather"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setFieldValue("RFID","key")}},eg={init:function(){this.setColour(oc),this.appendDummyInput().appendField("RFID"+Rt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(Rt.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_RFID_READ_CARD_UID,"id"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"content"],[Rt.Msg.MIXLY_ALL,"ALL"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},ig={init:function(){this.setColour(oc),this.appendDummyInput().appendField("RFID"+Rt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RFID_READ_CARD_UID),this.setOutput(!0,Number),this.setInputsInline(!0)}},ng={init:function(){this.setColour(oc),this.appendDummyInput().appendField("RFID"+Rt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(Rt.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},sg={init:function(){this.setColour(oc),this.appendDummyInput().appendField(Rt.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(Rt.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(Rt.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},_g={init:function(){this.setColour(oc),this.appendDummyInput().appendField(Rt.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(Rt.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(Rt.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(Rt.Msg.RETURN_SUCCESS_OR_NOT),this.setInputsInline(!0),this.setOutput(!0,Boolean)}},og={init:function(){this.setColour(oc),this.appendDummyInput().appendField("RFID"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_RFID_SCAN_OK,"0"],[Rt.Msg.MIXLY_RFID_SCAN_NOTAGERR,"1"],[Rt.Msg.MIXLY_RFID_SCAN_ERROR,"2"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},pg={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new Rt.FieldDropdown([["全部(元组)","data()[0]"],["全部(json)","data()[1]"],["全部(json,附带位置信息)","data()[2]"],["编号","data()[0][0]"],["电量","data()[0][1]"],["风速","data()[0][2]"],["阵风","data()[0][3]"],["风向","data()[0][4]"],["雨量","data()[0][5]"],["温度","data()[0][6]"],["湿度","data()[0][7]"],["光照","data()[0][8]"],["紫外线","data()[0][9]"],["大气压","data()[0][10]"],["信号强度","data()[0][11]"],["信噪比","data()[0][12]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip("返回气象数据元组 data= (设备id,电池状态,风速m/s,阵风m/s,风向°,雨量mm,温度℃,湿度%,光照Lux,UVI,大气压Pa,信号强度dB,信噪比dB)")}},ag={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_SERIAL_AVAILABLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},ug={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendValueInput("BASE").appendField("以主题"),this.appendDummyInput("").appendField("串口发送至MixIO"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},rg={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.itemCount_=2,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new Rt.icons.MutatorIcon(["weather_set_label_item"],this)),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip()},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("weather_set_label_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n>6),i.push(128|63&_)):(2048<=_&&_<=55295||57344<=_&&_<=65535)&&(n+=3,i.push(224|15&_>>12),i.push(128|63&_>>6),i.push(128|63&_))}for(s=0;s>8,255&n].concat(i)}(t,!0),i="",n=0;n=0?"0x700000":["mixgo_sant"].indexOf(n)>=0?"0xE00000":"0x3A0000","32x12 Matrix"==o?(e.definitions_.import_matrix32x12="import matrix32x12",i=s+" = matrix32x12.Matrix("+_+", font_address="+p+")\n"):"16x8 Matrix"==o&&(e.definitions_.import_matrix16x8="import matrix16x8",i=s+" = matrix16x8.Matrix("+_+")\n"),i},qP=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},QP=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+", center="+this.getFieldValue("center")+")\n"},zP=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},jP=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", delay="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},$P=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},ZP=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", speed="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+")\n"},tv=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},ev=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("OP")+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")\n"},iv=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},nv=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".pixel(int("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+"), int("+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+"), "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"+i+".show()\n"},sv=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".get_brightness()",e.ORDER_ATOMIC]},_v=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".set_brightness("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+")\n"},ov=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("image"),e.ORDER_ATOMIC]},pv=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".map_"+t.getFieldValue("OP")+"("+e.valueToCode(t,"A",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"B",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},av=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".map_invert("+e.valueToCode(t,"A",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},uv=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC);return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = ssd1306.SSD1306_I2C("+e.valueToCode(this,"row",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"column",e.ORDER_ATOMIC)+", "+i+")\n"},rv=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_str("+(e.valueToCode(this,"Text_line1",e.ORDER_ASSIGNMENT)||"''")+", "+(e.valueToCode(this,"Text_line2",e.ORDER_ASSIGNMENT)||"''")+", "+(e.valueToCode(this,"Text_line3",e.ORDER_ASSIGNMENT)||"''")+", "+(e.valueToCode(this,"Text_line4",e.ORDER_ASSIGNMENT)||"''")+")\n"},lv=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_line("+e.valueToCode(this,"x1",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"y1",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"x2",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"y2",e.ORDER_ATOMIC)+", 1)\n"},dv=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),_=e.valueToCode(this,"width",e.ORDER_ATOMIC),o=e.valueToCode(this,"height",e.ORDER_ATOMIC),p="TRUE"==this.getFieldValue("fill")?"True":"False",a=this.getFieldValue("OP");switch(p){case"True":return i+".show_fill_rect("+n+", "+s+", "+_+", "+o+", "+a+")\n";case"False":return i+".show_rect("+n+", "+s+", "+_+", "+o+", "+a+")\n"}},Iv=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),_=e.valueToCode(this,"length",e.ORDER_ATOMIC);return i+".show_"+this.getFieldValue("direction")+"("+n+", "+s+", "+_+", 1)\n"},Tv=function(t,e){return["ON"==this.getFieldValue("ONOFF")?"1":"0",e.ORDER_ATOMIC]},Mv=function(t,e){e.definitions_.import_matrix="import matrix";var i=t.getFieldValue("OP");return[e.valueToCode(t,"img",e.ORDER_ATOMIC)+".shift_"+i+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},hv=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return e.definitions_.import_ssd1306="import ssd1306",e.definitions_.import_machine="import machine",i+".show_fill("+this.getFieldValue("key")+")\n"},mv=function(t,e){return["matrix.Image."+this.getFieldValue("ANIMATION"),e.ORDER_ATOMIC]},Ev=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),_=e.valueToCode(this,"r",e.ORDER_ATOMIC),o="TRUE"==this.getFieldValue("fill")?"True":"False",p=this.getFieldValue("OP");switch(o){case"True":return i+".show_fill_circle("+n+", "+s+", "+_+", "+p+")\n";case"False":return i+".show_circle("+n+", "+s+", "+_+", "+p+")\n"}},Ov=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var n=e.valueToCode(this,"x0",e.ORDER_ATOMIC),s=e.valueToCode(this,"y0",e.ORDER_ATOMIC),_=e.valueToCode(this,"x1",e.ORDER_ATOMIC),o=e.valueToCode(this,"y1",e.ORDER_ATOMIC),p=e.valueToCode(this,"x2",e.ORDER_ATOMIC),a=e.valueToCode(this,"y2",e.ORDER_ATOMIC),u="TRUE"==this.getFieldValue("fill")?"True":"False",r=this.getFieldValue("OP");switch(u){case"True":return i+".show_fill_triangle("+n+", "+s+", "+_+", "+o+", "+p+", "+a+", "+r+")\n";case"False":return i+".show_triangle("+n+", "+s+", "+_+", "+o+", "+p+", "+a+", "+r+")\n"}},Rv=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_bitmap("+e.valueToCode(this,"START_X",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"START_Y",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"bitmap_name",e.ORDER_ATOMIC)+","+e.valueToCode(this,"WIDTH",e.ORDER_ATOMIC)+","+e.valueToCode(this,"HEIGHT",e.ORDER_ATOMIC)+")\n"},cv=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_pixel("+e.valueToCode(this,"POS_X",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"POS_Y",e.ORDER_ATOMIC)+")\n"},gv=function(t,e){var i,n=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),s=e.valueToCode(this,"CLK",e.ORDER_ATOMIC),_=e.valueToCode(this,"DIO",e.ORDER_ATOMIC),o=this.getFieldValue("key");return"TM1650"==o?(e.definitions_.import_tm1650="import tm1650",i=n+" = tm1650."+o+"(clk="+s+",dio="+_+")\n"):"TM1637"==o&&(e.definitions_.import_tm1637="import tm1637",i=n+" = tm1637."+o+"(clk="+s+",dio="+_+")\n"),i},Cv=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+"."+this.getFieldValue("STAT")+"()\n"},Sv=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".shownum("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},Av=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".showDP("+e.valueToCode(this,"NO",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"},Lv=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".intensity("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},Nv=function(t,e){e.definitions_.import_st7789="import st7789";var i=ct.Boards.getSelectedBoardKey().split(":")[2],n="";n=["mpython","mixgo_pe","mixgo_nova"].indexOf(i)>=0?"0x700000":["mixgo_sant"].indexOf(i)>=0?"0xE00000":"0x3A0000";var s=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),_=e.valueToCode(this,"SPISUB",e.ORDER_ATOMIC),o=e.valueToCode(this,"PINCS",e.ORDER_ATOMIC),p=e.valueToCode(this,"PINDC",e.ORDER_ATOMIC);return s+" = st7789.ST7789("+_+", "+e.valueToCode(this,"WIDTH",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"HEIGHT",e.ORDER_ATOMIC)+", dc_pin="+p+", cs_pin="+o+", rotation="+this.getFieldValue("rotate")+", font_address="+n+")\n"},Dv=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".image("+n+", x="+s+", y="+_+", size="+o+", color="+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=i+".image("+n+", x= "+s+",y="+_+", size="+o+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},fv=function(t,e){var i="0x"+this.getFieldValue("COLOR").slice(1);return["0x"+((16252928&i)>>8|(64512&i)>>5|(255&i)>>3).toString(16),e.ORDER_ATOMIC]},Fv=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),u=this.getFieldValue("center");if("0x"==a.slice(0,2))var r=i+".shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+u+", color="+a+")\n";else{const t=a.match(/\d+/g);var l="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r=i+".shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+u+", color=0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+")\n"}return r},Pv=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==o.slice(0,2))var p=i+".frame("+n+", size="+s+", delay="+_+", color="+o+")\n";else{const t=o.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p=i+".frame("+n+", size="+s+", delay="+_+", color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},vv=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u=i+".scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color="+a+")\n";else{const t=a.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u=i+".scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},Yv=function(t,e){return e.definitions_.import_st7789="import st7789",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".fill(st7789."+this.getFieldValue("key")+")\n"},Xv=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"x1",e.ORDER_ATOMIC),s=e.valueToCode(this,"y1",e.ORDER_ATOMIC),_=e.valueToCode(this,"x2",e.ORDER_ATOMIC),o=e.valueToCode(this,"y2",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".line("+n+", "+s+", "+_+", "+o+", color="+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=i+".line("+n+", "+s+", "+_+", "+o+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},yv=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC),s=this.getFieldValue("key"),_=e.valueToCode(this,"ADDR",e.ORDER_ATOMIC);return e.definitions_.import_i2clcd="import i2clcd",i+" = i2clcd.LCD("+n+", lcd_width="+s+", i2c_addr="+_+")\n"},bv=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", column="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", line="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+",center = "+this.getFieldValue("center")+")\n"},xv=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".print("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", column="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", line="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", delay="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},Vv=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".backlight("+this.getFieldValue("key")+")\n"},Bv=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".clear()\n"},Gv=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC),s=e.valueToCode(this,"ADDR",e.ORDER_ATOMIC),_=this.getFieldValue("driver"),o=ct.Boards.getSelectedBoardKey().split(":")[2],p="";return p=["mpython","mixgo_pe","mixgo_nova"].indexOf(o)>=0?"0x700000":["mixgo_sant"].indexOf(o)>=0?"0xE00000":"0x3A0000",e.definitions_.import_oled128x64="import oled128x64",i+" = oled128x64.OLED("+n+", address="+s+", font_address="+p+", types="+_+")\n"},Uv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".image("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},wv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".image("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", x="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", y="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+")\n"},kv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},Hv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", x="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", y="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+", center="+this.getFieldValue("center")+")\n"},Wv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},Kv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+", delay="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},Jv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},qv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", y="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+", speed="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+")\n"},Qv=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},zv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("OP")+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")\n"},jv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},$v=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".pixel(int("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+"), int("+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+"), "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"+i+".show()\n"},Zv=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),_=e.valueToCode(t,"w",e.ORDER_ATOMIC),o=e.valueToCode(t,"h",e.ORDER_ATOMIC),p=t.getFieldValue("state");return i+"."+t.getFieldValue("shape")+"("+n+", "+s+", "+_+", "+o+", "+p+")\n"+i+".show()\n"},tY=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),_=e.valueToCode(t,"length",e.ORDER_ATOMIC),o=t.getFieldValue("state");return i+"."+("0"==t.getFieldValue("dir_h_v")?"v":"h")+"line("+n+", "+s+", "+_+", "+o+")\n"+i+".show()\n"},eY=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".line("+e.valueToCode(t,"x1",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"y1",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"x2",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"y2",e.ORDER_ATOMIC)+", "+t.getFieldValue("state")+")\n"+i+".show()\n"},iY=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT);if("Python ESP32-S3"===ct.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var s="onboard_tft.image("+(n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT))+", color=0xffff,sync="+(e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True")+")\n"}else if("educore"==i){e.definitions_["import_"+i+"_oled"]="from "+i+" import oled";s="oled.print("+n+")\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";s="onboard_matrix.shows("+n+")\n"}return s},nY=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),_=this.getFieldValue("center");if("mixgo_sant"==i||"mixgo_nova"==i||"mixgo_soar"==i)return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.shows("+n+", space="+s+", center="+_+",sync="+(e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True")+")\n";if("educore"==i){e.definitions_["import_"+i+"_oled"]="from "+i+" import oled"}return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.shows("+n+", space="+s+", center="+_+")\n"},sY=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var s="onboard_oled.frame("+n+")\n"}else if("Python ESP32-S3"===ct.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";s="onboard_tft.frame("+(n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT))+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";s="onboard_matrix.frame("+n+")\n"}return s},_Y=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var _="onboard_oled.frame("+(n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT))+", delay="+s+")\n"}else if("Python ESP32-S3"===ct.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";_="onboard_tft.frame("+n+", size=5 , delay="+s+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";_="onboard_matrix.frame("+n+", delay="+s+")\n"}return _},oY=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var n="onboard_oled.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"}else if("Python ESP32-S3"===ct.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";n="onboard_tft.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"}return n},pY=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var o="onboard_oled.scroll("+n+", speed="+s+", space="+_+")\n"}else if("Python ESP32-S3"===ct.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";o="onboard_tft.scroll("+n+", y=0, size=5, speed="+s+", space="+_+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";o="onboard_matrix.scroll("+n+", speed="+s+", space="+_+")\n"}return o},aY=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.scroll_way("+this.getFieldValue("way")+")\n"},uY=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u="onboard_tft.scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color="+a+")\n";else{const t=a.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},rY=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix",["onboard_matrix."+t.getFieldValue("image"),e.ORDER_ATOMIC]},lY=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];if("Python ESP32-S3"===ct.JSFuncs.getPlatform()){const i=t.getFieldValue("image").split(".");if(2!==i.length)throw Error("pin value error");e.definitions_[`import_${i[0]}_${i[1]}`]=`from ${i[0]} import ${i[1]}`;var n=i[1]}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix."+t.getFieldValue("image")}return[n,e.ORDER_ATOMIC]},dY=function(t,e){var i={"#000000":"0","#ff0000":"1"};function n(t){let e="";if(t.length%2==1&&(t="0"+t),t.length<8){let e=8-t.length;for(let i=1;i<=e;i++)t="0"+t}for(let i=1;i<=t.length;i++)i%2==0&&i!==t.length?e=e+t[i-1]+",0x":e+=t[i-1];return"0x"+e}let s=[];for(let e=0;e<12;e++){let _="",o=0,p=0;for(let n=0;n<32;n++)n<8?p=7-n:n<16?p=23-n:n<24?p=39-n:n<32&&(p=55-n),o+=Number(i[t.getFieldValue(e+"-"+n)])*Math.pow(2,31-p);_+=n(o.toString(16)),s.unshift(_)}let _=[];for(let t=0;t>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},zY=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.picture("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+","+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+","+e.valueToCode(this,"direct",e.ORDER_ASSIGNMENT)+")\n"},jY=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=this.getFieldValue("center"),u=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True",r=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==r.slice(0,2))var l="onboard_tft.shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+a+", color="+r+",sync="+u+")\n";else{const t=r.match(/\d+/g);var d="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");l="onboard_tft.shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+a+", color=0x"+((16252928&d)>>8|(64512&d)>>5|(255&d)>>3).toString(16)+",sync="+u+")\n"}return l},$Y=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==o.slice(0,2))var p="onboard_tft.frame("+n+", size="+s+", delay="+_+", color="+o+")\n";else{const t=o.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p="onboard_tft.frame("+n+", size="+s+", delay="+_+", color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},ZY=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),_=e.valueToCode(t,"w",e.ORDER_ATOMIC),o=e.valueToCode(t,"h",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=t.getFieldValue("shape"),u=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var r="onboard_tft."+a+"("+n+", "+s+", "+_+", "+o+", "+p+",sync="+u+")\n";else{const t=p.match(/\d+/g);var l="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r="onboard_tft."+a+"("+n+", "+s+", "+_+", "+o+", 0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+",sync="+u+")\n"}return r},tX=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),_=e.valueToCode(t,"length",e.ORDER_ATOMIC),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),p=t.getFieldValue("dir_h_v"),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==o.slice(0,2))var u="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+_+", "+o+",sync="+a+")\n";else{const t=o.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+_+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},eX=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x1",e.ORDER_ATOMIC),s=e.valueToCode(t,"y1",e.ORDER_ATOMIC),_=e.valueToCode(t,"x2",e.ORDER_ATOMIC),o=e.valueToCode(t,"y2",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var u="onboard_tft.line("+n+", "+s+", "+_+", "+o+", "+p+",sync="+a+")\n";else{const t=p.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.line("+n+", "+s+", "+_+", "+o+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},iX=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft",["onboard_tft.pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},nX=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),o=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==_.slice(0,2))var p="onboard_tft.pixel(int("+n+"), int("+s+"), "+_+",sync="+o+")\n";else{const t=_.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p="onboard_tft.pixel(int("+n+"), int("+s+"), 0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+",sync="+o+")\n"}return p},sX=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"VAR",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==n.slice(0,2))var _="onboard_tft.fill("+n+",sync="+s+")\n";else{const t=n.match(/\d+/g);var o="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");_="onboard_tft.fill(0x"+((16252928&o)>>8|(64512&o)>>5|(255&o)>>3).toString(16)+",sync="+s+")\n"}return _},_X=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=o+"=Clock("+n+", "+s+", "+_+", "+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=o+"=Clock("+n+", "+s+", "+_+", 0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},oX=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".set_rtctime()\n"},pX=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".set_time("+e.valueToCode(this,"h",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"m",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"s",e.ORDER_ASSIGNMENT)+")\n"},aX=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".draw_clock()\n"},uX=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==s.slice(0,2))var _=n+".clear("+s+")\n";else{const t=s.match(/\d+/g);var o="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");_=n+".clear(0x"+((16252928&o)>>8|(64512&o)>>5|(255&o)>>3).toString(16)+")\n"}return _},rX=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),_=e.valueToCode(t,"r",e.ORDER_ATOMIC),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),p=t.getFieldValue("shape"),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==o.slice(0,2))var u="onboard_tft.ellipse("+n+", "+s+", "+_+", "+_+", "+o+", "+p+",sync="+a+")\n";else{const t=o.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.ellipse("+n+", "+s+", "+_+", "+_+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+", "+p+",sync="+a+")\n"}return u},lX=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];if("Python ESP32-S3"===ct.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n="onboard_tft.pointern(angle="+e.valueToCode(this,"angle",e.ORDER_ASSIGNMENT)+")\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.pointern(angle="+e.valueToCode(this,"angle",e.ORDER_ASSIGNMENT)+")\n"}return n},dX=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"angle",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==s.slice(0,2));else{const t=s.match(/\d+/g);var _="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");((16252928&_)>>8|(64512&_)>>5|(255&_)>>3).toString(16)}return"onboard_tft.pointern(angle="+n+")\n"},IX=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var u="onboard_tft.texts("+n+", x="+s+", y="+_+", size="+o+", color="+p+",sync="+a+")\n";else{const t=p.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.texts("+n+", x="+s+", y="+_+", size="+o+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},TX=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.qrcode("+e.valueToCode(this,"direct",e.ORDER_ATOMIC)+")\n"},MX=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True",u=this.getFieldValue("correct");if("0x"==p.slice(0,2))var r="onboard_tft.qrcode("+n+",x="+s+",y="+_+",size="+o+",correct="+u+",color="+p+",sync="+a+")\n";else{const t=p.match(/\d+/g);var l="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r="onboard_tft.qrcode("+n+",x="+s+",y="+_+",size="+o+",correct="+u+",color=0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+",sync="+a+")\n"}return r},hX=iY,mX=cY,EX=EY,OX=cY,RX=gY,cX=TY,gX=function(t,e){var i=this.getFieldValue("path"),n=this.getFieldValue("module");return e.definitions_["import_"+i+"_"+n]="from "+i+" import "+n,""},CX=function(t,e){var i=this.getFieldValue("module");return e.definitions_["import_"+i]="import "+i,""},SX=function(t,e){for(var i=this.getFieldValue("NAME"),n=new Array(this.itemCount_),s=0;s {\n"+e.statementToCode(this,"do")+"})\n"},kG=function(){return"control.reset()\n"},HG=function(t,e){return"control.waitMicros("+(e.valueToCode(this,"data",e.ORDER_ATOMIC)||ct.Profile.default.serial)+")\n"},WG=function(t,e){return"control.raiseEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||ct.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||ct.Profile.default.serial)+")\n"},KG=function(t,e){return"control.onEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||ct.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||ct.Profile.default.serial)+", () => {\n"+e.statementToCode(this,"do")+")\n"},JG=function(t,e){return["control.eventTimestamp()",e.ORDER_ATOMIC]},qG=function(t,e){return["control.eventValue()",e.ORDER_ATOMIC]},QG=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},zG=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},jG=function(t,e){return["control.deviceName()",e.ORDER_ATOMIC]},$G=function(t,e){return["control.deviceSerialNumber()",e.ORDER_ATOMIC]},ZG=function(t,e){return"panic("+(e.valueToCode(this,"STATUS_CODE",e.ORDER_ATOMIC)||"1000")+")\n"},tU=function(t,e){switch(e.definitions_.import_time="import time",this.getFieldValue("Time")){case"ms":return["time.ticks_ms()",e.ORDER_ATOMIC];case"us":return["time.ticks_us()",e.ORDER_ATOMIC]}},eU=function(){return"while True:\n pass\n"},iU=function(t,e){return e.definitions_.import_mixgo="import mixgo","reset()\n"},nU=function(t,e){return e.definitions_.import_os="import os","os.uname()"},sU=function(t,e){e.definitions_.import_time="import time";var i=e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},_U=function(t,e){e.definitions_.import_time="import time";var i=e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},oU=function(t,e){return e.definitions_.import_mixgo="import mixgo",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+".init(period="+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode=Timer."+(e.valueToCode(this,"mode",e.ORDER_NONE)||"None")+", callback="+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},pU=function(t,e){return e.definitions_.import_machine="import machine",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+" = machine.Timer("+(e.valueToCode(this,"PIN",e.ORDER_NONE)||"None")+",period = "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode=machine.Timer."+this.getFieldValue("mode")+", callback="+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},aU=function(t,e){return e.definitions_.import_time="import time",["time.ticks_diff("+(e.valueToCode(this,"END",e.ORDER_NONE)||"0")+", "+(e.valueToCode(this,"START",e.ORDER_NONE)||"0")+")",e.ORDER_ATOMIC]},uU=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return e.definitions_.import_machine="import machine",i+" = machine.Timer(0)\n"},rU=function(t,e){return e.definitions_.import_machine="import machine",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+".init(period = "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode=machine.Timer."+this.getFieldValue("mode")+", callback="+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},lU=function(t,e){return e.definitions_.import_machine="import machine","wdt = machine.WDT(timeout= "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+")\n"},dU=function(t,e){e.definitions_.import_machine="import machine";return"wdt.feed()\n"},IU=function(t,e){e.definitions_.import_machine="import machine";return"machine.reset()\n"},TU=function(t,e){e.definitions_.import_bitbot_onboard_bot51="from bitbot import onboard_bot51";return"onboard_bot51.shutdown()\n"},MU=uU,hU=rU,mU=aU,EU=sU,OU=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},RU=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"day",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},cU=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api.weather_hourly("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"hour",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},gU=function(t,e){return e.definitions_["import_seniverse_api*"]="from seniverse_api import *",this.getFieldValue("mode")+".request("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+")\n"},CU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Weather_now.analysis()";else n='Weather_now.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},SU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Air_now.analysis()";else n='Air_now.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},AU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Weather_alarm.analysis()";else n='Weather_alarm.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},LU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Life_suggestion.analysis()";else n='Life_suggestion.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},NU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Tide_daily.analysis()";else n='Tide_daily.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},DU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Location_search.analysis()";else n='Location_search.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},fU=function(t,e){return e.definitions_["import_seniverse_api*"]="from seniverse_api import *",this.getFieldValue("mode")+".request("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"day",e.ORDER_ATOMIC)+")\n"},FU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Weather_daily.analysis("+n+")";else s="Weather_daily.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},PU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Air_daily.analysis("+n+")";else s="Air_daily.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},vU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Geo_sun.analysis("+n+")";else s="Geo_sun.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},YU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Geo_moon.analysis("+n+")";else s="Geo_moon.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},XU='
\r\n
{{-d.title}}
\r\n
\r\n {{# if (d.message) { }}\r\n

\r\n {{-d.message}}\r\n

\r\n {{# } }}\r\n
\r\n
',{XML:yU}=ct,bU=yU.render(XU,{title:"烧录速度",message:"要选择烧录速度,请更改“Burn Speed”,此值将用于向设备烧录代码。如果在用较高的烧录速度时出现问题,请尝试减小此值,这可能是由于外部串行到USB芯片的限制。"}),{XML:xU}=ct,VU=xU.render(XU,{title:"燒錄速度",message:"要選擇燒錄速度,請更改“Burn Speed”,此值將用於向設備燒錄程式碼。如果在用較高的燒錄速度時出現問題,請嘗試减小此值,這可能是由於外部串列到USB晶片的限制。"}),{XML:BU}=ct,GU=BU.render(XU,{title:"Burn Speed",message:"To select the flashing speed, change the Burn Speed. This value will be used for flashing the code to the device. If you have issues while flashing the device at high speed, try to decrease this value. This could be due to the external serial-to-USB chip limitations."}),UU=new Rt.Generator("Python");UU.INDENT=" ",UU.addReservedWords("False,None,True,and,as,assert,break,class,continue,def,del,elif,else,except,exec,finally,for,from,global,if,import,in,is,lambda,nonlocal,not,or,pass,print,raise,return,try,while,with,yield,NotImplemented,Ellipsis,__debug__,quit,exit,copyright,license,credits,ArithmeticError,AssertionError,AttributeError,BaseException,BlockingIOError,BrokenPipeError,BufferError,BytesWarning,ChildProcessError,ConnectionAbortedError,ConnectionError,ConnectionRefusedError,ConnectionResetError,DeprecationWarning,EOFError,Ellipsis,EnvironmentError,Exception,FileExistsError,FileNotFoundError,FloatingPointError,FutureWarning,GeneratorExit,IOError,ImportError,ImportWarning,IndentationError,IndexError,InterruptedError,IsADirectoryError,KeyError,KeyboardInterrupt,LookupError,MemoryError,ModuleNotFoundError,NameError,NotADirectoryError,NotImplemented,NotImplementedError,OSError,OverflowError,PendingDeprecationWarning,PermissionError,ProcessLookupError,RecursionError,ReferenceError,ResourceWarning,RuntimeError,RuntimeWarning,StandardError,StopAsyncIteration,StopIteration,SyntaxError,SyntaxWarning,SystemError,SystemExit,TabError,TimeoutError,TypeError,UnboundLocalError,UnicodeDecodeError,UnicodeEncodeError,UnicodeError,UnicodeTranslateError,UnicodeWarning,UserWarning,ValueError,Warning,ZeroDivisionError,_,__build_class__,__debug__,__doc__,__import__,__loader__,__name__,__package__,__spec__,abs,all,any,apply,ascii,basestring,bin,bool,buffer,bytearray,bytes,callable,chr,classmethod,cmp,coerce,compile,complex,copyright,credits,delattr,dict,dir,divmod,enumerate,eval,exec,execfile,exit,file,filter,float,format,frozenset,getattr,globals,hasattr,hash,help,hex,id,input,int,intern,isinstance,issubclass,iter,len,license,list,locals,long,map,max,memoryview,min,next,object,oct,open,ord,pow,print,property,quit,range,raw_input,reduce,reload,repr,reversed,round,set,setattr,slice,sorted,staticmethod,str,sum,super,tuple,type,unichr,unicode,vars,xrange,zip"),UU.ORDER_ATOMIC=0,UU.ORDER_COLLECTION=1,UU.ORDER_STRING_CONVERSION=1,UU.ORDER_UNARY_POSTFIX=1,UU.ORDER_UNARY_PREFIX=2,UU.ORDER_MEMBER=2.1,UU.ORDER_FUNCTION_CALL=2.2,UU.ORDER_EXPONENTIATION=3,UU.ORDER_UNARY_SIGN=4,UU.ORDER_BITWISE_NOT=4,UU.ORDER_MULTIPLICATIVE=5,UU.ORDER_ADDITIVE=6,UU.ORDER_BITWISE_SHIFT=7,UU.ORDER_BITWISE_AND=8,UU.ORDER_BITWISE_XOR=9,UU.ORDER_BITWISE_OR=10,UU.ORDER_RELATIONAL=11,UU.ORDER_EQUALITY=11,UU.ORDER_LOGICAL_NOT=12,UU.ORDER_LOGICAL_AND=13,UU.ORDER_LOGICAL_OR=14,UU.ORDER_ASSIGNMENT=14,UU.ORDER_CONDITIONAL=15,UU.ORDER_LAMBDA=16,UU.ORDER_NONE=99,UU.ORDER_OVERRIDES=[[UU.ORDER_FUNCTION_CALL,UU.ORDER_MEMBER],[UU.ORDER_FUNCTION_CALL,UU.ORDER_FUNCTION_CALL],[UU.ORDER_MEMBER,UU.ORDER_MEMBER],[UU.ORDER_MEMBER,UU.ORDER_FUNCTION_CALL]],UU.init=function(){UU.PASS=this.INDENT+"pass\n",UU.definitions_=Object.create(null),UU.functionNames_=Object.create(null),UU.setups_=Object.create(null),UU.loops_=Object.create(null),UU.codeEnd_=Object.create(null),UU.variableDB_?UU.variableDB_.reset():UU.variableDB_=new At(UU.RESERVED_WORDS_)},UU.finish=function(t){""!==t&&(t=(t=t.replace(/\n/g,"\n")).replace(/\n\s+$/,"\n"));var e=[],i=[],n=[];for(var s in this.definitions_){var _=this.definitions_[s];0===s.indexOf("import")?e.push(_):0===s.indexOf("var_declare")?i.push(_):n.push(_)}e.length&&e.push("\n"),i.length&&i.push("\n"),n.length&&n.push("\n");var o=[];for(var s in UU.functions_)o.push(UU.functions_[s]);o.length&&o.push("\n");var p=[];for(var s in UU.setups_)p.push(UU.setups_[s]);p.length&&p.push("\n");var a=[];for(var s in UU.loops_)a.push(UU.loops_[s]);var u=[];for(var s in UU.codeEnd_)u.push(UU.codeEnd_[s]);0!==u.length&&u.push("\n");let r="";return r=a.length>0?e.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+t+"while True:\n"+a.join("")+u.join("\n"):e.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+t+u.join("\n"),r},UU.scrubNakedValue=function(t){return t+"\n"},UU.quote_=function(t){var e="'";return-1!==(t=t.replace(/\\/g,"\\\\").replace(/\n/g,"\\\n")).indexOf("'")&&(-1===t.indexOf('"')?e='"':t=t.replace(/'/g,"\\'")),e+t+e},UU.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},UU.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(_=t.getCommentText())&&(_=Rt.utils.string.wrap(_,UU.COMMENT_WRAP-3),n+=UU.prefixLines(_+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const wU={};wU["MixGo CE"]={description:"MicroPython[ESP32C3 MixGo CE]",digital_pin:ct.Profile.generate(["0-18","21-46"]),input_pin:ct.Profile.generate(["0-18","21-46"]),output_pin:ct.Profile.generate(["0-18","21-45"]),pwm_input:ct.Profile.generate(["0-18","21-46"],"pwm","pwm"),analog_input:ct.Profile.generate(["0-18","21-46"],"adc","adc"),pwm_output:ct.Profile.generate(["0-18","21-45"],"pwm","pwm"),analog_output:ct.Profile.generate(["0-18","21-45"],"adc","adc"),espnow_channel:ct.Profile.generate(["1-13"]),haskylens_model:ct.Profile.generate(["0-4"]),digital:ct.Profile.generate(["0-18","21-45"],"pin","pin"),pwm_pin:ct.Profile.generate(["0-18","21-45"]),pwm:ct.Profile.generate(["0-18","21-45"],"pwm","pwm"),analog_pin:ct.Profile.generate(["1-18"]),analog:ct.Profile.generate(["1-18"],"adc","adc"),dac_pin:ct.Profile.generate(["17-18"]),dac:ct.Profile.generate(["17-18"],"dac","dac"),touch:ct.Profile.generate(["1-14"],"tc","tc"),touch_pin:ct.Profile.generate(["1-14"]),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:ct.Profile.generate(["0-4"]),exlcdh:ct.Profile.generate(["0-15"]),exlcdv:ct.Profile.generate(["0-7"]),brightness:ct.Profile.generate(["0-9"]),tts_voice:ct.Profile.generate(["0-16"]),tts_builtin_music:ct.Profile.generate(["0-47"]),tts_bgmusic:ct.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["MUSIC_QUAVERS","onboard_matrix.MUSIC_QUAVERS"],["MUSIC_QUAVER","onboard_matrix.MUSIC_QUAVER"],["MUSIC_CROTCHET","onboard_matrix.MUSIC_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"],["DOOR_CLOSE","onboard_matrix.DOOR_CLOSE"],["DOOR_OPEN","onboard_matrix.DOOR_OPEN"],["DOOR_OPENING","onboard_matrix.DOOR_OPENING"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]},wU["ESP32S2 Generic"]={description:"MicroPython[ESP32C3 MixGo CC]",digital_pin:ct.Profile.generate(["0-42","45"]),input_pin:ct.Profile.generate(["0-42","45-46"]),output_pin:ct.Profile.generate(["0-42","45"]),pwm_input:ct.Profile.generate(["0-42","45-46"],"pwm","pwm"),analog_input:ct.Profile.generate(["0-18","21-46"],"adc","adc"),pwm_output:ct.Profile.generate(["0-42","45"],"pwm","pwm"),analog_output:ct.Profile.generate(["0-42","45"],"adc","adc"),espnow_channel:ct.Profile.generate(["1-13"]),haskylens_model:ct.Profile.generate(["0-4"]),digital:ct.Profile.generate(["0-42","45"],"pin","pin"),pwm_pin:ct.Profile.generate(["0-42","45"]),pwm:ct.Profile.generate(["0-42","45"],"pwm","pwm"),analog_pin:ct.Profile.generate(["1-20"]),analog:ct.Profile.generate(["1-20"],"adc","adc"),dac_pin:ct.Profile.generate(["17-18"]),dac:ct.Profile.generate(["17-18"],"dac","dac"),touch:ct.Profile.generate(["1-14"],"tc","tc"),touch_pin:ct.Profile.generate(["1-14"]),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:ct.Profile.generate(["0-4"]),exlcdh:ct.Profile.generate(["0-15"]),exlcdv:ct.Profile.generate(["0-7"]),brightness:ct.Profile.generate(["0-9"]),tts_voice:ct.Profile.generate(["0-16"]),tts_builtin_music:ct.Profile.generate(["0-47"]),tts_bgmusic:ct.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["MUSIC_QUAVERS","onboard_matrix.MUSIC_QUAVERS"],["MUSIC_QUAVER","onboard_matrix.MUSIC_QUAVER"],["MUSIC_CROTCHET","onboard_matrix.MUSIC_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]};const kU=wU,HU=20,WU={init:function(){this.setColour(HU),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_HIGH,"HIGH"],[Rt.Msg.MIXLY_LOW,"LOW"]]),"BOOL"),this.setOutput(!0,Boolean),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_HIGHLOW_TOOLTIP)}},KU={init:function(){this.setColour(HU),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_Digital_PINMODEOUT).setCheck(Number),this.appendValueInput("STAT").appendField(Rt.Msg.MIXLY_STAT).setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_DIGITAL_WRITE_TOOLTIP)}},JU={init:function(){this.setColour(HU),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Rt.Msg.MIXLY_Digital_PINMODEIN).setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_MACHINE_VALUE),this.setInputsInline(!0),this.setOutput(!0,[Boolean,Number]),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_DIGITAL_READ_TOOLTIP)}},qU={init:function(){this.setColour(HU),this.appendValueInput("PIN",Number).appendField("DAC"+Rt.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendValueInput("NUM",Number).appendField(Rt.Msg.MIXLY_VALUE2).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_TOOLTIP)}},QU={init:function(){this.setColour(HU),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_JS_PERIOD_MIL).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_mSecond,"period"],[Rt.Msg.MIXLY_uSecond,"period_microseconds"]]),"key"),this.appendValueInput("NUM",Number).appendField(Rt.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_SET_TOOLTIP)}},zU={init:function(){this.setColour(HU),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_Analog_PINMODEIN).setCheck(Number),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_ESP32_REF_VOLTAGE+Rt.Msg.MIXLY_STAT).appendField(new Rt.FieldDropdown([["3.3V","machine.ADC.ATTN_11DB"],["2.2V","machine.ADC.ATTN_6DB"],["1.5V","machine.ADC.ATTN_2_5DB"],["1.2V","machine.ADC.ATTN_0DB"]]),"atten"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_ANALOG_ATTEN_TOOLTIP)}},jU={init:function(){this.setColour(HU),this.appendValueInput("pin").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Rt.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_MACHINE_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_PIN_PRESSED_TOOLTIP)}},$U={init:function(){this.setColour(20),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_ATTACHINTERRUPT_PIN).setCheck(Number),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MODE).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[Rt.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[Rt.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(Rt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_PIN_ATTACHINTERRUPT_TOOLTIP)}},ZU={init:function(){this.setColour(20),this.appendDummyInput().appendField(Rt.Msg.MIXLY_SETUP).appendField(new Rt.FieldTextInput("pin#"),"PIN_OBJ"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROPYTHON_AS).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_Digital_PINMODEOUT,"machine.Pin.OUT"],[Rt.Msg.MIXLY_Digital_PINMODEIN,"machine.Pin.IN"],[Rt.Msg.MIXLY_PINMODEPULLUP,"machine.Pin.IN, machine.Pin.PULL_UP"],[Rt.Msg.MIXLY_PINMODEPULLDOWN,"machine.Pin.IN, machine.Pin.PULL_DOWN"]]),"MODE"),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_DIGITAL_INIT_TOOLTIP)},getVars:function(){return["pin#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(e,"PIN_OBJ")}},tw={init:function(){this.setColour(HU),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_SETUP).appendField(new Rt.FieldTextInput("dac#"),"PIN_OBJ").appendField(Rt.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField("DAC"+Rt.Msg.MIXLY_Analog_PINMODEOUT),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_INIT_TOOLTIP)},getVars:function(){return["dac#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(e,"PIN_OBJ")}},ew={init:function(){this.setColour(HU),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_SETUP).appendField(new Rt.FieldTextInput("tc#"),"PIN_OBJ").appendField(Rt.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_PIN_PRESSED_INIT_TOOLTIP)},getVars:function(){return["tc#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(e,"PIN_OBJ")}},iw={init:function(){this.setColour(HU),this.appendValueInput("PIN",Number).appendField("PWM"+Rt.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendValueInput("NUM",Number).appendField(Rt.Msg.MIXLY_FREQUENCY+Rt.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_PWM_ANALOG_WRITE_SET_FREQ_TOOLTIP)}},nw=ZU,sw=ew,_w=jU,ow=$U,pw=230,aw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.digital),"PIN"),this.setOutput(!0)}},uw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.digital_pin),"PIN"),this.setOutput(!0,Number)}},rw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.input_pin),"PIN"),this.setOutput(!0,Number)}},lw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.output_pin),"PIN"),this.setOutput(!0,Number)}},dw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.espnow_channel),"PIN"),this.setOutput(!0,Number)}},Iw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.haskylens_model),"PIN"),this.setOutput(!0,Number)}},Tw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.pwm_input),"PIN"),this.setOutput(!0)}},Mw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.analog_input),"PIN"),this.setOutput(!0)}},hw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.pwm_output),"PIN"),this.setOutput(!0)}},mw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.analog_output),"PIN"),this.setOutput(!0)}},Ew={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.i2c_A_pin),"PIN"),this.setOutput(!0,Number)}},Ow={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.i2c_B_pin),"PIN"),this.setOutput(!0,Number)}},Rw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.spi_A_pin),"PIN"),this.setOutput(!0,Number)}},cw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.spi_B_pin),"PIN"),this.setOutput(!0,Number)}},gw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.spi_C_pin),"PIN"),this.setOutput(!0,Number)}},Cw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.spi_D_pin),"PIN"),this.setOutput(!0,Number)}},Sw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.analog),"PIN"),this.setOutput(!0)}},Aw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.analog_pin),"PIN"),this.setOutput(!0,Number)}},Lw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.dac),"PIN"),this.setOutput(!0)}},Nw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.dac_pin),"PIN"),this.setOutput(!0,Number)}},Dw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.button),"PIN"),this.setOutput(!0,Number)}},fw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.buttonB),"PIN"),this.setOutput(!0,Number)}},Fw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.pwm),"PIN"),this.setOutput(!0)}},Pw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.pwm_pin),"PIN"),this.setOutput(!0,Number)}},vw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.touch_pin),"PIN"),this.setOutput(!0,Number)}},Yw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.touch),"PIN"),this.setOutput(!0)}},Xw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.serial_pin),"PIN"),this.setOutput(!0,Number)}},yw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.builtinimg),"PIN"),this.setOutput(!0,"esp32_image")}},bw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.builtinimg_extern),"PIN"),this.setOutput(!0,"esp32_image")}},xw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.imglist),"PIN"),this.setOutput(!0)}},Vw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.playlist),"PIN"),this.setOutput(!0)}},Bw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.playlist_extern),"PIN"),this.setOutput(!0)}},Gw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.exlcdh),"PIN"),this.setOutput(!0,Number)}},Uw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.exlcdv),"PIN"),this.setOutput(!0,Number)}},ww={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.axis),"PIN"),this.setOutput(!0,Number)}},kw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.brightness),"PIN"),this.setOutput(!0,Number)}},Hw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.tts_voice),"PIN"),this.setOutput(!0,Number)}},Ww={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.tts_builtin_music),"PIN"),this.setOutput(!0,Number)}},Kw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.tts_bgmusic),"PIN"),this.setOutput(!0,Number)}},Jw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.tone_notes),"PIN"),this.setOutput(!0,Number)}},qw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.radio_power),"PIN"),this.setOutput(!0,Number)}},Qw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.radio_datarate),"PIN"),this.setOutput(!0,Number)}},zw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.one_more),"PIN"),this.setOutput(!0)}},jw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.digital_dot),"PIN"),this.setOutput(!0,Number)}},$w={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown([["0","0"],["1","1"],["2","2"],["3","3"]]),"PIN"),this.setOutput(!0,Number)}},Zw=function(t,e){return["HIGH"==this.getFieldValue("BOOL")?"1":"0",e.ORDER_ATOMIC]},tk=function(t,e){e.definitions_.import_machine="import machine";var i="";return i+=e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".value("+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"},ek=function(t,e){e.definitions_.import_machine="import machine";return[e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".value()",e.ORDER_ATOMIC]},ik=function(t,e){return e.definitions_.import_machine="import machine",e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".write("+e.valueToCode(this,"NUM",e.ORDER_ATOMIC)+")\n"},nk=function(t,e){e.definitions_.import_machine="import machine";var i=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),n=e.valueToCode(this,"NUM",e.ORDER_ATOMIC);return i+".set_analog_"+this.getFieldValue("key")+"("+n+")\n"},sk=function(t,e){return e.definitions_.import_machine="import machine",[e.valueToCode(this,"pin",e.ORDER_ATOMIC)+".read()",e.ORDER_ATOMIC]},_k=function(t,e){e.definitions_.import_machine="import machine";var i=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),n=this.getFieldValue("mode");return"machine.Pin("+i+").irq(handler = "+e.valueToCode(this,"DO",e.ORDER_ATOMIC)+", trigger = "+n+")\n"},ok=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"pin#",n=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),s=this.getFieldValue("MODE");return("pin#"==i?"pin"+n:e.variableDB_.getName(i,Rt.Variables.NAME_TYPE))+" = machine.Pin("+n+", "+s+")\n"},pk=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"dac#",n=e.valueToCode(this,"PIN",e.ORDER_ATOMIC);return("dac#"==i?"dac"+n:e.variableDB_.getName(i,Rt.Variables.NAME_TYPE))+" = machine.DAC(machine.Pin("+n+"))\n"},ak=function(t,e){return e.definitions_.import_machine="import machine",e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".atten("+this.getFieldValue("atten")+")\n"},uk=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"tc#",n=e.valueToCode(this,"PIN",e.ORDER_ATOMIC);return("tc#"==i?"tc"+n:e.variableDB_.getName(i,Rt.Variables.NAME_TYPE))+" = machine.TouchPad(machine.Pin("+n+"))\n"},rk=function(t,e){return[this.getFieldValue("PIN"),e.ORDER_ATOMIC]},lk=rk,dk=rk,Ik=rk,Tk=rk,Mk=rk,hk=rk,mk=rk,Ek=rk,Ok=rk,Rk=rk,ck=rk,gk=rk,Ck=rk,Sk=rk,Ak=rk,Lk=rk,Nk=rk,Dk=rk,fk=rk,Fk=rk,Pk=rk,vk=rk,Yk=rk,Xk=rk,yk=rk,bk=rk,xk=rk,Vk=rk,Bk=rk,Gk=rk,Uk=rk,wk=rk,kk=rk,Hk=rk,Wk=rk,Kk=rk,Jk=rk,qk=rk,Qk=rk,zk=rk,jk=rk,$k=rk,Zk=rk,tH=rk,eH=rk;Object.assign(Rt.Variables,Ct),Object.assign(Rt.Procedures,Bu),Object.assign(Rt.Lang.ZhHans,It),Object.assign(Rt.Lang.ZhHant,Tt),Object.assign(Rt.Lang.En,Mt),Rt.Python=Gu,Rt.generator=Gu,ct.Profile.default={},Object.assign(ct.Profile,kU),Object.assign(ct.Profile.default,kU["MixGo CE"]),Object.assign(Rt.Blocks,e,i,n,s,_,o,p,a,u,r,l,d,I,V,W,H,X,B,K,f,k,w,U,G,F,D,N,b,y,x,P,v,Y,ht,mt),Object.assign(Rt.Python.forBlock,T,M,h,m,E,O,R,c,g,C,S,A,L,st,lt,rt,tt,_t,dt,Q,ut,at,pt,ot,z,q,J,it,et,nt,j,$,Z,Et,Ot)})(); \ No newline at end of file diff --git a/boards/default/micropython_esp32s2/main.bundle.85ff92a3.js b/boards/default/micropython_esp32s2/main.bundle.85ff92a3.js deleted file mode 100644 index f281fb25..00000000 --- a/boards/default/micropython_esp32s2/main.bundle.85ff92a3.js +++ /dev/null @@ -1,21 +0,0 @@ -(()=>{"use strict";var t={d:(e,i)=>{for(var n in i)t.o(i,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:i[n]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};t.r(e),t.d(e,{controls_type:()=>Pt,controls_typeLists:()=>vt,lists_zip:()=>Yt,lists_zip_container:()=>Xt,lists_zip_item:()=>yt,unpack_iterable_object:()=>bt,variables_change:()=>ft,variables_get:()=>Nt,variables_global:()=>Ft,variables_set:()=>Dt});var i={};t.r(i),t.d(i,{base_setup:()=>Bt,controls_delay:()=>Gt,controls_end_program:()=>Ut,controls_except:()=>te,controls_finally:()=>ee,controls_flow_statements:()=>Jt,controls_for:()=>qt,controls_forEach:()=>Ht,controls_for_range:()=>Qt,controls_if:()=>wt,controls_if_else:()=>$t,controls_if_elseif:()=>jt,controls_if_if:()=>zt,controls_lambda:()=>ne,controls_main:()=>Vt,controls_pass:()=>se,controls_range:()=>kt,controls_repeat_ext:()=>ie,controls_thread:()=>_e,controls_try:()=>Zt,controls_try_finally:()=>Kt,controls_whileUntil:()=>Wt,datetime_fromtimestamp:()=>le,do_while:()=>oe,garbage_collection:()=>pe,gene_unique_identifier:()=>de,get_mem_alloc:()=>ae,get_mem_free:()=>ue,get_unique_identifier:()=>re});var n={};t.r(n),t.d(n,{base_map:()=>Ye,generate_cartesian_product:()=>ye,math_arithmetic:()=>me,math_bit:()=>Oe,math_constant:()=>Me,math_constant_mp:()=>he,math_constrain:()=>Le,math_dec:()=>ce,math_degree_to_radian:()=>xe,math_indexer_number:()=>De,math_map:()=>Ne,math_max_min:()=>Ce,math_number:()=>Te,math_number_base_conversion:()=>Se,math_radian_to_degree:()=>be,math_random:()=>Ae,math_random_seed:()=>fe,math_round:()=>Fe,math_selfcalcu:()=>Ee,math_to_int:()=>ge,math_trig:()=>Re,text_to_number:()=>Pe,text_to_number_skulpt:()=>ve,turn_to_int:()=>Xe});var s={};t.r(s),t.d(s,{ascii_to_char:()=>He,char_to_ascii:()=>We,number_to_text:()=>Ke,os_system:()=>mi,text:()=>Be,text_bytes:()=>Ue,text_capital:()=>ei,text_center:()=>ii,text_char:()=>we,text_char_at:()=>Qe,text_char_at2:()=>qe,text_char_at3:()=>Ii,text_compareTo:()=>di,text_compare_to:()=>ti,text_create_with_container:()=>ui,text_create_with_item:()=>ri,text_encode:()=>Mi,text_equals_starts_ends:()=>Ze,text_eval:()=>hi,text_find:()=>ni,text_format:()=>ai,text_format_noreturn:()=>Ti,text_join:()=>ke,text_join_seq:()=>si,text_length:()=>Je,text_random_char:()=>ze,text_replace:()=>_i,text_split:()=>oi,text_strip:()=>pi,text_substring:()=>$e,text_substring2:()=>je,text_substring3:()=>li,text_textarea:()=>Ge});var _={};t.r(_),t.d(_,{ENUMERATE:()=>Zi,content_in_lists:()=>en,enumerate:()=>tn,list_many_input:()=>Gi,list_tolist:()=>Hi,list_tolist2:()=>$i,list_trig:()=>xi,lists_2d_get_col_row_data:()=>gi,lists_2d_get_data_with_col_row:()=>ci,lists_append_extend:()=>Di,lists_change_to:()=>Bi,lists_change_to_general:()=>wi,lists_clear:()=>Yi,lists_create_with:()=>Ci,lists_create_with2:()=>Wi,lists_create_with_container:()=>Ai,lists_create_with_item:()=>Li,lists_create_with_noreturn:()=>Ui,lists_create_with_text:()=>Si,lists_create_with_text2:()=>Ki,lists_del_general:()=>ki,lists_find:()=>bi,lists_getIndex3:()=>Ji,lists_getSublist3:()=>qi,lists_get_index:()=>Oi,lists_get_random_item:()=>fi,lists_get_random_sublist:()=>Fi,lists_get_sublist:()=>Ri,lists_insert_value:()=>Pi,lists_insert_value2:()=>zi,lists_pop:()=>yi,lists_remove_at:()=>Xi,lists_remove_at2:()=>ji,lists_reverse:()=>vi,lists_setIndex3:()=>Qi,lists_set_index:()=>Ni,lists_sort:()=>Vi});var o={};t.r(o),t.d(o,{dicts_add_change_del:()=>En,dicts_add_or_change:()=>rn,dicts_clear:()=>In,dicts_create_with:()=>sn,dicts_create_with_container:()=>_n,dicts_create_with_item:()=>on,dicts_create_with_noreturn:()=>cn,dicts_deldict:()=>mn,dicts_delete:()=>ln,dicts_get:()=>an,dicts_get_default:()=>un,dicts_items:()=>Tn,dicts_keys:()=>pn,dicts_length:()=>hn,dicts_pop:()=>On,dicts_setdefault:()=>Rn,dicts_to_json:()=>Cn,dicts_to_json2:()=>Ln,dicts_to_to:()=>An,dicts_todict:()=>gn,dicts_update:()=>dn,dicts_values:()=>Mn,json_to_dicts:()=>Sn});var p={};t.r(p),t.d(p,{logic_boolean:()=>vn,logic_compare:()=>Dn,logic_compare_continous:()=>fn,logic_is:()=>bn,logic_is_in:()=>yn,logic_negate:()=>Pn,logic_null:()=>Yn,logic_operation:()=>Fn,logic_tobool:()=>xn,logic_true_or_false:()=>Xn});var a={};t.r(a),t.d(a,{sdcard_mount:()=>os,sdcard_use_spi_init:()=>_s,storage_can_write_ornot:()=>Kn,storage_change_dir:()=>ns,storage_close_file:()=>qn,storage_delete_file:()=>zn,storage_file_seek:()=>Zn,storage_file_tell:()=>$n,storage_file_write:()=>wn,storage_fileopen:()=>Bn,storage_fileopen_new:()=>Gn,storage_fileopen_new_encoding:()=>Un,storage_get_a_line:()=>Wn,storage_get_contents:()=>Hn,storage_get_contents_without_para:()=>kn,storage_get_current_dir:()=>ts,storage_get_file_size:()=>jn,storage_get_filename:()=>Jn,storage_is_file:()=>ss,storage_list_all_files:()=>Qn,storage_make_dir:()=>es,storage_open_file_with_os:()=>Vn,storage_rename:()=>is});var u={};t.r(u),t.d(u,{procedures_callnoreturn:()=>ls,procedures_callreturn:()=>ds,procedures_defnoreturn:()=>ps,procedures_defreturn:()=>as,procedures_ifreturn:()=>Is,procedures_mutatorarg:()=>rs,procedures_mutatorcontainer:()=>us,procedures_return:()=>Ts});var r={};t.r(r),t.d(r,{tuple_change_to:()=>Ls,tuple_create_llm_params:()=>ys,tuple_create_with:()=>hs,tuple_create_with_container:()=>ms,tuple_create_with_item:()=>Es,tuple_create_with_noreturn:()=>Fs,tuple_create_with_text2:()=>Os,tuple_create_with_text_return:()=>Rs,tuple_del:()=>Cs,tuple_find:()=>Ns,tuple_getIndex:()=>cs,tuple_getSublist:()=>fs,tuple_get_random_item:()=>vs,tuple_get_sublist:()=>Ps,tuple_input:()=>Xs,tuple_join:()=>Ss,tuple_length:()=>gs,tuple_max:()=>As,tuple_totuple:()=>Ys,tuple_trig:()=>Ds});var l={};t.r(l),t.d(l,{set_add_discard:()=>Ws,set_clear:()=>ws,set_create_with:()=>xs,set_create_with_container:()=>Vs,set_create_with_item:()=>Bs,set_create_with_text_return:()=>qs,set_length:()=>Gs,set_operate:()=>ks,set_operate_update:()=>Hs,set_pop:()=>Us,set_sub:()=>Ks,set_toset:()=>Qs,set_update:()=>Js});var d={};t.r(d),t.d(d,{html_content:()=>t_,html_content_more:()=>e_,html_document:()=>js,html_form:()=>n_,html_head_body:()=>Zs,html_style:()=>i_,html_style_color:()=>__,html_style_content:()=>s_,html_text:()=>o_,html_title:()=>$s});var I={};t.r(I),t.d(I,{attribute_access:()=>R_,function_call:()=>m_,function_call_container:()=>E_,function_call_item:()=>O_,raw_block:()=>u_,raw_empty:()=>l_,raw_expression:()=>r_,raw_table:()=>a_,text_comment:()=>d_,text_print_multiple:()=>T_,text_print_multiple_container:()=>M_,text_print_multiple_item:()=>h_,type_check:()=>I_});var T={};t.r(T),t.d(T,{controls_type:()=>A_,controls_typeLists:()=>L_,lists_zip:()=>N_,unpack_iterable_object:()=>D_,variables_change:()=>C_,variables_get:()=>c_,variables_global:()=>S_,variables_set:()=>g_});var M={};t.r(M),t.d(M,{Panic_with_status_code:()=>V_,base_setup:()=>F_,controls_delay:()=>x_,controls_flow_statements:()=>b_,controls_for:()=>Y_,controls_forEach:()=>k_,controls_for_range:()=>X_,controls_if:()=>P_,controls_interrupts:()=>U_,controls_lambda:()=>W_,controls_main:()=>f_,controls_millis:()=>B_,controls_nointerrupts:()=>w_,controls_pass:()=>J_,controls_range:()=>H_,controls_repeat:()=>eo,controls_repeat_ext:()=>z_,controls_thread:()=>q_,controls_try_finally:()=>v_,controls_whileUntil:()=>y_,datetime_fromtimestamp:()=>io,do_while:()=>Q_,garbage_collection:()=>j_,gene_unique_identifier:()=>no,get_mem_alloc:()=>$_,get_mem_free:()=>Z_,get_unique_identifier:()=>to,reset:()=>G_,time_sleep:()=>K_});var h={};t.r(h),t.d(h,{base_map:()=>Ao,generate_cartesian_product:()=>No,math_arithmetic:()=>ao,math_bit:()=>po,math_constant:()=>_o,math_constant_mp:()=>oo,math_constrain:()=>Eo,math_dec:()=>Io,math_degree_to_radian:()=>fo,math_indexer_number:()=>co,math_map:()=>mo,math_max_min:()=>Mo,math_number:()=>so,math_number_base_conversion:()=>Oo,math_radian_to_degree:()=>Do,math_random:()=>ho,math_random_seed:()=>Ro,math_round:()=>go,math_selfcalcu:()=>uo,math_single:()=>ro,math_to_int:()=>To,math_trig:()=>lo,text_to_number:()=>Co,text_to_number_skulpt:()=>So,turn_to_int:()=>Lo});var m={};t.r(m),t.d(m,{ascii_to_char:()=>yo,char_to_ascii:()=>bo,number_to_text:()=>xo,os_system:()=>op,text:()=>Fo,text_bytes:()=>vo,text_capital:()=>Ko,text_center:()=>Jo,text_char:()=>Yo,text_char_at:()=>Go,text_char_at2:()=>Bo,text_char_at3:()=>np,text_compareTo:()=>ip,text_compare_to:()=>ko,text_encode:()=>sp,text_equals_starts_ends:()=>wo,text_eval:()=>_p,text_find:()=>qo,text_format:()=>Zo,text_format_noreturn:()=>tp,text_join:()=>Xo,text_join_seq:()=>Qo,text_length:()=>Vo,text_random_char:()=>Uo,text_replace:()=>zo,text_split:()=>jo,text_strip:()=>$o,text_substring:()=>Wo,text_substring2:()=>Ho,text_substring3:()=>ep,text_textarea:()=>Po});var E={};t.r(E),t.d(E,{content_in_lists:()=>Gp,enumerate:()=>Bp,list_many_input:()=>Lp,list_tolist:()=>xp,list_tolist2:()=>Vp,list_trig:()=>Cp,lists_2d_get_col_row_data:()=>up,lists_2d_get_data_with_col_row:()=>ap,lists_append_extend:()=>Tp,lists_change_to:()=>Ap,lists_change_to_general:()=>Dp,lists_clear:()=>Op,lists_create_with:()=>rp,lists_create_with2:()=>Fp,lists_create_with_noreturn:()=>Np,lists_create_with_text:()=>lp,lists_create_with_text2:()=>Pp,lists_del_general:()=>fp,lists_find:()=>Rp,lists_getIndex3:()=>vp,lists_getSublist3:()=>Yp,lists_get_index:()=>dp,lists_get_random_item:()=>Mp,lists_get_random_sublist:()=>hp,lists_get_sublist:()=>pp,lists_insert_value:()=>mp,lists_insert_value2:()=>yp,lists_pop:()=>gp,lists_remove_at:()=>cp,lists_remove_at2:()=>bp,lists_reverse:()=>Ep,lists_setIndex3:()=>Xp,lists_set_index:()=>Ip,lists_sort:()=>Sp});var O={};t.r(O),t.d(O,{dicts_add_change_del:()=>Zp,dicts_add_or_change:()=>Wp,dicts_clear:()=>qp,dicts_create_with:()=>Up,dicts_create_with_noreturn:()=>ia,dicts_deldict:()=>$p,dicts_delete:()=>Kp,dicts_get:()=>kp,dicts_get_default:()=>Hp,dicts_items:()=>Qp,dicts_keys:()=>wp,dicts_length:()=>jp,dicts_pop:()=>ta,dicts_setdefault:()=>ea,dicts_to_json:()=>sa,dicts_to_json2:()=>pa,dicts_to_to:()=>oa,dicts_todict:()=>na,dicts_update:()=>Jp,dicts_values:()=>zp,json_to_dicts:()=>_a});var R={};t.r(R),t.d(R,{logic_boolean:()=>da,logic_compare:()=>aa,logic_compare_continous:()=>ua,logic_is:()=>ha,logic_is_in:()=>Ma,logic_negate:()=>la,logic_null:()=>Ia,logic_operation:()=>ra,logic_tobool:()=>ma,logic_true_or_false:()=>Ta});var c={};t.r(c),t.d(c,{sdcard_mount:()=>Ga,sdcard_use_spi_init:()=>Ba,storage_can_write_ornot:()=>La,storage_change_dir:()=>Xa,storage_close_file:()=>Da,storage_delete_file:()=>Fa,storage_file_seek:()=>Ya,storage_file_tell:()=>va,storage_file_write:()=>ga,storage_fileopen:()=>Oa,storage_fileopen_new:()=>Ra,storage_fileopen_new_encoding:()=>ca,storage_get_a_line:()=>Aa,storage_get_contents:()=>Sa,storage_get_contents_without_para:()=>Ca,storage_get_current_dir:()=>ya,storage_get_file_size:()=>Pa,storage_get_filename:()=>Na,storage_is_file:()=>Va,storage_list_all_files:()=>fa,storage_make_dir:()=>ba,storage_open_file_with_os:()=>Ea,storage_rename:()=>xa});var g={};t.r(g),t.d(g,{procedures_callnoreturn:()=>Ha,procedures_callreturn:()=>ka,procedures_defnoreturn:()=>wa,procedures_defreturn:()=>Ua,procedures_ifreturn:()=>Wa,procedures_return:()=>Ka});var C={};t.r(C),t.d(C,{tuple_change_to:()=>eu,tuple_create_llm_params:()=>ru,tuple_create_with:()=>Ja,tuple_create_with_noreturn:()=>_u,tuple_create_with_text2:()=>qa,tuple_create_with_text_return:()=>Qa,tuple_del:()=>$a,tuple_find:()=>iu,tuple_getIndex:()=>za,tuple_getSublist:()=>su,tuple_get_random_item:()=>pu,tuple_get_sublist:()=>ou,tuple_input:()=>uu,tuple_join:()=>Za,tuple_length:()=>ja,tuple_max:()=>tu,tuple_totuple:()=>au,tuple_trig:()=>nu});var S={};t.r(S),t.d(S,{set_add_discard:()=>mu,set_clear:()=>Tu,set_create_with:()=>lu,set_create_with_text_return:()=>Ru,set_length:()=>du,set_operate:()=>Mu,set_operate_update:()=>hu,set_pop:()=>Iu,set_sub:()=>Eu,set_toset:()=>cu,set_update:()=>Ou});var A={};t.r(A),t.d(A,{html_content:()=>Au,html_content_more:()=>Lu,html_document:()=>gu,html_form:()=>Du,html_head_body:()=>Su,html_style:()=>Nu,html_style_content:()=>fu,html_text:()=>Fu,html_title:()=>Cu});var L={};t.r(L),t.d(L,{attribute_access:()=>xu,function_call:()=>bu,raw_block:()=>Pu,raw_empty:()=>Yu,raw_expression:()=>vu,raw_table:()=>Xu,type_check:()=>yu});var N={};t.r(N),t.d(N,{PIN_init:()=>Hr,actuator_extern_get_led_bright:()=>Zu,actuator_extern_get_led_state:()=>tr,actuator_extern_led_bright:()=>$u,actuator_extern_led_brightness:()=>er,actuator_ms32006_dcmotor:()=>rr,actuator_ms32006_init:()=>ur,actuator_ms32006_stepper:()=>lr,actuator_neopixel_init:()=>dr,actuator_neopixel_rgb:()=>Ir,actuator_neopixel_rgb_all:()=>Tr,actuator_neopixel_rgb_show_all_chase:()=>mr,actuator_neopixel_rgb_show_all_rainbow:()=>hr,actuator_neopixel_write:()=>Mr,actuator_use_uart_init:()=>Er,backstage_esp32_music_play_list:()=>Ku,esp32_music_get_tempo_extern:()=>qu,esp32_music_pitch:()=>ku,esp32_music_pitch_init:()=>wu,esp32_music_pitch_with_time:()=>Hu,esp32_music_play_list:()=>Wu,esp32_music_reset_extern:()=>Qu,esp32_music_set_tempo_extern:()=>Ju,esp32_music_stop:()=>zu,esp32_set_music_volume:()=>ju,mixbot_actuator_extern_get_addr:()=>wr,mixbot_actuator_extern_set_addr:()=>kr,mixbot_addr_extern:()=>fr,parrot_PIN_init:()=>qr,parrot_move_speed:()=>Qr,pin_led_bright:()=>Wr,player_insert_music:()=>Sr,player_play_music:()=>Cr,player_set_mode:()=>gr,player_set_play:()=>Rr,player_set_volume:()=>cr,player_whether_stop:()=>Or,robot_led_extern:()=>Yr,robot_led_extern_get_value:()=>Xr,robot_motor_extern:()=>Fr,robot_motor_extern_get_speed:()=>Pr,robot_servo_extern_absolute_run:()=>Vr,robot_servo_extern_get_status:()=>yr,robot_servo_extern_relative_continue:()=>Ur,robot_servo_extern_relative_origin:()=>Br,robot_servo_extern_relative_run:()=>Gr,robot_servo_extern_stop:()=>xr,robot_servo_extern_stop_mode:()=>br,robot_traffic_light_extern:()=>vr,servo_PIN_init:()=>Kr,servo_get_angle:()=>pr,servo_get_speed:()=>ar,servo_init:()=>ir,servo_move:()=>nr,servo_move_angle:()=>Jr,servo_set_angle:()=>_r,servo_set_speed:()=>or,servo_speed_360:()=>sr,syn6288_builtin_voice:()=>Nr,syn6288_get_voice:()=>Lr,syn6288_set_voice:()=>Ar,syn6288_tts_play:()=>Dr});var D={};t.r(D),t.d(D,{actuator_dc_motor:()=>Dl,actuator_dc_motor_stop:()=>fl,actuator_get_led_bright:()=>tl,actuator_get_led_state:()=>el,actuator_led_bright:()=>Zr,actuator_led_brightness:()=>il,actuator_mixbot_buzzer_on_off:()=>Xl,actuator_mixgo_nova_mic_get:()=>Bl,actuator_mixgo_nova_mic_set:()=>Vl,actuator_mixgo_nova_onboard_music_pitch:()=>Wl,actuator_mixgo_nova_onboard_music_stop:()=>Kl,actuator_mixgo_nova_play_audio:()=>kl,actuator_mixgo_nova_play_online_audio:()=>Hl,actuator_mixgo_nova_record_audio:()=>wl,actuator_mixgo_nova_voice_get:()=>Ul,actuator_mixgo_nova_voice_set:()=>Gl,actuator_mixgo_zero_led_color:()=>nl,actuator_onboard_neopixel_rgb:()=>ul,actuator_onboard_neopixel_rgb_all:()=>rl,actuator_onboard_neopixel_rgb_show_all_chase:()=>dl,actuator_onboard_neopixel_rgb_show_all_rainbow:()=>ll,actuator_onboard_neopixel_write:()=>Il,actuator_rm_onboard_neopixel_rgb:()=>Tl,actuator_rm_onboard_neopixel_rgb_all:()=>Ml,actuator_rm_onboard_neopixel_rgb_show_all_chase:()=>hl,actuator_stepper_keep:()=>Ll,actuator_stepper_stop:()=>Nl,analog_ble_keyboard_init:()=>_d,analog_ble_keyboard_input:()=>ad,analog_ble_keyboard_mouse_init:()=>hd,analog_ble_keyboard_mouse_input:()=>Rd,analog_ble_keyboard_mouse_send_battery:()=>Od,analog_ble_keyboard_mouse_str:()=>cd,analog_ble_keyboard_send_battery:()=>rd,analog_ble_keyboard_str:()=>ud,analog_ble_mouse_init:()=>ld,analog_ble_mouse_input:()=>Td,analog_ble_mouse_keyboard_input:()=>gd,analog_ble_mouse_send_battery:()=>Md,analog_keyboard_input:()=>zl,analog_keyboard_str:()=>sd,analog_mouse_input:()=>id,backstage_onboard_music_play_list:()=>Sl,bitbot_motor:()=>xl,bitbot_move:()=>yl,bitbot_stop:()=>bl,ble_keyboard_connect:()=>pd,ble_keyboard_get_mac:()=>od,ble_keyboard_mouse_connect:()=>Ed,ble_keyboard_mouse_get_mac:()=>md,ble_mouse_connect:()=>Id,ble_mouse_get_mac:()=>dd,cc_number:()=>al,educore_ble_keyboard_input:()=>vd,educore_ble_sensor_connected:()=>Pd,educore_ble_sensor_init:()=>Fd,educore_buzzer:()=>Cd,educore_buzzer_play_tone:()=>Sd,educore_buzzer_play_tone_time:()=>Ad,educore_buzzer_stop:()=>Ld,educore_neopixel_clear:()=>fd,educore_neopixel_rgb:()=>Dd,educore_rgb_light:()=>Nd,esp32_music_get_tempo:()=>El,esp32_music_reset:()=>Ol,esp32_music_set_tempo:()=>ml,esp32_onboard_music_pitch:()=>Rl,esp32_onboard_music_pitch_with_time:()=>cl,esp32_onboard_music_play_list:()=>Cl,esp32_onboard_music_stop:()=>gl,general_key:()=>$l,general_key_tuple:()=>Zl,generalkey_container:()=>td,generalkey_create_with_item:()=>ed,get_keyboard_light:()=>Yd,get_power_output:()=>ql,ledswitch:()=>$r,mixbot_motor:()=>Yl,mixbot_motor_status:()=>Fl,mixbot_move:()=>Pl,mixbot_stop:()=>vl,mouse_key:()=>nd,number:()=>jr,record_audio:()=>yd,rm_actuator_get_led_bright:()=>_l,rm_actuator_get_led_state:()=>ol,rm_actuator_led_bright:()=>sl,rm_actuator_led_brightness:()=>pl,rm_motor:()=>Al,set_all_power_output:()=>Ql,set_microphone_amplification:()=>Xd,set_music_volume:()=>bd,set_power_output:()=>Jl,special_key:()=>jl});var f={};t.r(f),t.d(f,{ai_sensor_20object:()=>hI,ai_sensor_ailocal_class:()=>_I,ai_sensor_ailocal_class_result:()=>oI,ai_sensor_ailocal_train:()=>sI,ai_sensor_asr_recognize:()=>lI,ai_sensor_audio_play:()=>aI,ai_sensor_audio_record:()=>pI,ai_sensor_barcode:()=>Hd,ai_sensor_circle:()=>zd,ai_sensor_classifier_faces:()=>MI,ai_sensor_color:()=>tI,ai_sensor_color_chases:()=>nI,ai_sensor_color_chases_result:()=>iI,ai_sensor_config:()=>wd,ai_sensor_face:()=>TI,ai_sensor_find_20objects:()=>mI,ai_sensor_find_barcodes:()=>Wd,ai_sensor_find_circles:()=>jd,ai_sensor_find_colors:()=>eI,ai_sensor_find_licenseplates:()=>II,ai_sensor_find_lines:()=>Qd,ai_sensor_find_qrcodes:()=>Ud,ai_sensor_find_rects:()=>Zd,ai_sensor_find_tags:()=>Jd,ai_sensor_licenseplate:()=>dI,ai_sensor_line:()=>qd,ai_sensor_qrcode:()=>Bd,ai_sensor_qrcode_lite:()=>Gd,ai_sensor_rect:()=>$d,ai_sensor_rgb:()=>kd,ai_sensor_tag:()=>Kd,ai_sensor_use_uart_init:()=>Vd,ai_sensor_yolo_recognize:()=>uI,ai_sensor_yolo_recognize_result:()=>rI});var F={};t.r(F),t.d(F,{MICROPYTHON_AI_Speech_asr:()=>RI,MICROPYTHON_AI_Speech_unit:()=>OI,MICROPYTHON_AI_client:()=>EI});var P={};t.r(P),t.d(P,{mpython_blynk_app_data:()=>yI,mpython_blynk_app_notify:()=>DI,mpython_blynk_email:()=>PI,mpython_blynk_get_timers:()=>vI,mpython_blynk_on_connected:()=>AI,mpython_blynk_on_disconnected:()=>SI,mpython_blynk_run:()=>NI,mpython_blynk_sensor_data_to_app:()=>XI,mpython_blynk_set_property:()=>FI,mpython_blynk_setup:()=>bI,mpython_blynk_stop_timers:()=>fI,mpython_blynk_sync_virtual:()=>CI,mpython_blynk_terminal_widget_vpin:()=>gI,mpython_blynktimer:()=>YI,mpython_blynktimer_run:()=>LI});var v={};t.r(v),t.d(v,{cc_g1_init:()=>xI,cc_g1_read_bat:()=>VI,cc_g1_read_joystick:()=>BI,cc_g1_read_key:()=>GI,cc_g1_turnoff:()=>UI});var Y={};t.r(Y),t.d(Y,{ce_go_dc_motor:()=>zI,ce_go_get_led_bright:()=>WI,ce_go_get_led_state:()=>KI,ce_go_hall_attachInterrupt:()=>jI,ce_go_hall_data:()=>ZI,ce_go_hall_initialize:()=>$I,ce_go_led_bright:()=>HI,ce_go_led_brightness:()=>JI,ce_go_light_number:()=>kI,ce_go_pin_light:()=>sT,ce_go_pin_near:()=>eT,ce_go_pin_near_line:()=>tT,ce_go_pin_near_state_change:()=>iT,ce_go_stepper_keep:()=>qI,ce_go_stepper_stop:()=>QI,educore_car:()=>_T,educore_car_pin_near:()=>uT,educore_car_pin_near_line:()=>aT,educore_car_stepper_keep:()=>oT,educore_car_stepper_stop:()=>pT,sensor_mixgome_eulerangles:()=>nT});var X={};t.r(X),t.d(X,{communicate_bluetooth_central_init:()=>WT,communicate_bluetooth_connect:()=>QT,communicate_bluetooth_disconnect:()=>zT,communicate_bluetooth_handle:()=>eM,communicate_bluetooth_is_connected:()=>$T,communicate_bluetooth_mac:()=>qT,communicate_bluetooth_peripheral_init:()=>KT,communicate_bluetooth_recv:()=>ZT,communicate_bluetooth_recv_only:()=>tM,communicate_bluetooth_scan:()=>JT,communicate_bluetooth_send:()=>jT,communicate_espnow_init:()=>iM,communicate_espnow_init_new:()=>nM,communicate_i2c_available:()=>NT,communicate_i2c_init:()=>IT,communicate_i2c_master_read:()=>LT,communicate_i2c_onboard:()=>lT,communicate_i2c_read:()=>TT,communicate_i2c_scan:()=>hT,communicate_i2c_write:()=>MT,communicate_ir_recv_init:()=>yT,communicate_ir_send_init:()=>GT,communicate_ow_init:()=>fT,communicate_ow_read:()=>PT,communicate_ow_reset:()=>XT,communicate_ow_scan:()=>FT,communicate_ow_select:()=>YT,communicate_ow_write:()=>vT,communicate_spi_buffer:()=>OT,communicate_spi_init:()=>mT,communicate_spi_onboard:()=>dT,communicate_spi_read:()=>RT,communicate_spi_read_output:()=>cT,communicate_spi_readinto:()=>gT,communicate_spi_readinto_output:()=>CT,communicate_spi_set:()=>ET,communicate_spi_write:()=>ST,communicate_spi_write_readinto:()=>AT,espnow_radio_channel:()=>uM,espnow_radio_channel_new:()=>lM,espnow_radio_on_off:()=>dM,espnow_radio_rec:()=>TM,espnow_radio_recv:()=>hM,espnow_radio_recv_certain_msg:()=>mM,espnow_radio_recv_certain_msg_new:()=>OM,espnow_radio_recv_msg:()=>MM,espnow_radio_recv_new:()=>EM,espnow_radio_send:()=>IM,espnow_radio_txpower:()=>rM,i2c_available:()=>UM,i2c_init:()=>NM,i2c_master_reader2:()=>GM,i2c_read:()=>DM,i2c_scan:()=>FM,i2c_slave_onreceive:()=>DT,i2c_write:()=>fM,internal_variable:()=>bT,ir_recv_timeout:()=>BT,ir_transmit_busy:()=>HT,ir_transmit_conventional_data:()=>UT,ir_transmit_raw_code:()=>kT,ir_transmit_study_code:()=>wT,ir_whether_recv:()=>VT,lora_init:()=>RM,lora_packet:()=>cM,lora_recv:()=>CM,lora_send:()=>gM,network_espnow_info:()=>_M,network_espnow_mac:()=>sM,network_espnow_recv:()=>oM,network_espnow_recv_handle:()=>aM,network_espnow_send:()=>pM,recv_fun:()=>xT,spi_buffer:()=>YM,spi_init:()=>PM,spi_read:()=>XM,spi_read_output:()=>yM,spi_readinto:()=>bM,spi_readinto_output:()=>xM,spi_set:()=>vM,spi_write:()=>VM,spi_write_readinto:()=>BM,urequests_attribute:()=>AM,urequests_get:()=>SM,urequests_method:()=>LM});var y={};t.r(y),t.d(y,{display_animate:()=>Oh,display_blink_rate:()=>Mh,display_circle:()=>Rh,display_color_seclet:()=>vh,display_draw_4strings:()=>uh,display_fill:()=>Eh,display_get_screen_image:()=>Th,display_help:()=>gh,display_image_size:()=>rh,display_lcd_use_i2c_init:()=>Vh,display_line:()=>dh,display_line_arbitrarily:()=>Ih,display_matrix_extern_bright_point:()=>eh,display_matrix_extern_bright_screen:()=>nh,display_matrix_extern_clear:()=>sh,display_matrix_extern_get_pixel:()=>th,display_matrix_extern_get_screen_pixel:()=>ih,display_matrix_extern_image_builtins:()=>_h,display_matrix_extern_scroll_string:()=>QM,display_matrix_extern_scroll_string_delay:()=>zM,display_matrix_extern_shift:()=>ZM,display_matrix_extern_show_frame_string:()=>jM,display_matrix_extern_show_frame_string_delay:()=>$M,display_matrix_extern_show_image:()=>JM,display_matrix_extern_show_image_or_string_delay:()=>qM,display_matrix_use_i2c_init:()=>KM,display_oled_drawPixel:()=>Sh,display_oled_showBitmap:()=>Ch,display_oled_use_i2c_init:()=>kh,display_onoff:()=>mh,display_rect:()=>lh,display_rgb_color:()=>hh,display_tm1650_power:()=>Lh,display_tm1650_set_brightness:()=>fh,display_tm1650_show_dot:()=>Dh,display_tm1650_show_num:()=>Nh,display_tm_use_i2c_init:()=>Ah,display_triangle:()=>ch,display_use_i2c_init:()=>ah,extern_oled_bright_point:()=>tm,extern_oled_clear:()=>em,extern_oled_get_pixel:()=>Zh,extern_oled_hvline:()=>nm,extern_oled_line:()=>sm,extern_oled_scroll_string:()=>qh,extern_oled_scroll_string_delay:()=>Qh,extern_oled_shape_rect:()=>im,extern_oled_shift:()=>$h,extern_oled_show_frame_string:()=>zh,extern_oled_show_frame_string_delay:()=>jh,extern_oled_show_image:()=>Hh,extern_oled_show_image_or_string_delay:()=>Jh,extern_oled_show_image_xy:()=>Wh,extern_oled_show_string:()=>Kh,lcd_backlight:()=>Uh,lcd_clear:()=>wh,lcd_print_string:()=>Gh,lcd_show_image_or_string_delay:()=>Bh,matrix_extern_image_arithmetic:()=>oh,matrix_extern_image_invert:()=>ph,tft_fill:()=>bh,tft_line_arbitrarily:()=>xh,tft_scroll_string_delay:()=>Xh,tft_show_frame_string_delay:()=>yh,tft_show_image_or_string_delay:()=>Yh,tft_show_image_xy:()=>Ph,tft_use_spi_init:()=>Fh});var b={};t.r(b),t.d(b,{bitbot_display_bitmap_create:()=>$m,bitbot_display_image_create:()=>jm,display_available:()=>Lm,display_bitmap_create:()=>Mm,display_bright_point:()=>gm,display_bright_screen:()=>Sm,display_clear:()=>Am,display_get_pixel:()=>cm,display_get_screen_pixel:()=>Cm,display_image_builtins:()=>hm,display_image_builtins_all:()=>mm,display_image_create:()=>Tm,display_scroll_string:()=>am,display_scroll_string_delay:()=>um,display_scroll_way:()=>rm,display_shift:()=>Rm,display_show_frame_string:()=>dm,display_show_frame_string_delay:()=>Im,display_show_image:()=>om,display_show_image_or_string_delay:()=>pm,draw_pointer:()=>ME,image_arithmetic:()=>Em,image_invert:()=>Om,mixbot_display_bitmap_create:()=>Km,mixbot_display_bright_screen:()=>Qm,mixbot_display_get_ambientbright:()=>qm,mixbot_display_get_screen_pixel:()=>Jm,mixbot_display_image_create:()=>Wm,mixbot_display_rotate:()=>zm,mixgo_display_bitmap_create:()=>vm,mixgo_display_image_create_new:()=>Pm,mixgome_display_bitmap_create:()=>Dm,mixgome_display_font:()=>Ym,mixgome_display_image_create:()=>Nm,mixgomini_display_bitmap_create:()=>Fm,mixgomini_display_image_create:()=>fm,mpython_display_hvline:()=>wm,mpython_display_line:()=>km,mpython_display_shape_rect:()=>Um,mpython_pbm_image:()=>Hm,nova_draw_pointer:()=>hE,onboard_oled_bright_point:()=>Gm,onboard_oled_scroll_string_delay:()=>Vm,onboard_oled_show_frame_string_delay:()=>Bm,onboard_oled_show_image:()=>Xm,onboard_oled_show_image_or_string_delay:()=>xm,onboard_oled_show_image_xy:()=>ym,onboard_oled_show_string:()=>bm,onboard_tft_bright_point:()=>pE,onboard_tft_bright_screen:()=>AE,onboard_tft_clear:()=>LE,onboard_tft_clock_clear:()=>IE,onboard_tft_clock_draw:()=>dE,onboard_tft_clock_get_rtctime:()=>rE,onboard_tft_clock_init:()=>uE,onboard_tft_clock_set_time:()=>lE,onboard_tft_display_hvline:()=>sE,onboard_tft_display_line:()=>_E,onboard_tft_display_shape_circle:()=>TE,onboard_tft_display_shape_rect:()=>nE,onboard_tft_fill:()=>aE,onboard_tft_get_pixel:()=>oE,onboard_tft_get_screen_pixel:()=>SE,onboard_tft_scroll_string:()=>cE,onboard_tft_scroll_string_delay:()=>lm,onboard_tft_shift:()=>CE,onboard_tft_show_frame_string:()=>gE,onboard_tft_show_frame_string_delay:()=>iE,onboard_tft_show_image:()=>RE,onboard_tft_show_image_or_string_delay:()=>eE,onboard_tft_show_image_xy:()=>Zm,onboard_tft_show_image_xy_direct:()=>tE,onboard_tft_show_qrcode:()=>EE,onboard_tft_show_qrcode_details:()=>OE,onboard_tft_show_texts:()=>mE});var x={};t.r(x),t.d(x,{factory_block:()=>HE,factory_block_return:()=>WE,factory_block_return_with_textarea:()=>JE,factory_block_with_textarea:()=>KE,factory_callMethod_noreturn:()=>wE,factory_callMethod_return:()=>kE,factory_create_with_container:()=>VE,factory_create_with_item:()=>BE,factory_declare:()=>UE,factory_from_import:()=>yE,factory_function_noreturn:()=>xE,factory_function_return:()=>GE,factory_import:()=>bE,folding_block:()=>qE});var V={};t.r(V),t.d(V,{controls_pin_attachInterrupt:()=>hO,inout_analog_atten:()=>sO,inout_analog_read:()=>nO,inout_analog_read_init:()=>rO,inout_analog_write:()=>tO,inout_analog_write_init:()=>uO,inout_analog_write_set:()=>eO,inout_analog_write_set_freq:()=>IO,inout_digital_init:()=>pO,inout_digital_read:()=>$E,inout_digital_write:()=>jE,inout_highlow:()=>zE,inout_pinMode:()=>dO,inout_pin_attachInterrupt:()=>oO,inout_pin_pressed:()=>_O,inout_pin_pressed_init:()=>lO,inout_pwm_analog_write:()=>ZE,inout_pwm_analog_write_init:()=>aO,inout_pwm_analog_write_set_freq:()=>iO,pin_pressed:()=>MO,pin_pressed_init:()=>TO});var B={};t.r(B),t.d(B,{IOT_CONNECT_OLLAMA:()=>tR,IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>UO,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>GO,IOT_EMQX_PING:()=>VO,IOT_FORMATTING:()=>bO,IOT_FORMAT_STRING:()=>xO,IOT_MIXIO_NTP:()=>BO,IOT_MIXIO_PUBLISH:()=>DO,IOT_MIXIO_PUBLISHEX:()=>fO,IOT_MIXIO_SUBSCRIBE:()=>FO,iot_checkonenet:()=>jO,iot_client_onboard:()=>kO,iot_connect_ollama:()=>ZO,iot_connect_openai:()=>eR,iot_create_with_item:()=>LO,iot_http_client:()=>HO,iot_http_data:()=>WO,iot_mixio_check:()=>YO,iot_mixio_connect:()=>NO,iot_mixio_connect_only:()=>vO,iot_mixio_disconnect:()=>PO,iot_mixio_format_msg:()=>yO,iot_mixio_format_topic:()=>XO,iot_mixly_key:()=>wO,iot_mqtt_client:()=>KO,iot_mqtt_data:()=>JO,iot_onenet_check:()=>cO,iot_onenet_connect:()=>OO,iot_onenet_disconnect:()=>RO,iot_onenet_publish:()=>CO,iot_onenet_publish_dict:()=>gO,iot_onenetconnect:()=>QO,iot_onenetdisconnect:()=>zO,iot_publish:()=>$O,iot_publish_container:()=>SO,iot_publish_item:()=>AO,iot_tiny_web_db_count:()=>uR,iot_tiny_web_db_delete:()=>lR,iot_tiny_web_db_get:()=>aR,iot_tiny_web_db_init:()=>_R,iot_tiny_web_db_init_with_mqtt:()=>oR,iot_tiny_web_db_search:()=>rR,iot_tiny_web_db_update:()=>pR,iot_wifi_connect:()=>EO,iot_wificonnect:()=>qO,ollama_empty_history:()=>sR,use_ollama_llm_to_chat:()=>iR,use_ollama_llm_to_chat_return:()=>nR});var G={};t.r(G),t.d(G,{educore_mqtt_connect:()=>WR,educore_mqtt_connect_success:()=>QR,educore_mqtt_subscribe_message:()=>KR,educore_mqtt_topic_publish:()=>qR,educore_mqtt_topic_subscribe:()=>JR,educore_wifi_connect:()=>HR,network_ap_connect:()=>gR,network_connect:()=>mR,network_get_connect:()=>OR,network_get_wifi:()=>cR,network_init:()=>IR,network_is_active:()=>MR,network_open:()=>TR,network_scan:()=>hR,network_server:()=>CR,network_socket_accept:()=>DR,network_socket_bind:()=>AR,network_socket_close:()=>XR,network_socket_connect:()=>LR,network_socket_init:()=>SR,network_socket_listen:()=>NR,network_socket_readline:()=>fR,network_socket_receive:()=>FR,network_socket_receive_from:()=>vR,network_socket_send:()=>PR,network_socket_send_to:()=>YR,network_stop:()=>RR,network_wifi_connect:()=>ER,ntptime_address:()=>BR,ntptime_time:()=>VR,requests_attribute:()=>bR,requests_attribute2:()=>kR,requests_get:()=>yR,requests_get2:()=>UR,requests_method:()=>xR,requests_post:()=>wR});var U={};t.r(U),t.d(U,{pe_g1_battery_left:()=>$R,pe_g1_dc_motor:()=>ZR,pe_g1_dc_motor_speed:()=>tc,pe_g1_servo_get_angle:()=>nc,pe_g1_servo_get_speed:()=>sc,pe_g1_servo_set_angle:()=>ec,pe_g1_servo_set_speed:()=>ic,pe_g1_use_i2c_init:()=>jR});var w={};t.r(w),t.d(w,{CI130X_BROADCAST:()=>fc,CI130X_GET_THE_RECOGNIZED_CMD:()=>Dc,CI130X_GET_WHETHER_IDENTIFY:()=>Nc,CI130X_IDENTIFY_AND_SAVE:()=>Lc,CI130X_SET_SYSTEM_CMD:()=>Fc,HCSR04:()=>Eg,PS2_Button:()=>gg,PS2_Buttons:()=>Sg,PS2_Buttons_new:()=>Dg,PS2_State:()=>Cg,PS2_init:()=>Og,PS2_init_new:()=>Lg,PS2_stk:()=>Ag,PS2_stk_new:()=>fg,PS2_vibration:()=>cg,PS2_vibration_new:()=>Ng,camera_sensor_init:()=>_C,camera_sensor_result:()=>oC,column_tube_foot:()=>lC,define_keyboards:()=>dC,educore_body_sensor:()=>Qg,educore_button_sensor_extern:()=>Zg,educore_camera_sensor:()=>sC,educore_infrared_sensor:()=>$g,educore_soilhum_sensor:()=>zg,educore_temp_sensor:()=>nC,educore_temphum_sensor:()=>jg,educore_ultrasonic_sensor:()=>eC,esp32_s2_weather_init:()=>Tg,esp32_s2_weather_rain:()=>hg,esp32_s2_weather_wd:()=>Mg,esp32_s2_weather_ws:()=>mg,extern_rfid_read:()=>tg,extern_rfid_readcontent:()=>ig,extern_rfid_readid:()=>eg,extern_rfid_status:()=>_g,extern_rfid_write:()=>ng,extern_rfid_write_return:()=>sg,get_keboards_value:()=>IC,gnss_get_data:()=>Yg,gnss_have_data:()=>vg,init_init_rotary_encoder:()=>TC,init_matrix_keyboard:()=>uC,interaction_whether_to_interaction:()=>Sc,interaction_whether_to_interaction_SANT:()=>Ac,line_tube_foot:()=>rC,mixbot_sensor_extern_get_addr:()=>Ug,mixbot_sensor_extern_set_addr:()=>wg,pm25_get_data:()=>Pg,radar_set_DETECTION_THRESHOLD:()=>gc,radar_set_DETECTION_THRESHOLD_SANT:()=>Cc,robot_button_extern_get_value:()=>yg,robot_color_extern_get_value:()=>Gg,robot_infrared_extern_get_value:()=>xg,robot_infrared_extern_grey_get_value:()=>Vg,robot_potentiometer_extern_get_value:()=>Bg,robot_sonar_extern_get_value:()=>kg,robot_sonar_extern_led:()=>Hg,robot_touch_extern_get_value:()=>bg,rotary_key:()=>MC,sensor_APDS9960_extern:()=>vc,sensor_DS18X20:()=>Oc,sensor_LTR308_extern:()=>Yc,sensor_LTR390UV_extern:()=>bc,sensor_MAX30102_extern:()=>Pc,sensor_QMC5883L_extern:()=>Hc,sensor_VL530LX_extern:()=>xc,sensor_adxl345_get_acceleration:()=>lc,sensor_aht11_extern:()=>Bc,sensor_bmp:()=>mc,sensor_compass_reset:()=>$c,sensor_dht11:()=>Ic,sensor_hp203_extern:()=>Gc,sensor_light_level:()=>dc,sensor_lm35:()=>Rc,sensor_ltr381_extern:()=>Xc,sensor_mixgo_extern_button_attachInterrupt:()=>uc,sensor_mixgo_extern_button_get_presses:()=>ac,sensor_mixgo_extern_button_is_pressed:()=>oc,sensor_mixgo_extern_button_was_pressed:()=>pc,sensor_mixgo_extern_light:()=>Tc,sensor_mixgo_extern_pin_near:()=>hc,sensor_mixgo_extern_sound:()=>Mc,sensor_mixgoce_hot_wheel_degrees:()=>Ig,sensor_mixgoce_hot_wheel_is_touched:()=>dg,sensor_mpu9250_attachGestureInterrupt:()=>rc,sensor_mpu9250_calibrate_compass:()=>Qc,sensor_mpu9250_field_strength:()=>jc,sensor_mpu9250_gesture:()=>Wc,sensor_mpu9250_get_acceleration:()=>Kc,sensor_mpu9250_get_gyro:()=>qc,sensor_mpu9250_get_magnetic:()=>Jc,sensor_mpu9250_temperature:()=>zc,sensor_ms5611_extern:()=>wc,sensor_ms5611_extern_altitude:()=>kc,sensor_read_humiture:()=>tC,sensor_sht:()=>Ec,sensor_shtc3_extern:()=>Vc,sensor_spl06_001_extern:()=>Uc,sensor_ucs12071_extern:()=>yc,sensor_use_i2c_init:()=>cc,sensor_use_spi_init:()=>Zc,sensor_use_uart_init:()=>Fg,sensor_weather_solo_init:()=>Wg,sensor_weather_solo_rain:()=>qg,sensor_weather_solo_wd:()=>Kg,sensor_weather_solo_ws:()=>Jg,sensor_weigh_init:()=>pC,tvoc_get_data:()=>Xg,ultrasonic_sensor_read_distance:()=>iC,weather_data:()=>og,weather_have_data:()=>pg,weather_set_label:()=>ug,weather_set_label_container:()=>rg,weather_set_label_item:()=>lg,weather_uart_mixio:()=>ag,weigh_sensor_get_weight:()=>aC});var k={};t.r(k),t.d(k,{HCSR04:()=>vC,RTC_set_date:()=>PC,RTC_set_time:()=>FC,bitbot_als_num:()=>US,dht11:()=>qS,educore_button_sensor:()=>nA,educore_button_was_pressed:()=>sA,educore_gyroscope_sensor:()=>tA,educore_gyroscope_sensor_read:()=>eA,educore_gyroscope_sensor_shake:()=>iA,educore_light_sensor:()=>ZS,educore_rfid_sensor:()=>_A,educore_rfid_sensor_scan:()=>oA,educore_rfid_sensor_scan_data:()=>pA,educore_voice_sensor:()=>jS,number1:()=>XC,number2:()=>yC,number3:()=>bC,number4:()=>xC,number5:()=>VC,number6:()=>BC,number7:()=>GC,onboard_RTC_get_time:()=>qC,onboard_RTC_get_time_str:()=>tS,onboard_RTC_get_timestamp:()=>QC,onboard_RTC_get_timetuple_to_str:()=>eS,onboard_RTC_set_datetime:()=>$C,onboard_RTC_settime_string:()=>jC,onboard_RTC_timestamp_totuple:()=>zC,rfid_readcontent:()=>aS,rfid_readid:()=>pS,rfid_status:()=>lS,rfid_write:()=>uS,rfid_write_return:()=>rS,sensor_LTR308:()=>iS,sensor_aht11:()=>sS,sensor_bitbot_ALS:()=>GS,sensor_button_get_presses:()=>HS,sensor_button_is_pressed:()=>wS,sensor_button_was_pressed:()=>kS,sensor_distance_hrsc04:()=>fC,sensor_eulerangles:()=>IS,sensor_field_strength:()=>QS,sensor_get_acceleration:()=>dS,sensor_get_temperature:()=>_S,sensor_get_the_coprocessor_version:()=>aA,sensor_hp203:()=>oS,sensor_light:()=>JS,sensor_mixbot_get_gyro:()=>BS,sensor_mixbot_patrol_calibrate:()=>bS,sensor_mixbot_patrol_value:()=>xS,sensor_mixbot_temperature:()=>VS,sensor_mixgo_LTR308:()=>KC,sensor_mixgo_button_attachInterrupt:()=>RC,sensor_mixgo_button_get_presses:()=>OC,sensor_mixgo_button_is_pressed:()=>mC,sensor_mixgo_button_was_pressed:()=>EC,sensor_mixgo_cc_mmc5603_calibrate_compass:()=>SS,sensor_mixgo_cc_mmc5603_get_angle:()=>CS,sensor_mixgo_cc_mmc5603_get_magnetic:()=>gS,sensor_mixgo_light:()=>YC,sensor_mixgo_nova_LTR308:()=>WC,sensor_mixgo_nova_pin_near:()=>HC,sensor_mixgo_pin_near:()=>kC,sensor_mixgo_pin_near_double:()=>wC,sensor_mixgo_pin_near_single:()=>UC,sensor_mixgo_pin_pressed:()=>AC,sensor_mixgo_sant_color:()=>JC,sensor_mixgo_touch_slide:()=>DC,sensor_mixgocar42_button_attachInterrupt:()=>SC,sensor_mixgocar42_button_get_presses:()=>CC,sensor_mixgocar42_button_is_pressed:()=>cC,sensor_mixgocar42_button_was_pressed:()=>gC,sensor_mixgocar_battery_left:()=>yS,sensor_mixgocar_pin_near:()=>YS,sensor_mixgocar_pin_near_line:()=>vS,sensor_mixgocar_pin_near_state_change:()=>XS,sensor_mixgoce_pin_pressed:()=>LC,sensor_mixgoce_temperature:()=>LS,sensor_mixgome_temperature:()=>AS,sensor_mpython_pin_pressed:()=>NC,sensor_mpython_qmi8658_get_gyro:()=>NS,sensor_mpython_qmi8658_temperature:()=>DS,sensor_onboard_compass_reset:()=>cS,sensor_onboard_mpu9250_calibrate_compass:()=>ES,sensor_onboard_mpu9250_field_strength:()=>RS,sensor_onboard_mpu9250_gesture:()=>TS,sensor_onboard_mpu9250_get_acceleration:()=>MS,sensor_onboard_mpu9250_get_gyro:()=>mS,sensor_onboard_mpu9250_get_magnetic:()=>hS,sensor_onboard_mpu9250_temperature:()=>OS,sensor_pin_near:()=>KS,sensor_pin_pressed:()=>WS,sensor_read:()=>$S,sensor_rm_acc:()=>PS,sensor_rm_battery_left:()=>FS,sensor_rm_pin_near_double:()=>fS,sensor_rtc_init:()=>ZC,sensor_sound:()=>nS,sensor_temperature:()=>zS,simulated_light_sensor:()=>uA});var H={};t.r(H),t.d(H,{serial_any:()=>OA,serial_begin:()=>SA,serial_print:()=>TA,serial_print_byte:()=>IA,serial_print_hex:()=>hA,serial_println:()=>MA,serial_read_from_ai:()=>YA,serial_readline:()=>RA,serial_readstr:()=>EA,serial_readstr_until:()=>cA,serial_receive_data_event:()=>mA,serial_send_to_ai:()=>vA,serial_softserial:()=>CA,serial_softserial_new:()=>gA,system_input:()=>AA,system_print:()=>LA,system_print_container:()=>FA,system_print_end:()=>DA,system_print_inline:()=>NA,system_print_item:()=>PA,system_print_many:()=>fA});var W={};t.r(W),t.d(W,{Panic_with_status_code:()=>xA,Timer_init:()=>jA,base_delay:()=>tL,controls_delay:()=>bA,controls_delay_new:()=>yA,controls_millis:()=>BA,controls_uname:()=>UA,raw_block:()=>GA,reset:()=>VA,set_system_timer:()=>KA,system_bitbot_shutdown:()=>zA,system_machine_reset:()=>QA,system_ticks_diff:()=>HA,system_timer:()=>kA,system_timer_init:()=>WA,system_wdt_feed:()=>qA,system_wdt_init:()=>JA,time_ticks_diff:()=>ZA,timer:()=>wA,timer2:()=>$A});var K={};t.r(K),t.d(K,{Air_daily_content:()=>TL,Air_now_content:()=>pL,Geo_moon_content:()=>hL,Geo_sun_content:()=>ML,Life_suggestion_content:()=>uL,Location_search_content:()=>lL,Tide_daily_content:()=>rL,WEATHER_DAILY:()=>nL,WEATHER_HOUR:()=>sL,WEATHER_NOW:()=>iL,Weather_alarm_content:()=>aL,Weather_daily:()=>dL,Weather_daily_content:()=>IL,Weather_now:()=>_L,Weather_now_content:()=>oL});var J={};t.r(J),t.d(J,{PIN_init:()=>EN,actuator_extern_get_led_bright:()=>VL,actuator_extern_get_led_state:()=>BL,actuator_extern_led_bright:()=>xL,actuator_extern_led_brightness:()=>GL,actuator_ms32006_dcmotor:()=>SL,actuator_ms32006_init:()=>CL,actuator_ms32006_stepper:()=>AL,actuator_neopixel_init:()=>UL,actuator_neopixel_rgb:()=>HL,actuator_neopixel_rgb_all:()=>wL,actuator_neopixel_rgb_show_all_chase:()=>WL,actuator_neopixel_rgb_show_all_rainbow:()=>KL,actuator_neopixel_write:()=>kL,actuator_use_uart_init:()=>JL,backstage_esp32_music_play_list:()=>XL,esp32_music_get_tempo_extern:()=>vL,esp32_music_pitch:()=>NL,esp32_music_pitch_init:()=>LL,esp32_music_pitch_with_time:()=>DL,esp32_music_play_list:()=>YL,esp32_music_reset_extern:()=>yL,esp32_music_set_tempo_extern:()=>PL,esp32_music_stop:()=>fL,esp32_set_music_volume:()=>FL,mixbot_actuator_extern_get_addr:()=>hN,mixbot_actuator_extern_set_addr:()=>mN,mixbot_addr_extern:()=>nN,parrot_PIN_init:()=>gN,parrot_move_speed:()=>CN,pin_led_bright:()=>ON,player_play_music:()=>$L,player_set_mode:()=>jL,player_set_play:()=>QL,player_set_volume:()=>zL,player_whether_stop:()=>qL,robot_led_extern:()=>pN,robot_led_extern_get_value:()=>aN,robot_motor_extern:()=>sN,robot_motor_extern_get_speed:()=>_N,robot_servo_extern_absolute_run:()=>dN,robot_servo_extern_get_status:()=>uN,robot_servo_extern_relative_continue:()=>MN,robot_servo_extern_relative_origin:()=>IN,robot_servo_extern_relative_run:()=>TN,robot_servo_extern_stop:()=>lN,robot_servo_extern_stop_mode:()=>rN,robot_traffic_light_extern:()=>oN,servo_PIN_init:()=>RN,servo_get_angle:()=>cL,servo_get_speed:()=>gL,servo_init:()=>mL,servo_move:()=>bL,servo_move_angle:()=>cN,servo_set_angle:()=>OL,servo_set_speed:()=>RL,servo_speed_360:()=>EL,syn6288_builtin_voice:()=>eN,syn6288_get_voice:()=>tN,syn6288_set_voice:()=>ZL,syn6288_tts_play:()=>iN});var q={};t.r(q),t.d(q,{actuator_dc_motor:()=>$N,actuator_dc_motor_stop:()=>ZN,actuator_get_led_bright:()=>yN,actuator_get_led_state:()=>bN,actuator_led_bright:()=>XN,actuator_led_brightness:()=>xN,actuator_mixbot_buzzer_on_off:()=>sD,actuator_mixgo_nova_mic_get:()=>uD,actuator_mixgo_nova_mic_set:()=>aD,actuator_mixgo_nova_onboard_music_pitch:()=>MD,actuator_mixgo_nova_onboard_music_stop:()=>hD,actuator_mixgo_nova_play_audio:()=>ID,actuator_mixgo_nova_play_online_audio:()=>TD,actuator_mixgo_nova_record_audio:()=>dD,actuator_mixgo_nova_voice_get:()=>lD,actuator_mixgo_nova_voice_set:()=>rD,actuator_mixgo_zero_led_color:()=>VN,actuator_onboard_neopixel_rgb:()=>WN,actuator_onboard_neopixel_rgb_all:()=>KN,actuator_onboard_neopixel_rgb_show_all_chase:()=>JN,actuator_onboard_neopixel_rgb_show_all_rainbow:()=>qN,actuator_onboard_neopixel_write:()=>HN,actuator_stepper_keep:()=>zN,actuator_stepper_stop:()=>jN,analog_ble_keyboard_init:()=>ND,analog_ble_keyboard_input:()=>FD,analog_ble_keyboard_mouse_init:()=>VD,analog_ble_keyboard_mouse_input:()=>wD,analog_ble_keyboard_mouse_send_battery:()=>UD,analog_ble_keyboard_mouse_str:()=>kD,analog_ble_keyboard_send_battery:()=>vD,analog_ble_keyboard_str:()=>PD,analog_ble_mouse_init:()=>YD,analog_ble_mouse_input:()=>bD,analog_ble_mouse_keyboard_input:()=>HD,analog_ble_mouse_send_battery:()=>xD,analog_keyboard_input:()=>RD,analog_keyboard_str:()=>AD,analog_mouse_input:()=>CD,backstage_onboard_music_play_list:()=>FN,bitbot_motor:()=>pD,bitbot_move:()=>_D,bitbot_stop:()=>oD,ble_keyboard_connect:()=>fD,ble_keyboard_get_mac:()=>DD,ble_keyboard_mouse_connect:()=>GD,ble_keyboard_mouse_get_mac:()=>BD,ble_mouse_connect:()=>yD,ble_mouse_get_mac:()=>XD,cc_number:()=>BN,educore_ble_keyboard_input:()=>tf,educore_ble_sensor_connected:()=>ZD,educore_ble_sensor_init:()=>$D,educore_buzzer:()=>WD,educore_buzzer_play_tone:()=>KD,educore_buzzer_play_tone_time:()=>JD,educore_buzzer_stop:()=>qD,educore_neopixel_clear:()=>jD,educore_neopixel_rgb:()=>zD,educore_rgb_light:()=>QD,esp32_music_get_tempo:()=>AN,esp32_music_reset:()=>PN,esp32_music_set_tempo:()=>SN,esp32_onboard_music_pitch:()=>LN,esp32_onboard_music_pitch_with_time:()=>NN,esp32_onboard_music_play_list:()=>fN,esp32_onboard_music_stop:()=>DN,general_key:()=>gD,general_key_tuple:()=>LD,get_keyboard_light:()=>ef,get_power_output:()=>ED,ledswitch:()=>YN,mixbot_motor:()=>nD,mixbot_motor_status:()=>tD,mixbot_move:()=>eD,mixbot_stop:()=>iD,mouse_key:()=>SD,number:()=>vN,record_audio:()=>sf,rm_actuator_get_led_bright:()=>UN,rm_actuator_get_led_state:()=>wN,rm_actuator_led_bright:()=>GN,rm_actuator_led_brightness:()=>kN,rm_motor:()=>QN,set_all_power_output:()=>OD,set_microphone_amplification:()=>nf,set_music_volume:()=>_f,set_power_output:()=>mD,special_key:()=>cD});var Q={};t.r(Q),t.d(Q,{ai_sensor_20object:()=>Vf,ai_sensor_ailocal_class:()=>Nf,ai_sensor_ailocal_class_result:()=>Df,ai_sensor_ailocal_train:()=>Lf,ai_sensor_asr_recognize:()=>Yf,ai_sensor_audio_play:()=>Ff,ai_sensor_audio_record:()=>ff,ai_sensor_barcode:()=>df,ai_sensor_circle:()=>Ef,ai_sensor_classifier_faces:()=>xf,ai_sensor_color:()=>gf,ai_sensor_color_chases:()=>Af,ai_sensor_color_chases_result:()=>Sf,ai_sensor_config:()=>af,ai_sensor_face:()=>bf,ai_sensor_find_20objects:()=>Bf,ai_sensor_find_barcodes:()=>If,ai_sensor_find_circles:()=>Of,ai_sensor_find_colors:()=>Cf,ai_sensor_find_licenseplates:()=>yf,ai_sensor_find_lines:()=>mf,ai_sensor_find_qrcodes:()=>lf,ai_sensor_find_rects:()=>cf,ai_sensor_find_tags:()=>Mf,ai_sensor_licenseplate:()=>Xf,ai_sensor_line:()=>hf,ai_sensor_qrcode:()=>rf,ai_sensor_qrcode_lite:()=>pf,ai_sensor_rect:()=>Rf,ai_sensor_rgb:()=>uf,ai_sensor_tag:()=>Tf,ai_sensor_use_uart_init:()=>of,ai_sensor_yolo_recognize:()=>Pf,ai_sensor_yolo_recognize_result:()=>vf});var z={};t.r(z),t.d(z,{MICROPYTHON_AI_Speech_asr:()=>wf,MICROPYTHON_AI_Speech_unit:()=>Uf,MICROPYTHON_AI_client:()=>Gf});var j={};t.r(j),t.d(j,{mpython_blynk_app_data:()=>tF,mpython_blynk_app_notify:()=>Qf,mpython_blynk_email:()=>eF,mpython_blynk_get_timers:()=>jf,mpython_blynk_on_connected:()=>Kf,mpython_blynk_on_disconnected:()=>Wf,mpython_blynk_run:()=>qf,mpython_blynk_sensor_data_to_app:()=>Zf,mpython_blynk_set_property:()=>iF,mpython_blynk_setup:()=>nF,mpython_blynk_stop_timers:()=>zf,mpython_blynk_sync_virtual:()=>Hf,mpython_blynk_terminal_widget_vpin:()=>kf,mpython_blynktimer:()=>$f,mpython_blynktimer_run:()=>Jf});var $={};t.r($),t.d($,{cc_g1_read_bat:()=>sF,cc_g1_read_joystick:()=>_F,cc_g1_read_key:()=>oF,cc_g1_turnoff:()=>pF});var Z={};t.r(Z),t.d(Z,{ce_go_dc_motor:()=>MF,ce_go_get_led_bright:()=>rF,ce_go_get_led_state:()=>lF,ce_go_hall_attachInterrupt:()=>hF,ce_go_hall_data:()=>EF,ce_go_hall_initialize:()=>mF,ce_go_led_bright:()=>uF,ce_go_led_brightness:()=>dF,ce_go_light_number:()=>aF,ce_go_pin_light:()=>CF,ce_go_pin_near:()=>RF,ce_go_pin_near_line:()=>OF,ce_go_pin_near_state_change:()=>cF,ce_go_stepper_keep:()=>IF,ce_go_stepper_stop:()=>TF,educore_car:()=>SF,educore_car_pin_near:()=>DF,educore_car_pin_near_line:()=>NF,educore_car_stepper_keep:()=>AF,educore_car_stepper_stop:()=>LF,sensor_mixgome_eulerangles:()=>gF});var tt={};t.r(tt),t.d(tt,{communicate_bluetooth_central_init:()=>uP,communicate_bluetooth_connect:()=>dP,communicate_bluetooth_disconnect:()=>IP,communicate_bluetooth_handle:()=>OP,communicate_bluetooth_is_connected:()=>MP,communicate_bluetooth_mac:()=>TP,communicate_bluetooth_peripheral_init:()=>rP,communicate_bluetooth_recv:()=>EP,communicate_bluetooth_recv_only:()=>mP,communicate_bluetooth_scan:()=>lP,communicate_bluetooth_send:()=>hP,communicate_espnow_init:()=>RP,communicate_espnow_init_new:()=>cP,communicate_i2c_available:()=>bF,communicate_i2c_init:()=>PF,communicate_i2c_master_read:()=>yF,communicate_i2c_onboard:()=>fF,communicate_i2c_read:()=>vF,communicate_i2c_scan:()=>XF,communicate_i2c_write:()=>YF,communicate_ir_recv_init:()=>ZF,communicate_ir_send_init:()=>sP,communicate_ow_init:()=>JF,communicate_ow_read:()=>zF,communicate_ow_reset:()=>QF,communicate_ow_scan:()=>qF,communicate_ow_select:()=>$F,communicate_ow_write:()=>jF,communicate_spi_buffer:()=>GF,communicate_spi_init:()=>VF,communicate_spi_onboard:()=>FF,communicate_spi_read:()=>UF,communicate_spi_read_output:()=>wF,communicate_spi_readinto:()=>kF,communicate_spi_readinto_output:()=>HF,communicate_spi_set:()=>BF,communicate_spi_write:()=>WF,communicate_spi_write_readinto:()=>KF,espnow_radio_channel:()=>NP,espnow_radio_channel_new:()=>fP,espnow_radio_on_off:()=>FP,espnow_radio_rec:()=>vP,espnow_radio_recv:()=>XP,espnow_radio_recv_certain_msg:()=>yP,espnow_radio_recv_certain_msg_new:()=>xP,espnow_radio_recv_msg:()=>YP,espnow_radio_recv_new:()=>bP,espnow_radio_send:()=>PP,espnow_radio_txpower:()=>DP,i2c_slave_onreceive:()=>xF,internal_variable:()=>tP,ir_recv_timeout:()=>nP,ir_transmit_busy:()=>aP,ir_transmit_conventional_data:()=>_P,ir_transmit_raw_code:()=>pP,ir_transmit_study_code:()=>oP,ir_whether_recv:()=>iP,lora_init:()=>VP,lora_packet:()=>BP,lora_recv:()=>UP,lora_send:()=>GP,network_espnow_info:()=>CP,network_espnow_mac:()=>gP,network_espnow_recv:()=>SP,network_espnow_recv_handle:()=>LP,network_espnow_send:()=>AP,recv_fun:()=>eP,urequests_attribute:()=>kP,urequests_get:()=>wP,urequests_method:()=>HP});var et={};t.r(et),t.d(et,{display_animate:()=>Mv,display_circle:()=>hv,display_color_seclet:()=>Nv,display_draw_4strings:()=>av,display_fill:()=>Tv,display_lcd_use_i2c_init:()=>Yv,display_line:()=>lv,display_line_arbitrarily:()=>uv,display_matrix_extern_bright_point:()=>ev,display_matrix_extern_bright_screen:()=>nv,display_matrix_extern_clear:()=>$P,display_matrix_extern_get_pixel:()=>tv,display_matrix_extern_get_screen_pixel:()=>iv,display_matrix_extern_image_builtins:()=>sv,display_matrix_extern_scroll_string:()=>zP,display_matrix_extern_scroll_string_delay:()=>jP,display_matrix_extern_shift:()=>ZP,display_matrix_extern_show_frame_string:()=>qP,display_matrix_extern_show_frame_string_delay:()=>QP,display_matrix_extern_show_image:()=>KP,display_matrix_extern_show_image_or_string_delay:()=>JP,display_matrix_use_i2c_init:()=>WP,display_oled_drawPixel:()=>Ov,display_oled_showBitmap:()=>Ev,display_oled_use_i2c_init:()=>Vv,display_onoff:()=>dv,display_rect:()=>rv,display_tm1650_power:()=>cv,display_tm1650_set_brightness:()=>Sv,display_tm1650_show_dot:()=>Cv,display_tm1650_show_num:()=>gv,display_tm_use_i2c_init:()=>Rv,display_triangle:()=>mv,display_use_i2c_init:()=>pv,extern_oled_bright_point:()=>zv,extern_oled_clear:()=>Jv,extern_oled_get_pixel:()=>Qv,extern_oled_hvline:()=>$v,extern_oled_line:()=>Zv,extern_oled_scroll_string:()=>Wv,extern_oled_scroll_string_delay:()=>Kv,extern_oled_shape_rect:()=>jv,extern_oled_shift:()=>qv,extern_oled_show_frame_string:()=>kv,extern_oled_show_frame_string_delay:()=>Hv,extern_oled_show_image:()=>Bv,extern_oled_show_image_or_string_delay:()=>wv,extern_oled_show_image_xy:()=>Gv,extern_oled_show_string:()=>Uv,image_shift:()=>Iv,lcd_backlight:()=>bv,lcd_clear:()=>xv,lcd_print_string:()=>yv,lcd_show_image_or_string_delay:()=>Xv,matrix_extern_image_arithmetic:()=>_v,matrix_extern_image_invert:()=>ov,tft_fill:()=>Pv,tft_line_arbitrarily:()=>vv,tft_scroll_string_delay:()=>Fv,tft_show_frame_string_delay:()=>fv,tft_show_image_or_string_delay:()=>Dv,tft_show_image_xy:()=>Lv,tft_use_spi_init:()=>Av});var it={};t.r(it),t.d(it,{bitbot_display_bitmap_create:()=>KY,bitbot_display_image_create:()=>WY,display_available:()=>IY,display_bitmap_create:()=>lY,display_bright_point:()=>EY,display_bright_screen:()=>RY,display_clear:()=>dY,display_get_pixel:()=>mY,display_get_screen_pixel:()=>OY,display_image_builtins:()=>aY,display_image_builtins_all:()=>uY,display_image_create:()=>rY,display_scroll_string:()=>sY,display_scroll_string_delay:()=>_Y,display_scroll_way:()=>oY,display_shift:()=>hY,display_show_frame_string:()=>iY,display_show_frame_string_delay:()=>nY,display_show_image:()=>tY,display_show_image_or_string_delay:()=>eY,draw_pointer:()=>uX,image_arithmetic:()=>TY,image_invert:()=>MY,mixbot_display_bitmap_create:()=>GY,mixbot_display_bright_screen:()=>kY,mixbot_display_get_ambientbright:()=>wY,mixbot_display_get_screen_pixel:()=>UY,mixbot_display_image_create:()=>BY,mixbot_display_rotate:()=>HY,mixgo_display_bitmap_create:()=>NY,mixgo_display_image_create_new:()=>LY,mixgome_display_bitmap_create:()=>gY,mixgome_display_font:()=>AY,mixgome_display_image_create:()=>cY,mixgomini_display_bitmap_create:()=>SY,mixgomini_display_image_create:()=>CY,mpython_display_hvline:()=>xY,mpython_display_line:()=>VY,mpython_display_shape_rect:()=>bY,mpython_pbm_image:()=>DY,nova_draw_pointer:()=>rX,onboard_oled_bright_point:()=>yY,onboard_oled_scroll_string_delay:()=>XY,onboard_oled_show_frame_string_delay:()=>YY,onboard_oled_show_image:()=>fY,onboard_oled_show_image_or_string_delay:()=>vY,onboard_oled_show_image_xy:()=>FY,onboard_oled_show_string:()=>PY,onboard_tft_bright_point:()=>eX,onboard_tft_bright_screen:()=>EX,onboard_tft_clear:()=>OX,onboard_tft_clock_clear:()=>pX,onboard_tft_clock_draw:()=>oX,onboard_tft_clock_get_rtctime:()=>sX,onboard_tft_clock_init:()=>nX,onboard_tft_clock_set_time:()=>_X,onboard_tft_display_hvline:()=>$Y,onboard_tft_display_line:()=>ZY,onboard_tft_display_shape_circle:()=>aX,onboard_tft_display_shape_rect:()=>jY,onboard_tft_fill:()=>iX,onboard_tft_get_pixel:()=>tX,onboard_tft_get_screen_pixel:()=>mX,onboard_tft_scroll_string_delay:()=>pY,onboard_tft_shift:()=>hX,onboard_tft_show_frame_string:()=>MX,onboard_tft_show_frame_string_delay:()=>zY,onboard_tft_show_image:()=>TX,onboard_tft_show_image_or_string_delay:()=>QY,onboard_tft_show_image_xy:()=>JY,onboard_tft_show_image_xy_direct:()=>qY,onboard_tft_show_qrcode:()=>dX,onboard_tft_show_qrcode_details:()=>IX,onboard_tft_show_texts:()=>lX});var nt={};t.r(nt),t.d(nt,{factory_block:()=>NX,factory_block_return:()=>DX,factory_block_return_with_textarea:()=>FX,factory_block_with_textarea:()=>fX,factory_callMethod_noreturn:()=>AX,factory_callMethod_return:()=>LX,factory_declare:()=>SX,factory_from_import:()=>RX,factory_function_noreturn:()=>gX,factory_function_return:()=>CX,factory_import:()=>cX,folding_block:()=>PX});var st={};t.r(st),t.d(st,{inout_analog_atten:()=>KX,inout_analog_read:()=>BX,inout_analog_read_init:()=>WX,inout_analog_write:()=>bX,inout_analog_write_init:()=>HX,inout_analog_write_set:()=>xX,inout_digital_init:()=>wX,inout_digital_read:()=>XX,inout_digital_write:()=>YX,inout_highlow:()=>vX,inout_pin_attachInterrupt:()=>UX,inout_pin_pressed:()=>GX,inout_pin_pressed_init:()=>JX,inout_pwm_analog_write:()=>yX,inout_pwm_analog_write_init:()=>kX,inout_pwm_analog_write_set_freq:()=>VX});var _t={};t.r(_t),t.d(_t,{IOT_CONNECT_OLLAMA:()=>gy,IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>Iy,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>ly,IOT_EMQX_PING:()=>Ty,IOT_FORMATTING:()=>uy,IOT_FORMAT_STRING:()=>ry,IOT_MIXIO_NTP:()=>My,IOT_MIXIO_PUBLISH:()=>ey,IOT_MIXIO_PUBLISHEX:()=>iy,IOT_MIXIO_SUBSCRIBE:()=>ny,iot_client_onboard:()=>hy,iot_connect_ollama:()=>cy,iot_connect_openai:()=>Cy,iot_http_client:()=>my,iot_http_data:()=>Ey,iot_mixio_check:()=>oy,iot_mixio_connect:()=>ty,iot_mixio_connect_only:()=>_y,iot_mixio_disconnect:()=>sy,iot_mixio_format_msg:()=>ay,iot_mixio_format_topic:()=>py,iot_mixly_key:()=>dy,iot_mqtt_client:()=>Oy,iot_mqtt_data:()=>Ry,iot_onenet_check:()=>$X,iot_onenet_connect:()=>QX,iot_onenet_disconnect:()=>zX,iot_onenet_publish:()=>ZX,iot_onenet_publish_dict:()=>jX,iot_tiny_web_db_count:()=>Py,iot_tiny_web_db_delete:()=>Yy,iot_tiny_web_db_get:()=>Fy,iot_tiny_web_db_init:()=>Ny,iot_tiny_web_db_init_with_mqtt:()=>Dy,iot_tiny_web_db_search:()=>vy,iot_tiny_web_db_update:()=>fy,iot_wifi_connect:()=>qX,ollama_empty_history:()=>Ly,use_ollama_llm_to_chat:()=>Sy,use_ollama_llm_to_chat_return:()=>Ay});var ot={};t.r(ot),t.d(ot,{educore_mqtt_connect:()=>lb,educore_mqtt_connect_success:()=>Mb,educore_mqtt_subscribe_message:()=>db,educore_mqtt_topic_publish:()=>Tb,educore_mqtt_topic_subscribe:()=>Ib,educore_wifi_connect:()=>rb,network_ap_connect:()=>wy,network_connect:()=>yy,network_get_connect:()=>xy,network_get_wifi:()=>Uy,network_init:()=>Xy,network_is_active:()=>Gy,network_open:()=>By,network_scan:()=>ky,network_server:()=>Hy,network_socket_accept:()=>Qy,network_socket_bind:()=>Ky,network_socket_close:()=>eb,network_socket_connect:()=>Jy,network_socket_init:()=>Wy,network_socket_listen:()=>qy,network_socket_readline:()=>zy,network_socket_receive:()=>jy,network_socket_receive_from:()=>Zy,network_socket_send:()=>$y,network_socket_send_to:()=>tb,network_stop:()=>Vy,network_wifi_connect:()=>by,ntptime_address:()=>ob,ntptime_time:()=>_b,requests_attribute:()=>nb,requests_attribute2:()=>ab,requests_get:()=>ib,requests_get2:()=>pb,requests_method:()=>sb,requests_post:()=>ub});var pt={};t.r(pt),t.d(pt,{pe_g1_battery_left:()=>mb,pe_g1_dc_motor:()=>Eb,pe_g1_dc_motor_speed:()=>Ob,pe_g1_servo_get_angle:()=>gb,pe_g1_servo_get_speed:()=>Cb,pe_g1_servo_set_angle:()=>Rb,pe_g1_servo_set_speed:()=>cb,pe_g1_use_i2c_init:()=>hb});var at={};t.r(at),t.d(at,{CI130X_BROADCAST:()=>Kb,CI130X_GET_THE_RECOGNIZED_CMD:()=>Wb,CI130X_GET_WHETHER_IDENTIFY:()=>Hb,CI130X_IDENTIFY_AND_SAVE:()=>kb,CI130X_SET_SYSTEM_CMD:()=>Jb,HCSR04:()=>Ax,PS2_Button:()=>Dx,PS2_Buttons:()=>fx,PS2_Buttons_new:()=>xx,PS2_State:()=>Fx,PS2_init:()=>Lx,PS2_init_new:()=>yx,PS2_stk:()=>Px,PS2_stk_new:()=>Vx,PS2_vibration:()=>Nx,PS2_vibration_new:()=>bx,RTC_get_time:()=>Yx,RTC_set_date:()=>Pb,RTC_set_datetime:()=>vx,RTC_set_time:()=>Fb,camera_sensor_init:()=>MV,camera_sensor_result:()=>hV,column_tube_foot:()=>RV,define_keyboards:()=>cV,educore_body_sensor:()=>_V,educore_button_sensor_extern:()=>uV,educore_camera_sensor:()=>TV,educore_infrared_sensor:()=>aV,educore_soilhum_sensor:()=>oV,educore_temp_sensor:()=>IV,educore_temphum_sensor:()=>pV,educore_ultrasonic_sensor:()=>lV,esp32_s2_weather_init:()=>cx,esp32_s2_weather_rain:()=>Cx,esp32_s2_weather_wd:()=>gx,esp32_s2_weather_ws:()=>Sx,extern_rfid_read:()=>ux,extern_rfid_readcontent:()=>lx,extern_rfid_readid:()=>rx,extern_rfid_status:()=>Tx,extern_rfid_write:()=>dx,extern_rfid_write_return:()=>Ix,get_keboards_value:()=>CV,gnss_get_data:()=>Ux,gnss_have_data:()=>wx,init_init_rotary_encoder:()=>SV,init_matrix_keyboard:()=>gV,interaction_whether_to_interaction:()=>Ub,interaction_whether_to_interaction_SANT:()=>wb,line_tube_foot:()=>OV,mixbot_sensor_extern_get_addr:()=>$x,mixbot_sensor_extern_set_addr:()=>Zx,pm25_get_data:()=>Gx,radar_set_DETECTION_THRESHOLD:()=>Bb,radar_set_DETECTION_THRESHOLD_SANT:()=>Gb,robot_button_extern_get_value:()=>Hx,robot_color_extern_get_value:()=>Qx,robot_infrared_extern_get_value:()=>Kx,robot_infrared_extern_grey_get_value:()=>Jx,robot_potentiometer_extern_get_value:()=>qx,robot_sonar_extern_get_value:()=>zx,robot_sonar_extern_led:()=>jx,robot_touch_extern_get_value:()=>Wx,rotary_key:()=>AV,sensor_APDS9960_extern:()=>Qb,sensor_DS18X20:()=>sV,sensor_LTR308_extern:()=>zb,sensor_LTR390UV_extern:()=>nx,sensor_MAX30102_extern:()=>qb,sensor_QMC5883L_extern:()=>sx,sensor_VL530LX_extern:()=>px,sensor_aht11_extern:()=>ox,sensor_bmp:()=>bb,sensor_dht11:()=>Xx,sensor_distance_hrsc04:()=>fb,sensor_hp203_extern:()=>jb,sensor_ltr381_extern:()=>ex,sensor_mixgo_extern_button_attachInterrupt:()=>Nb,sensor_mixgo_extern_button_get_presses:()=>Lb,sensor_mixgo_extern_button_is_pressed:()=>Sb,sensor_mixgo_extern_button_was_pressed:()=>Ab,sensor_mixgo_extern_light:()=>vb,sensor_mixgo_extern_pin_near:()=>Xb,sensor_mixgo_extern_sound:()=>Yb,sensor_mixgoce_hot_wheel_degrees:()=>Rx,sensor_mixgoce_hot_wheel_is_touched:()=>Ox,sensor_mpu9250_attachGestureInterrupt:()=>Db,sensor_ms5611_extern:()=>Zb,sensor_ms5611_extern_altitude:()=>tx,sensor_read_humiture:()=>rV,sensor_rtc_init:()=>yb,sensor_sht:()=>xb,sensor_shtc3_extern:()=>_x,sensor_spl06_001_extern:()=>$b,sensor_ucs12071_extern:()=>ix,sensor_use_i2c_init:()=>Vb,sensor_use_spi_init:()=>ax,sensor_use_uart_init:()=>Bx,sensor_weather_solo_init:()=>tV,sensor_weather_solo_rain:()=>nV,sensor_weather_solo_wd:()=>eV,sensor_weather_solo_ws:()=>iV,sensor_weigh_init:()=>mV,tvoc_get_data:()=>kx,ultrasonic_sensor_read_distance:()=>dV,weather_data:()=>Mx,weather_have_data:()=>hx,weather_set_label:()=>Ex,weather_uart_mixio:()=>mx,weigh_sensor_get_weight:()=>EV});var ut={};t.r(ut),t.d(ut,{HCSR04:()=>XV,bitbot_als_num:()=>iG,dht11:()=>rG,educore_button_sensor:()=>mG,educore_button_was_pressed:()=>EG,educore_gyroscope_sensor:()=>TG,educore_gyroscope_sensor_read:()=>MG,educore_gyroscope_sensor_shake:()=>hG,educore_light_sensor:()=>IG,educore_rfid_sensor:()=>OG,educore_rfid_sensor_scan:()=>RG,educore_rfid_sensor_scan_data:()=>cG,educore_voice_sensor:()=>lG,number1:()=>yV,number2:()=>bV,number3:()=>xV,number4:()=>VV,number5:()=>BV,number6:()=>GV,number7:()=>UV,onboard_RTC_get_time:()=>vB,onboard_RTC_get_time_str:()=>yB,onboard_RTC_get_timestamp:()=>YB,onboard_RTC_get_timetuple_to_str:()=>bB,onboard_RTC_set_datetime:()=>FB,onboard_RTC_settime_string:()=>PB,onboard_RTC_timestamp_totuple:()=>XB,rfid_readcontent:()=>nB,rfid_readid:()=>iB,rfid_status:()=>oB,rfid_write:()=>sB,rfid_write_return:()=>_B,sensor_LTR308:()=>jV,sensor_adxl345_get_acceleration:()=>MB,sensor_aht11:()=>tB,sensor_bitbot_ALS:()=>eG,sensor_button_get_presses:()=>_G,sensor_button_is_pressed:()=>nG,sensor_button_was_pressed:()=>sG,sensor_compass_reset:()=>cB,sensor_ds18x20:()=>QV,sensor_eulerangles:()=>aB,sensor_get_acceleration:()=>pB,sensor_get_temperature:()=>eB,sensor_get_the_coprocessor_version:()=>gG,sensor_hp203:()=>ZV,sensor_light:()=>uG,sensor_lm35:()=>zV,sensor_mixbot_get_gyro:()=>tG,sensor_mixbot_patrol_calibrate:()=>jB,sensor_mixbot_patrol_value:()=>$B,sensor_mixbot_temperature:()=>ZB,sensor_mixgo_LTR308:()=>KV,sensor_mixgo_button_attachInterrupt:()=>fV,sensor_mixgo_button_get_presses:()=>DV,sensor_mixgo_button_is_pressed:()=>LV,sensor_mixgo_button_was_pressed:()=>NV,sensor_mixgo_cc_mmc5603_calibrate_compass:()=>BB,sensor_mixgo_cc_mmc5603_get_angle:()=>VB,sensor_mixgo_cc_mmc5603_get_magnetic:()=>xB,sensor_mixgo_light:()=>aG,sensor_mixgo_nova_LTR308:()=>qV,sensor_mixgo_nova_pin_near:()=>WV,sensor_mixgo_pin_near:()=>HV,sensor_mixgo_pin_near_double:()=>kV,sensor_mixgo_pin_near_single:()=>wV,sensor_mixgo_pin_pressed:()=>IB,sensor_mixgo_sant_color:()=>JV,sensor_mixgo_touch_slide:()=>dB,sensor_mixgocar42_button_attachInterrupt:()=>YV,sensor_mixgocar42_button_get_presses:()=>vV,sensor_mixgocar42_button_is_pressed:()=>FV,sensor_mixgocar42_button_was_pressed:()=>PV,sensor_mixgocar_battery_left:()=>zB,sensor_mixgocar_pin_near:()=>qB,sensor_mixgocar_pin_near_line:()=>JB,sensor_mixgocar_pin_near_state_change:()=>QB,sensor_mixgoce_pin_pressed:()=>lB,sensor_mixgoce_temperature:()=>UB,sensor_mixgome_temperature:()=>GB,sensor_mpu9250_calibrate_compass:()=>EB,sensor_mpu9250_field_strength:()=>RB,sensor_mpu9250_gesture:()=>uB,sensor_mpu9250_get_acceleration:()=>rB,sensor_mpu9250_get_gyro:()=>mB,sensor_mpu9250_get_magnetic:()=>hB,sensor_mpu9250_temperature:()=>OB,sensor_mpython_pin_pressed:()=>TB,sensor_mpython_qmi8658_get_gyro:()=>wB,sensor_mpython_qmi8658_temperature:()=>kB,sensor_onboard_compass_reset:()=>fB,sensor_onboard_mpu9250_calibrate_compass:()=>LB,sensor_onboard_mpu9250_field_strength:()=>DB,sensor_onboard_mpu9250_gesture:()=>gB,sensor_onboard_mpu9250_get_acceleration:()=>CB,sensor_onboard_mpu9250_get_gyro:()=>AB,sensor_onboard_mpu9250_get_magnetic:()=>SB,sensor_onboard_mpu9250_temperature:()=>NB,sensor_pin_near:()=>pG,sensor_pin_pressed:()=>oG,sensor_read:()=>dG,sensor_rm_acc:()=>KB,sensor_rm_battery_left:()=>WB,sensor_rm_pin_near_double:()=>HB,sensor_sound:()=>$V,simulated_light_sensor:()=>CG});var rt={};t.r(rt),t.d(rt,{serial_any:()=>DG,serial_print:()=>SG,serial_print_byte:()=>AG,serial_print_hex:()=>NG,serial_println:()=>LG,serial_read_from_ai:()=>BG,serial_readline:()=>FG,serial_readstr:()=>fG,serial_send_to_ai:()=>VG,serial_softserial:()=>PG,serial_softserial_new:()=>vG,system_input:()=>YG,system_print:()=>XG,system_print_end:()=>bG,system_print_inline:()=>yG,system_print_many:()=>xG});var lt={};t.r(lt),t.d(lt,{Panic_with_status_code:()=>jG,Timer_init:()=>IU,base_delay:()=>hU,controls_delay:()=>iU,controls_delay_new:()=>nU,controls_end_program:()=>ZG,controls_millis:()=>$G,controls_uname:()=>eU,reset:()=>tU,set_system_timer:()=>_U,system_bitbot_shutdown:()=>dU,system_device_name:()=>QG,system_device_serial_number:()=>zG,system_event_bus_source:()=>JG,system_event_bus_value:()=>qG,system_machine_reset:()=>lU,system_on_event:()=>HG,system_raise_event:()=>kG,system_reset:()=>UG,system_run_in_background:()=>GG,system_ticks_diff:()=>oU,system_timer:()=>aU,system_timer_init:()=>pU,system_timestamp:()=>WG,system_value:()=>KG,system_wait:()=>wG,system_wdt_feed:()=>rU,system_wdt_init:()=>uU,time_ticks_diff:()=>MU,timer:()=>sU,timer2:()=>TU});var dt={};t.r(dt),t.d(dt,{Air_daily_content:()=>fU,Air_now_content:()=>gU,Geo_moon_content:()=>PU,Geo_sun_content:()=>FU,Life_suggestion_content:()=>SU,Location_search_content:()=>LU,Tide_daily_content:()=>AU,WEATHER_DAILY:()=>EU,WEATHER_HOUR:()=>OU,WEATHER_NOW:()=>mU,Weather_alarm_content:()=>CU,Weather_daily:()=>NU,Weather_daily_content:()=>DU,Weather_now:()=>RU,Weather_now_content:()=>cU});var It={};t.r(It),t.d(It,{MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED:()=>XU});var Tt={};t.r(Tt),t.d(Tt,{MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED:()=>bU});var Mt={};t.r(Mt),t.d(Mt,{MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED:()=>VU});var ht={};t.r(ht),t.d(ht,{controls_pin_attachInterrupt:()=>sw,inout_analog_atten:()=>qU,inout_analog_write:()=>KU,inout_analog_write_init:()=>$U,inout_analog_write_set:()=>JU,inout_analog_write_set_freq:()=>tw,inout_digital_init:()=>jU,inout_digital_read:()=>WU,inout_digital_write:()=>HU,inout_highlow:()=>kU,inout_pinMode:()=>ew,inout_pin_attachInterrupt:()=>zU,inout_pin_pressed:()=>QU,inout_pin_pressed_init:()=>ZU,pin_pressed:()=>nw,pin_pressed_init:()=>iw});var mt={};t.r(mt),t.d(mt,{analog_input:()=>Iw,analog_output:()=>Mw,espnow_channel:()=>rw,haskylens_model:()=>lw,i2c_A_pin:()=>hw,i2c_B_pin:()=>mw,pins_analog:()=>gw,pins_analog_pin:()=>Cw,pins_axis:()=>Gw,pins_brightness:()=>Uw,pins_builtinimg:()=>Yw,pins_builtinimg_extern:()=>Xw,pins_button:()=>Lw,pins_buttonB:()=>Nw,pins_dac:()=>Sw,pins_dac_pin:()=>Aw,pins_digital:()=>ow,pins_digital_dot:()=>Qw,pins_digital_pin:()=>pw,pins_exlcdh:()=>Vw,pins_exlcdv:()=>Bw,pins_imglist:()=>yw,pins_input_pin:()=>aw,pins_one_more:()=>qw,pins_output_pin:()=>uw,pins_playlist:()=>bw,pins_playlist_extern:()=>xw,pins_pwm:()=>Dw,pins_pwm_pin:()=>fw,pins_radio_datarate:()=>Jw,pins_radio_power:()=>Kw,pins_serial:()=>vw,pins_tone_notes:()=>Ww,pins_touch:()=>Pw,pins_touch_pin:()=>Fw,pins_tts_bgmusic:()=>Hw,pins_tts_builtin_music:()=>kw,pins_tts_voice:()=>ww,pwm_input:()=>dw,pwm_output:()=>Tw,spi_A_pin:()=>Ew,spi_B_pin:()=>Ow,spi_C_pin:()=>Rw,spi_D_pin:()=>cw,timer_id_pin:()=>zw});var Et={};t.r(Et),t.d(Et,{inout_analog_atten:()=>ok,inout_analog_write:()=>tk,inout_analog_write_init:()=>_k,inout_analog_write_set:()=>ek,inout_digital_init:()=>sk,inout_digital_read:()=>Zw,inout_digital_write:()=>$w,inout_highlow:()=>jw,inout_pin_attachInterrupt:()=>nk,inout_pin_pressed:()=>ik,inout_pin_pressed_init:()=>pk});var Ot={};t.r(Ot),t.d(Ot,{analog_input:()=>mk,analog_output:()=>Ok,espnow_channel:()=>Mk,haskylens_model:()=>hk,i2c_A_pin:()=>Rk,i2c_B_pin:()=>ck,pins_analog:()=>Nk,pins_analog_pin:()=>Lk,pins_axis:()=>Uk,pins_brightness:()=>Hk,pins_builtinimg:()=>bk,pins_builtinimg_extern:()=>xk,pins_button:()=>uk,pins_buttonB:()=>rk,pins_dac:()=>Pk,pins_dac_pin:()=>Fk,pins_digital:()=>ak,pins_digital_dot:()=>$k,pins_digital_pin:()=>lk,pins_exlcdh:()=>wk,pins_exlcdv:()=>kk,pins_imglist:()=>Vk,pins_input_pin:()=>dk,pins_interrupt:()=>Xk,pins_one_more:()=>jk,pins_output_pin:()=>Ik,pins_playlist:()=>Bk,pins_playlist_extern:()=>Gk,pins_pwm:()=>fk,pins_pwm_input:()=>Tk,pins_pwm_pin:()=>Dk,pins_radio_datarate:()=>zk,pins_radio_power:()=>Qk,pins_serial:()=>yk,pins_tone_notes:()=>qk,pins_touch:()=>Yk,pins_touch_pin:()=>vk,pins_tts_bgmusic:()=>Jk,pins_tts_builtin_music:()=>Kk,pins_tts_voice:()=>Wk,pwm_output:()=>Ek,spi_A_pin:()=>gk,spi_B_pin:()=>Ck,spi_C_pin:()=>Sk,spi_D_pin:()=>Ak,timer_id_pin:()=>Zk});const Rt=Blockly,ct=Mixly,gt={NAME_TYPE:"VARIABLE",allVariables:function(t){var e;if(t.getDescendants)e=t.getDescendants();else{if(!t.getAllBlocks)throw"Not Block or Workspace: "+t;e=t.getAllBlocks()}for(var i=Object.create(null),n=0;n1&&(o+=n)):i=o}else i="i";return i}},Ct=gt; -/** - * @license - * Visual Blocks Editor - * - * Copyright 2012 Google Inc. - * https://developers.google.com/blockly/ - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -class St{constructor(t,e){if(this.variablePrefix_=e||"",this.reservedDict_=Object.create(null),t)for(var i=t.split(","),n=0;n0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(Rt.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+s).appendField(Rt.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(Rt.Msg.CONTROLS_IF_MSG_ELSE);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_if_if");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_if_elseif");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var _=t.newBlock("controls_if_else");_.initSvg(),i.connect(_.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],_=null;i;){switch(i.type){case"controls_if_elseif":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_if_else":this.elseCount_++,_=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,_)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_if_elseif":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_if_else":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),_=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(_.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(Rt.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+t).appendField(Rt.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(Rt.Msg.CONTROLS_IF_MSG_ELSE)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},kt={init:function(){this.setColour(xt),this.appendValueInput("FROM").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.PYTHON_RANGE).appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.PYTHON_RANGE_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Rt.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},Ht={init:function(){this.setColour(xt),this.appendValueInput("LIST").setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.CONTROLS_FOREACH_INPUT),this.appendValueInput("VAR").appendField(Rt.Msg.CONTROLS_FOREACH_INPUT_ITEM),this.appendStatementInput("DO").appendField(Rt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip((function(){return Rt.Msg.CONTROLS_FOR_TOOLTIP.replace("“%1”","")}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Wt={init:function(){this.setColour(xt),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(Rt.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(new Rt.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(Rt.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT+Rt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return{WHILE:Rt.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:Rt.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[e]}))}},Kt={init:function(){this.setColour(xt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PYTHON_TRY),this.appendStatementInput("try"),this.appendValueInput("IF1").appendField(Rt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO1").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Rt.icons.MutatorIcon(["controls_except","controls_finally"],this)),this.setTooltip(Rt.Msg.MIXLY_MIXPY_CONTROL_TRY_TOOLTIP),this.elseifCount_=1,this.elseCount_=0},mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var t=document.createElement("mutation");return this.elseifCount_&&t.setAttribute("elseif",this.elseifCount_),this.elseCount_&&t.setAttribute("else",1),t},domToMutation:function(t){var e=this,i=[],n=[];this.elseCount_&&this.removeInput("ELSE");for(var s=this.elseifCount_;s>0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(Rt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+s).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(Rt.Msg.MIXLY_PYTHON_FINALLY);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_try");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_except");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var _=t.newBlock("controls_finally");_.initSvg(),i.connect(_.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],_=null;i;){switch(i.type){case"controls_except":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_finally":this.elseCount_++,_=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,_)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_except":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_finally":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),_=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(_.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(Rt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+t).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(Rt.Msg.MIXLY_PYTHON_FINALLY)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},Jt={init:function(){this.setColour(xt);var t=new Rt.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(t,"FLOW").appendField(Rt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0),this.setTooltip(Rt.Msg.MIXLY_PYTHON_CONTROLS_FLOW_STATEMENTS_TOOLTIP);var e=this;this.setTooltip((function(){var t=e.getFieldValue("FLOW");return{BREAK:Rt.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:Rt.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}[t]}))},onchange:function(){if(this.workspace){var t=!1,e=this;do{if("controls_repeat"==e.type||"controls_for"==e.type||"controls_forEach"==e.type||"controls_repeat_ext"==e.type||"controls_whileUntil"==e.type||"do_while"==e.type){t=!0;break}e=e.getSurroundParent()}while(e);t?this.setWarningText(null):this.setWarningText(Rt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}},qt={init:function(){this.setColour(xt),this.appendDummyInput().appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new Rt.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(Rt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return Rt.Msg.CONTROLS_FOR_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Qt={init:function(){this.setColour(xt),this.appendDummyInput().appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new Rt.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(Rt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return Rt.Msg.MIXLY_PYTHON_CONTROLS_FOR_RANGE_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}};Wt.OPERATORS=[[Rt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[Rt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]],Jt.OPERATORS=[[Rt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[Rt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const zt={init:function(){this.setColour(xt),this.appendDummyInput().appendField(Rt.Msg.CONTROLS_IF_IF_TITLE_IF),this.appendStatementInput("STACK"),this.setTooltip(Rt.Msg.CONTROLS_IF_IF_TOOLTIP),this.contextMenu=!1}},jt={init:function(){this.setColour(xt),this.appendDummyInput().appendField(Rt.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},$t={init:function(){this.setColour(xt),this.appendDummyInput().appendField(Rt.Msg.CONTROLS_IF_ELSE_TITLE_ELSE),this.setPreviousStatement(!0),this.setTooltip(Rt.Msg.CONTROLS_IF_ELSE_TOOLTIP),this.contextMenu=!1}},Zt={init:function(){this.setColour(xt),this.appendDummyInput().appendField("try"),this.appendStatementInput("STACK"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.contextMenu=!1}},te={init:function(){this.setColour(xt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PYTHON_EXCEPT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1,this.setTooltip(Rt.Msg.MIXLY_MIXPY_CONTROL_EXCEPT_TOOLTIP)}},ee={init:function(){this.setColour(xt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PYTHON_FINALLY),this.setPreviousStatement(!0),this.contextMenu=!1,this.setTooltip(Rt.Msg.MIXLY_MIXPY_CONTROL_FINALLY_TOOLTIP)}},ie={init:function(){this.jsonInit({message0:Rt.Msg.CONTROLS_REPEAT_TITLE,args0:[{type:"input_value",name:"TIMES"}],previousStatement:null,nextStatement:null,colour:xt,tooltip:Rt.Msg.CONTROLS_REPEAT_TOOLTIP,helpUrl:Rt.Msg.CONTROLS_REPEAT_HELPURL}),this.appendStatementInput("DO")}},ne={init:function(){this.setColour(xt),this.appendValueInput("BOOL").appendField("lambda"),this.appendStatementInput("DO").appendField(Rt.Msg.MIXLY_STAT),this.setOutput(!0)}},se={init:function(){this.setColour(xt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PYTHON_PASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_PYTHON_CONTROLS_PASS_TOOLTIP)}},_e={init:function(){this.setColour(xt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_START),this.appendValueInput("callback").appendField(Rt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_TOOLTIP)}},oe={init:function(){this.appendDummyInput().appendField(Rt.Msg.CONTROLS_REPEAT_TITLE_REPEAT+Rt.Msg.MIXLY_DO),this.appendStatementInput("input_data").setCheck(null),this.appendValueInput("select_data").setCheck(null).appendField(Rt.Msg.CONTROLS_OPERATOR_UNTIL).appendField(new Rt.FieldDropdown([[Rt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"true"],[Rt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"false"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(xt),this.setTooltip("do-while loop"),this.setHelpUrl("")}},pe={init:function(){this.setColour(xt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_OP_GARBAGE_COLLECT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ae={init:function(){this.setColour(xt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET_MEM_ALLOC),this.setOutput(!0)}},ue={init:function(){this.setColour(xt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET_MEM_FREE),this.setOutput(!0)}},re={init:function(){this.setColour(xt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET+Rt.Msg.MIXLY_DEVICE+"ID"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Rt.Msg.PROCEDURES_DEFRETURN_RETURN+Rt.Msg.MIXLY_GET_UNIQUE_IDEN)}},le={init:function(){this.setColour(xt),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_RTC_TIMESTAMP),this.appendDummyInput().appendField(Rt.Msg.MIXLY_TIMESTAMP_TO_DATA),this.setInputsInline(!0),this.setOutput(!0,Number)}},de={init:function(){this.setColour(xt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET_UNIQUE_IDEN),this.setOutput(!0)}},Ie=230;Rt.FieldTextInput.math_number_validator=function(t){return String(t)},Rt.FieldTextInput.math_number_validator_include_blank=function(t){if(""===t)return"";return/^-?(0X|0x|0O|0o|0B|0b)?[a-fA-F0-9]{1,}(\.[a-fA-F0-9]+)?$/.test(t)?String(t):null};const Te={init:function(){this.setColour(Ie),this.appendDummyInput().appendField(new Rt.FieldTextInput("0",Rt.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MATH_NUMBER_TOOLTIP)}},Me={init:function(){this.setColour(Ie);this.appendDummyInput("").appendField(Rt.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new Rt.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:Rt.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_TOOLTIP,e:Rt.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_TOOLTIP}[e]}))}},he={init:function(){this.setColour(Ie);this.appendDummyInput("").appendField(Rt.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new Rt.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:Rt.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_MP_TOOLTIP,e:Rt.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_MP_TOOLTIP}[e]}))}},me={init:function(){this.setColour(Ie),this.setOutput(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Rt.FieldDropdown([["+","ADD"],["-","MINUS"],["×","MULTIPLY"],["÷","DIVIDE"],["%","QUYU"],["//","ZHENGCHU"],["**","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:Rt.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},Ee={init:function(){this.setColour(Ie),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Rt.FieldDropdown([["+=","ADD"],["-=","MINUS"],["×=","MULTIPLY"],["÷=","DIVIDE"],["%=","QUYU"],["//=","ZHENGCHU"],["**=","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:Rt.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},Oe={init:function(){this.setColour(Ie),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new Rt.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},Re={init:function(){this.setColour(Ie),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new Rt.FieldDropdown([["sin","SIN"],["cos","COS"],["tan","TAN"],["asin","ASIN"],["acos","ACOS"],["atan","ATAN"],["-","-"],["ln","LN"],["log10","LOG10"],["e^","EXP"],["10^","POW10"]]),"OP");var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{SIN:Rt.Msg.MATH_TRIG_TOOLTIP_SIN,COS:Rt.Msg.MATH_TRIG_TOOLTIP_COS,TAN:Rt.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:Rt.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:Rt.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:Rt.Msg.MATH_TRIG_TOOLTIP_ATAN,LN:Rt.Msg.MATH_SINGLE_TOOLTIP_LN}[e]}))}},ce={init:function(){var t=[[Rt.Msg.MATH_BIN,"bin"],[Rt.Msg.MATH_OCT,"oct"],[Rt.Msg.MATH_HEX,"hex"]];this.setColour(Ie),this.setOutput(!0,String),this.appendValueInput("NUM").setCheck(Number).appendField(new Rt.FieldDropdown(t),"OP");var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{bin:Rt.Msg.MATH_DEC_TOOLTIP_BIN,oct:Rt.Msg.MATH_DEC_TOOLTIP_OCT,hex:Rt.Msg.MATH_DEC_TOOLTIP_HEX}[t]}))}},ge={init:function(){var t=[[Rt.Msg.LANG_MATH_TO_ROUND,"round"],[Rt.Msg.LANG_MATH_TO_CEIL,"ceil"],[Rt.Msg.LANG_MATH_TO_FLOOR,"floor"],[Rt.Msg.MATH_ABS,"fabs"],[Rt.Msg.MATH_SQRT,"sqrt"]];this.setColour(Ie),this.appendValueInput("A").setCheck(Number).appendField(new Rt.FieldDropdown(t),"OP"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{sqrt:Rt.Msg.MATH_SINGLE_TOOLTIP_ROOT,fabs:Rt.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:Rt.Msg.MATH_SINGLE_TOOLTIP_SQ,round:Rt.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:Rt.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:Rt.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[t]}))}},Ce={init:function(){var t=[[Rt.Msg.MIXLY_MAX,"max"],[Rt.Msg.MIXLY_MIN,"min"]];this.setColour(Ie),this.appendValueInput("A").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(new Rt.FieldDropdown(t),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(Rt.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{max:Rt.Msg.MIXLY_TOOLTIP_MATH_MAX,min:Rt.Msg.MIXLY_TOOLTIP_MATH_MIN}[t]}))}},Se={init:function(){var t=[[Rt.Msg.MATH_TWO,"two"],[Rt.Msg.MATH_EIGHT,"eight"],[Rt.Msg.MATH_TEN,"ten"],[Rt.Msg.MATH_SIXTEEN,"sixteen"]];this.setColour(Ie),this.appendDummyInput("").appendField(Rt.Msg.MATH_BA),this.appendValueInput("NUM").appendField(new Rt.FieldDropdown(t),"OP").appendField(Rt.Msg.MATH_JinZhi).setCheck(Number),this.appendDummyInput("").appendField(Rt.Msg.MATH_ZHW).appendField(new Rt.FieldDropdown(t),"OP2").appendField(Rt.Msg.MATH_JinZhi),this.setFieldValue("ten","OP2"),this.setOutput(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i={two:Rt.Msg.MATH_Before_two,eight:Rt.Msg.MATH_Before_eight,ten:Rt.Msg.MATH_Before_ten,sixteen:Rt.Msg.MATH_Before_sixteen},n=e.getFieldValue("OP2"),s={two:Rt.Msg.MATH_Behind_two,eight:Rt.Msg.MATH_Behind_eight,ten:Rt.Msg.MATH_Behind_ten,sixteen:Rt.Msg.MATH_Behind_sixteen};return i[t]+s[n]}))}},Ae={init:function(){var t=[[Rt.Msg.LANG_MATH_INT,"int"],[Rt.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(Ie),this.setOutput(!0,Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_RANDOM).appendField(new Rt.FieldDropdown(t),"TYPE"),this.appendValueInput("FROM").setCheck(Number).appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TYPE"),i={int:Rt.Msg.LANG_MATH_INT,float:Rt.Msg.LANG_MATH_FLOAT_RANDOM};return Rt.Msg.MATH_RANDOM_INT_TOOLTIP+i[t]}))}},Le={init:function(){this.setColour(Ie),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(Rt.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(Rt.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(Rt.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MATH_CONSTRAIN_TOOLTIP)}},Ne={init:function(){this.setColour(Ie),this.appendValueInput("NUM",Number).appendField(Rt.Msg.MIXLY_MAP).setCheck(Number),this.appendValueInput("fromLow",Number).appendField(Rt.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(Rt.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_MATH_MAP)}},De={init:function(){this.setColour(Ie),this.appendDummyInput().appendField(new Rt.FieldTextInput("0",Rt.FieldTextInput.math_number_validator_include_blank),"NUM"),this.setOutput(!0),this.setTooltip(Rt.Msg.MATH_NUMBER_TOOLTIP)}},fe={init:function(){this.setColour(Ie),this.appendValueInput("NUM").setCheck(Number).appendField(Rt.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED)}},Fe={init:function(){this.setColour(Ie),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number),this.appendValueInput("VAR").setCheck(Number).appendField(Rt.Msg.MATH_ROUND).appendField(Rt.Msg.TEXT_KEEP),this.appendDummyInput().appendField(Rt.Msg.TEXT_DECIMAL),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MATH_ROUND_NEW_TOOLTIP)}},Pe={init:function(){var t=[[Rt.Msg.MIXLY_TO_INT,"int"],[Rt.Msg.MIXLY_TO_FLOAT,"float"],[Rt.Msg.MIXLY_TO_BITES,"b"],[Rt.Msg.LANG_MATH_BYTE+Rt.Msg.MIXLY_TO_INT,"bti"]];this.setColour(Ie),this.appendValueInput("VAR").appendField(new Rt.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:Rt.Msg.MIXLY_PYTHON_TOOLTIP_TOINT,float:Rt.Msg.MIXLY_PYTHON_TOOLTIP_TOFLOAT,b:Rt.Msg.MIXLY_TOOLTIP_TEXT_TOBYTE}[t]}))}},ve={init:function(){var t=[[Rt.Msg.MIXLY_TO_INT,"int"],[Rt.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(Ie),this.appendValueInput("VAR").appendField(new Rt.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:Rt.Msg.MIXLY_TOOLTIP_TEXT_TOINT,float:Rt.Msg.MIXLY_TOOLTIP_TEXT_TOFLOAT}[t]}))}},Ye=Ne,Xe={init:function(){this.setColour(Ie),this.appendValueInput("VAR").appendField(Rt.Msg.LANG_MATH_BYTE+Rt.Msg.MIXLY_TO_HEX),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_PYTHON_TOOLTIP_TOHEX)}},ye={init:function(){this.setColour(Ie),this.itemCount_=1,this.setMutator(new Rt.icons.MutatorIcon(["lists_create_with_item"],this)),this.appendDummyInput("DUMMY").appendField(Rt.Msg.MIXLY_PRODUCT+Rt.Msg.MIXLY_GENERATE_CARTESIAN_PRODUCT),this.appendValueInput("REPEAT").appendField(Rt.Msg.MIXLY_EVERY_PER_ELEPER_ELEMENT),this.appendDummyInput().appendField(Rt.Msg.CONTROLS_REPEAT_TITLE_TIMES),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0),this.setTooltip(Rt.Msg.LISTS_CREATE_WITH_PYTHON_TOOLTIP),this.updateShape_()},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("lists_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n1&&"\\"===t.charAt(0)){var e=t.charAt(1);if("0"===e||"b"===e||"f"===e||"n"===e||"r"===e||"t"===e||"\\"===e||"'"===e)return String(t).substring(0,2);if("x"===e&&"0"===t.charAt(2)&&"B"===t.charAt(3))return String(t).substring(0,4)}return String(t).substring(0,1)};const we={init:function(){this.setColour(Ve),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new Rt.FieldTextInput("",Rt.FieldTextInput.char_validator),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.TEXT_CHAR_TOOLTIP)},newQuote_:function(t){if(1==t)var e="../../media/quote2.png";else e="../../media/quote3.png";return new Rt.FieldImage(e,7,12,'"')}},ke={init:function(){this.setColour(Ve),this.appendValueInput("A").setCheck([String,Number]),this.appendValueInput("B").setCheck([String,Number]).appendField(Rt.Msg.MIXLY_TEXT_JOIN),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_TEXT_JOIN)}},He={init:function(){this.setColour(Ve),this.appendValueInput("VAR").setCheck(Number).appendField(Rt.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},We={init:function(){this.setColour(Ve),this.appendValueInput("VAR").setCheck(String).appendField(Rt.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},Ke={init:function(){this.setColour(Ve),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},Je={init:function(){this.setColour(Ve),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},qe={init:function(){this.WHERE_OPTIONS=[[Rt.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[Rt.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[Rt.Msg.TEXT_GET_INDEX_RANDOM+1+Rt.Msg.TEXT_CHARAT2,"RANDOM"]],this.setHelpUrl(Rt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ve),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.LISTS_GET_INDEX_GET,"MODE"),Rt.Msg.LISTS_GET_INDEX_TAIL&&this.appendDummyInput("TAIL").appendField(Rt.Msg.LISTS_GET_INDEX_TAIL),this.setInputsInline(!0),this.setOutput(!0),this.updateAt_(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=t.getFieldValue("WHERE"),n="";switch(e+" "+i){case"GET FROM_START":case"GET FROM_END":n=Rt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM;break;case"GET RANDOM":n=Rt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM;break;case"GET_REMOVE FROM_START":case"GET_REMOVE FROM_END":n=Rt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM;break;case"GET_REMOVE RANDOM":n=Rt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM}return"FROM_START"!=i&&"FROM_END"!=i||(n+=" "+Rt.Msg.LISTS_INDEX_FROM_START_TOOLTIP.replace("%1",Rt.Msg.ONE_BASED_INDEXING?"#1":"#0")),n}));var e=this;this.setTooltip((function(){var t=e.getFieldValue("WHERE"),i={FROM_START:Rt.Msg.LISTS_GET_INDEX_FROM_START,FROM_END:Rt.Msg.LISTS_GET_INDEX_FROM_END,RANDOM:Rt.Msg.TEXT_GET_INDEX_RANDOM};return Rt.Msg.PROCEDURES_DEFRETURN_RETURN+Rt.Msg.MIXLY_MICROBIT_TYPE_STRING+i[t]+"n"+Rt.Msg.TEXT_CHARAT2}))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("statement",!this.outputConnection);var e=this.getInput("AT").type==Rt.INPUT_VALUE;return t.setAttribute("at",e),t},domToMutation:function(t){var e="true"==t.getAttribute("statement");this.updateStatement_(e),t="false"!=t.getAttribute("at"),this.updateAt_(t)},updateStatement_:function(t){t!=!this.outputConnection&&(this.unplug(!0,!0),t?(this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)):(this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)))},updateAt_:function(t){this.removeInput("AT"),this.removeInput("ORDINAL",!0),t?(this.appendValueInput("AT").setCheck(Number),Rt.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL").appendField(Rt.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT");var e=new Rt.FieldDropdown(this.WHERE_OPTIONS,(function(e){var i="FROM_START"==e||"FROM_END"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT").appendField(e,"WHERE"),Rt.Msg.LISTS_GET_INDEX_TAIL&&this.moveInputBefore("TAIL",null)}},Qe={init:function(){this.setHelpUrl(Rt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ve),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number).appendField(Rt.Msg.LISTS_GET_INDEX_GET+" "+Rt.Msg.LISTS_GET_INDEX_FROM_START),this.appendDummyInput().appendField(Rt.Msg.TEXT_CHARAT2),this.setOutput(!0),this.setTooltip(Rt.Msg.PROCEDURES_DEFRETURN_RETURN+Rt.Msg.MIXLY_MICROBIT_TYPE_STRING+Rt.Msg.LISTS_GET_INDEX_FROM_START+"n"+Rt.Msg.TEXT_CHARAT2)}},ze={init:function(){this.setHelpUrl(Rt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ve),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(Rt.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(Rt.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},je={init:function(){this.WHERE_OPTIONS_1=[[Rt.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[Rt.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[Rt.Msg.LISTS_GET_SUBLIST_START_FIRST,"FIRST"]],this.WHERE_OPTIONS_2=[[Rt.Msg.LISTS_GET_SUBLIST_END_FROM_START,"FROM_START"],[Rt.Msg.LISTS_GET_SUBLIST_END_FROM_END,"FROM_END"],[Rt.Msg.LISTS_GET_SUBLIST_END_LAST,"LAST"]],this.setHelpUrl(Rt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Ve),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput("AT1"),this.appendDummyInput("AT2"),this.setInputsInline(!0),this.setOutput(!0,"List"),this.updateAt_(1,!0),this.updateAt_(2,!0),this.setTooltip(Rt.Msg._GET_TEXT_SUBLIST_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT1").type==Rt.INPUT_VALUE;t.setAttribute("at1",e);var i=this.getInput("AT2").type==Rt.INPUT_VALUE;return t.setAttribute("at2",i),t},domToMutation:function(t){var e="true"==t.getAttribute("at1"),i="true"==t.getAttribute("at2");this.updateAt_(1,e),this.updateAt_(2,i)},updateAt_:function(t,e){this.removeInput("AT"+t),this.removeInput("ORDINAL"+t,!0),e?(this.appendValueInput("AT"+t).setCheck(Number),Rt.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL"+t).appendField(Rt.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT"+t);var i=new Rt.FieldDropdown(this["WHERE_OPTIONS_"+t],(function(i){var n="FROM_START"==i||"FROM_END"==i;if(n!=e){var s=this.sourceBlock_;return s.updateAt_(t,n),s.setFieldValue(i,"WHERE"+t),null}}));this.getInput("AT"+t).appendField(i,"WHERE"+t),1==t&&(this.moveInputBefore("AT1","AT2"),this.getInput("ORDINAL1")&&this.moveInputBefore("ORDINAL1","AT2"))}},$e={init:function(){this.setHelpUrl(Rt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Ve),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT1").appendField(Rt.Msg.LISTS_GET_INDEX_GET+" "+Rt.Msg.LISTS_GET_INDEX_FROM_START),this.appendValueInput("AT2").appendField(Rt.Msg.LISTS_GET_SUBLIST_END_FROM_START),this.appendDummyInput().appendField(Rt.Msg.TEXT_CHARAT2),this.setInputsInline(!0),this.setOutput(!0,["List",String]),this.setTooltip(Rt.Msg._GET_TEXT_SUBLIST_TOOLTIP)}},Ze={init:function(){var t=[[Rt.Msg.MIXLY_EQUALS,"==="],[Rt.Msg.MIXLY_STARTSWITH,"startswith"],[Rt.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(Ve),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new Rt.FieldDropdown(t),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},ti={init:function(){this.setColour(Ve),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(Rt.Msg.MIXLY_COMPARETO).setCheck(String),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_COMPARETO_HELP)}},ei={init:function(){var t=[[Rt.Msg.TEXT_UPPER,"upper"],[Rt.Msg.TEXT_TITLE,"title"],[Rt.Msg.TEXT_CAPITALIZE,"capitalize"],[Rt.Msg.TEXT_SWAPCASE,"swapcase"],[Rt.Msg.TEXT_LOWER,"lower"]];this.setColour(Ve),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new Rt.FieldDropdown(t),"CAPITAL").setCheck(String),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CAPITAL");return{upper:Rt.Msg.MIXLY_MIXPY_TEXT_UPPER_TOOLTIP,title:Rt.Msg.MIXLY_MIXPY_TEXT_TITLE_TOOLTIP,swapcase:Rt.Msg.MIXLY_MIXPY_TEXT_SWAPCASE_TOOLTIP,capitalize:Rt.Msg.MIXLY_MIXPY_TEXT_CAPITALIZE_TOOLTIP,lower:Rt.Msg.MIXLY_MIXPY_TEXT_LOWER_TOOLTIP}[t]}))}},ii={init:function(){var t=[[Rt.Msg.TEXT_LJUST,"ljust"],[Rt.Msg.TEXT_CENTER,"center"],[Rt.Msg.TEXT_RJUST,"rjust"]];this.setColour(Ve),this.appendValueInput("VAR").appendField(new Rt.FieldDropdown(t),"CENTER").setCheck(String),this.appendValueInput("WID").appendField(Rt.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("Symbol").appendField(Rt.Msg.MIXLY_RECT_Fill).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MIXLY_MIXPY_TEXT_CENTER_TOOLTIP)}},ni={init:function(){this.setColour(Ve),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).setCheck(String),this.appendValueInput("STR").appendField(Rt.Msg.MIXLY_MID+Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER).setCheck(String),this.appendDummyInput().appendField(Rt.Msg.MIXLY_LIST_INDEX),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MIXLY_MIXPY_TEXT_FIND_TOOLTIP)}},si={init:function(){this.setColour(Ve),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_USE_STR).setCheck(String),this.appendValueInput("LIST").appendField(Rt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_SEQ).setCheck("List","Tuple","Set","Dict"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_GET_STR),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_TOOLTIP)}},_i={init:function(){this.setColour(Ve),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("STR1").appendField(Rt.Msg.MIXLY_MIXPY_REPLACE).setCheck(String),this.appendValueInput("STR2").appendField(Rt.Msg.LISTS_SET_INDEX_INPUT_TO).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MIXLY_MIXPY_TEXT_REPLACE_TOOLTIP)}},oi={init:function(){this.setColour(Ve),this.appendValueInput("VAR"),this.appendValueInput("VAL").appendField(Rt.Msg.LIST_SPLIT_AS),this.appendDummyInput("").appendField(Rt.Msg.LIST_SPLIT),this.setOutput(!0,"List"),this.setTooltip(Rt.Msg.MIXLY_MIXPY_TEXT_SPLIT_TOOLTIP),this.setInputsInline(!0)}},pi={init:function(){var t=[[Rt.Msg.TEXT_TRIM_BOTH,"strip"],[Rt.Msg.TEXT_TRIM_LEFT,"lstrip"],[Rt.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(Ve),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(Rt.Msg.TEXT_STRIM),this.appendDummyInput("").appendField(new Rt.FieldDropdown(t),"TOWHAT"),this.appendDummyInput("").appendField(Rt.Msg.TEXT_BLANK),this.setOutput(!0,String),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{strip:Rt.Msg.TEXT_TRIM_BOTH_TOOLTIP,lstrip:Rt.Msg.TEXT_TRIM_LEFT_TOOLTIP,rstrip:Rt.Msg.TEXT_TRIM_RIGHT_TOOLTIP}[t]}))}},ai={init:function(){this.setColour(Ve),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROPYTHON_FORMAT),this.appendDummyInput("").appendField(new Rt.FieldTextInput("str"),"VAR"),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new Rt.icons.MutatorIcon(["text_create_with_item"],this)),this.setOutput(!0),this.setTooltip(Rt.Msg.MIXLY_MIXPY_TEXT_FORMAT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("text_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},_n={init:function(){this.setColour(nn),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(Rt.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},on={init:function(){this.setColour(nn),this.appendDummyInput().appendField(Rt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},pn={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Rt.Msg.DICT_KEYS),this.setTooltip(Rt.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},an={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Rt.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(Rt.Msg.DICTS_ADD_VALUE),this.setOutput(!0),this.setTooltip(Rt.Msg.DICTS_GET_TOOLTIP)}},un={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Rt.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(Rt.Msg.DICTS_ADD_VALUE),this.appendValueInput("VAR").appendField(Rt.Msg.DICTS_DEFAULT_VALUE),this.setOutput(!0),this.setTooltip(Rt.Msg.DICTS_GET_DEFAULT_TOOLTIP)}},rn={init:function(){this.setColour(nn),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(Rt.Msg.DICTS_ADD),this.appendDummyInput(),this.appendValueInput("VAR").appendField(Rt.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.DICTS_ADD_OR_CHANGE_TOOLTIP)}},ln={init:function(){this.setColour(nn),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(Rt.Msg.DICTS_DELETE_IN),this.appendDummyInput("").appendField(Rt.Msg.DICTS_DELETE_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.DICTS_DELETE_TOOLTIP)}},dn={init:function(){this.setColour(nn),this.appendValueInput("DICT2").setCheck("Dict").appendField(Rt.Msg.MAKE_DICT),this.appendValueInput("DICT").setCheck("Dict").appendField(Rt.Msg.DICT_UPDATE),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MID),this.setTooltip(Rt.Msg.DICTS_UPDATE_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},In={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Rt.Msg.DICT_CLEAR),this.setTooltip(Rt.Msg.DICTS_CLEAR_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Tn={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Rt.Msg.DICT_ITEMS),this.setTooltip(Rt.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},Mn={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Rt.Msg.DICT_VALUES),this.setTooltip(Rt.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},hn={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_LENGTH),this.setTooltip(Rt.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},mn={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Rt.Msg.DICT_DELDICT),this.setTooltip(Rt.Msg.DICTS_DEL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},En={init:function(){this.MODE=[[Rt.Msg.DICTS_ADD_OR_CHANGE,"INSERT"],[Rt.Msg.MIXLY_MICROBIT_JS_DELETE_VAR,"DELETE"]],this.setHelpUrl(Rt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("AT2"),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).appendField(Rt.Msg.DICTS_ADD_VALUE),this.updateAt_(!0),this.setInputsInline(!0),this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e="";switch(t.getFieldValue("WHERE")){case"INSERT":e=Rt.Msg.DICTS_ADD_TOOLTIP;break;case"DELETE":e=Rt.Msg.DICTS_DELETE_TOOLTIP}return e}))},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT2").type==Rt.INPUT_VALUE;return t.setAttribute("at2",e),t},domToMutation:function(t){var e="true"==t.getAttribute("at2");this.updateAt_(e)},updateAt_:function(t){this.removeInput("AT2"),this.removeInput("ORDINAL",!0),t?this.appendValueInput("AT2").setCheck(Number):this.appendDummyInput("AT2");var e=new Rt.FieldDropdown(this.MODE,(function(e){var i="INSERT"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT2").appendField(e,"WHERE")}},On={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Rt.Msg.blockpy_DICT_POP),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(Rt.Msg.DICTS_ADD_VALUE),this.setTooltip(Rt.Msg.DICT_POP_TOOLTIP),this.setInputsInline(!0),this.setOutput(!0)}},Rn={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Rt.Msg.DICTS_SET_DEFAULT),this.appendDummyInput("").appendField(Rt.Msg.DICTS_DEFAULT_VALUE),this.appendValueInput("VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.DICTS_SETDEFAULT_TOOLTIP)}},cn={init:function(){this.setColour(nn),this.appendDummyInput("").appendField(new Rt.FieldLabel(Rt.Msg.MIXLY_MICROBIT_TYPE_DICT),"TIP").appendField(" "),this.itemCount_=3,this.updateShape_(),this.setOutput(!0,"Dict"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setMutator(new Rt.icons.MutatorIcon(["dicts_create_with_item"],this)),this.setTooltip(Rt.Msg.DICTS_CREATE_WITH_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("dicts_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},gn={init:function(){this.setColour(nn),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(Rt.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},Cn={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_TO_JSON),this.setTooltip(Rt.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},Sn={init:function(){this.setColour(nn),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_CONVERT_TO_JSON),this.setTooltip(Rt.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},An={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("VAR1").appendField("key1"),this.appendValueInput("VAR2").appendField("index"),this.appendValueInput("VAR3").appendField("key2"),this.appendValueInput("VAR4").appendField("key3"),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},Ln={init:function(){this.setColour(nn),this.appendValueInput("DICT"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_TO_JSON),this.setTooltip(Rt.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},Nn=210,Dn={init:function(){var t=Rt.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(Nn),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Rt.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{EQ:Rt.Msg.LOGIC_COMPARE_TOOLTIP_EQ,NEQ:Rt.Msg.LOGIC_COMPARE_TOOLTIP_NEQ,LT:Rt.Msg.LOGIC_COMPARE_TOOLTIP_LT,LTE:Rt.Msg.LOGIC_COMPARE_TOOLTIP_LTE,GT:Rt.Msg.LOGIC_COMPARE_TOOLTIP_GT,GTE:Rt.Msg.LOGIC_COMPARE_TOOLTIP_GTE}[t]})),this.prevBlocks_=[null,null]}},fn={init:function(){var t=Rt.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]],e=Rt.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(Nn),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Rt.FieldDropdown(t),"OP1"),this.appendValueInput("C").appendField(new Rt.FieldDropdown(e),"OP2"),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_PYTHON_LOGIC_COMPARE_CONTINOUS_TOOLTIP)}},Fn={init:function(){var t=[[Rt.Msg.LOGIC_OPERATION_AND,"AND"],[Rt.Msg.LOGIC_OPERATION_OR,"OR"],[Rt.Msg.LOGIC_OPERATION_NOR,"NOR"],[Rt.Msg.LOGIC_OPERATION_XOR,"XOR"]];this.setColour(Nn),this.setOutput(!0,Boolean),this.appendValueInput("A").setCheck([Boolean,Number]),this.appendValueInput("B").setCheck([Boolean,Number]).appendField(new Rt.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{AND:Rt.Msg.LOGIC_OPERATION_TOOLTIP_AND,OR:Rt.Msg.LOGIC_OPERATION_TOOLTIP_OR,NOR:Rt.Msg.LOGIC_OPERATION_TOOLTIP_NOR,XOR:Rt.Msg.LOGIC_OPERATION_TOOLTIP_XOR}[t]}))}},Pn={init:function(){this.setColour(Nn),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(Rt.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(Rt.Msg.LOGIC_NEGATE_TOOLTIP)}},vn={init:function(){var t=[[Rt.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[Rt.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(Nn),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new Rt.FieldDropdown(t),"BOOL"),this.setTooltip(Rt.Msg.LOGIC_BOOLEAN_TOOLTIP)}},Yn={init:function(){this.setColour(Nn),this.setOutput(!0),this.appendDummyInput().appendField(Rt.Msg.LOGIC_NULL),this.setTooltip(Rt.Msg.LOGIC_NULL_TOOLTIP)}},Xn={init:function(){this.setColour(Nn),this.appendValueInput("A"),this.appendValueInput("B").appendField(Rt.Msg.LOGIC_TERNARY_IF_TRUE),this.appendValueInput("C").appendField(Rt.Msg.LOGIC_TERNARY_IF_FALSE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_LOGIT_TRUEORFALSE)}},yn={init:function(){var t=[[Rt.Msg.TEXT_APPEND_TO,"in"],[Rt.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(Nn),this.appendValueInput("A"),this.appendValueInput("B").setCheck([String,"List"]).appendField(new Rt.FieldDropdown(t),"BOOL"),this.appendDummyInput("").appendField(Rt.Msg.MICROBIT_LOGIC_IS_IN),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Rt.Msg.IN)}},bn={init:function(){var t=[[Rt.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[Rt.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(Nn),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Rt.FieldDropdown(t),"BOOL"),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_PYTHON_LOGIC_IS_TOOLTIP)}},xn={init:function(){this.setColour(Nn),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(Rt.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},Vn={init:function(){this.setColour(0),this.appendValueInput("fn").setCheck(String).appendField(Rt.Msg.MIXLY_PYTHON_STORAGE_OPEN_FILE_WITH_OS+"(For Windows)"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Bn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"],[Rt.Msg.MIXLY_ADD,"a"],[Rt.Msg.MATH_BIN+Rt.Msg.MIXLY_ADD,"ab"],[Rt.Msg.MIXLY_R_W,"r+"],[Rt.Msg.MATH_BIN+Rt.Msg.MIXLY_R_W,"rb+"],[Rt.Msg.MIXLY_W_R,"w+"],[Rt.Msg.MATH_BIN+Rt.Msg.MIXLY_W_R,"wb+"],[Rt.Msg.MIXLY_A_R,"a+"],[Rt.Msg.MATH_BIN+Rt.Msg.MIXLY_A_R,"ab+"]]),"MODE"),this.appendValueInput("FILE").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_AS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Rt.Msg.MIXLY_USE,n=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=Rt.Msg.MIXLY_BELONG;return i+{r:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+_+n+s}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Gn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Rt.Msg.MIXLY_USE,n=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=Rt.Msg.MIXLY_BELONG,o=Rt.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+_+n+s+o}))}},Un={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE);this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendDummyInput().appendField(Rt.Msg.MIXPY_TEXT_ENCODE).appendField(new Rt.FieldDropdown([["ANSI","ANSI"],["gbk","gbk"],["utf-8","utf-8"]]),"CODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Rt.Msg.MIXLY_USE,n=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=Rt.Msg.MIXLY_BELONG,o=Rt.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+_+n+s+o}))}},wn={init:function(){this.setColour(0),this.appendValueInput("data").setCheck(String).appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendValueInput("FILE").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+Rt.Msg.MIXLY_MICROBIT_TYPE_STRING+Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE)}},kn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"read"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE,"readline"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES,"readlines"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String)}},Hn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,"read"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,"readline"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE,"readlines"]]),"MODE"),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE,n=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER;return i+{read:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,readline:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,readlines:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE}[e]+"x"+n}))}},Wn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.setNextStatement(!0),this.appendValueInput("SIZE").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MICROBIT_PYTHON_TYPE)}},Kn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Rt.Msg.HTML_FILE),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT1)}},Jn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILENAME),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILENAME)}},qn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE)}},Qn={init:function(){this.setColour(0),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES)}};Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE;const zn={init:function(){this.setColour(0),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE,"remove"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_DIRS,"removedirs"]]),"MODE"),this.appendValueInput("FILE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE)}},jn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE+Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE)}},$n={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_RETURN_FILE),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_PRESENT_LOCATION),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_TELL)}},Zn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,"start"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,"current"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END,"end"]]),"MODE"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION+Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION,n=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER,s=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET;return i+" "+{start:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,current:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,end:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END}[e]+s+"x"+n}))}},ts={init:function(){this.setColour(0),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR)}},es={init:function(){this.setColour(0),this.appendValueInput("PATH").setCheck(String).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_SET),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,"mkdir"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MAKEDIRS,"makedirs"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH+"x"+Rt.Msg.MIXLY_ESP32_SET+{mkdir:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,makedirs:Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},is={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME),this.appendValueInput("NEWFILE").setCheck(String).appendField(Rt.Msg.MIXLY_AS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME)}},ns={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR)}},ss={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.HTML_FILE,"isfile"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_DIR,"isdir"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean);let t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH+"x"+Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT+{isfile:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,isdir:Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},_s={init:function(){this.setColour(0),this.appendValueInput("SPISUB").appendField(Rt.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_SETUP+Rt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(Rt.Msg.MIXLY_SD_CARD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},os={init:function(){this.setColour(0),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_SD_CARD),this.appendValueInput("DIR").setCheck(String).appendField(Rt.Msg.MIXLY_SDCARD_MOUNT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip()}},ps={init:function(){var t=Rt.Procedures.findLegalName("",this),e=new Rt.FieldTextInput(t,Rt.Procedures.rename);e.setSpellcheck(!1),this.appendDummyInput().appendField(e,"NAME").appendField("","PARAMS"),this.setMutator(new Rt.icons.MutatorIcon(["procedures_mutatorarg"],this)),(this.workspace.options.comments||this.workspace.options.parentWorkspace&&this.workspace.options.parentWorkspace.options.comments)&&Rt.Msg.PROCEDURES_DEFNORETURN_COMMENT&&this.setCommentText(Rt.Msg.PROCEDURES_DEFNORETURN_COMMENT),this.setStyle("procedure_blocks"),this.setTooltip(Rt.Msg.PROCEDURES_DEFNORETURN_TOOLTIP),this.setHelpUrl(Rt.Msg.PROCEDURES_DEFNORETURN_HELPURL),this.arguments_=[],this.argumentVarModels_=[],this.setStatements_(!0),this.statementConnection_=null},setStatements_:function(t){this.hasStatements_!==t&&(t?(this.appendStatementInput("STACK").appendField(Rt.Msg.PROCEDURES_DEFNORETURN_DO),this.getInput("RETURN")&&this.moveInputBefore("STACK","RETURN")):this.removeInput("STACK",!0),this.hasStatements_=t)},updateParams_:function(){var t="";this.arguments_.length&&(t=Rt.Msg.PROCEDURES_BEFORE_PARAMS+" "+this.arguments_.join(", ")),Rt.Events.disable();try{this.setFieldValue(t,"PARAMS")}finally{Rt.Events.enable()}},mutationToDom:function(t){var e=Rt.utils.xml.createElement("mutation");t&&e.setAttribute("name",this.getFieldValue("NAME"));for(var i=0;i"),this.appendValueInput("style").appendField(Rt.Msg.MIXLY_AIP_ATTR).setAlign(Rt.inputs.Align.RIGHT),this.appendStatementInput("DO").appendField(""),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},i_={init:function(){this.setColour(zs),this.appendDummyInput().appendField(Rt.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},n_={init:function(){this.setColour(zs),this.appendDummyInput().appendField(Rt.Msg.HTML_FORM_CONTENT).appendField(new Rt.FieldDropdown([[Rt.Msg.HTML_TEXT,"text"],[Rt.Msg.HTML_EMAIL,"email"],[Rt.Msg.HTML_NUMBER,"number"],[Rt.Msg.HTML_PASSWORD,"password"],[Rt.Msg.HTML_CHECKBOX,"checkbox"],[Rt.Msg.HTML_RADIOBUTTON,"radiobutton"],[Rt.Msg.HTML_BUTTON,"button"],[Rt.Msg.HTML_COLOUR,"colour"],[Rt.Msg.HTML_DATE,"date"],[Rt.Msg.HTML_LOCALTIME,"local time"],[Rt.Msg.HTML_FILE,"file"],[Rt.Msg.HTML_HIDDEN,"hidden"],[Rt.Msg.HTML_IMAGE,"image"],[Rt.Msg.HTML_MONTH,"month"],[Rt.Msg.HTML_RANGE,"range"],[Rt.Msg.HTML_RESET,"reset"],[Rt.Msg.HTML_SEARCH,"search"],[Rt.Msg.HTML_SUBMIT,"submit"],[Rt.Msg.HTML_TELEPHONENUMBER,"telephone number"],[Rt.Msg.HTML_TIME,"time"],[Rt.Msg.HTML_URL,"url"],[Rt.Msg.HTML_WEEK,"week"]]),"LEVEL"),this.appendDummyInput().appendField(Rt.Msg.HTML_NAME).appendField(new Rt.FieldTextInput("car"),"NAME"),this.appendDummyInput().appendField(Rt.Msg.HTML_VALUE).appendField(new Rt.FieldTextInput("go"),"VALUE"),this.appendValueInput("style").appendField(Rt.Msg.MIXLY_AIP_ATTR).setAlign(Rt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},s_={init:function(){this.setColour(zs),this.appendDummyInput().appendField(new Rt.FieldTextInput("property"),"KEY").appendField(":").appendField(new Rt.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},__={init:function(){this.setColour(zs),this.appendDummyInput().appendField(new Rt.FieldTextInput("property"),"KEY").appendField(":").appendField(new Rt.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},o_={init:function(){this.setColour(zs),this.appendDummyInput().appendField(Rt.Msg.HTML_TEXT).appendField(new Rt.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},p_=160,a_={init:function(){this.setColour(p_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new Rt.FieldTable(""),"TEXT")}},u_={init:function(){this.setColour(p_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new Rt.FieldMultilineInput(""),"TEXT")}},r_={init:function(){this.setColour(p_),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new Rt.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},l_={init:function(){this.setColour(p_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},d_={init:function(){this.setColour(p_),this.appendDummyInput().appendTitle("Comment:").appendTitle(new Rt.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},I_={init:function(){this.setColour(p_),this.appendValueInput("VALUE").appendField(Rt.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},T_={init:function(){this.setColour(p_),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Rt.icons.MutatorIcon(["text_print_multiple_item"],this)),this.setTooltip(Rt.Msg.TEXT_PRINT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=Rt.Block.obtain(t,"text_print_multiple_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n= stop:"," yield start"," start -= abs(step)"])};if(t=function(t,e,i){return"("+t+" <= "+e+") and "+a()+"("+t+", "+e+", "+i+") or "+u()+"("+t+", "+e+", "+i+")"},Rt.isNumber(n)&&Rt.isNumber(s)&&Rt.isNumber(_))n=parseFloat(n),s=parseFloat(s),_=Math.abs(parseFloat(_)),0==n%1&&0==s%1&&0==_%1?(n<=s?(s++,t=0==n&&1==_?s:n+", "+s,1!=_&&(t+=", "+_)):t=n+", "+--s+", -"+_,t="range("+t+")"):(t=n",GTE:">="};const ra=function(t,e){var i=this.getFieldValue("OP"),n="&&"==i?e.ORDER_LOGICAL_AND:e.ORDER_LOGICAL_OR,s=e.valueToCode(this,"A",n)||"False",_=e.valueToCode(this,"B",n)||"False";if("AND"==i)var o=s+" and "+_;else if("OR"==i)o=s+" or "+_;else if("NOR"==i)o="not("+s+"^"+_+")";else o=s+"^"+_;return[o,n]},la=function(t,e){var i=e.ORDER_UNARY_PREFIX;return["not "+(e.valueToCode(this,"BOOL",i)||"False"),i]},da=function(t,e){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",e.ORDER_ATOMIC]},Ia=function(t,e){return["None",e.ORDER_ATOMIC]},Ta=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"False";return["("+(e.valueToCode(this,"B",e.ORDER_ATOMIC)||"False")+" if "+i+" else "+(e.valueToCode(this,"C",e.ORDER_ATOMIC)||"False")+")",e.ORDER_ATOMIC]},Ma=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},ha=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},ma=function(t,e){return["bool("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||"0")+")",e.ORDER_ATOMIC]},Ea=function(t,e){return e.definitions_.import_os="import os","os.startfile("+e.valueToCode(this,"fn",e.ORDER_ATOMIC)+")\n"},Oa=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+" = open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},Ra=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",e.ORDER_ATOMIC]},ca=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',e.ORDER_ATOMIC]},ga=function(t,e){var i=e.valueToCode(this,"data",e.ORDER_ATOMIC);return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".write("+i+")\n"},Ca=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"()",e.ORDER_ATOMIC]},Sa=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Aa=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".readline("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},La=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".writable()",e.ORDER_ATOMIC]},Na=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".name()",e.ORDER_ATOMIC]},Da=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".close()\n"},fa=function(t,e){e.definitions_.import_os="import os";return["os.listdir()",e.ORDER_ATOMIC]},Fa=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},Pa=function(t,e){return e.definitions_.import_os="import os",["os.path.getsize("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},va=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".tell()",e.ORDER_ATOMIC]},Ya=function(t,e){var i=this.getFieldValue("MODE"),n=0;return n="start"==i?0:"current"==i?1:2,e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".seek("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+","+n+")\n"},Xa=function(t,e){return e.definitions_.import_os="import os","os.chdir("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},ya=function(t,e){e.definitions_.import_os="import os";return["os.getcwd()",e.ORDER_ATOMIC]},ba=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"PATH",e.ORDER_ATOMIC)+")\n"},xa=function(t,e){return e.definitions_.import_os="import os","os.rename("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+","+e.valueToCode(this,"NEWFILE",e.ORDER_ATOMIC)+")\n"},Va=function(t,e){e.definitions_.import_os="import os";var i=e.valueToCode(this,"FILE",e.ORDER_ATOMIC);return["os."+this.getFieldValue("MODE")+"("+i+")",e.ORDER_ATOMIC]},Ba=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = sdcard.SDCard("+e.valueToCode(this,"SPISUB",e.ORDER_ATOMIC)+","+e.valueToCode(this,"PINSUB",e.ORDER_ATOMIC)+")\n"},Ga=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard","os.mount("+e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+","+e.valueToCode(this,"DIR",e.ORDER_ATOMIC)+")\n"},Ua=function(t,e){var i=e.variableDB_.getName(this.getFieldValue("NAME"),Rt.Procedures.NAME_TYPE),n=(this.getInput("STACK")&&e.statementToCode(this,"STACK"))??" pass\n";e.INFINITE_LOOP_TRAP&&(n=e.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+n);var s=e.valueToCode(this,"RETURN",e.ORDER_NONE)||"";s&&(s=" return "+s+"\n");for(var _=[],o=0;o\n\n\n\t\n"+e.statementToCode(this,"HEAD")+"\n\n"+e.statementToCode(this,"BODY")+"\n\n'''",e.ORDER_ATOMIC]},Cu=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"\n"+i+"\n"},Su=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");if("head"==n)var s="<"+n+'>\n\t\n'+i+"\n";else s="<"+n+">\n"+i+"\n";return s},Au=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"<"+n+">\n"+i+"\n"},Lu=function(t,e){var i=e.statementToCode(this,"DO"),n=e.valueToCode(this,"style"),s=this.getFieldValue("LEVEL");return"<"+s+" "+n+" >\n"+i+"\n"},Nu=function(t,e){return['style="'+e.statementToCode(this,"STYLE")+'"',e.ORDER_ATOMIC]},Du=function(t,e){return'"},fu=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},Fu=function(){return this.getFieldValue("TEXT")+"\n"},Pu=function(t){return t.getFieldValue("TEXT")+"\n"},vu=function(t,e){return[t.getFieldValue("TEXT"),e.ORDER_ATOMIC]},Yu=function(t,e){return(e.valueToCode(t,"VALUE",e.ORDER_ATOMIC)||"")+"\n"},Xu=function(){return""},yu=function(t,e){return["type("+(e.valueToCode(t,"VALUE",e.ORDER_MEMBER)||"___")+")",e.ORDER_ATOMIC]},bu=function(t,e){for(var i=t.getFieldValue("NAME"),n=t.hasReturn_,s=new Array(t.itemCount_),_=0;_0?e.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+t+"while True:\n"+a.join("")+u.join("\n"):e.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+t+u.join("\n")},Gu.scrubNakedValue=function(t){return t+"\n"},Gu.quote_=function(t){var e="'";return-1!==t.indexOf("'")&&(-1===t.indexOf('"')?e='"':t=t.replace(/'/g,"\\'")),e+t+e},Gu.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},Gu.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(_=t.getCommentText())&&(_=Rt.utils.string.wrap(_,Gu.COMMENT_WRAP-3),n+=Gu.prefixLines(_+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const Uu="#74A55B",wu={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MIDI),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.MIXLY_RGB_PIN_COUNT)}},ku={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Rt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Hu={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Rt.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(Rt.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},Wu={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(Rt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Ku={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(Rt.Msg.MIXLY_BACKSTAGE+Rt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_BACKSTAGE+Rt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Ju={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendValueInput("TICKS").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(Rt.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(Rt.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},qu={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},Qu={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_RESET)}},zu={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ju={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendValueInput("percent").appendField(Rt.Msg.MIXLY_MUSIC_VOLUME_SET),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},$u={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.MIXLY_SETTING).appendField(Rt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(Rt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_EXTERN_LED_SETONOFF)}},Zu={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Rt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},tr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Rt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},er={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.MIXLY_SETTING).appendField(Rt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(Rt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_EXTERN_LED_SETBRIGHT)}},ir={init:function(){this.setColour(Uu),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_SETUP+Rt.Msg.MIXLY_SERVO),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},nr={init:function(){this.setColour(Uu),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_SERVO).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("DEGREE",Number).setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_DEGREE_0_180),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_SERVO_MOVE)}},sr={init:function(){this.setColour(Uu),this.appendValueInput("VAR").appendField("360°"+Rt.Msg.MIXLY_SERVO),this.appendValueInput("SPEED",Number).setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_SETTING+Rt.Msg.blockpy_turtle_rotate+Rt.Msg.MIXLY_SPEED+" (-10~10)"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_SERVO_360_TOOLTIP)}},_r={init:function(){this.setColour(Uu),this.appendValueInput("PIN",Number).appendField("180°"+Rt.Msg.MIXLY_SERVO).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_SERVO_MOVE)}},or={init:function(){this.setColour(Uu),this.appendValueInput("PIN",Number).appendField("360°"+Rt.Msg.MIXLY_SERVO).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_SERVO_SPEED_TOOLIPS)}},pr={init:function(){this.setColour(Uu),this.appendValueInput("PIN",Number).appendField("180°"+Rt.Msg.MIXLY_SERVO).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET+Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},ar={init:function(){this.setColour(Uu),this.appendValueInput("PIN",Number).appendField("360°"+Rt.Msg.MIXLY_SERVO).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET+Rt.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},ur={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField("初始化").setCheck("var"),this.appendDummyInput().appendField("电机驱动"),this.appendDummyInput().appendField("地址").appendField(new Rt.FieldDropdown([["A","ms32006.ADDRESS_A"],["B","ms32006.ADDRESS_B"]]),"mode"),this.appendValueInput("SUB1").setCheck("var").setAlign(Rt.inputs.Align.RIGHT).appendField("通信"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("初始化MS32006电机驱动,使用I2C通信")}},rr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField("直流电机").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Direction).appendField(new Rt.FieldDropdown([[Rt.Msg.CLOCKWISE,"ms32006.MOT_CW"],[Rt.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"],[Rt.Msg.MOTOR_N,"ms32006.MOT_N"],[Rt.Msg.MOTOR_P,"ms32006.MOT_P"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_STEPPER_SET_SPEED),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置直流电机的状态及转速(0-100)")}},lr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField("步进电机").setCheck("var"),this.appendDummyInput().appendField("选择").appendField(new Rt.FieldDropdown([["A","ms32006.MOT_A"],["B","ms32006.MOT_B"]]),"mode"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Direction).appendField(new Rt.FieldDropdown([[Rt.Msg.CLOCKWISE,"ms32006.MOT_CW"],[Rt.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField("转速"),this.appendValueInput("steps").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField("步数"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置步进电机的状态、转速、步数(0-2047)")}},dr={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_PIN),this.appendValueInput("LEDCOUNT").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_COUNT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.MIXLY_RGB_PIN_COUNT)}},Ir={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("_LED_").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Rt.Msg.MIXLY_RGB_NUM_R_G_B_MP)}},Tr={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Rt.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},Mr={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_WRI)}},hr={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(Rt.Msg.MIXLY_DURATION).appendField(Rt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},mr={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(Rt.Msg.PYTHON_RANGE_STEP).appendField(Rt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Er={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(Rt.Msg.CONTROLS_FOR_INPUT_WITH+"uart").appendField(new Rt.FieldDropdown([["uart1","uart1"],["uart2","uart2"]]),"key"),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_SETUP+Rt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new Rt.FieldDropdown([["SYN6288"+Rt.Msg.MIXLY_AipSpeech_synthesis,"SYN6288"],["NS9300"+Rt.Msg.MIXLY_MUSIC_PLAYER,"NS9300"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Or={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_GET+Rt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_WHETHER).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_STOPPED,"0"],[Rt.Msg.MIXLY_PLAYING,"1"],[Rt.Msg.MIXLY_PAUSED,"2"]]),"key"),this.setInputsInline(!0),this.setOutput(!0)}},Rr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_STAT).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MP3_PLAY,"1"],[Rt.Msg.MIXLY_MP3_PAUSE,"2"],[Rt.Msg.MIXLY_STOP,"3"],[Rt.Msg.MIXLY_MP3_PREV,"4"],[Rt.Msg.MIXLY_MP3_NEXT,"5"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},cr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendValueInput("volume").appendField(Rt.Msg.MIXLY_MP3_VOL+Rt.Msg.MIXLY_STAT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_PLAYER_SET_VOLUME_TOOLTIP)}},gr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MODE+Rt.Msg.MIXLY_STAT).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MP3_LOOP_ALL,"0"],[Rt.Msg.MIXLY_MP3_LOOP_ONE,"1"],[Rt.Msg.MIXLY_PLAYER_DIRECTORY_LOOP,"2"],[Rt.Msg.MIXLY_MP3_LOOP_RAM,"3"],[Rt.Msg.MIXLY_PLAYER_SINGLE_STOP,"4"],[Rt.Msg.MIXLY_PLAYER_SEQUENTIAL_PLAY,"5"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Cr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_JS_START_MELODY,"play"],[Rt.Msg.MIXLY_PLAYER_INSERT_MUSIC,"insert"]]),"key"),this.appendValueInput("song"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_PLAYER_PLAY_MUSIC_TOOTIP)}},Sr={},Ar={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(Rt.Msg.MIXLY_SET_VOLUME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},Lr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET_VOLUME),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},Nr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(Rt.Msg.MIXLY_PLAY_HINTS),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PROGRAM_BLOCK).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Rt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_PLAY_HINTS_TOOLTIP)}},Dr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("data").setCheck(String).appendField(Rt.Msg.MIXLY_AipSpeech_synthesis),this.appendValueInput("VOICE").setCheck(Number).appendField(Rt.Msg.MIXLY_BACKGROUND_MUSIC),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PROGRAM_BLOCK).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Rt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_PLAY_TTS_TOOLTIP)}},fr={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.extern_addr),"PIN"),this.setOutput(!0,Number)}},Fr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.ME_GO_MOTOR_EXTERN+Rt.Msg.MIXLY_MOTOR).appendField(Rt.Msg.PIN_NUMBERING).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LEFT,"0"],[Rt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},Pr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.ME_GO_MOTOR_EXTERN+Rt.Msg.MIXLY_MOTOR).appendField(Rt.Msg.PIN_NUMBERING).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LEFT,"0"],[Rt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_GET+Rt.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},vr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.ME_GO_MOTOR_EXTERN+Rt.Msg.MIXLY_TRAFFIC_LIGHT).appendField(Rt.Msg.PIN_NUMBERING).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LEFT,"0"],[Rt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.LISTS_SET_INDEX_SET).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_Turn_off_display,"0"],[Rt.Msg.MIXLY_TRAFFIC_LIGHT_RED_ON,"1"],[Rt.Msg.MIXLY_TRAFFIC_LIGHT_RED_BLINK,"2"],[Rt.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_ON,"3"],[Rt.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_BLINK,"4"],[Rt.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_ON,"5"],[Rt.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_BLINK,"6"]]),"light"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Yr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.ME_GO_MOTOR_EXTERN).appendField(new Rt.FieldDropdown([[Rt.Msg.COLOUR_RGB_WHITE,"W"],[Rt.Msg.COLOUR_RGB_RED,"R"],[Rt.Msg.COLOUR_RGB_YELLOW,"Y"],[Rt.Msg.COLOUR_RGB_GREEN,"G"],[Rt.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(Rt.Msg.PIN_NUMBERING).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LEFT,"0"],[Rt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("value").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Xr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.ME_GO_MOTOR_EXTERN).appendField(new Rt.FieldDropdown([[Rt.Msg.COLOUR_RGB_WHITE,"W"],[Rt.Msg.COLOUR_RGB_RED,"R"],[Rt.Msg.COLOUR_RGB_YELLOW,"Y"],[Rt.Msg.COLOUR_RGB_GREEN,"G"],[Rt.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(Rt.Msg.PIN_NUMBERING).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LEFT,"0"],[Rt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET+Rt.Msg.BRIGHTNESS),this.setOutput(!0,Number),this.setInputsInline(!0)}},yr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.ME_GO_MOTOR_EXTERN+Rt.Msg.MIXLY_SERVO_MOTOR).appendField(Rt.Msg.PIN_NUMBERING).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LEFT,"0"],[Rt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"[0]"],[Rt.Msg.MIXLY_SPEED,"[1]"],[Rt.Msg.MATH_SINGLE_OP_ABSOLUTE+Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[2]"],[Rt.Msg.MIXLY_RELATIVE+Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[3]"],[Rt.Msg.MIXLY_MIXBOT_SERVO_BLOCK_OR_NOT,"[4]"],[Rt.Msg.MIXLY_MIXBOT_SERVO_FINISH_OR_NOT,"[5]"],[Rt.Msg.MIXLY_ALL,""]]),"status"),this.setOutput(!0,Number),this.setInputsInline(!0)}},br={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.ME_GO_MOTOR_EXTERN+Rt.Msg.MIXLY_SERVO_MOTOR).appendField(Rt.Msg.PIN_NUMBERING).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LEFT,"0"],[Rt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MIXBOT_SERVO_SET_STOP_MODE).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_KEEP,"0"],[Rt.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_COAST,"1"],[Rt.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_BRAKE,"2"]]),"status"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},xr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.ME_GO_MOTOR_EXTERN+Rt.Msg.MIXLY_SERVO_MOTOR).appendField(Rt.Msg.PIN_NUMBERING).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LEFT,"0"],[Rt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_STOP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Vr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.ME_GO_MOTOR_EXTERN+Rt.Msg.MIXLY_SERVO_MOTOR).appendField(Rt.Msg.MATH_SINGLE_OP_ABSOLUTE+Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+Rt.Msg.MSG.run).appendField(Rt.Msg.PIN_NUMBERING).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LEFT,"0"],[Rt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MODE).setAlign(Rt.inputs.Align.RIGHT).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_SPEED+Rt.Msg.MIXLY_MODE,"0"],[Rt.Msg.MIXLY_MICROBIT_JS_BLE_POWER+Rt.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(Rt.inputs.Align.RIGHT).appendField(new Rt.FieldDropdown([[Rt.Msg.CLOCKWISE,"0"],[Rt.Msg.MIXLY_MIXBOT_SERVO_NEAREST_PATH,"1"],[Rt.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.appendValueInput("angle").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MIXBOT_SERVO_ABSOLUTE_ANGLE_TOOLTIP)}},Br={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.ME_GO_MOTOR_EXTERN+Rt.Msg.MIXLY_SERVO_MOTOR).appendField(Rt.Msg.MIXLY_RELATIVE+Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+Rt.Msg.MSG.run).appendField(Rt.Msg.PIN_NUMBERING).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LEFT,"0"],[Rt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ORIGIN_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Gr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.ME_GO_MOTOR_EXTERN+Rt.Msg.MIXLY_SERVO_MOTOR).appendField(Rt.Msg.MIXLY_RELATIVE+Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+Rt.Msg.MSG.run).appendField("("+Rt.Msg.MIXLY_MIXBOT_SERVO_LIKE_ENCODING_MOTOR+")").appendField(Rt.Msg.PIN_NUMBERING).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LEFT,"0"],[Rt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MODE).setAlign(Rt.inputs.Align.RIGHT).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_SPEED+Rt.Msg.MIXLY_MODE,"0"],[Rt.Msg.MIXLY_MICROBIT_JS_BLE_POWER+Rt.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField("%"),this.appendValueInput("angle").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ANGLE_TOOLTIP)}},Ur={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.ME_GO_MOTOR_EXTERN+Rt.Msg.MIXLY_SERVO_MOTOR).appendField(Rt.Msg.MIXLY_RELATIVE+Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+Rt.Msg.MSG.run).appendField("("+Rt.Msg.MIXLY_MIXBOT_SERVO_LIKE_ORDINARY_MOTOR+")").appendField(Rt.Msg.PIN_NUMBERING).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LEFT,"0"],[Rt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MODE).setAlign(Rt.inputs.Align.RIGHT).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_SPEED+Rt.Msg.MIXLY_MODE,"0"],[Rt.Msg.MIXLY_MICROBIT_JS_BLE_POWER+Rt.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(Rt.inputs.Align.RIGHT).appendField(new Rt.FieldDropdown([[Rt.Msg.CLOCKWISE,"0"],[Rt.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},wr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.MIXBOT).appendField(Rt.Msg.ME_GO_MOTOR_EXTERN).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MOTOR,"ext_motor"],[Rt.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[Rt.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[Rt.Msg.COLOUR_RGB_RED+"LED","R_LED"],[Rt.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[Rt.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[Rt.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[Rt.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MIXBOT_EXTERN_GET_ADDR),this.setOutput(!0),this.setInputsInline(!0)}},kr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.MIXBOT).appendField(Rt.Msg.ME_GO_MOTOR_EXTERN).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MOTOR,"ext_motor"],[Rt.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[Rt.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[Rt.Msg.COLOUR_RGB_RED+"LED","R_LED"],[Rt.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[Rt.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[Rt.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[Rt.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MIXBOT_EXTERN_SET_ADDR),this.appendValueInput("old").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE),this.appendValueInput("new").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_UPDATE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Hr={init:function(){this.setColour(Uu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_SETUP+Rt.Msg.MIXLY_AT).appendField(Rt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},Wr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.MIXLY_SETTING),this.appendValueInput("pin").appendField("LED"),this.appendValueInput("bright").appendField(Rt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Kr={init:function(){this.setColour(Uu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_SERVO+Rt.Msg.MIXLY_SETUP+Rt.Msg.MIXLY_AT).appendField(Rt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},Jr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_SERVO),this.appendValueInput("angle").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE),this.appendDummyInput().appendField(Rt.Msg.DRAW_POINTER_ANGLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},qr={init:function(){this.setColour(Uu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_MOTOR+Rt.Msg.MIXLY_SETUP+Rt.Msg.MIXLY_AT).appendField(Rt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},Qr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MOTOR),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+Rt.Msg.MIXLY_SPEED),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},zr="#6C9858",jr={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(new Rt.FieldDropdown([["L1","1"],["L2","2"]]),"op"),this.setOutput(!0)}},$r={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_ESP32_ON,"1"],[Rt.Msg.MIXLY_ESP32_OFF,"0"],[Rt.Msg.MIXLY_ESP32_TOGGLE,"-1"]]),"flag"),this.setOutput(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},Zr={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(Rt.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(Rt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_LED_SETONOFF)}},tl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(Rt.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(Rt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_LED_GETBRIGHT)}},el={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(Rt.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_LED_GETONOFF)}},il={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(Rt.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(Rt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_SETTING+Rt.Msg.MIXLY_BUILDIN_LED+Rt.Msg.MIXLY_BRIGHTNESS+"(0-100%)")}},nl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(Rt.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_LCD_SETCOLOR).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LIGHT_RED,"1"],[Rt.Msg.MIXLY_LIGHT_GREEN,"2"],[Rt.Msg.MIXLY_LIGHT_BLUE,"3"],[Rt.Msg.MIXLY_LIGHT_YELLOW,"4"],[Rt.Msg.MIXLY_LIGHT_CYAN,"5"],[Rt.Msg.MIXLY_LIGHT_PURPLE,"6"],[Rt.Msg.MIXLY_LIGHT_WHITE,"7"]]),"colorvalue"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},sl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_SETTING).appendField(Rt.Msg.MIXLY_BUILDIN_LED).appendField(new Rt.FieldDropdown([[Rt.Msg.COLOUR_RGB_RED,"r"],[Rt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(Rt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_LED_SETONOFF)}},_l={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Rt.Msg.MIXLY_BUILDIN_LED).appendField(new Rt.FieldDropdown([[Rt.Msg.COLOUR_RGB_RED,"r"],[Rt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_LED_GETONOFF)}},ol={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Rt.Msg.MIXLY_BUILDIN_LED).appendField(new Rt.FieldDropdown([[Rt.Msg.COLOUR_RGB_RED,"r"],[Rt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_LED_GETONOFF)}},pl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_SETTING).appendField(Rt.Msg.MIXLY_BUILDIN_LED).appendField(new Rt.FieldDropdown([[Rt.Msg.COLOUR_RGB_RED,"r"],[Rt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(Rt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_SETTING+Rt.Msg.MIXLY_BUILDIN_LED+Rt.Msg.MIXLY_BRIGHTNESS+"(0-10)")}},al={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(new Rt.FieldDropdown([["L1","20"],["L2","21"]]),"op"),this.setOutput(!0)}},ul={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(ct.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgo_cc":case"micropython:esp32s2:mixgo_ce":this.setTooltip(Rt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgo_me":default:this.setTooltip(Rt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(Rt.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},rl={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Rt.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},ll={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(Rt.Msg.MIXLY_DURATION).appendField(Rt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},dl={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(Rt.Msg.PYTHON_RANGE_STEP).appendField(Rt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Il={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_WRI)}},Tl={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(ct.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgocc":this.setTooltip(Rt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgome":default:this.setTooltip(Rt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(Rt.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},Ml={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Rt.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},hl={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(Rt.Msg.PYTHON_RANGE_STEP).appendField(Rt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},ml={init:function(){this.setColour(zr),this.appendValueInput("TICKS").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(Rt.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(Rt.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},El={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},Ol={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_RESET)}},Rl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Rt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},cl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Rt.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(Rt.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},gl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Cl={init:function(){this.setColour(zr),this.appendValueInput("LIST").appendField(Rt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Sl={init:function(){this.setColour(zr),this.appendValueInput("LIST").appendField(Rt.Msg.MIXLY_BACKSTAGE+Rt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Al={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MOTOR_DC).appendField(new Rt.FieldDropdown([["1","1"],["2","2"],["3","3"]]),"wheel"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Direction).appendField(new Rt.FieldDropdown([[Rt.Msg.CLOCKWISE,"CW"],[Rt.Msg.ANTI_CLOCKWISE,"CCW"],[Rt.Msg.MOTOR_P,"P"],[Rt.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Ll={init:function(){this.setColour(zr),this.appendDummyInput().appendField("MixGo Car").appendField(new Rt.FieldDropdown([[Rt.Msg.blockpy_forward,"F"],[Rt.Msg.blockpy_backward,"B"],[Rt.Msg.blockpy_left,"L"],[Rt.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Nl={init:function(){this.setColour(zr),this.appendDummyInput("").appendField("MixGo Car").appendField(new Rt.FieldDropdown([[Rt.Msg.MOTOR_P,"P"],[Rt.Msg.MOTOR_N,"N"]]),"VAR"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Dl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MOTOR_DC).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[Rt.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Direction).appendField(new Rt.FieldDropdown([[Rt.Msg.CLOCKWISE,"CW"],[Rt.Msg.ANTI_CLOCKWISE,"CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},fl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MOTOR_DC).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[Rt.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_STOP).appendField(new Rt.FieldDropdown([[Rt.Msg.MOTOR_P,"P"],[Rt.Msg.MOTOR_N,"N"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Fl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MIXBOT_MOTOR_STATUS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MIXBOT_MOTOR_STATUS_TOOLTIP)}},Pl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXBOT).appendField(new Rt.FieldDropdown([[Rt.Msg.blockpy_forward,"F"],[Rt.Msg.blockpy_backward,"B"],[Rt.Msg.blockpy_left,"L"],[Rt.Msg.blockpy_right,"R"]]),"VAR"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[Rt.Msg.MIXLY_SPEED,"SPEED"],[Rt.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},vl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXBOT).appendField(new Rt.FieldDropdown([[Rt.Msg.MOTOR_P,"P"],[Rt.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Yl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXBOT).appendField(Rt.Msg.MIXLY_MOTOR).appendField(new Rt.FieldDropdown([[Rt.Msg.TEXT_TRIM_LEFT,"1"],[Rt.Msg.TEXT_TRIM_RIGHT,"2"],[Rt.Msg.TEXT_TRIM_BOTH,"0"]]),"wheel"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[Rt.Msg.MIXLY_SPEED,"SPEED"],[Rt.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},Xl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MIXBOT_BUZZER),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,"0"],[Rt.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,"1"]]),"on_off"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},yl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.BITBOT).appendField(new Rt.FieldDropdown([[Rt.Msg.blockpy_forward,"F"],[Rt.Msg.blockpy_backward,"B"],[Rt.Msg.blockpy_left,"L"],[Rt.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},bl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.BITBOT).appendField(new Rt.FieldDropdown([[Rt.Msg.MOTOR_P,"P"],[Rt.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},xl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.BITBOT).appendField(Rt.Msg.MIXLY_MOTOR).appendField(new Rt.FieldDropdown([[Rt.Msg.TEXT_TRIM_LEFT,"0"],[Rt.Msg.TEXT_TRIM_RIGHT,"1"]]),"wheel"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Direction).appendField(new Rt.FieldDropdown([[Rt.Msg.CLOCKWISE,"CW"],[Rt.Msg.ANTI_CLOCKWISE,"CCW"],[Rt.Msg.MOTOR_P,"P"],[Rt.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Vl={init:function(){this.setColour(zr),this.appendValueInput("bright").appendField(Rt.Msg.MIXLY_MIXBOT_SOUND_SET_LOUDNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_LED_SETONOFF)}},Bl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MIXBOT_SOUND_LOUDNESS+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_LED_GETONOFF)}},Gl={init:function(){this.setColour(zr),this.appendValueInput("bright").appendField(Rt.Msg.MIXLY_SETTING+Rt.Msg.MIXLY_MIXBOT_BUZZER+Rt.Msg.MIXLY_MP3_VOL),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_LED_SETONOFF)}},Ul={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET+Rt.Msg.MIXLY_MIXBOT_BUZZER+Rt.Msg.MIXLY_MP3_VOL+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_LED_GETONOFF)}},wl={init:function(){this.setColour(zr),this.appendValueInput("PATH").appendField(Rt.Msg.MIXLY_RECORD_AUDIO).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendValueInput("TIME").setCheck(Number).appendField(Rt.Msg.MIXLY_GET_PRESSES_TIME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},kl={init:function(){this.setColour(zr),this.appendValueInput("PATH").appendField(Rt.Msg.MIXLY_PLAY_AUDIO).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Hl={init:function(){this.setColour(zr),this.appendValueInput("PATH").appendField(Rt.Msg.MIXLY_PLAY_ONLINE_AUDIO).appendField("URL"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Wl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Rt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Kl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Jl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.LISTS_SET_INDEX_SET+Rt.Msg.ME_GO_MOTOR_EXTERN).appendField(Rt.Msg.PIN_NUMBERING);if("micropython:esp32c2:mixgo_mini"===ct.Boards.getSelectedBoardKey())this.appendDummyInput().appendField(new Rt.FieldDropdown([["1","1"],["2","2"]]),"index");else this.appendDummyInput().appendField(new Rt.FieldDropdown([["1","1"],["2","2"],["3","3"],["4","4"]]),"index");this.appendValueInput("duty").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.blynk_IOT_IR_POWER+Rt.Msg.MIXLY_PINMODEOUT),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},ql={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET+Rt.Msg.ME_GO_MOTOR_EXTERN).appendField(Rt.Msg.PIN_NUMBERING);if("micropython:esp32c2:mixgo_mini"===ct.Boards.getSelectedBoardKey())this.appendDummyInput().appendField(new Rt.FieldDropdown([["1","1"],["2","2"]]),"index");else this.appendDummyInput().appendField(new Rt.FieldDropdown([["1","1"],["2","2"],["3","3"],["4","4"]]),"index");this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.blynk_IOT_IR_POWER+Rt.Msg.MIXLY_PINMODEOUT+Rt.Msg.MIXLY_DUTY_RATIO),this.setOutput(!0,Number),this.setInputsInline(!0)}},Ql={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.LISTS_SET_INDEX_SET+Rt.Msg.ME_GO_MOTOR_EXTERN).appendField(Rt.Msg.MIXLY_ALL+Rt.Msg.PIN_NUMBERING),this.appendValueInput("duty").setCheck(Number).setAlign(Rt.ALIGN_RIGHT).appendField(Rt.Msg.blynk_IOT_IR_POWER+Rt.Msg.MIXLY_PINMODEOUT+Rt.Msg.MIXLY_FREQUENCY),this.appendDummyInput().appendField("Hz"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},zl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.ANALOG+Rt.Msg.MIXLY_KEYBOARD_INPUT),this.appendValueInput("special"),this.appendValueInput("general"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_RELEASE).appendField(new Rt.FieldDropdown([[Rt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[Rt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"release"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.ANALOG+Rt.Msg.MIXLY_KEYBOARD_INPUT)}},jl={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_SPECIAL_KEY).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_SPECIAL_KEY0,"0x00"],[Rt.Msg.MIXLY_SPECIAL_KEY1,"0x01"],[Rt.Msg.MIXLY_SPECIAL_KEY2,"0x02"],[Rt.Msg.MIXLY_SPECIAL_KEY4,"0x04"],[Rt.Msg.MIXLY_SPECIAL_KEY8,"0x08"],[Rt.Msg.MIXLY_SPECIAL_KEY16,"0x10"],[Rt.Msg.MIXLY_SPECIAL_KEY32,"0x20"],[Rt.Msg.MIXLY_SPECIAL_KEY64,"0x40"],[Rt.Msg.MIXLY_SPECIAL_KEY128,"0x80"]]),"op"),this.setOutput(!0)}},$l={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_GENERAL_KEY).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_SPECIAL_KEY0,"0x00"],["A","0x04"],["B","0x05"],["C","0x06"],["D","0x07"],["E","0x08"],["F","0x09"],["G","0x0A"],["H","0x0B"],["I","0x0C"],["J","0x0D"],["K","0x0E"],["L","0x0F"],["M","0x10"],["N","0x11"],["O","0x12"],["P","0x13"],["Q","0x14"],["R","0x15"],["S","0x16"],["T","0x17"],["U","0x18"],["V","0x19"],["W","0x1A"],["X","0x1B"],["Y","0x1C"],["Z","0x1D"],["1 !","0x1E"],["2 @","0x1F"],["3 #","0x20"],["4 $","0x21"],["5 %","0x22"],["6 ^","0x23"],["7 &","0x24"],["8 *","0x25"],["9 (","0x26"],["0 )","0x27"],["ENTER","0x28"],["ESC","0x29"],["BACKSPACE","0x2A"],["TAB","0x2B"],["SPACE","0x2C"],["- _","0x2D"],["= +","0x2E"],["[ {","0x2F"],["] }","0x30"],["\\ |","0x31"],["; :","0x33"],["' \"","0x34"],["` ~","0x35"],[", <","0x36"],[". >","0x37"],["/ ?","0x38"],["CAPS_LOCK","0x39"],["F1","0x3A"],["F2","0x3B"],["F3","0x3C"],["F4","0x3D"],["F5","0x3E"],["F6","0x3F"],["F7","0x40"],["F8","0x41"],["F9","0x42"],["F10","0x43"],["F11","0x44"],["F12","0x45"],["PRINTSCREEN","0x46"],["SCROLL_LOCK","0x47"],["PAUSE","0x48"],["INSERT","0x49"],["HOME","0x4A"],["PAGE_UP","0x4B"],["DELETE","0x4C"],["END","0x4D"],["PAGE_DOWN","0x4E"],["RIGHT","0x4F"],["LEFT","0x50"],["DOWN","0x51"],["UP","0x52"],["NUM_LOCK","0x53"],["/","0x54"],["*","0x55"],["-","0x56"],["+","0x57"],["ENTER","0x58"],["1","0x59"],["2","0x5A"],["3","0x5B"],["4","0x5C"],["5","0x5D"],["6","0x5E"],["7","0x5F"],["8","0x60"],["9","0x61"],["0","0x62"],[".","0x63"]]),"op"),this.setOutput(!0)}},Zl={init:function(){this.setColour(zr),this.itemCount_=2,this.updateShape_(),this.setOutput(!0),this.setMutator(new Rt.icons.MutatorIcon(["generalkey_create_with_item"],this)),this.setTooltip(Rt.Msg.GENERALKEY_TUPLE_CREATE_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("generalkey_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;nnew Array(32).fill(0)))},hm={init:function(){this.jsonInit({colour:_m,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SAD","SAD"],["SMILE","SMILE"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["SURPRISED","SURPRISED"],["ASLEEP","ASLEEP"],["ANGRY","ANGRY"],["CONFUSED","CONFUSED"],["NO","NO"],["YES","YES"]],type:"field_dropdown"}],output:["esp32_image","List"],helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#attributes",tooltip:Rt.Msg.MIXLY_MICROBIT_Built_in_image1,message0:Rt.Msg.MIXLY_MICROBIT_Built_in_image})}},mm={init:function(){this.setColour(_m),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new Rt.FieldDropdown(ct.Profile.default.builtinimg),"image"),this.setOutput(!0,["esp32_image","List"])}},Em={init:function(){this.setColour(_m),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(Rt.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new Rt.FieldDropdown(Em.OPERATORS),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{"+":Rt.Msg.MIXLY_MICROBIT_image_add,"-":Rt.Msg.MIXLY_MICROBIT_image_reduce}[e]}))},OPERATORS:[[Rt.Msg.MICROBIT_DISPLAY_UNION,"add"],[Rt.Msg.MICROBIT_DISPLAY_MINUS,"sub"]]},Om={init:function(){this.setColour(_m),this.appendValueInput("A").setCheck("esp32_image").appendField(Rt.Msg.MIXLY_MICROBIT_Invert_image1),this.setInputsInline(!0),this.setOutput(!0,"esp32_image")}},Rm={init:function(){this.setColour(_m),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(Rt.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(Rt.Msg.DISPLAY_IMAGE_LET2).appendField(new Rt.FieldDropdown(Rm.OPERATORS),"OP"),this.appendValueInput("val").appendField(Rt.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(Rt.Msg.DISPLAY_IMAGE_UNIT);ct.Boards.getSelectedBoardKey();"Python ESP32-S3"===ct.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(Rt.Msg.MIXLY_synchronize);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=Rt.Msg.DISPLAY_IMAGE_LET,n=Rt.Msg.DISPLAY_IMAGE_LET2,s=Rt.Msg.DISPLAY_IMAGE_LET3;return i+n+{shift_up:Rt.Msg.MIXLY_UP,shift_down:Rt.Msg.MIXLY_DOWN,shift_left:Rt.Msg.MIXLY_LEFT,shift_right:Rt.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[Rt.Msg.MIXLY_UP,"shift_up"],[Rt.Msg.MIXLY_DOWN,"shift_down"],[Rt.Msg.MIXLY_LEFT,"shift_left"],[Rt.Msg.MIXLY_RIGHT,"shift_right"]]},cm={init:function(){this.setColour(_m),this.appendValueInput("x").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_JS_MONITOR_GET_POINT),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},gm={init:function(){this.setColour(_m),this.appendValueInput("x").setCheck(Number).appendField(Rt.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},Cm={init:function(){this.setColour(_m),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},Sm={init:function(){this.setColour(_m),this.appendValueInput("x").setCheck(Number).appendField(Rt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},Am={init:function(){this.setColour(_m),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Clear_display);ct.Boards.getSelectedBoardKey();"Python ESP32-S3"===ct.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(Rt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Clear_display)}},Lm={init:function(){this.setColour(_m),this.appendDummyInput().appendField(Rt.Msg.MIXLY_SHOW+Rt.Msg.MIXLY_DISPLAY_MATRIX_WRITE_NOW),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Nm={init:function(){this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<5;t++){let e=this.appendDummyInput();for(let i=0;i<8;i++)e.appendField(new Rt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(_m),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Dm={init:function(){this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Rt.inputs.Align.CENTRE).appendField(new Rt.FieldBitmap(Dm.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(_m),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(8).fill(0)))},fm={init:function(){this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<8;t++){let e=this.appendDummyInput();for(let i=0;i<12;i++)e.appendField(new Rt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(_m),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Fm={init:function(){this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Rt.inputs.Align.CENTRE).appendField(new Rt.FieldBitmap(Fm.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(_m),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(12).fill(0)))},Pm={init:function(){this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<8;t++){let e=this.appendDummyInput();for(let i=0;i<16;i++)e.appendField(new Rt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0,"esp32_image"),this.setColour(_m),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},vm={init:function(){this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Rt.inputs.Align.CENTRE).appendField(new Rt.FieldBitmap(vm.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(_m),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(16).fill(0)))},Ym={init:function(){this.setColour(_m),this.appendDummyInput().appendField(Rt.Msg.OLED_SET_FONT).appendField(new Rt.FieldDropdown(Ym.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[["4x5"+Rt.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'4x5'"],["5x5"+Rt.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'5x5'"],["5x8"+Rt.Msg.MIXGO_ME_DISPLAY_VERTICAL,"'5x8'"]]},Xm={init:function(){this.setColour(_m),this.appendValueInput("data").appendField(Rt.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.OLED_BITMAP_OR_STRING)}},ym={init:function(){this.setColour(_m),this.appendValueInput("data").appendField(Rt.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.OLED_BITMAP_OR_STRING)}},bm={init:function(){this.setColour(_m),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(Rt.Msg.OLED_DRAWSTR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.OLED_BITMAP_OR_STRING)}},xm={init:function(){this.setColour(_m),this.appendValueInput("data").appendField(Rt.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Rt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(Rt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(Rt.Msg.TEXT_CENTER).appendField(new Rt.FieldDropdown([[Rt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[Rt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},Vm={init:function(){this.setColour(_m),this.appendValueInput("data").appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Rt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(Rt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},Bm={init:function(){this.setColour(_m),this.appendValueInput("data").appendField(Rt.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(Rt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Gm={init:function(){this.setColour(_m),this.appendValueInput("x").setCheck(Number).appendField(Rt.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},Um={init:function(){this.jsonInit({colour:_m,args0:[{name:"state",options:[[Rt.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[Rt.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"shape",options:[[Rt.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[Rt.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"}],inputsInline:!0,helpUrl:Rt.Msg.mpython_HELPURL,tooltip:Rt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:Rt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},wm={init:function(){this.jsonInit({colour:_m,args0:[{name:"state",options:[[Rt.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[Rt.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"dir_h_v",options:[[Rt.Msg.mpython_vertical,"0"],[Rt.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"}],inputsInline:!0,helpUrl:Rt.Msg.mpython_HELPURL,tooltip:Rt.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:Rt.Msg.MPYTHON_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},km={init:function(){this.jsonInit({colour:_m,args0:[{name:"state",options:[[Rt.Msg.mpython_display_hline_1,"1"],[Rt.Msg.mpython_display_hline_0,"0"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"}],inputsInline:!0,helpUrl:Rt.Msg.mpython_HELPURL,tooltip:Rt.Msg.mpython_display_line_TOOLTIP,message0:Rt.Msg.mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},Hm={init:function(){this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new Rt.FieldDropdown(Hm.IMAGES),"path"),this.setColour(_m),this.setOutput(!0)},IMAGES:[["Heart","expression_picture.Heart"],["Angry","expression_picture.Angry"],["Bored","expression_picture.Bored"],["Confused","expression_picture.Confused"],["Happy","expression_picture.Happy"],["Paper","expression_picture.Paper"],["Rock","expression_picture.Rock"],["Sad","expression_picture.Sad"],["Scissors","expression_picture.Scissors"],["Silly","expression_picture.Silly"],["Sleep","expression_picture.Sleep"],["Small_heart","expression_picture.Small_heart"],["Small_paper","expression_picture.Small_paper"],["Small_rock","expression_picture.Small_rock"],["Small_scissors","expression_picture.Small_scissors"],["Smile","expression_picture.Smile"],["Surprise","expression_picture.Surprise"],["Wonderful","expression_picture.Wonderful"],["Eyes_Angry","eye_picture.Eyes_Angry"],["Awake","eye_picture.Awake"],["Black_eye","eye_picture.Black_eye"],["Bottom_left","eye_picture.Bottom_left"],["Bottom_right","eye_picture.Bottom_right"],["Crazy_1","eye_picture.Crazy_1"],["Crazy_2","eye_picture.Crazy_2"],["Disappointed","eye_picture.Disappointed"],["Dizzy","eye_picture.Dizzy"],["Down","eye_picture.Down"],["Evil","eye_picture.Evil"],["Hurt","eye_picture.Hurt"],["Knocked_out","eye_picture.Knocked_out"],["Love","eye_picture.Love"],["Middle_left","eye_picture.Middle_left"],["Middle_right","eye_picture.Middle_right"],["Neutral","eye_picture.Neutral"],["Nuclear","eye_picture.Nuclear"],["Pinch_left","eye_picture.Pinch_left"],["Pinch_middle","eye_picture.Pinch_middle"],["Pinch_right","eye_picture.Pinch_right"],["Tear","eye_picture.Tear"],["Tired_left","eye_picture.Tired_left"],["Tired_middle","eye_picture.Tired_middle"],["Tired_right","eye_picture.Tired_right"],["Toxic","eye_picture.Toxic"],["Up","eye_picture.Up"],["Winking","eye_picture.Winking"],["Accept","informatio_picture.Accept"],["Backward","informatio_picture.Backward"],["Decline","informatio_picture.Decline"],["Forward","informatio_picture.Forward"],["Left","informatio_picture.Left"],["No_go","informatio_picture.No_go"],["Question_mark","informatio_picture.Question_mark"],["Right","informatio_picture.Right"],["Stop_1","informatio_picture.Stop_1"],["Stop_2","informatio_picture.Stop_2"],["Thumbs_down","informatio_picture.Thumbs_down"],["Thumbs_up","informatio_picture.Thumbs_up"],["Warning","informatio_picture.Warning"],["Bomb","object_picture.Bomb"],["Boom","object_picture.Boom"],["Fire","object_picture.Fire"],["Flowers","object_picture.Flowers"],["Forest","object_picture.Forest"],["Lightning","object_picture.Lightning"],["Light_off","object_picture.Light_off"],["Light_on","object_picture.Light_on"],["Night","object_picture.Night"],["Pirate","object_picture.Pirate"],["Snow","object_picture.Snow"],["Target","object_picture.Target"],["Bar_0","progres_picture.Bar_0"],["Bar_1","progres_picture.Bar_1"],["Bar_2","progres_picture.Bar_2"],["Bar_3","progres_picture.Bar_3"],["Bar_4","progres_picture.Bar_4"],["Dial_0","progres_picture.Dial_0"],["Dial_1","progres_picture.Dial_1"],["Dial_2","progres_picture.Dial_2"],["Dial_3","progres_picture.Dial_3"],["Dial_4","progres_picture.Dial_4"],["Dots_0","progres_picture.Dots_0"],["Dots_1","progres_picture.Dots_1"],["Dots_2","progres_picture.Dots_2"],["Dots_3","progres_picture.Dots_3"],["Hourglass_0","progres_picture.Hourglass_0"],["Hourglass_1","progres_picture.Hourglass_1"],["Hourglass_2","progres_picture.Hourglass_2"],["Timer_0","progres_picture.Timer_0"],["Timer_1","progres_picture.Timer_1"],["Timer_2","progres_picture.Timer_2"],["Timer_3","progres_picture.Timer_3"],["Timer_4","progres_picture.Timer_4"],["Water_level_0","progres_picture.Water_level_0"],["Water_level_1","progres_picture.Water_level_1"],["Water_level_2","progres_picture.Water_level_2"],["Water_level_3","progres_picture.Water_level_3"],["YES","informatio_picture.YES"],["NO","informatio_picture.NO"]]},Wm={init:function(){this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<5;t++){let e=this.appendDummyInput();for(let i=0;i<5;i++)e.appendField(new Rt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(_m),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Km={init:function(){this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Rt.inputs.Align.CENTRE).appendField(new Rt.FieldBitmap(Km.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(_m),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(5).fill(0)))},Jm={init:function(){this.setColour(_m),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},qm={init:function(){this.setColour(_m),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MIXBOT_AMBIENTBRIGHT),this.setInputsInline(!0),this.setOutput(!0,Number)}},Qm={init:function(){this.setColour(_m),this.appendValueInput("x").setCheck(Number).appendField(Rt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},zm={init:function(){this.setColour(_m),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MIXBOT_SCREEN_ROTATE).appendField(new Rt.FieldDropdown(zm.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[[Rt.Msg.mixpy_PL_PIE_SHADOW_N,"0"],[Rt.Msg.CLOCKWISE+"90"+Rt.Msg.blockpy_setheading_degree,"1"],[Rt.Msg.CLOCKWISE+"180"+Rt.Msg.blockpy_setheading_degree,"2"],[Rt.Msg.CLOCKWISE+"270"+Rt.Msg.blockpy_setheading_degree,"3"]]},jm={init:function(){this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<12;t++){let e=this.appendDummyInput();for(let i=0;i<12;i++)e.appendField(new Rt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(_m),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},$m={init:function(){this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Rt.inputs.Align.CENTRE).appendField(new Rt.FieldBitmap($m.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(_m),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:12},(()=>new Array(12).fill(0)))},Zm={init:function(){this.setColour(_m),this.appendValueInput("data").appendField(Rt.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(Rt.Msg.HTML_COLOUR);ct.Boards.getSelectedBoardKey();"Python ESP32-S3"===ct.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(Rt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},tE={init:function(){this.setColour(_m),this.appendValueInput("x").setCheck(Number).appendField(Rt.Msg.OLED_BITMAP).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("direct").setCheck(String).appendField(Rt.Msg.MIXLY_AipImageClassify_Image+Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},eE={init:function(){this.setColour(_m),this.appendValueInput("data").appendField(Rt.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Rt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(Rt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(Rt.Msg.TEXT_CENTER).appendField(new Rt.FieldDropdown([[Rt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[Rt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.appendValueInput("VAR").appendField(Rt.Msg.HTML_COLOUR);ct.Boards.getSelectedBoardKey();"Python ESP32-S3"===ct.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(Rt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},iE={init:function(){this.setColour(_m),this.appendValueInput("data").appendField(Rt.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(Rt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("VAR").appendField(Rt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},nE={init:function(){this.jsonInit({colour:_m,args0:[{name:"shape",options:[[Rt.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[Rt.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:Rt.Msg.mpython_HELPURL,tooltip:Rt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:Rt.Msg.ONBOARD_TFT_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},sE={init:function(){this.jsonInit({colour:_m,args0:[{name:"dir_h_v",options:[[Rt.Msg.mpython_vertical,"0"],[Rt.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:Rt.Msg.mpython_HELPURL,tooltip:Rt.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:Rt.Msg.ONBOARD_TFT_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},_E={init:function(){this.jsonInit({colour:_m,args0:[{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:Rt.Msg.mpython_HELPURL,tooltip:Rt.Msg.mpython_display_line_TOOLTIP,message0:Rt.Msg.onboard_mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},oE={init:function(){this.setColour(_m),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("x").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(Rt.Msg.HTML_COLOUR),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},pE={init:function(){this.setColour(_m),this.appendValueInput("x").setCheck(Number).appendField(Rt.Msg.MIXLY_LCD_SETCOLOR).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("VAR").appendField(Rt.Msg.HTML_COLOUR);ct.Boards.getSelectedBoardKey();"Python ESP32-S3"===ct.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(Rt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},aE={init:function(){this.setColour(_m),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_SCREEN_FILL);ct.Boards.getSelectedBoardKey();"Python ESP32-S3"===ct.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(Rt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},uE={init:function(){this.setColour(_m),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_INIT_CLOCK),this.appendDummyInput().appendField(Rt.Msg.MIXLY_CENTER_POS),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Rt.Msg.OLED_CIRCLE_RADIUS),this.appendValueInput("VAR").appendField(Rt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},rE={init:function(){this.setColour(_m),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Rt.Msg.GET_RTCTIME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},lE={init:function(){this.setColour(_m),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Rt.Msg.SET_TIME),this.appendValueInput("h").setCheck(Number).appendField(Rt.Msg.MIXLY_HOUR),this.appendValueInput("m").setCheck(Number).appendField(Rt.Msg.MIXLY_MINUTE),this.appendValueInput("s").setCheck(Number).appendField(Rt.Msg.MIXLY_SECOND),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},dE={init:function(){this.setColour(_m),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Rt.Msg.DRAW_CLOCK),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},IE={init:function(){this.setColour(_m),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Rt.Msg.CLEAR_CLOCK),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_STM32_TFT_BACKGROUND_COLOR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},TE={init:function(){this.jsonInit({colour:_m,args0:[{name:"shape",options:[[Rt.Msg.MPYTHON_DISPLAY_HOLLOW,"False"],[Rt.Msg.MPYTHON_DISPLAY_SOLID,"True"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"r",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:Rt.Msg.mpython_HELPURL,message0:Rt.Msg.ONBOARD_TFT_DISPLAY_SHAPE_CIRCLE_MESSAGE0,nextStatement:null,previousStatement:null})}},ME={init:function(){this.setColour(_m),this.appendDummyInput().appendField(Rt.Msg.DRAW_POINTER).appendField(Rt.Msg.DRAW_POINTER_ANGLE),this.appendValueInput("angle"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_DRAW_POINTER_DU),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.DRAW_POINTER_TOOLTIP)}},hE={init:function(){this.setColour(_m),this.appendDummyInput().appendField(Rt.Msg.DRAW_POINTER).appendField(Rt.Msg.DRAW_POINTER_ANGLE),this.appendValueInput("angle"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_DRAW_POINTER_DU),this.appendValueInput("VAR").appendField(Rt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.DRAW_POINTER_TOOLTIP)}},mE={init:function(){this.setColour(_m),this.appendValueInput("data").appendField(Rt.Msg.MIXLY_Display_long_text),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(Rt.Msg.HTML_COLOUR);ct.Boards.getSelectedBoardKey();"Python ESP32-S3"===ct.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(Rt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},EE={init:function(){this.setColour(_m),this.appendValueInput("direct").appendField(Rt.Msg.OLED_BITMAP).appendField(Rt.Msg.MIXLY_QR_CODE),"Python ESP32-S3"===ct.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(Rt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},OE={init:function(){this.setColour(_m),this.appendValueInput("data").appendField(Rt.Msg.OLED_BITMAP).appendField(Rt.Msg.MIXLY_QR_CODE),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_ERROR_RATE).appendField(new Rt.FieldDropdown([["0","7%"],["1","15%"],["2","25%"],["3","30"]]),"correct"),this.appendValueInput("VAR").appendField(Rt.Msg.HTML_COLOUR),"Python ESP32-S3"===ct.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(Rt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},RE={init:function(){this.setColour(_m),this.appendValueInput("data").appendField(Rt.Msg.OLED_BITMAP),this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.OLED_BITMAP_OR_STRING),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},cE={init:function(){am.init.call(this),this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},gE={init:function(){dm.init.call(this),this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},CE={init:function(){Rm.init.call(this),this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},SE={init:function(){Cm.init.call(this),this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},AE={init:function(){Sm.init.call(this),this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},LE={init:function(){Am.init.call(this),this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},NE=180,DE={init:function(){this.setColour(NE),this.setOutput(!0),this.setInputsInline(!0),this.appendValueInput("img").appendField(Rt.Msg.DISPLAY_IMAGE_LET).setCheck(["esp32_image","List",String]),this.appendDummyInput("").appendField(Rt.Msg.DISPLAY_IMAGE_LET2).appendField(new Rt.FieldDropdown(DE.OPERATORS),"OP"),this.appendValueInput("val").appendField(Rt.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(Rt.Msg.DISPLAY_IMAGE_UNIT);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=Rt.Msg.DISPLAY_IMAGE_LET,n=Rt.Msg.DISPLAY_IMAGE_LET2,s=Rt.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:Rt.Msg.MIXLY_UP,down:Rt.Msg.MIXLY_DOWN,left:Rt.Msg.MIXLY_LEFT,right:Rt.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[Rt.Msg.MIXLY_UP,"up"],[Rt.Msg.MIXLY_DOWN,"down"],[Rt.Msg.MIXLY_LEFT,"left"],[Rt.Msg.MIXLY_RIGHT,"right"]]},fE={init:function(){this.setColour(NE),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(Rt.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new Rt.FieldDropdown(fE.OPERATORS),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{"+":Rt.Msg.MIXLY_MICROBIT_image_add,"-":Rt.Msg.MIXLY_MICROBIT_image_reduce}[e]}))},OPERATORS:[[Rt.Msg.MICROBIT_DISPLAY_UNION,"+"],[Rt.Msg.MICROBIT_DISPLAY_MINUS,"-"]]},FE={init:function(){this.setColour(NE),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+Rt.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("esp32_image"),this.appendDummyInput("").appendField(new Rt.FieldDropdown(FE.OPERATORS),"OP"),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+Rt.Msg.MIXLY_MICROBIT_IMAGE+{height:Rt.Msg.MIXLY_HEIGHT,width:Rt.Msg.MIXLY_WIDTH}[e]}))},OPERATORS:[[Rt.Msg.MIXLY_HEIGHT,"height"],[Rt.Msg.MIXLY_WIDTH,"width"]]},PE={init:function(){this.setColour(NE),this.appendValueInput("VAR").appendField(Rt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RECT).appendField(new Rt.FieldDropdown(PE.STATUS),"OP"),this.jsonInit({message0:Rt.Msg.MIXLY_MICROBIT_SHOW_RECT,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"width"},{check:Number,type:"input_value",name:"height"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Rt.Msg.MIXLY_OLED_RECT)},STATUS:[[Rt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[Rt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},vE={init:function(){this.setColour(NE),this.appendValueInput("VAR").appendField(Rt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE).appendField(new Rt.FieldDropdown(vE.STATUS),"OP"),this.jsonInit({message0:Rt.Msg.MIXLY_HANBIT_SHOW_CIRCLE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"r"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Rt.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE)},STATUS:[[Rt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[Rt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},YE={init:function(){this.setColour(NE),this.appendValueInput("VAR").appendField(Rt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_DISPLAY_DRAW+Rt.Msg.MIXLY_HANBIT_DRAW_TRIANGLE).appendField(new Rt.FieldDropdown(YE.STATUS),"OP"),this.jsonInit({message0:Rt.Msg.MIXLY_HANBIT_SHOW_triangle,args0:[{check:Number,type:"input_value",name:"x0"},{check:Number,type:"input_value",name:"y0"},{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Rt.Msg.MIXLY_DISPLAY_DRAW+Rt.Msg.MIXLY_HANBIT_DRAW_TRIANGLE)},STATUS:[[Rt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[Rt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},XE="#777777",yE={init:function(){this.setColour(XE),this.appendDummyInput("").appendField("from ").appendField(new Rt.FieldTextInput("ESP32"),"path").appendField(" import ").appendField(new Rt.FieldTextInput("*"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},bE={init:function(){this.setColour(XE),this.appendDummyInput("").appendField("import ").appendField(new Rt.FieldTextInput("module"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},xE={init:function(){this.setColour(XE),this.appendDummyInput("").appendField(new Rt.FieldTextInput("my_function"),"NAME"),this.itemCount_=1,this.arguments_=["x"],this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Rt.icons.MutatorIcon(["factory_create_with_item"],this))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("items",this.itemCount_);for(var e=0;ee?t[e]:'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},SO={init:function(){this.setColour(mO),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(Rt.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},AO={init:function(){this.setColour(mO),this.appendDummyInput().appendField(Rt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},LO={init:function(){this.setColour(mO),this.appendDummyInput().appendField(Rt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},NO={init:function(){this.setColour(mO),this.appendDummyInput().appendField(Rt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").setCheck(String).appendField(Rt.Msg.MIXLY_EMQX_SERVER).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(Rt.Msg.MIXLY_WIFI_USERNAME).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(Rt.Msg.MIXLY_IOT_PASSWORD).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("PROJECT").setCheck(String).appendField(Rt.Msg.MIXLY_EMQX_PROJECT).setAlign(Rt.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},DO={init:function(){this.setColour(mO),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(Rt.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(Rt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(Rt.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},fO={init:function(){this.setColour(mO),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(Rt.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(Rt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(Rt.Msg.HTML_BODY),this.appendDummyInput().appendField(Rt.Msg.MIXLY_Service_quality_display).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_AT_MOST_ONCE,"0"],[Rt.Msg.MIXLY_AT_LEAST_ONCE,"1"]]),"quality"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},FO={init:function(){this.setColour(mO),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(Rt.Msg.MIXLY_EMQX_SUBSCRIBE+Rt.Msg.MIXLY_MICROBIT_MSG).appendField(Rt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(Rt.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_IOT_EMQX_SUBSCRIBE_TOOLTIP)}},PO={init:function(){this.setColour(mO),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},vO={init:function(){this.setColour(mO),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_EMQX_CONNECT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},YO={init:function(){this.setColour(mO),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_CHECK_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},XO={init:function(){this.setColour(mO),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(Rt.Msg.MQTT_Topic),this.setInputsInline(!0),this.setOutput(!0)}},yO={init:function(){this.setColour(mO),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(Rt.Msg.MIXLY_EMQX_PUBLISH_MSG),this.setInputsInline(!0),this.setOutput(!0)}},bO={init:function(){this.setColour(mO),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_ESP32_IOT_MAP_FORMATING),this.setOutput(!0)}},xO={init:function(){this.setColour(mO),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_MICROPYTHON_FORMAT+"(Json)"),this.setOutput(!0)}},VO={init:function(){this.setColour(mO),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_EMQX_PING),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_IOT_EMQX_PING_TOOLTIP)}},BO={init:function(){this.setColour(mO),this.appendDummyInput().appendField("MixIO").appendField(Rt.Msg.MIXLY_GET_NTP),this.appendValueInput("addr").appendField(Rt.Msg.blynk_SERVER_ADD),this.setInputsInline(!0),this.setOutput(!0)}},GO={init:function(){this.setColour(mO),this.appendDummyInput().appendField(Rt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(Rt.Msg.MIXLY_EMQX_SERVER).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(Rt.Msg.CONTROLS_FOR_INPUT_WITH+Rt.Msg.MIXLY_MIXIO_SHARE_KEY).setAlign(Rt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},UO={init:function(){this.setColour(mO),this.appendDummyInput().appendField(Rt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(Rt.Msg.MIXLY_EMQX_SERVER).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(Rt.Msg.CONTROLS_FOR_INPUT_WITH+"Mixly Key").setAlign(Rt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},wO={init:function(){this.VISITOR_ID=ct.Config.BOARD.visitorId.str32.substring(0,8).toUpperCase(),this.setColour(mO),this.appendDummyInput("").appendField(new Rt.FieldTextInput(this.visitorId),"VISITOR_ID"),this.setOutput(!0,null)},onchange:function(){const t=this.getFieldValue("VISITOR_ID");this.VISITOR_ID!==t&&this.setFieldValue(this.VISITOR_ID,"VISITOR_ID")}},kO={init:function(){this.setColour(mO),this.appendDummyInput().appendField("MixIO").appendField(Rt.Msg.MSG.catEthernet_clinet),this.setOutput(!0),this.setInputsInline(!0)}},HO={init:function(){this.setColour(mO),this.appendDummyInput().appendField("HTTP"+Rt.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(Rt.Msg.DISPLAY_IMAGE_LET2),this.appendDummyInput().appendField(Rt.Msg.MIXLY_REQUESTS_GET).appendField(Rt.Msg.MIXLY_GET_CURRENT_TIME).appendField(Rt.Msg.MIXLY_OPEN_DEBUG).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Rt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},WO={init:function(){this.setColour(mO),this.appendDummyInput().appendField("HTTP"+Rt.Msg.MIXLY_Client).appendField(Rt.Msg.MIXLY_GET).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_REQUESTS_LEN,"client_len"],[Rt.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[Rt.Msg.MIXLY_REQUESTS_MESSAGE,"text"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},KO={init:function(){this.setColour(mO),this.appendDummyInput().appendField("MQTT"+Rt.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(Rt.Msg.MIXLY_CONNECTTO),this.appendDummyInput().appendField(Rt.Msg.MIXLY_INIT_SUBSCRIBE).appendField(Rt.Msg.MQTT_Topic).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GET_CURRENT_TIME,""]]),"key").appendField(Rt.Msg.MIXLY_OPEN_DEBUG).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Rt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},JO={init:function(){this.setColour(mO),this.appendDummyInput().appendField("MQTT"+Rt.Msg.MIXLY_Client).appendField(Rt.Msg.MIXLY_GET).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_REQUESTS_LEN,"client_len"],[Rt.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[Rt.Msg.MIXLY_REQUESTS_MESSAGE,"time_msg()"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},qO=EO,QO=OO,zO=RO,jO=cO,$O=CO,ZO={init:function(){this.setColour(mO),this.appendDummyInput().appendField(Rt.Msg.MIXLY_CONNECT_OLLAMA),this.appendValueInput("SERVER").appendField(Rt.Msg.MIXLY_EMQX_SERVER).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(Rt.Msg.MODEL_NAME).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(Rt.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},tR=ZO,eR={init:function(){this.setColour(mO),this.appendDummyInput().appendField(Rt.Msg.MIXLY_CONNECT_OPENAI),this.appendValueInput("SERVER").appendField(Rt.Msg.MIXLY_EMQX_SERVER).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(Rt.Msg.MIXLY_API_PRIVATE_KEY).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(Rt.Msg.MODEL_NAME).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(Rt.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},iR={init:function(){this.setColour(mO),this.appendDummyInput().appendField(Rt.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(Rt.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendValueInput("METHOD").appendField(Rt.Msg.MIXLY_LLM_CONTENT_CALLBACK),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},nR={init:function(){this.setColour(mO),this.appendDummyInput().appendField(Rt.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(Rt.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendDummyInput().appendField(Rt.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0)}},sR={init:function(){this.setColour(mO),this.appendDummyInput().appendField("Ollama "+Rt.Msg.MIXLY_EMPTY_HISTORY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},_R={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${Rt.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("ADDR").setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_EMQX_SERVER),this.appendValueInput("USERNAME").setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_EMQX_USERNAME),this.appendValueInput("PASSWORD").setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_IOT_PASSWORD),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},oR={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${Rt.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("MQTT").setAlign(Rt.inputs.Align.RIGHT).appendField(`MixIO ${Rt.Msg.MIXLY_Client}`),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},pR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_TINY_WEB_DB_UPDATE_VARIABLE),this.appendValueInput("VALUE").setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},aR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(Rt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLE),this.appendDummyInput().appendField(Rt.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setOutput(!0)}},uR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_NUM),this.setInputsInline(!0),this.setOutput(!0)}},rR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB").appendField(Rt.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARIABLES),this.appendValueInput("NO").setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_TINY_WEB_DB_START_NUMBER),this.appendValueInput("COUNT").setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_TINY_WEB_DB_VARIABLE_NUMBER),this.appendValueInput("TAG").setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARS),this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_ALL,"both"],[Rt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_TAG,"tag"],[Rt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_VALUE,"value"]]),"DTYPE"),this.setInputsInline(!1),this.setOutput(!0)}},lR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(Rt.Msg.MIXLY_TINY_WEB_DB_DELETE_VARIABLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},dR=225,IR={init:function(){this.setColour(dR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_NETWORK_INIT),this.appendDummyInput().appendField(Rt.Msg.MIXLY_NETWORK_MODE).appendField(new Rt.FieldDropdown([["STA","STA"],["AP","AP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_INIT_TOOLTIP)}},TR={init:function(){this.setColour(dR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_NETWORK_WIFI_OPEN,"True"],[Rt.Msg.MIXLY_NETWORK_WIFI_CLOSE,"False"]]),"op"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_NETWORK_WIFI_FLAG),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("op"),i=Rt.Msg.MIXLY_ESP32_NETWORK_OPEN_TOOLTIP;return{True:Rt.Msg.MIXLY_NETWORK_WIFI_OPEN,False:Rt.Msg.MIXLY_NETWORK_WIFI_CLOSE}[e]+i}))}},MR={init:function(){this.setColour(dR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE)}},hR={init:function(){this.setColour(dR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_NETWORK_WIFI_SCAN),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip((function(){return Rt.Msg.MIXLY_ESP32_NETWORK_SCAN_TOOLTIP+{0:"ssid",1:"bssid",2:"channel",3:"RSSI",4:"authmode",5:"hidden",all:Rt.Msg.MIXLY_NETWORK_WIFI_SCAN_ATTRIBUTE}.all}))}},mR={init:function(){this.setColour(dR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_ESP32_NETWORK_CONNECT),this.appendValueInput("id").setCheck(String).appendField(Rt.Msg.HTML_NAME),this.appendValueInput("password").setCheck(String).appendField(Rt.Msg.HTML_PASSWORD),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_CONNECT_TOOLTIP)}},ER={init:function(){this.setColour(dR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_NETWORK_WIFI_CONNECT+Rt.Msg.MIXLY_SYMBOL_QUESTION),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_WIFI_CONNECT_TOOLTIP)}},OR={init:function(){this.setColour(dR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_ESP32_NETWORK_IP,"0"],[Rt.Msg.MIXLY_ESP32_NETWORK_MASK,"1"],[Rt.Msg.MIXLY_ESP32_NETWORK_GATEWAY,"2"],["DNS","3"]]),"mode"),this.setOutput(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return Rt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP+{0:Rt.Msg.MIXLY_ESP32_NETWORK_IP,1:Rt.Msg.MIXLY_ESP32_NETWORK_MASK,2:Rt.Msg.MIXLY_ESP32_NETWORK_GATEWAY,3:"DNS"}[e]}))}},RR={init:function(){this.setColour(dR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_ESP32_NETWORK_STOP_CONNECT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_STOP_TOOLTIP)}},cR={init:function(){this.setColour(dR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_NETWORK_WIFI_ESSID,"essid"],[Rt.Msg.MIXLY_NETWORK_WIFI_CHANNEL,"channel"]]),"op"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP)}},gR={init:function(){this.setColour(dR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.LISTS_SET_INDEX_SET+Rt.Msg.MIXLY_HOTSPOT),this.appendValueInput("essid").setCheck(String).appendField(Rt.Msg.MIXLY_NAME),this.appendValueInput("password").setCheck(String).appendField(Rt.Msg.MIXLY_EMQX_PASSWORD),this.appendValueInput("channel").setCheck(Number).appendField(Rt.Msg.MIXLY_NETWORK_WIFI_CHANNEL),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_AP_CONNECT_TOOLTIP)}},CR={init:function(){this.setColour(dR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_ESP32_NETWORK_SERVER1),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_ESP32_NETWORK_SERVER2),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},SR={init:function(){this.setColour(dR),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_INIT).setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new Rt.FieldDropdown([["TCP","TCP"],["UDP","UDP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return Rt.Msg.MIXLY_ESP32_NETWORK_SOCKET_INIT_TOOLTIP+{TCP:"TCP",UDP:"UDP"}[e]}))}},AR={init:function(){this.setColour(dR),this.appendValueInput("VAR").setCheck("var").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_BIND_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_SOCKET_BIND_TOOLTIP)}},LR={init:function(){this.setColour(dR),this.appendValueInput("VAR").setCheck("var").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_CONNECT_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_SOCKET_CONNECT_TOOLTIP)}},NR={init:function(){this.setColour(dR),this.appendValueInput("VAR").setCheck("var"),this.appendValueInput("queue").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_LISTEN).appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_QUEUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_SOCKET_LISTEN_TOOLTIP)}},DR={init:function(){this.setColour(dR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_ACCEPT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_SOCKET_ACCEPT_TOOLTIP)}},fR={init:function(){this.setColour(dR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE_TOOLTIP)}},FR={init:function(){this.setColour(dR),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("size").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_TOOLTIP)}},PR={init:function(){this.setColour(dR),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("content").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TOOLTIP)}},vR={init:function(){this.setColour(dR),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("size").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_FROM_TOOLTIP)}},YR={init:function(){this.setColour(dR),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("content").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.appendValueInput("address").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_TO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TO_TOOLTIP)}},XR={init:function(){this.setColour(dR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_CLOSE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},yR={init:function(){this.setColour(dR),this.appendValueInput("DOMAIN").appendField(Rt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(Rt.Msg.blockpy_REQUESTS_GET).appendField(new Rt.FieldTextInput("response"),"VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.blockpy_REQUESTS_GET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},bR={init:function(){this.appendValueInput("VAL"),this.setColour(dR),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new Rt.FieldDropdown(bR.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{clear:Rt.Msg.MIXLY_TOOLTIP_TURTEL_CLEAR,reset:Rt.Msg.MIXLY_TOOLTIP_TURTEL_RESET,home:Rt.Msg.MIXLY_TOOLTIP_TURTEL_HOME}[e]}))},ATTR:[[Rt.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[Rt.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[Rt.Msg.blockpy_REQUESTS_GET_ATTR_COOKIES,"cookies"],[Rt.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"]]},xR={init:function(){this.appendValueInput("VAR").appendField(Rt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.setColour(dR),this.appendDummyInput("").appendField(Rt.Msg.blockpy_CONDUCT).appendField(new Rt.FieldDropdown(xR.METHOD),"DIR"),this.appendDummyInput("").appendField(Rt.Msg.blockpy_REQUESTS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{forward:Rt.Msg.MIXLY_TOOLTIP_TURTEL_FORWARD,backward:Rt.Msg.MIXLY_TOOLTIP_TURTEL_BACKWARD}[e]}))},METHOD:[["post","post"],["put","put"],["delete","delete"],["head","head"],["option","option"]]},VR={init:function(){this.setColour(dR),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_GET_NTP+"(NTP)"),this.appendValueInput("data").appendField(Rt.Msg.blynk_SERVER_ADD),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},BR={init:function(){this.setColour(dR),this.appendDummyInput("").appendField(new Rt.FieldDropdown([["ntp.aliyun.com","ntp.aliyun.com"],["ntp1.aliyun.com","ntp1.aliyun.com"],["ntp2.aliyun.com","ntp2.aliyun.com"],["ntp3.aliyun.com","ntp3.aliyun.com"],["ntp4.aliyun.com","ntp4.aliyun.com"],["ntp5.aliyun.com","ntp5.aliyun.com"],["ntp6.aliyun.com","ntp6.aliyun.com"],["ntp7.aliyun.com","ntp7.aliyun.com"],["time1.cloud.tencent.com","time1.cloud.tencent.com"],["time2.cloud.tencent.com","time2.cloud.tencent.com"],["time3.cloud.tencent.com","time3.cloud.tencent.com"],["time4.cloud.tencent.com","time4.cloud.tencent.com"],["time5.cloud.tencent.com","time5.cloud.tencent.com"]]),"op"),this.setOutput(!0)}},GR="#3288dd",UR={init:function(){this.setColour(GR),this.appendValueInput("URL").appendField(Rt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(Rt.Msg.blockpy_CONDUCT).appendField(new Rt.FieldDropdown([["get","get"],["head","head"],["delete","delete"]]),"TYPE").appendField(Rt.Msg.blockpy_REQUESTS).appendField(Rt.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},wR={init:function(){this.setColour(GR),this.appendValueInput("URL").appendField(Rt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(Rt.Msg.blockpy_CONDUCT).appendField(new Rt.FieldDropdown([["post","post"],["put","put"],["patch","patch"]]),"TYPE").appendField(Rt.Msg.blockpy_REQUESTS),this.appendValueInput("data").appendField(Rt.Msg.blockpy_REQUESTS+Rt.Msg.OLED_STRING),this.appendDummyInput("").appendField(Rt.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},kR={init:function(){this.appendValueInput("VAL"),this.setColour(GR),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new Rt.FieldDropdown(kR.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String)},ATTR:[[Rt.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[Rt.Msg.blockpy_REQUESTS_GET_ATTR_JSON,"json()"],[Rt.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[Rt.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"],[Rt.Msg.MIXPY_TEXT_ENCODE,"encoding"]]},HR={init:function(){this.setColour(GR),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_IOT_CONNECT_WIFI),this.appendValueInput("WIFINAME").setCheck(String).appendField(Rt.Msg.HTML_NAME),this.appendValueInput("PASSWORD").setCheck(String).appendField(Rt.Msg.HTML_PASSWORD),this.appendValueInput("TIMEOUT").setCheck(Number).appendField(Rt.Msg.MIXLY_IR_TIMEOUT),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_IOT_WIFI_CONNECT_TOOLTIP)}},WR={init:function(){this.setColour(GR),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_IOT_EMQX_CONNECT_TOOLTIP),this.appendValueInput("SERVER").setCheck(String).appendField(Rt.Msg.MIXLY_EMQX_SERVER).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("PORT").setCheck(Number).appendField(Rt.Msg.MIXLY_EMQX_PORT).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("CLIENT_ID").setCheck(String).appendField(Rt.Msg.MIXLY_EMQX_CLIENT_ID).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(Rt.Msg.MIXLY_WIFI_USERNAME).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(Rt.Msg.MIXLY_IOT_PASSWORD).setAlign(Rt.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},KR={init:function(){this.setColour(GR),this.appendValueInput("TOPIC").appendField(Rt.Msg.MIXLY_EMQX_SUBSCRIBE+Rt.Msg.MIXLY_MICROBIT_MSG).appendField(Rt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MESSAGE").appendField(Rt.Msg.blockpy_set_of),this.setInputsInline(!0),this.setOutput(!0)}},JR={init:function(){this.setColour(GR),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(Rt.Msg.MIXLY_EMQX_SUBSCRIBE+Rt.Msg.MIXLY_MICROBIT_MSG).appendField(Rt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(Rt.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},qR={init:function(){this.setColour(GR),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(Rt.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(Rt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(Rt.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},QR={init:function(){this.setColour(GR),this.appendDummyInput().appendField("mqtt"+Rt.Msg.MIXLY_EMQX_IS_CONNECT),this.setInputsInline(!0),this.setOutput(!0)}},zR=100,jR={init:function(){var t=ct.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==t)var e="CE G6";else if("mixgo_pe"==t)e="PE G1";this.setColour(zR),this.appendValueInput("I2CSUB").appendField(Rt.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_SETUP+Rt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(e),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},$R={init:function(){var t=ct.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==t)var e="CE G6";else if("mixgo_pe"==t)e="PE G1";this.setColour(zR),this.appendValueInput("SUB").appendField(e).setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MIXGO_CAR_BATTERY_LEFT),this.setOutput(!0,Number),this.setInputsInline(!0)}},ZR={init:function(){var t=ct.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==t)var e="CE G6";else if("mixgo_pe"==t)e="PE G1";this.setColour(zR),this.appendValueInput("SUB").appendField(e).setCheck("var"),this.appendValueInput("PIN").appendField(Rt.Msg.MOTOR_DC).appendField(Rt.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Direction).appendField(new Rt.FieldDropdown([[Rt.Msg.CLOCKWISE,"CW"],[Rt.Msg.ANTI_CLOCKWISE,"CCW"],[Rt.Msg.MOTOR_P,"P"],[Rt.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},tc={init:function(){var t=ct.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==t)var e="CE G6";else if("mixgo_pe"==t)e="PE G1";this.setColour(zR),this.appendValueInput("SUB").appendField(e).setCheck("var"),this.appendValueInput("PIN").appendField(Rt.Msg.MOTOR_DC).appendField(Rt.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(Rt.Msg.MIXLY_STEPPER_GET_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},ec={init:function(){var t=ct.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==t)var e="CE G6";else if("mixgo_pe"==t)e="PE G1";this.setColour(zR),this.appendValueInput("SUB").appendField(e).setCheck("var"),this.appendValueInput("PIN").appendField("180°"+Rt.Msg.MIXLY_SERVO).appendField(Rt.Msg.LCD_NUMBERING),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_SERVO_MOVE)}},ic={init:function(){var t=ct.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==t)var e="CE G6";else if("mixgo_pe"==t)e="PE G1";this.setColour(zR),this.appendValueInput("SUB").appendField(e).setCheck("var"),this.appendValueInput("PIN").appendField("360°"+Rt.Msg.MIXLY_SERVO).appendField(Rt.Msg.LCD_NUMBERING),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_SERVO_SPEED_TOOLIPS)}},nc={init:function(){var t=ct.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==t)var e="CE G6";else if("mixgo_pe"==t)e="PE G1";this.setColour(zR),this.appendValueInput("SUB").appendField(e).setCheck("var"),this.appendValueInput("PIN").appendField("180°"+Rt.Msg.MIXLY_SERVO),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET+Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},sc={init:function(){var t=ct.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==t)var e="CE G6";else if("mixgo_pe"==t)e="PE G1";this.setColour(zR),this.appendValueInput("SUB").appendField(e).setCheck("var"),this.appendValueInput("PIN").appendField("360°"+Rt.Msg.MIXLY_SERVO).appendField(Rt.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET+Rt.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},_c="#A58C5B",oc={init:function(){this.setColour(_c),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_BUTTON).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_IS_PRESSED),this.appendValueInput("STAT").appendField(Rt.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_SENOR_IS_PRESSED)}},pc={init:function(){this.setColour(_c),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_BUTTON).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_WAS_PRESSED),this.appendValueInput("STAT").appendField(Rt.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_SENOR_WAS_PRESSED)}},ac={init:function(){this.setColour(_c),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_BUTTON).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET_PRESSES),this.appendValueInput("VAR").setCheck(Number).appendField(Rt.Msg.MIXLY_GET_PRESSES_TIME),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Rt.Msg.PROCEDURES_DEFRETURN_RETURN+Rt.Msg.MIXLY_BUTTON+Rt.Msg.MIXLY_GET_PRESSES)}},uc={init:function(){this.setColour(_c),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_BUTTON).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MODE).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[Rt.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[Rt.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(Rt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_INOUT_ATTACHINTERRUPT)}},rc={init:function(){this.setColour(_c),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_shake,"shake"],[Rt.Msg.MIXLY_UP,"up"],[Rt.Msg.MIXLY_DOWN,"down"],[Rt.Msg.MIXLY_LEFT,"left"],[Rt.Msg.MIXLY_RIGHT,"right"],[Rt.Msg.MIXLY_MICROBIT_face_up,"face up"],[Rt.Msg.MIXLY_MICROBIT_face_down,"face down"],[Rt.Msg.MIXLY_MICROBIT_freefall,"freefall"],["3g","3g"],["6g","6g"],["8g","8g"]]),"gesture"),this.appendStatementInput("DO").appendField(Rt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("gesture"),i=Rt.Msg.MIXLY_MICROBIT_JS_CURRENT,n=Rt.Msg.MSG.catSensor,s=Rt.Msg.MIXLY_MICROBIT_JS_STATE,_=Rt.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:Rt.Msg.MIXLY_MICROBIT_shake,up:Rt.Msg.MIXLY_UP,down:Rt.Msg.MIXLY_DOWN,left:Rt.Msg.MIXLY_LEFT,right:Rt.Msg.MIXLY_RIGHT,"face up":Rt.Msg.MIXLY_MICROBIT_face_up,"face down":Rt.Msg.MIXLY_MICROBIT_face_down,freefall:Rt.Msg.MIXLY_MICROBIT_freefall,"3g":"3g","6g":"6g","8g":"8g"}[e]+_}))}},lc={init:function(){this.setColour(_c),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_ADXL345).setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new Rt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Rt.Msg.MIXLY_MICROBIT_Direction,s=Rt.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":Rt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},dc={init:function(){this.setColour(_c),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_JS_LIGHT_LEVEL),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_SENSOR_LIGHT_LEVEL_TOOLTIP)}},Ic={init:function(){this.setColour(_c),this.appendValueInput("PIN",Number).appendField(new Rt.FieldDropdown([["DHT11","DHT11"],["DHT22","DHT22"]]),"TYPE").appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(new Rt.FieldDropdown(Ic.METHOD),"WHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("WHAT");return{temperature:Rt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM,relative_humidity:Rt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_HUM,tempandhum:Rt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM_HUM}[e]}))},METHOD:[[Rt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[Rt.Msg.MIXLY_GETHUMIDITY,"humidity"]]},Tc={init:function(){this.setColour(_c),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_EXTERN_LIGHT),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Rt.Msg.ESP32_SENSOR_NIXGO_LIGHT_TOOLTIP)}},Mc={init:function(){this.setColour(_c),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_EXTERN_SOUND),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Rt.Msg.ESP32_SENSOR_NIXGO_SOUND_TOOLTIP)}},hc={init:function(){this.setColour(_c),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new Rt.FieldDropdown([[Rt.Msg.TEXT_TRIM_LEFT,"left"],[Rt.Msg.TEXT_TRIM_RIGHT,"right"]]),"direction").appendField(Rt.Msg.MIXLY_ESP32_NEAR),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("direction"),i=Rt.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP,n=Rt.Msg.MIXLY_ESP32_NEAR;return i+{left:Rt.Msg.TEXT_TRIM_LEFT,right:Rt.Msg.TEXT_TRIM_RIGHT}[e]+n}))}},mc={init:function(){this.setColour(_c),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_ALTITUDE_SENSOR+" BMP280").setCheck("var"),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GETTEMPERATUE,"get_BMP_temperature()"],[Rt.Msg.MIXLY_GETPRESSURE,"get_BMP_pressure()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{"get_BMP_temperature()":Rt.Msg.MIXLY_MICROBIT_SENSOR_BMP_temperature_TOOLTIP,"get_BMP_pressure()":Rt.Msg.MIXLY_MICROBIT_SENSOR_BMP_press_TOOLTIP}[e]}))}},Ec={init:function(){this.setColour(_c),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+" SHT20").setCheck("var"),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GETTEMPERATUE,"get_SHT_temperature()"],[Rt.Msg.MIXLY_GETHUMIDITY,"get_SHT_relative_humidity()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{"get_SHT_temperature()":Rt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,"get_SHT_relative_humidity()":Rt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},Oc={init:function(){this.setColour(_c),this.appendValueInput("PIN",Number).appendField("DS18X20 "+Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_SENSOR_DS18X20_TOOLTIP)}},Rc={init:function(){this.setColour(_c),this.appendDummyInput("").appendField("LM35"+Rt.Msg.MIXLY_TEMP),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_LM35)}},cc={init:function(){this.setColour(_c),this.appendValueInput("I2CSUB").appendField(Rt.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_SETUP+Rt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_ESP32_EXTERN_LIGHT+"(LTR308ALS)","LTR308"],[Rt.Msg.MIXLY_COLOR_SENSOR+"(LTR381RGB)","LTR381RGB"],[Rt.Msg.MIXLY_COLOR_SENSOR+"(UCS12071)","UCS12071"],[Rt.Msg.MIXLY_EXTERN_LIGHTUV+"(LTR390UV)","LTR390UV"],[Rt.Msg.MIXLY_ALTITUDE_SENSOR+"(HP203X)","HP203X"],[Rt.Msg.MIXLY_ALTITUDE_SENSOR+"(SPL06_001)","SPL06_001"],[Rt.Msg.MIXLY_ALTITUDE_SENSOR+"(MS5611)","MS5611"],[Rt.Msg.MIXLY_ALTITUDE_SENSOR+"(BMP280)","BMP280"],[Rt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(SHTC3)","SHTC3"],[Rt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(AHT21)","AHT21"],[Rt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(SHT20)","SHT20"],[Rt.Msg.MIXLY_LASER_RANGE_SENSOR+"(VL53L0X)","VL53L0X"],[Rt.Msg.MIXLY_GEOMAGNETIC_SENSOR+"(QMC5883L)","QMC5883L"],[Rt.Msg.MIXLY_ESP32_MAX30102+"(MAX30102)","MAX30102"],[Rt.Msg.HTML_COLOUR+"、"+Rt.Msg.MIXLY_ENVIRONMENT_LIGHT+"、"+Rt.Msg.MIXLY_NEXT+"、"+Rt.Msg.MIXLY_ESP32_APDS9960+"(APDS9960)","APDS9960"],[Rt.Msg.MIXLY_NINE_AXIS_SENSOR+"(MPU9250)","MPU9250"],[Rt.Msg.MixGo_MPU9250+"(ADXL345)","ADXL345"],["RFID","RFID"],[Rt.Msg.MIXLY_RADAR_SENSOR+"(CBR817)","CBR817"],[Rt.Msg.MIXLY_AipSpeech_asr+"(CI130X)","CI130X"],[Rt.Msg.MIXLY_TVOC_CO2_SENSOR+"(AGS10)","AGS10"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},gc={init:function(){this.setColour(_c),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_RADAR+"CBR817").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.LISTS_SET_INDEX_SET+Rt.Msg.MIXlY_INTERACTION),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_DETECTION_THRESHOLD),this.appendValueInput("VAR2").appendField(Rt.Msg.MIXLY_DELAY_TIME),this.appendDummyInput().appendField("ms"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_THRESHOLD_TOOLTIP+" ; "+Rt.Msg.MIXLY_DELAY_TIME_RANGE)}},Cc={init:function(){this.setColour(_c),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RADAR).appendField(Rt.Msg.LISTS_SET_INDEX_SET+Rt.Msg.MIXlY_INTERACTION),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_DETECTION_THRESHOLD),this.appendValueInput("VAR2").appendField(Rt.Msg.MIXLY_DELAY_TIME),this.appendDummyInput().appendField("ms"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_THRESHOLD_TOOLTIP+" ; "+Rt.Msg.MIXLY_DELAY_TIME_RANGE)}},Sc={init:function(){this.setColour(_c),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_RADAR+"CBR817").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_GET_TO_INTERACTION),this.setOutput(!0),this.setInputsInline(!0)}},Ac={init:function(){this.setColour(_c),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RADAR).appendField(Rt.Msg.MIXLY_GET_TO_INTERACTION),this.setOutput(!0),this.setInputsInline(!0)}},Lc={init:function(){this.setColour(_c),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_IDENTIFY_ONCE_AND_SAVE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Nc={init:function(){this.setColour(_c),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_GET).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_HELLO_XIAOZHI,"1"],[Rt.Msg.MIXLY_XIAOZHIXIAOZHI,"2"],[Rt.Msg.MIXLY_THE_FIRST,"3"],[Rt.Msg.MIXLY_THE_SECOND,"4"],[Rt.Msg.MIXLY_THE_THIRD,"5"],[Rt.Msg.MIXLY_THE_FOURTH,"6"],[Rt.Msg.MIXLY_THE_FIFTH,"7"],[Rt.Msg.MIXLY_THE_SIXTH,"8"],[Rt.Msg.MIXLY_THE_SEVENTH,"9"],[Rt.Msg.MIXLY_THE_EIGHTH,"10"],[Rt.Msg.MIXLY_THE_NINTH,"11"],[Rt.Msg.MIXLY_THE_TENTH,"12"],[Rt.Msg.MIXLY_THE_ELEVENTH,"13"],[Rt.Msg.MIXLY_THE_TWELFTH,"14"],[Rt.Msg.MIXLY_THE_13TH,"15"],[Rt.Msg.MIXLY_THE_14TH,"16"],[Rt.Msg.MIXLY_THE_15TH,"17"],[Rt.Msg.MIXLY_THE_16TH,"18"],[Rt.Msg.MIXLY_THE_17TH,"19"],[Rt.Msg.MIXLY_THE_18TH,"20"],[Rt.Msg.MIXLY_THE_19TH,"21"],[Rt.Msg.MIXLY_THE_20TH,"22"],[Rt.Msg.MIXLY_Turn_on_the_lights,"23"],[Rt.Msg.MIXLY_Turn_off_the_lights,"24"],[Rt.Msg.MIXLY_Turn_up_the_brightness,"25"],[Rt.Msg.MIXLY_Turn_down_the_brightness,"26"],[Rt.Msg.MIXLY_Set_it_to_red,"27"],[Rt.Msg.MIXLY_Set_it_to_orange,"28"],[Rt.Msg.MIXLY_Set_it_to_yellow,"29"],[Rt.Msg.MIXLY_Set_it_to_green,"30"],[Rt.Msg.MIXLY_Set_it_to_cyan,"31"],[Rt.Msg.MIXLY_Set_it_to_blue,"32"],[Rt.Msg.MIXLY_Set_it_to_purple,"33"],[Rt.Msg.MIXLY_Set_it_to_white,"34"],[Rt.Msg.MIXLY_Turn_on_the_fan,"35"],[Rt.Msg.MIXLY_Turn_off_the_fan,"36"],[Rt.Msg.MIXLY_First_gear,"37"],[Rt.Msg.MIXLY_Wind_speed_second,"38"],[Rt.Msg.MIXLY_Third_gear,"39"],[Rt.Msg.MIXLY_Previous,"40"],[Rt.Msg.MIXLY_Next_page,"41"],[Rt.Msg.MIXLY_Show_smiley_face,"42"],[Rt.Msg.MIXLY_Show_crying_face,"43"],[Rt.Msg.MIXLY_Show_love,"44"],[Rt.Msg.MIXLY_Close_display,"45"],[Rt.Msg.MIXLY_Start_execution,"46"],[Rt.Msg.MIXLY_FORWARD,"47"],[Rt.Msg.MIXLY_BACKWARD,"48"],[Rt.Msg.MIXLY_TURNLEFT,"49"],[Rt.Msg.MIXLY_TURNRIGHT,"50"],[Rt.Msg.MIXLY_STOP,"51"],[Rt.Msg.MIXLY_Accelerate,"52"],[Rt.Msg.MIXLY_retard,"53"],[Rt.Msg.ROTATION_FORWARD,"54"],[Rt.Msg.ROTATION_BACKWARD,"55"],[Rt.Msg.MIXLY_Query_temperature,"56"],[Rt.Msg.MIXLY_Query_humidity,"57"],[Rt.Msg.MIXLY_Query_brightness,"58"],[Rt.Msg.MIXLY_Query_sound,"59"],[Rt.Msg.MIXLY_Query_time,"60"],[Rt.Msg.MIXLY_Query_distance,"61"],[Rt.Msg.MIXLY_Query_pressure,"62"],[Rt.Msg.MIXLY_Query_key,"63"],[Rt.Msg.MIXLY_Query_touch,"64"],[Rt.Msg.MIXLY_Query_color,"65"]]),"cmd").appendField(Rt.Msg.MIXLY_WHETHER+Rt.Msg.MIXLY_BE_IDENTIFIED),this.setOutput(!0),this.setInputsInline(!0)}},Dc={init:function(){this.setColour(_c),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_GET).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_RECOGNIZED_STATE,"status1"],[Rt.Msg.MIXLY_WHETHER_BROADCAST,"status2"],[Rt.Msg.MIXLY_THE_RECOGNIZED_CMD,"result"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_CI130X_GET_THE_RECOGNIZED_STATE_TOOLTIP)}},fc={init:function(){this.setColour(_c),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MP3_PLAY).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"],[Rt.Msg.MIXLY_WIND_SPEED,"154"],[Rt.Msg.MIXLY_HYETAL,"155"],[Rt.Msg.MIXLY_TEMPERATURE,"156"],[Rt.Msg.MIXLY_Humidity,"157"],[Rt.Msg.MIXLY_Altitude,"158"],[Rt.Msg.MIXLY_SOUND,"159"],[Rt.Msg.MIXLY_BRIGHTNESS,"160"],[Rt.Msg.ME_GO_HALL_SENSOR_DISTANCE,"161"],[Rt.Msg.MIXLY_SERVO,"162"],[Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"163"],[Rt.Msg.MIXLY_BUTTON2,"164"],[Rt.Msg.MIXLY_ESP32_TOUCH,"165"],[Rt.Msg.MIXLY_PAY,"166"],[Rt.Msg.MIXLY_CARSH_CHANGE,"167"],[Rt.Msg.MIXLY_COUNTDOWN,"168"],[Rt.Msg.MIXLY_TIMING,"169"],[Rt.Msg.MIXLY_AT_THE_MOMENT,"170"],[Rt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE,"171"],[Rt.Msg.MIXLY_FORWARD,"172"],[Rt.Msg.MIXLY_BACKWARD,"173"],[Rt.Msg.MIXLY_TURNLEFT,"174"],[Rt.Msg.MIXLY_TURNRIGHT,"175"],[Rt.Msg.MIXLY_STOP,"176"],[Rt.Msg.MIXLY_Accelerate,"177"],[Rt.Msg.MIXLY_retard,"178"],[Rt.Msg.ROTATION_FORWARD,"179"],[Rt.Msg.ROTATION_BACKWARD,"180"],[Rt.Msg.TUPLE_JOIN,"181"],[Rt.Msg.MIXLY_SHOW,"182"],[Rt.Msg.MIXLY_LAMPLIGHT,"183"],[Rt.Msg.MIXLY_ACCELERATION,"184"]]),"star"),this.appendValueInput("NUM").appendField(Rt.Msg.MIXLY_NUMBER),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_UNIT).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"],[Rt.Msg.MIXLY_YEAR,"117"],[Rt.Msg.MIXLY_MONTH,"118"],[Rt.Msg.MIXLY_DAY,"119"],[Rt.Msg.MIXLY_HOUR,"120"],[Rt.Msg.MIXLY_MINUTE,"121"],[Rt.Msg.MIXLY_SECOND,"122"],[Rt.Msg.MIXLY_WEEK2,"123"],[Rt.Msg.MIXLY_RMB_UNIT,"124"],[Rt.Msg.blockpy_setheading_degree,"125"],[Rt.Msg.MIXLY_GEAR,"126"],[Rt.Msg.MIXLY_LAYER,"127"],[Rt.Msg.MIXLY_GRAM,"128"],[Rt.Msg.MIXLY_METER,"129"],[Rt.Msg.MIXLY_CENTIMETER,"130"],[Rt.Msg.MIXLY_MILLIMETER,"131"],[Rt.Msg.MIXLY_LUMEN,"132"],[Rt.Msg.MIXLY_DECIBEL,"133"],[Rt.Msg.MIXLY_hectopascal,"134"],[Rt.Msg.MIXLY_PERCENT,"135"],[Rt.Msg.MIXLY_CELSIUS,"136"],[Rt.Msg.MIXLY_METER_PER_SEC,"137"],[Rt.Msg.MIXLY_MICROBIT_Turn_on_display,"138"],[Rt.Msg.MIXLY_MICROBIT_Turn_off_display,"139"],[Rt.Msg.MIXLY_SUCCESS,"140"],[Rt.Msg.MIXLY_FAILED,"141"],[Rt.Msg.MIXLY_WRONG,"142"],[Rt.Msg.MIXLY_GOOD,"143"],[Rt.Msg.MIXLY_blockpy_set_add,"144"],[Rt.Msg.MIXLY_DECREASE,"145"],[Rt.Msg.COLOUR_RGB_RED,"146"],[Rt.Msg.COLOUR_RGB_ORANGE,"147"],[Rt.Msg.COLOUR_YELLOW,"148"],[Rt.Msg.COLOUR_RGB_GREEN,"149"],[Rt.Msg.COLOUR_CYAN,"150"],[Rt.Msg.COLOUR_RGB_BLUE,"151"],[Rt.Msg.COLOUR_RGB_PURPLE,"152"],[Rt.Msg.COLOUR_RGB_WHITE,"153"]]),"end"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Fc={init:function(){this.setColour(_c),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.LISTS_SET_INDEX_SET+Rt.Msg.MIXLY_SYSTEM+Rt.Msg.MIXLY_CMD).appendField(new Rt.FieldDropdown([[Rt.Msg.MILXY_ENTER_WAKE_UP,"1"],[Rt.Msg.MIXLY_INCREASE_VOLUME,"202"],[Rt.Msg.MIXLY_REDUCE_VOLUME,"203"],[Rt.Msg.MIXLY_MAX_VOLUME,"204"],[Rt.Msg.MIXLY_MINIMUM,"205"],[Rt.Msg.MIXLY_OPEN_RESPONSE,"206"],[Rt.Msg.MIXLY_CLOSE_RESPONSE,"207"],[Rt.Msg.MIXLY_QUIT_WAKE_UP,"208"]]),"cmd"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Pc={init:function(){this.setColour(_c),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_MAX30102+" MAX30102"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_ESP32_MAX30102_IR,"[0]"],[Rt.Msg.MIXLY_ESP32_MAX30102_RED,"[1]"],[Rt.Msg.MIXLY_ESP32_MAX30102_IR+","+Rt.Msg.MIXLY_ESP32_MAX30102_RED,""]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},vc={init:function(){this.setColour(_c),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_APDS9960+" APDS9960"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_ESP32_APDS9960_COLOR,"color"],[Rt.Msg.MIXLY_ESP32_APDS9960_GESTURE,"gesture"],[Rt.Msg.MIXLY_ESP32_APDS9960_APPROACH,"proximity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Yc={init:function(){this.setColour(_c),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_EXTERN_LIGHT+" LTR308ALS"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET_LIGHT_INTENSITY),this.setOutput(!0,Number),this.setInputsInline(!0)}},Xc={init:function(){this.setColour(_c),this.appendValueInput("SUB").appendField(Rt.Msg.HTML_COLOUR+Rt.Msg.MSG.catSensor+" LTR381RGB").setCheck("var"),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GET+Rt.Msg.HTML_COLOUR,"[2]"],[Rt.Msg.MIXLY_GET+Rt.Msg.MIXLY_IR_STRENGTH,"[1]"],[Rt.Msg.MIXLY_GET+Rt.Msg.MIXLY_LIGHT_STRENGTH,"[0]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},yc={init:function(){this.setColour(_c),this.appendValueInput("SUB").appendField(Rt.Msg.HTML_COLOUR+Rt.Msg.MSG.catSensor+" UCS12071").setCheck("var"),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GET+"RGB"+Rt.Msg.HTML_COLOUR,"0"],[Rt.Msg.MIXLY_GET+Rt.Msg.MIXLY_RGB_RAW,"1"],[Rt.Msg.MIXLY_GET_ENV_LIGHT+Rt.Msg.MIXLY_BRIGHTNESS,"2"],[Rt.Msg.GET_IR_STRENGTH+Rt.Msg.MIXLY_BRIGHTNESS,"3"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},bc={init:function(){this.setColour(_c),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_EXTERN_LIGHTUV+" LTR390UV").setCheck("var"),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GET_ENV_LIGHT,"E"],[Rt.Msg.MIXLY_GET_ULTRAVIOLET,"U"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},xc={init:function(){this.setColour(_c),this.appendDummyInput().appendField(Rt.Msg.MIXLY_LASER_RANGE+" VL53L0X"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET_DISTANCE+"(mm)"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Vc={init:function(){this.setColour(_c),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_TEM_HUM+" SHTC3").setCheck("var"),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[Rt.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{temperature:Rt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,humidity:Rt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},Bc={init:function(){this.setColour(_c),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_TEM_HUM+" AHT21").setCheck("var"),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[Rt.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{temperature:Rt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,relative_humidity:Rt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},Gc={init:function(){this.setColour(_c),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_Altitude+Rt.Msg.MSG.catSensor+" HP203X").setCheck("var"),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GETPRESSURE,"pressure()"],[Rt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[Rt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Uc={init:function(){this.setColour(_c),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_Altitude+Rt.Msg.MSG.catSensor+" SPL06_001").setCheck("var"),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GETPRESSURE,"pressure()"],[Rt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[Rt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},wc={init:function(){this.setColour(_c),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_Altitude+Rt.Msg.MSG.catSensor+" MS5611").setCheck("var"),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GETPRESSURE,"pressure()"],[Rt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[Rt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},kc={init:function(){this.setColour(_c),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_Altitude+Rt.Msg.MSG.catSensor+" MS5611").setCheck("var"),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_REF_TO_PRESSURE),this.appendDummyInput().appendField(Rt.Msg.MIXLY_CAL_TO_ALTITUDE),this.setOutput(!0,Number),this.setInputsInline(!0)}},Hc={init:function(){this.setColour(_c),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MIXGOPE_FIELD+Rt.Msg.MSG.catSensor+" QMC5883L").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"get_bearing()"],[Rt.Msg.MIXLY_TEMPERATURE,"get_temp()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Wc={init:function(){this.setColour(_c),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_shake,"shake"],[Rt.Msg.MIXLY_UP,"up"],[Rt.Msg.MIXLY_DOWN,"down"],[Rt.Msg.MIXLY_LEFT,"left"],[Rt.Msg.MIXLY_RIGHT,"right"],[Rt.Msg.MIXLY_MICROBIT_face_up,"face up"],[Rt.Msg.MIXLY_MICROBIT_face_down,"face down"]]),"gesture"),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("gesture"),i=Rt.Msg.MIXLY_MICROBIT_JS_CURRENT,n=Rt.Msg.MSG.catSensor,s=Rt.Msg.MIXLY_MICROBIT_JS_STATE,_=Rt.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:Rt.Msg.MIXLY_MICROBIT_shake,up:Rt.Msg.MIXLY_UP,down:Rt.Msg.MIXLY_DOWN,left:Rt.Msg.MIXLY_LEFT,right:Rt.Msg.MIXLY_RIGHT,"face up":Rt.Msg.MIXLY_MICROBIT_face_up,"face down":Rt.Msg.MIXLY_MICROBIT_face_down}[e]+_}))}},Kc={init:function(){this.setColour(_c),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new Rt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Rt.Msg.MIXLY_MICROBIT_Direction,s=Rt.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":Rt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},Jc={init:function(){this.setColour(_c),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_JS_GET+Rt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH).appendField(new Rt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Rt.Msg.MIXLY_MICROBIT_Direction,s=Rt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH;return i+{x:"x",y:"y",z:"z","(x,y,z)":Rt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},qc={init:function(){this.setColour(_c),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+Rt.Msg.MIXLY_ESP32_SENOR_GYRO).appendField(new Rt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Rt.Msg.MIXLY_MICROBIT_Direction,s=Rt.Msg.MIXLY_ESP32_SENOR_GYRO;return i+{x:"x",y:"y",z:"z","(x,y,z)":Rt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},Qc={init:function(){this.setColour(_c),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS)}},zc={init:function(){this.setColour(_c),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GETTEMPERATUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_GETTEMPERATUE)}},jc={init:function(){this.setColour(_c),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_JS_GET_COMPASS).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,"strength"],[Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"heading"]]),"compass"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("compass");return Rt.Msg.MIXLY_MICROBIT_JS_GET_COMPASS+{strength:Rt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,heading:Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE}[e]}))}},$c={init:function(){this.setColour(_c),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Reset_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Reset_COMPASS)}},Zc={init:function(){this.setColour(_c),this.appendValueInput("SPISUB").appendField(Rt.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_SETUP+Rt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new Rt.FieldDropdown([["RFID","RFID"],["WS-LoRa","Weather"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setFieldValue("RFID","key")}},tg={init:function(){this.setColour(_c),this.appendDummyInput().appendField("RFID"+Rt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(Rt.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_RFID_READ_CARD_UID,"id"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"content"],[Rt.Msg.MIXLY_ALL,"ALL"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},eg={init:function(){this.setColour(_c),this.appendDummyInput().appendField("RFID"+Rt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RFID_READ_CARD_UID),this.setOutput(!0,Number),this.setInputsInline(!0)}},ig={init:function(){this.setColour(_c),this.appendDummyInput().appendField("RFID"+Rt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(Rt.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},ng={init:function(){this.setColour(_c),this.appendDummyInput().appendField(Rt.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(Rt.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(Rt.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},sg={init:function(){this.setColour(_c),this.appendDummyInput().appendField(Rt.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(Rt.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(Rt.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(Rt.Msg.RETURN_SUCCESS_OR_NOT),this.setInputsInline(!0),this.setOutput(!0,Boolean)}},_g={init:function(){this.setColour(_c),this.appendDummyInput().appendField("RFID"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_RFID_SCAN_OK,"0"],[Rt.Msg.MIXLY_RFID_SCAN_NOTAGERR,"1"],[Rt.Msg.MIXLY_RFID_SCAN_ERROR,"2"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},og={init:function(){this.setColour(_c),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new Rt.FieldDropdown([["全部(元组)","data()[0]"],["全部(json)","data()[1]"],["全部(json,附带位置信息)","data()[2]"],["编号","data()[0][0]"],["电量","data()[0][1]"],["风速","data()[0][2]"],["阵风","data()[0][3]"],["风向","data()[0][4]"],["雨量","data()[0][5]"],["温度","data()[0][6]"],["湿度","data()[0][7]"],["光照","data()[0][8]"],["紫外线","data()[0][9]"],["大气压","data()[0][10]"],["信号强度","data()[0][11]"],["信噪比","data()[0][12]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip("返回气象数据元组 data= (设备id,电池状态,风速m/s,阵风m/s,风向°,雨量mm,温度℃,湿度%,光照Lux,UVI,大气压Pa,信号强度dB,信噪比dB)")}},pg={init:function(){this.setColour(_c),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_SERIAL_AVAILABLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},ag={init:function(){this.setColour(_c),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendValueInput("BASE").appendField("以主题"),this.appendDummyInput("").appendField("串口发送至MixIO"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},ug={init:function(){this.setColour(_c),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.itemCount_=2,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new Rt.icons.MutatorIcon(["weather_set_label_item"],this)),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip()},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("weather_set_label_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n>6),i.push(128|63&_)):(2048<=_&&_<=55295||57344<=_&&_<=65535)&&(n+=3,i.push(224|15&_>>12),i.push(128|63&_>>6),i.push(128|63&_))}for(s=0;s>8,255&n].concat(i)}(t,!0),i="",n=0;n=0?"0x700000":["mixgo_sant"].indexOf(n)>=0?"0xE00000":"0x3A0000","32x12 Matrix"==o?(e.definitions_.import_matrix32x12="import matrix32x12",i=s+" = matrix32x12.Matrix("+_+", font_address="+p+")\n"):"16x8 Matrix"==o&&(e.definitions_.import_matrix16x8="import matrix16x8",i=s+" = matrix16x8.Matrix("+_+")\n"),i},KP=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},JP=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+", center="+this.getFieldValue("center")+")\n"},qP=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},QP=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", delay="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},zP=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},jP=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", speed="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+")\n"},$P=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},ZP=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("OP")+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")\n"},tv=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},ev=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".pixel(int("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+"), int("+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+"), "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"+i+".show()\n"},iv=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".get_brightness()",e.ORDER_ATOMIC]},nv=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".set_brightness("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+")\n"},sv=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("image"),e.ORDER_ATOMIC]},_v=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".map_"+t.getFieldValue("OP")+"("+e.valueToCode(t,"A",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"B",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},ov=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".map_invert("+e.valueToCode(t,"A",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},pv=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC);return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = ssd1306.SSD1306_I2C("+e.valueToCode(this,"row",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"column",e.ORDER_ATOMIC)+", "+i+")\n"},av=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_str("+(e.valueToCode(this,"Text_line1",e.ORDER_ASSIGNMENT)||"''")+", "+(e.valueToCode(this,"Text_line2",e.ORDER_ASSIGNMENT)||"''")+", "+(e.valueToCode(this,"Text_line3",e.ORDER_ASSIGNMENT)||"''")+", "+(e.valueToCode(this,"Text_line4",e.ORDER_ASSIGNMENT)||"''")+")\n"},uv=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_line("+e.valueToCode(this,"x1",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"y1",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"x2",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"y2",e.ORDER_ATOMIC)+", 1)\n"},rv=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),_=e.valueToCode(this,"width",e.ORDER_ATOMIC),o=e.valueToCode(this,"height",e.ORDER_ATOMIC),p="TRUE"==this.getFieldValue("fill")?"True":"False",a=this.getFieldValue("OP");switch(p){case"True":return i+".show_fill_rect("+n+", "+s+", "+_+", "+o+", "+a+")\n";case"False":return i+".show_rect("+n+", "+s+", "+_+", "+o+", "+a+")\n"}},lv=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),_=e.valueToCode(this,"length",e.ORDER_ATOMIC);return i+".show_"+this.getFieldValue("direction")+"("+n+", "+s+", "+_+", 1)\n"},dv=function(t,e){return["ON"==this.getFieldValue("ONOFF")?"1":"0",e.ORDER_ATOMIC]},Iv=function(t,e){e.definitions_.import_matrix="import matrix";var i=t.getFieldValue("OP");return[e.valueToCode(t,"img",e.ORDER_ATOMIC)+".shift_"+i+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Tv=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return e.definitions_.import_ssd1306="import ssd1306",e.definitions_.import_machine="import machine",i+".show_fill("+this.getFieldValue("key")+")\n"},Mv=function(t,e){return["matrix.Image."+this.getFieldValue("ANIMATION"),e.ORDER_ATOMIC]},hv=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),_=e.valueToCode(this,"r",e.ORDER_ATOMIC),o="TRUE"==this.getFieldValue("fill")?"True":"False",p=this.getFieldValue("OP");switch(o){case"True":return i+".show_fill_circle("+n+", "+s+", "+_+", "+p+")\n";case"False":return i+".show_circle("+n+", "+s+", "+_+", "+p+")\n"}},mv=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var n=e.valueToCode(this,"x0",e.ORDER_ATOMIC),s=e.valueToCode(this,"y0",e.ORDER_ATOMIC),_=e.valueToCode(this,"x1",e.ORDER_ATOMIC),o=e.valueToCode(this,"y1",e.ORDER_ATOMIC),p=e.valueToCode(this,"x2",e.ORDER_ATOMIC),a=e.valueToCode(this,"y2",e.ORDER_ATOMIC),u="TRUE"==this.getFieldValue("fill")?"True":"False",r=this.getFieldValue("OP");switch(u){case"True":return i+".show_fill_triangle("+n+", "+s+", "+_+", "+o+", "+p+", "+a+", "+r+")\n";case"False":return i+".show_triangle("+n+", "+s+", "+_+", "+o+", "+p+", "+a+", "+r+")\n"}},Ev=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_bitmap("+e.valueToCode(this,"START_X",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"START_Y",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"bitmap_name",e.ORDER_ATOMIC)+","+e.valueToCode(this,"WIDTH",e.ORDER_ATOMIC)+","+e.valueToCode(this,"HEIGHT",e.ORDER_ATOMIC)+")\n"},Ov=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_pixel("+e.valueToCode(this,"POS_X",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"POS_Y",e.ORDER_ATOMIC)+")\n"},Rv=function(t,e){var i,n=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),s=e.valueToCode(this,"CLK",e.ORDER_ATOMIC),_=e.valueToCode(this,"DIO",e.ORDER_ATOMIC),o=this.getFieldValue("key");return"TM1650"==o?(e.definitions_.import_tm1650="import tm1650",i=n+" = tm1650."+o+"(clk="+s+",dio="+_+")\n"):"TM1637"==o&&(e.definitions_.import_tm1637="import tm1637",i=n+" = tm1637."+o+"(clk="+s+",dio="+_+")\n"),i},cv=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+"."+this.getFieldValue("STAT")+"()\n"},gv=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".shownum("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},Cv=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".showDP("+e.valueToCode(this,"NO",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"},Sv=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".intensity("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},Av=function(t,e){e.definitions_.import_st7789="import st7789";var i=ct.Boards.getSelectedBoardKey().split(":")[2],n="";n=["mpython","mixgo_pe","mixgo_nova"].indexOf(i)>=0?"0x700000":["mixgo_sant"].indexOf(i)>=0?"0xE00000":"0x3A0000";var s=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),_=e.valueToCode(this,"SPISUB",e.ORDER_ATOMIC),o=e.valueToCode(this,"PINCS",e.ORDER_ATOMIC),p=e.valueToCode(this,"PINDC",e.ORDER_ATOMIC);return s+" = st7789.ST7789("+_+", "+e.valueToCode(this,"WIDTH",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"HEIGHT",e.ORDER_ATOMIC)+", dc_pin="+p+", cs_pin="+o+", rotation="+this.getFieldValue("rotate")+", font_address="+n+")\n"},Lv=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".image("+n+", x="+s+", y="+_+", size="+o+", color="+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=i+".image("+n+", x= "+s+",y="+_+", size="+o+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},Nv=function(t,e){var i="0x"+this.getFieldValue("COLOR").slice(1);return["0x"+((16252928&i)>>8|(64512&i)>>5|(255&i)>>3).toString(16),e.ORDER_ATOMIC]},Dv=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),u=this.getFieldValue("center");if("0x"==a.slice(0,2))var r=i+".shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+u+", color="+a+")\n";else{const t=a.match(/\d+/g);var l="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r=i+".shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+u+", color=0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+")\n"}return r},fv=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==o.slice(0,2))var p=i+".frame("+n+", size="+s+", delay="+_+", color="+o+")\n";else{const t=o.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p=i+".frame("+n+", size="+s+", delay="+_+", color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},Fv=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u=i+".scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color="+a+")\n";else{const t=a.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u=i+".scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},Pv=function(t,e){return e.definitions_.import_st7789="import st7789",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".fill(st7789."+this.getFieldValue("key")+")\n"},vv=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"x1",e.ORDER_ATOMIC),s=e.valueToCode(this,"y1",e.ORDER_ATOMIC),_=e.valueToCode(this,"x2",e.ORDER_ATOMIC),o=e.valueToCode(this,"y2",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".line("+n+", "+s+", "+_+", "+o+", color="+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=i+".line("+n+", "+s+", "+_+", "+o+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},Yv=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC),s=this.getFieldValue("key"),_=e.valueToCode(this,"ADDR",e.ORDER_ATOMIC);return e.definitions_.import_i2clcd="import i2clcd",i+" = i2clcd.LCD("+n+", lcd_width="+s+", i2c_addr="+_+")\n"},Xv=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", column="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", line="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+",center = "+this.getFieldValue("center")+")\n"},yv=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".print("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", column="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", line="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", delay="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},bv=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".backlight("+this.getFieldValue("key")+")\n"},xv=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".clear()\n"},Vv=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC),s=e.valueToCode(this,"ADDR",e.ORDER_ATOMIC),_=this.getFieldValue("driver"),o=ct.Boards.getSelectedBoardKey().split(":")[2],p="";return p=["mpython","mixgo_pe","mixgo_nova"].indexOf(o)>=0?"0x700000":["mixgo_sant"].indexOf(o)>=0?"0xE00000":"0x3A0000",e.definitions_.import_oled128x64="import oled128x64",i+" = oled128x64.OLED("+n+", address="+s+", font_address="+p+", types="+_+")\n"},Bv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".image("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},Gv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".image("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", x="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", y="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+")\n"},Uv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},wv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", x="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", y="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+", center="+this.getFieldValue("center")+")\n"},kv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},Hv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+", delay="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},Wv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},Kv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", y="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+", speed="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+")\n"},Jv=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},qv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("OP")+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")\n"},Qv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},zv=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".pixel(int("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+"), int("+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+"), "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"+i+".show()\n"},jv=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),_=e.valueToCode(t,"w",e.ORDER_ATOMIC),o=e.valueToCode(t,"h",e.ORDER_ATOMIC),p=t.getFieldValue("state");return i+"."+t.getFieldValue("shape")+"("+n+", "+s+", "+_+", "+o+", "+p+")\n"+i+".show()\n"},$v=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),_=e.valueToCode(t,"length",e.ORDER_ATOMIC),o=t.getFieldValue("state");return i+"."+("0"==t.getFieldValue("dir_h_v")?"v":"h")+"line("+n+", "+s+", "+_+", "+o+")\n"+i+".show()\n"},Zv=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".line("+e.valueToCode(t,"x1",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"y1",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"x2",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"y2",e.ORDER_ATOMIC)+", "+t.getFieldValue("state")+")\n"+i+".show()\n"},tY=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT);if("Python ESP32-S3"===ct.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var s="onboard_tft.image("+(n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT))+", color=0xffff,sync="+(e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True")+")\n"}else if("educore"==i){e.definitions_["import_"+i+"_oled"]="from "+i+" import oled";s="oled.print("+n+")\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";s="onboard_matrix.shows("+n+")\n"}return s},eY=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),_=this.getFieldValue("center");if("mixgo_sant"==i||"mixgo_nova"==i||"mixgo_soar"==i)return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.shows("+n+", space="+s+", center="+_+",sync="+(e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True")+")\n";if("educore"==i){e.definitions_["import_"+i+"_oled"]="from "+i+" import oled"}return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.shows("+n+", space="+s+", center="+_+")\n"},iY=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var s="onboard_oled.frame("+n+")\n"}else if("Python ESP32-S3"===ct.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";s="onboard_tft.frame("+(n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT))+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";s="onboard_matrix.frame("+n+")\n"}return s},nY=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var _="onboard_oled.frame("+(n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT))+", delay="+s+")\n"}else if("Python ESP32-S3"===ct.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";_="onboard_tft.frame("+n+", size=5 , delay="+s+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";_="onboard_matrix.frame("+n+", delay="+s+")\n"}return _},sY=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var n="onboard_oled.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"}else if("Python ESP32-S3"===ct.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";n="onboard_tft.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"}return n},_Y=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var o="onboard_oled.scroll("+n+", speed="+s+", space="+_+")\n"}else if("Python ESP32-S3"===ct.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";o="onboard_tft.scroll("+n+", y=0, size=5, speed="+s+", space="+_+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";o="onboard_matrix.scroll("+n+", speed="+s+", space="+_+")\n"}return o},oY=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.scroll_way("+this.getFieldValue("way")+")\n"},pY=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u="onboard_tft.scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color="+a+")\n";else{const t=a.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},aY=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix",["onboard_matrix."+t.getFieldValue("image"),e.ORDER_ATOMIC]},uY=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];if("Python ESP32-S3"===ct.JSFuncs.getPlatform()){const i=t.getFieldValue("image").split(".");if(2!==i.length)throw Error("pin value error");e.definitions_[`import_${i[0]}_${i[1]}`]=`from ${i[0]} import ${i[1]}`;var n=i[1]}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix."+t.getFieldValue("image")}return[n,e.ORDER_ATOMIC]},rY=function(t,e){var i={"#000000":"0","#ff0000":"1"};function n(t){let e="";if(t.length%2==1&&(t="0"+t),t.length<8){let e=8-t.length;for(let i=1;i<=e;i++)t="0"+t}for(let i=1;i<=t.length;i++)i%2==0&&i!==t.length?e=e+t[i-1]+",0x":e+=t[i-1];return"0x"+e}let s=[];for(let e=0;e<12;e++){let _="",o=0,p=0;for(let n=0;n<32;n++)n<8?p=7-n:n<16?p=23-n:n<24?p=39-n:n<32&&(p=55-n),o+=Number(i[t.getFieldValue(e+"-"+n)])*Math.pow(2,31-p);_+=n(o.toString(16)),s.unshift(_)}let _=[];for(let t=0;t>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},qY=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.picture("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+","+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+","+e.valueToCode(this,"direct",e.ORDER_ASSIGNMENT)+")\n"},QY=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=this.getFieldValue("center"),u=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True",r=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==r.slice(0,2))var l="onboard_tft.shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+a+", color="+r+",sync="+u+")\n";else{const t=r.match(/\d+/g);var d="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");l="onboard_tft.shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+a+", color=0x"+((16252928&d)>>8|(64512&d)>>5|(255&d)>>3).toString(16)+",sync="+u+")\n"}return l},zY=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==o.slice(0,2))var p="onboard_tft.frame("+n+", size="+s+", delay="+_+", color="+o+")\n";else{const t=o.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p="onboard_tft.frame("+n+", size="+s+", delay="+_+", color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},jY=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),_=e.valueToCode(t,"w",e.ORDER_ATOMIC),o=e.valueToCode(t,"h",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=t.getFieldValue("shape"),u=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var r="onboard_tft."+a+"("+n+", "+s+", "+_+", "+o+", "+p+",sync="+u+")\n";else{const t=p.match(/\d+/g);var l="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r="onboard_tft."+a+"("+n+", "+s+", "+_+", "+o+", 0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+",sync="+u+")\n"}return r},$Y=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),_=e.valueToCode(t,"length",e.ORDER_ATOMIC),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),p=t.getFieldValue("dir_h_v"),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==o.slice(0,2))var u="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+_+", "+o+",sync="+a+")\n";else{const t=o.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+_+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},ZY=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x1",e.ORDER_ATOMIC),s=e.valueToCode(t,"y1",e.ORDER_ATOMIC),_=e.valueToCode(t,"x2",e.ORDER_ATOMIC),o=e.valueToCode(t,"y2",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var u="onboard_tft.line("+n+", "+s+", "+_+", "+o+", "+p+",sync="+a+")\n";else{const t=p.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.line("+n+", "+s+", "+_+", "+o+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},tX=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft",["onboard_tft.pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},eX=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),o=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==_.slice(0,2))var p="onboard_tft.pixel(int("+n+"), int("+s+"), "+_+",sync="+o+")\n";else{const t=_.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p="onboard_tft.pixel(int("+n+"), int("+s+"), 0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+",sync="+o+")\n"}return p},iX=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"VAR",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==n.slice(0,2))var _="onboard_tft.fill("+n+",sync="+s+")\n";else{const t=n.match(/\d+/g);var o="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");_="onboard_tft.fill(0x"+((16252928&o)>>8|(64512&o)>>5|(255&o)>>3).toString(16)+",sync="+s+")\n"}return _},nX=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=o+"=Clock("+n+", "+s+", "+_+", "+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=o+"=Clock("+n+", "+s+", "+_+", 0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},sX=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".set_rtctime()\n"},_X=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".set_time("+e.valueToCode(this,"h",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"m",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"s",e.ORDER_ASSIGNMENT)+")\n"},oX=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".draw_clock()\n"},pX=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==s.slice(0,2))var _=n+".clear("+s+")\n";else{const t=s.match(/\d+/g);var o="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");_=n+".clear(0x"+((16252928&o)>>8|(64512&o)>>5|(255&o)>>3).toString(16)+")\n"}return _},aX=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),_=e.valueToCode(t,"r",e.ORDER_ATOMIC),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),p=t.getFieldValue("shape"),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==o.slice(0,2))var u="onboard_tft.ellipse("+n+", "+s+", "+_+", "+_+", "+o+", "+p+",sync="+a+")\n";else{const t=o.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.ellipse("+n+", "+s+", "+_+", "+_+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+", "+p+",sync="+a+")\n"}return u},uX=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];if("Python ESP32-S3"===ct.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n="onboard_tft.pointern(angle="+e.valueToCode(this,"angle",e.ORDER_ASSIGNMENT)+")\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.pointern(angle="+e.valueToCode(this,"angle",e.ORDER_ASSIGNMENT)+")\n"}return n},rX=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"angle",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==s.slice(0,2));else{const t=s.match(/\d+/g);var _="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");((16252928&_)>>8|(64512&_)>>5|(255&_)>>3).toString(16)}return"onboard_tft.pointern(angle="+n+")\n"},lX=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var u="onboard_tft.texts("+n+", x="+s+", y="+_+", size="+o+", color="+p+",sync="+a+")\n";else{const t=p.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.texts("+n+", x="+s+", y="+_+", size="+o+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},dX=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"direct",e.ORDER_ATOMIC);e.valueToCode(this,"boolean",e.ORDER_ATOMIC);return"onboard_tft.qrcode("+n+")\n"},IX=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True",u=this.getFieldValue("correct");if("0x"==p.slice(0,2))var r="onboard_tft.qrcode("+n+",x="+s+",y="+_+",size="+o+",correct="+u+",color="+p+",sync="+a+")\n";else{const t=p.match(/\d+/g);var l="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r="onboard_tft.qrcode("+n+",x="+s+",y="+_+",size="+o+",correct="+u+",color=0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+",sync="+a+")\n"}return r},TX=tY,MX=OY,hX=hY,mX=OY,EX=RY,OX=dY,RX=function(t,e){var i=this.getFieldValue("path"),n=this.getFieldValue("module");return e.definitions_["import_"+i+"_"+n]="from "+i+" import "+n,""},cX=function(t,e){var i=this.getFieldValue("module");return e.definitions_["import_"+i]="import "+i,""},gX=function(t,e){for(var i=this.getFieldValue("NAME"),n=new Array(this.itemCount_),s=0;s {\n"+e.statementToCode(this,"do")+"})\n"},UG=function(){return"control.reset()\n"},wG=function(t,e){return"control.waitMicros("+(e.valueToCode(this,"data",e.ORDER_ATOMIC)||ct.Profile.default.serial)+")\n"},kG=function(t,e){return"control.raiseEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||ct.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||ct.Profile.default.serial)+")\n"},HG=function(t,e){return"control.onEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||ct.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||ct.Profile.default.serial)+", () => {\n"+e.statementToCode(this,"do")+")\n"},WG=function(t,e){return["control.eventTimestamp()",e.ORDER_ATOMIC]},KG=function(t,e){return["control.eventValue()",e.ORDER_ATOMIC]},JG=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},qG=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},QG=function(t,e){return["control.deviceName()",e.ORDER_ATOMIC]},zG=function(t,e){return["control.deviceSerialNumber()",e.ORDER_ATOMIC]},jG=function(t,e){return"panic("+(e.valueToCode(this,"STATUS_CODE",e.ORDER_ATOMIC)||"1000")+")\n"},$G=function(t,e){switch(e.definitions_.import_time="import time",this.getFieldValue("Time")){case"ms":return["time.ticks_ms()",e.ORDER_ATOMIC];case"us":return["time.ticks_us()",e.ORDER_ATOMIC]}},ZG=function(){return"while True:\n pass\n"},tU=function(t,e){return e.definitions_.import_mixgo="import mixgo","reset()\n"},eU=function(t,e){return e.definitions_.import_os="import os","os.uname()"},iU=function(t,e){e.definitions_.import_time="import time";var i=e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},nU=function(t,e){e.definitions_.import_time="import time";var i=e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},sU=function(t,e){return e.definitions_.import_mixgo="import mixgo",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+".init(period="+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode=Timer."+(e.valueToCode(this,"mode",e.ORDER_NONE)||"None")+", callback="+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},_U=function(t,e){return e.definitions_.import_machine="import machine",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+" = machine.Timer("+(e.valueToCode(this,"PIN",e.ORDER_NONE)||"None")+",period = "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode=machine.Timer."+this.getFieldValue("mode")+", callback="+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},oU=function(t,e){return e.definitions_.import_time="import time",["time.ticks_diff("+(e.valueToCode(this,"END",e.ORDER_NONE)||"0")+", "+(e.valueToCode(this,"START",e.ORDER_NONE)||"0")+")",e.ORDER_ATOMIC]},pU=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return e.definitions_.import_machine="import machine",i+" = machine.Timer(0)\n"},aU=function(t,e){return e.definitions_.import_machine="import machine",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+".init(period = "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode=machine.Timer."+this.getFieldValue("mode")+", callback="+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},uU=function(t,e){return e.definitions_.import_machine="import machine","wdt = machine.WDT(timeout= "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+")\n"},rU=function(t,e){e.definitions_.import_machine="import machine";return"wdt.feed()\n"},lU=function(t,e){e.definitions_.import_machine="import machine";return"machine.reset()\n"},dU=function(t,e){e.definitions_.import_bitbot_onboard_bot51="from bitbot import onboard_bot51";return"onboard_bot51.shutdown()\n"},IU=pU,TU=aU,MU=oU,hU=iU,mU=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},EU=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"day",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},OU=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api.weather_hourly("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"hour",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},RU=function(t,e){return e.definitions_["import_seniverse_api*"]="from seniverse_api import *",this.getFieldValue("mode")+".request("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+")\n"},cU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Weather_now.analysis()";else n='Weather_now.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},gU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Air_now.analysis()";else n='Air_now.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},CU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Weather_alarm.analysis()";else n='Weather_alarm.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},SU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Life_suggestion.analysis()";else n='Life_suggestion.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},AU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Tide_daily.analysis()";else n='Tide_daily.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},LU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Location_search.analysis()";else n='Location_search.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},NU=function(t,e){return e.definitions_["import_seniverse_api*"]="from seniverse_api import *",this.getFieldValue("mode")+".request("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"day",e.ORDER_ATOMIC)+")\n"},DU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Weather_daily.analysis("+n+")";else s="Weather_daily.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},fU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Air_daily.analysis("+n+")";else s="Air_daily.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},FU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Geo_sun.analysis("+n+")";else s="Geo_sun.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},PU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Geo_moon.analysis("+n+")";else s="Geo_moon.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},vU='
\r\n
{{-d.title}}
\r\n
\r\n {{# if (d.message) { }}\r\n

\r\n {{-d.message}}\r\n

\r\n {{# } }}\r\n
\r\n
',{XML:YU}=ct,XU=YU.render(vU,{title:"烧录速度",message:"要选择烧录速度,请更改“Burn Speed”,此值将用于向设备烧录代码。如果在用较高的烧录速度时出现问题,请尝试减小此值,这可能是由于外部串行到USB芯片的限制。"}),{XML:yU}=ct,bU=yU.render(vU,{title:"燒錄速度",message:"要選擇燒錄速度,請更改“Burn Speed”,此值將用於向設備燒錄程式碼。如果在用較高的燒錄速度時出現問題,請嘗試减小此值,這可能是由於外部串列到USB晶片的限制。"}),{XML:xU}=ct,VU=xU.render(vU,{title:"Burn Speed",message:"To select the flashing speed, change the Burn Speed. This value will be used for flashing the code to the device. If you have issues while flashing the device at high speed, try to decrease this value. This could be due to the external serial-to-USB chip limitations."}),BU=new Rt.Generator("Python");BU.INDENT=" ",BU.addReservedWords("False,None,True,and,as,assert,break,class,continue,def,del,elif,else,except,exec,finally,for,from,global,if,import,in,is,lambda,nonlocal,not,or,pass,print,raise,return,try,while,with,yield,NotImplemented,Ellipsis,__debug__,quit,exit,copyright,license,credits,ArithmeticError,AssertionError,AttributeError,BaseException,BlockingIOError,BrokenPipeError,BufferError,BytesWarning,ChildProcessError,ConnectionAbortedError,ConnectionError,ConnectionRefusedError,ConnectionResetError,DeprecationWarning,EOFError,Ellipsis,EnvironmentError,Exception,FileExistsError,FileNotFoundError,FloatingPointError,FutureWarning,GeneratorExit,IOError,ImportError,ImportWarning,IndentationError,IndexError,InterruptedError,IsADirectoryError,KeyError,KeyboardInterrupt,LookupError,MemoryError,ModuleNotFoundError,NameError,NotADirectoryError,NotImplemented,NotImplementedError,OSError,OverflowError,PendingDeprecationWarning,PermissionError,ProcessLookupError,RecursionError,ReferenceError,ResourceWarning,RuntimeError,RuntimeWarning,StandardError,StopAsyncIteration,StopIteration,SyntaxError,SyntaxWarning,SystemError,SystemExit,TabError,TimeoutError,TypeError,UnboundLocalError,UnicodeDecodeError,UnicodeEncodeError,UnicodeError,UnicodeTranslateError,UnicodeWarning,UserWarning,ValueError,Warning,ZeroDivisionError,_,__build_class__,__debug__,__doc__,__import__,__loader__,__name__,__package__,__spec__,abs,all,any,apply,ascii,basestring,bin,bool,buffer,bytearray,bytes,callable,chr,classmethod,cmp,coerce,compile,complex,copyright,credits,delattr,dict,dir,divmod,enumerate,eval,exec,execfile,exit,file,filter,float,format,frozenset,getattr,globals,hasattr,hash,help,hex,id,input,int,intern,isinstance,issubclass,iter,len,license,list,locals,long,map,max,memoryview,min,next,object,oct,open,ord,pow,print,property,quit,range,raw_input,reduce,reload,repr,reversed,round,set,setattr,slice,sorted,staticmethod,str,sum,super,tuple,type,unichr,unicode,vars,xrange,zip"),BU.ORDER_ATOMIC=0,BU.ORDER_COLLECTION=1,BU.ORDER_STRING_CONVERSION=1,BU.ORDER_UNARY_POSTFIX=1,BU.ORDER_UNARY_PREFIX=2,BU.ORDER_MEMBER=2.1,BU.ORDER_FUNCTION_CALL=2.2,BU.ORDER_EXPONENTIATION=3,BU.ORDER_UNARY_SIGN=4,BU.ORDER_BITWISE_NOT=4,BU.ORDER_MULTIPLICATIVE=5,BU.ORDER_ADDITIVE=6,BU.ORDER_BITWISE_SHIFT=7,BU.ORDER_BITWISE_AND=8,BU.ORDER_BITWISE_XOR=9,BU.ORDER_BITWISE_OR=10,BU.ORDER_RELATIONAL=11,BU.ORDER_EQUALITY=11,BU.ORDER_LOGICAL_NOT=12,BU.ORDER_LOGICAL_AND=13,BU.ORDER_LOGICAL_OR=14,BU.ORDER_ASSIGNMENT=14,BU.ORDER_CONDITIONAL=15,BU.ORDER_LAMBDA=16,BU.ORDER_NONE=99,BU.ORDER_OVERRIDES=[[BU.ORDER_FUNCTION_CALL,BU.ORDER_MEMBER],[BU.ORDER_FUNCTION_CALL,BU.ORDER_FUNCTION_CALL],[BU.ORDER_MEMBER,BU.ORDER_MEMBER],[BU.ORDER_MEMBER,BU.ORDER_FUNCTION_CALL]],BU.init=function(){BU.PASS=this.INDENT+"pass\n",BU.definitions_=Object.create(null),BU.functionNames_=Object.create(null),BU.setups_=Object.create(null),BU.loops_=Object.create(null),BU.codeEnd_=Object.create(null),BU.variableDB_?BU.variableDB_.reset():BU.variableDB_=new At(BU.RESERVED_WORDS_)},BU.finish=function(t){""!==t&&(t=(t=t.replace(/\n/g,"\n")).replace(/\n\s+$/,"\n"));var e=[],i=[],n=[];for(var s in this.definitions_){var _=this.definitions_[s];0===s.indexOf("import")?e.push(_):0===s.indexOf("var_declare")?i.push(_):n.push(_)}e.length&&e.push("\n"),i.length&&i.push("\n"),n.length&&n.push("\n");var o=[];for(var s in BU.functions_)o.push(BU.functions_[s]);o.length&&o.push("\n");var p=[];for(var s in BU.setups_)p.push(BU.setups_[s]);p.length&&p.push("\n");var a=[];for(var s in BU.loops_)a.push(BU.loops_[s]);var u=[];for(var s in BU.codeEnd_)u.push(BU.codeEnd_[s]);0!==u.length&&u.push("\n");let r="";return r=a.length>0?e.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+t+"while True:\n"+a.join("")+u.join("\n"):e.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+t+u.join("\n"),r},BU.scrubNakedValue=function(t){return t+"\n"},BU.quote_=function(t){var e="'";return-1!==(t=t.replace(/\\/g,"\\\\").replace(/\n/g,"\\\n")).indexOf("'")&&(-1===t.indexOf('"')?e='"':t=t.replace(/'/g,"\\'")),e+t+e},BU.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},BU.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(_=t.getCommentText())&&(_=Rt.utils.string.wrap(_,BU.COMMENT_WRAP-3),n+=BU.prefixLines(_+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const GU={};GU["MixGo CE"]={description:"MicroPython[ESP32C3 MixGo CE]",digital_pin:ct.Profile.generate(["0-18","21-46"]),input_pin:ct.Profile.generate(["0-18","21-46"]),output_pin:ct.Profile.generate(["0-18","21-45"]),pwm_input:ct.Profile.generate(["0-18","21-46"],"pwm","pwm"),analog_input:ct.Profile.generate(["0-18","21-46"],"adc","adc"),pwm_output:ct.Profile.generate(["0-18","21-45"],"pwm","pwm"),analog_output:ct.Profile.generate(["0-18","21-45"],"adc","adc"),espnow_channel:ct.Profile.generate(["1-13"]),haskylens_model:ct.Profile.generate(["0-4"]),digital:ct.Profile.generate(["0-18","21-45"],"pin","pin"),pwm_pin:ct.Profile.generate(["0-18","21-45"]),pwm:ct.Profile.generate(["0-18","21-45"],"pwm","pwm"),analog_pin:ct.Profile.generate(["1-18"]),analog:ct.Profile.generate(["1-18"],"adc","adc"),dac_pin:ct.Profile.generate(["17-18"]),dac:ct.Profile.generate(["17-18"],"dac","dac"),touch:ct.Profile.generate(["1-14"],"tc","tc"),touch_pin:ct.Profile.generate(["1-14"]),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:ct.Profile.generate(["0-4"]),exlcdh:ct.Profile.generate(["0-15"]),exlcdv:ct.Profile.generate(["0-7"]),brightness:ct.Profile.generate(["0-9"]),tts_voice:ct.Profile.generate(["0-16"]),tts_builtin_music:ct.Profile.generate(["0-47"]),tts_bgmusic:ct.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["MUSIC_QUAVERS","onboard_matrix.MUSIC_QUAVERS"],["MUSIC_QUAVER","onboard_matrix.MUSIC_QUAVER"],["MUSIC_CROTCHET","onboard_matrix.MUSIC_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"],["DOOR_CLOSE","onboard_matrix.DOOR_CLOSE"],["DOOR_OPEN","onboard_matrix.DOOR_OPEN"],["DOOR_OPENING","onboard_matrix.DOOR_OPENING"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]},GU["ESP32S2 Generic"]={description:"MicroPython[ESP32C3 MixGo CC]",digital_pin:ct.Profile.generate(["0-42","45"]),input_pin:ct.Profile.generate(["0-42","45-46"]),output_pin:ct.Profile.generate(["0-42","45"]),pwm_input:ct.Profile.generate(["0-42","45-46"],"pwm","pwm"),analog_input:ct.Profile.generate(["0-18","21-46"],"adc","adc"),pwm_output:ct.Profile.generate(["0-42","45"],"pwm","pwm"),analog_output:ct.Profile.generate(["0-42","45"],"adc","adc"),espnow_channel:ct.Profile.generate(["1-13"]),haskylens_model:ct.Profile.generate(["0-4"]),digital:ct.Profile.generate(["0-42","45"],"pin","pin"),pwm_pin:ct.Profile.generate(["0-42","45"]),pwm:ct.Profile.generate(["0-42","45"],"pwm","pwm"),analog_pin:ct.Profile.generate(["1-20"]),analog:ct.Profile.generate(["1-20"],"adc","adc"),dac_pin:ct.Profile.generate(["17-18"]),dac:ct.Profile.generate(["17-18"],"dac","dac"),touch:ct.Profile.generate(["1-14"],"tc","tc"),touch_pin:ct.Profile.generate(["1-14"]),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:ct.Profile.generate(["0-4"]),exlcdh:ct.Profile.generate(["0-15"]),exlcdv:ct.Profile.generate(["0-7"]),brightness:ct.Profile.generate(["0-9"]),tts_voice:ct.Profile.generate(["0-16"]),tts_builtin_music:ct.Profile.generate(["0-47"]),tts_bgmusic:ct.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["MUSIC_QUAVERS","onboard_matrix.MUSIC_QUAVERS"],["MUSIC_QUAVER","onboard_matrix.MUSIC_QUAVER"],["MUSIC_CROTCHET","onboard_matrix.MUSIC_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]};const UU=GU,wU=20,kU={init:function(){this.setColour(wU),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_HIGH,"HIGH"],[Rt.Msg.MIXLY_LOW,"LOW"]]),"BOOL"),this.setOutput(!0,Boolean),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_HIGHLOW_TOOLTIP)}},HU={init:function(){this.setColour(wU),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_Digital_PINMODEOUT).setCheck(Number),this.appendValueInput("STAT").appendField(Rt.Msg.MIXLY_STAT).setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_DIGITAL_WRITE_TOOLTIP)}},WU={init:function(){this.setColour(wU),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Rt.Msg.MIXLY_Digital_PINMODEIN).setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_MACHINE_VALUE),this.setInputsInline(!0),this.setOutput(!0,[Boolean,Number]),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_DIGITAL_READ_TOOLTIP)}},KU={init:function(){this.setColour(wU),this.appendValueInput("PIN",Number).appendField("DAC"+Rt.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendValueInput("NUM",Number).appendField(Rt.Msg.MIXLY_VALUE2).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_TOOLTIP)}},JU={init:function(){this.setColour(wU),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_JS_PERIOD_MIL).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_mSecond,"period"],[Rt.Msg.MIXLY_uSecond,"period_microseconds"]]),"key"),this.appendValueInput("NUM",Number).appendField(Rt.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_SET_TOOLTIP)}},qU={init:function(){this.setColour(wU),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_Analog_PINMODEIN).setCheck(Number),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_ESP32_REF_VOLTAGE+Rt.Msg.MIXLY_STAT).appendField(new Rt.FieldDropdown([["3.3V","machine.ADC.ATTN_11DB"],["2.2V","machine.ADC.ATTN_6DB"],["1.5V","machine.ADC.ATTN_2_5DB"],["1.2V","machine.ADC.ATTN_0DB"]]),"atten"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_ANALOG_ATTEN_TOOLTIP)}},QU={init:function(){this.setColour(wU),this.appendValueInput("pin").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Rt.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_MACHINE_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_PIN_PRESSED_TOOLTIP)}},zU={init:function(){this.setColour(20),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_ATTACHINTERRUPT_PIN).setCheck(Number),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MODE).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[Rt.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[Rt.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(Rt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_PIN_ATTACHINTERRUPT_TOOLTIP)}},jU={init:function(){this.setColour(20),this.appendDummyInput().appendField(Rt.Msg.MIXLY_SETUP).appendField(new Rt.FieldTextInput("pin#"),"PIN_OBJ"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROPYTHON_AS).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_Digital_PINMODEOUT,"machine.Pin.OUT"],[Rt.Msg.MIXLY_Digital_PINMODEIN,"machine.Pin.IN"],[Rt.Msg.MIXLY_PINMODEPULLUP,"machine.Pin.IN, machine.Pin.PULL_UP"],[Rt.Msg.MIXLY_PINMODEPULLDOWN,"machine.Pin.IN, machine.Pin.PULL_DOWN"]]),"MODE"),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_DIGITAL_INIT_TOOLTIP)},getVars:function(){return["pin#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(e,"PIN_OBJ")}},$U={init:function(){this.setColour(wU),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_SETUP).appendField(new Rt.FieldTextInput("dac#"),"PIN_OBJ").appendField(Rt.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField("DAC"+Rt.Msg.MIXLY_Analog_PINMODEOUT),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_INIT_TOOLTIP)},getVars:function(){return["dac#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(e,"PIN_OBJ")}},ZU={init:function(){this.setColour(wU),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_SETUP).appendField(new Rt.FieldTextInput("tc#"),"PIN_OBJ").appendField(Rt.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_PIN_PRESSED_INIT_TOOLTIP)},getVars:function(){return["tc#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(e,"PIN_OBJ")}},tw={init:function(){this.setColour(wU),this.appendValueInput("PIN",Number).appendField("PWM"+Rt.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendValueInput("NUM",Number).appendField(Rt.Msg.MIXLY_FREQUENCY+Rt.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_PWM_ANALOG_WRITE_SET_FREQ_TOOLTIP)}},ew=jU,iw=ZU,nw=QU,sw=zU,_w=230,ow={init:function(){this.setColour(_w),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.digital),"PIN"),this.setOutput(!0)}},pw={init:function(){this.setColour(_w),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.digital_pin),"PIN"),this.setOutput(!0,Number)}},aw={init:function(){this.setColour(_w),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.input_pin),"PIN"),this.setOutput(!0,Number)}},uw={init:function(){this.setColour(_w),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.output_pin),"PIN"),this.setOutput(!0,Number)}},rw={init:function(){this.setColour(_w),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.espnow_channel),"PIN"),this.setOutput(!0,Number)}},lw={init:function(){this.setColour(_w),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.haskylens_model),"PIN"),this.setOutput(!0,Number)}},dw={init:function(){this.setColour(_w),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.pwm_input),"PIN"),this.setOutput(!0)}},Iw={init:function(){this.setColour(_w),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.analog_input),"PIN"),this.setOutput(!0)}},Tw={init:function(){this.setColour(_w),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.pwm_output),"PIN"),this.setOutput(!0)}},Mw={init:function(){this.setColour(_w),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.analog_output),"PIN"),this.setOutput(!0)}},hw={init:function(){this.setColour(_w),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.i2c_A_pin),"PIN"),this.setOutput(!0,Number)}},mw={init:function(){this.setColour(_w),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.i2c_B_pin),"PIN"),this.setOutput(!0,Number)}},Ew={init:function(){this.setColour(_w),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.spi_A_pin),"PIN"),this.setOutput(!0,Number)}},Ow={init:function(){this.setColour(_w),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.spi_B_pin),"PIN"),this.setOutput(!0,Number)}},Rw={init:function(){this.setColour(_w),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.spi_C_pin),"PIN"),this.setOutput(!0,Number)}},cw={init:function(){this.setColour(_w),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.spi_D_pin),"PIN"),this.setOutput(!0,Number)}},gw={init:function(){this.setColour(_w),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.analog),"PIN"),this.setOutput(!0)}},Cw={init:function(){this.setColour(_w),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.analog_pin),"PIN"),this.setOutput(!0,Number)}},Sw={init:function(){this.setColour(_w),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.dac),"PIN"),this.setOutput(!0)}},Aw={init:function(){this.setColour(_w),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.dac_pin),"PIN"),this.setOutput(!0,Number)}},Lw={init:function(){this.setColour(_w),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.button),"PIN"),this.setOutput(!0,Number)}},Nw={init:function(){this.setColour(_w),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.buttonB),"PIN"),this.setOutput(!0,Number)}},Dw={init:function(){this.setColour(_w),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.pwm),"PIN"),this.setOutput(!0)}},fw={init:function(){this.setColour(_w),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.pwm_pin),"PIN"),this.setOutput(!0,Number)}},Fw={init:function(){this.setColour(_w),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.touch_pin),"PIN"),this.setOutput(!0,Number)}},Pw={init:function(){this.setColour(_w),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.touch),"PIN"),this.setOutput(!0)}},vw={init:function(){this.setColour(_w),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.serial_pin),"PIN"),this.setOutput(!0,Number)}},Yw={init:function(){this.setColour(_w),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.builtinimg),"PIN"),this.setOutput(!0,"esp32_image")}},Xw={init:function(){this.setColour(_w),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.builtinimg_extern),"PIN"),this.setOutput(!0,"esp32_image")}},yw={init:function(){this.setColour(_w),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.imglist),"PIN"),this.setOutput(!0)}},bw={init:function(){this.setColour(_w),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.playlist),"PIN"),this.setOutput(!0)}},xw={init:function(){this.setColour(_w),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.playlist_extern),"PIN"),this.setOutput(!0)}},Vw={init:function(){this.setColour(_w),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.exlcdh),"PIN"),this.setOutput(!0,Number)}},Bw={init:function(){this.setColour(_w),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.exlcdv),"PIN"),this.setOutput(!0,Number)}},Gw={init:function(){this.setColour(_w),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.axis),"PIN"),this.setOutput(!0,Number)}},Uw={init:function(){this.setColour(_w),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.brightness),"PIN"),this.setOutput(!0,Number)}},ww={init:function(){this.setColour(_w),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.tts_voice),"PIN"),this.setOutput(!0,Number)}},kw={init:function(){this.setColour(_w),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.tts_builtin_music),"PIN"),this.setOutput(!0,Number)}},Hw={init:function(){this.setColour(_w),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.tts_bgmusic),"PIN"),this.setOutput(!0,Number)}},Ww={init:function(){this.setColour(_w),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.tone_notes),"PIN"),this.setOutput(!0,Number)}},Kw={init:function(){this.setColour(_w),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.radio_power),"PIN"),this.setOutput(!0,Number)}},Jw={init:function(){this.setColour(_w),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.radio_datarate),"PIN"),this.setOutput(!0,Number)}},qw={init:function(){this.setColour(_w),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.one_more),"PIN"),this.setOutput(!0)}},Qw={init:function(){this.setColour(_w),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.digital_dot),"PIN"),this.setOutput(!0,Number)}},zw={init:function(){this.setColour(_w),this.appendDummyInput("").appendField(new Rt.FieldDropdown([["0","0"],["1","1"],["2","2"],["3","3"]]),"PIN"),this.setOutput(!0,Number)}},jw=function(t,e){return["HIGH"==this.getFieldValue("BOOL")?"1":"0",e.ORDER_ATOMIC]},$w=function(t,e){e.definitions_.import_machine="import machine";var i="";return i+=e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".value("+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"},Zw=function(t,e){e.definitions_.import_machine="import machine";return[e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".value()",e.ORDER_ATOMIC]},tk=function(t,e){return e.definitions_.import_machine="import machine",e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".write("+e.valueToCode(this,"NUM",e.ORDER_ATOMIC)+")\n"},ek=function(t,e){e.definitions_.import_machine="import machine";var i=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),n=e.valueToCode(this,"NUM",e.ORDER_ATOMIC);return i+".set_analog_"+this.getFieldValue("key")+"("+n+")\n"},ik=function(t,e){return e.definitions_.import_machine="import machine",[e.valueToCode(this,"pin",e.ORDER_ATOMIC)+".read()",e.ORDER_ATOMIC]},nk=function(t,e){e.definitions_.import_machine="import machine";var i=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),n=this.getFieldValue("mode");return"machine.Pin("+i+").irq(handler = "+e.valueToCode(this,"DO",e.ORDER_ATOMIC)+", trigger = "+n+")\n"},sk=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"pin#",n=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),s=this.getFieldValue("MODE");return("pin#"==i?"pin"+n:e.variableDB_.getName(i,Rt.Variables.NAME_TYPE))+" = machine.Pin("+n+", "+s+")\n"},_k=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"dac#",n=e.valueToCode(this,"PIN",e.ORDER_ATOMIC);return("dac#"==i?"dac"+n:e.variableDB_.getName(i,Rt.Variables.NAME_TYPE))+" = machine.DAC(machine.Pin("+n+"))\n"},ok=function(t,e){return e.definitions_.import_machine="import machine",e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".atten("+this.getFieldValue("atten")+")\n"},pk=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"tc#",n=e.valueToCode(this,"PIN",e.ORDER_ATOMIC);return("tc#"==i?"tc"+n:e.variableDB_.getName(i,Rt.Variables.NAME_TYPE))+" = machine.TouchPad(machine.Pin("+n+"))\n"},ak=function(t,e){return[this.getFieldValue("PIN"),e.ORDER_ATOMIC]},uk=ak,rk=ak,lk=ak,dk=ak,Ik=ak,Tk=ak,Mk=ak,hk=ak,mk=ak,Ek=ak,Ok=ak,Rk=ak,ck=ak,gk=ak,Ck=ak,Sk=ak,Ak=ak,Lk=ak,Nk=ak,Dk=ak,fk=ak,Fk=ak,Pk=ak,vk=ak,Yk=ak,Xk=ak,yk=ak,bk=ak,xk=ak,Vk=ak,Bk=ak,Gk=ak,Uk=ak,wk=ak,kk=ak,Hk=ak,Wk=ak,Kk=ak,Jk=ak,qk=ak,Qk=ak,zk=ak,jk=ak,$k=ak,Zk=ak;Object.assign(Rt.Variables,Ct),Object.assign(Rt.Procedures,Bu),Object.assign(Rt.Lang.ZhHans,It),Object.assign(Rt.Lang.ZhHant,Tt),Object.assign(Rt.Lang.En,Mt),Rt.Python=Gu,Rt.generator=Gu,ct.Profile.default={},Object.assign(ct.Profile,UU),Object.assign(ct.Profile.default,UU["MixGo CE"]),Object.assign(Rt.Blocks,e,i,n,s,_,o,p,a,u,r,l,d,I,V,W,H,X,B,K,f,k,w,U,G,F,D,N,b,y,x,P,v,Y,ht,mt),Object.assign(Rt.Python.forBlock,T,M,h,m,E,O,R,c,g,C,S,A,L,st,lt,rt,tt,_t,dt,Q,ut,at,pt,ot,z,q,J,it,et,nt,j,$,Z,Et,Ot)})(); \ No newline at end of file diff --git a/boards/default/micropython_esp32s2/styles/main.6b462d86.css b/boards/default/micropython_esp32s2/styles/main.67b926d4.css similarity index 97% rename from boards/default/micropython_esp32s2/styles/main.6b462d86.css rename to boards/default/micropython_esp32s2/styles/main.67b926d4.css index eae6f6ca..a0497b53 100644 --- a/boards/default/micropython_esp32s2/styles/main.6b462d86.css +++ b/boards/default/micropython_esp32s2/styles/main.67b926d4.css @@ -168,6 +168,16 @@ div.blocklyToolboxDiv>div.blocklyToolboxContents>div:nth-child(12)>div.blocklyTr background-size: 100% auto; } +#catPE_G1.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NToyMiswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6MjIrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6ZDNmNzAyOWQtOWMwYy00NTRiLTllMTQtNTg0MjY3NTRiYWMyPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOmQzZjcwMjlkLTljMGMtNDU0Yi05ZTE0LTU4NDI2NzU0YmFjMjwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOmQzZjcwMjlkLTljMGMtNDU0Yi05ZTE0LTU4NDI2NzU0YmFjMjwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDpkM2Y3MDI5ZC05YzBjLTQ1NGItOWUxNC01ODQyNjc1NGJhYzI8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+/zmC9wAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAADFklEQVR42uzXPYgdVRjG8f/znnFbEUWwFBENKVLEMosoWNiYoEnYL4MEtbAQoqsi9gHNrh+FYKKNMfeGZZeNNoKaJhIrU9ikEQnpUq2gRYp1zvtYzFxJjAlC5pImpxyGc37M+3HekW3u5NJdwLWA5fEikUGNpC2VsChZ3ha8D/zu1HzC9xEJGSQQpULb4EgiEtfSPY+EWrBMlIrbhiyVAFYWRjcHKAMDLhWh3bIu2HwmeAzxlGEd8iVquZoaHLD0hcwm1rcKAB8yfOkaQgnFr8o6jozbWEwxHhTw1njJ4I+AN0AA+4F1Uo8gX0oZarkvIkcEz9qcBx+klitDAt4DjvaAF4ANUg8Dl90foKgg9gmdAXDGspWrUwcApIVKBcC1lCh5QnDY8Bt4nzMuThVgC3oAtUBUCO+R42vgfpvVtJanBgBwJAZUC5SKZahBBEeBd4E/jZ+jLeccUwAgk/L1gAxCxvC4rE2JHU59lfByRN12HRIAXa8AFHkdIPvQROTrhD8BgX3AtWwMCgBIQDLuO+O1AJWK4UE5Tof8tK2zVTkXsDUYwAA3+QI9ANqGaNqDwJoRmD0ri6d+GgTwT0LeAqC2gabFFiF+Bp44tnBKwwCs7vBIMoMAVCqZgTKgaclaCAuaFjkuALsHA9iC/wVgIZocuQPPrsyPzg9TBVb3Vn/oDYBSHwKtBcw69UPK80Rurc6PByjDSJyB+s54A8BxJCI/dJeKB1zLhiMhkmEApXYX078BkTsNZyQ9StXJlF9R5Pbkyp4uQD4msQz8YeVe2uac5e7yGgrgPvvVJ5hS0NQnhb4B7rX5wNY76puT+7DcPsBcJro6V8YEMBPwOeFD4F+B551xcdKihweU7OaBDFTqftB6X45HjD+eDCS3C/jvkQwu9bF+QGgs+RnjH8FzynIlZYYAHE9508rvGgfAi7ZOdkOpUeRriE8B3JYFy6ejVKiFYQCjJWqppEVTC8AuhX9x6oTEDuRZmzWUh6nN1cm0MyygacntGbQ9A6VS7vnrTYVXsLacmrM5q6bfcGjA3X/DO7H+HgDRj5vujRlaHAAAAABJRU5ErkJggg==) no-repeat; + background-size: 100% auto; +} + +#catPE_G1.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NToyMyswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6MjMrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6ZmEyZmFlYWEtZjcyYS1hYjQzLThkN2EtYjEwY2QxMTA3MmNiPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOmZhMmZhZWFhLWY3MmEtYWI0My04ZDdhLWIxMGNkMTEwNzJjYjwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOmZhMmZhZWFhLWY3MmEtYWI0My04ZDdhLWIxMGNkMTEwNzJjYjwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDpmYTJmYWVhYS1mNzJhLWFiNDMtOGQ3YS1iMTBjZDExMDcyY2I8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+wqwjaAAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAABl0lEQVR42uzXP0hVcRjG8c9FcI0wgsYQSWloqDEJgwYXk/6IFYaEOjQIlRTRLpTanyHIaqlQEaV0ESoXI6ccWlxCws1JwYaGltvyHrhIQ8O9ryC+0+89cA7f3znv73meUyqXy3azSvsA/wFwFw+xhSv4lAlwEit4gWNowwx68bsWAK/xHgvRX8cblKIfwHisr2Gy2gBlPMHt6C/FjhvxM64dxATa8RVd2KgmwAMMR38RsziK9R33duJDrIcwlg0AdXiJG1gLqNVMgKJOYw4N8SaGsgGKGsZ9/EIHlrIBoDlOUgveoQ9/MgGKGsSzWF+O56QCwGFM4SwW0Y3NTICiujBdMbDL2QBFfcOpCmVNB1gJf0kHuBryDa0h4SkAR+Lbt+Jz2HnaEN7C4904hsfDpJrwFv2ZQjQSPrCN85lSfAbzOIBHuJdlRvV4FcnpBy5k2nGRloqBe5oVyQ5FFjyHL6HvVYtk42GlH6PviUkulOsmnleIy1StY/kJfI/Y1RKCMh0RrCax/F91B6OhYN1hq/v/hnsH4O8A38/3wXV4mTEAAAAASUVORK5CYII=) no-repeat; + background-size: 100% auto; +} + #catCC_G1.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NjowNCswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTY6MDQrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6ZTgzOWI5NTgtMjZhNy1kYTQwLTg1NDQtZWRkY2UzZjYzYmNhPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOmU4MzliOTU4LTI2YTctZGE0MC04NTQ0LWVkZGNlM2Y2M2JjYTwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOmU4MzliOTU4LTI2YTctZGE0MC04NTQ0LWVkZGNlM2Y2M2JjYTwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDplODM5Yjk1OC0yNmE3LWRhNDAtODU0NC1lZGRjZTNmNjNiY2E8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+w67uMwAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAFA0lEQVR42sSXS6hkVxWGv3/tfW4bgxIJNK1RuKJ4J42PgWJGCUkEHwMHcZSbgYKQgWRqRKI4izF3IoiERnzQ3pkRRwaFpB21GATRJpDuIDFog23EGNMm3XXOXr+DU1W36tbDJhlkD+ucOvtba/3r32vLNm/l0uHBfXdJfOSN/h+7DarnWpQ/iTEYI2SzkxOESQcArRSGqGghaB0e7P8W+OSbCGIw+klKX8ZLZBTaCGRtBfCU+iLYQNzoxsDbBbvAZSfvnT0wIpRIvmGAl2xOzlK1IdeglZ9vDvkq8HxaH1p8UNTmGyXx/wFInyTAEhzTpWQaBaWRPb4zrltD/ucigNG4eRijEbrxpMwHhlI+00f353AeAzBXpDyl4o3RX9PbaC7UHIicf+C2kP8GXEprbx59NDKCzDHyIM+Gfb/R633Uj1m6uAhwbRrlGcbY19TB0ahnmuKPAKW17QAaAdxEaY2sAdKjkflVS6/YvCecr80A/gW8a8yVNyqA5CvG3wcWS7ACEE4UHjNAoQ49GcH1ukPX2g9rDl9CPpfEXZbQ4cH+AFwF7t0meVsXDP849vMcoFl7YRNuEPFwhqrRt5QmS4EYn0XjBVu7rcbnMuKXMxFewT6FtA1gXX6WM6AxO+F0GCw/k9an+rrzn+qBkgMmbhecR7yYYncG8Hfsd/sYgOy5KuzYCuBkr0Wh7zq6Nvlg19oPEHckerZFOW1EbQMiQboAOp3SJ3R4sD8BesM3jgoOwAmZ87Z/M+3F0VC0OQOy6WtHkJRsCM7JvtPSd4YoD4WTaAnSA4jHDQc6PNh/GbhlbdrRU2ndo43iXAVoUXBopumbuhz+C6gR7wRenXrAnuA5i9/r8GC/BybYDy61oelU+IMifzezUlvz3t7WhtTRO4wI+6wa9zfpCyk9UTIRrkg90C9p4Fj4qHhsqQwiRm/v+w5bM59fCxDMzgFj4gHQ49hfF37EsxpKLwO3LANsOYYUSYmktcIw1DcEADyy4O9zgLEEmpdAqy5EAX4dkX+xRWvlBkowraf9UzX2m3RvSj8vmciuhHpgslWEyz4QDyZ875ggVwBk4xB9qYS9KMJ3AFfnIhTPmVGEE6DH/uaWDHRYPzM8fyNWbAmHCHvWho8OUb62pg0f2yzC1Z6cr1SstWJhSiYZ8T6Js8J3GD07LBmRQVwAnbb08a1WbIRtgukcgBY3Xz0Lxjc6FJPpF56xdc+k7rzauR9PRpXbhc8jv5jS7tbDyOivaS5pNhF5Kf3LJUj2HEHWiDoM35V4JdHDaqaVgooZS+AXjHZbic9m6MmF43ht8/3K6U+PaR8xtonQEn3tONGuI8zgyg4TmgrX4wQ1hx91OXzR4unmcvfsOL42jfYMPnJC4ZKKp1rEE7YoNKoGMsdJZ50PyGYolUIjSByiU8/QKk59u8gPJfq3zW2yX1ucCa/YnEoLpjOhnAy14hp02VNoRzo4gljpAksESWUYQzGkyy+MPg+83kf9qKVLq0Opx6F0SQPTjwU5n2znQ2orOOPWiFwaSuVxGnJoCgzFvhxu2Ue9cyjrh9KXFHmSmDv1aAg+6oZ1KzNu1ijgFYC+dnO9lNZqyTZkBEPZcDGRfNEbh9K1U+IA3GTr/YbLTC8mllCaVsuofpvIcT7YBPBmr2bN6MeLVzMx3h1mm20HeOy+u018mO1j8cZECGeLeHrxcjqr4cwztgK81dfz/w0AHjWdyjCbBL0AAAAASUVORK5CYII=) no-repeat; background-size: 100% auto; diff --git a/boards/default/micropython_esp32s3/index.xml b/boards/default/micropython_esp32s3/index.xml index e9cf5aea..3da882ff 100644 --- a/boards/default/micropython_esp32s3/index.xml +++ b/boards/default/micropython_esp32s3/index.xml @@ -1 +1 @@ -02000attachInterrupt_funcattachInterrupt_func10,1,2,3051i5000DIVIDE10Exception as eetestThreadtestThreadWHILETRUEHello Mixly from Thread!ms10tim1000tim_callbacktim_callback200090x151100a10.998124.82997110010101000110050110011000110x2x0,1,2,30,1,2,30,1,2,3xMixlyMixlyHelloMixly65axMixlyMixly0Mixly02MixlyMixlyHello,mixlyl--mylistHello,mixlymixlymixpyI love mixly!I love mixlyRandom No. is {}int1100input('1+2*3')mylist1,2,3,4,5mylist0mylist02mylistmylistmylist0mylist00mylist00mylist0mylist0mylist0mylistmylistmylistxmytup1,2,3,4,5mytup0mytup02mytupmytupmytupmytup0mytupmytup1mytup2xmydictmydictkeymydictkey0mydictkey0mydictkeymydictkeymydictkey0mydictmydictmydictmydictxmydict{"name":"Mixly","color":"green"}s11,2,3,4,5s1s1s1s2s1s2s10s1Mixlys1s2xMixlyMixlyMixly,HelloMixlyprompt02MixlyMixly0XFF00FFcodebMixlyMixly1attachInterrupt_funcattachInterrupt_func00Mixly0Mixly2022711420452023,1,1,12,0,0180292023,1,1,12,0,01001001004401000/sd/1.wav5/sd/1.wavhttps://gitee.com/dahanzimin/test/raw/master/wav/8.wav44044010000100412000000000001000100010020000Hello, Mixly!10001#ffffff255,255,0Mixly0Mixly0010#ffffff255,255,0Mixly001#ffffff255,255,0mixly.jpgmixlyMixly001#ffffff255,255,0MixlyMixly0550#ffffff255,255,0MixlyMixly5500#ffffff255,255,00020#ffffff255,255,0005050#ffffff255,255,020202015#ffffff255,255,0606040#ffffff255,255,010000#ffffff255,255,00.5#ffffff255,255,0new_clock16012040#ffffff255,255,0new_clock806440#ffffff255,255,0new_clock12012040#ffffff255,255,0new_clocknew_clock8200new_clocknew_clock0x0000000,0,00#ffffff255,255,0你们,米思齐3mixly.jpgimageModelModelModelnameModelModelModelModelModelModelModelModelimageimage90imageimagemixly.jpg90imagemixly.jpg240240imagehttps://gitee.com/dahanzimin/test/raw/master/pic/mixly.jpg240240mixly.jpgmixly.jpg00imageimage00240240imageimage00ModelModelface.dbModelModel256Model0,0,0255,255,255color256ModelimagenameModel1ModelModel_resultsModelimage_results_results_results0_results0_results0_results0_results000Mixly0Mixly5000500wifinamewifipasswordmixio.mixly.cnmixio.mixly.cnA1B2C3mixio.mixly.cnusernamepasswordMyProjecttopicmsgtopicmsgtopicmethodmethodEQmsg1content"long""lat""message"012content"key1""key2""key3"012https://mixio.mixly.cn/time.phpmixio.mixly.cn12.jpgwifinamewifipasswordcsub_cb31444082183.230.40.3914109261n63JySRowo13ZLDBKw6y896E0=MixlyRobotsub_cbEQmsg1ciot_dict"tc"tc0ciot_dictccwifinamewifipasswordclientEnter Your API_KEYEnter Your SECRET_KEYclient1clientS72099北京今天天气如何?wifinamewifipasswordSVa3S0UKHIy9dDArs北京SVa3S0UKHIy9dDArs北京11111https://mixio.mixly.cn/tinydbusernamepasswordmqtt_clientmixlyhellomixly11mixlymixlyble_cble_pMixlyble_cble_cMixlyble_cble_xble_xble_xMixlyble_xble_xble_methodble_methodEQdataMixlyhandlehandle_methodhandle_methodkey1key2key3keyxble_keyboard_mouse10Hello, Mixly!10i2c2221100000i2c00i2c00i2ci2ci2cspi200000045spi200000buf50spi10spi100xffspibufspibuf0xffspi12345spi12345buf1Mixlyow12owowow12345ow12345owmy_now0my_nowmy_nowmy_nowFFFFFFFFFFFFmixlymy_nowmy_nowcbcbEQmsg1spi10000004512spi8my_lora433.925716my_loramy_loramy_loraMixlyi2c_extend45100000xsensori2c_extendxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensor1013.25xsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensor5000500xsensorxsensorxsensorxsensorxsensorxsensorspi10000004512spi8ysensorysensorysensor0ysensor0ysensor0Mixlyysensor0Mixlyysensorysensor39,119.96,31.67ysensorysensorstation45ps2_handle24512ps2_handle50ps2_handleps2_handlews_wr123ws_wrws_wrws_wr360010zsensorzsensorzsensorzsensorzsensorweight12500weightKEYPAD_4_4123A456B789C*0#DKEYPAD_4_4var_re345rotary_cbrotary_cbmidi0midi440midi4401000midimidi100midimidimidi4120midimidirgb04rgb0000rgb000rgb0001000rgb1000rgb100100i2c_extend45400000Motori2c_extendMotor100Motor1024102402actuatoractuatoractuatoractuatoractuator你好米思齐actuatoractuatoractuator20actuatoractuatormixly*.mp3100100i2c_extend45400000matrixi2c_extendmatrixmatrixmatrixMixly0matrixMixlymatrixMixly500matrixMixlymatrixMixly500matrixmatrixmatrixmatrix1matrixmatrixmatrix0.5matrixmatrixdisp34disp2333dispdisp1i2c_extend45100000lcdi2c_extend0x27lcdMixly00lcdMixly005lcdlcdi2c_extend45100000oledi2c_extend0x3coledoled001oledMixlyoledMixly0010oledMixlyoledMixly0550oledMixlyoledMixly5500oled0020oled005050oled20202015oled1oled00oled00oledspi10000001246spi45tft_st7789135240tft_st7789001#ffffff255,255,0tft_st7789Mixly0050#ffffff255,255,0tft_st7789Mixly0550#ffffff255,255,0tft_st7789Mixly5500#ffffff255,255,0tft_st7789004040#ffffff255,255,0tft_st778912ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor'ni-hao','hong-se','lv-se','lan-se','bai-se','hei-se'0.1ai_sensor1.wav5ai_sensor1.wav100ai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsai_sensor'猫','狗','笔记本','笔'mixgo5自模型训练infoai_sensor'猫','狗','笔记本','笔'mixgo自模型识别objectsinfoai_sensor0.1606, 0.3562, 0.4712, 0.9568, 0.9877, 1.9108, 1.8761, 3.5310, 3.4423, 5.6823/sd/masks.kmodel外部模型加载objects12ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor1.wav5ai_sensor1.wav100infoai_sensorlicensePlateinfoai_sensorfaceinfoai_sensor20objectsai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsspi46sdsd/sdfilename.txtfMixlyfff0fffpathpathfilename.txtsrcname.txtdstname.txtff0wifinamewifipasswordwlanwlanwlanwlanwlan127.16.0.801234567wlanwlanwlanwlanwlanmixly123456781connect_wifiwlanAPwlanTruewlanwlanSmallCabbage1234561WHILETRUEEQ0wlan0.0.0.0ms1000TRUEss0.0.0.080s192.168.0.180s5sss1024sbMixlyresponses1024sbMixlyresponse127.0.0.180sntp.aliyun.comresponsehttp://mixio.mixly.cnresponsehttp://mixio.mixly.cnresponsehttp://192.168.1.1:11434qwen2.5-coder:0.5b5https://api.deepseek.comAPI Keydeepseek-chat5请介绍一下米思齐?content_callbackcontent_callbackcontent请介绍一下米思齐? \ No newline at end of file +02000attachInterrupt_funcattachInterrupt_func10,1,2,3051i5000DIVIDE10Exception as eetestThreadtestThreadWHILETRUEHello Mixly from Thread!ms10tim1000tim_callbacktim_callback200090x151100a10.998124.82997110010101000110050110011000110x2x0,1,2,30,1,2,30,1,2,3xMixlyMixlyHelloMixly65axMixlyMixly0Mixly02MixlyMixlyHello,mixlyl--mylistHello,mixlymixlymixpyI love mixly!I love mixlyRandom No. is {}int1100input('1+2*3')mylist1,2,3,4,5mylist0mylist02mylistmylistmylist0mylist00mylist00mylist0mylist0mylist0mylistmylistmylistxmytup1,2,3,4,5mytup0mytup02mytupmytupmytupmytup0mytupmytup1mytup2xmydictmydictkeymydictkey0mydictkey0mydictkeymydictkeymydictkey0mydictmydictmydictmydictxmydict{"name":"Mixly","color":"green"}s11,2,3,4,5s1s1s1s2s1s2s10s1Mixlys1s2xMixlyMixlyMixly,HelloMixlyprompt02MixlyMixly0XFF00FFcodebMixlyMixly1attachInterrupt_funcattachInterrupt_func00Mixly0Mixly2022711420452023,1,1,12,0,0180292023,1,1,12,0,01001001004401000/sd/1.wav5/sd/1.wavhttps://gitee.com/dahanzimin/test/raw/master/wav/8.wav44044010000100412000000000001000100010020000Hello, Mixly!10001#ffffff255,255,0Mixly0Mixly0010#ffffff255,255,0Mixly001#ffffff255,255,0mixly.jpgmixlyMixly001#ffffff255,255,0MixlyMixly0550#ffffff255,255,0MixlyMixly5500#ffffff255,255,00020#ffffff255,255,0005050#ffffff255,255,020202015#ffffff255,255,0606040#ffffff255,255,010000#ffffff255,255,00.5#ffffff255,255,0new_clock16012040#ffffff255,255,0new_clock806440#ffffff255,255,0new_clock12012040#ffffff255,255,0new_clocknew_clock8200new_clocknew_clock0x0000000,0,00#ffffff255,255,0你们,米思齐3mixly.jpgimageModelModelModelnameModelModelModelModelModelModelModelModelimageimage90imageimagemixly.jpg90imagemixly.jpg240240imagehttps://gitee.com/dahanzimin/test/raw/master/pic/mixly.jpg240240mixly.jpgmixly.jpg00imageimage00240240imageimage00ModelModelface.dbModelModel256Model0,0,0255,255,255color256ModelimagenameModel1ModelModel_resultsModelimage_results_results_results0_results0_results0_results0_results0i2c_extend2122400000pei2c_extendpepe100pepe100pepe100pe00Mixly0Mixly5000500wifinamewifipasswordmixio.mixly.cnmixio.mixly.cnA1B2C3mixio.mixly.cnusernamepasswordMyProjecttopicmsgtopicmsgtopicmethodmethodEQmsg1content"long""lat""message"012content"key1""key2""key3"012https://mixio.mixly.cn/time.phpmixio.mixly.cn12.jpgwifinamewifipasswordcsub_cb31444082183.230.40.3914109261n63JySRowo13ZLDBKw6y896E0=MixlyRobotsub_cbEQmsg1ciot_dict"tc"tc0ciot_dictccwifinamewifipasswordclientEnter Your API_KEYEnter Your SECRET_KEYclient1clientS72099北京今天天气如何?wifinamewifipasswordSVa3S0UKHIy9dDArs北京SVa3S0UKHIy9dDArs北京11111https://mixio.mixly.cn/tinydbusernamepasswordmqtt_clientmixlyhellomixly11mixlymixlyble_cble_pMixlyble_cble_cMixlyble_cble_xble_xble_xMixlyble_xble_xble_methodble_methodEQdataMixlyhandlehandle_methodhandle_methodkey1key2key3keyxble_keyboard_mouse10Hello, Mixly!10i2c2221100000i2c00i2c00i2ci2ci2cspi200000045spi200000buf50spi10spi100xffspibufspibuf0xffspi12345spi12345buf1Mixlyow12owowow12345ow12345owmy_now0my_nowmy_nowmy_nowFFFFFFFFFFFFmixlymy_nowmy_nowcbcbEQmsg1spi10000004512spi8my_lora433.925716my_loramy_loramy_loraMixlyi2c_extend45100000xsensori2c_extendxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensor1013.25xsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensor5000500xsensorxsensorxsensorxsensorxsensorxsensorspi10000004512spi8ysensorysensorysensor0ysensor0ysensor0Mixlyysensor0Mixlyysensorysensor39,119.96,31.67ysensorysensorstation45ps2_handle24512ps2_handle50ps2_handleps2_handlews_wr123ws_wrws_wrws_wr360010zsensorzsensorzsensorzsensorzsensorweight12500weightKEYPAD_4_4123A456B789C*0#DKEYPAD_4_4var_re345rotary_cbrotary_cbmidi0midi440midi4401000midimidi100midimidimidi4120midimidirgb04rgb0000rgb000rgb0001000rgb1000rgb100100i2c_extend45400000Motori2c_extendMotor100Motor1024102402actuatoractuatoractuatoractuatoractuator你好米思齐actuatoractuatoractuator20actuatoractuatormixly*.mp3100100i2c_extend45400000matrixi2c_extendmatrixmatrixmatrixMixly0matrixMixlymatrixMixly500matrixMixlymatrixMixly500matrixmatrixmatrixmatrix1matrixmatrixmatrix0.5matrixmatrixdisp34disp2333dispdisp1i2c_extend45100000lcdi2c_extend0x27lcdMixly00lcdMixly005lcdlcdi2c_extend45100000oledi2c_extend0x3coledoled001oledMixlyoledMixly0010oledMixlyoledMixly0550oledMixlyoledMixly5500oled0020oled005050oled20202015oled1oled00oled00oledspi10000001246spi45tft_st7789135240tft_st7789001#ffffff255,255,0tft_st7789Mixly0050#ffffff255,255,0tft_st7789Mixly0550#ffffff255,255,0tft_st7789Mixly5500#ffffff255,255,0tft_st7789004040#ffffff255,255,0tft_st778912ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor'ni-hao','hong-se','lv-se','lan-se','bai-se','hei-se'0.1ai_sensor1.wav5ai_sensor1.wav100ai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsai_sensor'猫','狗','笔记本','笔'mixgo5自模型训练infoai_sensor'猫','狗','笔记本','笔'mixgo自模型识别objectsinfoai_sensor0.1606, 0.3562, 0.4712, 0.9568, 0.9877, 1.9108, 1.8761, 3.5310, 3.4423, 5.6823/sd/masks.kmodel外部模型加载objects12ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor1.wav5ai_sensor1.wav100infoai_sensorlicensePlateinfoai_sensorfaceinfoai_sensor20objectsai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsspi46sdsd/sdfilename.txtfMixlyfff0fffpathpathfilename.txtsrcname.txtdstname.txtff0wifinamewifipasswordwlanwlanwlanwlanwlan127.16.0.801234567wlanwlanwlanwlanwlanmixly123456781connect_wifiwlanAPwlanTruewlanwlanSmallCabbage1234561WHILETRUEEQ0wlan0.0.0.0ms1000TRUEss0.0.0.080s192.168.0.180s5sss1024sbMixlyresponses1024sbMixlyresponse127.0.0.180sntp.aliyun.comresponsehttp://mixio.mixly.cnresponsehttp://mixio.mixly.cnresponsehttp://192.168.1.1:11434qwen2.5-coder:0.5b5https://api.deepseek.comAPI Keydeepseek-chat5请介绍一下米思齐?content_callbackcontent_callbackcontent请介绍一下米思齐? \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/main.bundle.3a511bf2.js b/boards/default/micropython_esp32s3/main.bundle.3a511bf2.js new file mode 100644 index 00000000..63dbcf6f --- /dev/null +++ b/boards/default/micropython_esp32s3/main.bundle.3a511bf2.js @@ -0,0 +1,21 @@ +(()=>{"use strict";var e={d:(t,i)=>{for(var n in i)e.o(i,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:i[n]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};e.r(t),e.d(t,{controls_type:()=>ve,controls_typeLists:()=>Xe,lists_zip:()=>ye,lists_zip_container:()=>xe,lists_zip_item:()=>be,unpack_iterable_object:()=>Ve,variables_change:()=>Pe,variables_get:()=>fe,variables_global:()=>Ye,variables_set:()=>Fe});var i={};e.r(i),e.d(i,{base_setup:()=>Ue,controls_delay:()=>we,controls_end_program:()=>He,controls_except:()=>it,controls_finally:()=>nt,controls_flow_statements:()=>ze,controls_for:()=>qe,controls_forEach:()=>Ke,controls_for_range:()=>je,controls_if:()=>ke,controls_if_else:()=>et,controls_if_elseif:()=>Ze,controls_if_if:()=>$e,controls_lambda:()=>_t,controls_main:()=>Ge,controls_pass:()=>ot,controls_range:()=>We,controls_repeat_ext:()=>st,controls_thread:()=>pt,controls_try:()=>tt,controls_try_finally:()=>Qe,controls_whileUntil:()=>Je,datetime_fromtimestamp:()=>It,do_while:()=>at,garbage_collection:()=>ut,gene_unique_identifier:()=>Tt,get_mem_alloc:()=>rt,get_mem_free:()=>lt,get_unique_identifier:()=>dt});var n={};e.r(n),e.d(n,{base_map:()=>yt,generate_cartesian_product:()=>bt,math_arithmetic:()=>Ot,math_bit:()=>ct,math_constant:()=>mt,math_constant_mp:()=>Et,math_constrain:()=>Dt,math_dec:()=>Ct,math_degree_to_radian:()=>Bt,math_indexer_number:()=>Ft,math_map:()=>ft,math_max_min:()=>At,math_number:()=>ht,math_number_base_conversion:()=>Lt,math_radian_to_degree:()=>Vt,math_random:()=>Nt,math_random_seed:()=>Pt,math_round:()=>Yt,math_selfcalcu:()=>Rt,math_to_int:()=>St,math_trig:()=>gt,text_to_number:()=>vt,text_to_number_skulpt:()=>Xt,turn_to_int:()=>xt});var s={};e.r(s),e.d(s,{ascii_to_char:()=>Kt,char_to_ascii:()=>Jt,number_to_text:()=>Qt,os_system:()=>Oi,text:()=>Ut,text_bytes:()=>Ht,text_capital:()=>ni,text_center:()=>si,text_char:()=>kt,text_char_at:()=>jt,text_char_at2:()=>qt,text_char_at3:()=>Mi,text_compareTo:()=>Ti,text_compare_to:()=>ii,text_create_with_container:()=>li,text_create_with_item:()=>di,text_encode:()=>mi,text_equals_starts_ends:()=>ti,text_eval:()=>Ei,text_find:()=>_i,text_format:()=>ri,text_format_noreturn:()=>hi,text_join:()=>Wt,text_join_seq:()=>oi,text_length:()=>zt,text_random_char:()=>$t,text_replace:()=>pi,text_split:()=>ai,text_strip:()=>ui,text_substring:()=>ei,text_substring2:()=>Zt,text_substring3:()=>Ii,text_textarea:()=>wt});var _={};e.r(_),e.d(_,{ENUMERATE:()=>tn,content_in_lists:()=>sn,enumerate:()=>nn,list_many_input:()=>wi,list_tolist:()=>Ki,list_tolist2:()=>en,list_trig:()=>Bi,lists_2d_get_col_row_data:()=>Si,lists_2d_get_data_with_col_row:()=>Ci,lists_append_extend:()=>Fi,lists_change_to:()=>Ui,lists_change_to_general:()=>ki,lists_clear:()=>yi,lists_create_with:()=>Ai,lists_create_with2:()=>Ji,lists_create_with_container:()=>Ni,lists_create_with_item:()=>Di,lists_create_with_noreturn:()=>Hi,lists_create_with_text:()=>Li,lists_create_with_text2:()=>Qi,lists_del_general:()=>Wi,lists_find:()=>Vi,lists_getIndex3:()=>zi,lists_getSublist3:()=>qi,lists_get_index:()=>ci,lists_get_random_item:()=>Pi,lists_get_random_sublist:()=>Yi,lists_get_sublist:()=>gi,lists_insert_value:()=>vi,lists_insert_value2:()=>$i,lists_pop:()=>bi,lists_remove_at:()=>xi,lists_remove_at2:()=>Zi,lists_reverse:()=>Xi,lists_setIndex3:()=>ji,lists_set_index:()=>fi,lists_sort:()=>Gi});var o={};e.r(o),e.d(o,{dicts_add_change_del:()=>Rn,dicts_add_or_change:()=>dn,dicts_clear:()=>Mn,dicts_create_with:()=>on,dicts_create_with_container:()=>pn,dicts_create_with_item:()=>an,dicts_create_with_noreturn:()=>Cn,dicts_deldict:()=>On,dicts_delete:()=>In,dicts_get:()=>rn,dicts_get_default:()=>ln,dicts_items:()=>hn,dicts_keys:()=>un,dicts_length:()=>En,dicts_pop:()=>cn,dicts_setdefault:()=>gn,dicts_to_json:()=>An,dicts_to_json2:()=>Dn,dicts_to_to:()=>Nn,dicts_todict:()=>Sn,dicts_update:()=>Tn,dicts_values:()=>mn,json_to_dicts:()=>Ln});var p={};e.r(p),e.d(p,{logic_boolean:()=>Xn,logic_compare:()=>Fn,logic_compare_continous:()=>Pn,logic_is:()=>Vn,logic_is_in:()=>bn,logic_negate:()=>vn,logic_null:()=>yn,logic_operation:()=>Yn,logic_tobool:()=>Bn,logic_true_or_false:()=>xn});var a={};e.r(a),e.d(a,{sdcard_mount:()=>as,sdcard_use_spi_init:()=>ps,storage_can_write_ornot:()=>Qn,storage_change_dir:()=>_s,storage_close_file:()=>qn,storage_delete_file:()=>$n,storage_file_seek:()=>ts,storage_file_tell:()=>es,storage_file_write:()=>kn,storage_fileopen:()=>Un,storage_fileopen_new:()=>wn,storage_fileopen_new_encoding:()=>Hn,storage_get_a_line:()=>Jn,storage_get_contents:()=>Kn,storage_get_contents_without_para:()=>Wn,storage_get_current_dir:()=>is,storage_get_file_size:()=>Zn,storage_get_filename:()=>zn,storage_is_file:()=>os,storage_list_all_files:()=>jn,storage_make_dir:()=>ns,storage_open_file_with_os:()=>Gn,storage_rename:()=>ss});var u={};e.r(u),e.d(u,{procedures_callnoreturn:()=>Is,procedures_callreturn:()=>Ts,procedures_defnoreturn:()=>us,procedures_defreturn:()=>rs,procedures_ifreturn:()=>Ms,procedures_mutatorarg:()=>ds,procedures_mutatorcontainer:()=>ls,procedures_return:()=>hs});var r={};e.r(r),e.d(r,{tuple_change_to:()=>Ds,tuple_create_llm_params:()=>bs,tuple_create_with:()=>Es,tuple_create_with_container:()=>Os,tuple_create_with_item:()=>Rs,tuple_create_with_noreturn:()=>Ys,tuple_create_with_text2:()=>cs,tuple_create_with_text_return:()=>gs,tuple_del:()=>As,tuple_find:()=>fs,tuple_getIndex:()=>Cs,tuple_getSublist:()=>Ps,tuple_get_random_item:()=>Xs,tuple_get_sublist:()=>vs,tuple_input:()=>xs,tuple_join:()=>Ls,tuple_length:()=>Ss,tuple_max:()=>Ns,tuple_totuple:()=>ys,tuple_trig:()=>Fs});var l={};e.r(l),e.d(l,{set_add_discard:()=>Js,set_clear:()=>ks,set_create_with:()=>Bs,set_create_with_container:()=>Gs,set_create_with_item:()=>Us,set_create_with_text_return:()=>qs,set_length:()=>ws,set_operate:()=>Ws,set_operate_update:()=>Ks,set_pop:()=>Hs,set_sub:()=>Qs,set_toset:()=>js,set_update:()=>zs});var d={};e.r(d),e.d(d,{html_content:()=>i_,html_content_more:()=>n_,html_document:()=>Zs,html_form:()=>__,html_head_body:()=>t_,html_style:()=>s_,html_style_color:()=>p_,html_style_content:()=>o_,html_text:()=>a_,html_title:()=>e_});var I={};e.r(I),e.d(I,{attribute_access:()=>g_,function_call:()=>O_,function_call_container:()=>R_,function_call_item:()=>c_,raw_block:()=>l_,raw_empty:()=>I_,raw_expression:()=>d_,raw_table:()=>r_,text_comment:()=>T_,text_print_multiple:()=>h_,text_print_multiple_container:()=>m_,text_print_multiple_item:()=>E_,type_check:()=>M_});var T={};e.r(T),e.d(T,{controls_type:()=>N_,controls_typeLists:()=>D_,lists_zip:()=>f_,unpack_iterable_object:()=>F_,variables_change:()=>A_,variables_get:()=>C_,variables_global:()=>L_,variables_set:()=>S_});var M={};e.r(M),e.d(M,{Panic_with_status_code:()=>G_,base_setup:()=>Y_,controls_delay:()=>B_,controls_flow_statements:()=>V_,controls_for:()=>y_,controls_forEach:()=>W_,controls_for_range:()=>x_,controls_if:()=>v_,controls_interrupts:()=>H_,controls_lambda:()=>J_,controls_main:()=>P_,controls_millis:()=>U_,controls_nointerrupts:()=>k_,controls_pass:()=>z_,controls_range:()=>K_,controls_repeat:()=>no,controls_repeat_ext:()=>$_,controls_thread:()=>q_,controls_try_finally:()=>X_,controls_whileUntil:()=>b_,datetime_fromtimestamp:()=>so,do_while:()=>j_,garbage_collection:()=>Z_,gene_unique_identifier:()=>_o,get_mem_alloc:()=>eo,get_mem_free:()=>to,get_unique_identifier:()=>io,reset:()=>w_,time_sleep:()=>Q_});var h={};e.r(h),e.d(h,{base_map:()=>No,generate_cartesian_product:()=>fo,math_arithmetic:()=>ro,math_bit:()=>uo,math_constant:()=>po,math_constant_mp:()=>ao,math_constrain:()=>Ro,math_dec:()=>Mo,math_degree_to_radian:()=>Po,math_indexer_number:()=>Co,math_map:()=>Oo,math_max_min:()=>mo,math_number:()=>oo,math_number_base_conversion:()=>co,math_radian_to_degree:()=>Fo,math_random:()=>Eo,math_random_seed:()=>go,math_round:()=>So,math_selfcalcu:()=>lo,math_single:()=>Io,math_to_int:()=>ho,math_trig:()=>To,text_to_number:()=>Ao,text_to_number_skulpt:()=>Lo,turn_to_int:()=>Do});var m={};e.r(m),e.d(m,{ascii_to_char:()=>bo,char_to_ascii:()=>Vo,number_to_text:()=>Bo,os_system:()=>ap,text:()=>Yo,text_bytes:()=>Xo,text_capital:()=>Qo,text_center:()=>zo,text_char:()=>yo,text_char_at:()=>wo,text_char_at2:()=>Uo,text_char_at3:()=>_p,text_compareTo:()=>sp,text_compare_to:()=>Wo,text_encode:()=>op,text_equals_starts_ends:()=>ko,text_eval:()=>pp,text_find:()=>qo,text_format:()=>tp,text_format_noreturn:()=>ip,text_join:()=>xo,text_join_seq:()=>jo,text_length:()=>Go,text_random_char:()=>Ho,text_replace:()=>$o,text_split:()=>Zo,text_strip:()=>ep,text_substring:()=>Jo,text_substring2:()=>Ko,text_substring3:()=>np,text_textarea:()=>vo});var E={};e.r(E),e.d(E,{content_in_lists:()=>wp,enumerate:()=>Up,list_many_input:()=>Dp,list_tolist:()=>Bp,list_tolist2:()=>Gp,list_trig:()=>Ap,lists_2d_get_col_row_data:()=>lp,lists_2d_get_data_with_col_row:()=>rp,lists_append_extend:()=>hp,lists_change_to:()=>Np,lists_change_to_general:()=>Fp,lists_clear:()=>cp,lists_create_with:()=>dp,lists_create_with2:()=>Yp,lists_create_with_noreturn:()=>fp,lists_create_with_text:()=>Ip,lists_create_with_text2:()=>vp,lists_del_general:()=>Pp,lists_find:()=>gp,lists_getIndex3:()=>Xp,lists_getSublist3:()=>yp,lists_get_index:()=>Tp,lists_get_random_item:()=>mp,lists_get_random_sublist:()=>Ep,lists_get_sublist:()=>up,lists_insert_value:()=>Op,lists_insert_value2:()=>bp,lists_pop:()=>Sp,lists_remove_at:()=>Cp,lists_remove_at2:()=>Vp,lists_reverse:()=>Rp,lists_setIndex3:()=>xp,lists_set_index:()=>Mp,lists_sort:()=>Lp});var O={};e.r(O),e.d(O,{dicts_add_change_del:()=>ta,dicts_add_or_change:()=>Jp,dicts_clear:()=>qp,dicts_create_with:()=>Hp,dicts_create_with_noreturn:()=>sa,dicts_deldict:()=>ea,dicts_delete:()=>Qp,dicts_get:()=>Wp,dicts_get_default:()=>Kp,dicts_items:()=>jp,dicts_keys:()=>kp,dicts_length:()=>Zp,dicts_pop:()=>ia,dicts_setdefault:()=>na,dicts_to_json:()=>oa,dicts_to_json2:()=>ua,dicts_to_to:()=>aa,dicts_todict:()=>_a,dicts_update:()=>zp,dicts_values:()=>$p,json_to_dicts:()=>pa});var R={};e.r(R),e.d(R,{logic_boolean:()=>Ta,logic_compare:()=>ra,logic_compare_continous:()=>la,logic_is:()=>Ea,logic_is_in:()=>ma,logic_negate:()=>Ia,logic_null:()=>Ma,logic_operation:()=>da,logic_tobool:()=>Oa,logic_true_or_false:()=>ha});var c={};e.r(c),e.d(c,{sdcard_mount:()=>wa,sdcard_use_spi_init:()=>Ua,storage_can_write_ornot:()=>Da,storage_change_dir:()=>xa,storage_close_file:()=>Fa,storage_delete_file:()=>Ya,storage_file_seek:()=>ya,storage_file_tell:()=>Xa,storage_file_write:()=>Sa,storage_fileopen:()=>ca,storage_fileopen_new:()=>ga,storage_fileopen_new_encoding:()=>Ca,storage_get_a_line:()=>Na,storage_get_contents:()=>La,storage_get_contents_without_para:()=>Aa,storage_get_current_dir:()=>ba,storage_get_file_size:()=>va,storage_get_filename:()=>fa,storage_is_file:()=>Ga,storage_list_all_files:()=>Pa,storage_make_dir:()=>Va,storage_open_file_with_os:()=>Ra,storage_rename:()=>Ba});var g={};e.r(g),e.d(g,{procedures_callnoreturn:()=>Ka,procedures_callreturn:()=>Wa,procedures_defnoreturn:()=>ka,procedures_defreturn:()=>Ha,procedures_ifreturn:()=>Ja,procedures_return:()=>Qa});var C={};e.r(C),e.d(C,{tuple_change_to:()=>nu,tuple_create_llm_params:()=>du,tuple_create_with:()=>za,tuple_create_with_noreturn:()=>pu,tuple_create_with_text2:()=>qa,tuple_create_with_text_return:()=>ja,tuple_del:()=>eu,tuple_find:()=>su,tuple_getIndex:()=>$a,tuple_getSublist:()=>ou,tuple_get_random_item:()=>uu,tuple_get_sublist:()=>au,tuple_input:()=>lu,tuple_join:()=>tu,tuple_length:()=>Za,tuple_max:()=>iu,tuple_totuple:()=>ru,tuple_trig:()=>_u});var S={};e.r(S),e.d(S,{set_add_discard:()=>Ou,set_clear:()=>hu,set_create_with:()=>Iu,set_create_with_text_return:()=>gu,set_length:()=>Tu,set_operate:()=>mu,set_operate_update:()=>Eu,set_pop:()=>Mu,set_sub:()=>Ru,set_toset:()=>Cu,set_update:()=>cu});var A={};e.r(A),e.d(A,{html_content:()=>Nu,html_content_more:()=>Du,html_document:()=>Su,html_form:()=>Fu,html_head_body:()=>Lu,html_style:()=>fu,html_style_content:()=>Pu,html_text:()=>Yu,html_title:()=>Au});var L={};e.r(L),e.d(L,{attribute_access:()=>Bu,function_call:()=>Vu,raw_block:()=>vu,raw_empty:()=>yu,raw_expression:()=>Xu,raw_table:()=>xu,type_check:()=>bu});var N={};e.r(N),e.d(N,{PIN_init:()=>Kr,actuator_extern_get_led_bright:()=>tr,actuator_extern_get_led_state:()=>ir,actuator_extern_led_bright:()=>er,actuator_extern_led_brightness:()=>nr,actuator_ms32006_dcmotor:()=>dr,actuator_ms32006_init:()=>lr,actuator_ms32006_stepper:()=>Ir,actuator_neopixel_init:()=>Tr,actuator_neopixel_rgb:()=>Mr,actuator_neopixel_rgb_all:()=>hr,actuator_neopixel_rgb_show_all_chase:()=>Or,actuator_neopixel_rgb_show_all_rainbow:()=>Er,actuator_neopixel_write:()=>mr,actuator_use_uart_init:()=>Rr,backstage_esp32_music_play_list:()=>Qu,esp32_music_get_tempo_extern:()=>qu,esp32_music_pitch:()=>Wu,esp32_music_pitch_init:()=>ku,esp32_music_pitch_with_time:()=>Ku,esp32_music_play_list:()=>Ju,esp32_music_reset_extern:()=>ju,esp32_music_set_tempo_extern:()=>zu,esp32_music_stop:()=>$u,esp32_set_music_volume:()=>Zu,mixbot_actuator_extern_get_addr:()=>kr,mixbot_actuator_extern_set_addr:()=>Wr,mixbot_addr_extern:()=>Pr,parrot_PIN_init:()=>qr,parrot_move_speed:()=>jr,pin_led_bright:()=>Jr,player_insert_music:()=>Lr,player_play_music:()=>Ar,player_set_mode:()=>Sr,player_set_play:()=>gr,player_set_volume:()=>Cr,player_whether_stop:()=>cr,robot_led_extern:()=>yr,robot_led_extern_get_value:()=>xr,robot_motor_extern:()=>Yr,robot_motor_extern_get_speed:()=>vr,robot_servo_extern_absolute_run:()=>Gr,robot_servo_extern_get_status:()=>br,robot_servo_extern_relative_continue:()=>Hr,robot_servo_extern_relative_origin:()=>Ur,robot_servo_extern_relative_run:()=>wr,robot_servo_extern_stop:()=>Br,robot_servo_extern_stop_mode:()=>Vr,robot_traffic_light_extern:()=>Xr,servo_PIN_init:()=>Qr,servo_get_angle:()=>ur,servo_get_speed:()=>rr,servo_init:()=>sr,servo_move:()=>_r,servo_move_angle:()=>zr,servo_set_angle:()=>pr,servo_set_speed:()=>ar,servo_speed_360:()=>or,syn6288_builtin_voice:()=>fr,syn6288_get_voice:()=>Dr,syn6288_set_voice:()=>Nr,syn6288_tts_play:()=>Fr});var D={};e.r(D),e.d(D,{actuator_dc_motor:()=>Fl,actuator_dc_motor_stop:()=>Pl,actuator_get_led_bright:()=>il,actuator_get_led_state:()=>nl,actuator_led_bright:()=>tl,actuator_led_brightness:()=>sl,actuator_mixbot_buzzer_on_off:()=>xl,actuator_mixgo_nova_mic_get:()=>Ul,actuator_mixgo_nova_mic_set:()=>Gl,actuator_mixgo_nova_onboard_music_pitch:()=>Jl,actuator_mixgo_nova_onboard_music_stop:()=>Ql,actuator_mixgo_nova_play_audio:()=>Wl,actuator_mixgo_nova_play_online_audio:()=>Kl,actuator_mixgo_nova_record_audio:()=>kl,actuator_mixgo_nova_voice_get:()=>Hl,actuator_mixgo_nova_voice_set:()=>wl,actuator_mixgo_zero_led_color:()=>_l,actuator_onboard_neopixel_rgb:()=>ll,actuator_onboard_neopixel_rgb_all:()=>dl,actuator_onboard_neopixel_rgb_show_all_chase:()=>Tl,actuator_onboard_neopixel_rgb_show_all_rainbow:()=>Il,actuator_onboard_neopixel_write:()=>Ml,actuator_rm_onboard_neopixel_rgb:()=>hl,actuator_rm_onboard_neopixel_rgb_all:()=>ml,actuator_rm_onboard_neopixel_rgb_show_all_chase:()=>El,actuator_stepper_keep:()=>Dl,actuator_stepper_stop:()=>fl,analog_ble_keyboard_init:()=>ad,analog_ble_keyboard_input:()=>ld,analog_ble_keyboard_mouse_init:()=>Od,analog_ble_keyboard_mouse_input:()=>Cd,analog_ble_keyboard_mouse_send_battery:()=>gd,analog_ble_keyboard_mouse_str:()=>Sd,analog_ble_keyboard_send_battery:()=>Id,analog_ble_keyboard_str:()=>dd,analog_ble_mouse_init:()=>Td,analog_ble_mouse_input:()=>md,analog_ble_mouse_keyboard_input:()=>Ad,analog_ble_mouse_send_battery:()=>Ed,analog_keyboard_input:()=>Zl,analog_keyboard_str:()=>pd,analog_mouse_input:()=>_d,backstage_onboard_music_play_list:()=>Ll,bitbot_motor:()=>Bl,bitbot_move:()=>bl,bitbot_stop:()=>Vl,ble_keyboard_connect:()=>rd,ble_keyboard_get_mac:()=>ud,ble_keyboard_mouse_connect:()=>cd,ble_keyboard_mouse_get_mac:()=>Rd,ble_mouse_connect:()=>hd,ble_mouse_get_mac:()=>Md,cc_number:()=>rl,educore_ble_keyboard_input:()=>yd,educore_ble_sensor_connected:()=>Xd,educore_ble_sensor_init:()=>vd,educore_buzzer:()=>Ld,educore_buzzer_play_tone:()=>Nd,educore_buzzer_play_tone_time:()=>Dd,educore_buzzer_stop:()=>fd,educore_neopixel_clear:()=>Yd,educore_neopixel_rgb:()=>Pd,educore_rgb_light:()=>Fd,esp32_music_get_tempo:()=>Rl,esp32_music_reset:()=>cl,esp32_music_set_tempo:()=>Ol,esp32_onboard_music_pitch:()=>gl,esp32_onboard_music_pitch_with_time:()=>Cl,esp32_onboard_music_play_list:()=>Al,esp32_onboard_music_stop:()=>Sl,general_key:()=>td,general_key_tuple:()=>id,generalkey_container:()=>nd,generalkey_create_with_item:()=>sd,get_keyboard_light:()=>xd,get_power_output:()=>ql,ledswitch:()=>el,mixbot_motor:()=>yl,mixbot_motor_status:()=>Yl,mixbot_move:()=>vl,mixbot_stop:()=>Xl,mouse_key:()=>od,number:()=>Zr,record_audio:()=>Vd,rm_actuator_get_led_bright:()=>pl,rm_actuator_get_led_state:()=>al,rm_actuator_led_bright:()=>ol,rm_actuator_led_brightness:()=>ul,rm_motor:()=>Nl,set_all_power_output:()=>jl,set_microphone_amplification:()=>bd,set_music_volume:()=>Bd,set_part_power_output:()=>$l,set_power_output:()=>zl,special_key:()=>ed});var f={};e.r(f),e.d(f,{ai_sensor_20object:()=>OI,ai_sensor_ailocal_class:()=>aI,ai_sensor_ailocal_class_result:()=>uI,ai_sensor_ailocal_train:()=>pI,ai_sensor_asr_recognize:()=>TI,ai_sensor_audio_play:()=>lI,ai_sensor_audio_record:()=>rI,ai_sensor_barcode:()=>Jd,ai_sensor_circle:()=>Zd,ai_sensor_classifier_faces:()=>EI,ai_sensor_color:()=>nI,ai_sensor_color_chases:()=>oI,ai_sensor_color_chases_result:()=>_I,ai_sensor_config:()=>Wd,ai_sensor_face:()=>mI,ai_sensor_find_20objects:()=>RI,ai_sensor_find_barcodes:()=>Qd,ai_sensor_find_circles:()=>eI,ai_sensor_find_colors:()=>sI,ai_sensor_find_licenseplates:()=>hI,ai_sensor_find_lines:()=>$d,ai_sensor_find_qrcodes:()=>kd,ai_sensor_find_rects:()=>iI,ai_sensor_find_tags:()=>qd,ai_sensor_licenseplate:()=>MI,ai_sensor_line:()=>jd,ai_sensor_qrcode:()=>wd,ai_sensor_qrcode_lite:()=>Hd,ai_sensor_rect:()=>tI,ai_sensor_rgb:()=>Kd,ai_sensor_tag:()=>zd,ai_sensor_use_uart_init:()=>Ud,ai_sensor_yolo_recognize:()=>dI,ai_sensor_yolo_recognize_result:()=>II});var F={};e.r(F),e.d(F,{MICROPYTHON_AI_Speech_asr:()=>CI,MICROPYTHON_AI_Speech_unit:()=>gI,MICROPYTHON_AI_client:()=>cI});var P={};e.r(P),e.d(P,{AI_CAMERA_INIT:()=>ZI,AI_CAMERA_INIT_FACERECOGNIZE:()=>iT,AI_CAMERA_INIT_SIMPLE:()=>DT,AI_STOP_ACQUISITION:()=>AT,CAMERA_LOOGOUT:()=>wI,CI130X_BROADCAST_SANT:()=>XI,CI130X_BROADCAST_SYSTEM_TIME:()=>xI,CI130X_GET_THE_RECOGNIZED_CMD_SANT:()=>vI,CI130X_GET_WHETHER_IDENTIFY_SANT:()=>YI,CI130X_IDENTIFY_AND_SAVE_SANT:()=>PI,CI130X_OPEN_AND_CLOSE:()=>fI,CI130X_PLAY_SYSTEM_CMD_SANT:()=>FI,CI130X_SET_SYSTEM_CMD_SANT:()=>yI,CONVERT_IMAGE_TO_JPG:()=>WI,CREATE_CAMERA:()=>bI,CREATE_CAMERA_SIMPLE:()=>NT,DELETE_FACE_ALL:()=>hT,DELETE_FACE_FROM_DATABASE:()=>MT,GET_CAT_FACE_DETECTION_NUM:()=>cT,GET_COLOR_DETECTION_NUM:()=>RT,GET_FACE_DETECTION_NAME:()=>ST,GET_FACE_DETECTION_NUM:()=>CT,GET_HOW_MUCH_RECOGNITION:()=>oT,GET_HUMAN_DETECTION_NUM:()=>gT,GET_IMAGE_AND_SAVE:()=>BI,GET_IMAGE_FROM_NET:()=>UI,GET_NO_CAT_OR_FACE_RECOGNITION:()=>aT,GET_NO_FACE_RECOGNITION_INFO:()=>lT,GET_NO_RECOGNITION:()=>pT,GET_NO_XY_RECOGNITION:()=>uT,GET_NO_XY_RECOGNITION_FACE:()=>rT,GET_PICTURE_DATA_EXACT:()=>HI,GET_PICTURE_DATA_WHS:()=>KI,GET_PICTURE_RECOGNITION_DATA:()=>OT,GET_PICTURE_WIDTH_HEIGHT_DEVICE:()=>kI,GET_QR_CODE_RECOGNITION_DATA:()=>ET,GET_SCREEN_IMAGE:()=>$I,GET_SCREEN_IMAGE_SIZE:()=>jI,MIXIO_REPORT_IMAGE_DATA:()=>LT,MODEL_INIT_HEIGHT:()=>tT,MODEL_INIT_WIDTH:()=>eT,MODEL_LOGOUT:()=>nT,MODEL_RUN:()=>sT,MODEL_WHETHER_RUN_SUCCEED:()=>_T,OPEN_IMAGE:()=>GI,PRINT_FACE_DATABASE:()=>mT,REGISTER_NEW_FACE:()=>TT,REGISTER_NEW_FACE_SIMPLE:()=>FT,Register_color_recognition:()=>IT,Register_color_recognition_fixed:()=>dT,Register_color_recognition_fixed_SIMPLE:()=>fT,SCREEN_DISPLAY_IMAGE:()=>zI,SCREEN_DISPLAY_IMAGE_LOCATION:()=>qI,SCREEN_SHOW_CAM_GRAPH_SHOOT:()=>JI,SCREEN_SHOW_CAM_GRAPH_SHOOT_LOCATION:()=>QI,SHOOT_AND_SAVE_PICTURE:()=>VI,VOICE_RECOGNITION_CONTROL:()=>DI,yesorno:()=>NI});var Y={};e.r(Y),e.d(Y,{mpython_blynk_app_data:()=>WT,mpython_blynk_app_notify:()=>VT,mpython_blynk_email:()=>UT,mpython_blynk_get_timers:()=>wT,mpython_blynk_on_connected:()=>yT,mpython_blynk_on_disconnected:()=>XT,mpython_blynk_run:()=>bT,mpython_blynk_sensor_data_to_app:()=>kT,mpython_blynk_set_property:()=>GT,mpython_blynk_setup:()=>KT,mpython_blynk_stop_timers:()=>BT,mpython_blynk_sync_virtual:()=>vT,mpython_blynk_terminal_widget_vpin:()=>YT,mpython_blynktimer:()=>HT,mpython_blynktimer_run:()=>xT});var v={};e.r(v),e.d(v,{communicate_bluetooth_central_init:()=>DM,communicate_bluetooth_connect:()=>YM,communicate_bluetooth_disconnect:()=>vM,communicate_bluetooth_handle:()=>VM,communicate_bluetooth_is_connected:()=>yM,communicate_bluetooth_mac:()=>PM,communicate_bluetooth_peripheral_init:()=>fM,communicate_bluetooth_recv:()=>xM,communicate_bluetooth_recv_only:()=>bM,communicate_bluetooth_scan:()=>FM,communicate_bluetooth_send:()=>XM,communicate_espnow_init:()=>BM,communicate_espnow_init_new:()=>GM,communicate_i2c_available:()=>rM,communicate_i2c_init:()=>qT,communicate_i2c_master_read:()=>uM,communicate_i2c_onboard:()=>QT,communicate_i2c_read:()=>jT,communicate_i2c_scan:()=>ZT,communicate_i2c_write:()=>$T,communicate_ir_recv_init:()=>EM,communicate_ir_send_init:()=>CM,communicate_ow_init:()=>dM,communicate_ow_read:()=>TM,communicate_ow_reset:()=>mM,communicate_ow_scan:()=>IM,communicate_ow_select:()=>hM,communicate_ow_write:()=>MM,communicate_spi_buffer:()=>iM,communicate_spi_init:()=>eM,communicate_spi_onboard:()=>zT,communicate_spi_read:()=>nM,communicate_spi_read_output:()=>sM,communicate_spi_readinto:()=>_M,communicate_spi_readinto_output:()=>oM,communicate_spi_set:()=>tM,communicate_spi_write:()=>pM,communicate_spi_write_readinto:()=>aM,espnow_radio_channel:()=>KM,espnow_radio_channel_new:()=>QM,espnow_radio_on_off:()=>zM,espnow_radio_rec:()=>jM,espnow_radio_recv:()=>ZM,espnow_radio_recv_certain_msg:()=>eh,espnow_radio_recv_certain_msg_new:()=>ih,espnow_radio_recv_msg:()=>$M,espnow_radio_recv_new:()=>th,espnow_radio_send:()=>qM,espnow_radio_txpower:()=>JM,i2c_available:()=>Sh,i2c_init:()=>rh,i2c_master_reader2:()=>Ch,i2c_read:()=>lh,i2c_scan:()=>Ih,i2c_slave_onreceive:()=>lM,i2c_write:()=>dh,internal_variable:()=>OM,ir_recv_timeout:()=>gM,ir_transmit_busy:()=>NM,ir_transmit_conventional_data:()=>SM,ir_transmit_raw_code:()=>LM,ir_transmit_study_code:()=>AM,ir_whether_recv:()=>cM,lora_init:()=>nh,lora_packet:()=>sh,lora_recv:()=>oh,lora_send:()=>_h,network_espnow_info:()=>wM,network_espnow_mac:()=>UM,network_espnow_recv:()=>HM,network_espnow_recv_handle:()=>WM,network_espnow_send:()=>kM,recv_fun:()=>RM,spi_buffer:()=>hh,spi_init:()=>Th,spi_read:()=>mh,spi_read_output:()=>Eh,spi_readinto:()=>Oh,spi_readinto_output:()=>Rh,spi_set:()=>Mh,spi_write:()=>ch,spi_write_readinto:()=>gh,urequests_attribute:()=>ah,urequests_get:()=>ph,urequests_method:()=>uh});var X={};e.r(X),e.d(X,{display_animate:()=>im,display_blink_rate:()=>$h,display_circle:()=>nm,display_color_seclet:()=>Mm,display_draw_4strings:()=>Kh,display_fill:()=>tm,display_get_screen_image:()=>jh,display_help:()=>_m,display_image_size:()=>Jh,display_lcd_use_i2c_init:()=>cm,display_line:()=>zh,display_line_arbitrarily:()=>qh,display_matrix_extern_bright_point:()=>Vh,display_matrix_extern_bright_screen:()=>Gh,display_matrix_extern_clear:()=>Uh,display_matrix_extern_get_pixel:()=>bh,display_matrix_extern_get_screen_pixel:()=>Bh,display_matrix_extern_image_builtins:()=>wh,display_matrix_extern_scroll_string:()=>Yh,display_matrix_extern_scroll_string_delay:()=>vh,display_matrix_extern_shift:()=>xh,display_matrix_extern_show_frame_string:()=>Xh,display_matrix_extern_show_frame_string_delay:()=>yh,display_matrix_extern_show_image:()=>Fh,display_matrix_extern_show_image_or_string_delay:()=>Ph,display_matrix_use_i2c_init:()=>fh,display_oled_drawPixel:()=>pm,display_oled_showBitmap:()=>om,display_oled_use_i2c_init:()=>Lm,display_onoff:()=>em,display_rect:()=>Qh,display_rgb_color:()=>Zh,display_tm1650_power:()=>um,display_tm1650_set_brightness:()=>dm,display_tm1650_show_dot:()=>lm,display_tm1650_show_num:()=>rm,display_tm_use_i2c_init:()=>am,display_triangle:()=>sm,display_use_i2c_init:()=>Wh,extern_oled_bright_point:()=>bm,extern_oled_clear:()=>Vm,extern_oled_get_pixel:()=>xm,extern_oled_hvline:()=>Gm,extern_oled_line:()=>Um,extern_oled_scroll_string:()=>Pm,extern_oled_scroll_string_delay:()=>Ym,extern_oled_shape_rect:()=>Bm,extern_oled_shift:()=>ym,extern_oled_show_frame_string:()=>vm,extern_oled_show_frame_string_delay:()=>Xm,extern_oled_show_image:()=>Nm,extern_oled_show_image_or_string_delay:()=>Fm,extern_oled_show_image_xy:()=>Dm,extern_oled_show_string:()=>fm,lcd_backlight:()=>Sm,lcd_clear:()=>Am,lcd_print_string:()=>Cm,lcd_show_image_or_string_delay:()=>gm,matrix_extern_image_arithmetic:()=>Hh,matrix_extern_image_invert:()=>kh,tft_fill:()=>Om,tft_line_arbitrarily:()=>Rm,tft_scroll_string_delay:()=>mm,tft_show_frame_string_delay:()=>Em,tft_show_image_or_string_delay:()=>hm,tft_show_image_xy:()=>Tm,tft_use_spi_init:()=>Im});var y={};e.r(y),e.d(y,{bitbot_display_bitmap_create:()=>yE,bitbot_display_image_create:()=>XE,display_available:()=>uE,display_bitmap_create:()=>$m,display_bright_point:()=>_E,display_bright_screen:()=>pE,display_clear:()=>aE,display_get_pixel:()=>sE,display_get_screen_pixel:()=>oE,display_image_builtins:()=>Zm,display_image_builtins_all:()=>eE,display_image_create:()=>jm,display_scroll_string:()=>Wm,display_scroll_string_delay:()=>Km,display_scroll_way:()=>Jm,display_shift:()=>nE,display_show_frame_string:()=>zm,display_show_frame_string_delay:()=>qm,display_show_image:()=>Hm,display_show_image_or_string_delay:()=>km,draw_pointer:()=>$E,image_arithmetic:()=>tE,image_invert:()=>iE,mixbot_display_bitmap_create:()=>fE,mixbot_display_bright_screen:()=>YE,mixbot_display_get_ambientbright:()=>PE,mixbot_display_get_screen_pixel:()=>FE,mixbot_display_image_create:()=>DE,mixbot_display_rotate:()=>vE,mixgo_display_bitmap_create:()=>ME,mixgo_display_image_create_new:()=>TE,mixgome_display_bitmap_create:()=>lE,mixgome_display_font:()=>hE,mixgome_display_image_create:()=>rE,mixgomini_display_bitmap_create:()=>IE,mixgomini_display_image_create:()=>dE,mpython_display_hvline:()=>AE,mpython_display_line:()=>LE,mpython_display_shape_rect:()=>SE,mpython_pbm_image:()=>NE,nova_draw_pointer:()=>ZE,onboard_oled_bright_point:()=>CE,onboard_oled_scroll_string_delay:()=>cE,onboard_oled_show_frame_string_delay:()=>gE,onboard_oled_show_image:()=>mE,onboard_oled_show_image_or_string_delay:()=>RE,onboard_oled_show_image_xy:()=>EE,onboard_oled_show_string:()=>OE,onboard_tft_bright_point:()=>kE,onboard_tft_bright_screen:()=>aO,onboard_tft_clear:()=>uO,onboard_tft_clock_clear:()=>qE,onboard_tft_clock_draw:()=>zE,onboard_tft_clock_get_rtctime:()=>JE,onboard_tft_clock_init:()=>KE,onboard_tft_clock_set_time:()=>QE,onboard_tft_display_hvline:()=>UE,onboard_tft_display_line:()=>wE,onboard_tft_display_shape_circle:()=>jE,onboard_tft_display_shape_rect:()=>GE,onboard_tft_fill:()=>WE,onboard_tft_get_pixel:()=>HE,onboard_tft_get_screen_pixel:()=>pO,onboard_tft_scroll_string:()=>sO,onboard_tft_scroll_string_delay:()=>Qm,onboard_tft_shift:()=>oO,onboard_tft_show_frame_string:()=>_O,onboard_tft_show_frame_string_delay:()=>BE,onboard_tft_show_image:()=>nO,onboard_tft_show_image_or_string_delay:()=>VE,onboard_tft_show_image_xy:()=>xE,onboard_tft_show_image_xy_direct:()=>bE,onboard_tft_show_qrcode:()=>tO,onboard_tft_show_qrcode_details:()=>iO,onboard_tft_show_texts:()=>eO});var x={};e.r(x),e.d(x,{factory_block:()=>NO,factory_block_return:()=>DO,factory_block_return_with_textarea:()=>FO,factory_block_with_textarea:()=>fO,factory_callMethod_noreturn:()=>AO,factory_callMethod_return:()=>LO,factory_create_with_container:()=>cO,factory_create_with_item:()=>gO,factory_declare:()=>SO,factory_from_import:()=>EO,factory_function_noreturn:()=>RO,factory_function_return:()=>CO,factory_import:()=>OO,folding_block:()=>PO});var b={};e.r(b),e.d(b,{controls_pin_attachInterrupt:()=>ZO,inout_analog_atten:()=>UO,inout_analog_read:()=>GO,inout_analog_read_init:()=>JO,inout_analog_write:()=>bO,inout_analog_write_init:()=>KO,inout_analog_write_set:()=>VO,inout_analog_write_set_freq:()=>qO,inout_digital_init:()=>kO,inout_digital_read:()=>yO,inout_digital_write:()=>XO,inout_highlow:()=>vO,inout_pinMode:()=>zO,inout_pin_attachInterrupt:()=>HO,inout_pin_pressed:()=>wO,inout_pin_pressed_init:()=>QO,inout_pwm_analog_write:()=>xO,inout_pwm_analog_write_init:()=>WO,inout_pwm_analog_write_set_freq:()=>BO,pin_pressed:()=>$O,pin_pressed_init:()=>jO});var V={};e.r(V),e.d(V,{IOT_CONNECT_OLLAMA:()=>bR,IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>SR,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>CR,IOT_EMQX_PING:()=>cR,IOT_FORMATTING:()=>OR,IOT_FORMAT_STRING:()=>RR,IOT_MIXIO_NTP:()=>gR,IOT_MIXIO_PUBLISH:()=>lR,IOT_MIXIO_PUBLISHEX:()=>dR,IOT_MIXIO_SUBSCRIBE:()=>IR,iot_checkonenet:()=>XR,iot_client_onboard:()=>LR,iot_connect_ollama:()=>xR,iot_connect_openai:()=>VR,iot_create_with_item:()=>uR,iot_http_client:()=>NR,iot_http_data:()=>DR,iot_mixio_check:()=>hR,iot_mixio_connect:()=>rR,iot_mixio_connect_only:()=>MR,iot_mixio_disconnect:()=>TR,iot_mixio_format_msg:()=>ER,iot_mixio_format_topic:()=>mR,iot_mixly_key:()=>AR,iot_mqtt_client:()=>fR,iot_mqtt_data:()=>FR,iot_onenet_check:()=>sR,iot_onenet_connect:()=>iR,iot_onenet_disconnect:()=>nR,iot_onenet_publish:()=>oR,iot_onenet_publish_dict:()=>_R,iot_onenetconnect:()=>YR,iot_onenetdisconnect:()=>vR,iot_publish:()=>yR,iot_publish_container:()=>pR,iot_publish_item:()=>aR,iot_tiny_web_db_count:()=>KR,iot_tiny_web_db_delete:()=>QR,iot_tiny_web_db_get:()=>WR,iot_tiny_web_db_init:()=>wR,iot_tiny_web_db_init_with_mqtt:()=>HR,iot_tiny_web_db_search:()=>JR,iot_tiny_web_db_update:()=>kR,iot_wifi_connect:()=>tR,iot_wificonnect:()=>PR,ollama_empty_history:()=>UR,use_ollama_llm_to_chat:()=>BR,use_ollama_llm_to_chat_return:()=>GR});var B={};e.r(B),e.d(B,{educore_mqtt_connect:()=>Dc,educore_mqtt_connect_success:()=>Yc,educore_mqtt_subscribe_message:()=>fc,educore_mqtt_topic_publish:()=>Pc,educore_mqtt_topic_subscribe:()=>Fc,educore_wifi_connect:()=>Nc,network_ap_connect:()=>_c,network_connect:()=>ec,network_get_connect:()=>ic,network_get_wifi:()=>sc,network_init:()=>qR,network_is_active:()=>$R,network_open:()=>jR,network_scan:()=>ZR,network_server:()=>oc,network_socket_accept:()=>lc,network_socket_bind:()=>ac,network_socket_close:()=>mc,network_socket_connect:()=>uc,network_socket_init:()=>pc,network_socket_listen:()=>rc,network_socket_readline:()=>dc,network_socket_receive:()=>Ic,network_socket_receive_from:()=>Mc,network_socket_send:()=>Tc,network_socket_send_to:()=>hc,network_stop:()=>nc,network_wifi_connect:()=>tc,ntptime_address:()=>gc,ntptime_time:()=>cc,requests_attribute:()=>Oc,requests_attribute2:()=>Lc,requests_get:()=>Ec,requests_get2:()=>Sc,requests_method:()=>Rc,requests_post:()=>Ac});var G={};e.r(G),e.d(G,{get_potential_num:()=>Xc,nova_g1_motor:()=>yc,nova_g1_spk_en:()=>bc,nova_g1_usb:()=>xc});var U={};e.r(U),e.d(U,{pe_g1_battery_left:()=>Gc,pe_g1_dc_motor:()=>Uc,pe_g1_dc_motor_speed:()=>wc,pe_g1_servo_get_angle:()=>Wc,pe_g1_servo_get_speed:()=>Kc,pe_g1_servo_set_angle:()=>Hc,pe_g1_servo_set_speed:()=>kc,pe_g1_use_i2c_init:()=>Bc});var w={};e.r(w),e.d(w,{CI130X_BROADCAST:()=>mg,CI130X_GET_THE_RECOGNIZED_CMD:()=>hg,CI130X_GET_WHETHER_IDENTIFY:()=>Mg,CI130X_IDENTIFY_AND_SAVE:()=>Tg,CI130X_SET_SYSTEM_CMD:()=>Eg,HCSR04:()=>oC,PS2_Button:()=>rC,PS2_Buttons:()=>dC,PS2_Buttons_new:()=>hC,PS2_State:()=>lC,PS2_init:()=>pC,PS2_init_new:()=>TC,PS2_stk:()=>IC,PS2_stk_new:()=>mC,PS2_vibration:()=>uC,PS2_vibration_new:()=>MC,camera_sensor_init:()=>JC,camera_sensor_result:()=>QC,column_tube_foot:()=>ZC,define_keyboards:()=>eS,educore_body_sensor:()=>bC,educore_button_sensor_extern:()=>UC,educore_camera_sensor:()=>KC,educore_infrared_sensor:()=>GC,educore_soilhum_sensor:()=>VC,educore_temp_sensor:()=>WC,educore_temphum_sensor:()=>BC,educore_ultrasonic_sensor:()=>HC,esp32_s2_weather_init:()=>iC,esp32_s2_weather_rain:()=>sC,esp32_s2_weather_wd:()=>nC,esp32_s2_weather_ws:()=>_C,extern_rfid_read:()=>wg,extern_rfid_readcontent:()=>kg,extern_rfid_readid:()=>Hg,extern_rfid_status:()=>Jg,extern_rfid_write:()=>Wg,extern_rfid_write_return:()=>Kg,get_keboards_value:()=>tS,gnss_get_data:()=>cC,gnss_have_data:()=>RC,init_init_rotary_encoder:()=>iS,init_matrix_keyboard:()=>jC,interaction_whether_to_interaction:()=>dg,interaction_whether_to_interaction_SANT:()=>Ig,line_tube_foot:()=>$C,mixbot_sensor_extern_get_addr:()=>fC,mixbot_sensor_extern_set_addr:()=>FC,pm25_get_data:()=>OC,radar_set_DETECTION_THRESHOLD:()=>rg,radar_set_DETECTION_THRESHOLD_SANT:()=>lg,robot_button_extern_get_value:()=>CC,robot_color_extern_get_value:()=>DC,robot_infrared_extern_get_value:()=>AC,robot_infrared_extern_grey_get_value:()=>LC,robot_potentiometer_extern_get_value:()=>NC,robot_sonar_extern_get_value:()=>PC,robot_sonar_extern_led:()=>YC,robot_touch_extern_get_value:()=>SC,rotary_key:()=>nS,sensor_APDS9960_extern:()=>Rg,sensor_DS18X20:()=>pg,sensor_LTR308_extern:()=>cg,sensor_LTR390UV_extern:()=>Sg,sensor_MAX30102_extern:()=>Og,sensor_QMC5883L_extern:()=>Yg,sensor_VL530LX_extern:()=>Ag,sensor_adxl345_get_acceleration:()=>Zc,sensor_aht11_extern:()=>Ng,sensor_bmp:()=>_g,sensor_compass_reset:()=>Gg,sensor_dht11:()=>tg,sensor_hp203_extern:()=>Dg,sensor_light_level:()=>eg,sensor_lm35:()=>ag,sensor_ltr381_extern:()=>gg,sensor_mixgo_extern_button_attachInterrupt:()=>jc,sensor_mixgo_extern_button_get_presses:()=>qc,sensor_mixgo_extern_button_is_pressed:()=>Qc,sensor_mixgo_extern_button_was_pressed:()=>zc,sensor_mixgo_extern_light:()=>ig,sensor_mixgo_extern_pin_near:()=>sg,sensor_mixgo_extern_sound:()=>ng,sensor_mixgoce_hot_wheel_degrees:()=>tC,sensor_mixgoce_hot_wheel_is_touched:()=>eC,sensor_mpu9250_attachGestureInterrupt:()=>$c,sensor_mpu9250_calibrate_compass:()=>bg,sensor_mpu9250_field_strength:()=>Bg,sensor_mpu9250_gesture:()=>vg,sensor_mpu9250_get_acceleration:()=>Xg,sensor_mpu9250_get_gyro:()=>xg,sensor_mpu9250_get_magnetic:()=>yg,sensor_mpu9250_temperature:()=>Vg,sensor_ms5611_extern:()=>Fg,sensor_ms5611_extern_altitude:()=>Pg,sensor_read_humiture:()=>wC,sensor_sht:()=>og,sensor_shtc3_extern:()=>Lg,sensor_spl06_001_extern:()=>fg,sensor_ucs12071_extern:()=>Cg,sensor_use_i2c_init:()=>ug,sensor_use_spi_init:()=>Ug,sensor_use_uart_init:()=>EC,sensor_weather_solo_init:()=>vC,sensor_weather_solo_rain:()=>xC,sensor_weather_solo_wd:()=>XC,sensor_weather_solo_ws:()=>yC,sensor_weigh_init:()=>zC,tvoc_get_data:()=>gC,ultrasonic_sensor_read_distance:()=>kC,weather_data:()=>Qg,weather_have_data:()=>zg,weather_set_label:()=>jg,weather_set_label_container:()=>$g,weather_set_label_item:()=>Zg,weather_uart_mixio:()=>qg,weigh_sensor_get_weight:()=>qC});var H={};e.r(H),e.d(H,{HCSR04:()=>RS,RTC_set_date:()=>OS,RTC_set_time:()=>ES,bitbot_als_num:()=>fA,dht11:()=>xA,educore_button_sensor:()=>WA,educore_button_was_pressed:()=>KA,educore_gyroscope_sensor:()=>wA,educore_gyroscope_sensor_read:()=>HA,educore_gyroscope_sensor_shake:()=>kA,educore_light_sensor:()=>UA,educore_rfid_sensor:()=>JA,educore_rfid_sensor_scan:()=>QA,educore_rfid_sensor_scan_data:()=>zA,educore_voice_sensor:()=>BA,number1:()=>gS,number2:()=>CS,number3:()=>SS,number4:()=>AS,number5:()=>LS,number6:()=>NS,number7:()=>DS,onboard_RTC_get_time:()=>xS,onboard_RTC_get_time_str:()=>wS,onboard_RTC_get_timestamp:()=>bS,onboard_RTC_get_timetuple_to_str:()=>HS,onboard_RTC_set_datetime:()=>GS,onboard_RTC_settime_string:()=>BS,onboard_RTC_timestamp_totuple:()=>VS,rfid_readcontent:()=>qS,rfid_readid:()=>zS,rfid_status:()=>ZS,rfid_write:()=>jS,rfid_write_return:()=>$S,sensor_LTR308:()=>kS,sensor_aht11:()=>KS,sensor_bitbot_ALS:()=>DA,sensor_button_get_presses:()=>YA,sensor_button_is_pressed:()=>FA,sensor_button_was_pressed:()=>PA,sensor_distance_hrsc04:()=>mS,sensor_eulerangles:()=>tA,sensor_field_strength:()=>bA,sensor_get_acceleration:()=>eA,sensor_get_temperature:()=>JS,sensor_get_the_coprocessor_version:()=>qA,sensor_hp203:()=>QS,sensor_light:()=>yA,sensor_mixbot_get_gyro:()=>NA,sensor_mixbot_patrol_calibrate:()=>SA,sensor_mixbot_patrol_value:()=>AA,sensor_mixbot_temperature:()=>LA,sensor_mixgo_LTR308:()=>XS,sensor_mixgo_button_attachInterrupt:()=>aS,sensor_mixgo_button_get_presses:()=>pS,sensor_mixgo_button_is_pressed:()=>_S,sensor_mixgo_button_was_pressed:()=>oS,sensor_mixgo_cc_mmc5603_calibrate_compass:()=>dA,sensor_mixgo_cc_mmc5603_get_angle:()=>lA,sensor_mixgo_cc_mmc5603_get_magnetic:()=>rA,sensor_mixgo_light:()=>cS,sensor_mixgo_nova_LTR308:()=>vS,sensor_mixgo_nova_pin_near:()=>YS,sensor_mixgo_pin_near:()=>PS,sensor_mixgo_pin_near_double:()=>FS,sensor_mixgo_pin_near_single:()=>fS,sensor_mixgo_pin_pressed:()=>IS,sensor_mixgo_sant_color:()=>yS,sensor_mixgo_touch_slide:()=>hS,sensor_mixgocar42_button_attachInterrupt:()=>dS,sensor_mixgocar42_button_get_presses:()=>lS,sensor_mixgocar42_button_is_pressed:()=>uS,sensor_mixgocar42_button_was_pressed:()=>rS,sensor_mixgocar_battery_left:()=>CA,sensor_mixgocar_pin_near:()=>cA,sensor_mixgocar_pin_near_line:()=>RA,sensor_mixgocar_pin_near_state_change:()=>gA,sensor_mixgoce_pin_pressed:()=>TS,sensor_mixgoce_temperature:()=>TA,sensor_mixgome_temperature:()=>IA,sensor_mpython_pin_pressed:()=>MS,sensor_mpython_qmi8658_get_gyro:()=>MA,sensor_mpython_qmi8658_temperature:()=>hA,sensor_onboard_compass_reset:()=>uA,sensor_onboard_mpu9250_calibrate_compass:()=>oA,sensor_onboard_mpu9250_field_strength:()=>aA,sensor_onboard_mpu9250_gesture:()=>iA,sensor_onboard_mpu9250_get_acceleration:()=>nA,sensor_onboard_mpu9250_get_gyro:()=>_A,sensor_onboard_mpu9250_get_magnetic:()=>sA,sensor_onboard_mpu9250_temperature:()=>pA,sensor_pin_near:()=>XA,sensor_pin_pressed:()=>vA,sensor_read:()=>GA,sensor_rm_acc:()=>OA,sensor_rm_battery_left:()=>EA,sensor_rm_pin_near_double:()=>mA,sensor_rtc_init:()=>US,sensor_sound:()=>WS,sensor_temperature:()=>VA,simulated_light_sensor:()=>jA});var k={};e.r(k),e.d(k,{serial_any:()=>pL,serial_begin:()=>dL,serial_print:()=>iL,serial_print_byte:()=>tL,serial_print_hex:()=>sL,serial_println:()=>nL,serial_read_from_ai:()=>cL,serial_readline:()=>aL,serial_readstr:()=>oL,serial_readstr_until:()=>uL,serial_receive_data_event:()=>_L,serial_send_to_ai:()=>RL,serial_softserial:()=>lL,serial_softserial_new:()=>rL,system_input:()=>IL,system_print:()=>TL,system_print_container:()=>EL,system_print_end:()=>hL,system_print_inline:()=>ML,system_print_item:()=>OL,system_print_many:()=>mL});var W={};e.r(W),e.d(W,{Panic_with_status_code:()=>AL,Timer_init:()=>BL,base_delay:()=>wL,controls_delay:()=>SL,controls_delay_new:()=>CL,controls_millis:()=>NL,controls_uname:()=>fL,raw_block:()=>DL,reset:()=>LL,set_system_timer:()=>XL,system_bitbot_shutdown:()=>VL,system_machine_reset:()=>bL,system_ticks_diff:()=>YL,system_timer:()=>PL,system_timer_init:()=>vL,system_wdt_feed:()=>xL,system_wdt_init:()=>yL,time_ticks_diff:()=>UL,timer:()=>FL,timer2:()=>GL});var K={};e.r(K),e.d(K,{Air_daily_content:()=>iN,Air_now_content:()=>zL,Geo_moon_content:()=>sN,Geo_sun_content:()=>nN,Life_suggestion_content:()=>jL,Location_search_content:()=>ZL,Tide_daily_content:()=>$L,WEATHER_DAILY:()=>WL,WEATHER_HOUR:()=>KL,WEATHER_NOW:()=>kL,Weather_alarm_content:()=>qL,Weather_daily:()=>eN,Weather_daily_content:()=>tN,Weather_now:()=>JL,Weather_now_content:()=>QL});var J={};e.r(J),e.d(J,{PIN_init:()=>oD,actuator_extern_get_led_bright:()=>LN,actuator_extern_get_led_state:()=>NN,actuator_extern_led_bright:()=>AN,actuator_extern_led_brightness:()=>DN,actuator_ms32006_dcmotor:()=>dN,actuator_ms32006_init:()=>lN,actuator_ms32006_stepper:()=>IN,actuator_neopixel_init:()=>fN,actuator_neopixel_rgb:()=>YN,actuator_neopixel_rgb_all:()=>FN,actuator_neopixel_rgb_show_all_chase:()=>vN,actuator_neopixel_rgb_show_all_rainbow:()=>XN,actuator_neopixel_write:()=>PN,actuator_use_uart_init:()=>yN,backstage_esp32_music_play_list:()=>gN,esp32_music_get_tempo_extern:()=>RN,esp32_music_pitch:()=>MN,esp32_music_pitch_init:()=>TN,esp32_music_pitch_with_time:()=>hN,esp32_music_play_list:()=>cN,esp32_music_reset_extern:()=>CN,esp32_music_set_tempo_extern:()=>ON,esp32_music_stop:()=>mN,esp32_set_music_volume:()=>EN,mixbot_actuator_extern_get_addr:()=>sD,mixbot_actuator_extern_set_addr:()=>_D,mixbot_addr_extern:()=>WN,parrot_PIN_init:()=>rD,parrot_move_speed:()=>lD,pin_led_bright:()=>pD,player_play_music:()=>GN,player_set_mode:()=>BN,player_set_play:()=>bN,player_set_volume:()=>VN,player_whether_stop:()=>xN,robot_led_extern:()=>zN,robot_led_extern_get_value:()=>qN,robot_motor_extern:()=>KN,robot_motor_extern_get_speed:()=>JN,robot_servo_extern_absolute_run:()=>eD,robot_servo_extern_get_status:()=>jN,robot_servo_extern_relative_continue:()=>nD,robot_servo_extern_relative_origin:()=>tD,robot_servo_extern_relative_run:()=>iD,robot_servo_extern_stop:()=>ZN,robot_servo_extern_stop_mode:()=>$N,robot_traffic_light_extern:()=>QN,servo_PIN_init:()=>aD,servo_get_angle:()=>uN,servo_get_speed:()=>rN,servo_init:()=>_N,servo_move:()=>SN,servo_move_angle:()=>uD,servo_set_angle:()=>pN,servo_set_speed:()=>aN,servo_speed_360:()=>oN,syn6288_builtin_voice:()=>HN,syn6288_get_voice:()=>wN,syn6288_set_voice:()=>UN,syn6288_tts_play:()=>kN});var Q={};e.r(Q),e.d(Q,{actuator_dc_motor:()=>GD,actuator_dc_motor_stop:()=>UD,actuator_get_led_bright:()=>CD,actuator_get_led_state:()=>SD,actuator_led_bright:()=>gD,actuator_led_brightness:()=>AD,actuator_mixbot_buzzer_on_off:()=>KD,actuator_mixgo_nova_mic_get:()=>jD,actuator_mixgo_nova_mic_set:()=>qD,actuator_mixgo_nova_onboard_music_pitch:()=>sf,actuator_mixgo_nova_onboard_music_stop:()=>_f,actuator_mixgo_nova_play_audio:()=>tf,actuator_mixgo_nova_play_online_audio:()=>nf,actuator_mixgo_nova_record_audio:()=>ef,actuator_mixgo_nova_voice_get:()=>ZD,actuator_mixgo_nova_voice_set:()=>$D,actuator_mixgo_zero_led_color:()=>LD,actuator_onboard_neopixel_rgb:()=>vD,actuator_onboard_neopixel_rgb_all:()=>XD,actuator_onboard_neopixel_rgb_show_all_chase:()=>yD,actuator_onboard_neopixel_rgb_show_all_rainbow:()=>xD,actuator_onboard_neopixel_write:()=>YD,actuator_stepper_keep:()=>VD,actuator_stepper_stop:()=>BD,analog_ble_keyboard_init:()=>mf,analog_ble_keyboard_input:()=>Rf,analog_ble_keyboard_mouse_init:()=>Df,analog_ble_keyboard_mouse_input:()=>Yf,analog_ble_keyboard_mouse_send_battery:()=>Pf,analog_ble_keyboard_mouse_str:()=>vf,analog_ble_keyboard_send_battery:()=>gf,analog_ble_keyboard_str:()=>cf,analog_ble_mouse_init:()=>Cf,analog_ble_mouse_input:()=>Lf,analog_ble_mouse_keyboard_input:()=>Xf,analog_ble_mouse_send_battery:()=>Nf,analog_keyboard_input:()=>rf,analog_keyboard_str:()=>Mf,analog_mouse_input:()=>If,backstage_onboard_music_play_list:()=>ED,bitbot_motor:()=>zD,bitbot_move:()=>JD,bitbot_stop:()=>QD,ble_keyboard_connect:()=>Of,ble_keyboard_get_mac:()=>Ef,ble_keyboard_mouse_connect:()=>Ff,ble_keyboard_mouse_get_mac:()=>ff,ble_mouse_connect:()=>Af,ble_mouse_get_mac:()=>Sf,cc_number:()=>ND,educore_ble_keyboard_input:()=>kf,educore_ble_sensor_connected:()=>Hf,educore_ble_sensor_init:()=>wf,educore_buzzer:()=>yf,educore_buzzer_play_tone:()=>xf,educore_buzzer_play_tone_time:()=>bf,educore_buzzer_stop:()=>Vf,educore_neopixel_clear:()=>Uf,educore_neopixel_rgb:()=>Gf,educore_rgb_light:()=>Bf,esp32_music_get_tempo:()=>ID,esp32_music_reset:()=>OD,esp32_music_set_tempo:()=>dD,esp32_onboard_music_pitch:()=>TD,esp32_onboard_music_pitch_with_time:()=>MD,esp32_onboard_music_play_list:()=>mD,esp32_onboard_music_stop:()=>hD,general_key:()=>df,general_key_tuple:()=>hf,get_keyboard_light:()=>Wf,get_power_output:()=>pf,ledswitch:()=>cD,mixbot_motor:()=>WD,mixbot_motor_status:()=>wD,mixbot_move:()=>HD,mixbot_stop:()=>kD,mouse_key:()=>Tf,number:()=>RD,record_audio:()=>Jf,rm_actuator_get_led_bright:()=>fD,rm_actuator_get_led_state:()=>FD,rm_actuator_led_bright:()=>DD,rm_actuator_led_brightness:()=>PD,rm_motor:()=>bD,set_all_power_output:()=>af,set_microphone_amplification:()=>Kf,set_music_volume:()=>Qf,set_part_power_output:()=>uf,set_power_output:()=>of,special_key:()=>lf});var z={};e.r(z),e.d(z,{ai_sensor_20object:()=>NF,ai_sensor_ailocal_class:()=>hF,ai_sensor_ailocal_class_result:()=>mF,ai_sensor_ailocal_train:()=>MF,ai_sensor_asr_recognize:()=>gF,ai_sensor_audio_play:()=>OF,ai_sensor_audio_record:()=>EF,ai_sensor_barcode:()=>tF,ai_sensor_circle:()=>pF,ai_sensor_classifier_faces:()=>LF,ai_sensor_color:()=>lF,ai_sensor_color_chases:()=>TF,ai_sensor_color_chases_result:()=>IF,ai_sensor_config:()=>jf,ai_sensor_face:()=>AF,ai_sensor_find_20objects:()=>DF,ai_sensor_find_barcodes:()=>iF,ai_sensor_find_circles:()=>aF,ai_sensor_find_colors:()=>dF,ai_sensor_find_licenseplates:()=>SF,ai_sensor_find_lines:()=>oF,ai_sensor_find_qrcodes:()=>eF,ai_sensor_find_rects:()=>rF,ai_sensor_find_tags:()=>sF,ai_sensor_licenseplate:()=>CF,ai_sensor_line:()=>_F,ai_sensor_qrcode:()=>Zf,ai_sensor_qrcode_lite:()=>qf,ai_sensor_rect:()=>uF,ai_sensor_rgb:()=>$f,ai_sensor_tag:()=>nF,ai_sensor_use_uart_init:()=>zf,ai_sensor_yolo_recognize:()=>RF,ai_sensor_yolo_recognize_result:()=>cF});var q={};e.r(q),e.d(q,{AI_CAMERA_INIT:()=>tP,AI_CAMERA_INIT_FACERECOGNIZE:()=>sP,AI_CAMERA_INIT_SIMPLE:()=>FP,AI_STOP_ACQUISITION:()=>NP,CAMERA_LOOGOUT:()=>kF,CI130X_BROADCAST_SANT:()=>yF,CI130X_BROADCAST_SYSTEM_TIME:()=>bF,CI130X_GET_THE_RECOGNIZED_CMD_SANT:()=>XF,CI130X_GET_WHETHER_IDENTIFY_SANT:()=>vF,CI130X_IDENTIFY_AND_SAVE_SANT:()=>YF,CI130X_OPEN_AND_CLOSE:()=>PF,CI130X_PLAY_SYSTEM_CMD_SANT:()=>VF,CI130X_SET_SYSTEM_CMD_SANT:()=>xF,CONVERT_IMAGE_TO_JPG:()=>JF,CREATE_CAMERA:()=>BF,CREATE_CAMERA_SIMPLE:()=>fP,DELETE_FACE_ALL:()=>mP,DELETE_FACE_FROM_DATABASE:()=>hP,GET_CAT_FACE_DETECTION_NUM:()=>gP,GET_COLOR_DETECTION_NUM:()=>cP,GET_FACE_DETECTION_NAME:()=>AP,GET_FACE_DETECTION_NUM:()=>SP,GET_HOW_MUCH_RECOGNITION:()=>aP,GET_HUMAN_DETECTION_NUM:()=>CP,GET_IMAGE_AND_SAVE:()=>UF,GET_IMAGE_FROM_NET:()=>HF,GET_NO_CAT_OR_FACE_RECOGNITION:()=>dP,GET_NO_FACE_RECOGNITION_INFO:()=>LP,GET_NO_RECOGNITION:()=>uP,GET_NO_XY_RECOGNITION:()=>rP,GET_NO_XY_RECOGNITION_FACE:()=>lP,GET_PICTURE_DATA_EXACT:()=>WF,GET_PICTURE_DATA_WHS:()=>QF,GET_PICTURE_RECOGNITION_DATA:()=>RP,GET_PICTURE_WIDTH_HEIGHT_DEVICE:()=>KF,GET_QR_CODE_RECOGNITION_DATA:()=>OP,GET_SCREEN_IMAGE:()=>ZF,GET_SCREEN_IMAGE_SIZE:()=>eP,MIXIO_REPORT_IMAGE_DATA:()=>DP,MODEL_INIT_HEIGHT:()=>nP,MODEL_INIT_WIDTH:()=>iP,MODEL_LOGOUT:()=>_P,MODEL_RUN:()=>oP,MODEL_WHETHER_RUN_SUCCEED:()=>pP,OPEN_IMAGE:()=>wF,PRINT_FACE_DATABASE:()=>EP,REGISTER_NEW_FACE:()=>MP,REGISTER_NEW_FACE_SIMPLE:()=>YP,Register_color_recognition:()=>TP,Register_color_recognition_fixed:()=>IP,Register_color_recognition_fixed_SIMPLE:()=>PP,SCREEN_DISPLAY_IMAGE:()=>jF,SCREEN_DISPLAY_IMAGE_LOCATION:()=>$F,SCREEN_SHOW_CAM_GRAPH_SHOOT:()=>zF,SCREEN_SHOW_CAM_GRAPH_SHOOT_LOCATION:()=>qF,SHOOT_AND_SAVE_PICTURE:()=>GF,VOICE_RECOGNITION_CONTROL:()=>FF,yesorno:()=>fF});var j={};e.r(j),e.d(j,{MICROPYTHON_AI_Speech_asr:()=>yP,MICROPYTHON_AI_Speech_unit:()=>XP,MICROPYTHON_AI_client:()=>vP});var $={};e.r($),e.d($,{mpython_blynk_app_data:()=>JP,mpython_blynk_app_notify:()=>wP,mpython_blynk_email:()=>QP,mpython_blynk_get_timers:()=>kP,mpython_blynk_on_connected:()=>BP,mpython_blynk_on_disconnected:()=>VP,mpython_blynk_run:()=>UP,mpython_blynk_sensor_data_to_app:()=>KP,mpython_blynk_set_property:()=>zP,mpython_blynk_setup:()=>qP,mpython_blynk_stop_timers:()=>HP,mpython_blynk_sync_virtual:()=>bP,mpython_blynk_terminal_widget_vpin:()=>xP,mpython_blynktimer:()=>WP,mpython_blynktimer_run:()=>GP});var Z={};e.r(Z),e.d(Z,{communicate_bluetooth_central_init:()=>PY,communicate_bluetooth_connect:()=>XY,communicate_bluetooth_disconnect:()=>yY,communicate_bluetooth_handle:()=>UY,communicate_bluetooth_is_connected:()=>bY,communicate_bluetooth_mac:()=>xY,communicate_bluetooth_peripheral_init:()=>YY,communicate_bluetooth_recv:()=>GY,communicate_bluetooth_recv_only:()=>BY,communicate_bluetooth_scan:()=>vY,communicate_bluetooth_send:()=>VY,communicate_espnow_init:()=>wY,communicate_espnow_init_new:()=>HY,communicate_i2c_available:()=>sY,communicate_i2c_init:()=>ZP,communicate_i2c_master_read:()=>nY,communicate_i2c_onboard:()=>jP,communicate_i2c_read:()=>eY,communicate_i2c_scan:()=>iY,communicate_i2c_write:()=>tY,communicate_ir_recv_init:()=>cY,communicate_ir_send_init:()=>LY,communicate_ow_init:()=>MY,communicate_ow_read:()=>EY,communicate_ow_reset:()=>mY,communicate_ow_scan:()=>hY,communicate_ow_select:()=>RY,communicate_ow_write:()=>OY,communicate_spi_buffer:()=>aY,communicate_spi_init:()=>oY,communicate_spi_onboard:()=>$P,communicate_spi_read:()=>uY,communicate_spi_read_output:()=>rY,communicate_spi_readinto:()=>lY,communicate_spi_readinto_output:()=>dY,communicate_spi_set:()=>pY,communicate_spi_write:()=>IY,communicate_spi_write_readinto:()=>TY,espnow_radio_channel:()=>zY,espnow_radio_channel_new:()=>jY,espnow_radio_on_off:()=>$Y,espnow_radio_rec:()=>ev,espnow_radio_recv:()=>iv,espnow_radio_recv_certain_msg:()=>nv,espnow_radio_recv_certain_msg_new:()=>_v,espnow_radio_recv_msg:()=>tv,espnow_radio_recv_new:()=>sv,espnow_radio_send:()=>ZY,espnow_radio_txpower:()=>qY,i2c_slave_onreceive:()=>_Y,internal_variable:()=>gY,ir_recv_timeout:()=>AY,ir_transmit_busy:()=>FY,ir_transmit_conventional_data:()=>NY,ir_transmit_raw_code:()=>fY,ir_transmit_study_code:()=>DY,ir_whether_recv:()=>SY,lora_init:()=>ov,lora_packet:()=>pv,lora_recv:()=>uv,lora_send:()=>av,network_espnow_info:()=>WY,network_espnow_mac:()=>kY,network_espnow_recv:()=>KY,network_espnow_recv_handle:()=>QY,network_espnow_send:()=>JY,recv_fun:()=>CY,urequests_attribute:()=>lv,urequests_get:()=>rv,urequests_method:()=>dv});var ee={};e.r(ee),e.d(ee,{display_animate:()=>bv,display_circle:()=>Vv,display_color_seclet:()=>zv,display_draw_4strings:()=>Fv,display_fill:()=>xv,display_lcd_use_i2c_init:()=>tX,display_line:()=>vv,display_line_arbitrarily:()=>Pv,display_matrix_extern_bright_point:()=>Cv,display_matrix_extern_bright_screen:()=>Av,display_matrix_extern_clear:()=>Rv,display_matrix_extern_get_pixel:()=>gv,display_matrix_extern_get_screen_pixel:()=>Sv,display_matrix_extern_image_builtins:()=>Lv,display_matrix_extern_scroll_string:()=>Ev,display_matrix_extern_scroll_string_delay:()=>Ov,display_matrix_extern_shift:()=>cv,display_matrix_extern_show_frame_string:()=>hv,display_matrix_extern_show_frame_string_delay:()=>mv,display_matrix_extern_show_image:()=>Tv,display_matrix_extern_show_image_or_string_delay:()=>Mv,display_matrix_use_i2c_init:()=>Iv,display_oled_drawPixel:()=>Uv,display_oled_showBitmap:()=>Gv,display_oled_use_i2c_init:()=>oX,display_onoff:()=>Xv,display_rect:()=>Yv,display_tm1650_power:()=>Hv,display_tm1650_set_brightness:()=>Kv,display_tm1650_show_dot:()=>Wv,display_tm1650_show_num:()=>kv,display_tm_use_i2c_init:()=>wv,display_triangle:()=>Bv,display_use_i2c_init:()=>fv,extern_oled_bright_point:()=>EX,extern_oled_clear:()=>MX,extern_oled_get_pixel:()=>mX,extern_oled_hvline:()=>RX,extern_oled_line:()=>cX,extern_oled_scroll_string:()=>IX,extern_oled_scroll_string_delay:()=>TX,extern_oled_shape_rect:()=>OX,extern_oled_shift:()=>hX,extern_oled_show_frame_string:()=>lX,extern_oled_show_frame_string_delay:()=>dX,extern_oled_show_image:()=>pX,extern_oled_show_image_or_string_delay:()=>rX,extern_oled_show_image_xy:()=>aX,extern_oled_show_string:()=>uX,image_shift:()=>yv,lcd_backlight:()=>sX,lcd_clear:()=>_X,lcd_print_string:()=>nX,lcd_show_image_or_string_delay:()=>iX,matrix_extern_image_arithmetic:()=>Nv,matrix_extern_image_invert:()=>Dv,tft_fill:()=>Zv,tft_line_arbitrarily:()=>eX,tft_scroll_string_delay:()=>$v,tft_show_frame_string_delay:()=>jv,tft_show_image_or_string_delay:()=>qv,tft_show_image_xy:()=>Qv,tft_use_spi_init:()=>Jv});var te={};e.r(te),e.d(te,{bitbot_display_bitmap_create:()=>Ty,bitbot_display_image_create:()=>Iy,display_available:()=>yX,display_bitmap_create:()=>vX,display_bright_point:()=>GX,display_bright_screen:()=>wX,display_clear:()=>XX,display_get_pixel:()=>BX,display_get_screen_pixel:()=>UX,display_image_builtins:()=>FX,display_image_builtins_all:()=>PX,display_image_create:()=>YX,display_scroll_string:()=>LX,display_scroll_string_delay:()=>NX,display_scroll_way:()=>DX,display_shift:()=>VX,display_show_frame_string:()=>SX,display_show_frame_string_delay:()=>AX,display_show_image:()=>gX,display_show_image_or_string_delay:()=>CX,draw_pointer:()=>Py,image_arithmetic:()=>xX,image_invert:()=>bX,mixbot_display_bitmap_create:()=>ay,mixbot_display_bright_screen:()=>ly,mixbot_display_get_ambientbright:()=>ry,mixbot_display_get_screen_pixel:()=>uy,mixbot_display_image_create:()=>py,mixbot_display_rotate:()=>dy,mixgo_display_bitmap_create:()=>zX,mixgo_display_image_create_new:()=>QX,mixgome_display_bitmap_create:()=>kX,mixgome_display_font:()=>JX,mixgome_display_image_create:()=>HX,mixgomini_display_bitmap_create:()=>KX,mixgomini_display_image_create:()=>WX,mpython_display_hvline:()=>_y,mpython_display_line:()=>oy,mpython_display_shape_rect:()=>sy,mpython_pbm_image:()=>qX,nova_draw_pointer:()=>Yy,onboard_oled_bright_point:()=>ny,onboard_oled_scroll_string_delay:()=>iy,onboard_oled_show_frame_string_delay:()=>ty,onboard_oled_show_image:()=>jX,onboard_oled_show_image_or_string_delay:()=>ey,onboard_oled_show_image_xy:()=>$X,onboard_oled_show_string:()=>ZX,onboard_tft_bright_point:()=>Cy,onboard_tft_bright_screen:()=>Gy,onboard_tft_clear:()=>Uy,onboard_tft_clock_clear:()=>fy,onboard_tft_clock_draw:()=>Dy,onboard_tft_clock_get_rtctime:()=>Ly,onboard_tft_clock_init:()=>Ay,onboard_tft_clock_set_time:()=>Ny,onboard_tft_display_hvline:()=>Ry,onboard_tft_display_line:()=>cy,onboard_tft_display_shape_circle:()=>Fy,onboard_tft_display_shape_rect:()=>Oy,onboard_tft_fill:()=>Sy,onboard_tft_get_pixel:()=>gy,onboard_tft_get_screen_pixel:()=>By,onboard_tft_scroll_string_delay:()=>fX,onboard_tft_shift:()=>Vy,onboard_tft_show_frame_string:()=>by,onboard_tft_show_frame_string_delay:()=>Ey,onboard_tft_show_image:()=>xy,onboard_tft_show_image_or_string_delay:()=>my,onboard_tft_show_image_xy:()=>My,onboard_tft_show_image_xy_direct:()=>hy,onboard_tft_show_qrcode:()=>Xy,onboard_tft_show_qrcode_details:()=>yy,onboard_tft_show_texts:()=>vy});var ie={};e.r(ie),e.d(ie,{factory_block:()=>zy,factory_block_return:()=>qy,factory_block_return_with_textarea:()=>$y,factory_block_with_textarea:()=>jy,factory_callMethod_noreturn:()=>Jy,factory_callMethod_return:()=>Qy,factory_declare:()=>Ky,factory_from_import:()=>wy,factory_function_noreturn:()=>ky,factory_function_return:()=>Wy,factory_import:()=>Hy,folding_block:()=>Zy});var ne={};e.r(ne),e.d(ne,{inout_analog_atten:()=>Tx,inout_analog_read:()=>px,inout_analog_read_init:()=>Ix,inout_analog_write:()=>sx,inout_analog_write_init:()=>dx,inout_analog_write_set:()=>_x,inout_digital_init:()=>rx,inout_digital_read:()=>ix,inout_digital_write:()=>tx,inout_highlow:()=>ex,inout_pin_attachInterrupt:()=>ux,inout_pin_pressed:()=>ax,inout_pin_pressed_init:()=>Mx,inout_pwm_analog_write:()=>nx,inout_pwm_analog_write_init:()=>lx,inout_pwm_analog_write_set_freq:()=>ox});var se={};e.r(se),e.d(se,{IOT_CONNECT_OLLAMA:()=>kx,IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>yx,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>vx,IOT_EMQX_PING:()=>xx,IOT_FORMATTING:()=>Px,IOT_FORMAT_STRING:()=>Yx,IOT_MIXIO_NTP:()=>bx,IOT_MIXIO_PUBLISH:()=>Cx,IOT_MIXIO_PUBLISHEX:()=>Sx,IOT_MIXIO_SUBSCRIBE:()=>Ax,iot_client_onboard:()=>Vx,iot_connect_ollama:()=>Hx,iot_connect_openai:()=>Wx,iot_http_client:()=>Bx,iot_http_data:()=>Gx,iot_mixio_check:()=>Dx,iot_mixio_connect:()=>gx,iot_mixio_connect_only:()=>Nx,iot_mixio_disconnect:()=>Lx,iot_mixio_format_msg:()=>Fx,iot_mixio_format_topic:()=>fx,iot_mixly_key:()=>Xx,iot_mqtt_client:()=>Ux,iot_mqtt_data:()=>wx,iot_onenet_check:()=>Rx,iot_onenet_connect:()=>mx,iot_onenet_disconnect:()=>Ex,iot_onenet_publish:()=>cx,iot_onenet_publish_dict:()=>Ox,iot_tiny_web_db_count:()=>Zx,iot_tiny_web_db_delete:()=>tb,iot_tiny_web_db_get:()=>$x,iot_tiny_web_db_init:()=>zx,iot_tiny_web_db_init_with_mqtt:()=>qx,iot_tiny_web_db_search:()=>eb,iot_tiny_web_db_update:()=>jx,iot_wifi_connect:()=>hx,ollama_empty_history:()=>Qx,use_ollama_llm_to_chat:()=>Kx,use_ollama_llm_to_chat_return:()=>Jx});var _e={};e.r(_e),e.d(_e,{educore_mqtt_connect:()=>vb,educore_mqtt_connect_success:()=>bb,educore_mqtt_subscribe_message:()=>Xb,educore_mqtt_topic_publish:()=>xb,educore_mqtt_topic_subscribe:()=>yb,educore_wifi_connect:()=>Yb,network_ap_connect:()=>rb,network_connect:()=>nb,network_get_connect:()=>_b,network_get_wifi:()=>ub,network_init:()=>ib,network_is_active:()=>ab,network_open:()=>pb,network_scan:()=>lb,network_server:()=>db,network_socket_accept:()=>mb,network_socket_bind:()=>Tb,network_socket_close:()=>Cb,network_socket_connect:()=>Mb,network_socket_init:()=>Ib,network_socket_listen:()=>hb,network_socket_readline:()=>Eb,network_socket_receive:()=>Ob,network_socket_receive_from:()=>cb,network_socket_send:()=>Rb,network_socket_send_to:()=>gb,network_stop:()=>ob,network_wifi_connect:()=>sb,ntptime_address:()=>Db,ntptime_time:()=>Nb,requests_attribute:()=>Ab,requests_attribute2:()=>Fb,requests_get:()=>Sb,requests_get2:()=>fb,requests_method:()=>Lb,requests_post:()=>Pb});var oe={};e.r(oe),e.d(oe,{get_potential_num:()=>Vb,nova_g1_motor:()=>Bb,nova_g1_spk_en:()=>Ub,nova_g1_usb:()=>Gb});var pe={};e.r(pe),e.d(pe,{pe_g1_battery_left:()=>Hb,pe_g1_dc_motor:()=>kb,pe_g1_dc_motor_speed:()=>Wb,pe_g1_servo_get_angle:()=>Qb,pe_g1_servo_get_speed:()=>zb,pe_g1_servo_set_angle:()=>Kb,pe_g1_servo_set_speed:()=>Jb,pe_g1_use_i2c_init:()=>wb});var ae={};e.r(ae),e.d(ae,{CI130X_BROADCAST:()=>EV,CI130X_GET_THE_RECOGNIZED_CMD:()=>mV,CI130X_GET_WHETHER_IDENTIFY:()=>hV,CI130X_IDENTIFY_AND_SAVE:()=>MV,CI130X_SET_SYSTEM_CMD:()=>OV,HCSR04:()=>jV,PS2_Button:()=>eB,PS2_Buttons:()=>tB,PS2_Buttons_new:()=>uB,PS2_State:()=>iB,PS2_init:()=>$V,PS2_init_new:()=>pB,PS2_stk:()=>nB,PS2_stk_new:()=>rB,PS2_vibration:()=>ZV,PS2_vibration_new:()=>aB,RTC_get_time:()=>_B,RTC_set_date:()=>nV,RTC_set_datetime:()=>sB,RTC_set_time:()=>iV,camera_sensor_init:()=>UB,camera_sensor_result:()=>wB,column_tube_foot:()=>KB,define_keyboards:()=>JB,educore_body_sensor:()=>PB,educore_button_sensor_extern:()=>yB,educore_camera_sensor:()=>GB,educore_infrared_sensor:()=>XB,educore_soilhum_sensor:()=>YB,educore_temp_sensor:()=>BB,educore_temphum_sensor:()=>vB,educore_ultrasonic_sensor:()=>bB,esp32_s2_weather_init:()=>JV,esp32_s2_weather_rain:()=>zV,esp32_s2_weather_wd:()=>QV,esp32_s2_weather_ws:()=>qV,extern_rfid_read:()=>yV,extern_rfid_readcontent:()=>bV,extern_rfid_readid:()=>xV,extern_rfid_status:()=>GV,extern_rfid_write:()=>VV,extern_rfid_write_return:()=>BV,get_keboards_value:()=>zB,gnss_get_data:()=>IB,gnss_have_data:()=>TB,init_init_rotary_encoder:()=>qB,init_matrix_keyboard:()=>QB,interaction_whether_to_interaction:()=>IV,interaction_whether_to_interaction_SANT:()=>TV,line_tube_foot:()=>WB,mixbot_sensor_extern_get_addr:()=>SB,mixbot_sensor_extern_set_addr:()=>AB,pm25_get_data:()=>dB,radar_set_DETECTION_THRESHOLD:()=>lV,radar_set_DETECTION_THRESHOLD_SANT:()=>dV,robot_button_extern_get_value:()=>hB,robot_color_extern_get_value:()=>cB,robot_infrared_extern_get_value:()=>EB,robot_infrared_extern_grey_get_value:()=>OB,robot_potentiometer_extern_get_value:()=>RB,robot_sonar_extern_get_value:()=>gB,robot_sonar_extern_led:()=>CB,robot_touch_extern_get_value:()=>mB,rotary_key:()=>jB,sensor_APDS9960_extern:()=>cV,sensor_DS18X20:()=>FB,sensor_LTR308_extern:()=>gV,sensor_LTR390UV_extern:()=>fV,sensor_MAX30102_extern:()=>RV,sensor_QMC5883L_extern:()=>FV,sensor_VL530LX_extern:()=>vV,sensor_aht11_extern:()=>YV,sensor_bmp:()=>aV,sensor_dht11:()=>oB,sensor_distance_hrsc04:()=>tV,sensor_hp203_extern:()=>CV,sensor_ltr381_extern:()=>NV,sensor_mixgo_extern_button_attachInterrupt:()=>Zb,sensor_mixgo_extern_button_get_presses:()=>$b,sensor_mixgo_extern_button_is_pressed:()=>qb,sensor_mixgo_extern_button_was_pressed:()=>jb,sensor_mixgo_extern_light:()=>sV,sensor_mixgo_extern_pin_near:()=>oV,sensor_mixgo_extern_sound:()=>_V,sensor_mixgoce_hot_wheel_degrees:()=>KV,sensor_mixgoce_hot_wheel_is_touched:()=>WV,sensor_mpu9250_attachGestureInterrupt:()=>eV,sensor_ms5611_extern:()=>AV,sensor_ms5611_extern_altitude:()=>LV,sensor_read_humiture:()=>xB,sensor_rtc_init:()=>pV,sensor_sht:()=>uV,sensor_shtc3_extern:()=>PV,sensor_spl06_001_extern:()=>SV,sensor_ucs12071_extern:()=>DV,sensor_use_i2c_init:()=>rV,sensor_use_spi_init:()=>XV,sensor_use_uart_init:()=>lB,sensor_weather_solo_init:()=>LB,sensor_weather_solo_rain:()=>fB,sensor_weather_solo_wd:()=>NB,sensor_weather_solo_ws:()=>DB,sensor_weigh_init:()=>HB,tvoc_get_data:()=>MB,ultrasonic_sensor_read_distance:()=>VB,weather_data:()=>UV,weather_have_data:()=>wV,weather_set_label:()=>kV,weather_uart_mixio:()=>HV,weigh_sensor_get_weight:()=>kB});var ue={};e.r(ue),e.d(ue,{HCSR04:()=>oG,bitbot_als_num:()=>DU,dht11:()=>xU,educore_button_sensor:()=>HU,educore_button_was_pressed:()=>kU,educore_gyroscope_sensor:()=>GU,educore_gyroscope_sensor_read:()=>UU,educore_gyroscope_sensor_shake:()=>wU,educore_light_sensor:()=>BU,educore_rfid_sensor:()=>WU,educore_rfid_sensor_scan:()=>KU,educore_rfid_sensor_scan_data:()=>JU,educore_voice_sensor:()=>bU,number1:()=>pG,number2:()=>aG,number3:()=>uG,number4:()=>rG,number5:()=>lG,number6:()=>dG,number7:()=>IG,onboard_RTC_get_time:()=>sU,onboard_RTC_get_time_str:()=>pU,onboard_RTC_get_timestamp:()=>_U,onboard_RTC_get_timetuple_to_str:()=>aU,onboard_RTC_set_datetime:()=>iU,onboard_RTC_settime_string:()=>nU,onboard_RTC_timestamp_totuple:()=>oU,rfid_readcontent:()=>fG,rfid_readid:()=>DG,rfid_status:()=>YG,rfid_write:()=>FG,rfid_write_return:()=>PG,sensor_LTR308:()=>CG,sensor_adxl345_get_acceleration:()=>UG,sensor_aht11:()=>LG,sensor_bitbot_ALS:()=>NU,sensor_button_get_presses:()=>PU,sensor_button_is_pressed:()=>fU,sensor_button_was_pressed:()=>FU,sensor_compass_reset:()=>JG,sensor_ds18x20:()=>cG,sensor_eulerangles:()=>XG,sensor_get_acceleration:()=>vG,sensor_get_temperature:()=>NG,sensor_get_the_coprocessor_version:()=>QU,sensor_hp203:()=>AG,sensor_light:()=>yU,sensor_lm35:()=>gG,sensor_mixbot_get_gyro:()=>LU,sensor_mixbot_patrol_calibrate:()=>CU,sensor_mixbot_patrol_value:()=>SU,sensor_mixbot_temperature:()=>AU,sensor_mixgo_LTR308:()=>EG,sensor_mixgo_button_attachInterrupt:()=>tG,sensor_mixgo_button_get_presses:()=>eG,sensor_mixgo_button_is_pressed:()=>$B,sensor_mixgo_button_was_pressed:()=>ZB,sensor_mixgo_cc_mmc5603_calibrate_compass:()=>lU,sensor_mixgo_cc_mmc5603_get_angle:()=>rU,sensor_mixgo_cc_mmc5603_get_magnetic:()=>uU,sensor_mixgo_light:()=>XU,sensor_mixgo_nova_LTR308:()=>RG,sensor_mixgo_nova_pin_near:()=>mG,sensor_mixgo_pin_near:()=>hG,sensor_mixgo_pin_near_double:()=>MG,sensor_mixgo_pin_near_single:()=>TG,sensor_mixgo_pin_pressed:()=>BG,sensor_mixgo_sant_color:()=>OG,sensor_mixgo_touch_slide:()=>VG,sensor_mixgocar42_button_attachInterrupt:()=>_G,sensor_mixgocar42_button_get_presses:()=>sG,sensor_mixgocar42_button_is_pressed:()=>iG,sensor_mixgocar42_button_was_pressed:()=>nG,sensor_mixgocar_battery_left:()=>gU,sensor_mixgocar_pin_near:()=>RU,sensor_mixgocar_pin_near_line:()=>OU,sensor_mixgocar_pin_near_state_change:()=>cU,sensor_mixgoce_pin_pressed:()=>bG,sensor_mixgoce_temperature:()=>IU,sensor_mixgome_temperature:()=>dU,sensor_mpu9250_calibrate_compass:()=>kG,sensor_mpu9250_field_strength:()=>KG,sensor_mpu9250_gesture:()=>yG,sensor_mpu9250_get_acceleration:()=>xG,sensor_mpu9250_get_gyro:()=>HG,sensor_mpu9250_get_magnetic:()=>wG,sensor_mpu9250_temperature:()=>WG,sensor_mpython_pin_pressed:()=>GG,sensor_mpython_qmi8658_get_gyro:()=>TU,sensor_mpython_qmi8658_temperature:()=>MU,sensor_onboard_compass_reset:()=>tU,sensor_onboard_mpu9250_calibrate_compass:()=>$G,sensor_onboard_mpu9250_field_strength:()=>eU,sensor_onboard_mpu9250_gesture:()=>QG,sensor_onboard_mpu9250_get_acceleration:()=>zG,sensor_onboard_mpu9250_get_gyro:()=>jG,sensor_onboard_mpu9250_get_magnetic:()=>qG,sensor_onboard_mpu9250_temperature:()=>ZG,sensor_pin_near:()=>vU,sensor_pin_pressed:()=>YU,sensor_read:()=>VU,sensor_rm_acc:()=>EU,sensor_rm_battery_left:()=>mU,sensor_rm_pin_near_double:()=>hU,sensor_sound:()=>SG,simulated_light_sensor:()=>zU});var re={};e.r(re),e.d(re,{serial_any:()=>ew,serial_print:()=>qU,serial_print_byte:()=>jU,serial_print_hex:()=>ZU,serial_println:()=>$U,serial_read_from_ai:()=>lw,serial_readline:()=>iw,serial_readstr:()=>tw,serial_send_to_ai:()=>rw,serial_softserial:()=>nw,serial_softserial_new:()=>sw,system_input:()=>_w,system_print:()=>ow,system_print_end:()=>aw,system_print_inline:()=>pw,system_print_many:()=>uw});var le={};e.r(le),e.d(le,{Panic_with_status_code:()=>Cw,Timer_init:()=>Bw,base_delay:()=>ww,controls_delay:()=>Dw,controls_delay_new:()=>fw,controls_end_program:()=>Aw,controls_millis:()=>Sw,controls_uname:()=>Nw,reset:()=>Lw,set_system_timer:()=>Pw,system_bitbot_shutdown:()=>Vw,system_device_name:()=>cw,system_device_serial_number:()=>gw,system_event_bus_source:()=>Ow,system_event_bus_value:()=>Rw,system_machine_reset:()=>bw,system_on_event:()=>hw,system_raise_event:()=>Mw,system_reset:()=>Iw,system_run_in_background:()=>dw,system_ticks_diff:()=>Yw,system_timer:()=>Xw,system_timer_init:()=>vw,system_timestamp:()=>mw,system_value:()=>Ew,system_wait:()=>Tw,system_wdt_feed:()=>xw,system_wdt_init:()=>yw,time_ticks_diff:()=>Uw,timer:()=>Fw,timer2:()=>Gw});var de={};e.r(de),e.d(de,{Air_daily_content:()=>tH,Air_now_content:()=>Qw,Geo_moon_content:()=>nH,Geo_sun_content:()=>iH,Life_suggestion_content:()=>qw,Location_search_content:()=>$w,Tide_daily_content:()=>jw,WEATHER_DAILY:()=>kw,WEATHER_HOUR:()=>Ww,WEATHER_NOW:()=>Hw,Weather_alarm_content:()=>zw,Weather_daily:()=>Zw,Weather_daily_content:()=>eH,Weather_now:()=>Kw,Weather_now_content:()=>Jw});var Ie={};e.r(Ie),e.d(Ie,{MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED:()=>oH});var Te={};e.r(Te),e.d(Te,{MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED:()=>aH});var Me={};e.r(Me),e.d(Me,{MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED:()=>rH});var he={};e.r(he),e.d(he,{controls_pin_attachInterrupt:()=>FH,inout_analog_atten:()=>RH,inout_analog_write:()=>EH,inout_analog_write_init:()=>SH,inout_analog_write_set:()=>OH,inout_analog_write_set_freq:()=>LH,inout_digital_init:()=>CH,inout_digital_read:()=>mH,inout_digital_write:()=>hH,inout_highlow:()=>MH,inout_pinMode:()=>NH,inout_pin_attachInterrupt:()=>gH,inout_pin_pressed:()=>cH,inout_pin_pressed_init:()=>AH,pin_pressed:()=>fH,pin_pressed_init:()=>DH});var me={};e.r(me),e.d(me,{analog_input:()=>BH,analog_output:()=>UH,espnow_channel:()=>xH,haskylens_model:()=>bH,i2c_A_pin:()=>wH,i2c_B_pin:()=>HH,pins_analog:()=>QH,pins_analog_pin:()=>zH,pins_axis:()=>dk,pins_brightness:()=>Ik,pins_builtinimg:()=>_k,pins_builtinimg_extern:()=>ok,pins_button:()=>$H,pins_buttonB:()=>ZH,pins_dac:()=>qH,pins_dac_pin:()=>jH,pins_digital:()=>YH,pins_digital_dot:()=>ck,pins_digital_pin:()=>vH,pins_exlcdh:()=>rk,pins_exlcdv:()=>lk,pins_imglist:()=>pk,pins_input_pin:()=>XH,pins_one_more:()=>Rk,pins_output_pin:()=>yH,pins_playlist:()=>ak,pins_playlist_extern:()=>uk,pins_pwm:()=>ek,pins_pwm_pin:()=>tk,pins_radio_datarate:()=>Ok,pins_radio_power:()=>Ek,pins_serial:()=>sk,pins_tone_notes:()=>mk,pins_touch:()=>nk,pins_touch_pin:()=>ik,pins_tts_bgmusic:()=>hk,pins_tts_builtin_music:()=>Mk,pins_tts_voice:()=>Tk,pwm_input:()=>VH,pwm_output:()=>GH,spi_A_pin:()=>kH,spi_B_pin:()=>WH,spi_C_pin:()=>KH,spi_D_pin:()=>JH,timer_id_pin:()=>gk});var Ee={};e.r(Ee),e.d(Ee,{mini_g2_rfid_readcontent:()=>Sk,mini_g2_rfid_readid:()=>Ck,mini_g2_rfid_status:()=>Nk,mini_g2_rfid_write:()=>Ak,mini_g2_rfid_write_outcome:()=>Lk});var Oe={};e.r(Oe),e.d(Oe,{inout_analog_atten:()=>bk,inout_analog_write:()=>Pk,inout_analog_write_init:()=>xk,inout_analog_write_set:()=>Yk,inout_digital_init:()=>yk,inout_digital_read:()=>Fk,inout_digital_write:()=>fk,inout_highlow:()=>Dk,inout_pin_attachInterrupt:()=>Xk,inout_pin_pressed:()=>vk,inout_pin_pressed_init:()=>Vk});var Re={};e.r(Re),e.d(Re,{analog_input:()=>Qk,analog_output:()=>qk,espnow_channel:()=>Kk,haskylens_model:()=>Jk,i2c_A_pin:()=>jk,i2c_B_pin:()=>$k,pins_analog:()=>sW,pins_analog_pin:()=>nW,pins_axis:()=>mW,pins_brightness:()=>RW,pins_builtinimg:()=>FW,pins_builtinimg_extern:()=>IW,pins_button:()=>Gk,pins_buttonB:()=>Uk,pins_dac:()=>aW,pins_dac_pin:()=>pW,pins_digital:()=>Bk,pins_digital_dot:()=>DW,pins_digital_pin:()=>wk,pins_exlcdh:()=>EW,pins_exlcdv:()=>OW,pins_imglist:()=>TW,pins_input_pin:()=>Hk,pins_interrupt:()=>lW,pins_one_more:()=>NW,pins_output_pin:()=>kk,pins_playlist:()=>MW,pins_playlist_extern:()=>hW,pins_pwm:()=>oW,pins_pwm_input:()=>Wk,pins_pwm_pin:()=>_W,pins_radio_datarate:()=>LW,pins_radio_power:()=>AW,pins_serial:()=>dW,pins_tone_notes:()=>SW,pins_touch:()=>rW,pins_touch_pin:()=>uW,pins_tts_bgmusic:()=>CW,pins_tts_builtin_music:()=>gW,pins_tts_voice:()=>cW,pwm_output:()=>zk,spi_A_pin:()=>Zk,spi_B_pin:()=>eW,spi_C_pin:()=>tW,spi_D_pin:()=>iW,timer_id_pin:()=>fW});var ce={};e.r(ce),e.d(ce,{mini_g2_rfid_readcontent:()=>YW,mini_g2_rfid_readid:()=>PW,mini_g2_rfid_status:()=>yW,mini_g2_rfid_write:()=>vW,mini_g2_rfid_write_outcome:()=>XW});const ge=Blockly,Ce=Mixly,Se={NAME_TYPE:"VARIABLE",allVariables:function(e){var t;if(e.getDescendants)t=e.getDescendants();else{if(!e.getAllBlocks)throw"Not Block or Workspace: "+e;t=e.getAllBlocks()}for(var i=Object.create(null),n=0;n1&&(o+=n)):i=o}else i="i";return i}},Ae=Se; +/** + * @license + * Visual Blocks Editor + * + * Copyright 2012 Google Inc. + * https://developers.google.com/blockly/ + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +class Le{constructor(e,t){if(this.variablePrefix_=t||"",this.reservedDict_=Object.create(null),e)for(var i=e.split(","),n=0;n0;s--)t.getInputTargetBlock("IF"+s)&&t.getInputTargetBlock("IF"+s).previousConnection?i[s]=t.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),t.getInputTargetBlock("DO"+s)&&t.getInputTargetBlock("DO"+s).previousConnection?n[s]=t.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(e.getAttribute("elseif"),10),this.elseCount_=parseInt(e.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(ge.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+s).appendField(ge.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(ge.Msg.CONTROLS_IF_MSG_ELSE);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(e){var t=e.newBlock("controls_if_if");t.initSvg();for(var i=t.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=e.newBlock("controls_if_elseif");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var _=e.newBlock("controls_if_else");_.initSvg(),i.connect(_.previousConnection)}return t},compose:function(e){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var t=this.elseifCount_;t>0;t--)this.removeInput("IF"+t),this.removeInput("DO"+t);this.elseifCount_=0;for(var i=e.getInputTargetBlock("STACK"),n=[null],s=[null],_=null;i;){switch(i.type){case"controls_if_elseif":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_if_else":this.elseCount_++,_=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,_)},saveConnections:function(e){for(var t=e.getInputTargetBlock("STACK"),i=1;t;){switch(t.type){case"controls_if_elseif":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);t.valueConnection_=n&&n.connection.targetConnection,t.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_if_else":s=this.getInput("ELSE");t.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}t=t.nextConnection&&t.nextConnection.targetBlock()}},rebuildShape_:function(){var e=[null],t=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),_=this.getInput("DO"+n);console.log(s.connection.targetConnection),e.push(s.connection.targetConnection),t.push(_.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(e,t,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var e=1;this.getInput("IF"+e);)this.removeInput("IF"+e),this.removeInput("DO"+e),e++;for(e=1;e<=this.elseifCount_;e++)this.appendValueInput("IF"+e).setCheck([Number,Boolean]).appendField(ge.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+e).appendField(ge.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(ge.Msg.CONTROLS_IF_MSG_ELSE)},reconnectChildBlocks_:function(e,t,i){for(var n=1;n<=this.elseifCount_;n++)e[n]&&e[n].reconnect(this,"IF"+n),t[n]&&t[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},We={init:function(){this.setColour(Be),this.appendValueInput("FROM").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.PYTHON_RANGE).appendField(ge.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.PYTHON_RANGE_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(ge.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},Ke={init:function(){this.setColour(Be),this.appendValueInput("LIST").setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.CONTROLS_FOREACH_INPUT),this.appendValueInput("VAR").appendField(ge.Msg.CONTROLS_FOREACH_INPUT_ITEM),this.appendStatementInput("DO").appendField(ge.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip((function(){return ge.Msg.CONTROLS_FOR_TOOLTIP.replace("“%1”","")}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){ge.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},Je={init:function(){this.setColour(Be),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(ge.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(new ge.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(ge.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT+ge.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE");return{WHILE:ge.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:ge.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[t]}))}},Qe={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.MIXLY_PYTHON_TRY),this.appendStatementInput("try"),this.appendValueInput("IF1").appendField(ge.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO1").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new ge.icons.MutatorIcon(["controls_except","controls_finally"],this)),this.setTooltip(ge.Msg.MIXLY_MIXPY_CONTROL_TRY_TOOLTIP),this.elseifCount_=1,this.elseCount_=0},mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var e=document.createElement("mutation");return this.elseifCount_&&e.setAttribute("elseif",this.elseifCount_),this.elseCount_&&e.setAttribute("else",1),e},domToMutation:function(e){var t=this,i=[],n=[];this.elseCount_&&this.removeInput("ELSE");for(var s=this.elseifCount_;s>0;s--)t.getInputTargetBlock("IF"+s)&&t.getInputTargetBlock("IF"+s).previousConnection?i[s]=t.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),t.getInputTargetBlock("DO"+s)&&t.getInputTargetBlock("DO"+s).previousConnection?n[s]=t.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(e.getAttribute("elseif"),10),this.elseCount_=parseInt(e.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(ge.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+s).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(ge.Msg.MIXLY_PYTHON_FINALLY);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(e){var t=e.newBlock("controls_try");t.initSvg();for(var i=t.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=e.newBlock("controls_except");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var _=e.newBlock("controls_finally");_.initSvg(),i.connect(_.previousConnection)}return t},compose:function(e){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var t=this.elseifCount_;t>0;t--)this.removeInput("IF"+t),this.removeInput("DO"+t);this.elseifCount_=0;for(var i=e.getInputTargetBlock("STACK"),n=[null],s=[null],_=null;i;){switch(i.type){case"controls_except":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_finally":this.elseCount_++,_=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,_)},saveConnections:function(e){for(var t=e.getInputTargetBlock("STACK"),i=1;t;){switch(t.type){case"controls_except":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);t.valueConnection_=n&&n.connection.targetConnection,t.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_finally":s=this.getInput("ELSE");t.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}t=t.nextConnection&&t.nextConnection.targetBlock()}},rebuildShape_:function(){var e=[null],t=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),_=this.getInput("DO"+n);console.log(s.connection.targetConnection),e.push(s.connection.targetConnection),t.push(_.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(e,t,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var e=1;this.getInput("IF"+e);)this.removeInput("IF"+e),this.removeInput("DO"+e),e++;for(e=1;e<=this.elseifCount_;e++)this.appendValueInput("IF"+e).setCheck([Number,Boolean]).appendField(ge.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+e).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(ge.Msg.MIXLY_PYTHON_FINALLY)},reconnectChildBlocks_:function(e,t,i){for(var n=1;n<=this.elseifCount_;n++)e[n]&&e[n].reconnect(this,"IF"+n),t[n]&&t[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},ze={init:function(){this.setColour(Be);var e=new ge.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(e,"FLOW").appendField(ge.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0),this.setTooltip(ge.Msg.MIXLY_PYTHON_CONTROLS_FLOW_STATEMENTS_TOOLTIP);var t=this;this.setTooltip((function(){var e=t.getFieldValue("FLOW");return{BREAK:ge.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:ge.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}[e]}))},onchange:function(){if(this.workspace){var e=!1,t=this;do{if("controls_repeat"==t.type||"controls_for"==t.type||"controls_forEach"==t.type||"controls_repeat_ext"==t.type||"controls_whileUntil"==t.type||"do_while"==t.type){e=!0;break}t=t.getSurroundParent()}while(t);e?this.setWarningText(null):this.setWarningText(ge.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}},qe={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new ge.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(ge.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){return ge.Msg.CONTROLS_FOR_TOOLTIP.replace("%1",e.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){ge.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},je={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new ge.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(ge.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){return ge.Msg.MIXLY_PYTHON_CONTROLS_FOR_RANGE_TOOLTIP.replace("%1",e.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){ge.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}};Je.OPERATORS=[[ge.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[ge.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]],ze.OPERATORS=[[ge.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[ge.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const $e={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.CONTROLS_IF_IF_TITLE_IF),this.appendStatementInput("STACK"),this.setTooltip(ge.Msg.CONTROLS_IF_IF_TOOLTIP),this.contextMenu=!1}},Ze={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},et={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.CONTROLS_IF_ELSE_TITLE_ELSE),this.setPreviousStatement(!0),this.setTooltip(ge.Msg.CONTROLS_IF_ELSE_TOOLTIP),this.contextMenu=!1}},tt={init:function(){this.setColour(Be),this.appendDummyInput().appendField("try"),this.appendStatementInput("STACK"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.contextMenu=!1}},it={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.MIXLY_PYTHON_EXCEPT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1,this.setTooltip(ge.Msg.MIXLY_MIXPY_CONTROL_EXCEPT_TOOLTIP)}},nt={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.MIXLY_PYTHON_FINALLY),this.setPreviousStatement(!0),this.contextMenu=!1,this.setTooltip(ge.Msg.MIXLY_MIXPY_CONTROL_FINALLY_TOOLTIP)}},st={init:function(){this.jsonInit({message0:ge.Msg.CONTROLS_REPEAT_TITLE,args0:[{type:"input_value",name:"TIMES"}],previousStatement:null,nextStatement:null,colour:Be,tooltip:ge.Msg.CONTROLS_REPEAT_TOOLTIP,helpUrl:ge.Msg.CONTROLS_REPEAT_HELPURL}),this.appendStatementInput("DO")}},_t={init:function(){this.setColour(Be),this.appendValueInput("BOOL").appendField("lambda"),this.appendStatementInput("DO").appendField(ge.Msg.MIXLY_STAT),this.setOutput(!0)}},ot={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.MIXLY_PYTHON_PASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_PYTHON_CONTROLS_PASS_TOOLTIP)}},pt={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.MIXLY_PYTHON_CONTROLS_THREAD_START),this.appendValueInput("callback").appendField(ge.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_PYTHON_CONTROLS_THREAD_TOOLTIP)}},at={init:function(){this.appendDummyInput().appendField(ge.Msg.CONTROLS_REPEAT_TITLE_REPEAT+ge.Msg.MIXLY_DO),this.appendStatementInput("input_data").setCheck(null),this.appendValueInput("select_data").setCheck(null).appendField(ge.Msg.CONTROLS_OPERATOR_UNTIL).appendField(new ge.FieldDropdown([[ge.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"true"],[ge.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"false"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Be),this.setTooltip("do-while loop"),this.setHelpUrl("")}},ut={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.MIXLY_OP_GARBAGE_COLLECT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},rt={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET_MEM_ALLOC),this.setOutput(!0)}},lt={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET_MEM_FREE),this.setOutput(!0)}},dt={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET+ge.Msg.MIXLY_DEVICE+"ID"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(ge.Msg.PROCEDURES_DEFRETURN_RETURN+ge.Msg.MIXLY_GET_UNIQUE_IDEN)}},It={init:function(){this.setColour(Be),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_RTC_TIMESTAMP),this.appendDummyInput().appendField(ge.Msg.MIXLY_TIMESTAMP_TO_DATA),this.setInputsInline(!0),this.setOutput(!0,Number)}},Tt={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET_UNIQUE_IDEN),this.setOutput(!0)}},Mt=230;ge.FieldTextInput.math_number_validator=function(e){return String(e)},ge.FieldTextInput.math_number_validator_include_blank=function(e){if(""===e)return"";return/^-?(0X|0x|0O|0o|0B|0b)?[a-fA-F0-9]{1,}(\.[a-fA-F0-9]+)?$/.test(e)?String(e):null};const ht={init:function(){this.setColour(Mt),this.appendDummyInput().appendField(new ge.FieldTextInput("0",ge.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(ge.Msg.MATH_NUMBER_TOOLTIP)}},mt={init:function(){this.setColour(Mt);this.appendDummyInput("").appendField(ge.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new ge.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CONSTANT");return{pi:ge.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_TOOLTIP,e:ge.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_TOOLTIP}[t]}))}},Et={init:function(){this.setColour(Mt);this.appendDummyInput("").appendField(ge.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new ge.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CONSTANT");return{pi:ge.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_MP_TOOLTIP,e:ge.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_MP_TOOLTIP}[t]}))}},Ot={init:function(){this.setColour(Mt),this.setOutput(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new ge.FieldDropdown([["+","ADD"],["-","MINUS"],["×","MULTIPLY"],["÷","DIVIDE"],["%","QUYU"],["//","ZHENGCHU"],["**","POWER"]]),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{ADD:ge.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:ge.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:ge.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:ge.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:ge.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:ge.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:ge.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[t]}))}},Rt={init:function(){this.setColour(Mt),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new ge.FieldDropdown([["+=","ADD"],["-=","MINUS"],["×=","MULTIPLY"],["÷=","DIVIDE"],["%=","QUYU"],["//=","ZHENGCHU"],["**=","POWER"]]),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{ADD:ge.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:ge.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:ge.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:ge.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:ge.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:ge.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:ge.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[t]}))}},ct={init:function(){this.setColour(Mt),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new ge.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},gt={init:function(){this.setColour(Mt),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new ge.FieldDropdown([["sin","SIN"],["cos","COS"],["tan","TAN"],["asin","ASIN"],["acos","ACOS"],["atan","ATAN"],["-","-"],["ln","LN"],["log10","LOG10"],["e^","EXP"],["10^","POW10"]]),"OP");var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{SIN:ge.Msg.MATH_TRIG_TOOLTIP_SIN,COS:ge.Msg.MATH_TRIG_TOOLTIP_COS,TAN:ge.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:ge.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:ge.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:ge.Msg.MATH_TRIG_TOOLTIP_ATAN,LN:ge.Msg.MATH_SINGLE_TOOLTIP_LN}[t]}))}},Ct={init:function(){var e=[[ge.Msg.MATH_BIN,"bin"],[ge.Msg.MATH_OCT,"oct"],[ge.Msg.MATH_HEX,"hex"]];this.setColour(Mt),this.setOutput(!0,String),this.appendValueInput("NUM").setCheck(Number).appendField(new ge.FieldDropdown(e),"OP");var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{bin:ge.Msg.MATH_DEC_TOOLTIP_BIN,oct:ge.Msg.MATH_DEC_TOOLTIP_OCT,hex:ge.Msg.MATH_DEC_TOOLTIP_HEX}[e]}))}},St={init:function(){var e=[[ge.Msg.LANG_MATH_TO_ROUND,"round"],[ge.Msg.LANG_MATH_TO_CEIL,"ceil"],[ge.Msg.LANG_MATH_TO_FLOOR,"floor"],[ge.Msg.MATH_ABS,"fabs"],[ge.Msg.MATH_SQRT,"sqrt"]];this.setColour(Mt),this.appendValueInput("A").setCheck(Number).appendField(new ge.FieldDropdown(e),"OP"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{sqrt:ge.Msg.MATH_SINGLE_TOOLTIP_ROOT,fabs:ge.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:ge.Msg.MATH_SINGLE_TOOLTIP_SQ,round:ge.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:ge.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:ge.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[e]}))}},At={init:function(){var e=[[ge.Msg.MIXLY_MAX,"max"],[ge.Msg.MIXLY_MIN,"min"]];this.setColour(Mt),this.appendValueInput("A").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(new ge.FieldDropdown(e),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(ge.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{max:ge.Msg.MIXLY_TOOLTIP_MATH_MAX,min:ge.Msg.MIXLY_TOOLTIP_MATH_MIN}[e]}))}},Lt={init:function(){var e=[[ge.Msg.MATH_TWO,"two"],[ge.Msg.MATH_EIGHT,"eight"],[ge.Msg.MATH_TEN,"ten"],[ge.Msg.MATH_SIXTEEN,"sixteen"]];this.setColour(Mt),this.appendDummyInput("").appendField(ge.Msg.MATH_BA),this.appendValueInput("NUM").appendField(new ge.FieldDropdown(e),"OP").appendField(ge.Msg.MATH_JinZhi).setCheck(Number),this.appendDummyInput("").appendField(ge.Msg.MATH_ZHW).appendField(new ge.FieldDropdown(e),"OP2").appendField(ge.Msg.MATH_JinZhi),this.setFieldValue("ten","OP2"),this.setOutput(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i={two:ge.Msg.MATH_Before_two,eight:ge.Msg.MATH_Before_eight,ten:ge.Msg.MATH_Before_ten,sixteen:ge.Msg.MATH_Before_sixteen},n=t.getFieldValue("OP2"),s={two:ge.Msg.MATH_Behind_two,eight:ge.Msg.MATH_Behind_eight,ten:ge.Msg.MATH_Behind_ten,sixteen:ge.Msg.MATH_Behind_sixteen};return i[e]+s[n]}))}},Nt={init:function(){var e=[[ge.Msg.LANG_MATH_INT,"int"],[ge.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(Mt),this.setOutput(!0,Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_RANDOM).appendField(new ge.FieldDropdown(e),"TYPE"),this.appendValueInput("FROM").setCheck(Number).appendField(ge.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("TYPE"),i={int:ge.Msg.LANG_MATH_INT,float:ge.Msg.LANG_MATH_FLOAT_RANDOM};return ge.Msg.MATH_RANDOM_INT_TOOLTIP+i[e]}))}},Dt={init:function(){this.setColour(Mt),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(ge.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(ge.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(ge.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(ge.Msg.MATH_CONSTRAIN_TOOLTIP)}},ft={init:function(){this.setColour(Mt),this.appendValueInput("NUM",Number).appendField(ge.Msg.MIXLY_MAP).setCheck(Number),this.appendValueInput("fromLow",Number).appendField(ge.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(ge.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_MATH_MAP)}},Ft={init:function(){this.setColour(Mt),this.appendDummyInput().appendField(new ge.FieldTextInput("0",ge.FieldTextInput.math_number_validator_include_blank),"NUM"),this.setOutput(!0),this.setTooltip(ge.Msg.MATH_NUMBER_TOOLTIP)}},Pt={init:function(){this.setColour(Mt),this.appendValueInput("NUM").setCheck(Number).appendField(ge.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED)}},Yt={init:function(){this.setColour(Mt),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number),this.appendValueInput("VAR").setCheck(Number).appendField(ge.Msg.MATH_ROUND).appendField(ge.Msg.TEXT_KEEP),this.appendDummyInput().appendField(ge.Msg.TEXT_DECIMAL),this.setInputsInline(!0),this.setTooltip(ge.Msg.MATH_ROUND_NEW_TOOLTIP)}},vt={init:function(){var e=[[ge.Msg.MIXLY_TO_INT,"int"],[ge.Msg.MIXLY_TO_FLOAT,"float"],[ge.Msg.MIXLY_TO_BITES,"b"],[ge.Msg.LANG_MATH_BYTE+ge.Msg.MIXLY_TO_INT,"bti"]];this.setColour(Mt),this.appendValueInput("VAR").appendField(new ge.FieldDropdown(e),"TOWHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("TOWHAT");return{int:ge.Msg.MIXLY_PYTHON_TOOLTIP_TOINT,float:ge.Msg.MIXLY_PYTHON_TOOLTIP_TOFLOAT,b:ge.Msg.MIXLY_TOOLTIP_TEXT_TOBYTE}[e]}))}},Xt={init:function(){var e=[[ge.Msg.MIXLY_TO_INT,"int"],[ge.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(Mt),this.appendValueInput("VAR").appendField(new ge.FieldDropdown(e),"TOWHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("TOWHAT");return{int:ge.Msg.MIXLY_TOOLTIP_TEXT_TOINT,float:ge.Msg.MIXLY_TOOLTIP_TEXT_TOFLOAT}[e]}))}},yt=ft,xt={init:function(){this.setColour(Mt),this.appendValueInput("VAR").appendField(ge.Msg.LANG_MATH_BYTE+ge.Msg.MIXLY_TO_HEX),this.setOutput(!0,Number),this.setTooltip(ge.Msg.MIXLY_PYTHON_TOOLTIP_TOHEX)}},bt={init:function(){this.setColour(Mt),this.itemCount_=1,this.setMutator(new ge.icons.MutatorIcon(["lists_create_with_item"],this)),this.appendDummyInput("DUMMY").appendField(ge.Msg.MIXLY_PRODUCT+ge.Msg.MIXLY_GENERATE_CARTESIAN_PRODUCT),this.appendValueInput("REPEAT").appendField(ge.Msg.MIXLY_EVERY_PER_ELEPER_ELEMENT),this.appendDummyInput().appendField(ge.Msg.CONTROLS_REPEAT_TITLE_TIMES),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0),this.setTooltip(ge.Msg.LISTS_CREATE_WITH_PYTHON_TOOLTIP),this.updateShape_()},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("lists_create_with_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;n1&&"\\"===e.charAt(0)){var t=e.charAt(1);if("0"===t||"b"===t||"f"===t||"n"===t||"r"===t||"t"===t||"\\"===t||"'"===t)return String(e).substring(0,2);if("x"===t&&"0"===e.charAt(2)&&"B"===e.charAt(3))return String(e).substring(0,4)}return String(e).substring(0,1)};const kt={init:function(){this.setColour(Gt),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new ge.FieldTextInput("",ge.FieldTextInput.char_validator),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,Number),this.setTooltip(ge.Msg.TEXT_CHAR_TOOLTIP)},newQuote_:function(e){if(1==e)var t="../../media/quote2.png";else t="../../media/quote3.png";return new ge.FieldImage(t,7,12,'"')}},Wt={init:function(){this.setColour(Gt),this.appendValueInput("A").setCheck([String,Number]),this.appendValueInput("B").setCheck([String,Number]).appendField(ge.Msg.MIXLY_TEXT_JOIN),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_TEXT_JOIN)}},Kt={init:function(){this.setColour(Gt),this.appendValueInput("VAR").setCheck(Number).appendField(ge.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},Jt={init:function(){this.setColour(Gt),this.appendValueInput("VAR").setCheck(String).appendField(ge.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},Qt={init:function(){this.setColour(Gt),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(ge.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},zt={init:function(){this.setColour(Gt),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},qt={init:function(){this.WHERE_OPTIONS=[[ge.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[ge.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[ge.Msg.TEXT_GET_INDEX_RANDOM+1+ge.Msg.TEXT_CHARAT2,"RANDOM"]],this.setHelpUrl(ge.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Gt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number),this.appendDummyInput().appendField(ge.Msg.LISTS_GET_INDEX_GET,"MODE"),ge.Msg.LISTS_GET_INDEX_TAIL&&this.appendDummyInput("TAIL").appendField(ge.Msg.LISTS_GET_INDEX_TAIL),this.setInputsInline(!0),this.setOutput(!0),this.updateAt_(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=e.getFieldValue("WHERE"),n="";switch(t+" "+i){case"GET FROM_START":case"GET FROM_END":n=ge.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM;break;case"GET RANDOM":n=ge.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM;break;case"GET_REMOVE FROM_START":case"GET_REMOVE FROM_END":n=ge.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM;break;case"GET_REMOVE RANDOM":n=ge.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM}return"FROM_START"!=i&&"FROM_END"!=i||(n+=" "+ge.Msg.LISTS_INDEX_FROM_START_TOOLTIP.replace("%1",ge.Msg.ONE_BASED_INDEXING?"#1":"#0")),n}));var t=this;this.setTooltip((function(){var e=t.getFieldValue("WHERE"),i={FROM_START:ge.Msg.LISTS_GET_INDEX_FROM_START,FROM_END:ge.Msg.LISTS_GET_INDEX_FROM_END,RANDOM:ge.Msg.TEXT_GET_INDEX_RANDOM};return ge.Msg.PROCEDURES_DEFRETURN_RETURN+ge.Msg.MIXLY_MICROBIT_TYPE_STRING+i[e]+"n"+ge.Msg.TEXT_CHARAT2}))},mutationToDom:function(){var e=document.createElement("mutation");e.setAttribute("statement",!this.outputConnection);var t=this.getInput("AT").type==ge.INPUT_VALUE;return e.setAttribute("at",t),e},domToMutation:function(e){var t="true"==e.getAttribute("statement");this.updateStatement_(t),e="false"!=e.getAttribute("at"),this.updateAt_(e)},updateStatement_:function(e){e!=!this.outputConnection&&(this.unplug(!0,!0),e?(this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)):(this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)))},updateAt_:function(e){this.removeInput("AT"),this.removeInput("ORDINAL",!0),e?(this.appendValueInput("AT").setCheck(Number),ge.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL").appendField(ge.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT");var t=new ge.FieldDropdown(this.WHERE_OPTIONS,(function(t){var i="FROM_START"==t||"FROM_END"==t;if(i!=e){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(t,"WHERE"),null}}));this.getInput("AT").appendField(t,"WHERE"),ge.Msg.LISTS_GET_INDEX_TAIL&&this.moveInputBefore("TAIL",null)}},jt={init:function(){this.setHelpUrl(ge.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Gt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number).appendField(ge.Msg.LISTS_GET_INDEX_GET+" "+ge.Msg.LISTS_GET_INDEX_FROM_START),this.appendDummyInput().appendField(ge.Msg.TEXT_CHARAT2),this.setOutput(!0),this.setTooltip(ge.Msg.PROCEDURES_DEFRETURN_RETURN+ge.Msg.MIXLY_MICROBIT_TYPE_STRING+ge.Msg.LISTS_GET_INDEX_FROM_START+"n"+ge.Msg.TEXT_CHARAT2)}},$t={init:function(){this.setHelpUrl(ge.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Gt),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(ge.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(ge.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},Zt={init:function(){this.WHERE_OPTIONS_1=[[ge.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[ge.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[ge.Msg.LISTS_GET_SUBLIST_START_FIRST,"FIRST"]],this.WHERE_OPTIONS_2=[[ge.Msg.LISTS_GET_SUBLIST_END_FROM_START,"FROM_START"],[ge.Msg.LISTS_GET_SUBLIST_END_FROM_END,"FROM_END"],[ge.Msg.LISTS_GET_SUBLIST_END_LAST,"LAST"]],this.setHelpUrl(ge.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Gt),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput("AT1"),this.appendDummyInput("AT2"),this.setInputsInline(!0),this.setOutput(!0,"List"),this.updateAt_(1,!0),this.updateAt_(2,!0),this.setTooltip(ge.Msg._GET_TEXT_SUBLIST_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation"),t=this.getInput("AT1").type==ge.INPUT_VALUE;e.setAttribute("at1",t);var i=this.getInput("AT2").type==ge.INPUT_VALUE;return e.setAttribute("at2",i),e},domToMutation:function(e){var t="true"==e.getAttribute("at1"),i="true"==e.getAttribute("at2");this.updateAt_(1,t),this.updateAt_(2,i)},updateAt_:function(e,t){this.removeInput("AT"+e),this.removeInput("ORDINAL"+e,!0),t?(this.appendValueInput("AT"+e).setCheck(Number),ge.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL"+e).appendField(ge.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT"+e);var i=new ge.FieldDropdown(this["WHERE_OPTIONS_"+e],(function(i){var n="FROM_START"==i||"FROM_END"==i;if(n!=t){var s=this.sourceBlock_;return s.updateAt_(e,n),s.setFieldValue(i,"WHERE"+e),null}}));this.getInput("AT"+e).appendField(i,"WHERE"+e),1==e&&(this.moveInputBefore("AT1","AT2"),this.getInput("ORDINAL1")&&this.moveInputBefore("ORDINAL1","AT2"))}},ei={init:function(){this.setHelpUrl(ge.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Gt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT1").appendField(ge.Msg.LISTS_GET_INDEX_GET+" "+ge.Msg.LISTS_GET_INDEX_FROM_START),this.appendValueInput("AT2").appendField(ge.Msg.LISTS_GET_SUBLIST_END_FROM_START),this.appendDummyInput().appendField(ge.Msg.TEXT_CHARAT2),this.setInputsInline(!0),this.setOutput(!0,["List",String]),this.setTooltip(ge.Msg._GET_TEXT_SUBLIST_TOOLTIP)}},ti={init:function(){var e=[[ge.Msg.MIXLY_EQUALS,"==="],[ge.Msg.MIXLY_STARTSWITH,"startswith"],[ge.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(Gt),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new ge.FieldDropdown(e),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},ii={init:function(){this.setColour(Gt),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(ge.Msg.MIXLY_COMPARETO).setCheck(String),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_COMPARETO_HELP)}},ni={init:function(){var e=[[ge.Msg.TEXT_UPPER,"upper"],[ge.Msg.TEXT_TITLE,"title"],[ge.Msg.TEXT_CAPITALIZE,"capitalize"],[ge.Msg.TEXT_SWAPCASE,"swapcase"],[ge.Msg.TEXT_LOWER,"lower"]];this.setColour(Gt),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new ge.FieldDropdown(e),"CAPITAL").setCheck(String),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CAPITAL");return{upper:ge.Msg.MIXLY_MIXPY_TEXT_UPPER_TOOLTIP,title:ge.Msg.MIXLY_MIXPY_TEXT_TITLE_TOOLTIP,swapcase:ge.Msg.MIXLY_MIXPY_TEXT_SWAPCASE_TOOLTIP,capitalize:ge.Msg.MIXLY_MIXPY_TEXT_CAPITALIZE_TOOLTIP,lower:ge.Msg.MIXLY_MIXPY_TEXT_LOWER_TOOLTIP}[e]}))}},si={init:function(){var e=[[ge.Msg.TEXT_LJUST,"ljust"],[ge.Msg.TEXT_CENTER,"center"],[ge.Msg.TEXT_RJUST,"rjust"]];this.setColour(Gt),this.appendValueInput("VAR").appendField(new ge.FieldDropdown(e),"CENTER").setCheck(String),this.appendValueInput("WID").appendField(ge.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("Symbol").appendField(ge.Msg.MIXLY_RECT_Fill).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(ge.Msg.MIXLY_MIXPY_TEXT_CENTER_TOOLTIP)}},_i={init:function(){this.setColour(Gt),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).setCheck(String),this.appendValueInput("STR").appendField(ge.Msg.MIXLY_MID+ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER).setCheck(String),this.appendDummyInput().appendField(ge.Msg.MIXLY_LIST_INDEX),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(ge.Msg.MIXLY_MIXPY_TEXT_FIND_TOOLTIP)}},oi={init:function(){this.setColour(Gt),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_USE_STR).setCheck(String),this.appendValueInput("LIST").appendField(ge.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_SEQ).setCheck("List","Tuple","Set","Dict"),this.appendDummyInput().appendField(ge.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_GET_STR),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(ge.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_TOOLTIP)}},pi={init:function(){this.setColour(Gt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("STR1").appendField(ge.Msg.MIXLY_MIXPY_REPLACE).setCheck(String),this.appendValueInput("STR2").appendField(ge.Msg.LISTS_SET_INDEX_INPUT_TO).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(ge.Msg.MIXLY_MIXPY_TEXT_REPLACE_TOOLTIP)}},ai={init:function(){this.setColour(Gt),this.appendValueInput("VAR"),this.appendValueInput("VAL").appendField(ge.Msg.LIST_SPLIT_AS),this.appendDummyInput("").appendField(ge.Msg.LIST_SPLIT),this.setOutput(!0,"List"),this.setTooltip(ge.Msg.MIXLY_MIXPY_TEXT_SPLIT_TOOLTIP),this.setInputsInline(!0)}},ui={init:function(){var e=[[ge.Msg.TEXT_TRIM_BOTH,"strip"],[ge.Msg.TEXT_TRIM_LEFT,"lstrip"],[ge.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(Gt),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(ge.Msg.TEXT_STRIM),this.appendDummyInput("").appendField(new ge.FieldDropdown(e),"TOWHAT"),this.appendDummyInput("").appendField(ge.Msg.TEXT_BLANK),this.setOutput(!0,String),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("TOWHAT");return{strip:ge.Msg.TEXT_TRIM_BOTH_TOOLTIP,lstrip:ge.Msg.TEXT_TRIM_LEFT_TOOLTIP,rstrip:ge.Msg.TEXT_TRIM_RIGHT_TOOLTIP}[e]}))}},ri={init:function(){this.setColour(Gt),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROPYTHON_FORMAT),this.appendDummyInput("").appendField(new ge.FieldTextInput("str"),"VAR"),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new ge.icons.MutatorIcon(["text_create_with_item"],this)),this.setOutput(!0),this.setTooltip(ge.Msg.MIXLY_MIXPY_TEXT_FORMAT_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("text_create_with_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;nt?e[t]:0==t?'"key"':'"key'+(t+1)+'"'),"KEY"+t).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){ge.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},pn={init:function(){this.setColour(_n),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(ge.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},an={init:function(){this.setColour(_n),this.appendDummyInput().appendField(ge.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},un={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ge.Msg.DICT_KEYS),this.setTooltip(ge.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},rn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(ge.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(ge.Msg.DICTS_ADD_VALUE),this.setOutput(!0),this.setTooltip(ge.Msg.DICTS_GET_TOOLTIP)}},ln={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(ge.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(ge.Msg.DICTS_ADD_VALUE),this.appendValueInput("VAR").appendField(ge.Msg.DICTS_DEFAULT_VALUE),this.setOutput(!0),this.setTooltip(ge.Msg.DICTS_GET_DEFAULT_TOOLTIP)}},dn={init:function(){this.setColour(_n),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(ge.Msg.DICTS_ADD),this.appendDummyInput(),this.appendValueInput("VAR").appendField(ge.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.DICTS_ADD_OR_CHANGE_TOOLTIP)}},In={init:function(){this.setColour(_n),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(ge.Msg.DICTS_DELETE_IN),this.appendDummyInput("").appendField(ge.Msg.DICTS_DELETE_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.DICTS_DELETE_TOOLTIP)}},Tn={init:function(){this.setColour(_n),this.appendValueInput("DICT2").setCheck("Dict").appendField(ge.Msg.MAKE_DICT),this.appendValueInput("DICT").setCheck("Dict").appendField(ge.Msg.DICT_UPDATE),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MID),this.setTooltip(ge.Msg.DICTS_UPDATE_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Mn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ge.Msg.DICT_CLEAR),this.setTooltip(ge.Msg.DICTS_CLEAR_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},hn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ge.Msg.DICT_ITEMS),this.setTooltip(ge.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},mn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ge.Msg.DICT_VALUES),this.setTooltip(ge.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},En={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_LENGTH),this.setTooltip(ge.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},On={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ge.Msg.DICT_DELDICT),this.setTooltip(ge.Msg.DICTS_DEL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Rn={init:function(){this.MODE=[[ge.Msg.DICTS_ADD_OR_CHANGE,"INSERT"],[ge.Msg.MIXLY_MICROBIT_JS_DELETE_VAR,"DELETE"]],this.setHelpUrl(ge.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("AT2"),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).appendField(ge.Msg.DICTS_ADD_VALUE),this.updateAt_(!0),this.setInputsInline(!0),this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t="";switch(e.getFieldValue("WHERE")){case"INSERT":t=ge.Msg.DICTS_ADD_TOOLTIP;break;case"DELETE":t=ge.Msg.DICTS_DELETE_TOOLTIP}return t}))},mutationToDom:function(){var e=document.createElement("mutation"),t=this.getInput("AT2").type==ge.INPUT_VALUE;return e.setAttribute("at2",t),e},domToMutation:function(e){var t="true"==e.getAttribute("at2");this.updateAt_(t)},updateAt_:function(e){this.removeInput("AT2"),this.removeInput("ORDINAL",!0),e?this.appendValueInput("AT2").setCheck(Number):this.appendDummyInput("AT2");var t=new ge.FieldDropdown(this.MODE,(function(t){var i="INSERT"==t;if(i!=e){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(t,"WHERE"),null}}));this.getInput("AT2").appendField(t,"WHERE")}},cn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ge.Msg.blockpy_DICT_POP),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(ge.Msg.DICTS_ADD_VALUE),this.setTooltip(ge.Msg.DICT_POP_TOOLTIP),this.setInputsInline(!0),this.setOutput(!0)}},gn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(ge.Msg.DICTS_SET_DEFAULT),this.appendDummyInput("").appendField(ge.Msg.DICTS_DEFAULT_VALUE),this.appendValueInput("VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.DICTS_SETDEFAULT_TOOLTIP)}},Cn={init:function(){this.setColour(_n),this.appendDummyInput("").appendField(new ge.FieldLabel(ge.Msg.MIXLY_MICROBIT_TYPE_DICT),"TIP").appendField(" "),this.itemCount_=3,this.updateShape_(),this.setOutput(!0,"Dict"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setMutator(new ge.icons.MutatorIcon(["dicts_create_with_item"],this)),this.setTooltip(ge.Msg.DICTS_CREATE_WITH_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("dicts_create_with_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;nt?e[t]:0==t?'"key"':'"key'+(t+1)+'"'),"KEY"+t).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){ge.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},Sn={init:function(){this.setColour(_n),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(ge.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},An={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_TO_JSON),this.setTooltip(ge.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},Ln={init:function(){this.setColour(_n),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_CONVERT_TO_JSON),this.setTooltip(ge.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},Nn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("VAR1").appendField("key1"),this.appendValueInput("VAR2").appendField("index"),this.appendValueInput("VAR3").appendField("key2"),this.appendValueInput("VAR4").appendField("key3"),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},Dn={init:function(){this.setColour(_n),this.appendValueInput("DICT"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_TO_JSON),this.setTooltip(ge.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},fn=210,Fn={init:function(){var e=ge.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(fn),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new ge.FieldDropdown(e),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{EQ:ge.Msg.LOGIC_COMPARE_TOOLTIP_EQ,NEQ:ge.Msg.LOGIC_COMPARE_TOOLTIP_NEQ,LT:ge.Msg.LOGIC_COMPARE_TOOLTIP_LT,LTE:ge.Msg.LOGIC_COMPARE_TOOLTIP_LTE,GT:ge.Msg.LOGIC_COMPARE_TOOLTIP_GT,GTE:ge.Msg.LOGIC_COMPARE_TOOLTIP_GTE}[e]})),this.prevBlocks_=[null,null]}},Pn={init:function(){var e=ge.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]],t=ge.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(fn),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new ge.FieldDropdown(e),"OP1"),this.appendValueInput("C").appendField(new ge.FieldDropdown(t),"OP2"),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_PYTHON_LOGIC_COMPARE_CONTINOUS_TOOLTIP)}},Yn={init:function(){var e=[[ge.Msg.LOGIC_OPERATION_AND,"AND"],[ge.Msg.LOGIC_OPERATION_OR,"OR"],[ge.Msg.LOGIC_OPERATION_NOR,"NOR"],[ge.Msg.LOGIC_OPERATION_XOR,"XOR"]];this.setColour(fn),this.setOutput(!0,Boolean),this.appendValueInput("A").setCheck([Boolean,Number]),this.appendValueInput("B").setCheck([Boolean,Number]).appendField(new ge.FieldDropdown(e),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{AND:ge.Msg.LOGIC_OPERATION_TOOLTIP_AND,OR:ge.Msg.LOGIC_OPERATION_TOOLTIP_OR,NOR:ge.Msg.LOGIC_OPERATION_TOOLTIP_NOR,XOR:ge.Msg.LOGIC_OPERATION_TOOLTIP_XOR}[e]}))}},vn={init:function(){this.setColour(fn),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(ge.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(ge.Msg.LOGIC_NEGATE_TOOLTIP)}},Xn={init:function(){var e=[[ge.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[ge.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(fn),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new ge.FieldDropdown(e),"BOOL"),this.setTooltip(ge.Msg.LOGIC_BOOLEAN_TOOLTIP)}},yn={init:function(){this.setColour(fn),this.setOutput(!0),this.appendDummyInput().appendField(ge.Msg.LOGIC_NULL),this.setTooltip(ge.Msg.LOGIC_NULL_TOOLTIP)}},xn={init:function(){this.setColour(fn),this.appendValueInput("A"),this.appendValueInput("B").appendField(ge.Msg.LOGIC_TERNARY_IF_TRUE),this.appendValueInput("C").appendField(ge.Msg.LOGIC_TERNARY_IF_FALSE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_LOGIT_TRUEORFALSE)}},bn={init:function(){var e=[[ge.Msg.TEXT_APPEND_TO,"in"],[ge.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(fn),this.appendValueInput("A"),this.appendValueInput("B").setCheck([String,"List"]).appendField(new ge.FieldDropdown(e),"BOOL"),this.appendDummyInput("").appendField(ge.Msg.MICROBIT_LOGIC_IS_IN),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(ge.Msg.IN)}},Vn={init:function(){var e=[[ge.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[ge.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(fn),this.appendValueInput("A"),this.appendValueInput("B").appendField(new ge.FieldDropdown(e),"BOOL"),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_PYTHON_LOGIC_IS_TOOLTIP)}},Bn={init:function(){this.setColour(fn),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(ge.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},Gn={init:function(){this.setColour(0),this.appendValueInput("fn").setCheck(String).appendField(ge.Msg.MIXLY_PYTHON_STORAGE_OPEN_FILE_WITH_OS+"(For Windows)"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Un={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"],[ge.Msg.MIXLY_ADD,"a"],[ge.Msg.MATH_BIN+ge.Msg.MIXLY_ADD,"ab"],[ge.Msg.MIXLY_R_W,"r+"],[ge.Msg.MATH_BIN+ge.Msg.MIXLY_R_W,"rb+"],[ge.Msg.MIXLY_W_R,"w+"],[ge.Msg.MATH_BIN+ge.Msg.MIXLY_W_R,"wb+"],[ge.Msg.MIXLY_A_R,"a+"],[ge.Msg.MATH_BIN+ge.Msg.MIXLY_A_R,"ab+"]]),"MODE"),this.appendValueInput("FILE").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_AS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=ge.Msg.MIXLY_USE,n=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=ge.Msg.MIXLY_BELONG;return i+{r:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[t]+_+n+s}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){ge.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},wn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=ge.Msg.MIXLY_USE,n=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=ge.Msg.MIXLY_BELONG,o=ge.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[t]+_+n+s+o}))}},Hn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE);this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendDummyInput().appendField(ge.Msg.MIXPY_TEXT_ENCODE).appendField(new ge.FieldDropdown([["ANSI","ANSI"],["gbk","gbk"],["utf-8","utf-8"]]),"CODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=ge.Msg.MIXLY_USE,n=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=ge.Msg.MIXLY_BELONG,o=ge.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[t]+_+n+s+o}))}},kn={init:function(){this.setColour(0),this.appendValueInput("data").setCheck(String).appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendValueInput("FILE").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+ge.Msg.MIXLY_MICROBIT_TYPE_STRING+ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE)}},Wn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"read"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE,"readline"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES,"readlines"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String)}},Kn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,"read"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,"readline"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE,"readlines"]]),"MODE"),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE,n=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER;return i+{read:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,readline:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,readlines:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE}[t]+"x"+n}))}},Jn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.setNextStatement(!0),this.appendValueInput("SIZE").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(ge.Msg.MICROBIT_PYTHON_TYPE)}},Qn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(ge.Msg.HTML_FILE),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean),this.setTooltip(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT1)}},zn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FILENAME),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILENAME)}},qn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE)}},jn={init:function(){this.setColour(0),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES)}};ge.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE;const $n={init:function(){this.setColour(0),this.appendDummyInput().appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE,"remove"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_DIRS,"removedirs"]]),"MODE"),this.appendValueInput("FILE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE)}},Zn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE+ge.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE)}},es={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_RETURN_FILE),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_PRESENT_LOCATION),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_TELL)}},ts={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION),this.appendDummyInput().appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,"start"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,"current"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END,"end"]]),"MODE"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION+ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION,n=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER,s=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET;return i+" "+{start:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,current:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,end:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END}[t]+s+"x"+n}))}},is={init:function(){this.setColour(0),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR)}},ns={init:function(){this.setColour(0),this.appendValueInput("PATH").setCheck(String).appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_SET),this.appendDummyInput().appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,"mkdir"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_MAKEDIRS,"makedirs"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE");return ge.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH+"x"+ge.Msg.MIXLY_ESP32_SET+{mkdir:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,makedirs:ge.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[t]}))}},ss={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME),this.appendValueInput("NEWFILE").setCheck(String).appendField(ge.Msg.MIXLY_AS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME)}},_s={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR)}},os={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT),this.appendDummyInput().appendField(new ge.FieldDropdown([[ge.Msg.HTML_FILE,"isfile"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_DIR,"isdir"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean);let e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE");return ge.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH+"x"+ge.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT+{isfile:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,isdir:ge.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[t]}))}},ps={init:function(){this.setColour(0),this.appendValueInput("SPISUB").appendField(ge.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_SETUP+ge.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(ge.Msg.MIXLY_SD_CARD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},as={init:function(){this.setColour(0),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_SD_CARD),this.appendValueInput("DIR").setCheck(String).appendField(ge.Msg.MIXLY_SDCARD_MOUNT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip()}},us={init:function(){var e=ge.Procedures.findLegalName("",this),t=new ge.FieldTextInput(e,ge.Procedures.rename);t.setSpellcheck(!1),this.appendDummyInput().appendField(t,"NAME").appendField("","PARAMS"),this.setMutator(new ge.icons.MutatorIcon(["procedures_mutatorarg"],this)),(this.workspace.options.comments||this.workspace.options.parentWorkspace&&this.workspace.options.parentWorkspace.options.comments)&&ge.Msg.PROCEDURES_DEFNORETURN_COMMENT&&this.setCommentText(ge.Msg.PROCEDURES_DEFNORETURN_COMMENT),this.setStyle("procedure_blocks"),this.setTooltip(ge.Msg.PROCEDURES_DEFNORETURN_TOOLTIP),this.setHelpUrl(ge.Msg.PROCEDURES_DEFNORETURN_HELPURL),this.arguments_=[],this.argumentVarModels_=[],this.setStatements_(!0),this.statementConnection_=null},setStatements_:function(e){this.hasStatements_!==e&&(e?(this.appendStatementInput("STACK").appendField(ge.Msg.PROCEDURES_DEFNORETURN_DO),this.getInput("RETURN")&&this.moveInputBefore("STACK","RETURN")):this.removeInput("STACK",!0),this.hasStatements_=e)},updateParams_:function(){var e="";this.arguments_.length&&(e=ge.Msg.PROCEDURES_BEFORE_PARAMS+" "+this.arguments_.join(", ")),ge.Events.disable();try{this.setFieldValue(e,"PARAMS")}finally{ge.Events.enable()}},mutationToDom:function(e){var t=ge.utils.xml.createElement("mutation");e&&t.setAttribute("name",this.getFieldValue("NAME"));for(var i=0;i"),this.appendValueInput("style").appendField(ge.Msg.MIXLY_AIP_ATTR).setAlign(ge.inputs.Align.RIGHT),this.appendStatementInput("DO").appendField(""),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},s_={init:function(){this.setColour($s),this.appendDummyInput().appendField(ge.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},__={init:function(){this.setColour($s),this.appendDummyInput().appendField(ge.Msg.HTML_FORM_CONTENT).appendField(new ge.FieldDropdown([[ge.Msg.HTML_TEXT,"text"],[ge.Msg.HTML_EMAIL,"email"],[ge.Msg.HTML_NUMBER,"number"],[ge.Msg.HTML_PASSWORD,"password"],[ge.Msg.HTML_CHECKBOX,"checkbox"],[ge.Msg.HTML_RADIOBUTTON,"radiobutton"],[ge.Msg.HTML_BUTTON,"button"],[ge.Msg.HTML_COLOUR,"colour"],[ge.Msg.HTML_DATE,"date"],[ge.Msg.HTML_LOCALTIME,"local time"],[ge.Msg.HTML_FILE,"file"],[ge.Msg.HTML_HIDDEN,"hidden"],[ge.Msg.HTML_IMAGE,"image"],[ge.Msg.HTML_MONTH,"month"],[ge.Msg.HTML_RANGE,"range"],[ge.Msg.HTML_RESET,"reset"],[ge.Msg.HTML_SEARCH,"search"],[ge.Msg.HTML_SUBMIT,"submit"],[ge.Msg.HTML_TELEPHONENUMBER,"telephone number"],[ge.Msg.HTML_TIME,"time"],[ge.Msg.HTML_URL,"url"],[ge.Msg.HTML_WEEK,"week"]]),"LEVEL"),this.appendDummyInput().appendField(ge.Msg.HTML_NAME).appendField(new ge.FieldTextInput("car"),"NAME"),this.appendDummyInput().appendField(ge.Msg.HTML_VALUE).appendField(new ge.FieldTextInput("go"),"VALUE"),this.appendValueInput("style").appendField(ge.Msg.MIXLY_AIP_ATTR).setAlign(ge.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},o_={init:function(){this.setColour($s),this.appendDummyInput().appendField(new ge.FieldTextInput("property"),"KEY").appendField(":").appendField(new ge.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},p_={init:function(){this.setColour($s),this.appendDummyInput().appendField(new ge.FieldTextInput("property"),"KEY").appendField(":").appendField(new ge.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},a_={init:function(){this.setColour($s),this.appendDummyInput().appendField(ge.Msg.HTML_TEXT).appendField(new ge.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},u_=160,r_={init:function(){this.setColour(u_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new ge.FieldTable(""),"TEXT")}},l_={init:function(){this.setColour(u_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new ge.FieldMultilineInput(""),"TEXT")}},d_={init:function(){this.setColour(u_),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new ge.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},I_={init:function(){this.setColour(u_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},T_={init:function(){this.setColour(u_),this.appendDummyInput().appendTitle("Comment:").appendTitle(new ge.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},M_={init:function(){this.setColour(u_),this.appendValueInput("VALUE").appendField(ge.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},h_={init:function(){this.setColour(u_),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new ge.icons.MutatorIcon(["text_print_multiple_item"],this)),this.setTooltip(ge.Msg.TEXT_PRINT_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=ge.Block.obtain(e,"text_print_multiple_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;n= stop:"," yield start"," start -= abs(step)"])};if(e=function(e,t,i){return"("+e+" <= "+t+") and "+a()+"("+e+", "+t+", "+i+") or "+u()+"("+e+", "+t+", "+i+")"},ge.isNumber(n)&&ge.isNumber(s)&&ge.isNumber(_))n=parseFloat(n),s=parseFloat(s),_=Math.abs(parseFloat(_)),0==n%1&&0==s%1&&0==_%1?(n<=s?(s++,e=0==n&&1==_?s:n+", "+s,1!=_&&(e+=", "+_)):e=n+", "+--s+", -"+_,e="range("+e+")"):(e=n",GTE:">="};const da=function(e,t){var i=this.getFieldValue("OP"),n="&&"==i?t.ORDER_LOGICAL_AND:t.ORDER_LOGICAL_OR,s=t.valueToCode(this,"A",n)||"False",_=t.valueToCode(this,"B",n)||"False";if("AND"==i)var o=s+" and "+_;else if("OR"==i)o=s+" or "+_;else if("NOR"==i)o="not("+s+"^"+_+")";else o=s+"^"+_;return[o,n]},Ia=function(e,t){var i=t.ORDER_UNARY_PREFIX;return["not "+(t.valueToCode(this,"BOOL",i)||"False"),i]},Ta=function(e,t){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",t.ORDER_ATOMIC]},Ma=function(e,t){return["None",t.ORDER_ATOMIC]},ha=function(e,t){var i=t.valueToCode(this,"A",t.ORDER_ATOMIC)||"False";return["("+(t.valueToCode(this,"B",t.ORDER_ATOMIC)||"False")+" if "+i+" else "+(t.valueToCode(this,"C",t.ORDER_ATOMIC)||"False")+")",t.ORDER_ATOMIC]},ma=function(e,t){var i=t.valueToCode(this,"A",t.ORDER_ATOMIC)||"''",n=t.valueToCode(this,"B",t.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,t.ORDER_ATOMIC]},Ea=function(e,t){var i=t.valueToCode(this,"A",t.ORDER_ATOMIC)||"''",n=t.valueToCode(this,"B",t.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,t.ORDER_ATOMIC]},Oa=function(e,t){return["bool("+(t.valueToCode(this,"VAR",t.ORDER_ATOMIC)||"0")+")",t.ORDER_ATOMIC]},Ra=function(e,t){return t.definitions_.import_os="import os","os.startfile("+t.valueToCode(this,"fn",t.ORDER_ATOMIC)+")\n"},ca=function(e,t){return t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+" = open("+t.valueToCode(this,"FILENAME",t.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},ga=function(e,t){return["open("+t.valueToCode(this,"FILENAME",t.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",t.ORDER_ATOMIC]},Ca=function(e,t){return["open("+t.valueToCode(this,"FILENAME",t.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',t.ORDER_ATOMIC]},Sa=function(e,t){var i=t.valueToCode(this,"data",t.ORDER_ATOMIC);return t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".write("+i+")\n"},Aa=function(e,t){var i=this.getFieldValue("MODE");return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+"."+i+"()",t.ORDER_ATOMIC]},La=function(e,t){var i=this.getFieldValue("MODE");return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+"."+i+"("+t.valueToCode(this,"SIZE",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Na=function(e,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".readline("+t.valueToCode(this,"SIZE",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Da=function(e,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".writable()",t.ORDER_ATOMIC]},fa=function(e,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".name()",t.ORDER_ATOMIC]},Fa=function(e,t){return t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".close()\n"},Pa=function(e,t){t.definitions_.import_os="import os";return["os.listdir()",t.ORDER_ATOMIC]},Ya=function(e,t){return t.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+")\n"},va=function(e,t){return t.definitions_.import_os="import os",["os.path.getsize("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Xa=function(e,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".tell()",t.ORDER_ATOMIC]},ya=function(e,t){var i=this.getFieldValue("MODE"),n=0;return n="start"==i?0:"current"==i?1:2,t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".seek("+t.valueToCode(this,"SIZE",t.ORDER_ATOMIC)+","+n+")\n"},xa=function(e,t){return t.definitions_.import_os="import os","os.chdir("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+")\n"},ba=function(e,t){t.definitions_.import_os="import os";return["os.getcwd()",t.ORDER_ATOMIC]},Va=function(e,t){return t.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+t.valueToCode(this,"PATH",t.ORDER_ATOMIC)+")\n"},Ba=function(e,t){return t.definitions_.import_os="import os","os.rename("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+","+t.valueToCode(this,"NEWFILE",t.ORDER_ATOMIC)+")\n"},Ga=function(e,t){t.definitions_.import_os="import os";var i=t.valueToCode(this,"FILE",t.ORDER_ATOMIC);return["os."+this.getFieldValue("MODE")+"("+i+")",t.ORDER_ATOMIC]},Ua=function(e,t){return t.definitions_.import_os="import os",t.definitions_.import_sdcard="import sdcard",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+" = sdcard.SDCard("+t.valueToCode(this,"SPISUB",t.ORDER_ATOMIC)+","+t.valueToCode(this,"PINSUB",t.ORDER_ATOMIC)+")\n"},wa=function(e,t){return t.definitions_.import_os="import os",t.definitions_.import_sdcard="import sdcard","os.mount("+t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+","+t.valueToCode(this,"DIR",t.ORDER_ATOMIC)+")\n"},Ha=function(e,t){var i=t.variableDB_.getName(this.getFieldValue("NAME"),ge.Procedures.NAME_TYPE),n=(this.getInput("STACK")&&t.statementToCode(this,"STACK"))??" pass\n";t.INFINITE_LOOP_TRAP&&(n=t.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+n);var s=t.valueToCode(this,"RETURN",t.ORDER_NONE)||"";s&&(s=" return "+s+"\n");for(var _=[],o=0;o\n\n\n\t\n"+t.statementToCode(this,"HEAD")+"\n\n"+t.statementToCode(this,"BODY")+"\n\n'''",t.ORDER_ATOMIC]},Au=function(e,t){var i=t.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"\n"+i+"\n"},Lu=function(e,t){var i=t.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");if("head"==n)var s="<"+n+'>\n\t\n'+i+"\n";else s="<"+n+">\n"+i+"\n";return s},Nu=function(e,t){var i=t.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"<"+n+">\n"+i+"\n"},Du=function(e,t){var i=t.statementToCode(this,"DO"),n=t.valueToCode(this,"style"),s=this.getFieldValue("LEVEL");return"<"+s+" "+n+" >\n"+i+"\n"},fu=function(e,t){return['style="'+t.statementToCode(this,"STYLE")+'"',t.ORDER_ATOMIC]},Fu=function(e,t){return'"},Pu=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},Yu=function(){return this.getFieldValue("TEXT")+"\n"},vu=function(e){return e.getFieldValue("TEXT")+"\n"},Xu=function(e,t){return[e.getFieldValue("TEXT"),t.ORDER_ATOMIC]},yu=function(e,t){return(t.valueToCode(e,"VALUE",t.ORDER_ATOMIC)||"")+"\n"},xu=function(){return""},bu=function(e,t){return["type("+(t.valueToCode(e,"VALUE",t.ORDER_MEMBER)||"___")+")",t.ORDER_ATOMIC]},Vu=function(e,t){for(var i=e.getFieldValue("NAME"),n=e.hasReturn_,s=new Array(e.itemCount_),_=0;_0?t.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+e+"while True:\n"+a.join("")+u.join("\n"):t.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+e+u.join("\n")},wu.scrubNakedValue=function(e){return e+"\n"},wu.quote_=function(e){var t="'";return-1!==e.indexOf("'")&&(-1===e.indexOf('"')?t='"':e=e.replace(/'/g,"\\'")),t+e+t},wu.multiline_quote_=function(e){return"'''"+(e=e.replace(/'''/g,"\\'\\'\\'"))+"'''"},wu.scrub_=function(e,t,i){var n="";if(!e.outputConnection||!e.outputConnection.targetConnection){(_=e.getCommentText())&&(_=ge.utils.string.wrap(_,wu.COMMENT_WRAP-3),n+=wu.prefixLines(_+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const Hu="#74A55B",ku={init:function(){this.setColour(Hu),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MIDI),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ge.Msg.MIXLY_RGB_PIN_COUNT)}},Wu={init:function(){this.setColour(Hu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(ge.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Ku={init:function(){this.setColour(Hu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(ge.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(ge.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},Ju={init:function(){this.setColour(Hu),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(ge.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Qu={init:function(){this.setColour(Hu),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(ge.Msg.MIXLY_BACKSTAGE+ge.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_BACKSTAGE+ge.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},zu={init:function(){this.setColour(Hu),this.appendValueInput("SUB"),this.appendValueInput("TICKS").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(ge.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(ge.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},qu={init:function(){this.setColour(Hu),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},ju={init:function(){this.setColour(Hu),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_MUSIC_RESET)}},$u={init:function(){this.setColour(Hu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Zu={init:function(){this.setColour(Hu),this.appendValueInput("SUB"),this.appendValueInput("percent").appendField(ge.Msg.MIXLY_MUSIC_VOLUME_SET),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},er={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.MIXLY_SETTING).appendField(ge.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(ge.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_EXTERN_LED_SETONOFF)}},tr={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(ge.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},ir={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(ge.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},nr={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.MIXLY_SETTING).appendField(ge.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(ge.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_EXTERN_LED_SETBRIGHT)}},sr={init:function(){this.setColour(Hu),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_SETUP+ge.Msg.MIXLY_SERVO),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_PIN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},_r={init:function(){this.setColour(Hu),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_SERVO).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("DEGREE",Number).setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_DEGREE_0_180),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_SERVO_MOVE)}},or={init:function(){this.setColour(Hu),this.appendValueInput("VAR").appendField("360°"+ge.Msg.MIXLY_SERVO),this.appendValueInput("SPEED",Number).setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_SETTING+ge.Msg.blockpy_turtle_rotate+ge.Msg.MIXLY_SPEED+" (-10~10)"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_SERVO_360_TOOLTIP)}},pr={init:function(){this.setColour(Hu),this.appendValueInput("PIN",Number).appendField("180°"+ge.Msg.MIXLY_SERVO).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_SERVO_MOVE)}},ar={init:function(){this.setColour(Hu),this.appendValueInput("PIN",Number).appendField("360°"+ge.Msg.MIXLY_SERVO).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_SERVO_SPEED_TOOLIPS)}},ur={init:function(){this.setColour(Hu),this.appendValueInput("PIN",Number).appendField("180°"+ge.Msg.MIXLY_SERVO).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET+ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},rr={init:function(){this.setColour(Hu),this.appendValueInput("PIN",Number).appendField("360°"+ge.Msg.MIXLY_SERVO).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET+ge.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},lr={init:function(){this.setColour(Hu),this.appendValueInput("SUB").appendField("初始化").setCheck("var"),this.appendDummyInput().appendField("电机驱动"),this.appendDummyInput().appendField("地址").appendField(new ge.FieldDropdown([["A","ms32006.ADDRESS_A"],["B","ms32006.ADDRESS_B"]]),"mode"),this.appendValueInput("SUB1").setCheck("var").setAlign(ge.inputs.Align.RIGHT).appendField("通信"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("初始化MS32006电机驱动,使用I2C通信")}},dr={init:function(){this.setColour(Hu),this.appendValueInput("SUB").appendField("直流电机").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Direction).appendField(new ge.FieldDropdown([[ge.Msg.CLOCKWISE,"ms32006.MOT_CW"],[ge.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"],[ge.Msg.MOTOR_N,"ms32006.MOT_N"],[ge.Msg.MOTOR_P,"ms32006.MOT_P"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_STEPPER_SET_SPEED),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置直流电机的状态及转速(0-100)")}},Ir={init:function(){this.setColour(Hu),this.appendValueInput("SUB").appendField("步进电机").setCheck("var"),this.appendDummyInput().appendField("选择").appendField(new ge.FieldDropdown([["A","ms32006.MOT_A"],["B","ms32006.MOT_B"]]),"mode"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Direction).appendField(new ge.FieldDropdown([[ge.Msg.CLOCKWISE,"ms32006.MOT_CW"],[ge.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField("转速"),this.appendValueInput("steps").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField("步数"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置步进电机的状态、转速、步数(0-2047)")}},Tr={init:function(){this.setColour(Hu),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_PIN),this.appendValueInput("LEDCOUNT").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_COUNT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ge.Msg.MIXLY_RGB_PIN_COUNT)}},Mr={init:function(){this.setColour(Hu),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("_LED_").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ge.Msg.MIXLY_RGB_NUM_R_G_B_MP)}},hr={init:function(){this.setColour(Hu),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ge.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},mr={init:function(){this.setColour(Hu),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ge.Msg.MIXLY_ESP32_MUSIC_WRI)}},Er={init:function(){this.setColour(Hu),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(ge.Msg.MIXLY_DURATION).appendField(ge.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Or={init:function(){this.setColour(Hu),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(ge.Msg.PYTHON_RANGE_STEP).appendField(ge.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Rr={init:function(){this.setColour(Hu),this.appendDummyInput("").appendField(ge.Msg.CONTROLS_FOR_INPUT_WITH+"uart").appendField(new ge.FieldDropdown([["uart1","uart1"],["uart2","uart2"]]),"key"),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_SETUP+ge.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new ge.FieldDropdown([["SYN6288"+ge.Msg.MIXLY_AipSpeech_synthesis,"SYN6288"],["NS9300"+ge.Msg.MIXLY_MUSIC_PLAYER,"NS9300"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},cr={init:function(){this.setColour(Hu),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_GET+ge.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_WHETHER).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_STOPPED,"0"],[ge.Msg.MIXLY_PLAYING,"1"],[ge.Msg.MIXLY_PAUSED,"2"]]),"key"),this.setInputsInline(!0),this.setOutput(!0)}},gr={init:function(){this.setColour(Hu),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_STAT).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MP3_PLAY,"1"],[ge.Msg.MIXLY_MP3_PAUSE,"2"],[ge.Msg.MIXLY_STOP,"3"],[ge.Msg.MIXLY_MP3_PREV,"4"],[ge.Msg.MIXLY_MP3_NEXT,"5"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Cr={init:function(){this.setColour(Hu),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendValueInput("volume").appendField(ge.Msg.MIXLY_MP3_VOL+ge.Msg.MIXLY_STAT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_PLAYER_SET_VOLUME_TOOLTIP)}},Sr={init:function(){this.setColour(Hu),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MODE+ge.Msg.MIXLY_STAT).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MP3_LOOP_ALL,"0"],[ge.Msg.MIXLY_MP3_LOOP_ONE,"1"],[ge.Msg.MIXLY_PLAYER_DIRECTORY_LOOP,"2"],[ge.Msg.MIXLY_MP3_LOOP_RAM,"3"],[ge.Msg.MIXLY_PLAYER_SINGLE_STOP,"4"],[ge.Msg.MIXLY_PLAYER_SEQUENTIAL_PLAY,"5"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ar={init:function(){this.setColour(Hu),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_JS_START_MELODY,"play"],[ge.Msg.MIXLY_PLAYER_INSERT_MUSIC,"insert"]]),"key"),this.appendValueInput("song"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_PLAYER_PLAY_MUSIC_TOOTIP)}},Lr={},Nr={init:function(){this.setColour(Hu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(ge.Msg.MIXLY_SET_VOLUME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},Dr={init:function(){this.setColour(Hu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET_VOLUME),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},fr={init:function(){this.setColour(Hu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(ge.Msg.MIXLY_PLAY_HINTS),this.appendDummyInput().appendField(ge.Msg.MIXLY_PROGRAM_BLOCK).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[ge.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_PLAY_HINTS_TOOLTIP)}},Fr={init:function(){this.setColour(Hu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("data").setCheck(String).appendField(ge.Msg.MIXLY_AipSpeech_synthesis),this.appendValueInput("VOICE").setCheck(Number).appendField(ge.Msg.MIXLY_BACKGROUND_MUSIC),this.appendDummyInput().appendField(ge.Msg.MIXLY_PROGRAM_BLOCK).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[ge.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_PLAY_TTS_TOOLTIP)}},Pr={init:function(){this.setColour(Hu),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.extern_addr),"PIN"),this.setOutput(!0,Number)}},Yr={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.ME_GO_MOTOR_EXTERN+ge.Msg.MIXLY_MOTOR).appendField(ge.Msg.PIN_NUMBERING).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LEFT,"0"],[ge.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},vr={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.ME_GO_MOTOR_EXTERN+ge.Msg.MIXLY_MOTOR).appendField(ge.Msg.PIN_NUMBERING).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LEFT,"0"],[ge.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_GET+ge.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},Xr={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.ME_GO_MOTOR_EXTERN+ge.Msg.MIXLY_TRAFFIC_LIGHT).appendField(ge.Msg.PIN_NUMBERING).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LEFT,"0"],[ge.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.LISTS_SET_INDEX_SET).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_Turn_off_display,"0"],[ge.Msg.MIXLY_TRAFFIC_LIGHT_RED_ON,"1"],[ge.Msg.MIXLY_TRAFFIC_LIGHT_RED_BLINK,"2"],[ge.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_ON,"3"],[ge.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_BLINK,"4"],[ge.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_ON,"5"],[ge.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_BLINK,"6"]]),"light"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},yr={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.ME_GO_MOTOR_EXTERN).appendField(new ge.FieldDropdown([[ge.Msg.COLOUR_RGB_WHITE,"W"],[ge.Msg.COLOUR_RGB_RED,"R"],[ge.Msg.COLOUR_RGB_YELLOW,"Y"],[ge.Msg.COLOUR_RGB_GREEN,"G"],[ge.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(ge.Msg.PIN_NUMBERING).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LEFT,"0"],[ge.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("value").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},xr={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.ME_GO_MOTOR_EXTERN).appendField(new ge.FieldDropdown([[ge.Msg.COLOUR_RGB_WHITE,"W"],[ge.Msg.COLOUR_RGB_RED,"R"],[ge.Msg.COLOUR_RGB_YELLOW,"Y"],[ge.Msg.COLOUR_RGB_GREEN,"G"],[ge.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(ge.Msg.PIN_NUMBERING).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LEFT,"0"],[ge.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET+ge.Msg.BRIGHTNESS),this.setOutput(!0,Number),this.setInputsInline(!0)}},br={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.ME_GO_MOTOR_EXTERN+ge.Msg.MIXLY_SERVO_MOTOR).appendField(ge.Msg.PIN_NUMBERING).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LEFT,"0"],[ge.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"[0]"],[ge.Msg.MIXLY_SPEED,"[1]"],[ge.Msg.MATH_SINGLE_OP_ABSOLUTE+ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[2]"],[ge.Msg.MIXLY_RELATIVE+ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[3]"],[ge.Msg.MIXLY_MIXBOT_SERVO_BLOCK_OR_NOT,"[4]"],[ge.Msg.MIXLY_MIXBOT_SERVO_FINISH_OR_NOT,"[5]"],[ge.Msg.MIXLY_ALL,""]]),"status"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Vr={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.ME_GO_MOTOR_EXTERN+ge.Msg.MIXLY_SERVO_MOTOR).appendField(ge.Msg.PIN_NUMBERING).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LEFT,"0"],[ge.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MIXBOT_SERVO_SET_STOP_MODE).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_KEEP,"0"],[ge.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_COAST,"1"],[ge.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_BRAKE,"2"]]),"status"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Br={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.ME_GO_MOTOR_EXTERN+ge.Msg.MIXLY_SERVO_MOTOR).appendField(ge.Msg.PIN_NUMBERING).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LEFT,"0"],[ge.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(ge.Msg.MIXLY_STOP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Gr={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.ME_GO_MOTOR_EXTERN+ge.Msg.MIXLY_SERVO_MOTOR).appendField(ge.Msg.MATH_SINGLE_OP_ABSOLUTE+ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+ge.Msg.MSG.run).appendField(ge.Msg.PIN_NUMBERING).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LEFT,"0"],[ge.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MODE).setAlign(ge.inputs.Align.RIGHT).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_SPEED+ge.Msg.MIXLY_MODE,"0"],[ge.Msg.MIXLY_MICROBIT_JS_BLE_POWER+ge.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(ge.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(ge.inputs.Align.RIGHT).appendField(new ge.FieldDropdown([[ge.Msg.CLOCKWISE,"0"],[ge.Msg.MIXLY_MIXBOT_SERVO_NEAREST_PATH,"1"],[ge.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.appendValueInput("angle").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MIXBOT_SERVO_ABSOLUTE_ANGLE_TOOLTIP)}},Ur={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.ME_GO_MOTOR_EXTERN+ge.Msg.MIXLY_SERVO_MOTOR).appendField(ge.Msg.MIXLY_RELATIVE+ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+ge.Msg.MSG.run).appendField(ge.Msg.PIN_NUMBERING).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LEFT,"0"],[ge.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ORIGIN_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},wr={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.ME_GO_MOTOR_EXTERN+ge.Msg.MIXLY_SERVO_MOTOR).appendField(ge.Msg.MIXLY_RELATIVE+ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+ge.Msg.MSG.run).appendField("("+ge.Msg.MIXLY_MIXBOT_SERVO_LIKE_ENCODING_MOTOR+")").appendField(ge.Msg.PIN_NUMBERING).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LEFT,"0"],[ge.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MODE).setAlign(ge.inputs.Align.RIGHT).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_SPEED+ge.Msg.MIXLY_MODE,"0"],[ge.Msg.MIXLY_MICROBIT_JS_BLE_POWER+ge.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(ge.inputs.Align.RIGHT).appendField("%"),this.appendValueInput("angle").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ANGLE_TOOLTIP)}},Hr={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.ME_GO_MOTOR_EXTERN+ge.Msg.MIXLY_SERVO_MOTOR).appendField(ge.Msg.MIXLY_RELATIVE+ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+ge.Msg.MSG.run).appendField("("+ge.Msg.MIXLY_MIXBOT_SERVO_LIKE_ORDINARY_MOTOR+")").appendField(ge.Msg.PIN_NUMBERING).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LEFT,"0"],[ge.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MODE).setAlign(ge.inputs.Align.RIGHT).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_SPEED+ge.Msg.MIXLY_MODE,"0"],[ge.Msg.MIXLY_MICROBIT_JS_BLE_POWER+ge.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(ge.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(ge.inputs.Align.RIGHT).appendField(new ge.FieldDropdown([[ge.Msg.CLOCKWISE,"0"],[ge.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},kr={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.MIXBOT).appendField(ge.Msg.ME_GO_MOTOR_EXTERN).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MOTOR,"ext_motor"],[ge.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[ge.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[ge.Msg.COLOUR_RGB_RED+"LED","R_LED"],[ge.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[ge.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[ge.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[ge.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MIXBOT_EXTERN_GET_ADDR),this.setOutput(!0),this.setInputsInline(!0)}},Wr={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.MIXBOT).appendField(ge.Msg.ME_GO_MOTOR_EXTERN).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MOTOR,"ext_motor"],[ge.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[ge.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[ge.Msg.COLOUR_RGB_RED+"LED","R_LED"],[ge.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[ge.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[ge.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[ge.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MIXBOT_EXTERN_SET_ADDR),this.appendValueInput("old").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE),this.appendValueInput("new").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_UPDATE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Kr={init:function(){this.setColour(Hu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_SETUP+ge.Msg.MIXLY_AT).appendField(ge.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},Jr={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.MIXLY_SETTING),this.appendValueInput("pin").appendField("LED"),this.appendValueInput("bright").appendField(ge.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Qr={init:function(){this.setColour(Hu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_SERVO+ge.Msg.MIXLY_SETUP+ge.Msg.MIXLY_AT).appendField(ge.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},zr={init:function(){this.setColour(Hu),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_SERVO),this.appendValueInput("angle").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_DISPLAY_MATRIX_ROTATE),this.appendDummyInput().appendField(ge.Msg.DRAW_POINTER_ANGLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},qr={init:function(){this.setColour(Hu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_MOTOR+ge.Msg.MIXLY_SETUP+ge.Msg.MIXLY_AT).appendField(ge.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},jr={init:function(){this.setColour(Hu),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_MOTOR),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+ge.Msg.MIXLY_SPEED),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},$r="#6C9858",Zr={init:function(){this.setColour($r),this.appendDummyInput("").appendField(new ge.FieldDropdown([["L1","1"],["L2","2"]]),"op"),this.setOutput(!0)}},el={init:function(){this.setColour($r),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_ESP32_ON,"1"],[ge.Msg.MIXLY_ESP32_OFF,"0"],[ge.Msg.MIXLY_ESP32_TOGGLE,"-1"]]),"flag"),this.setOutput(!0),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},tl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(ge.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(ge.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_LED_SETONOFF)}},il={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(ge.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(ge.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_LED_GETBRIGHT)}},nl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(ge.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(ge.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_LED_GETONOFF)}},sl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(ge.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(ge.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_SETTING+ge.Msg.MIXLY_BUILDIN_LED+ge.Msg.MIXLY_BRIGHTNESS+"(0-100%)")}},_l={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(ge.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput("").appendField(ge.Msg.MIXLY_LCD_SETCOLOR).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LIGHT_RED,"1"],[ge.Msg.MIXLY_LIGHT_GREEN,"2"],[ge.Msg.MIXLY_LIGHT_BLUE,"3"],[ge.Msg.MIXLY_LIGHT_YELLOW,"4"],[ge.Msg.MIXLY_LIGHT_CYAN,"5"],[ge.Msg.MIXLY_LIGHT_PURPLE,"6"],[ge.Msg.MIXLY_LIGHT_WHITE,"7"]]),"colorvalue"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},ol={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_SETTING).appendField(ge.Msg.MIXLY_BUILDIN_LED).appendField(new ge.FieldDropdown([[ge.Msg.COLOUR_RGB_RED,"r"],[ge.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(ge.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_LED_SETONOFF)}},pl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(ge.Msg.MIXLY_BUILDIN_LED).appendField(new ge.FieldDropdown([[ge.Msg.COLOUR_RGB_RED,"r"],[ge.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(ge.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_LED_GETONOFF)}},al={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(ge.Msg.MIXLY_BUILDIN_LED).appendField(new ge.FieldDropdown([[ge.Msg.COLOUR_RGB_RED,"r"],[ge.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(ge.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_LED_GETONOFF)}},ul={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_SETTING).appendField(ge.Msg.MIXLY_BUILDIN_LED).appendField(new ge.FieldDropdown([[ge.Msg.COLOUR_RGB_RED,"r"],[ge.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(ge.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_SETTING+ge.Msg.MIXLY_BUILDIN_LED+ge.Msg.MIXLY_BRIGHTNESS+"(0-10)")}},rl={init:function(){this.setColour($r),this.appendDummyInput("").appendField(new ge.FieldDropdown([["L1","20"],["L2","21"]]),"op"),this.setOutput(!0)}},ll={init:function(){this.setColour($r),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(Ce.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgo_cc":case"micropython:esp32s2:mixgo_ce":this.setTooltip(ge.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgo_me":default:this.setTooltip(ge.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(ge.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},dl={init:function(){this.setColour($r),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ge.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},Il={init:function(){this.setColour($r),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(ge.Msg.MIXLY_DURATION).appendField(ge.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Tl={init:function(){this.setColour($r),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(ge.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(ge.Msg.PYTHON_RANGE_STEP).appendField(ge.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Ml={init:function(){this.setColour($r),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ge.Msg.MIXLY_ESP32_MUSIC_WRI)}},hl={init:function(){this.setColour($r),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(Ce.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgocc":this.setTooltip(ge.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgome":default:this.setTooltip(ge.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(ge.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},ml={init:function(){this.setColour($r),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ge.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},El={init:function(){this.setColour($r),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(ge.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(ge.Msg.PYTHON_RANGE_STEP).appendField(ge.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Ol={init:function(){this.setColour($r),this.appendValueInput("TICKS").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(ge.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(ge.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},Rl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},cl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_MUSIC_RESET)}},gl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(ge.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Cl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(ge.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(ge.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},Sl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Al={init:function(){this.setColour($r),this.appendValueInput("LIST").appendField(ge.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Ll={init:function(){this.setColour($r),this.appendValueInput("LIST").appendField(ge.Msg.MIXLY_BACKSTAGE+ge.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Nl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MOTOR_DC).appendField(new ge.FieldDropdown([["1","1"],["2","2"],["3","3"]]),"wheel"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Direction).appendField(new ge.FieldDropdown([[ge.Msg.CLOCKWISE,"CW"],[ge.Msg.ANTI_CLOCKWISE,"CCW"],[ge.Msg.MOTOR_P,"P"],[ge.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Dl={init:function(){this.setColour($r),this.appendDummyInput().appendField("MixGo Car").appendField(new ge.FieldDropdown([[ge.Msg.blockpy_forward,"F"],[ge.Msg.blockpy_backward,"B"],[ge.Msg.blockpy_left,"L"],[ge.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},fl={init:function(){this.setColour($r),this.appendDummyInput("").appendField("MixGo Car").appendField(new ge.FieldDropdown([[ge.Msg.MOTOR_P,"P"],[ge.Msg.MOTOR_N,"N"]]),"VAR"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Fl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MOTOR_DC).appendField(new ge.FieldDropdown([[ge.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[ge.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Direction).appendField(new ge.FieldDropdown([[ge.Msg.CLOCKWISE,"CW"],[ge.Msg.ANTI_CLOCKWISE,"CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Pl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MOTOR_DC).appendField(new ge.FieldDropdown([[ge.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[ge.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(ge.Msg.MIXLY_STOP).appendField(new ge.FieldDropdown([[ge.Msg.MOTOR_P,"P"],[ge.Msg.MOTOR_N,"N"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Yl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_MIXBOT_MOTOR_STATUS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MIXBOT_MOTOR_STATUS_TOOLTIP)}},vl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXBOT).appendField(new ge.FieldDropdown([[ge.Msg.blockpy_forward,"F"],[ge.Msg.blockpy_backward,"B"],[ge.Msg.blockpy_left,"L"],[ge.Msg.blockpy_right,"R"]]),"VAR"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[ge.Msg.MIXLY_SPEED,"SPEED"],[ge.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},Xl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXBOT).appendField(new ge.FieldDropdown([[ge.Msg.MOTOR_P,"P"],[ge.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},yl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXBOT).appendField(ge.Msg.MIXLY_MOTOR).appendField(new ge.FieldDropdown([[ge.Msg.TEXT_TRIM_LEFT,"1"],[ge.Msg.TEXT_TRIM_RIGHT,"2"],[ge.Msg.TEXT_TRIM_BOTH,"0"]]),"wheel"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[ge.Msg.MIXLY_SPEED,"SPEED"],[ge.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},xl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_MIXBOT_BUZZER),this.appendDummyInput().appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,"0"],[ge.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,"1"]]),"on_off"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},bl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.BITBOT).appendField(new ge.FieldDropdown([[ge.Msg.blockpy_forward,"F"],[ge.Msg.blockpy_backward,"B"],[ge.Msg.blockpy_left,"L"],[ge.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Vl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.BITBOT).appendField(new ge.FieldDropdown([[ge.Msg.MOTOR_P,"P"],[ge.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Bl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.BITBOT).appendField(ge.Msg.MIXLY_MOTOR).appendField(new ge.FieldDropdown([[ge.Msg.TEXT_TRIM_LEFT,"0"],[ge.Msg.TEXT_TRIM_RIGHT,"1"]]),"wheel"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Direction).appendField(new ge.FieldDropdown([[ge.Msg.CLOCKWISE,"CW"],[ge.Msg.ANTI_CLOCKWISE,"CCW"],[ge.Msg.MOTOR_P,"P"],[ge.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Gl={init:function(){this.setColour($r),this.appendValueInput("bright").appendField(ge.Msg.MIXLY_MIXBOT_SOUND_SET_LOUDNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_LED_SETONOFF)}},Ul={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_MIXBOT_SOUND_LOUDNESS+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_LED_GETONOFF)}},wl={init:function(){this.setColour($r),this.appendValueInput("bright").appendField(ge.Msg.MIXLY_SETTING+ge.Msg.MIXLY_MIXBOT_BUZZER+ge.Msg.MIXLY_MP3_VOL),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_LED_SETONOFF)}},Hl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET+ge.Msg.MIXLY_MIXBOT_BUZZER+ge.Msg.MIXLY_MP3_VOL+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_LED_GETONOFF)}},kl={init:function(){this.setColour($r),this.appendValueInput("PATH").appendField(ge.Msg.MIXLY_RECORD_AUDIO).appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendValueInput("TIME").setCheck(Number).appendField(ge.Msg.MIXLY_GET_PRESSES_TIME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Wl={init:function(){this.setColour($r),this.appendValueInput("PATH").appendField(ge.Msg.MIXLY_PLAY_AUDIO).appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Kl={init:function(){this.setColour($r),this.appendValueInput("PATH").appendField(ge.Msg.MIXLY_PLAY_ONLINE_AUDIO).appendField("URL"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Jl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(ge.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Ql={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},zl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.LISTS_SET_INDEX_SET+ge.Msg.ME_GO_MOTOR_EXTERN).appendField(ge.Msg.PIN_NUMBERING);switch(Ce.Boards.getSelectedBoardKey()){case"micropython:esp32c2:mixgo_mini":this.appendDummyInput().appendField(new ge.FieldDropdown([["1","1"],["2","2"]]),"index");break;case"micropython:esp32c5:mixgo_sowl":this.appendDummyInput().appendField(new ge.FieldDropdown([["1","1"],["2","2"],["4","4"],["5","5"]]),"index");break;default:this.appendDummyInput().appendField(new ge.FieldDropdown([["1","1"],["2","2"],["3","3"],["4","4"]]),"index")}this.appendValueInput("duty").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.blynk_IOT_IR_POWER+ge.Msg.MIXLY_PINMODEOUT),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},ql={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET+ge.Msg.ME_GO_MOTOR_EXTERN).appendField(ge.Msg.PIN_NUMBERING);switch(Ce.Boards.getSelectedBoardKey()){case"micropython:esp32c2:mixgo_mini":this.appendDummyInput().appendField(new ge.FieldDropdown([["1","1"],["2","2"]]),"index");break;case"micropython:esp32c5:mixgo_sowl":this.appendDummyInput().appendField(new ge.FieldDropdown([["1","1"],["2","2"],["4","4"],["5","5"]]),"index");break;default:this.appendDummyInput().appendField(new ge.FieldDropdown([["1","1"],["2","2"],["3","3"],["4","4"]]),"index")}this.appendDummyInput().setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.blynk_IOT_IR_POWER+ge.Msg.MIXLY_PINMODEOUT+ge.Msg.MIXLY_DUTY_RATIO),this.setOutput(!0,Number),this.setInputsInline(!0)}},jl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.LISTS_SET_INDEX_SET+ge.Msg.ME_GO_MOTOR_EXTERN).appendField(ge.Msg.MIXLY_ALL+ge.Msg.PIN_NUMBERING),this.appendValueInput("duty").setCheck(Number).setAlign(ge.ALIGN_RIGHT).appendField(ge.Msg.blynk_IOT_IR_POWER+ge.Msg.MIXLY_PINMODEOUT+ge.Msg.MIXLY_FREQUENCY),this.appendDummyInput().appendField("Hz"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},$l={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.LISTS_SET_INDEX_SET+ge.Msg.ME_GO_MOTOR_EXTERN).appendField(new ge.FieldDropdown([["1-2","1"],["4-5","4"]]),"index"),this.appendValueInput("duty").setCheck(Number).setAlign(ge.ALIGN_RIGHT).appendField(ge.Msg.blynk_IOT_IR_POWER+ge.Msg.MIXLY_PINMODEOUT+ge.Msg.MIXLY_FREQUENCY),this.appendDummyInput().appendField("Hz"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},Zl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.ANALOG+ge.Msg.MIXLY_KEYBOARD_INPUT),this.appendValueInput("special"),this.appendValueInput("general"),this.appendDummyInput().appendField(ge.Msg.MIXLY_RELEASE).appendField(new ge.FieldDropdown([[ge.Msg.MICROPYTHON_DISPLAY_YES,"True"],[ge.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"release"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.ANALOG+ge.Msg.MIXLY_KEYBOARD_INPUT)}},ed={init:function(){this.setColour($r),this.appendDummyInput("").appendField(ge.Msg.MIXLY_SPECIAL_KEY).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_SPECIAL_KEY0,"0x00"],[ge.Msg.MIXLY_SPECIAL_KEY1,"0x01"],[ge.Msg.MIXLY_SPECIAL_KEY2,"0x02"],[ge.Msg.MIXLY_SPECIAL_KEY4,"0x04"],[ge.Msg.MIXLY_SPECIAL_KEY8,"0x08"],[ge.Msg.MIXLY_SPECIAL_KEY16,"0x10"],[ge.Msg.MIXLY_SPECIAL_KEY32,"0x20"],[ge.Msg.MIXLY_SPECIAL_KEY64,"0x40"],[ge.Msg.MIXLY_SPECIAL_KEY128,"0x80"]]),"op"),this.setOutput(!0)}},td={init:function(){this.setColour($r),this.appendDummyInput("").appendField(ge.Msg.MIXLY_GENERAL_KEY).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_SPECIAL_KEY0,"0x00"],["A","0x04"],["B","0x05"],["C","0x06"],["D","0x07"],["E","0x08"],["F","0x09"],["G","0x0A"],["H","0x0B"],["I","0x0C"],["J","0x0D"],["K","0x0E"],["L","0x0F"],["M","0x10"],["N","0x11"],["O","0x12"],["P","0x13"],["Q","0x14"],["R","0x15"],["S","0x16"],["T","0x17"],["U","0x18"],["V","0x19"],["W","0x1A"],["X","0x1B"],["Y","0x1C"],["Z","0x1D"],["1 !","0x1E"],["2 @","0x1F"],["3 #","0x20"],["4 $","0x21"],["5 %","0x22"],["6 ^","0x23"],["7 &","0x24"],["8 *","0x25"],["9 (","0x26"],["0 )","0x27"],["ENTER","0x28"],["ESC","0x29"],["BACKSPACE","0x2A"],["TAB","0x2B"],["SPACE","0x2C"],["- _","0x2D"],["= +","0x2E"],["[ {","0x2F"],["] }","0x30"],["\\ |","0x31"],["; :","0x33"],["' \"","0x34"],["` ~","0x35"],[", <","0x36"],[". >","0x37"],["/ ?","0x38"],["CAPS_LOCK","0x39"],["F1","0x3A"],["F2","0x3B"],["F3","0x3C"],["F4","0x3D"],["F5","0x3E"],["F6","0x3F"],["F7","0x40"],["F8","0x41"],["F9","0x42"],["F10","0x43"],["F11","0x44"],["F12","0x45"],["PRINTSCREEN","0x46"],["SCROLL_LOCK","0x47"],["PAUSE","0x48"],["INSERT","0x49"],["HOME","0x4A"],["PAGE_UP","0x4B"],["DELETE","0x4C"],["END","0x4D"],["PAGE_DOWN","0x4E"],["RIGHT","0x4F"],["LEFT","0x50"],["DOWN","0x51"],["UP","0x52"],["NUM_LOCK","0x53"],["/","0x54"],["*","0x55"],["-","0x56"],["+","0x57"],["ENTER","0x58"],["1","0x59"],["2","0x5A"],["3","0x5B"],["4","0x5C"],["5","0x5D"],["6","0x5E"],["7","0x5F"],["8","0x60"],["9","0x61"],["0","0x62"],[".","0x63"]]),"op"),this.setOutput(!0)}},id={init:function(){this.setColour($r),this.itemCount_=2,this.updateShape_(),this.setOutput(!0),this.setMutator(new ge.icons.MutatorIcon(["generalkey_create_with_item"],this)),this.setTooltip(ge.Msg.GENERALKEY_TUPLE_CREATE_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("generalkey_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;nnew Array(32).fill(0)))},Zm={init:function(){this.jsonInit({colour:wm,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SAD","SAD"],["SMILE","SMILE"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["SURPRISED","SURPRISED"],["ASLEEP","ASLEEP"],["ANGRY","ANGRY"],["CONFUSED","CONFUSED"],["NO","NO"],["YES","YES"]],type:"field_dropdown"}],output:["esp32_image","List"],helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#attributes",tooltip:ge.Msg.MIXLY_MICROBIT_Built_in_image1,message0:ge.Msg.MIXLY_MICROBIT_Built_in_image})}},eE={init:function(){this.setColour(wm),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new ge.FieldDropdown(Ce.Profile.default.builtinimg),"image"),this.setOutput(!0,["esp32_image","List"])}},tE={init:function(){this.setColour(wm),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(ge.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new ge.FieldDropdown(tE.OPERATORS),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{"+":ge.Msg.MIXLY_MICROBIT_image_add,"-":ge.Msg.MIXLY_MICROBIT_image_reduce}[t]}))},OPERATORS:[[ge.Msg.MICROBIT_DISPLAY_UNION,"add"],[ge.Msg.MICROBIT_DISPLAY_MINUS,"sub"]]},iE={init:function(){this.setColour(wm),this.appendValueInput("A").setCheck("esp32_image").appendField(ge.Msg.MIXLY_MICROBIT_Invert_image1),this.setInputsInline(!0),this.setOutput(!0,"esp32_image")}},nE={init:function(){this.setColour(wm),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(ge.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(ge.Msg.DISPLAY_IMAGE_LET2).appendField(new ge.FieldDropdown(nE.OPERATORS),"OP"),this.appendValueInput("val").appendField(ge.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(ge.Msg.DISPLAY_IMAGE_UNIT),["Python ESP32-S3","Python ESP32-C5"].includes(Ce.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(ge.Msg.MIXLY_synchronize);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i=ge.Msg.DISPLAY_IMAGE_LET,n=ge.Msg.DISPLAY_IMAGE_LET2,s=ge.Msg.DISPLAY_IMAGE_LET3;return i+n+{shift_up:ge.Msg.MIXLY_UP,shift_down:ge.Msg.MIXLY_DOWN,shift_left:ge.Msg.MIXLY_LEFT,shift_right:ge.Msg.MIXLY_RIGHT}[t]+s}))},OPERATORS:[[ge.Msg.MIXLY_UP,"shift_up"],[ge.Msg.MIXLY_DOWN,"shift_down"],[ge.Msg.MIXLY_LEFT,"shift_left"],[ge.Msg.MIXLY_RIGHT,"shift_right"]]},sE={init:function(){this.setColour(wm),this.appendValueInput("x").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_JS_MONITOR_GET_POINT),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(ge.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},_E={init:function(){this.setColour(wm),this.appendValueInput("x").setCheck(Number).appendField(ge.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},oE={init:function(){this.setColour(wm),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(ge.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},pE={init:function(){this.setColour(wm),this.appendValueInput("x").setCheck(Number).appendField(ge.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},aE={init:function(){this.setColour(wm),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Clear_display),["Python ESP32-S3","Python ESP32-C5"].includes(Ce.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(ge.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MICROBIT_Clear_display)}},uE={init:function(){this.setColour(wm),this.appendDummyInput().appendField(ge.Msg.MIXLY_SHOW+ge.Msg.MIXLY_DISPLAY_MATRIX_WRITE_NOW),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},rE={init:function(){this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let e=0;e<5;e++){let t=this.appendDummyInput();for(let i=0;i<8;i++)t.appendField(new ge.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),e+"-"+i)}this.appendDummyInput().appendField(`(${ge.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(wm),this.setTooltip(ge.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(ge.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},lE={init:function(){this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(ge.inputs.Align.CENTRE).appendField(new ge.FieldBitmap(lE.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(wm),this.setTooltip(ge.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(8).fill(0)))},dE={init:function(){this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let e=0;e<8;e++){let t=this.appendDummyInput();for(let i=0;i<12;i++)t.appendField(new ge.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),e+"-"+i)}this.appendDummyInput().appendField(`(${ge.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(wm),this.setTooltip(ge.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(ge.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},IE={init:function(){this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(ge.inputs.Align.CENTRE).appendField(new ge.FieldBitmap(IE.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(wm),this.setTooltip(ge.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(12).fill(0)))},TE={init:function(){this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let e=0;e<8;e++){let t=this.appendDummyInput();for(let i=0;i<16;i++)t.appendField(new ge.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),e+"-"+i)}this.appendDummyInput().appendField(`(${ge.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0,"esp32_image"),this.setColour(wm),this.setTooltip(ge.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(ge.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},ME={init:function(){this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(ge.inputs.Align.CENTRE).appendField(new ge.FieldBitmap(ME.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(wm),this.setTooltip(ge.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(16).fill(0)))},hE={init:function(){this.setColour(wm),this.appendDummyInput().appendField(ge.Msg.OLED_SET_FONT).appendField(new ge.FieldDropdown(hE.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[["4x5"+ge.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'4x5'"],["5x5"+ge.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'5x5'"],["5x8"+ge.Msg.MIXGO_ME_DISPLAY_VERTICAL,"'5x8'"]]},mE={init:function(){this.setColour(wm),this.appendValueInput("data").appendField(ge.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.OLED_BITMAP_OR_STRING)}},EE={init:function(){this.setColour(wm),this.appendValueInput("data").appendField(ge.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_NUMBER),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.OLED_BITMAP_OR_STRING)}},OE={init:function(){this.setColour(wm),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(ge.Msg.OLED_DRAWSTR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.OLED_BITMAP_OR_STRING)}},RE={init:function(){this.setColour(wm),this.appendValueInput("data").appendField(ge.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ge.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(ge.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(ge.Msg.TEXT_CENTER).appendField(new ge.FieldDropdown([[ge.Msg.MICROPYTHON_DISPLAY_YES,"True"],[ge.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},cE={init:function(){this.setColour(wm),this.appendValueInput("data").appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ge.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(ge.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},gE={init:function(){this.setColour(wm),this.appendValueInput("data").appendField(ge.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(ge.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},CE={init:function(){this.setColour(wm),this.appendValueInput("x").setCheck(Number).appendField(ge.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},SE={init:function(){this.jsonInit({colour:wm,args0:[{name:"state",options:[[ge.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[ge.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"shape",options:[[ge.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[ge.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"}],inputsInline:!0,helpUrl:ge.Msg.mpython_HELPURL,tooltip:ge.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:ge.Msg.MPYTHON_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},AE={init:function(){this.jsonInit({colour:wm,args0:[{name:"state",options:[[ge.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[ge.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"dir_h_v",options:[[ge.Msg.mpython_vertical,"0"],[ge.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"}],inputsInline:!0,helpUrl:ge.Msg.mpython_HELPURL,tooltip:ge.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:ge.Msg.MPYTHON_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},LE={init:function(){this.jsonInit({colour:wm,args0:[{name:"state",options:[[ge.Msg.mpython_display_hline_1,"1"],[ge.Msg.mpython_display_hline_0,"0"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"}],inputsInline:!0,helpUrl:ge.Msg.mpython_HELPURL,tooltip:ge.Msg.mpython_display_line_TOOLTIP,message0:ge.Msg.mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},NE={init:function(){this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new ge.FieldDropdown(NE.IMAGES),"path"),this.setColour(wm),this.setOutput(!0)},IMAGES:[["Heart","expression_picture.Heart"],["Angry","expression_picture.Angry"],["Bored","expression_picture.Bored"],["Confused","expression_picture.Confused"],["Happy","expression_picture.Happy"],["Paper","expression_picture.Paper"],["Rock","expression_picture.Rock"],["Sad","expression_picture.Sad"],["Scissors","expression_picture.Scissors"],["Silly","expression_picture.Silly"],["Sleep","expression_picture.Sleep"],["Small_heart","expression_picture.Small_heart"],["Small_paper","expression_picture.Small_paper"],["Small_rock","expression_picture.Small_rock"],["Small_scissors","expression_picture.Small_scissors"],["Smile","expression_picture.Smile"],["Surprise","expression_picture.Surprise"],["Wonderful","expression_picture.Wonderful"],["Eyes_Angry","eye_picture.Eyes_Angry"],["Awake","eye_picture.Awake"],["Black_eye","eye_picture.Black_eye"],["Bottom_left","eye_picture.Bottom_left"],["Bottom_right","eye_picture.Bottom_right"],["Crazy_1","eye_picture.Crazy_1"],["Crazy_2","eye_picture.Crazy_2"],["Disappointed","eye_picture.Disappointed"],["Dizzy","eye_picture.Dizzy"],["Down","eye_picture.Down"],["Evil","eye_picture.Evil"],["Hurt","eye_picture.Hurt"],["Knocked_out","eye_picture.Knocked_out"],["Love","eye_picture.Love"],["Middle_left","eye_picture.Middle_left"],["Middle_right","eye_picture.Middle_right"],["Neutral","eye_picture.Neutral"],["Nuclear","eye_picture.Nuclear"],["Pinch_left","eye_picture.Pinch_left"],["Pinch_middle","eye_picture.Pinch_middle"],["Pinch_right","eye_picture.Pinch_right"],["Tear","eye_picture.Tear"],["Tired_left","eye_picture.Tired_left"],["Tired_middle","eye_picture.Tired_middle"],["Tired_right","eye_picture.Tired_right"],["Toxic","eye_picture.Toxic"],["Up","eye_picture.Up"],["Winking","eye_picture.Winking"],["Accept","informatio_picture.Accept"],["Backward","informatio_picture.Backward"],["Decline","informatio_picture.Decline"],["Forward","informatio_picture.Forward"],["Left","informatio_picture.Left"],["No_go","informatio_picture.No_go"],["Question_mark","informatio_picture.Question_mark"],["Right","informatio_picture.Right"],["Stop_1","informatio_picture.Stop_1"],["Stop_2","informatio_picture.Stop_2"],["Thumbs_down","informatio_picture.Thumbs_down"],["Thumbs_up","informatio_picture.Thumbs_up"],["Warning","informatio_picture.Warning"],["Bomb","object_picture.Bomb"],["Boom","object_picture.Boom"],["Fire","object_picture.Fire"],["Flowers","object_picture.Flowers"],["Forest","object_picture.Forest"],["Lightning","object_picture.Lightning"],["Light_off","object_picture.Light_off"],["Light_on","object_picture.Light_on"],["Night","object_picture.Night"],["Pirate","object_picture.Pirate"],["Snow","object_picture.Snow"],["Target","object_picture.Target"],["Bar_0","progres_picture.Bar_0"],["Bar_1","progres_picture.Bar_1"],["Bar_2","progres_picture.Bar_2"],["Bar_3","progres_picture.Bar_3"],["Bar_4","progres_picture.Bar_4"],["Dial_0","progres_picture.Dial_0"],["Dial_1","progres_picture.Dial_1"],["Dial_2","progres_picture.Dial_2"],["Dial_3","progres_picture.Dial_3"],["Dial_4","progres_picture.Dial_4"],["Dots_0","progres_picture.Dots_0"],["Dots_1","progres_picture.Dots_1"],["Dots_2","progres_picture.Dots_2"],["Dots_3","progres_picture.Dots_3"],["Hourglass_0","progres_picture.Hourglass_0"],["Hourglass_1","progres_picture.Hourglass_1"],["Hourglass_2","progres_picture.Hourglass_2"],["Timer_0","progres_picture.Timer_0"],["Timer_1","progres_picture.Timer_1"],["Timer_2","progres_picture.Timer_2"],["Timer_3","progres_picture.Timer_3"],["Timer_4","progres_picture.Timer_4"],["Water_level_0","progres_picture.Water_level_0"],["Water_level_1","progres_picture.Water_level_1"],["Water_level_2","progres_picture.Water_level_2"],["Water_level_3","progres_picture.Water_level_3"],["YES","informatio_picture.YES"],["NO","informatio_picture.NO"]]},DE={init:function(){this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let e=0;e<5;e++){let t=this.appendDummyInput();for(let i=0;i<5;i++)t.appendField(new ge.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),e+"-"+i)}this.appendDummyInput().appendField(`(${ge.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(wm),this.setTooltip(ge.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(ge.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},fE={init:function(){this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(ge.inputs.Align.CENTRE).appendField(new ge.FieldBitmap(fE.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(wm),this.setTooltip(ge.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(5).fill(0)))},FE={init:function(){this.setColour(wm),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(ge.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},PE={init:function(){this.setColour(wm),this.appendDummyInput().appendField(ge.Msg.MIXLY_MIXBOT_AMBIENTBRIGHT),this.setInputsInline(!0),this.setOutput(!0,Number)}},YE={init:function(){this.setColour(wm),this.appendValueInput("x").setCheck(Number).appendField(ge.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},vE={init:function(){this.setColour(wm),this.appendDummyInput().appendField(ge.Msg.MIXLY_MIXBOT_SCREEN_ROTATE).appendField(new ge.FieldDropdown(vE.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[[ge.Msg.mixpy_PL_PIE_SHADOW_N,"0"],[ge.Msg.CLOCKWISE+"90"+ge.Msg.blockpy_setheading_degree,"1"],[ge.Msg.CLOCKWISE+"180"+ge.Msg.blockpy_setheading_degree,"2"],[ge.Msg.CLOCKWISE+"270"+ge.Msg.blockpy_setheading_degree,"3"]]},XE={init:function(){this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let e=0;e<12;e++){let t=this.appendDummyInput();for(let i=0;i<12;i++)t.appendField(new ge.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),e+"-"+i)}this.appendDummyInput().appendField(`(${ge.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(wm),this.setTooltip(ge.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(ge.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},yE={init:function(){this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(ge.inputs.Align.CENTRE).appendField(new ge.FieldBitmap(yE.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(wm),this.setTooltip(ge.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:12},(()=>new Array(12).fill(0)))},xE={init:function(){this.setColour(wm),this.appendValueInput("data").appendField(ge.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(ge.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Ce.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(ge.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},bE={init:function(){this.setColour(wm),this.appendValueInput("x").setCheck(Number).appendField(ge.Msg.OLED_BITMAP).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("direct").setCheck(String).appendField(ge.Msg.MIXLY_AipImageClassify_Image+ge.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},VE={init:function(){this.setColour(wm),this.appendValueInput("data").appendField(ge.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ge.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(ge.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(ge.Msg.TEXT_CENTER).appendField(new ge.FieldDropdown([[ge.Msg.MICROPYTHON_DISPLAY_YES,"True"],[ge.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.appendValueInput("VAR").appendField(ge.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Ce.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(ge.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},BE={init:function(){this.setColour(wm),this.appendValueInput("data").appendField(ge.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(ge.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("VAR").appendField(ge.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},GE={init:function(){this.jsonInit({colour:wm,args0:[{name:"shape",options:[[ge.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[ge.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:ge.Msg.mpython_HELPURL,tooltip:ge.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:ge.Msg.ONBOARD_TFT_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},UE={init:function(){this.jsonInit({colour:wm,args0:[{name:"dir_h_v",options:[[ge.Msg.mpython_vertical,"0"],[ge.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:ge.Msg.mpython_HELPURL,tooltip:ge.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:ge.Msg.ONBOARD_TFT_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},wE={init:function(){this.jsonInit({colour:wm,args0:[{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:ge.Msg.mpython_HELPURL,tooltip:ge.Msg.mpython_display_line_TOOLTIP,message0:ge.Msg.onboard_mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},HE={init:function(){this.setColour(wm),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("x").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(ge.Msg.HTML_COLOUR),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(ge.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},kE={init:function(){this.setColour(wm),this.appendValueInput("x").setCheck(Number).appendField(ge.Msg.MIXLY_LCD_SETCOLOR).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("VAR").appendField(ge.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Ce.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(ge.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},WE={init:function(){this.setColour(wm),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_SCREEN_FILL),["Python ESP32-S3","Python ESP32-C5"].includes(Ce.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(ge.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},KE={init:function(){this.setColour(wm),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_INIT_CLOCK),this.appendDummyInput().appendField(ge.Msg.MIXLY_CENTER_POS),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ge.Msg.OLED_CIRCLE_RADIUS),this.appendValueInput("VAR").appendField(ge.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},JE={init:function(){this.setColour(wm),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ge.Msg.GET_RTCTIME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},QE={init:function(){this.setColour(wm),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ge.Msg.SET_TIME),this.appendValueInput("h").setCheck(Number).appendField(ge.Msg.MIXLY_HOUR),this.appendValueInput("m").setCheck(Number).appendField(ge.Msg.MIXLY_MINUTE),this.appendValueInput("s").setCheck(Number).appendField(ge.Msg.MIXLY_SECOND),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},zE={init:function(){this.setColour(wm),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ge.Msg.DRAW_CLOCK),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},qE={init:function(){this.setColour(wm),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ge.Msg.CLEAR_CLOCK),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_STM32_TFT_BACKGROUND_COLOR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},jE={init:function(){this.jsonInit({colour:wm,args0:[{name:"shape",options:[[ge.Msg.MPYTHON_DISPLAY_HOLLOW,"False"],[ge.Msg.MPYTHON_DISPLAY_SOLID,"True"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"r",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:ge.Msg.mpython_HELPURL,message0:ge.Msg.ONBOARD_TFT_DISPLAY_SHAPE_CIRCLE_MESSAGE0,nextStatement:null,previousStatement:null})}},$E={init:function(){this.setColour(wm),this.appendDummyInput().appendField(ge.Msg.DRAW_POINTER).appendField(ge.Msg.DRAW_POINTER_ANGLE),this.appendValueInput("angle"),this.appendDummyInput().appendField(ge.Msg.MIXLY_DRAW_POINTER_DU),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.DRAW_POINTER_TOOLTIP)}},ZE={init:function(){this.setColour(wm),this.appendDummyInput().appendField(ge.Msg.DRAW_POINTER).appendField(ge.Msg.DRAW_POINTER_ANGLE),this.appendValueInput("angle"),this.appendDummyInput().appendField(ge.Msg.MIXLY_DRAW_POINTER_DU),this.appendValueInput("VAR").appendField(ge.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.DRAW_POINTER_TOOLTIP)}},eO={init:function(){this.setColour(wm),this.appendValueInput("data").appendField(ge.Msg.MIXLY_Display_long_text),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(ge.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Ce.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(ge.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},tO={init:function(){this.setColour(wm),this.appendValueInput("direct").appendField(ge.Msg.OLED_BITMAP).appendField(ge.Msg.MIXLY_QR_CODE),["Python ESP32-S3","Python ESP32-C5"].includes(Ce.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(ge.Msg.MIXLY_synchronize),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},iO={init:function(){this.setColour(wm),this.appendValueInput("data").appendField(ge.Msg.OLED_BITMAP).appendField(ge.Msg.MIXLY_QR_CODE),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendDummyInput("").appendField(ge.Msg.MIXLY_ERROR_RATE).appendField(new ge.FieldDropdown([["0","7%"],["1","15%"],["2","25%"],["3","30"]]),"correct"),this.appendValueInput("VAR").appendField(ge.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Ce.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(ge.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},nO={init:function(){this.setColour(wm),this.appendValueInput("data").appendField(ge.Msg.OLED_BITMAP),this.appendDummyInput().appendField(`(${ge.Msg.MIXLY_DEPRECATED})`),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.OLED_BITMAP_OR_STRING),this.setWarningText(ge.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},sO={init:function(){Wm.init.call(this),this.appendDummyInput().appendField(`(${ge.Msg.MIXLY_DEPRECATED})`),this.setWarningText(ge.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},_O={init:function(){zm.init.call(this),this.appendDummyInput().appendField(`(${ge.Msg.MIXLY_DEPRECATED})`),this.setWarningText(ge.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},oO={init:function(){nE.init.call(this),this.appendDummyInput().appendField(`(${ge.Msg.MIXLY_DEPRECATED})`),this.setWarningText(ge.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},pO={init:function(){oE.init.call(this),this.appendDummyInput().appendField(`(${ge.Msg.MIXLY_DEPRECATED})`),this.setWarningText(ge.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},aO={init:function(){pE.init.call(this),this.appendDummyInput().appendField(`(${ge.Msg.MIXLY_DEPRECATED})`),this.setWarningText(ge.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},uO={init:function(){aE.init.call(this),this.appendDummyInput().appendField(`(${ge.Msg.MIXLY_DEPRECATED})`),this.setWarningText(ge.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},rO=180,lO={init:function(){this.setColour(rO),this.setOutput(!0),this.setInputsInline(!0),this.appendValueInput("img").appendField(ge.Msg.DISPLAY_IMAGE_LET).setCheck(["esp32_image","List",String]),this.appendDummyInput("").appendField(ge.Msg.DISPLAY_IMAGE_LET2).appendField(new ge.FieldDropdown(lO.OPERATORS),"OP"),this.appendValueInput("val").appendField(ge.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(ge.Msg.DISPLAY_IMAGE_UNIT);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i=ge.Msg.DISPLAY_IMAGE_LET,n=ge.Msg.DISPLAY_IMAGE_LET2,s=ge.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:ge.Msg.MIXLY_UP,down:ge.Msg.MIXLY_DOWN,left:ge.Msg.MIXLY_LEFT,right:ge.Msg.MIXLY_RIGHT}[t]+s}))},OPERATORS:[[ge.Msg.MIXLY_UP,"up"],[ge.Msg.MIXLY_DOWN,"down"],[ge.Msg.MIXLY_LEFT,"left"],[ge.Msg.MIXLY_RIGHT,"right"]]},dO={init:function(){this.setColour(rO),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(ge.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new ge.FieldDropdown(dO.OPERATORS),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{"+":ge.Msg.MIXLY_MICROBIT_image_add,"-":ge.Msg.MIXLY_MICROBIT_image_reduce}[t]}))},OPERATORS:[[ge.Msg.MICROBIT_DISPLAY_UNION,"+"],[ge.Msg.MICROBIT_DISPLAY_MINUS,"-"]]},IO={init:function(){this.setColour(rO),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+ge.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("esp32_image"),this.appendDummyInput("").appendField(new ge.FieldDropdown(IO.OPERATORS),"OP"),this.setInputsInline(!0),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+ge.Msg.MIXLY_MICROBIT_IMAGE+{height:ge.Msg.MIXLY_HEIGHT,width:ge.Msg.MIXLY_WIDTH}[t]}))},OPERATORS:[[ge.Msg.MIXLY_HEIGHT,"height"],[ge.Msg.MIXLY_WIDTH,"width"]]},TO={init:function(){this.setColour(rO),this.appendValueInput("VAR").appendField(ge.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RECT).appendField(new ge.FieldDropdown(TO.STATUS),"OP"),this.jsonInit({message0:ge.Msg.MIXLY_MICROBIT_SHOW_RECT,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"width"},{check:Number,type:"input_value",name:"height"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ge.Msg.MIXLY_OLED_RECT)},STATUS:[[ge.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[ge.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},MO={init:function(){this.setColour(rO),this.appendValueInput("VAR").appendField(ge.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE).appendField(new ge.FieldDropdown(MO.STATUS),"OP"),this.jsonInit({message0:ge.Msg.MIXLY_HANBIT_SHOW_CIRCLE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"r"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ge.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE)},STATUS:[[ge.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[ge.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},hO={init:function(){this.setColour(rO),this.appendValueInput("VAR").appendField(ge.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_DISPLAY_DRAW+ge.Msg.MIXLY_HANBIT_DRAW_TRIANGLE).appendField(new ge.FieldDropdown(hO.STATUS),"OP"),this.jsonInit({message0:ge.Msg.MIXLY_HANBIT_SHOW_triangle,args0:[{check:Number,type:"input_value",name:"x0"},{check:Number,type:"input_value",name:"y0"},{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ge.Msg.MIXLY_DISPLAY_DRAW+ge.Msg.MIXLY_HANBIT_DRAW_TRIANGLE)},STATUS:[[ge.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[ge.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},mO="#777777",EO={init:function(){this.setColour(mO),this.appendDummyInput("").appendField("from ").appendField(new ge.FieldTextInput("ESP32"),"path").appendField(" import ").appendField(new ge.FieldTextInput("*"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},OO={init:function(){this.setColour(mO),this.appendDummyInput("").appendField("import ").appendField(new ge.FieldTextInput("module"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},RO={init:function(){this.setColour(mO),this.appendDummyInput("").appendField(new ge.FieldTextInput("my_function"),"NAME"),this.itemCount_=1,this.arguments_=["x"],this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new ge.icons.MutatorIcon(["factory_create_with_item"],this))},mutationToDom:function(){var e=document.createElement("mutation");e.setAttribute("items",this.itemCount_);for(var t=0;tt?e[t]:'"key'+(t+1)+'"'),"KEY"+t).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){ge.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},pR={init:function(){this.setColour(eR),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(ge.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},aR={init:function(){this.setColour(eR),this.appendDummyInput().appendField(ge.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},uR={init:function(){this.setColour(eR),this.appendDummyInput().appendField(ge.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},rR={init:function(){this.setColour(eR),this.appendDummyInput().appendField(ge.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").setCheck(String).appendField(ge.Msg.MIXLY_EMQX_SERVER).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(ge.Msg.MIXLY_WIFI_USERNAME).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(ge.Msg.MIXLY_IOT_PASSWORD).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("PROJECT").setCheck(String).appendField(ge.Msg.MIXLY_EMQX_PROJECT).setAlign(ge.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},lR={init:function(){this.setColour(eR),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(ge.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(ge.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(ge.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},dR={init:function(){this.setColour(eR),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(ge.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(ge.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(ge.Msg.HTML_BODY),this.appendDummyInput().appendField(ge.Msg.MIXLY_Service_quality_display).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_AT_MOST_ONCE,"0"],[ge.Msg.MIXLY_AT_LEAST_ONCE,"1"]]),"quality"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},IR={init:function(){this.setColour(eR),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(ge.Msg.MIXLY_EMQX_SUBSCRIBE+ge.Msg.MIXLY_MICROBIT_MSG).appendField(ge.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(ge.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_IOT_EMQX_SUBSCRIBE_TOOLTIP)}},TR={init:function(){this.setColour(eR),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},MR={init:function(){this.setColour(eR),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(ge.Msg.MIXLY_EMQX_CONNECT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},hR={init:function(){this.setColour(eR),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_CHECK_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},mR={init:function(){this.setColour(eR),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(ge.Msg.MQTT_Topic),this.setInputsInline(!0),this.setOutput(!0)}},ER={init:function(){this.setColour(eR),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(ge.Msg.MIXLY_EMQX_PUBLISH_MSG),this.setInputsInline(!0),this.setOutput(!0)}},OR={init:function(){this.setColour(eR),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_ESP32_IOT_MAP_FORMATING),this.setOutput(!0)}},RR={init:function(){this.setColour(eR),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_MICROPYTHON_FORMAT+"(Json)"),this.setOutput(!0)}},cR={init:function(){this.setColour(eR),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(ge.Msg.MIXLY_EMQX_PING),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_IOT_EMQX_PING_TOOLTIP)}},gR={init:function(){this.setColour(eR),this.appendDummyInput().appendField("MixIO").appendField(ge.Msg.MIXLY_GET_NTP),this.appendValueInput("addr").appendField(ge.Msg.blynk_SERVER_ADD),this.setInputsInline(!0),this.setOutput(!0)}},CR={init:function(){this.setColour(eR),this.appendDummyInput().appendField(ge.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(ge.Msg.MIXLY_EMQX_SERVER).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(ge.Msg.CONTROLS_FOR_INPUT_WITH+ge.Msg.MIXLY_MIXIO_SHARE_KEY).setAlign(ge.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},SR={init:function(){this.setColour(eR),this.appendDummyInput().appendField(ge.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(ge.Msg.MIXLY_EMQX_SERVER).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(ge.Msg.CONTROLS_FOR_INPUT_WITH+"Mixly Key").setAlign(ge.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},AR={init:function(){this.VISITOR_ID=Ce.Config.BOARD.visitorId.str32.substring(0,8).toUpperCase(),this.setColour(eR),this.appendDummyInput("").appendField(new ge.FieldTextInput(this.visitorId),"VISITOR_ID"),this.setOutput(!0,null)},onchange:function(){const e=this.getFieldValue("VISITOR_ID");this.VISITOR_ID!==e&&this.setFieldValue(this.VISITOR_ID,"VISITOR_ID")}},LR={init:function(){this.setColour(eR),this.appendDummyInput().appendField("MixIO").appendField(ge.Msg.MSG.catEthernet_clinet),this.setOutput(!0),this.setInputsInline(!0)}},NR={init:function(){this.setColour(eR),this.appendDummyInput().appendField("HTTP"+ge.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(ge.Msg.DISPLAY_IMAGE_LET2),this.appendDummyInput().appendField(ge.Msg.MIXLY_REQUESTS_GET).appendField(ge.Msg.MIXLY_GET_CURRENT_TIME).appendField(ge.Msg.MIXLY_OPEN_DEBUG).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[ge.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},DR={init:function(){this.setColour(eR),this.appendDummyInput().appendField("HTTP"+ge.Msg.MIXLY_Client).appendField(ge.Msg.MIXLY_GET).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_REQUESTS_LEN,"client_len"],[ge.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[ge.Msg.MIXLY_REQUESTS_MESSAGE,"text"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},fR={init:function(){this.setColour(eR),this.appendDummyInput().appendField("MQTT"+ge.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(ge.Msg.MIXLY_CONNECTTO),this.appendDummyInput().appendField(ge.Msg.MIXLY_INIT_SUBSCRIBE).appendField(ge.Msg.MQTT_Topic).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_GET_CURRENT_TIME,""]]),"key").appendField(ge.Msg.MIXLY_OPEN_DEBUG).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[ge.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},FR={init:function(){this.setColour(eR),this.appendDummyInput().appendField("MQTT"+ge.Msg.MIXLY_Client).appendField(ge.Msg.MIXLY_GET).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_REQUESTS_LEN,"client_len"],[ge.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[ge.Msg.MIXLY_REQUESTS_MESSAGE,"time_msg()"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},PR=tR,YR=iR,vR=nR,XR=sR,yR=oR,xR={init:function(){this.setColour(eR),this.appendDummyInput().appendField(ge.Msg.MIXLY_CONNECT_OLLAMA),this.appendValueInput("SERVER").appendField(ge.Msg.MIXLY_EMQX_SERVER).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(ge.Msg.MODEL_NAME).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(ge.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},bR=xR,VR={init:function(){this.setColour(eR),this.appendDummyInput().appendField(ge.Msg.MIXLY_CONNECT_OPENAI),this.appendValueInput("SERVER").appendField(ge.Msg.MIXLY_EMQX_SERVER).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(ge.Msg.MIXLY_API_PRIVATE_KEY).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(ge.Msg.MODEL_NAME).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(ge.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},BR={init:function(){this.setColour(eR),this.appendDummyInput().appendField(ge.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(ge.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendValueInput("METHOD").appendField(ge.Msg.MIXLY_LLM_CONTENT_CALLBACK),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},GR={init:function(){this.setColour(eR),this.appendDummyInput().appendField(ge.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(ge.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendDummyInput().appendField(ge.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0)}},UR={init:function(){this.setColour(eR),this.appendDummyInput().appendField("Ollama "+ge.Msg.MIXLY_EMPTY_HISTORY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},wR={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${ge.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("ADDR").setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_EMQX_SERVER),this.appendValueInput("USERNAME").setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_EMQX_USERNAME),this.appendValueInput("PASSWORD").setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_IOT_PASSWORD),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},HR={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${ge.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("MQTT").setAlign(ge.inputs.Align.RIGHT).appendField(`MixIO ${ge.Msg.MIXLY_Client}`),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},kR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_TINY_WEB_DB_UPDATE_VARIABLE),this.appendValueInput("VALUE").setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},WR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(ge.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLE),this.appendDummyInput().appendField(ge.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setOutput(!0)}},KR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendDummyInput().appendField(ge.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_NUM),this.setInputsInline(!0),this.setOutput(!0)}},JR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB").appendField(ge.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARIABLES),this.appendValueInput("NO").setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_TINY_WEB_DB_START_NUMBER),this.appendValueInput("COUNT").setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_TINY_WEB_DB_VARIABLE_NUMBER),this.appendValueInput("TAG").setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARS),this.appendDummyInput().setAlign(ge.inputs.Align.RIGHT).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_ALL,"both"],[ge.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_TAG,"tag"],[ge.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_VALUE,"value"]]),"DTYPE"),this.setInputsInline(!1),this.setOutput(!0)}},QR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(ge.Msg.MIXLY_TINY_WEB_DB_DELETE_VARIABLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},zR=225,qR={init:function(){this.setColour(zR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_NETWORK_INIT),this.appendDummyInput().appendField(ge.Msg.MIXLY_NETWORK_MODE).appendField(new ge.FieldDropdown([["STA","STA"],["AP","AP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_INIT_TOOLTIP)}},jR={init:function(){this.setColour(zR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_NETWORK_WIFI_OPEN,"True"],[ge.Msg.MIXLY_NETWORK_WIFI_CLOSE,"False"]]),"op"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_NETWORK_WIFI_FLAG),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("op"),i=ge.Msg.MIXLY_ESP32_NETWORK_OPEN_TOOLTIP;return{True:ge.Msg.MIXLY_NETWORK_WIFI_OPEN,False:ge.Msg.MIXLY_NETWORK_WIFI_CLOSE}[t]+i}))}},$R={init:function(){this.setColour(zR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE)}},ZR={init:function(){this.setColour(zR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_NETWORK_WIFI_SCAN),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip((function(){return ge.Msg.MIXLY_ESP32_NETWORK_SCAN_TOOLTIP+{0:"ssid",1:"bssid",2:"channel",3:"RSSI",4:"authmode",5:"hidden",all:ge.Msg.MIXLY_NETWORK_WIFI_SCAN_ATTRIBUTE}.all}))}},ec={init:function(){this.setColour(zR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_ESP32_NETWORK_CONNECT),this.appendValueInput("id").setCheck(String).appendField(ge.Msg.HTML_NAME),this.appendValueInput("password").setCheck(String).appendField(ge.Msg.HTML_PASSWORD),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_CONNECT_TOOLTIP)}},tc={init:function(){this.setColour(zR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_NETWORK_WIFI_CONNECT+ge.Msg.MIXLY_SYMBOL_QUESTION),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_WIFI_CONNECT_TOOLTIP)}},ic={init:function(){this.setColour(zR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_ESP32_NETWORK_IP,"0"],[ge.Msg.MIXLY_ESP32_NETWORK_MASK,"1"],[ge.Msg.MIXLY_ESP32_NETWORK_GATEWAY,"2"],["DNS","3"]]),"mode"),this.setOutput(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("mode");return ge.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP+{0:ge.Msg.MIXLY_ESP32_NETWORK_IP,1:ge.Msg.MIXLY_ESP32_NETWORK_MASK,2:ge.Msg.MIXLY_ESP32_NETWORK_GATEWAY,3:"DNS"}[t]}))}},nc={init:function(){this.setColour(zR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_ESP32_NETWORK_STOP_CONNECT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_STOP_TOOLTIP)}},sc={init:function(){this.setColour(zR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput().appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_NETWORK_WIFI_ESSID,"essid"],[ge.Msg.MIXLY_NETWORK_WIFI_CHANNEL,"channel"]]),"op"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP)}},_c={init:function(){this.setColour(zR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.LISTS_SET_INDEX_SET+ge.Msg.MIXLY_HOTSPOT),this.appendValueInput("essid").setCheck(String).appendField(ge.Msg.MIXLY_NAME),this.appendValueInput("password").setCheck(String).appendField(ge.Msg.MIXLY_EMQX_PASSWORD),this.appendValueInput("channel").setCheck(Number).appendField(ge.Msg.MIXLY_NETWORK_WIFI_CHANNEL),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_AP_CONNECT_TOOLTIP)}},oc={init:function(){this.setColour(zR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_ESP32_NETWORK_SERVER1),this.appendDummyInput("").appendField(ge.Msg.MIXLY_ESP32_NETWORK_SERVER2),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},pc={init:function(){this.setColour(zR),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_INIT).setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new ge.FieldDropdown([["TCP","TCP"],["UDP","UDP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("mode");return ge.Msg.MIXLY_ESP32_NETWORK_SOCKET_INIT_TOOLTIP+{TCP:"TCP",UDP:"UDP"}[t]}))}},ac={init:function(){this.setColour(zR),this.appendValueInput("VAR").setCheck("var").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_BIND_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_SOCKET_BIND_TOOLTIP)}},uc={init:function(){this.setColour(zR),this.appendValueInput("VAR").setCheck("var").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_CONNECT_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_SOCKET_CONNECT_TOOLTIP)}},rc={init:function(){this.setColour(zR),this.appendValueInput("VAR").setCheck("var"),this.appendValueInput("queue").setCheck(Number).appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_LISTEN).appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_QUEUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_SOCKET_LISTEN_TOOLTIP)}},lc={init:function(){this.setColour(zR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_ACCEPT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_SOCKET_ACCEPT_TOOLTIP)}},dc={init:function(){this.setColour(zR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE_TOOLTIP)}},Ic={init:function(){this.setColour(zR),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("size").setCheck(Number).appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_TOOLTIP)}},Tc={init:function(){this.setColour(zR),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("content").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TOOLTIP)}},Mc={init:function(){this.setColour(zR),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("size").setCheck(Number).appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_FROM_TOOLTIP)}},hc={init:function(){this.setColour(zR),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("content").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.appendValueInput("address").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_TO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TO_TOOLTIP)}},mc={init:function(){this.setColour(zR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_CLOSE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},Ec={init:function(){this.setColour(zR),this.appendValueInput("DOMAIN").appendField(ge.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(ge.Msg.blockpy_REQUESTS_GET).appendField(new ge.FieldTextInput("response"),"VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.blockpy_REQUESTS_GET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){ge.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},Oc={init:function(){this.appendValueInput("VAL"),this.setColour(zR),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_GET).appendField(new ge.FieldDropdown(Oc.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("DIR");return{clear:ge.Msg.MIXLY_TOOLTIP_TURTEL_CLEAR,reset:ge.Msg.MIXLY_TOOLTIP_TURTEL_RESET,home:ge.Msg.MIXLY_TOOLTIP_TURTEL_HOME}[t]}))},ATTR:[[ge.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[ge.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[ge.Msg.blockpy_REQUESTS_GET_ATTR_COOKIES,"cookies"],[ge.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"]]},Rc={init:function(){this.appendValueInput("VAR").appendField(ge.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.setColour(zR),this.appendDummyInput("").appendField(ge.Msg.blockpy_CONDUCT).appendField(new ge.FieldDropdown(Rc.METHOD),"DIR"),this.appendDummyInput("").appendField(ge.Msg.blockpy_REQUESTS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("DIR");return{forward:ge.Msg.MIXLY_TOOLTIP_TURTEL_FORWARD,backward:ge.Msg.MIXLY_TOOLTIP_TURTEL_BACKWARD}[t]}))},METHOD:[["post","post"],["put","put"],["delete","delete"],["head","head"],["option","option"]]},cc={init:function(){this.setColour(zR),this.appendDummyInput("").appendField(ge.Msg.MIXLY_GET_NTP+"(NTP)"),this.appendValueInput("data").appendField(ge.Msg.blynk_SERVER_ADD),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},gc={init:function(){this.setColour(zR),this.appendDummyInput("").appendField(new ge.FieldDropdown([["ntp.aliyun.com","ntp.aliyun.com"],["ntp1.aliyun.com","ntp1.aliyun.com"],["ntp2.aliyun.com","ntp2.aliyun.com"],["ntp3.aliyun.com","ntp3.aliyun.com"],["ntp4.aliyun.com","ntp4.aliyun.com"],["ntp5.aliyun.com","ntp5.aliyun.com"],["ntp6.aliyun.com","ntp6.aliyun.com"],["ntp7.aliyun.com","ntp7.aliyun.com"],["time1.cloud.tencent.com","time1.cloud.tencent.com"],["time2.cloud.tencent.com","time2.cloud.tencent.com"],["time3.cloud.tencent.com","time3.cloud.tencent.com"],["time4.cloud.tencent.com","time4.cloud.tencent.com"],["time5.cloud.tencent.com","time5.cloud.tencent.com"]]),"op"),this.setOutput(!0)}},Cc="#3288dd",Sc={init:function(){this.setColour(Cc),this.appendValueInput("URL").appendField(ge.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(ge.Msg.blockpy_CONDUCT).appendField(new ge.FieldDropdown([["get","get"],["head","head"],["delete","delete"]]),"TYPE").appendField(ge.Msg.blockpy_REQUESTS).appendField(ge.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},Ac={init:function(){this.setColour(Cc),this.appendValueInput("URL").appendField(ge.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(ge.Msg.blockpy_CONDUCT).appendField(new ge.FieldDropdown([["post","post"],["put","put"],["patch","patch"]]),"TYPE").appendField(ge.Msg.blockpy_REQUESTS),this.appendValueInput("data").appendField(ge.Msg.blockpy_REQUESTS+ge.Msg.OLED_STRING),this.appendDummyInput("").appendField(ge.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},Lc={init:function(){this.appendValueInput("VAL"),this.setColour(Cc),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_GET).appendField(new ge.FieldDropdown(Lc.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String)},ATTR:[[ge.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[ge.Msg.blockpy_REQUESTS_GET_ATTR_JSON,"json()"],[ge.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[ge.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"],[ge.Msg.MIXPY_TEXT_ENCODE,"encoding"]]},Nc={init:function(){this.setColour(Cc),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_IOT_CONNECT_WIFI),this.appendValueInput("WIFINAME").setCheck(String).appendField(ge.Msg.HTML_NAME),this.appendValueInput("PASSWORD").setCheck(String).appendField(ge.Msg.HTML_PASSWORD),this.appendValueInput("TIMEOUT").setCheck(Number).appendField(ge.Msg.MIXLY_IR_TIMEOUT),this.appendDummyInput().appendField(ge.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_IOT_WIFI_CONNECT_TOOLTIP)}},Dc={init:function(){this.setColour(Cc),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_IOT_EMQX_CONNECT_TOOLTIP),this.appendValueInput("SERVER").setCheck(String).appendField(ge.Msg.MIXLY_EMQX_SERVER).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("PORT").setCheck(Number).appendField(ge.Msg.MIXLY_EMQX_PORT).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("CLIENT_ID").setCheck(String).appendField(ge.Msg.MIXLY_EMQX_CLIENT_ID).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(ge.Msg.MIXLY_WIFI_USERNAME).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(ge.Msg.MIXLY_IOT_PASSWORD).setAlign(ge.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},fc={init:function(){this.setColour(Cc),this.appendValueInput("TOPIC").appendField(ge.Msg.MIXLY_EMQX_SUBSCRIBE+ge.Msg.MIXLY_MICROBIT_MSG).appendField(ge.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MESSAGE").appendField(ge.Msg.blockpy_set_of),this.setInputsInline(!0),this.setOutput(!0)}},Fc={init:function(){this.setColour(Cc),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(ge.Msg.MIXLY_EMQX_SUBSCRIBE+ge.Msg.MIXLY_MICROBIT_MSG).appendField(ge.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(ge.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Pc={init:function(){this.setColour(Cc),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(ge.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(ge.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(ge.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Yc={init:function(){this.setColour(Cc),this.appendDummyInput().appendField("mqtt"+ge.Msg.MIXLY_EMQX_IS_CONNECT),this.setInputsInline(!0),this.setOutput(!0)}},vc=100,Xc={init:function(){if("mixgo_nova"==Ce.Boards.getSelectedBoardKey().split(":")[2])var e="Nova G1";this.setColour(vc),this.appendDummyInput().appendField(e).appendField(ge.Msg.MIXLY_MIXGO_NOVA_POTENTIAL_NUM),this.setOutput(!0,Number),this.setInputsInline(!0)}},yc={init:function(){if("mixgo_nova"==Ce.Boards.getSelectedBoardKey().split(":")[2])var e="Nova G1";this.setColour(vc),this.appendValueInput("PIN").appendField(e).appendField(ge.Msg.MOTOR_DC).appendField(ge.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Direction).appendField(new ge.FieldDropdown([[ge.Msg.CLOCKWISE,"CW"],[ge.Msg.ANTI_CLOCKWISE,"CCW"],[ge.Msg.MOTOR_P,"P"],[ge.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},xc={init:function(){if("mixgo_nova"==Ce.Boards.getSelectedBoardKey().split(":")[2])var e="Nova G1";this.setColour(vc),this.appendValueInput("PIN").appendField(e).appendField(ge.Msg.SET_USB),this.appendValueInput("percent").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_POWER_SUPPLY),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},bc={init:function(){if("mixgo_nova"==Ce.Boards.getSelectedBoardKey().split(":")[2])var e="Nova G1";this.setColour(vc),this.appendDummyInput().appendField(e).appendField(ge.Msg.MIXLY_SPK_STATE).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_ON,"True"],[ge.Msg.MIXLY_OFF,"False"]]),"state"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Vc=100,Bc={init:function(){this.setColour(Vc),this.appendValueInput("I2CSUB").appendField(ge.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_SETUP+ge.Msg.LISTS_SET_INDEX_INPUT_TO).appendField("PE GX"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Gc={init:function(){this.setColour(Vc),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MIXGO_CAR_BATTERY_LEFT),this.setOutput(!0,Number),this.setInputsInline(!0)}},Uc={init:function(){this.setColour(Vc),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField(ge.Msg.MOTOR_DC).appendField(ge.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Direction).appendField(new ge.FieldDropdown([[ge.Msg.CLOCKWISE,"CW"],[ge.Msg.ANTI_CLOCKWISE,"CCW"],[ge.Msg.MOTOR_P,"P"],[ge.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},wc={init:function(){this.setColour(Vc),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField(ge.Msg.MOTOR_DC).appendField(ge.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(ge.Msg.MIXLY_STEPPER_GET_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},Hc={init:function(){this.setColour(Vc),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField("180°"+ge.Msg.MIXLY_SERVO).appendField(ge.Msg.LCD_NUMBERING),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_SERVO_MOVE)}},kc={init:function(){this.setColour(Vc),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField("360°"+ge.Msg.MIXLY_SERVO).appendField(ge.Msg.LCD_NUMBERING),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_SERVO_SPEED_TOOLIPS)}},Wc={init:function(){this.setColour(Vc),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField("180°"+ge.Msg.MIXLY_SERVO),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET+ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},Kc={init:function(){this.setColour(Vc),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField("360°"+ge.Msg.MIXLY_SERVO).appendField(ge.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET+ge.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},Jc="#A58C5B",Qc={init:function(){this.setColour(Jc),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_BUTTON).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_IS_PRESSED),this.appendValueInput("STAT").appendField(ge.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_SENOR_IS_PRESSED)}},zc={init:function(){this.setColour(Jc),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_BUTTON).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_WAS_PRESSED),this.appendValueInput("STAT").appendField(ge.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_SENOR_WAS_PRESSED)}},qc={init:function(){this.setColour(Jc),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_BUTTON).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET_PRESSES),this.appendValueInput("VAR").setCheck(Number).appendField(ge.Msg.MIXLY_GET_PRESSES_TIME),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ge.Msg.PROCEDURES_DEFRETURN_RETURN+ge.Msg.MIXLY_BUTTON+ge.Msg.MIXLY_GET_PRESSES)}},jc={init:function(){this.setColour(Jc),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_BUTTON).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MODE).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[ge.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[ge.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(ge.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_INOUT_ATTACHINTERRUPT)}},$c={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_shake,"shake"],[ge.Msg.MIXLY_UP,"up"],[ge.Msg.MIXLY_DOWN,"down"],[ge.Msg.MIXLY_LEFT,"left"],[ge.Msg.MIXLY_RIGHT,"right"],[ge.Msg.MIXLY_MICROBIT_face_up,"face up"],[ge.Msg.MIXLY_MICROBIT_face_down,"face down"],[ge.Msg.MIXLY_MICROBIT_freefall,"freefall"],["3g","3g"],["6g","6g"],["8g","8g"]]),"gesture"),this.appendStatementInput("DO").appendField(ge.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("gesture"),i=ge.Msg.MIXLY_MICROBIT_JS_CURRENT,n=ge.Msg.MSG.catSensor,s=ge.Msg.MIXLY_MICROBIT_JS_STATE,_=ge.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:ge.Msg.MIXLY_MICROBIT_shake,up:ge.Msg.MIXLY_UP,down:ge.Msg.MIXLY_DOWN,left:ge.Msg.MIXLY_LEFT,right:ge.Msg.MIXLY_RIGHT,"face up":ge.Msg.MIXLY_MICROBIT_face_up,"face down":ge.Msg.MIXLY_MICROBIT_face_down,freefall:ge.Msg.MIXLY_MICROBIT_freefall,"3g":"3g","6g":"6g","8g":"8g"}[t]+_}))}},Zc={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_ADXL345).setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new ge.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key"),i=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=ge.Msg.MIXLY_MICROBIT_Direction,s=ge.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":ge.Msg.MIXLY_MICROBIT_Shiliang_Direction}[t]+n+s}))}},eg={init:function(){this.setColour(Jc),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_JS_LIGHT_LEVEL),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_SENSOR_LIGHT_LEVEL_TOOLTIP)}},tg={init:function(){this.setColour(Jc),this.appendValueInput("PIN",Number).appendField(new ge.FieldDropdown([["DHT11","DHT11"],["DHT22","DHT22"]]),"TYPE").appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(new ge.FieldDropdown(tg.METHOD),"WHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("WHAT");return{temperature:ge.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM,relative_humidity:ge.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_HUM,tempandhum:ge.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM_HUM}[t]}))},METHOD:[[ge.Msg.MIXLY_GETTEMPERATUE,"temperature"],[ge.Msg.MIXLY_GETHUMIDITY,"humidity"]]},ig={init:function(){this.setColour(Jc),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_EXTERN_LIGHT),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ge.Msg.ESP32_SENSOR_NIXGO_LIGHT_TOOLTIP)}},ng={init:function(){this.setColour(Jc),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_EXTERN_SOUND),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ge.Msg.ESP32_SENSOR_NIXGO_SOUND_TOOLTIP)}},sg={init:function(){this.setColour(Jc),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new ge.FieldDropdown([[ge.Msg.TEXT_TRIM_LEFT,"left"],[ge.Msg.TEXT_TRIM_RIGHT,"right"]]),"direction").appendField(ge.Msg.MIXLY_ESP32_NEAR),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("direction"),i=ge.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP,n=ge.Msg.MIXLY_ESP32_NEAR;return i+{left:ge.Msg.TEXT_TRIM_LEFT,right:ge.Msg.TEXT_TRIM_RIGHT}[t]+n}))}},_g={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_ALTITUDE_SENSOR+" BMP280").setCheck("var"),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_GETTEMPERATUE,"get_BMP_temperature()"],[ge.Msg.MIXLY_GETPRESSURE,"get_BMP_pressure()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key");return{"get_BMP_temperature()":ge.Msg.MIXLY_MICROBIT_SENSOR_BMP_temperature_TOOLTIP,"get_BMP_pressure()":ge.Msg.MIXLY_MICROBIT_SENSOR_BMP_press_TOOLTIP}[t]}))}},og={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+" SHT20").setCheck("var"),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_GETTEMPERATUE,"get_SHT_temperature()"],[ge.Msg.MIXLY_GETHUMIDITY,"get_SHT_relative_humidity()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key");return{"get_SHT_temperature()":ge.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,"get_SHT_relative_humidity()":ge.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[t]}))}},pg={init:function(){this.setColour(Jc),this.appendValueInput("PIN",Number).appendField("DS18X20 "+ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(ge.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(ge.Msg.MIXLY_MICROBIT_SENSOR_DS18X20_TOOLTIP)}},ag={init:function(){this.setColour(Jc),this.appendDummyInput("").appendField("LM35"+ge.Msg.MIXLY_TEMP),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(ge.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_LM35)}},ug={init:function(){this.setColour(Jc),this.appendValueInput("I2CSUB").appendField(ge.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_SETUP+ge.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_ESP32_EXTERN_LIGHT+"(LTR308ALS)","LTR308"],[ge.Msg.MIXLY_COLOR_SENSOR+"(LTR381RGB)","LTR381RGB"],[ge.Msg.MIXLY_COLOR_SENSOR+"(UCS12071)","UCS12071"],[ge.Msg.MIXLY_EXTERN_LIGHTUV+"(LTR390UV)","LTR390UV"],[ge.Msg.MIXLY_ALTITUDE_SENSOR+"(HP203X)","HP203X"],[ge.Msg.MIXLY_ALTITUDE_SENSOR+"(SPL06_001)","SPL06_001"],[ge.Msg.MIXLY_ALTITUDE_SENSOR+"(MS5611)","MS5611"],[ge.Msg.MIXLY_ALTITUDE_SENSOR+"(BMP280)","BMP280"],[ge.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(SHTC3)","SHTC3"],[ge.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(AHT21)","AHT21"],[ge.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(SHT20)","SHT20"],[ge.Msg.MIXLY_LASER_RANGE_SENSOR+"(VL53L0X)","VL53L0X"],[ge.Msg.MIXLY_GEOMAGNETIC_SENSOR+"(QMC5883L)","QMC5883L"],[ge.Msg.MIXLY_ESP32_MAX30102+"(MAX30102)","MAX30102"],[ge.Msg.HTML_COLOUR+"、"+ge.Msg.MIXLY_ENVIRONMENT_LIGHT+"、"+ge.Msg.MIXLY_NEXT+"、"+ge.Msg.MIXLY_ESP32_APDS9960+"(APDS9960)","APDS9960"],[ge.Msg.MIXLY_NINE_AXIS_SENSOR+"(MPU9250)","MPU9250"],[ge.Msg.MixGo_MPU9250+"(ADXL345)","ADXL345"],["RFID","RFID"],[ge.Msg.MIXLY_RADAR_SENSOR+"(CBR817)","CBR817"],[ge.Msg.MIXLY_AipSpeech_asr+"(CI130X)","CI130X"],[ge.Msg.MIXLY_TVOC_CO2_SENSOR+"(AGS10)","AGS10"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},rg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_RADAR+"CBR817").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.LISTS_SET_INDEX_SET+ge.Msg.MIXlY_INTERACTION),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_DETECTION_THRESHOLD),this.appendValueInput("VAR2").appendField(ge.Msg.MIXLY_DELAY_TIME),this.appendDummyInput().appendField("ms"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_THRESHOLD_TOOLTIP+" ; "+ge.Msg.MIXLY_DELAY_TIME_RANGE)}},lg={init:function(){this.setColour(Jc),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RADAR).appendField(ge.Msg.LISTS_SET_INDEX_SET+ge.Msg.MIXlY_INTERACTION),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_DETECTION_THRESHOLD),this.appendValueInput("VAR2").appendField(ge.Msg.MIXLY_DELAY_TIME),this.appendDummyInput().appendField("ms"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_THRESHOLD_TOOLTIP+" ; "+ge.Msg.MIXLY_DELAY_TIME_RANGE)}},dg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_RADAR+"CBR817").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_GET_TO_INTERACTION),this.setOutput(!0),this.setInputsInline(!0)}},Ig={init:function(){this.setColour(Jc),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RADAR).appendField(ge.Msg.MIXLY_GET_TO_INTERACTION),this.setOutput(!0),this.setInputsInline(!0)}},Tg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_IDENTIFY_ONCE_AND_SAVE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Mg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_GET).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_HELLO_XIAOZHI,"1"],[ge.Msg.MIXLY_XIAOZHIXIAOZHI,"2"],[ge.Msg.MIXLY_THE_FIRST,"3"],[ge.Msg.MIXLY_THE_SECOND,"4"],[ge.Msg.MIXLY_THE_THIRD,"5"],[ge.Msg.MIXLY_THE_FOURTH,"6"],[ge.Msg.MIXLY_THE_FIFTH,"7"],[ge.Msg.MIXLY_THE_SIXTH,"8"],[ge.Msg.MIXLY_THE_SEVENTH,"9"],[ge.Msg.MIXLY_THE_EIGHTH,"10"],[ge.Msg.MIXLY_THE_NINTH,"11"],[ge.Msg.MIXLY_THE_TENTH,"12"],[ge.Msg.MIXLY_THE_ELEVENTH,"13"],[ge.Msg.MIXLY_THE_TWELFTH,"14"],[ge.Msg.MIXLY_THE_13TH,"15"],[ge.Msg.MIXLY_THE_14TH,"16"],[ge.Msg.MIXLY_THE_15TH,"17"],[ge.Msg.MIXLY_THE_16TH,"18"],[ge.Msg.MIXLY_THE_17TH,"19"],[ge.Msg.MIXLY_THE_18TH,"20"],[ge.Msg.MIXLY_THE_19TH,"21"],[ge.Msg.MIXLY_THE_20TH,"22"],[ge.Msg.MIXLY_Turn_on_the_lights,"23"],[ge.Msg.MIXLY_Turn_off_the_lights,"24"],[ge.Msg.MIXLY_Turn_up_the_brightness,"25"],[ge.Msg.MIXLY_Turn_down_the_brightness,"26"],[ge.Msg.MIXLY_Set_it_to_red,"27"],[ge.Msg.MIXLY_Set_it_to_orange,"28"],[ge.Msg.MIXLY_Set_it_to_yellow,"29"],[ge.Msg.MIXLY_Set_it_to_green,"30"],[ge.Msg.MIXLY_Set_it_to_cyan,"31"],[ge.Msg.MIXLY_Set_it_to_blue,"32"],[ge.Msg.MIXLY_Set_it_to_purple,"33"],[ge.Msg.MIXLY_Set_it_to_white,"34"],[ge.Msg.MIXLY_Turn_on_the_fan,"35"],[ge.Msg.MIXLY_Turn_off_the_fan,"36"],[ge.Msg.MIXLY_First_gear,"37"],[ge.Msg.MIXLY_Wind_speed_second,"38"],[ge.Msg.MIXLY_Third_gear,"39"],[ge.Msg.MIXLY_Previous,"40"],[ge.Msg.MIXLY_Next_page,"41"],[ge.Msg.MIXLY_Show_smiley_face,"42"],[ge.Msg.MIXLY_Show_crying_face,"43"],[ge.Msg.MIXLY_Show_love,"44"],[ge.Msg.MIXLY_Close_display,"45"],[ge.Msg.MIXLY_Start_execution,"46"],[ge.Msg.MIXLY_FORWARD,"47"],[ge.Msg.MIXLY_BACKWARD,"48"],[ge.Msg.MIXLY_TURNLEFT,"49"],[ge.Msg.MIXLY_TURNRIGHT,"50"],[ge.Msg.MIXLY_STOP,"51"],[ge.Msg.MIXLY_Accelerate,"52"],[ge.Msg.MIXLY_retard,"53"],[ge.Msg.ROTATION_FORWARD,"54"],[ge.Msg.ROTATION_BACKWARD,"55"],[ge.Msg.MIXLY_Query_temperature,"56"],[ge.Msg.MIXLY_Query_humidity,"57"],[ge.Msg.MIXLY_Query_brightness,"58"],[ge.Msg.MIXLY_Query_sound,"59"],[ge.Msg.MIXLY_Query_time,"60"],[ge.Msg.MIXLY_Query_distance,"61"],[ge.Msg.MIXLY_Query_pressure,"62"],[ge.Msg.MIXLY_Query_key,"63"],[ge.Msg.MIXLY_Query_touch,"64"],[ge.Msg.MIXLY_Query_color,"65"]]),"cmd").appendField(ge.Msg.MIXLY_WHETHER+ge.Msg.MIXLY_BE_IDENTIFIED),this.setOutput(!0),this.setInputsInline(!0)}},hg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_GET).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_RECOGNIZED_STATE,"status1"],[ge.Msg.MIXLY_WHETHER_BROADCAST,"status2"],[ge.Msg.MIXLY_THE_RECOGNIZED_CMD,"result"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_CI130X_GET_THE_RECOGNIZED_STATE_TOOLTIP)}},mg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MP3_PLAY).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"],[ge.Msg.MIXLY_WIND_SPEED,"154"],[ge.Msg.MIXLY_HYETAL,"155"],[ge.Msg.MIXLY_TEMPERATURE,"156"],[ge.Msg.MIXLY_Humidity,"157"],[ge.Msg.MIXLY_Altitude,"158"],[ge.Msg.MIXLY_SOUND,"159"],[ge.Msg.MIXLY_BRIGHTNESS,"160"],[ge.Msg.ME_GO_HALL_SENSOR_DISTANCE,"161"],[ge.Msg.MIXLY_SERVO,"162"],[ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"163"],[ge.Msg.MIXLY_BUTTON2,"164"],[ge.Msg.MIXLY_ESP32_TOUCH,"165"],[ge.Msg.MIXLY_PAY,"166"],[ge.Msg.MIXLY_CARSH_CHANGE,"167"],[ge.Msg.MIXLY_COUNTDOWN,"168"],[ge.Msg.MIXLY_TIMING,"169"],[ge.Msg.MIXLY_AT_THE_MOMENT,"170"],[ge.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE,"171"],[ge.Msg.MIXLY_FORWARD,"172"],[ge.Msg.MIXLY_BACKWARD,"173"],[ge.Msg.MIXLY_TURNLEFT,"174"],[ge.Msg.MIXLY_TURNRIGHT,"175"],[ge.Msg.MIXLY_STOP,"176"],[ge.Msg.MIXLY_Accelerate,"177"],[ge.Msg.MIXLY_retard,"178"],[ge.Msg.ROTATION_FORWARD,"179"],[ge.Msg.ROTATION_BACKWARD,"180"],[ge.Msg.TUPLE_JOIN,"181"],[ge.Msg.MIXLY_SHOW,"182"],[ge.Msg.MIXLY_LAMPLIGHT,"183"],[ge.Msg.MIXLY_ACCELERATION,"184"]]),"star"),this.appendValueInput("NUM").appendField(ge.Msg.MIXLY_NUMBER),this.appendDummyInput("").appendField(ge.Msg.MIXLY_UNIT).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"],[ge.Msg.MIXLY_YEAR,"117"],[ge.Msg.MIXLY_MONTH,"118"],[ge.Msg.MIXLY_DAY,"119"],[ge.Msg.MIXLY_HOUR,"120"],[ge.Msg.MIXLY_MINUTE,"121"],[ge.Msg.MIXLY_SECOND,"122"],[ge.Msg.MIXLY_WEEK2,"123"],[ge.Msg.MIXLY_RMB_UNIT,"124"],[ge.Msg.blockpy_setheading_degree,"125"],[ge.Msg.MIXLY_GEAR,"126"],[ge.Msg.MIXLY_LAYER,"127"],[ge.Msg.MIXLY_GRAM,"128"],[ge.Msg.MIXLY_METER,"129"],[ge.Msg.MIXLY_CENTIMETER,"130"],[ge.Msg.MIXLY_MILLIMETER,"131"],[ge.Msg.MIXLY_LUMEN,"132"],[ge.Msg.MIXLY_DECIBEL,"133"],[ge.Msg.MIXLY_hectopascal,"134"],[ge.Msg.MIXLY_PERCENT,"135"],[ge.Msg.MIXLY_CELSIUS,"136"],[ge.Msg.MIXLY_METER_PER_SEC,"137"],[ge.Msg.MIXLY_MICROBIT_Turn_on_display,"138"],[ge.Msg.MIXLY_MICROBIT_Turn_off_display,"139"],[ge.Msg.MIXLY_SUCCESS,"140"],[ge.Msg.MIXLY_FAILED,"141"],[ge.Msg.MIXLY_WRONG,"142"],[ge.Msg.MIXLY_GOOD,"143"],[ge.Msg.MIXLY_blockpy_set_add,"144"],[ge.Msg.MIXLY_DECREASE,"145"],[ge.Msg.COLOUR_RGB_RED,"146"],[ge.Msg.COLOUR_RGB_ORANGE,"147"],[ge.Msg.COLOUR_YELLOW,"148"],[ge.Msg.COLOUR_RGB_GREEN,"149"],[ge.Msg.COLOUR_CYAN,"150"],[ge.Msg.COLOUR_RGB_BLUE,"151"],[ge.Msg.COLOUR_RGB_PURPLE,"152"],[ge.Msg.COLOUR_RGB_WHITE,"153"]]),"end"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Eg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.LISTS_SET_INDEX_SET+ge.Msg.MIXLY_SYSTEM+ge.Msg.MIXLY_CMD).appendField(new ge.FieldDropdown([[ge.Msg.MILXY_ENTER_WAKE_UP,"1"],[ge.Msg.MIXLY_INCREASE_VOLUME,"202"],[ge.Msg.MIXLY_REDUCE_VOLUME,"203"],[ge.Msg.MIXLY_MAX_VOLUME,"204"],[ge.Msg.MIXLY_MINIMUM,"205"],[ge.Msg.MIXLY_OPEN_RESPONSE,"206"],[ge.Msg.MIXLY_CLOSE_RESPONSE,"207"],[ge.Msg.MIXLY_QUIT_WAKE_UP,"208"]]),"cmd"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Og={init:function(){this.setColour(Jc),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_MAX30102+" MAX30102"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_ESP32_MAX30102_IR,"[0]"],[ge.Msg.MIXLY_ESP32_MAX30102_RED,"[1]"],[ge.Msg.MIXLY_ESP32_MAX30102_IR+","+ge.Msg.MIXLY_ESP32_MAX30102_RED,""]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Rg={init:function(){this.setColour(Jc),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_APDS9960+" APDS9960"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_ESP32_APDS9960_COLOR,"color"],[ge.Msg.MIXLY_ESP32_APDS9960_GESTURE,"gesture"],[ge.Msg.MIXLY_ESP32_APDS9960_APPROACH,"proximity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},cg={init:function(){this.setColour(Jc),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_EXTERN_LIGHT+" LTR308ALS"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET_LIGHT_INTENSITY),this.setOutput(!0,Number),this.setInputsInline(!0)}},gg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.HTML_COLOUR+ge.Msg.MSG.catSensor+" LTR381RGB").setCheck("var"),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_GET+ge.Msg.HTML_COLOUR,"[2]"],[ge.Msg.MIXLY_GET+ge.Msg.MIXLY_IR_STRENGTH,"[1]"],[ge.Msg.MIXLY_GET+ge.Msg.MIXLY_LIGHT_STRENGTH,"[0]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Cg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.HTML_COLOUR+ge.Msg.MSG.catSensor+" UCS12071").setCheck("var"),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_GET+"RGB"+ge.Msg.HTML_COLOUR,"0"],[ge.Msg.MIXLY_GET+ge.Msg.MIXLY_RGB_RAW,"1"],[ge.Msg.MIXLY_GET_ENV_LIGHT+ge.Msg.MIXLY_BRIGHTNESS,"2"],[ge.Msg.GET_IR_STRENGTH+ge.Msg.MIXLY_BRIGHTNESS,"3"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Sg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_EXTERN_LIGHTUV+" LTR390UV").setCheck("var"),this.appendDummyInput().appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_GET_ENV_LIGHT,"E"],[ge.Msg.MIXLY_GET_ULTRAVIOLET,"U"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Ag={init:function(){this.setColour(Jc),this.appendDummyInput().appendField(ge.Msg.MIXLY_LASER_RANGE+" VL53L0X"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET_DISTANCE+"(mm)"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Lg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_TEM_HUM+" SHTC3").setCheck("var"),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_GETTEMPERATUE,"temperature"],[ge.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key");return{temperature:ge.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,humidity:ge.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[t]}))}},Ng={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_TEM_HUM+" AHT21").setCheck("var"),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_GETTEMPERATUE,"temperature"],[ge.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key");return{temperature:ge.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,relative_humidity:ge.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[t]}))}},Dg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_Altitude+ge.Msg.MSG.catSensor+" HP203X").setCheck("var"),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_GETPRESSURE,"pressure()"],[ge.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[ge.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},fg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_Altitude+ge.Msg.MSG.catSensor+" SPL06_001").setCheck("var"),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_GETPRESSURE,"pressure()"],[ge.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[ge.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Fg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_Altitude+ge.Msg.MSG.catSensor+" MS5611").setCheck("var"),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_GETPRESSURE,"pressure()"],[ge.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[ge.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Pg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_Altitude+ge.Msg.MSG.catSensor+" MS5611").setCheck("var"),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_REF_TO_PRESSURE),this.appendDummyInput().appendField(ge.Msg.MIXLY_CAL_TO_ALTITUDE),this.setOutput(!0,Number),this.setInputsInline(!0)}},Yg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_MIXGOPE_FIELD+ge.Msg.MSG.catSensor+" QMC5883L").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_GET).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"get_bearing()"],[ge.Msg.MIXLY_TEMPERATURE,"get_temp()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},vg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_shake,"shake"],[ge.Msg.MIXLY_UP,"up"],[ge.Msg.MIXLY_DOWN,"down"],[ge.Msg.MIXLY_LEFT,"left"],[ge.Msg.MIXLY_RIGHT,"right"],[ge.Msg.MIXLY_MICROBIT_face_up,"face up"],[ge.Msg.MIXLY_MICROBIT_face_down,"face down"]]),"gesture"),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("gesture"),i=ge.Msg.MIXLY_MICROBIT_JS_CURRENT,n=ge.Msg.MSG.catSensor,s=ge.Msg.MIXLY_MICROBIT_JS_STATE,_=ge.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:ge.Msg.MIXLY_MICROBIT_shake,up:ge.Msg.MIXLY_UP,down:ge.Msg.MIXLY_DOWN,left:ge.Msg.MIXLY_LEFT,right:ge.Msg.MIXLY_RIGHT,"face up":ge.Msg.MIXLY_MICROBIT_face_up,"face down":ge.Msg.MIXLY_MICROBIT_face_down}[t]+_}))}},Xg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new ge.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key"),i=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=ge.Msg.MIXLY_MICROBIT_Direction,s=ge.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":ge.Msg.MIXLY_MICROBIT_Shiliang_Direction}[t]+n+s}))}},yg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_JS_GET+ge.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH).appendField(new ge.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key"),i=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=ge.Msg.MIXLY_MICROBIT_Direction,s=ge.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH;return i+{x:"x",y:"y",z:"z","(x,y,z)":ge.Msg.MIXLY_MICROBIT_Shiliang_Direction}[t]+n+s}))}},xg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+ge.Msg.MIXLY_ESP32_SENOR_GYRO).appendField(new ge.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key"),i=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=ge.Msg.MIXLY_MICROBIT_Direction,s=ge.Msg.MIXLY_ESP32_SENOR_GYRO;return i+{x:"x",y:"y",z:"z","(x,y,z)":ge.Msg.MIXLY_MICROBIT_Shiliang_Direction}[t]+n+s}))}},bg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS)}},Vg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_GETTEMPERATUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_GETTEMPERATUE)}},Bg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_JS_GET_COMPASS).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,"strength"],[ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"heading"]]),"compass"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("compass");return ge.Msg.MIXLY_MICROBIT_JS_GET_COMPASS+{strength:ge.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,heading:ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE}[t]}))}},Gg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Reset_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MICROBIT_Reset_COMPASS)}},Ug={init:function(){this.setColour(Jc),this.appendValueInput("SPISUB").appendField(ge.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_SETUP+ge.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new ge.FieldDropdown([["RFID","RFID"],["WS-LoRa","Weather"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setFieldValue("RFID","key")}},wg={init:function(){this.setColour(Jc),this.appendDummyInput().appendField("RFID"+ge.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(ge.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_RFID_READ_CARD_UID,"id"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"content"],[ge.Msg.MIXLY_ALL,"ALL"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Hg={init:function(){this.setColour(Jc),this.appendDummyInput().appendField("RFID"+ge.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RFID_READ_CARD_UID),this.setOutput(!0,Number),this.setInputsInline(!0)}},kg={init:function(){this.setColour(Jc),this.appendDummyInput().appendField("RFID"+ge.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(ge.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},Wg={init:function(){this.setColour(Jc),this.appendDummyInput().appendField(ge.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(ge.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(ge.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Kg={init:function(){this.setColour(Jc),this.appendDummyInput().appendField(ge.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(ge.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(ge.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(ge.Msg.RETURN_SUCCESS_OR_NOT),this.setInputsInline(!0),this.setOutput(!0,Boolean)}},Jg={init:function(){this.setColour(Jc),this.appendDummyInput().appendField("RFID"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_RFID_SCAN_OK,"0"],[ge.Msg.MIXLY_RFID_SCAN_NOTAGERR,"1"],[ge.Msg.MIXLY_RFID_SCAN_ERROR,"2"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Qg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_GET).appendField(new ge.FieldDropdown([["全部(元组)","data()[0]"],["全部(json)","data()[1]"],["全部(json,附带位置信息)","data()[2]"],["编号","data()[0][0]"],["电量","data()[0][1]"],["风速","data()[0][2]"],["阵风","data()[0][3]"],["风向","data()[0][4]"],["雨量","data()[0][5]"],["温度","data()[0][6]"],["湿度","data()[0][7]"],["光照","data()[0][8]"],["紫外线","data()[0][9]"],["大气压","data()[0][10]"],["信号强度","data()[0][11]"],["信噪比","data()[0][12]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip("返回气象数据元组 data= (设备id,电池状态,风速m/s,阵风m/s,风向°,雨量mm,温度℃,湿度%,光照Lux,UVI,大气压Pa,信号强度dB,信噪比dB)")}},zg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_SERIAL_AVAILABLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},qg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendValueInput("BASE").appendField("以主题"),this.appendDummyInput("").appendField("串口发送至MixIO"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},jg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.itemCount_=2,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new ge.icons.MutatorIcon(["weather_set_label_item"],this)),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip()},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("weather_set_label_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;n>6),i.push(128|63&_)):(2048<=_&&_<=55295||57344<=_&&_<=65535)&&(n+=3,i.push(224|15&_>>12),i.push(128|63&_>>6),i.push(128|63&_))}for(s=0;s>8,255&n].concat(i)}(e,!0),i="",n=0;n=0?"0x700000":["mixgo_sant"].indexOf(n)>=0?"0xE00000":"0x3A0000","32x12 Matrix"==o?(t.definitions_.import_matrix32x12="import matrix32x12",i=s+" = matrix32x12.Matrix("+_+", font_address="+p+")\n"):"16x8 Matrix"==o&&(t.definitions_.import_matrix16x8="import matrix16x8",i=s+" = matrix16x8.Matrix("+_+")\n"),i},Tv=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},Mv=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", space="+t.valueToCode(this,"space",t.ORDER_ASSIGNMENT)+", center="+this.getFieldValue("center")+")\n"},hv=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".frame("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},mv=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".frame("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", delay="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+")\n"},Ev=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},Ov=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", speed="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+", space="+t.valueToCode(this,"space",t.ORDER_ASSIGNMENT)+")\n"},Rv=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},cv=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+"."+e.getFieldValue("OP")+"("+t.valueToCode(e,"val",t.ORDER_ATOMIC)+")\n"},gv=function(e,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".pixel(int("+t.valueToCode(e,"x",t.ORDER_ATOMIC)+"), int("+t.valueToCode(e,"y",t.ORDER_ATOMIC)+"))",t.ORDER_ATOMIC]},Cv=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return i+".pixel(int("+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+"), int("+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+"), "+t.valueToCode(this,"STAT",t.ORDER_ATOMIC)+")\n"+i+".show()\n"},Sv=function(e,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".get_brightness()",t.ORDER_ATOMIC]},Av=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".set_brightness("+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+")\n"},Lv=function(e,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+"."+e.getFieldValue("image"),t.ORDER_ATOMIC]},Nv=function(e,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".map_"+e.getFieldValue("OP")+"("+t.valueToCode(e,"A",t.ORDER_ATOMIC)+", "+t.valueToCode(e,"B",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Dv=function(e,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".map_invert("+t.valueToCode(e,"A",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},fv=function(e,t){t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var i=t.valueToCode(this,"I2CSUB",t.ORDER_ATOMIC);return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+" = ssd1306.SSD1306_I2C("+t.valueToCode(this,"row",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"column",t.ORDER_ATOMIC)+", "+i+")\n"},Fv=function(e,t){return t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".show_str("+(t.valueToCode(this,"Text_line1",t.ORDER_ASSIGNMENT)||"''")+", "+(t.valueToCode(this,"Text_line2",t.ORDER_ASSIGNMENT)||"''")+", "+(t.valueToCode(this,"Text_line3",t.ORDER_ASSIGNMENT)||"''")+", "+(t.valueToCode(this,"Text_line4",t.ORDER_ASSIGNMENT)||"''")+")\n"},Pv=function(e,t){return t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".show_line("+t.valueToCode(this,"x1",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"y1",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"x2",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"y2",t.ORDER_ATOMIC)+", 1)\n"},Yv=function(e,t){t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var i=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),n=t.valueToCode(this,"x",t.ORDER_ATOMIC),s=t.valueToCode(this,"y",t.ORDER_ATOMIC),_=t.valueToCode(this,"width",t.ORDER_ATOMIC),o=t.valueToCode(this,"height",t.ORDER_ATOMIC),p="TRUE"==this.getFieldValue("fill")?"True":"False",a=this.getFieldValue("OP");switch(p){case"True":return i+".show_fill_rect("+n+", "+s+", "+_+", "+o+", "+a+")\n";case"False":return i+".show_rect("+n+", "+s+", "+_+", "+o+", "+a+")\n"}},vv=function(e,t){t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var i=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),n=t.valueToCode(this,"x",t.ORDER_ATOMIC),s=t.valueToCode(this,"y",t.ORDER_ATOMIC),_=t.valueToCode(this,"length",t.ORDER_ATOMIC);return i+".show_"+this.getFieldValue("direction")+"("+n+", "+s+", "+_+", 1)\n"},Xv=function(e,t){return["ON"==this.getFieldValue("ONOFF")?"1":"0",t.ORDER_ATOMIC]},yv=function(e,t){t.definitions_.import_matrix="import matrix";var i=e.getFieldValue("OP");return[t.valueToCode(e,"img",t.ORDER_ATOMIC)+".shift_"+i+"("+t.valueToCode(e,"val",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},xv=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return t.definitions_.import_ssd1306="import ssd1306",t.definitions_.import_machine="import machine",i+".show_fill("+this.getFieldValue("key")+")\n"},bv=function(e,t){return["matrix.Image."+this.getFieldValue("ANIMATION"),t.ORDER_ATOMIC]},Vv=function(e,t){var i=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var n=t.valueToCode(this,"x",t.ORDER_ATOMIC),s=t.valueToCode(this,"y",t.ORDER_ATOMIC),_=t.valueToCode(this,"r",t.ORDER_ATOMIC),o="TRUE"==this.getFieldValue("fill")?"True":"False",p=this.getFieldValue("OP");switch(o){case"True":return i+".show_fill_circle("+n+", "+s+", "+_+", "+p+")\n";case"False":return i+".show_circle("+n+", "+s+", "+_+", "+p+")\n"}},Bv=function(e,t){var i=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var n=t.valueToCode(this,"x0",t.ORDER_ATOMIC),s=t.valueToCode(this,"y0",t.ORDER_ATOMIC),_=t.valueToCode(this,"x1",t.ORDER_ATOMIC),o=t.valueToCode(this,"y1",t.ORDER_ATOMIC),p=t.valueToCode(this,"x2",t.ORDER_ATOMIC),a=t.valueToCode(this,"y2",t.ORDER_ATOMIC),u="TRUE"==this.getFieldValue("fill")?"True":"False",r=this.getFieldValue("OP");switch(u){case"True":return i+".show_fill_triangle("+n+", "+s+", "+_+", "+o+", "+p+", "+a+", "+r+")\n";case"False":return i+".show_triangle("+n+", "+s+", "+_+", "+o+", "+p+", "+a+", "+r+")\n"}},Gv=function(e,t){return t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".show_bitmap("+t.valueToCode(this,"START_X",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"START_Y",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"bitmap_name",t.ORDER_ATOMIC)+","+t.valueToCode(this,"WIDTH",t.ORDER_ATOMIC)+","+t.valueToCode(this,"HEIGHT",t.ORDER_ATOMIC)+")\n"},Uv=function(e,t){return t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".show_pixel("+t.valueToCode(this,"POS_X",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"POS_Y",t.ORDER_ATOMIC)+")\n"},wv=function(e,t){var i,n=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),s=t.valueToCode(this,"CLK",t.ORDER_ATOMIC),_=t.valueToCode(this,"DIO",t.ORDER_ATOMIC),o=this.getFieldValue("key");return"TM1650"==o?(t.definitions_.import_tm1650="import tm1650",i=n+" = tm1650."+o+"(clk="+s+",dio="+_+")\n"):"TM1637"==o&&(t.definitions_.import_tm1637="import tm1637",i=n+" = tm1637."+o+"(clk="+s+",dio="+_+")\n"),i},Hv=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+"."+this.getFieldValue("STAT")+"()\n"},kv=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".shownum("+t.valueToCode(this,"VALUE",t.ORDER_ATOMIC)+")\n"},Wv=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".showDP("+t.valueToCode(this,"NO",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"STAT",t.ORDER_ATOMIC)+")\n"},Kv=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".intensity("+t.valueToCode(this,"VALUE",t.ORDER_ATOMIC)+")\n"},Jv=function(e,t){t.definitions_.import_st7789="import st7789";var i=Ce.Boards.getSelectedBoardKey().split(":")[2],n="";n=["mpython","mixgo_pe","mixgo_nova"].indexOf(i)>=0?"0x700000":["mixgo_sant"].indexOf(i)>=0?"0xE00000":"0x3A0000";var s=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),_=t.valueToCode(this,"SPISUB",t.ORDER_ATOMIC),o=t.valueToCode(this,"PINCS",t.ORDER_ATOMIC),p=t.valueToCode(this,"PINDC",t.ORDER_ATOMIC);return s+" = st7789.ST7789("+_+", "+t.valueToCode(this,"WIDTH",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"HEIGHT",t.ORDER_ATOMIC)+", dc_pin="+p+", cs_pin="+o+", rotation="+this.getFieldValue("rotate")+", font_address="+n+")\n"},Qv=function(e,t){t.definitions_.import_st7789="import st7789";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".image("+n+", x="+s+", y="+_+", size="+o+", color="+p+")\n";else{const e=p.match(/\d+/g);var u="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");a=i+".image("+n+", x= "+s+",y="+_+", size="+o+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},zv=function(e,t){var i="0x"+this.getFieldValue("COLOR").slice(1);return["0x"+((16252928&i)>>8|(64512&i)>>5|(255&i)>>3).toString(16),t.ORDER_ATOMIC]},qv=function(e,t){t.definitions_.import_st7789="import st7789";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),a=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),u=this.getFieldValue("center");if("0x"==a.slice(0,2))var r=i+".shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+u+", color="+a+")\n";else{const e=a.match(/\d+/g);var l="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");r=i+".shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+u+", color=0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+")\n"}return r},jv=function(e,t){t.definitions_.import_st7789="import st7789";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==o.slice(0,2))var p=i+".frame("+n+", size="+s+", delay="+_+", color="+o+")\n";else{const e=o.match(/\d+/g);var a="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");p=i+".frame("+n+", size="+s+", delay="+_+", color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},$v=function(e,t){t.definitions_.import_st7789="import st7789";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),a=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u=i+".scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color="+a+")\n";else{const e=a.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u=i+".scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},Zv=function(e,t){return t.definitions_.import_st7789="import st7789",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".fill(st7789."+this.getFieldValue("key")+")\n"},eX=function(e,t){t.definitions_.import_st7789="import st7789";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"x1",t.ORDER_ATOMIC),s=t.valueToCode(this,"y1",t.ORDER_ATOMIC),_=t.valueToCode(this,"x2",t.ORDER_ATOMIC),o=t.valueToCode(this,"y2",t.ORDER_ATOMIC),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".line("+n+", "+s+", "+_+", "+o+", color="+p+")\n";else{const e=p.match(/\d+/g);var u="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");a=i+".line("+n+", "+s+", "+_+", "+o+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},tX=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"I2CSUB",t.ORDER_ATOMIC),s=this.getFieldValue("key"),_=t.valueToCode(this,"ADDR",t.ORDER_ATOMIC);return t.definitions_.import_i2clcd="import i2clcd",i+" = i2clcd.LCD("+n+", lcd_width="+s+", i2c_addr="+_+")\n"},iX=function(e,t){return t.definitions_.import_i2clcd="import i2clcd",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", column="+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+", line="+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+",center = "+this.getFieldValue("center")+")\n"},nX=function(e,t){return t.definitions_.import_i2clcd="import i2clcd",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".print("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", column="+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+", line="+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+", delay="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+")\n"},sX=function(e,t){return t.definitions_.import_i2clcd="import i2clcd",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".backlight("+this.getFieldValue("key")+")\n"},_X=function(e,t){return t.definitions_.import_i2clcd="import i2clcd",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".clear()\n"},oX=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"I2CSUB",t.ORDER_ATOMIC),s=t.valueToCode(this,"ADDR",t.ORDER_ATOMIC),_=this.getFieldValue("driver"),o=Ce.Boards.getSelectedBoardKey().split(":")[2],p="";return p=["mpython","mixgo_pe","mixgo_nova"].indexOf(o)>=0?"0x700000":["mixgo_sant"].indexOf(o)>=0?"0xE00000":"0x3A0000",t.definitions_.import_oled128x64="import oled128x64",i+" = oled128x64.OLED("+n+", address="+s+", font_address="+p+", types="+_+")\n"},pX=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".image("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},aX=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".image("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", x="+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+", y="+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+", size="+t.valueToCode(this,"size",t.ORDER_ASSIGNMENT)+")\n"},uX=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},rX=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", x="+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+", y="+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+", size="+t.valueToCode(this,"size",t.ORDER_ASSIGNMENT)+", space="+t.valueToCode(this,"space",t.ORDER_ASSIGNMENT)+", center="+this.getFieldValue("center")+")\n"},lX=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".frame("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},dX=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".frame("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", size="+t.valueToCode(this,"size",t.ORDER_ASSIGNMENT)+", delay="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+")\n"},IX=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},TX=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", y="+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+", size="+t.valueToCode(this,"size",t.ORDER_ASSIGNMENT)+", speed="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+", space="+t.valueToCode(this,"space",t.ORDER_ASSIGNMENT)+")\n"},MX=function(e,t){t.definitions_.import_oled128x64="import oled128x64";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},hX=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+"."+e.getFieldValue("OP")+"("+t.valueToCode(e,"val",t.ORDER_ATOMIC)+")\n"},mX=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".pixel(int("+t.valueToCode(e,"x",t.ORDER_ATOMIC)+"), int("+t.valueToCode(e,"y",t.ORDER_ATOMIC)+"))",t.ORDER_ATOMIC]},EX=function(e,t){t.definitions_.import_oled128x64="import oled128x64";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return i+".pixel(int("+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+"), int("+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+"), "+t.valueToCode(this,"STAT",t.ORDER_ATOMIC)+")\n"+i+".show()\n"},OX=function(e,t){t.definitions_.import_oled128x64="import oled128x64";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(e,"x",t.ORDER_ATOMIC),s=t.valueToCode(e,"y",t.ORDER_ATOMIC),_=t.valueToCode(e,"w",t.ORDER_ATOMIC),o=t.valueToCode(e,"h",t.ORDER_ATOMIC),p=e.getFieldValue("state");return i+"."+e.getFieldValue("shape")+"("+n+", "+s+", "+_+", "+o+", "+p+")\n"+i+".show()\n"},RX=function(e,t){t.definitions_.import_oled128x64="import oled128x64";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(e,"x",t.ORDER_ATOMIC),s=t.valueToCode(e,"y",t.ORDER_ATOMIC),_=t.valueToCode(e,"length",t.ORDER_ATOMIC),o=e.getFieldValue("state");return i+"."+("0"==e.getFieldValue("dir_h_v")?"v":"h")+"line("+n+", "+s+", "+_+", "+o+")\n"+i+".show()\n"},cX=function(e,t){t.definitions_.import_oled128x64="import oled128x64";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return i+".line("+t.valueToCode(e,"x1",t.ORDER_ATOMIC)+", "+t.valueToCode(e,"y1",t.ORDER_ATOMIC)+", "+t.valueToCode(e,"x2",t.ORDER_ATOMIC)+", "+t.valueToCode(e,"y2",t.ORDER_ATOMIC)+", "+e.getFieldValue("state")+")\n"+i+".show()\n"},gX=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT);if("Python ESP32-S3"===Ce.JSFuncs.getPlatform()){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var s="onboard_tft.image("+(n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT))+", color=0xffff,sync="+(t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True")+")\n"}else if("educore"==i){t.definitions_["import_"+i+"_oled"]="from "+i+" import oled";s="oled.print("+n+")\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";s="onboard_matrix.shows("+n+")\n"}return s},CX=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),_=this.getFieldValue("center");if("mixgo_sant"==i||"mixgo_nova"==i||"mixgo_soar"==i)return t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.shows("+n+", space="+s+", center="+_+",sync="+(t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True")+")\n";if("educore"==i){t.definitions_["import_"+i+"_oled"]="from "+i+" import oled"}return t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.shows("+n+", space="+s+", center="+_+")\n"},SX=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){t.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var s="onboard_oled.frame("+n+")\n"}else if("Python ESP32-S3"===Ce.JSFuncs.getPlatform()){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";s="onboard_tft.frame("+(n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT))+", color=0xffff)\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";s="onboard_matrix.frame("+n+")\n"}return s},AX=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){t.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var _="onboard_oled.frame("+(n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT))+", delay="+s+")\n"}else if("Python ESP32-S3"===Ce.JSFuncs.getPlatform()){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";_="onboard_tft.frame("+n+", size=5 , delay="+s+", color=0xffff)\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";_="onboard_matrix.frame("+n+", delay="+s+")\n"}return _},LX=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];if("mpython"==i||"educore"==i){t.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var n="onboard_oled.scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"}else if("Python ESP32-S3"===Ce.JSFuncs.getPlatform()){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";n="onboard_tft.scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", color=0xffff)\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"}return n},NX=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){t.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var o="onboard_oled.scroll("+n+", speed="+s+", space="+_+")\n"}else if("Python ESP32-S3"===Ce.JSFuncs.getPlatform()){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";o="onboard_tft.scroll("+n+", y=0, size=5, speed="+s+", space="+_+", color=0xffff)\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";o="onboard_matrix.scroll("+n+", speed="+s+", space="+_+")\n"}return o},DX=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.scroll_way("+this.getFieldValue("way")+")\n"},fX=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),a=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u="onboard_tft.scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color="+a+")\n";else{const e=a.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u="onboard_tft.scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},FX=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix",["onboard_matrix."+e.getFieldValue("image"),t.ORDER_ATOMIC]},PX=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];if("Python ESP32-S3"===Ce.JSFuncs.getPlatform()){const i=e.getFieldValue("image").split(".");if(2!==i.length)throw Error("pin value error");t.definitions_[`import_${i[0]}_${i[1]}`]=`from ${i[0]} import ${i[1]}`;var n=i[1]}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix."+e.getFieldValue("image")}return[n,t.ORDER_ATOMIC]},YX=function(e,t){var i={"#000000":"0","#ff0000":"1"};function n(e){let t="";if(e.length%2==1&&(e="0"+e),e.length<8){let t=8-e.length;for(let i=1;i<=t;i++)e="0"+e}for(let i=1;i<=e.length;i++)i%2==0&&i!==e.length?t=t+e[i-1]+",0x":t+=e[i-1];return"0x"+t}let s=[];for(let t=0;t<12;t++){let _="",o=0,p=0;for(let n=0;n<32;n++)n<8?p=7-n:n<16?p=23-n:n<24?p=39-n:n<32&&(p=55-n),o+=Number(i[e.getFieldValue(t+"-"+n)])*Math.pow(2,31-p);_+=n(o.toString(16)),s.unshift(_)}let _=[];for(let e=0;e>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},hy=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.picture("+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+","+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+","+t.valueToCode(this,"direct",t.ORDER_ASSIGNMENT)+")\n"},my=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),a=this.getFieldValue("center"),u=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True",r=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==r.slice(0,2))var l="onboard_tft.shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+a+", color="+r+",sync="+u+")\n";else{const e=r.match(/\d+/g);var d="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");l="onboard_tft.shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+a+", color=0x"+((16252928&d)>>8|(64512&d)>>5|(255&d)>>3).toString(16)+",sync="+u+")\n"}return l},Ey=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==o.slice(0,2))var p="onboard_tft.frame("+n+", size="+s+", delay="+_+", color="+o+")\n";else{const e=o.match(/\d+/g);var a="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");p="onboard_tft.frame("+n+", size="+s+", delay="+_+", color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},Oy=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(e,"x",t.ORDER_ATOMIC),s=t.valueToCode(e,"y",t.ORDER_ATOMIC),_=t.valueToCode(e,"w",t.ORDER_ATOMIC),o=t.valueToCode(e,"h",t.ORDER_ATOMIC),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),a=e.getFieldValue("shape"),u=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var r="onboard_tft."+a+"("+n+", "+s+", "+_+", "+o+", "+p+",sync="+u+")\n";else{const e=p.match(/\d+/g);var l="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");r="onboard_tft."+a+"("+n+", "+s+", "+_+", "+o+", 0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+",sync="+u+")\n"}return r},Ry=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(e,"x",t.ORDER_ATOMIC),s=t.valueToCode(e,"y",t.ORDER_ATOMIC),_=t.valueToCode(e,"length",t.ORDER_ATOMIC),o=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),p=e.getFieldValue("dir_h_v"),a=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==o.slice(0,2))var u="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+_+", "+o+",sync="+a+")\n";else{const e=o.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+_+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},cy=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(e,"x1",t.ORDER_ATOMIC),s=t.valueToCode(e,"y1",t.ORDER_ATOMIC),_=t.valueToCode(e,"x2",t.ORDER_ATOMIC),o=t.valueToCode(e,"y2",t.ORDER_ATOMIC),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),a=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var u="onboard_tft.line("+n+", "+s+", "+_+", "+o+", "+p+",sync="+a+")\n";else{const e=p.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u="onboard_tft.line("+n+", "+s+", "+_+", "+o+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},gy=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft",["onboard_tft.pixel(int("+t.valueToCode(e,"x",t.ORDER_ATOMIC)+"), int("+t.valueToCode(e,"y",t.ORDER_ATOMIC)+"))",t.ORDER_ATOMIC]},Cy=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),o=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==_.slice(0,2))var p="onboard_tft.pixel(int("+n+"), int("+s+"), "+_+",sync="+o+")\n";else{const e=_.match(/\d+/g);var a="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");p="onboard_tft.pixel(int("+n+"), int("+s+"), 0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+",sync="+o+")\n"}return p},Sy=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"VAR",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==n.slice(0,2))var _="onboard_tft.fill("+n+",sync="+s+")\n";else{const e=n.match(/\d+/g);var o="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");_="onboard_tft.fill(0x"+((16252928&o)>>8|(64512&o)>>5|(255&o)>>3).toString(16)+",sync="+s+")\n"}return _},Ay=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=o+"=Clock("+n+", "+s+", "+_+", "+p+")\n";else{const e=p.match(/\d+/g);var u="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");a=o+"=Clock("+n+", "+s+", "+_+", 0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},Ly=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT)+".set_rtctime()\n"},Ny=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT)+".set_time("+t.valueToCode(this,"h",t.ORDER_ASSIGNMENT)+", "+t.valueToCode(this,"m",t.ORDER_ASSIGNMENT)+", "+t.valueToCode(this,"s",t.ORDER_ASSIGNMENT)+")\n"},Dy=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT)+".draw_clock()\n"},fy=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==s.slice(0,2))var _=n+".clear("+s+")\n";else{const e=s.match(/\d+/g);var o="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");_=n+".clear(0x"+((16252928&o)>>8|(64512&o)>>5|(255&o)>>3).toString(16)+")\n"}return _},Fy=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(e,"x",t.ORDER_ATOMIC),s=t.valueToCode(e,"y",t.ORDER_ATOMIC),_=t.valueToCode(e,"r",t.ORDER_ATOMIC),o=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),p=e.getFieldValue("shape"),a=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==o.slice(0,2))var u="onboard_tft.ellipse("+n+", "+s+", "+_+", "+_+", "+o+", "+p+",sync="+a+")\n";else{const e=o.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u="onboard_tft.ellipse("+n+", "+s+", "+_+", "+_+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+", "+p+",sync="+a+")\n"}return u},Py=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];if("Python ESP32-S3"===Ce.JSFuncs.getPlatform()){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n="onboard_tft.pointern(angle="+t.valueToCode(this,"angle",t.ORDER_ASSIGNMENT)+")\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.pointern(angle="+t.valueToCode(this,"angle",t.ORDER_ASSIGNMENT)+")\n"}return n},Yy=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"angle",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==s.slice(0,2));else{const e=s.match(/\d+/g);var _="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");((16252928&_)>>8|(64512&_)>>5|(255&_)>>3).toString(16)}return"onboard_tft.pointern(angle="+n+")\n"},vy=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),a=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var u="onboard_tft.texts("+n+", x="+s+", y="+_+", size="+o+", color="+p+",sync="+a+")\n";else{const e=p.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u="onboard_tft.texts("+n+", x="+s+", y="+_+", size="+o+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},Xy=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.qrcode("+t.valueToCode(this,"direct",t.ORDER_ATOMIC)+")\n"},yy=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),a=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True",u=this.getFieldValue("correct");if("0x"==p.slice(0,2))var r="onboard_tft.qrcode("+n+",x="+s+",y="+_+",size="+o+",correct="+u+",color="+p+",sync="+a+")\n";else{const e=p.match(/\d+/g);var l="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");r="onboard_tft.qrcode("+n+",x="+s+",y="+_+",size="+o+",correct="+u+",color=0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+",sync="+a+")\n"}return r},xy=gX,by=UX,Vy=VX,By=UX,Gy=wX,Uy=XX,wy=function(e,t){var i=this.getFieldValue("path"),n=this.getFieldValue("module");return t.definitions_["import_"+i+"_"+n]="from "+i+" import "+n,""},Hy=function(e,t){var i=this.getFieldValue("module");return t.definitions_["import_"+i]="import "+i,""},ky=function(e,t){for(var i=this.getFieldValue("NAME"),n=new Array(this.itemCount_),s=0;s {\n"+t.statementToCode(this,"do")+"})\n"},Iw=function(){return"control.reset()\n"},Tw=function(e,t){return"control.waitMicros("+(t.valueToCode(this,"data",t.ORDER_ATOMIC)||Ce.Profile.default.serial)+")\n"},Mw=function(e,t){return"control.raiseEvent("+(t.valueToCode(this,"system_event_bus_source",t.ORDER_ATOMIC)||Ce.Profile.default.serial)+", "+(t.valueToCode(this,"system_event_bus_value",t.ORDER_ATOMIC)||Ce.Profile.default.serial)+")\n"},hw=function(e,t){return"control.onEvent("+(t.valueToCode(this,"system_event_bus_source",t.ORDER_ATOMIC)||Ce.Profile.default.serial)+", "+(t.valueToCode(this,"system_event_bus_value",t.ORDER_ATOMIC)||Ce.Profile.default.serial)+", () => {\n"+t.statementToCode(this,"do")+")\n"},mw=function(e,t){return["control.eventTimestamp()",t.ORDER_ATOMIC]},Ew=function(e,t){return["control.eventValue()",t.ORDER_ATOMIC]},Ow=function(e,t){return[this.getFieldValue("key"),t.ORDER_ATOMIC]},Rw=function(e,t){return[this.getFieldValue("key"),t.ORDER_ATOMIC]},cw=function(e,t){return["control.deviceName()",t.ORDER_ATOMIC]},gw=function(e,t){return["control.deviceSerialNumber()",t.ORDER_ATOMIC]},Cw=function(e,t){return"panic("+(t.valueToCode(this,"STATUS_CODE",t.ORDER_ATOMIC)||"1000")+")\n"},Sw=function(e,t){switch(t.definitions_.import_time="import time",this.getFieldValue("Time")){case"ms":return["time.ticks_ms()",t.ORDER_ATOMIC];case"us":return["time.ticks_us()",t.ORDER_ATOMIC]}},Aw=function(){return"while True:\n pass\n"},Lw=function(e,t){return t.definitions_.import_mixgo="import mixgo","reset()\n"},Nw=function(e,t){return t.definitions_.import_os="import os","os.uname()"},Dw=function(e,t){t.definitions_.import_time="import time";var i=t.valueToCode(this,"DELAY_TIME",t.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},fw=function(e,t){t.definitions_.import_time="import time";var i=t.valueToCode(this,"DELAY_TIME",t.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},Fw=function(e,t){return t.definitions_.import_mixgo="import mixgo",(t.valueToCode(this,"VAR",t.ORDER_NONE)||"None")+".init(period="+(t.valueToCode(this,"period",t.ORDER_NONE)||"0")+", mode=Timer."+(t.valueToCode(this,"mode",t.ORDER_NONE)||"None")+", callback="+(t.valueToCode(this,"callback",t.ORDER_NONE)||"None")+")\n"},Pw=function(e,t){return t.definitions_.import_machine="import machine",(t.valueToCode(this,"VAR",t.ORDER_NONE)||"None")+" = machine.Timer("+(t.valueToCode(this,"PIN",t.ORDER_NONE)||"None")+",period = "+(t.valueToCode(this,"period",t.ORDER_NONE)||"0")+", mode=machine.Timer."+this.getFieldValue("mode")+", callback="+(t.valueToCode(this,"callback",t.ORDER_NONE)||"None")+")\n"},Yw=function(e,t){return t.definitions_.import_time="import time",["time.ticks_diff("+(t.valueToCode(this,"END",t.ORDER_NONE)||"0")+", "+(t.valueToCode(this,"START",t.ORDER_NONE)||"0")+")",t.ORDER_ATOMIC]},vw=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return t.definitions_.import_machine="import machine",i+" = machine.Timer(0)\n"},Xw=function(e,t){return t.definitions_.import_machine="import machine",(t.valueToCode(this,"VAR",t.ORDER_NONE)||"None")+".init(period = "+(t.valueToCode(this,"period",t.ORDER_NONE)||"0")+", mode=machine.Timer."+this.getFieldValue("mode")+", callback="+(t.valueToCode(this,"callback",t.ORDER_NONE)||"None")+")\n"},yw=function(e,t){return t.definitions_.import_machine="import machine","wdt = machine.WDT(timeout= "+(t.valueToCode(this,"period",t.ORDER_NONE)||"0")+")\n"},xw=function(e,t){t.definitions_.import_machine="import machine";return"wdt.feed()\n"},bw=function(e,t){t.definitions_.import_machine="import machine";return"machine.reset()\n"},Vw=function(e,t){t.definitions_.import_bitbot_onboard_bot51="from bitbot import onboard_bot51";return"onboard_bot51.shutdown()\n"},Bw=vw,Gw=Xw,Uw=Yw,ww=Dw,Hw=function(e,t){return t.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+t.valueToCode(this,"key",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},kw=function(e,t){return t.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+t.valueToCode(this,"key",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"day",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Ww=function(e,t){return t.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api.weather_hourly("+t.valueToCode(this,"key",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"hour",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Kw=function(e,t){return t.definitions_["import_seniverse_api*"]="from seniverse_api import *",this.getFieldValue("mode")+".request("+t.valueToCode(this,"key",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+")\n"},Jw=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Weather_now.analysis()";else n='Weather_now.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},Qw=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Air_now.analysis()";else n='Air_now.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},zw=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Weather_alarm.analysis()";else n='Weather_alarm.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},qw=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Life_suggestion.analysis()";else n='Life_suggestion.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},jw=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Tide_daily.analysis()";else n='Tide_daily.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},$w=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Location_search.analysis()";else n='Location_search.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},Zw=function(e,t){return t.definitions_["import_seniverse_api*"]="from seniverse_api import *",this.getFieldValue("mode")+".request("+t.valueToCode(this,"key",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"day",t.ORDER_ATOMIC)+")\n"},eH=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=t.valueToCode(this,"day",t.ORDER_ATOMIC);if("none"==i)var s="Weather_daily.analysis("+n+")";else s="Weather_daily.analysis("+n+', "'+i+'")';return[s,t.ORDER_ATOMIC]},tH=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=t.valueToCode(this,"day",t.ORDER_ATOMIC);if("none"==i)var s="Air_daily.analysis("+n+")";else s="Air_daily.analysis("+n+', "'+i+'")';return[s,t.ORDER_ATOMIC]},iH=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=t.valueToCode(this,"day",t.ORDER_ATOMIC);if("none"==i)var s="Geo_sun.analysis("+n+")";else s="Geo_sun.analysis("+n+', "'+i+'")';return[s,t.ORDER_ATOMIC]},nH=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=t.valueToCode(this,"day",t.ORDER_ATOMIC);if("none"==i)var s="Geo_moon.analysis("+n+")";else s="Geo_moon.analysis("+n+', "'+i+'")';return[s,t.ORDER_ATOMIC]},sH='
\r\n
{{-d.title}}
\r\n
\r\n {{# if (d.message) { }}\r\n

\r\n {{-d.message}}\r\n

\r\n {{# } }}\r\n
\r\n
',{XML:_H}=Ce,oH=_H.render(sH,{title:"烧录速度",message:"要选择烧录速度,请更改“Burn Speed”,此值将用于向设备烧录代码。如果在用较高的烧录速度时出现问题,请尝试减小此值,这可能是由于外部串行到USB芯片的限制。"}),{XML:pH}=Ce,aH=pH.render(sH,{title:"燒錄速度",message:"要選擇燒錄速度,請更改“Burn Speed”,此值將用於向設備燒錄程式碼。如果在用較高的燒錄速度時出現問題,請嘗試减小此值,這可能是由於外部串列到USB晶片的限制。"}),{XML:uH}=Ce,rH=uH.render(sH,{title:"Burn Speed",message:"To select the flashing speed, change the Burn Speed. This value will be used for flashing the code to the device. If you have issues while flashing the device at high speed, try to decrease this value. This could be due to the external serial-to-USB chip limitations."}),lH=new ge.Generator("Python");lH.INDENT=" ",lH.addReservedWords("False,None,True,and,as,assert,break,class,continue,def,del,elif,else,except,exec,finally,for,from,global,if,import,in,is,lambda,nonlocal,not,or,pass,print,raise,return,try,while,with,yield,NotImplemented,Ellipsis,__debug__,quit,exit,copyright,license,credits,ArithmeticError,AssertionError,AttributeError,BaseException,BlockingIOError,BrokenPipeError,BufferError,BytesWarning,ChildProcessError,ConnectionAbortedError,ConnectionError,ConnectionRefusedError,ConnectionResetError,DeprecationWarning,EOFError,Ellipsis,EnvironmentError,Exception,FileExistsError,FileNotFoundError,FloatingPointError,FutureWarning,GeneratorExit,IOError,ImportError,ImportWarning,IndentationError,IndexError,InterruptedError,IsADirectoryError,KeyError,KeyboardInterrupt,LookupError,MemoryError,ModuleNotFoundError,NameError,NotADirectoryError,NotImplemented,NotImplementedError,OSError,OverflowError,PendingDeprecationWarning,PermissionError,ProcessLookupError,RecursionError,ReferenceError,ResourceWarning,RuntimeError,RuntimeWarning,StandardError,StopAsyncIteration,StopIteration,SyntaxError,SyntaxWarning,SystemError,SystemExit,TabError,TimeoutError,TypeError,UnboundLocalError,UnicodeDecodeError,UnicodeEncodeError,UnicodeError,UnicodeTranslateError,UnicodeWarning,UserWarning,ValueError,Warning,ZeroDivisionError,_,__build_class__,__debug__,__doc__,__import__,__loader__,__name__,__package__,__spec__,abs,all,any,apply,ascii,basestring,bin,bool,buffer,bytearray,bytes,callable,chr,classmethod,cmp,coerce,compile,complex,copyright,credits,delattr,dict,dir,divmod,enumerate,eval,exec,execfile,exit,file,filter,float,format,frozenset,getattr,globals,hasattr,hash,help,hex,id,input,int,intern,isinstance,issubclass,iter,len,license,list,locals,long,map,max,memoryview,min,next,object,oct,open,ord,pow,print,property,quit,range,raw_input,reduce,reload,repr,reversed,round,set,setattr,slice,sorted,staticmethod,str,sum,super,tuple,type,unichr,unicode,vars,xrange,zip"),lH.ORDER_ATOMIC=0,lH.ORDER_COLLECTION=1,lH.ORDER_STRING_CONVERSION=1,lH.ORDER_UNARY_POSTFIX=1,lH.ORDER_UNARY_PREFIX=2,lH.ORDER_MEMBER=2.1,lH.ORDER_FUNCTION_CALL=2.2,lH.ORDER_EXPONENTIATION=3,lH.ORDER_UNARY_SIGN=4,lH.ORDER_BITWISE_NOT=4,lH.ORDER_MULTIPLICATIVE=5,lH.ORDER_ADDITIVE=6,lH.ORDER_BITWISE_SHIFT=7,lH.ORDER_BITWISE_AND=8,lH.ORDER_BITWISE_XOR=9,lH.ORDER_BITWISE_OR=10,lH.ORDER_RELATIONAL=11,lH.ORDER_EQUALITY=11,lH.ORDER_LOGICAL_NOT=12,lH.ORDER_LOGICAL_AND=13,lH.ORDER_LOGICAL_OR=14,lH.ORDER_ASSIGNMENT=14,lH.ORDER_CONDITIONAL=15,lH.ORDER_LAMBDA=16,lH.ORDER_NONE=99,lH.ORDER_OVERRIDES=[[lH.ORDER_FUNCTION_CALL,lH.ORDER_MEMBER],[lH.ORDER_FUNCTION_CALL,lH.ORDER_FUNCTION_CALL],[lH.ORDER_MEMBER,lH.ORDER_MEMBER],[lH.ORDER_MEMBER,lH.ORDER_FUNCTION_CALL]],lH.init=function(){lH.PASS=this.INDENT+"pass\n",lH.definitions_=Object.create(null),lH.functionNames_=Object.create(null),lH.setups_=Object.create(null),lH.loops_=Object.create(null),lH.codeEnd_=Object.create(null),lH.variableDB_?lH.variableDB_.reset():lH.variableDB_=new Ne(lH.RESERVED_WORDS_)},lH.finish=function(e){""!==e&&(e=(e=e.replace(/\n/g,"\n")).replace(/\n\s+$/,"\n"));var t=[],i=[],n=[];for(var s in this.definitions_){var _=this.definitions_[s];0===s.indexOf("import")?t.push(_):0===s.indexOf("var_declare")?i.push(_):n.push(_)}t.length&&t.push("\n"),i.length&&i.push("\n"),n.length&&n.push("\n");var o=[];for(var s in lH.functions_)o.push(lH.functions_[s]);o.length&&o.push("\n");var p=[];for(var s in lH.setups_)p.push(lH.setups_[s]);p.length&&p.push("\n");var a=[];for(var s in lH.loops_)a.push(lH.loops_[s]);var u=[];for(var s in lH.codeEnd_)u.push(lH.codeEnd_[s]);0!==u.length&&u.push("\n");let r="";return r=a.length>0?t.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+e+"while True:\n"+a.join("")+u.join("\n"):t.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+e+u.join("\n"),r},lH.scrubNakedValue=function(e){return e+"\n"},lH.quote_=function(e){var t="'";return-1!==(e=e.replace(/\\/g,"\\\\").replace(/\n/g,"\\\n")).indexOf("'")&&(-1===e.indexOf('"')?t='"':e=e.replace(/'/g,"\\'")),t+e+t},lH.multiline_quote_=function(e){return"'''"+(e=e.replace(/'''/g,"\\'\\'\\'"))+"'''"},lH.scrub_=function(e,t,i){var n="";if(!e.outputConnection||!e.outputConnection.targetConnection){(_=e.getCommentText())&&(_=ge.utils.string.wrap(_,lH.COMMENT_WRAP-3),n+=lH.prefixLines(_+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const dH={};dH["元控青春"]={description:"MicroPython[ESP32C3 MixGo CE]",digital_pin:Ce.Profile.generate(["0-18","21","33-48"]),input_pin:Ce.Profile.generate(["0-18","21","33-48"]),output_pin:Ce.Profile.generate(["0-18","21","33-48"]),pwm_input:Ce.Profile.generate(["0-18","21","33-48"],"pwm","pwm"),analog_input:Ce.Profile.generate(["1-18"],"adc","adc"),pwm_output:Ce.Profile.generate(["0-18","21","33-48"],"pwm","pwm"),analog_output:Ce.Profile.generate(["1-18"],"adc","adc"),espnow_channel:Ce.Profile.generate(["1-13"]),haskylens_model:Ce.Profile.generate(["0-4"]),digital:Ce.Profile.generate(["0-18","21","33-48"],"pin","pin"),pwm_pin:Ce.Profile.generate(["0-18","21","33-48"]),pwm:Ce.Profile.generate(["0-18","21","33-48"],"pwm","pwm"),analog_pin:Ce.Profile.generate(["1-18"]),analog:Ce.Profile.generate(["1-18"],"adc","adc"),touch:Ce.Profile.generate(["1-14"],"tc","tc"),touch_pin:Ce.Profile.generate(["1-14"]),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:Ce.Profile.generate(["0-4"]),exlcdh:Ce.Profile.generate(["0-15"]),exlcdv:Ce.Profile.generate(["0-7"]),brightness:Ce.Profile.generate(["0-9"]),tts_voice:Ce.Profile.generate(["0-16"]),tts_builtin_music:Ce.Profile.generate(["0-47"]),tts_bgmusic:Ce.Profile.generate(["0-15"]),builtinimg:[["Heart","expression_picture.Heart"],["Angry","expression_picture.Angry"],["Bored","expression_picture.Bored"],["Confused","expression_picture.Confused"],["Happy","expression_picture.Happy"],["Paper","expression_picture.Paper"],["Rock","expression_picture.Rock"],["Sad","expression_picture.Sad"],["Scissors","expression_picture.Scissors"],["Silly","expression_picture.Silly"],["Sleep","expression_picture.Sleep"],["Small_heart","expression_picture.Small_heart"],["Small_paper","expression_picture.Small_paper"],["Small_rock","expression_picture.Small_rock"],["Small_scissors","expression_picture.Small_scissors"],["Smile","expression_picture.Smile"],["Surprise","expression_picture.Surprise"],["Wonderful","expression_picture.Wonderful"],["Eyes_Angry","eye_picture.Eyes_Angry"],["Awake","eye_picture.Awake"],["Black_eye","eye_picture.Black_eye"],["Bottom_left","eye_picture.Bottom_left"],["Bottom_right","eye_picture.Bottom_right"],["Crazy_1","eye_picture.Crazy_1"],["Crazy_2","eye_picture.Crazy_2"],["Disappointed","eye_picture.Disappointed"],["Dizzy","eye_picture.Dizzy"],["Down","eye_picture.Down"],["Evil","eye_picture.Evil"],["Hurt","eye_picture.Hurt"],["Knocked_out","eye_picture.Knocked_out"],["Love","eye_picture.Love"],["Middle_left","eye_picture.Middle_left"],["Middle_right","eye_picture.Middle_right"],["Neutral","eye_picture.Neutral"],["Nuclear","eye_picture.Nuclear"],["Pinch_left","eye_picture.Pinch_left"],["Pinch_middle","eye_picture.Pinch_middle"],["Pinch_right","eye_picture.Pinch_right"],["Tear","eye_picture.Tear"],["Tired_left","eye_picture.Tired_left"],["Tired_middle","eye_picture.Tired_middle"],["Tired_right","eye_picture.Tired_right"],["Toxic","eye_picture.Toxic"],["Up","eye_picture.Up"],["Winking","eye_picture.Winking"],["Accept","informatio_picture.Accept"],["Backward","informatio_picture.Backward"],["Decline","informatio_picture.Decline"],["Forward","informatio_picture.Forward"],["Left","informatio_picture.Left"],["No_go","informatio_picture.No_go"],["Question_mark","informatio_picture.Question_mark"],["Right","informatio_picture.Right"],["Stop_1","informatio_picture.Stop_1"],["Stop_2","informatio_picture.Stop_2"],["Thumbs_down","informatio_picture.Thumbs_down"],["Thumbs_up","informatio_picture.Thumbs_up"],["Warning","informatio_picture.Warning"],["Bomb","object_picture.Bomb"],["Boom","object_picture.Boom"],["DOOR_CLOSE","object_picture.DOOR_CLOSE"],["DOOR_OPEN","object_picture.DOOR_OPEN"],["DOOR_OPENING","object_picture.DOOR_OPENING"],["Fire","object_picture.Fire"],["Flowers","object_picture.Flowers"],["Forest","object_picture.Forest"],["Lightning","object_picture.Lightning"],["Light_off","object_picture.Light_off"],["Light_on","object_picture.Light_on"],["Night","object_picture.Night"],["Pirate","object_picture.Pirate"],["Snow","object_picture.Snow"],["Target","object_picture.Target"],["Bar_0","progres_picture.Bar_0"],["Bar_1","progres_picture.Bar_1"],["Bar_2","progres_picture.Bar_2"],["Bar_3","progres_picture.Bar_3"],["Bar_4","progres_picture.Bar_4"],["Dial_0","progres_picture.Dial_0"],["Dial_1","progres_picture.Dial_1"],["Dial_2","progres_picture.Dial_2"],["Dial_3","progres_picture.Dial_3"],["Dial_4","progres_picture.Dial_4"],["Dots_0","progres_picture.Dots_0"],["Dots_1","progres_picture.Dots_1"],["Dots_2","progres_picture.Dots_2"],["Dots_3","progres_picture.Dots_3"],["Hourglass_0","progres_picture.Hourglass_0"],["Hourglass_1","progres_picture.Hourglass_1"],["Hourglass_2","progres_picture.Hourglass_2"],["Timer_0","progres_picture.Timer_0"],["Timer_1","progres_picture.Timer_1"],["Timer_2","progres_picture.Timer_2"],["Timer_3","progres_picture.Timer_3"],["Timer_4","progres_picture.Timer_4"],["Water_level_0","progres_picture.Water_level_0"],["Water_level_1","progres_picture.Water_level_1"],["Water_level_2","progres_picture.Water_level_2"],["Water_level_3","progres_picture.Water_level_3"],["YES","informatio_picture.YES"],["NO","informatio_picture.NO"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM","spk_midi.DADADADUM"],["ENTERTAINER","spk_midi.ENTERTAINER"],["PRELUDE","spk_midi.PRELUDE"],["ODE","spk_midi.ODE"],["NYAN","spk_midi.NYAN"],["RINGTONE","spk_midi.RINGTONE"],["FUNK","spk_midi.FUNK"],["BLUES","spk_midi.BLUES"],["BIRTHDAY","spk_midi.BIRTHDAY"],["WEDDING","spk_midi.WEDDING"],["FUNERAL","spk_midi.FUNERAL"],["PUNCHLINE","spk_midi.PUNCHLINE"],["PYTHON","spk_midi.PYTHON"],["BADDY","spk_midi.BADDY"],["CHASE","spk_midi.CHASE"],["BA_DING","spk_midi.BA_DING"],["WAWAWAWAA","spk_midi.WAWAWAWAA"],["JUMP_UP","spk_midi.JUMP_UP"],["JUMP_DOWN","spk_midi.JUMP_DOWN"],["POWER_UP","spk_midi.POWER_UP"],["POWER_DOWN","spk_midi.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]},dH["元控自强"]={description:"MicroPython[ESP32C3 MixGo CE]",digital_pin:Ce.Profile.generate(["0-18","21","33-48"]),input_pin:Ce.Profile.generate(["0-18","21","33-48"]),output_pin:Ce.Profile.generate(["0-18","21","33-48"]),pwm_input:Ce.Profile.generate(["0-18","21","33-48"],"pwm","pwm"),analog_input:Ce.Profile.generate(["1-18"],"adc","adc"),pwm_output:Ce.Profile.generate(["0-18","21","33-48"],"pwm","pwm"),analog_output:Ce.Profile.generate(["1-18"],"adc","adc"),espnow_channel:Ce.Profile.generate(["1-13"]),haskylens_model:Ce.Profile.generate(["0-4"]),digital:Ce.Profile.generate(["0-18","21","33-48"],"pin","pin"),pwm_pin:Ce.Profile.generate(["0-18","21","33-48"]),pwm:Ce.Profile.generate(["0-18","21","33-48"],"pwm","pwm"),analog_pin:Ce.Profile.generate(["1-20"]),analog:Ce.Profile.generate(["1-18"],"adc","adc"),touch:Ce.Profile.generate(["1-14"],"tc","tc"),touch_pin:Ce.Profile.generate(["1-14"]),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:Ce.Profile.generate(["0-4"]),exlcdh:Ce.Profile.generate(["0-15"]),exlcdv:Ce.Profile.generate(["0-7"]),brightness:Ce.Profile.generate(["0-9"]),tts_voice:Ce.Profile.generate(["0-16"]),tts_builtin_music:Ce.Profile.generate(["0-47"]),tts_bgmusic:Ce.Profile.generate(["0-15"]),builtinimg:dH["元控青春"].builtinimg,builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]},dH["ESP32S2 Generic"]={description:"MicroPython[ESP32C3 MixGo CC]",digital_pin:Ce.Profile.generate(["0-18","21","33-48"]),input_pin:Ce.Profile.generate(["0-18","21","33-48"]),output_pin:Ce.Profile.generate(["0-18","21","33-48"]),pwm_input:Ce.Profile.generate(["0-18","21","33-48"],"pwm","pwm"),analog_input:Ce.Profile.generate(["1-18"],"adc","adc"),pwm_output:Ce.Profile.generate(["0-18","21","33-48"],"pwm","pwm"),analog_output:Ce.Profile.generate(["1-18"],"adc","adc"),espnow_channel:Ce.Profile.generate(["1-13"]),haskylens_model:Ce.Profile.generate(["0-4"]),digital:Ce.Profile.generate(["0-18","21","33-48"],"pin","pin"),pwm_pin:Ce.Profile.generate(["0-18","21","33-48"]),pwm:Ce.Profile.generate(["0-18","21","33-48"],"pwm","pwm"),analog_pin:Ce.Profile.generate(["1-18"]),analog:Ce.Profile.generate(["1-18"],"adc","adc"),touch:Ce.Profile.generate(["1-14"],"tc","tc"),touch_pin:Ce.Profile.generate(["1-14"]),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:Ce.Profile.generate(["0-4"]),exlcdh:Ce.Profile.generate(["0-15"]),exlcdv:Ce.Profile.generate(["0-7"]),brightness:Ce.Profile.generate(["0-9"]),tts_voice:Ce.Profile.generate(["0-16"]),tts_builtin_music:Ce.Profile.generate(["0-47"]),tts_bgmusic:Ce.Profile.generate(["0-15"]),builtinimg:dH["元控青春"].builtinimg,builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM",".DADADADUM"],["ENTERTAINER",".ENTERTAINER"],["PRELUDE",".PRELUDE"],["ODE",".ODE"],["NYAN",".NYAN"],["RINGTONE",".RINGTONE"],["FUNK",".FUNK"],["BLUES",".BLUES"],["BIRTHDAY",".BIRTHDAY"],["WEDDING",".WEDDING"],["FUNERAL",".FUNERAL"],["PUNCHLINE",".PUNCHLINE"],["PYTHON",".PYTHON"],["BADDY",".BADDY"],["CHASE",".CHASE"],["BA_DING",".BA_DING"],["WAWAWAWAA",".WAWAWAWAA"],["JUMP_UP",".JUMP_UP"],["JUMP_DOWN",".JUMP_DOWN"],["POWER_UP",".POWER_UP"],["POWER_DOWN",".POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]};const IH=dH,TH=20,MH={init:function(){this.setColour(TH),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_HIGH,"HIGH"],[ge.Msg.MIXLY_LOW,"LOW"]]),"BOOL"),this.setOutput(!0,Boolean),this.setTooltip(ge.Msg.MIXLY_ESP32_INOUT_HIGHLOW_TOOLTIP)}},hH={init:function(){this.setColour(TH),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_Digital_PINMODEOUT).setCheck(Number),this.appendValueInput("STAT").appendField(ge.Msg.MIXLY_STAT).setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_INOUT_DIGITAL_WRITE_TOOLTIP)}},mH={init:function(){this.setColour(TH),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(ge.Msg.MIXLY_Digital_PINMODEIN).setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_MACHINE_VALUE),this.setInputsInline(!0),this.setOutput(!0,[Boolean,Number]),this.setTooltip(ge.Msg.MIXLY_ESP32_INOUT_DIGITAL_READ_TOOLTIP)}},EH={init:function(){this.setColour(TH),this.appendValueInput("PIN",Number).appendField("DAC"+ge.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendValueInput("NUM",Number).appendField(ge.Msg.MIXLY_VALUE2).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ge.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_TOOLTIP)}},OH={init:function(){this.setColour(TH),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_JS_PERIOD_MIL).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_mSecond,"period"],[ge.Msg.MIXLY_uSecond,"period_microseconds"]]),"key"),this.appendValueInput("NUM",Number).appendField(ge.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ge.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_SET_TOOLTIP)}},RH={init:function(){this.setColour(TH),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_Analog_PINMODEIN).setCheck(Number),this.appendDummyInput("").appendField(ge.Msg.MIXLY_ESP32_REF_VOLTAGE+ge.Msg.MIXLY_STAT).appendField(new ge.FieldDropdown([["3.3V","machine.ADC.ATTN_11DB"],["2.2V","machine.ADC.ATTN_6DB"],["1.5V","machine.ADC.ATTN_2_5DB"],["1.2V","machine.ADC.ATTN_0DB"]]),"atten"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ge.Msg.MIXLY_ESP32_INOUT_ANALOG_ATTEN_TOOLTIP)}},cH={init:function(){this.setColour(TH),this.appendValueInput("pin").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(ge.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_MACHINE_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_INOUT_PIN_PRESSED_TOOLTIP)}},gH={init:function(){this.setColour(20),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_ATTACHINTERRUPT_PIN).setCheck(Number),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MODE).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[ge.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[ge.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(ge.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_INOUT_PIN_ATTACHINTERRUPT_TOOLTIP)}},CH={init:function(){this.setColour(20),this.appendDummyInput().appendField(ge.Msg.MIXLY_SETUP).appendField(new ge.FieldTextInput("pin#"),"PIN_OBJ"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROPYTHON_AS).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_Digital_PINMODEOUT,"machine.Pin.OUT"],[ge.Msg.MIXLY_Digital_PINMODEIN,"machine.Pin.IN"],[ge.Msg.MIXLY_PINMODEPULLUP,"machine.Pin.IN, machine.Pin.PULL_UP"],[ge.Msg.MIXLY_PINMODEPULLDOWN,"machine.Pin.IN, machine.Pin.PULL_DOWN"]]),"MODE"),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_INOUT_DIGITAL_INIT_TOOLTIP)},getVars:function(){return["pin#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(e,t){ge.Names.equals(e,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(t,"PIN_OBJ")}},SH={init:function(){this.setColour(TH),this.appendDummyInput("").appendField(ge.Msg.MIXLY_SETUP).appendField(new ge.FieldTextInput("dac#"),"PIN_OBJ").appendField(ge.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField("DAC"+ge.Msg.MIXLY_Analog_PINMODEOUT),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ge.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_INIT_TOOLTIP)},getVars:function(){return["dac#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(e,t){ge.Names.equals(e,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(t,"PIN_OBJ")}},AH={init:function(){this.setColour(TH),this.appendDummyInput("").appendField(ge.Msg.MIXLY_SETUP).appendField(new ge.FieldTextInput("tc#"),"PIN_OBJ").appendField(ge.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField(ge.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ge.Msg.MIXLY_ESP32_INOUT_PIN_PRESSED_INIT_TOOLTIP)},getVars:function(){return["tc#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(e,t){ge.Names.equals(e,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(t,"PIN_OBJ")}},LH={init:function(){this.setColour(TH),this.appendValueInput("PIN",Number).appendField("PWM"+ge.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendValueInput("NUM",Number).appendField(ge.Msg.MIXLY_FREQUENCY+ge.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ge.Msg.MIXLY_ESP32_INOUT_PWM_ANALOG_WRITE_SET_FREQ_TOOLTIP)}},NH=CH,DH=AH,fH=cH,FH=gH,PH=230,YH={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.digital),"PIN"),this.setOutput(!0)}},vH={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.digital_pin),"PIN"),this.setOutput(!0,Number)}},XH={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.input_pin),"PIN"),this.setOutput(!0,Number)}},yH={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.output_pin),"PIN"),this.setOutput(!0,Number)}},xH={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.espnow_channel),"PIN"),this.setOutput(!0,Number)}},bH={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.haskylens_model),"PIN"),this.setOutput(!0,Number)}},VH={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.pwm_input),"PIN"),this.setOutput(!0)}},BH={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.analog_input),"PIN"),this.setOutput(!0)}},GH={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.pwm_output),"PIN"),this.setOutput(!0)}},UH={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.analog_output),"PIN"),this.setOutput(!0)}},wH={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.i2c_A_pin),"PIN"),this.setOutput(!0,Number)}},HH={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.i2c_B_pin),"PIN"),this.setOutput(!0,Number)}},kH={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.spi_A_pin),"PIN"),this.setOutput(!0,Number)}},WH={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.spi_B_pin),"PIN"),this.setOutput(!0,Number)}},KH={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.spi_C_pin),"PIN"),this.setOutput(!0,Number)}},JH={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.spi_D_pin),"PIN"),this.setOutput(!0,Number)}},QH={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.analog),"PIN"),this.setOutput(!0)}},zH={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.analog_pin),"PIN"),this.setOutput(!0,Number)}},qH={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.dac),"PIN"),this.setOutput(!0)}},jH={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.dac_pin),"PIN"),this.setOutput(!0,Number)}},$H={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.button),"PIN"),this.setOutput(!0,Number)}},ZH={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.buttonB),"PIN"),this.setOutput(!0,Number)}},ek={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.pwm),"PIN"),this.setOutput(!0)}},tk={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.pwm_pin),"PIN"),this.setOutput(!0,Number)}},ik={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.touch_pin),"PIN"),this.setOutput(!0,Number)}},nk={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.touch),"PIN"),this.setOutput(!0)}},sk={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.serial_pin),"PIN"),this.setOutput(!0,Number)}},_k={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.builtinimg),"PIN"),this.setOutput(!0,"esp32_image")}},ok={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.builtinimg_extern),"PIN"),this.setOutput(!0,"esp32_image")}},pk={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.imglist),"PIN"),this.setOutput(!0)}},ak={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.playlist),"PIN"),this.setOutput(!0)}},uk={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.playlist_extern),"PIN"),this.setOutput(!0)}},rk={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.exlcdh),"PIN"),this.setOutput(!0,Number)}},lk={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.exlcdv),"PIN"),this.setOutput(!0,Number)}},dk={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.axis),"PIN"),this.setOutput(!0,Number)}},Ik={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.brightness),"PIN"),this.setOutput(!0,Number)}},Tk={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.tts_voice),"PIN"),this.setOutput(!0,Number)}},Mk={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.tts_builtin_music),"PIN"),this.setOutput(!0,Number)}},hk={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.tts_bgmusic),"PIN"),this.setOutput(!0,Number)}},mk={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.tone_notes),"PIN"),this.setOutput(!0,Number)}},Ek={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.radio_power),"PIN"),this.setOutput(!0,Number)}},Ok={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.radio_datarate),"PIN"),this.setOutput(!0,Number)}},Rk={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.one_more),"PIN"),this.setOutput(!0)}},ck={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.digital_dot),"PIN"),this.setOutput(!0,Number)}},gk={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown([["0","0"],["1","1"],["2","2"],["3","3"]]),"PIN"),this.setOutput(!0,Number)}},Ck={init:function(){if("mixgo_me"==Ce.Boards.getSelectedBoardKey().split(":")[2])var e="ME G1";this.setColour(40),this.appendDummyInput().appendField(e).appendField("RFID"+ge.Msg.MIXLY_RFID_READ_CARD),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RFID_READ_CARD_UID),this.setOutput(!0,Number),this.setInputsInline(!0)}},Sk={init:function(){if("mixgo_me"==Ce.Boards.getSelectedBoardKey().split(":")[2])var e="ME G1";this.setColour(40),this.appendDummyInput().appendField(e).appendField("RFID"+ge.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SECTOR").appendField(ge.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL),this.setOutput(!0,Number),this.setInputsInline(!0)}},Ak={init:function(){if("mixgo_me"==Ce.Boards.getSelectedBoardKey().split(":")[2])var e="ME G1";this.setColour(40),this.appendDummyInput().appendField(e).appendField(ge.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SECTOR").appendField(ge.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(ge.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Lk={init:function(){if("mixgo_me"==Ce.Boards.getSelectedBoardKey().split(":")[2])var e="ME G1";this.setColour(40),this.appendDummyInput().appendField(e).appendField(ge.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SECTOR").appendField(ge.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(ge.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(ge.Msg.RETURN_SUCCESS_OR_NOT),this.setInputsInline(!0),this.setOutput(!0)}},Nk={init:function(){if("mixgo_me"==Ce.Boards.getSelectedBoardKey().split(":")[2])var e="ME G1";this.setColour(40),this.appendDummyInput().appendField(e).appendField("RFID"),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_RFID_SCAN_OK,"True"],[ge.Msg.MIXLY_RFID_SCAN_NOTAGERR,"None"],[ge.Msg.MIXLY_RFID_SCAN_ERROR,"False"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Dk=function(e,t){return["HIGH"==this.getFieldValue("BOOL")?"1":"0",t.ORDER_ATOMIC]},fk=function(e,t){t.definitions_.import_machine="import machine";var i="";return i+=t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+".value("+t.valueToCode(this,"STAT",t.ORDER_ATOMIC)+")\n"},Fk=function(e,t){t.definitions_.import_machine="import machine";return[t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+".value()",t.ORDER_ATOMIC]},Pk=function(e,t){return t.definitions_.import_machine="import machine",t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+".write("+t.valueToCode(this,"NUM",t.ORDER_ATOMIC)+")\n"},Yk=function(e,t){t.definitions_.import_machine="import machine";var i=t.valueToCode(this,"PIN",t.ORDER_ATOMIC),n=t.valueToCode(this,"NUM",t.ORDER_ATOMIC);return i+".set_analog_"+this.getFieldValue("key")+"("+n+")\n"},vk=function(e,t){return t.definitions_.import_machine="import machine",[t.valueToCode(this,"pin",t.ORDER_ATOMIC)+".read()",t.ORDER_ATOMIC]},Xk=function(e,t){t.definitions_.import_machine="import machine";var i=t.valueToCode(this,"PIN",t.ORDER_ATOMIC),n=this.getFieldValue("mode");return"machine.Pin("+i+").irq(handler = "+t.valueToCode(this,"DO",t.ORDER_ATOMIC)+", trigger = "+n+")\n"},yk=function(e,t){t.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"pin#",n=t.valueToCode(this,"PIN",t.ORDER_ATOMIC),s=this.getFieldValue("MODE");return("pin#"==i?"pin"+n:t.variableDB_.getName(i,ge.Variables.NAME_TYPE))+" = machine.Pin("+n+", "+s+")\n"},xk=function(e,t){t.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"dac#",n=t.valueToCode(this,"PIN",t.ORDER_ATOMIC);return("dac#"==i?"dac"+n:t.variableDB_.getName(i,ge.Variables.NAME_TYPE))+" = machine.DAC(machine.Pin("+n+"))\n"},bk=function(e,t){return t.definitions_.import_machine="import machine",t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+".atten("+this.getFieldValue("atten")+")\n"},Vk=function(e,t){t.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"tc#",n=t.valueToCode(this,"PIN",t.ORDER_ATOMIC);return("tc#"==i?"tc"+n:t.variableDB_.getName(i,ge.Variables.NAME_TYPE))+" = machine.TouchPad(machine.Pin("+n+"))\n"},Bk=function(e,t){return[this.getFieldValue("PIN"),t.ORDER_ATOMIC]},Gk=Bk,Uk=Bk,wk=Bk,Hk=Bk,kk=Bk,Wk=Bk,Kk=Bk,Jk=Bk,Qk=Bk,zk=Bk,qk=Bk,jk=Bk,$k=Bk,Zk=Bk,eW=Bk,tW=Bk,iW=Bk,nW=Bk,sW=Bk,_W=Bk,oW=Bk,pW=Bk,aW=Bk,uW=Bk,rW=Bk,lW=Bk,dW=Bk,IW=Bk,TW=Bk,MW=Bk,hW=Bk,mW=Bk,EW=Bk,OW=Bk,RW=Bk,cW=Bk,gW=Bk,CW=Bk,SW=Bk,AW=Bk,LW=Bk,NW=Bk,DW=Bk,fW=Bk,FW=function(e,t){const i=this.getFieldValue("PIN").split(".");if(2!==i.length)throw Error("pin value error");return t.definitions_[`import_${i[0]}_${i[1]}`]=`from ${i[0]} import ${i[1]}`,[i[1],t.ORDER_ATOMIC]},PW=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_mini"==i){t.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var n='ext_rfid.read_card(0, x="id")'}else if("mixgo_sant"==i){t.definitions_.import_sant_gx_ext_rfid="from sant_gx import ext_rfid";n='ext_rfid.read_card(0, x="id")'}else{t.definitions_.import_mini_g2="import mini_g2";n='mini_g2.ext_rc522.read_card(0, x="id")'}return[n,t.ORDER_ATOMIC]},YW=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"SECTOR",t.ORDER_ATOMIC);if("mixgo_mini"==i){t.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var s="ext_rfid.read_card("+n+")"}else if("mixgo_sant"==i){t.definitions_.import_sant_gx_ext_rfid="from sant_gx import ext_rfid";s="ext_rfid.read_card("+n+")"}else{t.definitions_.import_mini_g2="import mini_g2";s="mini_g2.ext_rc522.read_card("+n+")"}return[s,t.ORDER_ATOMIC]},vW=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"SECTOR",t.ORDER_ATOMIC),s=t.valueToCode(this,"CONTENT",t.ORDER_ATOMIC);if("mixgo_mini"==i){t.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var _="ext_rfid.write_card("+s+","+n+")\n"}else if("mixgo_sant"==i){t.definitions_.import_sant_gx_ext_rfid="from sant_gx import ext_rfid";_="ext_rfid.write_card("+s+","+n+")\n"}else{t.definitions_.import_mini_g2="import mini_g2";_="mini_g2.ext_rc522.write_card("+s+","+n+")\n"}return _},XW=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"SECTOR",t.ORDER_ATOMIC),s=t.valueToCode(this,"CONTENT",t.ORDER_ATOMIC);if("mixgo_mini"==i){t.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var _="ext_rfid.write_card("+s+","+n+")"}else if("mixgo_sant"==i){t.definitions_.import_sant_gx_ext_rfid="from sant_gx import ext_rfid";_="ext_rfid.write_card("+s+","+n+")"}else{t.definitions_.import_mini_g2="import mini_g2";_="mini_g2.ext_rc522.write_card("+s+","+n+")"}return[_,t.ORDER_ATOMIC]},yW=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2],n=this.getFieldValue("key");if("mixgo_mini"==i){t.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var s="ext_rfid.scan_card()=="+n}else if("mixgo_sant"==i){t.definitions_.import_sant_gx_ext_rfid="from sant_gx import ext_rfid";s="ext_rfid.scan_card()=="+n}else{t.definitions_.import_mini_g2="import mini_g2";s="mini_g2.ext_rc522.scan_card()=="+n}return[s,t.ORDER_ATOMIC]};Object.assign(ge.Variables,Ae),Object.assign(ge.Procedures,Uu),Object.assign(ge.Lang.ZhHans,Ie),Object.assign(ge.Lang.ZhHant,Te),Object.assign(ge.Lang.En,Me),ge.Python=wu,ge.generator=wu,Ce.Profile.default={},Object.assign(Ce.Profile,IH),Object.assign(Ce.Profile.default,IH["元控青春"]),Object.assign(ge.Blocks,t,i,n,s,_,o,p,a,u,r,l,d,I,b,W,k,v,V,K,f,P,H,w,U,B,F,D,N,y,X,x,Y,G,he,me,Ee),Object.assign(ge.Python.forBlock,T,M,h,m,E,O,R,c,g,C,S,A,L,ne,le,re,Z,se,de,z,q,ue,ae,pe,_e,j,Q,J,te,ee,ie,$,oe,Oe,Re,ce)})(); \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/main.bundle.c2d250b7.js b/boards/default/micropython_esp32s3/main.bundle.c2d250b7.js deleted file mode 100644 index dae45ac2..00000000 --- a/boards/default/micropython_esp32s3/main.bundle.c2d250b7.js +++ /dev/null @@ -1,21 +0,0 @@ -(()=>{"use strict";var e={d:(t,i)=>{for(var n in i)e.o(i,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:i[n]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};e.r(t),e.d(t,{controls_type:()=>ve,controls_typeLists:()=>Xe,lists_zip:()=>ye,lists_zip_container:()=>xe,lists_zip_item:()=>be,unpack_iterable_object:()=>Ve,variables_change:()=>Pe,variables_get:()=>fe,variables_global:()=>Ye,variables_set:()=>Fe});var i={};e.r(i),e.d(i,{base_setup:()=>Ue,controls_delay:()=>we,controls_end_program:()=>He,controls_except:()=>it,controls_finally:()=>nt,controls_flow_statements:()=>ze,controls_for:()=>qe,controls_forEach:()=>Ke,controls_for_range:()=>je,controls_if:()=>ke,controls_if_else:()=>et,controls_if_elseif:()=>Ze,controls_if_if:()=>$e,controls_lambda:()=>_t,controls_main:()=>Ge,controls_pass:()=>ot,controls_range:()=>We,controls_repeat_ext:()=>st,controls_thread:()=>pt,controls_try:()=>tt,controls_try_finally:()=>Qe,controls_whileUntil:()=>Je,datetime_fromtimestamp:()=>It,do_while:()=>at,garbage_collection:()=>ut,gene_unique_identifier:()=>Tt,get_mem_alloc:()=>rt,get_mem_free:()=>lt,get_unique_identifier:()=>dt});var n={};e.r(n),e.d(n,{base_map:()=>yt,generate_cartesian_product:()=>bt,math_arithmetic:()=>Ot,math_bit:()=>ct,math_constant:()=>mt,math_constant_mp:()=>Et,math_constrain:()=>Dt,math_dec:()=>Ct,math_degree_to_radian:()=>Bt,math_indexer_number:()=>Ft,math_map:()=>ft,math_max_min:()=>At,math_number:()=>ht,math_number_base_conversion:()=>Lt,math_radian_to_degree:()=>Vt,math_random:()=>Nt,math_random_seed:()=>Pt,math_round:()=>Yt,math_selfcalcu:()=>Rt,math_to_int:()=>St,math_trig:()=>gt,text_to_number:()=>vt,text_to_number_skulpt:()=>Xt,turn_to_int:()=>xt});var s={};e.r(s),e.d(s,{ascii_to_char:()=>Kt,char_to_ascii:()=>Jt,number_to_text:()=>Qt,os_system:()=>Oi,text:()=>Ut,text_bytes:()=>Ht,text_capital:()=>ni,text_center:()=>si,text_char:()=>kt,text_char_at:()=>jt,text_char_at2:()=>qt,text_char_at3:()=>Mi,text_compareTo:()=>Ti,text_compare_to:()=>ii,text_create_with_container:()=>li,text_create_with_item:()=>di,text_encode:()=>mi,text_equals_starts_ends:()=>ti,text_eval:()=>Ei,text_find:()=>_i,text_format:()=>ri,text_format_noreturn:()=>hi,text_join:()=>Wt,text_join_seq:()=>oi,text_length:()=>zt,text_random_char:()=>$t,text_replace:()=>pi,text_split:()=>ai,text_strip:()=>ui,text_substring:()=>ei,text_substring2:()=>Zt,text_substring3:()=>Ii,text_textarea:()=>wt});var _={};e.r(_),e.d(_,{ENUMERATE:()=>tn,content_in_lists:()=>sn,enumerate:()=>nn,list_many_input:()=>wi,list_tolist:()=>Ki,list_tolist2:()=>en,list_trig:()=>Bi,lists_2d_get_col_row_data:()=>Si,lists_2d_get_data_with_col_row:()=>Ci,lists_append_extend:()=>Fi,lists_change_to:()=>Ui,lists_change_to_general:()=>ki,lists_clear:()=>yi,lists_create_with:()=>Ai,lists_create_with2:()=>Ji,lists_create_with_container:()=>Ni,lists_create_with_item:()=>Di,lists_create_with_noreturn:()=>Hi,lists_create_with_text:()=>Li,lists_create_with_text2:()=>Qi,lists_del_general:()=>Wi,lists_find:()=>Vi,lists_getIndex3:()=>zi,lists_getSublist3:()=>qi,lists_get_index:()=>ci,lists_get_random_item:()=>Pi,lists_get_random_sublist:()=>Yi,lists_get_sublist:()=>gi,lists_insert_value:()=>vi,lists_insert_value2:()=>$i,lists_pop:()=>bi,lists_remove_at:()=>xi,lists_remove_at2:()=>Zi,lists_reverse:()=>Xi,lists_setIndex3:()=>ji,lists_set_index:()=>fi,lists_sort:()=>Gi});var o={};e.r(o),e.d(o,{dicts_add_change_del:()=>Rn,dicts_add_or_change:()=>dn,dicts_clear:()=>Mn,dicts_create_with:()=>on,dicts_create_with_container:()=>pn,dicts_create_with_item:()=>an,dicts_create_with_noreturn:()=>Cn,dicts_deldict:()=>On,dicts_delete:()=>In,dicts_get:()=>rn,dicts_get_default:()=>ln,dicts_items:()=>hn,dicts_keys:()=>un,dicts_length:()=>En,dicts_pop:()=>cn,dicts_setdefault:()=>gn,dicts_to_json:()=>An,dicts_to_json2:()=>Dn,dicts_to_to:()=>Nn,dicts_todict:()=>Sn,dicts_update:()=>Tn,dicts_values:()=>mn,json_to_dicts:()=>Ln});var p={};e.r(p),e.d(p,{logic_boolean:()=>Xn,logic_compare:()=>Fn,logic_compare_continous:()=>Pn,logic_is:()=>Vn,logic_is_in:()=>bn,logic_negate:()=>vn,logic_null:()=>yn,logic_operation:()=>Yn,logic_tobool:()=>Bn,logic_true_or_false:()=>xn});var a={};e.r(a),e.d(a,{sdcard_mount:()=>as,sdcard_use_spi_init:()=>ps,storage_can_write_ornot:()=>Qn,storage_change_dir:()=>_s,storage_close_file:()=>qn,storage_delete_file:()=>$n,storage_file_seek:()=>ts,storage_file_tell:()=>es,storage_file_write:()=>kn,storage_fileopen:()=>Un,storage_fileopen_new:()=>wn,storage_fileopen_new_encoding:()=>Hn,storage_get_a_line:()=>Jn,storage_get_contents:()=>Kn,storage_get_contents_without_para:()=>Wn,storage_get_current_dir:()=>is,storage_get_file_size:()=>Zn,storage_get_filename:()=>zn,storage_is_file:()=>os,storage_list_all_files:()=>jn,storage_make_dir:()=>ns,storage_open_file_with_os:()=>Gn,storage_rename:()=>ss});var u={};e.r(u),e.d(u,{procedures_callnoreturn:()=>Is,procedures_callreturn:()=>Ts,procedures_defnoreturn:()=>us,procedures_defreturn:()=>rs,procedures_ifreturn:()=>Ms,procedures_mutatorarg:()=>ds,procedures_mutatorcontainer:()=>ls,procedures_return:()=>hs});var r={};e.r(r),e.d(r,{tuple_change_to:()=>Ds,tuple_create_llm_params:()=>bs,tuple_create_with:()=>Es,tuple_create_with_container:()=>Os,tuple_create_with_item:()=>Rs,tuple_create_with_noreturn:()=>Ys,tuple_create_with_text2:()=>cs,tuple_create_with_text_return:()=>gs,tuple_del:()=>As,tuple_find:()=>fs,tuple_getIndex:()=>Cs,tuple_getSublist:()=>Ps,tuple_get_random_item:()=>Xs,tuple_get_sublist:()=>vs,tuple_input:()=>xs,tuple_join:()=>Ls,tuple_length:()=>Ss,tuple_max:()=>Ns,tuple_totuple:()=>ys,tuple_trig:()=>Fs});var l={};e.r(l),e.d(l,{set_add_discard:()=>Js,set_clear:()=>ks,set_create_with:()=>Bs,set_create_with_container:()=>Gs,set_create_with_item:()=>Us,set_create_with_text_return:()=>qs,set_length:()=>ws,set_operate:()=>Ws,set_operate_update:()=>Ks,set_pop:()=>Hs,set_sub:()=>Qs,set_toset:()=>js,set_update:()=>zs});var d={};e.r(d),e.d(d,{html_content:()=>i_,html_content_more:()=>n_,html_document:()=>Zs,html_form:()=>__,html_head_body:()=>t_,html_style:()=>s_,html_style_color:()=>p_,html_style_content:()=>o_,html_text:()=>a_,html_title:()=>e_});var I={};e.r(I),e.d(I,{attribute_access:()=>g_,function_call:()=>O_,function_call_container:()=>R_,function_call_item:()=>c_,raw_block:()=>l_,raw_empty:()=>I_,raw_expression:()=>d_,raw_table:()=>r_,text_comment:()=>T_,text_print_multiple:()=>h_,text_print_multiple_container:()=>m_,text_print_multiple_item:()=>E_,type_check:()=>M_});var T={};e.r(T),e.d(T,{controls_type:()=>N_,controls_typeLists:()=>D_,lists_zip:()=>f_,unpack_iterable_object:()=>F_,variables_change:()=>A_,variables_get:()=>C_,variables_global:()=>L_,variables_set:()=>S_});var M={};e.r(M),e.d(M,{Panic_with_status_code:()=>G_,base_setup:()=>Y_,controls_delay:()=>B_,controls_flow_statements:()=>V_,controls_for:()=>y_,controls_forEach:()=>W_,controls_for_range:()=>x_,controls_if:()=>v_,controls_interrupts:()=>H_,controls_lambda:()=>J_,controls_main:()=>P_,controls_millis:()=>U_,controls_nointerrupts:()=>k_,controls_pass:()=>z_,controls_range:()=>K_,controls_repeat:()=>no,controls_repeat_ext:()=>$_,controls_thread:()=>q_,controls_try_finally:()=>X_,controls_whileUntil:()=>b_,datetime_fromtimestamp:()=>so,do_while:()=>j_,garbage_collection:()=>Z_,gene_unique_identifier:()=>_o,get_mem_alloc:()=>eo,get_mem_free:()=>to,get_unique_identifier:()=>io,reset:()=>w_,time_sleep:()=>Q_});var h={};e.r(h),e.d(h,{base_map:()=>No,generate_cartesian_product:()=>fo,math_arithmetic:()=>ro,math_bit:()=>uo,math_constant:()=>po,math_constant_mp:()=>ao,math_constrain:()=>Ro,math_dec:()=>Mo,math_degree_to_radian:()=>Po,math_indexer_number:()=>Co,math_map:()=>Oo,math_max_min:()=>mo,math_number:()=>oo,math_number_base_conversion:()=>co,math_radian_to_degree:()=>Fo,math_random:()=>Eo,math_random_seed:()=>go,math_round:()=>So,math_selfcalcu:()=>lo,math_single:()=>Io,math_to_int:()=>ho,math_trig:()=>To,text_to_number:()=>Ao,text_to_number_skulpt:()=>Lo,turn_to_int:()=>Do});var m={};e.r(m),e.d(m,{ascii_to_char:()=>bo,char_to_ascii:()=>Vo,number_to_text:()=>Bo,os_system:()=>ap,text:()=>Yo,text_bytes:()=>Xo,text_capital:()=>Qo,text_center:()=>zo,text_char:()=>yo,text_char_at:()=>wo,text_char_at2:()=>Uo,text_char_at3:()=>_p,text_compareTo:()=>sp,text_compare_to:()=>Wo,text_encode:()=>op,text_equals_starts_ends:()=>ko,text_eval:()=>pp,text_find:()=>qo,text_format:()=>tp,text_format_noreturn:()=>ip,text_join:()=>xo,text_join_seq:()=>jo,text_length:()=>Go,text_random_char:()=>Ho,text_replace:()=>$o,text_split:()=>Zo,text_strip:()=>ep,text_substring:()=>Jo,text_substring2:()=>Ko,text_substring3:()=>np,text_textarea:()=>vo});var E={};e.r(E),e.d(E,{content_in_lists:()=>wp,enumerate:()=>Up,list_many_input:()=>Dp,list_tolist:()=>Bp,list_tolist2:()=>Gp,list_trig:()=>Ap,lists_2d_get_col_row_data:()=>lp,lists_2d_get_data_with_col_row:()=>rp,lists_append_extend:()=>hp,lists_change_to:()=>Np,lists_change_to_general:()=>Fp,lists_clear:()=>cp,lists_create_with:()=>dp,lists_create_with2:()=>Yp,lists_create_with_noreturn:()=>fp,lists_create_with_text:()=>Ip,lists_create_with_text2:()=>vp,lists_del_general:()=>Pp,lists_find:()=>gp,lists_getIndex3:()=>Xp,lists_getSublist3:()=>yp,lists_get_index:()=>Tp,lists_get_random_item:()=>mp,lists_get_random_sublist:()=>Ep,lists_get_sublist:()=>up,lists_insert_value:()=>Op,lists_insert_value2:()=>bp,lists_pop:()=>Sp,lists_remove_at:()=>Cp,lists_remove_at2:()=>Vp,lists_reverse:()=>Rp,lists_setIndex3:()=>xp,lists_set_index:()=>Mp,lists_sort:()=>Lp});var O={};e.r(O),e.d(O,{dicts_add_change_del:()=>ta,dicts_add_or_change:()=>Jp,dicts_clear:()=>qp,dicts_create_with:()=>Hp,dicts_create_with_noreturn:()=>sa,dicts_deldict:()=>ea,dicts_delete:()=>Qp,dicts_get:()=>Wp,dicts_get_default:()=>Kp,dicts_items:()=>jp,dicts_keys:()=>kp,dicts_length:()=>Zp,dicts_pop:()=>ia,dicts_setdefault:()=>na,dicts_to_json:()=>oa,dicts_to_json2:()=>ua,dicts_to_to:()=>aa,dicts_todict:()=>_a,dicts_update:()=>zp,dicts_values:()=>$p,json_to_dicts:()=>pa});var R={};e.r(R),e.d(R,{logic_boolean:()=>Ta,logic_compare:()=>ra,logic_compare_continous:()=>la,logic_is:()=>Ea,logic_is_in:()=>ma,logic_negate:()=>Ia,logic_null:()=>Ma,logic_operation:()=>da,logic_tobool:()=>Oa,logic_true_or_false:()=>ha});var c={};e.r(c),e.d(c,{sdcard_mount:()=>wa,sdcard_use_spi_init:()=>Ua,storage_can_write_ornot:()=>Da,storage_change_dir:()=>xa,storage_close_file:()=>Fa,storage_delete_file:()=>Ya,storage_file_seek:()=>ya,storage_file_tell:()=>Xa,storage_file_write:()=>Sa,storage_fileopen:()=>ca,storage_fileopen_new:()=>ga,storage_fileopen_new_encoding:()=>Ca,storage_get_a_line:()=>Na,storage_get_contents:()=>La,storage_get_contents_without_para:()=>Aa,storage_get_current_dir:()=>ba,storage_get_file_size:()=>va,storage_get_filename:()=>fa,storage_is_file:()=>Ga,storage_list_all_files:()=>Pa,storage_make_dir:()=>Va,storage_open_file_with_os:()=>Ra,storage_rename:()=>Ba});var g={};e.r(g),e.d(g,{procedures_callnoreturn:()=>Ka,procedures_callreturn:()=>Wa,procedures_defnoreturn:()=>ka,procedures_defreturn:()=>Ha,procedures_ifreturn:()=>Ja,procedures_return:()=>Qa});var C={};e.r(C),e.d(C,{tuple_change_to:()=>nu,tuple_create_llm_params:()=>du,tuple_create_with:()=>za,tuple_create_with_noreturn:()=>pu,tuple_create_with_text2:()=>qa,tuple_create_with_text_return:()=>ja,tuple_del:()=>eu,tuple_find:()=>su,tuple_getIndex:()=>$a,tuple_getSublist:()=>ou,tuple_get_random_item:()=>uu,tuple_get_sublist:()=>au,tuple_input:()=>lu,tuple_join:()=>tu,tuple_length:()=>Za,tuple_max:()=>iu,tuple_totuple:()=>ru,tuple_trig:()=>_u});var S={};e.r(S),e.d(S,{set_add_discard:()=>Ou,set_clear:()=>hu,set_create_with:()=>Iu,set_create_with_text_return:()=>gu,set_length:()=>Tu,set_operate:()=>mu,set_operate_update:()=>Eu,set_pop:()=>Mu,set_sub:()=>Ru,set_toset:()=>Cu,set_update:()=>cu});var A={};e.r(A),e.d(A,{html_content:()=>Nu,html_content_more:()=>Du,html_document:()=>Su,html_form:()=>Fu,html_head_body:()=>Lu,html_style:()=>fu,html_style_content:()=>Pu,html_text:()=>Yu,html_title:()=>Au});var L={};e.r(L),e.d(L,{attribute_access:()=>Bu,function_call:()=>Vu,raw_block:()=>vu,raw_empty:()=>yu,raw_expression:()=>Xu,raw_table:()=>xu,type_check:()=>bu});var N={};e.r(N),e.d(N,{PIN_init:()=>Kr,actuator_extern_get_led_bright:()=>tr,actuator_extern_get_led_state:()=>ir,actuator_extern_led_bright:()=>er,actuator_extern_led_brightness:()=>nr,actuator_ms32006_dcmotor:()=>dr,actuator_ms32006_init:()=>lr,actuator_ms32006_stepper:()=>Ir,actuator_neopixel_init:()=>Tr,actuator_neopixel_rgb:()=>Mr,actuator_neopixel_rgb_all:()=>hr,actuator_neopixel_rgb_show_all_chase:()=>Or,actuator_neopixel_rgb_show_all_rainbow:()=>Er,actuator_neopixel_write:()=>mr,actuator_use_uart_init:()=>Rr,backstage_esp32_music_play_list:()=>Qu,esp32_music_get_tempo_extern:()=>qu,esp32_music_pitch:()=>Wu,esp32_music_pitch_init:()=>ku,esp32_music_pitch_with_time:()=>Ku,esp32_music_play_list:()=>Ju,esp32_music_reset_extern:()=>ju,esp32_music_set_tempo_extern:()=>zu,esp32_music_stop:()=>$u,esp32_set_music_volume:()=>Zu,mixbot_actuator_extern_get_addr:()=>kr,mixbot_actuator_extern_set_addr:()=>Wr,mixbot_addr_extern:()=>Pr,parrot_PIN_init:()=>qr,parrot_move_speed:()=>jr,pin_led_bright:()=>Jr,player_insert_music:()=>Lr,player_play_music:()=>Ar,player_set_mode:()=>Sr,player_set_play:()=>gr,player_set_volume:()=>Cr,player_whether_stop:()=>cr,robot_led_extern:()=>yr,robot_led_extern_get_value:()=>xr,robot_motor_extern:()=>Yr,robot_motor_extern_get_speed:()=>vr,robot_servo_extern_absolute_run:()=>Gr,robot_servo_extern_get_status:()=>br,robot_servo_extern_relative_continue:()=>Hr,robot_servo_extern_relative_origin:()=>Ur,robot_servo_extern_relative_run:()=>wr,robot_servo_extern_stop:()=>Br,robot_servo_extern_stop_mode:()=>Vr,robot_traffic_light_extern:()=>Xr,servo_PIN_init:()=>Qr,servo_get_angle:()=>ur,servo_get_speed:()=>rr,servo_init:()=>sr,servo_move:()=>_r,servo_move_angle:()=>zr,servo_set_angle:()=>pr,servo_set_speed:()=>ar,servo_speed_360:()=>or,syn6288_builtin_voice:()=>fr,syn6288_get_voice:()=>Dr,syn6288_set_voice:()=>Nr,syn6288_tts_play:()=>Fr});var D={};e.r(D),e.d(D,{actuator_dc_motor:()=>Fl,actuator_dc_motor_stop:()=>Pl,actuator_get_led_bright:()=>il,actuator_get_led_state:()=>nl,actuator_led_bright:()=>tl,actuator_led_brightness:()=>sl,actuator_mixbot_buzzer_on_off:()=>xl,actuator_mixgo_nova_mic_get:()=>Ul,actuator_mixgo_nova_mic_set:()=>Gl,actuator_mixgo_nova_onboard_music_pitch:()=>Jl,actuator_mixgo_nova_onboard_music_stop:()=>Ql,actuator_mixgo_nova_play_audio:()=>Wl,actuator_mixgo_nova_play_online_audio:()=>Kl,actuator_mixgo_nova_record_audio:()=>kl,actuator_mixgo_nova_voice_get:()=>Hl,actuator_mixgo_nova_voice_set:()=>wl,actuator_mixgo_zero_led_color:()=>_l,actuator_onboard_neopixel_rgb:()=>ll,actuator_onboard_neopixel_rgb_all:()=>dl,actuator_onboard_neopixel_rgb_show_all_chase:()=>Tl,actuator_onboard_neopixel_rgb_show_all_rainbow:()=>Il,actuator_onboard_neopixel_write:()=>Ml,actuator_rm_onboard_neopixel_rgb:()=>hl,actuator_rm_onboard_neopixel_rgb_all:()=>ml,actuator_rm_onboard_neopixel_rgb_show_all_chase:()=>El,actuator_stepper_keep:()=>Dl,actuator_stepper_stop:()=>fl,analog_ble_keyboard_init:()=>pd,analog_ble_keyboard_input:()=>rd,analog_ble_keyboard_mouse_init:()=>Ed,analog_ble_keyboard_mouse_input:()=>gd,analog_ble_keyboard_mouse_send_battery:()=>cd,analog_ble_keyboard_mouse_str:()=>Cd,analog_ble_keyboard_send_battery:()=>dd,analog_ble_keyboard_str:()=>ld,analog_ble_mouse_init:()=>Id,analog_ble_mouse_input:()=>hd,analog_ble_mouse_keyboard_input:()=>Sd,analog_ble_mouse_send_battery:()=>md,analog_keyboard_input:()=>$l,analog_keyboard_str:()=>od,analog_mouse_input:()=>sd,backstage_onboard_music_play_list:()=>Ll,bitbot_motor:()=>Bl,bitbot_move:()=>bl,bitbot_stop:()=>Vl,ble_keyboard_connect:()=>ud,ble_keyboard_get_mac:()=>ad,ble_keyboard_mouse_connect:()=>Rd,ble_keyboard_mouse_get_mac:()=>Od,ble_mouse_connect:()=>Md,ble_mouse_get_mac:()=>Td,cc_number:()=>rl,educore_ble_keyboard_input:()=>Xd,educore_ble_sensor_connected:()=>vd,educore_ble_sensor_init:()=>Yd,educore_buzzer:()=>Ad,educore_buzzer_play_tone:()=>Ld,educore_buzzer_play_tone_time:()=>Nd,educore_buzzer_stop:()=>Dd,educore_neopixel_clear:()=>Pd,educore_neopixel_rgb:()=>Fd,educore_rgb_light:()=>fd,esp32_music_get_tempo:()=>Rl,esp32_music_reset:()=>cl,esp32_music_set_tempo:()=>Ol,esp32_onboard_music_pitch:()=>gl,esp32_onboard_music_pitch_with_time:()=>Cl,esp32_onboard_music_play_list:()=>Al,esp32_onboard_music_stop:()=>Sl,general_key:()=>ed,general_key_tuple:()=>td,generalkey_container:()=>id,generalkey_create_with_item:()=>nd,get_keyboard_light:()=>yd,get_power_output:()=>ql,ledswitch:()=>el,mixbot_motor:()=>yl,mixbot_motor_status:()=>Yl,mixbot_move:()=>vl,mixbot_stop:()=>Xl,mouse_key:()=>_d,number:()=>Zr,record_audio:()=>bd,rm_actuator_get_led_bright:()=>pl,rm_actuator_get_led_state:()=>al,rm_actuator_led_bright:()=>ol,rm_actuator_led_brightness:()=>ul,rm_motor:()=>Nl,set_all_power_output:()=>jl,set_microphone_amplification:()=>xd,set_music_volume:()=>Vd,set_power_output:()=>zl,special_key:()=>Zl});var f={};e.r(f),e.d(f,{ai_sensor_20object:()=>EI,ai_sensor_ailocal_class:()=>pI,ai_sensor_ailocal_class_result:()=>aI,ai_sensor_ailocal_train:()=>oI,ai_sensor_asr_recognize:()=>II,ai_sensor_audio_play:()=>rI,ai_sensor_audio_record:()=>uI,ai_sensor_barcode:()=>Kd,ai_sensor_circle:()=>$d,ai_sensor_classifier_faces:()=>mI,ai_sensor_color:()=>iI,ai_sensor_color_chases:()=>_I,ai_sensor_color_chases_result:()=>sI,ai_sensor_config:()=>kd,ai_sensor_face:()=>hI,ai_sensor_find_20objects:()=>OI,ai_sensor_find_barcodes:()=>Jd,ai_sensor_find_circles:()=>Zd,ai_sensor_find_colors:()=>nI,ai_sensor_find_licenseplates:()=>MI,ai_sensor_find_lines:()=>jd,ai_sensor_find_qrcodes:()=>Hd,ai_sensor_find_rects:()=>tI,ai_sensor_find_tags:()=>zd,ai_sensor_licenseplate:()=>TI,ai_sensor_line:()=>qd,ai_sensor_qrcode:()=>Ud,ai_sensor_qrcode_lite:()=>wd,ai_sensor_rect:()=>eI,ai_sensor_rgb:()=>Wd,ai_sensor_tag:()=>Qd,ai_sensor_use_uart_init:()=>Gd,ai_sensor_yolo_recognize:()=>lI,ai_sensor_yolo_recognize_result:()=>dI});var F={};e.r(F),e.d(F,{MICROPYTHON_AI_Speech_asr:()=>gI,MICROPYTHON_AI_Speech_unit:()=>cI,MICROPYTHON_AI_client:()=>RI});var P={};e.r(P),e.d(P,{AI_CAMERA_INIT:()=>$I,AI_CAMERA_INIT_FACERECOGNIZE:()=>tT,AI_CAMERA_INIT_SIMPLE:()=>NT,AI_STOP_ACQUISITION:()=>ST,CAMERA_LOOGOUT:()=>UI,CI130X_BROADCAST_SANT:()=>vI,CI130X_BROADCAST_SYSTEM_TIME:()=>yI,CI130X_GET_THE_RECOGNIZED_CMD_SANT:()=>YI,CI130X_GET_WHETHER_IDENTIFY_SANT:()=>PI,CI130X_IDENTIFY_AND_SAVE_SANT:()=>FI,CI130X_OPEN_AND_CLOSE:()=>DI,CI130X_PLAY_SYSTEM_CMD_SANT:()=>fI,CI130X_SET_SYSTEM_CMD_SANT:()=>XI,CONVERT_IMAGE_TO_JPG:()=>kI,CREATE_CAMERA:()=>xI,CREATE_CAMERA_SIMPLE:()=>LT,DELETE_FACE_ALL:()=>MT,DELETE_FACE_FROM_DATABASE:()=>TT,GET_CAT_FACE_DETECTION_NUM:()=>RT,GET_COLOR_DETECTION_NUM:()=>OT,GET_FACE_DETECTION_NAME:()=>CT,GET_FACE_DETECTION_NUM:()=>gT,GET_HOW_MUCH_RECOGNITION:()=>_T,GET_HUMAN_DETECTION_NUM:()=>cT,GET_IMAGE_AND_SAVE:()=>VI,GET_IMAGE_FROM_NET:()=>GI,GET_NO_CAT_OR_FACE_RECOGNITION:()=>pT,GET_NO_FACE_RECOGNITION_INFO:()=>rT,GET_NO_RECOGNITION:()=>oT,GET_NO_XY_RECOGNITION:()=>aT,GET_NO_XY_RECOGNITION_FACE:()=>uT,GET_PICTURE_DATA_EXACT:()=>wI,GET_PICTURE_DATA_WHS:()=>WI,GET_PICTURE_RECOGNITION_DATA:()=>ET,GET_PICTURE_WIDTH_HEIGHT_DEVICE:()=>HI,GET_QR_CODE_RECOGNITION_DATA:()=>mT,GET_SCREEN_IMAGE:()=>jI,GET_SCREEN_IMAGE_SIZE:()=>qI,MIXIO_REPORT_IMAGE_DATA:()=>AT,MODEL_INIT_HEIGHT:()=>eT,MODEL_INIT_WIDTH:()=>ZI,MODEL_LOGOUT:()=>iT,MODEL_RUN:()=>nT,MODEL_WHETHER_RUN_SUCCEED:()=>sT,OPEN_IMAGE:()=>BI,PRINT_FACE_DATABASE:()=>hT,REGISTER_NEW_FACE:()=>IT,REGISTER_NEW_FACE_SIMPLE:()=>fT,Register_color_recognition:()=>dT,Register_color_recognition_fixed:()=>lT,Register_color_recognition_fixed_SIMPLE:()=>DT,SCREEN_DISPLAY_IMAGE:()=>QI,SCREEN_DISPLAY_IMAGE_LOCATION:()=>zI,SCREEN_SHOW_CAM_GRAPH_SHOOT:()=>KI,SCREEN_SHOW_CAM_GRAPH_SHOOT_LOCATION:()=>JI,SHOOT_AND_SAVE_PICTURE:()=>bI,VOICE_RECOGNITION_CONTROL:()=>NI,yesorno:()=>LI});var Y={};e.r(Y),e.d(Y,{mpython_blynk_app_data:()=>kT,mpython_blynk_app_notify:()=>bT,mpython_blynk_email:()=>GT,mpython_blynk_get_timers:()=>UT,mpython_blynk_on_connected:()=>XT,mpython_blynk_on_disconnected:()=>vT,mpython_blynk_run:()=>xT,mpython_blynk_sensor_data_to_app:()=>HT,mpython_blynk_set_property:()=>BT,mpython_blynk_setup:()=>WT,mpython_blynk_stop_timers:()=>VT,mpython_blynk_sync_virtual:()=>YT,mpython_blynk_terminal_widget_vpin:()=>PT,mpython_blynktimer:()=>wT,mpython_blynktimer_run:()=>yT});var v={};e.r(v),e.d(v,{communicate_bluetooth_central_init:()=>NM,communicate_bluetooth_connect:()=>PM,communicate_bluetooth_disconnect:()=>YM,communicate_bluetooth_handle:()=>bM,communicate_bluetooth_is_connected:()=>XM,communicate_bluetooth_mac:()=>FM,communicate_bluetooth_peripheral_init:()=>DM,communicate_bluetooth_recv:()=>yM,communicate_bluetooth_recv_only:()=>xM,communicate_bluetooth_scan:()=>fM,communicate_bluetooth_send:()=>vM,communicate_espnow_init:()=>VM,communicate_espnow_init_new:()=>BM,communicate_i2c_available:()=>uM,communicate_i2c_init:()=>zT,communicate_i2c_master_read:()=>aM,communicate_i2c_onboard:()=>JT,communicate_i2c_read:()=>qT,communicate_i2c_scan:()=>$T,communicate_i2c_write:()=>jT,communicate_ir_recv_init:()=>mM,communicate_ir_send_init:()=>gM,communicate_ow_init:()=>lM,communicate_ow_read:()=>IM,communicate_ow_reset:()=>hM,communicate_ow_scan:()=>dM,communicate_ow_select:()=>MM,communicate_ow_write:()=>TM,communicate_spi_buffer:()=>tM,communicate_spi_init:()=>ZT,communicate_spi_onboard:()=>QT,communicate_spi_read:()=>iM,communicate_spi_read_output:()=>nM,communicate_spi_readinto:()=>sM,communicate_spi_readinto_output:()=>_M,communicate_spi_set:()=>eM,communicate_spi_write:()=>oM,communicate_spi_write_readinto:()=>pM,espnow_radio_channel:()=>WM,espnow_radio_channel_new:()=>JM,espnow_radio_on_off:()=>QM,espnow_radio_rec:()=>qM,espnow_radio_recv:()=>$M,espnow_radio_recv_certain_msg:()=>ZM,espnow_radio_recv_certain_msg_new:()=>th,espnow_radio_recv_msg:()=>jM,espnow_radio_recv_new:()=>eh,espnow_radio_send:()=>zM,espnow_radio_txpower:()=>KM,i2c_available:()=>Ch,i2c_init:()=>uh,i2c_master_reader2:()=>gh,i2c_read:()=>rh,i2c_scan:()=>dh,i2c_slave_onreceive:()=>rM,i2c_write:()=>lh,internal_variable:()=>EM,ir_recv_timeout:()=>cM,ir_transmit_busy:()=>LM,ir_transmit_conventional_data:()=>CM,ir_transmit_raw_code:()=>AM,ir_transmit_study_code:()=>SM,ir_whether_recv:()=>RM,lora_init:()=>ih,lora_packet:()=>nh,lora_recv:()=>_h,lora_send:()=>sh,network_espnow_info:()=>UM,network_espnow_mac:()=>GM,network_espnow_recv:()=>wM,network_espnow_recv_handle:()=>kM,network_espnow_send:()=>HM,recv_fun:()=>OM,spi_buffer:()=>Mh,spi_init:()=>Ih,spi_read:()=>hh,spi_read_output:()=>mh,spi_readinto:()=>Eh,spi_readinto_output:()=>Oh,spi_set:()=>Th,spi_write:()=>Rh,spi_write_readinto:()=>ch,urequests_attribute:()=>ph,urequests_get:()=>oh,urequests_method:()=>ah});var X={};e.r(X),e.d(X,{display_animate:()=>tm,display_blink_rate:()=>jh,display_circle:()=>im,display_color_seclet:()=>Tm,display_draw_4strings:()=>Wh,display_fill:()=>em,display_get_screen_image:()=>qh,display_help:()=>sm,display_image_size:()=>Kh,display_lcd_use_i2c_init:()=>Rm,display_line:()=>Qh,display_line_arbitrarily:()=>zh,display_matrix_extern_bright_point:()=>bh,display_matrix_extern_bright_screen:()=>Bh,display_matrix_extern_clear:()=>Gh,display_matrix_extern_get_pixel:()=>xh,display_matrix_extern_get_screen_pixel:()=>Vh,display_matrix_extern_image_builtins:()=>Uh,display_matrix_extern_scroll_string:()=>Ph,display_matrix_extern_scroll_string_delay:()=>Yh,display_matrix_extern_shift:()=>yh,display_matrix_extern_show_frame_string:()=>vh,display_matrix_extern_show_frame_string_delay:()=>Xh,display_matrix_extern_show_image:()=>fh,display_matrix_extern_show_image_or_string_delay:()=>Fh,display_matrix_use_i2c_init:()=>Dh,display_oled_drawPixel:()=>om,display_oled_showBitmap:()=>_m,display_oled_use_i2c_init:()=>Am,display_onoff:()=>Zh,display_rect:()=>Jh,display_rgb_color:()=>$h,display_tm1650_power:()=>am,display_tm1650_set_brightness:()=>lm,display_tm1650_show_dot:()=>rm,display_tm1650_show_num:()=>um,display_tm_use_i2c_init:()=>pm,display_triangle:()=>nm,display_use_i2c_init:()=>kh,extern_oled_bright_point:()=>xm,extern_oled_clear:()=>bm,extern_oled_get_pixel:()=>ym,extern_oled_hvline:()=>Bm,extern_oled_line:()=>Gm,extern_oled_scroll_string:()=>Fm,extern_oled_scroll_string_delay:()=>Pm,extern_oled_shape_rect:()=>Vm,extern_oled_shift:()=>Xm,extern_oled_show_frame_string:()=>Ym,extern_oled_show_frame_string_delay:()=>vm,extern_oled_show_image:()=>Lm,extern_oled_show_image_or_string_delay:()=>fm,extern_oled_show_image_xy:()=>Nm,extern_oled_show_string:()=>Dm,lcd_backlight:()=>Cm,lcd_clear:()=>Sm,lcd_print_string:()=>gm,lcd_show_image_or_string_delay:()=>cm,matrix_extern_image_arithmetic:()=>wh,matrix_extern_image_invert:()=>Hh,tft_fill:()=>Em,tft_line_arbitrarily:()=>Om,tft_scroll_string_delay:()=>hm,tft_show_frame_string_delay:()=>mm,tft_show_image_or_string_delay:()=>Mm,tft_show_image_xy:()=>Im,tft_use_spi_init:()=>dm});var y={};e.r(y),e.d(y,{bitbot_display_bitmap_create:()=>XE,bitbot_display_image_create:()=>vE,display_available:()=>aE,display_bitmap_create:()=>jm,display_bright_point:()=>sE,display_bright_screen:()=>oE,display_clear:()=>pE,display_get_pixel:()=>nE,display_get_screen_pixel:()=>_E,display_image_builtins:()=>$m,display_image_builtins_all:()=>Zm,display_image_create:()=>qm,display_scroll_string:()=>km,display_scroll_string_delay:()=>Wm,display_scroll_way:()=>Km,display_shift:()=>iE,display_show_frame_string:()=>Qm,display_show_frame_string_delay:()=>zm,display_show_image:()=>wm,display_show_image_or_string_delay:()=>Hm,draw_pointer:()=>jE,image_arithmetic:()=>eE,image_invert:()=>tE,mixbot_display_bitmap_create:()=>DE,mixbot_display_bright_screen:()=>PE,mixbot_display_get_ambientbright:()=>FE,mixbot_display_get_screen_pixel:()=>fE,mixbot_display_image_create:()=>NE,mixbot_display_rotate:()=>YE,mixgo_display_bitmap_create:()=>TE,mixgo_display_image_create_new:()=>IE,mixgome_display_bitmap_create:()=>rE,mixgome_display_font:()=>ME,mixgome_display_image_create:()=>uE,mixgomini_display_bitmap_create:()=>dE,mixgomini_display_image_create:()=>lE,mpython_display_hvline:()=>SE,mpython_display_line:()=>AE,mpython_display_shape_rect:()=>CE,mpython_pbm_image:()=>LE,nova_draw_pointer:()=>$E,onboard_oled_bright_point:()=>gE,onboard_oled_scroll_string_delay:()=>RE,onboard_oled_show_frame_string_delay:()=>cE,onboard_oled_show_image:()=>hE,onboard_oled_show_image_or_string_delay:()=>OE,onboard_oled_show_image_xy:()=>mE,onboard_oled_show_string:()=>EE,onboard_tft_bright_point:()=>HE,onboard_tft_bright_screen:()=>pO,onboard_tft_clear:()=>aO,onboard_tft_clock_clear:()=>zE,onboard_tft_clock_draw:()=>QE,onboard_tft_clock_get_rtctime:()=>KE,onboard_tft_clock_init:()=>WE,onboard_tft_clock_set_time:()=>JE,onboard_tft_display_hvline:()=>GE,onboard_tft_display_line:()=>UE,onboard_tft_display_shape_circle:()=>qE,onboard_tft_display_shape_rect:()=>BE,onboard_tft_fill:()=>kE,onboard_tft_get_pixel:()=>wE,onboard_tft_get_screen_pixel:()=>oO,onboard_tft_scroll_string:()=>nO,onboard_tft_scroll_string_delay:()=>Jm,onboard_tft_shift:()=>_O,onboard_tft_show_frame_string:()=>sO,onboard_tft_show_frame_string_delay:()=>VE,onboard_tft_show_image:()=>iO,onboard_tft_show_image_or_string_delay:()=>bE,onboard_tft_show_image_xy:()=>yE,onboard_tft_show_image_xy_direct:()=>xE,onboard_tft_show_qrcode:()=>eO,onboard_tft_show_qrcode_details:()=>tO,onboard_tft_show_texts:()=>ZE});var x={};e.r(x),e.d(x,{factory_block:()=>LO,factory_block_return:()=>NO,factory_block_return_with_textarea:()=>fO,factory_block_with_textarea:()=>DO,factory_callMethod_noreturn:()=>SO,factory_callMethod_return:()=>AO,factory_create_with_container:()=>RO,factory_create_with_item:()=>cO,factory_declare:()=>CO,factory_from_import:()=>mO,factory_function_noreturn:()=>OO,factory_function_return:()=>gO,factory_import:()=>EO,folding_block:()=>FO});var b={};e.r(b),e.d(b,{controls_pin_attachInterrupt:()=>$O,inout_analog_atten:()=>GO,inout_analog_read:()=>BO,inout_analog_read_init:()=>KO,inout_analog_write:()=>xO,inout_analog_write_init:()=>WO,inout_analog_write_set:()=>bO,inout_analog_write_set_freq:()=>zO,inout_digital_init:()=>HO,inout_digital_read:()=>XO,inout_digital_write:()=>vO,inout_highlow:()=>YO,inout_pinMode:()=>QO,inout_pin_attachInterrupt:()=>wO,inout_pin_pressed:()=>UO,inout_pin_pressed_init:()=>JO,inout_pwm_analog_write:()=>yO,inout_pwm_analog_write_init:()=>kO,inout_pwm_analog_write_set_freq:()=>VO,pin_pressed:()=>jO,pin_pressed_init:()=>qO});var V={};e.r(V),e.d(V,{IOT_CONNECT_OLLAMA:()=>xR,IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>CR,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>gR,IOT_EMQX_PING:()=>RR,IOT_FORMATTING:()=>ER,IOT_FORMAT_STRING:()=>OR,IOT_MIXIO_NTP:()=>cR,IOT_MIXIO_PUBLISH:()=>rR,IOT_MIXIO_PUBLISHEX:()=>lR,IOT_MIXIO_SUBSCRIBE:()=>dR,iot_checkonenet:()=>vR,iot_client_onboard:()=>AR,iot_connect_ollama:()=>yR,iot_connect_openai:()=>bR,iot_create_with_item:()=>aR,iot_http_client:()=>LR,iot_http_data:()=>NR,iot_mixio_check:()=>MR,iot_mixio_connect:()=>uR,iot_mixio_connect_only:()=>TR,iot_mixio_disconnect:()=>IR,iot_mixio_format_msg:()=>mR,iot_mixio_format_topic:()=>hR,iot_mixly_key:()=>SR,iot_mqtt_client:()=>DR,iot_mqtt_data:()=>fR,iot_onenet_check:()=>nR,iot_onenet_connect:()=>tR,iot_onenet_disconnect:()=>iR,iot_onenet_publish:()=>_R,iot_onenet_publish_dict:()=>sR,iot_onenetconnect:()=>PR,iot_onenetdisconnect:()=>YR,iot_publish:()=>XR,iot_publish_container:()=>oR,iot_publish_item:()=>pR,iot_tiny_web_db_count:()=>WR,iot_tiny_web_db_delete:()=>JR,iot_tiny_web_db_get:()=>kR,iot_tiny_web_db_init:()=>UR,iot_tiny_web_db_init_with_mqtt:()=>wR,iot_tiny_web_db_search:()=>KR,iot_tiny_web_db_update:()=>HR,iot_wifi_connect:()=>eR,iot_wificonnect:()=>FR,ollama_empty_history:()=>GR,use_ollama_llm_to_chat:()=>VR,use_ollama_llm_to_chat_return:()=>BR});var B={};e.r(B),e.d(B,{educore_mqtt_connect:()=>Nc,educore_mqtt_connect_success:()=>Pc,educore_mqtt_subscribe_message:()=>Dc,educore_mqtt_topic_publish:()=>Fc,educore_mqtt_topic_subscribe:()=>fc,educore_wifi_connect:()=>Lc,network_ap_connect:()=>sc,network_connect:()=>ZR,network_get_connect:()=>tc,network_get_wifi:()=>nc,network_init:()=>zR,network_is_active:()=>jR,network_open:()=>qR,network_scan:()=>$R,network_server:()=>_c,network_socket_accept:()=>rc,network_socket_bind:()=>pc,network_socket_close:()=>hc,network_socket_connect:()=>ac,network_socket_init:()=>oc,network_socket_listen:()=>uc,network_socket_readline:()=>lc,network_socket_receive:()=>dc,network_socket_receive_from:()=>Tc,network_socket_send:()=>Ic,network_socket_send_to:()=>Mc,network_stop:()=>ic,network_wifi_connect:()=>ec,ntptime_address:()=>cc,ntptime_time:()=>Rc,requests_attribute:()=>Ec,requests_attribute2:()=>Ac,requests_get:()=>mc,requests_get2:()=>Cc,requests_method:()=>Oc,requests_post:()=>Sc});var G={};e.r(G),e.d(G,{get_potential_num:()=>vc,nova_g1_motor:()=>Xc,nova_g1_spk_en:()=>xc,nova_g1_usb:()=>yc});var U={};e.r(U),e.d(U,{pe_g1_battery_left:()=>Bc,pe_g1_dc_motor:()=>Gc,pe_g1_dc_motor_speed:()=>Uc,pe_g1_servo_get_angle:()=>kc,pe_g1_servo_get_speed:()=>Wc,pe_g1_servo_set_angle:()=>wc,pe_g1_servo_set_speed:()=>Hc,pe_g1_use_i2c_init:()=>Vc});var w={};e.r(w),e.d(w,{CI130X_BROADCAST:()=>hg,CI130X_GET_THE_RECOGNIZED_CMD:()=>Mg,CI130X_GET_WHETHER_IDENTIFY:()=>Tg,CI130X_IDENTIFY_AND_SAVE:()=>Ig,CI130X_SET_SYSTEM_CMD:()=>mg,HCSR04:()=>_C,PS2_Button:()=>uC,PS2_Buttons:()=>lC,PS2_Buttons_new:()=>MC,PS2_State:()=>rC,PS2_init:()=>oC,PS2_init_new:()=>IC,PS2_stk:()=>dC,PS2_stk_new:()=>hC,PS2_vibration:()=>aC,PS2_vibration_new:()=>TC,camera_sensor_init:()=>KC,camera_sensor_result:()=>JC,column_tube_foot:()=>$C,define_keyboards:()=>ZC,educore_body_sensor:()=>xC,educore_button_sensor_extern:()=>GC,educore_camera_sensor:()=>WC,educore_infrared_sensor:()=>BC,educore_soilhum_sensor:()=>bC,educore_temp_sensor:()=>kC,educore_temphum_sensor:()=>VC,educore_ultrasonic_sensor:()=>wC,esp32_s2_weather_init:()=>tC,esp32_s2_weather_rain:()=>nC,esp32_s2_weather_wd:()=>iC,esp32_s2_weather_ws:()=>sC,extern_rfid_read:()=>Ug,extern_rfid_readcontent:()=>Hg,extern_rfid_readid:()=>wg,extern_rfid_status:()=>Kg,extern_rfid_write:()=>kg,extern_rfid_write_return:()=>Wg,get_keboards_value:()=>eS,gnss_get_data:()=>RC,gnss_have_data:()=>OC,init_init_rotary_encoder:()=>tS,init_matrix_keyboard:()=>qC,interaction_whether_to_interaction:()=>lg,interaction_whether_to_interaction_SANT:()=>dg,line_tube_foot:()=>jC,mixbot_sensor_extern_get_addr:()=>DC,mixbot_sensor_extern_set_addr:()=>fC,pm25_get_data:()=>EC,radar_set_DETECTION_THRESHOLD:()=>ug,radar_set_DETECTION_THRESHOLD_SANT:()=>rg,robot_button_extern_get_value:()=>gC,robot_color_extern_get_value:()=>NC,robot_infrared_extern_get_value:()=>SC,robot_infrared_extern_grey_get_value:()=>AC,robot_potentiometer_extern_get_value:()=>LC,robot_sonar_extern_get_value:()=>FC,robot_sonar_extern_led:()=>PC,robot_touch_extern_get_value:()=>CC,rotary_key:()=>iS,sensor_APDS9960_extern:()=>Og,sensor_DS18X20:()=>og,sensor_LTR308_extern:()=>Rg,sensor_LTR390UV_extern:()=>Cg,sensor_MAX30102_extern:()=>Eg,sensor_QMC5883L_extern:()=>Pg,sensor_VL530LX_extern:()=>Sg,sensor_adxl345_get_acceleration:()=>$c,sensor_aht11_extern:()=>Lg,sensor_bmp:()=>sg,sensor_compass_reset:()=>Bg,sensor_dht11:()=>eg,sensor_hp203_extern:()=>Ng,sensor_light_level:()=>Zc,sensor_lm35:()=>pg,sensor_ltr381_extern:()=>cg,sensor_mixgo_extern_button_attachInterrupt:()=>qc,sensor_mixgo_extern_button_get_presses:()=>zc,sensor_mixgo_extern_button_is_pressed:()=>Jc,sensor_mixgo_extern_button_was_pressed:()=>Qc,sensor_mixgo_extern_light:()=>tg,sensor_mixgo_extern_pin_near:()=>ng,sensor_mixgo_extern_sound:()=>ig,sensor_mixgoce_hot_wheel_degrees:()=>eC,sensor_mixgoce_hot_wheel_is_touched:()=>Zg,sensor_mpu9250_attachGestureInterrupt:()=>jc,sensor_mpu9250_calibrate_compass:()=>xg,sensor_mpu9250_field_strength:()=>Vg,sensor_mpu9250_gesture:()=>Yg,sensor_mpu9250_get_acceleration:()=>vg,sensor_mpu9250_get_gyro:()=>yg,sensor_mpu9250_get_magnetic:()=>Xg,sensor_mpu9250_temperature:()=>bg,sensor_ms5611_extern:()=>fg,sensor_ms5611_extern_altitude:()=>Fg,sensor_read_humiture:()=>UC,sensor_sht:()=>_g,sensor_shtc3_extern:()=>Ag,sensor_spl06_001_extern:()=>Dg,sensor_ucs12071_extern:()=>gg,sensor_use_i2c_init:()=>ag,sensor_use_spi_init:()=>Gg,sensor_use_uart_init:()=>mC,sensor_weather_solo_init:()=>YC,sensor_weather_solo_rain:()=>yC,sensor_weather_solo_wd:()=>vC,sensor_weather_solo_ws:()=>XC,sensor_weigh_init:()=>QC,tvoc_get_data:()=>cC,ultrasonic_sensor_read_distance:()=>HC,weather_data:()=>Jg,weather_have_data:()=>Qg,weather_set_label:()=>qg,weather_set_label_container:()=>jg,weather_set_label_item:()=>$g,weather_uart_mixio:()=>zg,weigh_sensor_get_weight:()=>zC});var H={};e.r(H),e.d(H,{HCSR04:()=>OS,RTC_set_date:()=>ES,RTC_set_time:()=>mS,bitbot_als_num:()=>DA,dht11:()=>yA,educore_button_sensor:()=>kA,educore_button_was_pressed:()=>WA,educore_gyroscope_sensor:()=>UA,educore_gyroscope_sensor_read:()=>wA,educore_gyroscope_sensor_shake:()=>HA,educore_light_sensor:()=>GA,educore_rfid_sensor:()=>KA,educore_rfid_sensor_scan:()=>JA,educore_rfid_sensor_scan_data:()=>QA,educore_voice_sensor:()=>VA,number1:()=>cS,number2:()=>gS,number3:()=>CS,number4:()=>SS,number5:()=>AS,number6:()=>LS,number7:()=>NS,onboard_RTC_get_time:()=>yS,onboard_RTC_get_time_str:()=>US,onboard_RTC_get_timestamp:()=>xS,onboard_RTC_get_timetuple_to_str:()=>wS,onboard_RTC_set_datetime:()=>BS,onboard_RTC_settime_string:()=>VS,onboard_RTC_timestamp_totuple:()=>bS,rfid_readcontent:()=>zS,rfid_readid:()=>QS,rfid_status:()=>$S,rfid_write:()=>qS,rfid_write_return:()=>jS,sensor_LTR308:()=>HS,sensor_aht11:()=>WS,sensor_bitbot_ALS:()=>NA,sensor_button_get_presses:()=>PA,sensor_button_is_pressed:()=>fA,sensor_button_was_pressed:()=>FA,sensor_distance_hrsc04:()=>hS,sensor_eulerangles:()=>eA,sensor_field_strength:()=>xA,sensor_get_acceleration:()=>ZS,sensor_get_temperature:()=>KS,sensor_get_the_coprocessor_version:()=>zA,sensor_hp203:()=>JS,sensor_light:()=>XA,sensor_mixbot_get_gyro:()=>LA,sensor_mixbot_patrol_calibrate:()=>CA,sensor_mixbot_patrol_value:()=>SA,sensor_mixbot_temperature:()=>AA,sensor_mixgo_LTR308:()=>vS,sensor_mixgo_button_attachInterrupt:()=>pS,sensor_mixgo_button_get_presses:()=>oS,sensor_mixgo_button_is_pressed:()=>sS,sensor_mixgo_button_was_pressed:()=>_S,sensor_mixgo_cc_mmc5603_calibrate_compass:()=>lA,sensor_mixgo_cc_mmc5603_get_angle:()=>rA,sensor_mixgo_cc_mmc5603_get_magnetic:()=>uA,sensor_mixgo_light:()=>RS,sensor_mixgo_nova_LTR308:()=>YS,sensor_mixgo_nova_pin_near:()=>PS,sensor_mixgo_pin_near:()=>FS,sensor_mixgo_pin_near_double:()=>fS,sensor_mixgo_pin_near_single:()=>DS,sensor_mixgo_pin_pressed:()=>dS,sensor_mixgo_sant_color:()=>XS,sensor_mixgo_touch_slide:()=>MS,sensor_mixgocar42_button_attachInterrupt:()=>lS,sensor_mixgocar42_button_get_presses:()=>rS,sensor_mixgocar42_button_is_pressed:()=>aS,sensor_mixgocar42_button_was_pressed:()=>uS,sensor_mixgocar_battery_left:()=>gA,sensor_mixgocar_pin_near:()=>RA,sensor_mixgocar_pin_near_line:()=>OA,sensor_mixgocar_pin_near_state_change:()=>cA,sensor_mixgoce_pin_pressed:()=>IS,sensor_mixgoce_temperature:()=>IA,sensor_mixgome_temperature:()=>dA,sensor_mpython_pin_pressed:()=>TS,sensor_mpython_qmi8658_get_gyro:()=>TA,sensor_mpython_qmi8658_temperature:()=>MA,sensor_onboard_compass_reset:()=>aA,sensor_onboard_mpu9250_calibrate_compass:()=>_A,sensor_onboard_mpu9250_field_strength:()=>pA,sensor_onboard_mpu9250_gesture:()=>tA,sensor_onboard_mpu9250_get_acceleration:()=>iA,sensor_onboard_mpu9250_get_gyro:()=>sA,sensor_onboard_mpu9250_get_magnetic:()=>nA,sensor_onboard_mpu9250_temperature:()=>oA,sensor_pin_near:()=>vA,sensor_pin_pressed:()=>YA,sensor_read:()=>BA,sensor_rm_acc:()=>EA,sensor_rm_battery_left:()=>mA,sensor_rm_pin_near_double:()=>hA,sensor_rtc_init:()=>GS,sensor_sound:()=>kS,sensor_temperature:()=>bA,simulated_light_sensor:()=>qA});var k={};e.r(k),e.d(k,{serial_any:()=>oL,serial_begin:()=>lL,serial_print:()=>tL,serial_print_byte:()=>eL,serial_print_hex:()=>nL,serial_println:()=>iL,serial_read_from_ai:()=>RL,serial_readline:()=>pL,serial_readstr:()=>_L,serial_readstr_until:()=>aL,serial_receive_data_event:()=>sL,serial_send_to_ai:()=>OL,serial_softserial:()=>rL,serial_softserial_new:()=>uL,system_input:()=>dL,system_print:()=>IL,system_print_container:()=>mL,system_print_end:()=>ML,system_print_inline:()=>TL,system_print_item:()=>EL,system_print_many:()=>hL});var W={};e.r(W),e.d(W,{Panic_with_status_code:()=>SL,Timer_init:()=>VL,base_delay:()=>UL,controls_delay:()=>CL,controls_delay_new:()=>gL,controls_millis:()=>LL,controls_uname:()=>DL,raw_block:()=>NL,reset:()=>AL,set_system_timer:()=>vL,system_bitbot_shutdown:()=>bL,system_machine_reset:()=>xL,system_ticks_diff:()=>PL,system_timer:()=>FL,system_timer_init:()=>YL,system_wdt_feed:()=>yL,system_wdt_init:()=>XL,time_ticks_diff:()=>GL,timer:()=>fL,timer2:()=>BL});var K={};e.r(K),e.d(K,{Air_daily_content:()=>tN,Air_now_content:()=>QL,Geo_moon_content:()=>nN,Geo_sun_content:()=>iN,Life_suggestion_content:()=>qL,Location_search_content:()=>$L,Tide_daily_content:()=>jL,WEATHER_DAILY:()=>kL,WEATHER_HOUR:()=>WL,WEATHER_NOW:()=>HL,Weather_alarm_content:()=>zL,Weather_daily:()=>ZL,Weather_daily_content:()=>eN,Weather_now:()=>KL,Weather_now_content:()=>JL});var J={};e.r(J),e.d(J,{PIN_init:()=>_D,actuator_extern_get_led_bright:()=>AN,actuator_extern_get_led_state:()=>LN,actuator_extern_led_bright:()=>SN,actuator_extern_led_brightness:()=>NN,actuator_ms32006_dcmotor:()=>lN,actuator_ms32006_init:()=>rN,actuator_ms32006_stepper:()=>dN,actuator_neopixel_init:()=>DN,actuator_neopixel_rgb:()=>PN,actuator_neopixel_rgb_all:()=>fN,actuator_neopixel_rgb_show_all_chase:()=>YN,actuator_neopixel_rgb_show_all_rainbow:()=>vN,actuator_neopixel_write:()=>FN,actuator_use_uart_init:()=>XN,backstage_esp32_music_play_list:()=>cN,esp32_music_get_tempo_extern:()=>ON,esp32_music_pitch:()=>TN,esp32_music_pitch_init:()=>IN,esp32_music_pitch_with_time:()=>MN,esp32_music_play_list:()=>RN,esp32_music_reset_extern:()=>gN,esp32_music_set_tempo_extern:()=>EN,esp32_music_stop:()=>hN,esp32_set_music_volume:()=>mN,mixbot_actuator_extern_get_addr:()=>nD,mixbot_actuator_extern_set_addr:()=>sD,mixbot_addr_extern:()=>kN,parrot_PIN_init:()=>uD,parrot_move_speed:()=>rD,pin_led_bright:()=>oD,player_play_music:()=>BN,player_set_mode:()=>VN,player_set_play:()=>xN,player_set_volume:()=>bN,player_whether_stop:()=>yN,robot_led_extern:()=>QN,robot_led_extern_get_value:()=>zN,robot_motor_extern:()=>WN,robot_motor_extern_get_speed:()=>KN,robot_servo_extern_absolute_run:()=>ZN,robot_servo_extern_get_status:()=>qN,robot_servo_extern_relative_continue:()=>iD,robot_servo_extern_relative_origin:()=>eD,robot_servo_extern_relative_run:()=>tD,robot_servo_extern_stop:()=>$N,robot_servo_extern_stop_mode:()=>jN,robot_traffic_light_extern:()=>JN,servo_PIN_init:()=>pD,servo_get_angle:()=>aN,servo_get_speed:()=>uN,servo_init:()=>sN,servo_move:()=>CN,servo_move_angle:()=>aD,servo_set_angle:()=>oN,servo_set_speed:()=>pN,servo_speed_360:()=>_N,syn6288_builtin_voice:()=>wN,syn6288_get_voice:()=>UN,syn6288_set_voice:()=>GN,syn6288_tts_play:()=>HN});var Q={};e.r(Q),e.d(Q,{actuator_dc_motor:()=>BD,actuator_dc_motor_stop:()=>GD,actuator_get_led_bright:()=>gD,actuator_get_led_state:()=>CD,actuator_led_bright:()=>cD,actuator_led_brightness:()=>SD,actuator_mixbot_buzzer_on_off:()=>WD,actuator_mixgo_nova_mic_get:()=>qD,actuator_mixgo_nova_mic_set:()=>zD,actuator_mixgo_nova_onboard_music_pitch:()=>nf,actuator_mixgo_nova_onboard_music_stop:()=>sf,actuator_mixgo_nova_play_audio:()=>ef,actuator_mixgo_nova_play_online_audio:()=>tf,actuator_mixgo_nova_record_audio:()=>ZD,actuator_mixgo_nova_voice_get:()=>$D,actuator_mixgo_nova_voice_set:()=>jD,actuator_mixgo_zero_led_color:()=>AD,actuator_onboard_neopixel_rgb:()=>YD,actuator_onboard_neopixel_rgb_all:()=>vD,actuator_onboard_neopixel_rgb_show_all_chase:()=>XD,actuator_onboard_neopixel_rgb_show_all_rainbow:()=>yD,actuator_onboard_neopixel_write:()=>PD,actuator_stepper_keep:()=>bD,actuator_stepper_stop:()=>VD,analog_ble_keyboard_init:()=>Mf,analog_ble_keyboard_input:()=>Ef,analog_ble_keyboard_mouse_init:()=>Lf,analog_ble_keyboard_mouse_input:()=>Ff,analog_ble_keyboard_mouse_send_battery:()=>ff,analog_ble_keyboard_mouse_str:()=>Pf,analog_ble_keyboard_send_battery:()=>Rf,analog_ble_keyboard_str:()=>Of,analog_ble_mouse_init:()=>cf,analog_ble_mouse_input:()=>Sf,analog_ble_mouse_keyboard_input:()=>Yf,analog_ble_mouse_send_battery:()=>Af,analog_keyboard_input:()=>af,analog_keyboard_str:()=>If,analog_mouse_input:()=>lf,backstage_onboard_music_play_list:()=>mD,bitbot_motor:()=>QD,bitbot_move:()=>KD,bitbot_stop:()=>JD,ble_keyboard_connect:()=>mf,ble_keyboard_get_mac:()=>hf,ble_keyboard_mouse_connect:()=>Df,ble_keyboard_mouse_get_mac:()=>Nf,ble_mouse_connect:()=>Cf,ble_mouse_get_mac:()=>gf,cc_number:()=>LD,educore_ble_keyboard_input:()=>wf,educore_ble_sensor_connected:()=>Uf,educore_ble_sensor_init:()=>Gf,educore_buzzer:()=>vf,educore_buzzer_play_tone:()=>Xf,educore_buzzer_play_tone_time:()=>yf,educore_buzzer_stop:()=>xf,educore_neopixel_clear:()=>Bf,educore_neopixel_rgb:()=>Vf,educore_rgb_light:()=>bf,esp32_music_get_tempo:()=>dD,esp32_music_reset:()=>ED,esp32_music_set_tempo:()=>lD,esp32_onboard_music_pitch:()=>ID,esp32_onboard_music_pitch_with_time:()=>TD,esp32_onboard_music_play_list:()=>hD,esp32_onboard_music_stop:()=>MD,general_key:()=>rf,general_key_tuple:()=>Tf,get_keyboard_light:()=>Hf,get_power_output:()=>of,ledswitch:()=>RD,mixbot_motor:()=>kD,mixbot_motor_status:()=>UD,mixbot_move:()=>wD,mixbot_stop:()=>HD,mouse_key:()=>df,number:()=>OD,record_audio:()=>Wf,rm_actuator_get_led_bright:()=>DD,rm_actuator_get_led_state:()=>fD,rm_actuator_led_bright:()=>ND,rm_actuator_led_brightness:()=>FD,rm_motor:()=>xD,set_all_power_output:()=>pf,set_microphone_amplification:()=>kf,set_music_volume:()=>Kf,set_power_output:()=>_f,special_key:()=>uf});var z={};e.r(z),e.d(z,{ai_sensor_20object:()=>AF,ai_sensor_ailocal_class:()=>TF,ai_sensor_ailocal_class_result:()=>MF,ai_sensor_ailocal_train:()=>IF,ai_sensor_asr_recognize:()=>RF,ai_sensor_audio_play:()=>mF,ai_sensor_audio_record:()=>hF,ai_sensor_barcode:()=>Zf,ai_sensor_circle:()=>_F,ai_sensor_classifier_faces:()=>SF,ai_sensor_color:()=>uF,ai_sensor_color_chases:()=>dF,ai_sensor_color_chases_result:()=>lF,ai_sensor_config:()=>zf,ai_sensor_face:()=>CF,ai_sensor_find_20objects:()=>LF,ai_sensor_find_barcodes:()=>eF,ai_sensor_find_circles:()=>oF,ai_sensor_find_colors:()=>rF,ai_sensor_find_licenseplates:()=>gF,ai_sensor_find_lines:()=>sF,ai_sensor_find_qrcodes:()=>$f,ai_sensor_find_rects:()=>aF,ai_sensor_find_tags:()=>iF,ai_sensor_licenseplate:()=>cF,ai_sensor_line:()=>nF,ai_sensor_qrcode:()=>jf,ai_sensor_qrcode_lite:()=>Qf,ai_sensor_rect:()=>pF,ai_sensor_rgb:()=>qf,ai_sensor_tag:()=>tF,ai_sensor_use_uart_init:()=>Jf,ai_sensor_yolo_recognize:()=>EF,ai_sensor_yolo_recognize_result:()=>OF});var q={};e.r(q),e.d(q,{AI_CAMERA_INIT:()=>ZF,AI_CAMERA_INIT_FACERECOGNIZE:()=>iP,AI_CAMERA_INIT_SIMPLE:()=>DP,AI_STOP_ACQUISITION:()=>AP,CAMERA_LOOGOUT:()=>wF,CI130X_BROADCAST_SANT:()=>vF,CI130X_BROADCAST_SYSTEM_TIME:()=>yF,CI130X_GET_THE_RECOGNIZED_CMD_SANT:()=>YF,CI130X_GET_WHETHER_IDENTIFY_SANT:()=>PF,CI130X_IDENTIFY_AND_SAVE_SANT:()=>FF,CI130X_OPEN_AND_CLOSE:()=>fF,CI130X_PLAY_SYSTEM_CMD_SANT:()=>xF,CI130X_SET_SYSTEM_CMD_SANT:()=>XF,CONVERT_IMAGE_TO_JPG:()=>WF,CREATE_CAMERA:()=>bF,CREATE_CAMERA_SIMPLE:()=>NP,DELETE_FACE_ALL:()=>MP,DELETE_FACE_FROM_DATABASE:()=>TP,GET_CAT_FACE_DETECTION_NUM:()=>RP,GET_COLOR_DETECTION_NUM:()=>OP,GET_FACE_DETECTION_NAME:()=>CP,GET_FACE_DETECTION_NUM:()=>gP,GET_HOW_MUCH_RECOGNITION:()=>oP,GET_HUMAN_DETECTION_NUM:()=>cP,GET_IMAGE_AND_SAVE:()=>BF,GET_IMAGE_FROM_NET:()=>UF,GET_NO_CAT_OR_FACE_RECOGNITION:()=>rP,GET_NO_FACE_RECOGNITION_INFO:()=>SP,GET_NO_RECOGNITION:()=>pP,GET_NO_XY_RECOGNITION:()=>aP,GET_NO_XY_RECOGNITION_FACE:()=>uP,GET_PICTURE_DATA_EXACT:()=>HF,GET_PICTURE_DATA_WHS:()=>KF,GET_PICTURE_RECOGNITION_DATA:()=>EP,GET_PICTURE_WIDTH_HEIGHT_DEVICE:()=>kF,GET_QR_CODE_RECOGNITION_DATA:()=>mP,GET_SCREEN_IMAGE:()=>jF,GET_SCREEN_IMAGE_SIZE:()=>$F,MIXIO_REPORT_IMAGE_DATA:()=>LP,MODEL_INIT_HEIGHT:()=>tP,MODEL_INIT_WIDTH:()=>eP,MODEL_LOGOUT:()=>nP,MODEL_RUN:()=>sP,MODEL_WHETHER_RUN_SUCCEED:()=>_P,OPEN_IMAGE:()=>GF,PRINT_FACE_DATABASE:()=>hP,REGISTER_NEW_FACE:()=>IP,REGISTER_NEW_FACE_SIMPLE:()=>FP,Register_color_recognition:()=>dP,Register_color_recognition_fixed:()=>lP,Register_color_recognition_fixed_SIMPLE:()=>fP,SCREEN_DISPLAY_IMAGE:()=>zF,SCREEN_DISPLAY_IMAGE_LOCATION:()=>qF,SCREEN_SHOW_CAM_GRAPH_SHOOT:()=>JF,SCREEN_SHOW_CAM_GRAPH_SHOOT_LOCATION:()=>QF,SHOOT_AND_SAVE_PICTURE:()=>VF,VOICE_RECOGNITION_CONTROL:()=>DF,yesorno:()=>NF});var j={};e.r(j),e.d(j,{MICROPYTHON_AI_Speech_asr:()=>vP,MICROPYTHON_AI_Speech_unit:()=>YP,MICROPYTHON_AI_client:()=>PP});var $={};e.r($),e.d($,{mpython_blynk_app_data:()=>WP,mpython_blynk_app_notify:()=>GP,mpython_blynk_email:()=>KP,mpython_blynk_get_timers:()=>wP,mpython_blynk_on_connected:()=>bP,mpython_blynk_on_disconnected:()=>xP,mpython_blynk_run:()=>BP,mpython_blynk_sensor_data_to_app:()=>kP,mpython_blynk_set_property:()=>JP,mpython_blynk_setup:()=>QP,mpython_blynk_stop_timers:()=>UP,mpython_blynk_sync_virtual:()=>yP,mpython_blynk_terminal_widget_vpin:()=>XP,mpython_blynktimer:()=>HP,mpython_blynktimer_run:()=>VP});var Z={};e.r(Z),e.d(Z,{communicate_bluetooth_central_init:()=>fY,communicate_bluetooth_connect:()=>YY,communicate_bluetooth_disconnect:()=>vY,communicate_bluetooth_handle:()=>BY,communicate_bluetooth_is_connected:()=>yY,communicate_bluetooth_mac:()=>XY,communicate_bluetooth_peripheral_init:()=>FY,communicate_bluetooth_recv:()=>VY,communicate_bluetooth_recv_only:()=>bY,communicate_bluetooth_scan:()=>PY,communicate_bluetooth_send:()=>xY,communicate_espnow_init:()=>GY,communicate_espnow_init_new:()=>UY,communicate_i2c_available:()=>iY,communicate_i2c_init:()=>jP,communicate_i2c_master_read:()=>tY,communicate_i2c_onboard:()=>zP,communicate_i2c_read:()=>$P,communicate_i2c_scan:()=>eY,communicate_i2c_write:()=>ZP,communicate_ir_recv_init:()=>OY,communicate_ir_send_init:()=>SY,communicate_ow_init:()=>IY,communicate_ow_read:()=>hY,communicate_ow_reset:()=>MY,communicate_ow_scan:()=>TY,communicate_ow_select:()=>EY,communicate_ow_write:()=>mY,communicate_spi_buffer:()=>oY,communicate_spi_init:()=>sY,communicate_spi_onboard:()=>qP,communicate_spi_read:()=>pY,communicate_spi_read_output:()=>aY,communicate_spi_readinto:()=>uY,communicate_spi_readinto_output:()=>rY,communicate_spi_set:()=>_Y,communicate_spi_write:()=>lY,communicate_spi_write_readinto:()=>dY,espnow_radio_channel:()=>JY,espnow_radio_channel_new:()=>zY,espnow_radio_on_off:()=>qY,espnow_radio_rec:()=>$Y,espnow_radio_recv:()=>ev,espnow_radio_recv_certain_msg:()=>tv,espnow_radio_recv_certain_msg_new:()=>nv,espnow_radio_recv_msg:()=>ZY,espnow_radio_recv_new:()=>iv,espnow_radio_send:()=>jY,espnow_radio_txpower:()=>QY,i2c_slave_onreceive:()=>nY,internal_variable:()=>RY,ir_recv_timeout:()=>CY,ir_transmit_busy:()=>DY,ir_transmit_conventional_data:()=>AY,ir_transmit_raw_code:()=>NY,ir_transmit_study_code:()=>LY,ir_whether_recv:()=>gY,lora_init:()=>sv,lora_packet:()=>_v,lora_recv:()=>pv,lora_send:()=>ov,network_espnow_info:()=>HY,network_espnow_mac:()=>wY,network_espnow_recv:()=>kY,network_espnow_recv_handle:()=>KY,network_espnow_send:()=>WY,recv_fun:()=>cY,urequests_attribute:()=>uv,urequests_get:()=>av,urequests_method:()=>rv});var ee={};e.r(ee),e.d(ee,{display_animate:()=>yv,display_circle:()=>xv,display_color_seclet:()=>Jv,display_draw_4strings:()=>Dv,display_fill:()=>Xv,display_lcd_use_i2c_init:()=>Zv,display_line:()=>Pv,display_line_arbitrarily:()=>fv,display_matrix_extern_bright_point:()=>cv,display_matrix_extern_bright_screen:()=>Cv,display_matrix_extern_clear:()=>Ev,display_matrix_extern_get_pixel:()=>Rv,display_matrix_extern_get_screen_pixel:()=>gv,display_matrix_extern_image_builtins:()=>Sv,display_matrix_extern_scroll_string:()=>hv,display_matrix_extern_scroll_string_delay:()=>mv,display_matrix_extern_shift:()=>Ov,display_matrix_extern_show_frame_string:()=>Tv,display_matrix_extern_show_frame_string_delay:()=>Mv,display_matrix_extern_show_image:()=>dv,display_matrix_extern_show_image_or_string_delay:()=>Iv,display_matrix_use_i2c_init:()=>lv,display_oled_drawPixel:()=>Bv,display_oled_showBitmap:()=>Vv,display_oled_use_i2c_init:()=>sX,display_onoff:()=>Yv,display_rect:()=>Fv,display_tm1650_power:()=>Uv,display_tm1650_set_brightness:()=>kv,display_tm1650_show_dot:()=>Hv,display_tm1650_show_num:()=>wv,display_tm_use_i2c_init:()=>Gv,display_triangle:()=>bv,display_use_i2c_init:()=>Nv,extern_oled_bright_point:()=>hX,extern_oled_clear:()=>IX,extern_oled_get_pixel:()=>MX,extern_oled_hvline:()=>EX,extern_oled_line:()=>OX,extern_oled_scroll_string:()=>lX,extern_oled_scroll_string_delay:()=>dX,extern_oled_shape_rect:()=>mX,extern_oled_shift:()=>TX,extern_oled_show_frame_string:()=>uX,extern_oled_show_frame_string_delay:()=>rX,extern_oled_show_image:()=>_X,extern_oled_show_image_or_string_delay:()=>aX,extern_oled_show_image_xy:()=>oX,extern_oled_show_string:()=>pX,image_shift:()=>vv,lcd_backlight:()=>iX,lcd_clear:()=>nX,lcd_print_string:()=>tX,lcd_show_image_or_string_delay:()=>eX,matrix_extern_image_arithmetic:()=>Av,matrix_extern_image_invert:()=>Lv,tft_fill:()=>jv,tft_line_arbitrarily:()=>$v,tft_scroll_string_delay:()=>qv,tft_show_frame_string_delay:()=>zv,tft_show_image_or_string_delay:()=>Qv,tft_show_image_xy:()=>Kv,tft_use_spi_init:()=>Wv});var te={};e.r(te),e.d(te,{bitbot_display_bitmap_create:()=>dy,bitbot_display_image_create:()=>ly,display_available:()=>vX,display_bitmap_create:()=>PX,display_bright_point:()=>VX,display_bright_screen:()=>GX,display_clear:()=>YX,display_get_pixel:()=>bX,display_get_screen_pixel:()=>BX,display_image_builtins:()=>DX,display_image_builtins_all:()=>fX,display_image_create:()=>FX,display_scroll_string:()=>SX,display_scroll_string_delay:()=>AX,display_scroll_way:()=>LX,display_shift:()=>xX,display_show_frame_string:()=>gX,display_show_frame_string_delay:()=>CX,display_show_image:()=>RX,display_show_image_or_string_delay:()=>cX,draw_pointer:()=>fy,image_arithmetic:()=>XX,image_invert:()=>yX,mixbot_display_bitmap_create:()=>oy,mixbot_display_bright_screen:()=>uy,mixbot_display_get_ambientbright:()=>ay,mixbot_display_get_screen_pixel:()=>py,mixbot_display_image_create:()=>_y,mixbot_display_rotate:()=>ry,mixgo_display_bitmap_create:()=>JX,mixgo_display_image_create_new:()=>KX,mixgome_display_bitmap_create:()=>wX,mixgome_display_font:()=>WX,mixgome_display_image_create:()=>UX,mixgomini_display_bitmap_create:()=>kX,mixgomini_display_image_create:()=>HX,mpython_display_hvline:()=>ny,mpython_display_line:()=>sy,mpython_display_shape_rect:()=>iy,mpython_pbm_image:()=>QX,nova_draw_pointer:()=>Fy,onboard_oled_bright_point:()=>ty,onboard_oled_scroll_string_delay:()=>ey,onboard_oled_show_frame_string_delay:()=>ZX,onboard_oled_show_image:()=>zX,onboard_oled_show_image_or_string_delay:()=>$X,onboard_oled_show_image_xy:()=>qX,onboard_oled_show_string:()=>jX,onboard_tft_bright_point:()=>cy,onboard_tft_bright_screen:()=>Vy,onboard_tft_clear:()=>By,onboard_tft_clock_clear:()=>Ny,onboard_tft_clock_draw:()=>Ly,onboard_tft_clock_get_rtctime:()=>Sy,onboard_tft_clock_init:()=>Cy,onboard_tft_clock_set_time:()=>Ay,onboard_tft_display_hvline:()=>Ey,onboard_tft_display_line:()=>Oy,onboard_tft_display_shape_circle:()=>Dy,onboard_tft_display_shape_rect:()=>my,onboard_tft_fill:()=>gy,onboard_tft_get_pixel:()=>Ry,onboard_tft_get_screen_pixel:()=>by,onboard_tft_scroll_string_delay:()=>NX,onboard_tft_shift:()=>xy,onboard_tft_show_frame_string:()=>yy,onboard_tft_show_frame_string_delay:()=>hy,onboard_tft_show_image:()=>Xy,onboard_tft_show_image_or_string_delay:()=>My,onboard_tft_show_image_xy:()=>Iy,onboard_tft_show_image_xy_direct:()=>Ty,onboard_tft_show_qrcode:()=>Yy,onboard_tft_show_qrcode_details:()=>vy,onboard_tft_show_texts:()=>Py});var ie={};e.r(ie),e.d(ie,{factory_block:()=>Jy,factory_block_return:()=>Qy,factory_block_return_with_textarea:()=>qy,factory_block_with_textarea:()=>zy,factory_callMethod_noreturn:()=>Wy,factory_callMethod_return:()=>Ky,factory_declare:()=>ky,factory_from_import:()=>Gy,factory_function_noreturn:()=>wy,factory_function_return:()=>Hy,factory_import:()=>Uy,folding_block:()=>jy});var ne={};e.r(ne),e.d(ne,{inout_analog_atten:()=>dx,inout_analog_read:()=>_x,inout_analog_read_init:()=>lx,inout_analog_write:()=>ix,inout_analog_write_init:()=>rx,inout_analog_write_set:()=>nx,inout_digital_init:()=>ax,inout_digital_read:()=>ex,inout_digital_write:()=>Zy,inout_highlow:()=>$y,inout_pin_attachInterrupt:()=>px,inout_pin_pressed:()=>ox,inout_pin_pressed_init:()=>Ix,inout_pwm_analog_write:()=>tx,inout_pwm_analog_write_init:()=>ux,inout_pwm_analog_write_set_freq:()=>sx});var se={};e.r(se),e.d(se,{IOT_CONNECT_OLLAMA:()=>wx,IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>vx,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>Px,IOT_EMQX_PING:()=>Xx,IOT_FORMATTING:()=>fx,IOT_FORMAT_STRING:()=>Fx,IOT_MIXIO_NTP:()=>yx,IOT_MIXIO_PUBLISH:()=>cx,IOT_MIXIO_PUBLISHEX:()=>gx,IOT_MIXIO_SUBSCRIBE:()=>Cx,iot_client_onboard:()=>xx,iot_connect_ollama:()=>Ux,iot_connect_openai:()=>Hx,iot_http_client:()=>bx,iot_http_data:()=>Vx,iot_mixio_check:()=>Lx,iot_mixio_connect:()=>Rx,iot_mixio_connect_only:()=>Ax,iot_mixio_disconnect:()=>Sx,iot_mixio_format_msg:()=>Dx,iot_mixio_format_topic:()=>Nx,iot_mixly_key:()=>Yx,iot_mqtt_client:()=>Bx,iot_mqtt_data:()=>Gx,iot_onenet_check:()=>Ex,iot_onenet_connect:()=>Mx,iot_onenet_disconnect:()=>hx,iot_onenet_publish:()=>Ox,iot_onenet_publish_dict:()=>mx,iot_tiny_web_db_count:()=>jx,iot_tiny_web_db_delete:()=>Zx,iot_tiny_web_db_get:()=>qx,iot_tiny_web_db_init:()=>Jx,iot_tiny_web_db_init_with_mqtt:()=>Qx,iot_tiny_web_db_search:()=>$x,iot_tiny_web_db_update:()=>zx,iot_wifi_connect:()=>Tx,ollama_empty_history:()=>Kx,use_ollama_llm_to_chat:()=>kx,use_ollama_llm_to_chat_return:()=>Wx});var _e={};e.r(_e),e.d(_e,{educore_mqtt_connect:()=>Pb,educore_mqtt_connect_success:()=>yb,educore_mqtt_subscribe_message:()=>Yb,educore_mqtt_topic_publish:()=>Xb,educore_mqtt_topic_subscribe:()=>vb,educore_wifi_connect:()=>Fb,network_ap_connect:()=>ab,network_connect:()=>tb,network_get_connect:()=>nb,network_get_wifi:()=>pb,network_init:()=>eb,network_is_active:()=>ob,network_open:()=>_b,network_scan:()=>ub,network_server:()=>rb,network_socket_accept:()=>Mb,network_socket_bind:()=>db,network_socket_close:()=>cb,network_socket_connect:()=>Ib,network_socket_init:()=>lb,network_socket_listen:()=>Tb,network_socket_readline:()=>hb,network_socket_receive:()=>mb,network_socket_receive_from:()=>Ob,network_socket_send:()=>Eb,network_socket_send_to:()=>Rb,network_stop:()=>sb,network_wifi_connect:()=>ib,ntptime_address:()=>Lb,ntptime_time:()=>Ab,requests_attribute:()=>Cb,requests_attribute2:()=>Db,requests_get:()=>gb,requests_get2:()=>Nb,requests_method:()=>Sb,requests_post:()=>fb});var oe={};e.r(oe),e.d(oe,{get_potential_num:()=>xb,nova_g1_motor:()=>bb,nova_g1_spk_en:()=>Bb,nova_g1_usb:()=>Vb});var pe={};e.r(pe),e.d(pe,{pe_g1_battery_left:()=>Ub,pe_g1_dc_motor:()=>wb,pe_g1_dc_motor_speed:()=>Hb,pe_g1_servo_get_angle:()=>Kb,pe_g1_servo_get_speed:()=>Jb,pe_g1_servo_set_angle:()=>kb,pe_g1_servo_set_speed:()=>Wb,pe_g1_use_i2c_init:()=>Gb});var ae={};e.r(ae),e.d(ae,{CI130X_BROADCAST:()=>hV,CI130X_GET_THE_RECOGNIZED_CMD:()=>MV,CI130X_GET_WHETHER_IDENTIFY:()=>TV,CI130X_IDENTIFY_AND_SAVE:()=>IV,CI130X_SET_SYSTEM_CMD:()=>mV,HCSR04:()=>zV,PS2_Button:()=>$V,PS2_Buttons:()=>ZV,PS2_Buttons_new:()=>pB,PS2_State:()=>eB,PS2_init:()=>qV,PS2_init_new:()=>_B,PS2_stk:()=>tB,PS2_stk_new:()=>aB,PS2_vibration:()=>jV,PS2_vibration_new:()=>oB,RTC_get_time:()=>nB,RTC_set_date:()=>tV,RTC_set_datetime:()=>iB,RTC_set_time:()=>eV,camera_sensor_init:()=>BB,camera_sensor_result:()=>GB,column_tube_foot:()=>kB,define_keyboards:()=>WB,educore_body_sensor:()=>fB,educore_button_sensor_extern:()=>vB,educore_camera_sensor:()=>VB,educore_infrared_sensor:()=>YB,educore_soilhum_sensor:()=>FB,educore_temp_sensor:()=>bB,educore_temphum_sensor:()=>PB,educore_ultrasonic_sensor:()=>yB,esp32_s2_weather_init:()=>WV,esp32_s2_weather_rain:()=>JV,esp32_s2_weather_wd:()=>KV,esp32_s2_weather_ws:()=>QV,extern_rfid_read:()=>vV,extern_rfid_readcontent:()=>yV,extern_rfid_readid:()=>XV,extern_rfid_status:()=>VV,extern_rfid_write:()=>xV,extern_rfid_write_return:()=>bV,get_keboards_value:()=>JB,gnss_get_data:()=>lB,gnss_have_data:()=>dB,init_init_rotary_encoder:()=>QB,init_matrix_keyboard:()=>KB,interaction_whether_to_interaction:()=>lV,interaction_whether_to_interaction_SANT:()=>dV,line_tube_foot:()=>HB,mixbot_sensor_extern_get_addr:()=>gB,mixbot_sensor_extern_set_addr:()=>CB,pm25_get_data:()=>rB,radar_set_DETECTION_THRESHOLD:()=>uV,radar_set_DETECTION_THRESHOLD_SANT:()=>rV,robot_button_extern_get_value:()=>TB,robot_color_extern_get_value:()=>OB,robot_infrared_extern_get_value:()=>hB,robot_infrared_extern_grey_get_value:()=>mB,robot_potentiometer_extern_get_value:()=>EB,robot_sonar_extern_get_value:()=>RB,robot_sonar_extern_led:()=>cB,robot_touch_extern_get_value:()=>MB,rotary_key:()=>zB,sensor_APDS9960_extern:()=>OV,sensor_DS18X20:()=>DB,sensor_LTR308_extern:()=>RV,sensor_LTR390UV_extern:()=>NV,sensor_MAX30102_extern:()=>EV,sensor_QMC5883L_extern:()=>DV,sensor_VL530LX_extern:()=>PV,sensor_aht11_extern:()=>FV,sensor_bmp:()=>oV,sensor_dht11:()=>sB,sensor_distance_hrsc04:()=>Zb,sensor_hp203_extern:()=>cV,sensor_ltr381_extern:()=>AV,sensor_mixgo_extern_button_attachInterrupt:()=>jb,sensor_mixgo_extern_button_get_presses:()=>qb,sensor_mixgo_extern_button_is_pressed:()=>Qb,sensor_mixgo_extern_button_was_pressed:()=>zb,sensor_mixgo_extern_light:()=>iV,sensor_mixgo_extern_pin_near:()=>sV,sensor_mixgo_extern_sound:()=>nV,sensor_mixgoce_hot_wheel_degrees:()=>kV,sensor_mixgoce_hot_wheel_is_touched:()=>HV,sensor_mpu9250_attachGestureInterrupt:()=>$b,sensor_ms5611_extern:()=>CV,sensor_ms5611_extern_altitude:()=>SV,sensor_read_humiture:()=>XB,sensor_rtc_init:()=>_V,sensor_sht:()=>pV,sensor_shtc3_extern:()=>fV,sensor_spl06_001_extern:()=>gV,sensor_ucs12071_extern:()=>LV,sensor_use_i2c_init:()=>aV,sensor_use_spi_init:()=>YV,sensor_use_uart_init:()=>uB,sensor_weather_solo_init:()=>SB,sensor_weather_solo_rain:()=>NB,sensor_weather_solo_wd:()=>AB,sensor_weather_solo_ws:()=>LB,sensor_weigh_init:()=>UB,tvoc_get_data:()=>IB,ultrasonic_sensor_read_distance:()=>xB,weather_data:()=>BV,weather_have_data:()=>GV,weather_set_label:()=>wV,weather_uart_mixio:()=>UV,weigh_sensor_get_weight:()=>wB});var ue={};e.r(ue),e.d(ue,{HCSR04:()=>sG,bitbot_als_num:()=>LU,dht11:()=>XU,educore_button_sensor:()=>UU,educore_button_was_pressed:()=>wU,educore_gyroscope_sensor:()=>VU,educore_gyroscope_sensor_read:()=>BU,educore_gyroscope_sensor_shake:()=>GU,educore_light_sensor:()=>bU,educore_rfid_sensor:()=>HU,educore_rfid_sensor_scan:()=>kU,educore_rfid_sensor_scan_data:()=>WU,educore_voice_sensor:()=>yU,number1:()=>_G,number2:()=>oG,number3:()=>pG,number4:()=>aG,number5:()=>uG,number6:()=>rG,number7:()=>lG,onboard_RTC_get_time:()=>iU,onboard_RTC_get_time_str:()=>_U,onboard_RTC_get_timestamp:()=>nU,onboard_RTC_get_timetuple_to_str:()=>oU,onboard_RTC_set_datetime:()=>eU,onboard_RTC_settime_string:()=>tU,onboard_RTC_timestamp_totuple:()=>sU,rfid_readcontent:()=>NG,rfid_readid:()=>LG,rfid_status:()=>FG,rfid_write:()=>DG,rfid_write_return:()=>fG,sensor_LTR308:()=>cG,sensor_adxl345_get_acceleration:()=>BG,sensor_aht11:()=>SG,sensor_bitbot_ALS:()=>AU,sensor_button_get_presses:()=>fU,sensor_button_is_pressed:()=>NU,sensor_button_was_pressed:()=>DU,sensor_compass_reset:()=>WG,sensor_ds18x20:()=>OG,sensor_eulerangles:()=>YG,sensor_get_acceleration:()=>PG,sensor_get_temperature:()=>AG,sensor_get_the_coprocessor_version:()=>KU,sensor_hp203:()=>CG,sensor_light:()=>vU,sensor_lm35:()=>RG,sensor_mixbot_get_gyro:()=>SU,sensor_mixbot_patrol_calibrate:()=>cU,sensor_mixbot_patrol_value:()=>gU,sensor_mixbot_temperature:()=>CU,sensor_mixgo_LTR308:()=>hG,sensor_mixgo_button_attachInterrupt:()=>ZB,sensor_mixgo_button_get_presses:()=>$B,sensor_mixgo_button_is_pressed:()=>qB,sensor_mixgo_button_was_pressed:()=>jB,sensor_mixgo_cc_mmc5603_calibrate_compass:()=>uU,sensor_mixgo_cc_mmc5603_get_angle:()=>aU,sensor_mixgo_cc_mmc5603_get_magnetic:()=>pU,sensor_mixgo_light:()=>YU,sensor_mixgo_nova_LTR308:()=>EG,sensor_mixgo_nova_pin_near:()=>MG,sensor_mixgo_pin_near:()=>TG,sensor_mixgo_pin_near_double:()=>IG,sensor_mixgo_pin_near_single:()=>dG,sensor_mixgo_pin_pressed:()=>bG,sensor_mixgo_sant_color:()=>mG,sensor_mixgo_touch_slide:()=>xG,sensor_mixgocar42_button_attachInterrupt:()=>nG,sensor_mixgocar42_button_get_presses:()=>iG,sensor_mixgocar42_button_is_pressed:()=>eG,sensor_mixgocar42_button_was_pressed:()=>tG,sensor_mixgocar_battery_left:()=>RU,sensor_mixgocar_pin_near:()=>EU,sensor_mixgocar_pin_near_line:()=>mU,sensor_mixgocar_pin_near_state_change:()=>OU,sensor_mixgoce_pin_pressed:()=>yG,sensor_mixgoce_temperature:()=>lU,sensor_mixgome_temperature:()=>rU,sensor_mpu9250_calibrate_compass:()=>wG,sensor_mpu9250_field_strength:()=>kG,sensor_mpu9250_gesture:()=>vG,sensor_mpu9250_get_acceleration:()=>XG,sensor_mpu9250_get_gyro:()=>UG,sensor_mpu9250_get_magnetic:()=>GG,sensor_mpu9250_temperature:()=>HG,sensor_mpython_pin_pressed:()=>VG,sensor_mpython_qmi8658_get_gyro:()=>dU,sensor_mpython_qmi8658_temperature:()=>IU,sensor_onboard_compass_reset:()=>ZG,sensor_onboard_mpu9250_calibrate_compass:()=>qG,sensor_onboard_mpu9250_field_strength:()=>$G,sensor_onboard_mpu9250_gesture:()=>KG,sensor_onboard_mpu9250_get_acceleration:()=>JG,sensor_onboard_mpu9250_get_gyro:()=>zG,sensor_onboard_mpu9250_get_magnetic:()=>QG,sensor_onboard_mpu9250_temperature:()=>jG,sensor_pin_near:()=>PU,sensor_pin_pressed:()=>FU,sensor_read:()=>xU,sensor_rm_acc:()=>hU,sensor_rm_battery_left:()=>MU,sensor_rm_pin_near_double:()=>TU,sensor_sound:()=>gG,simulated_light_sensor:()=>JU});var re={};e.r(re),e.d(re,{serial_any:()=>$U,serial_print:()=>QU,serial_print_byte:()=>zU,serial_print_hex:()=>jU,serial_println:()=>qU,serial_read_from_ai:()=>uw,serial_readline:()=>ew,serial_readstr:()=>ZU,serial_send_to_ai:()=>aw,serial_softserial:()=>tw,serial_softserial_new:()=>iw,system_input:()=>nw,system_print:()=>sw,system_print_end:()=>ow,system_print_inline:()=>_w,system_print_many:()=>pw});var le={};e.r(le),e.d(le,{Panic_with_status_code:()=>cw,Timer_init:()=>bw,base_delay:()=>Gw,controls_delay:()=>Lw,controls_delay_new:()=>Nw,controls_end_program:()=>Cw,controls_millis:()=>gw,controls_uname:()=>Aw,reset:()=>Sw,set_system_timer:()=>fw,system_bitbot_shutdown:()=>xw,system_device_name:()=>Ow,system_device_serial_number:()=>Rw,system_event_bus_source:()=>mw,system_event_bus_value:()=>Ew,system_machine_reset:()=>yw,system_on_event:()=>Tw,system_raise_event:()=>Iw,system_reset:()=>lw,system_run_in_background:()=>rw,system_ticks_diff:()=>Fw,system_timer:()=>Yw,system_timer_init:()=>Pw,system_timestamp:()=>Mw,system_value:()=>hw,system_wait:()=>dw,system_wdt_feed:()=>Xw,system_wdt_init:()=>vw,time_ticks_diff:()=>Bw,timer:()=>Dw,timer2:()=>Vw});var de={};e.r(de),e.d(de,{Air_daily_content:()=>Zw,Air_now_content:()=>Kw,Geo_moon_content:()=>tH,Geo_sun_content:()=>eH,Life_suggestion_content:()=>Qw,Location_search_content:()=>qw,Tide_daily_content:()=>zw,WEATHER_DAILY:()=>ww,WEATHER_HOUR:()=>Hw,WEATHER_NOW:()=>Uw,Weather_alarm_content:()=>Jw,Weather_daily:()=>jw,Weather_daily_content:()=>$w,Weather_now:()=>kw,Weather_now_content:()=>Ww});var Ie={};e.r(Ie),e.d(Ie,{MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED:()=>sH});var Te={};e.r(Te),e.d(Te,{MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED:()=>oH});var Me={};e.r(Me),e.d(Me,{MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED:()=>aH});var he={};e.r(he),e.d(he,{controls_pin_attachInterrupt:()=>DH,inout_analog_atten:()=>EH,inout_analog_write:()=>hH,inout_analog_write_init:()=>gH,inout_analog_write_set:()=>mH,inout_analog_write_set_freq:()=>SH,inout_digital_init:()=>cH,inout_digital_read:()=>MH,inout_digital_write:()=>TH,inout_highlow:()=>IH,inout_pinMode:()=>AH,inout_pin_attachInterrupt:()=>RH,inout_pin_pressed:()=>OH,inout_pin_pressed_init:()=>CH,pin_pressed:()=>NH,pin_pressed_init:()=>LH});var me={};e.r(me),e.d(me,{analog_input:()=>bH,analog_output:()=>BH,espnow_channel:()=>XH,haskylens_model:()=>yH,i2c_A_pin:()=>GH,i2c_B_pin:()=>UH,pins_analog:()=>KH,pins_analog_pin:()=>JH,pins_axis:()=>rk,pins_brightness:()=>lk,pins_builtinimg:()=>nk,pins_builtinimg_extern:()=>sk,pins_button:()=>qH,pins_buttonB:()=>jH,pins_dac:()=>QH,pins_dac_pin:()=>zH,pins_digital:()=>FH,pins_digital_dot:()=>Ok,pins_digital_pin:()=>PH,pins_exlcdh:()=>ak,pins_exlcdv:()=>uk,pins_imglist:()=>_k,pins_input_pin:()=>YH,pins_one_more:()=>Ek,pins_output_pin:()=>vH,pins_playlist:()=>ok,pins_playlist_extern:()=>pk,pins_pwm:()=>$H,pins_pwm_pin:()=>ZH,pins_radio_datarate:()=>mk,pins_radio_power:()=>hk,pins_serial:()=>ik,pins_tone_notes:()=>Mk,pins_touch:()=>tk,pins_touch_pin:()=>ek,pins_tts_bgmusic:()=>Tk,pins_tts_builtin_music:()=>Ik,pins_tts_voice:()=>dk,pwm_input:()=>xH,pwm_output:()=>VH,spi_A_pin:()=>wH,spi_B_pin:()=>HH,spi_C_pin:()=>kH,spi_D_pin:()=>WH,timer_id_pin:()=>Rk});var Ee={};e.r(Ee),e.d(Ee,{mini_g2_rfid_readcontent:()=>gk,mini_g2_rfid_readid:()=>ck,mini_g2_rfid_status:()=>Ak,mini_g2_rfid_write:()=>Ck,mini_g2_rfid_write_outcome:()=>Sk});var Oe={};e.r(Oe),e.d(Oe,{inout_analog_atten:()=>yk,inout_analog_write:()=>fk,inout_analog_write_init:()=>Xk,inout_analog_write_set:()=>Fk,inout_digital_init:()=>vk,inout_digital_read:()=>Dk,inout_digital_write:()=>Nk,inout_highlow:()=>Lk,inout_pin_attachInterrupt:()=>Yk,inout_pin_pressed:()=>Pk,inout_pin_pressed_init:()=>xk});var Re={};e.r(Re),e.d(Re,{analog_input:()=>Kk,analog_output:()=>Qk,espnow_channel:()=>kk,haskylens_model:()=>Wk,i2c_A_pin:()=>zk,i2c_B_pin:()=>qk,pins_analog:()=>iW,pins_analog_pin:()=>tW,pins_axis:()=>MW,pins_brightness:()=>EW,pins_builtinimg:()=>DW,pins_builtinimg_extern:()=>lW,pins_button:()=>Vk,pins_buttonB:()=>Bk,pins_dac:()=>oW,pins_dac_pin:()=>_W,pins_digital:()=>bk,pins_digital_dot:()=>LW,pins_digital_pin:()=>Gk,pins_exlcdh:()=>hW,pins_exlcdv:()=>mW,pins_imglist:()=>dW,pins_input_pin:()=>Uk,pins_interrupt:()=>uW,pins_one_more:()=>AW,pins_output_pin:()=>wk,pins_playlist:()=>IW,pins_playlist_extern:()=>TW,pins_pwm:()=>sW,pins_pwm_input:()=>Hk,pins_pwm_pin:()=>nW,pins_radio_datarate:()=>SW,pins_radio_power:()=>CW,pins_serial:()=>rW,pins_tone_notes:()=>gW,pins_touch:()=>aW,pins_touch_pin:()=>pW,pins_tts_bgmusic:()=>cW,pins_tts_builtin_music:()=>RW,pins_tts_voice:()=>OW,pwm_output:()=>Jk,spi_A_pin:()=>jk,spi_B_pin:()=>$k,spi_C_pin:()=>Zk,spi_D_pin:()=>eW,timer_id_pin:()=>NW});var ce={};e.r(ce),e.d(ce,{mini_g2_rfid_readcontent:()=>FW,mini_g2_rfid_readid:()=>fW,mini_g2_rfid_status:()=>vW,mini_g2_rfid_write:()=>PW,mini_g2_rfid_write_outcome:()=>YW});const ge=Blockly,Ce=Mixly,Se={NAME_TYPE:"VARIABLE",allVariables:function(e){var t;if(e.getDescendants)t=e.getDescendants();else{if(!e.getAllBlocks)throw"Not Block or Workspace: "+e;t=e.getAllBlocks()}for(var i=Object.create(null),n=0;n1&&(o+=n)):i=o}else i="i";return i}},Ae=Se; -/** - * @license - * Visual Blocks Editor - * - * Copyright 2012 Google Inc. - * https://developers.google.com/blockly/ - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -class Le{constructor(e,t){if(this.variablePrefix_=t||"",this.reservedDict_=Object.create(null),e)for(var i=e.split(","),n=0;n0;s--)t.getInputTargetBlock("IF"+s)&&t.getInputTargetBlock("IF"+s).previousConnection?i[s]=t.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),t.getInputTargetBlock("DO"+s)&&t.getInputTargetBlock("DO"+s).previousConnection?n[s]=t.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(e.getAttribute("elseif"),10),this.elseCount_=parseInt(e.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(ge.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+s).appendField(ge.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(ge.Msg.CONTROLS_IF_MSG_ELSE);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(e){var t=e.newBlock("controls_if_if");t.initSvg();for(var i=t.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=e.newBlock("controls_if_elseif");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var _=e.newBlock("controls_if_else");_.initSvg(),i.connect(_.previousConnection)}return t},compose:function(e){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var t=this.elseifCount_;t>0;t--)this.removeInput("IF"+t),this.removeInput("DO"+t);this.elseifCount_=0;for(var i=e.getInputTargetBlock("STACK"),n=[null],s=[null],_=null;i;){switch(i.type){case"controls_if_elseif":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_if_else":this.elseCount_++,_=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,_)},saveConnections:function(e){for(var t=e.getInputTargetBlock("STACK"),i=1;t;){switch(t.type){case"controls_if_elseif":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);t.valueConnection_=n&&n.connection.targetConnection,t.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_if_else":s=this.getInput("ELSE");t.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}t=t.nextConnection&&t.nextConnection.targetBlock()}},rebuildShape_:function(){var e=[null],t=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),_=this.getInput("DO"+n);console.log(s.connection.targetConnection),e.push(s.connection.targetConnection),t.push(_.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(e,t,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var e=1;this.getInput("IF"+e);)this.removeInput("IF"+e),this.removeInput("DO"+e),e++;for(e=1;e<=this.elseifCount_;e++)this.appendValueInput("IF"+e).setCheck([Number,Boolean]).appendField(ge.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+e).appendField(ge.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(ge.Msg.CONTROLS_IF_MSG_ELSE)},reconnectChildBlocks_:function(e,t,i){for(var n=1;n<=this.elseifCount_;n++)e[n]&&e[n].reconnect(this,"IF"+n),t[n]&&t[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},We={init:function(){this.setColour(Be),this.appendValueInput("FROM").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.PYTHON_RANGE).appendField(ge.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.PYTHON_RANGE_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(ge.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},Ke={init:function(){this.setColour(Be),this.appendValueInput("LIST").setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.CONTROLS_FOREACH_INPUT),this.appendValueInput("VAR").appendField(ge.Msg.CONTROLS_FOREACH_INPUT_ITEM),this.appendStatementInput("DO").appendField(ge.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip((function(){return ge.Msg.CONTROLS_FOR_TOOLTIP.replace("“%1”","")}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){ge.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},Je={init:function(){this.setColour(Be),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(ge.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(new ge.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(ge.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT+ge.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE");return{WHILE:ge.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:ge.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[t]}))}},Qe={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.MIXLY_PYTHON_TRY),this.appendStatementInput("try"),this.appendValueInput("IF1").appendField(ge.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO1").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new ge.icons.MutatorIcon(["controls_except","controls_finally"],this)),this.setTooltip(ge.Msg.MIXLY_MIXPY_CONTROL_TRY_TOOLTIP),this.elseifCount_=1,this.elseCount_=0},mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var e=document.createElement("mutation");return this.elseifCount_&&e.setAttribute("elseif",this.elseifCount_),this.elseCount_&&e.setAttribute("else",1),e},domToMutation:function(e){var t=this,i=[],n=[];this.elseCount_&&this.removeInput("ELSE");for(var s=this.elseifCount_;s>0;s--)t.getInputTargetBlock("IF"+s)&&t.getInputTargetBlock("IF"+s).previousConnection?i[s]=t.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),t.getInputTargetBlock("DO"+s)&&t.getInputTargetBlock("DO"+s).previousConnection?n[s]=t.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(e.getAttribute("elseif"),10),this.elseCount_=parseInt(e.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(ge.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+s).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(ge.Msg.MIXLY_PYTHON_FINALLY);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(e){var t=e.newBlock("controls_try");t.initSvg();for(var i=t.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=e.newBlock("controls_except");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var _=e.newBlock("controls_finally");_.initSvg(),i.connect(_.previousConnection)}return t},compose:function(e){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var t=this.elseifCount_;t>0;t--)this.removeInput("IF"+t),this.removeInput("DO"+t);this.elseifCount_=0;for(var i=e.getInputTargetBlock("STACK"),n=[null],s=[null],_=null;i;){switch(i.type){case"controls_except":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_finally":this.elseCount_++,_=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,_)},saveConnections:function(e){for(var t=e.getInputTargetBlock("STACK"),i=1;t;){switch(t.type){case"controls_except":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);t.valueConnection_=n&&n.connection.targetConnection,t.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_finally":s=this.getInput("ELSE");t.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}t=t.nextConnection&&t.nextConnection.targetBlock()}},rebuildShape_:function(){var e=[null],t=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),_=this.getInput("DO"+n);console.log(s.connection.targetConnection),e.push(s.connection.targetConnection),t.push(_.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(e,t,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var e=1;this.getInput("IF"+e);)this.removeInput("IF"+e),this.removeInput("DO"+e),e++;for(e=1;e<=this.elseifCount_;e++)this.appendValueInput("IF"+e).setCheck([Number,Boolean]).appendField(ge.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+e).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(ge.Msg.MIXLY_PYTHON_FINALLY)},reconnectChildBlocks_:function(e,t,i){for(var n=1;n<=this.elseifCount_;n++)e[n]&&e[n].reconnect(this,"IF"+n),t[n]&&t[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},ze={init:function(){this.setColour(Be);var e=new ge.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(e,"FLOW").appendField(ge.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0),this.setTooltip(ge.Msg.MIXLY_PYTHON_CONTROLS_FLOW_STATEMENTS_TOOLTIP);var t=this;this.setTooltip((function(){var e=t.getFieldValue("FLOW");return{BREAK:ge.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:ge.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}[e]}))},onchange:function(){if(this.workspace){var e=!1,t=this;do{if("controls_repeat"==t.type||"controls_for"==t.type||"controls_forEach"==t.type||"controls_repeat_ext"==t.type||"controls_whileUntil"==t.type||"do_while"==t.type){e=!0;break}t=t.getSurroundParent()}while(t);e?this.setWarningText(null):this.setWarningText(ge.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}},qe={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new ge.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(ge.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){return ge.Msg.CONTROLS_FOR_TOOLTIP.replace("%1",e.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){ge.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},je={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new ge.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(ge.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){return ge.Msg.MIXLY_PYTHON_CONTROLS_FOR_RANGE_TOOLTIP.replace("%1",e.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){ge.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}};Je.OPERATORS=[[ge.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[ge.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]],ze.OPERATORS=[[ge.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[ge.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const $e={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.CONTROLS_IF_IF_TITLE_IF),this.appendStatementInput("STACK"),this.setTooltip(ge.Msg.CONTROLS_IF_IF_TOOLTIP),this.contextMenu=!1}},Ze={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},et={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.CONTROLS_IF_ELSE_TITLE_ELSE),this.setPreviousStatement(!0),this.setTooltip(ge.Msg.CONTROLS_IF_ELSE_TOOLTIP),this.contextMenu=!1}},tt={init:function(){this.setColour(Be),this.appendDummyInput().appendField("try"),this.appendStatementInput("STACK"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.contextMenu=!1}},it={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.MIXLY_PYTHON_EXCEPT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1,this.setTooltip(ge.Msg.MIXLY_MIXPY_CONTROL_EXCEPT_TOOLTIP)}},nt={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.MIXLY_PYTHON_FINALLY),this.setPreviousStatement(!0),this.contextMenu=!1,this.setTooltip(ge.Msg.MIXLY_MIXPY_CONTROL_FINALLY_TOOLTIP)}},st={init:function(){this.jsonInit({message0:ge.Msg.CONTROLS_REPEAT_TITLE,args0:[{type:"input_value",name:"TIMES"}],previousStatement:null,nextStatement:null,colour:Be,tooltip:ge.Msg.CONTROLS_REPEAT_TOOLTIP,helpUrl:ge.Msg.CONTROLS_REPEAT_HELPURL}),this.appendStatementInput("DO")}},_t={init:function(){this.setColour(Be),this.appendValueInput("BOOL").appendField("lambda"),this.appendStatementInput("DO").appendField(ge.Msg.MIXLY_STAT),this.setOutput(!0)}},ot={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.MIXLY_PYTHON_PASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_PYTHON_CONTROLS_PASS_TOOLTIP)}},pt={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.MIXLY_PYTHON_CONTROLS_THREAD_START),this.appendValueInput("callback").appendField(ge.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_PYTHON_CONTROLS_THREAD_TOOLTIP)}},at={init:function(){this.appendDummyInput().appendField(ge.Msg.CONTROLS_REPEAT_TITLE_REPEAT+ge.Msg.MIXLY_DO),this.appendStatementInput("input_data").setCheck(null),this.appendValueInput("select_data").setCheck(null).appendField(ge.Msg.CONTROLS_OPERATOR_UNTIL).appendField(new ge.FieldDropdown([[ge.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"true"],[ge.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"false"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Be),this.setTooltip("do-while loop"),this.setHelpUrl("")}},ut={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.MIXLY_OP_GARBAGE_COLLECT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},rt={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET_MEM_ALLOC),this.setOutput(!0)}},lt={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET_MEM_FREE),this.setOutput(!0)}},dt={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET+ge.Msg.MIXLY_DEVICE+"ID"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(ge.Msg.PROCEDURES_DEFRETURN_RETURN+ge.Msg.MIXLY_GET_UNIQUE_IDEN)}},It={init:function(){this.setColour(Be),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_RTC_TIMESTAMP),this.appendDummyInput().appendField(ge.Msg.MIXLY_TIMESTAMP_TO_DATA),this.setInputsInline(!0),this.setOutput(!0,Number)}},Tt={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET_UNIQUE_IDEN),this.setOutput(!0)}},Mt=230;ge.FieldTextInput.math_number_validator=function(e){return String(e)},ge.FieldTextInput.math_number_validator_include_blank=function(e){if(""===e)return"";return/^-?(0X|0x|0O|0o|0B|0b)?[a-fA-F0-9]{1,}(\.[a-fA-F0-9]+)?$/.test(e)?String(e):null};const ht={init:function(){this.setColour(Mt),this.appendDummyInput().appendField(new ge.FieldTextInput("0",ge.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(ge.Msg.MATH_NUMBER_TOOLTIP)}},mt={init:function(){this.setColour(Mt);this.appendDummyInput("").appendField(ge.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new ge.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CONSTANT");return{pi:ge.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_TOOLTIP,e:ge.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_TOOLTIP}[t]}))}},Et={init:function(){this.setColour(Mt);this.appendDummyInput("").appendField(ge.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new ge.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CONSTANT");return{pi:ge.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_MP_TOOLTIP,e:ge.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_MP_TOOLTIP}[t]}))}},Ot={init:function(){this.setColour(Mt),this.setOutput(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new ge.FieldDropdown([["+","ADD"],["-","MINUS"],["×","MULTIPLY"],["÷","DIVIDE"],["%","QUYU"],["//","ZHENGCHU"],["**","POWER"]]),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{ADD:ge.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:ge.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:ge.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:ge.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:ge.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:ge.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:ge.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[t]}))}},Rt={init:function(){this.setColour(Mt),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new ge.FieldDropdown([["+=","ADD"],["-=","MINUS"],["×=","MULTIPLY"],["÷=","DIVIDE"],["%=","QUYU"],["//=","ZHENGCHU"],["**=","POWER"]]),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{ADD:ge.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:ge.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:ge.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:ge.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:ge.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:ge.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:ge.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[t]}))}},ct={init:function(){this.setColour(Mt),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new ge.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},gt={init:function(){this.setColour(Mt),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new ge.FieldDropdown([["sin","SIN"],["cos","COS"],["tan","TAN"],["asin","ASIN"],["acos","ACOS"],["atan","ATAN"],["-","-"],["ln","LN"],["log10","LOG10"],["e^","EXP"],["10^","POW10"]]),"OP");var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{SIN:ge.Msg.MATH_TRIG_TOOLTIP_SIN,COS:ge.Msg.MATH_TRIG_TOOLTIP_COS,TAN:ge.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:ge.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:ge.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:ge.Msg.MATH_TRIG_TOOLTIP_ATAN,LN:ge.Msg.MATH_SINGLE_TOOLTIP_LN}[t]}))}},Ct={init:function(){var e=[[ge.Msg.MATH_BIN,"bin"],[ge.Msg.MATH_OCT,"oct"],[ge.Msg.MATH_HEX,"hex"]];this.setColour(Mt),this.setOutput(!0,String),this.appendValueInput("NUM").setCheck(Number).appendField(new ge.FieldDropdown(e),"OP");var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{bin:ge.Msg.MATH_DEC_TOOLTIP_BIN,oct:ge.Msg.MATH_DEC_TOOLTIP_OCT,hex:ge.Msg.MATH_DEC_TOOLTIP_HEX}[e]}))}},St={init:function(){var e=[[ge.Msg.LANG_MATH_TO_ROUND,"round"],[ge.Msg.LANG_MATH_TO_CEIL,"ceil"],[ge.Msg.LANG_MATH_TO_FLOOR,"floor"],[ge.Msg.MATH_ABS,"fabs"],[ge.Msg.MATH_SQRT,"sqrt"]];this.setColour(Mt),this.appendValueInput("A").setCheck(Number).appendField(new ge.FieldDropdown(e),"OP"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{sqrt:ge.Msg.MATH_SINGLE_TOOLTIP_ROOT,fabs:ge.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:ge.Msg.MATH_SINGLE_TOOLTIP_SQ,round:ge.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:ge.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:ge.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[e]}))}},At={init:function(){var e=[[ge.Msg.MIXLY_MAX,"max"],[ge.Msg.MIXLY_MIN,"min"]];this.setColour(Mt),this.appendValueInput("A").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(new ge.FieldDropdown(e),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(ge.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{max:ge.Msg.MIXLY_TOOLTIP_MATH_MAX,min:ge.Msg.MIXLY_TOOLTIP_MATH_MIN}[e]}))}},Lt={init:function(){var e=[[ge.Msg.MATH_TWO,"two"],[ge.Msg.MATH_EIGHT,"eight"],[ge.Msg.MATH_TEN,"ten"],[ge.Msg.MATH_SIXTEEN,"sixteen"]];this.setColour(Mt),this.appendDummyInput("").appendField(ge.Msg.MATH_BA),this.appendValueInput("NUM").appendField(new ge.FieldDropdown(e),"OP").appendField(ge.Msg.MATH_JinZhi).setCheck(Number),this.appendDummyInput("").appendField(ge.Msg.MATH_ZHW).appendField(new ge.FieldDropdown(e),"OP2").appendField(ge.Msg.MATH_JinZhi),this.setFieldValue("ten","OP2"),this.setOutput(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i={two:ge.Msg.MATH_Before_two,eight:ge.Msg.MATH_Before_eight,ten:ge.Msg.MATH_Before_ten,sixteen:ge.Msg.MATH_Before_sixteen},n=t.getFieldValue("OP2"),s={two:ge.Msg.MATH_Behind_two,eight:ge.Msg.MATH_Behind_eight,ten:ge.Msg.MATH_Behind_ten,sixteen:ge.Msg.MATH_Behind_sixteen};return i[e]+s[n]}))}},Nt={init:function(){var e=[[ge.Msg.LANG_MATH_INT,"int"],[ge.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(Mt),this.setOutput(!0,Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_RANDOM).appendField(new ge.FieldDropdown(e),"TYPE"),this.appendValueInput("FROM").setCheck(Number).appendField(ge.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("TYPE"),i={int:ge.Msg.LANG_MATH_INT,float:ge.Msg.LANG_MATH_FLOAT_RANDOM};return ge.Msg.MATH_RANDOM_INT_TOOLTIP+i[e]}))}},Dt={init:function(){this.setColour(Mt),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(ge.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(ge.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(ge.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(ge.Msg.MATH_CONSTRAIN_TOOLTIP)}},ft={init:function(){this.setColour(Mt),this.appendValueInput("NUM",Number).appendField(ge.Msg.MIXLY_MAP).setCheck(Number),this.appendValueInput("fromLow",Number).appendField(ge.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(ge.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_MATH_MAP)}},Ft={init:function(){this.setColour(Mt),this.appendDummyInput().appendField(new ge.FieldTextInput("0",ge.FieldTextInput.math_number_validator_include_blank),"NUM"),this.setOutput(!0),this.setTooltip(ge.Msg.MATH_NUMBER_TOOLTIP)}},Pt={init:function(){this.setColour(Mt),this.appendValueInput("NUM").setCheck(Number).appendField(ge.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED)}},Yt={init:function(){this.setColour(Mt),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number),this.appendValueInput("VAR").setCheck(Number).appendField(ge.Msg.MATH_ROUND).appendField(ge.Msg.TEXT_KEEP),this.appendDummyInput().appendField(ge.Msg.TEXT_DECIMAL),this.setInputsInline(!0),this.setTooltip(ge.Msg.MATH_ROUND_NEW_TOOLTIP)}},vt={init:function(){var e=[[ge.Msg.MIXLY_TO_INT,"int"],[ge.Msg.MIXLY_TO_FLOAT,"float"],[ge.Msg.MIXLY_TO_BITES,"b"],[ge.Msg.LANG_MATH_BYTE+ge.Msg.MIXLY_TO_INT,"bti"]];this.setColour(Mt),this.appendValueInput("VAR").appendField(new ge.FieldDropdown(e),"TOWHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("TOWHAT");return{int:ge.Msg.MIXLY_PYTHON_TOOLTIP_TOINT,float:ge.Msg.MIXLY_PYTHON_TOOLTIP_TOFLOAT,b:ge.Msg.MIXLY_TOOLTIP_TEXT_TOBYTE}[e]}))}},Xt={init:function(){var e=[[ge.Msg.MIXLY_TO_INT,"int"],[ge.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(Mt),this.appendValueInput("VAR").appendField(new ge.FieldDropdown(e),"TOWHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("TOWHAT");return{int:ge.Msg.MIXLY_TOOLTIP_TEXT_TOINT,float:ge.Msg.MIXLY_TOOLTIP_TEXT_TOFLOAT}[e]}))}},yt=ft,xt={init:function(){this.setColour(Mt),this.appendValueInput("VAR").appendField(ge.Msg.LANG_MATH_BYTE+ge.Msg.MIXLY_TO_HEX),this.setOutput(!0,Number),this.setTooltip(ge.Msg.MIXLY_PYTHON_TOOLTIP_TOHEX)}},bt={init:function(){this.setColour(Mt),this.itemCount_=1,this.setMutator(new ge.icons.MutatorIcon(["lists_create_with_item"],this)),this.appendDummyInput("DUMMY").appendField(ge.Msg.MIXLY_PRODUCT+ge.Msg.MIXLY_GENERATE_CARTESIAN_PRODUCT),this.appendValueInput("REPEAT").appendField(ge.Msg.MIXLY_EVERY_PER_ELEPER_ELEMENT),this.appendDummyInput().appendField(ge.Msg.CONTROLS_REPEAT_TITLE_TIMES),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0),this.setTooltip(ge.Msg.LISTS_CREATE_WITH_PYTHON_TOOLTIP),this.updateShape_()},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("lists_create_with_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;n1&&"\\"===e.charAt(0)){var t=e.charAt(1);if("0"===t||"b"===t||"f"===t||"n"===t||"r"===t||"t"===t||"\\"===t||"'"===t)return String(e).substring(0,2);if("x"===t&&"0"===e.charAt(2)&&"B"===e.charAt(3))return String(e).substring(0,4)}return String(e).substring(0,1)};const kt={init:function(){this.setColour(Gt),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new ge.FieldTextInput("",ge.FieldTextInput.char_validator),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,Number),this.setTooltip(ge.Msg.TEXT_CHAR_TOOLTIP)},newQuote_:function(e){if(1==e)var t="../../media/quote2.png";else t="../../media/quote3.png";return new ge.FieldImage(t,7,12,'"')}},Wt={init:function(){this.setColour(Gt),this.appendValueInput("A").setCheck([String,Number]),this.appendValueInput("B").setCheck([String,Number]).appendField(ge.Msg.MIXLY_TEXT_JOIN),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_TEXT_JOIN)}},Kt={init:function(){this.setColour(Gt),this.appendValueInput("VAR").setCheck(Number).appendField(ge.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},Jt={init:function(){this.setColour(Gt),this.appendValueInput("VAR").setCheck(String).appendField(ge.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},Qt={init:function(){this.setColour(Gt),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(ge.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},zt={init:function(){this.setColour(Gt),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},qt={init:function(){this.WHERE_OPTIONS=[[ge.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[ge.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[ge.Msg.TEXT_GET_INDEX_RANDOM+1+ge.Msg.TEXT_CHARAT2,"RANDOM"]],this.setHelpUrl(ge.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Gt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number),this.appendDummyInput().appendField(ge.Msg.LISTS_GET_INDEX_GET,"MODE"),ge.Msg.LISTS_GET_INDEX_TAIL&&this.appendDummyInput("TAIL").appendField(ge.Msg.LISTS_GET_INDEX_TAIL),this.setInputsInline(!0),this.setOutput(!0),this.updateAt_(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=e.getFieldValue("WHERE"),n="";switch(t+" "+i){case"GET FROM_START":case"GET FROM_END":n=ge.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM;break;case"GET RANDOM":n=ge.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM;break;case"GET_REMOVE FROM_START":case"GET_REMOVE FROM_END":n=ge.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM;break;case"GET_REMOVE RANDOM":n=ge.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM}return"FROM_START"!=i&&"FROM_END"!=i||(n+=" "+ge.Msg.LISTS_INDEX_FROM_START_TOOLTIP.replace("%1",ge.Msg.ONE_BASED_INDEXING?"#1":"#0")),n}));var t=this;this.setTooltip((function(){var e=t.getFieldValue("WHERE"),i={FROM_START:ge.Msg.LISTS_GET_INDEX_FROM_START,FROM_END:ge.Msg.LISTS_GET_INDEX_FROM_END,RANDOM:ge.Msg.TEXT_GET_INDEX_RANDOM};return ge.Msg.PROCEDURES_DEFRETURN_RETURN+ge.Msg.MIXLY_MICROBIT_TYPE_STRING+i[e]+"n"+ge.Msg.TEXT_CHARAT2}))},mutationToDom:function(){var e=document.createElement("mutation");e.setAttribute("statement",!this.outputConnection);var t=this.getInput("AT").type==ge.INPUT_VALUE;return e.setAttribute("at",t),e},domToMutation:function(e){var t="true"==e.getAttribute("statement");this.updateStatement_(t),e="false"!=e.getAttribute("at"),this.updateAt_(e)},updateStatement_:function(e){e!=!this.outputConnection&&(this.unplug(!0,!0),e?(this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)):(this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)))},updateAt_:function(e){this.removeInput("AT"),this.removeInput("ORDINAL",!0),e?(this.appendValueInput("AT").setCheck(Number),ge.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL").appendField(ge.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT");var t=new ge.FieldDropdown(this.WHERE_OPTIONS,(function(t){var i="FROM_START"==t||"FROM_END"==t;if(i!=e){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(t,"WHERE"),null}}));this.getInput("AT").appendField(t,"WHERE"),ge.Msg.LISTS_GET_INDEX_TAIL&&this.moveInputBefore("TAIL",null)}},jt={init:function(){this.setHelpUrl(ge.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Gt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number).appendField(ge.Msg.LISTS_GET_INDEX_GET+" "+ge.Msg.LISTS_GET_INDEX_FROM_START),this.appendDummyInput().appendField(ge.Msg.TEXT_CHARAT2),this.setOutput(!0),this.setTooltip(ge.Msg.PROCEDURES_DEFRETURN_RETURN+ge.Msg.MIXLY_MICROBIT_TYPE_STRING+ge.Msg.LISTS_GET_INDEX_FROM_START+"n"+ge.Msg.TEXT_CHARAT2)}},$t={init:function(){this.setHelpUrl(ge.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Gt),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(ge.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(ge.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},Zt={init:function(){this.WHERE_OPTIONS_1=[[ge.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[ge.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[ge.Msg.LISTS_GET_SUBLIST_START_FIRST,"FIRST"]],this.WHERE_OPTIONS_2=[[ge.Msg.LISTS_GET_SUBLIST_END_FROM_START,"FROM_START"],[ge.Msg.LISTS_GET_SUBLIST_END_FROM_END,"FROM_END"],[ge.Msg.LISTS_GET_SUBLIST_END_LAST,"LAST"]],this.setHelpUrl(ge.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Gt),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput("AT1"),this.appendDummyInput("AT2"),this.setInputsInline(!0),this.setOutput(!0,"List"),this.updateAt_(1,!0),this.updateAt_(2,!0),this.setTooltip(ge.Msg._GET_TEXT_SUBLIST_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation"),t=this.getInput("AT1").type==ge.INPUT_VALUE;e.setAttribute("at1",t);var i=this.getInput("AT2").type==ge.INPUT_VALUE;return e.setAttribute("at2",i),e},domToMutation:function(e){var t="true"==e.getAttribute("at1"),i="true"==e.getAttribute("at2");this.updateAt_(1,t),this.updateAt_(2,i)},updateAt_:function(e,t){this.removeInput("AT"+e),this.removeInput("ORDINAL"+e,!0),t?(this.appendValueInput("AT"+e).setCheck(Number),ge.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL"+e).appendField(ge.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT"+e);var i=new ge.FieldDropdown(this["WHERE_OPTIONS_"+e],(function(i){var n="FROM_START"==i||"FROM_END"==i;if(n!=t){var s=this.sourceBlock_;return s.updateAt_(e,n),s.setFieldValue(i,"WHERE"+e),null}}));this.getInput("AT"+e).appendField(i,"WHERE"+e),1==e&&(this.moveInputBefore("AT1","AT2"),this.getInput("ORDINAL1")&&this.moveInputBefore("ORDINAL1","AT2"))}},ei={init:function(){this.setHelpUrl(ge.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Gt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT1").appendField(ge.Msg.LISTS_GET_INDEX_GET+" "+ge.Msg.LISTS_GET_INDEX_FROM_START),this.appendValueInput("AT2").appendField(ge.Msg.LISTS_GET_SUBLIST_END_FROM_START),this.appendDummyInput().appendField(ge.Msg.TEXT_CHARAT2),this.setInputsInline(!0),this.setOutput(!0,["List",String]),this.setTooltip(ge.Msg._GET_TEXT_SUBLIST_TOOLTIP)}},ti={init:function(){var e=[[ge.Msg.MIXLY_EQUALS,"==="],[ge.Msg.MIXLY_STARTSWITH,"startswith"],[ge.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(Gt),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new ge.FieldDropdown(e),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},ii={init:function(){this.setColour(Gt),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(ge.Msg.MIXLY_COMPARETO).setCheck(String),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_COMPARETO_HELP)}},ni={init:function(){var e=[[ge.Msg.TEXT_UPPER,"upper"],[ge.Msg.TEXT_TITLE,"title"],[ge.Msg.TEXT_CAPITALIZE,"capitalize"],[ge.Msg.TEXT_SWAPCASE,"swapcase"],[ge.Msg.TEXT_LOWER,"lower"]];this.setColour(Gt),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new ge.FieldDropdown(e),"CAPITAL").setCheck(String),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CAPITAL");return{upper:ge.Msg.MIXLY_MIXPY_TEXT_UPPER_TOOLTIP,title:ge.Msg.MIXLY_MIXPY_TEXT_TITLE_TOOLTIP,swapcase:ge.Msg.MIXLY_MIXPY_TEXT_SWAPCASE_TOOLTIP,capitalize:ge.Msg.MIXLY_MIXPY_TEXT_CAPITALIZE_TOOLTIP,lower:ge.Msg.MIXLY_MIXPY_TEXT_LOWER_TOOLTIP}[e]}))}},si={init:function(){var e=[[ge.Msg.TEXT_LJUST,"ljust"],[ge.Msg.TEXT_CENTER,"center"],[ge.Msg.TEXT_RJUST,"rjust"]];this.setColour(Gt),this.appendValueInput("VAR").appendField(new ge.FieldDropdown(e),"CENTER").setCheck(String),this.appendValueInput("WID").appendField(ge.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("Symbol").appendField(ge.Msg.MIXLY_RECT_Fill).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(ge.Msg.MIXLY_MIXPY_TEXT_CENTER_TOOLTIP)}},_i={init:function(){this.setColour(Gt),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).setCheck(String),this.appendValueInput("STR").appendField(ge.Msg.MIXLY_MID+ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER).setCheck(String),this.appendDummyInput().appendField(ge.Msg.MIXLY_LIST_INDEX),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(ge.Msg.MIXLY_MIXPY_TEXT_FIND_TOOLTIP)}},oi={init:function(){this.setColour(Gt),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_USE_STR).setCheck(String),this.appendValueInput("LIST").appendField(ge.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_SEQ).setCheck("List","Tuple","Set","Dict"),this.appendDummyInput().appendField(ge.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_GET_STR),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(ge.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_TOOLTIP)}},pi={init:function(){this.setColour(Gt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("STR1").appendField(ge.Msg.MIXLY_MIXPY_REPLACE).setCheck(String),this.appendValueInput("STR2").appendField(ge.Msg.LISTS_SET_INDEX_INPUT_TO).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(ge.Msg.MIXLY_MIXPY_TEXT_REPLACE_TOOLTIP)}},ai={init:function(){this.setColour(Gt),this.appendValueInput("VAR"),this.appendValueInput("VAL").appendField(ge.Msg.LIST_SPLIT_AS),this.appendDummyInput("").appendField(ge.Msg.LIST_SPLIT),this.setOutput(!0,"List"),this.setTooltip(ge.Msg.MIXLY_MIXPY_TEXT_SPLIT_TOOLTIP),this.setInputsInline(!0)}},ui={init:function(){var e=[[ge.Msg.TEXT_TRIM_BOTH,"strip"],[ge.Msg.TEXT_TRIM_LEFT,"lstrip"],[ge.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(Gt),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(ge.Msg.TEXT_STRIM),this.appendDummyInput("").appendField(new ge.FieldDropdown(e),"TOWHAT"),this.appendDummyInput("").appendField(ge.Msg.TEXT_BLANK),this.setOutput(!0,String),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("TOWHAT");return{strip:ge.Msg.TEXT_TRIM_BOTH_TOOLTIP,lstrip:ge.Msg.TEXT_TRIM_LEFT_TOOLTIP,rstrip:ge.Msg.TEXT_TRIM_RIGHT_TOOLTIP}[e]}))}},ri={init:function(){this.setColour(Gt),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROPYTHON_FORMAT),this.appendDummyInput("").appendField(new ge.FieldTextInput("str"),"VAR"),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new ge.icons.MutatorIcon(["text_create_with_item"],this)),this.setOutput(!0),this.setTooltip(ge.Msg.MIXLY_MIXPY_TEXT_FORMAT_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("text_create_with_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;nt?e[t]:0==t?'"key"':'"key'+(t+1)+'"'),"KEY"+t).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){ge.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},pn={init:function(){this.setColour(_n),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(ge.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},an={init:function(){this.setColour(_n),this.appendDummyInput().appendField(ge.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},un={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ge.Msg.DICT_KEYS),this.setTooltip(ge.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},rn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(ge.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(ge.Msg.DICTS_ADD_VALUE),this.setOutput(!0),this.setTooltip(ge.Msg.DICTS_GET_TOOLTIP)}},ln={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(ge.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(ge.Msg.DICTS_ADD_VALUE),this.appendValueInput("VAR").appendField(ge.Msg.DICTS_DEFAULT_VALUE),this.setOutput(!0),this.setTooltip(ge.Msg.DICTS_GET_DEFAULT_TOOLTIP)}},dn={init:function(){this.setColour(_n),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(ge.Msg.DICTS_ADD),this.appendDummyInput(),this.appendValueInput("VAR").appendField(ge.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.DICTS_ADD_OR_CHANGE_TOOLTIP)}},In={init:function(){this.setColour(_n),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(ge.Msg.DICTS_DELETE_IN),this.appendDummyInput("").appendField(ge.Msg.DICTS_DELETE_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.DICTS_DELETE_TOOLTIP)}},Tn={init:function(){this.setColour(_n),this.appendValueInput("DICT2").setCheck("Dict").appendField(ge.Msg.MAKE_DICT),this.appendValueInput("DICT").setCheck("Dict").appendField(ge.Msg.DICT_UPDATE),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MID),this.setTooltip(ge.Msg.DICTS_UPDATE_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Mn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ge.Msg.DICT_CLEAR),this.setTooltip(ge.Msg.DICTS_CLEAR_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},hn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ge.Msg.DICT_ITEMS),this.setTooltip(ge.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},mn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ge.Msg.DICT_VALUES),this.setTooltip(ge.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},En={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_LENGTH),this.setTooltip(ge.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},On={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ge.Msg.DICT_DELDICT),this.setTooltip(ge.Msg.DICTS_DEL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Rn={init:function(){this.MODE=[[ge.Msg.DICTS_ADD_OR_CHANGE,"INSERT"],[ge.Msg.MIXLY_MICROBIT_JS_DELETE_VAR,"DELETE"]],this.setHelpUrl(ge.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("AT2"),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).appendField(ge.Msg.DICTS_ADD_VALUE),this.updateAt_(!0),this.setInputsInline(!0),this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t="";switch(e.getFieldValue("WHERE")){case"INSERT":t=ge.Msg.DICTS_ADD_TOOLTIP;break;case"DELETE":t=ge.Msg.DICTS_DELETE_TOOLTIP}return t}))},mutationToDom:function(){var e=document.createElement("mutation"),t=this.getInput("AT2").type==ge.INPUT_VALUE;return e.setAttribute("at2",t),e},domToMutation:function(e){var t="true"==e.getAttribute("at2");this.updateAt_(t)},updateAt_:function(e){this.removeInput("AT2"),this.removeInput("ORDINAL",!0),e?this.appendValueInput("AT2").setCheck(Number):this.appendDummyInput("AT2");var t=new ge.FieldDropdown(this.MODE,(function(t){var i="INSERT"==t;if(i!=e){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(t,"WHERE"),null}}));this.getInput("AT2").appendField(t,"WHERE")}},cn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ge.Msg.blockpy_DICT_POP),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(ge.Msg.DICTS_ADD_VALUE),this.setTooltip(ge.Msg.DICT_POP_TOOLTIP),this.setInputsInline(!0),this.setOutput(!0)}},gn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(ge.Msg.DICTS_SET_DEFAULT),this.appendDummyInput("").appendField(ge.Msg.DICTS_DEFAULT_VALUE),this.appendValueInput("VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.DICTS_SETDEFAULT_TOOLTIP)}},Cn={init:function(){this.setColour(_n),this.appendDummyInput("").appendField(new ge.FieldLabel(ge.Msg.MIXLY_MICROBIT_TYPE_DICT),"TIP").appendField(" "),this.itemCount_=3,this.updateShape_(),this.setOutput(!0,"Dict"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setMutator(new ge.icons.MutatorIcon(["dicts_create_with_item"],this)),this.setTooltip(ge.Msg.DICTS_CREATE_WITH_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("dicts_create_with_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;nt?e[t]:0==t?'"key"':'"key'+(t+1)+'"'),"KEY"+t).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){ge.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},Sn={init:function(){this.setColour(_n),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(ge.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},An={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_TO_JSON),this.setTooltip(ge.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},Ln={init:function(){this.setColour(_n),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_CONVERT_TO_JSON),this.setTooltip(ge.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},Nn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("VAR1").appendField("key1"),this.appendValueInput("VAR2").appendField("index"),this.appendValueInput("VAR3").appendField("key2"),this.appendValueInput("VAR4").appendField("key3"),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},Dn={init:function(){this.setColour(_n),this.appendValueInput("DICT"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_TO_JSON),this.setTooltip(ge.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},fn=210,Fn={init:function(){var e=ge.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(fn),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new ge.FieldDropdown(e),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{EQ:ge.Msg.LOGIC_COMPARE_TOOLTIP_EQ,NEQ:ge.Msg.LOGIC_COMPARE_TOOLTIP_NEQ,LT:ge.Msg.LOGIC_COMPARE_TOOLTIP_LT,LTE:ge.Msg.LOGIC_COMPARE_TOOLTIP_LTE,GT:ge.Msg.LOGIC_COMPARE_TOOLTIP_GT,GTE:ge.Msg.LOGIC_COMPARE_TOOLTIP_GTE}[e]})),this.prevBlocks_=[null,null]}},Pn={init:function(){var e=ge.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]],t=ge.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(fn),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new ge.FieldDropdown(e),"OP1"),this.appendValueInput("C").appendField(new ge.FieldDropdown(t),"OP2"),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_PYTHON_LOGIC_COMPARE_CONTINOUS_TOOLTIP)}},Yn={init:function(){var e=[[ge.Msg.LOGIC_OPERATION_AND,"AND"],[ge.Msg.LOGIC_OPERATION_OR,"OR"],[ge.Msg.LOGIC_OPERATION_NOR,"NOR"],[ge.Msg.LOGIC_OPERATION_XOR,"XOR"]];this.setColour(fn),this.setOutput(!0,Boolean),this.appendValueInput("A").setCheck([Boolean,Number]),this.appendValueInput("B").setCheck([Boolean,Number]).appendField(new ge.FieldDropdown(e),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{AND:ge.Msg.LOGIC_OPERATION_TOOLTIP_AND,OR:ge.Msg.LOGIC_OPERATION_TOOLTIP_OR,NOR:ge.Msg.LOGIC_OPERATION_TOOLTIP_NOR,XOR:ge.Msg.LOGIC_OPERATION_TOOLTIP_XOR}[e]}))}},vn={init:function(){this.setColour(fn),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(ge.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(ge.Msg.LOGIC_NEGATE_TOOLTIP)}},Xn={init:function(){var e=[[ge.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[ge.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(fn),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new ge.FieldDropdown(e),"BOOL"),this.setTooltip(ge.Msg.LOGIC_BOOLEAN_TOOLTIP)}},yn={init:function(){this.setColour(fn),this.setOutput(!0),this.appendDummyInput().appendField(ge.Msg.LOGIC_NULL),this.setTooltip(ge.Msg.LOGIC_NULL_TOOLTIP)}},xn={init:function(){this.setColour(fn),this.appendValueInput("A"),this.appendValueInput("B").appendField(ge.Msg.LOGIC_TERNARY_IF_TRUE),this.appendValueInput("C").appendField(ge.Msg.LOGIC_TERNARY_IF_FALSE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_LOGIT_TRUEORFALSE)}},bn={init:function(){var e=[[ge.Msg.TEXT_APPEND_TO,"in"],[ge.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(fn),this.appendValueInput("A"),this.appendValueInput("B").setCheck([String,"List"]).appendField(new ge.FieldDropdown(e),"BOOL"),this.appendDummyInput("").appendField(ge.Msg.MICROBIT_LOGIC_IS_IN),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(ge.Msg.IN)}},Vn={init:function(){var e=[[ge.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[ge.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(fn),this.appendValueInput("A"),this.appendValueInput("B").appendField(new ge.FieldDropdown(e),"BOOL"),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_PYTHON_LOGIC_IS_TOOLTIP)}},Bn={init:function(){this.setColour(fn),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(ge.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},Gn={init:function(){this.setColour(0),this.appendValueInput("fn").setCheck(String).appendField(ge.Msg.MIXLY_PYTHON_STORAGE_OPEN_FILE_WITH_OS+"(For Windows)"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Un={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"],[ge.Msg.MIXLY_ADD,"a"],[ge.Msg.MATH_BIN+ge.Msg.MIXLY_ADD,"ab"],[ge.Msg.MIXLY_R_W,"r+"],[ge.Msg.MATH_BIN+ge.Msg.MIXLY_R_W,"rb+"],[ge.Msg.MIXLY_W_R,"w+"],[ge.Msg.MATH_BIN+ge.Msg.MIXLY_W_R,"wb+"],[ge.Msg.MIXLY_A_R,"a+"],[ge.Msg.MATH_BIN+ge.Msg.MIXLY_A_R,"ab+"]]),"MODE"),this.appendValueInput("FILE").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_AS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=ge.Msg.MIXLY_USE,n=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=ge.Msg.MIXLY_BELONG;return i+{r:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[t]+_+n+s}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){ge.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},wn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=ge.Msg.MIXLY_USE,n=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=ge.Msg.MIXLY_BELONG,o=ge.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[t]+_+n+s+o}))}},Hn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE);this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendDummyInput().appendField(ge.Msg.MIXPY_TEXT_ENCODE).appendField(new ge.FieldDropdown([["ANSI","ANSI"],["gbk","gbk"],["utf-8","utf-8"]]),"CODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=ge.Msg.MIXLY_USE,n=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=ge.Msg.MIXLY_BELONG,o=ge.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[t]+_+n+s+o}))}},kn={init:function(){this.setColour(0),this.appendValueInput("data").setCheck(String).appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendValueInput("FILE").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+ge.Msg.MIXLY_MICROBIT_TYPE_STRING+ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE)}},Wn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"read"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE,"readline"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES,"readlines"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String)}},Kn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,"read"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,"readline"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE,"readlines"]]),"MODE"),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE,n=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER;return i+{read:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,readline:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,readlines:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE}[t]+"x"+n}))}},Jn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.setNextStatement(!0),this.appendValueInput("SIZE").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(ge.Msg.MICROBIT_PYTHON_TYPE)}},Qn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(ge.Msg.HTML_FILE),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean),this.setTooltip(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT1)}},zn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FILENAME),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILENAME)}},qn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE)}},jn={init:function(){this.setColour(0),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES)}};ge.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE;const $n={init:function(){this.setColour(0),this.appendDummyInput().appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE,"remove"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_DIRS,"removedirs"]]),"MODE"),this.appendValueInput("FILE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE)}},Zn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE+ge.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE)}},es={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_RETURN_FILE),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_PRESENT_LOCATION),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_TELL)}},ts={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION),this.appendDummyInput().appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,"start"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,"current"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END,"end"]]),"MODE"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION+ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION,n=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER,s=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET;return i+" "+{start:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,current:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,end:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END}[t]+s+"x"+n}))}},is={init:function(){this.setColour(0),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR)}},ns={init:function(){this.setColour(0),this.appendValueInput("PATH").setCheck(String).appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_SET),this.appendDummyInput().appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,"mkdir"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_MAKEDIRS,"makedirs"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE");return ge.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH+"x"+ge.Msg.MIXLY_ESP32_SET+{mkdir:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,makedirs:ge.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[t]}))}},ss={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME),this.appendValueInput("NEWFILE").setCheck(String).appendField(ge.Msg.MIXLY_AS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME)}},_s={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR)}},os={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT),this.appendDummyInput().appendField(new ge.FieldDropdown([[ge.Msg.HTML_FILE,"isfile"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_DIR,"isdir"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean);let e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE");return ge.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH+"x"+ge.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT+{isfile:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,isdir:ge.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[t]}))}},ps={init:function(){this.setColour(0),this.appendValueInput("SPISUB").appendField(ge.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_SETUP+ge.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(ge.Msg.MIXLY_SD_CARD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},as={init:function(){this.setColour(0),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_SD_CARD),this.appendValueInput("DIR").setCheck(String).appendField(ge.Msg.MIXLY_SDCARD_MOUNT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip()}},us={init:function(){var e=ge.Procedures.findLegalName("",this),t=new ge.FieldTextInput(e,ge.Procedures.rename);t.setSpellcheck(!1),this.appendDummyInput().appendField(t,"NAME").appendField("","PARAMS"),this.setMutator(new ge.icons.MutatorIcon(["procedures_mutatorarg"],this)),(this.workspace.options.comments||this.workspace.options.parentWorkspace&&this.workspace.options.parentWorkspace.options.comments)&&ge.Msg.PROCEDURES_DEFNORETURN_COMMENT&&this.setCommentText(ge.Msg.PROCEDURES_DEFNORETURN_COMMENT),this.setStyle("procedure_blocks"),this.setTooltip(ge.Msg.PROCEDURES_DEFNORETURN_TOOLTIP),this.setHelpUrl(ge.Msg.PROCEDURES_DEFNORETURN_HELPURL),this.arguments_=[],this.argumentVarModels_=[],this.setStatements_(!0),this.statementConnection_=null},setStatements_:function(e){this.hasStatements_!==e&&(e?(this.appendStatementInput("STACK").appendField(ge.Msg.PROCEDURES_DEFNORETURN_DO),this.getInput("RETURN")&&this.moveInputBefore("STACK","RETURN")):this.removeInput("STACK",!0),this.hasStatements_=e)},updateParams_:function(){var e="";this.arguments_.length&&(e=ge.Msg.PROCEDURES_BEFORE_PARAMS+" "+this.arguments_.join(", ")),ge.Events.disable();try{this.setFieldValue(e,"PARAMS")}finally{ge.Events.enable()}},mutationToDom:function(e){var t=ge.utils.xml.createElement("mutation");e&&t.setAttribute("name",this.getFieldValue("NAME"));for(var i=0;i"),this.appendValueInput("style").appendField(ge.Msg.MIXLY_AIP_ATTR).setAlign(ge.inputs.Align.RIGHT),this.appendStatementInput("DO").appendField(""),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},s_={init:function(){this.setColour($s),this.appendDummyInput().appendField(ge.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},__={init:function(){this.setColour($s),this.appendDummyInput().appendField(ge.Msg.HTML_FORM_CONTENT).appendField(new ge.FieldDropdown([[ge.Msg.HTML_TEXT,"text"],[ge.Msg.HTML_EMAIL,"email"],[ge.Msg.HTML_NUMBER,"number"],[ge.Msg.HTML_PASSWORD,"password"],[ge.Msg.HTML_CHECKBOX,"checkbox"],[ge.Msg.HTML_RADIOBUTTON,"radiobutton"],[ge.Msg.HTML_BUTTON,"button"],[ge.Msg.HTML_COLOUR,"colour"],[ge.Msg.HTML_DATE,"date"],[ge.Msg.HTML_LOCALTIME,"local time"],[ge.Msg.HTML_FILE,"file"],[ge.Msg.HTML_HIDDEN,"hidden"],[ge.Msg.HTML_IMAGE,"image"],[ge.Msg.HTML_MONTH,"month"],[ge.Msg.HTML_RANGE,"range"],[ge.Msg.HTML_RESET,"reset"],[ge.Msg.HTML_SEARCH,"search"],[ge.Msg.HTML_SUBMIT,"submit"],[ge.Msg.HTML_TELEPHONENUMBER,"telephone number"],[ge.Msg.HTML_TIME,"time"],[ge.Msg.HTML_URL,"url"],[ge.Msg.HTML_WEEK,"week"]]),"LEVEL"),this.appendDummyInput().appendField(ge.Msg.HTML_NAME).appendField(new ge.FieldTextInput("car"),"NAME"),this.appendDummyInput().appendField(ge.Msg.HTML_VALUE).appendField(new ge.FieldTextInput("go"),"VALUE"),this.appendValueInput("style").appendField(ge.Msg.MIXLY_AIP_ATTR).setAlign(ge.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},o_={init:function(){this.setColour($s),this.appendDummyInput().appendField(new ge.FieldTextInput("property"),"KEY").appendField(":").appendField(new ge.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},p_={init:function(){this.setColour($s),this.appendDummyInput().appendField(new ge.FieldTextInput("property"),"KEY").appendField(":").appendField(new ge.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},a_={init:function(){this.setColour($s),this.appendDummyInput().appendField(ge.Msg.HTML_TEXT).appendField(new ge.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},u_=160,r_={init:function(){this.setColour(u_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new ge.FieldTable(""),"TEXT")}},l_={init:function(){this.setColour(u_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new ge.FieldMultilineInput(""),"TEXT")}},d_={init:function(){this.setColour(u_),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new ge.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},I_={init:function(){this.setColour(u_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},T_={init:function(){this.setColour(u_),this.appendDummyInput().appendTitle("Comment:").appendTitle(new ge.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},M_={init:function(){this.setColour(u_),this.appendValueInput("VALUE").appendField(ge.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},h_={init:function(){this.setColour(u_),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new ge.icons.MutatorIcon(["text_print_multiple_item"],this)),this.setTooltip(ge.Msg.TEXT_PRINT_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=ge.Block.obtain(e,"text_print_multiple_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;n= stop:"," yield start"," start -= abs(step)"])};if(e=function(e,t,i){return"("+e+" <= "+t+") and "+a()+"("+e+", "+t+", "+i+") or "+u()+"("+e+", "+t+", "+i+")"},ge.isNumber(n)&&ge.isNumber(s)&&ge.isNumber(_))n=parseFloat(n),s=parseFloat(s),_=Math.abs(parseFloat(_)),0==n%1&&0==s%1&&0==_%1?(n<=s?(s++,e=0==n&&1==_?s:n+", "+s,1!=_&&(e+=", "+_)):e=n+", "+--s+", -"+_,e="range("+e+")"):(e=n",GTE:">="};const da=function(e,t){var i=this.getFieldValue("OP"),n="&&"==i?t.ORDER_LOGICAL_AND:t.ORDER_LOGICAL_OR,s=t.valueToCode(this,"A",n)||"False",_=t.valueToCode(this,"B",n)||"False";if("AND"==i)var o=s+" and "+_;else if("OR"==i)o=s+" or "+_;else if("NOR"==i)o="not("+s+"^"+_+")";else o=s+"^"+_;return[o,n]},Ia=function(e,t){var i=t.ORDER_UNARY_PREFIX;return["not "+(t.valueToCode(this,"BOOL",i)||"False"),i]},Ta=function(e,t){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",t.ORDER_ATOMIC]},Ma=function(e,t){return["None",t.ORDER_ATOMIC]},ha=function(e,t){var i=t.valueToCode(this,"A",t.ORDER_ATOMIC)||"False";return["("+(t.valueToCode(this,"B",t.ORDER_ATOMIC)||"False")+" if "+i+" else "+(t.valueToCode(this,"C",t.ORDER_ATOMIC)||"False")+")",t.ORDER_ATOMIC]},ma=function(e,t){var i=t.valueToCode(this,"A",t.ORDER_ATOMIC)||"''",n=t.valueToCode(this,"B",t.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,t.ORDER_ATOMIC]},Ea=function(e,t){var i=t.valueToCode(this,"A",t.ORDER_ATOMIC)||"''",n=t.valueToCode(this,"B",t.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,t.ORDER_ATOMIC]},Oa=function(e,t){return["bool("+(t.valueToCode(this,"VAR",t.ORDER_ATOMIC)||"0")+")",t.ORDER_ATOMIC]},Ra=function(e,t){return t.definitions_.import_os="import os","os.startfile("+t.valueToCode(this,"fn",t.ORDER_ATOMIC)+")\n"},ca=function(e,t){return t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+" = open("+t.valueToCode(this,"FILENAME",t.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},ga=function(e,t){return["open("+t.valueToCode(this,"FILENAME",t.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",t.ORDER_ATOMIC]},Ca=function(e,t){return["open("+t.valueToCode(this,"FILENAME",t.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',t.ORDER_ATOMIC]},Sa=function(e,t){var i=t.valueToCode(this,"data",t.ORDER_ATOMIC);return t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".write("+i+")\n"},Aa=function(e,t){var i=this.getFieldValue("MODE");return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+"."+i+"()",t.ORDER_ATOMIC]},La=function(e,t){var i=this.getFieldValue("MODE");return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+"."+i+"("+t.valueToCode(this,"SIZE",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Na=function(e,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".readline("+t.valueToCode(this,"SIZE",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Da=function(e,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".writable()",t.ORDER_ATOMIC]},fa=function(e,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".name()",t.ORDER_ATOMIC]},Fa=function(e,t){return t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".close()\n"},Pa=function(e,t){t.definitions_.import_os="import os";return["os.listdir()",t.ORDER_ATOMIC]},Ya=function(e,t){return t.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+")\n"},va=function(e,t){return t.definitions_.import_os="import os",["os.path.getsize("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Xa=function(e,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".tell()",t.ORDER_ATOMIC]},ya=function(e,t){var i=this.getFieldValue("MODE"),n=0;return n="start"==i?0:"current"==i?1:2,t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".seek("+t.valueToCode(this,"SIZE",t.ORDER_ATOMIC)+","+n+")\n"},xa=function(e,t){return t.definitions_.import_os="import os","os.chdir("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+")\n"},ba=function(e,t){t.definitions_.import_os="import os";return["os.getcwd()",t.ORDER_ATOMIC]},Va=function(e,t){return t.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+t.valueToCode(this,"PATH",t.ORDER_ATOMIC)+")\n"},Ba=function(e,t){return t.definitions_.import_os="import os","os.rename("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+","+t.valueToCode(this,"NEWFILE",t.ORDER_ATOMIC)+")\n"},Ga=function(e,t){t.definitions_.import_os="import os";var i=t.valueToCode(this,"FILE",t.ORDER_ATOMIC);return["os."+this.getFieldValue("MODE")+"("+i+")",t.ORDER_ATOMIC]},Ua=function(e,t){return t.definitions_.import_os="import os",t.definitions_.import_sdcard="import sdcard",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+" = sdcard.SDCard("+t.valueToCode(this,"SPISUB",t.ORDER_ATOMIC)+","+t.valueToCode(this,"PINSUB",t.ORDER_ATOMIC)+")\n"},wa=function(e,t){return t.definitions_.import_os="import os",t.definitions_.import_sdcard="import sdcard","os.mount("+t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+","+t.valueToCode(this,"DIR",t.ORDER_ATOMIC)+")\n"},Ha=function(e,t){var i=t.variableDB_.getName(this.getFieldValue("NAME"),ge.Procedures.NAME_TYPE),n=(this.getInput("STACK")&&t.statementToCode(this,"STACK"))??" pass\n";t.INFINITE_LOOP_TRAP&&(n=t.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+n);var s=t.valueToCode(this,"RETURN",t.ORDER_NONE)||"";s&&(s=" return "+s+"\n");for(var _=[],o=0;o\n\n\n\t\n"+t.statementToCode(this,"HEAD")+"\n\n"+t.statementToCode(this,"BODY")+"\n\n'''",t.ORDER_ATOMIC]},Au=function(e,t){var i=t.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"\n"+i+"\n"},Lu=function(e,t){var i=t.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");if("head"==n)var s="<"+n+'>\n\t\n'+i+"\n";else s="<"+n+">\n"+i+"\n";return s},Nu=function(e,t){var i=t.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"<"+n+">\n"+i+"\n"},Du=function(e,t){var i=t.statementToCode(this,"DO"),n=t.valueToCode(this,"style"),s=this.getFieldValue("LEVEL");return"<"+s+" "+n+" >\n"+i+"\n"},fu=function(e,t){return['style="'+t.statementToCode(this,"STYLE")+'"',t.ORDER_ATOMIC]},Fu=function(e,t){return'"},Pu=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},Yu=function(){return this.getFieldValue("TEXT")+"\n"},vu=function(e){return e.getFieldValue("TEXT")+"\n"},Xu=function(e,t){return[e.getFieldValue("TEXT"),t.ORDER_ATOMIC]},yu=function(e,t){return(t.valueToCode(e,"VALUE",t.ORDER_ATOMIC)||"")+"\n"},xu=function(){return""},bu=function(e,t){return["type("+(t.valueToCode(e,"VALUE",t.ORDER_MEMBER)||"___")+")",t.ORDER_ATOMIC]},Vu=function(e,t){for(var i=e.getFieldValue("NAME"),n=e.hasReturn_,s=new Array(e.itemCount_),_=0;_0?t.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+e+"while True:\n"+a.join("")+u.join("\n"):t.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+e+u.join("\n")},wu.scrubNakedValue=function(e){return e+"\n"},wu.quote_=function(e){var t="'";return-1!==e.indexOf("'")&&(-1===e.indexOf('"')?t='"':e=e.replace(/'/g,"\\'")),t+e+t},wu.multiline_quote_=function(e){return"'''"+(e=e.replace(/'''/g,"\\'\\'\\'"))+"'''"},wu.scrub_=function(e,t,i){var n="";if(!e.outputConnection||!e.outputConnection.targetConnection){(_=e.getCommentText())&&(_=ge.utils.string.wrap(_,wu.COMMENT_WRAP-3),n+=wu.prefixLines(_+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const Hu="#74A55B",ku={init:function(){this.setColour(Hu),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MIDI),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ge.Msg.MIXLY_RGB_PIN_COUNT)}},Wu={init:function(){this.setColour(Hu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(ge.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Ku={init:function(){this.setColour(Hu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(ge.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(ge.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},Ju={init:function(){this.setColour(Hu),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(ge.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Qu={init:function(){this.setColour(Hu),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(ge.Msg.MIXLY_BACKSTAGE+ge.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_BACKSTAGE+ge.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},zu={init:function(){this.setColour(Hu),this.appendValueInput("SUB"),this.appendValueInput("TICKS").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(ge.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(ge.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},qu={init:function(){this.setColour(Hu),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},ju={init:function(){this.setColour(Hu),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_MUSIC_RESET)}},$u={init:function(){this.setColour(Hu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Zu={init:function(){this.setColour(Hu),this.appendValueInput("SUB"),this.appendValueInput("percent").appendField(ge.Msg.MIXLY_MUSIC_VOLUME_SET),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},er={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.MIXLY_SETTING).appendField(ge.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(ge.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_EXTERN_LED_SETONOFF)}},tr={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(ge.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},ir={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(ge.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},nr={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.MIXLY_SETTING).appendField(ge.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(ge.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_EXTERN_LED_SETBRIGHT)}},sr={init:function(){this.setColour(Hu),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_SETUP+ge.Msg.MIXLY_SERVO),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_PIN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},_r={init:function(){this.setColour(Hu),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_SERVO).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("DEGREE",Number).setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_DEGREE_0_180),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_SERVO_MOVE)}},or={init:function(){this.setColour(Hu),this.appendValueInput("VAR").appendField("360°"+ge.Msg.MIXLY_SERVO),this.appendValueInput("SPEED",Number).setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_SETTING+ge.Msg.blockpy_turtle_rotate+ge.Msg.MIXLY_SPEED+" (-10~10)"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_SERVO_360_TOOLTIP)}},pr={init:function(){this.setColour(Hu),this.appendValueInput("PIN",Number).appendField("180°"+ge.Msg.MIXLY_SERVO).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_SERVO_MOVE)}},ar={init:function(){this.setColour(Hu),this.appendValueInput("PIN",Number).appendField("360°"+ge.Msg.MIXLY_SERVO).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_SERVO_SPEED_TOOLIPS)}},ur={init:function(){this.setColour(Hu),this.appendValueInput("PIN",Number).appendField("180°"+ge.Msg.MIXLY_SERVO).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET+ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},rr={init:function(){this.setColour(Hu),this.appendValueInput("PIN",Number).appendField("360°"+ge.Msg.MIXLY_SERVO).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET+ge.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},lr={init:function(){this.setColour(Hu),this.appendValueInput("SUB").appendField("初始化").setCheck("var"),this.appendDummyInput().appendField("电机驱动"),this.appendDummyInput().appendField("地址").appendField(new ge.FieldDropdown([["A","ms32006.ADDRESS_A"],["B","ms32006.ADDRESS_B"]]),"mode"),this.appendValueInput("SUB1").setCheck("var").setAlign(ge.inputs.Align.RIGHT).appendField("通信"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("初始化MS32006电机驱动,使用I2C通信")}},dr={init:function(){this.setColour(Hu),this.appendValueInput("SUB").appendField("直流电机").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Direction).appendField(new ge.FieldDropdown([[ge.Msg.CLOCKWISE,"ms32006.MOT_CW"],[ge.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"],[ge.Msg.MOTOR_N,"ms32006.MOT_N"],[ge.Msg.MOTOR_P,"ms32006.MOT_P"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_STEPPER_SET_SPEED),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置直流电机的状态及转速(0-100)")}},Ir={init:function(){this.setColour(Hu),this.appendValueInput("SUB").appendField("步进电机").setCheck("var"),this.appendDummyInput().appendField("选择").appendField(new ge.FieldDropdown([["A","ms32006.MOT_A"],["B","ms32006.MOT_B"]]),"mode"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Direction).appendField(new ge.FieldDropdown([[ge.Msg.CLOCKWISE,"ms32006.MOT_CW"],[ge.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField("转速"),this.appendValueInput("steps").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField("步数"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置步进电机的状态、转速、步数(0-2047)")}},Tr={init:function(){this.setColour(Hu),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_PIN),this.appendValueInput("LEDCOUNT").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_COUNT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ge.Msg.MIXLY_RGB_PIN_COUNT)}},Mr={init:function(){this.setColour(Hu),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("_LED_").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ge.Msg.MIXLY_RGB_NUM_R_G_B_MP)}},hr={init:function(){this.setColour(Hu),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ge.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},mr={init:function(){this.setColour(Hu),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ge.Msg.MIXLY_ESP32_MUSIC_WRI)}},Er={init:function(){this.setColour(Hu),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(ge.Msg.MIXLY_DURATION).appendField(ge.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Or={init:function(){this.setColour(Hu),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(ge.Msg.PYTHON_RANGE_STEP).appendField(ge.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Rr={init:function(){this.setColour(Hu),this.appendDummyInput("").appendField(ge.Msg.CONTROLS_FOR_INPUT_WITH+"uart").appendField(new ge.FieldDropdown([["uart1","uart1"],["uart2","uart2"]]),"key"),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_SETUP+ge.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new ge.FieldDropdown([["SYN6288"+ge.Msg.MIXLY_AipSpeech_synthesis,"SYN6288"],["NS9300"+ge.Msg.MIXLY_MUSIC_PLAYER,"NS9300"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},cr={init:function(){this.setColour(Hu),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_GET+ge.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_WHETHER).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_STOPPED,"0"],[ge.Msg.MIXLY_PLAYING,"1"],[ge.Msg.MIXLY_PAUSED,"2"]]),"key"),this.setInputsInline(!0),this.setOutput(!0)}},gr={init:function(){this.setColour(Hu),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_STAT).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MP3_PLAY,"1"],[ge.Msg.MIXLY_MP3_PAUSE,"2"],[ge.Msg.MIXLY_STOP,"3"],[ge.Msg.MIXLY_MP3_PREV,"4"],[ge.Msg.MIXLY_MP3_NEXT,"5"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Cr={init:function(){this.setColour(Hu),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendValueInput("volume").appendField(ge.Msg.MIXLY_MP3_VOL+ge.Msg.MIXLY_STAT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_PLAYER_SET_VOLUME_TOOLTIP)}},Sr={init:function(){this.setColour(Hu),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MODE+ge.Msg.MIXLY_STAT).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MP3_LOOP_ALL,"0"],[ge.Msg.MIXLY_MP3_LOOP_ONE,"1"],[ge.Msg.MIXLY_PLAYER_DIRECTORY_LOOP,"2"],[ge.Msg.MIXLY_MP3_LOOP_RAM,"3"],[ge.Msg.MIXLY_PLAYER_SINGLE_STOP,"4"],[ge.Msg.MIXLY_PLAYER_SEQUENTIAL_PLAY,"5"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ar={init:function(){this.setColour(Hu),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_JS_START_MELODY,"play"],[ge.Msg.MIXLY_PLAYER_INSERT_MUSIC,"insert"]]),"key"),this.appendValueInput("song"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_PLAYER_PLAY_MUSIC_TOOTIP)}},Lr={},Nr={init:function(){this.setColour(Hu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(ge.Msg.MIXLY_SET_VOLUME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},Dr={init:function(){this.setColour(Hu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET_VOLUME),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},fr={init:function(){this.setColour(Hu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(ge.Msg.MIXLY_PLAY_HINTS),this.appendDummyInput().appendField(ge.Msg.MIXLY_PROGRAM_BLOCK).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[ge.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_PLAY_HINTS_TOOLTIP)}},Fr={init:function(){this.setColour(Hu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("data").setCheck(String).appendField(ge.Msg.MIXLY_AipSpeech_synthesis),this.appendValueInput("VOICE").setCheck(Number).appendField(ge.Msg.MIXLY_BACKGROUND_MUSIC),this.appendDummyInput().appendField(ge.Msg.MIXLY_PROGRAM_BLOCK).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[ge.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_PLAY_TTS_TOOLTIP)}},Pr={init:function(){this.setColour(Hu),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.extern_addr),"PIN"),this.setOutput(!0,Number)}},Yr={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.ME_GO_MOTOR_EXTERN+ge.Msg.MIXLY_MOTOR).appendField(ge.Msg.PIN_NUMBERING).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LEFT,"0"],[ge.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},vr={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.ME_GO_MOTOR_EXTERN+ge.Msg.MIXLY_MOTOR).appendField(ge.Msg.PIN_NUMBERING).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LEFT,"0"],[ge.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_GET+ge.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},Xr={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.ME_GO_MOTOR_EXTERN+ge.Msg.MIXLY_TRAFFIC_LIGHT).appendField(ge.Msg.PIN_NUMBERING).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LEFT,"0"],[ge.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.LISTS_SET_INDEX_SET).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_Turn_off_display,"0"],[ge.Msg.MIXLY_TRAFFIC_LIGHT_RED_ON,"1"],[ge.Msg.MIXLY_TRAFFIC_LIGHT_RED_BLINK,"2"],[ge.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_ON,"3"],[ge.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_BLINK,"4"],[ge.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_ON,"5"],[ge.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_BLINK,"6"]]),"light"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},yr={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.ME_GO_MOTOR_EXTERN).appendField(new ge.FieldDropdown([[ge.Msg.COLOUR_RGB_WHITE,"W"],[ge.Msg.COLOUR_RGB_RED,"R"],[ge.Msg.COLOUR_RGB_YELLOW,"Y"],[ge.Msg.COLOUR_RGB_GREEN,"G"],[ge.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(ge.Msg.PIN_NUMBERING).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LEFT,"0"],[ge.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("value").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},xr={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.ME_GO_MOTOR_EXTERN).appendField(new ge.FieldDropdown([[ge.Msg.COLOUR_RGB_WHITE,"W"],[ge.Msg.COLOUR_RGB_RED,"R"],[ge.Msg.COLOUR_RGB_YELLOW,"Y"],[ge.Msg.COLOUR_RGB_GREEN,"G"],[ge.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(ge.Msg.PIN_NUMBERING).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LEFT,"0"],[ge.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET+ge.Msg.BRIGHTNESS),this.setOutput(!0,Number),this.setInputsInline(!0)}},br={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.ME_GO_MOTOR_EXTERN+ge.Msg.MIXLY_SERVO_MOTOR).appendField(ge.Msg.PIN_NUMBERING).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LEFT,"0"],[ge.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"[0]"],[ge.Msg.MIXLY_SPEED,"[1]"],[ge.Msg.MATH_SINGLE_OP_ABSOLUTE+ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[2]"],[ge.Msg.MIXLY_RELATIVE+ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[3]"],[ge.Msg.MIXLY_MIXBOT_SERVO_BLOCK_OR_NOT,"[4]"],[ge.Msg.MIXLY_MIXBOT_SERVO_FINISH_OR_NOT,"[5]"],[ge.Msg.MIXLY_ALL,""]]),"status"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Vr={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.ME_GO_MOTOR_EXTERN+ge.Msg.MIXLY_SERVO_MOTOR).appendField(ge.Msg.PIN_NUMBERING).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LEFT,"0"],[ge.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MIXBOT_SERVO_SET_STOP_MODE).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_KEEP,"0"],[ge.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_COAST,"1"],[ge.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_BRAKE,"2"]]),"status"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Br={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.ME_GO_MOTOR_EXTERN+ge.Msg.MIXLY_SERVO_MOTOR).appendField(ge.Msg.PIN_NUMBERING).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LEFT,"0"],[ge.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(ge.Msg.MIXLY_STOP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Gr={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.ME_GO_MOTOR_EXTERN+ge.Msg.MIXLY_SERVO_MOTOR).appendField(ge.Msg.MATH_SINGLE_OP_ABSOLUTE+ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+ge.Msg.MSG.run).appendField(ge.Msg.PIN_NUMBERING).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LEFT,"0"],[ge.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MODE).setAlign(ge.inputs.Align.RIGHT).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_SPEED+ge.Msg.MIXLY_MODE,"0"],[ge.Msg.MIXLY_MICROBIT_JS_BLE_POWER+ge.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(ge.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(ge.inputs.Align.RIGHT).appendField(new ge.FieldDropdown([[ge.Msg.CLOCKWISE,"0"],[ge.Msg.MIXLY_MIXBOT_SERVO_NEAREST_PATH,"1"],[ge.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.appendValueInput("angle").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MIXBOT_SERVO_ABSOLUTE_ANGLE_TOOLTIP)}},Ur={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.ME_GO_MOTOR_EXTERN+ge.Msg.MIXLY_SERVO_MOTOR).appendField(ge.Msg.MIXLY_RELATIVE+ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+ge.Msg.MSG.run).appendField(ge.Msg.PIN_NUMBERING).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LEFT,"0"],[ge.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ORIGIN_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},wr={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.ME_GO_MOTOR_EXTERN+ge.Msg.MIXLY_SERVO_MOTOR).appendField(ge.Msg.MIXLY_RELATIVE+ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+ge.Msg.MSG.run).appendField("("+ge.Msg.MIXLY_MIXBOT_SERVO_LIKE_ENCODING_MOTOR+")").appendField(ge.Msg.PIN_NUMBERING).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LEFT,"0"],[ge.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MODE).setAlign(ge.inputs.Align.RIGHT).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_SPEED+ge.Msg.MIXLY_MODE,"0"],[ge.Msg.MIXLY_MICROBIT_JS_BLE_POWER+ge.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(ge.inputs.Align.RIGHT).appendField("%"),this.appendValueInput("angle").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ANGLE_TOOLTIP)}},Hr={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.ME_GO_MOTOR_EXTERN+ge.Msg.MIXLY_SERVO_MOTOR).appendField(ge.Msg.MIXLY_RELATIVE+ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+ge.Msg.MSG.run).appendField("("+ge.Msg.MIXLY_MIXBOT_SERVO_LIKE_ORDINARY_MOTOR+")").appendField(ge.Msg.PIN_NUMBERING).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LEFT,"0"],[ge.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MODE).setAlign(ge.inputs.Align.RIGHT).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_SPEED+ge.Msg.MIXLY_MODE,"0"],[ge.Msg.MIXLY_MICROBIT_JS_BLE_POWER+ge.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(ge.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(ge.inputs.Align.RIGHT).appendField(new ge.FieldDropdown([[ge.Msg.CLOCKWISE,"0"],[ge.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},kr={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.MIXBOT).appendField(ge.Msg.ME_GO_MOTOR_EXTERN).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MOTOR,"ext_motor"],[ge.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[ge.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[ge.Msg.COLOUR_RGB_RED+"LED","R_LED"],[ge.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[ge.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[ge.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[ge.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MIXBOT_EXTERN_GET_ADDR),this.setOutput(!0),this.setInputsInline(!0)}},Wr={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.MIXBOT).appendField(ge.Msg.ME_GO_MOTOR_EXTERN).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MOTOR,"ext_motor"],[ge.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[ge.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[ge.Msg.COLOUR_RGB_RED+"LED","R_LED"],[ge.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[ge.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[ge.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[ge.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MIXBOT_EXTERN_SET_ADDR),this.appendValueInput("old").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE),this.appendValueInput("new").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_UPDATE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Kr={init:function(){this.setColour(Hu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_SETUP+ge.Msg.MIXLY_AT).appendField(ge.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},Jr={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.MIXLY_SETTING),this.appendValueInput("pin").appendField("LED"),this.appendValueInput("bright").appendField(ge.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Qr={init:function(){this.setColour(Hu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_SERVO+ge.Msg.MIXLY_SETUP+ge.Msg.MIXLY_AT).appendField(ge.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},zr={init:function(){this.setColour(Hu),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_SERVO),this.appendValueInput("angle").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_DISPLAY_MATRIX_ROTATE),this.appendDummyInput().appendField(ge.Msg.DRAW_POINTER_ANGLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},qr={init:function(){this.setColour(Hu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_MOTOR+ge.Msg.MIXLY_SETUP+ge.Msg.MIXLY_AT).appendField(ge.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},jr={init:function(){this.setColour(Hu),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_MOTOR),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+ge.Msg.MIXLY_SPEED),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},$r="#6C9858",Zr={init:function(){this.setColour($r),this.appendDummyInput("").appendField(new ge.FieldDropdown([["L1","1"],["L2","2"]]),"op"),this.setOutput(!0)}},el={init:function(){this.setColour($r),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_ESP32_ON,"1"],[ge.Msg.MIXLY_ESP32_OFF,"0"],[ge.Msg.MIXLY_ESP32_TOGGLE,"-1"]]),"flag"),this.setOutput(!0),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},tl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(ge.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(ge.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_LED_SETONOFF)}},il={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(ge.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(ge.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_LED_GETBRIGHT)}},nl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(ge.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(ge.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_LED_GETONOFF)}},sl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(ge.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(ge.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_SETTING+ge.Msg.MIXLY_BUILDIN_LED+ge.Msg.MIXLY_BRIGHTNESS+"(0-100%)")}},_l={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(ge.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput("").appendField(ge.Msg.MIXLY_LCD_SETCOLOR).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LIGHT_RED,"1"],[ge.Msg.MIXLY_LIGHT_GREEN,"2"],[ge.Msg.MIXLY_LIGHT_BLUE,"3"],[ge.Msg.MIXLY_LIGHT_YELLOW,"4"],[ge.Msg.MIXLY_LIGHT_CYAN,"5"],[ge.Msg.MIXLY_LIGHT_PURPLE,"6"],[ge.Msg.MIXLY_LIGHT_WHITE,"7"]]),"colorvalue"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},ol={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_SETTING).appendField(ge.Msg.MIXLY_BUILDIN_LED).appendField(new ge.FieldDropdown([[ge.Msg.COLOUR_RGB_RED,"r"],[ge.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(ge.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_LED_SETONOFF)}},pl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(ge.Msg.MIXLY_BUILDIN_LED).appendField(new ge.FieldDropdown([[ge.Msg.COLOUR_RGB_RED,"r"],[ge.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(ge.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_LED_GETONOFF)}},al={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(ge.Msg.MIXLY_BUILDIN_LED).appendField(new ge.FieldDropdown([[ge.Msg.COLOUR_RGB_RED,"r"],[ge.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(ge.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_LED_GETONOFF)}},ul={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_SETTING).appendField(ge.Msg.MIXLY_BUILDIN_LED).appendField(new ge.FieldDropdown([[ge.Msg.COLOUR_RGB_RED,"r"],[ge.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(ge.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_SETTING+ge.Msg.MIXLY_BUILDIN_LED+ge.Msg.MIXLY_BRIGHTNESS+"(0-10)")}},rl={init:function(){this.setColour($r),this.appendDummyInput("").appendField(new ge.FieldDropdown([["L1","20"],["L2","21"]]),"op"),this.setOutput(!0)}},ll={init:function(){this.setColour($r),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(Ce.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgo_cc":case"micropython:esp32s2:mixgo_ce":this.setTooltip(ge.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgo_me":default:this.setTooltip(ge.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(ge.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},dl={init:function(){this.setColour($r),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ge.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},Il={init:function(){this.setColour($r),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(ge.Msg.MIXLY_DURATION).appendField(ge.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Tl={init:function(){this.setColour($r),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(ge.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(ge.Msg.PYTHON_RANGE_STEP).appendField(ge.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Ml={init:function(){this.setColour($r),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ge.Msg.MIXLY_ESP32_MUSIC_WRI)}},hl={init:function(){this.setColour($r),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(Ce.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgocc":this.setTooltip(ge.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgome":default:this.setTooltip(ge.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(ge.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},ml={init:function(){this.setColour($r),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ge.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},El={init:function(){this.setColour($r),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(ge.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(ge.Msg.PYTHON_RANGE_STEP).appendField(ge.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Ol={init:function(){this.setColour($r),this.appendValueInput("TICKS").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(ge.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(ge.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},Rl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},cl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_MUSIC_RESET)}},gl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(ge.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Cl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(ge.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(ge.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},Sl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Al={init:function(){this.setColour($r),this.appendValueInput("LIST").appendField(ge.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Ll={init:function(){this.setColour($r),this.appendValueInput("LIST").appendField(ge.Msg.MIXLY_BACKSTAGE+ge.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Nl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MOTOR_DC).appendField(new ge.FieldDropdown([["1","1"],["2","2"],["3","3"]]),"wheel"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Direction).appendField(new ge.FieldDropdown([[ge.Msg.CLOCKWISE,"CW"],[ge.Msg.ANTI_CLOCKWISE,"CCW"],[ge.Msg.MOTOR_P,"P"],[ge.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Dl={init:function(){this.setColour($r),this.appendDummyInput().appendField("MixGo Car").appendField(new ge.FieldDropdown([[ge.Msg.blockpy_forward,"F"],[ge.Msg.blockpy_backward,"B"],[ge.Msg.blockpy_left,"L"],[ge.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},fl={init:function(){this.setColour($r),this.appendDummyInput("").appendField("MixGo Car").appendField(new ge.FieldDropdown([[ge.Msg.MOTOR_P,"P"],[ge.Msg.MOTOR_N,"N"]]),"VAR"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Fl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MOTOR_DC).appendField(new ge.FieldDropdown([[ge.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[ge.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Direction).appendField(new ge.FieldDropdown([[ge.Msg.CLOCKWISE,"CW"],[ge.Msg.ANTI_CLOCKWISE,"CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Pl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MOTOR_DC).appendField(new ge.FieldDropdown([[ge.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[ge.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(ge.Msg.MIXLY_STOP).appendField(new ge.FieldDropdown([[ge.Msg.MOTOR_P,"P"],[ge.Msg.MOTOR_N,"N"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Yl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_MIXBOT_MOTOR_STATUS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MIXBOT_MOTOR_STATUS_TOOLTIP)}},vl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXBOT).appendField(new ge.FieldDropdown([[ge.Msg.blockpy_forward,"F"],[ge.Msg.blockpy_backward,"B"],[ge.Msg.blockpy_left,"L"],[ge.Msg.blockpy_right,"R"]]),"VAR"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[ge.Msg.MIXLY_SPEED,"SPEED"],[ge.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},Xl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXBOT).appendField(new ge.FieldDropdown([[ge.Msg.MOTOR_P,"P"],[ge.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},yl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXBOT).appendField(ge.Msg.MIXLY_MOTOR).appendField(new ge.FieldDropdown([[ge.Msg.TEXT_TRIM_LEFT,"1"],[ge.Msg.TEXT_TRIM_RIGHT,"2"],[ge.Msg.TEXT_TRIM_BOTH,"0"]]),"wheel"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[ge.Msg.MIXLY_SPEED,"SPEED"],[ge.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},xl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_MIXBOT_BUZZER),this.appendDummyInput().appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,"0"],[ge.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,"1"]]),"on_off"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},bl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.BITBOT).appendField(new ge.FieldDropdown([[ge.Msg.blockpy_forward,"F"],[ge.Msg.blockpy_backward,"B"],[ge.Msg.blockpy_left,"L"],[ge.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Vl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.BITBOT).appendField(new ge.FieldDropdown([[ge.Msg.MOTOR_P,"P"],[ge.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Bl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.BITBOT).appendField(ge.Msg.MIXLY_MOTOR).appendField(new ge.FieldDropdown([[ge.Msg.TEXT_TRIM_LEFT,"0"],[ge.Msg.TEXT_TRIM_RIGHT,"1"]]),"wheel"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Direction).appendField(new ge.FieldDropdown([[ge.Msg.CLOCKWISE,"CW"],[ge.Msg.ANTI_CLOCKWISE,"CCW"],[ge.Msg.MOTOR_P,"P"],[ge.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Gl={init:function(){this.setColour($r),this.appendValueInput("bright").appendField(ge.Msg.MIXLY_MIXBOT_SOUND_SET_LOUDNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_LED_SETONOFF)}},Ul={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_MIXBOT_SOUND_LOUDNESS+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_LED_GETONOFF)}},wl={init:function(){this.setColour($r),this.appendValueInput("bright").appendField(ge.Msg.MIXLY_SETTING+ge.Msg.MIXLY_MIXBOT_BUZZER+ge.Msg.MIXLY_MP3_VOL),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_LED_SETONOFF)}},Hl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET+ge.Msg.MIXLY_MIXBOT_BUZZER+ge.Msg.MIXLY_MP3_VOL+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_LED_GETONOFF)}},kl={init:function(){this.setColour($r),this.appendValueInput("PATH").appendField(ge.Msg.MIXLY_RECORD_AUDIO).appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendValueInput("TIME").setCheck(Number).appendField(ge.Msg.MIXLY_GET_PRESSES_TIME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Wl={init:function(){this.setColour($r),this.appendValueInput("PATH").appendField(ge.Msg.MIXLY_PLAY_AUDIO).appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Kl={init:function(){this.setColour($r),this.appendValueInput("PATH").appendField(ge.Msg.MIXLY_PLAY_ONLINE_AUDIO).appendField("URL"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Jl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(ge.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Ql={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},zl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.LISTS_SET_INDEX_SET+ge.Msg.ME_GO_MOTOR_EXTERN).appendField(ge.Msg.PIN_NUMBERING);if("micropython:esp32c2:mixgo_mini"===Ce.Boards.getSelectedBoardKey())this.appendDummyInput().appendField(new ge.FieldDropdown([["1","1"],["2","2"]]),"index");else this.appendDummyInput().appendField(new ge.FieldDropdown([["1","1"],["2","2"],["3","3"],["4","4"]]),"index");this.appendValueInput("duty").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.blynk_IOT_IR_POWER+ge.Msg.MIXLY_PINMODEOUT),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},ql={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET+ge.Msg.ME_GO_MOTOR_EXTERN).appendField(ge.Msg.PIN_NUMBERING);if("micropython:esp32c2:mixgo_mini"===Ce.Boards.getSelectedBoardKey())this.appendDummyInput().appendField(new ge.FieldDropdown([["1","1"],["2","2"]]),"index");else this.appendDummyInput().appendField(new ge.FieldDropdown([["1","1"],["2","2"],["3","3"],["4","4"]]),"index");this.appendDummyInput().setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.blynk_IOT_IR_POWER+ge.Msg.MIXLY_PINMODEOUT+ge.Msg.MIXLY_DUTY_RATIO),this.setOutput(!0,Number),this.setInputsInline(!0)}},jl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.LISTS_SET_INDEX_SET+ge.Msg.ME_GO_MOTOR_EXTERN).appendField(ge.Msg.MIXLY_ALL+ge.Msg.PIN_NUMBERING),this.appendValueInput("duty").setCheck(Number).setAlign(ge.ALIGN_RIGHT).appendField(ge.Msg.blynk_IOT_IR_POWER+ge.Msg.MIXLY_PINMODEOUT+ge.Msg.MIXLY_FREQUENCY),this.appendDummyInput().appendField("Hz"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},$l={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.ANALOG+ge.Msg.MIXLY_KEYBOARD_INPUT),this.appendValueInput("special"),this.appendValueInput("general"),this.appendDummyInput().appendField(ge.Msg.MIXLY_RELEASE).appendField(new ge.FieldDropdown([[ge.Msg.MICROPYTHON_DISPLAY_YES,"True"],[ge.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"release"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.ANALOG+ge.Msg.MIXLY_KEYBOARD_INPUT)}},Zl={init:function(){this.setColour($r),this.appendDummyInput("").appendField(ge.Msg.MIXLY_SPECIAL_KEY).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_SPECIAL_KEY0,"0x00"],[ge.Msg.MIXLY_SPECIAL_KEY1,"0x01"],[ge.Msg.MIXLY_SPECIAL_KEY2,"0x02"],[ge.Msg.MIXLY_SPECIAL_KEY4,"0x04"],[ge.Msg.MIXLY_SPECIAL_KEY8,"0x08"],[ge.Msg.MIXLY_SPECIAL_KEY16,"0x10"],[ge.Msg.MIXLY_SPECIAL_KEY32,"0x20"],[ge.Msg.MIXLY_SPECIAL_KEY64,"0x40"],[ge.Msg.MIXLY_SPECIAL_KEY128,"0x80"]]),"op"),this.setOutput(!0)}},ed={init:function(){this.setColour($r),this.appendDummyInput("").appendField(ge.Msg.MIXLY_GENERAL_KEY).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_SPECIAL_KEY0,"0x00"],["A","0x04"],["B","0x05"],["C","0x06"],["D","0x07"],["E","0x08"],["F","0x09"],["G","0x0A"],["H","0x0B"],["I","0x0C"],["J","0x0D"],["K","0x0E"],["L","0x0F"],["M","0x10"],["N","0x11"],["O","0x12"],["P","0x13"],["Q","0x14"],["R","0x15"],["S","0x16"],["T","0x17"],["U","0x18"],["V","0x19"],["W","0x1A"],["X","0x1B"],["Y","0x1C"],["Z","0x1D"],["1 !","0x1E"],["2 @","0x1F"],["3 #","0x20"],["4 $","0x21"],["5 %","0x22"],["6 ^","0x23"],["7 &","0x24"],["8 *","0x25"],["9 (","0x26"],["0 )","0x27"],["ENTER","0x28"],["ESC","0x29"],["BACKSPACE","0x2A"],["TAB","0x2B"],["SPACE","0x2C"],["- _","0x2D"],["= +","0x2E"],["[ {","0x2F"],["] }","0x30"],["\\ |","0x31"],["; :","0x33"],["' \"","0x34"],["` ~","0x35"],[", <","0x36"],[". >","0x37"],["/ ?","0x38"],["CAPS_LOCK","0x39"],["F1","0x3A"],["F2","0x3B"],["F3","0x3C"],["F4","0x3D"],["F5","0x3E"],["F6","0x3F"],["F7","0x40"],["F8","0x41"],["F9","0x42"],["F10","0x43"],["F11","0x44"],["F12","0x45"],["PRINTSCREEN","0x46"],["SCROLL_LOCK","0x47"],["PAUSE","0x48"],["INSERT","0x49"],["HOME","0x4A"],["PAGE_UP","0x4B"],["DELETE","0x4C"],["END","0x4D"],["PAGE_DOWN","0x4E"],["RIGHT","0x4F"],["LEFT","0x50"],["DOWN","0x51"],["UP","0x52"],["NUM_LOCK","0x53"],["/","0x54"],["*","0x55"],["-","0x56"],["+","0x57"],["ENTER","0x58"],["1","0x59"],["2","0x5A"],["3","0x5B"],["4","0x5C"],["5","0x5D"],["6","0x5E"],["7","0x5F"],["8","0x60"],["9","0x61"],["0","0x62"],[".","0x63"]]),"op"),this.setOutput(!0)}},td={init:function(){this.setColour($r),this.itemCount_=2,this.updateShape_(),this.setOutput(!0),this.setMutator(new ge.icons.MutatorIcon(["generalkey_create_with_item"],this)),this.setTooltip(ge.Msg.GENERALKEY_TUPLE_CREATE_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("generalkey_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;nnew Array(32).fill(0)))},$m={init:function(){this.jsonInit({colour:Um,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SAD","SAD"],["SMILE","SMILE"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["SURPRISED","SURPRISED"],["ASLEEP","ASLEEP"],["ANGRY","ANGRY"],["CONFUSED","CONFUSED"],["NO","NO"],["YES","YES"]],type:"field_dropdown"}],output:["esp32_image","List"],helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#attributes",tooltip:ge.Msg.MIXLY_MICROBIT_Built_in_image1,message0:ge.Msg.MIXLY_MICROBIT_Built_in_image})}},Zm={init:function(){this.setColour(Um),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new ge.FieldDropdown(Ce.Profile.default.builtinimg),"image"),this.setOutput(!0,["esp32_image","List"])}},eE={init:function(){this.setColour(Um),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(ge.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new ge.FieldDropdown(eE.OPERATORS),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{"+":ge.Msg.MIXLY_MICROBIT_image_add,"-":ge.Msg.MIXLY_MICROBIT_image_reduce}[t]}))},OPERATORS:[[ge.Msg.MICROBIT_DISPLAY_UNION,"add"],[ge.Msg.MICROBIT_DISPLAY_MINUS,"sub"]]},tE={init:function(){this.setColour(Um),this.appendValueInput("A").setCheck("esp32_image").appendField(ge.Msg.MIXLY_MICROBIT_Invert_image1),this.setInputsInline(!0),this.setOutput(!0,"esp32_image")}},iE={init:function(){this.setColour(Um),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(ge.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(ge.Msg.DISPLAY_IMAGE_LET2).appendField(new ge.FieldDropdown(iE.OPERATORS),"OP"),this.appendValueInput("val").appendField(ge.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(ge.Msg.DISPLAY_IMAGE_UNIT);Ce.Boards.getSelectedBoardKey();"Python ESP32-S3"===Ce.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(ge.Msg.MIXLY_synchronize);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i=ge.Msg.DISPLAY_IMAGE_LET,n=ge.Msg.DISPLAY_IMAGE_LET2,s=ge.Msg.DISPLAY_IMAGE_LET3;return i+n+{shift_up:ge.Msg.MIXLY_UP,shift_down:ge.Msg.MIXLY_DOWN,shift_left:ge.Msg.MIXLY_LEFT,shift_right:ge.Msg.MIXLY_RIGHT}[t]+s}))},OPERATORS:[[ge.Msg.MIXLY_UP,"shift_up"],[ge.Msg.MIXLY_DOWN,"shift_down"],[ge.Msg.MIXLY_LEFT,"shift_left"],[ge.Msg.MIXLY_RIGHT,"shift_right"]]},nE={init:function(){this.setColour(Um),this.appendValueInput("x").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_JS_MONITOR_GET_POINT),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(ge.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},sE={init:function(){this.setColour(Um),this.appendValueInput("x").setCheck(Number).appendField(ge.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},_E={init:function(){this.setColour(Um),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(ge.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},oE={init:function(){this.setColour(Um),this.appendValueInput("x").setCheck(Number).appendField(ge.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},pE={init:function(){this.setColour(Um),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Clear_display);Ce.Boards.getSelectedBoardKey();"Python ESP32-S3"===Ce.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(ge.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MICROBIT_Clear_display)}},aE={init:function(){this.setColour(Um),this.appendDummyInput().appendField(ge.Msg.MIXLY_SHOW+ge.Msg.MIXLY_DISPLAY_MATRIX_WRITE_NOW),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},uE={init:function(){this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let e=0;e<5;e++){let t=this.appendDummyInput();for(let i=0;i<8;i++)t.appendField(new ge.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),e+"-"+i)}this.appendDummyInput().appendField(`(${ge.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(Um),this.setTooltip(ge.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(ge.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},rE={init:function(){this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(ge.inputs.Align.CENTRE).appendField(new ge.FieldBitmap(rE.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Um),this.setTooltip(ge.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(8).fill(0)))},lE={init:function(){this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let e=0;e<8;e++){let t=this.appendDummyInput();for(let i=0;i<12;i++)t.appendField(new ge.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),e+"-"+i)}this.appendDummyInput().appendField(`(${ge.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(Um),this.setTooltip(ge.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(ge.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},dE={init:function(){this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(ge.inputs.Align.CENTRE).appendField(new ge.FieldBitmap(dE.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Um),this.setTooltip(ge.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(12).fill(0)))},IE={init:function(){this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let e=0;e<8;e++){let t=this.appendDummyInput();for(let i=0;i<16;i++)t.appendField(new ge.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),e+"-"+i)}this.appendDummyInput().appendField(`(${ge.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0,"esp32_image"),this.setColour(Um),this.setTooltip(ge.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(ge.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},TE={init:function(){this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(ge.inputs.Align.CENTRE).appendField(new ge.FieldBitmap(TE.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Um),this.setTooltip(ge.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(16).fill(0)))},ME={init:function(){this.setColour(Um),this.appendDummyInput().appendField(ge.Msg.OLED_SET_FONT).appendField(new ge.FieldDropdown(ME.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[["4x5"+ge.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'4x5'"],["5x5"+ge.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'5x5'"],["5x8"+ge.Msg.MIXGO_ME_DISPLAY_VERTICAL,"'5x8'"]]},hE={init:function(){this.setColour(Um),this.appendValueInput("data").appendField(ge.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.OLED_BITMAP_OR_STRING)}},mE={init:function(){this.setColour(Um),this.appendValueInput("data").appendField(ge.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_NUMBER),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.OLED_BITMAP_OR_STRING)}},EE={init:function(){this.setColour(Um),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(ge.Msg.OLED_DRAWSTR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.OLED_BITMAP_OR_STRING)}},OE={init:function(){this.setColour(Um),this.appendValueInput("data").appendField(ge.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ge.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(ge.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(ge.Msg.TEXT_CENTER).appendField(new ge.FieldDropdown([[ge.Msg.MICROPYTHON_DISPLAY_YES,"True"],[ge.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},RE={init:function(){this.setColour(Um),this.appendValueInput("data").appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ge.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(ge.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},cE={init:function(){this.setColour(Um),this.appendValueInput("data").appendField(ge.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(ge.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},gE={init:function(){this.setColour(Um),this.appendValueInput("x").setCheck(Number).appendField(ge.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},CE={init:function(){this.jsonInit({colour:Um,args0:[{name:"state",options:[[ge.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[ge.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"shape",options:[[ge.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[ge.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"}],inputsInline:!0,helpUrl:ge.Msg.mpython_HELPURL,tooltip:ge.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:ge.Msg.MPYTHON_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},SE={init:function(){this.jsonInit({colour:Um,args0:[{name:"state",options:[[ge.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[ge.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"dir_h_v",options:[[ge.Msg.mpython_vertical,"0"],[ge.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"}],inputsInline:!0,helpUrl:ge.Msg.mpython_HELPURL,tooltip:ge.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:ge.Msg.MPYTHON_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},AE={init:function(){this.jsonInit({colour:Um,args0:[{name:"state",options:[[ge.Msg.mpython_display_hline_1,"1"],[ge.Msg.mpython_display_hline_0,"0"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"}],inputsInline:!0,helpUrl:ge.Msg.mpython_HELPURL,tooltip:ge.Msg.mpython_display_line_TOOLTIP,message0:ge.Msg.mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},LE={init:function(){this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new ge.FieldDropdown(LE.IMAGES),"path"),this.setColour(Um),this.setOutput(!0)},IMAGES:[["Heart","expression_picture.Heart"],["Angry","expression_picture.Angry"],["Bored","expression_picture.Bored"],["Confused","expression_picture.Confused"],["Happy","expression_picture.Happy"],["Paper","expression_picture.Paper"],["Rock","expression_picture.Rock"],["Sad","expression_picture.Sad"],["Scissors","expression_picture.Scissors"],["Silly","expression_picture.Silly"],["Sleep","expression_picture.Sleep"],["Small_heart","expression_picture.Small_heart"],["Small_paper","expression_picture.Small_paper"],["Small_rock","expression_picture.Small_rock"],["Small_scissors","expression_picture.Small_scissors"],["Smile","expression_picture.Smile"],["Surprise","expression_picture.Surprise"],["Wonderful","expression_picture.Wonderful"],["Eyes_Angry","eye_picture.Eyes_Angry"],["Awake","eye_picture.Awake"],["Black_eye","eye_picture.Black_eye"],["Bottom_left","eye_picture.Bottom_left"],["Bottom_right","eye_picture.Bottom_right"],["Crazy_1","eye_picture.Crazy_1"],["Crazy_2","eye_picture.Crazy_2"],["Disappointed","eye_picture.Disappointed"],["Dizzy","eye_picture.Dizzy"],["Down","eye_picture.Down"],["Evil","eye_picture.Evil"],["Hurt","eye_picture.Hurt"],["Knocked_out","eye_picture.Knocked_out"],["Love","eye_picture.Love"],["Middle_left","eye_picture.Middle_left"],["Middle_right","eye_picture.Middle_right"],["Neutral","eye_picture.Neutral"],["Nuclear","eye_picture.Nuclear"],["Pinch_left","eye_picture.Pinch_left"],["Pinch_middle","eye_picture.Pinch_middle"],["Pinch_right","eye_picture.Pinch_right"],["Tear","eye_picture.Tear"],["Tired_left","eye_picture.Tired_left"],["Tired_middle","eye_picture.Tired_middle"],["Tired_right","eye_picture.Tired_right"],["Toxic","eye_picture.Toxic"],["Up","eye_picture.Up"],["Winking","eye_picture.Winking"],["Accept","informatio_picture.Accept"],["Backward","informatio_picture.Backward"],["Decline","informatio_picture.Decline"],["Forward","informatio_picture.Forward"],["Left","informatio_picture.Left"],["No_go","informatio_picture.No_go"],["Question_mark","informatio_picture.Question_mark"],["Right","informatio_picture.Right"],["Stop_1","informatio_picture.Stop_1"],["Stop_2","informatio_picture.Stop_2"],["Thumbs_down","informatio_picture.Thumbs_down"],["Thumbs_up","informatio_picture.Thumbs_up"],["Warning","informatio_picture.Warning"],["Bomb","object_picture.Bomb"],["Boom","object_picture.Boom"],["Fire","object_picture.Fire"],["Flowers","object_picture.Flowers"],["Forest","object_picture.Forest"],["Lightning","object_picture.Lightning"],["Light_off","object_picture.Light_off"],["Light_on","object_picture.Light_on"],["Night","object_picture.Night"],["Pirate","object_picture.Pirate"],["Snow","object_picture.Snow"],["Target","object_picture.Target"],["Bar_0","progres_picture.Bar_0"],["Bar_1","progres_picture.Bar_1"],["Bar_2","progres_picture.Bar_2"],["Bar_3","progres_picture.Bar_3"],["Bar_4","progres_picture.Bar_4"],["Dial_0","progres_picture.Dial_0"],["Dial_1","progres_picture.Dial_1"],["Dial_2","progres_picture.Dial_2"],["Dial_3","progres_picture.Dial_3"],["Dial_4","progres_picture.Dial_4"],["Dots_0","progres_picture.Dots_0"],["Dots_1","progres_picture.Dots_1"],["Dots_2","progres_picture.Dots_2"],["Dots_3","progres_picture.Dots_3"],["Hourglass_0","progres_picture.Hourglass_0"],["Hourglass_1","progres_picture.Hourglass_1"],["Hourglass_2","progres_picture.Hourglass_2"],["Timer_0","progres_picture.Timer_0"],["Timer_1","progres_picture.Timer_1"],["Timer_2","progres_picture.Timer_2"],["Timer_3","progres_picture.Timer_3"],["Timer_4","progres_picture.Timer_4"],["Water_level_0","progres_picture.Water_level_0"],["Water_level_1","progres_picture.Water_level_1"],["Water_level_2","progres_picture.Water_level_2"],["Water_level_3","progres_picture.Water_level_3"],["YES","informatio_picture.YES"],["NO","informatio_picture.NO"]]},NE={init:function(){this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let e=0;e<5;e++){let t=this.appendDummyInput();for(let i=0;i<5;i++)t.appendField(new ge.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),e+"-"+i)}this.appendDummyInput().appendField(`(${ge.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(Um),this.setTooltip(ge.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(ge.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},DE={init:function(){this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(ge.inputs.Align.CENTRE).appendField(new ge.FieldBitmap(DE.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Um),this.setTooltip(ge.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(5).fill(0)))},fE={init:function(){this.setColour(Um),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(ge.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},FE={init:function(){this.setColour(Um),this.appendDummyInput().appendField(ge.Msg.MIXLY_MIXBOT_AMBIENTBRIGHT),this.setInputsInline(!0),this.setOutput(!0,Number)}},PE={init:function(){this.setColour(Um),this.appendValueInput("x").setCheck(Number).appendField(ge.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},YE={init:function(){this.setColour(Um),this.appendDummyInput().appendField(ge.Msg.MIXLY_MIXBOT_SCREEN_ROTATE).appendField(new ge.FieldDropdown(YE.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[[ge.Msg.mixpy_PL_PIE_SHADOW_N,"0"],[ge.Msg.CLOCKWISE+"90"+ge.Msg.blockpy_setheading_degree,"1"],[ge.Msg.CLOCKWISE+"180"+ge.Msg.blockpy_setheading_degree,"2"],[ge.Msg.CLOCKWISE+"270"+ge.Msg.blockpy_setheading_degree,"3"]]},vE={init:function(){this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let e=0;e<12;e++){let t=this.appendDummyInput();for(let i=0;i<12;i++)t.appendField(new ge.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),e+"-"+i)}this.appendDummyInput().appendField(`(${ge.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(Um),this.setTooltip(ge.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(ge.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},XE={init:function(){this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(ge.inputs.Align.CENTRE).appendField(new ge.FieldBitmap(XE.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Um),this.setTooltip(ge.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:12},(()=>new Array(12).fill(0)))},yE={init:function(){this.setColour(Um),this.appendValueInput("data").appendField(ge.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(ge.Msg.HTML_COLOUR);Ce.Boards.getSelectedBoardKey();"Python ESP32-S3"===Ce.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(ge.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},xE={init:function(){this.setColour(Um),this.appendValueInput("x").setCheck(Number).appendField(ge.Msg.OLED_BITMAP).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("direct").setCheck(String).appendField(ge.Msg.MIXLY_AipImageClassify_Image+ge.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},bE={init:function(){this.setColour(Um),this.appendValueInput("data").appendField(ge.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ge.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(ge.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(ge.Msg.TEXT_CENTER).appendField(new ge.FieldDropdown([[ge.Msg.MICROPYTHON_DISPLAY_YES,"True"],[ge.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.appendValueInput("VAR").appendField(ge.Msg.HTML_COLOUR);Ce.Boards.getSelectedBoardKey();"Python ESP32-S3"===Ce.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(ge.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},VE={init:function(){this.setColour(Um),this.appendValueInput("data").appendField(ge.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(ge.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("VAR").appendField(ge.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},BE={init:function(){this.jsonInit({colour:Um,args0:[{name:"shape",options:[[ge.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[ge.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:ge.Msg.mpython_HELPURL,tooltip:ge.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:ge.Msg.ONBOARD_TFT_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},GE={init:function(){this.jsonInit({colour:Um,args0:[{name:"dir_h_v",options:[[ge.Msg.mpython_vertical,"0"],[ge.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:ge.Msg.mpython_HELPURL,tooltip:ge.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:ge.Msg.ONBOARD_TFT_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},UE={init:function(){this.jsonInit({colour:Um,args0:[{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:ge.Msg.mpython_HELPURL,tooltip:ge.Msg.mpython_display_line_TOOLTIP,message0:ge.Msg.onboard_mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},wE={init:function(){this.setColour(Um),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("x").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(ge.Msg.HTML_COLOUR),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(ge.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},HE={init:function(){this.setColour(Um),this.appendValueInput("x").setCheck(Number).appendField(ge.Msg.MIXLY_LCD_SETCOLOR).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("VAR").appendField(ge.Msg.HTML_COLOUR);Ce.Boards.getSelectedBoardKey();"Python ESP32-S3"===Ce.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(ge.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},kE={init:function(){this.setColour(Um),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_SCREEN_FILL);Ce.Boards.getSelectedBoardKey();"Python ESP32-S3"===Ce.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(ge.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},WE={init:function(){this.setColour(Um),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_INIT_CLOCK),this.appendDummyInput().appendField(ge.Msg.MIXLY_CENTER_POS),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ge.Msg.OLED_CIRCLE_RADIUS),this.appendValueInput("VAR").appendField(ge.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},KE={init:function(){this.setColour(Um),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ge.Msg.GET_RTCTIME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},JE={init:function(){this.setColour(Um),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ge.Msg.SET_TIME),this.appendValueInput("h").setCheck(Number).appendField(ge.Msg.MIXLY_HOUR),this.appendValueInput("m").setCheck(Number).appendField(ge.Msg.MIXLY_MINUTE),this.appendValueInput("s").setCheck(Number).appendField(ge.Msg.MIXLY_SECOND),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},QE={init:function(){this.setColour(Um),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ge.Msg.DRAW_CLOCK),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},zE={init:function(){this.setColour(Um),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ge.Msg.CLEAR_CLOCK),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_STM32_TFT_BACKGROUND_COLOR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},qE={init:function(){this.jsonInit({colour:Um,args0:[{name:"shape",options:[[ge.Msg.MPYTHON_DISPLAY_HOLLOW,"False"],[ge.Msg.MPYTHON_DISPLAY_SOLID,"True"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"r",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:ge.Msg.mpython_HELPURL,message0:ge.Msg.ONBOARD_TFT_DISPLAY_SHAPE_CIRCLE_MESSAGE0,nextStatement:null,previousStatement:null})}},jE={init:function(){this.setColour(Um),this.appendDummyInput().appendField(ge.Msg.DRAW_POINTER).appendField(ge.Msg.DRAW_POINTER_ANGLE),this.appendValueInput("angle"),this.appendDummyInput().appendField(ge.Msg.MIXLY_DRAW_POINTER_DU),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.DRAW_POINTER_TOOLTIP)}},$E={init:function(){this.setColour(Um),this.appendDummyInput().appendField(ge.Msg.DRAW_POINTER).appendField(ge.Msg.DRAW_POINTER_ANGLE),this.appendValueInput("angle"),this.appendDummyInput().appendField(ge.Msg.MIXLY_DRAW_POINTER_DU),this.appendValueInput("VAR").appendField(ge.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.DRAW_POINTER_TOOLTIP)}},ZE={init:function(){this.setColour(Um),this.appendValueInput("data").appendField(ge.Msg.MIXLY_Display_long_text),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(ge.Msg.HTML_COLOUR);Ce.Boards.getSelectedBoardKey();"Python ESP32-S3"===Ce.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(ge.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},eO={init:function(){this.setColour(Um),this.appendValueInput("direct").appendField(ge.Msg.OLED_BITMAP).appendField(ge.Msg.MIXLY_QR_CODE),"Python ESP32-S3"===Ce.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(ge.Msg.MIXLY_synchronize),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},tO={init:function(){this.setColour(Um),this.appendValueInput("data").appendField(ge.Msg.OLED_BITMAP).appendField(ge.Msg.MIXLY_QR_CODE),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendDummyInput("").appendField(ge.Msg.MIXLY_ERROR_RATE).appendField(new ge.FieldDropdown([["0","7%"],["1","15%"],["2","25%"],["3","30"]]),"correct"),this.appendValueInput("VAR").appendField(ge.Msg.HTML_COLOUR),"Python ESP32-S3"===Ce.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(ge.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},iO={init:function(){this.setColour(Um),this.appendValueInput("data").appendField(ge.Msg.OLED_BITMAP),this.appendDummyInput().appendField(`(${ge.Msg.MIXLY_DEPRECATED})`),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.OLED_BITMAP_OR_STRING),this.setWarningText(ge.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},nO={init:function(){km.init.call(this),this.appendDummyInput().appendField(`(${ge.Msg.MIXLY_DEPRECATED})`),this.setWarningText(ge.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},sO={init:function(){Qm.init.call(this),this.appendDummyInput().appendField(`(${ge.Msg.MIXLY_DEPRECATED})`),this.setWarningText(ge.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},_O={init:function(){iE.init.call(this),this.appendDummyInput().appendField(`(${ge.Msg.MIXLY_DEPRECATED})`),this.setWarningText(ge.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},oO={init:function(){_E.init.call(this),this.appendDummyInput().appendField(`(${ge.Msg.MIXLY_DEPRECATED})`),this.setWarningText(ge.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},pO={init:function(){oE.init.call(this),this.appendDummyInput().appendField(`(${ge.Msg.MIXLY_DEPRECATED})`),this.setWarningText(ge.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},aO={init:function(){pE.init.call(this),this.appendDummyInput().appendField(`(${ge.Msg.MIXLY_DEPRECATED})`),this.setWarningText(ge.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},uO=180,rO={init:function(){this.setColour(uO),this.setOutput(!0),this.setInputsInline(!0),this.appendValueInput("img").appendField(ge.Msg.DISPLAY_IMAGE_LET).setCheck(["esp32_image","List",String]),this.appendDummyInput("").appendField(ge.Msg.DISPLAY_IMAGE_LET2).appendField(new ge.FieldDropdown(rO.OPERATORS),"OP"),this.appendValueInput("val").appendField(ge.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(ge.Msg.DISPLAY_IMAGE_UNIT);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i=ge.Msg.DISPLAY_IMAGE_LET,n=ge.Msg.DISPLAY_IMAGE_LET2,s=ge.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:ge.Msg.MIXLY_UP,down:ge.Msg.MIXLY_DOWN,left:ge.Msg.MIXLY_LEFT,right:ge.Msg.MIXLY_RIGHT}[t]+s}))},OPERATORS:[[ge.Msg.MIXLY_UP,"up"],[ge.Msg.MIXLY_DOWN,"down"],[ge.Msg.MIXLY_LEFT,"left"],[ge.Msg.MIXLY_RIGHT,"right"]]},lO={init:function(){this.setColour(uO),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(ge.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new ge.FieldDropdown(lO.OPERATORS),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{"+":ge.Msg.MIXLY_MICROBIT_image_add,"-":ge.Msg.MIXLY_MICROBIT_image_reduce}[t]}))},OPERATORS:[[ge.Msg.MICROBIT_DISPLAY_UNION,"+"],[ge.Msg.MICROBIT_DISPLAY_MINUS,"-"]]},dO={init:function(){this.setColour(uO),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+ge.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("esp32_image"),this.appendDummyInput("").appendField(new ge.FieldDropdown(dO.OPERATORS),"OP"),this.setInputsInline(!0),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+ge.Msg.MIXLY_MICROBIT_IMAGE+{height:ge.Msg.MIXLY_HEIGHT,width:ge.Msg.MIXLY_WIDTH}[t]}))},OPERATORS:[[ge.Msg.MIXLY_HEIGHT,"height"],[ge.Msg.MIXLY_WIDTH,"width"]]},IO={init:function(){this.setColour(uO),this.appendValueInput("VAR").appendField(ge.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RECT).appendField(new ge.FieldDropdown(IO.STATUS),"OP"),this.jsonInit({message0:ge.Msg.MIXLY_MICROBIT_SHOW_RECT,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"width"},{check:Number,type:"input_value",name:"height"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ge.Msg.MIXLY_OLED_RECT)},STATUS:[[ge.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[ge.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},TO={init:function(){this.setColour(uO),this.appendValueInput("VAR").appendField(ge.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE).appendField(new ge.FieldDropdown(TO.STATUS),"OP"),this.jsonInit({message0:ge.Msg.MIXLY_HANBIT_SHOW_CIRCLE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"r"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ge.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE)},STATUS:[[ge.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[ge.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},MO={init:function(){this.setColour(uO),this.appendValueInput("VAR").appendField(ge.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_DISPLAY_DRAW+ge.Msg.MIXLY_HANBIT_DRAW_TRIANGLE).appendField(new ge.FieldDropdown(MO.STATUS),"OP"),this.jsonInit({message0:ge.Msg.MIXLY_HANBIT_SHOW_triangle,args0:[{check:Number,type:"input_value",name:"x0"},{check:Number,type:"input_value",name:"y0"},{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ge.Msg.MIXLY_DISPLAY_DRAW+ge.Msg.MIXLY_HANBIT_DRAW_TRIANGLE)},STATUS:[[ge.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[ge.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},hO="#777777",mO={init:function(){this.setColour(hO),this.appendDummyInput("").appendField("from ").appendField(new ge.FieldTextInput("ESP32"),"path").appendField(" import ").appendField(new ge.FieldTextInput("*"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},EO={init:function(){this.setColour(hO),this.appendDummyInput("").appendField("import ").appendField(new ge.FieldTextInput("module"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},OO={init:function(){this.setColour(hO),this.appendDummyInput("").appendField(new ge.FieldTextInput("my_function"),"NAME"),this.itemCount_=1,this.arguments_=["x"],this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new ge.icons.MutatorIcon(["factory_create_with_item"],this))},mutationToDom:function(){var e=document.createElement("mutation");e.setAttribute("items",this.itemCount_);for(var t=0;tt?e[t]:'"key'+(t+1)+'"'),"KEY"+t).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){ge.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},oR={init:function(){this.setColour(ZO),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(ge.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},pR={init:function(){this.setColour(ZO),this.appendDummyInput().appendField(ge.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},aR={init:function(){this.setColour(ZO),this.appendDummyInput().appendField(ge.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},uR={init:function(){this.setColour(ZO),this.appendDummyInput().appendField(ge.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").setCheck(String).appendField(ge.Msg.MIXLY_EMQX_SERVER).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(ge.Msg.MIXLY_WIFI_USERNAME).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(ge.Msg.MIXLY_IOT_PASSWORD).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("PROJECT").setCheck(String).appendField(ge.Msg.MIXLY_EMQX_PROJECT).setAlign(ge.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},rR={init:function(){this.setColour(ZO),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(ge.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(ge.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(ge.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},lR={init:function(){this.setColour(ZO),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(ge.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(ge.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(ge.Msg.HTML_BODY),this.appendDummyInput().appendField(ge.Msg.MIXLY_Service_quality_display).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_AT_MOST_ONCE,"0"],[ge.Msg.MIXLY_AT_LEAST_ONCE,"1"]]),"quality"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},dR={init:function(){this.setColour(ZO),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(ge.Msg.MIXLY_EMQX_SUBSCRIBE+ge.Msg.MIXLY_MICROBIT_MSG).appendField(ge.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(ge.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_IOT_EMQX_SUBSCRIBE_TOOLTIP)}},IR={init:function(){this.setColour(ZO),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},TR={init:function(){this.setColour(ZO),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(ge.Msg.MIXLY_EMQX_CONNECT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},MR={init:function(){this.setColour(ZO),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_CHECK_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},hR={init:function(){this.setColour(ZO),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(ge.Msg.MQTT_Topic),this.setInputsInline(!0),this.setOutput(!0)}},mR={init:function(){this.setColour(ZO),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(ge.Msg.MIXLY_EMQX_PUBLISH_MSG),this.setInputsInline(!0),this.setOutput(!0)}},ER={init:function(){this.setColour(ZO),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_ESP32_IOT_MAP_FORMATING),this.setOutput(!0)}},OR={init:function(){this.setColour(ZO),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_MICROPYTHON_FORMAT+"(Json)"),this.setOutput(!0)}},RR={init:function(){this.setColour(ZO),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(ge.Msg.MIXLY_EMQX_PING),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_IOT_EMQX_PING_TOOLTIP)}},cR={init:function(){this.setColour(ZO),this.appendDummyInput().appendField("MixIO").appendField(ge.Msg.MIXLY_GET_NTP),this.appendValueInput("addr").appendField(ge.Msg.blynk_SERVER_ADD),this.setInputsInline(!0),this.setOutput(!0)}},gR={init:function(){this.setColour(ZO),this.appendDummyInput().appendField(ge.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(ge.Msg.MIXLY_EMQX_SERVER).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(ge.Msg.CONTROLS_FOR_INPUT_WITH+ge.Msg.MIXLY_MIXIO_SHARE_KEY).setAlign(ge.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},CR={init:function(){this.setColour(ZO),this.appendDummyInput().appendField(ge.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(ge.Msg.MIXLY_EMQX_SERVER).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(ge.Msg.CONTROLS_FOR_INPUT_WITH+"Mixly Key").setAlign(ge.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},SR={init:function(){this.VISITOR_ID=Ce.Config.BOARD.visitorId.str32.substring(0,8).toUpperCase(),this.setColour(ZO),this.appendDummyInput("").appendField(new ge.FieldTextInput(this.visitorId),"VISITOR_ID"),this.setOutput(!0,null)},onchange:function(){const e=this.getFieldValue("VISITOR_ID");this.VISITOR_ID!==e&&this.setFieldValue(this.VISITOR_ID,"VISITOR_ID")}},AR={init:function(){this.setColour(ZO),this.appendDummyInput().appendField("MixIO").appendField(ge.Msg.MSG.catEthernet_clinet),this.setOutput(!0),this.setInputsInline(!0)}},LR={init:function(){this.setColour(ZO),this.appendDummyInput().appendField("HTTP"+ge.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(ge.Msg.DISPLAY_IMAGE_LET2),this.appendDummyInput().appendField(ge.Msg.MIXLY_REQUESTS_GET).appendField(ge.Msg.MIXLY_GET_CURRENT_TIME).appendField(ge.Msg.MIXLY_OPEN_DEBUG).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[ge.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},NR={init:function(){this.setColour(ZO),this.appendDummyInput().appendField("HTTP"+ge.Msg.MIXLY_Client).appendField(ge.Msg.MIXLY_GET).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_REQUESTS_LEN,"client_len"],[ge.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[ge.Msg.MIXLY_REQUESTS_MESSAGE,"text"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},DR={init:function(){this.setColour(ZO),this.appendDummyInput().appendField("MQTT"+ge.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(ge.Msg.MIXLY_CONNECTTO),this.appendDummyInput().appendField(ge.Msg.MIXLY_INIT_SUBSCRIBE).appendField(ge.Msg.MQTT_Topic).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_GET_CURRENT_TIME,""]]),"key").appendField(ge.Msg.MIXLY_OPEN_DEBUG).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[ge.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},fR={init:function(){this.setColour(ZO),this.appendDummyInput().appendField("MQTT"+ge.Msg.MIXLY_Client).appendField(ge.Msg.MIXLY_GET).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_REQUESTS_LEN,"client_len"],[ge.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[ge.Msg.MIXLY_REQUESTS_MESSAGE,"time_msg()"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},FR=eR,PR=tR,YR=iR,vR=nR,XR=_R,yR={init:function(){this.setColour(ZO),this.appendDummyInput().appendField(ge.Msg.MIXLY_CONNECT_OLLAMA),this.appendValueInput("SERVER").appendField(ge.Msg.MIXLY_EMQX_SERVER).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(ge.Msg.MODEL_NAME).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(ge.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},xR=yR,bR={init:function(){this.setColour(ZO),this.appendDummyInput().appendField(ge.Msg.MIXLY_CONNECT_OPENAI),this.appendValueInput("SERVER").appendField(ge.Msg.MIXLY_EMQX_SERVER).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(ge.Msg.MIXLY_API_PRIVATE_KEY).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(ge.Msg.MODEL_NAME).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(ge.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},VR={init:function(){this.setColour(ZO),this.appendDummyInput().appendField(ge.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(ge.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendValueInput("METHOD").appendField(ge.Msg.MIXLY_LLM_CONTENT_CALLBACK),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},BR={init:function(){this.setColour(ZO),this.appendDummyInput().appendField(ge.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(ge.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendDummyInput().appendField(ge.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0)}},GR={init:function(){this.setColour(ZO),this.appendDummyInput().appendField("Ollama "+ge.Msg.MIXLY_EMPTY_HISTORY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},UR={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${ge.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("ADDR").setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_EMQX_SERVER),this.appendValueInput("USERNAME").setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_EMQX_USERNAME),this.appendValueInput("PASSWORD").setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_IOT_PASSWORD),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},wR={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${ge.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("MQTT").setAlign(ge.inputs.Align.RIGHT).appendField(`MixIO ${ge.Msg.MIXLY_Client}`),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},HR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_TINY_WEB_DB_UPDATE_VARIABLE),this.appendValueInput("VALUE").setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},kR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(ge.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLE),this.appendDummyInput().appendField(ge.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setOutput(!0)}},WR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendDummyInput().appendField(ge.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_NUM),this.setInputsInline(!0),this.setOutput(!0)}},KR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB").appendField(ge.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARIABLES),this.appendValueInput("NO").setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_TINY_WEB_DB_START_NUMBER),this.appendValueInput("COUNT").setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_TINY_WEB_DB_VARIABLE_NUMBER),this.appendValueInput("TAG").setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARS),this.appendDummyInput().setAlign(ge.inputs.Align.RIGHT).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_ALL,"both"],[ge.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_TAG,"tag"],[ge.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_VALUE,"value"]]),"DTYPE"),this.setInputsInline(!1),this.setOutput(!0)}},JR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(ge.Msg.MIXLY_TINY_WEB_DB_DELETE_VARIABLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},QR=225,zR={init:function(){this.setColour(QR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_NETWORK_INIT),this.appendDummyInput().appendField(ge.Msg.MIXLY_NETWORK_MODE).appendField(new ge.FieldDropdown([["STA","STA"],["AP","AP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_INIT_TOOLTIP)}},qR={init:function(){this.setColour(QR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_NETWORK_WIFI_OPEN,"True"],[ge.Msg.MIXLY_NETWORK_WIFI_CLOSE,"False"]]),"op"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_NETWORK_WIFI_FLAG),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("op"),i=ge.Msg.MIXLY_ESP32_NETWORK_OPEN_TOOLTIP;return{True:ge.Msg.MIXLY_NETWORK_WIFI_OPEN,False:ge.Msg.MIXLY_NETWORK_WIFI_CLOSE}[t]+i}))}},jR={init:function(){this.setColour(QR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE)}},$R={init:function(){this.setColour(QR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_NETWORK_WIFI_SCAN),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip((function(){return ge.Msg.MIXLY_ESP32_NETWORK_SCAN_TOOLTIP+{0:"ssid",1:"bssid",2:"channel",3:"RSSI",4:"authmode",5:"hidden",all:ge.Msg.MIXLY_NETWORK_WIFI_SCAN_ATTRIBUTE}.all}))}},ZR={init:function(){this.setColour(QR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_ESP32_NETWORK_CONNECT),this.appendValueInput("id").setCheck(String).appendField(ge.Msg.HTML_NAME),this.appendValueInput("password").setCheck(String).appendField(ge.Msg.HTML_PASSWORD),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_CONNECT_TOOLTIP)}},ec={init:function(){this.setColour(QR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_NETWORK_WIFI_CONNECT+ge.Msg.MIXLY_SYMBOL_QUESTION),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_WIFI_CONNECT_TOOLTIP)}},tc={init:function(){this.setColour(QR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_ESP32_NETWORK_IP,"0"],[ge.Msg.MIXLY_ESP32_NETWORK_MASK,"1"],[ge.Msg.MIXLY_ESP32_NETWORK_GATEWAY,"2"],["DNS","3"]]),"mode"),this.setOutput(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("mode");return ge.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP+{0:ge.Msg.MIXLY_ESP32_NETWORK_IP,1:ge.Msg.MIXLY_ESP32_NETWORK_MASK,2:ge.Msg.MIXLY_ESP32_NETWORK_GATEWAY,3:"DNS"}[t]}))}},ic={init:function(){this.setColour(QR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_ESP32_NETWORK_STOP_CONNECT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_STOP_TOOLTIP)}},nc={init:function(){this.setColour(QR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput().appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_NETWORK_WIFI_ESSID,"essid"],[ge.Msg.MIXLY_NETWORK_WIFI_CHANNEL,"channel"]]),"op"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP)}},sc={init:function(){this.setColour(QR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.LISTS_SET_INDEX_SET+ge.Msg.MIXLY_HOTSPOT),this.appendValueInput("essid").setCheck(String).appendField(ge.Msg.MIXLY_NAME),this.appendValueInput("password").setCheck(String).appendField(ge.Msg.MIXLY_EMQX_PASSWORD),this.appendValueInput("channel").setCheck(Number).appendField(ge.Msg.MIXLY_NETWORK_WIFI_CHANNEL),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_AP_CONNECT_TOOLTIP)}},_c={init:function(){this.setColour(QR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_ESP32_NETWORK_SERVER1),this.appendDummyInput("").appendField(ge.Msg.MIXLY_ESP32_NETWORK_SERVER2),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},oc={init:function(){this.setColour(QR),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_INIT).setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new ge.FieldDropdown([["TCP","TCP"],["UDP","UDP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("mode");return ge.Msg.MIXLY_ESP32_NETWORK_SOCKET_INIT_TOOLTIP+{TCP:"TCP",UDP:"UDP"}[t]}))}},pc={init:function(){this.setColour(QR),this.appendValueInput("VAR").setCheck("var").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_BIND_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_SOCKET_BIND_TOOLTIP)}},ac={init:function(){this.setColour(QR),this.appendValueInput("VAR").setCheck("var").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_CONNECT_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_SOCKET_CONNECT_TOOLTIP)}},uc={init:function(){this.setColour(QR),this.appendValueInput("VAR").setCheck("var"),this.appendValueInput("queue").setCheck(Number).appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_LISTEN).appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_QUEUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_SOCKET_LISTEN_TOOLTIP)}},rc={init:function(){this.setColour(QR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_ACCEPT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_SOCKET_ACCEPT_TOOLTIP)}},lc={init:function(){this.setColour(QR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE_TOOLTIP)}},dc={init:function(){this.setColour(QR),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("size").setCheck(Number).appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_TOOLTIP)}},Ic={init:function(){this.setColour(QR),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("content").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TOOLTIP)}},Tc={init:function(){this.setColour(QR),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("size").setCheck(Number).appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_FROM_TOOLTIP)}},Mc={init:function(){this.setColour(QR),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("content").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.appendValueInput("address").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_TO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TO_TOOLTIP)}},hc={init:function(){this.setColour(QR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_CLOSE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},mc={init:function(){this.setColour(QR),this.appendValueInput("DOMAIN").appendField(ge.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(ge.Msg.blockpy_REQUESTS_GET).appendField(new ge.FieldTextInput("response"),"VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.blockpy_REQUESTS_GET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){ge.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},Ec={init:function(){this.appendValueInput("VAL"),this.setColour(QR),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_GET).appendField(new ge.FieldDropdown(Ec.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("DIR");return{clear:ge.Msg.MIXLY_TOOLTIP_TURTEL_CLEAR,reset:ge.Msg.MIXLY_TOOLTIP_TURTEL_RESET,home:ge.Msg.MIXLY_TOOLTIP_TURTEL_HOME}[t]}))},ATTR:[[ge.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[ge.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[ge.Msg.blockpy_REQUESTS_GET_ATTR_COOKIES,"cookies"],[ge.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"]]},Oc={init:function(){this.appendValueInput("VAR").appendField(ge.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.setColour(QR),this.appendDummyInput("").appendField(ge.Msg.blockpy_CONDUCT).appendField(new ge.FieldDropdown(Oc.METHOD),"DIR"),this.appendDummyInput("").appendField(ge.Msg.blockpy_REQUESTS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("DIR");return{forward:ge.Msg.MIXLY_TOOLTIP_TURTEL_FORWARD,backward:ge.Msg.MIXLY_TOOLTIP_TURTEL_BACKWARD}[t]}))},METHOD:[["post","post"],["put","put"],["delete","delete"],["head","head"],["option","option"]]},Rc={init:function(){this.setColour(QR),this.appendDummyInput("").appendField(ge.Msg.MIXLY_GET_NTP+"(NTP)"),this.appendValueInput("data").appendField(ge.Msg.blynk_SERVER_ADD),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},cc={init:function(){this.setColour(QR),this.appendDummyInput("").appendField(new ge.FieldDropdown([["ntp.aliyun.com","ntp.aliyun.com"],["ntp1.aliyun.com","ntp1.aliyun.com"],["ntp2.aliyun.com","ntp2.aliyun.com"],["ntp3.aliyun.com","ntp3.aliyun.com"],["ntp4.aliyun.com","ntp4.aliyun.com"],["ntp5.aliyun.com","ntp5.aliyun.com"],["ntp6.aliyun.com","ntp6.aliyun.com"],["ntp7.aliyun.com","ntp7.aliyun.com"],["time1.cloud.tencent.com","time1.cloud.tencent.com"],["time2.cloud.tencent.com","time2.cloud.tencent.com"],["time3.cloud.tencent.com","time3.cloud.tencent.com"],["time4.cloud.tencent.com","time4.cloud.tencent.com"],["time5.cloud.tencent.com","time5.cloud.tencent.com"]]),"op"),this.setOutput(!0)}},gc="#3288dd",Cc={init:function(){this.setColour(gc),this.appendValueInput("URL").appendField(ge.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(ge.Msg.blockpy_CONDUCT).appendField(new ge.FieldDropdown([["get","get"],["head","head"],["delete","delete"]]),"TYPE").appendField(ge.Msg.blockpy_REQUESTS).appendField(ge.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},Sc={init:function(){this.setColour(gc),this.appendValueInput("URL").appendField(ge.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(ge.Msg.blockpy_CONDUCT).appendField(new ge.FieldDropdown([["post","post"],["put","put"],["patch","patch"]]),"TYPE").appendField(ge.Msg.blockpy_REQUESTS),this.appendValueInput("data").appendField(ge.Msg.blockpy_REQUESTS+ge.Msg.OLED_STRING),this.appendDummyInput("").appendField(ge.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},Ac={init:function(){this.appendValueInput("VAL"),this.setColour(gc),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_GET).appendField(new ge.FieldDropdown(Ac.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String)},ATTR:[[ge.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[ge.Msg.blockpy_REQUESTS_GET_ATTR_JSON,"json()"],[ge.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[ge.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"],[ge.Msg.MIXPY_TEXT_ENCODE,"encoding"]]},Lc={init:function(){this.setColour(gc),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_IOT_CONNECT_WIFI),this.appendValueInput("WIFINAME").setCheck(String).appendField(ge.Msg.HTML_NAME),this.appendValueInput("PASSWORD").setCheck(String).appendField(ge.Msg.HTML_PASSWORD),this.appendValueInput("TIMEOUT").setCheck(Number).appendField(ge.Msg.MIXLY_IR_TIMEOUT),this.appendDummyInput().appendField(ge.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_IOT_WIFI_CONNECT_TOOLTIP)}},Nc={init:function(){this.setColour(gc),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_IOT_EMQX_CONNECT_TOOLTIP),this.appendValueInput("SERVER").setCheck(String).appendField(ge.Msg.MIXLY_EMQX_SERVER).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("PORT").setCheck(Number).appendField(ge.Msg.MIXLY_EMQX_PORT).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("CLIENT_ID").setCheck(String).appendField(ge.Msg.MIXLY_EMQX_CLIENT_ID).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(ge.Msg.MIXLY_WIFI_USERNAME).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(ge.Msg.MIXLY_IOT_PASSWORD).setAlign(ge.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Dc={init:function(){this.setColour(gc),this.appendValueInput("TOPIC").appendField(ge.Msg.MIXLY_EMQX_SUBSCRIBE+ge.Msg.MIXLY_MICROBIT_MSG).appendField(ge.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MESSAGE").appendField(ge.Msg.blockpy_set_of),this.setInputsInline(!0),this.setOutput(!0)}},fc={init:function(){this.setColour(gc),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(ge.Msg.MIXLY_EMQX_SUBSCRIBE+ge.Msg.MIXLY_MICROBIT_MSG).appendField(ge.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(ge.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Fc={init:function(){this.setColour(gc),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(ge.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(ge.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(ge.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Pc={init:function(){this.setColour(gc),this.appendDummyInput().appendField("mqtt"+ge.Msg.MIXLY_EMQX_IS_CONNECT),this.setInputsInline(!0),this.setOutput(!0)}},Yc=100,vc={init:function(){if("mixgo_nova"==Ce.Boards.getSelectedBoardKey().split(":")[2])var e="Nova G1";this.setColour(Yc),this.appendDummyInput().appendField(e).appendField(ge.Msg.MIXLY_MIXGO_NOVA_POTENTIAL_NUM),this.setOutput(!0,Number),this.setInputsInline(!0)}},Xc={init:function(){if("mixgo_nova"==Ce.Boards.getSelectedBoardKey().split(":")[2])var e="Nova G1";this.setColour(Yc),this.appendValueInput("PIN").appendField(e).appendField(ge.Msg.MOTOR_DC).appendField(ge.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Direction).appendField(new ge.FieldDropdown([[ge.Msg.CLOCKWISE,"CW"],[ge.Msg.ANTI_CLOCKWISE,"CCW"],[ge.Msg.MOTOR_P,"P"],[ge.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},yc={init:function(){if("mixgo_nova"==Ce.Boards.getSelectedBoardKey().split(":")[2])var e="Nova G1";this.setColour(Yc),this.appendValueInput("PIN").appendField(e).appendField(ge.Msg.SET_USB),this.appendValueInput("percent").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_POWER_SUPPLY),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},xc={init:function(){if("mixgo_nova"==Ce.Boards.getSelectedBoardKey().split(":")[2])var e="Nova G1";this.setColour(Yc),this.appendDummyInput().appendField(e).appendField(ge.Msg.MIXLY_SPK_STATE).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_ON,"True"],[ge.Msg.MIXLY_OFF,"False"]]),"state"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},bc=100,Vc={init:function(){var e=Ce.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==e)var t="CE G6";else if("mixgo_pe"==e)t="PE G1";this.setColour(bc),this.appendValueInput("I2CSUB").appendField(ge.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_SETUP+ge.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(t),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Bc={init:function(){var e=Ce.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==e)var t="CE G6";else if("mixgo_pe"==e)t="PE G1";this.setColour(bc),this.appendValueInput("SUB").appendField(t).setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MIXGO_CAR_BATTERY_LEFT),this.setOutput(!0,Number),this.setInputsInline(!0)}},Gc={init:function(){var e=Ce.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==e)var t="CE G6";else if("mixgo_pe"==e)t="PE G1";this.setColour(bc),this.appendValueInput("SUB").appendField(t).setCheck("var"),this.appendValueInput("PIN").appendField(ge.Msg.MOTOR_DC).appendField(ge.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Direction).appendField(new ge.FieldDropdown([[ge.Msg.CLOCKWISE,"CW"],[ge.Msg.ANTI_CLOCKWISE,"CCW"],[ge.Msg.MOTOR_P,"P"],[ge.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Uc={init:function(){var e=Ce.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==e)var t="CE G6";else if("mixgo_pe"==e)t="PE G1";this.setColour(bc),this.appendValueInput("SUB").appendField(t).setCheck("var"),this.appendValueInput("PIN").appendField(ge.Msg.MOTOR_DC).appendField(ge.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(ge.Msg.MIXLY_STEPPER_GET_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},wc={init:function(){var e=Ce.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==e)var t="CE G6";else if("mixgo_pe"==e)t="PE G1";this.setColour(bc),this.appendValueInput("SUB").appendField(t).setCheck("var"),this.appendValueInput("PIN").appendField("180°"+ge.Msg.MIXLY_SERVO).appendField(ge.Msg.LCD_NUMBERING),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_SERVO_MOVE)}},Hc={init:function(){var e=Ce.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==e)var t="CE G6";else if("mixgo_pe"==e)t="PE G1";this.setColour(bc),this.appendValueInput("SUB").appendField(t).setCheck("var"),this.appendValueInput("PIN").appendField("360°"+ge.Msg.MIXLY_SERVO).appendField(ge.Msg.LCD_NUMBERING),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_SERVO_SPEED_TOOLIPS)}},kc={init:function(){var e=Ce.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==e)var t="CE G6";else if("mixgo_pe"==e)t="PE G1";this.setColour(bc),this.appendValueInput("SUB").appendField(t).setCheck("var"),this.appendValueInput("PIN").appendField("180°"+ge.Msg.MIXLY_SERVO),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET+ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},Wc={init:function(){var e=Ce.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==e)var t="CE G6";else if("mixgo_pe"==e)t="PE G1";this.setColour(bc),this.appendValueInput("SUB").appendField(t).setCheck("var"),this.appendValueInput("PIN").appendField("360°"+ge.Msg.MIXLY_SERVO).appendField(ge.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET+ge.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},Kc="#A58C5B",Jc={init:function(){this.setColour(Kc),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_BUTTON).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_IS_PRESSED),this.appendValueInput("STAT").appendField(ge.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_SENOR_IS_PRESSED)}},Qc={init:function(){this.setColour(Kc),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_BUTTON).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_WAS_PRESSED),this.appendValueInput("STAT").appendField(ge.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_SENOR_WAS_PRESSED)}},zc={init:function(){this.setColour(Kc),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_BUTTON).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET_PRESSES),this.appendValueInput("VAR").setCheck(Number).appendField(ge.Msg.MIXLY_GET_PRESSES_TIME),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ge.Msg.PROCEDURES_DEFRETURN_RETURN+ge.Msg.MIXLY_BUTTON+ge.Msg.MIXLY_GET_PRESSES)}},qc={init:function(){this.setColour(Kc),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_BUTTON).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MODE).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[ge.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[ge.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(ge.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_INOUT_ATTACHINTERRUPT)}},jc={init:function(){this.setColour(Kc),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_shake,"shake"],[ge.Msg.MIXLY_UP,"up"],[ge.Msg.MIXLY_DOWN,"down"],[ge.Msg.MIXLY_LEFT,"left"],[ge.Msg.MIXLY_RIGHT,"right"],[ge.Msg.MIXLY_MICROBIT_face_up,"face up"],[ge.Msg.MIXLY_MICROBIT_face_down,"face down"],[ge.Msg.MIXLY_MICROBIT_freefall,"freefall"],["3g","3g"],["6g","6g"],["8g","8g"]]),"gesture"),this.appendStatementInput("DO").appendField(ge.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("gesture"),i=ge.Msg.MIXLY_MICROBIT_JS_CURRENT,n=ge.Msg.MSG.catSensor,s=ge.Msg.MIXLY_MICROBIT_JS_STATE,_=ge.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:ge.Msg.MIXLY_MICROBIT_shake,up:ge.Msg.MIXLY_UP,down:ge.Msg.MIXLY_DOWN,left:ge.Msg.MIXLY_LEFT,right:ge.Msg.MIXLY_RIGHT,"face up":ge.Msg.MIXLY_MICROBIT_face_up,"face down":ge.Msg.MIXLY_MICROBIT_face_down,freefall:ge.Msg.MIXLY_MICROBIT_freefall,"3g":"3g","6g":"6g","8g":"8g"}[t]+_}))}},$c={init:function(){this.setColour(Kc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_ADXL345).setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new ge.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key"),i=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=ge.Msg.MIXLY_MICROBIT_Direction,s=ge.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":ge.Msg.MIXLY_MICROBIT_Shiliang_Direction}[t]+n+s}))}},Zc={init:function(){this.setColour(Kc),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_JS_LIGHT_LEVEL),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_SENSOR_LIGHT_LEVEL_TOOLTIP)}},eg={init:function(){this.setColour(Kc),this.appendValueInput("PIN",Number).appendField(new ge.FieldDropdown([["DHT11","DHT11"],["DHT22","DHT22"]]),"TYPE").appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(new ge.FieldDropdown(eg.METHOD),"WHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("WHAT");return{temperature:ge.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM,relative_humidity:ge.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_HUM,tempandhum:ge.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM_HUM}[t]}))},METHOD:[[ge.Msg.MIXLY_GETTEMPERATUE,"temperature"],[ge.Msg.MIXLY_GETHUMIDITY,"humidity"]]},tg={init:function(){this.setColour(Kc),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_EXTERN_LIGHT),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ge.Msg.ESP32_SENSOR_NIXGO_LIGHT_TOOLTIP)}},ig={init:function(){this.setColour(Kc),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_EXTERN_SOUND),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ge.Msg.ESP32_SENSOR_NIXGO_SOUND_TOOLTIP)}},ng={init:function(){this.setColour(Kc),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new ge.FieldDropdown([[ge.Msg.TEXT_TRIM_LEFT,"left"],[ge.Msg.TEXT_TRIM_RIGHT,"right"]]),"direction").appendField(ge.Msg.MIXLY_ESP32_NEAR),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("direction"),i=ge.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP,n=ge.Msg.MIXLY_ESP32_NEAR;return i+{left:ge.Msg.TEXT_TRIM_LEFT,right:ge.Msg.TEXT_TRIM_RIGHT}[t]+n}))}},sg={init:function(){this.setColour(Kc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_ALTITUDE_SENSOR+" BMP280").setCheck("var"),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_GETTEMPERATUE,"get_BMP_temperature()"],[ge.Msg.MIXLY_GETPRESSURE,"get_BMP_pressure()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key");return{"get_BMP_temperature()":ge.Msg.MIXLY_MICROBIT_SENSOR_BMP_temperature_TOOLTIP,"get_BMP_pressure()":ge.Msg.MIXLY_MICROBIT_SENSOR_BMP_press_TOOLTIP}[t]}))}},_g={init:function(){this.setColour(Kc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+" SHT20").setCheck("var"),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_GETTEMPERATUE,"get_SHT_temperature()"],[ge.Msg.MIXLY_GETHUMIDITY,"get_SHT_relative_humidity()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key");return{"get_SHT_temperature()":ge.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,"get_SHT_relative_humidity()":ge.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[t]}))}},og={init:function(){this.setColour(Kc),this.appendValueInput("PIN",Number).appendField("DS18X20 "+ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(ge.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(ge.Msg.MIXLY_MICROBIT_SENSOR_DS18X20_TOOLTIP)}},pg={init:function(){this.setColour(Kc),this.appendDummyInput("").appendField("LM35"+ge.Msg.MIXLY_TEMP),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(ge.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_LM35)}},ag={init:function(){this.setColour(Kc),this.appendValueInput("I2CSUB").appendField(ge.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_SETUP+ge.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_ESP32_EXTERN_LIGHT+"(LTR308ALS)","LTR308"],[ge.Msg.MIXLY_COLOR_SENSOR+"(LTR381RGB)","LTR381RGB"],[ge.Msg.MIXLY_COLOR_SENSOR+"(UCS12071)","UCS12071"],[ge.Msg.MIXLY_EXTERN_LIGHTUV+"(LTR390UV)","LTR390UV"],[ge.Msg.MIXLY_ALTITUDE_SENSOR+"(HP203X)","HP203X"],[ge.Msg.MIXLY_ALTITUDE_SENSOR+"(SPL06_001)","SPL06_001"],[ge.Msg.MIXLY_ALTITUDE_SENSOR+"(MS5611)","MS5611"],[ge.Msg.MIXLY_ALTITUDE_SENSOR+"(BMP280)","BMP280"],[ge.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(SHTC3)","SHTC3"],[ge.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(AHT21)","AHT21"],[ge.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(SHT20)","SHT20"],[ge.Msg.MIXLY_LASER_RANGE_SENSOR+"(VL53L0X)","VL53L0X"],[ge.Msg.MIXLY_GEOMAGNETIC_SENSOR+"(QMC5883L)","QMC5883L"],[ge.Msg.MIXLY_ESP32_MAX30102+"(MAX30102)","MAX30102"],[ge.Msg.HTML_COLOUR+"、"+ge.Msg.MIXLY_ENVIRONMENT_LIGHT+"、"+ge.Msg.MIXLY_NEXT+"、"+ge.Msg.MIXLY_ESP32_APDS9960+"(APDS9960)","APDS9960"],[ge.Msg.MIXLY_NINE_AXIS_SENSOR+"(MPU9250)","MPU9250"],[ge.Msg.MixGo_MPU9250+"(ADXL345)","ADXL345"],["RFID","RFID"],[ge.Msg.MIXLY_RADAR_SENSOR+"(CBR817)","CBR817"],[ge.Msg.MIXLY_AipSpeech_asr+"(CI130X)","CI130X"],[ge.Msg.MIXLY_TVOC_CO2_SENSOR+"(AGS10)","AGS10"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},ug={init:function(){this.setColour(Kc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_RADAR+"CBR817").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.LISTS_SET_INDEX_SET+ge.Msg.MIXlY_INTERACTION),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_DETECTION_THRESHOLD),this.appendValueInput("VAR2").appendField(ge.Msg.MIXLY_DELAY_TIME),this.appendDummyInput().appendField("ms"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_THRESHOLD_TOOLTIP+" ; "+ge.Msg.MIXLY_DELAY_TIME_RANGE)}},rg={init:function(){this.setColour(Kc),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RADAR).appendField(ge.Msg.LISTS_SET_INDEX_SET+ge.Msg.MIXlY_INTERACTION),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_DETECTION_THRESHOLD),this.appendValueInput("VAR2").appendField(ge.Msg.MIXLY_DELAY_TIME),this.appendDummyInput().appendField("ms"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_THRESHOLD_TOOLTIP+" ; "+ge.Msg.MIXLY_DELAY_TIME_RANGE)}},lg={init:function(){this.setColour(Kc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_RADAR+"CBR817").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_GET_TO_INTERACTION),this.setOutput(!0),this.setInputsInline(!0)}},dg={init:function(){this.setColour(Kc),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RADAR).appendField(ge.Msg.MIXLY_GET_TO_INTERACTION),this.setOutput(!0),this.setInputsInline(!0)}},Ig={init:function(){this.setColour(Kc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_IDENTIFY_ONCE_AND_SAVE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Tg={init:function(){this.setColour(Kc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_GET).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_HELLO_XIAOZHI,"1"],[ge.Msg.MIXLY_XIAOZHIXIAOZHI,"2"],[ge.Msg.MIXLY_THE_FIRST,"3"],[ge.Msg.MIXLY_THE_SECOND,"4"],[ge.Msg.MIXLY_THE_THIRD,"5"],[ge.Msg.MIXLY_THE_FOURTH,"6"],[ge.Msg.MIXLY_THE_FIFTH,"7"],[ge.Msg.MIXLY_THE_SIXTH,"8"],[ge.Msg.MIXLY_THE_SEVENTH,"9"],[ge.Msg.MIXLY_THE_EIGHTH,"10"],[ge.Msg.MIXLY_THE_NINTH,"11"],[ge.Msg.MIXLY_THE_TENTH,"12"],[ge.Msg.MIXLY_THE_ELEVENTH,"13"],[ge.Msg.MIXLY_THE_TWELFTH,"14"],[ge.Msg.MIXLY_THE_13TH,"15"],[ge.Msg.MIXLY_THE_14TH,"16"],[ge.Msg.MIXLY_THE_15TH,"17"],[ge.Msg.MIXLY_THE_16TH,"18"],[ge.Msg.MIXLY_THE_17TH,"19"],[ge.Msg.MIXLY_THE_18TH,"20"],[ge.Msg.MIXLY_THE_19TH,"21"],[ge.Msg.MIXLY_THE_20TH,"22"],[ge.Msg.MIXLY_Turn_on_the_lights,"23"],[ge.Msg.MIXLY_Turn_off_the_lights,"24"],[ge.Msg.MIXLY_Turn_up_the_brightness,"25"],[ge.Msg.MIXLY_Turn_down_the_brightness,"26"],[ge.Msg.MIXLY_Set_it_to_red,"27"],[ge.Msg.MIXLY_Set_it_to_orange,"28"],[ge.Msg.MIXLY_Set_it_to_yellow,"29"],[ge.Msg.MIXLY_Set_it_to_green,"30"],[ge.Msg.MIXLY_Set_it_to_cyan,"31"],[ge.Msg.MIXLY_Set_it_to_blue,"32"],[ge.Msg.MIXLY_Set_it_to_purple,"33"],[ge.Msg.MIXLY_Set_it_to_white,"34"],[ge.Msg.MIXLY_Turn_on_the_fan,"35"],[ge.Msg.MIXLY_Turn_off_the_fan,"36"],[ge.Msg.MIXLY_First_gear,"37"],[ge.Msg.MIXLY_Wind_speed_second,"38"],[ge.Msg.MIXLY_Third_gear,"39"],[ge.Msg.MIXLY_Previous,"40"],[ge.Msg.MIXLY_Next_page,"41"],[ge.Msg.MIXLY_Show_smiley_face,"42"],[ge.Msg.MIXLY_Show_crying_face,"43"],[ge.Msg.MIXLY_Show_love,"44"],[ge.Msg.MIXLY_Close_display,"45"],[ge.Msg.MIXLY_Start_execution,"46"],[ge.Msg.MIXLY_FORWARD,"47"],[ge.Msg.MIXLY_BACKWARD,"48"],[ge.Msg.MIXLY_TURNLEFT,"49"],[ge.Msg.MIXLY_TURNRIGHT,"50"],[ge.Msg.MIXLY_STOP,"51"],[ge.Msg.MIXLY_Accelerate,"52"],[ge.Msg.MIXLY_retard,"53"],[ge.Msg.ROTATION_FORWARD,"54"],[ge.Msg.ROTATION_BACKWARD,"55"],[ge.Msg.MIXLY_Query_temperature,"56"],[ge.Msg.MIXLY_Query_humidity,"57"],[ge.Msg.MIXLY_Query_brightness,"58"],[ge.Msg.MIXLY_Query_sound,"59"],[ge.Msg.MIXLY_Query_time,"60"],[ge.Msg.MIXLY_Query_distance,"61"],[ge.Msg.MIXLY_Query_pressure,"62"],[ge.Msg.MIXLY_Query_key,"63"],[ge.Msg.MIXLY_Query_touch,"64"],[ge.Msg.MIXLY_Query_color,"65"]]),"cmd").appendField(ge.Msg.MIXLY_WHETHER+ge.Msg.MIXLY_BE_IDENTIFIED),this.setOutput(!0),this.setInputsInline(!0)}},Mg={init:function(){this.setColour(Kc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_GET).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_RECOGNIZED_STATE,"status1"],[ge.Msg.MIXLY_WHETHER_BROADCAST,"status2"],[ge.Msg.MIXLY_THE_RECOGNIZED_CMD,"result"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_CI130X_GET_THE_RECOGNIZED_STATE_TOOLTIP)}},hg={init:function(){this.setColour(Kc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MP3_PLAY).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"],[ge.Msg.MIXLY_WIND_SPEED,"154"],[ge.Msg.MIXLY_HYETAL,"155"],[ge.Msg.MIXLY_TEMPERATURE,"156"],[ge.Msg.MIXLY_Humidity,"157"],[ge.Msg.MIXLY_Altitude,"158"],[ge.Msg.MIXLY_SOUND,"159"],[ge.Msg.MIXLY_BRIGHTNESS,"160"],[ge.Msg.ME_GO_HALL_SENSOR_DISTANCE,"161"],[ge.Msg.MIXLY_SERVO,"162"],[ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"163"],[ge.Msg.MIXLY_BUTTON2,"164"],[ge.Msg.MIXLY_ESP32_TOUCH,"165"],[ge.Msg.MIXLY_PAY,"166"],[ge.Msg.MIXLY_CARSH_CHANGE,"167"],[ge.Msg.MIXLY_COUNTDOWN,"168"],[ge.Msg.MIXLY_TIMING,"169"],[ge.Msg.MIXLY_AT_THE_MOMENT,"170"],[ge.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE,"171"],[ge.Msg.MIXLY_FORWARD,"172"],[ge.Msg.MIXLY_BACKWARD,"173"],[ge.Msg.MIXLY_TURNLEFT,"174"],[ge.Msg.MIXLY_TURNRIGHT,"175"],[ge.Msg.MIXLY_STOP,"176"],[ge.Msg.MIXLY_Accelerate,"177"],[ge.Msg.MIXLY_retard,"178"],[ge.Msg.ROTATION_FORWARD,"179"],[ge.Msg.ROTATION_BACKWARD,"180"],[ge.Msg.TUPLE_JOIN,"181"],[ge.Msg.MIXLY_SHOW,"182"],[ge.Msg.MIXLY_LAMPLIGHT,"183"],[ge.Msg.MIXLY_ACCELERATION,"184"]]),"star"),this.appendValueInput("NUM").appendField(ge.Msg.MIXLY_NUMBER),this.appendDummyInput("").appendField(ge.Msg.MIXLY_UNIT).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"],[ge.Msg.MIXLY_YEAR,"117"],[ge.Msg.MIXLY_MONTH,"118"],[ge.Msg.MIXLY_DAY,"119"],[ge.Msg.MIXLY_HOUR,"120"],[ge.Msg.MIXLY_MINUTE,"121"],[ge.Msg.MIXLY_SECOND,"122"],[ge.Msg.MIXLY_WEEK2,"123"],[ge.Msg.MIXLY_RMB_UNIT,"124"],[ge.Msg.blockpy_setheading_degree,"125"],[ge.Msg.MIXLY_GEAR,"126"],[ge.Msg.MIXLY_LAYER,"127"],[ge.Msg.MIXLY_GRAM,"128"],[ge.Msg.MIXLY_METER,"129"],[ge.Msg.MIXLY_CENTIMETER,"130"],[ge.Msg.MIXLY_MILLIMETER,"131"],[ge.Msg.MIXLY_LUMEN,"132"],[ge.Msg.MIXLY_DECIBEL,"133"],[ge.Msg.MIXLY_hectopascal,"134"],[ge.Msg.MIXLY_PERCENT,"135"],[ge.Msg.MIXLY_CELSIUS,"136"],[ge.Msg.MIXLY_METER_PER_SEC,"137"],[ge.Msg.MIXLY_MICROBIT_Turn_on_display,"138"],[ge.Msg.MIXLY_MICROBIT_Turn_off_display,"139"],[ge.Msg.MIXLY_SUCCESS,"140"],[ge.Msg.MIXLY_FAILED,"141"],[ge.Msg.MIXLY_WRONG,"142"],[ge.Msg.MIXLY_GOOD,"143"],[ge.Msg.MIXLY_blockpy_set_add,"144"],[ge.Msg.MIXLY_DECREASE,"145"],[ge.Msg.COLOUR_RGB_RED,"146"],[ge.Msg.COLOUR_RGB_ORANGE,"147"],[ge.Msg.COLOUR_YELLOW,"148"],[ge.Msg.COLOUR_RGB_GREEN,"149"],[ge.Msg.COLOUR_CYAN,"150"],[ge.Msg.COLOUR_RGB_BLUE,"151"],[ge.Msg.COLOUR_RGB_PURPLE,"152"],[ge.Msg.COLOUR_RGB_WHITE,"153"]]),"end"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},mg={init:function(){this.setColour(Kc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.LISTS_SET_INDEX_SET+ge.Msg.MIXLY_SYSTEM+ge.Msg.MIXLY_CMD).appendField(new ge.FieldDropdown([[ge.Msg.MILXY_ENTER_WAKE_UP,"1"],[ge.Msg.MIXLY_INCREASE_VOLUME,"202"],[ge.Msg.MIXLY_REDUCE_VOLUME,"203"],[ge.Msg.MIXLY_MAX_VOLUME,"204"],[ge.Msg.MIXLY_MINIMUM,"205"],[ge.Msg.MIXLY_OPEN_RESPONSE,"206"],[ge.Msg.MIXLY_CLOSE_RESPONSE,"207"],[ge.Msg.MIXLY_QUIT_WAKE_UP,"208"]]),"cmd"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Eg={init:function(){this.setColour(Kc),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_MAX30102+" MAX30102"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_ESP32_MAX30102_IR,"[0]"],[ge.Msg.MIXLY_ESP32_MAX30102_RED,"[1]"],[ge.Msg.MIXLY_ESP32_MAX30102_IR+","+ge.Msg.MIXLY_ESP32_MAX30102_RED,""]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Og={init:function(){this.setColour(Kc),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_APDS9960+" APDS9960"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_ESP32_APDS9960_COLOR,"color"],[ge.Msg.MIXLY_ESP32_APDS9960_GESTURE,"gesture"],[ge.Msg.MIXLY_ESP32_APDS9960_APPROACH,"proximity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Rg={init:function(){this.setColour(Kc),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_EXTERN_LIGHT+" LTR308ALS"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET_LIGHT_INTENSITY),this.setOutput(!0,Number),this.setInputsInline(!0)}},cg={init:function(){this.setColour(Kc),this.appendValueInput("SUB").appendField(ge.Msg.HTML_COLOUR+ge.Msg.MSG.catSensor+" LTR381RGB").setCheck("var"),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_GET+ge.Msg.HTML_COLOUR,"[2]"],[ge.Msg.MIXLY_GET+ge.Msg.MIXLY_IR_STRENGTH,"[1]"],[ge.Msg.MIXLY_GET+ge.Msg.MIXLY_LIGHT_STRENGTH,"[0]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},gg={init:function(){this.setColour(Kc),this.appendValueInput("SUB").appendField(ge.Msg.HTML_COLOUR+ge.Msg.MSG.catSensor+" UCS12071").setCheck("var"),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_GET+"RGB"+ge.Msg.HTML_COLOUR,"0"],[ge.Msg.MIXLY_GET+ge.Msg.MIXLY_RGB_RAW,"1"],[ge.Msg.MIXLY_GET_ENV_LIGHT+ge.Msg.MIXLY_BRIGHTNESS,"2"],[ge.Msg.GET_IR_STRENGTH+ge.Msg.MIXLY_BRIGHTNESS,"3"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Cg={init:function(){this.setColour(Kc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_EXTERN_LIGHTUV+" LTR390UV").setCheck("var"),this.appendDummyInput().appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_GET_ENV_LIGHT,"E"],[ge.Msg.MIXLY_GET_ULTRAVIOLET,"U"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Sg={init:function(){this.setColour(Kc),this.appendDummyInput().appendField(ge.Msg.MIXLY_LASER_RANGE+" VL53L0X"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET_DISTANCE+"(mm)"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Ag={init:function(){this.setColour(Kc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_TEM_HUM+" SHTC3").setCheck("var"),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_GETTEMPERATUE,"temperature"],[ge.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key");return{temperature:ge.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,humidity:ge.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[t]}))}},Lg={init:function(){this.setColour(Kc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_TEM_HUM+" AHT21").setCheck("var"),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_GETTEMPERATUE,"temperature"],[ge.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key");return{temperature:ge.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,relative_humidity:ge.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[t]}))}},Ng={init:function(){this.setColour(Kc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_Altitude+ge.Msg.MSG.catSensor+" HP203X").setCheck("var"),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_GETPRESSURE,"pressure()"],[ge.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[ge.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Dg={init:function(){this.setColour(Kc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_Altitude+ge.Msg.MSG.catSensor+" SPL06_001").setCheck("var"),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_GETPRESSURE,"pressure()"],[ge.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[ge.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},fg={init:function(){this.setColour(Kc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_Altitude+ge.Msg.MSG.catSensor+" MS5611").setCheck("var"),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_GETPRESSURE,"pressure()"],[ge.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[ge.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Fg={init:function(){this.setColour(Kc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_Altitude+ge.Msg.MSG.catSensor+" MS5611").setCheck("var"),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_REF_TO_PRESSURE),this.appendDummyInput().appendField(ge.Msg.MIXLY_CAL_TO_ALTITUDE),this.setOutput(!0,Number),this.setInputsInline(!0)}},Pg={init:function(){this.setColour(Kc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_MIXGOPE_FIELD+ge.Msg.MSG.catSensor+" QMC5883L").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_GET).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"get_bearing()"],[ge.Msg.MIXLY_TEMPERATURE,"get_temp()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Yg={init:function(){this.setColour(Kc),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_shake,"shake"],[ge.Msg.MIXLY_UP,"up"],[ge.Msg.MIXLY_DOWN,"down"],[ge.Msg.MIXLY_LEFT,"left"],[ge.Msg.MIXLY_RIGHT,"right"],[ge.Msg.MIXLY_MICROBIT_face_up,"face up"],[ge.Msg.MIXLY_MICROBIT_face_down,"face down"]]),"gesture"),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("gesture"),i=ge.Msg.MIXLY_MICROBIT_JS_CURRENT,n=ge.Msg.MSG.catSensor,s=ge.Msg.MIXLY_MICROBIT_JS_STATE,_=ge.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:ge.Msg.MIXLY_MICROBIT_shake,up:ge.Msg.MIXLY_UP,down:ge.Msg.MIXLY_DOWN,left:ge.Msg.MIXLY_LEFT,right:ge.Msg.MIXLY_RIGHT,"face up":ge.Msg.MIXLY_MICROBIT_face_up,"face down":ge.Msg.MIXLY_MICROBIT_face_down}[t]+_}))}},vg={init:function(){this.setColour(Kc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new ge.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key"),i=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=ge.Msg.MIXLY_MICROBIT_Direction,s=ge.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":ge.Msg.MIXLY_MICROBIT_Shiliang_Direction}[t]+n+s}))}},Xg={init:function(){this.setColour(Kc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_JS_GET+ge.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH).appendField(new ge.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key"),i=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=ge.Msg.MIXLY_MICROBIT_Direction,s=ge.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH;return i+{x:"x",y:"y",z:"z","(x,y,z)":ge.Msg.MIXLY_MICROBIT_Shiliang_Direction}[t]+n+s}))}},yg={init:function(){this.setColour(Kc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+ge.Msg.MIXLY_ESP32_SENOR_GYRO).appendField(new ge.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key"),i=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=ge.Msg.MIXLY_MICROBIT_Direction,s=ge.Msg.MIXLY_ESP32_SENOR_GYRO;return i+{x:"x",y:"y",z:"z","(x,y,z)":ge.Msg.MIXLY_MICROBIT_Shiliang_Direction}[t]+n+s}))}},xg={init:function(){this.setColour(Kc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS)}},bg={init:function(){this.setColour(Kc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_GETTEMPERATUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_GETTEMPERATUE)}},Vg={init:function(){this.setColour(Kc),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_JS_GET_COMPASS).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,"strength"],[ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"heading"]]),"compass"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("compass");return ge.Msg.MIXLY_MICROBIT_JS_GET_COMPASS+{strength:ge.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,heading:ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE}[t]}))}},Bg={init:function(){this.setColour(Kc),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Reset_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MICROBIT_Reset_COMPASS)}},Gg={init:function(){this.setColour(Kc),this.appendValueInput("SPISUB").appendField(ge.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_SETUP+ge.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new ge.FieldDropdown([["RFID","RFID"],["WS-LoRa","Weather"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setFieldValue("RFID","key")}},Ug={init:function(){this.setColour(Kc),this.appendDummyInput().appendField("RFID"+ge.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(ge.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_RFID_READ_CARD_UID,"id"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"content"],[ge.Msg.MIXLY_ALL,"ALL"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},wg={init:function(){this.setColour(Kc),this.appendDummyInput().appendField("RFID"+ge.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RFID_READ_CARD_UID),this.setOutput(!0,Number),this.setInputsInline(!0)}},Hg={init:function(){this.setColour(Kc),this.appendDummyInput().appendField("RFID"+ge.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(ge.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},kg={init:function(){this.setColour(Kc),this.appendDummyInput().appendField(ge.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(ge.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(ge.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Wg={init:function(){this.setColour(Kc),this.appendDummyInput().appendField(ge.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(ge.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(ge.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(ge.Msg.RETURN_SUCCESS_OR_NOT),this.setInputsInline(!0),this.setOutput(!0,Boolean)}},Kg={init:function(){this.setColour(Kc),this.appendDummyInput().appendField("RFID"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_RFID_SCAN_OK,"0"],[ge.Msg.MIXLY_RFID_SCAN_NOTAGERR,"1"],[ge.Msg.MIXLY_RFID_SCAN_ERROR,"2"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Jg={init:function(){this.setColour(Kc),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_GET).appendField(new ge.FieldDropdown([["全部(元组)","data()[0]"],["全部(json)","data()[1]"],["全部(json,附带位置信息)","data()[2]"],["编号","data()[0][0]"],["电量","data()[0][1]"],["风速","data()[0][2]"],["阵风","data()[0][3]"],["风向","data()[0][4]"],["雨量","data()[0][5]"],["温度","data()[0][6]"],["湿度","data()[0][7]"],["光照","data()[0][8]"],["紫外线","data()[0][9]"],["大气压","data()[0][10]"],["信号强度","data()[0][11]"],["信噪比","data()[0][12]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip("返回气象数据元组 data= (设备id,电池状态,风速m/s,阵风m/s,风向°,雨量mm,温度℃,湿度%,光照Lux,UVI,大气压Pa,信号强度dB,信噪比dB)")}},Qg={init:function(){this.setColour(Kc),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_SERIAL_AVAILABLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},zg={init:function(){this.setColour(Kc),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendValueInput("BASE").appendField("以主题"),this.appendDummyInput("").appendField("串口发送至MixIO"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},qg={init:function(){this.setColour(Kc),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.itemCount_=2,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new ge.icons.MutatorIcon(["weather_set_label_item"],this)),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip()},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("weather_set_label_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;n>6),i.push(128|63&_)):(2048<=_&&_<=55295||57344<=_&&_<=65535)&&(n+=3,i.push(224|15&_>>12),i.push(128|63&_>>6),i.push(128|63&_))}for(s=0;s>8,255&n].concat(i)}(e,!0),i="",n=0;n=0?"0x700000":["mixgo_sant"].indexOf(n)>=0?"0xE00000":"0x3A0000","32x12 Matrix"==o?(t.definitions_.import_matrix32x12="import matrix32x12",i=s+" = matrix32x12.Matrix("+_+", font_address="+p+")\n"):"16x8 Matrix"==o&&(t.definitions_.import_matrix16x8="import matrix16x8",i=s+" = matrix16x8.Matrix("+_+")\n"),i},dv=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},Iv=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", space="+t.valueToCode(this,"space",t.ORDER_ASSIGNMENT)+", center="+this.getFieldValue("center")+")\n"},Tv=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".frame("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},Mv=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".frame("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", delay="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+")\n"},hv=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},mv=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", speed="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+", space="+t.valueToCode(this,"space",t.ORDER_ASSIGNMENT)+")\n"},Ev=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},Ov=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+"."+e.getFieldValue("OP")+"("+t.valueToCode(e,"val",t.ORDER_ATOMIC)+")\n"},Rv=function(e,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".pixel(int("+t.valueToCode(e,"x",t.ORDER_ATOMIC)+"), int("+t.valueToCode(e,"y",t.ORDER_ATOMIC)+"))",t.ORDER_ATOMIC]},cv=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return i+".pixel(int("+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+"), int("+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+"), "+t.valueToCode(this,"STAT",t.ORDER_ATOMIC)+")\n"+i+".show()\n"},gv=function(e,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".get_brightness()",t.ORDER_ATOMIC]},Cv=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".set_brightness("+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+")\n"},Sv=function(e,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+"."+e.getFieldValue("image"),t.ORDER_ATOMIC]},Av=function(e,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".map_"+e.getFieldValue("OP")+"("+t.valueToCode(e,"A",t.ORDER_ATOMIC)+", "+t.valueToCode(e,"B",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Lv=function(e,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".map_invert("+t.valueToCode(e,"A",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Nv=function(e,t){t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var i=t.valueToCode(this,"I2CSUB",t.ORDER_ATOMIC);return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+" = ssd1306.SSD1306_I2C("+t.valueToCode(this,"row",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"column",t.ORDER_ATOMIC)+", "+i+")\n"},Dv=function(e,t){return t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".show_str("+(t.valueToCode(this,"Text_line1",t.ORDER_ASSIGNMENT)||"''")+", "+(t.valueToCode(this,"Text_line2",t.ORDER_ASSIGNMENT)||"''")+", "+(t.valueToCode(this,"Text_line3",t.ORDER_ASSIGNMENT)||"''")+", "+(t.valueToCode(this,"Text_line4",t.ORDER_ASSIGNMENT)||"''")+")\n"},fv=function(e,t){return t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".show_line("+t.valueToCode(this,"x1",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"y1",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"x2",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"y2",t.ORDER_ATOMIC)+", 1)\n"},Fv=function(e,t){t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var i=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),n=t.valueToCode(this,"x",t.ORDER_ATOMIC),s=t.valueToCode(this,"y",t.ORDER_ATOMIC),_=t.valueToCode(this,"width",t.ORDER_ATOMIC),o=t.valueToCode(this,"height",t.ORDER_ATOMIC),p="TRUE"==this.getFieldValue("fill")?"True":"False",a=this.getFieldValue("OP");switch(p){case"True":return i+".show_fill_rect("+n+", "+s+", "+_+", "+o+", "+a+")\n";case"False":return i+".show_rect("+n+", "+s+", "+_+", "+o+", "+a+")\n"}},Pv=function(e,t){t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var i=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),n=t.valueToCode(this,"x",t.ORDER_ATOMIC),s=t.valueToCode(this,"y",t.ORDER_ATOMIC),_=t.valueToCode(this,"length",t.ORDER_ATOMIC);return i+".show_"+this.getFieldValue("direction")+"("+n+", "+s+", "+_+", 1)\n"},Yv=function(e,t){return["ON"==this.getFieldValue("ONOFF")?"1":"0",t.ORDER_ATOMIC]},vv=function(e,t){t.definitions_.import_matrix="import matrix";var i=e.getFieldValue("OP");return[t.valueToCode(e,"img",t.ORDER_ATOMIC)+".shift_"+i+"("+t.valueToCode(e,"val",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Xv=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return t.definitions_.import_ssd1306="import ssd1306",t.definitions_.import_machine="import machine",i+".show_fill("+this.getFieldValue("key")+")\n"},yv=function(e,t){return["matrix.Image."+this.getFieldValue("ANIMATION"),t.ORDER_ATOMIC]},xv=function(e,t){var i=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var n=t.valueToCode(this,"x",t.ORDER_ATOMIC),s=t.valueToCode(this,"y",t.ORDER_ATOMIC),_=t.valueToCode(this,"r",t.ORDER_ATOMIC),o="TRUE"==this.getFieldValue("fill")?"True":"False",p=this.getFieldValue("OP");switch(o){case"True":return i+".show_fill_circle("+n+", "+s+", "+_+", "+p+")\n";case"False":return i+".show_circle("+n+", "+s+", "+_+", "+p+")\n"}},bv=function(e,t){var i=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var n=t.valueToCode(this,"x0",t.ORDER_ATOMIC),s=t.valueToCode(this,"y0",t.ORDER_ATOMIC),_=t.valueToCode(this,"x1",t.ORDER_ATOMIC),o=t.valueToCode(this,"y1",t.ORDER_ATOMIC),p=t.valueToCode(this,"x2",t.ORDER_ATOMIC),a=t.valueToCode(this,"y2",t.ORDER_ATOMIC),u="TRUE"==this.getFieldValue("fill")?"True":"False",r=this.getFieldValue("OP");switch(u){case"True":return i+".show_fill_triangle("+n+", "+s+", "+_+", "+o+", "+p+", "+a+", "+r+")\n";case"False":return i+".show_triangle("+n+", "+s+", "+_+", "+o+", "+p+", "+a+", "+r+")\n"}},Vv=function(e,t){return t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".show_bitmap("+t.valueToCode(this,"START_X",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"START_Y",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"bitmap_name",t.ORDER_ATOMIC)+","+t.valueToCode(this,"WIDTH",t.ORDER_ATOMIC)+","+t.valueToCode(this,"HEIGHT",t.ORDER_ATOMIC)+")\n"},Bv=function(e,t){return t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".show_pixel("+t.valueToCode(this,"POS_X",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"POS_Y",t.ORDER_ATOMIC)+")\n"},Gv=function(e,t){var i,n=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),s=t.valueToCode(this,"CLK",t.ORDER_ATOMIC),_=t.valueToCode(this,"DIO",t.ORDER_ATOMIC),o=this.getFieldValue("key");return"TM1650"==o?(t.definitions_.import_tm1650="import tm1650",i=n+" = tm1650."+o+"(clk="+s+",dio="+_+")\n"):"TM1637"==o&&(t.definitions_.import_tm1637="import tm1637",i=n+" = tm1637."+o+"(clk="+s+",dio="+_+")\n"),i},Uv=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+"."+this.getFieldValue("STAT")+"()\n"},wv=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".shownum("+t.valueToCode(this,"VALUE",t.ORDER_ATOMIC)+")\n"},Hv=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".showDP("+t.valueToCode(this,"NO",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"STAT",t.ORDER_ATOMIC)+")\n"},kv=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".intensity("+t.valueToCode(this,"VALUE",t.ORDER_ATOMIC)+")\n"},Wv=function(e,t){t.definitions_.import_st7789="import st7789";var i=Ce.Boards.getSelectedBoardKey().split(":")[2],n="";n=["mpython","mixgo_pe","mixgo_nova"].indexOf(i)>=0?"0x700000":["mixgo_sant"].indexOf(i)>=0?"0xE00000":"0x3A0000";var s=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),_=t.valueToCode(this,"SPISUB",t.ORDER_ATOMIC),o=t.valueToCode(this,"PINCS",t.ORDER_ATOMIC),p=t.valueToCode(this,"PINDC",t.ORDER_ATOMIC);return s+" = st7789.ST7789("+_+", "+t.valueToCode(this,"WIDTH",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"HEIGHT",t.ORDER_ATOMIC)+", dc_pin="+p+", cs_pin="+o+", rotation="+this.getFieldValue("rotate")+", font_address="+n+")\n"},Kv=function(e,t){t.definitions_.import_st7789="import st7789";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".image("+n+", x="+s+", y="+_+", size="+o+", color="+p+")\n";else{const e=p.match(/\d+/g);var u="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");a=i+".image("+n+", x= "+s+",y="+_+", size="+o+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},Jv=function(e,t){var i="0x"+this.getFieldValue("COLOR").slice(1);return["0x"+((16252928&i)>>8|(64512&i)>>5|(255&i)>>3).toString(16),t.ORDER_ATOMIC]},Qv=function(e,t){t.definitions_.import_st7789="import st7789";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),a=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),u=this.getFieldValue("center");if("0x"==a.slice(0,2))var r=i+".shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+u+", color="+a+")\n";else{const e=a.match(/\d+/g);var l="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");r=i+".shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+u+", color=0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+")\n"}return r},zv=function(e,t){t.definitions_.import_st7789="import st7789";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==o.slice(0,2))var p=i+".frame("+n+", size="+s+", delay="+_+", color="+o+")\n";else{const e=o.match(/\d+/g);var a="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");p=i+".frame("+n+", size="+s+", delay="+_+", color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},qv=function(e,t){t.definitions_.import_st7789="import st7789";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),a=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u=i+".scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color="+a+")\n";else{const e=a.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u=i+".scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},jv=function(e,t){return t.definitions_.import_st7789="import st7789",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".fill(st7789."+this.getFieldValue("key")+")\n"},$v=function(e,t){t.definitions_.import_st7789="import st7789";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"x1",t.ORDER_ATOMIC),s=t.valueToCode(this,"y1",t.ORDER_ATOMIC),_=t.valueToCode(this,"x2",t.ORDER_ATOMIC),o=t.valueToCode(this,"y2",t.ORDER_ATOMIC),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".line("+n+", "+s+", "+_+", "+o+", color="+p+")\n";else{const e=p.match(/\d+/g);var u="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");a=i+".line("+n+", "+s+", "+_+", "+o+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},Zv=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"I2CSUB",t.ORDER_ATOMIC),s=this.getFieldValue("key"),_=t.valueToCode(this,"ADDR",t.ORDER_ATOMIC);return t.definitions_.import_i2clcd="import i2clcd",i+" = i2clcd.LCD("+n+", lcd_width="+s+", i2c_addr="+_+")\n"},eX=function(e,t){return t.definitions_.import_i2clcd="import i2clcd",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", column="+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+", line="+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+",center = "+this.getFieldValue("center")+")\n"},tX=function(e,t){return t.definitions_.import_i2clcd="import i2clcd",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".print("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", column="+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+", line="+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+", delay="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+")\n"},iX=function(e,t){return t.definitions_.import_i2clcd="import i2clcd",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".backlight("+this.getFieldValue("key")+")\n"},nX=function(e,t){return t.definitions_.import_i2clcd="import i2clcd",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".clear()\n"},sX=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"I2CSUB",t.ORDER_ATOMIC),s=t.valueToCode(this,"ADDR",t.ORDER_ATOMIC),_=this.getFieldValue("driver"),o=Ce.Boards.getSelectedBoardKey().split(":")[2],p="";return p=["mpython","mixgo_pe","mixgo_nova"].indexOf(o)>=0?"0x700000":["mixgo_sant"].indexOf(o)>=0?"0xE00000":"0x3A0000",t.definitions_.import_oled128x64="import oled128x64",i+" = oled128x64.OLED("+n+", address="+s+", font_address="+p+", types="+_+")\n"},_X=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".image("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},oX=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".image("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", x="+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+", y="+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+", size="+t.valueToCode(this,"size",t.ORDER_ASSIGNMENT)+")\n"},pX=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},aX=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", x="+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+", y="+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+", size="+t.valueToCode(this,"size",t.ORDER_ASSIGNMENT)+", space="+t.valueToCode(this,"space",t.ORDER_ASSIGNMENT)+", center="+this.getFieldValue("center")+")\n"},uX=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".frame("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},rX=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".frame("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", size="+t.valueToCode(this,"size",t.ORDER_ASSIGNMENT)+", delay="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+")\n"},lX=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},dX=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", y="+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+", size="+t.valueToCode(this,"size",t.ORDER_ASSIGNMENT)+", speed="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+", space="+t.valueToCode(this,"space",t.ORDER_ASSIGNMENT)+")\n"},IX=function(e,t){t.definitions_.import_oled128x64="import oled128x64";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},TX=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+"."+e.getFieldValue("OP")+"("+t.valueToCode(e,"val",t.ORDER_ATOMIC)+")\n"},MX=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".pixel(int("+t.valueToCode(e,"x",t.ORDER_ATOMIC)+"), int("+t.valueToCode(e,"y",t.ORDER_ATOMIC)+"))",t.ORDER_ATOMIC]},hX=function(e,t){t.definitions_.import_oled128x64="import oled128x64";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return i+".pixel(int("+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+"), int("+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+"), "+t.valueToCode(this,"STAT",t.ORDER_ATOMIC)+")\n"+i+".show()\n"},mX=function(e,t){t.definitions_.import_oled128x64="import oled128x64";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(e,"x",t.ORDER_ATOMIC),s=t.valueToCode(e,"y",t.ORDER_ATOMIC),_=t.valueToCode(e,"w",t.ORDER_ATOMIC),o=t.valueToCode(e,"h",t.ORDER_ATOMIC),p=e.getFieldValue("state");return i+"."+e.getFieldValue("shape")+"("+n+", "+s+", "+_+", "+o+", "+p+")\n"+i+".show()\n"},EX=function(e,t){t.definitions_.import_oled128x64="import oled128x64";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(e,"x",t.ORDER_ATOMIC),s=t.valueToCode(e,"y",t.ORDER_ATOMIC),_=t.valueToCode(e,"length",t.ORDER_ATOMIC),o=e.getFieldValue("state");return i+"."+("0"==e.getFieldValue("dir_h_v")?"v":"h")+"line("+n+", "+s+", "+_+", "+o+")\n"+i+".show()\n"},OX=function(e,t){t.definitions_.import_oled128x64="import oled128x64";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return i+".line("+t.valueToCode(e,"x1",t.ORDER_ATOMIC)+", "+t.valueToCode(e,"y1",t.ORDER_ATOMIC)+", "+t.valueToCode(e,"x2",t.ORDER_ATOMIC)+", "+t.valueToCode(e,"y2",t.ORDER_ATOMIC)+", "+e.getFieldValue("state")+")\n"+i+".show()\n"},RX=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT);if("Python ESP32-S3"===Ce.JSFuncs.getPlatform()){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var s="onboard_tft.image("+(n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT))+", color=0xffff,sync="+(t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True")+")\n"}else if("educore"==i){t.definitions_["import_"+i+"_oled"]="from "+i+" import oled";s="oled.print("+n+")\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";s="onboard_matrix.shows("+n+")\n"}return s},cX=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),_=this.getFieldValue("center");if("mixgo_sant"==i||"mixgo_nova"==i||"mixgo_soar"==i)return t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.shows("+n+", space="+s+", center="+_+",sync="+(t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True")+")\n";if("educore"==i){t.definitions_["import_"+i+"_oled"]="from "+i+" import oled"}return t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.shows("+n+", space="+s+", center="+_+")\n"},gX=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){t.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var s="onboard_oled.frame("+n+")\n"}else if("Python ESP32-S3"===Ce.JSFuncs.getPlatform()){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";s="onboard_tft.frame("+(n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT))+", color=0xffff)\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";s="onboard_matrix.frame("+n+")\n"}return s},CX=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){t.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var _="onboard_oled.frame("+(n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT))+", delay="+s+")\n"}else if("Python ESP32-S3"===Ce.JSFuncs.getPlatform()){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";_="onboard_tft.frame("+n+", size=5 , delay="+s+", color=0xffff)\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";_="onboard_matrix.frame("+n+", delay="+s+")\n"}return _},SX=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];if("mpython"==i||"educore"==i){t.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var n="onboard_oled.scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"}else if("Python ESP32-S3"===Ce.JSFuncs.getPlatform()){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";n="onboard_tft.scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", color=0xffff)\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"}return n},AX=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){t.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var o="onboard_oled.scroll("+n+", speed="+s+", space="+_+")\n"}else if("Python ESP32-S3"===Ce.JSFuncs.getPlatform()){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";o="onboard_tft.scroll("+n+", y=0, size=5, speed="+s+", space="+_+", color=0xffff)\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";o="onboard_matrix.scroll("+n+", speed="+s+", space="+_+")\n"}return o},LX=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.scroll_way("+this.getFieldValue("way")+")\n"},NX=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),a=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u="onboard_tft.scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color="+a+")\n";else{const e=a.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u="onboard_tft.scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},DX=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix",["onboard_matrix."+e.getFieldValue("image"),t.ORDER_ATOMIC]},fX=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];if("Python ESP32-S3"===Ce.JSFuncs.getPlatform()){const i=e.getFieldValue("image").split(".");if(2!==i.length)throw Error("pin value error");t.definitions_[`import_${i[0]}_${i[1]}`]=`from ${i[0]} import ${i[1]}`;var n=i[1]}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix."+e.getFieldValue("image")}return[n,t.ORDER_ATOMIC]},FX=function(e,t){var i={"#000000":"0","#ff0000":"1"};function n(e){let t="";if(e.length%2==1&&(e="0"+e),e.length<8){let t=8-e.length;for(let i=1;i<=t;i++)e="0"+e}for(let i=1;i<=e.length;i++)i%2==0&&i!==e.length?t=t+e[i-1]+",0x":t+=e[i-1];return"0x"+t}let s=[];for(let t=0;t<12;t++){let _="",o=0,p=0;for(let n=0;n<32;n++)n<8?p=7-n:n<16?p=23-n:n<24?p=39-n:n<32&&(p=55-n),o+=Number(i[e.getFieldValue(t+"-"+n)])*Math.pow(2,31-p);_+=n(o.toString(16)),s.unshift(_)}let _=[];for(let e=0;e>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},Ty=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.picture("+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+","+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+","+t.valueToCode(this,"direct",t.ORDER_ASSIGNMENT)+")\n"},My=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),a=this.getFieldValue("center"),u=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True",r=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==r.slice(0,2))var l="onboard_tft.shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+a+", color="+r+",sync="+u+")\n";else{const e=r.match(/\d+/g);var d="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");l="onboard_tft.shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+a+", color=0x"+((16252928&d)>>8|(64512&d)>>5|(255&d)>>3).toString(16)+",sync="+u+")\n"}return l},hy=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==o.slice(0,2))var p="onboard_tft.frame("+n+", size="+s+", delay="+_+", color="+o+")\n";else{const e=o.match(/\d+/g);var a="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");p="onboard_tft.frame("+n+", size="+s+", delay="+_+", color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},my=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(e,"x",t.ORDER_ATOMIC),s=t.valueToCode(e,"y",t.ORDER_ATOMIC),_=t.valueToCode(e,"w",t.ORDER_ATOMIC),o=t.valueToCode(e,"h",t.ORDER_ATOMIC),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),a=e.getFieldValue("shape"),u=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var r="onboard_tft."+a+"("+n+", "+s+", "+_+", "+o+", "+p+",sync="+u+")\n";else{const e=p.match(/\d+/g);var l="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");r="onboard_tft."+a+"("+n+", "+s+", "+_+", "+o+", 0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+",sync="+u+")\n"}return r},Ey=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(e,"x",t.ORDER_ATOMIC),s=t.valueToCode(e,"y",t.ORDER_ATOMIC),_=t.valueToCode(e,"length",t.ORDER_ATOMIC),o=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),p=e.getFieldValue("dir_h_v"),a=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==o.slice(0,2))var u="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+_+", "+o+",sync="+a+")\n";else{const e=o.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+_+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},Oy=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(e,"x1",t.ORDER_ATOMIC),s=t.valueToCode(e,"y1",t.ORDER_ATOMIC),_=t.valueToCode(e,"x2",t.ORDER_ATOMIC),o=t.valueToCode(e,"y2",t.ORDER_ATOMIC),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),a=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var u="onboard_tft.line("+n+", "+s+", "+_+", "+o+", "+p+",sync="+a+")\n";else{const e=p.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u="onboard_tft.line("+n+", "+s+", "+_+", "+o+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},Ry=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft",["onboard_tft.pixel(int("+t.valueToCode(e,"x",t.ORDER_ATOMIC)+"), int("+t.valueToCode(e,"y",t.ORDER_ATOMIC)+"))",t.ORDER_ATOMIC]},cy=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),o=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==_.slice(0,2))var p="onboard_tft.pixel(int("+n+"), int("+s+"), "+_+",sync="+o+")\n";else{const e=_.match(/\d+/g);var a="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");p="onboard_tft.pixel(int("+n+"), int("+s+"), 0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+",sync="+o+")\n"}return p},gy=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"VAR",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==n.slice(0,2))var _="onboard_tft.fill("+n+",sync="+s+")\n";else{const e=n.match(/\d+/g);var o="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");_="onboard_tft.fill(0x"+((16252928&o)>>8|(64512&o)>>5|(255&o)>>3).toString(16)+",sync="+s+")\n"}return _},Cy=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=o+"=Clock("+n+", "+s+", "+_+", "+p+")\n";else{const e=p.match(/\d+/g);var u="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");a=o+"=Clock("+n+", "+s+", "+_+", 0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},Sy=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT)+".set_rtctime()\n"},Ay=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT)+".set_time("+t.valueToCode(this,"h",t.ORDER_ASSIGNMENT)+", "+t.valueToCode(this,"m",t.ORDER_ASSIGNMENT)+", "+t.valueToCode(this,"s",t.ORDER_ASSIGNMENT)+")\n"},Ly=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT)+".draw_clock()\n"},Ny=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==s.slice(0,2))var _=n+".clear("+s+")\n";else{const e=s.match(/\d+/g);var o="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");_=n+".clear(0x"+((16252928&o)>>8|(64512&o)>>5|(255&o)>>3).toString(16)+")\n"}return _},Dy=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(e,"x",t.ORDER_ATOMIC),s=t.valueToCode(e,"y",t.ORDER_ATOMIC),_=t.valueToCode(e,"r",t.ORDER_ATOMIC),o=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),p=e.getFieldValue("shape"),a=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==o.slice(0,2))var u="onboard_tft.ellipse("+n+", "+s+", "+_+", "+_+", "+o+", "+p+",sync="+a+")\n";else{const e=o.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u="onboard_tft.ellipse("+n+", "+s+", "+_+", "+_+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+", "+p+",sync="+a+")\n"}return u},fy=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];if("Python ESP32-S3"===Ce.JSFuncs.getPlatform()){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n="onboard_tft.pointern(angle="+t.valueToCode(this,"angle",t.ORDER_ASSIGNMENT)+")\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.pointern(angle="+t.valueToCode(this,"angle",t.ORDER_ASSIGNMENT)+")\n"}return n},Fy=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"angle",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==s.slice(0,2));else{const e=s.match(/\d+/g);var _="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");((16252928&_)>>8|(64512&_)>>5|(255&_)>>3).toString(16)}return"onboard_tft.pointern(angle="+n+")\n"},Py=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),a=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var u="onboard_tft.texts("+n+", x="+s+", y="+_+", size="+o+", color="+p+",sync="+a+")\n";else{const e=p.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u="onboard_tft.texts("+n+", x="+s+", y="+_+", size="+o+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},Yy=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"direct",t.ORDER_ATOMIC);t.valueToCode(this,"boolean",t.ORDER_ATOMIC);return"onboard_tft.qrcode("+n+")\n"},vy=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),a=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True",u=this.getFieldValue("correct");if("0x"==p.slice(0,2))var r="onboard_tft.qrcode("+n+",x="+s+",y="+_+",size="+o+",correct="+u+",color="+p+",sync="+a+")\n";else{const e=p.match(/\d+/g);var l="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");r="onboard_tft.qrcode("+n+",x="+s+",y="+_+",size="+o+",correct="+u+",color=0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+",sync="+a+")\n"}return r},Xy=RX,yy=BX,xy=xX,by=BX,Vy=GX,By=YX,Gy=function(e,t){var i=this.getFieldValue("path"),n=this.getFieldValue("module");return t.definitions_["import_"+i+"_"+n]="from "+i+" import "+n,""},Uy=function(e,t){var i=this.getFieldValue("module");return t.definitions_["import_"+i]="import "+i,""},wy=function(e,t){for(var i=this.getFieldValue("NAME"),n=new Array(this.itemCount_),s=0;s {\n"+t.statementToCode(this,"do")+"})\n"},lw=function(){return"control.reset()\n"},dw=function(e,t){return"control.waitMicros("+(t.valueToCode(this,"data",t.ORDER_ATOMIC)||Ce.Profile.default.serial)+")\n"},Iw=function(e,t){return"control.raiseEvent("+(t.valueToCode(this,"system_event_bus_source",t.ORDER_ATOMIC)||Ce.Profile.default.serial)+", "+(t.valueToCode(this,"system_event_bus_value",t.ORDER_ATOMIC)||Ce.Profile.default.serial)+")\n"},Tw=function(e,t){return"control.onEvent("+(t.valueToCode(this,"system_event_bus_source",t.ORDER_ATOMIC)||Ce.Profile.default.serial)+", "+(t.valueToCode(this,"system_event_bus_value",t.ORDER_ATOMIC)||Ce.Profile.default.serial)+", () => {\n"+t.statementToCode(this,"do")+")\n"},Mw=function(e,t){return["control.eventTimestamp()",t.ORDER_ATOMIC]},hw=function(e,t){return["control.eventValue()",t.ORDER_ATOMIC]},mw=function(e,t){return[this.getFieldValue("key"),t.ORDER_ATOMIC]},Ew=function(e,t){return[this.getFieldValue("key"),t.ORDER_ATOMIC]},Ow=function(e,t){return["control.deviceName()",t.ORDER_ATOMIC]},Rw=function(e,t){return["control.deviceSerialNumber()",t.ORDER_ATOMIC]},cw=function(e,t){return"panic("+(t.valueToCode(this,"STATUS_CODE",t.ORDER_ATOMIC)||"1000")+")\n"},gw=function(e,t){switch(t.definitions_.import_time="import time",this.getFieldValue("Time")){case"ms":return["time.ticks_ms()",t.ORDER_ATOMIC];case"us":return["time.ticks_us()",t.ORDER_ATOMIC]}},Cw=function(){return"while True:\n pass\n"},Sw=function(e,t){return t.definitions_.import_mixgo="import mixgo","reset()\n"},Aw=function(e,t){return t.definitions_.import_os="import os","os.uname()"},Lw=function(e,t){t.definitions_.import_time="import time";var i=t.valueToCode(this,"DELAY_TIME",t.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},Nw=function(e,t){t.definitions_.import_time="import time";var i=t.valueToCode(this,"DELAY_TIME",t.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},Dw=function(e,t){return t.definitions_.import_mixgo="import mixgo",(t.valueToCode(this,"VAR",t.ORDER_NONE)||"None")+".init(period="+(t.valueToCode(this,"period",t.ORDER_NONE)||"0")+", mode=Timer."+(t.valueToCode(this,"mode",t.ORDER_NONE)||"None")+", callback="+(t.valueToCode(this,"callback",t.ORDER_NONE)||"None")+")\n"},fw=function(e,t){return t.definitions_.import_machine="import machine",(t.valueToCode(this,"VAR",t.ORDER_NONE)||"None")+" = machine.Timer("+(t.valueToCode(this,"PIN",t.ORDER_NONE)||"None")+",period = "+(t.valueToCode(this,"period",t.ORDER_NONE)||"0")+", mode=machine.Timer."+this.getFieldValue("mode")+", callback="+(t.valueToCode(this,"callback",t.ORDER_NONE)||"None")+")\n"},Fw=function(e,t){return t.definitions_.import_time="import time",["time.ticks_diff("+(t.valueToCode(this,"END",t.ORDER_NONE)||"0")+", "+(t.valueToCode(this,"START",t.ORDER_NONE)||"0")+")",t.ORDER_ATOMIC]},Pw=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return t.definitions_.import_machine="import machine",i+" = machine.Timer(0)\n"},Yw=function(e,t){return t.definitions_.import_machine="import machine",(t.valueToCode(this,"VAR",t.ORDER_NONE)||"None")+".init(period = "+(t.valueToCode(this,"period",t.ORDER_NONE)||"0")+", mode=machine.Timer."+this.getFieldValue("mode")+", callback="+(t.valueToCode(this,"callback",t.ORDER_NONE)||"None")+")\n"},vw=function(e,t){return t.definitions_.import_machine="import machine","wdt = machine.WDT(timeout= "+(t.valueToCode(this,"period",t.ORDER_NONE)||"0")+")\n"},Xw=function(e,t){t.definitions_.import_machine="import machine";return"wdt.feed()\n"},yw=function(e,t){t.definitions_.import_machine="import machine";return"machine.reset()\n"},xw=function(e,t){t.definitions_.import_bitbot_onboard_bot51="from bitbot import onboard_bot51";return"onboard_bot51.shutdown()\n"},bw=Pw,Vw=Yw,Bw=Fw,Gw=Lw,Uw=function(e,t){return t.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+t.valueToCode(this,"key",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},ww=function(e,t){return t.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+t.valueToCode(this,"key",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"day",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Hw=function(e,t){return t.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api.weather_hourly("+t.valueToCode(this,"key",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"hour",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},kw=function(e,t){return t.definitions_["import_seniverse_api*"]="from seniverse_api import *",this.getFieldValue("mode")+".request("+t.valueToCode(this,"key",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+")\n"},Ww=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Weather_now.analysis()";else n='Weather_now.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},Kw=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Air_now.analysis()";else n='Air_now.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},Jw=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Weather_alarm.analysis()";else n='Weather_alarm.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},Qw=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Life_suggestion.analysis()";else n='Life_suggestion.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},zw=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Tide_daily.analysis()";else n='Tide_daily.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},qw=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Location_search.analysis()";else n='Location_search.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},jw=function(e,t){return t.definitions_["import_seniverse_api*"]="from seniverse_api import *",this.getFieldValue("mode")+".request("+t.valueToCode(this,"key",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"day",t.ORDER_ATOMIC)+")\n"},$w=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=t.valueToCode(this,"day",t.ORDER_ATOMIC);if("none"==i)var s="Weather_daily.analysis("+n+")";else s="Weather_daily.analysis("+n+', "'+i+'")';return[s,t.ORDER_ATOMIC]},Zw=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=t.valueToCode(this,"day",t.ORDER_ATOMIC);if("none"==i)var s="Air_daily.analysis("+n+")";else s="Air_daily.analysis("+n+', "'+i+'")';return[s,t.ORDER_ATOMIC]},eH=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=t.valueToCode(this,"day",t.ORDER_ATOMIC);if("none"==i)var s="Geo_sun.analysis("+n+")";else s="Geo_sun.analysis("+n+', "'+i+'")';return[s,t.ORDER_ATOMIC]},tH=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=t.valueToCode(this,"day",t.ORDER_ATOMIC);if("none"==i)var s="Geo_moon.analysis("+n+")";else s="Geo_moon.analysis("+n+', "'+i+'")';return[s,t.ORDER_ATOMIC]},iH='
\r\n
{{-d.title}}
\r\n
\r\n {{# if (d.message) { }}\r\n

\r\n {{-d.message}}\r\n

\r\n {{# } }}\r\n
\r\n
',{XML:nH}=Ce,sH=nH.render(iH,{title:"烧录速度",message:"要选择烧录速度,请更改“Burn Speed”,此值将用于向设备烧录代码。如果在用较高的烧录速度时出现问题,请尝试减小此值,这可能是由于外部串行到USB芯片的限制。"}),{XML:_H}=Ce,oH=_H.render(iH,{title:"燒錄速度",message:"要選擇燒錄速度,請更改“Burn Speed”,此值將用於向設備燒錄程式碼。如果在用較高的燒錄速度時出現問題,請嘗試减小此值,這可能是由於外部串列到USB晶片的限制。"}),{XML:pH}=Ce,aH=pH.render(iH,{title:"Burn Speed",message:"To select the flashing speed, change the Burn Speed. This value will be used for flashing the code to the device. If you have issues while flashing the device at high speed, try to decrease this value. This could be due to the external serial-to-USB chip limitations."}),uH=new ge.Generator("Python");uH.INDENT=" ",uH.addReservedWords("False,None,True,and,as,assert,break,class,continue,def,del,elif,else,except,exec,finally,for,from,global,if,import,in,is,lambda,nonlocal,not,or,pass,print,raise,return,try,while,with,yield,NotImplemented,Ellipsis,__debug__,quit,exit,copyright,license,credits,ArithmeticError,AssertionError,AttributeError,BaseException,BlockingIOError,BrokenPipeError,BufferError,BytesWarning,ChildProcessError,ConnectionAbortedError,ConnectionError,ConnectionRefusedError,ConnectionResetError,DeprecationWarning,EOFError,Ellipsis,EnvironmentError,Exception,FileExistsError,FileNotFoundError,FloatingPointError,FutureWarning,GeneratorExit,IOError,ImportError,ImportWarning,IndentationError,IndexError,InterruptedError,IsADirectoryError,KeyError,KeyboardInterrupt,LookupError,MemoryError,ModuleNotFoundError,NameError,NotADirectoryError,NotImplemented,NotImplementedError,OSError,OverflowError,PendingDeprecationWarning,PermissionError,ProcessLookupError,RecursionError,ReferenceError,ResourceWarning,RuntimeError,RuntimeWarning,StandardError,StopAsyncIteration,StopIteration,SyntaxError,SyntaxWarning,SystemError,SystemExit,TabError,TimeoutError,TypeError,UnboundLocalError,UnicodeDecodeError,UnicodeEncodeError,UnicodeError,UnicodeTranslateError,UnicodeWarning,UserWarning,ValueError,Warning,ZeroDivisionError,_,__build_class__,__debug__,__doc__,__import__,__loader__,__name__,__package__,__spec__,abs,all,any,apply,ascii,basestring,bin,bool,buffer,bytearray,bytes,callable,chr,classmethod,cmp,coerce,compile,complex,copyright,credits,delattr,dict,dir,divmod,enumerate,eval,exec,execfile,exit,file,filter,float,format,frozenset,getattr,globals,hasattr,hash,help,hex,id,input,int,intern,isinstance,issubclass,iter,len,license,list,locals,long,map,max,memoryview,min,next,object,oct,open,ord,pow,print,property,quit,range,raw_input,reduce,reload,repr,reversed,round,set,setattr,slice,sorted,staticmethod,str,sum,super,tuple,type,unichr,unicode,vars,xrange,zip"),uH.ORDER_ATOMIC=0,uH.ORDER_COLLECTION=1,uH.ORDER_STRING_CONVERSION=1,uH.ORDER_UNARY_POSTFIX=1,uH.ORDER_UNARY_PREFIX=2,uH.ORDER_MEMBER=2.1,uH.ORDER_FUNCTION_CALL=2.2,uH.ORDER_EXPONENTIATION=3,uH.ORDER_UNARY_SIGN=4,uH.ORDER_BITWISE_NOT=4,uH.ORDER_MULTIPLICATIVE=5,uH.ORDER_ADDITIVE=6,uH.ORDER_BITWISE_SHIFT=7,uH.ORDER_BITWISE_AND=8,uH.ORDER_BITWISE_XOR=9,uH.ORDER_BITWISE_OR=10,uH.ORDER_RELATIONAL=11,uH.ORDER_EQUALITY=11,uH.ORDER_LOGICAL_NOT=12,uH.ORDER_LOGICAL_AND=13,uH.ORDER_LOGICAL_OR=14,uH.ORDER_ASSIGNMENT=14,uH.ORDER_CONDITIONAL=15,uH.ORDER_LAMBDA=16,uH.ORDER_NONE=99,uH.ORDER_OVERRIDES=[[uH.ORDER_FUNCTION_CALL,uH.ORDER_MEMBER],[uH.ORDER_FUNCTION_CALL,uH.ORDER_FUNCTION_CALL],[uH.ORDER_MEMBER,uH.ORDER_MEMBER],[uH.ORDER_MEMBER,uH.ORDER_FUNCTION_CALL]],uH.init=function(){uH.PASS=this.INDENT+"pass\n",uH.definitions_=Object.create(null),uH.functionNames_=Object.create(null),uH.setups_=Object.create(null),uH.loops_=Object.create(null),uH.codeEnd_=Object.create(null),uH.variableDB_?uH.variableDB_.reset():uH.variableDB_=new Ne(uH.RESERVED_WORDS_)},uH.finish=function(e){""!==e&&(e=(e=e.replace(/\n/g,"\n")).replace(/\n\s+$/,"\n"));var t=[],i=[],n=[];for(var s in this.definitions_){var _=this.definitions_[s];0===s.indexOf("import")?t.push(_):0===s.indexOf("var_declare")?i.push(_):n.push(_)}t.length&&t.push("\n"),i.length&&i.push("\n"),n.length&&n.push("\n");var o=[];for(var s in uH.functions_)o.push(uH.functions_[s]);o.length&&o.push("\n");var p=[];for(var s in uH.setups_)p.push(uH.setups_[s]);p.length&&p.push("\n");var a=[];for(var s in uH.loops_)a.push(uH.loops_[s]);var u=[];for(var s in uH.codeEnd_)u.push(uH.codeEnd_[s]);0!==u.length&&u.push("\n");let r="";return r=a.length>0?t.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+e+"while True:\n"+a.join("")+u.join("\n"):t.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+e+u.join("\n"),r},uH.scrubNakedValue=function(e){return e+"\n"},uH.quote_=function(e){var t="'";return-1!==(e=e.replace(/\\/g,"\\\\").replace(/\n/g,"\\\n")).indexOf("'")&&(-1===e.indexOf('"')?t='"':e=e.replace(/'/g,"\\'")),t+e+t},uH.multiline_quote_=function(e){return"'''"+(e=e.replace(/'''/g,"\\'\\'\\'"))+"'''"},uH.scrub_=function(e,t,i){var n="";if(!e.outputConnection||!e.outputConnection.targetConnection){(_=e.getCommentText())&&(_=ge.utils.string.wrap(_,uH.COMMENT_WRAP-3),n+=uH.prefixLines(_+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const rH={};rH["元控青春"]={description:"MicroPython[ESP32C3 MixGo CE]",digital_pin:Ce.Profile.generate(["0-18","21","33-48"]),input_pin:Ce.Profile.generate(["0-18","21","33-48"]),output_pin:Ce.Profile.generate(["0-18","21","33-48"]),pwm_input:Ce.Profile.generate(["0-18","21","33-48"],"pwm","pwm"),analog_input:Ce.Profile.generate(["1-18"],"adc","adc"),pwm_output:Ce.Profile.generate(["0-18","21","33-48"],"pwm","pwm"),analog_output:Ce.Profile.generate(["1-18"],"adc","adc"),espnow_channel:Ce.Profile.generate(["1-13"]),haskylens_model:Ce.Profile.generate(["0-4"]),digital:Ce.Profile.generate(["0-18","21","33-48"],"pin","pin"),pwm_pin:Ce.Profile.generate(["0-18","21","33-48"]),pwm:Ce.Profile.generate(["0-18","21","33-48"],"pwm","pwm"),analog_pin:Ce.Profile.generate(["1-18"]),analog:Ce.Profile.generate(["1-18"],"adc","adc"),touch:Ce.Profile.generate(["1-14"],"tc","tc"),touch_pin:Ce.Profile.generate(["1-14"]),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:Ce.Profile.generate(["0-4"]),exlcdh:Ce.Profile.generate(["0-15"]),exlcdv:Ce.Profile.generate(["0-7"]),brightness:Ce.Profile.generate(["0-9"]),tts_voice:Ce.Profile.generate(["0-16"]),tts_builtin_music:Ce.Profile.generate(["0-47"]),tts_bgmusic:Ce.Profile.generate(["0-15"]),builtinimg:[["Heart","expression_picture.Heart"],["Angry","expression_picture.Angry"],["Bored","expression_picture.Bored"],["Confused","expression_picture.Confused"],["Happy","expression_picture.Happy"],["Paper","expression_picture.Paper"],["Rock","expression_picture.Rock"],["Sad","expression_picture.Sad"],["Scissors","expression_picture.Scissors"],["Silly","expression_picture.Silly"],["Sleep","expression_picture.Sleep"],["Small_heart","expression_picture.Small_heart"],["Small_paper","expression_picture.Small_paper"],["Small_rock","expression_picture.Small_rock"],["Small_scissors","expression_picture.Small_scissors"],["Smile","expression_picture.Smile"],["Surprise","expression_picture.Surprise"],["Wonderful","expression_picture.Wonderful"],["Eyes_Angry","eye_picture.Eyes_Angry"],["Awake","eye_picture.Awake"],["Black_eye","eye_picture.Black_eye"],["Bottom_left","eye_picture.Bottom_left"],["Bottom_right","eye_picture.Bottom_right"],["Crazy_1","eye_picture.Crazy_1"],["Crazy_2","eye_picture.Crazy_2"],["Disappointed","eye_picture.Disappointed"],["Dizzy","eye_picture.Dizzy"],["Down","eye_picture.Down"],["Evil","eye_picture.Evil"],["Hurt","eye_picture.Hurt"],["Knocked_out","eye_picture.Knocked_out"],["Love","eye_picture.Love"],["Middle_left","eye_picture.Middle_left"],["Middle_right","eye_picture.Middle_right"],["Neutral","eye_picture.Neutral"],["Nuclear","eye_picture.Nuclear"],["Pinch_left","eye_picture.Pinch_left"],["Pinch_middle","eye_picture.Pinch_middle"],["Pinch_right","eye_picture.Pinch_right"],["Tear","eye_picture.Tear"],["Tired_left","eye_picture.Tired_left"],["Tired_middle","eye_picture.Tired_middle"],["Tired_right","eye_picture.Tired_right"],["Toxic","eye_picture.Toxic"],["Up","eye_picture.Up"],["Winking","eye_picture.Winking"],["Accept","informatio_picture.Accept"],["Backward","informatio_picture.Backward"],["Decline","informatio_picture.Decline"],["Forward","informatio_picture.Forward"],["Left","informatio_picture.Left"],["No_go","informatio_picture.No_go"],["Question_mark","informatio_picture.Question_mark"],["Right","informatio_picture.Right"],["Stop_1","informatio_picture.Stop_1"],["Stop_2","informatio_picture.Stop_2"],["Thumbs_down","informatio_picture.Thumbs_down"],["Thumbs_up","informatio_picture.Thumbs_up"],["Warning","informatio_picture.Warning"],["Bomb","object_picture.Bomb"],["Boom","object_picture.Boom"],["DOOR_CLOSE","object_picture.DOOR_CLOSE"],["DOOR_OPEN","object_picture.DOOR_OPEN"],["DOOR_OPENING","object_picture.DOOR_OPENING"],["Fire","object_picture.Fire"],["Flowers","object_picture.Flowers"],["Forest","object_picture.Forest"],["Lightning","object_picture.Lightning"],["Light_off","object_picture.Light_off"],["Light_on","object_picture.Light_on"],["Night","object_picture.Night"],["Pirate","object_picture.Pirate"],["Snow","object_picture.Snow"],["Target","object_picture.Target"],["Bar_0","progres_picture.Bar_0"],["Bar_1","progres_picture.Bar_1"],["Bar_2","progres_picture.Bar_2"],["Bar_3","progres_picture.Bar_3"],["Bar_4","progres_picture.Bar_4"],["Dial_0","progres_picture.Dial_0"],["Dial_1","progres_picture.Dial_1"],["Dial_2","progres_picture.Dial_2"],["Dial_3","progres_picture.Dial_3"],["Dial_4","progres_picture.Dial_4"],["Dots_0","progres_picture.Dots_0"],["Dots_1","progres_picture.Dots_1"],["Dots_2","progres_picture.Dots_2"],["Dots_3","progres_picture.Dots_3"],["Hourglass_0","progres_picture.Hourglass_0"],["Hourglass_1","progres_picture.Hourglass_1"],["Hourglass_2","progres_picture.Hourglass_2"],["Timer_0","progres_picture.Timer_0"],["Timer_1","progres_picture.Timer_1"],["Timer_2","progres_picture.Timer_2"],["Timer_3","progres_picture.Timer_3"],["Timer_4","progres_picture.Timer_4"],["Water_level_0","progres_picture.Water_level_0"],["Water_level_1","progres_picture.Water_level_1"],["Water_level_2","progres_picture.Water_level_2"],["Water_level_3","progres_picture.Water_level_3"],["YES","informatio_picture.YES"],["NO","informatio_picture.NO"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM","spk_midi.DADADADUM"],["ENTERTAINER","spk_midi.ENTERTAINER"],["PRELUDE","spk_midi.PRELUDE"],["ODE","spk_midi.ODE"],["NYAN","spk_midi.NYAN"],["RINGTONE","spk_midi.RINGTONE"],["FUNK","spk_midi.FUNK"],["BLUES","spk_midi.BLUES"],["BIRTHDAY","spk_midi.BIRTHDAY"],["WEDDING","spk_midi.WEDDING"],["FUNERAL","spk_midi.FUNERAL"],["PUNCHLINE","spk_midi.PUNCHLINE"],["PYTHON","spk_midi.PYTHON"],["BADDY","spk_midi.BADDY"],["CHASE","spk_midi.CHASE"],["BA_DING","spk_midi.BA_DING"],["WAWAWAWAA","spk_midi.WAWAWAWAA"],["JUMP_UP","spk_midi.JUMP_UP"],["JUMP_DOWN","spk_midi.JUMP_DOWN"],["POWER_UP","spk_midi.POWER_UP"],["POWER_DOWN","spk_midi.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]},rH["元控自强"]={description:"MicroPython[ESP32C3 MixGo CE]",digital_pin:Ce.Profile.generate(["0-18","21","33-48"]),input_pin:Ce.Profile.generate(["0-18","21","33-48"]),output_pin:Ce.Profile.generate(["0-18","21","33-48"]),pwm_input:Ce.Profile.generate(["0-18","21","33-48"],"pwm","pwm"),analog_input:Ce.Profile.generate(["1-18"],"adc","adc"),pwm_output:Ce.Profile.generate(["0-18","21","33-48"],"pwm","pwm"),analog_output:Ce.Profile.generate(["1-18"],"adc","adc"),espnow_channel:Ce.Profile.generate(["1-13"]),haskylens_model:Ce.Profile.generate(["0-4"]),digital:Ce.Profile.generate(["0-18","21","33-48"],"pin","pin"),pwm_pin:Ce.Profile.generate(["0-18","21","33-48"]),pwm:Ce.Profile.generate(["0-18","21","33-48"],"pwm","pwm"),analog_pin:Ce.Profile.generate(["1-20"]),analog:Ce.Profile.generate(["1-18"],"adc","adc"),touch:Ce.Profile.generate(["1-14"],"tc","tc"),touch_pin:Ce.Profile.generate(["1-14"]),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:Ce.Profile.generate(["0-4"]),exlcdh:Ce.Profile.generate(["0-15"]),exlcdv:Ce.Profile.generate(["0-7"]),brightness:Ce.Profile.generate(["0-9"]),tts_voice:Ce.Profile.generate(["0-16"]),tts_builtin_music:Ce.Profile.generate(["0-47"]),tts_bgmusic:Ce.Profile.generate(["0-15"]),builtinimg:rH["元控青春"].builtinimg,builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]},rH["ESP32S2 Generic"]={description:"MicroPython[ESP32C3 MixGo CC]",digital_pin:Ce.Profile.generate(["0-18","21","33-48"]),input_pin:Ce.Profile.generate(["0-18","21","33-48"]),output_pin:Ce.Profile.generate(["0-18","21","33-48"]),pwm_input:Ce.Profile.generate(["0-18","21","33-48"],"pwm","pwm"),analog_input:Ce.Profile.generate(["1-18"],"adc","adc"),pwm_output:Ce.Profile.generate(["0-18","21","33-48"],"pwm","pwm"),analog_output:Ce.Profile.generate(["1-18"],"adc","adc"),espnow_channel:Ce.Profile.generate(["1-13"]),haskylens_model:Ce.Profile.generate(["0-4"]),digital:Ce.Profile.generate(["0-18","21","33-48"],"pin","pin"),pwm_pin:Ce.Profile.generate(["0-18","21","33-48"]),pwm:Ce.Profile.generate(["0-18","21","33-48"],"pwm","pwm"),analog_pin:Ce.Profile.generate(["1-18"]),analog:Ce.Profile.generate(["1-18"],"adc","adc"),touch:Ce.Profile.generate(["1-14"],"tc","tc"),touch_pin:Ce.Profile.generate(["1-14"]),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:Ce.Profile.generate(["0-4"]),exlcdh:Ce.Profile.generate(["0-15"]),exlcdv:Ce.Profile.generate(["0-7"]),brightness:Ce.Profile.generate(["0-9"]),tts_voice:Ce.Profile.generate(["0-16"]),tts_builtin_music:Ce.Profile.generate(["0-47"]),tts_bgmusic:Ce.Profile.generate(["0-15"]),builtinimg:rH["元控青春"].builtinimg,builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM",".DADADADUM"],["ENTERTAINER",".ENTERTAINER"],["PRELUDE",".PRELUDE"],["ODE",".ODE"],["NYAN",".NYAN"],["RINGTONE",".RINGTONE"],["FUNK",".FUNK"],["BLUES",".BLUES"],["BIRTHDAY",".BIRTHDAY"],["WEDDING",".WEDDING"],["FUNERAL",".FUNERAL"],["PUNCHLINE",".PUNCHLINE"],["PYTHON",".PYTHON"],["BADDY",".BADDY"],["CHASE",".CHASE"],["BA_DING",".BA_DING"],["WAWAWAWAA",".WAWAWAWAA"],["JUMP_UP",".JUMP_UP"],["JUMP_DOWN",".JUMP_DOWN"],["POWER_UP",".POWER_UP"],["POWER_DOWN",".POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]};const lH=rH,dH=20,IH={init:function(){this.setColour(dH),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_HIGH,"HIGH"],[ge.Msg.MIXLY_LOW,"LOW"]]),"BOOL"),this.setOutput(!0,Boolean),this.setTooltip(ge.Msg.MIXLY_ESP32_INOUT_HIGHLOW_TOOLTIP)}},TH={init:function(){this.setColour(dH),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_Digital_PINMODEOUT).setCheck(Number),this.appendValueInput("STAT").appendField(ge.Msg.MIXLY_STAT).setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_INOUT_DIGITAL_WRITE_TOOLTIP)}},MH={init:function(){this.setColour(dH),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(ge.Msg.MIXLY_Digital_PINMODEIN).setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_MACHINE_VALUE),this.setInputsInline(!0),this.setOutput(!0,[Boolean,Number]),this.setTooltip(ge.Msg.MIXLY_ESP32_INOUT_DIGITAL_READ_TOOLTIP)}},hH={init:function(){this.setColour(dH),this.appendValueInput("PIN",Number).appendField("DAC"+ge.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendValueInput("NUM",Number).appendField(ge.Msg.MIXLY_VALUE2).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ge.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_TOOLTIP)}},mH={init:function(){this.setColour(dH),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_JS_PERIOD_MIL).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_mSecond,"period"],[ge.Msg.MIXLY_uSecond,"period_microseconds"]]),"key"),this.appendValueInput("NUM",Number).appendField(ge.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ge.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_SET_TOOLTIP)}},EH={init:function(){this.setColour(dH),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_Analog_PINMODEIN).setCheck(Number),this.appendDummyInput("").appendField(ge.Msg.MIXLY_ESP32_REF_VOLTAGE+ge.Msg.MIXLY_STAT).appendField(new ge.FieldDropdown([["3.3V","machine.ADC.ATTN_11DB"],["2.2V","machine.ADC.ATTN_6DB"],["1.5V","machine.ADC.ATTN_2_5DB"],["1.2V","machine.ADC.ATTN_0DB"]]),"atten"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ge.Msg.MIXLY_ESP32_INOUT_ANALOG_ATTEN_TOOLTIP)}},OH={init:function(){this.setColour(dH),this.appendValueInput("pin").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(ge.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_MACHINE_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_INOUT_PIN_PRESSED_TOOLTIP)}},RH={init:function(){this.setColour(20),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_ATTACHINTERRUPT_PIN).setCheck(Number),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MODE).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[ge.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[ge.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(ge.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_INOUT_PIN_ATTACHINTERRUPT_TOOLTIP)}},cH={init:function(){this.setColour(20),this.appendDummyInput().appendField(ge.Msg.MIXLY_SETUP).appendField(new ge.FieldTextInput("pin#"),"PIN_OBJ"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROPYTHON_AS).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_Digital_PINMODEOUT,"machine.Pin.OUT"],[ge.Msg.MIXLY_Digital_PINMODEIN,"machine.Pin.IN"],[ge.Msg.MIXLY_PINMODEPULLUP,"machine.Pin.IN, machine.Pin.PULL_UP"],[ge.Msg.MIXLY_PINMODEPULLDOWN,"machine.Pin.IN, machine.Pin.PULL_DOWN"]]),"MODE"),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_INOUT_DIGITAL_INIT_TOOLTIP)},getVars:function(){return["pin#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(e,t){ge.Names.equals(e,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(t,"PIN_OBJ")}},gH={init:function(){this.setColour(dH),this.appendDummyInput("").appendField(ge.Msg.MIXLY_SETUP).appendField(new ge.FieldTextInput("dac#"),"PIN_OBJ").appendField(ge.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField("DAC"+ge.Msg.MIXLY_Analog_PINMODEOUT),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ge.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_INIT_TOOLTIP)},getVars:function(){return["dac#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(e,t){ge.Names.equals(e,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(t,"PIN_OBJ")}},CH={init:function(){this.setColour(dH),this.appendDummyInput("").appendField(ge.Msg.MIXLY_SETUP).appendField(new ge.FieldTextInput("tc#"),"PIN_OBJ").appendField(ge.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField(ge.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ge.Msg.MIXLY_ESP32_INOUT_PIN_PRESSED_INIT_TOOLTIP)},getVars:function(){return["tc#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(e,t){ge.Names.equals(e,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(t,"PIN_OBJ")}},SH={init:function(){this.setColour(dH),this.appendValueInput("PIN",Number).appendField("PWM"+ge.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendValueInput("NUM",Number).appendField(ge.Msg.MIXLY_FREQUENCY+ge.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ge.Msg.MIXLY_ESP32_INOUT_PWM_ANALOG_WRITE_SET_FREQ_TOOLTIP)}},AH=cH,LH=CH,NH=OH,DH=RH,fH=230,FH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.digital),"PIN"),this.setOutput(!0)}},PH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.digital_pin),"PIN"),this.setOutput(!0,Number)}},YH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.input_pin),"PIN"),this.setOutput(!0,Number)}},vH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.output_pin),"PIN"),this.setOutput(!0,Number)}},XH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.espnow_channel),"PIN"),this.setOutput(!0,Number)}},yH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.haskylens_model),"PIN"),this.setOutput(!0,Number)}},xH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.pwm_input),"PIN"),this.setOutput(!0)}},bH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.analog_input),"PIN"),this.setOutput(!0)}},VH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.pwm_output),"PIN"),this.setOutput(!0)}},BH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.analog_output),"PIN"),this.setOutput(!0)}},GH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.i2c_A_pin),"PIN"),this.setOutput(!0,Number)}},UH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.i2c_B_pin),"PIN"),this.setOutput(!0,Number)}},wH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.spi_A_pin),"PIN"),this.setOutput(!0,Number)}},HH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.spi_B_pin),"PIN"),this.setOutput(!0,Number)}},kH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.spi_C_pin),"PIN"),this.setOutput(!0,Number)}},WH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.spi_D_pin),"PIN"),this.setOutput(!0,Number)}},KH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.analog),"PIN"),this.setOutput(!0)}},JH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.analog_pin),"PIN"),this.setOutput(!0,Number)}},QH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.dac),"PIN"),this.setOutput(!0)}},zH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.dac_pin),"PIN"),this.setOutput(!0,Number)}},qH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.button),"PIN"),this.setOutput(!0,Number)}},jH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.buttonB),"PIN"),this.setOutput(!0,Number)}},$H={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.pwm),"PIN"),this.setOutput(!0)}},ZH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.pwm_pin),"PIN"),this.setOutput(!0,Number)}},ek={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.touch_pin),"PIN"),this.setOutput(!0,Number)}},tk={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.touch),"PIN"),this.setOutput(!0)}},ik={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.serial_pin),"PIN"),this.setOutput(!0,Number)}},nk={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.builtinimg),"PIN"),this.setOutput(!0,"esp32_image")}},sk={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.builtinimg_extern),"PIN"),this.setOutput(!0,"esp32_image")}},_k={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.imglist),"PIN"),this.setOutput(!0)}},ok={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.playlist),"PIN"),this.setOutput(!0)}},pk={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.playlist_extern),"PIN"),this.setOutput(!0)}},ak={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.exlcdh),"PIN"),this.setOutput(!0,Number)}},uk={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.exlcdv),"PIN"),this.setOutput(!0,Number)}},rk={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.axis),"PIN"),this.setOutput(!0,Number)}},lk={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.brightness),"PIN"),this.setOutput(!0,Number)}},dk={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.tts_voice),"PIN"),this.setOutput(!0,Number)}},Ik={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.tts_builtin_music),"PIN"),this.setOutput(!0,Number)}},Tk={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.tts_bgmusic),"PIN"),this.setOutput(!0,Number)}},Mk={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.tone_notes),"PIN"),this.setOutput(!0,Number)}},hk={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.radio_power),"PIN"),this.setOutput(!0,Number)}},mk={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.radio_datarate),"PIN"),this.setOutput(!0,Number)}},Ek={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.one_more),"PIN"),this.setOutput(!0)}},Ok={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.digital_dot),"PIN"),this.setOutput(!0,Number)}},Rk={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new ge.FieldDropdown([["0","0"],["1","1"],["2","2"],["3","3"]]),"PIN"),this.setOutput(!0,Number)}},ck={init:function(){if("mixgo_me"==Ce.Boards.getSelectedBoardKey().split(":")[2])var e="ME G1";this.setColour(40),this.appendDummyInput().appendField(e).appendField("RFID"+ge.Msg.MIXLY_RFID_READ_CARD),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RFID_READ_CARD_UID),this.setOutput(!0,Number),this.setInputsInline(!0)}},gk={init:function(){if("mixgo_me"==Ce.Boards.getSelectedBoardKey().split(":")[2])var e="ME G1";this.setColour(40),this.appendDummyInput().appendField(e).appendField("RFID"+ge.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SECTOR").appendField(ge.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL),this.setOutput(!0,Number),this.setInputsInline(!0)}},Ck={init:function(){if("mixgo_me"==Ce.Boards.getSelectedBoardKey().split(":")[2])var e="ME G1";this.setColour(40),this.appendDummyInput().appendField(e).appendField(ge.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SECTOR").appendField(ge.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(ge.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Sk={init:function(){if("mixgo_me"==Ce.Boards.getSelectedBoardKey().split(":")[2])var e="ME G1";this.setColour(40),this.appendDummyInput().appendField(e).appendField(ge.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SECTOR").appendField(ge.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(ge.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(ge.Msg.RETURN_SUCCESS_OR_NOT),this.setInputsInline(!0),this.setOutput(!0)}},Ak={init:function(){if("mixgo_me"==Ce.Boards.getSelectedBoardKey().split(":")[2])var e="ME G1";this.setColour(40),this.appendDummyInput().appendField(e).appendField("RFID"),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_RFID_SCAN_OK,"True"],[ge.Msg.MIXLY_RFID_SCAN_NOTAGERR,"None"],[ge.Msg.MIXLY_RFID_SCAN_ERROR,"False"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Lk=function(e,t){return["HIGH"==this.getFieldValue("BOOL")?"1":"0",t.ORDER_ATOMIC]},Nk=function(e,t){t.definitions_.import_machine="import machine";var i="";return i+=t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+".value("+t.valueToCode(this,"STAT",t.ORDER_ATOMIC)+")\n"},Dk=function(e,t){t.definitions_.import_machine="import machine";return[t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+".value()",t.ORDER_ATOMIC]},fk=function(e,t){return t.definitions_.import_machine="import machine",t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+".write("+t.valueToCode(this,"NUM",t.ORDER_ATOMIC)+")\n"},Fk=function(e,t){t.definitions_.import_machine="import machine";var i=t.valueToCode(this,"PIN",t.ORDER_ATOMIC),n=t.valueToCode(this,"NUM",t.ORDER_ATOMIC);return i+".set_analog_"+this.getFieldValue("key")+"("+n+")\n"},Pk=function(e,t){return t.definitions_.import_machine="import machine",[t.valueToCode(this,"pin",t.ORDER_ATOMIC)+".read()",t.ORDER_ATOMIC]},Yk=function(e,t){t.definitions_.import_machine="import machine";var i=t.valueToCode(this,"PIN",t.ORDER_ATOMIC),n=this.getFieldValue("mode");return"machine.Pin("+i+").irq(handler = "+t.valueToCode(this,"DO",t.ORDER_ATOMIC)+", trigger = "+n+")\n"},vk=function(e,t){t.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"pin#",n=t.valueToCode(this,"PIN",t.ORDER_ATOMIC),s=this.getFieldValue("MODE");return("pin#"==i?"pin"+n:t.variableDB_.getName(i,ge.Variables.NAME_TYPE))+" = machine.Pin("+n+", "+s+")\n"},Xk=function(e,t){t.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"dac#",n=t.valueToCode(this,"PIN",t.ORDER_ATOMIC);return("dac#"==i?"dac"+n:t.variableDB_.getName(i,ge.Variables.NAME_TYPE))+" = machine.DAC(machine.Pin("+n+"))\n"},yk=function(e,t){return t.definitions_.import_machine="import machine",t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+".atten("+this.getFieldValue("atten")+")\n"},xk=function(e,t){t.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"tc#",n=t.valueToCode(this,"PIN",t.ORDER_ATOMIC);return("tc#"==i?"tc"+n:t.variableDB_.getName(i,ge.Variables.NAME_TYPE))+" = machine.TouchPad(machine.Pin("+n+"))\n"},bk=function(e,t){return[this.getFieldValue("PIN"),t.ORDER_ATOMIC]},Vk=bk,Bk=bk,Gk=bk,Uk=bk,wk=bk,Hk=bk,kk=bk,Wk=bk,Kk=bk,Jk=bk,Qk=bk,zk=bk,qk=bk,jk=bk,$k=bk,Zk=bk,eW=bk,tW=bk,iW=bk,nW=bk,sW=bk,_W=bk,oW=bk,pW=bk,aW=bk,uW=bk,rW=bk,lW=bk,dW=bk,IW=bk,TW=bk,MW=bk,hW=bk,mW=bk,EW=bk,OW=bk,RW=bk,cW=bk,gW=bk,CW=bk,SW=bk,AW=bk,LW=bk,NW=bk,DW=function(e,t){const i=this.getFieldValue("PIN").split(".");if(2!==i.length)throw Error("pin value error");return t.definitions_[`import_${i[0]}_${i[1]}`]=`from ${i[0]} import ${i[1]}`,[i[1],t.ORDER_ATOMIC]},fW=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_mini"==i){t.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var n='ext_rfid.read_card(0, x="id")'}else if("mixgo_sant"==i){t.definitions_.import_sant_gx_ext_rfid="from sant_gx import ext_rfid";n='ext_rfid.read_card(0, x="id")'}else{t.definitions_.import_mini_g2="import mini_g2";n='mini_g2.ext_rc522.read_card(0, x="id")'}return[n,t.ORDER_ATOMIC]},FW=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"SECTOR",t.ORDER_ATOMIC);if("mixgo_mini"==i){t.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var s="ext_rfid.read_card("+n+")"}else if("mixgo_sant"==i){t.definitions_.import_sant_gx_ext_rfid="from sant_gx import ext_rfid";s="ext_rfid.read_card("+n+")"}else{t.definitions_.import_mini_g2="import mini_g2";s="mini_g2.ext_rc522.read_card("+n+")"}return[s,t.ORDER_ATOMIC]},PW=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"SECTOR",t.ORDER_ATOMIC),s=t.valueToCode(this,"CONTENT",t.ORDER_ATOMIC);if("mixgo_mini"==i){t.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var _="ext_rfid.write_card("+s+","+n+")\n"}else if("mixgo_sant"==i){t.definitions_.import_sant_gx_ext_rfid="from sant_gx import ext_rfid";_="ext_rfid.write_card("+s+","+n+")\n"}else{t.definitions_.import_mini_g2="import mini_g2";_="mini_g2.ext_rc522.write_card("+s+","+n+")\n"}return _},YW=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"SECTOR",t.ORDER_ATOMIC),s=t.valueToCode(this,"CONTENT",t.ORDER_ATOMIC);if("mixgo_mini"==i){t.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var _="ext_rfid.write_card("+s+","+n+")"}else if("mixgo_sant"==i){t.definitions_.import_sant_gx_ext_rfid="from sant_gx import ext_rfid";_="ext_rfid.write_card("+s+","+n+")"}else{t.definitions_.import_mini_g2="import mini_g2";_="mini_g2.ext_rc522.write_card("+s+","+n+")"}return[_,t.ORDER_ATOMIC]},vW=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2],n=this.getFieldValue("key");if("mixgo_mini"==i){t.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var s="ext_rfid.scan_card()=="+n}else if("mixgo_sant"==i){t.definitions_.import_sant_gx_ext_rfid="from sant_gx import ext_rfid";s="ext_rfid.scan_card()=="+n}else{t.definitions_.import_mini_g2="import mini_g2";s="mini_g2.ext_rc522.scan_card()=="+n}return[s,t.ORDER_ATOMIC]};Object.assign(ge.Variables,Ae),Object.assign(ge.Procedures,Uu),Object.assign(ge.Lang.ZhHans,Ie),Object.assign(ge.Lang.ZhHant,Te),Object.assign(ge.Lang.En,Me),ge.Python=wu,ge.generator=wu,Ce.Profile.default={},Object.assign(Ce.Profile,lH),Object.assign(Ce.Profile.default,lH["元控青春"]),Object.assign(ge.Blocks,t,i,n,s,_,o,p,a,u,r,l,d,I,b,W,k,v,V,K,f,P,H,w,U,B,F,D,N,y,X,x,Y,G,he,me,Ee),Object.assign(ge.Python.forBlock,T,M,h,m,E,O,R,c,g,C,S,A,L,ne,le,re,Z,se,de,z,q,ue,ae,pe,_e,j,Q,J,te,ee,ie,$,oe,Oe,Re,ce)})(); \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/styles/main.6d008c05.css b/boards/default/micropython_esp32s3/styles/main.6d008c05.css new file mode 100644 index 00000000..42908ce0 --- /dev/null +++ b/boards/default/micropython_esp32s3/styles/main.6d008c05.css @@ -0,0 +1,499 @@ +div.blocklyToolboxDiv>div.blocklyToolboxContents>div:nth-child(1)>div.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NTo0NiswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6NDYrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6ZGFjMDQyYmMtODZjZC02MzQwLWExYjItZjA5MTkyOGMzM2Q4PC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOmRhYzA0MmJjLTg2Y2QtNjM0MC1hMWIyLWYwOTE5MjhjMzNkODwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOmRhYzA0MmJjLTg2Y2QtNjM0MC1hMWIyLWYwOTE5MjhjMzNkODwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDpkYWMwNDJiYy04NmNkLTYzNDAtYTFiMi1mMDkxOTI4YzMzZDg8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+z0WRKgAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAADjUlEQVR42sSXT6hVVRTGf9865x4H74U0c1RKEDgJamSTGjUoKgIR1ItOoyzE8ElBIUiFvuebqEnhIKzrn8iKSqiJk6igSQ0LIkdFICj+eUWee/f+Gpx773s+yXevXfFMDpy9z1q//a219tpbtrmbjwYAZ2Y2ra9dPWHpQeEMpAnYD8BAInNM+JfBwJb5kzcCnJ7ZOpOJA4DuwDqR8245zQ/Mb54/dSPAiZlth4VfAr4FfwCsmYDnq8D9oF3C89i7hwocXKbAyZn2UdALNq9LfmsCwQULzBoUf4p8VE47hgocPHUTwDugF232Avsk+uEb068MBrtxZLRO4jxwxOblwbz2wc6tAYbGxoq0yQ66qUUoUxU1ku9V5tK1YnrfX+XU3sJNbu94+8jKAONCdFOLlAuyg6qop6qiXoW4lHPcY6lGXB8qMNsZDQBA4ZGi0UslopkbRZ6P8CspxzOYsyI30Y9mUVtmT46hgEZLB8k4i14usGNDWfa+C4gMbzrrDQwqGnsjK6Doex4jHYxIqSCUicjHQdttvibzlENWeDQAhRuADLbWAVNAb8RqaNn6FfMP0mfAc5g/LB6X/NvW2RMjKLC4Jz4r+HxC2+IVw672XOf9FQF6qSQ5KCKvaxXd3aAe0L2NftAF/u4reMXiq/Zs58cVNiKTckHdqygiUbXqZmebTAtktBD0a1syraI7uT41DsBiFUyqSRoj2nOd0ZJwCJDvAkAoD1Rfa8dO4BqQ+8kUt9GtpoCLhi/bc50fVlYggWwIPUrB90xMA15rz3X2r1gFTXMpkRJV0X1M8jlQaXMI2Cl5NXDfGKVZGV0ELrTnOt1bA2AyQbfXVEEZXZBWh/wN8JDNAeBV4bGKw/3JI+XAQIWcg6qsm58NEX4XeB64rpwfBn4mmqT1CtUyHkA/Y3uppIi02BVlJLYLjueszcBHtpBMRL4h2MO3+oDjACw9kBg1q+sbU2O9rHtVyg5HZMroUUZvuQrTBueIv5Z+3Db74e0fyQahGOyUA+eSFyEHcyPOFyldqOp6gyXo+9t4+Mz/P5QaIbzoeFmtAaSiuL6qrn9fffXqAzliOPzksbOTOpb7v3uEIRfF5aquL08vLKxdCvD0e1/c8YtJDZCj2F/V9U/TCwuP3BLg9J6tM9mTv5pZokjp06quN1qLpjce+njZ5XTPpvV1nujlVP2CbQl/Ivvc0sGbrmZ36/l3AHnYit+0RI/wAAAAAElFTkSuQmCC) no-repeat; + background-size: 100% auto; +} + +div.blocklyToolboxDiv>div.blocklyToolboxContents>div:nth-child(1)>div.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NTo0NiswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6NDYrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6MzJjYjhlY2MtMWMxZS0zZDRjLTkyMDMtNzA2OGE3ZmNiOTBjPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOjMyY2I4ZWNjLTFjMWUtM2Q0Yy05MjAzLTcwNjhhN2ZjYjkwYzwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjMyY2I4ZWNjLTFjMWUtM2Q0Yy05MjAzLTcwNjhhN2ZjYjkwYzwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDozMmNiOGVjYy0xYzFlLTNkNGMtOTIwMy03MDY4YTdmY2I5MGM8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+k4ziZAAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAABsklEQVR42uzXP0hWYRTH8c8rWoOJtDmlL0HgEtRkS00tQSK0OLlGmUhhUJAIUmCDS/8IGsK2hhRJsKUlLGjR0SB0KoKgyELxb2/LEZzu+165770NPnC5w+We833Oc87vnKdUqVQUuUp7ADpxHifwFzsZ2G9AJWw9w6ckgJu4j1KdNjuE8SSAh7iGObxAWwZOf6Md18P5UBLAE1zBHdzLcOdt+Bb2+5MAHuMqRjCaIUAZy3iEgSIAjuJn2BzJE6AZh8N5CzaxkSfAOG7gImZq0YGsAbrwPrTgLobzBthdE+jDG1wIYdoXQDnOdbtGx034jHVMoQdfcQ5LaQG6MZ1RRFZCmJ6nASiHim1jax/9YAtrEcEVzGI+rxyouRseAPzXAB0YxJ8YVpr3DBtp5fkHXuNjGoAz+JDhxm9jLO0RnMVbNOJBRKQVx1KU5qGIwPfdf9LmQCve4WSMb7eKSsKnuBzt9RQWi6iCvmg0vXhZVBk2xsidVA1H4vtqUTqwHEnXVRTABr7geDWAeo3lv+LpqAaQ9cVkM95jWMDpagD1vJpN4lLel9NSPE14FSqaCFDI+jcAivHmwXUc8rwAAAAASUVORK5CYII=) no-repeat; + background-size: 100% auto; +} + +div.blocklyToolboxDiv>div.blocklyToolboxContents>div:nth-child(2)>div.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NToyNyswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6MjcrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6ZWNjMWJmM2QtOTc5ZS1iODRhLWIyY2UtNTVjZWYxOGYwYTFiPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOmVjYzFiZjNkLTk3OWUtYjg0YS1iMmNlLTU1Y2VmMThmMGExYjwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOmVjYzFiZjNkLTk3OWUtYjg0YS1iMmNlLTU1Y2VmMThmMGExYjwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDplY2MxYmYzZC05NzllLWI4NGEtYjJjZS01NWNlZjE4ZjBhMWI8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+hgy+ngAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAEY0lEQVR42rSXT2heZRbGf895b3RErRbcWXRZcKEiZbQwhEGYoS7EfyiYRGvr2DaiqCO0o7PQlaKl4H9rq22t+eIwoDO6sqCIVlAURcSVuBi1gihWrQo6ue95XCQ3fk1i2iT23Vw+vve+53fPfc45z5Vt+tfw+DCykHWlw/8GQECy3fJoRnK0a+ocZGFNxukN9WbsmQsA3WT5YeAtzIOyBiWNJvlyRv7lWAOcI/R+ZGxP5WhGEjWQNUjhtVReb7zraAG661EDXNO75h7Ld2BWAJ93N06+CX0MfGW8mgWs3w0A+Fjoa8z58wWccc/CAIaeHTonHO9HxvaqOuowpRZk/SlL7sdskLVzvuBLBUDWzYiHgDcwdwpdInS78cs16rwiLLUsDWB4fBiAyLgK8S93SoInMJvapv1NsZVaAMhIfr1tkQClFhxebvkgZiNmB4Ja6oycAwGlLUQGGbk0gJHxkf6fy4GDSt0APDlXyruApR5LAGsyAzPSXkudFt2xBrges2uuJ+8OP1YApwDfGv/D8n39gutX+lwAGISWDHAy4pBSz5eJcgWCtmln1fpMAMvnAduEVhq/oNQWy4fQYgDgEEBpy0pZH9VSuyCzSjEysLwZcR/wA/ApcBZg47NlfTg2PLYggGXAJ8CpGflFacsfMZ9lmQ0wNSsukPWm5a1Kbe4r0y+AxvjM3lDvx4WK8GvM7Yg1wF8xr1t+DvE90Ey5BYADsrbJOllVK7qeoRRCqxx+J5W3jV89/sBi+sBIKnuS7gbuOsLw+49Sl3cZmrouFzoIbB0bGtu8GICNlnd0Bwr9ATgRyD4hfmP54ci4SamTMvJHIVSF0LW1qU9HjcueGXnmv4sCgMlGlJHT5XXYQSmUWpYlv0N8aXy+rP/JGnZ4TNYLzURz6e7rdi+uEyq1wzKdJ+yHsMzA/wdo2oa2aVdOHDfxtqxlff+/1Ew0F5Va2LVu16IAbsA82TUUh2d5gA4gI/np+J8UxMXGK8OxD/NBqYVSC0+tf2rhAJgNwM4ZNXfYihpdH5ieEdOeEIEnJ+yetXuObhz3hclwbLW9WQg0pWzPdkKdgS1ZqE09Ttbxxt/3t+7xq8eP7IhmNJf3lDotMs44LP2e1YUwk08ttNPy3361DB4Cnl2QIelbFyNebNpmve3ddaBOptZzG1GhV4ALMY9Y3o+4VWg15tZUPnjEDKzdu3aW48kmn8jIDUrdY/mf3TudY21EbFdqENjfdcLi8mhG3ohZNTY89u68AOt3r581ZNqmpR1otwF/nxLWJ8B3wEDf1p+Bc433AWu6ipnafzrBgahx796RvXfOC7Buzzrmcj4TAxPIWhGOLZYHgROA2qnB+Gehc4F9xmuEpjUBnI44YHx/b6i3ZdEAkYEsfusDVdYmxOORMWi8v5ZKZBCOxzJy1HhVb6j37lIyMF3rc/kBWTj8KvBnzOOWXwNuIVgdbdzStM1DR2zFSwWYmhWPAaPT/lE5EjV6A+0AMwF+GQAExkzuzV8QpQAAAABJRU5ErkJggg==) no-repeat; + background-size: 100% auto; +} + +div.blocklyToolboxDiv>div.blocklyToolboxContents>div:nth-child(2)>div.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NToyOCswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6MjgrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6NjNhZjVmMWQtMDY5NS04YzRhLWIwNjEtMDI2NGNmY2FmNDY1PC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOjYzYWY1ZjFkLTA2OTUtOGM0YS1iMDYxLTAyNjRjZmNhZjQ2NTwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjYzYWY1ZjFkLTA2OTUtOGM0YS1iMDYxLTAyNjRjZmNhZjQ2NTwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDo2M2FmNWYxZC0wNjk1LThjNGEtYjA2MS0wMjY0Y2ZjYWY0NjU8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+2xfycgAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAACNUlEQVR42sTXS4jNYRjH8c8p15hB2RHLKQskuZQmKRqLyS0WyMJlZmg0gzIuC1aElPttRIpIua4o0qCISLKShXGpicbdwoKxef51OnM758ycOb/Vec///3/e7/u+z/t7nzfV1tamEy3G5bT2CazVy0p1AlCLw3iMgyiPzu9gdqEBJuBFByMuRxNW4UwhAXZhK0bjY8azN/iM6cUEaMXUYizBDDxAFRoLnYTrcQgPsQ3zsKmvkjDRElxCKtonUdNX2zDRCHxBNU4pgLIFWIPTxQQo+gz0qvnkAjAM37AFe4oBUIIfuIpFOcSdhP0oww00RJy8AUSw11l0vjlm6xfeYRzaMB6vcgUoRTOGowVT8L6L96fhEfYFSKIW9MNY/M41CVvDBSswB/dxBT8jaGJUH2LaS+IcSddkPMUGHMhnFyzHBezEjm6W4BoWdhInc2by9oFBGIJ/af99jSKmFkMzpnoFzmEBrhfSiErxHZ/iyH6LZTgfu2F+XzhhGZ4ETKJbmNuXZ0EKlQFzGy97asW9WoTkApCKRGuXvVloAAbGds0bAJ5jJMbk0HkjVqe1l+JivgCVuImVOJtF53cxC0eihqyPKro+7hg5AyTlWFVUzNu7eK86itny6DzRUawLR3yWD4Cw2Y3xuzn2e/+0538wMbK+IuPbUWHVu6PIzQtAeHxDjHAw/sZJly3A3vg+b4DuVIPjHSzBsbhj9GgJstU9zAyQJtRFEtbFXUOhAdJHnCg5Tdvp/wCeGOnB7Qz1rwAAAABJRU5ErkJggg==) no-repeat; + background-size: 100% auto; +} + +div.blocklyToolboxDiv>div.blocklyToolboxContents>div:nth-child(3)>div.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NTo1NCswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6NTQrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6N2ZjYzcwODMtMDM1ZC05MjQ2LWJlZjMtN2FkODcxNjg0OTk1PC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOjdmY2M3MDgzLTAzNWQtOTI0Ni1iZWYzLTdhZDg3MTY4NDk5NTwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjdmY2M3MDgzLTAzNWQtOTI0Ni1iZWYzLTdhZDg3MTY4NDk5NTwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDo3ZmNjNzA4My0wMzVkLTkyNDYtYmVmMy03YWQ4NzE2ODQ5OTU8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+RIwIVwAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAHT0lEQVR42rSXe6xcVRXGf2vtfc48+qDlUUpbBCmCaHwQCQUpECQoYBASoRSL+KISIYCgpMYmmKggIRiIqBgMIlpoSjBGlEeNqBHUAkEriSSAPAvl2hTKpffemXPO3mv5x/SW3j4ol8Tz10wye/Zv1vq+b62Rzyy9HQQAxB1nUk+ByHpgbxc5AniMST4yDuAixCbhQSja9a4PiFNXLXJWRLyFyAgQXeQo4GEAH/9FkwUomxp3GKOL+C5q4RCLhKrhToHoZqDlIkdqsEct6zuvQFfGqIbbrLprETkHQsgT73YhpcjJZ9zP3ANfZmy0U4iwGWgZenhdlWvLdkXLK1rUGDo5gCk6Su/1DrevXPKWhz7xqdXMm79OR0emXqFi1wCY6Yqx0c4l3WmjmzreoyMV+f8GcPrqw/afv+6h3khnz217LgLJwiVdGbmxK/XkAcpUI42zob8nIMhOPGGm+0/fY/TZomhitrAOuEXwUeBMEV+QPVB69ZXSmp/Y2xDjDi4orCHOzLgIO/OkqN05NtY9K6fweEY/jIsXoaLVqhCR6+u69dWmicOemn2AZnIAKVE2Db1QUGlEt3OCwL4xMgQQPB3l6MOmSm6UofWzsRyYPXfoP+1uf35K8Wx37pw0QJESWYWqKJAdK/ABEXkcqMV9D9z7EqCqW2xYPwt32Gf2xju6U8fOySksA66dNEBMCQGaItLEAnXb9vPvwXkKwE32A4ZMFBGj2+mRU8Bc/5iaeALChcBN7wgAGYinX7ZwlQmhJO5PAIe5y/WOXO4qqGd6w12Gh2d87IBDnn+g6Rc4cgjw9G4BlixdMddF9nSRWDTNczGl110Gl5oGqlBud4JTRf2eLfa71ZGr3BkJbksQvo+Ci97icL68jckiiy9Yeay4X6jYYjO9zixcIePN93GX+wQCifYN4HvbzwgRsCR/HctTF2YKBNs9wFlL70SxRVHSKkM3mso+yBYHq0Ol0A+D14AbaMuukOjX4gwBJTADGBLxOZbDmpzy0SE28HZy4Kzzf4HgFBrWITIvJbkwar4pFgkRp+q1qPotVA1cCCG/L3TSv0HA5CQX/4PkHEyLaSK+zl2ndlqbr+zq6HdyDrsHOHPpShxQ4eJS7AftTs+f/Md7572ybr/1Zbth1qwh5h/2FL2xLp4F6cgajb7AM6vMw2KRjFpGTbAgn/cgt4oLdRUOMpHnZDdFkEVLV+EIilGE9IwGO2h0c3f1y0/OO3nD0N4cfeLfkaikOhCKfBHBf+gmaM4HqvGCBcgEcB04Rny1kj9uQX/lJmfucqyPA5z3xdu2CE7w6AsthAc73R7/fWn2Deufn3XZkSc+wmvr9oVgs7RlL6t6dGOZZL8WEdycHBVHAUfdDw5iT4tA6utpdSp+p7prMcopp9y7VfFuwpRZmy/tTKtucJQi9K/u9TrLgxiq/NJUzvXEUynHQ3GBYEh0gtkWnwiuoOLfVfPlJjqUcnwXSZqdxSqALFz44NY3Tb9k5twNzD5g47K6X14jAubcbPCbIHKP4OSkx1otDyFODBkvDDdFVPEkWBMAJ7bTsxL83d7w49ToRRJ2AXD8cX9+E6AqmDF3I3vvtwlPuszQa9xlfBCRkR+YyKVRbFBuc7IPNqWggrkjSTAXKH1BgDWo0xAOz01cu7NgkuNP2A5gzkZmzh6mrTV1ah2SmvCoiE8fVEMec+xHitxt8Goww2QAoCK4+puVFo7GZbWoT/NG//bGq9OPMRFku1bIaYvvnrDzhZgJMQ+yoUhTNOQhjKnAJpSZAmzZ3teKs9rFX3AXE5ECfA7wUeAjjkwTfOAwMZLFL3mSn+n2AOdf+tMJcWo54CakHKnq4r6izCdb0nstyydDaZe7y0XgB+1a1gNBC4w6XCXubVO9MriNWsqzMzqybTbIxZfduMN3KE5l5RnD/em/xqCfWgsUe6Rd9km5wBs5NJb1cYjOBw4G9gLGcF505JkQ8z+L0DzQ67cpcsKi/gvlg8nDHXVTLBF/M6Xl0+fetcPer+pomV8qWs3cNFp8e+S17rfKdkN3rzGaVGCVElsVooK7jE9v3AajK5aZllZsrqcOtir1YwX/SwxG9XrrlGqkvF+jbZmG562ceL8JXnJVLPM33XjWTOYrg6arOtkiVguxrHcKAEIoMq1YMzwyleyCulOE/PNQ2ufM9IlQ5/cLDiLIOV+4YzsRpg8RZS0uWCWnpiz3iQIGsZXJEgYV2A1A0IxidGMPdyFr2OON3rShEKzdjBbLe5vaV4s6suizqyYCdPIaVVuQTO82D6dv611RR7JjzVsDxDKhbvSqLmVRgw+yIaVwXizSbe6C92WOur8iS768YmvvRf1rJnpdcENSPiCbvrhVsQ4anJqSXAdiWe0SgAAzusOo5a1qExwNxmv9mb9POZ4ULN9jjd4kZ1+wYnzZgxyP8Kz3ddq9m6d1RpZv+0dTcFyFV9+YiVVhlyIEQaMzpRgh5TgheASnqtvHZPS3jn7dXf70vwEApQr/wTotOzAAAAAASUVORK5CYII=) no-repeat; + background-size: 100% auto; +} + +div.blocklyToolboxDiv>div.blocklyToolboxContents>div:nth-child(3)>div.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NTo1NSswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6NTUrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6NDk0ZTYzYzAtNzIxZC05ZDRlLTgxZjEtMDFkOTJkNGM5NzIzPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOjQ5NGU2M2MwLTcyMWQtOWQ0ZS04MWYxLTAxZDkyZDRjOTcyMzwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjQ5NGU2M2MwLTcyMWQtOWQ0ZS04MWYxLTAxZDkyZDRjOTcyMzwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDo0OTRlNjNjMC03MjFkLTlkNGUtODFmMS0wMWQ5MmQ0Yzk3MjM8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+i21wbAAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAC1ElEQVR42sTWW4hWVRgG4EfzBGqadnK0tDRFpSwSzyMUJGlIXXQSw4S6Scm0EqMgwTNSGJYZgh0oBIOINKuJDlApVogV1EWZUWrNRVFRE2LQdPMKm+Gf2f/v/DO+V9/ea+2137XW977f16O1tVUn0Bs/43xMxqFaF+jRSQJ98Td6YRo+7W4CvfFXiEzB52eTwDX4ojsJ9MRKbMrzK1iG37uDwHh8giEVxpbh6a4kcAmOJvGOYSdacCumZs59eK6rCLyK2/AVrkZxgS1Yjj9xAf6tN4GL0Jy4PdkdwWjcEbJ1JXBldn4Kg3CywpxdWIBV2FxvAlfg28TDCqdRxAe4DkuwvSty4JuoYAsebDN2Pd5PPBbfVUNgeOTUCz/gj5Jv5mFf4hewPna8EE/m/U7cW60KGnNcd+KJmEsZHsHGdsb2Y1atPnA7duPXyKcMK5NgzeiDwYkbcBDTz8SIjmFEFckzAV8nvgHv4RwMzBoD8DjW1krgfmyNsYxIna+Eg3G83bm2IhYnL+Dy5FRNKvg+Hzbhxgrzl+KZxKPwY4U5TZiD12LPNRGYhY8TP4UVhbELcSJq6chkxhTkNx9v1uoDD+TnsAGPJX4Zd8WIxpVsbF2+a8alHdWE9oxoVaHO78AbBe03phSX4Sguw7O5upqdsEjiNLbmhKrB1CSsjrqlMisemz7v3DwfwjbswW8lBKYnIQfiAGaeCYH+uccBabXOy/vW7KgpSvgv/WEDZuDa/LiIe/B8rQTejhzfwk0pPksj1TK0pE70izG14OLUjaoI3ILXC/f5WWFsHGan8RiDofgHP8VLDheqInyJq9IrLKyWwHEMxxqs1jk04qPEc/FOGYH1eDRSGq0+eBF3p5+Y2BGBSQXJzEse1AODktD9YlIb2iNwutjswc3qi0V4KXEDfmlL4KE0JTAySVVvvJsyvg/b2xKYnCPfUagB9cZM7MXD+PD/AQCXWfot1LKNBwAAAABJRU5ErkJggg==) no-repeat; + background-size: 100% auto; +} + +div.blocklyToolboxDiv>div.blocklyToolboxContents>div:nth-child(4)>div.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NTo1MyswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6NTMrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6NDZhNjJiYmQtMzA0Yy1kZjRmLThhYmYtYzY4OGQ4NTljOGQzPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOjQ2YTYyYmJkLTMwNGMtZGY0Zi04YWJmLWM2ODhkODU5YzhkMzwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjQ2YTYyYmJkLTMwNGMtZGY0Zi04YWJmLWM2ODhkODU5YzhkMzwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDo0NmE2MmJiZC0zMDRjLWRmNGYtOGFiZi1jNjg4ZDg1OWM4ZDM8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+RQhtzAAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAFJElEQVR42sSXXYgd5R3Gf887M2fPbuxNICBYyDbGQGyNltrgV6PFJEUQFKTUrlrTIr0RioK5ac2uu9abagNCeyFCQzWbSimlWAptE5OVkoikTYrbRhpoa6EKSqlQm+w58/E+Xsyc3XNOspvVBHyvBmbeeX7v//uVbT7JJdvcPb2PlEBKCmKT0IMBbsZeC5QXqZEifQAcwxwwnMwpKan41dQ3a4C7pn9CSkKb7HuSvg/G8DaQA+EiASKQAZ9WfebnOy6+nVPy8tS3aoB7pl8gU9iTEWZK+IHwHqH8UjqnFufRgPaWxAOFq/t+MfWNGuCr0y+uH1X2VtflsxE/kikgxKUECIiuS4x3jSrbh/XlF6funZNt7p3Z/2xK8p3ClYxJCASF2hHnDZzmSM1rawVhi5K4uCFiMoX/AH+enZzYLtvcN3PgdeAKL/oJ7CW7DQj329R9HGIAt/etqAFMIJEQEeAwsH52cuLKHsA8MGa4st5QESySldwgXgFexZ6hgXBj6qF1i8VhzE7QHDKqAcZnJyc29ABOAGsN4wa6LmiTIrSc+MmArssp78pdvVwDmDYZKUm/676C+C1wHHMn4r3GsHPAFbOTE1cNAAiNL1BQuswuo13CeQwgTgNXBetzXcq/LlAgoE3GCClxacuNiGPAK5jt/bGyLAAwXjoC3Jkq/BpzPfCnPvHXga2YawL6S4eSDgVjtGiRrCi+KgDDeEDIrIvyMWAjZhz4F+IE8HnMtcAbAdGhAER78OQ3IY42Zt86LH5BgIFoF68C24B54BrMF4ATgx5Rv89vRxwCDtZBt7Q+HkD99d+BDZirgTdXqDU9sx/C7OgHjPJwVVwZYAgiQ6zDvLOC+A2I14A/YLYNiBOxBvPpowIMVL3zrNsQR5pud3N/6S2JLJDTVouEpcq6KoChWFgOYFsTJ4dk7Wi6KEJURM6SI2CUFkFLRe1SAfSi/WCwdpZEIpGMFAFdKjoUJIg2GQGtLg3P23iWD7jjsraWRM7QZYSUNhkC8gagLlIt0gbAlwBgB+L3wGHM7SBy1e2mRfKbhHBKZndOxVlyWiQ3jKn148rVRIS/BYWP4YJzTz5Q4dR0Dcs/Mjwc0BMdl9Ml1eZPqX2qpPrvGeebU8J7bbUAX6AONB1RFulS9C6b5xpM8seBJwviDxP0cMSn/+/utQLGNEJCWB3AgnNaJL3u1hP/I+aLw6kWFwcOiJhEejojfcz4/Y6Ltb0hJ1OK8YV7QUFFx3WTSQjbLR8cLq/9qdYLrVgLbVmj1pzQu8abZO0W7K2IIC2bBfPAGmCDEQvuUhFZw8hticIR4yHxWvIseTPr1P0gEG66TCNHC6o3C1dXt8ketbwX81Sk2iPJzchyzkBysmnH6w2UjghColAJ5jFbBhpLUxTcP+9iUoV3Kxw+cGddi4QxWkT8FOK7trYA86oj+yCwcXZy4jOyzcTMgecED5WOiRAJafPjajv4CFD1C/e7YekpYMUtZ9w5HaEzSkqradOGz5r0LVOegUii8G/gn7OTE1+Sbe6f/tnmIJ1acLG7Ij4zqlY9lNYBs+x0PAwTZUpXpCSLbqn3BySRO8dw66iyOcM9+ye//kvZ5mvT+0mkfQlhV0ncJfRT2R/xXuD+inCurQS2dwaF30V8vHS19edTDwxdzZS9IHjA8L96CHGxGLqrkj/3uaFJERsFl4OOdlzcmlNWi1ezu6f3kZCQkZBIdwAPAZuAseZud3GXIugC/wD2Ay91PXQ5/STXhwMAb5UB7iHvD2IAAAAASUVORK5CYII=) no-repeat; + background-size: 100% auto; +} + +div.blocklyToolboxDiv>div.blocklyToolboxContents>div:nth-child(4)>div.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NTo1MyswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6NTMrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6NzBhMDY0MWUtOTVmMy0zYzRkLWFjMjAtNjRiODIzNWUxOWM1PC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOjcwYTA2NDFlLTk1ZjMtM2M0ZC1hYzIwLTY0YjgyMzVlMTljNTwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjcwYTA2NDFlLTk1ZjMtM2M0ZC1hYzIwLTY0YjgyMzVlMTljNTwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDo3MGEwNjQxZS05NWYzLTNjNGQtYWMyMC02NGI4MjM1ZTE5YzU8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+pqPz3gAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAACk0lEQVR42sTXS4jNYRjH8c8Ms2GnlKLGvdzJJYxrBillYUcyC9koUWxcym02bqVYyEIkWVmQcp+ZhOQyMphMuRWKRJFyPzbPv/6dzpzzH2cO7+r9v//3/z7f8zy/5znPW5XL5fzPUVUAYDhWog598LNMGz3xGTdwEq3FADZjV8xf4zuqywT4jRoMiOcjWF0IYCt2YHfMv1fA4+uxPzyxPA1Qixc4gHUVDnsDjmIumhOAA1iLqn+kvfe4j/oE4Bb6p+JU6XE1vD4kAWhDLwzpwiFX0BK6KTZmhMEFaE4BDMTgBOBepNzAjMZbMR5LcKbIvoU4j9tYjHex3hweH9YZQE3kf6Eq1YFhGI1HRYxPi9y/gvq8dyUBFuMsJuFu6sNbmIIxePiXxjMB9I0Dhsbay9gzAePwoIjx6bgebp/SyZ6SAMlowawQ6RhMjL2djXm4jEshOuUCwFMMxki0Z3D7ZcwvIeIuAdRESN4UOXAqbuJaeEx3ApQac9AUv74u4zfdBjArdJLF7d0OkKi9lOAqApAIrliqVQxgPi5GPZ+X9+4cHmNjnkAPYRmelAtQqsIdxBpsw3aMCKAPMX9XDkDWPN+CndgXMB1RPcsKQWL8DiZnCNMebMDHOLcsDdSH0rOqfWwYeBsd9sboA4sCtKF3lNxCRSar8SQ126N0J01oYzS6uc4aktbwQG3qsGr8CrixGdPrbXzXN7XWiE1xRlusXYp/2kEJwGGsQo8C7m8KEBnd34Gveeujouv+Es+v8BwzE4ARqfzdW+GGdHZoYClOpy8mR6Nnb8CxChlfgAvpCpp/NTuOFfgU8frRDXeFXNwPh6JfiHR2EtZCl9NFoYfh0ar/LhOgGt/wDCdwqtTt+J+OPwMAjCUQ0E52QKYAAAAASUVORK5CYII=) no-repeat; + background-size: 100% auto; +} + +div.blocklyToolboxDiv>div.blocklyToolboxContents>div:nth-child(5)>div.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NjoxMCswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTY6MTArMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6NTg4N2RhYmQtYjQ3NC1jNjRlLTgwMTMtZTcxODEzYzRmYmM2PC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOjU4ODdkYWJkLWI0NzQtYzY0ZS04MDEzLWU3MTgxM2M0ZmJjNjwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjU4ODdkYWJkLWI0NzQtYzY0ZS04MDEzLWU3MTgxM2M0ZmJjNjwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDo1ODg3ZGFiZC1iNDc0LWM2NGUtODAxMy1lNzE4MTNjNGZiYzY8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+BMXw/AAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAACtklEQVR42tyXzWrVUBDHf/8TW7BU0YW4Ea34sVN8AF/AlTv7sVGpurXoQhSpFFFU7K0LN6KI2lsfwgdw60JXioIg0gpdKBVKazIucu5tbm5OkqstFgOBnGSY+c1H5syRmfEvL402G8OSTQI7ge3ASkgWcMBH/3wAiIGQB/3AD2DRpJPApxDAJcmmgZ/AN6AvoND8vcevv3gQBeRXgd3AQBTrCPAuBHBNsluCMwk8rwwZzIMtGxoqk/NhGXfwxCXlAFcluy2zs8Azk4IxxUBiAVjGbB8lsmYgOCfxuAJg+rrETZmNgz0FSOSCLnUAAKbuDFjiYR0XJB5FsY4CbwsBRpqNE052WcYk8FreUOy6jRcB5CGsM13HBTdMOg18LQQ4NfuALS7Gmda8BGJn6TIX4yKA1gcDLMq8MnAxrPSLxKXrLoDh2Rkil3QAACTOKGoRQQAfCXM5gARW+4QF/pUgQKzi8ioDAEgi1QYwFQDIGw9VdxWACSzyugIArWeXZABkwlkahJD3dQBaUTClBrIALcNRAlGcGuuIgCw1npS0t0oAA3MpRAtgpT8FiBJwseESL+oKUlDmfd0IpMrVroM4WotGNgXka8A8gP4SwKQOHS2fugoxDxBTvTX/CUDZxtIGwKDOZFD9F6jdzHoCqDuXrDvASLOBqD8VVXXC7PRSC2C0Od3bCLVZAfLb8mYAeA8cKldmd9YvBd2DyRRwGPheoMYBOwy93EiAyisxx38NcB7YCywFzhjbzPRKY3PVANbDTJix8AE4WFGEd2sBZCG6AJQZNqwDYD8wAPwKqOxDLNQGaM/6uXNB1y5nPfaBXgC8/nlhy2RORhsNMANM+GIyYNC/X/J2Bk3cA67kAN4AxwJFGAFbkU1pbK5RBTABdhH4HDgdDxncBx7mPH/hARYDjWiXoZnfAwCQb5XMnmgWRAAAAABJRU5ErkJggg==) no-repeat; + background-size: 100% auto; +} + +div.blocklyToolboxDiv>div.blocklyToolboxContents>div:nth-child(5)>div.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NjoxMSswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTY6MTErMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6MDU3MTYyMzItOGJjMi03NjQ2LWJlMTYtYjQzNjhiZDg4MGMyPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOjA1NzE2MjMyLThiYzItNzY0Ni1iZTE2LWI0MzY4YmQ4ODBjMjwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjA1NzE2MjMyLThiYzItNzY0Ni1iZTE2LWI0MzY4YmQ4ODBjMjwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDowNTcxNjIzMi04YmMyLTc2NDYtYmUxNi1iNDM2OGJkODgwYzI8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+nsy67gAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAABXUlEQVR42uzXvUocURgG4GcNKxhW0UJsJG5ItDN4Ad6AlaVlDEbbLEkRDEFZQkIiyjY2YhBj4UXkAtKm0MqgIIhkA1skrCD+MDanWjzsLOwSlBkYmJnznsMzw3cGvlySJP7nkUuSZAZLGEAfLmJZdOEwXD/BNWJv0I1/qGEaRzHAa6zhDH+QjyyYhHM43J8ESC6Sv8QQHmIc+zHAO3zELL6l+Gq/cY5iiuwcvjYDLOITXmA7xaLVABhJkX2JzWaA9/gQtFttBixgA8+wFwNM4U0oxB9tBkxiGc9xGgO0unNaAaTahhkgA2SADJABMsC9BRxgtEnmcycBZYzh7y1jXejHblYDnQTM4xHqkR6jF987CfiFp00yXzoJeByakqvIeB7VO1kDrXRGbQFUUArFlKAQntdDMRWwgrcN835iIlKED9CDchpACa9wHOmOi1jFesO8nQCoRX5Eg6jcDAA2K85ZChxVOAAAAABJRU5ErkJggg==) no-repeat; + background-size: 100% auto; +} + +div.blocklyToolboxDiv>div.blocklyToolboxContents>div:nth-child(6)>div.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NTo1MSswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6NTErMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6NzEyMWVjNjYtMzU0ZS1iNzQ3LWExZTItMzFkMmE5YTkxMmNhPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOjcxMjFlYzY2LTM1NGUtYjc0Ny1hMWUyLTMxZDJhOWE5MTJjYTwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjcxMjFlYzY2LTM1NGUtYjc0Ny1hMWUyLTMxZDJhOWE5MTJjYTwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDo3MTIxZWM2Ni0zNTRlLWI3NDctYTFlMi0zMWQyYTlhOTEyY2E8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+UdCZaQAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAB8ElEQVR42uzWMWsUQRjG8f/zTpKLRbp0aRSt/QR+AEERBEGyuXTa2ZkUgjaWbsBC/AZ319hYiYVt6pDGQrAVgqUg2dvd97XYPbgLEQO3uVjclssu85vhmWdGEcFVPloCloD/BrC/O3xP6AYQwFiu14IjM8fFUw89aP+ZV7wCHOeD7MUsoD/6CWxOvnKr74E+qUogBlLsdDjx7/kguzUL2BmB2AAR+LjqFYXcSKfroEAWG12NHsGvg2HGeQBaAPXaGLlhRW8CoEMA/wRUvaIBnK4DYMkvHyBBIIIgUo2FsCqBBd5hAM4F7O2MsDbiAc3gQFKDKd0g1A2ACwAEDQAIc6rQ4gFpClBeNmC/PzoW3G6zXhC6r+CLFITiXaBnHRTRZAaH+SC7cxbwGbjevFRUK+WTgEMrV5F4JUW/wwweHQyy7b9sQ1CIau2UQNNFtKgeaAGrRQNYfBFd0Qrs9YeYW4sIyqmjy0PIHCmmcjTHFnAjH23PAp73h6Q60aaesk4NYKXC3RqA+fxbMXRBgFsDSPXCANdSnTZbwLh0OzkD2JK5CMWcAMPtJB9tj8/2QAFam/SMux4CH6VA4gPwqMPz6Ec+yLZmQ7g7fGmhm6GwIH57nd4C35I5EXoscVcK5r9CSgRf82H2ZnkrXgKWAIA/AwDs1X3Q6rZ7igAAAABJRU5ErkJggg==) no-repeat; + background-size: 100% auto; +} + +div.blocklyToolboxDiv>div.blocklyToolboxContents>div:nth-child(6)>div.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NTo1MiswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6NTIrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6NTY2ODgyOGQtYmUwYS0xNjQzLWJlYzUtNTJmNjI0ZTFmNmQ5PC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOjU2Njg4MjhkLWJlMGEtMTY0My1iZWM1LTUyZjYyNGUxZjZkOTwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjU2Njg4MjhkLWJlMGEtMTY0My1iZWM1LTUyZjYyNGUxZjZkOTwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDo1NjY4ODI4ZC1iZTBhLTE2NDMtYmVjNS01MmY2MjRlMWY2ZDk8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+EohvJAAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAA9klEQVR42uzWoUoFQRQA0LMiguE1m0XR7Bf4AYIiCIKIRm3+gKDlRYtB/AObxSQGq1leMQhWQYyC8Las5YZ1eO0NaLhb5i5zd/bc3bvDNl3X+cujSUAC/hPgGsvo0GKI55g7xnbE04pnMcJpCfjEQi9xE/cR3+CgYuFvWJ30CgYxthgXFw0qAr6yCROQgEmAEdYiHmMLj3F+hZMKG1ET4xPWS8ADlno3OYpEOMdhpaK72GH3swcSkIASMN/7H2jxUeQuxnc8rXgm1m5LwBhzvcQd3EV8i92Khb9HQb8AZ1gJ4Tcu8Rpze9io9dTxgotswgQkAH4GANY3h8FgPEXgAAAAAElFTkSuQmCC) no-repeat; + background-size: 100% auto; +} + +div.blocklyToolboxDiv>div.blocklyToolboxContents>div:nth-child(7)>div.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAAEEfUpiAAAACXBIWXMAAC4jAAAuIwF4pT92AAA54GlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTktMDktMjNUMTY6MjQ6NTQrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NjoxMyswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTY6MTMrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6NTM0OTIzMGMtZWQ4NS1mZDRiLTgzZjAtNTZkNjAzY2VlMjg4PC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOjJiYzZiMTNlLTI3MzYtZDM0OC04OWI4LTE0NWNmNjdjOWI3NzwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjJiYzZiMTNlLTI3MzYtZDM0OC04OWI4LTE0NWNmNjdjOWI3NzwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDoyYmM2YjEzZS0yNzM2LWQzNDgtODliOC0xNDVjZjY3YzliNzc8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTktMDktMjNUMTY6MjQ6NTQrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPnNhdmVkPC9zdEV2dDphY3Rpb24+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDppbnN0YW5jZUlEPnhtcC5paWQ6NTM0OTIzMGMtZWQ4NS1mZDRiLTgzZjAtNTZkNjAzY2VlMjg4PC9zdEV2dDppbnN0YW5jZUlEPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6d2hlbj4yMDE5LTEwLTI2VDE2OjU2OjEzKzA4OjAwPC9zdEV2dDp3aGVuPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6c29mdHdhcmVBZ2VudD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpjaGFuZ2VkPi88L3N0RXZ0OmNoYW5nZWQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICA8L3JkZjpTZXE+CiAgICAgICAgIDwveG1wTU06SGlzdG9yeT4KICAgICAgICAgPHRpZmY6T3JpZW50YXRpb24+MTwvdGlmZjpPcmllbnRhdGlvbj4KICAgICAgICAgPHRpZmY6WFJlc29sdXRpb24+MzAwMDAwMC8xMDAwMDwvdGlmZjpYUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6WVJlc29sdXRpb24+MzAwMDAwMC8xMDAwMDwvdGlmZjpZUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6UmVzb2x1dGlvblVuaXQ+MjwvdGlmZjpSZXNvbHV0aW9uVW5pdD4KICAgICAgICAgPGV4aWY6Q29sb3JTcGFjZT42NTUzNTwvZXhpZjpDb2xvclNwYWNlPgogICAgICAgICA8ZXhpZjpQaXhlbFhEaW1lbnNpb24+MzI8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+MzI8L2V4aWY6UGl4ZWxZRGltZW5zaW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPD94cGFja2V0IGVuZD0idyI/PkEzbJ4AAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAACcBJREFUeNokyqERgDAURMHXITNILi1QBwZ3nw5y2JQVAz0gWL206rTqyJnLMUAOcnZVkDus50DO064gZyLn/dfNVjcfAAAA//+C6J+4TCZy8nIGuBnx0xZCzVrCwBAzeemU8IkrGaImrmCImLicmyF66hKG6IlLGeKmLmSImbSEAQAAAP//LM49CsIwGIDh92xuilMRa34qOHgTQUTQ5ktFNzFJjVI6Cb2CN3LVxecED5ULVC6wdDeKY8/CZwrfoyWh5d+wklifM2X9GJkmUZ3iZ3boUJLBStzYS8A2kcluwLpI6TPK35nuX7ByV+Z1h5EW49N3vB3Qkt+6aVEuP38AAAD//zzQMW7CQBSE4Slzj1wjV4iIkFhsvyWpc5FEERJ4961NhyJ732KHCAQt4jCkSEtHa4rFlNP986G3SLgBOf+XmOYw+Nhg8LmNv/pIZdrdhGuM8jUyK9098oaHSVEhs9LvI7GPEMqsoV1AalYzcoKxCXiZbpFxgJq3wMj8RmDnlxkLUhtALCdi+VfzFqBFDWLBcLqBLvx3YpsuyVtoFqj85xJpWUC5gFjO5Pw7scTbVp7wuqg67QTkAtJyheev/YMuPca2wVshj1euyV6nrSCIwuc9eAk6Gh4gBaLgEvvuz7VRlCZVUruiAilY2N6ZvdAggXdn19gBW0qRNnVS8hBQ8QqX4tpWQnGKkWakme+c2XLYZoMFmtJAUS4rCigpQ3OCIWmK7484vvhf0JTe60uPI/p+iooiSsqofNhk5Ldhwb9C6TIUZ2gvUD5C+Yju+D4Uox+wPsJwhHIJxcUKFYfGrvlu+ONouGxZU2xzShGaEiyHXUPybEieDcufj5PFdkhTgnK59aG4XKLi2GifYEhgOeB4uECvDs3J+AbGBRgXd6yPMzWZQa1PtRxPu6P5fvsyLsG6tF2tV0/Rr++gSV7XzZ/69R0sRai2xsnVLSof9qC9fDs8X0GNZ7C89s8n9HkORTK0dYCm1BSjB2gv0CwoXUaH5lAuN7DXUyhOsCRfNzdrkoHljE49w4ezXzg4/4nKBxiWv4bkxZA8dSb3+HwleCOj3HWbCKIw/EspSIVEQwElDQ0SEhVCogEhCi5R4tvOzNrh9goU0EGBQiJ7d86sDQ3g3Tmzu7YhAdKRN0Ci4AEQCiJEUXgCEKbYtbFwcdpfM+d83z/HgYosKu0hBDmWxPuK7DdBfKHWGUwdmZ35AGOhyI49XSxMGoYiPusFbruyvjkP0kS4ySidfKnqHJX2CB45+FGCm+0tLAev7widLExEnAr5P4mSeLcVJWhGCTxKocqmakYxJHE2R+IEjpn52oz6UCaBNCVx/0wfyimJpfGFLDxFWZDdr+kBakEOSTwlrh4MVhTZI3IGZUEMLLe3CgM1YzVyuB3lUMaOy2aAp1MInZ4QOv24tPEGghwaOkM9zFHpjGYCJpxrhh9ZSMM75c0PPHKVRjiEH8WlXCnqYY5qZzgNWJCadyXxD0V2T5E9OlmqF2aohxkk8ZokPpTEh4L4RS0YFAHVzuicF6RtFVlIbVEPMyjih0Lz1Vb4EjKMISgd14Lhf8u241owBKTh3+pZUnpg0QhTXF9/h3qYHwhy8HXSqAYDLLU3C+UNY2ljE9eevkfTxGtQxOeVdlDkILWFMoxWN4YfJaek4eOC3N5qt180UnnOVjfGau8VBLlDSGMvyrJ5FDFkyBAhQ4Z8WhIfE+S+N7v9ovnL5yttobSFJP4JRTy+8eQtRME8PF2orAz/8ojh9+IrK53RYqU9Kv5uGJXOCHWTQ5K9D2nsSZ94u1QaQjsoY2PPZGcaJsPlxx/gm+SPF6aLopSr1hlAEY9v9RJAPe9DGgdJ9lN598/KMBpRjqoZ4NKjHbS6CaSx9yTxntBu34/sA0EZ7vYYf4ktnxA5ijCKvxwVxNz04B/QGIwaElBvOWgOksWE3R3nT3d/1b2JEESIIKKngBBivMzs9HR91ZONGLM7XVXdszPZzEokiwc9edOLHsxFPGiMSUSIIl4i7aF7hmUzcY8e3q2r+qOq3u+96XaewgiHM9Q7/beITU5svhas33bZvuBwupfYBKT0FaGSnFT6ST1cxeEPRjh8ZoQj2wgiSv5TftQDRfp5P07yoLtyUHQ1PE7hcwKX7cSLpAyOLV3AwrkLDy50l3M/Tt8J4hTbaVqwbdVjQum8Fg4fr7RGqLQuodYeFhdeDuDHCRqcYbY1wmxzHZX2Gkjp20LqoyQLg9xL03C0VWeIzbdbFwqZwCszTkxZJ9gOic3n2+0PESelNLbCstQuofQ/1fbgobnWGuZaa6h3+pMeQUrDkxZeSa9NLek3YvPm9B9riFKYb44wv7heFKVyQ1Iaflcj6Br4XQ2hzEtB3MuPdlf2j71UFpYJ3ZzIwo1S+LK/g9jmntKnPVVck1t+N8ZrI8pQDzPUwtWiWlTaI9SjQRlgenK0rjTwlUHAfbidDEGcnC5dsEHK1InNI6T0wx7bQ660PWKdE9vPPDnAfPMSnCiFUAYiTiZ1ZIziejjG8T0GILa7iM0BYvM0cVEIiEsExckYS3uFMvudKLvfUxYup3CjDLXOKlypQUo/QWwOkNJ7xkFy1wDFFXyKhhy8SKzvkDI/CmXeJTZ7SOqdQuldrkxPuFH6vc9JXo9WZ1yZIogulMNaOJ0UjTCDE6VPEZs/iO01YnuSpHnOZbuT2DxJypwg1lc9trkr04O19iqq4QDwuhrEJhdSn3U6GbzYFg+STUn3BI5M4YQpqu0hnKh/Moh7OankPqESBHIFgVyBr5Kbx7rLX76+dB6eKk6CSqtSyeig28PC0jIWustNP9Y5cboDnrS/CmVO+bGBHxd3Lso6QbIMcKVRDYeohkO8Fg5Rj/pv+Jz8SVLDVSlErL9xo2ww11rHXGsdlcU1ENtJGSQuHnM1HGCuOcJcawRHZu/7KrkBYnOdZLK7qKGbNfZ7kTJbtJPY3CA2z5TW+oWknpkGGo9tGV937bGb2FyHUOZnN0pDT2oQJ2hEWRFtZbyRNPAiC3eTPGnfE2xuj20oYv2VE6VXKosXUVm8iGp7AFfZ0q6FZd0oRSPso7Y4QLU1hBelLaH0NSx0evA5+asaXtyYbV5GIxoUm24eQFpQbBEoC1/a84J17sdFSI1fv1D6uyDu/SBKEBWZYSc54cgU9U6GYEnj2LmVocfJHVclAJ3rQXy0ApftoyTNT8T2tsdWCWWOCDb7SJoZkrZNbG4S69+FSp9txKuodfuoqgFeObOBl099gVc/vIyFuPeAH+urJM3fpMzHHttZT5l9pMwhV9o2SXvLleYWcbr7+JLB8bMWyPP8f9W/AwDYuRqemDaSigAAAABJRU5ErkJggg==) no-repeat; + background-size: 100% auto; +} + +div.blocklyToolboxDiv>div.blocklyToolboxContents>div:nth-child(7)>div.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAAEEfUpiAAAACXBIWXMAAC4jAAAuIwF4pT92AAA7qGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTktMDktMjNUMTY6MjQ6NTQrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NjoxNCswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTY6MTQrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6MGIxMWE5OTEtZGU2MC1jZjRiLTg1MzUtYzg4NDkxN2FmMTg4PC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD5hZG9iZTpkb2NpZDpwaG90b3Nob3A6NTA3ZTlmNTktZGRkYy0xMWU5LWE2MWYtOWZlNmQ3Zjk2OGYwPC94bXBNTTpEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06T3JpZ2luYWxEb2N1bWVudElEPnhtcC5kaWQ6MmJjNmIxM2UtMjczNi1kMzQ4LTg5YjgtMTQ1Y2Y2N2M5Yjc3PC94bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ+CiAgICAgICAgIDx4bXBNTTpIaXN0b3J5PgogICAgICAgICAgICA8cmRmOlNlcT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+Y3JlYXRlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOjJiYzZiMTNlLTI3MzYtZDM0OC04OWI4LTE0NWNmNjdjOWI3Nzwvc3RFdnQ6aW5zdGFuY2VJRD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OndoZW4+MjAxOS0wOS0yM1QxNjoyNDo1NCswODowMDwvc3RFdnQ6d2hlbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnNvZnR3YXJlQWdlbnQ+QWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpPC9zdEV2dDpzb2Z0d2FyZUFnZW50PgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+c2F2ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDo5MjM5NzRjYy0wOTliLTQ2NDItYTkyNy1hYzI1NTlmYTBjNDc8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTktMDktMjNUMTY6Mjk6NTkrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmNoYW5nZWQ+Lzwvc3RFdnQ6Y2hhbmdlZD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPnNhdmVkPC9zdEV2dDphY3Rpb24+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDppbnN0YW5jZUlEPnhtcC5paWQ6MGIxMWE5OTEtZGU2MC1jZjRiLTg1MzUtYzg4NDkxN2FmMTg4PC9zdEV2dDppbnN0YW5jZUlEPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6d2hlbj4yMDE5LTEwLTI2VDE2OjU2OjE0KzA4OjAwPC9zdEV2dDp3aGVuPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6c29mdHdhcmVBZ2VudD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpjaGFuZ2VkPi88L3N0RXZ0OmNoYW5nZWQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICA8L3JkZjpTZXE+CiAgICAgICAgIDwveG1wTU06SGlzdG9yeT4KICAgICAgICAgPHRpZmY6T3JpZW50YXRpb24+MTwvdGlmZjpPcmllbnRhdGlvbj4KICAgICAgICAgPHRpZmY6WFJlc29sdXRpb24+MzAwMDAwMC8xMDAwMDwvdGlmZjpYUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6WVJlc29sdXRpb24+MzAwMDAwMC8xMDAwMDwvdGlmZjpZUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6UmVzb2x1dGlvblVuaXQ+MjwvdGlmZjpSZXNvbHV0aW9uVW5pdD4KICAgICAgICAgPGV4aWY6Q29sb3JTcGFjZT42NTUzNTwvZXhpZjpDb2xvclNwYWNlPgogICAgICAgICA8ZXhpZjpQaXhlbFhEaW1lbnNpb24+MzI8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+MzI8L2V4aWY6UGl4ZWxZRGltZW5zaW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPD94cGFja2V0IGVuZD0idyI/PjK2gekAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAAAzhJREFUeNpi+P//PwMUP////z8DjJMLk4AJvIGpYvj///9bJG0MAAAAAP//gjFk0AVQVExBEuDGUAEAAAD//8IQIKTACUp/Q1bQQooJ/6H0cSi9EgAAAP//Qlfw6P///7txmbARi0k4fbEXm4I+fI58+////3lIEg//////DJsVC5Dt/////zd0Be////+ficS3YUDTwfD//38OJLYyAAAA///C5Yuq////R+AIRIKRmYknag4QmxoW4xD/T0pyMoAm9ef///8/RSix/Cdgm/T///9XoMk3wEL5DR5XvIPSSTjkzRn+//9fgMeAHnwxgC6Yj+TnKhwaTv/////F////L8PEAAAAAP//nJQxCgIxEEUXtrATbCxsbWwEwUoES7HXwl68go0n2GsIgmBr6Rm28AAiirgs6wkUn80EQtjJRoswhCQvmT+Z7xNxK5tvwDC04zRRe8AhFHBWoAsgDgFcPWntQgAXD2AfAsiUw1Og9q+ILSnhT9Z6lNfkwKyqjLGI9xAvqpdsTuTbF7Z/RUC/xPHWwKTCTDCAt/K8XOLck2YSAQNlsQ00jb0qo4iAkbLYARrA3QN4+lr1JXHsOLE9VsZt3EbZAF1r/imB4P6DVOp+Um5bih6Z7Rdf1ssflMIwCuPdkZK7uQuK6yv/orAZZGKQzai7WVjEdEvpZiJGCwazVWQx2ZgMLLKgbqQuyUI/y/PW7ev78x69wxlO7znPd77znvOc8+bO6Jis6MvXYrJxRboInOnsyILpazgm8GkP23bZroYKoEuA3cZsNYBKiAC2Mu41S06AixABlIFfoMMYwFvOmmCqgSldw6iHbUG2tZBF6KQm8HNgQVtyScR3rLPTUF1QBiZFSWk2w8pKa8p5jzD6fQKYEDM/AmtyKiqQZeBOfzibEVAf8CH+rAJDwugVxn28nZtpbd8zbVXZtySMj0tPjG1hFNwQ3zTWwhLw2aTfJG0MObIB1N1zLTI6F4E6MCD9JedqkiRyj8AnYM/ovC6mc/qVZoEFYwd4dsqXWsvH8TBlBt8CDwaW/Il3Qac24YbeuXPAiFK7qyJ7BwYzgNtU6d/AATAvjBlhvEqi/xJRcPkbALl3mQ2vYYnLAAAAAElFTkSuQmCC) no-repeat; + background-size: 100% auto; +} + +div.blocklyToolboxDiv>div.blocklyToolboxContents>div:nth-child(8)>div.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NTozMiswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6MzIrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6ODgzZWM0N2EtNTNlYi0zYzRkLTk2MjMtY2NjNmRlMTY3ZTU5PC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOjg4M2VjNDdhLTUzZWItM2M0ZC05NjIzLWNjYzZkZTE2N2U1OTwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjg4M2VjNDdhLTUzZWItM2M0ZC05NjIzLWNjYzZkZTE2N2U1OTwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDo4ODNlYzQ3YS01M2ViLTNjNGQtOTYyMy1jY2M2ZGUxNjdlNTk8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+YIkhkQAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAADJ0lEQVR42sSXy4scVRTGf9+p6s6AZOHKpeDCvdnE7CLORrOQCKL0TIK6EmZGTUgMLnyA+CAPRjpK3GlMjwPiCwniInErohuXPlDQf0CI4jzq3s9F9YwJ2q/qhrlQUBS37vnd8/juubLNXg7dDPDeEydobWfCfjTLhwTC5CltBLANXKvK8svjl1cHA1x+/ES7SHmlyD5vzXqnUBXx8LH33/x0IMDa4spTQpcsfrJ5MsxWfwfTjAzej/gcNNfpdYuBAB8srLyFtAS8aHhFM0sPg/gEdLTT62oYwAWkk8A54Lndf20sNTcOIF0FjowCOId0CrgAnNqJXQohTGQYKzf8nxeQvgAemAhAhhxis13Q3qoo9gJgs12QQuxrBHBLCCYHsERV1PPLlN+NzCGLUQiW+QH7KJB3gZsAgFGudchRXAWO/N8eb16vDhvfpYiD4FxWuZ4djQAAp7qUaY2w/a/gbLfE5r4WZZWZ26jqsKkxAMgJqxgTwKQisEoiV0TOdQk3BZD7WhYeW/isktZ2iZVIRQU0BTBEPwdy6HWkA0AakYMFxM+RYgWcc6QpqgB2FVD214J7x3TDL8Z3A2lXzpuGYKtdkCJob1WUVZ6ztD3CeMvyRo46fJGnEqI6oTbb5Q7AWGeCZXLUxqf2QF1WgbInAthNYKYE2Cmtxqehm0nxKnASGzSD1sgG8RnooXH7gdPY54FAum1GTcnHoPlOrxvDAN5AOgP0MH8glmfUEt0A9gOM8sBLSC9TaxeGb4HfgbL/aUK360/DQcFdfQ2/1Ol1l8YCyGJe2debZUC9ZpaQ9L3Mndj3gH7trHUHt+XrCytnQadzqFcFx4qUx29Cbl12x4f3Ib4yXgbelsVQgN7xp1+LzPMWZ5N0RoJIk91L6n4ggAKRHgn7wwzzpvbmQu8iQ+4FzxwWvga+gXW7JazM5O25ASEHwn+n0DcpfLjIZvHKEID1zjKWHkNal/kxSy9Y+Te5v+Lk96G/gNWA+7P4yPDO4pXu9SFJuNQ/u+PZvhjNfIwow6V+DAty6EBkPxj2Ha57gCb3JAEb/acANjprF18dCLAX458BAPkhJt8MEBV8AAAAAElFTkSuQmCC) no-repeat; + background-size: 100% auto; +} + +div.blocklyToolboxDiv>div.blocklyToolboxContents>div:nth-child(8)>div.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NTozMyswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6MzMrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6MGM1NmY1NTEtNjllZS1iMzQwLWJmZTEtNTgyMjVmOTAyNjk4PC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOjBjNTZmNTUxLTY5ZWUtYjM0MC1iZmUxLTU4MjI1ZjkwMjY5ODwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjBjNTZmNTUxLTY5ZWUtYjM0MC1iZmUxLTU4MjI1ZjkwMjY5ODwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDowYzU2ZjU1MS02OWVlLWIzNDAtYmZlMS01ODIyNWY5MDI2OTg8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+ypyUIQAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAABtUlEQVR42uzXv0tVcRjH8df1lgjR0NQYNLjXUm1JLtUgBVJLi1NQQYQlDqkg/SCNlsS2FiGIsoiIhmqNqKWxHyTUPyBYKIr3tDyCHLznHLxfk+A+cPhyhnOe9/P9fvh+nqeWZZntjFoTgDM4ghoaLebowAre4HUZQCcuYXKLCj6NZ0UA5zGNbxjAclTQSjSwGy/QhXoRwH1cwAjGE1c/i1NxrE0B7uIKJnAtMcBLnCwDmMBggAwmBniF422AVgAerrsbiiLDlxBcIyXAmojWkmx4scX6CYdSA7Q1sO0At3AQqyWJ6vgenpJUA+9xuGK1P9Cdg01yBF1hrUWxE0ttEf73APfCllPGc/RV7QeuRlvWgV2JAJ6iN99h5QFuYwgzmMfFRMkXoi1TtgOjGFv3/hG/sKOCC24Uv8OU9oeBTUfLVwmgF28TVP8Z+3AAc2Vt+Z04/xmcS5C8B+/iKKeqDCY3MRwgQwkA+vG4aDfzAEdjglnAnkQCXMSH+Hel0ewsHuErruNnCGgzIvwTd8oxPMGD/E40mw0vx4dbMo9WARDefwJ7w1azTSZbiqce642qAP8k/g4Ar1Hawc14N6sAAAAASUVORK5CYII=) no-repeat; + background-size: 100% auto; +} + +div.blocklyToolboxDiv>div.blocklyToolboxContents>div:nth-child(9)>div.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NjowNiswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTY6MDYrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6NTU0ZDkyODAtOWYzMy03YzQwLTgzYTUtOTNmNzY5NjE3Y2NkPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOjU1NGQ5MjgwLTlmMzMtN2M0MC04M2E1LTkzZjc2OTYxN2NjZDwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjU1NGQ5MjgwLTlmMzMtN2M0MC04M2E1LTkzZjc2OTYxN2NjZDwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDo1NTRkOTI4MC05ZjMzLTdjNDAtODNhNS05M2Y3Njk2MTdjY2Q8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+tTvJKAAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAEwUlEQVR42uyXTYhedxXGf8/53xlRixJqFmkitCAWPxbtqhEX2u6kLWqTaJPJV7MpJmgTol34ERDdyFA6VhQ3OkkzmVCdadMsiiDiRwVFW0kDYiRdFaVVqFVpA817z3lcvO87H3EYUyp0k7u73Jf3/M55zvP875Vt3spL1wCuAYwBjhy/D4Cu6yGKqkAylkFsDbMV+BDWdcgXgWdt/dJR/1z+MyFrfIOAsqjRs4gi+47Kxsx9P1wfIDOI8EbEQeFDoI1rNHCmVA8bfqX/N0BVfD7Cj4wKvQo8CT4PXMJxE/IdwC0Axj+2fFTWBlkfB25AfknwTFm/vjqA2QMAtIkBEfUo0h6bi5hDJf9UwKg3XAIZo3dKHBM8uI7MafwVV3xrfYC5PVBBi5qNrvZXxvcwhyKKHBUfA+RgAlt0EwOQT4F2jatZdZfgvCo2l/gIcDRgs+E57Nuzn3ilKv4b4IG5PXRRn2nBYznoTuSg2z8xeRmNAGKsad9RFcNpdf0FiZtT9VnJz7eKZxMt9hnbu6ihlNlo8kE1f9fmL3l54sbKljMHfrAa4OjJvUS4V9SlynhXVdC6HgEJONtwyTT8fbT8EWJH9t2UlfMIZB1r4a/3pU+V9eQYejS5bdFqoSqe6vu4c2bfidUAD56e2ok13+MpR85LYIuogIqlrgEkv79r9eeSHx/0sS0EHtm269KU/oq1hShcsSzZ5OBEdLk3U7c8NDX33CqAL53a/RvE1szQUiHAQ2Fh1LktWsvZCO/Pvr0HeBmZksEixPEWtc9mk+AlA1mBh+DvaOHXqFiYnjq5YzXA/G4DFzAfGBeWjCsoa9kBQIRfddTrxtevDCAPJbobcRbYjlkc6lXLnnC8gNkyPTUXawEsgrevkZcr7wJHAk8Z38lKh8jYuhX0B/ARYIbxBJfHugBsm941p7UAFsA7/kd8B+hqAA4D336jAH8S/uDKalclwUgGI4TvBp0Fb8daRF49QccLWFump06uluCLp3b/VvJtme2KJRQ2S/a7Ygmvx/wDMXSJRXQ521rux9wAvGiLtMY79fYWvkTpiempuXtW23B+aidovse7HHlaGh4kMbJiZVu5Dzd3XV1Ie7GXt0c2QgZDBAn83aVNRIFFXp4c2/B4tNyXqlsfuvf0uSsOo/20iXRE/bsy3u0K1PXLp1o2WAERLRcU3pbmXg+6x5gcEOGvRrZv9BWfLnOmtRxOsQ8IPtlanamMn/QVn5jZe0UQHX10L9HlTon5yjZbfTsQEwPGXSAji8q2NI1ucnBR8L7M2AFcbF2eK+uJTN3TwtAKZxDW/Wr1fcOLOejeW323dhRTQq2OR5f7XPqOrS8sAYxyAQtXo0pESxSex9q5tGP4Lsnn5NhcsBU4HHCT4Y+WP1aD7uU1T8PDswfAopt8HbU6hWOX4QL4c8AvxkvJ6DwoGbK9jahjQl9ez7dlvob1TbWkBhPrvJBYtMnLwwS0Dit4eJjF/At8BjiP9RpwI/LtoNtGNR43PgLaIHMH8iasv4F+58inq2KYlm8EoIYj34jjAcFBYMOVndmclXjE+Gdj48ojp1hDuVryZgCG+Q4fxbFVqg8D1wHP2/p9WT8P+ZXloHkTANe+C64BvFXXfwYARCRc7o9UqUkAAAAASUVORK5CYII=) no-repeat; + background-size: 100% auto; +} + +div.blocklyToolboxDiv>div.blocklyToolboxContents>div:nth-child(9)>div.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NjowNyswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTY6MDcrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6NTQ4ZTZlMWYtMmNhNy03YjRjLWJhYzgtNzliNjkwMGJmZmM4PC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOjU0OGU2ZTFmLTJjYTctN2I0Yy1iYWM4LTc5YjY5MDBiZmZjODwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjU0OGU2ZTFmLTJjYTctN2I0Yy1iYWM4LTc5YjY5MDBiZmZjODwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDo1NDhlNmUxZi0yY2E3LTdiNGMtYmFjOC03OWI2OTAwYmZmYzg8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+11C96AAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAACZElEQVR42uzXWYiNcRjH8c/MjSzRNFyYoWZKZLngCrmw3AlZx5olN0IYKRe2EjeubJG7McoIYywXUpK1yBZTMhpXIktZQyk6bp7R6+09M2cwTWp+deo973Pe///7Ptv/OUW5XE5nqqgLoAugQIAx8RmOXmjGPVzFh44E6IdVWB3XaZ3BblzrCIA12BfXn3EWjfiKSkzCyLCfxAaUYALK8Ap3ceNPAI5gcbh6NS7meb4ntmFjK3v8wGbsKhSgBstwMDZvS0exMPF9aniqHGPDM+V4iIl43xrAXBxHbUC0pSYMwTw8jcQ8hTmp363CATxHRXglE+B7xLh3AZufQBUWoS7ubcN2zIicSWo26nEeU7IAFsRCyQXzaTCeoCEWTiqHFxiQ8VwtlkTyPkwD3IxaLyrg7VvypC/epmyHsRT9oxKS6oEv4YmqNEAuYjq0AIDP+IbSDNs0nIs8OJVhfxbeKc4CyEqgtIojiX6LZUKjcB/rsSfDXh9hK8oC+OWafwBQjb3tBXiMYZ0VglsY3c4kLMW7PLYyvEzZukeZn8asfGW4EMfaABgSCZuVMz/wJqpAngoZhQdZjSiHT+hTgBdaYjk/uidswQ7MjJMyqelx7wIm5+uELV6owfICIJoxKBK3Od7ql3sTWoFDEZKBrbXipJv2Y20BEHUBnjyMHsQBNCaqoRKPMD7duPIdxy0nXBNW4kqezbtF/9/UBuRW7GzvQFId0w58jPg1RiutiKN1dNgbovGUxKDSH69xG9f/diRbF8dpSYb9XExNlzp6KB0X8RwRQ+lT3MHl9IDR9b+gC+C/A/g5AJPi9MEZTI8XAAAAAElFTkSuQmCC) no-repeat; + background-size: 100% auto; +} + +div.blocklyToolboxDiv>div.blocklyToolboxContents>div:nth-child(10)>div.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NjoxNSswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTY6MTUrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6NzFjOTU1ZTItOTlmNy1lNDQ0LTgwNjktYzEyM2Y2ZWQ4Y2U3PC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOjcxYzk1NWUyLTk5ZjctZTQ0NC04MDY5LWMxMjNmNmVkOGNlNzwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjcxYzk1NWUyLTk5ZjctZTQ0NC04MDY5LWMxMjNmNmVkOGNlNzwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDo3MWM5NTVlMi05OWY3LWU0NDQtODA2OS1jMTIzZjZlZDhjZTc8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+tYumGAAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAG4klEQVR42qyWbYwWVxXHf+feeXmeZ3fZXXapLMLSpi0JInyQGJpqqa1p9UNVWkp4kUSDVRuSlpgYqWmqRROEoqapTdMEWz9AWwK2kGAaJdpaiKANEbW2NUgNsNC1uNtddvd5m5l7jx9mH952l90o82UmM5lzfvd/zv2fK/vv+SmDbemTxsuDQMyklw6p+GfDrHtj4FrwomT2NN4MosQIinhQBIxHBYLMECaWvo6UnuurWCeI5tFk18qtO7PAfFlUjwMDQAQIYMa7i9KhRjslKzyqWbhZUCKqZEFGGphmo5qKpz5lgJ1rn1BxHFJYKtJY5GjKSx4bd+MFNbynZLNsosUkUsrTlEI9WFGomt3eAFBR+LWof04NrwaZECbB+AAvrHlCQXcDK0HyTIwFuKQEgBwRdKF1rjkLhJFmIaqbBXGN76hhOjAfuFEU1PAP63gorAe/7etIJgJgP+gXL2QeRwFBL8CpyJ9B54r6DuMV60KcNaTGIQLWewQ6kzB4wDj3I4MQ1e2m/unZ4yfmVSYD4DIJdLT4qF7UYBTAeN/RQFQJ8CiMAhgVRkoBQeY7Aud2Bpl+fqTZbuqbMfS4dToVgBxCLkk8PkCOmQNwGUC5aDHeU6i3o6Z+wMv5u4rV4iLR+C0Vf20BwODEXA5QsojPiLIWFA8Mq/GlU0bD6xv1nLQEcoX84wM03oOXfNUWqIYRJnNAliNK+JAhe8p4WSJq3lTjJwKQsSgT9sAYdS4o58Vc1tD5rvCKj7eLmm/4oDLBLhjnkikC5N8tKrkiFwPINOP0DmCXCqniNgh2fwNgF+jqiZJfqYSKHAFdaLxvHpvcoAihEzJbJQ2TxgKavQlPhWlzO5KKaEiQzumQl1ZuU2/9m6KyRGXySSCqeCP/Mp6ZQaalhi5GIQsEZ0BFETJuOnEjrec7QATxymDbyF3vfOydA1HiiZI5y4NsxiuyY+2WPdbZ+xE9qvksuBqGgs4G5ouazaLyaP7Wo0ZQaZiVkllPy8h0msotGFVUoFZIGGjvHbAubEuiTlEB2bLxh8w9WXwG4x/wQjjpLETKiH+2uZx8O3Ae1FOPC1SKAcZfdEtRIQsS0iBDBIrVlNbzGcYXV5+Z3Tm73FTcZnyKfG/TJua/W8prG+TmoFephWJAPNOGq0RJSj1qoloskAVZ7m46XlMKxiutQwlR4jjd3QEI1qXIM+s3037ektUDsswQFlLE6riBLgVoHS7jJaYWt6CSkQUpojLxfwKZNVivGK9EqUPFI7uX/5gk9qg3y7Kq/b2IDgZxhgn8uEooBsFRrCnOFvOuEEcSZetFzYOgrYC7SgkN+Frg5Rde/FbZsWobKJEJtI7qI6hszds6P32Aol4QNXjjGG4ZzMnVjk5IpanSuiFI4yedzfpFpbcxvyZAcGBaVegWr8/JjlXbEOExY/QHqvRkqe3GX7QuEcVaxUUJtbjCvOOLKdSKoyaT693bdfLD823/SYI0nGm8nbSN0QBv3V+jJFokO1ZtW2iM/q3x2WfyFJ4Nlw2kwDHc1s8nj97N4qOfHRPy4O17+/++4MjJtsHOxVNwkgbILpCVsnP1tlvF6P0o3wI5JvjnBfd0vjhBxVMpjnDdB3P5wq++OW7I1+7cffb4vGMD04baPz615JDbP/fI9nXfxwgYF2ihVjwM+qm8h/LkjSHSPjCL2w7dS6nS8j8CjGnoHOB3d+xBgGpp+KW+jt5VYRqKjtbWG0+p2kKh0kylaQg1Gctffpgr6zw5wLi+kgO8vnRvfoxtGprdN6Onx7r450aLX3fWE9chroYYFxEnBd5ecJj5797C5w6svXYAz3/tERAI0oAobXo5Nfa+uB7ekgXuT1FaJKwbxIdEacy5607R39HPvfvWM/fUTdcGYPuaxy7U2VsJbGQ/jJNCi+Jubyq3HbSZRXxAlEb0dZ5muKXCzA9uZtm+r1ybHjjT2dNwKATPUGfvzX+89dWDQRbPjJL4Z1E9/klYK50q1kv0dv0TiBlsL3Pf3nXMOtv9/+8CvcK8h6b1sXfZ06ZYa3uxVqystFlAmERH4qT4Wrk0cAQJ3u/t+vdfunq7dc2LD+c+cNu+c28t+sOZtsEZnxCdig8owG6QFWMAznad4I3P7KFUbWeoZXCJdfa7avyXvHFYF2C8YdpQ+4x6XOvr7PsoXhznPtIzXI8rfWES3uCtTj7QNUCFQ+A+PQbg/a73eP3OXRSr7ZRLQxhvERBRuaFWqMxpHmnVFXs2HAayN5a+wvm2PgSzZaDt3MYoid721p9Er3quSAXT6QxLwpTfTBUAUaFWqNA80sqKPRsu++f4vGMcuHvH9vaBrnWiVxtEo+6Kotb/slSOvvrfAQD0UtQz5Qs10wAAAABJRU5ErkJggg==) no-repeat; + background-size: 100% auto; +} + +div.blocklyToolboxDiv>div.blocklyToolboxContents>div:nth-child(10)>div.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NjoxNiswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTY6MTYrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6ZWY1NGY4YTgtNWQyMC1hMzQyLTg3NTEtNDk3MDkxOTdlODljPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOmVmNTRmOGE4LTVkMjAtYTM0Mi04NzUxLTQ5NzA5MTk3ZTg5YzwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOmVmNTRmOGE4LTVkMjAtYTM0Mi04NzUxLTQ5NzA5MTk3ZTg5YzwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDplZjU0ZjhhOC01ZDIwLWEzNDItODc1MS00OTcwOTE5N2U4OWM8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+1iJoCAAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAACbUlEQVR42szXW4hVVRzH8c8edCLxUs0Ig3gpwodIfaiHiRKlhwEfxEQbRvFFIkOEYQjCCgmqhzEJQVRCGK0X0WG8vAyIRYQoODRIVwQRFMVSkLyQKN6G1ct/w0acOWefxnP8vey91tp7re/aa///v7WylBJsw3o8o7L+xS58bByUpZT2Yg3O4gaakaFplGsLWrEJvY/0NxkPcK8MQMIJLCoBfg4z8GyhrhMDcX8HR7EHR6oBGEBXCYAhzI8Z53oVG/ECXsHLUX8G3fhxLIBBLCsB8AvmxHKMpla8j81R/gKf1xMgVwv2YsnjIOoBkOsHdGAB/mwEACRcxIuNAujGdrRjuBEA+Vfowwf1BpiKt9EfyaoHgzlAP1b/zzxQSZNj/Z+PjAotOcBwrEu1Oo82TCr5+TsiGmAlDmcppQN4F6fCC7IK6zczMl1v+EFZ3cBz+ThZuOE3kbUmVtHB7XDDj2o0wNUxia+LAA3TUwWwHMdws8a+NsSmZhpGxniuCXfxHbbkAM2xifgEW2oYvCd2VddwJQYZTSMBORt7coDP8CUuRUNZXcf9CM1q9TsWZCml+fij0LA9ZlRG13ABr5d4px9dWUrpzcgDH+JXfIudJQH+jvieV+KdQSwt/oQJJ/FWDUswLgD7sapCJnyiADPjJ9yNdY0AgENYgTfwcyMAJkRITcFiHK83AMyNgduwA1vDx+sGkKfLfYXDyhB+iutl/BZRk+sq/sJrJQAG0FnJjNrxKd55pH46/imUb0X5pRIAJ7CwWjfMovNZhXzxsND+VZyWT0dGHGtf8SBOTe34fjztuA/vVTCiog5i7X8DAKeH/ztNK3T+AAAAAElFTkSuQmCC) no-repeat; + background-size: 100% auto; +} + +div.blocklyToolboxDiv>div.blocklyToolboxContents>div:nth-child(11)>div.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NTozNyswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6MzcrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6OWFjYjVhNzEtMzlmYS1hOTRmLThiOGItZjg2NTY2YTFiMzAyPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOjlhY2I1YTcxLTM5ZmEtYTk0Zi04YjhiLWY4NjU2NmExYjMwMjwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjlhY2I1YTcxLTM5ZmEtYTk0Zi04YjhiLWY4NjU2NmExYjMwMjwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDo5YWNiNWE3MS0zOWZhLWE5NGYtOGI4Yi1mODY1NjZhMWIzMDI8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+7l6/eAAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAHk0lEQVR42rSXW4xV5RXHf2vt27kwMwIDFBBEo0YtpjEEbG3V2lgSi7cYoGIILam1+mLSp8YH04QH+9SmpkZEqPVSWws0VvCSFK2XgNVijBEVhKaKCIg64MyZObe9v7X6cIZhRgbE2H6P5+xv7d/3/9blv8XdQfjCtXvO+zx72UukrZQQBcT1PNRW4nI5+FxBqgF5NLgsP4VwI0tOFeDdOe/zXAdgrsXhCXE9y/HOny7vIX4EWA22jv8HwJ4z9rJ54ZY7qo3SXZiC84tKs7yumdYPOwlEBRgYxpcGeP38HSd9qNTMODDz41vfOm/3ahV7PRqsfFNF8u5GmXo2xFcGuOu21Sd9yDScnVq0Z0pf797LXps/Z+fpH7Dr3N1M7+v98gDigKIuYNYBuH/5I+AnuQeRNS5+C83SomkfTX+6v6vGQO/HTK51M/RlAMSxkOCipJKD+TDAkvV4nJ8QQlTqopaD9TSyFkkRk+UJ5WaJobRJIEG+AMAFYjO8VaVdMjLaxwDWLNmIJy2IoJW2kWEQFycu4rmlPNkxmLQea6stUwQXR4NSaZWI3HBRiAsIJwIQPBbikOP1CbTLPhbg/qUbaWeDVFtlevsnEaQTJA4RterQ0r7JfX+Zsm/W7dmRib8LSU5kShEF9k87SFpqEIcUF3ApGCnNUUsNSAAvYKg6PkCeDpG2UiY1uhHthIksYihr3N3XVbt91sdTL+lplP+ZRwG1iDxq8+HUgxiK5hl4BDL+6dXbWGbg4cQAFjcwnCIpSCyllbYxcSqt7PWkiC+ql5qT2klxREwwAhqESrOEomAJuMI4pz9lgJA0EBMcxwWm9/cSmaQHJ/e13OVtkLkKuNkYmQVBvirAmiUbsbQDAOAa6Do8GQ+lBY2ph15FfF0wfoqB4Ixunf8TgPuXbpgdkuYsMWkyHL4Zhffw+JYK+iszVomE35hz9ueix4I0xZIduNr4AIp66+QAa2/681ZX//aY/TI8I+zzZx63VV4EvIGMJ4KgIRASQziRAj9cP9+S9jwxqQMeNIRyO6uD/r6dtSfF5j8poB+XyueipyIy4MgmcVoIOAYuyChizR1LHDilJAR1JUEneWR9uUXv5PXS17U8SKwBdz12cIc4gthjQlA8DrgHcEVVcO8kdPTFABuGAUBEiYsEU7/Sk2KLFdFj7XZpWZK0UG2PADgQAeXUIMTVeh5fIHF4091aHQCOAxACPjiBdsWmZ7SnYP7JCEAet4hCjEinFEXtThFWqfjKSP1BC4q7YwSCK4IQRaCdoXaVI08DmzG/1jkeICSOeEAb5elF1Q6o22FMfi3uzrplj9EIgucZIo47ZFn+pKStRbU8WeBFtF3EcRRP61QkkBQZrkdzzlHYALIY53F3uWE8BYDTXXzHULVxGqY34/q3jgIrHh7Ocx8pAEMH4iLp6jo0NTOXNuK4C5kLg5MOMVBtkFg6vMc7PUTlXsRvw2QLsJDhpqa5o8iZQ93tdx1PTj8w7QYTe9xFOjnw0OL1I3UmLgS1s5tZvifNk39NHJxwMXKs92mIGSjVqVeGUKJh5g6AiyDCA+ArgadwrnYgDjJrqNLYNVhtVhY/c9VN5/7nzD+PcUR/v/iVkcxO2gkDEz+75sDs/ZsK57fNKPxcxsx1Jy4SYiD24UFPZzx30tIR/F6E23D+JC53NMqtnfVyvXLj5muum7Nv1qbjLNk9124+9gJT4kr9bq3Ub+/5dPLStFnaYFEYU/xRiGiWG+yfcRBxwcUo18ukeQmPCjw4orIK4c48LlDTcO2zV35/5kdfe35cT7h6xcPDqeSoK5FFzwW173XVJlyYtdO3TG3UBqFeblCtV7h0+wJMje6BLrZ9Zxtvn7+LdP8M0nKD4JyjyO48yemudb0yZ++cb9W6BzoVJk4bMB/OgfXDCqgreZRHg5V6UcRhoDah1uPiIw7p6BUc6e5n2RPX842dF4z8vvXyF3ll/nbi3ecyoWtwhonvxKVbQ7Q9j4v5/RNqm9TlOjXFo0DDhcK0A/CPy14acUD1rHXhnjP2vXnaQNcLMz+ZckUeF6OcjdLfXeO0/h6ufOnSMVJuu3QrLy94lfJ7Z56VZq1dIp6Yszgukr9K2n6gUFspRbwF04Wo0RQnHAW450cPHrsCZIWgD3XVun459dPeVcUogCIuCJGx6PnvkrWyMQBbL3+Rl+dvn91zYOY7olQ1D8vN5VGVlEqUM9hOHyIuViD+pIhf03Q6Dc3dWXvjYxztr65+nwg/K5J8UStrPT3aoPZ31bh6y0Lm7Zh73EDcdsnLc15Y8Nq/px3qjUzteg08YSaoJpQxBga6kWmH1moru1mEZ5omP8iPKnDf8kdHTW9ew2SeqM0CPjw2cQ0XZ/4bF5E1SzSzZseMuKCm571zzp6dfRM/ozJQXuJJa6OpQgCVhJIYg/UKrTP2Uvq09w8q/uMCniuQtR0Flv/x6HumuetHwD5zmX28u1X6uz6jmTWJLDo2FSO7oqfWsyVrVK+LmvKUl+u4Ch6kA6DG4GCV9uwPyA5PQsTXqss8MX1kGGBEgRnush9YI3DruN7D/ARfPUqwiFJLsaxxcgANxEWM5Cn/HQCNvr2Dit3ocgAAAABJRU5ErkJggg==) no-repeat; + background-size: 100% auto; +} + +div.blocklyToolboxDiv>div.blocklyToolboxContents>div:nth-child(11)>div.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NTozOCswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6MzgrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6ZmE1MjY5ZTItMTAxYy00NTQ2LTkzNDYtNThiY2ZlZGZiYWFiPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOmZhNTI2OWUyLTEwMWMtNDU0Ni05MzQ2LTU4YmNmZWRmYmFhYjwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOmZhNTI2OWUyLTEwMWMtNDU0Ni05MzQ2LTU4YmNmZWRmYmFhYjwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDpmYTUyNjllMi0xMDFjLTQ1NDYtOTM0Ni01OGJjZmVkZmJhYWI8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+Z3zfQAAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAACbElEQVR42sTXWYjOURjH8Y9sZbI0JZHRmCgxLiYZ24VGKOtITJFkwuBGuZILqbngikhZGmsaS8jOhcSFsiYZjK0kS0rIXMg+bp6p6WXe+b/vbL+r038553vO83uec06n+vp6WWoYyjERhchBNRZl0kmnLAAKcQYFjZ69xGfsxJ62BFiHjdFeG4N90gJlArAyZngPY/FTKygpwBA8xyvka0UlBdiNCszAxY4A+BpL3lsrKwlAIWpwFAs6AqAMx7Aa2zsCYFsMPh43OgLgHoqQG8WmXQG64TsehRe0N0AxbkXFW96WAIOQh28p9b0Cm1CJLVGQGqtL/FODPy0BuI4JLZhIEe63BGA0RkXBqcfvaO8N8y3FF/T4j0fqcDa80qoeyMVHPMYIbaR0AJNxOWEFzMFwPEi4Ev3RFx/SAawP85XjQDMdTotN6hxmJxj8XZwjNqcDOB+7XzHuJJjVcczDKcxt4puBkTF9sAyn0wHUoSe640fCkO7Aqgjd1JR3g/EUXQPwVDoPNBxAbmNMhr7aF2G7gJnxLA9PIosW4khzJpwVqbUVa7Iwd8NKHI5zZG0MXhr9NpsFDTtgWcQ2G1WGkUVdmYKrSdPwCiZhJB5mCTAUz6J9E+OS1oHO+BUmzPYINiCWvVdk0OhY+tIkACOjoFxDSRaDF4ThukZanmxkzH+y438Ai3EQGyKOmWhQlO6cuKJVN3p3MPo+HyZvEmAXVmRxBM/HiwjhnLi+paoqCtAlTG8K4G7sjHl4k8FFtTba83Eizbf7sSSMXpUK0A/v8TqWM6lKIr6lUYCaU1VM8lAqwAC8jZvQSu2gvwMAdWnjL54XeQgAAAAASUVORK5CYII=) no-repeat; + background-size: 100% auto; +} + +div.blocklyToolboxDiv>div.blocklyToolboxContents>div:nth-child(12)>div.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NjowMiswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTY6MDIrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6MTYyZTczZjgtYzU3ZS01NDQwLWJjZjQtOGFmZDA0MGJhNzg1PC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOjE2MmU3M2Y4LWM1N2UtNTQ0MC1iY2Y0LThhZmQwNDBiYTc4NTwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjE2MmU3M2Y4LWM1N2UtNTQ0MC1iY2Y0LThhZmQwNDBiYTc4NTwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDoxNjJlNzNmOC1jNTdlLTU0NDAtYmNmNC04YWZkMDQwYmE3ODU8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+n3pS8wAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAERklEQVR42uSXa4iUVRjHf//zznrJtBtFVtKHirQrrFG2lZgfSo3ALnjZcWOKtiCJkCgxC0NIFgsJLD+ksea6a2pKimYgZSCmEV5CQQ36EElSSYbSRWfm/Pvwzu7szoyr4S4Fvd/mzMM5v/M8/+dyZJt/89N/BmD5qsbOtQwOXwD3dLP7C+tezO6ulRDL/1qXAIsR2dLKUUwzhcxmYgBVXzKXa60BYIE1AbHFeAGwGRgh9CHWEiIzSWLlXuNA20okm7C+QTyBPIJi8g755HnEOQCsngYxXE4MHyAmIi8DtgPDsVqAE0RNIpPfgYBiAnAl6CiKJ8HXGf2imICBEF9HzCPqGWBpFUB2ZQVAR/Ym0JfARcD3wFVAXcn+x9L6EOTHiFpPDBDie4hmCsn1yN85U0AOEAUxQBL3EOINKA6tApi2qgKgvek15PmYBss7gaSbfRELISNvwUxKNaATxHCAfNKAgLp8pyZKCqMJWAG+unSJMkBjexVAC/Js8CjgUA/ZWMgCcRzFg0AD6W9j2oEZnXYOPTRyv9DnmNHAnt5D0N70BvIr4FuBA5CGsuvw1Pp35K9T4aULWOswj5dZ3V3144U+A1cD1PBAFUCXO88foB7Ye64hGAkcrsqbGED8SoiHwXenUH0J0JGdBVqEaUb+CLgGKAAB+BO4AHSAGNZgppIU0yg59BnAMNBW4M5ea6e5A2t3KQv61ANgDUJMJGoIMIjgpcA6opYhDyfErcCRcqr1PUAp3sJJzAjlwbOJYSEASbFs0+ci7MjS2TicblAndBo8F1iAlTagswAQYmriXgBkctM7anvAZfqeAGdoprUB3AnaA8CASh6qKsWtHdnK3c8DoFQNHdJKiG+zvB8LCVDsV4AZiKeBn4Brse6yvB34TVYAv0qI+/oHQDQS3I4BqwgcB38LGgUMRc4AeeT7ctPbv+oPgPXIkzGhp1hLokxiPWg31vxctm1ePwB4E2IsUcNqmSKPBB3Easll2+b0B8AGxANEDa5xOMAtoP1YC3LZtrlnAxggdOqsAPAx5pF0PqgA6Ezpcmr/I4DBQn+AXwLeqn0+ppispagpJBHkTxANRF1caxJGvhF0CGthLts2u7oQ1b7hIsyLCKzYfcDNYOVxWIKZSYggWokhhxmDfBK4sNtmR5AfRVpMIbyca1rx5pneBd2/XTjczOm6oSRFXJdPp6O0ZD8M2gieDGygkElFlinuwxrYy0tkJ2ZCrrH9RE+AlU21zMeReBtFrcZMc10BxQAOlyIfwxzDugKA0wNShw08BdZOxBjMs6VhdDxiFmYOodhCEslNWV3RC1qfqshbgSIMzL+A/DZWAbwGcRnWg8hQSOopZPZ2dcqkWEp4vYt4DjMV+AF4CDEXmAj+FEFuemU3XP5kbQlkCgC3I94HRpe63EagmRh+Lrk+HcnLTagesQMY1O1Gu5DHAnmguhv+b1/Hfw8A8lTR38QmejsAAAAASUVORK5CYII=) no-repeat; + background-size: 100% auto; +} + +div.blocklyToolboxDiv>div.blocklyToolboxContents>div:nth-child(12)>div.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NjowMyswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTY6MDMrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6OTllOWJiZDItY2ViNC01MDQ1LWFhMTctNTczZDNiYThlYTgyPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOjk5ZTliYmQyLWNlYjQtNTA0NS1hYTE3LTU3M2QzYmE4ZWE4MjwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjk5ZTliYmQyLWNlYjQtNTA0NS1hYTE3LTU3M2QzYmE4ZWE4MjwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDo5OWU5YmJkMi1jZWI0LTUwNDUtYWExNy01NzNkM2JhOGVhODI8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+Q3Jt1wAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAACqElEQVR42uzXV4hVVxTG8Z/dsUUNiholDybELmiwK9EHjRMCRoOKDR8soASRYMRGwoDDoCKCiQ8WREFIJlEyYSwwWEBsiI0ELJAHURQLKiPGzvVlDRzknut1mGvmwQ2Xe/Y+66zz33uvs9a3G2QyGf9na1AfARrjCIYnxp5gBM6k+GmHjZge/ZuYi721AfgS+1EaDrrhV2zCwiw+vsDhuK7EBcyK537Gd28D0AE7MB5bcRSdUYZqFONYwr5TzPYhuuNO4t5P+BHzsCUfgF44jg9wFV3QJO7diPGWmIQ9Mb45lvoT/JvF/1l8itb5AKxCCYbhBBol7F7Gfya2pzj61fgnnsnWZmInPopJ5AQow1L0xKUUh/dxMfHCDHZhRor9aBzCwFiNnACrsRx9Y1bZ2iOcjsCrAdiNb1Psx+BgfQAYgHP5bkEPXE5xeC/uDS0EwGKsj6j+A13xAg3xGC1iZcoxpRAAbVCFQW9IXp8nMmKdAkDzSEIt43pLvGBrJKQqXE/Y1znA6zXhecTFmhSbggI0wTOsiLrwHqA2ADWZsB/+flcAMzAHt/AxBkdVfRCf9EqcLxTAtKgNNQXsPq5EfWmdCOyROFUIgD2YEDPN1gZEDikJrVDnAJUYFUktW+sR1bQMywoBUIGxKEqx7xPBWBp+cwI0xdM8AP7EN4UAKMJ/WIJ1OQB+x+To7wux0jbF/rMQO2siw77xXJCJCvl9jlSdVMvbMRtDQqi2Sthfx8SQ7z9gbT4AJ9E7RVR+jb8i6isSQXYezXL4PBHSvzofgBrN/xumJsbb4278Oqa8ZAjmhxgdE3pjWXwBb3U0W4QNIU7K8SHGJb7rbDn+FywI4XINX0XQjceB2pwN+2NbiEux9HNxO0fCORaaIrmdoyJu6vfh9J22VwMAm1ky0Ekp5ZMAAAAASUVORK5CYII=) no-repeat; + background-size: 100% auto; +} + +#catOnBoardSensor.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAA5pJREFUWEftll2IHEUQx/+1u4nE40QxomgeIvgRURHxg0gkXNCHfKlLphdyoMI9SHKZuQuJkpBsrxnZ3kOJD+Z2dvFBJCLGmO29u0Qw5CEoImIOAkcgGDEqomc0D34h8eP2pqR7Zo8J+eAge7sv2aee3uqqX1V1VxWhwz/qsH1cBbggAuUdzhKk6WUi3uMV68dakaLyTrEqlcKjwPQBV41+mdR5HoDv92QWNhZ+CuAxI+Qp3ZIUBXnnOxAtBnCcMrTW9Ws/NyHOMxBI8TaAPvMnAb6r9CstiUBeVIiwyepiPtI1rzvb5+/9J7YTmQik0w9QNdrkD1xVX98K40bH7pee61qw4O+DYDwRQeAtr6RfmAEY9lddl2pc+wVA9wA4MS8MV24YGjnTBAikWEsZOuX6tdOzgaoWcg9xyEvckn6vKV+WudvB4SEiui9iwIoBpT+xKShLJ08gZYWJN3vF+nDzYFWKvhAwqcFUpnHDFn/s98tBvLGz9+ZMairKcYgnvSF9tClfKYjnmfFODDAyoLRjAYK88xWI7gL4h1Tjmgc2vbrvN7P/pnTubIDGAVwPYMJT+sHZRCCQzjhAjxjZ/zJ041a/9msimocBrDTf6TB9P5Wl6CHg41ig7Ck9OEMsc6MMzkaRQa9X1PtnBVAQ68F4P8o37/VKdXuxo2iLPoojSsBGCvJiDwjWKIdYPTCkDSGq0smGoNH43H5P6d6k8UpBHGDGchBNE3B8mqe2DKqxbxKeGgB7kQlwXKVHzHp4R+6mVJrPRnL8LiXDlXz3QV5IEIpWAWOZW9KfJ5TzxSKRZlrUX6pNWk8L65YRpz6zZsClAVWXifMm4j0AxmmmSBD95BVrtyVCVSdgnQXIULfr1/4y66AgxsB4JnIAp0H4F8C90SfsxTLr17Y93d01f/6fkT76yFO1NQnd+wjoBeNbCqQwirtMlfKUfjhB+SMAA3TSU9o+nQggNwnmW5P7QV58DcIdAH7xlL4loeMUgLsJOOMqbc5EOqR4HcCLAP7oLABjqqMpIGCy05dworPPkHCwo4WIGdvbXoorhdwhZn7KPlsKH29rMzJdFcCH8Ws85im91AK0ox0bO0nvifGsadczE9FcDiRR8XGqAPXbukg47Bb1artuVqe4Qs3JSFaRYhcDfmzrewop6w7VJi4AmLOhVIpm8zrHwBozCTUdb89YLp0sgTaHQHkwbsuXBEimpB3rlsz9VwJ6FeB/Fk4pyAxBTXEAAAAASUVORK5CYII=) no-repeat; + background-size: 100% auto; +} + +#catOnBoardSensor.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAp9JREFUWEftlk2IjlEUx3//stOIJMKC8jFCko9oJGLBzIjMxpSUhcLCJAsLYoSdzRAriYQxZRjKZCGSZKamJiUjX4kxWPhKIunovJ1nuj5GU955n83c1XPvc+45v3vOPfcckfNQzvYZBPjDA2ZWDuwBGiS1FSNEZrYSmA80SXqQ6vwFwMyGALeAhS4kqSghMrNnwASgA6iW9DqD+B3gBLAxftZL2lckDxwFtoaua8AaSV8Lh8wMmNkW4FjMz0taVwzjrsPMhgItwLLQeVzSpl4AMxsG3AWmAfeAFZJ6ErhqoEvS4/5AmdkcoFzSmUTHROAyMCPWlkq6WfCAme0CDsSPOkmHk40eEg+NjxGSPvwLwsxGA1mMl0u6nujaAJyKebOkmgzgITAFeAHMkvQ+wCYD7cBwoFPS7H56wPfMC9mRkt4lEK3u4ZjPlJktAW7EwhFJ2xLhi35hYl4rqbGfAH5/zoXsSUnZxXZvpx7d7AANQGa0UpITuqAbdgAfjZJqU+Nm1gQsBn5Eem2X9CSBd4DsItdIag69o4C3IXfaAXrdlea9me0G9odghaQ7iXLrwxPjJXWHoQrgdsgdlOT6CsPM3OPu+XYHyB6JV5LGJUIXgLUxL5P0OTZfAlbHumfFN2B6zAsXK+TKgE+xflVSVaL7LOAefeoArtjztEPS3EToJeBA9yVlqeP0fsKx6bqZPQImAW8kjUl0dAFTgR5JvifzwCFgB/Axb4DveYegO+9L2Jl3Grbk/RDtzOMp9oK0KhJiUamLkVfVK2G8TdKCDGDAy3E8Tunp13u5LklDEsa92fGmx0erpEr/KFVLtheoD+PPoyXr/BvAQDWlWfH6AlR5J5Q9y6Vqy7201wHebxTKcp8A6c9SfBel7/8f0EGAn72Ox+WpecOdAAAAAElFTkSuQmCC) no-repeat; + background-size: 100% auto; +} + +#catOnBoardActuator.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAABKtJREFUWEe9l11oHFUUx/9nNqUmpqmlYKXSBwUtiemLQR8igdagUNQkUpKdTatCAu7sZjYfDwZEJV82Jliwyc7sTrZUwWB3Nmvxg9KH+pAqqdFo2oClmD4VfchDVUKDYMLOPTK72XbT7O5sPnSeBu495/zOveee+7+ETXwdZzz7rASXZ5quSHQ94o3+sVF3VIiB/5PGR1z/SPVMUh3AhwAcyGF3E6ArRMIMemOXCvGdF8CvywekInSD8RqA3QDFAVxm4JquRKfTAVrO1u0qWSmpInAlE2oBagDoOwKdDSrnPs0HkhMgEHarDOoGoRSEEWJXPKh8dqOQrAJn5Bq28AaAVgAGJ5bf1dUv/sxmmxUgMCa3M2OEGWHB1kjYH58vJPD9c9RQUwMk6gGICK7mbAmsA1ANzwmAx0Ho1bxm32YCZ9p0ftTwUKK4OALiCmJX0/0QawDUsHwYhIsgDG9H8EwQ1fBM2BAigaOhNvP39NhdgK5w46MJyXWRmeY1Jdq01cyz2auGPAnCdc1rBtYBqIZ8HsCznOBaXY3d/E8AUis8yaAXdSX6jR0juQLtYXelIPoFoDZNiYbyBbe3SfOZlzcLqI7JPWAc1BSz+S6AGna/A1AH7bSeCrbEbzsBEKEzIayBsD8+u1GQgHG8gmHNCAvldi0kV0A15GmAr2pKrM3J4WqhTgK4A2BAU8xTTjbrjqfhmWDib3WvqZPdZqVl1wIE6jW/+bWTs3sA1ALwIIOvgqhf95o/Otmmx1VDVgC8oCnmMVIjnmMQ/PkDJTtKT70+/reTkzSAppjUbjQ/YUEMEvAymPs0X2zIyT5Zc7pcLYrwpeY1H6bVojisKeaRQowzAdLz20LuTpJwEozvAe7VfBNX8vny642lksu1RIyntwUgmVVErhYCvQBqGdynK7H+XBC+UPMelyT+AuPItgEEQnINJPQI8POA1Ksr0ZwAft1dLrnoRgog7OkGcaOmmM9sdgtWffQQME1EvaPe6JTTUbYbUgogItcRI753j7Wrtym+4gSRWQOpTDAI4CgR9Qe9pv3v+KmGxw/w6RUqe5A6QicOWlLiVwZVZ4qMXF7SACShVQh8QIRZsrg/6I/94Bh5dYJqyGEwntR8Zm26Ec0x6JKuRLudnKQBGLwkEQaC3tiHTjbrG5H8EwgX7Bs3BTAmdzGj/c7Sjsrxt/L3AhvAbsUMvK8p5s8bDR4Yk19ixoUE4zHDZ95KArRpr+6lop1zxDwc9MU0pwLa0mVkyCZAy5oStSVb6jZMroJ9GsCqEHguUzBsNEOn+WrYPUwQ54O++MwagCSEIU+BcC1TMDg53Or4WkkWkesg8NV26cFC4NaL0jF3I5gm/i+IrLJctSFAp8E8IyzRF2qLzxWSzfrjllTYrYLovVCO7pj7YWIcrwDEEEPUEKSPBfFEoXd+sldI6AKjDkxDmi/6dq4EHN+G9nXN4FeIqYqBKYnZYKJ5YVmLiaKixf0LC4u39+97XBJSFYMPMVBBQD2AiETWyVFv/Ld8q+cIcO+YJhWtB8Cb2RwycMt+N0rEs2S5pkf95wrSiwUDZAYNjB4vQzHKYKFMQOy2mBfsrraZOvkXImQaBwSKbdgAAAAASUVORK5CYII=) no-repeat; + background-size: 100% auto; +} + +#catOnBoardActuator.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAA3RJREFUWEetl0+oVVUUxn/fOK0kqCAaGKjkn0lSAyPQxEDKEkQhMYSEiLSySRAqqWkqNSiwEqEGNZFKMIkGOrBC0/6ZYEQ6Ehs4yEKSBjb56nvtq8frvXef+97dcHkPzll7/fY6a31rbTGOZfsO4N4u058lXRx2O7UxsH0n8ATwODAHuLuP3VngGLBP0qE2ew8EsB1HLwNPAbcAnwBfAj9JOt5xYHsyMBeYDSwElgJfA+9L+nAQSF8A2+uK80nA23Eu6Zc2p7L9ELAaWAPsATZK+qOXbU8A2y8Up+/lr6QzbRx3v2M7kXgViJ+VvQ5wA4DtVcBHwGZJW8bjuGlj+1ZgLzATWNENcR2A7fnAF8CuUTjvAvm4QCyW9Fvn2VUA23cV52ckrZjoyXvZ2z4CpFyf7wWwH3ggWSwp5TTyVSIciEckHY6DsQjYTvmcBtZKeneQ52wiKaU4rmU7STlD0somwAbgRWCWpN9rAMB64DVJPw5LYTvJ+F2UNLnQiUBE5aSktbUNG2H8q0C8WbPpUZ5JyK8kvaMisxcitZIO1jZrADwNvB5wYKukb2u2DeV8FlgkaVkAlgGfApMk/V3bpAMgKbbTCsRjwBZJO2v2JefmAQck3Z5NkhRJrAUtjaMVRwLQOFFyYjvwTRGwNKS+y3bk/TJw30gAGqfaXJpRorG1H4HtKcCfwIJRAqQBJZoPlygMAsgskcY2BpB2u1zS/RP4BNkjzlNN6SFHW5RyBGkMIENG+vxkSf/UILqSMCdJJSwulZD/q8v2c8BbwE0BmAH8CsxrDhkDvt9YEpZevwOIGKUMT1Q9lxdsp81Pl7SwI0SngEOSEsqBq6EDyeKo4Rs1mx5C9D3weTpuB+AlIEPI7JoWFICU3TZJP4zD+aNxDkyVdK4DcBuQKGQO2F1LoAk2o33AFUkZ2f7vhqWOE/7MgQ82B4ZhT1h73/YuYL+kNKRrAAUi5ZOJ9+rAUNtwos+7R7KU5GejmgfbwPUaSpcDaZcjGUprEP3G8kBEKPKdoutJ0KFXmbBzN9jUTx0HXUwyuaS9RuM/SFTa9vxSqintfNKdkl7pR1+9G5Z2vaRcvZKkuenkonKp8bunPM+9MeC5R+YusF3S+UGhqwI0yjQS/CTwTJ8Nz5V7Y6T5eNt5sTVA06ntm4HOL5fWC1G1oZPkP4N/AVYfhBdHznUwAAAAAElFTkSuQmCC) no-repeat; + background-size: 100% auto; +} + +#catOnBoardDisplay.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAdJJREFUWEftlrsvBFEUxr9zxyORSDRCKaHXqIhYhUKnMEuCEGEeCoVCi0pUEgkzOxKESJhJ+Au8glD4A5Si0Gyn85ojs7LsDmuJO0Eyt5ubM9/5nW/O3HsIv7zol/Pj7wGott1BAvUgqpHpDoGviXC9NWLs5ermOaA61hCBVgE8MHAqFwDNAMpANO2O6jNZ7VeAZMqaBNEcmCeEj90t07ySCaCurFSLx3uVgUViSm7ruhfovwE4qYtgw9X0JpmJw1rJlH3JxHeeZjaGAGwO2xMFSHI5NQXmaVczMsXnOBADxA7EDsQOxA68OOA/+kdRHMFZTVEi2gofxVFmDml/dBfcAljzn3gnSg5FoUEGul3NqAxfRscA13JJebM3PJyOAqLXsup8hQ4YfONpZksegOpYAwRaJ/CGD+x7mrkmE6LbshJCIRXAGDO1erp+kgcQPPQ4S50MWgCoQWbyNy1Og8Wsq+vz70ay7EbX6nxV2X15AkLJTCyfLWZOZKogOiwWC/bPSysezjb7x4Nee10/GstVxz4IlDzNaC8KUCDgfwEE81zW9kIVB58jd+wu5sy3HOhxrD4m8WmDEnN6WzOWiiUu2IRffVFW3LcckJVU2l8gA+gZLgALMFpGl0sAAAAASUVORK5CYII=) no-repeat; + background-size: 100% auto; +} + +#catOnBoardDisplay.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAAEzo7pQAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAB4UExURQAAAP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8ao5KwAAAAndFJOUwAOEBUgPEBDRUdJUFVbXWBhaGpxdn+SlZ+iv8PFzNHY29/q8vP5+u1c/V8AAAAJcEhZcwAADsMAAA7DAcdvqGQAAADQSURBVChT1ZPZEoIwDEWrIO6iYF3qhmv//w9tbiJDK/KAvnhmSm+T2yWdokK00aKc5k9Xk7CGKJNOJGCDkc4QfQHv3U2ScY248nSnNDFEEDvVcJAenFwrlyFwPJYMArw+Q4HZFjmQVOxG+lakD5QKsKZ30qNrXkVk+UlA6gIUWIkGN3Kl5GXWPfqO6ZoNLruDMAiqn1JadDsGC2wRMO9LemnzWKRHlNkJhP24vaZC/8XQAAy7IkL/RnzesxgV4g+45Jz3ME2vWMsDrfza36PUE7XUGfAv2qLCAAAAAElFTkSuQmCC) no-repeat; + background-size: 100% auto; +} + +#catPE_G1.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NToyMiswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6MjIrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6ZDNmNzAyOWQtOWMwYy00NTRiLTllMTQtNTg0MjY3NTRiYWMyPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOmQzZjcwMjlkLTljMGMtNDU0Yi05ZTE0LTU4NDI2NzU0YmFjMjwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOmQzZjcwMjlkLTljMGMtNDU0Yi05ZTE0LTU4NDI2NzU0YmFjMjwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDpkM2Y3MDI5ZC05YzBjLTQ1NGItOWUxNC01ODQyNjc1NGJhYzI8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+/zmC9wAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAADFklEQVR42uzXPYgdVRjG8f/znnFbEUWwFBENKVLEMosoWNiYoEnYL4MEtbAQoqsi9gHNrh+FYKKNMfeGZZeNNoKaJhIrU9ikEQnpUq2gRYp1zvtYzFxJjAlC5pImpxyGc37M+3HekW3u5NJdwLWA5fEikUGNpC2VsChZ3ha8D/zu1HzC9xEJGSQQpULb4EgiEtfSPY+EWrBMlIrbhiyVAFYWRjcHKAMDLhWh3bIu2HwmeAzxlGEd8iVquZoaHLD0hcwm1rcKAB8yfOkaQgnFr8o6jozbWEwxHhTw1njJ4I+AN0AA+4F1Uo8gX0oZarkvIkcEz9qcBx+klitDAt4DjvaAF4ANUg8Dl90foKgg9gmdAXDGspWrUwcApIVKBcC1lCh5QnDY8Bt4nzMuThVgC3oAtUBUCO+R42vgfpvVtJanBgBwJAZUC5SKZahBBEeBd4E/jZ+jLeccUwAgk/L1gAxCxvC4rE2JHU59lfByRN12HRIAXa8AFHkdIPvQROTrhD8BgX3AtWwMCgBIQDLuO+O1AJWK4UE5Tof8tK2zVTkXsDUYwAA3+QI9ANqGaNqDwJoRmD0ri6d+GgTwT0LeAqC2gabFFiF+Bp44tnBKwwCs7vBIMoMAVCqZgTKgaclaCAuaFjkuALsHA9iC/wVgIZocuQPPrsyPzg9TBVb3Vn/oDYBSHwKtBcw69UPK80Rurc6PByjDSJyB+s54A8BxJCI/dJeKB1zLhiMhkmEApXYX078BkTsNZyQ9StXJlF9R5Pbkyp4uQD4msQz8YeVe2uac5e7yGgrgPvvVJ5hS0NQnhb4B7rX5wNY76puT+7DcPsBcJro6V8YEMBPwOeFD4F+B551xcdKihweU7OaBDFTqftB6X45HjD+eDCS3C/jvkQwu9bF+QGgs+RnjH8FzynIlZYYAHE9508rvGgfAi7ZOdkOpUeRriE8B3JYFy6ejVKiFYQCjJWqppEVTC8AuhX9x6oTEDuRZmzWUh6nN1cm0MyygacntGbQ9A6VS7vnrTYVXsLacmrM5q6bfcGjA3X/DO7H+HgDRj5vujRlaHAAAAABJRU5ErkJggg==) no-repeat; + background-size: 100% auto; +} + +#catPE_G1.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NToyMyswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6MjMrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6ZmEyZmFlYWEtZjcyYS1hYjQzLThkN2EtYjEwY2QxMTA3MmNiPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOmZhMmZhZWFhLWY3MmEtYWI0My04ZDdhLWIxMGNkMTEwNzJjYjwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOmZhMmZhZWFhLWY3MmEtYWI0My04ZDdhLWIxMGNkMTEwNzJjYjwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDpmYTJmYWVhYS1mNzJhLWFiNDMtOGQ3YS1iMTBjZDExMDcyY2I8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+wqwjaAAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAABl0lEQVR42uzXP0hVcRjG8c9FcI0wgsYQSWloqDEJgwYXk/6IFYaEOjQIlRTRLpTanyHIaqlQEaV0ESoXI6ccWlxCws1JwYaGltvyHrhIQ8O9ryC+0+89cA7f3znv73meUyqXy3azSvsA/wFwFw+xhSv4lAlwEit4gWNowwx68bsWAK/xHgvRX8cblKIfwHisr2Gy2gBlPMHt6C/FjhvxM64dxATa8RVd2KgmwAMMR38RsziK9R33duJDrIcwlg0AdXiJG1gLqNVMgKJOYw4N8SaGsgGKGsZ9/EIHlrIBoDlOUgveoQ9/MgGKGsSzWF+O56QCwGFM4SwW0Y3NTICiujBdMbDL2QBFfcOpCmVNB1gJf0kHuBryDa0h4SkAR+Lbt+Jz2HnaEN7C4904hsfDpJrwFv2ZQjQSPrCN85lSfAbzOIBHuJdlRvV4FcnpBy5k2nGRloqBe5oVyQ5FFjyHL6HvVYtk42GlH6PviUkulOsmnleIy1StY/kJfI/Y1RKCMh0RrCax/F91B6OhYN1hq/v/hnsH4O8A38/3wXV4mTEAAAAASUVORK5CYII=) no-repeat; + background-size: 100% auto; +} + +#catSANT_G3.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NjowNCswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTY6MDQrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6ZTgzOWI5NTgtMjZhNy1kYTQwLTg1NDQtZWRkY2UzZjYzYmNhPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOmU4MzliOTU4LTI2YTctZGE0MC04NTQ0LWVkZGNlM2Y2M2JjYTwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOmU4MzliOTU4LTI2YTctZGE0MC04NTQ0LWVkZGNlM2Y2M2JjYTwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDplODM5Yjk1OC0yNmE3LWRhNDAtODU0NC1lZGRjZTNmNjNiY2E8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+w67uMwAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAFA0lEQVR42sSXS6hkVxWGv3/tfW4bgxIJNK1RuKJ4J42PgWJGCUkEHwMHcZSbgYKQgWRqRKI4izF3IoiERnzQ3pkRRwaFpB21GATRJpDuIDFog23EGNMm3XXOXr+DU1W36tbDJhlkD+ucOvtba/3r32vLNm/l0uHBfXdJfOSN/h+7DarnWpQ/iTEYI2SzkxOESQcArRSGqGghaB0e7P8W+OSbCGIw+klKX8ZLZBTaCGRtBfCU+iLYQNzoxsDbBbvAZSfvnT0wIpRIvmGAl2xOzlK1IdeglZ9vDvkq8HxaH1p8UNTmGyXx/wFInyTAEhzTpWQaBaWRPb4zrltD/ucigNG4eRijEbrxpMwHhlI+00f353AeAzBXpDyl4o3RX9PbaC7UHIicf+C2kP8GXEprbx59NDKCzDHyIM+Gfb/R633Uj1m6uAhwbRrlGcbY19TB0ahnmuKPAKW17QAaAdxEaY2sAdKjkflVS6/YvCecr80A/gW8a8yVNyqA5CvG3wcWS7ACEE4UHjNAoQ49GcH1ukPX2g9rDl9CPpfEXZbQ4cH+AFwF7t0meVsXDP849vMcoFl7YRNuEPFwhqrRt5QmS4EYn0XjBVu7rcbnMuKXMxFewT6FtA1gXX6WM6AxO+F0GCw/k9an+rrzn+qBkgMmbhecR7yYYncG8Hfsd/sYgOy5KuzYCuBkr0Wh7zq6Nvlg19oPEHckerZFOW1EbQMiQboAOp3SJ3R4sD8BesM3jgoOwAmZ87Z/M+3F0VC0OQOy6WtHkJRsCM7JvtPSd4YoD4WTaAnSA4jHDQc6PNh/GbhlbdrRU2ndo43iXAVoUXBopumbuhz+C6gR7wRenXrAnuA5i9/r8GC/BybYDy61oelU+IMifzezUlvz3t7WhtTRO4wI+6wa9zfpCyk9UTIRrkg90C9p4Fj4qHhsqQwiRm/v+w5bM59fCxDMzgFj4gHQ49hfF37EsxpKLwO3LANsOYYUSYmktcIw1DcEADyy4O9zgLEEmpdAqy5EAX4dkX+xRWvlBkowraf9UzX2m3RvSj8vmciuhHpgslWEyz4QDyZ875ggVwBk4xB9qYS9KMJ3AFfnIhTPmVGEE6DH/uaWDHRYPzM8fyNWbAmHCHvWho8OUb62pg0f2yzC1Z6cr1SstWJhSiYZ8T6Js8J3GD07LBmRQVwAnbb08a1WbIRtgukcgBY3Xz0Lxjc6FJPpF56xdc+k7rzauR9PRpXbhc8jv5jS7tbDyOivaS5pNhF5Kf3LJUj2HEHWiDoM35V4JdHDaqaVgooZS+AXjHZbic9m6MmF43ht8/3K6U+PaR8xtonQEn3tONGuI8zgyg4TmgrX4wQ1hx91OXzR4unmcvfsOL42jfYMPnJC4ZKKp1rEE7YoNKoGMsdJZ50PyGYolUIjSByiU8/QKk59u8gPJfq3zW2yX1ucCa/YnEoLpjOhnAy14hp02VNoRzo4gljpAksESWUYQzGkyy+MPg+83kf9qKVLq0Opx6F0SQPTjwU5n2znQ2orOOPWiFwaSuVxGnJoCgzFvhxu2Ue9cyjrh9KXFHmSmDv1aAg+6oZ1KzNu1ijgFYC+dnO9lNZqyTZkBEPZcDGRfNEbh9K1U+IA3GTr/YbLTC8mllCaVsuofpvIcT7YBPBmr2bN6MeLVzMx3h1mm20HeOy+u018mO1j8cZECGeLeHrxcjqr4cwztgK81dfz/w0AHjWdyjCbBL0AAAAASUVORK5CYII=) no-repeat; + background-size: 100% auto; +} + +#catSANT_G3.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NjowNCswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTY6MDQrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6NzQ1YzdjNjktY2JiZi1mMDRhLTg4ZGItMmQ4OWM4YjgzYjQwPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOjc0NWM3YzY5LWNiYmYtZjA0YS04OGRiLTJkODljOGI4M2I0MDwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjc0NWM3YzY5LWNiYmYtZjA0YS04OGRiLTJkODljOGI4M2I0MDwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDo3NDVjN2M2OS1jYmJmLWYwNGEtODhkYi0yZDg5YzhiODNiNDA8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+H1XW1AAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAACSElEQVR42szXS4iNYRzH8c+ZSxqikZJrjchsJpcFsaKZUS4LC3YsKGWh2SIN2THYKEmSSyyNrEyUGSsiJaRcmhBTbhnXobl4bZ5Xp3GcM/O+58zxrN6e933e5/s8////9///M1EUKefIRFHUiIVJ12MIXXiQFOAWlqU4xCDOYVtSgNgGTxChYhQbj0cdejArDcB7TE2wfgK+4RnmlwNgCj6MAKADc7EG3bkA3mJaAoCZeI2nqM/z3Xlsxg8sDub+A/AzPJ/M4wMV4f39hADQhp34jBnoiwE+YvIITrsDx1MAwGlsDWHbGAMMBkfaUGDxQ7wbIUArqrA/x3+eh8hZhyul8oE4tO9gFb5kvVuOm3iJuhjgDaYXEWAeTmEFHqEhx202YGkmiqJ+DGBvlrzCuEB6I0UUdGElDmFX1vx2nMCRTBRFvaj9xwbX0ZwCoAbfw6Em4WuYr8dj3M1EUTSAfrQMC8Nq3MPtlDoQa8BGtIe5qnDrA6XyATmuew8OZM33ova/ABhugkyOnF+Ja3iRAOACNgWduTTMBP2FnDB7tOBYCiecGATvLyeMw3BfnhuoxsWQ9ZKEYRt25zDL4VL5wOzg/YWEaEkppLg6+FQsxc1Z8Z9TivMlo1fh56MBqMDRkHZb8ySjtegolI6vYnURCpJ4nMEWdKKpUEFSGaS4vUgAB0M++BTW9Y1lSXYZ60NJtijbrGNVlPbgVwjJ7nKU5VWhjyh6Y1KDOWkbk7St2RDOpmnNmrAgSO5oW+VMsG1nmua0rO357wEA7D8z1ZGqH+UAAAAASUVORK5CYII=) no-repeat; + background-size: 100% auto; +} + +#catExternSensor.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAA4xJREFUWEftllGIVFUYx//fnVaizSgkCu2hIMuoiKikMMKoB1OjIUGc+91ZmjBIg2R37qwPSU1UD3nPQKvkU8m2e891XUnToMWH2IgIFYRFEA2tiFLLh7JYKmfc+8U5c+/MiBkLjTMv3qd7zvnO9/3O/5zznY/Q5Y+6HB9XAS5RIFK5RTGc12OZGeorjR1sxxaFip8hksUzFzLjfRtHj7X6vAhgsly+5vT1J74E8JgxYl+3ZYu04u8B3A7gcDXuWVkYHP45hbgogFbudoAKdpCkzMXozTYp8D4B6+u+ZH91ek62UB7+24ZJA+jN7jo4tC1p72Rfr2lHcONjJMj3ZijeC+CpBOID9qOXGgBhmW9ALw4Q4R6AjsQZLMv3h2dSgLDCK+cQHV89EJ6cDZRW7kMAFrEf6dR+JMjf4VC8j4D7TF8s9GS+FH5hFYgCfk0Ib9cVkg1cirakE6PAKwjJdtOuZnpuKvQPn/sviOi93C1ywbF7LISnvaL+vKFyxeuDyEdJezf7epUF0Mr9BqC7APyI6+QBXh/9ZvuH3IWo0SEANwKYYl8/ODsF2Mx5xNj+5VTnrR3Y9WtDzYAniLDMtDPi3E+jgbfUIZm0xMBWz9evNoiVtweQbKJMjkvR2KwAAncNiHYktsPs6/rBtmo3FSWil0lXeAgCG1SA5Z6vJ6yh8rIC2VOfJmPsR7nW4Fp544A8AWAGoMO1uNb/wuDOb5vw7g6AkoMsq9iPdpux8S2Fm2vV6tnEbpS0asrVeu+1cjcB9JYxjImW5Ivh103nLP+mRI+TuW31wMgpMxZu5iXk4CuLL3jHK+lNDRUUTwqwFMAhA5AmidPs6wUtQT4G8Lxpn5uuzn2lvGvanosKfwLBc4liJ4lwHoJ7k3n2YJn/D999ce61mfN/1AWkz7gUrkh9h4ojAoyi3xkA47jXZCn29cMtRj8RsACEo1zU9upYAMVmhfNb+0PFJwi4E8Av7OtbG7YBHwfhbgBn2NfzWxRQAhQB/N5tgFpXt4CAU90+hFPdvYaEvV1NRAJs7Hgq1srbB8iz9nbGeLyjj5F5VUnwqQlOwEHX149agE48x/Uc0lw9IJ55rjtSkNjggbsNROuSZDTBvl6eKNHM6leqJNMV9w0IlZNIPyCWLA9GU5cAXMGi1D5eIvhTQCtMJZQuuyNleaRyWcDZIJCt6bN8WYDmhnTmry11//9BvQrwD1F8Qa3W8hbBAAAAAElFTkSuQmCC) no-repeat; + background-size: 100% auto; +} + +#catExternSensor.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAp9JREFUWEftlk2IjlEUx3//stOIJMKC8jFCko9oJGLBzIjMxpSUhcLCJAsLYoSdzRAriYQxZRjKZCGSZKamJiUjX4kxWPhKIunovJ1nuj5GU955n83c1XPvc+45v3vOPfcckfNQzvYZBPjDA2ZWDuwBGiS1FSNEZrYSmA80SXqQ6vwFwMyGALeAhS4kqSghMrNnwASgA6iW9DqD+B3gBLAxftZL2lckDxwFtoaua8AaSV8Lh8wMmNkW4FjMz0taVwzjrsPMhgItwLLQeVzSpl4AMxsG3AWmAfeAFZJ6ErhqoEvS4/5AmdkcoFzSmUTHROAyMCPWlkq6WfCAme0CDsSPOkmHk40eEg+NjxGSPvwLwsxGA1mMl0u6nujaAJyKebOkmgzgITAFeAHMkvQ+wCYD7cBwoFPS7H56wPfMC9mRkt4lEK3u4ZjPlJktAW7EwhFJ2xLhi35hYl4rqbGfAH5/zoXsSUnZxXZvpx7d7AANQGa0UpITuqAbdgAfjZJqU+Nm1gQsBn5Eem2X9CSBd4DsItdIag69o4C3IXfaAXrdlea9me0G9odghaQ7iXLrwxPjJXWHoQrgdsgdlOT6CsPM3OPu+XYHyB6JV5LGJUIXgLUxL5P0OTZfAlbHumfFN2B6zAsXK+TKgE+xflVSVaL7LOAefeoArtjztEPS3EToJeBA9yVlqeP0fsKx6bqZPQImAW8kjUl0dAFTgR5JvifzwCFgB/Axb4DveYegO+9L2Jl3Grbk/RDtzOMp9oK0KhJiUamLkVfVK2G8TdKCDGDAy3E8Tunp13u5LklDEsa92fGmx0erpEr/KFVLtheoD+PPoyXr/BvAQDWlWfH6AlR5J5Q9y6Vqy7201wHebxTKcp8A6c9SfBel7/8f0EGAn72Ox+WpecOdAAAAAElFTkSuQmCC) no-repeat; + background-size: 100% auto; +} + +#catExternActuator.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAABKdJREFUWEe9l11sFFUUx//nTlujtAVj4kcMJpooocKLRB9qSMBGE6K2JKSVzp22BBJj+CzshxI1/ZJC3dkCiQghQSI7d3ZtJVFDeMAHqgGrKB+JhIhPRB8a40ca0Afpzj06y27dtrud7Ue8r/f+z/mdO+ece4Ywi7XDbX6g3DOW5kvZ8K7GzeRvMzVHpQgiAxse5HS6AYx6gJcDWFxYxz8COE8GpWLr1ZlSbE8LsCu5frHQIgpQC4CFAA0y8RBBX7bN5HDOQfTYxipdcXsFhF7GQB2B1gL4kkDHYtI5MR1IUYCwMrcC8J1XAnyQmQbjlrpWSlSRpLWSNdoA3kTAkbK08dbethO/F9IWBAgrcztABwE+LLQ4+G6Lc70Ux5PPhNzmtcSiAwxiwCwUwBSAsCstMBIAd9rS7ZqN43xN+/ENi8oq0kcJXKMZTZMhJgCEE9YqCD4NcN98OM8HCStrwIfwhLemvzn1c25vHGDnQOvDRlqfBuO6LZ2muUZeSB925VkwX7Wlu20KQFjJkwCe0el0XX/bR345zfvK3vBZ1vqFeEvyc99B5gbCqZZl8PT3TNgSN9X703n2jdgtztBs6cLK7CCiJTFTmf8BOPJNEO8oL7/ryb1Nx38NAoDgdgb3xKV7caYgIUfWEOGCFt5SPxcyNxBScpgYl2xLbQkymLtGADcJ3BOTrh2kmbyfSUjmL2KWOkSZNjs2NqI1NfS3OJ8FGRsHINoIoBesL0EY3XZz4psgbW4/5MjXiPC8LdU6irjWOmb+GJ6otFsTfwUZyQHYUlFEmY8zUS8YLxGhK2aqfUF6f39Xwqo1DHwSM537yU8KEK2yTbW6FHE+QO582JHtAPaA8BUxOmOWOj+drc2HGivvWVRxSwvvqXkB8J29nrRqtdadDKpjRlfcUt3FIN5Q5r1p0B/QtHreACIJayUEd2jwcyDqjJvFAdpPvLK0zCi7lgEIOTJKxI22dJ+e7SeIODIKIt/5MEh0xs3EuRJK+WwGIJq06rXmwcry21WdTYO3gyDyc8CPpNwo72XoNQzRHZdOb5A+U/au3EyMAzf/XLCAoglriRb8A0jX5g8ZxQzlAEhgE2vsBXBRM7r7LfV1Kc79MxFHHmbiJ2zp1t1pxY68AuCMbalokJHxPsC4BUE9tunEgjRTG5H5LYBT/oubAYgoc6cGbSdPLAvqBVmAds/z3tnfmvpuxs6T1ovQfCotvEcPNKduZAB2f9h631iZdyU7B7wXlEBzeYxCSqYI/Lct3Tbfz/g8kK2GrVroZ/MHhplGGHQ+5Mg+TXxyv3QvTADI5IKS5wC+nD8wBBmc6/6EkSxbkp/O1zxYCtyUoTSizEYGDfxfEAXH8izEAQJdAHRXTLp+mc54ZSZsYBNDvx03kwW7Y9EfkzuTC+0DeCXAH8DTA3ZrqqQ33y9VNngnMeqZsS9uqd3F6AP/DTPPNehlACsY7EdxxPD09TEqGxWGN1r10MjozV8eeczQ2t9fDkYNgAYCHRVp2tPXlvhpuqsLBMiJ/ahIoJnBrxYyyMANAEMEusjQw6XOiyUD5Dvd5sjqu4FqD6gmoRemiUf8rjbjJPlX8A+RZjtkUBGFRgAAAABJRU5ErkJggg==) no-repeat; + background-size: 100% auto; +} + +#catExternActuator.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAA3RJREFUWEetl0+oVVUUxn/fOK0kqCAaGKjkn0lSAyPQxEDKEkQhMYSEiLSySRAqqWkqNSiwEqEGNZFKMIkGOrBC0/6ZYEQ6Ehs4yEKSBjb56nvtq8frvXef+97dcHkPzll7/fY6a31rbTGOZfsO4N4u058lXRx2O7UxsH0n8ATwODAHuLuP3VngGLBP0qE2ew8EsB1HLwNPAbcAnwBfAj9JOt5xYHsyMBeYDSwElgJfA+9L+nAQSF8A2+uK80nA23Eu6Zc2p7L9ELAaWAPsATZK+qOXbU8A2y8Up+/lr6QzbRx3v2M7kXgViJ+VvQ5wA4DtVcBHwGZJW8bjuGlj+1ZgLzATWNENcR2A7fnAF8CuUTjvAvm4QCyW9Fvn2VUA23cV52ckrZjoyXvZ2z4CpFyf7wWwH3ggWSwp5TTyVSIciEckHY6DsQjYTvmcBtZKeneQ52wiKaU4rmU7STlD0somwAbgRWCWpN9rAMB64DVJPw5LYTvJ+F2UNLnQiUBE5aSktbUNG2H8q0C8WbPpUZ5JyK8kvaMisxcitZIO1jZrADwNvB5wYKukb2u2DeV8FlgkaVkAlgGfApMk/V3bpAMgKbbTCsRjwBZJO2v2JefmAQck3Z5NkhRJrAUtjaMVRwLQOFFyYjvwTRGwNKS+y3bk/TJw30gAGqfaXJpRorG1H4HtKcCfwIJRAqQBJZoPlygMAsgskcY2BpB2u1zS/RP4BNkjzlNN6SFHW5RyBGkMIENG+vxkSf/UILqSMCdJJSwulZD/q8v2c8BbwE0BmAH8CsxrDhkDvt9YEpZevwOIGKUMT1Q9lxdsp81Pl7SwI0SngEOSEsqBq6EDyeKo4Rs1mx5C9D3weTpuB+AlIEPI7JoWFICU3TZJP4zD+aNxDkyVdK4DcBuQKGQO2F1LoAk2o33AFUkZ2f7vhqWOE/7MgQ82B4ZhT1h73/YuYL+kNKRrAAUi5ZOJ9+rAUNtwos+7R7KU5GejmgfbwPUaSpcDaZcjGUprEP3G8kBEKPKdoutJ0KFXmbBzN9jUTx0HXUwyuaS9RuM/SFTa9vxSqintfNKdkl7pR1+9G5Z2vaRcvZKkuenkonKp8bunPM+9MeC5R+YusF3S+UGhqwI0yjQS/CTwTJ8Nz5V7Y6T5eNt5sTVA06ntm4HOL5fWC1G1oZPkP4N/AVYfhBdHznUwAAAAAElFTkSuQmCC) no-repeat; + background-size: 100% auto; +} + +#catMatrix.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTktMTAtMDNUMTE6MDQ6MjkrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NTo1NSswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6NTUrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6MzEyZjJiNDktNTM4ZS1hNzRlLTlkNzItNjc2ODBiMDIyNGU2PC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOjMxMmYyYjQ5LTUzOGUtYTc0ZS05ZDcyLTY3NjgwYjAyMjRlNjwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjMxMmYyYjQ5LTUzOGUtYTc0ZS05ZDcyLTY3NjgwYjAyMjRlNjwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDozMTJmMmI0OS01MzhlLWE3NGUtOWQ3Mi02NzY4MGIwMjI0ZTY8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTktMTAtMDNUMTE6MDQ6MjkrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+rvdoVQAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAABfUlEQVR42uyVsW7UQBRFz332ej8GpEh8BRIFdTZFOtJEAiEoQk+qRFCARBsp3vAF0MMPIMHPgGfm0sQbJ1qTjRKlwa8ZyXM8upo7710t2hbZyH7kiF2gMZzVKX2rUwLAEr/ncyz17ChvafVPv+aqwtKWI57JnhtOopTvs65Di7ZF8AJ4R18SyvlI9uv+oBJxsf0PvkQgm1nXIZsi0TXNSyKOsVeiVMrxrOteaef09DHSV66UJbCfyP5yZesh0s8b8FtIP9bxVUpPtdO2n4A91pTsj5Syj4QvbuAN8PY6PldV//kg7EPW14e7F2DvD98AcIB0OMbfhwUPkH6N8ou2BXgueH/Jn5yPGHmEd8lre7kkShm21czS57rrNm3DW/HaXi6RTZUzJWLlXZUzw77+0zSXrvC2fJ0SVc73L2BgAXVK54PIJkrZ+MBN+KHf55OQEkGUgiWilHEBAuIGAtbx1wlYTcspC6YsmLJgyoIpC6YsmLJgyoIpC/77LPg7AM0cxIlkvCORAAAAAElFTkSuQmCC) no-repeat; + background-size: 100% auto; +} + +#catMatrix.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTktMTAtMDNUMTE6MDQ6MjkrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NTo1NiswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6NTYrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6ZmUwNzQ3OTAtOTU1MS02NDQ5LWE2YzQtYmZkYzIwZDViZjMwPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOmZlMDc0NzkwLTk1NTEtNjQ0OS1hNmM0LWJmZGMyMGQ1YmYzMDwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOmZlMDc0NzkwLTk1NTEtNjQ0OS1hNmM0LWJmZGMyMGQ1YmYzMDwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDpmZTA3NDc5MC05NTUxLTY0NDktYTZjNC1iZmRjMjBkNWJmMzA8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTktMTAtMDNUMTE6MDQ6MjkrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+adwyxgAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAAzUlEQVR42uzVMUqDQRCG4WeL6GEMBDyFYOER7EwjKBIL08fKoEUCaa30BNrrBYR4n7GJEH6ywqIYwZlyeHf5YGf2LRFhVfs4xg4e8OLrauUHOMEu7vEKZRXgHLedAze4rFzWyl9g2ulNMSoRcYDnysFDPHV6fSwb+AHeKvxRiYgFhhVgjtNOb4xJA3+F6wo/23aA+W88wR7ea/znEJ7hrmGofowvG9awh8eGNfwWvx5gK5UB/lSAdEG6IF2QLsifMAOkC9IF6YL/6YKPAQCoUuj+HnwYNQAAAABJRU5ErkJggg==) no-repeat; + background-size: 100% auto; +} + +#catOLED.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAA1klEQVRYR+2WsQ3CMBBF/9HEJSPABtkANkChQ0FiBMImGQGkWHRYbEA2yAYwAmXScIgCRUiQYBc+JOza/973a84E4UPCfMgXiEyRETCTMMHAkZTRLAF/Mn+oAKOs5+nUhw110CcQJg9WayAUCAaCgWAgGAgG/t4Ag68EVD7WMQMxgYav69gH+Q2DlCm2AK1k+LyT/xXLvLyl9hqIjM4JWLsUZXDeJMtNV7azgDL7EXA7u8DbzGBcJ4vLpxnfGWDELiWYUDVJmjkbcIHaZnoN2A60vS9e4A59Y6enTaveiAAAAABJRU5ErkJggg==) no-repeat; + background-size: 100% auto; +} + +#catOLED.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAr0lEQVRYR+2XQQ3CQBBF33eABHCAA3CABCQATiqBSsABOKgDkICDT0oChyZtYQ+dHmbus+/PSzY7K4JLwXziA9g+ArsgExfZdhD8jZ1VgJuk7RQ2bF+BTddABkgDaSANpIE0kAaeQDPFcwysgcVsFpIzsJ9o8i6mjt+Kgyb/YkcN2K6AQ2HQStJpqHcwgO0lcC+Ef9pWkh59Z/xqoL02JdVIaj8+vTUaoIT6T08GeAHJj7Dffxnj6QAAAABJRU5ErkJggg==) no-repeat; + background-size: 100% auto; +} + +#catTFT.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAA1klEQVRYR+2WsQ3CMBBF/9HEJSPABtkANkChQ0FiBMImGQGkWHRYbEA2yAYwAmXScIgCRUiQYBc+JOza/973a84E4UPCfMgXiEyRETCTMMHAkZTRLAF/Mn+oAKOs5+nUhw110CcQJg9WayAUCAaCgWAgGAgG/t4Ag68EVD7WMQMxgYav69gH+Q2DlCm2AK1k+LyT/xXLvLyl9hqIjM4JWLsUZXDeJMtNV7azgDL7EXA7u8DbzGBcJ4vLpxnfGWDELiWYUDVJmjkbcIHaZnoN2A60vS9e4A59Y6enTaveiAAAAABJRU5ErkJggg==) no-repeat; + background-size: 100% auto; +} + +#catTFT.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAr0lEQVRYR+2XQQ3CQBBF33eABHCAA3CABCQATiqBSsABOKgDkICDT0oChyZtYQ+dHmbus+/PSzY7K4JLwXziA9g+ArsgExfZdhD8jZ1VgJuk7RQ2bF+BTddABkgDaSANpIE0kAaeQDPFcwysgcVsFpIzsJ9o8i6mjt+Kgyb/YkcN2K6AQ2HQStJpqHcwgO0lcC+Ef9pWkh59Z/xqoL02JdVIaj8+vTUaoIT6T08GeAHJj7Dffxnj6QAAAABJRU5ErkJggg==) no-repeat; + background-size: 100% auto; +} + +#catLCD.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAA1klEQVRYR+2WsQ3CMBBF/9HEJSPABtkANkChQ0FiBMImGQGkWHRYbEA2yAYwAmXScIgCRUiQYBc+JOza/973a84E4UPCfMgXiEyRETCTMMHAkZTRLAF/Mn+oAKOs5+nUhw110CcQJg9WayAUCAaCgWAgGAgG/t4Ag68EVD7WMQMxgYav69gH+Q2DlCm2AK1k+LyT/xXLvLyl9hqIjM4JWLsUZXDeJMtNV7azgDL7EXA7u8DbzGBcJ4vLpxnfGWDELiWYUDVJmjkbcIHaZnoN2A60vS9e4A59Y6enTaveiAAAAABJRU5ErkJggg==) no-repeat; + background-size: 100% auto; +} + +#catLCD.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAr0lEQVRYR+2XQQ3CQBBF33eABHCAA3CABCQATiqBSsABOKgDkICDT0oChyZtYQ+dHmbus+/PSzY7K4JLwXziA9g+ArsgExfZdhD8jZ1VgJuk7RQ2bF+BTddABkgDaSANpIE0kAaeQDPFcwysgcVsFpIzsJ9o8i6mjt+Kgyb/YkcN2K6AQ2HQStJpqHcwgO0lcC+Ef9pWkh59Z/xqoL02JdVIaj8+vTUaoIT6T08GeAHJj7Dffxnj6QAAAABJRU5ErkJggg==) no-repeat; + background-size: 100% auto; +} + +#cat4Digitdisplay.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA54GlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTktMTAtMDNUMTE6MDQ6MjkrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NDozNiswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTQ6MzYrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6YzAxMDhhZWEtY2E2ZS04YjQxLWI3MDUtOWJiNjk3ZTc0MDQ5PC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOjMzMTgzMzRkLTUxMWYtMTQ0YS1iOTA3LWI2YzhkMGQyMWNiNzwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjMzMTgzMzRkLTUxMWYtMTQ0YS1iOTA3LWI2YzhkMGQyMWNiNzwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDozMzE4MzM0ZC01MTFmLTE0NGEtYjkwNy1iNmM4ZDBkMjFjYjc8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTktMTAtMDNUMTE6MDQ6MjkrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPnNhdmVkPC9zdEV2dDphY3Rpb24+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDppbnN0YW5jZUlEPnhtcC5paWQ6YzAxMDhhZWEtY2E2ZS04YjQxLWI3MDUtOWJiNjk3ZTc0MDQ5PC9zdEV2dDppbnN0YW5jZUlEPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6d2hlbj4yMDE5LTEwLTI2VDE2OjU0OjM2KzA4OjAwPC9zdEV2dDp3aGVuPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6c29mdHdhcmVBZ2VudD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpjaGFuZ2VkPi88L3N0RXZ0OmNoYW5nZWQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICA8L3JkZjpTZXE+CiAgICAgICAgIDwveG1wTU06SGlzdG9yeT4KICAgICAgICAgPHRpZmY6T3JpZW50YXRpb24+MTwvdGlmZjpPcmllbnRhdGlvbj4KICAgICAgICAgPHRpZmY6WFJlc29sdXRpb24+MzAwMDAwMC8xMDAwMDwvdGlmZjpYUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6WVJlc29sdXRpb24+MzAwMDAwMC8xMDAwMDwvdGlmZjpZUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6UmVzb2x1dGlvblVuaXQ+MjwvdGlmZjpSZXNvbHV0aW9uVW5pdD4KICAgICAgICAgPGV4aWY6Q29sb3JTcGFjZT42NTUzNTwvZXhpZjpDb2xvclNwYWNlPgogICAgICAgICA8ZXhpZjpQaXhlbFhEaW1lbnNpb24+MzI8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+MzI8L2V4aWY6UGl4ZWxZRGltZW5zaW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPD94cGFja2V0IGVuZD0idyI/PswpLKcAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAACL1JREFUeNrsl1tsHNUZx/9UQqgXVVVpJVpBW6S2IFLKpZAoUEJIArHjJL7u7sycM7trO06aCwHSqqJARCghsZrYTmInG+96dy7nOpddXzaxiYNCKkiRUlShgHiqhCrRSoD6UiSKitTTB9tRSuCZFx5+0rz89P2P5vvONwNjDL5I8GWALzzAPUNDuGdoCHccOIDV4+PoOH8erVNTKFartxEpPSrEJBEivoLUlXKScG7d+vzz+ObWrbhl505sKZexY2wMfQcPonN2dnVeSk2EaFzpUiHqbhgmXfPzDz1y9izuOHLk/wOsqlTQeeYM2qNoeZ+UxuHcECGuRkrTF0Vm7fj4DTfGMX45Po7do6MolkrYMjxM7Dj+TM8RwhDOzfZm02Q9D99vaQGWDQ5i2eAgfrJvH+6dmECh2dyVK5d/Rxh7vaCUyTNm8pwvsPhMpfzQqdWeKiRJacPFi/dvCwI8NTiITBTtIWn6dEHrf+QZu8otcG4czv9W1HpvfxQN/fjJJ2/GpnIZm8pltJVKaPf9dcUkMSQI3u/2/es76/VVXY3Gys56/TKbGo1VOc6XuZwLVylDGYv2DA5i99GjW+w0NU6avtISRV/fnCQPdi06XfX6yo5GY2VHmj6Y0fpOwvncQKViOi9e3ItdSYJH4xi70xT9UfQnKwxNPooMZey6DY0G1s/OYsP0NFpmZvDI/DxapER3qXR7IYqMw7kpCPFcrtlELoreJwsn/iCXpmg9fRrrm80Ft9nEI80mOubmQCcnLcqYcSoVQ199dSfaGg1saDSwsV4HkfIDVwhjc/56ZmICXWGI1ulptJw6hQ0zM8hKid6JCbhBsNuR0tA4NrmjR1e2jozASRJDOTe2UqmbJMjEMdYvFm+bnkZnvY7M5CScOD5CGTOO1mY3Y/diXRDgId9HG+c355UydKFheDYMYVWr6JESm6en0RVFIJ4H2/dBOC8RKU1RKbP55Mlr1w0P31RQyhApjRuGz5FqFflKBTml0D41he4ogiUlMlLCEWKeSGlcIf5NR0e/ge1xjF1xjH6t2ywhDF3o/qeyvg+bMRQ5R0EIbFMKT2iNx7VGXus/2owZK4o+pFKiX0riSGmIUqbAWLZQraLX89DPOYpao+j7KI6Po1CrgWr9rsu5sZS6tJZz4NH5eTx+7hy2Tk8/bYWhoVIaOwzbs74PVyn0ao2CUhiQEm6aomdq6itUyvdtpUyf5/3FLpfRo/Vxl3Pjam1ynP88GwRwtUZh0e0VAlu1xtY0vZFIaYpBYLqTpLH85ZeBrokJdFYqyAXBtCvlwqwydk2f1peLFxchUQQaRTdRpYyltRkolWq7tAaZnX2DBIFxODd2GKIYReiNosteUWu4cQxb61YqhOkJArNjcnLvCy++CKydmcEDp0+jPU139IahyWl92I6ijQXOn3SFeMKV8jIFzn9TDII1Thi+5whhuiqVWyjnoEqN2VIaOwgeo4x1F7T+7ZVuQco9hLHHuj1vs8OYsRj7eOf09PXPzM8DmdlZ9MzNoa/ZRFHKH1lSRkRK4zBmnIWL4zJECJPx/Y9ztdp9fWfO3NadJHhocBDtY2PoazTucbSeo0Jc5S25jpTv0CS5i0TRD90kQV5rIFOtwq1U0B8E3yNxvNKV8mUihCGLXf1pHCEEjeO2X587B+e113D/+fPIe96tVMrVNIrepp/hECmNy7khnI/31usru9IU65IErUkCdGqNLOfXu2H4nquUIYyttjhfR8Kw02Fs8xK273fTev0XtF7f4QhhtnhePRtFWD83d3OBMUOUMnnObydBsNFhrP2yF4ab81p3FxqNu4gQB52FKfu9W6nArVaB3pdeQmFycp8ThoYIYYqct24RAjQMYXsebM8D5RyFRYhShnBuHCH+TIMABcYCsjS+Uv7ACkM4ngfH9+H4Plwp0frCC3h4//6vukli3IWllGY4R5ZzYMUbb6Bnamq61/cNVeq/m0ql764bGUHHxARczkHCEO2jo1i7bx/aR0buzsexoUoZOwgOWb4PV4hLREpDhHg3wzmySwGCADQIUOAc3WNj6Bod7aZaGyqEoWG4xwoC2GEIrK7VYAvxdl4p4wrx145jx9A6NITsyZPIhyGKcQxXSli1Ghwh6GIxk4+iTioliBAfLfbMvCMEHCFAhYATBMgFAXJhCEcIuFH07NJaztfr6/L1OvL1OmB53reoEP9ZbLCZXikxICX6azVYQYB8kqC30UCh0UAhTQ86jJl8FJmuIPhOdmLia3mljC2lyYfhcJ/noRiGIFIiJwQsxpDzffR4HhwhYiqlcbU2ju/fkKtUYFWrwNYTJ+6jcbywSKLoYHu9vrA4lILFOXqCAK4QGIgiUCFmHCGMrdQn2f37UTh2bK2TJEvvf4D6PtxaDTnGLgfIc45eKUGkfJMuHPKd9hMnsHl0FO1jY8COs2f39FSrS4ukhXoerCBAjnPkOEeGMbhSYiBJ4Cr1LyKEsTh/t+PoUZBqdZAqZVzOTZfWN3UkCbJCIMc5LMaQZQxECBSj6FqilHEWVv0r7qlToM0maLMJZC9d2psfHTVEyhk7CFZZQmyxhehbwhGiz2JsoJuxu2wpL7pCGDcMD/8qTdGXJMJeuIJ9JwjuJ4xt/bRrM9ZvCfEAUeo9l3OTk3KbFcewF8F6rW/cXq//wQ6CZ6nW/6RSLnTqpyBaf0I977gdx8/TiQkcePNNHPjooxXW7OxojrFn3MXb7ipPCEOV+nvG80Z3zczs28g5fnrsGO4ulXB3qQT0VKvomJxEQWtDPu8jVAjjVqvGPnVqW9eFCxgQAh3Dw3jwwAG0HTr07UKafq5HhDAuY6YjTdfsPH8eXZxj2dgYlpfLWF4uAy1hiDal4E5NbaCMHSJCHCFCDF3BsBvHR6zDhzOdzSYyb72F7WmKO9eswXXXXIPlPT0YmJuziRAji1zpjlAph+wgeLjz9Gk8euECOoMAPzt+HCvKZawol7/8M/oyAP43ACvKHWVRq3ejAAAAAElFTkSuQmCC) no-repeat; + background-size: 100% auto; +} + +#cat4Digitdisplay.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA54GlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTktMTAtMDNUMTE6MDQ6MjkrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NToyMSswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6MjErMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6ZGQ3ZDk5M2UtOWE5MC01MTRhLTk3Y2ItNzc4MTEyOTFjNjMzPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOjdmNWZhOWM0LWZmZWEtMTI0Yy1hMDlkLTg0YTFlZjMyZmFhNTwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjdmNWZhOWM0LWZmZWEtMTI0Yy1hMDlkLTg0YTFlZjMyZmFhNTwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDo3ZjVmYTljNC1mZmVhLTEyNGMtYTA5ZC04NGExZWYzMmZhYTU8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTktMTAtMDNUMTE6MDQ6MjkrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPnNhdmVkPC9zdEV2dDphY3Rpb24+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDppbnN0YW5jZUlEPnhtcC5paWQ6ZGQ3ZDk5M2UtOWE5MC01MTRhLTk3Y2ItNzc4MTEyOTFjNjMzPC9zdEV2dDppbnN0YW5jZUlEPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6d2hlbj4yMDE5LTEwLTI2VDE2OjU1OjIxKzA4OjAwPC9zdEV2dDp3aGVuPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6c29mdHdhcmVBZ2VudD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpjaGFuZ2VkPi88L3N0RXZ0OmNoYW5nZWQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICA8L3JkZjpTZXE+CiAgICAgICAgIDwveG1wTU06SGlzdG9yeT4KICAgICAgICAgPHRpZmY6T3JpZW50YXRpb24+MTwvdGlmZjpPcmllbnRhdGlvbj4KICAgICAgICAgPHRpZmY6WFJlc29sdXRpb24+MzAwMDAwMC8xMDAwMDwvdGlmZjpYUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6WVJlc29sdXRpb24+MzAwMDAwMC8xMDAwMDwvdGlmZjpZUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6UmVzb2x1dGlvblVuaXQ+MjwvdGlmZjpSZXNvbHV0aW9uVW5pdD4KICAgICAgICAgPGV4aWY6Q29sb3JTcGFjZT42NTUzNTwvZXhpZjpDb2xvclNwYWNlPgogICAgICAgICA8ZXhpZjpQaXhlbFhEaW1lbnNpb24+MzI8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+MzI8L2V4aWY6UGl4ZWxZRGltZW5zaW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPD94cGFja2V0IGVuZD0idyI/Pokm5vQAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAAA6JJREFUeNrsl0toXVUUhrdCER8DMQoVGrUjpVIxPkmLaawRrC2VEpRKHWlrQcViENHWUB+Dim3aQi3FiQ8wYGva0k6ETlQKDjSItNSRoEKNmKYacpObm/P4fgd3nZt1j/eek5kOcmBzOXuv/9//WmuvdfYNksJ/OcKigP+VgFQKCQRJAVgBfCzppKRjboxIOplKmy9MToavx8bC6MRESNLUc/UCn0s6kcMel/RFAg+nhQLgAS3g+aNaXfrr9HQYn50NKQTq4reU4RJQbI62EvCS4A1JowUcFWCnpCOSVlvEAjAg2CVprAD7GzAIDEla3iQAqc+MxoEOoAfozo0e4E5Jw2Z7lHrUttr7WeBaYE0L7Brgbklfmu1gpjwL37eZTOAqv5YbK51Hb5sD4/Z+qR1O9d/NjT2kF/MCLtnaaMHmAXg5I5moVLprURScoJF2uLS+x8HMMJbu9wbLHcln/1LfXD5HMsO/JieXzEVRZ4uIBHc2PM8Zs5sFrvOk6x3JzlY160i+yQ6jrW1xqXsqL9qnQNJFMz0HBK9ulyN5ooXXmd2VLt8/2Nxhh72rALvMOXkiL+CUI7miXecCOp3dR7bZj24uFGDXObvBvIAXbGEfsEHS65JeyY1XgbWS/jTb2438A3vfIalf0ms53ICkHcBG278m6JAXYApvA46WNLJamqarSNMVDheA+1x9t3t+AbpSuDW1qvARuDmFbqSvSkiG4zhen/V+w94B9Er6qRAJHwq6Z6VQkcK01BDQ4cLaC/QBm4CNbvQD9zZSJR1XrnyBlcAGO8RN2BS6gD32LXgnghBnEZD0liNZV9SEnD/f29ynbu6WAuzVLhIjsrLMTuip+f25qYDkHid0rwk6Z1MXS7pnv8MOZPOZV1nufi4hecZ5u8nEV+39TAl2txPQ1xAguF5SZGuni1pwlkNJqkXRjX9XKtc40v0lqTvmbJc2BCTSKufVnhIvTmffkWoUhcszM4840m0lAs67UgzzKag3iYzksRKSqSzfFpX3HLazALvEOXm2SYCkQRf+HmAr8GxubAO6JH1ntvssJcO2+SfAauD5FtjngIeyMpe0vUnA9NTUshl4P5Z2S7pc0EbiRDocw7vZ2UiS5EHgkKQ3S5rX73NwKK6Xe/OtOKrVQhVCsoBLaCJtj3MHFLhhIRfYOVgbt72W18kel7TXbixDbuyXdBB4UvPXqqbPbJIkT0s6YMNjD0gaAh5Vm6/k4j+jRQH/DAB5GSrcz7a3iQAAAABJRU5ErkJggg==) no-repeat; + background-size: 100% auto; +} + +#catAIsensor.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAiCAYAAAA6RwvCAAAACXBIWXMAAAsTAAALEwEAmpwYAAA6tWlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMjAtMDQtMjRUMDk6MzM6NTQrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAyMC0wNC0yNFQxMDozODowNyswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMjAtMDQtMjRUMTA6Mzg6MDcrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDxwaG90b3Nob3A6RG9jdW1lbnRBbmNlc3RvcnM+CiAgICAgICAgICAgIDxyZGY6QmFnPgogICAgICAgICAgICAgICA8cmRmOmxpPnhtcC5kaWQ6YjA4NTBlYjUtM2Y1MS00ZjRlLWEwOTAtYzc1ZDg1YTkwOWI2PC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOkJhZz4KICAgICAgICAgPC9waG90b3Nob3A6RG9jdW1lbnRBbmNlc3RvcnM+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6Yzk0OWQyZjEtMTY2NC0wNDQ5LWJiNjgtYTE2ZDA1ZTlhMzllPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD5hZG9iZTpkb2NpZDpwaG90b3Nob3A6OTdiMjNjZTMtODVkNC0xMWVhLWEzOTMtZWFlNjU5ZDNiMjg3PC94bXBNTTpEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06T3JpZ2luYWxEb2N1bWVudElEPnhtcC5kaWQ6ZTA5YTEzMzctN2ZhYi0wODQwLTliMDEtOWZhNTZmNWJmNzQ3PC94bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ+CiAgICAgICAgIDx4bXBNTTpIaXN0b3J5PgogICAgICAgICAgICA8cmRmOlNlcT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+Y3JlYXRlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOmUwOWExMzM3LTdmYWItMDg0MC05YjAxLTlmYTU2ZjViZjc0Nzwvc3RFdnQ6aW5zdGFuY2VJRD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OndoZW4+MjAyMC0wNC0yNFQwOTozMzo1NCswODowMDwvc3RFdnQ6d2hlbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnNvZnR3YXJlQWdlbnQ+QWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpPC9zdEV2dDpzb2Z0d2FyZUFnZW50PgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+c2F2ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDpjOTQ5ZDJmMS0xNjY0LTA0NDktYmI2OC1hMTZkMDVlOWEzOWU8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMjAtMDQtMjRUMTA6Mzg6MDcrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmNoYW5nZWQ+Lzwvc3RFdnQ6Y2hhbmdlZD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj43MjAwMDAvMTAwMDA8L3RpZmY6WFJlc29sdXRpb24+CiAgICAgICAgIDx0aWZmOllSZXNvbHV0aW9uPjcyMDAwMC8xMDAwMDwvdGlmZjpZUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6UmVzb2x1dGlvblVuaXQ+MjwvdGlmZjpSZXNvbHV0aW9uVW5pdD4KICAgICAgICAgPGV4aWY6Q29sb3JTcGFjZT42NTUzNTwvZXhpZjpDb2xvclNwYWNlPgogICAgICAgICA8ZXhpZjpQaXhlbFhEaW1lbnNpb24+MzQ8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+MzQ8L2V4aWY6UGl4ZWxZRGltZW5zaW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPD94cGFja2V0IGVuZD0idyI/Pm7Cqz0AAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAABCFJREFUeNrsl12oVFUUx7e3rMwgKvrADJ+s1EpLq1tRQoTcWXPmzEf2YVQPKUUREVEvEeiDFajz3+fMBEkaQkRw//scoi9CAqOkoG5EaVRgpKQ9aAglhZZXdw93TZx7mLlz5tZDDz4sZmavtdf8zt7r6xjvvfk/iDkFkgcBZVA5DZRloDwFyhZQ3gflQ1A+AMWBsh6UGijnDOJ3EICbQdkGyq+g+ALyJygE5ab/CmQZKDsL/nkv2QnK8L8BeQaU8S6OvwRlIygPgLIClKWg3KDfHwHlZVC+z+05CUoblLMGBWl1OerNoFw5wHXOA2V17kS/AOWyoiAv5iA+BeXyaQR2Vm4BZUz9/QTKwn4gq3MQsWZKR38hKI+C8iYoezNX9zso34LyBihr1K5bxq0F5QQoh0CZ3wtkKSjH1PEvoIQZ3UV6NccKBug4KKlmW/5/GupnPyhz8yCzQPlOnezPXcUqUA6r7qAG492gLADlPFBmg3IJKMtBeVaDOQu1A5RrczCicTcGyplZxQbd9BsoV+vaDM0OD8pHoJRz1zSV3AHKZxmY46A8nbNZo7qtnYWr1NCDcl/G8DFQ1oGyqLNmXdlYJyZyoWkldWNdRZosHYqT6lDs6hPrab2zf0hLwF8ZoJf0ATs2r4DiOz+2q9Fb/Z7UurKBk2HLYGPsqhdbBpubLPnIhSsiV10IltuttHZubt/toBzJwDyX0c0GZU8nrbxS903RVnqniZPaPWDJg3J04rPkQfFN/d5OG3O67B0G5Y9MIF+f0ZUNKK+rcrTI3beSummnK411wa4mRzwoBywDguKboyM+cuG6VtLotf/BzKl8nK8jP6tiuAiIZbDIMnhYn+5A5MKzIxeayIXLwdI4WP7KuspdU/goaVZ6LRf/gHhQPileIUs7mqMjvskRbxlsjZOasa5iIlc1YPkgWPJ6UlP5mQPKHq3gk0CeLApiGVxjXeWJifiQfXFSPz1O6iZy4TBYOg7KN5aV+wv4Wqz1ZRJIt5lhTLvppPU4qZlW2jDWBbuboyMeLP9gXfBaJkbWttNG0f7zfB7k0i5Gq0DZDcoZ2fV22jBxUr23OVrS1p7PGvHttDG3IMgVeZBZXYxmgPK5zhCZE6ma2IW3WQYt68J5lsG2iTpSCSNXWWJdsKWV1s4ftDsbzekLehgs0K66vlMN46Rq4qRqIlc1sauZyFUqYOlI5CbWWmk9W1m7NbueID/2KWShwm7XsXE6s8h1OmS/MBXIe6Dc2sdRQ7PEg/JOdo6YQoa08b2tY+KGflezSefMfo6XgLJLYU7oCT2uLWK+yo2gPKSNrFMoj2qX7RsjK0F5teARz9SOvK/AYHQSlHeLzrhGJ6S9A975kHbUTVqVD2cG7K91ffFAWdPrFXAaATmziN2pl/BTINOVvwcAQ8BMwy7GxSEAAAAASUVORK5CYII=) no-repeat; + background-size: 100% auto; +} + +#catAIsensor.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAiCAYAAAA6RwvCAAAACXBIWXMAAAsSAAALEgHS3X78AAACdElEQVRYhd1X7XHbMAx9zuV/NII2qDYoN6hH4AjeIO4GygRVN3A3UDdQJ6hGUCZ4/UGgQhhQon25Npd3x5Npgvh4AETqQBLvAXf/2wHFh3KkBRDkeTPubzB6FMMBwIMj8wxgAnCRMVdpJlkzAsmRt2GU/Zs2Djtd0wIYAHx21n4BGAEs8lR0sq/L9v0EcBK2rmLkSHLJoptIRpJNJZONyFs2oydbUhAzB+YaendGkEBIcqhJTQTwzcy/Ajg7ZAYZOTRVfgqSrkcA38WWm5qjYWGReb5+YR0Wkj3JtsDOYtNkGWkligekFgwmqiOAHkBjoh0LLHV43dpPwsRi/utER7JjvLQFpUy0wsBAsruiHrRIZ6NzcnR0YheWKsXZKDtxv0N6UealAKJDu29xnDmRjDrRvE+VEUeRDcZIFKdedYQ4qR2zOMH1KqSobVFLuQcvjQ3X9I+5o0qNt7g1bHdRolVmPEasM8pMtGs2LXmrlsZoGLmY6LXOFpEpFXcjMnPuyCwLtWxYWOebbG0rzSHfr4ovmWC3EVFg6iwKzVp4g/w3isxet+lr4YUjJ0fwvKFEjXqwzm2NliYTekPzzoUR/hmjb0UgHe0wv5+R3tBNYZ/FLDaS7E4+L/SP7cbkVwu3kyj33sDWVtS5OlKishFDnjO2nrYKM093yPR36si8o6jjepLWXoi8enhRnPm4K9SHxYR0Qh4lr7GyBoD1qvkb6eSNJcEDyZMIDTtKG5H5IvMfKF+AApLjn2T+hHRfLUNo66+gObD+Rj/W1s89ar87VoxYP6jsUzGJzvpvGuDvDS3IpmudejPsfdf8M3yoj/A3wbtx5A+bYbZVmns8NwAAAABJRU5ErkJggg==) no-repeat; + background-size: 100% auto; +} + +#catAIsensor2.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAiCAYAAAA6RwvCAAAACXBIWXMAAAsTAAALEwEAmpwYAAA6tWlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMjAtMDQtMjRUMDk6MzM6NTQrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAyMC0wNC0yNFQxMDozODowNyswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMjAtMDQtMjRUMTA6Mzg6MDcrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDxwaG90b3Nob3A6RG9jdW1lbnRBbmNlc3RvcnM+CiAgICAgICAgICAgIDxyZGY6QmFnPgogICAgICAgICAgICAgICA8cmRmOmxpPnhtcC5kaWQ6YjA4NTBlYjUtM2Y1MS00ZjRlLWEwOTAtYzc1ZDg1YTkwOWI2PC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOkJhZz4KICAgICAgICAgPC9waG90b3Nob3A6RG9jdW1lbnRBbmNlc3RvcnM+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6Yzk0OWQyZjEtMTY2NC0wNDQ5LWJiNjgtYTE2ZDA1ZTlhMzllPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD5hZG9iZTpkb2NpZDpwaG90b3Nob3A6OTdiMjNjZTMtODVkNC0xMWVhLWEzOTMtZWFlNjU5ZDNiMjg3PC94bXBNTTpEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06T3JpZ2luYWxEb2N1bWVudElEPnhtcC5kaWQ6ZTA5YTEzMzctN2ZhYi0wODQwLTliMDEtOWZhNTZmNWJmNzQ3PC94bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ+CiAgICAgICAgIDx4bXBNTTpIaXN0b3J5PgogICAgICAgICAgICA8cmRmOlNlcT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+Y3JlYXRlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOmUwOWExMzM3LTdmYWItMDg0MC05YjAxLTlmYTU2ZjViZjc0Nzwvc3RFdnQ6aW5zdGFuY2VJRD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OndoZW4+MjAyMC0wNC0yNFQwOTozMzo1NCswODowMDwvc3RFdnQ6d2hlbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnNvZnR3YXJlQWdlbnQ+QWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpPC9zdEV2dDpzb2Z0d2FyZUFnZW50PgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+c2F2ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDpjOTQ5ZDJmMS0xNjY0LTA0NDktYmI2OC1hMTZkMDVlOWEzOWU8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMjAtMDQtMjRUMTA6Mzg6MDcrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmNoYW5nZWQ+Lzwvc3RFdnQ6Y2hhbmdlZD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj43MjAwMDAvMTAwMDA8L3RpZmY6WFJlc29sdXRpb24+CiAgICAgICAgIDx0aWZmOllSZXNvbHV0aW9uPjcyMDAwMC8xMDAwMDwvdGlmZjpZUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6UmVzb2x1dGlvblVuaXQ+MjwvdGlmZjpSZXNvbHV0aW9uVW5pdD4KICAgICAgICAgPGV4aWY6Q29sb3JTcGFjZT42NTUzNTwvZXhpZjpDb2xvclNwYWNlPgogICAgICAgICA8ZXhpZjpQaXhlbFhEaW1lbnNpb24+MzQ8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+MzQ8L2V4aWY6UGl4ZWxZRGltZW5zaW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPD94cGFja2V0IGVuZD0idyI/Pm7Cqz0AAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAABCFJREFUeNrsl12oVFUUx7e3rMwgKvrADJ+s1EpLq1tRQoTcWXPmzEf2YVQPKUUREVEvEeiDFajz3+fMBEkaQkRw//scoi9CAqOkoG5EaVRgpKQ9aAglhZZXdw93TZx7mLlz5tZDDz4sZmavtdf8zt7r6xjvvfk/iDkFkgcBZVA5DZRloDwFyhZQ3gflQ1A+AMWBsh6UGijnDOJ3EICbQdkGyq+g+ALyJygE5ab/CmQZKDsL/nkv2QnK8L8BeQaU8S6OvwRlIygPgLIClKWg3KDfHwHlZVC+z+05CUoblLMGBWl1OerNoFw5wHXOA2V17kS/AOWyoiAv5iA+BeXyaQR2Vm4BZUz9/QTKwn4gq3MQsWZKR38hKI+C8iYoezNX9zso34LyBihr1K5bxq0F5QQoh0CZ3wtkKSjH1PEvoIQZ3UV6NccKBug4KKlmW/5/GupnPyhz8yCzQPlOnezPXcUqUA6r7qAG492gLADlPFBmg3IJKMtBeVaDOQu1A5RrczCicTcGyplZxQbd9BsoV+vaDM0OD8pHoJRz1zSV3AHKZxmY46A8nbNZo7qtnYWr1NCDcl/G8DFQ1oGyqLNmXdlYJyZyoWkldWNdRZosHYqT6lDs6hPrab2zf0hLwF8ZoJf0ATs2r4DiOz+2q9Fb/Z7UurKBk2HLYGPsqhdbBpubLPnIhSsiV10IltuttHZubt/toBzJwDyX0c0GZU8nrbxS903RVnqniZPaPWDJg3J04rPkQfFN/d5OG3O67B0G5Y9MIF+f0ZUNKK+rcrTI3beSummnK411wa4mRzwoBywDguKboyM+cuG6VtLotf/BzKl8nK8jP6tiuAiIZbDIMnhYn+5A5MKzIxeayIXLwdI4WP7KuspdU/goaVZ6LRf/gHhQPileIUs7mqMjvskRbxlsjZOasa5iIlc1YPkgWPJ6UlP5mQPKHq3gk0CeLApiGVxjXeWJifiQfXFSPz1O6iZy4TBYOg7KN5aV+wv4Wqz1ZRJIt5lhTLvppPU4qZlW2jDWBbuboyMeLP9gXfBaJkbWttNG0f7zfB7k0i5Gq0DZDcoZ2fV22jBxUr23OVrS1p7PGvHttDG3IMgVeZBZXYxmgPK5zhCZE6ma2IW3WQYt68J5lsG2iTpSCSNXWWJdsKWV1s4ftDsbzekLehgs0K66vlMN46Rq4qRqIlc1sauZyFUqYOlI5CbWWmk9W1m7NbueID/2KWShwm7XsXE6s8h1OmS/MBXIe6Dc2sdRQ7PEg/JOdo6YQoa08b2tY+KGflezSefMfo6XgLJLYU7oCT2uLWK+yo2gPKSNrFMoj2qX7RsjK0F5teARz9SOvK/AYHQSlHeLzrhGJ6S9A975kHbUTVqVD2cG7K91ffFAWdPrFXAaATmziN2pl/BTINOVvwcAQ8BMwy7GxSEAAAAASUVORK5CYII=) no-repeat; + background-size: 100% auto; +} + +#catAIsensor2.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAiCAYAAAA6RwvCAAAACXBIWXMAAAsSAAALEgHS3X78AAACdElEQVRYhd1X7XHbMAx9zuV/NII2qDYoN6hH4AjeIO4GygRVN3A3UDdQJ6hGUCZ4/UGgQhhQon25Npd3x5Npgvh4AETqQBLvAXf/2wHFh3KkBRDkeTPubzB6FMMBwIMj8wxgAnCRMVdpJlkzAsmRt2GU/Zs2Djtd0wIYAHx21n4BGAEs8lR0sq/L9v0EcBK2rmLkSHLJoptIRpJNJZONyFs2oydbUhAzB+YaendGkEBIcqhJTQTwzcy/Ajg7ZAYZOTRVfgqSrkcA38WWm5qjYWGReb5+YR0Wkj3JtsDOYtNkGWkligekFgwmqiOAHkBjoh0LLHV43dpPwsRi/utER7JjvLQFpUy0wsBAsruiHrRIZ6NzcnR0YheWKsXZKDtxv0N6UealAKJDu29xnDmRjDrRvE+VEUeRDcZIFKdedYQ4qR2zOMH1KqSobVFLuQcvjQ3X9I+5o0qNt7g1bHdRolVmPEasM8pMtGs2LXmrlsZoGLmY6LXOFpEpFXcjMnPuyCwLtWxYWOebbG0rzSHfr4ovmWC3EVFg6iwKzVp4g/w3isxet+lr4YUjJ0fwvKFEjXqwzm2NliYTekPzzoUR/hmjb0UgHe0wv5+R3tBNYZ/FLDaS7E4+L/SP7cbkVwu3kyj33sDWVtS5OlKishFDnjO2nrYKM093yPR36si8o6jjepLWXoi8enhRnPm4K9SHxYR0Qh4lr7GyBoD1qvkb6eSNJcEDyZMIDTtKG5H5IvMfKF+AApLjn2T+hHRfLUNo66+gObD+Rj/W1s89ar87VoxYP6jsUzGJzvpvGuDvDS3IpmudejPsfdf8M3yoj/A3wbtx5A+bYbZVmns8NwAAAABJRU5ErkJggg==) no-repeat; + background-size: 100% auto; +} + +#catFile.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTktMDktMjhUMDk6MjE6MjgrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NTozNiswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6MzYrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6NGIzOWQ0MWYtNTQ0Yi1hMTRmLThjNzMtYjI3YjQ4ODkzYTkyPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOjRiMzlkNDFmLTU0NGItYTE0Zi04YzczLWIyN2I0ODg5M2E5MjwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjRiMzlkNDFmLTU0NGItYTE0Zi04YzczLWIyN2I0ODg5M2E5MjwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDo0YjM5ZDQxZi01NDRiLWExNGYtOGM3My1iMjdiNDg4OTNhOTI8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTktMDktMjhUMDk6MjE6MjgrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+oBbkTwAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAETElEQVR42uyXXYhVVRiGn3ftfUZFhEAFL6QUBAMjAou6iKAujBK8ESI5o8wgZBYSQ5OTBkFgMoFGBal0oU4eZ9JKqUjCmy7sJpWwIjCNotGxC9NEw5/Ze6+3i7OPjY5zzohCQS3YNxvW9z3r+3nXt2Sbf3Lpf4AGQF9HByFGQowkRUFWqTDc1oZsKln2YFoU71qaAFxsYi8AbcCxLE27YggnNcYBO7Ztaw6QpylXJkwgFEXSlmXfBnuepQuAmgAYSIFJUdocpecExBCwNH6AECMARZIguwvpzShNTvP84vWGbhxXHQXmKsaNQHdWqTRs3RxAuWFSTJIMO79ROBtAsv8+pfS94ZCgE7s3q1TWxBCaA2zv7CQpinlJUewHpgPnVA/nOWAYmAbEEb7bLAn7VUtvF0lCmucNgPPAIuwhwbE8SbrzNN3YFGBne/tTgveAX6P0FjC1Sb4j8EewuwT32O6+PHHixjTPqWQZDuECsAp7u6WlwX7fsFz21jxNKZJkNMBAtbrH0iLDrCidLE8ydrnHiOwdSO2yydL0eWBTCXAJeBa7r0gSHMKKNM+3KMZFeZp+dkOA/mp1L9JC4C7gN7fuX4DDDuGrKO1Mi+IgsDhKewTnDAOKcWWwydMU2auTGN/I0vShPE2/7ty6dRTAnhJgNnCKMfq3UaAxBIBDSGeH0/RxwYttWbYhSnfHEJwUxY/AsOCc7MzSaUv3GX4pkmTVsr6+z1sBTAHml/luFN9k2cdl/1wCHLE0VISw0BKVPO8V9AxXKrNknwgxrh2x/7RgmuzXDJurtVrX2AD2KeABpIOl4+ERlb/B8JJsBAcMNjwigPq/NZbWW5oJDI1sU2BOsI8YdlVrteWtIlBBmlqqWyMfqaXzhj/LVCxB6gc+NgyVoGcF62Wfwb7T0sUyWgDzgv2Noa9aqz3TsgbGUr2GWFmiSJIVgo3A5TLUl4CjwALslSHGLTGEhhKOE6CegnstfVEavlL6ngustdQrmxAjVxVuNOwJ7F3Y3Q6BKKFxR6AOMBtYV4Y1K43OtLQd2H21I65zPCJqg9gD2D03D1CmYKyrtCw2XDdKw0awiXXhAfsWAOoRmCG7A8jLb+RtN0qXgDsU427gh5gktxiBOsD9SIdKB1daCGMAKoYOoE+3KwU3uxrtFup7/2UA9W65qRTMRzpcdsDlcaRgsmEZsOOaFECP7MZYNifY35VK2NkKYDrS4rIAi1aXIzAFex9wvCzSQewB2T2KEYdAnqYPJzEeMLxTrdVeaJ2C8cx/17Un1+rAOsFh4EPgpxjCAtmfKsZVS/r7B5vOA7dh5B/Eft0hHAL2AmcU437ZL8vm6YGB6+aB9vZPgCfLC+SWAEppHgQ+KKTVSDSkuyFuS/r7Rw0kK5E2YX9kaT0wo8UbYKz1O/CooDdKj1n6suG0KUBt6VJkPyHYd5ueXK8oxvUqR7IYAklRjA3wn32c/jUA2KVX7kJ1+d4AAAAASUVORK5CYII=) no-repeat; + background-size: 100% auto; +} + +#catFile.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTktMDktMjhUMDk6MjE6MzcrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NTozNyswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6MzcrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6NWJiMzU4NWUtMmIwNC1iZjQyLTk3NmEtZGNkNzE5NTBhMTNjPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOjViYjM1ODVlLTJiMDQtYmY0Mi05NzZhLWRjZDcxOTUwYTEzYzwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjViYjM1ODVlLTJiMDQtYmY0Mi05NzZhLWRjZDcxOTUwYTEzYzwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDo1YmIzNTg1ZS0yYjA0LWJmNDItOTc2YS1kY2Q3MTk1MGExM2M8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTktMDktMjhUMDk6MjE6MzcrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+GJFvEwAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAACmElEQVR42uzXS4jVZRjH8c/kJWQQghJciBcYMJgQQUMXIuiiyAE3QiBYJIKlIjI4Ol5ACFRGUDHBFBeSit1VUoqYTQvdeEGyELxheF+YOjiS6ZinzW/gMHjO+WvHBPGBA/8X3vP+v+/z/J7Lv6FUKnme1vASoCDABGzBq/iryr5XMBBn0Yor9QDoh5NoRjcaquwtoT8GYSvm1wOgFRvRWOP25XYao7EBbf8VYBB68PAJQvs7jmE2OrC8KEAzOjEEXXFnFx7gDTwq2zsw4ViFz/qcewfTcTV6aIs3qgK8j+24iE14vUq8H+F2wvPWY17QjYX4Ah9gF+ZgRzWAfaEeWUS9sd2YlecF+DzP9/AJdmb9Mbbl/IOVAPajBSNwvSDAcRzGHhzFjFykC19hXtnepViHiThSyQMtGIVrBQGO4RbexWKsx5tJxzPRTldEfANj8UfC82MtgMEYl3j3iq8R53Ah618jtJasO9CeMF7GirL/34iQP02NaK0F8HbcKjfpVf56LMn6UG47ucwry7EWwwJXbk2B/iairAowIJlQyk/S8g7uZj0TX2JvXvYgIVmLmxjep3g140TEObceGuhV+Ab8HVffSyV8JyLc9rQAY/BzDr6fPaMT144CYJfj6ranBRiF1XFrT/YMS3H5tgDApaRi+7MOwTMDGIqP0oRqNaIGvBbPnKoXwPgUGmUaqDaIDAjwzhcmBM8dYFyaTU9SsVYIGvFhOmQlgCb8lvScXQtgSLrbQ/xTQISD8VN6RSWASSnfm7Ho/wjB6njxO5xPdTyQbnipHvNALYA1yaT96Q2dWFZpIPkB09JA6gXwdQaRQlPxvIxU36ebDa3xDVDJ/sSU9Iup+OVJxvL3IqR62Mpc5OXHaVX7dwApDD3Qio2lngAAAABJRU5ErkJggg==) no-repeat; + background-size: 100% auto; +} + +#catBLE.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NToyNiswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6MjYrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6ZTc1NDI1MTAtNGJmOS00YjQwLTlkYzgtMTRhOTQ4MjMzYWZiPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOmU3NTQyNTEwLTRiZjktNGI0MC05ZGM4LTE0YTk0ODIzM2FmYjwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOmU3NTQyNTEwLTRiZjktNGI0MC05ZGM4LTE0YTk0ODIzM2FmYjwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDplNzU0MjUxMC00YmY5LTRiNDAtOWRjOC0xNGE5NDgyMzNhZmI8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+/6UDowAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAHRklEQVR42qyXWaxfVRXGf9/a538hBBNFRIIYhgJhMhpFEwZNzO0DhAgy096LDJKgUSiFlpknKyClDEWjRBlCe6Fhhqjw0BsfwJIIPKDMlqKEoEFQEyd6/2evz4dz/vfeFghgPI8755z922t9a+1vyTan37aU+Y9s2qaQIWRjBVYCIlKfy8LBJHtI7Ahg8ybBK1HZkOGnLRMZyIklIk3TVixtsc+tp12HPgTAbqAzZR2J+AzQsOXTYn5r+Rfgn8nx6v8LYCdH/Bg4lg/33KfMb1t6438DKEFtyumCW0brBgTTmIeRnzf6C4DwJ7D2QxxhGJ+/jeGMUuutTZsfDEA2AMNBc32WWNKlACJ9E+ayDN6UhdXj9NuM1iLZEbEiQ2fJdCmoef1g2C4FtoB4B8Dog+EgrnVoab/2euKFJfN5WbSNesjYKuLdCZvWWKZG7BdovcUuAEpf2wzr+WGwtgI449ZzZ08/MzY4szblp5FJpJ80HJLBUB5pw8jaXo5DgN373V+B3JDhfzWtsNRHjYFgQ4YOyhClzTPHZoY3j6Jwy+nXdwDfWHP+KF+fzhIvCbY12jQYtgdm6D+RJkPUoo8jrpJ12rtVgeXbMBdF+q1SjSVkbzcca56RvYfh7ai5t+A1gNtPWdUBTE5d0AGImyWfIYtUHmrXDWNDaFqzeZvmyCzx85FG5umSeWLoc16P3GZz/WXbiJkxEOWQyPi1w9i6RdY3AdZO/KADOGXtMoAFDm0EYepNVn4LCqUK8FEOPTi3racy+FGkfg+Q4b0j+Q7SxKyY00eDHqqlaxFy/ESUs8BgLwA2rZ24ZpSC83BouaNcjU0qD8jI5zpdlE+GY6Ps7Y1a7K8KHoPcogogMByG9CvhxtI/UrmXVd/AEI79w/EsEsp6gdIrbz/l2g5g4o7z9xO6ETQOPGr4CpiMlnBZLZezjWnaPAJ4pG0KpVYy1ABEuq2l0LQV4PDaxMMgrLq6Ri6JbJCF8GPAocbrLZ99x6JVL3QAdy6blHWD0A6p+v0kL4ssCBXEH4FPWV5X2roICrUEcl6B1KvXq6y4pNQEKrUpd8o6GXgNs7vlmkqCuEKOi8FvKb1kzeQ1U30Ell0qtKKP5iQw1cf2YMQGgKh5bIr7swRhvgdctpUaV1hcXmoic2yWuLdfPwR4XJ1cJxFr+pK/ZM3ENVf2AMtXC87u5bMQMx3VEByXwT2dqNgPeCEDBBuBBVuV4UbD3pEA7Ovg+e47HQ/cS0cwbrG+r7jVU4tWLhkB3CA4p+98C4FpkwDHoLgPIMUB4OcgEfGirH22jIBftLxv3yH3D/Nsn55jwfeXBEvjGVrfR2b11OI5gAsFV/V/OtXi9u7+54vh+A2IVD0J8q6oAdIypJVsSbAsw6tSlbBOCjfrwKT8JeAJpRCciritB7hwavHKq/tGtPxkxA3ATpiVMheM2qnwJtAeOB/A7TElg0gYjsWVSBd1h/RVYzN5cVc5pjbNA6CjgVeM9pQ714K4GrEceAOzZO3EynV9IzpvLytWO+KIyHyqGbYH1QiGg0DoijAXd9R54mDY3m01tIMYl2fzuXAwzOlm2DIzaE6qTVknjPGVxpcMWhNp2kF5MiO+oMyH5TxnzeS1G2WbxXcuR3C2zOpOOHmQxVMyKPlIlniJYGcsouaeGXqF0Dj2+r4RLySZlr1HFm3qFf8nzD7G/xRG5iBHPNEDn2O48Y5FK0et+HyAXR2xCTGwmSptTjbVRCabtymHZYlHZYiau1l61UXj9BFALFT1NPZuLvEHMJa+rIzHmrbFQDuItRITmKEy9wReWzM5exmd27fTwQ0ozgGjrEfUko9012vQNtqnaaljM+3Lw7GGWmJcfQQsLSy1Tg9mKjNjzYJaXCBeAhM5RC6HO8rDIHCuhuESEGsnrh8BLEWGDHawmpfD+qjlt1J5oJV/jhQQNG3vCQYF2ePQRwAWWppuhp3va5vOoGQkytg5KL+TtWPKf5fbBZH81YK1E9eNUrB03qVSTnCUu/qb9rka9YCRzW5a4dDI0WwBAEx3mulMi1WBoGR5BjgAhLKeCPXu0SW2ZnLWES2ddUS1BDNj5dIwK4C/peouwNuWKVl6K+Z3BRgdokb2jY9tw+V14GMpLh+bqStKnTOnt5z+Dk/YAbRNEKmvZfHrqfYpELIIl/mt5z0AIFV70wqR5fOR2jXDDzVtMh/gXUzpHECpUAvU0iKLUkvnJuN9ALLr57V0EKU2s//6kACazWU3Zmm+8wJtBeC5CHRl6E6ELjStqMXvDbC1BoaDuQjMOR9tI+uzQAE2IY4Hftjv+F3MPcCeQLX8NHhzNytAqaIWGAwr8weUm894RxV0pnJuJlQvOCOXe4SOe/+JTJi8x2pPGEVsdkDJriWP5oI1k30fWLRu+bzJaPQBIyWPbO+DwFEfZCg0ftDy1+cO5VkIz8viupNWjTzhBR/ktwcLLwP9Gxi+x0sDYDvDNcDj7/fHqcUr+e8A90Wn/TcL1i8AAAAASUVORK5CYII=) no-repeat; + background-size: 100% auto; +} + +#catBLE.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NToyNyswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6MjcrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6NzFmZjM2OWUtMzY0NS0zMzQ5LWJlZmUtZjhiMTM1ZWVmY2NjPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOjcxZmYzNjllLTM2NDUtMzM0OS1iZWZlLWY4YjEzNWVlZmNjYzwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjcxZmYzNjllLTM2NDUtMzM0OS1iZWZlLWY4YjEzNWVlZmNjYzwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDo3MWZmMzY5ZS0zNjQ1LTMzNDktYmVmZS1mOGIxMzVlZWZjY2M8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+EjBnGgAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAADnElEQVR42sTXWYiWZRQH8N+QkohBmZm0oM6oNGUUbTC2QOhFw9BmaUZCm1BRjkSmaXXV1MS0kC1UlCbV0FBmKm0XRhdaQTkXlpnaNJZIha3QZlhMN+eN48v3TfPNDHSuzrOd9/+e53/+z/PU9fX1qdFORRMmY1z0fY/deB9bawlWVwOAiViAFpyMEaXxv/Ax3sCz2DNcAMbjScyuMVNrcRP2DQXAtVhV6nsHb+EzfBd9R6ERzZhZmn8dnhsMgEewKLWfxl2x3/3ZOLThhlKsW2sB8HBa8DVmxR/XYo3YiGNSzNsGAmABngl/C2bgQGnOmOifFO2iAn4rzRsZ/Wek2Cv7A3A8dmEUejEdf6TxI3E/rqlSBatxB35I/aOxLcp2P6ZibzUAK4M0cHagL6wFr5c+WiyuK/W34M3UnoH3wl+F6ysBaEBPItyNKcBFWJ/anXgCn0d7Km7GVWnOxdiQ2k8lYjZEhg8CcDs6wj8J28M/OoCNiTSfj81ViHcO3o3t+QVTkg6ciE/DX4IHMoBGPBY1vAnnpaCPYmH4zXg7jY1I+1/YBaETxdpcyptjazdGzB0FgPlYgbG4N+odDsFXOBZduDIFuy+V1UNYnsZewrwg2yT8ndYsC5IuQmcB4M4QjwJMZ/hNiYiz8Vr49ySQhbXh7jT31UTAD1LsF8JfjvYCQE7zrJBbuAxrkrDsCL8niJStJ8gIJyThujyBmRnp/3d7CgAr0FoBwKVxqJSJuRPTSgB2xofLhMuZqwpgaQgMXI3nwz8TH4Z/BV4Of3HB4mSLgwvF3K7wz8JHKfbq8JeiowAwL7IwPgIvSYF7Q8XWRUYKaw/VE+CXpbF1oQO7UZ/6O6Lc9wUJuwoAUyIlzehO2p2ZC3PxSoV05m3Lf99eqo4tOD3KtBU9WYgWBggBoDv8w+J8mBDt+vizSgAmFwqHb4Inv6aYxVa0hu4cpITHxeKRUYbzSwq3KV3N9lQBMBFfRt+5JcV8MaT6QPzE3kqHUa6GsupNC0H54j+2oCEEbNdA1LEMYGx84PBQq+n4toruVwNQtgn4JG5KPwfAH/u7kMxJ5bY96n8oALalGJnE/V7JCmn+Ka5U+wcJYFRc6Y4ImW6r5VJ6YSzuHmIGTguCbxjqw2SwAIbtZfS/AzgUp0SJ9cYp93iM3RKnZn2U6lb8OdwA1sTxPNC5c4YbwPq4nA507iXDDaApjtzfKzxU8kNkNB5Mt6B+7Z8BADmmRtBxI+m+AAAAAElFTkSuQmCC) no-repeat; + background-size: 100% auto; +} + +#catIR.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NToyNiswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6MjYrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6ZTc1NDI1MTAtNGJmOS00YjQwLTlkYzgtMTRhOTQ4MjMzYWZiPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOmU3NTQyNTEwLTRiZjktNGI0MC05ZGM4LTE0YTk0ODIzM2FmYjwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOmU3NTQyNTEwLTRiZjktNGI0MC05ZGM4LTE0YTk0ODIzM2FmYjwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDplNzU0MjUxMC00YmY5LTRiNDAtOWRjOC0xNGE5NDgyMzNhZmI8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+/6UDowAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAHRklEQVR42qyXWaxfVRXGf9/a538hBBNFRIIYhgJhMhpFEwZNzO0DhAgy096LDJKgUSiFlpknKyClDEWjRBlCe6Fhhqjw0BsfwJIIPKDMlqKEoEFQEyd6/2evz4dz/vfeFghgPI8755z922t9a+1vyTan37aU+Y9s2qaQIWRjBVYCIlKfy8LBJHtI7Ahg8ybBK1HZkOGnLRMZyIklIk3TVixtsc+tp12HPgTAbqAzZR2J+AzQsOXTYn5r+Rfgn8nx6v8LYCdH/Bg4lg/33KfMb1t6438DKEFtyumCW0brBgTTmIeRnzf6C4DwJ7D2QxxhGJ+/jeGMUuutTZsfDEA2AMNBc32WWNKlACJ9E+ayDN6UhdXj9NuM1iLZEbEiQ2fJdCmoef1g2C4FtoB4B8Dog+EgrnVoab/2euKFJfN5WbSNesjYKuLdCZvWWKZG7BdovcUuAEpf2wzr+WGwtgI449ZzZ08/MzY4szblp5FJpJ80HJLBUB5pw8jaXo5DgN373V+B3JDhfzWtsNRHjYFgQ4YOyhClzTPHZoY3j6Jwy+nXdwDfWHP+KF+fzhIvCbY12jQYtgdm6D+RJkPUoo8jrpJ12rtVgeXbMBdF+q1SjSVkbzcca56RvYfh7ai5t+A1gNtPWdUBTE5d0AGImyWfIYtUHmrXDWNDaFqzeZvmyCzx85FG5umSeWLoc16P3GZz/WXbiJkxEOWQyPi1w9i6RdY3AdZO/KADOGXtMoAFDm0EYepNVn4LCqUK8FEOPTi3racy+FGkfg+Q4b0j+Q7SxKyY00eDHqqlaxFy/ESUs8BgLwA2rZ24ZpSC83BouaNcjU0qD8jI5zpdlE+GY6Ps7Y1a7K8KHoPcogogMByG9CvhxtI/UrmXVd/AEI79w/EsEsp6gdIrbz/l2g5g4o7z9xO6ETQOPGr4CpiMlnBZLZezjWnaPAJ4pG0KpVYy1ABEuq2l0LQV4PDaxMMgrLq6Ri6JbJCF8GPAocbrLZ99x6JVL3QAdy6blHWD0A6p+v0kL4ssCBXEH4FPWV5X2roICrUEcl6B1KvXq6y4pNQEKrUpd8o6GXgNs7vlmkqCuEKOi8FvKb1kzeQ1U30Ell0qtKKP5iQw1cf2YMQGgKh5bIr7swRhvgdctpUaV1hcXmoic2yWuLdfPwR4XJ1cJxFr+pK/ZM3ENVf2AMtXC87u5bMQMx3VEByXwT2dqNgPeCEDBBuBBVuV4UbD3pEA7Ovg+e47HQ/cS0cwbrG+r7jVU4tWLhkB3CA4p+98C4FpkwDHoLgPIMUB4OcgEfGirH22jIBftLxv3yH3D/Nsn55jwfeXBEvjGVrfR2b11OI5gAsFV/V/OtXi9u7+54vh+A2IVD0J8q6oAdIypJVsSbAsw6tSlbBOCjfrwKT8JeAJpRCciritB7hwavHKq/tGtPxkxA3ATpiVMheM2qnwJtAeOB/A7TElg0gYjsWVSBd1h/RVYzN5cVc5pjbNA6CjgVeM9pQ714K4GrEceAOzZO3EynV9IzpvLytWO+KIyHyqGbYH1QiGg0DoijAXd9R54mDY3m01tIMYl2fzuXAwzOlm2DIzaE6qTVknjPGVxpcMWhNp2kF5MiO+oMyH5TxnzeS1G2WbxXcuR3C2zOpOOHmQxVMyKPlIlniJYGcsouaeGXqF0Dj2+r4RLySZlr1HFm3qFf8nzD7G/xRG5iBHPNEDn2O48Y5FK0et+HyAXR2xCTGwmSptTjbVRCabtymHZYlHZYiau1l61UXj9BFALFT1NPZuLvEHMJa+rIzHmrbFQDuItRITmKEy9wReWzM5exmd27fTwQ0ozgGjrEfUko9012vQNtqnaaljM+3Lw7GGWmJcfQQsLSy1Tg9mKjNjzYJaXCBeAhM5RC6HO8rDIHCuhuESEGsnrh8BLEWGDHawmpfD+qjlt1J5oJV/jhQQNG3vCQYF2ePQRwAWWppuhp3va5vOoGQkytg5KL+TtWPKf5fbBZH81YK1E9eNUrB03qVSTnCUu/qb9rka9YCRzW5a4dDI0WwBAEx3mulMi1WBoGR5BjgAhLKeCPXu0SW2ZnLWES2ddUS1BDNj5dIwK4C/peouwNuWKVl6K+Z3BRgdokb2jY9tw+V14GMpLh+bqStKnTOnt5z+Dk/YAbRNEKmvZfHrqfYpELIIl/mt5z0AIFV70wqR5fOR2jXDDzVtMh/gXUzpHECpUAvU0iKLUkvnJuN9ALLr57V0EKU2s//6kACazWU3Zmm+8wJtBeC5CHRl6E6ELjStqMXvDbC1BoaDuQjMOR9tI+uzQAE2IY4Hftjv+F3MPcCeQLX8NHhzNytAqaIWGAwr8weUm894RxV0pnJuJlQvOCOXe4SOe/+JTJi8x2pPGEVsdkDJriWP5oI1k30fWLRu+bzJaPQBIyWPbO+DwFEfZCg0ftDy1+cO5VkIz8viupNWjTzhBR/ktwcLLwP9Gxi+x0sDYDvDNcDj7/fHqcUr+e8A90Wn/TcL1i8AAAAASUVORK5CYII=) no-repeat; + background-size: 100% auto; +} + +#catIR.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NToyNyswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6MjcrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6NzFmZjM2OWUtMzY0NS0zMzQ5LWJlZmUtZjhiMTM1ZWVmY2NjPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOjcxZmYzNjllLTM2NDUtMzM0OS1iZWZlLWY4YjEzNWVlZmNjYzwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjcxZmYzNjllLTM2NDUtMzM0OS1iZWZlLWY4YjEzNWVlZmNjYzwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDo3MWZmMzY5ZS0zNjQ1LTMzNDktYmVmZS1mOGIxMzVlZWZjY2M8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+EjBnGgAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAADnElEQVR42sTXWYiWZRQH8N+QkohBmZm0oM6oNGUUbTC2QOhFw9BmaUZCm1BRjkSmaXXV1MS0kC1UlCbV0FBmKm0XRhdaQTkXlpnaNJZIha3QZlhMN+eN48v3TfPNDHSuzrOd9/+e53/+z/PU9fX1qdFORRMmY1z0fY/deB9bawlWVwOAiViAFpyMEaXxv/Ax3sCz2DNcAMbjScyuMVNrcRP2DQXAtVhV6nsHb+EzfBd9R6ERzZhZmn8dnhsMgEewKLWfxl2x3/3ZOLThhlKsW2sB8HBa8DVmxR/XYo3YiGNSzNsGAmABngl/C2bgQGnOmOifFO2iAn4rzRsZ/Wek2Cv7A3A8dmEUejEdf6TxI3E/rqlSBatxB35I/aOxLcp2P6ZibzUAK4M0cHagL6wFr5c+WiyuK/W34M3UnoH3wl+F6ysBaEBPItyNKcBFWJ/anXgCn0d7Km7GVWnOxdiQ2k8lYjZEhg8CcDs6wj8J28M/OoCNiTSfj81ViHcO3o3t+QVTkg6ciE/DX4IHMoBGPBY1vAnnpaCPYmH4zXg7jY1I+1/YBaETxdpcyptjazdGzB0FgPlYgbG4N+odDsFXOBZduDIFuy+V1UNYnsZewrwg2yT8ndYsC5IuQmcB4M4QjwJMZ/hNiYiz8Vr49ySQhbXh7jT31UTAD1LsF8JfjvYCQE7zrJBbuAxrkrDsCL8niJStJ8gIJyThujyBmRnp/3d7CgAr0FoBwKVxqJSJuRPTSgB2xofLhMuZqwpgaQgMXI3nwz8TH4Z/BV4Of3HB4mSLgwvF3K7wz8JHKfbq8JeiowAwL7IwPgIvSYF7Q8XWRUYKaw/VE+CXpbF1oQO7UZ/6O6Lc9wUJuwoAUyIlzehO2p2ZC3PxSoV05m3Lf99eqo4tOD3KtBU9WYgWBggBoDv8w+J8mBDt+vizSgAmFwqHb4Inv6aYxVa0hu4cpITHxeKRUYbzSwq3KV3N9lQBMBFfRt+5JcV8MaT6QPzE3kqHUa6GsupNC0H54j+2oCEEbNdA1LEMYGx84PBQq+n4toruVwNQtgn4JG5KPwfAH/u7kMxJ5bY96n8oALalGJnE/V7JCmn+Ka5U+wcJYFRc6Y4ImW6r5VJ6YSzuHmIGTguCbxjqw2SwAIbtZfS/AzgUp0SJ9cYp93iM3RKnZn2U6lb8OdwA1sTxPNC5c4YbwPq4nA507iXDDaApjtzfKzxU8kNkNB5Mt6B+7Z8BADmmRtBxI+m+AAAAAElFTkSuQmCC) no-repeat; + background-size: 100% auto; +} + +#catI2C.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NToyNiswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6MjYrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6ZTc1NDI1MTAtNGJmOS00YjQwLTlkYzgtMTRhOTQ4MjMzYWZiPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOmU3NTQyNTEwLTRiZjktNGI0MC05ZGM4LTE0YTk0ODIzM2FmYjwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOmU3NTQyNTEwLTRiZjktNGI0MC05ZGM4LTE0YTk0ODIzM2FmYjwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDplNzU0MjUxMC00YmY5LTRiNDAtOWRjOC0xNGE5NDgyMzNhZmI8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+/6UDowAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAHRklEQVR42qyXWaxfVRXGf9/a538hBBNFRIIYhgJhMhpFEwZNzO0DhAgy096LDJKgUSiFlpknKyClDEWjRBlCe6Fhhqjw0BsfwJIIPKDMlqKEoEFQEyd6/2evz4dz/vfeFghgPI8755z922t9a+1vyTan37aU+Y9s2qaQIWRjBVYCIlKfy8LBJHtI7Ahg8ybBK1HZkOGnLRMZyIklIk3TVixtsc+tp12HPgTAbqAzZR2J+AzQsOXTYn5r+Rfgn8nx6v8LYCdH/Bg4lg/33KfMb1t6438DKEFtyumCW0brBgTTmIeRnzf6C4DwJ7D2QxxhGJ+/jeGMUuutTZsfDEA2AMNBc32WWNKlACJ9E+ayDN6UhdXj9NuM1iLZEbEiQ2fJdCmoef1g2C4FtoB4B8Dog+EgrnVoab/2euKFJfN5WbSNesjYKuLdCZvWWKZG7BdovcUuAEpf2wzr+WGwtgI449ZzZ08/MzY4szblp5FJpJ80HJLBUB5pw8jaXo5DgN373V+B3JDhfzWtsNRHjYFgQ4YOyhClzTPHZoY3j6Jwy+nXdwDfWHP+KF+fzhIvCbY12jQYtgdm6D+RJkPUoo8jrpJ12rtVgeXbMBdF+q1SjSVkbzcca56RvYfh7ai5t+A1gNtPWdUBTE5d0AGImyWfIYtUHmrXDWNDaFqzeZvmyCzx85FG5umSeWLoc16P3GZz/WXbiJkxEOWQyPi1w9i6RdY3AdZO/KADOGXtMoAFDm0EYepNVn4LCqUK8FEOPTi3racy+FGkfg+Q4b0j+Q7SxKyY00eDHqqlaxFy/ESUs8BgLwA2rZ24ZpSC83BouaNcjU0qD8jI5zpdlE+GY6Ps7Y1a7K8KHoPcogogMByG9CvhxtI/UrmXVd/AEI79w/EsEsp6gdIrbz/l2g5g4o7z9xO6ETQOPGr4CpiMlnBZLZezjWnaPAJ4pG0KpVYy1ABEuq2l0LQV4PDaxMMgrLq6Ri6JbJCF8GPAocbrLZ99x6JVL3QAdy6blHWD0A6p+v0kL4ssCBXEH4FPWV5X2roICrUEcl6B1KvXq6y4pNQEKrUpd8o6GXgNs7vlmkqCuEKOi8FvKb1kzeQ1U30Ell0qtKKP5iQw1cf2YMQGgKh5bIr7swRhvgdctpUaV1hcXmoic2yWuLdfPwR4XJ1cJxFr+pK/ZM3ENVf2AMtXC87u5bMQMx3VEByXwT2dqNgPeCEDBBuBBVuV4UbD3pEA7Ovg+e47HQ/cS0cwbrG+r7jVU4tWLhkB3CA4p+98C4FpkwDHoLgPIMUB4OcgEfGirH22jIBftLxv3yH3D/Nsn55jwfeXBEvjGVrfR2b11OI5gAsFV/V/OtXi9u7+54vh+A2IVD0J8q6oAdIypJVsSbAsw6tSlbBOCjfrwKT8JeAJpRCciritB7hwavHKq/tGtPxkxA3ATpiVMheM2qnwJtAeOB/A7TElg0gYjsWVSBd1h/RVYzN5cVc5pjbNA6CjgVeM9pQ714K4GrEceAOzZO3EynV9IzpvLytWO+KIyHyqGbYH1QiGg0DoijAXd9R54mDY3m01tIMYl2fzuXAwzOlm2DIzaE6qTVknjPGVxpcMWhNp2kF5MiO+oMyH5TxnzeS1G2WbxXcuR3C2zOpOOHmQxVMyKPlIlniJYGcsouaeGXqF0Dj2+r4RLySZlr1HFm3qFf8nzD7G/xRG5iBHPNEDn2O48Y5FK0et+HyAXR2xCTGwmSptTjbVRCabtymHZYlHZYiau1l61UXj9BFALFT1NPZuLvEHMJa+rIzHmrbFQDuItRITmKEy9wReWzM5exmd27fTwQ0ozgGjrEfUko9012vQNtqnaaljM+3Lw7GGWmJcfQQsLSy1Tg9mKjNjzYJaXCBeAhM5RC6HO8rDIHCuhuESEGsnrh8BLEWGDHawmpfD+qjlt1J5oJV/jhQQNG3vCQYF2ePQRwAWWppuhp3va5vOoGQkytg5KL+TtWPKf5fbBZH81YK1E9eNUrB03qVSTnCUu/qb9rka9YCRzW5a4dDI0WwBAEx3mulMi1WBoGR5BjgAhLKeCPXu0SW2ZnLWES2ddUS1BDNj5dIwK4C/peouwNuWKVl6K+Z3BRgdokb2jY9tw+V14GMpLh+bqStKnTOnt5z+Dk/YAbRNEKmvZfHrqfYpELIIl/mt5z0AIFV70wqR5fOR2jXDDzVtMh/gXUzpHECpUAvU0iKLUkvnJuN9ALLr57V0EKU2s//6kACazWU3Zmm+8wJtBeC5CHRl6E6ELjStqMXvDbC1BoaDuQjMOR9tI+uzQAE2IY4Hftjv+F3MPcCeQLX8NHhzNytAqaIWGAwr8weUm894RxV0pnJuJlQvOCOXe4SOe/+JTJi8x2pPGEVsdkDJriWP5oI1k30fWLRu+bzJaPQBIyWPbO+DwFEfZCg0ftDy1+cO5VkIz8viupNWjTzhBR/ktwcLLwP9Gxi+x0sDYDvDNcDj7/fHqcUr+e8A90Wn/TcL1i8AAAAASUVORK5CYII=) no-repeat; + background-size: 100% auto; +} + +#catI2C.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NToyNyswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6MjcrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6NzFmZjM2OWUtMzY0NS0zMzQ5LWJlZmUtZjhiMTM1ZWVmY2NjPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOjcxZmYzNjllLTM2NDUtMzM0OS1iZWZlLWY4YjEzNWVlZmNjYzwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjcxZmYzNjllLTM2NDUtMzM0OS1iZWZlLWY4YjEzNWVlZmNjYzwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDo3MWZmMzY5ZS0zNjQ1LTMzNDktYmVmZS1mOGIxMzVlZWZjY2M8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+EjBnGgAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAADnElEQVR42sTXWYiWZRQH8N+QkohBmZm0oM6oNGUUbTC2QOhFw9BmaUZCm1BRjkSmaXXV1MS0kC1UlCbV0FBmKm0XRhdaQTkXlpnaNJZIha3QZlhMN+eN48v3TfPNDHSuzrOd9/+e53/+z/PU9fX1qdFORRMmY1z0fY/deB9bawlWVwOAiViAFpyMEaXxv/Ax3sCz2DNcAMbjScyuMVNrcRP2DQXAtVhV6nsHb+EzfBd9R6ERzZhZmn8dnhsMgEewKLWfxl2x3/3ZOLThhlKsW2sB8HBa8DVmxR/XYo3YiGNSzNsGAmABngl/C2bgQGnOmOifFO2iAn4rzRsZ/Wek2Cv7A3A8dmEUejEdf6TxI3E/rqlSBatxB35I/aOxLcp2P6ZibzUAK4M0cHagL6wFr5c+WiyuK/W34M3UnoH3wl+F6ysBaEBPItyNKcBFWJ/anXgCn0d7Km7GVWnOxdiQ2k8lYjZEhg8CcDs6wj8J28M/OoCNiTSfj81ViHcO3o3t+QVTkg6ciE/DX4IHMoBGPBY1vAnnpaCPYmH4zXg7jY1I+1/YBaETxdpcyptjazdGzB0FgPlYgbG4N+odDsFXOBZduDIFuy+V1UNYnsZewrwg2yT8ndYsC5IuQmcB4M4QjwJMZ/hNiYiz8Vr49ySQhbXh7jT31UTAD1LsF8JfjvYCQE7zrJBbuAxrkrDsCL8niJStJ8gIJyThujyBmRnp/3d7CgAr0FoBwKVxqJSJuRPTSgB2xofLhMuZqwpgaQgMXI3nwz8TH4Z/BV4Of3HB4mSLgwvF3K7wz8JHKfbq8JeiowAwL7IwPgIvSYF7Q8XWRUYKaw/VE+CXpbF1oQO7UZ/6O6Lc9wUJuwoAUyIlzehO2p2ZC3PxSoV05m3Lf99eqo4tOD3KtBU9WYgWBggBoDv8w+J8mBDt+vizSgAmFwqHb4Inv6aYxVa0hu4cpITHxeKRUYbzSwq3KV3N9lQBMBFfRt+5JcV8MaT6QPzE3kqHUa6GsupNC0H54j+2oCEEbNdA1LEMYGx84PBQq+n4toruVwNQtgn4JG5KPwfAH/u7kMxJ5bY96n8oALalGJnE/V7JCmn+Ka5U+wcJYFRc6Y4ImW6r5VJ6YSzuHmIGTguCbxjqw2SwAIbtZfS/AzgUp0SJ9cYp93iM3RKnZn2U6lb8OdwA1sTxPNC5c4YbwPq4nA507iXDDaApjtzfKzxU8kNkNB5Mt6B+7Z8BADmmRtBxI+m+AAAAAElFTkSuQmCC) no-repeat; + background-size: 100% auto; +} + +#catSPI.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NToyNiswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6MjYrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6ZTc1NDI1MTAtNGJmOS00YjQwLTlkYzgtMTRhOTQ4MjMzYWZiPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOmU3NTQyNTEwLTRiZjktNGI0MC05ZGM4LTE0YTk0ODIzM2FmYjwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOmU3NTQyNTEwLTRiZjktNGI0MC05ZGM4LTE0YTk0ODIzM2FmYjwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDplNzU0MjUxMC00YmY5LTRiNDAtOWRjOC0xNGE5NDgyMzNhZmI8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+/6UDowAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAHRklEQVR42qyXWaxfVRXGf9/a538hBBNFRIIYhgJhMhpFEwZNzO0DhAgy096LDJKgUSiFlpknKyClDEWjRBlCe6Fhhqjw0BsfwJIIPKDMlqKEoEFQEyd6/2evz4dz/vfeFghgPI8755z922t9a+1vyTan37aU+Y9s2qaQIWRjBVYCIlKfy8LBJHtI7Ahg8ybBK1HZkOGnLRMZyIklIk3TVixtsc+tp12HPgTAbqAzZR2J+AzQsOXTYn5r+Rfgn8nx6v8LYCdH/Bg4lg/33KfMb1t6438DKEFtyumCW0brBgTTmIeRnzf6C4DwJ7D2QxxhGJ+/jeGMUuutTZsfDEA2AMNBc32WWNKlACJ9E+ayDN6UhdXj9NuM1iLZEbEiQ2fJdCmoef1g2C4FtoB4B8Dog+EgrnVoab/2euKFJfN5WbSNesjYKuLdCZvWWKZG7BdovcUuAEpf2wzr+WGwtgI449ZzZ08/MzY4szblp5FJpJ80HJLBUB5pw8jaXo5DgN373V+B3JDhfzWtsNRHjYFgQ4YOyhClzTPHZoY3j6Jwy+nXdwDfWHP+KF+fzhIvCbY12jQYtgdm6D+RJkPUoo8jrpJ12rtVgeXbMBdF+q1SjSVkbzcca56RvYfh7ai5t+A1gNtPWdUBTE5d0AGImyWfIYtUHmrXDWNDaFqzeZvmyCzx85FG5umSeWLoc16P3GZz/WXbiJkxEOWQyPi1w9i6RdY3AdZO/KADOGXtMoAFDm0EYepNVn4LCqUK8FEOPTi3racy+FGkfg+Q4b0j+Q7SxKyY00eDHqqlaxFy/ESUs8BgLwA2rZ24ZpSC83BouaNcjU0qD8jI5zpdlE+GY6Ps7Y1a7K8KHoPcogogMByG9CvhxtI/UrmXVd/AEI79w/EsEsp6gdIrbz/l2g5g4o7z9xO6ETQOPGr4CpiMlnBZLZezjWnaPAJ4pG0KpVYy1ABEuq2l0LQV4PDaxMMgrLq6Ri6JbJCF8GPAocbrLZ99x6JVL3QAdy6blHWD0A6p+v0kL4ssCBXEH4FPWV5X2roICrUEcl6B1KvXq6y4pNQEKrUpd8o6GXgNs7vlmkqCuEKOi8FvKb1kzeQ1U30Ell0qtKKP5iQw1cf2YMQGgKh5bIr7swRhvgdctpUaV1hcXmoic2yWuLdfPwR4XJ1cJxFr+pK/ZM3ENVf2AMtXC87u5bMQMx3VEByXwT2dqNgPeCEDBBuBBVuV4UbD3pEA7Ovg+e47HQ/cS0cwbrG+r7jVU4tWLhkB3CA4p+98C4FpkwDHoLgPIMUB4OcgEfGirH22jIBftLxv3yH3D/Nsn55jwfeXBEvjGVrfR2b11OI5gAsFV/V/OtXi9u7+54vh+A2IVD0J8q6oAdIypJVsSbAsw6tSlbBOCjfrwKT8JeAJpRCciritB7hwavHKq/tGtPxkxA3ATpiVMheM2qnwJtAeOB/A7TElg0gYjsWVSBd1h/RVYzN5cVc5pjbNA6CjgVeM9pQ714K4GrEceAOzZO3EynV9IzpvLytWO+KIyHyqGbYH1QiGg0DoijAXd9R54mDY3m01tIMYl2fzuXAwzOlm2DIzaE6qTVknjPGVxpcMWhNp2kF5MiO+oMyH5TxnzeS1G2WbxXcuR3C2zOpOOHmQxVMyKPlIlniJYGcsouaeGXqF0Dj2+r4RLySZlr1HFm3qFf8nzD7G/xRG5iBHPNEDn2O48Y5FK0et+HyAXR2xCTGwmSptTjbVRCabtymHZYlHZYiau1l61UXj9BFALFT1NPZuLvEHMJa+rIzHmrbFQDuItRITmKEy9wReWzM5exmd27fTwQ0ozgGjrEfUko9012vQNtqnaaljM+3Lw7GGWmJcfQQsLSy1Tg9mKjNjzYJaXCBeAhM5RC6HO8rDIHCuhuESEGsnrh8BLEWGDHawmpfD+qjlt1J5oJV/jhQQNG3vCQYF2ePQRwAWWppuhp3va5vOoGQkytg5KL+TtWPKf5fbBZH81YK1E9eNUrB03qVSTnCUu/qb9rka9YCRzW5a4dDI0WwBAEx3mulMi1WBoGR5BjgAhLKeCPXu0SW2ZnLWES2ddUS1BDNj5dIwK4C/peouwNuWKVl6K+Z3BRgdokb2jY9tw+V14GMpLh+bqStKnTOnt5z+Dk/YAbRNEKmvZfHrqfYpELIIl/mt5z0AIFV70wqR5fOR2jXDDzVtMh/gXUzpHECpUAvU0iKLUkvnJuN9ALLr57V0EKU2s//6kACazWU3Zmm+8wJtBeC5CHRl6E6ELjStqMXvDbC1BoaDuQjMOR9tI+uzQAE2IY4Hftjv+F3MPcCeQLX8NHhzNytAqaIWGAwr8weUm894RxV0pnJuJlQvOCOXe4SOe/+JTJi8x2pPGEVsdkDJriWP5oI1k30fWLRu+bzJaPQBIyWPbO+DwFEfZCg0ftDy1+cO5VkIz8viupNWjTzhBR/ktwcLLwP9Gxi+x0sDYDvDNcDj7/fHqcUr+e8A90Wn/TcL1i8AAAAASUVORK5CYII=) no-repeat; + background-size: 100% auto; +} + +#catSPI.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NToyNyswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6MjcrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6NzFmZjM2OWUtMzY0NS0zMzQ5LWJlZmUtZjhiMTM1ZWVmY2NjPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOjcxZmYzNjllLTM2NDUtMzM0OS1iZWZlLWY4YjEzNWVlZmNjYzwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjcxZmYzNjllLTM2NDUtMzM0OS1iZWZlLWY4YjEzNWVlZmNjYzwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDo3MWZmMzY5ZS0zNjQ1LTMzNDktYmVmZS1mOGIxMzVlZWZjY2M8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+EjBnGgAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAADnElEQVR42sTXWYiWZRQH8N+QkohBmZm0oM6oNGUUbTC2QOhFw9BmaUZCm1BRjkSmaXXV1MS0kC1UlCbV0FBmKm0XRhdaQTkXlpnaNJZIha3QZlhMN+eN48v3TfPNDHSuzrOd9/+e53/+z/PU9fX1qdFORRMmY1z0fY/deB9bawlWVwOAiViAFpyMEaXxv/Ax3sCz2DNcAMbjScyuMVNrcRP2DQXAtVhV6nsHb+EzfBd9R6ERzZhZmn8dnhsMgEewKLWfxl2x3/3ZOLThhlKsW2sB8HBa8DVmxR/XYo3YiGNSzNsGAmABngl/C2bgQGnOmOifFO2iAn4rzRsZ/Wek2Cv7A3A8dmEUejEdf6TxI3E/rqlSBatxB35I/aOxLcp2P6ZibzUAK4M0cHagL6wFr5c+WiyuK/W34M3UnoH3wl+F6ysBaEBPItyNKcBFWJ/anXgCn0d7Km7GVWnOxdiQ2k8lYjZEhg8CcDs6wj8J28M/OoCNiTSfj81ViHcO3o3t+QVTkg6ciE/DX4IHMoBGPBY1vAnnpaCPYmH4zXg7jY1I+1/YBaETxdpcyptjazdGzB0FgPlYgbG4N+odDsFXOBZduDIFuy+V1UNYnsZewrwg2yT8ndYsC5IuQmcB4M4QjwJMZ/hNiYiz8Vr49ySQhbXh7jT31UTAD1LsF8JfjvYCQE7zrJBbuAxrkrDsCL8niJStJ8gIJyThujyBmRnp/3d7CgAr0FoBwKVxqJSJuRPTSgB2xofLhMuZqwpgaQgMXI3nwz8TH4Z/BV4Of3HB4mSLgwvF3K7wz8JHKfbq8JeiowAwL7IwPgIvSYF7Q8XWRUYKaw/VE+CXpbF1oQO7UZ/6O6Lc9wUJuwoAUyIlzehO2p2ZC3PxSoV05m3Lf99eqo4tOD3KtBU9WYgWBggBoDv8w+J8mBDt+vizSgAmFwqHb4Inv6aYxVa0hu4cpITHxeKRUYbzSwq3KV3N9lQBMBFfRt+5JcV8MaT6QPzE3kqHUa6GsupNC0H54j+2oCEEbNdA1LEMYGx84PBQq+n4toruVwNQtgn4JG5KPwfAH/u7kMxJ5bY96n8oALalGJnE/V7JCmn+Ka5U+wcJYFRc6Y4ImW6r5VJ6YSzuHmIGTguCbxjqw2SwAIbtZfS/AzgUp0SJ9cYp93iM3RKnZn2U6lb8OdwA1sTxPNC5c4YbwPq4nA507iXDDaApjtzfKzxU8kNkNB5Mt6B+7Z8BADmmRtBxI+m+AAAAAElFTkSuQmCC) no-repeat; + background-size: 100% auto; +} + +#catRadio.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NToyNiswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6MjYrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6ZTc1NDI1MTAtNGJmOS00YjQwLTlkYzgtMTRhOTQ4MjMzYWZiPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOmU3NTQyNTEwLTRiZjktNGI0MC05ZGM4LTE0YTk0ODIzM2FmYjwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOmU3NTQyNTEwLTRiZjktNGI0MC05ZGM4LTE0YTk0ODIzM2FmYjwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDplNzU0MjUxMC00YmY5LTRiNDAtOWRjOC0xNGE5NDgyMzNhZmI8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+/6UDowAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAHRklEQVR42qyXWaxfVRXGf9/a538hBBNFRIIYhgJhMhpFEwZNzO0DhAgy096LDJKgUSiFlpknKyClDEWjRBlCe6Fhhqjw0BsfwJIIPKDMlqKEoEFQEyd6/2evz4dz/vfeFghgPI8755z922t9a+1vyTan37aU+Y9s2qaQIWRjBVYCIlKfy8LBJHtI7Ahg8ybBK1HZkOGnLRMZyIklIk3TVixtsc+tp12HPgTAbqAzZR2J+AzQsOXTYn5r+Rfgn8nx6v8LYCdH/Bg4lg/33KfMb1t6438DKEFtyumCW0brBgTTmIeRnzf6C4DwJ7D2QxxhGJ+/jeGMUuutTZsfDEA2AMNBc32WWNKlACJ9E+ayDN6UhdXj9NuM1iLZEbEiQ2fJdCmoef1g2C4FtoB4B8Dog+EgrnVoab/2euKFJfN5WbSNesjYKuLdCZvWWKZG7BdovcUuAEpf2wzr+WGwtgI449ZzZ08/MzY4szblp5FJpJ80HJLBUB5pw8jaXo5DgN373V+B3JDhfzWtsNRHjYFgQ4YOyhClzTPHZoY3j6Jwy+nXdwDfWHP+KF+fzhIvCbY12jQYtgdm6D+RJkPUoo8jrpJ12rtVgeXbMBdF+q1SjSVkbzcca56RvYfh7ai5t+A1gNtPWdUBTE5d0AGImyWfIYtUHmrXDWNDaFqzeZvmyCzx85FG5umSeWLoc16P3GZz/WXbiJkxEOWQyPi1w9i6RdY3AdZO/KADOGXtMoAFDm0EYepNVn4LCqUK8FEOPTi3racy+FGkfg+Q4b0j+Q7SxKyY00eDHqqlaxFy/ESUs8BgLwA2rZ24ZpSC83BouaNcjU0qD8jI5zpdlE+GY6Ps7Y1a7K8KHoPcogogMByG9CvhxtI/UrmXVd/AEI79w/EsEsp6gdIrbz/l2g5g4o7z9xO6ETQOPGr4CpiMlnBZLZezjWnaPAJ4pG0KpVYy1ABEuq2l0LQV4PDaxMMgrLq6Ri6JbJCF8GPAocbrLZ99x6JVL3QAdy6blHWD0A6p+v0kL4ssCBXEH4FPWV5X2roICrUEcl6B1KvXq6y4pNQEKrUpd8o6GXgNs7vlmkqCuEKOi8FvKb1kzeQ1U30Ell0qtKKP5iQw1cf2YMQGgKh5bIr7swRhvgdctpUaV1hcXmoic2yWuLdfPwR4XJ1cJxFr+pK/ZM3ENVf2AMtXC87u5bMQMx3VEByXwT2dqNgPeCEDBBuBBVuV4UbD3pEA7Ovg+e47HQ/cS0cwbrG+r7jVU4tWLhkB3CA4p+98C4FpkwDHoLgPIMUB4OcgEfGirH22jIBftLxv3yH3D/Nsn55jwfeXBEvjGVrfR2b11OI5gAsFV/V/OtXi9u7+54vh+A2IVD0J8q6oAdIypJVsSbAsw6tSlbBOCjfrwKT8JeAJpRCciritB7hwavHKq/tGtPxkxA3ATpiVMheM2qnwJtAeOB/A7TElg0gYjsWVSBd1h/RVYzN5cVc5pjbNA6CjgVeM9pQ714K4GrEceAOzZO3EynV9IzpvLytWO+KIyHyqGbYH1QiGg0DoijAXd9R54mDY3m01tIMYl2fzuXAwzOlm2DIzaE6qTVknjPGVxpcMWhNp2kF5MiO+oMyH5TxnzeS1G2WbxXcuR3C2zOpOOHmQxVMyKPlIlniJYGcsouaeGXqF0Dj2+r4RLySZlr1HFm3qFf8nzD7G/xRG5iBHPNEDn2O48Y5FK0et+HyAXR2xCTGwmSptTjbVRCabtymHZYlHZYiau1l61UXj9BFALFT1NPZuLvEHMJa+rIzHmrbFQDuItRITmKEy9wReWzM5exmd27fTwQ0ozgGjrEfUko9012vQNtqnaaljM+3Lw7GGWmJcfQQsLSy1Tg9mKjNjzYJaXCBeAhM5RC6HO8rDIHCuhuESEGsnrh8BLEWGDHawmpfD+qjlt1J5oJV/jhQQNG3vCQYF2ePQRwAWWppuhp3va5vOoGQkytg5KL+TtWPKf5fbBZH81YK1E9eNUrB03qVSTnCUu/qb9rka9YCRzW5a4dDI0WwBAEx3mulMi1WBoGR5BjgAhLKeCPXu0SW2ZnLWES2ddUS1BDNj5dIwK4C/peouwNuWKVl6K+Z3BRgdokb2jY9tw+V14GMpLh+bqStKnTOnt5z+Dk/YAbRNEKmvZfHrqfYpELIIl/mt5z0AIFV70wqR5fOR2jXDDzVtMh/gXUzpHECpUAvU0iKLUkvnJuN9ALLr57V0EKU2s//6kACazWU3Zmm+8wJtBeC5CHRl6E6ELjStqMXvDbC1BoaDuQjMOR9tI+uzQAE2IY4Hftjv+F3MPcCeQLX8NHhzNytAqaIWGAwr8weUm894RxV0pnJuJlQvOCOXe4SOe/+JTJi8x2pPGEVsdkDJriWP5oI1k30fWLRu+bzJaPQBIyWPbO+DwFEfZCg0ftDy1+cO5VkIz8viupNWjTzhBR/ktwcLLwP9Gxi+x0sDYDvDNcDj7/fHqcUr+e8A90Wn/TcL1i8AAAAASUVORK5CYII=) no-repeat; + background-size: 100% auto; +} + +#catRadio.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NToyNyswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6MjcrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6NzFmZjM2OWUtMzY0NS0zMzQ5LWJlZmUtZjhiMTM1ZWVmY2NjPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOjcxZmYzNjllLTM2NDUtMzM0OS1iZWZlLWY4YjEzNWVlZmNjYzwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjcxZmYzNjllLTM2NDUtMzM0OS1iZWZlLWY4YjEzNWVlZmNjYzwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDo3MWZmMzY5ZS0zNjQ1LTMzNDktYmVmZS1mOGIxMzVlZWZjY2M8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+EjBnGgAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAADnElEQVR42sTXWYiWZRQH8N+QkohBmZm0oM6oNGUUbTC2QOhFw9BmaUZCm1BRjkSmaXXV1MS0kC1UlCbV0FBmKm0XRhdaQTkXlpnaNJZIha3QZlhMN+eN48v3TfPNDHSuzrOd9/+e53/+z/PU9fX1qdFORRMmY1z0fY/deB9bawlWVwOAiViAFpyMEaXxv/Ax3sCz2DNcAMbjScyuMVNrcRP2DQXAtVhV6nsHb+EzfBd9R6ERzZhZmn8dnhsMgEewKLWfxl2x3/3ZOLThhlKsW2sB8HBa8DVmxR/XYo3YiGNSzNsGAmABngl/C2bgQGnOmOifFO2iAn4rzRsZ/Wek2Cv7A3A8dmEUejEdf6TxI3E/rqlSBatxB35I/aOxLcp2P6ZibzUAK4M0cHagL6wFr5c+WiyuK/W34M3UnoH3wl+F6ysBaEBPItyNKcBFWJ/anXgCn0d7Km7GVWnOxdiQ2k8lYjZEhg8CcDs6wj8J28M/OoCNiTSfj81ViHcO3o3t+QVTkg6ciE/DX4IHMoBGPBY1vAnnpaCPYmH4zXg7jY1I+1/YBaETxdpcyptjazdGzB0FgPlYgbG4N+odDsFXOBZduDIFuy+V1UNYnsZewrwg2yT8ndYsC5IuQmcB4M4QjwJMZ/hNiYiz8Vr49ySQhbXh7jT31UTAD1LsF8JfjvYCQE7zrJBbuAxrkrDsCL8niJStJ8gIJyThujyBmRnp/3d7CgAr0FoBwKVxqJSJuRPTSgB2xofLhMuZqwpgaQgMXI3nwz8TH4Z/BV4Of3HB4mSLgwvF3K7wz8JHKfbq8JeiowAwL7IwPgIvSYF7Q8XWRUYKaw/VE+CXpbF1oQO7UZ/6O6Lc9wUJuwoAUyIlzehO2p2ZC3PxSoV05m3Lf99eqo4tOD3KtBU9WYgWBggBoDv8w+J8mBDt+vizSgAmFwqHb4Inv6aYxVa0hu4cpITHxeKRUYbzSwq3KV3N9lQBMBFfRt+5JcV8MaT6QPzE3kqHUa6GsupNC0H54j+2oCEEbNdA1LEMYGx84PBQq+n4toruVwNQtgn4JG5KPwfAH/u7kMxJ5bY96n8oALalGJnE/V7JCmn+Ka5U+wcJYFRc6Y4ImW6r5VJ6YSzuHmIGTguCbxjqw2SwAIbtZfS/AzgUp0SJ9cYp93iM3RKnZn2U6lb8OdwA1sTxPNC5c4YbwPq4nA507iXDDaApjtzfKzxU8kNkNB5Mt6B+7Z8BADmmRtBxI+m+AAAAAElFTkSuQmCC) no-repeat; + background-size: 100% auto; +} + +#catOneWire.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NToyNiswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6MjYrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6ZTc1NDI1MTAtNGJmOS00YjQwLTlkYzgtMTRhOTQ4MjMzYWZiPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOmU3NTQyNTEwLTRiZjktNGI0MC05ZGM4LTE0YTk0ODIzM2FmYjwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOmU3NTQyNTEwLTRiZjktNGI0MC05ZGM4LTE0YTk0ODIzM2FmYjwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDplNzU0MjUxMC00YmY5LTRiNDAtOWRjOC0xNGE5NDgyMzNhZmI8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+/6UDowAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAHRklEQVR42qyXWaxfVRXGf9/a538hBBNFRIIYhgJhMhpFEwZNzO0DhAgy096LDJKgUSiFlpknKyClDEWjRBlCe6Fhhqjw0BsfwJIIPKDMlqKEoEFQEyd6/2evz4dz/vfeFghgPI8755z922t9a+1vyTan37aU+Y9s2qaQIWRjBVYCIlKfy8LBJHtI7Ahg8ybBK1HZkOGnLRMZyIklIk3TVixtsc+tp12HPgTAbqAzZR2J+AzQsOXTYn5r+Rfgn8nx6v8LYCdH/Bg4lg/33KfMb1t6438DKEFtyumCW0brBgTTmIeRnzf6C4DwJ7D2QxxhGJ+/jeGMUuutTZsfDEA2AMNBc32WWNKlACJ9E+ayDN6UhdXj9NuM1iLZEbEiQ2fJdCmoef1g2C4FtoB4B8Dog+EgrnVoab/2euKFJfN5WbSNesjYKuLdCZvWWKZG7BdovcUuAEpf2wzr+WGwtgI449ZzZ08/MzY4szblp5FJpJ80HJLBUB5pw8jaXo5DgN373V+B3JDhfzWtsNRHjYFgQ4YOyhClzTPHZoY3j6Jwy+nXdwDfWHP+KF+fzhIvCbY12jQYtgdm6D+RJkPUoo8jrpJ12rtVgeXbMBdF+q1SjSVkbzcca56RvYfh7ai5t+A1gNtPWdUBTE5d0AGImyWfIYtUHmrXDWNDaFqzeZvmyCzx85FG5umSeWLoc16P3GZz/WXbiJkxEOWQyPi1w9i6RdY3AdZO/KADOGXtMoAFDm0EYepNVn4LCqUK8FEOPTi3racy+FGkfg+Q4b0j+Q7SxKyY00eDHqqlaxFy/ESUs8BgLwA2rZ24ZpSC83BouaNcjU0qD8jI5zpdlE+GY6Ps7Y1a7K8KHoPcogogMByG9CvhxtI/UrmXVd/AEI79w/EsEsp6gdIrbz/l2g5g4o7z9xO6ETQOPGr4CpiMlnBZLZezjWnaPAJ4pG0KpVYy1ABEuq2l0LQV4PDaxMMgrLq6Ri6JbJCF8GPAocbrLZ99x6JVL3QAdy6blHWD0A6p+v0kL4ssCBXEH4FPWV5X2roICrUEcl6B1KvXq6y4pNQEKrUpd8o6GXgNs7vlmkqCuEKOi8FvKb1kzeQ1U30Ell0qtKKP5iQw1cf2YMQGgKh5bIr7swRhvgdctpUaV1hcXmoic2yWuLdfPwR4XJ1cJxFr+pK/ZM3ENVf2AMtXC87u5bMQMx3VEByXwT2dqNgPeCEDBBuBBVuV4UbD3pEA7Ovg+e47HQ/cS0cwbrG+r7jVU4tWLhkB3CA4p+98C4FpkwDHoLgPIMUB4OcgEfGirH22jIBftLxv3yH3D/Nsn55jwfeXBEvjGVrfR2b11OI5gAsFV/V/OtXi9u7+54vh+A2IVD0J8q6oAdIypJVsSbAsw6tSlbBOCjfrwKT8JeAJpRCciritB7hwavHKq/tGtPxkxA3ATpiVMheM2qnwJtAeOB/A7TElg0gYjsWVSBd1h/RVYzN5cVc5pjbNA6CjgVeM9pQ714K4GrEceAOzZO3EynV9IzpvLytWO+KIyHyqGbYH1QiGg0DoijAXd9R54mDY3m01tIMYl2fzuXAwzOlm2DIzaE6qTVknjPGVxpcMWhNp2kF5MiO+oMyH5TxnzeS1G2WbxXcuR3C2zOpOOHmQxVMyKPlIlniJYGcsouaeGXqF0Dj2+r4RLySZlr1HFm3qFf8nzD7G/xRG5iBHPNEDn2O48Y5FK0et+HyAXR2xCTGwmSptTjbVRCabtymHZYlHZYiau1l61UXj9BFALFT1NPZuLvEHMJa+rIzHmrbFQDuItRITmKEy9wReWzM5exmd27fTwQ0ozgGjrEfUko9012vQNtqnaaljM+3Lw7GGWmJcfQQsLSy1Tg9mKjNjzYJaXCBeAhM5RC6HO8rDIHCuhuESEGsnrh8BLEWGDHawmpfD+qjlt1J5oJV/jhQQNG3vCQYF2ePQRwAWWppuhp3va5vOoGQkytg5KL+TtWPKf5fbBZH81YK1E9eNUrB03qVSTnCUu/qb9rka9YCRzW5a4dDI0WwBAEx3mulMi1WBoGR5BjgAhLKeCPXu0SW2ZnLWES2ddUS1BDNj5dIwK4C/peouwNuWKVl6K+Z3BRgdokb2jY9tw+V14GMpLh+bqStKnTOnt5z+Dk/YAbRNEKmvZfHrqfYpELIIl/mt5z0AIFV70wqR5fOR2jXDDzVtMh/gXUzpHECpUAvU0iKLUkvnJuN9ALLr57V0EKU2s//6kACazWU3Zmm+8wJtBeC5CHRl6E6ELjStqMXvDbC1BoaDuQjMOR9tI+uzQAE2IY4Hftjv+F3MPcCeQLX8NHhzNytAqaIWGAwr8weUm894RxV0pnJuJlQvOCOXe4SOe/+JTJi8x2pPGEVsdkDJriWP5oI1k30fWLRu+bzJaPQBIyWPbO+DwFEfZCg0ftDy1+cO5VkIz8viupNWjTzhBR/ktwcLLwP9Gxi+x0sDYDvDNcDj7/fHqcUr+e8A90Wn/TcL1i8AAAAASUVORK5CYII=) no-repeat; + background-size: 100% auto; +} + +#catOneWire.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NToyNyswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6MjcrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6NzFmZjM2OWUtMzY0NS0zMzQ5LWJlZmUtZjhiMTM1ZWVmY2NjPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOjcxZmYzNjllLTM2NDUtMzM0OS1iZWZlLWY4YjEzNWVlZmNjYzwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjcxZmYzNjllLTM2NDUtMzM0OS1iZWZlLWY4YjEzNWVlZmNjYzwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDo3MWZmMzY5ZS0zNjQ1LTMzNDktYmVmZS1mOGIxMzVlZWZjY2M8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+EjBnGgAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAADnElEQVR42sTXWYiWZRQH8N+QkohBmZm0oM6oNGUUbTC2QOhFw9BmaUZCm1BRjkSmaXXV1MS0kC1UlCbV0FBmKm0XRhdaQTkXlpnaNJZIha3QZlhMN+eN48v3TfPNDHSuzrOd9/+e53/+z/PU9fX1qdFORRMmY1z0fY/deB9bawlWVwOAiViAFpyMEaXxv/Ax3sCz2DNcAMbjScyuMVNrcRP2DQXAtVhV6nsHb+EzfBd9R6ERzZhZmn8dnhsMgEewKLWfxl2x3/3ZOLThhlKsW2sB8HBa8DVmxR/XYo3YiGNSzNsGAmABngl/C2bgQGnOmOifFO2iAn4rzRsZ/Wek2Cv7A3A8dmEUejEdf6TxI3E/rqlSBatxB35I/aOxLcp2P6ZibzUAK4M0cHagL6wFr5c+WiyuK/W34M3UnoH3wl+F6ysBaEBPItyNKcBFWJ/anXgCn0d7Km7GVWnOxdiQ2k8lYjZEhg8CcDs6wj8J28M/OoCNiTSfj81ViHcO3o3t+QVTkg6ciE/DX4IHMoBGPBY1vAnnpaCPYmH4zXg7jY1I+1/YBaETxdpcyptjazdGzB0FgPlYgbG4N+odDsFXOBZduDIFuy+V1UNYnsZewrwg2yT8ndYsC5IuQmcB4M4QjwJMZ/hNiYiz8Vr49ySQhbXh7jT31UTAD1LsF8JfjvYCQE7zrJBbuAxrkrDsCL8niJStJ8gIJyThujyBmRnp/3d7CgAr0FoBwKVxqJSJuRPTSgB2xofLhMuZqwpgaQgMXI3nwz8TH4Z/BV4Of3HB4mSLgwvF3K7wz8JHKfbq8JeiowAwL7IwPgIvSYF7Q8XWRUYKaw/VE+CXpbF1oQO7UZ/6O6Lc9wUJuwoAUyIlzehO2p2ZC3PxSoV05m3Lf99eqo4tOD3KtBU9WYgWBggBoDv8w+J8mBDt+vizSgAmFwqHb4Inv6aYxVa0hu4cpITHxeKRUYbzSwq3KV3N9lQBMBFfRt+5JcV8MaT6QPzE3kqHUa6GsupNC0H54j+2oCEEbNdA1LEMYGx84PBQq+n4toruVwNQtgn4JG5KPwfAH/u7kMxJ5bY96n8oALalGJnE/V7JCmn+Ka5U+wcJYFRc6Y4ImW6r5VJ6YSzuHmIGTguCbxjqw2SwAIbtZfS/AzgUp0SJ9cYp93iM3RKnZn2U6lb8OdwA1sTxPNC5c4YbwPq4nA507iXDDaApjtzfKzxU8kNkNB5Mt6B+7Z8BADmmRtBxI+m+AAAAAElFTkSuQmCC) no-repeat; + background-size: 100% auto; +} + +#catESPNow.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NToyNiswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6MjYrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6ZTc1NDI1MTAtNGJmOS00YjQwLTlkYzgtMTRhOTQ4MjMzYWZiPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOmU3NTQyNTEwLTRiZjktNGI0MC05ZGM4LTE0YTk0ODIzM2FmYjwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOmU3NTQyNTEwLTRiZjktNGI0MC05ZGM4LTE0YTk0ODIzM2FmYjwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDplNzU0MjUxMC00YmY5LTRiNDAtOWRjOC0xNGE5NDgyMzNhZmI8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+/6UDowAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAHRklEQVR42qyXWaxfVRXGf9/a538hBBNFRIIYhgJhMhpFEwZNzO0DhAgy096LDJKgUSiFlpknKyClDEWjRBlCe6Fhhqjw0BsfwJIIPKDMlqKEoEFQEyd6/2evz4dz/vfeFghgPI8755z922t9a+1vyTan37aU+Y9s2qaQIWRjBVYCIlKfy8LBJHtI7Ahg8ybBK1HZkOGnLRMZyIklIk3TVixtsc+tp12HPgTAbqAzZR2J+AzQsOXTYn5r+Rfgn8nx6v8LYCdH/Bg4lg/33KfMb1t6438DKEFtyumCW0brBgTTmIeRnzf6C4DwJ7D2QxxhGJ+/jeGMUuutTZsfDEA2AMNBc32WWNKlACJ9E+ayDN6UhdXj9NuM1iLZEbEiQ2fJdCmoef1g2C4FtoB4B8Dog+EgrnVoab/2euKFJfN5WbSNesjYKuLdCZvWWKZG7BdovcUuAEpf2wzr+WGwtgI449ZzZ08/MzY4szblp5FJpJ80HJLBUB5pw8jaXo5DgN373V+B3JDhfzWtsNRHjYFgQ4YOyhClzTPHZoY3j6Jwy+nXdwDfWHP+KF+fzhIvCbY12jQYtgdm6D+RJkPUoo8jrpJ12rtVgeXbMBdF+q1SjSVkbzcca56RvYfh7ai5t+A1gNtPWdUBTE5d0AGImyWfIYtUHmrXDWNDaFqzeZvmyCzx85FG5umSeWLoc16P3GZz/WXbiJkxEOWQyPi1w9i6RdY3AdZO/KADOGXtMoAFDm0EYepNVn4LCqUK8FEOPTi3racy+FGkfg+Q4b0j+Q7SxKyY00eDHqqlaxFy/ESUs8BgLwA2rZ24ZpSC83BouaNcjU0qD8jI5zpdlE+GY6Ps7Y1a7K8KHoPcogogMByG9CvhxtI/UrmXVd/AEI79w/EsEsp6gdIrbz/l2g5g4o7z9xO6ETQOPGr4CpiMlnBZLZezjWnaPAJ4pG0KpVYy1ABEuq2l0LQV4PDaxMMgrLq6Ri6JbJCF8GPAocbrLZ99x6JVL3QAdy6blHWD0A6p+v0kL4ssCBXEH4FPWV5X2roICrUEcl6B1KvXq6y4pNQEKrUpd8o6GXgNs7vlmkqCuEKOi8FvKb1kzeQ1U30Ell0qtKKP5iQw1cf2YMQGgKh5bIr7swRhvgdctpUaV1hcXmoic2yWuLdfPwR4XJ1cJxFr+pK/ZM3ENVf2AMtXC87u5bMQMx3VEByXwT2dqNgPeCEDBBuBBVuV4UbD3pEA7Ovg+e47HQ/cS0cwbrG+r7jVU4tWLhkB3CA4p+98C4FpkwDHoLgPIMUB4OcgEfGirH22jIBftLxv3yH3D/Nsn55jwfeXBEvjGVrfR2b11OI5gAsFV/V/OtXi9u7+54vh+A2IVD0J8q6oAdIypJVsSbAsw6tSlbBOCjfrwKT8JeAJpRCciritB7hwavHKq/tGtPxkxA3ATpiVMheM2qnwJtAeOB/A7TElg0gYjsWVSBd1h/RVYzN5cVc5pjbNA6CjgVeM9pQ714K4GrEceAOzZO3EynV9IzpvLytWO+KIyHyqGbYH1QiGg0DoijAXd9R54mDY3m01tIMYl2fzuXAwzOlm2DIzaE6qTVknjPGVxpcMWhNp2kF5MiO+oMyH5TxnzeS1G2WbxXcuR3C2zOpOOHmQxVMyKPlIlniJYGcsouaeGXqF0Dj2+r4RLySZlr1HFm3qFf8nzD7G/xRG5iBHPNEDn2O48Y5FK0et+HyAXR2xCTGwmSptTjbVRCabtymHZYlHZYiau1l61UXj9BFALFT1NPZuLvEHMJa+rIzHmrbFQDuItRITmKEy9wReWzM5exmd27fTwQ0ozgGjrEfUko9012vQNtqnaaljM+3Lw7GGWmJcfQQsLSy1Tg9mKjNjzYJaXCBeAhM5RC6HO8rDIHCuhuESEGsnrh8BLEWGDHawmpfD+qjlt1J5oJV/jhQQNG3vCQYF2ePQRwAWWppuhp3va5vOoGQkytg5KL+TtWPKf5fbBZH81YK1E9eNUrB03qVSTnCUu/qb9rka9YCRzW5a4dDI0WwBAEx3mulMi1WBoGR5BjgAhLKeCPXu0SW2ZnLWES2ddUS1BDNj5dIwK4C/peouwNuWKVl6K+Z3BRgdokb2jY9tw+V14GMpLh+bqStKnTOnt5z+Dk/YAbRNEKmvZfHrqfYpELIIl/mt5z0AIFV70wqR5fOR2jXDDzVtMh/gXUzpHECpUAvU0iKLUkvnJuN9ALLr57V0EKU2s//6kACazWU3Zmm+8wJtBeC5CHRl6E6ELjStqMXvDbC1BoaDuQjMOR9tI+uzQAE2IY4Hftjv+F3MPcCeQLX8NHhzNytAqaIWGAwr8weUm894RxV0pnJuJlQvOCOXe4SOe/+JTJi8x2pPGEVsdkDJriWP5oI1k30fWLRu+bzJaPQBIyWPbO+DwFEfZCg0ftDy1+cO5VkIz8viupNWjTzhBR/ktwcLLwP9Gxi+x0sDYDvDNcDj7/fHqcUr+e8A90Wn/TcL1i8AAAAASUVORK5CYII=) no-repeat; + background-size: 100% auto; +} + +#catESPNow.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NToyNyswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6MjcrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6NzFmZjM2OWUtMzY0NS0zMzQ5LWJlZmUtZjhiMTM1ZWVmY2NjPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOjcxZmYzNjllLTM2NDUtMzM0OS1iZWZlLWY4YjEzNWVlZmNjYzwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjcxZmYzNjllLTM2NDUtMzM0OS1iZWZlLWY4YjEzNWVlZmNjYzwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDo3MWZmMzY5ZS0zNjQ1LTMzNDktYmVmZS1mOGIxMzVlZWZjY2M8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+EjBnGgAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAADnElEQVR42sTXWYiWZRQH8N+QkohBmZm0oM6oNGUUbTC2QOhFw9BmaUZCm1BRjkSmaXXV1MS0kC1UlCbV0FBmKm0XRhdaQTkXlpnaNJZIha3QZlhMN+eN48v3TfPNDHSuzrOd9/+e53/+z/PU9fX1qdFORRMmY1z0fY/deB9bawlWVwOAiViAFpyMEaXxv/Ax3sCz2DNcAMbjScyuMVNrcRP2DQXAtVhV6nsHb+EzfBd9R6ERzZhZmn8dnhsMgEewKLWfxl2x3/3ZOLThhlKsW2sB8HBa8DVmxR/XYo3YiGNSzNsGAmABngl/C2bgQGnOmOifFO2iAn4rzRsZ/Wek2Cv7A3A8dmEUejEdf6TxI3E/rqlSBatxB35I/aOxLcp2P6ZibzUAK4M0cHagL6wFr5c+WiyuK/W34M3UnoH3wl+F6ysBaEBPItyNKcBFWJ/anXgCn0d7Km7GVWnOxdiQ2k8lYjZEhg8CcDs6wj8J28M/OoCNiTSfj81ViHcO3o3t+QVTkg6ciE/DX4IHMoBGPBY1vAnnpaCPYmH4zXg7jY1I+1/YBaETxdpcyptjazdGzB0FgPlYgbG4N+odDsFXOBZduDIFuy+V1UNYnsZewrwg2yT8ndYsC5IuQmcB4M4QjwJMZ/hNiYiz8Vr49ySQhbXh7jT31UTAD1LsF8JfjvYCQE7zrJBbuAxrkrDsCL8niJStJ8gIJyThujyBmRnp/3d7CgAr0FoBwKVxqJSJuRPTSgB2xofLhMuZqwpgaQgMXI3nwz8TH4Z/BV4Of3HB4mSLgwvF3K7wz8JHKfbq8JeiowAwL7IwPgIvSYF7Q8XWRUYKaw/VE+CXpbF1oQO7UZ/6O6Lc9wUJuwoAUyIlzehO2p2ZC3PxSoV05m3Lf99eqo4tOD3KtBU9WYgWBggBoDv8w+J8mBDt+vizSgAmFwqHb4Inv6aYxVa0hu4cpITHxeKRUYbzSwq3KV3N9lQBMBFfRt+5JcV8MaT6QPzE3kqHUa6GsupNC0H54j+2oCEEbNdA1LEMYGx84PBQq+n4toruVwNQtgn4JG5KPwfAH/u7kMxJ5bY96n8oALalGJnE/V7JCmn+Ka5U+wcJYFRc6Y4ImW6r5VJ6YSzuHmIGTguCbxjqw2SwAIbtZfS/AzgUp0SJ9cYp93iM3RKnZn2U6lb8OdwA1sTxPNC5c4YbwPq4nA507iXDDaApjtzfKzxU8kNkNB5Mt6B+7Z8BADmmRtBxI+m+AAAAAElFTkSuQmCC) no-repeat; + background-size: 100% auto; +} + +#catLora.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NToyNiswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6MjYrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6ZTc1NDI1MTAtNGJmOS00YjQwLTlkYzgtMTRhOTQ4MjMzYWZiPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOmU3NTQyNTEwLTRiZjktNGI0MC05ZGM4LTE0YTk0ODIzM2FmYjwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOmU3NTQyNTEwLTRiZjktNGI0MC05ZGM4LTE0YTk0ODIzM2FmYjwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDplNzU0MjUxMC00YmY5LTRiNDAtOWRjOC0xNGE5NDgyMzNhZmI8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+/6UDowAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAHRklEQVR42qyXWaxfVRXGf9/a538hBBNFRIIYhgJhMhpFEwZNzO0DhAgy096LDJKgUSiFlpknKyClDEWjRBlCe6Fhhqjw0BsfwJIIPKDMlqKEoEFQEyd6/2evz4dz/vfeFghgPI8755z922t9a+1vyTan37aU+Y9s2qaQIWRjBVYCIlKfy8LBJHtI7Ahg8ybBK1HZkOGnLRMZyIklIk3TVixtsc+tp12HPgTAbqAzZR2J+AzQsOXTYn5r+Rfgn8nx6v8LYCdH/Bg4lg/33KfMb1t6438DKEFtyumCW0brBgTTmIeRnzf6C4DwJ7D2QxxhGJ+/jeGMUuutTZsfDEA2AMNBc32WWNKlACJ9E+ayDN6UhdXj9NuM1iLZEbEiQ2fJdCmoef1g2C4FtoB4B8Dog+EgrnVoab/2euKFJfN5WbSNesjYKuLdCZvWWKZG7BdovcUuAEpf2wzr+WGwtgI449ZzZ08/MzY4szblp5FJpJ80HJLBUB5pw8jaXo5DgN373V+B3JDhfzWtsNRHjYFgQ4YOyhClzTPHZoY3j6Jwy+nXdwDfWHP+KF+fzhIvCbY12jQYtgdm6D+RJkPUoo8jrpJ12rtVgeXbMBdF+q1SjSVkbzcca56RvYfh7ai5t+A1gNtPWdUBTE5d0AGImyWfIYtUHmrXDWNDaFqzeZvmyCzx85FG5umSeWLoc16P3GZz/WXbiJkxEOWQyPi1w9i6RdY3AdZO/KADOGXtMoAFDm0EYepNVn4LCqUK8FEOPTi3racy+FGkfg+Q4b0j+Q7SxKyY00eDHqqlaxFy/ESUs8BgLwA2rZ24ZpSC83BouaNcjU0qD8jI5zpdlE+GY6Ps7Y1a7K8KHoPcogogMByG9CvhxtI/UrmXVd/AEI79w/EsEsp6gdIrbz/l2g5g4o7z9xO6ETQOPGr4CpiMlnBZLZezjWnaPAJ4pG0KpVYy1ABEuq2l0LQV4PDaxMMgrLq6Ri6JbJCF8GPAocbrLZ99x6JVL3QAdy6blHWD0A6p+v0kL4ssCBXEH4FPWV5X2roICrUEcl6B1KvXq6y4pNQEKrUpd8o6GXgNs7vlmkqCuEKOi8FvKb1kzeQ1U30Ell0qtKKP5iQw1cf2YMQGgKh5bIr7swRhvgdctpUaV1hcXmoic2yWuLdfPwR4XJ1cJxFr+pK/ZM3ENVf2AMtXC87u5bMQMx3VEByXwT2dqNgPeCEDBBuBBVuV4UbD3pEA7Ovg+e47HQ/cS0cwbrG+r7jVU4tWLhkB3CA4p+98C4FpkwDHoLgPIMUB4OcgEfGirH22jIBftLxv3yH3D/Nsn55jwfeXBEvjGVrfR2b11OI5gAsFV/V/OtXi9u7+54vh+A2IVD0J8q6oAdIypJVsSbAsw6tSlbBOCjfrwKT8JeAJpRCciritB7hwavHKq/tGtPxkxA3ATpiVMheM2qnwJtAeOB/A7TElg0gYjsWVSBd1h/RVYzN5cVc5pjbNA6CjgVeM9pQ714K4GrEceAOzZO3EynV9IzpvLytWO+KIyHyqGbYH1QiGg0DoijAXd9R54mDY3m01tIMYl2fzuXAwzOlm2DIzaE6qTVknjPGVxpcMWhNp2kF5MiO+oMyH5TxnzeS1G2WbxXcuR3C2zOpOOHmQxVMyKPlIlniJYGcsouaeGXqF0Dj2+r4RLySZlr1HFm3qFf8nzD7G/xRG5iBHPNEDn2O48Y5FK0et+HyAXR2xCTGwmSptTjbVRCabtymHZYlHZYiau1l61UXj9BFALFT1NPZuLvEHMJa+rIzHmrbFQDuItRITmKEy9wReWzM5exmd27fTwQ0ozgGjrEfUko9012vQNtqnaaljM+3Lw7GGWmJcfQQsLSy1Tg9mKjNjzYJaXCBeAhM5RC6HO8rDIHCuhuESEGsnrh8BLEWGDHawmpfD+qjlt1J5oJV/jhQQNG3vCQYF2ePQRwAWWppuhp3va5vOoGQkytg5KL+TtWPKf5fbBZH81YK1E9eNUrB03qVSTnCUu/qb9rka9YCRzW5a4dDI0WwBAEx3mulMi1WBoGR5BjgAhLKeCPXu0SW2ZnLWES2ddUS1BDNj5dIwK4C/peouwNuWKVl6K+Z3BRgdokb2jY9tw+V14GMpLh+bqStKnTOnt5z+Dk/YAbRNEKmvZfHrqfYpELIIl/mt5z0AIFV70wqR5fOR2jXDDzVtMh/gXUzpHECpUAvU0iKLUkvnJuN9ALLr57V0EKU2s//6kACazWU3Zmm+8wJtBeC5CHRl6E6ELjStqMXvDbC1BoaDuQjMOR9tI+uzQAE2IY4Hftjv+F3MPcCeQLX8NHhzNytAqaIWGAwr8weUm894RxV0pnJuJlQvOCOXe4SOe/+JTJi8x2pPGEVsdkDJriWP5oI1k30fWLRu+bzJaPQBIyWPbO+DwFEfZCg0ftDy1+cO5VkIz8viupNWjTzhBR/ktwcLLwP9Gxi+x0sDYDvDNcDj7/fHqcUr+e8A90Wn/TcL1i8AAAAASUVORK5CYII=) no-repeat; + background-size: 100% auto; +} + +#catLora.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NToyNyswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6MjcrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6NzFmZjM2OWUtMzY0NS0zMzQ5LWJlZmUtZjhiMTM1ZWVmY2NjPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOjcxZmYzNjllLTM2NDUtMzM0OS1iZWZlLWY4YjEzNWVlZmNjYzwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjcxZmYzNjllLTM2NDUtMzM0OS1iZWZlLWY4YjEzNWVlZmNjYzwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDo3MWZmMzY5ZS0zNjQ1LTMzNDktYmVmZS1mOGIxMzVlZWZjY2M8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+EjBnGgAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAADnElEQVR42sTXWYiWZRQH8N+QkohBmZm0oM6oNGUUbTC2QOhFw9BmaUZCm1BRjkSmaXXV1MS0kC1UlCbV0FBmKm0XRhdaQTkXlpnaNJZIha3QZlhMN+eN48v3TfPNDHSuzrOd9/+e53/+z/PU9fX1qdFORRMmY1z0fY/deB9bawlWVwOAiViAFpyMEaXxv/Ax3sCz2DNcAMbjScyuMVNrcRP2DQXAtVhV6nsHb+EzfBd9R6ERzZhZmn8dnhsMgEewKLWfxl2x3/3ZOLThhlKsW2sB8HBa8DVmxR/XYo3YiGNSzNsGAmABngl/C2bgQGnOmOifFO2iAn4rzRsZ/Wek2Cv7A3A8dmEUejEdf6TxI3E/rqlSBatxB35I/aOxLcp2P6ZibzUAK4M0cHagL6wFr5c+WiyuK/W34M3UnoH3wl+F6ysBaEBPItyNKcBFWJ/anXgCn0d7Km7GVWnOxdiQ2k8lYjZEhg8CcDs6wj8J28M/OoCNiTSfj81ViHcO3o3t+QVTkg6ciE/DX4IHMoBGPBY1vAnnpaCPYmH4zXg7jY1I+1/YBaETxdpcyptjazdGzB0FgPlYgbG4N+odDsFXOBZduDIFuy+V1UNYnsZewrwg2yT8ndYsC5IuQmcB4M4QjwJMZ/hNiYiz8Vr49ySQhbXh7jT31UTAD1LsF8JfjvYCQE7zrJBbuAxrkrDsCL8niJStJ8gIJyThujyBmRnp/3d7CgAr0FoBwKVxqJSJuRPTSgB2xofLhMuZqwpgaQgMXI3nwz8TH4Z/BV4Of3HB4mSLgwvF3K7wz8JHKfbq8JeiowAwL7IwPgIvSYF7Q8XWRUYKaw/VE+CXpbF1oQO7UZ/6O6Lc9wUJuwoAUyIlzehO2p2ZC3PxSoV05m3Lf99eqo4tOD3KtBU9WYgWBggBoDv8w+J8mBDt+vizSgAmFwqHb4Inv6aYxVa0hu4cpITHxeKRUYbzSwq3KV3N9lQBMBFfRt+5JcV8MaT6QPzE3kqHUa6GsupNC0H54j+2oCEEbNdA1LEMYGx84PBQq+n4toruVwNQtgn4JG5KPwfAH/u7kMxJ5bY96n8oALalGJnE/V7JCmn+Ka5U+wcJYFRc6Y4ImW6r5VJ6YSzuHmIGTguCbxjqw2SwAIbtZfS/AzgUp0SJ9cYp93iM3RKnZn2U6lb8OdwA1sTxPNC5c4YbwPq4nA507iXDDaApjtzfKzxU8kNkNB5Mt6B+7Z8BADmmRtBxI+m+AAAAAElFTkSuQmCC) no-repeat; + background-size: 100% auto; +} + +#catNetwork.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4IGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTktMTAtMDJUMjA6MzU6MTQrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NiswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTYrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6OGM4YTJlZTctNDFkZi1kMjQ2LTgzZTItMDFhYmU4OWY0ZDEyPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOjhjOGEyZWU3LTQxZGYtZDI0Ni04M2UyLTAxYWJlODlmNGQxMjwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjhjOGEyZWU3LTQxZGYtZDI0Ni04M2UyLTAxYWJlODlmNGQxMjwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDo4YzhhMmVlNy00MWRmLWQyNDYtODNlMi0wMWFiZTg5ZjRkMTI8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTktMTAtMDJUMjA6MzU6MTQrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+cYeIGAAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAG9ElEQVR42pyXWaxfVRXGf9/a595baNNKCSBaQEAhBgRaBIoaKvKmGIi9GlSGQuFWSghDMT46PIGEQRJorxCgDJIYX6zVF01o0SCtWGg1YSwgRstQhk7Q3v856/PhnDu1XKjsl/8+/7X32t9ew7fX0vmL7mPiEKBSIyUQKBrcSg6TuRBxAnAMsIDJYw3wEmaTxcM4twphgWSyKWSvH+TJ5+0HgFOBmxDnYG0DZknG1l+AOUAf8LpgngHj7RIzMX+0WYb4x8cGIOkhRX7fGTvScR34iVLqTU1T3Yu5olTNb20Zc77Qg5YHM3WKHGcrfCORs7Dvs3yZ9xuAQVV9XKnqDXZMN7rKte7CEJVfBkdvZOCoqq9HlGaDLbDmNYJQvkVTttZwfAGkXCpxp+TtTRNzc2TgJSKnBuAMotSnVn299RbPNk35quQ3Q4nIa1Hc1uv1fRr5v1VVg7Wu23pGKpH12UAv1JGXZcZ9JQPwoRG5VuiYutd3WmZs0lQAFDmnVPW/hambIkUiBBlEaZz40Trja6UkxcIwBkAGZ0LRk3acXJu+gtqoUEMJWRZ16lNZvGUcwCX3YwtF0jewe4tFP03ZZeiX8heJbnKjL5ZgXdoDEc0IRBct4wAwmAQ0W9JbyMc79Yrgh8jXm3g/lDMs70x7zjiAy+/GFlXkI6G8oEZ9RM4uqXtA3zQg/BrWdDsWhHJzyttpbbO207OAduEszLGIx4S2Gx/eyX+X8mI35d0KjzjyocQXAWhw6C4QR0vxUrOnb0mT5ZdxwPuEBWYW1mKJW4ARcH938xp4F5jRHbATOAgo3XfTzZfZ3J/m7SimrgtFLI2SdzrzKJlXtfCK5Uisx+WkeqR/GhYa2EOUBhq1x0m7jRfLbESaD8y1NVv4XACj1ZLfBj9txzpbX4rIW7EPtFsyAlE3FQB9pe5J+WTiMzU4NDwDsSPNNWndASJIovUniItAD2DPAHahNoZtIXltN18gWhrCwvgQhd7AnAesEiJl0i0HBNwg6WbDDH37iuGlFndmuAI3AJFCbZSDuA24FrfGQJPSeDwIWyQtCAGEgZ8BPx77q41UDP2E9si6UoNDw48BR2OOmHSAx6jxD12UH/zRACCbaG9ZcidiNeaCsX2eoFh6DXhOg0tW7HQTv8kmFkXVjFqY8RvpaVpjzGXf8UT3O398S7RGUD6P2IK9oHPl2L1SJqwHBd/S4NCwMZcgHthHfQt2M+IZ4NwPADCehvts1BrggDHr7DsuBe7V4NDwLmAL8DpQ7bWoAU4HtgHP7iWvgZO7+cYPkJ0IDAAbJqTnRPnhwKGjAF7vQOwNIIHTgO3AM3vJG+Ckbr5pr0Ma4ARgGvD3KQB8Ejhs1AWLECs/0FDmRcSz++0CuXOd1gAHgk4fj+hJei9GrNTgkhW73MSvs4lLo0oUCda4HtjQsu7+BKFwdtkqP49yi2mDUJ2SBFJJWCuFFmpwaPhx4EjMnNF0abM5u0+tlnUmfHQaOscBtGnoVYm/15KbuqwaS+8toBc0ePmKqwndYVGpIyJPWqxbBNePEdFkEJN5oAubNuXDhp9gfiqMBRmtDKuEo5a1VAuHhmcE7Ei4Lq3bJRCJu01C3w3rVy0Va9eoA00gsbads0ATuMPmMIVey/at+D1yxw+BgcDXRPh2mxlaOLQCwXo75vaa0gfQFzUOg4Noa7j3jYeEnsacgTzPjoME30CWYbXgHeAp2+uNvhziZsz0MfJx4F4/YKr+3h7UPJV4vhYuWQ5wbKAXmyxXZqMVVRkhKYR1kMKLDLcCI8j93dPWA28DffhzbG6wfI8ztrkkuXuAKP5B6e8td5OfkfnXeEFS8hHhC7KhP6I5xCp3y/p6W6X6TVLT0vqKwq/I3t6557HOIWe1GRizJI41/rNhp+DQziurMvJyrHcqogf5cIMvnKokO4CmvGe5Qr7N5kYc8wMeT3uaotnTJlRMCkLj0bdjpqRtaZ2KcoPQj4DrBLslz7T83uSSbKwoFYrmiNJXv4pN45A6MkhDFdiwpk6dPWVR6gRpHaHTE4Tb+oAMSskEtG9RundZXtXzStX7G+i5zFiA/CY0hHy1KHf06moO8n/2KctJhI4JtNl4qa3lWAjPRjyK+HzT6zsts2zUBGacqjP6XKnqp+yYbusqW3elTAUvg0tvZODIiY2JYV4DVPJWZ7zdJMeVMEJDyMPIO7Mpp+RI/+YPbUwmtWaRgFZKvtiwA2uZrcdLqTc2dbUSWFyqZpUtG86T9YDk7zTWFzBnhXwTwcGk73f4Uv/fvWEYGxQ5T+jnwDndqzizpTr/FXR490K+MdqcAu8iPoH5k+1liE3IfDwAbX/X1Rc6ROYixIlTtOdrgc2Yf1o8CN6qLgY/DMD/BgCC5fuXy+zuWAAAAABJRU5ErkJggg==) no-repeat; + background-size: 100% auto; +} + +#catNetwork.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4IGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NiswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTYrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6MzUwODcxOTctMzc0Yy0zOTQ1LTk2ZjgtYTc2YmViMjhjOTY0PC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOjM1MDg3MTk3LTM3NGMtMzk0NS05NmY4LWE3NmJlYjI4Yzk2NDwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjM1MDg3MTk3LTM3NGMtMzk0NS05NmY4LWE3NmJlYjI4Yzk2NDwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDozNTA4NzE5Ny0zNzRjLTM5NDUtOTZmOC1hNzZiZWIyOGM5NjQ8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+5Kss7gAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAEbElEQVR42qSXWWwWVRiGn+kmFRBZqlJMFNw1gri2UbASrcS4e2GNS9SYqERNxFjARlAQo4WI2wVKYmMkEXcUUcSNaiFojEYtF261QgGpSwgiFmt7vPCZZDKZ+ftjz83MfOecb77zvt92ohACRY79gcuBs4BDgfOBMuf2AmuBbcCHwEplA46oCAPGAg8ANwJ9QKnyTqBEw/YC45T3K18KzAO6B2PAQuAe3xuBNcAXPi8EWoDRwMXAB0ANMAm4CrjffXOBBftqQCXwJXAU0AzM8WRtwCnOI9wjgZP87gXeB6ZLTzNwJ/A1cDLwTzEGHO6PKlT0ufKrgeXAiUC7srUacJrfU4FW0VmtrAZ4G/hd/9leyIAyTwEQpQzrB34QFXIMAPhJ2QGp/UEEygsZ8KnKuoE9wCPAE3r9Fuc+S6x/x5+dnpBNlL4xwG/ATGmo1F/WAedkGfCgXB8hCi8BZ/i+RWqqgR2Jn70GVAltPI6Uoi5ggkiuBxo8fQcwG3g4acBQYLenvSOl7ErDsE8a+oA/gF8M0UqNGgUMT8AdAbOAFw3ZeDwO3G4498cGPAdck8F7PP4EbgM2e9rxwCG+l+p42z1dq466EDgwR1+IDxuFEEo81WLg7ozF5wLvetqfU3Ovy/WZKfk4KZhiRKXHYuAuIIpCCA3A8zrTzozFTVJQnhHHWU6Ia/8W6iczdI40LOujEMIa83oe/C8DV+TMZ4VhEublwLUFaFgRhRB2AN+lPDk51gGTgRH7aMAuYCNQn6O3FaiOwn9eOBNYkrNwo0nl+Iy5V/WBqRlzm4HvgWk5eucATVEIoQf40cX7ZWSuOp9tZsooUYJr5ftjU3dy3zSfrYk5EnuPBobEBnQDWxP1PZl+J6lok2U2Hn3AcYZhe6JMJ/f1A1+l5lDfBGB3TEEjsCgHqk9MMFkUrDS9TsmY2wp8U4CCZuDW2Am/zVESO8tEnY2MMByV44Q9OvD0HL2bgJIohLDK8pkXhq/Yiv2fMGyxk8oLw2VRCOEyvXmgRFQqp8Ukori23Aw8naEzzpS1UQihVKdotnikR70/qgJ+zUjFozNyyHjrQo0+lB7LgJviVAzwDHDDAMVohlWtztJ8sPFfamvW7U8/MgKagIMKwL8AmBsbMAT4K6McH2Ydf0iUynzuFI2xGtAlEiP8LnHdbOAFIyIezwLXxYdNNiTzgPuErxdYIbS9KqgCjvVnhcKw2sS2TaQA3rOnHKP33wI8ldWStVlau0VkCfCYSHTaLXUMEIaTbWSrbMkaTfVB2lbZxud2xf3CE2Xw1m6zUSgMO+R+WMb+XemilmVAtUgMAy5INKHXG9fHmLiyDKgFNgCXAG8oO1WkuoCz06GedzEp9wZ0gp3xLJ1qvVlxeM7FpMfCdJ4ILrLz2ZDRNRV1NbsXmJ9ISKs17E15bNGxLvKUdVLUoENHtuSPDuZyWqWyGbZZFYl6X2rW67FJjXNGhc473w56ULfjJC2XymO1l4uhhukeC0+ntLxVrNJ/BwA2Cn/lzfxhngAAAABJRU5ErkJggg==) no-repeat; + background-size: 100% auto; +} + +#catOnenet.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAA29JREFUWEftll9oHFUUxr8zu6ZbqQpSjK21O6utwTYUqS+1WCUPrcUnKd2bmBapVETwxUDNzqbEbhTZWWrQl2IrlooPkp2x+hAhiIhFFBEVbGkqBe3MbjXkQS0UbZo/ez+ZTTfZQpqd3UXyknk953znd797z70jWOJPlrg/lgEadqDXudQmGrEZHftjsHvtn41uZV0AvXnvGUPkEIAtAO6YbyrDIngvm4x/Vi9IaIC0W3iF5NuzDeRfQF8g5JxAWgTcTuBBku/kOhM9FQhryN8XMyIjGXX/37cCCwWQdos7SP31bG/5kIz259R9xWrRvqFiu5bSaxBD2yreFcSsvPcuIAcg+MVW5taFIGoCZIbHVk9MTF0U4G6QA3ZnIrOYzVbeP1YSvnFUJcbnnHCKBwB9ijPT7bnujaPV9TUBUq5/VIhDAvyWVeaGMHucGvK6cl2JIcvxCeCbEpgMgCzHH7WVubkuAMstfA5yF4A9tjI/DQMwv/LLGwTcSeHLumXiMWMqNgDNq9Uu1nTAcvzAylaJRldn96z7qx6ASm7K8d8X8k6Dkde1wWO2ij9ZiYUBCE7wuK3MTY00D2pS+cJ+MXjQTpodluN/ZSuzY0GAtOs9TxodAHcAiIL8DiIPALjXVua6RgEWq5tzwMp7DkSSt5zXErdln018Xy9Ej3N5ZUz0cySPl6fY4Lbs3nmdMoCV9zIQOXJD/FchRmDgDInAjScA2RJmBG+6Fz4ptutp3VYivEhJPLkNazT0XiH2AThrdyZUGSjl+tuF+LZcTLqVQEWs76NLrTpiDMKQR4RQWRW/UK8L1fmW4+0GZKTSS8onFDgIkVE7GW9fTDzl+KcNSH/TEDcc15o9YrmF8yA3h7E4lfeegmE8ZBBfNgPRd9pfo0sYA/CTWE7hGsCVFDydS5ojzdgbtjbtFDYRDK7kK3MOCPFqttN8K6xIM3mpvN8ngjcB+GI53glAXgRwcXpm8vHB7raGfy7CQB1xzrdMYtXPAB4G5INgCx4F+GN5JCBfUMthu2v9D2HEGslJu4Ucyd7ZoePu2XvALSRBOnOCgjONiNesYbBqtJabAydzynxh/ib8uPgSNPsBrq0p1GxC1X/FTY9RZnjs9uuTU22Y5l3N9liwPhL9fQVWjA+oe/6pxGu+hv8LSJXoMsCyA0vuwH+lLmokEcSzhgAAAABJRU5ErkJggg==) no-repeat; + background-size: 100% auto; +} + +#catOnenet.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAn5JREFUWEftlk2IjmEUhq+7JBRKU36yQoRJYoP8ZIHJSmKaItFIysYUFuQ/CyE2k5+IrESyoCSJRBIKGVJEQrPwU8LSrTOed3pHM/O93zd9fZs5Nc3ieZ5zrvd+zrmfT9Q4VOP69ANUrIDtScAg4JOkL5VeZVkAtpcBW4BpwNBc0avAKUnXygUpDGB7M3A0FfgFvASeAwOBOcB44JiklgzC9irguqRvPYEVArA9D7ibkpwHdkr6kE9qux7YBfyR1BRrto8Da4FXkmZ0B1ESwHYd8BoYAeyVtKc3mW23AvslteeUCIizQL2ktvz5IgCH0r2/lTShyB3bbpJ0wbaBe8DKALLdJmlquQA3gMXAcklXigDkvjyAFwGbgNmhIPAjr2IRBULKkUCdpK/lAORATgPDgH1Aq6QF2VoRgOjgdklTKimemnE10Cxpoe3b8b9bANvrgFiMrh8APADGAaMkja0UoLdznQrYvhjN0svmWZIelgthezCwBjiRznbJ0wFgO0Zrd9rwJswDuJPUmJ+cr+QIduMLYdfv0t9oYAUQ5vRMUmPsl+1wsfvp8KVsIddA0YBHgOlAo6RwwIrDdkP6wI5aARAd2gzEjIab9Ri2LycX7CtEpnhLALwAwhxKSmx7CTARuNUXJWzHdXwGngTAbyAaZamkuPuqh+0Y6bDk73kFtko6XPXq/5p+O3AAeB8AJ4EN6cGZ25cfF0Xgbcfz/RSYDJwLgJnA43T4JrBD0qMiySrZY/sgsC2dbch8IAwojCiL8IBqRHx1jHXEGUnr8064MUYMGFONyv/l7Jy4Lo+R7SFAuNfwKkF8TA/bzyx/ydewSiCdafsB+hWouQJ/AfDp7/68vn5OAAAAAElFTkSuQmCC) no-repeat; + background-size: 100% auto; +} + +#catBlynk.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAhCAYAAAC4JqlRAAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTktMTAtMDJUMjA6MzU6MTQrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NToyNSswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6MjUrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6NTJhZDZiMGItZTMwYS1hOTQ1LThlZDAtYmM0ZmMxMGY4NjUzPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOjUyYWQ2YjBiLWUzMGEtYTk0NS04ZWQwLWJjNGZjMTBmODY1MzwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjUyYWQ2YjBiLWUzMGEtYTk0NS04ZWQwLWJjNGZjMTBmODY1MzwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDo1MmFkNmIwYi1lMzBhLWE5NDUtOGVkMC1iYzRmYzEwZjg2NTM8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTktMTAtMDJUMjA6MzU6MTQrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMzwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+erd7egAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAEs0lEQVR42rSYT2wUVRzHv2piEMQT8UYCRELbnXm/N1s9+OdkojcPSjQaLiRKkBDstrvdnfnNtiAQEvWIQfBvTArdnfd+b7elMTbcjHrwYgJqlIt680JogiYkJo6HmaVL223Lthy+2Zn33vze5715v29+syBhbEBjJPzlRmKsPcgyyPTs/4aE0/sPkPSESEj4ZnebtjFI4r4AXifhMz13wKwIMb90B5QLQRLlICtOWiRhtRLA4TzYuVUBTN4mDHI8SMLPkGUoyyAbY+jyCJSrIjArAjy3dI6lAzoQMyT8YE+ALhAlDL8dQdkYytZXA9ifx/6ehLetdgZOkfBXJPwAySqTGwY1s5UXZiMoyQHm3oHvqghMfWncn0j4z/4OofCLJHydhH+7S5avk/CvSvhHEr5CNn6/MFsKfFdF0dYxLDECx9COQcKP9JcFmQ7k25eSy3+7pIVTfVd7dEYlMfxGHV6jDt8wdN9pmOmVO8EtnyfHZRIuk/C4stFJZaP3lI0aw813/w7MZEouTIca9Tf2TZ/AwPQJFMwkgtYmAagG7ybDIJennY3gJQyvOYHd82/u3Dc7cqNoJlNy/FfB8EOFhDHUZAw1I2iJNgGgyc+rS/khdBmA35iEL2PY891LGJh/q1RsnkyVcKovhcVgqoZgKkTxYognTRXkos0BUI3cIROGasZQUkHQPgbdKr9AZiLVEqeDXx99auDKYXTkzVSgzcSGAZ5V01kKUqOjOjxXwxPzb2NwrnQhMJMpWb5ZkNGHh1olFFolFGZGoVo10BKH7AfgaWrkALmUiUCGtwWNyRFtJlLlwlRL/WAgJxC449mqk3iTskD4D7J8jSz/nOsaCf9Cwgt5/z9kov26HSOYmcBwaxK6PQG1eAC3kvCjHSF/8L9cCyS8fVUA18sL4lRn1wtFEx8daI9h79QR6E/LIBOCWnd24Pfu50DCZ0n441xnSXjLGj5wjoRLJDxKwiUlUU1ZPqVc9Ily0VXl6qmWelpoj18dbIxsoc8rUBerUC7ujnUo18F+fGCX6vYBiaAsw5+tYV8zhDdV46AVpdpx6ifxRwOX6hiYqsNrxh1L3rARZT5gM4/vAHgzVXjJOIoXK9AS/qCy8be1hFsDiaBtVidsmhGpaQbZKAPoFCKmCkpqIBOdJonz91zZRVIBSRkk1WXVUn8A0wzVjOAnIXwTQgmDTAQ/iVCwMZTl6Q6AdtUd2lWxqI074bDfiOCb8I6Ui6FNDX6jiiFb30OO/9XCqbJ8dSiJUTAxCklHefXUN0ASveybcEeXHlcu3kU28lQSHvMt39Cd1DTRfmpGoCSTMpm6z8J6AV5dmvcrysWpljglyylZ/pAsQ1uGzusB7ZbXBesFeG1dABLdIht/68+OHfDblawydospuxErfoyEvTW0V7nx7X67DG+uBH92DHp5XbgugJMkfKGfrxzlxuG3y/Auj8KfKS8FOEbClbUAjuTb+dk6J91JwoPZdQzlxuHNjPYC+CCPfaQXQCkfcPoeVt0m4dsdAHIhlNTgzY30egWn8zmOrwRwqLtjnRISvrV4H0ObCah2FcotLz5ynSfhL+71EN7T17G29V6T950F9+3/gf8HAN/4Qqg9PlH6AAAAAElFTkSuQmCC) no-repeat; + background-size: 100% auto; +} + +#catBlynk.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTktMTAtMDJUMjA6MzU6MTQrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NToyNSswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6MjUrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6ZWFkMjI2ODAtYzQ1ZS00ZTQ3LTk0MDMtZDk2ZjcxNGY5OTI3PC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOmVhZDIyNjgwLWM0NWUtNGU0Ny05NDAzLWQ5NmY3MTRmOTkyNzwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOmVhZDIyNjgwLWM0NWUtNGU0Ny05NDAzLWQ5NmY3MTRmOTkyNzwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDplYWQyMjY4MC1jNDVlLTRlNDctOTQwMy1kOTZmNzE0Zjk5Mjc8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTktMTAtMDJUMjA6MzU6MTQrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+SHn3wQAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAB1klEQVR42szXT4hNURwH8A+eKWmGsBlbO+RfYmOK0aSIJFkMUdZmqaRZCQtSmoWSjQ1KirAyK8RyLKwsLGwsKDVp/Jtnjs1vcZvuvHffu/fO86tfv3s753zv9/zO+X3vOVJKSvhwSulFGYylytly9JcBKEvgC96UAViSUtJLy8vASYzW8K09GCtCYBb3KiaxCa+xoegSnMc+HKyIwATWRna73gPbsRPT2fERf+Mj3i+015D/oQ5qdiK1t88ppaFOdKDRRTo/4DkGMrNbGUs2iFfYi5eF0LrIwO0WfZ5En8k6lbDVmCsRh7F6MZRwvv2K+Ce8FgJzLdpOR3yAH0XAutmEW3EG6zKE+nAIQ3iMs0XBGriDbXiI6wXG7A5fyB4VwBiLSbxrYCbE5WdB0lO4izXzJrIZR0LGj+NYm70yjZmqy3BHSmku+p3rRRlO4WY8H+5FGcLXiP11EWj399oV8dNiZ6CBazga7/fr0oFTUfPLMtlYgVWZPrfwrGoCfyP2YX1OexNvcQNP6ziUDoQ3c5axiW85bV0TGMWBUKsq7GpI9niR88D+EJLxkremrI8E5oUiQrQRF3G5wgqZxIk8bfgvLyad2BZc6iWBQYz0ksAsvpcB+DcAGTVKMgErpF8AAAAASUVORK5CYII=) no-repeat; + background-size: 100% auto; +} + +#catMixIO.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAABJRJREFUWEfFl39oW1UUx7/npt0olbk/LO4fUVEEfyJYwa3vxRZFmSI0L+tw6pxQkP0g76V2terQtWNO7IwvL93cKLLaKXPa5aVWJmww2uS1nX/0DxH8tT/E/uH807kJzi25R95L0mVN0jTZcPe/5N7zPZ977jnn3ke4wYOu1X972Gkdi6qTterUBsBMmuH0ANQJwj1gnGFguOliQ2RoqPlyNTBVA2i6EwCx63x1CUezLEQkYbYcXSrEkgEC+vQDRLIHwMs58VmAPrAt5Ytg2NkAptcZ/HB2juNMvkgi2nK6EkhFgLWhb5Y3iMYekNgOxs0AnwPEXttS9iwU18KpXWDqBbDMw2D+MCNFZHyfcrYcyKIAwa6p9SzdcKM5JzCM9KV+e/8Tc+UEO7ZOrMosqxsEY102GJiDEBE72jJYyqYkQNBIPSRBbxCwIWtEKZbyncSgP1kppPn5dfrMGkmZIQD3544lBYiIbSnjhRpFAMFwqp2ZDgK4FaDfibEjHlNGluq46Fh0ZyOAERA8XwysT1jqaH5dEYAWdg6DsREs++3Y4321Oi4GSfaBxE4QPrWjaj6Rs1SFI2A4EwS0SkKb5Pqf6vjfLUR0Om75T1QLoxnJTjBuy29EMxxmYDJhqW1lI1AIIKRs9ajdLGAcgg/vxk3110ogmj7ZBqrrBvhZgH6zLeVO16ZqALfFBo2p9xjcDaAewN8Aoralvl0KQtt26nbyLethwjbvvIlPCqJ9cVP9umYA1zDYNdXM0oN4PldaZ0hwbzzqH8uDBMPODmbszv3+XoL3jln+zwpBa4pAoUCwy3mOJd4C8FiuPI8DmYTbEQFaScB5Bt60LfWj3I63AugFy2E3D64ZIA+jhZ1XwegHsGoekDCQPk+7xw8pFzRj2s+Qbh9Zm41YtqKuG8A8iJ4tLbdi8ldywJgaIHjd88qoFSBbBb5N4MyIr6HRHH2/+a+rznQBgGY4XwLoKErQWgGI0UTAfgBNANwL5YBtqflEg1YMwCVLtFYAN6wdXTN3S5nuZtDmnPhZEO20o8rH/wvAfJmFnCch8BrnEsu2VFo6ADQ7piauSxJqxlQnOOO110oABPzJLGNVteK8KIMPJiz/lsXa7uIAfCANYY1byi9eTwinXgHTMAOfJyz1hbJ3gfsWYNBJ7zomJFkKMxFr+apk6y2ZhBwXQljHTMVxbQLhydXEPv1KF736li39IAmn2gHaxYwHc46PkCAzbiqzi5VhRyh13+ig/0d3TXto+i7hYwPMoZzNDwDtsS3lSKFG2SfZU9tPNN6UbtDB5NK7HS/NIJNImnbU/4cX1hKN6MXQtyv+oUsGyLO7BcA5ApuXlwtzfEC5sDCSFR+l7eGJO3xcrzPYFfSBMEcSZjymWt5OCz5MAnpqM2Ud3+s5IgyRz2fGI2t+LpdLFQHm264x+SijTifwS7n/ZhiIus+roJEKMoQOsD87R8cFS/NYzH9qsSTOMlY5gnryGSbXGZ5eaMrAdwDMhKUeXqps1QB54YCe3EQk3AR7xH31gOTQipUZ85O+totLdV5TBBaK35iP02q2WGHtf8NmjT/s7bDsAAAAAElFTkSuQmCC) no-repeat; + background-size: 100% auto; +} + +#catMixIO.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAA1xJREFUWEfFl13onnMYxz/fhAM1DogTmUh5TaFwsLZaCSmvCzFKLSxbbbaZxRBT3udtS7K8xFgalgNKhrITB1JeD8TBOGTmYEV99f133U/3nt3Pnue5t+Y6+fe/f7/f9f3cv/t6e8T/bDpQfdtzJW3v66cXgO2cWwHcBpwG/ARsAp6U9M80MFMD2L6qxC/qEPqqIDZPCjExgO2zSnhhOY/YE5Letn0DsBI4t9beLZAd40DGAtg+soTvBo4G/gQel7Ru2Lnth4BVwBG19lSB/DYKZL8AtheU+PnlIN/5QUm/jnJo+wTgOeDa2pO9iY0828c6AWyfA9wD5GpjnwP3S/ps3JU267YvBl4Czmz5CMgHbR/7ANi+EtgIHA/sBNZIenVS4Y7PcjOQ843WAklbmn1dAK8BOZSrfqCvcAdIfK0FXpfUBPKAarDf9qfAXGAe8D1wB7BD0kfTwthOnTixeRHbBrZLiu8Z67qBNkBAQh17BXhE0s/jQGxHYDlwOfCLpJNzZmqAlFjbj5azw4G/gWck3dcFYfukyprFtf4x8Lykbb0B6mDSMG90fTlO6V0l6b1W1K8BHq7/v6la8UYbtNcNDDm4ArgXuLCefwhsTUUEjgH+AlZLerHA76zCtClxcMAArbddlCwBUnQaeyw3IGm37TlVRy6txZmMOmgALZAmteY1Ldl2QNIp29YPoNLxliokT0vaNfRJ9gKw/Q5wXUeA9gY4DngByN80lA2SmkBLWg0DJM+7rB9ApeGplQG3l+eArJX08iEBaH3v+cAyYCawJGkKgKslbT0oQdgurxMA/AE8O20pbr7rRknpAyNtDMAGYL2kH6sm3Fpz41uSbmycdvWCzAIpoWnH6f+J/ve7KEYAZByL8BclnNlxSauK7tVlRw0kmQkyXp1dwm8WSObAgXUAnCHpuxI+BVgK3FUHvgXWSYqvgY0cyWwfVeShT8X7NxAF8nuJdBWiWSWcc8fWDNmc2z18k5MMpbNbIIcBmfHyWdYXxOCHie2kaoRPL6GMZNn7w6hAGgvQSsMLyvlN9ezLas1bbF9Ta+kBsTSpCH+yvyCeSedxG4bXbV9WYpd0nP26hDPWTWRTA7RuJD0iAXZepp6agPPWeyZSrk29AVogh/7H6TRvOG7vf/Gg2jD45+rBAAAAAElFTkSuQmCC) no-repeat; + background-size: 100% auto; +} + +#catweather.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgEAYAAAAj6qa3AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAAASAAAAEgARslrPgAACmJJREFUaN7NWGlYlOUavt9vQFkUE5UjSspRZgYIcEEx0VCMVAYkloFwV0wJRKC8QrQrwyw3colO0KVmSYL2zQeKwgxKIBZchXU6CpUwICLiFqm4oCAz33N+HGfw2OFSkBPe/97l2e53e54X6CTkEQXWOZ5Dhsj9NRLhSkODvFitzQrcu7ezeoD36D3iONnnmn5ZfY4ckW3W9BUsjh0DeJ7nJZLO6+sauM4KiC+3putumZmBoyjEDxmCSNTQvAULZHc0mcIHbm5PqkdW75HocnzWLLaF9tOX/v6YSUnM2tNzOA0KbQ41NX1mCaie6+8f8kttLcVjMr4sKDAObKRjKF++/IkV6dgpJo+PNzRZHPrRtPT088ybLWYtLc8sAUaHG5kns922zdhOY2cxXCp9vCQREWOwQyvqxo2jb7GNLW5rwwjmJvp//PFfFXi3wbE5Pyh7wNixDilqLf/1oEHtI/85y27Jx1zTr1haPionDc1T8vzo0bJ9muSs+vHje8p/9rQKXF1zczMy+ve/v56r7c3i49EKO7ZcqUQzXGivXI7NqMF9iQSBOAj7mzeJw+cstLAQgVCwqE8/1U5Q5AYnFBX1GAHya5rRWT+uWIEwEumeh4cYwfmy6L17q+fO2BRcUVgIMMYY0aOC0oz8VVkuPj5cpFhK/gcOYCjWYNyAAZ32wA6JsNm3r+Ub89O3X1q6tOM74D9HRx6hfiHbb+pUxLM6emX6dH0xTknadu+uiVXIghLOnu2seY4Y8fRmTAwasAm/z5vHvS9OoaSCAllx/pisL6uqHB1zc3ne3d0gICcNqWjqVOYj/hPn1Wpj4CORgPuVlahkvuzA4sXcSLrLiuzt9cvhIOptbJgPt0IUPT1JCR78zp20E1rk6HQGu2YV9yz7/k0QDM+jwZ7jp/ljVLnBwbJPNHOzmVaLUvYRRRQVIRQCnk9M5H4BdOFRUV3dASakEbWsydcXMVym6BQfz6zYv9ie+fNZJG3FRKmUoiQOXPKkSW5tx1zTr1RWtpzUVbP6/fvZArxFX5iaIhwOuHnoUEuSecXtiNmzzzNvtnjOQyuoBpBqaDQ2AjgLfP+91Dl/VZaLSsVep1RafPgwQklAqp+ffMeL1a4vxsRUxQNASoq4UOzPTi1bxtwxjwQHB6xhK/F9UxMuUDPNy8zsxXT3ersnJ3eVgD/dAe7uR8YeGWthccucU7aaurpWlzQ7iCt/+knmYunJecXFsTZWjpKtWykG+5iypuZu7Z1APe/m1rA9LCws7N69zjog59TarCFRUZCihlJSU7EMAsp//71Phk3UtSF2dvcSr27ubz1gQNt5id4kyt393qVbs3VpRUVdtddlyNo0E4VfSkvlcrVaEIjkEWqZEPDGG0+rdwodp+NkYiLbo3lBGHHlSrv+POcshbf3/zuuJ84DWCaa8IWzs6FNJpK3sLa4+GkdOMG8mTfT6RBAiej93XfGgWSuF9a5uDwDBDxIXPSUgyl9+xp7N7RtFWtv335aB5z5PCXPDx7MEjCBVT2ULwynPhTk42N4beQROZ45nu32/0ICHjyD72M+3r561dj9EtsoKR45srMGpU55Qla0l5fhSOn3scFc9qVLKEUN8b6+xolDsQY7AgIMrxLFmYbo6i9fln+lCcmK3rXLUJQ9LQHGS9CwEjortoGLW7gQJ+DIzDw8RFtUclEJCZJTLE4v3bABpbQC+rAw2OISDqelVRUrXlemR0d3bOJB1XfGo8rNdPt2Fshq6UBsrHF4FRzQS6+HDBWwKC9HM77Fsro6moQKRFhYAJgBuLkxd7jC0dbWKPcgsUIG3eBiwsOrGvyE4B/y8ztNgHyqerewIDWV1uEOaOlStgwyvGpi8tD6J7GkyEhY0z5RXVdH11DDTh49anjH6R26C+3kydUlfmuUZWVljxowlssPqka8ymLZHFGEFd0Xyz77TG+Fb7jLGzfWxCpkIYqGho4IdPScUO1ywceHHOHPYrZsQSl2YMGoUQY/OCuaxHEKReUYv/HBex8q0h5LQG/1BmHMuXOwx2i8Y2+PSShhe0pKqAh6ceauXbbnzDcNXJGZabis5H3UkwW7nBzDFjW+yydIj+rVqxGPBnFuaSlpKF1yYvRotodZ0LT0dKOjr1EU5oaHV17x662cmZXV2RWze5Pned7c3NKqz2judmYmDqAG/QIDqQC/Qn79ungIr4q/OTrWxCpkYa81Nj6WAGc+v57nra31ofS8aaiVVRXzZUGsrq4jAelpzSuq9PBwLozeZBb793c0zxCwcUdNYgPhlpBQtcfXQynreuLyKBEWi/tu5vacPMlCaT1ed3GhQzSChaekaJ38HEN0cXGPJeBJDUoT8qyzK5ycuD/YazTt559RilmUZmYGKZuFyRcvkh8dwOoLF+CMi9CNG2cMvA6n8GFd3eAW89UDfpZKjc9eN0HWVzNbaFEo2BCaj9y8PPoYDizpxg1RC5hn29rWxCpkCllra0fyT54HmLIAcX18vDHwMJzAtMJC/XQ6Y3Fr5EhtlCJU+cXEichgl0R/b29sYCGwLytj2zgVrV+5srsDN0B7+3aQePjoUUyCDm6NjSwONZTUv79ELtrdndlew3QZI/5ecIz/ul8/+WpNL2Hab78ZMjXHwXmtQn5ISHcH1FXIj6ithXcLCv47U929W/pHrpTnhw7tSK7DHSAr06RlTVmyxORE22nOubYW2XQI0U5OhnExgMVgoF7f04EbQKOYhNVduGDsKMUOLFiyhNsiIcm8+np5udpC2L5x46OfriaPKpKXaBpVayMj8SGtI21aGqqgQBVjCGaBSD1zBhvEVirk+VZY+N5Bfj52YldPBw8AJj/ontf7JyXpVRIld+HqVXJio/CKlxdzoRTK9PREDgAkJsrK+s7nkocN004AgLlzjZfgiCvHXLO32NiYXNUtopTaWhYGJ9phaYnr1Iv8PvigqlHxstJs7dqOPkieVTj65NsI/5g9m+aIJRj21VeGHyqxlH3G5MHBxonyWvVW4bk1awxnSFarniFcPH68pwPoLshvahYKa7ZuNcZXpD4gtBw92n4HFGMW7Nv/9dlh9gmCDx7sace7C5w7vcMmq1TGjvsYy8aNH28kgBqZO7TW1sZ2q1jO3G/c6GnHuw2buFxqaq9eWQXzpxQzs/Yd8DYsUd/+qcjeZc3QzpjR0353F/S79NOxe+pUY8cqymXzamraCZiAADIRBGN7Jn6kgXPmSP/QBGRVBAX1dABdhTN/ZCz/9bBhrJS9AY916wz9dBnRdE2l+lMqLC9XWwg2ubkIhYBUPz/IoYZAhGZ8i+iMDHzDTrOUwkIxkyWi8n9Vbz0LyUr9+/RRv35iDgtB/ZgxLJap2c7ISDRRLiUOHGhIzfXJULYsGjXqTwQMp4N0kJ57zuxHsz76uJwczCcVvLy8ejqwpwXlwgEXz5+XnOZyMcjP74xy5lvKOb/+2mExZPisvOrUMuG6a0SEuJdsMGDRIpjBG2fd3Ix5wrMGa4hQt7aiPxLhc+4cBrO7bJ9K1fJ5y1kub9u28yyIBbGmJsP0fwPflMnlao80MgAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMS0wNy0xMlQxOTozNTo1MSswODowMB/+DL0AAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjEtMDctMTJUMTk6MzU6NTErMDg6MDBuo7QBAAAASXRFWHRzdmc6YmFzZS11cmkAZmlsZTovLy9ob21lL2FkbWluL2ljb24tZm9udC90bXAvaWNvbl85ajFmamY2ejlxYy90aWFucWkuc3Zno2BePQAAAABJRU5ErkJggg==) no-repeat; + background-size: 100% auto; +} + +#catweather.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgEAYAAAAj6qa3AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAAASAAAAEgARslrPgAABGpJREFUaN7dWU1IVVEQvvdqpIVokiUWGrmQ/v8QKSLeK83IRWUbWyhBoLaohRBBEPSzaFMLg4QoApEWESWRC03LQkpXEUhJVuji9UupYFjka6bF56hz31Xfe/fmtWbzOeedM/PN3HPm/GgYMQozM3NWFjAUAtbXx2fHsoD37zMxMT14AD0hIVZ7syYguHIlkIhFiIlp/frY7Ozbp8d//w4lKcnvOKMMoKWFlVy9GvV4YmJqb9fj6+r8jiv6BBATU3GxDuDRo+gSZ5rA4WHgr1/AvDy/44o9EczMvHkzEpKRodsTEoALFzqP27gR4/Lz/Y7DZQIWLQKePQt8+RIYDusZMjSEgO/cgb5zp9/8xwI4dgzY0ACChYUyVaccp/p9/cqupKFhpuKnl04wCLxwAZib6zIBr187E+vtBW7ZovsHAnrtShXv6YFy+DD0nBxZGmjfulWKJXB0VPtragJalvZXWgp88yaCIjExXbzoMgGyrV2+DBwc1A6OH5e1DPz4UbNobJzpC04/g0ZG7P40v+Zm7U/4XbmC/kuXxp0A54QsWADDBQXQpZjV1Ggi8kWSk935O3pU2/38Gf7nzYOemQksKXHrz2Vinj7VRKurXdslJqbERNj79EnbDwb/dlxWbN1Xr9b648duCZiWaZlWOAyto0P/unat7wnAl5DdICVF/zo87JaATHGDDTYizguFheO1gpiY7P5nUUD0/XtdrHbsiNnO2Di9pCbdKaYSuSsQE9O1a2jMyvI4QCk2J0/qA0tuLvDWLc1q5rM7+smtr7bWObpwGP6eP4d+966u/h8+OI8bGgLu2eMy8Lo6oH1fFqmsBMHdu3X76KjsFtPbr6/X437/Bso2tnz5jAlU/l+8cOZRVBRnAvr6tMGODhisqJAqrfvfu6f7y75cXY3+69YBy8sjiDIz88GD7j5YcjJQzh8i377Z7yRRGkxPB65YEV3/sjKOSibNKGJiOnEi3sCnT0R3t/ZbW+uVH5vDVauAP35oh6EQAuzsdF5KfX32meQtr717tb+BAfibP99jR3KGly/a1mZ3BH37dmBXFzqXlnr+RRQvOal++aITsW2bewfExJSaCoOvXmkH8a9lzxNBTEytrZrf9evAZcvizOyRI+PFxVH27/c7cM33xg1nnrLryPV5mkdXZLKqamye2w4oMgPOnAHOncdL8M7O1oHa7y4iN29OYWDJEv06K3L+PHDqB5K5KuB96BDQ/kJ14ICt46lTusi1t/sdgGeJICamS5d0AlpabJch+7t+Y6PfxD0T0zAN8/Zt3ZifP5EANtjg9HTdYXDQb97eiv32mpQ0kQDTMA3z3TutFxf7TdlbCQS0/vbt+J9YE7t26TUiu8CkYvGPid4d7K/Xp09HVHX80NQEraREWoGyfTx8iCUTCvkdYISYhmmYqalQNm0Cz6oqtC9ejPb+frRv2BCZMWZmTksDPnnC/5X09wPXrIly6shjZWUl8Nkz53PCXJOfP/X/Kc6dA6al2eP8A6NyG6am1cFxAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDIxLTA3LTEyVDE5OjM1OjM4KzA4OjAwTAlA6QAAACV0RVh0ZGF0ZTptb2RpZnkAMjAyMS0wNy0xMlQxOTozNTozOCswODowMD1U+FUAAABJdEVYdHN2ZzpiYXNlLXVyaQBmaWxlOi8vL2hvbWUvYWRtaW4vaWNvbi1mb250L3RtcC9pY29uX3FxN3VoNHVqcm5rL3RpYW5xaS5zdmeyg/FyAAAAAElFTkSuQmCC) no-repeat; + background-size: 100% auto; +} + +#catTinyWebDB.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAADGUlEQVR4AcTWC3LTQBAEUMkcjHANHM6ScBZirpFwMBDzhvRG/pTLELtIqbW/meme2V3Fm+mCv2/393e7+/vH79vtc7Dbbpc1xnzZseVzQejppADOICiSzbI8T8vysEzTXXAYfMyX3VTgw7djlKhD+4z3BISUMwjKcJ6ml2mev8Kvef4UbHe7GTLWsoH2maapY5QgYlSmpvaeIcDiIamACD7vdp+2T0+P8OXp6SVIpIy1bKB9SiAxDcYnhLQA5MrGhvKQCmjuPSCmETGCEfK6LZs1uYwpZ3MLELKuhi3vCjRZ7fE1Mu5YZ15rER+qEpuUvhfOOF5zKVwO6KhAb8U1Wc7EWnMNASqxXjjj/64l+44rQd4EmKk9uaUIHyVXHVXwJqAOYU8S4TNb1+QaYmSM2IfInjdHuGowBDgY7v/6migVxw7wKkjAoPz7yVhLNLRPJSLjEPvGuOq42rFeQ0D1+7G4J6RmO0BVhiABA+IgYy0baJ/yDSli35jDq34koHz6iRBiOHdlqnQCQhutXuYCtnz4hvSQOK5HApRPVsoZI84tqP4fCAiCr2EuYMsn/ufaISCE87J85FALd9pbQJKJWzx/uj6Lej+rzF2+ytb41hgCHBonV+ngFsSqjMMhTfwhwAQR9l+JGJu7BsRC7JbgcFgTdwhwoJzeXqgrxzhiCOr5v3iFdE3c7rXFDmv36zUEVH9yeu3/EGKyxChZi6kPi4BAVGAcxE4CsgVhZC02DuNgT4BJ+89oVKQUc7YGAgJRgXHABvhAk9avIVmLbW2NIwFKJzNGLaRuA2eCBAu6SiVOm7m0bPnAKVKxgyMBSiczQmKUVrAg4rSZSxv7S9qNMjFM1jLKnPlbIFx4Nj48TVKHzYKMLild+/zDqytbXFyXef6xUbbJXvbM8kCE7i3gpvQWC16cku0zoLMnoq4bIcD2PZAxYtfTTelYr+T6LUCHCKd3LcRh5NgB/scPEoeEuFZu3wpKGBAHGWuJhvYp545RGbuip87WqEDZ7j0qwmFUpYKoTgfcs3wbWAN2CPl2jPqW9Fl7Mx293wAAAP//quMgcwAAAAZJREFUAwDG/OnbxycT+QAAAABJRU5ErkJggg==) no-repeat; + background-size: 100% auto; +} + +#catTinyWebDB.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAADO0lEQVR4AbTXC3LbMAwEUCoXa3KyuCdLejJ1H0LIkp1MfraHG5AgsFhCojp9GF/4rev6GJyClx0yPYzeEwePX6Ae7woIrYKAdA3RS/AcIG1keRjtFweVGy72dIjcLQ4CElxFs68gIM1yvI4x/k48xRaW+ev1tB0nJ67xOMZ4DrdxJWQTkF2bl0WfZg32lDm8xhZCXKPX04oBOUsCWlCm10JKwCyubYKQh2tB0Kfg/xGWZSEGlhAQE1NCHHg8XBR/SoL2Cro5wq3oXsRjdWBW+puAX594cn1oUuMggoBq/dz4MPGWG7ta5w7MR3HLOh9y7WvpQAe6KtrT67vYFK9r2eR7AXx3FZHirjmoVdgL2L+diV19Tk8V9Ys/IaqPW6wvqtNj61rnT7EXIzjc1UTqiNz6nGZCFMJC9mvEX+tpxYAcRZ24C7tlrvp2sH0HiiwiLj8a/AjcFkBYSMEaCaj1tGJATlyjio4xFAbrLN/GlYA39xgtJFZXfJy0DRDAuPjxNcQpJp31dbV3kTLOj6B3ciTti1n7BMQg0BlACMj34GuIe7dg12m7dSAVu+CfudnrubydSa133wHPTZVu3xbEeS9sHUgBb/JLeqrdX2pfcr41cvKqkaQ+7NU7ICBxq/fgZo8ghHj7puDdDrh1ICdfokz7YwaFdY+TTMyJ8ztIXhWN3RdG4V9dt8r82IGIUMhmCxFEzHOIehAGJSxO1roR17omUWGnhSyHU7slaoz+bR1oR0R4B1yj7ggxkjsEIZSwOFnrRlw15ICioV1Y69rsP1cCIl/rSuWyLITAU+ZLknSnQVijfWXFBnLgqmh4tnElIDtap+VOlOV5hFR3GoQ12lf2nPH5jIBSmJPXqZPiVOXL/C5jV+uVAAUVcuo+0aetk/ATpLjOem+k/3vQ1swOIrK+y0hxjxfwu44nHfCPjfbvRSR2PeXPSeRvEA4vtSvqajo9uipuUgJM0gnt96ZvQuL3WMKxIihB69t/VJE22dj7Mu84OYo6ccd6tzze7WCbgBSrcSFEAj8Czw0QFlKsRgJqPa0YkBPXwOFQCoP16N+VgN6YQiR0V5DAgaDjp7UH4io3PKzu8s+ws/kPAAD///OpEaoAAAAGSURBVAMAJotArPFCzysAAAAASUVORK5CYII=) no-repeat; + background-size: 100% auto; +} + +#catAIOT.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTktMDctMzBUMTM6NTI6MzMrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NToyMyswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6MjMrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6ZWFhNDM2YjctNmVkMi1iNDRhLWJjNTktODEyMjIwMzZjNjNmPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOmVhYTQzNmI3LTZlZDItYjQ0YS1iYzU5LTgxMjIyMDM2YzYzZjwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOmVhYTQzNmI3LTZlZDItYjQ0YS1iYzU5LTgxMjIyMDM2YzYzZjwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDplYWE0MzZiNy02ZWQyLWI0NGEtYmM1OS04MTIyMjAzNmM2M2Y8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTktMDctMzBUMTM6NTI6MzMrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+BML/zgAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAGCUlEQVR42qyXW6idVxWFvzHXf04ajKSUiEqjUaiWaIhQUBSKSKQGrTSpSYppsc3FJJQqWEEUTU6anEZQRKsP0eZiE7X2kvQkKLZFE4v6IEREQi8UbbWgNoX2IQ2Wptl7zeHD/5+cs3cOuaDrabPYe81vjbnmmHPLNgA3bvsR09dIFACSwE4EROFNtq/FLJZ0NVCANDwHPIn5PeLU9HOSoPYbJA+cf2jrGgB0CQAfiWANsBRYwLnrBOZRiweAo/9HAC0QvkdiuYDumB7wDHASeDOwEJg97edHDHcanvL/CHA9YkIwasBmJ+ghlMeQTk/SYI8iPiB0E/BFYBaA5dvSzU9mBrjtggBLEY8LY/hVOr5g84IEUoLENAAQBCKteYh7hG+RTM2yrl9137kA62cGsE1I80ea8k8MNWMnqnegwF3cCwBggqLcbDwuTC+9qFpPxwDAxkGA5dMARkvzRAQfs/3rM/2ytCl9QkFNXRDAFmmw+0Rof4RuTcez/TqyUJoCmBgbSsFntu9tN/DiJnzcUM/UcgX2qTZoIOp5AExI1NrQd2JXpGC06KTkuZl8wvZvJgEOjg0psOru3R2Avgu+07An3WyYimPkihBMAxAGGxPtloTbb3XC5NaAuxI/6GQ1nQoHtwwBrBi/F4AiHRPxwer8JOTjZzWTsAEHJQAZDGmRLmQWSlRK6TNNaWxdA/wZ+Ddo/uR1Ht68YViBXZMKvAzMS/u9wN+G3UaA1N64ZkNak7sU9Qm1KnmK4m3CJ9pgzDF+TRIPDQPc1AII9ApwBfAeWosdWsZAv45i62x9G1FUKVEhwPUscSN4sY3v+aA3sDkwnIKV43swIpRHBUuAFcDEOQooqdnQqyOEchpWCxBRUdchXNsrGc9psZv/tKXa55GxTcNluLczoDwS4uPGXwG+Myy/gV4d7R6aZwJootBHgjRZTWJqNgQNTfRmV9fXzwFYOb4X8NUhPwtQq94B/OtcBcTAK5siQPIfJb/T8gLbfU0Sdw815O0Rvr1mbji4ZdPhwSrYvosSPCD02cTj1RqbIQwiCDHVlrrbCy8WeVxAL+PLtcb3kBiJpKhOQv/B6Frj7x/YvPFLQwB7lpTw0Rbay6qbX9hlIBBARO32NHz7PYHXuwV6xY63CCESyEn6w8Ay4+0HNm/cOlgFO3Z/HbNjMtc141v9bL42qLIoSiIqHqz2WUV5ChjtLIO0V2fWB9vyLJMAh4DlxtsObN541zDAHMwNhusEa4SpLmtrxr6pTtb1AnIAQMp1Be9N+6eCQ4qYyMzne5WrkBidsorzAiBD34nM7RGxE/l54KrBKojOfKalhXxa8L6a+lQ1jzWRJ0MxN60liCfkvCgFwN2jhcsCXu90nw2cngTIzuunoLxY+DjwYhJX2knINwe63/Cn6vxQoK6HnAdg1d17pl/qrcIvdZ8vB14dqrizniDYBWwATgC/RczGjAKfFuZMLYvteHJW6eNLALhSeNID5gCvGZMIGeSzb2AkQq8OzYMDxpXWL+24IdpSPE8KBgEWgF+YUhmsJAnIQqjX9QFulbQf+Lvl7Zjo4vaBuUI/UDsbvp3kJdBhxLIZAVaO/3g6wLxQfbmLfz/2c1YeNPFU5gjiDOAoEcclFmVqrWGfVKf5gxAcklhek11ONjWFg4YVMwLcuG3XQI5Hgp+FdIsHc39Hr47sFJWi/rsi4h+0njEbdFrRJzDVImshwgubyGdM4ESSf45YbfLbBzZv+uoQwA8HAJooRGgVybsRi4DPtcG4xsRfoLmsxBvjJv7aryO7g6SUSihJQ6+fIDNayjajKrQd+zBiWVrfOLjl898871heIogQSlMpgO8NeSN4H2JtZgNqm767aUhDFdJPtdZtkBpEvt/OD1ePPDIxtu7kRQGQ7d8r8JKQjwJHMNe1U5E6JzS2zmmPvTqrtS71iIjWQZ1UN0yMreciAAJPPYKbhe+nNahjXHCZzLI/Hfe1E3MS4RYgZwBYtWP3hc77qOB3XNp61KnrUTchB0C9WAAPNmJzeaCxzhl1MQpUl4ed8RhdikokoR79HDkL8N8BAP9zw+7xZcIdAAAAAElFTkSuQmCC) no-repeat; + background-size: 100% auto; +} + +#catAIOT.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTktMDctMzBUMTM6NTI6MzMrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NToyNCswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6MjQrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6MTliYWIxZTgtNTc0ZS1kMjQ4LTliODYtZjZkZTBlYTAzNWZkPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOjE5YmFiMWU4LTU3NGUtZDI0OC05Yjg2LWY2ZGUwZWEwMzVmZDwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjE5YmFiMWU4LTU3NGUtZDI0OC05Yjg2LWY2ZGUwZWEwMzVmZDwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDoxOWJhYjFlOC01NzRlLWQyNDgtOWI4Ni1mNmRlMGVhMDM1ZmQ8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTktMDctMzBUMTM6NTI6MzMrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+ycM8ggAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAC/klEQVR42qzXe4hVVRTH8c9Yjg6NNIShoTkGmVhiECQKITJR4gMVJMkiX1EhFpQgikXpSEESpf4h+MJXZkWZGFnUqKR/BEpEmBJqGVQq5B8WhoWP6Z91YTvduffsO/f3zz33nM0+3733Wr+1TkNnZ6cM3YKHMArDcROu4zSO4RD+ypmwIQNgLOZiAlrLPD+HfdiF/fUEaMVqTE/uXcEJXEQ/jEBT8rwDL+GHngJMxm40xv91+ABH8E8yrhH3YyZeQJ+4PwfbawWYgC/i+jM8j18K7Gr/2LEn4/98bMkFGIxfk1UvlK9XsDKuR+J4DsBBjMeXsRO1ahtm48eIk0IAo/A9ruG23LQqo4u4FY/iqyIAb0cEb8Izeq7XsBzvY1YRgCN4EBOTIOyJHsC3+D1iqyrAHxHJ9+BUHQAGhklBM/6uBNCAC3H2w8Jie6qbcTbmHox/q+3AfrRhRphQPdQcv5eKHEEHHsZivFXjiq9WeN6Ey90BDI+chTvxW+bLv8GQqB/lINqxILJrTzmAXXg8HOzVzJeX/AMW4Z0yYw5HOV+DF7sCtCVldBr2ZgJswtNxfQG3lxmzJ+ZuD3+4AWAZXk8Gv4mlBV/eJxyzMbk3K8wn1SdR1leEOd0A0IypeCQaD5iHrQUA5mMzdsRLduMn3J0DkGpBVMFyk5TTcdyLSfg88f+2KGzZAH2TVGnq0nx0F3xnMSjuPYGdOIrRtQAMwPm4bsGfFQA2RFqdw4EAbsSUBPBYLsCgxAP+59+JegdcUwXATyO2sgBak/arocLks6Pp+DlSq1eMvxoxsDbG3RE7WkrDqgD9oyqKszyNj7p0ub3i7EdWyJbSijfguZhjRhEAeDdpLEtaGNkBQ3GmSqCOiPa9tJPvhT+swpIibfljuCtW+VTSYHwXmbISJ7Gxwhwror1rT47gZbyR+2W0Hs/GVs+rsSzfhzH4OLwiC6BUKzrCLeuiHICSuVyOvrFoW76lXgDj8HXmAvfF511dAFqiR2ip4g2pPoza0K3+GwCzSgrQzBH61AAAAABJRU5ErkJggg==) no-repeat; + background-size: 100% auto; +} + +#catFactory.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NTozNSswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6MzUrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6NjkyMDk4ZGMtYjhhYS04MjQzLWIzNWYtOGVlY2VkNTllMWRlPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOjY5MjA5OGRjLWI4YWEtODI0My1iMzVmLThlZWNlZDU5ZTFkZTwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjY5MjA5OGRjLWI4YWEtODI0My1iMzVmLThlZWNlZDU5ZTFkZTwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDo2OTIwOThkYy1iOGFhLTgyNDMtYjM1Zi04ZWVjZWQ1OWUxZGU8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+vIUvZAAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAFRklEQVR42rxXXYhe1RVda59zvplQ608yoMWGNlXESKimFBKw+tBYqKEgGColioQUS+hDit8EblSq/YnJDdPYFh8SWqmEIGXw50VUqNPiT2lrLSk1SqTBaa2lpBinUSYxmXP23n3w3o8vYzrzfQn0wH06nL3W3mftte9ht9vFsMvMEGPcGGN8zN3h7j9x9/vc/SRJxBjh7ovG2bVrF7ht27ahwN0dJD8dY3zH3Y8DeJPkWneHmW0CsH8oAudSgRjjQZKr3X0MwHsAvk7yUQCfAPAIybsGiTM0AXdHjPFrIYSnzWy/qm4SkXY7kPwZyc0Argfwu8Xi1XUNjo+PD1N6xBiPAVhGEu7+sJltd/eTqooY470hhAfN7EYAL/+vWM1Z7N69e3ACjfAeCiHc7e5b3X2NiNwOAKp6s7sfCiH8k+QhAJ9fKBEzg4h8VIFBrqDJ/tKU0lGSr7n7taoKkreKyH4AFwA4RXJUVa8ws2mSZ62giMDdhyPQCO/3IrKW5Ap3/3sppVdOkk+IyAYze7iUsrUffD5wu9cjsNgVuDtCCDfHGJ9V1Z+r6rcAIITQC0byT+6+upSS3N36z7cinV+RHoFBfCDGOOvuo6WUqKoIIaDT6bQEHwRwbynlTlU90A8kIj0C832hR2D79u2LVWAnyXtU9Q5VfYwkUkqtksfc/V0Ah3PO1/SrPIRwVuBhCfQASinXND6AGCPMDO7+EskbVPWqUsqRNuO2zRZaAxFw99+SvL6UcpWqHukPTvLLKaVfq+qBUsqd7d6ga0ENNADrUkpTqro/57ypX1DujpTScQAX5ZyDiFgIAWY2PIH5XdCWrgUopQR3t/6yhhC+F0J4wMy+qaq/SCkBwHfM7Lo2zALY/EgmfL2u6x99zAeae/5+COH+UspmVX207eGmJS+OMf7H3adF5IrWJQEcArBqiJn2t7quP/cxAiQvSSnNuPtbpZQr28zbL6U0JSLrSK4C8Eaf2ATApwacKwRwtK7rcsYVNNlPicg6AKtIvgEAc3NzbfY3hBBeMrNJAN9oXHDocd6SPkMDjT/fGGN80d1/SXKjiCDnjMb3EWM8RnJZKWVEVedCCL1+P5vbDUSg2+32PDqlNAPgEpKRpJZSkHNuwe+JMe5U1W+XUvaGEND3L3BO64xhFELoAajq3v6MSH4yhPCBu/8j5/yZ1g3dfQWAywHkIXAJIAB4q67roxwfHwfJC2OM7zdTboWZzff7Z9x9fc75C6r655GREYjIRWZ2/DwK8O+6ri9jt9tFSuk5kl/NOV+nqn+ZB77G3f9gZk/lnDeQxMjICEgmM9vs7pcBmBsGmWRHVd+cmJiYZFVVIwBOufsrqrp2/qgFcJTkpaWUJe5+qpmOEJF2HgydOknknLFnzx6wqqorARxx950icl9/28UY744xPpRz7qaUfjw6OorZ2dkzxHeuBFQVExMTYFVVNwF4HsBdAB4xMzQaWCYix1T1XyGEy0spOHz4MFauXDnww2OgLqiqaguAvQC+QnJKVQHgSyLyKwBLSK5ZunTpH/ft24fp6Wns2LEDJ06cGGrwLEbgpyS3qmoAYCLyXQA/aMp029jY2OMHDx7E5OQkli9ffvWWLVuenJ2dXXKeBBzAK3Vdb2RVVb8B8EUz+yzJAyKy3sxeFZENqvpOp9PBzMwMUkrodDqrY4xT7t4BcD4MpCFwE6uqetXdryZ5gYhAVX+oqve3fz0AMDo6ihgjSik4ffr0eTtgK972CuYAJAAfAljv7i80r5zeA6J/Ip7rAFqIwNvu/lczu0VETjYvnf8bgf8OAAIvQ+6K9rGkAAAAAElFTkSuQmCC) no-repeat; + background-size: 100% auto; +} + +#catFactory.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NTozNSswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6MzUrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6YWY0YTQwOGYtNTBiMC1kMDQ5LTgxYTItN2VmOTdkNGJjZTI1PC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOmFmNGE0MDhmLTUwYjAtZDA0OS04MWEyLTdlZjk3ZDRiY2UyNTwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOmFmNGE0MDhmLTUwYjAtZDA0OS04MWEyLTdlZjk3ZDRiY2UyNTwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDphZjRhNDA4Zi01MGIwLWQwNDktODFhMi03ZWY5N2Q0YmNlMjU8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+ihKg3gAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAACt0lEQVR42rzXW4iVVRQH8N9nXgo1jRE0DHRURGTQJoQRLB+8gIogKImoDFIo0sOIPWVR3tCn6EIPgYoiIiJeXkQFNTEV7yg2RVJYqRET1WQiJt62L+vAx+HM6JyZb/5wOJu19j7rv9det5OllFSJhdgZ6y/wEe519EeyKgm8hlu4jWuYGPIl2N4dBC6jHoPwD97GNvTFFiwtksBsHIibLsnJX8AmvINJOFMUgb9RE+uv8EHu7T/EBkzGqSIIfIaVaEIDFoV8Jprxe3yPK+IJBqMF32F8yObGU/TDfbyIkfilCAJnI9pr8VuZbi/mxZM0FZEFM3EIm7Gsgv5SZEUvPCmCwN1wb88Kug0RfI3YUUQh2ohVWJyrfCUMwl/4EWOrKSjPIvAsAyfxFkbj5yIInI6iUsnAFHwTbm+stqG0R2AqjlWoeCXcxoCogE+KINCegTVYjXexNWQr8Hqs23NrFp/v8WlbBNbik6jr28p0A/FvFJuROXkz6jpw+V8xohKBV9CK6xhV4eCxeJ46/JCT98Crz+v5qKqPKhFoy4CI+JPYjQW6AOUEJuNb7IqJp61O2AcPiiDQGk/QE4/L9q6KovQevtZFyBNoz0B/3MFNDMvJazEUDztiMzLrOlpKBF7Gf9HlaiscOohZeANXQjYgUrVa/IkhJQKHMSPy+GrZxgacw/5ouSX0ijQdUkU89I5hdneWUuoTw8T53HSbR0sMIy/Fvi5FllIaFXV+Y8z2eayMMex9fK4AZCmlaTgao/SWnK4m0u6PCDRFEVgeUT89ihC8iSPh9gZcKJLAlzHHlZrOx1gX+vnYk9s/BvuCWGeQIuYWZiml45iA4dHbZ+FiRPytsoP14aXenWnB0TfOY1qWUroYN+sXyvXRCbsFWUrpQeT0/3H7E7oRWUrpBn7CnGr+XncWTwcA4EzxwWHPpz0AAAAASUVORK5CYII=) no-repeat; + background-size: 100% auto; +} + +#catNova_G1.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NToyMiswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6MjIrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6ZDNmNzAyOWQtOWMwYy00NTRiLTllMTQtNTg0MjY3NTRiYWMyPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOmQzZjcwMjlkLTljMGMtNDU0Yi05ZTE0LTU4NDI2NzU0YmFjMjwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOmQzZjcwMjlkLTljMGMtNDU0Yi05ZTE0LTU4NDI2NzU0YmFjMjwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDpkM2Y3MDI5ZC05YzBjLTQ1NGItOWUxNC01ODQyNjc1NGJhYzI8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+/zmC9wAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAADFklEQVR42uzXPYgdVRjG8f/znnFbEUWwFBENKVLEMosoWNiYoEnYL4MEtbAQoqsi9gHNrh+FYKKNMfeGZZeNNoKaJhIrU9ikEQnpUq2gRYp1zvtYzFxJjAlC5pImpxyGc37M+3HekW3u5NJdwLWA5fEikUGNpC2VsChZ3ha8D/zu1HzC9xEJGSQQpULb4EgiEtfSPY+EWrBMlIrbhiyVAFYWRjcHKAMDLhWh3bIu2HwmeAzxlGEd8iVquZoaHLD0hcwm1rcKAB8yfOkaQgnFr8o6jozbWEwxHhTw1njJ4I+AN0AA+4F1Uo8gX0oZarkvIkcEz9qcBx+klitDAt4DjvaAF4ANUg8Dl90foKgg9gmdAXDGspWrUwcApIVKBcC1lCh5QnDY8Bt4nzMuThVgC3oAtUBUCO+R42vgfpvVtJanBgBwJAZUC5SKZahBBEeBd4E/jZ+jLeccUwAgk/L1gAxCxvC4rE2JHU59lfByRN12HRIAXa8AFHkdIPvQROTrhD8BgX3AtWwMCgBIQDLuO+O1AJWK4UE5Tof8tK2zVTkXsDUYwAA3+QI9ANqGaNqDwJoRmD0ri6d+GgTwT0LeAqC2gabFFiF+Bp44tnBKwwCs7vBIMoMAVCqZgTKgaclaCAuaFjkuALsHA9iC/wVgIZocuQPPrsyPzg9TBVb3Vn/oDYBSHwKtBcw69UPK80Rurc6PByjDSJyB+s54A8BxJCI/dJeKB1zLhiMhkmEApXYX078BkTsNZyQ9StXJlF9R5Pbkyp4uQD4msQz8YeVe2uac5e7yGgrgPvvVJ5hS0NQnhb4B7rX5wNY76puT+7DcPsBcJro6V8YEMBPwOeFD4F+B551xcdKihweU7OaBDFTqftB6X45HjD+eDCS3C/jvkQwu9bF+QGgs+RnjH8FzynIlZYYAHE9508rvGgfAi7ZOdkOpUeRriE8B3JYFy6ejVKiFYQCjJWqppEVTC8AuhX9x6oTEDuRZmzWUh6nN1cm0MyygacntGbQ9A6VS7vnrTYVXsLacmrM5q6bfcGjA3X/DO7H+HgDRj5vujRlaHAAAAABJRU5ErkJggg==) no-repeat; + background-size: 100% auto; +} + +#catNova_G1.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NToyMyswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6MjMrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6ZmEyZmFlYWEtZjcyYS1hYjQzLThkN2EtYjEwY2QxMTA3MmNiPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOmZhMmZhZWFhLWY3MmEtYWI0My04ZDdhLWIxMGNkMTEwNzJjYjwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOmZhMmZhZWFhLWY3MmEtYWI0My04ZDdhLWIxMGNkMTEwNzJjYjwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDpmYTJmYWVhYS1mNzJhLWFiNDMtOGQ3YS1iMTBjZDExMDcyY2I8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+wqwjaAAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAABl0lEQVR42uzXP0hVcRjG8c9FcI0wgsYQSWloqDEJgwYXk/6IFYaEOjQIlRTRLpTanyHIaqlQEaV0ESoXI6ccWlxCws1JwYaGltvyHrhIQ8O9ryC+0+89cA7f3znv73meUyqXy3azSvsA/wFwFw+xhSv4lAlwEit4gWNowwx68bsWAK/xHgvRX8cblKIfwHisr2Gy2gBlPMHt6C/FjhvxM64dxATa8RVd2KgmwAMMR38RsziK9R33duJDrIcwlg0AdXiJG1gLqNVMgKJOYw4N8SaGsgGKGsZ9/EIHlrIBoDlOUgveoQ9/MgGKGsSzWF+O56QCwGFM4SwW0Y3NTICiujBdMbDL2QBFfcOpCmVNB1gJf0kHuBryDa0h4SkAR+Lbt+Jz2HnaEN7C4904hsfDpJrwFv2ZQjQSPrCN85lSfAbzOIBHuJdlRvV4FcnpBy5k2nGRloqBe5oVyQ5FFjyHL6HvVYtk42GlH6PviUkulOsmnleIy1StY/kJfI/Y1RKCMh0RrCax/F91B6OhYN1hq/v/hnsH4O8A38/3wXV4mTEAAAAASUVORK5CYII=) no-repeat; + background-size: 100% auto; +} + +#catCommunicate.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAA6hJREFUWEfFV0FWE0EQ/dV5ijviCUwYXBOCe+EE6gmMJzBsYLICVgluDCcwnsB4AmEvQ1hLZDyBYSf60uWrnu5JM8mQCe8ps5rpma7+XfV/9R/CPV90z+vjTgCetb9tsqInDKrIBggcayrFZzvVk0U3VBjAxuHFS2Z6DeDlnEX6RPzxdHe1XwTMXACy2zGV9gi8WSSg+4ZBxyUeH3xtPT2+bd6tAOqHwyYY700Axg+AYxA9N49MH4lYMiLvDkDYS+75BEQ1AMv2+U3UWu3lgcgFsN7+3ksXAI70ktpX1/oSQFkWP2utNOqdIUvgKAyo3r5ogOiDPCvWWxpqMwUF9KIweDMLxEwAXrArMDdlB/X2xbHsnkCfT8MVwwMfgH3uAngLII7CoGrjyNgymGdmYgqA1FyT+uJ2IjX0xq70kqoMtqujWQDMWHsYg/DELWjJ+8mP52diCoDbaSIvDDRoRGCRW8U8K9V0AUhrQzBWakJQzfuWsDGDYgUuMyCcgBDzLFzZygXgo12E8Yt8S8SvfIneyMBG53ufwS9A2I52g65NvdRb6noORh++HK0iDPPTtNAAzDXhi5C1hHFPyugU5XPIZnmC35FKL6nHrs6pGiwof7dZErp3aSaZT6LWqilP7f1lWV3rnwBGURg8TvG6m5Ro3qSEVAn7RVrZppIHwFvMSNStUe8MBwDW/FjpS4faaTydZFmtWVUHrWpcJAN5CnHZ9HkwQdce7nuNYxFeLf4t4yBqBfs3OFC/bwC5JegMpeks//MSOBJKszkNg/UJB/4TCS1xkt16Mqx3hq6/H0VhkHbBPKJZ5ZiDydd8rX1ZUWQOs6soDMpTMpQBvxHph6pHf7BGrDfBEMKIAo6dC0oIlHgEabGTgBwTULPtt8dK9fgBztVv3ZCjPauyG53QP4gWp3axGdl+cuth5FosQ8XWG4wU61duKf/U9MakZGuZ9mxMjIy5zjizBKZlvrusKa3P7IT0DJ8csxMNT/mBiSlJj23fqGil1gc7VemG6TXPkAhqA2KWT/ABWODiI8pujr94YUPioGUsWVcvqQP1SzdttxxppbZcpkQ1vl3jR9RU11o8YqIar/NlmXK7KfV8nqiAgC5AW+bIBkSyTk6ikIoxrgofwGbh5F2OFcvlQBahSe143HVuuBjXE8LpUqmZrflCGfA/Nv8HKDWIWAxKYrmnrytm6jsTUgTs3B+TWUEEjIwb6y02HIk3nPcTMivWnQAU2VnRb+4dwF84AWI/dAQFagAAAABJRU5ErkJggg==) no-repeat; + background-size: 100% auto; +} + +#catCommunicate.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAwFJREFUWEfFl41RFEEQhd+LQIlAiECJQIlAiUCIQIxAiUCIQIhAjUCIQIxAjECJoK1va3rs29tjjx+lq7aOnZ2fN92vXzfWA5sf+HzdCkBEvJD0RNJmu8ClpEvb5ze90NoAIuKVpNeS+L3OPks6tc3vrM0CaLd9J4lb38TOJB3a5nelXQsgIg4kfWirf+JmSc/b+2nzCK+HkgCJEYZnkh61933bJ6sQrAQQESzC5dixpPeSfkh63Fy8FxHBR9uOiD1JH9v8neaxBHVie38KxCSAstmVpANuEBG4ktt/sT3woAJo70eS3jRCbrV9GMMbk55YAtBi/jVvQgzLGIA2bf+eAtDGCBMZMhzYyPup7lc9MQUgb8q8C0kcRrrx8A4v0pJglaCEivchNVvI4AR2ZpvwdFsAMEK7ijd3Hd+tKToGQO6+lPTW9lFzPfEmrt8l8b3eNjOiChBe4sZ8I1MgIGHMjOocGghcr5OkkrRR4pzZMICamk8WjMYBTdzPbQ+AI4Ls+UVIbW/k/L6wEK0vaguTEztjURlnQW5aDhtStIzjnaeS+l71Y6JGRsnpwSIiWb1lm7+7rQLQ1nWNKHulNzsPKgDYm8JxV6LNrUeiOe8vByLiwQGsCgE6gJL98xDAVhTwwvZ2idv/IWEjTt62pmHq+7HtqoJLtaCAzsJU6wZKSjG7sk1KDrZSiBCQljJ4Bn6QAXgjuyDWpyjVms88hIiHPXgQMUBR2heybAwgwzDH4rt8X9CTuWKUEsut6A0I0W45vVfNMkbIEJsqz12yUxknQ9B4gOu+tQm9hhdB6jk80Q9k7HvZHjUq27ZRw25zDQkTs67X8AxuHHVEAMcjECzX1C5pvYZkQjYZwq30fWQBakkoqOvpKYpLb9fKvMya7rUxeeaa0noDeAAQDqZkAyLTiW9kB40rfSEH57fbNaXFE7iWg5NI62YAJKSfXIj5jTxQJ7dyjUeQ7Gy5x/tBPpqWoQlZB+nsPyZTmzQwS0K07qGzWbAO8vuacysP3Nfh7PMHf02SMN9p8fsAAAAASUVORK5CYII=) no-repeat; + background-size: 100% auto; +} + +#catBLEC.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NToyNiswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6MjYrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6ZTc1NDI1MTAtNGJmOS00YjQwLTlkYzgtMTRhOTQ4MjMzYWZiPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOmU3NTQyNTEwLTRiZjktNGI0MC05ZGM4LTE0YTk0ODIzM2FmYjwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOmU3NTQyNTEwLTRiZjktNGI0MC05ZGM4LTE0YTk0ODIzM2FmYjwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDplNzU0MjUxMC00YmY5LTRiNDAtOWRjOC0xNGE5NDgyMzNhZmI8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+/6UDowAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAHRklEQVR42qyXWaxfVRXGf9/a538hBBNFRIIYhgJhMhpFEwZNzO0DhAgy096LDJKgUSiFlpknKyClDEWjRBlCe6Fhhqjw0BsfwJIIPKDMlqKEoEFQEyd6/2evz4dz/vfeFghgPI8755z922t9a+1vyTan37aU+Y9s2qaQIWRjBVYCIlKfy8LBJHtI7Ahg8ybBK1HZkOGnLRMZyIklIk3TVixtsc+tp12HPgTAbqAzZR2J+AzQsOXTYn5r+Rfgn8nx6v8LYCdH/Bg4lg/33KfMb1t6438DKEFtyumCW0brBgTTmIeRnzf6C4DwJ7D2QxxhGJ+/jeGMUuutTZsfDEA2AMNBc32WWNKlACJ9E+ayDN6UhdXj9NuM1iLZEbEiQ2fJdCmoef1g2C4FtoB4B8Dog+EgrnVoab/2euKFJfN5WbSNesjYKuLdCZvWWKZG7BdovcUuAEpf2wzr+WGwtgI449ZzZ08/MzY4szblp5FJpJ80HJLBUB5pw8jaXo5DgN373V+B3JDhfzWtsNRHjYFgQ4YOyhClzTPHZoY3j6Jwy+nXdwDfWHP+KF+fzhIvCbY12jQYtgdm6D+RJkPUoo8jrpJ12rtVgeXbMBdF+q1SjSVkbzcca56RvYfh7ai5t+A1gNtPWdUBTE5d0AGImyWfIYtUHmrXDWNDaFqzeZvmyCzx85FG5umSeWLoc16P3GZz/WXbiJkxEOWQyPi1w9i6RdY3AdZO/KADOGXtMoAFDm0EYepNVn4LCqUK8FEOPTi3racy+FGkfg+Q4b0j+Q7SxKyY00eDHqqlaxFy/ESUs8BgLwA2rZ24ZpSC83BouaNcjU0qD8jI5zpdlE+GY6Ps7Y1a7K8KHoPcogogMByG9CvhxtI/UrmXVd/AEI79w/EsEsp6gdIrbz/l2g5g4o7z9xO6ETQOPGr4CpiMlnBZLZezjWnaPAJ4pG0KpVYy1ABEuq2l0LQV4PDaxMMgrLq6Ri6JbJCF8GPAocbrLZ99x6JVL3QAdy6blHWD0A6p+v0kL4ssCBXEH4FPWV5X2roICrUEcl6B1KvXq6y4pNQEKrUpd8o6GXgNs7vlmkqCuEKOi8FvKb1kzeQ1U30Ell0qtKKP5iQw1cf2YMQGgKh5bIr7swRhvgdctpUaV1hcXmoic2yWuLdfPwR4XJ1cJxFr+pK/ZM3ENVf2AMtXC87u5bMQMx3VEByXwT2dqNgPeCEDBBuBBVuV4UbD3pEA7Ovg+e47HQ/cS0cwbrG+r7jVU4tWLhkB3CA4p+98C4FpkwDHoLgPIMUB4OcgEfGirH22jIBftLxv3yH3D/Nsn55jwfeXBEvjGVrfR2b11OI5gAsFV/V/OtXi9u7+54vh+A2IVD0J8q6oAdIypJVsSbAsw6tSlbBOCjfrwKT8JeAJpRCciritB7hwavHKq/tGtPxkxA3ATpiVMheM2qnwJtAeOB/A7TElg0gYjsWVSBd1h/RVYzN5cVc5pjbNA6CjgVeM9pQ714K4GrEceAOzZO3EynV9IzpvLytWO+KIyHyqGbYH1QiGg0DoijAXd9R54mDY3m01tIMYl2fzuXAwzOlm2DIzaE6qTVknjPGVxpcMWhNp2kF5MiO+oMyH5TxnzeS1G2WbxXcuR3C2zOpOOHmQxVMyKPlIlniJYGcsouaeGXqF0Dj2+r4RLySZlr1HFm3qFf8nzD7G/xRG5iBHPNEDn2O48Y5FK0et+HyAXR2xCTGwmSptTjbVRCabtymHZYlHZYiau1l61UXj9BFALFT1NPZuLvEHMJa+rIzHmrbFQDuItRITmKEy9wReWzM5exmd27fTwQ0ozgGjrEfUko9012vQNtqnaaljM+3Lw7GGWmJcfQQsLSy1Tg9mKjNjzYJaXCBeAhM5RC6HO8rDIHCuhuESEGsnrh8BLEWGDHawmpfD+qjlt1J5oJV/jhQQNG3vCQYF2ePQRwAWWppuhp3va5vOoGQkytg5KL+TtWPKf5fbBZH81YK1E9eNUrB03qVSTnCUu/qb9rka9YCRzW5a4dDI0WwBAEx3mulMi1WBoGR5BjgAhLKeCPXu0SW2ZnLWES2ddUS1BDNj5dIwK4C/peouwNuWKVl6K+Z3BRgdokb2jY9tw+V14GMpLh+bqStKnTOnt5z+Dk/YAbRNEKmvZfHrqfYpELIIl/mt5z0AIFV70wqR5fOR2jXDDzVtMh/gXUzpHECpUAvU0iKLUkvnJuN9ALLr57V0EKU2s//6kACazWU3Zmm+8wJtBeC5CHRl6E6ELjStqMXvDbC1BoaDuQjMOR9tI+uzQAE2IY4Hftjv+F3MPcCeQLX8NHhzNytAqaIWGAwr8weUm894RxV0pnJuJlQvOCOXe4SOe/+JTJi8x2pPGEVsdkDJriWP5oI1k30fWLRu+bzJaPQBIyWPbO+DwFEfZCg0ftDy1+cO5VkIz8viupNWjTzhBR/ktwcLLwP9Gxi+x0sDYDvDNcDj7/fHqcUr+e8A90Wn/TcL1i8AAAAASUVORK5CYII=) no-repeat; + background-size: 100% auto; +} + +#catBLEC.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NToyNyswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6MjcrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6NzFmZjM2OWUtMzY0NS0zMzQ5LWJlZmUtZjhiMTM1ZWVmY2NjPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOjcxZmYzNjllLTM2NDUtMzM0OS1iZWZlLWY4YjEzNWVlZmNjYzwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjcxZmYzNjllLTM2NDUtMzM0OS1iZWZlLWY4YjEzNWVlZmNjYzwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDo3MWZmMzY5ZS0zNjQ1LTMzNDktYmVmZS1mOGIxMzVlZWZjY2M8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+EjBnGgAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAADnElEQVR42sTXWYiWZRQH8N+QkohBmZm0oM6oNGUUbTC2QOhFw9BmaUZCm1BRjkSmaXXV1MS0kC1UlCbV0FBmKm0XRhdaQTkXlpnaNJZIha3QZlhMN+eN48v3TfPNDHSuzrOd9/+e53/+z/PU9fX1qdFORRMmY1z0fY/deB9bawlWVwOAiViAFpyMEaXxv/Ax3sCz2DNcAMbjScyuMVNrcRP2DQXAtVhV6nsHb+EzfBd9R6ERzZhZmn8dnhsMgEewKLWfxl2x3/3ZOLThhlKsW2sB8HBa8DVmxR/XYo3YiGNSzNsGAmABngl/C2bgQGnOmOifFO2iAn4rzRsZ/Wek2Cv7A3A8dmEUejEdf6TxI3E/rqlSBatxB35I/aOxLcp2P6ZibzUAK4M0cHagL6wFr5c+WiyuK/W34M3UnoH3wl+F6ysBaEBPItyNKcBFWJ/anXgCn0d7Km7GVWnOxdiQ2k8lYjZEhg8CcDs6wj8J28M/OoCNiTSfj81ViHcO3o3t+QVTkg6ciE/DX4IHMoBGPBY1vAnnpaCPYmH4zXg7jY1I+1/YBaETxdpcyptjazdGzB0FgPlYgbG4N+odDsFXOBZduDIFuy+V1UNYnsZewrwg2yT8ndYsC5IuQmcB4M4QjwJMZ/hNiYiz8Vr49ySQhbXh7jT31UTAD1LsF8JfjvYCQE7zrJBbuAxrkrDsCL8niJStJ8gIJyThujyBmRnp/3d7CgAr0FoBwKVxqJSJuRPTSgB2xofLhMuZqwpgaQgMXI3nwz8TH4Z/BV4Of3HB4mSLgwvF3K7wz8JHKfbq8JeiowAwL7IwPgIvSYF7Q8XWRUYKaw/VE+CXpbF1oQO7UZ/6O6Lc9wUJuwoAUyIlzehO2p2ZC3PxSoV05m3Lf99eqo4tOD3KtBU9WYgWBggBoDv8w+J8mBDt+vizSgAmFwqHb4Inv6aYxVa0hu4cpITHxeKRUYbzSwq3KV3N9lQBMBFfRt+5JcV8MaT6QPzE3kqHUa6GsupNC0H54j+2oCEEbNdA1LEMYGx84PBQq+n4toruVwNQtgn4JG5KPwfAH/u7kMxJ5bY96n8oALalGJnE/V7JCmn+Ka5U+wcJYFRc6Y4ImW6r5VJ6YSzuHmIGTguCbxjqw2SwAIbtZfS/AzgUp0SJ9cYp93iM3RKnZn2U6lb8OdwA1sTxPNC5c4YbwPq4nA507iXDDaApjtzfKzxU8kNkNB5Mt6B+7Z8BADmmRtBxI+m+AAAAAElFTkSuQmCC) no-repeat; + background-size: 100% auto; +} + +#catBLEKM.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NToyNiswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6MjYrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6ZTc1NDI1MTAtNGJmOS00YjQwLTlkYzgtMTRhOTQ4MjMzYWZiPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOmU3NTQyNTEwLTRiZjktNGI0MC05ZGM4LTE0YTk0ODIzM2FmYjwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOmU3NTQyNTEwLTRiZjktNGI0MC05ZGM4LTE0YTk0ODIzM2FmYjwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDplNzU0MjUxMC00YmY5LTRiNDAtOWRjOC0xNGE5NDgyMzNhZmI8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+/6UDowAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAHRklEQVR42qyXWaxfVRXGf9/a538hBBNFRIIYhgJhMhpFEwZNzO0DhAgy096LDJKgUSiFlpknKyClDEWjRBlCe6Fhhqjw0BsfwJIIPKDMlqKEoEFQEyd6/2evz4dz/vfeFghgPI8755z922t9a+1vyTan37aU+Y9s2qaQIWRjBVYCIlKfy8LBJHtI7Ahg8ybBK1HZkOGnLRMZyIklIk3TVixtsc+tp12HPgTAbqAzZR2J+AzQsOXTYn5r+Rfgn8nx6v8LYCdH/Bg4lg/33KfMb1t6438DKEFtyumCW0brBgTTmIeRnzf6C4DwJ7D2QxxhGJ+/jeGMUuutTZsfDEA2AMNBc32WWNKlACJ9E+ayDN6UhdXj9NuM1iLZEbEiQ2fJdCmoef1g2C4FtoB4B8Dog+EgrnVoab/2euKFJfN5WbSNesjYKuLdCZvWWKZG7BdovcUuAEpf2wzr+WGwtgI449ZzZ08/MzY4szblp5FJpJ80HJLBUB5pw8jaXo5DgN373V+B3JDhfzWtsNRHjYFgQ4YOyhClzTPHZoY3j6Jwy+nXdwDfWHP+KF+fzhIvCbY12jQYtgdm6D+RJkPUoo8jrpJ12rtVgeXbMBdF+q1SjSVkbzcca56RvYfh7ai5t+A1gNtPWdUBTE5d0AGImyWfIYtUHmrXDWNDaFqzeZvmyCzx85FG5umSeWLoc16P3GZz/WXbiJkxEOWQyPi1w9i6RdY3AdZO/KADOGXtMoAFDm0EYepNVn4LCqUK8FEOPTi3racy+FGkfg+Q4b0j+Q7SxKyY00eDHqqlaxFy/ESUs8BgLwA2rZ24ZpSC83BouaNcjU0qD8jI5zpdlE+GY6Ps7Y1a7K8KHoPcogogMByG9CvhxtI/UrmXVd/AEI79w/EsEsp6gdIrbz/l2g5g4o7z9xO6ETQOPGr4CpiMlnBZLZezjWnaPAJ4pG0KpVYy1ABEuq2l0LQV4PDaxMMgrLq6Ri6JbJCF8GPAocbrLZ99x6JVL3QAdy6blHWD0A6p+v0kL4ssCBXEH4FPWV5X2roICrUEcl6B1KvXq6y4pNQEKrUpd8o6GXgNs7vlmkqCuEKOi8FvKb1kzeQ1U30Ell0qtKKP5iQw1cf2YMQGgKh5bIr7swRhvgdctpUaV1hcXmoic2yWuLdfPwR4XJ1cJxFr+pK/ZM3ENVf2AMtXC87u5bMQMx3VEByXwT2dqNgPeCEDBBuBBVuV4UbD3pEA7Ovg+e47HQ/cS0cwbrG+r7jVU4tWLhkB3CA4p+98C4FpkwDHoLgPIMUB4OcgEfGirH22jIBftLxv3yH3D/Nsn55jwfeXBEvjGVrfR2b11OI5gAsFV/V/OtXi9u7+54vh+A2IVD0J8q6oAdIypJVsSbAsw6tSlbBOCjfrwKT8JeAJpRCciritB7hwavHKq/tGtPxkxA3ATpiVMheM2qnwJtAeOB/A7TElg0gYjsWVSBd1h/RVYzN5cVc5pjbNA6CjgVeM9pQ714K4GrEceAOzZO3EynV9IzpvLytWO+KIyHyqGbYH1QiGg0DoijAXd9R54mDY3m01tIMYl2fzuXAwzOlm2DIzaE6qTVknjPGVxpcMWhNp2kF5MiO+oMyH5TxnzeS1G2WbxXcuR3C2zOpOOHmQxVMyKPlIlniJYGcsouaeGXqF0Dj2+r4RLySZlr1HFm3qFf8nzD7G/xRG5iBHPNEDn2O48Y5FK0et+HyAXR2xCTGwmSptTjbVRCabtymHZYlHZYiau1l61UXj9BFALFT1NPZuLvEHMJa+rIzHmrbFQDuItRITmKEy9wReWzM5exmd27fTwQ0ozgGjrEfUko9012vQNtqnaaljM+3Lw7GGWmJcfQQsLSy1Tg9mKjNjzYJaXCBeAhM5RC6HO8rDIHCuhuESEGsnrh8BLEWGDHawmpfD+qjlt1J5oJV/jhQQNG3vCQYF2ePQRwAWWppuhp3va5vOoGQkytg5KL+TtWPKf5fbBZH81YK1E9eNUrB03qVSTnCUu/qb9rka9YCRzW5a4dDI0WwBAEx3mulMi1WBoGR5BjgAhLKeCPXu0SW2ZnLWES2ddUS1BDNj5dIwK4C/peouwNuWKVl6K+Z3BRgdokb2jY9tw+V14GMpLh+bqStKnTOnt5z+Dk/YAbRNEKmvZfHrqfYpELIIl/mt5z0AIFV70wqR5fOR2jXDDzVtMh/gXUzpHECpUAvU0iKLUkvnJuN9ALLr57V0EKU2s//6kACazWU3Zmm+8wJtBeC5CHRl6E6ELjStqMXvDbC1BoaDuQjMOR9tI+uzQAE2IY4Hftjv+F3MPcCeQLX8NHhzNytAqaIWGAwr8weUm894RxV0pnJuJlQvOCOXe4SOe/+JTJi8x2pPGEVsdkDJriWP5oI1k30fWLRu+bzJaPQBIyWPbO+DwFEfZCg0ftDy1+cO5VkIz8viupNWjTzhBR/ktwcLLwP9Gxi+x0sDYDvDNcDj7/fHqcUr+e8A90Wn/TcL1i8AAAAASUVORK5CYII=) no-repeat; + background-size: 100% auto; +} + +#catBLEKM.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NToyNyswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6MjcrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6NzFmZjM2OWUtMzY0NS0zMzQ5LWJlZmUtZjhiMTM1ZWVmY2NjPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOjcxZmYzNjllLTM2NDUtMzM0OS1iZWZlLWY4YjEzNWVlZmNjYzwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjcxZmYzNjllLTM2NDUtMzM0OS1iZWZlLWY4YjEzNWVlZmNjYzwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDo3MWZmMzY5ZS0zNjQ1LTMzNDktYmVmZS1mOGIxMzVlZWZjY2M8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+EjBnGgAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAADnElEQVR42sTXWYiWZRQH8N+QkohBmZm0oM6oNGUUbTC2QOhFw9BmaUZCm1BRjkSmaXXV1MS0kC1UlCbV0FBmKm0XRhdaQTkXlpnaNJZIha3QZlhMN+eN48v3TfPNDHSuzrOd9/+e53/+z/PU9fX1qdFORRMmY1z0fY/deB9bawlWVwOAiViAFpyMEaXxv/Ax3sCz2DNcAMbjScyuMVNrcRP2DQXAtVhV6nsHb+EzfBd9R6ERzZhZmn8dnhsMgEewKLWfxl2x3/3ZOLThhlKsW2sB8HBa8DVmxR/XYo3YiGNSzNsGAmABngl/C2bgQGnOmOifFO2iAn4rzRsZ/Wek2Cv7A3A8dmEUejEdf6TxI3E/rqlSBatxB35I/aOxLcp2P6ZibzUAK4M0cHagL6wFr5c+WiyuK/W34M3UnoH3wl+F6ysBaEBPItyNKcBFWJ/anXgCn0d7Km7GVWnOxdiQ2k8lYjZEhg8CcDs6wj8J28M/OoCNiTSfj81ViHcO3o3t+QVTkg6ciE/DX4IHMoBGPBY1vAnnpaCPYmH4zXg7jY1I+1/YBaETxdpcyptjazdGzB0FgPlYgbG4N+odDsFXOBZduDIFuy+V1UNYnsZewrwg2yT8ndYsC5IuQmcB4M4QjwJMZ/hNiYiz8Vr49ySQhbXh7jT31UTAD1LsF8JfjvYCQE7zrJBbuAxrkrDsCL8niJStJ8gIJyThujyBmRnp/3d7CgAr0FoBwKVxqJSJuRPTSgB2xofLhMuZqwpgaQgMXI3nwz8TH4Z/BV4Of3HB4mSLgwvF3K7wz8JHKfbq8JeiowAwL7IwPgIvSYF7Q8XWRUYKaw/VE+CXpbF1oQO7UZ/6O6Lc9wUJuwoAUyIlzehO2p2ZC3PxSoV05m3Lf99eqo4tOD3KtBU9WYgWBggBoDv8w+J8mBDt+vizSgAmFwqHb4Inv6aYxVa0hu4cpITHxeKRUYbzSwq3KV3N9lQBMBFfRt+5JcV8MaT6QPzE3kqHUa6GsupNC0H54j+2oCEEbNdA1LEMYGx84PBQq+n4toruVwNQtgn4JG5KPwfAH/u7kMxJ5bY96n8oALalGJnE/V7JCmn+Ka5U+wcJYFRc6Y4ImW6r5VJ6YSzuHmIGTguCbxjqw2SwAIbtZfS/AzgUp0SJ9cYp93iM3RKnZn2U6lb8OdwA1sTxPNC5c4YbwPq4nA507iXDDaApjtzfKzxU8kNkNB5Mt6B+7Z8BADmmRtBxI+m+AAAAAElFTkSuQmCC) no-repeat; + background-size: 100% auto; +} + +#catAIgraphsensor.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAiCAYAAAA6RwvCAAAACXBIWXMAAAsTAAALEwEAmpwYAAA6tWlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMjAtMDQtMjRUMDk6MzM6NTQrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAyMC0wNC0yNFQxMDozODowNyswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMjAtMDQtMjRUMTA6Mzg6MDcrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDxwaG90b3Nob3A6RG9jdW1lbnRBbmNlc3RvcnM+CiAgICAgICAgICAgIDxyZGY6QmFnPgogICAgICAgICAgICAgICA8cmRmOmxpPnhtcC5kaWQ6YjA4NTBlYjUtM2Y1MS00ZjRlLWEwOTAtYzc1ZDg1YTkwOWI2PC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOkJhZz4KICAgICAgICAgPC9waG90b3Nob3A6RG9jdW1lbnRBbmNlc3RvcnM+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6Yzk0OWQyZjEtMTY2NC0wNDQ5LWJiNjgtYTE2ZDA1ZTlhMzllPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD5hZG9iZTpkb2NpZDpwaG90b3Nob3A6OTdiMjNjZTMtODVkNC0xMWVhLWEzOTMtZWFlNjU5ZDNiMjg3PC94bXBNTTpEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06T3JpZ2luYWxEb2N1bWVudElEPnhtcC5kaWQ6ZTA5YTEzMzctN2ZhYi0wODQwLTliMDEtOWZhNTZmNWJmNzQ3PC94bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ+CiAgICAgICAgIDx4bXBNTTpIaXN0b3J5PgogICAgICAgICAgICA8cmRmOlNlcT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+Y3JlYXRlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOmUwOWExMzM3LTdmYWItMDg0MC05YjAxLTlmYTU2ZjViZjc0Nzwvc3RFdnQ6aW5zdGFuY2VJRD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OndoZW4+MjAyMC0wNC0yNFQwOTozMzo1NCswODowMDwvc3RFdnQ6d2hlbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnNvZnR3YXJlQWdlbnQ+QWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpPC9zdEV2dDpzb2Z0d2FyZUFnZW50PgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+c2F2ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDpjOTQ5ZDJmMS0xNjY0LTA0NDktYmI2OC1hMTZkMDVlOWEzOWU8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMjAtMDQtMjRUMTA6Mzg6MDcrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmNoYW5nZWQ+Lzwvc3RFdnQ6Y2hhbmdlZD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj43MjAwMDAvMTAwMDA8L3RpZmY6WFJlc29sdXRpb24+CiAgICAgICAgIDx0aWZmOllSZXNvbHV0aW9uPjcyMDAwMC8xMDAwMDwvdGlmZjpZUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6UmVzb2x1dGlvblVuaXQ+MjwvdGlmZjpSZXNvbHV0aW9uVW5pdD4KICAgICAgICAgPGV4aWY6Q29sb3JTcGFjZT42NTUzNTwvZXhpZjpDb2xvclNwYWNlPgogICAgICAgICA8ZXhpZjpQaXhlbFhEaW1lbnNpb24+MzQ8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+MzQ8L2V4aWY6UGl4ZWxZRGltZW5zaW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPD94cGFja2V0IGVuZD0idyI/Pm7Cqz0AAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAABCFJREFUeNrsl12oVFUUx7e3rMwgKvrADJ+s1EpLq1tRQoTcWXPmzEf2YVQPKUUREVEvEeiDFajz3+fMBEkaQkRw//scoi9CAqOkoG5EaVRgpKQ9aAglhZZXdw93TZx7mLlz5tZDDz4sZmavtdf8zt7r6xjvvfk/iDkFkgcBZVA5DZRloDwFyhZQ3gflQ1A+AMWBsh6UGijnDOJ3EICbQdkGyq+g+ALyJygE5ab/CmQZKDsL/nkv2QnK8L8BeQaU8S6OvwRlIygPgLIClKWg3KDfHwHlZVC+z+05CUoblLMGBWl1OerNoFw5wHXOA2V17kS/AOWyoiAv5iA+BeXyaQR2Vm4BZUz9/QTKwn4gq3MQsWZKR38hKI+C8iYoezNX9zso34LyBihr1K5bxq0F5QQoh0CZ3wtkKSjH1PEvoIQZ3UV6NccKBug4KKlmW/5/GupnPyhz8yCzQPlOnezPXcUqUA6r7qAG492gLADlPFBmg3IJKMtBeVaDOQu1A5RrczCicTcGyplZxQbd9BsoV+vaDM0OD8pHoJRz1zSV3AHKZxmY46A8nbNZo7qtnYWr1NCDcl/G8DFQ1oGyqLNmXdlYJyZyoWkldWNdRZosHYqT6lDs6hPrab2zf0hLwF8ZoJf0ATs2r4DiOz+2q9Fb/Z7UurKBk2HLYGPsqhdbBpubLPnIhSsiV10IltuttHZubt/toBzJwDyX0c0GZU8nrbxS903RVnqniZPaPWDJg3J04rPkQfFN/d5OG3O67B0G5Y9MIF+f0ZUNKK+rcrTI3beSummnK411wa4mRzwoBywDguKboyM+cuG6VtLotf/BzKl8nK8jP6tiuAiIZbDIMnhYn+5A5MKzIxeayIXLwdI4WP7KuspdU/goaVZ6LRf/gHhQPileIUs7mqMjvskRbxlsjZOasa5iIlc1YPkgWPJ6UlP5mQPKHq3gk0CeLApiGVxjXeWJifiQfXFSPz1O6iZy4TBYOg7KN5aV+wv4Wqz1ZRJIt5lhTLvppPU4qZlW2jDWBbuboyMeLP9gXfBaJkbWttNG0f7zfB7k0i5Gq0DZDcoZ2fV22jBxUr23OVrS1p7PGvHttDG3IMgVeZBZXYxmgPK5zhCZE6ma2IW3WQYt68J5lsG2iTpSCSNXWWJdsKWV1s4ftDsbzekLehgs0K66vlMN46Rq4qRqIlc1sauZyFUqYOlI5CbWWmk9W1m7NbueID/2KWShwm7XsXE6s8h1OmS/MBXIe6Dc2sdRQ7PEg/JOdo6YQoa08b2tY+KGflezSefMfo6XgLJLYU7oCT2uLWK+yo2gPKSNrFMoj2qX7RsjK0F5teARz9SOvK/AYHQSlHeLzrhGJ6S9A975kHbUTVqVD2cG7K91ffFAWdPrFXAaATmziN2pl/BTINOVvwcAQ8BMwy7GxSEAAAAASUVORK5CYII=) no-repeat; + background-size: 100% auto; +} + +#catAIgraphsensor.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAiCAYAAAA6RwvCAAAACXBIWXMAAAsSAAALEgHS3X78AAACdElEQVRYhd1X7XHbMAx9zuV/NII2qDYoN6hH4AjeIO4GygRVN3A3UDdQJ6hGUCZ4/UGgQhhQon25Npd3x5Npgvh4AETqQBLvAXf/2wHFh3KkBRDkeTPubzB6FMMBwIMj8wxgAnCRMVdpJlkzAsmRt2GU/Zs2Djtd0wIYAHx21n4BGAEs8lR0sq/L9v0EcBK2rmLkSHLJoptIRpJNJZONyFs2oydbUhAzB+YaendGkEBIcqhJTQTwzcy/Ajg7ZAYZOTRVfgqSrkcA38WWm5qjYWGReb5+YR0Wkj3JtsDOYtNkGWkligekFgwmqiOAHkBjoh0LLHV43dpPwsRi/utER7JjvLQFpUy0wsBAsruiHrRIZ6NzcnR0YheWKsXZKDtxv0N6UealAKJDu29xnDmRjDrRvE+VEUeRDcZIFKdedYQ4qR2zOMH1KqSobVFLuQcvjQ3X9I+5o0qNt7g1bHdRolVmPEasM8pMtGs2LXmrlsZoGLmY6LXOFpEpFXcjMnPuyCwLtWxYWOebbG0rzSHfr4ovmWC3EVFg6iwKzVp4g/w3isxet+lr4YUjJ0fwvKFEjXqwzm2NliYTekPzzoUR/hmjb0UgHe0wv5+R3tBNYZ/FLDaS7E4+L/SP7cbkVwu3kyj33sDWVtS5OlKishFDnjO2nrYKM093yPR36si8o6jjepLWXoi8enhRnPm4K9SHxYR0Qh4lr7GyBoD1qvkb6eSNJcEDyZMIDTtKG5H5IvMfKF+AApLjn2T+hHRfLUNo66+gObD+Rj/W1s89ar87VoxYP6jsUzGJzvpvGuDvDS3IpmudejPsfdf8M3yoj/A3wbtx5A+bYbZVmns8NwAAAABJRU5ErkJggg==) no-repeat; + background-size: 100% auto; +} + +#catAIvoicesensor.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAACXBIWXMAAAsTAAALEwEAmpwYAAAFBElEQVR4nNVaW4gcRRSt+Db4wgcIIqJRE3d3qmYd8QGKCOKHJijifogf6s9GxQc+ku17e6Sj4t8mKqgQ/UiIssGee3tlo8H1tT7ijxDyEwRDgiiagKJgXIkm0ZHbXdXTPTsTdpYeN32gYeiuqq7bdc+5dW+NMgQ/GIa/NcEvhnGfZvhKE7xtGJ8zBHcNhM9cqMoAzfi9YWwe69IE32jGF4YIVqjjGZdvf+zUaggXDEb+skoDbqo2vPsN4Yua4SNDeDA1ivBfTfBehfFqVTbcPBOcVCX/VkPwpib4M14hxqOGYX1t4+jJqoyoTQXna8INmuBIYhDMDITBGaqs0A3vOs3wY+Jy8IEKghNUWTEY+csM4wExpkLwhCozDOMdljM/Xx8+eboqMwzBzkSicZUqMwzDesuVdarMMAzr7IoEqswwjF/EhGe4R5UVmmHIkb20wVFwyabgtGQLA/+UZnPZDYaBLNlXqzLDsH+fJfuHqsyohWNn23zmiOzFVJmhGaftNv8BVWZoxsete72qygzDOF56Q8wkVkV+JdkajrwbVFlhGMdskrVJlRnVyB+xbvXTisg7b8EDNdUSqeAYgi/lt1qMnF4z7rBblcmFjjM46V/sihyLVq1JJgG/2tLRwwsZo0re7Wn5KcKH1GJBR3C3lIsM4V8LKRcZgrWZstPW/sxyvpNhfDmZCOyViN9j3y2ZouCBReGJw0AYnKIJv7YuFvbSVxPsckXArjxpqiWG4BO5+m5olepXGMZZuzK3zFcwDMMhKxjT3XhiGvXB/08QYhnFd6whz+fvw4xm/LT9aw5H9auchBvC0W48kbJT3wVBN8aGZYtiCL91LlKN8E73XFan29dMYxHjtI68K7vxxBBu67sgSCBrvQT2Vhr+vTlDGTe3yJxPwuIjjOTZeNxWVqbNYEmlcwX1fgmCIXjFblU2joQjJ2afSX3YMPzR7WsaQs6mAYZhot19dOTf6I44XIWzLzzRkbeyW6YoE7RG7LOT2Z/ry7BH7g838Brbfg5PXNkp/mCEWwvliQnxItPwbtMETxvChn3RzjlGEn6WGOI96NymEtaXy7PaVLBUds9y1aaCpXJPnrW7T7oNIlwlBhTCkwp5l7kJ5S45CGr7Sjr0L7WxYda62ESWJ7IK1iX35I2H/c59rn0rOEszHpZLfsu9Qngiei6DWjf5XRO+IVlilcdM10ok4+ac2zBM5NyOkNv6pTyRVbBj7EgDY1E8qTI+4qKwGNJe18qpWCY4OnmVFc1ml6JcKm/Iauc+Tkiy9eVCeRKfNbbUaFaO6DoZIoEw6wLObcQoF8kllqgMsjyxStUU5UrHKIonuahM+Fsv+UjKE8JRxzUZR7XBGWzbHsyWZQvjSfoyxvczL3t0nobEbpOWkRgOyX5Ltbez7mPH3pZ7WCRPEkNgJvF5/6n59kndJuUY7OrUzjiedDneK5QnmuAlS+Z6j/1absO4pVOboZb7NEUp54xRJE8M4RqrQht67JdxG1jbsVHT5h+MH3figTPUKWBHVCa9miH04zggpIy8lZLCSjSXCLz83TVnStzQDLsdcXsyJOM2kq/30rdj5aUTNMFrc6L2sf6rwrC711PdrNtI8UIVDe2iaPJ3jXHN+KwEPPljQKznLak9qgm/izkyGZzT84ti1YHP42jdj+24tnLaiwodFzDtW4nkax8eCINzVZlg5uyJYm1/fbHn1Sv+A4LVUBQs0lKcAAAAAElFTkSuQmCC) no-repeat; + background-size: 100% auto; +} + +#catAIvoicesensor.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAACXBIWXMAAAsTAAALEwEAmpwYAAAD4klEQVR4nNWZXYhOWxjHl2Ocg3DEKCUXyFeUYyid4kJNLnxE4kIuHDfjkCgyLpCv3A2HQuGCpJGvXKCMb4dzc0pupEwkJ2OKKAc5HOanlf+eHsvevHtmv8b611vv3utjP/+1n//zrPVsB/wDvAGeAPeAv4BDwEZgFtDfxQDgAV/HbWAzMMJ9zwB+AvoBQ4BJwAJgC3Ae+NcQagFOA1UuNgAVQDWwD3glQu+ArUAXFyOASmAb8L8IXQZ6uFgBTAAeisxZ4AcXK/iop2aRWe5iBjBNRB4D3VzMAG6IzAwXM/gYvTw2uJgBbBCR9S5mAH+KyBwXK4DRRuxxJkcPoKu2MO+j2VxmATiut7LIxQxgvoicczED+FnnGb//qnQxA2jQW/nNxQxgmYjsdDEDqIueCPCLwq8/bP3qYgWwWm9jv4sZwFwRaQL6tmOeTqrgXPP/i7Wy9DP9dZE52Y55BpoiR8dUa2TEUxmxuI1zTDVEfi/eytINma1y0X9tKRcBtYbI4fJYWbox22XIXZ/xc449aIg0d4hOjDE/An/LmKM5x940RcBUnSggXNSvvESBocBLGTM5R8B4rTENWToBRn2zgKBVO6KHbQru+4LepXA1gZEmhNdk6cSXncoeEICxfosC3DEuMtO0T85aTZOLGoBhWToBTpU9ICiRYcQ+L2g/YNo/OYTpE4ZHna6bQsL+KB0U1MsTEIAdesAeoHPQ1gN4kbWawAl7DADqQ/cBJppPHM1l0wkwPeuk6A1Um/+Q5PEoaG/U/fG6/kwnpuzkF+xwoToBBgBTgJXAMU1+I6XfFbUtNG4zXG3dtXv2v+66Nzx0H7MNmuEJFKITYLAxyKIlXCVgkO6/lIvVW534t6DrxmDco8R9gF7AW/166V77daJ47if1eA7s1SlxTErfxCUOBG5TH7jdiWBcq070Fjyum1BejE6AJSYL7w3rWkEUa02OJrw2BafLjcH4RYn7mEDSWl8uVCf61phEI+861RlELlsXMG4zzGTyucHcVic+UnlMNO3F6CTIys/ynEeM29QYrY1M6ZcQRjmktSxbmE7MhGfMw5aWOCZxm+Rt+H1WRUq/xH08TgVtxelEE3q38ViRY0ziNonGbn6FcOrnvaJ18ocmW5tznHWbgxl9Rpg+o1Lai9MJsEqTbcs5zrpNbUafTjp7XEjTgSHa9KUHjQPWKA/UaAtSpWzus3FPnzeAW5qsJicR6zZT84xNq7y4NAC7yIdbeb/qBm4zMM/YkmCy6Cslq3VKeGcVz5NQ6yuL96WR3m1czavaQ5VlO34mbxT6LsDnWwm0j+rjIifSAuzuaLvy4gOzyvVlmL3uMAAAAABJRU5ErkJggg==) no-repeat; + background-size: 100% auto; +} + +#catAIgraphsensorpro.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAiCAYAAAA6RwvCAAAACXBIWXMAAAsTAAALEwEAmpwYAAA6tWlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMjAtMDQtMjRUMDk6MzM6NTQrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAyMC0wNC0yNFQxMDozODowNyswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMjAtMDQtMjRUMTA6Mzg6MDcrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDxwaG90b3Nob3A6RG9jdW1lbnRBbmNlc3RvcnM+CiAgICAgICAgICAgIDxyZGY6QmFnPgogICAgICAgICAgICAgICA8cmRmOmxpPnhtcC5kaWQ6YjA4NTBlYjUtM2Y1MS00ZjRlLWEwOTAtYzc1ZDg1YTkwOWI2PC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOkJhZz4KICAgICAgICAgPC9waG90b3Nob3A6RG9jdW1lbnRBbmNlc3RvcnM+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6Yzk0OWQyZjEtMTY2NC0wNDQ5LWJiNjgtYTE2ZDA1ZTlhMzllPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD5hZG9iZTpkb2NpZDpwaG90b3Nob3A6OTdiMjNjZTMtODVkNC0xMWVhLWEzOTMtZWFlNjU5ZDNiMjg3PC94bXBNTTpEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06T3JpZ2luYWxEb2N1bWVudElEPnhtcC5kaWQ6ZTA5YTEzMzctN2ZhYi0wODQwLTliMDEtOWZhNTZmNWJmNzQ3PC94bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ+CiAgICAgICAgIDx4bXBNTTpIaXN0b3J5PgogICAgICAgICAgICA8cmRmOlNlcT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+Y3JlYXRlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOmUwOWExMzM3LTdmYWItMDg0MC05YjAxLTlmYTU2ZjViZjc0Nzwvc3RFdnQ6aW5zdGFuY2VJRD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OndoZW4+MjAyMC0wNC0yNFQwOTozMzo1NCswODowMDwvc3RFdnQ6d2hlbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnNvZnR3YXJlQWdlbnQ+QWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpPC9zdEV2dDpzb2Z0d2FyZUFnZW50PgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+c2F2ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDpjOTQ5ZDJmMS0xNjY0LTA0NDktYmI2OC1hMTZkMDVlOWEzOWU8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMjAtMDQtMjRUMTA6Mzg6MDcrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmNoYW5nZWQ+Lzwvc3RFdnQ6Y2hhbmdlZD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj43MjAwMDAvMTAwMDA8L3RpZmY6WFJlc29sdXRpb24+CiAgICAgICAgIDx0aWZmOllSZXNvbHV0aW9uPjcyMDAwMC8xMDAwMDwvdGlmZjpZUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6UmVzb2x1dGlvblVuaXQ+MjwvdGlmZjpSZXNvbHV0aW9uVW5pdD4KICAgICAgICAgPGV4aWY6Q29sb3JTcGFjZT42NTUzNTwvZXhpZjpDb2xvclNwYWNlPgogICAgICAgICA8ZXhpZjpQaXhlbFhEaW1lbnNpb24+MzQ8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+MzQ8L2V4aWY6UGl4ZWxZRGltZW5zaW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPD94cGFja2V0IGVuZD0idyI/Pm7Cqz0AAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAABCFJREFUeNrsl12oVFUUx7e3rMwgKvrADJ+s1EpLq1tRQoTcWXPmzEf2YVQPKUUREVEvEeiDFajz3+fMBEkaQkRw//scoi9CAqOkoG5EaVRgpKQ9aAglhZZXdw93TZx7mLlz5tZDDz4sZmavtdf8zt7r6xjvvfk/iDkFkgcBZVA5DZRloDwFyhZQ3gflQ1A+AMWBsh6UGijnDOJ3EICbQdkGyq+g+ALyJygE5ab/CmQZKDsL/nkv2QnK8L8BeQaU8S6OvwRlIygPgLIClKWg3KDfHwHlZVC+z+05CUoblLMGBWl1OerNoFw5wHXOA2V17kS/AOWyoiAv5iA+BeXyaQR2Vm4BZUz9/QTKwn4gq3MQsWZKR38hKI+C8iYoezNX9zso34LyBihr1K5bxq0F5QQoh0CZ3wtkKSjH1PEvoIQZ3UV6NccKBug4KKlmW/5/GupnPyhz8yCzQPlOnezPXcUqUA6r7qAG492gLADlPFBmg3IJKMtBeVaDOQu1A5RrczCicTcGyplZxQbd9BsoV+vaDM0OD8pHoJRz1zSV3AHKZxmY46A8nbNZo7qtnYWr1NCDcl/G8DFQ1oGyqLNmXdlYJyZyoWkldWNdRZosHYqT6lDs6hPrab2zf0hLwF8ZoJf0ATs2r4DiOz+2q9Fb/Z7UurKBk2HLYGPsqhdbBpubLPnIhSsiV10IltuttHZubt/toBzJwDyX0c0GZU8nrbxS903RVnqniZPaPWDJg3J04rPkQfFN/d5OG3O67B0G5Y9MIF+f0ZUNKK+rcrTI3beSummnK411wa4mRzwoBywDguKboyM+cuG6VtLotf/BzKl8nK8jP6tiuAiIZbDIMnhYn+5A5MKzIxeayIXLwdI4WP7KuspdU/goaVZ6LRf/gHhQPileIUs7mqMjvskRbxlsjZOasa5iIlc1YPkgWPJ6UlP5mQPKHq3gk0CeLApiGVxjXeWJifiQfXFSPz1O6iZy4TBYOg7KN5aV+wv4Wqz1ZRJIt5lhTLvppPU4qZlW2jDWBbuboyMeLP9gXfBaJkbWttNG0f7zfB7k0i5Gq0DZDcoZ2fV22jBxUr23OVrS1p7PGvHttDG3IMgVeZBZXYxmgPK5zhCZE6ma2IW3WQYt68J5lsG2iTpSCSNXWWJdsKWV1s4ftDsbzekLehgs0K66vlMN46Rq4qRqIlc1sauZyFUqYOlI5CbWWmk9W1m7NbueID/2KWShwm7XsXE6s8h1OmS/MBXIe6Dc2sdRQ7PEg/JOdo6YQoa08b2tY+KGflezSefMfo6XgLJLYU7oCT2uLWK+yo2gPKSNrFMoj2qX7RsjK0F5teARz9SOvK/AYHQSlHeLzrhGJ6S9A975kHbUTVqVD2cG7K91ffFAWdPrFXAaATmziN2pl/BTINOVvwcAQ8BMwy7GxSEAAAAASUVORK5CYII=) no-repeat; + background-size: 100% auto; +} + +#catAIgraphsensorpro.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAiCAYAAAA6RwvCAAAACXBIWXMAAAsSAAALEgHS3X78AAACdElEQVRYhd1X7XHbMAx9zuV/NII2qDYoN6hH4AjeIO4GygRVN3A3UDdQJ6hGUCZ4/UGgQhhQon25Npd3x5Npgvh4AETqQBLvAXf/2wHFh3KkBRDkeTPubzB6FMMBwIMj8wxgAnCRMVdpJlkzAsmRt2GU/Zs2Djtd0wIYAHx21n4BGAEs8lR0sq/L9v0EcBK2rmLkSHLJoptIRpJNJZONyFs2oydbUhAzB+YaendGkEBIcqhJTQTwzcy/Ajg7ZAYZOTRVfgqSrkcA38WWm5qjYWGReb5+YR0Wkj3JtsDOYtNkGWkligekFgwmqiOAHkBjoh0LLHV43dpPwsRi/utER7JjvLQFpUy0wsBAsruiHrRIZ6NzcnR0YheWKsXZKDtxv0N6UealAKJDu29xnDmRjDrRvE+VEUeRDcZIFKdedYQ4qR2zOMH1KqSobVFLuQcvjQ3X9I+5o0qNt7g1bHdRolVmPEasM8pMtGs2LXmrlsZoGLmY6LXOFpEpFXcjMnPuyCwLtWxYWOebbG0rzSHfr4ovmWC3EVFg6iwKzVp4g/w3isxet+lr4YUjJ0fwvKFEjXqwzm2NliYTekPzzoUR/hmjb0UgHe0wv5+R3tBNYZ/FLDaS7E4+L/SP7cbkVwu3kyj33sDWVtS5OlKishFDnjO2nrYKM093yPR36si8o6jjepLWXoi8enhRnPm4K9SHxYR0Qh4lr7GyBoD1qvkb6eSNJcEDyZMIDTtKG5H5IvMfKF+AApLjn2T+hHRfLUNo66+gObD+Rj/W1s89ar87VoxYP6jsUzGJzvpvGuDvDS3IpmudejPsfdf8M3yoj/A3wbtx5A+bYbZVmns8NwAAAABJRU5ErkJggg==) no-repeat; + background-size: 100% auto; +} diff --git a/boards/default/micropython_k210_mixgoai/index.xml b/boards/default/micropython_k210_mixgoai/index.xml index 73eac333..fe648c63 100644 --- a/boards/default/micropython_k210_mixgoai/index.xml +++ b/boards/default/micropython_k210_mixgoai/index.xml @@ -1 +1 @@ -666610006506irp_funcirp_func610510,1,2,3051itestThreadtestThreadWHILETRUEHello Mixly from Thread!ms101000tim_callbacktim_callback5000#ff000090151100a10.998124.82110010101000110050110011000110x2x0,1,2,30,1,2,30,1,2,3xMixlyMixlyHelloMixly12365a0MixlyMixly0Mixly02MixlyMixlyHello,mixlyHello,mixly50*Hello,mixlyl--mylistHello,mixlymixlymixPYI love mixly!I love mixlyRandom No. is {}int1100input('1+2*3')mylist1,2,3,4,5mylist0mylist02mylistmylist2mylistmylist0mylist00mylist00mylist0mylist0mylist0mylistmylistmylistxmytup1,2,3,4,5mytup0mytup02mytupmytupmytupmytup0mytupmytup1mytup2xmydictmydictkeymydictkey0mydictkey0mydictkeymydictkeymydictkey0mydictmydictmydictmydictxmydict{"name":"Mixly","color":"green"}s11,2,3,4,5s1s1s1s2s1s2s10s1Mixlys1s2xfilename.txtfMixlyfff0fffpathpathfilename.txtsrcname.txtdstname.txtff0MixlyMixlyMixly,HelloMixlyprompt67MixlyMixly0XFF00FFcode6i2c67400000i2ci2c00i2c00i2ci2cspi20000010045spi200000buf50spi10spi100xffspibufspibuf0xffspi12345spi12345bufow12owowow12345ow12345ow89MixGo AI12345MixGo AI123455socksockmixly.cnsock192.168.0.180sock5sockdatasock1024sockRGB312RGB0000RGB660Motori2cMotor100Motor10241024PID0.400PID01SPK8910MIC8910/sd/MixGo.wavSPK80/sd/MixGo.wavMIC10/sd/MixGo.aviSPK80/sd/MixGo.aviMIC10sensor.B240X240100224224150000000x0000#000000img0x0000#00000000MixGo AI0XFFFF#FFFFFF0X0000#00000089MixGo AI12345mixio.mixly.cnmixio.mixly.cnA1B2C3mixio.mixly.cnusernamepasswordMyProjecttopicmsgtopicmethodmethodEQmsg1content"long""lat""message"012content"key1""key2""key3"012mixio.xbed.cnKPU/sd/MixGoAI.kmodelKPU0.50.35anchorKPUimgKPUimgyolo2calss5MixGo.aiMixGo.aicalssimgASRni-haoASR0.1ASRASRimgimgMixGo.jpgimgimgMixGo.jpgimg0,00xFFFF#FFFFFFimg0,0img0,0,240,240img20imgimgimg00你好,米思齐0xFFFF#FFFFFF12img00MixGo AI0xFFFF#FFFFFF1img160,1201.01.0img10,20,30,400xFFFF#FFFFFF1img10,20,30,400xFFFF#FFFFFF1img10,200xFFFF#FFFFFF130img40,30,200xFFFF#FFFFFF1img10,20,30,400xFFFF#FFFFFF1img1.01.0img3img15img0.050.05img110img110img160,1200xFFFF#FFFFFF0.050.05imgimgimg71,95,-60,-41,-128,12700img1-1,-1,-1, -1,8,-1, -1,-1,-1linecirclerectimg0,0,240,24010002525img0,0,240,2401015img0,0,240,240200021002101010img0,0,240,24010000img71,95,-60,-41,-128,1270,0,240,2400,0,00,0,00,0,0255blobhistogram0.5img71,95,-60,-41,-128,1270,0,240,24020020010img0,0,240,240barcodeqrcodeapriltagimg0,0,240,240img0,0,240,240img0,0,240,240responsehttp://mixio.mixly.cnresponsehttp://mixio.mixly.cnresponse \ No newline at end of file +666610006506irp_funcirp_func610510,1,2,3051itestThreadtestThreadWHILETRUEHello Mixly from Thread!ms101000tim_callbacktim_callback5000#ff000090151100a10.998124.82110010101000110050110011000110x2x0,1,2,30,1,2,30,1,2,3xMixlyMixlyHelloMixly12365a0MixlyMixly0Mixly02MixlyMixlyHello,mixlyHello,mixly50*Hello,mixlyl--mylistHello,mixlymixlymixPYI love mixly!I love mixlyRandom No. is {}int1100input('1+2*3')mylist1,2,3,4,5mylist0mylist02mylistmylist2mylistmylist0mylist00mylist00mylist0mylist0mylist0mylistmylistmylistxmytup1,2,3,4,5mytup0mytup02mytupmytupmytupmytup0mytupmytup1mytup2xmydictmydictkeymydictkey0mydictkey0mydictkeymydictkeymydictkey0mydictmydictmydictmydictxmydict{"name":"Mixly","color":"green"}s11,2,3,4,5s1s1s1s2s1s2s10s1Mixlys1s2xfilename.txtfMixlyfff0fffpathpathfilename.txtsrcname.txtdstname.txtff0MixlyMixlyMixly,HelloMixlyprompt67MixlyMixly0XFF00FFcode6i2c67400000i2ci2c00i2c00i2ci2cspi20000010045spi200000buf50spi10spi100xffspibufspibuf0xffspi12345spi12345bufow12owowow12345ow12345ow89MixGo AI12345MixGo AI123455socksockmixly.cnsock192.168.0.180sock5sockdatasock1024sockRGB312RGB0000RGB660Motori2cMotor100Motor10241024PID0.400PID01SPK8910MIC8910/sd/MixGo.wavSPK80/sd/MixGo.wavMIC10/sd/MixGo.aviSPK80/sd/MixGo.aviMIC10sensor.B240X240100224224150000000x0000#000000img0x0000#00000000MixGo AI0XFFFF#FFFFFF0X0000#00000089MixGo AI12345mixio.mixly.cnmixio.mixly.cnA1B2C3mixio.mixly.cnusernamepasswordMyProjecttopicmsgtopicmethodmethodEQmsg1content"long""lat""message"012content"key1""key2""key3"012mixio.xbed.cnKPU/sd/MixGoAI.kmodelKPU0.50.35anchorKPUimgKPUimgyolo2calss5MixGo.aiMixGo.aicalssimgASRni-haoASR0.1ASRASRimgimgMixGo.jpgimgimgMixGo.jpgimg0,00xFFFF#FFFFFFimg0,0img0,0,240,240img20imgimgimg00你好,米思齐0xFFFF#FFFFFF12img00MixGo AI0xFFFF#FFFFFF1img160,1201.01.0img10,20,30,400xFFFF#FFFFFF1img10,20,30,400xFFFF#FFFFFF1img10,200xFFFF#FFFFFF130img40,30,200xFFFF#FFFFFF1img10,20,30,400xFFFF#FFFFFF1img1.01.0img3img15img0.050.05img110img110img160,1200xFFFF#FFFFFF0.050.05imgimgimg71,95,-60,-41,-128,12700img1-1,-1,-1, -1,8,-1, -1,-1,-1linecirclerectimg0,0,240,24010002525img0,0,240,2401015img0,0,240,240200021002101010img0,0,240,24010000img71,95,-60,-41,-128,1270,0,240,2400,0,00,0,00,0,0255blobhistogram0.5img71,95,-60,-41,-128,1270,0,240,24020020010img0,0,240,240barcodeqrcodeapriltagimg0,0,240,240img0,0,240,240img0,0,240,240responsehttp://mixio.mixly.cnresponsehttp://mixio.mixly.cnresponse \ No newline at end of file diff --git a/boards/default/micropython_k210_mixgoai/main.bundle.40f4f17a.js b/boards/default/micropython_k210_mixgoai/main.bundle.b6b2ab0d.js similarity index 50% rename from boards/default/micropython_k210_mixgoai/main.bundle.40f4f17a.js rename to boards/default/micropython_k210_mixgoai/main.bundle.b6b2ab0d.js index bb61a9fb..8f5dd678 100644 --- a/boards/default/micropython_k210_mixgoai/main.bundle.40f4f17a.js +++ b/boards/default/micropython_k210_mixgoai/main.bundle.b6b2ab0d.js @@ -18,4 +18,4 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -class St{constructor(t,e){if(this.variablePrefix_=e||"",this.reservedDict_=Object.create(null),t)for(var i=t.split(","),n=0;n0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(Et.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+s).appendField(Et.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(Et.Msg.CONTROLS_IF_MSG_ELSE);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_if_if");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_if_elseif");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var o=t.newBlock("controls_if_else");o.initSvg(),i.connect(o.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],o=null;i;){switch(i.type){case"controls_if_elseif":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_if_else":this.elseCount_++,o=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,o)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_if_elseif":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_if_else":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),o=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(o.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(Et.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+t).appendField(Et.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(Et.Msg.CONTROLS_IF_MSG_ELSE)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},Bt={init:function(){this.setColour(Xt),this.appendValueInput("FROM").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.PYTHON_RANGE).appendField(Et.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.PYTHON_RANGE_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Et.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},Wt={init:function(){this.setColour(Xt),this.appendValueInput("LIST").setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.CONTROLS_FOREACH_INPUT),this.appendValueInput("VAR").appendField(Et.Msg.CONTROLS_FOREACH_INPUT_ITEM),this.appendStatementInput("DO").appendField(Et.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip((function(){return Et.Msg.CONTROLS_FOR_TOOLTIP.replace("“%1”","")}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Et.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Kt={init:function(){this.setColour(Xt),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(Et.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(new Et.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(Et.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT+Et.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return{WHILE:Et.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:Et.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[e]}))}},qt={init:function(){this.setColour(Xt),this.appendDummyInput().appendField(Et.Msg.MIXLY_PYTHON_TRY),this.appendStatementInput("try"),this.appendValueInput("IF1").appendField(Et.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO1").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Et.icons.MutatorIcon(["controls_except","controls_finally"],this)),this.setTooltip(Et.Msg.MIXLY_MIXPY_CONTROL_TRY_TOOLTIP),this.elseifCount_=1,this.elseCount_=0},mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var t=document.createElement("mutation");return this.elseifCount_&&t.setAttribute("elseif",this.elseifCount_),this.elseCount_&&t.setAttribute("else",1),t},domToMutation:function(t){var e=this,i=[],n=[];this.elseCount_&&this.removeInput("ELSE");for(var s=this.elseifCount_;s>0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(Et.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+s).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(Et.Msg.MIXLY_PYTHON_FINALLY);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_try");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_except");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var o=t.newBlock("controls_finally");o.initSvg(),i.connect(o.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],o=null;i;){switch(i.type){case"controls_except":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_finally":this.elseCount_++,o=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,o)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_except":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_finally":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),o=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(o.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(Et.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+t).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(Et.Msg.MIXLY_PYTHON_FINALLY)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},Qt={init:function(){this.setColour(Xt);var t=new Et.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(t,"FLOW").appendField(Et.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0),this.setTooltip(Et.Msg.MIXLY_PYTHON_CONTROLS_FLOW_STATEMENTS_TOOLTIP);var e=this;this.setTooltip((function(){var t=e.getFieldValue("FLOW");return{BREAK:Et.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:Et.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}[t]}))},onchange:function(){if(this.workspace){var t=!1,e=this;do{if("controls_repeat"==e.type||"controls_for"==e.type||"controls_forEach"==e.type||"controls_repeat_ext"==e.type||"controls_whileUntil"==e.type||"do_while"==e.type){t=!0;break}e=e.getSurroundParent()}while(e);t?this.setWarningText(null):this.setWarningText(Et.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}},jt={init:function(){this.setColour(Xt),this.appendDummyInput().appendField(Et.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new Et.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(Et.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return Et.Msg.CONTROLS_FOR_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Et.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Jt={init:function(){this.setColour(Xt),this.appendDummyInput().appendField(Et.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new Et.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(Et.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return Et.Msg.MIXLY_PYTHON_CONTROLS_FOR_RANGE_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Et.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}};Kt.OPERATORS=[[Et.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[Et.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]],Qt.OPERATORS=[[Et.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[Et.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const zt={init:function(){this.setColour(Xt),this.appendDummyInput().appendField(Et.Msg.CONTROLS_IF_IF_TITLE_IF),this.appendStatementInput("STACK"),this.setTooltip(Et.Msg.CONTROLS_IF_IF_TOOLTIP),this.contextMenu=!1}},Zt={init:function(){this.setColour(Xt),this.appendDummyInput().appendField(Et.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},$t={init:function(){this.setColour(Xt),this.appendDummyInput().appendField(Et.Msg.CONTROLS_IF_ELSE_TITLE_ELSE),this.setPreviousStatement(!0),this.setTooltip(Et.Msg.CONTROLS_IF_ELSE_TOOLTIP),this.contextMenu=!1}},te={init:function(){this.setColour(Xt),this.appendDummyInput().appendField("try"),this.appendStatementInput("STACK"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.contextMenu=!1}},ee={init:function(){this.setColour(Xt),this.appendDummyInput().appendField(Et.Msg.MIXLY_PYTHON_EXCEPT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1,this.setTooltip(Et.Msg.MIXLY_MIXPY_CONTROL_EXCEPT_TOOLTIP)}},ie={init:function(){this.setColour(Xt),this.appendDummyInput().appendField(Et.Msg.MIXLY_PYTHON_FINALLY),this.setPreviousStatement(!0),this.contextMenu=!1,this.setTooltip(Et.Msg.MIXLY_MIXPY_CONTROL_FINALLY_TOOLTIP)}},ne={init:function(){this.jsonInit({message0:Et.Msg.CONTROLS_REPEAT_TITLE,args0:[{type:"input_value",name:"TIMES"}],previousStatement:null,nextStatement:null,colour:Xt,tooltip:Et.Msg.CONTROLS_REPEAT_TOOLTIP,helpUrl:Et.Msg.CONTROLS_REPEAT_HELPURL}),this.appendStatementInput("DO")}},se={init:function(){this.setColour(Xt),this.appendValueInput("BOOL").appendField("lambda"),this.appendStatementInput("DO").appendField(Et.Msg.MIXLY_STAT),this.setOutput(!0)}},oe={init:function(){this.setColour(Xt),this.appendDummyInput().appendField(Et.Msg.MIXLY_PYTHON_PASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_PYTHON_CONTROLS_PASS_TOOLTIP)}},pe={init:function(){this.setColour(Xt),this.appendDummyInput().appendField(Et.Msg.MIXLY_PYTHON_CONTROLS_THREAD_START),this.appendValueInput("callback").appendField(Et.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_PYTHON_CONTROLS_THREAD_TOOLTIP)}},ue={init:function(){this.appendDummyInput().appendField(Et.Msg.CONTROLS_REPEAT_TITLE_REPEAT+Et.Msg.MIXLY_DO),this.appendStatementInput("input_data").setCheck(null),this.appendValueInput("select_data").setCheck(null).appendField(Et.Msg.CONTROLS_OPERATOR_UNTIL).appendField(new Et.FieldDropdown([[Et.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"true"],[Et.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"false"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Xt),this.setTooltip("do-while loop"),this.setHelpUrl("")}},ae={init:function(){this.setColour(Xt),this.appendDummyInput().appendField(Et.Msg.MIXLY_OP_GARBAGE_COLLECT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},le={init:function(){this.setColour(Xt),this.appendDummyInput().appendField(Et.Msg.MIXLY_GET_MEM_ALLOC),this.setOutput(!0)}},_e={init:function(){this.setColour(Xt),this.appendDummyInput().appendField(Et.Msg.MIXLY_GET_MEM_FREE),this.setOutput(!0)}},re={init:function(){this.setColour(Xt),this.appendDummyInput().appendField(Et.Msg.MIXLY_GET+Et.Msg.MIXLY_DEVICE+"ID"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Et.Msg.PROCEDURES_DEFRETURN_RETURN+Et.Msg.MIXLY_GET_UNIQUE_IDEN)}},de={init:function(){this.setColour(Xt),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_RTC_TIMESTAMP),this.appendDummyInput().appendField(Et.Msg.MIXLY_TIMESTAMP_TO_DATA),this.setInputsInline(!0),this.setOutput(!0,Number)}},Ie={init:function(){this.setColour(Xt),this.appendDummyInput().appendField(Et.Msg.MIXLY_GET_UNIQUE_IDEN),this.setOutput(!0)}},Te=230;Et.FieldTextInput.math_number_validator=function(t){return String(t)},Et.FieldTextInput.math_number_validator_include_blank=function(t){if(""===t)return"";return/^-?(0X|0x|0O|0o|0B|0b)?[a-fA-F0-9]{1,}(\.[a-fA-F0-9]+)?$/.test(t)?String(t):null};const he={init:function(){this.setColour(Te),this.appendDummyInput().appendField(new Et.FieldTextInput("0",Et.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(Et.Msg.MATH_NUMBER_TOOLTIP)}},me={init:function(){this.setColour(Te);this.appendDummyInput("").appendField(Et.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new Et.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:Et.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_TOOLTIP,e:Et.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_TOOLTIP}[e]}))}},Oe={init:function(){this.setColour(Te);this.appendDummyInput("").appendField(Et.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new Et.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:Et.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_MP_TOOLTIP,e:Et.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_MP_TOOLTIP}[e]}))}},ce={init:function(){this.setColour(Te),this.setOutput(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Et.FieldDropdown([["+","ADD"],["-","MINUS"],["×","MULTIPLY"],["÷","DIVIDE"],["%","QUYU"],["//","ZHENGCHU"],["**","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:Et.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:Et.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:Et.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:Et.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:Et.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:Et.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:Et.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},Re={init:function(){this.setColour(Te),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Et.FieldDropdown([["+=","ADD"],["-=","MINUS"],["×=","MULTIPLY"],["÷=","DIVIDE"],["%=","QUYU"],["//=","ZHENGCHU"],["**=","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:Et.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:Et.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:Et.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:Et.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:Et.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:Et.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:Et.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},Me={init:function(){this.setColour(Te),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new Et.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},Ee={init:function(){this.setColour(Te),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new Et.FieldDropdown([["sin","SIN"],["cos","COS"],["tan","TAN"],["asin","ASIN"],["acos","ACOS"],["atan","ATAN"],["-","-"],["ln","LN"],["log10","LOG10"],["e^","EXP"],["10^","POW10"]]),"OP");var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{SIN:Et.Msg.MATH_TRIG_TOOLTIP_SIN,COS:Et.Msg.MATH_TRIG_TOOLTIP_COS,TAN:Et.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:Et.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:Et.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:Et.Msg.MATH_TRIG_TOOLTIP_ATAN,LN:Et.Msg.MATH_SINGLE_TOOLTIP_LN}[e]}))}},Ce={init:function(){var t=[[Et.Msg.MATH_BIN,"bin"],[Et.Msg.MATH_OCT,"oct"],[Et.Msg.MATH_HEX,"hex"]];this.setColour(Te),this.setOutput(!0,String),this.appendValueInput("NUM").setCheck(Number).appendField(new Et.FieldDropdown(t),"OP");var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{bin:Et.Msg.MATH_DEC_TOOLTIP_BIN,oct:Et.Msg.MATH_DEC_TOOLTIP_OCT,hex:Et.Msg.MATH_DEC_TOOLTIP_HEX}[t]}))}},Ae={init:function(){var t=[[Et.Msg.LANG_MATH_TO_ROUND,"round"],[Et.Msg.LANG_MATH_TO_CEIL,"ceil"],[Et.Msg.LANG_MATH_TO_FLOOR,"floor"],[Et.Msg.MATH_ABS,"fabs"],[Et.Msg.MATH_SQRT,"sqrt"]];this.setColour(Te),this.appendValueInput("A").setCheck(Number).appendField(new Et.FieldDropdown(t),"OP"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{sqrt:Et.Msg.MATH_SINGLE_TOOLTIP_ROOT,fabs:Et.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:Et.Msg.MATH_SINGLE_TOOLTIP_SQ,round:Et.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:Et.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:Et.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[t]}))}},ge={init:function(){var t=[[Et.Msg.MIXLY_MAX,"max"],[Et.Msg.MIXLY_MIN,"min"]];this.setColour(Te),this.appendValueInput("A").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(new Et.FieldDropdown(t),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(Et.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{max:Et.Msg.MIXLY_TOOLTIP_MATH_MAX,min:Et.Msg.MIXLY_TOOLTIP_MATH_MIN}[t]}))}},Se={init:function(){var t=[[Et.Msg.MATH_TWO,"two"],[Et.Msg.MATH_EIGHT,"eight"],[Et.Msg.MATH_TEN,"ten"],[Et.Msg.MATH_SIXTEEN,"sixteen"]];this.setColour(Te),this.appendDummyInput("").appendField(Et.Msg.MATH_BA),this.appendValueInput("NUM").appendField(new Et.FieldDropdown(t),"OP").appendField(Et.Msg.MATH_JinZhi).setCheck(Number),this.appendDummyInput("").appendField(Et.Msg.MATH_ZHW).appendField(new Et.FieldDropdown(t),"OP2").appendField(Et.Msg.MATH_JinZhi),this.setFieldValue("ten","OP2"),this.setOutput(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i={two:Et.Msg.MATH_Before_two,eight:Et.Msg.MATH_Before_eight,ten:Et.Msg.MATH_Before_ten,sixteen:Et.Msg.MATH_Before_sixteen},n=e.getFieldValue("OP2"),s={two:Et.Msg.MATH_Behind_two,eight:Et.Msg.MATH_Behind_eight,ten:Et.Msg.MATH_Behind_ten,sixteen:Et.Msg.MATH_Behind_sixteen};return i[t]+s[n]}))}},De={init:function(){var t=[[Et.Msg.LANG_MATH_INT,"int"],[Et.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(Te),this.setOutput(!0,Number),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_RANDOM).appendField(new Et.FieldDropdown(t),"TYPE"),this.appendValueInput("FROM").setCheck(Number).appendField(Et.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TYPE"),i={int:Et.Msg.LANG_MATH_INT,float:Et.Msg.LANG_MATH_FLOAT_RANDOM};return Et.Msg.MATH_RANDOM_INT_TOOLTIP+i[t]}))}},Le={init:function(){this.setColour(Te),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(Et.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(Et.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(Et.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(Et.Msg.MATH_CONSTRAIN_TOOLTIP)}},Ne={init:function(){this.setColour(Te),this.appendValueInput("NUM",Number).appendField(Et.Msg.MIXLY_MAP).setCheck(Number),this.appendValueInput("fromLow",Number).appendField(Et.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(Et.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_MATH_MAP)}},fe={init:function(){this.setColour(Te),this.appendDummyInput().appendField(new Et.FieldTextInput("0",Et.FieldTextInput.math_number_validator_include_blank),"NUM"),this.setOutput(!0),this.setTooltip(Et.Msg.MATH_NUMBER_TOOLTIP)}},Fe={init:function(){this.setColour(Te),this.appendValueInput("NUM").setCheck(Number).appendField(Et.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED)}},ve={init:function(){this.setColour(Te),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number),this.appendValueInput("VAR").setCheck(Number).appendField(Et.Msg.MATH_ROUND).appendField(Et.Msg.TEXT_KEEP),this.appendDummyInput().appendField(Et.Msg.TEXT_DECIMAL),this.setInputsInline(!0),this.setTooltip(Et.Msg.MATH_ROUND_NEW_TOOLTIP)}},Pe={init:function(){var t=[[Et.Msg.MIXLY_TO_INT,"int"],[Et.Msg.MIXLY_TO_FLOAT,"float"],[Et.Msg.MIXLY_TO_BITES,"b"],[Et.Msg.LANG_MATH_BYTE+Et.Msg.MIXLY_TO_INT,"bti"]];this.setColour(Te),this.appendValueInput("VAR").appendField(new Et.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:Et.Msg.MIXLY_PYTHON_TOOLTIP_TOINT,float:Et.Msg.MIXLY_PYTHON_TOOLTIP_TOFLOAT,b:Et.Msg.MIXLY_TOOLTIP_TEXT_TOBYTE}[t]}))}},Ve={init:function(){var t=[[Et.Msg.MIXLY_TO_INT,"int"],[Et.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(Te),this.appendValueInput("VAR").appendField(new Et.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:Et.Msg.MIXLY_TOOLTIP_TEXT_TOINT,float:Et.Msg.MIXLY_TOOLTIP_TEXT_TOFLOAT}[t]}))}},ye=Ne,Ye={init:function(){this.setColour(Te),this.appendValueInput("VAR").appendField(Et.Msg.LANG_MATH_BYTE+Et.Msg.MIXLY_TO_HEX),this.setOutput(!0,Number),this.setTooltip(Et.Msg.MIXLY_PYTHON_TOOLTIP_TOHEX)}},be={init:function(){this.setColour(Te),this.itemCount_=1,this.setMutator(new Et.icons.MutatorIcon(["lists_create_with_item"],this)),this.appendDummyInput("DUMMY").appendField(Et.Msg.MIXLY_PRODUCT+Et.Msg.MIXLY_GENERATE_CARTESIAN_PRODUCT),this.appendValueInput("REPEAT").appendField(Et.Msg.MIXLY_EVERY_PER_ELEPER_ELEMENT),this.appendDummyInput().appendField(Et.Msg.CONTROLS_REPEAT_TITLE_TIMES),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0),this.setTooltip(Et.Msg.LISTS_CREATE_WITH_PYTHON_TOOLTIP),this.updateShape_()},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("lists_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n1&&"\\"===t.charAt(0)){var e=t.charAt(1);if("0"===e||"b"===e||"f"===e||"n"===e||"r"===e||"t"===e||"\\"===e||"'"===e)return String(t).substring(0,2);if("x"===e&&"0"===t.charAt(2)&&"B"===t.charAt(3))return String(t).substring(0,4)}return String(t).substring(0,1)};const He={init:function(){this.setColour(Ge),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new Et.FieldTextInput("",Et.FieldTextInput.char_validator),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,Number),this.setTooltip(Et.Msg.TEXT_CHAR_TOOLTIP)},newQuote_:function(t){if(1==t)var e="../../media/quote2.png";else e="../../media/quote3.png";return new Et.FieldImage(e,7,12,'"')}},Be={init:function(){this.setColour(Ge),this.appendValueInput("A").setCheck([String,Number]),this.appendValueInput("B").setCheck([String,Number]).appendField(Et.Msg.MIXLY_TEXT_JOIN),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_TEXT_JOIN)}},We={init:function(){this.setColour(Ge),this.appendValueInput("VAR").setCheck(Number).appendField(Et.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},Ke={init:function(){this.setColour(Ge),this.appendValueInput("VAR").setCheck(String).appendField(Et.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},qe={init:function(){this.setColour(Ge),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(Et.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},Qe={init:function(){this.setColour(Ge),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},je={init:function(){this.WHERE_OPTIONS=[[Et.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[Et.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[Et.Msg.TEXT_GET_INDEX_RANDOM+1+Et.Msg.TEXT_CHARAT2,"RANDOM"]],this.setHelpUrl(Et.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ge),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number),this.appendDummyInput().appendField(Et.Msg.LISTS_GET_INDEX_GET,"MODE"),Et.Msg.LISTS_GET_INDEX_TAIL&&this.appendDummyInput("TAIL").appendField(Et.Msg.LISTS_GET_INDEX_TAIL),this.setInputsInline(!0),this.setOutput(!0),this.updateAt_(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=t.getFieldValue("WHERE"),n="";switch(e+" "+i){case"GET FROM_START":case"GET FROM_END":n=Et.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM;break;case"GET RANDOM":n=Et.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM;break;case"GET_REMOVE FROM_START":case"GET_REMOVE FROM_END":n=Et.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM;break;case"GET_REMOVE RANDOM":n=Et.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM}return"FROM_START"!=i&&"FROM_END"!=i||(n+=" "+Et.Msg.LISTS_INDEX_FROM_START_TOOLTIP.replace("%1",Et.Msg.ONE_BASED_INDEXING?"#1":"#0")),n}));var e=this;this.setTooltip((function(){var t=e.getFieldValue("WHERE"),i={FROM_START:Et.Msg.LISTS_GET_INDEX_FROM_START,FROM_END:Et.Msg.LISTS_GET_INDEX_FROM_END,RANDOM:Et.Msg.TEXT_GET_INDEX_RANDOM};return Et.Msg.PROCEDURES_DEFRETURN_RETURN+Et.Msg.MIXLY_MICROBIT_TYPE_STRING+i[t]+"n"+Et.Msg.TEXT_CHARAT2}))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("statement",!this.outputConnection);var e=this.getInput("AT").type==Et.INPUT_VALUE;return t.setAttribute("at",e),t},domToMutation:function(t){var e="true"==t.getAttribute("statement");this.updateStatement_(e),t="false"!=t.getAttribute("at"),this.updateAt_(t)},updateStatement_:function(t){t!=!this.outputConnection&&(this.unplug(!0,!0),t?(this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)):(this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)))},updateAt_:function(t){this.removeInput("AT"),this.removeInput("ORDINAL",!0),t?(this.appendValueInput("AT").setCheck(Number),Et.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL").appendField(Et.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT");var e=new Et.FieldDropdown(this.WHERE_OPTIONS,(function(e){var i="FROM_START"==e||"FROM_END"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT").appendField(e,"WHERE"),Et.Msg.LISTS_GET_INDEX_TAIL&&this.moveInputBefore("TAIL",null)}},Je={init:function(){this.setHelpUrl(Et.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ge),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number).appendField(Et.Msg.LISTS_GET_INDEX_GET+" "+Et.Msg.LISTS_GET_INDEX_FROM_START),this.appendDummyInput().appendField(Et.Msg.TEXT_CHARAT2),this.setOutput(!0),this.setTooltip(Et.Msg.PROCEDURES_DEFRETURN_RETURN+Et.Msg.MIXLY_MICROBIT_TYPE_STRING+Et.Msg.LISTS_GET_INDEX_FROM_START+"n"+Et.Msg.TEXT_CHARAT2)}},ze={init:function(){this.setHelpUrl(Et.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ge),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(Et.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(Et.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},Ze={init:function(){this.WHERE_OPTIONS_1=[[Et.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[Et.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[Et.Msg.LISTS_GET_SUBLIST_START_FIRST,"FIRST"]],this.WHERE_OPTIONS_2=[[Et.Msg.LISTS_GET_SUBLIST_END_FROM_START,"FROM_START"],[Et.Msg.LISTS_GET_SUBLIST_END_FROM_END,"FROM_END"],[Et.Msg.LISTS_GET_SUBLIST_END_LAST,"LAST"]],this.setHelpUrl(Et.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Ge),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput("").appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput("AT1"),this.appendDummyInput("AT2"),this.setInputsInline(!0),this.setOutput(!0,"List"),this.updateAt_(1,!0),this.updateAt_(2,!0),this.setTooltip(Et.Msg._GET_TEXT_SUBLIST_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT1").type==Et.INPUT_VALUE;t.setAttribute("at1",e);var i=this.getInput("AT2").type==Et.INPUT_VALUE;return t.setAttribute("at2",i),t},domToMutation:function(t){var e="true"==t.getAttribute("at1"),i="true"==t.getAttribute("at2");this.updateAt_(1,e),this.updateAt_(2,i)},updateAt_:function(t,e){this.removeInput("AT"+t),this.removeInput("ORDINAL"+t,!0),e?(this.appendValueInput("AT"+t).setCheck(Number),Et.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL"+t).appendField(Et.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT"+t);var i=new Et.FieldDropdown(this["WHERE_OPTIONS_"+t],(function(i){var n="FROM_START"==i||"FROM_END"==i;if(n!=e){var s=this.sourceBlock_;return s.updateAt_(t,n),s.setFieldValue(i,"WHERE"+t),null}}));this.getInput("AT"+t).appendField(i,"WHERE"+t),1==t&&(this.moveInputBefore("AT1","AT2"),this.getInput("ORDINAL1")&&this.moveInputBefore("ORDINAL1","AT2"))}},$e={init:function(){this.setHelpUrl(Et.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Ge),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT1").appendField(Et.Msg.LISTS_GET_INDEX_GET+" "+Et.Msg.LISTS_GET_INDEX_FROM_START),this.appendValueInput("AT2").appendField(Et.Msg.LISTS_GET_SUBLIST_END_FROM_START),this.appendDummyInput().appendField(Et.Msg.TEXT_CHARAT2),this.setInputsInline(!0),this.setOutput(!0,["List",String]),this.setTooltip(Et.Msg._GET_TEXT_SUBLIST_TOOLTIP)}},ti={init:function(){var t=[[Et.Msg.MIXLY_EQUALS,"==="],[Et.Msg.MIXLY_STARTSWITH,"startswith"],[Et.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(Ge),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new Et.FieldDropdown(t),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},ei={init:function(){this.setColour(Ge),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(Et.Msg.MIXLY_COMPARETO).setCheck(String),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_COMPARETO_HELP)}},ii={init:function(){var t=[[Et.Msg.TEXT_UPPER,"upper"],[Et.Msg.TEXT_TITLE,"title"],[Et.Msg.TEXT_CAPITALIZE,"capitalize"],[Et.Msg.TEXT_SWAPCASE,"swapcase"],[Et.Msg.TEXT_LOWER,"lower"]];this.setColour(Ge),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new Et.FieldDropdown(t),"CAPITAL").setCheck(String),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CAPITAL");return{upper:Et.Msg.MIXLY_MIXPY_TEXT_UPPER_TOOLTIP,title:Et.Msg.MIXLY_MIXPY_TEXT_TITLE_TOOLTIP,swapcase:Et.Msg.MIXLY_MIXPY_TEXT_SWAPCASE_TOOLTIP,capitalize:Et.Msg.MIXLY_MIXPY_TEXT_CAPITALIZE_TOOLTIP,lower:Et.Msg.MIXLY_MIXPY_TEXT_LOWER_TOOLTIP}[t]}))}},ni={init:function(){var t=[[Et.Msg.TEXT_LJUST,"ljust"],[Et.Msg.TEXT_CENTER,"center"],[Et.Msg.TEXT_RJUST,"rjust"]];this.setColour(Ge),this.appendValueInput("VAR").appendField(new Et.FieldDropdown(t),"CENTER").setCheck(String),this.appendValueInput("WID").appendField(Et.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("Symbol").appendField(Et.Msg.MIXLY_RECT_Fill).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Et.Msg.MIXLY_MIXPY_TEXT_CENTER_TOOLTIP)}},si={init:function(){this.setColour(Ge),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).setCheck(String),this.appendValueInput("STR").appendField(Et.Msg.MIXLY_MID+Et.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER).setCheck(String),this.appendDummyInput().appendField(Et.Msg.MIXLY_LIST_INDEX),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Et.Msg.MIXLY_MIXPY_TEXT_FIND_TOOLTIP)}},oi={init:function(){this.setColour(Ge),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_USE_STR).setCheck(String),this.appendValueInput("LIST").appendField(Et.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_SEQ).setCheck("List","Tuple","Set","Dict"),this.appendDummyInput().appendField(Et.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_GET_STR),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Et.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_TOOLTIP)}},pi={init:function(){this.setColour(Ge),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("STR1").appendField(Et.Msg.MIXLY_MIXPY_REPLACE).setCheck(String),this.appendValueInput("STR2").appendField(Et.Msg.LISTS_SET_INDEX_INPUT_TO).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Et.Msg.MIXLY_MIXPY_TEXT_REPLACE_TOOLTIP)}},ui={init:function(){this.setColour(Ge),this.appendValueInput("VAR"),this.appendValueInput("VAL").appendField(Et.Msg.LIST_SPLIT_AS),this.appendDummyInput("").appendField(Et.Msg.LIST_SPLIT),this.setOutput(!0,"List"),this.setTooltip(Et.Msg.MIXLY_MIXPY_TEXT_SPLIT_TOOLTIP),this.setInputsInline(!0)}},ai={init:function(){var t=[[Et.Msg.TEXT_TRIM_BOTH,"strip"],[Et.Msg.TEXT_TRIM_LEFT,"lstrip"],[Et.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(Ge),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(Et.Msg.TEXT_STRIM),this.appendDummyInput("").appendField(new Et.FieldDropdown(t),"TOWHAT"),this.appendDummyInput("").appendField(Et.Msg.TEXT_BLANK),this.setOutput(!0,String),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{strip:Et.Msg.TEXT_TRIM_BOTH_TOOLTIP,lstrip:Et.Msg.TEXT_TRIM_LEFT_TOOLTIP,rstrip:Et.Msg.TEXT_TRIM_RIGHT_TOOLTIP}[t]}))}},li={init:function(){this.setColour(Ge),this.appendDummyInput("").appendField(Et.Msg.MIXLY_MICROPYTHON_FORMAT),this.appendDummyInput("").appendField(new Et.FieldTextInput("str"),"VAR"),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new Et.icons.MutatorIcon(["text_create_with_item"],this)),this.setOutput(!0),this.setTooltip(Et.Msg.MIXLY_MIXPY_TEXT_FORMAT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("text_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Et.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},pn={init:function(){this.setColour(sn),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(Et.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},un={init:function(){this.setColour(sn),this.appendDummyInput().appendField(Et.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},an={init:function(){this.setColour(sn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Et.Msg.DICT_KEYS),this.setTooltip(Et.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},ln={init:function(){this.setColour(sn),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Et.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(Et.Msg.DICTS_ADD_VALUE),this.setOutput(!0),this.setTooltip(Et.Msg.DICTS_GET_TOOLTIP)}},_n={init:function(){this.setColour(sn),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Et.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(Et.Msg.DICTS_ADD_VALUE),this.appendValueInput("VAR").appendField(Et.Msg.DICTS_DEFAULT_VALUE),this.setOutput(!0),this.setTooltip(Et.Msg.DICTS_GET_DEFAULT_TOOLTIP)}},rn={init:function(){this.setColour(sn),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(Et.Msg.DICTS_ADD),this.appendDummyInput(),this.appendValueInput("VAR").appendField(Et.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.DICTS_ADD_OR_CHANGE_TOOLTIP)}},dn={init:function(){this.setColour(sn),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(Et.Msg.DICTS_DELETE_IN),this.appendDummyInput("").appendField(Et.Msg.DICTS_DELETE_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.DICTS_DELETE_TOOLTIP)}},In={init:function(){this.setColour(sn),this.appendValueInput("DICT2").setCheck("Dict").appendField(Et.Msg.MAKE_DICT),this.appendValueInput("DICT").setCheck("Dict").appendField(Et.Msg.DICT_UPDATE),this.appendDummyInput("").appendField(Et.Msg.MIXLY_MID),this.setTooltip(Et.Msg.DICTS_UPDATE_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Tn={init:function(){this.setColour(sn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Et.Msg.DICT_CLEAR),this.setTooltip(Et.Msg.DICTS_CLEAR_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},hn={init:function(){this.setColour(sn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Et.Msg.DICT_ITEMS),this.setTooltip(Et.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},mn={init:function(){this.setColour(sn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Et.Msg.DICT_VALUES),this.setTooltip(Et.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},On={init:function(){this.setColour(sn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_LENGTH),this.setTooltip(Et.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},cn={init:function(){this.setColour(sn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Et.Msg.DICT_DELDICT),this.setTooltip(Et.Msg.DICTS_DEL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Rn={init:function(){this.MODE=[[Et.Msg.DICTS_ADD_OR_CHANGE,"INSERT"],[Et.Msg.MIXLY_MICROBIT_JS_DELETE_VAR,"DELETE"]],this.setHelpUrl(Et.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(sn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("AT2"),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).appendField(Et.Msg.DICTS_ADD_VALUE),this.updateAt_(!0),this.setInputsInline(!0),this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e="";switch(t.getFieldValue("WHERE")){case"INSERT":e=Et.Msg.DICTS_ADD_TOOLTIP;break;case"DELETE":e=Et.Msg.DICTS_DELETE_TOOLTIP}return e}))},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT2").type==Et.INPUT_VALUE;return t.setAttribute("at2",e),t},domToMutation:function(t){var e="true"==t.getAttribute("at2");this.updateAt_(e)},updateAt_:function(t){this.removeInput("AT2"),this.removeInput("ORDINAL",!0),t?this.appendValueInput("AT2").setCheck(Number):this.appendDummyInput("AT2");var e=new Et.FieldDropdown(this.MODE,(function(e){var i="INSERT"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT2").appendField(e,"WHERE")}},Mn={init:function(){this.setColour(sn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Et.Msg.blockpy_DICT_POP),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(Et.Msg.DICTS_ADD_VALUE),this.setTooltip(Et.Msg.DICT_POP_TOOLTIP),this.setInputsInline(!0),this.setOutput(!0)}},En={init:function(){this.setColour(sn),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Et.Msg.DICTS_SET_DEFAULT),this.appendDummyInput("").appendField(Et.Msg.DICTS_DEFAULT_VALUE),this.appendValueInput("VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.DICTS_SETDEFAULT_TOOLTIP)}},Cn={init:function(){this.setColour(sn),this.appendDummyInput("").appendField(new Et.FieldLabel(Et.Msg.MIXLY_MICROBIT_TYPE_DICT),"TIP").appendField(" "),this.itemCount_=3,this.updateShape_(),this.setOutput(!0,"Dict"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setMutator(new Et.icons.MutatorIcon(["dicts_create_with_item"],this)),this.setTooltip(Et.Msg.DICTS_CREATE_WITH_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("dicts_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Et.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},An={init:function(){this.setColour(sn),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(Et.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},gn={init:function(){this.setColour(sn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_TO_JSON),this.setTooltip(Et.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},Sn={init:function(){this.setColour(sn),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_CONVERT_TO_JSON),this.setTooltip(Et.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},Dn={init:function(){this.setColour(sn),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("VAR1").appendField("key1"),this.appendValueInput("VAR2").appendField("index"),this.appendValueInput("VAR3").appendField("key2"),this.appendValueInput("VAR4").appendField("key3"),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},Ln={init:function(){this.setColour(sn),this.appendValueInput("DICT"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_TO_JSON),this.setTooltip(Et.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},Nn=210,fn={init:function(){var t=Et.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(Nn),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Et.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{EQ:Et.Msg.LOGIC_COMPARE_TOOLTIP_EQ,NEQ:Et.Msg.LOGIC_COMPARE_TOOLTIP_NEQ,LT:Et.Msg.LOGIC_COMPARE_TOOLTIP_LT,LTE:Et.Msg.LOGIC_COMPARE_TOOLTIP_LTE,GT:Et.Msg.LOGIC_COMPARE_TOOLTIP_GT,GTE:Et.Msg.LOGIC_COMPARE_TOOLTIP_GTE}[t]})),this.prevBlocks_=[null,null]}},Fn={init:function(){var t=Et.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]],e=Et.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(Nn),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Et.FieldDropdown(t),"OP1"),this.appendValueInput("C").appendField(new Et.FieldDropdown(e),"OP2"),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_PYTHON_LOGIC_COMPARE_CONTINOUS_TOOLTIP)}},vn={init:function(){var t=[[Et.Msg.LOGIC_OPERATION_AND,"AND"],[Et.Msg.LOGIC_OPERATION_OR,"OR"],[Et.Msg.LOGIC_OPERATION_NOR,"NOR"],[Et.Msg.LOGIC_OPERATION_XOR,"XOR"]];this.setColour(Nn),this.setOutput(!0,Boolean),this.appendValueInput("A").setCheck([Boolean,Number]),this.appendValueInput("B").setCheck([Boolean,Number]).appendField(new Et.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{AND:Et.Msg.LOGIC_OPERATION_TOOLTIP_AND,OR:Et.Msg.LOGIC_OPERATION_TOOLTIP_OR,NOR:Et.Msg.LOGIC_OPERATION_TOOLTIP_NOR,XOR:Et.Msg.LOGIC_OPERATION_TOOLTIP_XOR}[t]}))}},Pn={init:function(){this.setColour(Nn),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(Et.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(Et.Msg.LOGIC_NEGATE_TOOLTIP)}},Vn={init:function(){var t=[[Et.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[Et.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(Nn),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new Et.FieldDropdown(t),"BOOL"),this.setTooltip(Et.Msg.LOGIC_BOOLEAN_TOOLTIP)}},yn={init:function(){this.setColour(Nn),this.setOutput(!0),this.appendDummyInput().appendField(Et.Msg.LOGIC_NULL),this.setTooltip(Et.Msg.LOGIC_NULL_TOOLTIP)}},Yn={init:function(){this.setColour(Nn),this.appendValueInput("A"),this.appendValueInput("B").appendField(Et.Msg.LOGIC_TERNARY_IF_TRUE),this.appendValueInput("C").appendField(Et.Msg.LOGIC_TERNARY_IF_FALSE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_LOGIT_TRUEORFALSE)}},bn={init:function(){var t=[[Et.Msg.TEXT_APPEND_TO,"in"],[Et.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(Nn),this.appendValueInput("A"),this.appendValueInput("B").setCheck([String,"List"]).appendField(new Et.FieldDropdown(t),"BOOL"),this.appendDummyInput("").appendField(Et.Msg.MICROBIT_LOGIC_IS_IN),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Et.Msg.IN)}},kn={init:function(){var t=[[Et.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[Et.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(Nn),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Et.FieldDropdown(t),"BOOL"),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_PYTHON_LOGIC_IS_TOOLTIP)}},Xn={init:function(){this.setColour(Nn),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(Et.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},Gn={init:function(){this.setColour(0),this.appendValueInput("fn").setCheck(String).appendField(Et.Msg.MIXLY_PYTHON_STORAGE_OPEN_FILE_WITH_OS+"(For Windows)"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},wn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"],[Et.Msg.MIXLY_ADD,"a"],[Et.Msg.MATH_BIN+Et.Msg.MIXLY_ADD,"ab"],[Et.Msg.MIXLY_R_W,"r+"],[Et.Msg.MATH_BIN+Et.Msg.MIXLY_R_W,"rb+"],[Et.Msg.MIXLY_W_R,"w+"],[Et.Msg.MATH_BIN+Et.Msg.MIXLY_W_R,"wb+"],[Et.Msg.MIXLY_A_R,"a+"],[Et.Msg.MATH_BIN+Et.Msg.MIXLY_A_R,"ab+"]]),"MODE"),this.appendValueInput("FILE").appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_AS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Et.Msg.MIXLY_USE,n=Et.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=Et.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=Et.Msg.MIXLY_BELONG;return i+{r:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Et.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Un={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Et.Msg.MIXLY_USE,n=Et.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=Et.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=Et.Msg.MIXLY_BELONG,p=Et.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s+p}))}},xn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE);this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendDummyInput().appendField(Et.Msg.MIXPY_TEXT_ENCODE).appendField(new Et.FieldDropdown([["ANSI","ANSI"],["gbk","gbk"],["utf-8","utf-8"]]),"CODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Et.Msg.MIXLY_USE,n=Et.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=Et.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=Et.Msg.MIXLY_BELONG,p=Et.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s+p}))}},Hn={init:function(){this.setColour(0),this.appendValueInput("data").setCheck(String).appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendValueInput("FILE").appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+Et.Msg.MIXLY_MICROBIT_TYPE_STRING+Et.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE)}},Bn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"read"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE,"readline"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES,"readlines"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String)}},Wn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,"read"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,"readline"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE,"readlines"]]),"MODE"),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Et.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE,n=Et.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER;return i+{read:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,readline:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,readlines:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE}[e]+"x"+n}))}},Kn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.setNextStatement(!0),this.appendValueInput("SIZE").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(Et.Msg.MICROBIT_PYTHON_TYPE)}},qn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Et.Msg.HTML_FILE),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean),this.setTooltip(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT1)}},Qn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_FILENAME),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILENAME)}},jn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE)}},Jn={init:function(){this.setColour(0),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES)}};Et.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE;const zn={init:function(){this.setColour(0),this.appendDummyInput().appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE,"remove"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_DIRS,"removedirs"]]),"MODE"),this.appendValueInput("FILE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE)}},Zn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE+Et.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE)}},$n={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_RETURN_FILE),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_PRESENT_LOCATION),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_TELL)}},ts={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION),this.appendDummyInput().appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,"start"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,"current"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END,"end"]]),"MODE"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Et.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION+Et.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION,n=Et.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER,s=Et.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET;return i+" "+{start:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,current:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,end:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END}[e]+s+"x"+n}))}},es={init:function(){this.setColour(0),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR)}},is={init:function(){this.setColour(0),this.appendValueInput("PATH").setCheck(String).appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_SET),this.appendDummyInput().appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,"mkdir"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_MAKEDIRS,"makedirs"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return Et.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH+"x"+Et.Msg.MIXLY_ESP32_SET+{mkdir:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,makedirs:Et.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},ns={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME),this.appendValueInput("NEWFILE").setCheck(String).appendField(Et.Msg.MIXLY_AS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME)}},ss={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR)}},os={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT),this.appendDummyInput().appendField(new Et.FieldDropdown([[Et.Msg.HTML_FILE,"isfile"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_DIR,"isdir"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean);let t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return Et.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH+"x"+Et.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT+{isfile:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,isdir:Et.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},ps={init:function(){this.setColour(0),this.appendValueInput("SPISUB").appendField(Et.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_SETUP+Et.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(Et.Msg.MIXLY_SD_CARD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},us={init:function(){this.setColour(0),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_SD_CARD),this.appendValueInput("DIR").setCheck(String).appendField(Et.Msg.MIXLY_SDCARD_MOUNT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip()}},as={init:function(){var t=Et.Procedures.findLegalName("",this),e=new Et.FieldTextInput(t,Et.Procedures.rename);e.setSpellcheck(!1),this.appendDummyInput().appendField(e,"NAME").appendField("","PARAMS"),this.setMutator(new Et.icons.MutatorIcon(["procedures_mutatorarg"],this)),(this.workspace.options.comments||this.workspace.options.parentWorkspace&&this.workspace.options.parentWorkspace.options.comments)&&Et.Msg.PROCEDURES_DEFNORETURN_COMMENT&&this.setCommentText(Et.Msg.PROCEDURES_DEFNORETURN_COMMENT),this.setStyle("procedure_blocks"),this.setTooltip(Et.Msg.PROCEDURES_DEFNORETURN_TOOLTIP),this.setHelpUrl(Et.Msg.PROCEDURES_DEFNORETURN_HELPURL),this.arguments_=[],this.argumentVarModels_=[],this.setStatements_(!0),this.statementConnection_=null},setStatements_:function(t){this.hasStatements_!==t&&(t?(this.appendStatementInput("STACK").appendField(Et.Msg.PROCEDURES_DEFNORETURN_DO),this.getInput("RETURN")&&this.moveInputBefore("STACK","RETURN")):this.removeInput("STACK",!0),this.hasStatements_=t)},updateParams_:function(){var t="";this.arguments_.length&&(t=Et.Msg.PROCEDURES_BEFORE_PARAMS+" "+this.arguments_.join(", ")),Et.Events.disable();try{this.setFieldValue(t,"PARAMS")}finally{Et.Events.enable()}},mutationToDom:function(t){var e=Et.utils.xml.createElement("mutation");t&&e.setAttribute("name",this.getFieldValue("NAME"));for(var i=0;i"),this.appendValueInput("style").appendField(Et.Msg.MIXLY_AIP_ATTR).setAlign(Et.inputs.Align.RIGHT),this.appendStatementInput("DO").appendField(""),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},no={init:function(){this.setColour(zs),this.appendDummyInput().appendField(Et.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},so={init:function(){this.setColour(zs),this.appendDummyInput().appendField(Et.Msg.HTML_FORM_CONTENT).appendField(new Et.FieldDropdown([[Et.Msg.HTML_TEXT,"text"],[Et.Msg.HTML_EMAIL,"email"],[Et.Msg.HTML_NUMBER,"number"],[Et.Msg.HTML_PASSWORD,"password"],[Et.Msg.HTML_CHECKBOX,"checkbox"],[Et.Msg.HTML_RADIOBUTTON,"radiobutton"],[Et.Msg.HTML_BUTTON,"button"],[Et.Msg.HTML_COLOUR,"colour"],[Et.Msg.HTML_DATE,"date"],[Et.Msg.HTML_LOCALTIME,"local time"],[Et.Msg.HTML_FILE,"file"],[Et.Msg.HTML_HIDDEN,"hidden"],[Et.Msg.HTML_IMAGE,"image"],[Et.Msg.HTML_MONTH,"month"],[Et.Msg.HTML_RANGE,"range"],[Et.Msg.HTML_RESET,"reset"],[Et.Msg.HTML_SEARCH,"search"],[Et.Msg.HTML_SUBMIT,"submit"],[Et.Msg.HTML_TELEPHONENUMBER,"telephone number"],[Et.Msg.HTML_TIME,"time"],[Et.Msg.HTML_URL,"url"],[Et.Msg.HTML_WEEK,"week"]]),"LEVEL"),this.appendDummyInput().appendField(Et.Msg.HTML_NAME).appendField(new Et.FieldTextInput("car"),"NAME"),this.appendDummyInput().appendField(Et.Msg.HTML_VALUE).appendField(new Et.FieldTextInput("go"),"VALUE"),this.appendValueInput("style").appendField(Et.Msg.MIXLY_AIP_ATTR).setAlign(Et.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},oo={init:function(){this.setColour(zs),this.appendDummyInput().appendField(new Et.FieldTextInput("property"),"KEY").appendField(":").appendField(new Et.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},po={init:function(){this.setColour(zs),this.appendDummyInput().appendField(new Et.FieldTextInput("property"),"KEY").appendField(":").appendField(new Et.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},uo={init:function(){this.setColour(zs),this.appendDummyInput().appendField(Et.Msg.HTML_TEXT).appendField(new Et.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ao=160,lo={init:function(){this.setColour(ao),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new Et.FieldTable(""),"TEXT")}},_o={init:function(){this.setColour(ao),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new Et.FieldMultilineInput(""),"TEXT")}},ro={init:function(){this.setColour(ao),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new Et.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},Io={init:function(){this.setColour(ao),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},To={init:function(){this.setColour(ao),this.appendDummyInput().appendTitle("Comment:").appendTitle(new Et.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},ho={init:function(){this.setColour(ao),this.appendValueInput("VALUE").appendField(Et.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},mo={init:function(){this.setColour(ao),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Et.icons.MutatorIcon(["text_print_multiple_item"],this)),this.setTooltip(Et.Msg.TEXT_PRINT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=Et.Block.obtain(t,"text_print_multiple_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n= stop:"," yield start"," start -= abs(step)"])};if(t=function(t,e,i){return"("+t+" <= "+e+") and "+a()+"("+t+", "+e+", "+i+") or "+l()+"("+t+", "+e+", "+i+")"},Et.isNumber(n)&&Et.isNumber(s)&&Et.isNumber(o))n=parseFloat(n),s=parseFloat(s),o=Math.abs(parseFloat(o)),0==n%1&&0==s%1&&0==o%1?(n<=s?(s++,t=0==n&&1==o?s:n+", "+s,1!=o&&(t+=", "+o)):t=n+", "+--s+", -"+o,t="range("+t+")"):(t=n",GTE:">="};const ra=function(t,e){var i=this.getFieldValue("OP"),n="&&"==i?e.ORDER_LOGICAL_AND:e.ORDER_LOGICAL_OR,s=e.valueToCode(this,"A",n)||"False",o=e.valueToCode(this,"B",n)||"False";if("AND"==i)var p=s+" and "+o;else if("OR"==i)p=s+" or "+o;else if("NOR"==i)p="not("+s+"^"+o+")";else p=s+"^"+o;return[p,n]},da=function(t,e){var i=e.ORDER_UNARY_PREFIX;return["not "+(e.valueToCode(this,"BOOL",i)||"False"),i]},Ia=function(t,e){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",e.ORDER_ATOMIC]},Ta=function(t,e){return["None",e.ORDER_ATOMIC]},ha=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"False";return["("+(e.valueToCode(this,"B",e.ORDER_ATOMIC)||"False")+" if "+i+" else "+(e.valueToCode(this,"C",e.ORDER_ATOMIC)||"False")+")",e.ORDER_ATOMIC]},ma=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},Oa=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},ca=function(t,e){return["bool("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||"0")+")",e.ORDER_ATOMIC]},Ra=function(t,e){return e.definitions_.import_os="import os","os.startfile("+e.valueToCode(this,"fn",e.ORDER_ATOMIC)+")\n"},Ma=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+" = open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},Ea=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",e.ORDER_ATOMIC]},Ca=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',e.ORDER_ATOMIC]},Aa=function(t,e){var i=e.valueToCode(this,"data",e.ORDER_ATOMIC);return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".write("+i+")\n"},ga=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"()",e.ORDER_ATOMIC]},Sa=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Da=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".readline("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},La=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".writable()",e.ORDER_ATOMIC]},Na=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".name()",e.ORDER_ATOMIC]},fa=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".close()\n"},Fa=function(t,e){e.definitions_.import_os="import os";return["os.listdir()",e.ORDER_ATOMIC]},va=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},Pa=function(t,e){return e.definitions_.import_os="import os",["os.path.getsize("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Va=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".tell()",e.ORDER_ATOMIC]},ya=function(t,e){var i=this.getFieldValue("MODE"),n=0;return n="start"==i?0:"current"==i?1:2,e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".seek("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+","+n+")\n"},Ya=function(t,e){return e.definitions_.import_os="import os","os.chdir("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},ba=function(t,e){e.definitions_.import_os="import os";return["os.getcwd()",e.ORDER_ATOMIC]},ka=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"PATH",e.ORDER_ATOMIC)+")\n"},Xa=function(t,e){return e.definitions_.import_os="import os","os.rename("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+","+e.valueToCode(this,"NEWFILE",e.ORDER_ATOMIC)+")\n"},Ga=function(t,e){e.definitions_.import_os="import os";var i=e.valueToCode(this,"FILE",e.ORDER_ATOMIC);return["os."+this.getFieldValue("MODE")+"("+i+")",e.ORDER_ATOMIC]},wa=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = sdcard.SDCard("+e.valueToCode(this,"SPISUB",e.ORDER_ATOMIC)+","+e.valueToCode(this,"PINSUB",e.ORDER_ATOMIC)+")\n"},Ua=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard","os.mount("+e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+","+e.valueToCode(this,"DIR",e.ORDER_ATOMIC)+")\n"},xa=function(t,e){var i=e.variableDB_.getName(this.getFieldValue("NAME"),Et.Procedures.NAME_TYPE),n=(this.getInput("STACK")&&e.statementToCode(this,"STACK"))??" pass\n";e.INFINITE_LOOP_TRAP&&(n=e.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+n);var s=e.valueToCode(this,"RETURN",e.ORDER_NONE)||"";s&&(s=" return "+s+"\n");for(var o=[],p=0;p\n\n\n\t\n"+e.statementToCode(this,"HEAD")+"\n\n"+e.statementToCode(this,"BODY")+"\n\n'''",e.ORDER_ATOMIC]},gl=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"\n"+i+"\n"},Sl=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");if("head"==n)var s="<"+n+'>\n\t\n'+i+"\n";else s="<"+n+">\n"+i+"\n";return s},Dl=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"<"+n+">\n"+i+"\n"},Ll=function(t,e){var i=e.statementToCode(this,"DO"),n=e.valueToCode(this,"style"),s=this.getFieldValue("LEVEL");return"<"+s+" "+n+" >\n"+i+"\n"},Nl=function(t,e){return['style="'+e.statementToCode(this,"STYLE")+'"',e.ORDER_ATOMIC]},fl=function(t,e){return'"},Fl=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},vl=function(){return this.getFieldValue("TEXT")+"\n"},Pl=function(t){return t.getFieldValue("TEXT")+"\n"},Vl=function(t,e){return[t.getFieldValue("TEXT"),e.ORDER_ATOMIC]},yl=function(t,e){return(e.valueToCode(t,"VALUE",e.ORDER_ATOMIC)||"")+"\n"},Yl=function(){return""},bl=function(t,e){return["type("+(e.valueToCode(t,"VALUE",e.ORDER_MEMBER)||"___")+")",e.ORDER_ATOMIC]},kl=function(t,e){for(var i=t.getFieldValue("NAME"),n=t.hasReturn_,s=new Array(t.itemCount_),o=0;o0?e.join("\n")+i.join("\n")+n.join("\n")+p.join("\n")+u.join("")+t+"while True:\n"+a.join("")+l.join("\n"):e.join("\n")+i.join("\n")+n.join("\n")+p.join("\n")+u.join("")+t+l.join("\n")},Ul.scrubNakedValue=function(t){return t+"\n"},Ul.quote_=function(t){var e="'";return-1!==t.indexOf("'")&&(-1===t.indexOf('"')?e='"':t=t.replace(/'/g,"\\'")),e+t+e},Ul.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},Ul.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(o=t.getCommentText())&&(o=Et.utils.string.wrap(o,Ul.COMMENT_WRAP-3),n+=Ul.prefixLines(o+"\n","# "));for(var s=0;s0?"int("+u+" + "+s+")":s<0?"int("+u+" - "+-s+")":"int("+u+")",n&&(u="-"+u)),u};const xl=100,Hl={init:function(){this.setColour(xl),this.appendValueInput("PIN",Number).appendField(Et.Msg.MIXLY_SERVO).appendField(Et.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("DEGREE",Number).setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_DEGREE_0_180),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_SERVO_MOVE)}},Bl={init:function(){this.setColour(xl),this.appendDummyInput("").appendField(new Et.FieldDropdown([["1","1"],["2","2"]]),"op"),this.setOutput(!0)}},Wl={init:function(){this.setColour(xl),this.appendDummyInput("").appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_ESP32_ON,"1"],[Et.Msg.MIXLY_ESP32_OFF,"0"],[Et.Msg.MIXLY_ESP32_TOGGLE,"-1"]]),"flag"),this.setOutput(!0),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},Kl={init:function(){this.setColour(xl),this.appendDummyInput().appendField(Et.Msg.MIXLY_SETTING).appendField(Et.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Et.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(Et.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_EXTERN_LED_SETONOFF)}},ql={init:function(){this.setColour(xl),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Et.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Et.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Et.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},Ql={init:function(){this.setColour(xl),this.appendDummyInput().appendField(Et.Msg.MIXLY_SETTING).appendField(Et.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Et.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(Et.Msg.MIXLY_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_EXTERN_LED_SETBRIGHT)}},jl={init:function(){this.setColour(xl),this.appendDummyInput().appendField(Et.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(Et.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(Et.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_LED_SETONOFF)}},Jl={init:function(){this.setColour(xl),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(Et.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(Et.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_LED_GETONOFF)}},zl={init:function(){this.setColour(xl),this.appendDummyInput().appendField(Et.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(Et.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(Et.Msg.MIXLY_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_LED_SETBRIGHT)}},Zl={init:function(){this.setColour(xl),this.appendValueInput("PIN",Number).appendField(Et.Msg.MIXLY_TONE).appendField(Et.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("pitch").setCheck(Number).appendField(Et.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},$l={init:function(){this.setColour(xl),this.appendValueInput("PIN",Number).appendField(Et.Msg.MIXLY_TONE).appendField(Et.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("pitch").setCheck(Number).appendField(Et.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(Et.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},t_={init:function(){this.setColour(xl),this.appendValueInput("PIN",Number).appendField(Et.Msg.MIXLY_NOTONE).appendField(Et.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},e_={init:function(){this.setColour(xl),this.appendValueInput("TICKS").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(Et.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(Et.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},i_={init:function(){this.setColour(xl),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},n_={init:function(){this.setColour(xl),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_MUSIC_RESET)}},s_={init:function(){this.setColour(xl),this.appendDummyInput().appendField(Et.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Et.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},o_={init:function(){this.setColour(xl),this.appendDummyInput().appendField(Et.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Et.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(Et.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},p_={init:function(){this.setColour(xl),this.appendDummyInput().appendField(Et.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},u_={init:function(){this.setColour(xl),this.appendValueInput("LIST").appendField(Et.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},a_={init:function(){this.setColour(xl),this.appendValueInput("LIST").appendField(Et.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.appendValueInput("PIN").setCheck(Number).appendField(Et.Msg.MIXLY_PIN),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},l_={init:function(){this.setColour(xl),this.appendValueInput("LIST").appendField(Et.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.appendValueInput("PIN").setCheck(Number).appendField(Et.Msg.MIXLY_PIN),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_MIXGO_MUSIC_PLAY_TONE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_MUSIC_PLAYSHOW)}},__={init:function(){this.setColour(xl),this.appendDummyInput("").appendField(Et.Msg.MIXLY_RGB),this.appendValueInput("SUB").appendField(Et.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_PIN),this.appendValueInput("LEDCOUNT").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_COUNT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Et.Msg.MIXLY_RGB_PIN_COUNT)}},r_={init:function(){this.setColour(xl),this.appendDummyInput("").appendField(Et.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("_LED_").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Et.Msg.MIXLY_RGB_NUM_R_G_B)}},d_={init:function(){this.setColour(xl),this.appendDummyInput("").appendField(Et.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Et.Msg.MIXLY_ESP32_MUSIC_WRI)}},I_={init:function(){this.setColour(xl),this.appendDummyInput("").appendField(Et.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Et.Msg.MIXLY_RGB_NUM_R_G_B)}},T_={init:function(){this.setColour(xl),this.appendDummyInput("").appendField(Et.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Et.Msg.MIXLY_RGB_NUM_R_G_B)}},h_={init:function(){this.setColour(xl),this.appendDummyInput("").appendField(Et.Msg.MIXLY_RGB),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Et.Msg.MIXLY_ESP32_MUSIC_WRI)}},m_=jl,O_=Jl,c_=zl,R_="#2FAD7A",M_={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:R_,helpUrl:Et.Msg.MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_HELPURL,tooltip:Et.Msg.MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_TOOLTIP,message0:Et.Msg.MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_MESSAGE0,args0:[{check:Number,type:"input_value",name:"virtual_pin"}]})}},E_={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:R_,helpUrl:Et.Msg.MPYTHON_BLYNK_SYNC_VIRTUAL_HELPURL,tooltip:Et.Msg.MPYTHON_BLYNK_SYNC_VIRTUAL_TOOLTIP,message0:Et.Msg.MPYTHON_BLYNK_SYNC_VIRTUAL_MESSAGE0,args0:[{check:Number,type:"input_value",name:"virtual_pin"}]})}},C_={init:function(){this.jsonInit({inputsInline:!0,colour:R_,helpUrl:Et.Msg.MPYTHON_BLYNK_ON_DISCONNECTED_HELPURL,tooltip:Et.Msg.MPYTHON_BLYNK_ON_DISCONNECTED_TOOLTIP,message0:Et.Msg.MPYTHON_BLYNK_ON_DISCONNECTED_MESSAGE0}),this.appendStatementInput("DO").appendField(Et.CONTROLS_REPEAT_INPUT_DO)}},A_={init:function(){this.jsonInit({inputsInline:!0,colour:R_,helpUrl:Et.Msg.MPYTHON_BLYNK_ON_CONNECTED_HELPURL,tooltip:Et.Msg.MPYTHON_BLYNK_ON_CONNECTED_TOOLTIP,message0:Et.Msg.MPYTHON_BLYNK_ON_CONNECTED_MESSAGE0}),this.appendStatementInput("DO").appendField(Et.CONTROLS_REPEAT_INPUT_DO)}},g_={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:R_,helpUrl:Et.Msg.MPYTHON_BLYNKTIMER_RUN_HELPURL,tooltip:Et.Msg.MPYTHON_BLYNKTIMER_RUN_TOOLTIP,message0:Et.Msg.MPYTHON_BLYNKTIMER_RUN_MESSAGE0})}},S_={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:R_,helpUrl:Et.Msg.MPYTHON_BLYNK_RUN_HELPURL,tooltip:Et.Msg.MPYTHON_BLYNK_RUN_TOOLTIP,message0:Et.Msg.MPYTHON_BLYNK_RUN_MESSAGE0})}},D_={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:R_,helpUrl:Et.Msg.MPYTHON_BLYNK_APP_NOTIFY_HELPURL,tooltip:Et.Msg.MPYTHON_BLYNK_APP_NOTIFY_TOOLTIP,message0:Et.Msg.MPYTHON_BLYNK_APP_NOTIFY_MESSAGE0,args0:[{check:String,type:"input_value",name:"notification"}]})}},L_={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:R_,helpUrl:Et.Msg.MPYTHON_BLYNK_STOP_TIMERS_HELPURL,tooltip:Et.Msg.MPYTHON_BLYNKTIMER_TOOLTIP,message0:Et.Msg.MPYTHON_BLYNK_STOP_TIMERS_MESSAGE0,args0:[{check:Number,type:"input_value",name:"timer_num"}]})}},N_={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:R_,helpUrl:Et.Msg.MPYTHON_BLYNK_SET_PROPERTY_HELPURL,tooltip:Et.Msg.MPYTHON_BLYNK_SET_PROPERTY_TOOLTIP,message0:Et.Msg.MPYTHON_BLYNK_SET_PROPERTY_MESSAGE0,args0:[{check:String,type:"input_value",name:"attribute_name"},{type:"input_value",name:"attribute_value"}]})}},f_={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:R_,helpUrl:Et.Msg.MPYTHON_BLYNK_EMAIL_HELPURL,tooltip:Et.Msg.MPYTHON_BLYNK_EMAIL_TOOLTIP,message0:Et.Msg.MPYTHON_BLYNK_EMAIL_MESSAGE0,args0:[{check:String,type:"input_value",name:"TargetEmail"},{check:String,type:"input_value",name:"subject"},{check:String,type:"input_value",name:"body"}]})}},F_={init:function(){this.jsonInit({inputsInline:!0,output:null,colour:R_,helpUrl:Et.Msg.MPYTHON_BLYNK_GET_TIMERS_HELPURL,tooltip:Et.Msg.MPYTHON_BLYNK_GET_TIMERS_TOOLTIP,message0:Et.Msg.MPYTHON_BLYNK_GET_TIMERS_MESSAGE0})}},v_={init:function(){this.jsonInit({message0:Et.Msg.MPYTHON_BLYNKTIMER_MESSAGE0,colour:R_,helpUrl:Et.Msg.MPYTHON_BLYNKTIMER_HELPURL,tooltip:Et.Msg.MPYTHON_BLYNKTIMER_TOOLTIP,args0:[{check:Number,type:"input_value",name:"Num"},{options:[[Et.Msg.MIXLY_PYTHON_PERIODIC,"False"],[Et.Msg.MIXLY_PYTHON_ONE_SHOT,"True"]],type:"field_dropdown",name:"Timer_mode"},{check:Number,type:"input_value",name:"period"}]}),this.appendStatementInput("DO").appendField(Et.CONTROLS_REPEAT_INPUT_DO)}},P_={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:R_,helpUrl:Et.Msg.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_HELPURL,tooltip:Et.Msg.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_TOOLTIP,message0:Et.Msg.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_MESSAGE0,args0:[{type:"input_value",name:"sensor_data"},{check:Number,type:"input_value",name:"virtual_pin"}]})}},V_={init:function(){this.jsonInit({inputsInline:!0,colour:R_,helpUrl:Et.Msg.MPYTHON_BLYNK_APP_DATA_HELPURL,tooltip:Et.Msg.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_TOOLTIP,message0:Et.Msg.MPYTHON_BLYNK_APP_DATA_MESSAGE0,args0:[{check:Number,type:"input_value",name:"virtual_pin"},{type:"input_value",name:"virtual_pin_val"}]}),this.appendStatementInput("DO").appendField(Et.CONTROLS_REPEAT_INPUT_DO)}},y_={init:function(){this.jsonInit({nextStatement:null,previousStatement:null,colour:R_,helpUrl:Et.Msg.MPYTHON_BLYNK_SETUP_HELPURL,tooltip:Et.Msg.MPYTHON_BLYNK_SETUP_TOOLTIP,message0:Et.Msg.MPYTHON_BLYNK_SETUP_MESSAGE0,args0:[{type:"input_dummy"},{check:String,type:"input_value",name:"server"},{check:Number,type:"input_value",name:"port"},{check:String,type:"input_value",name:"auth"}]})}},Y_=120,b_={init:function(){this.setColour(Y_),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(Et.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT).appendField(new Et.FieldDropdown(b_.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(Et.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return{WHILE:Et.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:Et.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[e]}))},OPERATORS:[[Et.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[Et.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]]},k_={init:function(){this.setColour(Y_);var t=new Et.FieldDropdown(k_.OPERATORS);this.appendDummyInput().appendField(t,"FLOW").appendField(Et.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("FLOW");return{BREAK:Et.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:Et.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}[t]}))},onchange:function(){if(this.workspace){var t=!1,e=this;do{if("controls_repeat"==e.type||"controls_for"==e.type||"controls_forEach"==e.type||"controls_repeat_ext"==e.type||"controls_whileUntil"==e.type){t=!0;break}e=e.getSurroundParent()}while(e);t?this.setWarningText(null):this.setWarningText(Et.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}},OPERATORS:[[Et.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[Et.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]]},X_="5BA5A5",G_={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(X_),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(Et.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(Et.Msg.DISPLAY_IMAGE_LET2).appendField(new Et.FieldDropdown(G_.OPERATORS),"OP"),this.appendValueInput("val").appendField(Et.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(Et.Msg.DISPLAY_IMAGE_UNIT);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=Et.Msg.DISPLAY_IMAGE_LET,n=Et.Msg.DISPLAY_IMAGE_LET2,s=Et.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:Et.Msg.MIXLY_UP,down:Et.Msg.MIXLY_DOWN,left:Et.Msg.MIXLY_LEFT,right:Et.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[Et.Msg.MIXLY_UP,"shift_up"],[Et.Msg.MIXLY_DOWN,"shift_down"],[Et.Msg.MIXLY_LEFT,"shift_left"],[Et.Msg.MIXLY_RIGHT,"shift_right"]]},w_={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(X_),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(Et.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new Et.FieldDropdown(w_.OPERATORS),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{"+":Et.Msg.MIXLY_MICROBIT_image_add,"-":Et.Msg.MIXLY_MICROBIT_image_reduce}[e]}))},OPERATORS:[[Et.Msg.MICROBIT_DISPLAY_UNION,"add"],[Et.Msg.MICROBIT_DISPLAY_MINUS,"sub"]]},U_={init:function(){this.setColour(X_),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+Et.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("esp32_image"),this.appendDummyInput("").appendField(new Et.FieldDropdown(U_.OPERATORS),"OP"),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+Et.Msg.MIXLY_MICROBIT_IMAGE+{height:Et.Msg.MIXLY_HEIGHT,width:Et.Msg.MIXLY_WIDTH}[e]}))},OPERATORS:[[Et.Msg.MIXLY_HEIGHT,"height"],[Et.Msg.MIXLY_WIDTH,"width"]]},x_={init:function(){this.setColour(X_),this.appendValueInput("VAR").appendField(Et.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_RECT).appendField(new Et.FieldDropdown(x_.STATUS),"OP"),this.jsonInit({message0:Et.Msg.MIXLY_MICROBIT_SHOW_RECT,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"width"},{check:Number,type:"input_value",name:"height"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Et.Msg.MIXLY_OLED_RECT)},STATUS:[[Et.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[Et.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},H_={init:function(){this.setColour(X_),this.appendValueInput("VAR").appendField(Et.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE).appendField(new Et.FieldDropdown(H_.STATUS),"OP"),this.jsonInit({message0:Et.Msg.MIXLY_HANBIT_SHOW_CIRCLE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"r"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Et.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE)},STATUS:[[Et.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[Et.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},B_={init:function(){this.setColour(X_),this.appendValueInput("SUB").setCheck("var").appendField(Et.Msg.MSG.catOLED),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(Et.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(Et.Msg.DISPLAY_IMAGE_LET2).appendField(new Et.FieldDropdown(B_.OPERATORS),"OP"),this.appendValueInput("val").appendField(Et.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(Et.Msg.DISPLAY_IMAGE_UNIT);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=Et.Msg.DISPLAY_IMAGE_LET,n=Et.Msg.DISPLAY_IMAGE_LET2,s=Et.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:Et.Msg.MIXLY_UP,down:Et.Msg.MIXLY_DOWN,left:Et.Msg.MIXLY_LEFT,right:Et.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[Et.Msg.MIXLY_UP,"shift_up"],[Et.Msg.MIXLY_DOWN,"shift_down"],[Et.Msg.MIXLY_LEFT,"shift_left"],[Et.Msg.MIXLY_RIGHT,"shift_right"]]},W_="#569A98",K_={init:function(){this.appendDummyInput("").appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Et.inputs.Align.CENTRE).appendField(new Et.FieldBitmap(K_.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(W_),this.setTooltip(Et.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:12},(()=>new Array(32).fill(0)))},q_={init:function(){this.setColour(W_),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(Et.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new Et.FieldDropdown(q_.OPERATORS),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{"+":Et.Msg.MIXLY_MICROBIT_image_add,"-":Et.Msg.MIXLY_MICROBIT_image_reduce}[e]}))},OPERATORS:[[Et.Msg.MICROBIT_DISPLAY_UNION,"add"],[Et.Msg.MICROBIT_DISPLAY_MINUS,"sub"]]},Q_={init:function(){this.setColour(W_),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(Et.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(Et.Msg.DISPLAY_IMAGE_LET2).appendField(new Et.FieldDropdown(Q_.OPERATORS),"OP"),this.appendValueInput("val").appendField(Et.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(Et.Msg.DISPLAY_IMAGE_UNIT);Ct.Boards.getSelectedBoardKey();"Python ESP32-S3"===Ct.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(Et.Msg.MIXLY_synchronize);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=Et.Msg.DISPLAY_IMAGE_LET,n=Et.Msg.DISPLAY_IMAGE_LET2,s=Et.Msg.DISPLAY_IMAGE_LET3;return i+n+{shift_up:Et.Msg.MIXLY_UP,shift_down:Et.Msg.MIXLY_DOWN,shift_left:Et.Msg.MIXLY_LEFT,shift_right:Et.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[Et.Msg.MIXLY_UP,"shift_up"],[Et.Msg.MIXLY_DOWN,"shift_down"],[Et.Msg.MIXLY_LEFT,"shift_left"],[Et.Msg.MIXLY_RIGHT,"shift_right"]]},j_={init:function(){this.appendDummyInput("").appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Et.inputs.Align.CENTRE).appendField(new Et.FieldBitmap(j_.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(W_),this.setTooltip(Et.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(8).fill(0)))},J_={init:function(){this.appendDummyInput("").appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Et.inputs.Align.CENTRE).appendField(new Et.FieldBitmap(J_.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(W_),this.setTooltip(Et.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(12).fill(0)))},z_={init:function(){this.appendDummyInput("").appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Et.inputs.Align.CENTRE).appendField(new Et.FieldBitmap(z_.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(W_),this.setTooltip(Et.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(16).fill(0)))},Z_={init:function(){this.setColour(W_),this.appendDummyInput().appendField(Et.Msg.OLED_SET_FONT).appendField(new Et.FieldDropdown(Z_.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[["4x5"+Et.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'4x5'"],["5x5"+Et.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'5x5'"],["5x8"+Et.Msg.MIXGO_ME_DISPLAY_VERTICAL,"'5x8'"]]},$_={init:function(){this.appendDummyInput("").appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Et.inputs.Align.CENTRE).appendField(new Et.FieldBitmap($_.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(W_),this.setTooltip(Et.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(5).fill(0)))},tr={init:function(){this.setColour(W_),this.appendDummyInput().appendField(Et.Msg.MIXLY_MIXBOT_SCREEN_ROTATE).appendField(new Et.FieldDropdown(tr.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[[Et.Msg.mixpy_PL_PIE_SHADOW_N,"0"],[Et.Msg.CLOCKWISE+"90"+Et.Msg.blockpy_setheading_degree,"1"],[Et.Msg.CLOCKWISE+"180"+Et.Msg.blockpy_setheading_degree,"2"],[Et.Msg.CLOCKWISE+"270"+Et.Msg.blockpy_setheading_degree,"3"]]},er={init:function(){this.appendDummyInput("").appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Et.inputs.Align.CENTRE).appendField(new Et.FieldBitmap(er.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(W_),this.setTooltip(Et.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:12},(()=>new Array(12).fill(0)))},ir=180,nr={colourOptions:["#f00","#000"],columns:2},sr={init:function(){this.jsonInit({colour:ir,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.clear",message0:Et.Msg.MIXLY_MICROBIT_Clear_display}),this.setTooltip(Et.Msg.MIXLY_MICROBIT_Clear_display)}},or={init:function(){this.setColour(ir),this.appendValueInput("x").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_JS_MONITOR_GET_POINT),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Et.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},pr={init:function(){this.setColour(ir),this.appendValueInput("x").setCheck(Number).appendField(Et.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},ur={init:function(){this.setColour(ir),this.appendValueInput("data").setCheck(String).appendField(new Et.FieldDropdown([[Et.Msg.OLED_DRAWSTR_ONE_BY_ONE,"show"],[Et.Msg.MIXLY_ESP32_MONITOR_SCROLL,"scroll"]]),"MODE").appendField(Et.Msg.OLED_DRAWSTR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Et.Msg.OLED_DRAWSTR;return{show:Et.Msg.OLED_DRAWSTR_ONE_BY_ONE,scroll:Et.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING}[e]+i}))}},ar={init:function(){this.setColour(ir),this.appendValueInput("data").setCheck(String).appendField(new Et.FieldDropdown([[Et.Msg.OLED_DRAWSTR_ONE_BY_ONE,"show"],[Et.Msg.MIXLY_ESP32_MONITOR_SCROLL,"scroll"]]),"MODE").appendField(Et.Msg.OLED_DRAWSTR),this.appendValueInput("time").setCheck(Number).appendField(Et.Msg.MIXLY_DELAY),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Et.Msg.OLED_DRAWSTR;return{show:Et.Msg.OLED_DRAWSTR_ONE_BY_ONE,scroll:Et.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING}[e]+i}))}},lr={init:function(){this.setColour(ir),this.appendValueInput("data").setCheck(String).appendField(Et.Msg.MIXLY_ESP32_MONITOR_SHOW_STATIC),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_MUSIC_SHOW_STATIC)}},_r={init:function(){this.setColour(ir),this.appendValueInput("PIN",String).setCheck("esp32_image").appendField(Et.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.OLED_BITMAP)}},rr={init:function(){this.jsonInit({colour:ir,InputsInline:!0,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.show",tooltip:"Show the referenced image on the display.",message0:Et.Msg.OLED_BITMAP,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SAD","SAD"],["SMILE","SMILE"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["SURPRISED","SURPRISED"],["ASLEEP","ASLEEP"],["ANGRY","ANGRY"],["CONFUSED","CONFUSED"],["NO","NO"],["YES","YES"],["LEFT_ARROW","LEFT_ARROW"],["RIGHT_ARROW","RIGHT_ARROW"],["DRESS","DRESS"],["TRANSFORMERS","TRANSFORMERS"],["SCISSORS","SCISSORS"],["EXIT","EXIT"],["TREE","TREE"],["PACMAN","PACMAN"],["TARGET","TARGET"],["TSHIRT","TSHIRT"],["ROLLERSKATE","ROLLERSKATE"],["DUCK","DUCK"],["HOUSE","HOUSE"],["TORTOISE","TORTOISE"],["BUTTERFLY","BUTTERFLY"],["STICKFIGURE","STICKFIGURE"],["GHOST","GHOST"],["PITCHFORK","PITCHFORK"],["MUSIC_QUAVERS","MUSIC_QUAVERS"],["MUSIC_QUAVER","MUSIC_QUAVER"],["MUSIC_CROTCHET","MUSIC_CROTCHET"],["COW","COW"],["RABBIT","RABBIT"],["SQUARE_SMALL","SQUARE_SMALL"],["SQUARE","SQUARE"],["DIAMOND_SMALL","DIAMOND_SMALL"],["DIAMOND","DIAMOND"],["CHESSBOARD","CHESSBOARD"],["TRIANGLE_LEFT","TRIANGLE_LEFT"],["TRIANGLE","TRIANGLE"],["SNAKE","SNAKE"],["UMBRELLA","UMBRELLA"],["SKULL","SKULL"],["GIRAFFE","GIRAFFE"],["SWORD","SWORD"]],type:"field_dropdown"}]})}},dr={init:function(){this.jsonInit({colour:ir,inputsInline:!0,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.show",message0:Et.Msg.MIXLY_MICROBIT_Animate_images,args0:[{check:"List",type:"input_value",name:"images"},{type:"input_value",name:"delay"},{type:"input_dummy"},{checked:!0,type:"field_checkbox",name:"wait"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"loop"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"clear"}]}),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_SHOW_delay+Et.Msg.MIXLY_MICROBIT_Animate_images1)}},Ir={init:function(){this.jsonInit({colour:ir,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.scroll",tooltip:"Scroll the referenced text across the display.",message0:Et.Msg.MIXLY_MICROBIT_Scroll_message,args0:[{check:"String",type:"input_value",name:"message"}]})}},Tr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_MICROBIT_Turn_on_display,"on"],[Et.Msg.MIXLY_MICROBIT_Turn_off_display,"off"]]),"on_off").appendField(Et.Msg.MIXLY_MICROBIT_monitor),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("on_off"),i=Et.Msg.MIXLY_MICROBIT_monitor;return{on:Et.Msg.MIXLY_MICROBIT_Turn_on_display,off:Et.Msg.MIXLY_MICROBIT_Turn_off_display}[e]+i}))}},hr={init:function(){this.jsonInit({colour:ir,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.off",tooltip:"Turn off the display.",message0:Et.Msg.MIXLY_MICROBIT_Turn_off_display})}},mr={init:function(){this.jsonInit({colour:ir,output:"Boolean",helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.is_on",message0:Et.Msg.MIXLY_MICROBIT_Display_is_on}),this.setTooltip(Et.Msg.MIXLY_MICROBIT_Display_is_on1)}},Or={init:function(){this.jsonInit({colour:ir,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SAD","SAD"],["SMILE","SMILE"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["SURPRISED","SURPRISED"],["ASLEEP","ASLEEP"],["ANGRY","ANGRY"],["CONFUSED","CONFUSED"],["NO","NO"],["YES","YES"],["LEFT_ARROW","LEFT_ARROW"],["RIGHT_ARROW","RIGHT_ARROW"],["DRESS","DRESS"],["TRANSFORMERS","TRANSFORMERS"],["SCISSORS","SCISSORS"],["EXIT","EXIT"],["TREE","TREE"],["PACMAN","PACMAN"],["TARGET","TARGET"],["TSHIRT","TSHIRT"],["ROLLERSKATE","ROLLERSKATE"],["DUCK","DUCK"],["HOUSE","HOUSE"],["TORTOISE","TORTOISE"],["BUTTERFLY","BUTTERFLY"],["STICKFIGURE","STICKFIGURE"],["GHOST","GHOST"],["PITCHFORK","PITCHFORK"],["MUSIC_QUAVERS","MUSIC_QUAVERS"],["MUSIC_QUAVER","MUSIC_QUAVER"],["MUSIC_CROTCHET","MUSIC_CROTCHET"],["COW","COW"],["RABBIT","RABBIT"],["SQUARE_SMALL","SQUARE_SMALL"],["SQUARE","SQUARE"],["DIAMOND_SMALL","DIAMOND_SMALL"],["DIAMOND","DIAMOND"],["CHESSBOARD","CHESSBOARD"],["TRIANGLE_LEFT","TRIANGLE_LEFT"],["TRIANGLE","TRIANGLE"],["SNAKE","SNAKE"],["UMBRELLA","UMBRELLA"],["SKULL","SKULL"],["GIRAFFE","GIRAFFE"],["SWORD","SWORD"]],type:"field_dropdown"}],output:["esp32_image","List"],helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#attributes",tooltip:Et.Msg.MIXLY_MICROBIT_Built_in_image1,message0:Et.Msg.MIXLY_MICROBIT_Built_in_image})}},cr={init:function(){this.jsonInit({colour:ir,args0:[{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"00"},{colour:"#000000",type:"field_colour",name:"01"},{colour:"#000000",type:"field_colour",name:"02"},{colour:"#000000",type:"field_colour",name:"03"},{colour:"#000000",type:"field_colour",name:"04"},{colour:"#000000",type:"field_colour",name:"05"},{colour:"#000000",type:"field_colour",name:"06"},{colour:"#000000",type:"field_colour",name:"07"},{colour:"#000000",type:"field_colour",name:"08"},{colour:"#000000",type:"field_colour",name:"09"},{colour:"#000000",type:"field_colour",name:"0a"},{colour:"#000000",type:"field_colour",name:"0b"},{colour:"#000000",type:"field_colour",name:"0c"},{colour:"#000000",type:"field_colour",name:"0d"},{colour:"#000000",type:"field_colour",name:"0e"},{colour:"#000000",type:"field_colour",name:"0f"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"10"},{colour:"#000000",type:"field_colour",name:"11"},{colour:"#000000",type:"field_colour",name:"12"},{colour:"#000000",type:"field_colour",name:"13"},{colour:"#000000",type:"field_colour",name:"14"},{colour:"#000000",type:"field_colour",name:"15"},{colour:"#000000",type:"field_colour",name:"16"},{colour:"#000000",type:"field_colour",name:"17"},{colour:"#000000",type:"field_colour",name:"18"},{colour:"#000000",type:"field_colour",name:"19"},{colour:"#000000",type:"field_colour",name:"1a"},{colour:"#000000",type:"field_colour",name:"1b"},{colour:"#000000",type:"field_colour",name:"1c"},{colour:"#000000",type:"field_colour",name:"1d"},{colour:"#000000",type:"field_colour",name:"1e"},{colour:"#000000",type:"field_colour",name:"1f"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"20"},{colour:"#000000",type:"field_colour",name:"21"},{colour:"#000000",type:"field_colour",name:"22"},{colour:"#000000",type:"field_colour",name:"23"},{colour:"#000000",type:"field_colour",name:"24"},{colour:"#000000",type:"field_colour",name:"25"},{colour:"#000000",type:"field_colour",name:"26"},{colour:"#000000",type:"field_colour",name:"27"},{colour:"#000000",type:"field_colour",name:"28"},{colour:"#000000",type:"field_colour",name:"29"},{colour:"#000000",type:"field_colour",name:"2a"},{colour:"#000000",type:"field_colour",name:"2b"},{colour:"#000000",type:"field_colour",name:"2c"},{colour:"#000000",type:"field_colour",name:"2d"},{colour:"#000000",type:"field_colour",name:"2e"},{colour:"#000000",type:"field_colour",name:"2f"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"30"},{colour:"#000000",type:"field_colour",name:"31"},{colour:"#000000",type:"field_colour",name:"32"},{colour:"#000000",type:"field_colour",name:"33"},{colour:"#000000",type:"field_colour",name:"34"},{colour:"#000000",type:"field_colour",name:"35"},{colour:"#000000",type:"field_colour",name:"36"},{colour:"#000000",type:"field_colour",name:"37"},{colour:"#000000",type:"field_colour",name:"38"},{colour:"#000000",type:"field_colour",name:"39"},{colour:"#000000",type:"field_colour",name:"3a"},{colour:"#000000",type:"field_colour",name:"3b"},{colour:"#000000",type:"field_colour",name:"3c"},{colour:"#000000",type:"field_colour",name:"3d"},{colour:"#000000",type:"field_colour",name:"3e"},{colour:"#000000",type:"field_colour",name:"3f"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"40"},{colour:"#000000",type:"field_colour",name:"41"},{colour:"#000000",type:"field_colour",name:"42"},{colour:"#000000",type:"field_colour",name:"43"},{colour:"#000000",type:"field_colour",name:"44"},{colour:"#000000",type:"field_colour",name:"45"},{colour:"#000000",type:"field_colour",name:"46"},{colour:"#000000",type:"field_colour",name:"47"},{colour:"#000000",type:"field_colour",name:"48"},{colour:"#000000",type:"field_colour",name:"49"},{colour:"#000000",type:"field_colour",name:"4a"},{colour:"#000000",type:"field_colour",name:"4b"},{colour:"#000000",type:"field_colour",name:"4c"},{colour:"#000000",type:"field_colour",name:"4d"},{colour:"#000000",type:"field_colour",name:"4e"},{colour:"#000000",type:"field_colour",name:"4f"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"50"},{colour:"#000000",type:"field_colour",name:"51"},{colour:"#000000",type:"field_colour",name:"52"},{colour:"#000000",type:"field_colour",name:"53"},{colour:"#000000",type:"field_colour",name:"54"},{colour:"#000000",type:"field_colour",name:"55"},{colour:"#000000",type:"field_colour",name:"56"},{colour:"#000000",type:"field_colour",name:"57"},{colour:"#000000",type:"field_colour",name:"58"},{colour:"#000000",type:"field_colour",name:"59"},{colour:"#000000",type:"field_colour",name:"5a"},{colour:"#000000",type:"field_colour",name:"5b"},{colour:"#000000",type:"field_colour",name:"5c"},{colour:"#000000",type:"field_colour",name:"5d"},{colour:"#000000",type:"field_colour",name:"5e"},{colour:"#000000",type:"field_colour",name:"5f"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"60"},{colour:"#000000",type:"field_colour",name:"61"},{colour:"#000000",type:"field_colour",name:"62"},{colour:"#000000",type:"field_colour",name:"63"},{colour:"#000000",type:"field_colour",name:"64"},{colour:"#000000",type:"field_colour",name:"65"},{colour:"#000000",type:"field_colour",name:"66"},{colour:"#000000",type:"field_colour",name:"67"},{colour:"#000000",type:"field_colour",name:"68"},{colour:"#000000",type:"field_colour",name:"69"},{colour:"#000000",type:"field_colour",name:"6a"},{colour:"#000000",type:"field_colour",name:"6b"},{colour:"#000000",type:"field_colour",name:"6c"},{colour:"#000000",type:"field_colour",name:"6d"},{colour:"#000000",type:"field_colour",name:"6e"},{colour:"#000000",type:"field_colour",name:"6f"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"70"},{colour:"#000000",type:"field_colour",name:"71"},{colour:"#000000",type:"field_colour",name:"72"},{colour:"#000000",type:"field_colour",name:"73"},{colour:"#000000",type:"field_colour",name:"74"},{colour:"#000000",type:"field_colour",name:"75"},{colour:"#000000",type:"field_colour",name:"76"},{colour:"#000000",type:"field_colour",name:"77"},{colour:"#000000",type:"field_colour",name:"78"},{colour:"#000000",type:"field_colour",name:"79"},{colour:"#000000",type:"field_colour",name:"7a"},{colour:"#000000",type:"field_colour",name:"7b"},{colour:"#000000",type:"field_colour",name:"7c"},{colour:"#000000",type:"field_colour",name:"7d"},{colour:"#000000",type:"field_colour",name:"7e"},{colour:"#000000",type:"field_colour",name:"7f"}],output:"esp32_image",helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#microbit.Image",message0:Et.Msg.MIXLY_ESP32_Create_image}),this.setTooltip(Et.Msg.MIXLY_MICROBIT_Create_image1)}},Rr={init:function(){this.setColour(ir),this.setOutput(!0),this.setInputsInline(!0),this.appendValueInput("img").appendField(Et.Msg.DISPLAY_IMAGE_LET).setCheck(["esp32_image","List",String]),this.appendDummyInput("").appendField(Et.Msg.DISPLAY_IMAGE_LET2).appendField(new Et.FieldDropdown(Rr.OPERATORS),"OP"),this.appendValueInput("val").appendField(Et.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(Et.Msg.DISPLAY_IMAGE_UNIT);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=Et.Msg.DISPLAY_IMAGE_LET,n=Et.Msg.DISPLAY_IMAGE_LET2,s=Et.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:Et.Msg.MIXLY_UP,down:Et.Msg.MIXLY_DOWN,left:Et.Msg.MIXLY_LEFT,right:Et.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[Et.Msg.MIXLY_UP,"up"],[Et.Msg.MIXLY_DOWN,"down"],[Et.Msg.MIXLY_LEFT,"left"],[Et.Msg.MIXLY_RIGHT,"right"]]},Mr={init:function(){this.setColour(ir),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(Et.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new Et.FieldDropdown(Mr.OPERATORS),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{"+":Et.Msg.MIXLY_MICROBIT_image_add,"-":Et.Msg.MIXLY_MICROBIT_image_reduce}[e]}))},OPERATORS:[[Et.Msg.MICROBIT_DISPLAY_UNION,"+"],[Et.Msg.MICROBIT_DISPLAY_MINUS,"-"]]},Er={init:function(){this.appendDummyInput().appendField(new Et.FieldDropdown([[Et.Msg.OLED_DRAWSTR_ONE_BY_ONE,"show"],[Et.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING,"scroll"]]),"MODE"),this.jsonInit({colour:ir,inputsInline:!0,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.show",tooltip:"Display the list of images as an animation with a certain delay between each frame. Indicate if you need to wait before continuing, continuously loop the animation and clear the display when finished.",message0:Et.Msg.MIXLY_MICROBIT_SHOW_STRING,args0:[{check:String,type:"input_value",name:"images"},{type:"input_value",name:"delay"},{type:"input_dummy"},{checked:!0,type:"field_checkbox",name:"wait"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"loop"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"clear"}]}),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Et.Msg.OLED_DRAWSTR;return Et.Msg.MIXLY_MICROBIT_JS_MONITOR_SHOW_delay+{show:Et.Msg.OLED_DRAWSTR_ONE_BY_ONE,scroll:Et.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING}[e]+i}))}},Cr={init:function(){this.setColour(ir),this.appendValueInput("TEXT",String).setCheck([String,Number]).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_DF_LCD).appendField("mylcd").appendField(Et.Msg.MIXLY_LCD_PRINT1),this.appendValueInput("TEXT2",String).setCheck([String,Number]).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_LCD_PRINT2),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Et.Msg.MIXLY_LCD_PRINT4_TOOLTIP)}},Ar={init:function(){this.setColour(ir),this.appendValueInput("device").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_SETUP).appendField(Et.Msg.MIXLY_DF_LCD).appendField("1602").appendField("mylcd").appendField(Et.Msg.MIXLY_LCD_ADDRESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_SETUP+Et.Msg.MIXLY_DF_LCD+Et.Msg.MIXLY_LCD_ADDRESS)}},gr={init:function(){this.setColour(ir),this.appendValueInput("row",Number).setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_DF_LCD).appendField("mylcd").appendField(Et.Msg.MIXLY_LCD_ROW),this.appendValueInput("column",Number).setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_LCD_COLUMN),this.appendValueInput("TEXT",String).setCheck([String,Number]).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_LCD_PRINT),this.setPreviousStatement(!0,null),this.setInputsInline(!0),this.setNextStatement(!0,null),this.setTooltip(Et.Msg.MIXLY_LCD_PRINT3_TOOLTIP)}},Sr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(Et.Msg.MIXLY_DF_LCD).appendField("mylcd").appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_ON,"on()"],[Et.Msg.MIXLY_OFF,"off()"],[Et.Msg.MIXLY_LCD_STAT_CLEAR,"clear()"],[Et.Msg.MIXLY_LCD_NOBACKLIGHT,"backlight(off)"],[Et.Msg.MIXLY_LCD_BACKLIGHT,"backlight(on)"]]),"STAT"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);var t=this;this.setTooltip((function(){var e=t.getFieldValue("STAT");return Et.Msg.LISTS_SET_INDEX_SET+Et.Msg.MIXLY_DF_LCD+{"on()":Et.Msg.MIXLY_ON,"off()":Et.Msg.MIXLY_OFF,"clear()":Et.Msg.MIXLY_LCD_STAT_CLEAR,"backlight(off)":Et.Msg.MIXLY_LCD_NOBACKLIGHT,"backlight(on)":Et.Msg.MIXLY_LCD_BACKLIGHT}[e]}))}},Dr={init:function(){this.setColour(ir),this.appendValueInput("I2CSUB").appendField(Et.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendValueInput("row").appendField(Et.Msg.MIXLY_SETUP+Et.Msg.LISTS_SET_INDEX_INPUT_TO+"OLED").setCheck(Number),this.appendValueInput("column").appendField("X").setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip()}},Lr={init:function(){this.appendValueInput("VAR").appendField(Et.Msg.OLED).setCheck("var"),this.appendValueInput("Text_line1","String").setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.OLEDDISPLAY+Et.Msg.line1),this.appendValueInput("Text_line2","String").setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.line2),this.appendValueInput("Text_line3","String").setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.line3),this.appendValueInput("Text_line4","String").setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.line4),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(ir),this.setTooltip(Et.Msg.MIXLY_DF_LCD+Et.Msg.OLEDDISPLAY+Et.Msg.MIXLY_MICROBIT_TYPE_STRING)}},Nr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+Et.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("esp32_image"),this.appendDummyInput("").appendField(new Et.FieldDropdown(Nr.OPERATORS),"OP"),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+Et.Msg.MIXLY_MICROBIT_IMAGE+{height:Et.Msg.MIXLY_HEIGHT,width:Et.Msg.MIXLY_WIDTH}[e]}))},OPERATORS:[[Et.Msg.MIXLY_HEIGHT,"height"],[Et.Msg.MIXLY_WIDTH,"width"]]},fr={init:function(){this.setColour(ir),this.appendValueInput("VAR").appendField(Et.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_RECT).appendField(new Et.FieldDropdown(fr.STATUS),"OP"),this.jsonInit({message0:Et.Msg.MIXLY_MICROBIT_SHOW_RECT,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"width"},{check:Number,type:"input_value",name:"height"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Et.Msg.MIXLY_OLED_RECT)},STATUS:[[Et.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[Et.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},Fr={init:function(){this.setColour(ir),this.appendValueInput("VAR").appendField(Et.Msg.OLED).setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_DISPLAY_DRAW).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_DISPLAY_RLINE,"hline"],[Et.Msg.MIXLY_DISPLAY_VLINE,"vline"]]),"direction"),this.jsonInit({message0:Et.Msg.MIXLY_MICROBIT_SHOW_LINE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"length"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Et.Msg.MIXLY_OLED_LINE)}},vr={init:function(){this.setColour(ir),this.appendValueInput("VAR").appendField(Et.Msg.OLED).setCheck("var"),this.jsonInit({message0:Et.Msg.MIXLY_MICROBIT_SHOW_LINE_ARBITRARILY,args0:[{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Et.Msg.MIXLY_OLED_LINE_ARBIT)}},Pr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Et.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},Vr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_MONITOR_GET_SCREEN_IMAGE),this.setInputsInline(!0),this.setOutput(!0,"esp32_image"),this.setTooltip(Et.Msg.MIXLY_ESP32_MONITOR_GET_SCREEN_IMAGE_TOOLTIP)}},yr={init:function(){this.setColour(ir),this.appendValueInput("x").setCheck(Number).appendField(Et.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS)}},Yr={init:function(){this.setColour(ir),this.appendValueInput("x").setCheck(Number).appendField(Et.Msg.MIXLY_ESP32_JS_MONITOR_SET_BLINK_RATE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_JS_MONITOR_SET_BLINK_RATE)}},br={init:function(){this.setColour(ir),this.appendDummyInput("").appendField(Et.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_NUM),this.appendDummyInput("").appendField(Et.Msg.LISTS_SET_INDEX_SET+Et.Msg.MIXLY_MICROBIT_PY_STORAGE_AS).appendField(new Et.FieldColour("#f00",null,nr),"FIELDNAME"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Et.Msg.MIXLY_RGB_NUM_R_G_B)}},kr={init:function(){this.setColour(ir),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(Et.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_OR_ANIMATION),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.OLED_BITMAP_OR_STRING)}},Xr={init:function(){this.setColour(ir),this.appendValueInput("data").setCheck(String).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Gr={init:function(){this.setColour(ir),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(Et.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_OR_ANIMATION),this.appendValueInput("time").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},wr={init:function(){this.setColour(ir),this.appendValueInput("data").setCheck(String).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("time").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},Ur={init:function(){this.setColour(ir),this.appendDummyInput("").appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_ESP32_ON,"ON"],[Et.Msg.MIXLY_ESP32_OFF,"OFF"]]),"ONOFF"),this.setOutput(!0,Boolean),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},xr={init:function(){this.setColour(ir),this.appendValueInput("SUB"),this.appendDummyInput().appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_LCD_STAT_CLEAR,"0"],[Et.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL,"1"]]),"key"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i={0:Et.Msg.MIXLY_LCD_STAT_CLEAR,1:Et.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL};return Et.Msg.MIXLY_DF_LCD+i[e]}))}},Hr={init:function(){this.setColour(ir),this.appendValueInput("I2CSUB").appendField(Et.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_SETUP+Et.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new Et.FieldDropdown([["TM1650","TM1650"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return Et.Msg.MIXLY_ESP32_SENSOR_USE_I2C_TOOLTIP+{TM1650:"TM1650"}[e]}))}},Br={init:function(){this.setColour(ir),this.appendDummyInput().appendField(Et.Msg.MIXLY_4DIGITDISPLAY).appendField(new Et.FieldDropdown([["TM1650","tm1650"]]),"TYPE"),this.appendValueInput("VAR"),this.appendDummyInput().appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_ON,"_on"],[Et.Msg.MIXLY_OFF,"_off"],[Et.Msg.MIXLY_LCD_STAT_CLEAR,"_clear"]]),"STAT"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_4digitdisplay_power)}},Wr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(Et.Msg.MIXLY_4DIGITDISPLAY).appendField(new Et.FieldDropdown([["TM1650","tm1650"]]),"TYPE"),this.appendValueInput("VAR"),this.appendValueInput("VALUE").setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_SHOW_NUMBER),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Kr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(Et.Msg.MIXLY_4DIGITDISPLAY).appendField(new Et.FieldDropdown([["TM1650","tm1650"]]),"TYPE"),this.appendValueInput("VAR"),this.appendValueInput("NO").appendField(Et.Msg.MIXLY_4DIGITDISPLAY_NOMBER1),this.appendValueInput("STAT").appendField(Et.Msg.MIXLY_4DIGITDISPLAY_NOMBER2+Et.Msg.MIXLY_4DIGITDISPLAY_DOT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_4digitdisplay_showDot)}},qr={init:function(){this.setColour(ir),this.setOutput(!0,"Tuple"),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_DISPLAY_ANIMATE).appendField(new Et.FieldDropdown(qr.ANIMATE),"ANIMATION")},ANIMATE:[["ALL_CLOCKS","ALL_CLOCKS"],["ALL_ARROWS","ALL_ARROWS"]]},Qr={init:function(){this.setColour(ir),this.appendValueInput("VAR").appendField(Et.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE).appendField(new Et.FieldDropdown(Qr.STATUS),"OP"),this.jsonInit({message0:Et.Msg.MIXLY_HANBIT_SHOW_CIRCLE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"r"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Et.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE)},STATUS:[[Et.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[Et.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},jr={init:function(){this.setColour(ir),this.appendValueInput("VAR").appendField(Et.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_DISPLAY_DRAW+Et.Msg.MIXLY_HANBIT_DRAW_TRIANGLE).appendField(new Et.FieldDropdown(jr.STATUS),"OP"),this.jsonInit({message0:Et.Msg.MIXLY_HANBIT_SHOW_triangle,args0:[{check:Number,type:"input_value",name:"x0"},{check:Number,type:"input_value",name:"y0"},{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Et.Msg.MIXLY_DISPLAY_DRAW+Et.Msg.MIXLY_HANBIT_DRAW_TRIANGLE)},STATUS:[[Et.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[Et.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},Jr={init:function(){this.setColour("#555555"),this.appendDummyInput("").appendField(Et.Msg.MIXGO_ONBOARDDISPLAY_HELP),this.setInputsInline(!0),this.setTooltip("")}},zr={init:function(){this.setColour(ir),this.appendValueInput("VAR").appendField(Et.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.OLED_BITMAP),this.appendValueInput("START_X",Number).appendField(Et.Msg.OLED_START_X).setCheck(Number),this.appendValueInput("START_Y",Number).appendField(Et.Msg.OLED_START_Y).setCheck(Number),this.appendValueInput("bitmap_name",String).appendField(Et.Msg.OLED_BITMAP_NAME),this.appendValueInput("WIDTH",Number).appendField(Et.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("HEIGHT",Number).appendField(Et.Msg.MIXLY_HEIGHT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.OLED_SHOW_BMP_TOOLTIP)}},Zr={init:function(){this.setColour(ir),this.appendValueInput("VAR").appendField(Et.Msg.OLED),this.appendDummyInput("").appendField(Et.Msg.OLED_DRAWPIXEL),this.appendValueInput("POS_X").appendField(Et.Msg.OLED_POSX),this.appendValueInput("POS_Y").appendField(Et.Msg.OLED_POSY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.OLED_DRAW_PIXE_TOOLTIP)}},$r={init:function(){this.setColour(ir),this.appendValueInput("I2CSUB").appendField(Et.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_SETUP+Et.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new Et.FieldDropdown([["32x12 Matrix","32x12 Matrix"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},td={init:function(){this.setColour(ir),this.appendValueInput("SUB"),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(Et.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.OLED_BITMAP_OR_STRING)}},ed={init:function(){this.setColour(ir),this.appendValueInput("SUB"),this.appendValueInput("data").setCheck(String).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},id="#526FC3",nd={init:function(){this.setColour(id),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_IOT_CONNECT_WIFI),this.appendValueInput("WIFINAME").setCheck(String).appendField(Et.Msg.HTML_NAME),this.appendValueInput("PASSWORD").setCheck(String).appendField(Et.Msg.HTML_PASSWORD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_IOT_WIFI_CONNECT_TOOLTIP)}},sd={init:function(){this.setColour(id),this.appendValueInput("VAR").setCheck("var").appendField("OneNET"+Et.Msg.TUPLE_JOIN),this.appendValueInput("CLIENT").setCheck(String).appendField(Et.Msg.MIXLY_ESP32_ONENET_CLIENT),this.appendValueInput("SERVER").setCheck(String).appendField(Et.Msg.MIXLY_ESP32_ONENET_SERVER),this.appendValueInput("USERNAME").setCheck(String).appendField(Et.Msg.MIXLY_ESP32_ONENET_USERNAME),this.appendValueInput("PASSWORD").setCheck(String).appendField(Et.Msg.MIXLY_ESP32_ONENET_PASSWORD),this.appendValueInput("TOPIC").setCheck(String).appendField(Et.Msg.MIXLY_ESP32_ONENET_TOPIC),this.appendValueInput("SUB").appendField(Et.Msg.MIXLY_ESP32_ONENET_SUB),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_IOT_ONENET_CONNECT_TOOLTIP)}},od={init:function(){this.setColour(id),this.appendValueInput("VAR").setCheck("var").appendField("OneNET"),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_IOT_ONENET_DISCONNECT_TOOLTIP)}},pd={init:function(){this.setColour(id),this.appendValueInput("VAR").setCheck("var").appendField("OneNET"),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_CHECK_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_IOT_ONENET_CHECK_TOOLTIP)}},ud={init:function(){this.setColour(id),this.appendValueInput("VAR").setCheck("var").appendField("OneNET"),this.appendValueInput("DICT").appendField(Et.Msg.MIXLY_ESP32_PUBLISH_ONENET),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_IOT_ONENET_PRINT_DATA).appendField(new Et.FieldCheckbox("TRUE"),"is_print"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_IOT_ONENET_PUBLISH_DICT_TOOLTIP)}},ad={init:function(){this.setColour(id),this.appendValueInput("VAR").setCheck("var").appendField("OneNET").setAlign(Et.inputs.Align.RIGHT),this.appendDummyInput().appendField(new Et.FieldLabel(Et.Msg.MIXLY_ESP32_PUBLISH_ONENET),"TIP").setAlign(Et.inputs.Align.RIGHT),this.itemCount_=2,this.updateShape_(),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Et.icons.MutatorIcon(["iot_publish_item"],this)),this.setTooltip(Et.Msg.MIXLY_ESP32_IOT_ONENET_PUBLISH_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("iot_publish_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Et.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},ld={init:function(){this.setColour(id),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(Et.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},_d={init:function(){this.setColour(id),this.appendDummyInput().appendField(Et.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},rd={init:function(){this.setColour(id),this.appendDummyInput().appendField(Et.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},dd={init:function(){this.setColour(id),this.appendDummyInput().appendField(Et.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").setCheck(String).appendField(Et.Msg.MIXLY_EMQX_SERVER).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(Et.Msg.MIXLY_WIFI_USERNAME).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(Et.Msg.MIXLY_IOT_PASSWORD).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("PROJECT").setCheck(String).appendField(Et.Msg.MIXLY_EMQX_PROJECT).setAlign(Et.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Id={init:function(){this.setColour(id),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(Et.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(Et.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(Et.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},Td={init:function(){this.setColour(id),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(Et.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(Et.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(Et.Msg.HTML_BODY),this.appendDummyInput().appendField(Et.Msg.MIXLY_Service_quality_display).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_AT_MOST_ONCE,"0"],[Et.Msg.MIXLY_AT_LEAST_ONCE,"1"]]),"quality"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},hd={init:function(){this.setColour(id),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(Et.Msg.MIXLY_EMQX_SUBSCRIBE+Et.Msg.MIXLY_MICROBIT_MSG).appendField(Et.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(Et.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_IOT_EMQX_SUBSCRIBE_TOOLTIP)}},md={init:function(){this.setColour(id),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Od={init:function(){this.setColour(id),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Et.Msg.MIXLY_EMQX_CONNECT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},cd={init:function(){this.setColour(id),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_CHECK_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Rd={init:function(){this.setColour(id),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(Et.Msg.MQTT_Topic),this.setInputsInline(!0),this.setOutput(!0)}},Md={init:function(){this.setColour(id),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(Et.Msg.MIXLY_EMQX_PUBLISH_MSG),this.setInputsInline(!0),this.setOutput(!0)}},Ed={init:function(){this.setColour(id),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_ESP32_IOT_MAP_FORMATING),this.setOutput(!0)}},Cd={init:function(){this.setColour(id),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_MICROPYTHON_FORMAT+"(Json)"),this.setOutput(!0)}},Ad={init:function(){this.setColour(id),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Et.Msg.MIXLY_EMQX_PING),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_IOT_EMQX_PING_TOOLTIP)}},gd={init:function(){this.setColour(id),this.appendDummyInput().appendField("MixIO").appendField(Et.Msg.MIXLY_GET_NTP),this.appendValueInput("addr").appendField(Et.Msg.blynk_SERVER_ADD),this.setInputsInline(!0),this.setOutput(!0)}},Sd={init:function(){this.setColour(id),this.appendDummyInput().appendField(Et.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(Et.Msg.MIXLY_EMQX_SERVER).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(Et.Msg.CONTROLS_FOR_INPUT_WITH+Et.Msg.MIXLY_MIXIO_SHARE_KEY).setAlign(Et.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Dd={init:function(){this.setColour(id),this.appendDummyInput().appendField(Et.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(Et.Msg.MIXLY_EMQX_SERVER).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(Et.Msg.CONTROLS_FOR_INPUT_WITH+"Mixly Key").setAlign(Et.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ld={init:function(){this.VISITOR_ID=Ct.Config.BOARD.visitorId.str32.substring(0,8).toUpperCase(),this.setColour(id),this.appendDummyInput("").appendField(new Et.FieldTextInput(this.visitorId),"VISITOR_ID"),this.setOutput(!0,null)},onchange:function(){const t=this.getFieldValue("VISITOR_ID");this.VISITOR_ID!==t&&this.setFieldValue(this.VISITOR_ID,"VISITOR_ID")}},Nd={init:function(){this.setColour(id),this.appendDummyInput().appendField("MixIO").appendField(Et.Msg.MSG.catEthernet_clinet),this.setOutput(!0),this.setInputsInline(!0)}},fd={init:function(){this.setColour(id),this.appendDummyInput().appendField("HTTP"+Et.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(Et.Msg.DISPLAY_IMAGE_LET2),this.appendDummyInput().appendField(Et.Msg.MIXLY_REQUESTS_GET).appendField(Et.Msg.MIXLY_GET_CURRENT_TIME).appendField(Et.Msg.MIXLY_OPEN_DEBUG).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Et.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Fd={init:function(){this.setColour(id),this.appendDummyInput().appendField("HTTP"+Et.Msg.MIXLY_Client).appendField(Et.Msg.MIXLY_GET).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_REQUESTS_LEN,"client_len"],[Et.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[Et.Msg.MIXLY_REQUESTS_MESSAGE,"text"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},vd={init:function(){this.setColour(id),this.appendDummyInput().appendField("MQTT"+Et.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(Et.Msg.MIXLY_CONNECTTO),this.appendDummyInput().appendField(Et.Msg.MIXLY_INIT_SUBSCRIBE).appendField(Et.Msg.MQTT_Topic).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_GET_CURRENT_TIME,""]]),"key").appendField(Et.Msg.MIXLY_OPEN_DEBUG).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Et.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Pd={init:function(){this.setColour(id),this.appendDummyInput().appendField("MQTT"+Et.Msg.MIXLY_Client).appendField(Et.Msg.MIXLY_GET).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_REQUESTS_LEN,"client_len"],[Et.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[Et.Msg.MIXLY_REQUESTS_MESSAGE,"time_msg()"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},Vd=nd,yd=sd,Yd=od,bd=pd,kd=ad,Xd={init:function(){this.setColour(id),this.appendDummyInput().appendField(Et.Msg.MIXLY_CONNECT_OLLAMA),this.appendValueInput("SERVER").appendField(Et.Msg.MIXLY_EMQX_SERVER).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(Et.Msg.MODEL_NAME).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(Et.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Gd=Xd,wd={init:function(){this.setColour(id),this.appendDummyInput().appendField(Et.Msg.MIXLY_CONNECT_OPENAI),this.appendValueInput("SERVER").appendField(Et.Msg.MIXLY_EMQX_SERVER).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(Et.Msg.MIXLY_API_PRIVATE_KEY).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(Et.Msg.MODEL_NAME).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(Et.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ud={init:function(){this.setColour(id),this.appendDummyInput().appendField(Et.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(Et.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendValueInput("METHOD").appendField(Et.Msg.MIXLY_LLM_CONTENT_CALLBACK),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},xd={init:function(){this.setColour(id),this.appendDummyInput().appendField(Et.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(Et.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendDummyInput().appendField(Et.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0)}},Hd={init:function(){this.setColour(id),this.appendDummyInput().appendField("Ollama "+Et.Msg.MIXLY_EMPTY_HISTORY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Bd={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${Et.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("ADDR").setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_EMQX_SERVER),this.appendValueInput("USERNAME").setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_EMQX_USERNAME),this.appendValueInput("PASSWORD").setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_IOT_PASSWORD),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Wd={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${Et.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("MQTT").setAlign(Et.inputs.Align.RIGHT).appendField(`MixIO ${Et.Msg.MIXLY_Client}`),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Kd={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_TINY_WEB_DB_UPDATE_VARIABLE),this.appendValueInput("VALUE").setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},qd={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(Et.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLE),this.appendDummyInput().appendField(Et.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setOutput(!0)}},Qd={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendDummyInput().appendField(Et.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_NUM),this.setInputsInline(!0),this.setOutput(!0)}},jd={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB").appendField(Et.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARIABLES),this.appendValueInput("NO").setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_TINY_WEB_DB_START_NUMBER),this.appendValueInput("COUNT").setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_TINY_WEB_DB_VARIABLE_NUMBER),this.appendValueInput("TAG").setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARS),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_ALL,"both"],[Et.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_TAG,"tag"],[Et.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_VALUE,"value"]]),"DTYPE"),this.setInputsInline(!1),this.setOutput(!0)}},Jd={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(Et.Msg.MIXLY_TINY_WEB_DB_DELETE_VARIABLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},zd=225,Zd={init:function(){this.setColour(zd),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_NETWORK_INIT),this.appendDummyInput().appendField(Et.Msg.MIXLY_NETWORK_MODE).appendField(new Et.FieldDropdown([["STA","STA"],["AP","AP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_INIT_TOOLTIP)}},$d={init:function(){this.setColour(zd),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_NETWORK_WIFI_OPEN,"True"],[Et.Msg.MIXLY_NETWORK_WIFI_CLOSE,"False"]]),"op"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_NETWORK_WIFI_FLAG),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("op"),i=Et.Msg.MIXLY_ESP32_NETWORK_OPEN_TOOLTIP;return{True:Et.Msg.MIXLY_NETWORK_WIFI_OPEN,False:Et.Msg.MIXLY_NETWORK_WIFI_CLOSE}[e]+i}))}},tI={init:function(){this.setColour(zd),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE)}},eI={init:function(){this.setColour(zd),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_NETWORK_WIFI_SCAN),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip((function(){return Et.Msg.MIXLY_ESP32_NETWORK_SCAN_TOOLTIP+{0:"ssid",1:"bssid",2:"channel",3:"RSSI",4:"authmode",5:"hidden",all:Et.Msg.MIXLY_NETWORK_WIFI_SCAN_ATTRIBUTE}.all}))}},iI={init:function(){this.setColour(zd),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_ESP32_NETWORK_CONNECT),this.appendValueInput("id").setCheck(String).appendField(Et.Msg.HTML_NAME),this.appendValueInput("password").setCheck(String).appendField(Et.Msg.HTML_PASSWORD),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_CONNECT_TOOLTIP)}},nI={init:function(){this.setColour(zd),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_NETWORK_WIFI_CONNECT+Et.Msg.MIXLY_SYMBOL_QUESTION),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_WIFI_CONNECT_TOOLTIP)}},sI={init:function(){this.setColour(zd),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput("").appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_ESP32_NETWORK_IP,"0"],[Et.Msg.MIXLY_ESP32_NETWORK_MASK,"1"],[Et.Msg.MIXLY_ESP32_NETWORK_GATEWAY,"2"],["DNS","3"]]),"mode"),this.setOutput(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return Et.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP+{0:Et.Msg.MIXLY_ESP32_NETWORK_IP,1:Et.Msg.MIXLY_ESP32_NETWORK_MASK,2:Et.Msg.MIXLY_ESP32_NETWORK_GATEWAY,3:"DNS"}[e]}))}},oI={init:function(){this.setColour(zd),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_ESP32_NETWORK_STOP_CONNECT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_STOP_TOOLTIP)}},pI={init:function(){this.setColour(zd),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput().appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_NETWORK_WIFI_ESSID,"essid"],[Et.Msg.MIXLY_NETWORK_WIFI_CHANNEL,"channel"]]),"op"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP)}},uI={init:function(){this.setColour(zd),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.LISTS_SET_INDEX_SET+Et.Msg.MIXLY_HOTSPOT),this.appendValueInput("essid").setCheck(String).appendField(Et.Msg.MIXLY_NAME),this.appendValueInput("password").setCheck(String).appendField(Et.Msg.MIXLY_EMQX_PASSWORD),this.appendValueInput("channel").setCheck(Number).appendField(Et.Msg.MIXLY_NETWORK_WIFI_CHANNEL),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_AP_CONNECT_TOOLTIP)}},aI={init:function(){this.setColour(zd),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_ESP32_NETWORK_SERVER1),this.appendDummyInput("").appendField(Et.Msg.MIXLY_ESP32_NETWORK_SERVER2),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},lI={init:function(){this.setColour(zd),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_INIT).setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new Et.FieldDropdown([["TCP","TCP"],["UDP","UDP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return Et.Msg.MIXLY_ESP32_NETWORK_SOCKET_INIT_TOOLTIP+{TCP:"TCP",UDP:"UDP"}[e]}))}},_I={init:function(){this.setColour(zd),this.appendValueInput("VAR").setCheck("var").appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_BIND_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_SOCKET_BIND_TOOLTIP)}},rI={init:function(){this.setColour(zd),this.appendValueInput("VAR").setCheck("var").appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_CONNECT_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_SOCKET_CONNECT_TOOLTIP)}},dI={init:function(){this.setColour(zd),this.appendValueInput("VAR").setCheck("var"),this.appendValueInput("queue").setCheck(Number).appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_LISTEN).appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_QUEUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_SOCKET_LISTEN_TOOLTIP)}},II={init:function(){this.setColour(zd),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_ACCEPT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_SOCKET_ACCEPT_TOOLTIP)}},TI={init:function(){this.setColour(zd),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE_TOOLTIP)}},hI={init:function(){this.setColour(zd),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("size").setCheck(Number).appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_TOOLTIP)}},mI={init:function(){this.setColour(zd),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("content").appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TOOLTIP)}},OI={init:function(){this.setColour(zd),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("size").setCheck(Number).appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_FROM_TOOLTIP)}},cI={init:function(){this.setColour(zd),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("content").appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.appendValueInput("address").appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_TO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TO_TOOLTIP)}},RI={init:function(){this.setColour(zd),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_CLOSE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},MI={init:function(){this.setColour(zd),this.appendValueInput("DOMAIN").appendField(Et.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(Et.Msg.blockpy_REQUESTS_GET).appendField(new Et.FieldTextInput("response"),"VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.blockpy_REQUESTS_GET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Et.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},EI={init:function(){this.appendValueInput("VAL"),this.setColour(zd),this.appendDummyInput("").appendField(Et.Msg.MIXLY_MICROBIT_JS_GET).appendField(new Et.FieldDropdown(EI.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{clear:Et.Msg.MIXLY_TOOLTIP_TURTEL_CLEAR,reset:Et.Msg.MIXLY_TOOLTIP_TURTEL_RESET,home:Et.Msg.MIXLY_TOOLTIP_TURTEL_HOME}[e]}))},ATTR:[[Et.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[Et.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[Et.Msg.blockpy_REQUESTS_GET_ATTR_COOKIES,"cookies"],[Et.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"]]},CI={init:function(){this.appendValueInput("VAR").appendField(Et.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.setColour(zd),this.appendDummyInput("").appendField(Et.Msg.blockpy_CONDUCT).appendField(new Et.FieldDropdown(CI.METHOD),"DIR"),this.appendDummyInput("").appendField(Et.Msg.blockpy_REQUESTS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{forward:Et.Msg.MIXLY_TOOLTIP_TURTEL_FORWARD,backward:Et.Msg.MIXLY_TOOLTIP_TURTEL_BACKWARD}[e]}))},METHOD:[["post","post"],["put","put"],["delete","delete"],["head","head"],["option","option"]]},AI={init:function(){this.setColour(zd),this.appendDummyInput("").appendField(Et.Msg.MIXLY_GET_NTP+"(NTP)"),this.appendValueInput("data").appendField(Et.Msg.blynk_SERVER_ADD),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},gI={init:function(){this.setColour(zd),this.appendDummyInput("").appendField(new Et.FieldDropdown([["ntp.aliyun.com","ntp.aliyun.com"],["ntp1.aliyun.com","ntp1.aliyun.com"],["ntp2.aliyun.com","ntp2.aliyun.com"],["ntp3.aliyun.com","ntp3.aliyun.com"],["ntp4.aliyun.com","ntp4.aliyun.com"],["ntp5.aliyun.com","ntp5.aliyun.com"],["ntp6.aliyun.com","ntp6.aliyun.com"],["ntp7.aliyun.com","ntp7.aliyun.com"],["time1.cloud.tencent.com","time1.cloud.tencent.com"],["time2.cloud.tencent.com","time2.cloud.tencent.com"],["time3.cloud.tencent.com","time3.cloud.tencent.com"],["time4.cloud.tencent.com","time4.cloud.tencent.com"],["time5.cloud.tencent.com","time5.cloud.tencent.com"]]),"op"),this.setOutput(!0)}},SI="#3288dd",DI={init:function(){this.setColour(SI),this.appendValueInput("URL").appendField(Et.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(Et.Msg.blockpy_CONDUCT).appendField(new Et.FieldDropdown([["get","get"],["head","head"],["delete","delete"]]),"TYPE").appendField(Et.Msg.blockpy_REQUESTS).appendField(Et.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},LI={init:function(){this.setColour(SI),this.appendValueInput("URL").appendField(Et.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(Et.Msg.blockpy_CONDUCT).appendField(new Et.FieldDropdown([["post","post"],["put","put"],["patch","patch"]]),"TYPE").appendField(Et.Msg.blockpy_REQUESTS),this.appendValueInput("data").appendField(Et.Msg.blockpy_REQUESTS+Et.Msg.OLED_STRING),this.appendDummyInput("").appendField(Et.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},NI={init:function(){this.appendValueInput("VAL"),this.setColour(SI),this.appendDummyInput("").appendField(Et.Msg.MIXLY_MICROBIT_JS_GET).appendField(new Et.FieldDropdown(NI.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String)},ATTR:[[Et.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[Et.Msg.blockpy_REQUESTS_GET_ATTR_JSON,"json()"],[Et.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[Et.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"],[Et.Msg.MIXPY_TEXT_ENCODE,"encoding"]]},fI={init:function(){this.setColour(SI),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_IOT_CONNECT_WIFI),this.appendValueInput("WIFINAME").setCheck(String).appendField(Et.Msg.HTML_NAME),this.appendValueInput("PASSWORD").setCheck(String).appendField(Et.Msg.HTML_PASSWORD),this.appendValueInput("TIMEOUT").setCheck(Number).appendField(Et.Msg.MIXLY_IR_TIMEOUT),this.appendDummyInput().appendField(Et.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_IOT_WIFI_CONNECT_TOOLTIP)}},FI={init:function(){this.setColour(SI),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_IOT_EMQX_CONNECT_TOOLTIP),this.appendValueInput("SERVER").setCheck(String).appendField(Et.Msg.MIXLY_EMQX_SERVER).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("PORT").setCheck(Number).appendField(Et.Msg.MIXLY_EMQX_PORT).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("CLIENT_ID").setCheck(String).appendField(Et.Msg.MIXLY_EMQX_CLIENT_ID).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(Et.Msg.MIXLY_WIFI_USERNAME).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(Et.Msg.MIXLY_IOT_PASSWORD).setAlign(Et.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},vI={init:function(){this.setColour(SI),this.appendValueInput("TOPIC").appendField(Et.Msg.MIXLY_EMQX_SUBSCRIBE+Et.Msg.MIXLY_MICROBIT_MSG).appendField(Et.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MESSAGE").appendField(Et.Msg.blockpy_set_of),this.setInputsInline(!0),this.setOutput(!0)}},PI={init:function(){this.setColour(SI),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(Et.Msg.MIXLY_EMQX_SUBSCRIBE+Et.Msg.MIXLY_MICROBIT_MSG).appendField(Et.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(Et.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},VI={init:function(){this.setColour(SI),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(Et.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(Et.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(Et.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},yI={init:function(){this.setColour(SI),this.appendDummyInput().appendField("mqtt"+Et.Msg.MIXLY_EMQX_IS_CONNECT),this.setInputsInline(!0),this.setOutput(!0)}},YI="#A58C5B",bI={init:function(){this.setColour(YI),this.appendValueInput("PIN",Number).appendField(new Et.FieldDropdown([["DHT11","DHT11"],["DHT22","DHT22"]]),"TYPE").appendField(Et.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(new Et.FieldDropdown(bI.METHOD),"WHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("WHAT");return{temperature:Et.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM,relative_humidity:Et.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_HUM,tempandhum:Et.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM_HUM}[e]}))},METHOD:[[Et.Msg.MIXLY_GETTEMPERATUE,"temperature"],[Et.Msg.MIXLY_GETHUMIDITY,"humidity"]]},kI=(Et.Msg.PS2_TRIANGLE,Et.Msg.PS2_CIRCLE,Et.Msg.PS2_CROSS,Et.Msg.PS2_SQUARE,Et.Msg.PS2_L1,Et.Msg.PS2_L2,Et.Msg.PS2_R1,Et.Msg.PS2_R2,Et.Msg.PS2_UP,Et.Msg.PS2_RIGHT,Et.Msg.PS2_DOWN,Et.Msg.PS2_LEFT,Et.Msg.PS2_SELECT,Et.Msg.PS2_START,{init:function(){this.setColour(YI),this.appendDummyInput("").appendField(Et.Msg.PS2_stick).appendField(new Et.FieldDropdown(kI.PSSTK),"psstk"),this.setOutput(!0,Number),this.setTooltip("")},PSSTK:[[Et.Msg.PS2_RX,"0"],[Et.Msg.PS2_RY,"1"],[Et.Msg.PS2_LX,"2"],[Et.Msg.PS2_LY,"3"]]}),XI={init:function(){this.setColour(YI),this.appendValueInput("SUB").appendField(Et.Msg.PS2),this.appendDummyInput("").appendField(Et.Msg.MIXLY_JOYSTICK).appendField(new Et.FieldDropdown(XI.PSSTK),"psstk"),this.setOutput(!0,Number),this.setTooltip("")},PSSTK:[[Et.Msg.PS2_RX,"RX"],[Et.Msg.PS2_RY,"RY"],[Et.Msg.PS2_LX,"LX"],[Et.Msg.PS2_LY,"LY"]]},GI=40,wI={init:function(){this.setColour(GI),this.appendValueInput("PIN",Number).appendField(new Et.FieldDropdown([["DHT11","dht11"],["DHT22","dht22"]]),"TYPE").appendField(Et.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(new Et.FieldDropdown(wI.METHOD),"WHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("WHAT");return{temperature:Et.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM,relative_humidity:Et.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_HUM,tempandhum:Et.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM_HUM}[e]}))},METHOD:[[Et.Msg.MIXLY_GETTEMPERATUE,"temperature"],[Et.Msg.MIXLY_GETHUMIDITY,"relative_humidity"],[Et.Msg.MIXLY_DHT11_T_H,"tempandhum"]]},UI=function(t,e){e.definitions_.import_music="import music";var i=e.valueToCode(this,"pitch",e.ORDER_ATOMIC);return"music.pitch("+e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+", "+i+")\n"},xI=function(t,e){e.definitions_.import_music="import music";var i=e.valueToCode(this,"pitch",e.ORDER_ATOMIC),n=e.valueToCode(this,"time",e.ORDER_ATOMIC);return"music.pitch_time("+e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+", "+i+", "+n+")\n"},HI=function(t,e){return e.definitions_.import_music="import music","music.stop("+e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+")\n"},BI=function(t,e){e.definitions_.import_music="import music";var i=e.valueToCode(this,"BPM",e.ORDER_ASSIGNMENT);return"music.set_tempo("+e.valueToCode(this,"TICKS",e.ORDER_ASSIGNMENT)+", "+i+")\n"},WI=function(t,e){e.definitions_.import_music="import music";return["music.get_tempo()",e.ORDER_ATOMIC]},KI=function(t,e){return e.definitions_.import_music="import music","music.pitch("+e.valueToCode(this,"pitch",e.ORDER_ATOMIC)+")\n"},qI=function(t,e){return e.definitions_.import_music="import music","music.pitch_time("+e.valueToCode(this,"pitch",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"time",e.ORDER_ATOMIC)+")\n"},QI=function(t,e){e.definitions_.import_music="import music";return"music.stop()\n"},jI=function(t,e){return e.definitions_.import_music="import music","music.play("+e.valueToCode(this,"LIST",e.ORDER_ASSIGNMENT)+")\n"},JI=function(t,e){return e.definitions_.import_music="import music","music.play("+e.valueToCode(this,"LIST",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"PIN",e.ORDER_ASSIGNMENT)+")\n"},zI=function(t,e){return e.definitions_.import_music="import music",e.definitions_.import_matrix="import matrix","music.play_show("+e.valueToCode(this,"LIST",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"PIN",e.ORDER_ASSIGNMENT)+")\n"},ZI=function(t,e){return e.definitions_.import_music="import music","music.reset()\n"},$I=function(t,e){return e.definitions_.import_servo="import servo",e.definitions_.import_machine="import machine","servo.servo_write_angle("+e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"DEGREE",e.ORDER_ATOMIC)+")\n"},tT=function(t,e){return[this.getFieldValue("op"),e.ORDER_ATOMIC]},eT=function(t,e){return[this.getFieldValue("flag"),e.ORDER_ATOMIC]},iT=function(t,e){e.definitions_.import_mixgo="import mixgo";var i=e.valueToCode(this,"bright",e.ORDER_ATOMIC);return"mixgo.led("+e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+").setonoff("+i+")\n"},nT=function(t,e){return e.definitions_.import_mixgo="import mixgo",["mixgo.led("+e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+").getonoff()",e.ORDER_ATOMIC]},sT=function(t,e){return e.definitions_.import_mixgo="import mixgo","mixgo.led("+e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+").setbrightness("+e.valueToCode(this,"bright",e.ORDER_ATOMIC)+")\n"},oT=function(t,e){return e.definitions_.import_mixgo="import mixgo","mixgo.led"+e.valueToCode(this,"led",e.ORDER_ATOMIC)+".setonoff("+e.valueToCode(this,"bright",e.ORDER_ATOMIC)+")\n"},pT=function(t,e){return e.definitions_.import_mixgo="import mixgo",["mixgo.led"+e.valueToCode(this,"led",e.ORDER_ATOMIC)+".getonoff()",e.ORDER_ATOMIC]},uT=function(t,e){return e.definitions_.import_mixgo="import mixgo","mixgo.led"+e.valueToCode(this,"led",e.ORDER_ATOMIC)+".setbrightness("+e.valueToCode(this,"bright",e.ORDER_ATOMIC)+")\n"},aT=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),s=e.valueToCode(this,"LEDCOUNT",e.ORDER_ATOMIC);return e.definitions_.import_machine="import machine",e.definitions_.import_neopixel="import neopixel",i+" = neopixel.NeoPixel(machine.Pin("+n+"), "+s+", timing=True)\n"},lT=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_neopixel="import neopixel",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".write()\n"},_T=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_neopixel="import neopixel",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"["+e.valueToCode(this,"_LED_",e.ORDER_ATOMIC)+"] = ("+e.valueToCode(this,"RVALUE",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"GVALUE",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"BVALUE",e.ORDER_ATOMIC)+")\n"},rT=function(t,e){e.definitions_.import_mixgo="import mixgo";return"mixgo.rgb.write()\n"},dT=function(t,e){return e.definitions_.import_mixgo="import mixgo","mixgo.rgb["+e.valueToCode(this,"_LED_",e.ORDER_ATOMIC)+"] = ("+e.valueToCode(this,"RVALUE",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"GVALUE",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"BVALUE",e.ORDER_ATOMIC)+")\n"},IT=function(t,e){return e.definitions_.import_mixgo="import mixgo","mixgo.rgb.fill(("+e.valueToCode(this,"RVALUE",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"GVALUE",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"BVALUE",e.ORDER_ATOMIC)+"))\n"},TT=oT,hT=pT,mT=uT,OT=function(t,e){var i=e.valueToCode(this,"virtual_pin",e.ORDER_ATOMIC);e.functions_["terminal_widget_vpin_"+i]=`\nALLOWED_COMMANDS_LIST = ['ls', 'lsusb', 'ip a', 'ip abc']\n\n@blynk.handle_event('write V${i}')\ndef write_handler(pin, _values):\n header = ''\n result = ''\n delimiter = '{}\\n'.format('=' * 30)\n if _values and _values[0] in ALLOWED_COMMANDS_LIST:\n cmd_params = _values[0].split(' ')\n try:\n result = subprocess.check_output(cmd_params).decode('utf-8')\n header = '[output]\\n'\n except subprocess.CalledProcessError as exe_err:\n header = '[error]\\n'\n result = 'Return Code: {}\\n'.format(exe_err.returncode)\n except Exception as g_err:\n print("Command caused '{}'".format(g_err))\n elif _values and _values[0] == 'help':\n header = '[help -> allowed commands]\\n'\n result = '{}\\n'.format('\\n'.join(ALLOWED_COMMANDS_LIST))\n\n # communicate with terminal if help or some allowed command\n if result:\n output = '{}{}{}{}'.format(header, delimiter, result, delimiter)\n print(output)\n blynk.virtual_write(pin, output)\n blynk.virtual_write(pin, '\\n')\n`;return""},cT=function(t,e){return"blynk.virtual_sync("+e.valueToCode(this,"virtual_pin",e.ORDER_ATOMIC)+")\n"},RT=function(t,e){var i=e.statementToCode(this,"DO");return i=e.addLoopTrap(i,this.id)||e.PASS,e.definitions_.blynk_on_disconnected="@blynk.handle_event(\"disconnect\")\ndef connect_handler():\n print('Blynk disconnected')\n"+i,""},MT=function(t,e){var i=e.statementToCode(this,"DO");return i=e.addLoopTrap(i,this.id)||e.PASS,e.definitions_.blynk_on_connected="@blynk.handle_event(\"connect\")\ndef connect_handler():\n print('Blynk connected')\n"+i,""},ET=function(){return"blynk_timer.run()\n"},CT=function(){return"blynk.run()\n"},AT=function(t,e){return"blynk.notify("+e.valueToCode(this,"notification",e.ORDER_ATOMIC)+")\n"},gT=function(t,e){e.definitions_.import_blynktimer="import blynktimer",e.definitions_.def_blynktimer="blynk_timer = blynktimer.Timer(no_timers_err=False)";var i=e.valueToCode(this,"timer_num",e.ORDER_ATOMIC);return`blynk_timer.stop('${i}_blynk_timer${i}')\n`},ST=function(t,e){e.definitions_.import_blynktimer="import blynktimer",e.definitions_.def_blynktimer="blynk_timer = blynktimer.Timer(no_timers_err=False)";return["blynk_timer.get_timers()",e.ORDER_ATOMIC]},DT=function(t,e){e.definitions_.import_blynktimer="import blynktimer";var i=e.valueToCode(this,"Num",e.ORDER_ATOMIC),n=e.valueToCode(this,"period",e.ORDER_ATOMIC),s=this.getFieldValue("Timer_mode"),o=e.statementToCode(this,"DO");return o=e.addLoopTrap(o,this.id)||e.PASS,e.definitions_.def_blynktimer="blynk_timer = blynktimer.Timer(no_timers_err=False)",e.definitions_["blynktimer_event"+i]=`\n@blynk_timer.register(interval=${n}, run_once=${s})\ndef blynk_timer${i}():\n`+o,""},LT=function(t,e){var i=e.valueToCode(this,"sensor_data",e.ORDER_ATOMIC);return"blynk.virtual_write("+e.valueToCode(this,"virtual_pin",e.ORDER_ATOMIC)+", "+i+")\n"},NT=function(t,e){var i=e.valueToCode(this,"virtual_pin",e.ORDER_ATOMIC),n=e.statementToCode(this,"DO");return n=e.addLoopTrap(n,this.id)||e.PASS,e.definitions_["blynk_VIRTUAL_WRITE_"+i]="@blynk.handle_event('write V"+i+"')\ndef write_virtual_pin_handler(pin, _value):\n for i in range(0, len(_value)):\n try: _value[i] = eval(_value[i])\n except: pass\n if len(_value) == 1: _value = _value[0]\n"+n,""},fT=function(t,e){var i=e.valueToCode(this,"body",e.ORDER_ATOMIC),n=e.valueToCode(this,"subject",e.ORDER_ATOMIC);return`blynk.email(${e.valueToCode(this,"TargetEmail",e.ORDER_ATOMIC)}, ${n}, ${i})\n`},FT=function(t,e){var i=e.valueToCode(this,"attribute_value",e.ORDER_ATOMIC);return`blynk.set_property(pin, ${e.valueToCode(this,"attribute_name",e.ORDER_ATOMIC)}, ${i})\n`},vT=function(t,e){e.definitions_.import_BlynkLib="import blynklib";var i=e.valueToCode(this,"server",e.ORDER_ATOMIC),n=e.valueToCode(this,"auth",e.ORDER_ATOMIC),s=e.valueToCode(this,"port",e.ORDER_ATOMIC);return e.definitions_.mpython_blynk_setup="blynk = blynklib.Blynk("+n+", server="+i+", port="+s+")",e.definitions_.blynk_on_connected="\n@blynk.handle_event(\"connect\")\ndef connect_handler():\n print('Blynk connected')\n",e.definitions_.blynk_on_disconnected="\n@blynk.handle_event(\"disconnect\")\ndef connect_handler():\n print('Blynk disconnected')\n",""};const PT=function(t,e){return e.definitions_.import_matrix="import matrix","matrix.show("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},VT=function(t,e){return e.definitions_.import_matrix="import matrix","matrix.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},yT=function(t,e){return e.definitions_.import_matrix="import matrix","matrix.showstatic("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},YT=function(t,e){return e.definitions_.import_matrix="import matrix","matrix.show("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},bT=function(t,e){return e.definitions_.import_matrix="import matrix","matrix.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},kT=function(t,e){e.definitions_.import_matrix="import matrix";var i={"#000000":"0","#ff0000":"1"};return['matrix.Image("'+i[t.getFieldValue("00")]+i[t.getFieldValue("01")]+i[t.getFieldValue("02")]+i[t.getFieldValue("03")]+i[t.getFieldValue("04")]+i[t.getFieldValue("05")]+i[t.getFieldValue("06")]+i[t.getFieldValue("07")]+i[t.getFieldValue("08")]+i[t.getFieldValue("09")]+i[t.getFieldValue("0a")]+i[t.getFieldValue("0b")]+i[t.getFieldValue("0c")]+i[t.getFieldValue("0d")]+i[t.getFieldValue("0e")]+i[t.getFieldValue("0f")]+":"+i[t.getFieldValue("10")]+i[t.getFieldValue("11")]+i[t.getFieldValue("12")]+i[t.getFieldValue("13")]+i[t.getFieldValue("14")]+i[t.getFieldValue("15")]+i[t.getFieldValue("16")]+i[t.getFieldValue("17")]+i[t.getFieldValue("18")]+i[t.getFieldValue("19")]+i[t.getFieldValue("1a")]+i[t.getFieldValue("1b")]+i[t.getFieldValue("1c")]+i[t.getFieldValue("1d")]+i[t.getFieldValue("1e")]+i[t.getFieldValue("1f")]+":"+i[t.getFieldValue("20")]+i[t.getFieldValue("21")]+i[t.getFieldValue("22")]+i[t.getFieldValue("23")]+i[t.getFieldValue("24")]+i[t.getFieldValue("25")]+i[t.getFieldValue("26")]+i[t.getFieldValue("27")]+i[t.getFieldValue("28")]+i[t.getFieldValue("29")]+i[t.getFieldValue("2a")]+i[t.getFieldValue("2b")]+i[t.getFieldValue("2c")]+i[t.getFieldValue("2d")]+i[t.getFieldValue("2e")]+i[t.getFieldValue("2f")]+":"+i[t.getFieldValue("30")]+i[t.getFieldValue("31")]+i[t.getFieldValue("32")]+i[t.getFieldValue("33")]+i[t.getFieldValue("34")]+i[t.getFieldValue("35")]+i[t.getFieldValue("36")]+i[t.getFieldValue("37")]+i[t.getFieldValue("38")]+i[t.getFieldValue("39")]+i[t.getFieldValue("3a")]+i[t.getFieldValue("3b")]+i[t.getFieldValue("3c")]+i[t.getFieldValue("3d")]+i[t.getFieldValue("3e")]+i[t.getFieldValue("3f")]+":"+i[t.getFieldValue("40")]+i[t.getFieldValue("41")]+i[t.getFieldValue("42")]+i[t.getFieldValue("43")]+i[t.getFieldValue("44")]+i[t.getFieldValue("45")]+i[t.getFieldValue("46")]+i[t.getFieldValue("47")]+i[t.getFieldValue("48")]+i[t.getFieldValue("49")]+i[t.getFieldValue("4a")]+i[t.getFieldValue("4b")]+i[t.getFieldValue("4c")]+i[t.getFieldValue("4d")]+i[t.getFieldValue("4e")]+i[t.getFieldValue("4f")]+":"+i[t.getFieldValue("50")]+i[t.getFieldValue("51")]+i[t.getFieldValue("52")]+i[t.getFieldValue("53")]+i[t.getFieldValue("54")]+i[t.getFieldValue("55")]+i[t.getFieldValue("56")]+i[t.getFieldValue("57")]+i[t.getFieldValue("58")]+i[t.getFieldValue("59")]+i[t.getFieldValue("5a")]+i[t.getFieldValue("5b")]+i[t.getFieldValue("5c")]+i[t.getFieldValue("5d")]+i[t.getFieldValue("5e")]+i[t.getFieldValue("5f")]+":"+i[t.getFieldValue("60")]+i[t.getFieldValue("61")]+i[t.getFieldValue("62")]+i[t.getFieldValue("63")]+i[t.getFieldValue("64")]+i[t.getFieldValue("65")]+i[t.getFieldValue("66")]+i[t.getFieldValue("67")]+i[t.getFieldValue("68")]+i[t.getFieldValue("69")]+i[t.getFieldValue("6a")]+i[t.getFieldValue("6b")]+i[t.getFieldValue("6c")]+i[t.getFieldValue("6d")]+i[t.getFieldValue("6e")]+i[t.getFieldValue("6f")]+":"+i[t.getFieldValue("70")]+i[t.getFieldValue("71")]+i[t.getFieldValue("72")]+i[t.getFieldValue("73")]+i[t.getFieldValue("74")]+i[t.getFieldValue("75")]+i[t.getFieldValue("76")]+i[t.getFieldValue("77")]+i[t.getFieldValue("78")]+i[t.getFieldValue("79")]+i[t.getFieldValue("7a")]+i[t.getFieldValue("7b")]+i[t.getFieldValue("7c")]+i[t.getFieldValue("7d")]+i[t.getFieldValue("7e")]+i[t.getFieldValue("7f")]+'")',e.ORDER_ATOMIC]},XT=function(t,e){return e.definitions_.import_matrix="import matrix",["matrix.Image."+t.getFieldValue("image"),e.ORDER_ATOMIC]},GT=function(t,e){return e.definitions_.import_matrix="import matrix",["matrix.get_pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},wT=function(t,e){return e.definitions_.import_matrix="import matrix","matrix.set_pixel(int("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+"), int("+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+"), "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"},UT=function(t,e){e.definitions_.import_matrix="import matrix";return["matrix.get_brightness()",e.ORDER_ATOMIC]},xT=function(t,e){e.definitions_.import_matrix="import matrix";return["matrix.get_screenimage()",e.ORDER_ATOMIC]},HT=function(t,e){return e.definitions_.import_matrix="import matrix","matrix.set_brightness("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+")\n"},BT=function(t,e){return e.definitions_.import_matrix="import matrix","matrix.blink_rate("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+")\n"},WT=function(t,e){e.definitions_.import_matrix="import matrix";return"matrix.clear()\n"},KT=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC);return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = ssd1306.SSD1306_I2C("+e.valueToCode(this,"row",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"column",e.ORDER_ATOMIC)+", "+i+")\n"},qT=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_str("+(e.valueToCode(this,"Text_line1",e.ORDER_ASSIGNMENT)||"''")+", "+(e.valueToCode(this,"Text_line2",e.ORDER_ASSIGNMENT)||"''")+", "+(e.valueToCode(this,"Text_line3",e.ORDER_ASSIGNMENT)||"''")+", "+(e.valueToCode(this,"Text_line4",e.ORDER_ASSIGNMENT)||"''")+")\n"},QT=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_line("+e.valueToCode(this,"x1",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"y1",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"x2",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"y2",e.ORDER_ATOMIC)+", 1)\n"},jT=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),o=e.valueToCode(this,"width",e.ORDER_ATOMIC),p=e.valueToCode(this,"height",e.ORDER_ATOMIC),u="TRUE"==this.getFieldValue("fill")?"True":"False",a=this.getFieldValue("OP"),l="";switch(u){case"True":l=i+".show_fill_rect("+n+", "+s+", "+o+", "+p+", "+a+")\n";break;case"False":l=i+".show_rect("+n+", "+s+", "+o+", "+p+", "+a+")\n"}return l},JT=function(t,e){e.definitions_.import_matrix="import matrix";var i=t.getFieldValue("OP"),n=e.valueToCode(t,"A",e.ORDER_ATOMIC),s=e.valueToCode(t,"B",e.ORDER_ATOMIC);return["INTERSECTION"==i?n+"-("+n+"-"+s+")":n+i+s,e.ORDER_ATOMIC]},zT=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),o=e.valueToCode(this,"length",e.ORDER_ATOMIC);return i+".show_"+this.getFieldValue("direction")+"("+n+", "+s+", "+o+", 1)\n"},ZT=function(t,e){return["ON"==this.getFieldValue("ONOFF")?"1":"0",e.ORDER_ATOMIC]},$T=function(t,e){e.definitions_.import_matrix="import matrix";var i=t.getFieldValue("OP");return[e.valueToCode(t,"img",e.ORDER_ATOMIC)+".shift_"+i+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},th=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return e.definitions_.import_ssd1306="import ssd1306",e.definitions_.import_machine="import machine",i+".show_fill("+this.getFieldValue("key")+")\n"},eh=function(t,e){var i,n=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),s=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC),o=this.getFieldValue("key");return"TM1650"==o?(e.definitions_.import_tm1650="import tm1650",i=n+" = tm1650."+o+"("+s+")\n"):"TM1637"==o&&(e.definitions_.import_tm1637="import tm1637",i=n+" = tm1637."+o+"("+s+")\n"),i},ih=function(t,e){var i=this.getFieldValue("TYPE");return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+"."+i+this.getFieldValue("STAT")+"()\n"},nh=function(t,e){var i=this.getFieldValue("TYPE");return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+"."+i+"_show_num("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},sh=function(t,e){var i=this.getFieldValue("TYPE");return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+"."+i+"_show_dot("+e.valueToCode(this,"NO",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"},oh=function(t,e){return["matrix.Image."+this.getFieldValue("ANIMATION"),e.ORDER_ATOMIC]},ph=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),o=e.valueToCode(this,"r",e.ORDER_ATOMIC),p="TRUE"==this.getFieldValue("fill")?"True":"False",u=this.getFieldValue("OP"),a="";switch(p){case"True":a=i+".show_fill_circle("+n+", "+s+", "+o+", "+u+")\n";break;case"False":a=i+".show_circle("+n+", "+s+", "+o+", "+u+")\n"}return a},uh=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var n=e.valueToCode(this,"x0",e.ORDER_ATOMIC),s=e.valueToCode(this,"y0",e.ORDER_ATOMIC),o=e.valueToCode(this,"x1",e.ORDER_ATOMIC),p=e.valueToCode(this,"y1",e.ORDER_ATOMIC),u=e.valueToCode(this,"x2",e.ORDER_ATOMIC),a=e.valueToCode(this,"y2",e.ORDER_ATOMIC),l="TRUE"==this.getFieldValue("fill")?"True":"False",_=this.getFieldValue("OP"),r="";switch(l){case"True":r=i+".show_fill_triangle("+n+", "+s+", "+o+", "+p+", "+u+", "+a+", "+_+")\n";break;case"False":r=i+".show_triangle("+n+", "+s+", "+o+", "+p+", "+u+", "+a+", "+_+")\n"}return r},ah=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_bitmap("+e.valueToCode(this,"START_X",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"START_Y",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"bitmap_name",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"WIDTH",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"HEIGHT",e.ORDER_ATOMIC)+")\n"},lh=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_pixel("+e.valueToCode(this,"POS_X",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"POS_Y",e.ORDER_ATOMIC)+")\n"},_h=function(t,e){var i,n=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),s=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC),o=this.getFieldValue("key");return"32x12 Matrix"==o?(e.definitions_.import_matrix32x12="import matrix32x12",i=n+" = matrix32x12.Matrix("+s+")\n"):"TM1637"==o&&(e.definitions_.import_tm1637="import tm1637",i=n+" = tm1637."+o+"("+s+")\n"),i},rh=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return e.definitions_.import_matrix32x12="import matrix32x12",i+".set_buffer("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},dh=function(t,e){return e.definitions_.import_matrix32x12="import matrix32x12",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},Ih=function(t,e){return e.definitions_.import_mixiot="import mixiot","mixiot.wlan_connect("+e.valueToCode(this,"WIFINAME",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"PASSWORD",e.ORDER_ATOMIC)+")\n"},Th=function(t,e){return e.definitions_.import_onenet="import onenet",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+" = onenet.init_MQTT_client("+e.valueToCode(this,"CLIENT",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"SERVER",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"USERNAME",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"PASSWORD",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"TOPIC",e.ORDER_ATOMIC)+", "+(e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)||"None")+")\n"},hh=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);return e.definitions_.import_onenet="import onenet",i+".do_disconnect()\n"},mh=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"DICT",e.ORDER_ATOMIC),s="TRUE"==this.getFieldValue("is_print")?"True":"False";return e.definitions_.import_onenet="import onenet",i+".publish("+n+", is_print="+s+")\n"},Oh=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);return e.definitions_.import_onenet="import onenet",i+".check_msg()\n"},ch=function(t,e){e.definitions_.import_onenet="import onenet";var i=new Array(this.itemCount_),n=new Array(this.itemCount_),s=new Array(this.itemCount_),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);for(let t=0;t0?e.join("\n")+i.join("\n")+n.join("\n")+p.join("\n")+u.join("")+t+"while True:\n"+a.join("")+l.join("\n"):e.join("\n")+i.join("\n")+n.join("\n")+p.join("\n")+u.join("")+t+l.join("\n"),_},Gm.scrubNakedValue=function(t){return t+"\n"},Gm.quote_=function(t){var e="'";return-1!==(t=t.replace(/\\/g,"\\\\").replace(/\n/g,"\\\n")).indexOf("'")&&(-1===t.indexOf('"')?e='"':t=t.replace(/'/g,"\\'")),e+t+e},Gm.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},Gm.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(o=t.getCommentText())&&(o=Et.utils.string.wrap(o,Gm.COMMENT_WRAP-3),n+=Gm.prefixLines(o+"\n","# "));for(var s=0;s0?"int("+u+" + "+s+")":s<0?"int("+u+" - "+-s+")":"int("+u+")",n&&(u="-"+u)),u};const wm={k210:{description:"MicroPython[K210_MixGo AI]",digital_pin:[["P0","0"],["P1","1"],["P2","2"],["P3","3"],["P6","6"],["P7","7"],["P8","8"],["P9","9"],["P10","10"],["P11","11"],["P12","12"],["P13","13"],["P14","14"],["P15","15"],["P16","16"],["P17","17"],["P18","18"],["P19","19"],["P20","20"],["P21","21"],["P22","22"],["P23","23"],["P24","24"],["P25","25"]],digital:[["P0","0"],["P1","1"],["P2","2"],["P3","3"],["P6","6"],["P7","7"],["P8","8"],["P9","9"],["P10","10"],["P11","11"],["P12","12"],["P13","13"],["P14","14"],["P15","15"],["P16","16"],["P17","17"],["P18","18"],["P19","19"],["P20","20"],["P21","21"],["P22","22"],["P23","23"],["P24","24"],["P25","25"],["P30","30"],["P31","31"],["P32","32"],["P33","33"],["P34","34"],["P35","35"]],button:[["A","button_a"],["B","button_b"]],axis:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],exlcdh:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"],["12","12"],["13","13"],["14","14"],["15","15"]],exlcdv:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]]}};wm["MixGo AI"]=wm.k210;const Um=wm,xm=100,Hm={init:function(){this.setColour(xm),this.appendDummyInput().appendField("初始化"),this.appendDummyInput().appendField("舵机"),this.appendValueInput("PIN",Number).appendField("管脚").setCheck(Number),this.appendValueInput("time").appendField("定时器").setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},Bm={init:function(){this.setColour(xm),this.appendDummyInput().appendField("设置"),this.appendDummyInput().appendField("舵机"),this.appendValueInput("PIN",Number).appendField("管脚").setCheck(Number),this.appendValueInput("range").appendField("角度").setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},Wm={init:function(){this.setColour(xm),this.appendDummyInput().appendField("初始化"),this.appendDummyInput().appendField("16路舵机"),this.appendValueInput("address").appendField("地址").setCheck(Number),this.appendValueInput("SUB").setCheck("var").setAlign(Et.inputs.Align.RIGHT).appendField("通信"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("使用PCA9685驱动16路舵机并备注IIC端口")}},Km={init:function(){this.setColour(xm),this.appendDummyInput().appendField("设置"),this.appendDummyInput().appendField("16路舵机"),this.appendValueInput("index").appendField("编号").setCheck(Number),this.appendValueInput("range").appendField("角度").setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("使用PCA9685驱动16路舵机,输入编号机角度")}},qm={init:function(){this.setColour(xm),this.appendValueInput("SUB").appendField("初始化").setCheck("var"),this.appendValueInput("PIN",Number).appendField("管脚").setCheck(Number),this.appendValueInput("num").appendField("灯数").setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},Qm={init:function(){this.setColour(xm),this.appendValueInput("SUB").appendField("").setCheck("var"),this.appendValueInput("num").appendField("灯号").setCheck(Number),this.appendValueInput("R").appendField("R值").setCheck(Number),this.appendValueInput("G").appendField("G值").setCheck(Number),this.appendValueInput("B").appendField("B值").setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},jm={init:function(){this.setColour(xm),this.appendValueInput("SUB").appendField("").setCheck("var"),this.appendDummyInput().appendField("生效"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},Jm={init:function(){this.setColour(xm),this.appendValueInput("SUB").appendField("初始化").setCheck("var"),this.appendDummyInput().appendField("电机驱动"),this.appendDummyInput().appendField("地址").appendField(new Et.FieldDropdown([["A","ms32006.ADDRESS_A"],["B","ms32006.ADDRESS_B"]]),"mode"),this.appendValueInput("SUB1").setCheck("var").setAlign(Et.inputs.Align.RIGHT).appendField("通信"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("初始化MS32006电机驱动,使用I2C通信")}},zm={init:function(){this.setColour(xm),this.appendValueInput("SUB").appendField("直流电机").setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_Direction).appendField(new Et.FieldDropdown([[Et.Msg.CLOCKWISE,"ms32006.MOT_CW"],[Et.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"],[Et.Msg.MOTOR_N,"ms32006.MOT_N"],[Et.Msg.MOTOR_P,"ms32006.MOT_P"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_STEPPER_SET_SPEED),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置直流电机的状态及转速(0-100)")}},Zm={init:function(){this.setColour(xm),this.appendValueInput("SUB").appendField("步进电机").setCheck("var"),this.appendDummyInput().appendField("选择").appendField(new Et.FieldDropdown([["A","ms32006.MOT_A"],["B","ms32006.MOT_B"]]),"mode"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_Direction).appendField(new Et.FieldDropdown([[Et.Msg.CLOCKWISE,"ms32006.MOT_CW"],[Et.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField("转速"),this.appendValueInput("steps").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField("步数"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置步进电机的状态、转速、步数(0-2047)")}},$m={init:function(){this.setColour(xm),this.appendValueInput("SUB").setCheck("var").appendField("初始化"),this.appendValueInput("P",Number).appendField("P值").setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("I",Number).appendField("I值").setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("D",Number).appendField("D值").setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip("初始化PID算法")}},tO={init:function(){this.setColour(xm),this.appendValueInput("SUB").setCheck("var").appendField(""),this.appendDummyInput().appendField("运算"),this.appendValueInput("error").appendField("偏移量").setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("scaler").appendField("定标量").setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("根据参数返回运算结果")}},eO="#55839A",iO={init:function(){this.setColour(eO),this.appendDummyInput("").appendField(new Et.FieldTextInput("anchor"),"VAR").appendField("锚点参数= (").appendField(new Et.FieldTextInput("1.889, 2.5245, 2.9465, 3.94056, 3.99987, 5.3658, 5.155437, 6.92275, 6.718375, 9.01025"),"TEXT").appendField(")"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("锚点参数")}},nO={init:function(){this.setColour(eO),this.appendDummyInput("").appendField(new Et.FieldTextInput("calss"),"VAR").appendField("物品名称= [").appendField(new Et.FieldTextInput("'name1', 'name2', 'name3', 'name4'"),"TEXT").appendField("]"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("将要识别的物品名称")}},sO={init:function(){this.setColour(eO),this.appendValueInput("SUB").appendField("").setCheck("var"),this.appendValueInput("path").appendField("模型加载").setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("从flash系统中加载模型")}},oO={init:function(){this.setColour(eO),this.appendValueInput("SUB").appendField("").setCheck("var"),this.appendValueInput("path").appendField("模型路径").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("从文件系统中加载模型")}},pO={init:function(){this.setColour(eO),this.appendDummyInput("").appendField("yolo2").appendField("初始化"),this.appendValueInput("SUB").setAlign(Et.inputs.Align.RIGHT).appendField("网络模型").setCheck("var"),this.appendValueInput("threshold").setAlign(Et.inputs.Align.RIGHT).appendField("概率阈值").setCheck(Number),this.appendValueInput("nms_value").setAlign(Et.inputs.Align.RIGHT).appendField("box_iou门限").setCheck(Number),this.appendValueInput("anchor_num").setAlign(Et.inputs.Align.RIGHT).appendField("锚点数").setCheck(Number),this.appendValueInput("anchor").setAlign(Et.inputs.Align.RIGHT).appendField("锚点参数"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("初始化yolo2网络")}},uO={init:function(){this.setColour(eO),this.appendDummyInput("").appendField("yolo2").appendField("运行网络"),this.appendValueInput("SUB").setAlign(Et.inputs.Align.RIGHT).appendField("模型").setCheck("var"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("运行yolo2网络")}},aO={init:function(){this.setColour(eO),this.appendDummyInput("").appendField("yolo2").appendField("前向运算"),this.appendValueInput("SUB").setAlign(Et.inputs.Align.RIGHT).appendField("模型").setCheck("var"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("运行网络前向运算")}},lO={init:function(){this.setColour(eO),this.appendDummyInput().appendField("yolo2").appendField("模型解析"),this.appendValueInput("VAR").appendField("对象").setCheck("var"),this.appendDummyInput().appendField("获取").appendField(new Et.FieldDropdown([["坐标-x","x"],["坐标-y","y"],["标识号","classid"],["置信度","value"]]),"key"),this.setOutput(!0),this.setTooltip("对于模型解析,获取模型识别结果的目标坐标、标识好、置信度")}},_O={init:function(){this.setColour(eO),this.appendDummyInput("").appendField("AI_OneNET").appendField("连接WiFi"),this.appendValueInput("account").appendField("名称").setCheck(String),this.appendValueInput("password").appendField("密码").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("AI-Onenet平台 连接WiFi")}},rO={init:function(){this.setColour(eO),this.appendDummyInput("").appendField("AI_OneNET").appendField("获鉴权码"),this.appendValueInput("account").setAlign(Et.inputs.Align.RIGHT).appendField("账号").setCheck(String),this.appendValueInput("password").setAlign(Et.inputs.Align.RIGHT).appendField("密码").setCheck(String),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("AI-Onenet平台 需要注册平台才能使用账号获取用户鉴权码,鉴权码一般24小时有效")}},dO={init:function(){this.setColour(eO),this.appendDummyInput("").appendField("AI_OneNET").appendField("调取API"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像"),this.appendDummyInput().appendField("识别").appendField(new Et.FieldDropdown([["人脸检测","FACE_RECO"],["人脸分析","FACE_ATTRIBUTE"],["人体检测","BODY_RECO"],["图像抄表","AMMETER_READ"],["内容测评","IDENTIFY_PORN"],["车牌信息","NUMBER_PLATE_RECOGNITION"],["宠物种类","CAT_DOG_DETECTION"],["火灾检测","FIRE_DETECTION"]]),"api"),this.appendValueInput("token").setAlign(Et.inputs.Align.RIGHT).appendField("鉴权码").setCheck(String),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("AI-Onenet平台 调用平台API,返回列表识别结果参数")}},IO={init:function(){this.setColour(eO),this.appendDummyInput("").appendField("AI_Local").appendField("模型训练"),this.appendValueInput("calss").setAlign(Et.inputs.Align.RIGHT).appendField("物品"),this.appendValueInput("sample").setAlign(Et.inputs.Align.RIGHT).appendField("训练量").setCheck(Number),this.appendValueInput("save").setAlign(Et.inputs.Align.RIGHT).appendField("保存").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("AI-Local本地模型训练 需要识别的物品名称、每个物品训练数量、保存的名称")}},TO={init:function(){this.setColour(eO),this.appendDummyInput("").appendField("AI_Local").appendField("模型加载"),this.appendValueInput("path").setAlign(Et.inputs.Align.RIGHT).appendField("路径").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("AI-Local 加载已经训练好的本地模型")}},hO={init:function(){this.setColour(eO),this.appendDummyInput("").appendField("AI_Local").appendField("运行模型"),this.appendValueInput("calss").setAlign(Et.inputs.Align.RIGHT).appendField("物品"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("AI-Local 采集图像运行模型将返回识别的物品名、置信度")}},mO={init:function(){this.setColour(eO),this.appendDummyInput("").appendField("AI_Face").appendField("初始化 加载"),this.appendValueInput("FD").setAlign(Et.inputs.Align.RIGHT).appendField("模型FD:").setCheck(String),this.appendValueInput("LD").setAlign(Et.inputs.Align.RIGHT).appendField("模型LD:").setCheck(String),this.appendValueInput("FE").setAlign(Et.inputs.Align.RIGHT).appendField("模型FE:").setCheck(String),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("人脸分辨,初始化")}},OO={init:function(){this.setColour(eO),this.appendDummyInput("").appendField("AI_Face").appendField("运行识别"),this.appendValueInput("names").setAlign(Et.inputs.Align.RIGHT).appendField("人名"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图象"),this.appendValueInput("threshold").setAlign(Et.inputs.Align.RIGHT).appendField("阈值").setCheck(Number),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("人脸分辨,识别到人脸返回True,无人脸返回False")}},cO={init:function(){this.setColour(eO),this.appendDummyInput().appendField("AI_Face").appendField("识别解析"),this.appendDummyInput().appendField("获取").appendField(new Et.FieldDropdown([["识别人名","info_name"],["置信度 %","info_score"],["脸部坐标","info_face"],["三官坐标","info_organs"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("人脸分辨,识别到人物名称,置信度,脸部坐标,三官(眼睛x2、鼻子、嘴巴*2)坐标")}},RO="#2CAAD2",MO={init:function(){this.setColour(RO),this.appendValueInput("SUB").setCheck("var").appendField("初始化"),this.appendValueInput("BCK",Number).appendField("BCK#").setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("WS",Number).appendField("WS#").setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("DAT",Number).appendField("DAT#").setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip("初始化配置扬声器,用于语音播放")}},EO={init:function(){this.setColour(RO),this.appendValueInput("SUB").setCheck("var").appendField("初始化"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip("初始化配置扬声器,用于语音播放")}},CO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("Audio 音频播放"),this.appendValueInput("path").appendField("路径").setAlign(Et.inputs.Align.RIGHT).setCheck(String),this.appendValueInput("SUB").setCheck("var").setAlign(Et.inputs.Align.RIGHT).appendField("设备"),this.appendValueInput("volume").appendField("音量(%)").setAlign(Et.inputs.Align.RIGHT).setCheck(Number),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("音频播放")}},AO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("Audio 音频录制"),this.appendValueInput("path").appendField("路径").setAlign(Et.inputs.Align.RIGHT).setCheck(String),this.appendValueInput("SUB").setCheck("var").setAlign(Et.inputs.Align.RIGHT).appendField("设备"),this.appendValueInput("time").appendField("时长(s)").setAlign(Et.inputs.Align.RIGHT).setCheck(Number),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("音频录制")}},gO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("Video 视频播放"),this.appendValueInput("path").appendField("路径").setAlign(Et.inputs.Align.RIGHT).setCheck(String),this.appendValueInput("SUB").setCheck("var").setAlign(Et.inputs.Align.RIGHT).appendField("设备"),this.appendValueInput("volume").appendField("音量(%)").setAlign(Et.inputs.Align.RIGHT).setCheck(Number),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("视频播放")}},SO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("Video 视频录制"),this.appendValueInput("path").appendField("路径").setAlign(Et.inputs.Align.RIGHT).setCheck(String),this.appendValueInput("SUB").setCheck("var").setAlign(Et.inputs.Align.RIGHT).appendField("设备"),this.appendValueInput("time").appendField("时长(s)").setAlign(Et.inputs.Align.RIGHT).setCheck(Number),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("视频录制")}},DO="#bc9705",LO={init:function(){this.setColour(DO),this.appendDummyInput("").appendField(new Et.FieldDropdown([["彩色图(YUV422)","sensor.YUV422"],["彩色图(RGB565)","sensor.RGB565"],["灰度图","sensor.GRAYSCALE"]]),"flag"),this.setOutput(!0),this.setTooltip()}},NO={init:function(){this.setColour(DO),this.appendDummyInput("").appendField(new Et.FieldDropdown([["320x240","sensor.QVGA"],["240x240","sensor.B240X240"],["128x128","sensor.B128X128"],["64x64","sensor.B64X64"]]),"flag"),this.setOutput(!0),this.setTooltip()}},fO={init:function(){this.setColour(DO),this.appendDummyInput().appendField("Camera").appendField("初始化"),this.appendValueInput("key1").setAlign(Et.inputs.Align.RIGHT).appendField("帧格式"),this.appendValueInput("key2").setAlign(Et.inputs.Align.RIGHT).appendField("帧大小"),this.appendValueInput("key3").setAlign(Et.inputs.Align.RIGHT).appendField("图捕捉"),this.appendValueInput("key4").setAlign(Et.inputs.Align.RIGHT).appendField("跳帧数"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("初始化摄像头,会自动扫描并获取摄像头型号")}},FO={init:function(){this.setColour(DO),this.appendDummyInput().appendField("Camera"),this.appendDummyInput().appendField("初始化"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("初始化摄像头,会自动扫描并获取摄像头型号")}},vO={init:function(){this.setColour(DO),this.appendDummyInput().appendField("Camera"),this.appendValueInput("key").appendField("帧格式"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("设置摄像头输出格式")}},PO={init:function(){this.setColour(DO),this.appendDummyInput().appendField("Camera"),this.appendValueInput("key").appendField("帧大小"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("设置摄像头输出帧大小")}},VO={init:function(){this.setColour(DO),this.appendDummyInput().appendField("Camera"),this.appendValueInput("key").appendField("图捕捉"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("开启图像捕捉功能")}},yO={init:function(){this.setColour(DO),this.appendDummyInput().appendField("Camera"),this.appendValueInput("frame").appendField("跳帧数").setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("摄像头跳过指定帧数")}},YO={init:function(){this.setColour(DO),this.appendDummyInput().appendField("Camera"),this.appendDummyInput().appendField("获取图像"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("控制摄像头捕捉图像")}},bO={init:function(){this.setColour(DO),this.appendDummyInput().appendField("Camera"),this.appendValueInput("key").appendField("设为"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("启动/关闭摄像头")}},kO={init:function(){this.setColour(DO),this.appendDummyInput().appendField("Camera"),this.appendValueInput("key").appendField("水平镜像"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("设置摄像头水平镜像")}},XO={init:function(){this.setColour(DO),this.appendDummyInput().appendField("Camera"),this.appendValueInput("key").appendField("垂直镜像"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("设置摄像头垂直镜像")}},GO={init:function(){this.setColour(DO),this.appendDummyInput().appendField("Camera"),this.appendValueInput("key").appendField("彩条模式"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("将摄像头设置为彩条模式")}},wO={init:function(){this.setColour(DO),this.appendDummyInput().appendField("Camera"),this.appendDummyInput().appendField("获取").appendField(new Et.FieldDropdown([["分辨率宽度","width"],["分辨率高度","height"],["当前增益值","get_gain_db"],["帧缓冲图像","get_fb"],["类型型号ID","get_id"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("获取当前摄像头信息")}},UO={init:function(){this.setColour(DO),this.appendDummyInput().appendField("Camera"),this.appendDummyInput().appendField("设置").appendField(new Et.FieldDropdown([["对比度","set_contrast"],["亮度值","set_brightness"],["增益值","set_auto_gain"],["饱和度","set_saturation"]]),"key"),this.appendValueInput("num").appendField("值为").setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("设置摄像头对比度、亮度、增益、饱和度")}},xO={init:function(){this.setColour(DO),this.appendDummyInput().appendField("Camera"),this.appendDummyInput().appendField("设置窗口"),this.appendValueInput("numa").appendField("宽为").setCheck(Number),this.appendValueInput("numb").appendField("高为").setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("设置摄像头窗口大小")}},HO=140,BO={init:function(){this.setColour(HO),this.appendValueInput("PIN").appendField(Et.Msg.MIXLY_IR_RECEIVE),this.appendDummyInput().appendField("获取编码"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_I2C_SCAN)}},WO={init:function(){this.setColour(HO),this.appendValueInput("SUB").appendField("I2C "+Et.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("TX",Number).appendField("SCL#").setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("RX",Number).appendField("SDA#").setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.appendDummyInput().appendField("通道").appendField(new Et.FieldDropdown([["0","I2C0"],["1","I2C1"],["2","I2C2"]]),"mode"),this.appendValueInput("freq").setCheck(Number).appendField(Et.Msg.MIXLY_FREQUENCY).setAlign(Et.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_I2C_INIT)}},KO={init:function(){this.setColour(HO),this.appendValueInput("SUB").setCheck("var").appendField("I2S 初始化"),this.appendDummyInput().appendField("设备").appendField(new Et.FieldDropdown([["麦克风","mic"],["扬声器","spk"]]),"mode"),this.appendValueInput("BCK",Number).appendField("BCK#").setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("WS",Number).appendField("WS#").setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("DAT",Number).appendField("DAT#").setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("sample").appendField("采样率").setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_I2C_INIT)}},qO={init:function(){this.setColour(HO),this.appendValueInput("VAR").appendField("I2C").setCheck("var"),this.appendValueInput("address").setCheck(Number).appendField(Et.Msg.MIXLY_ESP32_RNUMBER),this.appendValueInput("data").setCheck(Number).appendField(Et.Msg.LANG_MATH_BYTE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_MICROBIT_JS_I2C_READ)}},QO={init:function(){this.setColour(HO),this.appendValueInput("VAR").appendField("I2C").setCheck("var"),this.appendValueInput("address").setCheck(Number).appendField(Et.Msg.MIXLY_ESP32_WNUMBER),this.appendValueInput("data").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_JS_I2C_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_MICROBIT_JS_I2C_WRITE)}},jO={init:function(){this.setColour(HO),this.appendValueInput("VAR").setCheck("var").appendField(Et.Msg.MIXLY_ESP32_I2C_SCAN1),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_I2C_SCAN2),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_I2C_SCAN)}},JO={init:function(){this.setColour(HO),this.appendValueInput("VAR").setCheck("var").appendField(Et.Msg.MIXLY_ESP32_SPI_INIT),this.appendValueInput("freq").setCheck(Number).appendField(Et.Msg.MIXLY_SERIAL_BEGIN),this.appendValueInput("polarity").setCheck(Number).appendField("polarity"),this.appendValueInput("phase").setCheck(Number).appendField("phase"),this.appendValueInput("sck").setCheck(Number).appendField("SCK"),this.appendValueInput("mosi").setCheck(Number).appendField("MOSI"),this.appendValueInput("miso").setCheck(Number).appendField("MISO"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_SPI_INIT_TOOLTIP)}},zO={init:function(){this.setColour(HO),this.appendValueInput("VAR").setCheck("var").appendField(Et.Msg.MIXLY_SETTING+" SPI"),this.appendValueInput("data").setCheck(Number).appendField(Et.Msg.MIXLY_SERIAL_BEGIN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_SPI_SET)}},ZO={init:function(){this.setColour(HO),this.appendValueInput("VAR").setCheck("var").appendField(Et.Msg.MIXLY_ESP32_SET+"SPI"),this.appendValueInput("data").setCheck(Number).appendField(Et.Msg.MIXLY_ESP32_SPI_BUFFER),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_SPI_BUFFER_SET)}},$O={init:function(){this.setColour(HO),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck(Number).appendField(Et.Msg.MIXLY_SERIAL_READ),this.appendDummyInput("").appendField(Et.Msg.MIXLY_4DIGITDISPLAY_NOMBER2+Et.Msg.LANG_MATH_BYTE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_SPI_READ)}},tc={init:function(){this.setColour(HO),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck(Number).appendField(Et.Msg.MIXLY_SERIAL_READ),this.appendDummyInput("").appendField(Et.Msg.MIXLY_4DIGITDISPLAY_NOMBER2+Et.Msg.LANG_MATH_BYTE+","+Et.Msg.MIXLY_ESP32_SPI_OUTPUT),this.appendValueInput("val").setCheck(Number),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_SPI_READ_OUTPUT)}},ec={init:function(){this.setColour(HO),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck("var").appendField(Et.Msg.MIXLY_SERIAL_READ+Et.Msg.MIXLY_ESP32_SPI_BUFFER),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_SPI_READINTO)}},ic={init:function(){this.setColour(HO),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck("var").appendField(Et.Msg.MIXLY_SERIAL_READ+Et.Msg.MIXLY_ESP32_SPI_BUFFER),this.appendValueInput("val").setCheck(Number).appendField(","+Et.Msg.MIXLY_ESP32_SPI_OUTPUT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_SPI_READINTO_OUTPUT)}},nc={init:function(){this.setColour(HO),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck(String).appendField(Et.Msg.MIXLY_ESP32_WRITE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_SPI_WRITE)}},sc={init:function(){this.setColour(HO),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck(String).appendField(Et.Msg.MIXLY_ESP32_WRITE),this.appendValueInput("val").setCheck("var").appendField(","+Et.Msg.MIXLY_ESP32_BUFFER_READ),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_SPI_WRITE_READINTO)}},oc={init:function(){this.setColour(HO),this.appendValueInput("VAR").setCheck("var").appendField("I2C"),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_READ),this.setOutput(!0,Number)}},pc={init:function(){this.setColour(HO),this.appendValueInput("VAR").setCheck("var").appendField(Et.Msg.MIXLY_ESP32_READ+"I2C"),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_SUCCESS),this.setOutput(!0,Boolean),this.setTooltip(Et.Msg.MIXLY_ESP32_I2C_AVAILABLE)}},uc={init:function(){this.setColour(HO),this.appendValueInput("PIN",Number).appendField(Et.Msg.MIXLY_I2C_SLAVE_ONRECEIVE).setCheck(Number),this.appendStatementInput("DO").appendField(Et.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ac={init:function(){this.setColour(HO),this.appendValueInput("VAR").setCheck("var").appendField("OneWire"),this.appendValueInput("BUS").setCheck(Number).appendField(Et.Msg.MIXLY_SETUP+" "+Et.Msg.MIXLY_PIN),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_OW_INIT)}},lc={init:function(){this.setColour(HO),this.appendValueInput("VAR").setCheck("var").appendField("OneWire"),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_ONEWIRE_SCAN),this.setOutput(!0,"List"),this.setTooltip(Et.Msg.MIXLY_ESP32_OW_SCAN)}},_c={init:function(){this.setColour(HO),this.appendValueInput("VAR").setCheck("var").appendField("OneWire"),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_ONEWIRE_READ),this.setOutput(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_OW_READ)}},rc={init:function(){this.setColour(HO),this.appendValueInput("VAR").setCheck("var").appendField("OneWire"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_ESP32_WRITE).appendField(new Et.FieldDropdown([[Et.Msg.LANG_MATH_STRING,"write"],[Et.Msg.LANG_MATH_BYTE,"writebyte"]]),"op"),this.appendValueInput("byte").setCheck([Number,String]),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_OW_WRITE)}},dc={init:function(){this.setColour(HO),this.appendValueInput("VAR").setCheck("var").appendField(Et.Msg.MIXLY_ESP32_ONEWIRE_SELECT),this.appendValueInput("byte").setCheck(String).appendField("ROM"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_OW_SELECT)}},Ic={init:function(){this.setColour(HO),this.appendValueInput("VAR").setCheck("var").appendField(Et.Msg.MIXLY_ESP32_ONEWIRE_RESET),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Et.Msg.MIXLY_ESP32_OW_RESET)}},Tc=WO,hc=qO,mc=QO,Oc=jO,cc=JO,Rc=zO,Mc=ZO,Ec=$O,Cc=tc,Ac=ec,gc=ic,Sc=nc,Dc=sc,Lc=oc,Nc=pc,fc=180,Fc={init:function(){this.setColour(fc),this.appendDummyInput("").appendField(new Et.FieldDropdown([["0°","0"],["90°","1"],["180°","2"],["270°","3"]]),"flag"),this.setOutput(!0),this.setTooltip()}},vc={init:function(){this.setColour(fc),this.appendDummyInput("").appendField(new Et.FieldDropdown([["黑色","lcd.BLACK"],["深蓝色","lcd.NAVY"],["蓝色","lcd.BLUE"],["深绿色","lcd.DARKGREEN"],["深青色","lcd.DARKCYAN"],["绿色","lcd.GREEN"],["青色","lcd.CYAN"],["褐红色","lcd.MAROON"],["紫色","lcd.PURPLE"],["橄榄色","lcd.OLIVE"],["深灰色","lcd.DARKGREY"],["绿黄色","lcd.GREENYELLOW"],["浅灰色","lcd.LIGHTGREY"],["红色","lcd.RED"],["洋红色","lcd.MAGENTA"],["粉红色","lcd.PINK"],["橙色","lcd.ORANGE"],["黄色","lcd.YELLOW"],["白色","lcd.WHITE"]]),"flag"),this.setOutput(!0),this.setTooltip()}},Pc={init:function(){this.setColour(fc),this.appendDummyInput("").appendField(new Et.FieldDropdown([["开启","1"],["关闭","0"]]),"flag"),this.setOutput(!0),this.setTooltip()}},Vc={init:function(){this.setColour(fc),this.appendDummyInput().appendField("LCD 初始化"),this.appendValueInput("freq").setAlign(Et.inputs.Align.RIGHT).appendField("通信频率").setCheck(Number),this.appendValueInput("color").setAlign(Et.inputs.Align.RIGHT).appendField("背景颜色").setCheck(Number),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("初始化LCD屏幕显示")}},yc={init:function(){this.setColour(fc),this.appendDummyInput().appendField("LCD 获取 "),this.appendDummyInput().appendField(new Et.FieldDropdown([["宽度","width"],["高度","height"]]),"key"),this.appendDummyInput().appendField("分辨率"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("获取LCD的宽度/高度(水平分辨率)")}},Yc={init:function(){this.setColour(fc),this.appendDummyInput().appendField("LCD"),this.appendValueInput("key").appendField("系统颜色"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("获取LCD的宽度/高度(水平分辨率)")}},bc={init:function(){this.setColour(fc),this.appendDummyInput().appendField("LCD 显示图像"),this.appendValueInput("img").appendField(""),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("在液晶屏上显示一张image(GRAYSCALE或RGB565")}},kc={init:function(){this.setColour(fc),this.appendDummyInput().appendField("LCD 清屏颜色"),this.appendValueInput("color").appendField("").setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("将液晶屏清空为指定的颜色")}},Xc={init:function(){this.setColour(fc),this.appendDummyInput().appendField("LCD 屏幕旋转"),this.appendValueInput("key").appendField(""),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("设置LCD屏幕方向")}},Gc={init:function(){this.setColour(fc),this.appendDummyInput().appendField("LCD 镜像显示"),this.appendValueInput("key").appendField(""),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("设置LCD是否镜面显示")}},wc={init:function(){this.setColour(fc),this.appendDummyInput().appendField("LCD 绘制文本"),this.appendValueInput("x").setAlign(Et.inputs.Align.RIGHT).appendField("坐标X").setCheck(Number),this.appendValueInput("y").setAlign(Et.inputs.Align.RIGHT).appendField("坐标Y").setCheck(Number),this.appendValueInput("text").setAlign(Et.inputs.Align.RIGHT).appendField("文本内容").setCheck(String),this.appendValueInput("color_T").setAlign(Et.inputs.Align.RIGHT).appendField("文本颜色").setCheck(Number),this.appendValueInput("color_S").setAlign(Et.inputs.Align.RIGHT).appendField("背景颜色").setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("在液晶屏上显示文本字符(不支持中文)")}},Uc={init:function(){this.setColour(40),this.appendDummyInput().appendField("Touch 初始化"),this.appendValueInput("I2C").appendField("通信").setCheck("var"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("初始化触摸屏")}},xc={init:function(){this.setColour(40),this.appendDummyInput().appendField("Touch 校准"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("校准屏幕,使屏幕显示和触摸屏像素能够对应")}},Hc={init:function(){this.setColour(40),this.appendDummyInput().appendField("Touch 获取 "),this.appendDummyInput().appendField(new Et.FieldDropdown([["状态","[0]"],["坐标x","[1]"],["坐标y","[2]"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("读取当前屏幕的状态以及按下的点的坐标值")}},Bc={init:function(){this.setColour(40),this.appendDummyInput().appendField("Touch 状态"),this.appendDummyInput().appendField(new Et.FieldDropdown([["空闲","ts.STATUS_IDLE"],["不按","ts.STATUS_RELEASE"],["按下","ts.STATUS_PRESS"],["移动","ts.STATUS_MOVE"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("读取当前屏幕的状态以及按下的点的坐标值")}},Wc="#777777",Kc={init:function(){this.setColour(Wc),this.appendDummyInput("").appendField("from ").appendField(new Et.FieldTextInput("mixno"),"path").appendField(" import ").appendField(new Et.FieldTextInput("*"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},qc={init:function(){this.setColour(Wc),this.appendDummyInput("").appendField("import ").appendField(new Et.FieldTextInput("module"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Qc={init:function(){this.setColour(Wc),this.appendDummyInput("").appendField(new Et.FieldTextInput("my_function"),"NAME"),this.itemCount_=1,this.arguments_=["x"],this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Et.icons.MutatorIcon(["factory_create_with_item"],this))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("items",this.itemCount_);for(var e=0;ee?t[e]:"ni-hao"),"KEY"+e).appendField("”:")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Et.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},lR={init:function(){this.setColour(pR),this.appendValueInput("SUB").appendField("").setCheck("var"),this.appendDummyInput().appendField("启动识别 返回结果"),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip("语音识别,获取识别结果")}},_R={init:function(){this.setColour(pR),this.appendValueInput("SUB").appendField("").setCheck("var"),this.appendDummyInput().appendField("注销识别 内存释放"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("语音识别,注销语音识别,释放内存")}},rR="#90A244",dR={init:function(){this.setColour(rR),this.appendDummyInput("").appendField(new Et.FieldDropdown([["否","0"],["是","1"]]),"flag"),this.setOutput(!0),this.setTooltip()}},IR={init:function(){this.setColour(rR),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("path").appendField("打开路径").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("打开一个新的图像对象")}},TR={init:function(){this.setColour(rR),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField("打开空图"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("打开一个空的图像对象")}},hR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("图像信息"),this.appendValueInput("VAR").appendField("图像").setCheck("var"),this.appendDummyInput().appendField("获取").appendField(new Et.FieldDropdown([["宽度","width"],["高度","height"],["格式","format"],["大小","size"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("获取图像的宽度、高度、格式、大小")}},mR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("图像保存"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("path").setAlign(Et.inputs.Align.RIGHT).appendField("路径").setCheck(String),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("图像的副本保存到文件系统")}},OR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("图像截取"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("LIST").setAlign(Et.inputs.Align.RIGHT).appendField("区域-xywh"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("复制一个图像图像的副本")}},cR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("RGB"),this.appendDummyInput().appendField("["),this.appendValueInput("R").setCheck(Number),this.appendValueInput("G").appendField(",").setCheck(Number),this.appendValueInput("B").appendField(",").setCheck(Number),this.appendDummyInput().appendField("]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("对图像进行适当压缩")}},RR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("图像压缩"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("quality").setAlign(Et.inputs.Align.RIGHT).appendField("压缩率").setCheck(Number),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("对图像进行适当压缩")}},MR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("图像清除"),this.appendValueInput("VAR").appendField("图像").setCheck("var"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("将图像中的所有像素设置为零")}},ER={init:function(){this.setColour(rR),this.appendDummyInput().appendField("图像转换"),this.appendValueInput("VAR").appendField("图像").setCheck("var"),this.appendDummyInput().appendField("转换为").appendField(new Et.FieldDropdown([["灰度图","to_grayscale"],["彩色图","to_rgb565"],["彩虹图","to_rainbow"],["AI格式","pix_to_ai"],["字节块","to_bytes"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("将图像转换为灰度图、彩色图、彩虹图像")}},CR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("修改点颜色"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("LIST").setAlign(Et.inputs.Align.RIGHT).appendField("坐标-xy"),this.appendValueInput("color").setAlign(Et.inputs.Align.RIGHT).appendField("颜色").setCheck(Number),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("设置图像某点像素值")}},AR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("获取点颜色"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("LIST").setAlign(Et.inputs.Align.RIGHT).appendField("坐标-xy"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("获取图像某点像素值")}},gR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("字库加载"),this.appendValueInput("path").setAlign(Et.inputs.Align.RIGHT).appendField("路径").setCheck(String),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("从SD中加载需要显示文字的字库")}},SR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("字库释放"),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("释放字库所占的内存")}},DR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("绘制文本(中)"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("x0").setAlign(Et.inputs.Align.RIGHT).appendField("起-x").setCheck(Number),this.appendValueInput("y0").setAlign(Et.inputs.Align.RIGHT).appendField("起-y").setCheck(Number),this.appendValueInput("tex").setAlign(Et.inputs.Align.RIGHT).appendField("内容").setCheck(String),this.appendValueInput("color").setAlign(Et.inputs.Align.RIGHT).appendField("颜色").setCheck(Number),this.appendValueInput("scale").setAlign(Et.inputs.Align.RIGHT).appendField("字号").setCheck(Number),this.appendValueInput("x_spacing").setAlign(Et.inputs.Align.RIGHT).appendField("间距").setCheck(Number),this.setOutput(!0),this.setTooltip("图像上绘制一个文本")}},LR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("绘制文本"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("x0").setAlign(Et.inputs.Align.RIGHT).appendField("起-x").setCheck(Number),this.appendValueInput("y0").setAlign(Et.inputs.Align.RIGHT).appendField("起-y").setCheck(Number),this.appendValueInput("tex").setAlign(Et.inputs.Align.RIGHT).appendField("内容").setCheck(String),this.appendValueInput("color").setAlign(Et.inputs.Align.RIGHT).appendField("颜色").setCheck(Number),this.appendValueInput("scale").setAlign(Et.inputs.Align.RIGHT).appendField("字号").setCheck(Number),this.appendValueInput("x_spacing").setAlign(Et.inputs.Align.RIGHT).appendField("间距").setCheck(Number),this.setOutput(!0),this.setTooltip("图像上绘制一个中文文本")}},NR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("绘制文本(英)"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("x0").setAlign(Et.inputs.Align.RIGHT).appendField("起-x").setCheck(Number),this.appendValueInput("y0").setAlign(Et.inputs.Align.RIGHT).appendField("起-y").setCheck(Number),this.appendValueInput("tex").setAlign(Et.inputs.Align.RIGHT).appendField("内容").setCheck(String),this.appendValueInput("color").setAlign(Et.inputs.Align.RIGHT).appendField("颜色").setCheck(Number),this.appendValueInput("scale").setAlign(Et.inputs.Align.RIGHT).appendField("字号").setCheck(Number),this.setOutput(!0),this.setTooltip("图像上绘制一个字符文本")}},fR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("绘制直线"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("LIST").setAlign(Et.inputs.Align.RIGHT).appendField("坐标-xyxy"),this.appendValueInput("color").setAlign(Et.inputs.Align.RIGHT).appendField("颜色").setCheck(Number),this.appendValueInput("thi").setAlign(Et.inputs.Align.RIGHT).appendField("粗细").setCheck(Number),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("图像上绘制一条从(x0,y0)到(x1,y1)的线")}},FR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("绘制箭头"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("LIST").setAlign(Et.inputs.Align.RIGHT).appendField("坐标-xyxy"),this.appendValueInput("color").setAlign(Et.inputs.Align.RIGHT).appendField("颜色").setCheck(Number),this.appendValueInput("thi").setAlign(Et.inputs.Align.RIGHT).appendField("大小").setCheck(Number),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("图像上绘制一个箭头")}},vR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("绘制十字"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("LIST").setAlign(Et.inputs.Align.RIGHT).appendField("坐标-xy"),this.appendValueInput("color").setAlign(Et.inputs.Align.RIGHT).appendField("颜色").setCheck(Number),this.appendValueInput("size").setAlign(Et.inputs.Align.RIGHT).appendField("延伸").setCheck(Number),this.appendValueInput("thi").setAlign(Et.inputs.Align.RIGHT).appendField("粗细").setCheck(Number),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("图像上绘制一个十字")}},PR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("绘制圆形"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("LIST").setAlign(Et.inputs.Align.RIGHT).appendField("坐标-xyr"),this.appendValueInput("color").setAlign(Et.inputs.Align.RIGHT).appendField("颜色").setCheck(Number),this.appendValueInput("thi").setAlign(Et.inputs.Align.RIGHT).appendField("粗细").setCheck(Number),this.appendValueInput("fil").setAlign(Et.inputs.Align.RIGHT).appendField("填充").setCheck(Number),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("图像上绘制一个圆形")}},VR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("绘制矩形"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("LIST").setAlign(Et.inputs.Align.RIGHT).appendField("坐标-xywh"),this.appendValueInput("color").setAlign(Et.inputs.Align.RIGHT).appendField("颜色").setCheck(Number),this.appendValueInput("thi").setAlign(Et.inputs.Align.RIGHT).appendField("粗细").setCheck(Number),this.appendValueInput("fil").setAlign(Et.inputs.Align.RIGHT).appendField("填充").setCheck(Number),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("图像上绘制一个矩形")}},yR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("绘制特征点"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("keypoints").setAlign(Et.inputs.Align.RIGHT).appendField("对象"),this.appendValueInput("color").setAlign(Et.inputs.Align.RIGHT).appendField("颜色").setCheck(Number),this.appendValueInput("size").setAlign(Et.inputs.Align.RIGHT).appendField("大小").setCheck(Number),this.appendValueInput("thi").setAlign(Et.inputs.Align.RIGHT).appendField("粗细").setCheck(Number),this.appendValueInput("fil").setAlign(Et.inputs.Align.RIGHT).appendField("填充").setCheck(Number),this.setOutput(!0),this.setTooltip("绘制一个特征点对象的各个点")}},YR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("绘制图像"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("LIST").setAlign(Et.inputs.Align.RIGHT).appendField("坐标-xy"),this.appendValueInput("x_scale").setAlign(Et.inputs.Align.RIGHT).appendField("x缩放").setCheck(Number),this.appendValueInput("y_scale").setAlign(Et.inputs.Align.RIGHT).appendField("y缩放").setCheck(Number),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("绘制一个image图像")}},bR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("直线识别"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("roi").setAlign(Et.inputs.Align.RIGHT).appendField("区域-xywh"),this.appendValueInput("threshold").setAlign(Et.inputs.Align.RIGHT).appendField("阈值").setCheck(Number),this.appendValueInput("theta_margin").setAlign(Et.inputs.Align.RIGHT).appendField("合并角度").setCheck(Number),this.appendValueInput("rho_margin").setAlign(Et.inputs.Align.RIGHT).appendField("合并斜率").setCheck(Number),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField("返回[line]"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("使用霍夫变换识别直线,返回image.line对象列表")}},kR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("线段识别"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("roi").setAlign(Et.inputs.Align.RIGHT).appendField("区域-xywh"),this.appendValueInput("distance").setAlign(Et.inputs.Align.RIGHT).appendField("间距").setCheck(Number),this.appendValueInput("difference").setAlign(Et.inputs.Align.RIGHT).appendField("合并角度").setCheck(Number),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField("返回[line]"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("使用霍夫变换识别线段,返回image.line对象列表")}},XR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("圆形识别"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("roi").setAlign(Et.inputs.Align.RIGHT).appendField("区域-xywh"),this.appendValueInput("threshold").setAlign(Et.inputs.Align.RIGHT).appendField("阈值").setCheck(Number),this.appendValueInput("r_min").setAlign(Et.inputs.Align.RIGHT).appendField("最小r").setCheck(Number),this.appendValueInput("r_max").setAlign(Et.inputs.Align.RIGHT).appendField("最大r").setCheck(Number),this.appendValueInput("r_step").setAlign(Et.inputs.Align.RIGHT).appendField("步长r").setCheck(Number),this.appendValueInput("x_margin").setAlign(Et.inputs.Align.RIGHT).appendField("合并x值").setCheck(Number),this.appendValueInput("y_margin").setAlign(Et.inputs.Align.RIGHT).appendField("合并y值").setCheck(Number),this.appendValueInput("r_margin").setAlign(Et.inputs.Align.RIGHT).appendField("合并r值").setCheck(Number),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField("返回[circle]"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("使用霍夫变换识别圆形,返回image.cirle对象列表")}},GR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("矩形识别"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("roi").setAlign(Et.inputs.Align.RIGHT).appendField("区域-xywh"),this.appendValueInput("threshold").setAlign(Et.inputs.Align.RIGHT).appendField("阈值").setCheck(Number),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField("返回[rect]"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("使用四元检测识别矩形,返回image.rect对象列表")}},wR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("线性回归"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("threshold").setAlign(Et.inputs.Align.RIGHT).appendField("阈值").setCheck(Number),this.appendValueInput("invert").setAlign(Et.inputs.Align.RIGHT).appendField("阈值反转"),this.appendValueInput("roi").setAlign(Et.inputs.Align.RIGHT).appendField("区域-xywh"),this.appendValueInput("robust").setAlign(Et.inputs.Align.RIGHT).appendField("泰尔指数").setCheck(Number),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField("返回[line]"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("计算线性回归,返回image.line对象列表")}},UR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("直线解析"),this.appendValueInput("VAR").appendField("对象").setCheck("var"),this.appendDummyInput().appendField("获取").appendField(new Et.FieldDropdown([["坐标-xywh","line"],["x1分量","x1"],["y1分量","y1"],["x2分量","x2"],["y2分量","y2"],["长度","length"],["角度","theta"],["斜率","rho"],["模","magnitude"]]),"key"),this.setOutput(!0),this.setTooltip("通过遍历image.line列表,获取直线信息")}},xR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("圆形解析"),this.appendValueInput("VAR").appendField("对象").setCheck("var"),this.appendDummyInput().appendField("获取").appendField(new Et.FieldDropdown([["坐标-xyr","circle"],["x分量","x"],["y分量","y"],["r分量","r"]]),"key"),this.setOutput(!0),this.setTooltip("通过遍历image.circle列表,获取圆形信息")}},HR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("矩形解析"),this.appendValueInput("VAR").appendField("对象").setCheck("var"),this.appendDummyInput().appendField("获取").appendField(new Et.FieldDropdown([["坐标-xywh","rect"],["x分量","x"],["y分量","y"],["w分量","w"],["h分量","h"]]),"key"),this.setOutput(!0),this.setTooltip("通过遍历image.rect列表,获取矩形信息")}},BR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("直方图均衡"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("key").setAlign(Et.inputs.Align.RIGHT).appendField("自适应"),this.appendValueInput("limit").setAlign(Et.inputs.Align.RIGHT).appendField("对比度").setCheck(Number),this.setOutput(!0),this.setTooltip("图像上的简单直方图均衡化")}},WR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("模糊滤波"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("size").setAlign(Et.inputs.Align.RIGHT).appendField("卷积核尺寸").setCheck(Number),this.appendValueInput("key").setAlign(Et.inputs.Align.RIGHT).appendField("自适应"),this.appendValueInput("offset").setAlign(Et.inputs.Align.RIGHT).appendField("补偿").setCheck(Number),this.setOutput(!0),this.setTooltip("图像上的简单模糊滤波")}},KR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("卡通化滤波"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("seed").setAlign(Et.inputs.Align.RIGHT).appendField("原始差异").setCheck(Number),this.appendValueInput("float").setAlign(Et.inputs.Align.RIGHT).appendField("相邻差异").setCheck(Number),this.setOutput(!0),this.setTooltip("图像上的简单卡通滤波器")}},qR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("图像腐蚀"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("size").setAlign(Et.inputs.Align.RIGHT).appendField("卷积核尺寸").setCheck(Number),this.appendValueInput("threshold").setAlign(Et.inputs.Align.RIGHT).appendField("阈值").setCheck(Number),this.setOutput(!0),this.setTooltip("图像腐蚀,从分割区域的边缘删除像素(白色目标区域)")}},QR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("图像膨胀"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("size").setAlign(Et.inputs.Align.RIGHT).appendField("卷积核尺寸").setCheck(Number),this.appendValueInput("threshold").setAlign(Et.inputs.Align.RIGHT).appendField("阈值").setCheck(Number),this.setOutput(!0),this.setTooltip("图像膨胀,将像素添加到分割区域的边缘中(白色目标区域)")}},jR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("图像填充"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("LIST").setAlign(Et.inputs.Align.RIGHT).appendField("开始坐标"),this.appendValueInput("color").setAlign(Et.inputs.Align.RIGHT).appendField("颜色").setCheck(Number),this.appendValueInput("seed").setAlign(Et.inputs.Align.RIGHT).appendField("原始差异").setCheck(Number),this.appendValueInput("float").setAlign(Et.inputs.Align.RIGHT).appendField("相邻差异").setCheck(Number),this.appendValueInput("invert").setAlign(Et.inputs.Align.RIGHT).appendField("反转"),this.appendValueInput("clear").setAlign(Et.inputs.Align.RIGHT).appendField("清除"),this.setOutput(!0),this.setTooltip("像洪水一样填充图像中低矮凹陷的地方(洪水填充)")}},JR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("图像投影"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("key").setAlign(Et.inputs.Align.RIGHT).appendField("垂直投影"),this.setOutput(!0),this.setTooltip("图像从笛卡尔坐标到线性极坐标重新投影")}},zR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("图像反转"),this.appendValueInput("VAR").appendField("图像").setCheck("var"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("翻转图像中的所有像素值")}},ZR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("校正缩放"),this.appendValueInput("VAR").appendField("图像").setCheck("var"),this.appendValueInput("strength").appendField("校正值").setCheck(Number),this.appendValueInput("zoom").appendField("缩放值").setCheck(Number),this.setOutput(!0),this.setTooltip("翻转图像中的所有像素值")}},$R={init:function(){this.setColour(rR),this.appendDummyInput().appendField("图像二值化"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("threshold").setAlign(Et.inputs.Align.RIGHT).appendField("阈值").setCheck(Number),this.appendValueInput("invert").setAlign(Et.inputs.Align.RIGHT).appendField("阈值反转"),this.appendValueInput("zero").setAlign(Et.inputs.Align.RIGHT).appendField("阈值像素为零"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("根据像素是否在阈值列表 thresholds 中的阈值内,将图像中的所有像素设置为黑色或白色。")}},tM={init:function(){this.setColour(rR),this.appendDummyInput().appendField("图像边缘检测"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("size").setAlign(Et.inputs.Align.RIGHT).appendField("卷积核尺寸").setCheck(Number),this.appendValueInput("kernel").setAlign(Et.inputs.Align.RIGHT).appendField("内核"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("通过过滤器内核对图像进行卷积。")}},eM={init:function(){this.setColour(rR),this.appendDummyInput().appendField("条形码识别"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("roi").setAlign(Et.inputs.Align.RIGHT).appendField("区域-xywh"),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField("返回[barcode]"),this.setOutput(!0),this.setInputsInline(!1),this.setOutput(!0),this.setTooltip("使用条形码识别,返回image.barcode对象列表")}},iM={init:function(){this.setColour(rR),this.appendDummyInput().appendField("二维码识别"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("roi").setAlign(Et.inputs.Align.RIGHT).appendField("区域-xywh"),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField("返回[qrcode]"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("使用二维码识别,返回image.line对象列表")}},nM={init:function(){this.setColour(rR),this.appendDummyInput().appendField("AprilTag识别"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("roi").setAlign(Et.inputs.Align.RIGHT).appendField("区域-xywh"),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField("返回[apriltag]"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("使用image.TAG36H11识别,返回image.apriltag对象列表")}},sM={init:function(){this.setColour(rR),this.appendDummyInput().appendField("二维码解析"),this.appendValueInput("VAR").appendField("对象").setCheck("var"),this.appendDummyInput().appendField("获取").appendField(new Et.FieldDropdown([["坐标-xywh","rect"],["x分量","x"],["y分量","y"],["w分量","w"],["h分量","h"],["内容","payload"],["版本","version"],["掩码","mask"],["类型","data_type"]]),"key"),this.setOutput(!0),this.setTooltip("通过遍历image.qrcode列表,获取二维码信息")}},oM={init:function(){this.setColour(rR),this.appendDummyInput().appendField("条形码解析"),this.appendValueInput("VAR").appendField("对象").setCheck("var"),this.appendDummyInput().appendField("获取").appendField(new Et.FieldDropdown([["坐标-xywh","rect"],["x分量","x"],["y分量","y"],["w分量","w"],["h分量","h"],["内容","payload"],["类型","type"],["角度","rotation"]]),"key"),this.setOutput(!0),this.setTooltip("通过遍历image.barcode列表,获取条形码信息")}},pM={init:function(){this.setColour(rR),this.appendDummyInput().appendField("AprilTag解析"),this.appendValueInput("VAR").appendField("对象").setCheck("var"),this.appendDummyInput().appendField("获取").appendField(new Et.FieldDropdown([["坐标-xywh","rect"],["x分量","x"],["y分量","y"],["w分量","w"],["h分量","h"],["中心-x","cx"],["中心-y","cy"],["号码","id"],["家族","family"],["弧度","rotation"],["x向距离","x_translation"],["y向距离","y_translation"],["z向距离","z_translation"],["x向弧度","x_rotation"],["y向弧度","y_rotation"],["z向弧度","z_rotation"]]),"key"),this.setOutput(!0),this.setTooltip("通过遍历image.apriltag列表,获取Apriltag信息")}},uM={init:function(){this.setColour(rR),this.appendDummyInput().appendField("色块追踪"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("LIST").setAlign(Et.inputs.Align.RIGHT).appendField("阈值LAB"),this.appendValueInput("roi").setAlign(Et.inputs.Align.RIGHT).appendField("区域-xywh"),this.appendValueInput("area").setAlign(Et.inputs.Align.RIGHT).appendField("滤掉区域").setCheck(Number),this.appendValueInput("pixel").setAlign(Et.inputs.Align.RIGHT).appendField("滤掉素数").setCheck(Number),this.appendValueInput("margin").setAlign(Et.inputs.Align.RIGHT).appendField("合并").setCheck(Number),this.appendValueInput("key").setAlign(Et.inputs.Align.RIGHT).appendField("重叠"),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField("返回[blob]"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("使用色块追踪,返回image.blob对象列表")}},aM={init:function(){this.setColour(rR),this.appendDummyInput().appendField("颜色识别"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("roi").setAlign(Et.inputs.Align.RIGHT).appendField("区域-xywh"),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField("返回[histogram]"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("使用直方图识别颜色,返回image.histogram对象列表")}},lM={init:function(){this.setColour(rR),this.appendDummyInput().appendField("追踪解析"),this.appendValueInput("VAR").appendField("对象").setCheck("var"),this.appendDummyInput().appendField("获取").appendField(new Et.FieldDropdown([["坐标-xywh","rect"],["x分量","x"],["y分量","y"],["w分量","w"],["h分量","h"],["中心-x","cx"],["中心-y","cy"],["像素量","pixels"],["弧度","rotation"],["号码数","code"],["合并量","count"],["面积","area"],["密度比","density"]]),"key"),this.setOutput(!0),this.setTooltip("通过image.blob列表,获取追踪色块信息")}},_M={init:function(){this.setColour(rR),this.appendDummyInput().appendField("色阈浮点"),this.appendValueInput("VAR").appendField("对象").setCheck("var"),this.appendDummyInput().appendField("获取").appendField(new Et.FieldDropdown([["灰度图浮点列表","bins"],["LAB的L浮点列表","l_bins"],["LAB的A浮点列表","a_bins"],["LAB的B浮点列表","b_bins"]]),"key"),this.setOutput(!0),this.setTooltip("通过遍历image.barcode列表,获取条形码信息")}},rM={init:function(){this.setColour(rR),this.appendDummyInput().appendField("颜色解析"),this.appendValueInput("VAR").appendField("对象").setCheck("var"),this.appendValueInput("percentile").appendField("CDF").setCheck(Number),this.appendDummyInput().appendField("获取").appendField(new Et.FieldDropdown([["灰度图值","value"],["LAB的L值","l_value"],["LAB的A值","a_value"],["LAB的B值","b_value"]]),"key"),this.setOutput(!0),this.setTooltip("通过histogram列表,获取识别颜色信息")}},dM={init:function(){this.setColour(rR),this.appendDummyInput().appendField("色阈解析"),this.appendValueInput("VAR").appendField("对象").setCheck("var"),this.appendDummyInput().appendField("获取").appendField(new Et.FieldDropdown([["灰度图值","value"],["LAB的L值","l_value"],["LAB的A值","a_value"],["LAB的B值","b_value"]]),"key"),this.setOutput(!0),this.setTooltip("通过遍历image.barcode列表,获取条形码信息")}},IM={init:function(){this.setColour(rR),this.appendDummyInput().appendField("RGB888值"),this.appendValueInput("LIST").appendField("由LAB"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("LAB转RGB888")}},TM={init:function(){this.setColour(rR),this.appendDummyInput().appendField("LAB值"),this.appendValueInput("LIST").appendField("由RGB888"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("RGB888转LAB")}},hM={init:function(){this.setColour(rR),this.appendDummyInput().appendField("灰度值"),this.appendValueInput("LIST").appendField("由RGB888"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("RGB888转灰度图")}},mM={init:function(){this.setColour(rR),this.appendDummyInput().appendField("RGB888"),this.appendValueInput("g_value").appendField("由灰度值").setCheck(Number),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("灰度图转RGB888")}},OM={init:function(){this.setColour(rR),this.appendDummyInput().appendField("定向梯度图"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("roi").setAlign(Et.inputs.Align.RIGHT).appendField("区域-xywh"),this.appendValueInput("size").setAlign(Et.inputs.Align.RIGHT).appendField("线长").setCheck(Number),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("用HOG(定向梯度直方图)线替换ROI中的像素,仅支持灰度图像")}},cM={init:function(){this.setColour(rR),this.appendDummyInput().appendField("特征识别"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("roi").setAlign(Et.inputs.Align.RIGHT).appendField("区域-xywh"),this.appendValueInput("max_keypoints").setAlign(Et.inputs.Align.RIGHT).appendField("关键点数").setCheck(Number),this.appendValueInput("threshold").setAlign(Et.inputs.Align.RIGHT).appendField("角点数").setCheck(Number),this.appendValueInput("scale_factor").setAlign(Et.inputs.Align.RIGHT).appendField("比例因子").setCheck(Number),this.appendValueInput("normalized").setAlign(Et.inputs.Align.RIGHT).appendField("多比例"),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField("返回[keypoints]"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("使用特征识别,返回image.keypoints对象列表")}},RM={init:function(){this.setColour(rR),this.appendDummyInput().appendField("特征比较"),this.appendValueInput("VAR1").setAlign(Et.inputs.Align.RIGHT).appendField("对象1").setCheck("var"),this.appendValueInput("VAR2").setAlign(Et.inputs.Align.RIGHT).appendField("对象2").setCheck("var"),this.appendValueInput("threshold").setAlign(Et.inputs.Align.RIGHT).appendField("相似度").setCheck(Number),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField("返回[kptmatch]"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("使用特征识别,返回image.keypoints对象列表")}},MM={init:function(){this.setColour(rR),this.appendDummyInput().appendField("特征信息"),this.appendValueInput("VAR").appendField("对象").setCheck("var"),this.appendDummyInput().appendField("获取").appendField(new Et.FieldDropdown([["坐标-xywh","rect"],["x分量","x"],["y分量","y"],["w分量","w"],["h分量","h"],["中心-x","cx"],["中心-y","cy"],["匹配量","count"],["弧度","theta"],["匹配点-xy","match"]]),"key"),this.setOutput(!0),this.setTooltip("通过image.kptmatch列表,获取追踪特征信息")}},EM=20,CM={init:function(){this.setColour(EM),this.appendDummyInput("").appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_HIGH,"HIGH"],[Et.Msg.MIXLY_LOW,"LOW"]]),"BOOL"),this.setOutput(!0,Boolean),this.setTooltip(Et.Msg.MIXLY_ESP32_INOUT_HIGHLOW_TOOLTIP)}},AM={init:function(){this.setColour(EM),this.appendDummyInput().appendField("初始化 "),this.appendDummyInput("").appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_Digital_PINMODEOUT,"GPIO.OUT"],[Et.Msg.MIXLY_Digital_PINMODEIN,"GPIO.IN"],[Et.Msg.MIXLY_PINMODEPULLUP,"GPIO.IN, board.GPIO.PULL_UP"],[Et.Msg.MIXLY_PINMODEPULLDOWN,"GPIO.IN, board.GPIO.PULL_DOWN"]]),"MODE"),this.appendValueInput("PIN",Number).appendField("管脚").setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_INOUT_DIGITAL_INIT_TOOLTIP)}},gM={init:function(){this.setColour(EM),this.appendValueInput("PIN",Number).appendField(Et.Msg.MIXLY_Digital_PINMODEOUT).setCheck(Number),this.appendValueInput("STAT").appendField(Et.Msg.MIXLY_STAT).setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_INOUT_DIGITAL_WRITE_TOOLTIP)}},SM={init:function(){this.setColour(EM),this.appendValueInput("PIN",Number).appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Et.Msg.MIXLY_Digital_PINMODEIN).setCheck(Number),this.appendDummyInput().appendField("值"),this.setInputsInline(!0),this.setOutput(!0,[Boolean,Number]),this.setTooltip(Et.Msg.MIXLY_ESP32_INOUT_DIGITAL_READ_TOOLTIP)}},DM={init:function(){this.setColour(EM),this.appendDummyInput().appendField("初始化 PWM输出"),this.appendValueInput("PIN",Number).appendField("管脚").setCheck(Number),this.appendValueInput("freq").appendField("频率").setCheck(Number),this.appendValueInput("VAR").appendField("定时器").setCheck("var"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("初始化PWM输出设置,需要调用定时器")}},LM={init:function(){this.setColour(EM),this.appendValueInput("PIN",Number).appendField("PWM输出").setCheck(Number),this.appendValueInput("pwm").appendField("占空比").setCheck(Number),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("PWM输出,值范围为0-100%,可以为小数")}},NM={init:function(){this.setColour(EM),this.appendDummyInput().appendField("硬件中断"),this.appendValueInput("PIN",Number).appendField("管键").setCheck(Number),this.appendDummyInput("").appendField(Et.Msg.MIXLY_MODE).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_RISING,"GPIO.IRQ_RISING"],[Et.Msg.MIXLY_FALLING,"GPIO.IRQ_FALLING"],[Et.Msg.MIXLY_CHANGE,"GPIO.IRQ_BOTH"]]),"mode"),this.appendValueInput("DO").appendField(Et.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_INOUT_PIN_ATTACHINTERRUPT_TOOLTIP)}},fM={init:function(){this.setColour(EM),this.appendDummyInput().appendField("取消中断"),this.appendValueInput("PIN",Number).appendField("管键").setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("取消中断")}},FM="#637AAC",vM={init:function(){this.setColour(FM),this.appendDummyInput().appendField("OneNET 连接WiFi"),this.appendValueInput("WIFINAME").setCheck(String).appendField(Et.Msg.HTML_NAME),this.appendValueInput("PASSWORD").setCheck(String).appendField(Et.Msg.HTML_PASSWORD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_IOT_WIFI_CONNECT_TOOLTIP)}},PM={init:function(){this.setColour(FM),this.appendValueInput("VAR").setCheck("var").appendField("OneNET"+Et.Msg.TUPLE_JOIN),this.appendValueInput("CLIENT").setAlign(Et.inputs.Align.RIGHT).setCheck(String).appendField(Et.Msg.MIXLY_ESP32_ONENET_CLIENT),this.appendValueInput("SERVER").setAlign(Et.inputs.Align.RIGHT).setCheck(String).appendField(Et.Msg.MIXLY_ESP32_ONENET_SERVER),this.appendValueInput("USERNAME").setAlign(Et.inputs.Align.RIGHT).setCheck(String).appendField(Et.Msg.MIXLY_ESP32_ONENET_USERNAME),this.appendValueInput("PASSWORD").setAlign(Et.inputs.Align.RIGHT).setCheck(String).appendField(Et.Msg.MIXLY_ESP32_ONENET_PASSWORD),this.appendValueInput("TOPIC").setAlign(Et.inputs.Align.RIGHT).setCheck(String).appendField(Et.Msg.MIXLY_ESP32_ONENET_TOPIC),this.appendValueInput("SUB").setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_ESP32_ONENET_SUB),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_IOT_ONENET_CONNECT_TOOLTIP)}},VM={init:function(){this.setColour(FM),this.appendValueInput("VAR").setCheck("var").appendField("OneNET"),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_IOT_ONENET_DISCONNECT_TOOLTIP)}},yM={init:function(){this.setColour(FM),this.appendValueInput("VAR").setCheck("var").appendField("OneNET"),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_CHECK_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_IOT_ONENET_CHECK_TOOLTIP)}},YM={init:function(){this.setColour(FM),this.appendValueInput("VAR").setCheck("var").appendField("OneNET"),this.appendValueInput("DICT").appendField(Et.Msg.MIXLY_ESP32_PUBLISH_ONENET),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_IOT_ONENET_PRINT_DATA).appendField(new Et.FieldCheckbox("TRUE"),"is_print"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_IOT_ONENET_PUBLISH_DICT_TOOLTIP)}},bM={init:function(){this.setColour(FM),this.appendValueInput("VAR").setCheck("var").appendField("OneNET").setAlign(Et.inputs.Align.RIGHT),this.appendDummyInput().appendField(new Et.FieldLabel(Et.Msg.MIXLY_ESP32_PUBLISH_ONENET),"TIP").setAlign(Et.inputs.Align.RIGHT),this.itemCount_=2,this.updateShape_(),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Et.icons.MutatorIcon(["iot_publish_item"],this)),this.setTooltip(Et.Msg.MIXLY_ESP32_IOT_ONENET_PUBLISH_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("iot_publish_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Et.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},kM={init:function(){this.setColour(FM),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(Et.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},XM={init:function(){this.setColour(FM),this.appendDummyInput().appendField(Et.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},GM={init:function(){this.setColour(FM),this.appendDummyInput().appendField(Et.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},wM=vM,UM=PM,xM=VM,HM=yM,BM=bM,WM=230;Et.FieldTextInput.math_number_validator=function(t){return/^-?(0X|0x|0O|0o|0B|0b)?[a-fA-F0-9]{1,}(\.[a-fA-F0-9]+)?$/.test(t)?String(t):null},Et.FieldTextInput.math_number_validator_include_blank=function(t){if(""===t)return"";return/^-?(0X|0x|0O|0o|0B|0b)?[a-fA-F0-9]{1,}(\.[a-fA-F0-9]+)?$/.test(t)?String(t):null};const KM={init:function(){this.setColour(WM),this.appendDummyInput().appendField(new Et.FieldTextInput("0",Et.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(Et.Msg.MATH_NUMBER_TOOLTIP)}},qM={init:function(){this.setColour(WM);this.appendDummyInput("").appendField(Et.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new Et.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:Et.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_TOOLTIP,e:Et.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_TOOLTIP}[e]}))}},QM={init:function(){this.setColour(WM),this.setOutput(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Et.FieldDropdown([["+","ADD"],["-","MINUS"],["×","MULTIPLY"],["÷","DIVIDE"],["%","QUYU"],["//","ZHENGCHU"],["**","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:Et.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:Et.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:Et.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:Et.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:Et.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:Et.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:Et.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},jM={init:function(){this.setColour(WM),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Et.FieldDropdown([["+=","ADD"],["-=","MINUS"],["×=","MULTIPLY"],["÷=","DIVIDE"],["%=","QUYU"],["//=","ZHENGCHU"],["**=","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:Et.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:Et.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:Et.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:Et.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:Et.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:Et.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:Et.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},JM={init:function(){this.setColour(WM),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new Et.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},zM={init:function(){this.setColour(WM),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new Et.FieldDropdown([["sin","SIN"],["cos","COS"],["tan","TAN"],["asin","ASIN"],["acos","ACOS"],["atan","ATAN"],["-","-"],["ln","LN"],["log10","LOG10"],["e^","EXP"],["10^","POW10"]]),"OP");var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{SIN:Et.Msg.MATH_TRIG_TOOLTIP_SIN,COS:Et.Msg.MATH_TRIG_TOOLTIP_COS,TAN:Et.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:Et.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:Et.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:Et.Msg.MATH_TRIG_TOOLTIP_ATAN,LN:Et.Msg.MATH_SINGLE_TOOLTIP_LN}[e]}))}},ZM={init:function(){var t=[[Et.Msg.LANG_MATH_TO_ROUND,"round"],[Et.Msg.LANG_MATH_TO_CEIL,"ceil"],[Et.Msg.LANG_MATH_TO_FLOOR,"floor"],[Et.Msg.MATH_ABS,"fabs"],[Et.Msg.MATH_SQRT,"sqrt"]];this.setColour(WM),this.appendValueInput("A").setCheck(Number).appendField(new Et.FieldDropdown(t),"OP"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{sqrt:Et.Msg.MATH_SINGLE_TOOLTIP_ROOT,fabs:Et.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:Et.Msg.MATH_SINGLE_TOOLTIP_SQ,round:Et.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:Et.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:Et.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[t]}))}},$M={init:function(){var t=[[Et.Msg.MIXLY_MAX,"max"],[Et.Msg.MIXLY_MIN,"min"]];this.setColour(WM),this.appendValueInput("A").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(new Et.FieldDropdown(t),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(Et.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{max:Et.Msg.MIXLY_TOOLTIP_MATH_MAX,min:Et.Msg.MIXLY_TOOLTIP_MATH_MIN}[t]}))}},tE={init:function(){var t=[[Et.Msg.MIXLY_MAX,"max"],[Et.Msg.MIXLY_MIN,"min"]];this.setColour(WM),this.appendValueInput("LIST").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(new Et.FieldDropdown(t),"OP"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{max:Et.Msg.MIXLY_TOOLTIP_MATH_MAX,min:Et.Msg.MIXLY_TOOLTIP_MATH_MIN}[t]}))}},eE={init:function(){var t=[[Et.Msg.MATH_TWO,"two"],[Et.Msg.MATH_EIGHT,"eight"],[Et.Msg.MATH_TEN,"ten"],[Et.Msg.MATH_SIXTEEN,"sixteen"]];this.setColour(WM),this.appendDummyInput("").appendField(Et.Msg.MATH_BA),this.appendValueInput("NUM").appendField(new Et.FieldDropdown(t),"OP").appendField(Et.Msg.MATH_JinZhi).setCheck(Number),this.appendDummyInput("").appendField(Et.Msg.MATH_ZHW).appendField(new Et.FieldDropdown(t),"OP2").appendField(Et.Msg.MATH_JinZhi),this.setFieldValue("ten","OP2"),this.setOutput(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i={two:Et.Msg.MATH_Before_two,eight:Et.Msg.MATH_Before_eight,ten:Et.Msg.MATH_Before_ten,sixteen:Et.Msg.MATH_Before_sixteen},n=e.getFieldValue("OP2"),s={two:Et.Msg.MATH_Behind_two,eight:Et.Msg.MATH_Behind_eight,ten:Et.Msg.MATH_Behind_ten,sixteen:Et.Msg.MATH_Behind_sixteen};return i[t]+s[n]}))}},iE={init:function(){var t=[[Et.Msg.LANG_MATH_INT,"int"],[Et.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(WM),this.setOutput(!0,Number),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_RANDOM).appendField(new Et.FieldDropdown(t),"TYPE"),this.appendValueInput("FROM").setCheck(Number).appendField(Et.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TYPE"),i={int:Et.Msg.LANG_MATH_INT,float:Et.Msg.LANG_MATH_FLOAT_RANDOM};return Et.Msg.MATH_RANDOM_INT_TOOLTIP+i[t]}))}},nE={init:function(){this.setColour(WM),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(Et.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(Et.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(Et.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(Et.Msg.MATH_CONSTRAIN_TOOLTIP)}},sE={init:function(){this.setColour(WM),this.appendValueInput("NUM",Number).appendField(Et.Msg.MIXLY_MAP).setCheck(Number),this.appendValueInput("fromLow",Number).appendField(Et.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(Et.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_MATH_MAP)}},oE={init:function(){this.setColour(WM),this.appendDummyInput().appendField(new Et.FieldTextInput("0",Et.FieldTextInput.math_number_validator_include_blank),"NUM"),this.setOutput(!0),this.setTooltip(Et.Msg.MATH_NUMBER_TOOLTIP)}},pE={init:function(){this.setColour(WM),this.appendValueInput("NUM").setCheck(Number).appendField(Et.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED)}},uE=sE,aE="#2E9883",lE={init:function(){this.setColour(aE),this.appendDummyInput().appendField("NES 初始化"),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField("PS2手柄"),this.appendValueInput("miso_pin",Number).setAlign(Et.inputs.Align.RIGHT).appendField("DAT#").setCheck(Number),this.appendValueInput("mosi_pin",Number).setAlign(Et.inputs.Align.RIGHT).appendField("CMD#").setCheck(Number),this.appendValueInput("cs_pin",Number).setAlign(Et.inputs.Align.RIGHT).appendField("SEL#").setCheck(Number),this.appendValueInput("clk_pin",Number).setAlign(Et.inputs.Align.RIGHT).appendField("CLK#").setCheck(Number),this.appendValueInput("vol").setAlign(Et.inputs.Align.RIGHT).appendField("音量").setCheck(Number),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("初始化NES,使用PS2手柄控制")}},_E={init:function(){this.setColour(aE),this.appendDummyInput().appendField("NES 初始化"),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField("UART键盘"),this.appendValueInput("vol").setAlign(Et.inputs.Align.RIGHT).appendField("音量").setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("初始化NES,使用串口键盘控制")}},rE={init:function(){this.setColour(aE),this.appendDummyInput().appendField("NES 运行游戏"),this.appendValueInput("path").appendField("路径").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("运行NES游戏ROM")}},dE="#5B6DA5",IE={init:function(){this.setColour(dE),this.appendDummyInput().appendField("ESP-AT 初始化"),this.appendValueInput("RX",Number).appendField("RX#").setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("TX",Number).appendField("TX#").setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("使用串口连接ESP-AT设备,并初始化配置")}},TE={init:function(){this.setColour(dE),this.appendDummyInput().appendField("WiFi扫描"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("扫描附近可用的WiFi信息-返回多信息列表")}},hE={init:function(){this.setColour(dE),this.appendDummyInput("").appendField("WiFi连接"),this.appendValueInput("account").appendField("名称").setCheck(String),this.appendValueInput("password").appendField("密码").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("配置WiFi名称及密码,连接WiFi上网")}},mE={init:function(){this.setColour(dE),this.appendDummyInput().appendField("WiFi").appendField(new Et.FieldDropdown([["连接信息","1"],["连接状态","2"]]),"mode"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("查看wifi连接信息或者连接状态")}},OE={init:function(){this.setColour(dE),this.appendDummyInput().appendField("WiFi断开连接"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("断开wifi连接")}},cE={init:function(){this.setColour(dE),this.appendDummyInput("").setAlign(Et.inputs.Align.RIGHT).appendField("打开热点"),this.appendValueInput("account").setAlign(Et.inputs.Align.RIGHT).appendField("名称").setCheck(String),this.appendValueInput("password").setAlign(Et.inputs.Align.RIGHT).appendField("密码").setCheck(String),this.appendValueInput("chl").setAlign(Et.inputs.Align.RIGHT).appendField("通道").setCheck(Number),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField("加密").appendField(new Et.FieldDropdown([["WPA2_PSK","WPA2_PSK"],["OPEN","OPEN"],["WPA_PSK","WPA_PSK"],["WPA_WPA2_PSK","WPA_WPA2_PSK"]]),"mode"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("打开WiFi热点并配置")}},RE={init:function(){this.setColour(dE),this.appendDummyInput().appendField("关闭热点"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("关闭热点")}},ME={init:function(){this.setColour(dE),this.appendValueInput("VAR").appendField("").setCheck("var"),this.appendDummyInput().appendField("套接字 初始化"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("套接字初始化")}},EE={init:function(){this.setColour(dE),this.appendValueInput("VAR").appendField("").setCheck("var"),this.appendDummyInput().appendField("获取地址"),this.appendValueInput("addr").setAlign(Et.inputs.Align.RIGHT).appendField("域名").setCheck(String),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("套接字根据域名解析地址IP信息")}},CE={init:function(){this.setColour(dE),this.appendValueInput("VAR").appendField("").setCheck("var"),this.appendDummyInput().appendField("创建连接"),this.appendValueInput("address").appendField("地址"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip("套接字创建目标IP地址连接")}},AE={init:function(){this.setColour(dE),this.appendValueInput("VAR").appendField("").setCheck("var"),this.appendDummyInput().appendField("超时时间"),this.appendValueInput("time").setAlign(Et.inputs.Align.RIGHT).appendField("").setCheck(Number),this.appendDummyInput().appendField("s"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip("设置阻塞套接字超时时间")}},gE={init:function(){this.setColour(dE),this.appendValueInput("VAR").appendField("").setCheck("var"),this.appendValueInput("content").appendField("发送数据"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip("套接发送数据")}},SE={init:function(){this.setColour(dE),this.appendValueInput("VAR").appendField("").setCheck("var"),this.appendDummyInput().appendField("接收数据"),this.appendValueInput("size").appendField("字节").setCheck(Number),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("套接接收数据,返回接收到的数据对象")}},DE={init:function(){this.setColour(dE),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_CLOSE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},LE=230,NE={init:function(){this.setColour(LE),this.appendDummyInput("").appendField(new Et.FieldDropdown(Ct.Profile.default.digital),"PIN"),this.setOutput(!0)}},fE={init:function(){this.setColour(LE),this.appendDummyInput("").appendField(new Et.FieldDropdown(Ct.Profile.default.digital_pin),"PIN"),this.setOutput(!0,Number)}},FE={init:function(){this.setColour(LE),this.appendDummyInput("").appendField(new Et.FieldDropdown(Ct.Profile.default.analog),"PIN"),this.setOutput(!0)}},vE={init:function(){this.setColour(LE),this.appendDummyInput("").appendField(new Et.FieldDropdown(Ct.Profile.default.analog_pin),"PIN"),this.setOutput(!0,Number)}},PE={init:function(){this.setColour(LE),this.appendDummyInput("").appendField(new Et.FieldDropdown(Ct.Profile.default.dac),"PIN"),this.setOutput(!0)}},VE={init:function(){this.setColour(LE),this.appendDummyInput("").appendField(new Et.FieldDropdown(Ct.Profile.default.dac_pin),"PIN"),this.setOutput(!0,Number)}},yE={init:function(){this.setColour(LE),this.appendDummyInput("").appendField(new Et.FieldDropdown(Ct.Profile.default.button),"PIN"),this.setOutput(!0,Number)}},YE={init:function(){this.setColour(LE),this.appendDummyInput("").appendField(new Et.FieldDropdown(Ct.Profile.default.pwm),"PIN"),this.setOutput(!0)}},bE={init:function(){this.setColour(LE),this.appendDummyInput("").appendField(new Et.FieldDropdown(Ct.Profile.default.pwm_pin),"PIN"),this.setOutput(!0,Number)}},kE={init:function(){this.setColour(LE),this.appendDummyInput("").appendField(new Et.FieldDropdown(Ct.Profile.default.touch_pin),"PIN"),this.setOutput(!0,Number)}},XE={init:function(){this.setColour(LE),this.appendDummyInput("").appendField(new Et.FieldDropdown(Ct.Profile.default.touch),"PIN"),this.setOutput(!0)}},GE={init:function(){this.setColour(LE),this.appendDummyInput("").appendField(new Et.FieldDropdown(Ct.Profile.default.serial_pin),"PIN"),this.setOutput(!0,Number)}},wE={init:function(){this.setColour(LE),this.appendDummyInput("").appendField(new Et.FieldDropdown(Ct.Profile.default.builtinimg),"PIN"),this.setOutput(!0,"esp32_image")}},UE={init:function(){this.setColour(LE),this.appendDummyInput("").appendField(new Et.FieldDropdown(Ct.Profile.default.imglist),"PIN"),this.setOutput(!0)}},xE={init:function(){this.setColour(LE),this.appendDummyInput("").appendField(new Et.FieldDropdown(Ct.Profile.default.playlist),"PIN"),this.setOutput(!0)}},HE={init:function(){this.setColour(LE),this.appendDummyInput("").appendField(new Et.FieldDropdown(Ct.Profile.default.exlcdh),"PIN"),this.setOutput(!0,Number)}},BE={init:function(){this.setColour(LE),this.appendDummyInput("").appendField(new Et.FieldDropdown(Ct.Profile.default.exlcdv),"PIN"),this.setOutput(!0,Number)}},WE={init:function(){this.setColour(LE),this.appendDummyInput("").appendField(new Et.FieldDropdown(Ct.Profile.default.axis),"PIN"),this.setOutput(!0,Number)}},KE={init:function(){this.setColour(LE),this.appendDummyInput("").appendField(new Et.FieldDropdown(Ct.Profile.default.brightness),"PIN"),this.setOutput(!0,Number)}},qE={init:function(){this.setColour(LE),this.appendDummyInput("").appendField(new Et.FieldDropdown(Ct.Profile.default.tone_notes),"PIN"),this.setOutput(!0,Number)}},QE={init:function(){this.setColour(LE),this.appendDummyInput("").appendField(new Et.FieldDropdown(Ct.Profile.default.radio_power),"PIN"),this.setOutput(!0,Number)}},jE={init:function(){this.setColour(LE),this.appendDummyInput("").appendField(new Et.FieldDropdown(Ct.Profile.default.radio_datarate),"PIN"),this.setOutput(!0,Number)}},JE={init:function(){this.setColour(LE),this.appendDummyInput("").appendField(new Et.FieldDropdown(Ct.Profile.default.one_more),"PIN"),this.setOutput(!0)}},zE={init:function(){this.setColour(LE),this.appendDummyInput("").appendField(new Et.FieldDropdown(Ct.Profile.default.digital_dot),"PIN"),this.setOutput(!0,Number)}},ZE=40,$E={init:function(){this.setColour(ZE),this.appendDummyInput("").appendField(new Et.FieldDropdown([["A","17"],["B","16"]]),"KEY"),this.setOutput(!0),this.setTooltip()}},tC={init:function(){this.setColour(ZE),this.appendDummyInput().appendField("初始化"),this.appendValueInput("key").appendField("按键"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("初始化按键")}},eC={init:function(){this.setColour(ZE),this.appendValueInput("key").appendField("按键"),this.appendDummyInput().appendField("被按下?"),this.setInputsInline(!0),this.setOutput(!0,[Boolean,Number]),this.setTooltip("获取按键值")}},iC={init:function(){this.setColour(ZE),this.appendDummyInput().appendField("DHT11"),this.appendValueInput("PIN",Number).appendField(Et.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField("获取").appendField(new Et.FieldDropdown([["温度-℃","0"],["湿度-%","1"],["温湿度","2"]]),"TYPE"),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip("dht11,获取温湿度")}},nC={init:function(){this.setColour(ZE),this.appendDummyInput("").appendField(Et.Msg.MIXLY_CHAOSHENGBO),this.appendValueInput("PIN1",Number).appendField("Trig #").setCheck(Number),this.appendValueInput("PIN2",Number).appendField("Echo #").setCheck(Number),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_BLOCKGROUP_CHAOSHENGBO)}},sC={init:function(){this.setColour(ZE),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new Et.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Et.Msg.MIXLY_MICROBIT_Direction,s=Et.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":Et.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},oC={init:function(){this.setColour(ZE),this.appendValueInput("I2CSUB").appendField(Et.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_SETUP+Et.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new Et.FieldDropdown([["MPU9250","MPU9250"],["BMP280","BMP280"],["SHT20","SHT20"],["ADXL345","ADXL345"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setFieldValue("MPU9250","key");var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return Et.Msg.MIXLY_ESP32_SENSOR_USE_I2C_TOOLTIP+{MPU9250:"MPU9250",SHT20:"SHT20",BMP280:"BMP280",ADXL345:"ADXL345"}[e]}))}},pC={init:function(){this.setColour(ZE),this.appendValueInput("SUB").appendField("BMP280").setCheck("var"),this.appendDummyInput("").appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_GETTEMPERATUE,"get_BMP_temperature()"],[Et.Msg.MIXLY_GETPRESSURE,"get_BMP_pressure()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{"get_BMP_temperature()":Et.Msg.MIXLY_MICROBIT_SENSOR_BMP_temperature_TOOLTIP,"get_BMP_pressure()":Et.Msg.MIXLY_MICROBIT_SENSOR_BMP_press_TOOLTIP}[e]}))}},uC={init:function(){this.setColour(ZE),this.appendValueInput("SUB").appendField("SHT20").setCheck("var"),this.appendDummyInput("").appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_GETTEMPERATUE,"get_SHT_temperature()"],[Et.Msg.MIXLY_GETHUMIDITY,"get_SHT_relative_humidity()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{"get_SHT_temperature()":Et.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,"get_SHT_relative_humidity()":Et.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},aC={init:function(){this.setColour(ZE),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_JS_GET+Et.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH).appendField(new Et.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Et.Msg.MIXLY_MICROBIT_Direction,s=Et.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH;return i+{x:"x",y:"y",z:"z","(x,y,z)":Et.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},lC={init:function(){this.setColour(ZE),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+Et.Msg.MIXLY_ESP32_SENOR_GYRO).appendField(new Et.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Et.Msg.MIXLY_MICROBIT_Direction,s=Et.Msg.MIXLY_ESP32_SENOR_GYRO;return i+{x:"x",y:"y",z:"z","(x,y,z)":Et.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},_C={init:function(){this.setColour(ZE),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_GETTEMPERATUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_GETTEMPERATUE)}},rC={init:function(){this.setColour(ZE),this.appendValueInput("SUB").appendField("ADXL345").setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new Et.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Et.Msg.MIXLY_MICROBIT_Direction,s=Et.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":Et.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},dC=65,IC={init:function(){this.setColour(dC),this.appendValueInput("CONTENT",String).appendField("Serial").appendField(new Et.FieldDropdown([["uart1","1"],["uart2","2"],["uart3","3"]]),"mode").appendField(Et.Msg.MIXLY_SERIAL_PRINT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Et.Msg.TEXT_PRINT_TOOLTIP)}},TC={init:function(){this.setColour(dC),this.appendValueInput("CONTENT",String).appendField("Serial").appendField(new Et.FieldDropdown([["uart1","1"],["uart2","2"],["uart3","3"]]),"mode").appendField(Et.Msg.MIXLY_SERIAL_PRINTLN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Et.Msg.TEXT_PRINT_Huanhang_TOOLTIP+Et.Msg.TEXT_PRINT_TOOLTIP)}},hC={init:function(){this.setColour(dC),this.appendDummyInput().appendField("Serial").appendField(new Et.FieldDropdown([["uart1","1"],["uart2","2"],["uart3","3"]]),"mode").appendField(Et.Msg.MIXLY_SERIAL_PRINTLN),this.appendValueInput("CONTENT",Number).appendField(new Et.FieldDropdown([[Et.Msg.MATH_BIN,"bin"],[Et.Msg.MATH_OCT,"oct"],[Et.Msg.MATH_DEC,"int"],[Et.Msg.MATH_HEX,"hex"]]),"STAT").setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setFieldValue("hex","STAT"),this.setTooltip(Et.Msg.TEXT_PRINT_HEX_TOOLTIP)}},mC={init:function(){this.setColour(dC),this.appendValueInput("char_marker").setCheck(String).appendField(Et.Msg.MIXLY_MICROBIT_JS_SERIAL_WHEN_CONTAIN_DATA),this.appendStatementInput("DO").appendField(Et.Msg.MIXLY_DO)}},OC={init:function(){this.setColour(dC),this.appendDummyInput().appendField("Serial").appendField(new Et.FieldDropdown([["uart1","1"],["uart2","2"],["uart3","3"]]),"mode").appendField(Et.Msg.MIXLY_SERIAL_READSTR),this.setOutput(!0,String),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_BLOCKGROUP_SERIAL_READ_STR)}},cC={init:function(){this.setColour(dC),this.appendDummyInput().appendField("Serial").appendField(new Et.FieldDropdown([["uart1","1"],["uart2","2"],["uart3","3"]]),"mode").appendField(Et.Msg.MIXLY_SERIAL_AVAILABLE),this.setOutput(!0,Boolean),this.setTooltip(Et.Msg.MIXLY_SERIAL_AVAILABLE1)}},RC={init:function(){this.setColour(dC),this.appendDummyInput().appendField("Serial").appendField(new Et.FieldDropdown([["uart1","1"],["uart2","2"],["uart3","3"]]),"mode").appendField(Et.Msg.MIXLY_ESP32_READ_LINE),this.setOutput(!0,String),this.setTooltip(Et.Msg.MIXLY_MICROBIT_JS_SERIAL_READ_LINE1)}},MC={init:function(){this.setColour(dC),this.appendDummyInput().appendField("Serial "+Et.Msg.MIXLY_SERIAL_READSTR_UNTIL).appendField(new Et.FieldDropdown([["new line","serial.delimiters(Delimiters.NewLine)"],[",","serial.delimiters(Delimiters.Comma)"],["$","serial.delimiters(Delimiters.Dollar)"],[":","serial.delimiters(Delimiters.Colon)"],[".","serial.delimiters(Delimiters.Fullstop)"],["#","serial.delimiters(Delimiters.Hash)"]]),"char_marker"),this.setInputsInline(!0),this.setOutput(!0,String)}},EC={init:function(){this.setColour(dC),this.appendValueInput("RX",Number).appendField(Et.Msg.MIXLY_SETUP).appendField(new Et.FieldDropdown([["uart1","1"],["uart2","2"],["uart3","3"]]),"mode").appendField("RX#").setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("TX",Number).appendField("TX#").setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.appendDummyInput().appendField(Et.Msg.MIXLY_SERIAL_BEGIN).appendField(new Et.FieldDropdown([["115200","115200"],["57600","57600"],["37400","38400"],["31250","31250"],["28800","28800"],["19200","19200"],["14400","14400"],["9600","9600"],["4800","4800"],["2400","2400"],["1200","1200"],["300","300"]]),"baudrate"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_SERIAL_softserial)}},CC={init:function(){this.setColour(dC),this.appendValueInput("VAR").appendField(Et.Msg.blockpy_inout_raw_input).setCheck(String),this.setOutput(!0),this.setTooltip(Et.Msg.INOUT_input_TOOLTIP)}},AC={init:function(){this.setColour(dC),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_SERIAL_PRINTLN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Et.Msg.BLOCKPY_PRINT_TOOLTIP)}},gC={init:function(){this.setColour(dC),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_SERIAL_PRINT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Et.Msg.TEXT_PRINT_TOOLTIP)}},SC={init:function(){this.setColour(dC),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_SERIAL_PRINT),this.appendValueInput("END").appendField(Et.Msg.MIXLY_ENDSWITH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_PYTHON_INOUT_PRINT_END_TOOLTIP)}},DC={init:function(){this.setColour(dC),this.itemCount_=2,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new Et.icons.MutatorIcon(["system_print_item"],this)),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_MIXPY_INOUT_PRINT_MANY_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("system_print_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n {\n"+e.statementToCode(this,"do")+"})\n"},lN=function(t,e){return"control.waitMicros("+(e.valueToCode(this,"data",e.ORDER_ATOMIC)||Ct.Profile.default.serial)+")\n"},_N=function(t,e){return"control.raiseEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||Ct.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||Ct.Profile.default.serial)+")\n"},rN=function(t,e){return"control.onEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||Ct.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||Ct.Profile.default.serial)+", () => {\n"+e.statementToCode(this,"do")+")\n"},dN=function(t,e){return["control.eventTimestamp()",e.ORDER_ATOMIC]},IN=function(t,e){return["control.eventValue()",e.ORDER_ATOMIC]},TN=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},hN=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},mN=function(t,e){return["control.deviceName()",e.ORDER_ATOMIC]},ON=function(t,e){return["control.deviceSerialNumber()",e.ORDER_ATOMIC]},cN=function(t,e){return"panic("+(e.valueToCode(this,"STATUS_CODE",e.ORDER_ATOMIC)||"1000")+")\n"},RN=function(t,e){switch(e.definitions_.import_time="import time",this.getFieldValue("Time")){case"ms":return["time.ticks_ms()",e.ORDER_ATOMIC];case"us":return["time.ticks_us()",e.ORDER_ATOMIC]}},MN=function(){return"while True:\n pass\n"},EN=function(t,e){return e.definitions_.import_mixgo="import mixgo","reset()\n"},CN=function(t,e){e.definitions_["import machine"]="import machine";return"machine.reset()\n"},AN=function(t,e){return e.definitions_["import gc"]="import gc",this.getFieldValue("gc")+"\n"},gN=function(t,e){return e.definitions_.import_os="import os","os.uname()"},SN=function(t,e){e.definitions_.import_time="import time";var i=e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},DN=function(t,e){e.definitions_["from machine import Timer"]="from machine import Timer";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=i%3,s=parseInt(i/3),o=e.valueToCode(this,"period",e.ORDER_NONE);return"tim"+i+" =Timer(Timer.TIMER"+n+",Timer.CHANNEL"+s+",mode=Timer.MODE_"+this.getFieldValue("mode")+",period = "+o+", callback = "+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},LN=function(t,e){return e.definitions_.import_time="import time",["time.ticks_diff("+(e.valueToCode(this,"END",e.ORDER_NONE)||"0")+", "+(e.valueToCode(this,"START",e.ORDER_NONE)||"0")+")",e.ORDER_ATOMIC]},NN=function(t,e){e.definitions_["from machine import Timer"]="from machine import Timer";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return"tim"+i+" = Timer(Timer.TIMER"+i%3+",Timer.CHANNEL"+parseInt(i/3)+", mode=Timer.MODE_PWM)\n"},fN=NN,FN=DN,vN=LN,PN=SN;const VN=function(t,e){return["["+this.getFieldValue("TEXT")+"]",e.ORDER_ATOMIC]},yN=function(t,e){return["("+this.getFieldValue("TEXT")+")",e.ORDER_ATOMIC]},YN=function(t,e){var i=this.getFieldValue("COLOR");return["("+("0x"+(i=i.substr(1)).substr(0,2))+","+("0x"+i.substr(2,2))+","+("0x"+i.substr(4,2))+")",e.ORDER_ATOMIC]},bN=function(t,e){var i=this.getFieldValue("COLOR");return[i=function(t){var e,i,n;e=(t=t.substr(1)).substr(0,2),i=t.substr(2,2),n=t.substr(4,2);var s=(64512&(t="0x"+(t=e+i+n)))>>10;return((248&t)>>3<<8)+((7&s)<<13)+((16252928&t)>>19<<3)+((56&s)>>3)}(i),e.ORDER_ATOMIC]};Object.assign(Et.Variables,gt),Object.assign(Et.Procedures,wl),Et.Python=Ul,Et.generator=Ul,Ct.Profile.default={},Object.assign(Ct.Profile,Um),Object.assign(Ct.Profile.default,Um.k210),Object.assign(Et.Blocks,e,i,n,s,o,p,u,a,l,_,r,d,I,F,f,N,L,v,k,X,G,w,U,x,H,B,W,K,q,Q,j,J,z,Z,$,tt,et),Object.assign(Et.Python.forBlock,T,h,m,O,c,R,M,E,C,A,g,S,D,Y,y,V,P,b,it,nt,st,ot,pt,ut,at,lt,_t,rt,dt,It,Tt,ht,mt,Ot,ct,Rt,Mt)})(); \ No newline at end of file +class St{constructor(t,e){if(this.variablePrefix_=e||"",this.reservedDict_=Object.create(null),t)for(var i=t.split(","),n=0;n0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(Et.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+s).appendField(Et.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(Et.Msg.CONTROLS_IF_MSG_ELSE);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_if_if");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_if_elseif");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var o=t.newBlock("controls_if_else");o.initSvg(),i.connect(o.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],o=null;i;){switch(i.type){case"controls_if_elseif":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_if_else":this.elseCount_++,o=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,o)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_if_elseif":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_if_else":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),o=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(o.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(Et.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+t).appendField(Et.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(Et.Msg.CONTROLS_IF_MSG_ELSE)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},Bt={init:function(){this.setColour(Xt),this.appendValueInput("FROM").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.PYTHON_RANGE).appendField(Et.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.PYTHON_RANGE_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Et.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},Wt={init:function(){this.setColour(Xt),this.appendValueInput("LIST").setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.CONTROLS_FOREACH_INPUT),this.appendValueInput("VAR").appendField(Et.Msg.CONTROLS_FOREACH_INPUT_ITEM),this.appendStatementInput("DO").appendField(Et.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip((function(){return Et.Msg.CONTROLS_FOR_TOOLTIP.replace("“%1”","")}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Et.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Kt={init:function(){this.setColour(Xt),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(Et.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(new Et.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(Et.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT+Et.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return{WHILE:Et.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:Et.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[e]}))}},qt={init:function(){this.setColour(Xt),this.appendDummyInput().appendField(Et.Msg.MIXLY_PYTHON_TRY),this.appendStatementInput("try"),this.appendValueInput("IF1").appendField(Et.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO1").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Et.icons.MutatorIcon(["controls_except","controls_finally"],this)),this.setTooltip(Et.Msg.MIXLY_MIXPY_CONTROL_TRY_TOOLTIP),this.elseifCount_=1,this.elseCount_=0},mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var t=document.createElement("mutation");return this.elseifCount_&&t.setAttribute("elseif",this.elseifCount_),this.elseCount_&&t.setAttribute("else",1),t},domToMutation:function(t){var e=this,i=[],n=[];this.elseCount_&&this.removeInput("ELSE");for(var s=this.elseifCount_;s>0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(Et.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+s).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(Et.Msg.MIXLY_PYTHON_FINALLY);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_try");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_except");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var o=t.newBlock("controls_finally");o.initSvg(),i.connect(o.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],o=null;i;){switch(i.type){case"controls_except":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_finally":this.elseCount_++,o=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,o)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_except":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_finally":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),o=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(o.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(Et.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+t).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(Et.Msg.MIXLY_PYTHON_FINALLY)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},Qt={init:function(){this.setColour(Xt);var t=new Et.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(t,"FLOW").appendField(Et.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0),this.setTooltip(Et.Msg.MIXLY_PYTHON_CONTROLS_FLOW_STATEMENTS_TOOLTIP);var e=this;this.setTooltip((function(){var t=e.getFieldValue("FLOW");return{BREAK:Et.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:Et.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}[t]}))},onchange:function(){if(this.workspace){var t=!1,e=this;do{if("controls_repeat"==e.type||"controls_for"==e.type||"controls_forEach"==e.type||"controls_repeat_ext"==e.type||"controls_whileUntil"==e.type||"do_while"==e.type){t=!0;break}e=e.getSurroundParent()}while(e);t?this.setWarningText(null):this.setWarningText(Et.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}},jt={init:function(){this.setColour(Xt),this.appendDummyInput().appendField(Et.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new Et.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(Et.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return Et.Msg.CONTROLS_FOR_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Et.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Jt={init:function(){this.setColour(Xt),this.appendDummyInput().appendField(Et.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new Et.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(Et.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return Et.Msg.MIXLY_PYTHON_CONTROLS_FOR_RANGE_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Et.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}};Kt.OPERATORS=[[Et.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[Et.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]],Qt.OPERATORS=[[Et.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[Et.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const zt={init:function(){this.setColour(Xt),this.appendDummyInput().appendField(Et.Msg.CONTROLS_IF_IF_TITLE_IF),this.appendStatementInput("STACK"),this.setTooltip(Et.Msg.CONTROLS_IF_IF_TOOLTIP),this.contextMenu=!1}},Zt={init:function(){this.setColour(Xt),this.appendDummyInput().appendField(Et.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},$t={init:function(){this.setColour(Xt),this.appendDummyInput().appendField(Et.Msg.CONTROLS_IF_ELSE_TITLE_ELSE),this.setPreviousStatement(!0),this.setTooltip(Et.Msg.CONTROLS_IF_ELSE_TOOLTIP),this.contextMenu=!1}},te={init:function(){this.setColour(Xt),this.appendDummyInput().appendField("try"),this.appendStatementInput("STACK"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.contextMenu=!1}},ee={init:function(){this.setColour(Xt),this.appendDummyInput().appendField(Et.Msg.MIXLY_PYTHON_EXCEPT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1,this.setTooltip(Et.Msg.MIXLY_MIXPY_CONTROL_EXCEPT_TOOLTIP)}},ie={init:function(){this.setColour(Xt),this.appendDummyInput().appendField(Et.Msg.MIXLY_PYTHON_FINALLY),this.setPreviousStatement(!0),this.contextMenu=!1,this.setTooltip(Et.Msg.MIXLY_MIXPY_CONTROL_FINALLY_TOOLTIP)}},ne={init:function(){this.jsonInit({message0:Et.Msg.CONTROLS_REPEAT_TITLE,args0:[{type:"input_value",name:"TIMES"}],previousStatement:null,nextStatement:null,colour:Xt,tooltip:Et.Msg.CONTROLS_REPEAT_TOOLTIP,helpUrl:Et.Msg.CONTROLS_REPEAT_HELPURL}),this.appendStatementInput("DO")}},se={init:function(){this.setColour(Xt),this.appendValueInput("BOOL").appendField("lambda"),this.appendStatementInput("DO").appendField(Et.Msg.MIXLY_STAT),this.setOutput(!0)}},oe={init:function(){this.setColour(Xt),this.appendDummyInput().appendField(Et.Msg.MIXLY_PYTHON_PASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_PYTHON_CONTROLS_PASS_TOOLTIP)}},pe={init:function(){this.setColour(Xt),this.appendDummyInput().appendField(Et.Msg.MIXLY_PYTHON_CONTROLS_THREAD_START),this.appendValueInput("callback").appendField(Et.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_PYTHON_CONTROLS_THREAD_TOOLTIP)}},ue={init:function(){this.appendDummyInput().appendField(Et.Msg.CONTROLS_REPEAT_TITLE_REPEAT+Et.Msg.MIXLY_DO),this.appendStatementInput("input_data").setCheck(null),this.appendValueInput("select_data").setCheck(null).appendField(Et.Msg.CONTROLS_OPERATOR_UNTIL).appendField(new Et.FieldDropdown([[Et.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"true"],[Et.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"false"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Xt),this.setTooltip("do-while loop"),this.setHelpUrl("")}},ae={init:function(){this.setColour(Xt),this.appendDummyInput().appendField(Et.Msg.MIXLY_OP_GARBAGE_COLLECT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},le={init:function(){this.setColour(Xt),this.appendDummyInput().appendField(Et.Msg.MIXLY_GET_MEM_ALLOC),this.setOutput(!0)}},_e={init:function(){this.setColour(Xt),this.appendDummyInput().appendField(Et.Msg.MIXLY_GET_MEM_FREE),this.setOutput(!0)}},re={init:function(){this.setColour(Xt),this.appendDummyInput().appendField(Et.Msg.MIXLY_GET+Et.Msg.MIXLY_DEVICE+"ID"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Et.Msg.PROCEDURES_DEFRETURN_RETURN+Et.Msg.MIXLY_GET_UNIQUE_IDEN)}},de={init:function(){this.setColour(Xt),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_RTC_TIMESTAMP),this.appendDummyInput().appendField(Et.Msg.MIXLY_TIMESTAMP_TO_DATA),this.setInputsInline(!0),this.setOutput(!0,Number)}},Ie={init:function(){this.setColour(Xt),this.appendDummyInput().appendField(Et.Msg.MIXLY_GET_UNIQUE_IDEN),this.setOutput(!0)}},Te=230;Et.FieldTextInput.math_number_validator=function(t){return String(t)},Et.FieldTextInput.math_number_validator_include_blank=function(t){if(""===t)return"";return/^-?(0X|0x|0O|0o|0B|0b)?[a-fA-F0-9]{1,}(\.[a-fA-F0-9]+)?$/.test(t)?String(t):null};const he={init:function(){this.setColour(Te),this.appendDummyInput().appendField(new Et.FieldTextInput("0",Et.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(Et.Msg.MATH_NUMBER_TOOLTIP)}},me={init:function(){this.setColour(Te);this.appendDummyInput("").appendField(Et.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new Et.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:Et.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_TOOLTIP,e:Et.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_TOOLTIP}[e]}))}},Oe={init:function(){this.setColour(Te);this.appendDummyInput("").appendField(Et.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new Et.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:Et.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_MP_TOOLTIP,e:Et.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_MP_TOOLTIP}[e]}))}},ce={init:function(){this.setColour(Te),this.setOutput(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Et.FieldDropdown([["+","ADD"],["-","MINUS"],["×","MULTIPLY"],["÷","DIVIDE"],["%","QUYU"],["//","ZHENGCHU"],["**","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:Et.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:Et.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:Et.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:Et.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:Et.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:Et.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:Et.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},Re={init:function(){this.setColour(Te),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Et.FieldDropdown([["+=","ADD"],["-=","MINUS"],["×=","MULTIPLY"],["÷=","DIVIDE"],["%=","QUYU"],["//=","ZHENGCHU"],["**=","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:Et.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:Et.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:Et.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:Et.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:Et.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:Et.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:Et.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},Me={init:function(){this.setColour(Te),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new Et.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},Ee={init:function(){this.setColour(Te),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new Et.FieldDropdown([["sin","SIN"],["cos","COS"],["tan","TAN"],["asin","ASIN"],["acos","ACOS"],["atan","ATAN"],["-","-"],["ln","LN"],["log10","LOG10"],["e^","EXP"],["10^","POW10"]]),"OP");var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{SIN:Et.Msg.MATH_TRIG_TOOLTIP_SIN,COS:Et.Msg.MATH_TRIG_TOOLTIP_COS,TAN:Et.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:Et.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:Et.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:Et.Msg.MATH_TRIG_TOOLTIP_ATAN,LN:Et.Msg.MATH_SINGLE_TOOLTIP_LN}[e]}))}},Ce={init:function(){var t=[[Et.Msg.MATH_BIN,"bin"],[Et.Msg.MATH_OCT,"oct"],[Et.Msg.MATH_HEX,"hex"]];this.setColour(Te),this.setOutput(!0,String),this.appendValueInput("NUM").setCheck(Number).appendField(new Et.FieldDropdown(t),"OP");var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{bin:Et.Msg.MATH_DEC_TOOLTIP_BIN,oct:Et.Msg.MATH_DEC_TOOLTIP_OCT,hex:Et.Msg.MATH_DEC_TOOLTIP_HEX}[t]}))}},Ae={init:function(){var t=[[Et.Msg.LANG_MATH_TO_ROUND,"round"],[Et.Msg.LANG_MATH_TO_CEIL,"ceil"],[Et.Msg.LANG_MATH_TO_FLOOR,"floor"],[Et.Msg.MATH_ABS,"fabs"],[Et.Msg.MATH_SQRT,"sqrt"]];this.setColour(Te),this.appendValueInput("A").setCheck(Number).appendField(new Et.FieldDropdown(t),"OP"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{sqrt:Et.Msg.MATH_SINGLE_TOOLTIP_ROOT,fabs:Et.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:Et.Msg.MATH_SINGLE_TOOLTIP_SQ,round:Et.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:Et.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:Et.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[t]}))}},ge={init:function(){var t=[[Et.Msg.MIXLY_MAX,"max"],[Et.Msg.MIXLY_MIN,"min"]];this.setColour(Te),this.appendValueInput("A").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(new Et.FieldDropdown(t),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(Et.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{max:Et.Msg.MIXLY_TOOLTIP_MATH_MAX,min:Et.Msg.MIXLY_TOOLTIP_MATH_MIN}[t]}))}},Se={init:function(){var t=[[Et.Msg.MATH_TWO,"two"],[Et.Msg.MATH_EIGHT,"eight"],[Et.Msg.MATH_TEN,"ten"],[Et.Msg.MATH_SIXTEEN,"sixteen"]];this.setColour(Te),this.appendDummyInput("").appendField(Et.Msg.MATH_BA),this.appendValueInput("NUM").appendField(new Et.FieldDropdown(t),"OP").appendField(Et.Msg.MATH_JinZhi).setCheck(Number),this.appendDummyInput("").appendField(Et.Msg.MATH_ZHW).appendField(new Et.FieldDropdown(t),"OP2").appendField(Et.Msg.MATH_JinZhi),this.setFieldValue("ten","OP2"),this.setOutput(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i={two:Et.Msg.MATH_Before_two,eight:Et.Msg.MATH_Before_eight,ten:Et.Msg.MATH_Before_ten,sixteen:Et.Msg.MATH_Before_sixteen},n=e.getFieldValue("OP2"),s={two:Et.Msg.MATH_Behind_two,eight:Et.Msg.MATH_Behind_eight,ten:Et.Msg.MATH_Behind_ten,sixteen:Et.Msg.MATH_Behind_sixteen};return i[t]+s[n]}))}},De={init:function(){var t=[[Et.Msg.LANG_MATH_INT,"int"],[Et.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(Te),this.setOutput(!0,Number),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_RANDOM).appendField(new Et.FieldDropdown(t),"TYPE"),this.appendValueInput("FROM").setCheck(Number).appendField(Et.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TYPE"),i={int:Et.Msg.LANG_MATH_INT,float:Et.Msg.LANG_MATH_FLOAT_RANDOM};return Et.Msg.MATH_RANDOM_INT_TOOLTIP+i[t]}))}},Le={init:function(){this.setColour(Te),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(Et.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(Et.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(Et.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(Et.Msg.MATH_CONSTRAIN_TOOLTIP)}},Ne={init:function(){this.setColour(Te),this.appendValueInput("NUM",Number).appendField(Et.Msg.MIXLY_MAP).setCheck(Number),this.appendValueInput("fromLow",Number).appendField(Et.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(Et.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_MATH_MAP)}},fe={init:function(){this.setColour(Te),this.appendDummyInput().appendField(new Et.FieldTextInput("0",Et.FieldTextInput.math_number_validator_include_blank),"NUM"),this.setOutput(!0),this.setTooltip(Et.Msg.MATH_NUMBER_TOOLTIP)}},Fe={init:function(){this.setColour(Te),this.appendValueInput("NUM").setCheck(Number).appendField(Et.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED)}},ve={init:function(){this.setColour(Te),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number),this.appendValueInput("VAR").setCheck(Number).appendField(Et.Msg.MATH_ROUND).appendField(Et.Msg.TEXT_KEEP),this.appendDummyInput().appendField(Et.Msg.TEXT_DECIMAL),this.setInputsInline(!0),this.setTooltip(Et.Msg.MATH_ROUND_NEW_TOOLTIP)}},Pe={init:function(){var t=[[Et.Msg.MIXLY_TO_INT,"int"],[Et.Msg.MIXLY_TO_FLOAT,"float"],[Et.Msg.MIXLY_TO_BITES,"b"],[Et.Msg.LANG_MATH_BYTE+Et.Msg.MIXLY_TO_INT,"bti"]];this.setColour(Te),this.appendValueInput("VAR").appendField(new Et.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:Et.Msg.MIXLY_PYTHON_TOOLTIP_TOINT,float:Et.Msg.MIXLY_PYTHON_TOOLTIP_TOFLOAT,b:Et.Msg.MIXLY_TOOLTIP_TEXT_TOBYTE}[t]}))}},Ve={init:function(){var t=[[Et.Msg.MIXLY_TO_INT,"int"],[Et.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(Te),this.appendValueInput("VAR").appendField(new Et.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:Et.Msg.MIXLY_TOOLTIP_TEXT_TOINT,float:Et.Msg.MIXLY_TOOLTIP_TEXT_TOFLOAT}[t]}))}},ye=Ne,Ye={init:function(){this.setColour(Te),this.appendValueInput("VAR").appendField(Et.Msg.LANG_MATH_BYTE+Et.Msg.MIXLY_TO_HEX),this.setOutput(!0,Number),this.setTooltip(Et.Msg.MIXLY_PYTHON_TOOLTIP_TOHEX)}},be={init:function(){this.setColour(Te),this.itemCount_=1,this.setMutator(new Et.icons.MutatorIcon(["lists_create_with_item"],this)),this.appendDummyInput("DUMMY").appendField(Et.Msg.MIXLY_PRODUCT+Et.Msg.MIXLY_GENERATE_CARTESIAN_PRODUCT),this.appendValueInput("REPEAT").appendField(Et.Msg.MIXLY_EVERY_PER_ELEPER_ELEMENT),this.appendDummyInput().appendField(Et.Msg.CONTROLS_REPEAT_TITLE_TIMES),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0),this.setTooltip(Et.Msg.LISTS_CREATE_WITH_PYTHON_TOOLTIP),this.updateShape_()},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("lists_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n1&&"\\"===t.charAt(0)){var e=t.charAt(1);if("0"===e||"b"===e||"f"===e||"n"===e||"r"===e||"t"===e||"\\"===e||"'"===e)return String(t).substring(0,2);if("x"===e&&"0"===t.charAt(2)&&"B"===t.charAt(3))return String(t).substring(0,4)}return String(t).substring(0,1)};const He={init:function(){this.setColour(Ge),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new Et.FieldTextInput("",Et.FieldTextInput.char_validator),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,Number),this.setTooltip(Et.Msg.TEXT_CHAR_TOOLTIP)},newQuote_:function(t){if(1==t)var e="../../media/quote2.png";else e="../../media/quote3.png";return new Et.FieldImage(e,7,12,'"')}},Be={init:function(){this.setColour(Ge),this.appendValueInput("A").setCheck([String,Number]),this.appendValueInput("B").setCheck([String,Number]).appendField(Et.Msg.MIXLY_TEXT_JOIN),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_TEXT_JOIN)}},We={init:function(){this.setColour(Ge),this.appendValueInput("VAR").setCheck(Number).appendField(Et.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},Ke={init:function(){this.setColour(Ge),this.appendValueInput("VAR").setCheck(String).appendField(Et.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},qe={init:function(){this.setColour(Ge),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(Et.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},Qe={init:function(){this.setColour(Ge),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},je={init:function(){this.WHERE_OPTIONS=[[Et.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[Et.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[Et.Msg.TEXT_GET_INDEX_RANDOM+1+Et.Msg.TEXT_CHARAT2,"RANDOM"]],this.setHelpUrl(Et.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ge),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number),this.appendDummyInput().appendField(Et.Msg.LISTS_GET_INDEX_GET,"MODE"),Et.Msg.LISTS_GET_INDEX_TAIL&&this.appendDummyInput("TAIL").appendField(Et.Msg.LISTS_GET_INDEX_TAIL),this.setInputsInline(!0),this.setOutput(!0),this.updateAt_(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=t.getFieldValue("WHERE"),n="";switch(e+" "+i){case"GET FROM_START":case"GET FROM_END":n=Et.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM;break;case"GET RANDOM":n=Et.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM;break;case"GET_REMOVE FROM_START":case"GET_REMOVE FROM_END":n=Et.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM;break;case"GET_REMOVE RANDOM":n=Et.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM}return"FROM_START"!=i&&"FROM_END"!=i||(n+=" "+Et.Msg.LISTS_INDEX_FROM_START_TOOLTIP.replace("%1",Et.Msg.ONE_BASED_INDEXING?"#1":"#0")),n}));var e=this;this.setTooltip((function(){var t=e.getFieldValue("WHERE"),i={FROM_START:Et.Msg.LISTS_GET_INDEX_FROM_START,FROM_END:Et.Msg.LISTS_GET_INDEX_FROM_END,RANDOM:Et.Msg.TEXT_GET_INDEX_RANDOM};return Et.Msg.PROCEDURES_DEFRETURN_RETURN+Et.Msg.MIXLY_MICROBIT_TYPE_STRING+i[t]+"n"+Et.Msg.TEXT_CHARAT2}))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("statement",!this.outputConnection);var e=this.getInput("AT").type==Et.INPUT_VALUE;return t.setAttribute("at",e),t},domToMutation:function(t){var e="true"==t.getAttribute("statement");this.updateStatement_(e),t="false"!=t.getAttribute("at"),this.updateAt_(t)},updateStatement_:function(t){t!=!this.outputConnection&&(this.unplug(!0,!0),t?(this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)):(this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)))},updateAt_:function(t){this.removeInput("AT"),this.removeInput("ORDINAL",!0),t?(this.appendValueInput("AT").setCheck(Number),Et.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL").appendField(Et.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT");var e=new Et.FieldDropdown(this.WHERE_OPTIONS,(function(e){var i="FROM_START"==e||"FROM_END"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT").appendField(e,"WHERE"),Et.Msg.LISTS_GET_INDEX_TAIL&&this.moveInputBefore("TAIL",null)}},Je={init:function(){this.setHelpUrl(Et.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ge),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number).appendField(Et.Msg.LISTS_GET_INDEX_GET+" "+Et.Msg.LISTS_GET_INDEX_FROM_START),this.appendDummyInput().appendField(Et.Msg.TEXT_CHARAT2),this.setOutput(!0),this.setTooltip(Et.Msg.PROCEDURES_DEFRETURN_RETURN+Et.Msg.MIXLY_MICROBIT_TYPE_STRING+Et.Msg.LISTS_GET_INDEX_FROM_START+"n"+Et.Msg.TEXT_CHARAT2)}},ze={init:function(){this.setHelpUrl(Et.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ge),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(Et.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(Et.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},Ze={init:function(){this.WHERE_OPTIONS_1=[[Et.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[Et.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[Et.Msg.LISTS_GET_SUBLIST_START_FIRST,"FIRST"]],this.WHERE_OPTIONS_2=[[Et.Msg.LISTS_GET_SUBLIST_END_FROM_START,"FROM_START"],[Et.Msg.LISTS_GET_SUBLIST_END_FROM_END,"FROM_END"],[Et.Msg.LISTS_GET_SUBLIST_END_LAST,"LAST"]],this.setHelpUrl(Et.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Ge),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput("").appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput("AT1"),this.appendDummyInput("AT2"),this.setInputsInline(!0),this.setOutput(!0,"List"),this.updateAt_(1,!0),this.updateAt_(2,!0),this.setTooltip(Et.Msg._GET_TEXT_SUBLIST_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT1").type==Et.INPUT_VALUE;t.setAttribute("at1",e);var i=this.getInput("AT2").type==Et.INPUT_VALUE;return t.setAttribute("at2",i),t},domToMutation:function(t){var e="true"==t.getAttribute("at1"),i="true"==t.getAttribute("at2");this.updateAt_(1,e),this.updateAt_(2,i)},updateAt_:function(t,e){this.removeInput("AT"+t),this.removeInput("ORDINAL"+t,!0),e?(this.appendValueInput("AT"+t).setCheck(Number),Et.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL"+t).appendField(Et.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT"+t);var i=new Et.FieldDropdown(this["WHERE_OPTIONS_"+t],(function(i){var n="FROM_START"==i||"FROM_END"==i;if(n!=e){var s=this.sourceBlock_;return s.updateAt_(t,n),s.setFieldValue(i,"WHERE"+t),null}}));this.getInput("AT"+t).appendField(i,"WHERE"+t),1==t&&(this.moveInputBefore("AT1","AT2"),this.getInput("ORDINAL1")&&this.moveInputBefore("ORDINAL1","AT2"))}},$e={init:function(){this.setHelpUrl(Et.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Ge),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT1").appendField(Et.Msg.LISTS_GET_INDEX_GET+" "+Et.Msg.LISTS_GET_INDEX_FROM_START),this.appendValueInput("AT2").appendField(Et.Msg.LISTS_GET_SUBLIST_END_FROM_START),this.appendDummyInput().appendField(Et.Msg.TEXT_CHARAT2),this.setInputsInline(!0),this.setOutput(!0,["List",String]),this.setTooltip(Et.Msg._GET_TEXT_SUBLIST_TOOLTIP)}},ti={init:function(){var t=[[Et.Msg.MIXLY_EQUALS,"==="],[Et.Msg.MIXLY_STARTSWITH,"startswith"],[Et.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(Ge),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new Et.FieldDropdown(t),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},ei={init:function(){this.setColour(Ge),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(Et.Msg.MIXLY_COMPARETO).setCheck(String),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_COMPARETO_HELP)}},ii={init:function(){var t=[[Et.Msg.TEXT_UPPER,"upper"],[Et.Msg.TEXT_TITLE,"title"],[Et.Msg.TEXT_CAPITALIZE,"capitalize"],[Et.Msg.TEXT_SWAPCASE,"swapcase"],[Et.Msg.TEXT_LOWER,"lower"]];this.setColour(Ge),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new Et.FieldDropdown(t),"CAPITAL").setCheck(String),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CAPITAL");return{upper:Et.Msg.MIXLY_MIXPY_TEXT_UPPER_TOOLTIP,title:Et.Msg.MIXLY_MIXPY_TEXT_TITLE_TOOLTIP,swapcase:Et.Msg.MIXLY_MIXPY_TEXT_SWAPCASE_TOOLTIP,capitalize:Et.Msg.MIXLY_MIXPY_TEXT_CAPITALIZE_TOOLTIP,lower:Et.Msg.MIXLY_MIXPY_TEXT_LOWER_TOOLTIP}[t]}))}},ni={init:function(){var t=[[Et.Msg.TEXT_LJUST,"ljust"],[Et.Msg.TEXT_CENTER,"center"],[Et.Msg.TEXT_RJUST,"rjust"]];this.setColour(Ge),this.appendValueInput("VAR").appendField(new Et.FieldDropdown(t),"CENTER").setCheck(String),this.appendValueInput("WID").appendField(Et.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("Symbol").appendField(Et.Msg.MIXLY_RECT_Fill).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Et.Msg.MIXLY_MIXPY_TEXT_CENTER_TOOLTIP)}},si={init:function(){this.setColour(Ge),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).setCheck(String),this.appendValueInput("STR").appendField(Et.Msg.MIXLY_MID+Et.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER).setCheck(String),this.appendDummyInput().appendField(Et.Msg.MIXLY_LIST_INDEX),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Et.Msg.MIXLY_MIXPY_TEXT_FIND_TOOLTIP)}},oi={init:function(){this.setColour(Ge),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_USE_STR).setCheck(String),this.appendValueInput("LIST").appendField(Et.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_SEQ).setCheck("List","Tuple","Set","Dict"),this.appendDummyInput().appendField(Et.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_GET_STR),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Et.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_TOOLTIP)}},pi={init:function(){this.setColour(Ge),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("STR1").appendField(Et.Msg.MIXLY_MIXPY_REPLACE).setCheck(String),this.appendValueInput("STR2").appendField(Et.Msg.LISTS_SET_INDEX_INPUT_TO).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Et.Msg.MIXLY_MIXPY_TEXT_REPLACE_TOOLTIP)}},ui={init:function(){this.setColour(Ge),this.appendValueInput("VAR"),this.appendValueInput("VAL").appendField(Et.Msg.LIST_SPLIT_AS),this.appendDummyInput("").appendField(Et.Msg.LIST_SPLIT),this.setOutput(!0,"List"),this.setTooltip(Et.Msg.MIXLY_MIXPY_TEXT_SPLIT_TOOLTIP),this.setInputsInline(!0)}},ai={init:function(){var t=[[Et.Msg.TEXT_TRIM_BOTH,"strip"],[Et.Msg.TEXT_TRIM_LEFT,"lstrip"],[Et.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(Ge),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(Et.Msg.TEXT_STRIM),this.appendDummyInput("").appendField(new Et.FieldDropdown(t),"TOWHAT"),this.appendDummyInput("").appendField(Et.Msg.TEXT_BLANK),this.setOutput(!0,String),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{strip:Et.Msg.TEXT_TRIM_BOTH_TOOLTIP,lstrip:Et.Msg.TEXT_TRIM_LEFT_TOOLTIP,rstrip:Et.Msg.TEXT_TRIM_RIGHT_TOOLTIP}[t]}))}},li={init:function(){this.setColour(Ge),this.appendDummyInput("").appendField(Et.Msg.MIXLY_MICROPYTHON_FORMAT),this.appendDummyInput("").appendField(new Et.FieldTextInput("str"),"VAR"),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new Et.icons.MutatorIcon(["text_create_with_item"],this)),this.setOutput(!0),this.setTooltip(Et.Msg.MIXLY_MIXPY_TEXT_FORMAT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("text_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Et.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},pn={init:function(){this.setColour(sn),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(Et.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},un={init:function(){this.setColour(sn),this.appendDummyInput().appendField(Et.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},an={init:function(){this.setColour(sn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Et.Msg.DICT_KEYS),this.setTooltip(Et.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},ln={init:function(){this.setColour(sn),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Et.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(Et.Msg.DICTS_ADD_VALUE),this.setOutput(!0),this.setTooltip(Et.Msg.DICTS_GET_TOOLTIP)}},_n={init:function(){this.setColour(sn),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Et.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(Et.Msg.DICTS_ADD_VALUE),this.appendValueInput("VAR").appendField(Et.Msg.DICTS_DEFAULT_VALUE),this.setOutput(!0),this.setTooltip(Et.Msg.DICTS_GET_DEFAULT_TOOLTIP)}},rn={init:function(){this.setColour(sn),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(Et.Msg.DICTS_ADD),this.appendDummyInput(),this.appendValueInput("VAR").appendField(Et.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.DICTS_ADD_OR_CHANGE_TOOLTIP)}},dn={init:function(){this.setColour(sn),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(Et.Msg.DICTS_DELETE_IN),this.appendDummyInput("").appendField(Et.Msg.DICTS_DELETE_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.DICTS_DELETE_TOOLTIP)}},In={init:function(){this.setColour(sn),this.appendValueInput("DICT2").setCheck("Dict").appendField(Et.Msg.MAKE_DICT),this.appendValueInput("DICT").setCheck("Dict").appendField(Et.Msg.DICT_UPDATE),this.appendDummyInput("").appendField(Et.Msg.MIXLY_MID),this.setTooltip(Et.Msg.DICTS_UPDATE_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Tn={init:function(){this.setColour(sn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Et.Msg.DICT_CLEAR),this.setTooltip(Et.Msg.DICTS_CLEAR_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},hn={init:function(){this.setColour(sn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Et.Msg.DICT_ITEMS),this.setTooltip(Et.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},mn={init:function(){this.setColour(sn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Et.Msg.DICT_VALUES),this.setTooltip(Et.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},On={init:function(){this.setColour(sn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_LENGTH),this.setTooltip(Et.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},cn={init:function(){this.setColour(sn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Et.Msg.DICT_DELDICT),this.setTooltip(Et.Msg.DICTS_DEL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Rn={init:function(){this.MODE=[[Et.Msg.DICTS_ADD_OR_CHANGE,"INSERT"],[Et.Msg.MIXLY_MICROBIT_JS_DELETE_VAR,"DELETE"]],this.setHelpUrl(Et.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(sn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("AT2"),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).appendField(Et.Msg.DICTS_ADD_VALUE),this.updateAt_(!0),this.setInputsInline(!0),this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e="";switch(t.getFieldValue("WHERE")){case"INSERT":e=Et.Msg.DICTS_ADD_TOOLTIP;break;case"DELETE":e=Et.Msg.DICTS_DELETE_TOOLTIP}return e}))},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT2").type==Et.INPUT_VALUE;return t.setAttribute("at2",e),t},domToMutation:function(t){var e="true"==t.getAttribute("at2");this.updateAt_(e)},updateAt_:function(t){this.removeInput("AT2"),this.removeInput("ORDINAL",!0),t?this.appendValueInput("AT2").setCheck(Number):this.appendDummyInput("AT2");var e=new Et.FieldDropdown(this.MODE,(function(e){var i="INSERT"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT2").appendField(e,"WHERE")}},Mn={init:function(){this.setColour(sn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Et.Msg.blockpy_DICT_POP),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(Et.Msg.DICTS_ADD_VALUE),this.setTooltip(Et.Msg.DICT_POP_TOOLTIP),this.setInputsInline(!0),this.setOutput(!0)}},En={init:function(){this.setColour(sn),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Et.Msg.DICTS_SET_DEFAULT),this.appendDummyInput("").appendField(Et.Msg.DICTS_DEFAULT_VALUE),this.appendValueInput("VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.DICTS_SETDEFAULT_TOOLTIP)}},Cn={init:function(){this.setColour(sn),this.appendDummyInput("").appendField(new Et.FieldLabel(Et.Msg.MIXLY_MICROBIT_TYPE_DICT),"TIP").appendField(" "),this.itemCount_=3,this.updateShape_(),this.setOutput(!0,"Dict"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setMutator(new Et.icons.MutatorIcon(["dicts_create_with_item"],this)),this.setTooltip(Et.Msg.DICTS_CREATE_WITH_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("dicts_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Et.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},An={init:function(){this.setColour(sn),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(Et.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},gn={init:function(){this.setColour(sn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_TO_JSON),this.setTooltip(Et.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},Sn={init:function(){this.setColour(sn),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_CONVERT_TO_JSON),this.setTooltip(Et.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},Dn={init:function(){this.setColour(sn),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("VAR1").appendField("key1"),this.appendValueInput("VAR2").appendField("index"),this.appendValueInput("VAR3").appendField("key2"),this.appendValueInput("VAR4").appendField("key3"),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},Ln={init:function(){this.setColour(sn),this.appendValueInput("DICT"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_TO_JSON),this.setTooltip(Et.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},Nn=210,fn={init:function(){var t=Et.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(Nn),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Et.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{EQ:Et.Msg.LOGIC_COMPARE_TOOLTIP_EQ,NEQ:Et.Msg.LOGIC_COMPARE_TOOLTIP_NEQ,LT:Et.Msg.LOGIC_COMPARE_TOOLTIP_LT,LTE:Et.Msg.LOGIC_COMPARE_TOOLTIP_LTE,GT:Et.Msg.LOGIC_COMPARE_TOOLTIP_GT,GTE:Et.Msg.LOGIC_COMPARE_TOOLTIP_GTE}[t]})),this.prevBlocks_=[null,null]}},Fn={init:function(){var t=Et.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]],e=Et.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(Nn),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Et.FieldDropdown(t),"OP1"),this.appendValueInput("C").appendField(new Et.FieldDropdown(e),"OP2"),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_PYTHON_LOGIC_COMPARE_CONTINOUS_TOOLTIP)}},vn={init:function(){var t=[[Et.Msg.LOGIC_OPERATION_AND,"AND"],[Et.Msg.LOGIC_OPERATION_OR,"OR"],[Et.Msg.LOGIC_OPERATION_NOR,"NOR"],[Et.Msg.LOGIC_OPERATION_XOR,"XOR"]];this.setColour(Nn),this.setOutput(!0,Boolean),this.appendValueInput("A").setCheck([Boolean,Number]),this.appendValueInput("B").setCheck([Boolean,Number]).appendField(new Et.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{AND:Et.Msg.LOGIC_OPERATION_TOOLTIP_AND,OR:Et.Msg.LOGIC_OPERATION_TOOLTIP_OR,NOR:Et.Msg.LOGIC_OPERATION_TOOLTIP_NOR,XOR:Et.Msg.LOGIC_OPERATION_TOOLTIP_XOR}[t]}))}},Pn={init:function(){this.setColour(Nn),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(Et.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(Et.Msg.LOGIC_NEGATE_TOOLTIP)}},Vn={init:function(){var t=[[Et.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[Et.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(Nn),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new Et.FieldDropdown(t),"BOOL"),this.setTooltip(Et.Msg.LOGIC_BOOLEAN_TOOLTIP)}},yn={init:function(){this.setColour(Nn),this.setOutput(!0),this.appendDummyInput().appendField(Et.Msg.LOGIC_NULL),this.setTooltip(Et.Msg.LOGIC_NULL_TOOLTIP)}},Yn={init:function(){this.setColour(Nn),this.appendValueInput("A"),this.appendValueInput("B").appendField(Et.Msg.LOGIC_TERNARY_IF_TRUE),this.appendValueInput("C").appendField(Et.Msg.LOGIC_TERNARY_IF_FALSE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_LOGIT_TRUEORFALSE)}},bn={init:function(){var t=[[Et.Msg.TEXT_APPEND_TO,"in"],[Et.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(Nn),this.appendValueInput("A"),this.appendValueInput("B").setCheck([String,"List"]).appendField(new Et.FieldDropdown(t),"BOOL"),this.appendDummyInput("").appendField(Et.Msg.MICROBIT_LOGIC_IS_IN),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Et.Msg.IN)}},kn={init:function(){var t=[[Et.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[Et.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(Nn),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Et.FieldDropdown(t),"BOOL"),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_PYTHON_LOGIC_IS_TOOLTIP)}},Xn={init:function(){this.setColour(Nn),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(Et.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},Gn={init:function(){this.setColour(0),this.appendValueInput("fn").setCheck(String).appendField(Et.Msg.MIXLY_PYTHON_STORAGE_OPEN_FILE_WITH_OS+"(For Windows)"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},wn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"],[Et.Msg.MIXLY_ADD,"a"],[Et.Msg.MATH_BIN+Et.Msg.MIXLY_ADD,"ab"],[Et.Msg.MIXLY_R_W,"r+"],[Et.Msg.MATH_BIN+Et.Msg.MIXLY_R_W,"rb+"],[Et.Msg.MIXLY_W_R,"w+"],[Et.Msg.MATH_BIN+Et.Msg.MIXLY_W_R,"wb+"],[Et.Msg.MIXLY_A_R,"a+"],[Et.Msg.MATH_BIN+Et.Msg.MIXLY_A_R,"ab+"]]),"MODE"),this.appendValueInput("FILE").appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_AS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Et.Msg.MIXLY_USE,n=Et.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=Et.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=Et.Msg.MIXLY_BELONG;return i+{r:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Et.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Un={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Et.Msg.MIXLY_USE,n=Et.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=Et.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=Et.Msg.MIXLY_BELONG,p=Et.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s+p}))}},xn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE);this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendDummyInput().appendField(Et.Msg.MIXPY_TEXT_ENCODE).appendField(new Et.FieldDropdown([["ANSI","ANSI"],["gbk","gbk"],["utf-8","utf-8"]]),"CODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Et.Msg.MIXLY_USE,n=Et.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=Et.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=Et.Msg.MIXLY_BELONG,p=Et.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s+p}))}},Hn={init:function(){this.setColour(0),this.appendValueInput("data").setCheck(String).appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendValueInput("FILE").appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+Et.Msg.MIXLY_MICROBIT_TYPE_STRING+Et.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE)}},Bn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"read"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE,"readline"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES,"readlines"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String)}},Wn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,"read"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,"readline"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE,"readlines"]]),"MODE"),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Et.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE,n=Et.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER;return i+{read:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,readline:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,readlines:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE}[e]+"x"+n}))}},Kn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.setNextStatement(!0),this.appendValueInput("SIZE").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(Et.Msg.MICROBIT_PYTHON_TYPE)}},qn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Et.Msg.HTML_FILE),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean),this.setTooltip(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT1)}},Qn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_FILENAME),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILENAME)}},jn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE)}},Jn={init:function(){this.setColour(0),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES)}};Et.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE;const zn={init:function(){this.setColour(0),this.appendDummyInput().appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE,"remove"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_DIRS,"removedirs"]]),"MODE"),this.appendValueInput("FILE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE)}},Zn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE+Et.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE)}},$n={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_RETURN_FILE),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_PRESENT_LOCATION),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_TELL)}},ts={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION),this.appendDummyInput().appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,"start"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,"current"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END,"end"]]),"MODE"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Et.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION+Et.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION,n=Et.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER,s=Et.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET;return i+" "+{start:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,current:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,end:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END}[e]+s+"x"+n}))}},es={init:function(){this.setColour(0),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR)}},is={init:function(){this.setColour(0),this.appendValueInput("PATH").setCheck(String).appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_SET),this.appendDummyInput().appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,"mkdir"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_MAKEDIRS,"makedirs"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return Et.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH+"x"+Et.Msg.MIXLY_ESP32_SET+{mkdir:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,makedirs:Et.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},ns={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME),this.appendValueInput("NEWFILE").setCheck(String).appendField(Et.Msg.MIXLY_AS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME)}},ss={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR)}},os={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT),this.appendDummyInput().appendField(new Et.FieldDropdown([[Et.Msg.HTML_FILE,"isfile"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_DIR,"isdir"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean);let t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return Et.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH+"x"+Et.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT+{isfile:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,isdir:Et.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},ps={init:function(){this.setColour(0),this.appendValueInput("SPISUB").appendField(Et.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_SETUP+Et.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(Et.Msg.MIXLY_SD_CARD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},us={init:function(){this.setColour(0),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_SD_CARD),this.appendValueInput("DIR").setCheck(String).appendField(Et.Msg.MIXLY_SDCARD_MOUNT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip()}},as={init:function(){var t=Et.Procedures.findLegalName("",this),e=new Et.FieldTextInput(t,Et.Procedures.rename);e.setSpellcheck(!1),this.appendDummyInput().appendField(e,"NAME").appendField("","PARAMS"),this.setMutator(new Et.icons.MutatorIcon(["procedures_mutatorarg"],this)),(this.workspace.options.comments||this.workspace.options.parentWorkspace&&this.workspace.options.parentWorkspace.options.comments)&&Et.Msg.PROCEDURES_DEFNORETURN_COMMENT&&this.setCommentText(Et.Msg.PROCEDURES_DEFNORETURN_COMMENT),this.setStyle("procedure_blocks"),this.setTooltip(Et.Msg.PROCEDURES_DEFNORETURN_TOOLTIP),this.setHelpUrl(Et.Msg.PROCEDURES_DEFNORETURN_HELPURL),this.arguments_=[],this.argumentVarModels_=[],this.setStatements_(!0),this.statementConnection_=null},setStatements_:function(t){this.hasStatements_!==t&&(t?(this.appendStatementInput("STACK").appendField(Et.Msg.PROCEDURES_DEFNORETURN_DO),this.getInput("RETURN")&&this.moveInputBefore("STACK","RETURN")):this.removeInput("STACK",!0),this.hasStatements_=t)},updateParams_:function(){var t="";this.arguments_.length&&(t=Et.Msg.PROCEDURES_BEFORE_PARAMS+" "+this.arguments_.join(", ")),Et.Events.disable();try{this.setFieldValue(t,"PARAMS")}finally{Et.Events.enable()}},mutationToDom:function(t){var e=Et.utils.xml.createElement("mutation");t&&e.setAttribute("name",this.getFieldValue("NAME"));for(var i=0;i"),this.appendValueInput("style").appendField(Et.Msg.MIXLY_AIP_ATTR).setAlign(Et.inputs.Align.RIGHT),this.appendStatementInput("DO").appendField(""),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},no={init:function(){this.setColour(zs),this.appendDummyInput().appendField(Et.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},so={init:function(){this.setColour(zs),this.appendDummyInput().appendField(Et.Msg.HTML_FORM_CONTENT).appendField(new Et.FieldDropdown([[Et.Msg.HTML_TEXT,"text"],[Et.Msg.HTML_EMAIL,"email"],[Et.Msg.HTML_NUMBER,"number"],[Et.Msg.HTML_PASSWORD,"password"],[Et.Msg.HTML_CHECKBOX,"checkbox"],[Et.Msg.HTML_RADIOBUTTON,"radiobutton"],[Et.Msg.HTML_BUTTON,"button"],[Et.Msg.HTML_COLOUR,"colour"],[Et.Msg.HTML_DATE,"date"],[Et.Msg.HTML_LOCALTIME,"local time"],[Et.Msg.HTML_FILE,"file"],[Et.Msg.HTML_HIDDEN,"hidden"],[Et.Msg.HTML_IMAGE,"image"],[Et.Msg.HTML_MONTH,"month"],[Et.Msg.HTML_RANGE,"range"],[Et.Msg.HTML_RESET,"reset"],[Et.Msg.HTML_SEARCH,"search"],[Et.Msg.HTML_SUBMIT,"submit"],[Et.Msg.HTML_TELEPHONENUMBER,"telephone number"],[Et.Msg.HTML_TIME,"time"],[Et.Msg.HTML_URL,"url"],[Et.Msg.HTML_WEEK,"week"]]),"LEVEL"),this.appendDummyInput().appendField(Et.Msg.HTML_NAME).appendField(new Et.FieldTextInput("car"),"NAME"),this.appendDummyInput().appendField(Et.Msg.HTML_VALUE).appendField(new Et.FieldTextInput("go"),"VALUE"),this.appendValueInput("style").appendField(Et.Msg.MIXLY_AIP_ATTR).setAlign(Et.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},oo={init:function(){this.setColour(zs),this.appendDummyInput().appendField(new Et.FieldTextInput("property"),"KEY").appendField(":").appendField(new Et.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},po={init:function(){this.setColour(zs),this.appendDummyInput().appendField(new Et.FieldTextInput("property"),"KEY").appendField(":").appendField(new Et.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},uo={init:function(){this.setColour(zs),this.appendDummyInput().appendField(Et.Msg.HTML_TEXT).appendField(new Et.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ao=160,lo={init:function(){this.setColour(ao),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new Et.FieldTable(""),"TEXT")}},_o={init:function(){this.setColour(ao),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new Et.FieldMultilineInput(""),"TEXT")}},ro={init:function(){this.setColour(ao),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new Et.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},Io={init:function(){this.setColour(ao),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},To={init:function(){this.setColour(ao),this.appendDummyInput().appendTitle("Comment:").appendTitle(new Et.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},ho={init:function(){this.setColour(ao),this.appendValueInput("VALUE").appendField(Et.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},mo={init:function(){this.setColour(ao),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Et.icons.MutatorIcon(["text_print_multiple_item"],this)),this.setTooltip(Et.Msg.TEXT_PRINT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=Et.Block.obtain(t,"text_print_multiple_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n= stop:"," yield start"," start -= abs(step)"])};if(t=function(t,e,i){return"("+t+" <= "+e+") and "+a()+"("+t+", "+e+", "+i+") or "+l()+"("+t+", "+e+", "+i+")"},Et.isNumber(n)&&Et.isNumber(s)&&Et.isNumber(o))n=parseFloat(n),s=parseFloat(s),o=Math.abs(parseFloat(o)),0==n%1&&0==s%1&&0==o%1?(n<=s?(s++,t=0==n&&1==o?s:n+", "+s,1!=o&&(t+=", "+o)):t=n+", "+--s+", -"+o,t="range("+t+")"):(t=n",GTE:">="};const ra=function(t,e){var i=this.getFieldValue("OP"),n="&&"==i?e.ORDER_LOGICAL_AND:e.ORDER_LOGICAL_OR,s=e.valueToCode(this,"A",n)||"False",o=e.valueToCode(this,"B",n)||"False";if("AND"==i)var p=s+" and "+o;else if("OR"==i)p=s+" or "+o;else if("NOR"==i)p="not("+s+"^"+o+")";else p=s+"^"+o;return[p,n]},da=function(t,e){var i=e.ORDER_UNARY_PREFIX;return["not "+(e.valueToCode(this,"BOOL",i)||"False"),i]},Ia=function(t,e){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",e.ORDER_ATOMIC]},Ta=function(t,e){return["None",e.ORDER_ATOMIC]},ha=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"False";return["("+(e.valueToCode(this,"B",e.ORDER_ATOMIC)||"False")+" if "+i+" else "+(e.valueToCode(this,"C",e.ORDER_ATOMIC)||"False")+")",e.ORDER_ATOMIC]},ma=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},Oa=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},ca=function(t,e){return["bool("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||"0")+")",e.ORDER_ATOMIC]},Ra=function(t,e){return e.definitions_.import_os="import os","os.startfile("+e.valueToCode(this,"fn",e.ORDER_ATOMIC)+")\n"},Ma=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+" = open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},Ea=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",e.ORDER_ATOMIC]},Ca=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',e.ORDER_ATOMIC]},Aa=function(t,e){var i=e.valueToCode(this,"data",e.ORDER_ATOMIC);return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".write("+i+")\n"},ga=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"()",e.ORDER_ATOMIC]},Sa=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Da=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".readline("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},La=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".writable()",e.ORDER_ATOMIC]},Na=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".name()",e.ORDER_ATOMIC]},fa=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".close()\n"},Fa=function(t,e){e.definitions_.import_os="import os";return["os.listdir()",e.ORDER_ATOMIC]},va=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},Pa=function(t,e){return e.definitions_.import_os="import os",["os.path.getsize("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Va=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".tell()",e.ORDER_ATOMIC]},ya=function(t,e){var i=this.getFieldValue("MODE"),n=0;return n="start"==i?0:"current"==i?1:2,e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".seek("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+","+n+")\n"},Ya=function(t,e){return e.definitions_.import_os="import os","os.chdir("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},ba=function(t,e){e.definitions_.import_os="import os";return["os.getcwd()",e.ORDER_ATOMIC]},ka=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"PATH",e.ORDER_ATOMIC)+")\n"},Xa=function(t,e){return e.definitions_.import_os="import os","os.rename("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+","+e.valueToCode(this,"NEWFILE",e.ORDER_ATOMIC)+")\n"},Ga=function(t,e){e.definitions_.import_os="import os";var i=e.valueToCode(this,"FILE",e.ORDER_ATOMIC);return["os."+this.getFieldValue("MODE")+"("+i+")",e.ORDER_ATOMIC]},wa=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = sdcard.SDCard("+e.valueToCode(this,"SPISUB",e.ORDER_ATOMIC)+","+e.valueToCode(this,"PINSUB",e.ORDER_ATOMIC)+")\n"},Ua=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard","os.mount("+e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+","+e.valueToCode(this,"DIR",e.ORDER_ATOMIC)+")\n"},xa=function(t,e){var i=e.variableDB_.getName(this.getFieldValue("NAME"),Et.Procedures.NAME_TYPE),n=(this.getInput("STACK")&&e.statementToCode(this,"STACK"))??" pass\n";e.INFINITE_LOOP_TRAP&&(n=e.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+n);var s=e.valueToCode(this,"RETURN",e.ORDER_NONE)||"";s&&(s=" return "+s+"\n");for(var o=[],p=0;p\n\n\n\t\n"+e.statementToCode(this,"HEAD")+"\n\n"+e.statementToCode(this,"BODY")+"\n\n'''",e.ORDER_ATOMIC]},gl=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"\n"+i+"\n"},Sl=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");if("head"==n)var s="<"+n+'>\n\t\n'+i+"\n";else s="<"+n+">\n"+i+"\n";return s},Dl=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"<"+n+">\n"+i+"\n"},Ll=function(t,e){var i=e.statementToCode(this,"DO"),n=e.valueToCode(this,"style"),s=this.getFieldValue("LEVEL");return"<"+s+" "+n+" >\n"+i+"\n"},Nl=function(t,e){return['style="'+e.statementToCode(this,"STYLE")+'"',e.ORDER_ATOMIC]},fl=function(t,e){return'"},Fl=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},vl=function(){return this.getFieldValue("TEXT")+"\n"},Pl=function(t){return t.getFieldValue("TEXT")+"\n"},Vl=function(t,e){return[t.getFieldValue("TEXT"),e.ORDER_ATOMIC]},yl=function(t,e){return(e.valueToCode(t,"VALUE",e.ORDER_ATOMIC)||"")+"\n"},Yl=function(){return""},bl=function(t,e){return["type("+(e.valueToCode(t,"VALUE",e.ORDER_MEMBER)||"___")+")",e.ORDER_ATOMIC]},kl=function(t,e){for(var i=t.getFieldValue("NAME"),n=t.hasReturn_,s=new Array(t.itemCount_),o=0;o0?e.join("\n")+i.join("\n")+n.join("\n")+p.join("\n")+u.join("")+t+"while True:\n"+a.join("")+l.join("\n"):e.join("\n")+i.join("\n")+n.join("\n")+p.join("\n")+u.join("")+t+l.join("\n")},Ul.scrubNakedValue=function(t){return t+"\n"},Ul.quote_=function(t){var e="'";return-1!==t.indexOf("'")&&(-1===t.indexOf('"')?e='"':t=t.replace(/'/g,"\\'")),e+t+e},Ul.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},Ul.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(o=t.getCommentText())&&(o=Et.utils.string.wrap(o,Ul.COMMENT_WRAP-3),n+=Ul.prefixLines(o+"\n","# "));for(var s=0;s0?"int("+u+" + "+s+")":s<0?"int("+u+" - "+-s+")":"int("+u+")",n&&(u="-"+u)),u};const xl=100,Hl={init:function(){this.setColour(xl),this.appendValueInput("PIN",Number).appendField(Et.Msg.MIXLY_SERVO).appendField(Et.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("DEGREE",Number).setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_DEGREE_0_180),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_SERVO_MOVE)}},Bl={init:function(){this.setColour(xl),this.appendDummyInput("").appendField(new Et.FieldDropdown([["1","1"],["2","2"]]),"op"),this.setOutput(!0)}},Wl={init:function(){this.setColour(xl),this.appendDummyInput("").appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_ESP32_ON,"1"],[Et.Msg.MIXLY_ESP32_OFF,"0"],[Et.Msg.MIXLY_ESP32_TOGGLE,"-1"]]),"flag"),this.setOutput(!0),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},Kl={init:function(){this.setColour(xl),this.appendDummyInput().appendField(Et.Msg.MIXLY_SETTING).appendField(Et.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Et.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(Et.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_EXTERN_LED_SETONOFF)}},ql={init:function(){this.setColour(xl),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Et.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Et.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Et.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},Ql={init:function(){this.setColour(xl),this.appendDummyInput().appendField(Et.Msg.MIXLY_SETTING).appendField(Et.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Et.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(Et.Msg.MIXLY_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_EXTERN_LED_SETBRIGHT)}},jl={init:function(){this.setColour(xl),this.appendDummyInput().appendField(Et.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(Et.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(Et.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_LED_SETONOFF)}},Jl={init:function(){this.setColour(xl),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(Et.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(Et.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_LED_GETONOFF)}},zl={init:function(){this.setColour(xl),this.appendDummyInput().appendField(Et.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(Et.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(Et.Msg.MIXLY_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_LED_SETBRIGHT)}},Zl={init:function(){this.setColour(xl),this.appendValueInput("PIN",Number).appendField(Et.Msg.MIXLY_TONE).appendField(Et.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("pitch").setCheck(Number).appendField(Et.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},$l={init:function(){this.setColour(xl),this.appendValueInput("PIN",Number).appendField(Et.Msg.MIXLY_TONE).appendField(Et.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("pitch").setCheck(Number).appendField(Et.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(Et.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},t_={init:function(){this.setColour(xl),this.appendValueInput("PIN",Number).appendField(Et.Msg.MIXLY_NOTONE).appendField(Et.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},e_={init:function(){this.setColour(xl),this.appendValueInput("TICKS").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(Et.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(Et.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},i_={init:function(){this.setColour(xl),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},n_={init:function(){this.setColour(xl),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_MUSIC_RESET)}},s_={init:function(){this.setColour(xl),this.appendDummyInput().appendField(Et.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Et.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},o_={init:function(){this.setColour(xl),this.appendDummyInput().appendField(Et.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Et.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(Et.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},p_={init:function(){this.setColour(xl),this.appendDummyInput().appendField(Et.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},u_={init:function(){this.setColour(xl),this.appendValueInput("LIST").appendField(Et.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},a_={init:function(){this.setColour(xl),this.appendValueInput("LIST").appendField(Et.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.appendValueInput("PIN").setCheck(Number).appendField(Et.Msg.MIXLY_PIN),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},l_={init:function(){this.setColour(xl),this.appendValueInput("LIST").appendField(Et.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.appendValueInput("PIN").setCheck(Number).appendField(Et.Msg.MIXLY_PIN),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_MIXGO_MUSIC_PLAY_TONE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_MUSIC_PLAYSHOW)}},__={init:function(){this.setColour(xl),this.appendDummyInput("").appendField(Et.Msg.MIXLY_RGB),this.appendValueInput("SUB").appendField(Et.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_PIN),this.appendValueInput("LEDCOUNT").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_COUNT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Et.Msg.MIXLY_RGB_PIN_COUNT)}},r_={init:function(){this.setColour(xl),this.appendDummyInput("").appendField(Et.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("_LED_").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Et.Msg.MIXLY_RGB_NUM_R_G_B)}},d_={init:function(){this.setColour(xl),this.appendDummyInput("").appendField(Et.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Et.Msg.MIXLY_ESP32_MUSIC_WRI)}},I_={init:function(){this.setColour(xl),this.appendDummyInput("").appendField(Et.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Et.Msg.MIXLY_RGB_NUM_R_G_B)}},T_={init:function(){this.setColour(xl),this.appendDummyInput("").appendField(Et.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Et.Msg.MIXLY_RGB_NUM_R_G_B)}},h_={init:function(){this.setColour(xl),this.appendDummyInput("").appendField(Et.Msg.MIXLY_RGB),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Et.Msg.MIXLY_ESP32_MUSIC_WRI)}},m_=jl,O_=Jl,c_=zl,R_="#2FAD7A",M_={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:R_,helpUrl:Et.Msg.MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_HELPURL,tooltip:Et.Msg.MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_TOOLTIP,message0:Et.Msg.MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_MESSAGE0,args0:[{check:Number,type:"input_value",name:"virtual_pin"}]})}},E_={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:R_,helpUrl:Et.Msg.MPYTHON_BLYNK_SYNC_VIRTUAL_HELPURL,tooltip:Et.Msg.MPYTHON_BLYNK_SYNC_VIRTUAL_TOOLTIP,message0:Et.Msg.MPYTHON_BLYNK_SYNC_VIRTUAL_MESSAGE0,args0:[{check:Number,type:"input_value",name:"virtual_pin"}]})}},C_={init:function(){this.jsonInit({inputsInline:!0,colour:R_,helpUrl:Et.Msg.MPYTHON_BLYNK_ON_DISCONNECTED_HELPURL,tooltip:Et.Msg.MPYTHON_BLYNK_ON_DISCONNECTED_TOOLTIP,message0:Et.Msg.MPYTHON_BLYNK_ON_DISCONNECTED_MESSAGE0}),this.appendStatementInput("DO").appendField(Et.CONTROLS_REPEAT_INPUT_DO)}},A_={init:function(){this.jsonInit({inputsInline:!0,colour:R_,helpUrl:Et.Msg.MPYTHON_BLYNK_ON_CONNECTED_HELPURL,tooltip:Et.Msg.MPYTHON_BLYNK_ON_CONNECTED_TOOLTIP,message0:Et.Msg.MPYTHON_BLYNK_ON_CONNECTED_MESSAGE0}),this.appendStatementInput("DO").appendField(Et.CONTROLS_REPEAT_INPUT_DO)}},g_={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:R_,helpUrl:Et.Msg.MPYTHON_BLYNKTIMER_RUN_HELPURL,tooltip:Et.Msg.MPYTHON_BLYNKTIMER_RUN_TOOLTIP,message0:Et.Msg.MPYTHON_BLYNKTIMER_RUN_MESSAGE0})}},S_={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:R_,helpUrl:Et.Msg.MPYTHON_BLYNK_RUN_HELPURL,tooltip:Et.Msg.MPYTHON_BLYNK_RUN_TOOLTIP,message0:Et.Msg.MPYTHON_BLYNK_RUN_MESSAGE0})}},D_={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:R_,helpUrl:Et.Msg.MPYTHON_BLYNK_APP_NOTIFY_HELPURL,tooltip:Et.Msg.MPYTHON_BLYNK_APP_NOTIFY_TOOLTIP,message0:Et.Msg.MPYTHON_BLYNK_APP_NOTIFY_MESSAGE0,args0:[{check:String,type:"input_value",name:"notification"}]})}},L_={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:R_,helpUrl:Et.Msg.MPYTHON_BLYNK_STOP_TIMERS_HELPURL,tooltip:Et.Msg.MPYTHON_BLYNKTIMER_TOOLTIP,message0:Et.Msg.MPYTHON_BLYNK_STOP_TIMERS_MESSAGE0,args0:[{check:Number,type:"input_value",name:"timer_num"}]})}},N_={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:R_,helpUrl:Et.Msg.MPYTHON_BLYNK_SET_PROPERTY_HELPURL,tooltip:Et.Msg.MPYTHON_BLYNK_SET_PROPERTY_TOOLTIP,message0:Et.Msg.MPYTHON_BLYNK_SET_PROPERTY_MESSAGE0,args0:[{check:String,type:"input_value",name:"attribute_name"},{type:"input_value",name:"attribute_value"}]})}},f_={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:R_,helpUrl:Et.Msg.MPYTHON_BLYNK_EMAIL_HELPURL,tooltip:Et.Msg.MPYTHON_BLYNK_EMAIL_TOOLTIP,message0:Et.Msg.MPYTHON_BLYNK_EMAIL_MESSAGE0,args0:[{check:String,type:"input_value",name:"TargetEmail"},{check:String,type:"input_value",name:"subject"},{check:String,type:"input_value",name:"body"}]})}},F_={init:function(){this.jsonInit({inputsInline:!0,output:null,colour:R_,helpUrl:Et.Msg.MPYTHON_BLYNK_GET_TIMERS_HELPURL,tooltip:Et.Msg.MPYTHON_BLYNK_GET_TIMERS_TOOLTIP,message0:Et.Msg.MPYTHON_BLYNK_GET_TIMERS_MESSAGE0})}},v_={init:function(){this.jsonInit({message0:Et.Msg.MPYTHON_BLYNKTIMER_MESSAGE0,colour:R_,helpUrl:Et.Msg.MPYTHON_BLYNKTIMER_HELPURL,tooltip:Et.Msg.MPYTHON_BLYNKTIMER_TOOLTIP,args0:[{check:Number,type:"input_value",name:"Num"},{options:[[Et.Msg.MIXLY_PYTHON_PERIODIC,"False"],[Et.Msg.MIXLY_PYTHON_ONE_SHOT,"True"]],type:"field_dropdown",name:"Timer_mode"},{check:Number,type:"input_value",name:"period"}]}),this.appendStatementInput("DO").appendField(Et.CONTROLS_REPEAT_INPUT_DO)}},P_={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:R_,helpUrl:Et.Msg.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_HELPURL,tooltip:Et.Msg.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_TOOLTIP,message0:Et.Msg.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_MESSAGE0,args0:[{type:"input_value",name:"sensor_data"},{check:Number,type:"input_value",name:"virtual_pin"}]})}},V_={init:function(){this.jsonInit({inputsInline:!0,colour:R_,helpUrl:Et.Msg.MPYTHON_BLYNK_APP_DATA_HELPURL,tooltip:Et.Msg.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_TOOLTIP,message0:Et.Msg.MPYTHON_BLYNK_APP_DATA_MESSAGE0,args0:[{check:Number,type:"input_value",name:"virtual_pin"},{type:"input_value",name:"virtual_pin_val"}]}),this.appendStatementInput("DO").appendField(Et.CONTROLS_REPEAT_INPUT_DO)}},y_={init:function(){this.jsonInit({nextStatement:null,previousStatement:null,colour:R_,helpUrl:Et.Msg.MPYTHON_BLYNK_SETUP_HELPURL,tooltip:Et.Msg.MPYTHON_BLYNK_SETUP_TOOLTIP,message0:Et.Msg.MPYTHON_BLYNK_SETUP_MESSAGE0,args0:[{type:"input_dummy"},{check:String,type:"input_value",name:"server"},{check:Number,type:"input_value",name:"port"},{check:String,type:"input_value",name:"auth"}]})}},Y_=120,b_={init:function(){this.setColour(Y_),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(Et.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT).appendField(new Et.FieldDropdown(b_.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(Et.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return{WHILE:Et.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:Et.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[e]}))},OPERATORS:[[Et.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[Et.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]]},k_={init:function(){this.setColour(Y_);var t=new Et.FieldDropdown(k_.OPERATORS);this.appendDummyInput().appendField(t,"FLOW").appendField(Et.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("FLOW");return{BREAK:Et.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:Et.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}[t]}))},onchange:function(){if(this.workspace){var t=!1,e=this;do{if("controls_repeat"==e.type||"controls_for"==e.type||"controls_forEach"==e.type||"controls_repeat_ext"==e.type||"controls_whileUntil"==e.type){t=!0;break}e=e.getSurroundParent()}while(e);t?this.setWarningText(null):this.setWarningText(Et.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}},OPERATORS:[[Et.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[Et.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]]},X_="5BA5A5",G_={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(X_),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(Et.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(Et.Msg.DISPLAY_IMAGE_LET2).appendField(new Et.FieldDropdown(G_.OPERATORS),"OP"),this.appendValueInput("val").appendField(Et.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(Et.Msg.DISPLAY_IMAGE_UNIT);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=Et.Msg.DISPLAY_IMAGE_LET,n=Et.Msg.DISPLAY_IMAGE_LET2,s=Et.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:Et.Msg.MIXLY_UP,down:Et.Msg.MIXLY_DOWN,left:Et.Msg.MIXLY_LEFT,right:Et.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[Et.Msg.MIXLY_UP,"shift_up"],[Et.Msg.MIXLY_DOWN,"shift_down"],[Et.Msg.MIXLY_LEFT,"shift_left"],[Et.Msg.MIXLY_RIGHT,"shift_right"]]},w_={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(X_),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(Et.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new Et.FieldDropdown(w_.OPERATORS),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{"+":Et.Msg.MIXLY_MICROBIT_image_add,"-":Et.Msg.MIXLY_MICROBIT_image_reduce}[e]}))},OPERATORS:[[Et.Msg.MICROBIT_DISPLAY_UNION,"add"],[Et.Msg.MICROBIT_DISPLAY_MINUS,"sub"]]},U_={init:function(){this.setColour(X_),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+Et.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("esp32_image"),this.appendDummyInput("").appendField(new Et.FieldDropdown(U_.OPERATORS),"OP"),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+Et.Msg.MIXLY_MICROBIT_IMAGE+{height:Et.Msg.MIXLY_HEIGHT,width:Et.Msg.MIXLY_WIDTH}[e]}))},OPERATORS:[[Et.Msg.MIXLY_HEIGHT,"height"],[Et.Msg.MIXLY_WIDTH,"width"]]},x_={init:function(){this.setColour(X_),this.appendValueInput("VAR").appendField(Et.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_RECT).appendField(new Et.FieldDropdown(x_.STATUS),"OP"),this.jsonInit({message0:Et.Msg.MIXLY_MICROBIT_SHOW_RECT,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"width"},{check:Number,type:"input_value",name:"height"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Et.Msg.MIXLY_OLED_RECT)},STATUS:[[Et.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[Et.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},H_={init:function(){this.setColour(X_),this.appendValueInput("VAR").appendField(Et.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE).appendField(new Et.FieldDropdown(H_.STATUS),"OP"),this.jsonInit({message0:Et.Msg.MIXLY_HANBIT_SHOW_CIRCLE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"r"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Et.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE)},STATUS:[[Et.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[Et.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},B_={init:function(){this.setColour(X_),this.appendValueInput("SUB").setCheck("var").appendField(Et.Msg.MSG.catOLED),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(Et.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(Et.Msg.DISPLAY_IMAGE_LET2).appendField(new Et.FieldDropdown(B_.OPERATORS),"OP"),this.appendValueInput("val").appendField(Et.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(Et.Msg.DISPLAY_IMAGE_UNIT);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=Et.Msg.DISPLAY_IMAGE_LET,n=Et.Msg.DISPLAY_IMAGE_LET2,s=Et.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:Et.Msg.MIXLY_UP,down:Et.Msg.MIXLY_DOWN,left:Et.Msg.MIXLY_LEFT,right:Et.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[Et.Msg.MIXLY_UP,"shift_up"],[Et.Msg.MIXLY_DOWN,"shift_down"],[Et.Msg.MIXLY_LEFT,"shift_left"],[Et.Msg.MIXLY_RIGHT,"shift_right"]]},W_="#569A98",K_={init:function(){this.appendDummyInput("").appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Et.inputs.Align.CENTRE).appendField(new Et.FieldBitmap(K_.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(W_),this.setTooltip(Et.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:12},(()=>new Array(32).fill(0)))},q_={init:function(){this.setColour(W_),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(Et.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new Et.FieldDropdown(q_.OPERATORS),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{"+":Et.Msg.MIXLY_MICROBIT_image_add,"-":Et.Msg.MIXLY_MICROBIT_image_reduce}[e]}))},OPERATORS:[[Et.Msg.MICROBIT_DISPLAY_UNION,"add"],[Et.Msg.MICROBIT_DISPLAY_MINUS,"sub"]]},Q_={init:function(){this.setColour(W_),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(Et.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(Et.Msg.DISPLAY_IMAGE_LET2).appendField(new Et.FieldDropdown(Q_.OPERATORS),"OP"),this.appendValueInput("val").appendField(Et.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(Et.Msg.DISPLAY_IMAGE_UNIT),["Python ESP32-S3","Python ESP32-C5"].includes(Ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Et.Msg.MIXLY_synchronize);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=Et.Msg.DISPLAY_IMAGE_LET,n=Et.Msg.DISPLAY_IMAGE_LET2,s=Et.Msg.DISPLAY_IMAGE_LET3;return i+n+{shift_up:Et.Msg.MIXLY_UP,shift_down:Et.Msg.MIXLY_DOWN,shift_left:Et.Msg.MIXLY_LEFT,shift_right:Et.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[Et.Msg.MIXLY_UP,"shift_up"],[Et.Msg.MIXLY_DOWN,"shift_down"],[Et.Msg.MIXLY_LEFT,"shift_left"],[Et.Msg.MIXLY_RIGHT,"shift_right"]]},j_={init:function(){this.appendDummyInput("").appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Et.inputs.Align.CENTRE).appendField(new Et.FieldBitmap(j_.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(W_),this.setTooltip(Et.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(8).fill(0)))},J_={init:function(){this.appendDummyInput("").appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Et.inputs.Align.CENTRE).appendField(new Et.FieldBitmap(J_.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(W_),this.setTooltip(Et.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(12).fill(0)))},z_={init:function(){this.appendDummyInput("").appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Et.inputs.Align.CENTRE).appendField(new Et.FieldBitmap(z_.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(W_),this.setTooltip(Et.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(16).fill(0)))},Z_={init:function(){this.setColour(W_),this.appendDummyInput().appendField(Et.Msg.OLED_SET_FONT).appendField(new Et.FieldDropdown(Z_.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[["4x5"+Et.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'4x5'"],["5x5"+Et.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'5x5'"],["5x8"+Et.Msg.MIXGO_ME_DISPLAY_VERTICAL,"'5x8'"]]},$_={init:function(){this.appendDummyInput("").appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Et.inputs.Align.CENTRE).appendField(new Et.FieldBitmap($_.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(W_),this.setTooltip(Et.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(5).fill(0)))},tr={init:function(){this.setColour(W_),this.appendDummyInput().appendField(Et.Msg.MIXLY_MIXBOT_SCREEN_ROTATE).appendField(new Et.FieldDropdown(tr.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[[Et.Msg.mixpy_PL_PIE_SHADOW_N,"0"],[Et.Msg.CLOCKWISE+"90"+Et.Msg.blockpy_setheading_degree,"1"],[Et.Msg.CLOCKWISE+"180"+Et.Msg.blockpy_setheading_degree,"2"],[Et.Msg.CLOCKWISE+"270"+Et.Msg.blockpy_setheading_degree,"3"]]},er={init:function(){this.appendDummyInput("").appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Et.inputs.Align.CENTRE).appendField(new Et.FieldBitmap(er.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(W_),this.setTooltip(Et.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:12},(()=>new Array(12).fill(0)))},ir=180,nr={colourOptions:["#f00","#000"],columns:2},sr={init:function(){this.jsonInit({colour:ir,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.clear",message0:Et.Msg.MIXLY_MICROBIT_Clear_display}),this.setTooltip(Et.Msg.MIXLY_MICROBIT_Clear_display)}},or={init:function(){this.setColour(ir),this.appendValueInput("x").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_JS_MONITOR_GET_POINT),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Et.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},pr={init:function(){this.setColour(ir),this.appendValueInput("x").setCheck(Number).appendField(Et.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},ur={init:function(){this.setColour(ir),this.appendValueInput("data").setCheck(String).appendField(new Et.FieldDropdown([[Et.Msg.OLED_DRAWSTR_ONE_BY_ONE,"show"],[Et.Msg.MIXLY_ESP32_MONITOR_SCROLL,"scroll"]]),"MODE").appendField(Et.Msg.OLED_DRAWSTR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Et.Msg.OLED_DRAWSTR;return{show:Et.Msg.OLED_DRAWSTR_ONE_BY_ONE,scroll:Et.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING}[e]+i}))}},ar={init:function(){this.setColour(ir),this.appendValueInput("data").setCheck(String).appendField(new Et.FieldDropdown([[Et.Msg.OLED_DRAWSTR_ONE_BY_ONE,"show"],[Et.Msg.MIXLY_ESP32_MONITOR_SCROLL,"scroll"]]),"MODE").appendField(Et.Msg.OLED_DRAWSTR),this.appendValueInput("time").setCheck(Number).appendField(Et.Msg.MIXLY_DELAY),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Et.Msg.OLED_DRAWSTR;return{show:Et.Msg.OLED_DRAWSTR_ONE_BY_ONE,scroll:Et.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING}[e]+i}))}},lr={init:function(){this.setColour(ir),this.appendValueInput("data").setCheck(String).appendField(Et.Msg.MIXLY_ESP32_MONITOR_SHOW_STATIC),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_MUSIC_SHOW_STATIC)}},_r={init:function(){this.setColour(ir),this.appendValueInput("PIN",String).setCheck("esp32_image").appendField(Et.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.OLED_BITMAP)}},rr={init:function(){this.jsonInit({colour:ir,InputsInline:!0,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.show",tooltip:"Show the referenced image on the display.",message0:Et.Msg.OLED_BITMAP,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SAD","SAD"],["SMILE","SMILE"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["SURPRISED","SURPRISED"],["ASLEEP","ASLEEP"],["ANGRY","ANGRY"],["CONFUSED","CONFUSED"],["NO","NO"],["YES","YES"],["LEFT_ARROW","LEFT_ARROW"],["RIGHT_ARROW","RIGHT_ARROW"],["DRESS","DRESS"],["TRANSFORMERS","TRANSFORMERS"],["SCISSORS","SCISSORS"],["EXIT","EXIT"],["TREE","TREE"],["PACMAN","PACMAN"],["TARGET","TARGET"],["TSHIRT","TSHIRT"],["ROLLERSKATE","ROLLERSKATE"],["DUCK","DUCK"],["HOUSE","HOUSE"],["TORTOISE","TORTOISE"],["BUTTERFLY","BUTTERFLY"],["STICKFIGURE","STICKFIGURE"],["GHOST","GHOST"],["PITCHFORK","PITCHFORK"],["MUSIC_QUAVERS","MUSIC_QUAVERS"],["MUSIC_QUAVER","MUSIC_QUAVER"],["MUSIC_CROTCHET","MUSIC_CROTCHET"],["COW","COW"],["RABBIT","RABBIT"],["SQUARE_SMALL","SQUARE_SMALL"],["SQUARE","SQUARE"],["DIAMOND_SMALL","DIAMOND_SMALL"],["DIAMOND","DIAMOND"],["CHESSBOARD","CHESSBOARD"],["TRIANGLE_LEFT","TRIANGLE_LEFT"],["TRIANGLE","TRIANGLE"],["SNAKE","SNAKE"],["UMBRELLA","UMBRELLA"],["SKULL","SKULL"],["GIRAFFE","GIRAFFE"],["SWORD","SWORD"]],type:"field_dropdown"}]})}},dr={init:function(){this.jsonInit({colour:ir,inputsInline:!0,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.show",message0:Et.Msg.MIXLY_MICROBIT_Animate_images,args0:[{check:"List",type:"input_value",name:"images"},{type:"input_value",name:"delay"},{type:"input_dummy"},{checked:!0,type:"field_checkbox",name:"wait"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"loop"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"clear"}]}),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_SHOW_delay+Et.Msg.MIXLY_MICROBIT_Animate_images1)}},Ir={init:function(){this.jsonInit({colour:ir,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.scroll",tooltip:"Scroll the referenced text across the display.",message0:Et.Msg.MIXLY_MICROBIT_Scroll_message,args0:[{check:"String",type:"input_value",name:"message"}]})}},Tr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_MICROBIT_Turn_on_display,"on"],[Et.Msg.MIXLY_MICROBIT_Turn_off_display,"off"]]),"on_off").appendField(Et.Msg.MIXLY_MICROBIT_monitor),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("on_off"),i=Et.Msg.MIXLY_MICROBIT_monitor;return{on:Et.Msg.MIXLY_MICROBIT_Turn_on_display,off:Et.Msg.MIXLY_MICROBIT_Turn_off_display}[e]+i}))}},hr={init:function(){this.jsonInit({colour:ir,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.off",tooltip:"Turn off the display.",message0:Et.Msg.MIXLY_MICROBIT_Turn_off_display})}},mr={init:function(){this.jsonInit({colour:ir,output:"Boolean",helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.is_on",message0:Et.Msg.MIXLY_MICROBIT_Display_is_on}),this.setTooltip(Et.Msg.MIXLY_MICROBIT_Display_is_on1)}},Or={init:function(){this.jsonInit({colour:ir,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SAD","SAD"],["SMILE","SMILE"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["SURPRISED","SURPRISED"],["ASLEEP","ASLEEP"],["ANGRY","ANGRY"],["CONFUSED","CONFUSED"],["NO","NO"],["YES","YES"],["LEFT_ARROW","LEFT_ARROW"],["RIGHT_ARROW","RIGHT_ARROW"],["DRESS","DRESS"],["TRANSFORMERS","TRANSFORMERS"],["SCISSORS","SCISSORS"],["EXIT","EXIT"],["TREE","TREE"],["PACMAN","PACMAN"],["TARGET","TARGET"],["TSHIRT","TSHIRT"],["ROLLERSKATE","ROLLERSKATE"],["DUCK","DUCK"],["HOUSE","HOUSE"],["TORTOISE","TORTOISE"],["BUTTERFLY","BUTTERFLY"],["STICKFIGURE","STICKFIGURE"],["GHOST","GHOST"],["PITCHFORK","PITCHFORK"],["MUSIC_QUAVERS","MUSIC_QUAVERS"],["MUSIC_QUAVER","MUSIC_QUAVER"],["MUSIC_CROTCHET","MUSIC_CROTCHET"],["COW","COW"],["RABBIT","RABBIT"],["SQUARE_SMALL","SQUARE_SMALL"],["SQUARE","SQUARE"],["DIAMOND_SMALL","DIAMOND_SMALL"],["DIAMOND","DIAMOND"],["CHESSBOARD","CHESSBOARD"],["TRIANGLE_LEFT","TRIANGLE_LEFT"],["TRIANGLE","TRIANGLE"],["SNAKE","SNAKE"],["UMBRELLA","UMBRELLA"],["SKULL","SKULL"],["GIRAFFE","GIRAFFE"],["SWORD","SWORD"]],type:"field_dropdown"}],output:["esp32_image","List"],helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#attributes",tooltip:Et.Msg.MIXLY_MICROBIT_Built_in_image1,message0:Et.Msg.MIXLY_MICROBIT_Built_in_image})}},cr={init:function(){this.jsonInit({colour:ir,args0:[{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"00"},{colour:"#000000",type:"field_colour",name:"01"},{colour:"#000000",type:"field_colour",name:"02"},{colour:"#000000",type:"field_colour",name:"03"},{colour:"#000000",type:"field_colour",name:"04"},{colour:"#000000",type:"field_colour",name:"05"},{colour:"#000000",type:"field_colour",name:"06"},{colour:"#000000",type:"field_colour",name:"07"},{colour:"#000000",type:"field_colour",name:"08"},{colour:"#000000",type:"field_colour",name:"09"},{colour:"#000000",type:"field_colour",name:"0a"},{colour:"#000000",type:"field_colour",name:"0b"},{colour:"#000000",type:"field_colour",name:"0c"},{colour:"#000000",type:"field_colour",name:"0d"},{colour:"#000000",type:"field_colour",name:"0e"},{colour:"#000000",type:"field_colour",name:"0f"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"10"},{colour:"#000000",type:"field_colour",name:"11"},{colour:"#000000",type:"field_colour",name:"12"},{colour:"#000000",type:"field_colour",name:"13"},{colour:"#000000",type:"field_colour",name:"14"},{colour:"#000000",type:"field_colour",name:"15"},{colour:"#000000",type:"field_colour",name:"16"},{colour:"#000000",type:"field_colour",name:"17"},{colour:"#000000",type:"field_colour",name:"18"},{colour:"#000000",type:"field_colour",name:"19"},{colour:"#000000",type:"field_colour",name:"1a"},{colour:"#000000",type:"field_colour",name:"1b"},{colour:"#000000",type:"field_colour",name:"1c"},{colour:"#000000",type:"field_colour",name:"1d"},{colour:"#000000",type:"field_colour",name:"1e"},{colour:"#000000",type:"field_colour",name:"1f"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"20"},{colour:"#000000",type:"field_colour",name:"21"},{colour:"#000000",type:"field_colour",name:"22"},{colour:"#000000",type:"field_colour",name:"23"},{colour:"#000000",type:"field_colour",name:"24"},{colour:"#000000",type:"field_colour",name:"25"},{colour:"#000000",type:"field_colour",name:"26"},{colour:"#000000",type:"field_colour",name:"27"},{colour:"#000000",type:"field_colour",name:"28"},{colour:"#000000",type:"field_colour",name:"29"},{colour:"#000000",type:"field_colour",name:"2a"},{colour:"#000000",type:"field_colour",name:"2b"},{colour:"#000000",type:"field_colour",name:"2c"},{colour:"#000000",type:"field_colour",name:"2d"},{colour:"#000000",type:"field_colour",name:"2e"},{colour:"#000000",type:"field_colour",name:"2f"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"30"},{colour:"#000000",type:"field_colour",name:"31"},{colour:"#000000",type:"field_colour",name:"32"},{colour:"#000000",type:"field_colour",name:"33"},{colour:"#000000",type:"field_colour",name:"34"},{colour:"#000000",type:"field_colour",name:"35"},{colour:"#000000",type:"field_colour",name:"36"},{colour:"#000000",type:"field_colour",name:"37"},{colour:"#000000",type:"field_colour",name:"38"},{colour:"#000000",type:"field_colour",name:"39"},{colour:"#000000",type:"field_colour",name:"3a"},{colour:"#000000",type:"field_colour",name:"3b"},{colour:"#000000",type:"field_colour",name:"3c"},{colour:"#000000",type:"field_colour",name:"3d"},{colour:"#000000",type:"field_colour",name:"3e"},{colour:"#000000",type:"field_colour",name:"3f"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"40"},{colour:"#000000",type:"field_colour",name:"41"},{colour:"#000000",type:"field_colour",name:"42"},{colour:"#000000",type:"field_colour",name:"43"},{colour:"#000000",type:"field_colour",name:"44"},{colour:"#000000",type:"field_colour",name:"45"},{colour:"#000000",type:"field_colour",name:"46"},{colour:"#000000",type:"field_colour",name:"47"},{colour:"#000000",type:"field_colour",name:"48"},{colour:"#000000",type:"field_colour",name:"49"},{colour:"#000000",type:"field_colour",name:"4a"},{colour:"#000000",type:"field_colour",name:"4b"},{colour:"#000000",type:"field_colour",name:"4c"},{colour:"#000000",type:"field_colour",name:"4d"},{colour:"#000000",type:"field_colour",name:"4e"},{colour:"#000000",type:"field_colour",name:"4f"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"50"},{colour:"#000000",type:"field_colour",name:"51"},{colour:"#000000",type:"field_colour",name:"52"},{colour:"#000000",type:"field_colour",name:"53"},{colour:"#000000",type:"field_colour",name:"54"},{colour:"#000000",type:"field_colour",name:"55"},{colour:"#000000",type:"field_colour",name:"56"},{colour:"#000000",type:"field_colour",name:"57"},{colour:"#000000",type:"field_colour",name:"58"},{colour:"#000000",type:"field_colour",name:"59"},{colour:"#000000",type:"field_colour",name:"5a"},{colour:"#000000",type:"field_colour",name:"5b"},{colour:"#000000",type:"field_colour",name:"5c"},{colour:"#000000",type:"field_colour",name:"5d"},{colour:"#000000",type:"field_colour",name:"5e"},{colour:"#000000",type:"field_colour",name:"5f"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"60"},{colour:"#000000",type:"field_colour",name:"61"},{colour:"#000000",type:"field_colour",name:"62"},{colour:"#000000",type:"field_colour",name:"63"},{colour:"#000000",type:"field_colour",name:"64"},{colour:"#000000",type:"field_colour",name:"65"},{colour:"#000000",type:"field_colour",name:"66"},{colour:"#000000",type:"field_colour",name:"67"},{colour:"#000000",type:"field_colour",name:"68"},{colour:"#000000",type:"field_colour",name:"69"},{colour:"#000000",type:"field_colour",name:"6a"},{colour:"#000000",type:"field_colour",name:"6b"},{colour:"#000000",type:"field_colour",name:"6c"},{colour:"#000000",type:"field_colour",name:"6d"},{colour:"#000000",type:"field_colour",name:"6e"},{colour:"#000000",type:"field_colour",name:"6f"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"70"},{colour:"#000000",type:"field_colour",name:"71"},{colour:"#000000",type:"field_colour",name:"72"},{colour:"#000000",type:"field_colour",name:"73"},{colour:"#000000",type:"field_colour",name:"74"},{colour:"#000000",type:"field_colour",name:"75"},{colour:"#000000",type:"field_colour",name:"76"},{colour:"#000000",type:"field_colour",name:"77"},{colour:"#000000",type:"field_colour",name:"78"},{colour:"#000000",type:"field_colour",name:"79"},{colour:"#000000",type:"field_colour",name:"7a"},{colour:"#000000",type:"field_colour",name:"7b"},{colour:"#000000",type:"field_colour",name:"7c"},{colour:"#000000",type:"field_colour",name:"7d"},{colour:"#000000",type:"field_colour",name:"7e"},{colour:"#000000",type:"field_colour",name:"7f"}],output:"esp32_image",helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#microbit.Image",message0:Et.Msg.MIXLY_ESP32_Create_image}),this.setTooltip(Et.Msg.MIXLY_MICROBIT_Create_image1)}},Rr={init:function(){this.setColour(ir),this.setOutput(!0),this.setInputsInline(!0),this.appendValueInput("img").appendField(Et.Msg.DISPLAY_IMAGE_LET).setCheck(["esp32_image","List",String]),this.appendDummyInput("").appendField(Et.Msg.DISPLAY_IMAGE_LET2).appendField(new Et.FieldDropdown(Rr.OPERATORS),"OP"),this.appendValueInput("val").appendField(Et.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(Et.Msg.DISPLAY_IMAGE_UNIT);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=Et.Msg.DISPLAY_IMAGE_LET,n=Et.Msg.DISPLAY_IMAGE_LET2,s=Et.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:Et.Msg.MIXLY_UP,down:Et.Msg.MIXLY_DOWN,left:Et.Msg.MIXLY_LEFT,right:Et.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[Et.Msg.MIXLY_UP,"up"],[Et.Msg.MIXLY_DOWN,"down"],[Et.Msg.MIXLY_LEFT,"left"],[Et.Msg.MIXLY_RIGHT,"right"]]},Mr={init:function(){this.setColour(ir),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(Et.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new Et.FieldDropdown(Mr.OPERATORS),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{"+":Et.Msg.MIXLY_MICROBIT_image_add,"-":Et.Msg.MIXLY_MICROBIT_image_reduce}[e]}))},OPERATORS:[[Et.Msg.MICROBIT_DISPLAY_UNION,"+"],[Et.Msg.MICROBIT_DISPLAY_MINUS,"-"]]},Er={init:function(){this.appendDummyInput().appendField(new Et.FieldDropdown([[Et.Msg.OLED_DRAWSTR_ONE_BY_ONE,"show"],[Et.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING,"scroll"]]),"MODE"),this.jsonInit({colour:ir,inputsInline:!0,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.show",tooltip:"Display the list of images as an animation with a certain delay between each frame. Indicate if you need to wait before continuing, continuously loop the animation and clear the display when finished.",message0:Et.Msg.MIXLY_MICROBIT_SHOW_STRING,args0:[{check:String,type:"input_value",name:"images"},{type:"input_value",name:"delay"},{type:"input_dummy"},{checked:!0,type:"field_checkbox",name:"wait"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"loop"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"clear"}]}),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Et.Msg.OLED_DRAWSTR;return Et.Msg.MIXLY_MICROBIT_JS_MONITOR_SHOW_delay+{show:Et.Msg.OLED_DRAWSTR_ONE_BY_ONE,scroll:Et.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING}[e]+i}))}},Cr={init:function(){this.setColour(ir),this.appendValueInput("TEXT",String).setCheck([String,Number]).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_DF_LCD).appendField("mylcd").appendField(Et.Msg.MIXLY_LCD_PRINT1),this.appendValueInput("TEXT2",String).setCheck([String,Number]).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_LCD_PRINT2),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Et.Msg.MIXLY_LCD_PRINT4_TOOLTIP)}},Ar={init:function(){this.setColour(ir),this.appendValueInput("device").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_SETUP).appendField(Et.Msg.MIXLY_DF_LCD).appendField("1602").appendField("mylcd").appendField(Et.Msg.MIXLY_LCD_ADDRESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_SETUP+Et.Msg.MIXLY_DF_LCD+Et.Msg.MIXLY_LCD_ADDRESS)}},gr={init:function(){this.setColour(ir),this.appendValueInput("row",Number).setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_DF_LCD).appendField("mylcd").appendField(Et.Msg.MIXLY_LCD_ROW),this.appendValueInput("column",Number).setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_LCD_COLUMN),this.appendValueInput("TEXT",String).setCheck([String,Number]).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_LCD_PRINT),this.setPreviousStatement(!0,null),this.setInputsInline(!0),this.setNextStatement(!0,null),this.setTooltip(Et.Msg.MIXLY_LCD_PRINT3_TOOLTIP)}},Sr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(Et.Msg.MIXLY_DF_LCD).appendField("mylcd").appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_ON,"on()"],[Et.Msg.MIXLY_OFF,"off()"],[Et.Msg.MIXLY_LCD_STAT_CLEAR,"clear()"],[Et.Msg.MIXLY_LCD_NOBACKLIGHT,"backlight(off)"],[Et.Msg.MIXLY_LCD_BACKLIGHT,"backlight(on)"]]),"STAT"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);var t=this;this.setTooltip((function(){var e=t.getFieldValue("STAT");return Et.Msg.LISTS_SET_INDEX_SET+Et.Msg.MIXLY_DF_LCD+{"on()":Et.Msg.MIXLY_ON,"off()":Et.Msg.MIXLY_OFF,"clear()":Et.Msg.MIXLY_LCD_STAT_CLEAR,"backlight(off)":Et.Msg.MIXLY_LCD_NOBACKLIGHT,"backlight(on)":Et.Msg.MIXLY_LCD_BACKLIGHT}[e]}))}},Dr={init:function(){this.setColour(ir),this.appendValueInput("I2CSUB").appendField(Et.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendValueInput("row").appendField(Et.Msg.MIXLY_SETUP+Et.Msg.LISTS_SET_INDEX_INPUT_TO+"OLED").setCheck(Number),this.appendValueInput("column").appendField("X").setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip()}},Lr={init:function(){this.appendValueInput("VAR").appendField(Et.Msg.OLED).setCheck("var"),this.appendValueInput("Text_line1","String").setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.OLEDDISPLAY+Et.Msg.line1),this.appendValueInput("Text_line2","String").setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.line2),this.appendValueInput("Text_line3","String").setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.line3),this.appendValueInput("Text_line4","String").setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.line4),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(ir),this.setTooltip(Et.Msg.MIXLY_DF_LCD+Et.Msg.OLEDDISPLAY+Et.Msg.MIXLY_MICROBIT_TYPE_STRING)}},Nr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+Et.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("esp32_image"),this.appendDummyInput("").appendField(new Et.FieldDropdown(Nr.OPERATORS),"OP"),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+Et.Msg.MIXLY_MICROBIT_IMAGE+{height:Et.Msg.MIXLY_HEIGHT,width:Et.Msg.MIXLY_WIDTH}[e]}))},OPERATORS:[[Et.Msg.MIXLY_HEIGHT,"height"],[Et.Msg.MIXLY_WIDTH,"width"]]},fr={init:function(){this.setColour(ir),this.appendValueInput("VAR").appendField(Et.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_RECT).appendField(new Et.FieldDropdown(fr.STATUS),"OP"),this.jsonInit({message0:Et.Msg.MIXLY_MICROBIT_SHOW_RECT,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"width"},{check:Number,type:"input_value",name:"height"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Et.Msg.MIXLY_OLED_RECT)},STATUS:[[Et.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[Et.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},Fr={init:function(){this.setColour(ir),this.appendValueInput("VAR").appendField(Et.Msg.OLED).setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_DISPLAY_DRAW).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_DISPLAY_RLINE,"hline"],[Et.Msg.MIXLY_DISPLAY_VLINE,"vline"]]),"direction"),this.jsonInit({message0:Et.Msg.MIXLY_MICROBIT_SHOW_LINE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"length"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Et.Msg.MIXLY_OLED_LINE)}},vr={init:function(){this.setColour(ir),this.appendValueInput("VAR").appendField(Et.Msg.OLED).setCheck("var"),this.jsonInit({message0:Et.Msg.MIXLY_MICROBIT_SHOW_LINE_ARBITRARILY,args0:[{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Et.Msg.MIXLY_OLED_LINE_ARBIT)}},Pr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Et.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},Vr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_MONITOR_GET_SCREEN_IMAGE),this.setInputsInline(!0),this.setOutput(!0,"esp32_image"),this.setTooltip(Et.Msg.MIXLY_ESP32_MONITOR_GET_SCREEN_IMAGE_TOOLTIP)}},yr={init:function(){this.setColour(ir),this.appendValueInput("x").setCheck(Number).appendField(Et.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS)}},Yr={init:function(){this.setColour(ir),this.appendValueInput("x").setCheck(Number).appendField(Et.Msg.MIXLY_ESP32_JS_MONITOR_SET_BLINK_RATE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_JS_MONITOR_SET_BLINK_RATE)}},br={init:function(){this.setColour(ir),this.appendDummyInput("").appendField(Et.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_NUM),this.appendDummyInput("").appendField(Et.Msg.LISTS_SET_INDEX_SET+Et.Msg.MIXLY_MICROBIT_PY_STORAGE_AS).appendField(new Et.FieldColour("#f00",null,nr),"FIELDNAME"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Et.Msg.MIXLY_RGB_NUM_R_G_B)}},kr={init:function(){this.setColour(ir),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(Et.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_OR_ANIMATION),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.OLED_BITMAP_OR_STRING)}},Xr={init:function(){this.setColour(ir),this.appendValueInput("data").setCheck(String).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Gr={init:function(){this.setColour(ir),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(Et.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_OR_ANIMATION),this.appendValueInput("time").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},wr={init:function(){this.setColour(ir),this.appendValueInput("data").setCheck(String).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("time").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},Ur={init:function(){this.setColour(ir),this.appendDummyInput("").appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_ESP32_ON,"ON"],[Et.Msg.MIXLY_ESP32_OFF,"OFF"]]),"ONOFF"),this.setOutput(!0,Boolean),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},xr={init:function(){this.setColour(ir),this.appendValueInput("SUB"),this.appendDummyInput().appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_LCD_STAT_CLEAR,"0"],[Et.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL,"1"]]),"key"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i={0:Et.Msg.MIXLY_LCD_STAT_CLEAR,1:Et.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL};return Et.Msg.MIXLY_DF_LCD+i[e]}))}},Hr={init:function(){this.setColour(ir),this.appendValueInput("I2CSUB").appendField(Et.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_SETUP+Et.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new Et.FieldDropdown([["TM1650","TM1650"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return Et.Msg.MIXLY_ESP32_SENSOR_USE_I2C_TOOLTIP+{TM1650:"TM1650"}[e]}))}},Br={init:function(){this.setColour(ir),this.appendDummyInput().appendField(Et.Msg.MIXLY_4DIGITDISPLAY).appendField(new Et.FieldDropdown([["TM1650","tm1650"]]),"TYPE"),this.appendValueInput("VAR"),this.appendDummyInput().appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_ON,"_on"],[Et.Msg.MIXLY_OFF,"_off"],[Et.Msg.MIXLY_LCD_STAT_CLEAR,"_clear"]]),"STAT"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_4digitdisplay_power)}},Wr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(Et.Msg.MIXLY_4DIGITDISPLAY).appendField(new Et.FieldDropdown([["TM1650","tm1650"]]),"TYPE"),this.appendValueInput("VAR"),this.appendValueInput("VALUE").setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_SHOW_NUMBER),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Kr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(Et.Msg.MIXLY_4DIGITDISPLAY).appendField(new Et.FieldDropdown([["TM1650","tm1650"]]),"TYPE"),this.appendValueInput("VAR"),this.appendValueInput("NO").appendField(Et.Msg.MIXLY_4DIGITDISPLAY_NOMBER1),this.appendValueInput("STAT").appendField(Et.Msg.MIXLY_4DIGITDISPLAY_NOMBER2+Et.Msg.MIXLY_4DIGITDISPLAY_DOT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_4digitdisplay_showDot)}},qr={init:function(){this.setColour(ir),this.setOutput(!0,"Tuple"),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_DISPLAY_ANIMATE).appendField(new Et.FieldDropdown(qr.ANIMATE),"ANIMATION")},ANIMATE:[["ALL_CLOCKS","ALL_CLOCKS"],["ALL_ARROWS","ALL_ARROWS"]]},Qr={init:function(){this.setColour(ir),this.appendValueInput("VAR").appendField(Et.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE).appendField(new Et.FieldDropdown(Qr.STATUS),"OP"),this.jsonInit({message0:Et.Msg.MIXLY_HANBIT_SHOW_CIRCLE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"r"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Et.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE)},STATUS:[[Et.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[Et.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},jr={init:function(){this.setColour(ir),this.appendValueInput("VAR").appendField(Et.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_DISPLAY_DRAW+Et.Msg.MIXLY_HANBIT_DRAW_TRIANGLE).appendField(new Et.FieldDropdown(jr.STATUS),"OP"),this.jsonInit({message0:Et.Msg.MIXLY_HANBIT_SHOW_triangle,args0:[{check:Number,type:"input_value",name:"x0"},{check:Number,type:"input_value",name:"y0"},{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Et.Msg.MIXLY_DISPLAY_DRAW+Et.Msg.MIXLY_HANBIT_DRAW_TRIANGLE)},STATUS:[[Et.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[Et.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},Jr={init:function(){this.setColour("#555555"),this.appendDummyInput("").appendField(Et.Msg.MIXGO_ONBOARDDISPLAY_HELP),this.setInputsInline(!0),this.setTooltip("")}},zr={init:function(){this.setColour(ir),this.appendValueInput("VAR").appendField(Et.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.OLED_BITMAP),this.appendValueInput("START_X",Number).appendField(Et.Msg.OLED_START_X).setCheck(Number),this.appendValueInput("START_Y",Number).appendField(Et.Msg.OLED_START_Y).setCheck(Number),this.appendValueInput("bitmap_name",String).appendField(Et.Msg.OLED_BITMAP_NAME),this.appendValueInput("WIDTH",Number).appendField(Et.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("HEIGHT",Number).appendField(Et.Msg.MIXLY_HEIGHT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.OLED_SHOW_BMP_TOOLTIP)}},Zr={init:function(){this.setColour(ir),this.appendValueInput("VAR").appendField(Et.Msg.OLED),this.appendDummyInput("").appendField(Et.Msg.OLED_DRAWPIXEL),this.appendValueInput("POS_X").appendField(Et.Msg.OLED_POSX),this.appendValueInput("POS_Y").appendField(Et.Msg.OLED_POSY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.OLED_DRAW_PIXE_TOOLTIP)}},$r={init:function(){this.setColour(ir),this.appendValueInput("I2CSUB").appendField(Et.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_SETUP+Et.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new Et.FieldDropdown([["32x12 Matrix","32x12 Matrix"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},td={init:function(){this.setColour(ir),this.appendValueInput("SUB"),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(Et.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.OLED_BITMAP_OR_STRING)}},ed={init:function(){this.setColour(ir),this.appendValueInput("SUB"),this.appendValueInput("data").setCheck(String).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},id="#526FC3",nd={init:function(){this.setColour(id),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_IOT_CONNECT_WIFI),this.appendValueInput("WIFINAME").setCheck(String).appendField(Et.Msg.HTML_NAME),this.appendValueInput("PASSWORD").setCheck(String).appendField(Et.Msg.HTML_PASSWORD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_IOT_WIFI_CONNECT_TOOLTIP)}},sd={init:function(){this.setColour(id),this.appendValueInput("VAR").setCheck("var").appendField("OneNET"+Et.Msg.TUPLE_JOIN),this.appendValueInput("CLIENT").setCheck(String).appendField(Et.Msg.MIXLY_ESP32_ONENET_CLIENT),this.appendValueInput("SERVER").setCheck(String).appendField(Et.Msg.MIXLY_ESP32_ONENET_SERVER),this.appendValueInput("USERNAME").setCheck(String).appendField(Et.Msg.MIXLY_ESP32_ONENET_USERNAME),this.appendValueInput("PASSWORD").setCheck(String).appendField(Et.Msg.MIXLY_ESP32_ONENET_PASSWORD),this.appendValueInput("TOPIC").setCheck(String).appendField(Et.Msg.MIXLY_ESP32_ONENET_TOPIC),this.appendValueInput("SUB").appendField(Et.Msg.MIXLY_ESP32_ONENET_SUB),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_IOT_ONENET_CONNECT_TOOLTIP)}},od={init:function(){this.setColour(id),this.appendValueInput("VAR").setCheck("var").appendField("OneNET"),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_IOT_ONENET_DISCONNECT_TOOLTIP)}},pd={init:function(){this.setColour(id),this.appendValueInput("VAR").setCheck("var").appendField("OneNET"),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_CHECK_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_IOT_ONENET_CHECK_TOOLTIP)}},ud={init:function(){this.setColour(id),this.appendValueInput("VAR").setCheck("var").appendField("OneNET"),this.appendValueInput("DICT").appendField(Et.Msg.MIXLY_ESP32_PUBLISH_ONENET),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_IOT_ONENET_PRINT_DATA).appendField(new Et.FieldCheckbox("TRUE"),"is_print"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_IOT_ONENET_PUBLISH_DICT_TOOLTIP)}},ad={init:function(){this.setColour(id),this.appendValueInput("VAR").setCheck("var").appendField("OneNET").setAlign(Et.inputs.Align.RIGHT),this.appendDummyInput().appendField(new Et.FieldLabel(Et.Msg.MIXLY_ESP32_PUBLISH_ONENET),"TIP").setAlign(Et.inputs.Align.RIGHT),this.itemCount_=2,this.updateShape_(),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Et.icons.MutatorIcon(["iot_publish_item"],this)),this.setTooltip(Et.Msg.MIXLY_ESP32_IOT_ONENET_PUBLISH_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("iot_publish_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Et.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},ld={init:function(){this.setColour(id),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(Et.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},_d={init:function(){this.setColour(id),this.appendDummyInput().appendField(Et.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},rd={init:function(){this.setColour(id),this.appendDummyInput().appendField(Et.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},dd={init:function(){this.setColour(id),this.appendDummyInput().appendField(Et.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").setCheck(String).appendField(Et.Msg.MIXLY_EMQX_SERVER).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(Et.Msg.MIXLY_WIFI_USERNAME).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(Et.Msg.MIXLY_IOT_PASSWORD).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("PROJECT").setCheck(String).appendField(Et.Msg.MIXLY_EMQX_PROJECT).setAlign(Et.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Id={init:function(){this.setColour(id),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(Et.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(Et.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(Et.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},Td={init:function(){this.setColour(id),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(Et.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(Et.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(Et.Msg.HTML_BODY),this.appendDummyInput().appendField(Et.Msg.MIXLY_Service_quality_display).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_AT_MOST_ONCE,"0"],[Et.Msg.MIXLY_AT_LEAST_ONCE,"1"]]),"quality"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},hd={init:function(){this.setColour(id),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(Et.Msg.MIXLY_EMQX_SUBSCRIBE+Et.Msg.MIXLY_MICROBIT_MSG).appendField(Et.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(Et.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_IOT_EMQX_SUBSCRIBE_TOOLTIP)}},md={init:function(){this.setColour(id),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Od={init:function(){this.setColour(id),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Et.Msg.MIXLY_EMQX_CONNECT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},cd={init:function(){this.setColour(id),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_CHECK_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Rd={init:function(){this.setColour(id),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(Et.Msg.MQTT_Topic),this.setInputsInline(!0),this.setOutput(!0)}},Md={init:function(){this.setColour(id),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(Et.Msg.MIXLY_EMQX_PUBLISH_MSG),this.setInputsInline(!0),this.setOutput(!0)}},Ed={init:function(){this.setColour(id),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_ESP32_IOT_MAP_FORMATING),this.setOutput(!0)}},Cd={init:function(){this.setColour(id),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_MICROPYTHON_FORMAT+"(Json)"),this.setOutput(!0)}},Ad={init:function(){this.setColour(id),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Et.Msg.MIXLY_EMQX_PING),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_IOT_EMQX_PING_TOOLTIP)}},gd={init:function(){this.setColour(id),this.appendDummyInput().appendField("MixIO").appendField(Et.Msg.MIXLY_GET_NTP),this.appendValueInput("addr").appendField(Et.Msg.blynk_SERVER_ADD),this.setInputsInline(!0),this.setOutput(!0)}},Sd={init:function(){this.setColour(id),this.appendDummyInput().appendField(Et.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(Et.Msg.MIXLY_EMQX_SERVER).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(Et.Msg.CONTROLS_FOR_INPUT_WITH+Et.Msg.MIXLY_MIXIO_SHARE_KEY).setAlign(Et.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Dd={init:function(){this.setColour(id),this.appendDummyInput().appendField(Et.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(Et.Msg.MIXLY_EMQX_SERVER).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(Et.Msg.CONTROLS_FOR_INPUT_WITH+"Mixly Key").setAlign(Et.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ld={init:function(){this.VISITOR_ID=Ct.Config.BOARD.visitorId.str32.substring(0,8).toUpperCase(),this.setColour(id),this.appendDummyInput("").appendField(new Et.FieldTextInput(this.visitorId),"VISITOR_ID"),this.setOutput(!0,null)},onchange:function(){const t=this.getFieldValue("VISITOR_ID");this.VISITOR_ID!==t&&this.setFieldValue(this.VISITOR_ID,"VISITOR_ID")}},Nd={init:function(){this.setColour(id),this.appendDummyInput().appendField("MixIO").appendField(Et.Msg.MSG.catEthernet_clinet),this.setOutput(!0),this.setInputsInline(!0)}},fd={init:function(){this.setColour(id),this.appendDummyInput().appendField("HTTP"+Et.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(Et.Msg.DISPLAY_IMAGE_LET2),this.appendDummyInput().appendField(Et.Msg.MIXLY_REQUESTS_GET).appendField(Et.Msg.MIXLY_GET_CURRENT_TIME).appendField(Et.Msg.MIXLY_OPEN_DEBUG).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Et.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Fd={init:function(){this.setColour(id),this.appendDummyInput().appendField("HTTP"+Et.Msg.MIXLY_Client).appendField(Et.Msg.MIXLY_GET).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_REQUESTS_LEN,"client_len"],[Et.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[Et.Msg.MIXLY_REQUESTS_MESSAGE,"text"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},vd={init:function(){this.setColour(id),this.appendDummyInput().appendField("MQTT"+Et.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(Et.Msg.MIXLY_CONNECTTO),this.appendDummyInput().appendField(Et.Msg.MIXLY_INIT_SUBSCRIBE).appendField(Et.Msg.MQTT_Topic).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_GET_CURRENT_TIME,""]]),"key").appendField(Et.Msg.MIXLY_OPEN_DEBUG).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Et.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Pd={init:function(){this.setColour(id),this.appendDummyInput().appendField("MQTT"+Et.Msg.MIXLY_Client).appendField(Et.Msg.MIXLY_GET).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_REQUESTS_LEN,"client_len"],[Et.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[Et.Msg.MIXLY_REQUESTS_MESSAGE,"time_msg()"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},Vd=nd,yd=sd,Yd=od,bd=pd,kd=ad,Xd={init:function(){this.setColour(id),this.appendDummyInput().appendField(Et.Msg.MIXLY_CONNECT_OLLAMA),this.appendValueInput("SERVER").appendField(Et.Msg.MIXLY_EMQX_SERVER).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(Et.Msg.MODEL_NAME).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(Et.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Gd=Xd,wd={init:function(){this.setColour(id),this.appendDummyInput().appendField(Et.Msg.MIXLY_CONNECT_OPENAI),this.appendValueInput("SERVER").appendField(Et.Msg.MIXLY_EMQX_SERVER).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(Et.Msg.MIXLY_API_PRIVATE_KEY).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(Et.Msg.MODEL_NAME).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(Et.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ud={init:function(){this.setColour(id),this.appendDummyInput().appendField(Et.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(Et.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendValueInput("METHOD").appendField(Et.Msg.MIXLY_LLM_CONTENT_CALLBACK),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},xd={init:function(){this.setColour(id),this.appendDummyInput().appendField(Et.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(Et.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendDummyInput().appendField(Et.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0)}},Hd={init:function(){this.setColour(id),this.appendDummyInput().appendField("Ollama "+Et.Msg.MIXLY_EMPTY_HISTORY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Bd={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${Et.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("ADDR").setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_EMQX_SERVER),this.appendValueInput("USERNAME").setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_EMQX_USERNAME),this.appendValueInput("PASSWORD").setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_IOT_PASSWORD),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Wd={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${Et.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("MQTT").setAlign(Et.inputs.Align.RIGHT).appendField(`MixIO ${Et.Msg.MIXLY_Client}`),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Kd={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_TINY_WEB_DB_UPDATE_VARIABLE),this.appendValueInput("VALUE").setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},qd={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(Et.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLE),this.appendDummyInput().appendField(Et.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setOutput(!0)}},Qd={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendDummyInput().appendField(Et.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_NUM),this.setInputsInline(!0),this.setOutput(!0)}},jd={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB").appendField(Et.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARIABLES),this.appendValueInput("NO").setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_TINY_WEB_DB_START_NUMBER),this.appendValueInput("COUNT").setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_TINY_WEB_DB_VARIABLE_NUMBER),this.appendValueInput("TAG").setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARS),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_ALL,"both"],[Et.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_TAG,"tag"],[Et.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_VALUE,"value"]]),"DTYPE"),this.setInputsInline(!1),this.setOutput(!0)}},Jd={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(Et.Msg.MIXLY_TINY_WEB_DB_DELETE_VARIABLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},zd=225,Zd={init:function(){this.setColour(zd),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_NETWORK_INIT),this.appendDummyInput().appendField(Et.Msg.MIXLY_NETWORK_MODE).appendField(new Et.FieldDropdown([["STA","STA"],["AP","AP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_INIT_TOOLTIP)}},$d={init:function(){this.setColour(zd),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_NETWORK_WIFI_OPEN,"True"],[Et.Msg.MIXLY_NETWORK_WIFI_CLOSE,"False"]]),"op"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_NETWORK_WIFI_FLAG),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("op"),i=Et.Msg.MIXLY_ESP32_NETWORK_OPEN_TOOLTIP;return{True:Et.Msg.MIXLY_NETWORK_WIFI_OPEN,False:Et.Msg.MIXLY_NETWORK_WIFI_CLOSE}[e]+i}))}},tI={init:function(){this.setColour(zd),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE)}},eI={init:function(){this.setColour(zd),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_NETWORK_WIFI_SCAN),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip((function(){return Et.Msg.MIXLY_ESP32_NETWORK_SCAN_TOOLTIP+{0:"ssid",1:"bssid",2:"channel",3:"RSSI",4:"authmode",5:"hidden",all:Et.Msg.MIXLY_NETWORK_WIFI_SCAN_ATTRIBUTE}.all}))}},iI={init:function(){this.setColour(zd),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_ESP32_NETWORK_CONNECT),this.appendValueInput("id").setCheck(String).appendField(Et.Msg.HTML_NAME),this.appendValueInput("password").setCheck(String).appendField(Et.Msg.HTML_PASSWORD),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_CONNECT_TOOLTIP)}},nI={init:function(){this.setColour(zd),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_NETWORK_WIFI_CONNECT+Et.Msg.MIXLY_SYMBOL_QUESTION),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_WIFI_CONNECT_TOOLTIP)}},sI={init:function(){this.setColour(zd),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput("").appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_ESP32_NETWORK_IP,"0"],[Et.Msg.MIXLY_ESP32_NETWORK_MASK,"1"],[Et.Msg.MIXLY_ESP32_NETWORK_GATEWAY,"2"],["DNS","3"]]),"mode"),this.setOutput(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return Et.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP+{0:Et.Msg.MIXLY_ESP32_NETWORK_IP,1:Et.Msg.MIXLY_ESP32_NETWORK_MASK,2:Et.Msg.MIXLY_ESP32_NETWORK_GATEWAY,3:"DNS"}[e]}))}},oI={init:function(){this.setColour(zd),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_ESP32_NETWORK_STOP_CONNECT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_STOP_TOOLTIP)}},pI={init:function(){this.setColour(zd),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput().appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_NETWORK_WIFI_ESSID,"essid"],[Et.Msg.MIXLY_NETWORK_WIFI_CHANNEL,"channel"]]),"op"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP)}},uI={init:function(){this.setColour(zd),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.LISTS_SET_INDEX_SET+Et.Msg.MIXLY_HOTSPOT),this.appendValueInput("essid").setCheck(String).appendField(Et.Msg.MIXLY_NAME),this.appendValueInput("password").setCheck(String).appendField(Et.Msg.MIXLY_EMQX_PASSWORD),this.appendValueInput("channel").setCheck(Number).appendField(Et.Msg.MIXLY_NETWORK_WIFI_CHANNEL),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_AP_CONNECT_TOOLTIP)}},aI={init:function(){this.setColour(zd),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_ESP32_NETWORK_SERVER1),this.appendDummyInput("").appendField(Et.Msg.MIXLY_ESP32_NETWORK_SERVER2),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},lI={init:function(){this.setColour(zd),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_INIT).setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new Et.FieldDropdown([["TCP","TCP"],["UDP","UDP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return Et.Msg.MIXLY_ESP32_NETWORK_SOCKET_INIT_TOOLTIP+{TCP:"TCP",UDP:"UDP"}[e]}))}},_I={init:function(){this.setColour(zd),this.appendValueInput("VAR").setCheck("var").appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_BIND_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_SOCKET_BIND_TOOLTIP)}},rI={init:function(){this.setColour(zd),this.appendValueInput("VAR").setCheck("var").appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_CONNECT_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_SOCKET_CONNECT_TOOLTIP)}},dI={init:function(){this.setColour(zd),this.appendValueInput("VAR").setCheck("var"),this.appendValueInput("queue").setCheck(Number).appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_LISTEN).appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_QUEUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_SOCKET_LISTEN_TOOLTIP)}},II={init:function(){this.setColour(zd),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_ACCEPT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_SOCKET_ACCEPT_TOOLTIP)}},TI={init:function(){this.setColour(zd),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE_TOOLTIP)}},hI={init:function(){this.setColour(zd),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("size").setCheck(Number).appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_TOOLTIP)}},mI={init:function(){this.setColour(zd),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("content").appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TOOLTIP)}},OI={init:function(){this.setColour(zd),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("size").setCheck(Number).appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_FROM_TOOLTIP)}},cI={init:function(){this.setColour(zd),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("content").appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.appendValueInput("address").appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_TO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TO_TOOLTIP)}},RI={init:function(){this.setColour(zd),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_CLOSE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},MI={init:function(){this.setColour(zd),this.appendValueInput("DOMAIN").appendField(Et.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(Et.Msg.blockpy_REQUESTS_GET).appendField(new Et.FieldTextInput("response"),"VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.blockpy_REQUESTS_GET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Et.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},EI={init:function(){this.appendValueInput("VAL"),this.setColour(zd),this.appendDummyInput("").appendField(Et.Msg.MIXLY_MICROBIT_JS_GET).appendField(new Et.FieldDropdown(EI.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{clear:Et.Msg.MIXLY_TOOLTIP_TURTEL_CLEAR,reset:Et.Msg.MIXLY_TOOLTIP_TURTEL_RESET,home:Et.Msg.MIXLY_TOOLTIP_TURTEL_HOME}[e]}))},ATTR:[[Et.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[Et.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[Et.Msg.blockpy_REQUESTS_GET_ATTR_COOKIES,"cookies"],[Et.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"]]},CI={init:function(){this.appendValueInput("VAR").appendField(Et.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.setColour(zd),this.appendDummyInput("").appendField(Et.Msg.blockpy_CONDUCT).appendField(new Et.FieldDropdown(CI.METHOD),"DIR"),this.appendDummyInput("").appendField(Et.Msg.blockpy_REQUESTS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{forward:Et.Msg.MIXLY_TOOLTIP_TURTEL_FORWARD,backward:Et.Msg.MIXLY_TOOLTIP_TURTEL_BACKWARD}[e]}))},METHOD:[["post","post"],["put","put"],["delete","delete"],["head","head"],["option","option"]]},AI={init:function(){this.setColour(zd),this.appendDummyInput("").appendField(Et.Msg.MIXLY_GET_NTP+"(NTP)"),this.appendValueInput("data").appendField(Et.Msg.blynk_SERVER_ADD),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},gI={init:function(){this.setColour(zd),this.appendDummyInput("").appendField(new Et.FieldDropdown([["ntp.aliyun.com","ntp.aliyun.com"],["ntp1.aliyun.com","ntp1.aliyun.com"],["ntp2.aliyun.com","ntp2.aliyun.com"],["ntp3.aliyun.com","ntp3.aliyun.com"],["ntp4.aliyun.com","ntp4.aliyun.com"],["ntp5.aliyun.com","ntp5.aliyun.com"],["ntp6.aliyun.com","ntp6.aliyun.com"],["ntp7.aliyun.com","ntp7.aliyun.com"],["time1.cloud.tencent.com","time1.cloud.tencent.com"],["time2.cloud.tencent.com","time2.cloud.tencent.com"],["time3.cloud.tencent.com","time3.cloud.tencent.com"],["time4.cloud.tencent.com","time4.cloud.tencent.com"],["time5.cloud.tencent.com","time5.cloud.tencent.com"]]),"op"),this.setOutput(!0)}},SI="#3288dd",DI={init:function(){this.setColour(SI),this.appendValueInput("URL").appendField(Et.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(Et.Msg.blockpy_CONDUCT).appendField(new Et.FieldDropdown([["get","get"],["head","head"],["delete","delete"]]),"TYPE").appendField(Et.Msg.blockpy_REQUESTS).appendField(Et.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},LI={init:function(){this.setColour(SI),this.appendValueInput("URL").appendField(Et.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(Et.Msg.blockpy_CONDUCT).appendField(new Et.FieldDropdown([["post","post"],["put","put"],["patch","patch"]]),"TYPE").appendField(Et.Msg.blockpy_REQUESTS),this.appendValueInput("data").appendField(Et.Msg.blockpy_REQUESTS+Et.Msg.OLED_STRING),this.appendDummyInput("").appendField(Et.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},NI={init:function(){this.appendValueInput("VAL"),this.setColour(SI),this.appendDummyInput("").appendField(Et.Msg.MIXLY_MICROBIT_JS_GET).appendField(new Et.FieldDropdown(NI.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String)},ATTR:[[Et.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[Et.Msg.blockpy_REQUESTS_GET_ATTR_JSON,"json()"],[Et.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[Et.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"],[Et.Msg.MIXPY_TEXT_ENCODE,"encoding"]]},fI={init:function(){this.setColour(SI),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_IOT_CONNECT_WIFI),this.appendValueInput("WIFINAME").setCheck(String).appendField(Et.Msg.HTML_NAME),this.appendValueInput("PASSWORD").setCheck(String).appendField(Et.Msg.HTML_PASSWORD),this.appendValueInput("TIMEOUT").setCheck(Number).appendField(Et.Msg.MIXLY_IR_TIMEOUT),this.appendDummyInput().appendField(Et.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_IOT_WIFI_CONNECT_TOOLTIP)}},FI={init:function(){this.setColour(SI),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_IOT_EMQX_CONNECT_TOOLTIP),this.appendValueInput("SERVER").setCheck(String).appendField(Et.Msg.MIXLY_EMQX_SERVER).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("PORT").setCheck(Number).appendField(Et.Msg.MIXLY_EMQX_PORT).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("CLIENT_ID").setCheck(String).appendField(Et.Msg.MIXLY_EMQX_CLIENT_ID).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(Et.Msg.MIXLY_WIFI_USERNAME).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(Et.Msg.MIXLY_IOT_PASSWORD).setAlign(Et.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},vI={init:function(){this.setColour(SI),this.appendValueInput("TOPIC").appendField(Et.Msg.MIXLY_EMQX_SUBSCRIBE+Et.Msg.MIXLY_MICROBIT_MSG).appendField(Et.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MESSAGE").appendField(Et.Msg.blockpy_set_of),this.setInputsInline(!0),this.setOutput(!0)}},PI={init:function(){this.setColour(SI),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(Et.Msg.MIXLY_EMQX_SUBSCRIBE+Et.Msg.MIXLY_MICROBIT_MSG).appendField(Et.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(Et.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},VI={init:function(){this.setColour(SI),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(Et.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(Et.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(Et.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},yI={init:function(){this.setColour(SI),this.appendDummyInput().appendField("mqtt"+Et.Msg.MIXLY_EMQX_IS_CONNECT),this.setInputsInline(!0),this.setOutput(!0)}},YI="#A58C5B",bI={init:function(){this.setColour(YI),this.appendValueInput("PIN",Number).appendField(new Et.FieldDropdown([["DHT11","DHT11"],["DHT22","DHT22"]]),"TYPE").appendField(Et.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(new Et.FieldDropdown(bI.METHOD),"WHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("WHAT");return{temperature:Et.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM,relative_humidity:Et.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_HUM,tempandhum:Et.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM_HUM}[e]}))},METHOD:[[Et.Msg.MIXLY_GETTEMPERATUE,"temperature"],[Et.Msg.MIXLY_GETHUMIDITY,"humidity"]]},kI=(Et.Msg.PS2_TRIANGLE,Et.Msg.PS2_CIRCLE,Et.Msg.PS2_CROSS,Et.Msg.PS2_SQUARE,Et.Msg.PS2_L1,Et.Msg.PS2_L2,Et.Msg.PS2_R1,Et.Msg.PS2_R2,Et.Msg.PS2_UP,Et.Msg.PS2_RIGHT,Et.Msg.PS2_DOWN,Et.Msg.PS2_LEFT,Et.Msg.PS2_SELECT,Et.Msg.PS2_START,{init:function(){this.setColour(YI),this.appendDummyInput("").appendField(Et.Msg.PS2_stick).appendField(new Et.FieldDropdown(kI.PSSTK),"psstk"),this.setOutput(!0,Number),this.setTooltip("")},PSSTK:[[Et.Msg.PS2_RX,"0"],[Et.Msg.PS2_RY,"1"],[Et.Msg.PS2_LX,"2"],[Et.Msg.PS2_LY,"3"]]}),XI={init:function(){this.setColour(YI),this.appendValueInput("SUB").appendField(Et.Msg.PS2),this.appendDummyInput("").appendField(Et.Msg.MIXLY_JOYSTICK).appendField(new Et.FieldDropdown(XI.PSSTK),"psstk"),this.setOutput(!0,Number),this.setTooltip("")},PSSTK:[[Et.Msg.PS2_RX,"RX"],[Et.Msg.PS2_RY,"RY"],[Et.Msg.PS2_LX,"LX"],[Et.Msg.PS2_LY,"LY"]]},GI=40,wI={init:function(){this.setColour(GI),this.appendValueInput("PIN",Number).appendField(new Et.FieldDropdown([["DHT11","dht11"],["DHT22","dht22"]]),"TYPE").appendField(Et.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(new Et.FieldDropdown(wI.METHOD),"WHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("WHAT");return{temperature:Et.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM,relative_humidity:Et.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_HUM,tempandhum:Et.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM_HUM}[e]}))},METHOD:[[Et.Msg.MIXLY_GETTEMPERATUE,"temperature"],[Et.Msg.MIXLY_GETHUMIDITY,"relative_humidity"],[Et.Msg.MIXLY_DHT11_T_H,"tempandhum"]]},UI=function(t,e){e.definitions_.import_music="import music";var i=e.valueToCode(this,"pitch",e.ORDER_ATOMIC);return"music.pitch("+e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+", "+i+")\n"},xI=function(t,e){e.definitions_.import_music="import music";var i=e.valueToCode(this,"pitch",e.ORDER_ATOMIC),n=e.valueToCode(this,"time",e.ORDER_ATOMIC);return"music.pitch_time("+e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+", "+i+", "+n+")\n"},HI=function(t,e){return e.definitions_.import_music="import music","music.stop("+e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+")\n"},BI=function(t,e){e.definitions_.import_music="import music";var i=e.valueToCode(this,"BPM",e.ORDER_ASSIGNMENT);return"music.set_tempo("+e.valueToCode(this,"TICKS",e.ORDER_ASSIGNMENT)+", "+i+")\n"},WI=function(t,e){e.definitions_.import_music="import music";return["music.get_tempo()",e.ORDER_ATOMIC]},KI=function(t,e){return e.definitions_.import_music="import music","music.pitch("+e.valueToCode(this,"pitch",e.ORDER_ATOMIC)+")\n"},qI=function(t,e){return e.definitions_.import_music="import music","music.pitch_time("+e.valueToCode(this,"pitch",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"time",e.ORDER_ATOMIC)+")\n"},QI=function(t,e){e.definitions_.import_music="import music";return"music.stop()\n"},jI=function(t,e){return e.definitions_.import_music="import music","music.play("+e.valueToCode(this,"LIST",e.ORDER_ASSIGNMENT)+")\n"},JI=function(t,e){return e.definitions_.import_music="import music","music.play("+e.valueToCode(this,"LIST",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"PIN",e.ORDER_ASSIGNMENT)+")\n"},zI=function(t,e){return e.definitions_.import_music="import music",e.definitions_.import_matrix="import matrix","music.play_show("+e.valueToCode(this,"LIST",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"PIN",e.ORDER_ASSIGNMENT)+")\n"},ZI=function(t,e){return e.definitions_.import_music="import music","music.reset()\n"},$I=function(t,e){return e.definitions_.import_servo="import servo",e.definitions_.import_machine="import machine","servo.servo_write_angle("+e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"DEGREE",e.ORDER_ATOMIC)+")\n"},tT=function(t,e){return[this.getFieldValue("op"),e.ORDER_ATOMIC]},eT=function(t,e){return[this.getFieldValue("flag"),e.ORDER_ATOMIC]},iT=function(t,e){e.definitions_.import_mixgo="import mixgo";var i=e.valueToCode(this,"bright",e.ORDER_ATOMIC);return"mixgo.led("+e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+").setonoff("+i+")\n"},nT=function(t,e){return e.definitions_.import_mixgo="import mixgo",["mixgo.led("+e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+").getonoff()",e.ORDER_ATOMIC]},sT=function(t,e){return e.definitions_.import_mixgo="import mixgo","mixgo.led("+e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+").setbrightness("+e.valueToCode(this,"bright",e.ORDER_ATOMIC)+")\n"},oT=function(t,e){return e.definitions_.import_mixgo="import mixgo","mixgo.led"+e.valueToCode(this,"led",e.ORDER_ATOMIC)+".setonoff("+e.valueToCode(this,"bright",e.ORDER_ATOMIC)+")\n"},pT=function(t,e){return e.definitions_.import_mixgo="import mixgo",["mixgo.led"+e.valueToCode(this,"led",e.ORDER_ATOMIC)+".getonoff()",e.ORDER_ATOMIC]},uT=function(t,e){return e.definitions_.import_mixgo="import mixgo","mixgo.led"+e.valueToCode(this,"led",e.ORDER_ATOMIC)+".setbrightness("+e.valueToCode(this,"bright",e.ORDER_ATOMIC)+")\n"},aT=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),s=e.valueToCode(this,"LEDCOUNT",e.ORDER_ATOMIC);return e.definitions_.import_machine="import machine",e.definitions_.import_neopixel="import neopixel",i+" = neopixel.NeoPixel(machine.Pin("+n+"), "+s+", timing=True)\n"},lT=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_neopixel="import neopixel",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".write()\n"},_T=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_neopixel="import neopixel",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"["+e.valueToCode(this,"_LED_",e.ORDER_ATOMIC)+"] = ("+e.valueToCode(this,"RVALUE",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"GVALUE",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"BVALUE",e.ORDER_ATOMIC)+")\n"},rT=function(t,e){e.definitions_.import_mixgo="import mixgo";return"mixgo.rgb.write()\n"},dT=function(t,e){return e.definitions_.import_mixgo="import mixgo","mixgo.rgb["+e.valueToCode(this,"_LED_",e.ORDER_ATOMIC)+"] = ("+e.valueToCode(this,"RVALUE",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"GVALUE",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"BVALUE",e.ORDER_ATOMIC)+")\n"},IT=function(t,e){return e.definitions_.import_mixgo="import mixgo","mixgo.rgb.fill(("+e.valueToCode(this,"RVALUE",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"GVALUE",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"BVALUE",e.ORDER_ATOMIC)+"))\n"},TT=oT,hT=pT,mT=uT,OT=function(t,e){var i=e.valueToCode(this,"virtual_pin",e.ORDER_ATOMIC);e.functions_["terminal_widget_vpin_"+i]=`\nALLOWED_COMMANDS_LIST = ['ls', 'lsusb', 'ip a', 'ip abc']\n\n@blynk.handle_event('write V${i}')\ndef write_handler(pin, _values):\n header = ''\n result = ''\n delimiter = '{}\\n'.format('=' * 30)\n if _values and _values[0] in ALLOWED_COMMANDS_LIST:\n cmd_params = _values[0].split(' ')\n try:\n result = subprocess.check_output(cmd_params).decode('utf-8')\n header = '[output]\\n'\n except subprocess.CalledProcessError as exe_err:\n header = '[error]\\n'\n result = 'Return Code: {}\\n'.format(exe_err.returncode)\n except Exception as g_err:\n print("Command caused '{}'".format(g_err))\n elif _values and _values[0] == 'help':\n header = '[help -> allowed commands]\\n'\n result = '{}\\n'.format('\\n'.join(ALLOWED_COMMANDS_LIST))\n\n # communicate with terminal if help or some allowed command\n if result:\n output = '{}{}{}{}'.format(header, delimiter, result, delimiter)\n print(output)\n blynk.virtual_write(pin, output)\n blynk.virtual_write(pin, '\\n')\n`;return""},cT=function(t,e){return"blynk.virtual_sync("+e.valueToCode(this,"virtual_pin",e.ORDER_ATOMIC)+")\n"},RT=function(t,e){var i=e.statementToCode(this,"DO");return i=e.addLoopTrap(i,this.id)||e.PASS,e.definitions_.blynk_on_disconnected="@blynk.handle_event(\"disconnect\")\ndef connect_handler():\n print('Blynk disconnected')\n"+i,""},MT=function(t,e){var i=e.statementToCode(this,"DO");return i=e.addLoopTrap(i,this.id)||e.PASS,e.definitions_.blynk_on_connected="@blynk.handle_event(\"connect\")\ndef connect_handler():\n print('Blynk connected')\n"+i,""},ET=function(){return"blynk_timer.run()\n"},CT=function(){return"blynk.run()\n"},AT=function(t,e){return"blynk.notify("+e.valueToCode(this,"notification",e.ORDER_ATOMIC)+")\n"},gT=function(t,e){e.definitions_.import_blynktimer="import blynktimer",e.definitions_.def_blynktimer="blynk_timer = blynktimer.Timer(no_timers_err=False)";var i=e.valueToCode(this,"timer_num",e.ORDER_ATOMIC);return`blynk_timer.stop('${i}_blynk_timer${i}')\n`},ST=function(t,e){e.definitions_.import_blynktimer="import blynktimer",e.definitions_.def_blynktimer="blynk_timer = blynktimer.Timer(no_timers_err=False)";return["blynk_timer.get_timers()",e.ORDER_ATOMIC]},DT=function(t,e){e.definitions_.import_blynktimer="import blynktimer";var i=e.valueToCode(this,"Num",e.ORDER_ATOMIC),n=e.valueToCode(this,"period",e.ORDER_ATOMIC),s=this.getFieldValue("Timer_mode"),o=e.statementToCode(this,"DO");return o=e.addLoopTrap(o,this.id)||e.PASS,e.definitions_.def_blynktimer="blynk_timer = blynktimer.Timer(no_timers_err=False)",e.definitions_["blynktimer_event"+i]=`\n@blynk_timer.register(interval=${n}, run_once=${s})\ndef blynk_timer${i}():\n`+o,""},LT=function(t,e){var i=e.valueToCode(this,"sensor_data",e.ORDER_ATOMIC);return"blynk.virtual_write("+e.valueToCode(this,"virtual_pin",e.ORDER_ATOMIC)+", "+i+")\n"},NT=function(t,e){var i=e.valueToCode(this,"virtual_pin",e.ORDER_ATOMIC),n=e.statementToCode(this,"DO");return n=e.addLoopTrap(n,this.id)||e.PASS,e.definitions_["blynk_VIRTUAL_WRITE_"+i]="@blynk.handle_event('write V"+i+"')\ndef write_virtual_pin_handler(pin, _value):\n for i in range(0, len(_value)):\n try: _value[i] = eval(_value[i])\n except: pass\n if len(_value) == 1: _value = _value[0]\n"+n,""},fT=function(t,e){var i=e.valueToCode(this,"body",e.ORDER_ATOMIC),n=e.valueToCode(this,"subject",e.ORDER_ATOMIC);return`blynk.email(${e.valueToCode(this,"TargetEmail",e.ORDER_ATOMIC)}, ${n}, ${i})\n`},FT=function(t,e){var i=e.valueToCode(this,"attribute_value",e.ORDER_ATOMIC);return`blynk.set_property(pin, ${e.valueToCode(this,"attribute_name",e.ORDER_ATOMIC)}, ${i})\n`},vT=function(t,e){e.definitions_.import_BlynkLib="import blynklib";var i=e.valueToCode(this,"server",e.ORDER_ATOMIC),n=e.valueToCode(this,"auth",e.ORDER_ATOMIC),s=e.valueToCode(this,"port",e.ORDER_ATOMIC);return e.definitions_.mpython_blynk_setup="blynk = blynklib.Blynk("+n+", server="+i+", port="+s+")",e.definitions_.blynk_on_connected="\n@blynk.handle_event(\"connect\")\ndef connect_handler():\n print('Blynk connected')\n",e.definitions_.blynk_on_disconnected="\n@blynk.handle_event(\"disconnect\")\ndef connect_handler():\n print('Blynk disconnected')\n",""};const PT=function(t,e){return e.definitions_.import_matrix="import matrix","matrix.show("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},VT=function(t,e){return e.definitions_.import_matrix="import matrix","matrix.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},yT=function(t,e){return e.definitions_.import_matrix="import matrix","matrix.showstatic("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},YT=function(t,e){return e.definitions_.import_matrix="import matrix","matrix.show("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},bT=function(t,e){return e.definitions_.import_matrix="import matrix","matrix.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},kT=function(t,e){e.definitions_.import_matrix="import matrix";var i={"#000000":"0","#ff0000":"1"};return['matrix.Image("'+i[t.getFieldValue("00")]+i[t.getFieldValue("01")]+i[t.getFieldValue("02")]+i[t.getFieldValue("03")]+i[t.getFieldValue("04")]+i[t.getFieldValue("05")]+i[t.getFieldValue("06")]+i[t.getFieldValue("07")]+i[t.getFieldValue("08")]+i[t.getFieldValue("09")]+i[t.getFieldValue("0a")]+i[t.getFieldValue("0b")]+i[t.getFieldValue("0c")]+i[t.getFieldValue("0d")]+i[t.getFieldValue("0e")]+i[t.getFieldValue("0f")]+":"+i[t.getFieldValue("10")]+i[t.getFieldValue("11")]+i[t.getFieldValue("12")]+i[t.getFieldValue("13")]+i[t.getFieldValue("14")]+i[t.getFieldValue("15")]+i[t.getFieldValue("16")]+i[t.getFieldValue("17")]+i[t.getFieldValue("18")]+i[t.getFieldValue("19")]+i[t.getFieldValue("1a")]+i[t.getFieldValue("1b")]+i[t.getFieldValue("1c")]+i[t.getFieldValue("1d")]+i[t.getFieldValue("1e")]+i[t.getFieldValue("1f")]+":"+i[t.getFieldValue("20")]+i[t.getFieldValue("21")]+i[t.getFieldValue("22")]+i[t.getFieldValue("23")]+i[t.getFieldValue("24")]+i[t.getFieldValue("25")]+i[t.getFieldValue("26")]+i[t.getFieldValue("27")]+i[t.getFieldValue("28")]+i[t.getFieldValue("29")]+i[t.getFieldValue("2a")]+i[t.getFieldValue("2b")]+i[t.getFieldValue("2c")]+i[t.getFieldValue("2d")]+i[t.getFieldValue("2e")]+i[t.getFieldValue("2f")]+":"+i[t.getFieldValue("30")]+i[t.getFieldValue("31")]+i[t.getFieldValue("32")]+i[t.getFieldValue("33")]+i[t.getFieldValue("34")]+i[t.getFieldValue("35")]+i[t.getFieldValue("36")]+i[t.getFieldValue("37")]+i[t.getFieldValue("38")]+i[t.getFieldValue("39")]+i[t.getFieldValue("3a")]+i[t.getFieldValue("3b")]+i[t.getFieldValue("3c")]+i[t.getFieldValue("3d")]+i[t.getFieldValue("3e")]+i[t.getFieldValue("3f")]+":"+i[t.getFieldValue("40")]+i[t.getFieldValue("41")]+i[t.getFieldValue("42")]+i[t.getFieldValue("43")]+i[t.getFieldValue("44")]+i[t.getFieldValue("45")]+i[t.getFieldValue("46")]+i[t.getFieldValue("47")]+i[t.getFieldValue("48")]+i[t.getFieldValue("49")]+i[t.getFieldValue("4a")]+i[t.getFieldValue("4b")]+i[t.getFieldValue("4c")]+i[t.getFieldValue("4d")]+i[t.getFieldValue("4e")]+i[t.getFieldValue("4f")]+":"+i[t.getFieldValue("50")]+i[t.getFieldValue("51")]+i[t.getFieldValue("52")]+i[t.getFieldValue("53")]+i[t.getFieldValue("54")]+i[t.getFieldValue("55")]+i[t.getFieldValue("56")]+i[t.getFieldValue("57")]+i[t.getFieldValue("58")]+i[t.getFieldValue("59")]+i[t.getFieldValue("5a")]+i[t.getFieldValue("5b")]+i[t.getFieldValue("5c")]+i[t.getFieldValue("5d")]+i[t.getFieldValue("5e")]+i[t.getFieldValue("5f")]+":"+i[t.getFieldValue("60")]+i[t.getFieldValue("61")]+i[t.getFieldValue("62")]+i[t.getFieldValue("63")]+i[t.getFieldValue("64")]+i[t.getFieldValue("65")]+i[t.getFieldValue("66")]+i[t.getFieldValue("67")]+i[t.getFieldValue("68")]+i[t.getFieldValue("69")]+i[t.getFieldValue("6a")]+i[t.getFieldValue("6b")]+i[t.getFieldValue("6c")]+i[t.getFieldValue("6d")]+i[t.getFieldValue("6e")]+i[t.getFieldValue("6f")]+":"+i[t.getFieldValue("70")]+i[t.getFieldValue("71")]+i[t.getFieldValue("72")]+i[t.getFieldValue("73")]+i[t.getFieldValue("74")]+i[t.getFieldValue("75")]+i[t.getFieldValue("76")]+i[t.getFieldValue("77")]+i[t.getFieldValue("78")]+i[t.getFieldValue("79")]+i[t.getFieldValue("7a")]+i[t.getFieldValue("7b")]+i[t.getFieldValue("7c")]+i[t.getFieldValue("7d")]+i[t.getFieldValue("7e")]+i[t.getFieldValue("7f")]+'")',e.ORDER_ATOMIC]},XT=function(t,e){return e.definitions_.import_matrix="import matrix",["matrix.Image."+t.getFieldValue("image"),e.ORDER_ATOMIC]},GT=function(t,e){return e.definitions_.import_matrix="import matrix",["matrix.get_pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},wT=function(t,e){return e.definitions_.import_matrix="import matrix","matrix.set_pixel(int("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+"), int("+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+"), "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"},UT=function(t,e){e.definitions_.import_matrix="import matrix";return["matrix.get_brightness()",e.ORDER_ATOMIC]},xT=function(t,e){e.definitions_.import_matrix="import matrix";return["matrix.get_screenimage()",e.ORDER_ATOMIC]},HT=function(t,e){return e.definitions_.import_matrix="import matrix","matrix.set_brightness("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+")\n"},BT=function(t,e){return e.definitions_.import_matrix="import matrix","matrix.blink_rate("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+")\n"},WT=function(t,e){e.definitions_.import_matrix="import matrix";return"matrix.clear()\n"},KT=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC);return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = ssd1306.SSD1306_I2C("+e.valueToCode(this,"row",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"column",e.ORDER_ATOMIC)+", "+i+")\n"},qT=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_str("+(e.valueToCode(this,"Text_line1",e.ORDER_ASSIGNMENT)||"''")+", "+(e.valueToCode(this,"Text_line2",e.ORDER_ASSIGNMENT)||"''")+", "+(e.valueToCode(this,"Text_line3",e.ORDER_ASSIGNMENT)||"''")+", "+(e.valueToCode(this,"Text_line4",e.ORDER_ASSIGNMENT)||"''")+")\n"},QT=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_line("+e.valueToCode(this,"x1",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"y1",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"x2",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"y2",e.ORDER_ATOMIC)+", 1)\n"},jT=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),o=e.valueToCode(this,"width",e.ORDER_ATOMIC),p=e.valueToCode(this,"height",e.ORDER_ATOMIC),u="TRUE"==this.getFieldValue("fill")?"True":"False",a=this.getFieldValue("OP"),l="";switch(u){case"True":l=i+".show_fill_rect("+n+", "+s+", "+o+", "+p+", "+a+")\n";break;case"False":l=i+".show_rect("+n+", "+s+", "+o+", "+p+", "+a+")\n"}return l},JT=function(t,e){e.definitions_.import_matrix="import matrix";var i=t.getFieldValue("OP"),n=e.valueToCode(t,"A",e.ORDER_ATOMIC),s=e.valueToCode(t,"B",e.ORDER_ATOMIC);return["INTERSECTION"==i?n+"-("+n+"-"+s+")":n+i+s,e.ORDER_ATOMIC]},zT=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),o=e.valueToCode(this,"length",e.ORDER_ATOMIC);return i+".show_"+this.getFieldValue("direction")+"("+n+", "+s+", "+o+", 1)\n"},ZT=function(t,e){return["ON"==this.getFieldValue("ONOFF")?"1":"0",e.ORDER_ATOMIC]},$T=function(t,e){e.definitions_.import_matrix="import matrix";var i=t.getFieldValue("OP");return[e.valueToCode(t,"img",e.ORDER_ATOMIC)+".shift_"+i+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},th=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return e.definitions_.import_ssd1306="import ssd1306",e.definitions_.import_machine="import machine",i+".show_fill("+this.getFieldValue("key")+")\n"},eh=function(t,e){var i,n=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),s=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC),o=this.getFieldValue("key");return"TM1650"==o?(e.definitions_.import_tm1650="import tm1650",i=n+" = tm1650."+o+"("+s+")\n"):"TM1637"==o&&(e.definitions_.import_tm1637="import tm1637",i=n+" = tm1637."+o+"("+s+")\n"),i},ih=function(t,e){var i=this.getFieldValue("TYPE");return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+"."+i+this.getFieldValue("STAT")+"()\n"},nh=function(t,e){var i=this.getFieldValue("TYPE");return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+"."+i+"_show_num("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},sh=function(t,e){var i=this.getFieldValue("TYPE");return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+"."+i+"_show_dot("+e.valueToCode(this,"NO",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"},oh=function(t,e){return["matrix.Image."+this.getFieldValue("ANIMATION"),e.ORDER_ATOMIC]},ph=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),o=e.valueToCode(this,"r",e.ORDER_ATOMIC),p="TRUE"==this.getFieldValue("fill")?"True":"False",u=this.getFieldValue("OP"),a="";switch(p){case"True":a=i+".show_fill_circle("+n+", "+s+", "+o+", "+u+")\n";break;case"False":a=i+".show_circle("+n+", "+s+", "+o+", "+u+")\n"}return a},uh=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var n=e.valueToCode(this,"x0",e.ORDER_ATOMIC),s=e.valueToCode(this,"y0",e.ORDER_ATOMIC),o=e.valueToCode(this,"x1",e.ORDER_ATOMIC),p=e.valueToCode(this,"y1",e.ORDER_ATOMIC),u=e.valueToCode(this,"x2",e.ORDER_ATOMIC),a=e.valueToCode(this,"y2",e.ORDER_ATOMIC),l="TRUE"==this.getFieldValue("fill")?"True":"False",_=this.getFieldValue("OP"),r="";switch(l){case"True":r=i+".show_fill_triangle("+n+", "+s+", "+o+", "+p+", "+u+", "+a+", "+_+")\n";break;case"False":r=i+".show_triangle("+n+", "+s+", "+o+", "+p+", "+u+", "+a+", "+_+")\n"}return r},ah=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_bitmap("+e.valueToCode(this,"START_X",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"START_Y",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"bitmap_name",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"WIDTH",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"HEIGHT",e.ORDER_ATOMIC)+")\n"},lh=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_pixel("+e.valueToCode(this,"POS_X",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"POS_Y",e.ORDER_ATOMIC)+")\n"},_h=function(t,e){var i,n=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),s=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC),o=this.getFieldValue("key");return"32x12 Matrix"==o?(e.definitions_.import_matrix32x12="import matrix32x12",i=n+" = matrix32x12.Matrix("+s+")\n"):"TM1637"==o&&(e.definitions_.import_tm1637="import tm1637",i=n+" = tm1637."+o+"("+s+")\n"),i},rh=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return e.definitions_.import_matrix32x12="import matrix32x12",i+".set_buffer("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},dh=function(t,e){return e.definitions_.import_matrix32x12="import matrix32x12",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},Ih=function(t,e){return e.definitions_.import_mixiot="import mixiot","mixiot.wlan_connect("+e.valueToCode(this,"WIFINAME",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"PASSWORD",e.ORDER_ATOMIC)+")\n"},Th=function(t,e){return e.definitions_.import_onenet="import onenet",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+" = onenet.init_MQTT_client("+e.valueToCode(this,"CLIENT",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"SERVER",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"USERNAME",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"PASSWORD",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"TOPIC",e.ORDER_ATOMIC)+", "+(e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)||"None")+")\n"},hh=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);return e.definitions_.import_onenet="import onenet",i+".do_disconnect()\n"},mh=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"DICT",e.ORDER_ATOMIC),s="TRUE"==this.getFieldValue("is_print")?"True":"False";return e.definitions_.import_onenet="import onenet",i+".publish("+n+", is_print="+s+")\n"},Oh=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);return e.definitions_.import_onenet="import onenet",i+".check_msg()\n"},ch=function(t,e){e.definitions_.import_onenet="import onenet";var i=new Array(this.itemCount_),n=new Array(this.itemCount_),s=new Array(this.itemCount_),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);for(let t=0;t0?e.join("\n")+i.join("\n")+n.join("\n")+p.join("\n")+u.join("")+t+"while True:\n"+a.join("")+l.join("\n"):e.join("\n")+i.join("\n")+n.join("\n")+p.join("\n")+u.join("")+t+l.join("\n"),_},Gm.scrubNakedValue=function(t){return t+"\n"},Gm.quote_=function(t){var e="'";return-1!==(t=t.replace(/\\/g,"\\\\").replace(/\n/g,"\\\n")).indexOf("'")&&(-1===t.indexOf('"')?e='"':t=t.replace(/'/g,"\\'")),e+t+e},Gm.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},Gm.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(o=t.getCommentText())&&(o=Et.utils.string.wrap(o,Gm.COMMENT_WRAP-3),n+=Gm.prefixLines(o+"\n","# "));for(var s=0;s0?"int("+u+" + "+s+")":s<0?"int("+u+" - "+-s+")":"int("+u+")",n&&(u="-"+u)),u};const wm={k210:{description:"MicroPython[K210_MixGo AI]",digital_pin:[["P0","0"],["P1","1"],["P2","2"],["P3","3"],["P6","6"],["P7","7"],["P8","8"],["P9","9"],["P10","10"],["P11","11"],["P12","12"],["P13","13"],["P14","14"],["P15","15"],["P16","16"],["P17","17"],["P18","18"],["P19","19"],["P20","20"],["P21","21"],["P22","22"],["P23","23"],["P24","24"],["P25","25"]],digital:[["P0","0"],["P1","1"],["P2","2"],["P3","3"],["P6","6"],["P7","7"],["P8","8"],["P9","9"],["P10","10"],["P11","11"],["P12","12"],["P13","13"],["P14","14"],["P15","15"],["P16","16"],["P17","17"],["P18","18"],["P19","19"],["P20","20"],["P21","21"],["P22","22"],["P23","23"],["P24","24"],["P25","25"],["P30","30"],["P31","31"],["P32","32"],["P33","33"],["P34","34"],["P35","35"]],button:[["A","button_a"],["B","button_b"]],axis:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],exlcdh:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"],["12","12"],["13","13"],["14","14"],["15","15"]],exlcdv:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]]}};wm["MixGo AI"]=wm.k210;const Um=wm,xm=100,Hm={init:function(){this.setColour(xm),this.appendDummyInput().appendField("初始化"),this.appendDummyInput().appendField("舵机"),this.appendValueInput("PIN",Number).appendField("管脚").setCheck(Number),this.appendValueInput("time").appendField("定时器").setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},Bm={init:function(){this.setColour(xm),this.appendDummyInput().appendField("设置"),this.appendDummyInput().appendField("舵机"),this.appendValueInput("PIN",Number).appendField("管脚").setCheck(Number),this.appendValueInput("range").appendField("角度").setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},Wm={init:function(){this.setColour(xm),this.appendDummyInput().appendField("初始化"),this.appendDummyInput().appendField("16路舵机"),this.appendValueInput("address").appendField("地址").setCheck(Number),this.appendValueInput("SUB").setCheck("var").setAlign(Et.inputs.Align.RIGHT).appendField("通信"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("使用PCA9685驱动16路舵机并备注IIC端口")}},Km={init:function(){this.setColour(xm),this.appendDummyInput().appendField("设置"),this.appendDummyInput().appendField("16路舵机"),this.appendValueInput("index").appendField("编号").setCheck(Number),this.appendValueInput("range").appendField("角度").setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("使用PCA9685驱动16路舵机,输入编号机角度")}},qm={init:function(){this.setColour(xm),this.appendValueInput("SUB").appendField("初始化").setCheck("var"),this.appendValueInput("PIN",Number).appendField("管脚").setCheck(Number),this.appendValueInput("num").appendField("灯数").setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},Qm={init:function(){this.setColour(xm),this.appendValueInput("SUB").appendField("").setCheck("var"),this.appendValueInput("num").appendField("灯号").setCheck(Number),this.appendValueInput("R").appendField("R值").setCheck(Number),this.appendValueInput("G").appendField("G值").setCheck(Number),this.appendValueInput("B").appendField("B值").setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},jm={init:function(){this.setColour(xm),this.appendValueInput("SUB").appendField("").setCheck("var"),this.appendDummyInput().appendField("生效"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},Jm={init:function(){this.setColour(xm),this.appendValueInput("SUB").appendField("初始化").setCheck("var"),this.appendDummyInput().appendField("电机驱动"),this.appendDummyInput().appendField("地址").appendField(new Et.FieldDropdown([["A","ms32006.ADDRESS_A"],["B","ms32006.ADDRESS_B"]]),"mode"),this.appendValueInput("SUB1").setCheck("var").setAlign(Et.inputs.Align.RIGHT).appendField("通信"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("初始化MS32006电机驱动,使用I2C通信")}},zm={init:function(){this.setColour(xm),this.appendValueInput("SUB").appendField("直流电机").setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_Direction).appendField(new Et.FieldDropdown([[Et.Msg.CLOCKWISE,"ms32006.MOT_CW"],[Et.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"],[Et.Msg.MOTOR_N,"ms32006.MOT_N"],[Et.Msg.MOTOR_P,"ms32006.MOT_P"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_STEPPER_SET_SPEED),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置直流电机的状态及转速(0-100)")}},Zm={init:function(){this.setColour(xm),this.appendValueInput("SUB").appendField("步进电机").setCheck("var"),this.appendDummyInput().appendField("选择").appendField(new Et.FieldDropdown([["A","ms32006.MOT_A"],["B","ms32006.MOT_B"]]),"mode"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_Direction).appendField(new Et.FieldDropdown([[Et.Msg.CLOCKWISE,"ms32006.MOT_CW"],[Et.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField("转速"),this.appendValueInput("steps").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField("步数"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置步进电机的状态、转速、步数(0-2047)")}},$m={init:function(){this.setColour(xm),this.appendValueInput("SUB").setCheck("var").appendField("初始化"),this.appendValueInput("P",Number).appendField("P值").setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("I",Number).appendField("I值").setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("D",Number).appendField("D值").setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip("初始化PID算法")}},tO={init:function(){this.setColour(xm),this.appendValueInput("SUB").setCheck("var").appendField(""),this.appendDummyInput().appendField("运算"),this.appendValueInput("error").appendField("偏移量").setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("scaler").appendField("定标量").setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("根据参数返回运算结果")}},eO="#55839A",iO={init:function(){this.setColour(eO),this.appendDummyInput("").appendField(new Et.FieldTextInput("anchor"),"VAR").appendField("锚点参数= (").appendField(new Et.FieldTextInput("1.889, 2.5245, 2.9465, 3.94056, 3.99987, 5.3658, 5.155437, 6.92275, 6.718375, 9.01025"),"TEXT").appendField(")"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("锚点参数")}},nO={init:function(){this.setColour(eO),this.appendDummyInput("").appendField(new Et.FieldTextInput("calss"),"VAR").appendField("物品名称= [").appendField(new Et.FieldTextInput("'name1', 'name2', 'name3', 'name4'"),"TEXT").appendField("]"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("将要识别的物品名称")}},sO={init:function(){this.setColour(eO),this.appendValueInput("SUB").appendField("").setCheck("var"),this.appendValueInput("path").appendField("模型加载").setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("从flash系统中加载模型")}},oO={init:function(){this.setColour(eO),this.appendValueInput("SUB").appendField("").setCheck("var"),this.appendValueInput("path").appendField("模型路径").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("从文件系统中加载模型")}},pO={init:function(){this.setColour(eO),this.appendDummyInput("").appendField("yolo2").appendField("初始化"),this.appendValueInput("SUB").setAlign(Et.inputs.Align.RIGHT).appendField("网络模型").setCheck("var"),this.appendValueInput("threshold").setAlign(Et.inputs.Align.RIGHT).appendField("概率阈值").setCheck(Number),this.appendValueInput("nms_value").setAlign(Et.inputs.Align.RIGHT).appendField("box_iou门限").setCheck(Number),this.appendValueInput("anchor_num").setAlign(Et.inputs.Align.RIGHT).appendField("锚点数").setCheck(Number),this.appendValueInput("anchor").setAlign(Et.inputs.Align.RIGHT).appendField("锚点参数"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("初始化yolo2网络")}},uO={init:function(){this.setColour(eO),this.appendDummyInput("").appendField("yolo2").appendField("运行网络"),this.appendValueInput("SUB").setAlign(Et.inputs.Align.RIGHT).appendField("模型").setCheck("var"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("运行yolo2网络")}},aO={init:function(){this.setColour(eO),this.appendDummyInput("").appendField("yolo2").appendField("前向运算"),this.appendValueInput("SUB").setAlign(Et.inputs.Align.RIGHT).appendField("模型").setCheck("var"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("运行网络前向运算")}},lO={init:function(){this.setColour(eO),this.appendDummyInput().appendField("yolo2").appendField("模型解析"),this.appendValueInput("VAR").appendField("对象").setCheck("var"),this.appendDummyInput().appendField("获取").appendField(new Et.FieldDropdown([["坐标-x","x"],["坐标-y","y"],["标识号","classid"],["置信度","value"]]),"key"),this.setOutput(!0),this.setTooltip("对于模型解析,获取模型识别结果的目标坐标、标识好、置信度")}},_O={init:function(){this.setColour(eO),this.appendDummyInput("").appendField("AI_OneNET").appendField("连接WiFi"),this.appendValueInput("account").appendField("名称").setCheck(String),this.appendValueInput("password").appendField("密码").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("AI-Onenet平台 连接WiFi")}},rO={init:function(){this.setColour(eO),this.appendDummyInput("").appendField("AI_OneNET").appendField("获鉴权码"),this.appendValueInput("account").setAlign(Et.inputs.Align.RIGHT).appendField("账号").setCheck(String),this.appendValueInput("password").setAlign(Et.inputs.Align.RIGHT).appendField("密码").setCheck(String),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("AI-Onenet平台 需要注册平台才能使用账号获取用户鉴权码,鉴权码一般24小时有效")}},dO={init:function(){this.setColour(eO),this.appendDummyInput("").appendField("AI_OneNET").appendField("调取API"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像"),this.appendDummyInput().appendField("识别").appendField(new Et.FieldDropdown([["人脸检测","FACE_RECO"],["人脸分析","FACE_ATTRIBUTE"],["人体检测","BODY_RECO"],["图像抄表","AMMETER_READ"],["内容测评","IDENTIFY_PORN"],["车牌信息","NUMBER_PLATE_RECOGNITION"],["宠物种类","CAT_DOG_DETECTION"],["火灾检测","FIRE_DETECTION"]]),"api"),this.appendValueInput("token").setAlign(Et.inputs.Align.RIGHT).appendField("鉴权码").setCheck(String),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("AI-Onenet平台 调用平台API,返回列表识别结果参数")}},IO={init:function(){this.setColour(eO),this.appendDummyInput("").appendField("AI_Local").appendField("模型训练"),this.appendValueInput("calss").setAlign(Et.inputs.Align.RIGHT).appendField("物品"),this.appendValueInput("sample").setAlign(Et.inputs.Align.RIGHT).appendField("训练量").setCheck(Number),this.appendValueInput("save").setAlign(Et.inputs.Align.RIGHT).appendField("保存").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("AI-Local本地模型训练 需要识别的物品名称、每个物品训练数量、保存的名称")}},TO={init:function(){this.setColour(eO),this.appendDummyInput("").appendField("AI_Local").appendField("模型加载"),this.appendValueInput("path").setAlign(Et.inputs.Align.RIGHT).appendField("路径").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("AI-Local 加载已经训练好的本地模型")}},hO={init:function(){this.setColour(eO),this.appendDummyInput("").appendField("AI_Local").appendField("运行模型"),this.appendValueInput("calss").setAlign(Et.inputs.Align.RIGHT).appendField("物品"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("AI-Local 采集图像运行模型将返回识别的物品名、置信度")}},mO={init:function(){this.setColour(eO),this.appendDummyInput("").appendField("AI_Face").appendField("初始化 加载"),this.appendValueInput("FD").setAlign(Et.inputs.Align.RIGHT).appendField("模型FD:").setCheck(String),this.appendValueInput("LD").setAlign(Et.inputs.Align.RIGHT).appendField("模型LD:").setCheck(String),this.appendValueInput("FE").setAlign(Et.inputs.Align.RIGHT).appendField("模型FE:").setCheck(String),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("人脸分辨,初始化")}},OO={init:function(){this.setColour(eO),this.appendDummyInput("").appendField("AI_Face").appendField("运行识别"),this.appendValueInput("names").setAlign(Et.inputs.Align.RIGHT).appendField("人名"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图象"),this.appendValueInput("threshold").setAlign(Et.inputs.Align.RIGHT).appendField("阈值").setCheck(Number),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("人脸分辨,识别到人脸返回True,无人脸返回False")}},cO={init:function(){this.setColour(eO),this.appendDummyInput().appendField("AI_Face").appendField("识别解析"),this.appendDummyInput().appendField("获取").appendField(new Et.FieldDropdown([["识别人名","info_name"],["置信度 %","info_score"],["脸部坐标","info_face"],["三官坐标","info_organs"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("人脸分辨,识别到人物名称,置信度,脸部坐标,三官(眼睛x2、鼻子、嘴巴*2)坐标")}},RO="#2CAAD2",MO={init:function(){this.setColour(RO),this.appendValueInput("SUB").setCheck("var").appendField("初始化"),this.appendValueInput("BCK",Number).appendField("BCK#").setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("WS",Number).appendField("WS#").setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("DAT",Number).appendField("DAT#").setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip("初始化配置扬声器,用于语音播放")}},EO={init:function(){this.setColour(RO),this.appendValueInput("SUB").setCheck("var").appendField("初始化"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip("初始化配置扬声器,用于语音播放")}},CO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("Audio 音频播放"),this.appendValueInput("path").appendField("路径").setAlign(Et.inputs.Align.RIGHT).setCheck(String),this.appendValueInput("SUB").setCheck("var").setAlign(Et.inputs.Align.RIGHT).appendField("设备"),this.appendValueInput("volume").appendField("音量(%)").setAlign(Et.inputs.Align.RIGHT).setCheck(Number),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("音频播放")}},AO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("Audio 音频录制"),this.appendValueInput("path").appendField("路径").setAlign(Et.inputs.Align.RIGHT).setCheck(String),this.appendValueInput("SUB").setCheck("var").setAlign(Et.inputs.Align.RIGHT).appendField("设备"),this.appendValueInput("time").appendField("时长(s)").setAlign(Et.inputs.Align.RIGHT).setCheck(Number),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("音频录制")}},gO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("Video 视频播放"),this.appendValueInput("path").appendField("路径").setAlign(Et.inputs.Align.RIGHT).setCheck(String),this.appendValueInput("SUB").setCheck("var").setAlign(Et.inputs.Align.RIGHT).appendField("设备"),this.appendValueInput("volume").appendField("音量(%)").setAlign(Et.inputs.Align.RIGHT).setCheck(Number),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("视频播放")}},SO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("Video 视频录制"),this.appendValueInput("path").appendField("路径").setAlign(Et.inputs.Align.RIGHT).setCheck(String),this.appendValueInput("SUB").setCheck("var").setAlign(Et.inputs.Align.RIGHT).appendField("设备"),this.appendValueInput("time").appendField("时长(s)").setAlign(Et.inputs.Align.RIGHT).setCheck(Number),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("视频录制")}},DO="#bc9705",LO={init:function(){this.setColour(DO),this.appendDummyInput("").appendField(new Et.FieldDropdown([["彩色图(YUV422)","sensor.YUV422"],["彩色图(RGB565)","sensor.RGB565"],["灰度图","sensor.GRAYSCALE"]]),"flag"),this.setOutput(!0),this.setTooltip()}},NO={init:function(){this.setColour(DO),this.appendDummyInput("").appendField(new Et.FieldDropdown([["320x240","sensor.QVGA"],["240x240","sensor.B240X240"],["128x128","sensor.B128X128"],["64x64","sensor.B64X64"]]),"flag"),this.setOutput(!0),this.setTooltip()}},fO={init:function(){this.setColour(DO),this.appendDummyInput().appendField("Camera").appendField("初始化"),this.appendValueInput("key1").setAlign(Et.inputs.Align.RIGHT).appendField("帧格式"),this.appendValueInput("key2").setAlign(Et.inputs.Align.RIGHT).appendField("帧大小"),this.appendValueInput("key3").setAlign(Et.inputs.Align.RIGHT).appendField("图捕捉"),this.appendValueInput("key4").setAlign(Et.inputs.Align.RIGHT).appendField("跳帧数"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("初始化摄像头,会自动扫描并获取摄像头型号")}},FO={init:function(){this.setColour(DO),this.appendDummyInput().appendField("Camera"),this.appendDummyInput().appendField("初始化"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("初始化摄像头,会自动扫描并获取摄像头型号")}},vO={init:function(){this.setColour(DO),this.appendDummyInput().appendField("Camera"),this.appendValueInput("key").appendField("帧格式"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("设置摄像头输出格式")}},PO={init:function(){this.setColour(DO),this.appendDummyInput().appendField("Camera"),this.appendValueInput("key").appendField("帧大小"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("设置摄像头输出帧大小")}},VO={init:function(){this.setColour(DO),this.appendDummyInput().appendField("Camera"),this.appendValueInput("key").appendField("图捕捉"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("开启图像捕捉功能")}},yO={init:function(){this.setColour(DO),this.appendDummyInput().appendField("Camera"),this.appendValueInput("frame").appendField("跳帧数").setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("摄像头跳过指定帧数")}},YO={init:function(){this.setColour(DO),this.appendDummyInput().appendField("Camera"),this.appendDummyInput().appendField("获取图像"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("控制摄像头捕捉图像")}},bO={init:function(){this.setColour(DO),this.appendDummyInput().appendField("Camera"),this.appendValueInput("key").appendField("设为"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("启动/关闭摄像头")}},kO={init:function(){this.setColour(DO),this.appendDummyInput().appendField("Camera"),this.appendValueInput("key").appendField("水平镜像"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("设置摄像头水平镜像")}},XO={init:function(){this.setColour(DO),this.appendDummyInput().appendField("Camera"),this.appendValueInput("key").appendField("垂直镜像"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("设置摄像头垂直镜像")}},GO={init:function(){this.setColour(DO),this.appendDummyInput().appendField("Camera"),this.appendValueInput("key").appendField("彩条模式"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("将摄像头设置为彩条模式")}},wO={init:function(){this.setColour(DO),this.appendDummyInput().appendField("Camera"),this.appendDummyInput().appendField("获取").appendField(new Et.FieldDropdown([["分辨率宽度","width"],["分辨率高度","height"],["当前增益值","get_gain_db"],["帧缓冲图像","get_fb"],["类型型号ID","get_id"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("获取当前摄像头信息")}},UO={init:function(){this.setColour(DO),this.appendDummyInput().appendField("Camera"),this.appendDummyInput().appendField("设置").appendField(new Et.FieldDropdown([["对比度","set_contrast"],["亮度值","set_brightness"],["增益值","set_auto_gain"],["饱和度","set_saturation"]]),"key"),this.appendValueInput("num").appendField("值为").setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("设置摄像头对比度、亮度、增益、饱和度")}},xO={init:function(){this.setColour(DO),this.appendDummyInput().appendField("Camera"),this.appendDummyInput().appendField("设置窗口"),this.appendValueInput("numa").appendField("宽为").setCheck(Number),this.appendValueInput("numb").appendField("高为").setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("设置摄像头窗口大小")}},HO=140,BO={init:function(){this.setColour(HO),this.appendValueInput("PIN").appendField(Et.Msg.MIXLY_IR_RECEIVE),this.appendDummyInput().appendField("获取编码"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_I2C_SCAN)}},WO={init:function(){this.setColour(HO),this.appendValueInput("SUB").appendField("I2C "+Et.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("TX",Number).appendField("SCL#").setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("RX",Number).appendField("SDA#").setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.appendDummyInput().appendField("通道").appendField(new Et.FieldDropdown([["0","I2C0"],["1","I2C1"],["2","I2C2"]]),"mode"),this.appendValueInput("freq").setCheck(Number).appendField(Et.Msg.MIXLY_FREQUENCY).setAlign(Et.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_I2C_INIT)}},KO={init:function(){this.setColour(HO),this.appendValueInput("SUB").setCheck("var").appendField("I2S 初始化"),this.appendDummyInput().appendField("设备").appendField(new Et.FieldDropdown([["麦克风","mic"],["扬声器","spk"]]),"mode"),this.appendValueInput("BCK",Number).appendField("BCK#").setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("WS",Number).appendField("WS#").setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("DAT",Number).appendField("DAT#").setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("sample").appendField("采样率").setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_I2C_INIT)}},qO={init:function(){this.setColour(HO),this.appendValueInput("VAR").appendField("I2C").setCheck("var"),this.appendValueInput("address").setCheck(Number).appendField(Et.Msg.MIXLY_ESP32_RNUMBER),this.appendValueInput("data").setCheck(Number).appendField(Et.Msg.LANG_MATH_BYTE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_MICROBIT_JS_I2C_READ)}},QO={init:function(){this.setColour(HO),this.appendValueInput("VAR").appendField("I2C").setCheck("var"),this.appendValueInput("address").setCheck(Number).appendField(Et.Msg.MIXLY_ESP32_WNUMBER),this.appendValueInput("data").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_JS_I2C_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_MICROBIT_JS_I2C_WRITE)}},jO={init:function(){this.setColour(HO),this.appendValueInput("VAR").setCheck("var").appendField(Et.Msg.MIXLY_ESP32_I2C_SCAN1),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_I2C_SCAN2),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_I2C_SCAN)}},JO={init:function(){this.setColour(HO),this.appendValueInput("VAR").setCheck("var").appendField(Et.Msg.MIXLY_ESP32_SPI_INIT),this.appendValueInput("freq").setCheck(Number).appendField(Et.Msg.MIXLY_SERIAL_BEGIN),this.appendValueInput("polarity").setCheck(Number).appendField("polarity"),this.appendValueInput("phase").setCheck(Number).appendField("phase"),this.appendValueInput("sck").setCheck(Number).appendField("SCK"),this.appendValueInput("mosi").setCheck(Number).appendField("MOSI"),this.appendValueInput("miso").setCheck(Number).appendField("MISO"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_SPI_INIT_TOOLTIP)}},zO={init:function(){this.setColour(HO),this.appendValueInput("VAR").setCheck("var").appendField(Et.Msg.MIXLY_SETTING+" SPI"),this.appendValueInput("data").setCheck(Number).appendField(Et.Msg.MIXLY_SERIAL_BEGIN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_SPI_SET)}},ZO={init:function(){this.setColour(HO),this.appendValueInput("VAR").setCheck("var").appendField(Et.Msg.MIXLY_ESP32_SET+"SPI"),this.appendValueInput("data").setCheck(Number).appendField(Et.Msg.MIXLY_ESP32_SPI_BUFFER),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_SPI_BUFFER_SET)}},$O={init:function(){this.setColour(HO),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck(Number).appendField(Et.Msg.MIXLY_SERIAL_READ),this.appendDummyInput("").appendField(Et.Msg.MIXLY_4DIGITDISPLAY_NOMBER2+Et.Msg.LANG_MATH_BYTE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_SPI_READ)}},tc={init:function(){this.setColour(HO),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck(Number).appendField(Et.Msg.MIXLY_SERIAL_READ),this.appendDummyInput("").appendField(Et.Msg.MIXLY_4DIGITDISPLAY_NOMBER2+Et.Msg.LANG_MATH_BYTE+","+Et.Msg.MIXLY_ESP32_SPI_OUTPUT),this.appendValueInput("val").setCheck(Number),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_SPI_READ_OUTPUT)}},ec={init:function(){this.setColour(HO),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck("var").appendField(Et.Msg.MIXLY_SERIAL_READ+Et.Msg.MIXLY_ESP32_SPI_BUFFER),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_SPI_READINTO)}},ic={init:function(){this.setColour(HO),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck("var").appendField(Et.Msg.MIXLY_SERIAL_READ+Et.Msg.MIXLY_ESP32_SPI_BUFFER),this.appendValueInput("val").setCheck(Number).appendField(","+Et.Msg.MIXLY_ESP32_SPI_OUTPUT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_SPI_READINTO_OUTPUT)}},nc={init:function(){this.setColour(HO),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck(String).appendField(Et.Msg.MIXLY_ESP32_WRITE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_SPI_WRITE)}},sc={init:function(){this.setColour(HO),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck(String).appendField(Et.Msg.MIXLY_ESP32_WRITE),this.appendValueInput("val").setCheck("var").appendField(","+Et.Msg.MIXLY_ESP32_BUFFER_READ),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_SPI_WRITE_READINTO)}},oc={init:function(){this.setColour(HO),this.appendValueInput("VAR").setCheck("var").appendField("I2C"),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_READ),this.setOutput(!0,Number)}},pc={init:function(){this.setColour(HO),this.appendValueInput("VAR").setCheck("var").appendField(Et.Msg.MIXLY_ESP32_READ+"I2C"),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_SUCCESS),this.setOutput(!0,Boolean),this.setTooltip(Et.Msg.MIXLY_ESP32_I2C_AVAILABLE)}},uc={init:function(){this.setColour(HO),this.appendValueInput("PIN",Number).appendField(Et.Msg.MIXLY_I2C_SLAVE_ONRECEIVE).setCheck(Number),this.appendStatementInput("DO").appendField(Et.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ac={init:function(){this.setColour(HO),this.appendValueInput("VAR").setCheck("var").appendField("OneWire"),this.appendValueInput("BUS").setCheck(Number).appendField(Et.Msg.MIXLY_SETUP+" "+Et.Msg.MIXLY_PIN),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_OW_INIT)}},lc={init:function(){this.setColour(HO),this.appendValueInput("VAR").setCheck("var").appendField("OneWire"),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_ONEWIRE_SCAN),this.setOutput(!0,"List"),this.setTooltip(Et.Msg.MIXLY_ESP32_OW_SCAN)}},_c={init:function(){this.setColour(HO),this.appendValueInput("VAR").setCheck("var").appendField("OneWire"),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_ONEWIRE_READ),this.setOutput(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_OW_READ)}},rc={init:function(){this.setColour(HO),this.appendValueInput("VAR").setCheck("var").appendField("OneWire"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_ESP32_WRITE).appendField(new Et.FieldDropdown([[Et.Msg.LANG_MATH_STRING,"write"],[Et.Msg.LANG_MATH_BYTE,"writebyte"]]),"op"),this.appendValueInput("byte").setCheck([Number,String]),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_OW_WRITE)}},dc={init:function(){this.setColour(HO),this.appendValueInput("VAR").setCheck("var").appendField(Et.Msg.MIXLY_ESP32_ONEWIRE_SELECT),this.appendValueInput("byte").setCheck(String).appendField("ROM"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_OW_SELECT)}},Ic={init:function(){this.setColour(HO),this.appendValueInput("VAR").setCheck("var").appendField(Et.Msg.MIXLY_ESP32_ONEWIRE_RESET),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Et.Msg.MIXLY_ESP32_OW_RESET)}},Tc=WO,hc=qO,mc=QO,Oc=jO,cc=JO,Rc=zO,Mc=ZO,Ec=$O,Cc=tc,Ac=ec,gc=ic,Sc=nc,Dc=sc,Lc=oc,Nc=pc,fc=180,Fc={init:function(){this.setColour(fc),this.appendDummyInput("").appendField(new Et.FieldDropdown([["0°","0"],["90°","1"],["180°","2"],["270°","3"]]),"flag"),this.setOutput(!0),this.setTooltip()}},vc={init:function(){this.setColour(fc),this.appendDummyInput("").appendField(new Et.FieldDropdown([["黑色","lcd.BLACK"],["深蓝色","lcd.NAVY"],["蓝色","lcd.BLUE"],["深绿色","lcd.DARKGREEN"],["深青色","lcd.DARKCYAN"],["绿色","lcd.GREEN"],["青色","lcd.CYAN"],["褐红色","lcd.MAROON"],["紫色","lcd.PURPLE"],["橄榄色","lcd.OLIVE"],["深灰色","lcd.DARKGREY"],["绿黄色","lcd.GREENYELLOW"],["浅灰色","lcd.LIGHTGREY"],["红色","lcd.RED"],["洋红色","lcd.MAGENTA"],["粉红色","lcd.PINK"],["橙色","lcd.ORANGE"],["黄色","lcd.YELLOW"],["白色","lcd.WHITE"]]),"flag"),this.setOutput(!0),this.setTooltip()}},Pc={init:function(){this.setColour(fc),this.appendDummyInput("").appendField(new Et.FieldDropdown([["开启","1"],["关闭","0"]]),"flag"),this.setOutput(!0),this.setTooltip()}},Vc={init:function(){this.setColour(fc),this.appendDummyInput().appendField("LCD 初始化"),this.appendValueInput("freq").setAlign(Et.inputs.Align.RIGHT).appendField("通信频率").setCheck(Number),this.appendValueInput("color").setAlign(Et.inputs.Align.RIGHT).appendField("背景颜色").setCheck(Number),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("初始化LCD屏幕显示")}},yc={init:function(){this.setColour(fc),this.appendDummyInput().appendField("LCD 获取 "),this.appendDummyInput().appendField(new Et.FieldDropdown([["宽度","width"],["高度","height"]]),"key"),this.appendDummyInput().appendField("分辨率"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("获取LCD的宽度/高度(水平分辨率)")}},Yc={init:function(){this.setColour(fc),this.appendDummyInput().appendField("LCD"),this.appendValueInput("key").appendField("系统颜色"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("获取LCD的宽度/高度(水平分辨率)")}},bc={init:function(){this.setColour(fc),this.appendDummyInput().appendField("LCD 显示图像"),this.appendValueInput("img").appendField(""),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("在液晶屏上显示一张image(GRAYSCALE或RGB565")}},kc={init:function(){this.setColour(fc),this.appendDummyInput().appendField("LCD 清屏颜色"),this.appendValueInput("color").appendField("").setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("将液晶屏清空为指定的颜色")}},Xc={init:function(){this.setColour(fc),this.appendDummyInput().appendField("LCD 屏幕旋转"),this.appendValueInput("key").appendField(""),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("设置LCD屏幕方向")}},Gc={init:function(){this.setColour(fc),this.appendDummyInput().appendField("LCD 镜像显示"),this.appendValueInput("key").appendField(""),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("设置LCD是否镜面显示")}},wc={init:function(){this.setColour(fc),this.appendDummyInput().appendField("LCD 绘制文本"),this.appendValueInput("x").setAlign(Et.inputs.Align.RIGHT).appendField("坐标X").setCheck(Number),this.appendValueInput("y").setAlign(Et.inputs.Align.RIGHT).appendField("坐标Y").setCheck(Number),this.appendValueInput("text").setAlign(Et.inputs.Align.RIGHT).appendField("文本内容").setCheck(String),this.appendValueInput("color_T").setAlign(Et.inputs.Align.RIGHT).appendField("文本颜色").setCheck(Number),this.appendValueInput("color_S").setAlign(Et.inputs.Align.RIGHT).appendField("背景颜色").setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("在液晶屏上显示文本字符(不支持中文)")}},Uc={init:function(){this.setColour(40),this.appendDummyInput().appendField("Touch 初始化"),this.appendValueInput("I2C").appendField("通信").setCheck("var"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("初始化触摸屏")}},xc={init:function(){this.setColour(40),this.appendDummyInput().appendField("Touch 校准"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("校准屏幕,使屏幕显示和触摸屏像素能够对应")}},Hc={init:function(){this.setColour(40),this.appendDummyInput().appendField("Touch 获取 "),this.appendDummyInput().appendField(new Et.FieldDropdown([["状态","[0]"],["坐标x","[1]"],["坐标y","[2]"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("读取当前屏幕的状态以及按下的点的坐标值")}},Bc={init:function(){this.setColour(40),this.appendDummyInput().appendField("Touch 状态"),this.appendDummyInput().appendField(new Et.FieldDropdown([["空闲","ts.STATUS_IDLE"],["不按","ts.STATUS_RELEASE"],["按下","ts.STATUS_PRESS"],["移动","ts.STATUS_MOVE"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("读取当前屏幕的状态以及按下的点的坐标值")}},Wc="#777777",Kc={init:function(){this.setColour(Wc),this.appendDummyInput("").appendField("from ").appendField(new Et.FieldTextInput("mixno"),"path").appendField(" import ").appendField(new Et.FieldTextInput("*"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},qc={init:function(){this.setColour(Wc),this.appendDummyInput("").appendField("import ").appendField(new Et.FieldTextInput("module"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Qc={init:function(){this.setColour(Wc),this.appendDummyInput("").appendField(new Et.FieldTextInput("my_function"),"NAME"),this.itemCount_=1,this.arguments_=["x"],this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Et.icons.MutatorIcon(["factory_create_with_item"],this))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("items",this.itemCount_);for(var e=0;ee?t[e]:"ni-hao"),"KEY"+e).appendField("”:")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Et.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},lR={init:function(){this.setColour(pR),this.appendValueInput("SUB").appendField("").setCheck("var"),this.appendDummyInput().appendField("启动识别 返回结果"),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip("语音识别,获取识别结果")}},_R={init:function(){this.setColour(pR),this.appendValueInput("SUB").appendField("").setCheck("var"),this.appendDummyInput().appendField("注销识别 内存释放"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("语音识别,注销语音识别,释放内存")}},rR="#90A244",dR={init:function(){this.setColour(rR),this.appendDummyInput("").appendField(new Et.FieldDropdown([["否","0"],["是","1"]]),"flag"),this.setOutput(!0),this.setTooltip()}},IR={init:function(){this.setColour(rR),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("path").appendField("打开路径").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("打开一个新的图像对象")}},TR={init:function(){this.setColour(rR),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField("打开空图"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("打开一个空的图像对象")}},hR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("图像信息"),this.appendValueInput("VAR").appendField("图像").setCheck("var"),this.appendDummyInput().appendField("获取").appendField(new Et.FieldDropdown([["宽度","width"],["高度","height"],["格式","format"],["大小","size"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("获取图像的宽度、高度、格式、大小")}},mR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("图像保存"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("path").setAlign(Et.inputs.Align.RIGHT).appendField("路径").setCheck(String),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("图像的副本保存到文件系统")}},OR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("图像截取"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("LIST").setAlign(Et.inputs.Align.RIGHT).appendField("区域-xywh"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("复制一个图像图像的副本")}},cR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("RGB"),this.appendDummyInput().appendField("["),this.appendValueInput("R").setCheck(Number),this.appendValueInput("G").appendField(",").setCheck(Number),this.appendValueInput("B").appendField(",").setCheck(Number),this.appendDummyInput().appendField("]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("对图像进行适当压缩")}},RR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("图像压缩"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("quality").setAlign(Et.inputs.Align.RIGHT).appendField("压缩率").setCheck(Number),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("对图像进行适当压缩")}},MR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("图像清除"),this.appendValueInput("VAR").appendField("图像").setCheck("var"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("将图像中的所有像素设置为零")}},ER={init:function(){this.setColour(rR),this.appendDummyInput().appendField("图像转换"),this.appendValueInput("VAR").appendField("图像").setCheck("var"),this.appendDummyInput().appendField("转换为").appendField(new Et.FieldDropdown([["灰度图","to_grayscale"],["彩色图","to_rgb565"],["彩虹图","to_rainbow"],["AI格式","pix_to_ai"],["字节块","to_bytes"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("将图像转换为灰度图、彩色图、彩虹图像")}},CR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("修改点颜色"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("LIST").setAlign(Et.inputs.Align.RIGHT).appendField("坐标-xy"),this.appendValueInput("color").setAlign(Et.inputs.Align.RIGHT).appendField("颜色").setCheck(Number),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("设置图像某点像素值")}},AR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("获取点颜色"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("LIST").setAlign(Et.inputs.Align.RIGHT).appendField("坐标-xy"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("获取图像某点像素值")}},gR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("字库加载"),this.appendValueInput("path").setAlign(Et.inputs.Align.RIGHT).appendField("路径").setCheck(String),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("从SD中加载需要显示文字的字库")}},SR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("字库释放"),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("释放字库所占的内存")}},DR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("绘制文本(中)"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("x0").setAlign(Et.inputs.Align.RIGHT).appendField("起-x").setCheck(Number),this.appendValueInput("y0").setAlign(Et.inputs.Align.RIGHT).appendField("起-y").setCheck(Number),this.appendValueInput("tex").setAlign(Et.inputs.Align.RIGHT).appendField("内容").setCheck(String),this.appendValueInput("color").setAlign(Et.inputs.Align.RIGHT).appendField("颜色").setCheck(Number),this.appendValueInput("scale").setAlign(Et.inputs.Align.RIGHT).appendField("字号").setCheck(Number),this.appendValueInput("x_spacing").setAlign(Et.inputs.Align.RIGHT).appendField("间距").setCheck(Number),this.setOutput(!0),this.setTooltip("图像上绘制一个文本")}},LR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("绘制文本"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("x0").setAlign(Et.inputs.Align.RIGHT).appendField("起-x").setCheck(Number),this.appendValueInput("y0").setAlign(Et.inputs.Align.RIGHT).appendField("起-y").setCheck(Number),this.appendValueInput("tex").setAlign(Et.inputs.Align.RIGHT).appendField("内容").setCheck(String),this.appendValueInput("color").setAlign(Et.inputs.Align.RIGHT).appendField("颜色").setCheck(Number),this.appendValueInput("scale").setAlign(Et.inputs.Align.RIGHT).appendField("字号").setCheck(Number),this.appendValueInput("x_spacing").setAlign(Et.inputs.Align.RIGHT).appendField("间距").setCheck(Number),this.setOutput(!0),this.setTooltip("图像上绘制一个中文文本")}},NR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("绘制文本(英)"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("x0").setAlign(Et.inputs.Align.RIGHT).appendField("起-x").setCheck(Number),this.appendValueInput("y0").setAlign(Et.inputs.Align.RIGHT).appendField("起-y").setCheck(Number),this.appendValueInput("tex").setAlign(Et.inputs.Align.RIGHT).appendField("内容").setCheck(String),this.appendValueInput("color").setAlign(Et.inputs.Align.RIGHT).appendField("颜色").setCheck(Number),this.appendValueInput("scale").setAlign(Et.inputs.Align.RIGHT).appendField("字号").setCheck(Number),this.setOutput(!0),this.setTooltip("图像上绘制一个字符文本")}},fR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("绘制直线"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("LIST").setAlign(Et.inputs.Align.RIGHT).appendField("坐标-xyxy"),this.appendValueInput("color").setAlign(Et.inputs.Align.RIGHT).appendField("颜色").setCheck(Number),this.appendValueInput("thi").setAlign(Et.inputs.Align.RIGHT).appendField("粗细").setCheck(Number),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("图像上绘制一条从(x0,y0)到(x1,y1)的线")}},FR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("绘制箭头"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("LIST").setAlign(Et.inputs.Align.RIGHT).appendField("坐标-xyxy"),this.appendValueInput("color").setAlign(Et.inputs.Align.RIGHT).appendField("颜色").setCheck(Number),this.appendValueInput("thi").setAlign(Et.inputs.Align.RIGHT).appendField("大小").setCheck(Number),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("图像上绘制一个箭头")}},vR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("绘制十字"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("LIST").setAlign(Et.inputs.Align.RIGHT).appendField("坐标-xy"),this.appendValueInput("color").setAlign(Et.inputs.Align.RIGHT).appendField("颜色").setCheck(Number),this.appendValueInput("size").setAlign(Et.inputs.Align.RIGHT).appendField("延伸").setCheck(Number),this.appendValueInput("thi").setAlign(Et.inputs.Align.RIGHT).appendField("粗细").setCheck(Number),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("图像上绘制一个十字")}},PR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("绘制圆形"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("LIST").setAlign(Et.inputs.Align.RIGHT).appendField("坐标-xyr"),this.appendValueInput("color").setAlign(Et.inputs.Align.RIGHT).appendField("颜色").setCheck(Number),this.appendValueInput("thi").setAlign(Et.inputs.Align.RIGHT).appendField("粗细").setCheck(Number),this.appendValueInput("fil").setAlign(Et.inputs.Align.RIGHT).appendField("填充").setCheck(Number),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("图像上绘制一个圆形")}},VR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("绘制矩形"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("LIST").setAlign(Et.inputs.Align.RIGHT).appendField("坐标-xywh"),this.appendValueInput("color").setAlign(Et.inputs.Align.RIGHT).appendField("颜色").setCheck(Number),this.appendValueInput("thi").setAlign(Et.inputs.Align.RIGHT).appendField("粗细").setCheck(Number),this.appendValueInput("fil").setAlign(Et.inputs.Align.RIGHT).appendField("填充").setCheck(Number),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("图像上绘制一个矩形")}},yR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("绘制特征点"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("keypoints").setAlign(Et.inputs.Align.RIGHT).appendField("对象"),this.appendValueInput("color").setAlign(Et.inputs.Align.RIGHT).appendField("颜色").setCheck(Number),this.appendValueInput("size").setAlign(Et.inputs.Align.RIGHT).appendField("大小").setCheck(Number),this.appendValueInput("thi").setAlign(Et.inputs.Align.RIGHT).appendField("粗细").setCheck(Number),this.appendValueInput("fil").setAlign(Et.inputs.Align.RIGHT).appendField("填充").setCheck(Number),this.setOutput(!0),this.setTooltip("绘制一个特征点对象的各个点")}},YR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("绘制图像"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("LIST").setAlign(Et.inputs.Align.RIGHT).appendField("坐标-xy"),this.appendValueInput("x_scale").setAlign(Et.inputs.Align.RIGHT).appendField("x缩放").setCheck(Number),this.appendValueInput("y_scale").setAlign(Et.inputs.Align.RIGHT).appendField("y缩放").setCheck(Number),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("绘制一个image图像")}},bR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("直线识别"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("roi").setAlign(Et.inputs.Align.RIGHT).appendField("区域-xywh"),this.appendValueInput("threshold").setAlign(Et.inputs.Align.RIGHT).appendField("阈值").setCheck(Number),this.appendValueInput("theta_margin").setAlign(Et.inputs.Align.RIGHT).appendField("合并角度").setCheck(Number),this.appendValueInput("rho_margin").setAlign(Et.inputs.Align.RIGHT).appendField("合并斜率").setCheck(Number),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField("返回[line]"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("使用霍夫变换识别直线,返回image.line对象列表")}},kR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("线段识别"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("roi").setAlign(Et.inputs.Align.RIGHT).appendField("区域-xywh"),this.appendValueInput("distance").setAlign(Et.inputs.Align.RIGHT).appendField("间距").setCheck(Number),this.appendValueInput("difference").setAlign(Et.inputs.Align.RIGHT).appendField("合并角度").setCheck(Number),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField("返回[line]"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("使用霍夫变换识别线段,返回image.line对象列表")}},XR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("圆形识别"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("roi").setAlign(Et.inputs.Align.RIGHT).appendField("区域-xywh"),this.appendValueInput("threshold").setAlign(Et.inputs.Align.RIGHT).appendField("阈值").setCheck(Number),this.appendValueInput("r_min").setAlign(Et.inputs.Align.RIGHT).appendField("最小r").setCheck(Number),this.appendValueInput("r_max").setAlign(Et.inputs.Align.RIGHT).appendField("最大r").setCheck(Number),this.appendValueInput("r_step").setAlign(Et.inputs.Align.RIGHT).appendField("步长r").setCheck(Number),this.appendValueInput("x_margin").setAlign(Et.inputs.Align.RIGHT).appendField("合并x值").setCheck(Number),this.appendValueInput("y_margin").setAlign(Et.inputs.Align.RIGHT).appendField("合并y值").setCheck(Number),this.appendValueInput("r_margin").setAlign(Et.inputs.Align.RIGHT).appendField("合并r值").setCheck(Number),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField("返回[circle]"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("使用霍夫变换识别圆形,返回image.cirle对象列表")}},GR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("矩形识别"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("roi").setAlign(Et.inputs.Align.RIGHT).appendField("区域-xywh"),this.appendValueInput("threshold").setAlign(Et.inputs.Align.RIGHT).appendField("阈值").setCheck(Number),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField("返回[rect]"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("使用四元检测识别矩形,返回image.rect对象列表")}},wR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("线性回归"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("threshold").setAlign(Et.inputs.Align.RIGHT).appendField("阈值").setCheck(Number),this.appendValueInput("invert").setAlign(Et.inputs.Align.RIGHT).appendField("阈值反转"),this.appendValueInput("roi").setAlign(Et.inputs.Align.RIGHT).appendField("区域-xywh"),this.appendValueInput("robust").setAlign(Et.inputs.Align.RIGHT).appendField("泰尔指数").setCheck(Number),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField("返回[line]"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("计算线性回归,返回image.line对象列表")}},UR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("直线解析"),this.appendValueInput("VAR").appendField("对象").setCheck("var"),this.appendDummyInput().appendField("获取").appendField(new Et.FieldDropdown([["坐标-xywh","line"],["x1分量","x1"],["y1分量","y1"],["x2分量","x2"],["y2分量","y2"],["长度","length"],["角度","theta"],["斜率","rho"],["模","magnitude"]]),"key"),this.setOutput(!0),this.setTooltip("通过遍历image.line列表,获取直线信息")}},xR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("圆形解析"),this.appendValueInput("VAR").appendField("对象").setCheck("var"),this.appendDummyInput().appendField("获取").appendField(new Et.FieldDropdown([["坐标-xyr","circle"],["x分量","x"],["y分量","y"],["r分量","r"]]),"key"),this.setOutput(!0),this.setTooltip("通过遍历image.circle列表,获取圆形信息")}},HR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("矩形解析"),this.appendValueInput("VAR").appendField("对象").setCheck("var"),this.appendDummyInput().appendField("获取").appendField(new Et.FieldDropdown([["坐标-xywh","rect"],["x分量","x"],["y分量","y"],["w分量","w"],["h分量","h"]]),"key"),this.setOutput(!0),this.setTooltip("通过遍历image.rect列表,获取矩形信息")}},BR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("直方图均衡"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("key").setAlign(Et.inputs.Align.RIGHT).appendField("自适应"),this.appendValueInput("limit").setAlign(Et.inputs.Align.RIGHT).appendField("对比度").setCheck(Number),this.setOutput(!0),this.setTooltip("图像上的简单直方图均衡化")}},WR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("模糊滤波"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("size").setAlign(Et.inputs.Align.RIGHT).appendField("卷积核尺寸").setCheck(Number),this.appendValueInput("key").setAlign(Et.inputs.Align.RIGHT).appendField("自适应"),this.appendValueInput("offset").setAlign(Et.inputs.Align.RIGHT).appendField("补偿").setCheck(Number),this.setOutput(!0),this.setTooltip("图像上的简单模糊滤波")}},KR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("卡通化滤波"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("seed").setAlign(Et.inputs.Align.RIGHT).appendField("原始差异").setCheck(Number),this.appendValueInput("float").setAlign(Et.inputs.Align.RIGHT).appendField("相邻差异").setCheck(Number),this.setOutput(!0),this.setTooltip("图像上的简单卡通滤波器")}},qR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("图像腐蚀"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("size").setAlign(Et.inputs.Align.RIGHT).appendField("卷积核尺寸").setCheck(Number),this.appendValueInput("threshold").setAlign(Et.inputs.Align.RIGHT).appendField("阈值").setCheck(Number),this.setOutput(!0),this.setTooltip("图像腐蚀,从分割区域的边缘删除像素(白色目标区域)")}},QR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("图像膨胀"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("size").setAlign(Et.inputs.Align.RIGHT).appendField("卷积核尺寸").setCheck(Number),this.appendValueInput("threshold").setAlign(Et.inputs.Align.RIGHT).appendField("阈值").setCheck(Number),this.setOutput(!0),this.setTooltip("图像膨胀,将像素添加到分割区域的边缘中(白色目标区域)")}},jR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("图像填充"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("LIST").setAlign(Et.inputs.Align.RIGHT).appendField("开始坐标"),this.appendValueInput("color").setAlign(Et.inputs.Align.RIGHT).appendField("颜色").setCheck(Number),this.appendValueInput("seed").setAlign(Et.inputs.Align.RIGHT).appendField("原始差异").setCheck(Number),this.appendValueInput("float").setAlign(Et.inputs.Align.RIGHT).appendField("相邻差异").setCheck(Number),this.appendValueInput("invert").setAlign(Et.inputs.Align.RIGHT).appendField("反转"),this.appendValueInput("clear").setAlign(Et.inputs.Align.RIGHT).appendField("清除"),this.setOutput(!0),this.setTooltip("像洪水一样填充图像中低矮凹陷的地方(洪水填充)")}},JR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("图像投影"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("key").setAlign(Et.inputs.Align.RIGHT).appendField("垂直投影"),this.setOutput(!0),this.setTooltip("图像从笛卡尔坐标到线性极坐标重新投影")}},zR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("图像反转"),this.appendValueInput("VAR").appendField("图像").setCheck("var"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("翻转图像中的所有像素值")}},ZR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("校正缩放"),this.appendValueInput("VAR").appendField("图像").setCheck("var"),this.appendValueInput("strength").appendField("校正值").setCheck(Number),this.appendValueInput("zoom").appendField("缩放值").setCheck(Number),this.setOutput(!0),this.setTooltip("翻转图像中的所有像素值")}},$R={init:function(){this.setColour(rR),this.appendDummyInput().appendField("图像二值化"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("threshold").setAlign(Et.inputs.Align.RIGHT).appendField("阈值").setCheck(Number),this.appendValueInput("invert").setAlign(Et.inputs.Align.RIGHT).appendField("阈值反转"),this.appendValueInput("zero").setAlign(Et.inputs.Align.RIGHT).appendField("阈值像素为零"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("根据像素是否在阈值列表 thresholds 中的阈值内,将图像中的所有像素设置为黑色或白色。")}},tM={init:function(){this.setColour(rR),this.appendDummyInput().appendField("图像边缘检测"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("size").setAlign(Et.inputs.Align.RIGHT).appendField("卷积核尺寸").setCheck(Number),this.appendValueInput("kernel").setAlign(Et.inputs.Align.RIGHT).appendField("内核"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("通过过滤器内核对图像进行卷积。")}},eM={init:function(){this.setColour(rR),this.appendDummyInput().appendField("条形码识别"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("roi").setAlign(Et.inputs.Align.RIGHT).appendField("区域-xywh"),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField("返回[barcode]"),this.setOutput(!0),this.setInputsInline(!1),this.setOutput(!0),this.setTooltip("使用条形码识别,返回image.barcode对象列表")}},iM={init:function(){this.setColour(rR),this.appendDummyInput().appendField("二维码识别"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("roi").setAlign(Et.inputs.Align.RIGHT).appendField("区域-xywh"),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField("返回[qrcode]"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("使用二维码识别,返回image.line对象列表")}},nM={init:function(){this.setColour(rR),this.appendDummyInput().appendField("AprilTag识别"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("roi").setAlign(Et.inputs.Align.RIGHT).appendField("区域-xywh"),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField("返回[apriltag]"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("使用image.TAG36H11识别,返回image.apriltag对象列表")}},sM={init:function(){this.setColour(rR),this.appendDummyInput().appendField("二维码解析"),this.appendValueInput("VAR").appendField("对象").setCheck("var"),this.appendDummyInput().appendField("获取").appendField(new Et.FieldDropdown([["坐标-xywh","rect"],["x分量","x"],["y分量","y"],["w分量","w"],["h分量","h"],["内容","payload"],["版本","version"],["掩码","mask"],["类型","data_type"]]),"key"),this.setOutput(!0),this.setTooltip("通过遍历image.qrcode列表,获取二维码信息")}},oM={init:function(){this.setColour(rR),this.appendDummyInput().appendField("条形码解析"),this.appendValueInput("VAR").appendField("对象").setCheck("var"),this.appendDummyInput().appendField("获取").appendField(new Et.FieldDropdown([["坐标-xywh","rect"],["x分量","x"],["y分量","y"],["w分量","w"],["h分量","h"],["内容","payload"],["类型","type"],["角度","rotation"]]),"key"),this.setOutput(!0),this.setTooltip("通过遍历image.barcode列表,获取条形码信息")}},pM={init:function(){this.setColour(rR),this.appendDummyInput().appendField("AprilTag解析"),this.appendValueInput("VAR").appendField("对象").setCheck("var"),this.appendDummyInput().appendField("获取").appendField(new Et.FieldDropdown([["坐标-xywh","rect"],["x分量","x"],["y分量","y"],["w分量","w"],["h分量","h"],["中心-x","cx"],["中心-y","cy"],["号码","id"],["家族","family"],["弧度","rotation"],["x向距离","x_translation"],["y向距离","y_translation"],["z向距离","z_translation"],["x向弧度","x_rotation"],["y向弧度","y_rotation"],["z向弧度","z_rotation"]]),"key"),this.setOutput(!0),this.setTooltip("通过遍历image.apriltag列表,获取Apriltag信息")}},uM={init:function(){this.setColour(rR),this.appendDummyInput().appendField("色块追踪"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("LIST").setAlign(Et.inputs.Align.RIGHT).appendField("阈值LAB"),this.appendValueInput("roi").setAlign(Et.inputs.Align.RIGHT).appendField("区域-xywh"),this.appendValueInput("area").setAlign(Et.inputs.Align.RIGHT).appendField("滤掉区域").setCheck(Number),this.appendValueInput("pixel").setAlign(Et.inputs.Align.RIGHT).appendField("滤掉素数").setCheck(Number),this.appendValueInput("margin").setAlign(Et.inputs.Align.RIGHT).appendField("合并").setCheck(Number),this.appendValueInput("key").setAlign(Et.inputs.Align.RIGHT).appendField("重叠"),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField("返回[blob]"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("使用色块追踪,返回image.blob对象列表")}},aM={init:function(){this.setColour(rR),this.appendDummyInput().appendField("颜色识别"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("roi").setAlign(Et.inputs.Align.RIGHT).appendField("区域-xywh"),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField("返回[histogram]"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("使用直方图识别颜色,返回image.histogram对象列表")}},lM={init:function(){this.setColour(rR),this.appendDummyInput().appendField("追踪解析"),this.appendValueInput("VAR").appendField("对象").setCheck("var"),this.appendDummyInput().appendField("获取").appendField(new Et.FieldDropdown([["坐标-xywh","rect"],["x分量","x"],["y分量","y"],["w分量","w"],["h分量","h"],["中心-x","cx"],["中心-y","cy"],["像素量","pixels"],["弧度","rotation"],["号码数","code"],["合并量","count"],["面积","area"],["密度比","density"]]),"key"),this.setOutput(!0),this.setTooltip("通过image.blob列表,获取追踪色块信息")}},_M={init:function(){this.setColour(rR),this.appendDummyInput().appendField("色阈浮点"),this.appendValueInput("VAR").appendField("对象").setCheck("var"),this.appendDummyInput().appendField("获取").appendField(new Et.FieldDropdown([["灰度图浮点列表","bins"],["LAB的L浮点列表","l_bins"],["LAB的A浮点列表","a_bins"],["LAB的B浮点列表","b_bins"]]),"key"),this.setOutput(!0),this.setTooltip("通过遍历image.barcode列表,获取条形码信息")}},rM={init:function(){this.setColour(rR),this.appendDummyInput().appendField("颜色解析"),this.appendValueInput("VAR").appendField("对象").setCheck("var"),this.appendValueInput("percentile").appendField("CDF").setCheck(Number),this.appendDummyInput().appendField("获取").appendField(new Et.FieldDropdown([["灰度图值","value"],["LAB的L值","l_value"],["LAB的A值","a_value"],["LAB的B值","b_value"]]),"key"),this.setOutput(!0),this.setTooltip("通过histogram列表,获取识别颜色信息")}},dM={init:function(){this.setColour(rR),this.appendDummyInput().appendField("色阈解析"),this.appendValueInput("VAR").appendField("对象").setCheck("var"),this.appendDummyInput().appendField("获取").appendField(new Et.FieldDropdown([["灰度图值","value"],["LAB的L值","l_value"],["LAB的A值","a_value"],["LAB的B值","b_value"]]),"key"),this.setOutput(!0),this.setTooltip("通过遍历image.barcode列表,获取条形码信息")}},IM={init:function(){this.setColour(rR),this.appendDummyInput().appendField("RGB888值"),this.appendValueInput("LIST").appendField("由LAB"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("LAB转RGB888")}},TM={init:function(){this.setColour(rR),this.appendDummyInput().appendField("LAB值"),this.appendValueInput("LIST").appendField("由RGB888"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("RGB888转LAB")}},hM={init:function(){this.setColour(rR),this.appendDummyInput().appendField("灰度值"),this.appendValueInput("LIST").appendField("由RGB888"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("RGB888转灰度图")}},mM={init:function(){this.setColour(rR),this.appendDummyInput().appendField("RGB888"),this.appendValueInput("g_value").appendField("由灰度值").setCheck(Number),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("灰度图转RGB888")}},OM={init:function(){this.setColour(rR),this.appendDummyInput().appendField("定向梯度图"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("roi").setAlign(Et.inputs.Align.RIGHT).appendField("区域-xywh"),this.appendValueInput("size").setAlign(Et.inputs.Align.RIGHT).appendField("线长").setCheck(Number),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("用HOG(定向梯度直方图)线替换ROI中的像素,仅支持灰度图像")}},cM={init:function(){this.setColour(rR),this.appendDummyInput().appendField("特征识别"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("roi").setAlign(Et.inputs.Align.RIGHT).appendField("区域-xywh"),this.appendValueInput("max_keypoints").setAlign(Et.inputs.Align.RIGHT).appendField("关键点数").setCheck(Number),this.appendValueInput("threshold").setAlign(Et.inputs.Align.RIGHT).appendField("角点数").setCheck(Number),this.appendValueInput("scale_factor").setAlign(Et.inputs.Align.RIGHT).appendField("比例因子").setCheck(Number),this.appendValueInput("normalized").setAlign(Et.inputs.Align.RIGHT).appendField("多比例"),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField("返回[keypoints]"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("使用特征识别,返回image.keypoints对象列表")}},RM={init:function(){this.setColour(rR),this.appendDummyInput().appendField("特征比较"),this.appendValueInput("VAR1").setAlign(Et.inputs.Align.RIGHT).appendField("对象1").setCheck("var"),this.appendValueInput("VAR2").setAlign(Et.inputs.Align.RIGHT).appendField("对象2").setCheck("var"),this.appendValueInput("threshold").setAlign(Et.inputs.Align.RIGHT).appendField("相似度").setCheck(Number),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField("返回[kptmatch]"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("使用特征识别,返回image.keypoints对象列表")}},MM={init:function(){this.setColour(rR),this.appendDummyInput().appendField("特征信息"),this.appendValueInput("VAR").appendField("对象").setCheck("var"),this.appendDummyInput().appendField("获取").appendField(new Et.FieldDropdown([["坐标-xywh","rect"],["x分量","x"],["y分量","y"],["w分量","w"],["h分量","h"],["中心-x","cx"],["中心-y","cy"],["匹配量","count"],["弧度","theta"],["匹配点-xy","match"]]),"key"),this.setOutput(!0),this.setTooltip("通过image.kptmatch列表,获取追踪特征信息")}},EM=20,CM={init:function(){this.setColour(EM),this.appendDummyInput("").appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_HIGH,"HIGH"],[Et.Msg.MIXLY_LOW,"LOW"]]),"BOOL"),this.setOutput(!0,Boolean),this.setTooltip(Et.Msg.MIXLY_ESP32_INOUT_HIGHLOW_TOOLTIP)}},AM={init:function(){this.setColour(EM),this.appendDummyInput().appendField("初始化 "),this.appendDummyInput("").appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_Digital_PINMODEOUT,"GPIO.OUT"],[Et.Msg.MIXLY_Digital_PINMODEIN,"GPIO.IN"],[Et.Msg.MIXLY_PINMODEPULLUP,"GPIO.IN, board.GPIO.PULL_UP"],[Et.Msg.MIXLY_PINMODEPULLDOWN,"GPIO.IN, board.GPIO.PULL_DOWN"]]),"MODE"),this.appendValueInput("PIN",Number).appendField("管脚").setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_INOUT_DIGITAL_INIT_TOOLTIP)}},gM={init:function(){this.setColour(EM),this.appendValueInput("PIN",Number).appendField(Et.Msg.MIXLY_Digital_PINMODEOUT).setCheck(Number),this.appendValueInput("STAT").appendField(Et.Msg.MIXLY_STAT).setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_INOUT_DIGITAL_WRITE_TOOLTIP)}},SM={init:function(){this.setColour(EM),this.appendValueInput("PIN",Number).appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Et.Msg.MIXLY_Digital_PINMODEIN).setCheck(Number),this.appendDummyInput().appendField("值"),this.setInputsInline(!0),this.setOutput(!0,[Boolean,Number]),this.setTooltip(Et.Msg.MIXLY_ESP32_INOUT_DIGITAL_READ_TOOLTIP)}},DM={init:function(){this.setColour(EM),this.appendDummyInput().appendField("初始化 PWM输出"),this.appendValueInput("PIN",Number).appendField("管脚").setCheck(Number),this.appendValueInput("freq").appendField("频率").setCheck(Number),this.appendValueInput("VAR").appendField("定时器").setCheck("var"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("初始化PWM输出设置,需要调用定时器")}},LM={init:function(){this.setColour(EM),this.appendValueInput("PIN",Number).appendField("PWM输出").setCheck(Number),this.appendValueInput("pwm").appendField("占空比").setCheck(Number),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("PWM输出,值范围为0-100%,可以为小数")}},NM={init:function(){this.setColour(EM),this.appendDummyInput().appendField("硬件中断"),this.appendValueInput("PIN",Number).appendField("管键").setCheck(Number),this.appendDummyInput("").appendField(Et.Msg.MIXLY_MODE).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_RISING,"GPIO.IRQ_RISING"],[Et.Msg.MIXLY_FALLING,"GPIO.IRQ_FALLING"],[Et.Msg.MIXLY_CHANGE,"GPIO.IRQ_BOTH"]]),"mode"),this.appendValueInput("DO").appendField(Et.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_INOUT_PIN_ATTACHINTERRUPT_TOOLTIP)}},fM={init:function(){this.setColour(EM),this.appendDummyInput().appendField("取消中断"),this.appendValueInput("PIN",Number).appendField("管键").setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("取消中断")}},FM="#637AAC",vM={init:function(){this.setColour(FM),this.appendDummyInput().appendField("OneNET 连接WiFi"),this.appendValueInput("WIFINAME").setCheck(String).appendField(Et.Msg.HTML_NAME),this.appendValueInput("PASSWORD").setCheck(String).appendField(Et.Msg.HTML_PASSWORD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_IOT_WIFI_CONNECT_TOOLTIP)}},PM={init:function(){this.setColour(FM),this.appendValueInput("VAR").setCheck("var").appendField("OneNET"+Et.Msg.TUPLE_JOIN),this.appendValueInput("CLIENT").setAlign(Et.inputs.Align.RIGHT).setCheck(String).appendField(Et.Msg.MIXLY_ESP32_ONENET_CLIENT),this.appendValueInput("SERVER").setAlign(Et.inputs.Align.RIGHT).setCheck(String).appendField(Et.Msg.MIXLY_ESP32_ONENET_SERVER),this.appendValueInput("USERNAME").setAlign(Et.inputs.Align.RIGHT).setCheck(String).appendField(Et.Msg.MIXLY_ESP32_ONENET_USERNAME),this.appendValueInput("PASSWORD").setAlign(Et.inputs.Align.RIGHT).setCheck(String).appendField(Et.Msg.MIXLY_ESP32_ONENET_PASSWORD),this.appendValueInput("TOPIC").setAlign(Et.inputs.Align.RIGHT).setCheck(String).appendField(Et.Msg.MIXLY_ESP32_ONENET_TOPIC),this.appendValueInput("SUB").setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_ESP32_ONENET_SUB),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_IOT_ONENET_CONNECT_TOOLTIP)}},VM={init:function(){this.setColour(FM),this.appendValueInput("VAR").setCheck("var").appendField("OneNET"),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_IOT_ONENET_DISCONNECT_TOOLTIP)}},yM={init:function(){this.setColour(FM),this.appendValueInput("VAR").setCheck("var").appendField("OneNET"),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_CHECK_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_IOT_ONENET_CHECK_TOOLTIP)}},YM={init:function(){this.setColour(FM),this.appendValueInput("VAR").setCheck("var").appendField("OneNET"),this.appendValueInput("DICT").appendField(Et.Msg.MIXLY_ESP32_PUBLISH_ONENET),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_IOT_ONENET_PRINT_DATA).appendField(new Et.FieldCheckbox("TRUE"),"is_print"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_IOT_ONENET_PUBLISH_DICT_TOOLTIP)}},bM={init:function(){this.setColour(FM),this.appendValueInput("VAR").setCheck("var").appendField("OneNET").setAlign(Et.inputs.Align.RIGHT),this.appendDummyInput().appendField(new Et.FieldLabel(Et.Msg.MIXLY_ESP32_PUBLISH_ONENET),"TIP").setAlign(Et.inputs.Align.RIGHT),this.itemCount_=2,this.updateShape_(),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Et.icons.MutatorIcon(["iot_publish_item"],this)),this.setTooltip(Et.Msg.MIXLY_ESP32_IOT_ONENET_PUBLISH_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("iot_publish_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Et.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},kM={init:function(){this.setColour(FM),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(Et.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},XM={init:function(){this.setColour(FM),this.appendDummyInput().appendField(Et.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},GM={init:function(){this.setColour(FM),this.appendDummyInput().appendField(Et.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},wM=vM,UM=PM,xM=VM,HM=yM,BM=bM,WM=230;Et.FieldTextInput.math_number_validator=function(t){return/^-?(0X|0x|0O|0o|0B|0b)?[a-fA-F0-9]{1,}(\.[a-fA-F0-9]+)?$/.test(t)?String(t):null},Et.FieldTextInput.math_number_validator_include_blank=function(t){if(""===t)return"";return/^-?(0X|0x|0O|0o|0B|0b)?[a-fA-F0-9]{1,}(\.[a-fA-F0-9]+)?$/.test(t)?String(t):null};const KM={init:function(){this.setColour(WM),this.appendDummyInput().appendField(new Et.FieldTextInput("0",Et.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(Et.Msg.MATH_NUMBER_TOOLTIP)}},qM={init:function(){this.setColour(WM);this.appendDummyInput("").appendField(Et.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new Et.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:Et.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_TOOLTIP,e:Et.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_TOOLTIP}[e]}))}},QM={init:function(){this.setColour(WM),this.setOutput(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Et.FieldDropdown([["+","ADD"],["-","MINUS"],["×","MULTIPLY"],["÷","DIVIDE"],["%","QUYU"],["//","ZHENGCHU"],["**","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:Et.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:Et.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:Et.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:Et.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:Et.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:Et.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:Et.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},jM={init:function(){this.setColour(WM),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Et.FieldDropdown([["+=","ADD"],["-=","MINUS"],["×=","MULTIPLY"],["÷=","DIVIDE"],["%=","QUYU"],["//=","ZHENGCHU"],["**=","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:Et.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:Et.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:Et.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:Et.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:Et.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:Et.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:Et.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},JM={init:function(){this.setColour(WM),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new Et.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},zM={init:function(){this.setColour(WM),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new Et.FieldDropdown([["sin","SIN"],["cos","COS"],["tan","TAN"],["asin","ASIN"],["acos","ACOS"],["atan","ATAN"],["-","-"],["ln","LN"],["log10","LOG10"],["e^","EXP"],["10^","POW10"]]),"OP");var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{SIN:Et.Msg.MATH_TRIG_TOOLTIP_SIN,COS:Et.Msg.MATH_TRIG_TOOLTIP_COS,TAN:Et.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:Et.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:Et.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:Et.Msg.MATH_TRIG_TOOLTIP_ATAN,LN:Et.Msg.MATH_SINGLE_TOOLTIP_LN}[e]}))}},ZM={init:function(){var t=[[Et.Msg.LANG_MATH_TO_ROUND,"round"],[Et.Msg.LANG_MATH_TO_CEIL,"ceil"],[Et.Msg.LANG_MATH_TO_FLOOR,"floor"],[Et.Msg.MATH_ABS,"fabs"],[Et.Msg.MATH_SQRT,"sqrt"]];this.setColour(WM),this.appendValueInput("A").setCheck(Number).appendField(new Et.FieldDropdown(t),"OP"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{sqrt:Et.Msg.MATH_SINGLE_TOOLTIP_ROOT,fabs:Et.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:Et.Msg.MATH_SINGLE_TOOLTIP_SQ,round:Et.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:Et.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:Et.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[t]}))}},$M={init:function(){var t=[[Et.Msg.MIXLY_MAX,"max"],[Et.Msg.MIXLY_MIN,"min"]];this.setColour(WM),this.appendValueInput("A").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(new Et.FieldDropdown(t),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(Et.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{max:Et.Msg.MIXLY_TOOLTIP_MATH_MAX,min:Et.Msg.MIXLY_TOOLTIP_MATH_MIN}[t]}))}},tE={init:function(){var t=[[Et.Msg.MIXLY_MAX,"max"],[Et.Msg.MIXLY_MIN,"min"]];this.setColour(WM),this.appendValueInput("LIST").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(new Et.FieldDropdown(t),"OP"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{max:Et.Msg.MIXLY_TOOLTIP_MATH_MAX,min:Et.Msg.MIXLY_TOOLTIP_MATH_MIN}[t]}))}},eE={init:function(){var t=[[Et.Msg.MATH_TWO,"two"],[Et.Msg.MATH_EIGHT,"eight"],[Et.Msg.MATH_TEN,"ten"],[Et.Msg.MATH_SIXTEEN,"sixteen"]];this.setColour(WM),this.appendDummyInput("").appendField(Et.Msg.MATH_BA),this.appendValueInput("NUM").appendField(new Et.FieldDropdown(t),"OP").appendField(Et.Msg.MATH_JinZhi).setCheck(Number),this.appendDummyInput("").appendField(Et.Msg.MATH_ZHW).appendField(new Et.FieldDropdown(t),"OP2").appendField(Et.Msg.MATH_JinZhi),this.setFieldValue("ten","OP2"),this.setOutput(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i={two:Et.Msg.MATH_Before_two,eight:Et.Msg.MATH_Before_eight,ten:Et.Msg.MATH_Before_ten,sixteen:Et.Msg.MATH_Before_sixteen},n=e.getFieldValue("OP2"),s={two:Et.Msg.MATH_Behind_two,eight:Et.Msg.MATH_Behind_eight,ten:Et.Msg.MATH_Behind_ten,sixteen:Et.Msg.MATH_Behind_sixteen};return i[t]+s[n]}))}},iE={init:function(){var t=[[Et.Msg.LANG_MATH_INT,"int"],[Et.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(WM),this.setOutput(!0,Number),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_RANDOM).appendField(new Et.FieldDropdown(t),"TYPE"),this.appendValueInput("FROM").setCheck(Number).appendField(Et.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TYPE"),i={int:Et.Msg.LANG_MATH_INT,float:Et.Msg.LANG_MATH_FLOAT_RANDOM};return Et.Msg.MATH_RANDOM_INT_TOOLTIP+i[t]}))}},nE={init:function(){this.setColour(WM),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(Et.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(Et.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(Et.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(Et.Msg.MATH_CONSTRAIN_TOOLTIP)}},sE={init:function(){this.setColour(WM),this.appendValueInput("NUM",Number).appendField(Et.Msg.MIXLY_MAP).setCheck(Number),this.appendValueInput("fromLow",Number).appendField(Et.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(Et.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_MATH_MAP)}},oE={init:function(){this.setColour(WM),this.appendDummyInput().appendField(new Et.FieldTextInput("0",Et.FieldTextInput.math_number_validator_include_blank),"NUM"),this.setOutput(!0),this.setTooltip(Et.Msg.MATH_NUMBER_TOOLTIP)}},pE={init:function(){this.setColour(WM),this.appendValueInput("NUM").setCheck(Number).appendField(Et.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED)}},uE=sE,aE="#2E9883",lE={init:function(){this.setColour(aE),this.appendDummyInput().appendField("NES 初始化"),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField("PS2手柄"),this.appendValueInput("miso_pin",Number).setAlign(Et.inputs.Align.RIGHT).appendField("DAT#").setCheck(Number),this.appendValueInput("mosi_pin",Number).setAlign(Et.inputs.Align.RIGHT).appendField("CMD#").setCheck(Number),this.appendValueInput("cs_pin",Number).setAlign(Et.inputs.Align.RIGHT).appendField("SEL#").setCheck(Number),this.appendValueInput("clk_pin",Number).setAlign(Et.inputs.Align.RIGHT).appendField("CLK#").setCheck(Number),this.appendValueInput("vol").setAlign(Et.inputs.Align.RIGHT).appendField("音量").setCheck(Number),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("初始化NES,使用PS2手柄控制")}},_E={init:function(){this.setColour(aE),this.appendDummyInput().appendField("NES 初始化"),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField("UART键盘"),this.appendValueInput("vol").setAlign(Et.inputs.Align.RIGHT).appendField("音量").setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("初始化NES,使用串口键盘控制")}},rE={init:function(){this.setColour(aE),this.appendDummyInput().appendField("NES 运行游戏"),this.appendValueInput("path").appendField("路径").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("运行NES游戏ROM")}},dE="#5B6DA5",IE={init:function(){this.setColour(dE),this.appendDummyInput().appendField("ESP-AT 初始化"),this.appendValueInput("RX",Number).appendField("RX#").setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("TX",Number).appendField("TX#").setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("使用串口连接ESP-AT设备,并初始化配置")}},TE={init:function(){this.setColour(dE),this.appendDummyInput().appendField("WiFi扫描"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("扫描附近可用的WiFi信息-返回多信息列表")}},hE={init:function(){this.setColour(dE),this.appendDummyInput("").appendField("WiFi连接"),this.appendValueInput("account").appendField("名称").setCheck(String),this.appendValueInput("password").appendField("密码").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("配置WiFi名称及密码,连接WiFi上网")}},mE={init:function(){this.setColour(dE),this.appendDummyInput().appendField("WiFi").appendField(new Et.FieldDropdown([["连接信息","1"],["连接状态","2"]]),"mode"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("查看wifi连接信息或者连接状态")}},OE={init:function(){this.setColour(dE),this.appendDummyInput().appendField("WiFi断开连接"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("断开wifi连接")}},cE={init:function(){this.setColour(dE),this.appendDummyInput("").setAlign(Et.inputs.Align.RIGHT).appendField("打开热点"),this.appendValueInput("account").setAlign(Et.inputs.Align.RIGHT).appendField("名称").setCheck(String),this.appendValueInput("password").setAlign(Et.inputs.Align.RIGHT).appendField("密码").setCheck(String),this.appendValueInput("chl").setAlign(Et.inputs.Align.RIGHT).appendField("通道").setCheck(Number),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField("加密").appendField(new Et.FieldDropdown([["WPA2_PSK","WPA2_PSK"],["OPEN","OPEN"],["WPA_PSK","WPA_PSK"],["WPA_WPA2_PSK","WPA_WPA2_PSK"]]),"mode"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("打开WiFi热点并配置")}},RE={init:function(){this.setColour(dE),this.appendDummyInput().appendField("关闭热点"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("关闭热点")}},ME={init:function(){this.setColour(dE),this.appendValueInput("VAR").appendField("").setCheck("var"),this.appendDummyInput().appendField("套接字 初始化"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("套接字初始化")}},EE={init:function(){this.setColour(dE),this.appendValueInput("VAR").appendField("").setCheck("var"),this.appendDummyInput().appendField("获取地址"),this.appendValueInput("addr").setAlign(Et.inputs.Align.RIGHT).appendField("域名").setCheck(String),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("套接字根据域名解析地址IP信息")}},CE={init:function(){this.setColour(dE),this.appendValueInput("VAR").appendField("").setCheck("var"),this.appendDummyInput().appendField("创建连接"),this.appendValueInput("address").appendField("地址"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip("套接字创建目标IP地址连接")}},AE={init:function(){this.setColour(dE),this.appendValueInput("VAR").appendField("").setCheck("var"),this.appendDummyInput().appendField("超时时间"),this.appendValueInput("time").setAlign(Et.inputs.Align.RIGHT).appendField("").setCheck(Number),this.appendDummyInput().appendField("s"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip("设置阻塞套接字超时时间")}},gE={init:function(){this.setColour(dE),this.appendValueInput("VAR").appendField("").setCheck("var"),this.appendValueInput("content").appendField("发送数据"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip("套接发送数据")}},SE={init:function(){this.setColour(dE),this.appendValueInput("VAR").appendField("").setCheck("var"),this.appendDummyInput().appendField("接收数据"),this.appendValueInput("size").appendField("字节").setCheck(Number),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("套接接收数据,返回接收到的数据对象")}},DE={init:function(){this.setColour(dE),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_CLOSE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},LE=230,NE={init:function(){this.setColour(LE),this.appendDummyInput("").appendField(new Et.FieldDropdown(Ct.Profile.default.digital),"PIN"),this.setOutput(!0)}},fE={init:function(){this.setColour(LE),this.appendDummyInput("").appendField(new Et.FieldDropdown(Ct.Profile.default.digital_pin),"PIN"),this.setOutput(!0,Number)}},FE={init:function(){this.setColour(LE),this.appendDummyInput("").appendField(new Et.FieldDropdown(Ct.Profile.default.analog),"PIN"),this.setOutput(!0)}},vE={init:function(){this.setColour(LE),this.appendDummyInput("").appendField(new Et.FieldDropdown(Ct.Profile.default.analog_pin),"PIN"),this.setOutput(!0,Number)}},PE={init:function(){this.setColour(LE),this.appendDummyInput("").appendField(new Et.FieldDropdown(Ct.Profile.default.dac),"PIN"),this.setOutput(!0)}},VE={init:function(){this.setColour(LE),this.appendDummyInput("").appendField(new Et.FieldDropdown(Ct.Profile.default.dac_pin),"PIN"),this.setOutput(!0,Number)}},yE={init:function(){this.setColour(LE),this.appendDummyInput("").appendField(new Et.FieldDropdown(Ct.Profile.default.button),"PIN"),this.setOutput(!0,Number)}},YE={init:function(){this.setColour(LE),this.appendDummyInput("").appendField(new Et.FieldDropdown(Ct.Profile.default.pwm),"PIN"),this.setOutput(!0)}},bE={init:function(){this.setColour(LE),this.appendDummyInput("").appendField(new Et.FieldDropdown(Ct.Profile.default.pwm_pin),"PIN"),this.setOutput(!0,Number)}},kE={init:function(){this.setColour(LE),this.appendDummyInput("").appendField(new Et.FieldDropdown(Ct.Profile.default.touch_pin),"PIN"),this.setOutput(!0,Number)}},XE={init:function(){this.setColour(LE),this.appendDummyInput("").appendField(new Et.FieldDropdown(Ct.Profile.default.touch),"PIN"),this.setOutput(!0)}},GE={init:function(){this.setColour(LE),this.appendDummyInput("").appendField(new Et.FieldDropdown(Ct.Profile.default.serial_pin),"PIN"),this.setOutput(!0,Number)}},wE={init:function(){this.setColour(LE),this.appendDummyInput("").appendField(new Et.FieldDropdown(Ct.Profile.default.builtinimg),"PIN"),this.setOutput(!0,"esp32_image")}},UE={init:function(){this.setColour(LE),this.appendDummyInput("").appendField(new Et.FieldDropdown(Ct.Profile.default.imglist),"PIN"),this.setOutput(!0)}},xE={init:function(){this.setColour(LE),this.appendDummyInput("").appendField(new Et.FieldDropdown(Ct.Profile.default.playlist),"PIN"),this.setOutput(!0)}},HE={init:function(){this.setColour(LE),this.appendDummyInput("").appendField(new Et.FieldDropdown(Ct.Profile.default.exlcdh),"PIN"),this.setOutput(!0,Number)}},BE={init:function(){this.setColour(LE),this.appendDummyInput("").appendField(new Et.FieldDropdown(Ct.Profile.default.exlcdv),"PIN"),this.setOutput(!0,Number)}},WE={init:function(){this.setColour(LE),this.appendDummyInput("").appendField(new Et.FieldDropdown(Ct.Profile.default.axis),"PIN"),this.setOutput(!0,Number)}},KE={init:function(){this.setColour(LE),this.appendDummyInput("").appendField(new Et.FieldDropdown(Ct.Profile.default.brightness),"PIN"),this.setOutput(!0,Number)}},qE={init:function(){this.setColour(LE),this.appendDummyInput("").appendField(new Et.FieldDropdown(Ct.Profile.default.tone_notes),"PIN"),this.setOutput(!0,Number)}},QE={init:function(){this.setColour(LE),this.appendDummyInput("").appendField(new Et.FieldDropdown(Ct.Profile.default.radio_power),"PIN"),this.setOutput(!0,Number)}},jE={init:function(){this.setColour(LE),this.appendDummyInput("").appendField(new Et.FieldDropdown(Ct.Profile.default.radio_datarate),"PIN"),this.setOutput(!0,Number)}},JE={init:function(){this.setColour(LE),this.appendDummyInput("").appendField(new Et.FieldDropdown(Ct.Profile.default.one_more),"PIN"),this.setOutput(!0)}},zE={init:function(){this.setColour(LE),this.appendDummyInput("").appendField(new Et.FieldDropdown(Ct.Profile.default.digital_dot),"PIN"),this.setOutput(!0,Number)}},ZE=40,$E={init:function(){this.setColour(ZE),this.appendDummyInput("").appendField(new Et.FieldDropdown([["A","17"],["B","16"]]),"KEY"),this.setOutput(!0),this.setTooltip()}},tC={init:function(){this.setColour(ZE),this.appendDummyInput().appendField("初始化"),this.appendValueInput("key").appendField("按键"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("初始化按键")}},eC={init:function(){this.setColour(ZE),this.appendValueInput("key").appendField("按键"),this.appendDummyInput().appendField("被按下?"),this.setInputsInline(!0),this.setOutput(!0,[Boolean,Number]),this.setTooltip("获取按键值")}},iC={init:function(){this.setColour(ZE),this.appendDummyInput().appendField("DHT11"),this.appendValueInput("PIN",Number).appendField(Et.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField("获取").appendField(new Et.FieldDropdown([["温度-℃","0"],["湿度-%","1"],["温湿度","2"]]),"TYPE"),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip("dht11,获取温湿度")}},nC={init:function(){this.setColour(ZE),this.appendDummyInput("").appendField(Et.Msg.MIXLY_CHAOSHENGBO),this.appendValueInput("PIN1",Number).appendField("Trig #").setCheck(Number),this.appendValueInput("PIN2",Number).appendField("Echo #").setCheck(Number),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_BLOCKGROUP_CHAOSHENGBO)}},sC={init:function(){this.setColour(ZE),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new Et.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Et.Msg.MIXLY_MICROBIT_Direction,s=Et.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":Et.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},oC={init:function(){this.setColour(ZE),this.appendValueInput("I2CSUB").appendField(Et.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_SETUP+Et.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new Et.FieldDropdown([["MPU9250","MPU9250"],["BMP280","BMP280"],["SHT20","SHT20"],["ADXL345","ADXL345"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setFieldValue("MPU9250","key");var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return Et.Msg.MIXLY_ESP32_SENSOR_USE_I2C_TOOLTIP+{MPU9250:"MPU9250",SHT20:"SHT20",BMP280:"BMP280",ADXL345:"ADXL345"}[e]}))}},pC={init:function(){this.setColour(ZE),this.appendValueInput("SUB").appendField("BMP280").setCheck("var"),this.appendDummyInput("").appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_GETTEMPERATUE,"get_BMP_temperature()"],[Et.Msg.MIXLY_GETPRESSURE,"get_BMP_pressure()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{"get_BMP_temperature()":Et.Msg.MIXLY_MICROBIT_SENSOR_BMP_temperature_TOOLTIP,"get_BMP_pressure()":Et.Msg.MIXLY_MICROBIT_SENSOR_BMP_press_TOOLTIP}[e]}))}},uC={init:function(){this.setColour(ZE),this.appendValueInput("SUB").appendField("SHT20").setCheck("var"),this.appendDummyInput("").appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_GETTEMPERATUE,"get_SHT_temperature()"],[Et.Msg.MIXLY_GETHUMIDITY,"get_SHT_relative_humidity()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{"get_SHT_temperature()":Et.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,"get_SHT_relative_humidity()":Et.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},aC={init:function(){this.setColour(ZE),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_JS_GET+Et.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH).appendField(new Et.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Et.Msg.MIXLY_MICROBIT_Direction,s=Et.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH;return i+{x:"x",y:"y",z:"z","(x,y,z)":Et.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},lC={init:function(){this.setColour(ZE),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+Et.Msg.MIXLY_ESP32_SENOR_GYRO).appendField(new Et.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Et.Msg.MIXLY_MICROBIT_Direction,s=Et.Msg.MIXLY_ESP32_SENOR_GYRO;return i+{x:"x",y:"y",z:"z","(x,y,z)":Et.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},_C={init:function(){this.setColour(ZE),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_GETTEMPERATUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_GETTEMPERATUE)}},rC={init:function(){this.setColour(ZE),this.appendValueInput("SUB").appendField("ADXL345").setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new Et.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Et.Msg.MIXLY_MICROBIT_Direction,s=Et.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":Et.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},dC=65,IC={init:function(){this.setColour(dC),this.appendValueInput("CONTENT",String).appendField("Serial").appendField(new Et.FieldDropdown([["uart1","1"],["uart2","2"],["uart3","3"]]),"mode").appendField(Et.Msg.MIXLY_SERIAL_PRINT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Et.Msg.TEXT_PRINT_TOOLTIP)}},TC={init:function(){this.setColour(dC),this.appendValueInput("CONTENT",String).appendField("Serial").appendField(new Et.FieldDropdown([["uart1","1"],["uart2","2"],["uart3","3"]]),"mode").appendField(Et.Msg.MIXLY_SERIAL_PRINTLN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Et.Msg.TEXT_PRINT_Huanhang_TOOLTIP+Et.Msg.TEXT_PRINT_TOOLTIP)}},hC={init:function(){this.setColour(dC),this.appendDummyInput().appendField("Serial").appendField(new Et.FieldDropdown([["uart1","1"],["uart2","2"],["uart3","3"]]),"mode").appendField(Et.Msg.MIXLY_SERIAL_PRINTLN),this.appendValueInput("CONTENT",Number).appendField(new Et.FieldDropdown([[Et.Msg.MATH_BIN,"bin"],[Et.Msg.MATH_OCT,"oct"],[Et.Msg.MATH_DEC,"int"],[Et.Msg.MATH_HEX,"hex"]]),"STAT").setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setFieldValue("hex","STAT"),this.setTooltip(Et.Msg.TEXT_PRINT_HEX_TOOLTIP)}},mC={init:function(){this.setColour(dC),this.appendValueInput("char_marker").setCheck(String).appendField(Et.Msg.MIXLY_MICROBIT_JS_SERIAL_WHEN_CONTAIN_DATA),this.appendStatementInput("DO").appendField(Et.Msg.MIXLY_DO)}},OC={init:function(){this.setColour(dC),this.appendDummyInput().appendField("Serial").appendField(new Et.FieldDropdown([["uart1","1"],["uart2","2"],["uart3","3"]]),"mode").appendField(Et.Msg.MIXLY_SERIAL_READSTR),this.setOutput(!0,String),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_BLOCKGROUP_SERIAL_READ_STR)}},cC={init:function(){this.setColour(dC),this.appendDummyInput().appendField("Serial").appendField(new Et.FieldDropdown([["uart1","1"],["uart2","2"],["uart3","3"]]),"mode").appendField(Et.Msg.MIXLY_SERIAL_AVAILABLE),this.setOutput(!0,Boolean),this.setTooltip(Et.Msg.MIXLY_SERIAL_AVAILABLE1)}},RC={init:function(){this.setColour(dC),this.appendDummyInput().appendField("Serial").appendField(new Et.FieldDropdown([["uart1","1"],["uart2","2"],["uart3","3"]]),"mode").appendField(Et.Msg.MIXLY_ESP32_READ_LINE),this.setOutput(!0,String),this.setTooltip(Et.Msg.MIXLY_MICROBIT_JS_SERIAL_READ_LINE1)}},MC={init:function(){this.setColour(dC),this.appendDummyInput().appendField("Serial "+Et.Msg.MIXLY_SERIAL_READSTR_UNTIL).appendField(new Et.FieldDropdown([["new line","serial.delimiters(Delimiters.NewLine)"],[",","serial.delimiters(Delimiters.Comma)"],["$","serial.delimiters(Delimiters.Dollar)"],[":","serial.delimiters(Delimiters.Colon)"],[".","serial.delimiters(Delimiters.Fullstop)"],["#","serial.delimiters(Delimiters.Hash)"]]),"char_marker"),this.setInputsInline(!0),this.setOutput(!0,String)}},EC={init:function(){this.setColour(dC),this.appendValueInput("RX",Number).appendField(Et.Msg.MIXLY_SETUP).appendField(new Et.FieldDropdown([["uart1","1"],["uart2","2"],["uart3","3"]]),"mode").appendField("RX#").setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("TX",Number).appendField("TX#").setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.appendDummyInput().appendField(Et.Msg.MIXLY_SERIAL_BEGIN).appendField(new Et.FieldDropdown([["115200","115200"],["57600","57600"],["37400","38400"],["31250","31250"],["28800","28800"],["19200","19200"],["14400","14400"],["9600","9600"],["4800","4800"],["2400","2400"],["1200","1200"],["300","300"]]),"baudrate"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_SERIAL_softserial)}},CC={init:function(){this.setColour(dC),this.appendValueInput("VAR").appendField(Et.Msg.blockpy_inout_raw_input).setCheck(String),this.setOutput(!0),this.setTooltip(Et.Msg.INOUT_input_TOOLTIP)}},AC={init:function(){this.setColour(dC),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_SERIAL_PRINTLN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Et.Msg.BLOCKPY_PRINT_TOOLTIP)}},gC={init:function(){this.setColour(dC),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_SERIAL_PRINT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Et.Msg.TEXT_PRINT_TOOLTIP)}},SC={init:function(){this.setColour(dC),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_SERIAL_PRINT),this.appendValueInput("END").appendField(Et.Msg.MIXLY_ENDSWITH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_PYTHON_INOUT_PRINT_END_TOOLTIP)}},DC={init:function(){this.setColour(dC),this.itemCount_=2,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new Et.icons.MutatorIcon(["system_print_item"],this)),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_MIXPY_INOUT_PRINT_MANY_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("system_print_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n {\n"+e.statementToCode(this,"do")+"})\n"},lN=function(t,e){return"control.waitMicros("+(e.valueToCode(this,"data",e.ORDER_ATOMIC)||Ct.Profile.default.serial)+")\n"},_N=function(t,e){return"control.raiseEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||Ct.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||Ct.Profile.default.serial)+")\n"},rN=function(t,e){return"control.onEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||Ct.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||Ct.Profile.default.serial)+", () => {\n"+e.statementToCode(this,"do")+")\n"},dN=function(t,e){return["control.eventTimestamp()",e.ORDER_ATOMIC]},IN=function(t,e){return["control.eventValue()",e.ORDER_ATOMIC]},TN=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},hN=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},mN=function(t,e){return["control.deviceName()",e.ORDER_ATOMIC]},ON=function(t,e){return["control.deviceSerialNumber()",e.ORDER_ATOMIC]},cN=function(t,e){return"panic("+(e.valueToCode(this,"STATUS_CODE",e.ORDER_ATOMIC)||"1000")+")\n"},RN=function(t,e){switch(e.definitions_.import_time="import time",this.getFieldValue("Time")){case"ms":return["time.ticks_ms()",e.ORDER_ATOMIC];case"us":return["time.ticks_us()",e.ORDER_ATOMIC]}},MN=function(){return"while True:\n pass\n"},EN=function(t,e){return e.definitions_.import_mixgo="import mixgo","reset()\n"},CN=function(t,e){e.definitions_["import machine"]="import machine";return"machine.reset()\n"},AN=function(t,e){return e.definitions_["import gc"]="import gc",this.getFieldValue("gc")+"\n"},gN=function(t,e){return e.definitions_.import_os="import os","os.uname()"},SN=function(t,e){e.definitions_.import_time="import time";var i=e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},DN=function(t,e){e.definitions_["from machine import Timer"]="from machine import Timer";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=i%3,s=parseInt(i/3),o=e.valueToCode(this,"period",e.ORDER_NONE);return"tim"+i+" =Timer(Timer.TIMER"+n+",Timer.CHANNEL"+s+",mode=Timer.MODE_"+this.getFieldValue("mode")+",period = "+o+", callback = "+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},LN=function(t,e){return e.definitions_.import_time="import time",["time.ticks_diff("+(e.valueToCode(this,"END",e.ORDER_NONE)||"0")+", "+(e.valueToCode(this,"START",e.ORDER_NONE)||"0")+")",e.ORDER_ATOMIC]},NN=function(t,e){e.definitions_["from machine import Timer"]="from machine import Timer";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return"tim"+i+" = Timer(Timer.TIMER"+i%3+",Timer.CHANNEL"+parseInt(i/3)+", mode=Timer.MODE_PWM)\n"},fN=NN,FN=DN,vN=LN,PN=SN;const VN=function(t,e){return["["+this.getFieldValue("TEXT")+"]",e.ORDER_ATOMIC]},yN=function(t,e){return["("+this.getFieldValue("TEXT")+")",e.ORDER_ATOMIC]},YN=function(t,e){var i=this.getFieldValue("COLOR");return["("+("0x"+(i=i.substr(1)).substr(0,2))+","+("0x"+i.substr(2,2))+","+("0x"+i.substr(4,2))+")",e.ORDER_ATOMIC]},bN=function(t,e){var i=this.getFieldValue("COLOR");return[i=function(t){var e,i,n;e=(t=t.substr(1)).substr(0,2),i=t.substr(2,2),n=t.substr(4,2);var s=(64512&(t="0x"+(t=e+i+n)))>>10;return((248&t)>>3<<8)+((7&s)<<13)+((16252928&t)>>19<<3)+((56&s)>>3)}(i),e.ORDER_ATOMIC]};Object.assign(Et.Variables,gt),Object.assign(Et.Procedures,wl),Et.Python=Ul,Et.generator=Ul,Ct.Profile.default={},Object.assign(Ct.Profile,Um),Object.assign(Ct.Profile.default,Um.k210),Object.assign(Et.Blocks,e,i,n,s,o,p,u,a,l,_,r,d,I,F,f,N,L,v,k,X,G,w,U,x,H,B,W,K,q,Q,j,J,z,Z,$,tt,et),Object.assign(Et.Python.forBlock,T,h,m,O,c,R,M,E,C,A,g,S,D,Y,y,V,P,b,it,nt,st,ot,pt,ut,at,lt,_t,rt,dt,It,Tt,ht,mt,Ot,ct,Rt,Mt)})(); \ No newline at end of file diff --git a/boards/default/micropython_nrf51822_microbit/index.xml b/boards/default/micropython_nrf51822_microbit/index.xml index 799eb4b4..9a6f8801 100644 --- a/boards/default/micropython_nrf51822_microbit/index.xml +++ b/boards/default/micropython_nrf51822_microbit/index.xml @@ -1 +1 @@ -0210000,1,2,3051i23390x151100a10.998124.82110010101000110050110011000110x2x0,1,2,30,1,2,30,1,2,3xMixlyMixlyHelloMixly65axMixlyMixly0Mixly02MixlyMixlyHello,mixlyHello,mixly50*Hello,mixlyl--mylistHello,mixlymixlymixpyI love mixly!I love mixlyRandom No. is {}int1100input('1+2*3')mylist1,2,3,4,5mylist0mylist02mylistmylist2mylistmylist0mylist00mylist00mylist0mylist0mylist0mylistmylistmylistxmytup1,2,3,4,5mytup0mytup02mytupmytupmytupmytup0mytupmytup1mytup2xmydictmydictkeymydictkey0mydictkey0mydictkeymydictkeymydictkey0mydictmydictmydictmydictxmydict{"name":"Mixly","color":"green"}s11,2,3,4,5s1s1s1s2s1s2s10s1Mixlys1s2xMixlyMixlyprompt1011580020001110000039501000010011*255500mylist4120MixlyMixly 0.999 is great!64721281281621112040000MixlyMixly1201201>0x2711clear()oledExample1Example2Example3Example4filename.txtfMixlyfff0fffpathpathfilename.txtsrcname.txtdstname.txtff0192010000000000323760x756269740Mixlyresponsehttp://mixio.mixly.cnresponsehttp://mixio.mixly.cnresponse \ No newline at end of file +0210000,1,2,3051i23390x151100a10.998124.82110010101000110050110011000110x2x0,1,2,30,1,2,30,1,2,3xMixlyMixlyHelloMixly65axMixlyMixly0Mixly02MixlyMixlyHello,mixlyHello,mixly50*Hello,mixlyl--mylistHello,mixlymixlymixpyI love mixly!I love mixlyRandom No. is {}int1100input('1+2*3')mylist1,2,3,4,5mylist0mylist02mylistmylist2mylistmylist0mylist00mylist00mylist0mylist0mylist0mylistmylistmylistxmytup1,2,3,4,5mytup0mytup02mytupmytupmytupmytup0mytupmytup1mytup2xmydictmydictkeymydictkey0mydictkey0mydictkeymydictkeymydictkey0mydictmydictmydictmydictxmydict{"name":"Mixly","color":"green"}s11,2,3,4,5s1s1s1s2s1s2s10s1Mixlys1s2xMixlyMixlyprompt1011580020001110000039501000010011*255500mylist4120MixlyMixly 0.999 is great!64721281281621112040000MixlyMixly1201201>0x2711clear()oledExample1Example2Example3Example4filename.txtfMixlyfff0fffpathpathfilename.txtsrcname.txtdstname.txtff0192010000000000323760x756269740Mixlyresponsehttp://mixio.mixly.cnresponsehttp://mixio.mixly.cnresponse \ No newline at end of file diff --git a/boards/default/micropython_nrf51822_microbit/main.bundle.5ef1fc10.js b/boards/default/micropython_nrf51822_microbit/main.bundle.f0608bef.js similarity index 57% rename from boards/default/micropython_nrf51822_microbit/main.bundle.5ef1fc10.js rename to boards/default/micropython_nrf51822_microbit/main.bundle.f0608bef.js index 048298ad..3e658e2b 100644 --- a/boards/default/micropython_nrf51822_microbit/main.bundle.5ef1fc10.js +++ b/boards/default/micropython_nrf51822_microbit/main.bundle.f0608bef.js @@ -18,4 +18,4 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -class ${constructor(t,e){if(this.variablePrefix_=e||"",this.reservedDict_=Object.create(null),t)for(var i=t.split(","),n=0;n0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(j.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+s).appendField(j.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(j.Msg.CONTROLS_IF_MSG_ELSE);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_if_if");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_if_elseif");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var o=t.newBlock("controls_if_else");o.initSvg(),i.connect(o.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],o=null;i;){switch(i.type){case"controls_if_elseif":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_if_else":this.elseCount_++,o=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,o)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_if_elseif":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_if_else":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),o=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(o.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(j.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+t).appendField(j.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(j.Msg.CONTROLS_IF_MSG_ELSE)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},Ot={init:function(){this.setColour(It),this.appendValueInput("FROM").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.PYTHON_RANGE).appendField(j.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.PYTHON_RANGE_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(j.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},ct={init:function(){this.setColour(It),this.appendValueInput("LIST").setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.CONTROLS_FOREACH_INPUT),this.appendValueInput("VAR").appendField(j.Msg.CONTROLS_FOREACH_INPUT_ITEM),this.appendStatementInput("DO").appendField(j.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip((function(){return j.Msg.CONTROLS_FOR_TOOLTIP.replace("“%1”","")}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){j.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Et={init:function(){this.setColour(It),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(j.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(new j.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(j.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT+j.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return{WHILE:j.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:j.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[e]}))}},Rt={init:function(){this.setColour(It),this.appendDummyInput().appendField(j.Msg.MIXLY_PYTHON_TRY),this.appendStatementInput("try"),this.appendValueInput("IF1").appendField(j.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO1").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new j.icons.MutatorIcon(["controls_except","controls_finally"],this)),this.setTooltip(j.Msg.MIXLY_MIXPY_CONTROL_TRY_TOOLTIP),this.elseifCount_=1,this.elseCount_=0},mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var t=document.createElement("mutation");return this.elseifCount_&&t.setAttribute("elseif",this.elseifCount_),this.elseCount_&&t.setAttribute("else",1),t},domToMutation:function(t){var e=this,i=[],n=[];this.elseCount_&&this.removeInput("ELSE");for(var s=this.elseifCount_;s>0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(j.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+s).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(j.Msg.MIXLY_PYTHON_FINALLY);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_try");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_except");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var o=t.newBlock("controls_finally");o.initSvg(),i.connect(o.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],o=null;i;){switch(i.type){case"controls_except":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_finally":this.elseCount_++,o=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,o)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_except":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_finally":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),o=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(o.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(j.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+t).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(j.Msg.MIXLY_PYTHON_FINALLY)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},gt={init:function(){this.setColour(It);var t=new j.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(t,"FLOW").appendField(j.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0),this.setTooltip(j.Msg.MIXLY_PYTHON_CONTROLS_FLOW_STATEMENTS_TOOLTIP);var e=this;this.setTooltip((function(){var t=e.getFieldValue("FLOW");return{BREAK:j.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:j.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}[t]}))},onchange:function(){if(this.workspace){var t=!1,e=this;do{if("controls_repeat"==e.type||"controls_for"==e.type||"controls_forEach"==e.type||"controls_repeat_ext"==e.type||"controls_whileUntil"==e.type||"do_while"==e.type){t=!0;break}e=e.getSurroundParent()}while(e);t?this.setWarningText(null):this.setWarningText(j.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}},Ct={init:function(){this.setColour(It),this.appendDummyInput().appendField(j.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new j.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(j.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return j.Msg.CONTROLS_FOR_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){j.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},At={init:function(){this.setColour(It),this.appendDummyInput().appendField(j.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new j.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(j.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return j.Msg.MIXLY_PYTHON_CONTROLS_FOR_RANGE_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){j.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}};Et.OPERATORS=[[j.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[j.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]],gt.OPERATORS=[[j.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[j.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const Lt={init:function(){this.setColour(It),this.appendDummyInput().appendField(j.Msg.CONTROLS_IF_IF_TITLE_IF),this.appendStatementInput("STACK"),this.setTooltip(j.Msg.CONTROLS_IF_IF_TOOLTIP),this.contextMenu=!1}},St={init:function(){this.setColour(It),this.appendDummyInput().appendField(j.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(j.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},ft={init:function(){this.setColour(It),this.appendDummyInput().appendField(j.Msg.CONTROLS_IF_ELSE_TITLE_ELSE),this.setPreviousStatement(!0),this.setTooltip(j.Msg.CONTROLS_IF_ELSE_TOOLTIP),this.contextMenu=!1}},Dt={init:function(){this.setColour(It),this.appendDummyInput().appendField("try"),this.appendStatementInput("STACK"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.contextMenu=!1}},Nt={init:function(){this.setColour(It),this.appendDummyInput().appendField(j.Msg.MIXLY_PYTHON_EXCEPT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1,this.setTooltip(j.Msg.MIXLY_MIXPY_CONTROL_EXCEPT_TOOLTIP)}},Pt={init:function(){this.setColour(It),this.appendDummyInput().appendField(j.Msg.MIXLY_PYTHON_FINALLY),this.setPreviousStatement(!0),this.contextMenu=!1,this.setTooltip(j.Msg.MIXLY_MIXPY_CONTROL_FINALLY_TOOLTIP)}},Ft={init:function(){this.jsonInit({message0:j.Msg.CONTROLS_REPEAT_TITLE,args0:[{type:"input_value",name:"TIMES"}],previousStatement:null,nextStatement:null,colour:It,tooltip:j.Msg.CONTROLS_REPEAT_TOOLTIP,helpUrl:j.Msg.CONTROLS_REPEAT_HELPURL}),this.appendStatementInput("DO")}},vt={init:function(){this.setColour(It),this.appendValueInput("BOOL").appendField("lambda"),this.appendStatementInput("DO").appendField(j.Msg.MIXLY_STAT),this.setOutput(!0)}},Yt={init:function(){this.setColour(It),this.appendDummyInput().appendField(j.Msg.MIXLY_PYTHON_PASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(j.Msg.MIXLY_PYTHON_CONTROLS_PASS_TOOLTIP)}},bt={init:function(){this.setColour(It),this.appendDummyInput().appendField(j.Msg.MIXLY_PYTHON_CONTROLS_THREAD_START),this.appendValueInput("callback").appendField(j.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.appendValueInput("VAR").appendField(j.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_PYTHON_CONTROLS_THREAD_TOOLTIP)}},Xt={init:function(){this.appendDummyInput().appendField(j.Msg.CONTROLS_REPEAT_TITLE_REPEAT+j.Msg.MIXLY_DO),this.appendStatementInput("input_data").setCheck(null),this.appendValueInput("select_data").setCheck(null).appendField(j.Msg.CONTROLS_OPERATOR_UNTIL).appendField(new j.FieldDropdown([[j.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"true"],[j.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"false"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(It),this.setTooltip("do-while loop"),this.setHelpUrl("")}},yt={init:function(){this.setColour(It),this.appendDummyInput().appendField(j.Msg.MIXLY_OP_GARBAGE_COLLECT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Vt={init:function(){this.setColour(It),this.appendDummyInput().appendField(j.Msg.MIXLY_GET_MEM_ALLOC),this.setOutput(!0)}},Bt={init:function(){this.setColour(It),this.appendDummyInput().appendField(j.Msg.MIXLY_GET_MEM_FREE),this.setOutput(!0)}},Gt={init:function(){this.setColour(It),this.appendDummyInput().appendField(j.Msg.MIXLY_GET+j.Msg.MIXLY_DEVICE+"ID"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(j.Msg.PROCEDURES_DEFRETURN_RETURN+j.Msg.MIXLY_GET_UNIQUE_IDEN)}},Ut={init:function(){this.setColour(It),this.appendValueInput("VAR").appendField(j.Msg.MIXLY_RTC_TIMESTAMP),this.appendDummyInput().appendField(j.Msg.MIXLY_TIMESTAMP_TO_DATA),this.setInputsInline(!0),this.setOutput(!0,Number)}},wt={init:function(){this.setColour(It),this.appendDummyInput().appendField(j.Msg.MIXLY_GET_UNIQUE_IDEN),this.setOutput(!0)}},kt=230;j.FieldTextInput.math_number_validator=function(t){return String(t)},j.FieldTextInput.math_number_validator_include_blank=function(t){if(""===t)return"";return/^-?(0X|0x|0O|0o|0B|0b)?[a-fA-F0-9]{1,}(\.[a-fA-F0-9]+)?$/.test(t)?String(t):null};const xt={init:function(){this.setColour(kt),this.appendDummyInput().appendField(new j.FieldTextInput("0",j.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(j.Msg.MATH_NUMBER_TOOLTIP)}},Ht={init:function(){this.setColour(kt);this.appendDummyInput("").appendField(j.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new j.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:j.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_TOOLTIP,e:j.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_TOOLTIP}[e]}))}},Wt={init:function(){this.setColour(kt);this.appendDummyInput("").appendField(j.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new j.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:j.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_MP_TOOLTIP,e:j.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_MP_TOOLTIP}[e]}))}},Kt={init:function(){this.setColour(kt),this.setOutput(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new j.FieldDropdown([["+","ADD"],["-","MINUS"],["×","MULTIPLY"],["÷","DIVIDE"],["%","QUYU"],["//","ZHENGCHU"],["**","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:j.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:j.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:j.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:j.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:j.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:j.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:j.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},Jt={init:function(){this.setColour(kt),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new j.FieldDropdown([["+=","ADD"],["-=","MINUS"],["×=","MULTIPLY"],["÷=","DIVIDE"],["%=","QUYU"],["//=","ZHENGCHU"],["**=","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:j.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:j.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:j.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:j.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:j.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:j.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:j.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},Qt={init:function(){this.setColour(kt),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new j.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},jt={init:function(){this.setColour(kt),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new j.FieldDropdown([["sin","SIN"],["cos","COS"],["tan","TAN"],["asin","ASIN"],["acos","ACOS"],["atan","ATAN"],["-","-"],["ln","LN"],["log10","LOG10"],["e^","EXP"],["10^","POW10"]]),"OP");var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{SIN:j.Msg.MATH_TRIG_TOOLTIP_SIN,COS:j.Msg.MATH_TRIG_TOOLTIP_COS,TAN:j.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:j.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:j.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:j.Msg.MATH_TRIG_TOOLTIP_ATAN,LN:j.Msg.MATH_SINGLE_TOOLTIP_LN}[e]}))}},qt={init:function(){var t=[[j.Msg.MATH_BIN,"bin"],[j.Msg.MATH_OCT,"oct"],[j.Msg.MATH_HEX,"hex"]];this.setColour(kt),this.setOutput(!0,String),this.appendValueInput("NUM").setCheck(Number).appendField(new j.FieldDropdown(t),"OP");var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{bin:j.Msg.MATH_DEC_TOOLTIP_BIN,oct:j.Msg.MATH_DEC_TOOLTIP_OCT,hex:j.Msg.MATH_DEC_TOOLTIP_HEX}[t]}))}},zt={init:function(){var t=[[j.Msg.LANG_MATH_TO_ROUND,"round"],[j.Msg.LANG_MATH_TO_CEIL,"ceil"],[j.Msg.LANG_MATH_TO_FLOOR,"floor"],[j.Msg.MATH_ABS,"fabs"],[j.Msg.MATH_SQRT,"sqrt"]];this.setColour(kt),this.appendValueInput("A").setCheck(Number).appendField(new j.FieldDropdown(t),"OP"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{sqrt:j.Msg.MATH_SINGLE_TOOLTIP_ROOT,fabs:j.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:j.Msg.MATH_SINGLE_TOOLTIP_SQ,round:j.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:j.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:j.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[t]}))}},Zt={init:function(){var t=[[j.Msg.MIXLY_MAX,"max"],[j.Msg.MIXLY_MIN,"min"]];this.setColour(kt),this.appendValueInput("A").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(new j.FieldDropdown(t),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(j.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{max:j.Msg.MIXLY_TOOLTIP_MATH_MAX,min:j.Msg.MIXLY_TOOLTIP_MATH_MIN}[t]}))}},$t={init:function(){var t=[[j.Msg.MATH_TWO,"two"],[j.Msg.MATH_EIGHT,"eight"],[j.Msg.MATH_TEN,"ten"],[j.Msg.MATH_SIXTEEN,"sixteen"]];this.setColour(kt),this.appendDummyInput("").appendField(j.Msg.MATH_BA),this.appendValueInput("NUM").appendField(new j.FieldDropdown(t),"OP").appendField(j.Msg.MATH_JinZhi).setCheck(Number),this.appendDummyInput("").appendField(j.Msg.MATH_ZHW).appendField(new j.FieldDropdown(t),"OP2").appendField(j.Msg.MATH_JinZhi),this.setFieldValue("ten","OP2"),this.setOutput(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i={two:j.Msg.MATH_Before_two,eight:j.Msg.MATH_Before_eight,ten:j.Msg.MATH_Before_ten,sixteen:j.Msg.MATH_Before_sixteen},n=e.getFieldValue("OP2"),s={two:j.Msg.MATH_Behind_two,eight:j.Msg.MATH_Behind_eight,ten:j.Msg.MATH_Behind_ten,sixteen:j.Msg.MATH_Behind_sixteen};return i[t]+s[n]}))}},te={init:function(){var t=[[j.Msg.LANG_MATH_INT,"int"],[j.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(kt),this.setOutput(!0,Number),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_RANDOM).appendField(new j.FieldDropdown(t),"TYPE"),this.appendValueInput("FROM").setCheck(Number).appendField(j.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TYPE"),i={int:j.Msg.LANG_MATH_INT,float:j.Msg.LANG_MATH_FLOAT_RANDOM};return j.Msg.MATH_RANDOM_INT_TOOLTIP+i[t]}))}},ee={init:function(){this.setColour(kt),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(j.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(j.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(j.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(j.Msg.MATH_CONSTRAIN_TOOLTIP)}},ie={init:function(){this.setColour(kt),this.appendValueInput("NUM",Number).appendField(j.Msg.MIXLY_MAP).setCheck(Number),this.appendValueInput("fromLow",Number).appendField(j.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(j.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_MATH_MAP)}},ne={init:function(){this.setColour(kt),this.appendDummyInput().appendField(new j.FieldTextInput("0",j.FieldTextInput.math_number_validator_include_blank),"NUM"),this.setOutput(!0),this.setTooltip(j.Msg.MATH_NUMBER_TOOLTIP)}},se={init:function(){this.setColour(kt),this.appendValueInput("NUM").setCheck(Number).appendField(j.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED)}},oe={init:function(){this.setColour(kt),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number),this.appendValueInput("VAR").setCheck(Number).appendField(j.Msg.MATH_ROUND).appendField(j.Msg.TEXT_KEEP),this.appendDummyInput().appendField(j.Msg.TEXT_DECIMAL),this.setInputsInline(!0),this.setTooltip(j.Msg.MATH_ROUND_NEW_TOOLTIP)}},_e={init:function(){var t=[[j.Msg.MIXLY_TO_INT,"int"],[j.Msg.MIXLY_TO_FLOAT,"float"],[j.Msg.MIXLY_TO_BITES,"b"],[j.Msg.LANG_MATH_BYTE+j.Msg.MIXLY_TO_INT,"bti"]];this.setColour(kt),this.appendValueInput("VAR").appendField(new j.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:j.Msg.MIXLY_PYTHON_TOOLTIP_TOINT,float:j.Msg.MIXLY_PYTHON_TOOLTIP_TOFLOAT,b:j.Msg.MIXLY_TOOLTIP_TEXT_TOBYTE}[t]}))}},ue={init:function(){var t=[[j.Msg.MIXLY_TO_INT,"int"],[j.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(kt),this.appendValueInput("VAR").appendField(new j.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:j.Msg.MIXLY_TOOLTIP_TEXT_TOINT,float:j.Msg.MIXLY_TOOLTIP_TEXT_TOFLOAT}[t]}))}},re=ie,pe={init:function(){this.setColour(kt),this.appendValueInput("VAR").appendField(j.Msg.LANG_MATH_BYTE+j.Msg.MIXLY_TO_HEX),this.setOutput(!0,Number),this.setTooltip(j.Msg.MIXLY_PYTHON_TOOLTIP_TOHEX)}},ae={init:function(){this.setColour(kt),this.itemCount_=1,this.setMutator(new j.icons.MutatorIcon(["lists_create_with_item"],this)),this.appendDummyInput("DUMMY").appendField(j.Msg.MIXLY_PRODUCT+j.Msg.MIXLY_GENERATE_CARTESIAN_PRODUCT),this.appendValueInput("REPEAT").appendField(j.Msg.MIXLY_EVERY_PER_ELEPER_ELEMENT),this.appendDummyInput().appendField(j.Msg.CONTROLS_REPEAT_TITLE_TIMES),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0),this.setTooltip(j.Msg.LISTS_CREATE_WITH_PYTHON_TOOLTIP),this.updateShape_()},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("lists_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n1&&"\\"===t.charAt(0)){var e=t.charAt(1);if("0"===e||"b"===e||"f"===e||"n"===e||"r"===e||"t"===e||"\\"===e||"'"===e)return String(t).substring(0,2);if("x"===e&&"0"===t.charAt(2)&&"B"===t.charAt(3))return String(t).substring(0,4)}return String(t).substring(0,1)};const me={init:function(){this.setColour(de),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new j.FieldTextInput("",j.FieldTextInput.char_validator),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,Number),this.setTooltip(j.Msg.TEXT_CHAR_TOOLTIP)},newQuote_:function(t){if(1==t)var e="../../media/quote2.png";else e="../../media/quote3.png";return new j.FieldImage(e,7,12,'"')}},Oe={init:function(){this.setColour(de),this.appendValueInput("A").setCheck([String,Number]),this.appendValueInput("B").setCheck([String,Number]).appendField(j.Msg.MIXLY_TEXT_JOIN),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(j.Msg.MIXLY_TOOLTIP_TEXT_JOIN)}},ce={init:function(){this.setColour(de),this.appendValueInput("VAR").setCheck(Number).appendField(j.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(j.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},Ee={init:function(){this.setColour(de),this.appendValueInput("VAR").setCheck(String).appendField(j.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(j.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},Re={init:function(){this.setColour(de),this.appendValueInput("VAR").appendField(j.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(j.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},ge={init:function(){this.setColour(de),this.appendValueInput("VAR").appendField(j.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(j.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},Ce={init:function(){this.WHERE_OPTIONS=[[j.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[j.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[j.Msg.TEXT_GET_INDEX_RANDOM+1+j.Msg.TEXT_CHARAT2,"RANDOM"]],this.setHelpUrl(j.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(de),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number),this.appendDummyInput().appendField(j.Msg.LISTS_GET_INDEX_GET,"MODE"),j.Msg.LISTS_GET_INDEX_TAIL&&this.appendDummyInput("TAIL").appendField(j.Msg.LISTS_GET_INDEX_TAIL),this.setInputsInline(!0),this.setOutput(!0),this.updateAt_(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=t.getFieldValue("WHERE"),n="";switch(e+" "+i){case"GET FROM_START":case"GET FROM_END":n=j.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM;break;case"GET RANDOM":n=j.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM;break;case"GET_REMOVE FROM_START":case"GET_REMOVE FROM_END":n=j.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM;break;case"GET_REMOVE RANDOM":n=j.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM}return"FROM_START"!=i&&"FROM_END"!=i||(n+=" "+j.Msg.LISTS_INDEX_FROM_START_TOOLTIP.replace("%1",j.Msg.ONE_BASED_INDEXING?"#1":"#0")),n}));var e=this;this.setTooltip((function(){var t=e.getFieldValue("WHERE"),i={FROM_START:j.Msg.LISTS_GET_INDEX_FROM_START,FROM_END:j.Msg.LISTS_GET_INDEX_FROM_END,RANDOM:j.Msg.TEXT_GET_INDEX_RANDOM};return j.Msg.PROCEDURES_DEFRETURN_RETURN+j.Msg.MIXLY_MICROBIT_TYPE_STRING+i[t]+"n"+j.Msg.TEXT_CHARAT2}))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("statement",!this.outputConnection);var e=this.getInput("AT").type==j.INPUT_VALUE;return t.setAttribute("at",e),t},domToMutation:function(t){var e="true"==t.getAttribute("statement");this.updateStatement_(e),t="false"!=t.getAttribute("at"),this.updateAt_(t)},updateStatement_:function(t){t!=!this.outputConnection&&(this.unplug(!0,!0),t?(this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)):(this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)))},updateAt_:function(t){this.removeInput("AT"),this.removeInput("ORDINAL",!0),t?(this.appendValueInput("AT").setCheck(Number),j.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL").appendField(j.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT");var e=new j.FieldDropdown(this.WHERE_OPTIONS,(function(e){var i="FROM_START"==e||"FROM_END"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT").appendField(e,"WHERE"),j.Msg.LISTS_GET_INDEX_TAIL&&this.moveInputBefore("TAIL",null)}},Ae={init:function(){this.setHelpUrl(j.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(de),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number).appendField(j.Msg.LISTS_GET_INDEX_GET+" "+j.Msg.LISTS_GET_INDEX_FROM_START),this.appendDummyInput().appendField(j.Msg.TEXT_CHARAT2),this.setOutput(!0),this.setTooltip(j.Msg.PROCEDURES_DEFRETURN_RETURN+j.Msg.MIXLY_MICROBIT_TYPE_STRING+j.Msg.LISTS_GET_INDEX_FROM_START+"n"+j.Msg.TEXT_CHARAT2)}},Le={init:function(){this.setHelpUrl(j.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(de),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(j.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(j.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},Se={init:function(){this.WHERE_OPTIONS_1=[[j.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[j.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[j.Msg.LISTS_GET_SUBLIST_START_FIRST,"FIRST"]],this.WHERE_OPTIONS_2=[[j.Msg.LISTS_GET_SUBLIST_END_FROM_START,"FROM_START"],[j.Msg.LISTS_GET_SUBLIST_END_FROM_END,"FROM_END"],[j.Msg.LISTS_GET_SUBLIST_END_LAST,"LAST"]],this.setHelpUrl(j.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(de),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput("").appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput("AT1"),this.appendDummyInput("AT2"),this.setInputsInline(!0),this.setOutput(!0,"List"),this.updateAt_(1,!0),this.updateAt_(2,!0),this.setTooltip(j.Msg._GET_TEXT_SUBLIST_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT1").type==j.INPUT_VALUE;t.setAttribute("at1",e);var i=this.getInput("AT2").type==j.INPUT_VALUE;return t.setAttribute("at2",i),t},domToMutation:function(t){var e="true"==t.getAttribute("at1"),i="true"==t.getAttribute("at2");this.updateAt_(1,e),this.updateAt_(2,i)},updateAt_:function(t,e){this.removeInput("AT"+t),this.removeInput("ORDINAL"+t,!0),e?(this.appendValueInput("AT"+t).setCheck(Number),j.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL"+t).appendField(j.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT"+t);var i=new j.FieldDropdown(this["WHERE_OPTIONS_"+t],(function(i){var n="FROM_START"==i||"FROM_END"==i;if(n!=e){var s=this.sourceBlock_;return s.updateAt_(t,n),s.setFieldValue(i,"WHERE"+t),null}}));this.getInput("AT"+t).appendField(i,"WHERE"+t),1==t&&(this.moveInputBefore("AT1","AT2"),this.getInput("ORDINAL1")&&this.moveInputBefore("ORDINAL1","AT2"))}},fe={init:function(){this.setHelpUrl(j.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(de),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT1").appendField(j.Msg.LISTS_GET_INDEX_GET+" "+j.Msg.LISTS_GET_INDEX_FROM_START),this.appendValueInput("AT2").appendField(j.Msg.LISTS_GET_SUBLIST_END_FROM_START),this.appendDummyInput().appendField(j.Msg.TEXT_CHARAT2),this.setInputsInline(!0),this.setOutput(!0,["List",String]),this.setTooltip(j.Msg._GET_TEXT_SUBLIST_TOOLTIP)}},De={init:function(){var t=[[j.Msg.MIXLY_EQUALS,"==="],[j.Msg.MIXLY_STARTSWITH,"startswith"],[j.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(de),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new j.FieldDropdown(t),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},Ne={init:function(){this.setColour(de),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(j.Msg.MIXLY_COMPARETO).setCheck(String),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_COMPARETO_HELP)}},Pe={init:function(){var t=[[j.Msg.TEXT_UPPER,"upper"],[j.Msg.TEXT_TITLE,"title"],[j.Msg.TEXT_CAPITALIZE,"capitalize"],[j.Msg.TEXT_SWAPCASE,"swapcase"],[j.Msg.TEXT_LOWER,"lower"]];this.setColour(de),this.appendValueInput("VAR").appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new j.FieldDropdown(t),"CAPITAL").setCheck(String),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CAPITAL");return{upper:j.Msg.MIXLY_MIXPY_TEXT_UPPER_TOOLTIP,title:j.Msg.MIXLY_MIXPY_TEXT_TITLE_TOOLTIP,swapcase:j.Msg.MIXLY_MIXPY_TEXT_SWAPCASE_TOOLTIP,capitalize:j.Msg.MIXLY_MIXPY_TEXT_CAPITALIZE_TOOLTIP,lower:j.Msg.MIXLY_MIXPY_TEXT_LOWER_TOOLTIP}[t]}))}},Fe={init:function(){var t=[[j.Msg.TEXT_LJUST,"ljust"],[j.Msg.TEXT_CENTER,"center"],[j.Msg.TEXT_RJUST,"rjust"]];this.setColour(de),this.appendValueInput("VAR").appendField(new j.FieldDropdown(t),"CENTER").setCheck(String),this.appendValueInput("WID").appendField(j.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("Symbol").appendField(j.Msg.MIXLY_RECT_Fill).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(j.Msg.MIXLY_MIXPY_TEXT_CENTER_TOOLTIP)}},ve={init:function(){this.setColour(de),this.appendValueInput("VAR").appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).setCheck(String),this.appendValueInput("STR").appendField(j.Msg.MIXLY_MID+j.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER).setCheck(String),this.appendDummyInput().appendField(j.Msg.MIXLY_LIST_INDEX),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(j.Msg.MIXLY_MIXPY_TEXT_FIND_TOOLTIP)}},Ye={init:function(){this.setColour(de),this.appendValueInput("VAR").appendField(j.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_USE_STR).setCheck(String),this.appendValueInput("LIST").appendField(j.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_SEQ).setCheck("List","Tuple","Set","Dict"),this.appendDummyInput().appendField(j.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_GET_STR),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(j.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_TOOLTIP)}},be={init:function(){this.setColour(de),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("STR1").appendField(j.Msg.MIXLY_MIXPY_REPLACE).setCheck(String),this.appendValueInput("STR2").appendField(j.Msg.LISTS_SET_INDEX_INPUT_TO).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(j.Msg.MIXLY_MIXPY_TEXT_REPLACE_TOOLTIP)}},Xe={init:function(){this.setColour(de),this.appendValueInput("VAR"),this.appendValueInput("VAL").appendField(j.Msg.LIST_SPLIT_AS),this.appendDummyInput("").appendField(j.Msg.LIST_SPLIT),this.setOutput(!0,"List"),this.setTooltip(j.Msg.MIXLY_MIXPY_TEXT_SPLIT_TOOLTIP),this.setInputsInline(!0)}},ye={init:function(){var t=[[j.Msg.TEXT_TRIM_BOTH,"strip"],[j.Msg.TEXT_TRIM_LEFT,"lstrip"],[j.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(de),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(j.Msg.TEXT_STRIM),this.appendDummyInput("").appendField(new j.FieldDropdown(t),"TOWHAT"),this.appendDummyInput("").appendField(j.Msg.TEXT_BLANK),this.setOutput(!0,String),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{strip:j.Msg.TEXT_TRIM_BOTH_TOOLTIP,lstrip:j.Msg.TEXT_TRIM_LEFT_TOOLTIP,rstrip:j.Msg.TEXT_TRIM_RIGHT_TOOLTIP}[t]}))}},Ve={init:function(){this.setColour(de),this.appendDummyInput("").appendField(j.Msg.MIXLY_MICROPYTHON_FORMAT),this.appendDummyInput("").appendField(new j.FieldTextInput("str"),"VAR"),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new j.icons.MutatorIcon(["text_create_with_item"],this)),this.setOutput(!0),this.setTooltip(j.Msg.MIXLY_MIXPY_TEXT_FORMAT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("text_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){j.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Yi={init:function(){this.setColour(Fi),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(j.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},bi={init:function(){this.setColour(Fi),this.appendDummyInput().appendField(j.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(j.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},Xi={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(j.Msg.DICT_KEYS),this.setTooltip(j.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},yi={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(j.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(j.Msg.DICTS_ADD_VALUE),this.setOutput(!0),this.setTooltip(j.Msg.DICTS_GET_TOOLTIP)}},Vi={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(j.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(j.Msg.DICTS_ADD_VALUE),this.appendValueInput("VAR").appendField(j.Msg.DICTS_DEFAULT_VALUE),this.setOutput(!0),this.setTooltip(j.Msg.DICTS_GET_DEFAULT_TOOLTIP)}},Bi={init:function(){this.setColour(Fi),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(j.Msg.DICTS_ADD),this.appendDummyInput(),this.appendValueInput("VAR").appendField(j.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(j.Msg.DICTS_ADD_OR_CHANGE_TOOLTIP)}},Gi={init:function(){this.setColour(Fi),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(j.Msg.DICTS_DELETE_IN),this.appendDummyInput("").appendField(j.Msg.DICTS_DELETE_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(j.Msg.DICTS_DELETE_TOOLTIP)}},Ui={init:function(){this.setColour(Fi),this.appendValueInput("DICT2").setCheck("Dict").appendField(j.Msg.MAKE_DICT),this.appendValueInput("DICT").setCheck("Dict").appendField(j.Msg.DICT_UPDATE),this.appendDummyInput("").appendField(j.Msg.MIXLY_MID),this.setTooltip(j.Msg.DICTS_UPDATE_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},wi={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(j.Msg.DICT_CLEAR),this.setTooltip(j.Msg.DICTS_CLEAR_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ki={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(j.Msg.DICT_ITEMS),this.setTooltip(j.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},xi={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(j.Msg.DICT_VALUES),this.setTooltip(j.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},Hi={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(j.Msg.MIXLY_LENGTH),this.setTooltip(j.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},Wi={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(j.Msg.DICT_DELDICT),this.setTooltip(j.Msg.DICTS_DEL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ki={init:function(){this.MODE=[[j.Msg.DICTS_ADD_OR_CHANGE,"INSERT"],[j.Msg.MIXLY_MICROBIT_JS_DELETE_VAR,"DELETE"]],this.setHelpUrl(j.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("AT2"),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).appendField(j.Msg.DICTS_ADD_VALUE),this.updateAt_(!0),this.setInputsInline(!0),this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e="";switch(t.getFieldValue("WHERE")){case"INSERT":e=j.Msg.DICTS_ADD_TOOLTIP;break;case"DELETE":e=j.Msg.DICTS_DELETE_TOOLTIP}return e}))},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT2").type==j.INPUT_VALUE;return t.setAttribute("at2",e),t},domToMutation:function(t){var e="true"==t.getAttribute("at2");this.updateAt_(e)},updateAt_:function(t){this.removeInput("AT2"),this.removeInput("ORDINAL",!0),t?this.appendValueInput("AT2").setCheck(Number):this.appendDummyInput("AT2");var e=new j.FieldDropdown(this.MODE,(function(e){var i="INSERT"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT2").appendField(e,"WHERE")}},Ji={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(j.Msg.blockpy_DICT_POP),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(j.Msg.DICTS_ADD_VALUE),this.setTooltip(j.Msg.DICT_POP_TOOLTIP),this.setInputsInline(!0),this.setOutput(!0)}},Qi={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(j.Msg.DICTS_SET_DEFAULT),this.appendDummyInput("").appendField(j.Msg.DICTS_DEFAULT_VALUE),this.appendValueInput("VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(j.Msg.DICTS_SETDEFAULT_TOOLTIP)}},ji={init:function(){this.setColour(Fi),this.appendDummyInput("").appendField(new j.FieldLabel(j.Msg.MIXLY_MICROBIT_TYPE_DICT),"TIP").appendField(" "),this.itemCount_=3,this.updateShape_(),this.setOutput(!0,"Dict"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setMutator(new j.icons.MutatorIcon(["dicts_create_with_item"],this)),this.setTooltip(j.Msg.DICTS_CREATE_WITH_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("dicts_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){j.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},qi={init:function(){this.setColour(Fi),this.appendValueInput("VAR").appendField(j.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(j.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},zi={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(j.Msg.MIXLY_TO_JSON),this.setTooltip(j.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},Zi={init:function(){this.setColour(Fi),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(j.Msg.MIXLY_CONVERT_TO_JSON),this.setTooltip(j.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},$i={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("VAR1").appendField("key1"),this.appendValueInput("VAR2").appendField("index"),this.appendValueInput("VAR3").appendField("key2"),this.appendValueInput("VAR4").appendField("key3"),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},tn={init:function(){this.setColour(Fi),this.appendValueInput("DICT"),this.appendDummyInput("").appendField(j.Msg.MIXLY_TO_JSON),this.setTooltip(j.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},en=210,nn={init:function(){var t=j.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(en),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new j.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{EQ:j.Msg.LOGIC_COMPARE_TOOLTIP_EQ,NEQ:j.Msg.LOGIC_COMPARE_TOOLTIP_NEQ,LT:j.Msg.LOGIC_COMPARE_TOOLTIP_LT,LTE:j.Msg.LOGIC_COMPARE_TOOLTIP_LTE,GT:j.Msg.LOGIC_COMPARE_TOOLTIP_GT,GTE:j.Msg.LOGIC_COMPARE_TOOLTIP_GTE}[t]})),this.prevBlocks_=[null,null]}},sn={init:function(){var t=j.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]],e=j.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(en),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new j.FieldDropdown(t),"OP1"),this.appendValueInput("C").appendField(new j.FieldDropdown(e),"OP2"),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_PYTHON_LOGIC_COMPARE_CONTINOUS_TOOLTIP)}},on={init:function(){var t=[[j.Msg.LOGIC_OPERATION_AND,"AND"],[j.Msg.LOGIC_OPERATION_OR,"OR"],[j.Msg.LOGIC_OPERATION_NOR,"NOR"],[j.Msg.LOGIC_OPERATION_XOR,"XOR"]];this.setColour(en),this.setOutput(!0,Boolean),this.appendValueInput("A").setCheck([Boolean,Number]),this.appendValueInput("B").setCheck([Boolean,Number]).appendField(new j.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{AND:j.Msg.LOGIC_OPERATION_TOOLTIP_AND,OR:j.Msg.LOGIC_OPERATION_TOOLTIP_OR,NOR:j.Msg.LOGIC_OPERATION_TOOLTIP_NOR,XOR:j.Msg.LOGIC_OPERATION_TOOLTIP_XOR}[t]}))}},_n={init:function(){this.setColour(en),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(j.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(j.Msg.LOGIC_NEGATE_TOOLTIP)}},un={init:function(){var t=[[j.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[j.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(en),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new j.FieldDropdown(t),"BOOL"),this.setTooltip(j.Msg.LOGIC_BOOLEAN_TOOLTIP)}},rn={init:function(){this.setColour(en),this.setOutput(!0),this.appendDummyInput().appendField(j.Msg.LOGIC_NULL),this.setTooltip(j.Msg.LOGIC_NULL_TOOLTIP)}},pn={init:function(){this.setColour(en),this.appendValueInput("A"),this.appendValueInput("B").appendField(j.Msg.LOGIC_TERNARY_IF_TRUE),this.appendValueInput("C").appendField(j.Msg.LOGIC_TERNARY_IF_FALSE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_LOGIT_TRUEORFALSE)}},an={init:function(){var t=[[j.Msg.TEXT_APPEND_TO,"in"],[j.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(en),this.appendValueInput("A"),this.appendValueInput("B").setCheck([String,"List"]).appendField(new j.FieldDropdown(t),"BOOL"),this.appendDummyInput("").appendField(j.Msg.MICROBIT_LOGIC_IS_IN),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(j.Msg.IN)}},ln={init:function(){var t=[[j.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[j.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(en),this.appendValueInput("A"),this.appendValueInput("B").appendField(new j.FieldDropdown(t),"BOOL"),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_PYTHON_LOGIC_IS_TOOLTIP)}},In={init:function(){this.setColour(en),this.appendValueInput("VAR").appendField(j.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(j.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},dn={init:function(){this.setColour(0),this.appendValueInput("fn").setCheck(String).appendField(j.Msg.MIXLY_PYTHON_STORAGE_OPEN_FILE_WITH_OS+"(For Windows)"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Tn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new j.FieldDropdown([[j.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"],[j.Msg.MIXLY_ADD,"a"],[j.Msg.MATH_BIN+j.Msg.MIXLY_ADD,"ab"],[j.Msg.MIXLY_R_W,"r+"],[j.Msg.MATH_BIN+j.Msg.MIXLY_R_W,"rb+"],[j.Msg.MIXLY_W_R,"w+"],[j.Msg.MATH_BIN+j.Msg.MIXLY_W_R,"wb+"],[j.Msg.MIXLY_A_R,"a+"],[j.Msg.MATH_BIN+j.Msg.MIXLY_A_R,"ab+"]]),"MODE"),this.appendValueInput("FILE").appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_AS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=j.Msg.MIXLY_USE,n=j.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=j.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=j.Msg.MIXLY_BELONG;return i+{r:j.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:j.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:j.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:j.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){j.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},hn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new j.FieldDropdown([[j.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=j.Msg.MIXLY_USE,n=j.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=j.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=j.Msg.MIXLY_BELONG,_=j.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:j.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:j.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:j.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:j.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s+_}))}},Mn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE);this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new j.FieldDropdown([[j.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendDummyInput().appendField(j.Msg.MIXPY_TEXT_ENCODE).appendField(new j.FieldDropdown([["ANSI","ANSI"],["gbk","gbk"],["utf-8","utf-8"]]),"CODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=j.Msg.MIXLY_USE,n=j.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=j.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=j.Msg.MIXLY_BELONG,_=j.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:j.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:j.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:j.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:j.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s+_}))}},mn={init:function(){this.setColour(0),this.appendValueInput("data").setCheck(String).appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendValueInput("FILE").appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+j.Msg.MIXLY_MICROBIT_TYPE_STRING+j.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE)}},On={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new j.FieldDropdown([[j.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"read"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE,"readline"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES,"readlines"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String)}},cn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new j.FieldDropdown([[j.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,"read"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,"readline"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE,"readlines"]]),"MODE"),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=j.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE,n=j.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER;return i+{read:j.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,readline:j.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,readlines:j.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE}[e]+"x"+n}))}},En={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.setNextStatement(!0),this.appendValueInput("SIZE").setCheck(Number).appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(j.Msg.MICROBIT_PYTHON_TYPE)}},Rn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(j.Msg.HTML_FILE),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean),this.setTooltip(j.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT1)}},gn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_FILENAME),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILENAME)}},Cn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(j.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE)}},An={init:function(){this.setColour(0),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(j.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES)}};j.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE;const Ln={init:function(){this.setColour(0),this.appendDummyInput().appendField(new j.FieldDropdown([[j.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE,"remove"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_DIRS,"removedirs"]]),"MODE"),this.appendValueInput("FILE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(j.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE)}},Sn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE+j.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE)}},fn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_RETURN_FILE),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_PRESENT_LOCATION),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(j.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_TELL)}},Dn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION),this.appendDummyInput().appendField(new j.FieldDropdown([[j.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,"start"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,"current"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END,"end"]]),"MODE"),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=j.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION+j.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION,n=j.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER,s=j.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET;return i+" "+{start:j.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,current:j.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,end:j.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END}[e]+s+"x"+n}))}},Nn={init:function(){this.setColour(0),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR)}},Pn={init:function(){this.setColour(0),this.appendValueInput("PATH").setCheck(String).appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH),this.appendDummyInput().appendField(j.Msg.MIXLY_ESP32_SET),this.appendDummyInput().appendField(new j.FieldDropdown([[j.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,"mkdir"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_MAKEDIRS,"makedirs"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return j.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH+"x"+j.Msg.MIXLY_ESP32_SET+{mkdir:j.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,makedirs:j.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},Fn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME),this.appendValueInput("NEWFILE").setCheck(String).appendField(j.Msg.MIXLY_AS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(j.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME)}},vn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(j.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR)}},Yn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT),this.appendDummyInput().appendField(new j.FieldDropdown([[j.Msg.HTML_FILE,"isfile"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_DIR,"isdir"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean);let t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return j.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH+"x"+j.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT+{isfile:j.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,isdir:j.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},bn={init:function(){this.setColour(0),this.appendValueInput("SPISUB").appendField(j.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_SETUP+j.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(j.Msg.MIXLY_SD_CARD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Xn={init:function(){this.setColour(0),this.appendValueInput("VAR").appendField(j.Msg.MIXLY_SD_CARD),this.appendValueInput("DIR").setCheck(String).appendField(j.Msg.MIXLY_SDCARD_MOUNT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip()}},yn={init:function(){var t=j.Procedures.findLegalName("",this),e=new j.FieldTextInput(t,j.Procedures.rename);e.setSpellcheck(!1),this.appendDummyInput().appendField(e,"NAME").appendField("","PARAMS"),this.setMutator(new j.icons.MutatorIcon(["procedures_mutatorarg"],this)),(this.workspace.options.comments||this.workspace.options.parentWorkspace&&this.workspace.options.parentWorkspace.options.comments)&&j.Msg.PROCEDURES_DEFNORETURN_COMMENT&&this.setCommentText(j.Msg.PROCEDURES_DEFNORETURN_COMMENT),this.setStyle("procedure_blocks"),this.setTooltip(j.Msg.PROCEDURES_DEFNORETURN_TOOLTIP),this.setHelpUrl(j.Msg.PROCEDURES_DEFNORETURN_HELPURL),this.arguments_=[],this.argumentVarModels_=[],this.setStatements_(!0),this.statementConnection_=null},setStatements_:function(t){this.hasStatements_!==t&&(t?(this.appendStatementInput("STACK").appendField(j.Msg.PROCEDURES_DEFNORETURN_DO),this.getInput("RETURN")&&this.moveInputBefore("STACK","RETURN")):this.removeInput("STACK",!0),this.hasStatements_=t)},updateParams_:function(){var t="";this.arguments_.length&&(t=j.Msg.PROCEDURES_BEFORE_PARAMS+" "+this.arguments_.join(", ")),j.Events.disable();try{this.setFieldValue(t,"PARAMS")}finally{j.Events.enable()}},mutationToDom:function(t){var e=j.utils.xml.createElement("mutation");t&&e.setAttribute("name",this.getFieldValue("NAME"));for(var i=0;i"),this.appendValueInput("style").appendField(j.Msg.MIXLY_AIP_ATTR).setAlign(j.inputs.Align.RIGHT),this.appendStatementInput("DO").appendField(""),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Fs={init:function(){this.setColour(Ls),this.appendDummyInput().appendField(j.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},vs={init:function(){this.setColour(Ls),this.appendDummyInput().appendField(j.Msg.HTML_FORM_CONTENT).appendField(new j.FieldDropdown([[j.Msg.HTML_TEXT,"text"],[j.Msg.HTML_EMAIL,"email"],[j.Msg.HTML_NUMBER,"number"],[j.Msg.HTML_PASSWORD,"password"],[j.Msg.HTML_CHECKBOX,"checkbox"],[j.Msg.HTML_RADIOBUTTON,"radiobutton"],[j.Msg.HTML_BUTTON,"button"],[j.Msg.HTML_COLOUR,"colour"],[j.Msg.HTML_DATE,"date"],[j.Msg.HTML_LOCALTIME,"local time"],[j.Msg.HTML_FILE,"file"],[j.Msg.HTML_HIDDEN,"hidden"],[j.Msg.HTML_IMAGE,"image"],[j.Msg.HTML_MONTH,"month"],[j.Msg.HTML_RANGE,"range"],[j.Msg.HTML_RESET,"reset"],[j.Msg.HTML_SEARCH,"search"],[j.Msg.HTML_SUBMIT,"submit"],[j.Msg.HTML_TELEPHONENUMBER,"telephone number"],[j.Msg.HTML_TIME,"time"],[j.Msg.HTML_URL,"url"],[j.Msg.HTML_WEEK,"week"]]),"LEVEL"),this.appendDummyInput().appendField(j.Msg.HTML_NAME).appendField(new j.FieldTextInput("car"),"NAME"),this.appendDummyInput().appendField(j.Msg.HTML_VALUE).appendField(new j.FieldTextInput("go"),"VALUE"),this.appendValueInput("style").appendField(j.Msg.MIXLY_AIP_ATTR).setAlign(j.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ys={init:function(){this.setColour(Ls),this.appendDummyInput().appendField(new j.FieldTextInput("property"),"KEY").appendField(":").appendField(new j.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},bs={init:function(){this.setColour(Ls),this.appendDummyInput().appendField(new j.FieldTextInput("property"),"KEY").appendField(":").appendField(new j.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Xs={init:function(){this.setColour(Ls),this.appendDummyInput().appendField(j.Msg.HTML_TEXT).appendField(new j.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ys=160,Vs={init:function(){this.setColour(ys),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new j.FieldTable(""),"TEXT")}},Bs={init:function(){this.setColour(ys),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new j.FieldMultilineInput(""),"TEXT")}},Gs={init:function(){this.setColour(ys),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new j.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},Us={init:function(){this.setColour(ys),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},ws={init:function(){this.setColour(ys),this.appendDummyInput().appendTitle("Comment:").appendTitle(new j.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},ks={init:function(){this.setColour(ys),this.appendValueInput("VALUE").appendField(j.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},xs={init:function(){this.setColour(ys),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new j.icons.MutatorIcon(["text_print_multiple_item"],this)),this.setTooltip(j.Msg.TEXT_PRINT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=j.Block.obtain(t,"text_print_multiple_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n= stop:"," yield start"," start -= abs(step)"])};if(t=function(t,e,i){return"("+t+" <= "+e+") and "+r()+"("+t+", "+e+", "+i+") or "+p()+"("+t+", "+e+", "+i+")"},j.isNumber(n)&&j.isNumber(s)&&j.isNumber(o))n=parseFloat(n),s=parseFloat(s),o=Math.abs(parseFloat(o)),0==n%1&&0==s%1&&0==o%1?(n<=s?(s++,t=0==n&&1==o?s:n+", "+s,1!=o&&(t+=", "+o)):t=n+", "+--s+", -"+o,t="range("+t+")"):(t=n",GTE:">="};const Gu=function(t,e){var i=this.getFieldValue("OP"),n="&&"==i?e.ORDER_LOGICAL_AND:e.ORDER_LOGICAL_OR,s=e.valueToCode(this,"A",n)||"False",o=e.valueToCode(this,"B",n)||"False";if("AND"==i)var _=s+" and "+o;else if("OR"==i)_=s+" or "+o;else if("NOR"==i)_="not("+s+"^"+o+")";else _=s+"^"+o;return[_,n]},Uu=function(t,e){var i=e.ORDER_UNARY_PREFIX;return["not "+(e.valueToCode(this,"BOOL",i)||"False"),i]},wu=function(t,e){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",e.ORDER_ATOMIC]},ku=function(t,e){return["None",e.ORDER_ATOMIC]},xu=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"False";return["("+(e.valueToCode(this,"B",e.ORDER_ATOMIC)||"False")+" if "+i+" else "+(e.valueToCode(this,"C",e.ORDER_ATOMIC)||"False")+")",e.ORDER_ATOMIC]},Hu=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},Wu=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},Ku=function(t,e){return["bool("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||"0")+")",e.ORDER_ATOMIC]},Ju=function(t,e){return e.definitions_.import_os="import os","os.startfile("+e.valueToCode(this,"fn",e.ORDER_ATOMIC)+")\n"},Qu=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+" = open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},ju=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",e.ORDER_ATOMIC]},qu=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',e.ORDER_ATOMIC]},zu=function(t,e){var i=e.valueToCode(this,"data",e.ORDER_ATOMIC);return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".write("+i+")\n"},Zu=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"()",e.ORDER_ATOMIC]},$u=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},tr=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".readline("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},er=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".writable()",e.ORDER_ATOMIC]},ir=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".name()",e.ORDER_ATOMIC]},nr=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".close()\n"},sr=function(t,e){e.definitions_.import_os="import os";return["os.listdir()",e.ORDER_ATOMIC]},or=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},_r=function(t,e){return e.definitions_.import_os="import os",["os.path.getsize("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},ur=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".tell()",e.ORDER_ATOMIC]},rr=function(t,e){var i=this.getFieldValue("MODE"),n=0;return n="start"==i?0:"current"==i?1:2,e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".seek("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+","+n+")\n"},pr=function(t,e){return e.definitions_.import_os="import os","os.chdir("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},ar=function(t,e){e.definitions_.import_os="import os";return["os.getcwd()",e.ORDER_ATOMIC]},lr=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"PATH",e.ORDER_ATOMIC)+")\n"},Ir=function(t,e){return e.definitions_.import_os="import os","os.rename("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+","+e.valueToCode(this,"NEWFILE",e.ORDER_ATOMIC)+")\n"},dr=function(t,e){e.definitions_.import_os="import os";var i=e.valueToCode(this,"FILE",e.ORDER_ATOMIC);return["os."+this.getFieldValue("MODE")+"("+i+")",e.ORDER_ATOMIC]},Tr=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = sdcard.SDCard("+e.valueToCode(this,"SPISUB",e.ORDER_ATOMIC)+","+e.valueToCode(this,"PINSUB",e.ORDER_ATOMIC)+")\n"},hr=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard","os.mount("+e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+","+e.valueToCode(this,"DIR",e.ORDER_ATOMIC)+")\n"},Mr=function(t,e){var i=e.variableDB_.getName(this.getFieldValue("NAME"),j.Procedures.NAME_TYPE),n=(this.getInput("STACK")&&e.statementToCode(this,"STACK"))??" pass\n";e.INFINITE_LOOP_TRAP&&(n=e.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+n);var s=e.valueToCode(this,"RETURN",e.ORDER_NONE)||"";s&&(s=" return "+s+"\n");for(var o=[],_=0;_\n\n\n\t\n"+e.statementToCode(this,"HEAD")+"\n\n"+e.statementToCode(this,"BODY")+"\n\n'''",e.ORDER_ATOMIC]},Zr=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"\n"+i+"\n"},$r=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");if("head"==n)var s="<"+n+'>\n\t\n'+i+"\n";else s="<"+n+">\n"+i+"\n";return s},tp=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"<"+n+">\n"+i+"\n"},ep=function(t,e){var i=e.statementToCode(this,"DO"),n=e.valueToCode(this,"style"),s=this.getFieldValue("LEVEL");return"<"+s+" "+n+" >\n"+i+"\n"},ip=function(t,e){return['style="'+e.statementToCode(this,"STYLE")+'"',e.ORDER_ATOMIC]},np=function(t,e){return'"},sp=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},op=function(){return this.getFieldValue("TEXT")+"\n"},_p=function(t){return t.getFieldValue("TEXT")+"\n"},up=function(t,e){return[t.getFieldValue("TEXT"),e.ORDER_ATOMIC]},rp=function(t,e){return(e.valueToCode(t,"VALUE",e.ORDER_ATOMIC)||"")+"\n"},pp=function(){return""},ap=function(t,e){return["type("+(e.valueToCode(t,"VALUE",e.ORDER_MEMBER)||"___")+")",e.ORDER_ATOMIC]},lp=function(t,e){for(var i=t.getFieldValue("NAME"),n=t.hasReturn_,s=new Array(t.itemCount_),o=0;o0?e.join("\n")+i.join("\n")+n.join("\n")+_.join("\n")+u.join("")+t+"while True:\n"+r.join("")+p.join("\n"):e.join("\n")+i.join("\n")+n.join("\n")+_.join("\n")+u.join("")+t+p.join("\n")},hp.scrubNakedValue=function(t){return t+"\n"},hp.quote_=function(t){var e="'";return-1!==t.indexOf("'")&&(-1===t.indexOf('"')?e='"':t=t.replace(/'/g,"\\'")),e+t+e},hp.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},hp.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(o=t.getCommentText())&&(o=j.utils.string.wrap(o,hp.COMMENT_WRAP-3),n+=hp.prefixLines(o+"\n","# "));for(var s=0;s0?"int("+u+" + "+s+")":s<0?"int("+u+" - "+-s+")":"int("+u+")",n&&(u="-"+u)),u};const Mp=120,mp={init:function(){this.setColour(Mp),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(j.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT).appendField(new j.FieldDropdown(mp.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(j.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return{WHILE:j.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:j.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[e]}))},OPERATORS:[[j.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[j.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]]},Op={init:function(){this.setColour(Mp);var t=new j.FieldDropdown(Op.OPERATORS);this.appendDummyInput().appendField(t,"FLOW").appendField(j.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("FLOW");return{BREAK:j.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:j.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}[t]}))},onchange:function(){if(this.workspace){var t=!1,e=this;do{if("controls_repeat"==e.type||"controls_for"==e.type||"controls_forEach"==e.type||"controls_repeat_ext"==e.type||"controls_whileUntil"==e.type){t=!0;break}e=e.getSurroundParent()}while(e);t?this.setWarningText(null):this.setWarningText(j.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}},OPERATORS:[[j.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[j.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]]},cp="5BA5A5",Ep={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(cp),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(j.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(j.Msg.DISPLAY_IMAGE_LET2).appendField(new j.FieldDropdown(Ep.OPERATORS),"OP"),this.appendValueInput("val").appendField(j.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(j.Msg.DISPLAY_IMAGE_UNIT);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=j.Msg.DISPLAY_IMAGE_LET,n=j.Msg.DISPLAY_IMAGE_LET2,s=j.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:j.Msg.MIXLY_UP,down:j.Msg.MIXLY_DOWN,left:j.Msg.MIXLY_LEFT,right:j.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[j.Msg.MIXLY_UP,"shift_up"],[j.Msg.MIXLY_DOWN,"shift_down"],[j.Msg.MIXLY_LEFT,"shift_left"],[j.Msg.MIXLY_RIGHT,"shift_right"]]},Rp={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(cp),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(j.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new j.FieldDropdown(Rp.OPERATORS),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{"+":j.Msg.MIXLY_MICROBIT_image_add,"-":j.Msg.MIXLY_MICROBIT_image_reduce}[e]}))},OPERATORS:[[j.Msg.MICROBIT_DISPLAY_UNION,"add"],[j.Msg.MICROBIT_DISPLAY_MINUS,"sub"]]},gp={init:function(){this.setColour(cp),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+j.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("esp32_image"),this.appendDummyInput("").appendField(new j.FieldDropdown(gp.OPERATORS),"OP"),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+j.Msg.MIXLY_MICROBIT_IMAGE+{height:j.Msg.MIXLY_HEIGHT,width:j.Msg.MIXLY_WIDTH}[e]}))},OPERATORS:[[j.Msg.MIXLY_HEIGHT,"height"],[j.Msg.MIXLY_WIDTH,"width"]]},Cp={init:function(){this.setColour(cp),this.appendValueInput("VAR").appendField(j.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_RECT).appendField(new j.FieldDropdown(Cp.STATUS),"OP"),this.jsonInit({message0:j.Msg.MIXLY_MICROBIT_SHOW_RECT,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"width"},{check:Number,type:"input_value",name:"height"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(j.Msg.MIXLY_OLED_RECT)},STATUS:[[j.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[j.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},Ap={init:function(){this.setColour(cp),this.appendValueInput("VAR").appendField(j.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE).appendField(new j.FieldDropdown(Ap.STATUS),"OP"),this.jsonInit({message0:j.Msg.MIXLY_HANBIT_SHOW_CIRCLE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"r"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(j.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE)},STATUS:[[j.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[j.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},Lp={init:function(){this.setColour(cp),this.appendValueInput("SUB").setCheck("var").appendField(j.Msg.MSG.catOLED),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(j.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(j.Msg.DISPLAY_IMAGE_LET2).appendField(new j.FieldDropdown(Lp.OPERATORS),"OP"),this.appendValueInput("val").appendField(j.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(j.Msg.DISPLAY_IMAGE_UNIT);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=j.Msg.DISPLAY_IMAGE_LET,n=j.Msg.DISPLAY_IMAGE_LET2,s=j.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:j.Msg.MIXLY_UP,down:j.Msg.MIXLY_DOWN,left:j.Msg.MIXLY_LEFT,right:j.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[j.Msg.MIXLY_UP,"shift_up"],[j.Msg.MIXLY_DOWN,"shift_down"],[j.Msg.MIXLY_LEFT,"shift_left"],[j.Msg.MIXLY_RIGHT,"shift_right"]]},Sp="#569A98",fp={init:function(){this.appendDummyInput("").appendField(j.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(j.inputs.Align.CENTRE).appendField(new j.FieldBitmap(fp.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Sp),this.setTooltip(j.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:12},(()=>new Array(32).fill(0)))},Dp={init:function(){this.setColour(Sp),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(j.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new j.FieldDropdown(Dp.OPERATORS),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{"+":j.Msg.MIXLY_MICROBIT_image_add,"-":j.Msg.MIXLY_MICROBIT_image_reduce}[e]}))},OPERATORS:[[j.Msg.MICROBIT_DISPLAY_UNION,"add"],[j.Msg.MICROBIT_DISPLAY_MINUS,"sub"]]},Np={init:function(){this.setColour(Sp),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(j.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(j.Msg.DISPLAY_IMAGE_LET2).appendField(new j.FieldDropdown(Np.OPERATORS),"OP"),this.appendValueInput("val").appendField(j.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(j.Msg.DISPLAY_IMAGE_UNIT);q.Boards.getSelectedBoardKey();"Python ESP32-S3"===q.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(j.Msg.MIXLY_synchronize);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=j.Msg.DISPLAY_IMAGE_LET,n=j.Msg.DISPLAY_IMAGE_LET2,s=j.Msg.DISPLAY_IMAGE_LET3;return i+n+{shift_up:j.Msg.MIXLY_UP,shift_down:j.Msg.MIXLY_DOWN,shift_left:j.Msg.MIXLY_LEFT,shift_right:j.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[j.Msg.MIXLY_UP,"shift_up"],[j.Msg.MIXLY_DOWN,"shift_down"],[j.Msg.MIXLY_LEFT,"shift_left"],[j.Msg.MIXLY_RIGHT,"shift_right"]]},Pp={init:function(){this.appendDummyInput("").appendField(j.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(j.inputs.Align.CENTRE).appendField(new j.FieldBitmap(Pp.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Sp),this.setTooltip(j.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(8).fill(0)))},Fp={init:function(){this.appendDummyInput("").appendField(j.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(j.inputs.Align.CENTRE).appendField(new j.FieldBitmap(Fp.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Sp),this.setTooltip(j.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(12).fill(0)))},vp={init:function(){this.appendDummyInput("").appendField(j.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(j.inputs.Align.CENTRE).appendField(new j.FieldBitmap(vp.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Sp),this.setTooltip(j.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(16).fill(0)))},Yp={init:function(){this.setColour(Sp),this.appendDummyInput().appendField(j.Msg.OLED_SET_FONT).appendField(new j.FieldDropdown(Yp.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[["4x5"+j.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'4x5'"],["5x5"+j.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'5x5'"],["5x8"+j.Msg.MIXGO_ME_DISPLAY_VERTICAL,"'5x8'"]]},bp={init:function(){this.appendDummyInput("").appendField(j.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(j.inputs.Align.CENTRE).appendField(new j.FieldBitmap(bp.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Sp),this.setTooltip(j.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(5).fill(0)))},Xp={init:function(){this.setColour(Sp),this.appendDummyInput().appendField(j.Msg.MIXLY_MIXBOT_SCREEN_ROTATE).appendField(new j.FieldDropdown(Xp.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[[j.Msg.mixpy_PL_PIE_SHADOW_N,"0"],[j.Msg.CLOCKWISE+"90"+j.Msg.blockpy_setheading_degree,"1"],[j.Msg.CLOCKWISE+"180"+j.Msg.blockpy_setheading_degree,"2"],[j.Msg.CLOCKWISE+"270"+j.Msg.blockpy_setheading_degree,"3"]]},yp={init:function(){this.appendDummyInput("").appendField(j.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(j.inputs.Align.CENTRE).appendField(new j.FieldBitmap(yp.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Sp),this.setTooltip(j.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:12},(()=>new Array(12).fill(0)))},Vp=180,Bp={init:function(){this.setColour(Vp),this.setOutput(!0),this.setInputsInline(!0),this.appendValueInput("img").appendField(j.Msg.DISPLAY_IMAGE_LET).setCheck(["esp32_image","List",String]),this.appendDummyInput("").appendField(j.Msg.DISPLAY_IMAGE_LET2).appendField(new j.FieldDropdown(Bp.OPERATORS),"OP"),this.appendValueInput("val").appendField(j.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(j.Msg.DISPLAY_IMAGE_UNIT);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=j.Msg.DISPLAY_IMAGE_LET,n=j.Msg.DISPLAY_IMAGE_LET2,s=j.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:j.Msg.MIXLY_UP,down:j.Msg.MIXLY_DOWN,left:j.Msg.MIXLY_LEFT,right:j.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[j.Msg.MIXLY_UP,"up"],[j.Msg.MIXLY_DOWN,"down"],[j.Msg.MIXLY_LEFT,"left"],[j.Msg.MIXLY_RIGHT,"right"]]},Gp={init:function(){this.setColour(Vp),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(j.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new j.FieldDropdown(Gp.OPERATORS),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{"+":j.Msg.MIXLY_MICROBIT_image_add,"-":j.Msg.MIXLY_MICROBIT_image_reduce}[e]}))},OPERATORS:[[j.Msg.MICROBIT_DISPLAY_UNION,"+"],[j.Msg.MICROBIT_DISPLAY_MINUS,"-"]]},Up={init:function(){this.setColour(Vp),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+j.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("esp32_image"),this.appendDummyInput("").appendField(new j.FieldDropdown(Up.OPERATORS),"OP"),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+j.Msg.MIXLY_MICROBIT_IMAGE+{height:j.Msg.MIXLY_HEIGHT,width:j.Msg.MIXLY_WIDTH}[e]}))},OPERATORS:[[j.Msg.MIXLY_HEIGHT,"height"],[j.Msg.MIXLY_WIDTH,"width"]]},wp={init:function(){this.setColour(Vp),this.appendValueInput("VAR").appendField(j.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_RECT).appendField(new j.FieldDropdown(wp.STATUS),"OP"),this.jsonInit({message0:j.Msg.MIXLY_MICROBIT_SHOW_RECT,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"width"},{check:Number,type:"input_value",name:"height"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(j.Msg.MIXLY_OLED_RECT)},STATUS:[[j.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[j.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},kp={init:function(){this.setColour(Vp),this.appendValueInput("VAR").appendField(j.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE).appendField(new j.FieldDropdown(kp.STATUS),"OP"),this.jsonInit({message0:j.Msg.MIXLY_HANBIT_SHOW_CIRCLE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"r"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(j.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE)},STATUS:[[j.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[j.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},xp={init:function(){this.setColour(Vp),this.appendValueInput("VAR").appendField(j.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_DISPLAY_DRAW+j.Msg.MIXLY_HANBIT_DRAW_TRIANGLE).appendField(new j.FieldDropdown(xp.STATUS),"OP"),this.jsonInit({message0:j.Msg.MIXLY_HANBIT_SHOW_triangle,args0:[{check:Number,type:"input_value",name:"x0"},{check:Number,type:"input_value",name:"y0"},{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(j.Msg.MIXLY_DISPLAY_DRAW+j.Msg.MIXLY_HANBIT_DRAW_TRIANGLE)},STATUS:[[j.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[j.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},Hp=225,Wp={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_NETWORK_INIT),this.appendDummyInput().appendField(j.Msg.MIXLY_NETWORK_MODE).appendField(new j.FieldDropdown([["STA","STA"],["AP","AP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_INIT_TOOLTIP)}},Kp={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(new j.FieldDropdown([[j.Msg.MIXLY_NETWORK_WIFI_OPEN,"True"],[j.Msg.MIXLY_NETWORK_WIFI_CLOSE,"False"]]),"op"),this.appendDummyInput("").appendField(j.Msg.MIXLY_NETWORK_WIFI_FLAG),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("op"),i=j.Msg.MIXLY_ESP32_NETWORK_OPEN_TOOLTIP;return{True:j.Msg.MIXLY_NETWORK_WIFI_OPEN,False:j.Msg.MIXLY_NETWORK_WIFI_CLOSE}[e]+i}))}},Jp={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE)}},Qp={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_NETWORK_WIFI_SCAN),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip((function(){return j.Msg.MIXLY_ESP32_NETWORK_SCAN_TOOLTIP+{0:"ssid",1:"bssid",2:"channel",3:"RSSI",4:"authmode",5:"hidden",all:j.Msg.MIXLY_NETWORK_WIFI_SCAN_ATTRIBUTE}.all}))}},jp={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_ESP32_NETWORK_CONNECT),this.appendValueInput("id").setCheck(String).appendField(j.Msg.HTML_NAME),this.appendValueInput("password").setCheck(String).appendField(j.Msg.HTML_PASSWORD),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_CONNECT_TOOLTIP)}},qp={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_NETWORK_WIFI_CONNECT+j.Msg.MIXLY_SYMBOL_QUESTION),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_WIFI_CONNECT_TOOLTIP)}},zp={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput("").appendField(new j.FieldDropdown([[j.Msg.MIXLY_ESP32_NETWORK_IP,"0"],[j.Msg.MIXLY_ESP32_NETWORK_MASK,"1"],[j.Msg.MIXLY_ESP32_NETWORK_GATEWAY,"2"],["DNS","3"]]),"mode"),this.setOutput(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return j.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP+{0:j.Msg.MIXLY_ESP32_NETWORK_IP,1:j.Msg.MIXLY_ESP32_NETWORK_MASK,2:j.Msg.MIXLY_ESP32_NETWORK_GATEWAY,3:"DNS"}[e]}))}},Zp={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_ESP32_NETWORK_STOP_CONNECT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_STOP_TOOLTIP)}},$p={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput().appendField(new j.FieldDropdown([[j.Msg.MIXLY_NETWORK_WIFI_ESSID,"essid"],[j.Msg.MIXLY_NETWORK_WIFI_CHANNEL,"channel"]]),"op"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP)}},ta={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(j.Msg.LISTS_SET_INDEX_SET+j.Msg.MIXLY_HOTSPOT),this.appendValueInput("essid").setCheck(String).appendField(j.Msg.MIXLY_NAME),this.appendValueInput("password").setCheck(String).appendField(j.Msg.MIXLY_EMQX_PASSWORD),this.appendValueInput("channel").setCheck(Number).appendField(j.Msg.MIXLY_NETWORK_WIFI_CHANNEL),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_AP_CONNECT_TOOLTIP)}},ea={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_ESP32_NETWORK_SERVER1),this.appendDummyInput("").appendField(j.Msg.MIXLY_ESP32_NETWORK_SERVER2),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},ia={init:function(){this.setColour(Hp),this.appendValueInput("VAR").appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_INIT).setCheck("var"),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new j.FieldDropdown([["TCP","TCP"],["UDP","UDP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return j.Msg.MIXLY_ESP32_NETWORK_SOCKET_INIT_TOOLTIP+{TCP:"TCP",UDP:"UDP"}[e]}))}},na={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var").appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_BIND_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_SOCKET_BIND_TOOLTIP)}},sa={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var").appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_CONNECT_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_SOCKET_CONNECT_TOOLTIP)}},oa={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var"),this.appendValueInput("queue").setCheck(Number).appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_LISTEN).appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_QUEUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_SOCKET_LISTEN_TOOLTIP)}},_a={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_ACCEPT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_SOCKET_ACCEPT_TOOLTIP)}},ua={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE_TOOLTIP)}},ra={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("size").setCheck(Number).appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_TOOLTIP)}},pa={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("content").appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TOOLTIP)}},aa={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("size").setCheck(Number).appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_FROM_TOOLTIP)}},la={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("content").appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.appendValueInput("address").appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_TO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TO_TOOLTIP)}},Ia={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_CLOSE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},da={init:function(){this.setColour(Hp),this.appendValueInput("DOMAIN").appendField(j.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(j.Msg.blockpy_REQUESTS_GET).appendField(new j.FieldTextInput("response"),"VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(j.Msg.blockpy_REQUESTS_GET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){j.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Ta={init:function(){this.appendValueInput("VAL"),this.setColour(Hp),this.appendDummyInput("").appendField(j.Msg.MIXLY_MICROBIT_JS_GET).appendField(new j.FieldDropdown(Ta.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{clear:j.Msg.MIXLY_TOOLTIP_TURTEL_CLEAR,reset:j.Msg.MIXLY_TOOLTIP_TURTEL_RESET,home:j.Msg.MIXLY_TOOLTIP_TURTEL_HOME}[e]}))},ATTR:[[j.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[j.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[j.Msg.blockpy_REQUESTS_GET_ATTR_COOKIES,"cookies"],[j.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"]]},ha={init:function(){this.appendValueInput("VAR").appendField(j.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.setColour(Hp),this.appendDummyInput("").appendField(j.Msg.blockpy_CONDUCT).appendField(new j.FieldDropdown(ha.METHOD),"DIR"),this.appendDummyInput("").appendField(j.Msg.blockpy_REQUESTS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{forward:j.Msg.MIXLY_TOOLTIP_TURTEL_FORWARD,backward:j.Msg.MIXLY_TOOLTIP_TURTEL_BACKWARD}[e]}))},METHOD:[["post","post"],["put","put"],["delete","delete"],["head","head"],["option","option"]]},Ma={init:function(){this.setColour(Hp),this.appendDummyInput("").appendField(j.Msg.MIXLY_GET_NTP+"(NTP)"),this.appendValueInput("data").appendField(j.Msg.blynk_SERVER_ADD),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},ma={init:function(){this.setColour(Hp),this.appendDummyInput("").appendField(new j.FieldDropdown([["ntp.aliyun.com","ntp.aliyun.com"],["ntp1.aliyun.com","ntp1.aliyun.com"],["ntp2.aliyun.com","ntp2.aliyun.com"],["ntp3.aliyun.com","ntp3.aliyun.com"],["ntp4.aliyun.com","ntp4.aliyun.com"],["ntp5.aliyun.com","ntp5.aliyun.com"],["ntp6.aliyun.com","ntp6.aliyun.com"],["ntp7.aliyun.com","ntp7.aliyun.com"],["time1.cloud.tencent.com","time1.cloud.tencent.com"],["time2.cloud.tencent.com","time2.cloud.tencent.com"],["time3.cloud.tencent.com","time3.cloud.tencent.com"],["time4.cloud.tencent.com","time4.cloud.tencent.com"],["time5.cloud.tencent.com","time5.cloud.tencent.com"]]),"op"),this.setOutput(!0)}},Oa="#3288dd",ca={init:function(){this.setColour(Oa),this.appendValueInput("URL").appendField(j.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(j.Msg.blockpy_CONDUCT).appendField(new j.FieldDropdown([["get","get"],["head","head"],["delete","delete"]]),"TYPE").appendField(j.Msg.blockpy_REQUESTS).appendField(j.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},Ea={init:function(){this.setColour(Oa),this.appendValueInput("URL").appendField(j.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(j.Msg.blockpy_CONDUCT).appendField(new j.FieldDropdown([["post","post"],["put","put"],["patch","patch"]]),"TYPE").appendField(j.Msg.blockpy_REQUESTS),this.appendValueInput("data").appendField(j.Msg.blockpy_REQUESTS+j.Msg.OLED_STRING),this.appendDummyInput("").appendField(j.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},Ra={init:function(){this.appendValueInput("VAL"),this.setColour(Oa),this.appendDummyInput("").appendField(j.Msg.MIXLY_MICROBIT_JS_GET).appendField(new j.FieldDropdown(Ra.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String)},ATTR:[[j.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[j.Msg.blockpy_REQUESTS_GET_ATTR_JSON,"json()"],[j.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[j.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"],[j.Msg.MIXPY_TEXT_ENCODE,"encoding"]]},ga={init:function(){this.setColour(Oa),this.appendDummyInput().appendField(j.Msg.MIXLY_ESP32_IOT_CONNECT_WIFI),this.appendValueInput("WIFINAME").setCheck(String).appendField(j.Msg.HTML_NAME),this.appendValueInput("PASSWORD").setCheck(String).appendField(j.Msg.HTML_PASSWORD),this.appendValueInput("TIMEOUT").setCheck(Number).appendField(j.Msg.MIXLY_IR_TIMEOUT),this.appendDummyInput().appendField(j.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(j.Msg.MIXLY_ESP32_IOT_WIFI_CONNECT_TOOLTIP)}},Ca={init:function(){this.setColour(Oa),this.appendDummyInput().appendField(j.Msg.MIXLY_ESP32_IOT_EMQX_CONNECT_TOOLTIP),this.appendValueInput("SERVER").setCheck(String).appendField(j.Msg.MIXLY_EMQX_SERVER).setAlign(j.inputs.Align.RIGHT),this.appendValueInput("PORT").setCheck(Number).appendField(j.Msg.MIXLY_EMQX_PORT).setAlign(j.inputs.Align.RIGHT),this.appendValueInput("CLIENT_ID").setCheck(String).appendField(j.Msg.MIXLY_EMQX_CLIENT_ID).setAlign(j.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(j.Msg.MIXLY_WIFI_USERNAME).setAlign(j.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(j.Msg.MIXLY_IOT_PASSWORD).setAlign(j.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Aa={init:function(){this.setColour(Oa),this.appendValueInput("TOPIC").appendField(j.Msg.MIXLY_EMQX_SUBSCRIBE+j.Msg.MIXLY_MICROBIT_MSG).appendField(j.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MESSAGE").appendField(j.Msg.blockpy_set_of),this.setInputsInline(!0),this.setOutput(!0)}},La={init:function(){this.setColour(Oa),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(j.Msg.MIXLY_EMQX_SUBSCRIBE+j.Msg.MIXLY_MICROBIT_MSG).appendField(j.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(j.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Sa={init:function(){this.setColour(Oa),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(j.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(j.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(j.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},fa={init:function(){this.setColour(Oa),this.appendDummyInput().appendField("mqtt"+j.Msg.MIXLY_EMQX_IS_CONNECT),this.setInputsInline(!0),this.setOutput(!0)}},Da="#A58C5B",Na={init:function(){this.setColour(Da),this.appendValueInput("PIN",Number).appendField(new j.FieldDropdown([["DHT11","DHT11"],["DHT22","DHT22"]]),"TYPE").appendField(j.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(new j.FieldDropdown(Na.METHOD),"WHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("WHAT");return{temperature:j.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM,relative_humidity:j.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_HUM,tempandhum:j.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM_HUM}[e]}))},METHOD:[[j.Msg.MIXLY_GETTEMPERATUE,"temperature"],[j.Msg.MIXLY_GETHUMIDITY,"humidity"]]},Pa={init:function(){this.setColour(Da),this.appendValueInput("SUB").appendField(j.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(j.Msg.MIXLY_GETTEMPERATUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_GETTEMPERATUE)}},Fa={init:function(){this.setColour(Da),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_JS_GET_COMPASS).appendField(new j.FieldDropdown([[j.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,"strength"],[j.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"heading"]]),"compass"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("compass");return j.Msg.MIXLY_MICROBIT_JS_GET_COMPASS+{strength:j.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,heading:j.Msg.MIXLY_MICROBIT_JS_BY_ANGLE}[e]}))}},va=(j.Msg.PS2_TRIANGLE,j.Msg.PS2_CIRCLE,j.Msg.PS2_CROSS,j.Msg.PS2_SQUARE,j.Msg.PS2_L1,j.Msg.PS2_L2,j.Msg.PS2_R1,j.Msg.PS2_R2,j.Msg.PS2_UP,j.Msg.PS2_RIGHT,j.Msg.PS2_DOWN,j.Msg.PS2_LEFT,j.Msg.PS2_SELECT,j.Msg.PS2_START,{init:function(){this.setColour(Da),this.appendDummyInput("").appendField(j.Msg.PS2_stick).appendField(new j.FieldDropdown(va.PSSTK),"psstk"),this.setOutput(!0,Number),this.setTooltip("")},PSSTK:[[j.Msg.PS2_RX,"0"],[j.Msg.PS2_RY,"1"],[j.Msg.PS2_LX,"2"],[j.Msg.PS2_LY,"3"]]}),Ya={init:function(){this.setColour(Da),this.appendValueInput("SUB").appendField(j.Msg.PS2),this.appendDummyInput("").appendField(j.Msg.MIXLY_JOYSTICK).appendField(new j.FieldDropdown(Ya.PSSTK),"psstk"),this.setOutput(!0,Number),this.setTooltip("")},PSSTK:[[j.Msg.PS2_RX,"RX"],[j.Msg.PS2_RY,"RY"],[j.Msg.PS2_LX,"LX"],[j.Msg.PS2_LY,"LY"]]},ba="#947C54",Xa={init:function(){this.setColour(ba),this.appendValueInput("btn").appendField(j.Msg.MIXLY_BUTTON).setCheck(Number),this.appendDummyInput().appendField(j.Msg.MIXLY_IS_PRESSED),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_SENOR_IS_PRESSED)}},ya={init:function(){this.setColour(ba),this.appendValueInput("btn").appendField(j.Msg.MIXLY_BUTTON).setCheck(Number),this.appendDummyInput().appendField(j.Msg.MIXLY_WAS_PRESSED),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_SENOR_WAS_PRESSED)}},Va={init:function(){this.setColour(ba),this.appendValueInput("btn").appendField(j.Msg.MIXLY_BUTTON).setCheck(Number),this.appendDummyInput().appendField(j.Msg.MIXLY_GET_PRESSES),this.appendValueInput("VAR").setCheck(Number).appendField(j.Msg.MIXLY_GET_PRESSES_TIME),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(j.Msg.PROCEDURES_DEFRETURN_RETURN+j.Msg.MIXLY_BUTTON+j.Msg.MIXLY_GET_PRESSES)}},Ba={init:function(){this.setColour(ba),this.appendValueInput("btn").appendField(j.Msg.MIXLY_ESP32_INTERRUPT).appendField(j.Msg.MIXLY_BUTTON).setCheck(Number),this.appendDummyInput("").appendField(j.Msg.MIXLY_MODE).appendField(new j.FieldDropdown([[j.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[j.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[j.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(j.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_INOUT_ATTACHINTERRUPT)}},Ga={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_BUTTON),this.appendDummyInput().appendField(j.Msg.MIXLY_IS_PRESSED),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_SENOR_IS_PRESSED)}},Ua={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_BUTTON),this.appendDummyInput().appendField(j.Msg.MIXLY_WAS_PRESSED),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_SENOR_WAS_PRESSED)}},wa={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_BUTTON),this.appendDummyInput().appendField(j.Msg.MIXLY_GET_PRESSES),this.appendValueInput("VAR").setCheck(Number).appendField(j.Msg.MIXLY_GET_PRESSES_TIME),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(j.Msg.PROCEDURES_DEFRETURN_RETURN+j.Msg.MIXLY_BUTTON+j.Msg.MIXLY_GET_PRESSES)}},ka={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_ESP32_INTERRUPT).appendField(j.Msg.MIXLY_BUTTON),this.appendDummyInput("").appendField(j.Msg.MIXLY_MODE).appendField(new j.FieldDropdown([[j.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[j.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[j.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(j.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_INOUT_ATTACHINTERRUPT)}},xa={init:function(){this.setColour(ba),this.appendValueInput("button").appendField(j.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendDummyInput().appendField(j.Msg.MIXLY_IS_TOUCHED),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_sensor_pin_pressed)}},Ha={init:function(){this.setColour(ba),this.appendValueInput("button").appendField(j.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendDummyInput().appendField(j.Msg.MIXLY_IS_TOUCHED),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_sensor_pin_pressed)}},Wa={init:function(){this.setColour(ba),this.appendValueInput("button").appendField(j.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendDummyInput().appendField(j.Msg.MIXLY_IS_TOUCHED),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_sensor_pin_pressed)}},Ka={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_TOUCH_SLIDE),this.appendDummyInput().appendField(j.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_TOUCH_SLIDE_TOOLTIP)}},Ja={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_CHAOSHENGBO),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_CHAOSHENGBO)}},Qa={init:function(){this.setColour(ba),this.appendDummyInput("").setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_RTCSETTIME).appendField("myRTC"),this.appendValueInput("hour").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(" "+j.Msg.MIXLY_HOUR),this.appendValueInput("minute").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(" "+j.Msg.MIXLY_MINUTE),this.appendValueInput("second").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(" "+j.Msg.MIXLY_SECOND),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!1),this.setTooltip(j.Msg.MIXLY_RTCSETTIME+j.Msg.MIXLY_MIX2)}},ja={init:function(){this.setColour(ba),this.appendDummyInput("").setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_RTCSETDATE).appendField("myRTC"),this.appendValueInput("year").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(" "+j.Msg.MIXLY_YEAR),this.appendValueInput("month").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(" "+j.Msg.MIXLY_MONTH),this.appendValueInput("day").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(" "+j.Msg.MIXLY_DAY),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(j.Msg.MIXLY_RTCSETDATE+j.Msg.MIXLY_MIX1)}},qa={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(j.Msg.MIXLY_CHAOSHENGBO),this.appendValueInput("PIN1",Number).appendField("Trig #").setCheck(Number),this.appendValueInput("PIN2",Number).appendField("Echo #").setCheck(Number),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(j.Msg.MIXLY_TOOLTIP_BLOCKGROUP_CHAOSHENGBO)}},za={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_ESP32_LIGHT),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(j.Msg.ESP32_SENSOR_NIXGO_LIGHT_TOOLTIP)}},Za={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(new j.FieldDropdown([["1","touch1"],["2","touch2"]]),"op"),this.setOutput(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},$a={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(new j.FieldDropdown([["0","0"],["1","1"],["2","2"],["3","3"]]),"op"),this.setOutput(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},tl={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(new j.FieldDropdown([[j.Msg.MIXLY_UP,"12"],[j.Msg.MIXLY_DOWN,"14"],[j.Msg.MIXLY_LEFT,"13"],[j.Msg.MIXLY_RIGHT,"15"],["A","32"],["B","33"]]),"op"),this.setOutput(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},el={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(new j.FieldDropdown([["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]]),"op"),this.setOutput(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},il={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(new j.FieldDropdown([["0","0"],["1","1"],["2","2"],["3","3"]]),"op"),this.setOutput(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},nl={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(new j.FieldDropdown([["3","3"],["4","4"]]),"op"),this.setOutput(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},sl={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(new j.FieldDropdown([["0","0"],["1","1"]]),"op"),this.setOutput(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},ol={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_ESP32_EXTERN_NEAR),this.appendDummyInput().appendField(j.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP+j.Msg.MIXLY_ESP32_NEAR)}},_l={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new j.FieldDropdown([[j.Msg.TEXT_TRIM_LEFT,"left"],[j.Msg.TEXT_TRIM_RIGHT,"right"]]),"direction").appendField(j.Msg.MIXLY_ESP32_NEAR),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("direction"),i=j.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP,n=j.Msg.MIXLY_ESP32_NEAR;return i+{left:j.Msg.TEXT_TRIM_LEFT,right:j.Msg.TEXT_TRIM_RIGHT}[e]+n}))}},ul={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+j.Msg.MIXLY_ESP32_NEAR),this.setOutput(!0,Number),this.setInputsInline(!0)}},rl={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new j.FieldDropdown([[j.Msg.TEXT_TRIM_LEFT,"l"],[j.Msg.TEXT_TRIM_RIGHT,"r"]]),"direction").appendField(j.Msg.MIXLY_ESP32_NEAR),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("direction"),i=j.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP,n=j.Msg.MIXLY_ESP32_NEAR;return i+{l:j.Msg.TEXT_TRIM_LEFT,r:j.Msg.TEXT_TRIM_RIGHT}[e]+n}))}},pl={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new j.FieldDropdown([[j.Msg.TEXT_TRIM_LEFT,"l"],[j.Msg.TEXT_TRIM_RIGHT,"r"]]),"direction").appendField(j.Msg.MIXLY_ESP32_EXTERN_LIGHT+j.Msg.MIXLY_DATA),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("direction"),i=j.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP,n=j.Msg.MIXLY_ESP32_EXTERN_LIGHT;return i+{l:j.Msg.TEXT_TRIM_LEFT,r:j.Msg.TEXT_TRIM_RIGHT}[e]+n}))}},al={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+j.Msg.MIXLY_ESP32_EXTERN_LIGHT+j.Msg.MIXLY_DATA),this.setOutput(!0,Number),this.setInputsInline(!0)}},ll={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+j.Msg.MIXLY_COLOR_SENSOR+j.Msg.MIXLY_DATA),this.setOutput(!0,Number),this.setInputsInline(!0)}},Il={init:function(){this.setColour(ba),this.appendDummyInput().appendField("RTC"),this.appendDummyInput().setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_RTCGETTIME),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(j.Msg.MIXLY_ESP32_RTC_GET_TIME_TOOLTIP+" (year, month, mday, hour, minute, second, weekday, yearday)")}},dl={init:function(){this.setColour(ba),this.appendValueInput("LIST").appendField(j.Msg.MIXLY_RTCGETTIMESTAMP),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(j.Msg.MIXLY_ESP32_RTC_GET_TIMESTAMP_TOOLTIP)}},Tl={init:function(){this.setColour(ba),this.appendValueInput("VAR").appendField(j.Msg.MIXLY_RTC_TIMESTAMP),this.appendDummyInput().appendField(j.Msg.LISTS_TO_TUPLE),this.setInputsInline(!0),this.setOutput(!0,Number)}},hl={init:function(){this.setColour(ba),this.appendDummyInput().appendField("RTC"),this.appendValueInput("CONTENT").appendField(j.Msg.MIXLY_USE_STRING_TUPLE),this.appendDummyInput().appendField(j.Msg.MIXLY_RTCSETTIME),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Ml={init:function(){this.setColour(ba),this.appendDummyInput().appendField("RTC"),this.appendValueInput("year").setCheck(Number).appendField(" "+j.Msg.MIXLY_YEAR),this.appendValueInput("month").setCheck(Number).appendField(" "+j.Msg.MIXLY_MONTH),this.appendValueInput("day").setCheck(Number).appendField(" "+j.Msg.MIXLY_DAY),this.appendValueInput("hour").setCheck(Number).appendField(" "+j.Msg.MIXLY_HOUR),this.appendValueInput("minute").setCheck(Number).appendField(" "+j.Msg.MIXLY_MINUTE),this.appendValueInput("second").setCheck(Number).appendField(" "+j.Msg.MIXLY_SECOND),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(j.Msg.MIXLY_ESP32_RTC_SET_DATATIME_TOOLTIP)}},ml={init:function(){this.setColour(ba),this.appendDummyInput("").appendField("RTC"),this.appendValueInput("SUB").appendField(j.Msg.MIXLY_SETUP).setCheck("var"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(j.Msg.MIXLY_ESP32_SENSOR_RTC_INT_TOOLTIP)}},Ol={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_RTC_GET_TIME_STR),this.setOutput(!0,String),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_RTC_GET_TIME_TOOLTIP)}},cl={init:function(){this.setColour(ba),this.appendValueInput("CONTENT").appendField(j.Msg.MIXLY_GPS_TIME+j.Msg.MIXLY_MICROBIT_TYPE_TUPLE).setCheck(),this.appendDummyInput().appendField(j.Msg.A_TO_B+j.Msg.MIXLY_GPS_TIME+j.Msg.LANG_MATH_STRING),this.setOutput(!0,String),this.setInputsInline(!0)}},El={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_ESP32_LIGHT),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(j.Msg.ESP32_SENSOR_NIXGO_LIGHT_TOOLTIP)}},Rl={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_ESP32_SOUND),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(j.Msg.ESP32_SENSOR_NIXGO_SOUND_TOOLTIP)}},gl={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(j.Msg.MIXLY_TEM_HUM+" "),this.appendDummyInput("").appendField(new j.FieldDropdown([[j.Msg.MIXLY_GETTEMPERATUE,"temperature"],[j.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{temperature:j.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,humidity:j.Msg.MIXLY_ESP32C3_SENSOR_AHT_HUM_TOOLTIP}[e]}))}},Cl={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_GETTEMPERATUE),this.setOutput(!0,Number),this.setInputsInline(!0)}},Al={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(j.Msg.MIXLY_Altitude+j.Msg.MSG.catSensor+" "),this.appendDummyInput("").appendField(new j.FieldDropdown([[j.Msg.MIXLY_GETPRESSURE,"pressure()"],[j.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[j.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Ll={init:function(){this.setColour(ba),this.appendDummyInput().appendField("RFID"+j.Msg.MIXLY_RFID_READ_CARD),this.appendDummyInput("").appendField(j.Msg.MIXLY_RFID_READ_CARD_UID),this.setOutput(!0,Number),this.setInputsInline(!0)}},Sl={init:function(){this.setColour(ba),this.appendDummyInput().appendField("RFID"+j.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SECTOR").appendField(j.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL),this.setOutput(!0,Number),this.setInputsInline(!0)}},fl={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SECTOR").appendField(j.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(j.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Dl={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SECTOR").appendField(j.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(j.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(j.Msg.RETURN_SUCCESS_OR_NOT),this.setInputsInline(!0),this.setOutput(!0,Boolean)}},Nl={init:function(){this.setColour(ba),this.appendDummyInput("").appendField("RFID").appendField(new j.FieldDropdown([[j.Msg.MIXLY_RFID_SCAN_OK,"True"],[j.Msg.MIXLY_RFID_SCAN_NOTAGERR,"None"],[j.Msg.MIXLY_RFID_SCAN_ERROR,"False"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Pl={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new j.FieldDropdown([["x","[0]"],["y","[1]"],["z","[2]"],["(x,y,z)",""],[j.Msg.MIXLY_STRENGTH,"strength"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=j.Msg.MIXLY_MICROBIT_Direction,s=j.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{"[0]":"x","[1]":"y","[2]":"z","":j.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},Fl={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(j.Msg.MIXLY_GET_GESTURE_ALL).appendField(new j.FieldDropdown([[j.Msg.ME_GO_PITCH,"[0]"],[j.Msg.ME_GO_ROLL,"[1]"],[j.Msg.ME_GO_PITCH+", "+j.Msg.ME_GO_ROLL,""]]),"angle"),this.appendDummyInput(""),this.setOutput(!0,Number),this.setInputsInline(!0)}},vl={init:function(){this.setColour(ba),this.appendDummyInput("").appendField("MPU9250"),this.appendDummyInput("").appendField(j.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new j.FieldDropdown([[j.Msg.MIXLY_MICROBIT_shake,"shake"],[j.Msg.MIXLY_UP,"up"],[j.Msg.MIXLY_DOWN,"down"],[j.Msg.MIXLY_LEFT,"left"],[j.Msg.MIXLY_RIGHT,"right"],[j.Msg.MIXLY_MICROBIT_face_up,"face up"],[j.Msg.MIXLY_MICROBIT_face_down,"face down"]]),"gesture"),this.setOutput(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("gesture"),i=j.Msg.MIXLY_MICROBIT_JS_CURRENT,n=j.Msg.MSG.catSensor,s=j.Msg.MIXLY_MICROBIT_JS_STATE,o=j.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:j.Msg.MIXLY_MICROBIT_shake,up:j.Msg.MIXLY_UP,down:j.Msg.MIXLY_DOWN,left:j.Msg.MIXLY_LEFT,right:j.Msg.MIXLY_RIGHT,"face up":j.Msg.MIXLY_MICROBIT_face_up,"face down":j.Msg.MIXLY_MICROBIT_face_down}[e]+o}))}},Yl={init:function(){this.setColour(ba),this.appendDummyInput("").appendField("MPU9250"),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new j.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=j.Msg.MIXLY_MICROBIT_Direction,s=j.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":j.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},bl={init:function(){this.setColour(ba),this.appendDummyInput("").appendField("MPU9250"),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_JS_GET+j.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH).appendField(new j.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=j.Msg.MIXLY_MICROBIT_Direction,s=j.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH;return i+{x:"x",y:"y",z:"z","(x,y,z)":j.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},Xl={init:function(){this.setColour(ba),this.appendDummyInput("").appendField("MPU9250"),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+j.Msg.MIXLY_ESP32_SENOR_GYRO).appendField(new j.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=j.Msg.MIXLY_MICROBIT_Direction,s=j.Msg.MIXLY_ESP32_SENOR_GYRO;return i+{x:"x",y:"y",z:"z","(x,y,z)":j.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},yl={init:function(){this.setColour(ba),this.appendDummyInput("").appendField("MPU9250"),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS)}},Vl={init:function(){this.setColour(ba),this.appendDummyInput("").appendField("MPU9250"),this.appendDummyInput().appendField(j.Msg.MIXLY_GETTEMPERATUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_GETTEMPERATUE)}},Bl={init:function(){this.setColour(ba),this.appendDummyInput("").appendField("MPU9250"),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_JS_GET_COMPASS).appendField(new j.FieldDropdown([[j.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,"strength"],[j.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"heading"]]),"compass"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("compass");return j.Msg.MIXLY_MICROBIT_JS_GET_COMPASS+{strength:j.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,heading:j.Msg.MIXLY_MICROBIT_JS_BY_ANGLE}[e]}))}},Gl={init:function(){this.setColour(ba),this.appendDummyInput("").appendField("MPU9250"),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_Reset_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_MICROBIT_Reset_COMPASS)}},Ul={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_JS_GET+j.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH).appendField(new j.FieldDropdown([["x","[0]"],["y","[1]"],["z","[2]"],["(x,y,z)",""],[j.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH_ALL,"all"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=j.Msg.MIXLY_MICROBIT_Direction,s=j.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH;return i+{"[0]":"x","[1]":"y","[2]":"z","":j.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},wl={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_JS_GET_COMPASS+j.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},kl={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS)}},xl={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(j.Msg.MIXLY_GETTEMPERATUE),this.appendDummyInput(""),this.setOutput(!0,Number),this.setInputsInline(!0)}},Hl={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(j.Msg.MIXLY_GETTEMPERATUE),this.appendDummyInput(""),this.setOutput(!0,Number),this.setInputsInline(!0)}},Wl={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+j.Msg.MIXLY_ESP32_SENOR_GYRO).appendField(new j.FieldDropdown([["x","[0]"],["y","[1]"],["z","[2]"],["(x,y,z)",""]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=j.Msg.MIXLY_MICROBIT_Direction,s=j.Msg.MIXLY_ESP32_SENOR_GYRO;return i+{"[0]":"x","[1]":"y","[2]":"z","":j.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},Kl={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_GETTEMPERATUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_GETTEMPERATUE)}},Jl={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new j.FieldDropdown([[j.Msg.TEXT_TRIM_LEFT,"1"],[j.Msg.TEXT_TRIM_RIGHT,"2"]]),"direction").appendField(j.Msg.MIXLY_ESP32_NEAR),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("direction"),i=j.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP,n=j.Msg.MIXLY_ESP32_NEAR;return i+{left:j.Msg.TEXT_TRIM_LEFT,right:j.Msg.TEXT_TRIM_RIGHT}[e]+n}))}},Ql={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MIXGO_CAR_BATTERY_LEFT),this.setOutput(!0),this.setInputsInline(!0)}},jl={init:function(){this.setColour(ba),this.appendDummyInput().appendField("acc"+j.Msg.MIXLY_MICROBIT_JS_GET).appendField(new j.FieldDropdown([[j.Msg.MIXLY_ADXL345_XA,"[0]"],[j.Msg.MIXLY_ADXL345_YA,"[1]"],[j.Msg.MIXLY_ACC_SHAKE,"[2]"],[j.Msg.MIXLY_ADXL345_XA+","+j.Msg.MIXLY_ADXL345_YA+","+j.Msg.MIXLY_ACC_SHAKE,""]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_MICROBIT_JS_ACCELERATION)}},ql={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new j.FieldDropdown([[j.Msg.TEXT_TRIM_LEFT,"[0]"],[j.Msg.MIXGO_LEFT_MID,"[1]"],[j.Msg.MIXGO_RIGHT_MID,"[2]"],[j.Msg.TEXT_TRIM_RIGHT,"[3]"],[j.Msg.MIXLY_ALL,""]]),"key").appendField(j.Msg.MIXGO_LINE_SENSOR_VAL),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip((function(){return j.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP+j.Msg.MIXLY_ESP32_NEAR}))}},zl={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new j.FieldDropdown([[j.Msg.MIXGO_LEFT_FRONT,"[0]"],[j.Msg.MIXGO_RIGHT_FRONT,"[1]"],[j.Msg.MIXGO_LEFT_BACK,"[3]"],[j.Msg.MIXGO_RIGHT_BACK,"[2]"],[j.Msg.MIXLY_ALL,""]]),"key").appendField(j.Msg.MIXGO_PROXIMITY_SENSOR),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip((function(){return j.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP+j.Msg.MIXLY_ESP32_NEAR}))}},Zl={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MIXGO_CAR_SENSOR_ONBOARD_CHANGE).appendField(new j.FieldDropdown([[j.Msg.MIXLY_MIXGO_CAR_SENSOR_ONBOARD_AUTO_CHANGE,"AS"],[j.Msg.MIXLY_MIXGO_CAR_USE_LINE_ONLY,"LP"],[j.Msg.MIXLY_MIXGO_CAR_USE_PROXIMITY_ONLY,"OA"]]),"key"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},$l={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MIXGO_CAR_BATTERY_LEFT),this.setOutput(!0),this.setInputsInline(!0)}},tI={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXGO_LINE_SENSOR).appendField(new j.FieldDropdown([[j.Msg.MIXLY_MIXBOT_LINE_SENSOR_CALIBRATE_WHITE,"WHITE"],[j.Msg.MIXLY_MIXBOT_LINE_SENSOR_CALIBRATE_BLACK,"BLACK"],[j.Msg.MIXLY_MIXBOT_LINE_SENSOR_CALIBRATE_RESET,"RESET_TO_FAB"]]),"key"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},eI={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new j.FieldDropdown([[j.Msg.MIXGO_LEFT_FRONT,"[0]"],[j.Msg.MIXGO_RIGHT_FRONT,"[1]"],[j.Msg.MIXGO_LEFT_BACK,"[3]"],[j.Msg.MIXGO_RIGHT_BACK,"[2]"],[j.Msg.MIXLY_ALL,""]]),"key").appendField(j.Msg.MIXGO_LINE_SENSOR_VAL),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip((function(){return j.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP+j.Msg.MIXLY_ESP32_NEAR}))}},iI={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(j.Msg.MIXLY_MICROBIT_JS_GET+j.Msg.MIXLY_MICROBIT_Board_temperature),this.appendDummyInput(""),this.setOutput(!0,Number),this.setInputsInline(!0)}},nI={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+j.Msg.MIXLY_ESP32_SENOR_GYRO).appendField(new j.FieldDropdown([["x","[0]"],["y","[1]"],["z","[2]"],["(x,y,z)",""]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=j.Msg.MIXLY_MICROBIT_Direction,s=j.Msg.MIXLY_ESP32_SENOR_GYRO;return i+{"[0]":"x","[1]":"y","[2]":"z","":j.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},sI={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.ANALOG+j.Msg.MIXLY_ESP32_EXTERN_LIGHT),this.appendValueInput("mode").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(j.Msg.MIXLY_GET_LIGHT_INTENSITY+"(%)"),this.setOutput(!0,Number),this.setInputsInline(!0)}},oI={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(new j.FieldDropdown(q.Profile.default.als_num),"PIN"),this.setOutput(!0,Number)}},_I=Xa,uI=ya,rI=Va,pI=xa,aI=ul,lI=za,II=Na,dI=Fa,TI=Pa,hI={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(j.Msg.MIXLY_ESP32_EXTERN_SOUND),this.setInputsInline(!0),this.setOutput(!0)}},MI={init:function(){this.setColour(ba),this.appendValueInput("SUB").appendField(j.Msg.MIXLY_GET).setCheck("var"),this.appendDummyInput("").appendField(j.Msg.blockpy_set_of+j.Msg.MIXLY_MICROBIT_JS_I2C_VALUE),this.setInputsInline(!0),this.setOutput(!0)}},mI={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(j.Msg.MIXLY_LIGHT_SENSOR),this.setInputsInline(!0),this.setOutput(!0)}},OI={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(j.Msg.MIXLY_GYROSCOPE_SENSOR),this.setInputsInline(!0),this.setOutput(!0)}},cI={init:function(){this.setColour(ba),this.appendValueInput("SUB").appendField(j.Msg.MIXLY_GET).setCheck("var"),this.appendDummyInput("").appendField(new j.FieldDropdown([[j.Msg.MIXLY_Horizontal_inclination,"X"],["y","[1]"],["z","[2]"]]),"key"),this.setInputsInline(!0),this.setOutput(!0)}},EI={init:function(){this.setColour(ba),this.appendValueInput("SUB").appendField(j.Msg.MIXLY_GET).setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_BE_SHAKED),this.setInputsInline(!0),this.setOutput(!0)}},RI={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(j.Msg.MIXLY_BUTTON).appendField(new j.FieldDropdown([["a","a"],["b","b"],["c","c"]]),"btn"),this.setOutput(!0),this.setInputsInline(!0)}},gI={init:function(){this.setColour(ba),this.appendValueInput("SUB").appendField(j.Msg.MIXLY_BUTTON),this.appendDummyInput().appendField(j.Msg.MIXLY_WAS_PRESSED),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_SENOR_WAS_PRESSED)}},CI={init:function(){this.setColour(ba),this.appendValueInput("PIN").appendField(j.Msg.MIXLY_COMMUNICATION_RFID_INITIAL),this.setOutput(!0),this.setInputsInline(!0)}},AI={init:function(){this.setColour(ba),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(j.Msg.MIXLY_COMMUNICATION_RFID_READ),this.setOutput(!0),this.setInputsInline(!0)}},LI={init:function(){this.setColour(ba),this.appendValueInput("SUB").appendField(j.Msg.MIXLY_COMMUNICATION_RFID_READ+j.Msg.MIXLY_COMMUNICATION_DATA_FROM),this.appendDummyInput("").appendField(j.Msg.MIXLY_GET).appendField(new j.FieldDropdown([[j.Msg.MIXLY_SERIAL_NUMBER,"serial_number"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},SI={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_GET+j.Msg.MIXLY_THE_COPROCESSOR_VERSION),this.setOutput(!0),this.setInputsInline(!0)}},fI={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_GET+j.Msg.ANALOG+j.Msg.MIXLY_LIGHT_SENSOR2).appendField(new j.FieldDropdown([[j.Msg.TEXT_TRIM_LEFT,"0"],[j.Msg.TEXT_TRIM_RIGHT,"1"]]),"key"),this.appendDummyInput().appendField(j.Msg.blockpy_set_of+j.Msg.MIXLY_MICROBIT_JS_SYSTEM_RAISE_VALUE),this.setOutput(!0),this.setInputsInline(!0)}},DI=40,NI={init:function(){this.setColour(DI),this.appendValueInput("PIN",Number).appendField(new j.FieldDropdown([["DHT11","dht11"],["DHT22","dht22"]]),"TYPE").appendField(j.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(new j.FieldDropdown(NI.METHOD),"WHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("WHAT");return{temperature:j.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM,relative_humidity:j.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_HUM,tempandhum:j.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM_HUM}[e]}))},METHOD:[[j.Msg.MIXLY_GETTEMPERATUE,"temperature"],[j.Msg.MIXLY_GETHUMIDITY,"relative_humidity"],[j.Msg.MIXLY_DHT11_T_H,"tempandhum"]]};const PI=function(t,e){return e.definitions_.import_network="import network",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+" = network.WLAN(network."+this.getFieldValue("mode")+"_IF);\n"},FI=function(t,e){return e.definitions_.import_network="import network",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".connect("+e.valueToCode(this,"id",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"password",e.ORDER_ATOMIC)+")\n"},vI=function(t,e){return e.definitions_.import_network="import network",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".isconnected()",e.ORDER_ATOMIC]},YI=function(t,e){return e.definitions_.import_network="import network",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".ifconfig()["+this.getFieldValue("mode")+"]",e.ORDER_ATOMIC]},bI=function(t,e){return e.definitions_.import_network="import network",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".disconnect()\n"},XI=function(t,e){return e.definitions_.import_network="import network",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".active("+this.getFieldValue("op")+")\n"},yI=function(t,e){return e.definitions_.import_network="import network",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".active()",e.ORDER_ATOMIC]},VI=function(t,e){return e.definitions_.import_network="import network",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".config('"+this.getFieldValue("op")+"')",e.ORDER_ATOMIC]},BI=function(t,e){e.definitions_.import_network="import network";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"essid",e.ORDER_ATOMIC),s=e.valueToCode(this,"password",e.ORDER_ATOMIC);return i+".config(essid = "+n+", channel="+e.valueToCode(this,"channel",e.ORDER_ATOMIC)+",password="+s+")\n"},GI=function(t,e){return e.definitions_.import_network="import network",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".scan()",e.ORDER_ATOMIC]},UI=function(t,e){e.definitions_["import_server_*"]="from server import *";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);return"if not "+i+".isconnected():\n connectWifi(SSID, PASSWORD)\nip="+i+".ifconfig()[0]\nprint(ip)\ntime.sleep(1)\nDATA=listenData()\n"},wI=function(t,e){e.definitions_.import_network="import network",e.definitions_.import_socket="import socket";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=this.getFieldValue("mode");return"UDP"==n?n="socket.SOCK_DGRAM":"TCP"==n&&(n="socket.SOCK_STREAM"),i+" = socket.socket(socket.AF_INET, "+n+")\n"},kI=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".bind("+e.valueToCode(this,"address",e.ORDER_ATOMIC)+")\n"},xI=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".connect(socket.getaddrinfo"+e.valueToCode(this,"address",e.ORDER_ATOMIC)+"[0][-1])\n"},HI=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".listen("+e.valueToCode(this,"queue",e.ORDER_ATOMIC)+")\n"},WI=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".accept()",e.ORDER_ATOMIC]},KI=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".readline()",e.ORDER_ATOMIC]},JI=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".recv("+e.valueToCode(this,"size",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},QI=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".send("+e.valueToCode(this,"content",e.ORDER_ATOMIC)+")\n"},jI=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".recvfrom("+e.valueToCode(this,"size",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},qI=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".sendto("+e.valueToCode(this,"content",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"address",e.ORDER_ATOMIC)+")\n"},zI=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".close()\n"},ZI=function(t,e){return e.definitions_.import_requests="import requests",e.variableDB_.getName(this.getFieldValue("VAR"),j.Variables.NAME_TYPE)+"= requests.get("+e.valueToCode(this,"DOMAIN",e.ORDER_ATOMIC)+")\n"},$I=function(t,e){return e.definitions_.import_requests="import requests",[(e.valueToCode(this,"VAL",e.ORDER_ASSIGNMENT)||"0")+"."+this.getFieldValue("ATTR"),e.ORDER_ATOMIC]},td=function(t,e){return e.definitions_.import_requests="import requests","requests."+this.getFieldValue("DIR")+"("+e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+")\n"},ed=function(t,e){return e.definitions_.import_ntptime="import ntptime",["ntptime.time(host="+e.valueToCode(this,"data",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},id=function(t,e){return["'"+this.getFieldValue("op")+"'",e.ORDER_ATOMIC]},nd=function(t,e){return e.definitions_.import_urequests="import urequests",["urequests."+this.getFieldValue("TYPE")+"("+e.valueToCode(this,"URL",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},sd=function(t,e){return e.definitions_.import_urequests="import urequests",[(e.valueToCode(this,"VAL",e.ORDER_ASSIGNMENT)||"0")+"."+this.getFieldValue("ATTR"),e.ORDER_ATOMIC]},od=function(t,e){return e.definitions_.import_urequests="import urequests",["urequests."+this.getFieldValue("TYPE")+"("+e.valueToCode(this,"URL",e.ORDER_ATOMIC)+", data="+e.valueToCode(this,"data",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},_d=function(t,e){return e.definitions_.import_educore_wifi="from educore import wifi","wifi.connect(ssid="+e.valueToCode(this,"WIFINAME",e.ORDER_ATOMIC)+", psd="+e.valueToCode(this,"PASSWORD",e.ORDER_ATOMIC)+", timeout="+e.valueToCode(this,"TIMEOUT",e.ORDER_ATOMIC)+")\n"},ud=function(t,e){return e.definitions_.import_educore_mqttclient="from educore import mqttclient","mqttclient.connect(server="+e.valueToCode(this,"SERVER",e.ORDER_ATOMIC)+", port="+e.valueToCode(this,"PORT",e.ORDER_ATOMIC)+", client_id="+e.valueToCode(this,"CLIENT_ID",e.ORDER_ATOMIC)+", user="+e.valueToCode(this,"USERNAME",e.ORDER_ATOMIC)+", psd="+e.valueToCode(this,"PASSWORD",e.ORDER_ATOMIC)+")\n"},rd=function(t,e){e.definitions_.import_educore_mqttclient="from educore import mqttclient";var i=e.valueToCode(this,"TOPIC",e.ORDER_ATOMIC);return["mqttclient."+e.valueToCode(this,"MESSAGE",e.ORDER_ATOMIC)+"("+i+")",e.ORDER_ATOMIC]},pd=function(t,e){var i=e.valueToCode(this,"TOPIC",e.ORDER_ATOMIC),n=e.valueToCode(this,"METHOD",e.ORDER_ATOMIC);return e.definitions_.import_educore_mqttclient="from educore import mqttclient","mqttclient.received(topic="+i+", callback="+n+")\n"},ad=function(t,e){return e.definitions_.import_educore_mqttclient="from educore import mqttclient","mqtt_client.publish(topic="+e.valueToCode(this,"TOPIC",e.ORDER_ATOMIC)+", content="+e.valueToCode(this,"MSG",e.ORDER_ATOMIC)+")\n"},ld=function(t,e){e.definitions_.import_educore_mqttclient="from educore import mqttclient";return["mqtt_client.connescted()",e.ORDER_ATOMIC]},Id=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i]="import "+i,[i+"."+e.valueToCode(this,"btn",e.ORDER_ATOMIC)+".is_pressed()",e.ORDER_ATOMIC]},dd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i]="import "+i,[i+"."+e.valueToCode(this,"btn",e.ORDER_ATOMIC)+".was_pressed()",e.ORDER_ATOMIC]},Td=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i]="import "+i,[i+"."+e.valueToCode(this,"btn",e.ORDER_ATOMIC)+".get_presses("+(e.valueToCode(this,"VAR",e.ORDER_ASSIGNMENT)||"0")+")",e.ORDER_ATOMIC]},hd=function(t,e){e.definitions_.import_machine="import machine";var i=q.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i]="import "+i;var n=e.valueToCode(this,"btn",e.ORDER_ATOMIC),s=this.getFieldValue("mode");return i+"."+n+".irq(handler="+e.valueToCode(this,"DO",e.ORDER_ATOMIC)+", trigger="+s+")\n"},Md=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i]="import "+i,[i+".button.is_pressed()",e.ORDER_ATOMIC]},md=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i]="import "+i,[i+".button.was_pressed()",e.ORDER_ATOMIC]},Od=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i]="import "+i,[i+".button.get_presses("+(e.valueToCode(this,"VAR",e.ORDER_ASSIGNMENT)||"0")+")",e.ORDER_ATOMIC]},cd=function(t,e){e.definitions_.import_machine="import machine";var i=q.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i]="import "+i;var n=this.getFieldValue("mode");return i+".button.irq(handler="+e.valueToCode(this,"DO",e.ORDER_ATOMIC)+", trigger="+n+")\n"},Ed=function(t,e){return e.definitions_.import_sonar="import sonar",["sonar.Sonar("+e.valueToCode(this,"PIN1",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"PIN2",e.ORDER_ASSIGNMENT)+").checkdist()",e.ORDER_ATOMIC]},Rd=function(t,e){return[this.getFieldValue("op"),e.ORDER_ATOMIC]},gd=function(t,e){return[this.getFieldValue("op"),e.ORDER_ATOMIC]},Cd=function(t,e){return[this.getFieldValue("op"),e.ORDER_ATOMIC]},Ad=function(t,e){return[this.getFieldValue("op"),e.ORDER_ATOMIC]},Ld=function(t,e){return[this.getFieldValue("op"),e.ORDER_ATOMIC]},Sd=function(t,e){return[this.getFieldValue("op"),e.ORDER_ATOMIC]},fd=function(t,e){return[this.getFieldValue("op"),e.ORDER_ATOMIC]},Dd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_als"]="from "+i+" import onboard_als";return["onboard_als.ps_nl()",e.ORDER_ATOMIC]},Nd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i]="import "+i,[i+".infrared_"+this.getFieldValue("direction")+"()",e.ORDER_ATOMIC]},Pd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_als"]="from "+i+" import onboard_als";return["onboard_als.ps()",e.ORDER_ATOMIC]},Fd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2],n=this.getFieldValue("direction");return e.definitions_["import_"+i+"_"+n]="from "+i+" import onboard_als_"+n,["onboard_als_"+n+".ps_nl()",e.ORDER_ATOMIC]},vd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_als"]="from "+i+" import onboard_als";return["onboard_als.als()",e.ORDER_ATOMIC]},Yd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_als"]="from "+i+" import onboard_als";return["onboard_als.color()",e.ORDER_ATOMIC]},bd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2],n=this.getFieldValue("direction");return e.definitions_["import_"+i+"_"+n]="from "+i+" import onboard_als_"+n,["onboard_als_"+n+".als_vis()",e.ORDER_ATOMIC]},Xd=function(t,e){return e.definitions_.import_ds18x20x="import ds18x20x",["ds18x20x.get_ds18x20_temperature("+e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},yd=function(t,e){return e.definitions_.import_lm35="import lm35",["lm35.get_LM35_temperature("+e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Vd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];if("mixgo"==i)return e.definitions_.import_mixgo="import mixgo",["mixgo.get_brightness()",e.ORDER_ATOMIC];if("mixgo_ce"==i)return e.definitions_.import_mixgo_ce="import mixgo_ce",["mixgo_ce.get_brightness()",e.ORDER_ATOMIC];if("mpython"==i)return e.definitions_.import_mpython_onboard_light="from mpython import onboard_light",["onboard_light.brightness()",e.ORDER_ATOMIC];e.definitions_["import_"+i+"_onboard_als"]="from "+i+" import onboard_als";return["onboard_als.als_vis()",e.ORDER_ATOMIC]},Bd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];if("mixbot"==i){e.definitions_["import_"+i+"_sound"]="from "+i+" import sound";var n="sound.loudness()"}else if("mixgo_zero"==i){e.definitions_.import_mixgo_zero_voice_sound_level="from mixgo_zero_voice import sound_level";n="sound_level()"}else if("mixgo_nova"==i){e.definitions_.import_mixgo_nova_voice_sound_level="from mixgo_nova_voice import sound_level";n="sound_level()"}else if("mixgo_soar"==i){e.definitions_.import_mixgo_soar_voice_sound_level="from mixgo_soar_voice import sound_level";n="sound_level()"}else{if("mixgo"==i)return e.definitions_.import_mixgo="import mixgo",["mixgo.get_soundlevel()",e.ORDER_ATOMIC];if("mpython"==i)return e.definitions_.import_mpython_onboard_sound="from mpython import onboard_sound",["onboard_sound.soundlevel()",e.ORDER_ATOMIC];if("mixgo_mini"==i){e.definitions_["import_"+i+"_onboard_bot"]="from "+i+" import onboard_bot";n="onboard_bot.soundlevel()"}else{e.definitions_["import_"+i+"_onboard_sound"]="from "+i+" import onboard_sound";n="onboard_sound.read()"}}return[n,e.ORDER_ATOMIC]},Gd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2],n=this.getFieldValue("key");return"mixgo_mini"==i?(e.definitions_.import_mixgo_mini_onboard_i2c="from mixgo_mini import onboard_i2c",e.definitions_.import_spl06_001="import spl06_001",e.definitions_.import_onboard_bps="onboard_bps = spl06_001.SPL06(onboard_i2c)"):e.definitions_["import_"+i+"_onboard_bps"]="from "+i+" import onboard_bps",["onboard_bps."+n,e.ORDER_ATOMIC]},Ud=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2],n=this.getFieldValue("key");return"mixgo_nova"==i||"mixgo_zero"==i?e.definitions_["import_"+i+"_onboard_ths"]="from "+i+" import onboard_ths":"mixgo_mini"==i?(e.definitions_.import_mixgo_mini_onboard_i2c="from mixgo_mini import onboard_i2c",e.definitions_.import_shtc3="import shtc3",e.definitions_.import_onboard_ths="onboard_ths = shtc3.SHTC3(onboard_i2c)"):e.definitions_["import_"+i+"_onboard_ths"]="from "+i+" import onboard_ths",["onboard_ths."+n+"()",e.ORDER_ATOMIC]},wd=function(t,e){return e.definitions_.import_feiyi_onboard_acc="from feiyi import onboard_acc",["onboard_acc.temperature()",e.ORDER_ATOMIC]},kd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2],n=i,s="onboard_rfid";return"mixgo_mini"===i?(n="mini_gx",s="ext_rfid"):"mixgo_me"===i?(n="me_g1",s="ext_rc522"):"mixgo_sant"===i&&(n="sant_gx",s="ext_rfid"),e.definitions_[`import_${n}_${s}`]=`from ${n} import ${s}`,[`${s}.read_card(0, x="id")`,e.ORDER_ATOMIC]},xd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"SECTOR",e.ORDER_ATOMIC),s=i,o="onboard_rfid";return"mixgo_mini"===i?(s="mini_gx",o="ext_rfid"):"mixgo_me"===i?(s="me_g1",o="ext_rc522"):"mixgo_sant"===i&&(s="sant_gx",o="ext_rfid"),e.definitions_[`import_${s}_${o}`]=`from ${s} import ${o}`,[`${o}.read_card(${n}, x="content")`,e.ORDER_ATOMIC]},Hd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"SECTOR",e.ORDER_ATOMIC),s=e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC),o=i,_="onboard_rfid";return"mixgo_mini"===i?(o="mini_gx",_="ext_rfid"):"mixgo_me"===i?(o="me_g1",_="ext_rc522"):"mixgo_sant"===i&&(o="sant_gx",_="ext_rfid"),e.definitions_[`import_${o}_${_}`]=`from ${o} import ${_}`,`${_}.write_card(${s}, ${n})\n`},Wd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"SECTOR",e.ORDER_ATOMIC),s=e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC),o=i,_="onboard_rfid";return"mixgo_mini"===i?(o="mini_gx",_="ext_rfid"):"mixgo_me"===i?(o="me_g1",_="ext_rc522"):"mixgo_sant"===i&&(o="sant_gx",_="ext_rfid"),e.definitions_[`import_${o}_${_}`]=`from ${o} import ${_}`,[`${_}.write_card(${s}, ${n})`,e.ORDER_ATOMIC]},Kd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2],n=this.getFieldValue("key"),s=i,o="onboard_rfid";return"mixgo_mini"===i?(s="mini_gx",o="ext_rfid"):"mixgo_me"===i?(s="me_g1",o="ext_rc522"):"mixgo_sant"===i&&(s="sant_gx",o="ext_rfid"),e.definitions_[`import_${s}_${o}`]=`from ${s} import ${o}`,[`${o}.scan_card() == ${n}`,e.ORDER_ATOMIC]},Jd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2],n=this.getFieldValue("key");if("strength"==n){if("mixbot"==i){e.definitions_["import_"+i+"_acc_gyr"]="from "+i+" import acc_gyr";var s="acc_gyr.strength()"}else if("mixgo_soar"==i){e.definitions_["import_"+i+"_onboard_imu"]="from "+i+" import onboard_imu";s="onboard_imu.strength()"}else{e.definitions_["import_"+i+"_onboard_acc"]="from "+i+" import onboard_acc";s="onboard_acc.strength()"}return[s,e.ORDER_ATOMIC]}if("mixbot"==i){e.definitions_["import_"+i+"_acc_gyr"]="from "+i+" import acc_gyr";s="acc_gyr.accelerometer()"+n}else if("mpython"==i){e.definitions_.import_mpython_motion="from mpython import motion";s="motion.accelerometer()"+n}else if("mixgo_soar"==i){e.definitions_["import_"+i+"_onboard_imu"]="from "+i+" import onboard_imu";s="onboard_imu.acceleration()"+n}else{e.definitions_["import_"+i+"_onboard_acc"]="from "+i+" import onboard_acc";s="onboard_acc.acceleration()"+n}return[s,e.ORDER_ATOMIC]},Qd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_acc"]="from "+i+" import onboard_acc",["onboard_acc.eulerangles()"+this.getFieldValue("angle"),e.ORDER_ATOMIC]},jd=function(t,e){e.definitions_.import_mpu9250="import mpu9250",e.definitions_.import_machine="import machine";var i=this.getFieldValue("gesture"),n=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return"mpu"==n&&(e.definitions_.import_mixgo_mpu="from mixgo import mpu"),[n+'.mpu9250_is_gesture("'+i+'")',e.ORDER_ATOMIC]},qd=function(t,e){e.definitions_.import_mpu9250="import mpu9250",e.definitions_.import_machine="import machine";var i=this.getFieldValue("key"),n=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return"mpu"==n&&(e.definitions_.import_mixgo_mpu="from mixgo import mpu"),[n+".mpu9250_get_"+i+"()",e.ORDER_ATOMIC]},zd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"button",e.ORDER_ATOMIC);if("mixgo_mini"===i||"mixgo_sant"===i||"mixgo_soar"===i){e.definitions_["import_"+i+"_onboard_bot"]="from "+i+" import onboard_bot";var s="onboard_bot.touched("+n+")"}else{e.definitions_["import_"+i]="import "+i;s=i+".touched("+n+")"}return[s,e.ORDER_ATOMIC]},Zd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_mini"===i||"mixgo_sant"===i||"mixgo_soar"===i){e.definitions_["import_"+i+"_onboard_bot"]="from "+i+" import onboard_bot";var n="onboard_bot.touch_slide()"}else{e.definitions_["import_"+i]="import "+i;n=i+".touch_slide(3, 4)"}return[n,e.ORDER_ATOMIC]},$d=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i]="import "+i,[i+"."+e.valueToCode(this,"button",e.ORDER_ATOMIC)+".is_touched()",e.ORDER_ATOMIC]},tT=function(t,e){return e.definitions_.import_mpython="import mpython",["mpython.touch_"+e.valueToCode(this,"button",e.ORDER_ATOMIC)+".is_touched()",e.ORDER_ATOMIC]},eT=function(t,e){e.definitions_.import_adxl345="import adxl345";var i,n=this.getFieldValue("key"),s=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return"x"==n?i=s+".readX()":"y"==n?i=s+".readY()":"z"==n?i=s+".readZ()":"values"==n&&(i=s+".readXYZ()"),[i,e.ORDER_ATOMIC]},iT=function(t,e){e.definitions_.import_mpu9250="import mpu9250",e.definitions_.import_machine="import machine";var i=this.getFieldValue("key"),n=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return"mpu"==n&&(e.definitions_.import_mixgo_mpu="from mixgo import mpu"),[n+".mpu9250_magnetic_"+i+"()",e.ORDER_ATOMIC]},nT=function(t,e){e.definitions_.import_mpu9250="import mpu9250",e.definitions_.import_machine="import machine";var i=this.getFieldValue("key"),n=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return"mpu"==n&&(e.definitions_.import_mixgo_mpu="from mixgo import mpu"),[n+".mpu9250_gyro_"+i+"()",e.ORDER_ATOMIC]},sT=function(t,e){return e.definitions_.import_mpu9250="import mpu9250",e.definitions_.import_machine="import machine",e.definitions_.import_mixgo_compass="from mixgo import compass",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".calibrate()\n"},oT=function(t,e){e.definitions_.import_mpu9250="import mpu9250",e.definitions_.import_machine="import machine";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return"mpu"==i&&(e.definitions_.import_mixgo_mpu="from mixgo import mpu"),[i+".mpu9250_get_temperature()",e.ORDER_ATOMIC]},_T=function(t,e){e.definitions_.import_mpu9250="import mpu9250",e.definitions_.import_machine="import machine";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);"compass"==i&&(e.definitions_.import_mixgo_compass="from mixgo import compass");var n,s=this.getFieldValue("compass");return"strength"==s?n=i+".get_field_strength()":"heading"==s&&(n=i+".heading()"),[n,e.ORDER_ATOMIC]},uT=function(t,e){return e.definitions_.import_mpu9250="import mpu9250",e.definitions_.import_machine="import machine",e.definitions_.import_mixgo_compass="from mixgo import compass",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".reset_calibrate()\n"},rT=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("gesture");return e.definitions_.import_mixgo_onboard_mpu="from mixgo import onboard_mpu",['onboard_mpu.mpu9250_is_gesture("'+i+'")',e.ORDER_ATOMIC]},pT=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("key");return e.definitions_.import_mixgo_onboard_mpu="from mixgo import onboard_mpu",["onboard_mpu.mpu9250_get_"+i+"()",e.ORDER_ATOMIC]},aT=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("key");return e.definitions_.import_mixgo_onboard_mpu="from mixgo import onboard_mpu",["onboard_mpu.mpu9250_magnetic_"+i+"()",e.ORDER_ATOMIC]},lT=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("key");return e.definitions_.import_mixgo_onboard_mpu="from mixgo import onboard_mpu",["onboard_mpu.mpu9250_gyro_"+i+"()",e.ORDER_ATOMIC]},IT=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_mixgo_onboard_compass="from mixgo import onboard_compass","onboard_compass.calibrate()\n"},dT=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_mixgo_onboard_mpu="from mixgo import onboard_mpu",["onboard_mpu.mpu9250_get_temperature()",e.ORDER_ATOMIC]},TT=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_mixgo_onboard_compass="from mixgo import onboard_compass";var i,n=this.getFieldValue("compass");return"strength"==n?i="onboard_compass.get_field_strength()":"heading"==n&&(i="onboard_compass.heading()"),[i,e.ORDER_ATOMIC]},hT=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_mixgo_onboard_compass="from mixgo import onboard_compass","onboard_compass.reset_calibrate()\n"},MT=function(t,e){return e.definitions_.import_rtctime="import rtctime","rtctime.settime(("+e.valueToCode(this,"year",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"month",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"day",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"hour",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"minute",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"second",e.ORDER_ASSIGNMENT)+", 0, 0))\n"},mT=function(t,e){var i=e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC);return e.definitions_.import_rtctime="import rtctime","rtctime.settime("+i+")\n"},OT=function(t,e){e.definitions_.import_time="import time";return["time.localtime()",e.ORDER_ATOMIC]},cT=function(t,e){return e.definitions_.import_time="import time",["time.mktime("+e.valueToCode(this,"LIST",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},ET=function(t,e){return e.definitions_.import_time="import time",["time.localtime("+e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},RT=function(t,e){e.definitions_.import_rtctime="import rtctime";return["rtctime.strtime()",e.ORDER_ATOMIC]},gT=function(t,e){return e.definitions_.import_rtctime="import rtctime",["rtctime.strtime("+e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},CT=function(t,e){var i=this.getFieldValue("key"),n=q.Boards.getSelectedBoardKey().split(":")[2];if("mpython"==n)if(e.definitions_.import_mpython_magnetic="from mpython import magnetic","all"==i)var s="magnetic.getstrength()";else s="magnetic.getdata()"+i;else if("mixgo_mini"==n)if(e.definitions_.import_mixgo_mini_onboard_i2c="from mixgo_mini import onboard_i2c",e.definitions_.import_mmc5603="import mmc5603",e.definitions_.import_onboard_mgs="onboard_mgs = mmc5603.MMC5603(onboard_i2c)","all"==i)s="onboard_mgs.getstrength()";else s="onboard_mgs.getdata()"+i;else if(e.definitions_["import_"+n+"_onboard_mgs"]="from "+n+" import onboard_mgs","all"==i)s="onboard_mgs.getstrength()";else s="onboard_mgs.getdata()"+i;return[s,e.ORDER_ATOMIC]},AT=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];if("mpython"==i){e.definitions_.import_mpython_magnetic="from mpython import magnetic"}else"mixgo_mini"==i?(e.definitions_.import_mixgo_mini_onboard_i2c="from mixgo_mini import onboard_i2c",e.definitions_.import_mmc5603="import mmc5603",e.definitions_.import_onboard_mgs="onboard_mgs = mmc5603.MMC5603(onboard_i2c)"):e.definitions_["import_"+i+"_onboard_mgs"]="from "+i+" import onboard_mgs";return["onboard_mgs.getangle()",e.ORDER_ATOMIC]},LT=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];"mixgo_mini"==i?(e.definitions_.import_mixgo_mini_onboard_i2c="from mixgo_mini import onboard_i2c",e.definitions_.import_mmc5603="import mmc5603",e.definitions_.import_onboard_mgs="onboard_mgs = mmc5603.MMC5603(onboard_i2c)"):e.definitions_["import_"+i+"_onboard_mgs"]="from "+i+" import onboard_mgs";return"onboard_mgs.calibrate()\n"},ST=function(t,e){if("mixgo_mini"==q.Boards.getSelectedBoardKey().split(":")[2]){e.definitions_.import_mixgo_mini_onboard_temperature="from mixgo_mini import onboard_temperature";var i="onboard_temperature()"}else{e.definitions_.import_mixgo_me_onboard_acc="from mixgo_me import onboard_acc";i="onboard_acc.temperature()"}return[i,e.ORDER_ATOMIC]},fT=function(t,e){e.definitions_.import_mixgo_ce="import mixgo_ce";return["mixgo_ce.get_temperature()",e.ORDER_ATOMIC]},DT=function(t,e){var i=this.getFieldValue("key");return e.definitions_.import_mpython_motion="from mpython import motion",["motion.gyroscope()"+i,e.ORDER_ATOMIC]},NT=function(t,e){return e.definitions_.import_mpython_motion="from mpython import motion",["motion.temperature()",e.ORDER_ATOMIC]},PT=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2],n=this.getFieldValue("direction");return e.definitions_["import_"+i+"_adc"+n]="from "+i+" import adc"+n,["adc"+n+".read()",e.ORDER_ATOMIC]},FT=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return"feiyi"==i?(e.definitions_.import_feiyi_onboard_bot51="from feiyi import onboard_bot51",["onboard_bot51.read_bat()",e.ORDER_ATOMIC]):(e.definitions_["import_"+i+"_battery"]="from "+i+" import battery",["battery.voltage()",e.ORDER_ATOMIC])},vT=function(t,e){var i=this.getFieldValue("key");return e.definitions_.import_rm_e1_gyro="from rm_e1 import gyro",["gyro.acceleration()"+i,e.ORDER_ATOMIC]},YT=function(t,e){var i=this.getFieldValue("key");return e.definitions_.import_mixgocar_c3_onboard_info="from mixgocar_c3 import onboard_info",["onboard_info.patrol()"+i,e.ORDER_ATOMIC]},bT=function(t,e){var i=this.getFieldValue("key");return e.definitions_.import_mixgocar_c3_onboard_info="from mixgocar_c3 import onboard_info",["onboard_info.obstacle()"+i,e.ORDER_ATOMIC]},XT=function(t,e){var i=this.getFieldValue("key");return e.definitions_.import_mixgocar_c3_onboard_info="from mixgocar_c3 import onboard_info","onboard_info.ir_mode(onboard_info."+i+")\n"},yT=function(t,e){e.definitions_.import_mixgocar_c3_onboard_info="from mixgocar_c3 import onboard_info";return["onboard_info.read_bat()",e.ORDER_ATOMIC]},VT=function(t,e){var i=this.getFieldValue("key"),n=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+n+"_patrol"]="from "+n+" import patrol","patrol.correct(patrol.CORRECTING_"+i+")\n"},BT=function(t,e){var i=this.getFieldValue("key"),n=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+n+"_patrol"]="from "+n+" import patrol",["patrol.getdata()"+i,e.ORDER_ATOMIC]},GT=function(t,e){e.definitions_.import_mixbot_acc_gyr="from mixbot import acc_gyr";return["acc_gyr.temperature()",e.ORDER_ATOMIC]},UT=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2],n=this.getFieldValue("key");if("mixgo_soar"==i){e.definitions_["import_"+i+"_onboard_imu"]="from "+i+" import onboard_imu";var s="onboard_imu.gyroscope()"+n}else{e.definitions_.import_mixbot_acc_gyr="from mixbot import acc_gyr";s="acc_gyr.gyroscope()"+n}return[s,e.ORDER_ATOMIC]},wT=function(t,e){return e.definitions_.import_feiyi_onboard_bot51="from feiyi import onboard_bot51",["onboard_bot51.read_als("+e.valueToCode(this,"mode",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},kT=function(t,e){return[this.getFieldValue("PIN"),e.ORDER_ATOMIC]},xT=Id,HT=dd,WT=Td,KT=$d,JT=Pd,QT=Vd,jT=QT,qT=function(t,e){return e.definitions_.import_dhtx="import dhtx",["dhtx."+this.getFieldValue("TYPE")+"("+e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+")."+this.getFieldValue("WHAT")+"()",e.ORDER_ATOMIC]},zT=function(t,e){e.definitions_.import_educore_sound="from educore import sound";return["sound()",e.ORDER_ATOMIC]},ZT=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".read()",e.ORDER_ATOMIC]},$T=function(t,e){e.definitions_.import_educore_light="from educore import light";return["light()",e.ORDER_ATOMIC]},th=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_accelerometer"]="from "+i+" import accelerometer";return["accelerometer()",e.ORDER_ATOMIC]},eh=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_accelerometer"]="from "+i+" import accelerometer",[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+this.getFieldValue("key")+"()",e.ORDER_ATOMIC]},ih=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_accelerometer"]="from "+i+" import accelerometer",[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shake()",e.ORDER_ATOMIC]},nh=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_button"]="from "+i+" import button",["button(button."+this.getFieldValue("btn")+")",e.ORDER_ATOMIC]},sh=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_button"]="from "+i+" import button",[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".status()",e.ORDER_ATOMIC]},oh=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_rfid"]="from "+i+" import rfid",["rfid("+e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},_h=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_rfid"]="from "+i+" import rfid",[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scanning()",e.ORDER_ATOMIC]},uh=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_rfid"]="from "+i+" import rfid",[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+this.getFieldValue("key")+"()",e.ORDER_ATOMIC]},rh=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_bot"]="from "+i+" import onboard_bot";return["onboard_bot.version()",e.ORDER_ATOMIC]},ph=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_bot"]="from "+i+" import onboard_bot",["onboard_bot.brightness("+this.getFieldValue("key")+")",e.ORDER_ATOMIC]},ah='
\r\n
{{-d.title}}
\r\n
\r\n {{# if (d.message) { }}\r\n

\r\n {{-d.message}}\r\n

\r\n {{# } }}\r\n
\r\n
',{XML:lh}=q,{XML:Ih}=(lh.render(ah,{title:"烧录速度",message:"要选择烧录速度,请更改“Burn Speed”,此值将用于向设备烧录代码。如果在用较高的烧录速度时出现问题,请尝试减小此值,这可能是由于外部串行到USB芯片的限制。"}),q),{XML:dh}=(Ih.render(ah,{title:"燒錄速度",message:"要選擇燒錄速度,請更改“Burn Speed”,此值將用於向設備燒錄程式碼。如果在用較高的燒錄速度時出現問題,請嘗試减小此值,這可能是由於外部串列到USB晶片的限制。"}),q),Th=(dh.render(ah,{title:"Burn Speed",message:"To select the flashing speed, change the Burn Speed. This value will be used for flashing the code to the device. If you have issues while flashing the device at high speed, try to decrease this value. This could be due to the external serial-to-USB chip limitations."}),new j.Generator("Python"));Th.INDENT=" ",Th.addReservedWords("False,None,True,and,as,assert,break,class,continue,def,del,elif,else,except,exec,finally,for,from,global,if,import,in,is,lambda,nonlocal,not,or,pass,print,raise,return,try,while,with,yield,NotImplemented,Ellipsis,__debug__,quit,exit,copyright,license,credits,ArithmeticError,AssertionError,AttributeError,BaseException,BlockingIOError,BrokenPipeError,BufferError,BytesWarning,ChildProcessError,ConnectionAbortedError,ConnectionError,ConnectionRefusedError,ConnectionResetError,DeprecationWarning,EOFError,Ellipsis,EnvironmentError,Exception,FileExistsError,FileNotFoundError,FloatingPointError,FutureWarning,GeneratorExit,IOError,ImportError,ImportWarning,IndentationError,IndexError,InterruptedError,IsADirectoryError,KeyError,KeyboardInterrupt,LookupError,MemoryError,ModuleNotFoundError,NameError,NotADirectoryError,NotImplemented,NotImplementedError,OSError,OverflowError,PendingDeprecationWarning,PermissionError,ProcessLookupError,RecursionError,ReferenceError,ResourceWarning,RuntimeError,RuntimeWarning,StandardError,StopAsyncIteration,StopIteration,SyntaxError,SyntaxWarning,SystemError,SystemExit,TabError,TimeoutError,TypeError,UnboundLocalError,UnicodeDecodeError,UnicodeEncodeError,UnicodeError,UnicodeTranslateError,UnicodeWarning,UserWarning,ValueError,Warning,ZeroDivisionError,_,__build_class__,__debug__,__doc__,__import__,__loader__,__name__,__package__,__spec__,abs,all,any,apply,ascii,basestring,bin,bool,buffer,bytearray,bytes,callable,chr,classmethod,cmp,coerce,compile,complex,copyright,credits,delattr,dict,dir,divmod,enumerate,eval,exec,execfile,exit,file,filter,float,format,frozenset,getattr,globals,hasattr,hash,help,hex,id,input,int,intern,isinstance,issubclass,iter,len,license,list,locals,long,map,max,memoryview,min,next,object,oct,open,ord,pow,print,property,quit,range,raw_input,reduce,reload,repr,reversed,round,set,setattr,slice,sorted,staticmethod,str,sum,super,tuple,type,unichr,unicode,vars,xrange,zip"),Th.ORDER_ATOMIC=0,Th.ORDER_COLLECTION=1,Th.ORDER_STRING_CONVERSION=1,Th.ORDER_UNARY_POSTFIX=1,Th.ORDER_UNARY_PREFIX=2,Th.ORDER_MEMBER=2.1,Th.ORDER_FUNCTION_CALL=2.2,Th.ORDER_EXPONENTIATION=3,Th.ORDER_UNARY_SIGN=4,Th.ORDER_BITWISE_NOT=4,Th.ORDER_MULTIPLICATIVE=5,Th.ORDER_ADDITIVE=6,Th.ORDER_BITWISE_SHIFT=7,Th.ORDER_BITWISE_AND=8,Th.ORDER_BITWISE_XOR=9,Th.ORDER_BITWISE_OR=10,Th.ORDER_RELATIONAL=11,Th.ORDER_EQUALITY=11,Th.ORDER_LOGICAL_NOT=12,Th.ORDER_LOGICAL_AND=13,Th.ORDER_LOGICAL_OR=14,Th.ORDER_ASSIGNMENT=14,Th.ORDER_CONDITIONAL=15,Th.ORDER_LAMBDA=16,Th.ORDER_NONE=99,Th.ORDER_OVERRIDES=[[Th.ORDER_FUNCTION_CALL,Th.ORDER_MEMBER],[Th.ORDER_FUNCTION_CALL,Th.ORDER_FUNCTION_CALL],[Th.ORDER_MEMBER,Th.ORDER_MEMBER],[Th.ORDER_MEMBER,Th.ORDER_FUNCTION_CALL]],Th.init=function(){Th.PASS=this.INDENT+"pass\n",Th.definitions_=Object.create(null),Th.functionNames_=Object.create(null),Th.setups_=Object.create(null),Th.loops_=Object.create(null),Th.codeEnd_=Object.create(null),Th.variableDB_?Th.variableDB_.reset():Th.variableDB_=new tt(Th.RESERVED_WORDS_)},Th.finish=function(t){""!==t&&(t=(t=t.replace(/\n/g,"\n")).replace(/\n\s+$/,"\n"));var e=[],i=[],n=[];for(var s in this.definitions_){var o=this.definitions_[s];0===s.indexOf("import")?e.push(o):0===s.indexOf("var_declare")?i.push(o):n.push(o)}e.length&&e.push("\n"),i.length&&i.push("\n"),n.length&&n.push("\n");var _=[];for(var s in Th.functions_)_.push(Th.functions_[s]);_.length&&_.push("\n");var u=[];for(var s in Th.setups_)u.push(Th.setups_[s]);u.length&&u.push("\n");var r=[];for(var s in Th.loops_)r.push(Th.loops_[s]);var p=[];for(var s in Th.codeEnd_)p.push(Th.codeEnd_[s]);0!==p.length&&p.push("\n");let a="";return a=r.length>0?e.join("\n")+i.join("\n")+n.join("\n")+_.join("\n")+u.join("")+t+"while True:\n"+r.join("")+p.join("\n"):e.join("\n")+i.join("\n")+n.join("\n")+_.join("\n")+u.join("")+t+p.join("\n"),a},Th.scrubNakedValue=function(t){return t+"\n"},Th.quote_=function(t){var e="'";return-1!==(t=t.replace(/\\/g,"\\\\").replace(/\n/g,"\\\n")).indexOf("'")&&(-1===t.indexOf('"')?e='"':t=t.replace(/'/g,"\\'")),e+t+e},Th.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},Th.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(o=t.getCommentText())&&(o=j.utils.string.wrap(o,Th.COMMENT_WRAP-3),n+=Th.prefixLines(o+"\n","# "));for(var s=0;s0?"int("+u+" + "+s+")":s<0?"int("+u+" - "+-s+")":"int("+u+")",n&&(u="-"+u)),u};const hh={microbit:{description:"microbit_python",digital:[["P0","0"],["P1","1"],["P2","2"],["P3","3"],["P4","4"],["P5","5"],["P6","6"],["P7","7"],["P8","8"],["P9","9"],["P10","10"],["P11","11"],["P12","12"],["P13","13"],["P14","14"],["P15","15"],["P16","16"],["P19","19"],["P20","20"]],pwm:[["P0","0"],["P1","1"],["P2","2"],["P3","3"],["P4","4"],["P5","5"],["P6","6"],["P7","7"],["P8","8"],["P9","9"],["P10","10"],["P11","11"],["P12","12"],["P13","13"],["P14","14"],["P15","15"],["P16","16"],["P19","19"],["P20","20"]],analog:[["P0","0"],["P1","1"],["P2","2"],["P3","3"],["P4","4"],["P10","10"]],interrupt:[["P0","0"],["P1","1"],["P2","2"]],button:[["A","button_a"],["B","button_b"]],axis:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],brightness:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"]],builtinimg:[["HEART","Image.HEART"],["HEART_SMALL","Image.HEART_SMALL"],["HAPPY","Image.HAPPY"],["SMILE","Image.SMILE"],["SAD","Image.SAD"],["CONFUSED","Image.CONFUSED"],["ANGRY","Image.ANGRY"],["ASLEEP","Image.ASLEEP"],["SURPRISED","Image.SURPRISED"],["SILLY","Image.SILLY"],["FABULOUS","Image.FABULOUS"],["MEH","Image.MEH"],["YES","Image.YES"],["NO","Image.NO"],["CLOCK12","Image.CLOCK12"],["CLOCK11","Image.CLOCK11"],["CLOCK10","Image.CLOCK10"],["CLOCK9","Image.CLOCK9"],["CLOCK8","Image.CLOCK8"],["CLOCK7","Image.CLOCK7"],["CLOCK6","Image.CLOCK6"],["CLOCK5","Image.CLOCK5"],["CLOCK4","Image.CLOCK4"],["CLOCK3","Image.CLOCK3"],["CLOCK2","Image.CLOCK2"],["CLOCK1","Image.CLOCK1"],["ARROW_N","Image.ARROW_N"],["ARROW_NE","Image.ARROW_NE"],["ARROW_E","Image.ARROW_E"],["ARROW_SE","Image.ARROW_SE"],["ARROW_S","Image.ARROW_S"],["ARROW_SW","Image.ARROW_SW"],["ARROW_W","Image.ARROW_W"],["ARROW_NW","Image.ARROW_NW"],["TRIANGLE","Image.TRIANGLE"],["TRIANGLE_LEFT","Image.TRIANGLE_LEFT"],["CHESSBOARD","Image.CHESSBOARD"],["DIAMOND","Image.DIAMOND"],["DIAMOND_SMALL","Image.DIAMOND_SMALL"],["SQUARE","Image.SQUARE"],["SQUARE_SMALL","Image.SQUARE_SMALL"],["RABBIT","Image.RABBIT"],["COW","Image.COW"],["MUSIC_CROTCHET","Image.MUSIC_CROTCHET"],["MUSIC_QUAVER","Image.MUSIC_QUAVER"],["MUSIC_QUAVERS","Image.MUSIC_QUAVERS"],["PITCHFORK","Image.PITCHFORK"],["XMAS","Image.XMAS"],["PACMAN","Image.PACMAN"],["TARGET","Image.TARGET"],["TSHIRT","Image.TSHIRT"],["ROLLERSKATE","Image.ROLLERSKATE"],["DUCK","Image.DUCK"],["HOUSE","Image.HOUSE"],["TORTOISE","Image.TORTOISE"],["BUTTERFLY","Image.BUTTERFLY"],["STICKFIGURE","Image.STICKFIGURE"],["GHOST","Image.GHOST"],["SWORD","Image.SWORD"],["GIRAFFE","Image.GIRAFFE"],["SKULL","Image.SKULL"],["UMBRELLA","Image.UMBRELLA"],["SNAKE","Image.SNAKE"],["ALL_CLOCKS","Image.ALL_CLOCKS"],["ALL_ARROWS","Image.ALL_ARROWS"]],imglist:[["ALL_CLOCKS","Image.ALL_CLOCKS"],["ALL_ARROWS","Image.ALL_ARROWS"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["P0","0"],["P1","1"],["P2","2"],["P8","8"],["P12","12"],["P13","13"],["P14","14"],["P15","15"],["P16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]]}};hh["BBC micro:bit"]=hh.microbit;const Mh=hh,mh=100,Oh={init:function(){this.jsonInit({colour:mh,nextStatement:null,previousStatement:null,inputsInline:!0,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/music.html#built-in-melodies",message0:j.Msg.MIXLY_MICROBIT_Play_built_in_melody,args0:[{name:"melody",options:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],type:"field_dropdown"},{type:"input_value",name:"PIN"},{type:"input_dummy"},{checked:!0,type:"field_checkbox",name:"wait"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"loop"}]}),this.setTooltip(j.Msg.MIXLY_MICROBIT_Play_built_in_melody1)}},ch={init:function(){this.jsonInit({colour:mh,nextStatement:null,previousStatement:null,inputsInline:!0,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/music.html#built-in-melodies",tooltip:"Play one of the built-in melodies. Indicate if you need to wait before continuing or continuously loop the melody.",message0:j.Msg.MIXLY_MICROBIT_Play_built_in_melody_easy,args0:[{name:"melody",options:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],type:"field_dropdown"},{type:"input_value",name:"PIN"},{type:"input_dummy"}]})}},Eh={init:function(){this.setColour(mh),this.appendValueInput("PIN",Number).appendField(j.Msg.MIXLY_TONE).appendField(j.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("pitch").setCheck(Number).appendField(j.Msg.MIXLY_FREQUENCY),this.appendValueInput("duration").setCheck(Number).appendField(j.Msg.MIXLY_DURATION),this.appendDummyInput("").appendField(j.Msg.MIXLY_MILLIS).appendField(j.Msg.MIXLY_MICROBIT_WAIT),this.appendDummyInput("").appendField(new j.FieldCheckbox(!0),"wait"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},Rh={init:function(){this.setColour(mh),this.appendValueInput("PIN",Number).appendField(j.Msg.MIXLY_TONE).appendField(j.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("pitch").setCheck(Number).appendField(j.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},gh={init:function(){this.jsonInit({colour:mh,nextStatement:null,previousStatement:null,inputsInline:!0,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/music.html#musical-notation",message0:j.Msg.MIXLY_MICROBIT_Play_notes,args0:[{check:"List",type:"input_value",name:"notes"},{type:"input_value",name:"PIN"},{checked:!0,type:"field_checkbox",name:"wait"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"loop"}]}),this.setTooltip(j.Msg.MIXLY_MICROBIT_Play_notes1)}},Ch={init:function(){this.jsonInit({colour:mh,nextStatement:null,previousStatement:null,inputsInline:!0,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/music.html#musical-notation",tooltip:"Play a list of notes expressed in the special music language. Indicate if you need to wait before continuing or continuously loop the melody.",message0:j.Msg.MIXLY_MICROBIT_Play_notes,args0:[{check:"List",type:"input_value",name:"notes"},{type:"input_value",name:"PIN"},{type:"input_dummy"},{type:"input_dummy"},{type:"input_dummy"}]})}},Ah={init:function(){this.jsonInit({colour:mh,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/music.html#music.reset",message0:j.Msg.MIXLY_MICROBIT_Reset_music}),this.setTooltip(j.Msg.MIXLY_MICROBIT_Reset_music)}},Lh={init:function(){this.setColour(mh),this.appendValueInput("PIN").appendField(j.Msg.MIXLY_NOTONE).appendField(j.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(j.Msg.MIXLY_NOTONE)}},Sh={init:function(){this.jsonInit({colour:mh,output:"Array",helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/music.html#music.get_tempo",message0:j.Msg.MIXLY_MICROBIT_Get_current_tempo}),this.setTooltip(j.Msg.MIXLY_MICROBIT_Get_current_tempo)}},fh={init:function(){this.setColour(mh),this.appendValueInput("TICKS").setCheck(Number).appendField(j.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(j.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(j.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_MICROBIT_JS_SET_TEMPO1)}},Dh={init:function(){this.setColour(mh),this.appendValueInput("VAR").setCheck(String).appendField(new j.FieldDropdown([[j.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_SAY,"say"],[j.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_SING,"sing"],[j.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_PRENOUNCE,"pronounce"]]),"MODE"),this.appendValueInput("pitch").setCheck(Number).appendField(j.Msg.MICROBIT_SPEECH_pitch),this.appendValueInput("speed").setCheck(Number).appendField(j.Msg.MIXLY_SPEED),this.appendValueInput("mouth").setCheck(Number).appendField(j.Msg.MICROBIT_SPEECH_mouth),this.appendValueInput("throat").setCheck(Number).appendField(j.Msg.MICROBIT_SPEECH_throat),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=j.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH,n=j.Msg.MIXLY_MICROBIT_TYPE_STRING;return i+{say:j.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_SAY,sing:j.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_SING,pronounce:j.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_PRENOUNCE}[e]+n}))}},Nh={init:function(){this.setColour(mh),this.appendValueInput("VAR").setCheck(String).appendField(j.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_SAY),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Ph={init:function(){this.setColour(mh),this.appendValueInput("VAR").setCheck(String).appendField(j.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_SING),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Fh={init:function(){this.setColour(mh),this.appendValueInput("VAR").setCheck(String).appendField(j.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_PRENOUNCE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},vh={init:function(){this.setColour(mh),this.appendValueInput("VAR").setCheck(String).appendField(j.Msg.MICROBIT_SPEECH_translation),this.setOutput(!0,String),this.setTooltip(j.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+j.Msg.MIXLY_MICROBIT_TYPE_STRING+j.Msg.MICROBIT_SPEECH_translation)}},Yh={init:function(){this.setColour(mh),this.appendValueInput("PIN",Number).appendField(j.Msg.MIXLY_SERVO).appendField(j.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("DEGREE",Number).setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_DEGREE_0_180),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_BLOCKGROUP_SERVO_MOVE)}},bh={init:function(){this.appendValueInput("speed").setCheck(null).appendField(j.Msg.MIXLY_MOTOR).appendField(new j.FieldDropdown([["M1","1"],["M2","2"],["M3","3"],["M4","4"]]),"Motor").appendField(j.Msg.MIXLY_SPEED),this.appendDummyInput().appendField(new j.FieldDropdown([["Forward","1*"],["Reverse","-1*"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(mh),this.setTooltip(""),this.setHelpUrl("")}},Xh={init:function(){this.setColour(mh),this.appendDummyInput("").appendField(j.Msg.MIXLY_RGB),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_PIN),this.appendValueInput("LEDCOUNT").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_RGB_COUNT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(j.Msg.MIXLY_RGB_PIN_COUNT)}},yh={init:function(){this.setColour(mh),this.appendDummyInput("").appendField(j.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(j.Msg.MIXLY_RGB_NUM_R_G_B)}},Vh={init:function(){this.setColour(mh),this.appendDummyInput("").appendField(j.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_RGB_NUM),this.appendDummyInput("").setAlign(j.inputs.Align.RIGHT).appendField(new j.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Bh={init:function(){this.setColour(mh),this.appendDummyInput("").appendField(j.Msg.MIXLY_RGB),this.appendDummyInput().appendField(j.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(j.Msg.MIXLY_ESP32_MUSIC_WRI)}},Gh={init:function(){this.setColour(mh),this.appendDummyInput("").appendField(j.Msg.MIXLY_SETUP+" "+j.Msg.QJ00X_MP3),this.appendValueInput("RX").setAlign(j.inputs.Align.RIGHT).appendField("TX#"),this.appendValueInput("TX").setAlign(j.inputs.Align.RIGHT).appendField("RX#"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}};var Uh=[[j.Msg.MIXLY_MP3_PLAY,"play"],[j.Msg.MIXLY_MP3_PAUSE,"pause"],[j.Msg.MIXLY_MP3_NEXT,"next_track"],[j.Msg.MIXLY_MP3_PREV,"prev_track"],[j.Msg.MIXLY_MP3_VOL_UP,"inc_vol"],[j.Msg.MIXLY_MP3_VOL_DOWN,"dec_vol"]];const wh={init:function(){this.setColour(mh),this.appendDummyInput("").appendField(j.Msg.QJ00X_MP3),this.appendDummyInput("").appendField(j.Msg.MIXLY_STAT).appendField(new j.FieldDropdown(Uh),"CONTROL_TYPE"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}};var kh=[[j.Msg.MIXLY_MP3_LOOP_ALL,"0"],[j.Msg.MIXLY_MP3_LOOP_FOLDER,"1"],[j.Msg.MIXLY_MP3_LOOP_ONE,"2"],[j.Msg.MIXLY_MP3_LOOP_RAM,"3"]];const xh={init:function(){this.setColour(mh),this.appendDummyInput("").appendField(j.Msg.QJ00X_MP3),this.appendDummyInput("").appendField(j.Msg.MIXLY_MP3_LOOP_MODE).appendField(j.Msg.MIXLY_STAT).appendField(new j.FieldDropdown(kh),"LOOP_MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}};var Hh=[[j.Msg.MIXLY_MP3_EQ_NORMAL,"0"],[j.Msg.MIXLY_MP3_EQ_POP,"1"],[j.Msg.MIXLY_MP3_EQ_ROCK,"2"],[j.Msg.MIXLY_MP3_EQ_JAZZ,"3"],[j.Msg.MIXLY_MP3_EQ_CLASSIC,"4"],[j.Msg.MIXLY_MP3_EQ_BASS,"5"]];const Wh={init:function(){this.setColour(mh),this.appendDummyInput("").appendField(j.Msg.QJ00X_MP3),this.appendDummyInput("").appendField(j.Msg.MIXLY_MP3_EQ_MODE).appendField(j.Msg.MIXLY_STAT).appendField(new j.FieldDropdown(Hh),"EQ_MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}},Kh={init:function(){this.setColour(mh),this.appendDummyInput("").appendField(j.Msg.QJ00X_MP3),this.appendDummyInput("").appendField(j.Msg.MIXLY_MP3_VOL),this.appendValueInput("vol",Number).appendField(j.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}},Jh={init:function(){this.setColour(mh),this.appendDummyInput("").appendField(j.Msg.QJ00X_MP3),this.appendValueInput("NUM",Number).appendField(j.Msg.MIXLY_MP3_PLAY_NUM).setCheck(Number),this.appendDummyInput("").appendField("首"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}},Qh={init:function(){this.setColour(mh),this.appendDummyInput("").appendField(j.Msg.QJ00X_MP3),this.appendValueInput("FOLDER",Number).appendField(j.Msg.DFPLAYER_MINI_FOLDER).setCheck(Number),this.appendValueInput("NUM",Number).appendField(j.Msg.MIXLY_MP3_PLAY_NUM).setCheck(Number),this.appendDummyInput("").appendField("首"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}},jh=140,qh={init:function(){this.setColour(225),this.appendDummyInput().appendField(new j.FieldDropdown([[j.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,"on"],[j.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,"off"],[j.Msg.HTML_RESET,"reset"]]),"type").appendField(j.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_WIFI),this.setInputsInline(!0),this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("type"),i=j.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_WIFI;return{on:j.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,off:j.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,reset:j.Blockly.Msg.HTML_RESET}[e]+i}))}},zh={init:function(){this.jsonInit({colour:225,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.on",tooltip:"Turn on the radio. This needs to be explicitly called since the radio draws power and takes up memory that you may otherwise need.",message0:j.Msg.MIXLY_MICROBIT_Switch_on_radio})}},Zh={init:function(){this.jsonInit({colour:225,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.off",tooltip:"Turn off the radio, thus saving power and memory.",message0:j.Msg.MIXLY_MICROBIT_Switch_off_radio})}},$h={init:function(){this.jsonInit({colour:225,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.config",tooltip:j.Msg.MIXLY_MICROBIT_Configure_radio1,message0:j.Msg.MIXLY_MICROBIT_Configure_radio,args0:[{min:4,value:32,type:"input_value",max:251,name:"length"},{type:"input_dummy"},{min:1,value:3,type:"input_value",max:32,name:"queue"},{type:"input_dummy"},{min:0,value:7,type:"input_value",max:100,name:"channel"},{type:"input_dummy"},{name:"power",type:"input_value"},{type:"input_dummy"},{name:"address",type:"input_value"},{type:"input_dummy"},{name:"group",type:"input_value"},{type:"input_dummy"},{name:"data_rate",type:"input_value"}]})}},tM={init:function(){this.jsonInit({colour:225,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.reset",tooltip:"Reset the radio to default settings.",message0:j.Msg.MIXLY_MICROBIT_Reset_radio})}},eM={init:function(){this.jsonInit({colour:225,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.send",tooltip:"Broadcast a text message.",message0:j.Msg.MIXLY_MICROBIT_Send_message,args0:[{check:"String",type:"input_value",name:"message"}]})}},iM={init:function(){this.setColour(225),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_RADIO_SEND),this.appendDummyInput().appendField(new j.FieldDropdown([[j.Msg.MIXLY_MICROBIT_MSG,"send"],[j.Msg.MIXLY_MICROBIT_MSG_BYTE,"send_bytes"]]),"type"),this.appendValueInput("data"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_MICROBIT_Send_message1)}},nM={init:function(){this.jsonInit({colour:225,output:"String",helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.receive",tooltip:j.Msg.MIXLY_MICROBIT_Receive_message,message0:j.Msg.MIXLY_MICROBIT_Receive_message})}},sM={init:function(){this.setColour(225),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_Receive_message),this.appendDummyInput().appendField(new j.FieldDropdown([[j.Msg.MIXLY_MICROBIT_MSG,"receive"],[j.Msg.MIXLY_MICROBIT_MSG_BYTE,"receive_bytes"],[j.Msg.MIXLY_MICROBIT_MSG_FULL,"receive_full"]]),"type"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_MICROBIT_Receive_message)}},oM={init:function(){this.setColour(jh),this.appendValueInput("RX",Number).appendField(j.Msg.MIXLY_MICROBIT_JS_I2C_SETUP).appendField("sda").setCheck(Number).setAlign(j.inputs.Align.RIGHT),this.appendValueInput("TX",Number).appendField("scl").setCheck(Number).setAlign(j.inputs.Align.RIGHT),this.appendValueInput("freq").setCheck(Number).appendField("频率").setAlign(j.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},_M={init:function(){this.setColour(jh),this.appendValueInput("address").setCheck(Number).appendField(j.Msg.MIXLY_MICROBIT_JS_I2C_READ_ADDRESS),this.appendValueInput("data").setCheck(Number).appendField(j.Msg.LANG_MATH_BYTE),this.appendDummyInput().appendField(j.Msg.CONTROLS_REPEAT_TITLE_REPEAT).appendField(new j.FieldCheckbox(!1),"is_repeated"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_MICROBIT_JS_I2C_READ)}},uM={init:function(){this.setColour(jh),this.appendValueInput("address").setCheck(Number).appendField(j.Msg.MIXLY_MICROBIT_JS_I2C_WRITE_ADDRESS),this.appendValueInput("data").setCheck(Number).appendField(j.Msg.MIXLY_MICROBIT_JS_I2C_VALUE),this.appendDummyInput().appendField(j.Msg.CONTROLS_REPEAT_TITLE_REPEAT).appendField(new j.FieldCheckbox(!1),"is_repeated"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(j.Msg.MIXLY_MICROBIT_JS_I2C_WRITE)}},rM={init:function(){this.jsonInit({colour:jh,nextStatement:null,previousStatement:null,message0:j.Msg.MIXLY_MICROBIT_SPI_INIT,args0:[{value:1e6,type:"field_number",name:"freq"},{type:"input_dummy"},{value:8,type:"field_number",name:"bits"},{type:"input_dummy"},{value:0,type:"field_number",name:"mode"},{type:"input_dummy"},{name:"mosi",options:q.Profile.default.digital,type:"field_dropdown"},{name:"miso",options:q.Profile.default.digital,type:"field_dropdown"},{name:"sck",options:q.Profile.default.digital,type:"field_dropdown"}]}),this.setFieldValue("15","mosi"),this.setFieldValue("14","miso"),this.setFieldValue("13","sck")}},pM={init:function(){this.setColour(jh),this.appendValueInput("data").setCheck(Number).appendField(j.Msg.MIXLY_MICROBIT_JS_SPI_WRITE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_MICROBIT_JS_SPI_WRITE)}},aM=180,lM={init:function(){this.jsonInit({colour:aM,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.clear",message0:j.Msg.MIXLY_MICROBIT_Clear_display}),this.setTooltip(j.Msg.MIXLY_MICROBIT_Clear_display)}},IM={init:function(){this.setColour(aM),this.appendValueInput("x").setCheck(Number).appendField(j.Msg.MIXLY_MICROBIT_JS_GET).appendField(j.Msg.MIXLY_BRIGHTNESS).appendField(j.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(j.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(j.Msg.MIXLY_BRIGHTNESS1)}},dM={init:function(){this.setColour(aM),this.appendValueInput("x").setCheck(Number).appendField(j.Msg.MIXLY_MICROBIT_JS_MONITOR_SET_BRIGHTNESS).appendField(j.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(j.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("brightness").setCheck(Number).appendField(j.Msg.MIXLY_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_BRIGHTNESS2)}},TM={init:function(){this.setColour(aM),this.appendValueInput("data").setCheck([String,"microbit_image"]).appendField(j.Msg.MIXLY_MICROBIT_SHOW_IMAGE_OR_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_MICROBIT_SHOW_IMAGE_OR_STRING)}},hM={init:function(){this.setColour(aM),this.appendValueInput("data").setCheck(String).appendField(j.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},MM={init:function(){this.setColour(aM),this.appendValueInput("data").setCheck(String).appendField(j.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("delay").setCheck(null).appendField(j.Msg.MIXLY_DELAY),this.appendDummyInput().appendField(j.Msg.MIXLY_MILLIS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},mM={init:function(){this.setColour(aM),this.appendValueInput("PIN",String).setCheck("microbit_image").appendField(j.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(j.Msg.OLED_BITMAP)}},OM={init:function(){this.jsonInit({colour:aM,InputsInline:!0,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.show",tooltip:"Show the referenced image on the display.",message0:j.Msg.OLED_BITMAP,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SMILE","SMILE"],["SAD","SAD"],["CONFUSED","CONFUSED"],["ANGRY","ANGRY"],["ASLEEP","ASLEEP"],["SURPRISED","SURPRISED"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["MEH","MEH"],["YES","YES"],["NO","NO"],["CLOCK12","CLOCK12"],["CLOCK11","CLOCK11"],["CLOCK10","CLOCK10"],["CLOCK9","CLOCK9"],["CLOCK8","CLOCK8"],["CLOCK7","CLOCK7"],["CLOCK6","CLOCK6"],["CLOCK5","CLOCK5"],["CLOCK4","CLOCK4"],["CLOCK3","CLOCK3"],["CLOCK2","CLOCK2"],["CLOCK1","CLOCK1"],["ARROW_N","ARROW_N"],["ARROW_NE","ARROW_NE"],["ARROW_E","ARROW_E"],["ARROW_SE","ARROW_SE"],["ARROW_S","ARROW_S"],["ARROW_SW","ARROW_SW"],["ARROW_W","ARROW_W"],["ARROW_NW","ARROW_NW"],["TRIANGLE","TRIANGLE"],["TRIANGLE_LEFT","TRIANGLE_LEFT"],["CHESSBOARD","CHESSBOARD"],["DIAMOND","DIAMOND"],["DIAMOND_SMALL","DIAMOND_SMALL"],["SQUARE","SQUARE"],["SQUARE_SMALL","SQUARE_SMALL"],["RABBIT","RABBIT"],["COW","COW"],["MUSIC_CROTCHET","MUSIC_CROTCHET"],["MUSIC_QUAVER","MUSIC_QUAVER"],["MUSIC_QUAVERS","MUSIC_QUAVERS"],["PITCHFORK","PITCHFORK"],["XMAS","XMAS"],["PACMAN","PACMAN"],["TARGET","TARGET"],["TSHIRT","TSHIRT"],["ROLLERSKATE","ROLLERSKATE"],["DUCK","DUCK"],["HOUSE","HOUSE"],["TORTOISE","TORTOISE"],["BUTTERFLY","BUTTERFLY"],["STICKFIGURE","STICKFIGURE"],["GHOST","GHOST"],["SWORD","SWORD"],["GIRAFFE","GIRAFFE"],["SKULL","SKULL"],["UMBRELLA","UMBRELLA"],["SNAKE","SNAKE"],["ALL_CLOCKS","ALL_CLOCKS"],["ALL_ARROWS","ALL_ARROWS"]],type:"field_dropdown"}]})}},cM={init:function(){this.jsonInit({colour:aM,inputsInline:!0,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.show",message0:j.Msg.MIXLY_MICROBIT_Animate_images_or_string,args0:[{check:[String,"List"],type:"input_value",name:"images"},{type:"input_value",name:"delay"},{type:"input_dummy"},{checked:!0,type:"field_checkbox",name:"wait"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"loop"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"clear"}]}),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_MICROBIT_JS_MONITOR_SHOW_delay+j.Msg.MIXLY_MICROBIT_Animate_images1)}},EM={init:function(){this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.jsonInit({colour:aM,inputsInline:!0,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.show",tooltip:"Display the list of images as an animation with a certain delay between each frame. Indicate if you need to wait before continuing, continuously loop the animation and clear the display when finished.",message0:j.Msg.MIXLY_MICROBIT_SHOW_STRING,args0:[{check:String,type:"input_value",name:"images"},{type:"input_value",name:"delay"},{type:"input_dummy"},{checked:!0,type:"field_checkbox",name:"wait"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"loop"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"clear"}]}),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING)}},RM={init:function(){this.jsonInit({colour:aM,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.scroll",tooltip:"Scroll the referenced text across the display.",message0:j.Msg.MIXLY_MICROBIT_Scroll_message,args0:[{check:"String",type:"input_value",name:"message"}]})}},gM={init:function(){this.setColour(aM),this.appendDummyInput().appendField(new j.FieldDropdown([[j.Msg.MIXLY_MICROBIT_Turn_on_display,"on"],[j.Msg.MIXLY_MICROBIT_Turn_off_display,"off"]]),"on_off").appendField(j.Msg.MIXLY_MICROBIT_monitor),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("on_off"),i=j.Msg.MIXLY_MICROBIT_monitor;return{on:j.Msg.MIXLY_MICROBIT_Turn_on_display,off:j.Msg.MIXLY_MICROBIT_Turn_off_display}[e]+i}))}},CM={init:function(){this.jsonInit({colour:aM,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.off",tooltip:"Turn off the display.",message0:j.Msg.MIXLY_MICROBIT_Turn_off_display})}},AM={init:function(){this.jsonInit({colour:aM,output:"Boolean",helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.is_on",message0:j.Msg.MIXLY_MICROBIT_Display_is_on}),this.setTooltip(j.Msg.MIXLY_MICROBIT_Display_is_on1)}},LM={init:function(){this.jsonInit({colour:aM,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SMILE","SMILE"],["SAD","SAD"],["CONFUSED","CONFUSED"],["ANGRY","ANGRY"],["ASLEEP","ASLEEP"],["SURPRISED","SURPRISED"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["MEH","MEH"],["YES","YES"],["NO","NO"],["CLOCK12","CLOCK12"],["CLOCK11","CLOCK11"],["CLOCK10","CLOCK10"],["CLOCK9","CLOCK9"],["CLOCK8","CLOCK8"],["CLOCK7","CLOCK7"],["CLOCK6","CLOCK6"],["CLOCK5","CLOCK5"],["CLOCK4","CLOCK4"],["CLOCK3","CLOCK3"],["CLOCK2","CLOCK2"],["CLOCK1","CLOCK1"],["ARROW_N","ARROW_N"],["ARROW_NE","ARROW_NE"],["ARROW_E","ARROW_E"],["ARROW_SE","ARROW_SE"],["ARROW_S","ARROW_S"],["ARROW_SW","ARROW_SW"],["ARROW_W","ARROW_W"],["ARROW_NW","ARROW_NW"],["TRIANGLE","TRIANGLE"],["TRIANGLE_LEFT","TRIANGLE_LEFT"],["CHESSBOARD","CHESSBOARD"],["DIAMOND","DIAMOND"],["DIAMOND_SMALL","DIAMOND_SMALL"],["SQUARE","SQUARE"],["SQUARE_SMALL","SQUARE_SMALL"],["RABBIT","RABBIT"],["COW","COW"],["MUSIC_CROTCHET","MUSIC_CROTCHET"],["MUSIC_QUAVER","MUSIC_QUAVER"],["MUSIC_QUAVERS","MUSIC_QUAVERS"],["PITCHFORK","PITCHFORK"],["XMAS","XMAS"],["PACMAN","PACMAN"],["TARGET","TARGET"],["TSHIRT","TSHIRT"],["ROLLERSKATE","ROLLERSKATE"],["DUCK","DUCK"],["HOUSE","HOUSE"],["TORTOISE","TORTOISE"],["BUTTERFLY","BUTTERFLY"],["STICKFIGURE","STICKFIGURE"],["GHOST","GHOST"],["SWORD","SWORD"],["GIRAFFE","GIRAFFE"],["SKULL","SKULL"],["UMBRELLA","UMBRELLA"],["SNAKE","SNAKE"],["ALL_CLOCKS","ALL_CLOCKS"],["ALL_ARROWS","ALL_ARROWS"]],type:"field_dropdown"}],output:["microbit_image","List"],helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#attributes",tooltip:j.Msg.MIXLY_MICROBIT_Built_in_image1,message0:j.Msg.MIXLY_MICROBIT_Built_in_image})}},SM={init:function(){this.jsonInit({colour:aM,args0:[{check:["microbit_image","List",String],type:"input_value",name:"image"}],output:"microbit_image",helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#microbit.Image.copy",message0:j.Msg.MIXLY_MICROBIT_Copy_image}),this.setTooltip(j.Msg.MIXLY_MICROBIT_Copy_image1)}},fM={init:function(){this.jsonInit({colour:aM,args0:[{check:["microbit_image","List",String],type:"input_value",name:"image"}],output:"microbit_image",helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#microbit.Image.invert",message0:j.Msg.MIXLY_MICROBIT_Invert_image}),this.setTooltip(j.Msg.MIXLY_MICROBIT_Invert_image1)}},DM={init:function(){this.jsonInit({colour:aM,args0:[{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"00"},{colour:"#000000",type:"field_colour",name:"01"},{colour:"#000000",type:"field_colour",name:"02"},{colour:"#000000",type:"field_colour",name:"03"},{colour:"#000000",type:"field_colour",name:"04"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"10"},{colour:"#000000",type:"field_colour",name:"11"},{colour:"#000000",type:"field_colour",name:"12"},{colour:"#000000",type:"field_colour",name:"13"},{colour:"#000000",type:"field_colour",name:"14"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"20"},{colour:"#000000",type:"field_colour",name:"21"},{colour:"#000000",type:"field_colour",name:"22"},{colour:"#000000",type:"field_colour",name:"23"},{colour:"#000000",type:"field_colour",name:"24"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"30"},{colour:"#000000",type:"field_colour",name:"31"},{colour:"#000000",type:"field_colour",name:"32"},{colour:"#000000",type:"field_colour",name:"33"},{colour:"#000000",type:"field_colour",name:"34"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"40"},{colour:"#000000",type:"field_colour",name:"41"},{colour:"#000000",type:"field_colour",name:"42"},{colour:"#000000",type:"field_colour",name:"43"},{colour:"#000000",type:"field_colour",name:"44"}],output:"microbit_image",helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#microbit.Image",message0:j.Msg.MIXLY_MICROBIT_Create_image}),this.setTooltip(j.Msg.MIXLY_MICROBIT_Create_image1)}},NM={init:function(){var t=[[j.Msg.MIXLY_UP,"up"],[j.Msg.MIXLY_DOWN,"down"],[j.Msg.MIXLY_LEFT,"left"],[j.Msg.MIXLY_RIGHT,"right"]];this.setColour(aM),this.setOutput(!0,"microbit_image"),this.setInputsInline(!0),this.appendValueInput("img").appendField(j.Msg.DISPLAY_IMAGE_LET).setCheck(["microbit_image","List",String]),this.appendDummyInput("").appendField(j.Msg.DISPLAY_IMAGE_LET2).appendField(new j.FieldDropdown(t),"OP"),this.appendValueInput("val").appendField(j.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(j.Msg.DISPLAY_IMAGE_UNIT);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i=j.Msg.DISPLAY_IMAGE_LET,n=j.Msg.DISPLAY_IMAGE_LET2,s=j.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:j.Msg.MIXLY_UP,down:j.Msg.MIXLY_DOWN,left:j.Msg.MIXLY_LEFT,right:j.Msg.MIXLY_RIGHT}[t]+s}))}},PM={init:function(){var t=[[j.Msg.MICROBIT_DISPLAY_UNION,"+"],[j.Msg.MICROBIT_DISPLAY_MINUS,"-"]];this.setColour(aM),this.setOutput(!0,"microbit_image"),this.appendValueInput("A").appendField(j.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new j.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{"+":j.Msg.MIXLY_MICROBIT_image_add,"-":j.Msg.MIXLY_MICROBIT_image_reduce}[t]}))}},FM={init:function(){this.setColour(aM),this.appendValueInput("TEXT",String).setCheck([String,Number]).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_DF_LCD).appendField("mylcd").appendField(j.Msg.MIXLY_LCD_PRINT1),this.appendValueInput("TEXT2",String).setCheck([String,Number]).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_LCD_PRINT2),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(j.Msg.MIXLY_LCD_PRINT4_TOOLTIP)}},vM={init:function(){this.setColour(aM),this.appendValueInput("device").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_SETUP).appendField(j.Msg.MIXLY_DF_LCD).appendField("1602").appendField("mylcd").appendField(j.Msg.MIXLY_LCD_ADDRESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_SETUP+j.Msg.MIXLY_DF_LCD+j.Msg.MIXLY_LCD_ADDRESS)}},YM={init:function(){this.setColour(aM),this.appendValueInput("row",Number).setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_DF_LCD).appendField("mylcd").appendField(j.Msg.MIXLY_LCD_ROW),this.appendValueInput("column",Number).setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_LCD_COLUMN),this.appendValueInput("TEXT",String).setCheck([String,Number]).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_LCD_PRINT),this.setPreviousStatement(!0,null),this.setInputsInline(!0),this.setNextStatement(!0,null),this.setTooltip(j.Msg.MIXLY_LCD_PRINT3_TOOLTIP)}},bM={init:function(){this.setColour(aM),this.appendDummyInput().appendField(j.Msg.MIXLY_DF_LCD).appendField("mylcd").appendField(new j.FieldDropdown([[j.Msg.MIXLY_ON,"on()"],[j.Msg.MIXLY_OFF,"off()"],[j.Msg.MIXLY_LCD_STAT_CLEAR,"clear()"],[j.Msg.MIXLY_LCD_NOBACKLIGHT,"backlight(False)"],[j.Msg.MIXLY_LCD_BACKLIGHT,"backlight(True)"]]),"STAT"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);var t=this;this.setTooltip((function(){var e=t.getFieldValue("STAT");return j.Msg.LISTS_SET_INDEX_SET+j.Msg.MIXLY_DF_LCD+{"on()":j.Msg.MIXLY_ON,"off()":j.Msg.MIXLY_OFF,"clear()":j.Msg.MIXLY_LCD_STAT_CLEAR,"backlight(off)":j.Msg.MIXLY_LCD_NOBACKLIGHT,"backlight(on)":j.Msg.MIXLY_LCD_BACKLIGHT}[e]}))}},XM={init:function(){this.appendDummyInput().appendField(j.Msg.MIXLY_DF_LCD+" OLED "+j.Msg.OLEDDISPLAY),this.appendValueInput("Text_line1","String").setAlign(j.inputs.Align.RIGHT).appendField("(128*64) "+j.Msg.line1),this.appendValueInput("Text_line2","String").setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.line2),this.appendValueInput("Text_line3","String").setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.line3),this.appendValueInput("Text_line4","String").setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.line4),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(aM),this.setTooltip(j.Msg.MIXLY_DF_LCD+j.Msg.OLEDDISPLAY+j.Msg.MIXLY_MICROBIT_TYPE_STRING)}},yM={init:function(){var t=[[j.Msg.MIXLY_HEIGHT,"height"],[j.Msg.MIXLY_WIDTH,"width"]];this.setColour(aM),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+j.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("microbit_image"),this.appendDummyInput("").appendField(new j.FieldDropdown(t),"OP"),this.setInputsInline(!0),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+j.Msg.MIXLY_MICROBIT_IMAGE+{height:j.Msg.MIXLY_HEIGHT,width:j.Msg.MIXLY_WIDTH}[t]}))}},VM={init:function(){this.setColour(aM),this.appendValueInput("SUB"),this.appendDummyInput().appendField(new j.FieldDropdown([[j.Msg.MIXLY_LCD_STAT_CLEAR,"0"],[j.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL,"1"]]),"key"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i={0:j.Msg.MIXLY_LCD_STAT_CLEAR,1:j.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL};return j.Msg.MIXLY_DF_LCD+i[e]}))}},BM="#777777",GM={init:function(){this.setColour(BM),this.appendDummyInput("").appendField("from ").appendField(new j.FieldTextInput("microbit"),"path").appendField(" import ").appendField(new j.FieldTextInput("*"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},UM={init:function(){this.setColour(BM),this.appendDummyInput("").appendField("import ").appendField(new j.FieldTextInput("module"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},wM={init:function(){this.setColour(BM),this.appendDummyInput("").appendField(new j.FieldTextInput("my_function"),"NAME"),this.itemCount_=1,this.arguments_=["x"],this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new j.icons.MutatorIcon(["factory_create_with_item"],this))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("items",this.itemCount_);for(var e=0;e 0:\n pre = bin(value).count("1")\n # find first non full high value afterwards\n try:\n k, value = next((ind, v)\n for ind, v in enumerate(resp[i:length - 2]) if resp[i + ind + 1] == 0)\n post = bin(value).count("1") if k else 0\n k = k + i\n except StopIteration:\n i = -1\n dist= -1 if i < 0 else round((pre + (k - i) * 8. + post) * 8 * 0.172)\n return dist\n\n def distance_cm(self):\n return self.distance_mm() / 10.0\n\nsonar=HCSR04()\n\n',["sonar.distance_cm()",e.ORDER_ATOMIC]},vE=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_RTC="from RTC import *"},YE=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_RTC="from RTC import *";var i=this.getFieldValue("TIME_TYPE");switch(i){case"Year":case"Month":case"Day":case"Hour":case"Minute":case"Second":case"Week":return["ds."+i+"()",e.ORDER_ASSIGNMENT];case"Mix1":return["ds.get_date()",e.ORDER_ASSIGNMENT];case"Mix2":return["ds.get_time()",e.ORDER_ASSIGNMENT]}},bE=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_RTC="from RTC import *","ds.set_time("+e.valueToCode(this,"hour",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"minute",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"second",e.ORDER_ASSIGNMENT)+")\n"},XE=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_RTC="from RTC import *","ds.set_date("+e.valueToCode(this,"year",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"month",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"day",e.ORDER_ASSIGNMENT)+")\n"},yE=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","compass.clear_calibration()\n"},VE=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",["display.read_light_level()",e.ORDER_ATOMIC]},BE=function(t,e){var i=this.getFieldValue("Trig"),n=this.getFieldValue("Echo");return e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_ultrasonic="from ultrasonic import *","sonar = HCSR04(tpin=pin"+i+", epin=pin"+n+")\n"},GE=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_TCS="from TCS import *",["tcs.getRawRGBData("+this.getFieldValue("TCS34725_COLOR")+")",e.ORDER_ATOMIC]},UE=function(t,e){var i=this.getFieldValue("PIN"),n=e.valueToCode(this,"NominalResistance",e.ORDER_ATOMIC),s=e.valueToCode(this,"betaCoefficient",e.ORDER_ATOMIC),o=e.valueToCode(this,"seriesResistor",e.ORDER_ATOMIC);return e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_ntc="import ntc",["ntc.read(pin"+i+", "+n+", "+s+", "+o+")",e.ORDER_ATOMIC]},wE=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","uart.write(str("+(e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC)||'""')+"))\n"},kE=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","uart.write(str("+(e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC)||'""')+")+'\\r\\n')\n"},xE=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","uart.write(str(hex("+(e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC)||"0")+")) + '\\r\\n')\n"},HE=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";var i=e.valueToCode(this,"char_marker",e.ORDER_ATOMIC)||";",n=e.statementToCode(this,"DO");e.definitions_["func_serial_receive_data_event_"+i.charCodeAt(1)]="serial.onDataReceived("+i+", () => {\n"+n+"}\n"},WE=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";return["uart.any()",e.ORDER_ATOMIC]},KE=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";return["uart.read()",e.ORDER_ATOMIC]},JE=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";return["uart.readline()",e.ORDER_ATOMIC]},QE=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",["serial.readUntil("+this.getFieldValue("char_marker")+")",e.ORDER_ATOMIC]},jE=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";var i=e.valueToCode(this,"RX",e.ORDER_ATOMIC),n=e.valueToCode(this,"TX",e.ORDER_ATOMIC);return isNaN(parseInt(i))||(i="pin"+i),isNaN(parseInt(n))||(n="pin"+n),"uart.init(rx="+i+", tx="+n+", baudrate="+this.getFieldValue("baudrate")+")\n"},qE=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","uart.init(baudrate="+this.getFieldValue("baudrate")+")\n"},zE=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",["input("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||'""')+")",e.ORDER_ATOMIC]},ZE=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","print("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||'""')+")\n"},$E=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","print("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||'""')+',end ="")\n'},tR=function(t,e){return"control.inBackground(() => {\n"+e.statementToCode(this,"do")+"})\n"},eR=function(){return"control.reset()\n"},iR=function(t,e){return"control.waitMicros("+(e.valueToCode(this,"data",e.ORDER_ATOMIC)||q.Profile.default.serial)+")\n"},nR=function(t,e){return"control.raiseEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||q.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||q.Profile.default.serial)+")\n"},sR=function(t,e){return"control.onEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||q.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||q.Profile.default.serial)+", () => {\n"+e.statementToCode(this,"do")+")\n"},oR=function(t,e){return["control.eventTimestamp()",e.ORDER_ATOMIC]},_R=function(t,e){return["control.eventValue()",e.ORDER_ATOMIC]},uR=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},rR=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},pR=function(t,e){return["control.deviceName()",e.ORDER_ATOMIC]},aR=function(t,e){return["control.deviceSerialNumber()",e.ORDER_ATOMIC]},lR=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","sleep("+(e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000")+")\n"},IR=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","panic("+(e.valueToCode(this,"STATUS_CODE",e.ORDER_ATOMIC)||"1000")+")\n"},dR=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";return["running_time()",e.ORDER_ATOMIC]},TR=function(){return"while True:\n pass\n"},hR=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","reset()\n"},MR=function(t,e){return e.definitions_.import_os="import os",["os.uname()",e.ORDER_ATOMIC]};Object.assign(j.Variables,Z),Object.assign(j.Procedures,Tp),j.Python=hp,j.generator=hp,q.Profile.default={},Object.assign(q.Profile,Mh),Object.assign(q.Profile.default,Mh.microbit),Object.assign(j.Blocks,e,i,n,s,o,_,u,r,p,a,l,I,d,f,D,F,v,Y,b,X,y,V,B,G),Object.assign(j.Python.forBlock,T,h,M,m,O,c,E,R,g,C,A,L,S,N,P,U,w,k,x,H,W,K,J,Q)})(); \ No newline at end of file +class ${constructor(t,e){if(this.variablePrefix_=e||"",this.reservedDict_=Object.create(null),t)for(var i=t.split(","),n=0;n0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(j.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+s).appendField(j.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(j.Msg.CONTROLS_IF_MSG_ELSE);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_if_if");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_if_elseif");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var o=t.newBlock("controls_if_else");o.initSvg(),i.connect(o.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],o=null;i;){switch(i.type){case"controls_if_elseif":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_if_else":this.elseCount_++,o=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,o)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_if_elseif":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_if_else":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),o=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(o.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(j.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+t).appendField(j.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(j.Msg.CONTROLS_IF_MSG_ELSE)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},Ot={init:function(){this.setColour(It),this.appendValueInput("FROM").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.PYTHON_RANGE).appendField(j.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.PYTHON_RANGE_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(j.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},ct={init:function(){this.setColour(It),this.appendValueInput("LIST").setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.CONTROLS_FOREACH_INPUT),this.appendValueInput("VAR").appendField(j.Msg.CONTROLS_FOREACH_INPUT_ITEM),this.appendStatementInput("DO").appendField(j.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip((function(){return j.Msg.CONTROLS_FOR_TOOLTIP.replace("“%1”","")}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){j.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Et={init:function(){this.setColour(It),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(j.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(new j.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(j.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT+j.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return{WHILE:j.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:j.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[e]}))}},Rt={init:function(){this.setColour(It),this.appendDummyInput().appendField(j.Msg.MIXLY_PYTHON_TRY),this.appendStatementInput("try"),this.appendValueInput("IF1").appendField(j.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO1").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new j.icons.MutatorIcon(["controls_except","controls_finally"],this)),this.setTooltip(j.Msg.MIXLY_MIXPY_CONTROL_TRY_TOOLTIP),this.elseifCount_=1,this.elseCount_=0},mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var t=document.createElement("mutation");return this.elseifCount_&&t.setAttribute("elseif",this.elseifCount_),this.elseCount_&&t.setAttribute("else",1),t},domToMutation:function(t){var e=this,i=[],n=[];this.elseCount_&&this.removeInput("ELSE");for(var s=this.elseifCount_;s>0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(j.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+s).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(j.Msg.MIXLY_PYTHON_FINALLY);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_try");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_except");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var o=t.newBlock("controls_finally");o.initSvg(),i.connect(o.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],o=null;i;){switch(i.type){case"controls_except":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_finally":this.elseCount_++,o=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,o)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_except":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_finally":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),o=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(o.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(j.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+t).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(j.Msg.MIXLY_PYTHON_FINALLY)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},gt={init:function(){this.setColour(It);var t=new j.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(t,"FLOW").appendField(j.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0),this.setTooltip(j.Msg.MIXLY_PYTHON_CONTROLS_FLOW_STATEMENTS_TOOLTIP);var e=this;this.setTooltip((function(){var t=e.getFieldValue("FLOW");return{BREAK:j.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:j.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}[t]}))},onchange:function(){if(this.workspace){var t=!1,e=this;do{if("controls_repeat"==e.type||"controls_for"==e.type||"controls_forEach"==e.type||"controls_repeat_ext"==e.type||"controls_whileUntil"==e.type||"do_while"==e.type){t=!0;break}e=e.getSurroundParent()}while(e);t?this.setWarningText(null):this.setWarningText(j.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}},Ct={init:function(){this.setColour(It),this.appendDummyInput().appendField(j.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new j.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(j.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return j.Msg.CONTROLS_FOR_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){j.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},At={init:function(){this.setColour(It),this.appendDummyInput().appendField(j.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new j.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(j.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return j.Msg.MIXLY_PYTHON_CONTROLS_FOR_RANGE_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){j.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}};Et.OPERATORS=[[j.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[j.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]],gt.OPERATORS=[[j.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[j.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const Lt={init:function(){this.setColour(It),this.appendDummyInput().appendField(j.Msg.CONTROLS_IF_IF_TITLE_IF),this.appendStatementInput("STACK"),this.setTooltip(j.Msg.CONTROLS_IF_IF_TOOLTIP),this.contextMenu=!1}},St={init:function(){this.setColour(It),this.appendDummyInput().appendField(j.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(j.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},ft={init:function(){this.setColour(It),this.appendDummyInput().appendField(j.Msg.CONTROLS_IF_ELSE_TITLE_ELSE),this.setPreviousStatement(!0),this.setTooltip(j.Msg.CONTROLS_IF_ELSE_TOOLTIP),this.contextMenu=!1}},Dt={init:function(){this.setColour(It),this.appendDummyInput().appendField("try"),this.appendStatementInput("STACK"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.contextMenu=!1}},Nt={init:function(){this.setColour(It),this.appendDummyInput().appendField(j.Msg.MIXLY_PYTHON_EXCEPT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1,this.setTooltip(j.Msg.MIXLY_MIXPY_CONTROL_EXCEPT_TOOLTIP)}},Pt={init:function(){this.setColour(It),this.appendDummyInput().appendField(j.Msg.MIXLY_PYTHON_FINALLY),this.setPreviousStatement(!0),this.contextMenu=!1,this.setTooltip(j.Msg.MIXLY_MIXPY_CONTROL_FINALLY_TOOLTIP)}},Ft={init:function(){this.jsonInit({message0:j.Msg.CONTROLS_REPEAT_TITLE,args0:[{type:"input_value",name:"TIMES"}],previousStatement:null,nextStatement:null,colour:It,tooltip:j.Msg.CONTROLS_REPEAT_TOOLTIP,helpUrl:j.Msg.CONTROLS_REPEAT_HELPURL}),this.appendStatementInput("DO")}},vt={init:function(){this.setColour(It),this.appendValueInput("BOOL").appendField("lambda"),this.appendStatementInput("DO").appendField(j.Msg.MIXLY_STAT),this.setOutput(!0)}},Yt={init:function(){this.setColour(It),this.appendDummyInput().appendField(j.Msg.MIXLY_PYTHON_PASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(j.Msg.MIXLY_PYTHON_CONTROLS_PASS_TOOLTIP)}},bt={init:function(){this.setColour(It),this.appendDummyInput().appendField(j.Msg.MIXLY_PYTHON_CONTROLS_THREAD_START),this.appendValueInput("callback").appendField(j.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.appendValueInput("VAR").appendField(j.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_PYTHON_CONTROLS_THREAD_TOOLTIP)}},Xt={init:function(){this.appendDummyInput().appendField(j.Msg.CONTROLS_REPEAT_TITLE_REPEAT+j.Msg.MIXLY_DO),this.appendStatementInput("input_data").setCheck(null),this.appendValueInput("select_data").setCheck(null).appendField(j.Msg.CONTROLS_OPERATOR_UNTIL).appendField(new j.FieldDropdown([[j.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"true"],[j.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"false"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(It),this.setTooltip("do-while loop"),this.setHelpUrl("")}},yt={init:function(){this.setColour(It),this.appendDummyInput().appendField(j.Msg.MIXLY_OP_GARBAGE_COLLECT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Vt={init:function(){this.setColour(It),this.appendDummyInput().appendField(j.Msg.MIXLY_GET_MEM_ALLOC),this.setOutput(!0)}},Bt={init:function(){this.setColour(It),this.appendDummyInput().appendField(j.Msg.MIXLY_GET_MEM_FREE),this.setOutput(!0)}},Gt={init:function(){this.setColour(It),this.appendDummyInput().appendField(j.Msg.MIXLY_GET+j.Msg.MIXLY_DEVICE+"ID"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(j.Msg.PROCEDURES_DEFRETURN_RETURN+j.Msg.MIXLY_GET_UNIQUE_IDEN)}},Ut={init:function(){this.setColour(It),this.appendValueInput("VAR").appendField(j.Msg.MIXLY_RTC_TIMESTAMP),this.appendDummyInput().appendField(j.Msg.MIXLY_TIMESTAMP_TO_DATA),this.setInputsInline(!0),this.setOutput(!0,Number)}},wt={init:function(){this.setColour(It),this.appendDummyInput().appendField(j.Msg.MIXLY_GET_UNIQUE_IDEN),this.setOutput(!0)}},kt=230;j.FieldTextInput.math_number_validator=function(t){return String(t)},j.FieldTextInput.math_number_validator_include_blank=function(t){if(""===t)return"";return/^-?(0X|0x|0O|0o|0B|0b)?[a-fA-F0-9]{1,}(\.[a-fA-F0-9]+)?$/.test(t)?String(t):null};const xt={init:function(){this.setColour(kt),this.appendDummyInput().appendField(new j.FieldTextInput("0",j.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(j.Msg.MATH_NUMBER_TOOLTIP)}},Ht={init:function(){this.setColour(kt);this.appendDummyInput("").appendField(j.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new j.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:j.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_TOOLTIP,e:j.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_TOOLTIP}[e]}))}},Wt={init:function(){this.setColour(kt);this.appendDummyInput("").appendField(j.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new j.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:j.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_MP_TOOLTIP,e:j.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_MP_TOOLTIP}[e]}))}},Kt={init:function(){this.setColour(kt),this.setOutput(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new j.FieldDropdown([["+","ADD"],["-","MINUS"],["×","MULTIPLY"],["÷","DIVIDE"],["%","QUYU"],["//","ZHENGCHU"],["**","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:j.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:j.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:j.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:j.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:j.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:j.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:j.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},Jt={init:function(){this.setColour(kt),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new j.FieldDropdown([["+=","ADD"],["-=","MINUS"],["×=","MULTIPLY"],["÷=","DIVIDE"],["%=","QUYU"],["//=","ZHENGCHU"],["**=","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:j.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:j.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:j.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:j.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:j.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:j.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:j.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},Qt={init:function(){this.setColour(kt),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new j.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},jt={init:function(){this.setColour(kt),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new j.FieldDropdown([["sin","SIN"],["cos","COS"],["tan","TAN"],["asin","ASIN"],["acos","ACOS"],["atan","ATAN"],["-","-"],["ln","LN"],["log10","LOG10"],["e^","EXP"],["10^","POW10"]]),"OP");var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{SIN:j.Msg.MATH_TRIG_TOOLTIP_SIN,COS:j.Msg.MATH_TRIG_TOOLTIP_COS,TAN:j.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:j.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:j.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:j.Msg.MATH_TRIG_TOOLTIP_ATAN,LN:j.Msg.MATH_SINGLE_TOOLTIP_LN}[e]}))}},qt={init:function(){var t=[[j.Msg.MATH_BIN,"bin"],[j.Msg.MATH_OCT,"oct"],[j.Msg.MATH_HEX,"hex"]];this.setColour(kt),this.setOutput(!0,String),this.appendValueInput("NUM").setCheck(Number).appendField(new j.FieldDropdown(t),"OP");var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{bin:j.Msg.MATH_DEC_TOOLTIP_BIN,oct:j.Msg.MATH_DEC_TOOLTIP_OCT,hex:j.Msg.MATH_DEC_TOOLTIP_HEX}[t]}))}},zt={init:function(){var t=[[j.Msg.LANG_MATH_TO_ROUND,"round"],[j.Msg.LANG_MATH_TO_CEIL,"ceil"],[j.Msg.LANG_MATH_TO_FLOOR,"floor"],[j.Msg.MATH_ABS,"fabs"],[j.Msg.MATH_SQRT,"sqrt"]];this.setColour(kt),this.appendValueInput("A").setCheck(Number).appendField(new j.FieldDropdown(t),"OP"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{sqrt:j.Msg.MATH_SINGLE_TOOLTIP_ROOT,fabs:j.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:j.Msg.MATH_SINGLE_TOOLTIP_SQ,round:j.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:j.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:j.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[t]}))}},Zt={init:function(){var t=[[j.Msg.MIXLY_MAX,"max"],[j.Msg.MIXLY_MIN,"min"]];this.setColour(kt),this.appendValueInput("A").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(new j.FieldDropdown(t),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(j.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{max:j.Msg.MIXLY_TOOLTIP_MATH_MAX,min:j.Msg.MIXLY_TOOLTIP_MATH_MIN}[t]}))}},$t={init:function(){var t=[[j.Msg.MATH_TWO,"two"],[j.Msg.MATH_EIGHT,"eight"],[j.Msg.MATH_TEN,"ten"],[j.Msg.MATH_SIXTEEN,"sixteen"]];this.setColour(kt),this.appendDummyInput("").appendField(j.Msg.MATH_BA),this.appendValueInput("NUM").appendField(new j.FieldDropdown(t),"OP").appendField(j.Msg.MATH_JinZhi).setCheck(Number),this.appendDummyInput("").appendField(j.Msg.MATH_ZHW).appendField(new j.FieldDropdown(t),"OP2").appendField(j.Msg.MATH_JinZhi),this.setFieldValue("ten","OP2"),this.setOutput(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i={two:j.Msg.MATH_Before_two,eight:j.Msg.MATH_Before_eight,ten:j.Msg.MATH_Before_ten,sixteen:j.Msg.MATH_Before_sixteen},n=e.getFieldValue("OP2"),s={two:j.Msg.MATH_Behind_two,eight:j.Msg.MATH_Behind_eight,ten:j.Msg.MATH_Behind_ten,sixteen:j.Msg.MATH_Behind_sixteen};return i[t]+s[n]}))}},te={init:function(){var t=[[j.Msg.LANG_MATH_INT,"int"],[j.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(kt),this.setOutput(!0,Number),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_RANDOM).appendField(new j.FieldDropdown(t),"TYPE"),this.appendValueInput("FROM").setCheck(Number).appendField(j.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TYPE"),i={int:j.Msg.LANG_MATH_INT,float:j.Msg.LANG_MATH_FLOAT_RANDOM};return j.Msg.MATH_RANDOM_INT_TOOLTIP+i[t]}))}},ee={init:function(){this.setColour(kt),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(j.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(j.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(j.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(j.Msg.MATH_CONSTRAIN_TOOLTIP)}},ie={init:function(){this.setColour(kt),this.appendValueInput("NUM",Number).appendField(j.Msg.MIXLY_MAP).setCheck(Number),this.appendValueInput("fromLow",Number).appendField(j.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(j.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_MATH_MAP)}},ne={init:function(){this.setColour(kt),this.appendDummyInput().appendField(new j.FieldTextInput("0",j.FieldTextInput.math_number_validator_include_blank),"NUM"),this.setOutput(!0),this.setTooltip(j.Msg.MATH_NUMBER_TOOLTIP)}},se={init:function(){this.setColour(kt),this.appendValueInput("NUM").setCheck(Number).appendField(j.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED)}},oe={init:function(){this.setColour(kt),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number),this.appendValueInput("VAR").setCheck(Number).appendField(j.Msg.MATH_ROUND).appendField(j.Msg.TEXT_KEEP),this.appendDummyInput().appendField(j.Msg.TEXT_DECIMAL),this.setInputsInline(!0),this.setTooltip(j.Msg.MATH_ROUND_NEW_TOOLTIP)}},_e={init:function(){var t=[[j.Msg.MIXLY_TO_INT,"int"],[j.Msg.MIXLY_TO_FLOAT,"float"],[j.Msg.MIXLY_TO_BITES,"b"],[j.Msg.LANG_MATH_BYTE+j.Msg.MIXLY_TO_INT,"bti"]];this.setColour(kt),this.appendValueInput("VAR").appendField(new j.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:j.Msg.MIXLY_PYTHON_TOOLTIP_TOINT,float:j.Msg.MIXLY_PYTHON_TOOLTIP_TOFLOAT,b:j.Msg.MIXLY_TOOLTIP_TEXT_TOBYTE}[t]}))}},ue={init:function(){var t=[[j.Msg.MIXLY_TO_INT,"int"],[j.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(kt),this.appendValueInput("VAR").appendField(new j.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:j.Msg.MIXLY_TOOLTIP_TEXT_TOINT,float:j.Msg.MIXLY_TOOLTIP_TEXT_TOFLOAT}[t]}))}},re=ie,pe={init:function(){this.setColour(kt),this.appendValueInput("VAR").appendField(j.Msg.LANG_MATH_BYTE+j.Msg.MIXLY_TO_HEX),this.setOutput(!0,Number),this.setTooltip(j.Msg.MIXLY_PYTHON_TOOLTIP_TOHEX)}},ae={init:function(){this.setColour(kt),this.itemCount_=1,this.setMutator(new j.icons.MutatorIcon(["lists_create_with_item"],this)),this.appendDummyInput("DUMMY").appendField(j.Msg.MIXLY_PRODUCT+j.Msg.MIXLY_GENERATE_CARTESIAN_PRODUCT),this.appendValueInput("REPEAT").appendField(j.Msg.MIXLY_EVERY_PER_ELEPER_ELEMENT),this.appendDummyInput().appendField(j.Msg.CONTROLS_REPEAT_TITLE_TIMES),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0),this.setTooltip(j.Msg.LISTS_CREATE_WITH_PYTHON_TOOLTIP),this.updateShape_()},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("lists_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n1&&"\\"===t.charAt(0)){var e=t.charAt(1);if("0"===e||"b"===e||"f"===e||"n"===e||"r"===e||"t"===e||"\\"===e||"'"===e)return String(t).substring(0,2);if("x"===e&&"0"===t.charAt(2)&&"B"===t.charAt(3))return String(t).substring(0,4)}return String(t).substring(0,1)};const me={init:function(){this.setColour(de),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new j.FieldTextInput("",j.FieldTextInput.char_validator),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,Number),this.setTooltip(j.Msg.TEXT_CHAR_TOOLTIP)},newQuote_:function(t){if(1==t)var e="../../media/quote2.png";else e="../../media/quote3.png";return new j.FieldImage(e,7,12,'"')}},Oe={init:function(){this.setColour(de),this.appendValueInput("A").setCheck([String,Number]),this.appendValueInput("B").setCheck([String,Number]).appendField(j.Msg.MIXLY_TEXT_JOIN),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(j.Msg.MIXLY_TOOLTIP_TEXT_JOIN)}},ce={init:function(){this.setColour(de),this.appendValueInput("VAR").setCheck(Number).appendField(j.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(j.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},Ee={init:function(){this.setColour(de),this.appendValueInput("VAR").setCheck(String).appendField(j.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(j.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},Re={init:function(){this.setColour(de),this.appendValueInput("VAR").appendField(j.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(j.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},ge={init:function(){this.setColour(de),this.appendValueInput("VAR").appendField(j.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(j.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},Ce={init:function(){this.WHERE_OPTIONS=[[j.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[j.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[j.Msg.TEXT_GET_INDEX_RANDOM+1+j.Msg.TEXT_CHARAT2,"RANDOM"]],this.setHelpUrl(j.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(de),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number),this.appendDummyInput().appendField(j.Msg.LISTS_GET_INDEX_GET,"MODE"),j.Msg.LISTS_GET_INDEX_TAIL&&this.appendDummyInput("TAIL").appendField(j.Msg.LISTS_GET_INDEX_TAIL),this.setInputsInline(!0),this.setOutput(!0),this.updateAt_(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=t.getFieldValue("WHERE"),n="";switch(e+" "+i){case"GET FROM_START":case"GET FROM_END":n=j.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM;break;case"GET RANDOM":n=j.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM;break;case"GET_REMOVE FROM_START":case"GET_REMOVE FROM_END":n=j.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM;break;case"GET_REMOVE RANDOM":n=j.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM}return"FROM_START"!=i&&"FROM_END"!=i||(n+=" "+j.Msg.LISTS_INDEX_FROM_START_TOOLTIP.replace("%1",j.Msg.ONE_BASED_INDEXING?"#1":"#0")),n}));var e=this;this.setTooltip((function(){var t=e.getFieldValue("WHERE"),i={FROM_START:j.Msg.LISTS_GET_INDEX_FROM_START,FROM_END:j.Msg.LISTS_GET_INDEX_FROM_END,RANDOM:j.Msg.TEXT_GET_INDEX_RANDOM};return j.Msg.PROCEDURES_DEFRETURN_RETURN+j.Msg.MIXLY_MICROBIT_TYPE_STRING+i[t]+"n"+j.Msg.TEXT_CHARAT2}))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("statement",!this.outputConnection);var e=this.getInput("AT").type==j.INPUT_VALUE;return t.setAttribute("at",e),t},domToMutation:function(t){var e="true"==t.getAttribute("statement");this.updateStatement_(e),t="false"!=t.getAttribute("at"),this.updateAt_(t)},updateStatement_:function(t){t!=!this.outputConnection&&(this.unplug(!0,!0),t?(this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)):(this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)))},updateAt_:function(t){this.removeInput("AT"),this.removeInput("ORDINAL",!0),t?(this.appendValueInput("AT").setCheck(Number),j.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL").appendField(j.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT");var e=new j.FieldDropdown(this.WHERE_OPTIONS,(function(e){var i="FROM_START"==e||"FROM_END"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT").appendField(e,"WHERE"),j.Msg.LISTS_GET_INDEX_TAIL&&this.moveInputBefore("TAIL",null)}},Ae={init:function(){this.setHelpUrl(j.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(de),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number).appendField(j.Msg.LISTS_GET_INDEX_GET+" "+j.Msg.LISTS_GET_INDEX_FROM_START),this.appendDummyInput().appendField(j.Msg.TEXT_CHARAT2),this.setOutput(!0),this.setTooltip(j.Msg.PROCEDURES_DEFRETURN_RETURN+j.Msg.MIXLY_MICROBIT_TYPE_STRING+j.Msg.LISTS_GET_INDEX_FROM_START+"n"+j.Msg.TEXT_CHARAT2)}},Le={init:function(){this.setHelpUrl(j.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(de),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(j.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(j.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},Se={init:function(){this.WHERE_OPTIONS_1=[[j.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[j.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[j.Msg.LISTS_GET_SUBLIST_START_FIRST,"FIRST"]],this.WHERE_OPTIONS_2=[[j.Msg.LISTS_GET_SUBLIST_END_FROM_START,"FROM_START"],[j.Msg.LISTS_GET_SUBLIST_END_FROM_END,"FROM_END"],[j.Msg.LISTS_GET_SUBLIST_END_LAST,"LAST"]],this.setHelpUrl(j.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(de),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput("").appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput("AT1"),this.appendDummyInput("AT2"),this.setInputsInline(!0),this.setOutput(!0,"List"),this.updateAt_(1,!0),this.updateAt_(2,!0),this.setTooltip(j.Msg._GET_TEXT_SUBLIST_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT1").type==j.INPUT_VALUE;t.setAttribute("at1",e);var i=this.getInput("AT2").type==j.INPUT_VALUE;return t.setAttribute("at2",i),t},domToMutation:function(t){var e="true"==t.getAttribute("at1"),i="true"==t.getAttribute("at2");this.updateAt_(1,e),this.updateAt_(2,i)},updateAt_:function(t,e){this.removeInput("AT"+t),this.removeInput("ORDINAL"+t,!0),e?(this.appendValueInput("AT"+t).setCheck(Number),j.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL"+t).appendField(j.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT"+t);var i=new j.FieldDropdown(this["WHERE_OPTIONS_"+t],(function(i){var n="FROM_START"==i||"FROM_END"==i;if(n!=e){var s=this.sourceBlock_;return s.updateAt_(t,n),s.setFieldValue(i,"WHERE"+t),null}}));this.getInput("AT"+t).appendField(i,"WHERE"+t),1==t&&(this.moveInputBefore("AT1","AT2"),this.getInput("ORDINAL1")&&this.moveInputBefore("ORDINAL1","AT2"))}},fe={init:function(){this.setHelpUrl(j.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(de),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT1").appendField(j.Msg.LISTS_GET_INDEX_GET+" "+j.Msg.LISTS_GET_INDEX_FROM_START),this.appendValueInput("AT2").appendField(j.Msg.LISTS_GET_SUBLIST_END_FROM_START),this.appendDummyInput().appendField(j.Msg.TEXT_CHARAT2),this.setInputsInline(!0),this.setOutput(!0,["List",String]),this.setTooltip(j.Msg._GET_TEXT_SUBLIST_TOOLTIP)}},De={init:function(){var t=[[j.Msg.MIXLY_EQUALS,"==="],[j.Msg.MIXLY_STARTSWITH,"startswith"],[j.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(de),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new j.FieldDropdown(t),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},Ne={init:function(){this.setColour(de),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(j.Msg.MIXLY_COMPARETO).setCheck(String),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_COMPARETO_HELP)}},Pe={init:function(){var t=[[j.Msg.TEXT_UPPER,"upper"],[j.Msg.TEXT_TITLE,"title"],[j.Msg.TEXT_CAPITALIZE,"capitalize"],[j.Msg.TEXT_SWAPCASE,"swapcase"],[j.Msg.TEXT_LOWER,"lower"]];this.setColour(de),this.appendValueInput("VAR").appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new j.FieldDropdown(t),"CAPITAL").setCheck(String),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CAPITAL");return{upper:j.Msg.MIXLY_MIXPY_TEXT_UPPER_TOOLTIP,title:j.Msg.MIXLY_MIXPY_TEXT_TITLE_TOOLTIP,swapcase:j.Msg.MIXLY_MIXPY_TEXT_SWAPCASE_TOOLTIP,capitalize:j.Msg.MIXLY_MIXPY_TEXT_CAPITALIZE_TOOLTIP,lower:j.Msg.MIXLY_MIXPY_TEXT_LOWER_TOOLTIP}[t]}))}},Fe={init:function(){var t=[[j.Msg.TEXT_LJUST,"ljust"],[j.Msg.TEXT_CENTER,"center"],[j.Msg.TEXT_RJUST,"rjust"]];this.setColour(de),this.appendValueInput("VAR").appendField(new j.FieldDropdown(t),"CENTER").setCheck(String),this.appendValueInput("WID").appendField(j.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("Symbol").appendField(j.Msg.MIXLY_RECT_Fill).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(j.Msg.MIXLY_MIXPY_TEXT_CENTER_TOOLTIP)}},ve={init:function(){this.setColour(de),this.appendValueInput("VAR").appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).setCheck(String),this.appendValueInput("STR").appendField(j.Msg.MIXLY_MID+j.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER).setCheck(String),this.appendDummyInput().appendField(j.Msg.MIXLY_LIST_INDEX),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(j.Msg.MIXLY_MIXPY_TEXT_FIND_TOOLTIP)}},Ye={init:function(){this.setColour(de),this.appendValueInput("VAR").appendField(j.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_USE_STR).setCheck(String),this.appendValueInput("LIST").appendField(j.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_SEQ).setCheck("List","Tuple","Set","Dict"),this.appendDummyInput().appendField(j.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_GET_STR),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(j.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_TOOLTIP)}},be={init:function(){this.setColour(de),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("STR1").appendField(j.Msg.MIXLY_MIXPY_REPLACE).setCheck(String),this.appendValueInput("STR2").appendField(j.Msg.LISTS_SET_INDEX_INPUT_TO).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(j.Msg.MIXLY_MIXPY_TEXT_REPLACE_TOOLTIP)}},Xe={init:function(){this.setColour(de),this.appendValueInput("VAR"),this.appendValueInput("VAL").appendField(j.Msg.LIST_SPLIT_AS),this.appendDummyInput("").appendField(j.Msg.LIST_SPLIT),this.setOutput(!0,"List"),this.setTooltip(j.Msg.MIXLY_MIXPY_TEXT_SPLIT_TOOLTIP),this.setInputsInline(!0)}},ye={init:function(){var t=[[j.Msg.TEXT_TRIM_BOTH,"strip"],[j.Msg.TEXT_TRIM_LEFT,"lstrip"],[j.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(de),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(j.Msg.TEXT_STRIM),this.appendDummyInput("").appendField(new j.FieldDropdown(t),"TOWHAT"),this.appendDummyInput("").appendField(j.Msg.TEXT_BLANK),this.setOutput(!0,String),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{strip:j.Msg.TEXT_TRIM_BOTH_TOOLTIP,lstrip:j.Msg.TEXT_TRIM_LEFT_TOOLTIP,rstrip:j.Msg.TEXT_TRIM_RIGHT_TOOLTIP}[t]}))}},Ve={init:function(){this.setColour(de),this.appendDummyInput("").appendField(j.Msg.MIXLY_MICROPYTHON_FORMAT),this.appendDummyInput("").appendField(new j.FieldTextInput("str"),"VAR"),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new j.icons.MutatorIcon(["text_create_with_item"],this)),this.setOutput(!0),this.setTooltip(j.Msg.MIXLY_MIXPY_TEXT_FORMAT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("text_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){j.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Yi={init:function(){this.setColour(Fi),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(j.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},bi={init:function(){this.setColour(Fi),this.appendDummyInput().appendField(j.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(j.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},Xi={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(j.Msg.DICT_KEYS),this.setTooltip(j.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},yi={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(j.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(j.Msg.DICTS_ADD_VALUE),this.setOutput(!0),this.setTooltip(j.Msg.DICTS_GET_TOOLTIP)}},Vi={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(j.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(j.Msg.DICTS_ADD_VALUE),this.appendValueInput("VAR").appendField(j.Msg.DICTS_DEFAULT_VALUE),this.setOutput(!0),this.setTooltip(j.Msg.DICTS_GET_DEFAULT_TOOLTIP)}},Bi={init:function(){this.setColour(Fi),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(j.Msg.DICTS_ADD),this.appendDummyInput(),this.appendValueInput("VAR").appendField(j.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(j.Msg.DICTS_ADD_OR_CHANGE_TOOLTIP)}},Gi={init:function(){this.setColour(Fi),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(j.Msg.DICTS_DELETE_IN),this.appendDummyInput("").appendField(j.Msg.DICTS_DELETE_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(j.Msg.DICTS_DELETE_TOOLTIP)}},Ui={init:function(){this.setColour(Fi),this.appendValueInput("DICT2").setCheck("Dict").appendField(j.Msg.MAKE_DICT),this.appendValueInput("DICT").setCheck("Dict").appendField(j.Msg.DICT_UPDATE),this.appendDummyInput("").appendField(j.Msg.MIXLY_MID),this.setTooltip(j.Msg.DICTS_UPDATE_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},wi={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(j.Msg.DICT_CLEAR),this.setTooltip(j.Msg.DICTS_CLEAR_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ki={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(j.Msg.DICT_ITEMS),this.setTooltip(j.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},xi={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(j.Msg.DICT_VALUES),this.setTooltip(j.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},Hi={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(j.Msg.MIXLY_LENGTH),this.setTooltip(j.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},Wi={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(j.Msg.DICT_DELDICT),this.setTooltip(j.Msg.DICTS_DEL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ki={init:function(){this.MODE=[[j.Msg.DICTS_ADD_OR_CHANGE,"INSERT"],[j.Msg.MIXLY_MICROBIT_JS_DELETE_VAR,"DELETE"]],this.setHelpUrl(j.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("AT2"),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).appendField(j.Msg.DICTS_ADD_VALUE),this.updateAt_(!0),this.setInputsInline(!0),this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e="";switch(t.getFieldValue("WHERE")){case"INSERT":e=j.Msg.DICTS_ADD_TOOLTIP;break;case"DELETE":e=j.Msg.DICTS_DELETE_TOOLTIP}return e}))},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT2").type==j.INPUT_VALUE;return t.setAttribute("at2",e),t},domToMutation:function(t){var e="true"==t.getAttribute("at2");this.updateAt_(e)},updateAt_:function(t){this.removeInput("AT2"),this.removeInput("ORDINAL",!0),t?this.appendValueInput("AT2").setCheck(Number):this.appendDummyInput("AT2");var e=new j.FieldDropdown(this.MODE,(function(e){var i="INSERT"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT2").appendField(e,"WHERE")}},Ji={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(j.Msg.blockpy_DICT_POP),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(j.Msg.DICTS_ADD_VALUE),this.setTooltip(j.Msg.DICT_POP_TOOLTIP),this.setInputsInline(!0),this.setOutput(!0)}},Qi={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(j.Msg.DICTS_SET_DEFAULT),this.appendDummyInput("").appendField(j.Msg.DICTS_DEFAULT_VALUE),this.appendValueInput("VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(j.Msg.DICTS_SETDEFAULT_TOOLTIP)}},ji={init:function(){this.setColour(Fi),this.appendDummyInput("").appendField(new j.FieldLabel(j.Msg.MIXLY_MICROBIT_TYPE_DICT),"TIP").appendField(" "),this.itemCount_=3,this.updateShape_(),this.setOutput(!0,"Dict"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setMutator(new j.icons.MutatorIcon(["dicts_create_with_item"],this)),this.setTooltip(j.Msg.DICTS_CREATE_WITH_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("dicts_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){j.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},qi={init:function(){this.setColour(Fi),this.appendValueInput("VAR").appendField(j.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(j.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},zi={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(j.Msg.MIXLY_TO_JSON),this.setTooltip(j.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},Zi={init:function(){this.setColour(Fi),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(j.Msg.MIXLY_CONVERT_TO_JSON),this.setTooltip(j.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},$i={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("VAR1").appendField("key1"),this.appendValueInput("VAR2").appendField("index"),this.appendValueInput("VAR3").appendField("key2"),this.appendValueInput("VAR4").appendField("key3"),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},tn={init:function(){this.setColour(Fi),this.appendValueInput("DICT"),this.appendDummyInput("").appendField(j.Msg.MIXLY_TO_JSON),this.setTooltip(j.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},en=210,nn={init:function(){var t=j.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(en),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new j.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{EQ:j.Msg.LOGIC_COMPARE_TOOLTIP_EQ,NEQ:j.Msg.LOGIC_COMPARE_TOOLTIP_NEQ,LT:j.Msg.LOGIC_COMPARE_TOOLTIP_LT,LTE:j.Msg.LOGIC_COMPARE_TOOLTIP_LTE,GT:j.Msg.LOGIC_COMPARE_TOOLTIP_GT,GTE:j.Msg.LOGIC_COMPARE_TOOLTIP_GTE}[t]})),this.prevBlocks_=[null,null]}},sn={init:function(){var t=j.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]],e=j.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(en),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new j.FieldDropdown(t),"OP1"),this.appendValueInput("C").appendField(new j.FieldDropdown(e),"OP2"),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_PYTHON_LOGIC_COMPARE_CONTINOUS_TOOLTIP)}},on={init:function(){var t=[[j.Msg.LOGIC_OPERATION_AND,"AND"],[j.Msg.LOGIC_OPERATION_OR,"OR"],[j.Msg.LOGIC_OPERATION_NOR,"NOR"],[j.Msg.LOGIC_OPERATION_XOR,"XOR"]];this.setColour(en),this.setOutput(!0,Boolean),this.appendValueInput("A").setCheck([Boolean,Number]),this.appendValueInput("B").setCheck([Boolean,Number]).appendField(new j.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{AND:j.Msg.LOGIC_OPERATION_TOOLTIP_AND,OR:j.Msg.LOGIC_OPERATION_TOOLTIP_OR,NOR:j.Msg.LOGIC_OPERATION_TOOLTIP_NOR,XOR:j.Msg.LOGIC_OPERATION_TOOLTIP_XOR}[t]}))}},_n={init:function(){this.setColour(en),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(j.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(j.Msg.LOGIC_NEGATE_TOOLTIP)}},un={init:function(){var t=[[j.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[j.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(en),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new j.FieldDropdown(t),"BOOL"),this.setTooltip(j.Msg.LOGIC_BOOLEAN_TOOLTIP)}},rn={init:function(){this.setColour(en),this.setOutput(!0),this.appendDummyInput().appendField(j.Msg.LOGIC_NULL),this.setTooltip(j.Msg.LOGIC_NULL_TOOLTIP)}},pn={init:function(){this.setColour(en),this.appendValueInput("A"),this.appendValueInput("B").appendField(j.Msg.LOGIC_TERNARY_IF_TRUE),this.appendValueInput("C").appendField(j.Msg.LOGIC_TERNARY_IF_FALSE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_LOGIT_TRUEORFALSE)}},an={init:function(){var t=[[j.Msg.TEXT_APPEND_TO,"in"],[j.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(en),this.appendValueInput("A"),this.appendValueInput("B").setCheck([String,"List"]).appendField(new j.FieldDropdown(t),"BOOL"),this.appendDummyInput("").appendField(j.Msg.MICROBIT_LOGIC_IS_IN),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(j.Msg.IN)}},ln={init:function(){var t=[[j.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[j.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(en),this.appendValueInput("A"),this.appendValueInput("B").appendField(new j.FieldDropdown(t),"BOOL"),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_PYTHON_LOGIC_IS_TOOLTIP)}},In={init:function(){this.setColour(en),this.appendValueInput("VAR").appendField(j.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(j.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},dn={init:function(){this.setColour(0),this.appendValueInput("fn").setCheck(String).appendField(j.Msg.MIXLY_PYTHON_STORAGE_OPEN_FILE_WITH_OS+"(For Windows)"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Tn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new j.FieldDropdown([[j.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"],[j.Msg.MIXLY_ADD,"a"],[j.Msg.MATH_BIN+j.Msg.MIXLY_ADD,"ab"],[j.Msg.MIXLY_R_W,"r+"],[j.Msg.MATH_BIN+j.Msg.MIXLY_R_W,"rb+"],[j.Msg.MIXLY_W_R,"w+"],[j.Msg.MATH_BIN+j.Msg.MIXLY_W_R,"wb+"],[j.Msg.MIXLY_A_R,"a+"],[j.Msg.MATH_BIN+j.Msg.MIXLY_A_R,"ab+"]]),"MODE"),this.appendValueInput("FILE").appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_AS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=j.Msg.MIXLY_USE,n=j.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=j.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=j.Msg.MIXLY_BELONG;return i+{r:j.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:j.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:j.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:j.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){j.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},hn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new j.FieldDropdown([[j.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=j.Msg.MIXLY_USE,n=j.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=j.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=j.Msg.MIXLY_BELONG,_=j.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:j.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:j.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:j.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:j.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s+_}))}},Mn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE);this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new j.FieldDropdown([[j.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendDummyInput().appendField(j.Msg.MIXPY_TEXT_ENCODE).appendField(new j.FieldDropdown([["ANSI","ANSI"],["gbk","gbk"],["utf-8","utf-8"]]),"CODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=j.Msg.MIXLY_USE,n=j.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=j.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=j.Msg.MIXLY_BELONG,_=j.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:j.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:j.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:j.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:j.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s+_}))}},mn={init:function(){this.setColour(0),this.appendValueInput("data").setCheck(String).appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendValueInput("FILE").appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+j.Msg.MIXLY_MICROBIT_TYPE_STRING+j.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE)}},On={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new j.FieldDropdown([[j.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"read"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE,"readline"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES,"readlines"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String)}},cn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new j.FieldDropdown([[j.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,"read"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,"readline"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE,"readlines"]]),"MODE"),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=j.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE,n=j.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER;return i+{read:j.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,readline:j.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,readlines:j.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE}[e]+"x"+n}))}},En={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.setNextStatement(!0),this.appendValueInput("SIZE").setCheck(Number).appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(j.Msg.MICROBIT_PYTHON_TYPE)}},Rn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(j.Msg.HTML_FILE),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean),this.setTooltip(j.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT1)}},gn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_FILENAME),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILENAME)}},Cn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(j.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE)}},An={init:function(){this.setColour(0),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(j.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES)}};j.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE;const Ln={init:function(){this.setColour(0),this.appendDummyInput().appendField(new j.FieldDropdown([[j.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE,"remove"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_DIRS,"removedirs"]]),"MODE"),this.appendValueInput("FILE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(j.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE)}},Sn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE+j.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE)}},fn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_RETURN_FILE),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_PRESENT_LOCATION),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(j.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_TELL)}},Dn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION),this.appendDummyInput().appendField(new j.FieldDropdown([[j.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,"start"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,"current"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END,"end"]]),"MODE"),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=j.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION+j.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION,n=j.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER,s=j.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET;return i+" "+{start:j.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,current:j.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,end:j.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END}[e]+s+"x"+n}))}},Nn={init:function(){this.setColour(0),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR)}},Pn={init:function(){this.setColour(0),this.appendValueInput("PATH").setCheck(String).appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH),this.appendDummyInput().appendField(j.Msg.MIXLY_ESP32_SET),this.appendDummyInput().appendField(new j.FieldDropdown([[j.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,"mkdir"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_MAKEDIRS,"makedirs"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return j.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH+"x"+j.Msg.MIXLY_ESP32_SET+{mkdir:j.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,makedirs:j.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},Fn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME),this.appendValueInput("NEWFILE").setCheck(String).appendField(j.Msg.MIXLY_AS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(j.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME)}},vn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(j.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR)}},Yn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT),this.appendDummyInput().appendField(new j.FieldDropdown([[j.Msg.HTML_FILE,"isfile"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_DIR,"isdir"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean);let t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return j.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH+"x"+j.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT+{isfile:j.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,isdir:j.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},bn={init:function(){this.setColour(0),this.appendValueInput("SPISUB").appendField(j.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_SETUP+j.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(j.Msg.MIXLY_SD_CARD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Xn={init:function(){this.setColour(0),this.appendValueInput("VAR").appendField(j.Msg.MIXLY_SD_CARD),this.appendValueInput("DIR").setCheck(String).appendField(j.Msg.MIXLY_SDCARD_MOUNT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip()}},yn={init:function(){var t=j.Procedures.findLegalName("",this),e=new j.FieldTextInput(t,j.Procedures.rename);e.setSpellcheck(!1),this.appendDummyInput().appendField(e,"NAME").appendField("","PARAMS"),this.setMutator(new j.icons.MutatorIcon(["procedures_mutatorarg"],this)),(this.workspace.options.comments||this.workspace.options.parentWorkspace&&this.workspace.options.parentWorkspace.options.comments)&&j.Msg.PROCEDURES_DEFNORETURN_COMMENT&&this.setCommentText(j.Msg.PROCEDURES_DEFNORETURN_COMMENT),this.setStyle("procedure_blocks"),this.setTooltip(j.Msg.PROCEDURES_DEFNORETURN_TOOLTIP),this.setHelpUrl(j.Msg.PROCEDURES_DEFNORETURN_HELPURL),this.arguments_=[],this.argumentVarModels_=[],this.setStatements_(!0),this.statementConnection_=null},setStatements_:function(t){this.hasStatements_!==t&&(t?(this.appendStatementInput("STACK").appendField(j.Msg.PROCEDURES_DEFNORETURN_DO),this.getInput("RETURN")&&this.moveInputBefore("STACK","RETURN")):this.removeInput("STACK",!0),this.hasStatements_=t)},updateParams_:function(){var t="";this.arguments_.length&&(t=j.Msg.PROCEDURES_BEFORE_PARAMS+" "+this.arguments_.join(", ")),j.Events.disable();try{this.setFieldValue(t,"PARAMS")}finally{j.Events.enable()}},mutationToDom:function(t){var e=j.utils.xml.createElement("mutation");t&&e.setAttribute("name",this.getFieldValue("NAME"));for(var i=0;i"),this.appendValueInput("style").appendField(j.Msg.MIXLY_AIP_ATTR).setAlign(j.inputs.Align.RIGHT),this.appendStatementInput("DO").appendField(""),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Fs={init:function(){this.setColour(Ls),this.appendDummyInput().appendField(j.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},vs={init:function(){this.setColour(Ls),this.appendDummyInput().appendField(j.Msg.HTML_FORM_CONTENT).appendField(new j.FieldDropdown([[j.Msg.HTML_TEXT,"text"],[j.Msg.HTML_EMAIL,"email"],[j.Msg.HTML_NUMBER,"number"],[j.Msg.HTML_PASSWORD,"password"],[j.Msg.HTML_CHECKBOX,"checkbox"],[j.Msg.HTML_RADIOBUTTON,"radiobutton"],[j.Msg.HTML_BUTTON,"button"],[j.Msg.HTML_COLOUR,"colour"],[j.Msg.HTML_DATE,"date"],[j.Msg.HTML_LOCALTIME,"local time"],[j.Msg.HTML_FILE,"file"],[j.Msg.HTML_HIDDEN,"hidden"],[j.Msg.HTML_IMAGE,"image"],[j.Msg.HTML_MONTH,"month"],[j.Msg.HTML_RANGE,"range"],[j.Msg.HTML_RESET,"reset"],[j.Msg.HTML_SEARCH,"search"],[j.Msg.HTML_SUBMIT,"submit"],[j.Msg.HTML_TELEPHONENUMBER,"telephone number"],[j.Msg.HTML_TIME,"time"],[j.Msg.HTML_URL,"url"],[j.Msg.HTML_WEEK,"week"]]),"LEVEL"),this.appendDummyInput().appendField(j.Msg.HTML_NAME).appendField(new j.FieldTextInput("car"),"NAME"),this.appendDummyInput().appendField(j.Msg.HTML_VALUE).appendField(new j.FieldTextInput("go"),"VALUE"),this.appendValueInput("style").appendField(j.Msg.MIXLY_AIP_ATTR).setAlign(j.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ys={init:function(){this.setColour(Ls),this.appendDummyInput().appendField(new j.FieldTextInput("property"),"KEY").appendField(":").appendField(new j.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},bs={init:function(){this.setColour(Ls),this.appendDummyInput().appendField(new j.FieldTextInput("property"),"KEY").appendField(":").appendField(new j.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Xs={init:function(){this.setColour(Ls),this.appendDummyInput().appendField(j.Msg.HTML_TEXT).appendField(new j.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ys=160,Vs={init:function(){this.setColour(ys),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new j.FieldTable(""),"TEXT")}},Bs={init:function(){this.setColour(ys),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new j.FieldMultilineInput(""),"TEXT")}},Gs={init:function(){this.setColour(ys),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new j.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},Us={init:function(){this.setColour(ys),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},ws={init:function(){this.setColour(ys),this.appendDummyInput().appendTitle("Comment:").appendTitle(new j.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},ks={init:function(){this.setColour(ys),this.appendValueInput("VALUE").appendField(j.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},xs={init:function(){this.setColour(ys),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new j.icons.MutatorIcon(["text_print_multiple_item"],this)),this.setTooltip(j.Msg.TEXT_PRINT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=j.Block.obtain(t,"text_print_multiple_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n= stop:"," yield start"," start -= abs(step)"])};if(t=function(t,e,i){return"("+t+" <= "+e+") and "+r()+"("+t+", "+e+", "+i+") or "+p()+"("+t+", "+e+", "+i+")"},j.isNumber(n)&&j.isNumber(s)&&j.isNumber(o))n=parseFloat(n),s=parseFloat(s),o=Math.abs(parseFloat(o)),0==n%1&&0==s%1&&0==o%1?(n<=s?(s++,t=0==n&&1==o?s:n+", "+s,1!=o&&(t+=", "+o)):t=n+", "+--s+", -"+o,t="range("+t+")"):(t=n",GTE:">="};const Gu=function(t,e){var i=this.getFieldValue("OP"),n="&&"==i?e.ORDER_LOGICAL_AND:e.ORDER_LOGICAL_OR,s=e.valueToCode(this,"A",n)||"False",o=e.valueToCode(this,"B",n)||"False";if("AND"==i)var _=s+" and "+o;else if("OR"==i)_=s+" or "+o;else if("NOR"==i)_="not("+s+"^"+o+")";else _=s+"^"+o;return[_,n]},Uu=function(t,e){var i=e.ORDER_UNARY_PREFIX;return["not "+(e.valueToCode(this,"BOOL",i)||"False"),i]},wu=function(t,e){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",e.ORDER_ATOMIC]},ku=function(t,e){return["None",e.ORDER_ATOMIC]},xu=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"False";return["("+(e.valueToCode(this,"B",e.ORDER_ATOMIC)||"False")+" if "+i+" else "+(e.valueToCode(this,"C",e.ORDER_ATOMIC)||"False")+")",e.ORDER_ATOMIC]},Hu=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},Wu=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},Ku=function(t,e){return["bool("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||"0")+")",e.ORDER_ATOMIC]},Ju=function(t,e){return e.definitions_.import_os="import os","os.startfile("+e.valueToCode(this,"fn",e.ORDER_ATOMIC)+")\n"},Qu=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+" = open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},ju=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",e.ORDER_ATOMIC]},qu=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',e.ORDER_ATOMIC]},zu=function(t,e){var i=e.valueToCode(this,"data",e.ORDER_ATOMIC);return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".write("+i+")\n"},Zu=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"()",e.ORDER_ATOMIC]},$u=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},tr=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".readline("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},er=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".writable()",e.ORDER_ATOMIC]},ir=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".name()",e.ORDER_ATOMIC]},nr=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".close()\n"},sr=function(t,e){e.definitions_.import_os="import os";return["os.listdir()",e.ORDER_ATOMIC]},or=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},_r=function(t,e){return e.definitions_.import_os="import os",["os.path.getsize("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},ur=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".tell()",e.ORDER_ATOMIC]},rr=function(t,e){var i=this.getFieldValue("MODE"),n=0;return n="start"==i?0:"current"==i?1:2,e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".seek("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+","+n+")\n"},pr=function(t,e){return e.definitions_.import_os="import os","os.chdir("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},ar=function(t,e){e.definitions_.import_os="import os";return["os.getcwd()",e.ORDER_ATOMIC]},lr=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"PATH",e.ORDER_ATOMIC)+")\n"},Ir=function(t,e){return e.definitions_.import_os="import os","os.rename("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+","+e.valueToCode(this,"NEWFILE",e.ORDER_ATOMIC)+")\n"},dr=function(t,e){e.definitions_.import_os="import os";var i=e.valueToCode(this,"FILE",e.ORDER_ATOMIC);return["os."+this.getFieldValue("MODE")+"("+i+")",e.ORDER_ATOMIC]},Tr=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = sdcard.SDCard("+e.valueToCode(this,"SPISUB",e.ORDER_ATOMIC)+","+e.valueToCode(this,"PINSUB",e.ORDER_ATOMIC)+")\n"},hr=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard","os.mount("+e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+","+e.valueToCode(this,"DIR",e.ORDER_ATOMIC)+")\n"},Mr=function(t,e){var i=e.variableDB_.getName(this.getFieldValue("NAME"),j.Procedures.NAME_TYPE),n=(this.getInput("STACK")&&e.statementToCode(this,"STACK"))??" pass\n";e.INFINITE_LOOP_TRAP&&(n=e.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+n);var s=e.valueToCode(this,"RETURN",e.ORDER_NONE)||"";s&&(s=" return "+s+"\n");for(var o=[],_=0;_\n\n\n\t\n"+e.statementToCode(this,"HEAD")+"\n\n"+e.statementToCode(this,"BODY")+"\n\n'''",e.ORDER_ATOMIC]},Zr=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"\n"+i+"\n"},$r=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");if("head"==n)var s="<"+n+'>\n\t\n'+i+"\n";else s="<"+n+">\n"+i+"\n";return s},tp=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"<"+n+">\n"+i+"\n"},ep=function(t,e){var i=e.statementToCode(this,"DO"),n=e.valueToCode(this,"style"),s=this.getFieldValue("LEVEL");return"<"+s+" "+n+" >\n"+i+"\n"},ip=function(t,e){return['style="'+e.statementToCode(this,"STYLE")+'"',e.ORDER_ATOMIC]},np=function(t,e){return'"},sp=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},op=function(){return this.getFieldValue("TEXT")+"\n"},_p=function(t){return t.getFieldValue("TEXT")+"\n"},up=function(t,e){return[t.getFieldValue("TEXT"),e.ORDER_ATOMIC]},rp=function(t,e){return(e.valueToCode(t,"VALUE",e.ORDER_ATOMIC)||"")+"\n"},pp=function(){return""},ap=function(t,e){return["type("+(e.valueToCode(t,"VALUE",e.ORDER_MEMBER)||"___")+")",e.ORDER_ATOMIC]},lp=function(t,e){for(var i=t.getFieldValue("NAME"),n=t.hasReturn_,s=new Array(t.itemCount_),o=0;o0?e.join("\n")+i.join("\n")+n.join("\n")+_.join("\n")+u.join("")+t+"while True:\n"+r.join("")+p.join("\n"):e.join("\n")+i.join("\n")+n.join("\n")+_.join("\n")+u.join("")+t+p.join("\n")},hp.scrubNakedValue=function(t){return t+"\n"},hp.quote_=function(t){var e="'";return-1!==t.indexOf("'")&&(-1===t.indexOf('"')?e='"':t=t.replace(/'/g,"\\'")),e+t+e},hp.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},hp.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(o=t.getCommentText())&&(o=j.utils.string.wrap(o,hp.COMMENT_WRAP-3),n+=hp.prefixLines(o+"\n","# "));for(var s=0;s0?"int("+u+" + "+s+")":s<0?"int("+u+" - "+-s+")":"int("+u+")",n&&(u="-"+u)),u};const Mp=120,mp={init:function(){this.setColour(Mp),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(j.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT).appendField(new j.FieldDropdown(mp.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(j.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return{WHILE:j.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:j.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[e]}))},OPERATORS:[[j.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[j.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]]},Op={init:function(){this.setColour(Mp);var t=new j.FieldDropdown(Op.OPERATORS);this.appendDummyInput().appendField(t,"FLOW").appendField(j.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("FLOW");return{BREAK:j.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:j.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}[t]}))},onchange:function(){if(this.workspace){var t=!1,e=this;do{if("controls_repeat"==e.type||"controls_for"==e.type||"controls_forEach"==e.type||"controls_repeat_ext"==e.type||"controls_whileUntil"==e.type){t=!0;break}e=e.getSurroundParent()}while(e);t?this.setWarningText(null):this.setWarningText(j.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}},OPERATORS:[[j.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[j.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]]},cp="5BA5A5",Ep={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(cp),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(j.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(j.Msg.DISPLAY_IMAGE_LET2).appendField(new j.FieldDropdown(Ep.OPERATORS),"OP"),this.appendValueInput("val").appendField(j.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(j.Msg.DISPLAY_IMAGE_UNIT);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=j.Msg.DISPLAY_IMAGE_LET,n=j.Msg.DISPLAY_IMAGE_LET2,s=j.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:j.Msg.MIXLY_UP,down:j.Msg.MIXLY_DOWN,left:j.Msg.MIXLY_LEFT,right:j.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[j.Msg.MIXLY_UP,"shift_up"],[j.Msg.MIXLY_DOWN,"shift_down"],[j.Msg.MIXLY_LEFT,"shift_left"],[j.Msg.MIXLY_RIGHT,"shift_right"]]},Rp={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(cp),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(j.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new j.FieldDropdown(Rp.OPERATORS),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{"+":j.Msg.MIXLY_MICROBIT_image_add,"-":j.Msg.MIXLY_MICROBIT_image_reduce}[e]}))},OPERATORS:[[j.Msg.MICROBIT_DISPLAY_UNION,"add"],[j.Msg.MICROBIT_DISPLAY_MINUS,"sub"]]},gp={init:function(){this.setColour(cp),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+j.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("esp32_image"),this.appendDummyInput("").appendField(new j.FieldDropdown(gp.OPERATORS),"OP"),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+j.Msg.MIXLY_MICROBIT_IMAGE+{height:j.Msg.MIXLY_HEIGHT,width:j.Msg.MIXLY_WIDTH}[e]}))},OPERATORS:[[j.Msg.MIXLY_HEIGHT,"height"],[j.Msg.MIXLY_WIDTH,"width"]]},Cp={init:function(){this.setColour(cp),this.appendValueInput("VAR").appendField(j.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_RECT).appendField(new j.FieldDropdown(Cp.STATUS),"OP"),this.jsonInit({message0:j.Msg.MIXLY_MICROBIT_SHOW_RECT,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"width"},{check:Number,type:"input_value",name:"height"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(j.Msg.MIXLY_OLED_RECT)},STATUS:[[j.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[j.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},Ap={init:function(){this.setColour(cp),this.appendValueInput("VAR").appendField(j.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE).appendField(new j.FieldDropdown(Ap.STATUS),"OP"),this.jsonInit({message0:j.Msg.MIXLY_HANBIT_SHOW_CIRCLE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"r"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(j.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE)},STATUS:[[j.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[j.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},Lp={init:function(){this.setColour(cp),this.appendValueInput("SUB").setCheck("var").appendField(j.Msg.MSG.catOLED),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(j.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(j.Msg.DISPLAY_IMAGE_LET2).appendField(new j.FieldDropdown(Lp.OPERATORS),"OP"),this.appendValueInput("val").appendField(j.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(j.Msg.DISPLAY_IMAGE_UNIT);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=j.Msg.DISPLAY_IMAGE_LET,n=j.Msg.DISPLAY_IMAGE_LET2,s=j.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:j.Msg.MIXLY_UP,down:j.Msg.MIXLY_DOWN,left:j.Msg.MIXLY_LEFT,right:j.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[j.Msg.MIXLY_UP,"shift_up"],[j.Msg.MIXLY_DOWN,"shift_down"],[j.Msg.MIXLY_LEFT,"shift_left"],[j.Msg.MIXLY_RIGHT,"shift_right"]]},Sp="#569A98",fp={init:function(){this.appendDummyInput("").appendField(j.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(j.inputs.Align.CENTRE).appendField(new j.FieldBitmap(fp.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Sp),this.setTooltip(j.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:12},(()=>new Array(32).fill(0)))},Dp={init:function(){this.setColour(Sp),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(j.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new j.FieldDropdown(Dp.OPERATORS),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{"+":j.Msg.MIXLY_MICROBIT_image_add,"-":j.Msg.MIXLY_MICROBIT_image_reduce}[e]}))},OPERATORS:[[j.Msg.MICROBIT_DISPLAY_UNION,"add"],[j.Msg.MICROBIT_DISPLAY_MINUS,"sub"]]},Np={init:function(){this.setColour(Sp),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(j.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(j.Msg.DISPLAY_IMAGE_LET2).appendField(new j.FieldDropdown(Np.OPERATORS),"OP"),this.appendValueInput("val").appendField(j.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(j.Msg.DISPLAY_IMAGE_UNIT),["Python ESP32-S3","Python ESP32-C5"].includes(q.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(j.Msg.MIXLY_synchronize);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=j.Msg.DISPLAY_IMAGE_LET,n=j.Msg.DISPLAY_IMAGE_LET2,s=j.Msg.DISPLAY_IMAGE_LET3;return i+n+{shift_up:j.Msg.MIXLY_UP,shift_down:j.Msg.MIXLY_DOWN,shift_left:j.Msg.MIXLY_LEFT,shift_right:j.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[j.Msg.MIXLY_UP,"shift_up"],[j.Msg.MIXLY_DOWN,"shift_down"],[j.Msg.MIXLY_LEFT,"shift_left"],[j.Msg.MIXLY_RIGHT,"shift_right"]]},Pp={init:function(){this.appendDummyInput("").appendField(j.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(j.inputs.Align.CENTRE).appendField(new j.FieldBitmap(Pp.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Sp),this.setTooltip(j.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(8).fill(0)))},Fp={init:function(){this.appendDummyInput("").appendField(j.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(j.inputs.Align.CENTRE).appendField(new j.FieldBitmap(Fp.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Sp),this.setTooltip(j.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(12).fill(0)))},vp={init:function(){this.appendDummyInput("").appendField(j.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(j.inputs.Align.CENTRE).appendField(new j.FieldBitmap(vp.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Sp),this.setTooltip(j.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(16).fill(0)))},Yp={init:function(){this.setColour(Sp),this.appendDummyInput().appendField(j.Msg.OLED_SET_FONT).appendField(new j.FieldDropdown(Yp.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[["4x5"+j.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'4x5'"],["5x5"+j.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'5x5'"],["5x8"+j.Msg.MIXGO_ME_DISPLAY_VERTICAL,"'5x8'"]]},bp={init:function(){this.appendDummyInput("").appendField(j.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(j.inputs.Align.CENTRE).appendField(new j.FieldBitmap(bp.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Sp),this.setTooltip(j.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(5).fill(0)))},Xp={init:function(){this.setColour(Sp),this.appendDummyInput().appendField(j.Msg.MIXLY_MIXBOT_SCREEN_ROTATE).appendField(new j.FieldDropdown(Xp.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[[j.Msg.mixpy_PL_PIE_SHADOW_N,"0"],[j.Msg.CLOCKWISE+"90"+j.Msg.blockpy_setheading_degree,"1"],[j.Msg.CLOCKWISE+"180"+j.Msg.blockpy_setheading_degree,"2"],[j.Msg.CLOCKWISE+"270"+j.Msg.blockpy_setheading_degree,"3"]]},yp={init:function(){this.appendDummyInput("").appendField(j.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(j.inputs.Align.CENTRE).appendField(new j.FieldBitmap(yp.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Sp),this.setTooltip(j.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:12},(()=>new Array(12).fill(0)))},Vp=180,Bp={init:function(){this.setColour(Vp),this.setOutput(!0),this.setInputsInline(!0),this.appendValueInput("img").appendField(j.Msg.DISPLAY_IMAGE_LET).setCheck(["esp32_image","List",String]),this.appendDummyInput("").appendField(j.Msg.DISPLAY_IMAGE_LET2).appendField(new j.FieldDropdown(Bp.OPERATORS),"OP"),this.appendValueInput("val").appendField(j.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(j.Msg.DISPLAY_IMAGE_UNIT);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=j.Msg.DISPLAY_IMAGE_LET,n=j.Msg.DISPLAY_IMAGE_LET2,s=j.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:j.Msg.MIXLY_UP,down:j.Msg.MIXLY_DOWN,left:j.Msg.MIXLY_LEFT,right:j.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[j.Msg.MIXLY_UP,"up"],[j.Msg.MIXLY_DOWN,"down"],[j.Msg.MIXLY_LEFT,"left"],[j.Msg.MIXLY_RIGHT,"right"]]},Gp={init:function(){this.setColour(Vp),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(j.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new j.FieldDropdown(Gp.OPERATORS),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{"+":j.Msg.MIXLY_MICROBIT_image_add,"-":j.Msg.MIXLY_MICROBIT_image_reduce}[e]}))},OPERATORS:[[j.Msg.MICROBIT_DISPLAY_UNION,"+"],[j.Msg.MICROBIT_DISPLAY_MINUS,"-"]]},Up={init:function(){this.setColour(Vp),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+j.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("esp32_image"),this.appendDummyInput("").appendField(new j.FieldDropdown(Up.OPERATORS),"OP"),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+j.Msg.MIXLY_MICROBIT_IMAGE+{height:j.Msg.MIXLY_HEIGHT,width:j.Msg.MIXLY_WIDTH}[e]}))},OPERATORS:[[j.Msg.MIXLY_HEIGHT,"height"],[j.Msg.MIXLY_WIDTH,"width"]]},wp={init:function(){this.setColour(Vp),this.appendValueInput("VAR").appendField(j.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_RECT).appendField(new j.FieldDropdown(wp.STATUS),"OP"),this.jsonInit({message0:j.Msg.MIXLY_MICROBIT_SHOW_RECT,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"width"},{check:Number,type:"input_value",name:"height"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(j.Msg.MIXLY_OLED_RECT)},STATUS:[[j.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[j.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},kp={init:function(){this.setColour(Vp),this.appendValueInput("VAR").appendField(j.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE).appendField(new j.FieldDropdown(kp.STATUS),"OP"),this.jsonInit({message0:j.Msg.MIXLY_HANBIT_SHOW_CIRCLE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"r"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(j.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE)},STATUS:[[j.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[j.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},xp={init:function(){this.setColour(Vp),this.appendValueInput("VAR").appendField(j.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_DISPLAY_DRAW+j.Msg.MIXLY_HANBIT_DRAW_TRIANGLE).appendField(new j.FieldDropdown(xp.STATUS),"OP"),this.jsonInit({message0:j.Msg.MIXLY_HANBIT_SHOW_triangle,args0:[{check:Number,type:"input_value",name:"x0"},{check:Number,type:"input_value",name:"y0"},{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(j.Msg.MIXLY_DISPLAY_DRAW+j.Msg.MIXLY_HANBIT_DRAW_TRIANGLE)},STATUS:[[j.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[j.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},Hp=225,Wp={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_NETWORK_INIT),this.appendDummyInput().appendField(j.Msg.MIXLY_NETWORK_MODE).appendField(new j.FieldDropdown([["STA","STA"],["AP","AP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_INIT_TOOLTIP)}},Kp={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(new j.FieldDropdown([[j.Msg.MIXLY_NETWORK_WIFI_OPEN,"True"],[j.Msg.MIXLY_NETWORK_WIFI_CLOSE,"False"]]),"op"),this.appendDummyInput("").appendField(j.Msg.MIXLY_NETWORK_WIFI_FLAG),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("op"),i=j.Msg.MIXLY_ESP32_NETWORK_OPEN_TOOLTIP;return{True:j.Msg.MIXLY_NETWORK_WIFI_OPEN,False:j.Msg.MIXLY_NETWORK_WIFI_CLOSE}[e]+i}))}},Jp={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE)}},Qp={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_NETWORK_WIFI_SCAN),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip((function(){return j.Msg.MIXLY_ESP32_NETWORK_SCAN_TOOLTIP+{0:"ssid",1:"bssid",2:"channel",3:"RSSI",4:"authmode",5:"hidden",all:j.Msg.MIXLY_NETWORK_WIFI_SCAN_ATTRIBUTE}.all}))}},jp={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_ESP32_NETWORK_CONNECT),this.appendValueInput("id").setCheck(String).appendField(j.Msg.HTML_NAME),this.appendValueInput("password").setCheck(String).appendField(j.Msg.HTML_PASSWORD),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_CONNECT_TOOLTIP)}},qp={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_NETWORK_WIFI_CONNECT+j.Msg.MIXLY_SYMBOL_QUESTION),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_WIFI_CONNECT_TOOLTIP)}},zp={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput("").appendField(new j.FieldDropdown([[j.Msg.MIXLY_ESP32_NETWORK_IP,"0"],[j.Msg.MIXLY_ESP32_NETWORK_MASK,"1"],[j.Msg.MIXLY_ESP32_NETWORK_GATEWAY,"2"],["DNS","3"]]),"mode"),this.setOutput(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return j.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP+{0:j.Msg.MIXLY_ESP32_NETWORK_IP,1:j.Msg.MIXLY_ESP32_NETWORK_MASK,2:j.Msg.MIXLY_ESP32_NETWORK_GATEWAY,3:"DNS"}[e]}))}},Zp={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_ESP32_NETWORK_STOP_CONNECT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_STOP_TOOLTIP)}},$p={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput().appendField(new j.FieldDropdown([[j.Msg.MIXLY_NETWORK_WIFI_ESSID,"essid"],[j.Msg.MIXLY_NETWORK_WIFI_CHANNEL,"channel"]]),"op"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP)}},ta={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(j.Msg.LISTS_SET_INDEX_SET+j.Msg.MIXLY_HOTSPOT),this.appendValueInput("essid").setCheck(String).appendField(j.Msg.MIXLY_NAME),this.appendValueInput("password").setCheck(String).appendField(j.Msg.MIXLY_EMQX_PASSWORD),this.appendValueInput("channel").setCheck(Number).appendField(j.Msg.MIXLY_NETWORK_WIFI_CHANNEL),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_AP_CONNECT_TOOLTIP)}},ea={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_ESP32_NETWORK_SERVER1),this.appendDummyInput("").appendField(j.Msg.MIXLY_ESP32_NETWORK_SERVER2),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},ia={init:function(){this.setColour(Hp),this.appendValueInput("VAR").appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_INIT).setCheck("var"),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new j.FieldDropdown([["TCP","TCP"],["UDP","UDP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return j.Msg.MIXLY_ESP32_NETWORK_SOCKET_INIT_TOOLTIP+{TCP:"TCP",UDP:"UDP"}[e]}))}},na={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var").appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_BIND_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_SOCKET_BIND_TOOLTIP)}},sa={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var").appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_CONNECT_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_SOCKET_CONNECT_TOOLTIP)}},oa={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var"),this.appendValueInput("queue").setCheck(Number).appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_LISTEN).appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_QUEUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_SOCKET_LISTEN_TOOLTIP)}},_a={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_ACCEPT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_SOCKET_ACCEPT_TOOLTIP)}},ua={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE_TOOLTIP)}},ra={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("size").setCheck(Number).appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_TOOLTIP)}},pa={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("content").appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TOOLTIP)}},aa={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("size").setCheck(Number).appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_FROM_TOOLTIP)}},la={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("content").appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.appendValueInput("address").appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_TO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TO_TOOLTIP)}},Ia={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_CLOSE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},da={init:function(){this.setColour(Hp),this.appendValueInput("DOMAIN").appendField(j.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(j.Msg.blockpy_REQUESTS_GET).appendField(new j.FieldTextInput("response"),"VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(j.Msg.blockpy_REQUESTS_GET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){j.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Ta={init:function(){this.appendValueInput("VAL"),this.setColour(Hp),this.appendDummyInput("").appendField(j.Msg.MIXLY_MICROBIT_JS_GET).appendField(new j.FieldDropdown(Ta.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{clear:j.Msg.MIXLY_TOOLTIP_TURTEL_CLEAR,reset:j.Msg.MIXLY_TOOLTIP_TURTEL_RESET,home:j.Msg.MIXLY_TOOLTIP_TURTEL_HOME}[e]}))},ATTR:[[j.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[j.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[j.Msg.blockpy_REQUESTS_GET_ATTR_COOKIES,"cookies"],[j.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"]]},ha={init:function(){this.appendValueInput("VAR").appendField(j.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.setColour(Hp),this.appendDummyInput("").appendField(j.Msg.blockpy_CONDUCT).appendField(new j.FieldDropdown(ha.METHOD),"DIR"),this.appendDummyInput("").appendField(j.Msg.blockpy_REQUESTS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{forward:j.Msg.MIXLY_TOOLTIP_TURTEL_FORWARD,backward:j.Msg.MIXLY_TOOLTIP_TURTEL_BACKWARD}[e]}))},METHOD:[["post","post"],["put","put"],["delete","delete"],["head","head"],["option","option"]]},Ma={init:function(){this.setColour(Hp),this.appendDummyInput("").appendField(j.Msg.MIXLY_GET_NTP+"(NTP)"),this.appendValueInput("data").appendField(j.Msg.blynk_SERVER_ADD),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},ma={init:function(){this.setColour(Hp),this.appendDummyInput("").appendField(new j.FieldDropdown([["ntp.aliyun.com","ntp.aliyun.com"],["ntp1.aliyun.com","ntp1.aliyun.com"],["ntp2.aliyun.com","ntp2.aliyun.com"],["ntp3.aliyun.com","ntp3.aliyun.com"],["ntp4.aliyun.com","ntp4.aliyun.com"],["ntp5.aliyun.com","ntp5.aliyun.com"],["ntp6.aliyun.com","ntp6.aliyun.com"],["ntp7.aliyun.com","ntp7.aliyun.com"],["time1.cloud.tencent.com","time1.cloud.tencent.com"],["time2.cloud.tencent.com","time2.cloud.tencent.com"],["time3.cloud.tencent.com","time3.cloud.tencent.com"],["time4.cloud.tencent.com","time4.cloud.tencent.com"],["time5.cloud.tencent.com","time5.cloud.tencent.com"]]),"op"),this.setOutput(!0)}},Oa="#3288dd",ca={init:function(){this.setColour(Oa),this.appendValueInput("URL").appendField(j.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(j.Msg.blockpy_CONDUCT).appendField(new j.FieldDropdown([["get","get"],["head","head"],["delete","delete"]]),"TYPE").appendField(j.Msg.blockpy_REQUESTS).appendField(j.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},Ea={init:function(){this.setColour(Oa),this.appendValueInput("URL").appendField(j.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(j.Msg.blockpy_CONDUCT).appendField(new j.FieldDropdown([["post","post"],["put","put"],["patch","patch"]]),"TYPE").appendField(j.Msg.blockpy_REQUESTS),this.appendValueInput("data").appendField(j.Msg.blockpy_REQUESTS+j.Msg.OLED_STRING),this.appendDummyInput("").appendField(j.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},Ra={init:function(){this.appendValueInput("VAL"),this.setColour(Oa),this.appendDummyInput("").appendField(j.Msg.MIXLY_MICROBIT_JS_GET).appendField(new j.FieldDropdown(Ra.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String)},ATTR:[[j.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[j.Msg.blockpy_REQUESTS_GET_ATTR_JSON,"json()"],[j.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[j.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"],[j.Msg.MIXPY_TEXT_ENCODE,"encoding"]]},ga={init:function(){this.setColour(Oa),this.appendDummyInput().appendField(j.Msg.MIXLY_ESP32_IOT_CONNECT_WIFI),this.appendValueInput("WIFINAME").setCheck(String).appendField(j.Msg.HTML_NAME),this.appendValueInput("PASSWORD").setCheck(String).appendField(j.Msg.HTML_PASSWORD),this.appendValueInput("TIMEOUT").setCheck(Number).appendField(j.Msg.MIXLY_IR_TIMEOUT),this.appendDummyInput().appendField(j.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(j.Msg.MIXLY_ESP32_IOT_WIFI_CONNECT_TOOLTIP)}},Ca={init:function(){this.setColour(Oa),this.appendDummyInput().appendField(j.Msg.MIXLY_ESP32_IOT_EMQX_CONNECT_TOOLTIP),this.appendValueInput("SERVER").setCheck(String).appendField(j.Msg.MIXLY_EMQX_SERVER).setAlign(j.inputs.Align.RIGHT),this.appendValueInput("PORT").setCheck(Number).appendField(j.Msg.MIXLY_EMQX_PORT).setAlign(j.inputs.Align.RIGHT),this.appendValueInput("CLIENT_ID").setCheck(String).appendField(j.Msg.MIXLY_EMQX_CLIENT_ID).setAlign(j.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(j.Msg.MIXLY_WIFI_USERNAME).setAlign(j.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(j.Msg.MIXLY_IOT_PASSWORD).setAlign(j.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Aa={init:function(){this.setColour(Oa),this.appendValueInput("TOPIC").appendField(j.Msg.MIXLY_EMQX_SUBSCRIBE+j.Msg.MIXLY_MICROBIT_MSG).appendField(j.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MESSAGE").appendField(j.Msg.blockpy_set_of),this.setInputsInline(!0),this.setOutput(!0)}},La={init:function(){this.setColour(Oa),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(j.Msg.MIXLY_EMQX_SUBSCRIBE+j.Msg.MIXLY_MICROBIT_MSG).appendField(j.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(j.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Sa={init:function(){this.setColour(Oa),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(j.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(j.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(j.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},fa={init:function(){this.setColour(Oa),this.appendDummyInput().appendField("mqtt"+j.Msg.MIXLY_EMQX_IS_CONNECT),this.setInputsInline(!0),this.setOutput(!0)}},Da="#A58C5B",Na={init:function(){this.setColour(Da),this.appendValueInput("PIN",Number).appendField(new j.FieldDropdown([["DHT11","DHT11"],["DHT22","DHT22"]]),"TYPE").appendField(j.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(new j.FieldDropdown(Na.METHOD),"WHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("WHAT");return{temperature:j.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM,relative_humidity:j.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_HUM,tempandhum:j.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM_HUM}[e]}))},METHOD:[[j.Msg.MIXLY_GETTEMPERATUE,"temperature"],[j.Msg.MIXLY_GETHUMIDITY,"humidity"]]},Pa={init:function(){this.setColour(Da),this.appendValueInput("SUB").appendField(j.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(j.Msg.MIXLY_GETTEMPERATUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_GETTEMPERATUE)}},Fa={init:function(){this.setColour(Da),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_JS_GET_COMPASS).appendField(new j.FieldDropdown([[j.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,"strength"],[j.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"heading"]]),"compass"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("compass");return j.Msg.MIXLY_MICROBIT_JS_GET_COMPASS+{strength:j.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,heading:j.Msg.MIXLY_MICROBIT_JS_BY_ANGLE}[e]}))}},va=(j.Msg.PS2_TRIANGLE,j.Msg.PS2_CIRCLE,j.Msg.PS2_CROSS,j.Msg.PS2_SQUARE,j.Msg.PS2_L1,j.Msg.PS2_L2,j.Msg.PS2_R1,j.Msg.PS2_R2,j.Msg.PS2_UP,j.Msg.PS2_RIGHT,j.Msg.PS2_DOWN,j.Msg.PS2_LEFT,j.Msg.PS2_SELECT,j.Msg.PS2_START,{init:function(){this.setColour(Da),this.appendDummyInput("").appendField(j.Msg.PS2_stick).appendField(new j.FieldDropdown(va.PSSTK),"psstk"),this.setOutput(!0,Number),this.setTooltip("")},PSSTK:[[j.Msg.PS2_RX,"0"],[j.Msg.PS2_RY,"1"],[j.Msg.PS2_LX,"2"],[j.Msg.PS2_LY,"3"]]}),Ya={init:function(){this.setColour(Da),this.appendValueInput("SUB").appendField(j.Msg.PS2),this.appendDummyInput("").appendField(j.Msg.MIXLY_JOYSTICK).appendField(new j.FieldDropdown(Ya.PSSTK),"psstk"),this.setOutput(!0,Number),this.setTooltip("")},PSSTK:[[j.Msg.PS2_RX,"RX"],[j.Msg.PS2_RY,"RY"],[j.Msg.PS2_LX,"LX"],[j.Msg.PS2_LY,"LY"]]},ba="#947C54",Xa={init:function(){this.setColour(ba),this.appendValueInput("btn").appendField(j.Msg.MIXLY_BUTTON).setCheck(Number),this.appendDummyInput().appendField(j.Msg.MIXLY_IS_PRESSED),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_SENOR_IS_PRESSED)}},ya={init:function(){this.setColour(ba),this.appendValueInput("btn").appendField(j.Msg.MIXLY_BUTTON).setCheck(Number),this.appendDummyInput().appendField(j.Msg.MIXLY_WAS_PRESSED),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_SENOR_WAS_PRESSED)}},Va={init:function(){this.setColour(ba),this.appendValueInput("btn").appendField(j.Msg.MIXLY_BUTTON).setCheck(Number),this.appendDummyInput().appendField(j.Msg.MIXLY_GET_PRESSES),this.appendValueInput("VAR").setCheck(Number).appendField(j.Msg.MIXLY_GET_PRESSES_TIME),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(j.Msg.PROCEDURES_DEFRETURN_RETURN+j.Msg.MIXLY_BUTTON+j.Msg.MIXLY_GET_PRESSES)}},Ba={init:function(){this.setColour(ba),this.appendValueInput("btn").appendField(j.Msg.MIXLY_ESP32_INTERRUPT).appendField(j.Msg.MIXLY_BUTTON).setCheck(Number),this.appendDummyInput("").appendField(j.Msg.MIXLY_MODE).appendField(new j.FieldDropdown([[j.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[j.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[j.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(j.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_INOUT_ATTACHINTERRUPT)}},Ga={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_BUTTON),this.appendDummyInput().appendField(j.Msg.MIXLY_IS_PRESSED),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_SENOR_IS_PRESSED)}},Ua={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_BUTTON),this.appendDummyInput().appendField(j.Msg.MIXLY_WAS_PRESSED),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_SENOR_WAS_PRESSED)}},wa={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_BUTTON),this.appendDummyInput().appendField(j.Msg.MIXLY_GET_PRESSES),this.appendValueInput("VAR").setCheck(Number).appendField(j.Msg.MIXLY_GET_PRESSES_TIME),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(j.Msg.PROCEDURES_DEFRETURN_RETURN+j.Msg.MIXLY_BUTTON+j.Msg.MIXLY_GET_PRESSES)}},ka={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_ESP32_INTERRUPT).appendField(j.Msg.MIXLY_BUTTON),this.appendDummyInput("").appendField(j.Msg.MIXLY_MODE).appendField(new j.FieldDropdown([[j.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[j.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[j.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(j.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_INOUT_ATTACHINTERRUPT)}},xa={init:function(){this.setColour(ba),this.appendValueInput("button").appendField(j.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendDummyInput().appendField(j.Msg.MIXLY_IS_TOUCHED),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_sensor_pin_pressed)}},Ha={init:function(){this.setColour(ba),this.appendValueInput("button").appendField(j.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendDummyInput().appendField(j.Msg.MIXLY_IS_TOUCHED),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_sensor_pin_pressed)}},Wa={init:function(){this.setColour(ba),this.appendValueInput("button").appendField(j.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendDummyInput().appendField(j.Msg.MIXLY_IS_TOUCHED),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_sensor_pin_pressed)}},Ka={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_TOUCH_SLIDE),this.appendDummyInput().appendField(j.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_TOUCH_SLIDE_TOOLTIP)}},Ja={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_CHAOSHENGBO),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_CHAOSHENGBO)}},Qa={init:function(){this.setColour(ba),this.appendDummyInput("").setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_RTCSETTIME).appendField("myRTC"),this.appendValueInput("hour").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(" "+j.Msg.MIXLY_HOUR),this.appendValueInput("minute").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(" "+j.Msg.MIXLY_MINUTE),this.appendValueInput("second").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(" "+j.Msg.MIXLY_SECOND),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!1),this.setTooltip(j.Msg.MIXLY_RTCSETTIME+j.Msg.MIXLY_MIX2)}},ja={init:function(){this.setColour(ba),this.appendDummyInput("").setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_RTCSETDATE).appendField("myRTC"),this.appendValueInput("year").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(" "+j.Msg.MIXLY_YEAR),this.appendValueInput("month").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(" "+j.Msg.MIXLY_MONTH),this.appendValueInput("day").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(" "+j.Msg.MIXLY_DAY),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(j.Msg.MIXLY_RTCSETDATE+j.Msg.MIXLY_MIX1)}},qa={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(j.Msg.MIXLY_CHAOSHENGBO),this.appendValueInput("PIN1",Number).appendField("Trig #").setCheck(Number),this.appendValueInput("PIN2",Number).appendField("Echo #").setCheck(Number),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(j.Msg.MIXLY_TOOLTIP_BLOCKGROUP_CHAOSHENGBO)}},za={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_ESP32_LIGHT),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(j.Msg.ESP32_SENSOR_NIXGO_LIGHT_TOOLTIP)}},Za={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(new j.FieldDropdown([["1","touch1"],["2","touch2"]]),"op"),this.setOutput(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},$a={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(new j.FieldDropdown([["0","0"],["1","1"],["2","2"],["3","3"]]),"op"),this.setOutput(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},tl={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(new j.FieldDropdown([[j.Msg.MIXLY_UP,"12"],[j.Msg.MIXLY_DOWN,"14"],[j.Msg.MIXLY_LEFT,"13"],[j.Msg.MIXLY_RIGHT,"15"],["A","32"],["B","33"]]),"op"),this.setOutput(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},el={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(new j.FieldDropdown([["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]]),"op"),this.setOutput(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},il={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(new j.FieldDropdown([["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"]]),"op"),this.setOutput(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},nl={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(new j.FieldDropdown([["3","3"],["4","4"]]),"op"),this.setOutput(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},sl={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(new j.FieldDropdown([["0","0"],["1","1"]]),"op"),this.setOutput(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},ol={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_ESP32_EXTERN_NEAR),this.appendDummyInput().appendField(j.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP+j.Msg.MIXLY_ESP32_NEAR)}},_l={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new j.FieldDropdown([[j.Msg.TEXT_TRIM_LEFT,"left"],[j.Msg.TEXT_TRIM_RIGHT,"right"]]),"direction").appendField(j.Msg.MIXLY_ESP32_NEAR),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("direction"),i=j.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP,n=j.Msg.MIXLY_ESP32_NEAR;return i+{left:j.Msg.TEXT_TRIM_LEFT,right:j.Msg.TEXT_TRIM_RIGHT}[e]+n}))}},ul={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+j.Msg.MIXLY_ESP32_NEAR),this.setOutput(!0,Number),this.setInputsInline(!0)}},rl={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new j.FieldDropdown([[j.Msg.TEXT_TRIM_LEFT,"l"],[j.Msg.TEXT_TRIM_RIGHT,"r"]]),"direction").appendField(j.Msg.MIXLY_ESP32_NEAR),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("direction"),i=j.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP,n=j.Msg.MIXLY_ESP32_NEAR;return i+{l:j.Msg.TEXT_TRIM_LEFT,r:j.Msg.TEXT_TRIM_RIGHT}[e]+n}))}},pl={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new j.FieldDropdown([[j.Msg.TEXT_TRIM_LEFT,"l"],[j.Msg.TEXT_TRIM_RIGHT,"r"]]),"direction").appendField(j.Msg.MIXLY_ESP32_EXTERN_LIGHT+j.Msg.MIXLY_DATA),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("direction"),i=j.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP,n=j.Msg.MIXLY_ESP32_EXTERN_LIGHT;return i+{l:j.Msg.TEXT_TRIM_LEFT,r:j.Msg.TEXT_TRIM_RIGHT}[e]+n}))}},al={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+j.Msg.MIXLY_ESP32_EXTERN_LIGHT+j.Msg.MIXLY_DATA),this.setOutput(!0,Number),this.setInputsInline(!0)}},ll={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+j.Msg.MIXLY_COLOR_SENSOR+j.Msg.MIXLY_DATA),this.setOutput(!0,Number),this.setInputsInline(!0)}},Il={init:function(){this.setColour(ba),this.appendDummyInput().appendField("RTC"),this.appendDummyInput().setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_RTCGETTIME),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(j.Msg.MIXLY_ESP32_RTC_GET_TIME_TOOLTIP+" (year, month, mday, hour, minute, second, weekday, yearday)")}},dl={init:function(){this.setColour(ba),this.appendValueInput("LIST").appendField(j.Msg.MIXLY_RTCGETTIMESTAMP),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(j.Msg.MIXLY_ESP32_RTC_GET_TIMESTAMP_TOOLTIP)}},Tl={init:function(){this.setColour(ba),this.appendValueInput("VAR").appendField(j.Msg.MIXLY_RTC_TIMESTAMP),this.appendDummyInput().appendField(j.Msg.LISTS_TO_TUPLE),this.setInputsInline(!0),this.setOutput(!0,Number)}},hl={init:function(){this.setColour(ba),this.appendDummyInput().appendField("RTC"),this.appendValueInput("CONTENT").appendField(j.Msg.MIXLY_USE_STRING_TUPLE),this.appendDummyInput().appendField(j.Msg.MIXLY_RTCSETTIME),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Ml={init:function(){this.setColour(ba),this.appendDummyInput().appendField("RTC"),this.appendValueInput("year").setCheck(Number).appendField(" "+j.Msg.MIXLY_YEAR),this.appendValueInput("month").setCheck(Number).appendField(" "+j.Msg.MIXLY_MONTH),this.appendValueInput("day").setCheck(Number).appendField(" "+j.Msg.MIXLY_DAY),this.appendValueInput("hour").setCheck(Number).appendField(" "+j.Msg.MIXLY_HOUR),this.appendValueInput("minute").setCheck(Number).appendField(" "+j.Msg.MIXLY_MINUTE),this.appendValueInput("second").setCheck(Number).appendField(" "+j.Msg.MIXLY_SECOND),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(j.Msg.MIXLY_ESP32_RTC_SET_DATATIME_TOOLTIP)}},ml={init:function(){this.setColour(ba),this.appendDummyInput("").appendField("RTC"),this.appendValueInput("SUB").appendField(j.Msg.MIXLY_SETUP).setCheck("var"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(j.Msg.MIXLY_ESP32_SENSOR_RTC_INT_TOOLTIP)}},Ol={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_RTC_GET_TIME_STR),this.setOutput(!0,String),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_RTC_GET_TIME_TOOLTIP)}},cl={init:function(){this.setColour(ba),this.appendValueInput("CONTENT").appendField(j.Msg.MIXLY_GPS_TIME+j.Msg.MIXLY_MICROBIT_TYPE_TUPLE).setCheck(),this.appendDummyInput().appendField(j.Msg.A_TO_B+j.Msg.MIXLY_GPS_TIME+j.Msg.LANG_MATH_STRING),this.setOutput(!0,String),this.setInputsInline(!0)}},El={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_ESP32_LIGHT),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(j.Msg.ESP32_SENSOR_NIXGO_LIGHT_TOOLTIP)}},Rl={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_ESP32_SOUND),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(j.Msg.ESP32_SENSOR_NIXGO_SOUND_TOOLTIP)}},gl={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(j.Msg.MIXLY_TEM_HUM+" "),this.appendDummyInput("").appendField(new j.FieldDropdown([[j.Msg.MIXLY_GETTEMPERATUE,"temperature"],[j.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{temperature:j.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,humidity:j.Msg.MIXLY_ESP32C3_SENSOR_AHT_HUM_TOOLTIP}[e]}))}},Cl={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_GETTEMPERATUE),this.setOutput(!0,Number),this.setInputsInline(!0)}},Al={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(j.Msg.MIXLY_Altitude+j.Msg.MSG.catSensor+" "),this.appendDummyInput("").appendField(new j.FieldDropdown([[j.Msg.MIXLY_GETPRESSURE,"pressure()"],[j.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[j.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Ll={init:function(){this.setColour(ba),this.appendDummyInput().appendField("RFID"+j.Msg.MIXLY_RFID_READ_CARD),this.appendDummyInput("").appendField(j.Msg.MIXLY_RFID_READ_CARD_UID),this.setOutput(!0,Number),this.setInputsInline(!0)}},Sl={init:function(){this.setColour(ba),this.appendDummyInput().appendField("RFID"+j.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SECTOR").appendField(j.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL),this.setOutput(!0,Number),this.setInputsInline(!0)}},fl={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SECTOR").appendField(j.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(j.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Dl={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SECTOR").appendField(j.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(j.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(j.Msg.RETURN_SUCCESS_OR_NOT),this.setInputsInline(!0),this.setOutput(!0,Boolean)}},Nl={init:function(){this.setColour(ba),this.appendDummyInput("").appendField("RFID").appendField(new j.FieldDropdown([[j.Msg.MIXLY_RFID_SCAN_OK,"True"],[j.Msg.MIXLY_RFID_SCAN_NOTAGERR,"None"],[j.Msg.MIXLY_RFID_SCAN_ERROR,"False"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Pl={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new j.FieldDropdown([["x","[0]"],["y","[1]"],["z","[2]"],["(x,y,z)",""],[j.Msg.MIXLY_STRENGTH,"strength"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=j.Msg.MIXLY_MICROBIT_Direction,s=j.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{"[0]":"x","[1]":"y","[2]":"z","":j.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},Fl={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(j.Msg.MIXLY_GET_GESTURE_ALL).appendField(new j.FieldDropdown([[j.Msg.ME_GO_PITCH,"[0]"],[j.Msg.ME_GO_ROLL,"[1]"],[j.Msg.ME_GO_PITCH+", "+j.Msg.ME_GO_ROLL,""]]),"angle"),this.appendDummyInput(""),this.setOutput(!0,Number),this.setInputsInline(!0)}},vl={init:function(){this.setColour(ba),this.appendDummyInput("").appendField("MPU9250"),this.appendDummyInput("").appendField(j.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new j.FieldDropdown([[j.Msg.MIXLY_MICROBIT_shake,"shake"],[j.Msg.MIXLY_UP,"up"],[j.Msg.MIXLY_DOWN,"down"],[j.Msg.MIXLY_LEFT,"left"],[j.Msg.MIXLY_RIGHT,"right"],[j.Msg.MIXLY_MICROBIT_face_up,"face up"],[j.Msg.MIXLY_MICROBIT_face_down,"face down"]]),"gesture"),this.setOutput(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("gesture"),i=j.Msg.MIXLY_MICROBIT_JS_CURRENT,n=j.Msg.MSG.catSensor,s=j.Msg.MIXLY_MICROBIT_JS_STATE,o=j.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:j.Msg.MIXLY_MICROBIT_shake,up:j.Msg.MIXLY_UP,down:j.Msg.MIXLY_DOWN,left:j.Msg.MIXLY_LEFT,right:j.Msg.MIXLY_RIGHT,"face up":j.Msg.MIXLY_MICROBIT_face_up,"face down":j.Msg.MIXLY_MICROBIT_face_down}[e]+o}))}},Yl={init:function(){this.setColour(ba),this.appendDummyInput("").appendField("MPU9250"),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new j.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=j.Msg.MIXLY_MICROBIT_Direction,s=j.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":j.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},bl={init:function(){this.setColour(ba),this.appendDummyInput("").appendField("MPU9250"),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_JS_GET+j.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH).appendField(new j.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=j.Msg.MIXLY_MICROBIT_Direction,s=j.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH;return i+{x:"x",y:"y",z:"z","(x,y,z)":j.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},Xl={init:function(){this.setColour(ba),this.appendDummyInput("").appendField("MPU9250"),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+j.Msg.MIXLY_ESP32_SENOR_GYRO).appendField(new j.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=j.Msg.MIXLY_MICROBIT_Direction,s=j.Msg.MIXLY_ESP32_SENOR_GYRO;return i+{x:"x",y:"y",z:"z","(x,y,z)":j.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},yl={init:function(){this.setColour(ba),this.appendDummyInput("").appendField("MPU9250"),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS)}},Vl={init:function(){this.setColour(ba),this.appendDummyInput("").appendField("MPU9250"),this.appendDummyInput().appendField(j.Msg.MIXLY_GETTEMPERATUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_GETTEMPERATUE)}},Bl={init:function(){this.setColour(ba),this.appendDummyInput("").appendField("MPU9250"),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_JS_GET_COMPASS).appendField(new j.FieldDropdown([[j.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,"strength"],[j.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"heading"]]),"compass"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("compass");return j.Msg.MIXLY_MICROBIT_JS_GET_COMPASS+{strength:j.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,heading:j.Msg.MIXLY_MICROBIT_JS_BY_ANGLE}[e]}))}},Gl={init:function(){this.setColour(ba),this.appendDummyInput("").appendField("MPU9250"),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_Reset_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_MICROBIT_Reset_COMPASS)}},Ul={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_JS_GET+j.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH).appendField(new j.FieldDropdown([["x","[0]"],["y","[1]"],["z","[2]"],["(x,y,z)",""],[j.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH_ALL,"all"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=j.Msg.MIXLY_MICROBIT_Direction,s=j.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH;return i+{"[0]":"x","[1]":"y","[2]":"z","":j.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},wl={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_JS_GET_COMPASS+j.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},kl={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS)}},xl={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(j.Msg.MIXLY_GETTEMPERATUE),this.appendDummyInput(""),this.setOutput(!0,Number),this.setInputsInline(!0)}},Hl={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(j.Msg.MIXLY_GETTEMPERATUE),this.appendDummyInput(""),this.setOutput(!0,Number),this.setInputsInline(!0)}},Wl={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+j.Msg.MIXLY_ESP32_SENOR_GYRO).appendField(new j.FieldDropdown([["x","[0]"],["y","[1]"],["z","[2]"],["(x,y,z)",""]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=j.Msg.MIXLY_MICROBIT_Direction,s=j.Msg.MIXLY_ESP32_SENOR_GYRO;return i+{"[0]":"x","[1]":"y","[2]":"z","":j.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},Kl={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_GETTEMPERATUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_GETTEMPERATUE)}},Jl={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new j.FieldDropdown([[j.Msg.TEXT_TRIM_LEFT,"1"],[j.Msg.TEXT_TRIM_RIGHT,"2"]]),"direction").appendField(j.Msg.MIXLY_ESP32_NEAR),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("direction"),i=j.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP,n=j.Msg.MIXLY_ESP32_NEAR;return i+{left:j.Msg.TEXT_TRIM_LEFT,right:j.Msg.TEXT_TRIM_RIGHT}[e]+n}))}},Ql={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MIXGO_CAR_BATTERY_LEFT),this.setOutput(!0),this.setInputsInline(!0)}},jl={init:function(){this.setColour(ba),this.appendDummyInput().appendField("acc"+j.Msg.MIXLY_MICROBIT_JS_GET).appendField(new j.FieldDropdown([[j.Msg.MIXLY_ADXL345_XA,"[0]"],[j.Msg.MIXLY_ADXL345_YA,"[1]"],[j.Msg.MIXLY_ACC_SHAKE,"[2]"],[j.Msg.MIXLY_ADXL345_XA+","+j.Msg.MIXLY_ADXL345_YA+","+j.Msg.MIXLY_ACC_SHAKE,""]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_MICROBIT_JS_ACCELERATION)}},ql={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new j.FieldDropdown([[j.Msg.TEXT_TRIM_LEFT,"[0]"],[j.Msg.MIXGO_LEFT_MID,"[1]"],[j.Msg.MIXGO_RIGHT_MID,"[2]"],[j.Msg.TEXT_TRIM_RIGHT,"[3]"],[j.Msg.MIXLY_ALL,""]]),"key").appendField(j.Msg.MIXGO_LINE_SENSOR_VAL),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip((function(){return j.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP+j.Msg.MIXLY_ESP32_NEAR}))}},zl={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new j.FieldDropdown([[j.Msg.MIXGO_LEFT_FRONT,"[0]"],[j.Msg.MIXGO_RIGHT_FRONT,"[1]"],[j.Msg.MIXGO_LEFT_BACK,"[3]"],[j.Msg.MIXGO_RIGHT_BACK,"[2]"],[j.Msg.MIXLY_ALL,""]]),"key").appendField(j.Msg.MIXGO_PROXIMITY_SENSOR),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip((function(){return j.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP+j.Msg.MIXLY_ESP32_NEAR}))}},Zl={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MIXGO_CAR_SENSOR_ONBOARD_CHANGE).appendField(new j.FieldDropdown([[j.Msg.MIXLY_MIXGO_CAR_SENSOR_ONBOARD_AUTO_CHANGE,"AS"],[j.Msg.MIXLY_MIXGO_CAR_USE_LINE_ONLY,"LP"],[j.Msg.MIXLY_MIXGO_CAR_USE_PROXIMITY_ONLY,"OA"]]),"key"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},$l={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MIXGO_CAR_BATTERY_LEFT),this.setOutput(!0),this.setInputsInline(!0)}},tI={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXGO_LINE_SENSOR).appendField(new j.FieldDropdown([[j.Msg.MIXLY_MIXBOT_LINE_SENSOR_CALIBRATE_WHITE,"WHITE"],[j.Msg.MIXLY_MIXBOT_LINE_SENSOR_CALIBRATE_BLACK,"BLACK"],[j.Msg.MIXLY_MIXBOT_LINE_SENSOR_CALIBRATE_RESET,"RESET_TO_FAB"]]),"key"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},eI={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new j.FieldDropdown([[j.Msg.MIXGO_LEFT_FRONT,"[0]"],[j.Msg.MIXGO_RIGHT_FRONT,"[1]"],[j.Msg.MIXGO_LEFT_BACK,"[3]"],[j.Msg.MIXGO_RIGHT_BACK,"[2]"],[j.Msg.MIXLY_ALL,""]]),"key").appendField(j.Msg.MIXGO_LINE_SENSOR_VAL),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip((function(){return j.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP+j.Msg.MIXLY_ESP32_NEAR}))}},iI={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(j.Msg.MIXLY_MICROBIT_JS_GET+j.Msg.MIXLY_MICROBIT_Board_temperature),this.appendDummyInput(""),this.setOutput(!0,Number),this.setInputsInline(!0)}},nI={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+j.Msg.MIXLY_ESP32_SENOR_GYRO).appendField(new j.FieldDropdown([["x","[0]"],["y","[1]"],["z","[2]"],["(x,y,z)",""]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=j.Msg.MIXLY_MICROBIT_Direction,s=j.Msg.MIXLY_ESP32_SENOR_GYRO;return i+{"[0]":"x","[1]":"y","[2]":"z","":j.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},sI={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.ANALOG+j.Msg.MIXLY_ESP32_EXTERN_LIGHT),this.appendValueInput("mode").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(j.Msg.MIXLY_GET_LIGHT_INTENSITY+"(%)"),this.setOutput(!0,Number),this.setInputsInline(!0)}},oI={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(new j.FieldDropdown(q.Profile.default.als_num),"PIN"),this.setOutput(!0,Number)}},_I=Xa,uI=ya,rI=Va,pI=xa,aI=ul,lI=za,II=Na,dI=Fa,TI=Pa,hI={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(j.Msg.MIXLY_ESP32_EXTERN_SOUND),this.setInputsInline(!0),this.setOutput(!0)}},MI={init:function(){this.setColour(ba),this.appendValueInput("SUB").appendField(j.Msg.MIXLY_GET).setCheck("var"),this.appendDummyInput("").appendField(j.Msg.blockpy_set_of+j.Msg.MIXLY_MICROBIT_JS_I2C_VALUE),this.setInputsInline(!0),this.setOutput(!0)}},mI={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(j.Msg.MIXLY_LIGHT_SENSOR),this.setInputsInline(!0),this.setOutput(!0)}},OI={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(j.Msg.MIXLY_GYROSCOPE_SENSOR),this.setInputsInline(!0),this.setOutput(!0)}},cI={init:function(){this.setColour(ba),this.appendValueInput("SUB").appendField(j.Msg.MIXLY_GET).setCheck("var"),this.appendDummyInput("").appendField(new j.FieldDropdown([[j.Msg.MIXLY_Horizontal_inclination,"X"],["y","[1]"],["z","[2]"]]),"key"),this.setInputsInline(!0),this.setOutput(!0)}},EI={init:function(){this.setColour(ba),this.appendValueInput("SUB").appendField(j.Msg.MIXLY_GET).setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_BE_SHAKED),this.setInputsInline(!0),this.setOutput(!0)}},RI={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(j.Msg.MIXLY_BUTTON).appendField(new j.FieldDropdown([["a","a"],["b","b"],["c","c"]]),"btn"),this.setOutput(!0),this.setInputsInline(!0)}},gI={init:function(){this.setColour(ba),this.appendValueInput("SUB").appendField(j.Msg.MIXLY_BUTTON),this.appendDummyInput().appendField(j.Msg.MIXLY_WAS_PRESSED),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_SENOR_WAS_PRESSED)}},CI={init:function(){this.setColour(ba),this.appendValueInput("PIN").appendField(j.Msg.MIXLY_COMMUNICATION_RFID_INITIAL),this.setOutput(!0),this.setInputsInline(!0)}},AI={init:function(){this.setColour(ba),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(j.Msg.MIXLY_COMMUNICATION_RFID_READ),this.setOutput(!0),this.setInputsInline(!0)}},LI={init:function(){this.setColour(ba),this.appendValueInput("SUB").appendField(j.Msg.MIXLY_COMMUNICATION_RFID_READ+j.Msg.MIXLY_COMMUNICATION_DATA_FROM),this.appendDummyInput("").appendField(j.Msg.MIXLY_GET).appendField(new j.FieldDropdown([[j.Msg.MIXLY_SERIAL_NUMBER,"serial_number"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},SI={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_GET+j.Msg.MIXLY_THE_COPROCESSOR_VERSION),this.setOutput(!0),this.setInputsInline(!0)}},fI={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_GET+j.Msg.ANALOG+j.Msg.MIXLY_LIGHT_SENSOR2).appendField(new j.FieldDropdown([[j.Msg.TEXT_TRIM_LEFT,"0"],[j.Msg.TEXT_TRIM_RIGHT,"1"]]),"key"),this.appendDummyInput().appendField(j.Msg.blockpy_set_of+j.Msg.MIXLY_MICROBIT_JS_SYSTEM_RAISE_VALUE),this.setOutput(!0),this.setInputsInline(!0)}},DI=40,NI={init:function(){this.setColour(DI),this.appendValueInput("PIN",Number).appendField(new j.FieldDropdown([["DHT11","dht11"],["DHT22","dht22"]]),"TYPE").appendField(j.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(new j.FieldDropdown(NI.METHOD),"WHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("WHAT");return{temperature:j.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM,relative_humidity:j.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_HUM,tempandhum:j.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM_HUM}[e]}))},METHOD:[[j.Msg.MIXLY_GETTEMPERATUE,"temperature"],[j.Msg.MIXLY_GETHUMIDITY,"relative_humidity"],[j.Msg.MIXLY_DHT11_T_H,"tempandhum"]]};const PI=function(t,e){return e.definitions_.import_network="import network",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+" = network.WLAN(network."+this.getFieldValue("mode")+"_IF);\n"},FI=function(t,e){return e.definitions_.import_network="import network",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".connect("+e.valueToCode(this,"id",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"password",e.ORDER_ATOMIC)+")\n"},vI=function(t,e){return e.definitions_.import_network="import network",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".isconnected()",e.ORDER_ATOMIC]},YI=function(t,e){return e.definitions_.import_network="import network",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".ifconfig()["+this.getFieldValue("mode")+"]",e.ORDER_ATOMIC]},bI=function(t,e){return e.definitions_.import_network="import network",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".disconnect()\n"},XI=function(t,e){return e.definitions_.import_network="import network",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".active("+this.getFieldValue("op")+")\n"},yI=function(t,e){return e.definitions_.import_network="import network",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".active()",e.ORDER_ATOMIC]},VI=function(t,e){return e.definitions_.import_network="import network",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".config('"+this.getFieldValue("op")+"')",e.ORDER_ATOMIC]},BI=function(t,e){e.definitions_.import_network="import network";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"essid",e.ORDER_ATOMIC),s=e.valueToCode(this,"password",e.ORDER_ATOMIC);return i+".config(essid = "+n+", channel="+e.valueToCode(this,"channel",e.ORDER_ATOMIC)+",password="+s+")\n"},GI=function(t,e){return e.definitions_.import_network="import network",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".scan()",e.ORDER_ATOMIC]},UI=function(t,e){e.definitions_["import_server_*"]="from server import *";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);return"if not "+i+".isconnected():\n connectWifi(SSID, PASSWORD)\nip="+i+".ifconfig()[0]\nprint(ip)\ntime.sleep(1)\nDATA=listenData()\n"},wI=function(t,e){e.definitions_.import_network="import network",e.definitions_.import_socket="import socket";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=this.getFieldValue("mode");return"UDP"==n?n="socket.SOCK_DGRAM":"TCP"==n&&(n="socket.SOCK_STREAM"),i+" = socket.socket(socket.AF_INET, "+n+")\n"},kI=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".bind("+e.valueToCode(this,"address",e.ORDER_ATOMIC)+")\n"},xI=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".connect(socket.getaddrinfo"+e.valueToCode(this,"address",e.ORDER_ATOMIC)+"[0][-1])\n"},HI=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".listen("+e.valueToCode(this,"queue",e.ORDER_ATOMIC)+")\n"},WI=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".accept()",e.ORDER_ATOMIC]},KI=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".readline()",e.ORDER_ATOMIC]},JI=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".recv("+e.valueToCode(this,"size",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},QI=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".send("+e.valueToCode(this,"content",e.ORDER_ATOMIC)+")\n"},jI=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".recvfrom("+e.valueToCode(this,"size",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},qI=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".sendto("+e.valueToCode(this,"content",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"address",e.ORDER_ATOMIC)+")\n"},zI=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".close()\n"},ZI=function(t,e){return e.definitions_.import_requests="import requests",e.variableDB_.getName(this.getFieldValue("VAR"),j.Variables.NAME_TYPE)+"= requests.get("+e.valueToCode(this,"DOMAIN",e.ORDER_ATOMIC)+")\n"},$I=function(t,e){return e.definitions_.import_requests="import requests",[(e.valueToCode(this,"VAL",e.ORDER_ASSIGNMENT)||"0")+"."+this.getFieldValue("ATTR"),e.ORDER_ATOMIC]},td=function(t,e){return e.definitions_.import_requests="import requests","requests."+this.getFieldValue("DIR")+"("+e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+")\n"},ed=function(t,e){return e.definitions_.import_ntptime="import ntptime",["ntptime.time(host="+e.valueToCode(this,"data",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},id=function(t,e){return["'"+this.getFieldValue("op")+"'",e.ORDER_ATOMIC]},nd=function(t,e){return e.definitions_.import_urequests="import urequests",["urequests."+this.getFieldValue("TYPE")+"("+e.valueToCode(this,"URL",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},sd=function(t,e){return e.definitions_.import_urequests="import urequests",[(e.valueToCode(this,"VAL",e.ORDER_ASSIGNMENT)||"0")+"."+this.getFieldValue("ATTR"),e.ORDER_ATOMIC]},od=function(t,e){return e.definitions_.import_urequests="import urequests",["urequests."+this.getFieldValue("TYPE")+"("+e.valueToCode(this,"URL",e.ORDER_ATOMIC)+", data="+e.valueToCode(this,"data",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},_d=function(t,e){return e.definitions_.import_educore_wifi="from educore import wifi","wifi.connect(ssid="+e.valueToCode(this,"WIFINAME",e.ORDER_ATOMIC)+", psd="+e.valueToCode(this,"PASSWORD",e.ORDER_ATOMIC)+", timeout="+e.valueToCode(this,"TIMEOUT",e.ORDER_ATOMIC)+")\n"},ud=function(t,e){return e.definitions_.import_educore_mqttclient="from educore import mqttclient","mqttclient.connect(server="+e.valueToCode(this,"SERVER",e.ORDER_ATOMIC)+", port="+e.valueToCode(this,"PORT",e.ORDER_ATOMIC)+", client_id="+e.valueToCode(this,"CLIENT_ID",e.ORDER_ATOMIC)+", user="+e.valueToCode(this,"USERNAME",e.ORDER_ATOMIC)+", psd="+e.valueToCode(this,"PASSWORD",e.ORDER_ATOMIC)+")\n"},rd=function(t,e){e.definitions_.import_educore_mqttclient="from educore import mqttclient";var i=e.valueToCode(this,"TOPIC",e.ORDER_ATOMIC);return["mqttclient."+e.valueToCode(this,"MESSAGE",e.ORDER_ATOMIC)+"("+i+")",e.ORDER_ATOMIC]},pd=function(t,e){var i=e.valueToCode(this,"TOPIC",e.ORDER_ATOMIC),n=e.valueToCode(this,"METHOD",e.ORDER_ATOMIC);return e.definitions_.import_educore_mqttclient="from educore import mqttclient","mqttclient.received(topic="+i+", callback="+n+")\n"},ad=function(t,e){return e.definitions_.import_educore_mqttclient="from educore import mqttclient","mqtt_client.publish(topic="+e.valueToCode(this,"TOPIC",e.ORDER_ATOMIC)+", content="+e.valueToCode(this,"MSG",e.ORDER_ATOMIC)+")\n"},ld=function(t,e){e.definitions_.import_educore_mqttclient="from educore import mqttclient";return["mqtt_client.connescted()",e.ORDER_ATOMIC]},Id=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i]="import "+i,[i+"."+e.valueToCode(this,"btn",e.ORDER_ATOMIC)+".is_pressed()",e.ORDER_ATOMIC]},dd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i]="import "+i,[i+"."+e.valueToCode(this,"btn",e.ORDER_ATOMIC)+".was_pressed()",e.ORDER_ATOMIC]},Td=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i]="import "+i,[i+"."+e.valueToCode(this,"btn",e.ORDER_ATOMIC)+".get_presses("+(e.valueToCode(this,"VAR",e.ORDER_ASSIGNMENT)||"0")+")",e.ORDER_ATOMIC]},hd=function(t,e){e.definitions_.import_machine="import machine";var i=q.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i]="import "+i;var n=e.valueToCode(this,"btn",e.ORDER_ATOMIC),s=this.getFieldValue("mode");return i+"."+n+".irq(handler="+e.valueToCode(this,"DO",e.ORDER_ATOMIC)+", trigger="+s+")\n"},Md=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i]="import "+i,[i+".button.is_pressed()",e.ORDER_ATOMIC]},md=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i]="import "+i,[i+".button.was_pressed()",e.ORDER_ATOMIC]},Od=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i]="import "+i,[i+".button.get_presses("+(e.valueToCode(this,"VAR",e.ORDER_ASSIGNMENT)||"0")+")",e.ORDER_ATOMIC]},cd=function(t,e){e.definitions_.import_machine="import machine";var i=q.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i]="import "+i;var n=this.getFieldValue("mode");return i+".button.irq(handler="+e.valueToCode(this,"DO",e.ORDER_ATOMIC)+", trigger="+n+")\n"},Ed=function(t,e){return e.definitions_.import_sonar="import sonar",["sonar.Sonar("+e.valueToCode(this,"PIN1",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"PIN2",e.ORDER_ASSIGNMENT)+").checkdist()",e.ORDER_ATOMIC]},Rd=function(t,e){return[this.getFieldValue("op"),e.ORDER_ATOMIC]},gd=function(t,e){return[this.getFieldValue("op"),e.ORDER_ATOMIC]},Cd=function(t,e){return[this.getFieldValue("op"),e.ORDER_ATOMIC]},Ad=function(t,e){return[this.getFieldValue("op"),e.ORDER_ATOMIC]},Ld=function(t,e){return[this.getFieldValue("op"),e.ORDER_ATOMIC]},Sd=function(t,e){return[this.getFieldValue("op"),e.ORDER_ATOMIC]},fd=function(t,e){return[this.getFieldValue("op"),e.ORDER_ATOMIC]},Dd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_als"]="from "+i+" import onboard_als";return["onboard_als.ps_nl()",e.ORDER_ATOMIC]},Nd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i]="import "+i,[i+".infrared_"+this.getFieldValue("direction")+"()",e.ORDER_ATOMIC]},Pd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_als"]="from "+i+" import onboard_als";return["onboard_als.ps()",e.ORDER_ATOMIC]},Fd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2],n=this.getFieldValue("direction");return e.definitions_["import_"+i+"_"+n]="from "+i+" import onboard_als_"+n,["onboard_als_"+n+".ps_nl()",e.ORDER_ATOMIC]},vd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_als"]="from "+i+" import onboard_als";return["onboard_als.als()",e.ORDER_ATOMIC]},Yd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_als"]="from "+i+" import onboard_als";return["onboard_als.color()",e.ORDER_ATOMIC]},bd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2],n=this.getFieldValue("direction");return e.definitions_["import_"+i+"_"+n]="from "+i+" import onboard_als_"+n,["onboard_als_"+n+".als_vis()",e.ORDER_ATOMIC]},Xd=function(t,e){return e.definitions_.import_ds18x20x="import ds18x20x",["ds18x20x.get_ds18x20_temperature("+e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},yd=function(t,e){return e.definitions_.import_lm35="import lm35",["lm35.get_LM35_temperature("+e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Vd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];if("mixgo"==i)return e.definitions_.import_mixgo="import mixgo",["mixgo.get_brightness()",e.ORDER_ATOMIC];if("mixgo_ce"==i)return e.definitions_.import_mixgo_ce="import mixgo_ce",["mixgo_ce.get_brightness()",e.ORDER_ATOMIC];if("mpython"==i)return e.definitions_.import_mpython_onboard_light="from mpython import onboard_light",["onboard_light.brightness()",e.ORDER_ATOMIC];e.definitions_["import_"+i+"_onboard_als"]="from "+i+" import onboard_als";return["onboard_als.als_vis()",e.ORDER_ATOMIC]},Bd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];if("mixbot"==i){e.definitions_["import_"+i+"_sound"]="from "+i+" import sound";var n="sound.loudness()"}else if("mixgo_zero"==i){e.definitions_.import_mixgo_zero_voice_sound_level="from mixgo_zero_voice import sound_level";n="sound_level()"}else if("mixgo_nova"==i){e.definitions_.import_mixgo_nova_voice_sound_level="from mixgo_nova_voice import sound_level";n="sound_level()"}else if("mixgo_soar"==i){e.definitions_.import_mixgo_soar_voice_sound_level="from mixgo_soar_voice import sound_level";n="sound_level()"}else{if("mixgo"==i)return e.definitions_.import_mixgo="import mixgo",["mixgo.get_soundlevel()",e.ORDER_ATOMIC];if("mpython"==i)return e.definitions_.import_mpython_onboard_sound="from mpython import onboard_sound",["onboard_sound.soundlevel()",e.ORDER_ATOMIC];if("mixgo_mini"==i){e.definitions_["import_"+i+"_onboard_bot"]="from "+i+" import onboard_bot";n="onboard_bot.soundlevel()"}else{e.definitions_["import_"+i+"_onboard_sound"]="from "+i+" import onboard_sound";n="onboard_sound.read()"}}return[n,e.ORDER_ATOMIC]},Gd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2],n=this.getFieldValue("key");return"mixgo_mini"==i?(e.definitions_.import_mixgo_mini_onboard_i2c="from mixgo_mini import onboard_i2c",e.definitions_.import_spl06_001="import spl06_001",e.definitions_.import_onboard_bps="onboard_bps = spl06_001.SPL06(onboard_i2c)"):e.definitions_["import_"+i+"_onboard_bps"]="from "+i+" import onboard_bps",["onboard_bps."+n,e.ORDER_ATOMIC]},Ud=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2],n=this.getFieldValue("key");return"mixgo_nova"==i||"mixgo_zero"==i?e.definitions_["import_"+i+"_onboard_ths"]="from "+i+" import onboard_ths":"mixgo_mini"==i?(e.definitions_.import_mixgo_mini_onboard_i2c="from mixgo_mini import onboard_i2c",e.definitions_.import_shtc3="import shtc3",e.definitions_.import_onboard_ths="onboard_ths = shtc3.SHTC3(onboard_i2c)"):e.definitions_["import_"+i+"_onboard_ths"]="from "+i+" import onboard_ths",["onboard_ths."+n+"()",e.ORDER_ATOMIC]},wd=function(t,e){return e.definitions_.import_feiyi_onboard_acc="from feiyi import onboard_acc",["onboard_acc.temperature()",e.ORDER_ATOMIC]},kd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2],n=i,s="onboard_rfid";return"mixgo_mini"===i?(n="mini_gx",s="ext_rfid"):"mixgo_me"===i?(n="me_g1",s="ext_rc522"):"mixgo_sant"===i&&(n="sant_gx",s="ext_rfid"),e.definitions_[`import_${n}_${s}`]=`from ${n} import ${s}`,[`${s}.read_card(0, x="id")`,e.ORDER_ATOMIC]},xd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"SECTOR",e.ORDER_ATOMIC),s=i,o="onboard_rfid";return"mixgo_mini"===i?(s="mini_gx",o="ext_rfid"):"mixgo_me"===i?(s="me_g1",o="ext_rc522"):"mixgo_sant"===i&&(s="sant_gx",o="ext_rfid"),e.definitions_[`import_${s}_${o}`]=`from ${s} import ${o}`,[`${o}.read_card(${n}, x="content")`,e.ORDER_ATOMIC]},Hd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"SECTOR",e.ORDER_ATOMIC),s=e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC),o=i,_="onboard_rfid";return"mixgo_mini"===i?(o="mini_gx",_="ext_rfid"):"mixgo_me"===i?(o="me_g1",_="ext_rc522"):"mixgo_sant"===i&&(o="sant_gx",_="ext_rfid"),e.definitions_[`import_${o}_${_}`]=`from ${o} import ${_}`,`${_}.write_card(${s}, ${n})\n`},Wd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"SECTOR",e.ORDER_ATOMIC),s=e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC),o=i,_="onboard_rfid";return"mixgo_mini"===i?(o="mini_gx",_="ext_rfid"):"mixgo_me"===i?(o="me_g1",_="ext_rc522"):"mixgo_sant"===i&&(o="sant_gx",_="ext_rfid"),e.definitions_[`import_${o}_${_}`]=`from ${o} import ${_}`,[`${_}.write_card(${s}, ${n})`,e.ORDER_ATOMIC]},Kd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2],n=this.getFieldValue("key"),s=i,o="onboard_rfid";return"mixgo_mini"===i?(s="mini_gx",o="ext_rfid"):"mixgo_me"===i?(s="me_g1",o="ext_rc522"):"mixgo_sant"===i&&(s="sant_gx",o="ext_rfid"),e.definitions_[`import_${s}_${o}`]=`from ${s} import ${o}`,[`${o}.scan_card() == ${n}`,e.ORDER_ATOMIC]},Jd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2],n=this.getFieldValue("key");if("strength"==n){if("mixbot"==i){e.definitions_["import_"+i+"_acc_gyr"]="from "+i+" import acc_gyr";var s="acc_gyr.strength()"}else if("mixgo_soar"==i){e.definitions_["import_"+i+"_onboard_imu"]="from "+i+" import onboard_imu";s="onboard_imu.strength()"}else{e.definitions_["import_"+i+"_onboard_acc"]="from "+i+" import onboard_acc";s="onboard_acc.strength()"}return[s,e.ORDER_ATOMIC]}if("mixbot"==i){e.definitions_["import_"+i+"_acc_gyr"]="from "+i+" import acc_gyr";s="acc_gyr.accelerometer()"+n}else if("mpython"==i){e.definitions_.import_mpython_motion="from mpython import motion";s="motion.accelerometer()"+n}else if("mixgo_soar"==i){e.definitions_["import_"+i+"_onboard_imu"]="from "+i+" import onboard_imu";s="onboard_imu.acceleration()"+n}else{e.definitions_["import_"+i+"_onboard_acc"]="from "+i+" import onboard_acc";s="onboard_acc.acceleration()"+n}return[s,e.ORDER_ATOMIC]},Qd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_acc"]="from "+i+" import onboard_acc",["onboard_acc.eulerangles()"+this.getFieldValue("angle"),e.ORDER_ATOMIC]},jd=function(t,e){e.definitions_.import_mpu9250="import mpu9250",e.definitions_.import_machine="import machine";var i=this.getFieldValue("gesture"),n=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return"mpu"==n&&(e.definitions_.import_mixgo_mpu="from mixgo import mpu"),[n+'.mpu9250_is_gesture("'+i+'")',e.ORDER_ATOMIC]},qd=function(t,e){e.definitions_.import_mpu9250="import mpu9250",e.definitions_.import_machine="import machine";var i=this.getFieldValue("key"),n=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return"mpu"==n&&(e.definitions_.import_mixgo_mpu="from mixgo import mpu"),[n+".mpu9250_get_"+i+"()",e.ORDER_ATOMIC]},zd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"button",e.ORDER_ATOMIC);if("mixgo_mini"===i||"mixgo_sant"===i||"mixgo_soar"===i){e.definitions_["import_"+i+"_onboard_bot"]="from "+i+" import onboard_bot";var s="onboard_bot.touched("+n+")"}else{e.definitions_["import_"+i]="import "+i;s=i+".touched("+n+")"}return[s,e.ORDER_ATOMIC]},Zd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_mini"===i||"mixgo_sant"===i||"mixgo_soar"===i){e.definitions_["import_"+i+"_onboard_bot"]="from "+i+" import onboard_bot";var n="onboard_bot.touch_slide()"}else{e.definitions_["import_"+i]="import "+i;n=i+".touch_slide(3, 4)"}return[n,e.ORDER_ATOMIC]},$d=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i]="import "+i,[i+"."+e.valueToCode(this,"button",e.ORDER_ATOMIC)+".is_touched()",e.ORDER_ATOMIC]},tT=function(t,e){return e.definitions_.import_mpython="import mpython",["mpython.touch_"+e.valueToCode(this,"button",e.ORDER_ATOMIC)+".is_touched()",e.ORDER_ATOMIC]},eT=function(t,e){e.definitions_.import_adxl345="import adxl345";var i,n=this.getFieldValue("key"),s=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return"x"==n?i=s+".readX()":"y"==n?i=s+".readY()":"z"==n?i=s+".readZ()":"values"==n&&(i=s+".readXYZ()"),[i,e.ORDER_ATOMIC]},iT=function(t,e){e.definitions_.import_mpu9250="import mpu9250",e.definitions_.import_machine="import machine";var i=this.getFieldValue("key"),n=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return"mpu"==n&&(e.definitions_.import_mixgo_mpu="from mixgo import mpu"),[n+".mpu9250_magnetic_"+i+"()",e.ORDER_ATOMIC]},nT=function(t,e){e.definitions_.import_mpu9250="import mpu9250",e.definitions_.import_machine="import machine";var i=this.getFieldValue("key"),n=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return"mpu"==n&&(e.definitions_.import_mixgo_mpu="from mixgo import mpu"),[n+".mpu9250_gyro_"+i+"()",e.ORDER_ATOMIC]},sT=function(t,e){return e.definitions_.import_mpu9250="import mpu9250",e.definitions_.import_machine="import machine",e.definitions_.import_mixgo_compass="from mixgo import compass",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".calibrate()\n"},oT=function(t,e){e.definitions_.import_mpu9250="import mpu9250",e.definitions_.import_machine="import machine";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return"mpu"==i&&(e.definitions_.import_mixgo_mpu="from mixgo import mpu"),[i+".mpu9250_get_temperature()",e.ORDER_ATOMIC]},_T=function(t,e){e.definitions_.import_mpu9250="import mpu9250",e.definitions_.import_machine="import machine";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);"compass"==i&&(e.definitions_.import_mixgo_compass="from mixgo import compass");var n,s=this.getFieldValue("compass");return"strength"==s?n=i+".get_field_strength()":"heading"==s&&(n=i+".heading()"),[n,e.ORDER_ATOMIC]},uT=function(t,e){return e.definitions_.import_mpu9250="import mpu9250",e.definitions_.import_machine="import machine",e.definitions_.import_mixgo_compass="from mixgo import compass",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".reset_calibrate()\n"},rT=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("gesture");return e.definitions_.import_mixgo_onboard_mpu="from mixgo import onboard_mpu",['onboard_mpu.mpu9250_is_gesture("'+i+'")',e.ORDER_ATOMIC]},pT=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("key");return e.definitions_.import_mixgo_onboard_mpu="from mixgo import onboard_mpu",["onboard_mpu.mpu9250_get_"+i+"()",e.ORDER_ATOMIC]},aT=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("key");return e.definitions_.import_mixgo_onboard_mpu="from mixgo import onboard_mpu",["onboard_mpu.mpu9250_magnetic_"+i+"()",e.ORDER_ATOMIC]},lT=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("key");return e.definitions_.import_mixgo_onboard_mpu="from mixgo import onboard_mpu",["onboard_mpu.mpu9250_gyro_"+i+"()",e.ORDER_ATOMIC]},IT=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_mixgo_onboard_compass="from mixgo import onboard_compass","onboard_compass.calibrate()\n"},dT=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_mixgo_onboard_mpu="from mixgo import onboard_mpu",["onboard_mpu.mpu9250_get_temperature()",e.ORDER_ATOMIC]},TT=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_mixgo_onboard_compass="from mixgo import onboard_compass";var i,n=this.getFieldValue("compass");return"strength"==n?i="onboard_compass.get_field_strength()":"heading"==n&&(i="onboard_compass.heading()"),[i,e.ORDER_ATOMIC]},hT=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_mixgo_onboard_compass="from mixgo import onboard_compass","onboard_compass.reset_calibrate()\n"},MT=function(t,e){return e.definitions_.import_rtctime="import rtctime","rtctime.settime(("+e.valueToCode(this,"year",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"month",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"day",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"hour",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"minute",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"second",e.ORDER_ASSIGNMENT)+", 0, 0))\n"},mT=function(t,e){var i=e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC);return e.definitions_.import_rtctime="import rtctime","rtctime.settime("+i+")\n"},OT=function(t,e){e.definitions_.import_time="import time";return["time.localtime()",e.ORDER_ATOMIC]},cT=function(t,e){return e.definitions_.import_time="import time",["time.mktime("+e.valueToCode(this,"LIST",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},ET=function(t,e){return e.definitions_.import_time="import time",["time.localtime("+e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},RT=function(t,e){e.definitions_.import_rtctime="import rtctime";return["rtctime.strtime()",e.ORDER_ATOMIC]},gT=function(t,e){return e.definitions_.import_rtctime="import rtctime",["rtctime.strtime("+e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},CT=function(t,e){var i=this.getFieldValue("key"),n=q.Boards.getSelectedBoardKey().split(":")[2];if("mpython"==n)if(e.definitions_.import_mpython_magnetic="from mpython import magnetic","all"==i)var s="magnetic.getstrength()";else s="magnetic.getdata()"+i;else if("mixgo_mini"==n)if(e.definitions_.import_mixgo_mini_onboard_i2c="from mixgo_mini import onboard_i2c",e.definitions_.import_mmc5603="import mmc5603",e.definitions_.import_onboard_mgs="onboard_mgs = mmc5603.MMC5603(onboard_i2c)","all"==i)s="onboard_mgs.getstrength()";else s="onboard_mgs.getdata()"+i;else if(e.definitions_["import_"+n+"_onboard_mgs"]="from "+n+" import onboard_mgs","all"==i)s="onboard_mgs.getstrength()";else s="onboard_mgs.getdata()"+i;return[s,e.ORDER_ATOMIC]},AT=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];if("mpython"==i){e.definitions_.import_mpython_magnetic="from mpython import magnetic"}else"mixgo_mini"==i?(e.definitions_.import_mixgo_mini_onboard_i2c="from mixgo_mini import onboard_i2c",e.definitions_.import_mmc5603="import mmc5603",e.definitions_.import_onboard_mgs="onboard_mgs = mmc5603.MMC5603(onboard_i2c)"):e.definitions_["import_"+i+"_onboard_mgs"]="from "+i+" import onboard_mgs";return["onboard_mgs.getangle()",e.ORDER_ATOMIC]},LT=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];"mixgo_mini"==i?(e.definitions_.import_mixgo_mini_onboard_i2c="from mixgo_mini import onboard_i2c",e.definitions_.import_mmc5603="import mmc5603",e.definitions_.import_onboard_mgs="onboard_mgs = mmc5603.MMC5603(onboard_i2c)"):e.definitions_["import_"+i+"_onboard_mgs"]="from "+i+" import onboard_mgs";return"onboard_mgs.calibrate()\n"},ST=function(t,e){if("mixgo_mini"==q.Boards.getSelectedBoardKey().split(":")[2]){e.definitions_.import_mixgo_mini_onboard_temperature="from mixgo_mini import onboard_temperature";var i="onboard_temperature()"}else{e.definitions_.import_mixgo_me_onboard_acc="from mixgo_me import onboard_acc";i="onboard_acc.temperature()"}return[i,e.ORDER_ATOMIC]},fT=function(t,e){e.definitions_.import_mixgo_ce="import mixgo_ce";return["mixgo_ce.get_temperature()",e.ORDER_ATOMIC]},DT=function(t,e){var i=this.getFieldValue("key");return e.definitions_.import_mpython_motion="from mpython import motion",["motion.gyroscope()"+i,e.ORDER_ATOMIC]},NT=function(t,e){return e.definitions_.import_mpython_motion="from mpython import motion",["motion.temperature()",e.ORDER_ATOMIC]},PT=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2],n=this.getFieldValue("direction");return e.definitions_["import_"+i+"_adc"+n]="from "+i+" import adc"+n,["adc"+n+".read()",e.ORDER_ATOMIC]},FT=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return"feiyi"==i?(e.definitions_.import_feiyi_onboard_bot51="from feiyi import onboard_bot51",["onboard_bot51.read_bat()",e.ORDER_ATOMIC]):(e.definitions_["import_"+i+"_battery"]="from "+i+" import battery",["battery.voltage()",e.ORDER_ATOMIC])},vT=function(t,e){var i=this.getFieldValue("key");return e.definitions_.import_rm_e1_gyro="from rm_e1 import gyro",["gyro.acceleration()"+i,e.ORDER_ATOMIC]},YT=function(t,e){var i=this.getFieldValue("key");return e.definitions_.import_mixgocar_c3_onboard_info="from mixgocar_c3 import onboard_info",["onboard_info.patrol()"+i,e.ORDER_ATOMIC]},bT=function(t,e){var i=this.getFieldValue("key");return e.definitions_.import_mixgocar_c3_onboard_info="from mixgocar_c3 import onboard_info",["onboard_info.obstacle()"+i,e.ORDER_ATOMIC]},XT=function(t,e){var i=this.getFieldValue("key");return e.definitions_.import_mixgocar_c3_onboard_info="from mixgocar_c3 import onboard_info","onboard_info.ir_mode(onboard_info."+i+")\n"},yT=function(t,e){e.definitions_.import_mixgocar_c3_onboard_info="from mixgocar_c3 import onboard_info";return["onboard_info.read_bat()",e.ORDER_ATOMIC]},VT=function(t,e){var i=this.getFieldValue("key"),n=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+n+"_patrol"]="from "+n+" import patrol","patrol.correct(patrol.CORRECTING_"+i+")\n"},BT=function(t,e){var i=this.getFieldValue("key"),n=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+n+"_patrol"]="from "+n+" import patrol",["patrol.getdata()"+i,e.ORDER_ATOMIC]},GT=function(t,e){e.definitions_.import_mixbot_acc_gyr="from mixbot import acc_gyr";return["acc_gyr.temperature()",e.ORDER_ATOMIC]},UT=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2],n=this.getFieldValue("key");if("mixgo_soar"==i){e.definitions_["import_"+i+"_onboard_imu"]="from "+i+" import onboard_imu";var s="onboard_imu.gyroscope()"+n}else{e.definitions_.import_mixbot_acc_gyr="from mixbot import acc_gyr";s="acc_gyr.gyroscope()"+n}return[s,e.ORDER_ATOMIC]},wT=function(t,e){return e.definitions_.import_feiyi_onboard_bot51="from feiyi import onboard_bot51",["onboard_bot51.read_als("+e.valueToCode(this,"mode",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},kT=function(t,e){return[this.getFieldValue("PIN"),e.ORDER_ATOMIC]},xT=Id,HT=dd,WT=Td,KT=$d,JT=Pd,QT=Vd,jT=QT,qT=function(t,e){return e.definitions_.import_dhtx="import dhtx",["dhtx."+this.getFieldValue("TYPE")+"("+e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+")."+this.getFieldValue("WHAT")+"()",e.ORDER_ATOMIC]},zT=function(t,e){e.definitions_.import_educore_sound="from educore import sound";return["sound()",e.ORDER_ATOMIC]},ZT=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".read()",e.ORDER_ATOMIC]},$T=function(t,e){e.definitions_.import_educore_light="from educore import light";return["light()",e.ORDER_ATOMIC]},th=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_accelerometer"]="from "+i+" import accelerometer";return["accelerometer()",e.ORDER_ATOMIC]},eh=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_accelerometer"]="from "+i+" import accelerometer",[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+this.getFieldValue("key")+"()",e.ORDER_ATOMIC]},ih=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_accelerometer"]="from "+i+" import accelerometer",[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shake()",e.ORDER_ATOMIC]},nh=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_button"]="from "+i+" import button",["button(button."+this.getFieldValue("btn")+")",e.ORDER_ATOMIC]},sh=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_button"]="from "+i+" import button",[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".status()",e.ORDER_ATOMIC]},oh=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_rfid"]="from "+i+" import rfid",["rfid("+e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},_h=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_rfid"]="from "+i+" import rfid",[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scanning()",e.ORDER_ATOMIC]},uh=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_rfid"]="from "+i+" import rfid",[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+this.getFieldValue("key")+"()",e.ORDER_ATOMIC]},rh=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_bot"]="from "+i+" import onboard_bot";return["onboard_bot.version()",e.ORDER_ATOMIC]},ph=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_bot"]="from "+i+" import onboard_bot",["onboard_bot.brightness("+this.getFieldValue("key")+")",e.ORDER_ATOMIC]},ah='
\r\n
{{-d.title}}
\r\n
\r\n {{# if (d.message) { }}\r\n

\r\n {{-d.message}}\r\n

\r\n {{# } }}\r\n
\r\n
',{XML:lh}=q,{XML:Ih}=(lh.render(ah,{title:"烧录速度",message:"要选择烧录速度,请更改“Burn Speed”,此值将用于向设备烧录代码。如果在用较高的烧录速度时出现问题,请尝试减小此值,这可能是由于外部串行到USB芯片的限制。"}),q),{XML:dh}=(Ih.render(ah,{title:"燒錄速度",message:"要選擇燒錄速度,請更改“Burn Speed”,此值將用於向設備燒錄程式碼。如果在用較高的燒錄速度時出現問題,請嘗試减小此值,這可能是由於外部串列到USB晶片的限制。"}),q),Th=(dh.render(ah,{title:"Burn Speed",message:"To select the flashing speed, change the Burn Speed. This value will be used for flashing the code to the device. If you have issues while flashing the device at high speed, try to decrease this value. This could be due to the external serial-to-USB chip limitations."}),new j.Generator("Python"));Th.INDENT=" ",Th.addReservedWords("False,None,True,and,as,assert,break,class,continue,def,del,elif,else,except,exec,finally,for,from,global,if,import,in,is,lambda,nonlocal,not,or,pass,print,raise,return,try,while,with,yield,NotImplemented,Ellipsis,__debug__,quit,exit,copyright,license,credits,ArithmeticError,AssertionError,AttributeError,BaseException,BlockingIOError,BrokenPipeError,BufferError,BytesWarning,ChildProcessError,ConnectionAbortedError,ConnectionError,ConnectionRefusedError,ConnectionResetError,DeprecationWarning,EOFError,Ellipsis,EnvironmentError,Exception,FileExistsError,FileNotFoundError,FloatingPointError,FutureWarning,GeneratorExit,IOError,ImportError,ImportWarning,IndentationError,IndexError,InterruptedError,IsADirectoryError,KeyError,KeyboardInterrupt,LookupError,MemoryError,ModuleNotFoundError,NameError,NotADirectoryError,NotImplemented,NotImplementedError,OSError,OverflowError,PendingDeprecationWarning,PermissionError,ProcessLookupError,RecursionError,ReferenceError,ResourceWarning,RuntimeError,RuntimeWarning,StandardError,StopAsyncIteration,StopIteration,SyntaxError,SyntaxWarning,SystemError,SystemExit,TabError,TimeoutError,TypeError,UnboundLocalError,UnicodeDecodeError,UnicodeEncodeError,UnicodeError,UnicodeTranslateError,UnicodeWarning,UserWarning,ValueError,Warning,ZeroDivisionError,_,__build_class__,__debug__,__doc__,__import__,__loader__,__name__,__package__,__spec__,abs,all,any,apply,ascii,basestring,bin,bool,buffer,bytearray,bytes,callable,chr,classmethod,cmp,coerce,compile,complex,copyright,credits,delattr,dict,dir,divmod,enumerate,eval,exec,execfile,exit,file,filter,float,format,frozenset,getattr,globals,hasattr,hash,help,hex,id,input,int,intern,isinstance,issubclass,iter,len,license,list,locals,long,map,max,memoryview,min,next,object,oct,open,ord,pow,print,property,quit,range,raw_input,reduce,reload,repr,reversed,round,set,setattr,slice,sorted,staticmethod,str,sum,super,tuple,type,unichr,unicode,vars,xrange,zip"),Th.ORDER_ATOMIC=0,Th.ORDER_COLLECTION=1,Th.ORDER_STRING_CONVERSION=1,Th.ORDER_UNARY_POSTFIX=1,Th.ORDER_UNARY_PREFIX=2,Th.ORDER_MEMBER=2.1,Th.ORDER_FUNCTION_CALL=2.2,Th.ORDER_EXPONENTIATION=3,Th.ORDER_UNARY_SIGN=4,Th.ORDER_BITWISE_NOT=4,Th.ORDER_MULTIPLICATIVE=5,Th.ORDER_ADDITIVE=6,Th.ORDER_BITWISE_SHIFT=7,Th.ORDER_BITWISE_AND=8,Th.ORDER_BITWISE_XOR=9,Th.ORDER_BITWISE_OR=10,Th.ORDER_RELATIONAL=11,Th.ORDER_EQUALITY=11,Th.ORDER_LOGICAL_NOT=12,Th.ORDER_LOGICAL_AND=13,Th.ORDER_LOGICAL_OR=14,Th.ORDER_ASSIGNMENT=14,Th.ORDER_CONDITIONAL=15,Th.ORDER_LAMBDA=16,Th.ORDER_NONE=99,Th.ORDER_OVERRIDES=[[Th.ORDER_FUNCTION_CALL,Th.ORDER_MEMBER],[Th.ORDER_FUNCTION_CALL,Th.ORDER_FUNCTION_CALL],[Th.ORDER_MEMBER,Th.ORDER_MEMBER],[Th.ORDER_MEMBER,Th.ORDER_FUNCTION_CALL]],Th.init=function(){Th.PASS=this.INDENT+"pass\n",Th.definitions_=Object.create(null),Th.functionNames_=Object.create(null),Th.setups_=Object.create(null),Th.loops_=Object.create(null),Th.codeEnd_=Object.create(null),Th.variableDB_?Th.variableDB_.reset():Th.variableDB_=new tt(Th.RESERVED_WORDS_)},Th.finish=function(t){""!==t&&(t=(t=t.replace(/\n/g,"\n")).replace(/\n\s+$/,"\n"));var e=[],i=[],n=[];for(var s in this.definitions_){var o=this.definitions_[s];0===s.indexOf("import")?e.push(o):0===s.indexOf("var_declare")?i.push(o):n.push(o)}e.length&&e.push("\n"),i.length&&i.push("\n"),n.length&&n.push("\n");var _=[];for(var s in Th.functions_)_.push(Th.functions_[s]);_.length&&_.push("\n");var u=[];for(var s in Th.setups_)u.push(Th.setups_[s]);u.length&&u.push("\n");var r=[];for(var s in Th.loops_)r.push(Th.loops_[s]);var p=[];for(var s in Th.codeEnd_)p.push(Th.codeEnd_[s]);0!==p.length&&p.push("\n");let a="";return a=r.length>0?e.join("\n")+i.join("\n")+n.join("\n")+_.join("\n")+u.join("")+t+"while True:\n"+r.join("")+p.join("\n"):e.join("\n")+i.join("\n")+n.join("\n")+_.join("\n")+u.join("")+t+p.join("\n"),a},Th.scrubNakedValue=function(t){return t+"\n"},Th.quote_=function(t){var e="'";return-1!==(t=t.replace(/\\/g,"\\\\").replace(/\n/g,"\\\n")).indexOf("'")&&(-1===t.indexOf('"')?e='"':t=t.replace(/'/g,"\\'")),e+t+e},Th.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},Th.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(o=t.getCommentText())&&(o=j.utils.string.wrap(o,Th.COMMENT_WRAP-3),n+=Th.prefixLines(o+"\n","# "));for(var s=0;s0?"int("+u+" + "+s+")":s<0?"int("+u+" - "+-s+")":"int("+u+")",n&&(u="-"+u)),u};const hh={microbit:{description:"microbit_python",digital:[["P0","0"],["P1","1"],["P2","2"],["P3","3"],["P4","4"],["P5","5"],["P6","6"],["P7","7"],["P8","8"],["P9","9"],["P10","10"],["P11","11"],["P12","12"],["P13","13"],["P14","14"],["P15","15"],["P16","16"],["P19","19"],["P20","20"]],pwm:[["P0","0"],["P1","1"],["P2","2"],["P3","3"],["P4","4"],["P5","5"],["P6","6"],["P7","7"],["P8","8"],["P9","9"],["P10","10"],["P11","11"],["P12","12"],["P13","13"],["P14","14"],["P15","15"],["P16","16"],["P19","19"],["P20","20"]],analog:[["P0","0"],["P1","1"],["P2","2"],["P3","3"],["P4","4"],["P10","10"]],interrupt:[["P0","0"],["P1","1"],["P2","2"]],button:[["A","button_a"],["B","button_b"]],axis:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],brightness:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"]],builtinimg:[["HEART","Image.HEART"],["HEART_SMALL","Image.HEART_SMALL"],["HAPPY","Image.HAPPY"],["SMILE","Image.SMILE"],["SAD","Image.SAD"],["CONFUSED","Image.CONFUSED"],["ANGRY","Image.ANGRY"],["ASLEEP","Image.ASLEEP"],["SURPRISED","Image.SURPRISED"],["SILLY","Image.SILLY"],["FABULOUS","Image.FABULOUS"],["MEH","Image.MEH"],["YES","Image.YES"],["NO","Image.NO"],["CLOCK12","Image.CLOCK12"],["CLOCK11","Image.CLOCK11"],["CLOCK10","Image.CLOCK10"],["CLOCK9","Image.CLOCK9"],["CLOCK8","Image.CLOCK8"],["CLOCK7","Image.CLOCK7"],["CLOCK6","Image.CLOCK6"],["CLOCK5","Image.CLOCK5"],["CLOCK4","Image.CLOCK4"],["CLOCK3","Image.CLOCK3"],["CLOCK2","Image.CLOCK2"],["CLOCK1","Image.CLOCK1"],["ARROW_N","Image.ARROW_N"],["ARROW_NE","Image.ARROW_NE"],["ARROW_E","Image.ARROW_E"],["ARROW_SE","Image.ARROW_SE"],["ARROW_S","Image.ARROW_S"],["ARROW_SW","Image.ARROW_SW"],["ARROW_W","Image.ARROW_W"],["ARROW_NW","Image.ARROW_NW"],["TRIANGLE","Image.TRIANGLE"],["TRIANGLE_LEFT","Image.TRIANGLE_LEFT"],["CHESSBOARD","Image.CHESSBOARD"],["DIAMOND","Image.DIAMOND"],["DIAMOND_SMALL","Image.DIAMOND_SMALL"],["SQUARE","Image.SQUARE"],["SQUARE_SMALL","Image.SQUARE_SMALL"],["RABBIT","Image.RABBIT"],["COW","Image.COW"],["MUSIC_CROTCHET","Image.MUSIC_CROTCHET"],["MUSIC_QUAVER","Image.MUSIC_QUAVER"],["MUSIC_QUAVERS","Image.MUSIC_QUAVERS"],["PITCHFORK","Image.PITCHFORK"],["XMAS","Image.XMAS"],["PACMAN","Image.PACMAN"],["TARGET","Image.TARGET"],["TSHIRT","Image.TSHIRT"],["ROLLERSKATE","Image.ROLLERSKATE"],["DUCK","Image.DUCK"],["HOUSE","Image.HOUSE"],["TORTOISE","Image.TORTOISE"],["BUTTERFLY","Image.BUTTERFLY"],["STICKFIGURE","Image.STICKFIGURE"],["GHOST","Image.GHOST"],["SWORD","Image.SWORD"],["GIRAFFE","Image.GIRAFFE"],["SKULL","Image.SKULL"],["UMBRELLA","Image.UMBRELLA"],["SNAKE","Image.SNAKE"],["ALL_CLOCKS","Image.ALL_CLOCKS"],["ALL_ARROWS","Image.ALL_ARROWS"]],imglist:[["ALL_CLOCKS","Image.ALL_CLOCKS"],["ALL_ARROWS","Image.ALL_ARROWS"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["P0","0"],["P1","1"],["P2","2"],["P8","8"],["P12","12"],["P13","13"],["P14","14"],["P15","15"],["P16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]]}};hh["BBC micro:bit"]=hh.microbit;const Mh=hh,mh=100,Oh={init:function(){this.jsonInit({colour:mh,nextStatement:null,previousStatement:null,inputsInline:!0,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/music.html#built-in-melodies",message0:j.Msg.MIXLY_MICROBIT_Play_built_in_melody,args0:[{name:"melody",options:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],type:"field_dropdown"},{type:"input_value",name:"PIN"},{type:"input_dummy"},{checked:!0,type:"field_checkbox",name:"wait"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"loop"}]}),this.setTooltip(j.Msg.MIXLY_MICROBIT_Play_built_in_melody1)}},ch={init:function(){this.jsonInit({colour:mh,nextStatement:null,previousStatement:null,inputsInline:!0,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/music.html#built-in-melodies",tooltip:"Play one of the built-in melodies. Indicate if you need to wait before continuing or continuously loop the melody.",message0:j.Msg.MIXLY_MICROBIT_Play_built_in_melody_easy,args0:[{name:"melody",options:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],type:"field_dropdown"},{type:"input_value",name:"PIN"},{type:"input_dummy"}]})}},Eh={init:function(){this.setColour(mh),this.appendValueInput("PIN",Number).appendField(j.Msg.MIXLY_TONE).appendField(j.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("pitch").setCheck(Number).appendField(j.Msg.MIXLY_FREQUENCY),this.appendValueInput("duration").setCheck(Number).appendField(j.Msg.MIXLY_DURATION),this.appendDummyInput("").appendField(j.Msg.MIXLY_MILLIS).appendField(j.Msg.MIXLY_MICROBIT_WAIT),this.appendDummyInput("").appendField(new j.FieldCheckbox(!0),"wait"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},Rh={init:function(){this.setColour(mh),this.appendValueInput("PIN",Number).appendField(j.Msg.MIXLY_TONE).appendField(j.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("pitch").setCheck(Number).appendField(j.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},gh={init:function(){this.jsonInit({colour:mh,nextStatement:null,previousStatement:null,inputsInline:!0,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/music.html#musical-notation",message0:j.Msg.MIXLY_MICROBIT_Play_notes,args0:[{check:"List",type:"input_value",name:"notes"},{type:"input_value",name:"PIN"},{checked:!0,type:"field_checkbox",name:"wait"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"loop"}]}),this.setTooltip(j.Msg.MIXLY_MICROBIT_Play_notes1)}},Ch={init:function(){this.jsonInit({colour:mh,nextStatement:null,previousStatement:null,inputsInline:!0,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/music.html#musical-notation",tooltip:"Play a list of notes expressed in the special music language. Indicate if you need to wait before continuing or continuously loop the melody.",message0:j.Msg.MIXLY_MICROBIT_Play_notes,args0:[{check:"List",type:"input_value",name:"notes"},{type:"input_value",name:"PIN"},{type:"input_dummy"},{type:"input_dummy"},{type:"input_dummy"}]})}},Ah={init:function(){this.jsonInit({colour:mh,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/music.html#music.reset",message0:j.Msg.MIXLY_MICROBIT_Reset_music}),this.setTooltip(j.Msg.MIXLY_MICROBIT_Reset_music)}},Lh={init:function(){this.setColour(mh),this.appendValueInput("PIN").appendField(j.Msg.MIXLY_NOTONE).appendField(j.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(j.Msg.MIXLY_NOTONE)}},Sh={init:function(){this.jsonInit({colour:mh,output:"Array",helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/music.html#music.get_tempo",message0:j.Msg.MIXLY_MICROBIT_Get_current_tempo}),this.setTooltip(j.Msg.MIXLY_MICROBIT_Get_current_tempo)}},fh={init:function(){this.setColour(mh),this.appendValueInput("TICKS").setCheck(Number).appendField(j.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(j.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(j.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_MICROBIT_JS_SET_TEMPO1)}},Dh={init:function(){this.setColour(mh),this.appendValueInput("VAR").setCheck(String).appendField(new j.FieldDropdown([[j.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_SAY,"say"],[j.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_SING,"sing"],[j.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_PRENOUNCE,"pronounce"]]),"MODE"),this.appendValueInput("pitch").setCheck(Number).appendField(j.Msg.MICROBIT_SPEECH_pitch),this.appendValueInput("speed").setCheck(Number).appendField(j.Msg.MIXLY_SPEED),this.appendValueInput("mouth").setCheck(Number).appendField(j.Msg.MICROBIT_SPEECH_mouth),this.appendValueInput("throat").setCheck(Number).appendField(j.Msg.MICROBIT_SPEECH_throat),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=j.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH,n=j.Msg.MIXLY_MICROBIT_TYPE_STRING;return i+{say:j.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_SAY,sing:j.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_SING,pronounce:j.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_PRENOUNCE}[e]+n}))}},Nh={init:function(){this.setColour(mh),this.appendValueInput("VAR").setCheck(String).appendField(j.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_SAY),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Ph={init:function(){this.setColour(mh),this.appendValueInput("VAR").setCheck(String).appendField(j.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_SING),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Fh={init:function(){this.setColour(mh),this.appendValueInput("VAR").setCheck(String).appendField(j.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_PRENOUNCE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},vh={init:function(){this.setColour(mh),this.appendValueInput("VAR").setCheck(String).appendField(j.Msg.MICROBIT_SPEECH_translation),this.setOutput(!0,String),this.setTooltip(j.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+j.Msg.MIXLY_MICROBIT_TYPE_STRING+j.Msg.MICROBIT_SPEECH_translation)}},Yh={init:function(){this.setColour(mh),this.appendValueInput("PIN",Number).appendField(j.Msg.MIXLY_SERVO).appendField(j.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("DEGREE",Number).setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_DEGREE_0_180),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_BLOCKGROUP_SERVO_MOVE)}},bh={init:function(){this.appendValueInput("speed").setCheck(null).appendField(j.Msg.MIXLY_MOTOR).appendField(new j.FieldDropdown([["M1","1"],["M2","2"],["M3","3"],["M4","4"]]),"Motor").appendField(j.Msg.MIXLY_SPEED),this.appendDummyInput().appendField(new j.FieldDropdown([["Forward","1*"],["Reverse","-1*"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(mh),this.setTooltip(""),this.setHelpUrl("")}},Xh={init:function(){this.setColour(mh),this.appendDummyInput("").appendField(j.Msg.MIXLY_RGB),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_PIN),this.appendValueInput("LEDCOUNT").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_RGB_COUNT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(j.Msg.MIXLY_RGB_PIN_COUNT)}},yh={init:function(){this.setColour(mh),this.appendDummyInput("").appendField(j.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(j.Msg.MIXLY_RGB_NUM_R_G_B)}},Vh={init:function(){this.setColour(mh),this.appendDummyInput("").appendField(j.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_RGB_NUM),this.appendDummyInput("").setAlign(j.inputs.Align.RIGHT).appendField(new j.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Bh={init:function(){this.setColour(mh),this.appendDummyInput("").appendField(j.Msg.MIXLY_RGB),this.appendDummyInput().appendField(j.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(j.Msg.MIXLY_ESP32_MUSIC_WRI)}},Gh={init:function(){this.setColour(mh),this.appendDummyInput("").appendField(j.Msg.MIXLY_SETUP+" "+j.Msg.QJ00X_MP3),this.appendValueInput("RX").setAlign(j.inputs.Align.RIGHT).appendField("TX#"),this.appendValueInput("TX").setAlign(j.inputs.Align.RIGHT).appendField("RX#"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}};var Uh=[[j.Msg.MIXLY_MP3_PLAY,"play"],[j.Msg.MIXLY_MP3_PAUSE,"pause"],[j.Msg.MIXLY_MP3_NEXT,"next_track"],[j.Msg.MIXLY_MP3_PREV,"prev_track"],[j.Msg.MIXLY_MP3_VOL_UP,"inc_vol"],[j.Msg.MIXLY_MP3_VOL_DOWN,"dec_vol"]];const wh={init:function(){this.setColour(mh),this.appendDummyInput("").appendField(j.Msg.QJ00X_MP3),this.appendDummyInput("").appendField(j.Msg.MIXLY_STAT).appendField(new j.FieldDropdown(Uh),"CONTROL_TYPE"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}};var kh=[[j.Msg.MIXLY_MP3_LOOP_ALL,"0"],[j.Msg.MIXLY_MP3_LOOP_FOLDER,"1"],[j.Msg.MIXLY_MP3_LOOP_ONE,"2"],[j.Msg.MIXLY_MP3_LOOP_RAM,"3"]];const xh={init:function(){this.setColour(mh),this.appendDummyInput("").appendField(j.Msg.QJ00X_MP3),this.appendDummyInput("").appendField(j.Msg.MIXLY_MP3_LOOP_MODE).appendField(j.Msg.MIXLY_STAT).appendField(new j.FieldDropdown(kh),"LOOP_MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}};var Hh=[[j.Msg.MIXLY_MP3_EQ_NORMAL,"0"],[j.Msg.MIXLY_MP3_EQ_POP,"1"],[j.Msg.MIXLY_MP3_EQ_ROCK,"2"],[j.Msg.MIXLY_MP3_EQ_JAZZ,"3"],[j.Msg.MIXLY_MP3_EQ_CLASSIC,"4"],[j.Msg.MIXLY_MP3_EQ_BASS,"5"]];const Wh={init:function(){this.setColour(mh),this.appendDummyInput("").appendField(j.Msg.QJ00X_MP3),this.appendDummyInput("").appendField(j.Msg.MIXLY_MP3_EQ_MODE).appendField(j.Msg.MIXLY_STAT).appendField(new j.FieldDropdown(Hh),"EQ_MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}},Kh={init:function(){this.setColour(mh),this.appendDummyInput("").appendField(j.Msg.QJ00X_MP3),this.appendDummyInput("").appendField(j.Msg.MIXLY_MP3_VOL),this.appendValueInput("vol",Number).appendField(j.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}},Jh={init:function(){this.setColour(mh),this.appendDummyInput("").appendField(j.Msg.QJ00X_MP3),this.appendValueInput("NUM",Number).appendField(j.Msg.MIXLY_MP3_PLAY_NUM).setCheck(Number),this.appendDummyInput("").appendField("首"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}},Qh={init:function(){this.setColour(mh),this.appendDummyInput("").appendField(j.Msg.QJ00X_MP3),this.appendValueInput("FOLDER",Number).appendField(j.Msg.DFPLAYER_MINI_FOLDER).setCheck(Number),this.appendValueInput("NUM",Number).appendField(j.Msg.MIXLY_MP3_PLAY_NUM).setCheck(Number),this.appendDummyInput("").appendField("首"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}},jh=140,qh={init:function(){this.setColour(225),this.appendDummyInput().appendField(new j.FieldDropdown([[j.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,"on"],[j.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,"off"],[j.Msg.HTML_RESET,"reset"]]),"type").appendField(j.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_WIFI),this.setInputsInline(!0),this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("type"),i=j.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_WIFI;return{on:j.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,off:j.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,reset:j.Blockly.Msg.HTML_RESET}[e]+i}))}},zh={init:function(){this.jsonInit({colour:225,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.on",tooltip:"Turn on the radio. This needs to be explicitly called since the radio draws power and takes up memory that you may otherwise need.",message0:j.Msg.MIXLY_MICROBIT_Switch_on_radio})}},Zh={init:function(){this.jsonInit({colour:225,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.off",tooltip:"Turn off the radio, thus saving power and memory.",message0:j.Msg.MIXLY_MICROBIT_Switch_off_radio})}},$h={init:function(){this.jsonInit({colour:225,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.config",tooltip:j.Msg.MIXLY_MICROBIT_Configure_radio1,message0:j.Msg.MIXLY_MICROBIT_Configure_radio,args0:[{min:4,value:32,type:"input_value",max:251,name:"length"},{type:"input_dummy"},{min:1,value:3,type:"input_value",max:32,name:"queue"},{type:"input_dummy"},{min:0,value:7,type:"input_value",max:100,name:"channel"},{type:"input_dummy"},{name:"power",type:"input_value"},{type:"input_dummy"},{name:"address",type:"input_value"},{type:"input_dummy"},{name:"group",type:"input_value"},{type:"input_dummy"},{name:"data_rate",type:"input_value"}]})}},tM={init:function(){this.jsonInit({colour:225,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.reset",tooltip:"Reset the radio to default settings.",message0:j.Msg.MIXLY_MICROBIT_Reset_radio})}},eM={init:function(){this.jsonInit({colour:225,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.send",tooltip:"Broadcast a text message.",message0:j.Msg.MIXLY_MICROBIT_Send_message,args0:[{check:"String",type:"input_value",name:"message"}]})}},iM={init:function(){this.setColour(225),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_RADIO_SEND),this.appendDummyInput().appendField(new j.FieldDropdown([[j.Msg.MIXLY_MICROBIT_MSG,"send"],[j.Msg.MIXLY_MICROBIT_MSG_BYTE,"send_bytes"]]),"type"),this.appendValueInput("data"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_MICROBIT_Send_message1)}},nM={init:function(){this.jsonInit({colour:225,output:"String",helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.receive",tooltip:j.Msg.MIXLY_MICROBIT_Receive_message,message0:j.Msg.MIXLY_MICROBIT_Receive_message})}},sM={init:function(){this.setColour(225),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_Receive_message),this.appendDummyInput().appendField(new j.FieldDropdown([[j.Msg.MIXLY_MICROBIT_MSG,"receive"],[j.Msg.MIXLY_MICROBIT_MSG_BYTE,"receive_bytes"],[j.Msg.MIXLY_MICROBIT_MSG_FULL,"receive_full"]]),"type"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_MICROBIT_Receive_message)}},oM={init:function(){this.setColour(jh),this.appendValueInput("RX",Number).appendField(j.Msg.MIXLY_MICROBIT_JS_I2C_SETUP).appendField("sda").setCheck(Number).setAlign(j.inputs.Align.RIGHT),this.appendValueInput("TX",Number).appendField("scl").setCheck(Number).setAlign(j.inputs.Align.RIGHT),this.appendValueInput("freq").setCheck(Number).appendField("频率").setAlign(j.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},_M={init:function(){this.setColour(jh),this.appendValueInput("address").setCheck(Number).appendField(j.Msg.MIXLY_MICROBIT_JS_I2C_READ_ADDRESS),this.appendValueInput("data").setCheck(Number).appendField(j.Msg.LANG_MATH_BYTE),this.appendDummyInput().appendField(j.Msg.CONTROLS_REPEAT_TITLE_REPEAT).appendField(new j.FieldCheckbox(!1),"is_repeated"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_MICROBIT_JS_I2C_READ)}},uM={init:function(){this.setColour(jh),this.appendValueInput("address").setCheck(Number).appendField(j.Msg.MIXLY_MICROBIT_JS_I2C_WRITE_ADDRESS),this.appendValueInput("data").setCheck(Number).appendField(j.Msg.MIXLY_MICROBIT_JS_I2C_VALUE),this.appendDummyInput().appendField(j.Msg.CONTROLS_REPEAT_TITLE_REPEAT).appendField(new j.FieldCheckbox(!1),"is_repeated"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(j.Msg.MIXLY_MICROBIT_JS_I2C_WRITE)}},rM={init:function(){this.jsonInit({colour:jh,nextStatement:null,previousStatement:null,message0:j.Msg.MIXLY_MICROBIT_SPI_INIT,args0:[{value:1e6,type:"field_number",name:"freq"},{type:"input_dummy"},{value:8,type:"field_number",name:"bits"},{type:"input_dummy"},{value:0,type:"field_number",name:"mode"},{type:"input_dummy"},{name:"mosi",options:q.Profile.default.digital,type:"field_dropdown"},{name:"miso",options:q.Profile.default.digital,type:"field_dropdown"},{name:"sck",options:q.Profile.default.digital,type:"field_dropdown"}]}),this.setFieldValue("15","mosi"),this.setFieldValue("14","miso"),this.setFieldValue("13","sck")}},pM={init:function(){this.setColour(jh),this.appendValueInput("data").setCheck(Number).appendField(j.Msg.MIXLY_MICROBIT_JS_SPI_WRITE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_MICROBIT_JS_SPI_WRITE)}},aM=180,lM={init:function(){this.jsonInit({colour:aM,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.clear",message0:j.Msg.MIXLY_MICROBIT_Clear_display}),this.setTooltip(j.Msg.MIXLY_MICROBIT_Clear_display)}},IM={init:function(){this.setColour(aM),this.appendValueInput("x").setCheck(Number).appendField(j.Msg.MIXLY_MICROBIT_JS_GET).appendField(j.Msg.MIXLY_BRIGHTNESS).appendField(j.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(j.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(j.Msg.MIXLY_BRIGHTNESS1)}},dM={init:function(){this.setColour(aM),this.appendValueInput("x").setCheck(Number).appendField(j.Msg.MIXLY_MICROBIT_JS_MONITOR_SET_BRIGHTNESS).appendField(j.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(j.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("brightness").setCheck(Number).appendField(j.Msg.MIXLY_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_BRIGHTNESS2)}},TM={init:function(){this.setColour(aM),this.appendValueInput("data").setCheck([String,"microbit_image"]).appendField(j.Msg.MIXLY_MICROBIT_SHOW_IMAGE_OR_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_MICROBIT_SHOW_IMAGE_OR_STRING)}},hM={init:function(){this.setColour(aM),this.appendValueInput("data").setCheck(String).appendField(j.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},MM={init:function(){this.setColour(aM),this.appendValueInput("data").setCheck(String).appendField(j.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("delay").setCheck(null).appendField(j.Msg.MIXLY_DELAY),this.appendDummyInput().appendField(j.Msg.MIXLY_MILLIS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},mM={init:function(){this.setColour(aM),this.appendValueInput("PIN",String).setCheck("microbit_image").appendField(j.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(j.Msg.OLED_BITMAP)}},OM={init:function(){this.jsonInit({colour:aM,InputsInline:!0,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.show",tooltip:"Show the referenced image on the display.",message0:j.Msg.OLED_BITMAP,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SMILE","SMILE"],["SAD","SAD"],["CONFUSED","CONFUSED"],["ANGRY","ANGRY"],["ASLEEP","ASLEEP"],["SURPRISED","SURPRISED"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["MEH","MEH"],["YES","YES"],["NO","NO"],["CLOCK12","CLOCK12"],["CLOCK11","CLOCK11"],["CLOCK10","CLOCK10"],["CLOCK9","CLOCK9"],["CLOCK8","CLOCK8"],["CLOCK7","CLOCK7"],["CLOCK6","CLOCK6"],["CLOCK5","CLOCK5"],["CLOCK4","CLOCK4"],["CLOCK3","CLOCK3"],["CLOCK2","CLOCK2"],["CLOCK1","CLOCK1"],["ARROW_N","ARROW_N"],["ARROW_NE","ARROW_NE"],["ARROW_E","ARROW_E"],["ARROW_SE","ARROW_SE"],["ARROW_S","ARROW_S"],["ARROW_SW","ARROW_SW"],["ARROW_W","ARROW_W"],["ARROW_NW","ARROW_NW"],["TRIANGLE","TRIANGLE"],["TRIANGLE_LEFT","TRIANGLE_LEFT"],["CHESSBOARD","CHESSBOARD"],["DIAMOND","DIAMOND"],["DIAMOND_SMALL","DIAMOND_SMALL"],["SQUARE","SQUARE"],["SQUARE_SMALL","SQUARE_SMALL"],["RABBIT","RABBIT"],["COW","COW"],["MUSIC_CROTCHET","MUSIC_CROTCHET"],["MUSIC_QUAVER","MUSIC_QUAVER"],["MUSIC_QUAVERS","MUSIC_QUAVERS"],["PITCHFORK","PITCHFORK"],["XMAS","XMAS"],["PACMAN","PACMAN"],["TARGET","TARGET"],["TSHIRT","TSHIRT"],["ROLLERSKATE","ROLLERSKATE"],["DUCK","DUCK"],["HOUSE","HOUSE"],["TORTOISE","TORTOISE"],["BUTTERFLY","BUTTERFLY"],["STICKFIGURE","STICKFIGURE"],["GHOST","GHOST"],["SWORD","SWORD"],["GIRAFFE","GIRAFFE"],["SKULL","SKULL"],["UMBRELLA","UMBRELLA"],["SNAKE","SNAKE"],["ALL_CLOCKS","ALL_CLOCKS"],["ALL_ARROWS","ALL_ARROWS"]],type:"field_dropdown"}]})}},cM={init:function(){this.jsonInit({colour:aM,inputsInline:!0,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.show",message0:j.Msg.MIXLY_MICROBIT_Animate_images_or_string,args0:[{check:[String,"List"],type:"input_value",name:"images"},{type:"input_value",name:"delay"},{type:"input_dummy"},{checked:!0,type:"field_checkbox",name:"wait"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"loop"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"clear"}]}),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_MICROBIT_JS_MONITOR_SHOW_delay+j.Msg.MIXLY_MICROBIT_Animate_images1)}},EM={init:function(){this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.jsonInit({colour:aM,inputsInline:!0,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.show",tooltip:"Display the list of images as an animation with a certain delay between each frame. Indicate if you need to wait before continuing, continuously loop the animation and clear the display when finished.",message0:j.Msg.MIXLY_MICROBIT_SHOW_STRING,args0:[{check:String,type:"input_value",name:"images"},{type:"input_value",name:"delay"},{type:"input_dummy"},{checked:!0,type:"field_checkbox",name:"wait"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"loop"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"clear"}]}),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING)}},RM={init:function(){this.jsonInit({colour:aM,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.scroll",tooltip:"Scroll the referenced text across the display.",message0:j.Msg.MIXLY_MICROBIT_Scroll_message,args0:[{check:"String",type:"input_value",name:"message"}]})}},gM={init:function(){this.setColour(aM),this.appendDummyInput().appendField(new j.FieldDropdown([[j.Msg.MIXLY_MICROBIT_Turn_on_display,"on"],[j.Msg.MIXLY_MICROBIT_Turn_off_display,"off"]]),"on_off").appendField(j.Msg.MIXLY_MICROBIT_monitor),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("on_off"),i=j.Msg.MIXLY_MICROBIT_monitor;return{on:j.Msg.MIXLY_MICROBIT_Turn_on_display,off:j.Msg.MIXLY_MICROBIT_Turn_off_display}[e]+i}))}},CM={init:function(){this.jsonInit({colour:aM,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.off",tooltip:"Turn off the display.",message0:j.Msg.MIXLY_MICROBIT_Turn_off_display})}},AM={init:function(){this.jsonInit({colour:aM,output:"Boolean",helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.is_on",message0:j.Msg.MIXLY_MICROBIT_Display_is_on}),this.setTooltip(j.Msg.MIXLY_MICROBIT_Display_is_on1)}},LM={init:function(){this.jsonInit({colour:aM,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SMILE","SMILE"],["SAD","SAD"],["CONFUSED","CONFUSED"],["ANGRY","ANGRY"],["ASLEEP","ASLEEP"],["SURPRISED","SURPRISED"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["MEH","MEH"],["YES","YES"],["NO","NO"],["CLOCK12","CLOCK12"],["CLOCK11","CLOCK11"],["CLOCK10","CLOCK10"],["CLOCK9","CLOCK9"],["CLOCK8","CLOCK8"],["CLOCK7","CLOCK7"],["CLOCK6","CLOCK6"],["CLOCK5","CLOCK5"],["CLOCK4","CLOCK4"],["CLOCK3","CLOCK3"],["CLOCK2","CLOCK2"],["CLOCK1","CLOCK1"],["ARROW_N","ARROW_N"],["ARROW_NE","ARROW_NE"],["ARROW_E","ARROW_E"],["ARROW_SE","ARROW_SE"],["ARROW_S","ARROW_S"],["ARROW_SW","ARROW_SW"],["ARROW_W","ARROW_W"],["ARROW_NW","ARROW_NW"],["TRIANGLE","TRIANGLE"],["TRIANGLE_LEFT","TRIANGLE_LEFT"],["CHESSBOARD","CHESSBOARD"],["DIAMOND","DIAMOND"],["DIAMOND_SMALL","DIAMOND_SMALL"],["SQUARE","SQUARE"],["SQUARE_SMALL","SQUARE_SMALL"],["RABBIT","RABBIT"],["COW","COW"],["MUSIC_CROTCHET","MUSIC_CROTCHET"],["MUSIC_QUAVER","MUSIC_QUAVER"],["MUSIC_QUAVERS","MUSIC_QUAVERS"],["PITCHFORK","PITCHFORK"],["XMAS","XMAS"],["PACMAN","PACMAN"],["TARGET","TARGET"],["TSHIRT","TSHIRT"],["ROLLERSKATE","ROLLERSKATE"],["DUCK","DUCK"],["HOUSE","HOUSE"],["TORTOISE","TORTOISE"],["BUTTERFLY","BUTTERFLY"],["STICKFIGURE","STICKFIGURE"],["GHOST","GHOST"],["SWORD","SWORD"],["GIRAFFE","GIRAFFE"],["SKULL","SKULL"],["UMBRELLA","UMBRELLA"],["SNAKE","SNAKE"],["ALL_CLOCKS","ALL_CLOCKS"],["ALL_ARROWS","ALL_ARROWS"]],type:"field_dropdown"}],output:["microbit_image","List"],helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#attributes",tooltip:j.Msg.MIXLY_MICROBIT_Built_in_image1,message0:j.Msg.MIXLY_MICROBIT_Built_in_image})}},SM={init:function(){this.jsonInit({colour:aM,args0:[{check:["microbit_image","List",String],type:"input_value",name:"image"}],output:"microbit_image",helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#microbit.Image.copy",message0:j.Msg.MIXLY_MICROBIT_Copy_image}),this.setTooltip(j.Msg.MIXLY_MICROBIT_Copy_image1)}},fM={init:function(){this.jsonInit({colour:aM,args0:[{check:["microbit_image","List",String],type:"input_value",name:"image"}],output:"microbit_image",helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#microbit.Image.invert",message0:j.Msg.MIXLY_MICROBIT_Invert_image}),this.setTooltip(j.Msg.MIXLY_MICROBIT_Invert_image1)}},DM={init:function(){this.jsonInit({colour:aM,args0:[{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"00"},{colour:"#000000",type:"field_colour",name:"01"},{colour:"#000000",type:"field_colour",name:"02"},{colour:"#000000",type:"field_colour",name:"03"},{colour:"#000000",type:"field_colour",name:"04"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"10"},{colour:"#000000",type:"field_colour",name:"11"},{colour:"#000000",type:"field_colour",name:"12"},{colour:"#000000",type:"field_colour",name:"13"},{colour:"#000000",type:"field_colour",name:"14"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"20"},{colour:"#000000",type:"field_colour",name:"21"},{colour:"#000000",type:"field_colour",name:"22"},{colour:"#000000",type:"field_colour",name:"23"},{colour:"#000000",type:"field_colour",name:"24"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"30"},{colour:"#000000",type:"field_colour",name:"31"},{colour:"#000000",type:"field_colour",name:"32"},{colour:"#000000",type:"field_colour",name:"33"},{colour:"#000000",type:"field_colour",name:"34"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"40"},{colour:"#000000",type:"field_colour",name:"41"},{colour:"#000000",type:"field_colour",name:"42"},{colour:"#000000",type:"field_colour",name:"43"},{colour:"#000000",type:"field_colour",name:"44"}],output:"microbit_image",helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#microbit.Image",message0:j.Msg.MIXLY_MICROBIT_Create_image}),this.setTooltip(j.Msg.MIXLY_MICROBIT_Create_image1)}},NM={init:function(){var t=[[j.Msg.MIXLY_UP,"up"],[j.Msg.MIXLY_DOWN,"down"],[j.Msg.MIXLY_LEFT,"left"],[j.Msg.MIXLY_RIGHT,"right"]];this.setColour(aM),this.setOutput(!0,"microbit_image"),this.setInputsInline(!0),this.appendValueInput("img").appendField(j.Msg.DISPLAY_IMAGE_LET).setCheck(["microbit_image","List",String]),this.appendDummyInput("").appendField(j.Msg.DISPLAY_IMAGE_LET2).appendField(new j.FieldDropdown(t),"OP"),this.appendValueInput("val").appendField(j.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(j.Msg.DISPLAY_IMAGE_UNIT);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i=j.Msg.DISPLAY_IMAGE_LET,n=j.Msg.DISPLAY_IMAGE_LET2,s=j.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:j.Msg.MIXLY_UP,down:j.Msg.MIXLY_DOWN,left:j.Msg.MIXLY_LEFT,right:j.Msg.MIXLY_RIGHT}[t]+s}))}},PM={init:function(){var t=[[j.Msg.MICROBIT_DISPLAY_UNION,"+"],[j.Msg.MICROBIT_DISPLAY_MINUS,"-"]];this.setColour(aM),this.setOutput(!0,"microbit_image"),this.appendValueInput("A").appendField(j.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new j.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{"+":j.Msg.MIXLY_MICROBIT_image_add,"-":j.Msg.MIXLY_MICROBIT_image_reduce}[t]}))}},FM={init:function(){this.setColour(aM),this.appendValueInput("TEXT",String).setCheck([String,Number]).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_DF_LCD).appendField("mylcd").appendField(j.Msg.MIXLY_LCD_PRINT1),this.appendValueInput("TEXT2",String).setCheck([String,Number]).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_LCD_PRINT2),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(j.Msg.MIXLY_LCD_PRINT4_TOOLTIP)}},vM={init:function(){this.setColour(aM),this.appendValueInput("device").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_SETUP).appendField(j.Msg.MIXLY_DF_LCD).appendField("1602").appendField("mylcd").appendField(j.Msg.MIXLY_LCD_ADDRESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_SETUP+j.Msg.MIXLY_DF_LCD+j.Msg.MIXLY_LCD_ADDRESS)}},YM={init:function(){this.setColour(aM),this.appendValueInput("row",Number).setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_DF_LCD).appendField("mylcd").appendField(j.Msg.MIXLY_LCD_ROW),this.appendValueInput("column",Number).setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_LCD_COLUMN),this.appendValueInput("TEXT",String).setCheck([String,Number]).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_LCD_PRINT),this.setPreviousStatement(!0,null),this.setInputsInline(!0),this.setNextStatement(!0,null),this.setTooltip(j.Msg.MIXLY_LCD_PRINT3_TOOLTIP)}},bM={init:function(){this.setColour(aM),this.appendDummyInput().appendField(j.Msg.MIXLY_DF_LCD).appendField("mylcd").appendField(new j.FieldDropdown([[j.Msg.MIXLY_ON,"on()"],[j.Msg.MIXLY_OFF,"off()"],[j.Msg.MIXLY_LCD_STAT_CLEAR,"clear()"],[j.Msg.MIXLY_LCD_NOBACKLIGHT,"backlight(False)"],[j.Msg.MIXLY_LCD_BACKLIGHT,"backlight(True)"]]),"STAT"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);var t=this;this.setTooltip((function(){var e=t.getFieldValue("STAT");return j.Msg.LISTS_SET_INDEX_SET+j.Msg.MIXLY_DF_LCD+{"on()":j.Msg.MIXLY_ON,"off()":j.Msg.MIXLY_OFF,"clear()":j.Msg.MIXLY_LCD_STAT_CLEAR,"backlight(off)":j.Msg.MIXLY_LCD_NOBACKLIGHT,"backlight(on)":j.Msg.MIXLY_LCD_BACKLIGHT}[e]}))}},XM={init:function(){this.appendDummyInput().appendField(j.Msg.MIXLY_DF_LCD+" OLED "+j.Msg.OLEDDISPLAY),this.appendValueInput("Text_line1","String").setAlign(j.inputs.Align.RIGHT).appendField("(128*64) "+j.Msg.line1),this.appendValueInput("Text_line2","String").setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.line2),this.appendValueInput("Text_line3","String").setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.line3),this.appendValueInput("Text_line4","String").setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.line4),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(aM),this.setTooltip(j.Msg.MIXLY_DF_LCD+j.Msg.OLEDDISPLAY+j.Msg.MIXLY_MICROBIT_TYPE_STRING)}},yM={init:function(){var t=[[j.Msg.MIXLY_HEIGHT,"height"],[j.Msg.MIXLY_WIDTH,"width"]];this.setColour(aM),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+j.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("microbit_image"),this.appendDummyInput("").appendField(new j.FieldDropdown(t),"OP"),this.setInputsInline(!0),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+j.Msg.MIXLY_MICROBIT_IMAGE+{height:j.Msg.MIXLY_HEIGHT,width:j.Msg.MIXLY_WIDTH}[t]}))}},VM={init:function(){this.setColour(aM),this.appendValueInput("SUB"),this.appendDummyInput().appendField(new j.FieldDropdown([[j.Msg.MIXLY_LCD_STAT_CLEAR,"0"],[j.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL,"1"]]),"key"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i={0:j.Msg.MIXLY_LCD_STAT_CLEAR,1:j.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL};return j.Msg.MIXLY_DF_LCD+i[e]}))}},BM="#777777",GM={init:function(){this.setColour(BM),this.appendDummyInput("").appendField("from ").appendField(new j.FieldTextInput("microbit"),"path").appendField(" import ").appendField(new j.FieldTextInput("*"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},UM={init:function(){this.setColour(BM),this.appendDummyInput("").appendField("import ").appendField(new j.FieldTextInput("module"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},wM={init:function(){this.setColour(BM),this.appendDummyInput("").appendField(new j.FieldTextInput("my_function"),"NAME"),this.itemCount_=1,this.arguments_=["x"],this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new j.icons.MutatorIcon(["factory_create_with_item"],this))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("items",this.itemCount_);for(var e=0;e 0:\n pre = bin(value).count("1")\n # find first non full high value afterwards\n try:\n k, value = next((ind, v)\n for ind, v in enumerate(resp[i:length - 2]) if resp[i + ind + 1] == 0)\n post = bin(value).count("1") if k else 0\n k = k + i\n except StopIteration:\n i = -1\n dist= -1 if i < 0 else round((pre + (k - i) * 8. + post) * 8 * 0.172)\n return dist\n\n def distance_cm(self):\n return self.distance_mm() / 10.0\n\nsonar=HCSR04()\n\n',["sonar.distance_cm()",e.ORDER_ATOMIC]},vE=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_RTC="from RTC import *"},YE=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_RTC="from RTC import *";var i=this.getFieldValue("TIME_TYPE");switch(i){case"Year":case"Month":case"Day":case"Hour":case"Minute":case"Second":case"Week":return["ds."+i+"()",e.ORDER_ASSIGNMENT];case"Mix1":return["ds.get_date()",e.ORDER_ASSIGNMENT];case"Mix2":return["ds.get_time()",e.ORDER_ASSIGNMENT]}},bE=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_RTC="from RTC import *","ds.set_time("+e.valueToCode(this,"hour",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"minute",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"second",e.ORDER_ASSIGNMENT)+")\n"},XE=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_RTC="from RTC import *","ds.set_date("+e.valueToCode(this,"year",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"month",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"day",e.ORDER_ASSIGNMENT)+")\n"},yE=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","compass.clear_calibration()\n"},VE=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",["display.read_light_level()",e.ORDER_ATOMIC]},BE=function(t,e){var i=this.getFieldValue("Trig"),n=this.getFieldValue("Echo");return e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_ultrasonic="from ultrasonic import *","sonar = HCSR04(tpin=pin"+i+", epin=pin"+n+")\n"},GE=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_TCS="from TCS import *",["tcs.getRawRGBData("+this.getFieldValue("TCS34725_COLOR")+")",e.ORDER_ATOMIC]},UE=function(t,e){var i=this.getFieldValue("PIN"),n=e.valueToCode(this,"NominalResistance",e.ORDER_ATOMIC),s=e.valueToCode(this,"betaCoefficient",e.ORDER_ATOMIC),o=e.valueToCode(this,"seriesResistor",e.ORDER_ATOMIC);return e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_ntc="import ntc",["ntc.read(pin"+i+", "+n+", "+s+", "+o+")",e.ORDER_ATOMIC]},wE=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","uart.write(str("+(e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC)||'""')+"))\n"},kE=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","uart.write(str("+(e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC)||'""')+")+'\\r\\n')\n"},xE=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","uart.write(str(hex("+(e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC)||"0")+")) + '\\r\\n')\n"},HE=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";var i=e.valueToCode(this,"char_marker",e.ORDER_ATOMIC)||";",n=e.statementToCode(this,"DO");e.definitions_["func_serial_receive_data_event_"+i.charCodeAt(1)]="serial.onDataReceived("+i+", () => {\n"+n+"}\n"},WE=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";return["uart.any()",e.ORDER_ATOMIC]},KE=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";return["uart.read()",e.ORDER_ATOMIC]},JE=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";return["uart.readline()",e.ORDER_ATOMIC]},QE=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",["serial.readUntil("+this.getFieldValue("char_marker")+")",e.ORDER_ATOMIC]},jE=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";var i=e.valueToCode(this,"RX",e.ORDER_ATOMIC),n=e.valueToCode(this,"TX",e.ORDER_ATOMIC);return isNaN(parseInt(i))||(i="pin"+i),isNaN(parseInt(n))||(n="pin"+n),"uart.init(rx="+i+", tx="+n+", baudrate="+this.getFieldValue("baudrate")+")\n"},qE=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","uart.init(baudrate="+this.getFieldValue("baudrate")+")\n"},zE=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",["input("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||'""')+")",e.ORDER_ATOMIC]},ZE=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","print("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||'""')+")\n"},$E=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","print("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||'""')+',end ="")\n'},tR=function(t,e){return"control.inBackground(() => {\n"+e.statementToCode(this,"do")+"})\n"},eR=function(){return"control.reset()\n"},iR=function(t,e){return"control.waitMicros("+(e.valueToCode(this,"data",e.ORDER_ATOMIC)||q.Profile.default.serial)+")\n"},nR=function(t,e){return"control.raiseEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||q.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||q.Profile.default.serial)+")\n"},sR=function(t,e){return"control.onEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||q.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||q.Profile.default.serial)+", () => {\n"+e.statementToCode(this,"do")+")\n"},oR=function(t,e){return["control.eventTimestamp()",e.ORDER_ATOMIC]},_R=function(t,e){return["control.eventValue()",e.ORDER_ATOMIC]},uR=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},rR=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},pR=function(t,e){return["control.deviceName()",e.ORDER_ATOMIC]},aR=function(t,e){return["control.deviceSerialNumber()",e.ORDER_ATOMIC]},lR=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","sleep("+(e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000")+")\n"},IR=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","panic("+(e.valueToCode(this,"STATUS_CODE",e.ORDER_ATOMIC)||"1000")+")\n"},dR=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";return["running_time()",e.ORDER_ATOMIC]},TR=function(){return"while True:\n pass\n"},hR=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","reset()\n"},MR=function(t,e){return e.definitions_.import_os="import os",["os.uname()",e.ORDER_ATOMIC]};Object.assign(j.Variables,Z),Object.assign(j.Procedures,Tp),j.Python=hp,j.generator=hp,q.Profile.default={},Object.assign(q.Profile,Mh),Object.assign(q.Profile.default,Mh.microbit),Object.assign(j.Blocks,e,i,n,s,o,_,u,r,p,a,l,I,d,f,D,F,v,Y,b,X,y,V,B,G),Object.assign(j.Python.forBlock,T,h,M,m,O,c,E,R,g,C,A,L,S,N,P,U,w,k,x,H,W,K,J,Q)})(); \ No newline at end of file diff --git a/boards/default/micropython_nrf51822_mithoncc/index.xml b/boards/default/micropython_nrf51822_mithoncc/index.xml index c87167de..de48109a 100644 --- a/boards/default/micropython_nrf51822_mithoncc/index.xml +++ b/boards/default/micropython_nrf51822_mithoncc/index.xml @@ -1 +1 @@ -1000100,1,2,3051i90x151100a10.998124.82110010101000110050110011000110x2x0,1,2,30,1,2,30,1,2,3xMixlyMixlyHelloMixly65axMixlyMixly0Mixly02MixlyMixlyHello,mixlyHello,mixly50*Hello,mixlyl--mylistHello,mixlymixlymixpyI love mixly!I love mixlyRandom No. is {}int1100input('1+2*3')mylist1,2,3,4,5mylist0mylist02mylistmylist2mylistmylist0mylist00mylist00mylist0mylist0mylist0mylistmylistmylistxmytup1,2,3,4,5mytup0mytup02mytupmytupmytupmytup0mytupmytup1mytup2xmydictmydictkeymydictkey0mydictkey0mydictkeymydictkeymydictkey0mydictmydictmydictmydictxmydict{"name":"Mixly","color":"green"}s11,2,3,4,5s1s1s1s2s1s2s10s1Mixlys1s2xMixlyMixlyprompt100012MixlyMixly1201201>323760x756269740Mixlyresponsehttp://mixio.mixly.cnresponsehttp://mixio.mixly.cnresponse \ No newline at end of file +1000100,1,2,3051i90x151100a10.998124.82110010101000110050110011000110x2x0,1,2,30,1,2,30,1,2,3xMixlyMixlyHelloMixly65axMixlyMixly0Mixly02MixlyMixlyHello,mixlyHello,mixly50*Hello,mixlyl--mylistHello,mixlymixlymixpyI love mixly!I love mixlyRandom No. is {}int1100input('1+2*3')mylist1,2,3,4,5mylist0mylist02mylistmylist2mylistmylist0mylist00mylist00mylist0mylist0mylist0mylistmylistmylistxmytup1,2,3,4,5mytup0mytup02mytupmytupmytupmytup0mytupmytup1mytup2xmydictmydictkeymydictkey0mydictkey0mydictkeymydictkeymydictkey0mydictmydictmydictmydictxmydict{"name":"Mixly","color":"green"}s11,2,3,4,5s1s1s1s2s1s2s10s1Mixlys1s2xMixlyMixlyprompt100012MixlyMixly1201201>323760x756269740Mixlyresponsehttp://mixio.mixly.cnresponsehttp://mixio.mixly.cnresponse \ No newline at end of file diff --git a/boards/default/micropython_nrf51822_mithoncc/main.bundle.83d827ca.js b/boards/default/micropython_nrf51822_mithoncc/main.bundle.9dad03f5.js similarity index 62% rename from boards/default/micropython_nrf51822_mithoncc/main.bundle.83d827ca.js rename to boards/default/micropython_nrf51822_mithoncc/main.bundle.9dad03f5.js index 6a01a94e..c2dce0fe 100644 --- a/boards/default/micropython_nrf51822_mithoncc/main.bundle.83d827ca.js +++ b/boards/default/micropython_nrf51822_mithoncc/main.bundle.9dad03f5.js @@ -18,4 +18,4 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -class ${constructor(t,e){if(this.variablePrefix_=e||"",this.reservedDict_=Object.create(null),t)for(var i=t.split(","),n=0;n0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(J.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+s).appendField(J.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(J.Msg.CONTROLS_IF_MSG_ELSE);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_if_if");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_if_elseif");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var o=t.newBlock("controls_if_else");o.initSvg(),i.connect(o.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],o=null;i;){switch(i.type){case"controls_if_elseif":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_if_else":this.elseCount_++,o=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,o)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_if_elseif":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_if_else":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),o=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(o.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(J.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+t).appendField(J.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(J.Msg.CONTROLS_IF_MSG_ELSE)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},mt={init:function(){this.setColour(It),this.appendValueInput("FROM").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.PYTHON_RANGE).appendField(J.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.PYTHON_RANGE_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(J.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},ct={init:function(){this.setColour(It),this.appendValueInput("LIST").setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.CONTROLS_FOREACH_INPUT),this.appendValueInput("VAR").appendField(J.Msg.CONTROLS_FOREACH_INPUT_ITEM),this.appendStatementInput("DO").appendField(J.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip((function(){return J.Msg.CONTROLS_FOR_TOOLTIP.replace("“%1”","")}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){J.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Et={init:function(){this.setColour(It),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(J.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(new J.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(J.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT+J.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return{WHILE:J.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:J.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[e]}))}},Rt={init:function(){this.setColour(It),this.appendDummyInput().appendField(J.Msg.MIXLY_PYTHON_TRY),this.appendStatementInput("try"),this.appendValueInput("IF1").appendField(J.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO1").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new J.icons.MutatorIcon(["controls_except","controls_finally"],this)),this.setTooltip(J.Msg.MIXLY_MIXPY_CONTROL_TRY_TOOLTIP),this.elseifCount_=1,this.elseCount_=0},mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var t=document.createElement("mutation");return this.elseifCount_&&t.setAttribute("elseif",this.elseifCount_),this.elseCount_&&t.setAttribute("else",1),t},domToMutation:function(t){var e=this,i=[],n=[];this.elseCount_&&this.removeInput("ELSE");for(var s=this.elseifCount_;s>0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(J.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+s).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(J.Msg.MIXLY_PYTHON_FINALLY);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_try");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_except");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var o=t.newBlock("controls_finally");o.initSvg(),i.connect(o.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],o=null;i;){switch(i.type){case"controls_except":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_finally":this.elseCount_++,o=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,o)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_except":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_finally":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),o=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(o.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(J.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+t).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(J.Msg.MIXLY_PYTHON_FINALLY)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},gt={init:function(){this.setColour(It);var t=new J.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(t,"FLOW").appendField(J.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0),this.setTooltip(J.Msg.MIXLY_PYTHON_CONTROLS_FLOW_STATEMENTS_TOOLTIP);var e=this;this.setTooltip((function(){var t=e.getFieldValue("FLOW");return{BREAK:J.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:J.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}[t]}))},onchange:function(){if(this.workspace){var t=!1,e=this;do{if("controls_repeat"==e.type||"controls_for"==e.type||"controls_forEach"==e.type||"controls_repeat_ext"==e.type||"controls_whileUntil"==e.type||"do_while"==e.type){t=!0;break}e=e.getSurroundParent()}while(e);t?this.setWarningText(null):this.setWarningText(J.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}},Ct={init:function(){this.setColour(It),this.appendDummyInput().appendField(J.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new J.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(J.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return J.Msg.CONTROLS_FOR_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){J.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},At={init:function(){this.setColour(It),this.appendDummyInput().appendField(J.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new J.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(J.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return J.Msg.MIXLY_PYTHON_CONTROLS_FOR_RANGE_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){J.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}};Et.OPERATORS=[[J.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[J.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]],gt.OPERATORS=[[J.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[J.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const Lt={init:function(){this.setColour(It),this.appendDummyInput().appendField(J.Msg.CONTROLS_IF_IF_TITLE_IF),this.appendStatementInput("STACK"),this.setTooltip(J.Msg.CONTROLS_IF_IF_TOOLTIP),this.contextMenu=!1}},St={init:function(){this.setColour(It),this.appendDummyInput().appendField(J.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(J.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},Dt={init:function(){this.setColour(It),this.appendDummyInput().appendField(J.Msg.CONTROLS_IF_ELSE_TITLE_ELSE),this.setPreviousStatement(!0),this.setTooltip(J.Msg.CONTROLS_IF_ELSE_TOOLTIP),this.contextMenu=!1}},Nt={init:function(){this.setColour(It),this.appendDummyInput().appendField("try"),this.appendStatementInput("STACK"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.contextMenu=!1}},ft={init:function(){this.setColour(It),this.appendDummyInput().appendField(J.Msg.MIXLY_PYTHON_EXCEPT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1,this.setTooltip(J.Msg.MIXLY_MIXPY_CONTROL_EXCEPT_TOOLTIP)}},Pt={init:function(){this.setColour(It),this.appendDummyInput().appendField(J.Msg.MIXLY_PYTHON_FINALLY),this.setPreviousStatement(!0),this.contextMenu=!1,this.setTooltip(J.Msg.MIXLY_MIXPY_CONTROL_FINALLY_TOOLTIP)}},Ft={init:function(){this.jsonInit({message0:J.Msg.CONTROLS_REPEAT_TITLE,args0:[{type:"input_value",name:"TIMES"}],previousStatement:null,nextStatement:null,colour:It,tooltip:J.Msg.CONTROLS_REPEAT_TOOLTIP,helpUrl:J.Msg.CONTROLS_REPEAT_HELPURL}),this.appendStatementInput("DO")}},vt={init:function(){this.setColour(It),this.appendValueInput("BOOL").appendField("lambda"),this.appendStatementInput("DO").appendField(J.Msg.MIXLY_STAT),this.setOutput(!0)}},Yt={init:function(){this.setColour(It),this.appendDummyInput().appendField(J.Msg.MIXLY_PYTHON_PASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(J.Msg.MIXLY_PYTHON_CONTROLS_PASS_TOOLTIP)}},Vt={init:function(){this.setColour(It),this.appendDummyInput().appendField(J.Msg.MIXLY_PYTHON_CONTROLS_THREAD_START),this.appendValueInput("callback").appendField(J.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.appendValueInput("VAR").appendField(J.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_PYTHON_CONTROLS_THREAD_TOOLTIP)}},bt={init:function(){this.appendDummyInput().appendField(J.Msg.CONTROLS_REPEAT_TITLE_REPEAT+J.Msg.MIXLY_DO),this.appendStatementInput("input_data").setCheck(null),this.appendValueInput("select_data").setCheck(null).appendField(J.Msg.CONTROLS_OPERATOR_UNTIL).appendField(new J.FieldDropdown([[J.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"true"],[J.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"false"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(It),this.setTooltip("do-while loop"),this.setHelpUrl("")}},Xt={init:function(){this.setColour(It),this.appendDummyInput().appendField(J.Msg.MIXLY_OP_GARBAGE_COLLECT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},yt={init:function(){this.setColour(It),this.appendDummyInput().appendField(J.Msg.MIXLY_GET_MEM_ALLOC),this.setOutput(!0)}},Ut={init:function(){this.setColour(It),this.appendDummyInput().appendField(J.Msg.MIXLY_GET_MEM_FREE),this.setOutput(!0)}},Bt={init:function(){this.setColour(It),this.appendDummyInput().appendField(J.Msg.MIXLY_GET+J.Msg.MIXLY_DEVICE+"ID"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(J.Msg.PROCEDURES_DEFRETURN_RETURN+J.Msg.MIXLY_GET_UNIQUE_IDEN)}},wt={init:function(){this.setColour(It),this.appendValueInput("VAR").appendField(J.Msg.MIXLY_RTC_TIMESTAMP),this.appendDummyInput().appendField(J.Msg.MIXLY_TIMESTAMP_TO_DATA),this.setInputsInline(!0),this.setOutput(!0,Number)}},Gt={init:function(){this.setColour(It),this.appendDummyInput().appendField(J.Msg.MIXLY_GET_UNIQUE_IDEN),this.setOutput(!0)}},kt=230;J.FieldTextInput.math_number_validator=function(t){return String(t)},J.FieldTextInput.math_number_validator_include_blank=function(t){if(""===t)return"";return/^-?(0X|0x|0O|0o|0B|0b)?[a-fA-F0-9]{1,}(\.[a-fA-F0-9]+)?$/.test(t)?String(t):null};const Ht={init:function(){this.setColour(kt),this.appendDummyInput().appendField(new J.FieldTextInput("0",J.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(J.Msg.MATH_NUMBER_TOOLTIP)}},xt={init:function(){this.setColour(kt);this.appendDummyInput("").appendField(J.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new J.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:J.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_TOOLTIP,e:J.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_TOOLTIP}[e]}))}},Wt={init:function(){this.setColour(kt);this.appendDummyInput("").appendField(J.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new J.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:J.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_MP_TOOLTIP,e:J.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_MP_TOOLTIP}[e]}))}},Kt={init:function(){this.setColour(kt),this.setOutput(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new J.FieldDropdown([["+","ADD"],["-","MINUS"],["×","MULTIPLY"],["÷","DIVIDE"],["%","QUYU"],["//","ZHENGCHU"],["**","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:J.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:J.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:J.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:J.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:J.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:J.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:J.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},Qt={init:function(){this.setColour(kt),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new J.FieldDropdown([["+=","ADD"],["-=","MINUS"],["×=","MULTIPLY"],["÷=","DIVIDE"],["%=","QUYU"],["//=","ZHENGCHU"],["**=","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:J.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:J.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:J.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:J.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:J.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:J.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:J.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},jt={init:function(){this.setColour(kt),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new J.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},Jt={init:function(){this.setColour(kt),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new J.FieldDropdown([["sin","SIN"],["cos","COS"],["tan","TAN"],["asin","ASIN"],["acos","ACOS"],["atan","ATAN"],["-","-"],["ln","LN"],["log10","LOG10"],["e^","EXP"],["10^","POW10"]]),"OP");var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{SIN:J.Msg.MATH_TRIG_TOOLTIP_SIN,COS:J.Msg.MATH_TRIG_TOOLTIP_COS,TAN:J.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:J.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:J.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:J.Msg.MATH_TRIG_TOOLTIP_ATAN,LN:J.Msg.MATH_SINGLE_TOOLTIP_LN}[e]}))}},qt={init:function(){var t=[[J.Msg.MATH_BIN,"bin"],[J.Msg.MATH_OCT,"oct"],[J.Msg.MATH_HEX,"hex"]];this.setColour(kt),this.setOutput(!0,String),this.appendValueInput("NUM").setCheck(Number).appendField(new J.FieldDropdown(t),"OP");var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{bin:J.Msg.MATH_DEC_TOOLTIP_BIN,oct:J.Msg.MATH_DEC_TOOLTIP_OCT,hex:J.Msg.MATH_DEC_TOOLTIP_HEX}[t]}))}},zt={init:function(){var t=[[J.Msg.LANG_MATH_TO_ROUND,"round"],[J.Msg.LANG_MATH_TO_CEIL,"ceil"],[J.Msg.LANG_MATH_TO_FLOOR,"floor"],[J.Msg.MATH_ABS,"fabs"],[J.Msg.MATH_SQRT,"sqrt"]];this.setColour(kt),this.appendValueInput("A").setCheck(Number).appendField(new J.FieldDropdown(t),"OP"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{sqrt:J.Msg.MATH_SINGLE_TOOLTIP_ROOT,fabs:J.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:J.Msg.MATH_SINGLE_TOOLTIP_SQ,round:J.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:J.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:J.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[t]}))}},Zt={init:function(){var t=[[J.Msg.MIXLY_MAX,"max"],[J.Msg.MIXLY_MIN,"min"]];this.setColour(kt),this.appendValueInput("A").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(new J.FieldDropdown(t),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(J.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{max:J.Msg.MIXLY_TOOLTIP_MATH_MAX,min:J.Msg.MIXLY_TOOLTIP_MATH_MIN}[t]}))}},$t={init:function(){var t=[[J.Msg.MATH_TWO,"two"],[J.Msg.MATH_EIGHT,"eight"],[J.Msg.MATH_TEN,"ten"],[J.Msg.MATH_SIXTEEN,"sixteen"]];this.setColour(kt),this.appendDummyInput("").appendField(J.Msg.MATH_BA),this.appendValueInput("NUM").appendField(new J.FieldDropdown(t),"OP").appendField(J.Msg.MATH_JinZhi).setCheck(Number),this.appendDummyInput("").appendField(J.Msg.MATH_ZHW).appendField(new J.FieldDropdown(t),"OP2").appendField(J.Msg.MATH_JinZhi),this.setFieldValue("ten","OP2"),this.setOutput(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i={two:J.Msg.MATH_Before_two,eight:J.Msg.MATH_Before_eight,ten:J.Msg.MATH_Before_ten,sixteen:J.Msg.MATH_Before_sixteen},n=e.getFieldValue("OP2"),s={two:J.Msg.MATH_Behind_two,eight:J.Msg.MATH_Behind_eight,ten:J.Msg.MATH_Behind_ten,sixteen:J.Msg.MATH_Behind_sixteen};return i[t]+s[n]}))}},te={init:function(){var t=[[J.Msg.LANG_MATH_INT,"int"],[J.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(kt),this.setOutput(!0,Number),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_RANDOM).appendField(new J.FieldDropdown(t),"TYPE"),this.appendValueInput("FROM").setCheck(Number).appendField(J.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TYPE"),i={int:J.Msg.LANG_MATH_INT,float:J.Msg.LANG_MATH_FLOAT_RANDOM};return J.Msg.MATH_RANDOM_INT_TOOLTIP+i[t]}))}},ee={init:function(){this.setColour(kt),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(J.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(J.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(J.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(J.Msg.MATH_CONSTRAIN_TOOLTIP)}},ie={init:function(){this.setColour(kt),this.appendValueInput("NUM",Number).appendField(J.Msg.MIXLY_MAP).setCheck(Number),this.appendValueInput("fromLow",Number).appendField(J.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(J.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(J.Msg.MIXLY_TOOLTIP_MATH_MAP)}},ne={init:function(){this.setColour(kt),this.appendDummyInput().appendField(new J.FieldTextInput("0",J.FieldTextInput.math_number_validator_include_blank),"NUM"),this.setOutput(!0),this.setTooltip(J.Msg.MATH_NUMBER_TOOLTIP)}},se={init:function(){this.setColour(kt),this.appendValueInput("NUM").setCheck(Number).appendField(J.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(J.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED)}},oe={init:function(){this.setColour(kt),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number),this.appendValueInput("VAR").setCheck(Number).appendField(J.Msg.MATH_ROUND).appendField(J.Msg.TEXT_KEEP),this.appendDummyInput().appendField(J.Msg.TEXT_DECIMAL),this.setInputsInline(!0),this.setTooltip(J.Msg.MATH_ROUND_NEW_TOOLTIP)}},_e={init:function(){var t=[[J.Msg.MIXLY_TO_INT,"int"],[J.Msg.MIXLY_TO_FLOAT,"float"],[J.Msg.MIXLY_TO_BITES,"b"],[J.Msg.LANG_MATH_BYTE+J.Msg.MIXLY_TO_INT,"bti"]];this.setColour(kt),this.appendValueInput("VAR").appendField(new J.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:J.Msg.MIXLY_PYTHON_TOOLTIP_TOINT,float:J.Msg.MIXLY_PYTHON_TOOLTIP_TOFLOAT,b:J.Msg.MIXLY_TOOLTIP_TEXT_TOBYTE}[t]}))}},ue={init:function(){var t=[[J.Msg.MIXLY_TO_INT,"int"],[J.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(kt),this.appendValueInput("VAR").appendField(new J.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:J.Msg.MIXLY_TOOLTIP_TEXT_TOINT,float:J.Msg.MIXLY_TOOLTIP_TEXT_TOFLOAT}[t]}))}},ae=ie,re={init:function(){this.setColour(kt),this.appendValueInput("VAR").appendField(J.Msg.LANG_MATH_BYTE+J.Msg.MIXLY_TO_HEX),this.setOutput(!0,Number),this.setTooltip(J.Msg.MIXLY_PYTHON_TOOLTIP_TOHEX)}},pe={init:function(){this.setColour(kt),this.itemCount_=1,this.setMutator(new J.icons.MutatorIcon(["lists_create_with_item"],this)),this.appendDummyInput("DUMMY").appendField(J.Msg.MIXLY_PRODUCT+J.Msg.MIXLY_GENERATE_CARTESIAN_PRODUCT),this.appendValueInput("REPEAT").appendField(J.Msg.MIXLY_EVERY_PER_ELEPER_ELEMENT),this.appendDummyInput().appendField(J.Msg.CONTROLS_REPEAT_TITLE_TIMES),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0),this.setTooltip(J.Msg.LISTS_CREATE_WITH_PYTHON_TOOLTIP),this.updateShape_()},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("lists_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n1&&"\\"===t.charAt(0)){var e=t.charAt(1);if("0"===e||"b"===e||"f"===e||"n"===e||"r"===e||"t"===e||"\\"===e||"'"===e)return String(t).substring(0,2);if("x"===e&&"0"===t.charAt(2)&&"B"===t.charAt(3))return String(t).substring(0,4)}return String(t).substring(0,1)};const Oe={init:function(){this.setColour(Te),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new J.FieldTextInput("",J.FieldTextInput.char_validator),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,Number),this.setTooltip(J.Msg.TEXT_CHAR_TOOLTIP)},newQuote_:function(t){if(1==t)var e="../../media/quote2.png";else e="../../media/quote3.png";return new J.FieldImage(e,7,12,'"')}},me={init:function(){this.setColour(Te),this.appendValueInput("A").setCheck([String,Number]),this.appendValueInput("B").setCheck([String,Number]).appendField(J.Msg.MIXLY_TEXT_JOIN),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(J.Msg.MIXLY_TOOLTIP_TEXT_JOIN)}},ce={init:function(){this.setColour(Te),this.appendValueInput("VAR").setCheck(Number).appendField(J.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(J.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},Ee={init:function(){this.setColour(Te),this.appendValueInput("VAR").setCheck(String).appendField(J.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(J.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},Re={init:function(){this.setColour(Te),this.appendValueInput("VAR").appendField(J.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(J.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},ge={init:function(){this.setColour(Te),this.appendValueInput("VAR").appendField(J.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(J.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},Ce={init:function(){this.WHERE_OPTIONS=[[J.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[J.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[J.Msg.TEXT_GET_INDEX_RANDOM+1+J.Msg.TEXT_CHARAT2,"RANDOM"]],this.setHelpUrl(J.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Te),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number),this.appendDummyInput().appendField(J.Msg.LISTS_GET_INDEX_GET,"MODE"),J.Msg.LISTS_GET_INDEX_TAIL&&this.appendDummyInput("TAIL").appendField(J.Msg.LISTS_GET_INDEX_TAIL),this.setInputsInline(!0),this.setOutput(!0),this.updateAt_(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=t.getFieldValue("WHERE"),n="";switch(e+" "+i){case"GET FROM_START":case"GET FROM_END":n=J.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM;break;case"GET RANDOM":n=J.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM;break;case"GET_REMOVE FROM_START":case"GET_REMOVE FROM_END":n=J.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM;break;case"GET_REMOVE RANDOM":n=J.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM}return"FROM_START"!=i&&"FROM_END"!=i||(n+=" "+J.Msg.LISTS_INDEX_FROM_START_TOOLTIP.replace("%1",J.Msg.ONE_BASED_INDEXING?"#1":"#0")),n}));var e=this;this.setTooltip((function(){var t=e.getFieldValue("WHERE"),i={FROM_START:J.Msg.LISTS_GET_INDEX_FROM_START,FROM_END:J.Msg.LISTS_GET_INDEX_FROM_END,RANDOM:J.Msg.TEXT_GET_INDEX_RANDOM};return J.Msg.PROCEDURES_DEFRETURN_RETURN+J.Msg.MIXLY_MICROBIT_TYPE_STRING+i[t]+"n"+J.Msg.TEXT_CHARAT2}))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("statement",!this.outputConnection);var e=this.getInput("AT").type==J.INPUT_VALUE;return t.setAttribute("at",e),t},domToMutation:function(t){var e="true"==t.getAttribute("statement");this.updateStatement_(e),t="false"!=t.getAttribute("at"),this.updateAt_(t)},updateStatement_:function(t){t!=!this.outputConnection&&(this.unplug(!0,!0),t?(this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)):(this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)))},updateAt_:function(t){this.removeInput("AT"),this.removeInput("ORDINAL",!0),t?(this.appendValueInput("AT").setCheck(Number),J.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL").appendField(J.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT");var e=new J.FieldDropdown(this.WHERE_OPTIONS,(function(e){var i="FROM_START"==e||"FROM_END"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT").appendField(e,"WHERE"),J.Msg.LISTS_GET_INDEX_TAIL&&this.moveInputBefore("TAIL",null)}},Ae={init:function(){this.setHelpUrl(J.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Te),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number).appendField(J.Msg.LISTS_GET_INDEX_GET+" "+J.Msg.LISTS_GET_INDEX_FROM_START),this.appendDummyInput().appendField(J.Msg.TEXT_CHARAT2),this.setOutput(!0),this.setTooltip(J.Msg.PROCEDURES_DEFRETURN_RETURN+J.Msg.MIXLY_MICROBIT_TYPE_STRING+J.Msg.LISTS_GET_INDEX_FROM_START+"n"+J.Msg.TEXT_CHARAT2)}},Le={init:function(){this.setHelpUrl(J.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Te),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(J.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(J.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},Se={init:function(){this.WHERE_OPTIONS_1=[[J.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[J.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[J.Msg.LISTS_GET_SUBLIST_START_FIRST,"FIRST"]],this.WHERE_OPTIONS_2=[[J.Msg.LISTS_GET_SUBLIST_END_FROM_START,"FROM_START"],[J.Msg.LISTS_GET_SUBLIST_END_FROM_END,"FROM_END"],[J.Msg.LISTS_GET_SUBLIST_END_LAST,"LAST"]],this.setHelpUrl(J.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Te),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput("").appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput("AT1"),this.appendDummyInput("AT2"),this.setInputsInline(!0),this.setOutput(!0,"List"),this.updateAt_(1,!0),this.updateAt_(2,!0),this.setTooltip(J.Msg._GET_TEXT_SUBLIST_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT1").type==J.INPUT_VALUE;t.setAttribute("at1",e);var i=this.getInput("AT2").type==J.INPUT_VALUE;return t.setAttribute("at2",i),t},domToMutation:function(t){var e="true"==t.getAttribute("at1"),i="true"==t.getAttribute("at2");this.updateAt_(1,e),this.updateAt_(2,i)},updateAt_:function(t,e){this.removeInput("AT"+t),this.removeInput("ORDINAL"+t,!0),e?(this.appendValueInput("AT"+t).setCheck(Number),J.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL"+t).appendField(J.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT"+t);var i=new J.FieldDropdown(this["WHERE_OPTIONS_"+t],(function(i){var n="FROM_START"==i||"FROM_END"==i;if(n!=e){var s=this.sourceBlock_;return s.updateAt_(t,n),s.setFieldValue(i,"WHERE"+t),null}}));this.getInput("AT"+t).appendField(i,"WHERE"+t),1==t&&(this.moveInputBefore("AT1","AT2"),this.getInput("ORDINAL1")&&this.moveInputBefore("ORDINAL1","AT2"))}},De={init:function(){this.setHelpUrl(J.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Te),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT1").appendField(J.Msg.LISTS_GET_INDEX_GET+" "+J.Msg.LISTS_GET_INDEX_FROM_START),this.appendValueInput("AT2").appendField(J.Msg.LISTS_GET_SUBLIST_END_FROM_START),this.appendDummyInput().appendField(J.Msg.TEXT_CHARAT2),this.setInputsInline(!0),this.setOutput(!0,["List",String]),this.setTooltip(J.Msg._GET_TEXT_SUBLIST_TOOLTIP)}},Ne={init:function(){var t=[[J.Msg.MIXLY_EQUALS,"==="],[J.Msg.MIXLY_STARTSWITH,"startswith"],[J.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(Te),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new J.FieldDropdown(t),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},fe={init:function(){this.setColour(Te),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(J.Msg.MIXLY_COMPARETO).setCheck(String),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_COMPARETO_HELP)}},Pe={init:function(){var t=[[J.Msg.TEXT_UPPER,"upper"],[J.Msg.TEXT_TITLE,"title"],[J.Msg.TEXT_CAPITALIZE,"capitalize"],[J.Msg.TEXT_SWAPCASE,"swapcase"],[J.Msg.TEXT_LOWER,"lower"]];this.setColour(Te),this.appendValueInput("VAR").appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new J.FieldDropdown(t),"CAPITAL").setCheck(String),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CAPITAL");return{upper:J.Msg.MIXLY_MIXPY_TEXT_UPPER_TOOLTIP,title:J.Msg.MIXLY_MIXPY_TEXT_TITLE_TOOLTIP,swapcase:J.Msg.MIXLY_MIXPY_TEXT_SWAPCASE_TOOLTIP,capitalize:J.Msg.MIXLY_MIXPY_TEXT_CAPITALIZE_TOOLTIP,lower:J.Msg.MIXLY_MIXPY_TEXT_LOWER_TOOLTIP}[t]}))}},Fe={init:function(){var t=[[J.Msg.TEXT_LJUST,"ljust"],[J.Msg.TEXT_CENTER,"center"],[J.Msg.TEXT_RJUST,"rjust"]];this.setColour(Te),this.appendValueInput("VAR").appendField(new J.FieldDropdown(t),"CENTER").setCheck(String),this.appendValueInput("WID").appendField(J.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("Symbol").appendField(J.Msg.MIXLY_RECT_Fill).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(J.Msg.MIXLY_MIXPY_TEXT_CENTER_TOOLTIP)}},ve={init:function(){this.setColour(Te),this.appendValueInput("VAR").appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).setCheck(String),this.appendValueInput("STR").appendField(J.Msg.MIXLY_MID+J.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER).setCheck(String),this.appendDummyInput().appendField(J.Msg.MIXLY_LIST_INDEX),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(J.Msg.MIXLY_MIXPY_TEXT_FIND_TOOLTIP)}},Ye={init:function(){this.setColour(Te),this.appendValueInput("VAR").appendField(J.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_USE_STR).setCheck(String),this.appendValueInput("LIST").appendField(J.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_SEQ).setCheck("List","Tuple","Set","Dict"),this.appendDummyInput().appendField(J.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_GET_STR),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(J.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_TOOLTIP)}},Ve={init:function(){this.setColour(Te),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("STR1").appendField(J.Msg.MIXLY_MIXPY_REPLACE).setCheck(String),this.appendValueInput("STR2").appendField(J.Msg.LISTS_SET_INDEX_INPUT_TO).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(J.Msg.MIXLY_MIXPY_TEXT_REPLACE_TOOLTIP)}},be={init:function(){this.setColour(Te),this.appendValueInput("VAR"),this.appendValueInput("VAL").appendField(J.Msg.LIST_SPLIT_AS),this.appendDummyInput("").appendField(J.Msg.LIST_SPLIT),this.setOutput(!0,"List"),this.setTooltip(J.Msg.MIXLY_MIXPY_TEXT_SPLIT_TOOLTIP),this.setInputsInline(!0)}},Xe={init:function(){var t=[[J.Msg.TEXT_TRIM_BOTH,"strip"],[J.Msg.TEXT_TRIM_LEFT,"lstrip"],[J.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(Te),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(J.Msg.TEXT_STRIM),this.appendDummyInput("").appendField(new J.FieldDropdown(t),"TOWHAT"),this.appendDummyInput("").appendField(J.Msg.TEXT_BLANK),this.setOutput(!0,String),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{strip:J.Msg.TEXT_TRIM_BOTH_TOOLTIP,lstrip:J.Msg.TEXT_TRIM_LEFT_TOOLTIP,rstrip:J.Msg.TEXT_TRIM_RIGHT_TOOLTIP}[t]}))}},ye={init:function(){this.setColour(Te),this.appendDummyInput("").appendField(J.Msg.MIXLY_MICROPYTHON_FORMAT),this.appendDummyInput("").appendField(new J.FieldTextInput("str"),"VAR"),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new J.icons.MutatorIcon(["text_create_with_item"],this)),this.setOutput(!0),this.setTooltip(J.Msg.MIXLY_MIXPY_TEXT_FORMAT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("text_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){J.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Yi={init:function(){this.setColour(Fi),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(J.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},Vi={init:function(){this.setColour(Fi),this.appendDummyInput().appendField(J.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(J.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},bi={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(J.Msg.DICT_KEYS),this.setTooltip(J.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},Xi={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(J.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(J.Msg.DICTS_ADD_VALUE),this.setOutput(!0),this.setTooltip(J.Msg.DICTS_GET_TOOLTIP)}},yi={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(J.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(J.Msg.DICTS_ADD_VALUE),this.appendValueInput("VAR").appendField(J.Msg.DICTS_DEFAULT_VALUE),this.setOutput(!0),this.setTooltip(J.Msg.DICTS_GET_DEFAULT_TOOLTIP)}},Ui={init:function(){this.setColour(Fi),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(J.Msg.DICTS_ADD),this.appendDummyInput(),this.appendValueInput("VAR").appendField(J.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(J.Msg.DICTS_ADD_OR_CHANGE_TOOLTIP)}},Bi={init:function(){this.setColour(Fi),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(J.Msg.DICTS_DELETE_IN),this.appendDummyInput("").appendField(J.Msg.DICTS_DELETE_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(J.Msg.DICTS_DELETE_TOOLTIP)}},wi={init:function(){this.setColour(Fi),this.appendValueInput("DICT2").setCheck("Dict").appendField(J.Msg.MAKE_DICT),this.appendValueInput("DICT").setCheck("Dict").appendField(J.Msg.DICT_UPDATE),this.appendDummyInput("").appendField(J.Msg.MIXLY_MID),this.setTooltip(J.Msg.DICTS_UPDATE_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Gi={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(J.Msg.DICT_CLEAR),this.setTooltip(J.Msg.DICTS_CLEAR_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ki={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(J.Msg.DICT_ITEMS),this.setTooltip(J.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},Hi={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(J.Msg.DICT_VALUES),this.setTooltip(J.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},xi={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(J.Msg.MIXLY_LENGTH),this.setTooltip(J.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},Wi={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(J.Msg.DICT_DELDICT),this.setTooltip(J.Msg.DICTS_DEL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ki={init:function(){this.MODE=[[J.Msg.DICTS_ADD_OR_CHANGE,"INSERT"],[J.Msg.MIXLY_MICROBIT_JS_DELETE_VAR,"DELETE"]],this.setHelpUrl(J.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("AT2"),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(J.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).appendField(J.Msg.DICTS_ADD_VALUE),this.updateAt_(!0),this.setInputsInline(!0),this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e="";switch(t.getFieldValue("WHERE")){case"INSERT":e=J.Msg.DICTS_ADD_TOOLTIP;break;case"DELETE":e=J.Msg.DICTS_DELETE_TOOLTIP}return e}))},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT2").type==J.INPUT_VALUE;return t.setAttribute("at2",e),t},domToMutation:function(t){var e="true"==t.getAttribute("at2");this.updateAt_(e)},updateAt_:function(t){this.removeInput("AT2"),this.removeInput("ORDINAL",!0),t?this.appendValueInput("AT2").setCheck(Number):this.appendDummyInput("AT2");var e=new J.FieldDropdown(this.MODE,(function(e){var i="INSERT"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT2").appendField(e,"WHERE")}},Qi={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(J.Msg.blockpy_DICT_POP),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(J.Msg.DICTS_ADD_VALUE),this.setTooltip(J.Msg.DICT_POP_TOOLTIP),this.setInputsInline(!0),this.setOutput(!0)}},ji={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(J.Msg.DICTS_SET_DEFAULT),this.appendDummyInput("").appendField(J.Msg.DICTS_DEFAULT_VALUE),this.appendValueInput("VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(J.Msg.DICTS_SETDEFAULT_TOOLTIP)}},Ji={init:function(){this.setColour(Fi),this.appendDummyInput("").appendField(new J.FieldLabel(J.Msg.MIXLY_MICROBIT_TYPE_DICT),"TIP").appendField(" "),this.itemCount_=3,this.updateShape_(),this.setOutput(!0,"Dict"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setMutator(new J.icons.MutatorIcon(["dicts_create_with_item"],this)),this.setTooltip(J.Msg.DICTS_CREATE_WITH_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("dicts_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){J.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},qi={init:function(){this.setColour(Fi),this.appendValueInput("VAR").appendField(J.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(J.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},zi={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(J.Msg.MIXLY_TO_JSON),this.setTooltip(J.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},Zi={init:function(){this.setColour(Fi),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(J.Msg.MIXLY_CONVERT_TO_JSON),this.setTooltip(J.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},$i={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("VAR1").appendField("key1"),this.appendValueInput("VAR2").appendField("index"),this.appendValueInput("VAR3").appendField("key2"),this.appendValueInput("VAR4").appendField("key3"),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},tn={init:function(){this.setColour(Fi),this.appendValueInput("DICT"),this.appendDummyInput("").appendField(J.Msg.MIXLY_TO_JSON),this.setTooltip(J.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},en=210,nn={init:function(){var t=J.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(en),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new J.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{EQ:J.Msg.LOGIC_COMPARE_TOOLTIP_EQ,NEQ:J.Msg.LOGIC_COMPARE_TOOLTIP_NEQ,LT:J.Msg.LOGIC_COMPARE_TOOLTIP_LT,LTE:J.Msg.LOGIC_COMPARE_TOOLTIP_LTE,GT:J.Msg.LOGIC_COMPARE_TOOLTIP_GT,GTE:J.Msg.LOGIC_COMPARE_TOOLTIP_GTE}[t]})),this.prevBlocks_=[null,null]}},sn={init:function(){var t=J.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]],e=J.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(en),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new J.FieldDropdown(t),"OP1"),this.appendValueInput("C").appendField(new J.FieldDropdown(e),"OP2"),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_PYTHON_LOGIC_COMPARE_CONTINOUS_TOOLTIP)}},on={init:function(){var t=[[J.Msg.LOGIC_OPERATION_AND,"AND"],[J.Msg.LOGIC_OPERATION_OR,"OR"],[J.Msg.LOGIC_OPERATION_NOR,"NOR"],[J.Msg.LOGIC_OPERATION_XOR,"XOR"]];this.setColour(en),this.setOutput(!0,Boolean),this.appendValueInput("A").setCheck([Boolean,Number]),this.appendValueInput("B").setCheck([Boolean,Number]).appendField(new J.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{AND:J.Msg.LOGIC_OPERATION_TOOLTIP_AND,OR:J.Msg.LOGIC_OPERATION_TOOLTIP_OR,NOR:J.Msg.LOGIC_OPERATION_TOOLTIP_NOR,XOR:J.Msg.LOGIC_OPERATION_TOOLTIP_XOR}[t]}))}},_n={init:function(){this.setColour(en),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(J.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(J.Msg.LOGIC_NEGATE_TOOLTIP)}},un={init:function(){var t=[[J.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[J.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(en),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new J.FieldDropdown(t),"BOOL"),this.setTooltip(J.Msg.LOGIC_BOOLEAN_TOOLTIP)}},an={init:function(){this.setColour(en),this.setOutput(!0),this.appendDummyInput().appendField(J.Msg.LOGIC_NULL),this.setTooltip(J.Msg.LOGIC_NULL_TOOLTIP)}},rn={init:function(){this.setColour(en),this.appendValueInput("A"),this.appendValueInput("B").appendField(J.Msg.LOGIC_TERNARY_IF_TRUE),this.appendValueInput("C").appendField(J.Msg.LOGIC_TERNARY_IF_FALSE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_TOOLTIP_LOGIT_TRUEORFALSE)}},pn={init:function(){var t=[[J.Msg.TEXT_APPEND_TO,"in"],[J.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(en),this.appendValueInput("A"),this.appendValueInput("B").setCheck([String,"List"]).appendField(new J.FieldDropdown(t),"BOOL"),this.appendDummyInput("").appendField(J.Msg.MICROBIT_LOGIC_IS_IN),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(J.Msg.IN)}},ln={init:function(){var t=[[J.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[J.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(en),this.appendValueInput("A"),this.appendValueInput("B").appendField(new J.FieldDropdown(t),"BOOL"),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_PYTHON_LOGIC_IS_TOOLTIP)}},In={init:function(){this.setColour(en),this.appendValueInput("VAR").appendField(J.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(J.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},Tn={init:function(){this.setColour(0),this.appendValueInput("fn").setCheck(String).appendField(J.Msg.MIXLY_PYTHON_STORAGE_OPEN_FILE_WITH_OS+"(For Windows)"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},dn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new J.FieldDropdown([[J.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"],[J.Msg.MIXLY_ADD,"a"],[J.Msg.MATH_BIN+J.Msg.MIXLY_ADD,"ab"],[J.Msg.MIXLY_R_W,"r+"],[J.Msg.MATH_BIN+J.Msg.MIXLY_R_W,"rb+"],[J.Msg.MIXLY_W_R,"w+"],[J.Msg.MATH_BIN+J.Msg.MIXLY_W_R,"wb+"],[J.Msg.MIXLY_A_R,"a+"],[J.Msg.MATH_BIN+J.Msg.MIXLY_A_R,"ab+"]]),"MODE"),this.appendValueInput("FILE").appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_AS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=J.Msg.MIXLY_USE,n=J.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=J.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=J.Msg.MIXLY_BELONG;return i+{r:J.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:J.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:J.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:J.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){J.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},hn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new J.FieldDropdown([[J.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=J.Msg.MIXLY_USE,n=J.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=J.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=J.Msg.MIXLY_BELONG,_=J.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:J.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:J.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:J.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:J.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s+_}))}},Mn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE);this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new J.FieldDropdown([[J.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendDummyInput().appendField(J.Msg.MIXPY_TEXT_ENCODE).appendField(new J.FieldDropdown([["ANSI","ANSI"],["gbk","gbk"],["utf-8","utf-8"]]),"CODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=J.Msg.MIXLY_USE,n=J.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=J.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=J.Msg.MIXLY_BELONG,_=J.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:J.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:J.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:J.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:J.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s+_}))}},On={init:function(){this.setColour(0),this.appendValueInput("data").setCheck(String).appendField(J.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendValueInput("FILE").appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+J.Msg.MIXLY_MICROBIT_TYPE_STRING+J.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE)}},mn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new J.FieldDropdown([[J.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"read"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE,"readline"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES,"readlines"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String)}},cn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new J.FieldDropdown([[J.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,"read"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,"readline"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE,"readlines"]]),"MODE"),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=J.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE,n=J.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER;return i+{read:J.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,readline:J.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,readlines:J.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE}[e]+"x"+n}))}},En={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.setNextStatement(!0),this.appendValueInput("SIZE").setCheck(Number).appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(J.Msg.MICROBIT_PYTHON_TYPE)}},Rn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(J.Msg.HTML_FILE),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean),this.setTooltip(J.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT1)}},gn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_FILENAME),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(J.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILENAME)}},Cn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(J.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE)}},An={init:function(){this.setColour(0),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(J.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES)}};J.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE;const Ln={init:function(){this.setColour(0),this.appendDummyInput().appendField(new J.FieldDropdown([[J.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE,"remove"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_DIRS,"removedirs"]]),"MODE"),this.appendValueInput("FILE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(J.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE)}},Sn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(J.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE+J.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE)}},Dn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_RETURN_FILE),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_PRESENT_LOCATION),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(J.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_TELL)}},Nn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION),this.appendDummyInput().appendField(new J.FieldDropdown([[J.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,"start"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,"current"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END,"end"]]),"MODE"),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=J.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION+J.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION,n=J.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER,s=J.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET;return i+" "+{start:J.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,current:J.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,end:J.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END}[e]+s+"x"+n}))}},fn={init:function(){this.setColour(0),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(J.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR)}},Pn={init:function(){this.setColour(0),this.appendValueInput("PATH").setCheck(String).appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH),this.appendDummyInput().appendField(J.Msg.MIXLY_ESP32_SET),this.appendDummyInput().appendField(new J.FieldDropdown([[J.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,"mkdir"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_MAKEDIRS,"makedirs"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return J.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH+"x"+J.Msg.MIXLY_ESP32_SET+{mkdir:J.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,makedirs:J.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},Fn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME),this.appendValueInput("NEWFILE").setCheck(String).appendField(J.Msg.MIXLY_AS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(J.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME)}},vn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(J.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR)}},Yn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT),this.appendDummyInput().appendField(new J.FieldDropdown([[J.Msg.HTML_FILE,"isfile"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_DIR,"isdir"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean);let t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return J.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH+"x"+J.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT+{isfile:J.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,isdir:J.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},Vn={init:function(){this.setColour(0),this.appendValueInput("SPISUB").appendField(J.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(J.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(J.Msg.MIXLY_SETUP+J.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(J.Msg.MIXLY_SD_CARD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},bn={init:function(){this.setColour(0),this.appendValueInput("VAR").appendField(J.Msg.MIXLY_SD_CARD),this.appendValueInput("DIR").setCheck(String).appendField(J.Msg.MIXLY_SDCARD_MOUNT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip()}},Xn={init:function(){var t=J.Procedures.findLegalName("",this),e=new J.FieldTextInput(t,J.Procedures.rename);e.setSpellcheck(!1),this.appendDummyInput().appendField(e,"NAME").appendField("","PARAMS"),this.setMutator(new J.icons.MutatorIcon(["procedures_mutatorarg"],this)),(this.workspace.options.comments||this.workspace.options.parentWorkspace&&this.workspace.options.parentWorkspace.options.comments)&&J.Msg.PROCEDURES_DEFNORETURN_COMMENT&&this.setCommentText(J.Msg.PROCEDURES_DEFNORETURN_COMMENT),this.setStyle("procedure_blocks"),this.setTooltip(J.Msg.PROCEDURES_DEFNORETURN_TOOLTIP),this.setHelpUrl(J.Msg.PROCEDURES_DEFNORETURN_HELPURL),this.arguments_=[],this.argumentVarModels_=[],this.setStatements_(!0),this.statementConnection_=null},setStatements_:function(t){this.hasStatements_!==t&&(t?(this.appendStatementInput("STACK").appendField(J.Msg.PROCEDURES_DEFNORETURN_DO),this.getInput("RETURN")&&this.moveInputBefore("STACK","RETURN")):this.removeInput("STACK",!0),this.hasStatements_=t)},updateParams_:function(){var t="";this.arguments_.length&&(t=J.Msg.PROCEDURES_BEFORE_PARAMS+" "+this.arguments_.join(", ")),J.Events.disable();try{this.setFieldValue(t,"PARAMS")}finally{J.Events.enable()}},mutationToDom:function(t){var e=J.utils.xml.createElement("mutation");t&&e.setAttribute("name",this.getFieldValue("NAME"));for(var i=0;i"),this.appendValueInput("style").appendField(J.Msg.MIXLY_AIP_ATTR).setAlign(J.inputs.Align.RIGHT),this.appendStatementInput("DO").appendField(""),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Fs={init:function(){this.setColour(Ls),this.appendDummyInput().appendField(J.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},vs={init:function(){this.setColour(Ls),this.appendDummyInput().appendField(J.Msg.HTML_FORM_CONTENT).appendField(new J.FieldDropdown([[J.Msg.HTML_TEXT,"text"],[J.Msg.HTML_EMAIL,"email"],[J.Msg.HTML_NUMBER,"number"],[J.Msg.HTML_PASSWORD,"password"],[J.Msg.HTML_CHECKBOX,"checkbox"],[J.Msg.HTML_RADIOBUTTON,"radiobutton"],[J.Msg.HTML_BUTTON,"button"],[J.Msg.HTML_COLOUR,"colour"],[J.Msg.HTML_DATE,"date"],[J.Msg.HTML_LOCALTIME,"local time"],[J.Msg.HTML_FILE,"file"],[J.Msg.HTML_HIDDEN,"hidden"],[J.Msg.HTML_IMAGE,"image"],[J.Msg.HTML_MONTH,"month"],[J.Msg.HTML_RANGE,"range"],[J.Msg.HTML_RESET,"reset"],[J.Msg.HTML_SEARCH,"search"],[J.Msg.HTML_SUBMIT,"submit"],[J.Msg.HTML_TELEPHONENUMBER,"telephone number"],[J.Msg.HTML_TIME,"time"],[J.Msg.HTML_URL,"url"],[J.Msg.HTML_WEEK,"week"]]),"LEVEL"),this.appendDummyInput().appendField(J.Msg.HTML_NAME).appendField(new J.FieldTextInput("car"),"NAME"),this.appendDummyInput().appendField(J.Msg.HTML_VALUE).appendField(new J.FieldTextInput("go"),"VALUE"),this.appendValueInput("style").appendField(J.Msg.MIXLY_AIP_ATTR).setAlign(J.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ys={init:function(){this.setColour(Ls),this.appendDummyInput().appendField(new J.FieldTextInput("property"),"KEY").appendField(":").appendField(new J.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Vs={init:function(){this.setColour(Ls),this.appendDummyInput().appendField(new J.FieldTextInput("property"),"KEY").appendField(":").appendField(new J.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},bs={init:function(){this.setColour(Ls),this.appendDummyInput().appendField(J.Msg.HTML_TEXT).appendField(new J.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Xs=160,ys={init:function(){this.setColour(Xs),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new J.FieldTable(""),"TEXT")}},Us={init:function(){this.setColour(Xs),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new J.FieldMultilineInput(""),"TEXT")}},Bs={init:function(){this.setColour(Xs),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new J.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},ws={init:function(){this.setColour(Xs),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},Gs={init:function(){this.setColour(Xs),this.appendDummyInput().appendTitle("Comment:").appendTitle(new J.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},ks={init:function(){this.setColour(Xs),this.appendValueInput("VALUE").appendField(J.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},Hs={init:function(){this.setColour(Xs),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new J.icons.MutatorIcon(["text_print_multiple_item"],this)),this.setTooltip(J.Msg.TEXT_PRINT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=J.Block.obtain(t,"text_print_multiple_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n= stop:"," yield start"," start -= abs(step)"])};if(t=function(t,e,i){return"("+t+" <= "+e+") and "+a()+"("+t+", "+e+", "+i+") or "+r()+"("+t+", "+e+", "+i+")"},J.isNumber(n)&&J.isNumber(s)&&J.isNumber(o))n=parseFloat(n),s=parseFloat(s),o=Math.abs(parseFloat(o)),0==n%1&&0==s%1&&0==o%1?(n<=s?(s++,t=0==n&&1==o?s:n+", "+s,1!=o&&(t+=", "+o)):t=n+", "+--s+", -"+o,t="range("+t+")"):(t=n",GTE:">="};const Bu=function(t,e){var i=this.getFieldValue("OP"),n="&&"==i?e.ORDER_LOGICAL_AND:e.ORDER_LOGICAL_OR,s=e.valueToCode(this,"A",n)||"False",o=e.valueToCode(this,"B",n)||"False";if("AND"==i)var _=s+" and "+o;else if("OR"==i)_=s+" or "+o;else if("NOR"==i)_="not("+s+"^"+o+")";else _=s+"^"+o;return[_,n]},wu=function(t,e){var i=e.ORDER_UNARY_PREFIX;return["not "+(e.valueToCode(this,"BOOL",i)||"False"),i]},Gu=function(t,e){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",e.ORDER_ATOMIC]},ku=function(t,e){return["None",e.ORDER_ATOMIC]},Hu=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"False";return["("+(e.valueToCode(this,"B",e.ORDER_ATOMIC)||"False")+" if "+i+" else "+(e.valueToCode(this,"C",e.ORDER_ATOMIC)||"False")+")",e.ORDER_ATOMIC]},xu=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},Wu=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},Ku=function(t,e){return["bool("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||"0")+")",e.ORDER_ATOMIC]},Qu=function(t,e){return e.definitions_.import_os="import os","os.startfile("+e.valueToCode(this,"fn",e.ORDER_ATOMIC)+")\n"},ju=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+" = open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},Ju=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",e.ORDER_ATOMIC]},qu=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',e.ORDER_ATOMIC]},zu=function(t,e){var i=e.valueToCode(this,"data",e.ORDER_ATOMIC);return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".write("+i+")\n"},Zu=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"()",e.ORDER_ATOMIC]},$u=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},ta=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".readline("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},ea=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".writable()",e.ORDER_ATOMIC]},ia=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".name()",e.ORDER_ATOMIC]},na=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".close()\n"},sa=function(t,e){e.definitions_.import_os="import os";return["os.listdir()",e.ORDER_ATOMIC]},oa=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},_a=function(t,e){return e.definitions_.import_os="import os",["os.path.getsize("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},ua=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".tell()",e.ORDER_ATOMIC]},aa=function(t,e){var i=this.getFieldValue("MODE"),n=0;return n="start"==i?0:"current"==i?1:2,e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".seek("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+","+n+")\n"},ra=function(t,e){return e.definitions_.import_os="import os","os.chdir("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},pa=function(t,e){e.definitions_.import_os="import os";return["os.getcwd()",e.ORDER_ATOMIC]},la=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"PATH",e.ORDER_ATOMIC)+")\n"},Ia=function(t,e){return e.definitions_.import_os="import os","os.rename("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+","+e.valueToCode(this,"NEWFILE",e.ORDER_ATOMIC)+")\n"},Ta=function(t,e){e.definitions_.import_os="import os";var i=e.valueToCode(this,"FILE",e.ORDER_ATOMIC);return["os."+this.getFieldValue("MODE")+"("+i+")",e.ORDER_ATOMIC]},da=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = sdcard.SDCard("+e.valueToCode(this,"SPISUB",e.ORDER_ATOMIC)+","+e.valueToCode(this,"PINSUB",e.ORDER_ATOMIC)+")\n"},ha=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard","os.mount("+e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+","+e.valueToCode(this,"DIR",e.ORDER_ATOMIC)+")\n"},Ma=function(t,e){var i=e.variableDB_.getName(this.getFieldValue("NAME"),J.Procedures.NAME_TYPE),n=(this.getInput("STACK")&&e.statementToCode(this,"STACK"))??" pass\n";e.INFINITE_LOOP_TRAP&&(n=e.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+n);var s=e.valueToCode(this,"RETURN",e.ORDER_NONE)||"";s&&(s=" return "+s+"\n");for(var o=[],_=0;_\n\n\n\t\n"+e.statementToCode(this,"HEAD")+"\n\n"+e.statementToCode(this,"BODY")+"\n\n'''",e.ORDER_ATOMIC]},Za=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"\n"+i+"\n"},$a=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");if("head"==n)var s="<"+n+'>\n\t\n'+i+"\n";else s="<"+n+">\n"+i+"\n";return s},tr=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"<"+n+">\n"+i+"\n"},er=function(t,e){var i=e.statementToCode(this,"DO"),n=e.valueToCode(this,"style"),s=this.getFieldValue("LEVEL");return"<"+s+" "+n+" >\n"+i+"\n"},ir=function(t,e){return['style="'+e.statementToCode(this,"STYLE")+'"',e.ORDER_ATOMIC]},nr=function(t,e){return'"},sr=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},or=function(){return this.getFieldValue("TEXT")+"\n"},_r=function(t){return t.getFieldValue("TEXT")+"\n"},ur=function(t,e){return[t.getFieldValue("TEXT"),e.ORDER_ATOMIC]},ar=function(t,e){return(e.valueToCode(t,"VALUE",e.ORDER_ATOMIC)||"")+"\n"},rr=function(){return""},pr=function(t,e){return["type("+(e.valueToCode(t,"VALUE",e.ORDER_MEMBER)||"___")+")",e.ORDER_ATOMIC]},lr=function(t,e){for(var i=t.getFieldValue("NAME"),n=t.hasReturn_,s=new Array(t.itemCount_),o=0;o0?e.join("\n")+i.join("\n")+n.join("\n")+_.join("\n")+u.join("")+t+"while True:\n"+a.join("")+r.join("\n"):e.join("\n")+i.join("\n")+n.join("\n")+_.join("\n")+u.join("")+t+r.join("\n")},hr.scrubNakedValue=function(t){return t+"\n"},hr.quote_=function(t){var e="'";return-1!==t.indexOf("'")&&(-1===t.indexOf('"')?e='"':t=t.replace(/'/g,"\\'")),e+t+e},hr.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},hr.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(o=t.getCommentText())&&(o=J.utils.string.wrap(o,hr.COMMENT_WRAP-3),n+=hr.prefixLines(o+"\n","# "));for(var s=0;s0?"int("+u+" + "+s+")":s<0?"int("+u+" - "+-s+")":"int("+u+")",n&&(u="-"+u)),u};const Mr=120,Or={init:function(){this.setColour(Mr),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(J.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT).appendField(new J.FieldDropdown(Or.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(J.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return{WHILE:J.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:J.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[e]}))},OPERATORS:[[J.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[J.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]]},mr={init:function(){this.setColour(Mr);var t=new J.FieldDropdown(mr.OPERATORS);this.appendDummyInput().appendField(t,"FLOW").appendField(J.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("FLOW");return{BREAK:J.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:J.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}[t]}))},onchange:function(){if(this.workspace){var t=!1,e=this;do{if("controls_repeat"==e.type||"controls_for"==e.type||"controls_forEach"==e.type||"controls_repeat_ext"==e.type||"controls_whileUntil"==e.type){t=!0;break}e=e.getSurroundParent()}while(e);t?this.setWarningText(null):this.setWarningText(J.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}},OPERATORS:[[J.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[J.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]]},cr="5BA5A5",Er={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(cr),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(J.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(J.Msg.DISPLAY_IMAGE_LET2).appendField(new J.FieldDropdown(Er.OPERATORS),"OP"),this.appendValueInput("val").appendField(J.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(J.Msg.DISPLAY_IMAGE_UNIT);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=J.Msg.DISPLAY_IMAGE_LET,n=J.Msg.DISPLAY_IMAGE_LET2,s=J.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:J.Msg.MIXLY_UP,down:J.Msg.MIXLY_DOWN,left:J.Msg.MIXLY_LEFT,right:J.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[J.Msg.MIXLY_UP,"shift_up"],[J.Msg.MIXLY_DOWN,"shift_down"],[J.Msg.MIXLY_LEFT,"shift_left"],[J.Msg.MIXLY_RIGHT,"shift_right"]]},Rr={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(cr),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(J.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new J.FieldDropdown(Rr.OPERATORS),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{"+":J.Msg.MIXLY_MICROBIT_image_add,"-":J.Msg.MIXLY_MICROBIT_image_reduce}[e]}))},OPERATORS:[[J.Msg.MICROBIT_DISPLAY_UNION,"add"],[J.Msg.MICROBIT_DISPLAY_MINUS,"sub"]]},gr={init:function(){this.setColour(cr),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+J.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("esp32_image"),this.appendDummyInput("").appendField(new J.FieldDropdown(gr.OPERATORS),"OP"),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return J.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+J.Msg.MIXLY_MICROBIT_IMAGE+{height:J.Msg.MIXLY_HEIGHT,width:J.Msg.MIXLY_WIDTH}[e]}))},OPERATORS:[[J.Msg.MIXLY_HEIGHT,"height"],[J.Msg.MIXLY_WIDTH,"width"]]},Cr={init:function(){this.setColour(cr),this.appendValueInput("VAR").appendField(J.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(J.Msg.MIXLY_RECT).appendField(new J.FieldDropdown(Cr.STATUS),"OP"),this.jsonInit({message0:J.Msg.MIXLY_MICROBIT_SHOW_RECT,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"width"},{check:Number,type:"input_value",name:"height"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(J.Msg.MIXLY_OLED_RECT)},STATUS:[[J.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[J.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},Ar={init:function(){this.setColour(cr),this.appendValueInput("VAR").appendField(J.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(J.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE).appendField(new J.FieldDropdown(Ar.STATUS),"OP"),this.jsonInit({message0:J.Msg.MIXLY_HANBIT_SHOW_CIRCLE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"r"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(J.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE)},STATUS:[[J.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[J.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},Lr={init:function(){this.setColour(cr),this.appendValueInput("SUB").setCheck("var").appendField(J.Msg.MSG.catOLED),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(J.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(J.Msg.DISPLAY_IMAGE_LET2).appendField(new J.FieldDropdown(Lr.OPERATORS),"OP"),this.appendValueInput("val").appendField(J.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(J.Msg.DISPLAY_IMAGE_UNIT);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=J.Msg.DISPLAY_IMAGE_LET,n=J.Msg.DISPLAY_IMAGE_LET2,s=J.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:J.Msg.MIXLY_UP,down:J.Msg.MIXLY_DOWN,left:J.Msg.MIXLY_LEFT,right:J.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[J.Msg.MIXLY_UP,"shift_up"],[J.Msg.MIXLY_DOWN,"shift_down"],[J.Msg.MIXLY_LEFT,"shift_left"],[J.Msg.MIXLY_RIGHT,"shift_right"]]},Sr="#569A98",Dr={init:function(){this.appendDummyInput("").appendField(J.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(J.inputs.Align.CENTRE).appendField(new J.FieldBitmap(Dr.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Sr),this.setTooltip(J.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:12},(()=>new Array(32).fill(0)))},Nr={init:function(){this.setColour(Sr),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(J.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new J.FieldDropdown(Nr.OPERATORS),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{"+":J.Msg.MIXLY_MICROBIT_image_add,"-":J.Msg.MIXLY_MICROBIT_image_reduce}[e]}))},OPERATORS:[[J.Msg.MICROBIT_DISPLAY_UNION,"add"],[J.Msg.MICROBIT_DISPLAY_MINUS,"sub"]]},fr={init:function(){this.setColour(Sr),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(J.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(J.Msg.DISPLAY_IMAGE_LET2).appendField(new J.FieldDropdown(fr.OPERATORS),"OP"),this.appendValueInput("val").appendField(J.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(J.Msg.DISPLAY_IMAGE_UNIT);q.Boards.getSelectedBoardKey();"Python ESP32-S3"===q.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(J.Msg.MIXLY_synchronize);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=J.Msg.DISPLAY_IMAGE_LET,n=J.Msg.DISPLAY_IMAGE_LET2,s=J.Msg.DISPLAY_IMAGE_LET3;return i+n+{shift_up:J.Msg.MIXLY_UP,shift_down:J.Msg.MIXLY_DOWN,shift_left:J.Msg.MIXLY_LEFT,shift_right:J.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[J.Msg.MIXLY_UP,"shift_up"],[J.Msg.MIXLY_DOWN,"shift_down"],[J.Msg.MIXLY_LEFT,"shift_left"],[J.Msg.MIXLY_RIGHT,"shift_right"]]},Pr={init:function(){this.appendDummyInput("").appendField(J.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(J.inputs.Align.CENTRE).appendField(new J.FieldBitmap(Pr.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Sr),this.setTooltip(J.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(8).fill(0)))},Fr={init:function(){this.appendDummyInput("").appendField(J.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(J.inputs.Align.CENTRE).appendField(new J.FieldBitmap(Fr.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Sr),this.setTooltip(J.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(12).fill(0)))},vr={init:function(){this.appendDummyInput("").appendField(J.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(J.inputs.Align.CENTRE).appendField(new J.FieldBitmap(vr.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Sr),this.setTooltip(J.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(16).fill(0)))},Yr={init:function(){this.setColour(Sr),this.appendDummyInput().appendField(J.Msg.OLED_SET_FONT).appendField(new J.FieldDropdown(Yr.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[["4x5"+J.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'4x5'"],["5x5"+J.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'5x5'"],["5x8"+J.Msg.MIXGO_ME_DISPLAY_VERTICAL,"'5x8'"]]},Vr={init:function(){this.appendDummyInput("").appendField(J.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(J.inputs.Align.CENTRE).appendField(new J.FieldBitmap(Vr.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Sr),this.setTooltip(J.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(5).fill(0)))},br={init:function(){this.setColour(Sr),this.appendDummyInput().appendField(J.Msg.MIXLY_MIXBOT_SCREEN_ROTATE).appendField(new J.FieldDropdown(br.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[[J.Msg.mixpy_PL_PIE_SHADOW_N,"0"],[J.Msg.CLOCKWISE+"90"+J.Msg.blockpy_setheading_degree,"1"],[J.Msg.CLOCKWISE+"180"+J.Msg.blockpy_setheading_degree,"2"],[J.Msg.CLOCKWISE+"270"+J.Msg.blockpy_setheading_degree,"3"]]},Xr={init:function(){this.appendDummyInput("").appendField(J.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(J.inputs.Align.CENTRE).appendField(new J.FieldBitmap(Xr.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Sr),this.setTooltip(J.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:12},(()=>new Array(12).fill(0)))},yr=180,Ur={init:function(){this.setColour(yr),this.setOutput(!0),this.setInputsInline(!0),this.appendValueInput("img").appendField(J.Msg.DISPLAY_IMAGE_LET).setCheck(["esp32_image","List",String]),this.appendDummyInput("").appendField(J.Msg.DISPLAY_IMAGE_LET2).appendField(new J.FieldDropdown(Ur.OPERATORS),"OP"),this.appendValueInput("val").appendField(J.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(J.Msg.DISPLAY_IMAGE_UNIT);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=J.Msg.DISPLAY_IMAGE_LET,n=J.Msg.DISPLAY_IMAGE_LET2,s=J.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:J.Msg.MIXLY_UP,down:J.Msg.MIXLY_DOWN,left:J.Msg.MIXLY_LEFT,right:J.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[J.Msg.MIXLY_UP,"up"],[J.Msg.MIXLY_DOWN,"down"],[J.Msg.MIXLY_LEFT,"left"],[J.Msg.MIXLY_RIGHT,"right"]]},Br={init:function(){this.setColour(yr),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(J.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new J.FieldDropdown(Br.OPERATORS),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{"+":J.Msg.MIXLY_MICROBIT_image_add,"-":J.Msg.MIXLY_MICROBIT_image_reduce}[e]}))},OPERATORS:[[J.Msg.MICROBIT_DISPLAY_UNION,"+"],[J.Msg.MICROBIT_DISPLAY_MINUS,"-"]]},wr={init:function(){this.setColour(yr),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+J.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("esp32_image"),this.appendDummyInput("").appendField(new J.FieldDropdown(wr.OPERATORS),"OP"),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return J.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+J.Msg.MIXLY_MICROBIT_IMAGE+{height:J.Msg.MIXLY_HEIGHT,width:J.Msg.MIXLY_WIDTH}[e]}))},OPERATORS:[[J.Msg.MIXLY_HEIGHT,"height"],[J.Msg.MIXLY_WIDTH,"width"]]},Gr={init:function(){this.setColour(yr),this.appendValueInput("VAR").appendField(J.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(J.Msg.MIXLY_RECT).appendField(new J.FieldDropdown(Gr.STATUS),"OP"),this.jsonInit({message0:J.Msg.MIXLY_MICROBIT_SHOW_RECT,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"width"},{check:Number,type:"input_value",name:"height"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(J.Msg.MIXLY_OLED_RECT)},STATUS:[[J.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[J.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},kr={init:function(){this.setColour(yr),this.appendValueInput("VAR").appendField(J.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(J.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE).appendField(new J.FieldDropdown(kr.STATUS),"OP"),this.jsonInit({message0:J.Msg.MIXLY_HANBIT_SHOW_CIRCLE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"r"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(J.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE)},STATUS:[[J.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[J.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},Hr={init:function(){this.setColour(yr),this.appendValueInput("VAR").appendField(J.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(J.Msg.MIXLY_DISPLAY_DRAW+J.Msg.MIXLY_HANBIT_DRAW_TRIANGLE).appendField(new J.FieldDropdown(Hr.STATUS),"OP"),this.jsonInit({message0:J.Msg.MIXLY_HANBIT_SHOW_triangle,args0:[{check:Number,type:"input_value",name:"x0"},{check:Number,type:"input_value",name:"y0"},{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(J.Msg.MIXLY_DISPLAY_DRAW+J.Msg.MIXLY_HANBIT_DRAW_TRIANGLE)},STATUS:[[J.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[J.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},xr=225,Wr={init:function(){this.setColour(xr),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(J.Msg.MIXLY_NETWORK_INIT),this.appendDummyInput().appendField(J.Msg.MIXLY_NETWORK_MODE).appendField(new J.FieldDropdown([["STA","STA"],["AP","AP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_ESP32_NETWORK_INIT_TOOLTIP)}},Kr={init:function(){this.setColour(xr),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(new J.FieldDropdown([[J.Msg.MIXLY_NETWORK_WIFI_OPEN,"True"],[J.Msg.MIXLY_NETWORK_WIFI_CLOSE,"False"]]),"op"),this.appendDummyInput("").appendField(J.Msg.MIXLY_NETWORK_WIFI_FLAG),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("op"),i=J.Msg.MIXLY_ESP32_NETWORK_OPEN_TOOLTIP;return{True:J.Msg.MIXLY_NETWORK_WIFI_OPEN,False:J.Msg.MIXLY_NETWORK_WIFI_CLOSE}[e]+i}))}},Qr={init:function(){this.setColour(xr),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(J.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE)}},jr={init:function(){this.setColour(xr),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(J.Msg.MIXLY_NETWORK_WIFI_SCAN),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip((function(){return J.Msg.MIXLY_ESP32_NETWORK_SCAN_TOOLTIP+{0:"ssid",1:"bssid",2:"channel",3:"RSSI",4:"authmode",5:"hidden",all:J.Msg.MIXLY_NETWORK_WIFI_SCAN_ATTRIBUTE}.all}))}},Jr={init:function(){this.setColour(xr),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(J.Msg.MIXLY_ESP32_NETWORK_CONNECT),this.appendValueInput("id").setCheck(String).appendField(J.Msg.HTML_NAME),this.appendValueInput("password").setCheck(String).appendField(J.Msg.HTML_PASSWORD),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_ESP32_NETWORK_CONNECT_TOOLTIP)}},qr={init:function(){this.setColour(xr),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(J.Msg.MIXLY_NETWORK_WIFI_CONNECT+J.Msg.MIXLY_SYMBOL_QUESTION),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_ESP32_NETWORK_WIFI_CONNECT_TOOLTIP)}},zr={init:function(){this.setColour(xr),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(J.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput("").appendField(new J.FieldDropdown([[J.Msg.MIXLY_ESP32_NETWORK_IP,"0"],[J.Msg.MIXLY_ESP32_NETWORK_MASK,"1"],[J.Msg.MIXLY_ESP32_NETWORK_GATEWAY,"2"],["DNS","3"]]),"mode"),this.setOutput(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return J.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP+{0:J.Msg.MIXLY_ESP32_NETWORK_IP,1:J.Msg.MIXLY_ESP32_NETWORK_MASK,2:J.Msg.MIXLY_ESP32_NETWORK_GATEWAY,3:"DNS"}[e]}))}},Zr={init:function(){this.setColour(xr),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(J.Msg.MIXLY_ESP32_NETWORK_STOP_CONNECT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_ESP32_NETWORK_STOP_TOOLTIP)}},$r={init:function(){this.setColour(xr),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(J.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput().appendField(new J.FieldDropdown([[J.Msg.MIXLY_NETWORK_WIFI_ESSID,"essid"],[J.Msg.MIXLY_NETWORK_WIFI_CHANNEL,"channel"]]),"op"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP)}},tp={init:function(){this.setColour(xr),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(J.Msg.LISTS_SET_INDEX_SET+J.Msg.MIXLY_HOTSPOT),this.appendValueInput("essid").setCheck(String).appendField(J.Msg.MIXLY_NAME),this.appendValueInput("password").setCheck(String).appendField(J.Msg.MIXLY_EMQX_PASSWORD),this.appendValueInput("channel").setCheck(Number).appendField(J.Msg.MIXLY_NETWORK_WIFI_CHANNEL),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_ESP32_NETWORK_AP_CONNECT_TOOLTIP)}},ep={init:function(){this.setColour(xr),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(J.Msg.MIXLY_ESP32_NETWORK_SERVER1),this.appendDummyInput("").appendField(J.Msg.MIXLY_ESP32_NETWORK_SERVER2),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},ip={init:function(){this.setColour(xr),this.appendValueInput("VAR").appendField(J.Msg.MIXLY_MICROPYTHON_SOCKET_INIT).setCheck("var"),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new J.FieldDropdown([["TCP","TCP"],["UDP","UDP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return J.Msg.MIXLY_ESP32_NETWORK_SOCKET_INIT_TOOLTIP+{TCP:"TCP",UDP:"UDP"}[e]}))}},np={init:function(){this.setColour(xr),this.appendValueInput("VAR").setCheck("var").appendField(J.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(J.Msg.MIXLY_MICROPYTHON_SOCKET_BIND_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_ESP32_NETWORK_SOCKET_BIND_TOOLTIP)}},sp={init:function(){this.setColour(xr),this.appendValueInput("VAR").setCheck("var").appendField(J.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(J.Msg.MIXLY_MICROPYTHON_SOCKET_CONNECT_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_ESP32_NETWORK_SOCKET_CONNECT_TOOLTIP)}},op={init:function(){this.setColour(xr),this.appendValueInput("VAR").setCheck("var"),this.appendValueInput("queue").setCheck(Number).appendField(J.Msg.MIXLY_MICROPYTHON_SOCKET_LISTEN).appendField(J.Msg.MIXLY_MICROPYTHON_SOCKET_QUEUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_ESP32_NETWORK_SOCKET_LISTEN_TOOLTIP)}},_p={init:function(){this.setColour(xr),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROPYTHON_SOCKET_ACCEPT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_ESP32_NETWORK_SOCKET_ACCEPT_TOOLTIP)}},up={init:function(){this.setColour(xr),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE_TOOLTIP)}},ap={init:function(){this.setColour(xr),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("size").setCheck(Number).appendField(J.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_TOOLTIP)}},rp={init:function(){this.setColour(xr),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("content").appendField(J.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TOOLTIP)}},pp={init:function(){this.setColour(xr),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("size").setCheck(Number).appendField(J.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_FROM_TOOLTIP)}},lp={init:function(){this.setColour(xr),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("content").appendField(J.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.appendValueInput("address").appendField(J.Msg.MIXLY_MICROPYTHON_SOCKET_TO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TO_TOOLTIP)}},Ip={init:function(){this.setColour(xr),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROPYTHON_SOCKET_CLOSE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},Tp={init:function(){this.setColour(xr),this.appendValueInput("DOMAIN").appendField(J.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(J.Msg.blockpy_REQUESTS_GET).appendField(new J.FieldTextInput("response"),"VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(J.Msg.blockpy_REQUESTS_GET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){J.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},dp={init:function(){this.appendValueInput("VAL"),this.setColour(xr),this.appendDummyInput("").appendField(J.Msg.MIXLY_MICROBIT_JS_GET).appendField(new J.FieldDropdown(dp.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{clear:J.Msg.MIXLY_TOOLTIP_TURTEL_CLEAR,reset:J.Msg.MIXLY_TOOLTIP_TURTEL_RESET,home:J.Msg.MIXLY_TOOLTIP_TURTEL_HOME}[e]}))},ATTR:[[J.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[J.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[J.Msg.blockpy_REQUESTS_GET_ATTR_COOKIES,"cookies"],[J.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"]]},hp={init:function(){this.appendValueInput("VAR").appendField(J.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.setColour(xr),this.appendDummyInput("").appendField(J.Msg.blockpy_CONDUCT).appendField(new J.FieldDropdown(hp.METHOD),"DIR"),this.appendDummyInput("").appendField(J.Msg.blockpy_REQUESTS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{forward:J.Msg.MIXLY_TOOLTIP_TURTEL_FORWARD,backward:J.Msg.MIXLY_TOOLTIP_TURTEL_BACKWARD}[e]}))},METHOD:[["post","post"],["put","put"],["delete","delete"],["head","head"],["option","option"]]},Mp={init:function(){this.setColour(xr),this.appendDummyInput("").appendField(J.Msg.MIXLY_GET_NTP+"(NTP)"),this.appendValueInput("data").appendField(J.Msg.blynk_SERVER_ADD),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},Op={init:function(){this.setColour(xr),this.appendDummyInput("").appendField(new J.FieldDropdown([["ntp.aliyun.com","ntp.aliyun.com"],["ntp1.aliyun.com","ntp1.aliyun.com"],["ntp2.aliyun.com","ntp2.aliyun.com"],["ntp3.aliyun.com","ntp3.aliyun.com"],["ntp4.aliyun.com","ntp4.aliyun.com"],["ntp5.aliyun.com","ntp5.aliyun.com"],["ntp6.aliyun.com","ntp6.aliyun.com"],["ntp7.aliyun.com","ntp7.aliyun.com"],["time1.cloud.tencent.com","time1.cloud.tencent.com"],["time2.cloud.tencent.com","time2.cloud.tencent.com"],["time3.cloud.tencent.com","time3.cloud.tencent.com"],["time4.cloud.tencent.com","time4.cloud.tencent.com"],["time5.cloud.tencent.com","time5.cloud.tencent.com"]]),"op"),this.setOutput(!0)}},mp="#3288dd",cp={init:function(){this.setColour(mp),this.appendValueInput("URL").appendField(J.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(J.Msg.blockpy_CONDUCT).appendField(new J.FieldDropdown([["get","get"],["head","head"],["delete","delete"]]),"TYPE").appendField(J.Msg.blockpy_REQUESTS).appendField(J.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},Ep={init:function(){this.setColour(mp),this.appendValueInput("URL").appendField(J.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(J.Msg.blockpy_CONDUCT).appendField(new J.FieldDropdown([["post","post"],["put","put"],["patch","patch"]]),"TYPE").appendField(J.Msg.blockpy_REQUESTS),this.appendValueInput("data").appendField(J.Msg.blockpy_REQUESTS+J.Msg.OLED_STRING),this.appendDummyInput("").appendField(J.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},Rp={init:function(){this.appendValueInput("VAL"),this.setColour(mp),this.appendDummyInput("").appendField(J.Msg.MIXLY_MICROBIT_JS_GET).appendField(new J.FieldDropdown(Rp.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String)},ATTR:[[J.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[J.Msg.blockpy_REQUESTS_GET_ATTR_JSON,"json()"],[J.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[J.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"],[J.Msg.MIXPY_TEXT_ENCODE,"encoding"]]},gp={init:function(){this.setColour(mp),this.appendDummyInput().appendField(J.Msg.MIXLY_ESP32_IOT_CONNECT_WIFI),this.appendValueInput("WIFINAME").setCheck(String).appendField(J.Msg.HTML_NAME),this.appendValueInput("PASSWORD").setCheck(String).appendField(J.Msg.HTML_PASSWORD),this.appendValueInput("TIMEOUT").setCheck(Number).appendField(J.Msg.MIXLY_IR_TIMEOUT),this.appendDummyInput().appendField(J.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(J.Msg.MIXLY_ESP32_IOT_WIFI_CONNECT_TOOLTIP)}},Cp={init:function(){this.setColour(mp),this.appendDummyInput().appendField(J.Msg.MIXLY_ESP32_IOT_EMQX_CONNECT_TOOLTIP),this.appendValueInput("SERVER").setCheck(String).appendField(J.Msg.MIXLY_EMQX_SERVER).setAlign(J.inputs.Align.RIGHT),this.appendValueInput("PORT").setCheck(Number).appendField(J.Msg.MIXLY_EMQX_PORT).setAlign(J.inputs.Align.RIGHT),this.appendValueInput("CLIENT_ID").setCheck(String).appendField(J.Msg.MIXLY_EMQX_CLIENT_ID).setAlign(J.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(J.Msg.MIXLY_WIFI_USERNAME).setAlign(J.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(J.Msg.MIXLY_IOT_PASSWORD).setAlign(J.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ap={init:function(){this.setColour(mp),this.appendValueInput("TOPIC").appendField(J.Msg.MIXLY_EMQX_SUBSCRIBE+J.Msg.MIXLY_MICROBIT_MSG).appendField(J.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MESSAGE").appendField(J.Msg.blockpy_set_of),this.setInputsInline(!0),this.setOutput(!0)}},Lp={init:function(){this.setColour(mp),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(J.Msg.MIXLY_EMQX_SUBSCRIBE+J.Msg.MIXLY_MICROBIT_MSG).appendField(J.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(J.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Sp={init:function(){this.setColour(mp),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(J.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(J.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(J.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Dp={init:function(){this.setColour(mp),this.appendDummyInput().appendField("mqtt"+J.Msg.MIXLY_EMQX_IS_CONNECT),this.setInputsInline(!0),this.setOutput(!0)}},Np="#A58C5B",fp={init:function(){this.setColour(Np),this.appendValueInput("PIN",Number).appendField(new J.FieldDropdown([["DHT11","DHT11"],["DHT22","DHT22"]]),"TYPE").appendField(J.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(new J.FieldDropdown(fp.METHOD),"WHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("WHAT");return{temperature:J.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM,relative_humidity:J.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_HUM,tempandhum:J.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM_HUM}[e]}))},METHOD:[[J.Msg.MIXLY_GETTEMPERATUE,"temperature"],[J.Msg.MIXLY_GETHUMIDITY,"humidity"]]},Pp=(J.Msg.PS2_TRIANGLE,J.Msg.PS2_CIRCLE,J.Msg.PS2_CROSS,J.Msg.PS2_SQUARE,J.Msg.PS2_L1,J.Msg.PS2_L2,J.Msg.PS2_R1,J.Msg.PS2_R2,J.Msg.PS2_UP,J.Msg.PS2_RIGHT,J.Msg.PS2_DOWN,J.Msg.PS2_LEFT,J.Msg.PS2_SELECT,J.Msg.PS2_START,{init:function(){this.setColour(Np),this.appendDummyInput("").appendField(J.Msg.PS2_stick).appendField(new J.FieldDropdown(Pp.PSSTK),"psstk"),this.setOutput(!0,Number),this.setTooltip("")},PSSTK:[[J.Msg.PS2_RX,"0"],[J.Msg.PS2_RY,"1"],[J.Msg.PS2_LX,"2"],[J.Msg.PS2_LY,"3"]]}),Fp={init:function(){this.setColour(Np),this.appendValueInput("SUB").appendField(J.Msg.PS2),this.appendDummyInput("").appendField(J.Msg.MIXLY_JOYSTICK).appendField(new J.FieldDropdown(Fp.PSSTK),"psstk"),this.setOutput(!0,Number),this.setTooltip("")},PSSTK:[[J.Msg.PS2_RX,"RX"],[J.Msg.PS2_RY,"RY"],[J.Msg.PS2_LX,"LX"],[J.Msg.PS2_LY,"LY"]]},vp=40,Yp={init:function(){this.setColour(vp),this.appendValueInput("PIN",Number).appendField(new J.FieldDropdown([["DHT11","dht11"],["DHT22","dht22"]]),"TYPE").appendField(J.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(new J.FieldDropdown(Yp.METHOD),"WHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("WHAT");return{temperature:J.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM,relative_humidity:J.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_HUM,tempandhum:J.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM_HUM}[e]}))},METHOD:[[J.Msg.MIXLY_GETTEMPERATUE,"temperature"],[J.Msg.MIXLY_GETHUMIDITY,"relative_humidity"],[J.Msg.MIXLY_DHT11_T_H,"tempandhum"]]};const Vp=function(t,e){return e.definitions_.import_network="import network",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+" = network.WLAN(network."+this.getFieldValue("mode")+"_IF);\n"},bp=function(t,e){return e.definitions_.import_network="import network",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".connect("+e.valueToCode(this,"id",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"password",e.ORDER_ATOMIC)+")\n"},Xp=function(t,e){return e.definitions_.import_network="import network",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".isconnected()",e.ORDER_ATOMIC]},yp=function(t,e){return e.definitions_.import_network="import network",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".ifconfig()["+this.getFieldValue("mode")+"]",e.ORDER_ATOMIC]},Up=function(t,e){return e.definitions_.import_network="import network",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".disconnect()\n"},Bp=function(t,e){return e.definitions_.import_network="import network",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".active("+this.getFieldValue("op")+")\n"},wp=function(t,e){return e.definitions_.import_network="import network",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".active()",e.ORDER_ATOMIC]},Gp=function(t,e){return e.definitions_.import_network="import network",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".config('"+this.getFieldValue("op")+"')",e.ORDER_ATOMIC]},kp=function(t,e){e.definitions_.import_network="import network";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"essid",e.ORDER_ATOMIC),s=e.valueToCode(this,"password",e.ORDER_ATOMIC);return i+".config(essid = "+n+", channel="+e.valueToCode(this,"channel",e.ORDER_ATOMIC)+",password="+s+")\n"},Hp=function(t,e){return e.definitions_.import_network="import network",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".scan()",e.ORDER_ATOMIC]},xp=function(t,e){e.definitions_["import_server_*"]="from server import *";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);return"if not "+i+".isconnected():\n connectWifi(SSID, PASSWORD)\nip="+i+".ifconfig()[0]\nprint(ip)\ntime.sleep(1)\nDATA=listenData()\n"},Wp=function(t,e){e.definitions_.import_network="import network",e.definitions_.import_socket="import socket";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=this.getFieldValue("mode");return"UDP"==n?n="socket.SOCK_DGRAM":"TCP"==n&&(n="socket.SOCK_STREAM"),i+" = socket.socket(socket.AF_INET, "+n+")\n"},Kp=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".bind("+e.valueToCode(this,"address",e.ORDER_ATOMIC)+")\n"},Qp=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".connect(socket.getaddrinfo"+e.valueToCode(this,"address",e.ORDER_ATOMIC)+"[0][-1])\n"},jp=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".listen("+e.valueToCode(this,"queue",e.ORDER_ATOMIC)+")\n"},Jp=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".accept()",e.ORDER_ATOMIC]},qp=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".readline()",e.ORDER_ATOMIC]},zp=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".recv("+e.valueToCode(this,"size",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Zp=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".send("+e.valueToCode(this,"content",e.ORDER_ATOMIC)+")\n"},$p=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".recvfrom("+e.valueToCode(this,"size",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},tl=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".sendto("+e.valueToCode(this,"content",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"address",e.ORDER_ATOMIC)+")\n"},el=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".close()\n"},il=function(t,e){return e.definitions_.import_requests="import requests",e.variableDB_.getName(this.getFieldValue("VAR"),J.Variables.NAME_TYPE)+"= requests.get("+e.valueToCode(this,"DOMAIN",e.ORDER_ATOMIC)+")\n"},nl=function(t,e){return e.definitions_.import_requests="import requests",[(e.valueToCode(this,"VAL",e.ORDER_ASSIGNMENT)||"0")+"."+this.getFieldValue("ATTR"),e.ORDER_ATOMIC]},sl=function(t,e){return e.definitions_.import_requests="import requests","requests."+this.getFieldValue("DIR")+"("+e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+")\n"},ol=function(t,e){return e.definitions_.import_ntptime="import ntptime",["ntptime.time(host="+e.valueToCode(this,"data",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},_l=function(t,e){return["'"+this.getFieldValue("op")+"'",e.ORDER_ATOMIC]},ul=function(t,e){return e.definitions_.import_urequests="import urequests",["urequests."+this.getFieldValue("TYPE")+"("+e.valueToCode(this,"URL",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},al=function(t,e){return e.definitions_.import_urequests="import urequests",[(e.valueToCode(this,"VAL",e.ORDER_ASSIGNMENT)||"0")+"."+this.getFieldValue("ATTR"),e.ORDER_ATOMIC]},rl=function(t,e){return e.definitions_.import_urequests="import urequests",["urequests."+this.getFieldValue("TYPE")+"("+e.valueToCode(this,"URL",e.ORDER_ATOMIC)+", data="+e.valueToCode(this,"data",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},pl=function(t,e){return e.definitions_.import_educore_wifi="from educore import wifi","wifi.connect(ssid="+e.valueToCode(this,"WIFINAME",e.ORDER_ATOMIC)+", psd="+e.valueToCode(this,"PASSWORD",e.ORDER_ATOMIC)+", timeout="+e.valueToCode(this,"TIMEOUT",e.ORDER_ATOMIC)+")\n"},ll=function(t,e){return e.definitions_.import_educore_mqttclient="from educore import mqttclient","mqttclient.connect(server="+e.valueToCode(this,"SERVER",e.ORDER_ATOMIC)+", port="+e.valueToCode(this,"PORT",e.ORDER_ATOMIC)+", client_id="+e.valueToCode(this,"CLIENT_ID",e.ORDER_ATOMIC)+", user="+e.valueToCode(this,"USERNAME",e.ORDER_ATOMIC)+", psd="+e.valueToCode(this,"PASSWORD",e.ORDER_ATOMIC)+")\n"},Il=function(t,e){e.definitions_.import_educore_mqttclient="from educore import mqttclient";var i=e.valueToCode(this,"TOPIC",e.ORDER_ATOMIC);return["mqttclient."+e.valueToCode(this,"MESSAGE",e.ORDER_ATOMIC)+"("+i+")",e.ORDER_ATOMIC]},Tl=function(t,e){var i=e.valueToCode(this,"TOPIC",e.ORDER_ATOMIC),n=e.valueToCode(this,"METHOD",e.ORDER_ATOMIC);return e.definitions_.import_educore_mqttclient="from educore import mqttclient","mqttclient.received(topic="+i+", callback="+n+")\n"},dl=function(t,e){return e.definitions_.import_educore_mqttclient="from educore import mqttclient","mqtt_client.publish(topic="+e.valueToCode(this,"TOPIC",e.ORDER_ATOMIC)+", content="+e.valueToCode(this,"MSG",e.ORDER_ATOMIC)+")\n"},hl=function(t,e){e.definitions_.import_educore_mqttclient="from educore import mqttclient";return["mqtt_client.connescted()",e.ORDER_ATOMIC]},Ml='
\r\n
{{-d.title}}
\r\n
\r\n {{# if (d.message) { }}\r\n

\r\n {{-d.message}}\r\n

\r\n {{# } }}\r\n
\r\n
',{XML:Ol}=q,{XML:ml}=(Ol.render(Ml,{title:"烧录速度",message:"要选择烧录速度,请更改“Burn Speed”,此值将用于向设备烧录代码。如果在用较高的烧录速度时出现问题,请尝试减小此值,这可能是由于外部串行到USB芯片的限制。"}),q),{XML:cl}=(ml.render(Ml,{title:"燒錄速度",message:"要選擇燒錄速度,請更改“Burn Speed”,此值將用於向設備燒錄程式碼。如果在用較高的燒錄速度時出現問題,請嘗試减小此值,這可能是由於外部串列到USB晶片的限制。"}),q),El=(cl.render(Ml,{title:"Burn Speed",message:"To select the flashing speed, change the Burn Speed. This value will be used for flashing the code to the device. If you have issues while flashing the device at high speed, try to decrease this value. This could be due to the external serial-to-USB chip limitations."}),new J.Generator("Python"));El.INDENT=" ",El.addReservedWords("False,None,True,and,as,assert,break,class,continue,def,del,elif,else,except,exec,finally,for,from,global,if,import,in,is,lambda,nonlocal,not,or,pass,print,raise,return,try,while,with,yield,NotImplemented,Ellipsis,__debug__,quit,exit,copyright,license,credits,ArithmeticError,AssertionError,AttributeError,BaseException,BlockingIOError,BrokenPipeError,BufferError,BytesWarning,ChildProcessError,ConnectionAbortedError,ConnectionError,ConnectionRefusedError,ConnectionResetError,DeprecationWarning,EOFError,Ellipsis,EnvironmentError,Exception,FileExistsError,FileNotFoundError,FloatingPointError,FutureWarning,GeneratorExit,IOError,ImportError,ImportWarning,IndentationError,IndexError,InterruptedError,IsADirectoryError,KeyError,KeyboardInterrupt,LookupError,MemoryError,ModuleNotFoundError,NameError,NotADirectoryError,NotImplemented,NotImplementedError,OSError,OverflowError,PendingDeprecationWarning,PermissionError,ProcessLookupError,RecursionError,ReferenceError,ResourceWarning,RuntimeError,RuntimeWarning,StandardError,StopAsyncIteration,StopIteration,SyntaxError,SyntaxWarning,SystemError,SystemExit,TabError,TimeoutError,TypeError,UnboundLocalError,UnicodeDecodeError,UnicodeEncodeError,UnicodeError,UnicodeTranslateError,UnicodeWarning,UserWarning,ValueError,Warning,ZeroDivisionError,_,__build_class__,__debug__,__doc__,__import__,__loader__,__name__,__package__,__spec__,abs,all,any,apply,ascii,basestring,bin,bool,buffer,bytearray,bytes,callable,chr,classmethod,cmp,coerce,compile,complex,copyright,credits,delattr,dict,dir,divmod,enumerate,eval,exec,execfile,exit,file,filter,float,format,frozenset,getattr,globals,hasattr,hash,help,hex,id,input,int,intern,isinstance,issubclass,iter,len,license,list,locals,long,map,max,memoryview,min,next,object,oct,open,ord,pow,print,property,quit,range,raw_input,reduce,reload,repr,reversed,round,set,setattr,slice,sorted,staticmethod,str,sum,super,tuple,type,unichr,unicode,vars,xrange,zip"),El.ORDER_ATOMIC=0,El.ORDER_COLLECTION=1,El.ORDER_STRING_CONVERSION=1,El.ORDER_UNARY_POSTFIX=1,El.ORDER_UNARY_PREFIX=2,El.ORDER_MEMBER=2.1,El.ORDER_FUNCTION_CALL=2.2,El.ORDER_EXPONENTIATION=3,El.ORDER_UNARY_SIGN=4,El.ORDER_BITWISE_NOT=4,El.ORDER_MULTIPLICATIVE=5,El.ORDER_ADDITIVE=6,El.ORDER_BITWISE_SHIFT=7,El.ORDER_BITWISE_AND=8,El.ORDER_BITWISE_XOR=9,El.ORDER_BITWISE_OR=10,El.ORDER_RELATIONAL=11,El.ORDER_EQUALITY=11,El.ORDER_LOGICAL_NOT=12,El.ORDER_LOGICAL_AND=13,El.ORDER_LOGICAL_OR=14,El.ORDER_ASSIGNMENT=14,El.ORDER_CONDITIONAL=15,El.ORDER_LAMBDA=16,El.ORDER_NONE=99,El.ORDER_OVERRIDES=[[El.ORDER_FUNCTION_CALL,El.ORDER_MEMBER],[El.ORDER_FUNCTION_CALL,El.ORDER_FUNCTION_CALL],[El.ORDER_MEMBER,El.ORDER_MEMBER],[El.ORDER_MEMBER,El.ORDER_FUNCTION_CALL]],El.init=function(){El.PASS=this.INDENT+"pass\n",El.definitions_=Object.create(null),El.functionNames_=Object.create(null),El.setups_=Object.create(null),El.loops_=Object.create(null),El.codeEnd_=Object.create(null),El.variableDB_?El.variableDB_.reset():El.variableDB_=new tt(El.RESERVED_WORDS_)},El.finish=function(t){""!==t&&(t=(t=t.replace(/\n/g,"\n")).replace(/\n\s+$/,"\n"));var e=[],i=[],n=[];for(var s in this.definitions_){var o=this.definitions_[s];0===s.indexOf("import")?e.push(o):0===s.indexOf("var_declare")?i.push(o):n.push(o)}e.length&&e.push("\n"),i.length&&i.push("\n"),n.length&&n.push("\n");var _=[];for(var s in El.functions_)_.push(El.functions_[s]);_.length&&_.push("\n");var u=[];for(var s in El.setups_)u.push(El.setups_[s]);u.length&&u.push("\n");var a=[];for(var s in El.loops_)a.push(El.loops_[s]);var r=[];for(var s in El.codeEnd_)r.push(El.codeEnd_[s]);0!==r.length&&r.push("\n");let p="";return p=a.length>0?e.join("\n")+i.join("\n")+n.join("\n")+_.join("\n")+u.join("")+t+"while True:\n"+a.join("")+r.join("\n"):e.join("\n")+i.join("\n")+n.join("\n")+_.join("\n")+u.join("")+t+r.join("\n"),p},El.scrubNakedValue=function(t){return t+"\n"},El.quote_=function(t){var e="'";return-1!==(t=t.replace(/\\/g,"\\\\").replace(/\n/g,"\\\n")).indexOf("'")&&(-1===t.indexOf('"')?e='"':t=t.replace(/'/g,"\\'")),e+t+e},El.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},El.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(o=t.getCommentText())&&(o=J.utils.string.wrap(o,El.COMMENT_WRAP-3),n+=El.prefixLines(o+"\n","# "));for(var s=0;s0?"int("+u+" + "+s+")":s<0?"int("+u+" - "+-s+")":"int("+u+")",n&&(u="-"+u)),u};const Rl={microbit:{description:"microbit_python",digital:[["P0","0"],["P1","1"],["P2","2"],["P3","3"],["P4","4"],["P5","5"],["P6","6"],["P7","7"],["P8","8"],["P9","9"],["P10","10"],["P11","11"],["P12","12"],["P13","13"],["P14","14"],["P15","15"],["P16","16"],["P19","19"],["P20","20"]],pwm:[["P0","0"],["P1","1"],["P2","2"],["P3","3"],["P4","4"],["P5","5"],["P6","6"],["P7","7"],["P8","8"],["P9","9"],["P10","10"],["P11","11"],["P12","12"],["P13","13"],["P14","14"],["P15","15"],["P16","16"],["P19","19"],["P20","20"]],analog:[["P0","0"],["P1","1"],["P2","2"],["P3","3"],["P4","4"],["P10","10"]],interrupt:[["P0","0"],["P1","1"],["P2","2"]],button:[["A","button_a"],["B","button_b"]],axis:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],brightness:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"]],builtinimg:[["HEART","Image.HEART"],["HEART_SMALL","Image.HEART_SMALL"],["HAPPY","Image.HAPPY"],["SMILE","Image.SMILE"],["SAD","Image.SAD"],["CONFUSED","Image.CONFUSED"],["ANGRY","Image.ANGRY"],["ASLEEP","Image.ASLEEP"],["SURPRISED","Image.SURPRISED"],["SILLY","Image.SILLY"],["FABULOUS","Image.FABULOUS"],["MEH","Image.MEH"],["YES","Image.YES"],["NO","Image.NO"],["CLOCK12","Image.CLOCK12"],["CLOCK11","Image.CLOCK11"],["CLOCK10","Image.CLOCK10"],["CLOCK9","Image.CLOCK9"],["CLOCK8","Image.CLOCK8"],["CLOCK7","Image.CLOCK7"],["CLOCK6","Image.CLOCK6"],["CLOCK5","Image.CLOCK5"],["CLOCK4","Image.CLOCK4"],["CLOCK3","Image.CLOCK3"],["CLOCK2","Image.CLOCK2"],["CLOCK1","Image.CLOCK1"],["ARROW_N","Image.ARROW_N"],["ARROW_NE","Image.ARROW_NE"],["ARROW_E","Image.ARROW_E"],["ARROW_SE","Image.ARROW_SE"],["ARROW_S","Image.ARROW_S"],["ARROW_SW","Image.ARROW_SW"],["ARROW_W","Image.ARROW_W"],["ARROW_NW","Image.ARROW_NW"],["TRIANGLE","Image.TRIANGLE"],["TRIANGLE_LEFT","Image.TRIANGLE_LEFT"],["CHESSBOARD","Image.CHESSBOARD"],["DIAMOND","Image.DIAMOND"],["DIAMOND_SMALL","Image.DIAMOND_SMALL"],["SQUARE","Image.SQUARE"],["SQUARE_SMALL","Image.SQUARE_SMALL"],["RABBIT","Image.RABBIT"],["COW","Image.COW"],["MUSIC_CROTCHET","Image.MUSIC_CROTCHET"],["MUSIC_QUAVER","Image.MUSIC_QUAVER"],["MUSIC_QUAVERS","Image.MUSIC_QUAVERS"],["PITCHFORK","Image.PITCHFORK"],["XMAS","Image.XMAS"],["PACMAN","Image.PACMAN"],["TARGET","Image.TARGET"],["TSHIRT","Image.TSHIRT"],["ROLLERSKATE","Image.ROLLERSKATE"],["DUCK","Image.DUCK"],["HOUSE","Image.HOUSE"],["TORTOISE","Image.TORTOISE"],["BUTTERFLY","Image.BUTTERFLY"],["STICKFIGURE","Image.STICKFIGURE"],["GHOST","Image.GHOST"],["SWORD","Image.SWORD"],["GIRAFFE","Image.GIRAFFE"],["SKULL","Image.SKULL"],["UMBRELLA","Image.UMBRELLA"],["SNAKE","Image.SNAKE"],["ALL_CLOCKS","Image.ALL_CLOCKS"],["ALL_ARROWS","Image.ALL_ARROWS"]],imglist:[["ALL_CLOCKS","Image.ALL_CLOCKS"],["ALL_ARROWS","Image.ALL_ARROWS"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["P0","0"],["P1","1"],["P2","2"],["P8","8"],["P12","12"],["P13","13"],["P14","14"],["P15","15"],["P16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]]}};Rl["Mithon CC"]=Rl.microbit;const gl=Rl,Cl=100,Al={init:function(){this.jsonInit({colour:Cl,nextStatement:null,previousStatement:null,inputsInline:!0,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/music.html#built-in-melodies",message0:J.Msg.MIXLY_MICROBIT_Play_built_in_melody,args0:[{name:"melody",options:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],type:"field_dropdown"},{type:"input_value",name:"PIN"},{type:"input_dummy"},{checked:!0,type:"field_checkbox",name:"wait"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"loop"}]}),this.setTooltip(J.Msg.MIXLY_MICROBIT_Play_built_in_melody1)}},Ll={init:function(){this.jsonInit({colour:Cl,nextStatement:null,previousStatement:null,inputsInline:!0,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/music.html#built-in-melodies",tooltip:"Play one of the built-in melodies. Indicate if you need to wait before continuing or continuously loop the melody.",message0:J.Msg.MIXLY_MICROBIT_Play_built_in_melody_easy,args0:[{name:"melody",options:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],type:"field_dropdown"},{type:"input_value",name:"PIN"},{type:"input_dummy"}]})}},Sl={init:function(){this.setColour(Cl),this.appendValueInput("PIN",Number).appendField(J.Msg.MIXLY_TONE).appendField(J.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("pitch").setCheck(Number).appendField(J.Msg.MIXLY_FREQUENCY),this.appendValueInput("duration").setCheck(Number).appendField(J.Msg.MIXLY_DURATION),this.appendDummyInput("").appendField(J.Msg.MIXLY_MILLIS).appendField(J.Msg.MIXLY_MICROBIT_WAIT),this.appendDummyInput("").appendField(new J.FieldCheckbox(!0),"wait"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(J.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},Dl={init:function(){this.setColour(Cl),this.appendValueInput("PIN",Number).appendField(J.Msg.MIXLY_TONE).appendField(J.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("pitch").setCheck(Number).appendField(J.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(J.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Nl={init:function(){this.jsonInit({colour:Cl,nextStatement:null,previousStatement:null,inputsInline:!0,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/music.html#musical-notation",message0:J.Msg.MIXLY_MICROBIT_Play_notes,args0:[{check:"List",type:"input_value",name:"notes"},{type:"input_value",name:"PIN"},{checked:!0,type:"field_checkbox",name:"wait"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"loop"}]}),this.setTooltip(J.Msg.MIXLY_MICROBIT_Play_notes1)}},fl={init:function(){this.jsonInit({colour:Cl,nextStatement:null,previousStatement:null,inputsInline:!0,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/music.html#musical-notation",tooltip:"Play a list of notes expressed in the special music language. Indicate if you need to wait before continuing or continuously loop the melody.",message0:J.Msg.MIXLY_MICROBIT_Play_notes,args0:[{check:"List",type:"input_value",name:"notes"},{type:"input_value",name:"PIN"},{type:"input_dummy"},{type:"input_dummy"},{type:"input_dummy"}]})}},Pl={init:function(){this.jsonInit({colour:Cl,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/music.html#music.reset",message0:J.Msg.MIXLY_MICROBIT_Reset_music}),this.setTooltip(J.Msg.MIXLY_MICROBIT_Reset_music)}},Fl={init:function(){this.setColour(Cl),this.appendValueInput("PIN").appendField(J.Msg.MIXLY_NOTONE).appendField(J.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(J.Msg.MIXLY_NOTONE)}},vl={init:function(){this.jsonInit({colour:Cl,output:"Array",helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/music.html#music.get_tempo",message0:J.Msg.MIXLY_MICROBIT_Get_current_tempo}),this.setTooltip(J.Msg.MIXLY_MICROBIT_Get_current_tempo)}},Yl={init:function(){this.setColour(Cl),this.appendValueInput("TICKS").setCheck(Number).appendField(J.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(J.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(J.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_MICROBIT_JS_SET_TEMPO1)}},Vl={init:function(){this.setColour(Cl),this.appendValueInput("VAR").setCheck(String).appendField(new J.FieldDropdown([[J.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_SAY,"say"],[J.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_SING,"sing"],[J.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_PRENOUNCE,"pronounce"]]),"MODE"),this.appendValueInput("pitch").setCheck(Number).appendField(J.Msg.MICROBIT_SPEECH_pitch),this.appendValueInput("speed").setCheck(Number).appendField(J.Msg.MIXLY_SPEED),this.appendValueInput("mouth").setCheck(Number).appendField(J.Msg.MICROBIT_SPEECH_mouth),this.appendValueInput("throat").setCheck(Number).appendField(J.Msg.MICROBIT_SPEECH_throat),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=J.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH,n=J.Msg.MIXLY_MICROBIT_TYPE_STRING;return i+{say:J.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_SAY,sing:J.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_SING,pronounce:J.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_PRENOUNCE}[e]+n}))}},bl={init:function(){this.setColour(Cl),this.appendValueInput("VAR").setCheck(String).appendField(J.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_SAY),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Xl={init:function(){this.setColour(Cl),this.appendValueInput("VAR").setCheck(String).appendField(J.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_SING),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},yl={init:function(){this.setColour(Cl),this.appendValueInput("VAR").setCheck(String).appendField(J.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_PRENOUNCE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Ul={init:function(){this.setColour(Cl),this.appendValueInput("VAR").setCheck(String).appendField(J.Msg.MICROBIT_SPEECH_translation),this.setOutput(!0,String),this.setTooltip(J.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+J.Msg.MIXLY_MICROBIT_TYPE_STRING+J.Msg.MICROBIT_SPEECH_translation)}},Bl={init:function(){this.setColour(Cl),this.appendValueInput("PIN",Number).appendField(J.Msg.MIXLY_SERVO).appendField(J.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("DEGREE",Number).setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.MIXLY_DEGREE_0_180),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_TOOLTIP_BLOCKGROUP_SERVO_MOVE)}},wl={init:function(){this.appendValueInput("speed").setCheck(null).appendField(J.Msg.MIXLY_MOTOR).appendField(new J.FieldDropdown([["M1","1"],["M2","2"],["M3","3"],["M4","4"]]),"Motor").appendField(J.Msg.MIXLY_SPEED),this.appendDummyInput().appendField(new J.FieldDropdown([["Forward","1*"],["Reverse","-1*"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Cl),this.setTooltip(""),this.setHelpUrl("")}},Gl={init:function(){this.setColour(Cl),this.appendDummyInput("").appendField(J.Msg.MIXLY_RGB),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.MIXLY_PIN),this.appendValueInput("LEDCOUNT").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.MIXLY_RGB_COUNT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(J.Msg.MIXLY_RGB_PIN_COUNT)}},kl={init:function(){this.setColour(Cl),this.appendDummyInput("").appendField(J.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(J.Msg.MIXLY_RGB_NUM_R_G_B)}},Hl={init:function(){this.setColour(Cl),this.appendDummyInput("").appendField(J.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.MIXLY_RGB_NUM),this.appendDummyInput("").setAlign(J.inputs.Align.RIGHT).appendField(new J.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},xl={init:function(){this.setColour(Cl),this.appendDummyInput("").appendField(J.Msg.MIXLY_RGB),this.appendDummyInput().appendField(J.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(J.Msg.MIXLY_ESP32_MUSIC_WRI)}},Wl={init:function(){this.setColour(Cl),this.appendDummyInput("").appendField(J.Msg.MIXLY_SETUP+" "+J.Msg.QJ00X_MP3),this.appendValueInput("RX").setAlign(J.inputs.Align.RIGHT).appendField("RX#"),this.appendValueInput("TX").setAlign(J.inputs.Align.RIGHT).appendField("TX#"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}};var Kl=[[J.Msg.MIXLY_MP3_PLAY,"play"],[J.Msg.MIXLY_MP3_PAUSE,"pause"],[J.Msg.MIXLY_MP3_NEXT,"next_track"],[J.Msg.MIXLY_MP3_PREV,"prev_track"],[J.Msg.MIXLY_MP3_VOL_UP,"inc_vol"],[J.Msg.MIXLY_MP3_VOL_DOWN,"dec_vol"]];const Ql={init:function(){this.setColour(Cl),this.appendDummyInput("").appendField(J.Msg.QJ00X_MP3),this.appendDummyInput("").appendField(J.Msg.MIXLY_STAT).appendField(new J.FieldDropdown(Kl),"CONTROL_TYPE"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}};var jl=[[J.Msg.MIXLY_MP3_LOOP_ALL,"0"],[J.Msg.MIXLY_MP3_LOOP_FOLDER,"1"],[J.Msg.MIXLY_MP3_LOOP_ONE,"2"],[J.Msg.MIXLY_MP3_LOOP_RAM,"3"]];const Jl={init:function(){this.setColour(Cl),this.appendDummyInput("").appendField(J.Msg.QJ00X_MP3),this.appendDummyInput("").appendField(J.Msg.MIXLY_MP3_LOOP_MODE).appendField(J.Msg.MIXLY_STAT).appendField(new J.FieldDropdown(jl),"LOOP_MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}};var ql=[[J.Msg.MIXLY_MP3_EQ_NORMAL,"0"],[J.Msg.MIXLY_MP3_EQ_POP,"1"],[J.Msg.MIXLY_MP3_EQ_ROCK,"2"],[J.Msg.MIXLY_MP3_EQ_JAZZ,"3"],[J.Msg.MIXLY_MP3_EQ_CLASSIC,"4"],[J.Msg.MIXLY_MP3_EQ_BASS,"5"]];const zl={init:function(){this.setColour(Cl),this.appendDummyInput("").appendField(J.Msg.QJ00X_MP3),this.appendDummyInput("").appendField(J.Msg.MIXLY_MP3_EQ_MODE).appendField(J.Msg.MIXLY_STAT).appendField(new J.FieldDropdown(ql),"EQ_MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}},Zl={init:function(){this.setColour(Cl),this.appendDummyInput("").appendField(J.Msg.QJ00X_MP3),this.appendDummyInput("").appendField(J.Msg.MIXLY_MP3_VOL),this.appendValueInput("vol",Number).appendField(J.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}},$l={init:function(){this.setColour(Cl),this.appendDummyInput("").appendField(J.Msg.QJ00X_MP3),this.appendValueInput("NUM",Number).appendField(J.Msg.MIXLY_MP3_PLAY_NUM).setCheck(Number),this.appendDummyInput("").appendField("首"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}},tI={init:function(){this.setColour(Cl),this.appendDummyInput("").appendField(J.Msg.QJ00X_MP3),this.appendValueInput("FOLDER",Number).appendField(J.Msg.DFPLAYER_MINI_FOLDER).setCheck(Number),this.appendValueInput("NUM",Number).appendField(J.Msg.MIXLY_MP3_PLAY_NUM).setCheck(Number),this.appendDummyInput("").appendField("首"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}},eI=140,iI={init:function(){this.setColour(225),this.appendDummyInput().appendField(new J.FieldDropdown([[J.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,"on"],[J.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,"off"],[J.Msg.HTML_RESET,"reset"]]),"type").appendField(J.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_WIFI),this.setInputsInline(!0),this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("type"),i=J.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_WIFI;return{on:J.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,off:J.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,reset:J.Blockly.Msg.HTML_RESET}[e]+i}))}},nI={init:function(){this.jsonInit({colour:225,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.on",tooltip:"Turn on the radio. This needs to be explicitly called since the radio draws power and takes up memory that you may otherwise need.",message0:J.Msg.MIXLY_MICROBIT_Switch_on_radio})}},sI={init:function(){this.jsonInit({colour:225,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.off",tooltip:"Turn off the radio, thus saving power and memory.",message0:J.Msg.MIXLY_MICROBIT_Switch_off_radio})}},oI={init:function(){this.jsonInit({colour:225,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.config",tooltip:J.Msg.MIXLY_MICROBIT_Configure_radio1,message0:J.Msg.MIXLY_MICROBIT_Configure_radio,args0:[{min:4,value:32,type:"input_value",max:251,name:"length"},{type:"input_dummy"},{min:1,value:3,type:"input_value",max:32,name:"queue"},{type:"input_dummy"},{min:0,value:7,type:"input_value",max:100,name:"channel"},{type:"input_dummy"},{name:"power",type:"input_value"},{type:"input_dummy"},{name:"address",type:"input_value"},{type:"input_dummy"},{name:"group",type:"input_value"},{type:"input_dummy"},{name:"data_rate",type:"input_value"}]})}},_I={init:function(){this.jsonInit({colour:225,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.reset",tooltip:"Reset the radio to default settings.",message0:J.Msg.MIXLY_MICROBIT_Reset_radio})}},uI={init:function(){this.jsonInit({colour:225,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.send",tooltip:"Broadcast a text message.",message0:J.Msg.MIXLY_MICROBIT_Send_message,args0:[{check:"String",type:"input_value",name:"message"}]})}},aI={init:function(){this.setColour(225),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_RADIO_SEND),this.appendDummyInput().appendField(new J.FieldDropdown([[J.Msg.MIXLY_MICROBIT_MSG,"send"],[J.Msg.MIXLY_MICROBIT_MSG_BYTE,"send_bytes"]]),"type"),this.appendValueInput("data"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_MICROBIT_Send_message1)}},rI={init:function(){this.jsonInit({colour:225,output:"String",helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.receive",tooltip:J.Msg.MIXLY_MICROBIT_Receive_message,message0:J.Msg.MIXLY_MICROBIT_Receive_message})}},pI={init:function(){this.setColour(225),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_Receive_message),this.appendDummyInput().appendField(new J.FieldDropdown([[J.Msg.MIXLY_MICROBIT_MSG,"receive"],[J.Msg.MIXLY_MICROBIT_MSG_BYTE,"receive_bytes"],[J.Msg.MIXLY_MICROBIT_MSG_FULL,"receive_full"]]),"type"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_MICROBIT_Receive_message)}},lI={init:function(){this.setColour(eI),this.appendValueInput("RX",Number).appendField(J.Msg.MIXLY_MICROBIT_JS_I2C_SETUP).appendField("sda").setCheck(Number).setAlign(J.inputs.Align.RIGHT),this.appendValueInput("TX",Number).appendField("scl").setCheck(Number).setAlign(J.inputs.Align.RIGHT),this.appendValueInput("freq").setCheck(Number).appendField("频率").setAlign(J.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},II={init:function(){this.setColour(eI),this.appendValueInput("address").setCheck(Number).appendField(J.Msg.MIXLY_MICROBIT_JS_I2C_READ_ADDRESS),this.appendValueInput("data").setCheck(Number).appendField(J.Msg.LANG_MATH_BYTE),this.appendDummyInput().appendField(J.Msg.CONTROLS_REPEAT_TITLE_REPEAT).appendField(new J.FieldCheckbox(!1),"is_repeated"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_MICROBIT_JS_I2C_READ)}},TI={init:function(){this.setColour(eI),this.appendValueInput("address").setCheck(Number).appendField(J.Msg.MIXLY_MICROBIT_JS_I2C_WRITE_ADDRESS),this.appendValueInput("data").setCheck(Number).appendField(J.Msg.MIXLY_MICROBIT_JS_I2C_VALUE),this.appendDummyInput().appendField(J.Msg.CONTROLS_REPEAT_TITLE_REPEAT).appendField(new J.FieldCheckbox(!1),"is_repeated"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(J.Msg.MIXLY_MICROBIT_JS_I2C_WRITE)}},dI={init:function(){this.jsonInit({colour:eI,nextStatement:null,previousStatement:null,message0:J.Msg.MIXLY_MICROBIT_SPI_INIT,args0:[{value:1e6,type:"field_number",name:"freq"},{type:"input_dummy"},{value:8,type:"field_number",name:"bits"},{type:"input_dummy"},{value:0,type:"field_number",name:"mode"},{type:"input_dummy"},{name:"mosi",options:q.Profile.default.digital,type:"field_dropdown"},{name:"miso",options:q.Profile.default.digital,type:"field_dropdown"},{name:"sck",options:q.Profile.default.digital,type:"field_dropdown"}]}),this.setFieldValue("15","mosi"),this.setFieldValue("14","miso"),this.setFieldValue("13","sck")}},hI={init:function(){this.setColour(eI),this.appendValueInput("data").setCheck(Number).appendField(J.Msg.MIXLY_MICROBIT_JS_SPI_WRITE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_MICROBIT_JS_SPI_WRITE)}},MI=180,OI={init:function(){this.jsonInit({colour:MI,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.clear",message0:J.Msg.MIXLY_MICROBIT_Clear_display}),this.setTooltip(J.Msg.MIXLY_MICROBIT_Clear_display)}},mI={init:function(){this.setColour(MI),this.appendValueInput("x").setCheck(Number).appendField(J.Msg.MIXLY_MICROBIT_JS_GET).appendField(J.Msg.MIXLY_BRIGHTNESS).appendField(J.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(J.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(J.Msg.MIXLY_BRIGHTNESS1)}},cI={init:function(){this.setColour(MI),this.appendValueInput("x").setCheck(Number).appendField(J.Msg.MIXLY_MICROBIT_JS_MONITOR_SET_BRIGHTNESS).appendField(J.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(J.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("brightness").setCheck(Number).appendField(J.Msg.MIXLY_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_BRIGHTNESS2)}},EI={init:function(){this.setColour(MI),this.appendValueInput("data").setCheck([String,"microbit_image"]).appendField(J.Msg.MIXLY_MICROBIT_SHOW_IMAGE_OR_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_MICROBIT_SHOW_IMAGE_OR_STRING)}},RI={init:function(){this.setColour(MI),this.appendValueInput("data").setCheck(String).appendField(J.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},gI={init:function(){this.setColour(MI),this.appendValueInput("data").setCheck(String).appendField(J.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("delay").setCheck(null).appendField(J.Msg.MIXLY_DELAY),this.appendDummyInput().appendField(J.Msg.MIXLY_MILLIS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},CI={init:function(){this.setColour(MI),this.appendValueInput("PIN",String).setCheck("microbit_image").appendField(J.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(J.Msg.OLED_BITMAP)}},AI={init:function(){this.jsonInit({colour:MI,InputsInline:!0,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.show",tooltip:"Show the referenced image on the display.",message0:J.Msg.OLED_BITMAP,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SMILE","SMILE"],["SAD","SAD"],["CONFUSED","CONFUSED"],["ANGRY","ANGRY"],["ASLEEP","ASLEEP"],["SURPRISED","SURPRISED"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["MEH","MEH"],["YES","YES"],["NO","NO"],["CLOCK12","CLOCK12"],["CLOCK11","CLOCK11"],["CLOCK10","CLOCK10"],["CLOCK9","CLOCK9"],["CLOCK8","CLOCK8"],["CLOCK7","CLOCK7"],["CLOCK6","CLOCK6"],["CLOCK5","CLOCK5"],["CLOCK4","CLOCK4"],["CLOCK3","CLOCK3"],["CLOCK2","CLOCK2"],["CLOCK1","CLOCK1"],["ARROW_N","ARROW_N"],["ARROW_NE","ARROW_NE"],["ARROW_E","ARROW_E"],["ARROW_SE","ARROW_SE"],["ARROW_S","ARROW_S"],["ARROW_SW","ARROW_SW"],["ARROW_W","ARROW_W"],["ARROW_NW","ARROW_NW"],["TRIANGLE","TRIANGLE"],["TRIANGLE_LEFT","TRIANGLE_LEFT"],["CHESSBOARD","CHESSBOARD"],["DIAMOND","DIAMOND"],["DIAMOND_SMALL","DIAMOND_SMALL"],["SQUARE","SQUARE"],["SQUARE_SMALL","SQUARE_SMALL"],["RABBIT","RABBIT"],["COW","COW"],["MUSIC_CROTCHET","MUSIC_CROTCHET"],["MUSIC_QUAVER","MUSIC_QUAVER"],["MUSIC_QUAVERS","MUSIC_QUAVERS"],["PITCHFORK","PITCHFORK"],["XMAS","XMAS"],["PACMAN","PACMAN"],["TARGET","TARGET"],["TSHIRT","TSHIRT"],["ROLLERSKATE","ROLLERSKATE"],["DUCK","DUCK"],["HOUSE","HOUSE"],["TORTOISE","TORTOISE"],["BUTTERFLY","BUTTERFLY"],["STICKFIGURE","STICKFIGURE"],["GHOST","GHOST"],["SWORD","SWORD"],["GIRAFFE","GIRAFFE"],["SKULL","SKULL"],["UMBRELLA","UMBRELLA"],["SNAKE","SNAKE"],["ALL_CLOCKS","ALL_CLOCKS"],["ALL_ARROWS","ALL_ARROWS"]],type:"field_dropdown"}]})}},LI={init:function(){this.jsonInit({colour:MI,inputsInline:!0,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.show",message0:J.Msg.MIXLY_MICROBIT_Animate_images_or_string,args0:[{check:[String,"List"],type:"input_value",name:"images"},{type:"input_value",name:"delay"},{type:"input_dummy"},{checked:!0,type:"field_checkbox",name:"wait"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"loop"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"clear"}]}),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_MICROBIT_JS_MONITOR_SHOW_delay+J.Msg.MIXLY_MICROBIT_Animate_images1)}},SI={init:function(){this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.jsonInit({colour:MI,inputsInline:!0,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.show",tooltip:"Display the list of images as an animation with a certain delay between each frame. Indicate if you need to wait before continuing, continuously loop the animation and clear the display when finished.",message0:J.Msg.MIXLY_MICROBIT_SHOW_STRING,args0:[{check:String,type:"input_value",name:"images"},{type:"input_value",name:"delay"},{type:"input_dummy"},{checked:!0,type:"field_checkbox",name:"wait"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"loop"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"clear"}]}),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING)}},DI={init:function(){this.jsonInit({colour:MI,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.scroll",tooltip:"Scroll the referenced text across the display.",message0:J.Msg.MIXLY_MICROBIT_Scroll_message,args0:[{check:"String",type:"input_value",name:"message"}]})}},NI={init:function(){this.setColour(MI),this.appendDummyInput().appendField(new J.FieldDropdown([[J.Msg.MIXLY_MICROBIT_Turn_on_display,"on"],[J.Msg.MIXLY_MICROBIT_Turn_off_display,"off"]]),"on_off").appendField(J.Msg.MIXLY_MICROBIT_monitor),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("on_off"),i=J.Msg.MIXLY_MICROBIT_monitor;return{on:J.Msg.MIXLY_MICROBIT_Turn_on_display,off:J.Msg.MIXLY_MICROBIT_Turn_off_display}[e]+i}))}},fI={init:function(){this.jsonInit({colour:MI,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.off",tooltip:"Turn off the display.",message0:J.Msg.MIXLY_MICROBIT_Turn_off_display})}},PI={init:function(){this.jsonInit({colour:MI,output:"Boolean",helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.is_on",message0:J.Msg.MIXLY_MICROBIT_Display_is_on}),this.setTooltip(J.Msg.MIXLY_MICROBIT_Display_is_on1)}},FI={init:function(){this.jsonInit({colour:MI,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SMILE","SMILE"],["SAD","SAD"],["CONFUSED","CONFUSED"],["ANGRY","ANGRY"],["ASLEEP","ASLEEP"],["SURPRISED","SURPRISED"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["MEH","MEH"],["YES","YES"],["NO","NO"],["CLOCK12","CLOCK12"],["CLOCK11","CLOCK11"],["CLOCK10","CLOCK10"],["CLOCK9","CLOCK9"],["CLOCK8","CLOCK8"],["CLOCK7","CLOCK7"],["CLOCK6","CLOCK6"],["CLOCK5","CLOCK5"],["CLOCK4","CLOCK4"],["CLOCK3","CLOCK3"],["CLOCK2","CLOCK2"],["CLOCK1","CLOCK1"],["ARROW_N","ARROW_N"],["ARROW_NE","ARROW_NE"],["ARROW_E","ARROW_E"],["ARROW_SE","ARROW_SE"],["ARROW_S","ARROW_S"],["ARROW_SW","ARROW_SW"],["ARROW_W","ARROW_W"],["ARROW_NW","ARROW_NW"],["TRIANGLE","TRIANGLE"],["TRIANGLE_LEFT","TRIANGLE_LEFT"],["CHESSBOARD","CHESSBOARD"],["DIAMOND","DIAMOND"],["DIAMOND_SMALL","DIAMOND_SMALL"],["SQUARE","SQUARE"],["SQUARE_SMALL","SQUARE_SMALL"],["RABBIT","RABBIT"],["COW","COW"],["MUSIC_CROTCHET","MUSIC_CROTCHET"],["MUSIC_QUAVER","MUSIC_QUAVER"],["MUSIC_QUAVERS","MUSIC_QUAVERS"],["PITCHFORK","PITCHFORK"],["XMAS","XMAS"],["PACMAN","PACMAN"],["TARGET","TARGET"],["TSHIRT","TSHIRT"],["ROLLERSKATE","ROLLERSKATE"],["DUCK","DUCK"],["HOUSE","HOUSE"],["TORTOISE","TORTOISE"],["BUTTERFLY","BUTTERFLY"],["STICKFIGURE","STICKFIGURE"],["GHOST","GHOST"],["SWORD","SWORD"],["GIRAFFE","GIRAFFE"],["SKULL","SKULL"],["UMBRELLA","UMBRELLA"],["SNAKE","SNAKE"],["ALL_CLOCKS","ALL_CLOCKS"],["ALL_ARROWS","ALL_ARROWS"]],type:"field_dropdown"}],output:["microbit_image","List"],helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#attributes",tooltip:J.Msg.MIXLY_MICROBIT_Built_in_image1,message0:J.Msg.MIXLY_MICROBIT_Built_in_image})}},vI={init:function(){this.jsonInit({colour:MI,args0:[{check:["microbit_image","List",String],type:"input_value",name:"image"}],output:"microbit_image",helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#microbit.Image.copy",message0:J.Msg.MIXLY_MICROBIT_Copy_image}),this.setTooltip(J.Msg.MIXLY_MICROBIT_Copy_image1)}},YI={init:function(){this.jsonInit({colour:MI,args0:[{check:["microbit_image","List",String],type:"input_value",name:"image"}],output:"microbit_image",helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#microbit.Image.invert",message0:J.Msg.MIXLY_MICROBIT_Invert_image}),this.setTooltip(J.Msg.MIXLY_MICROBIT_Invert_image1)}},VI={init:function(){this.jsonInit({colour:MI,args0:[{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"00"},{colour:"#000000",type:"field_colour",name:"01"},{colour:"#000000",type:"field_colour",name:"02"},{colour:"#000000",type:"field_colour",name:"03"},{colour:"#000000",type:"field_colour",name:"04"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"10"},{colour:"#000000",type:"field_colour",name:"11"},{colour:"#000000",type:"field_colour",name:"12"},{colour:"#000000",type:"field_colour",name:"13"},{colour:"#000000",type:"field_colour",name:"14"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"20"},{colour:"#000000",type:"field_colour",name:"21"},{colour:"#000000",type:"field_colour",name:"22"},{colour:"#000000",type:"field_colour",name:"23"},{colour:"#000000",type:"field_colour",name:"24"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"30"},{colour:"#000000",type:"field_colour",name:"31"},{colour:"#000000",type:"field_colour",name:"32"},{colour:"#000000",type:"field_colour",name:"33"},{colour:"#000000",type:"field_colour",name:"34"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"40"},{colour:"#000000",type:"field_colour",name:"41"},{colour:"#000000",type:"field_colour",name:"42"},{colour:"#000000",type:"field_colour",name:"43"},{colour:"#000000",type:"field_colour",name:"44"}],output:"microbit_image",helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#microbit.Image",message0:J.Msg.MIXLY_MICROBIT_Create_image}),this.setTooltip(J.Msg.MIXLY_MICROBIT_Create_image1)}},bI={init:function(){var t=[[J.Msg.MIXLY_UP,"up"],[J.Msg.MIXLY_DOWN,"down"],[J.Msg.MIXLY_LEFT,"left"],[J.Msg.MIXLY_RIGHT,"right"]];this.setColour(MI),this.setOutput(!0,"microbit_image"),this.setInputsInline(!0),this.appendValueInput("img").appendField(J.Msg.DISPLAY_IMAGE_LET).setCheck(["microbit_image","List",String]),this.appendDummyInput("").appendField(J.Msg.DISPLAY_IMAGE_LET2).appendField(new J.FieldDropdown(t),"OP"),this.appendValueInput("val").appendField(J.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(J.Msg.DISPLAY_IMAGE_UNIT);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i=J.Msg.DISPLAY_IMAGE_LET,n=J.Msg.DISPLAY_IMAGE_LET2,s=J.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:J.Msg.MIXLY_UP,down:J.Msg.MIXLY_DOWN,left:J.Msg.MIXLY_LEFT,right:J.Msg.MIXLY_RIGHT}[t]+s}))}},XI={init:function(){var t=[[J.Msg.MICROBIT_DISPLAY_UNION,"+"],[J.Msg.MICROBIT_DISPLAY_MINUS,"-"]];this.setColour(MI),this.setOutput(!0,"microbit_image"),this.appendValueInput("A").appendField(J.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new J.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{"+":J.Msg.MIXLY_MICROBIT_image_add,"-":J.Msg.MIXLY_MICROBIT_image_reduce}[t]}))}},yI={init:function(){this.setColour(MI),this.appendValueInput("TEXT",String).setCheck([String,Number]).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.MIXLY_DF_LCD).appendField("mylcd").appendField(J.Msg.MIXLY_LCD_PRINT1),this.appendValueInput("TEXT2",String).setCheck([String,Number]).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.MIXLY_LCD_PRINT2),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(J.Msg.MIXLY_LCD_PRINT4_TOOLTIP)}},UI={init:function(){this.setColour(MI),this.appendValueInput("device").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.MIXLY_SETUP).appendField(J.Msg.MIXLY_DF_LCD).appendField("1602").appendField("mylcd").appendField(J.Msg.MIXLY_LCD_ADDRESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_SETUP+J.Msg.MIXLY_DF_LCD+J.Msg.MIXLY_LCD_ADDRESS)}},BI={init:function(){this.setColour(MI),this.appendValueInput("row",Number).setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.MIXLY_DF_LCD).appendField("mylcd").appendField(J.Msg.MIXLY_LCD_ROW),this.appendValueInput("column",Number).setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.MIXLY_LCD_COLUMN),this.appendValueInput("TEXT",String).setCheck([String,Number]).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.MIXLY_LCD_PRINT),this.setPreviousStatement(!0,null),this.setInputsInline(!0),this.setNextStatement(!0,null),this.setTooltip(J.Msg.MIXLY_LCD_PRINT3_TOOLTIP)}},wI={init:function(){this.setColour(MI),this.appendDummyInput().appendField(J.Msg.MIXLY_DF_LCD).appendField("mylcd").appendField(new J.FieldDropdown([[J.Msg.MIXLY_ON,"on()"],[J.Msg.MIXLY_OFF,"off()"],[J.Msg.MIXLY_LCD_STAT_CLEAR,"clear()"],[J.Msg.MIXLY_LCD_NOBACKLIGHT,"backlight(False)"],[J.Msg.MIXLY_LCD_BACKLIGHT,"backlight(True)"]]),"STAT"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);var t=this;this.setTooltip((function(){var e=t.getFieldValue("STAT");return J.Msg.LISTS_SET_INDEX_SET+J.Msg.MIXLY_DF_LCD+{"on()":J.Msg.MIXLY_ON,"off()":J.Msg.MIXLY_OFF,"clear()":J.Msg.MIXLY_LCD_STAT_CLEAR,"backlight(off)":J.Msg.MIXLY_LCD_NOBACKLIGHT,"backlight(on)":J.Msg.MIXLY_LCD_BACKLIGHT}[e]}))}},GI={init:function(){this.appendDummyInput().appendField(J.Msg.MIXLY_DF_LCD+" OLED "+J.Msg.OLEDDISPLAY),this.appendValueInput("Text_line1","String").setAlign(J.inputs.Align.RIGHT).appendField("(128*64) "+J.Msg.line1),this.appendValueInput("Text_line2","String").setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.line2),this.appendValueInput("Text_line3","String").setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.line3),this.appendValueInput("Text_line4","String").setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.line4),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(MI),this.setTooltip(J.Msg.MIXLY_DF_LCD+J.Msg.OLEDDISPLAY+J.Msg.MIXLY_MICROBIT_TYPE_STRING)}},kI={init:function(){var t=[[J.Msg.MIXLY_HEIGHT,"height"],[J.Msg.MIXLY_WIDTH,"width"]];this.setColour(MI),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+J.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("microbit_image"),this.appendDummyInput("").appendField(new J.FieldDropdown(t),"OP"),this.setInputsInline(!0),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return J.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+J.Msg.MIXLY_MICROBIT_IMAGE+{height:J.Msg.MIXLY_HEIGHT,width:J.Msg.MIXLY_WIDTH}[t]}))}},HI={init:function(){this.setColour(MI),this.appendValueInput("SUB"),this.appendDummyInput().appendField(new J.FieldDropdown([[J.Msg.MIXLY_LCD_STAT_CLEAR,"0"],[J.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL,"1"]]),"key"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i={0:J.Msg.MIXLY_LCD_STAT_CLEAR,1:J.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL};return J.Msg.MIXLY_DF_LCD+i[e]}))}},xI="#777777",WI={init:function(){this.setColour(xI),this.appendDummyInput("").appendField("from ").appendField(new J.FieldTextInput("microbit"),"path").appendField(" import ").appendField(new J.FieldTextInput("*"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},KI={init:function(){this.setColour(xI),this.appendDummyInput("").appendField("import ").appendField(new J.FieldTextInput("module"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},QI={init:function(){this.setColour(xI),this.appendDummyInput("").appendField(new J.FieldTextInput("my_function"),"NAME"),this.itemCount_=1,this.arguments_=["x"],this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new J.icons.MutatorIcon(["factory_create_with_item"],this))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("items",this.itemCount_);for(var e=0;e0)var u="rgb_show.mixly_rgb_show("+(i-1)+", "+s+", "+o+", "+_+")\n";else u="rgb_show.mixly_rgb_show_all("+s+", "+o+", "+_+")\n";return u},MM=function(t,e){var i=this.getFieldValue("LED");if(e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_neopixel="import neopixel",e.definitions_.import_rgb_show="import rgb_show",i>0)var n="rgb_show.mixly_rgb_show("+(i-1)+", 0, 0, 0)\n";else n="rgb_show.mixly_rgb_show_all(0, 0, 0)\n";return n},OM=function(t,e){var i=e.valueToCode(this,"_LED_",e.ORDER_ATOMIC),n=e.valueToCode(this,"RVALUE",e.ORDER_ATOMIC),s=e.valueToCode(this,"GVALUE",e.ORDER_ATOMIC),o=e.valueToCode(this,"BVALUE",e.ORDER_ATOMIC);return e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_neopixel="import neopixel",e.definitions_.import_rgb_show="import rgb_show","rgb_show.mixly_rgb_show("+i+", "+n+", "+s+", "+o+")\n"},mM=function(t,e){var i=this.getFieldValue("NUMBER"),n=e.valueToCode(this,"SPEED",e.ORDER_ATOMIC),s=this.getFieldValue("DIRECTION");if(e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_motor_control="import motor_control",0==i)var o="motor_control.motor1("+n+", "+s+")\nmotor_control.motor2("+n+", "+s+")\nmotor_control.motor3("+n+", "+s+")\n";else if(1==i)o="motor_control.motor1("+n+", "+s+")\n";else if(2==i)o="motor_control.motor2("+n+", "+s+")\n";else if(3==i)o="motor_control.motor3("+n+", "+s+")\n";return o},cM=function(t,e){var i=this.getFieldValue("NUMBER");if(e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_motor_control="import motor_control",0==i)var n="motor_control.motor1(0)\nmotor_control.motor2(0)\nmotor_control.motor3(0)\n";else if(1==i)n="motor_control.motor1(0)\n";else if(2==i)n="motor_control.motor2(0)\n";else if(3==i)n="motor_control.motor3(0)\n";return n},EM=function(t,e){return["pin"+this.getFieldValue("NUMBER")+".read_analog()",e.ORDER_ATOMIC]},RM=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";var i=e.valueToCode(this,"btn",e.ORDER_ATOMIC);e.setups_["on_"+i]="def on_"+i+"():\n while True:\n if "+i+".was_pressed():\n yield callback_"+i+"()\n else:\n yield\n\nfunc_"+i+" = on_"+i+"()\n";var n=e.statementToCode(t,"DO");n=e.addLoopTrap(n,t.id)||e.PASS;return e.loops_[i+"_loop"]=" next(func_"+i+")\n","def callback_"+i+"():\n"+n},gM=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";var i=this.getFieldValue("gesture");e.setups_["on_"+i]="def on_gesture_"+i+'():\n while True:\n if accelerometer.is_gesture("'+i+'"):\n yield callback_gesture_'+i+"()\n else:\n yield\n\nfunc_gesture_"+i+" = on_gesture_"+i+"()\n";var n=e.statementToCode(t,"DO");n=e.addLoopTrap(n,t.id)||e.PASS;return e.loops_[i+"_loop"]=" next(func_gesture_"+i+")\n","def callback_gesture_"+i+"():\n"+n},CM=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";var i=this.getFieldValue("near");e.setups_["on_"+i]="def on_near_"+i+"():\n while True:\n if not pin"+i+".read_digital():\n yield callback_near_"+i+"()\n else:\n yield\n\nfunc_near_"+i+" = on_near_"+i+"()\n";var n=e.statementToCode(t,"DO");n=e.addLoopTrap(n,t.id)||e.PASS;return e.loops_[i+"_loop"]=" next(func_near_"+i+")\n","def callback_near_"+i+"():\n"+n},AM=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";var i=e.valueToCode(this,"TIMES",e.ORDER_ATOMIC),n=e.statementToCode(t,"DO");return"for _my_variable in range("+i+"):\n"+(n=e.addLoopTrap(n,t.id)||e.PASS)},LM=function(t,e){return[this.getFieldValue("PIN"),e.ORDER_ATOMIC]},SM=LM,DM=LM,NM=LM,fM=LM,PM=LM,FM=LM,vM=LM,YM=LM,VM=LM,bM=LM,XM=LM,yM=LM,UM=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",[e.valueToCode(this,"btn",e.ORDER_ATOMIC)+".is_pressed()",e.ORDER_ATOMIC]},BM=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",[e.valueToCode(this,"btn",e.ORDER_ATOMIC)+".was_pressed()",e.ORDER_ATOMIC]},wM=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",[e.valueToCode(this,"btn",e.ORDER_ATOMIC)+".get_presses()",e.ORDER_ATOMIC]},GM=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",['"'+this.getFieldValue("gesture")+'"',e.ORDER_ATOMIC]},kM=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",'if accelerometer.is_gesture("'+this.getFieldValue("gesture")+'"):\n'+(e.statementToCode(this,"DO")||e.PASS)},HM=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",['accelerometer.is_gesture("'+this.getFieldValue("gesture")+'")',e.ORDER_ATOMIC]},xM=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",['accelerometer.was_gesture("'+this.getFieldValue("gesture")+'")',e.ORDER_ATOMIC]},WM=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",'if accelerometer.was_gesture("'+this.getFieldValue("gesture")+'"):\n'+(e.statementToCode(this,"DO")||e.PASS)},KM=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";var i,n=this.getFieldValue("GES");return"all"==n?i="accelerometer.get_gestures()":"current"==n&&(i="accelerometer.current_gesture()"),[i,e.ORDER_ATOMIC]},QM=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",["accelerometer.current_gesture()",e.ORDER_ATOMIC]},jM=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",["accelerometer.get_"+this.getFieldValue("key")+"()",e.ORDER_ATOMIC]},JM=function(){return"input.setAccelerometerRange("+this.getFieldValue("key")+")\n"},qM=function(t,e){return["input.lightLevel()",e.ORDER_ATOMIC]},zM=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","compass.calibrate()\n"},ZM=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",["compass.is_calibrated()",e.ORDER_ATOMIC]},$M=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",["compass.heading()",e.ORDER_ATOMIC]},tO=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",["temperature()",e.ORDER_ATOMIC]},eO=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",["compass."+this.getFieldValue("compass")+"()",e.ORDER_ATOMIC]},iO=function(t,e){return["input.rotation("+this.getFieldValue("key")+")",e.ORDER_ATOMIC]},nO=function(t,e){return["input.magneticForce("+this.getFieldValue("key")+")",e.ORDER_ATOMIC]},sO=function(t,e){var i=this.getFieldValue("Trig"),n=this.getFieldValue("Echo");return e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_ultrasonic="import ultrasonic",["ultrasonic.distance_cm(t_pin=pin"+i+", e_pin=pin"+n+")",e.ORDER_ATOMIC]},oO=function(t,e){var i=this.getFieldValue("Trig"),n=this.getFieldValue("Echo");return e.definitions_["import_microbit_*"]="from microbit import *",e.setups_.class_hrsc04_="class HCSR04:\n def __init__(self, tpin=pin"+i+", epin=pin"+n+', spin=pin13):\n self.trigger_pin = tpin\n self.echo_pin = epin\n self.sclk_pin = spin\n\n def distance_mm(self):\n spi.init(baudrate=125000, sclk=self.sclk_pin,\n mosi=self.trigger_pin, miso=self.echo_pin)\n pre = 0\n post = 0\n k = -1\n length = 500\n resp = bytearray(length)\n resp[0] = 0xFF\n spi.write_readinto(resp, resp)\n # find first non zero value\n try:\n i, value = next((ind, v) for ind, v in enumerate(resp) if v)\n except StopIteration:\n i = -1\n if i > 0:\n pre = bin(value).count("1")\n # find first non full high value afterwards\n try:\n k, value = next((ind, v)\n for ind, v in enumerate(resp[i:length - 2]) if resp[i + ind + 1] == 0)\n post = bin(value).count("1") if k else 0\n k = k + i\n except StopIteration:\n i = -1\n dist= -1 if i < 0 else round((pre + (k - i) * 8. + post) * 8 * 0.172)\n return dist\n\n def distance_cm(self):\n return self.distance_mm() / 10.0\n\nsonar=HCSR04()\n\n',["sonar.distance_cm()",e.ORDER_ATOMIC]},_O=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_RTC="from RTC import *"},uO=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_RTC="from RTC import *";var i=this.getFieldValue("TIME_TYPE");switch(i){case"Year":case"Month":case"Day":case"Hour":case"Minute":case"Second":case"Week":return["ds."+i+"()",e.ORDER_ASSIGNMENT];case"Mix1":return["ds.get_date()",e.ORDER_ASSIGNMENT];case"Mix2":return["ds.get_time()",e.ORDER_ASSIGNMENT]}},aO=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_RTC="from RTC import *","ds.set_time("+e.valueToCode(this,"hour",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"minute",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"second",e.ORDER_ASSIGNMENT)+")\n"},rO=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_RTC="from RTC import *","ds.set_date("+e.valueToCode(this,"year",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"month",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"day",e.ORDER_ASSIGNMENT)+")\n"},pO=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","compass.clear_calibration()\n"},lO=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",["display.read_light_level()",e.ORDER_ATOMIC]},IO=function(t,e){var i=this.getFieldValue("Trig"),n=this.getFieldValue("Echo");return e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_ultrasonic="from ultrasonic import *","sonar = HCSR04(tpin=pin"+i+", epin=pin"+n+")\n"},TO=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_TCS="from TCS import *",["tcs.getRawRGBData("+this.getFieldValue("TCS34725_COLOR")+")",e.ORDER_ATOMIC]},dO=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","uart.write(str("+(e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC)||'""')+"))\n"},hO=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","uart.write(str("+(e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC)||'""')+")+'\\r\\n')\n"},MO=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","uart.write(str(hex("+(e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC)||"0")+")) + '\\r\\n')\n"},OO=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";var i=e.valueToCode(this,"char_marker",e.ORDER_ATOMIC)||";",n=e.statementToCode(this,"DO");e.definitions_["func_serial_receive_data_event_"+i.charCodeAt(1)]="serial.onDataReceived("+i+", () => {\n"+n+"}\n"},mO=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";return["uart.any()",e.ORDER_ATOMIC]},cO=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";return["uart.read()",e.ORDER_ATOMIC]},EO=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";return["uart.readline()",e.ORDER_ATOMIC]},RO=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",["serial.readUntil("+this.getFieldValue("char_marker")+")",e.ORDER_ATOMIC]},gO=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";var i=e.valueToCode(this,"RX",e.ORDER_ATOMIC),n=e.valueToCode(this,"TX",e.ORDER_ATOMIC);return isNaN(parseInt(i))||(i="pin"+i),isNaN(parseInt(n))||(n="pin"+n),"uart.init(rx="+i+", tx="+n+", baudrate="+this.getFieldValue("baudrate")+")\n"},CO=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","uart.init(baudrate="+this.getFieldValue("baudrate")+")\n"},AO=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",["input("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||'""')+")",e.ORDER_ATOMIC]},LO=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","print("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||'""')+")\n"},SO=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","print("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||'""')+',end ="")\n'},DO=function(t,e){return"control.inBackground(() => {\n"+e.statementToCode(this,"do")+"})\n"},NO=function(){return"control.reset()\n"},fO=function(t,e){return"control.waitMicros("+(e.valueToCode(this,"data",e.ORDER_ATOMIC)||q.Profile.default.serial)+")\n"},PO=function(t,e){return"control.raiseEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||q.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||q.Profile.default.serial)+")\n"},FO=function(t,e){return"control.onEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||q.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||q.Profile.default.serial)+", () => {\n"+e.statementToCode(this,"do")+")\n"},vO=function(t,e){return["control.eventTimestamp()",e.ORDER_ATOMIC]},YO=function(t,e){return["control.eventValue()",e.ORDER_ATOMIC]},VO=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},bO=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},XO=function(t,e){return["control.deviceName()",e.ORDER_ATOMIC]},yO=function(t,e){return["control.deviceSerialNumber()",e.ORDER_ATOMIC]},UO=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","sleep("+(e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000")+")\n"},BO=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","panic("+(e.valueToCode(this,"STATUS_CODE",e.ORDER_ATOMIC)||"1000")+")\n"},wO=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";return["running_time()",e.ORDER_ATOMIC]},GO=function(){return"while True:\n pass\n"},kO=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","reset()\n"},HO=function(t,e){return e.definitions_.import_os="import os",["os.uname()",e.ORDER_ATOMIC]};Object.assign(J.Variables,Z),Object.assign(J.Procedures,dr),J.Python=hr,J.generator=hr,q.Profile.default={},Object.assign(q.Profile,gl),Object.assign(q.Profile.default,gl.microbit),Object.assign(J.Blocks,e,i,n,s,o,_,u,a,r,p,l,I,T,D,f,P,F,F,v,Y,V,b,X,y,U),Object.assign(J.Python.forBlock,d,h,M,O,m,c,E,R,g,C,A,L,S,N,B,w,G,G,k,H,x,W,K,Q,j)})(); \ No newline at end of file +class ${constructor(t,e){if(this.variablePrefix_=e||"",this.reservedDict_=Object.create(null),t)for(var i=t.split(","),n=0;n0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(J.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+s).appendField(J.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(J.Msg.CONTROLS_IF_MSG_ELSE);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_if_if");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_if_elseif");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var o=t.newBlock("controls_if_else");o.initSvg(),i.connect(o.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],o=null;i;){switch(i.type){case"controls_if_elseif":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_if_else":this.elseCount_++,o=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,o)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_if_elseif":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_if_else":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),o=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(o.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(J.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+t).appendField(J.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(J.Msg.CONTROLS_IF_MSG_ELSE)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},mt={init:function(){this.setColour(It),this.appendValueInput("FROM").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.PYTHON_RANGE).appendField(J.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.PYTHON_RANGE_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(J.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},ct={init:function(){this.setColour(It),this.appendValueInput("LIST").setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.CONTROLS_FOREACH_INPUT),this.appendValueInput("VAR").appendField(J.Msg.CONTROLS_FOREACH_INPUT_ITEM),this.appendStatementInput("DO").appendField(J.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip((function(){return J.Msg.CONTROLS_FOR_TOOLTIP.replace("“%1”","")}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){J.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Et={init:function(){this.setColour(It),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(J.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(new J.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(J.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT+J.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return{WHILE:J.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:J.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[e]}))}},Rt={init:function(){this.setColour(It),this.appendDummyInput().appendField(J.Msg.MIXLY_PYTHON_TRY),this.appendStatementInput("try"),this.appendValueInput("IF1").appendField(J.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO1").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new J.icons.MutatorIcon(["controls_except","controls_finally"],this)),this.setTooltip(J.Msg.MIXLY_MIXPY_CONTROL_TRY_TOOLTIP),this.elseifCount_=1,this.elseCount_=0},mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var t=document.createElement("mutation");return this.elseifCount_&&t.setAttribute("elseif",this.elseifCount_),this.elseCount_&&t.setAttribute("else",1),t},domToMutation:function(t){var e=this,i=[],n=[];this.elseCount_&&this.removeInput("ELSE");for(var s=this.elseifCount_;s>0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(J.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+s).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(J.Msg.MIXLY_PYTHON_FINALLY);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_try");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_except");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var o=t.newBlock("controls_finally");o.initSvg(),i.connect(o.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],o=null;i;){switch(i.type){case"controls_except":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_finally":this.elseCount_++,o=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,o)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_except":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_finally":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),o=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(o.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(J.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+t).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(J.Msg.MIXLY_PYTHON_FINALLY)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},gt={init:function(){this.setColour(It);var t=new J.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(t,"FLOW").appendField(J.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0),this.setTooltip(J.Msg.MIXLY_PYTHON_CONTROLS_FLOW_STATEMENTS_TOOLTIP);var e=this;this.setTooltip((function(){var t=e.getFieldValue("FLOW");return{BREAK:J.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:J.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}[t]}))},onchange:function(){if(this.workspace){var t=!1,e=this;do{if("controls_repeat"==e.type||"controls_for"==e.type||"controls_forEach"==e.type||"controls_repeat_ext"==e.type||"controls_whileUntil"==e.type||"do_while"==e.type){t=!0;break}e=e.getSurroundParent()}while(e);t?this.setWarningText(null):this.setWarningText(J.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}},Ct={init:function(){this.setColour(It),this.appendDummyInput().appendField(J.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new J.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(J.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return J.Msg.CONTROLS_FOR_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){J.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},At={init:function(){this.setColour(It),this.appendDummyInput().appendField(J.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new J.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(J.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return J.Msg.MIXLY_PYTHON_CONTROLS_FOR_RANGE_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){J.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}};Et.OPERATORS=[[J.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[J.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]],gt.OPERATORS=[[J.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[J.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const Lt={init:function(){this.setColour(It),this.appendDummyInput().appendField(J.Msg.CONTROLS_IF_IF_TITLE_IF),this.appendStatementInput("STACK"),this.setTooltip(J.Msg.CONTROLS_IF_IF_TOOLTIP),this.contextMenu=!1}},St={init:function(){this.setColour(It),this.appendDummyInput().appendField(J.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(J.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},Dt={init:function(){this.setColour(It),this.appendDummyInput().appendField(J.Msg.CONTROLS_IF_ELSE_TITLE_ELSE),this.setPreviousStatement(!0),this.setTooltip(J.Msg.CONTROLS_IF_ELSE_TOOLTIP),this.contextMenu=!1}},Nt={init:function(){this.setColour(It),this.appendDummyInput().appendField("try"),this.appendStatementInput("STACK"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.contextMenu=!1}},ft={init:function(){this.setColour(It),this.appendDummyInput().appendField(J.Msg.MIXLY_PYTHON_EXCEPT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1,this.setTooltip(J.Msg.MIXLY_MIXPY_CONTROL_EXCEPT_TOOLTIP)}},Pt={init:function(){this.setColour(It),this.appendDummyInput().appendField(J.Msg.MIXLY_PYTHON_FINALLY),this.setPreviousStatement(!0),this.contextMenu=!1,this.setTooltip(J.Msg.MIXLY_MIXPY_CONTROL_FINALLY_TOOLTIP)}},Ft={init:function(){this.jsonInit({message0:J.Msg.CONTROLS_REPEAT_TITLE,args0:[{type:"input_value",name:"TIMES"}],previousStatement:null,nextStatement:null,colour:It,tooltip:J.Msg.CONTROLS_REPEAT_TOOLTIP,helpUrl:J.Msg.CONTROLS_REPEAT_HELPURL}),this.appendStatementInput("DO")}},vt={init:function(){this.setColour(It),this.appendValueInput("BOOL").appendField("lambda"),this.appendStatementInput("DO").appendField(J.Msg.MIXLY_STAT),this.setOutput(!0)}},Yt={init:function(){this.setColour(It),this.appendDummyInput().appendField(J.Msg.MIXLY_PYTHON_PASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(J.Msg.MIXLY_PYTHON_CONTROLS_PASS_TOOLTIP)}},Vt={init:function(){this.setColour(It),this.appendDummyInput().appendField(J.Msg.MIXLY_PYTHON_CONTROLS_THREAD_START),this.appendValueInput("callback").appendField(J.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.appendValueInput("VAR").appendField(J.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_PYTHON_CONTROLS_THREAD_TOOLTIP)}},bt={init:function(){this.appendDummyInput().appendField(J.Msg.CONTROLS_REPEAT_TITLE_REPEAT+J.Msg.MIXLY_DO),this.appendStatementInput("input_data").setCheck(null),this.appendValueInput("select_data").setCheck(null).appendField(J.Msg.CONTROLS_OPERATOR_UNTIL).appendField(new J.FieldDropdown([[J.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"true"],[J.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"false"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(It),this.setTooltip("do-while loop"),this.setHelpUrl("")}},Xt={init:function(){this.setColour(It),this.appendDummyInput().appendField(J.Msg.MIXLY_OP_GARBAGE_COLLECT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},yt={init:function(){this.setColour(It),this.appendDummyInput().appendField(J.Msg.MIXLY_GET_MEM_ALLOC),this.setOutput(!0)}},Ut={init:function(){this.setColour(It),this.appendDummyInput().appendField(J.Msg.MIXLY_GET_MEM_FREE),this.setOutput(!0)}},Bt={init:function(){this.setColour(It),this.appendDummyInput().appendField(J.Msg.MIXLY_GET+J.Msg.MIXLY_DEVICE+"ID"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(J.Msg.PROCEDURES_DEFRETURN_RETURN+J.Msg.MIXLY_GET_UNIQUE_IDEN)}},wt={init:function(){this.setColour(It),this.appendValueInput("VAR").appendField(J.Msg.MIXLY_RTC_TIMESTAMP),this.appendDummyInput().appendField(J.Msg.MIXLY_TIMESTAMP_TO_DATA),this.setInputsInline(!0),this.setOutput(!0,Number)}},Gt={init:function(){this.setColour(It),this.appendDummyInput().appendField(J.Msg.MIXLY_GET_UNIQUE_IDEN),this.setOutput(!0)}},kt=230;J.FieldTextInput.math_number_validator=function(t){return String(t)},J.FieldTextInput.math_number_validator_include_blank=function(t){if(""===t)return"";return/^-?(0X|0x|0O|0o|0B|0b)?[a-fA-F0-9]{1,}(\.[a-fA-F0-9]+)?$/.test(t)?String(t):null};const Ht={init:function(){this.setColour(kt),this.appendDummyInput().appendField(new J.FieldTextInput("0",J.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(J.Msg.MATH_NUMBER_TOOLTIP)}},xt={init:function(){this.setColour(kt);this.appendDummyInput("").appendField(J.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new J.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:J.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_TOOLTIP,e:J.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_TOOLTIP}[e]}))}},Wt={init:function(){this.setColour(kt);this.appendDummyInput("").appendField(J.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new J.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:J.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_MP_TOOLTIP,e:J.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_MP_TOOLTIP}[e]}))}},Kt={init:function(){this.setColour(kt),this.setOutput(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new J.FieldDropdown([["+","ADD"],["-","MINUS"],["×","MULTIPLY"],["÷","DIVIDE"],["%","QUYU"],["//","ZHENGCHU"],["**","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:J.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:J.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:J.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:J.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:J.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:J.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:J.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},Qt={init:function(){this.setColour(kt),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new J.FieldDropdown([["+=","ADD"],["-=","MINUS"],["×=","MULTIPLY"],["÷=","DIVIDE"],["%=","QUYU"],["//=","ZHENGCHU"],["**=","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:J.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:J.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:J.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:J.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:J.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:J.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:J.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},jt={init:function(){this.setColour(kt),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new J.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},Jt={init:function(){this.setColour(kt),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new J.FieldDropdown([["sin","SIN"],["cos","COS"],["tan","TAN"],["asin","ASIN"],["acos","ACOS"],["atan","ATAN"],["-","-"],["ln","LN"],["log10","LOG10"],["e^","EXP"],["10^","POW10"]]),"OP");var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{SIN:J.Msg.MATH_TRIG_TOOLTIP_SIN,COS:J.Msg.MATH_TRIG_TOOLTIP_COS,TAN:J.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:J.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:J.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:J.Msg.MATH_TRIG_TOOLTIP_ATAN,LN:J.Msg.MATH_SINGLE_TOOLTIP_LN}[e]}))}},qt={init:function(){var t=[[J.Msg.MATH_BIN,"bin"],[J.Msg.MATH_OCT,"oct"],[J.Msg.MATH_HEX,"hex"]];this.setColour(kt),this.setOutput(!0,String),this.appendValueInput("NUM").setCheck(Number).appendField(new J.FieldDropdown(t),"OP");var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{bin:J.Msg.MATH_DEC_TOOLTIP_BIN,oct:J.Msg.MATH_DEC_TOOLTIP_OCT,hex:J.Msg.MATH_DEC_TOOLTIP_HEX}[t]}))}},zt={init:function(){var t=[[J.Msg.LANG_MATH_TO_ROUND,"round"],[J.Msg.LANG_MATH_TO_CEIL,"ceil"],[J.Msg.LANG_MATH_TO_FLOOR,"floor"],[J.Msg.MATH_ABS,"fabs"],[J.Msg.MATH_SQRT,"sqrt"]];this.setColour(kt),this.appendValueInput("A").setCheck(Number).appendField(new J.FieldDropdown(t),"OP"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{sqrt:J.Msg.MATH_SINGLE_TOOLTIP_ROOT,fabs:J.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:J.Msg.MATH_SINGLE_TOOLTIP_SQ,round:J.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:J.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:J.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[t]}))}},Zt={init:function(){var t=[[J.Msg.MIXLY_MAX,"max"],[J.Msg.MIXLY_MIN,"min"]];this.setColour(kt),this.appendValueInput("A").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(new J.FieldDropdown(t),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(J.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{max:J.Msg.MIXLY_TOOLTIP_MATH_MAX,min:J.Msg.MIXLY_TOOLTIP_MATH_MIN}[t]}))}},$t={init:function(){var t=[[J.Msg.MATH_TWO,"two"],[J.Msg.MATH_EIGHT,"eight"],[J.Msg.MATH_TEN,"ten"],[J.Msg.MATH_SIXTEEN,"sixteen"]];this.setColour(kt),this.appendDummyInput("").appendField(J.Msg.MATH_BA),this.appendValueInput("NUM").appendField(new J.FieldDropdown(t),"OP").appendField(J.Msg.MATH_JinZhi).setCheck(Number),this.appendDummyInput("").appendField(J.Msg.MATH_ZHW).appendField(new J.FieldDropdown(t),"OP2").appendField(J.Msg.MATH_JinZhi),this.setFieldValue("ten","OP2"),this.setOutput(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i={two:J.Msg.MATH_Before_two,eight:J.Msg.MATH_Before_eight,ten:J.Msg.MATH_Before_ten,sixteen:J.Msg.MATH_Before_sixteen},n=e.getFieldValue("OP2"),s={two:J.Msg.MATH_Behind_two,eight:J.Msg.MATH_Behind_eight,ten:J.Msg.MATH_Behind_ten,sixteen:J.Msg.MATH_Behind_sixteen};return i[t]+s[n]}))}},te={init:function(){var t=[[J.Msg.LANG_MATH_INT,"int"],[J.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(kt),this.setOutput(!0,Number),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_RANDOM).appendField(new J.FieldDropdown(t),"TYPE"),this.appendValueInput("FROM").setCheck(Number).appendField(J.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TYPE"),i={int:J.Msg.LANG_MATH_INT,float:J.Msg.LANG_MATH_FLOAT_RANDOM};return J.Msg.MATH_RANDOM_INT_TOOLTIP+i[t]}))}},ee={init:function(){this.setColour(kt),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(J.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(J.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(J.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(J.Msg.MATH_CONSTRAIN_TOOLTIP)}},ie={init:function(){this.setColour(kt),this.appendValueInput("NUM",Number).appendField(J.Msg.MIXLY_MAP).setCheck(Number),this.appendValueInput("fromLow",Number).appendField(J.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(J.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(J.Msg.MIXLY_TOOLTIP_MATH_MAP)}},ne={init:function(){this.setColour(kt),this.appendDummyInput().appendField(new J.FieldTextInput("0",J.FieldTextInput.math_number_validator_include_blank),"NUM"),this.setOutput(!0),this.setTooltip(J.Msg.MATH_NUMBER_TOOLTIP)}},se={init:function(){this.setColour(kt),this.appendValueInput("NUM").setCheck(Number).appendField(J.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(J.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED)}},oe={init:function(){this.setColour(kt),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number),this.appendValueInput("VAR").setCheck(Number).appendField(J.Msg.MATH_ROUND).appendField(J.Msg.TEXT_KEEP),this.appendDummyInput().appendField(J.Msg.TEXT_DECIMAL),this.setInputsInline(!0),this.setTooltip(J.Msg.MATH_ROUND_NEW_TOOLTIP)}},_e={init:function(){var t=[[J.Msg.MIXLY_TO_INT,"int"],[J.Msg.MIXLY_TO_FLOAT,"float"],[J.Msg.MIXLY_TO_BITES,"b"],[J.Msg.LANG_MATH_BYTE+J.Msg.MIXLY_TO_INT,"bti"]];this.setColour(kt),this.appendValueInput("VAR").appendField(new J.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:J.Msg.MIXLY_PYTHON_TOOLTIP_TOINT,float:J.Msg.MIXLY_PYTHON_TOOLTIP_TOFLOAT,b:J.Msg.MIXLY_TOOLTIP_TEXT_TOBYTE}[t]}))}},ue={init:function(){var t=[[J.Msg.MIXLY_TO_INT,"int"],[J.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(kt),this.appendValueInput("VAR").appendField(new J.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:J.Msg.MIXLY_TOOLTIP_TEXT_TOINT,float:J.Msg.MIXLY_TOOLTIP_TEXT_TOFLOAT}[t]}))}},ae=ie,re={init:function(){this.setColour(kt),this.appendValueInput("VAR").appendField(J.Msg.LANG_MATH_BYTE+J.Msg.MIXLY_TO_HEX),this.setOutput(!0,Number),this.setTooltip(J.Msg.MIXLY_PYTHON_TOOLTIP_TOHEX)}},pe={init:function(){this.setColour(kt),this.itemCount_=1,this.setMutator(new J.icons.MutatorIcon(["lists_create_with_item"],this)),this.appendDummyInput("DUMMY").appendField(J.Msg.MIXLY_PRODUCT+J.Msg.MIXLY_GENERATE_CARTESIAN_PRODUCT),this.appendValueInput("REPEAT").appendField(J.Msg.MIXLY_EVERY_PER_ELEPER_ELEMENT),this.appendDummyInput().appendField(J.Msg.CONTROLS_REPEAT_TITLE_TIMES),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0),this.setTooltip(J.Msg.LISTS_CREATE_WITH_PYTHON_TOOLTIP),this.updateShape_()},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("lists_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n1&&"\\"===t.charAt(0)){var e=t.charAt(1);if("0"===e||"b"===e||"f"===e||"n"===e||"r"===e||"t"===e||"\\"===e||"'"===e)return String(t).substring(0,2);if("x"===e&&"0"===t.charAt(2)&&"B"===t.charAt(3))return String(t).substring(0,4)}return String(t).substring(0,1)};const Oe={init:function(){this.setColour(Te),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new J.FieldTextInput("",J.FieldTextInput.char_validator),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,Number),this.setTooltip(J.Msg.TEXT_CHAR_TOOLTIP)},newQuote_:function(t){if(1==t)var e="../../media/quote2.png";else e="../../media/quote3.png";return new J.FieldImage(e,7,12,'"')}},me={init:function(){this.setColour(Te),this.appendValueInput("A").setCheck([String,Number]),this.appendValueInput("B").setCheck([String,Number]).appendField(J.Msg.MIXLY_TEXT_JOIN),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(J.Msg.MIXLY_TOOLTIP_TEXT_JOIN)}},ce={init:function(){this.setColour(Te),this.appendValueInput("VAR").setCheck(Number).appendField(J.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(J.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},Ee={init:function(){this.setColour(Te),this.appendValueInput("VAR").setCheck(String).appendField(J.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(J.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},Re={init:function(){this.setColour(Te),this.appendValueInput("VAR").appendField(J.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(J.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},ge={init:function(){this.setColour(Te),this.appendValueInput("VAR").appendField(J.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(J.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},Ce={init:function(){this.WHERE_OPTIONS=[[J.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[J.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[J.Msg.TEXT_GET_INDEX_RANDOM+1+J.Msg.TEXT_CHARAT2,"RANDOM"]],this.setHelpUrl(J.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Te),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number),this.appendDummyInput().appendField(J.Msg.LISTS_GET_INDEX_GET,"MODE"),J.Msg.LISTS_GET_INDEX_TAIL&&this.appendDummyInput("TAIL").appendField(J.Msg.LISTS_GET_INDEX_TAIL),this.setInputsInline(!0),this.setOutput(!0),this.updateAt_(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=t.getFieldValue("WHERE"),n="";switch(e+" "+i){case"GET FROM_START":case"GET FROM_END":n=J.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM;break;case"GET RANDOM":n=J.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM;break;case"GET_REMOVE FROM_START":case"GET_REMOVE FROM_END":n=J.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM;break;case"GET_REMOVE RANDOM":n=J.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM}return"FROM_START"!=i&&"FROM_END"!=i||(n+=" "+J.Msg.LISTS_INDEX_FROM_START_TOOLTIP.replace("%1",J.Msg.ONE_BASED_INDEXING?"#1":"#0")),n}));var e=this;this.setTooltip((function(){var t=e.getFieldValue("WHERE"),i={FROM_START:J.Msg.LISTS_GET_INDEX_FROM_START,FROM_END:J.Msg.LISTS_GET_INDEX_FROM_END,RANDOM:J.Msg.TEXT_GET_INDEX_RANDOM};return J.Msg.PROCEDURES_DEFRETURN_RETURN+J.Msg.MIXLY_MICROBIT_TYPE_STRING+i[t]+"n"+J.Msg.TEXT_CHARAT2}))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("statement",!this.outputConnection);var e=this.getInput("AT").type==J.INPUT_VALUE;return t.setAttribute("at",e),t},domToMutation:function(t){var e="true"==t.getAttribute("statement");this.updateStatement_(e),t="false"!=t.getAttribute("at"),this.updateAt_(t)},updateStatement_:function(t){t!=!this.outputConnection&&(this.unplug(!0,!0),t?(this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)):(this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)))},updateAt_:function(t){this.removeInput("AT"),this.removeInput("ORDINAL",!0),t?(this.appendValueInput("AT").setCheck(Number),J.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL").appendField(J.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT");var e=new J.FieldDropdown(this.WHERE_OPTIONS,(function(e){var i="FROM_START"==e||"FROM_END"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT").appendField(e,"WHERE"),J.Msg.LISTS_GET_INDEX_TAIL&&this.moveInputBefore("TAIL",null)}},Ae={init:function(){this.setHelpUrl(J.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Te),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number).appendField(J.Msg.LISTS_GET_INDEX_GET+" "+J.Msg.LISTS_GET_INDEX_FROM_START),this.appendDummyInput().appendField(J.Msg.TEXT_CHARAT2),this.setOutput(!0),this.setTooltip(J.Msg.PROCEDURES_DEFRETURN_RETURN+J.Msg.MIXLY_MICROBIT_TYPE_STRING+J.Msg.LISTS_GET_INDEX_FROM_START+"n"+J.Msg.TEXT_CHARAT2)}},Le={init:function(){this.setHelpUrl(J.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Te),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(J.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(J.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},Se={init:function(){this.WHERE_OPTIONS_1=[[J.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[J.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[J.Msg.LISTS_GET_SUBLIST_START_FIRST,"FIRST"]],this.WHERE_OPTIONS_2=[[J.Msg.LISTS_GET_SUBLIST_END_FROM_START,"FROM_START"],[J.Msg.LISTS_GET_SUBLIST_END_FROM_END,"FROM_END"],[J.Msg.LISTS_GET_SUBLIST_END_LAST,"LAST"]],this.setHelpUrl(J.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Te),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput("").appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput("AT1"),this.appendDummyInput("AT2"),this.setInputsInline(!0),this.setOutput(!0,"List"),this.updateAt_(1,!0),this.updateAt_(2,!0),this.setTooltip(J.Msg._GET_TEXT_SUBLIST_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT1").type==J.INPUT_VALUE;t.setAttribute("at1",e);var i=this.getInput("AT2").type==J.INPUT_VALUE;return t.setAttribute("at2",i),t},domToMutation:function(t){var e="true"==t.getAttribute("at1"),i="true"==t.getAttribute("at2");this.updateAt_(1,e),this.updateAt_(2,i)},updateAt_:function(t,e){this.removeInput("AT"+t),this.removeInput("ORDINAL"+t,!0),e?(this.appendValueInput("AT"+t).setCheck(Number),J.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL"+t).appendField(J.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT"+t);var i=new J.FieldDropdown(this["WHERE_OPTIONS_"+t],(function(i){var n="FROM_START"==i||"FROM_END"==i;if(n!=e){var s=this.sourceBlock_;return s.updateAt_(t,n),s.setFieldValue(i,"WHERE"+t),null}}));this.getInput("AT"+t).appendField(i,"WHERE"+t),1==t&&(this.moveInputBefore("AT1","AT2"),this.getInput("ORDINAL1")&&this.moveInputBefore("ORDINAL1","AT2"))}},De={init:function(){this.setHelpUrl(J.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Te),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT1").appendField(J.Msg.LISTS_GET_INDEX_GET+" "+J.Msg.LISTS_GET_INDEX_FROM_START),this.appendValueInput("AT2").appendField(J.Msg.LISTS_GET_SUBLIST_END_FROM_START),this.appendDummyInput().appendField(J.Msg.TEXT_CHARAT2),this.setInputsInline(!0),this.setOutput(!0,["List",String]),this.setTooltip(J.Msg._GET_TEXT_SUBLIST_TOOLTIP)}},Ne={init:function(){var t=[[J.Msg.MIXLY_EQUALS,"==="],[J.Msg.MIXLY_STARTSWITH,"startswith"],[J.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(Te),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new J.FieldDropdown(t),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},fe={init:function(){this.setColour(Te),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(J.Msg.MIXLY_COMPARETO).setCheck(String),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_COMPARETO_HELP)}},Pe={init:function(){var t=[[J.Msg.TEXT_UPPER,"upper"],[J.Msg.TEXT_TITLE,"title"],[J.Msg.TEXT_CAPITALIZE,"capitalize"],[J.Msg.TEXT_SWAPCASE,"swapcase"],[J.Msg.TEXT_LOWER,"lower"]];this.setColour(Te),this.appendValueInput("VAR").appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new J.FieldDropdown(t),"CAPITAL").setCheck(String),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CAPITAL");return{upper:J.Msg.MIXLY_MIXPY_TEXT_UPPER_TOOLTIP,title:J.Msg.MIXLY_MIXPY_TEXT_TITLE_TOOLTIP,swapcase:J.Msg.MIXLY_MIXPY_TEXT_SWAPCASE_TOOLTIP,capitalize:J.Msg.MIXLY_MIXPY_TEXT_CAPITALIZE_TOOLTIP,lower:J.Msg.MIXLY_MIXPY_TEXT_LOWER_TOOLTIP}[t]}))}},Fe={init:function(){var t=[[J.Msg.TEXT_LJUST,"ljust"],[J.Msg.TEXT_CENTER,"center"],[J.Msg.TEXT_RJUST,"rjust"]];this.setColour(Te),this.appendValueInput("VAR").appendField(new J.FieldDropdown(t),"CENTER").setCheck(String),this.appendValueInput("WID").appendField(J.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("Symbol").appendField(J.Msg.MIXLY_RECT_Fill).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(J.Msg.MIXLY_MIXPY_TEXT_CENTER_TOOLTIP)}},ve={init:function(){this.setColour(Te),this.appendValueInput("VAR").appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).setCheck(String),this.appendValueInput("STR").appendField(J.Msg.MIXLY_MID+J.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER).setCheck(String),this.appendDummyInput().appendField(J.Msg.MIXLY_LIST_INDEX),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(J.Msg.MIXLY_MIXPY_TEXT_FIND_TOOLTIP)}},Ye={init:function(){this.setColour(Te),this.appendValueInput("VAR").appendField(J.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_USE_STR).setCheck(String),this.appendValueInput("LIST").appendField(J.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_SEQ).setCheck("List","Tuple","Set","Dict"),this.appendDummyInput().appendField(J.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_GET_STR),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(J.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_TOOLTIP)}},Ve={init:function(){this.setColour(Te),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("STR1").appendField(J.Msg.MIXLY_MIXPY_REPLACE).setCheck(String),this.appendValueInput("STR2").appendField(J.Msg.LISTS_SET_INDEX_INPUT_TO).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(J.Msg.MIXLY_MIXPY_TEXT_REPLACE_TOOLTIP)}},be={init:function(){this.setColour(Te),this.appendValueInput("VAR"),this.appendValueInput("VAL").appendField(J.Msg.LIST_SPLIT_AS),this.appendDummyInput("").appendField(J.Msg.LIST_SPLIT),this.setOutput(!0,"List"),this.setTooltip(J.Msg.MIXLY_MIXPY_TEXT_SPLIT_TOOLTIP),this.setInputsInline(!0)}},Xe={init:function(){var t=[[J.Msg.TEXT_TRIM_BOTH,"strip"],[J.Msg.TEXT_TRIM_LEFT,"lstrip"],[J.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(Te),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(J.Msg.TEXT_STRIM),this.appendDummyInput("").appendField(new J.FieldDropdown(t),"TOWHAT"),this.appendDummyInput("").appendField(J.Msg.TEXT_BLANK),this.setOutput(!0,String),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{strip:J.Msg.TEXT_TRIM_BOTH_TOOLTIP,lstrip:J.Msg.TEXT_TRIM_LEFT_TOOLTIP,rstrip:J.Msg.TEXT_TRIM_RIGHT_TOOLTIP}[t]}))}},ye={init:function(){this.setColour(Te),this.appendDummyInput("").appendField(J.Msg.MIXLY_MICROPYTHON_FORMAT),this.appendDummyInput("").appendField(new J.FieldTextInput("str"),"VAR"),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new J.icons.MutatorIcon(["text_create_with_item"],this)),this.setOutput(!0),this.setTooltip(J.Msg.MIXLY_MIXPY_TEXT_FORMAT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("text_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){J.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Yi={init:function(){this.setColour(Fi),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(J.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},Vi={init:function(){this.setColour(Fi),this.appendDummyInput().appendField(J.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(J.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},bi={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(J.Msg.DICT_KEYS),this.setTooltip(J.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},Xi={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(J.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(J.Msg.DICTS_ADD_VALUE),this.setOutput(!0),this.setTooltip(J.Msg.DICTS_GET_TOOLTIP)}},yi={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(J.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(J.Msg.DICTS_ADD_VALUE),this.appendValueInput("VAR").appendField(J.Msg.DICTS_DEFAULT_VALUE),this.setOutput(!0),this.setTooltip(J.Msg.DICTS_GET_DEFAULT_TOOLTIP)}},Ui={init:function(){this.setColour(Fi),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(J.Msg.DICTS_ADD),this.appendDummyInput(),this.appendValueInput("VAR").appendField(J.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(J.Msg.DICTS_ADD_OR_CHANGE_TOOLTIP)}},Bi={init:function(){this.setColour(Fi),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(J.Msg.DICTS_DELETE_IN),this.appendDummyInput("").appendField(J.Msg.DICTS_DELETE_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(J.Msg.DICTS_DELETE_TOOLTIP)}},wi={init:function(){this.setColour(Fi),this.appendValueInput("DICT2").setCheck("Dict").appendField(J.Msg.MAKE_DICT),this.appendValueInput("DICT").setCheck("Dict").appendField(J.Msg.DICT_UPDATE),this.appendDummyInput("").appendField(J.Msg.MIXLY_MID),this.setTooltip(J.Msg.DICTS_UPDATE_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Gi={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(J.Msg.DICT_CLEAR),this.setTooltip(J.Msg.DICTS_CLEAR_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ki={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(J.Msg.DICT_ITEMS),this.setTooltip(J.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},Hi={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(J.Msg.DICT_VALUES),this.setTooltip(J.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},xi={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(J.Msg.MIXLY_LENGTH),this.setTooltip(J.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},Wi={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(J.Msg.DICT_DELDICT),this.setTooltip(J.Msg.DICTS_DEL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ki={init:function(){this.MODE=[[J.Msg.DICTS_ADD_OR_CHANGE,"INSERT"],[J.Msg.MIXLY_MICROBIT_JS_DELETE_VAR,"DELETE"]],this.setHelpUrl(J.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("AT2"),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(J.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).appendField(J.Msg.DICTS_ADD_VALUE),this.updateAt_(!0),this.setInputsInline(!0),this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e="";switch(t.getFieldValue("WHERE")){case"INSERT":e=J.Msg.DICTS_ADD_TOOLTIP;break;case"DELETE":e=J.Msg.DICTS_DELETE_TOOLTIP}return e}))},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT2").type==J.INPUT_VALUE;return t.setAttribute("at2",e),t},domToMutation:function(t){var e="true"==t.getAttribute("at2");this.updateAt_(e)},updateAt_:function(t){this.removeInput("AT2"),this.removeInput("ORDINAL",!0),t?this.appendValueInput("AT2").setCheck(Number):this.appendDummyInput("AT2");var e=new J.FieldDropdown(this.MODE,(function(e){var i="INSERT"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT2").appendField(e,"WHERE")}},Qi={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(J.Msg.blockpy_DICT_POP),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(J.Msg.DICTS_ADD_VALUE),this.setTooltip(J.Msg.DICT_POP_TOOLTIP),this.setInputsInline(!0),this.setOutput(!0)}},ji={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(J.Msg.DICTS_SET_DEFAULT),this.appendDummyInput("").appendField(J.Msg.DICTS_DEFAULT_VALUE),this.appendValueInput("VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(J.Msg.DICTS_SETDEFAULT_TOOLTIP)}},Ji={init:function(){this.setColour(Fi),this.appendDummyInput("").appendField(new J.FieldLabel(J.Msg.MIXLY_MICROBIT_TYPE_DICT),"TIP").appendField(" "),this.itemCount_=3,this.updateShape_(),this.setOutput(!0,"Dict"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setMutator(new J.icons.MutatorIcon(["dicts_create_with_item"],this)),this.setTooltip(J.Msg.DICTS_CREATE_WITH_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("dicts_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){J.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},qi={init:function(){this.setColour(Fi),this.appendValueInput("VAR").appendField(J.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(J.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},zi={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(J.Msg.MIXLY_TO_JSON),this.setTooltip(J.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},Zi={init:function(){this.setColour(Fi),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(J.Msg.MIXLY_CONVERT_TO_JSON),this.setTooltip(J.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},$i={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("VAR1").appendField("key1"),this.appendValueInput("VAR2").appendField("index"),this.appendValueInput("VAR3").appendField("key2"),this.appendValueInput("VAR4").appendField("key3"),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},tn={init:function(){this.setColour(Fi),this.appendValueInput("DICT"),this.appendDummyInput("").appendField(J.Msg.MIXLY_TO_JSON),this.setTooltip(J.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},en=210,nn={init:function(){var t=J.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(en),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new J.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{EQ:J.Msg.LOGIC_COMPARE_TOOLTIP_EQ,NEQ:J.Msg.LOGIC_COMPARE_TOOLTIP_NEQ,LT:J.Msg.LOGIC_COMPARE_TOOLTIP_LT,LTE:J.Msg.LOGIC_COMPARE_TOOLTIP_LTE,GT:J.Msg.LOGIC_COMPARE_TOOLTIP_GT,GTE:J.Msg.LOGIC_COMPARE_TOOLTIP_GTE}[t]})),this.prevBlocks_=[null,null]}},sn={init:function(){var t=J.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]],e=J.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(en),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new J.FieldDropdown(t),"OP1"),this.appendValueInput("C").appendField(new J.FieldDropdown(e),"OP2"),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_PYTHON_LOGIC_COMPARE_CONTINOUS_TOOLTIP)}},on={init:function(){var t=[[J.Msg.LOGIC_OPERATION_AND,"AND"],[J.Msg.LOGIC_OPERATION_OR,"OR"],[J.Msg.LOGIC_OPERATION_NOR,"NOR"],[J.Msg.LOGIC_OPERATION_XOR,"XOR"]];this.setColour(en),this.setOutput(!0,Boolean),this.appendValueInput("A").setCheck([Boolean,Number]),this.appendValueInput("B").setCheck([Boolean,Number]).appendField(new J.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{AND:J.Msg.LOGIC_OPERATION_TOOLTIP_AND,OR:J.Msg.LOGIC_OPERATION_TOOLTIP_OR,NOR:J.Msg.LOGIC_OPERATION_TOOLTIP_NOR,XOR:J.Msg.LOGIC_OPERATION_TOOLTIP_XOR}[t]}))}},_n={init:function(){this.setColour(en),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(J.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(J.Msg.LOGIC_NEGATE_TOOLTIP)}},un={init:function(){var t=[[J.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[J.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(en),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new J.FieldDropdown(t),"BOOL"),this.setTooltip(J.Msg.LOGIC_BOOLEAN_TOOLTIP)}},an={init:function(){this.setColour(en),this.setOutput(!0),this.appendDummyInput().appendField(J.Msg.LOGIC_NULL),this.setTooltip(J.Msg.LOGIC_NULL_TOOLTIP)}},rn={init:function(){this.setColour(en),this.appendValueInput("A"),this.appendValueInput("B").appendField(J.Msg.LOGIC_TERNARY_IF_TRUE),this.appendValueInput("C").appendField(J.Msg.LOGIC_TERNARY_IF_FALSE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_TOOLTIP_LOGIT_TRUEORFALSE)}},pn={init:function(){var t=[[J.Msg.TEXT_APPEND_TO,"in"],[J.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(en),this.appendValueInput("A"),this.appendValueInput("B").setCheck([String,"List"]).appendField(new J.FieldDropdown(t),"BOOL"),this.appendDummyInput("").appendField(J.Msg.MICROBIT_LOGIC_IS_IN),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(J.Msg.IN)}},ln={init:function(){var t=[[J.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[J.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(en),this.appendValueInput("A"),this.appendValueInput("B").appendField(new J.FieldDropdown(t),"BOOL"),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_PYTHON_LOGIC_IS_TOOLTIP)}},In={init:function(){this.setColour(en),this.appendValueInput("VAR").appendField(J.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(J.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},Tn={init:function(){this.setColour(0),this.appendValueInput("fn").setCheck(String).appendField(J.Msg.MIXLY_PYTHON_STORAGE_OPEN_FILE_WITH_OS+"(For Windows)"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},dn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new J.FieldDropdown([[J.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"],[J.Msg.MIXLY_ADD,"a"],[J.Msg.MATH_BIN+J.Msg.MIXLY_ADD,"ab"],[J.Msg.MIXLY_R_W,"r+"],[J.Msg.MATH_BIN+J.Msg.MIXLY_R_W,"rb+"],[J.Msg.MIXLY_W_R,"w+"],[J.Msg.MATH_BIN+J.Msg.MIXLY_W_R,"wb+"],[J.Msg.MIXLY_A_R,"a+"],[J.Msg.MATH_BIN+J.Msg.MIXLY_A_R,"ab+"]]),"MODE"),this.appendValueInput("FILE").appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_AS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=J.Msg.MIXLY_USE,n=J.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=J.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=J.Msg.MIXLY_BELONG;return i+{r:J.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:J.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:J.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:J.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){J.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},hn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new J.FieldDropdown([[J.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=J.Msg.MIXLY_USE,n=J.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=J.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=J.Msg.MIXLY_BELONG,_=J.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:J.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:J.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:J.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:J.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s+_}))}},Mn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE);this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new J.FieldDropdown([[J.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendDummyInput().appendField(J.Msg.MIXPY_TEXT_ENCODE).appendField(new J.FieldDropdown([["ANSI","ANSI"],["gbk","gbk"],["utf-8","utf-8"]]),"CODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=J.Msg.MIXLY_USE,n=J.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=J.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=J.Msg.MIXLY_BELONG,_=J.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:J.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:J.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:J.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:J.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s+_}))}},On={init:function(){this.setColour(0),this.appendValueInput("data").setCheck(String).appendField(J.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendValueInput("FILE").appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+J.Msg.MIXLY_MICROBIT_TYPE_STRING+J.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE)}},mn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new J.FieldDropdown([[J.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"read"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE,"readline"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES,"readlines"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String)}},cn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new J.FieldDropdown([[J.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,"read"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,"readline"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE,"readlines"]]),"MODE"),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=J.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE,n=J.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER;return i+{read:J.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,readline:J.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,readlines:J.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE}[e]+"x"+n}))}},En={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.setNextStatement(!0),this.appendValueInput("SIZE").setCheck(Number).appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(J.Msg.MICROBIT_PYTHON_TYPE)}},Rn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(J.Msg.HTML_FILE),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean),this.setTooltip(J.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT1)}},gn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_FILENAME),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(J.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILENAME)}},Cn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(J.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE)}},An={init:function(){this.setColour(0),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(J.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES)}};J.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE;const Ln={init:function(){this.setColour(0),this.appendDummyInput().appendField(new J.FieldDropdown([[J.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE,"remove"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_DIRS,"removedirs"]]),"MODE"),this.appendValueInput("FILE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(J.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE)}},Sn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(J.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE+J.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE)}},Dn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_RETURN_FILE),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_PRESENT_LOCATION),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(J.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_TELL)}},Nn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION),this.appendDummyInput().appendField(new J.FieldDropdown([[J.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,"start"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,"current"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END,"end"]]),"MODE"),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=J.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION+J.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION,n=J.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER,s=J.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET;return i+" "+{start:J.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,current:J.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,end:J.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END}[e]+s+"x"+n}))}},fn={init:function(){this.setColour(0),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(J.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR)}},Pn={init:function(){this.setColour(0),this.appendValueInput("PATH").setCheck(String).appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH),this.appendDummyInput().appendField(J.Msg.MIXLY_ESP32_SET),this.appendDummyInput().appendField(new J.FieldDropdown([[J.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,"mkdir"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_MAKEDIRS,"makedirs"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return J.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH+"x"+J.Msg.MIXLY_ESP32_SET+{mkdir:J.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,makedirs:J.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},Fn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME),this.appendValueInput("NEWFILE").setCheck(String).appendField(J.Msg.MIXLY_AS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(J.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME)}},vn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(J.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR)}},Yn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT),this.appendDummyInput().appendField(new J.FieldDropdown([[J.Msg.HTML_FILE,"isfile"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_DIR,"isdir"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean);let t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return J.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH+"x"+J.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT+{isfile:J.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,isdir:J.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},Vn={init:function(){this.setColour(0),this.appendValueInput("SPISUB").appendField(J.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(J.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(J.Msg.MIXLY_SETUP+J.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(J.Msg.MIXLY_SD_CARD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},bn={init:function(){this.setColour(0),this.appendValueInput("VAR").appendField(J.Msg.MIXLY_SD_CARD),this.appendValueInput("DIR").setCheck(String).appendField(J.Msg.MIXLY_SDCARD_MOUNT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip()}},Xn={init:function(){var t=J.Procedures.findLegalName("",this),e=new J.FieldTextInput(t,J.Procedures.rename);e.setSpellcheck(!1),this.appendDummyInput().appendField(e,"NAME").appendField("","PARAMS"),this.setMutator(new J.icons.MutatorIcon(["procedures_mutatorarg"],this)),(this.workspace.options.comments||this.workspace.options.parentWorkspace&&this.workspace.options.parentWorkspace.options.comments)&&J.Msg.PROCEDURES_DEFNORETURN_COMMENT&&this.setCommentText(J.Msg.PROCEDURES_DEFNORETURN_COMMENT),this.setStyle("procedure_blocks"),this.setTooltip(J.Msg.PROCEDURES_DEFNORETURN_TOOLTIP),this.setHelpUrl(J.Msg.PROCEDURES_DEFNORETURN_HELPURL),this.arguments_=[],this.argumentVarModels_=[],this.setStatements_(!0),this.statementConnection_=null},setStatements_:function(t){this.hasStatements_!==t&&(t?(this.appendStatementInput("STACK").appendField(J.Msg.PROCEDURES_DEFNORETURN_DO),this.getInput("RETURN")&&this.moveInputBefore("STACK","RETURN")):this.removeInput("STACK",!0),this.hasStatements_=t)},updateParams_:function(){var t="";this.arguments_.length&&(t=J.Msg.PROCEDURES_BEFORE_PARAMS+" "+this.arguments_.join(", ")),J.Events.disable();try{this.setFieldValue(t,"PARAMS")}finally{J.Events.enable()}},mutationToDom:function(t){var e=J.utils.xml.createElement("mutation");t&&e.setAttribute("name",this.getFieldValue("NAME"));for(var i=0;i"),this.appendValueInput("style").appendField(J.Msg.MIXLY_AIP_ATTR).setAlign(J.inputs.Align.RIGHT),this.appendStatementInput("DO").appendField(""),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Fs={init:function(){this.setColour(Ls),this.appendDummyInput().appendField(J.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},vs={init:function(){this.setColour(Ls),this.appendDummyInput().appendField(J.Msg.HTML_FORM_CONTENT).appendField(new J.FieldDropdown([[J.Msg.HTML_TEXT,"text"],[J.Msg.HTML_EMAIL,"email"],[J.Msg.HTML_NUMBER,"number"],[J.Msg.HTML_PASSWORD,"password"],[J.Msg.HTML_CHECKBOX,"checkbox"],[J.Msg.HTML_RADIOBUTTON,"radiobutton"],[J.Msg.HTML_BUTTON,"button"],[J.Msg.HTML_COLOUR,"colour"],[J.Msg.HTML_DATE,"date"],[J.Msg.HTML_LOCALTIME,"local time"],[J.Msg.HTML_FILE,"file"],[J.Msg.HTML_HIDDEN,"hidden"],[J.Msg.HTML_IMAGE,"image"],[J.Msg.HTML_MONTH,"month"],[J.Msg.HTML_RANGE,"range"],[J.Msg.HTML_RESET,"reset"],[J.Msg.HTML_SEARCH,"search"],[J.Msg.HTML_SUBMIT,"submit"],[J.Msg.HTML_TELEPHONENUMBER,"telephone number"],[J.Msg.HTML_TIME,"time"],[J.Msg.HTML_URL,"url"],[J.Msg.HTML_WEEK,"week"]]),"LEVEL"),this.appendDummyInput().appendField(J.Msg.HTML_NAME).appendField(new J.FieldTextInput("car"),"NAME"),this.appendDummyInput().appendField(J.Msg.HTML_VALUE).appendField(new J.FieldTextInput("go"),"VALUE"),this.appendValueInput("style").appendField(J.Msg.MIXLY_AIP_ATTR).setAlign(J.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ys={init:function(){this.setColour(Ls),this.appendDummyInput().appendField(new J.FieldTextInput("property"),"KEY").appendField(":").appendField(new J.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Vs={init:function(){this.setColour(Ls),this.appendDummyInput().appendField(new J.FieldTextInput("property"),"KEY").appendField(":").appendField(new J.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},bs={init:function(){this.setColour(Ls),this.appendDummyInput().appendField(J.Msg.HTML_TEXT).appendField(new J.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Xs=160,ys={init:function(){this.setColour(Xs),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new J.FieldTable(""),"TEXT")}},Us={init:function(){this.setColour(Xs),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new J.FieldMultilineInput(""),"TEXT")}},Bs={init:function(){this.setColour(Xs),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new J.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},ws={init:function(){this.setColour(Xs),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},Gs={init:function(){this.setColour(Xs),this.appendDummyInput().appendTitle("Comment:").appendTitle(new J.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},ks={init:function(){this.setColour(Xs),this.appendValueInput("VALUE").appendField(J.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},Hs={init:function(){this.setColour(Xs),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new J.icons.MutatorIcon(["text_print_multiple_item"],this)),this.setTooltip(J.Msg.TEXT_PRINT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=J.Block.obtain(t,"text_print_multiple_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n= stop:"," yield start"," start -= abs(step)"])};if(t=function(t,e,i){return"("+t+" <= "+e+") and "+a()+"("+t+", "+e+", "+i+") or "+r()+"("+t+", "+e+", "+i+")"},J.isNumber(n)&&J.isNumber(s)&&J.isNumber(o))n=parseFloat(n),s=parseFloat(s),o=Math.abs(parseFloat(o)),0==n%1&&0==s%1&&0==o%1?(n<=s?(s++,t=0==n&&1==o?s:n+", "+s,1!=o&&(t+=", "+o)):t=n+", "+--s+", -"+o,t="range("+t+")"):(t=n",GTE:">="};const Bu=function(t,e){var i=this.getFieldValue("OP"),n="&&"==i?e.ORDER_LOGICAL_AND:e.ORDER_LOGICAL_OR,s=e.valueToCode(this,"A",n)||"False",o=e.valueToCode(this,"B",n)||"False";if("AND"==i)var _=s+" and "+o;else if("OR"==i)_=s+" or "+o;else if("NOR"==i)_="not("+s+"^"+o+")";else _=s+"^"+o;return[_,n]},wu=function(t,e){var i=e.ORDER_UNARY_PREFIX;return["not "+(e.valueToCode(this,"BOOL",i)||"False"),i]},Gu=function(t,e){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",e.ORDER_ATOMIC]},ku=function(t,e){return["None",e.ORDER_ATOMIC]},Hu=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"False";return["("+(e.valueToCode(this,"B",e.ORDER_ATOMIC)||"False")+" if "+i+" else "+(e.valueToCode(this,"C",e.ORDER_ATOMIC)||"False")+")",e.ORDER_ATOMIC]},xu=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},Wu=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},Ku=function(t,e){return["bool("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||"0")+")",e.ORDER_ATOMIC]},Qu=function(t,e){return e.definitions_.import_os="import os","os.startfile("+e.valueToCode(this,"fn",e.ORDER_ATOMIC)+")\n"},ju=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+" = open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},Ju=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",e.ORDER_ATOMIC]},qu=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',e.ORDER_ATOMIC]},zu=function(t,e){var i=e.valueToCode(this,"data",e.ORDER_ATOMIC);return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".write("+i+")\n"},Zu=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"()",e.ORDER_ATOMIC]},$u=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},ta=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".readline("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},ea=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".writable()",e.ORDER_ATOMIC]},ia=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".name()",e.ORDER_ATOMIC]},na=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".close()\n"},sa=function(t,e){e.definitions_.import_os="import os";return["os.listdir()",e.ORDER_ATOMIC]},oa=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},_a=function(t,e){return e.definitions_.import_os="import os",["os.path.getsize("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},ua=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".tell()",e.ORDER_ATOMIC]},aa=function(t,e){var i=this.getFieldValue("MODE"),n=0;return n="start"==i?0:"current"==i?1:2,e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".seek("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+","+n+")\n"},ra=function(t,e){return e.definitions_.import_os="import os","os.chdir("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},pa=function(t,e){e.definitions_.import_os="import os";return["os.getcwd()",e.ORDER_ATOMIC]},la=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"PATH",e.ORDER_ATOMIC)+")\n"},Ia=function(t,e){return e.definitions_.import_os="import os","os.rename("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+","+e.valueToCode(this,"NEWFILE",e.ORDER_ATOMIC)+")\n"},Ta=function(t,e){e.definitions_.import_os="import os";var i=e.valueToCode(this,"FILE",e.ORDER_ATOMIC);return["os."+this.getFieldValue("MODE")+"("+i+")",e.ORDER_ATOMIC]},da=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = sdcard.SDCard("+e.valueToCode(this,"SPISUB",e.ORDER_ATOMIC)+","+e.valueToCode(this,"PINSUB",e.ORDER_ATOMIC)+")\n"},ha=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard","os.mount("+e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+","+e.valueToCode(this,"DIR",e.ORDER_ATOMIC)+")\n"},Ma=function(t,e){var i=e.variableDB_.getName(this.getFieldValue("NAME"),J.Procedures.NAME_TYPE),n=(this.getInput("STACK")&&e.statementToCode(this,"STACK"))??" pass\n";e.INFINITE_LOOP_TRAP&&(n=e.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+n);var s=e.valueToCode(this,"RETURN",e.ORDER_NONE)||"";s&&(s=" return "+s+"\n");for(var o=[],_=0;_\n\n\n\t\n"+e.statementToCode(this,"HEAD")+"\n\n"+e.statementToCode(this,"BODY")+"\n\n'''",e.ORDER_ATOMIC]},Za=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"\n"+i+"\n"},$a=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");if("head"==n)var s="<"+n+'>\n\t\n'+i+"\n";else s="<"+n+">\n"+i+"\n";return s},tr=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"<"+n+">\n"+i+"\n"},er=function(t,e){var i=e.statementToCode(this,"DO"),n=e.valueToCode(this,"style"),s=this.getFieldValue("LEVEL");return"<"+s+" "+n+" >\n"+i+"\n"},ir=function(t,e){return['style="'+e.statementToCode(this,"STYLE")+'"',e.ORDER_ATOMIC]},nr=function(t,e){return'"},sr=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},or=function(){return this.getFieldValue("TEXT")+"\n"},_r=function(t){return t.getFieldValue("TEXT")+"\n"},ur=function(t,e){return[t.getFieldValue("TEXT"),e.ORDER_ATOMIC]},ar=function(t,e){return(e.valueToCode(t,"VALUE",e.ORDER_ATOMIC)||"")+"\n"},rr=function(){return""},pr=function(t,e){return["type("+(e.valueToCode(t,"VALUE",e.ORDER_MEMBER)||"___")+")",e.ORDER_ATOMIC]},lr=function(t,e){for(var i=t.getFieldValue("NAME"),n=t.hasReturn_,s=new Array(t.itemCount_),o=0;o0?e.join("\n")+i.join("\n")+n.join("\n")+_.join("\n")+u.join("")+t+"while True:\n"+a.join("")+r.join("\n"):e.join("\n")+i.join("\n")+n.join("\n")+_.join("\n")+u.join("")+t+r.join("\n")},hr.scrubNakedValue=function(t){return t+"\n"},hr.quote_=function(t){var e="'";return-1!==t.indexOf("'")&&(-1===t.indexOf('"')?e='"':t=t.replace(/'/g,"\\'")),e+t+e},hr.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},hr.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(o=t.getCommentText())&&(o=J.utils.string.wrap(o,hr.COMMENT_WRAP-3),n+=hr.prefixLines(o+"\n","# "));for(var s=0;s0?"int("+u+" + "+s+")":s<0?"int("+u+" - "+-s+")":"int("+u+")",n&&(u="-"+u)),u};const Mr=120,Or={init:function(){this.setColour(Mr),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(J.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT).appendField(new J.FieldDropdown(Or.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(J.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return{WHILE:J.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:J.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[e]}))},OPERATORS:[[J.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[J.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]]},mr={init:function(){this.setColour(Mr);var t=new J.FieldDropdown(mr.OPERATORS);this.appendDummyInput().appendField(t,"FLOW").appendField(J.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("FLOW");return{BREAK:J.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:J.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}[t]}))},onchange:function(){if(this.workspace){var t=!1,e=this;do{if("controls_repeat"==e.type||"controls_for"==e.type||"controls_forEach"==e.type||"controls_repeat_ext"==e.type||"controls_whileUntil"==e.type){t=!0;break}e=e.getSurroundParent()}while(e);t?this.setWarningText(null):this.setWarningText(J.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}},OPERATORS:[[J.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[J.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]]},cr="5BA5A5",Er={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(cr),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(J.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(J.Msg.DISPLAY_IMAGE_LET2).appendField(new J.FieldDropdown(Er.OPERATORS),"OP"),this.appendValueInput("val").appendField(J.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(J.Msg.DISPLAY_IMAGE_UNIT);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=J.Msg.DISPLAY_IMAGE_LET,n=J.Msg.DISPLAY_IMAGE_LET2,s=J.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:J.Msg.MIXLY_UP,down:J.Msg.MIXLY_DOWN,left:J.Msg.MIXLY_LEFT,right:J.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[J.Msg.MIXLY_UP,"shift_up"],[J.Msg.MIXLY_DOWN,"shift_down"],[J.Msg.MIXLY_LEFT,"shift_left"],[J.Msg.MIXLY_RIGHT,"shift_right"]]},Rr={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(cr),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(J.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new J.FieldDropdown(Rr.OPERATORS),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{"+":J.Msg.MIXLY_MICROBIT_image_add,"-":J.Msg.MIXLY_MICROBIT_image_reduce}[e]}))},OPERATORS:[[J.Msg.MICROBIT_DISPLAY_UNION,"add"],[J.Msg.MICROBIT_DISPLAY_MINUS,"sub"]]},gr={init:function(){this.setColour(cr),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+J.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("esp32_image"),this.appendDummyInput("").appendField(new J.FieldDropdown(gr.OPERATORS),"OP"),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return J.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+J.Msg.MIXLY_MICROBIT_IMAGE+{height:J.Msg.MIXLY_HEIGHT,width:J.Msg.MIXLY_WIDTH}[e]}))},OPERATORS:[[J.Msg.MIXLY_HEIGHT,"height"],[J.Msg.MIXLY_WIDTH,"width"]]},Cr={init:function(){this.setColour(cr),this.appendValueInput("VAR").appendField(J.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(J.Msg.MIXLY_RECT).appendField(new J.FieldDropdown(Cr.STATUS),"OP"),this.jsonInit({message0:J.Msg.MIXLY_MICROBIT_SHOW_RECT,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"width"},{check:Number,type:"input_value",name:"height"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(J.Msg.MIXLY_OLED_RECT)},STATUS:[[J.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[J.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},Ar={init:function(){this.setColour(cr),this.appendValueInput("VAR").appendField(J.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(J.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE).appendField(new J.FieldDropdown(Ar.STATUS),"OP"),this.jsonInit({message0:J.Msg.MIXLY_HANBIT_SHOW_CIRCLE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"r"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(J.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE)},STATUS:[[J.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[J.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},Lr={init:function(){this.setColour(cr),this.appendValueInput("SUB").setCheck("var").appendField(J.Msg.MSG.catOLED),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(J.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(J.Msg.DISPLAY_IMAGE_LET2).appendField(new J.FieldDropdown(Lr.OPERATORS),"OP"),this.appendValueInput("val").appendField(J.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(J.Msg.DISPLAY_IMAGE_UNIT);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=J.Msg.DISPLAY_IMAGE_LET,n=J.Msg.DISPLAY_IMAGE_LET2,s=J.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:J.Msg.MIXLY_UP,down:J.Msg.MIXLY_DOWN,left:J.Msg.MIXLY_LEFT,right:J.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[J.Msg.MIXLY_UP,"shift_up"],[J.Msg.MIXLY_DOWN,"shift_down"],[J.Msg.MIXLY_LEFT,"shift_left"],[J.Msg.MIXLY_RIGHT,"shift_right"]]},Sr="#569A98",Dr={init:function(){this.appendDummyInput("").appendField(J.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(J.inputs.Align.CENTRE).appendField(new J.FieldBitmap(Dr.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Sr),this.setTooltip(J.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:12},(()=>new Array(32).fill(0)))},Nr={init:function(){this.setColour(Sr),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(J.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new J.FieldDropdown(Nr.OPERATORS),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{"+":J.Msg.MIXLY_MICROBIT_image_add,"-":J.Msg.MIXLY_MICROBIT_image_reduce}[e]}))},OPERATORS:[[J.Msg.MICROBIT_DISPLAY_UNION,"add"],[J.Msg.MICROBIT_DISPLAY_MINUS,"sub"]]},fr={init:function(){this.setColour(Sr),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(J.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(J.Msg.DISPLAY_IMAGE_LET2).appendField(new J.FieldDropdown(fr.OPERATORS),"OP"),this.appendValueInput("val").appendField(J.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(J.Msg.DISPLAY_IMAGE_UNIT),["Python ESP32-S3","Python ESP32-C5"].includes(q.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(J.Msg.MIXLY_synchronize);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=J.Msg.DISPLAY_IMAGE_LET,n=J.Msg.DISPLAY_IMAGE_LET2,s=J.Msg.DISPLAY_IMAGE_LET3;return i+n+{shift_up:J.Msg.MIXLY_UP,shift_down:J.Msg.MIXLY_DOWN,shift_left:J.Msg.MIXLY_LEFT,shift_right:J.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[J.Msg.MIXLY_UP,"shift_up"],[J.Msg.MIXLY_DOWN,"shift_down"],[J.Msg.MIXLY_LEFT,"shift_left"],[J.Msg.MIXLY_RIGHT,"shift_right"]]},Pr={init:function(){this.appendDummyInput("").appendField(J.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(J.inputs.Align.CENTRE).appendField(new J.FieldBitmap(Pr.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Sr),this.setTooltip(J.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(8).fill(0)))},Fr={init:function(){this.appendDummyInput("").appendField(J.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(J.inputs.Align.CENTRE).appendField(new J.FieldBitmap(Fr.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Sr),this.setTooltip(J.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(12).fill(0)))},vr={init:function(){this.appendDummyInput("").appendField(J.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(J.inputs.Align.CENTRE).appendField(new J.FieldBitmap(vr.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Sr),this.setTooltip(J.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(16).fill(0)))},Yr={init:function(){this.setColour(Sr),this.appendDummyInput().appendField(J.Msg.OLED_SET_FONT).appendField(new J.FieldDropdown(Yr.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[["4x5"+J.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'4x5'"],["5x5"+J.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'5x5'"],["5x8"+J.Msg.MIXGO_ME_DISPLAY_VERTICAL,"'5x8'"]]},Vr={init:function(){this.appendDummyInput("").appendField(J.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(J.inputs.Align.CENTRE).appendField(new J.FieldBitmap(Vr.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Sr),this.setTooltip(J.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(5).fill(0)))},br={init:function(){this.setColour(Sr),this.appendDummyInput().appendField(J.Msg.MIXLY_MIXBOT_SCREEN_ROTATE).appendField(new J.FieldDropdown(br.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[[J.Msg.mixpy_PL_PIE_SHADOW_N,"0"],[J.Msg.CLOCKWISE+"90"+J.Msg.blockpy_setheading_degree,"1"],[J.Msg.CLOCKWISE+"180"+J.Msg.blockpy_setheading_degree,"2"],[J.Msg.CLOCKWISE+"270"+J.Msg.blockpy_setheading_degree,"3"]]},Xr={init:function(){this.appendDummyInput("").appendField(J.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(J.inputs.Align.CENTRE).appendField(new J.FieldBitmap(Xr.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Sr),this.setTooltip(J.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:12},(()=>new Array(12).fill(0)))},yr=180,Ur={init:function(){this.setColour(yr),this.setOutput(!0),this.setInputsInline(!0),this.appendValueInput("img").appendField(J.Msg.DISPLAY_IMAGE_LET).setCheck(["esp32_image","List",String]),this.appendDummyInput("").appendField(J.Msg.DISPLAY_IMAGE_LET2).appendField(new J.FieldDropdown(Ur.OPERATORS),"OP"),this.appendValueInput("val").appendField(J.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(J.Msg.DISPLAY_IMAGE_UNIT);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=J.Msg.DISPLAY_IMAGE_LET,n=J.Msg.DISPLAY_IMAGE_LET2,s=J.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:J.Msg.MIXLY_UP,down:J.Msg.MIXLY_DOWN,left:J.Msg.MIXLY_LEFT,right:J.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[J.Msg.MIXLY_UP,"up"],[J.Msg.MIXLY_DOWN,"down"],[J.Msg.MIXLY_LEFT,"left"],[J.Msg.MIXLY_RIGHT,"right"]]},Br={init:function(){this.setColour(yr),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(J.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new J.FieldDropdown(Br.OPERATORS),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{"+":J.Msg.MIXLY_MICROBIT_image_add,"-":J.Msg.MIXLY_MICROBIT_image_reduce}[e]}))},OPERATORS:[[J.Msg.MICROBIT_DISPLAY_UNION,"+"],[J.Msg.MICROBIT_DISPLAY_MINUS,"-"]]},wr={init:function(){this.setColour(yr),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+J.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("esp32_image"),this.appendDummyInput("").appendField(new J.FieldDropdown(wr.OPERATORS),"OP"),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return J.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+J.Msg.MIXLY_MICROBIT_IMAGE+{height:J.Msg.MIXLY_HEIGHT,width:J.Msg.MIXLY_WIDTH}[e]}))},OPERATORS:[[J.Msg.MIXLY_HEIGHT,"height"],[J.Msg.MIXLY_WIDTH,"width"]]},Gr={init:function(){this.setColour(yr),this.appendValueInput("VAR").appendField(J.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(J.Msg.MIXLY_RECT).appendField(new J.FieldDropdown(Gr.STATUS),"OP"),this.jsonInit({message0:J.Msg.MIXLY_MICROBIT_SHOW_RECT,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"width"},{check:Number,type:"input_value",name:"height"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(J.Msg.MIXLY_OLED_RECT)},STATUS:[[J.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[J.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},kr={init:function(){this.setColour(yr),this.appendValueInput("VAR").appendField(J.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(J.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE).appendField(new J.FieldDropdown(kr.STATUS),"OP"),this.jsonInit({message0:J.Msg.MIXLY_HANBIT_SHOW_CIRCLE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"r"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(J.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE)},STATUS:[[J.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[J.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},Hr={init:function(){this.setColour(yr),this.appendValueInput("VAR").appendField(J.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(J.Msg.MIXLY_DISPLAY_DRAW+J.Msg.MIXLY_HANBIT_DRAW_TRIANGLE).appendField(new J.FieldDropdown(Hr.STATUS),"OP"),this.jsonInit({message0:J.Msg.MIXLY_HANBIT_SHOW_triangle,args0:[{check:Number,type:"input_value",name:"x0"},{check:Number,type:"input_value",name:"y0"},{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(J.Msg.MIXLY_DISPLAY_DRAW+J.Msg.MIXLY_HANBIT_DRAW_TRIANGLE)},STATUS:[[J.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[J.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},xr=225,Wr={init:function(){this.setColour(xr),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(J.Msg.MIXLY_NETWORK_INIT),this.appendDummyInput().appendField(J.Msg.MIXLY_NETWORK_MODE).appendField(new J.FieldDropdown([["STA","STA"],["AP","AP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_ESP32_NETWORK_INIT_TOOLTIP)}},Kr={init:function(){this.setColour(xr),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(new J.FieldDropdown([[J.Msg.MIXLY_NETWORK_WIFI_OPEN,"True"],[J.Msg.MIXLY_NETWORK_WIFI_CLOSE,"False"]]),"op"),this.appendDummyInput("").appendField(J.Msg.MIXLY_NETWORK_WIFI_FLAG),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("op"),i=J.Msg.MIXLY_ESP32_NETWORK_OPEN_TOOLTIP;return{True:J.Msg.MIXLY_NETWORK_WIFI_OPEN,False:J.Msg.MIXLY_NETWORK_WIFI_CLOSE}[e]+i}))}},Qr={init:function(){this.setColour(xr),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(J.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE)}},jr={init:function(){this.setColour(xr),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(J.Msg.MIXLY_NETWORK_WIFI_SCAN),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip((function(){return J.Msg.MIXLY_ESP32_NETWORK_SCAN_TOOLTIP+{0:"ssid",1:"bssid",2:"channel",3:"RSSI",4:"authmode",5:"hidden",all:J.Msg.MIXLY_NETWORK_WIFI_SCAN_ATTRIBUTE}.all}))}},Jr={init:function(){this.setColour(xr),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(J.Msg.MIXLY_ESP32_NETWORK_CONNECT),this.appendValueInput("id").setCheck(String).appendField(J.Msg.HTML_NAME),this.appendValueInput("password").setCheck(String).appendField(J.Msg.HTML_PASSWORD),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_ESP32_NETWORK_CONNECT_TOOLTIP)}},qr={init:function(){this.setColour(xr),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(J.Msg.MIXLY_NETWORK_WIFI_CONNECT+J.Msg.MIXLY_SYMBOL_QUESTION),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_ESP32_NETWORK_WIFI_CONNECT_TOOLTIP)}},zr={init:function(){this.setColour(xr),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(J.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput("").appendField(new J.FieldDropdown([[J.Msg.MIXLY_ESP32_NETWORK_IP,"0"],[J.Msg.MIXLY_ESP32_NETWORK_MASK,"1"],[J.Msg.MIXLY_ESP32_NETWORK_GATEWAY,"2"],["DNS","3"]]),"mode"),this.setOutput(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return J.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP+{0:J.Msg.MIXLY_ESP32_NETWORK_IP,1:J.Msg.MIXLY_ESP32_NETWORK_MASK,2:J.Msg.MIXLY_ESP32_NETWORK_GATEWAY,3:"DNS"}[e]}))}},Zr={init:function(){this.setColour(xr),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(J.Msg.MIXLY_ESP32_NETWORK_STOP_CONNECT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_ESP32_NETWORK_STOP_TOOLTIP)}},$r={init:function(){this.setColour(xr),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(J.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput().appendField(new J.FieldDropdown([[J.Msg.MIXLY_NETWORK_WIFI_ESSID,"essid"],[J.Msg.MIXLY_NETWORK_WIFI_CHANNEL,"channel"]]),"op"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP)}},tp={init:function(){this.setColour(xr),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(J.Msg.LISTS_SET_INDEX_SET+J.Msg.MIXLY_HOTSPOT),this.appendValueInput("essid").setCheck(String).appendField(J.Msg.MIXLY_NAME),this.appendValueInput("password").setCheck(String).appendField(J.Msg.MIXLY_EMQX_PASSWORD),this.appendValueInput("channel").setCheck(Number).appendField(J.Msg.MIXLY_NETWORK_WIFI_CHANNEL),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_ESP32_NETWORK_AP_CONNECT_TOOLTIP)}},ep={init:function(){this.setColour(xr),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(J.Msg.MIXLY_ESP32_NETWORK_SERVER1),this.appendDummyInput("").appendField(J.Msg.MIXLY_ESP32_NETWORK_SERVER2),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},ip={init:function(){this.setColour(xr),this.appendValueInput("VAR").appendField(J.Msg.MIXLY_MICROPYTHON_SOCKET_INIT).setCheck("var"),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new J.FieldDropdown([["TCP","TCP"],["UDP","UDP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return J.Msg.MIXLY_ESP32_NETWORK_SOCKET_INIT_TOOLTIP+{TCP:"TCP",UDP:"UDP"}[e]}))}},np={init:function(){this.setColour(xr),this.appendValueInput("VAR").setCheck("var").appendField(J.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(J.Msg.MIXLY_MICROPYTHON_SOCKET_BIND_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_ESP32_NETWORK_SOCKET_BIND_TOOLTIP)}},sp={init:function(){this.setColour(xr),this.appendValueInput("VAR").setCheck("var").appendField(J.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(J.Msg.MIXLY_MICROPYTHON_SOCKET_CONNECT_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_ESP32_NETWORK_SOCKET_CONNECT_TOOLTIP)}},op={init:function(){this.setColour(xr),this.appendValueInput("VAR").setCheck("var"),this.appendValueInput("queue").setCheck(Number).appendField(J.Msg.MIXLY_MICROPYTHON_SOCKET_LISTEN).appendField(J.Msg.MIXLY_MICROPYTHON_SOCKET_QUEUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_ESP32_NETWORK_SOCKET_LISTEN_TOOLTIP)}},_p={init:function(){this.setColour(xr),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROPYTHON_SOCKET_ACCEPT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_ESP32_NETWORK_SOCKET_ACCEPT_TOOLTIP)}},up={init:function(){this.setColour(xr),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE_TOOLTIP)}},ap={init:function(){this.setColour(xr),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("size").setCheck(Number).appendField(J.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_TOOLTIP)}},rp={init:function(){this.setColour(xr),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("content").appendField(J.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TOOLTIP)}},pp={init:function(){this.setColour(xr),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("size").setCheck(Number).appendField(J.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_FROM_TOOLTIP)}},lp={init:function(){this.setColour(xr),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("content").appendField(J.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.appendValueInput("address").appendField(J.Msg.MIXLY_MICROPYTHON_SOCKET_TO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TO_TOOLTIP)}},Ip={init:function(){this.setColour(xr),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROPYTHON_SOCKET_CLOSE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},Tp={init:function(){this.setColour(xr),this.appendValueInput("DOMAIN").appendField(J.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(J.Msg.blockpy_REQUESTS_GET).appendField(new J.FieldTextInput("response"),"VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(J.Msg.blockpy_REQUESTS_GET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){J.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},dp={init:function(){this.appendValueInput("VAL"),this.setColour(xr),this.appendDummyInput("").appendField(J.Msg.MIXLY_MICROBIT_JS_GET).appendField(new J.FieldDropdown(dp.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{clear:J.Msg.MIXLY_TOOLTIP_TURTEL_CLEAR,reset:J.Msg.MIXLY_TOOLTIP_TURTEL_RESET,home:J.Msg.MIXLY_TOOLTIP_TURTEL_HOME}[e]}))},ATTR:[[J.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[J.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[J.Msg.blockpy_REQUESTS_GET_ATTR_COOKIES,"cookies"],[J.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"]]},hp={init:function(){this.appendValueInput("VAR").appendField(J.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.setColour(xr),this.appendDummyInput("").appendField(J.Msg.blockpy_CONDUCT).appendField(new J.FieldDropdown(hp.METHOD),"DIR"),this.appendDummyInput("").appendField(J.Msg.blockpy_REQUESTS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{forward:J.Msg.MIXLY_TOOLTIP_TURTEL_FORWARD,backward:J.Msg.MIXLY_TOOLTIP_TURTEL_BACKWARD}[e]}))},METHOD:[["post","post"],["put","put"],["delete","delete"],["head","head"],["option","option"]]},Mp={init:function(){this.setColour(xr),this.appendDummyInput("").appendField(J.Msg.MIXLY_GET_NTP+"(NTP)"),this.appendValueInput("data").appendField(J.Msg.blynk_SERVER_ADD),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},Op={init:function(){this.setColour(xr),this.appendDummyInput("").appendField(new J.FieldDropdown([["ntp.aliyun.com","ntp.aliyun.com"],["ntp1.aliyun.com","ntp1.aliyun.com"],["ntp2.aliyun.com","ntp2.aliyun.com"],["ntp3.aliyun.com","ntp3.aliyun.com"],["ntp4.aliyun.com","ntp4.aliyun.com"],["ntp5.aliyun.com","ntp5.aliyun.com"],["ntp6.aliyun.com","ntp6.aliyun.com"],["ntp7.aliyun.com","ntp7.aliyun.com"],["time1.cloud.tencent.com","time1.cloud.tencent.com"],["time2.cloud.tencent.com","time2.cloud.tencent.com"],["time3.cloud.tencent.com","time3.cloud.tencent.com"],["time4.cloud.tencent.com","time4.cloud.tencent.com"],["time5.cloud.tencent.com","time5.cloud.tencent.com"]]),"op"),this.setOutput(!0)}},mp="#3288dd",cp={init:function(){this.setColour(mp),this.appendValueInput("URL").appendField(J.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(J.Msg.blockpy_CONDUCT).appendField(new J.FieldDropdown([["get","get"],["head","head"],["delete","delete"]]),"TYPE").appendField(J.Msg.blockpy_REQUESTS).appendField(J.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},Ep={init:function(){this.setColour(mp),this.appendValueInput("URL").appendField(J.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(J.Msg.blockpy_CONDUCT).appendField(new J.FieldDropdown([["post","post"],["put","put"],["patch","patch"]]),"TYPE").appendField(J.Msg.blockpy_REQUESTS),this.appendValueInput("data").appendField(J.Msg.blockpy_REQUESTS+J.Msg.OLED_STRING),this.appendDummyInput("").appendField(J.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},Rp={init:function(){this.appendValueInput("VAL"),this.setColour(mp),this.appendDummyInput("").appendField(J.Msg.MIXLY_MICROBIT_JS_GET).appendField(new J.FieldDropdown(Rp.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String)},ATTR:[[J.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[J.Msg.blockpy_REQUESTS_GET_ATTR_JSON,"json()"],[J.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[J.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"],[J.Msg.MIXPY_TEXT_ENCODE,"encoding"]]},gp={init:function(){this.setColour(mp),this.appendDummyInput().appendField(J.Msg.MIXLY_ESP32_IOT_CONNECT_WIFI),this.appendValueInput("WIFINAME").setCheck(String).appendField(J.Msg.HTML_NAME),this.appendValueInput("PASSWORD").setCheck(String).appendField(J.Msg.HTML_PASSWORD),this.appendValueInput("TIMEOUT").setCheck(Number).appendField(J.Msg.MIXLY_IR_TIMEOUT),this.appendDummyInput().appendField(J.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(J.Msg.MIXLY_ESP32_IOT_WIFI_CONNECT_TOOLTIP)}},Cp={init:function(){this.setColour(mp),this.appendDummyInput().appendField(J.Msg.MIXLY_ESP32_IOT_EMQX_CONNECT_TOOLTIP),this.appendValueInput("SERVER").setCheck(String).appendField(J.Msg.MIXLY_EMQX_SERVER).setAlign(J.inputs.Align.RIGHT),this.appendValueInput("PORT").setCheck(Number).appendField(J.Msg.MIXLY_EMQX_PORT).setAlign(J.inputs.Align.RIGHT),this.appendValueInput("CLIENT_ID").setCheck(String).appendField(J.Msg.MIXLY_EMQX_CLIENT_ID).setAlign(J.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(J.Msg.MIXLY_WIFI_USERNAME).setAlign(J.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(J.Msg.MIXLY_IOT_PASSWORD).setAlign(J.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ap={init:function(){this.setColour(mp),this.appendValueInput("TOPIC").appendField(J.Msg.MIXLY_EMQX_SUBSCRIBE+J.Msg.MIXLY_MICROBIT_MSG).appendField(J.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MESSAGE").appendField(J.Msg.blockpy_set_of),this.setInputsInline(!0),this.setOutput(!0)}},Lp={init:function(){this.setColour(mp),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(J.Msg.MIXLY_EMQX_SUBSCRIBE+J.Msg.MIXLY_MICROBIT_MSG).appendField(J.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(J.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Sp={init:function(){this.setColour(mp),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(J.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(J.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(J.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Dp={init:function(){this.setColour(mp),this.appendDummyInput().appendField("mqtt"+J.Msg.MIXLY_EMQX_IS_CONNECT),this.setInputsInline(!0),this.setOutput(!0)}},Np="#A58C5B",fp={init:function(){this.setColour(Np),this.appendValueInput("PIN",Number).appendField(new J.FieldDropdown([["DHT11","DHT11"],["DHT22","DHT22"]]),"TYPE").appendField(J.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(new J.FieldDropdown(fp.METHOD),"WHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("WHAT");return{temperature:J.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM,relative_humidity:J.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_HUM,tempandhum:J.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM_HUM}[e]}))},METHOD:[[J.Msg.MIXLY_GETTEMPERATUE,"temperature"],[J.Msg.MIXLY_GETHUMIDITY,"humidity"]]},Pp=(J.Msg.PS2_TRIANGLE,J.Msg.PS2_CIRCLE,J.Msg.PS2_CROSS,J.Msg.PS2_SQUARE,J.Msg.PS2_L1,J.Msg.PS2_L2,J.Msg.PS2_R1,J.Msg.PS2_R2,J.Msg.PS2_UP,J.Msg.PS2_RIGHT,J.Msg.PS2_DOWN,J.Msg.PS2_LEFT,J.Msg.PS2_SELECT,J.Msg.PS2_START,{init:function(){this.setColour(Np),this.appendDummyInput("").appendField(J.Msg.PS2_stick).appendField(new J.FieldDropdown(Pp.PSSTK),"psstk"),this.setOutput(!0,Number),this.setTooltip("")},PSSTK:[[J.Msg.PS2_RX,"0"],[J.Msg.PS2_RY,"1"],[J.Msg.PS2_LX,"2"],[J.Msg.PS2_LY,"3"]]}),Fp={init:function(){this.setColour(Np),this.appendValueInput("SUB").appendField(J.Msg.PS2),this.appendDummyInput("").appendField(J.Msg.MIXLY_JOYSTICK).appendField(new J.FieldDropdown(Fp.PSSTK),"psstk"),this.setOutput(!0,Number),this.setTooltip("")},PSSTK:[[J.Msg.PS2_RX,"RX"],[J.Msg.PS2_RY,"RY"],[J.Msg.PS2_LX,"LX"],[J.Msg.PS2_LY,"LY"]]},vp=40,Yp={init:function(){this.setColour(vp),this.appendValueInput("PIN",Number).appendField(new J.FieldDropdown([["DHT11","dht11"],["DHT22","dht22"]]),"TYPE").appendField(J.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(new J.FieldDropdown(Yp.METHOD),"WHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("WHAT");return{temperature:J.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM,relative_humidity:J.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_HUM,tempandhum:J.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM_HUM}[e]}))},METHOD:[[J.Msg.MIXLY_GETTEMPERATUE,"temperature"],[J.Msg.MIXLY_GETHUMIDITY,"relative_humidity"],[J.Msg.MIXLY_DHT11_T_H,"tempandhum"]]};const Vp=function(t,e){return e.definitions_.import_network="import network",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+" = network.WLAN(network."+this.getFieldValue("mode")+"_IF);\n"},bp=function(t,e){return e.definitions_.import_network="import network",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".connect("+e.valueToCode(this,"id",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"password",e.ORDER_ATOMIC)+")\n"},Xp=function(t,e){return e.definitions_.import_network="import network",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".isconnected()",e.ORDER_ATOMIC]},yp=function(t,e){return e.definitions_.import_network="import network",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".ifconfig()["+this.getFieldValue("mode")+"]",e.ORDER_ATOMIC]},Up=function(t,e){return e.definitions_.import_network="import network",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".disconnect()\n"},Bp=function(t,e){return e.definitions_.import_network="import network",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".active("+this.getFieldValue("op")+")\n"},wp=function(t,e){return e.definitions_.import_network="import network",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".active()",e.ORDER_ATOMIC]},Gp=function(t,e){return e.definitions_.import_network="import network",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".config('"+this.getFieldValue("op")+"')",e.ORDER_ATOMIC]},kp=function(t,e){e.definitions_.import_network="import network";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"essid",e.ORDER_ATOMIC),s=e.valueToCode(this,"password",e.ORDER_ATOMIC);return i+".config(essid = "+n+", channel="+e.valueToCode(this,"channel",e.ORDER_ATOMIC)+",password="+s+")\n"},Hp=function(t,e){return e.definitions_.import_network="import network",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".scan()",e.ORDER_ATOMIC]},xp=function(t,e){e.definitions_["import_server_*"]="from server import *";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);return"if not "+i+".isconnected():\n connectWifi(SSID, PASSWORD)\nip="+i+".ifconfig()[0]\nprint(ip)\ntime.sleep(1)\nDATA=listenData()\n"},Wp=function(t,e){e.definitions_.import_network="import network",e.definitions_.import_socket="import socket";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=this.getFieldValue("mode");return"UDP"==n?n="socket.SOCK_DGRAM":"TCP"==n&&(n="socket.SOCK_STREAM"),i+" = socket.socket(socket.AF_INET, "+n+")\n"},Kp=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".bind("+e.valueToCode(this,"address",e.ORDER_ATOMIC)+")\n"},Qp=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".connect(socket.getaddrinfo"+e.valueToCode(this,"address",e.ORDER_ATOMIC)+"[0][-1])\n"},jp=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".listen("+e.valueToCode(this,"queue",e.ORDER_ATOMIC)+")\n"},Jp=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".accept()",e.ORDER_ATOMIC]},qp=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".readline()",e.ORDER_ATOMIC]},zp=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".recv("+e.valueToCode(this,"size",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Zp=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".send("+e.valueToCode(this,"content",e.ORDER_ATOMIC)+")\n"},$p=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".recvfrom("+e.valueToCode(this,"size",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},tl=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".sendto("+e.valueToCode(this,"content",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"address",e.ORDER_ATOMIC)+")\n"},el=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".close()\n"},il=function(t,e){return e.definitions_.import_requests="import requests",e.variableDB_.getName(this.getFieldValue("VAR"),J.Variables.NAME_TYPE)+"= requests.get("+e.valueToCode(this,"DOMAIN",e.ORDER_ATOMIC)+")\n"},nl=function(t,e){return e.definitions_.import_requests="import requests",[(e.valueToCode(this,"VAL",e.ORDER_ASSIGNMENT)||"0")+"."+this.getFieldValue("ATTR"),e.ORDER_ATOMIC]},sl=function(t,e){return e.definitions_.import_requests="import requests","requests."+this.getFieldValue("DIR")+"("+e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+")\n"},ol=function(t,e){return e.definitions_.import_ntptime="import ntptime",["ntptime.time(host="+e.valueToCode(this,"data",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},_l=function(t,e){return["'"+this.getFieldValue("op")+"'",e.ORDER_ATOMIC]},ul=function(t,e){return e.definitions_.import_urequests="import urequests",["urequests."+this.getFieldValue("TYPE")+"("+e.valueToCode(this,"URL",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},al=function(t,e){return e.definitions_.import_urequests="import urequests",[(e.valueToCode(this,"VAL",e.ORDER_ASSIGNMENT)||"0")+"."+this.getFieldValue("ATTR"),e.ORDER_ATOMIC]},rl=function(t,e){return e.definitions_.import_urequests="import urequests",["urequests."+this.getFieldValue("TYPE")+"("+e.valueToCode(this,"URL",e.ORDER_ATOMIC)+", data="+e.valueToCode(this,"data",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},pl=function(t,e){return e.definitions_.import_educore_wifi="from educore import wifi","wifi.connect(ssid="+e.valueToCode(this,"WIFINAME",e.ORDER_ATOMIC)+", psd="+e.valueToCode(this,"PASSWORD",e.ORDER_ATOMIC)+", timeout="+e.valueToCode(this,"TIMEOUT",e.ORDER_ATOMIC)+")\n"},ll=function(t,e){return e.definitions_.import_educore_mqttclient="from educore import mqttclient","mqttclient.connect(server="+e.valueToCode(this,"SERVER",e.ORDER_ATOMIC)+", port="+e.valueToCode(this,"PORT",e.ORDER_ATOMIC)+", client_id="+e.valueToCode(this,"CLIENT_ID",e.ORDER_ATOMIC)+", user="+e.valueToCode(this,"USERNAME",e.ORDER_ATOMIC)+", psd="+e.valueToCode(this,"PASSWORD",e.ORDER_ATOMIC)+")\n"},Il=function(t,e){e.definitions_.import_educore_mqttclient="from educore import mqttclient";var i=e.valueToCode(this,"TOPIC",e.ORDER_ATOMIC);return["mqttclient."+e.valueToCode(this,"MESSAGE",e.ORDER_ATOMIC)+"("+i+")",e.ORDER_ATOMIC]},Tl=function(t,e){var i=e.valueToCode(this,"TOPIC",e.ORDER_ATOMIC),n=e.valueToCode(this,"METHOD",e.ORDER_ATOMIC);return e.definitions_.import_educore_mqttclient="from educore import mqttclient","mqttclient.received(topic="+i+", callback="+n+")\n"},dl=function(t,e){return e.definitions_.import_educore_mqttclient="from educore import mqttclient","mqtt_client.publish(topic="+e.valueToCode(this,"TOPIC",e.ORDER_ATOMIC)+", content="+e.valueToCode(this,"MSG",e.ORDER_ATOMIC)+")\n"},hl=function(t,e){e.definitions_.import_educore_mqttclient="from educore import mqttclient";return["mqtt_client.connescted()",e.ORDER_ATOMIC]},Ml='
\r\n
{{-d.title}}
\r\n
\r\n {{# if (d.message) { }}\r\n

\r\n {{-d.message}}\r\n

\r\n {{# } }}\r\n
\r\n
',{XML:Ol}=q,{XML:ml}=(Ol.render(Ml,{title:"烧录速度",message:"要选择烧录速度,请更改“Burn Speed”,此值将用于向设备烧录代码。如果在用较高的烧录速度时出现问题,请尝试减小此值,这可能是由于外部串行到USB芯片的限制。"}),q),{XML:cl}=(ml.render(Ml,{title:"燒錄速度",message:"要選擇燒錄速度,請更改“Burn Speed”,此值將用於向設備燒錄程式碼。如果在用較高的燒錄速度時出現問題,請嘗試减小此值,這可能是由於外部串列到USB晶片的限制。"}),q),El=(cl.render(Ml,{title:"Burn Speed",message:"To select the flashing speed, change the Burn Speed. This value will be used for flashing the code to the device. If you have issues while flashing the device at high speed, try to decrease this value. This could be due to the external serial-to-USB chip limitations."}),new J.Generator("Python"));El.INDENT=" ",El.addReservedWords("False,None,True,and,as,assert,break,class,continue,def,del,elif,else,except,exec,finally,for,from,global,if,import,in,is,lambda,nonlocal,not,or,pass,print,raise,return,try,while,with,yield,NotImplemented,Ellipsis,__debug__,quit,exit,copyright,license,credits,ArithmeticError,AssertionError,AttributeError,BaseException,BlockingIOError,BrokenPipeError,BufferError,BytesWarning,ChildProcessError,ConnectionAbortedError,ConnectionError,ConnectionRefusedError,ConnectionResetError,DeprecationWarning,EOFError,Ellipsis,EnvironmentError,Exception,FileExistsError,FileNotFoundError,FloatingPointError,FutureWarning,GeneratorExit,IOError,ImportError,ImportWarning,IndentationError,IndexError,InterruptedError,IsADirectoryError,KeyError,KeyboardInterrupt,LookupError,MemoryError,ModuleNotFoundError,NameError,NotADirectoryError,NotImplemented,NotImplementedError,OSError,OverflowError,PendingDeprecationWarning,PermissionError,ProcessLookupError,RecursionError,ReferenceError,ResourceWarning,RuntimeError,RuntimeWarning,StandardError,StopAsyncIteration,StopIteration,SyntaxError,SyntaxWarning,SystemError,SystemExit,TabError,TimeoutError,TypeError,UnboundLocalError,UnicodeDecodeError,UnicodeEncodeError,UnicodeError,UnicodeTranslateError,UnicodeWarning,UserWarning,ValueError,Warning,ZeroDivisionError,_,__build_class__,__debug__,__doc__,__import__,__loader__,__name__,__package__,__spec__,abs,all,any,apply,ascii,basestring,bin,bool,buffer,bytearray,bytes,callable,chr,classmethod,cmp,coerce,compile,complex,copyright,credits,delattr,dict,dir,divmod,enumerate,eval,exec,execfile,exit,file,filter,float,format,frozenset,getattr,globals,hasattr,hash,help,hex,id,input,int,intern,isinstance,issubclass,iter,len,license,list,locals,long,map,max,memoryview,min,next,object,oct,open,ord,pow,print,property,quit,range,raw_input,reduce,reload,repr,reversed,round,set,setattr,slice,sorted,staticmethod,str,sum,super,tuple,type,unichr,unicode,vars,xrange,zip"),El.ORDER_ATOMIC=0,El.ORDER_COLLECTION=1,El.ORDER_STRING_CONVERSION=1,El.ORDER_UNARY_POSTFIX=1,El.ORDER_UNARY_PREFIX=2,El.ORDER_MEMBER=2.1,El.ORDER_FUNCTION_CALL=2.2,El.ORDER_EXPONENTIATION=3,El.ORDER_UNARY_SIGN=4,El.ORDER_BITWISE_NOT=4,El.ORDER_MULTIPLICATIVE=5,El.ORDER_ADDITIVE=6,El.ORDER_BITWISE_SHIFT=7,El.ORDER_BITWISE_AND=8,El.ORDER_BITWISE_XOR=9,El.ORDER_BITWISE_OR=10,El.ORDER_RELATIONAL=11,El.ORDER_EQUALITY=11,El.ORDER_LOGICAL_NOT=12,El.ORDER_LOGICAL_AND=13,El.ORDER_LOGICAL_OR=14,El.ORDER_ASSIGNMENT=14,El.ORDER_CONDITIONAL=15,El.ORDER_LAMBDA=16,El.ORDER_NONE=99,El.ORDER_OVERRIDES=[[El.ORDER_FUNCTION_CALL,El.ORDER_MEMBER],[El.ORDER_FUNCTION_CALL,El.ORDER_FUNCTION_CALL],[El.ORDER_MEMBER,El.ORDER_MEMBER],[El.ORDER_MEMBER,El.ORDER_FUNCTION_CALL]],El.init=function(){El.PASS=this.INDENT+"pass\n",El.definitions_=Object.create(null),El.functionNames_=Object.create(null),El.setups_=Object.create(null),El.loops_=Object.create(null),El.codeEnd_=Object.create(null),El.variableDB_?El.variableDB_.reset():El.variableDB_=new tt(El.RESERVED_WORDS_)},El.finish=function(t){""!==t&&(t=(t=t.replace(/\n/g,"\n")).replace(/\n\s+$/,"\n"));var e=[],i=[],n=[];for(var s in this.definitions_){var o=this.definitions_[s];0===s.indexOf("import")?e.push(o):0===s.indexOf("var_declare")?i.push(o):n.push(o)}e.length&&e.push("\n"),i.length&&i.push("\n"),n.length&&n.push("\n");var _=[];for(var s in El.functions_)_.push(El.functions_[s]);_.length&&_.push("\n");var u=[];for(var s in El.setups_)u.push(El.setups_[s]);u.length&&u.push("\n");var a=[];for(var s in El.loops_)a.push(El.loops_[s]);var r=[];for(var s in El.codeEnd_)r.push(El.codeEnd_[s]);0!==r.length&&r.push("\n");let p="";return p=a.length>0?e.join("\n")+i.join("\n")+n.join("\n")+_.join("\n")+u.join("")+t+"while True:\n"+a.join("")+r.join("\n"):e.join("\n")+i.join("\n")+n.join("\n")+_.join("\n")+u.join("")+t+r.join("\n"),p},El.scrubNakedValue=function(t){return t+"\n"},El.quote_=function(t){var e="'";return-1!==(t=t.replace(/\\/g,"\\\\").replace(/\n/g,"\\\n")).indexOf("'")&&(-1===t.indexOf('"')?e='"':t=t.replace(/'/g,"\\'")),e+t+e},El.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},El.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(o=t.getCommentText())&&(o=J.utils.string.wrap(o,El.COMMENT_WRAP-3),n+=El.prefixLines(o+"\n","# "));for(var s=0;s0?"int("+u+" + "+s+")":s<0?"int("+u+" - "+-s+")":"int("+u+")",n&&(u="-"+u)),u};const Rl={microbit:{description:"microbit_python",digital:[["P0","0"],["P1","1"],["P2","2"],["P3","3"],["P4","4"],["P5","5"],["P6","6"],["P7","7"],["P8","8"],["P9","9"],["P10","10"],["P11","11"],["P12","12"],["P13","13"],["P14","14"],["P15","15"],["P16","16"],["P19","19"],["P20","20"]],pwm:[["P0","0"],["P1","1"],["P2","2"],["P3","3"],["P4","4"],["P5","5"],["P6","6"],["P7","7"],["P8","8"],["P9","9"],["P10","10"],["P11","11"],["P12","12"],["P13","13"],["P14","14"],["P15","15"],["P16","16"],["P19","19"],["P20","20"]],analog:[["P0","0"],["P1","1"],["P2","2"],["P3","3"],["P4","4"],["P10","10"]],interrupt:[["P0","0"],["P1","1"],["P2","2"]],button:[["A","button_a"],["B","button_b"]],axis:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],brightness:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"]],builtinimg:[["HEART","Image.HEART"],["HEART_SMALL","Image.HEART_SMALL"],["HAPPY","Image.HAPPY"],["SMILE","Image.SMILE"],["SAD","Image.SAD"],["CONFUSED","Image.CONFUSED"],["ANGRY","Image.ANGRY"],["ASLEEP","Image.ASLEEP"],["SURPRISED","Image.SURPRISED"],["SILLY","Image.SILLY"],["FABULOUS","Image.FABULOUS"],["MEH","Image.MEH"],["YES","Image.YES"],["NO","Image.NO"],["CLOCK12","Image.CLOCK12"],["CLOCK11","Image.CLOCK11"],["CLOCK10","Image.CLOCK10"],["CLOCK9","Image.CLOCK9"],["CLOCK8","Image.CLOCK8"],["CLOCK7","Image.CLOCK7"],["CLOCK6","Image.CLOCK6"],["CLOCK5","Image.CLOCK5"],["CLOCK4","Image.CLOCK4"],["CLOCK3","Image.CLOCK3"],["CLOCK2","Image.CLOCK2"],["CLOCK1","Image.CLOCK1"],["ARROW_N","Image.ARROW_N"],["ARROW_NE","Image.ARROW_NE"],["ARROW_E","Image.ARROW_E"],["ARROW_SE","Image.ARROW_SE"],["ARROW_S","Image.ARROW_S"],["ARROW_SW","Image.ARROW_SW"],["ARROW_W","Image.ARROW_W"],["ARROW_NW","Image.ARROW_NW"],["TRIANGLE","Image.TRIANGLE"],["TRIANGLE_LEFT","Image.TRIANGLE_LEFT"],["CHESSBOARD","Image.CHESSBOARD"],["DIAMOND","Image.DIAMOND"],["DIAMOND_SMALL","Image.DIAMOND_SMALL"],["SQUARE","Image.SQUARE"],["SQUARE_SMALL","Image.SQUARE_SMALL"],["RABBIT","Image.RABBIT"],["COW","Image.COW"],["MUSIC_CROTCHET","Image.MUSIC_CROTCHET"],["MUSIC_QUAVER","Image.MUSIC_QUAVER"],["MUSIC_QUAVERS","Image.MUSIC_QUAVERS"],["PITCHFORK","Image.PITCHFORK"],["XMAS","Image.XMAS"],["PACMAN","Image.PACMAN"],["TARGET","Image.TARGET"],["TSHIRT","Image.TSHIRT"],["ROLLERSKATE","Image.ROLLERSKATE"],["DUCK","Image.DUCK"],["HOUSE","Image.HOUSE"],["TORTOISE","Image.TORTOISE"],["BUTTERFLY","Image.BUTTERFLY"],["STICKFIGURE","Image.STICKFIGURE"],["GHOST","Image.GHOST"],["SWORD","Image.SWORD"],["GIRAFFE","Image.GIRAFFE"],["SKULL","Image.SKULL"],["UMBRELLA","Image.UMBRELLA"],["SNAKE","Image.SNAKE"],["ALL_CLOCKS","Image.ALL_CLOCKS"],["ALL_ARROWS","Image.ALL_ARROWS"]],imglist:[["ALL_CLOCKS","Image.ALL_CLOCKS"],["ALL_ARROWS","Image.ALL_ARROWS"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["P0","0"],["P1","1"],["P2","2"],["P8","8"],["P12","12"],["P13","13"],["P14","14"],["P15","15"],["P16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]]}};Rl["Mithon CC"]=Rl.microbit;const gl=Rl,Cl=100,Al={init:function(){this.jsonInit({colour:Cl,nextStatement:null,previousStatement:null,inputsInline:!0,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/music.html#built-in-melodies",message0:J.Msg.MIXLY_MICROBIT_Play_built_in_melody,args0:[{name:"melody",options:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],type:"field_dropdown"},{type:"input_value",name:"PIN"},{type:"input_dummy"},{checked:!0,type:"field_checkbox",name:"wait"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"loop"}]}),this.setTooltip(J.Msg.MIXLY_MICROBIT_Play_built_in_melody1)}},Ll={init:function(){this.jsonInit({colour:Cl,nextStatement:null,previousStatement:null,inputsInline:!0,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/music.html#built-in-melodies",tooltip:"Play one of the built-in melodies. Indicate if you need to wait before continuing or continuously loop the melody.",message0:J.Msg.MIXLY_MICROBIT_Play_built_in_melody_easy,args0:[{name:"melody",options:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],type:"field_dropdown"},{type:"input_value",name:"PIN"},{type:"input_dummy"}]})}},Sl={init:function(){this.setColour(Cl),this.appendValueInput("PIN",Number).appendField(J.Msg.MIXLY_TONE).appendField(J.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("pitch").setCheck(Number).appendField(J.Msg.MIXLY_FREQUENCY),this.appendValueInput("duration").setCheck(Number).appendField(J.Msg.MIXLY_DURATION),this.appendDummyInput("").appendField(J.Msg.MIXLY_MILLIS).appendField(J.Msg.MIXLY_MICROBIT_WAIT),this.appendDummyInput("").appendField(new J.FieldCheckbox(!0),"wait"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(J.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},Dl={init:function(){this.setColour(Cl),this.appendValueInput("PIN",Number).appendField(J.Msg.MIXLY_TONE).appendField(J.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("pitch").setCheck(Number).appendField(J.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(J.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Nl={init:function(){this.jsonInit({colour:Cl,nextStatement:null,previousStatement:null,inputsInline:!0,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/music.html#musical-notation",message0:J.Msg.MIXLY_MICROBIT_Play_notes,args0:[{check:"List",type:"input_value",name:"notes"},{type:"input_value",name:"PIN"},{checked:!0,type:"field_checkbox",name:"wait"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"loop"}]}),this.setTooltip(J.Msg.MIXLY_MICROBIT_Play_notes1)}},fl={init:function(){this.jsonInit({colour:Cl,nextStatement:null,previousStatement:null,inputsInline:!0,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/music.html#musical-notation",tooltip:"Play a list of notes expressed in the special music language. Indicate if you need to wait before continuing or continuously loop the melody.",message0:J.Msg.MIXLY_MICROBIT_Play_notes,args0:[{check:"List",type:"input_value",name:"notes"},{type:"input_value",name:"PIN"},{type:"input_dummy"},{type:"input_dummy"},{type:"input_dummy"}]})}},Pl={init:function(){this.jsonInit({colour:Cl,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/music.html#music.reset",message0:J.Msg.MIXLY_MICROBIT_Reset_music}),this.setTooltip(J.Msg.MIXLY_MICROBIT_Reset_music)}},Fl={init:function(){this.setColour(Cl),this.appendValueInput("PIN").appendField(J.Msg.MIXLY_NOTONE).appendField(J.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(J.Msg.MIXLY_NOTONE)}},vl={init:function(){this.jsonInit({colour:Cl,output:"Array",helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/music.html#music.get_tempo",message0:J.Msg.MIXLY_MICROBIT_Get_current_tempo}),this.setTooltip(J.Msg.MIXLY_MICROBIT_Get_current_tempo)}},Yl={init:function(){this.setColour(Cl),this.appendValueInput("TICKS").setCheck(Number).appendField(J.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(J.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(J.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_MICROBIT_JS_SET_TEMPO1)}},Vl={init:function(){this.setColour(Cl),this.appendValueInput("VAR").setCheck(String).appendField(new J.FieldDropdown([[J.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_SAY,"say"],[J.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_SING,"sing"],[J.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_PRENOUNCE,"pronounce"]]),"MODE"),this.appendValueInput("pitch").setCheck(Number).appendField(J.Msg.MICROBIT_SPEECH_pitch),this.appendValueInput("speed").setCheck(Number).appendField(J.Msg.MIXLY_SPEED),this.appendValueInput("mouth").setCheck(Number).appendField(J.Msg.MICROBIT_SPEECH_mouth),this.appendValueInput("throat").setCheck(Number).appendField(J.Msg.MICROBIT_SPEECH_throat),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=J.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH,n=J.Msg.MIXLY_MICROBIT_TYPE_STRING;return i+{say:J.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_SAY,sing:J.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_SING,pronounce:J.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_PRENOUNCE}[e]+n}))}},bl={init:function(){this.setColour(Cl),this.appendValueInput("VAR").setCheck(String).appendField(J.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_SAY),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Xl={init:function(){this.setColour(Cl),this.appendValueInput("VAR").setCheck(String).appendField(J.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_SING),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},yl={init:function(){this.setColour(Cl),this.appendValueInput("VAR").setCheck(String).appendField(J.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_PRENOUNCE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Ul={init:function(){this.setColour(Cl),this.appendValueInput("VAR").setCheck(String).appendField(J.Msg.MICROBIT_SPEECH_translation),this.setOutput(!0,String),this.setTooltip(J.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+J.Msg.MIXLY_MICROBIT_TYPE_STRING+J.Msg.MICROBIT_SPEECH_translation)}},Bl={init:function(){this.setColour(Cl),this.appendValueInput("PIN",Number).appendField(J.Msg.MIXLY_SERVO).appendField(J.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("DEGREE",Number).setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.MIXLY_DEGREE_0_180),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_TOOLTIP_BLOCKGROUP_SERVO_MOVE)}},wl={init:function(){this.appendValueInput("speed").setCheck(null).appendField(J.Msg.MIXLY_MOTOR).appendField(new J.FieldDropdown([["M1","1"],["M2","2"],["M3","3"],["M4","4"]]),"Motor").appendField(J.Msg.MIXLY_SPEED),this.appendDummyInput().appendField(new J.FieldDropdown([["Forward","1*"],["Reverse","-1*"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Cl),this.setTooltip(""),this.setHelpUrl("")}},Gl={init:function(){this.setColour(Cl),this.appendDummyInput("").appendField(J.Msg.MIXLY_RGB),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.MIXLY_PIN),this.appendValueInput("LEDCOUNT").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.MIXLY_RGB_COUNT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(J.Msg.MIXLY_RGB_PIN_COUNT)}},kl={init:function(){this.setColour(Cl),this.appendDummyInput("").appendField(J.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(J.Msg.MIXLY_RGB_NUM_R_G_B)}},Hl={init:function(){this.setColour(Cl),this.appendDummyInput("").appendField(J.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.MIXLY_RGB_NUM),this.appendDummyInput("").setAlign(J.inputs.Align.RIGHT).appendField(new J.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},xl={init:function(){this.setColour(Cl),this.appendDummyInput("").appendField(J.Msg.MIXLY_RGB),this.appendDummyInput().appendField(J.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(J.Msg.MIXLY_ESP32_MUSIC_WRI)}},Wl={init:function(){this.setColour(Cl),this.appendDummyInput("").appendField(J.Msg.MIXLY_SETUP+" "+J.Msg.QJ00X_MP3),this.appendValueInput("RX").setAlign(J.inputs.Align.RIGHT).appendField("RX#"),this.appendValueInput("TX").setAlign(J.inputs.Align.RIGHT).appendField("TX#"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}};var Kl=[[J.Msg.MIXLY_MP3_PLAY,"play"],[J.Msg.MIXLY_MP3_PAUSE,"pause"],[J.Msg.MIXLY_MP3_NEXT,"next_track"],[J.Msg.MIXLY_MP3_PREV,"prev_track"],[J.Msg.MIXLY_MP3_VOL_UP,"inc_vol"],[J.Msg.MIXLY_MP3_VOL_DOWN,"dec_vol"]];const Ql={init:function(){this.setColour(Cl),this.appendDummyInput("").appendField(J.Msg.QJ00X_MP3),this.appendDummyInput("").appendField(J.Msg.MIXLY_STAT).appendField(new J.FieldDropdown(Kl),"CONTROL_TYPE"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}};var jl=[[J.Msg.MIXLY_MP3_LOOP_ALL,"0"],[J.Msg.MIXLY_MP3_LOOP_FOLDER,"1"],[J.Msg.MIXLY_MP3_LOOP_ONE,"2"],[J.Msg.MIXLY_MP3_LOOP_RAM,"3"]];const Jl={init:function(){this.setColour(Cl),this.appendDummyInput("").appendField(J.Msg.QJ00X_MP3),this.appendDummyInput("").appendField(J.Msg.MIXLY_MP3_LOOP_MODE).appendField(J.Msg.MIXLY_STAT).appendField(new J.FieldDropdown(jl),"LOOP_MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}};var ql=[[J.Msg.MIXLY_MP3_EQ_NORMAL,"0"],[J.Msg.MIXLY_MP3_EQ_POP,"1"],[J.Msg.MIXLY_MP3_EQ_ROCK,"2"],[J.Msg.MIXLY_MP3_EQ_JAZZ,"3"],[J.Msg.MIXLY_MP3_EQ_CLASSIC,"4"],[J.Msg.MIXLY_MP3_EQ_BASS,"5"]];const zl={init:function(){this.setColour(Cl),this.appendDummyInput("").appendField(J.Msg.QJ00X_MP3),this.appendDummyInput("").appendField(J.Msg.MIXLY_MP3_EQ_MODE).appendField(J.Msg.MIXLY_STAT).appendField(new J.FieldDropdown(ql),"EQ_MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}},Zl={init:function(){this.setColour(Cl),this.appendDummyInput("").appendField(J.Msg.QJ00X_MP3),this.appendDummyInput("").appendField(J.Msg.MIXLY_MP3_VOL),this.appendValueInput("vol",Number).appendField(J.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}},$l={init:function(){this.setColour(Cl),this.appendDummyInput("").appendField(J.Msg.QJ00X_MP3),this.appendValueInput("NUM",Number).appendField(J.Msg.MIXLY_MP3_PLAY_NUM).setCheck(Number),this.appendDummyInput("").appendField("首"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}},tI={init:function(){this.setColour(Cl),this.appendDummyInput("").appendField(J.Msg.QJ00X_MP3),this.appendValueInput("FOLDER",Number).appendField(J.Msg.DFPLAYER_MINI_FOLDER).setCheck(Number),this.appendValueInput("NUM",Number).appendField(J.Msg.MIXLY_MP3_PLAY_NUM).setCheck(Number),this.appendDummyInput("").appendField("首"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}},eI=140,iI={init:function(){this.setColour(225),this.appendDummyInput().appendField(new J.FieldDropdown([[J.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,"on"],[J.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,"off"],[J.Msg.HTML_RESET,"reset"]]),"type").appendField(J.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_WIFI),this.setInputsInline(!0),this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("type"),i=J.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_WIFI;return{on:J.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,off:J.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,reset:J.Blockly.Msg.HTML_RESET}[e]+i}))}},nI={init:function(){this.jsonInit({colour:225,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.on",tooltip:"Turn on the radio. This needs to be explicitly called since the radio draws power and takes up memory that you may otherwise need.",message0:J.Msg.MIXLY_MICROBIT_Switch_on_radio})}},sI={init:function(){this.jsonInit({colour:225,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.off",tooltip:"Turn off the radio, thus saving power and memory.",message0:J.Msg.MIXLY_MICROBIT_Switch_off_radio})}},oI={init:function(){this.jsonInit({colour:225,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.config",tooltip:J.Msg.MIXLY_MICROBIT_Configure_radio1,message0:J.Msg.MIXLY_MICROBIT_Configure_radio,args0:[{min:4,value:32,type:"input_value",max:251,name:"length"},{type:"input_dummy"},{min:1,value:3,type:"input_value",max:32,name:"queue"},{type:"input_dummy"},{min:0,value:7,type:"input_value",max:100,name:"channel"},{type:"input_dummy"},{name:"power",type:"input_value"},{type:"input_dummy"},{name:"address",type:"input_value"},{type:"input_dummy"},{name:"group",type:"input_value"},{type:"input_dummy"},{name:"data_rate",type:"input_value"}]})}},_I={init:function(){this.jsonInit({colour:225,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.reset",tooltip:"Reset the radio to default settings.",message0:J.Msg.MIXLY_MICROBIT_Reset_radio})}},uI={init:function(){this.jsonInit({colour:225,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.send",tooltip:"Broadcast a text message.",message0:J.Msg.MIXLY_MICROBIT_Send_message,args0:[{check:"String",type:"input_value",name:"message"}]})}},aI={init:function(){this.setColour(225),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_RADIO_SEND),this.appendDummyInput().appendField(new J.FieldDropdown([[J.Msg.MIXLY_MICROBIT_MSG,"send"],[J.Msg.MIXLY_MICROBIT_MSG_BYTE,"send_bytes"]]),"type"),this.appendValueInput("data"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_MICROBIT_Send_message1)}},rI={init:function(){this.jsonInit({colour:225,output:"String",helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.receive",tooltip:J.Msg.MIXLY_MICROBIT_Receive_message,message0:J.Msg.MIXLY_MICROBIT_Receive_message})}},pI={init:function(){this.setColour(225),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_Receive_message),this.appendDummyInput().appendField(new J.FieldDropdown([[J.Msg.MIXLY_MICROBIT_MSG,"receive"],[J.Msg.MIXLY_MICROBIT_MSG_BYTE,"receive_bytes"],[J.Msg.MIXLY_MICROBIT_MSG_FULL,"receive_full"]]),"type"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_MICROBIT_Receive_message)}},lI={init:function(){this.setColour(eI),this.appendValueInput("RX",Number).appendField(J.Msg.MIXLY_MICROBIT_JS_I2C_SETUP).appendField("sda").setCheck(Number).setAlign(J.inputs.Align.RIGHT),this.appendValueInput("TX",Number).appendField("scl").setCheck(Number).setAlign(J.inputs.Align.RIGHT),this.appendValueInput("freq").setCheck(Number).appendField("频率").setAlign(J.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},II={init:function(){this.setColour(eI),this.appendValueInput("address").setCheck(Number).appendField(J.Msg.MIXLY_MICROBIT_JS_I2C_READ_ADDRESS),this.appendValueInput("data").setCheck(Number).appendField(J.Msg.LANG_MATH_BYTE),this.appendDummyInput().appendField(J.Msg.CONTROLS_REPEAT_TITLE_REPEAT).appendField(new J.FieldCheckbox(!1),"is_repeated"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_MICROBIT_JS_I2C_READ)}},TI={init:function(){this.setColour(eI),this.appendValueInput("address").setCheck(Number).appendField(J.Msg.MIXLY_MICROBIT_JS_I2C_WRITE_ADDRESS),this.appendValueInput("data").setCheck(Number).appendField(J.Msg.MIXLY_MICROBIT_JS_I2C_VALUE),this.appendDummyInput().appendField(J.Msg.CONTROLS_REPEAT_TITLE_REPEAT).appendField(new J.FieldCheckbox(!1),"is_repeated"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(J.Msg.MIXLY_MICROBIT_JS_I2C_WRITE)}},dI={init:function(){this.jsonInit({colour:eI,nextStatement:null,previousStatement:null,message0:J.Msg.MIXLY_MICROBIT_SPI_INIT,args0:[{value:1e6,type:"field_number",name:"freq"},{type:"input_dummy"},{value:8,type:"field_number",name:"bits"},{type:"input_dummy"},{value:0,type:"field_number",name:"mode"},{type:"input_dummy"},{name:"mosi",options:q.Profile.default.digital,type:"field_dropdown"},{name:"miso",options:q.Profile.default.digital,type:"field_dropdown"},{name:"sck",options:q.Profile.default.digital,type:"field_dropdown"}]}),this.setFieldValue("15","mosi"),this.setFieldValue("14","miso"),this.setFieldValue("13","sck")}},hI={init:function(){this.setColour(eI),this.appendValueInput("data").setCheck(Number).appendField(J.Msg.MIXLY_MICROBIT_JS_SPI_WRITE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_MICROBIT_JS_SPI_WRITE)}},MI=180,OI={init:function(){this.jsonInit({colour:MI,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.clear",message0:J.Msg.MIXLY_MICROBIT_Clear_display}),this.setTooltip(J.Msg.MIXLY_MICROBIT_Clear_display)}},mI={init:function(){this.setColour(MI),this.appendValueInput("x").setCheck(Number).appendField(J.Msg.MIXLY_MICROBIT_JS_GET).appendField(J.Msg.MIXLY_BRIGHTNESS).appendField(J.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(J.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(J.Msg.MIXLY_BRIGHTNESS1)}},cI={init:function(){this.setColour(MI),this.appendValueInput("x").setCheck(Number).appendField(J.Msg.MIXLY_MICROBIT_JS_MONITOR_SET_BRIGHTNESS).appendField(J.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(J.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("brightness").setCheck(Number).appendField(J.Msg.MIXLY_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_BRIGHTNESS2)}},EI={init:function(){this.setColour(MI),this.appendValueInput("data").setCheck([String,"microbit_image"]).appendField(J.Msg.MIXLY_MICROBIT_SHOW_IMAGE_OR_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_MICROBIT_SHOW_IMAGE_OR_STRING)}},RI={init:function(){this.setColour(MI),this.appendValueInput("data").setCheck(String).appendField(J.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},gI={init:function(){this.setColour(MI),this.appendValueInput("data").setCheck(String).appendField(J.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("delay").setCheck(null).appendField(J.Msg.MIXLY_DELAY),this.appendDummyInput().appendField(J.Msg.MIXLY_MILLIS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},CI={init:function(){this.setColour(MI),this.appendValueInput("PIN",String).setCheck("microbit_image").appendField(J.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(J.Msg.OLED_BITMAP)}},AI={init:function(){this.jsonInit({colour:MI,InputsInline:!0,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.show",tooltip:"Show the referenced image on the display.",message0:J.Msg.OLED_BITMAP,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SMILE","SMILE"],["SAD","SAD"],["CONFUSED","CONFUSED"],["ANGRY","ANGRY"],["ASLEEP","ASLEEP"],["SURPRISED","SURPRISED"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["MEH","MEH"],["YES","YES"],["NO","NO"],["CLOCK12","CLOCK12"],["CLOCK11","CLOCK11"],["CLOCK10","CLOCK10"],["CLOCK9","CLOCK9"],["CLOCK8","CLOCK8"],["CLOCK7","CLOCK7"],["CLOCK6","CLOCK6"],["CLOCK5","CLOCK5"],["CLOCK4","CLOCK4"],["CLOCK3","CLOCK3"],["CLOCK2","CLOCK2"],["CLOCK1","CLOCK1"],["ARROW_N","ARROW_N"],["ARROW_NE","ARROW_NE"],["ARROW_E","ARROW_E"],["ARROW_SE","ARROW_SE"],["ARROW_S","ARROW_S"],["ARROW_SW","ARROW_SW"],["ARROW_W","ARROW_W"],["ARROW_NW","ARROW_NW"],["TRIANGLE","TRIANGLE"],["TRIANGLE_LEFT","TRIANGLE_LEFT"],["CHESSBOARD","CHESSBOARD"],["DIAMOND","DIAMOND"],["DIAMOND_SMALL","DIAMOND_SMALL"],["SQUARE","SQUARE"],["SQUARE_SMALL","SQUARE_SMALL"],["RABBIT","RABBIT"],["COW","COW"],["MUSIC_CROTCHET","MUSIC_CROTCHET"],["MUSIC_QUAVER","MUSIC_QUAVER"],["MUSIC_QUAVERS","MUSIC_QUAVERS"],["PITCHFORK","PITCHFORK"],["XMAS","XMAS"],["PACMAN","PACMAN"],["TARGET","TARGET"],["TSHIRT","TSHIRT"],["ROLLERSKATE","ROLLERSKATE"],["DUCK","DUCK"],["HOUSE","HOUSE"],["TORTOISE","TORTOISE"],["BUTTERFLY","BUTTERFLY"],["STICKFIGURE","STICKFIGURE"],["GHOST","GHOST"],["SWORD","SWORD"],["GIRAFFE","GIRAFFE"],["SKULL","SKULL"],["UMBRELLA","UMBRELLA"],["SNAKE","SNAKE"],["ALL_CLOCKS","ALL_CLOCKS"],["ALL_ARROWS","ALL_ARROWS"]],type:"field_dropdown"}]})}},LI={init:function(){this.jsonInit({colour:MI,inputsInline:!0,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.show",message0:J.Msg.MIXLY_MICROBIT_Animate_images_or_string,args0:[{check:[String,"List"],type:"input_value",name:"images"},{type:"input_value",name:"delay"},{type:"input_dummy"},{checked:!0,type:"field_checkbox",name:"wait"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"loop"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"clear"}]}),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_MICROBIT_JS_MONITOR_SHOW_delay+J.Msg.MIXLY_MICROBIT_Animate_images1)}},SI={init:function(){this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.jsonInit({colour:MI,inputsInline:!0,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.show",tooltip:"Display the list of images as an animation with a certain delay between each frame. Indicate if you need to wait before continuing, continuously loop the animation and clear the display when finished.",message0:J.Msg.MIXLY_MICROBIT_SHOW_STRING,args0:[{check:String,type:"input_value",name:"images"},{type:"input_value",name:"delay"},{type:"input_dummy"},{checked:!0,type:"field_checkbox",name:"wait"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"loop"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"clear"}]}),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING)}},DI={init:function(){this.jsonInit({colour:MI,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.scroll",tooltip:"Scroll the referenced text across the display.",message0:J.Msg.MIXLY_MICROBIT_Scroll_message,args0:[{check:"String",type:"input_value",name:"message"}]})}},NI={init:function(){this.setColour(MI),this.appendDummyInput().appendField(new J.FieldDropdown([[J.Msg.MIXLY_MICROBIT_Turn_on_display,"on"],[J.Msg.MIXLY_MICROBIT_Turn_off_display,"off"]]),"on_off").appendField(J.Msg.MIXLY_MICROBIT_monitor),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("on_off"),i=J.Msg.MIXLY_MICROBIT_monitor;return{on:J.Msg.MIXLY_MICROBIT_Turn_on_display,off:J.Msg.MIXLY_MICROBIT_Turn_off_display}[e]+i}))}},fI={init:function(){this.jsonInit({colour:MI,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.off",tooltip:"Turn off the display.",message0:J.Msg.MIXLY_MICROBIT_Turn_off_display})}},PI={init:function(){this.jsonInit({colour:MI,output:"Boolean",helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.is_on",message0:J.Msg.MIXLY_MICROBIT_Display_is_on}),this.setTooltip(J.Msg.MIXLY_MICROBIT_Display_is_on1)}},FI={init:function(){this.jsonInit({colour:MI,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SMILE","SMILE"],["SAD","SAD"],["CONFUSED","CONFUSED"],["ANGRY","ANGRY"],["ASLEEP","ASLEEP"],["SURPRISED","SURPRISED"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["MEH","MEH"],["YES","YES"],["NO","NO"],["CLOCK12","CLOCK12"],["CLOCK11","CLOCK11"],["CLOCK10","CLOCK10"],["CLOCK9","CLOCK9"],["CLOCK8","CLOCK8"],["CLOCK7","CLOCK7"],["CLOCK6","CLOCK6"],["CLOCK5","CLOCK5"],["CLOCK4","CLOCK4"],["CLOCK3","CLOCK3"],["CLOCK2","CLOCK2"],["CLOCK1","CLOCK1"],["ARROW_N","ARROW_N"],["ARROW_NE","ARROW_NE"],["ARROW_E","ARROW_E"],["ARROW_SE","ARROW_SE"],["ARROW_S","ARROW_S"],["ARROW_SW","ARROW_SW"],["ARROW_W","ARROW_W"],["ARROW_NW","ARROW_NW"],["TRIANGLE","TRIANGLE"],["TRIANGLE_LEFT","TRIANGLE_LEFT"],["CHESSBOARD","CHESSBOARD"],["DIAMOND","DIAMOND"],["DIAMOND_SMALL","DIAMOND_SMALL"],["SQUARE","SQUARE"],["SQUARE_SMALL","SQUARE_SMALL"],["RABBIT","RABBIT"],["COW","COW"],["MUSIC_CROTCHET","MUSIC_CROTCHET"],["MUSIC_QUAVER","MUSIC_QUAVER"],["MUSIC_QUAVERS","MUSIC_QUAVERS"],["PITCHFORK","PITCHFORK"],["XMAS","XMAS"],["PACMAN","PACMAN"],["TARGET","TARGET"],["TSHIRT","TSHIRT"],["ROLLERSKATE","ROLLERSKATE"],["DUCK","DUCK"],["HOUSE","HOUSE"],["TORTOISE","TORTOISE"],["BUTTERFLY","BUTTERFLY"],["STICKFIGURE","STICKFIGURE"],["GHOST","GHOST"],["SWORD","SWORD"],["GIRAFFE","GIRAFFE"],["SKULL","SKULL"],["UMBRELLA","UMBRELLA"],["SNAKE","SNAKE"],["ALL_CLOCKS","ALL_CLOCKS"],["ALL_ARROWS","ALL_ARROWS"]],type:"field_dropdown"}],output:["microbit_image","List"],helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#attributes",tooltip:J.Msg.MIXLY_MICROBIT_Built_in_image1,message0:J.Msg.MIXLY_MICROBIT_Built_in_image})}},vI={init:function(){this.jsonInit({colour:MI,args0:[{check:["microbit_image","List",String],type:"input_value",name:"image"}],output:"microbit_image",helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#microbit.Image.copy",message0:J.Msg.MIXLY_MICROBIT_Copy_image}),this.setTooltip(J.Msg.MIXLY_MICROBIT_Copy_image1)}},YI={init:function(){this.jsonInit({colour:MI,args0:[{check:["microbit_image","List",String],type:"input_value",name:"image"}],output:"microbit_image",helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#microbit.Image.invert",message0:J.Msg.MIXLY_MICROBIT_Invert_image}),this.setTooltip(J.Msg.MIXLY_MICROBIT_Invert_image1)}},VI={init:function(){this.jsonInit({colour:MI,args0:[{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"00"},{colour:"#000000",type:"field_colour",name:"01"},{colour:"#000000",type:"field_colour",name:"02"},{colour:"#000000",type:"field_colour",name:"03"},{colour:"#000000",type:"field_colour",name:"04"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"10"},{colour:"#000000",type:"field_colour",name:"11"},{colour:"#000000",type:"field_colour",name:"12"},{colour:"#000000",type:"field_colour",name:"13"},{colour:"#000000",type:"field_colour",name:"14"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"20"},{colour:"#000000",type:"field_colour",name:"21"},{colour:"#000000",type:"field_colour",name:"22"},{colour:"#000000",type:"field_colour",name:"23"},{colour:"#000000",type:"field_colour",name:"24"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"30"},{colour:"#000000",type:"field_colour",name:"31"},{colour:"#000000",type:"field_colour",name:"32"},{colour:"#000000",type:"field_colour",name:"33"},{colour:"#000000",type:"field_colour",name:"34"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"40"},{colour:"#000000",type:"field_colour",name:"41"},{colour:"#000000",type:"field_colour",name:"42"},{colour:"#000000",type:"field_colour",name:"43"},{colour:"#000000",type:"field_colour",name:"44"}],output:"microbit_image",helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#microbit.Image",message0:J.Msg.MIXLY_MICROBIT_Create_image}),this.setTooltip(J.Msg.MIXLY_MICROBIT_Create_image1)}},bI={init:function(){var t=[[J.Msg.MIXLY_UP,"up"],[J.Msg.MIXLY_DOWN,"down"],[J.Msg.MIXLY_LEFT,"left"],[J.Msg.MIXLY_RIGHT,"right"]];this.setColour(MI),this.setOutput(!0,"microbit_image"),this.setInputsInline(!0),this.appendValueInput("img").appendField(J.Msg.DISPLAY_IMAGE_LET).setCheck(["microbit_image","List",String]),this.appendDummyInput("").appendField(J.Msg.DISPLAY_IMAGE_LET2).appendField(new J.FieldDropdown(t),"OP"),this.appendValueInput("val").appendField(J.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(J.Msg.DISPLAY_IMAGE_UNIT);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i=J.Msg.DISPLAY_IMAGE_LET,n=J.Msg.DISPLAY_IMAGE_LET2,s=J.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:J.Msg.MIXLY_UP,down:J.Msg.MIXLY_DOWN,left:J.Msg.MIXLY_LEFT,right:J.Msg.MIXLY_RIGHT}[t]+s}))}},XI={init:function(){var t=[[J.Msg.MICROBIT_DISPLAY_UNION,"+"],[J.Msg.MICROBIT_DISPLAY_MINUS,"-"]];this.setColour(MI),this.setOutput(!0,"microbit_image"),this.appendValueInput("A").appendField(J.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new J.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{"+":J.Msg.MIXLY_MICROBIT_image_add,"-":J.Msg.MIXLY_MICROBIT_image_reduce}[t]}))}},yI={init:function(){this.setColour(MI),this.appendValueInput("TEXT",String).setCheck([String,Number]).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.MIXLY_DF_LCD).appendField("mylcd").appendField(J.Msg.MIXLY_LCD_PRINT1),this.appendValueInput("TEXT2",String).setCheck([String,Number]).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.MIXLY_LCD_PRINT2),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(J.Msg.MIXLY_LCD_PRINT4_TOOLTIP)}},UI={init:function(){this.setColour(MI),this.appendValueInput("device").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.MIXLY_SETUP).appendField(J.Msg.MIXLY_DF_LCD).appendField("1602").appendField("mylcd").appendField(J.Msg.MIXLY_LCD_ADDRESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_SETUP+J.Msg.MIXLY_DF_LCD+J.Msg.MIXLY_LCD_ADDRESS)}},BI={init:function(){this.setColour(MI),this.appendValueInput("row",Number).setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.MIXLY_DF_LCD).appendField("mylcd").appendField(J.Msg.MIXLY_LCD_ROW),this.appendValueInput("column",Number).setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.MIXLY_LCD_COLUMN),this.appendValueInput("TEXT",String).setCheck([String,Number]).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.MIXLY_LCD_PRINT),this.setPreviousStatement(!0,null),this.setInputsInline(!0),this.setNextStatement(!0,null),this.setTooltip(J.Msg.MIXLY_LCD_PRINT3_TOOLTIP)}},wI={init:function(){this.setColour(MI),this.appendDummyInput().appendField(J.Msg.MIXLY_DF_LCD).appendField("mylcd").appendField(new J.FieldDropdown([[J.Msg.MIXLY_ON,"on()"],[J.Msg.MIXLY_OFF,"off()"],[J.Msg.MIXLY_LCD_STAT_CLEAR,"clear()"],[J.Msg.MIXLY_LCD_NOBACKLIGHT,"backlight(False)"],[J.Msg.MIXLY_LCD_BACKLIGHT,"backlight(True)"]]),"STAT"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);var t=this;this.setTooltip((function(){var e=t.getFieldValue("STAT");return J.Msg.LISTS_SET_INDEX_SET+J.Msg.MIXLY_DF_LCD+{"on()":J.Msg.MIXLY_ON,"off()":J.Msg.MIXLY_OFF,"clear()":J.Msg.MIXLY_LCD_STAT_CLEAR,"backlight(off)":J.Msg.MIXLY_LCD_NOBACKLIGHT,"backlight(on)":J.Msg.MIXLY_LCD_BACKLIGHT}[e]}))}},GI={init:function(){this.appendDummyInput().appendField(J.Msg.MIXLY_DF_LCD+" OLED "+J.Msg.OLEDDISPLAY),this.appendValueInput("Text_line1","String").setAlign(J.inputs.Align.RIGHT).appendField("(128*64) "+J.Msg.line1),this.appendValueInput("Text_line2","String").setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.line2),this.appendValueInput("Text_line3","String").setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.line3),this.appendValueInput("Text_line4","String").setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.line4),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(MI),this.setTooltip(J.Msg.MIXLY_DF_LCD+J.Msg.OLEDDISPLAY+J.Msg.MIXLY_MICROBIT_TYPE_STRING)}},kI={init:function(){var t=[[J.Msg.MIXLY_HEIGHT,"height"],[J.Msg.MIXLY_WIDTH,"width"]];this.setColour(MI),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+J.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("microbit_image"),this.appendDummyInput("").appendField(new J.FieldDropdown(t),"OP"),this.setInputsInline(!0),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return J.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+J.Msg.MIXLY_MICROBIT_IMAGE+{height:J.Msg.MIXLY_HEIGHT,width:J.Msg.MIXLY_WIDTH}[t]}))}},HI={init:function(){this.setColour(MI),this.appendValueInput("SUB"),this.appendDummyInput().appendField(new J.FieldDropdown([[J.Msg.MIXLY_LCD_STAT_CLEAR,"0"],[J.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL,"1"]]),"key"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i={0:J.Msg.MIXLY_LCD_STAT_CLEAR,1:J.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL};return J.Msg.MIXLY_DF_LCD+i[e]}))}},xI="#777777",WI={init:function(){this.setColour(xI),this.appendDummyInput("").appendField("from ").appendField(new J.FieldTextInput("microbit"),"path").appendField(" import ").appendField(new J.FieldTextInput("*"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},KI={init:function(){this.setColour(xI),this.appendDummyInput("").appendField("import ").appendField(new J.FieldTextInput("module"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},QI={init:function(){this.setColour(xI),this.appendDummyInput("").appendField(new J.FieldTextInput("my_function"),"NAME"),this.itemCount_=1,this.arguments_=["x"],this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new J.icons.MutatorIcon(["factory_create_with_item"],this))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("items",this.itemCount_);for(var e=0;e0)var u="rgb_show.mixly_rgb_show("+(i-1)+", "+s+", "+o+", "+_+")\n";else u="rgb_show.mixly_rgb_show_all("+s+", "+o+", "+_+")\n";return u},MM=function(t,e){var i=this.getFieldValue("LED");if(e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_neopixel="import neopixel",e.definitions_.import_rgb_show="import rgb_show",i>0)var n="rgb_show.mixly_rgb_show("+(i-1)+", 0, 0, 0)\n";else n="rgb_show.mixly_rgb_show_all(0, 0, 0)\n";return n},OM=function(t,e){var i=e.valueToCode(this,"_LED_",e.ORDER_ATOMIC),n=e.valueToCode(this,"RVALUE",e.ORDER_ATOMIC),s=e.valueToCode(this,"GVALUE",e.ORDER_ATOMIC),o=e.valueToCode(this,"BVALUE",e.ORDER_ATOMIC);return e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_neopixel="import neopixel",e.definitions_.import_rgb_show="import rgb_show","rgb_show.mixly_rgb_show("+i+", "+n+", "+s+", "+o+")\n"},mM=function(t,e){var i=this.getFieldValue("NUMBER"),n=e.valueToCode(this,"SPEED",e.ORDER_ATOMIC),s=this.getFieldValue("DIRECTION");if(e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_motor_control="import motor_control",0==i)var o="motor_control.motor1("+n+", "+s+")\nmotor_control.motor2("+n+", "+s+")\nmotor_control.motor3("+n+", "+s+")\n";else if(1==i)o="motor_control.motor1("+n+", "+s+")\n";else if(2==i)o="motor_control.motor2("+n+", "+s+")\n";else if(3==i)o="motor_control.motor3("+n+", "+s+")\n";return o},cM=function(t,e){var i=this.getFieldValue("NUMBER");if(e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_motor_control="import motor_control",0==i)var n="motor_control.motor1(0)\nmotor_control.motor2(0)\nmotor_control.motor3(0)\n";else if(1==i)n="motor_control.motor1(0)\n";else if(2==i)n="motor_control.motor2(0)\n";else if(3==i)n="motor_control.motor3(0)\n";return n},EM=function(t,e){return["pin"+this.getFieldValue("NUMBER")+".read_analog()",e.ORDER_ATOMIC]},RM=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";var i=e.valueToCode(this,"btn",e.ORDER_ATOMIC);e.setups_["on_"+i]="def on_"+i+"():\n while True:\n if "+i+".was_pressed():\n yield callback_"+i+"()\n else:\n yield\n\nfunc_"+i+" = on_"+i+"()\n";var n=e.statementToCode(t,"DO");n=e.addLoopTrap(n,t.id)||e.PASS;return e.loops_[i+"_loop"]=" next(func_"+i+")\n","def callback_"+i+"():\n"+n},gM=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";var i=this.getFieldValue("gesture");e.setups_["on_"+i]="def on_gesture_"+i+'():\n while True:\n if accelerometer.is_gesture("'+i+'"):\n yield callback_gesture_'+i+"()\n else:\n yield\n\nfunc_gesture_"+i+" = on_gesture_"+i+"()\n";var n=e.statementToCode(t,"DO");n=e.addLoopTrap(n,t.id)||e.PASS;return e.loops_[i+"_loop"]=" next(func_gesture_"+i+")\n","def callback_gesture_"+i+"():\n"+n},CM=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";var i=this.getFieldValue("near");e.setups_["on_"+i]="def on_near_"+i+"():\n while True:\n if not pin"+i+".read_digital():\n yield callback_near_"+i+"()\n else:\n yield\n\nfunc_near_"+i+" = on_near_"+i+"()\n";var n=e.statementToCode(t,"DO");n=e.addLoopTrap(n,t.id)||e.PASS;return e.loops_[i+"_loop"]=" next(func_near_"+i+")\n","def callback_near_"+i+"():\n"+n},AM=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";var i=e.valueToCode(this,"TIMES",e.ORDER_ATOMIC),n=e.statementToCode(t,"DO");return"for _my_variable in range("+i+"):\n"+(n=e.addLoopTrap(n,t.id)||e.PASS)},LM=function(t,e){return[this.getFieldValue("PIN"),e.ORDER_ATOMIC]},SM=LM,DM=LM,NM=LM,fM=LM,PM=LM,FM=LM,vM=LM,YM=LM,VM=LM,bM=LM,XM=LM,yM=LM,UM=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",[e.valueToCode(this,"btn",e.ORDER_ATOMIC)+".is_pressed()",e.ORDER_ATOMIC]},BM=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",[e.valueToCode(this,"btn",e.ORDER_ATOMIC)+".was_pressed()",e.ORDER_ATOMIC]},wM=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",[e.valueToCode(this,"btn",e.ORDER_ATOMIC)+".get_presses()",e.ORDER_ATOMIC]},GM=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",['"'+this.getFieldValue("gesture")+'"',e.ORDER_ATOMIC]},kM=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",'if accelerometer.is_gesture("'+this.getFieldValue("gesture")+'"):\n'+(e.statementToCode(this,"DO")||e.PASS)},HM=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",['accelerometer.is_gesture("'+this.getFieldValue("gesture")+'")',e.ORDER_ATOMIC]},xM=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",['accelerometer.was_gesture("'+this.getFieldValue("gesture")+'")',e.ORDER_ATOMIC]},WM=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",'if accelerometer.was_gesture("'+this.getFieldValue("gesture")+'"):\n'+(e.statementToCode(this,"DO")||e.PASS)},KM=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";var i,n=this.getFieldValue("GES");return"all"==n?i="accelerometer.get_gestures()":"current"==n&&(i="accelerometer.current_gesture()"),[i,e.ORDER_ATOMIC]},QM=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",["accelerometer.current_gesture()",e.ORDER_ATOMIC]},jM=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",["accelerometer.get_"+this.getFieldValue("key")+"()",e.ORDER_ATOMIC]},JM=function(){return"input.setAccelerometerRange("+this.getFieldValue("key")+")\n"},qM=function(t,e){return["input.lightLevel()",e.ORDER_ATOMIC]},zM=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","compass.calibrate()\n"},ZM=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",["compass.is_calibrated()",e.ORDER_ATOMIC]},$M=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",["compass.heading()",e.ORDER_ATOMIC]},tO=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",["temperature()",e.ORDER_ATOMIC]},eO=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",["compass."+this.getFieldValue("compass")+"()",e.ORDER_ATOMIC]},iO=function(t,e){return["input.rotation("+this.getFieldValue("key")+")",e.ORDER_ATOMIC]},nO=function(t,e){return["input.magneticForce("+this.getFieldValue("key")+")",e.ORDER_ATOMIC]},sO=function(t,e){var i=this.getFieldValue("Trig"),n=this.getFieldValue("Echo");return e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_ultrasonic="import ultrasonic",["ultrasonic.distance_cm(t_pin=pin"+i+", e_pin=pin"+n+")",e.ORDER_ATOMIC]},oO=function(t,e){var i=this.getFieldValue("Trig"),n=this.getFieldValue("Echo");return e.definitions_["import_microbit_*"]="from microbit import *",e.setups_.class_hrsc04_="class HCSR04:\n def __init__(self, tpin=pin"+i+", epin=pin"+n+', spin=pin13):\n self.trigger_pin = tpin\n self.echo_pin = epin\n self.sclk_pin = spin\n\n def distance_mm(self):\n spi.init(baudrate=125000, sclk=self.sclk_pin,\n mosi=self.trigger_pin, miso=self.echo_pin)\n pre = 0\n post = 0\n k = -1\n length = 500\n resp = bytearray(length)\n resp[0] = 0xFF\n spi.write_readinto(resp, resp)\n # find first non zero value\n try:\n i, value = next((ind, v) for ind, v in enumerate(resp) if v)\n except StopIteration:\n i = -1\n if i > 0:\n pre = bin(value).count("1")\n # find first non full high value afterwards\n try:\n k, value = next((ind, v)\n for ind, v in enumerate(resp[i:length - 2]) if resp[i + ind + 1] == 0)\n post = bin(value).count("1") if k else 0\n k = k + i\n except StopIteration:\n i = -1\n dist= -1 if i < 0 else round((pre + (k - i) * 8. + post) * 8 * 0.172)\n return dist\n\n def distance_cm(self):\n return self.distance_mm() / 10.0\n\nsonar=HCSR04()\n\n',["sonar.distance_cm()",e.ORDER_ATOMIC]},_O=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_RTC="from RTC import *"},uO=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_RTC="from RTC import *";var i=this.getFieldValue("TIME_TYPE");switch(i){case"Year":case"Month":case"Day":case"Hour":case"Minute":case"Second":case"Week":return["ds."+i+"()",e.ORDER_ASSIGNMENT];case"Mix1":return["ds.get_date()",e.ORDER_ASSIGNMENT];case"Mix2":return["ds.get_time()",e.ORDER_ASSIGNMENT]}},aO=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_RTC="from RTC import *","ds.set_time("+e.valueToCode(this,"hour",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"minute",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"second",e.ORDER_ASSIGNMENT)+")\n"},rO=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_RTC="from RTC import *","ds.set_date("+e.valueToCode(this,"year",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"month",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"day",e.ORDER_ASSIGNMENT)+")\n"},pO=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","compass.clear_calibration()\n"},lO=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",["display.read_light_level()",e.ORDER_ATOMIC]},IO=function(t,e){var i=this.getFieldValue("Trig"),n=this.getFieldValue("Echo");return e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_ultrasonic="from ultrasonic import *","sonar = HCSR04(tpin=pin"+i+", epin=pin"+n+")\n"},TO=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_TCS="from TCS import *",["tcs.getRawRGBData("+this.getFieldValue("TCS34725_COLOR")+")",e.ORDER_ATOMIC]},dO=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","uart.write(str("+(e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC)||'""')+"))\n"},hO=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","uart.write(str("+(e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC)||'""')+")+'\\r\\n')\n"},MO=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","uart.write(str(hex("+(e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC)||"0")+")) + '\\r\\n')\n"},OO=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";var i=e.valueToCode(this,"char_marker",e.ORDER_ATOMIC)||";",n=e.statementToCode(this,"DO");e.definitions_["func_serial_receive_data_event_"+i.charCodeAt(1)]="serial.onDataReceived("+i+", () => {\n"+n+"}\n"},mO=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";return["uart.any()",e.ORDER_ATOMIC]},cO=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";return["uart.read()",e.ORDER_ATOMIC]},EO=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";return["uart.readline()",e.ORDER_ATOMIC]},RO=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",["serial.readUntil("+this.getFieldValue("char_marker")+")",e.ORDER_ATOMIC]},gO=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";var i=e.valueToCode(this,"RX",e.ORDER_ATOMIC),n=e.valueToCode(this,"TX",e.ORDER_ATOMIC);return isNaN(parseInt(i))||(i="pin"+i),isNaN(parseInt(n))||(n="pin"+n),"uart.init(rx="+i+", tx="+n+", baudrate="+this.getFieldValue("baudrate")+")\n"},CO=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","uart.init(baudrate="+this.getFieldValue("baudrate")+")\n"},AO=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",["input("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||'""')+")",e.ORDER_ATOMIC]},LO=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","print("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||'""')+")\n"},SO=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","print("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||'""')+',end ="")\n'},DO=function(t,e){return"control.inBackground(() => {\n"+e.statementToCode(this,"do")+"})\n"},NO=function(){return"control.reset()\n"},fO=function(t,e){return"control.waitMicros("+(e.valueToCode(this,"data",e.ORDER_ATOMIC)||q.Profile.default.serial)+")\n"},PO=function(t,e){return"control.raiseEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||q.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||q.Profile.default.serial)+")\n"},FO=function(t,e){return"control.onEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||q.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||q.Profile.default.serial)+", () => {\n"+e.statementToCode(this,"do")+")\n"},vO=function(t,e){return["control.eventTimestamp()",e.ORDER_ATOMIC]},YO=function(t,e){return["control.eventValue()",e.ORDER_ATOMIC]},VO=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},bO=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},XO=function(t,e){return["control.deviceName()",e.ORDER_ATOMIC]},yO=function(t,e){return["control.deviceSerialNumber()",e.ORDER_ATOMIC]},UO=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","sleep("+(e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000")+")\n"},BO=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","panic("+(e.valueToCode(this,"STATUS_CODE",e.ORDER_ATOMIC)||"1000")+")\n"},wO=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";return["running_time()",e.ORDER_ATOMIC]},GO=function(){return"while True:\n pass\n"},kO=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","reset()\n"},HO=function(t,e){return e.definitions_.import_os="import os",["os.uname()",e.ORDER_ATOMIC]};Object.assign(J.Variables,Z),Object.assign(J.Procedures,dr),J.Python=hr,J.generator=hr,q.Profile.default={},Object.assign(q.Profile,gl),Object.assign(q.Profile.default,gl.microbit),Object.assign(J.Blocks,e,i,n,s,o,_,u,a,r,p,l,I,T,D,f,P,F,F,v,Y,V,b,X,y,U),Object.assign(J.Python.forBlock,d,h,M,O,m,c,E,R,g,C,A,L,S,N,B,w,G,G,k,H,x,W,K,Q,j)})(); \ No newline at end of file diff --git a/boards/default/micropython_robot/index.xml b/boards/default/micropython_robot/index.xml index 6d730f9e..5ec597d0 100644 --- a/boards/default/micropython_robot/index.xml +++ b/boards/default/micropython_robot/index.xml @@ -1 +1 @@ -02000attachInterrupt_funcattachInterrupt_func10,1,2,3051iDIVIDE10Exception as eetestThreadtestThreadWHILETRUEHello Mixly from Thread!ms10timtim1000tim_callbacktim_callback5000200090x151100a10.998124.82997110010101000110050110011000110x2x0,1,2,30,1,2,30,1,2,3xMixlyMixlyHelloMixly65axMixlyMixly0Mixly02MixlyMixlyHello,mixlyl--mylistHello,mixlymixlymixpyI love mixly!I love mixlyRandom No. is {}int1100input('1+2*3')mylist1,2,3,4,5mylist0mylist02mylistmylistmylist0mylist00mylist00mylist0mylist0mylist0mylistmylistmylistxmytup1,2,3,4,5mytup0mytup02mytupmytupmytupmytup0mytupmytup1mytup2xmydictmydictkeymydictkey0mydictkey0mydictkeymydictkeymydictkey0mydictmydictmydictmydictxmydict{"name":"Mixly","color":"green"}s11,2,3,4,5s1s1s1s2s1s2s10s1Mixlys1s2xMixlyMixlyMixly,HelloMixlyprompt02MixlyMixly0XFF00FFcodebMixlyMixly1attachInterrupt_funcattachInterrupt_func00Mixly0Mixly20189141420452023,1,1,12,0,0180291001001001001004404401000004120000000000010001000Mixly0MixlyMixly500MixlyMixly500>10.50.5wifinamewifipassword8080AUTH TOKEN0_value02000notify0Your Target Emailsubjectbodycolor#FF0000wifinamewifipasswordmixio.mixly.cnmixio.mixly.cnA1B2C3mixio.mixly.cnusernamepasswordMyProjecttopicmsgtopicmsgtopicmethodmethodEQmsg1content"long""lat""message"012content"key1""key2""key3"012https://mixio.mixly.cn/time.phpmixio.mixly.cnwifinamewifipasswordcsub_cb31444082183.230.40.3914109261n63JySRowo13ZLDBKw6y896E0=MixlyRobotsub_cbEQmsg1ciot_dict"tc"ciot_dictccwifinamewifipasswordclientEnter Your API_KEYEnter Your SECRET_KEYclient1clientS72099北京今天天气如何?wifinamewifipasswordSGJl0ExVN-4j27msR北京SGJl0ExVN-4j27msR北京1SGJl0ExVN-4j27msR北京24https://mixio.mixly.cn/tinydbusernamepasswordmqtt_clientmixlyhellomixly11mixlymixlyble_cble_pMixlyble_cble_cMixlyble_cble_xble_xble_xMixlyble_xble_methodble_methodEQdataMixlyhandlehandle_methodhandle_methodkey1key2key3keyx02000001000009000,4500,563,5630x1234callbackcmdaddrrawpulsesi2c2221100000i2c00i2c00i2ci2ci2cspi200000045spi200000buf50spi10spi100xffspibufspibuf0xffspi12345spi12345buf1Mixlyow12owowow12345ow12345owmy_now0my_nowmy_nowmy_nowFFFFFFFFFFFFmixlymy_nowmy_nowcbcbEQmsg1spi10000004512spi8my_lora433.925716my_loramy_loramy_loraMixly100100100180100360100100filename.txtfMixlyfff0fffpathpathfilename.txtsrcname.txtdstname.txtff0wifinamewifipasswordwlanwlanwlanwlanwlan127.16.0.801234567wlanwlanwlanwlanwlanmixly123456781connect_wifiwlanAPwlanTruewlanwlanSmallCabbage1234561WHILETRUEEQ0wlan0.0.0.0ms1000TRUEss0.0.0.080s192.168.0.180s5sss1024sbMixlyresponses1024sbMixlyresponse127.0.0.180sntp.aliyun.comresponsehttp://mixio.mixly.cnresponsehttp://mixio.mixly.cnresponsehttp://192.168.1.1:11434qwen2.5-coder:0.5b5https://api.deepseek.comAPI Keydeepseek-chat5请介绍一下米思齐?content_callbackcontent_callbackcontent请介绍一下米思齐? \ No newline at end of file +02000attachInterrupt_funcattachInterrupt_func10,1,2,3051iDIVIDE10Exception as eetestThreadtestThreadWHILETRUEHello Mixly from Thread!ms10timtim1000tim_callbacktim_callback5000200090x151100a10.998124.82997110010101000110050110011000110x2x0,1,2,30,1,2,30,1,2,3xMixlyMixlyHelloMixly65axMixlyMixly0Mixly02MixlyMixlyHello,mixlyl--mylistHello,mixlymixlymixpyI love mixly!I love mixlyRandom No. is {}int1100input('1+2*3')mylist1,2,3,4,5mylist0mylist02mylistmylistmylist0mylist00mylist00mylist0mylist0mylist0mylistmylistmylistxmytup1,2,3,4,5mytup0mytup02mytupmytupmytupmytup0mytupmytup1mytup2xmydictmydictkeymydictkey0mydictkey0mydictkeymydictkeymydictkey0mydictmydictmydictmydictxmydict{"name":"Mixly","color":"green"}s11,2,3,4,5s1s1s1s2s1s2s10s1Mixlys1s2xMixlyMixlyMixly,HelloMixlyprompt02MixlyMixly0XFF00FFcodebMixlyMixly1attachInterrupt_funcattachInterrupt_func00Mixly0Mixly20189141420452023,1,1,12,0,0180291001001001001004404401000004120000000000010001000Mixly0MixlyMixly500MixlyMixly500>10.50.5wifinamewifipassword8080AUTH TOKEN0_value02000notify0Your Target Emailsubjectbodycolor#FF0000wifinamewifipasswordmixio.mixly.cnmixio.mixly.cnA1B2C3mixio.mixly.cnusernamepasswordMyProjecttopicmsgtopicmsgtopicmethodmethodEQmsg1content"long""lat""message"012content"key1""key2""key3"012https://mixio.mixly.cn/time.phpmixio.mixly.cnwifinamewifipasswordcsub_cb31444082183.230.40.3914109261n63JySRowo13ZLDBKw6y896E0=MixlyRobotsub_cbEQmsg1ciot_dict"tc"ciot_dictccwifinamewifipasswordclientEnter Your API_KEYEnter Your SECRET_KEYclient1clientS72099北京今天天气如何?wifinamewifipasswordSGJl0ExVN-4j27msR北京SGJl0ExVN-4j27msR北京1SGJl0ExVN-4j27msR北京24https://mixio.mixly.cn/tinydbusernamepasswordmqtt_clientmixlyhellomixly11mixlymixlyble_cble_pMixlyble_cble_cMixlyble_cble_xble_xble_xMixlyble_xble_methodble_methodEQdataMixlyhandlehandle_methodhandle_methodkey1key2key3keyx02000001000009000,4500,563,5630x1234callbackcmdaddrrawpulsesi2c2221100000i2c00i2c00i2ci2ci2cspi200000045spi200000buf50spi10spi100xffspibufspibuf0xffspi12345spi12345buf1Mixlyow12owowow12345ow12345owmy_now0my_nowmy_nowmy_nowFFFFFFFFFFFFmixlymy_nowmy_nowcbcbEQmsg1spi10000004512spi8my_lora433.925716my_loramy_loramy_loraMixly100100100180100360100100filename.txtfMixlyfff0fffpathpathfilename.txtsrcname.txtdstname.txtff0wifinamewifipasswordwlanwlanwlanwlanwlan127.16.0.801234567wlanwlanwlanwlanwlanmixly123456781connect_wifiwlanAPwlanTruewlanwlanSmallCabbage1234561WHILETRUEEQ0wlan0.0.0.0ms1000TRUEss0.0.0.080s192.168.0.180s5sss1024sbMixlyresponses1024sbMixlyresponse127.0.0.180sntp.aliyun.comresponsehttp://mixio.mixly.cnresponsehttp://mixio.mixly.cnresponsehttp://192.168.1.1:11434qwen2.5-coder:0.5b5https://api.deepseek.comAPI Keydeepseek-chat5请介绍一下米思齐?content_callbackcontent_callbackcontent请介绍一下米思齐? \ No newline at end of file diff --git a/boards/default/micropython_robot/main.bundle.27de60aa.js b/boards/default/micropython_robot/main.bundle.27de60aa.js new file mode 100644 index 00000000..720987dc --- /dev/null +++ b/boards/default/micropython_robot/main.bundle.27de60aa.js @@ -0,0 +1,21 @@ +(()=>{"use strict";var t={d:(e,i)=>{for(var n in i)t.o(i,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:i[n]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};t.r(e),t.d(e,{controls_type:()=>Ct,controls_typeLists:()=>St,lists_zip:()=>At,lists_zip_container:()=>Lt,lists_zip_item:()=>Nt,unpack_iterable_object:()=>Dt,variables_change:()=>ct,variables_get:()=>Ot,variables_global:()=>gt,variables_set:()=>Rt});var i={};t.r(i),t.d(i,{base_setup:()=>Pt,controls_delay:()=>vt,controls_end_program:()=>Yt,controls_except:()=>Kt,controls_finally:()=>Jt,controls_flow_statements:()=>Bt,controls_for:()=>Gt,controls_forEach:()=>yt,controls_for_range:()=>Ut,controls_if:()=>Xt,controls_if_else:()=>kt,controls_if_elseif:()=>Ht,controls_if_if:()=>wt,controls_lambda:()=>qt,controls_main:()=>Ft,controls_pass:()=>zt,controls_range:()=>bt,controls_repeat_ext:()=>Qt,controls_thread:()=>jt,controls_try:()=>Wt,controls_try_finally:()=>Vt,controls_whileUntil:()=>xt,datetime_fromtimestamp:()=>ne,do_while:()=>$t,garbage_collection:()=>Zt,gene_unique_identifier:()=>se,get_mem_alloc:()=>te,get_mem_free:()=>ee,get_unique_identifier:()=>ie});var n={};t.r(n),t.d(n,{base_map:()=>Ae,generate_cartesian_product:()=>Ne,math_arithmetic:()=>ue,math_bit:()=>de,math_constant:()=>pe,math_constant_mp:()=>ae,math_constrain:()=>Ee,math_dec:()=>Ie,math_degree_to_radian:()=>fe,math_indexer_number:()=>Re,math_map:()=>Oe,math_max_min:()=>Me,math_number:()=>_e,math_number_base_conversion:()=>he,math_radian_to_degree:()=>De,math_random:()=>me,math_random_seed:()=>ce,math_round:()=>ge,math_selfcalcu:()=>re,math_to_int:()=>Te,math_trig:()=>le,text_to_number:()=>Ce,text_to_number_skulpt:()=>Se,turn_to_int:()=>Le});var s={};t.r(s),t.d(s,{ascii_to_char:()=>ye,char_to_ascii:()=>xe,number_to_text:()=>Ve,os_system:()=>ui,text:()=>Pe,text_bytes:()=>Ye,text_capital:()=>Je,text_center:()=>Qe,text_char:()=>Xe,text_char_at:()=>Ue,text_char_at2:()=>Ge,text_char_at3:()=>oi,text_compareTo:()=>si,text_compare_to:()=>Ke,text_create_with_container:()=>ei,text_create_with_item:()=>ii,text_encode:()=>pi,text_equals_starts_ends:()=>We,text_eval:()=>ai,text_find:()=>qe,text_format:()=>ti,text_format_noreturn:()=>_i,text_join:()=>be,text_join_seq:()=>ze,text_length:()=>Be,text_random_char:()=>we,text_replace:()=>je,text_split:()=>$e,text_strip:()=>Ze,text_substring:()=>ke,text_substring2:()=>He,text_substring3:()=>ni,text_textarea:()=>ve});var o={};t.r(o),t.d(o,{ENUMERATE:()=>Wi,content_in_lists:()=>Ji,enumerate:()=>Ki,list_many_input:()=>vi,list_tolist:()=>yi,list_tolist2:()=>ki,list_trig:()=>fi,lists_2d_get_col_row_data:()=>Ti,lists_2d_get_data_with_col_row:()=>Ii,lists_append_extend:()=>Ri,lists_change_to:()=>Pi,lists_change_to_general:()=>Xi,lists_clear:()=>Ai,lists_create_with:()=>Mi,lists_create_with2:()=>xi,lists_create_with_container:()=>mi,lists_create_with_item:()=>Ei,lists_create_with_noreturn:()=>Yi,lists_create_with_text:()=>hi,lists_create_with_text2:()=>Vi,lists_del_general:()=>bi,lists_find:()=>Di,lists_getIndex3:()=>Bi,lists_getSublist3:()=>Gi,lists_get_index:()=>di,lists_get_random_item:()=>ci,lists_get_random_sublist:()=>gi,lists_get_sublist:()=>li,lists_insert_value:()=>Ci,lists_insert_value2:()=>wi,lists_pop:()=>Ni,lists_remove_at:()=>Li,lists_remove_at2:()=>Hi,lists_reverse:()=>Si,lists_setIndex3:()=>Ui,lists_set_index:()=>Oi,lists_sort:()=>Fi});var _={};t.r(_),t.d(_,{dicts_add_change_del:()=>rn,dicts_add_or_change:()=>en,dicts_clear:()=>on,dicts_create_with:()=>qi,dicts_create_with_container:()=>zi,dicts_create_with_item:()=>ji,dicts_create_with_noreturn:()=>In,dicts_deldict:()=>un,dicts_delete:()=>nn,dicts_get:()=>Zi,dicts_get_default:()=>tn,dicts_items:()=>_n,dicts_keys:()=>$i,dicts_length:()=>an,dicts_pop:()=>dn,dicts_setdefault:()=>ln,dicts_to_json:()=>Mn,dicts_to_json2:()=>En,dicts_to_to:()=>mn,dicts_todict:()=>Tn,dicts_update:()=>sn,dicts_values:()=>pn,json_to_dicts:()=>hn});var p={};t.r(p),t.d(p,{logic_boolean:()=>Sn,logic_compare:()=>Rn,logic_compare_continous:()=>cn,logic_is:()=>Dn,logic_is_in:()=>Nn,logic_negate:()=>Cn,logic_null:()=>An,logic_operation:()=>gn,logic_tobool:()=>fn,logic_true_or_false:()=>Ln});var a={};t.r(a),t.d(a,{sdcard_mount:()=>$n,sdcard_use_spi_init:()=>jn,storage_can_write_ornot:()=>Vn,storage_change_dir:()=>qn,storage_close_file:()=>Gn,storage_delete_file:()=>wn,storage_file_seek:()=>Wn,storage_file_tell:()=>kn,storage_file_write:()=>Xn,storage_fileopen:()=>Pn,storage_fileopen_new:()=>vn,storage_fileopen_new_encoding:()=>Yn,storage_get_a_line:()=>xn,storage_get_contents:()=>yn,storage_get_contents_without_para:()=>bn,storage_get_current_dir:()=>Kn,storage_get_file_size:()=>Hn,storage_get_filename:()=>Bn,storage_is_file:()=>zn,storage_list_all_files:()=>Un,storage_make_dir:()=>Jn,storage_open_file_with_os:()=>Fn,storage_rename:()=>Qn});var u={};t.r(u),t.d(u,{procedures_callnoreturn:()=>ns,procedures_callreturn:()=>ss,procedures_defnoreturn:()=>Zn,procedures_defreturn:()=>ts,procedures_ifreturn:()=>os,procedures_mutatorarg:()=>is,procedures_mutatorcontainer:()=>es,procedures_return:()=>_s});var r={};t.r(r),t.d(r,{tuple_change_to:()=>Es,tuple_create_llm_params:()=>Ns,tuple_create_with:()=>as,tuple_create_with_container:()=>us,tuple_create_with_item:()=>rs,tuple_create_with_noreturn:()=>gs,tuple_create_with_text2:()=>ds,tuple_create_with_text_return:()=>ls,tuple_del:()=>Ms,tuple_find:()=>Os,tuple_getIndex:()=>Is,tuple_getSublist:()=>cs,tuple_get_random_item:()=>Ss,tuple_get_sublist:()=>Cs,tuple_input:()=>Ls,tuple_join:()=>hs,tuple_length:()=>Ts,tuple_max:()=>ms,tuple_totuple:()=>As,tuple_trig:()=>Rs});var d={};t.r(d),t.d(d,{set_add_discard:()=>xs,set_clear:()=>Xs,set_create_with:()=>fs,set_create_with_container:()=>Fs,set_create_with_item:()=>Ps,set_create_with_text_return:()=>Gs,set_length:()=>vs,set_operate:()=>bs,set_operate_update:()=>ys,set_pop:()=>Ys,set_sub:()=>Vs,set_toset:()=>Us,set_update:()=>Bs});var l={};t.r(l),t.d(l,{html_content:()=>Ks,html_content_more:()=>Js,html_document:()=>Hs,html_form:()=>qs,html_head_body:()=>Ws,html_style:()=>Qs,html_style_color:()=>js,html_style_content:()=>zs,html_text:()=>$s,html_title:()=>ks});var I={};t.r(I),t.d(I,{attribute_access:()=>Io,function_call:()=>uo,function_call_container:()=>ro,function_call_item:()=>lo,raw_block:()=>eo,raw_empty:()=>no,raw_expression:()=>io,raw_table:()=>to,text_comment:()=>so,text_print_multiple:()=>_o,text_print_multiple_container:()=>po,text_print_multiple_item:()=>ao,type_check:()=>oo});var T={};t.r(T),t.d(T,{controls_type:()=>Eo,controls_typeLists:()=>Oo,lists_zip:()=>Ro,unpack_iterable_object:()=>co,variables_change:()=>ho,variables_get:()=>To,variables_global:()=>mo,variables_set:()=>Mo});var M={};t.r(M),t.d(M,{Panic_with_status_code:()=>Po,base_setup:()=>Co,controls_delay:()=>Fo,controls_flow_statements:()=>fo,controls_for:()=>Lo,controls_forEach:()=>yo,controls_for_range:()=>No,controls_if:()=>So,controls_interrupts:()=>Xo,controls_lambda:()=>Vo,controls_main:()=>go,controls_millis:()=>vo,controls_nointerrupts:()=>bo,controls_pass:()=>Go,controls_range:()=>xo,controls_repeat:()=>Qo,controls_repeat_ext:()=>Ho,controls_thread:()=>Uo,controls_try_finally:()=>Ao,controls_whileUntil:()=>Do,datetime_fromtimestamp:()=>qo,do_while:()=>wo,garbage_collection:()=>ko,gene_unique_identifier:()=>zo,get_mem_alloc:()=>Wo,get_mem_free:()=>Ko,get_unique_identifier:()=>Jo,reset:()=>Yo,time_sleep:()=>Bo});var h={};t.r(h),t.d(h,{base_map:()=>m_,generate_cartesian_product:()=>O_,math_arithmetic:()=>e_,math_bit:()=>t_,math_constant:()=>$o,math_constant_mp:()=>Zo,math_constrain:()=>r_,math_dec:()=>o_,math_degree_to_radian:()=>c_,math_indexer_number:()=>I_,math_map:()=>u_,math_max_min:()=>p_,math_number:()=>jo,math_number_base_conversion:()=>d_,math_radian_to_degree:()=>R_,math_random:()=>a_,math_random_seed:()=>l_,math_round:()=>T_,math_selfcalcu:()=>i_,math_single:()=>n_,math_to_int:()=>__,math_trig:()=>s_,text_to_number:()=>M_,text_to_number_skulpt:()=>h_,turn_to_int:()=>E_});var m={};t.r(m),t.d(m,{ascii_to_char:()=>N_,char_to_ascii:()=>D_,number_to_text:()=>f_,os_system:()=>$_,text:()=>g_,text_bytes:()=>S_,text_capital:()=>V_,text_center:()=>B_,text_char:()=>A_,text_char_at:()=>v_,text_char_at2:()=>P_,text_char_at3:()=>q_,text_compareTo:()=>Q_,text_compare_to:()=>b_,text_encode:()=>z_,text_equals_starts_ends:()=>X_,text_eval:()=>j_,text_find:()=>G_,text_format:()=>W_,text_format_noreturn:()=>K_,text_join:()=>L_,text_join_seq:()=>U_,text_length:()=>F_,text_random_char:()=>Y_,text_replace:()=>w_,text_split:()=>H_,text_strip:()=>k_,text_substring:()=>x_,text_substring2:()=>y_,text_substring3:()=>J_,text_textarea:()=>C_});var E={};t.r(E),t.d(E,{content_in_lists:()=>vp,enumerate:()=>Pp,list_many_input:()=>Ep,list_tolist:()=>fp,list_tolist2:()=>Fp,list_trig:()=>Mp,lists_2d_get_col_row_data:()=>ep,lists_2d_get_data_with_col_row:()=>tp,lists_append_extend:()=>_p,lists_change_to:()=>mp,lists_change_to_general:()=>Rp,lists_clear:()=>dp,lists_create_with:()=>ip,lists_create_with2:()=>gp,lists_create_with_noreturn:()=>Op,lists_create_with_text:()=>np,lists_create_with_text2:()=>Cp,lists_del_general:()=>cp,lists_find:()=>lp,lists_getIndex3:()=>Sp,lists_getSublist3:()=>Ap,lists_get_index:()=>sp,lists_get_random_item:()=>pp,lists_get_random_sublist:()=>ap,lists_get_sublist:()=>Z_,lists_insert_value:()=>up,lists_insert_value2:()=>Np,lists_pop:()=>Tp,lists_remove_at:()=>Ip,lists_remove_at2:()=>Dp,lists_reverse:()=>rp,lists_setIndex3:()=>Lp,lists_set_index:()=>op,lists_sort:()=>hp});var O={};t.r(O),t.d(O,{dicts_add_change_del:()=>Wp,dicts_add_or_change:()=>xp,dicts_clear:()=>Gp,dicts_create_with:()=>Yp,dicts_create_with_noreturn:()=>Qp,dicts_deldict:()=>kp,dicts_delete:()=>Vp,dicts_get:()=>bp,dicts_get_default:()=>yp,dicts_items:()=>Up,dicts_keys:()=>Xp,dicts_length:()=>Hp,dicts_pop:()=>Kp,dicts_setdefault:()=>Jp,dicts_to_json:()=>zp,dicts_to_json2:()=>Zp,dicts_to_to:()=>$p,dicts_todict:()=>qp,dicts_update:()=>Bp,dicts_values:()=>wp,json_to_dicts:()=>jp});var R={};t.r(R),t.d(R,{logic_boolean:()=>sa,logic_compare:()=>ta,logic_compare_continous:()=>ea,logic_is:()=>aa,logic_is_in:()=>pa,logic_negate:()=>na,logic_null:()=>oa,logic_operation:()=>ia,logic_tobool:()=>ua,logic_true_or_false:()=>_a});var c={};t.r(c),t.d(c,{sdcard_mount:()=>va,sdcard_use_spi_init:()=>Pa,storage_can_write_ornot:()=>Ea,storage_change_dir:()=>La,storage_close_file:()=>Ra,storage_delete_file:()=>ga,storage_file_seek:()=>Aa,storage_file_tell:()=>Sa,storage_file_write:()=>Ta,storage_fileopen:()=>da,storage_fileopen_new:()=>la,storage_fileopen_new_encoding:()=>Ia,storage_get_a_line:()=>ma,storage_get_contents:()=>ha,storage_get_contents_without_para:()=>Ma,storage_get_current_dir:()=>Na,storage_get_file_size:()=>Ca,storage_get_filename:()=>Oa,storage_is_file:()=>Fa,storage_list_all_files:()=>ca,storage_make_dir:()=>Da,storage_open_file_with_os:()=>ra,storage_rename:()=>fa});var g={};t.r(g),t.d(g,{procedures_callnoreturn:()=>ya,procedures_callreturn:()=>ba,procedures_defnoreturn:()=>Xa,procedures_defreturn:()=>Ya,procedures_ifreturn:()=>xa,procedures_return:()=>Va});var C={};t.r(C),t.d(C,{tuple_change_to:()=>Ja,tuple_create_llm_params:()=>iu,tuple_create_with:()=>Ba,tuple_create_with_noreturn:()=>ja,tuple_create_with_text2:()=>Ga,tuple_create_with_text_return:()=>Ua,tuple_del:()=>ka,tuple_find:()=>Qa,tuple_getIndex:()=>wa,tuple_getSublist:()=>za,tuple_get_random_item:()=>Za,tuple_get_sublist:()=>$a,tuple_input:()=>eu,tuple_join:()=>Wa,tuple_length:()=>Ha,tuple_max:()=>Ka,tuple_totuple:()=>tu,tuple_trig:()=>qa});var S={};t.r(S),t.d(S,{set_add_discard:()=>uu,set_clear:()=>_u,set_create_with:()=>nu,set_create_with_text_return:()=>lu,set_length:()=>su,set_operate:()=>pu,set_operate_update:()=>au,set_pop:()=>ou,set_sub:()=>ru,set_toset:()=>Iu,set_update:()=>du});var A={};t.r(A),t.d(A,{html_content:()=>mu,html_content_more:()=>Eu,html_document:()=>Tu,html_form:()=>Ru,html_head_body:()=>hu,html_style:()=>Ou,html_style_content:()=>cu,html_text:()=>gu,html_title:()=>Mu});var L={};t.r(L),t.d(L,{attribute_access:()=>fu,function_call:()=>Du,raw_block:()=>Cu,raw_empty:()=>Au,raw_expression:()=>Su,raw_table:()=>Lu,type_check:()=>Nu});var N={};t.r(N),t.d(N,{PIN_init:()=>yr,actuator_extern_get_led_bright:()=>Wu,actuator_extern_get_led_state:()=>Ku,actuator_extern_led_bright:()=>ku,actuator_extern_led_brightness:()=>Ju,actuator_ms32006_dcmotor:()=>ir,actuator_ms32006_init:()=>er,actuator_ms32006_stepper:()=>nr,actuator_neopixel_init:()=>sr,actuator_neopixel_rgb:()=>or,actuator_neopixel_rgb_all:()=>_r,actuator_neopixel_rgb_show_all_chase:()=>ur,actuator_neopixel_rgb_show_all_rainbow:()=>ar,actuator_neopixel_write:()=>pr,actuator_use_uart_init:()=>rr,backstage_esp32_music_play_list:()=>Vu,esp32_music_get_tempo_extern:()=>Gu,esp32_music_pitch:()=>bu,esp32_music_pitch_init:()=>Xu,esp32_music_pitch_with_time:()=>yu,esp32_music_play_list:()=>xu,esp32_music_reset_extern:()=>Uu,esp32_music_set_tempo_extern:()=>Bu,esp32_music_stop:()=>wu,esp32_set_music_volume:()=>Hu,mixbot_actuator_extern_get_addr:()=>Xr,mixbot_actuator_extern_set_addr:()=>br,mixbot_addr_extern:()=>cr,parrot_PIN_init:()=>Gr,parrot_move_speed:()=>Ur,pin_led_bright:()=>xr,player_insert_music:()=>hr,player_play_music:()=>Mr,player_set_mode:()=>Tr,player_set_play:()=>lr,player_set_volume:()=>Ir,player_whether_stop:()=>dr,robot_led_extern:()=>Ar,robot_led_extern_get_value:()=>Lr,robot_motor_extern:()=>gr,robot_motor_extern_get_speed:()=>Cr,robot_servo_extern_absolute_run:()=>Fr,robot_servo_extern_get_status:()=>Nr,robot_servo_extern_relative_continue:()=>Yr,robot_servo_extern_relative_origin:()=>Pr,robot_servo_extern_relative_run:()=>vr,robot_servo_extern_stop:()=>fr,robot_servo_extern_stop_mode:()=>Dr,robot_traffic_light_extern:()=>Sr,servo_PIN_init:()=>Vr,servo_get_angle:()=>Zu,servo_get_speed:()=>tr,servo_init:()=>Qu,servo_move:()=>qu,servo_move_angle:()=>Br,servo_set_angle:()=>ju,servo_set_speed:()=>$u,servo_speed_360:()=>zu,syn6288_builtin_voice:()=>Or,syn6288_get_voice:()=>Er,syn6288_set_voice:()=>mr,syn6288_tts_play:()=>Rr});var D={};t.r(D),t.d(D,{actuator_dc_motor:()=>Rd,actuator_dc_motor_stop:()=>cd,actuator_get_led_bright:()=>Kr,actuator_get_led_state:()=>Jr,actuator_led_bright:()=>Wr,actuator_led_brightness:()=>Qr,actuator_mixbot_buzzer_on_off:()=>Ld,actuator_mixgo_nova_mic_get:()=>Pd,actuator_mixgo_nova_mic_set:()=>Fd,actuator_mixgo_nova_onboard_music_pitch:()=>xd,actuator_mixgo_nova_onboard_music_stop:()=>Vd,actuator_mixgo_nova_play_audio:()=>bd,actuator_mixgo_nova_play_online_audio:()=>yd,actuator_mixgo_nova_record_audio:()=>Xd,actuator_mixgo_nova_voice_get:()=>Yd,actuator_mixgo_nova_voice_set:()=>vd,actuator_mixgo_zero_led_color:()=>qr,actuator_onboard_neopixel_rgb:()=>ed,actuator_onboard_neopixel_rgb_all:()=>id,actuator_onboard_neopixel_rgb_show_all_chase:()=>sd,actuator_onboard_neopixel_rgb_show_all_rainbow:()=>nd,actuator_onboard_neopixel_write:()=>od,actuator_rm_onboard_neopixel_rgb:()=>_d,actuator_rm_onboard_neopixel_rgb_all:()=>pd,actuator_rm_onboard_neopixel_rgb_show_all_chase:()=>ad,actuator_stepper_keep:()=>Ed,actuator_stepper_stop:()=>Od,analog_ble_keyboard_init:()=>$d,analog_ble_keyboard_input:()=>el,analog_ble_keyboard_mouse_init:()=>ul,analog_ble_keyboard_mouse_input:()=>Il,analog_ble_keyboard_mouse_send_battery:()=>ll,analog_ble_keyboard_mouse_str:()=>Tl,analog_ble_keyboard_send_battery:()=>nl,analog_ble_keyboard_str:()=>il,analog_ble_mouse_init:()=>sl,analog_ble_mouse_input:()=>pl,analog_ble_mouse_keyboard_input:()=>Ml,analog_ble_mouse_send_battery:()=>al,analog_keyboard_input:()=>Hd,analog_keyboard_str:()=>jd,analog_mouse_input:()=>qd,backstage_onboard_music_play_list:()=>hd,bitbot_motor:()=>fd,bitbot_move:()=>Nd,bitbot_stop:()=>Dd,ble_keyboard_connect:()=>tl,ble_keyboard_get_mac:()=>Zd,ble_keyboard_mouse_connect:()=>dl,ble_keyboard_mouse_get_mac:()=>rl,ble_mouse_connect:()=>_l,ble_mouse_get_mac:()=>ol,cc_number:()=>td,educore_ble_keyboard_input:()=>Al,educore_ble_sensor_connected:()=>Sl,educore_ble_sensor_init:()=>Cl,educore_buzzer:()=>hl,educore_buzzer_play_tone:()=>ml,educore_buzzer_play_tone_time:()=>El,educore_buzzer_stop:()=>Ol,educore_neopixel_clear:()=>gl,educore_neopixel_rgb:()=>cl,educore_rgb_light:()=>Rl,esp32_music_get_tempo:()=>rd,esp32_music_reset:()=>dd,esp32_music_set_tempo:()=>ud,esp32_onboard_music_pitch:()=>ld,esp32_onboard_music_pitch_with_time:()=>Id,esp32_onboard_music_play_list:()=>Md,esp32_onboard_music_stop:()=>Td,general_key:()=>Wd,general_key_tuple:()=>Kd,generalkey_container:()=>Jd,generalkey_create_with_item:()=>Qd,get_keyboard_light:()=>Ll,get_power_output:()=>Gd,ledswitch:()=>kr,mixbot_motor:()=>Ad,mixbot_motor_status:()=>gd,mixbot_move:()=>Cd,mixbot_stop:()=>Sd,mouse_key:()=>zd,number:()=>Hr,record_audio:()=>Dl,rm_actuator_get_led_bright:()=>jr,rm_actuator_get_led_state:()=>$r,rm_actuator_led_bright:()=>zr,rm_actuator_led_brightness:()=>Zr,rm_motor:()=>md,set_all_power_output:()=>Ud,set_microphone_amplification:()=>Nl,set_music_volume:()=>fl,set_part_power_output:()=>wd,set_power_output:()=>Bd,special_key:()=>kd});var f={};t.r(f),t.d(f,{ai_sensor_20object:()=>uI,ai_sensor_ailocal_class:()=>$l,ai_sensor_ailocal_class_result:()=>Zl,ai_sensor_ailocal_train:()=>jl,ai_sensor_asr_recognize:()=>sI,ai_sensor_audio_play:()=>eI,ai_sensor_audio_record:()=>tI,ai_sensor_barcode:()=>xl,ai_sensor_circle:()=>Hl,ai_sensor_classifier_faces:()=>aI,ai_sensor_color:()=>Jl,ai_sensor_color_chases:()=>zl,ai_sensor_color_chases_result:()=>ql,ai_sensor_config:()=>bl,ai_sensor_face:()=>pI,ai_sensor_find_20objects:()=>rI,ai_sensor_find_barcodes:()=>Vl,ai_sensor_find_circles:()=>kl,ai_sensor_find_colors:()=>Ql,ai_sensor_find_licenseplates:()=>_I,ai_sensor_find_lines:()=>wl,ai_sensor_find_qrcodes:()=>Xl,ai_sensor_find_rects:()=>Kl,ai_sensor_find_tags:()=>Gl,ai_sensor_licenseplate:()=>oI,ai_sensor_line:()=>Ul,ai_sensor_qrcode:()=>vl,ai_sensor_qrcode_lite:()=>Yl,ai_sensor_rect:()=>Wl,ai_sensor_rgb:()=>yl,ai_sensor_tag:()=>Bl,ai_sensor_use_uart_init:()=>Pl,ai_sensor_yolo_recognize:()=>iI,ai_sensor_yolo_recognize_result:()=>nI});var F={};t.r(F),t.d(F,{MICROPYTHON_AI_Speech_asr:()=>II,MICROPYTHON_AI_Speech_unit:()=>lI,MICROPYTHON_AI_client:()=>dI});var P={};t.r(P),t.d(P,{mpython_blynk_app_data:()=>DI,mpython_blynk_app_notify:()=>cI,mpython_blynk_email:()=>SI,mpython_blynk_get_timers:()=>AI,mpython_blynk_on_connected:()=>EI,mpython_blynk_on_disconnected:()=>mI,mpython_blynk_run:()=>RI,mpython_blynk_sensor_data_to_app:()=>NI,mpython_blynk_set_property:()=>CI,mpython_blynk_setup:()=>fI,mpython_blynk_stop_timers:()=>gI,mpython_blynk_sync_virtual:()=>hI,mpython_blynk_terminal_widget_vpin:()=>MI,mpython_blynktimer:()=>LI,mpython_blynktimer_run:()=>OI});var v={};t.r(v),t.d(v,{communicate_bluetooth_central_init:()=>dT,communicate_bluetooth_connect:()=>MT,communicate_bluetooth_disconnect:()=>hT,communicate_bluetooth_handle:()=>cT,communicate_bluetooth_is_connected:()=>ET,communicate_bluetooth_mac:()=>TT,communicate_bluetooth_peripheral_init:()=>lT,communicate_bluetooth_recv:()=>OT,communicate_bluetooth_recv_only:()=>RT,communicate_bluetooth_scan:()=>IT,communicate_bluetooth_send:()=>mT,communicate_espnow_init:()=>gT,communicate_espnow_init_new:()=>CT,communicate_i2c_available:()=>JI,communicate_i2c_init:()=>YI,communicate_i2c_master_read:()=>KI,communicate_i2c_onboard:()=>PI,communicate_i2c_read:()=>XI,communicate_i2c_scan:()=>yI,communicate_i2c_write:()=>bI,communicate_ir_recv_init:()=>eT,communicate_ir_send_init:()=>_T,communicate_ow_init:()=>qI,communicate_ow_read:()=>jI,communicate_ow_reset:()=>tT,communicate_ow_scan:()=>zI,communicate_ow_select:()=>ZI,communicate_ow_write:()=>$I,communicate_spi_buffer:()=>BI,communicate_spi_init:()=>xI,communicate_spi_onboard:()=>vI,communicate_spi_read:()=>GI,communicate_spi_read_output:()=>UI,communicate_spi_readinto:()=>wI,communicate_spi_readinto_output:()=>HI,communicate_spi_set:()=>VI,communicate_spi_write:()=>kI,communicate_spi_write_readinto:()=>WI,espnow_radio_channel:()=>fT,espnow_radio_channel_new:()=>PT,espnow_radio_on_off:()=>vT,espnow_radio_rec:()=>XT,espnow_radio_recv:()=>yT,espnow_radio_recv_certain_msg:()=>xT,espnow_radio_recv_certain_msg_new:()=>BT,espnow_radio_recv_msg:()=>bT,espnow_radio_recv_new:()=>VT,espnow_radio_send:()=>YT,espnow_radio_txpower:()=>FT,i2c_available:()=>pM,i2c_init:()=>JT,i2c_master_reader2:()=>_M,i2c_read:()=>QT,i2c_scan:()=>zT,i2c_slave_onreceive:()=>QI,i2c_write:()=>qT,internal_variable:()=>iT,ir_recv_timeout:()=>oT,ir_transmit_busy:()=>rT,ir_transmit_conventional_data:()=>pT,ir_transmit_raw_code:()=>uT,ir_transmit_study_code:()=>aT,ir_whether_recv:()=>sT,lora_init:()=>GT,lora_packet:()=>UT,lora_recv:()=>HT,lora_send:()=>wT,network_espnow_info:()=>AT,network_espnow_mac:()=>ST,network_espnow_recv:()=>LT,network_espnow_recv_handle:()=>DT,network_espnow_send:()=>NT,recv_fun:()=>nT,spi_buffer:()=>ZT,spi_init:()=>jT,spi_read:()=>tM,spi_read_output:()=>eM,spi_readinto:()=>iM,spi_readinto_output:()=>nM,spi_set:()=>$T,spi_write:()=>sM,spi_write_readinto:()=>oM,urequests_attribute:()=>WT,urequests_get:()=>kT,urequests_method:()=>KT});var Y={};t.r(Y),t.d(Y,{display_animate:()=>BM,display_blink_rate:()=>bM,display_circle:()=>GM,display_color_seclet:()=>$M,display_draw_4strings:()=>fM,display_fill:()=>VM,display_get_screen_image:()=>XM,display_help:()=>wM,display_image_size:()=>FM,display_lcd_use_i2c_init:()=>sh,display_line:()=>vM,display_line_arbitrarily:()=>YM,display_matrix_extern_bright_point:()=>cM,display_matrix_extern_bright_screen:()=>CM,display_matrix_extern_clear:()=>SM,display_matrix_extern_get_pixel:()=>RM,display_matrix_extern_get_screen_pixel:()=>gM,display_matrix_extern_image_builtins:()=>AM,display_matrix_extern_scroll_string:()=>MM,display_matrix_extern_scroll_string_delay:()=>hM,display_matrix_extern_shift:()=>OM,display_matrix_extern_show_frame_string:()=>mM,display_matrix_extern_show_frame_string_delay:()=>EM,display_matrix_extern_show_image:()=>IM,display_matrix_extern_show_image_or_string_delay:()=>TM,display_matrix_use_i2c_init:()=>lM,display_oled_drawPixel:()=>kM,display_oled_showBitmap:()=>HM,display_oled_use_i2c_init:()=>uh,display_onoff:()=>xM,display_rect:()=>PM,display_rgb_color:()=>yM,display_tm1650_power:()=>KM,display_tm1650_set_brightness:()=>qM,display_tm1650_show_dot:()=>QM,display_tm1650_show_num:()=>JM,display_tm_use_i2c_init:()=>WM,display_triangle:()=>UM,display_use_i2c_init:()=>DM,extern_oled_bright_point:()=>Rh,extern_oled_clear:()=>ch,extern_oled_get_pixel:()=>Oh,extern_oled_hvline:()=>Ch,extern_oled_line:()=>Sh,extern_oled_scroll_string:()=>Th,extern_oled_scroll_string_delay:()=>Mh,extern_oled_shape_rect:()=>gh,extern_oled_shift:()=>Eh,extern_oled_show_frame_string:()=>hh,extern_oled_show_frame_string_delay:()=>mh,extern_oled_show_image:()=>rh,extern_oled_show_image_or_string_delay:()=>Ih,extern_oled_show_image_xy:()=>dh,extern_oled_show_string:()=>lh,lcd_backlight:()=>ph,lcd_clear:()=>ah,lcd_print_string:()=>_h,lcd_show_image_or_string_delay:()=>oh,matrix_extern_image_arithmetic:()=>LM,matrix_extern_image_invert:()=>NM,tft_fill:()=>ih,tft_line_arbitrarily:()=>nh,tft_scroll_string_delay:()=>th,tft_show_frame_string_delay:()=>eh,tft_show_image_or_string_delay:()=>ZM,tft_show_image_xy:()=>jM,tft_use_spi_init:()=>zM});var X={};t.r(X),t.d(X,{bitbot_display_bitmap_create:()=>Em,bitbot_display_image_create:()=>mm,display_available:()=>Kh,display_bitmap_create:()=>bh,display_bright_point:()=>wh,display_bright_screen:()=>kh,display_clear:()=>Wh,display_get_pixel:()=>Uh,display_get_screen_pixel:()=>Hh,display_image_builtins:()=>yh,display_image_builtins_all:()=>xh,display_image_create:()=>Xh,display_scroll_string:()=>Dh,display_scroll_string_delay:()=>fh,display_scroll_way:()=>Fh,display_shift:()=>Gh,display_show_frame_string:()=>vh,display_show_frame_string_delay:()=>Yh,display_show_image:()=>Lh,display_show_image_or_string_delay:()=>Nh,draw_pointer:()=>bm,image_arithmetic:()=>Vh,image_invert:()=>Bh,mixbot_display_bitmap_create:()=>lm,mixbot_display_bright_screen:()=>Mm,mixbot_display_get_ambientbright:()=>Tm,mixbot_display_get_screen_pixel:()=>Im,mixbot_display_image_create:()=>dm,mixbot_display_rotate:()=>hm,mixgo_display_bitmap_create:()=>$h,mixgo_display_image_create_new:()=>jh,mixgome_display_bitmap_create:()=>Qh,mixgome_display_font:()=>Zh,mixgome_display_image_create:()=>Jh,mixgomini_display_bitmap_create:()=>zh,mixgomini_display_image_create:()=>qh,mpython_display_hvline:()=>am,mpython_display_line:()=>um,mpython_display_shape_rect:()=>pm,mpython_pbm_image:()=>rm,nova_draw_pointer:()=>ym,onboard_oled_bright_point:()=>_m,onboard_oled_scroll_string_delay:()=>sm,onboard_oled_show_frame_string_delay:()=>om,onboard_oled_show_image:()=>tm,onboard_oled_show_image_or_string_delay:()=>nm,onboard_oled_show_image_xy:()=>em,onboard_oled_show_string:()=>im,onboard_tft_bright_point:()=>Nm,onboard_tft_bright_screen:()=>Wm,onboard_tft_clear:()=>Km,onboard_tft_clock_clear:()=>Ym,onboard_tft_clock_draw:()=>vm,onboard_tft_clock_get_rtctime:()=>Fm,onboard_tft_clock_init:()=>fm,onboard_tft_clock_set_time:()=>Pm,onboard_tft_display_hvline:()=>Sm,onboard_tft_display_line:()=>Am,onboard_tft_display_shape_circle:()=>Xm,onboard_tft_display_shape_rect:()=>Cm,onboard_tft_fill:()=>Dm,onboard_tft_get_pixel:()=>Lm,onboard_tft_get_screen_pixel:()=>km,onboard_tft_scroll_string:()=>Um,onboard_tft_scroll_string_delay:()=>Ph,onboard_tft_shift:()=>Hm,onboard_tft_show_frame_string:()=>wm,onboard_tft_show_frame_string_delay:()=>gm,onboard_tft_show_image:()=>Gm,onboard_tft_show_image_or_string_delay:()=>cm,onboard_tft_show_image_xy:()=>Om,onboard_tft_show_image_xy_direct:()=>Rm,onboard_tft_show_qrcode:()=>Vm,onboard_tft_show_qrcode_details:()=>Bm,onboard_tft_show_texts:()=>xm});var b={};t.r(b),t.d(b,{factory_block:()=>rE,factory_block_return:()=>dE,factory_block_return_with_textarea:()=>IE,factory_block_with_textarea:()=>lE,factory_callMethod_noreturn:()=>aE,factory_callMethod_return:()=>uE,factory_create_with_container:()=>sE,factory_create_with_item:()=>oE,factory_declare:()=>pE,factory_from_import:()=>eE,factory_function_noreturn:()=>nE,factory_function_return:()=>_E,factory_import:()=>iE,folding_block:()=>TE});var y={};t.r(y),t.d(y,{controls_pin_attachInterrupt:()=>yE,inout_analog_atten:()=>SE,inout_analog_read:()=>CE,inout_analog_read_init:()=>FE,inout_analog_write:()=>RE,inout_analog_write_init:()=>fE,inout_analog_write_set:()=>cE,inout_analog_write_set_freq:()=>YE,inout_digital_init:()=>NE,inout_digital_read:()=>EE,inout_digital_write:()=>mE,inout_highlow:()=>hE,inout_pinMode:()=>vE,inout_pin_attachInterrupt:()=>LE,inout_pin_pressed:()=>AE,inout_pin_pressed_init:()=>PE,inout_pwm_analog_write:()=>OE,inout_pwm_analog_write_init:()=>DE,inout_pwm_analog_write_set_freq:()=>gE,pin_pressed:()=>bE,pin_pressed_init:()=>XE});var x={};t.r(x),t.d(x,{IOT_CONNECT_OLLAMA:()=>RO,IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>pO,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>_O,IOT_EMQX_PING:()=>sO,IOT_FORMATTING:()=>iO,IOT_FORMAT_STRING:()=>nO,IOT_MIXIO_NTP:()=>oO,IOT_MIXIO_PUBLISH:()=>QE,IOT_MIXIO_PUBLISHEX:()=>qE,IOT_MIXIO_SUBSCRIBE:()=>zE,iot_checkonenet:()=>mO,iot_client_onboard:()=>uO,iot_connect_ollama:()=>OO,iot_connect_openai:()=>cO,iot_create_with_item:()=>KE,iot_http_client:()=>rO,iot_http_data:()=>dO,iot_mixio_check:()=>ZE,iot_mixio_connect:()=>JE,iot_mixio_connect_only:()=>$E,iot_mixio_disconnect:()=>jE,iot_mixio_format_msg:()=>eO,iot_mixio_format_topic:()=>tO,iot_mixly_key:()=>aO,iot_mqtt_client:()=>lO,iot_mqtt_data:()=>IO,iot_onenet_check:()=>UE,iot_onenet_connect:()=>BE,iot_onenet_disconnect:()=>GE,iot_onenet_publish:()=>HE,iot_onenet_publish_dict:()=>wE,iot_onenetconnect:()=>MO,iot_onenetdisconnect:()=>hO,iot_publish:()=>EO,iot_publish_container:()=>kE,iot_publish_item:()=>WE,iot_tiny_web_db_count:()=>fO,iot_tiny_web_db_delete:()=>PO,iot_tiny_web_db_get:()=>DO,iot_tiny_web_db_init:()=>AO,iot_tiny_web_db_init_with_mqtt:()=>LO,iot_tiny_web_db_search:()=>FO,iot_tiny_web_db_update:()=>NO,iot_wifi_connect:()=>VE,iot_wificonnect:()=>TO,ollama_empty_history:()=>SO,use_ollama_llm_to_chat:()=>gO,use_ollama_llm_to_chat_return:()=>CO});var V={};t.r(V),t.d(V,{educore_mqtt_connect:()=>dR,educore_mqtt_connect_success:()=>MR,educore_mqtt_subscribe_message:()=>lR,educore_mqtt_topic_publish:()=>TR,educore_mqtt_topic_subscribe:()=>IR,educore_wifi_connect:()=>rR,network_ap_connect:()=>wO,network_connect:()=>xO,network_get_connect:()=>BO,network_get_wifi:()=>UO,network_init:()=>YO,network_is_active:()=>bO,network_open:()=>XO,network_scan:()=>yO,network_server:()=>HO,network_socket_accept:()=>QO,network_socket_bind:()=>WO,network_socket_close:()=>tR,network_socket_connect:()=>KO,network_socket_init:()=>kO,network_socket_listen:()=>JO,network_socket_readline:()=>qO,network_socket_receive:()=>zO,network_socket_receive_from:()=>$O,network_socket_send:()=>jO,network_socket_send_to:()=>ZO,network_stop:()=>GO,network_wifi_connect:()=>VO,ntptime_address:()=>oR,ntptime_time:()=>sR,requests_attribute:()=>iR,requests_attribute2:()=>uR,requests_get:()=>eR,requests_get2:()=>pR,requests_method:()=>nR,requests_post:()=>aR});var B={};t.r(B),t.d(B,{CI130X_BROADCAST:()=>GR,CI130X_GET_THE_RECOGNIZED_CMD:()=>BR,CI130X_GET_WHETHER_IDENTIFY:()=>VR,CI130X_IDENTIFY_AND_SAVE:()=>xR,CI130X_SET_SYSTEM_CMD:()=>UR,HCSR04:()=>fc,PS2_Button:()=>Yc,PS2_Buttons:()=>bc,PS2_Buttons_new:()=>Bc,PS2_State:()=>Xc,PS2_init:()=>Fc,PS2_init_new:()=>xc,PS2_stk:()=>yc,PS2_stk_new:()=>Gc,PS2_vibration:()=>vc,PS2_vibration_new:()=>Vc,camera_sensor_init:()=>hg,camera_sensor_result:()=>mg,column_tube_foot:()=>gg,define_keyboards:()=>Cg,educore_body_sensor:()=>_g,educore_button_sensor_extern:()=>rg,educore_camera_sensor:()=>Mg,educore_infrared_sensor:()=>ug,educore_soilhum_sensor:()=>pg,educore_temp_sensor:()=>Tg,educore_temphum_sensor:()=>ag,educore_ultrasonic_sensor:()=>lg,esp32_s2_weather_init:()=>Ac,esp32_s2_weather_rain:()=>Nc,esp32_s2_weather_wd:()=>Lc,esp32_s2_weather_ws:()=>Dc,extern_rfid_read:()=>dc,extern_rfid_readcontent:()=>Ic,extern_rfid_readid:()=>lc,extern_rfid_status:()=>hc,extern_rfid_write:()=>Tc,extern_rfid_write_return:()=>Mc,get_keboards_value:()=>Sg,gnss_get_data:()=>kc,gnss_have_data:()=>Hc,init_init_rotary_encoder:()=>Ag,init_matrix_keyboard:()=>Rg,interaction_whether_to_interaction:()=>bR,interaction_whether_to_interaction_SANT:()=>yR,line_tube_foot:()=>cg,mixbot_sensor_extern_get_addr:()=>$c,mixbot_sensor_extern_set_addr:()=>Zc,pm25_get_data:()=>wc,radar_set_DETECTION_THRESHOLD:()=>YR,radar_set_DETECTION_THRESHOLD_SANT:()=>XR,robot_button_extern_get_value:()=>Kc,robot_color_extern_get_value:()=>jc,robot_infrared_extern_get_value:()=>Qc,robot_infrared_extern_grey_get_value:()=>qc,robot_potentiometer_extern_get_value:()=>zc,robot_sonar_extern_get_value:()=>tg,robot_sonar_extern_led:()=>eg,robot_touch_extern_get_value:()=>Jc,rotary_key:()=>Lg,sensor_APDS9960_extern:()=>HR,sensor_DS18X20:()=>FR,sensor_LTR308_extern:()=>kR,sensor_LTR390UV_extern:()=>JR,sensor_MAX30102_extern:()=>wR,sensor_QMC5883L_extern:()=>ec,sensor_VL530LX_extern:()=>QR,sensor_adxl345_get_acceleration:()=>gR,sensor_aht11_extern:()=>zR,sensor_bmp:()=>DR,sensor_compass_reset:()=>uc,sensor_dht11:()=>SR,sensor_hp203_extern:()=>jR,sensor_light_level:()=>CR,sensor_lm35:()=>PR,sensor_ltr381_extern:()=>WR,sensor_mixgo_extern_button_attachInterrupt:()=>RR,sensor_mixgo_extern_button_get_presses:()=>OR,sensor_mixgo_extern_button_is_pressed:()=>mR,sensor_mixgo_extern_button_was_pressed:()=>ER,sensor_mixgo_extern_light:()=>AR,sensor_mixgo_extern_pin_near:()=>NR,sensor_mixgo_extern_sound:()=>LR,sensor_mixgoce_hot_wheel_degrees:()=>Sc,sensor_mixgoce_hot_wheel_is_touched:()=>Cc,sensor_mpu9250_attachGestureInterrupt:()=>cR,sensor_mpu9250_calibrate_compass:()=>_c,sensor_mpu9250_field_strength:()=>ac,sensor_mpu9250_gesture:()=>ic,sensor_mpu9250_get_acceleration:()=>nc,sensor_mpu9250_get_gyro:()=>oc,sensor_mpu9250_get_magnetic:()=>sc,sensor_mpu9250_temperature:()=>pc,sensor_ms5611_extern:()=>ZR,sensor_ms5611_extern_altitude:()=>tc,sensor_read_humiture:()=>dg,sensor_sht:()=>fR,sensor_shtc3_extern:()=>qR,sensor_spl06_001_extern:()=>$R,sensor_ucs12071_extern:()=>KR,sensor_use_i2c_init:()=>vR,sensor_use_spi_init:()=>rc,sensor_use_uart_init:()=>Uc,sensor_weather_solo_init:()=>ig,sensor_weather_solo_rain:()=>og,sensor_weather_solo_wd:()=>ng,sensor_weather_solo_ws:()=>sg,sensor_weigh_init:()=>Eg,tvoc_get_data:()=>Wc,ultrasonic_sensor_read_distance:()=>Ig,weather_data:()=>mc,weather_have_data:()=>Ec,weather_set_label:()=>Rc,weather_set_label_container:()=>cc,weather_set_label_item:()=>gc,weather_uart_mixio:()=>Oc,weigh_sensor_get_weight:()=>Og});var G={};t.r(G),t.d(G,{HCSR04:()=>Hg,RTC_set_date:()=>wg,RTC_set_time:()=>Ug,bitbot_als_num:()=>$C,dht11:()=>oS,educore_button_sensor:()=>TS,educore_button_was_pressed:()=>MS,educore_gyroscope_sensor:()=>dS,educore_gyroscope_sensor_read:()=>lS,educore_gyroscope_sensor_shake:()=>IS,educore_light_sensor:()=>rS,educore_rfid_sensor:()=>hS,educore_rfid_sensor_scan:()=>mS,educore_rfid_sensor_scan_data:()=>ES,educore_voice_sensor:()=>aS,number1:()=>Wg,number2:()=>Kg,number3:()=>Jg,number4:()=>Qg,number5:()=>qg,number6:()=>zg,number7:()=>jg,onboard_RTC_get_time:()=>oC,onboard_RTC_get_time_str:()=>dC,onboard_RTC_get_timestamp:()=>_C,onboard_RTC_get_timetuple_to_str:()=>lC,onboard_RTC_set_datetime:()=>uC,onboard_RTC_settime_string:()=>aC,onboard_RTC_timestamp_totuple:()=>pC,rfid_readcontent:()=>OC,rfid_readid:()=>EC,rfid_status:()=>gC,rfid_write:()=>RC,rfid_write_return:()=>cC,sensor_LTR308:()=>IC,sensor_aht11:()=>MC,sensor_bitbot_ALS:()=>jC,sensor_button_get_presses:()=>eS,sensor_button_is_pressed:()=>ZC,sensor_button_was_pressed:()=>tS,sensor_distance_hrsc04:()=>Gg,sensor_eulerangles:()=>SC,sensor_field_strength:()=>_S,sensor_get_acceleration:()=>CC,sensor_get_temperature:()=>hC,sensor_get_the_coprocessor_version:()=>OS,sensor_hp203:()=>mC,sensor_light:()=>sS,sensor_mixbot_get_gyro:()=>zC,sensor_mixbot_patrol_calibrate:()=>JC,sensor_mixbot_patrol_value:()=>QC,sensor_mixbot_temperature:()=>qC,sensor_mixgo_LTR308:()=>nC,sensor_mixgo_button_attachInterrupt:()=>Pg,sensor_mixgo_button_get_presses:()=>Fg,sensor_mixgo_button_is_pressed:()=>Dg,sensor_mixgo_button_was_pressed:()=>fg,sensor_mixgo_cc_mmc5603_calibrate_compass:()=>bC,sensor_mixgo_cc_mmc5603_get_angle:()=>XC,sensor_mixgo_cc_mmc5603_get_magnetic:()=>YC,sensor_mixgo_light:()=>kg,sensor_mixgo_nova_LTR308:()=>iC,sensor_mixgo_nova_pin_near:()=>eC,sensor_mixgo_pin_near:()=>tC,sensor_mixgo_pin_near_double:()=>Zg,sensor_mixgo_pin_near_single:()=>$g,sensor_mixgo_pin_pressed:()=>yg,sensor_mixgo_sant_color:()=>sC,sensor_mixgo_touch_slide:()=>Bg,sensor_mixgocar42_button_attachInterrupt:()=>bg,sensor_mixgocar42_button_get_presses:()=>Xg,sensor_mixgocar42_button_is_pressed:()=>vg,sensor_mixgocar42_button_was_pressed:()=>Yg,sensor_mixgocar_battery_left:()=>KC,sensor_mixgocar_pin_near:()=>kC,sensor_mixgocar_pin_near_line:()=>HC,sensor_mixgocar_pin_near_state_change:()=>WC,sensor_mixgoce_pin_pressed:()=>xg,sensor_mixgoce_temperature:()=>xC,sensor_mixgome_temperature:()=>yC,sensor_mpython_pin_pressed:()=>Vg,sensor_mpython_qmi8658_get_gyro:()=>VC,sensor_mpython_qmi8658_temperature:()=>BC,sensor_onboard_compass_reset:()=>vC,sensor_onboard_mpu9250_calibrate_compass:()=>fC,sensor_onboard_mpu9250_field_strength:()=>PC,sensor_onboard_mpu9250_gesture:()=>AC,sensor_onboard_mpu9250_get_acceleration:()=>LC,sensor_onboard_mpu9250_get_gyro:()=>DC,sensor_onboard_mpu9250_get_magnetic:()=>NC,sensor_onboard_mpu9250_temperature:()=>FC,sensor_pin_near:()=>nS,sensor_pin_pressed:()=>iS,sensor_read:()=>uS,sensor_rm_acc:()=>wC,sensor_rm_battery_left:()=>UC,sensor_rm_pin_near_double:()=>GC,sensor_rtc_init:()=>rC,sensor_sound:()=>TC,sensor_temperature:()=>pS,simulated_light_sensor:()=>RS});var U={};t.r(U),t.d(U,{serial_any:()=>FS,serial_begin:()=>bS,serial_print:()=>AS,serial_print_byte:()=>SS,serial_print_hex:()=>NS,serial_println:()=>LS,serial_read_from_ai:()=>kS,serial_readline:()=>PS,serial_readstr:()=>fS,serial_readstr_until:()=>vS,serial_receive_data_event:()=>DS,serial_send_to_ai:()=>HS,serial_softserial:()=>XS,serial_softserial_new:()=>YS,system_input:()=>yS,system_print:()=>xS,system_print_container:()=>US,system_print_end:()=>BS,system_print_inline:()=>VS,system_print_item:()=>wS,system_print_many:()=>GS});var w={};t.r(w),t.d(w,{Panic_with_status_code:()=>QS,Timer_init:()=>aA,base_delay:()=>dA,controls_delay:()=>JS,controls_delay_new:()=>KS,controls_millis:()=>zS,controls_uname:()=>$S,raw_block:()=>jS,reset:()=>qS,set_system_timer:()=>nA,system_bitbot_shutdown:()=>pA,system_machine_reset:()=>_A,system_ticks_diff:()=>eA,system_timer:()=>tA,system_timer_init:()=>iA,system_wdt_feed:()=>oA,system_wdt_init:()=>sA,time_ticks_diff:()=>rA,timer:()=>ZS,timer2:()=>uA});var H={};t.r(H),t.d(H,{Air_daily_content:()=>AA,Air_now_content:()=>EA,Geo_moon_content:()=>NA,Geo_sun_content:()=>LA,Life_suggestion_content:()=>RA,Location_search_content:()=>gA,Tide_daily_content:()=>cA,WEATHER_DAILY:()=>TA,WEATHER_HOUR:()=>MA,WEATHER_NOW:()=>IA,Weather_alarm_content:()=>OA,Weather_daily:()=>CA,Weather_daily_content:()=>SA,Weather_now:()=>hA,Weather_now_content:()=>mA});var k={};t.r(k),t.d(k,{PIN_init:()=>fL,actuator_extern_get_led_bright:()=>qA,actuator_extern_get_led_state:()=>zA,actuator_extern_led_bright:()=>QA,actuator_extern_led_brightness:()=>jA,actuator_ms32006_dcmotor:()=>bA,actuator_ms32006_init:()=>XA,actuator_ms32006_stepper:()=>yA,actuator_neopixel_init:()=>$A,actuator_neopixel_rgb:()=>eL,actuator_neopixel_rgb_all:()=>ZA,actuator_neopixel_rgb_show_all_chase:()=>iL,actuator_neopixel_rgb_show_all_rainbow:()=>nL,actuator_neopixel_write:()=>tL,actuator_use_uart_init:()=>sL,backstage_esp32_music_play_list:()=>WA,esp32_music_get_tempo_extern:()=>HA,esp32_music_pitch:()=>VA,esp32_music_pitch_init:()=>xA,esp32_music_pitch_with_time:()=>BA,esp32_music_play_list:()=>kA,esp32_music_reset_extern:()=>KA,esp32_music_set_tempo_extern:()=>wA,esp32_music_stop:()=>GA,esp32_set_music_volume:()=>UA,mixbot_actuator_extern_get_addr:()=>NL,mixbot_actuator_extern_set_addr:()=>DL,mixbot_addr_extern:()=>TL,parrot_PIN_init:()=>YL,parrot_move_speed:()=>XL,pin_led_bright:()=>FL,player_play_music:()=>uL,player_set_mode:()=>aL,player_set_play:()=>_L,player_set_volume:()=>pL,player_whether_stop:()=>oL,robot_led_extern:()=>EL,robot_led_extern_get_value:()=>OL,robot_motor_extern:()=>ML,robot_motor_extern_get_speed:()=>hL,robot_servo_extern_absolute_run:()=>CL,robot_servo_extern_get_status:()=>RL,robot_servo_extern_relative_continue:()=>LL,robot_servo_extern_relative_origin:()=>SL,robot_servo_extern_relative_run:()=>AL,robot_servo_extern_stop:()=>gL,robot_servo_extern_stop_mode:()=>cL,robot_traffic_light_extern:()=>mL,servo_PIN_init:()=>PL,servo_get_angle:()=>vA,servo_get_speed:()=>YA,servo_init:()=>DA,servo_move:()=>JA,servo_move_angle:()=>vL,servo_set_angle:()=>FA,servo_set_speed:()=>PA,servo_speed_360:()=>fA,syn6288_builtin_voice:()=>lL,syn6288_get_voice:()=>dL,syn6288_set_voice:()=>rL,syn6288_tts_play:()=>IL});var W={};t.r(W),t.d(W,{actuator_dc_motor:()=>uN,actuator_dc_motor_stop:()=>rN,actuator_get_led_bright:()=>KL,actuator_get_led_state:()=>JL,actuator_led_bright:()=>WL,actuator_led_brightness:()=>QL,actuator_mixbot_buzzer_on_off:()=>MN,actuator_mixgo_nova_mic_get:()=>RN,actuator_mixgo_nova_mic_set:()=>ON,actuator_mixgo_nova_onboard_music_pitch:()=>LN,actuator_mixgo_nova_onboard_music_stop:()=>NN,actuator_mixgo_nova_play_audio:()=>SN,actuator_mixgo_nova_play_online_audio:()=>AN,actuator_mixgo_nova_record_audio:()=>CN,actuator_mixgo_nova_voice_get:()=>gN,actuator_mixgo_nova_voice_set:()=>cN,actuator_mixgo_zero_led_color:()=>qL,actuator_onboard_neopixel_rgb:()=>iN,actuator_onboard_neopixel_rgb_all:()=>nN,actuator_onboard_neopixel_rgb_show_all_chase:()=>sN,actuator_onboard_neopixel_rgb_show_all_rainbow:()=>oN,actuator_onboard_neopixel_write:()=>eN,actuator_stepper_keep:()=>pN,actuator_stepper_stop:()=>aN,analog_ble_keyboard_init:()=>BN,analog_ble_keyboard_input:()=>wN,analog_ble_keyboard_mouse_init:()=>zN,analog_ble_keyboard_mouse_input:()=>tD,analog_ble_keyboard_mouse_send_battery:()=>ZN,analog_ble_keyboard_mouse_str:()=>eD,analog_ble_keyboard_send_battery:()=>kN,analog_ble_keyboard_str:()=>HN,analog_ble_mouse_init:()=>WN,analog_ble_mouse_input:()=>QN,analog_ble_mouse_keyboard_input:()=>iD,analog_ble_mouse_send_battery:()=>qN,analog_keyboard_input:()=>vN,analog_keyboard_str:()=>xN,analog_mouse_input:()=>bN,backstage_onboard_music_play_list:()=>UL,bitbot_motor:()=>EN,bitbot_move:()=>hN,bitbot_stop:()=>mN,ble_keyboard_connect:()=>UN,ble_keyboard_get_mac:()=>GN,ble_keyboard_mouse_connect:()=>$N,ble_keyboard_mouse_get_mac:()=>jN,ble_mouse_connect:()=>JN,ble_mouse_get_mac:()=>KN,cc_number:()=>zL,educore_ble_keyboard_input:()=>lD,educore_ble_sensor_connected:()=>dD,educore_ble_sensor_init:()=>rD,educore_buzzer:()=>nD,educore_buzzer_play_tone:()=>sD,educore_buzzer_play_tone_time:()=>oD,educore_buzzer_stop:()=>_D,educore_neopixel_clear:()=>uD,educore_neopixel_rgb:()=>aD,educore_rgb_light:()=>pD,esp32_music_get_tempo:()=>yL,esp32_music_reset:()=>wL,esp32_music_set_tempo:()=>bL,esp32_onboard_music_pitch:()=>xL,esp32_onboard_music_pitch_with_time:()=>VL,esp32_onboard_music_play_list:()=>GL,esp32_onboard_music_stop:()=>BL,general_key:()=>XN,general_key_tuple:()=>VN,get_keyboard_light:()=>ID,get_power_output:()=>fN,ledswitch:()=>kL,mixbot_motor:()=>TN,mixbot_motor_status:()=>dN,mixbot_move:()=>lN,mixbot_stop:()=>IN,mouse_key:()=>yN,number:()=>HL,record_audio:()=>MD,rm_actuator_get_led_bright:()=>$L,rm_actuator_get_led_state:()=>ZL,rm_actuator_led_bright:()=>jL,rm_actuator_led_brightness:()=>tN,rm_motor:()=>_N,set_all_power_output:()=>FN,set_microphone_amplification:()=>TD,set_music_volume:()=>hD,set_part_power_output:()=>PN,set_power_output:()=>DN,special_key:()=>YN});var K={};t.r(K),t.d(K,{ai_sensor_20object:()=>qD,ai_sensor_ailocal_class:()=>VD,ai_sensor_ailocal_class_result:()=>BD,ai_sensor_ailocal_train:()=>xD,ai_sensor_asr_recognize:()=>kD,ai_sensor_audio_play:()=>UD,ai_sensor_audio_record:()=>GD,ai_sensor_barcode:()=>CD,ai_sensor_circle:()=>fD,ai_sensor_classifier_faces:()=>QD,ai_sensor_color:()=>YD,ai_sensor_color_chases:()=>yD,ai_sensor_color_chases_result:()=>bD,ai_sensor_config:()=>OD,ai_sensor_face:()=>JD,ai_sensor_find_20objects:()=>zD,ai_sensor_find_barcodes:()=>SD,ai_sensor_find_circles:()=>FD,ai_sensor_find_colors:()=>XD,ai_sensor_find_licenseplates:()=>KD,ai_sensor_find_lines:()=>DD,ai_sensor_find_qrcodes:()=>gD,ai_sensor_find_rects:()=>vD,ai_sensor_find_tags:()=>LD,ai_sensor_licenseplate:()=>WD,ai_sensor_line:()=>ND,ai_sensor_qrcode:()=>cD,ai_sensor_qrcode_lite:()=>ED,ai_sensor_rect:()=>PD,ai_sensor_rgb:()=>RD,ai_sensor_tag:()=>AD,ai_sensor_use_uart_init:()=>mD,ai_sensor_yolo_recognize:()=>wD,ai_sensor_yolo_recognize_result:()=>HD});var J={};t.r(J),t.d(J,{MICROPYTHON_AI_Speech_asr:()=>ZD,MICROPYTHON_AI_Speech_unit:()=>$D,MICROPYTHON_AI_client:()=>jD});var Q={};t.r(Q),t.d(Q,{mpython_blynk_app_data:()=>lf,mpython_blynk_app_notify:()=>pf,mpython_blynk_email:()=>If,mpython_blynk_get_timers:()=>uf,mpython_blynk_on_connected:()=>sf,mpython_blynk_on_disconnected:()=>nf,mpython_blynk_run:()=>_f,mpython_blynk_sensor_data_to_app:()=>df,mpython_blynk_set_property:()=>Tf,mpython_blynk_setup:()=>Mf,mpython_blynk_stop_timers:()=>af,mpython_blynk_sync_virtual:()=>ef,mpython_blynk_terminal_widget_vpin:()=>tf,mpython_blynktimer:()=>rf,mpython_blynktimer_run:()=>of});var q={};t.r(q),t.d(q,{communicate_bluetooth_central_init:()=>zf,communicate_bluetooth_connect:()=>Zf,communicate_bluetooth_disconnect:()=>tF,communicate_bluetooth_handle:()=>_F,communicate_bluetooth_is_connected:()=>iF,communicate_bluetooth_mac:()=>eF,communicate_bluetooth_peripheral_init:()=>jf,communicate_bluetooth_recv:()=>oF,communicate_bluetooth_recv_only:()=>sF,communicate_bluetooth_scan:()=>$f,communicate_bluetooth_send:()=>nF,communicate_espnow_init:()=>pF,communicate_espnow_init_new:()=>aF,communicate_i2c_available:()=>Cf,communicate_i2c_init:()=>Ef,communicate_i2c_master_read:()=>gf,communicate_i2c_onboard:()=>hf,communicate_i2c_read:()=>Of,communicate_i2c_scan:()=>cf,communicate_i2c_write:()=>Rf,communicate_ir_recv_init:()=>Gf,communicate_ir_send_init:()=>Wf,communicate_ow_init:()=>Xf,communicate_ow_read:()=>xf,communicate_ow_reset:()=>yf,communicate_ow_scan:()=>bf,communicate_ow_select:()=>Bf,communicate_ow_write:()=>Vf,communicate_spi_buffer:()=>Nf,communicate_spi_init:()=>Af,communicate_spi_onboard:()=>mf,communicate_spi_read:()=>Df,communicate_spi_read_output:()=>ff,communicate_spi_readinto:()=>Ff,communicate_spi_readinto_output:()=>Pf,communicate_spi_set:()=>Lf,communicate_spi_write:()=>vf,communicate_spi_write_readinto:()=>Yf,espnow_radio_channel:()=>TF,espnow_radio_channel_new:()=>hF,espnow_radio_on_off:()=>mF,espnow_radio_rec:()=>OF,espnow_radio_recv:()=>cF,espnow_radio_recv_certain_msg:()=>gF,espnow_radio_recv_certain_msg_new:()=>SF,espnow_radio_recv_msg:()=>RF,espnow_radio_recv_new:()=>CF,espnow_radio_send:()=>EF,espnow_radio_txpower:()=>MF,i2c_slave_onreceive:()=>Sf,internal_variable:()=>Uf,ir_recv_timeout:()=>kf,ir_transmit_busy:()=>qf,ir_transmit_conventional_data:()=>Kf,ir_transmit_raw_code:()=>Qf,ir_transmit_study_code:()=>Jf,ir_whether_recv:()=>Hf,lora_init:()=>AF,lora_packet:()=>LF,lora_recv:()=>DF,lora_send:()=>NF,network_espnow_info:()=>rF,network_espnow_mac:()=>uF,network_espnow_recv:()=>dF,network_espnow_recv_handle:()=>IF,network_espnow_send:()=>lF,recv_fun:()=>wf,urequests_attribute:()=>FF,urequests_get:()=>fF,urequests_method:()=>PF});var z={};t.r(z),t.d(z,{display_animate:()=>iP,display_circle:()=>nP,display_color_seclet:()=>TP,display_draw_4strings:()=>qF,display_fill:()=>eP,display_lcd_use_i2c_init:()=>RP,display_line:()=>$F,display_line_arbitrarily:()=>zF,display_matrix_extern_bright_point:()=>wF,display_matrix_extern_bright_screen:()=>kF,display_matrix_extern_clear:()=>BF,display_matrix_extern_get_pixel:()=>UF,display_matrix_extern_get_screen_pixel:()=>HF,display_matrix_extern_image_builtins:()=>WF,display_matrix_extern_scroll_string:()=>xF,display_matrix_extern_scroll_string_delay:()=>VF,display_matrix_extern_shift:()=>GF,display_matrix_extern_show_frame_string:()=>bF,display_matrix_extern_show_frame_string_delay:()=>yF,display_matrix_extern_show_image:()=>YF,display_matrix_extern_show_image_or_string_delay:()=>XF,display_matrix_use_i2c_init:()=>vF,display_oled_drawPixel:()=>_P,display_oled_showBitmap:()=>oP,display_oled_use_i2c_init:()=>AP,display_onoff:()=>ZF,display_rect:()=>jF,display_tm1650_power:()=>aP,display_tm1650_set_brightness:()=>dP,display_tm1650_show_dot:()=>rP,display_tm1650_show_num:()=>uP,display_tm_use_i2c_init:()=>pP,display_triangle:()=>sP,display_use_i2c_init:()=>QF,extern_oled_bright_point:()=>xP,extern_oled_clear:()=>XP,extern_oled_get_pixel:()=>yP,extern_oled_hvline:()=>BP,extern_oled_line:()=>GP,extern_oled_scroll_string:()=>vP,extern_oled_scroll_string_delay:()=>YP,extern_oled_shape_rect:()=>VP,extern_oled_shift:()=>bP,extern_oled_show_frame_string:()=>FP,extern_oled_show_frame_string_delay:()=>PP,extern_oled_show_image:()=>LP,extern_oled_show_image_or_string_delay:()=>fP,extern_oled_show_image_xy:()=>NP,extern_oled_show_string:()=>DP,image_shift:()=>tP,lcd_backlight:()=>CP,lcd_clear:()=>SP,lcd_print_string:()=>gP,lcd_show_image_or_string_delay:()=>cP,matrix_extern_image_arithmetic:()=>KF,matrix_extern_image_invert:()=>JF,tft_fill:()=>EP,tft_line_arbitrarily:()=>OP,tft_scroll_string_delay:()=>mP,tft_show_frame_string_delay:()=>hP,tft_show_image_or_string_delay:()=>MP,tft_show_image_xy:()=>IP,tft_use_spi_init:()=>lP});var j={};t.r(j),t.d(j,{bitbot_display_bitmap_create:()=>Yv,bitbot_display_image_create:()=>vv,display_available:()=>tv,display_bitmap_create:()=>$P,display_bright_point:()=>ov,display_bright_screen:()=>pv,display_clear:()=>ZP,display_get_pixel:()=>sv,display_get_screen_pixel:()=>_v,display_image_builtins:()=>qP,display_image_builtins_all:()=>zP,display_image_create:()=>jP,display_scroll_string:()=>WP,display_scroll_string_delay:()=>KP,display_scroll_way:()=>JP,display_shift:()=>nv,display_show_frame_string:()=>HP,display_show_frame_string_delay:()=>kP,display_show_image:()=>UP,display_show_image_or_string_delay:()=>wP,draw_pointer:()=>zv,image_arithmetic:()=>ev,image_invert:()=>iv,mixbot_display_bitmap_create:()=>Nv,mixbot_display_bright_screen:()=>Fv,mixbot_display_get_ambientbright:()=>fv,mixbot_display_get_screen_pixel:()=>Dv,mixbot_display_image_create:()=>Lv,mixbot_display_rotate:()=>Pv,mixgo_display_bitmap_create:()=>Tv,mixgo_display_image_create_new:()=>Iv,mixgome_display_bitmap_create:()=>uv,mixgome_display_font:()=>lv,mixgome_display_image_create:()=>av,mixgomini_display_bitmap_create:()=>dv,mixgomini_display_image_create:()=>rv,mpython_display_hvline:()=>Sv,mpython_display_line:()=>Av,mpython_display_shape_rect:()=>Cv,mpython_pbm_image:()=>Mv,nova_draw_pointer:()=>jv,onboard_oled_bright_point:()=>gv,onboard_oled_scroll_string_delay:()=>cv,onboard_oled_show_frame_string_delay:()=>Rv,onboard_oled_show_image:()=>hv,onboard_oled_show_image_or_string_delay:()=>Ov,onboard_oled_show_image_xy:()=>mv,onboard_oled_show_string:()=>Ev,onboard_tft_bright_point:()=>wv,onboard_tft_bright_screen:()=>oY,onboard_tft_clear:()=>_Y,onboard_tft_clock_clear:()=>Qv,onboard_tft_clock_draw:()=>Jv,onboard_tft_clock_get_rtctime:()=>Wv,onboard_tft_clock_init:()=>kv,onboard_tft_clock_set_time:()=>Kv,onboard_tft_display_hvline:()=>Bv,onboard_tft_display_line:()=>Gv,onboard_tft_display_shape_circle:()=>qv,onboard_tft_display_shape_rect:()=>Vv,onboard_tft_fill:()=>Hv,onboard_tft_get_pixel:()=>Uv,onboard_tft_get_screen_pixel:()=>sY,onboard_tft_scroll_string_delay:()=>QP,onboard_tft_shift:()=>nY,onboard_tft_show_frame_string:()=>iY,onboard_tft_show_frame_string_delay:()=>xv,onboard_tft_show_image:()=>eY,onboard_tft_show_image_or_string_delay:()=>yv,onboard_tft_show_image_xy:()=>Xv,onboard_tft_show_image_xy_direct:()=>bv,onboard_tft_show_qrcode:()=>Zv,onboard_tft_show_qrcode_details:()=>tY,onboard_tft_show_texts:()=>$v});var $={};t.r($),t.d($,{factory_block:()=>TY,factory_block_return:()=>MY,factory_block_return_with_textarea:()=>mY,factory_block_with_textarea:()=>hY,factory_callMethod_noreturn:()=>lY,factory_callMethod_return:()=>IY,factory_declare:()=>dY,factory_from_import:()=>pY,factory_function_noreturn:()=>uY,factory_function_return:()=>rY,factory_import:()=>aY,folding_block:()=>EY});var Z={};t.r(Z),t.d(Z,{inout_analog_atten:()=>YY,inout_analog_read:()=>LY,inout_analog_read_init:()=>vY,inout_analog_write:()=>CY,inout_analog_write_init:()=>PY,inout_analog_write_set:()=>SY,inout_digital_init:()=>fY,inout_digital_read:()=>cY,inout_digital_write:()=>RY,inout_highlow:()=>OY,inout_pin_attachInterrupt:()=>DY,inout_pin_pressed:()=>NY,inout_pin_pressed_init:()=>XY,inout_pwm_analog_write:()=>gY,inout_pwm_analog_write_init:()=>FY,inout_pwm_analog_write_set_freq:()=>AY});var tt={};t.r(tt),t.d(tt,{IOT_CONNECT_OLLAMA:()=>uX,IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>tX,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>$Y,IOT_EMQX_PING:()=>eX,IOT_FORMATTING:()=>zY,IOT_FORMAT_STRING:()=>jY,IOT_MIXIO_NTP:()=>iX,IOT_MIXIO_PUBLISH:()=>wY,IOT_MIXIO_PUBLISHEX:()=>HY,IOT_MIXIO_SUBSCRIBE:()=>kY,iot_client_onboard:()=>nX,iot_connect_ollama:()=>aX,iot_connect_openai:()=>rX,iot_http_client:()=>sX,iot_http_data:()=>oX,iot_mixio_check:()=>JY,iot_mixio_connect:()=>UY,iot_mixio_connect_only:()=>KY,iot_mixio_disconnect:()=>WY,iot_mixio_format_msg:()=>qY,iot_mixio_format_topic:()=>QY,iot_mixly_key:()=>ZY,iot_mqtt_client:()=>_X,iot_mqtt_data:()=>pX,iot_onenet_check:()=>BY,iot_onenet_connect:()=>yY,iot_onenet_disconnect:()=>xY,iot_onenet_publish:()=>GY,iot_onenet_publish_dict:()=>VY,iot_tiny_web_db_count:()=>EX,iot_tiny_web_db_delete:()=>RX,iot_tiny_web_db_get:()=>mX,iot_tiny_web_db_init:()=>TX,iot_tiny_web_db_init_with_mqtt:()=>MX,iot_tiny_web_db_search:()=>OX,iot_tiny_web_db_update:()=>hX,iot_wifi_connect:()=>bY,ollama_empty_history:()=>IX,use_ollama_llm_to_chat:()=>dX,use_ollama_llm_to_chat_return:()=>lX});var et={};t.r(et),t.d(et,{educore_mqtt_connect:()=>$X,educore_mqtt_connect_success:()=>ib,educore_mqtt_subscribe_message:()=>ZX,educore_mqtt_topic_publish:()=>eb,educore_mqtt_topic_subscribe:()=>tb,educore_wifi_connect:()=>jX,network_ap_connect:()=>fX,network_connect:()=>gX,network_get_connect:()=>SX,network_get_wifi:()=>DX,network_init:()=>cX,network_is_active:()=>NX,network_open:()=>LX,network_scan:()=>FX,network_server:()=>PX,network_socket_accept:()=>yX,network_socket_bind:()=>YX,network_socket_close:()=>wX,network_socket_connect:()=>XX,network_socket_init:()=>vX,network_socket_listen:()=>bX,network_socket_readline:()=>xX,network_socket_receive:()=>VX,network_socket_receive_from:()=>GX,network_socket_send:()=>BX,network_socket_send_to:()=>UX,network_stop:()=>AX,network_wifi_connect:()=>CX,ntptime_address:()=>JX,ntptime_time:()=>KX,requests_attribute:()=>kX,requests_attribute2:()=>qX,requests_get:()=>HX,requests_get2:()=>QX,requests_method:()=>WX,requests_post:()=>zX});var it={};t.r(it),t.d(it,{CI130X_BROADCAST:()=>Ab,CI130X_GET_THE_RECOGNIZED_CMD:()=>Sb,CI130X_GET_WHETHER_IDENTIFY:()=>Cb,CI130X_IDENTIFY_AND_SAVE:()=>gb,CI130X_SET_SYSTEM_CMD:()=>Lb,HCSR04:()=>sy,PS2_Button:()=>py,PS2_Buttons:()=>ay,PS2_Buttons_new:()=>hy,PS2_State:()=>uy,PS2_init:()=>oy,PS2_init_new:()=>Ty,PS2_stk:()=>ry,PS2_stk_new:()=>my,PS2_vibration:()=>_y,PS2_vibration_new:()=>My,RTC_get_time:()=>ly,RTC_set_date:()=>rb,RTC_set_datetime:()=>dy,RTC_set_time:()=>ub,camera_sensor_init:()=>Qy,camera_sensor_result:()=>qy,column_tube_foot:()=>Zy,define_keyboards:()=>tx,educore_body_sensor:()=>Vy,educore_button_sensor_extern:()=>wy,educore_camera_sensor:()=>Jy,educore_infrared_sensor:()=>Uy,educore_soilhum_sensor:()=>By,educore_temp_sensor:()=>Ky,educore_temphum_sensor:()=>Gy,educore_ultrasonic_sensor:()=>ky,esp32_s2_weather_init:()=>ty,esp32_s2_weather_rain:()=>iy,esp32_s2_weather_wd:()=>ey,esp32_s2_weather_ws:()=>ny,extern_rfid_read:()=>wb,extern_rfid_readcontent:()=>kb,extern_rfid_readid:()=>Hb,extern_rfid_status:()=>Jb,extern_rfid_write:()=>Wb,extern_rfid_write_return:()=>Kb,get_keboards_value:()=>ix,gnss_get_data:()=>Ry,gnss_have_data:()=>cy,init_init_rotary_encoder:()=>nx,init_matrix_keyboard:()=>ex,interaction_whether_to_interaction:()=>Rb,interaction_whether_to_interaction_SANT:()=>cb,line_tube_foot:()=>$y,mixbot_sensor_extern_get_addr:()=>Py,mixbot_sensor_extern_set_addr:()=>vy,pm25_get_data:()=>Oy,radar_set_DETECTION_THRESHOLD:()=>Eb,radar_set_DETECTION_THRESHOLD_SANT:()=>Ob,robot_button_extern_get_value:()=>Cy,robot_color_extern_get_value:()=>Dy,robot_infrared_extern_get_value:()=>Ay,robot_infrared_extern_grey_get_value:()=>Ly,robot_potentiometer_extern_get_value:()=>Ny,robot_sonar_extern_get_value:()=>fy,robot_sonar_extern_led:()=>Fy,robot_touch_extern_get_value:()=>Sy,rotary_key:()=>sx,sensor_APDS9960_extern:()=>Db,sensor_DS18X20:()=>xy,sensor_LTR308_extern:()=>fb,sensor_LTR390UV_extern:()=>yb,sensor_MAX30102_extern:()=>Nb,sensor_QMC5883L_extern:()=>xb,sensor_VL530LX_extern:()=>Gb,sensor_aht11_extern:()=>Bb,sensor_bmp:()=>Mb,sensor_dht11:()=>Iy,sensor_distance_hrsc04:()=>ab,sensor_hp203_extern:()=>Fb,sensor_ltr381_extern:()=>Xb,sensor_mixgo_extern_button_attachInterrupt:()=>_b,sensor_mixgo_extern_button_get_presses:()=>ob,sensor_mixgo_extern_button_is_pressed:()=>nb,sensor_mixgo_extern_button_was_pressed:()=>sb,sensor_mixgo_extern_light:()=>db,sensor_mixgo_extern_pin_near:()=>Ib,sensor_mixgo_extern_sound:()=>lb,sensor_mixgoce_hot_wheel_degrees:()=>Zb,sensor_mixgoce_hot_wheel_is_touched:()=>$b,sensor_mpu9250_attachGestureInterrupt:()=>pb,sensor_ms5611_extern:()=>vb,sensor_ms5611_extern_altitude:()=>Yb,sensor_read_humiture:()=>Hy,sensor_rtc_init:()=>Tb,sensor_sht:()=>hb,sensor_shtc3_extern:()=>Vb,sensor_spl06_001_extern:()=>Pb,sensor_ucs12071_extern:()=>bb,sensor_use_i2c_init:()=>mb,sensor_use_spi_init:()=>Ub,sensor_use_uart_init:()=>Ey,sensor_weather_solo_init:()=>Yy,sensor_weather_solo_rain:()=>yy,sensor_weather_solo_wd:()=>Xy,sensor_weather_solo_ws:()=>by,sensor_weigh_init:()=>zy,tvoc_get_data:()=>gy,ultrasonic_sensor_read_distance:()=>Wy,weather_data:()=>Qb,weather_have_data:()=>qb,weather_set_label:()=>jb,weather_uart_mixio:()=>zb,weigh_sensor_get_weight:()=>jy});var nt={};t.r(nt),t.d(nt,{HCSR04:()=>Ix,bitbot_als_num:()=>bV,dht11:()=>HV,educore_button_sensor:()=>zV,educore_button_was_pressed:()=>jV,educore_gyroscope_sensor:()=>JV,educore_gyroscope_sensor_read:()=>QV,educore_gyroscope_sensor_shake:()=>qV,educore_light_sensor:()=>KV,educore_rfid_sensor:()=>$V,educore_rfid_sensor_scan:()=>ZV,educore_rfid_sensor_scan_data:()=>tB,educore_voice_sensor:()=>kV,number1:()=>Tx,number2:()=>Mx,number3:()=>hx,number4:()=>mx,number5:()=>Ex,number6:()=>Ox,number7:()=>Rx,onboard_RTC_get_time:()=>dV,onboard_RTC_get_time_str:()=>TV,onboard_RTC_get_timestamp:()=>lV,onboard_RTC_get_timetuple_to_str:()=>MV,onboard_RTC_set_datetime:()=>uV,onboard_RTC_settime_string:()=>rV,onboard_RTC_timestamp_totuple:()=>IV,rfid_readcontent:()=>yx,rfid_readid:()=>bx,rfid_status:()=>Bx,rfid_write:()=>xx,rfid_write_return:()=>Vx,sensor_LTR308:()=>Fx,sensor_adxl345_get_acceleration:()=>Qx,sensor_aht11:()=>Yx,sensor_bitbot_ALS:()=>XV,sensor_button_get_presses:()=>VV,sensor_button_is_pressed:()=>yV,sensor_button_was_pressed:()=>xV,sensor_compass_reset:()=>tV,sensor_ds18x20:()=>Dx,sensor_eulerangles:()=>Ux,sensor_get_acceleration:()=>Gx,sensor_get_temperature:()=>Xx,sensor_get_the_coprocessor_version:()=>eB,sensor_hp203:()=>vx,sensor_light:()=>wV,sensor_lm35:()=>fx,sensor_mixbot_get_gyro:()=>YV,sensor_mixbot_patrol_calibrate:()=>FV,sensor_mixbot_patrol_value:()=>PV,sensor_mixbot_temperature:()=>vV,sensor_mixgo_LTR308:()=>Ax,sensor_mixgo_button_attachInterrupt:()=>ax,sensor_mixgo_button_get_presses:()=>px,sensor_mixgo_button_is_pressed:()=>ox,sensor_mixgo_button_was_pressed:()=>_x,sensor_mixgo_cc_mmc5603_calibrate_compass:()=>EV,sensor_mixgo_cc_mmc5603_get_angle:()=>mV,sensor_mixgo_cc_mmc5603_get_magnetic:()=>hV,sensor_mixgo_light:()=>UV,sensor_mixgo_nova_LTR308:()=>Nx,sensor_mixgo_nova_pin_near:()=>Sx,sensor_mixgo_pin_near:()=>Cx,sensor_mixgo_pin_near_double:()=>gx,sensor_mixgo_pin_near_single:()=>cx,sensor_mixgo_pin_pressed:()=>Kx,sensor_mixgo_sant_color:()=>Lx,sensor_mixgo_touch_slide:()=>Wx,sensor_mixgocar42_button_attachInterrupt:()=>lx,sensor_mixgocar42_button_get_presses:()=>dx,sensor_mixgocar42_button_is_pressed:()=>ux,sensor_mixgocar42_button_was_pressed:()=>rx,sensor_mixgocar_battery_left:()=>fV,sensor_mixgocar_pin_near:()=>NV,sensor_mixgocar_pin_near_line:()=>LV,sensor_mixgocar_pin_near_state_change:()=>DV,sensor_mixgoce_pin_pressed:()=>kx,sensor_mixgoce_temperature:()=>RV,sensor_mixgome_temperature:()=>OV,sensor_mpu9250_calibrate_compass:()=>jx,sensor_mpu9250_field_strength:()=>Zx,sensor_mpu9250_gesture:()=>wx,sensor_mpu9250_get_acceleration:()=>Hx,sensor_mpu9250_get_gyro:()=>zx,sensor_mpu9250_get_magnetic:()=>qx,sensor_mpu9250_temperature:()=>$x,sensor_mpython_pin_pressed:()=>Jx,sensor_mpython_qmi8658_get_gyro:()=>cV,sensor_mpython_qmi8658_temperature:()=>gV,sensor_onboard_compass_reset:()=>aV,sensor_onboard_mpu9250_calibrate_compass:()=>oV,sensor_onboard_mpu9250_field_strength:()=>pV,sensor_onboard_mpu9250_gesture:()=>eV,sensor_onboard_mpu9250_get_acceleration:()=>iV,sensor_onboard_mpu9250_get_gyro:()=>sV,sensor_onboard_mpu9250_get_magnetic:()=>nV,sensor_onboard_mpu9250_temperature:()=>_V,sensor_pin_near:()=>GV,sensor_pin_pressed:()=>BV,sensor_read:()=>WV,sensor_rm_acc:()=>AV,sensor_rm_battery_left:()=>SV,sensor_rm_pin_near_double:()=>CV,sensor_sound:()=>Px,simulated_light_sensor:()=>iB});var st={};t.r(st),t.d(st,{serial_any:()=>pB,serial_print:()=>nB,serial_print_byte:()=>sB,serial_print_hex:()=>_B,serial_println:()=>oB,serial_read_from_ai:()=>EB,serial_readline:()=>uB,serial_readstr:()=>aB,serial_send_to_ai:()=>mB,serial_softserial:()=>rB,serial_softserial_new:()=>dB,system_input:()=>lB,system_print:()=>IB,system_print_end:()=>MB,system_print_inline:()=>TB,system_print_many:()=>hB});var ot={};t.r(ot),t.d(ot,{Panic_with_status_code:()=>FB,Timer_init:()=>KB,base_delay:()=>qB,controls_delay:()=>bB,controls_delay_new:()=>yB,controls_end_program:()=>vB,controls_millis:()=>PB,controls_uname:()=>XB,reset:()=>YB,set_system_timer:()=>VB,system_bitbot_shutdown:()=>WB,system_device_name:()=>DB,system_device_serial_number:()=>fB,system_event_bus_source:()=>LB,system_event_bus_value:()=>NB,system_machine_reset:()=>kB,system_on_event:()=>CB,system_raise_event:()=>gB,system_reset:()=>RB,system_run_in_background:()=>OB,system_ticks_diff:()=>BB,system_timer:()=>UB,system_timer_init:()=>GB,system_timestamp:()=>SB,system_value:()=>AB,system_wait:()=>cB,system_wdt_feed:()=>HB,system_wdt_init:()=>wB,time_ticks_diff:()=>QB,timer:()=>xB,timer2:()=>JB});var _t={};t.r(_t),t.d(_t,{Air_daily_content:()=>aG,Air_now_content:()=>eG,Geo_moon_content:()=>rG,Geo_sun_content:()=>uG,Life_suggestion_content:()=>nG,Location_search_content:()=>oG,Tide_daily_content:()=>sG,WEATHER_DAILY:()=>jB,WEATHER_HOUR:()=>$B,WEATHER_NOW:()=>zB,Weather_alarm_content:()=>iG,Weather_daily:()=>_G,Weather_daily_content:()=>pG,Weather_now:()=>ZB,Weather_now_content:()=>tG});var pt={};t.r(pt),t.d(pt,{MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED:()=>IG});var at={};t.r(at),t.d(at,{MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED:()=>MG});var ut={};t.r(ut),t.d(ut,{MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED:()=>mG});var rt={};t.r(rt),t.d(rt,{analog_input:()=>FG,analog_output:()=>vG,espnow_channel:()=>NG,haskylens_model:()=>DG,i2c_A_pin:()=>YG,i2c_B_pin:()=>XG,pins_analog:()=>BG,pins_analog_pin:()=>GG,pins_axis:()=>iU,pins_brightness:()=>nU,pins_builtinimg:()=>qG,pins_builtinimg_extern:()=>zG,pins_button:()=>HG,pins_dac:()=>UG,pins_dac_pin:()=>wG,pins_digital:()=>gG,pins_digital_dot:()=>dU,pins_digital_pin:()=>CG,pins_exlcdh:()=>tU,pins_exlcdv:()=>eU,pins_imglist:()=>jG,pins_input_pin:()=>SG,pins_mpython_touch:()=>LG,pins_one_more:()=>rU,pins_output_pin:()=>AG,pins_playlist:()=>$G,pins_playlist_extern:()=>ZG,pins_pwm:()=>kG,pins_pwm_pin:()=>WG,pins_radio_datarate:()=>uU,pins_radio_power:()=>aU,pins_serial:()=>QG,pins_tone_notes:()=>pU,pins_touch:()=>JG,pins_touch_pin:()=>KG,pins_tts_bgmusic:()=>_U,pins_tts_builtin_music:()=>oU,pins_tts_voice:()=>sU,pwm_input:()=>fG,pwm_output:()=>PG,spi_A_pin:()=>bG,spi_B_pin:()=>yG,spi_C_pin:()=>xG,spi_D_pin:()=>VG});var dt={};t.r(dt),t.d(dt,{espnow_channel:()=>cU,haskylens_model:()=>gU,pins_analog:()=>EU,pins_analog_pin:()=>mU,pins_axis:()=>bU,pins_brightness:()=>VU,pins_builtinimg:()=>FU,pins_builtinimg_extern:()=>PU,pins_button:()=>IU,pins_dac:()=>AU,pins_dac_pin:()=>SU,pins_digital:()=>lU,pins_digital_dot:()=>KU,pins_digital_pin:()=>TU,pins_exlcdh:()=>yU,pins_exlcdv:()=>xU,pins_imglist:()=>vU,pins_input_pin:()=>MU,pins_interrupt:()=>DU,pins_mpython_touch:()=>CU,pins_one_more:()=>WU,pins_output_pin:()=>hU,pins_playlist:()=>YU,pins_playlist_extern:()=>XU,pins_pwm:()=>RU,pins_pwm_pin:()=>OU,pins_radio_datarate:()=>kU,pins_radio_power:()=>HU,pins_serial:()=>fU,pins_tone_notes:()=>wU,pins_touch:()=>NU,pins_touch_pin:()=>LU,pins_tts_bgmusic:()=>UU,pins_tts_builtin_music:()=>GU,pins_tts_voice:()=>BU});const lt=Blockly,It=Mixly,Tt={NAME_TYPE:"VARIABLE",allVariables:function(t){var e;if(t.getDescendants)e=t.getDescendants();else{if(!t.getAllBlocks)throw"Not Block or Workspace: "+t;e=t.getAllBlocks()}for(var i=Object.create(null),n=0;n1&&(_+=n)):i=_}else i="i";return i}},Mt=Tt; +/** + * @license + * Visual Blocks Editor + * + * Copyright 2012 Google Inc. + * https://developers.google.com/blockly/ + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +class ht{constructor(t,e){if(this.variablePrefix_=e||"",this.reservedDict_=Object.create(null),t)for(var i=t.split(","),n=0;n0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(lt.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+s).appendField(lt.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(lt.Msg.CONTROLS_IF_MSG_ELSE);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_if_if");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_if_elseif");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var o=t.newBlock("controls_if_else");o.initSvg(),i.connect(o.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],o=null;i;){switch(i.type){case"controls_if_elseif":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_if_else":this.elseCount_++,o=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,o)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_if_elseif":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_if_else":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),o=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(o.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(lt.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+t).appendField(lt.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(lt.Msg.CONTROLS_IF_MSG_ELSE)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},bt={init:function(){this.setColour(ft),this.appendValueInput("FROM").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.PYTHON_RANGE).appendField(lt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.PYTHON_RANGE_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(lt.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},yt={init:function(){this.setColour(ft),this.appendValueInput("LIST").setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.CONTROLS_FOREACH_INPUT),this.appendValueInput("VAR").appendField(lt.Msg.CONTROLS_FOREACH_INPUT_ITEM),this.appendStatementInput("DO").appendField(lt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip((function(){return lt.Msg.CONTROLS_FOR_TOOLTIP.replace("“%1”","")}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){lt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},xt={init:function(){this.setColour(ft),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(lt.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(new lt.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(lt.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT+lt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return{WHILE:lt.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:lt.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[e]}))}},Vt={init:function(){this.setColour(ft),this.appendDummyInput().appendField(lt.Msg.MIXLY_PYTHON_TRY),this.appendStatementInput("try"),this.appendValueInput("IF1").appendField(lt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO1").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new lt.icons.MutatorIcon(["controls_except","controls_finally"],this)),this.setTooltip(lt.Msg.MIXLY_MIXPY_CONTROL_TRY_TOOLTIP),this.elseifCount_=1,this.elseCount_=0},mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var t=document.createElement("mutation");return this.elseifCount_&&t.setAttribute("elseif",this.elseifCount_),this.elseCount_&&t.setAttribute("else",1),t},domToMutation:function(t){var e=this,i=[],n=[];this.elseCount_&&this.removeInput("ELSE");for(var s=this.elseifCount_;s>0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(lt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+s).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(lt.Msg.MIXLY_PYTHON_FINALLY);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_try");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_except");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var o=t.newBlock("controls_finally");o.initSvg(),i.connect(o.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],o=null;i;){switch(i.type){case"controls_except":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_finally":this.elseCount_++,o=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,o)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_except":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_finally":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),o=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(o.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(lt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+t).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(lt.Msg.MIXLY_PYTHON_FINALLY)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},Bt={init:function(){this.setColour(ft);var t=new lt.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(t,"FLOW").appendField(lt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0),this.setTooltip(lt.Msg.MIXLY_PYTHON_CONTROLS_FLOW_STATEMENTS_TOOLTIP);var e=this;this.setTooltip((function(){var t=e.getFieldValue("FLOW");return{BREAK:lt.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:lt.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}[t]}))},onchange:function(){if(this.workspace){var t=!1,e=this;do{if("controls_repeat"==e.type||"controls_for"==e.type||"controls_forEach"==e.type||"controls_repeat_ext"==e.type||"controls_whileUntil"==e.type||"do_while"==e.type){t=!0;break}e=e.getSurroundParent()}while(e);t?this.setWarningText(null):this.setWarningText(lt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}},Gt={init:function(){this.setColour(ft),this.appendDummyInput().appendField(lt.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new lt.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(lt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return lt.Msg.CONTROLS_FOR_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){lt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Ut={init:function(){this.setColour(ft),this.appendDummyInput().appendField(lt.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new lt.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(lt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return lt.Msg.MIXLY_PYTHON_CONTROLS_FOR_RANGE_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){lt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}};xt.OPERATORS=[[lt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[lt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]],Bt.OPERATORS=[[lt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[lt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const wt={init:function(){this.setColour(ft),this.appendDummyInput().appendField(lt.Msg.CONTROLS_IF_IF_TITLE_IF),this.appendStatementInput("STACK"),this.setTooltip(lt.Msg.CONTROLS_IF_IF_TOOLTIP),this.contextMenu=!1}},Ht={init:function(){this.setColour(ft),this.appendDummyInput().appendField(lt.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},kt={init:function(){this.setColour(ft),this.appendDummyInput().appendField(lt.Msg.CONTROLS_IF_ELSE_TITLE_ELSE),this.setPreviousStatement(!0),this.setTooltip(lt.Msg.CONTROLS_IF_ELSE_TOOLTIP),this.contextMenu=!1}},Wt={init:function(){this.setColour(ft),this.appendDummyInput().appendField("try"),this.appendStatementInput("STACK"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.contextMenu=!1}},Kt={init:function(){this.setColour(ft),this.appendDummyInput().appendField(lt.Msg.MIXLY_PYTHON_EXCEPT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1,this.setTooltip(lt.Msg.MIXLY_MIXPY_CONTROL_EXCEPT_TOOLTIP)}},Jt={init:function(){this.setColour(ft),this.appendDummyInput().appendField(lt.Msg.MIXLY_PYTHON_FINALLY),this.setPreviousStatement(!0),this.contextMenu=!1,this.setTooltip(lt.Msg.MIXLY_MIXPY_CONTROL_FINALLY_TOOLTIP)}},Qt={init:function(){this.jsonInit({message0:lt.Msg.CONTROLS_REPEAT_TITLE,args0:[{type:"input_value",name:"TIMES"}],previousStatement:null,nextStatement:null,colour:ft,tooltip:lt.Msg.CONTROLS_REPEAT_TOOLTIP,helpUrl:lt.Msg.CONTROLS_REPEAT_HELPURL}),this.appendStatementInput("DO")}},qt={init:function(){this.setColour(ft),this.appendValueInput("BOOL").appendField("lambda"),this.appendStatementInput("DO").appendField(lt.Msg.MIXLY_STAT),this.setOutput(!0)}},zt={init:function(){this.setColour(ft),this.appendDummyInput().appendField(lt.Msg.MIXLY_PYTHON_PASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.MIXLY_PYTHON_CONTROLS_PASS_TOOLTIP)}},jt={init:function(){this.setColour(ft),this.appendDummyInput().appendField(lt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_START),this.appendValueInput("callback").appendField(lt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_TOOLTIP)}},$t={init:function(){this.appendDummyInput().appendField(lt.Msg.CONTROLS_REPEAT_TITLE_REPEAT+lt.Msg.MIXLY_DO),this.appendStatementInput("input_data").setCheck(null),this.appendValueInput("select_data").setCheck(null).appendField(lt.Msg.CONTROLS_OPERATOR_UNTIL).appendField(new lt.FieldDropdown([[lt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"true"],[lt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"false"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(ft),this.setTooltip("do-while loop"),this.setHelpUrl("")}},Zt={init:function(){this.setColour(ft),this.appendDummyInput().appendField(lt.Msg.MIXLY_OP_GARBAGE_COLLECT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},te={init:function(){this.setColour(ft),this.appendDummyInput().appendField(lt.Msg.MIXLY_GET_MEM_ALLOC),this.setOutput(!0)}},ee={init:function(){this.setColour(ft),this.appendDummyInput().appendField(lt.Msg.MIXLY_GET_MEM_FREE),this.setOutput(!0)}},ie={init:function(){this.setColour(ft),this.appendDummyInput().appendField(lt.Msg.MIXLY_GET+lt.Msg.MIXLY_DEVICE+"ID"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(lt.Msg.PROCEDURES_DEFRETURN_RETURN+lt.Msg.MIXLY_GET_UNIQUE_IDEN)}},ne={init:function(){this.setColour(ft),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_RTC_TIMESTAMP),this.appendDummyInput().appendField(lt.Msg.MIXLY_TIMESTAMP_TO_DATA),this.setInputsInline(!0),this.setOutput(!0,Number)}},se={init:function(){this.setColour(ft),this.appendDummyInput().appendField(lt.Msg.MIXLY_GET_UNIQUE_IDEN),this.setOutput(!0)}},oe=230;lt.FieldTextInput.math_number_validator=function(t){return String(t)},lt.FieldTextInput.math_number_validator_include_blank=function(t){if(""===t)return"";return/^-?(0X|0x|0O|0o|0B|0b)?[a-fA-F0-9]{1,}(\.[a-fA-F0-9]+)?$/.test(t)?String(t):null};const _e={init:function(){this.setColour(oe),this.appendDummyInput().appendField(new lt.FieldTextInput("0",lt.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(lt.Msg.MATH_NUMBER_TOOLTIP)}},pe={init:function(){this.setColour(oe);this.appendDummyInput("").appendField(lt.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new lt.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:lt.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_TOOLTIP,e:lt.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_TOOLTIP}[e]}))}},ae={init:function(){this.setColour(oe);this.appendDummyInput("").appendField(lt.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new lt.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:lt.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_MP_TOOLTIP,e:lt.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_MP_TOOLTIP}[e]}))}},ue={init:function(){this.setColour(oe),this.setOutput(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new lt.FieldDropdown([["+","ADD"],["-","MINUS"],["×","MULTIPLY"],["÷","DIVIDE"],["%","QUYU"],["//","ZHENGCHU"],["**","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:lt.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:lt.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:lt.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:lt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:lt.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:lt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:lt.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},re={init:function(){this.setColour(oe),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new lt.FieldDropdown([["+=","ADD"],["-=","MINUS"],["×=","MULTIPLY"],["÷=","DIVIDE"],["%=","QUYU"],["//=","ZHENGCHU"],["**=","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:lt.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:lt.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:lt.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:lt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:lt.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:lt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:lt.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},de={init:function(){this.setColour(oe),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new lt.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},le={init:function(){this.setColour(oe),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new lt.FieldDropdown([["sin","SIN"],["cos","COS"],["tan","TAN"],["asin","ASIN"],["acos","ACOS"],["atan","ATAN"],["-","-"],["ln","LN"],["log10","LOG10"],["e^","EXP"],["10^","POW10"]]),"OP");var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{SIN:lt.Msg.MATH_TRIG_TOOLTIP_SIN,COS:lt.Msg.MATH_TRIG_TOOLTIP_COS,TAN:lt.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:lt.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:lt.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:lt.Msg.MATH_TRIG_TOOLTIP_ATAN,LN:lt.Msg.MATH_SINGLE_TOOLTIP_LN}[e]}))}},Ie={init:function(){var t=[[lt.Msg.MATH_BIN,"bin"],[lt.Msg.MATH_OCT,"oct"],[lt.Msg.MATH_HEX,"hex"]];this.setColour(oe),this.setOutput(!0,String),this.appendValueInput("NUM").setCheck(Number).appendField(new lt.FieldDropdown(t),"OP");var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{bin:lt.Msg.MATH_DEC_TOOLTIP_BIN,oct:lt.Msg.MATH_DEC_TOOLTIP_OCT,hex:lt.Msg.MATH_DEC_TOOLTIP_HEX}[t]}))}},Te={init:function(){var t=[[lt.Msg.LANG_MATH_TO_ROUND,"round"],[lt.Msg.LANG_MATH_TO_CEIL,"ceil"],[lt.Msg.LANG_MATH_TO_FLOOR,"floor"],[lt.Msg.MATH_ABS,"fabs"],[lt.Msg.MATH_SQRT,"sqrt"]];this.setColour(oe),this.appendValueInput("A").setCheck(Number).appendField(new lt.FieldDropdown(t),"OP"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{sqrt:lt.Msg.MATH_SINGLE_TOOLTIP_ROOT,fabs:lt.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:lt.Msg.MATH_SINGLE_TOOLTIP_SQ,round:lt.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:lt.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:lt.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[t]}))}},Me={init:function(){var t=[[lt.Msg.MIXLY_MAX,"max"],[lt.Msg.MIXLY_MIN,"min"]];this.setColour(oe),this.appendValueInput("A").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(new lt.FieldDropdown(t),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(lt.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{max:lt.Msg.MIXLY_TOOLTIP_MATH_MAX,min:lt.Msg.MIXLY_TOOLTIP_MATH_MIN}[t]}))}},he={init:function(){var t=[[lt.Msg.MATH_TWO,"two"],[lt.Msg.MATH_EIGHT,"eight"],[lt.Msg.MATH_TEN,"ten"],[lt.Msg.MATH_SIXTEEN,"sixteen"]];this.setColour(oe),this.appendDummyInput("").appendField(lt.Msg.MATH_BA),this.appendValueInput("NUM").appendField(new lt.FieldDropdown(t),"OP").appendField(lt.Msg.MATH_JinZhi).setCheck(Number),this.appendDummyInput("").appendField(lt.Msg.MATH_ZHW).appendField(new lt.FieldDropdown(t),"OP2").appendField(lt.Msg.MATH_JinZhi),this.setFieldValue("ten","OP2"),this.setOutput(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i={two:lt.Msg.MATH_Before_two,eight:lt.Msg.MATH_Before_eight,ten:lt.Msg.MATH_Before_ten,sixteen:lt.Msg.MATH_Before_sixteen},n=e.getFieldValue("OP2"),s={two:lt.Msg.MATH_Behind_two,eight:lt.Msg.MATH_Behind_eight,ten:lt.Msg.MATH_Behind_ten,sixteen:lt.Msg.MATH_Behind_sixteen};return i[t]+s[n]}))}},me={init:function(){var t=[[lt.Msg.LANG_MATH_INT,"int"],[lt.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(oe),this.setOutput(!0,Number),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_RANDOM).appendField(new lt.FieldDropdown(t),"TYPE"),this.appendValueInput("FROM").setCheck(Number).appendField(lt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TYPE"),i={int:lt.Msg.LANG_MATH_INT,float:lt.Msg.LANG_MATH_FLOAT_RANDOM};return lt.Msg.MATH_RANDOM_INT_TOOLTIP+i[t]}))}},Ee={init:function(){this.setColour(oe),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(lt.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(lt.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(lt.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(lt.Msg.MATH_CONSTRAIN_TOOLTIP)}},Oe={init:function(){this.setColour(oe),this.appendValueInput("NUM",Number).appendField(lt.Msg.MIXLY_MAP).setCheck(Number),this.appendValueInput("fromLow",Number).appendField(lt.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(lt.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(lt.Msg.MIXLY_TOOLTIP_MATH_MAP)}},Re={init:function(){this.setColour(oe),this.appendDummyInput().appendField(new lt.FieldTextInput("0",lt.FieldTextInput.math_number_validator_include_blank),"NUM"),this.setOutput(!0),this.setTooltip(lt.Msg.MATH_NUMBER_TOOLTIP)}},ce={init:function(){this.setColour(oe),this.appendValueInput("NUM").setCheck(Number).appendField(lt.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED)}},ge={init:function(){this.setColour(oe),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number),this.appendValueInput("VAR").setCheck(Number).appendField(lt.Msg.MATH_ROUND).appendField(lt.Msg.TEXT_KEEP),this.appendDummyInput().appendField(lt.Msg.TEXT_DECIMAL),this.setInputsInline(!0),this.setTooltip(lt.Msg.MATH_ROUND_NEW_TOOLTIP)}},Ce={init:function(){var t=[[lt.Msg.MIXLY_TO_INT,"int"],[lt.Msg.MIXLY_TO_FLOAT,"float"],[lt.Msg.MIXLY_TO_BITES,"b"],[lt.Msg.LANG_MATH_BYTE+lt.Msg.MIXLY_TO_INT,"bti"]];this.setColour(oe),this.appendValueInput("VAR").appendField(new lt.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:lt.Msg.MIXLY_PYTHON_TOOLTIP_TOINT,float:lt.Msg.MIXLY_PYTHON_TOOLTIP_TOFLOAT,b:lt.Msg.MIXLY_TOOLTIP_TEXT_TOBYTE}[t]}))}},Se={init:function(){var t=[[lt.Msg.MIXLY_TO_INT,"int"],[lt.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(oe),this.appendValueInput("VAR").appendField(new lt.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:lt.Msg.MIXLY_TOOLTIP_TEXT_TOINT,float:lt.Msg.MIXLY_TOOLTIP_TEXT_TOFLOAT}[t]}))}},Ae=Oe,Le={init:function(){this.setColour(oe),this.appendValueInput("VAR").appendField(lt.Msg.LANG_MATH_BYTE+lt.Msg.MIXLY_TO_HEX),this.setOutput(!0,Number),this.setTooltip(lt.Msg.MIXLY_PYTHON_TOOLTIP_TOHEX)}},Ne={init:function(){this.setColour(oe),this.itemCount_=1,this.setMutator(new lt.icons.MutatorIcon(["lists_create_with_item"],this)),this.appendDummyInput("DUMMY").appendField(lt.Msg.MIXLY_PRODUCT+lt.Msg.MIXLY_GENERATE_CARTESIAN_PRODUCT),this.appendValueInput("REPEAT").appendField(lt.Msg.MIXLY_EVERY_PER_ELEPER_ELEMENT),this.appendDummyInput().appendField(lt.Msg.CONTROLS_REPEAT_TITLE_TIMES),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0),this.setTooltip(lt.Msg.LISTS_CREATE_WITH_PYTHON_TOOLTIP),this.updateShape_()},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("lists_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n1&&"\\"===t.charAt(0)){var e=t.charAt(1);if("0"===e||"b"===e||"f"===e||"n"===e||"r"===e||"t"===e||"\\"===e||"'"===e)return String(t).substring(0,2);if("x"===e&&"0"===t.charAt(2)&&"B"===t.charAt(3))return String(t).substring(0,4)}return String(t).substring(0,1)};const Xe={init:function(){this.setColour(Fe),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new lt.FieldTextInput("",lt.FieldTextInput.char_validator),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,Number),this.setTooltip(lt.Msg.TEXT_CHAR_TOOLTIP)},newQuote_:function(t){if(1==t)var e="../../media/quote2.png";else e="../../media/quote3.png";return new lt.FieldImage(e,7,12,'"')}},be={init:function(){this.setColour(Fe),this.appendValueInput("A").setCheck([String,Number]),this.appendValueInput("B").setCheck([String,Number]).appendField(lt.Msg.MIXLY_TEXT_JOIN),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(lt.Msg.MIXLY_TOOLTIP_TEXT_JOIN)}},ye={init:function(){this.setColour(Fe),this.appendValueInput("VAR").setCheck(Number).appendField(lt.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(lt.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},xe={init:function(){this.setColour(Fe),this.appendValueInput("VAR").setCheck(String).appendField(lt.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(lt.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},Ve={init:function(){this.setColour(Fe),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(lt.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},Be={init:function(){this.setColour(Fe),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(lt.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},Ge={init:function(){this.WHERE_OPTIONS=[[lt.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[lt.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[lt.Msg.TEXT_GET_INDEX_RANDOM+1+lt.Msg.TEXT_CHARAT2,"RANDOM"]],this.setHelpUrl(lt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Fe),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number),this.appendDummyInput().appendField(lt.Msg.LISTS_GET_INDEX_GET,"MODE"),lt.Msg.LISTS_GET_INDEX_TAIL&&this.appendDummyInput("TAIL").appendField(lt.Msg.LISTS_GET_INDEX_TAIL),this.setInputsInline(!0),this.setOutput(!0),this.updateAt_(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=t.getFieldValue("WHERE"),n="";switch(e+" "+i){case"GET FROM_START":case"GET FROM_END":n=lt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM;break;case"GET RANDOM":n=lt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM;break;case"GET_REMOVE FROM_START":case"GET_REMOVE FROM_END":n=lt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM;break;case"GET_REMOVE RANDOM":n=lt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM}return"FROM_START"!=i&&"FROM_END"!=i||(n+=" "+lt.Msg.LISTS_INDEX_FROM_START_TOOLTIP.replace("%1",lt.Msg.ONE_BASED_INDEXING?"#1":"#0")),n}));var e=this;this.setTooltip((function(){var t=e.getFieldValue("WHERE"),i={FROM_START:lt.Msg.LISTS_GET_INDEX_FROM_START,FROM_END:lt.Msg.LISTS_GET_INDEX_FROM_END,RANDOM:lt.Msg.TEXT_GET_INDEX_RANDOM};return lt.Msg.PROCEDURES_DEFRETURN_RETURN+lt.Msg.MIXLY_MICROBIT_TYPE_STRING+i[t]+"n"+lt.Msg.TEXT_CHARAT2}))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("statement",!this.outputConnection);var e=this.getInput("AT").type==lt.INPUT_VALUE;return t.setAttribute("at",e),t},domToMutation:function(t){var e="true"==t.getAttribute("statement");this.updateStatement_(e),t="false"!=t.getAttribute("at"),this.updateAt_(t)},updateStatement_:function(t){t!=!this.outputConnection&&(this.unplug(!0,!0),t?(this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)):(this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)))},updateAt_:function(t){this.removeInput("AT"),this.removeInput("ORDINAL",!0),t?(this.appendValueInput("AT").setCheck(Number),lt.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL").appendField(lt.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT");var e=new lt.FieldDropdown(this.WHERE_OPTIONS,(function(e){var i="FROM_START"==e||"FROM_END"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT").appendField(e,"WHERE"),lt.Msg.LISTS_GET_INDEX_TAIL&&this.moveInputBefore("TAIL",null)}},Ue={init:function(){this.setHelpUrl(lt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Fe),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number).appendField(lt.Msg.LISTS_GET_INDEX_GET+" "+lt.Msg.LISTS_GET_INDEX_FROM_START),this.appendDummyInput().appendField(lt.Msg.TEXT_CHARAT2),this.setOutput(!0),this.setTooltip(lt.Msg.PROCEDURES_DEFRETURN_RETURN+lt.Msg.MIXLY_MICROBIT_TYPE_STRING+lt.Msg.LISTS_GET_INDEX_FROM_START+"n"+lt.Msg.TEXT_CHARAT2)}},we={init:function(){this.setHelpUrl(lt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Fe),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(lt.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(lt.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},He={init:function(){this.WHERE_OPTIONS_1=[[lt.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[lt.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[lt.Msg.LISTS_GET_SUBLIST_START_FIRST,"FIRST"]],this.WHERE_OPTIONS_2=[[lt.Msg.LISTS_GET_SUBLIST_END_FROM_START,"FROM_START"],[lt.Msg.LISTS_GET_SUBLIST_END_FROM_END,"FROM_END"],[lt.Msg.LISTS_GET_SUBLIST_END_LAST,"LAST"]],this.setHelpUrl(lt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Fe),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput("AT1"),this.appendDummyInput("AT2"),this.setInputsInline(!0),this.setOutput(!0,"List"),this.updateAt_(1,!0),this.updateAt_(2,!0),this.setTooltip(lt.Msg._GET_TEXT_SUBLIST_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT1").type==lt.INPUT_VALUE;t.setAttribute("at1",e);var i=this.getInput("AT2").type==lt.INPUT_VALUE;return t.setAttribute("at2",i),t},domToMutation:function(t){var e="true"==t.getAttribute("at1"),i="true"==t.getAttribute("at2");this.updateAt_(1,e),this.updateAt_(2,i)},updateAt_:function(t,e){this.removeInput("AT"+t),this.removeInput("ORDINAL"+t,!0),e?(this.appendValueInput("AT"+t).setCheck(Number),lt.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL"+t).appendField(lt.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT"+t);var i=new lt.FieldDropdown(this["WHERE_OPTIONS_"+t],(function(i){var n="FROM_START"==i||"FROM_END"==i;if(n!=e){var s=this.sourceBlock_;return s.updateAt_(t,n),s.setFieldValue(i,"WHERE"+t),null}}));this.getInput("AT"+t).appendField(i,"WHERE"+t),1==t&&(this.moveInputBefore("AT1","AT2"),this.getInput("ORDINAL1")&&this.moveInputBefore("ORDINAL1","AT2"))}},ke={init:function(){this.setHelpUrl(lt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Fe),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT1").appendField(lt.Msg.LISTS_GET_INDEX_GET+" "+lt.Msg.LISTS_GET_INDEX_FROM_START),this.appendValueInput("AT2").appendField(lt.Msg.LISTS_GET_SUBLIST_END_FROM_START),this.appendDummyInput().appendField(lt.Msg.TEXT_CHARAT2),this.setInputsInline(!0),this.setOutput(!0,["List",String]),this.setTooltip(lt.Msg._GET_TEXT_SUBLIST_TOOLTIP)}},We={init:function(){var t=[[lt.Msg.MIXLY_EQUALS,"==="],[lt.Msg.MIXLY_STARTSWITH,"startswith"],[lt.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(Fe),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new lt.FieldDropdown(t),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},Ke={init:function(){this.setColour(Fe),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(lt.Msg.MIXLY_COMPARETO).setCheck(String),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_COMPARETO_HELP)}},Je={init:function(){var t=[[lt.Msg.TEXT_UPPER,"upper"],[lt.Msg.TEXT_TITLE,"title"],[lt.Msg.TEXT_CAPITALIZE,"capitalize"],[lt.Msg.TEXT_SWAPCASE,"swapcase"],[lt.Msg.TEXT_LOWER,"lower"]];this.setColour(Fe),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new lt.FieldDropdown(t),"CAPITAL").setCheck(String),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CAPITAL");return{upper:lt.Msg.MIXLY_MIXPY_TEXT_UPPER_TOOLTIP,title:lt.Msg.MIXLY_MIXPY_TEXT_TITLE_TOOLTIP,swapcase:lt.Msg.MIXLY_MIXPY_TEXT_SWAPCASE_TOOLTIP,capitalize:lt.Msg.MIXLY_MIXPY_TEXT_CAPITALIZE_TOOLTIP,lower:lt.Msg.MIXLY_MIXPY_TEXT_LOWER_TOOLTIP}[t]}))}},Qe={init:function(){var t=[[lt.Msg.TEXT_LJUST,"ljust"],[lt.Msg.TEXT_CENTER,"center"],[lt.Msg.TEXT_RJUST,"rjust"]];this.setColour(Fe),this.appendValueInput("VAR").appendField(new lt.FieldDropdown(t),"CENTER").setCheck(String),this.appendValueInput("WID").appendField(lt.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("Symbol").appendField(lt.Msg.MIXLY_RECT_Fill).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(lt.Msg.MIXLY_MIXPY_TEXT_CENTER_TOOLTIP)}},qe={init:function(){this.setColour(Fe),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).setCheck(String),this.appendValueInput("STR").appendField(lt.Msg.MIXLY_MID+lt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER).setCheck(String),this.appendDummyInput().appendField(lt.Msg.MIXLY_LIST_INDEX),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(lt.Msg.MIXLY_MIXPY_TEXT_FIND_TOOLTIP)}},ze={init:function(){this.setColour(Fe),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_USE_STR).setCheck(String),this.appendValueInput("LIST").appendField(lt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_SEQ).setCheck("List","Tuple","Set","Dict"),this.appendDummyInput().appendField(lt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_GET_STR),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(lt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_TOOLTIP)}},je={init:function(){this.setColour(Fe),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("STR1").appendField(lt.Msg.MIXLY_MIXPY_REPLACE).setCheck(String),this.appendValueInput("STR2").appendField(lt.Msg.LISTS_SET_INDEX_INPUT_TO).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(lt.Msg.MIXLY_MIXPY_TEXT_REPLACE_TOOLTIP)}},$e={init:function(){this.setColour(Fe),this.appendValueInput("VAR"),this.appendValueInput("VAL").appendField(lt.Msg.LIST_SPLIT_AS),this.appendDummyInput("").appendField(lt.Msg.LIST_SPLIT),this.setOutput(!0,"List"),this.setTooltip(lt.Msg.MIXLY_MIXPY_TEXT_SPLIT_TOOLTIP),this.setInputsInline(!0)}},Ze={init:function(){var t=[[lt.Msg.TEXT_TRIM_BOTH,"strip"],[lt.Msg.TEXT_TRIM_LEFT,"lstrip"],[lt.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(Fe),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(lt.Msg.TEXT_STRIM),this.appendDummyInput("").appendField(new lt.FieldDropdown(t),"TOWHAT"),this.appendDummyInput("").appendField(lt.Msg.TEXT_BLANK),this.setOutput(!0,String),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{strip:lt.Msg.TEXT_TRIM_BOTH_TOOLTIP,lstrip:lt.Msg.TEXT_TRIM_LEFT_TOOLTIP,rstrip:lt.Msg.TEXT_TRIM_RIGHT_TOOLTIP}[t]}))}},ti={init:function(){this.setColour(Fe),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROPYTHON_FORMAT),this.appendDummyInput("").appendField(new lt.FieldTextInput("str"),"VAR"),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new lt.icons.MutatorIcon(["text_create_with_item"],this)),this.setOutput(!0),this.setTooltip(lt.Msg.MIXLY_MIXPY_TEXT_FORMAT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("text_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){lt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},zi={init:function(){this.setColour(Qi),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(lt.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},ji={init:function(){this.setColour(Qi),this.appendDummyInput().appendField(lt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},$i={init:function(){this.setColour(Qi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(lt.Msg.DICT_KEYS),this.setTooltip(lt.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},Zi={init:function(){this.setColour(Qi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(lt.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(lt.Msg.DICTS_ADD_VALUE),this.setOutput(!0),this.setTooltip(lt.Msg.DICTS_GET_TOOLTIP)}},tn={init:function(){this.setColour(Qi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(lt.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(lt.Msg.DICTS_ADD_VALUE),this.appendValueInput("VAR").appendField(lt.Msg.DICTS_DEFAULT_VALUE),this.setOutput(!0),this.setTooltip(lt.Msg.DICTS_GET_DEFAULT_TOOLTIP)}},en={init:function(){this.setColour(Qi),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(lt.Msg.DICTS_ADD),this.appendDummyInput(),this.appendValueInput("VAR").appendField(lt.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.DICTS_ADD_OR_CHANGE_TOOLTIP)}},nn={init:function(){this.setColour(Qi),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(lt.Msg.DICTS_DELETE_IN),this.appendDummyInput("").appendField(lt.Msg.DICTS_DELETE_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.DICTS_DELETE_TOOLTIP)}},sn={init:function(){this.setColour(Qi),this.appendValueInput("DICT2").setCheck("Dict").appendField(lt.Msg.MAKE_DICT),this.appendValueInput("DICT").setCheck("Dict").appendField(lt.Msg.DICT_UPDATE),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MID),this.setTooltip(lt.Msg.DICTS_UPDATE_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},on={init:function(){this.setColour(Qi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(lt.Msg.DICT_CLEAR),this.setTooltip(lt.Msg.DICTS_CLEAR_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},_n={init:function(){this.setColour(Qi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(lt.Msg.DICT_ITEMS),this.setTooltip(lt.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},pn={init:function(){this.setColour(Qi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(lt.Msg.DICT_VALUES),this.setTooltip(lt.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},an={init:function(){this.setColour(Qi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_LENGTH),this.setTooltip(lt.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},un={init:function(){this.setColour(Qi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(lt.Msg.DICT_DELDICT),this.setTooltip(lt.Msg.DICTS_DEL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},rn={init:function(){this.MODE=[[lt.Msg.DICTS_ADD_OR_CHANGE,"INSERT"],[lt.Msg.MIXLY_MICROBIT_JS_DELETE_VAR,"DELETE"]],this.setHelpUrl(lt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Qi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("AT2"),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).appendField(lt.Msg.DICTS_ADD_VALUE),this.updateAt_(!0),this.setInputsInline(!0),this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e="";switch(t.getFieldValue("WHERE")){case"INSERT":e=lt.Msg.DICTS_ADD_TOOLTIP;break;case"DELETE":e=lt.Msg.DICTS_DELETE_TOOLTIP}return e}))},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT2").type==lt.INPUT_VALUE;return t.setAttribute("at2",e),t},domToMutation:function(t){var e="true"==t.getAttribute("at2");this.updateAt_(e)},updateAt_:function(t){this.removeInput("AT2"),this.removeInput("ORDINAL",!0),t?this.appendValueInput("AT2").setCheck(Number):this.appendDummyInput("AT2");var e=new lt.FieldDropdown(this.MODE,(function(e){var i="INSERT"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT2").appendField(e,"WHERE")}},dn={init:function(){this.setColour(Qi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(lt.Msg.blockpy_DICT_POP),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(lt.Msg.DICTS_ADD_VALUE),this.setTooltip(lt.Msg.DICT_POP_TOOLTIP),this.setInputsInline(!0),this.setOutput(!0)}},ln={init:function(){this.setColour(Qi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(lt.Msg.DICTS_SET_DEFAULT),this.appendDummyInput("").appendField(lt.Msg.DICTS_DEFAULT_VALUE),this.appendValueInput("VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.DICTS_SETDEFAULT_TOOLTIP)}},In={init:function(){this.setColour(Qi),this.appendDummyInput("").appendField(new lt.FieldLabel(lt.Msg.MIXLY_MICROBIT_TYPE_DICT),"TIP").appendField(" "),this.itemCount_=3,this.updateShape_(),this.setOutput(!0,"Dict"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setMutator(new lt.icons.MutatorIcon(["dicts_create_with_item"],this)),this.setTooltip(lt.Msg.DICTS_CREATE_WITH_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("dicts_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){lt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Tn={init:function(){this.setColour(Qi),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(lt.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},Mn={init:function(){this.setColour(Qi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_TO_JSON),this.setTooltip(lt.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},hn={init:function(){this.setColour(Qi),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_CONVERT_TO_JSON),this.setTooltip(lt.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},mn={init:function(){this.setColour(Qi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("VAR1").appendField("key1"),this.appendValueInput("VAR2").appendField("index"),this.appendValueInput("VAR3").appendField("key2"),this.appendValueInput("VAR4").appendField("key3"),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},En={init:function(){this.setColour(Qi),this.appendValueInput("DICT"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_TO_JSON),this.setTooltip(lt.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},On=210,Rn={init:function(){var t=lt.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(On),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new lt.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{EQ:lt.Msg.LOGIC_COMPARE_TOOLTIP_EQ,NEQ:lt.Msg.LOGIC_COMPARE_TOOLTIP_NEQ,LT:lt.Msg.LOGIC_COMPARE_TOOLTIP_LT,LTE:lt.Msg.LOGIC_COMPARE_TOOLTIP_LTE,GT:lt.Msg.LOGIC_COMPARE_TOOLTIP_GT,GTE:lt.Msg.LOGIC_COMPARE_TOOLTIP_GTE}[t]})),this.prevBlocks_=[null,null]}},cn={init:function(){var t=lt.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]],e=lt.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(On),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new lt.FieldDropdown(t),"OP1"),this.appendValueInput("C").appendField(new lt.FieldDropdown(e),"OP2"),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_PYTHON_LOGIC_COMPARE_CONTINOUS_TOOLTIP)}},gn={init:function(){var t=[[lt.Msg.LOGIC_OPERATION_AND,"AND"],[lt.Msg.LOGIC_OPERATION_OR,"OR"],[lt.Msg.LOGIC_OPERATION_NOR,"NOR"],[lt.Msg.LOGIC_OPERATION_XOR,"XOR"]];this.setColour(On),this.setOutput(!0,Boolean),this.appendValueInput("A").setCheck([Boolean,Number]),this.appendValueInput("B").setCheck([Boolean,Number]).appendField(new lt.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{AND:lt.Msg.LOGIC_OPERATION_TOOLTIP_AND,OR:lt.Msg.LOGIC_OPERATION_TOOLTIP_OR,NOR:lt.Msg.LOGIC_OPERATION_TOOLTIP_NOR,XOR:lt.Msg.LOGIC_OPERATION_TOOLTIP_XOR}[t]}))}},Cn={init:function(){this.setColour(On),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(lt.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(lt.Msg.LOGIC_NEGATE_TOOLTIP)}},Sn={init:function(){var t=[[lt.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[lt.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(On),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new lt.FieldDropdown(t),"BOOL"),this.setTooltip(lt.Msg.LOGIC_BOOLEAN_TOOLTIP)}},An={init:function(){this.setColour(On),this.setOutput(!0),this.appendDummyInput().appendField(lt.Msg.LOGIC_NULL),this.setTooltip(lt.Msg.LOGIC_NULL_TOOLTIP)}},Ln={init:function(){this.setColour(On),this.appendValueInput("A"),this.appendValueInput("B").appendField(lt.Msg.LOGIC_TERNARY_IF_TRUE),this.appendValueInput("C").appendField(lt.Msg.LOGIC_TERNARY_IF_FALSE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_TOOLTIP_LOGIT_TRUEORFALSE)}},Nn={init:function(){var t=[[lt.Msg.TEXT_APPEND_TO,"in"],[lt.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(On),this.appendValueInput("A"),this.appendValueInput("B").setCheck([String,"List"]).appendField(new lt.FieldDropdown(t),"BOOL"),this.appendDummyInput("").appendField(lt.Msg.MICROBIT_LOGIC_IS_IN),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(lt.Msg.IN)}},Dn={init:function(){var t=[[lt.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[lt.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(On),this.appendValueInput("A"),this.appendValueInput("B").appendField(new lt.FieldDropdown(t),"BOOL"),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_PYTHON_LOGIC_IS_TOOLTIP)}},fn={init:function(){this.setColour(On),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(lt.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},Fn={init:function(){this.setColour(0),this.appendValueInput("fn").setCheck(String).appendField(lt.Msg.MIXLY_PYTHON_STORAGE_OPEN_FILE_WITH_OS+"(For Windows)"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Pn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"],[lt.Msg.MIXLY_ADD,"a"],[lt.Msg.MATH_BIN+lt.Msg.MIXLY_ADD,"ab"],[lt.Msg.MIXLY_R_W,"r+"],[lt.Msg.MATH_BIN+lt.Msg.MIXLY_R_W,"rb+"],[lt.Msg.MIXLY_W_R,"w+"],[lt.Msg.MATH_BIN+lt.Msg.MIXLY_W_R,"wb+"],[lt.Msg.MIXLY_A_R,"a+"],[lt.Msg.MATH_BIN+lt.Msg.MIXLY_A_R,"ab+"]]),"MODE"),this.appendValueInput("FILE").appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_AS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=lt.Msg.MIXLY_USE,n=lt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=lt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=lt.Msg.MIXLY_BELONG;return i+{r:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){lt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},vn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=lt.Msg.MIXLY_USE,n=lt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=lt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=lt.Msg.MIXLY_BELONG,_=lt.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s+_}))}},Yn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE);this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendDummyInput().appendField(lt.Msg.MIXPY_TEXT_ENCODE).appendField(new lt.FieldDropdown([["ANSI","ANSI"],["gbk","gbk"],["utf-8","utf-8"]]),"CODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=lt.Msg.MIXLY_USE,n=lt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=lt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=lt.Msg.MIXLY_BELONG,_=lt.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s+_}))}},Xn={init:function(){this.setColour(0),this.appendValueInput("data").setCheck(String).appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendValueInput("FILE").appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+lt.Msg.MIXLY_MICROBIT_TYPE_STRING+lt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE)}},bn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"read"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE,"readline"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES,"readlines"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String)}},yn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,"read"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,"readline"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE,"readlines"]]),"MODE"),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=lt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE,n=lt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER;return i+{read:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,readline:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,readlines:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE}[e]+"x"+n}))}},xn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.setNextStatement(!0),this.appendValueInput("SIZE").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(lt.Msg.MICROBIT_PYTHON_TYPE)}},Vn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(lt.Msg.HTML_FILE),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean),this.setTooltip(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT1)}},Bn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILENAME),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILENAME)}},Gn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE)}},Un={init:function(){this.setColour(0),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES)}};lt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE;const wn={init:function(){this.setColour(0),this.appendDummyInput().appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE,"remove"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_DIRS,"removedirs"]]),"MODE"),this.appendValueInput("FILE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE)}},Hn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE+lt.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE)}},kn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_RETURN_FILE),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_PRESENT_LOCATION),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_TELL)}},Wn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION),this.appendDummyInput().appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,"start"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,"current"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END,"end"]]),"MODE"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=lt.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION+lt.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION,n=lt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER,s=lt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET;return i+" "+{start:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,current:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,end:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END}[e]+s+"x"+n}))}},Kn={init:function(){this.setColour(0),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR)}},Jn={init:function(){this.setColour(0),this.appendValueInput("PATH").setCheck(String).appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_SET),this.appendDummyInput().appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,"mkdir"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_MAKEDIRS,"makedirs"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return lt.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH+"x"+lt.Msg.MIXLY_ESP32_SET+{mkdir:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,makedirs:lt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},Qn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME),this.appendValueInput("NEWFILE").setCheck(String).appendField(lt.Msg.MIXLY_AS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME)}},qn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR)}},zn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT),this.appendDummyInput().appendField(new lt.FieldDropdown([[lt.Msg.HTML_FILE,"isfile"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_DIR,"isdir"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean);let t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return lt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH+"x"+lt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT+{isfile:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,isdir:lt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},jn={init:function(){this.setColour(0),this.appendValueInput("SPISUB").appendField(lt.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_SETUP+lt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(lt.Msg.MIXLY_SD_CARD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},$n={init:function(){this.setColour(0),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_SD_CARD),this.appendValueInput("DIR").setCheck(String).appendField(lt.Msg.MIXLY_SDCARD_MOUNT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip()}},Zn={init:function(){var t=lt.Procedures.findLegalName("",this),e=new lt.FieldTextInput(t,lt.Procedures.rename);e.setSpellcheck(!1),this.appendDummyInput().appendField(e,"NAME").appendField("","PARAMS"),this.setMutator(new lt.icons.MutatorIcon(["procedures_mutatorarg"],this)),(this.workspace.options.comments||this.workspace.options.parentWorkspace&&this.workspace.options.parentWorkspace.options.comments)&<.Msg.PROCEDURES_DEFNORETURN_COMMENT&&this.setCommentText(lt.Msg.PROCEDURES_DEFNORETURN_COMMENT),this.setStyle("procedure_blocks"),this.setTooltip(lt.Msg.PROCEDURES_DEFNORETURN_TOOLTIP),this.setHelpUrl(lt.Msg.PROCEDURES_DEFNORETURN_HELPURL),this.arguments_=[],this.argumentVarModels_=[],this.setStatements_(!0),this.statementConnection_=null},setStatements_:function(t){this.hasStatements_!==t&&(t?(this.appendStatementInput("STACK").appendField(lt.Msg.PROCEDURES_DEFNORETURN_DO),this.getInput("RETURN")&&this.moveInputBefore("STACK","RETURN")):this.removeInput("STACK",!0),this.hasStatements_=t)},updateParams_:function(){var t="";this.arguments_.length&&(t=lt.Msg.PROCEDURES_BEFORE_PARAMS+" "+this.arguments_.join(", ")),lt.Events.disable();try{this.setFieldValue(t,"PARAMS")}finally{lt.Events.enable()}},mutationToDom:function(t){var e=lt.utils.xml.createElement("mutation");t&&e.setAttribute("name",this.getFieldValue("NAME"));for(var i=0;i"),this.appendValueInput("style").appendField(lt.Msg.MIXLY_AIP_ATTR).setAlign(lt.inputs.Align.RIGHT),this.appendStatementInput("DO").appendField(""),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Qs={init:function(){this.setColour(ws),this.appendDummyInput().appendField(lt.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},qs={init:function(){this.setColour(ws),this.appendDummyInput().appendField(lt.Msg.HTML_FORM_CONTENT).appendField(new lt.FieldDropdown([[lt.Msg.HTML_TEXT,"text"],[lt.Msg.HTML_EMAIL,"email"],[lt.Msg.HTML_NUMBER,"number"],[lt.Msg.HTML_PASSWORD,"password"],[lt.Msg.HTML_CHECKBOX,"checkbox"],[lt.Msg.HTML_RADIOBUTTON,"radiobutton"],[lt.Msg.HTML_BUTTON,"button"],[lt.Msg.HTML_COLOUR,"colour"],[lt.Msg.HTML_DATE,"date"],[lt.Msg.HTML_LOCALTIME,"local time"],[lt.Msg.HTML_FILE,"file"],[lt.Msg.HTML_HIDDEN,"hidden"],[lt.Msg.HTML_IMAGE,"image"],[lt.Msg.HTML_MONTH,"month"],[lt.Msg.HTML_RANGE,"range"],[lt.Msg.HTML_RESET,"reset"],[lt.Msg.HTML_SEARCH,"search"],[lt.Msg.HTML_SUBMIT,"submit"],[lt.Msg.HTML_TELEPHONENUMBER,"telephone number"],[lt.Msg.HTML_TIME,"time"],[lt.Msg.HTML_URL,"url"],[lt.Msg.HTML_WEEK,"week"]]),"LEVEL"),this.appendDummyInput().appendField(lt.Msg.HTML_NAME).appendField(new lt.FieldTextInput("car"),"NAME"),this.appendDummyInput().appendField(lt.Msg.HTML_VALUE).appendField(new lt.FieldTextInput("go"),"VALUE"),this.appendValueInput("style").appendField(lt.Msg.MIXLY_AIP_ATTR).setAlign(lt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},zs={init:function(){this.setColour(ws),this.appendDummyInput().appendField(new lt.FieldTextInput("property"),"KEY").appendField(":").appendField(new lt.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},js={init:function(){this.setColour(ws),this.appendDummyInput().appendField(new lt.FieldTextInput("property"),"KEY").appendField(":").appendField(new lt.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},$s={init:function(){this.setColour(ws),this.appendDummyInput().appendField(lt.Msg.HTML_TEXT).appendField(new lt.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Zs=160,to={init:function(){this.setColour(Zs),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new lt.FieldTable(""),"TEXT")}},eo={init:function(){this.setColour(Zs),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new lt.FieldMultilineInput(""),"TEXT")}},io={init:function(){this.setColour(Zs),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new lt.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},no={init:function(){this.setColour(Zs),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},so={init:function(){this.setColour(Zs),this.appendDummyInput().appendTitle("Comment:").appendTitle(new lt.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},oo={init:function(){this.setColour(Zs),this.appendValueInput("VALUE").appendField(lt.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},_o={init:function(){this.setColour(Zs),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new lt.icons.MutatorIcon(["text_print_multiple_item"],this)),this.setTooltip(lt.Msg.TEXT_PRINT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=lt.Block.obtain(t,"text_print_multiple_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n= stop:"," yield start"," start -= abs(step)"])};if(t=function(t,e,i){return"("+t+" <= "+e+") and "+a()+"("+t+", "+e+", "+i+") or "+u()+"("+t+", "+e+", "+i+")"},lt.isNumber(n)&<.isNumber(s)&<.isNumber(o))n=parseFloat(n),s=parseFloat(s),o=Math.abs(parseFloat(o)),0==n%1&&0==s%1&&0==o%1?(n<=s?(s++,t=0==n&&1==o?s:n+", "+s,1!=o&&(t+=", "+o)):t=n+", "+--s+", -"+o,t="range("+t+")"):(t=n",GTE:">="};const ia=function(t,e){var i=this.getFieldValue("OP"),n="&&"==i?e.ORDER_LOGICAL_AND:e.ORDER_LOGICAL_OR,s=e.valueToCode(this,"A",n)||"False",o=e.valueToCode(this,"B",n)||"False";if("AND"==i)var _=s+" and "+o;else if("OR"==i)_=s+" or "+o;else if("NOR"==i)_="not("+s+"^"+o+")";else _=s+"^"+o;return[_,n]},na=function(t,e){var i=e.ORDER_UNARY_PREFIX;return["not "+(e.valueToCode(this,"BOOL",i)||"False"),i]},sa=function(t,e){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",e.ORDER_ATOMIC]},oa=function(t,e){return["None",e.ORDER_ATOMIC]},_a=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"False";return["("+(e.valueToCode(this,"B",e.ORDER_ATOMIC)||"False")+" if "+i+" else "+(e.valueToCode(this,"C",e.ORDER_ATOMIC)||"False")+")",e.ORDER_ATOMIC]},pa=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},aa=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},ua=function(t,e){return["bool("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||"0")+")",e.ORDER_ATOMIC]},ra=function(t,e){return e.definitions_.import_os="import os","os.startfile("+e.valueToCode(this,"fn",e.ORDER_ATOMIC)+")\n"},da=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+" = open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},la=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",e.ORDER_ATOMIC]},Ia=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',e.ORDER_ATOMIC]},Ta=function(t,e){var i=e.valueToCode(this,"data",e.ORDER_ATOMIC);return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".write("+i+")\n"},Ma=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"()",e.ORDER_ATOMIC]},ha=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},ma=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".readline("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Ea=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".writable()",e.ORDER_ATOMIC]},Oa=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".name()",e.ORDER_ATOMIC]},Ra=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".close()\n"},ca=function(t,e){e.definitions_.import_os="import os";return["os.listdir()",e.ORDER_ATOMIC]},ga=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},Ca=function(t,e){return e.definitions_.import_os="import os",["os.path.getsize("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Sa=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".tell()",e.ORDER_ATOMIC]},Aa=function(t,e){var i=this.getFieldValue("MODE"),n=0;return n="start"==i?0:"current"==i?1:2,e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".seek("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+","+n+")\n"},La=function(t,e){return e.definitions_.import_os="import os","os.chdir("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},Na=function(t,e){e.definitions_.import_os="import os";return["os.getcwd()",e.ORDER_ATOMIC]},Da=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"PATH",e.ORDER_ATOMIC)+")\n"},fa=function(t,e){return e.definitions_.import_os="import os","os.rename("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+","+e.valueToCode(this,"NEWFILE",e.ORDER_ATOMIC)+")\n"},Fa=function(t,e){e.definitions_.import_os="import os";var i=e.valueToCode(this,"FILE",e.ORDER_ATOMIC);return["os."+this.getFieldValue("MODE")+"("+i+")",e.ORDER_ATOMIC]},Pa=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = sdcard.SDCard("+e.valueToCode(this,"SPISUB",e.ORDER_ATOMIC)+","+e.valueToCode(this,"PINSUB",e.ORDER_ATOMIC)+")\n"},va=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard","os.mount("+e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+","+e.valueToCode(this,"DIR",e.ORDER_ATOMIC)+")\n"},Ya=function(t,e){var i=e.variableDB_.getName(this.getFieldValue("NAME"),lt.Procedures.NAME_TYPE),n=(this.getInput("STACK")&&e.statementToCode(this,"STACK"))??" pass\n";e.INFINITE_LOOP_TRAP&&(n=e.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+n);var s=e.valueToCode(this,"RETURN",e.ORDER_NONE)||"";s&&(s=" return "+s+"\n");for(var o=[],_=0;_\n\n\n\t\n"+e.statementToCode(this,"HEAD")+"\n\n"+e.statementToCode(this,"BODY")+"\n\n'''",e.ORDER_ATOMIC]},Mu=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"\n"+i+"\n"},hu=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");if("head"==n)var s="<"+n+'>\n\t\n'+i+"\n";else s="<"+n+">\n"+i+"\n";return s},mu=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"<"+n+">\n"+i+"\n"},Eu=function(t,e){var i=e.statementToCode(this,"DO"),n=e.valueToCode(this,"style"),s=this.getFieldValue("LEVEL");return"<"+s+" "+n+" >\n"+i+"\n"},Ou=function(t,e){return['style="'+e.statementToCode(this,"STYLE")+'"',e.ORDER_ATOMIC]},Ru=function(t,e){return'"},cu=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},gu=function(){return this.getFieldValue("TEXT")+"\n"},Cu=function(t){return t.getFieldValue("TEXT")+"\n"},Su=function(t,e){return[t.getFieldValue("TEXT"),e.ORDER_ATOMIC]},Au=function(t,e){return(e.valueToCode(t,"VALUE",e.ORDER_ATOMIC)||"")+"\n"},Lu=function(){return""},Nu=function(t,e){return["type("+(e.valueToCode(t,"VALUE",e.ORDER_MEMBER)||"___")+")",e.ORDER_ATOMIC]},Du=function(t,e){for(var i=t.getFieldValue("NAME"),n=t.hasReturn_,s=new Array(t.itemCount_),o=0;o0?e.join("\n")+i.join("\n")+n.join("\n")+_.join("\n")+p.join("")+t+"while True:\n"+a.join("")+u.join("\n"):e.join("\n")+i.join("\n")+n.join("\n")+_.join("\n")+p.join("")+t+u.join("\n")},vu.scrubNakedValue=function(t){return t+"\n"},vu.quote_=function(t){var e="'";return-1!==t.indexOf("'")&&(-1===t.indexOf('"')?e='"':t=t.replace(/'/g,"\\'")),e+t+e},vu.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},vu.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(o=t.getCommentText())&&(o=lt.utils.string.wrap(o,vu.COMMENT_WRAP-3),n+=vu.prefixLines(o+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const Yu="#74A55B",Xu={init:function(){this.setColour(Yu),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MIDI),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(lt.Msg.MIXLY_RGB_PIN_COUNT)}},bu={init:function(){this.setColour(Yu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(lt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},yu={init:function(){this.setColour(Yu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(lt.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(lt.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},xu={init:function(){this.setColour(Yu),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(lt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Vu={init:function(){this.setColour(Yu),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(lt.Msg.MIXLY_BACKSTAGE+lt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_BACKSTAGE+lt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Bu={init:function(){this.setColour(Yu),this.appendValueInput("SUB"),this.appendValueInput("TICKS").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(lt.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(lt.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},Gu={init:function(){this.setColour(Yu),this.appendValueInput("SUB"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},Uu={init:function(){this.setColour(Yu),this.appendValueInput("SUB"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_MUSIC_RESET)}},wu={init:function(){this.setColour(Yu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Hu={init:function(){this.setColour(Yu),this.appendValueInput("SUB"),this.appendValueInput("percent").appendField(lt.Msg.MIXLY_MUSIC_VOLUME_SET),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},ku={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.MIXLY_SETTING).appendField(lt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(lt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_EXTERN_LED_SETONOFF)}},Wu={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(lt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(lt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},Ku={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(lt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(lt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},Ju={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.MIXLY_SETTING).appendField(lt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(lt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_EXTERN_LED_SETBRIGHT)}},Qu={init:function(){this.setColour(Yu),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_SETUP+lt.Msg.MIXLY_SERVO),this.appendValueInput("PIN",Number).appendField(lt.Msg.MIXLY_PIN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},qu={init:function(){this.setColour(Yu),this.appendValueInput("PIN",Number).appendField(lt.Msg.MIXLY_SERVO).appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("DEGREE",Number).setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_DEGREE_0_180),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_SERVO_MOVE)}},zu={init:function(){this.setColour(Yu),this.appendValueInput("VAR").appendField("360°"+lt.Msg.MIXLY_SERVO),this.appendValueInput("SPEED",Number).setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_SETTING+lt.Msg.blockpy_turtle_rotate+lt.Msg.MIXLY_SPEED+" (-10~10)"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_SERVO_360_TOOLTIP)}},ju={init:function(){this.setColour(Yu),this.appendValueInput("PIN",Number).appendField("180°"+lt.Msg.MIXLY_SERVO).appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_SERVO_MOVE)}},$u={init:function(){this.setColour(Yu),this.appendValueInput("PIN",Number).appendField("360°"+lt.Msg.MIXLY_SERVO).appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_SERVO_SPEED_TOOLIPS)}},Zu={init:function(){this.setColour(Yu),this.appendValueInput("PIN",Number).appendField("180°"+lt.Msg.MIXLY_SERVO).appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(lt.Msg.MIXLY_GET+lt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},tr={init:function(){this.setColour(Yu),this.appendValueInput("PIN",Number).appendField("360°"+lt.Msg.MIXLY_SERVO).appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(lt.Msg.MIXLY_GET+lt.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},er={init:function(){this.setColour(Yu),this.appendValueInput("SUB").appendField("初始化").setCheck("var"),this.appendDummyInput().appendField("电机驱动"),this.appendDummyInput().appendField("地址").appendField(new lt.FieldDropdown([["A","ms32006.ADDRESS_A"],["B","ms32006.ADDRESS_B"]]),"mode"),this.appendValueInput("SUB1").setCheck("var").setAlign(lt.inputs.Align.RIGHT).appendField("通信"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("初始化MS32006电机驱动,使用I2C通信")}},ir={init:function(){this.setColour(Yu),this.appendValueInput("SUB").appendField("直流电机").setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_Direction).appendField(new lt.FieldDropdown([[lt.Msg.CLOCKWISE,"ms32006.MOT_CW"],[lt.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"],[lt.Msg.MOTOR_N,"ms32006.MOT_N"],[lt.Msg.MOTOR_P,"ms32006.MOT_P"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_STEPPER_SET_SPEED),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置直流电机的状态及转速(0-100)")}},nr={init:function(){this.setColour(Yu),this.appendValueInput("SUB").appendField("步进电机").setCheck("var"),this.appendDummyInput().appendField("选择").appendField(new lt.FieldDropdown([["A","ms32006.MOT_A"],["B","ms32006.MOT_B"]]),"mode"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_Direction).appendField(new lt.FieldDropdown([[lt.Msg.CLOCKWISE,"ms32006.MOT_CW"],[lt.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField("转速"),this.appendValueInput("steps").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField("步数"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置步进电机的状态、转速、步数(0-2047)")}},sr={init:function(){this.setColour(Yu),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RGB),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_PIN),this.appendValueInput("LEDCOUNT").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_COUNT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(lt.Msg.MIXLY_RGB_PIN_COUNT)}},or={init:function(){this.setColour(Yu),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("_LED_").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(lt.Msg.MIXLY_RGB_NUM_R_G_B_MP)}},_r={init:function(){this.setColour(Yu),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("RVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(lt.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},pr={init:function(){this.setColour(Yu),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(lt.Msg.MIXLY_ESP32_MUSIC_WRI)}},ar={init:function(){this.setColour(Yu),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(lt.Msg.MIXLY_DURATION).appendField(lt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},ur={init:function(){this.setColour(Yu),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(lt.Msg.PYTHON_RANGE_STEP).appendField(lt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},rr={init:function(){this.setColour(Yu),this.appendDummyInput("").appendField(lt.Msg.CONTROLS_FOR_INPUT_WITH+"uart").appendField(new lt.FieldDropdown([["uart1","uart1"],["uart2","uart2"]]),"key"),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_SETUP+lt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new lt.FieldDropdown([["SYN6288"+lt.Msg.MIXLY_AipSpeech_synthesis,"SYN6288"],["NS9300"+lt.Msg.MIXLY_MUSIC_PLAYER,"NS9300"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},dr={init:function(){this.setColour(Yu),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_GET+lt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_WHETHER).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_STOPPED,"0"],[lt.Msg.MIXLY_PLAYING,"1"],[lt.Msg.MIXLY_PAUSED,"2"]]),"key"),this.setInputsInline(!0),this.setOutput(!0)}},lr={init:function(){this.setColour(Yu),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_STAT).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MP3_PLAY,"1"],[lt.Msg.MIXLY_MP3_PAUSE,"2"],[lt.Msg.MIXLY_STOP,"3"],[lt.Msg.MIXLY_MP3_PREV,"4"],[lt.Msg.MIXLY_MP3_NEXT,"5"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ir={init:function(){this.setColour(Yu),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendValueInput("volume").appendField(lt.Msg.MIXLY_MP3_VOL+lt.Msg.MIXLY_STAT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.MIXLY_PLAYER_SET_VOLUME_TOOLTIP)}},Tr={init:function(){this.setColour(Yu),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MODE+lt.Msg.MIXLY_STAT).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MP3_LOOP_ALL,"0"],[lt.Msg.MIXLY_MP3_LOOP_ONE,"1"],[lt.Msg.MIXLY_PLAYER_DIRECTORY_LOOP,"2"],[lt.Msg.MIXLY_MP3_LOOP_RAM,"3"],[lt.Msg.MIXLY_PLAYER_SINGLE_STOP,"4"],[lt.Msg.MIXLY_PLAYER_SEQUENTIAL_PLAY,"5"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Mr={init:function(){this.setColour(Yu),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_JS_START_MELODY,"play"],[lt.Msg.MIXLY_PLAYER_INSERT_MUSIC,"insert"]]),"key"),this.appendValueInput("song"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.MIXLY_PLAYER_PLAY_MUSIC_TOOTIP)}},hr={},mr={init:function(){this.setColour(Yu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(lt.Msg.MIXLY_SET_VOLUME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},Er={init:function(){this.setColour(Yu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendDummyInput().appendField(lt.Msg.MIXLY_GET_VOLUME),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},Or={init:function(){this.setColour(Yu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(lt.Msg.MIXLY_PLAY_HINTS),this.appendDummyInput().appendField(lt.Msg.MIXLY_PROGRAM_BLOCK).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[lt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_PLAY_HINTS_TOOLTIP)}},Rr={init:function(){this.setColour(Yu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("data").setCheck(String).appendField(lt.Msg.MIXLY_AipSpeech_synthesis),this.appendValueInput("VOICE").setCheck(Number).appendField(lt.Msg.MIXLY_BACKGROUND_MUSIC),this.appendDummyInput().appendField(lt.Msg.MIXLY_PROGRAM_BLOCK).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[lt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_PLAY_TTS_TOOLTIP)}},cr={init:function(){this.setColour(Yu),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.extern_addr),"PIN"),this.setOutput(!0,Number)}},gr={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.ME_GO_MOTOR_EXTERN+lt.Msg.MIXLY_MOTOR).appendField(lt.Msg.PIN_NUMBERING).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_LEFT,"0"],[lt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},Cr={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.ME_GO_MOTOR_EXTERN+lt.Msg.MIXLY_MOTOR).appendField(lt.Msg.PIN_NUMBERING).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_LEFT,"0"],[lt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_GET+lt.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},Sr={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.ME_GO_MOTOR_EXTERN+lt.Msg.MIXLY_TRAFFIC_LIGHT).appendField(lt.Msg.PIN_NUMBERING).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_LEFT,"0"],[lt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.LISTS_SET_INDEX_SET).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_Turn_off_display,"0"],[lt.Msg.MIXLY_TRAFFIC_LIGHT_RED_ON,"1"],[lt.Msg.MIXLY_TRAFFIC_LIGHT_RED_BLINK,"2"],[lt.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_ON,"3"],[lt.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_BLINK,"4"],[lt.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_ON,"5"],[lt.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_BLINK,"6"]]),"light"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Ar={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.ME_GO_MOTOR_EXTERN).appendField(new lt.FieldDropdown([[lt.Msg.COLOUR_RGB_WHITE,"W"],[lt.Msg.COLOUR_RGB_RED,"R"],[lt.Msg.COLOUR_RGB_YELLOW,"Y"],[lt.Msg.COLOUR_RGB_GREEN,"G"],[lt.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(lt.Msg.PIN_NUMBERING).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_LEFT,"0"],[lt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("value").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Lr={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.ME_GO_MOTOR_EXTERN).appendField(new lt.FieldDropdown([[lt.Msg.COLOUR_RGB_WHITE,"W"],[lt.Msg.COLOUR_RGB_RED,"R"],[lt.Msg.COLOUR_RGB_YELLOW,"Y"],[lt.Msg.COLOUR_RGB_GREEN,"G"],[lt.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(lt.Msg.PIN_NUMBERING).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_LEFT,"0"],[lt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(lt.Msg.MIXLY_GET+lt.Msg.BRIGHTNESS),this.setOutput(!0,Number),this.setInputsInline(!0)}},Nr={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.ME_GO_MOTOR_EXTERN+lt.Msg.MIXLY_SERVO_MOTOR).appendField(lt.Msg.PIN_NUMBERING).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_LEFT,"0"],[lt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(lt.Msg.MIXLY_GET).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"[0]"],[lt.Msg.MIXLY_SPEED,"[1]"],[lt.Msg.MATH_SINGLE_OP_ABSOLUTE+lt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[2]"],[lt.Msg.MIXLY_RELATIVE+lt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[3]"],[lt.Msg.MIXLY_MIXBOT_SERVO_BLOCK_OR_NOT,"[4]"],[lt.Msg.MIXLY_MIXBOT_SERVO_FINISH_OR_NOT,"[5]"],[lt.Msg.MIXLY_ALL,""]]),"status"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Dr={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.ME_GO_MOTOR_EXTERN+lt.Msg.MIXLY_SERVO_MOTOR).appendField(lt.Msg.PIN_NUMBERING).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_LEFT,"0"],[lt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MIXBOT_SERVO_SET_STOP_MODE).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_KEEP,"0"],[lt.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_COAST,"1"],[lt.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_BRAKE,"2"]]),"status"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},fr={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.ME_GO_MOTOR_EXTERN+lt.Msg.MIXLY_SERVO_MOTOR).appendField(lt.Msg.PIN_NUMBERING).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_LEFT,"0"],[lt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(lt.Msg.MIXLY_STOP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Fr={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.ME_GO_MOTOR_EXTERN+lt.Msg.MIXLY_SERVO_MOTOR).appendField(lt.Msg.MATH_SINGLE_OP_ABSOLUTE+lt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+lt.Msg.MSG.run).appendField(lt.Msg.PIN_NUMBERING).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_LEFT,"0"],[lt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MODE).setAlign(lt.inputs.Align.RIGHT).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_SPEED+lt.Msg.MIXLY_MODE,"0"],[lt.Msg.MIXLY_MICROBIT_JS_BLE_POWER+lt.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(lt.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(lt.inputs.Align.RIGHT).appendField(new lt.FieldDropdown([[lt.Msg.CLOCKWISE,"0"],[lt.Msg.MIXLY_MIXBOT_SERVO_NEAREST_PATH,"1"],[lt.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.appendValueInput("angle").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+lt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_MIXBOT_SERVO_ABSOLUTE_ANGLE_TOOLTIP)}},Pr={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.ME_GO_MOTOR_EXTERN+lt.Msg.MIXLY_SERVO_MOTOR).appendField(lt.Msg.MIXLY_RELATIVE+lt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+lt.Msg.MSG.run).appendField(lt.Msg.PIN_NUMBERING).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_LEFT,"0"],[lt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ORIGIN_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},vr={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.ME_GO_MOTOR_EXTERN+lt.Msg.MIXLY_SERVO_MOTOR).appendField(lt.Msg.MIXLY_RELATIVE+lt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+lt.Msg.MSG.run).appendField("("+lt.Msg.MIXLY_MIXBOT_SERVO_LIKE_ENCODING_MOTOR+")").appendField(lt.Msg.PIN_NUMBERING).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_LEFT,"0"],[lt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MODE).setAlign(lt.inputs.Align.RIGHT).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_SPEED+lt.Msg.MIXLY_MODE,"0"],[lt.Msg.MIXLY_MICROBIT_JS_BLE_POWER+lt.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(lt.inputs.Align.RIGHT).appendField("%"),this.appendValueInput("angle").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+lt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ANGLE_TOOLTIP)}},Yr={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.ME_GO_MOTOR_EXTERN+lt.Msg.MIXLY_SERVO_MOTOR).appendField(lt.Msg.MIXLY_RELATIVE+lt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+lt.Msg.MSG.run).appendField("("+lt.Msg.MIXLY_MIXBOT_SERVO_LIKE_ORDINARY_MOTOR+")").appendField(lt.Msg.PIN_NUMBERING).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_LEFT,"0"],[lt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MODE).setAlign(lt.inputs.Align.RIGHT).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_SPEED+lt.Msg.MIXLY_MODE,"0"],[lt.Msg.MIXLY_MICROBIT_JS_BLE_POWER+lt.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(lt.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(lt.inputs.Align.RIGHT).appendField(new lt.FieldDropdown([[lt.Msg.CLOCKWISE,"0"],[lt.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Xr={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.MIXBOT).appendField(lt.Msg.ME_GO_MOTOR_EXTERN).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MOTOR,"ext_motor"],[lt.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[lt.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[lt.Msg.COLOUR_RGB_RED+"LED","R_LED"],[lt.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[lt.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[lt.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[lt.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MIXBOT_EXTERN_GET_ADDR),this.setOutput(!0),this.setInputsInline(!0)}},br={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.MIXBOT).appendField(lt.Msg.ME_GO_MOTOR_EXTERN).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MOTOR,"ext_motor"],[lt.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[lt.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[lt.Msg.COLOUR_RGB_RED+"LED","R_LED"],[lt.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[lt.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[lt.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[lt.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MIXBOT_EXTERN_SET_ADDR),this.appendValueInput("old").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE),this.appendValueInput("new").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_UPDATE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},yr={init:function(){this.setColour(Yu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_SETUP+lt.Msg.MIXLY_AT).appendField(lt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},xr={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.MIXLY_SETTING),this.appendValueInput("pin").appendField("LED"),this.appendValueInput("bright").appendField(lt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Vr={init:function(){this.setColour(Yu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_SERVO+lt.Msg.MIXLY_SETUP+lt.Msg.MIXLY_AT).appendField(lt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},Br={init:function(){this.setColour(Yu),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_SERVO),this.appendValueInput("angle").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE),this.appendDummyInput().appendField(lt.Msg.DRAW_POINTER_ANGLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Gr={init:function(){this.setColour(Yu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_MOTOR+lt.Msg.MIXLY_SETUP+lt.Msg.MIXLY_AT).appendField(lt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},Ur={init:function(){this.setColour(Yu),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_MOTOR),this.appendValueInput("speed").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+lt.Msg.MIXLY_SPEED),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},wr="#6C9858",Hr={init:function(){this.setColour(wr),this.appendDummyInput("").appendField(new lt.FieldDropdown([["L1","1"],["L2","2"]]),"op"),this.setOutput(!0)}},kr={init:function(){this.setColour(wr),this.appendDummyInput("").appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_ESP32_ON,"1"],[lt.Msg.MIXLY_ESP32_OFF,"0"],[lt.Msg.MIXLY_ESP32_TOGGLE,"-1"]]),"flag"),this.setOutput(!0),this.setTooltip(lt.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},Wr={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(lt.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(lt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_LED_SETONOFF)}},Kr={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(lt.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(lt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_LED_GETBRIGHT)}},Jr={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(lt.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(lt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_LED_GETONOFF)}},Qr={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(lt.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(lt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_SETTING+lt.Msg.MIXLY_BUILDIN_LED+lt.Msg.MIXLY_BRIGHTNESS+"(0-100%)")}},qr={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(lt.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput("").appendField(lt.Msg.MIXLY_LCD_SETCOLOR).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_LIGHT_RED,"1"],[lt.Msg.MIXLY_LIGHT_GREEN,"2"],[lt.Msg.MIXLY_LIGHT_BLUE,"3"],[lt.Msg.MIXLY_LIGHT_YELLOW,"4"],[lt.Msg.MIXLY_LIGHT_CYAN,"5"],[lt.Msg.MIXLY_LIGHT_PURPLE,"6"],[lt.Msg.MIXLY_LIGHT_WHITE,"7"]]),"colorvalue"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},zr={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_SETTING).appendField(lt.Msg.MIXLY_BUILDIN_LED).appendField(new lt.FieldDropdown([[lt.Msg.COLOUR_RGB_RED,"r"],[lt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(lt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_LED_SETONOFF)}},jr={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(lt.Msg.MIXLY_BUILDIN_LED).appendField(new lt.FieldDropdown([[lt.Msg.COLOUR_RGB_RED,"r"],[lt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(lt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_LED_GETONOFF)}},$r={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(lt.Msg.MIXLY_BUILDIN_LED).appendField(new lt.FieldDropdown([[lt.Msg.COLOUR_RGB_RED,"r"],[lt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(lt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_LED_GETONOFF)}},Zr={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_SETTING).appendField(lt.Msg.MIXLY_BUILDIN_LED).appendField(new lt.FieldDropdown([[lt.Msg.COLOUR_RGB_RED,"r"],[lt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(lt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_SETTING+lt.Msg.MIXLY_BUILDIN_LED+lt.Msg.MIXLY_BRIGHTNESS+"(0-10)")}},td={init:function(){this.setColour(wr),this.appendDummyInput("").appendField(new lt.FieldDropdown([["L1","20"],["L2","21"]]),"op"),this.setOutput(!0)}},ed={init:function(){this.setColour(wr),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(It.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgo_cc":case"micropython:esp32s2:mixgo_ce":this.setTooltip(lt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgo_me":default:this.setTooltip(lt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(lt.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},id={init:function(){this.setColour(wr),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(lt.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},nd={init:function(){this.setColour(wr),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(lt.Msg.MIXLY_DURATION).appendField(lt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},sd={init:function(){this.setColour(wr),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(lt.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(lt.Msg.PYTHON_RANGE_STEP).appendField(lt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},od={init:function(){this.setColour(wr),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RGB),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(lt.Msg.MIXLY_ESP32_MUSIC_WRI)}},_d={init:function(){this.setColour(wr),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(It.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgocc":this.setTooltip(lt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgome":default:this.setTooltip(lt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(lt.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},pd={init:function(){this.setColour(wr),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(lt.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},ad={init:function(){this.setColour(wr),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(lt.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(lt.Msg.PYTHON_RANGE_STEP).appendField(lt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},ud={init:function(){this.setColour(wr),this.appendValueInput("TICKS").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(lt.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(lt.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},rd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},dd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_MUSIC_RESET)}},ld={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(lt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Id={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(lt.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(lt.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},Td={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Md={init:function(){this.setColour(wr),this.appendValueInput("LIST").appendField(lt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},hd={init:function(){this.setColour(wr),this.appendValueInput("LIST").appendField(lt.Msg.MIXLY_BACKSTAGE+lt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},md={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MOTOR_DC).appendField(new lt.FieldDropdown([["1","1"],["2","2"],["3","3"]]),"wheel"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_Direction).appendField(new lt.FieldDropdown([[lt.Msg.CLOCKWISE,"CW"],[lt.Msg.ANTI_CLOCKWISE,"CCW"],[lt.Msg.MOTOR_P,"P"],[lt.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Ed={init:function(){this.setColour(wr),this.appendDummyInput().appendField("MixGo Car").appendField(new lt.FieldDropdown([[lt.Msg.blockpy_forward,"F"],[lt.Msg.blockpy_backward,"B"],[lt.Msg.blockpy_left,"L"],[lt.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Od={init:function(){this.setColour(wr),this.appendDummyInput("").appendField("MixGo Car").appendField(new lt.FieldDropdown([[lt.Msg.MOTOR_P,"P"],[lt.Msg.MOTOR_N,"N"]]),"VAR"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Rd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MOTOR_DC).appendField(new lt.FieldDropdown([[lt.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[lt.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_Direction).appendField(new lt.FieldDropdown([[lt.Msg.CLOCKWISE,"CW"],[lt.Msg.ANTI_CLOCKWISE,"CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},cd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MOTOR_DC).appendField(new lt.FieldDropdown([[lt.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[lt.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(lt.Msg.MIXLY_STOP).appendField(new lt.FieldDropdown([[lt.Msg.MOTOR_P,"P"],[lt.Msg.MOTOR_N,"N"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},gd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_MIXBOT_MOTOR_STATUS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_MIXBOT_MOTOR_STATUS_TOOLTIP)}},Cd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXBOT).appendField(new lt.FieldDropdown([[lt.Msg.blockpy_forward,"F"],[lt.Msg.blockpy_backward,"B"],[lt.Msg.blockpy_left,"L"],[lt.Msg.blockpy_right,"R"]]),"VAR"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[lt.Msg.MIXLY_SPEED,"SPEED"],[lt.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},Sd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXBOT).appendField(new lt.FieldDropdown([[lt.Msg.MOTOR_P,"P"],[lt.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Ad={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXBOT).appendField(lt.Msg.MIXLY_MOTOR).appendField(new lt.FieldDropdown([[lt.Msg.TEXT_TRIM_LEFT,"1"],[lt.Msg.TEXT_TRIM_RIGHT,"2"],[lt.Msg.TEXT_TRIM_BOTH,"0"]]),"wheel"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[lt.Msg.MIXLY_SPEED,"SPEED"],[lt.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},Ld={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_MIXBOT_BUZZER),this.appendDummyInput().appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,"0"],[lt.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,"1"]]),"on_off"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Nd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.BITBOT).appendField(new lt.FieldDropdown([[lt.Msg.blockpy_forward,"F"],[lt.Msg.blockpy_backward,"B"],[lt.Msg.blockpy_left,"L"],[lt.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Dd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.BITBOT).appendField(new lt.FieldDropdown([[lt.Msg.MOTOR_P,"P"],[lt.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},fd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.BITBOT).appendField(lt.Msg.MIXLY_MOTOR).appendField(new lt.FieldDropdown([[lt.Msg.TEXT_TRIM_LEFT,"0"],[lt.Msg.TEXT_TRIM_RIGHT,"1"]]),"wheel"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_Direction).appendField(new lt.FieldDropdown([[lt.Msg.CLOCKWISE,"CW"],[lt.Msg.ANTI_CLOCKWISE,"CCW"],[lt.Msg.MOTOR_P,"P"],[lt.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Fd={init:function(){this.setColour(wr),this.appendValueInput("bright").appendField(lt.Msg.MIXLY_MIXBOT_SOUND_SET_LOUDNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_LED_SETONOFF)}},Pd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_MIXBOT_SOUND_LOUDNESS+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_LED_GETONOFF)}},vd={init:function(){this.setColour(wr),this.appendValueInput("bright").appendField(lt.Msg.MIXLY_SETTING+lt.Msg.MIXLY_MIXBOT_BUZZER+lt.Msg.MIXLY_MP3_VOL),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_LED_SETONOFF)}},Yd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_GET+lt.Msg.MIXLY_MIXBOT_BUZZER+lt.Msg.MIXLY_MP3_VOL+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_LED_GETONOFF)}},Xd={init:function(){this.setColour(wr),this.appendValueInput("PATH").appendField(lt.Msg.MIXLY_RECORD_AUDIO).appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendValueInput("TIME").setCheck(Number).appendField(lt.Msg.MIXLY_GET_PRESSES_TIME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},bd={init:function(){this.setColour(wr),this.appendValueInput("PATH").appendField(lt.Msg.MIXLY_PLAY_AUDIO).appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},yd={init:function(){this.setColour(wr),this.appendValueInput("PATH").appendField(lt.Msg.MIXLY_PLAY_ONLINE_AUDIO).appendField("URL"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},xd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(lt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Vd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Bd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.LISTS_SET_INDEX_SET+lt.Msg.ME_GO_MOTOR_EXTERN).appendField(lt.Msg.PIN_NUMBERING);switch(It.Boards.getSelectedBoardKey()){case"micropython:esp32c2:mixgo_mini":this.appendDummyInput().appendField(new lt.FieldDropdown([["1","1"],["2","2"]]),"index");break;case"micropython:esp32c5:mixgo_sowl":this.appendDummyInput().appendField(new lt.FieldDropdown([["1","1"],["2","2"],["4","4"],["5","5"]]),"index");break;default:this.appendDummyInput().appendField(new lt.FieldDropdown([["1","1"],["2","2"],["3","3"],["4","4"]]),"index")}this.appendValueInput("duty").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.blynk_IOT_IR_POWER+lt.Msg.MIXLY_PINMODEOUT),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},Gd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_GET+lt.Msg.ME_GO_MOTOR_EXTERN).appendField(lt.Msg.PIN_NUMBERING);switch(It.Boards.getSelectedBoardKey()){case"micropython:esp32c2:mixgo_mini":this.appendDummyInput().appendField(new lt.FieldDropdown([["1","1"],["2","2"]]),"index");break;case"micropython:esp32c5:mixgo_sowl":this.appendDummyInput().appendField(new lt.FieldDropdown([["1","1"],["2","2"],["4","4"],["5","5"]]),"index");break;default:this.appendDummyInput().appendField(new lt.FieldDropdown([["1","1"],["2","2"],["3","3"],["4","4"]]),"index")}this.appendDummyInput().setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.blynk_IOT_IR_POWER+lt.Msg.MIXLY_PINMODEOUT+lt.Msg.MIXLY_DUTY_RATIO),this.setOutput(!0,Number),this.setInputsInline(!0)}},Ud={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.LISTS_SET_INDEX_SET+lt.Msg.ME_GO_MOTOR_EXTERN).appendField(lt.Msg.MIXLY_ALL+lt.Msg.PIN_NUMBERING),this.appendValueInput("duty").setCheck(Number).setAlign(lt.ALIGN_RIGHT).appendField(lt.Msg.blynk_IOT_IR_POWER+lt.Msg.MIXLY_PINMODEOUT+lt.Msg.MIXLY_FREQUENCY),this.appendDummyInput().appendField("Hz"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},wd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.LISTS_SET_INDEX_SET+lt.Msg.ME_GO_MOTOR_EXTERN).appendField(new lt.FieldDropdown([["1-2","1"],["4-5","4"]]),"index"),this.appendValueInput("duty").setCheck(Number).setAlign(lt.ALIGN_RIGHT).appendField(lt.Msg.blynk_IOT_IR_POWER+lt.Msg.MIXLY_PINMODEOUT+lt.Msg.MIXLY_FREQUENCY),this.appendDummyInput().appendField("Hz"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},Hd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.ANALOG+lt.Msg.MIXLY_KEYBOARD_INPUT),this.appendValueInput("special"),this.appendValueInput("general"),this.appendDummyInput().appendField(lt.Msg.MIXLY_RELEASE).appendField(new lt.FieldDropdown([[lt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[lt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"release"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.ANALOG+lt.Msg.MIXLY_KEYBOARD_INPUT)}},kd={init:function(){this.setColour(wr),this.appendDummyInput("").appendField(lt.Msg.MIXLY_SPECIAL_KEY).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_SPECIAL_KEY0,"0x00"],[lt.Msg.MIXLY_SPECIAL_KEY1,"0x01"],[lt.Msg.MIXLY_SPECIAL_KEY2,"0x02"],[lt.Msg.MIXLY_SPECIAL_KEY4,"0x04"],[lt.Msg.MIXLY_SPECIAL_KEY8,"0x08"],[lt.Msg.MIXLY_SPECIAL_KEY16,"0x10"],[lt.Msg.MIXLY_SPECIAL_KEY32,"0x20"],[lt.Msg.MIXLY_SPECIAL_KEY64,"0x40"],[lt.Msg.MIXLY_SPECIAL_KEY128,"0x80"]]),"op"),this.setOutput(!0)}},Wd={init:function(){this.setColour(wr),this.appendDummyInput("").appendField(lt.Msg.MIXLY_GENERAL_KEY).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_SPECIAL_KEY0,"0x00"],["A","0x04"],["B","0x05"],["C","0x06"],["D","0x07"],["E","0x08"],["F","0x09"],["G","0x0A"],["H","0x0B"],["I","0x0C"],["J","0x0D"],["K","0x0E"],["L","0x0F"],["M","0x10"],["N","0x11"],["O","0x12"],["P","0x13"],["Q","0x14"],["R","0x15"],["S","0x16"],["T","0x17"],["U","0x18"],["V","0x19"],["W","0x1A"],["X","0x1B"],["Y","0x1C"],["Z","0x1D"],["1 !","0x1E"],["2 @","0x1F"],["3 #","0x20"],["4 $","0x21"],["5 %","0x22"],["6 ^","0x23"],["7 &","0x24"],["8 *","0x25"],["9 (","0x26"],["0 )","0x27"],["ENTER","0x28"],["ESC","0x29"],["BACKSPACE","0x2A"],["TAB","0x2B"],["SPACE","0x2C"],["- _","0x2D"],["= +","0x2E"],["[ {","0x2F"],["] }","0x30"],["\\ |","0x31"],["; :","0x33"],["' \"","0x34"],["` ~","0x35"],[", <","0x36"],[". >","0x37"],["/ ?","0x38"],["CAPS_LOCK","0x39"],["F1","0x3A"],["F2","0x3B"],["F3","0x3C"],["F4","0x3D"],["F5","0x3E"],["F6","0x3F"],["F7","0x40"],["F8","0x41"],["F9","0x42"],["F10","0x43"],["F11","0x44"],["F12","0x45"],["PRINTSCREEN","0x46"],["SCROLL_LOCK","0x47"],["PAUSE","0x48"],["INSERT","0x49"],["HOME","0x4A"],["PAGE_UP","0x4B"],["DELETE","0x4C"],["END","0x4D"],["PAGE_DOWN","0x4E"],["RIGHT","0x4F"],["LEFT","0x50"],["DOWN","0x51"],["UP","0x52"],["NUM_LOCK","0x53"],["/","0x54"],["*","0x55"],["-","0x56"],["+","0x57"],["ENTER","0x58"],["1","0x59"],["2","0x5A"],["3","0x5B"],["4","0x5C"],["5","0x5D"],["6","0x5E"],["7","0x5F"],["8","0x60"],["9","0x61"],["0","0x62"],[".","0x63"]]),"op"),this.setOutput(!0)}},Kd={init:function(){this.setColour(wr),this.itemCount_=2,this.updateShape_(),this.setOutput(!0),this.setMutator(new lt.icons.MutatorIcon(["generalkey_create_with_item"],this)),this.setTooltip(lt.Msg.GENERALKEY_TUPLE_CREATE_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("generalkey_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;nnew Array(32).fill(0)))},yh={init:function(){this.jsonInit({colour:Ah,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SAD","SAD"],["SMILE","SMILE"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["SURPRISED","SURPRISED"],["ASLEEP","ASLEEP"],["ANGRY","ANGRY"],["CONFUSED","CONFUSED"],["NO","NO"],["YES","YES"]],type:"field_dropdown"}],output:["esp32_image","List"],helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#attributes",tooltip:lt.Msg.MIXLY_MICROBIT_Built_in_image1,message0:lt.Msg.MIXLY_MICROBIT_Built_in_image})}},xh={init:function(){this.setColour(Ah),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new lt.FieldDropdown(It.Profile.default.builtinimg),"image"),this.setOutput(!0,["esp32_image","List"])}},Vh={init:function(){this.setColour(Ah),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(lt.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new lt.FieldDropdown(Vh.OPERATORS),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{"+":lt.Msg.MIXLY_MICROBIT_image_add,"-":lt.Msg.MIXLY_MICROBIT_image_reduce}[e]}))},OPERATORS:[[lt.Msg.MICROBIT_DISPLAY_UNION,"add"],[lt.Msg.MICROBIT_DISPLAY_MINUS,"sub"]]},Bh={init:function(){this.setColour(Ah),this.appendValueInput("A").setCheck("esp32_image").appendField(lt.Msg.MIXLY_MICROBIT_Invert_image1),this.setInputsInline(!0),this.setOutput(!0,"esp32_image")}},Gh={init:function(){this.setColour(Ah),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(lt.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(lt.Msg.DISPLAY_IMAGE_LET2).appendField(new lt.FieldDropdown(Gh.OPERATORS),"OP"),this.appendValueInput("val").appendField(lt.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(lt.Msg.DISPLAY_IMAGE_UNIT),["Python ESP32-S3","Python ESP32-C5"].includes(It.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(lt.Msg.MIXLY_synchronize);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=lt.Msg.DISPLAY_IMAGE_LET,n=lt.Msg.DISPLAY_IMAGE_LET2,s=lt.Msg.DISPLAY_IMAGE_LET3;return i+n+{shift_up:lt.Msg.MIXLY_UP,shift_down:lt.Msg.MIXLY_DOWN,shift_left:lt.Msg.MIXLY_LEFT,shift_right:lt.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[lt.Msg.MIXLY_UP,"shift_up"],[lt.Msg.MIXLY_DOWN,"shift_down"],[lt.Msg.MIXLY_LEFT,"shift_left"],[lt.Msg.MIXLY_RIGHT,"shift_right"]]},Uh={init:function(){this.setColour(Ah),this.appendValueInput("x").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_JS_MONITOR_GET_POINT),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(lt.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},wh={init:function(){this.setColour(Ah),this.appendValueInput("x").setCheck(Number).appendField(lt.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},Hh={init:function(){this.setColour(Ah),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(lt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},kh={init:function(){this.setColour(Ah),this.appendValueInput("x").setCheck(Number).appendField(lt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},Wh={init:function(){this.setColour(Ah),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_Clear_display),["Python ESP32-S3","Python ESP32-C5"].includes(It.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(lt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_MICROBIT_Clear_display)}},Kh={init:function(){this.setColour(Ah),this.appendDummyInput().appendField(lt.Msg.MIXLY_SHOW+lt.Msg.MIXLY_DISPLAY_MATRIX_WRITE_NOW),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Jh={init:function(){this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<5;t++){let e=this.appendDummyInput();for(let i=0;i<8;i++)e.appendField(new lt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${lt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(Ah),this.setTooltip(lt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(lt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Qh={init:function(){this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(lt.inputs.Align.CENTRE).appendField(new lt.FieldBitmap(Qh.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Ah),this.setTooltip(lt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(8).fill(0)))},qh={init:function(){this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<8;t++){let e=this.appendDummyInput();for(let i=0;i<12;i++)e.appendField(new lt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${lt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(Ah),this.setTooltip(lt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(lt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},zh={init:function(){this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(lt.inputs.Align.CENTRE).appendField(new lt.FieldBitmap(zh.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Ah),this.setTooltip(lt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(12).fill(0)))},jh={init:function(){this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<8;t++){let e=this.appendDummyInput();for(let i=0;i<16;i++)e.appendField(new lt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${lt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0,"esp32_image"),this.setColour(Ah),this.setTooltip(lt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(lt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},$h={init:function(){this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(lt.inputs.Align.CENTRE).appendField(new lt.FieldBitmap($h.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Ah),this.setTooltip(lt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(16).fill(0)))},Zh={init:function(){this.setColour(Ah),this.appendDummyInput().appendField(lt.Msg.OLED_SET_FONT).appendField(new lt.FieldDropdown(Zh.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[["4x5"+lt.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'4x5'"],["5x5"+lt.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'5x5'"],["5x8"+lt.Msg.MIXGO_ME_DISPLAY_VERTICAL,"'5x8'"]]},tm={init:function(){this.setColour(Ah),this.appendValueInput("data").appendField(lt.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.OLED_BITMAP_OR_STRING)}},em={init:function(){this.setColour(Ah),this.appendValueInput("data").appendField(lt.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.OLED_BITMAP_OR_STRING)}},im={init:function(){this.setColour(Ah),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(lt.Msg.OLED_DRAWSTR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.OLED_BITMAP_OR_STRING)}},nm={init:function(){this.setColour(Ah),this.appendValueInput("data").appendField(lt.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(lt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(lt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(lt.Msg.TEXT_CENTER).appendField(new lt.FieldDropdown([[lt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[lt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},sm={init:function(){this.setColour(Ah),this.appendValueInput("data").appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(lt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(lt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},om={init:function(){this.setColour(Ah),this.appendValueInput("data").appendField(lt.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(lt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},_m={init:function(){this.setColour(Ah),this.appendValueInput("x").setCheck(Number).appendField(lt.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},pm={init:function(){this.jsonInit({colour:Ah,args0:[{name:"state",options:[[lt.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[lt.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"shape",options:[[lt.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[lt.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"}],inputsInline:!0,helpUrl:lt.Msg.mpython_HELPURL,tooltip:lt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:lt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},am={init:function(){this.jsonInit({colour:Ah,args0:[{name:"state",options:[[lt.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[lt.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"dir_h_v",options:[[lt.Msg.mpython_vertical,"0"],[lt.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"}],inputsInline:!0,helpUrl:lt.Msg.mpython_HELPURL,tooltip:lt.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:lt.Msg.MPYTHON_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},um={init:function(){this.jsonInit({colour:Ah,args0:[{name:"state",options:[[lt.Msg.mpython_display_hline_1,"1"],[lt.Msg.mpython_display_hline_0,"0"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"}],inputsInline:!0,helpUrl:lt.Msg.mpython_HELPURL,tooltip:lt.Msg.mpython_display_line_TOOLTIP,message0:lt.Msg.mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},rm={init:function(){this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new lt.FieldDropdown(rm.IMAGES),"path"),this.setColour(Ah),this.setOutput(!0)},IMAGES:[["Heart","expression_picture.Heart"],["Angry","expression_picture.Angry"],["Bored","expression_picture.Bored"],["Confused","expression_picture.Confused"],["Happy","expression_picture.Happy"],["Paper","expression_picture.Paper"],["Rock","expression_picture.Rock"],["Sad","expression_picture.Sad"],["Scissors","expression_picture.Scissors"],["Silly","expression_picture.Silly"],["Sleep","expression_picture.Sleep"],["Small_heart","expression_picture.Small_heart"],["Small_paper","expression_picture.Small_paper"],["Small_rock","expression_picture.Small_rock"],["Small_scissors","expression_picture.Small_scissors"],["Smile","expression_picture.Smile"],["Surprise","expression_picture.Surprise"],["Wonderful","expression_picture.Wonderful"],["Eyes_Angry","eye_picture.Eyes_Angry"],["Awake","eye_picture.Awake"],["Black_eye","eye_picture.Black_eye"],["Bottom_left","eye_picture.Bottom_left"],["Bottom_right","eye_picture.Bottom_right"],["Crazy_1","eye_picture.Crazy_1"],["Crazy_2","eye_picture.Crazy_2"],["Disappointed","eye_picture.Disappointed"],["Dizzy","eye_picture.Dizzy"],["Down","eye_picture.Down"],["Evil","eye_picture.Evil"],["Hurt","eye_picture.Hurt"],["Knocked_out","eye_picture.Knocked_out"],["Love","eye_picture.Love"],["Middle_left","eye_picture.Middle_left"],["Middle_right","eye_picture.Middle_right"],["Neutral","eye_picture.Neutral"],["Nuclear","eye_picture.Nuclear"],["Pinch_left","eye_picture.Pinch_left"],["Pinch_middle","eye_picture.Pinch_middle"],["Pinch_right","eye_picture.Pinch_right"],["Tear","eye_picture.Tear"],["Tired_left","eye_picture.Tired_left"],["Tired_middle","eye_picture.Tired_middle"],["Tired_right","eye_picture.Tired_right"],["Toxic","eye_picture.Toxic"],["Up","eye_picture.Up"],["Winking","eye_picture.Winking"],["Accept","informatio_picture.Accept"],["Backward","informatio_picture.Backward"],["Decline","informatio_picture.Decline"],["Forward","informatio_picture.Forward"],["Left","informatio_picture.Left"],["No_go","informatio_picture.No_go"],["Question_mark","informatio_picture.Question_mark"],["Right","informatio_picture.Right"],["Stop_1","informatio_picture.Stop_1"],["Stop_2","informatio_picture.Stop_2"],["Thumbs_down","informatio_picture.Thumbs_down"],["Thumbs_up","informatio_picture.Thumbs_up"],["Warning","informatio_picture.Warning"],["Bomb","object_picture.Bomb"],["Boom","object_picture.Boom"],["Fire","object_picture.Fire"],["Flowers","object_picture.Flowers"],["Forest","object_picture.Forest"],["Lightning","object_picture.Lightning"],["Light_off","object_picture.Light_off"],["Light_on","object_picture.Light_on"],["Night","object_picture.Night"],["Pirate","object_picture.Pirate"],["Snow","object_picture.Snow"],["Target","object_picture.Target"],["Bar_0","progres_picture.Bar_0"],["Bar_1","progres_picture.Bar_1"],["Bar_2","progres_picture.Bar_2"],["Bar_3","progres_picture.Bar_3"],["Bar_4","progres_picture.Bar_4"],["Dial_0","progres_picture.Dial_0"],["Dial_1","progres_picture.Dial_1"],["Dial_2","progres_picture.Dial_2"],["Dial_3","progres_picture.Dial_3"],["Dial_4","progres_picture.Dial_4"],["Dots_0","progres_picture.Dots_0"],["Dots_1","progres_picture.Dots_1"],["Dots_2","progres_picture.Dots_2"],["Dots_3","progres_picture.Dots_3"],["Hourglass_0","progres_picture.Hourglass_0"],["Hourglass_1","progres_picture.Hourglass_1"],["Hourglass_2","progres_picture.Hourglass_2"],["Timer_0","progres_picture.Timer_0"],["Timer_1","progres_picture.Timer_1"],["Timer_2","progres_picture.Timer_2"],["Timer_3","progres_picture.Timer_3"],["Timer_4","progres_picture.Timer_4"],["Water_level_0","progres_picture.Water_level_0"],["Water_level_1","progres_picture.Water_level_1"],["Water_level_2","progres_picture.Water_level_2"],["Water_level_3","progres_picture.Water_level_3"],["YES","informatio_picture.YES"],["NO","informatio_picture.NO"]]},dm={init:function(){this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<5;t++){let e=this.appendDummyInput();for(let i=0;i<5;i++)e.appendField(new lt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${lt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(Ah),this.setTooltip(lt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(lt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},lm={init:function(){this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(lt.inputs.Align.CENTRE).appendField(new lt.FieldBitmap(lm.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Ah),this.setTooltip(lt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(5).fill(0)))},Im={init:function(){this.setColour(Ah),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(lt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},Tm={init:function(){this.setColour(Ah),this.appendDummyInput().appendField(lt.Msg.MIXLY_MIXBOT_AMBIENTBRIGHT),this.setInputsInline(!0),this.setOutput(!0,Number)}},Mm={init:function(){this.setColour(Ah),this.appendValueInput("x").setCheck(Number).appendField(lt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},hm={init:function(){this.setColour(Ah),this.appendDummyInput().appendField(lt.Msg.MIXLY_MIXBOT_SCREEN_ROTATE).appendField(new lt.FieldDropdown(hm.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[[lt.Msg.mixpy_PL_PIE_SHADOW_N,"0"],[lt.Msg.CLOCKWISE+"90"+lt.Msg.blockpy_setheading_degree,"1"],[lt.Msg.CLOCKWISE+"180"+lt.Msg.blockpy_setheading_degree,"2"],[lt.Msg.CLOCKWISE+"270"+lt.Msg.blockpy_setheading_degree,"3"]]},mm={init:function(){this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<12;t++){let e=this.appendDummyInput();for(let i=0;i<12;i++)e.appendField(new lt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${lt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(Ah),this.setTooltip(lt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(lt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Em={init:function(){this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(lt.inputs.Align.CENTRE).appendField(new lt.FieldBitmap(Em.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Ah),this.setTooltip(lt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:12},(()=>new Array(12).fill(0)))},Om={init:function(){this.setColour(Ah),this.appendValueInput("data").appendField(lt.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(lt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(It.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(lt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Rm={init:function(){this.setColour(Ah),this.appendValueInput("x").setCheck(Number).appendField(lt.Msg.OLED_BITMAP).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("direct").setCheck(String).appendField(lt.Msg.MIXLY_AipImageClassify_Image+lt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},cm={init:function(){this.setColour(Ah),this.appendValueInput("data").appendField(lt.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(lt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(lt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(lt.Msg.TEXT_CENTER).appendField(new lt.FieldDropdown([[lt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[lt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.appendValueInput("VAR").appendField(lt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(It.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(lt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},gm={init:function(){this.setColour(Ah),this.appendValueInput("data").appendField(lt.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(lt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("VAR").appendField(lt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Cm={init:function(){this.jsonInit({colour:Ah,args0:[{name:"shape",options:[[lt.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[lt.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:lt.Msg.mpython_HELPURL,tooltip:lt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:lt.Msg.ONBOARD_TFT_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},Sm={init:function(){this.jsonInit({colour:Ah,args0:[{name:"dir_h_v",options:[[lt.Msg.mpython_vertical,"0"],[lt.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:lt.Msg.mpython_HELPURL,tooltip:lt.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:lt.Msg.ONBOARD_TFT_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},Am={init:function(){this.jsonInit({colour:Ah,args0:[{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:lt.Msg.mpython_HELPURL,tooltip:lt.Msg.mpython_display_line_TOOLTIP,message0:lt.Msg.onboard_mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},Lm={init:function(){this.setColour(Ah),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("x").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(lt.Msg.HTML_COLOUR),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(lt.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},Nm={init:function(){this.setColour(Ah),this.appendValueInput("x").setCheck(Number).appendField(lt.Msg.MIXLY_LCD_SETCOLOR).appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("VAR").appendField(lt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(It.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(lt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},Dm={init:function(){this.setColour(Ah),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_SCREEN_FILL),["Python ESP32-S3","Python ESP32-C5"].includes(It.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(lt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},fm={init:function(){this.setColour(Ah),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_INIT_CLOCK),this.appendDummyInput().appendField(lt.Msg.MIXLY_CENTER_POS),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(lt.Msg.OLED_CIRCLE_RADIUS),this.appendValueInput("VAR").appendField(lt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Fm={init:function(){this.setColour(Ah),this.appendValueInput("SUB"),this.appendDummyInput().appendField(lt.Msg.GET_RTCTIME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Pm={init:function(){this.setColour(Ah),this.appendValueInput("SUB"),this.appendDummyInput().appendField(lt.Msg.SET_TIME),this.appendValueInput("h").setCheck(Number).appendField(lt.Msg.MIXLY_HOUR),this.appendValueInput("m").setCheck(Number).appendField(lt.Msg.MIXLY_MINUTE),this.appendValueInput("s").setCheck(Number).appendField(lt.Msg.MIXLY_SECOND),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},vm={init:function(){this.setColour(Ah),this.appendValueInput("SUB"),this.appendDummyInput().appendField(lt.Msg.DRAW_CLOCK),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Ym={init:function(){this.setColour(Ah),this.appendValueInput("SUB"),this.appendDummyInput().appendField(lt.Msg.CLEAR_CLOCK),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_STM32_TFT_BACKGROUND_COLOR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Xm={init:function(){this.jsonInit({colour:Ah,args0:[{name:"shape",options:[[lt.Msg.MPYTHON_DISPLAY_HOLLOW,"False"],[lt.Msg.MPYTHON_DISPLAY_SOLID,"True"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"r",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:lt.Msg.mpython_HELPURL,message0:lt.Msg.ONBOARD_TFT_DISPLAY_SHAPE_CIRCLE_MESSAGE0,nextStatement:null,previousStatement:null})}},bm={init:function(){this.setColour(Ah),this.appendDummyInput().appendField(lt.Msg.DRAW_POINTER).appendField(lt.Msg.DRAW_POINTER_ANGLE),this.appendValueInput("angle"),this.appendDummyInput().appendField(lt.Msg.MIXLY_DRAW_POINTER_DU),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.DRAW_POINTER_TOOLTIP)}},ym={init:function(){this.setColour(Ah),this.appendDummyInput().appendField(lt.Msg.DRAW_POINTER).appendField(lt.Msg.DRAW_POINTER_ANGLE),this.appendValueInput("angle"),this.appendDummyInput().appendField(lt.Msg.MIXLY_DRAW_POINTER_DU),this.appendValueInput("VAR").appendField(lt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.DRAW_POINTER_TOOLTIP)}},xm={init:function(){this.setColour(Ah),this.appendValueInput("data").appendField(lt.Msg.MIXLY_Display_long_text),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(lt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(It.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(lt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Vm={init:function(){this.setColour(Ah),this.appendValueInput("direct").appendField(lt.Msg.OLED_BITMAP).appendField(lt.Msg.MIXLY_QR_CODE),["Python ESP32-S3","Python ESP32-C5"].includes(It.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(lt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Bm={init:function(){this.setColour(Ah),this.appendValueInput("data").appendField(lt.Msg.OLED_BITMAP).appendField(lt.Msg.MIXLY_QR_CODE),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendDummyInput("").appendField(lt.Msg.MIXLY_ERROR_RATE).appendField(new lt.FieldDropdown([["0","7%"],["1","15%"],["2","25%"],["3","30"]]),"correct"),this.appendValueInput("VAR").appendField(lt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(It.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(lt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Gm={init:function(){this.setColour(Ah),this.appendValueInput("data").appendField(lt.Msg.OLED_BITMAP),this.appendDummyInput().appendField(`(${lt.Msg.MIXLY_DEPRECATED})`),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.OLED_BITMAP_OR_STRING),this.setWarningText(lt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Um={init:function(){Dh.init.call(this),this.appendDummyInput().appendField(`(${lt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(lt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},wm={init:function(){vh.init.call(this),this.appendDummyInput().appendField(`(${lt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(lt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Hm={init:function(){Gh.init.call(this),this.appendDummyInput().appendField(`(${lt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(lt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},km={init:function(){Hh.init.call(this),this.appendDummyInput().appendField(`(${lt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(lt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Wm={init:function(){kh.init.call(this),this.appendDummyInput().appendField(`(${lt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(lt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Km={init:function(){Wh.init.call(this),this.appendDummyInput().appendField(`(${lt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(lt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Jm=180,Qm={init:function(){this.setColour(Jm),this.setOutput(!0),this.setInputsInline(!0),this.appendValueInput("img").appendField(lt.Msg.DISPLAY_IMAGE_LET).setCheck(["esp32_image","List",String]),this.appendDummyInput("").appendField(lt.Msg.DISPLAY_IMAGE_LET2).appendField(new lt.FieldDropdown(Qm.OPERATORS),"OP"),this.appendValueInput("val").appendField(lt.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(lt.Msg.DISPLAY_IMAGE_UNIT);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=lt.Msg.DISPLAY_IMAGE_LET,n=lt.Msg.DISPLAY_IMAGE_LET2,s=lt.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:lt.Msg.MIXLY_UP,down:lt.Msg.MIXLY_DOWN,left:lt.Msg.MIXLY_LEFT,right:lt.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[lt.Msg.MIXLY_UP,"up"],[lt.Msg.MIXLY_DOWN,"down"],[lt.Msg.MIXLY_LEFT,"left"],[lt.Msg.MIXLY_RIGHT,"right"]]},qm={init:function(){this.setColour(Jm),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(lt.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new lt.FieldDropdown(qm.OPERATORS),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{"+":lt.Msg.MIXLY_MICROBIT_image_add,"-":lt.Msg.MIXLY_MICROBIT_image_reduce}[e]}))},OPERATORS:[[lt.Msg.MICROBIT_DISPLAY_UNION,"+"],[lt.Msg.MICROBIT_DISPLAY_MINUS,"-"]]},zm={init:function(){this.setColour(Jm),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+lt.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("esp32_image"),this.appendDummyInput("").appendField(new lt.FieldDropdown(zm.OPERATORS),"OP"),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+lt.Msg.MIXLY_MICROBIT_IMAGE+{height:lt.Msg.MIXLY_HEIGHT,width:lt.Msg.MIXLY_WIDTH}[e]}))},OPERATORS:[[lt.Msg.MIXLY_HEIGHT,"height"],[lt.Msg.MIXLY_WIDTH,"width"]]},jm={init:function(){this.setColour(Jm),this.appendValueInput("VAR").appendField(lt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RECT).appendField(new lt.FieldDropdown(jm.STATUS),"OP"),this.jsonInit({message0:lt.Msg.MIXLY_MICROBIT_SHOW_RECT,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"width"},{check:Number,type:"input_value",name:"height"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(lt.Msg.MIXLY_OLED_RECT)},STATUS:[[lt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[lt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},$m={init:function(){this.setColour(Jm),this.appendValueInput("VAR").appendField(lt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE).appendField(new lt.FieldDropdown($m.STATUS),"OP"),this.jsonInit({message0:lt.Msg.MIXLY_HANBIT_SHOW_CIRCLE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"r"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(lt.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE)},STATUS:[[lt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[lt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},Zm={init:function(){this.setColour(Jm),this.appendValueInput("VAR").appendField(lt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_DISPLAY_DRAW+lt.Msg.MIXLY_HANBIT_DRAW_TRIANGLE).appendField(new lt.FieldDropdown(Zm.STATUS),"OP"),this.jsonInit({message0:lt.Msg.MIXLY_HANBIT_SHOW_triangle,args0:[{check:Number,type:"input_value",name:"x0"},{check:Number,type:"input_value",name:"y0"},{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(lt.Msg.MIXLY_DISPLAY_DRAW+lt.Msg.MIXLY_HANBIT_DRAW_TRIANGLE)},STATUS:[[lt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[lt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},tE="#777777",eE={init:function(){this.setColour(tE),this.appendDummyInput("").appendField("from ").appendField(new lt.FieldTextInput("ESP32"),"path").appendField(" import ").appendField(new lt.FieldTextInput("*"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},iE={init:function(){this.setColour(tE),this.appendDummyInput("").appendField("import ").appendField(new lt.FieldTextInput("module"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},nE={init:function(){this.setColour(tE),this.appendDummyInput("").appendField(new lt.FieldTextInput("my_function"),"NAME"),this.itemCount_=1,this.arguments_=["x"],this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new lt.icons.MutatorIcon(["factory_create_with_item"],this))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("items",this.itemCount_);for(var e=0;ee?t[e]:'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){lt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},kE={init:function(){this.setColour(xE),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(lt.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},WE={init:function(){this.setColour(xE),this.appendDummyInput().appendField(lt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},KE={init:function(){this.setColour(xE),this.appendDummyInput().appendField(lt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},JE={init:function(){this.setColour(xE),this.appendDummyInput().appendField(lt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").setCheck(String).appendField(lt.Msg.MIXLY_EMQX_SERVER).setAlign(lt.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(lt.Msg.MIXLY_WIFI_USERNAME).setAlign(lt.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(lt.Msg.MIXLY_IOT_PASSWORD).setAlign(lt.inputs.Align.RIGHT),this.appendValueInput("PROJECT").setCheck(String).appendField(lt.Msg.MIXLY_EMQX_PROJECT).setAlign(lt.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},QE={init:function(){this.setColour(xE),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(lt.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(lt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(lt.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},qE={init:function(){this.setColour(xE),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(lt.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(lt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(lt.Msg.HTML_BODY),this.appendDummyInput().appendField(lt.Msg.MIXLY_Service_quality_display).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_AT_MOST_ONCE,"0"],[lt.Msg.MIXLY_AT_LEAST_ONCE,"1"]]),"quality"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},zE={init:function(){this.setColour(xE),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(lt.Msg.MIXLY_EMQX_SUBSCRIBE+lt.Msg.MIXLY_MICROBIT_MSG).appendField(lt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(lt.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_IOT_EMQX_SUBSCRIBE_TOOLTIP)}},jE={init:function(){this.setColour(xE),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},$E={init:function(){this.setColour(xE),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(lt.Msg.MIXLY_EMQX_CONNECT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ZE={init:function(){this.setColour(xE),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_CHECK_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},tO={init:function(){this.setColour(xE),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(lt.Msg.MQTT_Topic),this.setInputsInline(!0),this.setOutput(!0)}},eO={init:function(){this.setColour(xE),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(lt.Msg.MIXLY_EMQX_PUBLISH_MSG),this.setInputsInline(!0),this.setOutput(!0)}},iO={init:function(){this.setColour(xE),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_ESP32_IOT_MAP_FORMATING),this.setOutput(!0)}},nO={init:function(){this.setColour(xE),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_MICROPYTHON_FORMAT+"(Json)"),this.setOutput(!0)}},sO={init:function(){this.setColour(xE),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(lt.Msg.MIXLY_EMQX_PING),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_IOT_EMQX_PING_TOOLTIP)}},oO={init:function(){this.setColour(xE),this.appendDummyInput().appendField("MixIO").appendField(lt.Msg.MIXLY_GET_NTP),this.appendValueInput("addr").appendField(lt.Msg.blynk_SERVER_ADD),this.setInputsInline(!0),this.setOutput(!0)}},_O={init:function(){this.setColour(xE),this.appendDummyInput().appendField(lt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(lt.Msg.MIXLY_EMQX_SERVER).setAlign(lt.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(lt.Msg.CONTROLS_FOR_INPUT_WITH+lt.Msg.MIXLY_MIXIO_SHARE_KEY).setAlign(lt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},pO={init:function(){this.setColour(xE),this.appendDummyInput().appendField(lt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(lt.Msg.MIXLY_EMQX_SERVER).setAlign(lt.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(lt.Msg.CONTROLS_FOR_INPUT_WITH+"Mixly Key").setAlign(lt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},aO={init:function(){this.VISITOR_ID=It.Config.BOARD.visitorId.str32.substring(0,8).toUpperCase(),this.setColour(xE),this.appendDummyInput("").appendField(new lt.FieldTextInput(this.visitorId),"VISITOR_ID"),this.setOutput(!0,null)},onchange:function(){const t=this.getFieldValue("VISITOR_ID");this.VISITOR_ID!==t&&this.setFieldValue(this.VISITOR_ID,"VISITOR_ID")}},uO={init:function(){this.setColour(xE),this.appendDummyInput().appendField("MixIO").appendField(lt.Msg.MSG.catEthernet_clinet),this.setOutput(!0),this.setInputsInline(!0)}},rO={init:function(){this.setColour(xE),this.appendDummyInput().appendField("HTTP"+lt.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(lt.Msg.DISPLAY_IMAGE_LET2),this.appendDummyInput().appendField(lt.Msg.MIXLY_REQUESTS_GET).appendField(lt.Msg.MIXLY_GET_CURRENT_TIME).appendField(lt.Msg.MIXLY_OPEN_DEBUG).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[lt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},dO={init:function(){this.setColour(xE),this.appendDummyInput().appendField("HTTP"+lt.Msg.MIXLY_Client).appendField(lt.Msg.MIXLY_GET).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_REQUESTS_LEN,"client_len"],[lt.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[lt.Msg.MIXLY_REQUESTS_MESSAGE,"text"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},lO={init:function(){this.setColour(xE),this.appendDummyInput().appendField("MQTT"+lt.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(lt.Msg.MIXLY_CONNECTTO),this.appendDummyInput().appendField(lt.Msg.MIXLY_INIT_SUBSCRIBE).appendField(lt.Msg.MQTT_Topic).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_GET_CURRENT_TIME,""]]),"key").appendField(lt.Msg.MIXLY_OPEN_DEBUG).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[lt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},IO={init:function(){this.setColour(xE),this.appendDummyInput().appendField("MQTT"+lt.Msg.MIXLY_Client).appendField(lt.Msg.MIXLY_GET).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_REQUESTS_LEN,"client_len"],[lt.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[lt.Msg.MIXLY_REQUESTS_MESSAGE,"time_msg()"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},TO=VE,MO=BE,hO=GE,mO=UE,EO=HE,OO={init:function(){this.setColour(xE),this.appendDummyInput().appendField(lt.Msg.MIXLY_CONNECT_OLLAMA),this.appendValueInput("SERVER").appendField(lt.Msg.MIXLY_EMQX_SERVER).setAlign(lt.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(lt.Msg.MODEL_NAME).setAlign(lt.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(lt.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},RO=OO,cO={init:function(){this.setColour(xE),this.appendDummyInput().appendField(lt.Msg.MIXLY_CONNECT_OPENAI),this.appendValueInput("SERVER").appendField(lt.Msg.MIXLY_EMQX_SERVER).setAlign(lt.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(lt.Msg.MIXLY_API_PRIVATE_KEY).setAlign(lt.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(lt.Msg.MODEL_NAME).setAlign(lt.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(lt.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},gO={init:function(){this.setColour(xE),this.appendDummyInput().appendField(lt.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(lt.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendValueInput("METHOD").appendField(lt.Msg.MIXLY_LLM_CONTENT_CALLBACK),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},CO={init:function(){this.setColour(xE),this.appendDummyInput().appendField(lt.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(lt.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendDummyInput().appendField(lt.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0)}},SO={init:function(){this.setColour(xE),this.appendDummyInput().appendField("Ollama "+lt.Msg.MIXLY_EMPTY_HISTORY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},AO={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${lt.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("ADDR").setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_EMQX_SERVER),this.appendValueInput("USERNAME").setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_EMQX_USERNAME),this.appendValueInput("PASSWORD").setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_IOT_PASSWORD),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},LO={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${lt.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("MQTT").setAlign(lt.inputs.Align.RIGHT).appendField(`MixIO ${lt.Msg.MIXLY_Client}`),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},NO={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_TINY_WEB_DB_UPDATE_VARIABLE),this.appendValueInput("VALUE").setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},DO={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(lt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLE),this.appendDummyInput().appendField(lt.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setOutput(!0)}},fO={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendDummyInput().appendField(lt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_NUM),this.setInputsInline(!0),this.setOutput(!0)}},FO={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB").appendField(lt.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARIABLES),this.appendValueInput("NO").setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_TINY_WEB_DB_START_NUMBER),this.appendValueInput("COUNT").setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_TINY_WEB_DB_VARIABLE_NUMBER),this.appendValueInput("TAG").setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARS),this.appendDummyInput().setAlign(lt.inputs.Align.RIGHT).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_ALL,"both"],[lt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_TAG,"tag"],[lt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_VALUE,"value"]]),"DTYPE"),this.setInputsInline(!1),this.setOutput(!0)}},PO={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(lt.Msg.MIXLY_TINY_WEB_DB_DELETE_VARIABLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},vO=225,YO={init:function(){this.setColour(vO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_NETWORK_INIT),this.appendDummyInput().appendField(lt.Msg.MIXLY_NETWORK_MODE).appendField(new lt.FieldDropdown([["STA","STA"],["AP","AP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_NETWORK_INIT_TOOLTIP)}},XO={init:function(){this.setColour(vO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_NETWORK_WIFI_OPEN,"True"],[lt.Msg.MIXLY_NETWORK_WIFI_CLOSE,"False"]]),"op"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_NETWORK_WIFI_FLAG),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("op"),i=lt.Msg.MIXLY_ESP32_NETWORK_OPEN_TOOLTIP;return{True:lt.Msg.MIXLY_NETWORK_WIFI_OPEN,False:lt.Msg.MIXLY_NETWORK_WIFI_CLOSE}[e]+i}))}},bO={init:function(){this.setColour(vO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE)}},yO={init:function(){this.setColour(vO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_NETWORK_WIFI_SCAN),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip((function(){return lt.Msg.MIXLY_ESP32_NETWORK_SCAN_TOOLTIP+{0:"ssid",1:"bssid",2:"channel",3:"RSSI",4:"authmode",5:"hidden",all:lt.Msg.MIXLY_NETWORK_WIFI_SCAN_ATTRIBUTE}.all}))}},xO={init:function(){this.setColour(vO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_ESP32_NETWORK_CONNECT),this.appendValueInput("id").setCheck(String).appendField(lt.Msg.HTML_NAME),this.appendValueInput("password").setCheck(String).appendField(lt.Msg.HTML_PASSWORD),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_NETWORK_CONNECT_TOOLTIP)}},VO={init:function(){this.setColour(vO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_NETWORK_WIFI_CONNECT+lt.Msg.MIXLY_SYMBOL_QUESTION),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_NETWORK_WIFI_CONNECT_TOOLTIP)}},BO={init:function(){this.setColour(vO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput("").appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_ESP32_NETWORK_IP,"0"],[lt.Msg.MIXLY_ESP32_NETWORK_MASK,"1"],[lt.Msg.MIXLY_ESP32_NETWORK_GATEWAY,"2"],["DNS","3"]]),"mode"),this.setOutput(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return lt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP+{0:lt.Msg.MIXLY_ESP32_NETWORK_IP,1:lt.Msg.MIXLY_ESP32_NETWORK_MASK,2:lt.Msg.MIXLY_ESP32_NETWORK_GATEWAY,3:"DNS"}[e]}))}},GO={init:function(){this.setColour(vO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_ESP32_NETWORK_STOP_CONNECT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_NETWORK_STOP_TOOLTIP)}},UO={init:function(){this.setColour(vO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput().appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_NETWORK_WIFI_ESSID,"essid"],[lt.Msg.MIXLY_NETWORK_WIFI_CHANNEL,"channel"]]),"op"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP)}},wO={init:function(){this.setColour(vO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.LISTS_SET_INDEX_SET+lt.Msg.MIXLY_HOTSPOT),this.appendValueInput("essid").setCheck(String).appendField(lt.Msg.MIXLY_NAME),this.appendValueInput("password").setCheck(String).appendField(lt.Msg.MIXLY_EMQX_PASSWORD),this.appendValueInput("channel").setCheck(Number).appendField(lt.Msg.MIXLY_NETWORK_WIFI_CHANNEL),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_NETWORK_AP_CONNECT_TOOLTIP)}},HO={init:function(){this.setColour(vO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_ESP32_NETWORK_SERVER1),this.appendDummyInput("").appendField(lt.Msg.MIXLY_ESP32_NETWORK_SERVER2),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},kO={init:function(){this.setColour(vO),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_INIT).setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new lt.FieldDropdown([["TCP","TCP"],["UDP","UDP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return lt.Msg.MIXLY_ESP32_NETWORK_SOCKET_INIT_TOOLTIP+{TCP:"TCP",UDP:"UDP"}[e]}))}},WO={init:function(){this.setColour(vO),this.appendValueInput("VAR").setCheck("var").appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_BIND_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_NETWORK_SOCKET_BIND_TOOLTIP)}},KO={init:function(){this.setColour(vO),this.appendValueInput("VAR").setCheck("var").appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_CONNECT_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_NETWORK_SOCKET_CONNECT_TOOLTIP)}},JO={init:function(){this.setColour(vO),this.appendValueInput("VAR").setCheck("var"),this.appendValueInput("queue").setCheck(Number).appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_LISTEN).appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_QUEUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_NETWORK_SOCKET_LISTEN_TOOLTIP)}},QO={init:function(){this.setColour(vO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_ACCEPT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_NETWORK_SOCKET_ACCEPT_TOOLTIP)}},qO={init:function(){this.setColour(vO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE_TOOLTIP)}},zO={init:function(){this.setColour(vO),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("size").setCheck(Number).appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_TOOLTIP)}},jO={init:function(){this.setColour(vO),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("content").appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TOOLTIP)}},$O={init:function(){this.setColour(vO),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("size").setCheck(Number).appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_FROM_TOOLTIP)}},ZO={init:function(){this.setColour(vO),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("content").appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.appendValueInput("address").appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_TO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TO_TOOLTIP)}},tR={init:function(){this.setColour(vO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_CLOSE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},eR={init:function(){this.setColour(vO),this.appendValueInput("DOMAIN").appendField(lt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(lt.Msg.blockpy_REQUESTS_GET).appendField(new lt.FieldTextInput("response"),"VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.blockpy_REQUESTS_GET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){lt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},iR={init:function(){this.appendValueInput("VAL"),this.setColour(vO),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new lt.FieldDropdown(iR.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{clear:lt.Msg.MIXLY_TOOLTIP_TURTEL_CLEAR,reset:lt.Msg.MIXLY_TOOLTIP_TURTEL_RESET,home:lt.Msg.MIXLY_TOOLTIP_TURTEL_HOME}[e]}))},ATTR:[[lt.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[lt.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[lt.Msg.blockpy_REQUESTS_GET_ATTR_COOKIES,"cookies"],[lt.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"]]},nR={init:function(){this.appendValueInput("VAR").appendField(lt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.setColour(vO),this.appendDummyInput("").appendField(lt.Msg.blockpy_CONDUCT).appendField(new lt.FieldDropdown(nR.METHOD),"DIR"),this.appendDummyInput("").appendField(lt.Msg.blockpy_REQUESTS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{forward:lt.Msg.MIXLY_TOOLTIP_TURTEL_FORWARD,backward:lt.Msg.MIXLY_TOOLTIP_TURTEL_BACKWARD}[e]}))},METHOD:[["post","post"],["put","put"],["delete","delete"],["head","head"],["option","option"]]},sR={init:function(){this.setColour(vO),this.appendDummyInput("").appendField(lt.Msg.MIXLY_GET_NTP+"(NTP)"),this.appendValueInput("data").appendField(lt.Msg.blynk_SERVER_ADD),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},oR={init:function(){this.setColour(vO),this.appendDummyInput("").appendField(new lt.FieldDropdown([["ntp.aliyun.com","ntp.aliyun.com"],["ntp1.aliyun.com","ntp1.aliyun.com"],["ntp2.aliyun.com","ntp2.aliyun.com"],["ntp3.aliyun.com","ntp3.aliyun.com"],["ntp4.aliyun.com","ntp4.aliyun.com"],["ntp5.aliyun.com","ntp5.aliyun.com"],["ntp6.aliyun.com","ntp6.aliyun.com"],["ntp7.aliyun.com","ntp7.aliyun.com"],["time1.cloud.tencent.com","time1.cloud.tencent.com"],["time2.cloud.tencent.com","time2.cloud.tencent.com"],["time3.cloud.tencent.com","time3.cloud.tencent.com"],["time4.cloud.tencent.com","time4.cloud.tencent.com"],["time5.cloud.tencent.com","time5.cloud.tencent.com"]]),"op"),this.setOutput(!0)}},_R="#3288dd",pR={init:function(){this.setColour(_R),this.appendValueInput("URL").appendField(lt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(lt.Msg.blockpy_CONDUCT).appendField(new lt.FieldDropdown([["get","get"],["head","head"],["delete","delete"]]),"TYPE").appendField(lt.Msg.blockpy_REQUESTS).appendField(lt.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},aR={init:function(){this.setColour(_R),this.appendValueInput("URL").appendField(lt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(lt.Msg.blockpy_CONDUCT).appendField(new lt.FieldDropdown([["post","post"],["put","put"],["patch","patch"]]),"TYPE").appendField(lt.Msg.blockpy_REQUESTS),this.appendValueInput("data").appendField(lt.Msg.blockpy_REQUESTS+lt.Msg.OLED_STRING),this.appendDummyInput("").appendField(lt.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},uR={init:function(){this.appendValueInput("VAL"),this.setColour(_R),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new lt.FieldDropdown(uR.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String)},ATTR:[[lt.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[lt.Msg.blockpy_REQUESTS_GET_ATTR_JSON,"json()"],[lt.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[lt.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"],[lt.Msg.MIXPY_TEXT_ENCODE,"encoding"]]},rR={init:function(){this.setColour(_R),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_IOT_CONNECT_WIFI),this.appendValueInput("WIFINAME").setCheck(String).appendField(lt.Msg.HTML_NAME),this.appendValueInput("PASSWORD").setCheck(String).appendField(lt.Msg.HTML_PASSWORD),this.appendValueInput("TIMEOUT").setCheck(Number).appendField(lt.Msg.MIXLY_IR_TIMEOUT),this.appendDummyInput().appendField(lt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_IOT_WIFI_CONNECT_TOOLTIP)}},dR={init:function(){this.setColour(_R),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_IOT_EMQX_CONNECT_TOOLTIP),this.appendValueInput("SERVER").setCheck(String).appendField(lt.Msg.MIXLY_EMQX_SERVER).setAlign(lt.inputs.Align.RIGHT),this.appendValueInput("PORT").setCheck(Number).appendField(lt.Msg.MIXLY_EMQX_PORT).setAlign(lt.inputs.Align.RIGHT),this.appendValueInput("CLIENT_ID").setCheck(String).appendField(lt.Msg.MIXLY_EMQX_CLIENT_ID).setAlign(lt.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(lt.Msg.MIXLY_WIFI_USERNAME).setAlign(lt.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(lt.Msg.MIXLY_IOT_PASSWORD).setAlign(lt.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},lR={init:function(){this.setColour(_R),this.appendValueInput("TOPIC").appendField(lt.Msg.MIXLY_EMQX_SUBSCRIBE+lt.Msg.MIXLY_MICROBIT_MSG).appendField(lt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MESSAGE").appendField(lt.Msg.blockpy_set_of),this.setInputsInline(!0),this.setOutput(!0)}},IR={init:function(){this.setColour(_R),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(lt.Msg.MIXLY_EMQX_SUBSCRIBE+lt.Msg.MIXLY_MICROBIT_MSG).appendField(lt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(lt.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},TR={init:function(){this.setColour(_R),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(lt.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(lt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(lt.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},MR={init:function(){this.setColour(_R),this.appendDummyInput().appendField("mqtt"+lt.Msg.MIXLY_EMQX_IS_CONNECT),this.setInputsInline(!0),this.setOutput(!0)}},hR="#A58C5B",mR={init:function(){this.setColour(hR),this.appendValueInput("PIN",Number).appendField(lt.Msg.MIXLY_BUTTON).appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(lt.Msg.MIXLY_IS_PRESSED),this.appendValueInput("STAT").appendField(lt.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_SENOR_IS_PRESSED)}},ER={init:function(){this.setColour(hR),this.appendValueInput("PIN",Number).appendField(lt.Msg.MIXLY_BUTTON).appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(lt.Msg.MIXLY_WAS_PRESSED),this.appendValueInput("STAT").appendField(lt.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_SENOR_WAS_PRESSED)}},OR={init:function(){this.setColour(hR),this.appendValueInput("PIN",Number).appendField(lt.Msg.MIXLY_BUTTON).appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(lt.Msg.MIXLY_GET_PRESSES),this.appendValueInput("VAR").setCheck(Number).appendField(lt.Msg.MIXLY_GET_PRESSES_TIME),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(lt.Msg.PROCEDURES_DEFRETURN_RETURN+lt.Msg.MIXLY_BUTTON+lt.Msg.MIXLY_GET_PRESSES)}},RR={init:function(){this.setColour(hR),this.appendValueInput("PIN",Number).appendField(lt.Msg.MIXLY_BUTTON).appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MODE).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[lt.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[lt.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(lt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.MIXLY_TOOLTIP_INOUT_ATTACHINTERRUPT)}},cR={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_shake,"shake"],[lt.Msg.MIXLY_UP,"up"],[lt.Msg.MIXLY_DOWN,"down"],[lt.Msg.MIXLY_LEFT,"left"],[lt.Msg.MIXLY_RIGHT,"right"],[lt.Msg.MIXLY_MICROBIT_face_up,"face up"],[lt.Msg.MIXLY_MICROBIT_face_down,"face down"],[lt.Msg.MIXLY_MICROBIT_freefall,"freefall"],["3g","3g"],["6g","6g"],["8g","8g"]]),"gesture"),this.appendStatementInput("DO").appendField(lt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("gesture"),i=lt.Msg.MIXLY_MICROBIT_JS_CURRENT,n=lt.Msg.MSG.catSensor,s=lt.Msg.MIXLY_MICROBIT_JS_STATE,o=lt.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:lt.Msg.MIXLY_MICROBIT_shake,up:lt.Msg.MIXLY_UP,down:lt.Msg.MIXLY_DOWN,left:lt.Msg.MIXLY_LEFT,right:lt.Msg.MIXLY_RIGHT,"face up":lt.Msg.MIXLY_MICROBIT_face_up,"face down":lt.Msg.MIXLY_MICROBIT_face_down,freefall:lt.Msg.MIXLY_MICROBIT_freefall,"3g":"3g","6g":"6g","8g":"8g"}[e]+o}))}},gR={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_ADXL345).setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new lt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=lt.Msg.MIXLY_MICROBIT_Direction,s=lt.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":lt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},CR={init:function(){this.setColour(hR),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_JS_LIGHT_LEVEL),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_SENSOR_LIGHT_LEVEL_TOOLTIP)}},SR={init:function(){this.setColour(hR),this.appendValueInput("PIN",Number).appendField(new lt.FieldDropdown([["DHT11","DHT11"],["DHT22","DHT22"]]),"TYPE").appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(new lt.FieldDropdown(SR.METHOD),"WHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("WHAT");return{temperature:lt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM,relative_humidity:lt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_HUM,tempandhum:lt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM_HUM}[e]}))},METHOD:[[lt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[lt.Msg.MIXLY_GETHUMIDITY,"humidity"]]},AR={init:function(){this.setColour(hR),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_EXTERN_LIGHT),this.appendValueInput("PIN",Number).appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(lt.Msg.ESP32_SENSOR_NIXGO_LIGHT_TOOLTIP)}},LR={init:function(){this.setColour(hR),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_EXTERN_SOUND),this.appendValueInput("PIN",Number).appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(lt.Msg.ESP32_SENSOR_NIXGO_SOUND_TOOLTIP)}},NR={init:function(){this.setColour(hR),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new lt.FieldDropdown([[lt.Msg.TEXT_TRIM_LEFT,"left"],[lt.Msg.TEXT_TRIM_RIGHT,"right"]]),"direction").appendField(lt.Msg.MIXLY_ESP32_NEAR),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("direction"),i=lt.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP,n=lt.Msg.MIXLY_ESP32_NEAR;return i+{left:lt.Msg.TEXT_TRIM_LEFT,right:lt.Msg.TEXT_TRIM_RIGHT}[e]+n}))}},DR={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_ALTITUDE_SENSOR+" BMP280").setCheck("var"),this.appendDummyInput("").appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_GETTEMPERATUE,"get_BMP_temperature()"],[lt.Msg.MIXLY_GETPRESSURE,"get_BMP_pressure()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{"get_BMP_temperature()":lt.Msg.MIXLY_MICROBIT_SENSOR_BMP_temperature_TOOLTIP,"get_BMP_pressure()":lt.Msg.MIXLY_MICROBIT_SENSOR_BMP_press_TOOLTIP}[e]}))}},fR={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+" SHT20").setCheck("var"),this.appendDummyInput("").appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_GETTEMPERATUE,"get_SHT_temperature()"],[lt.Msg.MIXLY_GETHUMIDITY,"get_SHT_relative_humidity()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{"get_SHT_temperature()":lt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,"get_SHT_relative_humidity()":lt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},FR={init:function(){this.setColour(hR),this.appendValueInput("PIN",Number).appendField("DS18X20 "+lt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(lt.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(lt.Msg.MIXLY_MICROBIT_SENSOR_DS18X20_TOOLTIP)}},PR={init:function(){this.setColour(hR),this.appendDummyInput("").appendField("LM35"+lt.Msg.MIXLY_TEMP),this.appendValueInput("PIN",Number).appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(lt.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(lt.Msg.MIXLY_TOOLTIP_LM35)}},vR={init:function(){this.setColour(hR),this.appendValueInput("I2CSUB").appendField(lt.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_SETUP+lt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_ESP32_EXTERN_LIGHT+"(LTR308ALS)","LTR308"],[lt.Msg.MIXLY_COLOR_SENSOR+"(LTR381RGB)","LTR381RGB"],[lt.Msg.MIXLY_COLOR_SENSOR+"(UCS12071)","UCS12071"],[lt.Msg.MIXLY_EXTERN_LIGHTUV+"(LTR390UV)","LTR390UV"],[lt.Msg.MIXLY_ALTITUDE_SENSOR+"(HP203X)","HP203X"],[lt.Msg.MIXLY_ALTITUDE_SENSOR+"(SPL06_001)","SPL06_001"],[lt.Msg.MIXLY_ALTITUDE_SENSOR+"(MS5611)","MS5611"],[lt.Msg.MIXLY_ALTITUDE_SENSOR+"(BMP280)","BMP280"],[lt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(SHTC3)","SHTC3"],[lt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(AHT21)","AHT21"],[lt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(SHT20)","SHT20"],[lt.Msg.MIXLY_LASER_RANGE_SENSOR+"(VL53L0X)","VL53L0X"],[lt.Msg.MIXLY_GEOMAGNETIC_SENSOR+"(QMC5883L)","QMC5883L"],[lt.Msg.MIXLY_ESP32_MAX30102+"(MAX30102)","MAX30102"],[lt.Msg.HTML_COLOUR+"、"+lt.Msg.MIXLY_ENVIRONMENT_LIGHT+"、"+lt.Msg.MIXLY_NEXT+"、"+lt.Msg.MIXLY_ESP32_APDS9960+"(APDS9960)","APDS9960"],[lt.Msg.MIXLY_NINE_AXIS_SENSOR+"(MPU9250)","MPU9250"],[lt.Msg.MixGo_MPU9250+"(ADXL345)","ADXL345"],["RFID","RFID"],[lt.Msg.MIXLY_RADAR_SENSOR+"(CBR817)","CBR817"],[lt.Msg.MIXLY_AipSpeech_asr+"(CI130X)","CI130X"],[lt.Msg.MIXLY_TVOC_CO2_SENSOR+"(AGS10)","AGS10"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},YR={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_RADAR+"CBR817").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.LISTS_SET_INDEX_SET+lt.Msg.MIXlY_INTERACTION),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_DETECTION_THRESHOLD),this.appendValueInput("VAR2").appendField(lt.Msg.MIXLY_DELAY_TIME),this.appendDummyInput().appendField("ms"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_THRESHOLD_TOOLTIP+" ; "+lt.Msg.MIXLY_DELAY_TIME_RANGE)}},XR={init:function(){this.setColour(hR),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RADAR).appendField(lt.Msg.LISTS_SET_INDEX_SET+lt.Msg.MIXlY_INTERACTION),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_DETECTION_THRESHOLD),this.appendValueInput("VAR2").appendField(lt.Msg.MIXLY_DELAY_TIME),this.appendDummyInput().appendField("ms"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_THRESHOLD_TOOLTIP+" ; "+lt.Msg.MIXLY_DELAY_TIME_RANGE)}},bR={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_RADAR+"CBR817").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_GET_TO_INTERACTION),this.setOutput(!0),this.setInputsInline(!0)}},yR={init:function(){this.setColour(hR),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RADAR).appendField(lt.Msg.MIXLY_GET_TO_INTERACTION),this.setOutput(!0),this.setInputsInline(!0)}},xR={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_IDENTIFY_ONCE_AND_SAVE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},VR={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_GET).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_HELLO_XIAOZHI,"1"],[lt.Msg.MIXLY_XIAOZHIXIAOZHI,"2"],[lt.Msg.MIXLY_THE_FIRST,"3"],[lt.Msg.MIXLY_THE_SECOND,"4"],[lt.Msg.MIXLY_THE_THIRD,"5"],[lt.Msg.MIXLY_THE_FOURTH,"6"],[lt.Msg.MIXLY_THE_FIFTH,"7"],[lt.Msg.MIXLY_THE_SIXTH,"8"],[lt.Msg.MIXLY_THE_SEVENTH,"9"],[lt.Msg.MIXLY_THE_EIGHTH,"10"],[lt.Msg.MIXLY_THE_NINTH,"11"],[lt.Msg.MIXLY_THE_TENTH,"12"],[lt.Msg.MIXLY_THE_ELEVENTH,"13"],[lt.Msg.MIXLY_THE_TWELFTH,"14"],[lt.Msg.MIXLY_THE_13TH,"15"],[lt.Msg.MIXLY_THE_14TH,"16"],[lt.Msg.MIXLY_THE_15TH,"17"],[lt.Msg.MIXLY_THE_16TH,"18"],[lt.Msg.MIXLY_THE_17TH,"19"],[lt.Msg.MIXLY_THE_18TH,"20"],[lt.Msg.MIXLY_THE_19TH,"21"],[lt.Msg.MIXLY_THE_20TH,"22"],[lt.Msg.MIXLY_Turn_on_the_lights,"23"],[lt.Msg.MIXLY_Turn_off_the_lights,"24"],[lt.Msg.MIXLY_Turn_up_the_brightness,"25"],[lt.Msg.MIXLY_Turn_down_the_brightness,"26"],[lt.Msg.MIXLY_Set_it_to_red,"27"],[lt.Msg.MIXLY_Set_it_to_orange,"28"],[lt.Msg.MIXLY_Set_it_to_yellow,"29"],[lt.Msg.MIXLY_Set_it_to_green,"30"],[lt.Msg.MIXLY_Set_it_to_cyan,"31"],[lt.Msg.MIXLY_Set_it_to_blue,"32"],[lt.Msg.MIXLY_Set_it_to_purple,"33"],[lt.Msg.MIXLY_Set_it_to_white,"34"],[lt.Msg.MIXLY_Turn_on_the_fan,"35"],[lt.Msg.MIXLY_Turn_off_the_fan,"36"],[lt.Msg.MIXLY_First_gear,"37"],[lt.Msg.MIXLY_Wind_speed_second,"38"],[lt.Msg.MIXLY_Third_gear,"39"],[lt.Msg.MIXLY_Previous,"40"],[lt.Msg.MIXLY_Next_page,"41"],[lt.Msg.MIXLY_Show_smiley_face,"42"],[lt.Msg.MIXLY_Show_crying_face,"43"],[lt.Msg.MIXLY_Show_love,"44"],[lt.Msg.MIXLY_Close_display,"45"],[lt.Msg.MIXLY_Start_execution,"46"],[lt.Msg.MIXLY_FORWARD,"47"],[lt.Msg.MIXLY_BACKWARD,"48"],[lt.Msg.MIXLY_TURNLEFT,"49"],[lt.Msg.MIXLY_TURNRIGHT,"50"],[lt.Msg.MIXLY_STOP,"51"],[lt.Msg.MIXLY_Accelerate,"52"],[lt.Msg.MIXLY_retard,"53"],[lt.Msg.ROTATION_FORWARD,"54"],[lt.Msg.ROTATION_BACKWARD,"55"],[lt.Msg.MIXLY_Query_temperature,"56"],[lt.Msg.MIXLY_Query_humidity,"57"],[lt.Msg.MIXLY_Query_brightness,"58"],[lt.Msg.MIXLY_Query_sound,"59"],[lt.Msg.MIXLY_Query_time,"60"],[lt.Msg.MIXLY_Query_distance,"61"],[lt.Msg.MIXLY_Query_pressure,"62"],[lt.Msg.MIXLY_Query_key,"63"],[lt.Msg.MIXLY_Query_touch,"64"],[lt.Msg.MIXLY_Query_color,"65"]]),"cmd").appendField(lt.Msg.MIXLY_WHETHER+lt.Msg.MIXLY_BE_IDENTIFIED),this.setOutput(!0),this.setInputsInline(!0)}},BR={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_GET).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_RECOGNIZED_STATE,"status1"],[lt.Msg.MIXLY_WHETHER_BROADCAST,"status2"],[lt.Msg.MIXLY_THE_RECOGNIZED_CMD,"result"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_CI130X_GET_THE_RECOGNIZED_STATE_TOOLTIP)}},GR={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MP3_PLAY).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"],[lt.Msg.MIXLY_WIND_SPEED,"154"],[lt.Msg.MIXLY_HYETAL,"155"],[lt.Msg.MIXLY_TEMPERATURE,"156"],[lt.Msg.MIXLY_Humidity,"157"],[lt.Msg.MIXLY_Altitude,"158"],[lt.Msg.MIXLY_SOUND,"159"],[lt.Msg.MIXLY_BRIGHTNESS,"160"],[lt.Msg.ME_GO_HALL_SENSOR_DISTANCE,"161"],[lt.Msg.MIXLY_SERVO,"162"],[lt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"163"],[lt.Msg.MIXLY_BUTTON2,"164"],[lt.Msg.MIXLY_ESP32_TOUCH,"165"],[lt.Msg.MIXLY_PAY,"166"],[lt.Msg.MIXLY_CARSH_CHANGE,"167"],[lt.Msg.MIXLY_COUNTDOWN,"168"],[lt.Msg.MIXLY_TIMING,"169"],[lt.Msg.MIXLY_AT_THE_MOMENT,"170"],[lt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE,"171"],[lt.Msg.MIXLY_FORWARD,"172"],[lt.Msg.MIXLY_BACKWARD,"173"],[lt.Msg.MIXLY_TURNLEFT,"174"],[lt.Msg.MIXLY_TURNRIGHT,"175"],[lt.Msg.MIXLY_STOP,"176"],[lt.Msg.MIXLY_Accelerate,"177"],[lt.Msg.MIXLY_retard,"178"],[lt.Msg.ROTATION_FORWARD,"179"],[lt.Msg.ROTATION_BACKWARD,"180"],[lt.Msg.TUPLE_JOIN,"181"],[lt.Msg.MIXLY_SHOW,"182"],[lt.Msg.MIXLY_LAMPLIGHT,"183"],[lt.Msg.MIXLY_ACCELERATION,"184"]]),"star"),this.appendValueInput("NUM").appendField(lt.Msg.MIXLY_NUMBER),this.appendDummyInput("").appendField(lt.Msg.MIXLY_UNIT).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"],[lt.Msg.MIXLY_YEAR,"117"],[lt.Msg.MIXLY_MONTH,"118"],[lt.Msg.MIXLY_DAY,"119"],[lt.Msg.MIXLY_HOUR,"120"],[lt.Msg.MIXLY_MINUTE,"121"],[lt.Msg.MIXLY_SECOND,"122"],[lt.Msg.MIXLY_WEEK2,"123"],[lt.Msg.MIXLY_RMB_UNIT,"124"],[lt.Msg.blockpy_setheading_degree,"125"],[lt.Msg.MIXLY_GEAR,"126"],[lt.Msg.MIXLY_LAYER,"127"],[lt.Msg.MIXLY_GRAM,"128"],[lt.Msg.MIXLY_METER,"129"],[lt.Msg.MIXLY_CENTIMETER,"130"],[lt.Msg.MIXLY_MILLIMETER,"131"],[lt.Msg.MIXLY_LUMEN,"132"],[lt.Msg.MIXLY_DECIBEL,"133"],[lt.Msg.MIXLY_hectopascal,"134"],[lt.Msg.MIXLY_PERCENT,"135"],[lt.Msg.MIXLY_CELSIUS,"136"],[lt.Msg.MIXLY_METER_PER_SEC,"137"],[lt.Msg.MIXLY_MICROBIT_Turn_on_display,"138"],[lt.Msg.MIXLY_MICROBIT_Turn_off_display,"139"],[lt.Msg.MIXLY_SUCCESS,"140"],[lt.Msg.MIXLY_FAILED,"141"],[lt.Msg.MIXLY_WRONG,"142"],[lt.Msg.MIXLY_GOOD,"143"],[lt.Msg.MIXLY_blockpy_set_add,"144"],[lt.Msg.MIXLY_DECREASE,"145"],[lt.Msg.COLOUR_RGB_RED,"146"],[lt.Msg.COLOUR_RGB_ORANGE,"147"],[lt.Msg.COLOUR_YELLOW,"148"],[lt.Msg.COLOUR_RGB_GREEN,"149"],[lt.Msg.COLOUR_CYAN,"150"],[lt.Msg.COLOUR_RGB_BLUE,"151"],[lt.Msg.COLOUR_RGB_PURPLE,"152"],[lt.Msg.COLOUR_RGB_WHITE,"153"]]),"end"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},UR={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.LISTS_SET_INDEX_SET+lt.Msg.MIXLY_SYSTEM+lt.Msg.MIXLY_CMD).appendField(new lt.FieldDropdown([[lt.Msg.MILXY_ENTER_WAKE_UP,"1"],[lt.Msg.MIXLY_INCREASE_VOLUME,"202"],[lt.Msg.MIXLY_REDUCE_VOLUME,"203"],[lt.Msg.MIXLY_MAX_VOLUME,"204"],[lt.Msg.MIXLY_MINIMUM,"205"],[lt.Msg.MIXLY_OPEN_RESPONSE,"206"],[lt.Msg.MIXLY_CLOSE_RESPONSE,"207"],[lt.Msg.MIXLY_QUIT_WAKE_UP,"208"]]),"cmd"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},wR={init:function(){this.setColour(hR),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_MAX30102+" MAX30102"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_GET).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_ESP32_MAX30102_IR,"[0]"],[lt.Msg.MIXLY_ESP32_MAX30102_RED,"[1]"],[lt.Msg.MIXLY_ESP32_MAX30102_IR+","+lt.Msg.MIXLY_ESP32_MAX30102_RED,""]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},HR={init:function(){this.setColour(hR),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_APDS9960+" APDS9960"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_GET).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_ESP32_APDS9960_COLOR,"color"],[lt.Msg.MIXLY_ESP32_APDS9960_GESTURE,"gesture"],[lt.Msg.MIXLY_ESP32_APDS9960_APPROACH,"proximity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},kR={init:function(){this.setColour(hR),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_EXTERN_LIGHT+" LTR308ALS"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_GET_LIGHT_INTENSITY),this.setOutput(!0,Number),this.setInputsInline(!0)}},WR={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.HTML_COLOUR+lt.Msg.MSG.catSensor+" LTR381RGB").setCheck("var"),this.appendDummyInput("").appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_GET+lt.Msg.HTML_COLOUR,"[2]"],[lt.Msg.MIXLY_GET+lt.Msg.MIXLY_IR_STRENGTH,"[1]"],[lt.Msg.MIXLY_GET+lt.Msg.MIXLY_LIGHT_STRENGTH,"[0]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},KR={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.HTML_COLOUR+lt.Msg.MSG.catSensor+" UCS12071").setCheck("var"),this.appendDummyInput("").appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_GET+"RGB"+lt.Msg.HTML_COLOUR,"0"],[lt.Msg.MIXLY_GET+lt.Msg.MIXLY_RGB_RAW,"1"],[lt.Msg.MIXLY_GET_ENV_LIGHT+lt.Msg.MIXLY_BRIGHTNESS,"2"],[lt.Msg.GET_IR_STRENGTH+lt.Msg.MIXLY_BRIGHTNESS,"3"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},JR={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_EXTERN_LIGHTUV+" LTR390UV").setCheck("var"),this.appendDummyInput().appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_GET_ENV_LIGHT,"E"],[lt.Msg.MIXLY_GET_ULTRAVIOLET,"U"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},QR={init:function(){this.setColour(hR),this.appendDummyInput().appendField(lt.Msg.MIXLY_LASER_RANGE+" VL53L0X"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_GET_DISTANCE+"(mm)"),this.setOutput(!0,Number),this.setInputsInline(!0)}},qR={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_TEM_HUM+" SHTC3").setCheck("var"),this.appendDummyInput("").appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[lt.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{temperature:lt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,humidity:lt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},zR={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_TEM_HUM+" AHT21").setCheck("var"),this.appendDummyInput("").appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[lt.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{temperature:lt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,relative_humidity:lt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},jR={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_Altitude+lt.Msg.MSG.catSensor+" HP203X").setCheck("var"),this.appendDummyInput("").appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_GETPRESSURE,"pressure()"],[lt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[lt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},$R={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_Altitude+lt.Msg.MSG.catSensor+" SPL06_001").setCheck("var"),this.appendDummyInput("").appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_GETPRESSURE,"pressure()"],[lt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[lt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},ZR={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_Altitude+lt.Msg.MSG.catSensor+" MS5611").setCheck("var"),this.appendDummyInput("").appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_GETPRESSURE,"pressure()"],[lt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[lt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},tc={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_Altitude+lt.Msg.MSG.catSensor+" MS5611").setCheck("var"),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_REF_TO_PRESSURE),this.appendDummyInput().appendField(lt.Msg.MIXLY_CAL_TO_ALTITUDE),this.setOutput(!0,Number),this.setInputsInline(!0)}},ec={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_MIXGOPE_FIELD+lt.Msg.MSG.catSensor+" QMC5883L").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"get_bearing()"],[lt.Msg.MIXLY_TEMPERATURE,"get_temp()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},ic={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_shake,"shake"],[lt.Msg.MIXLY_UP,"up"],[lt.Msg.MIXLY_DOWN,"down"],[lt.Msg.MIXLY_LEFT,"left"],[lt.Msg.MIXLY_RIGHT,"right"],[lt.Msg.MIXLY_MICROBIT_face_up,"face up"],[lt.Msg.MIXLY_MICROBIT_face_down,"face down"]]),"gesture"),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("gesture"),i=lt.Msg.MIXLY_MICROBIT_JS_CURRENT,n=lt.Msg.MSG.catSensor,s=lt.Msg.MIXLY_MICROBIT_JS_STATE,o=lt.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:lt.Msg.MIXLY_MICROBIT_shake,up:lt.Msg.MIXLY_UP,down:lt.Msg.MIXLY_DOWN,left:lt.Msg.MIXLY_LEFT,right:lt.Msg.MIXLY_RIGHT,"face up":lt.Msg.MIXLY_MICROBIT_face_up,"face down":lt.Msg.MIXLY_MICROBIT_face_down}[e]+o}))}},nc={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new lt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=lt.Msg.MIXLY_MICROBIT_Direction,s=lt.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":lt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},sc={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_JS_GET+lt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH).appendField(new lt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=lt.Msg.MIXLY_MICROBIT_Direction,s=lt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH;return i+{x:"x",y:"y",z:"z","(x,y,z)":lt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},oc={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+lt.Msg.MIXLY_ESP32_SENOR_GYRO).appendField(new lt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=lt.Msg.MIXLY_MICROBIT_Direction,s=lt.Msg.MIXLY_ESP32_SENOR_GYRO;return i+{x:"x",y:"y",z:"z","(x,y,z)":lt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},_c={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS)}},pc={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_GETTEMPERATUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_GETTEMPERATUE)}},ac={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_JS_GET_COMPASS).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,"strength"],[lt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"heading"]]),"compass"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("compass");return lt.Msg.MIXLY_MICROBIT_JS_GET_COMPASS+{strength:lt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,heading:lt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE}[e]}))}},uc={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_Reset_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_MICROBIT_Reset_COMPASS)}},rc={init:function(){this.setColour(hR),this.appendValueInput("SPISUB").appendField(lt.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_SETUP+lt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new lt.FieldDropdown([["RFID","RFID"],["WS-LoRa","Weather"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setFieldValue("RFID","key")}},dc={init:function(){this.setColour(hR),this.appendDummyInput().appendField("RFID"+lt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(lt.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_RFID_READ_CARD_UID,"id"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"content"],[lt.Msg.MIXLY_ALL,"ALL"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},lc={init:function(){this.setColour(hR),this.appendDummyInput().appendField("RFID"+lt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RFID_READ_CARD_UID),this.setOutput(!0,Number),this.setInputsInline(!0)}},Ic={init:function(){this.setColour(hR),this.appendDummyInput().appendField("RFID"+lt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(lt.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},Tc={init:function(){this.setColour(hR),this.appendDummyInput().appendField(lt.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(lt.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(lt.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Mc={init:function(){this.setColour(hR),this.appendDummyInput().appendField(lt.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(lt.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(lt.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(lt.Msg.RETURN_SUCCESS_OR_NOT),this.setInputsInline(!0),this.setOutput(!0,Boolean)}},hc={init:function(){this.setColour(hR),this.appendDummyInput().appendField("RFID"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_RFID_SCAN_OK,"0"],[lt.Msg.MIXLY_RFID_SCAN_NOTAGERR,"1"],[lt.Msg.MIXLY_RFID_SCAN_ERROR,"2"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},mc={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new lt.FieldDropdown([["全部(元组)","data()[0]"],["全部(json)","data()[1]"],["全部(json,附带位置信息)","data()[2]"],["编号","data()[0][0]"],["电量","data()[0][1]"],["风速","data()[0][2]"],["阵风","data()[0][3]"],["风向","data()[0][4]"],["雨量","data()[0][5]"],["温度","data()[0][6]"],["湿度","data()[0][7]"],["光照","data()[0][8]"],["紫外线","data()[0][9]"],["大气压","data()[0][10]"],["信号强度","data()[0][11]"],["信噪比","data()[0][12]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip("返回气象数据元组 data= (设备id,电池状态,风速m/s,阵风m/s,风向°,雨量mm,温度℃,湿度%,光照Lux,UVI,大气压Pa,信号强度dB,信噪比dB)")}},Ec={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_SERIAL_AVAILABLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},Oc={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendValueInput("BASE").appendField("以主题"),this.appendDummyInput("").appendField("串口发送至MixIO"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Rc={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.itemCount_=2,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new lt.icons.MutatorIcon(["weather_set_label_item"],this)),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip()},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("weather_set_label_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n>6),i.push(128|63&o)):(2048<=o&&o<=55295||57344<=o&&o<=65535)&&(n+=3,i.push(224|15&o>>12),i.push(128|63&o>>6),i.push(128|63&o))}for(s=0;s>8,255&n].concat(i)}(t,!0),i="",n=0;n=0?"0x700000":["mixgo_sant"].indexOf(n)>=0?"0xE00000":"0x3A0000","32x12 Matrix"==_?(e.definitions_.import_matrix32x12="import matrix32x12",i=s+" = matrix32x12.Matrix("+o+", font_address="+p+")\n"):"16x8 Matrix"==_&&(e.definitions_.import_matrix16x8="import matrix16x8",i=s+" = matrix16x8.Matrix("+o+")\n"),i},YF=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},XF=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+", center="+this.getFieldValue("center")+")\n"},bF=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},yF=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", delay="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},xF=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},VF=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", speed="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+")\n"},BF=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},GF=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("OP")+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")\n"},UF=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},wF=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".pixel(int("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+"), int("+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+"), "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"+i+".show()\n"},HF=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".get_brightness()",e.ORDER_ATOMIC]},kF=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".set_brightness("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+")\n"},WF=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("image"),e.ORDER_ATOMIC]},KF=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".map_"+t.getFieldValue("OP")+"("+e.valueToCode(t,"A",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"B",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},JF=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".map_invert("+e.valueToCode(t,"A",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},QF=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC);return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = ssd1306.SSD1306_I2C("+e.valueToCode(this,"row",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"column",e.ORDER_ATOMIC)+", "+i+")\n"},qF=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_str("+(e.valueToCode(this,"Text_line1",e.ORDER_ASSIGNMENT)||"''")+", "+(e.valueToCode(this,"Text_line2",e.ORDER_ASSIGNMENT)||"''")+", "+(e.valueToCode(this,"Text_line3",e.ORDER_ASSIGNMENT)||"''")+", "+(e.valueToCode(this,"Text_line4",e.ORDER_ASSIGNMENT)||"''")+")\n"},zF=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_line("+e.valueToCode(this,"x1",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"y1",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"x2",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"y2",e.ORDER_ATOMIC)+", 1)\n"},jF=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),o=e.valueToCode(this,"width",e.ORDER_ATOMIC),_=e.valueToCode(this,"height",e.ORDER_ATOMIC),p="TRUE"==this.getFieldValue("fill")?"True":"False",a=this.getFieldValue("OP");switch(p){case"True":return i+".show_fill_rect("+n+", "+s+", "+o+", "+_+", "+a+")\n";case"False":return i+".show_rect("+n+", "+s+", "+o+", "+_+", "+a+")\n"}},$F=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),o=e.valueToCode(this,"length",e.ORDER_ATOMIC);return i+".show_"+this.getFieldValue("direction")+"("+n+", "+s+", "+o+", 1)\n"},ZF=function(t,e){return["ON"==this.getFieldValue("ONOFF")?"1":"0",e.ORDER_ATOMIC]},tP=function(t,e){e.definitions_.import_matrix="import matrix";var i=t.getFieldValue("OP");return[e.valueToCode(t,"img",e.ORDER_ATOMIC)+".shift_"+i+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},eP=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return e.definitions_.import_ssd1306="import ssd1306",e.definitions_.import_machine="import machine",i+".show_fill("+this.getFieldValue("key")+")\n"},iP=function(t,e){return["matrix.Image."+this.getFieldValue("ANIMATION"),e.ORDER_ATOMIC]},nP=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),o=e.valueToCode(this,"r",e.ORDER_ATOMIC),_="TRUE"==this.getFieldValue("fill")?"True":"False",p=this.getFieldValue("OP");switch(_){case"True":return i+".show_fill_circle("+n+", "+s+", "+o+", "+p+")\n";case"False":return i+".show_circle("+n+", "+s+", "+o+", "+p+")\n"}},sP=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var n=e.valueToCode(this,"x0",e.ORDER_ATOMIC),s=e.valueToCode(this,"y0",e.ORDER_ATOMIC),o=e.valueToCode(this,"x1",e.ORDER_ATOMIC),_=e.valueToCode(this,"y1",e.ORDER_ATOMIC),p=e.valueToCode(this,"x2",e.ORDER_ATOMIC),a=e.valueToCode(this,"y2",e.ORDER_ATOMIC),u="TRUE"==this.getFieldValue("fill")?"True":"False",r=this.getFieldValue("OP");switch(u){case"True":return i+".show_fill_triangle("+n+", "+s+", "+o+", "+_+", "+p+", "+a+", "+r+")\n";case"False":return i+".show_triangle("+n+", "+s+", "+o+", "+_+", "+p+", "+a+", "+r+")\n"}},oP=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_bitmap("+e.valueToCode(this,"START_X",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"START_Y",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"bitmap_name",e.ORDER_ATOMIC)+","+e.valueToCode(this,"WIDTH",e.ORDER_ATOMIC)+","+e.valueToCode(this,"HEIGHT",e.ORDER_ATOMIC)+")\n"},_P=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_pixel("+e.valueToCode(this,"POS_X",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"POS_Y",e.ORDER_ATOMIC)+")\n"},pP=function(t,e){var i,n=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),s=e.valueToCode(this,"CLK",e.ORDER_ATOMIC),o=e.valueToCode(this,"DIO",e.ORDER_ATOMIC),_=this.getFieldValue("key");return"TM1650"==_?(e.definitions_.import_tm1650="import tm1650",i=n+" = tm1650."+_+"(clk="+s+",dio="+o+")\n"):"TM1637"==_&&(e.definitions_.import_tm1637="import tm1637",i=n+" = tm1637."+_+"(clk="+s+",dio="+o+")\n"),i},aP=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+"."+this.getFieldValue("STAT")+"()\n"},uP=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".shownum("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},rP=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".showDP("+e.valueToCode(this,"NO",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"},dP=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".intensity("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},lP=function(t,e){e.definitions_.import_st7789="import st7789";var i=It.Boards.getSelectedBoardKey().split(":")[2],n="";n=["mpython","mixgo_pe","mixgo_nova"].indexOf(i)>=0?"0x700000":["mixgo_sant"].indexOf(i)>=0?"0xE00000":"0x3A0000";var s=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),o=e.valueToCode(this,"SPISUB",e.ORDER_ATOMIC),_=e.valueToCode(this,"PINCS",e.ORDER_ATOMIC),p=e.valueToCode(this,"PINDC",e.ORDER_ATOMIC);return s+" = st7789.ST7789("+o+", "+e.valueToCode(this,"WIDTH",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"HEIGHT",e.ORDER_ATOMIC)+", dc_pin="+p+", cs_pin="+_+", rotation="+this.getFieldValue("rotate")+", font_address="+n+")\n"},IP=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".image("+n+", x="+s+", y="+o+", size="+_+", color="+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=i+".image("+n+", x= "+s+",y="+o+", size="+_+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},TP=function(t,e){var i="0x"+this.getFieldValue("COLOR").slice(1);return["0x"+((16252928&i)>>8|(64512&i)>>5|(255&i)>>3).toString(16),e.ORDER_ATOMIC]},MP=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),u=this.getFieldValue("center");if("0x"==a.slice(0,2))var r=i+".shows("+n+", x="+s+", y="+o+", size="+_+", space="+p+", center="+u+", color="+a+")\n";else{const t=a.match(/\d+/g);var d="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r=i+".shows("+n+", x="+s+", y="+o+", size="+_+", space="+p+", center="+u+", color=0x"+((16252928&d)>>8|(64512&d)>>5|(255&d)>>3).toString(16)+")\n"}return r},hP=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==_.slice(0,2))var p=i+".frame("+n+", size="+s+", delay="+o+", color="+_+")\n";else{const t=_.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p=i+".frame("+n+", size="+s+", delay="+o+", color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},mP=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u=i+".scroll("+n+", y="+s+", size="+o+", speed="+_+", space="+p+", color="+a+")\n";else{const t=a.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u=i+".scroll("+n+", y="+s+", size="+o+", speed="+_+", space="+p+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},EP=function(t,e){return e.definitions_.import_st7789="import st7789",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".fill(st7789."+this.getFieldValue("key")+")\n"},OP=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"x1",e.ORDER_ATOMIC),s=e.valueToCode(this,"y1",e.ORDER_ATOMIC),o=e.valueToCode(this,"x2",e.ORDER_ATOMIC),_=e.valueToCode(this,"y2",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".line("+n+", "+s+", "+o+", "+_+", color="+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=i+".line("+n+", "+s+", "+o+", "+_+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},RP=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC),s=this.getFieldValue("key"),o=e.valueToCode(this,"ADDR",e.ORDER_ATOMIC);return e.definitions_.import_i2clcd="import i2clcd",i+" = i2clcd.LCD("+n+", lcd_width="+s+", i2c_addr="+o+")\n"},cP=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", column="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", line="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+",center = "+this.getFieldValue("center")+")\n"},gP=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".print("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", column="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", line="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", delay="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},CP=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".backlight("+this.getFieldValue("key")+")\n"},SP=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".clear()\n"},AP=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC),s=e.valueToCode(this,"ADDR",e.ORDER_ATOMIC),o=this.getFieldValue("driver"),_=It.Boards.getSelectedBoardKey().split(":")[2],p="";return p=["mpython","mixgo_pe","mixgo_nova"].indexOf(_)>=0?"0x700000":["mixgo_sant"].indexOf(_)>=0?"0xE00000":"0x3A0000",e.definitions_.import_oled128x64="import oled128x64",i+" = oled128x64.OLED("+n+", address="+s+", font_address="+p+", types="+o+")\n"},LP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".image("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},NP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".image("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", x="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", y="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+")\n"},DP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},fP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", x="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", y="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+", center="+this.getFieldValue("center")+")\n"},FP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},PP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+", delay="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},vP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},YP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", y="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+", speed="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+")\n"},XP=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},bP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("OP")+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")\n"},yP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},xP=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".pixel(int("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+"), int("+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+"), "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"+i+".show()\n"},VP=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"w",e.ORDER_ATOMIC),_=e.valueToCode(t,"h",e.ORDER_ATOMIC),p=t.getFieldValue("state");return i+"."+t.getFieldValue("shape")+"("+n+", "+s+", "+o+", "+_+", "+p+")\n"+i+".show()\n"},BP=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"length",e.ORDER_ATOMIC),_=t.getFieldValue("state");return i+"."+("0"==t.getFieldValue("dir_h_v")?"v":"h")+"line("+n+", "+s+", "+o+", "+_+")\n"+i+".show()\n"},GP=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".line("+e.valueToCode(t,"x1",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"y1",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"x2",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"y2",e.ORDER_ATOMIC)+", "+t.getFieldValue("state")+")\n"+i+".show()\n"},UP=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT);if("Python ESP32-S3"===It.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var s="onboard_tft.image("+(n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT))+", color=0xffff,sync="+(e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True")+")\n"}else if("educore"==i){e.definitions_["import_"+i+"_oled"]="from "+i+" import oled";s="oled.print("+n+")\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";s="onboard_matrix.shows("+n+")\n"}return s},wP=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),o=this.getFieldValue("center");if("mixgo_sant"==i||"mixgo_nova"==i||"mixgo_soar"==i)return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.shows("+n+", space="+s+", center="+o+",sync="+(e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True")+")\n";if("educore"==i){e.definitions_["import_"+i+"_oled"]="from "+i+" import oled"}return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.shows("+n+", space="+s+", center="+o+")\n"},HP=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var s="onboard_oled.frame("+n+")\n"}else if("Python ESP32-S3"===It.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";s="onboard_tft.frame("+(n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT))+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";s="onboard_matrix.frame("+n+")\n"}return s},kP=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var o="onboard_oled.frame("+(n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT))+", delay="+s+")\n"}else if("Python ESP32-S3"===It.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";o="onboard_tft.frame("+n+", size=5 , delay="+s+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";o="onboard_matrix.frame("+n+", delay="+s+")\n"}return o},WP=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var n="onboard_oled.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"}else if("Python ESP32-S3"===It.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";n="onboard_tft.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"}return n},KP=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var _="onboard_oled.scroll("+n+", speed="+s+", space="+o+")\n"}else if("Python ESP32-S3"===It.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";_="onboard_tft.scroll("+n+", y=0, size=5, speed="+s+", space="+o+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";_="onboard_matrix.scroll("+n+", speed="+s+", space="+o+")\n"}return _},JP=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.scroll_way("+this.getFieldValue("way")+")\n"},QP=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u="onboard_tft.scroll("+n+", y="+s+", size="+o+", speed="+_+", space="+p+", color="+a+")\n";else{const t=a.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.scroll("+n+", y="+s+", size="+o+", speed="+_+", space="+p+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},qP=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix",["onboard_matrix."+t.getFieldValue("image"),e.ORDER_ATOMIC]},zP=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];if("Python ESP32-S3"===It.JSFuncs.getPlatform()){const i=t.getFieldValue("image").split(".");if(2!==i.length)throw Error("pin value error");e.definitions_[`import_${i[0]}_${i[1]}`]=`from ${i[0]} import ${i[1]}`;var n=i[1]}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix."+t.getFieldValue("image")}return[n,e.ORDER_ATOMIC]},jP=function(t,e){var i={"#000000":"0","#ff0000":"1"};function n(t){let e="";if(t.length%2==1&&(t="0"+t),t.length<8){let e=8-t.length;for(let i=1;i<=e;i++)t="0"+t}for(let i=1;i<=t.length;i++)i%2==0&&i!==t.length?e=e+t[i-1]+",0x":e+=t[i-1];return"0x"+e}let s=[];for(let e=0;e<12;e++){let o="",_=0,p=0;for(let n=0;n<32;n++)n<8?p=7-n:n<16?p=23-n:n<24?p=39-n:n<32&&(p=55-n),_+=Number(i[t.getFieldValue(e+"-"+n)])*Math.pow(2,31-p);o+=n(_.toString(16)),s.unshift(o)}let o=[];for(let t=0;t>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},bv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.picture("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+","+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+","+e.valueToCode(this,"direct",e.ORDER_ASSIGNMENT)+")\n"},yv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=this.getFieldValue("center"),u=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True",r=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==r.slice(0,2))var d="onboard_tft.shows("+n+", x="+s+", y="+o+", size="+_+", space="+p+", center="+a+", color="+r+",sync="+u+")\n";else{const t=r.match(/\d+/g);var l="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");d="onboard_tft.shows("+n+", x="+s+", y="+o+", size="+_+", space="+p+", center="+a+", color=0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+",sync="+u+")\n"}return d},xv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==_.slice(0,2))var p="onboard_tft.frame("+n+", size="+s+", delay="+o+", color="+_+")\n";else{const t=_.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p="onboard_tft.frame("+n+", size="+s+", delay="+o+", color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},Vv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"w",e.ORDER_ATOMIC),_=e.valueToCode(t,"h",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=t.getFieldValue("shape"),u=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var r="onboard_tft."+a+"("+n+", "+s+", "+o+", "+_+", "+p+",sync="+u+")\n";else{const t=p.match(/\d+/g);var d="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r="onboard_tft."+a+"("+n+", "+s+", "+o+", "+_+", 0x"+((16252928&d)>>8|(64512&d)>>5|(255&d)>>3).toString(16)+",sync="+u+")\n"}return r},Bv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"length",e.ORDER_ATOMIC),_=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),p=t.getFieldValue("dir_h_v"),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==_.slice(0,2))var u="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+o+", "+_+",sync="+a+")\n";else{const t=_.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+o+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},Gv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x1",e.ORDER_ATOMIC),s=e.valueToCode(t,"y1",e.ORDER_ATOMIC),o=e.valueToCode(t,"x2",e.ORDER_ATOMIC),_=e.valueToCode(t,"y2",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var u="onboard_tft.line("+n+", "+s+", "+o+", "+_+", "+p+",sync="+a+")\n";else{const t=p.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.line("+n+", "+s+", "+o+", "+_+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},Uv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft",["onboard_tft.pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},wv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),_=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==o.slice(0,2))var p="onboard_tft.pixel(int("+n+"), int("+s+"), "+o+",sync="+_+")\n";else{const t=o.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p="onboard_tft.pixel(int("+n+"), int("+s+"), 0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+",sync="+_+")\n"}return p},Hv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"VAR",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==n.slice(0,2))var o="onboard_tft.fill("+n+",sync="+s+")\n";else{const t=n.match(/\d+/g);var _="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");o="onboard_tft.fill(0x"+((16252928&_)>>8|(64512&_)>>5|(255&_)>>3).toString(16)+",sync="+s+")\n"}return o},kv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=_+"=Clock("+n+", "+s+", "+o+", "+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=_+"=Clock("+n+", "+s+", "+o+", 0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},Wv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".set_rtctime()\n"},Kv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".set_time("+e.valueToCode(this,"h",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"m",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"s",e.ORDER_ASSIGNMENT)+")\n"},Jv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".draw_clock()\n"},Qv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==s.slice(0,2))var o=n+".clear("+s+")\n";else{const t=s.match(/\d+/g);var _="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");o=n+".clear(0x"+((16252928&_)>>8|(64512&_)>>5|(255&_)>>3).toString(16)+")\n"}return o},qv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"r",e.ORDER_ATOMIC),_=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),p=t.getFieldValue("shape"),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==_.slice(0,2))var u="onboard_tft.ellipse("+n+", "+s+", "+o+", "+o+", "+_+", "+p+",sync="+a+")\n";else{const t=_.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.ellipse("+n+", "+s+", "+o+", "+o+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+", "+p+",sync="+a+")\n"}return u},zv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];if("Python ESP32-S3"===It.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n="onboard_tft.pointern(angle="+e.valueToCode(this,"angle",e.ORDER_ASSIGNMENT)+")\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.pointern(angle="+e.valueToCode(this,"angle",e.ORDER_ASSIGNMENT)+")\n"}return n},jv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"angle",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==s.slice(0,2));else{const t=s.match(/\d+/g);var o="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");((16252928&o)>>8|(64512&o)>>5|(255&o)>>3).toString(16)}return"onboard_tft.pointern(angle="+n+")\n"},$v=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var u="onboard_tft.texts("+n+", x="+s+", y="+o+", size="+_+", color="+p+",sync="+a+")\n";else{const t=p.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.texts("+n+", x="+s+", y="+o+", size="+_+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},Zv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.qrcode("+e.valueToCode(this,"direct",e.ORDER_ATOMIC)+")\n"},tY=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True",u=this.getFieldValue("correct");if("0x"==p.slice(0,2))var r="onboard_tft.qrcode("+n+",x="+s+",y="+o+",size="+_+",correct="+u+",color="+p+",sync="+a+")\n";else{const t=p.match(/\d+/g);var d="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r="onboard_tft.qrcode("+n+",x="+s+",y="+o+",size="+_+",correct="+u+",color=0x"+((16252928&d)>>8|(64512&d)>>5|(255&d)>>3).toString(16)+",sync="+a+")\n"}return r},eY=UP,iY=_v,nY=nv,sY=_v,oY=pv,_Y=ZP,pY=function(t,e){var i=this.getFieldValue("path"),n=this.getFieldValue("module");return e.definitions_["import_"+i+"_"+n]="from "+i+" import "+n,""},aY=function(t,e){var i=this.getFieldValue("module");return e.definitions_["import_"+i]="import "+i,""},uY=function(t,e){for(var i=this.getFieldValue("NAME"),n=new Array(this.itemCount_),s=0;s {\n"+e.statementToCode(this,"do")+"})\n"},RB=function(){return"control.reset()\n"},cB=function(t,e){return"control.waitMicros("+(e.valueToCode(this,"data",e.ORDER_ATOMIC)||It.Profile.default.serial)+")\n"},gB=function(t,e){return"control.raiseEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||It.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||It.Profile.default.serial)+")\n"},CB=function(t,e){return"control.onEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||It.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||It.Profile.default.serial)+", () => {\n"+e.statementToCode(this,"do")+")\n"},SB=function(t,e){return["control.eventTimestamp()",e.ORDER_ATOMIC]},AB=function(t,e){return["control.eventValue()",e.ORDER_ATOMIC]},LB=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},NB=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},DB=function(t,e){return["control.deviceName()",e.ORDER_ATOMIC]},fB=function(t,e){return["control.deviceSerialNumber()",e.ORDER_ATOMIC]},FB=function(t,e){return"panic("+(e.valueToCode(this,"STATUS_CODE",e.ORDER_ATOMIC)||"1000")+")\n"},PB=function(t,e){switch(e.definitions_.import_time="import time",this.getFieldValue("Time")){case"ms":return["time.ticks_ms()",e.ORDER_ATOMIC];case"us":return["time.ticks_us()",e.ORDER_ATOMIC]}},vB=function(){return"while True:\n pass\n"},YB=function(t,e){return e.definitions_.import_mixgo="import mixgo","reset()\n"},XB=function(t,e){return e.definitions_.import_os="import os","os.uname()"},bB=function(t,e){e.definitions_.import_time="import time";var i=e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},yB=function(t,e){e.definitions_.import_time="import time";var i=e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},xB=function(t,e){return e.definitions_.import_mixgo="import mixgo",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+".init(period="+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode=Timer."+(e.valueToCode(this,"mode",e.ORDER_NONE)||"None")+", callback="+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},VB=function(t,e){return e.definitions_.import_machine="import machine",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+" = machine.Timer("+(e.valueToCode(this,"PIN",e.ORDER_NONE)||"None")+",period = "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode=machine.Timer."+this.getFieldValue("mode")+", callback="+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},BB=function(t,e){return e.definitions_.import_time="import time",["time.ticks_diff("+(e.valueToCode(this,"END",e.ORDER_NONE)||"0")+", "+(e.valueToCode(this,"START",e.ORDER_NONE)||"0")+")",e.ORDER_ATOMIC]},GB=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return e.definitions_.import_machine="import machine",i+" = machine.Timer(0)\n"},UB=function(t,e){return e.definitions_.import_machine="import machine",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+".init(period = "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode=machine.Timer."+this.getFieldValue("mode")+", callback="+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},wB=function(t,e){return e.definitions_.import_machine="import machine","wdt = machine.WDT(timeout= "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+")\n"},HB=function(t,e){e.definitions_.import_machine="import machine";return"wdt.feed()\n"},kB=function(t,e){e.definitions_.import_machine="import machine";return"machine.reset()\n"},WB=function(t,e){e.definitions_.import_bitbot_onboard_bot51="from bitbot import onboard_bot51";return"onboard_bot51.shutdown()\n"},KB=GB,JB=UB,QB=BB,qB=bB,zB=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},jB=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"day",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},$B=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api.weather_hourly("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"hour",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},ZB=function(t,e){return e.definitions_["import_seniverse_api*"]="from seniverse_api import *",this.getFieldValue("mode")+".request("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+")\n"},tG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Weather_now.analysis()";else n='Weather_now.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},eG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Air_now.analysis()";else n='Air_now.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},iG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Weather_alarm.analysis()";else n='Weather_alarm.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},nG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Life_suggestion.analysis()";else n='Life_suggestion.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},sG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Tide_daily.analysis()";else n='Tide_daily.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},oG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Location_search.analysis()";else n='Location_search.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},_G=function(t,e){return e.definitions_["import_seniverse_api*"]="from seniverse_api import *",this.getFieldValue("mode")+".request("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"day",e.ORDER_ATOMIC)+")\n"},pG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Weather_daily.analysis("+n+")";else s="Weather_daily.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},aG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Air_daily.analysis("+n+")";else s="Air_daily.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},uG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Geo_sun.analysis("+n+")";else s="Geo_sun.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},rG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Geo_moon.analysis("+n+")";else s="Geo_moon.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},dG='
\r\n
{{-d.title}}
\r\n
\r\n {{# if (d.message) { }}\r\n

\r\n {{-d.message}}\r\n

\r\n {{# } }}\r\n
\r\n
',{XML:lG}=It,IG=lG.render(dG,{title:"烧录速度",message:"要选择烧录速度,请更改“Burn Speed”,此值将用于向设备烧录代码。如果在用较高的烧录速度时出现问题,请尝试减小此值,这可能是由于外部串行到USB芯片的限制。"}),{XML:TG}=It,MG=TG.render(dG,{title:"燒錄速度",message:"要選擇燒錄速度,請更改“Burn Speed”,此值將用於向設備燒錄程式碼。如果在用較高的燒錄速度時出現問題,請嘗試减小此值,這可能是由於外部串列到USB晶片的限制。"}),{XML:hG}=It,mG=hG.render(dG,{title:"Burn Speed",message:"To select the flashing speed, change the Burn Speed. This value will be used for flashing the code to the device. If you have issues while flashing the device at high speed, try to decrease this value. This could be due to the external serial-to-USB chip limitations."}),EG=new lt.Generator("Python");EG.INDENT=" ",EG.addReservedWords("False,None,True,and,as,assert,break,class,continue,def,del,elif,else,except,exec,finally,for,from,global,if,import,in,is,lambda,nonlocal,not,or,pass,print,raise,return,try,while,with,yield,NotImplemented,Ellipsis,__debug__,quit,exit,copyright,license,credits,ArithmeticError,AssertionError,AttributeError,BaseException,BlockingIOError,BrokenPipeError,BufferError,BytesWarning,ChildProcessError,ConnectionAbortedError,ConnectionError,ConnectionRefusedError,ConnectionResetError,DeprecationWarning,EOFError,Ellipsis,EnvironmentError,Exception,FileExistsError,FileNotFoundError,FloatingPointError,FutureWarning,GeneratorExit,IOError,ImportError,ImportWarning,IndentationError,IndexError,InterruptedError,IsADirectoryError,KeyError,KeyboardInterrupt,LookupError,MemoryError,ModuleNotFoundError,NameError,NotADirectoryError,NotImplemented,NotImplementedError,OSError,OverflowError,PendingDeprecationWarning,PermissionError,ProcessLookupError,RecursionError,ReferenceError,ResourceWarning,RuntimeError,RuntimeWarning,StandardError,StopAsyncIteration,StopIteration,SyntaxError,SyntaxWarning,SystemError,SystemExit,TabError,TimeoutError,TypeError,UnboundLocalError,UnicodeDecodeError,UnicodeEncodeError,UnicodeError,UnicodeTranslateError,UnicodeWarning,UserWarning,ValueError,Warning,ZeroDivisionError,_,__build_class__,__debug__,__doc__,__import__,__loader__,__name__,__package__,__spec__,abs,all,any,apply,ascii,basestring,bin,bool,buffer,bytearray,bytes,callable,chr,classmethod,cmp,coerce,compile,complex,copyright,credits,delattr,dict,dir,divmod,enumerate,eval,exec,execfile,exit,file,filter,float,format,frozenset,getattr,globals,hasattr,hash,help,hex,id,input,int,intern,isinstance,issubclass,iter,len,license,list,locals,long,map,max,memoryview,min,next,object,oct,open,ord,pow,print,property,quit,range,raw_input,reduce,reload,repr,reversed,round,set,setattr,slice,sorted,staticmethod,str,sum,super,tuple,type,unichr,unicode,vars,xrange,zip"),EG.ORDER_ATOMIC=0,EG.ORDER_COLLECTION=1,EG.ORDER_STRING_CONVERSION=1,EG.ORDER_UNARY_POSTFIX=1,EG.ORDER_UNARY_PREFIX=2,EG.ORDER_MEMBER=2.1,EG.ORDER_FUNCTION_CALL=2.2,EG.ORDER_EXPONENTIATION=3,EG.ORDER_UNARY_SIGN=4,EG.ORDER_BITWISE_NOT=4,EG.ORDER_MULTIPLICATIVE=5,EG.ORDER_ADDITIVE=6,EG.ORDER_BITWISE_SHIFT=7,EG.ORDER_BITWISE_AND=8,EG.ORDER_BITWISE_XOR=9,EG.ORDER_BITWISE_OR=10,EG.ORDER_RELATIONAL=11,EG.ORDER_EQUALITY=11,EG.ORDER_LOGICAL_NOT=12,EG.ORDER_LOGICAL_AND=13,EG.ORDER_LOGICAL_OR=14,EG.ORDER_ASSIGNMENT=14,EG.ORDER_CONDITIONAL=15,EG.ORDER_LAMBDA=16,EG.ORDER_NONE=99,EG.ORDER_OVERRIDES=[[EG.ORDER_FUNCTION_CALL,EG.ORDER_MEMBER],[EG.ORDER_FUNCTION_CALL,EG.ORDER_FUNCTION_CALL],[EG.ORDER_MEMBER,EG.ORDER_MEMBER],[EG.ORDER_MEMBER,EG.ORDER_FUNCTION_CALL]],EG.init=function(){EG.PASS=this.INDENT+"pass\n",EG.definitions_=Object.create(null),EG.functionNames_=Object.create(null),EG.setups_=Object.create(null),EG.loops_=Object.create(null),EG.codeEnd_=Object.create(null),EG.variableDB_?EG.variableDB_.reset():EG.variableDB_=new mt(EG.RESERVED_WORDS_)},EG.finish=function(t){""!==t&&(t=(t=t.replace(/\n/g,"\n")).replace(/\n\s+$/,"\n"));var e=[],i=[],n=[];for(var s in this.definitions_){var o=this.definitions_[s];0===s.indexOf("import")?e.push(o):0===s.indexOf("var_declare")?i.push(o):n.push(o)}e.length&&e.push("\n"),i.length&&i.push("\n"),n.length&&n.push("\n");var _=[];for(var s in EG.functions_)_.push(EG.functions_[s]);_.length&&_.push("\n");var p=[];for(var s in EG.setups_)p.push(EG.setups_[s]);p.length&&p.push("\n");var a=[];for(var s in EG.loops_)a.push(EG.loops_[s]);var u=[];for(var s in EG.codeEnd_)u.push(EG.codeEnd_[s]);0!==u.length&&u.push("\n");let r="";return r=a.length>0?e.join("\n")+i.join("\n")+n.join("\n")+_.join("\n")+p.join("")+t+"while True:\n"+a.join("")+u.join("\n"):e.join("\n")+i.join("\n")+n.join("\n")+_.join("\n")+p.join("")+t+u.join("\n"),r},EG.scrubNakedValue=function(t){return t+"\n"},EG.quote_=function(t){var e="'";return-1!==(t=t.replace(/\\/g,"\\\\").replace(/\n/g,"\\\n")).indexOf("'")&&(-1===t.indexOf('"')?e='"':t=t.replace(/'/g,"\\'")),e+t+e},EG.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},EG.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(o=t.getCommentText())&&(o=lt.utils.string.wrap(o,EG.COMMENT_WRAP-3),n+=EG.prefixLines(o+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const OG={};OG["飞乙"]={description:"MicroPython[ESP32C3 Bitbot]",digital_pin:It.Profile.generate(["0-11","18-21"]),input_pin:It.Profile.generate(["0-11","18-21"]),output_pin:It.Profile.generate(["0-11","18-21"]),pwm_input:It.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_input:It.Profile.generate(["0-5"],"adc","adc"),pwm_output:It.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_output:It.Profile.generate(["0-5"],"adc","adc"),espnow_channel:It.Profile.generate(["1-13"]),haskylens_model:It.Profile.generate(["0-4"]),digital:It.Profile.generate(["0-11","18-21"],"pin","pin"),pwm_pin:It.Profile.generate(["0-11","18-21"]),pwm:It.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_pin:It.Profile.generate(["0-5"]),analog:It.Profile.generate(["0-5"],"adc","adc"),button:[["A","button_a"],["B","button_b"]],axis:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],exlcdh:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"]],exlcdv:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"]],brightness:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"]],tts_voice:It.Profile.generate(["0-16"]),tts_builtin_music:It.Profile.generate(["0-47"]),tts_bgmusic:It.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["MUSIC_QUAVERS","onboard_matrix.MUSIC_QUAVERS"],["MUSIC_QUAVER","onboard_matrix.MUSIC_QUAVER"],["MUSIC_CROTCHET","onboard_matrix.MUSIC_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],imglist:[["ALL_CLOCKS","onboard_matrix.ALL_CLOCKS"],["ALL_ARROWS","onboard_matrix.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"],["3","3"]],extern_addr:It.Profile.generate(["0-1"]),als_num:It.Profile.generate(["0-3"])},OG["超霸大师"]={description:"MicroPython[ESP32 Mixbot]",digital_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["39","39"]],digital:[["pin0","pin0"],["pin2","pin2"],["pin4","pin4"],["pin5","pin5"],["pin12","pin12"],["pin13","pin13"],["pin14","pin14"],["pin15","pin15"],["pin16","pin16"],["pin17","pin17"],["pin18","pin18"],["pin19","pin19"],["pin21","pin21"],["pin22","pin22"],["pin23","pin23"],["pin25","pin25"],["pin26","pin26"],["pin27","pin27"],["pin32","pin32"],["pin33","pin33"],["pin34","pin34"],["pin35","pin35"],["pin36","pin36"],["pin39","pin39"]],input_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["39","39"]],output_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"]],pwm_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["20","20"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"]],pwm:[["pwm0","pwm0"],["pwm2","pwm2"],["pwm4","pwm4"],["pwm5","pwm5"],["pwm12","pwm12"],["pwm13","pwm13"],["pwm14","pwm14"],["pwm15","pwm15"],["pwm16","pwm16"],["pwm17","pwm17"],["pwm18","pwm18"],["pwm19","pwm19"],["pwm20","pwm20"],["pwm21","pwm21"],["pwm22","pwm22"],["pwm23","pwm23"],["pwm25","pwm25"],["pwm26","pwm26"],["pwm27","pwm27"],["pwm32","pwm32"]],analog_pin:[["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],analog:[["adc32","adc32"],["adc33","adc33"],["adc34","adc34"],["adc35","adc35"],["adc36","adc36"],["adc37","adc37"],["adc38","adc38"],["adc39","adc39"]],espnow_channel:It.Profile.generate(["1-13"]),haskylens_model:It.Profile.generate(["0-4"]),dac_pin:[["25","25"],["26","26"]],dac:[["dac25","dac25"],["dac26","dac26"]],touch:[["tc0","tc0"],["tc2","tc2"],["tc4","tc4"],["tc12","tc12"],["tc13","tc13"],["tc14","tc14"],["tc15","tc15"],["tc27","tc27"],["tc32","tc32"],["tc33","tc33"]],touch_pin:[["0","0"],["2","2"],["4","4"],["12","12"],["13","13"],["14","14"],["15","15"],["27","27"],["32","32"],["33","33"]],button:[["P","button_p"],["A","button_a"],["B","button_b"]],axis:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],exlcdh:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"],["12","12"],["13","13"],["14","14"],["15","15"]],exlcdv:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],brightness:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"]],tts_voice:It.Profile.generate(["0-16"]),tts_builtin_music:It.Profile.generate(["0-47"]),tts_bgmusic:It.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["MUSIC_QUAVERS","onboard_matrix.MUSIC_QUAVERS"],["MUSIC_QUAVER","onboard_matrix.MUSIC_QUAVER"],["MUSIC_CROTCHET","onboard_matrix.MUSIC_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],imglist:[["ALL_CLOCKS","onboard_matrix.ALL_CLOCKS"],["ALL_ARROWS","onboard_matrix.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"],["3","3"]],extern_addr:It.Profile.generate(["0-3"])},OG["ESP32 Generic"]={description:"MicroPython[ESP32 Generic]",digital_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["20","20"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],digital:[["pin0","pin0"],["pin2","pin2"],["pin4","pin4"],["pin5","pin5"],["pin6","pin6"],["pin7","pin7"],["pin8","pin8"],["pin9","pin9"],["pin10","pin10"],["pin11","pin11"],["pin12","pin12"],["pin13","pin13"],["pin14","pin14"],["pin15","pin15"],["pin16","pin16"],["pin17","pin17"],["pin18","pin18"],["pin19","pin19"],["pin20","pin20"],["pin21","pin21"],["pin22","pin22"],["pin23","pin23"],["pin25","pin25"],["pin26","pin26"],["pin27","pin27"],["pin32","pin32"],["pin33","pin33"],["pin34","pin34"],["pin35","pin35"],["pin36","pin36"],["pin37","pin37"],["pin38","pin38"],["pin39","pin39"]],input_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["7","7"],["8","8"],["12","12"],["13","13"],["14","14"],["15","15"],["19","19"],["20","20"],["21","21"],["22","22"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],output_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["7","7"],["8","8"],["12","12"],["13","13"],["14","14"],["15","15"],["19","19"],["20","20"],["21","21"],["22","22"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"]],pwm_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["20","20"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"]],pwm:[["pwm0","pwm0"],["pwm2","pwm2"],["pwm4","pwm4"],["pwm5","pwm5"],["pwm12","pwm12"],["pwm13","pwm13"],["pwm14","pwm14"],["pwm15","pwm15"],["pwm16","pwm16"],["pwm17","pwm17"],["pwm18","pwm18"],["pwm19","pwm19"],["pwm20","pwm20"],["pwm21","pwm21"],["pwm22","pwm22"],["pwm23","pwm23"],["pwm25","pwm25"],["pwm26","pwm26"],["pwm27","pwm27"],["pwm32","pwm32"]],analog_pin:[["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],analog:[["adc32","adc32"],["adc33","adc33"],["adc34","adc34"],["adc35","adc35"],["adc36","adc36"],["adc37","adc37"],["adc38","adc38"],["adc39","adc39"]],espnow_channel:It.Profile.generate(["1-13"]),haskylens_model:It.Profile.generate(["0-4"]),dac_pin:[["25","25"],["26","26"]],dac:[["dac25","dac25"],["dac26","dac26"]],touch:[["tc0","tc0"],["tc2","tc2"],["tc4","tc4"],["tc12","tc12"],["tc13","tc13"],["tc14","tc14"],["tc15","tc15"],["tc27","tc27"],["tc32","tc32"],["tc33","tc33"]],touch_pin:[["0","0"],["2","2"],["4","4"],["12","12"],["13","13"],["14","14"],["15","15"],["27","27"],["32","32"],["33","33"]],button:[["A","button_a"],["B","button_b"]],axis:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],exlcdh:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"],["12","12"],["13","13"],["14","14"],["15","15"]],exlcdv:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],brightness:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"]],tts_voice:It.Profile.generate(["0-16"]),tts_builtin_music:It.Profile.generate(["0-47"]),tts_bgmusic:It.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["onboard_music_QUAVERS","onboard_matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","onboard_matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","onboard_matrix.onboard_music_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","onboard_matrix.ALL_CLOCKS"],["ALL_ARROWS","onboard_matrix.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"],["3","3"]]},OG["机器人大师"]={description:"MicroPython[ESP32 Generic]",digital_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["18","18"],["19","19"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],digital:[["pin0","pin0"],["pin2","pin2"],["pin4","pin4"],["pin5","pin5"],["pin12","pin12"],["pin13","pin13"],["pin14","pin14"],["pin15","pin15"],["pin16","pin16"],["pin17","pin17"],["pin18","pin18"],["pin19","pin19"],["pin20","pin20"],["pin21","pin21"],["pin22","pin22"],["pin23","pin23"],["pin25","pin25"],["pin26","pin26"],["pin27","pin27"],["pin32","pin32"],["pin33","pin33"],["pin34","pin34"],["pin35","pin35"],["pin36","pin36"],["pin37","pin37"],["pin38","pin38"],["pin39","pin39"]],input_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["18","18"],["19","19"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],output_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["18","18"],["19","19"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"]],pwm_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["20","20"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"]],pwm:[["pwm0","pwm0"],["pwm2","pwm2"],["pwm4","pwm4"],["pwm5","pwm5"],["pwm12","pwm12"],["pwm13","pwm13"],["pwm14","pwm14"],["pwm15","pwm15"],["pwm16","pwm16"],["pwm17","pwm17"],["pwm18","pwm18"],["pwm19","pwm19"],["pwm20","pwm20"],["pwm21","pwm21"],["pwm22","pwm22"],["pwm23","pwm23"],["pwm25","pwm25"],["pwm26","pwm26"],["pwm27","pwm27"],["pwm32","pwm32"]],espnow_channel:It.Profile.generate(["1-13"]),haskylens_model:It.Profile.generate(["0-4"]),analog_pin:[["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],analog:[["adc32","adc32"],["adc33","adc33"],["adc34","adc34"],["adc35","adc35"],["adc36","adc36"],["adc37","adc37"],["adc38","adc38"],["adc39","adc39"]],dac_pin:[["25","25"],["26","26"]],dac:[["dac25","dac25"],["dac26","dac26"]],touch:[["tc0","tc0"],["tc2","tc2"],["tc4","tc4"],["tc12","tc12"],["tc13","tc13"],["tc14","tc14"],["tc15","tc15"],["tc27","tc27"],["tc32","tc32"],["tc33","tc33"]],touch_pin:[["0","0"],["2","2"],["4","4"],["12","12"],["13","13"],["14","14"],["15","15"],["27","27"],["32","32"],["33","33"]],button:[["p","button_p"],["cw","button_cw"],["ccw","button_ccw"]],axis:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],exlcdh:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"],["12","12"],["13","13"],["14","14"],["15","15"]],exlcdv:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],brightness:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"]],tts_voice:It.Profile.generate(["0-16"]),tts_builtin_music:It.Profile.generate(["0-47"]),tts_bgmusic:It.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["onboard_music_QUAVERS","onboard_matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","onboard_matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","onboard_matrix.onboard_music_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","onboard_matrix.ALL_CLOCKS"],["ALL_ARROWS","onboard_matrix.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"],["3","3"]]};const RG=OG,cG=230,gG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.digital),"PIN"),this.setOutput(!0)}},CG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.digital_pin),"PIN"),this.setOutput(!0,Number)}},SG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.input_pin),"PIN"),this.setOutput(!0,Number)}},AG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.output_pin),"PIN"),this.setOutput(!0,Number)}},LG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.touch_mpython),"PIN"),this.setOutput(!0,Number)}},NG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.espnow_channel),"PIN"),this.setOutput(!0,Number)}},DG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.haskylens_model),"PIN"),this.setOutput(!0,Number)}},fG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.pwm_input),"PIN"),this.setOutput(!0)}},FG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.analog_input),"PIN"),this.setOutput(!0)}},PG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.pwm_output),"PIN"),this.setOutput(!0)}},vG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.analog_output),"PIN"),this.setOutput(!0)}},YG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.i2c_A_pin),"PIN"),this.setOutput(!0,Number)}},XG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.i2c_B_pin),"PIN"),this.setOutput(!0,Number)}},bG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.spi_A_pin),"PIN"),this.setOutput(!0,Number)}},yG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.spi_B_pin),"PIN"),this.setOutput(!0,Number)}},xG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.spi_C_pin),"PIN"),this.setOutput(!0,Number)}},VG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.spi_D_pin),"PIN"),this.setOutput(!0,Number)}},BG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.analog),"PIN"),this.setOutput(!0)}},GG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.analog_pin),"PIN"),this.setOutput(!0,Number)}},UG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.dac),"PIN"),this.setOutput(!0)}},wG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.dac_pin),"PIN"),this.setOutput(!0,Number)}},HG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.button),"PIN"),this.setOutput(!0,Number)}},kG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.pwm),"PIN"),this.setOutput(!0)}},WG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.pwm_pin),"PIN"),this.setOutput(!0,Number)}},KG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.touch_pin),"PIN"),this.setOutput(!0,Number)}},JG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.touch),"PIN"),this.setOutput(!0)}},QG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.serial_pin),"PIN"),this.setOutput(!0,Number)}},qG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.builtinimg),"PIN"),this.setOutput(!0,"esp32_image")}},zG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.builtinimg_extern),"PIN"),this.setOutput(!0,"esp32_image")}},jG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.imglist),"PIN"),this.setOutput(!0)}},$G={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.playlist),"PIN"),this.setOutput(!0)}},ZG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.playlist_extern),"PIN"),this.setOutput(!0)}},tU={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.exlcdh),"PIN"),this.setOutput(!0,Number)}},eU={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.exlcdv),"PIN"),this.setOutput(!0,Number)}},iU={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.axis),"PIN"),this.setOutput(!0,Number)}},nU={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.brightness),"PIN"),this.setOutput(!0,Number)}},sU={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.tts_voice),"PIN"),this.setOutput(!0,Number)}},oU={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.tts_builtin_music),"PIN"),this.setOutput(!0,Number)}},_U={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.tts_bgmusic),"PIN"),this.setOutput(!0,Number)}},pU={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.tone_notes),"PIN"),this.setOutput(!0,Number)}},aU={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.radio_power),"PIN"),this.setOutput(!0,Number)}},uU={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.radio_datarate),"PIN"),this.setOutput(!0,Number)}},rU={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.one_more),"PIN"),this.setOutput(!0)}},dU={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.digital_dot),"PIN"),this.setOutput(!0,Number)}},lU=function(t,e){return[this.getFieldValue("PIN"),e.ORDER_ATOMIC]},IU=lU,TU=lU,MU=lU,hU=lU,mU=lU,EU=lU,OU=lU,RU=lU,cU=lU,gU=lU,CU=lU,SU=lU,AU=lU,LU=lU,NU=lU,DU=lU,fU=lU,FU=lU,PU=lU,vU=lU,YU=lU,XU=lU,bU=lU,yU=lU,xU=lU,VU=lU,BU=lU,GU=lU,UU=lU,wU=lU,HU=lU,kU=lU,WU=lU,KU=lU;Object.assign(lt.Variables,Mt),Object.assign(lt.Procedures,Pu),Object.assign(lt.Lang.ZhHans,pt),Object.assign(lt.Lang.ZhHant,at),Object.assign(lt.Lang.En,ut),lt.Python=vu,lt.generator=vu,It.Profile.default={},Object.assign(It.Profile,RG),Object.assign(It.Profile.default,RG["ESP32 Generic"]),Object.assign(lt.Blocks,e,i,n,s,o,_,p,a,u,r,d,l,I,y,w,U,v,x,H,f,G,B,V,F,D,N,X,Y,b,P,rt),Object.assign(lt.Python.forBlock,T,M,h,m,E,O,R,c,g,C,S,A,L,Z,ot,st,q,tt,_t,K,nt,it,et,J,W,k,j,z,$,Q,dt)})(); \ No newline at end of file diff --git a/boards/default/micropython_robot/main.bundle.f2495e91.js b/boards/default/micropython_robot/main.bundle.f2495e91.js deleted file mode 100644 index dcb2f9d0..00000000 --- a/boards/default/micropython_robot/main.bundle.f2495e91.js +++ /dev/null @@ -1,21 +0,0 @@ -(()=>{"use strict";var t={d:(e,i)=>{for(var n in i)t.o(i,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:i[n]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};t.r(e),t.d(e,{controls_type:()=>Ct,controls_typeLists:()=>St,lists_zip:()=>At,lists_zip_container:()=>Lt,lists_zip_item:()=>Nt,unpack_iterable_object:()=>Dt,variables_change:()=>ct,variables_get:()=>Ot,variables_global:()=>gt,variables_set:()=>Rt});var i={};t.r(i),t.d(i,{base_setup:()=>Pt,controls_delay:()=>vt,controls_end_program:()=>Yt,controls_except:()=>Kt,controls_finally:()=>Jt,controls_flow_statements:()=>Bt,controls_for:()=>Gt,controls_forEach:()=>yt,controls_for_range:()=>Ut,controls_if:()=>Xt,controls_if_else:()=>kt,controls_if_elseif:()=>Ht,controls_if_if:()=>wt,controls_lambda:()=>qt,controls_main:()=>Ft,controls_pass:()=>zt,controls_range:()=>bt,controls_repeat_ext:()=>Qt,controls_thread:()=>jt,controls_try:()=>Wt,controls_try_finally:()=>Vt,controls_whileUntil:()=>xt,datetime_fromtimestamp:()=>ne,do_while:()=>$t,garbage_collection:()=>Zt,gene_unique_identifier:()=>se,get_mem_alloc:()=>te,get_mem_free:()=>ee,get_unique_identifier:()=>ie});var n={};t.r(n),t.d(n,{base_map:()=>Ae,generate_cartesian_product:()=>Ne,math_arithmetic:()=>ue,math_bit:()=>de,math_constant:()=>pe,math_constant_mp:()=>ae,math_constrain:()=>Ee,math_dec:()=>Ie,math_degree_to_radian:()=>fe,math_indexer_number:()=>Re,math_map:()=>Oe,math_max_min:()=>Me,math_number:()=>_e,math_number_base_conversion:()=>he,math_radian_to_degree:()=>De,math_random:()=>me,math_random_seed:()=>ce,math_round:()=>ge,math_selfcalcu:()=>re,math_to_int:()=>Te,math_trig:()=>le,text_to_number:()=>Ce,text_to_number_skulpt:()=>Se,turn_to_int:()=>Le});var s={};t.r(s),t.d(s,{ascii_to_char:()=>ye,char_to_ascii:()=>xe,number_to_text:()=>Ve,os_system:()=>ui,text:()=>Pe,text_bytes:()=>Ye,text_capital:()=>Je,text_center:()=>Qe,text_char:()=>Xe,text_char_at:()=>Ue,text_char_at2:()=>Ge,text_char_at3:()=>oi,text_compareTo:()=>si,text_compare_to:()=>Ke,text_create_with_container:()=>ei,text_create_with_item:()=>ii,text_encode:()=>pi,text_equals_starts_ends:()=>We,text_eval:()=>ai,text_find:()=>qe,text_format:()=>ti,text_format_noreturn:()=>_i,text_join:()=>be,text_join_seq:()=>ze,text_length:()=>Be,text_random_char:()=>we,text_replace:()=>je,text_split:()=>$e,text_strip:()=>Ze,text_substring:()=>ke,text_substring2:()=>He,text_substring3:()=>ni,text_textarea:()=>ve});var o={};t.r(o),t.d(o,{ENUMERATE:()=>Wi,content_in_lists:()=>Ji,enumerate:()=>Ki,list_many_input:()=>vi,list_tolist:()=>yi,list_tolist2:()=>ki,list_trig:()=>fi,lists_2d_get_col_row_data:()=>Ti,lists_2d_get_data_with_col_row:()=>Ii,lists_append_extend:()=>Ri,lists_change_to:()=>Pi,lists_change_to_general:()=>Xi,lists_clear:()=>Ai,lists_create_with:()=>Mi,lists_create_with2:()=>xi,lists_create_with_container:()=>mi,lists_create_with_item:()=>Ei,lists_create_with_noreturn:()=>Yi,lists_create_with_text:()=>hi,lists_create_with_text2:()=>Vi,lists_del_general:()=>bi,lists_find:()=>Di,lists_getIndex3:()=>Bi,lists_getSublist3:()=>Gi,lists_get_index:()=>di,lists_get_random_item:()=>ci,lists_get_random_sublist:()=>gi,lists_get_sublist:()=>li,lists_insert_value:()=>Ci,lists_insert_value2:()=>wi,lists_pop:()=>Ni,lists_remove_at:()=>Li,lists_remove_at2:()=>Hi,lists_reverse:()=>Si,lists_setIndex3:()=>Ui,lists_set_index:()=>Oi,lists_sort:()=>Fi});var _={};t.r(_),t.d(_,{dicts_add_change_del:()=>rn,dicts_add_or_change:()=>en,dicts_clear:()=>on,dicts_create_with:()=>qi,dicts_create_with_container:()=>zi,dicts_create_with_item:()=>ji,dicts_create_with_noreturn:()=>In,dicts_deldict:()=>un,dicts_delete:()=>nn,dicts_get:()=>Zi,dicts_get_default:()=>tn,dicts_items:()=>_n,dicts_keys:()=>$i,dicts_length:()=>an,dicts_pop:()=>dn,dicts_setdefault:()=>ln,dicts_to_json:()=>Mn,dicts_to_json2:()=>En,dicts_to_to:()=>mn,dicts_todict:()=>Tn,dicts_update:()=>sn,dicts_values:()=>pn,json_to_dicts:()=>hn});var p={};t.r(p),t.d(p,{logic_boolean:()=>Sn,logic_compare:()=>Rn,logic_compare_continous:()=>cn,logic_is:()=>Dn,logic_is_in:()=>Nn,logic_negate:()=>Cn,logic_null:()=>An,logic_operation:()=>gn,logic_tobool:()=>fn,logic_true_or_false:()=>Ln});var a={};t.r(a),t.d(a,{sdcard_mount:()=>$n,sdcard_use_spi_init:()=>jn,storage_can_write_ornot:()=>Vn,storage_change_dir:()=>qn,storage_close_file:()=>Gn,storage_delete_file:()=>wn,storage_file_seek:()=>Wn,storage_file_tell:()=>kn,storage_file_write:()=>Xn,storage_fileopen:()=>Pn,storage_fileopen_new:()=>vn,storage_fileopen_new_encoding:()=>Yn,storage_get_a_line:()=>xn,storage_get_contents:()=>yn,storage_get_contents_without_para:()=>bn,storage_get_current_dir:()=>Kn,storage_get_file_size:()=>Hn,storage_get_filename:()=>Bn,storage_is_file:()=>zn,storage_list_all_files:()=>Un,storage_make_dir:()=>Jn,storage_open_file_with_os:()=>Fn,storage_rename:()=>Qn});var u={};t.r(u),t.d(u,{procedures_callnoreturn:()=>ns,procedures_callreturn:()=>ss,procedures_defnoreturn:()=>Zn,procedures_defreturn:()=>ts,procedures_ifreturn:()=>os,procedures_mutatorarg:()=>is,procedures_mutatorcontainer:()=>es,procedures_return:()=>_s});var r={};t.r(r),t.d(r,{tuple_change_to:()=>Es,tuple_create_llm_params:()=>Ns,tuple_create_with:()=>as,tuple_create_with_container:()=>us,tuple_create_with_item:()=>rs,tuple_create_with_noreturn:()=>gs,tuple_create_with_text2:()=>ds,tuple_create_with_text_return:()=>ls,tuple_del:()=>Ms,tuple_find:()=>Os,tuple_getIndex:()=>Is,tuple_getSublist:()=>cs,tuple_get_random_item:()=>Ss,tuple_get_sublist:()=>Cs,tuple_input:()=>Ls,tuple_join:()=>hs,tuple_length:()=>Ts,tuple_max:()=>ms,tuple_totuple:()=>As,tuple_trig:()=>Rs});var d={};t.r(d),t.d(d,{set_add_discard:()=>xs,set_clear:()=>Xs,set_create_with:()=>fs,set_create_with_container:()=>Fs,set_create_with_item:()=>Ps,set_create_with_text_return:()=>Gs,set_length:()=>vs,set_operate:()=>bs,set_operate_update:()=>ys,set_pop:()=>Ys,set_sub:()=>Vs,set_toset:()=>Us,set_update:()=>Bs});var l={};t.r(l),t.d(l,{html_content:()=>Ks,html_content_more:()=>Js,html_document:()=>Hs,html_form:()=>qs,html_head_body:()=>Ws,html_style:()=>Qs,html_style_color:()=>js,html_style_content:()=>zs,html_text:()=>$s,html_title:()=>ks});var I={};t.r(I),t.d(I,{attribute_access:()=>Io,function_call:()=>uo,function_call_container:()=>ro,function_call_item:()=>lo,raw_block:()=>eo,raw_empty:()=>no,raw_expression:()=>io,raw_table:()=>to,text_comment:()=>so,text_print_multiple:()=>_o,text_print_multiple_container:()=>po,text_print_multiple_item:()=>ao,type_check:()=>oo});var T={};t.r(T),t.d(T,{controls_type:()=>Eo,controls_typeLists:()=>Oo,lists_zip:()=>Ro,unpack_iterable_object:()=>co,variables_change:()=>ho,variables_get:()=>To,variables_global:()=>mo,variables_set:()=>Mo});var M={};t.r(M),t.d(M,{Panic_with_status_code:()=>Po,base_setup:()=>Co,controls_delay:()=>Fo,controls_flow_statements:()=>fo,controls_for:()=>Lo,controls_forEach:()=>yo,controls_for_range:()=>No,controls_if:()=>So,controls_interrupts:()=>Xo,controls_lambda:()=>Vo,controls_main:()=>go,controls_millis:()=>vo,controls_nointerrupts:()=>bo,controls_pass:()=>Go,controls_range:()=>xo,controls_repeat:()=>Qo,controls_repeat_ext:()=>Ho,controls_thread:()=>Uo,controls_try_finally:()=>Ao,controls_whileUntil:()=>Do,datetime_fromtimestamp:()=>qo,do_while:()=>wo,garbage_collection:()=>ko,gene_unique_identifier:()=>zo,get_mem_alloc:()=>Wo,get_mem_free:()=>Ko,get_unique_identifier:()=>Jo,reset:()=>Yo,time_sleep:()=>Bo});var h={};t.r(h),t.d(h,{base_map:()=>m_,generate_cartesian_product:()=>O_,math_arithmetic:()=>e_,math_bit:()=>t_,math_constant:()=>$o,math_constant_mp:()=>Zo,math_constrain:()=>r_,math_dec:()=>o_,math_degree_to_radian:()=>c_,math_indexer_number:()=>I_,math_map:()=>u_,math_max_min:()=>p_,math_number:()=>jo,math_number_base_conversion:()=>d_,math_radian_to_degree:()=>R_,math_random:()=>a_,math_random_seed:()=>l_,math_round:()=>T_,math_selfcalcu:()=>i_,math_single:()=>n_,math_to_int:()=>__,math_trig:()=>s_,text_to_number:()=>M_,text_to_number_skulpt:()=>h_,turn_to_int:()=>E_});var m={};t.r(m),t.d(m,{ascii_to_char:()=>N_,char_to_ascii:()=>D_,number_to_text:()=>f_,os_system:()=>$_,text:()=>g_,text_bytes:()=>S_,text_capital:()=>V_,text_center:()=>B_,text_char:()=>A_,text_char_at:()=>v_,text_char_at2:()=>P_,text_char_at3:()=>q_,text_compareTo:()=>Q_,text_compare_to:()=>b_,text_encode:()=>z_,text_equals_starts_ends:()=>X_,text_eval:()=>j_,text_find:()=>G_,text_format:()=>W_,text_format_noreturn:()=>K_,text_join:()=>L_,text_join_seq:()=>U_,text_length:()=>F_,text_random_char:()=>Y_,text_replace:()=>w_,text_split:()=>H_,text_strip:()=>k_,text_substring:()=>x_,text_substring2:()=>y_,text_substring3:()=>J_,text_textarea:()=>C_});var E={};t.r(E),t.d(E,{content_in_lists:()=>vp,enumerate:()=>Pp,list_many_input:()=>Ep,list_tolist:()=>fp,list_tolist2:()=>Fp,list_trig:()=>Mp,lists_2d_get_col_row_data:()=>ep,lists_2d_get_data_with_col_row:()=>tp,lists_append_extend:()=>_p,lists_change_to:()=>mp,lists_change_to_general:()=>Rp,lists_clear:()=>dp,lists_create_with:()=>ip,lists_create_with2:()=>gp,lists_create_with_noreturn:()=>Op,lists_create_with_text:()=>np,lists_create_with_text2:()=>Cp,lists_del_general:()=>cp,lists_find:()=>lp,lists_getIndex3:()=>Sp,lists_getSublist3:()=>Ap,lists_get_index:()=>sp,lists_get_random_item:()=>pp,lists_get_random_sublist:()=>ap,lists_get_sublist:()=>Z_,lists_insert_value:()=>up,lists_insert_value2:()=>Np,lists_pop:()=>Tp,lists_remove_at:()=>Ip,lists_remove_at2:()=>Dp,lists_reverse:()=>rp,lists_setIndex3:()=>Lp,lists_set_index:()=>op,lists_sort:()=>hp});var O={};t.r(O),t.d(O,{dicts_add_change_del:()=>Wp,dicts_add_or_change:()=>xp,dicts_clear:()=>Gp,dicts_create_with:()=>Yp,dicts_create_with_noreturn:()=>Qp,dicts_deldict:()=>kp,dicts_delete:()=>Vp,dicts_get:()=>bp,dicts_get_default:()=>yp,dicts_items:()=>Up,dicts_keys:()=>Xp,dicts_length:()=>Hp,dicts_pop:()=>Kp,dicts_setdefault:()=>Jp,dicts_to_json:()=>zp,dicts_to_json2:()=>Zp,dicts_to_to:()=>$p,dicts_todict:()=>qp,dicts_update:()=>Bp,dicts_values:()=>wp,json_to_dicts:()=>jp});var R={};t.r(R),t.d(R,{logic_boolean:()=>sa,logic_compare:()=>ta,logic_compare_continous:()=>ea,logic_is:()=>aa,logic_is_in:()=>pa,logic_negate:()=>na,logic_null:()=>oa,logic_operation:()=>ia,logic_tobool:()=>ua,logic_true_or_false:()=>_a});var c={};t.r(c),t.d(c,{sdcard_mount:()=>va,sdcard_use_spi_init:()=>Pa,storage_can_write_ornot:()=>Ea,storage_change_dir:()=>La,storage_close_file:()=>Ra,storage_delete_file:()=>ga,storage_file_seek:()=>Aa,storage_file_tell:()=>Sa,storage_file_write:()=>Ta,storage_fileopen:()=>da,storage_fileopen_new:()=>la,storage_fileopen_new_encoding:()=>Ia,storage_get_a_line:()=>ma,storage_get_contents:()=>ha,storage_get_contents_without_para:()=>Ma,storage_get_current_dir:()=>Na,storage_get_file_size:()=>Ca,storage_get_filename:()=>Oa,storage_is_file:()=>Fa,storage_list_all_files:()=>ca,storage_make_dir:()=>Da,storage_open_file_with_os:()=>ra,storage_rename:()=>fa});var g={};t.r(g),t.d(g,{procedures_callnoreturn:()=>ya,procedures_callreturn:()=>ba,procedures_defnoreturn:()=>Xa,procedures_defreturn:()=>Ya,procedures_ifreturn:()=>xa,procedures_return:()=>Va});var C={};t.r(C),t.d(C,{tuple_change_to:()=>Ja,tuple_create_llm_params:()=>iu,tuple_create_with:()=>Ba,tuple_create_with_noreturn:()=>ja,tuple_create_with_text2:()=>Ga,tuple_create_with_text_return:()=>Ua,tuple_del:()=>ka,tuple_find:()=>Qa,tuple_getIndex:()=>wa,tuple_getSublist:()=>za,tuple_get_random_item:()=>Za,tuple_get_sublist:()=>$a,tuple_input:()=>eu,tuple_join:()=>Wa,tuple_length:()=>Ha,tuple_max:()=>Ka,tuple_totuple:()=>tu,tuple_trig:()=>qa});var S={};t.r(S),t.d(S,{set_add_discard:()=>uu,set_clear:()=>_u,set_create_with:()=>nu,set_create_with_text_return:()=>lu,set_length:()=>su,set_operate:()=>pu,set_operate_update:()=>au,set_pop:()=>ou,set_sub:()=>ru,set_toset:()=>Iu,set_update:()=>du});var A={};t.r(A),t.d(A,{html_content:()=>mu,html_content_more:()=>Eu,html_document:()=>Tu,html_form:()=>Ru,html_head_body:()=>hu,html_style:()=>Ou,html_style_content:()=>cu,html_text:()=>gu,html_title:()=>Mu});var L={};t.r(L),t.d(L,{attribute_access:()=>fu,function_call:()=>Du,raw_block:()=>Cu,raw_empty:()=>Au,raw_expression:()=>Su,raw_table:()=>Lu,type_check:()=>Nu});var N={};t.r(N),t.d(N,{PIN_init:()=>yr,actuator_extern_get_led_bright:()=>Wu,actuator_extern_get_led_state:()=>Ku,actuator_extern_led_bright:()=>ku,actuator_extern_led_brightness:()=>Ju,actuator_ms32006_dcmotor:()=>ir,actuator_ms32006_init:()=>er,actuator_ms32006_stepper:()=>nr,actuator_neopixel_init:()=>sr,actuator_neopixel_rgb:()=>or,actuator_neopixel_rgb_all:()=>_r,actuator_neopixel_rgb_show_all_chase:()=>ur,actuator_neopixel_rgb_show_all_rainbow:()=>ar,actuator_neopixel_write:()=>pr,actuator_use_uart_init:()=>rr,backstage_esp32_music_play_list:()=>Vu,esp32_music_get_tempo_extern:()=>Gu,esp32_music_pitch:()=>bu,esp32_music_pitch_init:()=>Xu,esp32_music_pitch_with_time:()=>yu,esp32_music_play_list:()=>xu,esp32_music_reset_extern:()=>Uu,esp32_music_set_tempo_extern:()=>Bu,esp32_music_stop:()=>wu,esp32_set_music_volume:()=>Hu,mixbot_actuator_extern_get_addr:()=>Xr,mixbot_actuator_extern_set_addr:()=>br,mixbot_addr_extern:()=>cr,parrot_PIN_init:()=>Gr,parrot_move_speed:()=>Ur,pin_led_bright:()=>xr,player_insert_music:()=>hr,player_play_music:()=>Mr,player_set_mode:()=>Tr,player_set_play:()=>lr,player_set_volume:()=>Ir,player_whether_stop:()=>dr,robot_led_extern:()=>Ar,robot_led_extern_get_value:()=>Lr,robot_motor_extern:()=>gr,robot_motor_extern_get_speed:()=>Cr,robot_servo_extern_absolute_run:()=>Fr,robot_servo_extern_get_status:()=>Nr,robot_servo_extern_relative_continue:()=>Yr,robot_servo_extern_relative_origin:()=>Pr,robot_servo_extern_relative_run:()=>vr,robot_servo_extern_stop:()=>fr,robot_servo_extern_stop_mode:()=>Dr,robot_traffic_light_extern:()=>Sr,servo_PIN_init:()=>Vr,servo_get_angle:()=>Zu,servo_get_speed:()=>tr,servo_init:()=>Qu,servo_move:()=>qu,servo_move_angle:()=>Br,servo_set_angle:()=>ju,servo_set_speed:()=>$u,servo_speed_360:()=>zu,syn6288_builtin_voice:()=>Or,syn6288_get_voice:()=>Er,syn6288_set_voice:()=>mr,syn6288_tts_play:()=>Rr});var D={};t.r(D),t.d(D,{actuator_dc_motor:()=>Rd,actuator_dc_motor_stop:()=>cd,actuator_get_led_bright:()=>Kr,actuator_get_led_state:()=>Jr,actuator_led_bright:()=>Wr,actuator_led_brightness:()=>Qr,actuator_mixbot_buzzer_on_off:()=>Ld,actuator_mixgo_nova_mic_get:()=>Pd,actuator_mixgo_nova_mic_set:()=>Fd,actuator_mixgo_nova_onboard_music_pitch:()=>xd,actuator_mixgo_nova_onboard_music_stop:()=>Vd,actuator_mixgo_nova_play_audio:()=>bd,actuator_mixgo_nova_play_online_audio:()=>yd,actuator_mixgo_nova_record_audio:()=>Xd,actuator_mixgo_nova_voice_get:()=>Yd,actuator_mixgo_nova_voice_set:()=>vd,actuator_mixgo_zero_led_color:()=>qr,actuator_onboard_neopixel_rgb:()=>ed,actuator_onboard_neopixel_rgb_all:()=>id,actuator_onboard_neopixel_rgb_show_all_chase:()=>sd,actuator_onboard_neopixel_rgb_show_all_rainbow:()=>nd,actuator_onboard_neopixel_write:()=>od,actuator_rm_onboard_neopixel_rgb:()=>_d,actuator_rm_onboard_neopixel_rgb_all:()=>pd,actuator_rm_onboard_neopixel_rgb_show_all_chase:()=>ad,actuator_stepper_keep:()=>Ed,actuator_stepper_stop:()=>Od,analog_ble_keyboard_init:()=>jd,analog_ble_keyboard_input:()=>tl,analog_ble_keyboard_mouse_init:()=>al,analog_ble_keyboard_mouse_input:()=>ll,analog_ble_keyboard_mouse_send_battery:()=>dl,analog_ble_keyboard_mouse_str:()=>Il,analog_ble_keyboard_send_battery:()=>il,analog_ble_keyboard_str:()=>el,analog_ble_mouse_init:()=>nl,analog_ble_mouse_input:()=>_l,analog_ble_mouse_keyboard_input:()=>Tl,analog_ble_mouse_send_battery:()=>pl,analog_keyboard_input:()=>wd,analog_keyboard_str:()=>zd,analog_mouse_input:()=>Qd,backstage_onboard_music_play_list:()=>hd,bitbot_motor:()=>fd,bitbot_move:()=>Nd,bitbot_stop:()=>Dd,ble_keyboard_connect:()=>Zd,ble_keyboard_get_mac:()=>$d,ble_keyboard_mouse_connect:()=>rl,ble_keyboard_mouse_get_mac:()=>ul,ble_mouse_connect:()=>ol,ble_mouse_get_mac:()=>sl,cc_number:()=>td,educore_ble_keyboard_input:()=>Sl,educore_ble_sensor_connected:()=>Cl,educore_ble_sensor_init:()=>gl,educore_buzzer:()=>Ml,educore_buzzer_play_tone:()=>hl,educore_buzzer_play_tone_time:()=>ml,educore_buzzer_stop:()=>El,educore_neopixel_clear:()=>cl,educore_neopixel_rgb:()=>Rl,educore_rgb_light:()=>Ol,esp32_music_get_tempo:()=>rd,esp32_music_reset:()=>dd,esp32_music_set_tempo:()=>ud,esp32_onboard_music_pitch:()=>ld,esp32_onboard_music_pitch_with_time:()=>Id,esp32_onboard_music_play_list:()=>Md,esp32_onboard_music_stop:()=>Td,general_key:()=>kd,general_key_tuple:()=>Wd,generalkey_container:()=>Kd,generalkey_create_with_item:()=>Jd,get_keyboard_light:()=>Al,get_power_output:()=>Gd,ledswitch:()=>kr,mixbot_motor:()=>Ad,mixbot_motor_status:()=>gd,mixbot_move:()=>Cd,mixbot_stop:()=>Sd,mouse_key:()=>qd,number:()=>Hr,record_audio:()=>Nl,rm_actuator_get_led_bright:()=>jr,rm_actuator_get_led_state:()=>$r,rm_actuator_led_bright:()=>zr,rm_actuator_led_brightness:()=>Zr,rm_motor:()=>md,set_all_power_output:()=>Ud,set_microphone_amplification:()=>Ll,set_music_volume:()=>Dl,set_power_output:()=>Bd,special_key:()=>Hd});var f={};t.r(f),t.d(f,{ai_sensor_20object:()=>aI,ai_sensor_ailocal_class:()=>jl,ai_sensor_ailocal_class_result:()=>$l,ai_sensor_ailocal_train:()=>zl,ai_sensor_asr_recognize:()=>nI,ai_sensor_audio_play:()=>tI,ai_sensor_audio_record:()=>Zl,ai_sensor_barcode:()=>yl,ai_sensor_circle:()=>wl,ai_sensor_classifier_faces:()=>pI,ai_sensor_color:()=>Kl,ai_sensor_color_chases:()=>ql,ai_sensor_color_chases_result:()=>Ql,ai_sensor_config:()=>Xl,ai_sensor_face:()=>_I,ai_sensor_find_20objects:()=>uI,ai_sensor_find_barcodes:()=>xl,ai_sensor_find_circles:()=>Hl,ai_sensor_find_colors:()=>Jl,ai_sensor_find_licenseplates:()=>oI,ai_sensor_find_lines:()=>Ul,ai_sensor_find_qrcodes:()=>Yl,ai_sensor_find_rects:()=>Wl,ai_sensor_find_tags:()=>Bl,ai_sensor_licenseplate:()=>sI,ai_sensor_line:()=>Gl,ai_sensor_qrcode:()=>Pl,ai_sensor_qrcode_lite:()=>vl,ai_sensor_rect:()=>kl,ai_sensor_rgb:()=>bl,ai_sensor_tag:()=>Vl,ai_sensor_use_uart_init:()=>Fl,ai_sensor_yolo_recognize:()=>eI,ai_sensor_yolo_recognize_result:()=>iI});var F={};t.r(F),t.d(F,{MICROPYTHON_AI_Speech_asr:()=>lI,MICROPYTHON_AI_Speech_unit:()=>dI,MICROPYTHON_AI_client:()=>rI});var P={};t.r(P),t.d(P,{mpython_blynk_app_data:()=>NI,mpython_blynk_app_notify:()=>RI,mpython_blynk_email:()=>CI,mpython_blynk_get_timers:()=>SI,mpython_blynk_on_connected:()=>mI,mpython_blynk_on_disconnected:()=>hI,mpython_blynk_run:()=>OI,mpython_blynk_sensor_data_to_app:()=>LI,mpython_blynk_set_property:()=>gI,mpython_blynk_setup:()=>DI,mpython_blynk_stop_timers:()=>cI,mpython_blynk_sync_virtual:()=>MI,mpython_blynk_terminal_widget_vpin:()=>TI,mpython_blynktimer:()=>AI,mpython_blynktimer_run:()=>EI});var v={};t.r(v),t.d(v,{communicate_bluetooth_central_init:()=>rT,communicate_bluetooth_connect:()=>TT,communicate_bluetooth_disconnect:()=>MT,communicate_bluetooth_handle:()=>RT,communicate_bluetooth_is_connected:()=>mT,communicate_bluetooth_mac:()=>IT,communicate_bluetooth_peripheral_init:()=>dT,communicate_bluetooth_recv:()=>ET,communicate_bluetooth_recv_only:()=>OT,communicate_bluetooth_scan:()=>lT,communicate_bluetooth_send:()=>hT,communicate_espnow_init:()=>cT,communicate_espnow_init_new:()=>gT,communicate_i2c_available:()=>KI,communicate_i2c_init:()=>vI,communicate_i2c_master_read:()=>WI,communicate_i2c_onboard:()=>FI,communicate_i2c_read:()=>YI,communicate_i2c_scan:()=>bI,communicate_i2c_write:()=>XI,communicate_ir_recv_init:()=>tT,communicate_ir_send_init:()=>oT,communicate_ow_init:()=>QI,communicate_ow_read:()=>zI,communicate_ow_reset:()=>ZI,communicate_ow_scan:()=>qI,communicate_ow_select:()=>$I,communicate_ow_write:()=>jI,communicate_spi_buffer:()=>VI,communicate_spi_init:()=>yI,communicate_spi_onboard:()=>PI,communicate_spi_read:()=>BI,communicate_spi_read_output:()=>GI,communicate_spi_readinto:()=>UI,communicate_spi_readinto_output:()=>wI,communicate_spi_set:()=>xI,communicate_spi_write:()=>HI,communicate_spi_write_readinto:()=>kI,espnow_radio_channel:()=>DT,espnow_radio_channel_new:()=>FT,espnow_radio_on_off:()=>PT,espnow_radio_rec:()=>YT,espnow_radio_recv:()=>bT,espnow_radio_recv_certain_msg:()=>yT,espnow_radio_recv_certain_msg_new:()=>VT,espnow_radio_recv_msg:()=>XT,espnow_radio_recv_new:()=>xT,espnow_radio_send:()=>vT,espnow_radio_txpower:()=>fT,i2c_available:()=>_M,i2c_init:()=>KT,i2c_master_reader2:()=>oM,i2c_read:()=>JT,i2c_scan:()=>qT,i2c_slave_onreceive:()=>JI,i2c_write:()=>QT,internal_variable:()=>eT,ir_recv_timeout:()=>sT,ir_transmit_busy:()=>uT,ir_transmit_conventional_data:()=>_T,ir_transmit_raw_code:()=>aT,ir_transmit_study_code:()=>pT,ir_whether_recv:()=>nT,lora_init:()=>BT,lora_packet:()=>GT,lora_recv:()=>wT,lora_send:()=>UT,network_espnow_info:()=>ST,network_espnow_mac:()=>CT,network_espnow_recv:()=>AT,network_espnow_recv_handle:()=>NT,network_espnow_send:()=>LT,recv_fun:()=>iT,spi_buffer:()=>$T,spi_init:()=>zT,spi_read:()=>ZT,spi_read_output:()=>tM,spi_readinto:()=>eM,spi_readinto_output:()=>iM,spi_set:()=>jT,spi_write:()=>nM,spi_write_readinto:()=>sM,urequests_attribute:()=>kT,urequests_get:()=>HT,urequests_method:()=>WT});var Y={};t.r(Y),t.d(Y,{display_animate:()=>VM,display_blink_rate:()=>XM,display_circle:()=>BM,display_color_seclet:()=>jM,display_draw_4strings:()=>DM,display_fill:()=>xM,display_get_screen_image:()=>YM,display_help:()=>UM,display_image_size:()=>fM,display_lcd_use_i2c_init:()=>nh,display_line:()=>PM,display_line_arbitrarily:()=>vM,display_matrix_extern_bright_point:()=>RM,display_matrix_extern_bright_screen:()=>gM,display_matrix_extern_clear:()=>CM,display_matrix_extern_get_pixel:()=>OM,display_matrix_extern_get_screen_pixel:()=>cM,display_matrix_extern_image_builtins:()=>SM,display_matrix_extern_scroll_string:()=>TM,display_matrix_extern_scroll_string_delay:()=>MM,display_matrix_extern_shift:()=>EM,display_matrix_extern_show_frame_string:()=>hM,display_matrix_extern_show_frame_string_delay:()=>mM,display_matrix_extern_show_image:()=>lM,display_matrix_extern_show_image_or_string_delay:()=>IM,display_matrix_use_i2c_init:()=>dM,display_oled_drawPixel:()=>HM,display_oled_showBitmap:()=>wM,display_oled_use_i2c_init:()=>ah,display_onoff:()=>yM,display_rect:()=>FM,display_rgb_color:()=>bM,display_tm1650_power:()=>WM,display_tm1650_set_brightness:()=>QM,display_tm1650_show_dot:()=>JM,display_tm1650_show_num:()=>KM,display_tm_use_i2c_init:()=>kM,display_triangle:()=>GM,display_use_i2c_init:()=>NM,extern_oled_bright_point:()=>Oh,extern_oled_clear:()=>Rh,extern_oled_get_pixel:()=>Eh,extern_oled_hvline:()=>gh,extern_oled_line:()=>Ch,extern_oled_scroll_string:()=>Ih,extern_oled_scroll_string_delay:()=>Th,extern_oled_shape_rect:()=>ch,extern_oled_shift:()=>mh,extern_oled_show_frame_string:()=>Mh,extern_oled_show_frame_string_delay:()=>hh,extern_oled_show_image:()=>uh,extern_oled_show_image_or_string_delay:()=>lh,extern_oled_show_image_xy:()=>rh,extern_oled_show_string:()=>dh,lcd_backlight:()=>_h,lcd_clear:()=>ph,lcd_print_string:()=>oh,lcd_show_image_or_string_delay:()=>sh,matrix_extern_image_arithmetic:()=>AM,matrix_extern_image_invert:()=>LM,tft_fill:()=>eh,tft_line_arbitrarily:()=>ih,tft_scroll_string_delay:()=>ZM,tft_show_frame_string_delay:()=>th,tft_show_image_or_string_delay:()=>$M,tft_show_image_xy:()=>zM,tft_use_spi_init:()=>qM});var X={};t.r(X),t.d(X,{bitbot_display_bitmap_create:()=>mm,bitbot_display_image_create:()=>hm,display_available:()=>Wh,display_bitmap_create:()=>Xh,display_bright_point:()=>Uh,display_bright_screen:()=>Hh,display_clear:()=>kh,display_get_pixel:()=>Gh,display_get_screen_pixel:()=>wh,display_image_builtins:()=>bh,display_image_builtins_all:()=>yh,display_image_create:()=>Yh,display_scroll_string:()=>Nh,display_scroll_string_delay:()=>Dh,display_scroll_way:()=>fh,display_shift:()=>Bh,display_show_frame_string:()=>Ph,display_show_frame_string_delay:()=>vh,display_show_image:()=>Ah,display_show_image_or_string_delay:()=>Lh,draw_pointer:()=>Xm,image_arithmetic:()=>xh,image_invert:()=>Vh,mixbot_display_bitmap_create:()=>dm,mixbot_display_bright_screen:()=>Tm,mixbot_display_get_ambientbright:()=>Im,mixbot_display_get_screen_pixel:()=>lm,mixbot_display_image_create:()=>rm,mixbot_display_rotate:()=>Mm,mixgo_display_bitmap_create:()=>jh,mixgo_display_image_create_new:()=>zh,mixgome_display_bitmap_create:()=>Jh,mixgome_display_font:()=>$h,mixgome_display_image_create:()=>Kh,mixgomini_display_bitmap_create:()=>qh,mixgomini_display_image_create:()=>Qh,mpython_display_hvline:()=>pm,mpython_display_line:()=>am,mpython_display_shape_rect:()=>_m,mpython_pbm_image:()=>um,nova_draw_pointer:()=>bm,onboard_oled_bright_point:()=>om,onboard_oled_scroll_string_delay:()=>nm,onboard_oled_show_frame_string_delay:()=>sm,onboard_oled_show_image:()=>Zh,onboard_oled_show_image_or_string_delay:()=>im,onboard_oled_show_image_xy:()=>tm,onboard_oled_show_string:()=>em,onboard_tft_bright_point:()=>Lm,onboard_tft_bright_screen:()=>km,onboard_tft_clear:()=>Wm,onboard_tft_clock_clear:()=>vm,onboard_tft_clock_draw:()=>Pm,onboard_tft_clock_get_rtctime:()=>fm,onboard_tft_clock_init:()=>Dm,onboard_tft_clock_set_time:()=>Fm,onboard_tft_display_hvline:()=>Cm,onboard_tft_display_line:()=>Sm,onboard_tft_display_shape_circle:()=>Ym,onboard_tft_display_shape_rect:()=>gm,onboard_tft_fill:()=>Nm,onboard_tft_get_pixel:()=>Am,onboard_tft_get_screen_pixel:()=>Hm,onboard_tft_scroll_string:()=>Gm,onboard_tft_scroll_string_delay:()=>Fh,onboard_tft_shift:()=>wm,onboard_tft_show_frame_string:()=>Um,onboard_tft_show_frame_string_delay:()=>cm,onboard_tft_show_image:()=>Bm,onboard_tft_show_image_or_string_delay:()=>Rm,onboard_tft_show_image_xy:()=>Em,onboard_tft_show_image_xy_direct:()=>Om,onboard_tft_show_qrcode:()=>xm,onboard_tft_show_qrcode_details:()=>Vm,onboard_tft_show_texts:()=>ym});var b={};t.r(b),t.d(b,{factory_block:()=>uE,factory_block_return:()=>rE,factory_block_return_with_textarea:()=>lE,factory_block_with_textarea:()=>dE,factory_callMethod_noreturn:()=>pE,factory_callMethod_return:()=>aE,factory_create_with_container:()=>nE,factory_create_with_item:()=>sE,factory_declare:()=>_E,factory_from_import:()=>tE,factory_function_noreturn:()=>iE,factory_function_return:()=>oE,factory_import:()=>eE,folding_block:()=>IE});var y={};t.r(y),t.d(y,{controls_pin_attachInterrupt:()=>bE,inout_analog_atten:()=>CE,inout_analog_read:()=>gE,inout_analog_read_init:()=>fE,inout_analog_write:()=>OE,inout_analog_write_init:()=>DE,inout_analog_write_set:()=>RE,inout_analog_write_set_freq:()=>vE,inout_digital_init:()=>LE,inout_digital_read:()=>mE,inout_digital_write:()=>hE,inout_highlow:()=>ME,inout_pinMode:()=>PE,inout_pin_attachInterrupt:()=>AE,inout_pin_pressed:()=>SE,inout_pin_pressed_init:()=>FE,inout_pwm_analog_write:()=>EE,inout_pwm_analog_write_init:()=>NE,inout_pwm_analog_write_set_freq:()=>cE,pin_pressed:()=>XE,pin_pressed_init:()=>YE});var x={};t.r(x),t.d(x,{IOT_CONNECT_OLLAMA:()=>OO,IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>_O,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>oO,IOT_EMQX_PING:()=>nO,IOT_FORMATTING:()=>eO,IOT_FORMAT_STRING:()=>iO,IOT_MIXIO_NTP:()=>sO,IOT_MIXIO_PUBLISH:()=>JE,IOT_MIXIO_PUBLISHEX:()=>QE,IOT_MIXIO_SUBSCRIBE:()=>qE,iot_checkonenet:()=>hO,iot_client_onboard:()=>aO,iot_connect_ollama:()=>EO,iot_connect_openai:()=>RO,iot_create_with_item:()=>WE,iot_http_client:()=>uO,iot_http_data:()=>rO,iot_mixio_check:()=>$E,iot_mixio_connect:()=>KE,iot_mixio_connect_only:()=>jE,iot_mixio_disconnect:()=>zE,iot_mixio_format_msg:()=>tO,iot_mixio_format_topic:()=>ZE,iot_mixly_key:()=>pO,iot_mqtt_client:()=>dO,iot_mqtt_data:()=>lO,iot_onenet_check:()=>GE,iot_onenet_connect:()=>VE,iot_onenet_disconnect:()=>BE,iot_onenet_publish:()=>wE,iot_onenet_publish_dict:()=>UE,iot_onenetconnect:()=>TO,iot_onenetdisconnect:()=>MO,iot_publish:()=>mO,iot_publish_container:()=>HE,iot_publish_item:()=>kE,iot_tiny_web_db_count:()=>DO,iot_tiny_web_db_delete:()=>FO,iot_tiny_web_db_get:()=>NO,iot_tiny_web_db_init:()=>SO,iot_tiny_web_db_init_with_mqtt:()=>AO,iot_tiny_web_db_search:()=>fO,iot_tiny_web_db_update:()=>LO,iot_wifi_connect:()=>xE,iot_wificonnect:()=>IO,ollama_empty_history:()=>CO,use_ollama_llm_to_chat:()=>cO,use_ollama_llm_to_chat_return:()=>gO});var V={};t.r(V),t.d(V,{educore_mqtt_connect:()=>rR,educore_mqtt_connect_success:()=>TR,educore_mqtt_subscribe_message:()=>dR,educore_mqtt_topic_publish:()=>IR,educore_mqtt_topic_subscribe:()=>lR,educore_wifi_connect:()=>uR,network_ap_connect:()=>UO,network_connect:()=>yO,network_get_connect:()=>VO,network_get_wifi:()=>GO,network_init:()=>vO,network_is_active:()=>XO,network_open:()=>YO,network_scan:()=>bO,network_server:()=>wO,network_socket_accept:()=>JO,network_socket_bind:()=>kO,network_socket_close:()=>ZO,network_socket_connect:()=>WO,network_socket_init:()=>HO,network_socket_listen:()=>KO,network_socket_readline:()=>QO,network_socket_receive:()=>qO,network_socket_receive_from:()=>jO,network_socket_send:()=>zO,network_socket_send_to:()=>$O,network_stop:()=>BO,network_wifi_connect:()=>xO,ntptime_address:()=>sR,ntptime_time:()=>nR,requests_attribute:()=>eR,requests_attribute2:()=>aR,requests_get:()=>tR,requests_get2:()=>_R,requests_method:()=>iR,requests_post:()=>pR});var B={};t.r(B),t.d(B,{CI130X_BROADCAST:()=>BR,CI130X_GET_THE_RECOGNIZED_CMD:()=>VR,CI130X_GET_WHETHER_IDENTIFY:()=>xR,CI130X_IDENTIFY_AND_SAVE:()=>yR,CI130X_SET_SYSTEM_CMD:()=>GR,HCSR04:()=>Dc,PS2_Button:()=>vc,PS2_Buttons:()=>Xc,PS2_Buttons_new:()=>Vc,PS2_State:()=>Yc,PS2_init:()=>fc,PS2_init_new:()=>yc,PS2_stk:()=>bc,PS2_stk_new:()=>Bc,PS2_vibration:()=>Pc,PS2_vibration_new:()=>xc,camera_sensor_init:()=>Mg,camera_sensor_result:()=>hg,column_tube_foot:()=>cg,define_keyboards:()=>gg,educore_body_sensor:()=>og,educore_button_sensor_extern:()=>ug,educore_camera_sensor:()=>Tg,educore_infrared_sensor:()=>ag,educore_soilhum_sensor:()=>_g,educore_temp_sensor:()=>Ig,educore_temphum_sensor:()=>pg,educore_ultrasonic_sensor:()=>dg,esp32_s2_weather_init:()=>Sc,esp32_s2_weather_rain:()=>Lc,esp32_s2_weather_wd:()=>Ac,esp32_s2_weather_ws:()=>Nc,extern_rfid_read:()=>rc,extern_rfid_readcontent:()=>lc,extern_rfid_readid:()=>dc,extern_rfid_status:()=>Mc,extern_rfid_write:()=>Ic,extern_rfid_write_return:()=>Tc,get_keboards_value:()=>Cg,gnss_get_data:()=>Hc,gnss_have_data:()=>wc,init_init_rotary_encoder:()=>Sg,init_matrix_keyboard:()=>Og,interaction_whether_to_interaction:()=>XR,interaction_whether_to_interaction_SANT:()=>bR,line_tube_foot:()=>Rg,mixbot_sensor_extern_get_addr:()=>jc,mixbot_sensor_extern_set_addr:()=>$c,pm25_get_data:()=>Uc,radar_set_DETECTION_THRESHOLD:()=>vR,radar_set_DETECTION_THRESHOLD_SANT:()=>YR,robot_button_extern_get_value:()=>Wc,robot_color_extern_get_value:()=>zc,robot_infrared_extern_get_value:()=>Jc,robot_infrared_extern_grey_get_value:()=>Qc,robot_potentiometer_extern_get_value:()=>qc,robot_sonar_extern_get_value:()=>Zc,robot_sonar_extern_led:()=>tg,robot_touch_extern_get_value:()=>Kc,rotary_key:()=>Ag,sensor_APDS9960_extern:()=>wR,sensor_DS18X20:()=>fR,sensor_LTR308_extern:()=>HR,sensor_LTR390UV_extern:()=>KR,sensor_MAX30102_extern:()=>UR,sensor_QMC5883L_extern:()=>tc,sensor_VL530LX_extern:()=>JR,sensor_adxl345_get_acceleration:()=>cR,sensor_aht11_extern:()=>qR,sensor_bmp:()=>NR,sensor_compass_reset:()=>ac,sensor_dht11:()=>CR,sensor_hp203_extern:()=>zR,sensor_light_level:()=>gR,sensor_lm35:()=>FR,sensor_ltr381_extern:()=>kR,sensor_mixgo_extern_button_attachInterrupt:()=>OR,sensor_mixgo_extern_button_get_presses:()=>ER,sensor_mixgo_extern_button_is_pressed:()=>hR,sensor_mixgo_extern_button_was_pressed:()=>mR,sensor_mixgo_extern_light:()=>SR,sensor_mixgo_extern_pin_near:()=>LR,sensor_mixgo_extern_sound:()=>AR,sensor_mixgoce_hot_wheel_degrees:()=>Cc,sensor_mixgoce_hot_wheel_is_touched:()=>gc,sensor_mpu9250_attachGestureInterrupt:()=>RR,sensor_mpu9250_calibrate_compass:()=>oc,sensor_mpu9250_field_strength:()=>pc,sensor_mpu9250_gesture:()=>ec,sensor_mpu9250_get_acceleration:()=>ic,sensor_mpu9250_get_gyro:()=>sc,sensor_mpu9250_get_magnetic:()=>nc,sensor_mpu9250_temperature:()=>_c,sensor_ms5611_extern:()=>$R,sensor_ms5611_extern_altitude:()=>ZR,sensor_read_humiture:()=>rg,sensor_sht:()=>DR,sensor_shtc3_extern:()=>QR,sensor_spl06_001_extern:()=>jR,sensor_ucs12071_extern:()=>WR,sensor_use_i2c_init:()=>PR,sensor_use_spi_init:()=>uc,sensor_use_uart_init:()=>Gc,sensor_weather_solo_init:()=>eg,sensor_weather_solo_rain:()=>sg,sensor_weather_solo_wd:()=>ig,sensor_weather_solo_ws:()=>ng,sensor_weigh_init:()=>mg,tvoc_get_data:()=>kc,ultrasonic_sensor_read_distance:()=>lg,weather_data:()=>hc,weather_have_data:()=>mc,weather_set_label:()=>Oc,weather_set_label_container:()=>Rc,weather_set_label_item:()=>cc,weather_uart_mixio:()=>Ec,weigh_sensor_get_weight:()=>Eg});var G={};t.r(G),t.d(G,{HCSR04:()=>wg,RTC_set_date:()=>Ug,RTC_set_time:()=>Gg,bitbot_als_num:()=>jC,dht11:()=>sS,educore_button_sensor:()=>IS,educore_button_was_pressed:()=>TS,educore_gyroscope_sensor:()=>rS,educore_gyroscope_sensor_read:()=>dS,educore_gyroscope_sensor_shake:()=>lS,educore_light_sensor:()=>uS,educore_rfid_sensor:()=>MS,educore_rfid_sensor_scan:()=>hS,educore_rfid_sensor_scan_data:()=>mS,educore_voice_sensor:()=>pS,number1:()=>kg,number2:()=>Wg,number3:()=>Kg,number4:()=>Jg,number5:()=>Qg,number6:()=>qg,number7:()=>zg,onboard_RTC_get_time:()=>sC,onboard_RTC_get_time_str:()=>rC,onboard_RTC_get_timestamp:()=>oC,onboard_RTC_get_timetuple_to_str:()=>dC,onboard_RTC_set_datetime:()=>aC,onboard_RTC_settime_string:()=>pC,onboard_RTC_timestamp_totuple:()=>_C,rfid_readcontent:()=>EC,rfid_readid:()=>mC,rfid_status:()=>cC,rfid_write:()=>OC,rfid_write_return:()=>RC,sensor_LTR308:()=>lC,sensor_aht11:()=>TC,sensor_bitbot_ALS:()=>zC,sensor_button_get_presses:()=>tS,sensor_button_is_pressed:()=>$C,sensor_button_was_pressed:()=>ZC,sensor_distance_hrsc04:()=>Bg,sensor_eulerangles:()=>CC,sensor_field_strength:()=>oS,sensor_get_acceleration:()=>gC,sensor_get_temperature:()=>MC,sensor_get_the_coprocessor_version:()=>ES,sensor_hp203:()=>hC,sensor_light:()=>nS,sensor_mixbot_get_gyro:()=>qC,sensor_mixbot_patrol_calibrate:()=>KC,sensor_mixbot_patrol_value:()=>JC,sensor_mixbot_temperature:()=>QC,sensor_mixgo_LTR308:()=>iC,sensor_mixgo_button_attachInterrupt:()=>Fg,sensor_mixgo_button_get_presses:()=>fg,sensor_mixgo_button_is_pressed:()=>Ng,sensor_mixgo_button_was_pressed:()=>Dg,sensor_mixgo_cc_mmc5603_calibrate_compass:()=>XC,sensor_mixgo_cc_mmc5603_get_angle:()=>YC,sensor_mixgo_cc_mmc5603_get_magnetic:()=>vC,sensor_mixgo_light:()=>Hg,sensor_mixgo_nova_LTR308:()=>eC,sensor_mixgo_nova_pin_near:()=>tC,sensor_mixgo_pin_near:()=>Zg,sensor_mixgo_pin_near_double:()=>$g,sensor_mixgo_pin_near_single:()=>jg,sensor_mixgo_pin_pressed:()=>bg,sensor_mixgo_sant_color:()=>nC,sensor_mixgo_touch_slide:()=>Vg,sensor_mixgocar42_button_attachInterrupt:()=>Xg,sensor_mixgocar42_button_get_presses:()=>Yg,sensor_mixgocar42_button_is_pressed:()=>Pg,sensor_mixgocar42_button_was_pressed:()=>vg,sensor_mixgocar_battery_left:()=>WC,sensor_mixgocar_pin_near:()=>HC,sensor_mixgocar_pin_near_line:()=>wC,sensor_mixgocar_pin_near_state_change:()=>kC,sensor_mixgoce_pin_pressed:()=>yg,sensor_mixgoce_temperature:()=>yC,sensor_mixgome_temperature:()=>bC,sensor_mpython_pin_pressed:()=>xg,sensor_mpython_qmi8658_get_gyro:()=>xC,sensor_mpython_qmi8658_temperature:()=>VC,sensor_onboard_compass_reset:()=>PC,sensor_onboard_mpu9250_calibrate_compass:()=>DC,sensor_onboard_mpu9250_field_strength:()=>FC,sensor_onboard_mpu9250_gesture:()=>SC,sensor_onboard_mpu9250_get_acceleration:()=>AC,sensor_onboard_mpu9250_get_gyro:()=>NC,sensor_onboard_mpu9250_get_magnetic:()=>LC,sensor_onboard_mpu9250_temperature:()=>fC,sensor_pin_near:()=>iS,sensor_pin_pressed:()=>eS,sensor_read:()=>aS,sensor_rm_acc:()=>UC,sensor_rm_battery_left:()=>GC,sensor_rm_pin_near_double:()=>BC,sensor_rtc_init:()=>uC,sensor_sound:()=>IC,sensor_temperature:()=>_S,simulated_light_sensor:()=>OS});var U={};t.r(U),t.d(U,{serial_any:()=>fS,serial_begin:()=>XS,serial_print:()=>SS,serial_print_byte:()=>CS,serial_print_hex:()=>LS,serial_println:()=>AS,serial_read_from_ai:()=>HS,serial_readline:()=>FS,serial_readstr:()=>DS,serial_readstr_until:()=>PS,serial_receive_data_event:()=>NS,serial_send_to_ai:()=>wS,serial_softserial:()=>YS,serial_softserial_new:()=>vS,system_input:()=>bS,system_print:()=>yS,system_print_container:()=>GS,system_print_end:()=>VS,system_print_inline:()=>xS,system_print_item:()=>US,system_print_many:()=>BS});var w={};t.r(w),t.d(w,{Panic_with_status_code:()=>JS,Timer_init:()=>pA,base_delay:()=>rA,controls_delay:()=>KS,controls_delay_new:()=>WS,controls_millis:()=>qS,controls_uname:()=>jS,raw_block:()=>zS,reset:()=>QS,set_system_timer:()=>iA,system_bitbot_shutdown:()=>_A,system_machine_reset:()=>oA,system_ticks_diff:()=>tA,system_timer:()=>ZS,system_timer_init:()=>eA,system_wdt_feed:()=>sA,system_wdt_init:()=>nA,time_ticks_diff:()=>uA,timer:()=>$S,timer2:()=>aA});var H={};t.r(H),t.d(H,{Air_daily_content:()=>SA,Air_now_content:()=>mA,Geo_moon_content:()=>LA,Geo_sun_content:()=>AA,Life_suggestion_content:()=>OA,Location_search_content:()=>cA,Tide_daily_content:()=>RA,WEATHER_DAILY:()=>IA,WEATHER_HOUR:()=>TA,WEATHER_NOW:()=>lA,Weather_alarm_content:()=>EA,Weather_daily:()=>gA,Weather_daily_content:()=>CA,Weather_now:()=>MA,Weather_now_content:()=>hA});var k={};t.r(k),t.d(k,{PIN_init:()=>DL,actuator_extern_get_led_bright:()=>QA,actuator_extern_get_led_state:()=>qA,actuator_extern_led_bright:()=>JA,actuator_extern_led_brightness:()=>zA,actuator_ms32006_dcmotor:()=>XA,actuator_ms32006_init:()=>YA,actuator_ms32006_stepper:()=>bA,actuator_neopixel_init:()=>jA,actuator_neopixel_rgb:()=>tL,actuator_neopixel_rgb_all:()=>$A,actuator_neopixel_rgb_show_all_chase:()=>eL,actuator_neopixel_rgb_show_all_rainbow:()=>iL,actuator_neopixel_write:()=>ZA,actuator_use_uart_init:()=>nL,backstage_esp32_music_play_list:()=>kA,esp32_music_get_tempo_extern:()=>wA,esp32_music_pitch:()=>xA,esp32_music_pitch_init:()=>yA,esp32_music_pitch_with_time:()=>VA,esp32_music_play_list:()=>HA,esp32_music_reset_extern:()=>WA,esp32_music_set_tempo_extern:()=>UA,esp32_music_stop:()=>BA,esp32_set_music_volume:()=>GA,mixbot_actuator_extern_get_addr:()=>LL,mixbot_actuator_extern_set_addr:()=>NL,mixbot_addr_extern:()=>IL,parrot_PIN_init:()=>vL,parrot_move_speed:()=>YL,pin_led_bright:()=>fL,player_play_music:()=>aL,player_set_mode:()=>pL,player_set_play:()=>oL,player_set_volume:()=>_L,player_whether_stop:()=>sL,robot_led_extern:()=>mL,robot_led_extern_get_value:()=>EL,robot_motor_extern:()=>TL,robot_motor_extern_get_speed:()=>ML,robot_servo_extern_absolute_run:()=>gL,robot_servo_extern_get_status:()=>OL,robot_servo_extern_relative_continue:()=>AL,robot_servo_extern_relative_origin:()=>CL,robot_servo_extern_relative_run:()=>SL,robot_servo_extern_stop:()=>cL,robot_servo_extern_stop_mode:()=>RL,robot_traffic_light_extern:()=>hL,servo_PIN_init:()=>FL,servo_get_angle:()=>PA,servo_get_speed:()=>vA,servo_init:()=>NA,servo_move:()=>KA,servo_move_angle:()=>PL,servo_set_angle:()=>fA,servo_set_speed:()=>FA,servo_speed_360:()=>DA,syn6288_builtin_voice:()=>dL,syn6288_get_voice:()=>rL,syn6288_set_voice:()=>uL,syn6288_tts_play:()=>lL});var W={};t.r(W),t.d(W,{actuator_dc_motor:()=>aN,actuator_dc_motor_stop:()=>uN,actuator_get_led_bright:()=>WL,actuator_get_led_state:()=>KL,actuator_led_bright:()=>kL,actuator_led_brightness:()=>JL,actuator_mixbot_buzzer_on_off:()=>TN,actuator_mixgo_nova_mic_get:()=>ON,actuator_mixgo_nova_mic_set:()=>EN,actuator_mixgo_nova_onboard_music_pitch:()=>AN,actuator_mixgo_nova_onboard_music_stop:()=>LN,actuator_mixgo_nova_play_audio:()=>CN,actuator_mixgo_nova_play_online_audio:()=>SN,actuator_mixgo_nova_record_audio:()=>gN,actuator_mixgo_nova_voice_get:()=>cN,actuator_mixgo_nova_voice_set:()=>RN,actuator_mixgo_zero_led_color:()=>QL,actuator_onboard_neopixel_rgb:()=>eN,actuator_onboard_neopixel_rgb_all:()=>iN,actuator_onboard_neopixel_rgb_show_all_chase:()=>nN,actuator_onboard_neopixel_rgb_show_all_rainbow:()=>sN,actuator_onboard_neopixel_write:()=>tN,actuator_stepper_keep:()=>_N,actuator_stepper_stop:()=>pN,analog_ble_keyboard_init:()=>xN,analog_ble_keyboard_input:()=>GN,analog_ble_keyboard_mouse_init:()=>QN,analog_ble_keyboard_mouse_input:()=>$N,analog_ble_keyboard_mouse_send_battery:()=>jN,analog_ble_keyboard_mouse_str:()=>ZN,analog_ble_keyboard_send_battery:()=>wN,analog_ble_keyboard_str:()=>UN,analog_ble_mouse_init:()=>HN,analog_ble_mouse_input:()=>KN,analog_ble_mouse_keyboard_input:()=>tD,analog_ble_mouse_send_battery:()=>JN,analog_keyboard_input:()=>FN,analog_keyboard_str:()=>bN,analog_mouse_input:()=>YN,backstage_onboard_music_play_list:()=>GL,bitbot_motor:()=>mN,bitbot_move:()=>MN,bitbot_stop:()=>hN,ble_keyboard_connect:()=>BN,ble_keyboard_get_mac:()=>VN,ble_keyboard_mouse_connect:()=>zN,ble_keyboard_mouse_get_mac:()=>qN,ble_mouse_connect:()=>WN,ble_mouse_get_mac:()=>kN,cc_number:()=>qL,educore_ble_keyboard_input:()=>rD,educore_ble_sensor_connected:()=>uD,educore_ble_sensor_init:()=>aD,educore_buzzer:()=>eD,educore_buzzer_play_tone:()=>iD,educore_buzzer_play_tone_time:()=>nD,educore_buzzer_stop:()=>sD,educore_neopixel_clear:()=>pD,educore_neopixel_rgb:()=>_D,educore_rgb_light:()=>oD,esp32_music_get_tempo:()=>bL,esp32_music_reset:()=>UL,esp32_music_set_tempo:()=>XL,esp32_onboard_music_pitch:()=>yL,esp32_onboard_music_pitch_with_time:()=>xL,esp32_onboard_music_play_list:()=>BL,esp32_onboard_music_stop:()=>VL,general_key:()=>vN,general_key_tuple:()=>yN,get_keyboard_light:()=>dD,get_power_output:()=>DN,ledswitch:()=>HL,mixbot_motor:()=>IN,mixbot_motor_status:()=>rN,mixbot_move:()=>dN,mixbot_stop:()=>lN,mouse_key:()=>XN,number:()=>wL,record_audio:()=>ID,rm_actuator_get_led_bright:()=>jL,rm_actuator_get_led_state:()=>$L,rm_actuator_led_bright:()=>zL,rm_actuator_led_brightness:()=>ZL,rm_motor:()=>oN,set_all_power_output:()=>fN,set_microphone_amplification:()=>lD,set_music_volume:()=>TD,set_power_output:()=>NN,special_key:()=>PN});var K={};t.r(K),t.d(K,{ai_sensor_20object:()=>JD,ai_sensor_ailocal_class:()=>yD,ai_sensor_ailocal_class_result:()=>xD,ai_sensor_ailocal_train:()=>bD,ai_sensor_asr_recognize:()=>wD,ai_sensor_audio_play:()=>BD,ai_sensor_audio_record:()=>VD,ai_sensor_barcode:()=>cD,ai_sensor_circle:()=>ND,ai_sensor_classifier_faces:()=>KD,ai_sensor_color:()=>PD,ai_sensor_color_chases:()=>XD,ai_sensor_color_chases_result:()=>YD,ai_sensor_config:()=>mD,ai_sensor_face:()=>WD,ai_sensor_find_20objects:()=>QD,ai_sensor_find_barcodes:()=>gD,ai_sensor_find_circles:()=>DD,ai_sensor_find_colors:()=>vD,ai_sensor_find_licenseplates:()=>kD,ai_sensor_find_lines:()=>LD,ai_sensor_find_qrcodes:()=>RD,ai_sensor_find_rects:()=>FD,ai_sensor_find_tags:()=>SD,ai_sensor_licenseplate:()=>HD,ai_sensor_line:()=>AD,ai_sensor_qrcode:()=>OD,ai_sensor_qrcode_lite:()=>hD,ai_sensor_rect:()=>fD,ai_sensor_rgb:()=>ED,ai_sensor_tag:()=>CD,ai_sensor_use_uart_init:()=>MD,ai_sensor_yolo_recognize:()=>GD,ai_sensor_yolo_recognize_result:()=>UD});var J={};t.r(J),t.d(J,{MICROPYTHON_AI_Speech_asr:()=>jD,MICROPYTHON_AI_Speech_unit:()=>zD,MICROPYTHON_AI_client:()=>qD});var Q={};t.r(Q),t.d(Q,{mpython_blynk_app_data:()=>rf,mpython_blynk_app_notify:()=>of,mpython_blynk_email:()=>df,mpython_blynk_get_timers:()=>pf,mpython_blynk_on_connected:()=>ef,mpython_blynk_on_disconnected:()=>tf,mpython_blynk_run:()=>sf,mpython_blynk_sensor_data_to_app:()=>uf,mpython_blynk_set_property:()=>lf,mpython_blynk_setup:()=>If,mpython_blynk_stop_timers:()=>_f,mpython_blynk_sync_virtual:()=>ZD,mpython_blynk_terminal_widget_vpin:()=>$D,mpython_blynktimer:()=>af,mpython_blynktimer_run:()=>nf});var q={};t.r(q),t.d(q,{communicate_bluetooth_central_init:()=>Qf,communicate_bluetooth_connect:()=>jf,communicate_bluetooth_disconnect:()=>$f,communicate_bluetooth_handle:()=>sF,communicate_bluetooth_is_connected:()=>tF,communicate_bluetooth_mac:()=>Zf,communicate_bluetooth_peripheral_init:()=>qf,communicate_bluetooth_recv:()=>nF,communicate_bluetooth_recv_only:()=>iF,communicate_bluetooth_scan:()=>zf,communicate_bluetooth_send:()=>eF,communicate_espnow_init:()=>oF,communicate_espnow_init_new:()=>_F,communicate_i2c_available:()=>cf,communicate_i2c_init:()=>hf,communicate_i2c_master_read:()=>Rf,communicate_i2c_onboard:()=>Tf,communicate_i2c_read:()=>mf,communicate_i2c_scan:()=>Of,communicate_i2c_write:()=>Ef,communicate_ir_recv_init:()=>Vf,communicate_ir_send_init:()=>Hf,communicate_ow_init:()=>vf,communicate_ow_read:()=>bf,communicate_ow_reset:()=>Xf,communicate_ow_scan:()=>Yf,communicate_ow_select:()=>xf,communicate_ow_write:()=>yf,communicate_spi_buffer:()=>Af,communicate_spi_init:()=>Cf,communicate_spi_onboard:()=>Mf,communicate_spi_read:()=>Lf,communicate_spi_read_output:()=>Nf,communicate_spi_readinto:()=>Df,communicate_spi_readinto_output:()=>ff,communicate_spi_set:()=>Sf,communicate_spi_write:()=>Ff,communicate_spi_write_readinto:()=>Pf,espnow_radio_channel:()=>lF,espnow_radio_channel_new:()=>TF,espnow_radio_on_off:()=>MF,espnow_radio_rec:()=>mF,espnow_radio_recv:()=>OF,espnow_radio_recv_certain_msg:()=>RF,espnow_radio_recv_certain_msg_new:()=>gF,espnow_radio_recv_msg:()=>EF,espnow_radio_recv_new:()=>cF,espnow_radio_send:()=>hF,espnow_radio_txpower:()=>IF,i2c_slave_onreceive:()=>gf,internal_variable:()=>Bf,ir_recv_timeout:()=>wf,ir_transmit_busy:()=>Jf,ir_transmit_conventional_data:()=>kf,ir_transmit_raw_code:()=>Kf,ir_transmit_study_code:()=>Wf,ir_whether_recv:()=>Uf,lora_init:()=>CF,lora_packet:()=>SF,lora_recv:()=>LF,lora_send:()=>AF,network_espnow_info:()=>aF,network_espnow_mac:()=>pF,network_espnow_recv:()=>uF,network_espnow_recv_handle:()=>dF,network_espnow_send:()=>rF,recv_fun:()=>Gf,urequests_attribute:()=>DF,urequests_get:()=>NF,urequests_method:()=>fF});var z={};t.r(z),t.d(z,{display_animate:()=>tP,display_circle:()=>eP,display_color_seclet:()=>lP,display_draw_4strings:()=>JF,display_fill:()=>ZF,display_lcd_use_i2c_init:()=>EP,display_line:()=>zF,display_line_arbitrarily:()=>QF,display_matrix_extern_bright_point:()=>GF,display_matrix_extern_bright_screen:()=>wF,display_matrix_extern_clear:()=>xF,display_matrix_extern_get_pixel:()=>BF,display_matrix_extern_get_screen_pixel:()=>UF,display_matrix_extern_image_builtins:()=>HF,display_matrix_extern_scroll_string:()=>bF,display_matrix_extern_scroll_string_delay:()=>yF,display_matrix_extern_shift:()=>VF,display_matrix_extern_show_frame_string:()=>YF,display_matrix_extern_show_frame_string_delay:()=>XF,display_matrix_extern_show_image:()=>PF,display_matrix_extern_show_image_or_string_delay:()=>vF,display_matrix_use_i2c_init:()=>FF,display_oled_drawPixel:()=>sP,display_oled_showBitmap:()=>nP,display_oled_use_i2c_init:()=>CP,display_onoff:()=>jF,display_rect:()=>qF,display_tm1650_power:()=>_P,display_tm1650_set_brightness:()=>uP,display_tm1650_show_dot:()=>aP,display_tm1650_show_num:()=>pP,display_tm_use_i2c_init:()=>oP,display_triangle:()=>iP,display_use_i2c_init:()=>KF,extern_oled_bright_point:()=>bP,extern_oled_clear:()=>vP,extern_oled_get_pixel:()=>XP,extern_oled_hvline:()=>xP,extern_oled_line:()=>VP,extern_oled_scroll_string:()=>FP,extern_oled_scroll_string_delay:()=>PP,extern_oled_shape_rect:()=>yP,extern_oled_shift:()=>YP,extern_oled_show_frame_string:()=>DP,extern_oled_show_frame_string_delay:()=>fP,extern_oled_show_image:()=>SP,extern_oled_show_image_or_string_delay:()=>NP,extern_oled_show_image_xy:()=>AP,extern_oled_show_string:()=>LP,image_shift:()=>$F,lcd_backlight:()=>cP,lcd_clear:()=>gP,lcd_print_string:()=>RP,lcd_show_image_or_string_delay:()=>OP,matrix_extern_image_arithmetic:()=>kF,matrix_extern_image_invert:()=>WF,tft_fill:()=>hP,tft_line_arbitrarily:()=>mP,tft_scroll_string_delay:()=>MP,tft_show_frame_string_delay:()=>TP,tft_show_image_or_string_delay:()=>IP,tft_show_image_xy:()=>dP,tft_use_spi_init:()=>rP});var j={};t.r(j),t.d(j,{bitbot_display_bitmap_create:()=>Pv,bitbot_display_image_create:()=>Fv,display_available:()=>$P,display_bitmap_create:()=>zP,display_bright_point:()=>nv,display_bright_screen:()=>ov,display_clear:()=>jP,display_get_pixel:()=>iv,display_get_screen_pixel:()=>sv,display_image_builtins:()=>JP,display_image_builtins_all:()=>QP,display_image_create:()=>qP,display_scroll_string:()=>HP,display_scroll_string_delay:()=>kP,display_scroll_way:()=>WP,display_shift:()=>ev,display_show_frame_string:()=>UP,display_show_frame_string_delay:()=>wP,display_show_image:()=>BP,display_show_image_or_string_delay:()=>GP,draw_pointer:()=>Qv,image_arithmetic:()=>ZP,image_invert:()=>tv,mixbot_display_bitmap_create:()=>Av,mixbot_display_bright_screen:()=>Dv,mixbot_display_get_ambientbright:()=>Nv,mixbot_display_get_screen_pixel:()=>Lv,mixbot_display_image_create:()=>Sv,mixbot_display_rotate:()=>fv,mixgo_display_bitmap_create:()=>lv,mixgo_display_image_create_new:()=>dv,mixgome_display_bitmap_create:()=>pv,mixgome_display_font:()=>rv,mixgome_display_image_create:()=>_v,mixgomini_display_bitmap_create:()=>uv,mixgomini_display_image_create:()=>av,mpython_display_hvline:()=>gv,mpython_display_line:()=>Cv,mpython_display_shape_rect:()=>cv,mpython_pbm_image:()=>Iv,nova_draw_pointer:()=>qv,onboard_oled_bright_point:()=>Rv,onboard_oled_scroll_string_delay:()=>Ov,onboard_oled_show_frame_string_delay:()=>Ev,onboard_oled_show_image:()=>Tv,onboard_oled_show_image_or_string_delay:()=>mv,onboard_oled_show_image_xy:()=>Mv,onboard_oled_show_string:()=>hv,onboard_tft_bright_point:()=>Gv,onboard_tft_bright_screen:()=>nY,onboard_tft_clear:()=>sY,onboard_tft_clock_clear:()=>Kv,onboard_tft_clock_draw:()=>Wv,onboard_tft_clock_get_rtctime:()=>Hv,onboard_tft_clock_init:()=>wv,onboard_tft_clock_set_time:()=>kv,onboard_tft_display_hvline:()=>xv,onboard_tft_display_line:()=>Vv,onboard_tft_display_shape_circle:()=>Jv,onboard_tft_display_shape_rect:()=>yv,onboard_tft_fill:()=>Uv,onboard_tft_get_pixel:()=>Bv,onboard_tft_get_screen_pixel:()=>iY,onboard_tft_scroll_string_delay:()=>KP,onboard_tft_shift:()=>eY,onboard_tft_show_frame_string:()=>tY,onboard_tft_show_frame_string_delay:()=>bv,onboard_tft_show_image:()=>Zv,onboard_tft_show_image_or_string_delay:()=>Xv,onboard_tft_show_image_xy:()=>vv,onboard_tft_show_image_xy_direct:()=>Yv,onboard_tft_show_qrcode:()=>jv,onboard_tft_show_qrcode_details:()=>$v,onboard_tft_show_texts:()=>zv});var $={};t.r($),t.d($,{factory_block:()=>lY,factory_block_return:()=>IY,factory_block_return_with_textarea:()=>MY,factory_block_with_textarea:()=>TY,factory_callMethod_noreturn:()=>rY,factory_callMethod_return:()=>dY,factory_declare:()=>uY,factory_from_import:()=>oY,factory_function_noreturn:()=>pY,factory_function_return:()=>aY,factory_import:()=>_Y,folding_block:()=>hY});var Z={};t.r(Z),t.d(Z,{inout_analog_atten:()=>PY,inout_analog_read:()=>SY,inout_analog_read_init:()=>FY,inout_analog_write:()=>cY,inout_analog_write_init:()=>fY,inout_analog_write_set:()=>gY,inout_digital_init:()=>NY,inout_digital_read:()=>OY,inout_digital_write:()=>EY,inout_highlow:()=>mY,inout_pin_attachInterrupt:()=>LY,inout_pin_pressed:()=>AY,inout_pin_pressed_init:()=>vY,inout_pwm_analog_write:()=>RY,inout_pwm_analog_write_init:()=>DY,inout_pwm_analog_write_set_freq:()=>CY});var tt={};t.r(tt),t.d(tt,{IOT_CONNECT_OLLAMA:()=>pX,IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>$Y,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>zY,IOT_EMQX_PING:()=>ZY,IOT_FORMATTING:()=>QY,IOT_FORMAT_STRING:()=>qY,IOT_MIXIO_NTP:()=>tX,IOT_MIXIO_PUBLISH:()=>GY,IOT_MIXIO_PUBLISHEX:()=>UY,IOT_MIXIO_SUBSCRIBE:()=>wY,iot_client_onboard:()=>eX,iot_connect_ollama:()=>_X,iot_connect_openai:()=>aX,iot_http_client:()=>iX,iot_http_data:()=>nX,iot_mixio_check:()=>WY,iot_mixio_connect:()=>BY,iot_mixio_connect_only:()=>kY,iot_mixio_disconnect:()=>HY,iot_mixio_format_msg:()=>JY,iot_mixio_format_topic:()=>KY,iot_mixly_key:()=>jY,iot_mqtt_client:()=>sX,iot_mqtt_data:()=>oX,iot_onenet_check:()=>xY,iot_onenet_connect:()=>XY,iot_onenet_disconnect:()=>bY,iot_onenet_publish:()=>VY,iot_onenet_publish_dict:()=>yY,iot_tiny_web_db_count:()=>hX,iot_tiny_web_db_delete:()=>EX,iot_tiny_web_db_get:()=>MX,iot_tiny_web_db_init:()=>lX,iot_tiny_web_db_init_with_mqtt:()=>IX,iot_tiny_web_db_search:()=>mX,iot_tiny_web_db_update:()=>TX,iot_wifi_connect:()=>YY,ollama_empty_history:()=>dX,use_ollama_llm_to_chat:()=>uX,use_ollama_llm_to_chat_return:()=>rX});var et={};t.r(et),t.d(et,{educore_mqtt_connect:()=>zX,educore_mqtt_connect_success:()=>tb,educore_mqtt_subscribe_message:()=>jX,educore_mqtt_topic_publish:()=>ZX,educore_mqtt_topic_subscribe:()=>$X,educore_wifi_connect:()=>qX,network_ap_connect:()=>NX,network_connect:()=>RX,network_get_connect:()=>gX,network_get_wifi:()=>LX,network_init:()=>OX,network_is_active:()=>AX,network_open:()=>SX,network_scan:()=>DX,network_server:()=>fX,network_socket_accept:()=>XX,network_socket_bind:()=>PX,network_socket_close:()=>GX,network_socket_connect:()=>vX,network_socket_init:()=>FX,network_socket_listen:()=>YX,network_socket_readline:()=>bX,network_socket_receive:()=>yX,network_socket_receive_from:()=>VX,network_socket_send:()=>xX,network_socket_send_to:()=>BX,network_stop:()=>CX,network_wifi_connect:()=>cX,ntptime_address:()=>WX,ntptime_time:()=>kX,requests_attribute:()=>wX,requests_attribute2:()=>JX,requests_get:()=>UX,requests_get2:()=>KX,requests_method:()=>HX,requests_post:()=>QX});var it={};t.r(it),t.d(it,{CI130X_BROADCAST:()=>Cb,CI130X_GET_THE_RECOGNIZED_CMD:()=>gb,CI130X_GET_WHETHER_IDENTIFY:()=>cb,CI130X_IDENTIFY_AND_SAVE:()=>Rb,CI130X_SET_SYSTEM_CMD:()=>Sb,HCSR04:()=>iy,PS2_Button:()=>oy,PS2_Buttons:()=>_y,PS2_Buttons_new:()=>Ty,PS2_State:()=>py,PS2_init:()=>ny,PS2_init_new:()=>ly,PS2_stk:()=>ay,PS2_stk_new:()=>My,PS2_vibration:()=>sy,PS2_vibration_new:()=>Iy,RTC_get_time:()=>ry,RTC_set_date:()=>ab,RTC_set_datetime:()=>uy,RTC_set_time:()=>pb,camera_sensor_init:()=>Ky,camera_sensor_result:()=>Jy,column_tube_foot:()=>jy,define_keyboards:()=>$y,educore_body_sensor:()=>yy,educore_button_sensor_extern:()=>Gy,educore_camera_sensor:()=>Wy,educore_infrared_sensor:()=>By,educore_soilhum_sensor:()=>xy,educore_temp_sensor:()=>ky,educore_temphum_sensor:()=>Vy,educore_ultrasonic_sensor:()=>wy,esp32_s2_weather_init:()=>$b,esp32_s2_weather_rain:()=>ty,esp32_s2_weather_wd:()=>Zb,esp32_s2_weather_ws:()=>ey,extern_rfid_read:()=>Gb,extern_rfid_readcontent:()=>wb,extern_rfid_readid:()=>Ub,extern_rfid_status:()=>Wb,extern_rfid_write:()=>Hb,extern_rfid_write_return:()=>kb,get_keboards_value:()=>tx,gnss_get_data:()=>Ey,gnss_have_data:()=>Oy,init_init_rotary_encoder:()=>ex,init_matrix_keyboard:()=>Zy,interaction_whether_to_interaction:()=>Eb,interaction_whether_to_interaction_SANT:()=>Ob,line_tube_foot:()=>zy,mixbot_sensor_extern_get_addr:()=>fy,mixbot_sensor_extern_set_addr:()=>Fy,pm25_get_data:()=>my,radar_set_DETECTION_THRESHOLD:()=>hb,radar_set_DETECTION_THRESHOLD_SANT:()=>mb,robot_button_extern_get_value:()=>cy,robot_color_extern_get_value:()=>Ly,robot_infrared_extern_get_value:()=>Cy,robot_infrared_extern_grey_get_value:()=>Sy,robot_potentiometer_extern_get_value:()=>Ay,robot_sonar_extern_get_value:()=>Ny,robot_sonar_extern_led:()=>Dy,robot_touch_extern_get_value:()=>gy,rotary_key:()=>ix,sensor_APDS9960_extern:()=>Lb,sensor_DS18X20:()=>by,sensor_LTR308_extern:()=>Nb,sensor_LTR390UV_extern:()=>Xb,sensor_MAX30102_extern:()=>Ab,sensor_QMC5883L_extern:()=>bb,sensor_VL530LX_extern:()=>Vb,sensor_aht11_extern:()=>xb,sensor_bmp:()=>Ib,sensor_dht11:()=>dy,sensor_distance_hrsc04:()=>_b,sensor_hp203_extern:()=>Db,sensor_ltr381_extern:()=>vb,sensor_mixgo_extern_button_attachInterrupt:()=>sb,sensor_mixgo_extern_button_get_presses:()=>nb,sensor_mixgo_extern_button_is_pressed:()=>eb,sensor_mixgo_extern_button_was_pressed:()=>ib,sensor_mixgo_extern_light:()=>ub,sensor_mixgo_extern_pin_near:()=>db,sensor_mixgo_extern_sound:()=>rb,sensor_mixgoce_hot_wheel_degrees:()=>jb,sensor_mixgoce_hot_wheel_is_touched:()=>zb,sensor_mpu9250_attachGestureInterrupt:()=>ob,sensor_ms5611_extern:()=>Fb,sensor_ms5611_extern_altitude:()=>Pb,sensor_read_humiture:()=>Uy,sensor_rtc_init:()=>lb,sensor_sht:()=>Tb,sensor_shtc3_extern:()=>yb,sensor_spl06_001_extern:()=>fb,sensor_ucs12071_extern:()=>Yb,sensor_use_i2c_init:()=>Mb,sensor_use_spi_init:()=>Bb,sensor_use_uart_init:()=>hy,sensor_weather_solo_init:()=>Py,sensor_weather_solo_rain:()=>Xy,sensor_weather_solo_wd:()=>vy,sensor_weather_solo_ws:()=>Yy,sensor_weigh_init:()=>Qy,tvoc_get_data:()=>Ry,ultrasonic_sensor_read_distance:()=>Hy,weather_data:()=>Kb,weather_have_data:()=>Jb,weather_set_label:()=>qb,weather_uart_mixio:()=>Qb,weigh_sensor_get_weight:()=>qy});var nt={};t.r(nt),t.d(nt,{HCSR04:()=>dx,bitbot_als_num:()=>YV,dht11:()=>UV,educore_button_sensor:()=>QV,educore_button_was_pressed:()=>qV,educore_gyroscope_sensor:()=>WV,educore_gyroscope_sensor_read:()=>KV,educore_gyroscope_sensor_shake:()=>JV,educore_light_sensor:()=>kV,educore_rfid_sensor:()=>zV,educore_rfid_sensor_scan:()=>jV,educore_rfid_sensor_scan_data:()=>$V,educore_voice_sensor:()=>wV,number1:()=>lx,number2:()=>Ix,number3:()=>Tx,number4:()=>Mx,number5:()=>hx,number6:()=>mx,number7:()=>Ex,onboard_RTC_get_time:()=>uV,onboard_RTC_get_time_str:()=>lV,onboard_RTC_get_timestamp:()=>rV,onboard_RTC_get_timetuple_to_str:()=>IV,onboard_RTC_set_datetime:()=>pV,onboard_RTC_settime_string:()=>aV,onboard_RTC_timestamp_totuple:()=>dV,rfid_readcontent:()=>Xx,rfid_readid:()=>Yx,rfid_status:()=>xx,rfid_write:()=>bx,rfid_write_return:()=>yx,sensor_LTR308:()=>Dx,sensor_adxl345_get_acceleration:()=>Kx,sensor_aht11:()=>Px,sensor_bitbot_ALS:()=>vV,sensor_button_get_presses:()=>yV,sensor_button_is_pressed:()=>XV,sensor_button_was_pressed:()=>bV,sensor_compass_reset:()=>$x,sensor_ds18x20:()=>Lx,sensor_eulerangles:()=>Bx,sensor_get_acceleration:()=>Vx,sensor_get_temperature:()=>vx,sensor_get_the_coprocessor_version:()=>ZV,sensor_hp203:()=>Fx,sensor_light:()=>GV,sensor_lm35:()=>Nx,sensor_mixbot_get_gyro:()=>PV,sensor_mixbot_patrol_calibrate:()=>DV,sensor_mixbot_patrol_value:()=>fV,sensor_mixbot_temperature:()=>FV,sensor_mixgo_LTR308:()=>Cx,sensor_mixgo_button_attachInterrupt:()=>_x,sensor_mixgo_button_get_presses:()=>ox,sensor_mixgo_button_is_pressed:()=>nx,sensor_mixgo_button_was_pressed:()=>sx,sensor_mixgo_cc_mmc5603_calibrate_compass:()=>hV,sensor_mixgo_cc_mmc5603_get_angle:()=>MV,sensor_mixgo_cc_mmc5603_get_magnetic:()=>TV,sensor_mixgo_light:()=>BV,sensor_mixgo_nova_LTR308:()=>Ax,sensor_mixgo_nova_pin_near:()=>gx,sensor_mixgo_pin_near:()=>cx,sensor_mixgo_pin_near_double:()=>Rx,sensor_mixgo_pin_near_single:()=>Ox,sensor_mixgo_pin_pressed:()=>kx,sensor_mixgo_sant_color:()=>Sx,sensor_mixgo_touch_slide:()=>Hx,sensor_mixgocar42_button_attachInterrupt:()=>rx,sensor_mixgocar42_button_get_presses:()=>ux,sensor_mixgocar42_button_is_pressed:()=>px,sensor_mixgocar42_button_was_pressed:()=>ax,sensor_mixgocar_battery_left:()=>NV,sensor_mixgocar_pin_near:()=>AV,sensor_mixgocar_pin_near_line:()=>SV,sensor_mixgocar_pin_near_state_change:()=>LV,sensor_mixgoce_pin_pressed:()=>wx,sensor_mixgoce_temperature:()=>EV,sensor_mixgome_temperature:()=>mV,sensor_mpu9250_calibrate_compass:()=>qx,sensor_mpu9250_field_strength:()=>jx,sensor_mpu9250_gesture:()=>Gx,sensor_mpu9250_get_acceleration:()=>Ux,sensor_mpu9250_get_gyro:()=>Qx,sensor_mpu9250_get_magnetic:()=>Jx,sensor_mpu9250_temperature:()=>zx,sensor_mpython_pin_pressed:()=>Wx,sensor_mpython_qmi8658_get_gyro:()=>OV,sensor_mpython_qmi8658_temperature:()=>RV,sensor_onboard_compass_reset:()=>_V,sensor_onboard_mpu9250_calibrate_compass:()=>nV,sensor_onboard_mpu9250_field_strength:()=>oV,sensor_onboard_mpu9250_gesture:()=>Zx,sensor_onboard_mpu9250_get_acceleration:()=>tV,sensor_onboard_mpu9250_get_gyro:()=>iV,sensor_onboard_mpu9250_get_magnetic:()=>eV,sensor_onboard_mpu9250_temperature:()=>sV,sensor_pin_near:()=>VV,sensor_pin_pressed:()=>xV,sensor_read:()=>HV,sensor_rm_acc:()=>CV,sensor_rm_battery_left:()=>gV,sensor_rm_pin_near_double:()=>cV,sensor_sound:()=>fx,simulated_light_sensor:()=>tB});var st={};t.r(st),t.d(st,{serial_any:()=>oB,serial_print:()=>eB,serial_print_byte:()=>iB,serial_print_hex:()=>sB,serial_println:()=>nB,serial_read_from_ai:()=>hB,serial_readline:()=>pB,serial_readstr:()=>_B,serial_send_to_ai:()=>MB,serial_softserial:()=>aB,serial_softserial_new:()=>uB,system_input:()=>rB,system_print:()=>dB,system_print_end:()=>IB,system_print_inline:()=>lB,system_print_many:()=>TB});var ot={};t.r(ot),t.d(ot,{Panic_with_status_code:()=>DB,Timer_init:()=>kB,base_delay:()=>JB,controls_delay:()=>YB,controls_delay_new:()=>XB,controls_end_program:()=>FB,controls_millis:()=>fB,controls_uname:()=>vB,reset:()=>PB,set_system_timer:()=>yB,system_bitbot_shutdown:()=>HB,system_device_name:()=>LB,system_device_serial_number:()=>NB,system_event_bus_source:()=>SB,system_event_bus_value:()=>AB,system_machine_reset:()=>wB,system_on_event:()=>cB,system_raise_event:()=>RB,system_reset:()=>EB,system_run_in_background:()=>mB,system_ticks_diff:()=>xB,system_timer:()=>BB,system_timer_init:()=>VB,system_timestamp:()=>gB,system_value:()=>CB,system_wait:()=>OB,system_wdt_feed:()=>UB,system_wdt_init:()=>GB,time_ticks_diff:()=>KB,timer:()=>bB,timer2:()=>WB});var _t={};t.r(_t),t.d(_t,{Air_daily_content:()=>_G,Air_now_content:()=>ZB,Geo_moon_content:()=>aG,Geo_sun_content:()=>pG,Life_suggestion_content:()=>eG,Location_search_content:()=>nG,Tide_daily_content:()=>iG,WEATHER_DAILY:()=>qB,WEATHER_HOUR:()=>zB,WEATHER_NOW:()=>QB,Weather_alarm_content:()=>tG,Weather_daily:()=>sG,Weather_daily_content:()=>oG,Weather_now:()=>jB,Weather_now_content:()=>$B});var pt={};t.r(pt),t.d(pt,{MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED:()=>dG});var at={};t.r(at),t.d(at,{MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED:()=>IG});var ut={};t.r(ut),t.d(ut,{MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED:()=>MG});var rt={};t.r(rt),t.d(rt,{analog_input:()=>DG,analog_output:()=>FG,espnow_channel:()=>AG,haskylens_model:()=>LG,i2c_A_pin:()=>PG,i2c_B_pin:()=>vG,pins_analog:()=>xG,pins_analog_pin:()=>VG,pins_axis:()=>tU,pins_brightness:()=>eU,pins_builtinimg:()=>JG,pins_builtinimg_extern:()=>QG,pins_button:()=>UG,pins_dac:()=>BG,pins_dac_pin:()=>GG,pins_digital:()=>RG,pins_digital_dot:()=>uU,pins_digital_pin:()=>cG,pins_exlcdh:()=>$G,pins_exlcdv:()=>ZG,pins_imglist:()=>qG,pins_input_pin:()=>gG,pins_mpython_touch:()=>SG,pins_one_more:()=>aU,pins_output_pin:()=>CG,pins_playlist:()=>zG,pins_playlist_extern:()=>jG,pins_pwm:()=>wG,pins_pwm_pin:()=>HG,pins_radio_datarate:()=>pU,pins_radio_power:()=>_U,pins_serial:()=>KG,pins_tone_notes:()=>oU,pins_touch:()=>WG,pins_touch_pin:()=>kG,pins_tts_bgmusic:()=>sU,pins_tts_builtin_music:()=>nU,pins_tts_voice:()=>iU,pwm_input:()=>NG,pwm_output:()=>fG,spi_A_pin:()=>YG,spi_B_pin:()=>XG,spi_C_pin:()=>bG,spi_D_pin:()=>yG});var dt={};t.r(dt),t.d(dt,{espnow_channel:()=>OU,haskylens_model:()=>RU,pins_analog:()=>hU,pins_analog_pin:()=>MU,pins_axis:()=>YU,pins_brightness:()=>yU,pins_builtinimg:()=>DU,pins_builtinimg_extern:()=>fU,pins_button:()=>dU,pins_dac:()=>CU,pins_dac_pin:()=>gU,pins_digital:()=>rU,pins_digital_dot:()=>kU,pins_digital_pin:()=>lU,pins_exlcdh:()=>XU,pins_exlcdv:()=>bU,pins_imglist:()=>FU,pins_input_pin:()=>IU,pins_interrupt:()=>LU,pins_mpython_touch:()=>cU,pins_one_more:()=>HU,pins_output_pin:()=>TU,pins_playlist:()=>PU,pins_playlist_extern:()=>vU,pins_pwm:()=>EU,pins_pwm_pin:()=>mU,pins_radio_datarate:()=>wU,pins_radio_power:()=>UU,pins_serial:()=>NU,pins_tone_notes:()=>GU,pins_touch:()=>AU,pins_touch_pin:()=>SU,pins_tts_bgmusic:()=>BU,pins_tts_builtin_music:()=>VU,pins_tts_voice:()=>xU});const lt=Blockly,It=Mixly,Tt={NAME_TYPE:"VARIABLE",allVariables:function(t){var e;if(t.getDescendants)e=t.getDescendants();else{if(!t.getAllBlocks)throw"Not Block or Workspace: "+t;e=t.getAllBlocks()}for(var i=Object.create(null),n=0;n1&&(_+=n)):i=_}else i="i";return i}},Mt=Tt; -/** - * @license - * Visual Blocks Editor - * - * Copyright 2012 Google Inc. - * https://developers.google.com/blockly/ - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -class ht{constructor(t,e){if(this.variablePrefix_=e||"",this.reservedDict_=Object.create(null),t)for(var i=t.split(","),n=0;n0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(lt.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+s).appendField(lt.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(lt.Msg.CONTROLS_IF_MSG_ELSE);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_if_if");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_if_elseif");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var o=t.newBlock("controls_if_else");o.initSvg(),i.connect(o.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],o=null;i;){switch(i.type){case"controls_if_elseif":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_if_else":this.elseCount_++,o=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,o)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_if_elseif":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_if_else":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),o=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(o.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(lt.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+t).appendField(lt.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(lt.Msg.CONTROLS_IF_MSG_ELSE)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},bt={init:function(){this.setColour(ft),this.appendValueInput("FROM").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.PYTHON_RANGE).appendField(lt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.PYTHON_RANGE_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(lt.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},yt={init:function(){this.setColour(ft),this.appendValueInput("LIST").setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.CONTROLS_FOREACH_INPUT),this.appendValueInput("VAR").appendField(lt.Msg.CONTROLS_FOREACH_INPUT_ITEM),this.appendStatementInput("DO").appendField(lt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip((function(){return lt.Msg.CONTROLS_FOR_TOOLTIP.replace("“%1”","")}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){lt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},xt={init:function(){this.setColour(ft),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(lt.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(new lt.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(lt.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT+lt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return{WHILE:lt.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:lt.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[e]}))}},Vt={init:function(){this.setColour(ft),this.appendDummyInput().appendField(lt.Msg.MIXLY_PYTHON_TRY),this.appendStatementInput("try"),this.appendValueInput("IF1").appendField(lt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO1").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new lt.icons.MutatorIcon(["controls_except","controls_finally"],this)),this.setTooltip(lt.Msg.MIXLY_MIXPY_CONTROL_TRY_TOOLTIP),this.elseifCount_=1,this.elseCount_=0},mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var t=document.createElement("mutation");return this.elseifCount_&&t.setAttribute("elseif",this.elseifCount_),this.elseCount_&&t.setAttribute("else",1),t},domToMutation:function(t){var e=this,i=[],n=[];this.elseCount_&&this.removeInput("ELSE");for(var s=this.elseifCount_;s>0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(lt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+s).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(lt.Msg.MIXLY_PYTHON_FINALLY);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_try");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_except");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var o=t.newBlock("controls_finally");o.initSvg(),i.connect(o.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],o=null;i;){switch(i.type){case"controls_except":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_finally":this.elseCount_++,o=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,o)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_except":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_finally":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),o=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(o.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(lt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+t).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(lt.Msg.MIXLY_PYTHON_FINALLY)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},Bt={init:function(){this.setColour(ft);var t=new lt.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(t,"FLOW").appendField(lt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0),this.setTooltip(lt.Msg.MIXLY_PYTHON_CONTROLS_FLOW_STATEMENTS_TOOLTIP);var e=this;this.setTooltip((function(){var t=e.getFieldValue("FLOW");return{BREAK:lt.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:lt.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}[t]}))},onchange:function(){if(this.workspace){var t=!1,e=this;do{if("controls_repeat"==e.type||"controls_for"==e.type||"controls_forEach"==e.type||"controls_repeat_ext"==e.type||"controls_whileUntil"==e.type||"do_while"==e.type){t=!0;break}e=e.getSurroundParent()}while(e);t?this.setWarningText(null):this.setWarningText(lt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}},Gt={init:function(){this.setColour(ft),this.appendDummyInput().appendField(lt.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new lt.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(lt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return lt.Msg.CONTROLS_FOR_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){lt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Ut={init:function(){this.setColour(ft),this.appendDummyInput().appendField(lt.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new lt.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(lt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return lt.Msg.MIXLY_PYTHON_CONTROLS_FOR_RANGE_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){lt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}};xt.OPERATORS=[[lt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[lt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]],Bt.OPERATORS=[[lt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[lt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const wt={init:function(){this.setColour(ft),this.appendDummyInput().appendField(lt.Msg.CONTROLS_IF_IF_TITLE_IF),this.appendStatementInput("STACK"),this.setTooltip(lt.Msg.CONTROLS_IF_IF_TOOLTIP),this.contextMenu=!1}},Ht={init:function(){this.setColour(ft),this.appendDummyInput().appendField(lt.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},kt={init:function(){this.setColour(ft),this.appendDummyInput().appendField(lt.Msg.CONTROLS_IF_ELSE_TITLE_ELSE),this.setPreviousStatement(!0),this.setTooltip(lt.Msg.CONTROLS_IF_ELSE_TOOLTIP),this.contextMenu=!1}},Wt={init:function(){this.setColour(ft),this.appendDummyInput().appendField("try"),this.appendStatementInput("STACK"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.contextMenu=!1}},Kt={init:function(){this.setColour(ft),this.appendDummyInput().appendField(lt.Msg.MIXLY_PYTHON_EXCEPT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1,this.setTooltip(lt.Msg.MIXLY_MIXPY_CONTROL_EXCEPT_TOOLTIP)}},Jt={init:function(){this.setColour(ft),this.appendDummyInput().appendField(lt.Msg.MIXLY_PYTHON_FINALLY),this.setPreviousStatement(!0),this.contextMenu=!1,this.setTooltip(lt.Msg.MIXLY_MIXPY_CONTROL_FINALLY_TOOLTIP)}},Qt={init:function(){this.jsonInit({message0:lt.Msg.CONTROLS_REPEAT_TITLE,args0:[{type:"input_value",name:"TIMES"}],previousStatement:null,nextStatement:null,colour:ft,tooltip:lt.Msg.CONTROLS_REPEAT_TOOLTIP,helpUrl:lt.Msg.CONTROLS_REPEAT_HELPURL}),this.appendStatementInput("DO")}},qt={init:function(){this.setColour(ft),this.appendValueInput("BOOL").appendField("lambda"),this.appendStatementInput("DO").appendField(lt.Msg.MIXLY_STAT),this.setOutput(!0)}},zt={init:function(){this.setColour(ft),this.appendDummyInput().appendField(lt.Msg.MIXLY_PYTHON_PASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.MIXLY_PYTHON_CONTROLS_PASS_TOOLTIP)}},jt={init:function(){this.setColour(ft),this.appendDummyInput().appendField(lt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_START),this.appendValueInput("callback").appendField(lt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_TOOLTIP)}},$t={init:function(){this.appendDummyInput().appendField(lt.Msg.CONTROLS_REPEAT_TITLE_REPEAT+lt.Msg.MIXLY_DO),this.appendStatementInput("input_data").setCheck(null),this.appendValueInput("select_data").setCheck(null).appendField(lt.Msg.CONTROLS_OPERATOR_UNTIL).appendField(new lt.FieldDropdown([[lt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"true"],[lt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"false"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(ft),this.setTooltip("do-while loop"),this.setHelpUrl("")}},Zt={init:function(){this.setColour(ft),this.appendDummyInput().appendField(lt.Msg.MIXLY_OP_GARBAGE_COLLECT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},te={init:function(){this.setColour(ft),this.appendDummyInput().appendField(lt.Msg.MIXLY_GET_MEM_ALLOC),this.setOutput(!0)}},ee={init:function(){this.setColour(ft),this.appendDummyInput().appendField(lt.Msg.MIXLY_GET_MEM_FREE),this.setOutput(!0)}},ie={init:function(){this.setColour(ft),this.appendDummyInput().appendField(lt.Msg.MIXLY_GET+lt.Msg.MIXLY_DEVICE+"ID"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(lt.Msg.PROCEDURES_DEFRETURN_RETURN+lt.Msg.MIXLY_GET_UNIQUE_IDEN)}},ne={init:function(){this.setColour(ft),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_RTC_TIMESTAMP),this.appendDummyInput().appendField(lt.Msg.MIXLY_TIMESTAMP_TO_DATA),this.setInputsInline(!0),this.setOutput(!0,Number)}},se={init:function(){this.setColour(ft),this.appendDummyInput().appendField(lt.Msg.MIXLY_GET_UNIQUE_IDEN),this.setOutput(!0)}},oe=230;lt.FieldTextInput.math_number_validator=function(t){return String(t)},lt.FieldTextInput.math_number_validator_include_blank=function(t){if(""===t)return"";return/^-?(0X|0x|0O|0o|0B|0b)?[a-fA-F0-9]{1,}(\.[a-fA-F0-9]+)?$/.test(t)?String(t):null};const _e={init:function(){this.setColour(oe),this.appendDummyInput().appendField(new lt.FieldTextInput("0",lt.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(lt.Msg.MATH_NUMBER_TOOLTIP)}},pe={init:function(){this.setColour(oe);this.appendDummyInput("").appendField(lt.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new lt.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:lt.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_TOOLTIP,e:lt.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_TOOLTIP}[e]}))}},ae={init:function(){this.setColour(oe);this.appendDummyInput("").appendField(lt.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new lt.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:lt.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_MP_TOOLTIP,e:lt.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_MP_TOOLTIP}[e]}))}},ue={init:function(){this.setColour(oe),this.setOutput(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new lt.FieldDropdown([["+","ADD"],["-","MINUS"],["×","MULTIPLY"],["÷","DIVIDE"],["%","QUYU"],["//","ZHENGCHU"],["**","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:lt.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:lt.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:lt.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:lt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:lt.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:lt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:lt.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},re={init:function(){this.setColour(oe),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new lt.FieldDropdown([["+=","ADD"],["-=","MINUS"],["×=","MULTIPLY"],["÷=","DIVIDE"],["%=","QUYU"],["//=","ZHENGCHU"],["**=","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:lt.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:lt.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:lt.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:lt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:lt.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:lt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:lt.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},de={init:function(){this.setColour(oe),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new lt.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},le={init:function(){this.setColour(oe),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new lt.FieldDropdown([["sin","SIN"],["cos","COS"],["tan","TAN"],["asin","ASIN"],["acos","ACOS"],["atan","ATAN"],["-","-"],["ln","LN"],["log10","LOG10"],["e^","EXP"],["10^","POW10"]]),"OP");var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{SIN:lt.Msg.MATH_TRIG_TOOLTIP_SIN,COS:lt.Msg.MATH_TRIG_TOOLTIP_COS,TAN:lt.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:lt.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:lt.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:lt.Msg.MATH_TRIG_TOOLTIP_ATAN,LN:lt.Msg.MATH_SINGLE_TOOLTIP_LN}[e]}))}},Ie={init:function(){var t=[[lt.Msg.MATH_BIN,"bin"],[lt.Msg.MATH_OCT,"oct"],[lt.Msg.MATH_HEX,"hex"]];this.setColour(oe),this.setOutput(!0,String),this.appendValueInput("NUM").setCheck(Number).appendField(new lt.FieldDropdown(t),"OP");var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{bin:lt.Msg.MATH_DEC_TOOLTIP_BIN,oct:lt.Msg.MATH_DEC_TOOLTIP_OCT,hex:lt.Msg.MATH_DEC_TOOLTIP_HEX}[t]}))}},Te={init:function(){var t=[[lt.Msg.LANG_MATH_TO_ROUND,"round"],[lt.Msg.LANG_MATH_TO_CEIL,"ceil"],[lt.Msg.LANG_MATH_TO_FLOOR,"floor"],[lt.Msg.MATH_ABS,"fabs"],[lt.Msg.MATH_SQRT,"sqrt"]];this.setColour(oe),this.appendValueInput("A").setCheck(Number).appendField(new lt.FieldDropdown(t),"OP"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{sqrt:lt.Msg.MATH_SINGLE_TOOLTIP_ROOT,fabs:lt.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:lt.Msg.MATH_SINGLE_TOOLTIP_SQ,round:lt.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:lt.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:lt.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[t]}))}},Me={init:function(){var t=[[lt.Msg.MIXLY_MAX,"max"],[lt.Msg.MIXLY_MIN,"min"]];this.setColour(oe),this.appendValueInput("A").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(new lt.FieldDropdown(t),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(lt.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{max:lt.Msg.MIXLY_TOOLTIP_MATH_MAX,min:lt.Msg.MIXLY_TOOLTIP_MATH_MIN}[t]}))}},he={init:function(){var t=[[lt.Msg.MATH_TWO,"two"],[lt.Msg.MATH_EIGHT,"eight"],[lt.Msg.MATH_TEN,"ten"],[lt.Msg.MATH_SIXTEEN,"sixteen"]];this.setColour(oe),this.appendDummyInput("").appendField(lt.Msg.MATH_BA),this.appendValueInput("NUM").appendField(new lt.FieldDropdown(t),"OP").appendField(lt.Msg.MATH_JinZhi).setCheck(Number),this.appendDummyInput("").appendField(lt.Msg.MATH_ZHW).appendField(new lt.FieldDropdown(t),"OP2").appendField(lt.Msg.MATH_JinZhi),this.setFieldValue("ten","OP2"),this.setOutput(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i={two:lt.Msg.MATH_Before_two,eight:lt.Msg.MATH_Before_eight,ten:lt.Msg.MATH_Before_ten,sixteen:lt.Msg.MATH_Before_sixteen},n=e.getFieldValue("OP2"),s={two:lt.Msg.MATH_Behind_two,eight:lt.Msg.MATH_Behind_eight,ten:lt.Msg.MATH_Behind_ten,sixteen:lt.Msg.MATH_Behind_sixteen};return i[t]+s[n]}))}},me={init:function(){var t=[[lt.Msg.LANG_MATH_INT,"int"],[lt.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(oe),this.setOutput(!0,Number),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_RANDOM).appendField(new lt.FieldDropdown(t),"TYPE"),this.appendValueInput("FROM").setCheck(Number).appendField(lt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TYPE"),i={int:lt.Msg.LANG_MATH_INT,float:lt.Msg.LANG_MATH_FLOAT_RANDOM};return lt.Msg.MATH_RANDOM_INT_TOOLTIP+i[t]}))}},Ee={init:function(){this.setColour(oe),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(lt.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(lt.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(lt.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(lt.Msg.MATH_CONSTRAIN_TOOLTIP)}},Oe={init:function(){this.setColour(oe),this.appendValueInput("NUM",Number).appendField(lt.Msg.MIXLY_MAP).setCheck(Number),this.appendValueInput("fromLow",Number).appendField(lt.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(lt.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(lt.Msg.MIXLY_TOOLTIP_MATH_MAP)}},Re={init:function(){this.setColour(oe),this.appendDummyInput().appendField(new lt.FieldTextInput("0",lt.FieldTextInput.math_number_validator_include_blank),"NUM"),this.setOutput(!0),this.setTooltip(lt.Msg.MATH_NUMBER_TOOLTIP)}},ce={init:function(){this.setColour(oe),this.appendValueInput("NUM").setCheck(Number).appendField(lt.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED)}},ge={init:function(){this.setColour(oe),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number),this.appendValueInput("VAR").setCheck(Number).appendField(lt.Msg.MATH_ROUND).appendField(lt.Msg.TEXT_KEEP),this.appendDummyInput().appendField(lt.Msg.TEXT_DECIMAL),this.setInputsInline(!0),this.setTooltip(lt.Msg.MATH_ROUND_NEW_TOOLTIP)}},Ce={init:function(){var t=[[lt.Msg.MIXLY_TO_INT,"int"],[lt.Msg.MIXLY_TO_FLOAT,"float"],[lt.Msg.MIXLY_TO_BITES,"b"],[lt.Msg.LANG_MATH_BYTE+lt.Msg.MIXLY_TO_INT,"bti"]];this.setColour(oe),this.appendValueInput("VAR").appendField(new lt.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:lt.Msg.MIXLY_PYTHON_TOOLTIP_TOINT,float:lt.Msg.MIXLY_PYTHON_TOOLTIP_TOFLOAT,b:lt.Msg.MIXLY_TOOLTIP_TEXT_TOBYTE}[t]}))}},Se={init:function(){var t=[[lt.Msg.MIXLY_TO_INT,"int"],[lt.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(oe),this.appendValueInput("VAR").appendField(new lt.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:lt.Msg.MIXLY_TOOLTIP_TEXT_TOINT,float:lt.Msg.MIXLY_TOOLTIP_TEXT_TOFLOAT}[t]}))}},Ae=Oe,Le={init:function(){this.setColour(oe),this.appendValueInput("VAR").appendField(lt.Msg.LANG_MATH_BYTE+lt.Msg.MIXLY_TO_HEX),this.setOutput(!0,Number),this.setTooltip(lt.Msg.MIXLY_PYTHON_TOOLTIP_TOHEX)}},Ne={init:function(){this.setColour(oe),this.itemCount_=1,this.setMutator(new lt.icons.MutatorIcon(["lists_create_with_item"],this)),this.appendDummyInput("DUMMY").appendField(lt.Msg.MIXLY_PRODUCT+lt.Msg.MIXLY_GENERATE_CARTESIAN_PRODUCT),this.appendValueInput("REPEAT").appendField(lt.Msg.MIXLY_EVERY_PER_ELEPER_ELEMENT),this.appendDummyInput().appendField(lt.Msg.CONTROLS_REPEAT_TITLE_TIMES),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0),this.setTooltip(lt.Msg.LISTS_CREATE_WITH_PYTHON_TOOLTIP),this.updateShape_()},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("lists_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n1&&"\\"===t.charAt(0)){var e=t.charAt(1);if("0"===e||"b"===e||"f"===e||"n"===e||"r"===e||"t"===e||"\\"===e||"'"===e)return String(t).substring(0,2);if("x"===e&&"0"===t.charAt(2)&&"B"===t.charAt(3))return String(t).substring(0,4)}return String(t).substring(0,1)};const Xe={init:function(){this.setColour(Fe),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new lt.FieldTextInput("",lt.FieldTextInput.char_validator),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,Number),this.setTooltip(lt.Msg.TEXT_CHAR_TOOLTIP)},newQuote_:function(t){if(1==t)var e="../../media/quote2.png";else e="../../media/quote3.png";return new lt.FieldImage(e,7,12,'"')}},be={init:function(){this.setColour(Fe),this.appendValueInput("A").setCheck([String,Number]),this.appendValueInput("B").setCheck([String,Number]).appendField(lt.Msg.MIXLY_TEXT_JOIN),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(lt.Msg.MIXLY_TOOLTIP_TEXT_JOIN)}},ye={init:function(){this.setColour(Fe),this.appendValueInput("VAR").setCheck(Number).appendField(lt.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(lt.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},xe={init:function(){this.setColour(Fe),this.appendValueInput("VAR").setCheck(String).appendField(lt.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(lt.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},Ve={init:function(){this.setColour(Fe),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(lt.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},Be={init:function(){this.setColour(Fe),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(lt.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},Ge={init:function(){this.WHERE_OPTIONS=[[lt.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[lt.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[lt.Msg.TEXT_GET_INDEX_RANDOM+1+lt.Msg.TEXT_CHARAT2,"RANDOM"]],this.setHelpUrl(lt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Fe),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number),this.appendDummyInput().appendField(lt.Msg.LISTS_GET_INDEX_GET,"MODE"),lt.Msg.LISTS_GET_INDEX_TAIL&&this.appendDummyInput("TAIL").appendField(lt.Msg.LISTS_GET_INDEX_TAIL),this.setInputsInline(!0),this.setOutput(!0),this.updateAt_(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=t.getFieldValue("WHERE"),n="";switch(e+" "+i){case"GET FROM_START":case"GET FROM_END":n=lt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM;break;case"GET RANDOM":n=lt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM;break;case"GET_REMOVE FROM_START":case"GET_REMOVE FROM_END":n=lt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM;break;case"GET_REMOVE RANDOM":n=lt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM}return"FROM_START"!=i&&"FROM_END"!=i||(n+=" "+lt.Msg.LISTS_INDEX_FROM_START_TOOLTIP.replace("%1",lt.Msg.ONE_BASED_INDEXING?"#1":"#0")),n}));var e=this;this.setTooltip((function(){var t=e.getFieldValue("WHERE"),i={FROM_START:lt.Msg.LISTS_GET_INDEX_FROM_START,FROM_END:lt.Msg.LISTS_GET_INDEX_FROM_END,RANDOM:lt.Msg.TEXT_GET_INDEX_RANDOM};return lt.Msg.PROCEDURES_DEFRETURN_RETURN+lt.Msg.MIXLY_MICROBIT_TYPE_STRING+i[t]+"n"+lt.Msg.TEXT_CHARAT2}))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("statement",!this.outputConnection);var e=this.getInput("AT").type==lt.INPUT_VALUE;return t.setAttribute("at",e),t},domToMutation:function(t){var e="true"==t.getAttribute("statement");this.updateStatement_(e),t="false"!=t.getAttribute("at"),this.updateAt_(t)},updateStatement_:function(t){t!=!this.outputConnection&&(this.unplug(!0,!0),t?(this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)):(this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)))},updateAt_:function(t){this.removeInput("AT"),this.removeInput("ORDINAL",!0),t?(this.appendValueInput("AT").setCheck(Number),lt.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL").appendField(lt.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT");var e=new lt.FieldDropdown(this.WHERE_OPTIONS,(function(e){var i="FROM_START"==e||"FROM_END"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT").appendField(e,"WHERE"),lt.Msg.LISTS_GET_INDEX_TAIL&&this.moveInputBefore("TAIL",null)}},Ue={init:function(){this.setHelpUrl(lt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Fe),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number).appendField(lt.Msg.LISTS_GET_INDEX_GET+" "+lt.Msg.LISTS_GET_INDEX_FROM_START),this.appendDummyInput().appendField(lt.Msg.TEXT_CHARAT2),this.setOutput(!0),this.setTooltip(lt.Msg.PROCEDURES_DEFRETURN_RETURN+lt.Msg.MIXLY_MICROBIT_TYPE_STRING+lt.Msg.LISTS_GET_INDEX_FROM_START+"n"+lt.Msg.TEXT_CHARAT2)}},we={init:function(){this.setHelpUrl(lt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Fe),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(lt.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(lt.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},He={init:function(){this.WHERE_OPTIONS_1=[[lt.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[lt.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[lt.Msg.LISTS_GET_SUBLIST_START_FIRST,"FIRST"]],this.WHERE_OPTIONS_2=[[lt.Msg.LISTS_GET_SUBLIST_END_FROM_START,"FROM_START"],[lt.Msg.LISTS_GET_SUBLIST_END_FROM_END,"FROM_END"],[lt.Msg.LISTS_GET_SUBLIST_END_LAST,"LAST"]],this.setHelpUrl(lt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Fe),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput("AT1"),this.appendDummyInput("AT2"),this.setInputsInline(!0),this.setOutput(!0,"List"),this.updateAt_(1,!0),this.updateAt_(2,!0),this.setTooltip(lt.Msg._GET_TEXT_SUBLIST_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT1").type==lt.INPUT_VALUE;t.setAttribute("at1",e);var i=this.getInput("AT2").type==lt.INPUT_VALUE;return t.setAttribute("at2",i),t},domToMutation:function(t){var e="true"==t.getAttribute("at1"),i="true"==t.getAttribute("at2");this.updateAt_(1,e),this.updateAt_(2,i)},updateAt_:function(t,e){this.removeInput("AT"+t),this.removeInput("ORDINAL"+t,!0),e?(this.appendValueInput("AT"+t).setCheck(Number),lt.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL"+t).appendField(lt.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT"+t);var i=new lt.FieldDropdown(this["WHERE_OPTIONS_"+t],(function(i){var n="FROM_START"==i||"FROM_END"==i;if(n!=e){var s=this.sourceBlock_;return s.updateAt_(t,n),s.setFieldValue(i,"WHERE"+t),null}}));this.getInput("AT"+t).appendField(i,"WHERE"+t),1==t&&(this.moveInputBefore("AT1","AT2"),this.getInput("ORDINAL1")&&this.moveInputBefore("ORDINAL1","AT2"))}},ke={init:function(){this.setHelpUrl(lt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Fe),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT1").appendField(lt.Msg.LISTS_GET_INDEX_GET+" "+lt.Msg.LISTS_GET_INDEX_FROM_START),this.appendValueInput("AT2").appendField(lt.Msg.LISTS_GET_SUBLIST_END_FROM_START),this.appendDummyInput().appendField(lt.Msg.TEXT_CHARAT2),this.setInputsInline(!0),this.setOutput(!0,["List",String]),this.setTooltip(lt.Msg._GET_TEXT_SUBLIST_TOOLTIP)}},We={init:function(){var t=[[lt.Msg.MIXLY_EQUALS,"==="],[lt.Msg.MIXLY_STARTSWITH,"startswith"],[lt.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(Fe),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new lt.FieldDropdown(t),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},Ke={init:function(){this.setColour(Fe),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(lt.Msg.MIXLY_COMPARETO).setCheck(String),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_COMPARETO_HELP)}},Je={init:function(){var t=[[lt.Msg.TEXT_UPPER,"upper"],[lt.Msg.TEXT_TITLE,"title"],[lt.Msg.TEXT_CAPITALIZE,"capitalize"],[lt.Msg.TEXT_SWAPCASE,"swapcase"],[lt.Msg.TEXT_LOWER,"lower"]];this.setColour(Fe),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new lt.FieldDropdown(t),"CAPITAL").setCheck(String),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CAPITAL");return{upper:lt.Msg.MIXLY_MIXPY_TEXT_UPPER_TOOLTIP,title:lt.Msg.MIXLY_MIXPY_TEXT_TITLE_TOOLTIP,swapcase:lt.Msg.MIXLY_MIXPY_TEXT_SWAPCASE_TOOLTIP,capitalize:lt.Msg.MIXLY_MIXPY_TEXT_CAPITALIZE_TOOLTIP,lower:lt.Msg.MIXLY_MIXPY_TEXT_LOWER_TOOLTIP}[t]}))}},Qe={init:function(){var t=[[lt.Msg.TEXT_LJUST,"ljust"],[lt.Msg.TEXT_CENTER,"center"],[lt.Msg.TEXT_RJUST,"rjust"]];this.setColour(Fe),this.appendValueInput("VAR").appendField(new lt.FieldDropdown(t),"CENTER").setCheck(String),this.appendValueInput("WID").appendField(lt.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("Symbol").appendField(lt.Msg.MIXLY_RECT_Fill).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(lt.Msg.MIXLY_MIXPY_TEXT_CENTER_TOOLTIP)}},qe={init:function(){this.setColour(Fe),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).setCheck(String),this.appendValueInput("STR").appendField(lt.Msg.MIXLY_MID+lt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER).setCheck(String),this.appendDummyInput().appendField(lt.Msg.MIXLY_LIST_INDEX),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(lt.Msg.MIXLY_MIXPY_TEXT_FIND_TOOLTIP)}},ze={init:function(){this.setColour(Fe),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_USE_STR).setCheck(String),this.appendValueInput("LIST").appendField(lt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_SEQ).setCheck("List","Tuple","Set","Dict"),this.appendDummyInput().appendField(lt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_GET_STR),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(lt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_TOOLTIP)}},je={init:function(){this.setColour(Fe),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("STR1").appendField(lt.Msg.MIXLY_MIXPY_REPLACE).setCheck(String),this.appendValueInput("STR2").appendField(lt.Msg.LISTS_SET_INDEX_INPUT_TO).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(lt.Msg.MIXLY_MIXPY_TEXT_REPLACE_TOOLTIP)}},$e={init:function(){this.setColour(Fe),this.appendValueInput("VAR"),this.appendValueInput("VAL").appendField(lt.Msg.LIST_SPLIT_AS),this.appendDummyInput("").appendField(lt.Msg.LIST_SPLIT),this.setOutput(!0,"List"),this.setTooltip(lt.Msg.MIXLY_MIXPY_TEXT_SPLIT_TOOLTIP),this.setInputsInline(!0)}},Ze={init:function(){var t=[[lt.Msg.TEXT_TRIM_BOTH,"strip"],[lt.Msg.TEXT_TRIM_LEFT,"lstrip"],[lt.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(Fe),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(lt.Msg.TEXT_STRIM),this.appendDummyInput("").appendField(new lt.FieldDropdown(t),"TOWHAT"),this.appendDummyInput("").appendField(lt.Msg.TEXT_BLANK),this.setOutput(!0,String),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{strip:lt.Msg.TEXT_TRIM_BOTH_TOOLTIP,lstrip:lt.Msg.TEXT_TRIM_LEFT_TOOLTIP,rstrip:lt.Msg.TEXT_TRIM_RIGHT_TOOLTIP}[t]}))}},ti={init:function(){this.setColour(Fe),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROPYTHON_FORMAT),this.appendDummyInput("").appendField(new lt.FieldTextInput("str"),"VAR"),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new lt.icons.MutatorIcon(["text_create_with_item"],this)),this.setOutput(!0),this.setTooltip(lt.Msg.MIXLY_MIXPY_TEXT_FORMAT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("text_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){lt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},zi={init:function(){this.setColour(Qi),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(lt.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},ji={init:function(){this.setColour(Qi),this.appendDummyInput().appendField(lt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},$i={init:function(){this.setColour(Qi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(lt.Msg.DICT_KEYS),this.setTooltip(lt.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},Zi={init:function(){this.setColour(Qi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(lt.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(lt.Msg.DICTS_ADD_VALUE),this.setOutput(!0),this.setTooltip(lt.Msg.DICTS_GET_TOOLTIP)}},tn={init:function(){this.setColour(Qi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(lt.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(lt.Msg.DICTS_ADD_VALUE),this.appendValueInput("VAR").appendField(lt.Msg.DICTS_DEFAULT_VALUE),this.setOutput(!0),this.setTooltip(lt.Msg.DICTS_GET_DEFAULT_TOOLTIP)}},en={init:function(){this.setColour(Qi),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(lt.Msg.DICTS_ADD),this.appendDummyInput(),this.appendValueInput("VAR").appendField(lt.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.DICTS_ADD_OR_CHANGE_TOOLTIP)}},nn={init:function(){this.setColour(Qi),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(lt.Msg.DICTS_DELETE_IN),this.appendDummyInput("").appendField(lt.Msg.DICTS_DELETE_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.DICTS_DELETE_TOOLTIP)}},sn={init:function(){this.setColour(Qi),this.appendValueInput("DICT2").setCheck("Dict").appendField(lt.Msg.MAKE_DICT),this.appendValueInput("DICT").setCheck("Dict").appendField(lt.Msg.DICT_UPDATE),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MID),this.setTooltip(lt.Msg.DICTS_UPDATE_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},on={init:function(){this.setColour(Qi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(lt.Msg.DICT_CLEAR),this.setTooltip(lt.Msg.DICTS_CLEAR_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},_n={init:function(){this.setColour(Qi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(lt.Msg.DICT_ITEMS),this.setTooltip(lt.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},pn={init:function(){this.setColour(Qi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(lt.Msg.DICT_VALUES),this.setTooltip(lt.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},an={init:function(){this.setColour(Qi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_LENGTH),this.setTooltip(lt.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},un={init:function(){this.setColour(Qi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(lt.Msg.DICT_DELDICT),this.setTooltip(lt.Msg.DICTS_DEL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},rn={init:function(){this.MODE=[[lt.Msg.DICTS_ADD_OR_CHANGE,"INSERT"],[lt.Msg.MIXLY_MICROBIT_JS_DELETE_VAR,"DELETE"]],this.setHelpUrl(lt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Qi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("AT2"),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).appendField(lt.Msg.DICTS_ADD_VALUE),this.updateAt_(!0),this.setInputsInline(!0),this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e="";switch(t.getFieldValue("WHERE")){case"INSERT":e=lt.Msg.DICTS_ADD_TOOLTIP;break;case"DELETE":e=lt.Msg.DICTS_DELETE_TOOLTIP}return e}))},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT2").type==lt.INPUT_VALUE;return t.setAttribute("at2",e),t},domToMutation:function(t){var e="true"==t.getAttribute("at2");this.updateAt_(e)},updateAt_:function(t){this.removeInput("AT2"),this.removeInput("ORDINAL",!0),t?this.appendValueInput("AT2").setCheck(Number):this.appendDummyInput("AT2");var e=new lt.FieldDropdown(this.MODE,(function(e){var i="INSERT"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT2").appendField(e,"WHERE")}},dn={init:function(){this.setColour(Qi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(lt.Msg.blockpy_DICT_POP),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(lt.Msg.DICTS_ADD_VALUE),this.setTooltip(lt.Msg.DICT_POP_TOOLTIP),this.setInputsInline(!0),this.setOutput(!0)}},ln={init:function(){this.setColour(Qi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(lt.Msg.DICTS_SET_DEFAULT),this.appendDummyInput("").appendField(lt.Msg.DICTS_DEFAULT_VALUE),this.appendValueInput("VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.DICTS_SETDEFAULT_TOOLTIP)}},In={init:function(){this.setColour(Qi),this.appendDummyInput("").appendField(new lt.FieldLabel(lt.Msg.MIXLY_MICROBIT_TYPE_DICT),"TIP").appendField(" "),this.itemCount_=3,this.updateShape_(),this.setOutput(!0,"Dict"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setMutator(new lt.icons.MutatorIcon(["dicts_create_with_item"],this)),this.setTooltip(lt.Msg.DICTS_CREATE_WITH_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("dicts_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){lt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Tn={init:function(){this.setColour(Qi),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(lt.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},Mn={init:function(){this.setColour(Qi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_TO_JSON),this.setTooltip(lt.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},hn={init:function(){this.setColour(Qi),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_CONVERT_TO_JSON),this.setTooltip(lt.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},mn={init:function(){this.setColour(Qi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("VAR1").appendField("key1"),this.appendValueInput("VAR2").appendField("index"),this.appendValueInput("VAR3").appendField("key2"),this.appendValueInput("VAR4").appendField("key3"),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},En={init:function(){this.setColour(Qi),this.appendValueInput("DICT"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_TO_JSON),this.setTooltip(lt.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},On=210,Rn={init:function(){var t=lt.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(On),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new lt.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{EQ:lt.Msg.LOGIC_COMPARE_TOOLTIP_EQ,NEQ:lt.Msg.LOGIC_COMPARE_TOOLTIP_NEQ,LT:lt.Msg.LOGIC_COMPARE_TOOLTIP_LT,LTE:lt.Msg.LOGIC_COMPARE_TOOLTIP_LTE,GT:lt.Msg.LOGIC_COMPARE_TOOLTIP_GT,GTE:lt.Msg.LOGIC_COMPARE_TOOLTIP_GTE}[t]})),this.prevBlocks_=[null,null]}},cn={init:function(){var t=lt.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]],e=lt.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(On),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new lt.FieldDropdown(t),"OP1"),this.appendValueInput("C").appendField(new lt.FieldDropdown(e),"OP2"),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_PYTHON_LOGIC_COMPARE_CONTINOUS_TOOLTIP)}},gn={init:function(){var t=[[lt.Msg.LOGIC_OPERATION_AND,"AND"],[lt.Msg.LOGIC_OPERATION_OR,"OR"],[lt.Msg.LOGIC_OPERATION_NOR,"NOR"],[lt.Msg.LOGIC_OPERATION_XOR,"XOR"]];this.setColour(On),this.setOutput(!0,Boolean),this.appendValueInput("A").setCheck([Boolean,Number]),this.appendValueInput("B").setCheck([Boolean,Number]).appendField(new lt.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{AND:lt.Msg.LOGIC_OPERATION_TOOLTIP_AND,OR:lt.Msg.LOGIC_OPERATION_TOOLTIP_OR,NOR:lt.Msg.LOGIC_OPERATION_TOOLTIP_NOR,XOR:lt.Msg.LOGIC_OPERATION_TOOLTIP_XOR}[t]}))}},Cn={init:function(){this.setColour(On),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(lt.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(lt.Msg.LOGIC_NEGATE_TOOLTIP)}},Sn={init:function(){var t=[[lt.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[lt.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(On),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new lt.FieldDropdown(t),"BOOL"),this.setTooltip(lt.Msg.LOGIC_BOOLEAN_TOOLTIP)}},An={init:function(){this.setColour(On),this.setOutput(!0),this.appendDummyInput().appendField(lt.Msg.LOGIC_NULL),this.setTooltip(lt.Msg.LOGIC_NULL_TOOLTIP)}},Ln={init:function(){this.setColour(On),this.appendValueInput("A"),this.appendValueInput("B").appendField(lt.Msg.LOGIC_TERNARY_IF_TRUE),this.appendValueInput("C").appendField(lt.Msg.LOGIC_TERNARY_IF_FALSE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_TOOLTIP_LOGIT_TRUEORFALSE)}},Nn={init:function(){var t=[[lt.Msg.TEXT_APPEND_TO,"in"],[lt.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(On),this.appendValueInput("A"),this.appendValueInput("B").setCheck([String,"List"]).appendField(new lt.FieldDropdown(t),"BOOL"),this.appendDummyInput("").appendField(lt.Msg.MICROBIT_LOGIC_IS_IN),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(lt.Msg.IN)}},Dn={init:function(){var t=[[lt.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[lt.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(On),this.appendValueInput("A"),this.appendValueInput("B").appendField(new lt.FieldDropdown(t),"BOOL"),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_PYTHON_LOGIC_IS_TOOLTIP)}},fn={init:function(){this.setColour(On),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(lt.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},Fn={init:function(){this.setColour(0),this.appendValueInput("fn").setCheck(String).appendField(lt.Msg.MIXLY_PYTHON_STORAGE_OPEN_FILE_WITH_OS+"(For Windows)"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Pn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"],[lt.Msg.MIXLY_ADD,"a"],[lt.Msg.MATH_BIN+lt.Msg.MIXLY_ADD,"ab"],[lt.Msg.MIXLY_R_W,"r+"],[lt.Msg.MATH_BIN+lt.Msg.MIXLY_R_W,"rb+"],[lt.Msg.MIXLY_W_R,"w+"],[lt.Msg.MATH_BIN+lt.Msg.MIXLY_W_R,"wb+"],[lt.Msg.MIXLY_A_R,"a+"],[lt.Msg.MATH_BIN+lt.Msg.MIXLY_A_R,"ab+"]]),"MODE"),this.appendValueInput("FILE").appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_AS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=lt.Msg.MIXLY_USE,n=lt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=lt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=lt.Msg.MIXLY_BELONG;return i+{r:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){lt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},vn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=lt.Msg.MIXLY_USE,n=lt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=lt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=lt.Msg.MIXLY_BELONG,_=lt.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s+_}))}},Yn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE);this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendDummyInput().appendField(lt.Msg.MIXPY_TEXT_ENCODE).appendField(new lt.FieldDropdown([["ANSI","ANSI"],["gbk","gbk"],["utf-8","utf-8"]]),"CODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=lt.Msg.MIXLY_USE,n=lt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=lt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=lt.Msg.MIXLY_BELONG,_=lt.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s+_}))}},Xn={init:function(){this.setColour(0),this.appendValueInput("data").setCheck(String).appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendValueInput("FILE").appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+lt.Msg.MIXLY_MICROBIT_TYPE_STRING+lt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE)}},bn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"read"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE,"readline"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES,"readlines"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String)}},yn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,"read"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,"readline"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE,"readlines"]]),"MODE"),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=lt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE,n=lt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER;return i+{read:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,readline:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,readlines:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE}[e]+"x"+n}))}},xn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.setNextStatement(!0),this.appendValueInput("SIZE").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(lt.Msg.MICROBIT_PYTHON_TYPE)}},Vn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(lt.Msg.HTML_FILE),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean),this.setTooltip(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT1)}},Bn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILENAME),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILENAME)}},Gn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE)}},Un={init:function(){this.setColour(0),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES)}};lt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE;const wn={init:function(){this.setColour(0),this.appendDummyInput().appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE,"remove"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_DIRS,"removedirs"]]),"MODE"),this.appendValueInput("FILE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE)}},Hn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE+lt.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE)}},kn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_RETURN_FILE),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_PRESENT_LOCATION),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_TELL)}},Wn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION),this.appendDummyInput().appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,"start"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,"current"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END,"end"]]),"MODE"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=lt.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION+lt.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION,n=lt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER,s=lt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET;return i+" "+{start:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,current:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,end:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END}[e]+s+"x"+n}))}},Kn={init:function(){this.setColour(0),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR)}},Jn={init:function(){this.setColour(0),this.appendValueInput("PATH").setCheck(String).appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_SET),this.appendDummyInput().appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,"mkdir"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_MAKEDIRS,"makedirs"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return lt.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH+"x"+lt.Msg.MIXLY_ESP32_SET+{mkdir:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,makedirs:lt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},Qn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME),this.appendValueInput("NEWFILE").setCheck(String).appendField(lt.Msg.MIXLY_AS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME)}},qn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR)}},zn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT),this.appendDummyInput().appendField(new lt.FieldDropdown([[lt.Msg.HTML_FILE,"isfile"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_DIR,"isdir"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean);let t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return lt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH+"x"+lt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT+{isfile:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,isdir:lt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},jn={init:function(){this.setColour(0),this.appendValueInput("SPISUB").appendField(lt.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_SETUP+lt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(lt.Msg.MIXLY_SD_CARD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},$n={init:function(){this.setColour(0),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_SD_CARD),this.appendValueInput("DIR").setCheck(String).appendField(lt.Msg.MIXLY_SDCARD_MOUNT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip()}},Zn={init:function(){var t=lt.Procedures.findLegalName("",this),e=new lt.FieldTextInput(t,lt.Procedures.rename);e.setSpellcheck(!1),this.appendDummyInput().appendField(e,"NAME").appendField("","PARAMS"),this.setMutator(new lt.icons.MutatorIcon(["procedures_mutatorarg"],this)),(this.workspace.options.comments||this.workspace.options.parentWorkspace&&this.workspace.options.parentWorkspace.options.comments)&<.Msg.PROCEDURES_DEFNORETURN_COMMENT&&this.setCommentText(lt.Msg.PROCEDURES_DEFNORETURN_COMMENT),this.setStyle("procedure_blocks"),this.setTooltip(lt.Msg.PROCEDURES_DEFNORETURN_TOOLTIP),this.setHelpUrl(lt.Msg.PROCEDURES_DEFNORETURN_HELPURL),this.arguments_=[],this.argumentVarModels_=[],this.setStatements_(!0),this.statementConnection_=null},setStatements_:function(t){this.hasStatements_!==t&&(t?(this.appendStatementInput("STACK").appendField(lt.Msg.PROCEDURES_DEFNORETURN_DO),this.getInput("RETURN")&&this.moveInputBefore("STACK","RETURN")):this.removeInput("STACK",!0),this.hasStatements_=t)},updateParams_:function(){var t="";this.arguments_.length&&(t=lt.Msg.PROCEDURES_BEFORE_PARAMS+" "+this.arguments_.join(", ")),lt.Events.disable();try{this.setFieldValue(t,"PARAMS")}finally{lt.Events.enable()}},mutationToDom:function(t){var e=lt.utils.xml.createElement("mutation");t&&e.setAttribute("name",this.getFieldValue("NAME"));for(var i=0;i"),this.appendValueInput("style").appendField(lt.Msg.MIXLY_AIP_ATTR).setAlign(lt.inputs.Align.RIGHT),this.appendStatementInput("DO").appendField(""),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Qs={init:function(){this.setColour(ws),this.appendDummyInput().appendField(lt.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},qs={init:function(){this.setColour(ws),this.appendDummyInput().appendField(lt.Msg.HTML_FORM_CONTENT).appendField(new lt.FieldDropdown([[lt.Msg.HTML_TEXT,"text"],[lt.Msg.HTML_EMAIL,"email"],[lt.Msg.HTML_NUMBER,"number"],[lt.Msg.HTML_PASSWORD,"password"],[lt.Msg.HTML_CHECKBOX,"checkbox"],[lt.Msg.HTML_RADIOBUTTON,"radiobutton"],[lt.Msg.HTML_BUTTON,"button"],[lt.Msg.HTML_COLOUR,"colour"],[lt.Msg.HTML_DATE,"date"],[lt.Msg.HTML_LOCALTIME,"local time"],[lt.Msg.HTML_FILE,"file"],[lt.Msg.HTML_HIDDEN,"hidden"],[lt.Msg.HTML_IMAGE,"image"],[lt.Msg.HTML_MONTH,"month"],[lt.Msg.HTML_RANGE,"range"],[lt.Msg.HTML_RESET,"reset"],[lt.Msg.HTML_SEARCH,"search"],[lt.Msg.HTML_SUBMIT,"submit"],[lt.Msg.HTML_TELEPHONENUMBER,"telephone number"],[lt.Msg.HTML_TIME,"time"],[lt.Msg.HTML_URL,"url"],[lt.Msg.HTML_WEEK,"week"]]),"LEVEL"),this.appendDummyInput().appendField(lt.Msg.HTML_NAME).appendField(new lt.FieldTextInput("car"),"NAME"),this.appendDummyInput().appendField(lt.Msg.HTML_VALUE).appendField(new lt.FieldTextInput("go"),"VALUE"),this.appendValueInput("style").appendField(lt.Msg.MIXLY_AIP_ATTR).setAlign(lt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},zs={init:function(){this.setColour(ws),this.appendDummyInput().appendField(new lt.FieldTextInput("property"),"KEY").appendField(":").appendField(new lt.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},js={init:function(){this.setColour(ws),this.appendDummyInput().appendField(new lt.FieldTextInput("property"),"KEY").appendField(":").appendField(new lt.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},$s={init:function(){this.setColour(ws),this.appendDummyInput().appendField(lt.Msg.HTML_TEXT).appendField(new lt.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Zs=160,to={init:function(){this.setColour(Zs),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new lt.FieldTable(""),"TEXT")}},eo={init:function(){this.setColour(Zs),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new lt.FieldMultilineInput(""),"TEXT")}},io={init:function(){this.setColour(Zs),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new lt.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},no={init:function(){this.setColour(Zs),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},so={init:function(){this.setColour(Zs),this.appendDummyInput().appendTitle("Comment:").appendTitle(new lt.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},oo={init:function(){this.setColour(Zs),this.appendValueInput("VALUE").appendField(lt.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},_o={init:function(){this.setColour(Zs),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new lt.icons.MutatorIcon(["text_print_multiple_item"],this)),this.setTooltip(lt.Msg.TEXT_PRINT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=lt.Block.obtain(t,"text_print_multiple_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n= stop:"," yield start"," start -= abs(step)"])};if(t=function(t,e,i){return"("+t+" <= "+e+") and "+a()+"("+t+", "+e+", "+i+") or "+u()+"("+t+", "+e+", "+i+")"},lt.isNumber(n)&<.isNumber(s)&<.isNumber(o))n=parseFloat(n),s=parseFloat(s),o=Math.abs(parseFloat(o)),0==n%1&&0==s%1&&0==o%1?(n<=s?(s++,t=0==n&&1==o?s:n+", "+s,1!=o&&(t+=", "+o)):t=n+", "+--s+", -"+o,t="range("+t+")"):(t=n",GTE:">="};const ia=function(t,e){var i=this.getFieldValue("OP"),n="&&"==i?e.ORDER_LOGICAL_AND:e.ORDER_LOGICAL_OR,s=e.valueToCode(this,"A",n)||"False",o=e.valueToCode(this,"B",n)||"False";if("AND"==i)var _=s+" and "+o;else if("OR"==i)_=s+" or "+o;else if("NOR"==i)_="not("+s+"^"+o+")";else _=s+"^"+o;return[_,n]},na=function(t,e){var i=e.ORDER_UNARY_PREFIX;return["not "+(e.valueToCode(this,"BOOL",i)||"False"),i]},sa=function(t,e){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",e.ORDER_ATOMIC]},oa=function(t,e){return["None",e.ORDER_ATOMIC]},_a=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"False";return["("+(e.valueToCode(this,"B",e.ORDER_ATOMIC)||"False")+" if "+i+" else "+(e.valueToCode(this,"C",e.ORDER_ATOMIC)||"False")+")",e.ORDER_ATOMIC]},pa=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},aa=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},ua=function(t,e){return["bool("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||"0")+")",e.ORDER_ATOMIC]},ra=function(t,e){return e.definitions_.import_os="import os","os.startfile("+e.valueToCode(this,"fn",e.ORDER_ATOMIC)+")\n"},da=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+" = open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},la=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",e.ORDER_ATOMIC]},Ia=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',e.ORDER_ATOMIC]},Ta=function(t,e){var i=e.valueToCode(this,"data",e.ORDER_ATOMIC);return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".write("+i+")\n"},Ma=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"()",e.ORDER_ATOMIC]},ha=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},ma=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".readline("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Ea=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".writable()",e.ORDER_ATOMIC]},Oa=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".name()",e.ORDER_ATOMIC]},Ra=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".close()\n"},ca=function(t,e){e.definitions_.import_os="import os";return["os.listdir()",e.ORDER_ATOMIC]},ga=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},Ca=function(t,e){return e.definitions_.import_os="import os",["os.path.getsize("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Sa=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".tell()",e.ORDER_ATOMIC]},Aa=function(t,e){var i=this.getFieldValue("MODE"),n=0;return n="start"==i?0:"current"==i?1:2,e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".seek("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+","+n+")\n"},La=function(t,e){return e.definitions_.import_os="import os","os.chdir("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},Na=function(t,e){e.definitions_.import_os="import os";return["os.getcwd()",e.ORDER_ATOMIC]},Da=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"PATH",e.ORDER_ATOMIC)+")\n"},fa=function(t,e){return e.definitions_.import_os="import os","os.rename("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+","+e.valueToCode(this,"NEWFILE",e.ORDER_ATOMIC)+")\n"},Fa=function(t,e){e.definitions_.import_os="import os";var i=e.valueToCode(this,"FILE",e.ORDER_ATOMIC);return["os."+this.getFieldValue("MODE")+"("+i+")",e.ORDER_ATOMIC]},Pa=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = sdcard.SDCard("+e.valueToCode(this,"SPISUB",e.ORDER_ATOMIC)+","+e.valueToCode(this,"PINSUB",e.ORDER_ATOMIC)+")\n"},va=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard","os.mount("+e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+","+e.valueToCode(this,"DIR",e.ORDER_ATOMIC)+")\n"},Ya=function(t,e){var i=e.variableDB_.getName(this.getFieldValue("NAME"),lt.Procedures.NAME_TYPE),n=(this.getInput("STACK")&&e.statementToCode(this,"STACK"))??" pass\n";e.INFINITE_LOOP_TRAP&&(n=e.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+n);var s=e.valueToCode(this,"RETURN",e.ORDER_NONE)||"";s&&(s=" return "+s+"\n");for(var o=[],_=0;_\n\n\n\t\n"+e.statementToCode(this,"HEAD")+"\n\n"+e.statementToCode(this,"BODY")+"\n\n'''",e.ORDER_ATOMIC]},Mu=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"\n"+i+"\n"},hu=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");if("head"==n)var s="<"+n+'>\n\t\n'+i+"\n";else s="<"+n+">\n"+i+"\n";return s},mu=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"<"+n+">\n"+i+"\n"},Eu=function(t,e){var i=e.statementToCode(this,"DO"),n=e.valueToCode(this,"style"),s=this.getFieldValue("LEVEL");return"<"+s+" "+n+" >\n"+i+"\n"},Ou=function(t,e){return['style="'+e.statementToCode(this,"STYLE")+'"',e.ORDER_ATOMIC]},Ru=function(t,e){return'"},cu=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},gu=function(){return this.getFieldValue("TEXT")+"\n"},Cu=function(t){return t.getFieldValue("TEXT")+"\n"},Su=function(t,e){return[t.getFieldValue("TEXT"),e.ORDER_ATOMIC]},Au=function(t,e){return(e.valueToCode(t,"VALUE",e.ORDER_ATOMIC)||"")+"\n"},Lu=function(){return""},Nu=function(t,e){return["type("+(e.valueToCode(t,"VALUE",e.ORDER_MEMBER)||"___")+")",e.ORDER_ATOMIC]},Du=function(t,e){for(var i=t.getFieldValue("NAME"),n=t.hasReturn_,s=new Array(t.itemCount_),o=0;o0?e.join("\n")+i.join("\n")+n.join("\n")+_.join("\n")+p.join("")+t+"while True:\n"+a.join("")+u.join("\n"):e.join("\n")+i.join("\n")+n.join("\n")+_.join("\n")+p.join("")+t+u.join("\n")},vu.scrubNakedValue=function(t){return t+"\n"},vu.quote_=function(t){var e="'";return-1!==t.indexOf("'")&&(-1===t.indexOf('"')?e='"':t=t.replace(/'/g,"\\'")),e+t+e},vu.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},vu.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(o=t.getCommentText())&&(o=lt.utils.string.wrap(o,vu.COMMENT_WRAP-3),n+=vu.prefixLines(o+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const Yu="#74A55B",Xu={init:function(){this.setColour(Yu),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MIDI),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(lt.Msg.MIXLY_RGB_PIN_COUNT)}},bu={init:function(){this.setColour(Yu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(lt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},yu={init:function(){this.setColour(Yu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(lt.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(lt.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},xu={init:function(){this.setColour(Yu),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(lt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Vu={init:function(){this.setColour(Yu),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(lt.Msg.MIXLY_BACKSTAGE+lt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_BACKSTAGE+lt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Bu={init:function(){this.setColour(Yu),this.appendValueInput("SUB"),this.appendValueInput("TICKS").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(lt.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(lt.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},Gu={init:function(){this.setColour(Yu),this.appendValueInput("SUB"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},Uu={init:function(){this.setColour(Yu),this.appendValueInput("SUB"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_MUSIC_RESET)}},wu={init:function(){this.setColour(Yu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Hu={init:function(){this.setColour(Yu),this.appendValueInput("SUB"),this.appendValueInput("percent").appendField(lt.Msg.MIXLY_MUSIC_VOLUME_SET),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},ku={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.MIXLY_SETTING).appendField(lt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(lt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_EXTERN_LED_SETONOFF)}},Wu={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(lt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(lt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},Ku={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(lt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(lt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},Ju={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.MIXLY_SETTING).appendField(lt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(lt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_EXTERN_LED_SETBRIGHT)}},Qu={init:function(){this.setColour(Yu),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_SETUP+lt.Msg.MIXLY_SERVO),this.appendValueInput("PIN",Number).appendField(lt.Msg.MIXLY_PIN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},qu={init:function(){this.setColour(Yu),this.appendValueInput("PIN",Number).appendField(lt.Msg.MIXLY_SERVO).appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("DEGREE",Number).setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_DEGREE_0_180),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_SERVO_MOVE)}},zu={init:function(){this.setColour(Yu),this.appendValueInput("VAR").appendField("360°"+lt.Msg.MIXLY_SERVO),this.appendValueInput("SPEED",Number).setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_SETTING+lt.Msg.blockpy_turtle_rotate+lt.Msg.MIXLY_SPEED+" (-10~10)"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_SERVO_360_TOOLTIP)}},ju={init:function(){this.setColour(Yu),this.appendValueInput("PIN",Number).appendField("180°"+lt.Msg.MIXLY_SERVO).appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_SERVO_MOVE)}},$u={init:function(){this.setColour(Yu),this.appendValueInput("PIN",Number).appendField("360°"+lt.Msg.MIXLY_SERVO).appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_SERVO_SPEED_TOOLIPS)}},Zu={init:function(){this.setColour(Yu),this.appendValueInput("PIN",Number).appendField("180°"+lt.Msg.MIXLY_SERVO).appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(lt.Msg.MIXLY_GET+lt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},tr={init:function(){this.setColour(Yu),this.appendValueInput("PIN",Number).appendField("360°"+lt.Msg.MIXLY_SERVO).appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(lt.Msg.MIXLY_GET+lt.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},er={init:function(){this.setColour(Yu),this.appendValueInput("SUB").appendField("初始化").setCheck("var"),this.appendDummyInput().appendField("电机驱动"),this.appendDummyInput().appendField("地址").appendField(new lt.FieldDropdown([["A","ms32006.ADDRESS_A"],["B","ms32006.ADDRESS_B"]]),"mode"),this.appendValueInput("SUB1").setCheck("var").setAlign(lt.inputs.Align.RIGHT).appendField("通信"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("初始化MS32006电机驱动,使用I2C通信")}},ir={init:function(){this.setColour(Yu),this.appendValueInput("SUB").appendField("直流电机").setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_Direction).appendField(new lt.FieldDropdown([[lt.Msg.CLOCKWISE,"ms32006.MOT_CW"],[lt.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"],[lt.Msg.MOTOR_N,"ms32006.MOT_N"],[lt.Msg.MOTOR_P,"ms32006.MOT_P"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_STEPPER_SET_SPEED),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置直流电机的状态及转速(0-100)")}},nr={init:function(){this.setColour(Yu),this.appendValueInput("SUB").appendField("步进电机").setCheck("var"),this.appendDummyInput().appendField("选择").appendField(new lt.FieldDropdown([["A","ms32006.MOT_A"],["B","ms32006.MOT_B"]]),"mode"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_Direction).appendField(new lt.FieldDropdown([[lt.Msg.CLOCKWISE,"ms32006.MOT_CW"],[lt.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField("转速"),this.appendValueInput("steps").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField("步数"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置步进电机的状态、转速、步数(0-2047)")}},sr={init:function(){this.setColour(Yu),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RGB),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_PIN),this.appendValueInput("LEDCOUNT").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_COUNT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(lt.Msg.MIXLY_RGB_PIN_COUNT)}},or={init:function(){this.setColour(Yu),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("_LED_").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(lt.Msg.MIXLY_RGB_NUM_R_G_B_MP)}},_r={init:function(){this.setColour(Yu),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("RVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(lt.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},pr={init:function(){this.setColour(Yu),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(lt.Msg.MIXLY_ESP32_MUSIC_WRI)}},ar={init:function(){this.setColour(Yu),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(lt.Msg.MIXLY_DURATION).appendField(lt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},ur={init:function(){this.setColour(Yu),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(lt.Msg.PYTHON_RANGE_STEP).appendField(lt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},rr={init:function(){this.setColour(Yu),this.appendDummyInput("").appendField(lt.Msg.CONTROLS_FOR_INPUT_WITH+"uart").appendField(new lt.FieldDropdown([["uart1","uart1"],["uart2","uart2"]]),"key"),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_SETUP+lt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new lt.FieldDropdown([["SYN6288"+lt.Msg.MIXLY_AipSpeech_synthesis,"SYN6288"],["NS9300"+lt.Msg.MIXLY_MUSIC_PLAYER,"NS9300"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},dr={init:function(){this.setColour(Yu),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_GET+lt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_WHETHER).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_STOPPED,"0"],[lt.Msg.MIXLY_PLAYING,"1"],[lt.Msg.MIXLY_PAUSED,"2"]]),"key"),this.setInputsInline(!0),this.setOutput(!0)}},lr={init:function(){this.setColour(Yu),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_STAT).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MP3_PLAY,"1"],[lt.Msg.MIXLY_MP3_PAUSE,"2"],[lt.Msg.MIXLY_STOP,"3"],[lt.Msg.MIXLY_MP3_PREV,"4"],[lt.Msg.MIXLY_MP3_NEXT,"5"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ir={init:function(){this.setColour(Yu),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendValueInput("volume").appendField(lt.Msg.MIXLY_MP3_VOL+lt.Msg.MIXLY_STAT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.MIXLY_PLAYER_SET_VOLUME_TOOLTIP)}},Tr={init:function(){this.setColour(Yu),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MODE+lt.Msg.MIXLY_STAT).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MP3_LOOP_ALL,"0"],[lt.Msg.MIXLY_MP3_LOOP_ONE,"1"],[lt.Msg.MIXLY_PLAYER_DIRECTORY_LOOP,"2"],[lt.Msg.MIXLY_MP3_LOOP_RAM,"3"],[lt.Msg.MIXLY_PLAYER_SINGLE_STOP,"4"],[lt.Msg.MIXLY_PLAYER_SEQUENTIAL_PLAY,"5"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Mr={init:function(){this.setColour(Yu),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_JS_START_MELODY,"play"],[lt.Msg.MIXLY_PLAYER_INSERT_MUSIC,"insert"]]),"key"),this.appendValueInput("song"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.MIXLY_PLAYER_PLAY_MUSIC_TOOTIP)}},hr={},mr={init:function(){this.setColour(Yu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(lt.Msg.MIXLY_SET_VOLUME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},Er={init:function(){this.setColour(Yu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendDummyInput().appendField(lt.Msg.MIXLY_GET_VOLUME),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},Or={init:function(){this.setColour(Yu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(lt.Msg.MIXLY_PLAY_HINTS),this.appendDummyInput().appendField(lt.Msg.MIXLY_PROGRAM_BLOCK).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[lt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_PLAY_HINTS_TOOLTIP)}},Rr={init:function(){this.setColour(Yu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("data").setCheck(String).appendField(lt.Msg.MIXLY_AipSpeech_synthesis),this.appendValueInput("VOICE").setCheck(Number).appendField(lt.Msg.MIXLY_BACKGROUND_MUSIC),this.appendDummyInput().appendField(lt.Msg.MIXLY_PROGRAM_BLOCK).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[lt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_PLAY_TTS_TOOLTIP)}},cr={init:function(){this.setColour(Yu),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.extern_addr),"PIN"),this.setOutput(!0,Number)}},gr={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.ME_GO_MOTOR_EXTERN+lt.Msg.MIXLY_MOTOR).appendField(lt.Msg.PIN_NUMBERING).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_LEFT,"0"],[lt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},Cr={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.ME_GO_MOTOR_EXTERN+lt.Msg.MIXLY_MOTOR).appendField(lt.Msg.PIN_NUMBERING).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_LEFT,"0"],[lt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_GET+lt.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},Sr={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.ME_GO_MOTOR_EXTERN+lt.Msg.MIXLY_TRAFFIC_LIGHT).appendField(lt.Msg.PIN_NUMBERING).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_LEFT,"0"],[lt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.LISTS_SET_INDEX_SET).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_Turn_off_display,"0"],[lt.Msg.MIXLY_TRAFFIC_LIGHT_RED_ON,"1"],[lt.Msg.MIXLY_TRAFFIC_LIGHT_RED_BLINK,"2"],[lt.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_ON,"3"],[lt.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_BLINK,"4"],[lt.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_ON,"5"],[lt.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_BLINK,"6"]]),"light"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Ar={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.ME_GO_MOTOR_EXTERN).appendField(new lt.FieldDropdown([[lt.Msg.COLOUR_RGB_WHITE,"W"],[lt.Msg.COLOUR_RGB_RED,"R"],[lt.Msg.COLOUR_RGB_YELLOW,"Y"],[lt.Msg.COLOUR_RGB_GREEN,"G"],[lt.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(lt.Msg.PIN_NUMBERING).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_LEFT,"0"],[lt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("value").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Lr={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.ME_GO_MOTOR_EXTERN).appendField(new lt.FieldDropdown([[lt.Msg.COLOUR_RGB_WHITE,"W"],[lt.Msg.COLOUR_RGB_RED,"R"],[lt.Msg.COLOUR_RGB_YELLOW,"Y"],[lt.Msg.COLOUR_RGB_GREEN,"G"],[lt.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(lt.Msg.PIN_NUMBERING).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_LEFT,"0"],[lt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(lt.Msg.MIXLY_GET+lt.Msg.BRIGHTNESS),this.setOutput(!0,Number),this.setInputsInline(!0)}},Nr={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.ME_GO_MOTOR_EXTERN+lt.Msg.MIXLY_SERVO_MOTOR).appendField(lt.Msg.PIN_NUMBERING).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_LEFT,"0"],[lt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(lt.Msg.MIXLY_GET).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"[0]"],[lt.Msg.MIXLY_SPEED,"[1]"],[lt.Msg.MATH_SINGLE_OP_ABSOLUTE+lt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[2]"],[lt.Msg.MIXLY_RELATIVE+lt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[3]"],[lt.Msg.MIXLY_MIXBOT_SERVO_BLOCK_OR_NOT,"[4]"],[lt.Msg.MIXLY_MIXBOT_SERVO_FINISH_OR_NOT,"[5]"],[lt.Msg.MIXLY_ALL,""]]),"status"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Dr={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.ME_GO_MOTOR_EXTERN+lt.Msg.MIXLY_SERVO_MOTOR).appendField(lt.Msg.PIN_NUMBERING).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_LEFT,"0"],[lt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MIXBOT_SERVO_SET_STOP_MODE).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_KEEP,"0"],[lt.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_COAST,"1"],[lt.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_BRAKE,"2"]]),"status"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},fr={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.ME_GO_MOTOR_EXTERN+lt.Msg.MIXLY_SERVO_MOTOR).appendField(lt.Msg.PIN_NUMBERING).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_LEFT,"0"],[lt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(lt.Msg.MIXLY_STOP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Fr={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.ME_GO_MOTOR_EXTERN+lt.Msg.MIXLY_SERVO_MOTOR).appendField(lt.Msg.MATH_SINGLE_OP_ABSOLUTE+lt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+lt.Msg.MSG.run).appendField(lt.Msg.PIN_NUMBERING).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_LEFT,"0"],[lt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MODE).setAlign(lt.inputs.Align.RIGHT).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_SPEED+lt.Msg.MIXLY_MODE,"0"],[lt.Msg.MIXLY_MICROBIT_JS_BLE_POWER+lt.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(lt.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(lt.inputs.Align.RIGHT).appendField(new lt.FieldDropdown([[lt.Msg.CLOCKWISE,"0"],[lt.Msg.MIXLY_MIXBOT_SERVO_NEAREST_PATH,"1"],[lt.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.appendValueInput("angle").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+lt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_MIXBOT_SERVO_ABSOLUTE_ANGLE_TOOLTIP)}},Pr={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.ME_GO_MOTOR_EXTERN+lt.Msg.MIXLY_SERVO_MOTOR).appendField(lt.Msg.MIXLY_RELATIVE+lt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+lt.Msg.MSG.run).appendField(lt.Msg.PIN_NUMBERING).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_LEFT,"0"],[lt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ORIGIN_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},vr={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.ME_GO_MOTOR_EXTERN+lt.Msg.MIXLY_SERVO_MOTOR).appendField(lt.Msg.MIXLY_RELATIVE+lt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+lt.Msg.MSG.run).appendField("("+lt.Msg.MIXLY_MIXBOT_SERVO_LIKE_ENCODING_MOTOR+")").appendField(lt.Msg.PIN_NUMBERING).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_LEFT,"0"],[lt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MODE).setAlign(lt.inputs.Align.RIGHT).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_SPEED+lt.Msg.MIXLY_MODE,"0"],[lt.Msg.MIXLY_MICROBIT_JS_BLE_POWER+lt.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(lt.inputs.Align.RIGHT).appendField("%"),this.appendValueInput("angle").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+lt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ANGLE_TOOLTIP)}},Yr={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.ME_GO_MOTOR_EXTERN+lt.Msg.MIXLY_SERVO_MOTOR).appendField(lt.Msg.MIXLY_RELATIVE+lt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+lt.Msg.MSG.run).appendField("("+lt.Msg.MIXLY_MIXBOT_SERVO_LIKE_ORDINARY_MOTOR+")").appendField(lt.Msg.PIN_NUMBERING).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_LEFT,"0"],[lt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MODE).setAlign(lt.inputs.Align.RIGHT).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_SPEED+lt.Msg.MIXLY_MODE,"0"],[lt.Msg.MIXLY_MICROBIT_JS_BLE_POWER+lt.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(lt.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(lt.inputs.Align.RIGHT).appendField(new lt.FieldDropdown([[lt.Msg.CLOCKWISE,"0"],[lt.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Xr={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.MIXBOT).appendField(lt.Msg.ME_GO_MOTOR_EXTERN).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MOTOR,"ext_motor"],[lt.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[lt.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[lt.Msg.COLOUR_RGB_RED+"LED","R_LED"],[lt.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[lt.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[lt.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[lt.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MIXBOT_EXTERN_GET_ADDR),this.setOutput(!0),this.setInputsInline(!0)}},br={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.MIXBOT).appendField(lt.Msg.ME_GO_MOTOR_EXTERN).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MOTOR,"ext_motor"],[lt.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[lt.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[lt.Msg.COLOUR_RGB_RED+"LED","R_LED"],[lt.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[lt.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[lt.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[lt.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MIXBOT_EXTERN_SET_ADDR),this.appendValueInput("old").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE),this.appendValueInput("new").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_UPDATE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},yr={init:function(){this.setColour(Yu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_SETUP+lt.Msg.MIXLY_AT).appendField(lt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},xr={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.MIXLY_SETTING),this.appendValueInput("pin").appendField("LED"),this.appendValueInput("bright").appendField(lt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Vr={init:function(){this.setColour(Yu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_SERVO+lt.Msg.MIXLY_SETUP+lt.Msg.MIXLY_AT).appendField(lt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},Br={init:function(){this.setColour(Yu),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_SERVO),this.appendValueInput("angle").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE),this.appendDummyInput().appendField(lt.Msg.DRAW_POINTER_ANGLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Gr={init:function(){this.setColour(Yu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_MOTOR+lt.Msg.MIXLY_SETUP+lt.Msg.MIXLY_AT).appendField(lt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},Ur={init:function(){this.setColour(Yu),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_MOTOR),this.appendValueInput("speed").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+lt.Msg.MIXLY_SPEED),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},wr="#6C9858",Hr={init:function(){this.setColour(wr),this.appendDummyInput("").appendField(new lt.FieldDropdown([["L1","1"],["L2","2"]]),"op"),this.setOutput(!0)}},kr={init:function(){this.setColour(wr),this.appendDummyInput("").appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_ESP32_ON,"1"],[lt.Msg.MIXLY_ESP32_OFF,"0"],[lt.Msg.MIXLY_ESP32_TOGGLE,"-1"]]),"flag"),this.setOutput(!0),this.setTooltip(lt.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},Wr={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(lt.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(lt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_LED_SETONOFF)}},Kr={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(lt.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(lt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_LED_GETBRIGHT)}},Jr={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(lt.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(lt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_LED_GETONOFF)}},Qr={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(lt.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(lt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_SETTING+lt.Msg.MIXLY_BUILDIN_LED+lt.Msg.MIXLY_BRIGHTNESS+"(0-100%)")}},qr={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(lt.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput("").appendField(lt.Msg.MIXLY_LCD_SETCOLOR).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_LIGHT_RED,"1"],[lt.Msg.MIXLY_LIGHT_GREEN,"2"],[lt.Msg.MIXLY_LIGHT_BLUE,"3"],[lt.Msg.MIXLY_LIGHT_YELLOW,"4"],[lt.Msg.MIXLY_LIGHT_CYAN,"5"],[lt.Msg.MIXLY_LIGHT_PURPLE,"6"],[lt.Msg.MIXLY_LIGHT_WHITE,"7"]]),"colorvalue"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},zr={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_SETTING).appendField(lt.Msg.MIXLY_BUILDIN_LED).appendField(new lt.FieldDropdown([[lt.Msg.COLOUR_RGB_RED,"r"],[lt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(lt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_LED_SETONOFF)}},jr={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(lt.Msg.MIXLY_BUILDIN_LED).appendField(new lt.FieldDropdown([[lt.Msg.COLOUR_RGB_RED,"r"],[lt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(lt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_LED_GETONOFF)}},$r={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(lt.Msg.MIXLY_BUILDIN_LED).appendField(new lt.FieldDropdown([[lt.Msg.COLOUR_RGB_RED,"r"],[lt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(lt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_LED_GETONOFF)}},Zr={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_SETTING).appendField(lt.Msg.MIXLY_BUILDIN_LED).appendField(new lt.FieldDropdown([[lt.Msg.COLOUR_RGB_RED,"r"],[lt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(lt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_SETTING+lt.Msg.MIXLY_BUILDIN_LED+lt.Msg.MIXLY_BRIGHTNESS+"(0-10)")}},td={init:function(){this.setColour(wr),this.appendDummyInput("").appendField(new lt.FieldDropdown([["L1","20"],["L2","21"]]),"op"),this.setOutput(!0)}},ed={init:function(){this.setColour(wr),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(It.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgo_cc":case"micropython:esp32s2:mixgo_ce":this.setTooltip(lt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgo_me":default:this.setTooltip(lt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(lt.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},id={init:function(){this.setColour(wr),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(lt.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},nd={init:function(){this.setColour(wr),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(lt.Msg.MIXLY_DURATION).appendField(lt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},sd={init:function(){this.setColour(wr),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(lt.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(lt.Msg.PYTHON_RANGE_STEP).appendField(lt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},od={init:function(){this.setColour(wr),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RGB),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(lt.Msg.MIXLY_ESP32_MUSIC_WRI)}},_d={init:function(){this.setColour(wr),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(It.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgocc":this.setTooltip(lt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgome":default:this.setTooltip(lt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(lt.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},pd={init:function(){this.setColour(wr),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(lt.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},ad={init:function(){this.setColour(wr),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(lt.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(lt.Msg.PYTHON_RANGE_STEP).appendField(lt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},ud={init:function(){this.setColour(wr),this.appendValueInput("TICKS").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(lt.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(lt.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},rd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},dd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_MUSIC_RESET)}},ld={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(lt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Id={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(lt.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(lt.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},Td={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Md={init:function(){this.setColour(wr),this.appendValueInput("LIST").appendField(lt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},hd={init:function(){this.setColour(wr),this.appendValueInput("LIST").appendField(lt.Msg.MIXLY_BACKSTAGE+lt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},md={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MOTOR_DC).appendField(new lt.FieldDropdown([["1","1"],["2","2"],["3","3"]]),"wheel"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_Direction).appendField(new lt.FieldDropdown([[lt.Msg.CLOCKWISE,"CW"],[lt.Msg.ANTI_CLOCKWISE,"CCW"],[lt.Msg.MOTOR_P,"P"],[lt.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Ed={init:function(){this.setColour(wr),this.appendDummyInput().appendField("MixGo Car").appendField(new lt.FieldDropdown([[lt.Msg.blockpy_forward,"F"],[lt.Msg.blockpy_backward,"B"],[lt.Msg.blockpy_left,"L"],[lt.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Od={init:function(){this.setColour(wr),this.appendDummyInput("").appendField("MixGo Car").appendField(new lt.FieldDropdown([[lt.Msg.MOTOR_P,"P"],[lt.Msg.MOTOR_N,"N"]]),"VAR"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Rd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MOTOR_DC).appendField(new lt.FieldDropdown([[lt.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[lt.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_Direction).appendField(new lt.FieldDropdown([[lt.Msg.CLOCKWISE,"CW"],[lt.Msg.ANTI_CLOCKWISE,"CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},cd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MOTOR_DC).appendField(new lt.FieldDropdown([[lt.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[lt.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(lt.Msg.MIXLY_STOP).appendField(new lt.FieldDropdown([[lt.Msg.MOTOR_P,"P"],[lt.Msg.MOTOR_N,"N"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},gd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_MIXBOT_MOTOR_STATUS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_MIXBOT_MOTOR_STATUS_TOOLTIP)}},Cd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXBOT).appendField(new lt.FieldDropdown([[lt.Msg.blockpy_forward,"F"],[lt.Msg.blockpy_backward,"B"],[lt.Msg.blockpy_left,"L"],[lt.Msg.blockpy_right,"R"]]),"VAR"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[lt.Msg.MIXLY_SPEED,"SPEED"],[lt.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},Sd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXBOT).appendField(new lt.FieldDropdown([[lt.Msg.MOTOR_P,"P"],[lt.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Ad={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXBOT).appendField(lt.Msg.MIXLY_MOTOR).appendField(new lt.FieldDropdown([[lt.Msg.TEXT_TRIM_LEFT,"1"],[lt.Msg.TEXT_TRIM_RIGHT,"2"],[lt.Msg.TEXT_TRIM_BOTH,"0"]]),"wheel"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[lt.Msg.MIXLY_SPEED,"SPEED"],[lt.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},Ld={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_MIXBOT_BUZZER),this.appendDummyInput().appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,"0"],[lt.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,"1"]]),"on_off"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Nd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.BITBOT).appendField(new lt.FieldDropdown([[lt.Msg.blockpy_forward,"F"],[lt.Msg.blockpy_backward,"B"],[lt.Msg.blockpy_left,"L"],[lt.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Dd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.BITBOT).appendField(new lt.FieldDropdown([[lt.Msg.MOTOR_P,"P"],[lt.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},fd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.BITBOT).appendField(lt.Msg.MIXLY_MOTOR).appendField(new lt.FieldDropdown([[lt.Msg.TEXT_TRIM_LEFT,"0"],[lt.Msg.TEXT_TRIM_RIGHT,"1"]]),"wheel"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_Direction).appendField(new lt.FieldDropdown([[lt.Msg.CLOCKWISE,"CW"],[lt.Msg.ANTI_CLOCKWISE,"CCW"],[lt.Msg.MOTOR_P,"P"],[lt.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Fd={init:function(){this.setColour(wr),this.appendValueInput("bright").appendField(lt.Msg.MIXLY_MIXBOT_SOUND_SET_LOUDNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_LED_SETONOFF)}},Pd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_MIXBOT_SOUND_LOUDNESS+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_LED_GETONOFF)}},vd={init:function(){this.setColour(wr),this.appendValueInput("bright").appendField(lt.Msg.MIXLY_SETTING+lt.Msg.MIXLY_MIXBOT_BUZZER+lt.Msg.MIXLY_MP3_VOL),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_LED_SETONOFF)}},Yd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_GET+lt.Msg.MIXLY_MIXBOT_BUZZER+lt.Msg.MIXLY_MP3_VOL+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_LED_GETONOFF)}},Xd={init:function(){this.setColour(wr),this.appendValueInput("PATH").appendField(lt.Msg.MIXLY_RECORD_AUDIO).appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendValueInput("TIME").setCheck(Number).appendField(lt.Msg.MIXLY_GET_PRESSES_TIME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},bd={init:function(){this.setColour(wr),this.appendValueInput("PATH").appendField(lt.Msg.MIXLY_PLAY_AUDIO).appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},yd={init:function(){this.setColour(wr),this.appendValueInput("PATH").appendField(lt.Msg.MIXLY_PLAY_ONLINE_AUDIO).appendField("URL"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},xd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(lt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Vd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Bd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.LISTS_SET_INDEX_SET+lt.Msg.ME_GO_MOTOR_EXTERN).appendField(lt.Msg.PIN_NUMBERING);if("micropython:esp32c2:mixgo_mini"===It.Boards.getSelectedBoardKey())this.appendDummyInput().appendField(new lt.FieldDropdown([["1","1"],["2","2"]]),"index");else this.appendDummyInput().appendField(new lt.FieldDropdown([["1","1"],["2","2"],["3","3"],["4","4"]]),"index");this.appendValueInput("duty").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.blynk_IOT_IR_POWER+lt.Msg.MIXLY_PINMODEOUT),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},Gd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_GET+lt.Msg.ME_GO_MOTOR_EXTERN).appendField(lt.Msg.PIN_NUMBERING);if("micropython:esp32c2:mixgo_mini"===It.Boards.getSelectedBoardKey())this.appendDummyInput().appendField(new lt.FieldDropdown([["1","1"],["2","2"]]),"index");else this.appendDummyInput().appendField(new lt.FieldDropdown([["1","1"],["2","2"],["3","3"],["4","4"]]),"index");this.appendDummyInput().setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.blynk_IOT_IR_POWER+lt.Msg.MIXLY_PINMODEOUT+lt.Msg.MIXLY_DUTY_RATIO),this.setOutput(!0,Number),this.setInputsInline(!0)}},Ud={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.LISTS_SET_INDEX_SET+lt.Msg.ME_GO_MOTOR_EXTERN).appendField(lt.Msg.MIXLY_ALL+lt.Msg.PIN_NUMBERING),this.appendValueInput("duty").setCheck(Number).setAlign(lt.ALIGN_RIGHT).appendField(lt.Msg.blynk_IOT_IR_POWER+lt.Msg.MIXLY_PINMODEOUT+lt.Msg.MIXLY_FREQUENCY),this.appendDummyInput().appendField("Hz"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},wd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.ANALOG+lt.Msg.MIXLY_KEYBOARD_INPUT),this.appendValueInput("special"),this.appendValueInput("general"),this.appendDummyInput().appendField(lt.Msg.MIXLY_RELEASE).appendField(new lt.FieldDropdown([[lt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[lt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"release"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.ANALOG+lt.Msg.MIXLY_KEYBOARD_INPUT)}},Hd={init:function(){this.setColour(wr),this.appendDummyInput("").appendField(lt.Msg.MIXLY_SPECIAL_KEY).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_SPECIAL_KEY0,"0x00"],[lt.Msg.MIXLY_SPECIAL_KEY1,"0x01"],[lt.Msg.MIXLY_SPECIAL_KEY2,"0x02"],[lt.Msg.MIXLY_SPECIAL_KEY4,"0x04"],[lt.Msg.MIXLY_SPECIAL_KEY8,"0x08"],[lt.Msg.MIXLY_SPECIAL_KEY16,"0x10"],[lt.Msg.MIXLY_SPECIAL_KEY32,"0x20"],[lt.Msg.MIXLY_SPECIAL_KEY64,"0x40"],[lt.Msg.MIXLY_SPECIAL_KEY128,"0x80"]]),"op"),this.setOutput(!0)}},kd={init:function(){this.setColour(wr),this.appendDummyInput("").appendField(lt.Msg.MIXLY_GENERAL_KEY).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_SPECIAL_KEY0,"0x00"],["A","0x04"],["B","0x05"],["C","0x06"],["D","0x07"],["E","0x08"],["F","0x09"],["G","0x0A"],["H","0x0B"],["I","0x0C"],["J","0x0D"],["K","0x0E"],["L","0x0F"],["M","0x10"],["N","0x11"],["O","0x12"],["P","0x13"],["Q","0x14"],["R","0x15"],["S","0x16"],["T","0x17"],["U","0x18"],["V","0x19"],["W","0x1A"],["X","0x1B"],["Y","0x1C"],["Z","0x1D"],["1 !","0x1E"],["2 @","0x1F"],["3 #","0x20"],["4 $","0x21"],["5 %","0x22"],["6 ^","0x23"],["7 &","0x24"],["8 *","0x25"],["9 (","0x26"],["0 )","0x27"],["ENTER","0x28"],["ESC","0x29"],["BACKSPACE","0x2A"],["TAB","0x2B"],["SPACE","0x2C"],["- _","0x2D"],["= +","0x2E"],["[ {","0x2F"],["] }","0x30"],["\\ |","0x31"],["; :","0x33"],["' \"","0x34"],["` ~","0x35"],[", <","0x36"],[". >","0x37"],["/ ?","0x38"],["CAPS_LOCK","0x39"],["F1","0x3A"],["F2","0x3B"],["F3","0x3C"],["F4","0x3D"],["F5","0x3E"],["F6","0x3F"],["F7","0x40"],["F8","0x41"],["F9","0x42"],["F10","0x43"],["F11","0x44"],["F12","0x45"],["PRINTSCREEN","0x46"],["SCROLL_LOCK","0x47"],["PAUSE","0x48"],["INSERT","0x49"],["HOME","0x4A"],["PAGE_UP","0x4B"],["DELETE","0x4C"],["END","0x4D"],["PAGE_DOWN","0x4E"],["RIGHT","0x4F"],["LEFT","0x50"],["DOWN","0x51"],["UP","0x52"],["NUM_LOCK","0x53"],["/","0x54"],["*","0x55"],["-","0x56"],["+","0x57"],["ENTER","0x58"],["1","0x59"],["2","0x5A"],["3","0x5B"],["4","0x5C"],["5","0x5D"],["6","0x5E"],["7","0x5F"],["8","0x60"],["9","0x61"],["0","0x62"],[".","0x63"]]),"op"),this.setOutput(!0)}},Wd={init:function(){this.setColour(wr),this.itemCount_=2,this.updateShape_(),this.setOutput(!0),this.setMutator(new lt.icons.MutatorIcon(["generalkey_create_with_item"],this)),this.setTooltip(lt.Msg.GENERALKEY_TUPLE_CREATE_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("generalkey_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;nnew Array(32).fill(0)))},bh={init:function(){this.jsonInit({colour:Sh,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SAD","SAD"],["SMILE","SMILE"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["SURPRISED","SURPRISED"],["ASLEEP","ASLEEP"],["ANGRY","ANGRY"],["CONFUSED","CONFUSED"],["NO","NO"],["YES","YES"]],type:"field_dropdown"}],output:["esp32_image","List"],helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#attributes",tooltip:lt.Msg.MIXLY_MICROBIT_Built_in_image1,message0:lt.Msg.MIXLY_MICROBIT_Built_in_image})}},yh={init:function(){this.setColour(Sh),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new lt.FieldDropdown(It.Profile.default.builtinimg),"image"),this.setOutput(!0,["esp32_image","List"])}},xh={init:function(){this.setColour(Sh),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(lt.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new lt.FieldDropdown(xh.OPERATORS),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{"+":lt.Msg.MIXLY_MICROBIT_image_add,"-":lt.Msg.MIXLY_MICROBIT_image_reduce}[e]}))},OPERATORS:[[lt.Msg.MICROBIT_DISPLAY_UNION,"add"],[lt.Msg.MICROBIT_DISPLAY_MINUS,"sub"]]},Vh={init:function(){this.setColour(Sh),this.appendValueInput("A").setCheck("esp32_image").appendField(lt.Msg.MIXLY_MICROBIT_Invert_image1),this.setInputsInline(!0),this.setOutput(!0,"esp32_image")}},Bh={init:function(){this.setColour(Sh),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(lt.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(lt.Msg.DISPLAY_IMAGE_LET2).appendField(new lt.FieldDropdown(Bh.OPERATORS),"OP"),this.appendValueInput("val").appendField(lt.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(lt.Msg.DISPLAY_IMAGE_UNIT);It.Boards.getSelectedBoardKey();"Python ESP32-S3"===It.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(lt.Msg.MIXLY_synchronize);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=lt.Msg.DISPLAY_IMAGE_LET,n=lt.Msg.DISPLAY_IMAGE_LET2,s=lt.Msg.DISPLAY_IMAGE_LET3;return i+n+{shift_up:lt.Msg.MIXLY_UP,shift_down:lt.Msg.MIXLY_DOWN,shift_left:lt.Msg.MIXLY_LEFT,shift_right:lt.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[lt.Msg.MIXLY_UP,"shift_up"],[lt.Msg.MIXLY_DOWN,"shift_down"],[lt.Msg.MIXLY_LEFT,"shift_left"],[lt.Msg.MIXLY_RIGHT,"shift_right"]]},Gh={init:function(){this.setColour(Sh),this.appendValueInput("x").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_JS_MONITOR_GET_POINT),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(lt.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},Uh={init:function(){this.setColour(Sh),this.appendValueInput("x").setCheck(Number).appendField(lt.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},wh={init:function(){this.setColour(Sh),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(lt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},Hh={init:function(){this.setColour(Sh),this.appendValueInput("x").setCheck(Number).appendField(lt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},kh={init:function(){this.setColour(Sh),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_Clear_display);It.Boards.getSelectedBoardKey();"Python ESP32-S3"===It.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(lt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_MICROBIT_Clear_display)}},Wh={init:function(){this.setColour(Sh),this.appendDummyInput().appendField(lt.Msg.MIXLY_SHOW+lt.Msg.MIXLY_DISPLAY_MATRIX_WRITE_NOW),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Kh={init:function(){this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<5;t++){let e=this.appendDummyInput();for(let i=0;i<8;i++)e.appendField(new lt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${lt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(Sh),this.setTooltip(lt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(lt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Jh={init:function(){this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(lt.inputs.Align.CENTRE).appendField(new lt.FieldBitmap(Jh.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Sh),this.setTooltip(lt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(8).fill(0)))},Qh={init:function(){this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<8;t++){let e=this.appendDummyInput();for(let i=0;i<12;i++)e.appendField(new lt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${lt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(Sh),this.setTooltip(lt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(lt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},qh={init:function(){this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(lt.inputs.Align.CENTRE).appendField(new lt.FieldBitmap(qh.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Sh),this.setTooltip(lt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(12).fill(0)))},zh={init:function(){this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<8;t++){let e=this.appendDummyInput();for(let i=0;i<16;i++)e.appendField(new lt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${lt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0,"esp32_image"),this.setColour(Sh),this.setTooltip(lt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(lt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},jh={init:function(){this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(lt.inputs.Align.CENTRE).appendField(new lt.FieldBitmap(jh.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Sh),this.setTooltip(lt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(16).fill(0)))},$h={init:function(){this.setColour(Sh),this.appendDummyInput().appendField(lt.Msg.OLED_SET_FONT).appendField(new lt.FieldDropdown($h.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[["4x5"+lt.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'4x5'"],["5x5"+lt.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'5x5'"],["5x8"+lt.Msg.MIXGO_ME_DISPLAY_VERTICAL,"'5x8'"]]},Zh={init:function(){this.setColour(Sh),this.appendValueInput("data").appendField(lt.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.OLED_BITMAP_OR_STRING)}},tm={init:function(){this.setColour(Sh),this.appendValueInput("data").appendField(lt.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.OLED_BITMAP_OR_STRING)}},em={init:function(){this.setColour(Sh),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(lt.Msg.OLED_DRAWSTR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.OLED_BITMAP_OR_STRING)}},im={init:function(){this.setColour(Sh),this.appendValueInput("data").appendField(lt.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(lt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(lt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(lt.Msg.TEXT_CENTER).appendField(new lt.FieldDropdown([[lt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[lt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},nm={init:function(){this.setColour(Sh),this.appendValueInput("data").appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(lt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(lt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},sm={init:function(){this.setColour(Sh),this.appendValueInput("data").appendField(lt.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(lt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},om={init:function(){this.setColour(Sh),this.appendValueInput("x").setCheck(Number).appendField(lt.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},_m={init:function(){this.jsonInit({colour:Sh,args0:[{name:"state",options:[[lt.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[lt.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"shape",options:[[lt.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[lt.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"}],inputsInline:!0,helpUrl:lt.Msg.mpython_HELPURL,tooltip:lt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:lt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},pm={init:function(){this.jsonInit({colour:Sh,args0:[{name:"state",options:[[lt.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[lt.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"dir_h_v",options:[[lt.Msg.mpython_vertical,"0"],[lt.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"}],inputsInline:!0,helpUrl:lt.Msg.mpython_HELPURL,tooltip:lt.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:lt.Msg.MPYTHON_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},am={init:function(){this.jsonInit({colour:Sh,args0:[{name:"state",options:[[lt.Msg.mpython_display_hline_1,"1"],[lt.Msg.mpython_display_hline_0,"0"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"}],inputsInline:!0,helpUrl:lt.Msg.mpython_HELPURL,tooltip:lt.Msg.mpython_display_line_TOOLTIP,message0:lt.Msg.mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},um={init:function(){this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new lt.FieldDropdown(um.IMAGES),"path"),this.setColour(Sh),this.setOutput(!0)},IMAGES:[["Heart","expression_picture.Heart"],["Angry","expression_picture.Angry"],["Bored","expression_picture.Bored"],["Confused","expression_picture.Confused"],["Happy","expression_picture.Happy"],["Paper","expression_picture.Paper"],["Rock","expression_picture.Rock"],["Sad","expression_picture.Sad"],["Scissors","expression_picture.Scissors"],["Silly","expression_picture.Silly"],["Sleep","expression_picture.Sleep"],["Small_heart","expression_picture.Small_heart"],["Small_paper","expression_picture.Small_paper"],["Small_rock","expression_picture.Small_rock"],["Small_scissors","expression_picture.Small_scissors"],["Smile","expression_picture.Smile"],["Surprise","expression_picture.Surprise"],["Wonderful","expression_picture.Wonderful"],["Eyes_Angry","eye_picture.Eyes_Angry"],["Awake","eye_picture.Awake"],["Black_eye","eye_picture.Black_eye"],["Bottom_left","eye_picture.Bottom_left"],["Bottom_right","eye_picture.Bottom_right"],["Crazy_1","eye_picture.Crazy_1"],["Crazy_2","eye_picture.Crazy_2"],["Disappointed","eye_picture.Disappointed"],["Dizzy","eye_picture.Dizzy"],["Down","eye_picture.Down"],["Evil","eye_picture.Evil"],["Hurt","eye_picture.Hurt"],["Knocked_out","eye_picture.Knocked_out"],["Love","eye_picture.Love"],["Middle_left","eye_picture.Middle_left"],["Middle_right","eye_picture.Middle_right"],["Neutral","eye_picture.Neutral"],["Nuclear","eye_picture.Nuclear"],["Pinch_left","eye_picture.Pinch_left"],["Pinch_middle","eye_picture.Pinch_middle"],["Pinch_right","eye_picture.Pinch_right"],["Tear","eye_picture.Tear"],["Tired_left","eye_picture.Tired_left"],["Tired_middle","eye_picture.Tired_middle"],["Tired_right","eye_picture.Tired_right"],["Toxic","eye_picture.Toxic"],["Up","eye_picture.Up"],["Winking","eye_picture.Winking"],["Accept","informatio_picture.Accept"],["Backward","informatio_picture.Backward"],["Decline","informatio_picture.Decline"],["Forward","informatio_picture.Forward"],["Left","informatio_picture.Left"],["No_go","informatio_picture.No_go"],["Question_mark","informatio_picture.Question_mark"],["Right","informatio_picture.Right"],["Stop_1","informatio_picture.Stop_1"],["Stop_2","informatio_picture.Stop_2"],["Thumbs_down","informatio_picture.Thumbs_down"],["Thumbs_up","informatio_picture.Thumbs_up"],["Warning","informatio_picture.Warning"],["Bomb","object_picture.Bomb"],["Boom","object_picture.Boom"],["Fire","object_picture.Fire"],["Flowers","object_picture.Flowers"],["Forest","object_picture.Forest"],["Lightning","object_picture.Lightning"],["Light_off","object_picture.Light_off"],["Light_on","object_picture.Light_on"],["Night","object_picture.Night"],["Pirate","object_picture.Pirate"],["Snow","object_picture.Snow"],["Target","object_picture.Target"],["Bar_0","progres_picture.Bar_0"],["Bar_1","progres_picture.Bar_1"],["Bar_2","progres_picture.Bar_2"],["Bar_3","progres_picture.Bar_3"],["Bar_4","progres_picture.Bar_4"],["Dial_0","progres_picture.Dial_0"],["Dial_1","progres_picture.Dial_1"],["Dial_2","progres_picture.Dial_2"],["Dial_3","progres_picture.Dial_3"],["Dial_4","progres_picture.Dial_4"],["Dots_0","progres_picture.Dots_0"],["Dots_1","progres_picture.Dots_1"],["Dots_2","progres_picture.Dots_2"],["Dots_3","progres_picture.Dots_3"],["Hourglass_0","progres_picture.Hourglass_0"],["Hourglass_1","progres_picture.Hourglass_1"],["Hourglass_2","progres_picture.Hourglass_2"],["Timer_0","progres_picture.Timer_0"],["Timer_1","progres_picture.Timer_1"],["Timer_2","progres_picture.Timer_2"],["Timer_3","progres_picture.Timer_3"],["Timer_4","progres_picture.Timer_4"],["Water_level_0","progres_picture.Water_level_0"],["Water_level_1","progres_picture.Water_level_1"],["Water_level_2","progres_picture.Water_level_2"],["Water_level_3","progres_picture.Water_level_3"],["YES","informatio_picture.YES"],["NO","informatio_picture.NO"]]},rm={init:function(){this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<5;t++){let e=this.appendDummyInput();for(let i=0;i<5;i++)e.appendField(new lt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${lt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(Sh),this.setTooltip(lt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(lt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},dm={init:function(){this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(lt.inputs.Align.CENTRE).appendField(new lt.FieldBitmap(dm.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Sh),this.setTooltip(lt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(5).fill(0)))},lm={init:function(){this.setColour(Sh),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(lt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},Im={init:function(){this.setColour(Sh),this.appendDummyInput().appendField(lt.Msg.MIXLY_MIXBOT_AMBIENTBRIGHT),this.setInputsInline(!0),this.setOutput(!0,Number)}},Tm={init:function(){this.setColour(Sh),this.appendValueInput("x").setCheck(Number).appendField(lt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},Mm={init:function(){this.setColour(Sh),this.appendDummyInput().appendField(lt.Msg.MIXLY_MIXBOT_SCREEN_ROTATE).appendField(new lt.FieldDropdown(Mm.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[[lt.Msg.mixpy_PL_PIE_SHADOW_N,"0"],[lt.Msg.CLOCKWISE+"90"+lt.Msg.blockpy_setheading_degree,"1"],[lt.Msg.CLOCKWISE+"180"+lt.Msg.blockpy_setheading_degree,"2"],[lt.Msg.CLOCKWISE+"270"+lt.Msg.blockpy_setheading_degree,"3"]]},hm={init:function(){this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<12;t++){let e=this.appendDummyInput();for(let i=0;i<12;i++)e.appendField(new lt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${lt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(Sh),this.setTooltip(lt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(lt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},mm={init:function(){this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(lt.inputs.Align.CENTRE).appendField(new lt.FieldBitmap(mm.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Sh),this.setTooltip(lt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:12},(()=>new Array(12).fill(0)))},Em={init:function(){this.setColour(Sh),this.appendValueInput("data").appendField(lt.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(lt.Msg.HTML_COLOUR);It.Boards.getSelectedBoardKey();"Python ESP32-S3"===It.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(lt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Om={init:function(){this.setColour(Sh),this.appendValueInput("x").setCheck(Number).appendField(lt.Msg.OLED_BITMAP).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("direct").setCheck(String).appendField(lt.Msg.MIXLY_AipImageClassify_Image+lt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Rm={init:function(){this.setColour(Sh),this.appendValueInput("data").appendField(lt.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(lt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(lt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(lt.Msg.TEXT_CENTER).appendField(new lt.FieldDropdown([[lt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[lt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.appendValueInput("VAR").appendField(lt.Msg.HTML_COLOUR);It.Boards.getSelectedBoardKey();"Python ESP32-S3"===It.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(lt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},cm={init:function(){this.setColour(Sh),this.appendValueInput("data").appendField(lt.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(lt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("VAR").appendField(lt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},gm={init:function(){this.jsonInit({colour:Sh,args0:[{name:"shape",options:[[lt.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[lt.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:lt.Msg.mpython_HELPURL,tooltip:lt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:lt.Msg.ONBOARD_TFT_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},Cm={init:function(){this.jsonInit({colour:Sh,args0:[{name:"dir_h_v",options:[[lt.Msg.mpython_vertical,"0"],[lt.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:lt.Msg.mpython_HELPURL,tooltip:lt.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:lt.Msg.ONBOARD_TFT_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},Sm={init:function(){this.jsonInit({colour:Sh,args0:[{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:lt.Msg.mpython_HELPURL,tooltip:lt.Msg.mpython_display_line_TOOLTIP,message0:lt.Msg.onboard_mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},Am={init:function(){this.setColour(Sh),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("x").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(lt.Msg.HTML_COLOUR),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(lt.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},Lm={init:function(){this.setColour(Sh),this.appendValueInput("x").setCheck(Number).appendField(lt.Msg.MIXLY_LCD_SETCOLOR).appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("VAR").appendField(lt.Msg.HTML_COLOUR);It.Boards.getSelectedBoardKey();"Python ESP32-S3"===It.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(lt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},Nm={init:function(){this.setColour(Sh),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_SCREEN_FILL);It.Boards.getSelectedBoardKey();"Python ESP32-S3"===It.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(lt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Dm={init:function(){this.setColour(Sh),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_INIT_CLOCK),this.appendDummyInput().appendField(lt.Msg.MIXLY_CENTER_POS),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(lt.Msg.OLED_CIRCLE_RADIUS),this.appendValueInput("VAR").appendField(lt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},fm={init:function(){this.setColour(Sh),this.appendValueInput("SUB"),this.appendDummyInput().appendField(lt.Msg.GET_RTCTIME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Fm={init:function(){this.setColour(Sh),this.appendValueInput("SUB"),this.appendDummyInput().appendField(lt.Msg.SET_TIME),this.appendValueInput("h").setCheck(Number).appendField(lt.Msg.MIXLY_HOUR),this.appendValueInput("m").setCheck(Number).appendField(lt.Msg.MIXLY_MINUTE),this.appendValueInput("s").setCheck(Number).appendField(lt.Msg.MIXLY_SECOND),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Pm={init:function(){this.setColour(Sh),this.appendValueInput("SUB"),this.appendDummyInput().appendField(lt.Msg.DRAW_CLOCK),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},vm={init:function(){this.setColour(Sh),this.appendValueInput("SUB"),this.appendDummyInput().appendField(lt.Msg.CLEAR_CLOCK),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_STM32_TFT_BACKGROUND_COLOR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Ym={init:function(){this.jsonInit({colour:Sh,args0:[{name:"shape",options:[[lt.Msg.MPYTHON_DISPLAY_HOLLOW,"False"],[lt.Msg.MPYTHON_DISPLAY_SOLID,"True"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"r",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:lt.Msg.mpython_HELPURL,message0:lt.Msg.ONBOARD_TFT_DISPLAY_SHAPE_CIRCLE_MESSAGE0,nextStatement:null,previousStatement:null})}},Xm={init:function(){this.setColour(Sh),this.appendDummyInput().appendField(lt.Msg.DRAW_POINTER).appendField(lt.Msg.DRAW_POINTER_ANGLE),this.appendValueInput("angle"),this.appendDummyInput().appendField(lt.Msg.MIXLY_DRAW_POINTER_DU),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.DRAW_POINTER_TOOLTIP)}},bm={init:function(){this.setColour(Sh),this.appendDummyInput().appendField(lt.Msg.DRAW_POINTER).appendField(lt.Msg.DRAW_POINTER_ANGLE),this.appendValueInput("angle"),this.appendDummyInput().appendField(lt.Msg.MIXLY_DRAW_POINTER_DU),this.appendValueInput("VAR").appendField(lt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.DRAW_POINTER_TOOLTIP)}},ym={init:function(){this.setColour(Sh),this.appendValueInput("data").appendField(lt.Msg.MIXLY_Display_long_text),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(lt.Msg.HTML_COLOUR);It.Boards.getSelectedBoardKey();"Python ESP32-S3"===It.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(lt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},xm={init:function(){this.setColour(Sh),this.appendValueInput("direct").appendField(lt.Msg.OLED_BITMAP).appendField(lt.Msg.MIXLY_QR_CODE),"Python ESP32-S3"===It.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(lt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Vm={init:function(){this.setColour(Sh),this.appendValueInput("data").appendField(lt.Msg.OLED_BITMAP).appendField(lt.Msg.MIXLY_QR_CODE),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendDummyInput("").appendField(lt.Msg.MIXLY_ERROR_RATE).appendField(new lt.FieldDropdown([["0","7%"],["1","15%"],["2","25%"],["3","30"]]),"correct"),this.appendValueInput("VAR").appendField(lt.Msg.HTML_COLOUR),"Python ESP32-S3"===It.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(lt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Bm={init:function(){this.setColour(Sh),this.appendValueInput("data").appendField(lt.Msg.OLED_BITMAP),this.appendDummyInput().appendField(`(${lt.Msg.MIXLY_DEPRECATED})`),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.OLED_BITMAP_OR_STRING),this.setWarningText(lt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Gm={init:function(){Nh.init.call(this),this.appendDummyInput().appendField(`(${lt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(lt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Um={init:function(){Ph.init.call(this),this.appendDummyInput().appendField(`(${lt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(lt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},wm={init:function(){Bh.init.call(this),this.appendDummyInput().appendField(`(${lt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(lt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Hm={init:function(){wh.init.call(this),this.appendDummyInput().appendField(`(${lt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(lt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},km={init:function(){Hh.init.call(this),this.appendDummyInput().appendField(`(${lt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(lt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Wm={init:function(){kh.init.call(this),this.appendDummyInput().appendField(`(${lt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(lt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Km=180,Jm={init:function(){this.setColour(Km),this.setOutput(!0),this.setInputsInline(!0),this.appendValueInput("img").appendField(lt.Msg.DISPLAY_IMAGE_LET).setCheck(["esp32_image","List",String]),this.appendDummyInput("").appendField(lt.Msg.DISPLAY_IMAGE_LET2).appendField(new lt.FieldDropdown(Jm.OPERATORS),"OP"),this.appendValueInput("val").appendField(lt.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(lt.Msg.DISPLAY_IMAGE_UNIT);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=lt.Msg.DISPLAY_IMAGE_LET,n=lt.Msg.DISPLAY_IMAGE_LET2,s=lt.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:lt.Msg.MIXLY_UP,down:lt.Msg.MIXLY_DOWN,left:lt.Msg.MIXLY_LEFT,right:lt.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[lt.Msg.MIXLY_UP,"up"],[lt.Msg.MIXLY_DOWN,"down"],[lt.Msg.MIXLY_LEFT,"left"],[lt.Msg.MIXLY_RIGHT,"right"]]},Qm={init:function(){this.setColour(Km),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(lt.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new lt.FieldDropdown(Qm.OPERATORS),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{"+":lt.Msg.MIXLY_MICROBIT_image_add,"-":lt.Msg.MIXLY_MICROBIT_image_reduce}[e]}))},OPERATORS:[[lt.Msg.MICROBIT_DISPLAY_UNION,"+"],[lt.Msg.MICROBIT_DISPLAY_MINUS,"-"]]},qm={init:function(){this.setColour(Km),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+lt.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("esp32_image"),this.appendDummyInput("").appendField(new lt.FieldDropdown(qm.OPERATORS),"OP"),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+lt.Msg.MIXLY_MICROBIT_IMAGE+{height:lt.Msg.MIXLY_HEIGHT,width:lt.Msg.MIXLY_WIDTH}[e]}))},OPERATORS:[[lt.Msg.MIXLY_HEIGHT,"height"],[lt.Msg.MIXLY_WIDTH,"width"]]},zm={init:function(){this.setColour(Km),this.appendValueInput("VAR").appendField(lt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RECT).appendField(new lt.FieldDropdown(zm.STATUS),"OP"),this.jsonInit({message0:lt.Msg.MIXLY_MICROBIT_SHOW_RECT,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"width"},{check:Number,type:"input_value",name:"height"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(lt.Msg.MIXLY_OLED_RECT)},STATUS:[[lt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[lt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},jm={init:function(){this.setColour(Km),this.appendValueInput("VAR").appendField(lt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE).appendField(new lt.FieldDropdown(jm.STATUS),"OP"),this.jsonInit({message0:lt.Msg.MIXLY_HANBIT_SHOW_CIRCLE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"r"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(lt.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE)},STATUS:[[lt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[lt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},$m={init:function(){this.setColour(Km),this.appendValueInput("VAR").appendField(lt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_DISPLAY_DRAW+lt.Msg.MIXLY_HANBIT_DRAW_TRIANGLE).appendField(new lt.FieldDropdown($m.STATUS),"OP"),this.jsonInit({message0:lt.Msg.MIXLY_HANBIT_SHOW_triangle,args0:[{check:Number,type:"input_value",name:"x0"},{check:Number,type:"input_value",name:"y0"},{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(lt.Msg.MIXLY_DISPLAY_DRAW+lt.Msg.MIXLY_HANBIT_DRAW_TRIANGLE)},STATUS:[[lt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[lt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},Zm="#777777",tE={init:function(){this.setColour(Zm),this.appendDummyInput("").appendField("from ").appendField(new lt.FieldTextInput("ESP32"),"path").appendField(" import ").appendField(new lt.FieldTextInput("*"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},eE={init:function(){this.setColour(Zm),this.appendDummyInput("").appendField("import ").appendField(new lt.FieldTextInput("module"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},iE={init:function(){this.setColour(Zm),this.appendDummyInput("").appendField(new lt.FieldTextInput("my_function"),"NAME"),this.itemCount_=1,this.arguments_=["x"],this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new lt.icons.MutatorIcon(["factory_create_with_item"],this))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("items",this.itemCount_);for(var e=0;ee?t[e]:'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){lt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},HE={init:function(){this.setColour(yE),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(lt.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},kE={init:function(){this.setColour(yE),this.appendDummyInput().appendField(lt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},WE={init:function(){this.setColour(yE),this.appendDummyInput().appendField(lt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},KE={init:function(){this.setColour(yE),this.appendDummyInput().appendField(lt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").setCheck(String).appendField(lt.Msg.MIXLY_EMQX_SERVER).setAlign(lt.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(lt.Msg.MIXLY_WIFI_USERNAME).setAlign(lt.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(lt.Msg.MIXLY_IOT_PASSWORD).setAlign(lt.inputs.Align.RIGHT),this.appendValueInput("PROJECT").setCheck(String).appendField(lt.Msg.MIXLY_EMQX_PROJECT).setAlign(lt.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},JE={init:function(){this.setColour(yE),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(lt.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(lt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(lt.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},QE={init:function(){this.setColour(yE),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(lt.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(lt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(lt.Msg.HTML_BODY),this.appendDummyInput().appendField(lt.Msg.MIXLY_Service_quality_display).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_AT_MOST_ONCE,"0"],[lt.Msg.MIXLY_AT_LEAST_ONCE,"1"]]),"quality"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},qE={init:function(){this.setColour(yE),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(lt.Msg.MIXLY_EMQX_SUBSCRIBE+lt.Msg.MIXLY_MICROBIT_MSG).appendField(lt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(lt.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_IOT_EMQX_SUBSCRIBE_TOOLTIP)}},zE={init:function(){this.setColour(yE),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},jE={init:function(){this.setColour(yE),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(lt.Msg.MIXLY_EMQX_CONNECT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},$E={init:function(){this.setColour(yE),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_CHECK_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ZE={init:function(){this.setColour(yE),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(lt.Msg.MQTT_Topic),this.setInputsInline(!0),this.setOutput(!0)}},tO={init:function(){this.setColour(yE),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(lt.Msg.MIXLY_EMQX_PUBLISH_MSG),this.setInputsInline(!0),this.setOutput(!0)}},eO={init:function(){this.setColour(yE),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_ESP32_IOT_MAP_FORMATING),this.setOutput(!0)}},iO={init:function(){this.setColour(yE),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_MICROPYTHON_FORMAT+"(Json)"),this.setOutput(!0)}},nO={init:function(){this.setColour(yE),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(lt.Msg.MIXLY_EMQX_PING),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_IOT_EMQX_PING_TOOLTIP)}},sO={init:function(){this.setColour(yE),this.appendDummyInput().appendField("MixIO").appendField(lt.Msg.MIXLY_GET_NTP),this.appendValueInput("addr").appendField(lt.Msg.blynk_SERVER_ADD),this.setInputsInline(!0),this.setOutput(!0)}},oO={init:function(){this.setColour(yE),this.appendDummyInput().appendField(lt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(lt.Msg.MIXLY_EMQX_SERVER).setAlign(lt.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(lt.Msg.CONTROLS_FOR_INPUT_WITH+lt.Msg.MIXLY_MIXIO_SHARE_KEY).setAlign(lt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},_O={init:function(){this.setColour(yE),this.appendDummyInput().appendField(lt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(lt.Msg.MIXLY_EMQX_SERVER).setAlign(lt.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(lt.Msg.CONTROLS_FOR_INPUT_WITH+"Mixly Key").setAlign(lt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},pO={init:function(){this.VISITOR_ID=It.Config.BOARD.visitorId.str32.substring(0,8).toUpperCase(),this.setColour(yE),this.appendDummyInput("").appendField(new lt.FieldTextInput(this.visitorId),"VISITOR_ID"),this.setOutput(!0,null)},onchange:function(){const t=this.getFieldValue("VISITOR_ID");this.VISITOR_ID!==t&&this.setFieldValue(this.VISITOR_ID,"VISITOR_ID")}},aO={init:function(){this.setColour(yE),this.appendDummyInput().appendField("MixIO").appendField(lt.Msg.MSG.catEthernet_clinet),this.setOutput(!0),this.setInputsInline(!0)}},uO={init:function(){this.setColour(yE),this.appendDummyInput().appendField("HTTP"+lt.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(lt.Msg.DISPLAY_IMAGE_LET2),this.appendDummyInput().appendField(lt.Msg.MIXLY_REQUESTS_GET).appendField(lt.Msg.MIXLY_GET_CURRENT_TIME).appendField(lt.Msg.MIXLY_OPEN_DEBUG).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[lt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},rO={init:function(){this.setColour(yE),this.appendDummyInput().appendField("HTTP"+lt.Msg.MIXLY_Client).appendField(lt.Msg.MIXLY_GET).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_REQUESTS_LEN,"client_len"],[lt.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[lt.Msg.MIXLY_REQUESTS_MESSAGE,"text"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},dO={init:function(){this.setColour(yE),this.appendDummyInput().appendField("MQTT"+lt.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(lt.Msg.MIXLY_CONNECTTO),this.appendDummyInput().appendField(lt.Msg.MIXLY_INIT_SUBSCRIBE).appendField(lt.Msg.MQTT_Topic).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_GET_CURRENT_TIME,""]]),"key").appendField(lt.Msg.MIXLY_OPEN_DEBUG).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[lt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},lO={init:function(){this.setColour(yE),this.appendDummyInput().appendField("MQTT"+lt.Msg.MIXLY_Client).appendField(lt.Msg.MIXLY_GET).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_REQUESTS_LEN,"client_len"],[lt.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[lt.Msg.MIXLY_REQUESTS_MESSAGE,"time_msg()"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},IO=xE,TO=VE,MO=BE,hO=GE,mO=wE,EO={init:function(){this.setColour(yE),this.appendDummyInput().appendField(lt.Msg.MIXLY_CONNECT_OLLAMA),this.appendValueInput("SERVER").appendField(lt.Msg.MIXLY_EMQX_SERVER).setAlign(lt.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(lt.Msg.MODEL_NAME).setAlign(lt.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(lt.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},OO=EO,RO={init:function(){this.setColour(yE),this.appendDummyInput().appendField(lt.Msg.MIXLY_CONNECT_OPENAI),this.appendValueInput("SERVER").appendField(lt.Msg.MIXLY_EMQX_SERVER).setAlign(lt.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(lt.Msg.MIXLY_API_PRIVATE_KEY).setAlign(lt.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(lt.Msg.MODEL_NAME).setAlign(lt.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(lt.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},cO={init:function(){this.setColour(yE),this.appendDummyInput().appendField(lt.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(lt.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendValueInput("METHOD").appendField(lt.Msg.MIXLY_LLM_CONTENT_CALLBACK),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},gO={init:function(){this.setColour(yE),this.appendDummyInput().appendField(lt.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(lt.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendDummyInput().appendField(lt.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0)}},CO={init:function(){this.setColour(yE),this.appendDummyInput().appendField("Ollama "+lt.Msg.MIXLY_EMPTY_HISTORY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},SO={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${lt.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("ADDR").setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_EMQX_SERVER),this.appendValueInput("USERNAME").setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_EMQX_USERNAME),this.appendValueInput("PASSWORD").setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_IOT_PASSWORD),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},AO={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${lt.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("MQTT").setAlign(lt.inputs.Align.RIGHT).appendField(`MixIO ${lt.Msg.MIXLY_Client}`),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},LO={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_TINY_WEB_DB_UPDATE_VARIABLE),this.appendValueInput("VALUE").setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},NO={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(lt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLE),this.appendDummyInput().appendField(lt.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setOutput(!0)}},DO={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendDummyInput().appendField(lt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_NUM),this.setInputsInline(!0),this.setOutput(!0)}},fO={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB").appendField(lt.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARIABLES),this.appendValueInput("NO").setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_TINY_WEB_DB_START_NUMBER),this.appendValueInput("COUNT").setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_TINY_WEB_DB_VARIABLE_NUMBER),this.appendValueInput("TAG").setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARS),this.appendDummyInput().setAlign(lt.inputs.Align.RIGHT).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_ALL,"both"],[lt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_TAG,"tag"],[lt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_VALUE,"value"]]),"DTYPE"),this.setInputsInline(!1),this.setOutput(!0)}},FO={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(lt.Msg.MIXLY_TINY_WEB_DB_DELETE_VARIABLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},PO=225,vO={init:function(){this.setColour(PO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_NETWORK_INIT),this.appendDummyInput().appendField(lt.Msg.MIXLY_NETWORK_MODE).appendField(new lt.FieldDropdown([["STA","STA"],["AP","AP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_NETWORK_INIT_TOOLTIP)}},YO={init:function(){this.setColour(PO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_NETWORK_WIFI_OPEN,"True"],[lt.Msg.MIXLY_NETWORK_WIFI_CLOSE,"False"]]),"op"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_NETWORK_WIFI_FLAG),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("op"),i=lt.Msg.MIXLY_ESP32_NETWORK_OPEN_TOOLTIP;return{True:lt.Msg.MIXLY_NETWORK_WIFI_OPEN,False:lt.Msg.MIXLY_NETWORK_WIFI_CLOSE}[e]+i}))}},XO={init:function(){this.setColour(PO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE)}},bO={init:function(){this.setColour(PO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_NETWORK_WIFI_SCAN),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip((function(){return lt.Msg.MIXLY_ESP32_NETWORK_SCAN_TOOLTIP+{0:"ssid",1:"bssid",2:"channel",3:"RSSI",4:"authmode",5:"hidden",all:lt.Msg.MIXLY_NETWORK_WIFI_SCAN_ATTRIBUTE}.all}))}},yO={init:function(){this.setColour(PO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_ESP32_NETWORK_CONNECT),this.appendValueInput("id").setCheck(String).appendField(lt.Msg.HTML_NAME),this.appendValueInput("password").setCheck(String).appendField(lt.Msg.HTML_PASSWORD),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_NETWORK_CONNECT_TOOLTIP)}},xO={init:function(){this.setColour(PO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_NETWORK_WIFI_CONNECT+lt.Msg.MIXLY_SYMBOL_QUESTION),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_NETWORK_WIFI_CONNECT_TOOLTIP)}},VO={init:function(){this.setColour(PO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput("").appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_ESP32_NETWORK_IP,"0"],[lt.Msg.MIXLY_ESP32_NETWORK_MASK,"1"],[lt.Msg.MIXLY_ESP32_NETWORK_GATEWAY,"2"],["DNS","3"]]),"mode"),this.setOutput(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return lt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP+{0:lt.Msg.MIXLY_ESP32_NETWORK_IP,1:lt.Msg.MIXLY_ESP32_NETWORK_MASK,2:lt.Msg.MIXLY_ESP32_NETWORK_GATEWAY,3:"DNS"}[e]}))}},BO={init:function(){this.setColour(PO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_ESP32_NETWORK_STOP_CONNECT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_NETWORK_STOP_TOOLTIP)}},GO={init:function(){this.setColour(PO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput().appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_NETWORK_WIFI_ESSID,"essid"],[lt.Msg.MIXLY_NETWORK_WIFI_CHANNEL,"channel"]]),"op"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP)}},UO={init:function(){this.setColour(PO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.LISTS_SET_INDEX_SET+lt.Msg.MIXLY_HOTSPOT),this.appendValueInput("essid").setCheck(String).appendField(lt.Msg.MIXLY_NAME),this.appendValueInput("password").setCheck(String).appendField(lt.Msg.MIXLY_EMQX_PASSWORD),this.appendValueInput("channel").setCheck(Number).appendField(lt.Msg.MIXLY_NETWORK_WIFI_CHANNEL),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_NETWORK_AP_CONNECT_TOOLTIP)}},wO={init:function(){this.setColour(PO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_ESP32_NETWORK_SERVER1),this.appendDummyInput("").appendField(lt.Msg.MIXLY_ESP32_NETWORK_SERVER2),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},HO={init:function(){this.setColour(PO),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_INIT).setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new lt.FieldDropdown([["TCP","TCP"],["UDP","UDP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return lt.Msg.MIXLY_ESP32_NETWORK_SOCKET_INIT_TOOLTIP+{TCP:"TCP",UDP:"UDP"}[e]}))}},kO={init:function(){this.setColour(PO),this.appendValueInput("VAR").setCheck("var").appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_BIND_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_NETWORK_SOCKET_BIND_TOOLTIP)}},WO={init:function(){this.setColour(PO),this.appendValueInput("VAR").setCheck("var").appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_CONNECT_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_NETWORK_SOCKET_CONNECT_TOOLTIP)}},KO={init:function(){this.setColour(PO),this.appendValueInput("VAR").setCheck("var"),this.appendValueInput("queue").setCheck(Number).appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_LISTEN).appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_QUEUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_NETWORK_SOCKET_LISTEN_TOOLTIP)}},JO={init:function(){this.setColour(PO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_ACCEPT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_NETWORK_SOCKET_ACCEPT_TOOLTIP)}},QO={init:function(){this.setColour(PO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE_TOOLTIP)}},qO={init:function(){this.setColour(PO),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("size").setCheck(Number).appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_TOOLTIP)}},zO={init:function(){this.setColour(PO),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("content").appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TOOLTIP)}},jO={init:function(){this.setColour(PO),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("size").setCheck(Number).appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_FROM_TOOLTIP)}},$O={init:function(){this.setColour(PO),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("content").appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.appendValueInput("address").appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_TO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TO_TOOLTIP)}},ZO={init:function(){this.setColour(PO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_CLOSE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},tR={init:function(){this.setColour(PO),this.appendValueInput("DOMAIN").appendField(lt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(lt.Msg.blockpy_REQUESTS_GET).appendField(new lt.FieldTextInput("response"),"VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.blockpy_REQUESTS_GET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){lt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},eR={init:function(){this.appendValueInput("VAL"),this.setColour(PO),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new lt.FieldDropdown(eR.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{clear:lt.Msg.MIXLY_TOOLTIP_TURTEL_CLEAR,reset:lt.Msg.MIXLY_TOOLTIP_TURTEL_RESET,home:lt.Msg.MIXLY_TOOLTIP_TURTEL_HOME}[e]}))},ATTR:[[lt.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[lt.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[lt.Msg.blockpy_REQUESTS_GET_ATTR_COOKIES,"cookies"],[lt.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"]]},iR={init:function(){this.appendValueInput("VAR").appendField(lt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.setColour(PO),this.appendDummyInput("").appendField(lt.Msg.blockpy_CONDUCT).appendField(new lt.FieldDropdown(iR.METHOD),"DIR"),this.appendDummyInput("").appendField(lt.Msg.blockpy_REQUESTS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{forward:lt.Msg.MIXLY_TOOLTIP_TURTEL_FORWARD,backward:lt.Msg.MIXLY_TOOLTIP_TURTEL_BACKWARD}[e]}))},METHOD:[["post","post"],["put","put"],["delete","delete"],["head","head"],["option","option"]]},nR={init:function(){this.setColour(PO),this.appendDummyInput("").appendField(lt.Msg.MIXLY_GET_NTP+"(NTP)"),this.appendValueInput("data").appendField(lt.Msg.blynk_SERVER_ADD),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},sR={init:function(){this.setColour(PO),this.appendDummyInput("").appendField(new lt.FieldDropdown([["ntp.aliyun.com","ntp.aliyun.com"],["ntp1.aliyun.com","ntp1.aliyun.com"],["ntp2.aliyun.com","ntp2.aliyun.com"],["ntp3.aliyun.com","ntp3.aliyun.com"],["ntp4.aliyun.com","ntp4.aliyun.com"],["ntp5.aliyun.com","ntp5.aliyun.com"],["ntp6.aliyun.com","ntp6.aliyun.com"],["ntp7.aliyun.com","ntp7.aliyun.com"],["time1.cloud.tencent.com","time1.cloud.tencent.com"],["time2.cloud.tencent.com","time2.cloud.tencent.com"],["time3.cloud.tencent.com","time3.cloud.tencent.com"],["time4.cloud.tencent.com","time4.cloud.tencent.com"],["time5.cloud.tencent.com","time5.cloud.tencent.com"]]),"op"),this.setOutput(!0)}},oR="#3288dd",_R={init:function(){this.setColour(oR),this.appendValueInput("URL").appendField(lt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(lt.Msg.blockpy_CONDUCT).appendField(new lt.FieldDropdown([["get","get"],["head","head"],["delete","delete"]]),"TYPE").appendField(lt.Msg.blockpy_REQUESTS).appendField(lt.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},pR={init:function(){this.setColour(oR),this.appendValueInput("URL").appendField(lt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(lt.Msg.blockpy_CONDUCT).appendField(new lt.FieldDropdown([["post","post"],["put","put"],["patch","patch"]]),"TYPE").appendField(lt.Msg.blockpy_REQUESTS),this.appendValueInput("data").appendField(lt.Msg.blockpy_REQUESTS+lt.Msg.OLED_STRING),this.appendDummyInput("").appendField(lt.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},aR={init:function(){this.appendValueInput("VAL"),this.setColour(oR),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new lt.FieldDropdown(aR.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String)},ATTR:[[lt.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[lt.Msg.blockpy_REQUESTS_GET_ATTR_JSON,"json()"],[lt.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[lt.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"],[lt.Msg.MIXPY_TEXT_ENCODE,"encoding"]]},uR={init:function(){this.setColour(oR),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_IOT_CONNECT_WIFI),this.appendValueInput("WIFINAME").setCheck(String).appendField(lt.Msg.HTML_NAME),this.appendValueInput("PASSWORD").setCheck(String).appendField(lt.Msg.HTML_PASSWORD),this.appendValueInput("TIMEOUT").setCheck(Number).appendField(lt.Msg.MIXLY_IR_TIMEOUT),this.appendDummyInput().appendField(lt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_IOT_WIFI_CONNECT_TOOLTIP)}},rR={init:function(){this.setColour(oR),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_IOT_EMQX_CONNECT_TOOLTIP),this.appendValueInput("SERVER").setCheck(String).appendField(lt.Msg.MIXLY_EMQX_SERVER).setAlign(lt.inputs.Align.RIGHT),this.appendValueInput("PORT").setCheck(Number).appendField(lt.Msg.MIXLY_EMQX_PORT).setAlign(lt.inputs.Align.RIGHT),this.appendValueInput("CLIENT_ID").setCheck(String).appendField(lt.Msg.MIXLY_EMQX_CLIENT_ID).setAlign(lt.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(lt.Msg.MIXLY_WIFI_USERNAME).setAlign(lt.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(lt.Msg.MIXLY_IOT_PASSWORD).setAlign(lt.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},dR={init:function(){this.setColour(oR),this.appendValueInput("TOPIC").appendField(lt.Msg.MIXLY_EMQX_SUBSCRIBE+lt.Msg.MIXLY_MICROBIT_MSG).appendField(lt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MESSAGE").appendField(lt.Msg.blockpy_set_of),this.setInputsInline(!0),this.setOutput(!0)}},lR={init:function(){this.setColour(oR),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(lt.Msg.MIXLY_EMQX_SUBSCRIBE+lt.Msg.MIXLY_MICROBIT_MSG).appendField(lt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(lt.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},IR={init:function(){this.setColour(oR),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(lt.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(lt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(lt.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},TR={init:function(){this.setColour(oR),this.appendDummyInput().appendField("mqtt"+lt.Msg.MIXLY_EMQX_IS_CONNECT),this.setInputsInline(!0),this.setOutput(!0)}},MR="#A58C5B",hR={init:function(){this.setColour(MR),this.appendValueInput("PIN",Number).appendField(lt.Msg.MIXLY_BUTTON).appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(lt.Msg.MIXLY_IS_PRESSED),this.appendValueInput("STAT").appendField(lt.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_SENOR_IS_PRESSED)}},mR={init:function(){this.setColour(MR),this.appendValueInput("PIN",Number).appendField(lt.Msg.MIXLY_BUTTON).appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(lt.Msg.MIXLY_WAS_PRESSED),this.appendValueInput("STAT").appendField(lt.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_SENOR_WAS_PRESSED)}},ER={init:function(){this.setColour(MR),this.appendValueInput("PIN",Number).appendField(lt.Msg.MIXLY_BUTTON).appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(lt.Msg.MIXLY_GET_PRESSES),this.appendValueInput("VAR").setCheck(Number).appendField(lt.Msg.MIXLY_GET_PRESSES_TIME),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(lt.Msg.PROCEDURES_DEFRETURN_RETURN+lt.Msg.MIXLY_BUTTON+lt.Msg.MIXLY_GET_PRESSES)}},OR={init:function(){this.setColour(MR),this.appendValueInput("PIN",Number).appendField(lt.Msg.MIXLY_BUTTON).appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MODE).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[lt.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[lt.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(lt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.MIXLY_TOOLTIP_INOUT_ATTACHINTERRUPT)}},RR={init:function(){this.setColour(MR),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_shake,"shake"],[lt.Msg.MIXLY_UP,"up"],[lt.Msg.MIXLY_DOWN,"down"],[lt.Msg.MIXLY_LEFT,"left"],[lt.Msg.MIXLY_RIGHT,"right"],[lt.Msg.MIXLY_MICROBIT_face_up,"face up"],[lt.Msg.MIXLY_MICROBIT_face_down,"face down"],[lt.Msg.MIXLY_MICROBIT_freefall,"freefall"],["3g","3g"],["6g","6g"],["8g","8g"]]),"gesture"),this.appendStatementInput("DO").appendField(lt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("gesture"),i=lt.Msg.MIXLY_MICROBIT_JS_CURRENT,n=lt.Msg.MSG.catSensor,s=lt.Msg.MIXLY_MICROBIT_JS_STATE,o=lt.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:lt.Msg.MIXLY_MICROBIT_shake,up:lt.Msg.MIXLY_UP,down:lt.Msg.MIXLY_DOWN,left:lt.Msg.MIXLY_LEFT,right:lt.Msg.MIXLY_RIGHT,"face up":lt.Msg.MIXLY_MICROBIT_face_up,"face down":lt.Msg.MIXLY_MICROBIT_face_down,freefall:lt.Msg.MIXLY_MICROBIT_freefall,"3g":"3g","6g":"6g","8g":"8g"}[e]+o}))}},cR={init:function(){this.setColour(MR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_ADXL345).setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new lt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=lt.Msg.MIXLY_MICROBIT_Direction,s=lt.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":lt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},gR={init:function(){this.setColour(MR),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_JS_LIGHT_LEVEL),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_SENSOR_LIGHT_LEVEL_TOOLTIP)}},CR={init:function(){this.setColour(MR),this.appendValueInput("PIN",Number).appendField(new lt.FieldDropdown([["DHT11","DHT11"],["DHT22","DHT22"]]),"TYPE").appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(new lt.FieldDropdown(CR.METHOD),"WHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("WHAT");return{temperature:lt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM,relative_humidity:lt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_HUM,tempandhum:lt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM_HUM}[e]}))},METHOD:[[lt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[lt.Msg.MIXLY_GETHUMIDITY,"humidity"]]},SR={init:function(){this.setColour(MR),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_EXTERN_LIGHT),this.appendValueInput("PIN",Number).appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(lt.Msg.ESP32_SENSOR_NIXGO_LIGHT_TOOLTIP)}},AR={init:function(){this.setColour(MR),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_EXTERN_SOUND),this.appendValueInput("PIN",Number).appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(lt.Msg.ESP32_SENSOR_NIXGO_SOUND_TOOLTIP)}},LR={init:function(){this.setColour(MR),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new lt.FieldDropdown([[lt.Msg.TEXT_TRIM_LEFT,"left"],[lt.Msg.TEXT_TRIM_RIGHT,"right"]]),"direction").appendField(lt.Msg.MIXLY_ESP32_NEAR),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("direction"),i=lt.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP,n=lt.Msg.MIXLY_ESP32_NEAR;return i+{left:lt.Msg.TEXT_TRIM_LEFT,right:lt.Msg.TEXT_TRIM_RIGHT}[e]+n}))}},NR={init:function(){this.setColour(MR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_ALTITUDE_SENSOR+" BMP280").setCheck("var"),this.appendDummyInput("").appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_GETTEMPERATUE,"get_BMP_temperature()"],[lt.Msg.MIXLY_GETPRESSURE,"get_BMP_pressure()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{"get_BMP_temperature()":lt.Msg.MIXLY_MICROBIT_SENSOR_BMP_temperature_TOOLTIP,"get_BMP_pressure()":lt.Msg.MIXLY_MICROBIT_SENSOR_BMP_press_TOOLTIP}[e]}))}},DR={init:function(){this.setColour(MR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+" SHT20").setCheck("var"),this.appendDummyInput("").appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_GETTEMPERATUE,"get_SHT_temperature()"],[lt.Msg.MIXLY_GETHUMIDITY,"get_SHT_relative_humidity()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{"get_SHT_temperature()":lt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,"get_SHT_relative_humidity()":lt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},fR={init:function(){this.setColour(MR),this.appendValueInput("PIN",Number).appendField("DS18X20 "+lt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(lt.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(lt.Msg.MIXLY_MICROBIT_SENSOR_DS18X20_TOOLTIP)}},FR={init:function(){this.setColour(MR),this.appendDummyInput("").appendField("LM35"+lt.Msg.MIXLY_TEMP),this.appendValueInput("PIN",Number).appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(lt.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(lt.Msg.MIXLY_TOOLTIP_LM35)}},PR={init:function(){this.setColour(MR),this.appendValueInput("I2CSUB").appendField(lt.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_SETUP+lt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_ESP32_EXTERN_LIGHT+"(LTR308ALS)","LTR308"],[lt.Msg.MIXLY_COLOR_SENSOR+"(LTR381RGB)","LTR381RGB"],[lt.Msg.MIXLY_COLOR_SENSOR+"(UCS12071)","UCS12071"],[lt.Msg.MIXLY_EXTERN_LIGHTUV+"(LTR390UV)","LTR390UV"],[lt.Msg.MIXLY_ALTITUDE_SENSOR+"(HP203X)","HP203X"],[lt.Msg.MIXLY_ALTITUDE_SENSOR+"(SPL06_001)","SPL06_001"],[lt.Msg.MIXLY_ALTITUDE_SENSOR+"(MS5611)","MS5611"],[lt.Msg.MIXLY_ALTITUDE_SENSOR+"(BMP280)","BMP280"],[lt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(SHTC3)","SHTC3"],[lt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(AHT21)","AHT21"],[lt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(SHT20)","SHT20"],[lt.Msg.MIXLY_LASER_RANGE_SENSOR+"(VL53L0X)","VL53L0X"],[lt.Msg.MIXLY_GEOMAGNETIC_SENSOR+"(QMC5883L)","QMC5883L"],[lt.Msg.MIXLY_ESP32_MAX30102+"(MAX30102)","MAX30102"],[lt.Msg.HTML_COLOUR+"、"+lt.Msg.MIXLY_ENVIRONMENT_LIGHT+"、"+lt.Msg.MIXLY_NEXT+"、"+lt.Msg.MIXLY_ESP32_APDS9960+"(APDS9960)","APDS9960"],[lt.Msg.MIXLY_NINE_AXIS_SENSOR+"(MPU9250)","MPU9250"],[lt.Msg.MixGo_MPU9250+"(ADXL345)","ADXL345"],["RFID","RFID"],[lt.Msg.MIXLY_RADAR_SENSOR+"(CBR817)","CBR817"],[lt.Msg.MIXLY_AipSpeech_asr+"(CI130X)","CI130X"],[lt.Msg.MIXLY_TVOC_CO2_SENSOR+"(AGS10)","AGS10"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},vR={init:function(){this.setColour(MR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_RADAR+"CBR817").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.LISTS_SET_INDEX_SET+lt.Msg.MIXlY_INTERACTION),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_DETECTION_THRESHOLD),this.appendValueInput("VAR2").appendField(lt.Msg.MIXLY_DELAY_TIME),this.appendDummyInput().appendField("ms"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_THRESHOLD_TOOLTIP+" ; "+lt.Msg.MIXLY_DELAY_TIME_RANGE)}},YR={init:function(){this.setColour(MR),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RADAR).appendField(lt.Msg.LISTS_SET_INDEX_SET+lt.Msg.MIXlY_INTERACTION),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_DETECTION_THRESHOLD),this.appendValueInput("VAR2").appendField(lt.Msg.MIXLY_DELAY_TIME),this.appendDummyInput().appendField("ms"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_THRESHOLD_TOOLTIP+" ; "+lt.Msg.MIXLY_DELAY_TIME_RANGE)}},XR={init:function(){this.setColour(MR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_RADAR+"CBR817").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_GET_TO_INTERACTION),this.setOutput(!0),this.setInputsInline(!0)}},bR={init:function(){this.setColour(MR),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RADAR).appendField(lt.Msg.MIXLY_GET_TO_INTERACTION),this.setOutput(!0),this.setInputsInline(!0)}},yR={init:function(){this.setColour(MR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_IDENTIFY_ONCE_AND_SAVE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},xR={init:function(){this.setColour(MR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_GET).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_HELLO_XIAOZHI,"1"],[lt.Msg.MIXLY_XIAOZHIXIAOZHI,"2"],[lt.Msg.MIXLY_THE_FIRST,"3"],[lt.Msg.MIXLY_THE_SECOND,"4"],[lt.Msg.MIXLY_THE_THIRD,"5"],[lt.Msg.MIXLY_THE_FOURTH,"6"],[lt.Msg.MIXLY_THE_FIFTH,"7"],[lt.Msg.MIXLY_THE_SIXTH,"8"],[lt.Msg.MIXLY_THE_SEVENTH,"9"],[lt.Msg.MIXLY_THE_EIGHTH,"10"],[lt.Msg.MIXLY_THE_NINTH,"11"],[lt.Msg.MIXLY_THE_TENTH,"12"],[lt.Msg.MIXLY_THE_ELEVENTH,"13"],[lt.Msg.MIXLY_THE_TWELFTH,"14"],[lt.Msg.MIXLY_THE_13TH,"15"],[lt.Msg.MIXLY_THE_14TH,"16"],[lt.Msg.MIXLY_THE_15TH,"17"],[lt.Msg.MIXLY_THE_16TH,"18"],[lt.Msg.MIXLY_THE_17TH,"19"],[lt.Msg.MIXLY_THE_18TH,"20"],[lt.Msg.MIXLY_THE_19TH,"21"],[lt.Msg.MIXLY_THE_20TH,"22"],[lt.Msg.MIXLY_Turn_on_the_lights,"23"],[lt.Msg.MIXLY_Turn_off_the_lights,"24"],[lt.Msg.MIXLY_Turn_up_the_brightness,"25"],[lt.Msg.MIXLY_Turn_down_the_brightness,"26"],[lt.Msg.MIXLY_Set_it_to_red,"27"],[lt.Msg.MIXLY_Set_it_to_orange,"28"],[lt.Msg.MIXLY_Set_it_to_yellow,"29"],[lt.Msg.MIXLY_Set_it_to_green,"30"],[lt.Msg.MIXLY_Set_it_to_cyan,"31"],[lt.Msg.MIXLY_Set_it_to_blue,"32"],[lt.Msg.MIXLY_Set_it_to_purple,"33"],[lt.Msg.MIXLY_Set_it_to_white,"34"],[lt.Msg.MIXLY_Turn_on_the_fan,"35"],[lt.Msg.MIXLY_Turn_off_the_fan,"36"],[lt.Msg.MIXLY_First_gear,"37"],[lt.Msg.MIXLY_Wind_speed_second,"38"],[lt.Msg.MIXLY_Third_gear,"39"],[lt.Msg.MIXLY_Previous,"40"],[lt.Msg.MIXLY_Next_page,"41"],[lt.Msg.MIXLY_Show_smiley_face,"42"],[lt.Msg.MIXLY_Show_crying_face,"43"],[lt.Msg.MIXLY_Show_love,"44"],[lt.Msg.MIXLY_Close_display,"45"],[lt.Msg.MIXLY_Start_execution,"46"],[lt.Msg.MIXLY_FORWARD,"47"],[lt.Msg.MIXLY_BACKWARD,"48"],[lt.Msg.MIXLY_TURNLEFT,"49"],[lt.Msg.MIXLY_TURNRIGHT,"50"],[lt.Msg.MIXLY_STOP,"51"],[lt.Msg.MIXLY_Accelerate,"52"],[lt.Msg.MIXLY_retard,"53"],[lt.Msg.ROTATION_FORWARD,"54"],[lt.Msg.ROTATION_BACKWARD,"55"],[lt.Msg.MIXLY_Query_temperature,"56"],[lt.Msg.MIXLY_Query_humidity,"57"],[lt.Msg.MIXLY_Query_brightness,"58"],[lt.Msg.MIXLY_Query_sound,"59"],[lt.Msg.MIXLY_Query_time,"60"],[lt.Msg.MIXLY_Query_distance,"61"],[lt.Msg.MIXLY_Query_pressure,"62"],[lt.Msg.MIXLY_Query_key,"63"],[lt.Msg.MIXLY_Query_touch,"64"],[lt.Msg.MIXLY_Query_color,"65"]]),"cmd").appendField(lt.Msg.MIXLY_WHETHER+lt.Msg.MIXLY_BE_IDENTIFIED),this.setOutput(!0),this.setInputsInline(!0)}},VR={init:function(){this.setColour(MR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_GET).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_RECOGNIZED_STATE,"status1"],[lt.Msg.MIXLY_WHETHER_BROADCAST,"status2"],[lt.Msg.MIXLY_THE_RECOGNIZED_CMD,"result"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_CI130X_GET_THE_RECOGNIZED_STATE_TOOLTIP)}},BR={init:function(){this.setColour(MR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MP3_PLAY).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"],[lt.Msg.MIXLY_WIND_SPEED,"154"],[lt.Msg.MIXLY_HYETAL,"155"],[lt.Msg.MIXLY_TEMPERATURE,"156"],[lt.Msg.MIXLY_Humidity,"157"],[lt.Msg.MIXLY_Altitude,"158"],[lt.Msg.MIXLY_SOUND,"159"],[lt.Msg.MIXLY_BRIGHTNESS,"160"],[lt.Msg.ME_GO_HALL_SENSOR_DISTANCE,"161"],[lt.Msg.MIXLY_SERVO,"162"],[lt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"163"],[lt.Msg.MIXLY_BUTTON2,"164"],[lt.Msg.MIXLY_ESP32_TOUCH,"165"],[lt.Msg.MIXLY_PAY,"166"],[lt.Msg.MIXLY_CARSH_CHANGE,"167"],[lt.Msg.MIXLY_COUNTDOWN,"168"],[lt.Msg.MIXLY_TIMING,"169"],[lt.Msg.MIXLY_AT_THE_MOMENT,"170"],[lt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE,"171"],[lt.Msg.MIXLY_FORWARD,"172"],[lt.Msg.MIXLY_BACKWARD,"173"],[lt.Msg.MIXLY_TURNLEFT,"174"],[lt.Msg.MIXLY_TURNRIGHT,"175"],[lt.Msg.MIXLY_STOP,"176"],[lt.Msg.MIXLY_Accelerate,"177"],[lt.Msg.MIXLY_retard,"178"],[lt.Msg.ROTATION_FORWARD,"179"],[lt.Msg.ROTATION_BACKWARD,"180"],[lt.Msg.TUPLE_JOIN,"181"],[lt.Msg.MIXLY_SHOW,"182"],[lt.Msg.MIXLY_LAMPLIGHT,"183"],[lt.Msg.MIXLY_ACCELERATION,"184"]]),"star"),this.appendValueInput("NUM").appendField(lt.Msg.MIXLY_NUMBER),this.appendDummyInput("").appendField(lt.Msg.MIXLY_UNIT).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"],[lt.Msg.MIXLY_YEAR,"117"],[lt.Msg.MIXLY_MONTH,"118"],[lt.Msg.MIXLY_DAY,"119"],[lt.Msg.MIXLY_HOUR,"120"],[lt.Msg.MIXLY_MINUTE,"121"],[lt.Msg.MIXLY_SECOND,"122"],[lt.Msg.MIXLY_WEEK2,"123"],[lt.Msg.MIXLY_RMB_UNIT,"124"],[lt.Msg.blockpy_setheading_degree,"125"],[lt.Msg.MIXLY_GEAR,"126"],[lt.Msg.MIXLY_LAYER,"127"],[lt.Msg.MIXLY_GRAM,"128"],[lt.Msg.MIXLY_METER,"129"],[lt.Msg.MIXLY_CENTIMETER,"130"],[lt.Msg.MIXLY_MILLIMETER,"131"],[lt.Msg.MIXLY_LUMEN,"132"],[lt.Msg.MIXLY_DECIBEL,"133"],[lt.Msg.MIXLY_hectopascal,"134"],[lt.Msg.MIXLY_PERCENT,"135"],[lt.Msg.MIXLY_CELSIUS,"136"],[lt.Msg.MIXLY_METER_PER_SEC,"137"],[lt.Msg.MIXLY_MICROBIT_Turn_on_display,"138"],[lt.Msg.MIXLY_MICROBIT_Turn_off_display,"139"],[lt.Msg.MIXLY_SUCCESS,"140"],[lt.Msg.MIXLY_FAILED,"141"],[lt.Msg.MIXLY_WRONG,"142"],[lt.Msg.MIXLY_GOOD,"143"],[lt.Msg.MIXLY_blockpy_set_add,"144"],[lt.Msg.MIXLY_DECREASE,"145"],[lt.Msg.COLOUR_RGB_RED,"146"],[lt.Msg.COLOUR_RGB_ORANGE,"147"],[lt.Msg.COLOUR_YELLOW,"148"],[lt.Msg.COLOUR_RGB_GREEN,"149"],[lt.Msg.COLOUR_CYAN,"150"],[lt.Msg.COLOUR_RGB_BLUE,"151"],[lt.Msg.COLOUR_RGB_PURPLE,"152"],[lt.Msg.COLOUR_RGB_WHITE,"153"]]),"end"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},GR={init:function(){this.setColour(MR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.LISTS_SET_INDEX_SET+lt.Msg.MIXLY_SYSTEM+lt.Msg.MIXLY_CMD).appendField(new lt.FieldDropdown([[lt.Msg.MILXY_ENTER_WAKE_UP,"1"],[lt.Msg.MIXLY_INCREASE_VOLUME,"202"],[lt.Msg.MIXLY_REDUCE_VOLUME,"203"],[lt.Msg.MIXLY_MAX_VOLUME,"204"],[lt.Msg.MIXLY_MINIMUM,"205"],[lt.Msg.MIXLY_OPEN_RESPONSE,"206"],[lt.Msg.MIXLY_CLOSE_RESPONSE,"207"],[lt.Msg.MIXLY_QUIT_WAKE_UP,"208"]]),"cmd"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},UR={init:function(){this.setColour(MR),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_MAX30102+" MAX30102"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_GET).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_ESP32_MAX30102_IR,"[0]"],[lt.Msg.MIXLY_ESP32_MAX30102_RED,"[1]"],[lt.Msg.MIXLY_ESP32_MAX30102_IR+","+lt.Msg.MIXLY_ESP32_MAX30102_RED,""]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},wR={init:function(){this.setColour(MR),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_APDS9960+" APDS9960"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_GET).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_ESP32_APDS9960_COLOR,"color"],[lt.Msg.MIXLY_ESP32_APDS9960_GESTURE,"gesture"],[lt.Msg.MIXLY_ESP32_APDS9960_APPROACH,"proximity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},HR={init:function(){this.setColour(MR),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_EXTERN_LIGHT+" LTR308ALS"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_GET_LIGHT_INTENSITY),this.setOutput(!0,Number),this.setInputsInline(!0)}},kR={init:function(){this.setColour(MR),this.appendValueInput("SUB").appendField(lt.Msg.HTML_COLOUR+lt.Msg.MSG.catSensor+" LTR381RGB").setCheck("var"),this.appendDummyInput("").appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_GET+lt.Msg.HTML_COLOUR,"[2]"],[lt.Msg.MIXLY_GET+lt.Msg.MIXLY_IR_STRENGTH,"[1]"],[lt.Msg.MIXLY_GET+lt.Msg.MIXLY_LIGHT_STRENGTH,"[0]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},WR={init:function(){this.setColour(MR),this.appendValueInput("SUB").appendField(lt.Msg.HTML_COLOUR+lt.Msg.MSG.catSensor+" UCS12071").setCheck("var"),this.appendDummyInput("").appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_GET+"RGB"+lt.Msg.HTML_COLOUR,"0"],[lt.Msg.MIXLY_GET+lt.Msg.MIXLY_RGB_RAW,"1"],[lt.Msg.MIXLY_GET_ENV_LIGHT+lt.Msg.MIXLY_BRIGHTNESS,"2"],[lt.Msg.GET_IR_STRENGTH+lt.Msg.MIXLY_BRIGHTNESS,"3"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},KR={init:function(){this.setColour(MR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_EXTERN_LIGHTUV+" LTR390UV").setCheck("var"),this.appendDummyInput().appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_GET_ENV_LIGHT,"E"],[lt.Msg.MIXLY_GET_ULTRAVIOLET,"U"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},JR={init:function(){this.setColour(MR),this.appendDummyInput().appendField(lt.Msg.MIXLY_LASER_RANGE+" VL53L0X"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_GET_DISTANCE+"(mm)"),this.setOutput(!0,Number),this.setInputsInline(!0)}},QR={init:function(){this.setColour(MR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_TEM_HUM+" SHTC3").setCheck("var"),this.appendDummyInput("").appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[lt.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{temperature:lt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,humidity:lt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},qR={init:function(){this.setColour(MR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_TEM_HUM+" AHT21").setCheck("var"),this.appendDummyInput("").appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[lt.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{temperature:lt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,relative_humidity:lt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},zR={init:function(){this.setColour(MR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_Altitude+lt.Msg.MSG.catSensor+" HP203X").setCheck("var"),this.appendDummyInput("").appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_GETPRESSURE,"pressure()"],[lt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[lt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},jR={init:function(){this.setColour(MR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_Altitude+lt.Msg.MSG.catSensor+" SPL06_001").setCheck("var"),this.appendDummyInput("").appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_GETPRESSURE,"pressure()"],[lt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[lt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},$R={init:function(){this.setColour(MR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_Altitude+lt.Msg.MSG.catSensor+" MS5611").setCheck("var"),this.appendDummyInput("").appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_GETPRESSURE,"pressure()"],[lt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[lt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},ZR={init:function(){this.setColour(MR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_Altitude+lt.Msg.MSG.catSensor+" MS5611").setCheck("var"),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_REF_TO_PRESSURE),this.appendDummyInput().appendField(lt.Msg.MIXLY_CAL_TO_ALTITUDE),this.setOutput(!0,Number),this.setInputsInline(!0)}},tc={init:function(){this.setColour(MR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_MIXGOPE_FIELD+lt.Msg.MSG.catSensor+" QMC5883L").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"get_bearing()"],[lt.Msg.MIXLY_TEMPERATURE,"get_temp()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},ec={init:function(){this.setColour(MR),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_shake,"shake"],[lt.Msg.MIXLY_UP,"up"],[lt.Msg.MIXLY_DOWN,"down"],[lt.Msg.MIXLY_LEFT,"left"],[lt.Msg.MIXLY_RIGHT,"right"],[lt.Msg.MIXLY_MICROBIT_face_up,"face up"],[lt.Msg.MIXLY_MICROBIT_face_down,"face down"]]),"gesture"),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("gesture"),i=lt.Msg.MIXLY_MICROBIT_JS_CURRENT,n=lt.Msg.MSG.catSensor,s=lt.Msg.MIXLY_MICROBIT_JS_STATE,o=lt.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:lt.Msg.MIXLY_MICROBIT_shake,up:lt.Msg.MIXLY_UP,down:lt.Msg.MIXLY_DOWN,left:lt.Msg.MIXLY_LEFT,right:lt.Msg.MIXLY_RIGHT,"face up":lt.Msg.MIXLY_MICROBIT_face_up,"face down":lt.Msg.MIXLY_MICROBIT_face_down}[e]+o}))}},ic={init:function(){this.setColour(MR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new lt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=lt.Msg.MIXLY_MICROBIT_Direction,s=lt.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":lt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},nc={init:function(){this.setColour(MR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_JS_GET+lt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH).appendField(new lt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=lt.Msg.MIXLY_MICROBIT_Direction,s=lt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH;return i+{x:"x",y:"y",z:"z","(x,y,z)":lt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},sc={init:function(){this.setColour(MR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+lt.Msg.MIXLY_ESP32_SENOR_GYRO).appendField(new lt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=lt.Msg.MIXLY_MICROBIT_Direction,s=lt.Msg.MIXLY_ESP32_SENOR_GYRO;return i+{x:"x",y:"y",z:"z","(x,y,z)":lt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},oc={init:function(){this.setColour(MR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS)}},_c={init:function(){this.setColour(MR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_GETTEMPERATUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_GETTEMPERATUE)}},pc={init:function(){this.setColour(MR),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_JS_GET_COMPASS).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,"strength"],[lt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"heading"]]),"compass"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("compass");return lt.Msg.MIXLY_MICROBIT_JS_GET_COMPASS+{strength:lt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,heading:lt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE}[e]}))}},ac={init:function(){this.setColour(MR),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_Reset_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_MICROBIT_Reset_COMPASS)}},uc={init:function(){this.setColour(MR),this.appendValueInput("SPISUB").appendField(lt.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_SETUP+lt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new lt.FieldDropdown([["RFID","RFID"],["WS-LoRa","Weather"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setFieldValue("RFID","key")}},rc={init:function(){this.setColour(MR),this.appendDummyInput().appendField("RFID"+lt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(lt.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_RFID_READ_CARD_UID,"id"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"content"],[lt.Msg.MIXLY_ALL,"ALL"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},dc={init:function(){this.setColour(MR),this.appendDummyInput().appendField("RFID"+lt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RFID_READ_CARD_UID),this.setOutput(!0,Number),this.setInputsInline(!0)}},lc={init:function(){this.setColour(MR),this.appendDummyInput().appendField("RFID"+lt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(lt.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},Ic={init:function(){this.setColour(MR),this.appendDummyInput().appendField(lt.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(lt.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(lt.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Tc={init:function(){this.setColour(MR),this.appendDummyInput().appendField(lt.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(lt.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(lt.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(lt.Msg.RETURN_SUCCESS_OR_NOT),this.setInputsInline(!0),this.setOutput(!0,Boolean)}},Mc={init:function(){this.setColour(MR),this.appendDummyInput().appendField("RFID"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_RFID_SCAN_OK,"0"],[lt.Msg.MIXLY_RFID_SCAN_NOTAGERR,"1"],[lt.Msg.MIXLY_RFID_SCAN_ERROR,"2"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},hc={init:function(){this.setColour(MR),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new lt.FieldDropdown([["全部(元组)","data()[0]"],["全部(json)","data()[1]"],["全部(json,附带位置信息)","data()[2]"],["编号","data()[0][0]"],["电量","data()[0][1]"],["风速","data()[0][2]"],["阵风","data()[0][3]"],["风向","data()[0][4]"],["雨量","data()[0][5]"],["温度","data()[0][6]"],["湿度","data()[0][7]"],["光照","data()[0][8]"],["紫外线","data()[0][9]"],["大气压","data()[0][10]"],["信号强度","data()[0][11]"],["信噪比","data()[0][12]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip("返回气象数据元组 data= (设备id,电池状态,风速m/s,阵风m/s,风向°,雨量mm,温度℃,湿度%,光照Lux,UVI,大气压Pa,信号强度dB,信噪比dB)")}},mc={init:function(){this.setColour(MR),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_SERIAL_AVAILABLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},Ec={init:function(){this.setColour(MR),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendValueInput("BASE").appendField("以主题"),this.appendDummyInput("").appendField("串口发送至MixIO"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Oc={init:function(){this.setColour(MR),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.itemCount_=2,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new lt.icons.MutatorIcon(["weather_set_label_item"],this)),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip()},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("weather_set_label_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n>6),i.push(128|63&o)):(2048<=o&&o<=55295||57344<=o&&o<=65535)&&(n+=3,i.push(224|15&o>>12),i.push(128|63&o>>6),i.push(128|63&o))}for(s=0;s>8,255&n].concat(i)}(t,!0),i="",n=0;n=0?"0x700000":["mixgo_sant"].indexOf(n)>=0?"0xE00000":"0x3A0000","32x12 Matrix"==_?(e.definitions_.import_matrix32x12="import matrix32x12",i=s+" = matrix32x12.Matrix("+o+", font_address="+p+")\n"):"16x8 Matrix"==_&&(e.definitions_.import_matrix16x8="import matrix16x8",i=s+" = matrix16x8.Matrix("+o+")\n"),i},PF=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},vF=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+", center="+this.getFieldValue("center")+")\n"},YF=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},XF=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", delay="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},bF=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},yF=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", speed="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+")\n"},xF=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},VF=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("OP")+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")\n"},BF=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},GF=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".pixel(int("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+"), int("+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+"), "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"+i+".show()\n"},UF=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".get_brightness()",e.ORDER_ATOMIC]},wF=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".set_brightness("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+")\n"},HF=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("image"),e.ORDER_ATOMIC]},kF=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".map_"+t.getFieldValue("OP")+"("+e.valueToCode(t,"A",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"B",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},WF=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".map_invert("+e.valueToCode(t,"A",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},KF=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC);return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = ssd1306.SSD1306_I2C("+e.valueToCode(this,"row",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"column",e.ORDER_ATOMIC)+", "+i+")\n"},JF=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_str("+(e.valueToCode(this,"Text_line1",e.ORDER_ASSIGNMENT)||"''")+", "+(e.valueToCode(this,"Text_line2",e.ORDER_ASSIGNMENT)||"''")+", "+(e.valueToCode(this,"Text_line3",e.ORDER_ASSIGNMENT)||"''")+", "+(e.valueToCode(this,"Text_line4",e.ORDER_ASSIGNMENT)||"''")+")\n"},QF=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_line("+e.valueToCode(this,"x1",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"y1",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"x2",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"y2",e.ORDER_ATOMIC)+", 1)\n"},qF=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),o=e.valueToCode(this,"width",e.ORDER_ATOMIC),_=e.valueToCode(this,"height",e.ORDER_ATOMIC),p="TRUE"==this.getFieldValue("fill")?"True":"False",a=this.getFieldValue("OP");switch(p){case"True":return i+".show_fill_rect("+n+", "+s+", "+o+", "+_+", "+a+")\n";case"False":return i+".show_rect("+n+", "+s+", "+o+", "+_+", "+a+")\n"}},zF=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),o=e.valueToCode(this,"length",e.ORDER_ATOMIC);return i+".show_"+this.getFieldValue("direction")+"("+n+", "+s+", "+o+", 1)\n"},jF=function(t,e){return["ON"==this.getFieldValue("ONOFF")?"1":"0",e.ORDER_ATOMIC]},$F=function(t,e){e.definitions_.import_matrix="import matrix";var i=t.getFieldValue("OP");return[e.valueToCode(t,"img",e.ORDER_ATOMIC)+".shift_"+i+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},ZF=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return e.definitions_.import_ssd1306="import ssd1306",e.definitions_.import_machine="import machine",i+".show_fill("+this.getFieldValue("key")+")\n"},tP=function(t,e){return["matrix.Image."+this.getFieldValue("ANIMATION"),e.ORDER_ATOMIC]},eP=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),o=e.valueToCode(this,"r",e.ORDER_ATOMIC),_="TRUE"==this.getFieldValue("fill")?"True":"False",p=this.getFieldValue("OP");switch(_){case"True":return i+".show_fill_circle("+n+", "+s+", "+o+", "+p+")\n";case"False":return i+".show_circle("+n+", "+s+", "+o+", "+p+")\n"}},iP=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var n=e.valueToCode(this,"x0",e.ORDER_ATOMIC),s=e.valueToCode(this,"y0",e.ORDER_ATOMIC),o=e.valueToCode(this,"x1",e.ORDER_ATOMIC),_=e.valueToCode(this,"y1",e.ORDER_ATOMIC),p=e.valueToCode(this,"x2",e.ORDER_ATOMIC),a=e.valueToCode(this,"y2",e.ORDER_ATOMIC),u="TRUE"==this.getFieldValue("fill")?"True":"False",r=this.getFieldValue("OP");switch(u){case"True":return i+".show_fill_triangle("+n+", "+s+", "+o+", "+_+", "+p+", "+a+", "+r+")\n";case"False":return i+".show_triangle("+n+", "+s+", "+o+", "+_+", "+p+", "+a+", "+r+")\n"}},nP=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_bitmap("+e.valueToCode(this,"START_X",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"START_Y",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"bitmap_name",e.ORDER_ATOMIC)+","+e.valueToCode(this,"WIDTH",e.ORDER_ATOMIC)+","+e.valueToCode(this,"HEIGHT",e.ORDER_ATOMIC)+")\n"},sP=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_pixel("+e.valueToCode(this,"POS_X",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"POS_Y",e.ORDER_ATOMIC)+")\n"},oP=function(t,e){var i,n=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),s=e.valueToCode(this,"CLK",e.ORDER_ATOMIC),o=e.valueToCode(this,"DIO",e.ORDER_ATOMIC),_=this.getFieldValue("key");return"TM1650"==_?(e.definitions_.import_tm1650="import tm1650",i=n+" = tm1650."+_+"(clk="+s+",dio="+o+")\n"):"TM1637"==_&&(e.definitions_.import_tm1637="import tm1637",i=n+" = tm1637."+_+"(clk="+s+",dio="+o+")\n"),i},_P=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+"."+this.getFieldValue("STAT")+"()\n"},pP=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".shownum("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},aP=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".showDP("+e.valueToCode(this,"NO",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"},uP=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".intensity("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},rP=function(t,e){e.definitions_.import_st7789="import st7789";var i=It.Boards.getSelectedBoardKey().split(":")[2],n="";n=["mpython","mixgo_pe","mixgo_nova"].indexOf(i)>=0?"0x700000":["mixgo_sant"].indexOf(i)>=0?"0xE00000":"0x3A0000";var s=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),o=e.valueToCode(this,"SPISUB",e.ORDER_ATOMIC),_=e.valueToCode(this,"PINCS",e.ORDER_ATOMIC),p=e.valueToCode(this,"PINDC",e.ORDER_ATOMIC);return s+" = st7789.ST7789("+o+", "+e.valueToCode(this,"WIDTH",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"HEIGHT",e.ORDER_ATOMIC)+", dc_pin="+p+", cs_pin="+_+", rotation="+this.getFieldValue("rotate")+", font_address="+n+")\n"},dP=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".image("+n+", x="+s+", y="+o+", size="+_+", color="+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=i+".image("+n+", x= "+s+",y="+o+", size="+_+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},lP=function(t,e){var i="0x"+this.getFieldValue("COLOR").slice(1);return["0x"+((16252928&i)>>8|(64512&i)>>5|(255&i)>>3).toString(16),e.ORDER_ATOMIC]},IP=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),u=this.getFieldValue("center");if("0x"==a.slice(0,2))var r=i+".shows("+n+", x="+s+", y="+o+", size="+_+", space="+p+", center="+u+", color="+a+")\n";else{const t=a.match(/\d+/g);var d="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r=i+".shows("+n+", x="+s+", y="+o+", size="+_+", space="+p+", center="+u+", color=0x"+((16252928&d)>>8|(64512&d)>>5|(255&d)>>3).toString(16)+")\n"}return r},TP=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==_.slice(0,2))var p=i+".frame("+n+", size="+s+", delay="+o+", color="+_+")\n";else{const t=_.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p=i+".frame("+n+", size="+s+", delay="+o+", color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},MP=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u=i+".scroll("+n+", y="+s+", size="+o+", speed="+_+", space="+p+", color="+a+")\n";else{const t=a.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u=i+".scroll("+n+", y="+s+", size="+o+", speed="+_+", space="+p+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},hP=function(t,e){return e.definitions_.import_st7789="import st7789",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".fill(st7789."+this.getFieldValue("key")+")\n"},mP=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"x1",e.ORDER_ATOMIC),s=e.valueToCode(this,"y1",e.ORDER_ATOMIC),o=e.valueToCode(this,"x2",e.ORDER_ATOMIC),_=e.valueToCode(this,"y2",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".line("+n+", "+s+", "+o+", "+_+", color="+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=i+".line("+n+", "+s+", "+o+", "+_+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},EP=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC),s=this.getFieldValue("key"),o=e.valueToCode(this,"ADDR",e.ORDER_ATOMIC);return e.definitions_.import_i2clcd="import i2clcd",i+" = i2clcd.LCD("+n+", lcd_width="+s+", i2c_addr="+o+")\n"},OP=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", column="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", line="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+",center = "+this.getFieldValue("center")+")\n"},RP=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".print("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", column="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", line="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", delay="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},cP=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".backlight("+this.getFieldValue("key")+")\n"},gP=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".clear()\n"},CP=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC),s=e.valueToCode(this,"ADDR",e.ORDER_ATOMIC),o=this.getFieldValue("driver"),_=It.Boards.getSelectedBoardKey().split(":")[2],p="";return p=["mpython","mixgo_pe","mixgo_nova"].indexOf(_)>=0?"0x700000":["mixgo_sant"].indexOf(_)>=0?"0xE00000":"0x3A0000",e.definitions_.import_oled128x64="import oled128x64",i+" = oled128x64.OLED("+n+", address="+s+", font_address="+p+", types="+o+")\n"},SP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".image("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},AP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".image("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", x="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", y="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+")\n"},LP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},NP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", x="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", y="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+", center="+this.getFieldValue("center")+")\n"},DP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},fP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+", delay="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},FP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},PP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", y="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+", speed="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+")\n"},vP=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},YP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("OP")+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")\n"},XP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},bP=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".pixel(int("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+"), int("+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+"), "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"+i+".show()\n"},yP=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"w",e.ORDER_ATOMIC),_=e.valueToCode(t,"h",e.ORDER_ATOMIC),p=t.getFieldValue("state");return i+"."+t.getFieldValue("shape")+"("+n+", "+s+", "+o+", "+_+", "+p+")\n"+i+".show()\n"},xP=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"length",e.ORDER_ATOMIC),_=t.getFieldValue("state");return i+"."+("0"==t.getFieldValue("dir_h_v")?"v":"h")+"line("+n+", "+s+", "+o+", "+_+")\n"+i+".show()\n"},VP=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".line("+e.valueToCode(t,"x1",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"y1",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"x2",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"y2",e.ORDER_ATOMIC)+", "+t.getFieldValue("state")+")\n"+i+".show()\n"},BP=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT);if("Python ESP32-S3"===It.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var s="onboard_tft.image("+(n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT))+", color=0xffff,sync="+(e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True")+")\n"}else if("educore"==i){e.definitions_["import_"+i+"_oled"]="from "+i+" import oled";s="oled.print("+n+")\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";s="onboard_matrix.shows("+n+")\n"}return s},GP=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),o=this.getFieldValue("center");if("mixgo_sant"==i||"mixgo_nova"==i||"mixgo_soar"==i)return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.shows("+n+", space="+s+", center="+o+",sync="+(e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True")+")\n";if("educore"==i){e.definitions_["import_"+i+"_oled"]="from "+i+" import oled"}return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.shows("+n+", space="+s+", center="+o+")\n"},UP=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var s="onboard_oled.frame("+n+")\n"}else if("Python ESP32-S3"===It.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";s="onboard_tft.frame("+(n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT))+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";s="onboard_matrix.frame("+n+")\n"}return s},wP=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var o="onboard_oled.frame("+(n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT))+", delay="+s+")\n"}else if("Python ESP32-S3"===It.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";o="onboard_tft.frame("+n+", size=5 , delay="+s+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";o="onboard_matrix.frame("+n+", delay="+s+")\n"}return o},HP=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var n="onboard_oled.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"}else if("Python ESP32-S3"===It.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";n="onboard_tft.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"}return n},kP=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var _="onboard_oled.scroll("+n+", speed="+s+", space="+o+")\n"}else if("Python ESP32-S3"===It.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";_="onboard_tft.scroll("+n+", y=0, size=5, speed="+s+", space="+o+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";_="onboard_matrix.scroll("+n+", speed="+s+", space="+o+")\n"}return _},WP=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.scroll_way("+this.getFieldValue("way")+")\n"},KP=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u="onboard_tft.scroll("+n+", y="+s+", size="+o+", speed="+_+", space="+p+", color="+a+")\n";else{const t=a.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.scroll("+n+", y="+s+", size="+o+", speed="+_+", space="+p+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},JP=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix",["onboard_matrix."+t.getFieldValue("image"),e.ORDER_ATOMIC]},QP=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];if("Python ESP32-S3"===It.JSFuncs.getPlatform()){const i=t.getFieldValue("image").split(".");if(2!==i.length)throw Error("pin value error");e.definitions_[`import_${i[0]}_${i[1]}`]=`from ${i[0]} import ${i[1]}`;var n=i[1]}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix."+t.getFieldValue("image")}return[n,e.ORDER_ATOMIC]},qP=function(t,e){var i={"#000000":"0","#ff0000":"1"};function n(t){let e="";if(t.length%2==1&&(t="0"+t),t.length<8){let e=8-t.length;for(let i=1;i<=e;i++)t="0"+t}for(let i=1;i<=t.length;i++)i%2==0&&i!==t.length?e=e+t[i-1]+",0x":e+=t[i-1];return"0x"+e}let s=[];for(let e=0;e<12;e++){let o="",_=0,p=0;for(let n=0;n<32;n++)n<8?p=7-n:n<16?p=23-n:n<24?p=39-n:n<32&&(p=55-n),_+=Number(i[t.getFieldValue(e+"-"+n)])*Math.pow(2,31-p);o+=n(_.toString(16)),s.unshift(o)}let o=[];for(let t=0;t>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},Yv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.picture("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+","+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+","+e.valueToCode(this,"direct",e.ORDER_ASSIGNMENT)+")\n"},Xv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=this.getFieldValue("center"),u=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True",r=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==r.slice(0,2))var d="onboard_tft.shows("+n+", x="+s+", y="+o+", size="+_+", space="+p+", center="+a+", color="+r+",sync="+u+")\n";else{const t=r.match(/\d+/g);var l="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");d="onboard_tft.shows("+n+", x="+s+", y="+o+", size="+_+", space="+p+", center="+a+", color=0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+",sync="+u+")\n"}return d},bv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==_.slice(0,2))var p="onboard_tft.frame("+n+", size="+s+", delay="+o+", color="+_+")\n";else{const t=_.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p="onboard_tft.frame("+n+", size="+s+", delay="+o+", color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},yv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"w",e.ORDER_ATOMIC),_=e.valueToCode(t,"h",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=t.getFieldValue("shape"),u=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var r="onboard_tft."+a+"("+n+", "+s+", "+o+", "+_+", "+p+",sync="+u+")\n";else{const t=p.match(/\d+/g);var d="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r="onboard_tft."+a+"("+n+", "+s+", "+o+", "+_+", 0x"+((16252928&d)>>8|(64512&d)>>5|(255&d)>>3).toString(16)+",sync="+u+")\n"}return r},xv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"length",e.ORDER_ATOMIC),_=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),p=t.getFieldValue("dir_h_v"),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==_.slice(0,2))var u="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+o+", "+_+",sync="+a+")\n";else{const t=_.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+o+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},Vv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x1",e.ORDER_ATOMIC),s=e.valueToCode(t,"y1",e.ORDER_ATOMIC),o=e.valueToCode(t,"x2",e.ORDER_ATOMIC),_=e.valueToCode(t,"y2",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var u="onboard_tft.line("+n+", "+s+", "+o+", "+_+", "+p+",sync="+a+")\n";else{const t=p.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.line("+n+", "+s+", "+o+", "+_+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},Bv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft",["onboard_tft.pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},Gv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),_=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==o.slice(0,2))var p="onboard_tft.pixel(int("+n+"), int("+s+"), "+o+",sync="+_+")\n";else{const t=o.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p="onboard_tft.pixel(int("+n+"), int("+s+"), 0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+",sync="+_+")\n"}return p},Uv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"VAR",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==n.slice(0,2))var o="onboard_tft.fill("+n+",sync="+s+")\n";else{const t=n.match(/\d+/g);var _="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");o="onboard_tft.fill(0x"+((16252928&_)>>8|(64512&_)>>5|(255&_)>>3).toString(16)+",sync="+s+")\n"}return o},wv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=_+"=Clock("+n+", "+s+", "+o+", "+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=_+"=Clock("+n+", "+s+", "+o+", 0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},Hv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".set_rtctime()\n"},kv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".set_time("+e.valueToCode(this,"h",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"m",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"s",e.ORDER_ASSIGNMENT)+")\n"},Wv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".draw_clock()\n"},Kv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==s.slice(0,2))var o=n+".clear("+s+")\n";else{const t=s.match(/\d+/g);var _="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");o=n+".clear(0x"+((16252928&_)>>8|(64512&_)>>5|(255&_)>>3).toString(16)+")\n"}return o},Jv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"r",e.ORDER_ATOMIC),_=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),p=t.getFieldValue("shape"),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==_.slice(0,2))var u="onboard_tft.ellipse("+n+", "+s+", "+o+", "+o+", "+_+", "+p+",sync="+a+")\n";else{const t=_.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.ellipse("+n+", "+s+", "+o+", "+o+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+", "+p+",sync="+a+")\n"}return u},Qv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];if("Python ESP32-S3"===It.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n="onboard_tft.pointern(angle="+e.valueToCode(this,"angle",e.ORDER_ASSIGNMENT)+")\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.pointern(angle="+e.valueToCode(this,"angle",e.ORDER_ASSIGNMENT)+")\n"}return n},qv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"angle",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==s.slice(0,2));else{const t=s.match(/\d+/g);var o="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");((16252928&o)>>8|(64512&o)>>5|(255&o)>>3).toString(16)}return"onboard_tft.pointern(angle="+n+")\n"},zv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var u="onboard_tft.texts("+n+", x="+s+", y="+o+", size="+_+", color="+p+",sync="+a+")\n";else{const t=p.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.texts("+n+", x="+s+", y="+o+", size="+_+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},jv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"direct",e.ORDER_ATOMIC);e.valueToCode(this,"boolean",e.ORDER_ATOMIC);return"onboard_tft.qrcode("+n+")\n"},$v=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True",u=this.getFieldValue("correct");if("0x"==p.slice(0,2))var r="onboard_tft.qrcode("+n+",x="+s+",y="+o+",size="+_+",correct="+u+",color="+p+",sync="+a+")\n";else{const t=p.match(/\d+/g);var d="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r="onboard_tft.qrcode("+n+",x="+s+",y="+o+",size="+_+",correct="+u+",color=0x"+((16252928&d)>>8|(64512&d)>>5|(255&d)>>3).toString(16)+",sync="+a+")\n"}return r},Zv=BP,tY=sv,eY=ev,iY=sv,nY=ov,sY=jP,oY=function(t,e){var i=this.getFieldValue("path"),n=this.getFieldValue("module");return e.definitions_["import_"+i+"_"+n]="from "+i+" import "+n,""},_Y=function(t,e){var i=this.getFieldValue("module");return e.definitions_["import_"+i]="import "+i,""},pY=function(t,e){for(var i=this.getFieldValue("NAME"),n=new Array(this.itemCount_),s=0;s {\n"+e.statementToCode(this,"do")+"})\n"},EB=function(){return"control.reset()\n"},OB=function(t,e){return"control.waitMicros("+(e.valueToCode(this,"data",e.ORDER_ATOMIC)||It.Profile.default.serial)+")\n"},RB=function(t,e){return"control.raiseEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||It.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||It.Profile.default.serial)+")\n"},cB=function(t,e){return"control.onEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||It.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||It.Profile.default.serial)+", () => {\n"+e.statementToCode(this,"do")+")\n"},gB=function(t,e){return["control.eventTimestamp()",e.ORDER_ATOMIC]},CB=function(t,e){return["control.eventValue()",e.ORDER_ATOMIC]},SB=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},AB=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},LB=function(t,e){return["control.deviceName()",e.ORDER_ATOMIC]},NB=function(t,e){return["control.deviceSerialNumber()",e.ORDER_ATOMIC]},DB=function(t,e){return"panic("+(e.valueToCode(this,"STATUS_CODE",e.ORDER_ATOMIC)||"1000")+")\n"},fB=function(t,e){switch(e.definitions_.import_time="import time",this.getFieldValue("Time")){case"ms":return["time.ticks_ms()",e.ORDER_ATOMIC];case"us":return["time.ticks_us()",e.ORDER_ATOMIC]}},FB=function(){return"while True:\n pass\n"},PB=function(t,e){return e.definitions_.import_mixgo="import mixgo","reset()\n"},vB=function(t,e){return e.definitions_.import_os="import os","os.uname()"},YB=function(t,e){e.definitions_.import_time="import time";var i=e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},XB=function(t,e){e.definitions_.import_time="import time";var i=e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},bB=function(t,e){return e.definitions_.import_mixgo="import mixgo",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+".init(period="+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode=Timer."+(e.valueToCode(this,"mode",e.ORDER_NONE)||"None")+", callback="+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},yB=function(t,e){return e.definitions_.import_machine="import machine",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+" = machine.Timer("+(e.valueToCode(this,"PIN",e.ORDER_NONE)||"None")+",period = "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode=machine.Timer."+this.getFieldValue("mode")+", callback="+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},xB=function(t,e){return e.definitions_.import_time="import time",["time.ticks_diff("+(e.valueToCode(this,"END",e.ORDER_NONE)||"0")+", "+(e.valueToCode(this,"START",e.ORDER_NONE)||"0")+")",e.ORDER_ATOMIC]},VB=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return e.definitions_.import_machine="import machine",i+" = machine.Timer(0)\n"},BB=function(t,e){return e.definitions_.import_machine="import machine",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+".init(period = "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode=machine.Timer."+this.getFieldValue("mode")+", callback="+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},GB=function(t,e){return e.definitions_.import_machine="import machine","wdt = machine.WDT(timeout= "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+")\n"},UB=function(t,e){e.definitions_.import_machine="import machine";return"wdt.feed()\n"},wB=function(t,e){e.definitions_.import_machine="import machine";return"machine.reset()\n"},HB=function(t,e){e.definitions_.import_bitbot_onboard_bot51="from bitbot import onboard_bot51";return"onboard_bot51.shutdown()\n"},kB=VB,WB=BB,KB=xB,JB=YB,QB=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},qB=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"day",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},zB=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api.weather_hourly("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"hour",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},jB=function(t,e){return e.definitions_["import_seniverse_api*"]="from seniverse_api import *",this.getFieldValue("mode")+".request("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+")\n"},$B=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Weather_now.analysis()";else n='Weather_now.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},ZB=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Air_now.analysis()";else n='Air_now.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},tG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Weather_alarm.analysis()";else n='Weather_alarm.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},eG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Life_suggestion.analysis()";else n='Life_suggestion.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},iG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Tide_daily.analysis()";else n='Tide_daily.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},nG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Location_search.analysis()";else n='Location_search.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},sG=function(t,e){return e.definitions_["import_seniverse_api*"]="from seniverse_api import *",this.getFieldValue("mode")+".request("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"day",e.ORDER_ATOMIC)+")\n"},oG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Weather_daily.analysis("+n+")";else s="Weather_daily.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},_G=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Air_daily.analysis("+n+")";else s="Air_daily.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},pG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Geo_sun.analysis("+n+")";else s="Geo_sun.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},aG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Geo_moon.analysis("+n+")";else s="Geo_moon.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},uG='
\r\n
{{-d.title}}
\r\n
\r\n {{# if (d.message) { }}\r\n

\r\n {{-d.message}}\r\n

\r\n {{# } }}\r\n
\r\n
',{XML:rG}=It,dG=rG.render(uG,{title:"烧录速度",message:"要选择烧录速度,请更改“Burn Speed”,此值将用于向设备烧录代码。如果在用较高的烧录速度时出现问题,请尝试减小此值,这可能是由于外部串行到USB芯片的限制。"}),{XML:lG}=It,IG=lG.render(uG,{title:"燒錄速度",message:"要選擇燒錄速度,請更改“Burn Speed”,此值將用於向設備燒錄程式碼。如果在用較高的燒錄速度時出現問題,請嘗試减小此值,這可能是由於外部串列到USB晶片的限制。"}),{XML:TG}=It,MG=TG.render(uG,{title:"Burn Speed",message:"To select the flashing speed, change the Burn Speed. This value will be used for flashing the code to the device. If you have issues while flashing the device at high speed, try to decrease this value. This could be due to the external serial-to-USB chip limitations."}),hG=new lt.Generator("Python");hG.INDENT=" ",hG.addReservedWords("False,None,True,and,as,assert,break,class,continue,def,del,elif,else,except,exec,finally,for,from,global,if,import,in,is,lambda,nonlocal,not,or,pass,print,raise,return,try,while,with,yield,NotImplemented,Ellipsis,__debug__,quit,exit,copyright,license,credits,ArithmeticError,AssertionError,AttributeError,BaseException,BlockingIOError,BrokenPipeError,BufferError,BytesWarning,ChildProcessError,ConnectionAbortedError,ConnectionError,ConnectionRefusedError,ConnectionResetError,DeprecationWarning,EOFError,Ellipsis,EnvironmentError,Exception,FileExistsError,FileNotFoundError,FloatingPointError,FutureWarning,GeneratorExit,IOError,ImportError,ImportWarning,IndentationError,IndexError,InterruptedError,IsADirectoryError,KeyError,KeyboardInterrupt,LookupError,MemoryError,ModuleNotFoundError,NameError,NotADirectoryError,NotImplemented,NotImplementedError,OSError,OverflowError,PendingDeprecationWarning,PermissionError,ProcessLookupError,RecursionError,ReferenceError,ResourceWarning,RuntimeError,RuntimeWarning,StandardError,StopAsyncIteration,StopIteration,SyntaxError,SyntaxWarning,SystemError,SystemExit,TabError,TimeoutError,TypeError,UnboundLocalError,UnicodeDecodeError,UnicodeEncodeError,UnicodeError,UnicodeTranslateError,UnicodeWarning,UserWarning,ValueError,Warning,ZeroDivisionError,_,__build_class__,__debug__,__doc__,__import__,__loader__,__name__,__package__,__spec__,abs,all,any,apply,ascii,basestring,bin,bool,buffer,bytearray,bytes,callable,chr,classmethod,cmp,coerce,compile,complex,copyright,credits,delattr,dict,dir,divmod,enumerate,eval,exec,execfile,exit,file,filter,float,format,frozenset,getattr,globals,hasattr,hash,help,hex,id,input,int,intern,isinstance,issubclass,iter,len,license,list,locals,long,map,max,memoryview,min,next,object,oct,open,ord,pow,print,property,quit,range,raw_input,reduce,reload,repr,reversed,round,set,setattr,slice,sorted,staticmethod,str,sum,super,tuple,type,unichr,unicode,vars,xrange,zip"),hG.ORDER_ATOMIC=0,hG.ORDER_COLLECTION=1,hG.ORDER_STRING_CONVERSION=1,hG.ORDER_UNARY_POSTFIX=1,hG.ORDER_UNARY_PREFIX=2,hG.ORDER_MEMBER=2.1,hG.ORDER_FUNCTION_CALL=2.2,hG.ORDER_EXPONENTIATION=3,hG.ORDER_UNARY_SIGN=4,hG.ORDER_BITWISE_NOT=4,hG.ORDER_MULTIPLICATIVE=5,hG.ORDER_ADDITIVE=6,hG.ORDER_BITWISE_SHIFT=7,hG.ORDER_BITWISE_AND=8,hG.ORDER_BITWISE_XOR=9,hG.ORDER_BITWISE_OR=10,hG.ORDER_RELATIONAL=11,hG.ORDER_EQUALITY=11,hG.ORDER_LOGICAL_NOT=12,hG.ORDER_LOGICAL_AND=13,hG.ORDER_LOGICAL_OR=14,hG.ORDER_ASSIGNMENT=14,hG.ORDER_CONDITIONAL=15,hG.ORDER_LAMBDA=16,hG.ORDER_NONE=99,hG.ORDER_OVERRIDES=[[hG.ORDER_FUNCTION_CALL,hG.ORDER_MEMBER],[hG.ORDER_FUNCTION_CALL,hG.ORDER_FUNCTION_CALL],[hG.ORDER_MEMBER,hG.ORDER_MEMBER],[hG.ORDER_MEMBER,hG.ORDER_FUNCTION_CALL]],hG.init=function(){hG.PASS=this.INDENT+"pass\n",hG.definitions_=Object.create(null),hG.functionNames_=Object.create(null),hG.setups_=Object.create(null),hG.loops_=Object.create(null),hG.codeEnd_=Object.create(null),hG.variableDB_?hG.variableDB_.reset():hG.variableDB_=new mt(hG.RESERVED_WORDS_)},hG.finish=function(t){""!==t&&(t=(t=t.replace(/\n/g,"\n")).replace(/\n\s+$/,"\n"));var e=[],i=[],n=[];for(var s in this.definitions_){var o=this.definitions_[s];0===s.indexOf("import")?e.push(o):0===s.indexOf("var_declare")?i.push(o):n.push(o)}e.length&&e.push("\n"),i.length&&i.push("\n"),n.length&&n.push("\n");var _=[];for(var s in hG.functions_)_.push(hG.functions_[s]);_.length&&_.push("\n");var p=[];for(var s in hG.setups_)p.push(hG.setups_[s]);p.length&&p.push("\n");var a=[];for(var s in hG.loops_)a.push(hG.loops_[s]);var u=[];for(var s in hG.codeEnd_)u.push(hG.codeEnd_[s]);0!==u.length&&u.push("\n");let r="";return r=a.length>0?e.join("\n")+i.join("\n")+n.join("\n")+_.join("\n")+p.join("")+t+"while True:\n"+a.join("")+u.join("\n"):e.join("\n")+i.join("\n")+n.join("\n")+_.join("\n")+p.join("")+t+u.join("\n"),r},hG.scrubNakedValue=function(t){return t+"\n"},hG.quote_=function(t){var e="'";return-1!==(t=t.replace(/\\/g,"\\\\").replace(/\n/g,"\\\n")).indexOf("'")&&(-1===t.indexOf('"')?e='"':t=t.replace(/'/g,"\\'")),e+t+e},hG.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},hG.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(o=t.getCommentText())&&(o=lt.utils.string.wrap(o,hG.COMMENT_WRAP-3),n+=hG.prefixLines(o+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const mG={};mG["飞乙"]={description:"MicroPython[ESP32C3 Bitbot]",digital_pin:It.Profile.generate(["0-11","18-21"]),input_pin:It.Profile.generate(["0-11","18-21"]),output_pin:It.Profile.generate(["0-11","18-21"]),pwm_input:It.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_input:It.Profile.generate(["0-5"],"adc","adc"),pwm_output:It.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_output:It.Profile.generate(["0-5"],"adc","adc"),espnow_channel:It.Profile.generate(["1-13"]),haskylens_model:It.Profile.generate(["0-4"]),digital:It.Profile.generate(["0-11","18-21"],"pin","pin"),pwm_pin:It.Profile.generate(["0-11","18-21"]),pwm:It.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_pin:It.Profile.generate(["0-5"]),analog:It.Profile.generate(["0-5"],"adc","adc"),button:[["A","button_a"],["B","button_b"]],axis:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],exlcdh:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"]],exlcdv:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"]],brightness:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"]],tts_voice:It.Profile.generate(["0-16"]),tts_builtin_music:It.Profile.generate(["0-47"]),tts_bgmusic:It.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["MUSIC_QUAVERS","onboard_matrix.MUSIC_QUAVERS"],["MUSIC_QUAVER","onboard_matrix.MUSIC_QUAVER"],["MUSIC_CROTCHET","onboard_matrix.MUSIC_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],imglist:[["ALL_CLOCKS","onboard_matrix.ALL_CLOCKS"],["ALL_ARROWS","onboard_matrix.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"],["3","3"]],extern_addr:It.Profile.generate(["0-1"]),als_num:It.Profile.generate(["0-3"])},mG["超霸大师"]={description:"MicroPython[ESP32 Mixbot]",digital_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["39","39"]],digital:[["pin0","pin0"],["pin2","pin2"],["pin4","pin4"],["pin5","pin5"],["pin12","pin12"],["pin13","pin13"],["pin14","pin14"],["pin15","pin15"],["pin16","pin16"],["pin17","pin17"],["pin18","pin18"],["pin19","pin19"],["pin21","pin21"],["pin22","pin22"],["pin23","pin23"],["pin25","pin25"],["pin26","pin26"],["pin27","pin27"],["pin32","pin32"],["pin33","pin33"],["pin34","pin34"],["pin35","pin35"],["pin36","pin36"],["pin39","pin39"]],input_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["39","39"]],output_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"]],pwm_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["20","20"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"]],pwm:[["pwm0","pwm0"],["pwm2","pwm2"],["pwm4","pwm4"],["pwm5","pwm5"],["pwm12","pwm12"],["pwm13","pwm13"],["pwm14","pwm14"],["pwm15","pwm15"],["pwm16","pwm16"],["pwm17","pwm17"],["pwm18","pwm18"],["pwm19","pwm19"],["pwm20","pwm20"],["pwm21","pwm21"],["pwm22","pwm22"],["pwm23","pwm23"],["pwm25","pwm25"],["pwm26","pwm26"],["pwm27","pwm27"],["pwm32","pwm32"]],analog_pin:[["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],analog:[["adc32","adc32"],["adc33","adc33"],["adc34","adc34"],["adc35","adc35"],["adc36","adc36"],["adc37","adc37"],["adc38","adc38"],["adc39","adc39"]],espnow_channel:It.Profile.generate(["1-13"]),haskylens_model:It.Profile.generate(["0-4"]),dac_pin:[["25","25"],["26","26"]],dac:[["dac25","dac25"],["dac26","dac26"]],touch:[["tc0","tc0"],["tc2","tc2"],["tc4","tc4"],["tc12","tc12"],["tc13","tc13"],["tc14","tc14"],["tc15","tc15"],["tc27","tc27"],["tc32","tc32"],["tc33","tc33"]],touch_pin:[["0","0"],["2","2"],["4","4"],["12","12"],["13","13"],["14","14"],["15","15"],["27","27"],["32","32"],["33","33"]],button:[["P","button_p"],["A","button_a"],["B","button_b"]],axis:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],exlcdh:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"],["12","12"],["13","13"],["14","14"],["15","15"]],exlcdv:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],brightness:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"]],tts_voice:It.Profile.generate(["0-16"]),tts_builtin_music:It.Profile.generate(["0-47"]),tts_bgmusic:It.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["MUSIC_QUAVERS","onboard_matrix.MUSIC_QUAVERS"],["MUSIC_QUAVER","onboard_matrix.MUSIC_QUAVER"],["MUSIC_CROTCHET","onboard_matrix.MUSIC_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],imglist:[["ALL_CLOCKS","onboard_matrix.ALL_CLOCKS"],["ALL_ARROWS","onboard_matrix.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"],["3","3"]],extern_addr:It.Profile.generate(["0-3"])},mG["ESP32 Generic"]={description:"MicroPython[ESP32 Generic]",digital_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["20","20"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],digital:[["pin0","pin0"],["pin2","pin2"],["pin4","pin4"],["pin5","pin5"],["pin6","pin6"],["pin7","pin7"],["pin8","pin8"],["pin9","pin9"],["pin10","pin10"],["pin11","pin11"],["pin12","pin12"],["pin13","pin13"],["pin14","pin14"],["pin15","pin15"],["pin16","pin16"],["pin17","pin17"],["pin18","pin18"],["pin19","pin19"],["pin20","pin20"],["pin21","pin21"],["pin22","pin22"],["pin23","pin23"],["pin25","pin25"],["pin26","pin26"],["pin27","pin27"],["pin32","pin32"],["pin33","pin33"],["pin34","pin34"],["pin35","pin35"],["pin36","pin36"],["pin37","pin37"],["pin38","pin38"],["pin39","pin39"]],input_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["7","7"],["8","8"],["12","12"],["13","13"],["14","14"],["15","15"],["19","19"],["20","20"],["21","21"],["22","22"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],output_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["7","7"],["8","8"],["12","12"],["13","13"],["14","14"],["15","15"],["19","19"],["20","20"],["21","21"],["22","22"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"]],pwm_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["20","20"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"]],pwm:[["pwm0","pwm0"],["pwm2","pwm2"],["pwm4","pwm4"],["pwm5","pwm5"],["pwm12","pwm12"],["pwm13","pwm13"],["pwm14","pwm14"],["pwm15","pwm15"],["pwm16","pwm16"],["pwm17","pwm17"],["pwm18","pwm18"],["pwm19","pwm19"],["pwm20","pwm20"],["pwm21","pwm21"],["pwm22","pwm22"],["pwm23","pwm23"],["pwm25","pwm25"],["pwm26","pwm26"],["pwm27","pwm27"],["pwm32","pwm32"]],analog_pin:[["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],analog:[["adc32","adc32"],["adc33","adc33"],["adc34","adc34"],["adc35","adc35"],["adc36","adc36"],["adc37","adc37"],["adc38","adc38"],["adc39","adc39"]],espnow_channel:It.Profile.generate(["1-13"]),haskylens_model:It.Profile.generate(["0-4"]),dac_pin:[["25","25"],["26","26"]],dac:[["dac25","dac25"],["dac26","dac26"]],touch:[["tc0","tc0"],["tc2","tc2"],["tc4","tc4"],["tc12","tc12"],["tc13","tc13"],["tc14","tc14"],["tc15","tc15"],["tc27","tc27"],["tc32","tc32"],["tc33","tc33"]],touch_pin:[["0","0"],["2","2"],["4","4"],["12","12"],["13","13"],["14","14"],["15","15"],["27","27"],["32","32"],["33","33"]],button:[["A","button_a"],["B","button_b"]],axis:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],exlcdh:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"],["12","12"],["13","13"],["14","14"],["15","15"]],exlcdv:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],brightness:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"]],tts_voice:It.Profile.generate(["0-16"]),tts_builtin_music:It.Profile.generate(["0-47"]),tts_bgmusic:It.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["onboard_music_QUAVERS","onboard_matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","onboard_matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","onboard_matrix.onboard_music_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","onboard_matrix.ALL_CLOCKS"],["ALL_ARROWS","onboard_matrix.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"],["3","3"]]},mG["机器人大师"]={description:"MicroPython[ESP32 Generic]",digital_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["18","18"],["19","19"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],digital:[["pin0","pin0"],["pin2","pin2"],["pin4","pin4"],["pin5","pin5"],["pin12","pin12"],["pin13","pin13"],["pin14","pin14"],["pin15","pin15"],["pin16","pin16"],["pin17","pin17"],["pin18","pin18"],["pin19","pin19"],["pin20","pin20"],["pin21","pin21"],["pin22","pin22"],["pin23","pin23"],["pin25","pin25"],["pin26","pin26"],["pin27","pin27"],["pin32","pin32"],["pin33","pin33"],["pin34","pin34"],["pin35","pin35"],["pin36","pin36"],["pin37","pin37"],["pin38","pin38"],["pin39","pin39"]],input_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["18","18"],["19","19"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],output_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["18","18"],["19","19"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"]],pwm_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["20","20"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"]],pwm:[["pwm0","pwm0"],["pwm2","pwm2"],["pwm4","pwm4"],["pwm5","pwm5"],["pwm12","pwm12"],["pwm13","pwm13"],["pwm14","pwm14"],["pwm15","pwm15"],["pwm16","pwm16"],["pwm17","pwm17"],["pwm18","pwm18"],["pwm19","pwm19"],["pwm20","pwm20"],["pwm21","pwm21"],["pwm22","pwm22"],["pwm23","pwm23"],["pwm25","pwm25"],["pwm26","pwm26"],["pwm27","pwm27"],["pwm32","pwm32"]],espnow_channel:It.Profile.generate(["1-13"]),haskylens_model:It.Profile.generate(["0-4"]),analog_pin:[["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],analog:[["adc32","adc32"],["adc33","adc33"],["adc34","adc34"],["adc35","adc35"],["adc36","adc36"],["adc37","adc37"],["adc38","adc38"],["adc39","adc39"]],dac_pin:[["25","25"],["26","26"]],dac:[["dac25","dac25"],["dac26","dac26"]],touch:[["tc0","tc0"],["tc2","tc2"],["tc4","tc4"],["tc12","tc12"],["tc13","tc13"],["tc14","tc14"],["tc15","tc15"],["tc27","tc27"],["tc32","tc32"],["tc33","tc33"]],touch_pin:[["0","0"],["2","2"],["4","4"],["12","12"],["13","13"],["14","14"],["15","15"],["27","27"],["32","32"],["33","33"]],button:[["p","button_p"],["cw","button_cw"],["ccw","button_ccw"]],axis:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],exlcdh:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"],["12","12"],["13","13"],["14","14"],["15","15"]],exlcdv:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],brightness:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"]],tts_voice:It.Profile.generate(["0-16"]),tts_builtin_music:It.Profile.generate(["0-47"]),tts_bgmusic:It.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["onboard_music_QUAVERS","onboard_matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","onboard_matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","onboard_matrix.onboard_music_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","onboard_matrix.ALL_CLOCKS"],["ALL_ARROWS","onboard_matrix.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"],["3","3"]]};const EG=mG,OG=230,RG={init:function(){this.setColour(OG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.digital),"PIN"),this.setOutput(!0)}},cG={init:function(){this.setColour(OG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.digital_pin),"PIN"),this.setOutput(!0,Number)}},gG={init:function(){this.setColour(OG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.input_pin),"PIN"),this.setOutput(!0,Number)}},CG={init:function(){this.setColour(OG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.output_pin),"PIN"),this.setOutput(!0,Number)}},SG={init:function(){this.setColour(OG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.touch_mpython),"PIN"),this.setOutput(!0,Number)}},AG={init:function(){this.setColour(OG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.espnow_channel),"PIN"),this.setOutput(!0,Number)}},LG={init:function(){this.setColour(OG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.haskylens_model),"PIN"),this.setOutput(!0,Number)}},NG={init:function(){this.setColour(OG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.pwm_input),"PIN"),this.setOutput(!0)}},DG={init:function(){this.setColour(OG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.analog_input),"PIN"),this.setOutput(!0)}},fG={init:function(){this.setColour(OG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.pwm_output),"PIN"),this.setOutput(!0)}},FG={init:function(){this.setColour(OG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.analog_output),"PIN"),this.setOutput(!0)}},PG={init:function(){this.setColour(OG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.i2c_A_pin),"PIN"),this.setOutput(!0,Number)}},vG={init:function(){this.setColour(OG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.i2c_B_pin),"PIN"),this.setOutput(!0,Number)}},YG={init:function(){this.setColour(OG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.spi_A_pin),"PIN"),this.setOutput(!0,Number)}},XG={init:function(){this.setColour(OG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.spi_B_pin),"PIN"),this.setOutput(!0,Number)}},bG={init:function(){this.setColour(OG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.spi_C_pin),"PIN"),this.setOutput(!0,Number)}},yG={init:function(){this.setColour(OG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.spi_D_pin),"PIN"),this.setOutput(!0,Number)}},xG={init:function(){this.setColour(OG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.analog),"PIN"),this.setOutput(!0)}},VG={init:function(){this.setColour(OG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.analog_pin),"PIN"),this.setOutput(!0,Number)}},BG={init:function(){this.setColour(OG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.dac),"PIN"),this.setOutput(!0)}},GG={init:function(){this.setColour(OG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.dac_pin),"PIN"),this.setOutput(!0,Number)}},UG={init:function(){this.setColour(OG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.button),"PIN"),this.setOutput(!0,Number)}},wG={init:function(){this.setColour(OG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.pwm),"PIN"),this.setOutput(!0)}},HG={init:function(){this.setColour(OG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.pwm_pin),"PIN"),this.setOutput(!0,Number)}},kG={init:function(){this.setColour(OG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.touch_pin),"PIN"),this.setOutput(!0,Number)}},WG={init:function(){this.setColour(OG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.touch),"PIN"),this.setOutput(!0)}},KG={init:function(){this.setColour(OG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.serial_pin),"PIN"),this.setOutput(!0,Number)}},JG={init:function(){this.setColour(OG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.builtinimg),"PIN"),this.setOutput(!0,"esp32_image")}},QG={init:function(){this.setColour(OG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.builtinimg_extern),"PIN"),this.setOutput(!0,"esp32_image")}},qG={init:function(){this.setColour(OG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.imglist),"PIN"),this.setOutput(!0)}},zG={init:function(){this.setColour(OG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.playlist),"PIN"),this.setOutput(!0)}},jG={init:function(){this.setColour(OG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.playlist_extern),"PIN"),this.setOutput(!0)}},$G={init:function(){this.setColour(OG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.exlcdh),"PIN"),this.setOutput(!0,Number)}},ZG={init:function(){this.setColour(OG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.exlcdv),"PIN"),this.setOutput(!0,Number)}},tU={init:function(){this.setColour(OG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.axis),"PIN"),this.setOutput(!0,Number)}},eU={init:function(){this.setColour(OG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.brightness),"PIN"),this.setOutput(!0,Number)}},iU={init:function(){this.setColour(OG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.tts_voice),"PIN"),this.setOutput(!0,Number)}},nU={init:function(){this.setColour(OG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.tts_builtin_music),"PIN"),this.setOutput(!0,Number)}},sU={init:function(){this.setColour(OG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.tts_bgmusic),"PIN"),this.setOutput(!0,Number)}},oU={init:function(){this.setColour(OG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.tone_notes),"PIN"),this.setOutput(!0,Number)}},_U={init:function(){this.setColour(OG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.radio_power),"PIN"),this.setOutput(!0,Number)}},pU={init:function(){this.setColour(OG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.radio_datarate),"PIN"),this.setOutput(!0,Number)}},aU={init:function(){this.setColour(OG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.one_more),"PIN"),this.setOutput(!0)}},uU={init:function(){this.setColour(OG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.digital_dot),"PIN"),this.setOutput(!0,Number)}},rU=function(t,e){return[this.getFieldValue("PIN"),e.ORDER_ATOMIC]},dU=rU,lU=rU,IU=rU,TU=rU,MU=rU,hU=rU,mU=rU,EU=rU,OU=rU,RU=rU,cU=rU,gU=rU,CU=rU,SU=rU,AU=rU,LU=rU,NU=rU,DU=rU,fU=rU,FU=rU,PU=rU,vU=rU,YU=rU,XU=rU,bU=rU,yU=rU,xU=rU,VU=rU,BU=rU,GU=rU,UU=rU,wU=rU,HU=rU,kU=rU;Object.assign(lt.Variables,Mt),Object.assign(lt.Procedures,Pu),Object.assign(lt.Lang.ZhHans,pt),Object.assign(lt.Lang.ZhHant,at),Object.assign(lt.Lang.En,ut),lt.Python=vu,lt.generator=vu,It.Profile.default={},Object.assign(It.Profile,EG),Object.assign(It.Profile.default,EG["ESP32 Generic"]),Object.assign(lt.Blocks,e,i,n,s,o,_,p,a,u,r,d,l,I,y,w,U,v,x,H,f,G,B,V,F,D,N,X,Y,b,P,rt),Object.assign(lt.Python.forBlock,T,M,h,m,E,O,R,c,g,C,S,A,L,Z,ot,st,q,tt,_t,K,nt,it,et,J,W,k,j,z,$,Q,dt)})(); \ No newline at end of file diff --git a/boards/default/python_pyodide/index.xml b/boards/default/python_pyodide/index.xml index 3a0850ab..ee5aa6f8 100644 --- a/boards/default/python_pyodide/index.xml +++ b/boards/default/python_pyodide/index.xml @@ -1 +1 @@ -promptHelloHelloHello,HelloMixly2100,1,2,3051iDIVIDE10Exception as eetestThreadtestThreadWHILETRUEHello Mixly from Thread!101802990x151100a10.998124.821100101010001100501100110002110x2x0,1,2,30,1,2,30,1,2,3xMixlyMixlyHelloMixly65axMixlyMixly0Mixly02MixlyMixlyHello,mixlyHello,mixly50*Hello,mixlyl--mylistHello,mixlymixlymixpyI love mixly!I love mixlyRandom No. is {}int1100input('1+2*3')dirmylist1,2,3,4,5mylist0mylist02mylist00mylist0101mylistmylist2mylistmylist0mylist00mylist00mylist0mylist0mylist0mylistmylistmylistxmylist0mytup1,2,3,4,5mytup0mytup02mytupmytupmytupmytup0mytupmytup1mytup2xmydictmydictkeymydictkey0mydictkey0mydictkeymydictkeymydictkey0mydictmydictmydictmydictxmydict{"name":"Mixly","color":"green"}mydictresults0locationnames11,2,3,4,5s1s1s1s2s1s2s10s1Mixlys1s2xreadme.txtffilename.txtfffilename.txtfMixlyfff0fffpathpathfilename.txtsrcname.txtdstname.txtfilename.txtpathff0reponsehttps://mixio.mixly.cnreponsehttps://mixio.mixly.cnreponsetina20tina90tina0tina2020tina50tinatinatinatinatinatinatina5tinatina225tina5#ff0000#FF0000tina#ff0000#FF0000tina#ff0000#FF0000tina#ff0000#FF0000#ff0000#FF0000tina#FF0000tina#FF0000tina#FF0000tina50tina50360tinascreenturtle.epstina10tinaMixly!tinaMixly!Arial8NUMInput a number:100100Input your nameWhat's your name?df1data.csvdfdfarrayNonearrayNonearrayarrayarraydfvalueFalsedfdf'a','b','c','d'x1.55.50.511array1array2myMatrixmyMatrixmyMatrixarraymatrix1matrix2array1array20,1,2,3xmyArraymyArraymyDimensionsmyArraymyArraymyFeatures0imagetemplatesmyArray0myArray0myArraymylistmylist0,1,2,3mydictmydict'a','b','c','d'mydict'ABCD''a','b','c','d'ser1ser10df1tagdf1tagdf11df1GTcolumndf1tag1df1tagmindf1columndf1tagser1ser11,2,3,45,6,7,81,2,3,45,6,7,820,20,20,20tag1,2,3,45,6,7,8tag1,2,3,45,6,7,80.5tag0.25,0.35,0.1,0.3'a','b','c','d'0.2,0,0,011,21,31,41,51,61,71,81,910,20,40,60,80,100211Titleaxis1,2,3,41,2,3,415581.pngimg1.jpgfacehaarcascade_frontalface_default.xmlfaceRectsimgface1.15faceRectsimgface1.15100100200200Mixlyimg2.jpgimg0img001001003imgMixly02004310020220221001001010.00.010021.0-10.0,10.0TRUEirisiris_xiris_y0.3modelTRUEmodel1.0TRUEFALSE300modelmodel100pca2pcaxmodel5modelmodel8300modelxmodelx_trainy_trainmodelx_testy_testmodelx_testmodelmodelmodel/test.pkl1,2,3,4,511modellayermodelmodelxsys10historymodelinputTensoroutputTensormodelmy-modelmy-model1.jpg100-1010100NOTE_A41000NOTE_A4NOTE_A4 \ No newline at end of file +promptHelloHelloHello,HelloMixly2100,1,2,3051iDIVIDE10Exception as eetestThreadtestThreadWHILETRUEHello Mixly from Thread!101802990x151100a10.998124.821100101010001100501100110002110x2x0,1,2,30,1,2,30,1,2,3xMixlyMixlyHelloMixly65axMixlyMixly0Mixly02MixlyMixlyHello,mixlyHello,mixly50*Hello,mixlyl--mylistHello,mixlymixlymixpyI love mixly!I love mixlyRandom No. is {}int1100input('1+2*3')dirmylist1,2,3,4,5mylist0mylist02mylist00mylist0101mylistmylist2mylistmylist0mylist00mylist00mylist0mylist0mylist0mylistmylistmylistxmylist0mytup1,2,3,4,5mytup0mytup02mytupmytupmytupmytup0mytupmytup1mytup2xmydictmydictkeymydictkey0mydictkey0mydictkeymydictkeymydictkey0mydictmydictmydictmydictxmydict{"name":"Mixly","color":"green"}mydictresults0locationnames11,2,3,4,5s1s1s1s2s1s2s10s1Mixlys1s2xreadme.txtffilename.txtfffilename.txtfMixlyfff0fffpathpathfilename.txtsrcname.txtdstname.txtfilename.txtpathff0reponsehttps://mixio.mixly.cnreponsehttps://mixio.mixly.cnreponsetina20tina90tina0tina2020tina50tinatinatinatinatinatinatina5tinatina225tina5#ff0000#FF0000tina#ff0000#FF0000tina#ff0000#FF0000tina#ff0000#FF0000#ff0000#FF0000tina#FF0000tina#FF0000tina#FF0000tina50tina50360tinascreenturtle.epstina10tinaMixly!tinaMixly!Arial8NUMInput a number:100100Input your nameWhat's your name?df1data.csvdfdfarrayNonearrayNonearrayarrayarraydfvalueFalsedfdf'a','b','c','d'x1.55.50.511array1array2myMatrixmyMatrixmyMatrixarraymatrix1matrix2array1array20,1,2,3xmyArraymyArraymyDimensionsmyArraymyArraymyFeatures0imagetemplatesmyArray0myArray0myArraymylistmylist0,1,2,3mydictmydict'a','b','c','d'mydict'ABCD''a','b','c','d'ser1ser10df1tagdf1tagdf11df1GTcolumndf1tag1df1tagmindf1columndf1tagser1ser11,2,3,45,6,7,81,2,3,45,6,7,820,20,20,20tag1,2,3,45,6,7,8tag1,2,3,45,6,7,80.5tag0.25,0.35,0.1,0.3'a','b','c','d'0.2,0,0,011,21,31,41,51,61,71,81,910,20,40,60,80,100211Titleaxis1,2,3,41,2,3,415581.pngimg1.jpgfacehaarcascade_frontalface_default.xmlfaceRectsimgface1.15faceRectsimgface1.15100100200200Mixlyimg2.jpgimg0img001001003imgMixly02004310020220221001001010.00.010021.0-10.0,10.0TRUEirisiris_xiris_y0.3modelTRUEmodel1.0TRUEFALSE300modelmodel100pca2pcaxmodel5modelmodel8300modelxmodelx_trainy_trainmodelx_testy_testmodelx_testmodelmodelmodel/test.pkl1,2,3,4,511modellayermodelmodelxsys10historymodelinputTensoroutputTensormodelmy-modelmy-model1.jpg100-1010100NOTE_A41000NOTE_A4NOTE_A4 \ No newline at end of file diff --git a/boards/default/python_pyodide/main.bundle.2509889c.js b/boards/default/python_pyodide/main.bundle.9eb2088b.js similarity index 84% rename from boards/default/python_pyodide/main.bundle.2509889c.js rename to boards/default/python_pyodide/main.bundle.9eb2088b.js index 88b8ab58..5a974126 100644 --- a/boards/default/python_pyodide/main.bundle.2509889c.js +++ b/boards/default/python_pyodide/main.bundle.9eb2088b.js @@ -10110,7 +10110,7 @@ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ***************************************************************************** */ -function Qge(e,t,n,i){return new(n||(n=Promise))(function(r,s){function o(e){try{l(i.next(e))}catch(e){s(e)}}function a(e){try{l(i.throw(e))}catch(e){s(e)}}function l(e){e.done?r(e.value):function(e){return e instanceof n?e:new n(function(t){t(e)})}(e.value).then(o,a)}l((i=i.apply(e,t||[])).next())})}var Jge,e_e='.vega-embed {\n position: relative;\n display: inline-block;\n box-sizing: border-box; }\n .vega-embed.has-actions {\n padding-right: 38px; }\n .vega-embed details:not([open]) > :not(summary) {\n display: none !important; }\n .vega-embed summary {\n list-style: none;\n position: absolute;\n top: 0;\n right: 0;\n padding: 6px;\n z-index: 1000;\n background: white;\n box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.1);\n color: #1b1e23;\n border: 1px solid #aaa;\n border-radius: 999px;\n opacity: 0.2;\n transition: opacity 0.4s ease-in;\n outline: none;\n cursor: pointer;\n line-height: 0px; }\n .vega-embed summary::-webkit-details-marker {\n display: none; }\n .vega-embed summary:active {\n box-shadow: #aaa 0px 0px 0px 1px inset; }\n .vega-embed summary svg {\n width: 14px;\n height: 14px; }\n .vega-embed details[open] summary {\n opacity: 0.7; }\n .vega-embed:hover summary,\n .vega-embed:focus summary {\n opacity: 1 !important;\n transition: opacity 0.2s ease; }\n .vega-embed .vega-actions {\n position: absolute;\n z-index: 1001;\n top: 35px;\n right: -9px;\n display: flex;\n flex-direction: column;\n padding-bottom: 8px;\n padding-top: 8px;\n border-radius: 4px;\n box-shadow: 0 2px 8px 0 rgba(0, 0, 0, 0.2);\n border: 1px solid #d9d9d9;\n background: white;\n animation-duration: 0.15s;\n animation-name: scale-in;\n animation-timing-function: cubic-bezier(0.2, 0, 0.13, 1.5);\n text-align: left; }\n .vega-embed .vega-actions a {\n padding: 8px 16px;\n font-family: sans-serif;\n font-size: 14px;\n font-weight: 600;\n white-space: nowrap;\n color: #434a56;\n text-decoration: none; }\n .vega-embed .vega-actions a:hover {\n background-color: #f7f7f9;\n color: black; }\n .vega-embed .vega-actions::before, .vega-embed .vega-actions::after {\n content: "";\n display: inline-block;\n position: absolute; }\n .vega-embed .vega-actions::before {\n left: auto;\n right: 14px;\n top: -16px;\n border: 8px solid #0000;\n border-bottom-color: #d9d9d9; }\n .vega-embed .vega-actions::after {\n left: auto;\n right: 15px;\n top: -14px;\n border: 7px solid #0000;\n border-bottom-color: #fff; }\n .vega-embed .chart-wrapper {\n width: 100%;\n height: 100%; }\n\n.vega-embed-wrapper {\n max-width: 100%;\n overflow: auto;\n padding-right: 14px; }\n\n@keyframes scale-in {\n from {\n opacity: 0;\n transform: scale(0.6); }\n to {\n opacity: 1;\n transform: scale(1); } }\n';function t_e(e,...t){for(const n of t)n_e(e,n);return e}function n_e(e,t){for(const n of Object.keys(t))Se(e,n,t[n],!0)}String.prototype.startsWith||(String.prototype.startsWith=function(e,t){return this.substr(!t||t<0?0:+t,e.length)===e});const i_e=v;let r_e=b;const s_e="undefined"!=typeof window?window:void 0;void 0===r_e&&(null===(Jge=null==s_e?void 0:s_e.vl)||void 0===Jge?void 0:Jge.compile)&&(r_e=s_e.vl);const o_e={export:{svg:!0,png:!0},source:!0,compiled:!0,editor:!0},a_e={CLICK_TO_VIEW_ACTIONS:"Click to view actions",COMPILED_ACTION:"View Compiled Vega",EDITOR_ACTION:"Open in Vega Editor",PNG_ACTION:"Save as PNG",SOURCE_ACTION:"View Source",SVG_ACTION:"Save as SVG"},l_e={vega:"Vega","vega-lite":"Vega-Lite"},u_e={vega:i_e.version,"vega-lite":r_e?r_e.version:"not available"},c_e={vega:e=>e,"vega-lite":(e,t)=>r_e.compile(e,{config:t}).spec},d_e='\n\n \n \n \n',h_e="chart-wrapper";function p_e(e,t,n,i){const r=`${t}
`,s=`
${n}`,o=window.open("");o.document.write(r+e+s),o.document.title=`${l_e[i]} JSON Source`}function f_e(e,t){var n;if(e.$schema){const i=zme(e.$schema);t&&t!==i.library&&console.warn(`The given visualization spec is written in ${l_e[i.library]}, but mode argument sets ${null!==(n=l_e[t])&&void 0!==n?n:t}.`);const r=i.library;return(0,ee.satisfies)(u_e[r],`^${i.version.slice(1)}`)||console.warn(`The input spec uses ${l_e[r]} ${i.version}, but the current version of ${l_e[r]} is v${u_e[r]}.`),r}return"mark"in e||"encoding"in e||"layer"in e||"hconcat"in e||"vconcat"in e||"facet"in e||"repeat"in e?"vega-lite":"marks"in e||"signals"in e||"scales"in e||"axes"in e?"vega":null!=t?t:"vega"}function m_e(e){return(t=e)&&"load"in t?e:i_e.loader(e);var t}function g_e(e){var t;return null!==(t=e.usermeta&&e.usermeta.embedOptions)&&void 0!==t?t:{}}function __e(e,t){var n;return Qge(this,void 0,void 0,function*(){const i=bt(e.config)?JSON.parse(yield t.load(e.config)):null!==(n=e.config)&&void 0!==n?n:{},r=bt(e.patch)?JSON.parse(yield t.load(e.patch)):e.patch;return Object.assign(Object.assign(Object.assign({},e),r?{patch:r}:{}),i?{config:i}:{})})}const y_e=function(e,t,n={}){var i,r,s;return Qge(this,void 0,void 0,function*(){let o,a;bt(t)?(a=m_e(n.loader),o=JSON.parse(yield a.load(t))):o=t;const l=g_e(o).loader;a&&!l||(a=m_e(null!==(i=n.loader)&&void 0!==i?i:l));const u=yield __e(g_e(o),a),c=yield __e(n,a),d=Object.assign(Object.assign({},t_e(c,u)),{config:Ae(null!==(r=c.config)&&void 0!==r?r:{},null!==(s=u.config)&&void 0!==s?s:{})});return yield function(e,t,n={},i){var r,s,o,a,l,u;return Qge(this,void 0,void 0,function*(){const c=n.theme?Ae(T[n.theme],null!==(r=n.config)&&void 0!==r?r:{}):n.config,d=mt(n.actions)?n.actions:t_e({},o_e,null!==(s=n.actions)&&void 0!==s?s:{}),h=Object.assign(Object.assign({},a_e),n.i18n),p=null!==(o=n.renderer)&&void 0!==o?o:"canvas",f=null!==(a=n.logLevel)&&void 0!==a?a:i_e.Warn,m=null!==(l=n.downloadFileName)&&void 0!==l?l:"visualization",g="string"==typeof e?document.querySelector(e):e;if(!g)throw new Error(`${e} does not exist`);if(!1!==n.defaultStyle){const e="vega-embed-style",{root:t,rootContainer:i}=function(e){var t;const n=e.getRootNode?e.getRootNode():document;return n instanceof ShadowRoot?{root:n,rootContainer:n}:{root:document,rootContainer:null!==(t=document.head)&&void 0!==t?t:document.body}}(g);if(!t.getElementById(e)){const t=document.createElement("style");t.id=e,t.innerText=void 0===n.defaultStyle||!0===n.defaultStyle?e_e.toString():n.defaultStyle,i.appendChild(t)}}const _=f_e(t,n.mode);let y=c_e[_](t,c);if("vega-lite"===_&&y.$schema){const e=zme(y.$schema);(0,ee.satisfies)(u_e.vega,`^${e.version.slice(1)}`)||console.warn(`The compiled spec uses Vega ${e.version}, but current version is v${u_e.vega}.`)}g.classList.add("vega-embed"),d&&g.classList.add("has-actions"),g.innerHTML="";let v=g;if(d){const e=document.createElement("div");e.classList.add(h_e),g.appendChild(e),v=e}const b=n.patch;b&&(y=b instanceof Function?b(y):$(y,b,!0,!1).newDocument),n.formatLocale&&i_e.formatLocale(n.formatLocale),n.timeFormatLocale&&i_e.timeFormatLocale(n.timeFormatLocale);const{ast:x}=n,E=i_e.parse(y,"vega-lite"===_?{}:c,{ast:x}),w=new(n.viewClass||i_e.View)(E,Object.assign({loader:i,logLevel:f,renderer:p},x?{expr:i_e.expressionInterpreter}:{}));if(!1!==n.tooltip){let e;e=function(e){return"function"==typeof e}(n.tooltip)?n.tooltip:new Zge(!0===n.tooltip?{}:n.tooltip).call,w.tooltip(e)}let I,{hover:A}=n;if(void 0===A&&(A="vega"===_),A){const{hoverSet:e,updateSet:t}="boolean"==typeof A?{}:A;w.hover(e,t)}if(n&&(null!=n.width&&w.width(n.width),null!=n.height&&w.height(n.height),null!=n.padding&&w.padding(n.padding)),yield w.initialize(v,n.bind).runAsync(),!1!==d){let e=g;if(!1!==n.defaultStyle){const t=document.createElement("details");t.title=h.CLICK_TO_VIEW_ACTIONS,g.append(t),e=t;const n=document.createElement("summary");n.innerHTML=d_e,t.append(n),I=e=>{t.contains(e.target)||t.removeAttribute("open")},document.addEventListener("click",I)}const i=document.createElement("div");if(e.append(i),i.classList.add("vega-actions"),!0===d||!1!==d.export)for(const e of["svg","png"])if(!0===d||!0===d.export||d.export[e]){const t=h[`${e.toUpperCase()}_ACTION`],r=document.createElement("a");r.text=t,r.href="#",r.target="_blank",r.download=`${m}.${e}`,r.addEventListener("mousedown",function(t){return Qge(this,void 0,void 0,function*(){t.preventDefault();const i=yield w.toImageURL(e,n.scaleFactor);this.href=i})}),i.append(r)}if(!0===d||!1!==d.source){const e=document.createElement("a");e.text=h.SOURCE_ACTION,e.href="#",e.addEventListener("click",function(e){var i,r;p_e(J()(t),null!==(i=n.sourceHeader)&&void 0!==i?i:"",null!==(r=n.sourceFooter)&&void 0!==r?r:"",_),e.preventDefault()}),i.append(e)}if("vega-lite"===_&&(!0===d||!1!==d.compiled)){const e=document.createElement("a");e.text=h.COMPILED_ACTION,e.href="#",e.addEventListener("click",function(e){var t,i;p_e(J()(y),null!==(t=n.sourceHeader)&&void 0!==t?t:"",null!==(i=n.sourceFooter)&&void 0!==i?i:"","vega"),e.preventDefault()}),i.append(e)}if(!0===d||!1!==d.editor){const e=null!==(u=n.editorUrl)&&void 0!==u?u:"https://vega.github.io/editor/",r=document.createElement("a");r.text=h.EDITOR_ACTION,r.href="#",r.addEventListener("click",function(n){!function(e,t,n){const i=e.open(t),{origin:r}=new URL(t);let s=40;e.addEventListener("message",function t(n){n.source===i&&(s=0,e.removeEventListener("message",t,!1))},!1),setTimeout(function e(){s<=0||(i.postMessage(n,r),setTimeout(e,250),s-=1)},250)}(window,e,{config:c,mode:_,renderer:p,spec:J()(t)}),n.preventDefault()}),i.append(r)}}function S(){I&&document.removeEventListener("click",I),w.finalize()}return{view:w,spec:t,vgSpec:y,finalize:S}})}(e,o,d,a)})}},66262:(e,t)=>{"use strict";t.A=(e,t)=>{const n=e.__vccOpts||e;for(const[e,i]of t)n[e]=i;return n}},26944:e=>{"use strict";e.exports=path},85817:()=>{},18590:()=>{},4530:()=>{},8108:()=>{},80551:()=>{},67425:()=>{},9496:()=>{},26786:()=>{},48884:()=>{},98001:()=>{},71613:()=>{},15312:()=>{},89032:()=>{},60574:()=>{},2672:()=>{},58215:()=>{},1417:()=>{},49391:()=>{},83220:()=>{},73985:()=>{},80032:()=>{},75650:()=>{},56644:()=>{},41234:()=>{},48487:e=>{"use strict";var t=/("(?:[^\\"]|\\.)*")|[:,]/g;e.exports=function(e,n){var i,r,s;return n=n||{},i=JSON.stringify([1],void 0,void 0===n.indent?2:n.indent).slice(2,-3),r=""===i?1/0:void 0===n.maxLength?80:n.maxLength,s=n.replacer,function e(n,o,a){var l,u,c,d,h,p,f,m,g,_,y,v;if(n&&"function"==typeof n.toJSON&&(n=n.toJSON()),void 0===(y=JSON.stringify(n,s)))return y;if(f=r-o.length-a,y.length<=f&&(g=y.replace(t,function(e,t){return t||e+" "})).length<=f)return g;if(null!=s&&(n=JSON.parse(y),s=void 0),"object"==typeof n&&null!==n){if(m=o+i,c=[],u=0,Array.isArray(n))for(_="[",l="]",f=n.length;u0)return[_,i+c.join(",\n"+m),l].join("\n"+o)}return y}(e,"",0)}},21045:e=>{"use strict";e.exports={rE:"3.0.8"}}},__webpack_module_cache__={},leafPrototypes,getProto,inProgress,dataWebpackPrefix;function __webpack_require__(e){var t=__webpack_module_cache__[e];if(void 0!==t)return t.exports;var n=__webpack_module_cache__[e]={id:e,loaded:!1,exports:{}};return __webpack_modules__[e].call(n.exports,n,n.exports,__webpack_require__),n.loaded=!0,n.exports}__webpack_require__.m=__webpack_modules__,__webpack_require__.amdD=function(){throw new Error("define cannot be used indirect")},__webpack_require__.amdO={},__webpack_require__.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return __webpack_require__.d(t,{a:t}),t},getProto=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,__webpack_require__.t=function(e,t){if(1&t&&(e=this(e)),8&t)return e;if("object"==typeof e&&e){if(4&t&&e.__esModule)return e;if(16&t&&"function"==typeof e.then)return e}var n=Object.create(null);__webpack_require__.r(n);var i={};leafPrototypes=leafPrototypes||[null,getProto({}),getProto([]),getProto(getProto)];for(var r=2&t&&e;"object"==typeof r&&!~leafPrototypes.indexOf(r);r=getProto(r))Object.getOwnPropertyNames(r).forEach(t=>i[t]=()=>e[t]);return i.default=()=>e,__webpack_require__.d(n,i),n},__webpack_require__.d=(e,t)=>{for(var n in t)__webpack_require__.o(t,n)&&!__webpack_require__.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},__webpack_require__.f={},__webpack_require__.e=e=>Promise.all(Object.keys(__webpack_require__.f).reduce((t,n)=>(__webpack_require__.f[n](e,t),t),[])),__webpack_require__.u=e=>e+".bundle."+{38:"56383ce7",97:"b0fed7fa",195:"9941f7ca",211:"45847679",317:"a52389ac",837:"3c99d169",950:"b01fc844",960:"d893bd17",974:"66119c82"}[e]+".js",__webpack_require__.miniCssF=e=>"styles/"+e+".45554be0.css",__webpack_require__.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),inProgress={},dataWebpackPrefix="@mixly/python-pyodide:",__webpack_require__.l=(e,t,n,i)=>{if(inProgress[e])inProgress[e].push(t);else{var r,s;if(void 0!==n)for(var o=document.getElementsByTagName("script"),a=0;a{r.onerror=r.onload=null,clearTimeout(c);var i=inProgress[e];if(delete inProgress[e],r.parentNode&&r.parentNode.removeChild(r),i&&i.forEach(e=>e(n)),t)return t(n)},c=setTimeout(u.bind(null,void 0,{type:"timeout",target:r}),12e4);r.onerror=u.bind(null,r.onerror),r.onload=u.bind(null,r.onload),s&&document.head.appendChild(r)}},__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},__webpack_require__.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),(()=>{var e;__webpack_require__.g.importScripts&&(e=__webpack_require__.g.location+"");var t=__webpack_require__.g.document;if(!e&&t&&(t.currentScript&&(e=t.currentScript.src),!e)){var n=t.getElementsByTagName("script");if(n.length)for(var i=n.length-1;i>-1&&(!e||!/^http(s?):/.test(e));)e=n[i--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),__webpack_require__.p=e})(),(()=>{if("undefined"!=typeof document){var e=e=>new Promise((t,n)=>{var i=__webpack_require__.miniCssF(e),r=__webpack_require__.p+i;if(((e,t)=>{for(var n=document.getElementsByTagName("link"),i=0;i{var s=document.createElement("link");s.rel="stylesheet",s.type="text/css",__webpack_require__.nc&&(s.nonce=__webpack_require__.nc),s.onerror=s.onload=n=>{if(s.onerror=s.onload=null,"load"===n.type)i();else{var o=n&&n.type,a=n&&n.target&&n.target.href||t,l=new Error("Loading CSS chunk "+e+" failed.\n("+o+": "+a+")");l.name="ChunkLoadError",l.code="CSS_CHUNK_LOAD_FAILED",l.type=o,l.request=a,s.parentNode&&s.parentNode.removeChild(s),r(l)}},s.href=t,n?n.parentNode.insertBefore(s,n.nextSibling):document.head.appendChild(s)})(e,r,null,t,n)}),t={792:0};__webpack_require__.f.miniCss=(n,i)=>{t[n]?i.push(t[n]):0!==t[n]&&{317:1}[n]&&i.push(t[n]=e(n).then(()=>{t[n]=0},e=>{throw delete t[n],e}))}}})(),(()=>{var e={792:0};__webpack_require__.f.j=(t,n)=>{var i=__webpack_require__.o(e,t)?e[t]:void 0;if(0!==i)if(i)n.push(i[2]);else{var r=new Promise((n,r)=>i=e[t]=[n,r]);n.push(i[2]=r);var s=__webpack_require__.p+__webpack_require__.u(t),o=new Error;__webpack_require__.l(s,n=>{if(__webpack_require__.o(e,t)&&(0!==(i=e[t])&&(e[t]=void 0),i)){var r=n&&("load"===n.type?"missing":n.type),s=n&&n.target&&n.target.src;o.message="Loading chunk "+t+" failed.\n("+r+": "+s+")",o.name="ChunkLoadError",o.type=r,o.request=s,i[1](o)}},"chunk-"+t,t)}};var t=(t,n)=>{var i,r,[s,o,a]=n,l=0;if(s.some(t=>0!==e[t])){for(i in o)__webpack_require__.o(o,i)&&(__webpack_require__.m[i]=o[i]);if(a)a(__webpack_require__)}for(t&&t(n);l{"use strict";var e={};__webpack_require__.r(e),__webpack_require__.d(e,{controls_type:()=>Qe,controls_typeLists:()=>Je,lists_zip:()=>et,lists_zip_container:()=>tt,lists_zip_item:()=>nt,unpack_iterable_object:()=>it,variables_change:()=>Ke,variables_get:()=>Xe,variables_global:()=>Ze,variables_set:()=>qe});var t={};__webpack_require__.r(t),__webpack_require__.d(t,{base_setup:()=>ot,controls_delay:()=>at,controls_end_program:()=>lt,controls_except:()=>Tt,controls_finally:()=>xt,controls_flow_statements:()=>ft,controls_for:()=>mt,controls_forEach:()=>dt,controls_for_range:()=>gt,controls_if:()=>ut,controls_if_else:()=>vt,controls_if_elseif:()=>yt,controls_if_if:()=>_t,controls_lambda:()=>wt,controls_main:()=>st,controls_pass:()=>It,controls_range:()=>ct,controls_repeat_ext:()=>Et,controls_thread:()=>At,controls_try:()=>bt,controls_try_finally:()=>pt,controls_whileUntil:()=>ht,datetime_fromtimestamp:()=>Rt,do_while:()=>St,garbage_collection:()=>Ct,gene_unique_identifier:()=>Nt,get_mem_alloc:()=>Ot,get_mem_free:()=>Mt,get_unique_identifier:()=>kt});var n={};__webpack_require__.r(n),__webpack_require__.d(n,{base_map:()=>en,generate_cartesian_product:()=>nn,math_arithmetic:()=>Bt,math_bit:()=>Ut,math_constant:()=>Lt,math_constant_mp:()=>Pt,math_constrain:()=>Wt,math_dec:()=>zt,math_degree_to_radian:()=>sn,math_indexer_number:()=>qt,math_map:()=>Xt,math_max_min:()=>Yt,math_number:()=>Ft,math_number_base_conversion:()=>Gt,math_radian_to_degree:()=>rn,math_random:()=>Ht,math_random_seed:()=>Kt,math_round:()=>Zt,math_selfcalcu:()=>$t,math_to_int:()=>jt,math_trig:()=>Vt,text_to_number:()=>Qt,text_to_number_skulpt:()=>Jt,turn_to_int:()=>tn});var i={};__webpack_require__.r(i),__webpack_require__.d(i,{ascii_to_char:()=>hn,char_to_ascii:()=>pn,number_to_text:()=>fn,os_system:()=>$n,text:()=>an,text_bytes:()=>un,text_capital:()=>En,text_center:()=>wn,text_char:()=>cn,text_char_at:()=>_n,text_char_at2:()=>gn,text_char_at3:()=>Fn,text_compareTo:()=>Dn,text_compare_to:()=>xn,text_create_with_container:()=>kn,text_create_with_item:()=>Rn,text_encode:()=>Pn,text_equals_starts_ends:()=>Tn,text_eval:()=>Bn,text_find:()=>In,text_format:()=>Mn,text_format_noreturn:()=>Ln,text_join:()=>dn,text_join_seq:()=>An,text_length:()=>mn,text_random_char:()=>yn,text_replace:()=>Sn,text_split:()=>Cn,text_strip:()=>On,text_substring:()=>bn,text_substring2:()=>vn,text_substring3:()=>Nn,text_textarea:()=>ln});var r={};__webpack_require__.r(r),__webpack_require__.d(r,{ENUMERATE:()=>Ti,content_in_lists:()=>Ei,enumerate:()=>xi,list_many_input:()=>li,list_tolist:()=>hi,list_tolist2:()=>bi,list_trig:()=>si,lists_2d_get_col_row_data:()=>Yn,lists_2d_get_data_with_col_row:()=>jn,lists_append_extend:()=>Kn,lists_change_to:()=>ai,lists_change_to_general:()=>ci,lists_clear:()=>ti,lists_create_with:()=>Gn,lists_create_with2:()=>pi,lists_create_with_container:()=>Wn,lists_create_with_item:()=>Xn,lists_create_with_noreturn:()=>ui,lists_create_with_text:()=>Hn,lists_create_with_text2:()=>fi,lists_del_general:()=>di,lists_find:()=>ri,lists_getIndex3:()=>mi,lists_getSublist3:()=>gi,lists_get_index:()=>Vn,lists_get_random_item:()=>Zn,lists_get_random_sublist:()=>Qn,lists_get_sublist:()=>zn,lists_insert_value:()=>Jn,lists_insert_value2:()=>yi,lists_pop:()=>ii,lists_remove_at:()=>ni,lists_remove_at2:()=>vi,lists_reverse:()=>ei,lists_setIndex3:()=>_i,lists_set_index:()=>qn,lists_sort:()=>oi});var s={};__webpack_require__.r(s),__webpack_require__.d(s,{dicts_add_change_del:()=>$i,dicts_add_or_change:()=>ki,dicts_clear:()=>Di,dicts_create_with:()=>Ii,dicts_create_with_container:()=>Ai,dicts_create_with_item:()=>Si,dicts_create_with_noreturn:()=>zi,dicts_deldict:()=>Bi,dicts_delete:()=>Ri,dicts_get:()=>Oi,dicts_get_default:()=>Mi,dicts_items:()=>Fi,dicts_keys:()=>Ci,dicts_length:()=>Pi,dicts_pop:()=>Ui,dicts_setdefault:()=>Vi,dicts_to_json:()=>Yi,dicts_to_json2:()=>Wi,dicts_to_to:()=>Hi,dicts_todict:()=>ji,dicts_update:()=>Ni,dicts_values:()=>Li,json_to_dicts:()=>Gi});var o={};__webpack_require__.r(o),__webpack_require__.d(o,{logic_boolean:()=>Ji,logic_compare:()=>qi,logic_compare_continous:()=>Ki,logic_is:()=>ir,logic_is_in:()=>nr,logic_negate:()=>Qi,logic_null:()=>er,logic_operation:()=>Zi,logic_tobool:()=>rr,logic_true_or_false:()=>tr});var a={};__webpack_require__.r(a),__webpack_require__.d(a,{sdcard_mount:()=>Sr,sdcard_use_spi_init:()=>Ar,storage_can_write_ornot:()=>pr,storage_change_dir:()=>wr,storage_close_file:()=>mr,storage_delete_file:()=>_r,storage_file_seek:()=>br,storage_file_tell:()=>vr,storage_file_write:()=>ur,storage_fileopen:()=>or,storage_fileopen_new:()=>ar,storage_fileopen_new_encoding:()=>lr,storage_get_a_line:()=>hr,storage_get_contents:()=>dr,storage_get_contents_without_para:()=>cr,storage_get_current_dir:()=>Tr,storage_get_file_size:()=>yr,storage_get_filename:()=>fr,storage_is_file:()=>Ir,storage_list_all_files:()=>gr,storage_make_dir:()=>xr,storage_open_file_with_os:()=>sr,storage_rename:()=>Er});var l={};__webpack_require__.r(l),__webpack_require__.d(l,{procedures_callnoreturn:()=>Rr,procedures_callreturn:()=>Nr,procedures_defnoreturn:()=>Cr,procedures_defreturn:()=>Or,procedures_ifreturn:()=>Dr,procedures_mutatorarg:()=>kr,procedures_mutatorcontainer:()=>Mr,procedures_return:()=>Fr});var u={};__webpack_require__.r(u),__webpack_require__.d(u,{tuple_change_to:()=>Wr,tuple_create_llm_params:()=>ns,tuple_create_with:()=>Pr,tuple_create_with_container:()=>Br,tuple_create_with_item:()=>$r,tuple_create_with_noreturn:()=>Zr,tuple_create_with_text2:()=>Ur,tuple_create_with_text_return:()=>Vr,tuple_del:()=>Yr,tuple_find:()=>Xr,tuple_getIndex:()=>zr,tuple_getSublist:()=>Kr,tuple_get_random_item:()=>Jr,tuple_get_sublist:()=>Qr,tuple_input:()=>ts,tuple_join:()=>Gr,tuple_length:()=>jr,tuple_max:()=>Hr,tuple_totuple:()=>es,tuple_trig:()=>qr});var c={};__webpack_require__.r(c),__webpack_require__.d(c,{set_add_discard:()=>hs,set_clear:()=>us,set_create_with:()=>rs,set_create_with_container:()=>ss,set_create_with_item:()=>os,set_create_with_text_return:()=>ms,set_length:()=>as,set_operate:()=>cs,set_operate_update:()=>ds,set_pop:()=>ls,set_sub:()=>ps,set_toset:()=>gs,set_update:()=>fs});var d={};__webpack_require__.r(d),__webpack_require__.d(d,{html_content:()=>Ts,html_content_more:()=>xs,html_document:()=>ys,html_form:()=>ws,html_head_body:()=>bs,html_style:()=>Es,html_style_color:()=>As,html_style_content:()=>Is,html_text:()=>Ss,html_title:()=>vs});var h={};__webpack_require__.r(h),__webpack_require__.d(h,{attribute_access:()=>Vs,function_call:()=>Bs,function_call_container:()=>$s,function_call_item:()=>Us,raw_block:()=>Ms,raw_empty:()=>Rs,raw_expression:()=>ks,raw_table:()=>Os,text_comment:()=>Ns,text_print_multiple:()=>Fs,text_print_multiple_container:()=>Ls,text_print_multiple_item:()=>Ps,type_check:()=>Ds});var p={};__webpack_require__.r(p),__webpack_require__.d(p,{controls_type:()=>Hs,controls_typeLists:()=>Ws,lists_zip:()=>Xs,unpack_iterable_object:()=>qs,variables_change:()=>Ys,variables_get:()=>zs,variables_global:()=>Gs,variables_set:()=>js});var f={};__webpack_require__.r(f),__webpack_require__.d(f,{Panic_with_status_code:()=>so,base_setup:()=>Zs,controls_delay:()=>ro,controls_flow_statements:()=>io,controls_for:()=>eo,controls_forEach:()=>co,controls_for_range:()=>to,controls_if:()=>Qs,controls_interrupts:()=>lo,controls_lambda:()=>po,controls_main:()=>Ks,controls_millis:()=>oo,controls_nointerrupts:()=>uo,controls_pass:()=>mo,controls_range:()=>ho,controls_repeat:()=>Eo,controls_repeat_ext:()=>yo,controls_thread:()=>go,controls_try_finally:()=>Js,controls_whileUntil:()=>no,datetime_fromtimestamp:()=>wo,do_while:()=>_o,garbage_collection:()=>vo,gene_unique_identifier:()=>Io,get_mem_alloc:()=>bo,get_mem_free:()=>To,get_unique_identifier:()=>xo,reset:()=>ao,time_sleep:()=>fo});var m={};__webpack_require__.r(m),__webpack_require__.d(m,{base_map:()=>Ho,generate_cartesian_product:()=>Xo,math_arithmetic:()=>Mo,math_bit:()=>Oo,math_constant:()=>So,math_constant_mp:()=>Co,math_constrain:()=>$o,math_dec:()=>Do,math_degree_to_radian:()=>Ko,math_indexer_number:()=>zo,math_map:()=>Bo,math_max_min:()=>Lo,math_number:()=>Ao,math_number_base_conversion:()=>Uo,math_radian_to_degree:()=>qo,math_random:()=>Po,math_random_seed:()=>Vo,math_round:()=>jo,math_selfcalcu:()=>ko,math_single:()=>Ro,math_to_int:()=>Fo,math_trig:()=>No,text_to_number:()=>Yo,text_to_number_skulpt:()=>Go,turn_to_int:()=>Wo});var g={};__webpack_require__.r(g),__webpack_require__.d(g,{ascii_to_char:()=>na,char_to_ascii:()=>ia,number_to_text:()=>ra,os_system:()=>Sa,text:()=>Zo,text_bytes:()=>Jo,text_capital:()=>pa,text_center:()=>fa,text_char:()=>ea,text_char_at:()=>aa,text_char_at2:()=>oa,text_char_at3:()=>wa,text_compareTo:()=>Ea,text_compare_to:()=>ca,text_encode:()=>Ia,text_equals_starts_ends:()=>ua,text_eval:()=>Aa,text_find:()=>ma,text_format:()=>ba,text_format_noreturn:()=>Ta,text_join:()=>ta,text_join_seq:()=>ga,text_length:()=>sa,text_random_char:()=>la,text_replace:()=>_a,text_split:()=>ya,text_strip:()=>va,text_substring:()=>ha,text_substring2:()=>da,text_substring3:()=>xa,text_textarea:()=>Qo});var _={};__webpack_require__.r(_),__webpack_require__.d(_,{content_in_lists:()=>al,enumerate:()=>ol,list_many_input:()=>Wa,list_tolist:()=>rl,list_tolist2:()=>sl,list_trig:()=>Ya,lists_2d_get_col_row_data:()=>Ma,lists_2d_get_data_with_col_row:()=>Oa,lists_append_extend:()=>Fa,lists_change_to:()=>Ha,lists_change_to_general:()=>qa,lists_clear:()=>Ua,lists_create_with:()=>ka,lists_create_with2:()=>Za,lists_create_with_noreturn:()=>Xa,lists_create_with_text:()=>Ra,lists_create_with_text2:()=>Qa,lists_del_general:()=>Ka,lists_find:()=>Va,lists_getIndex3:()=>Ja,lists_getSublist3:()=>el,lists_get_index:()=>Na,lists_get_random_item:()=>La,lists_get_random_sublist:()=>Pa,lists_get_sublist:()=>Ca,lists_insert_value:()=>Ba,lists_insert_value2:()=>nl,lists_pop:()=>ja,lists_remove_at:()=>za,lists_remove_at2:()=>il,lists_reverse:()=>$a,lists_setIndex3:()=>tl,lists_set_index:()=>Da,lists_sort:()=>Ga});var y={};__webpack_require__.r(y),__webpack_require__.d(y,{dicts_add_change_del:()=>bl,dicts_add_or_change:()=>hl,dicts_clear:()=>ml,dicts_create_with:()=>ll,dicts_create_with_noreturn:()=>El,dicts_deldict:()=>vl,dicts_delete:()=>pl,dicts_get:()=>cl,dicts_get_default:()=>dl,dicts_items:()=>gl,dicts_keys:()=>ul,dicts_length:()=>yl,dicts_pop:()=>Tl,dicts_setdefault:()=>xl,dicts_to_json:()=>Il,dicts_to_json2:()=>Cl,dicts_to_to:()=>Sl,dicts_todict:()=>wl,dicts_update:()=>fl,dicts_values:()=>_l,json_to_dicts:()=>Al});var v={};__webpack_require__.r(v),__webpack_require__.d(v,{logic_boolean:()=>Nl,logic_compare:()=>Ol,logic_compare_continous:()=>Ml,logic_is:()=>Pl,logic_is_in:()=>Ll,logic_negate:()=>Rl,logic_null:()=>Dl,logic_operation:()=>kl,logic_tobool:()=>Bl,logic_true_or_false:()=>Fl});var b={};__webpack_require__.r(b),__webpack_require__.d(b,{sdcard_mount:()=>au,sdcard_use_spi_init:()=>ou,storage_can_write_ornot:()=>Wl,storage_change_dir:()=>tu,storage_close_file:()=>ql,storage_delete_file:()=>Zl,storage_file_seek:()=>eu,storage_file_tell:()=>Jl,storage_file_write:()=>jl,storage_fileopen:()=>Ul,storage_fileopen_new:()=>Vl,storage_fileopen_new_encoding:()=>zl,storage_get_a_line:()=>Hl,storage_get_contents:()=>Gl,storage_get_contents_without_para:()=>Yl,storage_get_current_dir:()=>nu,storage_get_file_size:()=>Ql,storage_get_filename:()=>Xl,storage_is_file:()=>su,storage_list_all_files:()=>Kl,storage_make_dir:()=>iu,storage_open_file_with_os:()=>$l,storage_rename:()=>ru});var T={};__webpack_require__.r(T),__webpack_require__.d(T,{procedures_callnoreturn:()=>du,procedures_callreturn:()=>cu,procedures_defnoreturn:()=>uu,procedures_defreturn:()=>lu,procedures_ifreturn:()=>hu,procedures_return:()=>pu});var x={};__webpack_require__.r(x),__webpack_require__.d(x,{tuple_change_to:()=>xu,tuple_create_llm_params:()=>ku,tuple_create_with:()=>fu,tuple_create_with_noreturn:()=>Au,tuple_create_with_text2:()=>mu,tuple_create_with_text_return:()=>gu,tuple_del:()=>vu,tuple_find:()=>Eu,tuple_getIndex:()=>_u,tuple_getSublist:()=>Iu,tuple_get_random_item:()=>Cu,tuple_get_sublist:()=>Su,tuple_input:()=>Mu,tuple_join:()=>bu,tuple_length:()=>yu,tuple_max:()=>Tu,tuple_totuple:()=>Ou,tuple_trig:()=>wu});var E={};__webpack_require__.r(E),__webpack_require__.d(E,{set_add_discard:()=>Bu,set_clear:()=>Fu,set_create_with:()=>Ru,set_create_with_text_return:()=>Vu,set_length:()=>Nu,set_operate:()=>Lu,set_operate_update:()=>Pu,set_pop:()=>Du,set_sub:()=>$u,set_toset:()=>zu,set_update:()=>Uu});var w={};__webpack_require__.r(w),__webpack_require__.d(w,{html_content:()=>Hu,html_content_more:()=>Wu,html_document:()=>ju,html_form:()=>qu,html_head_body:()=>Gu,html_style:()=>Xu,html_style_content:()=>Ku,html_text:()=>Zu,html_title:()=>Yu});var I={};__webpack_require__.r(I),__webpack_require__.d(I,{attribute_access:()=>rc,function_call:()=>ic,raw_block:()=>Qu,raw_empty:()=>ec,raw_expression:()=>Ju,raw_table:()=>tc,type_check:()=>nc});var A={};__webpack_require__.r(A),__webpack_require__.d(A,{AI_ChooseAndGet:()=>uc,AI_Face_match:()=>mc,AI_ImageClassify:()=>pc,AI_ImageClassify_Func:()=>fc,AI_Nlp:()=>yc,AI_Nlp_Func:()=>bc,AI_Nlp_Func_sim:()=>Tc,AI_Nlp_Sim:()=>vc,AI_Nlp_Topic:()=>xc,AI_Nlp_newsSummary:()=>Ec,AI_Ocr:()=>gc,AI_Ocr_Func:()=>_c,AI_Speech_asr:()=>hc,AI_Speech_synthesis:()=>dc,AI_audio:()=>wc,AI_client:()=>cc,AI_photo:()=>Ic,AI_result:()=>Ac});var S={};__webpack_require__.r(S),__webpack_require__.d(S,{algorithm_add_path:()=>Nc,algorithm_add_school:()=>Oc,algorithm_all_books:()=>qc,algorithm_all_books_sequence:()=>Kc,algorithm_book_scale:()=>ld,algorithm_check_feet:()=>vd,algorithm_chick_calculate:()=>yd,algorithm_color_seclet:()=>Pd,algorithm_current_school:()=>$c,algorithm_del_path:()=>Dc,algorithm_delete_book:()=>rd,algorithm_delete_books:()=>sd,algorithm_delete_books2:()=>od,algorithm_divide_books:()=>nd,algorithm_find_path:()=>Mc,algorithm_first_book:()=>Zc,algorithm_fz_calc:()=>Ed,algorithm_fz_calc_first_min:()=>wd,algorithm_fz_compare:()=>Id,algorithm_fz_move:()=>Sd,algorithm_fz_set_min:()=>Ad,algorithm_get_book_num:()=>hd,algorithm_get_current_location:()=>Fd,algorithm_get_half_books:()=>id,algorithm_hxdb_add:()=>Rd,algorithm_hxdb_init_soldier:()=>Od,algorithm_hxdb_last_line:()=>kd,algorithm_hxdb_result:()=>Nd,algorithm_hxdb_stand_in_line:()=>Md,algorithm_init_fzsf:()=>xd,algorithm_init_hxdb:()=>Cd,algorithm_init_jttl:()=>md,algorithm_move_recent:()=>jc,algorithm_new_path:()=>kc,algorithm_next_book:()=>ed,algorithm_no_left:()=>Lc,algorithm_no_path:()=>Uc,algorithm_no_ring2:()=>Qc,algorithm_not_home:()=>Yc,algorithm_not_school:()=>Gc,algorithm_number_add:()=>cd,algorithm_number_zero:()=>ud,algorithm_prepare:()=>Cc,algorithm_prepare2:()=>Bc,algorithm_prepare_2_1:()=>Vc,algorithm_prepare_2_2:()=>zc,algorithm_print_book2:()=>ad,algorithm_print_divide:()=>fd,algorithm_print_jttl_answer:()=>bd,algorithm_print_number:()=>dd,algorithm_print_path:()=>Pc,algorithm_print_path2:()=>Hc,algorithm_print_sequence:()=>pd,algorithm_rabbit_add:()=>Td,algorithm_rabbit_number_in_range:()=>_d,algorithm_rabbit_zero:()=>gd,algorithm_return_path:()=>Fc,algorithm_set_path:()=>Rc,algorithm_two_left:()=>td,algorithm_void_path:()=>Ld,algorithm_yes_ring2:()=>Jc,hanoi_init:()=>Wc,hanoi_init_offline:()=>Dd,hanoi_move:()=>Xc});var C={};__webpack_require__.r(C),__webpack_require__.d(C,{requests_attribute:()=>zd,requests_get:()=>Ud,requests_get_old:()=>$d,requests_method:()=>jd,requests_post:()=>Vd});var O={};__webpack_require__.r(O),__webpack_require__.d(O,{cv_destroy_all:()=>qd,cv_face_classifier:()=>Qd,cv_face_detect:()=>Jd,cv_face_detect_all:()=>eh,cv_line_rect:()=>Kd,cv_read_image:()=>Gd,cv_show_image:()=>Hd,cv_text:()=>Zd,cv_waitkey:()=>Xd,cv_write_image:()=>Wd});var M={};__webpack_require__.r(M),__webpack_require__.d(M,{array_create:()=>_h,array_toarray:()=>kh,dataframe_aggregate_func:()=>Ap,dataframe_create:()=>rh,dataframe_create_from_index:()=>oh,dataframe_create_from_one_index:()=>sh,dataframe_fillna:()=>hp,dataframe_get:()=>Ch,dataframe_groupby:()=>Ip,dataframe_head_tail:()=>Ep,dataframe_info:()=>pp,dataframe_median:()=>dp,dataframe_select:()=>wp,dataframe_sort_values:()=>xp,matrix_multiplication:()=>up,matrix_transpose:()=>lp,numpy_argmin_template_match:()=>ep,numpy_astype:()=>Zh,numpy_c_:()=>op,numpy_dot:()=>_p,numpy_linalg_det:()=>ap,numpy_linalg_inv:()=>cp,numpy_max:()=>mp,numpy_mean:()=>tp,numpy_mean_digit:()=>Jh,numpy_min:()=>fp,numpy_ones:()=>sp,numpy_random_random:()=>bp,numpy_reshape:()=>Kh,numpy_shape:()=>qh,numpy_size:()=>gp,numpy_square:()=>yp,numpy_std:()=>np,numpy_sum:()=>vp,numpy_trig:()=>Ih,pandas_drop_columns:()=>rp,pandas_dropna:()=>ip,pandas_readcsv:()=>Sh,pl_axes:()=>ph,pl_bar:()=>Th,pl_hist:()=>Eh,pl_label:()=>gh,pl_legend:()=>fh,pl_pie:()=>xh,pl_plot:()=>dh,pl_plot_bar:()=>yh,pl_plot_easy:()=>ch,pl_plot_scatter:()=>vh,pl_plot_xy:()=>bh,pl_savefig:()=>Oh,pl_show:()=>hh,pl_subplot:()=>Ah,pl_text:()=>Mh,pl_ticks:()=>wh,pl_title:()=>mh,plot_axes:()=>Fh,plot_bar:()=>zh,plot_cla:()=>Sp,plot_hist:()=>Yh,plot_label:()=>Bh,plot_legend:()=>Lh,plot_pie:()=>jh,plot_plot:()=>Nh,plot_plot_bar:()=>$h,plot_plot_easy:()=>Rh,plot_plot_scatter:()=>Uh,plot_plot_xy:()=>Vh,plot_savefig:()=>Wh,plot_show:()=>Dh,plot_subplot:()=>Hh,plot_text:()=>Xh,plot_ticks:()=>Gh,plot_title:()=>Ph,py_sum:()=>Tp,pylab_imshow:()=>Qh,series_create:()=>nh,series_create_from_index:()=>ih,series_create_from_text:()=>ah,series_get_num:()=>uh,series_index_value:()=>lh});var k={};__webpack_require__.r(k),__webpack_require__.d(k,{ds_add_node_by_attr:()=>Lp,ds_add_node_by_name:()=>Fp,ds_create_linkedlist:()=>Op,ds_create_linkedlist_container:()=>Mp,ds_create_linkedlist_item:()=>kp,ds_create_node:()=>Rp,ds_del_node_by_attr:()=>Bp,ds_del_node_by_name:()=>Pp,ds_get_node_attr:()=>Np,ds_reverse_linkedlist:()=>$p,ds_set_node_attr:()=>Dp});var R={};__webpack_require__.r(R),__webpack_require__.d(R,{factory_block:()=>Kp,factory_block_return:()=>Zp,factory_block_return_with_textarea:()=>Jp,factory_block_with_textarea:()=>Qp,factory_callMethod_noreturn:()=>Xp,factory_callMethod_return:()=>qp,factory_create_with_container:()=>Yp,factory_create_with_item:()=>Gp,factory_declare:()=>Wp,factory_from_import:()=>Vp,factory_function_noreturn:()=>jp,factory_function_return:()=>Hp,factory_import:()=>zp});var N={};__webpack_require__.r(N),__webpack_require__.d(N,{hardware_arduino_analog_read:()=>af,hardware_arduino_analog_write:()=>of,hardware_arduino_digital_read:()=>sf,hardware_arduino_digital_write:()=>rf,hardware_arduino_start:()=>tf,inout_highlow:()=>nf});var D={};__webpack_require__.r(D),__webpack_require__.d(D,{inout_input:()=>lf,inout_print:()=>uf,inout_print_container:()=>mf,inout_print_end:()=>df,inout_print_inline:()=>cf,inout_print_item:()=>gf,inout_print_many:()=>ff,inout_type_input:()=>hf,pyinout_type_input:()=>pf});var F={};__webpack_require__.r(F),__webpack_require__.d(F,{IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>Vf,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>Uf,IOT_EMQX_PING:()=>Bf,IOT_FORMATTING:()=>Lf,IOT_FORMAT_STRING:()=>Pf,IOT_MIXIO_NTP:()=>$f,IOT_MIXIO_PUBLISH:()=>Sf,IOT_MIXIO_PUBLISHEX:()=>Cf,IOT_MIXIO_SUBSCRIBE:()=>Of,IOT_MIXIO_UNSUBSCRIBE:()=>Mf,iot_checkonenet:()=>Zf,iot_client_onboard:()=>Yf,iot_create_with_item:()=>If,iot_http_client:()=>Gf,iot_http_data:()=>Hf,iot_mixio_check:()=>Nf,iot_mixio_connect:()=>Af,iot_mixio_connect_only:()=>Rf,iot_mixio_disconnect:()=>kf,iot_mixio_format_msg:()=>Ff,iot_mixio_format_topic:()=>Df,iot_mixly_key:()=>jf,iot_mixly_key_py:()=>zf,iot_mqtt_client:()=>Wf,iot_mqtt_data:()=>Xf,iot_onenet_check:()=>bf,iot_onenet_connect:()=>yf,iot_onenet_disconnect:()=>vf,iot_onenet_publish:()=>xf,iot_onenet_publish_dict:()=>Tf,iot_onenetconnect:()=>qf,iot_onenetdisconnect:()=>Kf,iot_publish:()=>Qf,iot_publish_container:()=>Ef,iot_publish_item:()=>wf});var L={};__webpack_require__.r(L),__webpack_require__.d(L,{pins_analog_read:()=>im,pins_analog_write:()=>nm,pins_digital_read:()=>tm,pins_digital_write:()=>em});var P={};__webpack_require__.r(P),__webpack_require__.d(P,{serial_close:()=>am,serial_open:()=>rm,serial_read_b:()=>om,serial_write:()=>sm});var B={};__webpack_require__.r(B),__webpack_require__.d(B,{sklearn_DecisionTreeClassifier_Regressor:()=>ym,sklearn_GaussianNB:()=>Tm,sklearn_KMeans:()=>wm,sklearn_KMeans_fit:()=>Im,sklearn_KNeighborsClassifier_Regressor:()=>bm,sklearn_LinearRegression:()=>gm,sklearn_RandomForestClassifier_Regressor:()=>vm,sklearn_Ridge:()=>_m,sklearn_cluster_centers_labels_inertia:()=>Rm,sklearn_coef_intercept:()=>km,sklearn_data_target:()=>pm,sklearn_fit:()=>Am,sklearn_fit_no_target:()=>Sm,sklearn_load:()=>hm,sklearn_make_blobs:()=>dm,sklearn_make_classification:()=>um,sklearn_make_regression:()=>cm,sklearn_pca:()=>xm,sklearn_pca_fit_transform:()=>Em,sklearn_predict:()=>Cm,sklearn_save_load_model:()=>Nm,sklearn_score:()=>Om,sklearn_score_no_target:()=>Mm,sklearn_train_test_split:()=>fm,sklearn_train_test_split_no_target:()=>mm});var U={};__webpack_require__.r(U),__webpack_require__.d(U,{Panic_with_status_code:()=>Bm,base_delay:()=>Fm,controls_millis:()=>Lm,controls_mstimer2:()=>Um,controls_mstimer2_start:()=>Vm,controls_mstimer2_stop:()=>zm,reset:()=>$m,time_localtime:()=>Pm,time_sleep:()=>jm});var V={};__webpack_require__.r(V),__webpack_require__.d(V,{turtle_bgcolor:()=>dg,turtle_bgcolor_hex:()=>Tg,turtle_bgcolor_hex_new:()=>gg,turtle_circle:()=>lg,turtle_circle_advanced:()=>ug,turtle_clear:()=>ng,turtle_clone:()=>mg,turtle_color:()=>vg,turtle_color_hex:()=>bg,turtle_color_seclet:()=>kg,turtle_create:()=>Gm,turtle_done:()=>Hm,turtle_exitonclick:()=>Wm,turtle_fill:()=>rg,turtle_fillcolor:()=>fg,turtle_fillcolor_hex:()=>Eg,turtle_fillcolor_hex_new:()=>yg,turtle_getscreen:()=>Rg,turtle_goto:()=>Qm,turtle_listen:()=>Lg,turtle_move:()=>Xm,turtle_numinput:()=>Ag,turtle_onclick:()=>Dg,turtle_onkey:()=>Ng,turtle_ontimer:()=>Fg,turtle_pencolor:()=>pg,turtle_pencolor_hex:()=>xg,turtle_pencolor_hex_new:()=>_g,turtle_penup:()=>ig,turtle_pos_shape:()=>eg,turtle_rotate:()=>qm,turtle_screen_delay:()=>Zm,turtle_screen_savefig:()=>Pg,turtle_setheading:()=>Km,turtle_setxy:()=>Jm,turtle_shape:()=>wg,turtle_shapesize:()=>Ig,turtle_size:()=>og,turtle_size_speed:()=>sg,turtle_speed:()=>ag,turtle_stamp:()=>tg,turtle_textinput:()=>Sg,turtle_tracer:()=>hg,turtle_visible:()=>cg,turtle_write:()=>Cg,turtle_write_format:()=>Og,turtle_write_format_skulpt:()=>Mg});var z={};__webpack_require__.r(z),__webpack_require__.d(z,{AI_ChooseAndGet:()=>Bg,AI_Face_match:()=>jg,AI_ImageClassify:()=>zg,AI_ImageClassify_Func:()=>qg,AI_Nlp:()=>Gg,AI_Nlp_Func:()=>Zg,AI_Nlp_Func_sim:()=>Qg,AI_Nlp_Sim:()=>Hg,AI_Nlp_Topic:()=>Wg,AI_Nlp_newsSummary:()=>Xg,AI_Ocr:()=>Yg,AI_Ocr_Func:()=>Kg,AI_Speech_asr:()=>Vg,AI_Speech_synthesis:()=>Ug,AI_audio:()=>Jg,AI_client:()=>$g,AI_photo:()=>e_,AI_result:()=>t_});var j={};__webpack_require__.r(j),__webpack_require__.d(j,{algorithm_add_path:()=>a_,algorithm_add_school:()=>i_,algorithm_all_books:()=>w_,algorithm_all_books_sequence:()=>E_,algorithm_book_scale:()=>D_,algorithm_check_feet:()=>z_,algorithm_chick_calculate:()=>V_,algorithm_color_seclet:()=>sy,algorithm_current_school:()=>p_,algorithm_del_path:()=>l_,algorithm_delete_book:()=>R_,algorithm_divide_books:()=>M_,algorithm_find_path:()=>r_,algorithm_first_book:()=>I_,algorithm_fz_calc:()=>H_,algorithm_fz_compare:()=>W_,algorithm_fz_move:()=>q_,algorithm_fz_set_min:()=>X_,algorithm_get_current_location:()=>iy,algorithm_get_half_books:()=>k_,algorithm_hxdb_add:()=>ey,algorithm_hxdb_init_soldier:()=>Z_,algorithm_hxdb_last_line:()=>J_,algorithm_hxdb_result:()=>ty,algorithm_hxdb_stand_in_line:()=>Q_,algorithm_init_fzsf:()=>G_,algorithm_init_hxdb:()=>K_,algorithm_init_jttl:()=>B_,algorithm_move_recent:()=>__,algorithm_new_path:()=>s_,algorithm_next_book:()=>C_,algorithm_no_left:()=>c_,algorithm_no_path:()=>f_,algorithm_no_ring2:()=>A_,algorithm_not_home:()=>y_,algorithm_not_school:()=>v_,algorithm_number_add:()=>L_,algorithm_number_zero:()=>F_,algorithm_prepare:()=>n_,algorithm_prepare2:()=>h_,algorithm_prepare_2_1:()=>m_,algorithm_prepare_2_2:()=>g_,algorithm_print_book2:()=>N_,algorithm_print_jttl_answer:()=>j_,algorithm_print_number:()=>P_,algorithm_print_path:()=>d_,algorithm_print_path2:()=>b_,algorithm_rabbit_add:()=>Y_,algorithm_rabbit_number_in_range:()=>U_,algorithm_rabbit_zero:()=>$_,algorithm_return_path:()=>u_,algorithm_set_path:()=>o_,algorithm_two_left:()=>O_,algorithm_void_path:()=>ry,algorithm_yes_ring2:()=>S_,hanoi_init:()=>T_,hanoi_init_offline:()=>ny,hanoi_move:()=>x_});var Y={};__webpack_require__.r(Y),__webpack_require__.d(Y,{requests_attribute:()=>uy,requests_get:()=>ay,requests_get_old:()=>oy,requests_method:()=>cy,requests_post:()=>ly});var G={};__webpack_require__.r(G),__webpack_require__.d(G,{array_create:()=>Sy,array_toarray:()=>Vy,dataframe_aggregate_func:()=>Lv,dataframe_create:()=>fy,dataframe_create_from_index:()=>my,dataframe_create_from_one_index:()=>gy,dataframe_fillna:()=>xv,dataframe_get:()=>By,dataframe_groupby:()=>Fv,dataframe_head_tail:()=>Nv,dataframe_info:()=>Ev,dataframe_median:()=>Tv,dataframe_select:()=>Dv,dataframe_sort_values:()=>Rv,matrix_multiplication:()=>vv,matrix_transpose:()=>yv,numpy_argmin_template_match:()=>cv,numpy_astype:()=>av,numpy_c_:()=>gv,numpy_dot:()=>Sv,numpy_linalg_det:()=>_v,numpy_linalg_inv:()=>bv,numpy_max:()=>Iv,numpy_mean:()=>dv,numpy_mean_digit:()=>uv,numpy_min:()=>wv,numpy_ones:()=>mv,numpy_random_random:()=>Mv,numpy_reshape:()=>ov,numpy_shape:()=>sv,numpy_size:()=>Av,numpy_square:()=>Cv,numpy_std:()=>hv,numpy_sum:()=>Ov,numpy_trig:()=>Fy,pandas_drop_columns:()=>fv,pandas_dropna:()=>pv,pandas_readcsv:()=>Py,pl_axes:()=>Ty,pl_bar:()=>ky,pl_hist:()=>Ny,pl_label:()=>Ay,pl_legend:()=>wy,pl_pie:()=>Ry,pl_plot:()=>Ey,pl_plot_bar:()=>Cy,pl_plot_easy:()=>xy,pl_plot_scatter:()=>Oy,pl_plot_xy:()=>My,pl_savefig:()=>$y,pl_show:()=>by,pl_subplot:()=>Ly,pl_text:()=>Uy,pl_ticks:()=>Dy,pl_title:()=>Iy,plot_axes:()=>jy,plot_bar:()=>Qy,plot_cla:()=>Pv,plot_hist:()=>ev,plot_label:()=>Xy,plot_legend:()=>Hy,plot_pie:()=>Jy,plot_plot:()=>Gy,plot_plot_bar:()=>qy,plot_plot_easy:()=>Yy,plot_plot_scatter:()=>Ky,plot_plot_xy:()=>Zy,plot_savefig:()=>iv,plot_show:()=>zy,plot_subplot:()=>nv,plot_text:()=>rv,plot_ticks:()=>tv,plot_title:()=>Wy,py_sum:()=>kv,pylab_imshow:()=>lv,series_create:()=>hy,series_create_from_index:()=>py,series_create_from_text:()=>_y,series_get_num:()=>vy,series_index_value:()=>yy});var H={};__webpack_require__.r(H),__webpack_require__.d(H,{ds_add_node_by_attr:()=>jv,ds_add_node_by_name:()=>zv,ds_create_linkedlist:()=>Bv,ds_create_node:()=>$v,ds_del_node_by_attr:()=>Gv,ds_del_node_by_name:()=>Yv,ds_get_node_attr:()=>Uv,ds_reverse_linkedlist:()=>Hv,ds_set_node_attr:()=>Vv});var W={};__webpack_require__.r(W),__webpack_require__.d(W,{factory_block:()=>eb,factory_block_return:()=>tb,factory_block_return_with_textarea:()=>ib,factory_block_with_textarea:()=>nb,factory_callMethod_noreturn:()=>Qv,factory_callMethod_return:()=>Jv,factory_declare:()=>Zv,factory_from_import:()=>Wv,factory_function_noreturn:()=>qv,factory_function_return:()=>Kv,factory_import:()=>Xv});var X={};__webpack_require__.r(X),__webpack_require__.d(X,{hardware_arduino_analog_read:()=>lb,hardware_arduino_analog_write:()=>ub,hardware_arduino_digital_read:()=>ab,hardware_arduino_digital_write:()=>ob,hardware_arduino_start:()=>rb,inout_highlow:()=>sb});var q={};__webpack_require__.r(q),__webpack_require__.d(q,{inout_input:()=>cb,inout_print:()=>db,inout_print_end:()=>pb,inout_print_inline:()=>hb,inout_print_many:()=>gb,inout_type_input:()=>fb,pyinout_type_input:()=>mb});var K={};__webpack_require__.r(K),__webpack_require__.d(K,{IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>Ob,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>Rb,IOT_EMQX_PING:()=>Nb,IOT_FORMATTING:()=>Sb,IOT_FORMAT_STRING:()=>Cb,IOT_MIXIO_NTP:()=>Db,IOT_MIXIO_PUBLISH:()=>yb,IOT_MIXIO_PUBLISHEX:()=>vb,IOT_MIXIO_SUBSCRIBE:()=>bb,IOT_MIXIO_UNSUBSCRIBE:()=>Tb,iot_mixio_check:()=>wb,iot_mixio_connect:()=>_b,iot_mixio_connect_only:()=>Eb,iot_mixio_disconnect:()=>xb,iot_mixio_format_msg:()=>Ab,iot_mixio_format_topic:()=>Ib,iot_mixly_key:()=>Mb,iot_mixly_key_py:()=>kb});var Z={};__webpack_require__.r(Z),__webpack_require__.d(Z,{pins_analog_read:()=>$b,pins_analog_write:()=>Bb,pins_digital:()=>Fb,pins_digital_read:()=>Pb,pins_digital_write:()=>Lb});var Q={};__webpack_require__.r(Q),__webpack_require__.d(Q,{serial_close:()=>jb,serial_open:()=>Ub,serial_read_b:()=>zb,serial_write:()=>Vb});var J={};__webpack_require__.r(J),__webpack_require__.d(J,{sklearn_DecisionTreeClassifier_Regressor:()=>Jb,sklearn_GaussianNB:()=>nT,sklearn_KMeans:()=>sT,sklearn_KMeans_fit:()=>oT,sklearn_KNeighborsClassifier_Regressor:()=>tT,sklearn_LinearRegression:()=>Zb,sklearn_RandomForestClassifier_Regressor:()=>eT,sklearn_Ridge:()=>Qb,sklearn_cluster_centers_labels_inertia:()=>pT,sklearn_coef_intercept:()=>hT,sklearn_data_target:()=>Xb,sklearn_fit:()=>aT,sklearn_fit_no_target:()=>lT,sklearn_load:()=>Wb,sklearn_make_blobs:()=>Hb,sklearn_make_classification:()=>Yb,sklearn_make_regression:()=>Gb,sklearn_pca:()=>iT,sklearn_pca_fit_transform:()=>rT,sklearn_predict:()=>uT,sklearn_save_load_model:()=>fT,sklearn_score:()=>cT,sklearn_score_no_target:()=>dT,sklearn_train_test_split:()=>qb,sklearn_train_test_split_no_target:()=>Kb});var ee={};__webpack_require__.r(ee),__webpack_require__.d(ee,{controls_end_program:()=>gT,controls_millis:()=>mT,time_localtime:()=>_T});var te={};__webpack_require__.r(te),__webpack_require__.d(te,{turtle_bgcolor:()=>BT,turtle_bgcolor_hex:()=>jT,turtle_bgcolor_hex_new:()=>HT,turtle_circle:()=>DT,turtle_circle_advanced:()=>LT,turtle_clear:()=>CT,turtle_clone:()=>zT,turtle_color:()=>KT,turtle_color_hex:()=>qT,turtle_color_seclet:()=>rx,turtle_create:()=>yT,turtle_done:()=>vT,turtle_exitonclick:()=>bT,turtle_fill:()=>MT,turtle_fillcolor:()=>VT,turtle_fillcolor_hex:()=>GT,turtle_fillcolor_hex_new:()=>XT,turtle_getscreen:()=>sx,turtle_goto:()=>IT,turtle_listen:()=>ux,turtle_move:()=>TT,turtle_numinput:()=>ex,turtle_onclick:()=>ax,turtle_onkey:()=>ox,turtle_ontimer:()=>lx,turtle_pencolor:()=>UT,turtle_pencolor_hex:()=>YT,turtle_pencolor_hex_new:()=>WT,turtle_penup:()=>OT,turtle_pos_shape:()=>AT,turtle_rotate:()=>xT,turtle_screen_delay:()=>wT,turtle_screen_savefig:()=>cx,turtle_setheading:()=>ET,turtle_setxy:()=>FT,turtle_shape:()=>ZT,turtle_shapesize:()=>QT,turtle_size:()=>RT,turtle_size_speed:()=>kT,turtle_speed:()=>NT,turtle_stamp:()=>ST,turtle_textinput:()=>JT,turtle_tracer:()=>$T,turtle_visible:()=>PT,turtle_write:()=>tx,turtle_write_format:()=>nx,turtle_write_format_skulpt:()=>ix});var ne={};__webpack_require__.r(ne),__webpack_require__.d(ne,{sklearn_LinearRegression:()=>dx});var ie={};__webpack_require__.r(ie),__webpack_require__.d(ie,{sklearn_LinearRegression:()=>hx});var re={};__webpack_require__.r(re);var se={};__webpack_require__.r(se),__webpack_require__.d(se,{tensorflow_add:()=>_x,tensorflow_compile:()=>yx,tensorflow_fit:()=>vx,tensorflow_get_loss:()=>bx,tensorflow_get_tensor_data:()=>xx,tensorflow_init_tensor:()=>fx,tensorflow_layers_dense:()=>gx,tensorflow_predict:()=>Tx,tensorflow_prepare_picture:()=>Ix,tensorflow_save_or_export_model:()=>Ex,tensorflow_sequential:()=>mx,tensorflow_use_load_model:()=>wx});var oe={};__webpack_require__.r(oe),__webpack_require__.d(oe,{BaseTransition:()=>QA,BaseTransitionPropsValidators:()=>qA,Comment:()=>JO,DeprecationTypes:()=>fk,EffectScope:()=>YE,ErrorCodes:()=>XI,ErrorTypeStrings:()=>lk,Fragment:()=>ZO,KeepAlive:()=>NS,ReactiveEffect:()=>qE,Static:()=>eM,Suspense:()=>GO,Teleport:()=>zA,Text:()=>QO,TrackOpTypes:()=>DI,Transition:()=>Ak,TransitionGroup:()=>ER,TriggerOpTypes:()=>FI,VueElement:()=>fR,assertNumber:()=>WI,callWithAsyncErrorHandling:()=>ZI,callWithErrorHandling:()=>KI,camelize:()=>rE,capitalize:()=>aE,cloneVNode:()=>bM,compatUtils:()=>pk,computed:()=>tk,createApp:()=>eN,createBlock:()=>cM,createCommentVNode:()=>EM,createElementBlock:()=>uM,createElementVNode:()=>gM,createHydrationRenderer:()=>mO,createPropsRestProxy:()=>MC,createRenderer:()=>fO,createSSRApp:()=>tN,createSlots:()=>lC,createStaticVNode:()=>xM,createTextVNode:()=>TM,createVNode:()=>_M,customRef:()=>SI,defineAsyncComponent:()=>OS,defineComponent:()=>sS,defineCustomElement:()=>dR,defineEmits:()=>yC,defineExpose:()=>vC,defineModel:()=>xC,defineOptions:()=>bC,defineProps:()=>_C,defineSSRCustomElement:()=>hR,defineSlots:()=>TC,devtools:()=>uk,effect:()=>lw,effectScope:()=>GE,getCurrentInstance:()=>NM,getCurrentScope:()=>HE,getCurrentWatcher:()=>$I,getTransitionRawChildren:()=>rS,guardReactiveProps:()=>vM,h:()=>nk,handleError:()=>QI,hasInjectionContext:()=>KC,hydrate:()=>JR,hydrateOnIdle:()=>wS,hydrateOnInteraction:()=>SS,hydrateOnMediaQuery:()=>AS,hydrateOnVisible:()=>IS,initCustomFormatter:()=>ik,initDirectivesForSSR:()=>sN,inject:()=>qC,isMemoSame:()=>sk,isProxy:()=>dI,isReactive:()=>lI,isReadonly:()=>uI,isRef:()=>gI,isRuntimeOnly:()=>GM,isShallow:()=>cI,isVNode:()=>dM,markRaw:()=>pI,mergeDefaults:()=>CC,mergeModels:()=>OC,mergeProps:()=>SM,nextTick:()=>oA,normalizeClass:()=>xE,normalizeProps:()=>EE,normalizeStyle:()=>_E,onActivated:()=>FS,onBeforeMount:()=>jS,onBeforeUnmount:()=>WS,onBeforeUpdate:()=>GS,onDeactivated:()=>LS,onErrorCaptured:()=>QS,onMounted:()=>YS,onRenderTracked:()=>ZS,onRenderTriggered:()=>KS,onScopeDispose:()=>WE,onServerPrefetch:()=>qS,onUnmounted:()=>XS,onUpdated:()=>HS,onWatcherCleanup:()=>UI,openBlock:()=>iM,popScopeId:()=>CA,provide:()=>XC,proxyRefs:()=>II,pushScopeId:()=>SA,queuePostFlushCb:()=>uA,reactive:()=>iI,readonly:()=>sI,ref:()=>_I,registerRuntimeCompiler:()=>YM,render:()=>QR,renderList:()=>aC,renderSlot:()=>uC,resolveComponent:()=>tC,resolveDirective:()=>rC,resolveDynamicComponent:()=>iC,resolveFilter:()=>hk,resolveTransitionHooks:()=>eS,setBlockTracking:()=>aM,setDevtoolsHook:()=>ck,setTransitionHooks:()=>iS,shallowReactive:()=>rI,shallowReadonly:()=>oI,shallowRef:()=>yI,ssrContextKey:()=>EO,ssrUtils:()=>dk,stop:()=>uw,toDisplayString:()=>$E,toHandlerKey:()=>lE,toHandlers:()=>dC,toRaw:()=>hI,toRef:()=>kI,toRefs:()=>CI,toValue:()=>EI,transformVNodeArgs:()=>pM,triggerRef:()=>TI,unref:()=>xI,useAttrs:()=>IC,useCssModule:()=>_R,useCssVars:()=>Gk,useHost:()=>mR,useId:()=>oS,useModel:()=>RO,useSSRContext:()=>wO,useShadowRoot:()=>gR,useSlots:()=>wC,useTemplateRef:()=>lS,useTransitionState:()=>WA,vModelCheckbox:()=>RR,vModelDynamic:()=>$R,vModelRadio:()=>DR,vModelSelect:()=>FR,vModelText:()=>kR,vShow:()=>zk,version:()=>ok,warn:()=>ak,watch:()=>CO,watchEffect:()=>IO,watchPostEffect:()=>AO,watchSyncEffect:()=>SO,withAsyncContext:()=>kC,withCtx:()=>MA,withDefaults:()=>EC,withDirectives:()=>kA,withKeys:()=>HR,withMemo:()=>rk,withModifiers:()=>YR,withScopeId:()=>OA});var ae={};__webpack_require__.r(ae),__webpack_require__.d(ae,{COPYFILE_EXCL:()=>FP,COPYFILE_FICLONE:()=>LP,COPYFILE_FICLONE_FORCE:()=>PP,F_OK:()=>kP,O_APPEND:()=>GP,O_CREAT:()=>VP,O_DIRECT:()=>QP,O_DIRECTORY:()=>HP,O_DSYNC:()=>KP,O_EXCL:()=>zP,O_NOATIME:()=>WP,O_NOCTTY:()=>jP,O_NOFOLLOW:()=>XP,O_NONBLOCK:()=>JP,O_RDONLY:()=>BP,O_RDWR:()=>UP,O_SYMLINK:()=>ZP,O_SYNC:()=>qP,O_TRUNC:()=>YP,O_WRONLY:()=>$P,R_OK:()=>RP,S_IFBLK:()=>rB,S_IFCHR:()=>oB,S_IFDIR:()=>sB,S_IFIFO:()=>aB,S_IFLNK:()=>nB,S_IFMT:()=>eB,S_IFREG:()=>iB,S_IFSOCK:()=>tB,S_IRGRP:()=>gB,S_IROTH:()=>bB,S_IRUSR:()=>hB,S_IRWXG:()=>mB,S_IRWXO:()=>vB,S_IRWXU:()=>dB,S_ISGID:()=>uB,S_ISUID:()=>lB,S_ISVTX:()=>cB,S_IWGRP:()=>_B,S_IWOTH:()=>TB,S_IWUSR:()=>pB,S_IXGRP:()=>yB,S_IXOTH:()=>xB,S_IXUSR:()=>fB,UV_FS_O_FILEMAP:()=>EB,W_OK:()=>NP,X_OK:()=>DP,size_max:()=>wB});var le={};__webpack_require__.r(le),__webpack_require__.d(le,{FileHandle:()=>WU,access:()=>vV,appendFile:()=>rV,chmod:()=>pV,chown:()=>dV,constants:()=>ae,copyFile:()=>xV,cp:()=>wV,exists:()=>qU,lchmod:()=>fV,lchown:()=>hV,link:()=>lV,lstat:()=>ZU,lutimes:()=>gV,mkdir:()=>oV,mkdtemp:()=>TV,open:()=>tV,opendir:()=>EV,readFile:()=>nV,readdir:()=>aV,readlink:()=>cV,realpath:()=>_V,rename:()=>XU,rm:()=>bV,rmdir:()=>sV,stat:()=>KU,statfs:()=>IV,symlink:()=>uV,truncate:()=>QU,unlink:()=>JU,utimes:()=>mV,watch:()=>yV,writeFile:()=>iV});var ue={};__webpack_require__.r(ue),__webpack_require__.d(ue,{BigIntStatsFs:()=>kB,Dir:()=>VU,Dirent:()=>UU,ReadStream:()=>jU,Stats:()=>CB,StatsFs:()=>MB,WriteStream:()=>YU,_synced:()=>L$,access:()=>oz,accessSync:()=>kU,appendFile:()=>LV,appendFileSync:()=>aU,chmod:()=>tz,chmodSync:()=>AU,chown:()=>JV,chownSync:()=>wU,chroot:()=>V$,close:()=>BV,closeSync:()=>uU,constants:()=>ae,copyFile:()=>mz,copyFileSync:()=>DU,cp:()=>vz,cpSync:()=>BU,createReadStream:()=>dz,createWriteStream:()=>hz,exists:()=>CV,existsSync:()=>K$,fchmod:()=>GV,fchmodSync:()=>gU,fchown:()=>YV,fchownSync:()=>mU,fdatasync:()=>VV,fdatasyncSync:()=>hU,fstat:()=>PV,fstatSync:()=>lU,fsync:()=>UV,fsyncSync:()=>dU,ftruncate:()=>$V,ftruncateSync:()=>cU,futimes:()=>HV,futimesSync:()=>_U,lchmod:()=>nz,lchmodSync:()=>SU,lchown:()=>ez,lchownSync:()=>IU,link:()=>KV,linkSync:()=>TU,lopenSync:()=>iU,lstat:()=>MV,lstatSync:()=>Q$,lutimes:()=>rz,lutimesSync:()=>OU,mkdir:()=>XV,mkdirSync:()=>vU,mkdtemp:()=>fz,mkdtempSync:()=>NU,mount:()=>N$,mountObject:()=>$$,mounts:()=>R$,open:()=>NV,openAsBlob:()=>Tz,openSync:()=>nU,opendir:()=>yz,opendirSync:()=>PU,promises:()=>le,read:()=>jV,readFile:()=>DV,readFileSync:()=>sU,readSync:()=>fU,readdir:()=>qV,readdirSync:()=>bU,readlink:()=>QV,readlinkSync:()=>EU,readv:()=>gz,readvSync:()=>FU,realpath:()=>sz,realpathSync:()=>MU,rename:()=>SV,renameSync:()=>q$,rm:()=>pz,rmSync:()=>RU,rmdir:()=>WV,rmdirSync:()=>yU,stat:()=>OV,statSync:()=>Z$,statfs:()=>bz,statfsSync:()=>$U,symlink:()=>ZV,symlinkSync:()=>xU,truncate:()=>kV,truncateSync:()=>J$,umount:()=>D$,unlink:()=>RV,unlinkSync:()=>eU,unwatchFile:()=>uz,utimes:()=>iz,utimesSync:()=>CU,watch:()=>cz,watchFile:()=>lz,write:()=>zV,writeFile:()=>FV,writeFileSync:()=>oU,writeSync:()=>pU,writev:()=>_z,writevSync:()=>LU});var ce={};__webpack_require__.r(ce),__webpack_require__.d(ce,{maxNorm:()=>X9,minMaxNorm:()=>Z9,nonNeg:()=>K9,unitNorm:()=>q9});var de={};__webpack_require__.r(de),__webpack_require__.d(de,{constant:()=>e7,glorotNormal:()=>a7,glorotUniform:()=>o7,heNormal:()=>l7,heUniform:()=>u7,identity:()=>r7,leCunNormal:()=>c7,leCunUniform:()=>d7,ones:()=>J9,orthogonal:()=>h7,randomNormal:()=>n7,randomUniform:()=>t7,truncatedNormal:()=>i7,varianceScaling:()=>s7,zeros:()=>Q9});var he={};__webpack_require__.r(he),__webpack_require__.d(he,{Layer:()=>S9,RNN:()=>Fte,RNNCell:()=>Lte,activation:()=>mie,add:()=>wie,alphaDropout:()=>fre,average:()=>Iie,averagePooling1d:()=>Die,averagePooling2d:()=>Pie,averagePooling3d:()=>Uie,avgPool1d:()=>Fie,avgPool2d:()=>Bie,avgPool3d:()=>Vie,avgPooling1d:()=>Lie,avgPooling2d:()=>$ie,avgPooling3d:()=>zie,batchNormalization:()=>kie,bidirectional:()=>ore,categoryEncoding:()=>vre,centerCrop:()=>_re,concatenate:()=>Aie,conv1d:()=>oie,conv2d:()=>aie,conv2dTranspose:()=>lie,conv3d:()=>uie,conv3dTranspose:()=>cie,convLstm2d:()=>nre,convLstm2dCell:()=>ire,cropping2D:()=>hie,dense:()=>gie,depthwiseConv2d:()=>fie,dot:()=>Mie,dropout:()=>_ie,elu:()=>eie,embedding:()=>Eie,flatten:()=>vie,gaussianDropout:()=>pre,gaussianNoise:()=>hre,globalAveragePooling1d:()=>jie,globalAveragePooling2d:()=>Yie,globalMaxPool1d:()=>lre,globalMaxPool2d:()=>ure,globalMaxPooling1d:()=>Gie,globalMaxPooling2d:()=>Hie,gru:()=>Kie,gruCell:()=>Zie,input:()=>Ree,inputLayer:()=>Jne,layerNormalization:()=>Rie,leakyReLU:()=>nie,lstm:()=>Qie,lstmCell:()=>Jie,masking:()=>mre,maxPool1d:()=>cre,maxPool2d:()=>dre,maxPooling1d:()=>Wie,maxPooling2d:()=>Xie,maxPooling3d:()=>qie,maximum:()=>Sie,minimum:()=>Cie,multiply:()=>Oie,permute:()=>xie,prelu:()=>iie,randomWidth:()=>bre,reLU:()=>tie,repeatVector:()=>bie,rescaling:()=>gre,reshape:()=>Tie,resizing:()=>yre,rnn:()=>rre,separableConv2d:()=>die,simpleRNN:()=>ere,simpleRNNCell:()=>tre,softmax:()=>rie,spatialDropout1d:()=>yie,stackedRNNCells:()=>sre,thresholdedReLU:()=>sie,timeDistributed:()=>are,upSampling2d:()=>pie,zeroPadding2d:()=>Nie});var pe={};__webpack_require__.r(pe),__webpack_require__.d(pe,{MAPE:()=>kre,MSE:()=>Dre,binaryAccuracy:()=>Tre,binaryCrossentropy:()=>xre,categoricalAccuracy:()=>wre,categoricalCrossentropy:()=>Ire,cosineProximity:()=>Cre,mape:()=>Rre,meanAbsoluteError:()=>Ore,meanAbsolutePercentageError:()=>Mre,meanSquaredError:()=>Nre,mse:()=>Fre,precision:()=>Are,r2Score:()=>Lre,recall:()=>Sre,sparseCategoricalAccuracy:()=>Ere});var fe={};__webpack_require__.r(fe),__webpack_require__.d(fe,{modelFromJSON:()=>See});var me={};__webpack_require__.r(me),__webpack_require__.d(me,{l1:()=>Bre,l1l2:()=>Pre,l2:()=>$re});var ge={};__webpack_require__.r(ge),__webpack_require__.d(ge,{json:()=>sse});var _e={};__webpack_require__.r(_e),__webpack_require__.d(_e,{json:()=>ose});var ye={};__webpack_require__.r(ye),__webpack_require__.d(ye,{json:()=>ase});var ve={};__webpack_require__.r(ve),__webpack_require__.d(ve,{json:()=>lse});var be={};__webpack_require__.r(be),__webpack_require__.d(be,{json:()=>use});var Te={};__webpack_require__.r(Te),__webpack_require__.d(Te,{json:()=>cse});var xe={};__webpack_require__.r(xe),__webpack_require__.d(xe,{json:()=>dse});var Ee={};__webpack_require__.r(Ee),__webpack_require__.d(Ee,{json:()=>hse});var we={};__webpack_require__.r(we),__webpack_require__.d(we,{json:()=>pse});var Ie={};__webpack_require__.r(Ie),__webpack_require__.d(Ie,{json:()=>fse});var Ae={};__webpack_require__.r(Ae),__webpack_require__.d(Ae,{json:()=>mse});var Se={};__webpack_require__.r(Se),__webpack_require__.d(Se,{json:()=>gse});var Ce={};__webpack_require__.r(Ce),__webpack_require__.d(Ce,{json:()=>_se});var Oe={};__webpack_require__.r(Oe),__webpack_require__.d(Oe,{json:()=>yse});var Me={};__webpack_require__.r(Me),__webpack_require__.d(Me,{json:()=>vse});var ke={};__webpack_require__.r(ke),__webpack_require__.d(ke,{json:()=>bse});var Re={};__webpack_require__.r(Re),__webpack_require__.d(Re,{json:()=>Tse});var Ne={};__webpack_require__.r(Ne),__webpack_require__.d(Ne,{json:()=>xse});var De={};__webpack_require__.r(De),__webpack_require__.d(De,{json:()=>Ese});var Fe={};__webpack_require__.r(Fe),__webpack_require__.d(Fe,{OP_SCOPE_SUFFIX:()=>Use.BTT,abs:()=>Use.tnl,acos:()=>Use.HQu,acosh:()=>Use.FqL,add:()=>Use.WQq,addN:()=>Use.QiD,all:()=>Use.Q7R,any:()=>Use.bzn,argMax:()=>Use.FLi,argMin:()=>Use.XRg,asin:()=>Use.qRo,asinh:()=>Use.yHs,atan:()=>Use.rYl,atan2:()=>Use.FPz,atanh:()=>Use.rfv,avgPool:()=>Use.$jT,avgPool3d:()=>Use.sub,basicLSTMCell:()=>Use.lZX,batchNorm:()=>Use.$v7,batchNorm2d:()=>Use.BFc,batchNorm3d:()=>Use.kSi,batchNorm4d:()=>Use.T5N,batchToSpaceND:()=>Use.GTe,bincount:()=>Use.HbZ,bitwiseAnd:()=>Use.vjT,booleanMaskAsync:()=>Use.ftb,broadcastArgs:()=>Use.ROE,broadcastTo:()=>Use.hOW,buffer:()=>Use.ra8,cast:()=>Use.wgE,ceil:()=>Use.mkO,clipByValue:()=>Use.zQh,clone:()=>Use.o8B,complex:()=>Use.faB,concat:()=>Use.xWs,concat1d:()=>Use.I1m,concat2d:()=>Use.RPU,concat3d:()=>Use.O5O,concat4d:()=>Use.P1l,conv1d:()=>Use.kA9,conv2d:()=>Use.Xtf,conv2dTranspose:()=>Use.wX9,conv3d:()=>Use.IPL,conv3dTranspose:()=>Use.jIJ,cos:()=>Use.gnS,cosh:()=>Use.yIG,cosineWindow:()=>Use._jP,cumprod:()=>Use.Lp0,cumsum:()=>Use.rCv,denseBincount:()=>Use.aOp,depthToSpace:()=>Use.Rj8,depthwiseConv2d:()=>Use.Gl3,diag:()=>Use.smy,dilation2d:()=>Use.X7t,div:()=>Use.y4m,divNoNan:()=>Use.ek5,dot:()=>Use.Omf,dropout:()=>Use.EZY,einsum:()=>Use._3C,elu:()=>Use.Pqc,enclosingPowerOfTwo:()=>Use.FJY,ensureShape:()=>Use.QP2,equal:()=>Use.LCg,erf:()=>Use.Y12,euclideanNorm:()=>Use.p4S,exp:()=>Use.oNF,expandDims:()=>Use.UG6,expm1:()=>Use.IYd,eye:()=>Use.y5U,fft:()=>Use.hVP,fill:()=>Use.GSj,floor:()=>Use.RIf,floorDiv:()=>Use.wh_,fused:()=>Use.cZk,gather:()=>Use.kgh,gatherND:()=>Use.SY9,greater:()=>Use.rhj,greaterEqual:()=>Use.DQN,ifft:()=>Use.KGM,imag:()=>Use.ngS,image:()=>Use.Slp,inTopKAsync:()=>Use.U4u,irfft:()=>Use.ggX,isFinite:()=>Use.MIs,isInf:()=>Use.EN4,isNaN:()=>Use.yrW,leakyRelu:()=>Use.H8d,less:()=>Use.M7h,lessEqual:()=>Use.InN,linalg:()=>Use.mPL,linspace:()=>Use.mT8,localResponseNormalization:()=>Use.Kgs,log:()=>Use.Rm2,log1p:()=>Use.Kko,logSigmoid:()=>Use.nqI,logSoftmax:()=>Use.HPB,logSumExp:()=>Use.VZ,logicalAnd:()=>Use.n76,logicalNot:()=>Use.NSZ,logicalOr:()=>Use.ztW,logicalXor:()=>Use.rxB,losses:()=>Use.YYh,lowerBound:()=>Use.yzS,matMul:()=>Use.NoW,max:()=>Use.T9B,maxPool:()=>Use.jgi,maxPool3d:()=>Use.NYV,maxPoolWithArgmax:()=>Use.RO,maximum:()=>Use.PhQ,mean:()=>Use.i2o,meshgrid:()=>Use.OYQ,min:()=>Use.jkA,minimum:()=>Use.BpO,mirrorPad:()=>Use.FFZ,mod:()=>Use.ziu,moments:()=>Use.Clk,movingAverage:()=>Use.CRk,mul:()=>Use.lKK,multiRNNCell:()=>Use.YDF,multinomial:()=>Use.OjQ,neg:()=>Use.HZy,norm:()=>Use.xbf,notEqual:()=>Use.Ec,oneHot:()=>Use.Mw0,ones:()=>Use.SaS,onesLike:()=>Use.P61,op:()=>Use.op,outerProduct:()=>Use.X4o,pad:()=>Use.eVF,pad1d:()=>Use.BZs,pad2d:()=>Use.grY,pad3d:()=>Use.XHu,pad4d:()=>Use.WLX,pool:()=>Use.dzn,pow:()=>Use.n7C,prelu:()=>Use.NsG,print:()=>Use.yyV,prod:()=>Use._eU,raggedGather:()=>Use.whe,raggedRange:()=>Use.iyU,raggedTensorToTensor:()=>Use.Q0_,rand:()=>Use._9M,randomGamma:()=>Use.pR9,randomNormal:()=>Use.FE$,randomStandardNormal:()=>Use.m0H,randomUniform:()=>Use.YeY,randomUniformInt:()=>Use.HYA,range:()=>Use.y17,real:()=>Use.xav,reciprocal:()=>Use.VOZ,relu:()=>Use.VVh,relu6:()=>Use.j__,reshape:()=>Use.tQQ,reverse:()=>Use.BEg,reverse1d:()=>Use.QD2,reverse2d:()=>Use.LMr,reverse3d:()=>Use.I2l,reverse4d:()=>Use.JYU,rfft:()=>Use.z8$,round:()=>Use.LIG,rsqrt:()=>Use.Z$r,scalar:()=>Use.d_2,scatterND:()=>Use.NFr,searchSorted:()=>Use.sZg,selu:()=>Use.WfX,separableConv2d:()=>Use.wdz,setdiff1dAsync:()=>Use.F12,sigmoid:()=>Use.ry7,sign:()=>Use._SZ,signal:()=>Use.vPA,sin:()=>Use.F8e,sinh:()=>Use.L0l,slice:()=>Use.dik,slice1d:()=>Use.Q$M,slice2d:()=>Use.zAd,slice3d:()=>Use.wck,slice4d:()=>Use.R0O,softmax:()=>Use.Vs9,softplus:()=>Use.lw0,spaceToBatchND:()=>Use.eDJ,sparse:()=>Use.lMo,sparseToDense:()=>Use.Zhr,spectral:()=>Use.lOn,split:()=>Use.lDo,sqrt:()=>Use.RZD,square:()=>Use.EwI,squaredDifference:()=>Use.Pbu,squeeze:()=>Use.r2V,stack:()=>Use.t$z,step:()=>Use.PMw,stridedSlice:()=>Use.Ym9,string:()=>Use.YjP,sub:()=>Use.jbE,sum:()=>Use.czq,tan:()=>Use.Mlm,tanh:()=>Use.ymU,tensor:()=>Use.OEK,tensor1d:()=>Use.tGX,tensor2d:()=>Use.KtR,tensor3d:()=>Use.$_$,tensor4d:()=>Use.g9W,tensor5d:()=>Use.Lpo,tensor6d:()=>Use.yxw,tensorScatterUpdate:()=>Use.NNh,tile:()=>Use.Vsq,topk:()=>Use.rfw,transpose:()=>Use.mgz,truncatedNormal:()=>Use.efE,unique:()=>Use.AmM,unsortedSegmentSum:()=>Use.zAU,unstack:()=>Use.K$i,upperBound:()=>Use.rni,variable:()=>Use.bvq,where:()=>Use._M9,whereAsync:()=>Use.YJN,zeros:()=>Use.Ul9,zerosLike:()=>Use.POl});var Le={};__webpack_require__.r(Le),__webpack_require__.d(Le,{CSVDataset:()=>aae,Dataset:()=>qoe,FileDataSource:()=>bae,TextLineDataset:()=>eae,URLDataSource:()=>Tae,array:()=>Zoe,csv:()=>xae,func:()=>Eae,generator:()=>wae,microphone:()=>Aae,version_data:()=>Sae,webcam:()=>Iae,zip:()=>Qoe});var Pe={};__webpack_require__.r(Pe),__webpack_require__.d(Pe,{addImpl:()=>Hae,bincountImpl:()=>Kae,bincountReduceImpl:()=>Zae,bitwiseAndImpl:()=>Qae,castImpl:()=>Vae,ceilImpl:()=>rle,concatImpl:()=>ale,equalImpl:()=>lle,expImpl:()=>dle,expm1Impl:()=>fle,floorDivImpl:()=>ble,floorImpl:()=>_le,gatherNdImpl:()=>Ele,gatherV2Impl:()=>wle,greaterEqualImpl:()=>Cle,greaterImpl:()=>Ile,lessEqualImpl:()=>Dle,lessImpl:()=>kle,linSpaceImpl:()=>Ple,logImpl:()=>Ble,maxImpl:()=>Vle,maximumImpl:()=>zle,minimumImpl:()=>Gle,multiplyImpl:()=>Xle,negImpl:()=>Qle,notEqualImpl:()=>eue,prodImpl:()=>oue,raggedGatherImpl:()=>due,raggedRangeImpl:()=>pue,raggedTensorToTensorImpl:()=>yue,rangeImpl:()=>vue,rsqrtImpl:()=>bue,scatterImpl:()=>Eue,sigmoidImpl:()=>wue,simpleAbsImpl:()=>kae,sliceImpl:()=>Sue,sparseFillEmptyRowsImpl:()=>Mue,sparseReshapeImpl:()=>kue,sparseSegmentReductionImpl:()=>Rue,sqrtImpl:()=>Nue,squaredDifferenceImpl:()=>Lue,staticRegexReplaceImpl:()=>$ue,stridedSliceImpl:()=>zue,stringNGramsImpl:()=>Yue,stringSplitImpl:()=>Hue,stringToHashBucketFastImpl:()=>Wue,subImpl:()=>Xue,tileImpl:()=>Que,topKImpl:()=>tce,transposeImpl:()=>iue,uniqueImpl:()=>nce});var Be={};__webpack_require__.r(Be),__webpack_require__.d(Be,{assertNotComplex:()=>yme,bindCanvasToFramebuffer:()=>Hfe,bindColorTextureToFramebuffer:()=>Wfe,bindTextureToProgramUniformSampler:()=>Gfe,bindTextureUnit:()=>Vfe,bindVertexBufferToProgramAttribute:()=>Ufe,callAndCheck:()=>Tfe,canBeRepresented:()=>wfe,createFragmentShader:()=>Cfe,createFramebuffer:()=>$fe,createProgram:()=>kfe,createStaticIndexBuffer:()=>Ffe,createStaticVertexBuffer:()=>Dfe,createTexture:()=>Pfe,createVertexShader:()=>Sfe,getBatchDim:()=>Jfe,getExtensionOrThrow:()=>Afe,getFramebufferErrorMessage:()=>Kfe,getMaxTexturesInShader:()=>cme,getNumChannels:()=>Lfe,getProgramUniformLocation:()=>Yfe,getProgramUniformLocationOrThrow:()=>jfe,getRowsCols:()=>eme,getShapeAs3D:()=>tme,getTextureShapeFromLogicalShape:()=>nme,getWebGLDisjointQueryTimerVersion:()=>dme,getWebGLErrorMessage:()=>Ife,getWebGLMaxTextureSize:()=>ame,hasExtension:()=>hme,isCapableOfRenderingToFloatTexture:()=>fme,isDownloadFloatTextureEnabled:()=>mme,isReshapeFree:()=>rme,isWebGLFenceEnabled:()=>_me,isWebGLVersionEnabled:()=>pme,linkProgram:()=>Rfe,logShaderSourceAndInfoLog:()=>Mfe,resetMaxTextureSize:()=>lme,resetMaxTexturesInShader:()=>ume,unbindColorTextureFromFramebuffer:()=>Xfe,unbindTextureUnit:()=>zfe,validateFramebuffer:()=>qfe,validateProgram:()=>Nfe,validateTextureSize:()=>Bfe});var $e={};__webpack_require__.r($e),__webpack_require__.d($e,{bindVertexProgramAttributeStreams:()=>dge,createBufferFromOutputTexture:()=>fge,createFloat16MatrixTexture:()=>rge,createFloat16PackedMatrixTexture:()=>cge,createFloat32MatrixTexture:()=>nge,createIndexBuffer:()=>Jme,createPackedMatrixTexture:()=>lge,createUnsignedBytesMatrixTexture:()=>oge,createVertexBuffer:()=>Qme,createVertexShader:()=>Zme,downloadByteEncodedFloatMatrixFromOutputTexture:()=>gge,downloadFloat32MatrixFromBuffer:()=>mge,downloadMatrixFromPackedOutputTexture:()=>yge,downloadPackedMatrixFromBuffer:()=>_ge,getInternalFormatForFloat16MatrixTexture:()=>ige,getInternalFormatForFloat16PackedMatrixTexture:()=>uge,getInternalFormatForFloat32MatrixTexture:()=>tge,getInternalFormatForPackedMatrixTexture:()=>age,getInternalFormatForUnsignedBytesMatrixTexture:()=>sge,uploadDenseMatrixToTexture:()=>hge,uploadPixelDataToTexture:()=>pge});var Ue={};__webpack_require__.r(Ue),__webpack_require__.d(Ue,{Abs:()=>p3.Abs,Acos:()=>p3.Acos,Acosh:()=>p3.Acosh,AdadeltaOptimizer:()=>p3.AdadeltaOptimizer,AdagradOptimizer:()=>p3.AdagradOptimizer,AdamOptimizer:()=>p3.AdamOptimizer,AdamaxOptimizer:()=>p3.AdamaxOptimizer,Add:()=>p3.Add,AddN:()=>p3.AddN,All:()=>p3.All,Any:()=>p3.Any,ArgMax:()=>p3.ArgMax,ArgMin:()=>p3.ArgMin,Asin:()=>p3.Asin,Asinh:()=>p3.Asinh,Atan:()=>p3.Atan,Atan2:()=>p3.Atan2,Atanh:()=>p3.Atanh,AvgPool:()=>p3.AvgPool,AvgPool3D:()=>p3.AvgPool3D,AvgPool3DGrad:()=>p3.AvgPool3DGrad,AvgPoolGrad:()=>p3.AvgPoolGrad,BatchMatMul:()=>p3.BatchMatMul,BatchToSpaceND:()=>p3.BatchToSpaceND,Bincount:()=>p3.Bincount,BitwiseAnd:()=>p3.BitwiseAnd,BroadcastArgs:()=>p3.BroadcastArgs,BroadcastTo:()=>p3.BroadcastTo,Callback:()=>Ure,CallbackList:()=>_7,Cast:()=>p3.Cast,Ceil:()=>p3.Ceil,ClipByValue:()=>p3.ClipByValue,Complex:()=>p3.Complex,ComplexAbs:()=>p3.ComplexAbs,Concat:()=>p3.Concat,Conv2D:()=>p3.Conv2D,Conv2DBackpropFilter:()=>p3.Conv2DBackpropFilter,Conv2DBackpropInput:()=>p3.Conv2DBackpropInput,Conv3D:()=>p3.Conv3D,Conv3DBackpropFilterV2:()=>p3.Conv3DBackpropFilterV2,Conv3DBackpropInputV2:()=>p3.Conv3DBackpropInputV2,Cos:()=>p3.Cos,Cosh:()=>p3.Cosh,CropAndResize:()=>p3.CropAndResize,Cumprod:()=>p3.Cumprod,Cumsum:()=>p3.Cumsum,CustomCallback:()=>b7,DataStorage:()=>p3.DataStorage,DenseBincount:()=>p3.DenseBincount,DepthToSpace:()=>p3.DepthToSpace,DepthwiseConv2dNative:()=>p3.DepthwiseConv2dNative,DepthwiseConv2dNativeBackpropFilter:()=>p3.DepthwiseConv2dNativeBackpropFilter,DepthwiseConv2dNativeBackpropInput:()=>p3.DepthwiseConv2dNativeBackpropInput,Diag:()=>p3.Diag,Dilation2D:()=>p3.Dilation2D,Dilation2DBackpropFilter:()=>p3.Dilation2DBackpropFilter,Dilation2DBackpropInput:()=>p3.Dilation2DBackpropInput,Draw:()=>p3.Draw,ENV:()=>p3.ENV,EarlyStopping:()=>jre,Einsum:()=>p3.Einsum,Elu:()=>p3.Elu,EluGrad:()=>p3.EluGrad,Environment:()=>p3.Environment,Equal:()=>p3.Equal,Erf:()=>p3.Erf,Exp:()=>p3.Exp,ExpandDims:()=>p3.ExpandDims,Expm1:()=>p3.Expm1,FFT:()=>p3.FFT,Fill:()=>p3.Fill,FlipLeftRight:()=>p3.FlipLeftRight,Floor:()=>p3.Floor,FloorDiv:()=>p3.FloorDiv,FromPixels:()=>p3.FromPixels,FusedBatchNorm:()=>p3.FusedBatchNorm,FusedConv2D:()=>p3.FusedConv2D,FusedDepthwiseConv2D:()=>p3.FusedDepthwiseConv2D,GPGPUContext:()=>vge,GatherNd:()=>p3.GatherNd,GatherV2:()=>p3.GatherV2,GraphModel:()=>poe,Greater:()=>p3.Greater,GreaterEqual:()=>p3.GreaterEqual,History:()=>v7,IFFT:()=>p3.IFFT,Identity:()=>p3.Identity,Imag:()=>p3.Imag,InputSpec:()=>x9,IsFinite:()=>p3.IsFinite,IsInf:()=>p3.IsInf,IsNan:()=>p3.IsNan,KernelBackend:()=>p3.KernelBackend,LRN:()=>p3.LRN,LRNGrad:()=>p3.LRNGrad,LayerVariable:()=>v9,LayersModel:()=>Iee,LeakyRelu:()=>p3.LeakyRelu,Less:()=>p3.Less,LessEqual:()=>p3.LessEqual,LinSpace:()=>p3.LinSpace,Log:()=>p3.Log,Log1p:()=>p3.Log1p,LogSoftmax:()=>p3.LogSoftmax,LogicalAnd:()=>p3.LogicalAnd,LogicalNot:()=>p3.LogicalNot,LogicalOr:()=>p3.LogicalOr,LogicalXor:()=>p3.LogicalXor,LowerBound:()=>p3.LowerBound,MathBackendCPU:()=>Mae,MathBackendWebGL:()=>D_e,MatrixBandPart:()=>p3.MatrixBandPart,Max:()=>p3.Max,MaxPool:()=>p3.MaxPool,MaxPool3D:()=>p3.MaxPool3D,MaxPool3DGrad:()=>p3.MaxPool3DGrad,MaxPoolGrad:()=>p3.MaxPoolGrad,MaxPoolWithArgmax:()=>p3.MaxPoolWithArgmax,Maximum:()=>p3.Maximum,Mean:()=>p3.Mean,Min:()=>p3.Min,Minimum:()=>p3.Minimum,MirrorPad:()=>p3.MirrorPad,Mod:()=>p3.Mod,MomentumOptimizer:()=>p3.MomentumOptimizer,Multinomial:()=>p3.Multinomial,Multiply:()=>p3.Multiply,Neg:()=>p3.Neg,NonMaxSuppressionV3:()=>p3.NonMaxSuppressionV3,NonMaxSuppressionV4:()=>p3.NonMaxSuppressionV4,NonMaxSuppressionV5:()=>p3.NonMaxSuppressionV5,NotEqual:()=>p3.NotEqual,OP_SCOPE_SUFFIX:()=>p3.OP_SCOPE_SUFFIX,OneHot:()=>p3.OneHot,OnesLike:()=>p3.OnesLike,Optimizer:()=>p3.Optimizer,OptimizerConstructors:()=>p3.OptimizerConstructors,Pack:()=>p3.Pack,PadV2:()=>p3.PadV2,Pool:()=>p3.Pool,Pow:()=>p3.Pow,Prelu:()=>p3.Prelu,Prod:()=>p3.Prod,RMSPropOptimizer:()=>p3.RMSPropOptimizer,RNN:()=>Fte,RaggedGather:()=>p3.RaggedGather,RaggedRange:()=>p3.RaggedRange,RaggedTensorToTensor:()=>p3.RaggedTensorToTensor,Range:()=>p3.Range,Rank:()=>p3.Rank,Real:()=>p3.Real,RealDiv:()=>p3.RealDiv,Reciprocal:()=>p3.Reciprocal,Reduction:()=>p3.Reduction,Relu:()=>p3.Relu,Relu6:()=>p3.Relu6,Reshape:()=>p3.Reshape,ResizeBilinear:()=>p3.ResizeBilinear,ResizeBilinearGrad:()=>p3.ResizeBilinearGrad,ResizeNearestNeighbor:()=>p3.ResizeNearestNeighbor,ResizeNearestNeighborGrad:()=>p3.ResizeNearestNeighborGrad,Reverse:()=>p3.Reverse,RotateWithOffset:()=>p3.RotateWithOffset,Round:()=>p3.Round,Rsqrt:()=>p3.Rsqrt,SGDOptimizer:()=>p3.SGDOptimizer,ScatterNd:()=>p3.ScatterNd,SearchSorted:()=>p3.SearchSorted,Select:()=>p3.Select,Selu:()=>p3.Selu,Sequential:()=>Oee,Sigmoid:()=>p3.Sigmoid,Sign:()=>p3.Sign,Sin:()=>p3.Sin,Sinh:()=>p3.Sinh,Slice:()=>p3.Slice,Softmax:()=>p3.Softmax,Softplus:()=>p3.Softplus,SpaceToBatchND:()=>p3.SpaceToBatchND,SparseFillEmptyRows:()=>p3.SparseFillEmptyRows,SparseReshape:()=>p3.SparseReshape,SparseSegmentMean:()=>p3.SparseSegmentMean,SparseSegmentSum:()=>p3.SparseSegmentSum,SparseToDense:()=>p3.SparseToDense,SplitV:()=>p3.SplitV,Sqrt:()=>p3.Sqrt,Square:()=>p3.Square,SquaredDifference:()=>p3.SquaredDifference,StaticRegexReplace:()=>p3.StaticRegexReplace,Step:()=>p3.Step,StridedSlice:()=>p3.StridedSlice,StringNGrams:()=>p3.StringNGrams,StringSplit:()=>p3.StringSplit,StringToHashBucketFast:()=>p3.StringToHashBucketFast,Sub:()=>p3.Sub,Sum:()=>p3.Sum,SymbolicTensor:()=>E9,Tan:()=>p3.Tan,Tanh:()=>p3.Tanh,Tensor:()=>p3.Tensor,TensorBuffer:()=>p3.TensorBuffer,TensorScatterUpdate:()=>p3.TensorScatterUpdate,Tile:()=>p3.Tile,TopK:()=>p3.TopK,Transform:()=>p3.Transform,Transpose:()=>p3.Transpose,Unique:()=>p3.Unique,Unpack:()=>p3.Unpack,UnsortedSegmentSum:()=>p3.UnsortedSegmentSum,UpperBound:()=>p3.UpperBound,Variable:()=>p3.Variable,ZerosLike:()=>p3.ZerosLike,_FusedMatMul:()=>p3._FusedMatMul,abs:()=>p3.abs,acos:()=>p3.acos,acosh:()=>p3.acosh,add:()=>p3.add,addN:()=>p3.addN,all:()=>p3.all,any:()=>p3.any,argMax:()=>p3.argMax,argMin:()=>p3.argMin,asin:()=>p3.asin,asinh:()=>p3.asinh,atan:()=>p3.atan,atan2:()=>p3.atan2,atanh:()=>p3.atanh,avgPool:()=>p3.avgPool,avgPool3d:()=>p3.avgPool3d,backend:()=>p3.backend,backend_util:()=>p3.backend_util,basicLSTMCell:()=>p3.basicLSTMCell,batchNorm:()=>p3.batchNorm,batchNorm2d:()=>p3.batchNorm2d,batchNorm3d:()=>p3.batchNorm3d,batchNorm4d:()=>p3.batchNorm4d,batchToSpaceND:()=>p3.batchToSpaceND,bincount:()=>p3.bincount,bitwiseAnd:()=>p3.bitwiseAnd,booleanMaskAsync:()=>p3.booleanMaskAsync,broadcastArgs:()=>p3.broadcastArgs,broadcastTo:()=>p3.broadcastTo,broadcast_util:()=>p3.broadcast_util,browser:()=>p3.browser,buffer:()=>p3.buffer,callbacks:()=>Yre,cast:()=>p3.cast,ceil:()=>p3.ceil,clipByValue:()=>p3.clipByValue,clone:()=>p3.clone,complex:()=>p3.complex,concat:()=>p3.concat,concat1d:()=>p3.concat1d,concat2d:()=>p3.concat2d,concat3d:()=>p3.concat3d,concat4d:()=>p3.concat4d,constraints:()=>ce,conv1d:()=>p3.conv1d,conv2d:()=>p3.conv2d,conv2dTranspose:()=>p3.conv2dTranspose,conv3d:()=>p3.conv3d,conv3dTranspose:()=>p3.conv3dTranspose,copyRegisteredKernels:()=>p3.copyRegisteredKernels,cos:()=>p3.cos,cosh:()=>p3.cosh,cosineWindow:()=>p3.cosineWindow,cumprod:()=>p3.cumprod,cumsum:()=>p3.cumsum,customGrad:()=>p3.customGrad,data:()=>Le,denseBincount:()=>p3.denseBincount,deprecationWarn:()=>p3.deprecationWarn,depthToSpace:()=>p3.depthToSpace,depthwiseConv2d:()=>p3.depthwiseConv2d,deregisterOp:()=>Kre,device_util:()=>p3.device_util,diag:()=>p3.diag,dilation2d:()=>p3.dilation2d,disableDeprecationWarnings:()=>p3.disableDeprecationWarnings,dispose:()=>p3.dispose,disposeVariables:()=>p3.disposeVariables,div:()=>p3.div,divNoNan:()=>p3.divNoNan,dot:()=>p3.dot,dropout:()=>p3.dropout,einsum:()=>p3.einsum,elu:()=>p3.elu,enableDebugMode:()=>p3.enableDebugMode,enableProdMode:()=>p3.enableProdMode,enclosingPowerOfTwo:()=>p3.enclosingPowerOfTwo,engine:()=>p3.engine,ensureShape:()=>p3.ensureShape,env:()=>p3.env,equal:()=>p3.equal,erf:()=>p3.erf,euclideanNorm:()=>p3.euclideanNorm,exp:()=>p3.exp,expandDims:()=>p3.expandDims,expm1:()=>p3.expm1,eye:()=>p3.eye,fft:()=>p3.fft,fill:()=>p3.fill,findBackend:()=>p3.findBackend,findBackendFactory:()=>p3.findBackendFactory,floor:()=>p3.floor,floorDiv:()=>p3.floorDiv,forceHalfFloat:()=>L_e,fused:()=>p3.fused,gather:()=>p3.gather,gatherND:()=>p3.gatherND,gather_util:()=>p3.gather_util,getBackend:()=>p3.getBackend,getGradient:()=>p3.getGradient,getKernel:()=>p3.getKernel,getKernelsForBackend:()=>p3.getKernelsForBackend,gpgpu_util:()=>$e,grad:()=>p3.grad,grads:()=>p3.grads,greater:()=>p3.greater,greaterEqual:()=>p3.greaterEqual,ifft:()=>p3.ifft,imag:()=>p3.imag,image:()=>p3.image,inTopKAsync:()=>p3.inTopKAsync,initializers:()=>de,input:()=>Ree,io:()=>p3.io,irfft:()=>p3.irfft,isFinite:()=>p3.isFinite,isInf:()=>p3.isInf,isNaN:()=>p3.isNaN,keep:()=>p3.keep,kernel_impls:()=>p3.kernel_impls,layers:()=>he,leakyRelu:()=>p3.leakyRelu,less:()=>p3.less,lessEqual:()=>p3.lessEqual,linalg:()=>p3.linalg,linspace:()=>p3.linspace,loadGraphModel:()=>foe,loadGraphModelSync:()=>moe,loadLayersModel:()=>Cee,localResponseNormalization:()=>p3.localResponseNormalization,log:()=>p3.log,log1p:()=>p3.log1p,logSigmoid:()=>p3.logSigmoid,logSoftmax:()=>p3.logSoftmax,logSumExp:()=>p3.logSumExp,logicalAnd:()=>p3.logicalAnd,logicalNot:()=>p3.logicalNot,logicalOr:()=>p3.logicalOr,logicalXor:()=>p3.logicalXor,losses:()=>p3.losses,lowerBound:()=>p3.lowerBound,matMul:()=>p3.matMul,math:()=>p3.math,max:()=>p3.max,maxPool:()=>p3.maxPool,maxPool3d:()=>p3.maxPool3d,maxPoolWithArgmax:()=>p3.maxPoolWithArgmax,maximum:()=>p3.maximum,mean:()=>p3.mean,memory:()=>p3.memory,meshgrid:()=>p3.meshgrid,metrics:()=>pe,min:()=>p3.min,minimum:()=>p3.minimum,mirrorPad:()=>p3.mirrorPad,mod:()=>p3.mod,model:()=>Mee,models:()=>fe,moments:()=>p3.moments,movingAverage:()=>p3.movingAverage,mul:()=>p3.mul,multiRNNCell:()=>p3.multiRNNCell,multinomial:()=>p3.multinomial,neg:()=>p3.neg,nextFrame:()=>p3.nextFrame,norm:()=>p3.norm,notEqual:()=>p3.notEqual,oneHot:()=>p3.oneHot,ones:()=>p3.ones,onesLike:()=>p3.onesLike,op:()=>p3.op,outerProduct:()=>p3.outerProduct,pad:()=>p3.pad,pad1d:()=>p3.pad1d,pad2d:()=>p3.pad2d,pad3d:()=>p3.pad3d,pad4d:()=>p3.pad4d,pool:()=>p3.pool,pow:()=>p3.pow,prelu:()=>p3.prelu,print:()=>p3.print,prod:()=>p3.prod,profile:()=>p3.profile,raggedGather:()=>p3.raggedGather,raggedRange:()=>p3.raggedRange,raggedTensorToTensor:()=>p3.raggedTensorToTensor,rand:()=>p3.rand,randomGamma:()=>p3.randomGamma,randomNormal:()=>p3.randomNormal,randomStandardNormal:()=>p3.randomStandardNormal,randomUniform:()=>p3.randomUniform,randomUniformInt:()=>p3.randomUniformInt,range:()=>p3.range,ready:()=>p3.ready,real:()=>p3.real,reciprocal:()=>p3.reciprocal,registerBackend:()=>p3.registerBackend,registerCallbackConstructor:()=>Nee,registerGradient:()=>p3.registerGradient,registerKernel:()=>p3.registerKernel,registerOp:()=>Xre,regularizers:()=>me,relu:()=>p3.relu,relu6:()=>p3.relu6,removeBackend:()=>p3.removeBackend,reshape:()=>p3.reshape,reverse:()=>p3.reverse,reverse1d:()=>p3.reverse1d,reverse2d:()=>p3.reverse2d,reverse3d:()=>p3.reverse3d,reverse4d:()=>p3.reverse4d,rfft:()=>p3.rfft,round:()=>p3.round,rsqrt:()=>p3.rsqrt,scalar:()=>p3.scalar,scatterND:()=>p3.scatterND,scatter_util:()=>p3.scatter_util,searchSorted:()=>p3.searchSorted,selu:()=>p3.selu,separableConv2d:()=>p3.separableConv2d,sequential:()=>kee,serialization:()=>p3.serialization,setBackend:()=>p3.setBackend,setPlatform:()=>p3.setPlatform,setWebGLContext:()=>hfe,setdiff1dAsync:()=>p3.setdiff1dAsync,shared:()=>Pe,sigmoid:()=>p3.sigmoid,sign:()=>p3.sign,signal:()=>p3.signal,sin:()=>p3.sin,sinh:()=>p3.sinh,slice:()=>p3.slice,slice1d:()=>p3.slice1d,slice2d:()=>p3.slice2d,slice3d:()=>p3.slice3d,slice4d:()=>p3.slice4d,slice_util:()=>p3.slice_util,softmax:()=>p3.softmax,softplus:()=>p3.softplus,spaceToBatchND:()=>p3.spaceToBatchND,sparse:()=>p3.sparse,sparseToDense:()=>p3.sparseToDense,spectral:()=>p3.spectral,split:()=>p3.split,sqrt:()=>p3.sqrt,square:()=>p3.square,squaredDifference:()=>p3.squaredDifference,squeeze:()=>p3.squeeze,stack:()=>p3.stack,step:()=>p3.step,stridedSlice:()=>p3.stridedSlice,string:()=>p3.string,sub:()=>p3.sub,sum:()=>p3.sum,sumOutType:()=>p3.sumOutType,tan:()=>p3.tan,tanh:()=>p3.tanh,tensor:()=>p3.tensor,tensor1d:()=>p3.tensor1d,tensor2d:()=>p3.tensor2d,tensor3d:()=>p3.tensor3d,tensor4d:()=>p3.tensor4d,tensor5d:()=>p3.tensor5d,tensor6d:()=>p3.tensor6d,tensorScatterUpdate:()=>p3.tensorScatterUpdate,tensor_util:()=>p3.tensor_util,test_util:()=>p3.test_util,tidy:()=>p3.tidy,tile:()=>p3.tile,time:()=>p3.time,topk:()=>p3.topk,train:()=>p3.train,transpose:()=>p3.transpose,truncatedNormal:()=>p3.truncatedNormal,unique:()=>p3.unique,unregisterGradient:()=>p3.unregisterGradient,unregisterKernel:()=>p3.unregisterKernel,unsortedSegmentSum:()=>p3.unsortedSegmentSum,unstack:()=>p3.unstack,upcastType:()=>p3.upcastType,upperBound:()=>p3.upperBound,util:()=>p3.util,valueAndGrad:()=>p3.valueAndGrad,valueAndGrads:()=>p3.valueAndGrads,variable:()=>p3.variable,variableGrads:()=>p3.variableGrads,version:()=>Mwe,version_converter:()=>goe,version_core:()=>p3.version_core,version_cpu:()=>ice,version_layers:()=>see,version_webgl:()=>F_e,webgl:()=>P_e,webgl_util:()=>Be,where:()=>p3.where,whereAsync:()=>p3.whereAsync,zeros:()=>p3.zeros,zerosLike:()=>p3.zerosLike});const Ve=Blockly;Object.assign(Ve.Lang.ZhHans,{PYTHON_PYODIDE_IMAGE:"图像",PYTHON_PYODIDE_TOOL:"可教机器",PYTHON_PYODIDE_GAME:"生命游戏",PYTHON_PYODIDE_GAME_EPOCH:"代数",PYTHON_PYODIDE_GAME_START:"开始",PYTHON_PYODIDE_GAME_PAUSE:"暂停",PYTHON_PYODIDE_GAME_RANDOM:"随机初始化",PYTHON_PYODIDE_GAME_RESET:"重置",PYTHON_PYODIDE_LOADING:"Python3内核载入中...",PYTHON_PYODIDE_FILE_SYSTEM:"本地文件系统",PYTHON_PYODIDE_LOAD_FILE_SYSTEM:"载入本地文件夹"}),Object.assign(Ve.Lang.ZhHant,{PYTHON_PYODIDE_IMAGE:"影像",PYTHON_PYODIDE_TOOL:"可教機器",PYTHON_PYODIDE_GAME:"生命遊戲",PYTHON_PYODIDE_GAME_EPOCH:"代數",PYTHON_PYODIDE_GAME_START:"開始",PYTHON_PYODIDE_GAME_PAUSE:"暫停",PYTHON_PYODIDE_GAME_RANDOM:"隨機初始化",PYTHON_PYODIDE_GAME_RESET:"重置",PYTHON_PYODIDE_LOADING:"Python3核心載入...",PYTHON_PYODIDE_FILE_SYSTEM:"本機檔案系統",PYTHON_PYODIDE_LOAD_FILE_SYSTEM:"載入本機資料夾"}),Object.assign(Ve.Lang.En,{PYTHON_PYODIDE_IMAGE:"Image",PYTHON_PYODIDE_TOOL:"Teachable Machine",PYTHON_PYODIDE_GAME:"Game of Life",PYTHON_PYODIDE_GAME_EPOCH:"Iterations",PYTHON_PYODIDE_GAME_START:"Start",PYTHON_PYODIDE_GAME_PAUSE:"Pause",PYTHON_PYODIDE_GAME_RANDOM:"Random Initialization",PYTHON_PYODIDE_GAME_RESET:"Reset",PYTHON_PYODIDE_LOADING:"Python3 kernel loading...",PYTHON_PYODIDE_FILE_SYSTEM:"Local File System",PYTHON_PYODIDE_LOAD_FILE_SYSTEM:"Load Local Folder"}),Object.assign(Ve.Lang.ZhHans.MSG,{}),Object.assign(Ve.Lang.ZhHant.MSG,{}),Object.assign(Ve.Lang.En.MSG,{});const ze=Mixly,je={NAME_TYPE:"VARIABLE",allVariables:function(e){var t;if(e.getDescendants)t=e.getDescendants();else{if(!e.getAllBlocks)throw"Not Block or Workspace: "+e;t=e.getAllBlocks()}for(var n=Object.create(null),i=0;i1&&(o+=i)):n=o}else n="i";return n}},Ye=je; +function Qge(e,t,n,i){return new(n||(n=Promise))(function(r,s){function o(e){try{l(i.next(e))}catch(e){s(e)}}function a(e){try{l(i.throw(e))}catch(e){s(e)}}function l(e){e.done?r(e.value):function(e){return e instanceof n?e:new n(function(t){t(e)})}(e.value).then(o,a)}l((i=i.apply(e,t||[])).next())})}var Jge,e_e='.vega-embed {\n position: relative;\n display: inline-block;\n box-sizing: border-box; }\n .vega-embed.has-actions {\n padding-right: 38px; }\n .vega-embed details:not([open]) > :not(summary) {\n display: none !important; }\n .vega-embed summary {\n list-style: none;\n position: absolute;\n top: 0;\n right: 0;\n padding: 6px;\n z-index: 1000;\n background: white;\n box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.1);\n color: #1b1e23;\n border: 1px solid #aaa;\n border-radius: 999px;\n opacity: 0.2;\n transition: opacity 0.4s ease-in;\n outline: none;\n cursor: pointer;\n line-height: 0px; }\n .vega-embed summary::-webkit-details-marker {\n display: none; }\n .vega-embed summary:active {\n box-shadow: #aaa 0px 0px 0px 1px inset; }\n .vega-embed summary svg {\n width: 14px;\n height: 14px; }\n .vega-embed details[open] summary {\n opacity: 0.7; }\n .vega-embed:hover summary,\n .vega-embed:focus summary {\n opacity: 1 !important;\n transition: opacity 0.2s ease; }\n .vega-embed .vega-actions {\n position: absolute;\n z-index: 1001;\n top: 35px;\n right: -9px;\n display: flex;\n flex-direction: column;\n padding-bottom: 8px;\n padding-top: 8px;\n border-radius: 4px;\n box-shadow: 0 2px 8px 0 rgba(0, 0, 0, 0.2);\n border: 1px solid #d9d9d9;\n background: white;\n animation-duration: 0.15s;\n animation-name: scale-in;\n animation-timing-function: cubic-bezier(0.2, 0, 0.13, 1.5);\n text-align: left; }\n .vega-embed .vega-actions a {\n padding: 8px 16px;\n font-family: sans-serif;\n font-size: 14px;\n font-weight: 600;\n white-space: nowrap;\n color: #434a56;\n text-decoration: none; }\n .vega-embed .vega-actions a:hover {\n background-color: #f7f7f9;\n color: black; }\n .vega-embed .vega-actions::before, .vega-embed .vega-actions::after {\n content: "";\n display: inline-block;\n position: absolute; }\n .vega-embed .vega-actions::before {\n left: auto;\n right: 14px;\n top: -16px;\n border: 8px solid #0000;\n border-bottom-color: #d9d9d9; }\n .vega-embed .vega-actions::after {\n left: auto;\n right: 15px;\n top: -14px;\n border: 7px solid #0000;\n border-bottom-color: #fff; }\n .vega-embed .chart-wrapper {\n width: 100%;\n height: 100%; }\n\n.vega-embed-wrapper {\n max-width: 100%;\n overflow: auto;\n padding-right: 14px; }\n\n@keyframes scale-in {\n from {\n opacity: 0;\n transform: scale(0.6); }\n to {\n opacity: 1;\n transform: scale(1); } }\n';function t_e(e,...t){for(const n of t)n_e(e,n);return e}function n_e(e,t){for(const n of Object.keys(t))Se(e,n,t[n],!0)}String.prototype.startsWith||(String.prototype.startsWith=function(e,t){return this.substr(!t||t<0?0:+t,e.length)===e});const i_e=v;let r_e=b;const s_e="undefined"!=typeof window?window:void 0;void 0===r_e&&(null===(Jge=null==s_e?void 0:s_e.vl)||void 0===Jge?void 0:Jge.compile)&&(r_e=s_e.vl);const o_e={export:{svg:!0,png:!0},source:!0,compiled:!0,editor:!0},a_e={CLICK_TO_VIEW_ACTIONS:"Click to view actions",COMPILED_ACTION:"View Compiled Vega",EDITOR_ACTION:"Open in Vega Editor",PNG_ACTION:"Save as PNG",SOURCE_ACTION:"View Source",SVG_ACTION:"Save as SVG"},l_e={vega:"Vega","vega-lite":"Vega-Lite"},u_e={vega:i_e.version,"vega-lite":r_e?r_e.version:"not available"},c_e={vega:e=>e,"vega-lite":(e,t)=>r_e.compile(e,{config:t}).spec},d_e='\n\n \n \n \n',h_e="chart-wrapper";function p_e(e,t,n,i){const r=`${t}
`,s=`
${n}`,o=window.open("");o.document.write(r+e+s),o.document.title=`${l_e[i]} JSON Source`}function f_e(e,t){var n;if(e.$schema){const i=zme(e.$schema);t&&t!==i.library&&console.warn(`The given visualization spec is written in ${l_e[i.library]}, but mode argument sets ${null!==(n=l_e[t])&&void 0!==n?n:t}.`);const r=i.library;return(0,ee.satisfies)(u_e[r],`^${i.version.slice(1)}`)||console.warn(`The input spec uses ${l_e[r]} ${i.version}, but the current version of ${l_e[r]} is v${u_e[r]}.`),r}return"mark"in e||"encoding"in e||"layer"in e||"hconcat"in e||"vconcat"in e||"facet"in e||"repeat"in e?"vega-lite":"marks"in e||"signals"in e||"scales"in e||"axes"in e?"vega":null!=t?t:"vega"}function m_e(e){return(t=e)&&"load"in t?e:i_e.loader(e);var t}function g_e(e){var t;return null!==(t=e.usermeta&&e.usermeta.embedOptions)&&void 0!==t?t:{}}function __e(e,t){var n;return Qge(this,void 0,void 0,function*(){const i=bt(e.config)?JSON.parse(yield t.load(e.config)):null!==(n=e.config)&&void 0!==n?n:{},r=bt(e.patch)?JSON.parse(yield t.load(e.patch)):e.patch;return Object.assign(Object.assign(Object.assign({},e),r?{patch:r}:{}),i?{config:i}:{})})}const y_e=function(e,t,n={}){var i,r,s;return Qge(this,void 0,void 0,function*(){let o,a;bt(t)?(a=m_e(n.loader),o=JSON.parse(yield a.load(t))):o=t;const l=g_e(o).loader;a&&!l||(a=m_e(null!==(i=n.loader)&&void 0!==i?i:l));const u=yield __e(g_e(o),a),c=yield __e(n,a),d=Object.assign(Object.assign({},t_e(c,u)),{config:Ae(null!==(r=c.config)&&void 0!==r?r:{},null!==(s=u.config)&&void 0!==s?s:{})});return yield function(e,t,n={},i){var r,s,o,a,l,u;return Qge(this,void 0,void 0,function*(){const c=n.theme?Ae(T[n.theme],null!==(r=n.config)&&void 0!==r?r:{}):n.config,d=mt(n.actions)?n.actions:t_e({},o_e,null!==(s=n.actions)&&void 0!==s?s:{}),h=Object.assign(Object.assign({},a_e),n.i18n),p=null!==(o=n.renderer)&&void 0!==o?o:"canvas",f=null!==(a=n.logLevel)&&void 0!==a?a:i_e.Warn,m=null!==(l=n.downloadFileName)&&void 0!==l?l:"visualization",g="string"==typeof e?document.querySelector(e):e;if(!g)throw new Error(`${e} does not exist`);if(!1!==n.defaultStyle){const e="vega-embed-style",{root:t,rootContainer:i}=function(e){var t;const n=e.getRootNode?e.getRootNode():document;return n instanceof ShadowRoot?{root:n,rootContainer:n}:{root:document,rootContainer:null!==(t=document.head)&&void 0!==t?t:document.body}}(g);if(!t.getElementById(e)){const t=document.createElement("style");t.id=e,t.innerText=void 0===n.defaultStyle||!0===n.defaultStyle?e_e.toString():n.defaultStyle,i.appendChild(t)}}const _=f_e(t,n.mode);let y=c_e[_](t,c);if("vega-lite"===_&&y.$schema){const e=zme(y.$schema);(0,ee.satisfies)(u_e.vega,`^${e.version.slice(1)}`)||console.warn(`The compiled spec uses Vega ${e.version}, but current version is v${u_e.vega}.`)}g.classList.add("vega-embed"),d&&g.classList.add("has-actions"),g.innerHTML="";let v=g;if(d){const e=document.createElement("div");e.classList.add(h_e),g.appendChild(e),v=e}const b=n.patch;b&&(y=b instanceof Function?b(y):$(y,b,!0,!1).newDocument),n.formatLocale&&i_e.formatLocale(n.formatLocale),n.timeFormatLocale&&i_e.timeFormatLocale(n.timeFormatLocale);const{ast:x}=n,E=i_e.parse(y,"vega-lite"===_?{}:c,{ast:x}),w=new(n.viewClass||i_e.View)(E,Object.assign({loader:i,logLevel:f,renderer:p},x?{expr:i_e.expressionInterpreter}:{}));if(!1!==n.tooltip){let e;e=function(e){return"function"==typeof e}(n.tooltip)?n.tooltip:new Zge(!0===n.tooltip?{}:n.tooltip).call,w.tooltip(e)}let I,{hover:A}=n;if(void 0===A&&(A="vega"===_),A){const{hoverSet:e,updateSet:t}="boolean"==typeof A?{}:A;w.hover(e,t)}if(n&&(null!=n.width&&w.width(n.width),null!=n.height&&w.height(n.height),null!=n.padding&&w.padding(n.padding)),yield w.initialize(v,n.bind).runAsync(),!1!==d){let e=g;if(!1!==n.defaultStyle){const t=document.createElement("details");t.title=h.CLICK_TO_VIEW_ACTIONS,g.append(t),e=t;const n=document.createElement("summary");n.innerHTML=d_e,t.append(n),I=e=>{t.contains(e.target)||t.removeAttribute("open")},document.addEventListener("click",I)}const i=document.createElement("div");if(e.append(i),i.classList.add("vega-actions"),!0===d||!1!==d.export)for(const e of["svg","png"])if(!0===d||!0===d.export||d.export[e]){const t=h[`${e.toUpperCase()}_ACTION`],r=document.createElement("a");r.text=t,r.href="#",r.target="_blank",r.download=`${m}.${e}`,r.addEventListener("mousedown",function(t){return Qge(this,void 0,void 0,function*(){t.preventDefault();const i=yield w.toImageURL(e,n.scaleFactor);this.href=i})}),i.append(r)}if(!0===d||!1!==d.source){const e=document.createElement("a");e.text=h.SOURCE_ACTION,e.href="#",e.addEventListener("click",function(e){var i,r;p_e(J()(t),null!==(i=n.sourceHeader)&&void 0!==i?i:"",null!==(r=n.sourceFooter)&&void 0!==r?r:"",_),e.preventDefault()}),i.append(e)}if("vega-lite"===_&&(!0===d||!1!==d.compiled)){const e=document.createElement("a");e.text=h.COMPILED_ACTION,e.href="#",e.addEventListener("click",function(e){var t,i;p_e(J()(y),null!==(t=n.sourceHeader)&&void 0!==t?t:"",null!==(i=n.sourceFooter)&&void 0!==i?i:"","vega"),e.preventDefault()}),i.append(e)}if(!0===d||!1!==d.editor){const e=null!==(u=n.editorUrl)&&void 0!==u?u:"https://vega.github.io/editor/",r=document.createElement("a");r.text=h.EDITOR_ACTION,r.href="#",r.addEventListener("click",function(n){!function(e,t,n){const i=e.open(t),{origin:r}=new URL(t);let s=40;e.addEventListener("message",function t(n){n.source===i&&(s=0,e.removeEventListener("message",t,!1))},!1),setTimeout(function e(){s<=0||(i.postMessage(n,r),setTimeout(e,250),s-=1)},250)}(window,e,{config:c,mode:_,renderer:p,spec:J()(t)}),n.preventDefault()}),i.append(r)}}function S(){I&&document.removeEventListener("click",I),w.finalize()}return{view:w,spec:t,vgSpec:y,finalize:S}})}(e,o,d,a)})}},66262:(e,t)=>{"use strict";t.A=(e,t)=>{const n=e.__vccOpts||e;for(const[e,i]of t)n[e]=i;return n}},26944:e=>{"use strict";e.exports=path},85817:()=>{},18590:()=>{},4530:()=>{},8108:()=>{},80551:()=>{},67425:()=>{},9496:()=>{},26786:()=>{},48884:()=>{},98001:()=>{},71613:()=>{},15312:()=>{},89032:()=>{},60574:()=>{},2672:()=>{},58215:()=>{},1417:()=>{},49391:()=>{},83220:()=>{},73985:()=>{},80032:()=>{},75650:()=>{},56644:()=>{},41234:()=>{},48487:e=>{"use strict";var t=/("(?:[^\\"]|\\.)*")|[:,]/g;e.exports=function(e,n){var i,r,s;return n=n||{},i=JSON.stringify([1],void 0,void 0===n.indent?2:n.indent).slice(2,-3),r=""===i?1/0:void 0===n.maxLength?80:n.maxLength,s=n.replacer,function e(n,o,a){var l,u,c,d,h,p,f,m,g,_,y,v;if(n&&"function"==typeof n.toJSON&&(n=n.toJSON()),void 0===(y=JSON.stringify(n,s)))return y;if(f=r-o.length-a,y.length<=f&&(g=y.replace(t,function(e,t){return t||e+" "})).length<=f)return g;if(null!=s&&(n=JSON.parse(y),s=void 0),"object"==typeof n&&null!==n){if(m=o+i,c=[],u=0,Array.isArray(n))for(_="[",l="]",f=n.length;u0)return[_,i+c.join(",\n"+m),l].join("\n"+o)}return y}(e,"",0)}},21045:e=>{"use strict";e.exports={rE:"3.0.8"}}},__webpack_module_cache__={},leafPrototypes,getProto,inProgress,dataWebpackPrefix;function __webpack_require__(e){var t=__webpack_module_cache__[e];if(void 0!==t)return t.exports;var n=__webpack_module_cache__[e]={id:e,loaded:!1,exports:{}};return __webpack_modules__[e].call(n.exports,n,n.exports,__webpack_require__),n.loaded=!0,n.exports}__webpack_require__.m=__webpack_modules__,__webpack_require__.amdD=function(){throw new Error("define cannot be used indirect")},__webpack_require__.amdO={},__webpack_require__.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return __webpack_require__.d(t,{a:t}),t},getProto=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,__webpack_require__.t=function(e,t){if(1&t&&(e=this(e)),8&t)return e;if("object"==typeof e&&e){if(4&t&&e.__esModule)return e;if(16&t&&"function"==typeof e.then)return e}var n=Object.create(null);__webpack_require__.r(n);var i={};leafPrototypes=leafPrototypes||[null,getProto({}),getProto([]),getProto(getProto)];for(var r=2&t&&e;"object"==typeof r&&!~leafPrototypes.indexOf(r);r=getProto(r))Object.getOwnPropertyNames(r).forEach(t=>i[t]=()=>e[t]);return i.default=()=>e,__webpack_require__.d(n,i),n},__webpack_require__.d=(e,t)=>{for(var n in t)__webpack_require__.o(t,n)&&!__webpack_require__.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},__webpack_require__.f={},__webpack_require__.e=e=>Promise.all(Object.keys(__webpack_require__.f).reduce((t,n)=>(__webpack_require__.f[n](e,t),t),[])),__webpack_require__.u=e=>e+".bundle."+{38:"56383ce7",97:"b0fed7fa",195:"9941f7ca",211:"45847679",317:"a52389ac",837:"3c99d169",950:"b01fc844",960:"d893bd17",974:"66119c82"}[e]+".js",__webpack_require__.miniCssF=e=>"styles/"+e+".45554be0.css",__webpack_require__.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),inProgress={},dataWebpackPrefix="@mixly/python-pyodide:",__webpack_require__.l=(e,t,n,i)=>{if(inProgress[e])inProgress[e].push(t);else{var r,s;if(void 0!==n)for(var o=document.getElementsByTagName("script"),a=0;a{r.onerror=r.onload=null,clearTimeout(c);var i=inProgress[e];if(delete inProgress[e],r.parentNode&&r.parentNode.removeChild(r),i&&i.forEach(e=>e(n)),t)return t(n)},c=setTimeout(u.bind(null,void 0,{type:"timeout",target:r}),12e4);r.onerror=u.bind(null,r.onerror),r.onload=u.bind(null,r.onload),s&&document.head.appendChild(r)}},__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},__webpack_require__.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),(()=>{var e;__webpack_require__.g.importScripts&&(e=__webpack_require__.g.location+"");var t=__webpack_require__.g.document;if(!e&&t&&(t.currentScript&&(e=t.currentScript.src),!e)){var n=t.getElementsByTagName("script");if(n.length)for(var i=n.length-1;i>-1&&(!e||!/^http(s?):/.test(e));)e=n[i--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),__webpack_require__.p=e})(),(()=>{if("undefined"!=typeof document){var e=e=>new Promise((t,n)=>{var i=__webpack_require__.miniCssF(e),r=__webpack_require__.p+i;if(((e,t)=>{for(var n=document.getElementsByTagName("link"),i=0;i{var s=document.createElement("link");s.rel="stylesheet",s.type="text/css",__webpack_require__.nc&&(s.nonce=__webpack_require__.nc),s.onerror=s.onload=n=>{if(s.onerror=s.onload=null,"load"===n.type)i();else{var o=n&&n.type,a=n&&n.target&&n.target.href||t,l=new Error("Loading CSS chunk "+e+" failed.\n("+o+": "+a+")");l.name="ChunkLoadError",l.code="CSS_CHUNK_LOAD_FAILED",l.type=o,l.request=a,s.parentNode&&s.parentNode.removeChild(s),r(l)}},s.href=t,n?n.parentNode.insertBefore(s,n.nextSibling):document.head.appendChild(s)})(e,r,null,t,n)}),t={792:0};__webpack_require__.f.miniCss=(n,i)=>{t[n]?i.push(t[n]):0!==t[n]&&{317:1}[n]&&i.push(t[n]=e(n).then(()=>{t[n]=0},e=>{throw delete t[n],e}))}}})(),(()=>{var e={792:0};__webpack_require__.f.j=(t,n)=>{var i=__webpack_require__.o(e,t)?e[t]:void 0;if(0!==i)if(i)n.push(i[2]);else{var r=new Promise((n,r)=>i=e[t]=[n,r]);n.push(i[2]=r);var s=__webpack_require__.p+__webpack_require__.u(t),o=new Error;__webpack_require__.l(s,n=>{if(__webpack_require__.o(e,t)&&(0!==(i=e[t])&&(e[t]=void 0),i)){var r=n&&("load"===n.type?"missing":n.type),s=n&&n.target&&n.target.src;o.message="Loading chunk "+t+" failed.\n("+r+": "+s+")",o.name="ChunkLoadError",o.type=r,o.request=s,i[1](o)}},"chunk-"+t,t)}};var t=(t,n)=>{var i,r,[s,o,a]=n,l=0;if(s.some(t=>0!==e[t])){for(i in o)__webpack_require__.o(o,i)&&(__webpack_require__.m[i]=o[i]);if(a)a(__webpack_require__)}for(t&&t(n);l{"use strict";var e={};__webpack_require__.r(e),__webpack_require__.d(e,{controls_type:()=>Qe,controls_typeLists:()=>Je,lists_zip:()=>et,lists_zip_container:()=>tt,lists_zip_item:()=>nt,unpack_iterable_object:()=>it,variables_change:()=>Ke,variables_get:()=>Xe,variables_global:()=>Ze,variables_set:()=>qe});var t={};__webpack_require__.r(t),__webpack_require__.d(t,{base_setup:()=>ot,controls_delay:()=>at,controls_end_program:()=>lt,controls_except:()=>Tt,controls_finally:()=>xt,controls_flow_statements:()=>ft,controls_for:()=>mt,controls_forEach:()=>dt,controls_for_range:()=>gt,controls_if:()=>ut,controls_if_else:()=>vt,controls_if_elseif:()=>yt,controls_if_if:()=>_t,controls_lambda:()=>wt,controls_main:()=>st,controls_pass:()=>It,controls_range:()=>ct,controls_repeat_ext:()=>Et,controls_thread:()=>At,controls_try:()=>bt,controls_try_finally:()=>pt,controls_whileUntil:()=>ht,datetime_fromtimestamp:()=>Rt,do_while:()=>St,garbage_collection:()=>Ct,gene_unique_identifier:()=>Nt,get_mem_alloc:()=>Ot,get_mem_free:()=>Mt,get_unique_identifier:()=>kt});var n={};__webpack_require__.r(n),__webpack_require__.d(n,{base_map:()=>en,generate_cartesian_product:()=>nn,math_arithmetic:()=>Bt,math_bit:()=>Ut,math_constant:()=>Lt,math_constant_mp:()=>Pt,math_constrain:()=>Wt,math_dec:()=>zt,math_degree_to_radian:()=>sn,math_indexer_number:()=>qt,math_map:()=>Xt,math_max_min:()=>Yt,math_number:()=>Ft,math_number_base_conversion:()=>Gt,math_radian_to_degree:()=>rn,math_random:()=>Ht,math_random_seed:()=>Kt,math_round:()=>Zt,math_selfcalcu:()=>$t,math_to_int:()=>jt,math_trig:()=>Vt,text_to_number:()=>Qt,text_to_number_skulpt:()=>Jt,turn_to_int:()=>tn});var i={};__webpack_require__.r(i),__webpack_require__.d(i,{ascii_to_char:()=>hn,char_to_ascii:()=>pn,number_to_text:()=>fn,os_system:()=>$n,text:()=>an,text_bytes:()=>un,text_capital:()=>En,text_center:()=>wn,text_char:()=>cn,text_char_at:()=>_n,text_char_at2:()=>gn,text_char_at3:()=>Fn,text_compareTo:()=>Dn,text_compare_to:()=>xn,text_create_with_container:()=>kn,text_create_with_item:()=>Rn,text_encode:()=>Pn,text_equals_starts_ends:()=>Tn,text_eval:()=>Bn,text_find:()=>In,text_format:()=>Mn,text_format_noreturn:()=>Ln,text_join:()=>dn,text_join_seq:()=>An,text_length:()=>mn,text_random_char:()=>yn,text_replace:()=>Sn,text_split:()=>Cn,text_strip:()=>On,text_substring:()=>bn,text_substring2:()=>vn,text_substring3:()=>Nn,text_textarea:()=>ln});var r={};__webpack_require__.r(r),__webpack_require__.d(r,{ENUMERATE:()=>Ti,content_in_lists:()=>Ei,enumerate:()=>xi,list_many_input:()=>li,list_tolist:()=>hi,list_tolist2:()=>bi,list_trig:()=>si,lists_2d_get_col_row_data:()=>Yn,lists_2d_get_data_with_col_row:()=>jn,lists_append_extend:()=>Kn,lists_change_to:()=>ai,lists_change_to_general:()=>ci,lists_clear:()=>ti,lists_create_with:()=>Gn,lists_create_with2:()=>pi,lists_create_with_container:()=>Wn,lists_create_with_item:()=>Xn,lists_create_with_noreturn:()=>ui,lists_create_with_text:()=>Hn,lists_create_with_text2:()=>fi,lists_del_general:()=>di,lists_find:()=>ri,lists_getIndex3:()=>mi,lists_getSublist3:()=>gi,lists_get_index:()=>Vn,lists_get_random_item:()=>Zn,lists_get_random_sublist:()=>Qn,lists_get_sublist:()=>zn,lists_insert_value:()=>Jn,lists_insert_value2:()=>yi,lists_pop:()=>ii,lists_remove_at:()=>ni,lists_remove_at2:()=>vi,lists_reverse:()=>ei,lists_setIndex3:()=>_i,lists_set_index:()=>qn,lists_sort:()=>oi});var s={};__webpack_require__.r(s),__webpack_require__.d(s,{dicts_add_change_del:()=>$i,dicts_add_or_change:()=>ki,dicts_clear:()=>Di,dicts_create_with:()=>Ii,dicts_create_with_container:()=>Ai,dicts_create_with_item:()=>Si,dicts_create_with_noreturn:()=>zi,dicts_deldict:()=>Bi,dicts_delete:()=>Ri,dicts_get:()=>Oi,dicts_get_default:()=>Mi,dicts_items:()=>Fi,dicts_keys:()=>Ci,dicts_length:()=>Pi,dicts_pop:()=>Ui,dicts_setdefault:()=>Vi,dicts_to_json:()=>Yi,dicts_to_json2:()=>Wi,dicts_to_to:()=>Hi,dicts_todict:()=>ji,dicts_update:()=>Ni,dicts_values:()=>Li,json_to_dicts:()=>Gi});var o={};__webpack_require__.r(o),__webpack_require__.d(o,{logic_boolean:()=>Ji,logic_compare:()=>qi,logic_compare_continous:()=>Ki,logic_is:()=>ir,logic_is_in:()=>nr,logic_negate:()=>Qi,logic_null:()=>er,logic_operation:()=>Zi,logic_tobool:()=>rr,logic_true_or_false:()=>tr});var a={};__webpack_require__.r(a),__webpack_require__.d(a,{sdcard_mount:()=>Sr,sdcard_use_spi_init:()=>Ar,storage_can_write_ornot:()=>pr,storage_change_dir:()=>wr,storage_close_file:()=>mr,storage_delete_file:()=>_r,storage_file_seek:()=>br,storage_file_tell:()=>vr,storage_file_write:()=>ur,storage_fileopen:()=>or,storage_fileopen_new:()=>ar,storage_fileopen_new_encoding:()=>lr,storage_get_a_line:()=>hr,storage_get_contents:()=>dr,storage_get_contents_without_para:()=>cr,storage_get_current_dir:()=>Tr,storage_get_file_size:()=>yr,storage_get_filename:()=>fr,storage_is_file:()=>Ir,storage_list_all_files:()=>gr,storage_make_dir:()=>xr,storage_open_file_with_os:()=>sr,storage_rename:()=>Er});var l={};__webpack_require__.r(l),__webpack_require__.d(l,{procedures_callnoreturn:()=>Rr,procedures_callreturn:()=>Nr,procedures_defnoreturn:()=>Cr,procedures_defreturn:()=>Or,procedures_ifreturn:()=>Dr,procedures_mutatorarg:()=>kr,procedures_mutatorcontainer:()=>Mr,procedures_return:()=>Fr});var u={};__webpack_require__.r(u),__webpack_require__.d(u,{tuple_change_to:()=>Wr,tuple_create_llm_params:()=>ns,tuple_create_with:()=>Pr,tuple_create_with_container:()=>Br,tuple_create_with_item:()=>$r,tuple_create_with_noreturn:()=>Zr,tuple_create_with_text2:()=>Ur,tuple_create_with_text_return:()=>Vr,tuple_del:()=>Yr,tuple_find:()=>Xr,tuple_getIndex:()=>zr,tuple_getSublist:()=>Kr,tuple_get_random_item:()=>Jr,tuple_get_sublist:()=>Qr,tuple_input:()=>ts,tuple_join:()=>Gr,tuple_length:()=>jr,tuple_max:()=>Hr,tuple_totuple:()=>es,tuple_trig:()=>qr});var c={};__webpack_require__.r(c),__webpack_require__.d(c,{set_add_discard:()=>hs,set_clear:()=>us,set_create_with:()=>rs,set_create_with_container:()=>ss,set_create_with_item:()=>os,set_create_with_text_return:()=>ms,set_length:()=>as,set_operate:()=>cs,set_operate_update:()=>ds,set_pop:()=>ls,set_sub:()=>ps,set_toset:()=>gs,set_update:()=>fs});var d={};__webpack_require__.r(d),__webpack_require__.d(d,{html_content:()=>Ts,html_content_more:()=>xs,html_document:()=>ys,html_form:()=>ws,html_head_body:()=>bs,html_style:()=>Es,html_style_color:()=>As,html_style_content:()=>Is,html_text:()=>Ss,html_title:()=>vs});var h={};__webpack_require__.r(h),__webpack_require__.d(h,{attribute_access:()=>Vs,function_call:()=>Bs,function_call_container:()=>$s,function_call_item:()=>Us,raw_block:()=>Ms,raw_empty:()=>Rs,raw_expression:()=>ks,raw_table:()=>Os,text_comment:()=>Ns,text_print_multiple:()=>Fs,text_print_multiple_container:()=>Ls,text_print_multiple_item:()=>Ps,type_check:()=>Ds});var p={};__webpack_require__.r(p),__webpack_require__.d(p,{controls_type:()=>Hs,controls_typeLists:()=>Ws,lists_zip:()=>Xs,unpack_iterable_object:()=>qs,variables_change:()=>Ys,variables_get:()=>zs,variables_global:()=>Gs,variables_set:()=>js});var f={};__webpack_require__.r(f),__webpack_require__.d(f,{Panic_with_status_code:()=>so,base_setup:()=>Zs,controls_delay:()=>ro,controls_flow_statements:()=>io,controls_for:()=>eo,controls_forEach:()=>co,controls_for_range:()=>to,controls_if:()=>Qs,controls_interrupts:()=>lo,controls_lambda:()=>po,controls_main:()=>Ks,controls_millis:()=>oo,controls_nointerrupts:()=>uo,controls_pass:()=>mo,controls_range:()=>ho,controls_repeat:()=>Eo,controls_repeat_ext:()=>yo,controls_thread:()=>go,controls_try_finally:()=>Js,controls_whileUntil:()=>no,datetime_fromtimestamp:()=>wo,do_while:()=>_o,garbage_collection:()=>vo,gene_unique_identifier:()=>Io,get_mem_alloc:()=>bo,get_mem_free:()=>To,get_unique_identifier:()=>xo,reset:()=>ao,time_sleep:()=>fo});var m={};__webpack_require__.r(m),__webpack_require__.d(m,{base_map:()=>Ho,generate_cartesian_product:()=>Xo,math_arithmetic:()=>Mo,math_bit:()=>Oo,math_constant:()=>So,math_constant_mp:()=>Co,math_constrain:()=>$o,math_dec:()=>Do,math_degree_to_radian:()=>Ko,math_indexer_number:()=>zo,math_map:()=>Bo,math_max_min:()=>Lo,math_number:()=>Ao,math_number_base_conversion:()=>Uo,math_radian_to_degree:()=>qo,math_random:()=>Po,math_random_seed:()=>Vo,math_round:()=>jo,math_selfcalcu:()=>ko,math_single:()=>Ro,math_to_int:()=>Fo,math_trig:()=>No,text_to_number:()=>Yo,text_to_number_skulpt:()=>Go,turn_to_int:()=>Wo});var g={};__webpack_require__.r(g),__webpack_require__.d(g,{ascii_to_char:()=>na,char_to_ascii:()=>ia,number_to_text:()=>ra,os_system:()=>Sa,text:()=>Zo,text_bytes:()=>Jo,text_capital:()=>pa,text_center:()=>fa,text_char:()=>ea,text_char_at:()=>aa,text_char_at2:()=>oa,text_char_at3:()=>wa,text_compareTo:()=>Ea,text_compare_to:()=>ca,text_encode:()=>Ia,text_equals_starts_ends:()=>ua,text_eval:()=>Aa,text_find:()=>ma,text_format:()=>ba,text_format_noreturn:()=>Ta,text_join:()=>ta,text_join_seq:()=>ga,text_length:()=>sa,text_random_char:()=>la,text_replace:()=>_a,text_split:()=>ya,text_strip:()=>va,text_substring:()=>ha,text_substring2:()=>da,text_substring3:()=>xa,text_textarea:()=>Qo});var _={};__webpack_require__.r(_),__webpack_require__.d(_,{content_in_lists:()=>al,enumerate:()=>ol,list_many_input:()=>Wa,list_tolist:()=>rl,list_tolist2:()=>sl,list_trig:()=>Ya,lists_2d_get_col_row_data:()=>Ma,lists_2d_get_data_with_col_row:()=>Oa,lists_append_extend:()=>Fa,lists_change_to:()=>Ha,lists_change_to_general:()=>qa,lists_clear:()=>Ua,lists_create_with:()=>ka,lists_create_with2:()=>Za,lists_create_with_noreturn:()=>Xa,lists_create_with_text:()=>Ra,lists_create_with_text2:()=>Qa,lists_del_general:()=>Ka,lists_find:()=>Va,lists_getIndex3:()=>Ja,lists_getSublist3:()=>el,lists_get_index:()=>Na,lists_get_random_item:()=>La,lists_get_random_sublist:()=>Pa,lists_get_sublist:()=>Ca,lists_insert_value:()=>Ba,lists_insert_value2:()=>nl,lists_pop:()=>ja,lists_remove_at:()=>za,lists_remove_at2:()=>il,lists_reverse:()=>$a,lists_setIndex3:()=>tl,lists_set_index:()=>Da,lists_sort:()=>Ga});var y={};__webpack_require__.r(y),__webpack_require__.d(y,{dicts_add_change_del:()=>bl,dicts_add_or_change:()=>hl,dicts_clear:()=>ml,dicts_create_with:()=>ll,dicts_create_with_noreturn:()=>El,dicts_deldict:()=>vl,dicts_delete:()=>pl,dicts_get:()=>cl,dicts_get_default:()=>dl,dicts_items:()=>gl,dicts_keys:()=>ul,dicts_length:()=>yl,dicts_pop:()=>Tl,dicts_setdefault:()=>xl,dicts_to_json:()=>Il,dicts_to_json2:()=>Cl,dicts_to_to:()=>Sl,dicts_todict:()=>wl,dicts_update:()=>fl,dicts_values:()=>_l,json_to_dicts:()=>Al});var v={};__webpack_require__.r(v),__webpack_require__.d(v,{logic_boolean:()=>Nl,logic_compare:()=>Ol,logic_compare_continous:()=>Ml,logic_is:()=>Pl,logic_is_in:()=>Ll,logic_negate:()=>Rl,logic_null:()=>Dl,logic_operation:()=>kl,logic_tobool:()=>Bl,logic_true_or_false:()=>Fl});var b={};__webpack_require__.r(b),__webpack_require__.d(b,{sdcard_mount:()=>au,sdcard_use_spi_init:()=>ou,storage_can_write_ornot:()=>Wl,storage_change_dir:()=>tu,storage_close_file:()=>ql,storage_delete_file:()=>Zl,storage_file_seek:()=>eu,storage_file_tell:()=>Jl,storage_file_write:()=>jl,storage_fileopen:()=>Ul,storage_fileopen_new:()=>Vl,storage_fileopen_new_encoding:()=>zl,storage_get_a_line:()=>Hl,storage_get_contents:()=>Gl,storage_get_contents_without_para:()=>Yl,storage_get_current_dir:()=>nu,storage_get_file_size:()=>Ql,storage_get_filename:()=>Xl,storage_is_file:()=>su,storage_list_all_files:()=>Kl,storage_make_dir:()=>iu,storage_open_file_with_os:()=>$l,storage_rename:()=>ru});var T={};__webpack_require__.r(T),__webpack_require__.d(T,{procedures_callnoreturn:()=>du,procedures_callreturn:()=>cu,procedures_defnoreturn:()=>uu,procedures_defreturn:()=>lu,procedures_ifreturn:()=>hu,procedures_return:()=>pu});var x={};__webpack_require__.r(x),__webpack_require__.d(x,{tuple_change_to:()=>xu,tuple_create_llm_params:()=>ku,tuple_create_with:()=>fu,tuple_create_with_noreturn:()=>Au,tuple_create_with_text2:()=>mu,tuple_create_with_text_return:()=>gu,tuple_del:()=>vu,tuple_find:()=>Eu,tuple_getIndex:()=>_u,tuple_getSublist:()=>Iu,tuple_get_random_item:()=>Cu,tuple_get_sublist:()=>Su,tuple_input:()=>Mu,tuple_join:()=>bu,tuple_length:()=>yu,tuple_max:()=>Tu,tuple_totuple:()=>Ou,tuple_trig:()=>wu});var E={};__webpack_require__.r(E),__webpack_require__.d(E,{set_add_discard:()=>Bu,set_clear:()=>Fu,set_create_with:()=>Ru,set_create_with_text_return:()=>Vu,set_length:()=>Nu,set_operate:()=>Lu,set_operate_update:()=>Pu,set_pop:()=>Du,set_sub:()=>$u,set_toset:()=>zu,set_update:()=>Uu});var w={};__webpack_require__.r(w),__webpack_require__.d(w,{html_content:()=>Hu,html_content_more:()=>Wu,html_document:()=>ju,html_form:()=>qu,html_head_body:()=>Gu,html_style:()=>Xu,html_style_content:()=>Ku,html_text:()=>Zu,html_title:()=>Yu});var I={};__webpack_require__.r(I),__webpack_require__.d(I,{attribute_access:()=>rc,function_call:()=>ic,raw_block:()=>Qu,raw_empty:()=>ec,raw_expression:()=>Ju,raw_table:()=>tc,type_check:()=>nc});var A={};__webpack_require__.r(A),__webpack_require__.d(A,{AI_ChooseAndGet:()=>uc,AI_Face_match:()=>mc,AI_ImageClassify:()=>pc,AI_ImageClassify_Func:()=>fc,AI_Nlp:()=>yc,AI_Nlp_Func:()=>bc,AI_Nlp_Func_sim:()=>Tc,AI_Nlp_Sim:()=>vc,AI_Nlp_Topic:()=>xc,AI_Nlp_newsSummary:()=>Ec,AI_Ocr:()=>gc,AI_Ocr_Func:()=>_c,AI_Speech_asr:()=>hc,AI_Speech_synthesis:()=>dc,AI_audio:()=>wc,AI_client:()=>cc,AI_photo:()=>Ic,AI_result:()=>Ac});var S={};__webpack_require__.r(S),__webpack_require__.d(S,{algorithm_add_path:()=>Nc,algorithm_add_school:()=>Oc,algorithm_all_books:()=>qc,algorithm_all_books_sequence:()=>Kc,algorithm_book_scale:()=>ld,algorithm_check_feet:()=>vd,algorithm_chick_calculate:()=>yd,algorithm_color_seclet:()=>Pd,algorithm_current_school:()=>$c,algorithm_del_path:()=>Dc,algorithm_delete_book:()=>rd,algorithm_delete_books:()=>sd,algorithm_delete_books2:()=>od,algorithm_divide_books:()=>nd,algorithm_find_path:()=>Mc,algorithm_first_book:()=>Zc,algorithm_fz_calc:()=>Ed,algorithm_fz_calc_first_min:()=>wd,algorithm_fz_compare:()=>Id,algorithm_fz_move:()=>Sd,algorithm_fz_set_min:()=>Ad,algorithm_get_book_num:()=>hd,algorithm_get_current_location:()=>Fd,algorithm_get_half_books:()=>id,algorithm_hxdb_add:()=>Rd,algorithm_hxdb_init_soldier:()=>Od,algorithm_hxdb_last_line:()=>kd,algorithm_hxdb_result:()=>Nd,algorithm_hxdb_stand_in_line:()=>Md,algorithm_init_fzsf:()=>xd,algorithm_init_hxdb:()=>Cd,algorithm_init_jttl:()=>md,algorithm_move_recent:()=>jc,algorithm_new_path:()=>kc,algorithm_next_book:()=>ed,algorithm_no_left:()=>Lc,algorithm_no_path:()=>Uc,algorithm_no_ring2:()=>Qc,algorithm_not_home:()=>Yc,algorithm_not_school:()=>Gc,algorithm_number_add:()=>cd,algorithm_number_zero:()=>ud,algorithm_prepare:()=>Cc,algorithm_prepare2:()=>Bc,algorithm_prepare_2_1:()=>Vc,algorithm_prepare_2_2:()=>zc,algorithm_print_book2:()=>ad,algorithm_print_divide:()=>fd,algorithm_print_jttl_answer:()=>bd,algorithm_print_number:()=>dd,algorithm_print_path:()=>Pc,algorithm_print_path2:()=>Hc,algorithm_print_sequence:()=>pd,algorithm_rabbit_add:()=>Td,algorithm_rabbit_number_in_range:()=>_d,algorithm_rabbit_zero:()=>gd,algorithm_return_path:()=>Fc,algorithm_set_path:()=>Rc,algorithm_two_left:()=>td,algorithm_void_path:()=>Ld,algorithm_yes_ring2:()=>Jc,hanoi_init:()=>Wc,hanoi_init_offline:()=>Dd,hanoi_move:()=>Xc});var C={};__webpack_require__.r(C),__webpack_require__.d(C,{requests_attribute:()=>zd,requests_get:()=>Ud,requests_get_old:()=>$d,requests_method:()=>jd,requests_post:()=>Vd});var O={};__webpack_require__.r(O),__webpack_require__.d(O,{cv_destroy_all:()=>qd,cv_face_classifier:()=>Qd,cv_face_detect:()=>Jd,cv_face_detect_all:()=>eh,cv_line_rect:()=>Kd,cv_read_image:()=>Gd,cv_show_image:()=>Hd,cv_text:()=>Zd,cv_waitkey:()=>Xd,cv_write_image:()=>Wd});var M={};__webpack_require__.r(M),__webpack_require__.d(M,{array_create:()=>_h,array_toarray:()=>kh,dataframe_aggregate_func:()=>Ap,dataframe_create:()=>rh,dataframe_create_from_index:()=>oh,dataframe_create_from_one_index:()=>sh,dataframe_fillna:()=>hp,dataframe_get:()=>Ch,dataframe_groupby:()=>Ip,dataframe_head_tail:()=>Ep,dataframe_info:()=>pp,dataframe_median:()=>dp,dataframe_select:()=>wp,dataframe_sort_values:()=>xp,matrix_multiplication:()=>up,matrix_transpose:()=>lp,numpy_argmin_template_match:()=>ep,numpy_astype:()=>Zh,numpy_c_:()=>op,numpy_dot:()=>_p,numpy_linalg_det:()=>ap,numpy_linalg_inv:()=>cp,numpy_max:()=>mp,numpy_mean:()=>tp,numpy_mean_digit:()=>Jh,numpy_min:()=>fp,numpy_ones:()=>sp,numpy_random_random:()=>bp,numpy_reshape:()=>Kh,numpy_shape:()=>qh,numpy_size:()=>gp,numpy_square:()=>yp,numpy_std:()=>np,numpy_sum:()=>vp,numpy_trig:()=>Ih,pandas_drop_columns:()=>rp,pandas_dropna:()=>ip,pandas_readcsv:()=>Sh,pl_axes:()=>ph,pl_bar:()=>Th,pl_hist:()=>Eh,pl_label:()=>gh,pl_legend:()=>fh,pl_pie:()=>xh,pl_plot:()=>dh,pl_plot_bar:()=>yh,pl_plot_easy:()=>ch,pl_plot_scatter:()=>vh,pl_plot_xy:()=>bh,pl_savefig:()=>Oh,pl_show:()=>hh,pl_subplot:()=>Ah,pl_text:()=>Mh,pl_ticks:()=>wh,pl_title:()=>mh,plot_axes:()=>Fh,plot_bar:()=>zh,plot_cla:()=>Sp,plot_hist:()=>Yh,plot_label:()=>Bh,plot_legend:()=>Lh,plot_pie:()=>jh,plot_plot:()=>Nh,plot_plot_bar:()=>$h,plot_plot_easy:()=>Rh,plot_plot_scatter:()=>Uh,plot_plot_xy:()=>Vh,plot_savefig:()=>Wh,plot_show:()=>Dh,plot_subplot:()=>Hh,plot_text:()=>Xh,plot_ticks:()=>Gh,plot_title:()=>Ph,py_sum:()=>Tp,pylab_imshow:()=>Qh,series_create:()=>nh,series_create_from_index:()=>ih,series_create_from_text:()=>ah,series_get_num:()=>uh,series_index_value:()=>lh});var k={};__webpack_require__.r(k),__webpack_require__.d(k,{ds_add_node_by_attr:()=>Lp,ds_add_node_by_name:()=>Fp,ds_create_linkedlist:()=>Op,ds_create_linkedlist_container:()=>Mp,ds_create_linkedlist_item:()=>kp,ds_create_node:()=>Rp,ds_del_node_by_attr:()=>Bp,ds_del_node_by_name:()=>Pp,ds_get_node_attr:()=>Np,ds_reverse_linkedlist:()=>$p,ds_set_node_attr:()=>Dp});var R={};__webpack_require__.r(R),__webpack_require__.d(R,{factory_block:()=>Kp,factory_block_return:()=>Zp,factory_block_return_with_textarea:()=>Jp,factory_block_with_textarea:()=>Qp,factory_callMethod_noreturn:()=>Xp,factory_callMethod_return:()=>qp,factory_create_with_container:()=>Yp,factory_create_with_item:()=>Gp,factory_declare:()=>Wp,factory_from_import:()=>Vp,factory_function_noreturn:()=>jp,factory_function_return:()=>Hp,factory_import:()=>zp});var N={};__webpack_require__.r(N),__webpack_require__.d(N,{hardware_arduino_analog_read:()=>af,hardware_arduino_analog_write:()=>of,hardware_arduino_digital_read:()=>sf,hardware_arduino_digital_write:()=>rf,hardware_arduino_start:()=>tf,inout_highlow:()=>nf});var D={};__webpack_require__.r(D),__webpack_require__.d(D,{inout_input:()=>lf,inout_print:()=>uf,inout_print_container:()=>mf,inout_print_end:()=>df,inout_print_inline:()=>cf,inout_print_item:()=>gf,inout_print_many:()=>ff,inout_type_input:()=>hf,pyinout_type_input:()=>pf});var F={};__webpack_require__.r(F),__webpack_require__.d(F,{IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>Vf,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>Uf,IOT_EMQX_PING:()=>Bf,IOT_FORMATTING:()=>Lf,IOT_FORMAT_STRING:()=>Pf,IOT_MIXIO_NTP:()=>$f,IOT_MIXIO_PUBLISH:()=>Sf,IOT_MIXIO_PUBLISHEX:()=>Cf,IOT_MIXIO_SUBSCRIBE:()=>Of,IOT_MIXIO_UNSUBSCRIBE:()=>Mf,iot_checkonenet:()=>Zf,iot_client_onboard:()=>Yf,iot_create_with_item:()=>If,iot_http_client:()=>Gf,iot_http_data:()=>Hf,iot_mixio_check:()=>Nf,iot_mixio_connect:()=>Af,iot_mixio_connect_only:()=>Rf,iot_mixio_disconnect:()=>kf,iot_mixio_format_msg:()=>Ff,iot_mixio_format_topic:()=>Df,iot_mixly_key:()=>jf,iot_mixly_key_py:()=>zf,iot_mqtt_client:()=>Wf,iot_mqtt_data:()=>Xf,iot_onenet_check:()=>bf,iot_onenet_connect:()=>yf,iot_onenet_disconnect:()=>vf,iot_onenet_publish:()=>xf,iot_onenet_publish_dict:()=>Tf,iot_onenetconnect:()=>qf,iot_onenetdisconnect:()=>Kf,iot_publish:()=>Qf,iot_publish_container:()=>Ef,iot_publish_item:()=>wf});var L={};__webpack_require__.r(L),__webpack_require__.d(L,{pins_analog_read:()=>im,pins_analog_write:()=>nm,pins_digital_read:()=>tm,pins_digital_write:()=>em});var P={};__webpack_require__.r(P),__webpack_require__.d(P,{serial_close:()=>am,serial_open:()=>rm,serial_read_b:()=>om,serial_write:()=>sm});var B={};__webpack_require__.r(B),__webpack_require__.d(B,{sklearn_DecisionTreeClassifier_Regressor:()=>ym,sklearn_GaussianNB:()=>Tm,sklearn_KMeans:()=>wm,sklearn_KMeans_fit:()=>Im,sklearn_KNeighborsClassifier_Regressor:()=>bm,sklearn_LinearRegression:()=>gm,sklearn_RandomForestClassifier_Regressor:()=>vm,sklearn_Ridge:()=>_m,sklearn_cluster_centers_labels_inertia:()=>Rm,sklearn_coef_intercept:()=>km,sklearn_data_target:()=>pm,sklearn_fit:()=>Am,sklearn_fit_no_target:()=>Sm,sklearn_load:()=>hm,sklearn_make_blobs:()=>dm,sklearn_make_classification:()=>um,sklearn_make_regression:()=>cm,sklearn_pca:()=>xm,sklearn_pca_fit_transform:()=>Em,sklearn_predict:()=>Cm,sklearn_save_load_model:()=>Nm,sklearn_score:()=>Om,sklearn_score_no_target:()=>Mm,sklearn_train_test_split:()=>fm,sklearn_train_test_split_no_target:()=>mm});var U={};__webpack_require__.r(U),__webpack_require__.d(U,{Panic_with_status_code:()=>Bm,base_delay:()=>Fm,controls_millis:()=>Lm,controls_mstimer2:()=>Um,controls_mstimer2_start:()=>Vm,controls_mstimer2_stop:()=>zm,reset:()=>$m,time_localtime:()=>Pm,time_sleep:()=>jm});var V={};__webpack_require__.r(V),__webpack_require__.d(V,{turtle_bgcolor:()=>dg,turtle_bgcolor_hex:()=>Eg,turtle_bgcolor_hex_new:()=>yg,turtle_circle:()=>lg,turtle_circle_advanced:()=>ug,turtle_clear:()=>ng,turtle_clone:()=>_g,turtle_color:()=>Tg,turtle_color_hex:()=>xg,turtle_color_seclet:()=>Ng,turtle_create:()=>Gm,turtle_done:()=>Hm,turtle_exitonclick:()=>Wm,turtle_fill:()=>rg,turtle_fillcolor:()=>gg,turtle_fillcolor_hex:()=>Ig,turtle_fillcolor_hex_new:()=>bg,turtle_getscreen:()=>Dg,turtle_goto:()=>Qm,turtle_listen:()=>$g,turtle_move:()=>Xm,turtle_numinput:()=>Cg,turtle_onclick:()=>Pg,turtle_onkey:()=>Lg,turtle_ontimer:()=>Bg,turtle_pencolor:()=>mg,turtle_pencolor_hex:()=>wg,turtle_pencolor_hex_new:()=>vg,turtle_penup:()=>ig,turtle_pos_shape:()=>eg,turtle_rotate:()=>qm,turtle_screen_delay:()=>Zm,turtle_screen_savefig:()=>Ug,turtle_setheading:()=>Km,turtle_setup:()=>pg,turtle_setxy:()=>Jm,turtle_shape:()=>Ag,turtle_shapesize:()=>Sg,turtle_size:()=>og,turtle_size_speed:()=>sg,turtle_speed:()=>ag,turtle_stamp:()=>tg,turtle_textinput:()=>Og,turtle_title:()=>hg,turtle_tracer:()=>fg,turtle_update:()=>Fg,turtle_visible:()=>cg,turtle_write:()=>Mg,turtle_write_format:()=>kg,turtle_write_format_skulpt:()=>Rg});var z={};__webpack_require__.r(z),__webpack_require__.d(z,{AI_ChooseAndGet:()=>Vg,AI_Face_match:()=>Hg,AI_ImageClassify:()=>Gg,AI_ImageClassify_Func:()=>Qg,AI_Nlp:()=>Xg,AI_Nlp_Func:()=>e_,AI_Nlp_Func_sim:()=>t_,AI_Nlp_Sim:()=>qg,AI_Nlp_Topic:()=>Kg,AI_Nlp_newsSummary:()=>Zg,AI_Ocr:()=>Wg,AI_Ocr_Func:()=>Jg,AI_Speech_asr:()=>Yg,AI_Speech_synthesis:()=>jg,AI_audio:()=>n_,AI_client:()=>zg,AI_photo:()=>i_,AI_result:()=>r_});var j={};__webpack_require__.r(j),__webpack_require__.d(j,{algorithm_add_path:()=>c_,algorithm_add_school:()=>o_,algorithm_all_books:()=>S_,algorithm_all_books_sequence:()=>A_,algorithm_book_scale:()=>P_,algorithm_check_feet:()=>G_,algorithm_chick_calculate:()=>Y_,algorithm_color_seclet:()=>ly,algorithm_current_school:()=>g_,algorithm_del_path:()=>d_,algorithm_delete_book:()=>F_,algorithm_divide_books:()=>N_,algorithm_find_path:()=>a_,algorithm_first_book:()=>C_,algorithm_fz_calc:()=>q_,algorithm_fz_compare:()=>K_,algorithm_fz_move:()=>Q_,algorithm_fz_set_min:()=>Z_,algorithm_get_current_location:()=>oy,algorithm_get_half_books:()=>D_,algorithm_hxdb_add:()=>iy,algorithm_hxdb_init_soldier:()=>ey,algorithm_hxdb_last_line:()=>ny,algorithm_hxdb_result:()=>ry,algorithm_hxdb_stand_in_line:()=>ty,algorithm_init_fzsf:()=>X_,algorithm_init_hxdb:()=>J_,algorithm_init_jttl:()=>V_,algorithm_move_recent:()=>b_,algorithm_new_path:()=>l_,algorithm_next_book:()=>k_,algorithm_no_left:()=>p_,algorithm_no_path:()=>__,algorithm_no_ring2:()=>O_,algorithm_not_home:()=>T_,algorithm_not_school:()=>x_,algorithm_number_add:()=>$_,algorithm_number_zero:()=>B_,algorithm_prepare:()=>s_,algorithm_prepare2:()=>m_,algorithm_prepare_2_1:()=>y_,algorithm_prepare_2_2:()=>v_,algorithm_print_book2:()=>L_,algorithm_print_jttl_answer:()=>H_,algorithm_print_number:()=>U_,algorithm_print_path:()=>f_,algorithm_print_path2:()=>E_,algorithm_rabbit_add:()=>W_,algorithm_rabbit_number_in_range:()=>j_,algorithm_rabbit_zero:()=>z_,algorithm_return_path:()=>h_,algorithm_set_path:()=>u_,algorithm_two_left:()=>R_,algorithm_void_path:()=>ay,algorithm_yes_ring2:()=>M_,hanoi_init:()=>w_,hanoi_init_offline:()=>sy,hanoi_move:()=>I_});var Y={};__webpack_require__.r(Y),__webpack_require__.d(Y,{requests_attribute:()=>hy,requests_get:()=>cy,requests_get_old:()=>uy,requests_method:()=>py,requests_post:()=>dy});var G={};__webpack_require__.r(G),__webpack_require__.d(G,{array_create:()=>My,array_toarray:()=>Yy,dataframe_aggregate_func:()=>$v,dataframe_create:()=>_y,dataframe_create_from_index:()=>yy,dataframe_create_from_one_index:()=>vy,dataframe_fillna:()=>Iv,dataframe_get:()=>Vy,dataframe_groupby:()=>Bv,dataframe_head_tail:()=>Lv,dataframe_info:()=>Av,dataframe_median:()=>wv,dataframe_select:()=>Pv,dataframe_sort_values:()=>Fv,matrix_multiplication:()=>xv,matrix_transpose:()=>Tv,numpy_argmin_template_match:()=>pv,numpy_astype:()=>cv,numpy_c_:()=>vv,numpy_dot:()=>Mv,numpy_linalg_det:()=>bv,numpy_linalg_inv:()=>Ev,numpy_max:()=>Cv,numpy_mean:()=>fv,numpy_mean_digit:()=>hv,numpy_min:()=>Sv,numpy_ones:()=>yv,numpy_random_random:()=>Nv,numpy_reshape:()=>uv,numpy_shape:()=>lv,numpy_size:()=>Ov,numpy_square:()=>kv,numpy_std:()=>mv,numpy_sum:()=>Rv,numpy_trig:()=>By,pandas_drop_columns:()=>_v,pandas_dropna:()=>gv,pandas_readcsv:()=>Uy,pl_axes:()=>wy,pl_bar:()=>Dy,pl_hist:()=>Ly,pl_label:()=>Oy,pl_legend:()=>Sy,pl_pie:()=>Fy,pl_plot:()=>Ay,pl_plot_bar:()=>ky,pl_plot_easy:()=>Iy,pl_plot_scatter:()=>Ry,pl_plot_xy:()=>Ny,pl_savefig:()=>zy,pl_show:()=>Ey,pl_subplot:()=>$y,pl_text:()=>jy,pl_ticks:()=>Py,pl_title:()=>Cy,plot_axes:()=>Hy,plot_bar:()=>tv,plot_cla:()=>Uv,plot_hist:()=>iv,plot_label:()=>Zy,plot_legend:()=>qy,plot_pie:()=>nv,plot_plot:()=>Xy,plot_plot_bar:()=>Qy,plot_plot_easy:()=>Wy,plot_plot_scatter:()=>Jy,plot_plot_xy:()=>ev,plot_savefig:()=>ov,plot_show:()=>Gy,plot_subplot:()=>sv,plot_text:()=>av,plot_ticks:()=>rv,plot_title:()=>Ky,py_sum:()=>Dv,pylab_imshow:()=>dv,series_create:()=>my,series_create_from_index:()=>gy,series_create_from_text:()=>by,series_get_num:()=>xy,series_index_value:()=>Ty});var H={};__webpack_require__.r(H),__webpack_require__.d(H,{ds_add_node_by_attr:()=>Hv,ds_add_node_by_name:()=>Gv,ds_create_linkedlist:()=>Vv,ds_create_node:()=>zv,ds_del_node_by_attr:()=>Xv,ds_del_node_by_name:()=>Wv,ds_get_node_attr:()=>jv,ds_reverse_linkedlist:()=>qv,ds_set_node_attr:()=>Yv});var W={};__webpack_require__.r(W),__webpack_require__.d(W,{factory_block:()=>ib,factory_block_return:()=>rb,factory_block_return_with_textarea:()=>ob,factory_block_with_textarea:()=>sb,factory_callMethod_noreturn:()=>tb,factory_callMethod_return:()=>nb,factory_declare:()=>eb,factory_from_import:()=>Kv,factory_function_noreturn:()=>Qv,factory_function_return:()=>Jv,factory_import:()=>Zv});var X={};__webpack_require__.r(X),__webpack_require__.d(X,{hardware_arduino_analog_read:()=>db,hardware_arduino_analog_write:()=>hb,hardware_arduino_digital_read:()=>cb,hardware_arduino_digital_write:()=>ub,hardware_arduino_start:()=>ab,inout_highlow:()=>lb});var q={};__webpack_require__.r(q),__webpack_require__.d(q,{inout_input:()=>pb,inout_print:()=>fb,inout_print_end:()=>gb,inout_print_inline:()=>mb,inout_print_many:()=>vb,inout_type_input:()=>_b,pyinout_type_input:()=>yb});var K={};__webpack_require__.r(K),__webpack_require__.d(K,{IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>Rb,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>Fb,IOT_EMQX_PING:()=>Lb,IOT_FORMATTING:()=>Mb,IOT_FORMAT_STRING:()=>kb,IOT_MIXIO_NTP:()=>Pb,IOT_MIXIO_PUBLISH:()=>Tb,IOT_MIXIO_PUBLISHEX:()=>xb,IOT_MIXIO_SUBSCRIBE:()=>Eb,IOT_MIXIO_UNSUBSCRIBE:()=>wb,iot_mixio_check:()=>Sb,iot_mixio_connect:()=>bb,iot_mixio_connect_only:()=>Ab,iot_mixio_disconnect:()=>Ib,iot_mixio_format_msg:()=>Ob,iot_mixio_format_topic:()=>Cb,iot_mixly_key:()=>Nb,iot_mixly_key_py:()=>Db});var Z={};__webpack_require__.r(Z),__webpack_require__.d(Z,{pins_analog_read:()=>zb,pins_analog_write:()=>Vb,pins_digital:()=>Bb,pins_digital_read:()=>Ub,pins_digital_write:()=>$b});var Q={};__webpack_require__.r(Q),__webpack_require__.d(Q,{serial_close:()=>Hb,serial_open:()=>jb,serial_read_b:()=>Gb,serial_write:()=>Yb});var J={};__webpack_require__.r(J),__webpack_require__.d(J,{sklearn_DecisionTreeClassifier_Regressor:()=>nT,sklearn_GaussianNB:()=>sT,sklearn_KMeans:()=>lT,sklearn_KMeans_fit:()=>uT,sklearn_KNeighborsClassifier_Regressor:()=>rT,sklearn_LinearRegression:()=>eT,sklearn_RandomForestClassifier_Regressor:()=>iT,sklearn_Ridge:()=>tT,sklearn_cluster_centers_labels_inertia:()=>gT,sklearn_coef_intercept:()=>mT,sklearn_data_target:()=>Zb,sklearn_fit:()=>cT,sklearn_fit_no_target:()=>dT,sklearn_load:()=>Kb,sklearn_make_blobs:()=>qb,sklearn_make_classification:()=>Wb,sklearn_make_regression:()=>Xb,sklearn_pca:()=>oT,sklearn_pca_fit_transform:()=>aT,sklearn_predict:()=>hT,sklearn_save_load_model:()=>_T,sklearn_score:()=>pT,sklearn_score_no_target:()=>fT,sklearn_train_test_split:()=>Qb,sklearn_train_test_split_no_target:()=>Jb});var ee={};__webpack_require__.r(ee),__webpack_require__.d(ee,{controls_end_program:()=>vT,controls_millis:()=>yT,time_localtime:()=>bT});var te={};__webpack_require__.r(te),__webpack_require__.d(te,{turtle_bgcolor:()=>VT,turtle_bgcolor_hex:()=>XT,turtle_bgcolor_hex_new:()=>ZT,turtle_circle:()=>PT,turtle_circle_advanced:()=>$T,turtle_clear:()=>kT,turtle_clone:()=>WT,turtle_color:()=>tx,turtle_color_hex:()=>ex,turtle_color_seclet:()=>ux,turtle_create:()=>TT,turtle_done:()=>xT,turtle_exitonclick:()=>ET,turtle_fill:()=>NT,turtle_fillcolor:()=>HT,turtle_fillcolor_hex:()=>KT,turtle_fillcolor_hex_new:()=>JT,turtle_getscreen:()=>cx,turtle_goto:()=>CT,turtle_listen:()=>mx,turtle_move:()=>wT,turtle_numinput:()=>sx,turtle_onclick:()=>px,turtle_onkey:()=>hx,turtle_ontimer:()=>fx,turtle_pencolor:()=>GT,turtle_pencolor_hex:()=>qT,turtle_pencolor_hex_new:()=>QT,turtle_penup:()=>RT,turtle_pos_shape:()=>OT,turtle_rotate:()=>IT,turtle_screen_delay:()=>ST,turtle_screen_savefig:()=>gx,turtle_setheading:()=>AT,turtle_setup:()=>jT,turtle_setxy:()=>BT,turtle_shape:()=>nx,turtle_shapesize:()=>ix,turtle_size:()=>FT,turtle_size_speed:()=>DT,turtle_speed:()=>LT,turtle_stamp:()=>MT,turtle_textinput:()=>rx,turtle_title:()=>zT,turtle_tracer:()=>YT,turtle_update:()=>dx,turtle_visible:()=>UT,turtle_write:()=>ox,turtle_write_format:()=>ax,turtle_write_format_skulpt:()=>lx});var ne={};__webpack_require__.r(ne),__webpack_require__.d(ne,{sklearn_LinearRegression:()=>_x});var ie={};__webpack_require__.r(ie),__webpack_require__.d(ie,{sklearn_LinearRegression:()=>yx});var re={};__webpack_require__.r(re);var se={};__webpack_require__.r(se),__webpack_require__.d(se,{tensorflow_add:()=>Ex,tensorflow_compile:()=>wx,tensorflow_fit:()=>Ix,tensorflow_get_loss:()=>Ax,tensorflow_get_tensor_data:()=>Cx,tensorflow_init_tensor:()=>bx,tensorflow_layers_dense:()=>xx,tensorflow_predict:()=>Sx,tensorflow_prepare_picture:()=>kx,tensorflow_save_or_export_model:()=>Ox,tensorflow_sequential:()=>Tx,tensorflow_use_load_model:()=>Mx});var oe={};__webpack_require__.r(oe),__webpack_require__.d(oe,{BaseTransition:()=>rS,BaseTransitionPropsValidators:()=>tS,Comment:()=>sM,DeprecationTypes:()=>bk,EffectScope:()=>KE,ErrorCodes:()=>eA,ErrorTypeStrings:()=>fk,Fragment:()=>iM,KeepAlive:()=>$S,ReactiveEffect:()=>tw,Static:()=>oM,Suspense:()=>ZO,Teleport:()=>XA,Text:()=>rM,TrackOpTypes:()=>UI,Transition:()=>Rk,TransitionGroup:()=>OR,TriggerOpTypes:()=>VI,VueElement:()=>bR,assertNumber:()=>JI,callWithAsyncErrorHandling:()=>iA,callWithErrorHandling:()=>nA,camelize:()=>cE,capitalize:()=>pE,cloneVNode:()=>AM,compatUtils:()=>vk,computed:()=>ak,createApp:()=>oN,createBlock:()=>gM,createCommentVNode:()=>OM,createElementBlock:()=>mM,createElementVNode:()=>xM,createHydrationRenderer:()=>TO,createPropsRestProxy:()=>LC,createRenderer:()=>bO,createSSRApp:()=>aN,createSlots:()=>fC,createStaticVNode:()=>CM,createTextVNode:()=>SM,createVNode:()=>EM,customRef:()=>NI,defineAsyncComponent:()=>FS,defineComponent:()=>dS,defineCustomElement:()=>_R,defineEmits:()=>wC,defineExpose:()=>IC,defineModel:()=>CC,defineOptions:()=>AC,defineProps:()=>EC,defineSSRCustomElement:()=>yR,defineSlots:()=>SC,devtools:()=>mk,effect:()=>fw,effectScope:()=>ZE,getCurrentInstance:()=>$M,getCurrentScope:()=>QE,getCurrentWatcher:()=>GI,getTransitionRawChildren:()=>cS,guardReactiveProps:()=>IM,h:()=>lk,handleError:()=>rA,hasInjectionContext:()=>nO,hydrate:()=>sN,hydrateOnIdle:()=>MS,hydrateOnInteraction:()=>NS,hydrateOnMediaQuery:()=>RS,hydrateOnVisible:()=>kS,initCustomFormatter:()=>uk,initDirectivesForSSR:()=>dN,inject:()=>tO,isMemoSame:()=>dk,isProxy:()=>_I,isReactive:()=>fI,isReadonly:()=>mI,isRef:()=>xI,isRuntimeOnly:()=>ZM,isShallow:()=>gI,isVNode:()=>_M,markRaw:()=>vI,mergeDefaults:()=>DC,mergeModels:()=>FC,mergeProps:()=>NM,nextTick:()=>hA,normalizeClass:()=>CE,normalizeProps:()=>OE,normalizeStyle:()=>EE,onActivated:()=>VS,onBeforeMount:()=>qS,onBeforeUnmount:()=>JS,onBeforeUpdate:()=>ZS,onDeactivated:()=>zS,onErrorCaptured:()=>rC,onMounted:()=>KS,onRenderTracked:()=>iC,onRenderTriggered:()=>nC,onScopeDispose:()=>JE,onServerPrefetch:()=>tC,onUnmounted:()=>eC,onUpdated:()=>QS,onWatcherCleanup:()=>HI,openBlock:()=>uM,popScopeId:()=>DA,provide:()=>eO,proxyRefs:()=>kI,pushScopeId:()=>NA,queuePostFlushCb:()=>mA,reactive:()=>uI,readonly:()=>dI,ref:()=>EI,registerRuntimeCompiler:()=>KM,render:()=>rN,renderList:()=>pC,renderSlot:()=>mC,resolveComponent:()=>aC,resolveDirective:()=>cC,resolveDynamicComponent:()=>uC,resolveFilter:()=>yk,resolveTransitionHooks:()=>oS,setBlockTracking:()=>pM,setDevtoolsHook:()=>gk,setTransitionHooks:()=>uS,shallowReactive:()=>cI,shallowReadonly:()=>hI,shallowRef:()=>wI,ssrContextKey:()=>OO,ssrUtils:()=>_k,stop:()=>mw,toDisplayString:()=>GE,toHandlerKey:()=>fE,toHandlers:()=>_C,toRaw:()=>yI,toRef:()=>PI,toRefs:()=>DI,toValue:()=>OI,transformVNodeArgs:()=>vM,triggerRef:()=>SI,unref:()=>CI,useAttrs:()=>kC,useCssModule:()=>ER,useCssVars:()=>Zk,useHost:()=>TR,useId:()=>hS,useModel:()=>BO,useSSRContext:()=>MO,useShadowRoot:()=>xR,useSlots:()=>MC,useTemplateRef:()=>fS,useTransitionState:()=>JA,vModelCheckbox:()=>BR,vModelDynamic:()=>GR,vModelRadio:()=>UR,vModelSelect:()=>VR,vModelText:()=>PR,vShow:()=>Xk,version:()=>hk,warn:()=>pk,watch:()=>DO,watchEffect:()=>kO,watchPostEffect:()=>RO,watchSyncEffect:()=>NO,withAsyncContext:()=>PC,withCtx:()=>LA,withDefaults:()=>OC,withDirectives:()=>PA,withKeys:()=>QR,withMemo:()=>ck,withModifiers:()=>KR,withScopeId:()=>FA});var ae={};__webpack_require__.r(ae),__webpack_require__.d(ae,{COPYFILE_EXCL:()=>VP,COPYFILE_FICLONE:()=>zP,COPYFILE_FICLONE_FORCE:()=>jP,F_OK:()=>PP,O_APPEND:()=>ZP,O_CREAT:()=>WP,O_DIRECT:()=>rB,O_DIRECTORY:()=>QP,O_DSYNC:()=>nB,O_EXCL:()=>XP,O_NOATIME:()=>JP,O_NOCTTY:()=>qP,O_NOFOLLOW:()=>eB,O_NONBLOCK:()=>sB,O_RDONLY:()=>YP,O_RDWR:()=>HP,O_SYMLINK:()=>iB,O_SYNC:()=>tB,O_TRUNC:()=>KP,O_WRONLY:()=>GP,R_OK:()=>BP,S_IFBLK:()=>cB,S_IFCHR:()=>hB,S_IFDIR:()=>dB,S_IFIFO:()=>pB,S_IFLNK:()=>lB,S_IFMT:()=>oB,S_IFREG:()=>uB,S_IFSOCK:()=>aB,S_IRGRP:()=>xB,S_IROTH:()=>AB,S_IRUSR:()=>yB,S_IRWXG:()=>TB,S_IRWXO:()=>IB,S_IRWXU:()=>_B,S_ISGID:()=>mB,S_ISUID:()=>fB,S_ISVTX:()=>gB,S_IWGRP:()=>EB,S_IWOTH:()=>SB,S_IWUSR:()=>vB,S_IXGRP:()=>wB,S_IXOTH:()=>CB,S_IXUSR:()=>bB,UV_FS_O_FILEMAP:()=>OB,W_OK:()=>$P,X_OK:()=>UP,size_max:()=>MB});var le={};__webpack_require__.r(le),__webpack_require__.d(le,{FileHandle:()=>JU,access:()=>IV,appendFile:()=>cV,chmod:()=>vV,chown:()=>_V,constants:()=>ae,copyFile:()=>CV,cp:()=>MV,exists:()=>tV,lchmod:()=>bV,lchown:()=>yV,link:()=>fV,lstat:()=>iV,lutimes:()=>xV,mkdir:()=>hV,mkdtemp:()=>SV,open:()=>aV,opendir:()=>OV,readFile:()=>lV,readdir:()=>pV,readlink:()=>gV,realpath:()=>EV,rename:()=>eV,rm:()=>AV,rmdir:()=>dV,stat:()=>nV,statfs:()=>kV,symlink:()=>mV,truncate:()=>rV,unlink:()=>sV,utimes:()=>TV,watch:()=>wV,writeFile:()=>uV});var ue={};__webpack_require__.r(ue),__webpack_require__.d(ue,{BigIntStatsFs:()=>PB,Dir:()=>WU,Dirent:()=>HU,ReadStream:()=>qU,Stats:()=>DB,StatsFs:()=>LB,WriteStream:()=>KU,_synced:()=>z$,access:()=>hz,accessSync:()=>PU,appendFile:()=>zV,appendFileSync:()=>pU,chmod:()=>az,chmodSync:()=>RU,chown:()=>sz,chownSync:()=>MU,chroot:()=>W$,close:()=>YV,closeSync:()=>mU,constants:()=>ae,copyFile:()=>Tz,copyFileSync:()=>UU,cp:()=>Iz,cpSync:()=>YU,createReadStream:()=>_z,createWriteStream:()=>yz,exists:()=>DV,existsSync:()=>nU,fchmod:()=>ZV,fchmodSync:()=>xU,fchown:()=>KV,fchownSync:()=>TU,fdatasync:()=>WV,fdatasyncSync:()=>yU,fstat:()=>jV,fstatSync:()=>fU,fsync:()=>HV,fsyncSync:()=>_U,ftruncate:()=>GV,ftruncateSync:()=>gU,futimes:()=>QV,futimesSync:()=>EU,lchmod:()=>lz,lchmodSync:()=>NU,lchown:()=>oz,lchownSync:()=>kU,link:()=>nz,linkSync:()=>SU,lopenSync:()=>uU,lstat:()=>LV,lstatSync:()=>rU,lutimes:()=>cz,lutimesSync:()=>FU,mkdir:()=>ez,mkdirSync:()=>IU,mkdtemp:()=>bz,mkdtempSync:()=>$U,mount:()=>$$,mountObject:()=>G$,mounts:()=>B$,open:()=>$V,openAsBlob:()=>Sz,openSync:()=>lU,opendir:()=>wz,opendirSync:()=>jU,promises:()=>le,read:()=>qV,readFile:()=>UV,readFileSync:()=>dU,readSync:()=>bU,readdir:()=>tz,readdirSync:()=>AU,readlink:()=>rz,readlinkSync:()=>OU,readv:()=>xz,readvSync:()=>VU,realpath:()=>dz,realpathSync:()=>LU,rename:()=>NV,renameSync:()=>tU,rm:()=>vz,rmSync:()=>BU,rmdir:()=>JV,rmdirSync:()=>wU,stat:()=>FV,statSync:()=>iU,statfs:()=>Az,statfsSync:()=>GU,symlink:()=>iz,symlinkSync:()=>CU,truncate:()=>PV,truncateSync:()=>sU,umount:()=>U$,unlink:()=>BV,unlinkSync:()=>oU,unwatchFile:()=>mz,utimes:()=>uz,utimesSync:()=>DU,watch:()=>gz,watchFile:()=>fz,write:()=>XV,writeFile:()=>VV,writeFileSync:()=>hU,writeSync:()=>vU,writev:()=>Ez,writevSync:()=>zU});var ce={};__webpack_require__.r(ce),__webpack_require__.d(ce,{maxNorm:()=>e7,minMaxNorm:()=>i7,nonNeg:()=>n7,unitNorm:()=>t7});var de={};__webpack_require__.r(de),__webpack_require__.d(de,{constant:()=>o7,glorotNormal:()=>p7,glorotUniform:()=>h7,heNormal:()=>f7,heUniform:()=>m7,identity:()=>c7,leCunNormal:()=>g7,leCunUniform:()=>_7,ones:()=>s7,orthogonal:()=>y7,randomNormal:()=>l7,randomUniform:()=>a7,truncatedNormal:()=>u7,varianceScaling:()=>d7,zeros:()=>r7});var he={};__webpack_require__.r(he),__webpack_require__.d(he,{Layer:()=>N9,RNN:()=>Vte,RNNCell:()=>zte,activation:()=>Tie,add:()=>Mie,alphaDropout:()=>bre,average:()=>kie,averagePooling1d:()=>Uie,averagePooling2d:()=>jie,averagePooling3d:()=>Hie,avgPool1d:()=>Vie,avgPool2d:()=>Yie,avgPool3d:()=>Wie,avgPooling1d:()=>zie,avgPooling2d:()=>Gie,avgPooling3d:()=>Xie,batchNormalization:()=>Pie,bidirectional:()=>hre,categoryEncoding:()=>Ire,centerCrop:()=>Ere,concatenate:()=>Rie,conv1d:()=>hie,conv2d:()=>pie,conv2dTranspose:()=>fie,conv3d:()=>mie,conv3dTranspose:()=>gie,convLstm2d:()=>lre,convLstm2dCell:()=>ure,cropping2D:()=>yie,dense:()=>xie,depthwiseConv2d:()=>bie,dot:()=>Lie,dropout:()=>Eie,elu:()=>oie,embedding:()=>Oie,flatten:()=>Iie,gaussianDropout:()=>vre,gaussianNoise:()=>yre,globalAveragePooling1d:()=>qie,globalAveragePooling2d:()=>Kie,globalMaxPool1d:()=>fre,globalMaxPool2d:()=>mre,globalMaxPooling1d:()=>Zie,globalMaxPooling2d:()=>Qie,gru:()=>nre,gruCell:()=>ire,input:()=>Bee,inputLayer:()=>sie,layerNormalization:()=>Bie,leakyReLU:()=>lie,lstm:()=>rre,lstmCell:()=>sre,masking:()=>Tre,maxPool1d:()=>gre,maxPool2d:()=>_re,maxPooling1d:()=>Jie,maxPooling2d:()=>ere,maxPooling3d:()=>tre,maximum:()=>Nie,minimum:()=>Die,multiply:()=>Fie,permute:()=>Cie,prelu:()=>uie,randomWidth:()=>Are,reLU:()=>aie,repeatVector:()=>Aie,rescaling:()=>xre,reshape:()=>Sie,resizing:()=>wre,rnn:()=>cre,separableConv2d:()=>_ie,simpleRNN:()=>ore,simpleRNNCell:()=>are,softmax:()=>cie,spatialDropout1d:()=>wie,stackedRNNCells:()=>dre,thresholdedReLU:()=>die,timeDistributed:()=>pre,upSampling2d:()=>vie,zeroPadding2d:()=>$ie});var pe={};__webpack_require__.r(pe),__webpack_require__.d(pe,{MAPE:()=>Pre,MSE:()=>Ure,binaryAccuracy:()=>Sre,binaryCrossentropy:()=>Cre,categoricalAccuracy:()=>Mre,categoricalCrossentropy:()=>kre,cosineProximity:()=>Dre,mape:()=>Bre,meanAbsoluteError:()=>Fre,meanAbsolutePercentageError:()=>Lre,meanSquaredError:()=>$re,mse:()=>Vre,precision:()=>Rre,r2Score:()=>zre,recall:()=>Nre,sparseCategoricalAccuracy:()=>Ore});var fe={};__webpack_require__.r(fe),__webpack_require__.d(fe,{modelFromJSON:()=>Nee});var me={};__webpack_require__.r(me),__webpack_require__.d(me,{l1:()=>Yre,l1l2:()=>jre,l2:()=>Gre});var ge={};__webpack_require__.r(ge),__webpack_require__.d(ge,{json:()=>dse});var _e={};__webpack_require__.r(_e),__webpack_require__.d(_e,{json:()=>hse});var ye={};__webpack_require__.r(ye),__webpack_require__.d(ye,{json:()=>pse});var ve={};__webpack_require__.r(ve),__webpack_require__.d(ve,{json:()=>fse});var be={};__webpack_require__.r(be),__webpack_require__.d(be,{json:()=>mse});var Te={};__webpack_require__.r(Te),__webpack_require__.d(Te,{json:()=>gse});var xe={};__webpack_require__.r(xe),__webpack_require__.d(xe,{json:()=>_se});var Ee={};__webpack_require__.r(Ee),__webpack_require__.d(Ee,{json:()=>yse});var we={};__webpack_require__.r(we),__webpack_require__.d(we,{json:()=>vse});var Ie={};__webpack_require__.r(Ie),__webpack_require__.d(Ie,{json:()=>bse});var Ae={};__webpack_require__.r(Ae),__webpack_require__.d(Ae,{json:()=>Tse});var Se={};__webpack_require__.r(Se),__webpack_require__.d(Se,{json:()=>xse});var Ce={};__webpack_require__.r(Ce),__webpack_require__.d(Ce,{json:()=>Ese});var Oe={};__webpack_require__.r(Oe),__webpack_require__.d(Oe,{json:()=>wse});var Me={};__webpack_require__.r(Me),__webpack_require__.d(Me,{json:()=>Ise});var ke={};__webpack_require__.r(ke),__webpack_require__.d(ke,{json:()=>Ase});var Re={};__webpack_require__.r(Re),__webpack_require__.d(Re,{json:()=>Sse});var Ne={};__webpack_require__.r(Ne),__webpack_require__.d(Ne,{json:()=>Cse});var De={};__webpack_require__.r(De),__webpack_require__.d(De,{json:()=>Ose});var Fe={};__webpack_require__.r(Fe),__webpack_require__.d(Fe,{OP_SCOPE_SUFFIX:()=>Hse.BTT,abs:()=>Hse.tnl,acos:()=>Hse.HQu,acosh:()=>Hse.FqL,add:()=>Hse.WQq,addN:()=>Hse.QiD,all:()=>Hse.Q7R,any:()=>Hse.bzn,argMax:()=>Hse.FLi,argMin:()=>Hse.XRg,asin:()=>Hse.qRo,asinh:()=>Hse.yHs,atan:()=>Hse.rYl,atan2:()=>Hse.FPz,atanh:()=>Hse.rfv,avgPool:()=>Hse.$jT,avgPool3d:()=>Hse.sub,basicLSTMCell:()=>Hse.lZX,batchNorm:()=>Hse.$v7,batchNorm2d:()=>Hse.BFc,batchNorm3d:()=>Hse.kSi,batchNorm4d:()=>Hse.T5N,batchToSpaceND:()=>Hse.GTe,bincount:()=>Hse.HbZ,bitwiseAnd:()=>Hse.vjT,booleanMaskAsync:()=>Hse.ftb,broadcastArgs:()=>Hse.ROE,broadcastTo:()=>Hse.hOW,buffer:()=>Hse.ra8,cast:()=>Hse.wgE,ceil:()=>Hse.mkO,clipByValue:()=>Hse.zQh,clone:()=>Hse.o8B,complex:()=>Hse.faB,concat:()=>Hse.xWs,concat1d:()=>Hse.I1m,concat2d:()=>Hse.RPU,concat3d:()=>Hse.O5O,concat4d:()=>Hse.P1l,conv1d:()=>Hse.kA9,conv2d:()=>Hse.Xtf,conv2dTranspose:()=>Hse.wX9,conv3d:()=>Hse.IPL,conv3dTranspose:()=>Hse.jIJ,cos:()=>Hse.gnS,cosh:()=>Hse.yIG,cosineWindow:()=>Hse._jP,cumprod:()=>Hse.Lp0,cumsum:()=>Hse.rCv,denseBincount:()=>Hse.aOp,depthToSpace:()=>Hse.Rj8,depthwiseConv2d:()=>Hse.Gl3,diag:()=>Hse.smy,dilation2d:()=>Hse.X7t,div:()=>Hse.y4m,divNoNan:()=>Hse.ek5,dot:()=>Hse.Omf,dropout:()=>Hse.EZY,einsum:()=>Hse._3C,elu:()=>Hse.Pqc,enclosingPowerOfTwo:()=>Hse.FJY,ensureShape:()=>Hse.QP2,equal:()=>Hse.LCg,erf:()=>Hse.Y12,euclideanNorm:()=>Hse.p4S,exp:()=>Hse.oNF,expandDims:()=>Hse.UG6,expm1:()=>Hse.IYd,eye:()=>Hse.y5U,fft:()=>Hse.hVP,fill:()=>Hse.GSj,floor:()=>Hse.RIf,floorDiv:()=>Hse.wh_,fused:()=>Hse.cZk,gather:()=>Hse.kgh,gatherND:()=>Hse.SY9,greater:()=>Hse.rhj,greaterEqual:()=>Hse.DQN,ifft:()=>Hse.KGM,imag:()=>Hse.ngS,image:()=>Hse.Slp,inTopKAsync:()=>Hse.U4u,irfft:()=>Hse.ggX,isFinite:()=>Hse.MIs,isInf:()=>Hse.EN4,isNaN:()=>Hse.yrW,leakyRelu:()=>Hse.H8d,less:()=>Hse.M7h,lessEqual:()=>Hse.InN,linalg:()=>Hse.mPL,linspace:()=>Hse.mT8,localResponseNormalization:()=>Hse.Kgs,log:()=>Hse.Rm2,log1p:()=>Hse.Kko,logSigmoid:()=>Hse.nqI,logSoftmax:()=>Hse.HPB,logSumExp:()=>Hse.VZ,logicalAnd:()=>Hse.n76,logicalNot:()=>Hse.NSZ,logicalOr:()=>Hse.ztW,logicalXor:()=>Hse.rxB,losses:()=>Hse.YYh,lowerBound:()=>Hse.yzS,matMul:()=>Hse.NoW,max:()=>Hse.T9B,maxPool:()=>Hse.jgi,maxPool3d:()=>Hse.NYV,maxPoolWithArgmax:()=>Hse.RO,maximum:()=>Hse.PhQ,mean:()=>Hse.i2o,meshgrid:()=>Hse.OYQ,min:()=>Hse.jkA,minimum:()=>Hse.BpO,mirrorPad:()=>Hse.FFZ,mod:()=>Hse.ziu,moments:()=>Hse.Clk,movingAverage:()=>Hse.CRk,mul:()=>Hse.lKK,multiRNNCell:()=>Hse.YDF,multinomial:()=>Hse.OjQ,neg:()=>Hse.HZy,norm:()=>Hse.xbf,notEqual:()=>Hse.Ec,oneHot:()=>Hse.Mw0,ones:()=>Hse.SaS,onesLike:()=>Hse.P61,op:()=>Hse.op,outerProduct:()=>Hse.X4o,pad:()=>Hse.eVF,pad1d:()=>Hse.BZs,pad2d:()=>Hse.grY,pad3d:()=>Hse.XHu,pad4d:()=>Hse.WLX,pool:()=>Hse.dzn,pow:()=>Hse.n7C,prelu:()=>Hse.NsG,print:()=>Hse.yyV,prod:()=>Hse._eU,raggedGather:()=>Hse.whe,raggedRange:()=>Hse.iyU,raggedTensorToTensor:()=>Hse.Q0_,rand:()=>Hse._9M,randomGamma:()=>Hse.pR9,randomNormal:()=>Hse.FE$,randomStandardNormal:()=>Hse.m0H,randomUniform:()=>Hse.YeY,randomUniformInt:()=>Hse.HYA,range:()=>Hse.y17,real:()=>Hse.xav,reciprocal:()=>Hse.VOZ,relu:()=>Hse.VVh,relu6:()=>Hse.j__,reshape:()=>Hse.tQQ,reverse:()=>Hse.BEg,reverse1d:()=>Hse.QD2,reverse2d:()=>Hse.LMr,reverse3d:()=>Hse.I2l,reverse4d:()=>Hse.JYU,rfft:()=>Hse.z8$,round:()=>Hse.LIG,rsqrt:()=>Hse.Z$r,scalar:()=>Hse.d_2,scatterND:()=>Hse.NFr,searchSorted:()=>Hse.sZg,selu:()=>Hse.WfX,separableConv2d:()=>Hse.wdz,setdiff1dAsync:()=>Hse.F12,sigmoid:()=>Hse.ry7,sign:()=>Hse._SZ,signal:()=>Hse.vPA,sin:()=>Hse.F8e,sinh:()=>Hse.L0l,slice:()=>Hse.dik,slice1d:()=>Hse.Q$M,slice2d:()=>Hse.zAd,slice3d:()=>Hse.wck,slice4d:()=>Hse.R0O,softmax:()=>Hse.Vs9,softplus:()=>Hse.lw0,spaceToBatchND:()=>Hse.eDJ,sparse:()=>Hse.lMo,sparseToDense:()=>Hse.Zhr,spectral:()=>Hse.lOn,split:()=>Hse.lDo,sqrt:()=>Hse.RZD,square:()=>Hse.EwI,squaredDifference:()=>Hse.Pbu,squeeze:()=>Hse.r2V,stack:()=>Hse.t$z,step:()=>Hse.PMw,stridedSlice:()=>Hse.Ym9,string:()=>Hse.YjP,sub:()=>Hse.jbE,sum:()=>Hse.czq,tan:()=>Hse.Mlm,tanh:()=>Hse.ymU,tensor:()=>Hse.OEK,tensor1d:()=>Hse.tGX,tensor2d:()=>Hse.KtR,tensor3d:()=>Hse.$_$,tensor4d:()=>Hse.g9W,tensor5d:()=>Hse.Lpo,tensor6d:()=>Hse.yxw,tensorScatterUpdate:()=>Hse.NNh,tile:()=>Hse.Vsq,topk:()=>Hse.rfw,transpose:()=>Hse.mgz,truncatedNormal:()=>Hse.efE,unique:()=>Hse.AmM,unsortedSegmentSum:()=>Hse.zAU,unstack:()=>Hse.K$i,upperBound:()=>Hse.rni,variable:()=>Hse.bvq,where:()=>Hse._M9,whereAsync:()=>Hse.YJN,zeros:()=>Hse.Ul9,zerosLike:()=>Hse.POl});var Le={};__webpack_require__.r(Le),__webpack_require__.d(Le,{CSVDataset:()=>pae,Dataset:()=>tae,FileDataSource:()=>Aae,TextLineDataset:()=>oae,URLDataSource:()=>Sae,array:()=>iae,csv:()=>Cae,func:()=>Oae,generator:()=>Mae,microphone:()=>Rae,version_data:()=>Nae,webcam:()=>kae,zip:()=>rae});var Pe={};__webpack_require__.r(Pe),__webpack_require__.d(Pe,{addImpl:()=>Qae,bincountImpl:()=>nle,bincountReduceImpl:()=>ile,bitwiseAndImpl:()=>rle,castImpl:()=>Wae,ceilImpl:()=>cle,concatImpl:()=>ple,equalImpl:()=>fle,expImpl:()=>_le,expm1Impl:()=>ble,floorDivImpl:()=>Ale,floorImpl:()=>Ele,gatherNdImpl:()=>Ole,gatherV2Impl:()=>Mle,greaterEqualImpl:()=>Dle,greaterImpl:()=>kle,lessEqualImpl:()=>Ule,lessImpl:()=>Ple,linSpaceImpl:()=>jle,logImpl:()=>Yle,maxImpl:()=>Wle,maximumImpl:()=>Xle,minimumImpl:()=>Zle,multiplyImpl:()=>eue,negImpl:()=>rue,notEqualImpl:()=>oue,prodImpl:()=>hue,raggedGatherImpl:()=>_ue,raggedRangeImpl:()=>vue,raggedTensorToTensorImpl:()=>wue,rangeImpl:()=>Iue,rsqrtImpl:()=>Aue,scatterImpl:()=>Oue,sigmoidImpl:()=>Mue,simpleAbsImpl:()=>Pae,sliceImpl:()=>Nue,sparseFillEmptyRowsImpl:()=>Lue,sparseReshapeImpl:()=>Pue,sparseSegmentReductionImpl:()=>Bue,sqrtImpl:()=>$ue,squaredDifferenceImpl:()=>zue,staticRegexReplaceImpl:()=>Gue,stridedSliceImpl:()=>Xue,stringNGramsImpl:()=>Kue,stringSplitImpl:()=>Que,stringToHashBucketFastImpl:()=>Jue,subImpl:()=>ece,tileImpl:()=>rce,topKImpl:()=>ace,transposeImpl:()=>uue,uniqueImpl:()=>lce});var Be={};__webpack_require__.r(Be),__webpack_require__.d(Be,{assertNotComplex:()=>wme,bindCanvasToFramebuffer:()=>Qfe,bindColorTextureToFramebuffer:()=>Jfe,bindTextureToProgramUniformSampler:()=>Zfe,bindTextureUnit:()=>Wfe,bindVertexBufferToProgramAttribute:()=>Hfe,callAndCheck:()=>Sfe,canBeRepresented:()=>Mfe,createFragmentShader:()=>Dfe,createFramebuffer:()=>Gfe,createProgram:()=>Pfe,createStaticIndexBuffer:()=>Vfe,createStaticVertexBuffer:()=>Ufe,createTexture:()=>jfe,createVertexShader:()=>Nfe,getBatchDim:()=>sme,getExtensionOrThrow:()=>Rfe,getFramebufferErrorMessage:()=>nme,getMaxTexturesInShader:()=>gme,getNumChannels:()=>zfe,getProgramUniformLocation:()=>Kfe,getProgramUniformLocationOrThrow:()=>qfe,getRowsCols:()=>ome,getShapeAs3D:()=>ame,getTextureShapeFromLogicalShape:()=>lme,getWebGLDisjointQueryTimerVersion:()=>_me,getWebGLErrorMessage:()=>kfe,getWebGLMaxTextureSize:()=>pme,hasExtension:()=>yme,isCapableOfRenderingToFloatTexture:()=>bme,isDownloadFloatTextureEnabled:()=>Tme,isReshapeFree:()=>cme,isWebGLFenceEnabled:()=>Eme,isWebGLVersionEnabled:()=>vme,linkProgram:()=>Bfe,logShaderSourceAndInfoLog:()=>Lfe,resetMaxTextureSize:()=>fme,resetMaxTexturesInShader:()=>mme,unbindColorTextureFromFramebuffer:()=>eme,unbindTextureUnit:()=>Xfe,validateFramebuffer:()=>tme,validateProgram:()=>$fe,validateTextureSize:()=>Yfe});var $e={};__webpack_require__.r($e),__webpack_require__.d($e,{bindVertexProgramAttributeStreams:()=>_ge,createBufferFromOutputTexture:()=>bge,createFloat16MatrixTexture:()=>cge,createFloat16PackedMatrixTexture:()=>gge,createFloat32MatrixTexture:()=>lge,createIndexBuffer:()=>sge,createPackedMatrixTexture:()=>fge,createUnsignedBytesMatrixTexture:()=>hge,createVertexBuffer:()=>rge,createVertexShader:()=>ige,downloadByteEncodedFloatMatrixFromOutputTexture:()=>xge,downloadFloat32MatrixFromBuffer:()=>Tge,downloadMatrixFromPackedOutputTexture:()=>wge,downloadPackedMatrixFromBuffer:()=>Ege,getInternalFormatForFloat16MatrixTexture:()=>uge,getInternalFormatForFloat16PackedMatrixTexture:()=>mge,getInternalFormatForFloat32MatrixTexture:()=>age,getInternalFormatForPackedMatrixTexture:()=>pge,getInternalFormatForUnsignedBytesMatrixTexture:()=>dge,uploadDenseMatrixToTexture:()=>yge,uploadPixelDataToTexture:()=>vge});var Ue={};__webpack_require__.r(Ue),__webpack_require__.d(Ue,{Abs:()=>v3.Abs,Acos:()=>v3.Acos,Acosh:()=>v3.Acosh,AdadeltaOptimizer:()=>v3.AdadeltaOptimizer,AdagradOptimizer:()=>v3.AdagradOptimizer,AdamOptimizer:()=>v3.AdamOptimizer,AdamaxOptimizer:()=>v3.AdamaxOptimizer,Add:()=>v3.Add,AddN:()=>v3.AddN,All:()=>v3.All,Any:()=>v3.Any,ArgMax:()=>v3.ArgMax,ArgMin:()=>v3.ArgMin,Asin:()=>v3.Asin,Asinh:()=>v3.Asinh,Atan:()=>v3.Atan,Atan2:()=>v3.Atan2,Atanh:()=>v3.Atanh,AvgPool:()=>v3.AvgPool,AvgPool3D:()=>v3.AvgPool3D,AvgPool3DGrad:()=>v3.AvgPool3DGrad,AvgPoolGrad:()=>v3.AvgPoolGrad,BatchMatMul:()=>v3.BatchMatMul,BatchToSpaceND:()=>v3.BatchToSpaceND,Bincount:()=>v3.Bincount,BitwiseAnd:()=>v3.BitwiseAnd,BroadcastArgs:()=>v3.BroadcastArgs,BroadcastTo:()=>v3.BroadcastTo,Callback:()=>Hre,CallbackList:()=>E7,Cast:()=>v3.Cast,Ceil:()=>v3.Ceil,ClipByValue:()=>v3.ClipByValue,Complex:()=>v3.Complex,ComplexAbs:()=>v3.ComplexAbs,Concat:()=>v3.Concat,Conv2D:()=>v3.Conv2D,Conv2DBackpropFilter:()=>v3.Conv2DBackpropFilter,Conv2DBackpropInput:()=>v3.Conv2DBackpropInput,Conv3D:()=>v3.Conv3D,Conv3DBackpropFilterV2:()=>v3.Conv3DBackpropFilterV2,Conv3DBackpropInputV2:()=>v3.Conv3DBackpropInputV2,Cos:()=>v3.Cos,Cosh:()=>v3.Cosh,CropAndResize:()=>v3.CropAndResize,Cumprod:()=>v3.Cumprod,Cumsum:()=>v3.Cumsum,CustomCallback:()=>A7,DataStorage:()=>v3.DataStorage,DenseBincount:()=>v3.DenseBincount,DepthToSpace:()=>v3.DepthToSpace,DepthwiseConv2dNative:()=>v3.DepthwiseConv2dNative,DepthwiseConv2dNativeBackpropFilter:()=>v3.DepthwiseConv2dNativeBackpropFilter,DepthwiseConv2dNativeBackpropInput:()=>v3.DepthwiseConv2dNativeBackpropInput,Diag:()=>v3.Diag,Dilation2D:()=>v3.Dilation2D,Dilation2DBackpropFilter:()=>v3.Dilation2DBackpropFilter,Dilation2DBackpropInput:()=>v3.Dilation2DBackpropInput,Draw:()=>v3.Draw,ENV:()=>v3.ENV,EarlyStopping:()=>qre,Einsum:()=>v3.Einsum,Elu:()=>v3.Elu,EluGrad:()=>v3.EluGrad,Environment:()=>v3.Environment,Equal:()=>v3.Equal,Erf:()=>v3.Erf,Exp:()=>v3.Exp,ExpandDims:()=>v3.ExpandDims,Expm1:()=>v3.Expm1,FFT:()=>v3.FFT,Fill:()=>v3.Fill,FlipLeftRight:()=>v3.FlipLeftRight,Floor:()=>v3.Floor,FloorDiv:()=>v3.FloorDiv,FromPixels:()=>v3.FromPixels,FusedBatchNorm:()=>v3.FusedBatchNorm,FusedConv2D:()=>v3.FusedConv2D,FusedDepthwiseConv2D:()=>v3.FusedDepthwiseConv2D,GPGPUContext:()=>Ige,GatherNd:()=>v3.GatherNd,GatherV2:()=>v3.GatherV2,GraphModel:()=>voe,Greater:()=>v3.Greater,GreaterEqual:()=>v3.GreaterEqual,History:()=>I7,IFFT:()=>v3.IFFT,Identity:()=>v3.Identity,Imag:()=>v3.Imag,InputSpec:()=>C9,IsFinite:()=>v3.IsFinite,IsInf:()=>v3.IsInf,IsNan:()=>v3.IsNan,KernelBackend:()=>v3.KernelBackend,LRN:()=>v3.LRN,LRNGrad:()=>v3.LRNGrad,LayerVariable:()=>I9,LayersModel:()=>kee,LeakyRelu:()=>v3.LeakyRelu,Less:()=>v3.Less,LessEqual:()=>v3.LessEqual,LinSpace:()=>v3.LinSpace,Log:()=>v3.Log,Log1p:()=>v3.Log1p,LogSoftmax:()=>v3.LogSoftmax,LogicalAnd:()=>v3.LogicalAnd,LogicalNot:()=>v3.LogicalNot,LogicalOr:()=>v3.LogicalOr,LogicalXor:()=>v3.LogicalXor,LowerBound:()=>v3.LowerBound,MathBackendCPU:()=>Lae,MathBackendWebGL:()=>U_e,MatrixBandPart:()=>v3.MatrixBandPart,Max:()=>v3.Max,MaxPool:()=>v3.MaxPool,MaxPool3D:()=>v3.MaxPool3D,MaxPool3DGrad:()=>v3.MaxPool3DGrad,MaxPoolGrad:()=>v3.MaxPoolGrad,MaxPoolWithArgmax:()=>v3.MaxPoolWithArgmax,Maximum:()=>v3.Maximum,Mean:()=>v3.Mean,Min:()=>v3.Min,Minimum:()=>v3.Minimum,MirrorPad:()=>v3.MirrorPad,Mod:()=>v3.Mod,MomentumOptimizer:()=>v3.MomentumOptimizer,Multinomial:()=>v3.Multinomial,Multiply:()=>v3.Multiply,Neg:()=>v3.Neg,NonMaxSuppressionV3:()=>v3.NonMaxSuppressionV3,NonMaxSuppressionV4:()=>v3.NonMaxSuppressionV4,NonMaxSuppressionV5:()=>v3.NonMaxSuppressionV5,NotEqual:()=>v3.NotEqual,OP_SCOPE_SUFFIX:()=>v3.OP_SCOPE_SUFFIX,OneHot:()=>v3.OneHot,OnesLike:()=>v3.OnesLike,Optimizer:()=>v3.Optimizer,OptimizerConstructors:()=>v3.OptimizerConstructors,Pack:()=>v3.Pack,PadV2:()=>v3.PadV2,Pool:()=>v3.Pool,Pow:()=>v3.Pow,Prelu:()=>v3.Prelu,Prod:()=>v3.Prod,RMSPropOptimizer:()=>v3.RMSPropOptimizer,RNN:()=>Vte,RaggedGather:()=>v3.RaggedGather,RaggedRange:()=>v3.RaggedRange,RaggedTensorToTensor:()=>v3.RaggedTensorToTensor,Range:()=>v3.Range,Rank:()=>v3.Rank,Real:()=>v3.Real,RealDiv:()=>v3.RealDiv,Reciprocal:()=>v3.Reciprocal,Reduction:()=>v3.Reduction,Relu:()=>v3.Relu,Relu6:()=>v3.Relu6,Reshape:()=>v3.Reshape,ResizeBilinear:()=>v3.ResizeBilinear,ResizeBilinearGrad:()=>v3.ResizeBilinearGrad,ResizeNearestNeighbor:()=>v3.ResizeNearestNeighbor,ResizeNearestNeighborGrad:()=>v3.ResizeNearestNeighborGrad,Reverse:()=>v3.Reverse,RotateWithOffset:()=>v3.RotateWithOffset,Round:()=>v3.Round,Rsqrt:()=>v3.Rsqrt,SGDOptimizer:()=>v3.SGDOptimizer,ScatterNd:()=>v3.ScatterNd,SearchSorted:()=>v3.SearchSorted,Select:()=>v3.Select,Selu:()=>v3.Selu,Sequential:()=>Fee,Sigmoid:()=>v3.Sigmoid,Sign:()=>v3.Sign,Sin:()=>v3.Sin,Sinh:()=>v3.Sinh,Slice:()=>v3.Slice,Softmax:()=>v3.Softmax,Softplus:()=>v3.Softplus,SpaceToBatchND:()=>v3.SpaceToBatchND,SparseFillEmptyRows:()=>v3.SparseFillEmptyRows,SparseReshape:()=>v3.SparseReshape,SparseSegmentMean:()=>v3.SparseSegmentMean,SparseSegmentSum:()=>v3.SparseSegmentSum,SparseToDense:()=>v3.SparseToDense,SplitV:()=>v3.SplitV,Sqrt:()=>v3.Sqrt,Square:()=>v3.Square,SquaredDifference:()=>v3.SquaredDifference,StaticRegexReplace:()=>v3.StaticRegexReplace,Step:()=>v3.Step,StridedSlice:()=>v3.StridedSlice,StringNGrams:()=>v3.StringNGrams,StringSplit:()=>v3.StringSplit,StringToHashBucketFast:()=>v3.StringToHashBucketFast,Sub:()=>v3.Sub,Sum:()=>v3.Sum,SymbolicTensor:()=>O9,Tan:()=>v3.Tan,Tanh:()=>v3.Tanh,Tensor:()=>v3.Tensor,TensorBuffer:()=>v3.TensorBuffer,TensorScatterUpdate:()=>v3.TensorScatterUpdate,Tile:()=>v3.Tile,TopK:()=>v3.TopK,Transform:()=>v3.Transform,Transpose:()=>v3.Transpose,Unique:()=>v3.Unique,Unpack:()=>v3.Unpack,UnsortedSegmentSum:()=>v3.UnsortedSegmentSum,UpperBound:()=>v3.UpperBound,Variable:()=>v3.Variable,ZerosLike:()=>v3.ZerosLike,_FusedMatMul:()=>v3._FusedMatMul,abs:()=>v3.abs,acos:()=>v3.acos,acosh:()=>v3.acosh,add:()=>v3.add,addN:()=>v3.addN,all:()=>v3.all,any:()=>v3.any,argMax:()=>v3.argMax,argMin:()=>v3.argMin,asin:()=>v3.asin,asinh:()=>v3.asinh,atan:()=>v3.atan,atan2:()=>v3.atan2,atanh:()=>v3.atanh,avgPool:()=>v3.avgPool,avgPool3d:()=>v3.avgPool3d,backend:()=>v3.backend,backend_util:()=>v3.backend_util,basicLSTMCell:()=>v3.basicLSTMCell,batchNorm:()=>v3.batchNorm,batchNorm2d:()=>v3.batchNorm2d,batchNorm3d:()=>v3.batchNorm3d,batchNorm4d:()=>v3.batchNorm4d,batchToSpaceND:()=>v3.batchToSpaceND,bincount:()=>v3.bincount,bitwiseAnd:()=>v3.bitwiseAnd,booleanMaskAsync:()=>v3.booleanMaskAsync,broadcastArgs:()=>v3.broadcastArgs,broadcastTo:()=>v3.broadcastTo,broadcast_util:()=>v3.broadcast_util,browser:()=>v3.browser,buffer:()=>v3.buffer,callbacks:()=>Kre,cast:()=>v3.cast,ceil:()=>v3.ceil,clipByValue:()=>v3.clipByValue,clone:()=>v3.clone,complex:()=>v3.complex,concat:()=>v3.concat,concat1d:()=>v3.concat1d,concat2d:()=>v3.concat2d,concat3d:()=>v3.concat3d,concat4d:()=>v3.concat4d,constraints:()=>ce,conv1d:()=>v3.conv1d,conv2d:()=>v3.conv2d,conv2dTranspose:()=>v3.conv2dTranspose,conv3d:()=>v3.conv3d,conv3dTranspose:()=>v3.conv3dTranspose,copyRegisteredKernels:()=>v3.copyRegisteredKernels,cos:()=>v3.cos,cosh:()=>v3.cosh,cosineWindow:()=>v3.cosineWindow,cumprod:()=>v3.cumprod,cumsum:()=>v3.cumsum,customGrad:()=>v3.customGrad,data:()=>Le,denseBincount:()=>v3.denseBincount,deprecationWarn:()=>v3.deprecationWarn,depthToSpace:()=>v3.depthToSpace,depthwiseConv2d:()=>v3.depthwiseConv2d,deregisterOp:()=>nse,device_util:()=>v3.device_util,diag:()=>v3.diag,dilation2d:()=>v3.dilation2d,disableDeprecationWarnings:()=>v3.disableDeprecationWarnings,dispose:()=>v3.dispose,disposeVariables:()=>v3.disposeVariables,div:()=>v3.div,divNoNan:()=>v3.divNoNan,dot:()=>v3.dot,dropout:()=>v3.dropout,einsum:()=>v3.einsum,elu:()=>v3.elu,enableDebugMode:()=>v3.enableDebugMode,enableProdMode:()=>v3.enableProdMode,enclosingPowerOfTwo:()=>v3.enclosingPowerOfTwo,engine:()=>v3.engine,ensureShape:()=>v3.ensureShape,env:()=>v3.env,equal:()=>v3.equal,erf:()=>v3.erf,euclideanNorm:()=>v3.euclideanNorm,exp:()=>v3.exp,expandDims:()=>v3.expandDims,expm1:()=>v3.expm1,eye:()=>v3.eye,fft:()=>v3.fft,fill:()=>v3.fill,findBackend:()=>v3.findBackend,findBackendFactory:()=>v3.findBackendFactory,floor:()=>v3.floor,floorDiv:()=>v3.floorDiv,forceHalfFloat:()=>z_e,fused:()=>v3.fused,gather:()=>v3.gather,gatherND:()=>v3.gatherND,gather_util:()=>v3.gather_util,getBackend:()=>v3.getBackend,getGradient:()=>v3.getGradient,getKernel:()=>v3.getKernel,getKernelsForBackend:()=>v3.getKernelsForBackend,gpgpu_util:()=>$e,grad:()=>v3.grad,grads:()=>v3.grads,greater:()=>v3.greater,greaterEqual:()=>v3.greaterEqual,ifft:()=>v3.ifft,imag:()=>v3.imag,image:()=>v3.image,inTopKAsync:()=>v3.inTopKAsync,initializers:()=>de,input:()=>Bee,io:()=>v3.io,irfft:()=>v3.irfft,isFinite:()=>v3.isFinite,isInf:()=>v3.isInf,isNaN:()=>v3.isNaN,keep:()=>v3.keep,kernel_impls:()=>v3.kernel_impls,layers:()=>he,leakyRelu:()=>v3.leakyRelu,less:()=>v3.less,lessEqual:()=>v3.lessEqual,linalg:()=>v3.linalg,linspace:()=>v3.linspace,loadGraphModel:()=>boe,loadGraphModelSync:()=>Toe,loadLayersModel:()=>Dee,localResponseNormalization:()=>v3.localResponseNormalization,log:()=>v3.log,log1p:()=>v3.log1p,logSigmoid:()=>v3.logSigmoid,logSoftmax:()=>v3.logSoftmax,logSumExp:()=>v3.logSumExp,logicalAnd:()=>v3.logicalAnd,logicalNot:()=>v3.logicalNot,logicalOr:()=>v3.logicalOr,logicalXor:()=>v3.logicalXor,losses:()=>v3.losses,lowerBound:()=>v3.lowerBound,matMul:()=>v3.matMul,math:()=>v3.math,max:()=>v3.max,maxPool:()=>v3.maxPool,maxPool3d:()=>v3.maxPool3d,maxPoolWithArgmax:()=>v3.maxPoolWithArgmax,maximum:()=>v3.maximum,mean:()=>v3.mean,memory:()=>v3.memory,meshgrid:()=>v3.meshgrid,metrics:()=>pe,min:()=>v3.min,minimum:()=>v3.minimum,mirrorPad:()=>v3.mirrorPad,mod:()=>v3.mod,model:()=>Lee,models:()=>fe,moments:()=>v3.moments,movingAverage:()=>v3.movingAverage,mul:()=>v3.mul,multiRNNCell:()=>v3.multiRNNCell,multinomial:()=>v3.multinomial,neg:()=>v3.neg,nextFrame:()=>v3.nextFrame,norm:()=>v3.norm,notEqual:()=>v3.notEqual,oneHot:()=>v3.oneHot,ones:()=>v3.ones,onesLike:()=>v3.onesLike,op:()=>v3.op,outerProduct:()=>v3.outerProduct,pad:()=>v3.pad,pad1d:()=>v3.pad1d,pad2d:()=>v3.pad2d,pad3d:()=>v3.pad3d,pad4d:()=>v3.pad4d,pool:()=>v3.pool,pow:()=>v3.pow,prelu:()=>v3.prelu,print:()=>v3.print,prod:()=>v3.prod,profile:()=>v3.profile,raggedGather:()=>v3.raggedGather,raggedRange:()=>v3.raggedRange,raggedTensorToTensor:()=>v3.raggedTensorToTensor,rand:()=>v3.rand,randomGamma:()=>v3.randomGamma,randomNormal:()=>v3.randomNormal,randomStandardNormal:()=>v3.randomStandardNormal,randomUniform:()=>v3.randomUniform,randomUniformInt:()=>v3.randomUniformInt,range:()=>v3.range,ready:()=>v3.ready,real:()=>v3.real,reciprocal:()=>v3.reciprocal,registerBackend:()=>v3.registerBackend,registerCallbackConstructor:()=>$ee,registerGradient:()=>v3.registerGradient,registerKernel:()=>v3.registerKernel,registerOp:()=>ese,regularizers:()=>me,relu:()=>v3.relu,relu6:()=>v3.relu6,removeBackend:()=>v3.removeBackend,reshape:()=>v3.reshape,reverse:()=>v3.reverse,reverse1d:()=>v3.reverse1d,reverse2d:()=>v3.reverse2d,reverse3d:()=>v3.reverse3d,reverse4d:()=>v3.reverse4d,rfft:()=>v3.rfft,round:()=>v3.round,rsqrt:()=>v3.rsqrt,scalar:()=>v3.scalar,scatterND:()=>v3.scatterND,scatter_util:()=>v3.scatter_util,searchSorted:()=>v3.searchSorted,selu:()=>v3.selu,separableConv2d:()=>v3.separableConv2d,sequential:()=>Pee,serialization:()=>v3.serialization,setBackend:()=>v3.setBackend,setPlatform:()=>v3.setPlatform,setWebGLContext:()=>yfe,setdiff1dAsync:()=>v3.setdiff1dAsync,shared:()=>Pe,sigmoid:()=>v3.sigmoid,sign:()=>v3.sign,signal:()=>v3.signal,sin:()=>v3.sin,sinh:()=>v3.sinh,slice:()=>v3.slice,slice1d:()=>v3.slice1d,slice2d:()=>v3.slice2d,slice3d:()=>v3.slice3d,slice4d:()=>v3.slice4d,slice_util:()=>v3.slice_util,softmax:()=>v3.softmax,softplus:()=>v3.softplus,spaceToBatchND:()=>v3.spaceToBatchND,sparse:()=>v3.sparse,sparseToDense:()=>v3.sparseToDense,spectral:()=>v3.spectral,split:()=>v3.split,sqrt:()=>v3.sqrt,square:()=>v3.square,squaredDifference:()=>v3.squaredDifference,squeeze:()=>v3.squeeze,stack:()=>v3.stack,step:()=>v3.step,stridedSlice:()=>v3.stridedSlice,string:()=>v3.string,sub:()=>v3.sub,sum:()=>v3.sum,sumOutType:()=>v3.sumOutType,tan:()=>v3.tan,tanh:()=>v3.tanh,tensor:()=>v3.tensor,tensor1d:()=>v3.tensor1d,tensor2d:()=>v3.tensor2d,tensor3d:()=>v3.tensor3d,tensor4d:()=>v3.tensor4d,tensor5d:()=>v3.tensor5d,tensor6d:()=>v3.tensor6d,tensorScatterUpdate:()=>v3.tensorScatterUpdate,tensor_util:()=>v3.tensor_util,test_util:()=>v3.test_util,tidy:()=>v3.tidy,tile:()=>v3.tile,time:()=>v3.time,topk:()=>v3.topk,train:()=>v3.train,transpose:()=>v3.transpose,truncatedNormal:()=>v3.truncatedNormal,unique:()=>v3.unique,unregisterGradient:()=>v3.unregisterGradient,unregisterKernel:()=>v3.unregisterKernel,unsortedSegmentSum:()=>v3.unsortedSegmentSum,unstack:()=>v3.unstack,upcastType:()=>v3.upcastType,upperBound:()=>v3.upperBound,util:()=>v3.util,valueAndGrad:()=>v3.valueAndGrad,valueAndGrads:()=>v3.valueAndGrads,variable:()=>v3.variable,variableGrads:()=>v3.variableGrads,version:()=>Lwe,version_converter:()=>xoe,version_core:()=>v3.version_core,version_cpu:()=>uce,version_layers:()=>dee,version_webgl:()=>V_e,webgl:()=>j_e,webgl_util:()=>Be,where:()=>v3.where,whereAsync:()=>v3.whereAsync,zeros:()=>v3.zeros,zerosLike:()=>v3.zerosLike});const Ve=Blockly;Object.assign(Ve.Lang.ZhHans,{PYTHON_PYODIDE_IMAGE:"图像",PYTHON_PYODIDE_TOOL:"可教机器",PYTHON_PYODIDE_GAME:"生命游戏",PYTHON_PYODIDE_GAME_EPOCH:"代数",PYTHON_PYODIDE_GAME_START:"开始",PYTHON_PYODIDE_GAME_PAUSE:"暂停",PYTHON_PYODIDE_GAME_RANDOM:"随机初始化",PYTHON_PYODIDE_GAME_RESET:"重置",PYTHON_PYODIDE_LOADING:"Python3内核载入中...",PYTHON_PYODIDE_FILE_SYSTEM:"本地文件系统",PYTHON_PYODIDE_LOAD_FILE_SYSTEM:"载入本地文件夹"}),Object.assign(Ve.Lang.ZhHant,{PYTHON_PYODIDE_IMAGE:"影像",PYTHON_PYODIDE_TOOL:"可教機器",PYTHON_PYODIDE_GAME:"生命遊戲",PYTHON_PYODIDE_GAME_EPOCH:"代數",PYTHON_PYODIDE_GAME_START:"開始",PYTHON_PYODIDE_GAME_PAUSE:"暫停",PYTHON_PYODIDE_GAME_RANDOM:"隨機初始化",PYTHON_PYODIDE_GAME_RESET:"重置",PYTHON_PYODIDE_LOADING:"Python3核心載入...",PYTHON_PYODIDE_FILE_SYSTEM:"本機檔案系統",PYTHON_PYODIDE_LOAD_FILE_SYSTEM:"載入本機資料夾"}),Object.assign(Ve.Lang.En,{PYTHON_PYODIDE_IMAGE:"Image",PYTHON_PYODIDE_TOOL:"Teachable Machine",PYTHON_PYODIDE_GAME:"Game of Life",PYTHON_PYODIDE_GAME_EPOCH:"Iterations",PYTHON_PYODIDE_GAME_START:"Start",PYTHON_PYODIDE_GAME_PAUSE:"Pause",PYTHON_PYODIDE_GAME_RANDOM:"Random Initialization",PYTHON_PYODIDE_GAME_RESET:"Reset",PYTHON_PYODIDE_LOADING:"Python3 kernel loading...",PYTHON_PYODIDE_FILE_SYSTEM:"Local File System",PYTHON_PYODIDE_LOAD_FILE_SYSTEM:"Load Local Folder"}),Object.assign(Ve.Lang.ZhHans.MSG,{}),Object.assign(Ve.Lang.ZhHant.MSG,{}),Object.assign(Ve.Lang.En.MSG,{});const ze=Mixly,je={NAME_TYPE:"VARIABLE",allVariables:function(e){var t;if(e.getDescendants)t=e.getDescendants();else{if(!e.getAllBlocks)throw"Not Block or Workspace: "+e;t=e.getAllBlocks()}for(var n=Object.create(null),i=0;i1&&(o+=i)):n=o}else n="i";return n}},Ye=je; /** * @license * Visual Blocks Editor @@ -10130,34 +10130,34 @@ function Qge(e,t,n,i){return new(n||(n=Promise))(function(r,s){function o(e){try * See the License for the specific language governing permissions and * limitations under the License. */ -class Ge{constructor(e,t){if(this.variablePrefix_=t||"",this.reservedDict_=Object.create(null),e)for(var n=e.split(","),i=0;i0;r--)t.getInputTargetBlock("IF"+r)&&t.getInputTargetBlock("IF"+r).previousConnection?n[r]=t.getInputTargetBlock("IF"+r).previousConnection:n[r]=null,this.removeInput("IF"+r),t.getInputTargetBlock("DO"+r)&&t.getInputTargetBlock("DO"+r).previousConnection?i[r]=t.getInputTargetBlock("DO"+r).previousConnection:i[r]=null,this.removeInput("DO"+r);this.elseifCount_=parseInt(e.getAttribute("elseif"),10),this.elseCount_=parseInt(e.getAttribute("else"),10);for(r=1;r<=this.elseifCount_;r++)this.appendValueInput("IF"+r).setCheck([Boolean,Number]).appendField(Ve.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+r).appendField(Ve.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(Ve.Msg.CONTROLS_IF_MSG_ELSE);for(r=n.length-2;r>0;r--)n[r]&&n[r].reconnect(this,"IF"+r);for(r=i.length-2;r>0;r--)i[r]&&i[r].reconnect(this,"DO"+r)},decompose:function(e){var t=e.newBlock("controls_if_if");t.initSvg();for(var n=t.getInput("STACK").connection,i=1;i<=this.elseifCount_;i++){var r=e.newBlock("controls_if_elseif");r.initSvg(),n.connect(r.previousConnection),n=r.nextConnection}if(this.elseCount_){var s=e.newBlock("controls_if_else");s.initSvg(),n.connect(s.previousConnection)}return t},compose:function(e){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var t=this.elseifCount_;t>0;t--)this.removeInput("IF"+t),this.removeInput("DO"+t);this.elseifCount_=0;for(var n=e.getInputTargetBlock("STACK"),i=[null],r=[null],s=null;n;){switch(n.type){case"controls_if_elseif":this.elseifCount_++,i.push(n.valueConnection_),r.push(n.statementConnection_);break;case"controls_if_else":this.elseCount_++,s=n.statementConnection_;break;default:throw Error("Unknown block type: "+n.type)}n=n.nextConnection&&n.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(i,r,s)},saveConnections:function(e){for(var t=e.getInputTargetBlock("STACK"),n=1;t;){switch(t.type){case"controls_if_elseif":var i=this.getInput("IF"+n),r=this.getInput("DO"+n);t.valueConnection_=i&&i.connection.targetConnection,t.statementConnection_=r&&r.connection.targetConnection,n++;break;case"controls_if_else":r=this.getInput("ELSE");t.statementConnection_=r&&r.connection.targetConnection;break;default:throw"Unknown block type."}t=t.nextConnection&&t.nextConnection.targetBlock()}},rebuildShape_:function(){var e=[null],t=[null],n=null;this.getInput("ELSE")&&(n=this.getInput("ELSE").connection.targetConnection);for(var i=1;this.getInput("IF"+i);){var r=this.getInput("IF"+i),s=this.getInput("DO"+i);console.log(r.connection.targetConnection),e.push(r.connection.targetConnection),t.push(s.connection.targetConnection),i++}this.updateShape_(),this.reconnectChildBlocks_(e,t,n)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var e=1;this.getInput("IF"+e);)this.removeInput("IF"+e),this.removeInput("DO"+e),e++;for(e=1;e<=this.elseifCount_;e++)this.appendValueInput("IF"+e).setCheck([Number,Boolean]).appendField(Ve.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+e).appendField(Ve.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(Ve.Msg.CONTROLS_IF_MSG_ELSE)},reconnectChildBlocks_:function(e,t,n){for(var i=1;i<=this.elseifCount_;i++)e[i]&&e[i].reconnect(this,"IF"+i),t[i]&&t[i].reconnect(this,"DO"+i);n&&n.reconnect(this,"ELSE")}},ct={init:function(){this.setColour(rt),this.appendValueInput("FROM").setCheck(Number).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.PYTHON_RANGE).appendField(Ve.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.PYTHON_RANGE_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Ve.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},dt={init:function(){this.setColour(rt),this.appendValueInput("LIST").setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.CONTROLS_FOREACH_INPUT),this.appendValueInput("VAR").appendField(Ve.Msg.CONTROLS_FOREACH_INPUT_ITEM),this.appendStatementInput("DO").appendField(Ve.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(function(){return Ve.Msg.CONTROLS_FOR_TOOLTIP.replace("“%1”","")})},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Ve.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},ht={init:function(){this.setColour(rt),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(Ve.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(new Ve.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(Ve.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT+Ve.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip(function(){var t=e.getFieldValue("MODE");return{WHILE:Ve.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:Ve.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[t]})}},pt={init:function(){this.setColour(rt),this.appendDummyInput().appendField(Ve.Msg.MIXLY_PYTHON_TRY),this.appendStatementInput("try"),this.appendValueInput("IF1").appendField(Ve.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO1").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Ve.icons.MutatorIcon(["controls_except","controls_finally"],this)),this.setTooltip(Ve.Msg.MIXLY_MIXPY_CONTROL_TRY_TOOLTIP),this.elseifCount_=1,this.elseCount_=0},mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var e=document.createElement("mutation");return this.elseifCount_&&e.setAttribute("elseif",this.elseifCount_),this.elseCount_&&e.setAttribute("else",1),e},domToMutation:function(e){var t=this,n=[],i=[];this.elseCount_&&this.removeInput("ELSE");for(var r=this.elseifCount_;r>0;r--)t.getInputTargetBlock("IF"+r)&&t.getInputTargetBlock("IF"+r).previousConnection?n[r]=t.getInputTargetBlock("IF"+r).previousConnection:n[r]=null,this.removeInput("IF"+r),t.getInputTargetBlock("DO"+r)&&t.getInputTargetBlock("DO"+r).previousConnection?i[r]=t.getInputTargetBlock("DO"+r).previousConnection:i[r]=null,this.removeInput("DO"+r);this.elseifCount_=parseInt(e.getAttribute("elseif"),10),this.elseCount_=parseInt(e.getAttribute("else"),10);for(r=1;r<=this.elseifCount_;r++)this.appendValueInput("IF"+r).setCheck([Boolean,Number]).appendField(Ve.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+r).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(Ve.Msg.MIXLY_PYTHON_FINALLY);for(r=n.length-2;r>0;r--)n[r]&&n[r].reconnect(this,"IF"+r);for(r=i.length-2;r>0;r--)i[r]&&i[r].reconnect(this,"DO"+r)},decompose:function(e){var t=e.newBlock("controls_try");t.initSvg();for(var n=t.getInput("STACK").connection,i=1;i<=this.elseifCount_;i++){var r=e.newBlock("controls_except");r.initSvg(),n.connect(r.previousConnection),n=r.nextConnection}if(this.elseCount_){var s=e.newBlock("controls_finally");s.initSvg(),n.connect(s.previousConnection)}return t},compose:function(e){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var t=this.elseifCount_;t>0;t--)this.removeInput("IF"+t),this.removeInput("DO"+t);this.elseifCount_=0;for(var n=e.getInputTargetBlock("STACK"),i=[null],r=[null],s=null;n;){switch(n.type){case"controls_except":this.elseifCount_++,i.push(n.valueConnection_),r.push(n.statementConnection_);break;case"controls_finally":this.elseCount_++,s=n.statementConnection_;break;default:throw Error("Unknown block type: "+n.type)}n=n.nextConnection&&n.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(i,r,s)},saveConnections:function(e){for(var t=e.getInputTargetBlock("STACK"),n=1;t;){switch(t.type){case"controls_except":var i=this.getInput("IF"+n),r=this.getInput("DO"+n);t.valueConnection_=i&&i.connection.targetConnection,t.statementConnection_=r&&r.connection.targetConnection,n++;break;case"controls_finally":r=this.getInput("ELSE");t.statementConnection_=r&&r.connection.targetConnection;break;default:throw"Unknown block type."}t=t.nextConnection&&t.nextConnection.targetBlock()}},rebuildShape_:function(){var e=[null],t=[null],n=null;this.getInput("ELSE")&&(n=this.getInput("ELSE").connection.targetConnection);for(var i=1;this.getInput("IF"+i);){var r=this.getInput("IF"+i),s=this.getInput("DO"+i);console.log(r.connection.targetConnection),e.push(r.connection.targetConnection),t.push(s.connection.targetConnection),i++}this.updateShape_(),this.reconnectChildBlocks_(e,t,n)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var e=1;this.getInput("IF"+e);)this.removeInput("IF"+e),this.removeInput("DO"+e),e++;for(e=1;e<=this.elseifCount_;e++)this.appendValueInput("IF"+e).setCheck([Number,Boolean]).appendField(Ve.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+e).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(Ve.Msg.MIXLY_PYTHON_FINALLY)},reconnectChildBlocks_:function(e,t,n){for(var i=1;i<=this.elseifCount_;i++)e[i]&&e[i].reconnect(this,"IF"+i),t[i]&&t[i].reconnect(this,"DO"+i);n&&n.reconnect(this,"ELSE")}},ft={init:function(){this.setColour(rt);var e=new Ve.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(e,"FLOW").appendField(Ve.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0),this.setTooltip(Ve.Msg.MIXLY_PYTHON_CONTROLS_FLOW_STATEMENTS_TOOLTIP);var t=this;this.setTooltip(function(){var e=t.getFieldValue("FLOW");return{BREAK:Ve.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:Ve.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}[e]})},onchange:function(){if(this.workspace){var e=!1,t=this;do{if("controls_repeat"==t.type||"controls_for"==t.type||"controls_forEach"==t.type||"controls_repeat_ext"==t.type||"controls_whileUntil"==t.type||"do_while"==t.type){e=!0;break}t=t.getSurroundParent()}while(t);e?this.setWarningText(null):this.setWarningText(Ve.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}},mt={init:function(){this.setColour(rt),this.appendDummyInput().appendField(Ve.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new Ve.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(Ve.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var e=this;this.setTooltip(function(){return Ve.Msg.CONTROLS_FOR_TOOLTIP.replace("%1",e.getFieldValue("VAR"))})},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Ve.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},gt={init:function(){this.setColour(rt),this.appendDummyInput().appendField(Ve.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new Ve.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(Ve.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var e=this;this.setTooltip(function(){return Ve.Msg.MIXLY_PYTHON_CONTROLS_FOR_RANGE_TOOLTIP.replace("%1",e.getFieldValue("VAR"))})},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Ve.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}};ht.OPERATORS=[[Ve.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[Ve.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]],ft.OPERATORS=[[Ve.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[Ve.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const _t={init:function(){this.setColour(rt),this.appendDummyInput().appendField(Ve.Msg.CONTROLS_IF_IF_TITLE_IF),this.appendStatementInput("STACK"),this.setTooltip(Ve.Msg.CONTROLS_IF_IF_TOOLTIP),this.contextMenu=!1}},yt={init:function(){this.setColour(rt),this.appendDummyInput().appendField(Ve.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},vt={init:function(){this.setColour(rt),this.appendDummyInput().appendField(Ve.Msg.CONTROLS_IF_ELSE_TITLE_ELSE),this.setPreviousStatement(!0),this.setTooltip(Ve.Msg.CONTROLS_IF_ELSE_TOOLTIP),this.contextMenu=!1}},bt={init:function(){this.setColour(rt),this.appendDummyInput().appendField("try"),this.appendStatementInput("STACK"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.contextMenu=!1}},Tt={init:function(){this.setColour(rt),this.appendDummyInput().appendField(Ve.Msg.MIXLY_PYTHON_EXCEPT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1,this.setTooltip(Ve.Msg.MIXLY_MIXPY_CONTROL_EXCEPT_TOOLTIP)}},xt={init:function(){this.setColour(rt),this.appendDummyInput().appendField(Ve.Msg.MIXLY_PYTHON_FINALLY),this.setPreviousStatement(!0),this.contextMenu=!1,this.setTooltip(Ve.Msg.MIXLY_MIXPY_CONTROL_FINALLY_TOOLTIP)}},Et={init:function(){this.jsonInit({message0:Ve.Msg.CONTROLS_REPEAT_TITLE,args0:[{type:"input_value",name:"TIMES"}],previousStatement:null,nextStatement:null,colour:rt,tooltip:Ve.Msg.CONTROLS_REPEAT_TOOLTIP,helpUrl:Ve.Msg.CONTROLS_REPEAT_HELPURL}),this.appendStatementInput("DO")}},wt={init:function(){this.setColour(rt),this.appendValueInput("BOOL").appendField("lambda"),this.appendStatementInput("DO").appendField(Ve.Msg.MIXLY_STAT),this.setOutput(!0)}},It={init:function(){this.setColour(rt),this.appendDummyInput().appendField(Ve.Msg.MIXLY_PYTHON_PASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_PYTHON_CONTROLS_PASS_TOOLTIP)}},At={init:function(){this.setColour(rt),this.appendDummyInput().appendField(Ve.Msg.MIXLY_PYTHON_CONTROLS_THREAD_START),this.appendValueInput("callback").appendField(Ve.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.appendValueInput("VAR").appendField(Ve.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ve.Msg.MIXLY_PYTHON_CONTROLS_THREAD_TOOLTIP)}},St={init:function(){this.appendDummyInput().appendField(Ve.Msg.CONTROLS_REPEAT_TITLE_REPEAT+Ve.Msg.MIXLY_DO),this.appendStatementInput("input_data").setCheck(null),this.appendValueInput("select_data").setCheck(null).appendField(Ve.Msg.CONTROLS_OPERATOR_UNTIL).appendField(new Ve.FieldDropdown([[Ve.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"true"],[Ve.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"false"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(rt),this.setTooltip("do-while loop"),this.setHelpUrl("")}},Ct={init:function(){this.setColour(rt),this.appendDummyInput().appendField(Ve.Msg.MIXLY_OP_GARBAGE_COLLECT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ot={init:function(){this.setColour(rt),this.appendDummyInput().appendField(Ve.Msg.MIXLY_GET_MEM_ALLOC),this.setOutput(!0)}},Mt={init:function(){this.setColour(rt),this.appendDummyInput().appendField(Ve.Msg.MIXLY_GET_MEM_FREE),this.setOutput(!0)}},kt={init:function(){this.setColour(rt),this.appendDummyInput().appendField(Ve.Msg.MIXLY_GET+Ve.Msg.MIXLY_DEVICE+"ID"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Ve.Msg.PROCEDURES_DEFRETURN_RETURN+Ve.Msg.MIXLY_GET_UNIQUE_IDEN)}},Rt={init:function(){this.setColour(rt),this.appendValueInput("VAR").appendField(Ve.Msg.MIXLY_RTC_TIMESTAMP),this.appendDummyInput().appendField(Ve.Msg.MIXLY_TIMESTAMP_TO_DATA),this.setInputsInline(!0),this.setOutput(!0,Number)}},Nt={init:function(){this.setColour(rt),this.appendDummyInput().appendField(Ve.Msg.MIXLY_GET_UNIQUE_IDEN),this.setOutput(!0)}},Dt=230;Ve.FieldTextInput.math_number_validator=function(e){return String(e)},Ve.FieldTextInput.math_number_validator_include_blank=function(e){if(""===e)return"";return/^-?(0X|0x|0O|0o|0B|0b)?[a-fA-F0-9]{1,}(\.[a-fA-F0-9]+)?$/.test(e)?String(e):null};const Ft={init:function(){this.setColour(Dt),this.appendDummyInput().appendField(new Ve.FieldTextInput("0",Ve.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(Ve.Msg.MATH_NUMBER_TOOLTIP)}},Lt={init:function(){this.setColour(Dt);this.appendDummyInput("").appendField(Ve.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new Ve.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var e=this;this.setTooltip(function(){var t=e.getFieldValue("CONSTANT");return{pi:Ve.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_TOOLTIP,e:Ve.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_TOOLTIP}[t]})}},Pt={init:function(){this.setColour(Dt);this.appendDummyInput("").appendField(Ve.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new Ve.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var e=this;this.setTooltip(function(){var t=e.getFieldValue("CONSTANT");return{pi:Ve.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_MP_TOOLTIP,e:Ve.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_MP_TOOLTIP}[t]})}},Bt={init:function(){this.setColour(Dt),this.setOutput(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Ve.FieldDropdown([["+","ADD"],["-","MINUS"],["×","MULTIPLY"],["÷","DIVIDE"],["%","QUYU"],["//","ZHENGCHU"],["**","POWER"]]),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip(function(){var t=e.getFieldValue("OP");return{ADD:Ve.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:Ve.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:Ve.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:Ve.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:Ve.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:Ve.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:Ve.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[t]})}},$t={init:function(){this.setColour(Dt),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Ve.FieldDropdown([["+=","ADD"],["-=","MINUS"],["×=","MULTIPLY"],["÷=","DIVIDE"],["%=","QUYU"],["//=","ZHENGCHU"],["**=","POWER"]]),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip(function(){var t=e.getFieldValue("OP");return{ADD:Ve.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:Ve.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:Ve.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:Ve.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:Ve.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:Ve.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:Ve.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[t]})}},Ut={init:function(){this.setColour(Dt),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new Ve.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},Vt={init:function(){this.setColour(Dt),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new Ve.FieldDropdown([["sin","SIN"],["cos","COS"],["tan","TAN"],["asin","ASIN"],["acos","ACOS"],["atan","ATAN"],["-","-"],["ln","LN"],["log10","LOG10"],["e^","EXP"],["10^","POW10"]]),"OP");var e=this;this.setTooltip(function(){var t=e.getFieldValue("OP");return{SIN:Ve.Msg.MATH_TRIG_TOOLTIP_SIN,COS:Ve.Msg.MATH_TRIG_TOOLTIP_COS,TAN:Ve.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:Ve.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:Ve.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:Ve.Msg.MATH_TRIG_TOOLTIP_ATAN,LN:Ve.Msg.MATH_SINGLE_TOOLTIP_LN}[t]})}},zt={init:function(){var e=[[Ve.Msg.MATH_BIN,"bin"],[Ve.Msg.MATH_OCT,"oct"],[Ve.Msg.MATH_HEX,"hex"]];this.setColour(Dt),this.setOutput(!0,String),this.appendValueInput("NUM").setCheck(Number).appendField(new Ve.FieldDropdown(e),"OP");var t=this;this.setTooltip(function(){var e=t.getFieldValue("OP");return{bin:Ve.Msg.MATH_DEC_TOOLTIP_BIN,oct:Ve.Msg.MATH_DEC_TOOLTIP_OCT,hex:Ve.Msg.MATH_DEC_TOOLTIP_HEX}[e]})}},jt={init:function(){var e=[[Ve.Msg.LANG_MATH_TO_ROUND,"round"],[Ve.Msg.LANG_MATH_TO_CEIL,"ceil"],[Ve.Msg.LANG_MATH_TO_FLOOR,"floor"],[Ve.Msg.MATH_ABS,"fabs"],[Ve.Msg.MATH_SQRT,"sqrt"]];this.setColour(Dt),this.appendValueInput("A").setCheck(Number).appendField(new Ve.FieldDropdown(e),"OP"),this.setOutput(!0,Number);var t=this;this.setTooltip(function(){var e=t.getFieldValue("OP");return{sqrt:Ve.Msg.MATH_SINGLE_TOOLTIP_ROOT,fabs:Ve.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:Ve.Msg.MATH_SINGLE_TOOLTIP_SQ,round:Ve.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:Ve.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:Ve.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[e]})}},Yt={init:function(){var e=[[Ve.Msg.MIXLY_MAX,"max"],[Ve.Msg.MIXLY_MIN,"min"]];this.setColour(Dt),this.appendValueInput("A").setCheck(Number).setAlign(Ve.inputs.Align.RIGHT).appendField(new Ve.FieldDropdown(e),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(Ve.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(Ve.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setOutput(!0,Number);var t=this;this.setTooltip(function(){var e=t.getFieldValue("OP");return{max:Ve.Msg.MIXLY_TOOLTIP_MATH_MAX,min:Ve.Msg.MIXLY_TOOLTIP_MATH_MIN}[e]})}},Gt={init:function(){var e=[[Ve.Msg.MATH_TWO,"two"],[Ve.Msg.MATH_EIGHT,"eight"],[Ve.Msg.MATH_TEN,"ten"],[Ve.Msg.MATH_SIXTEEN,"sixteen"]];this.setColour(Dt),this.appendDummyInput("").appendField(Ve.Msg.MATH_BA),this.appendValueInput("NUM").appendField(new Ve.FieldDropdown(e),"OP").appendField(Ve.Msg.MATH_JinZhi).setCheck(Number),this.appendDummyInput("").appendField(Ve.Msg.MATH_ZHW).appendField(new Ve.FieldDropdown(e),"OP2").appendField(Ve.Msg.MATH_JinZhi),this.setFieldValue("ten","OP2"),this.setOutput(!0),this.setInputsInline(!0);var t=this;this.setTooltip(function(){var e=t.getFieldValue("OP"),n={two:Ve.Msg.MATH_Before_two,eight:Ve.Msg.MATH_Before_eight,ten:Ve.Msg.MATH_Before_ten,sixteen:Ve.Msg.MATH_Before_sixteen},i=t.getFieldValue("OP2"),r={two:Ve.Msg.MATH_Behind_two,eight:Ve.Msg.MATH_Behind_eight,ten:Ve.Msg.MATH_Behind_ten,sixteen:Ve.Msg.MATH_Behind_sixteen};return n[e]+r[i]})}},Ht={init:function(){var e=[[Ve.Msg.LANG_MATH_INT,"int"],[Ve.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(Dt),this.setOutput(!0,Number),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MICROBIT_RANDOM).appendField(new Ve.FieldDropdown(e),"TYPE"),this.appendValueInput("FROM").setCheck(Number).appendField(Ve.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0);var t=this;this.setTooltip(function(){var e=t.getFieldValue("TYPE"),n={int:Ve.Msg.LANG_MATH_INT,float:Ve.Msg.LANG_MATH_FLOAT_RANDOM};return Ve.Msg.MATH_RANDOM_INT_TOOLTIP+n[e]})}},Wt={init:function(){this.setColour(Dt),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(Ve.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(Ve.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(Ve.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(Ve.Msg.MATH_CONSTRAIN_TOOLTIP)}},Xt={init:function(){this.setColour(Dt),this.appendValueInput("NUM",Number).appendField(Ve.Msg.MIXLY_MAP).setCheck(Number),this.appendValueInput("fromLow",Number).appendField(Ve.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(Ve.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Ve.Msg.MIXLY_TOOLTIP_MATH_MAP)}},qt={init:function(){this.setColour(Dt),this.appendDummyInput().appendField(new Ve.FieldTextInput("0",Ve.FieldTextInput.math_number_validator_include_blank),"NUM"),this.setOutput(!0),this.setTooltip(Ve.Msg.MATH_NUMBER_TOOLTIP)}},Kt={init:function(){this.setColour(Dt),this.appendValueInput("NUM").setCheck(Number).appendField(Ve.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED)}},Zt={init:function(){this.setColour(Dt),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number),this.appendValueInput("VAR").setCheck(Number).appendField(Ve.Msg.MATH_ROUND).appendField(Ve.Msg.TEXT_KEEP),this.appendDummyInput().appendField(Ve.Msg.TEXT_DECIMAL),this.setInputsInline(!0),this.setTooltip(Ve.Msg.MATH_ROUND_NEW_TOOLTIP)}},Qt={init:function(){var e=[[Ve.Msg.MIXLY_TO_INT,"int"],[Ve.Msg.MIXLY_TO_FLOAT,"float"],[Ve.Msg.MIXLY_TO_BITES,"b"],[Ve.Msg.LANG_MATH_BYTE+Ve.Msg.MIXLY_TO_INT,"bti"]];this.setColour(Dt),this.appendValueInput("VAR").appendField(new Ve.FieldDropdown(e),"TOWHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip(function(){var e=t.getFieldValue("TOWHAT");return{int:Ve.Msg.MIXLY_PYTHON_TOOLTIP_TOINT,float:Ve.Msg.MIXLY_PYTHON_TOOLTIP_TOFLOAT,b:Ve.Msg.MIXLY_TOOLTIP_TEXT_TOBYTE}[e]})}},Jt={init:function(){var e=[[Ve.Msg.MIXLY_TO_INT,"int"],[Ve.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(Dt),this.appendValueInput("VAR").appendField(new Ve.FieldDropdown(e),"TOWHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip(function(){var e=t.getFieldValue("TOWHAT");return{int:Ve.Msg.MIXLY_TOOLTIP_TEXT_TOINT,float:Ve.Msg.MIXLY_TOOLTIP_TEXT_TOFLOAT}[e]})}},en=Xt,tn={init:function(){this.setColour(Dt),this.appendValueInput("VAR").appendField(Ve.Msg.LANG_MATH_BYTE+Ve.Msg.MIXLY_TO_HEX),this.setOutput(!0,Number),this.setTooltip(Ve.Msg.MIXLY_PYTHON_TOOLTIP_TOHEX)}},nn={init:function(){this.setColour(Dt),this.itemCount_=1,this.setMutator(new Ve.icons.MutatorIcon(["lists_create_with_item"],this)),this.appendDummyInput("DUMMY").appendField(Ve.Msg.MIXLY_PRODUCT+Ve.Msg.MIXLY_GENERATE_CARTESIAN_PRODUCT),this.appendValueInput("REPEAT").appendField(Ve.Msg.MIXLY_EVERY_PER_ELEPER_ELEMENT),this.appendDummyInput().appendField(Ve.Msg.CONTROLS_REPEAT_TITLE_TIMES),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0),this.setTooltip(Ve.Msg.LISTS_CREATE_WITH_PYTHON_TOOLTIP),this.updateShape_()},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("lists_create_with_container");t.initSvg();for(var n=t.getInput("STACK").connection,i=0;i1&&"\\"===e.charAt(0)){var t=e.charAt(1);if("0"===t||"b"===t||"f"===t||"n"===t||"r"===t||"t"===t||"\\"===t||"'"===t)return String(e).substring(0,2);if("x"===t&&"0"===e.charAt(2)&&"B"===e.charAt(3))return String(e).substring(0,4)}return String(e).substring(0,1)};const cn={init:function(){this.setColour(on),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new Ve.FieldTextInput("",Ve.FieldTextInput.char_validator),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,Number),this.setTooltip(Ve.Msg.TEXT_CHAR_TOOLTIP)},newQuote_:function(e){if(1==e)var t="../../media/quote2.png";else t="../../media/quote3.png";return new Ve.FieldImage(t,7,12,'"')}},dn={init:function(){this.setColour(on),this.appendValueInput("A").setCheck([String,Number]),this.appendValueInput("B").setCheck([String,Number]).appendField(Ve.Msg.MIXLY_TEXT_JOIN),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Ve.Msg.MIXLY_TOOLTIP_TEXT_JOIN)}},hn={init:function(){this.setColour(on),this.appendValueInput("VAR").setCheck(Number).appendField(Ve.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(Ve.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},pn={init:function(){this.setColour(on),this.appendValueInput("VAR").setCheck(String).appendField(Ve.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(Ve.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},fn={init:function(){this.setColour(on),this.appendValueInput("VAR").appendField(Ve.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(Ve.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},mn={init:function(){this.setColour(on),this.appendValueInput("VAR").appendField(Ve.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(Ve.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},gn={init:function(){this.WHERE_OPTIONS=[[Ve.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[Ve.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[Ve.Msg.TEXT_GET_INDEX_RANDOM+1+Ve.Msg.TEXT_CHARAT2,"RANDOM"]],this.setHelpUrl(Ve.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(on),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number),this.appendDummyInput().appendField(Ve.Msg.LISTS_GET_INDEX_GET,"MODE"),Ve.Msg.LISTS_GET_INDEX_TAIL&&this.appendDummyInput("TAIL").appendField(Ve.Msg.LISTS_GET_INDEX_TAIL),this.setInputsInline(!0),this.setOutput(!0),this.updateAt_(!0);var e=this;this.setTooltip(function(){var t=e.getFieldValue("MODE"),n=e.getFieldValue("WHERE"),i="";switch(t+" "+n){case"GET FROM_START":case"GET FROM_END":i=Ve.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM;break;case"GET RANDOM":i=Ve.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM;break;case"GET_REMOVE FROM_START":case"GET_REMOVE FROM_END":i=Ve.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM;break;case"GET_REMOVE RANDOM":i=Ve.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM}return"FROM_START"!=n&&"FROM_END"!=n||(i+=" "+Ve.Msg.LISTS_INDEX_FROM_START_TOOLTIP.replace("%1",Ve.Msg.ONE_BASED_INDEXING?"#1":"#0")),i});var t=this;this.setTooltip(function(){var e=t.getFieldValue("WHERE"),n={FROM_START:Ve.Msg.LISTS_GET_INDEX_FROM_START,FROM_END:Ve.Msg.LISTS_GET_INDEX_FROM_END,RANDOM:Ve.Msg.TEXT_GET_INDEX_RANDOM};return Ve.Msg.PROCEDURES_DEFRETURN_RETURN+Ve.Msg.MIXLY_MICROBIT_TYPE_STRING+n[e]+"n"+Ve.Msg.TEXT_CHARAT2})},mutationToDom:function(){var e=document.createElement("mutation");e.setAttribute("statement",!this.outputConnection);var t=this.getInput("AT").type==Ve.INPUT_VALUE;return e.setAttribute("at",t),e},domToMutation:function(e){var t="true"==e.getAttribute("statement");this.updateStatement_(t),e="false"!=e.getAttribute("at"),this.updateAt_(e)},updateStatement_:function(e){e!=!this.outputConnection&&(this.unplug(!0,!0),e?(this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)):(this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)))},updateAt_:function(e){this.removeInput("AT"),this.removeInput("ORDINAL",!0),e?(this.appendValueInput("AT").setCheck(Number),Ve.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL").appendField(Ve.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT");var t=new Ve.FieldDropdown(this.WHERE_OPTIONS,function(t){var n="FROM_START"==t||"FROM_END"==t;if(n!=e){var i=this.sourceBlock_;return i.updateAt_(n),i.setFieldValue(t,"WHERE"),null}});this.getInput("AT").appendField(t,"WHERE"),Ve.Msg.LISTS_GET_INDEX_TAIL&&this.moveInputBefore("TAIL",null)}},_n={init:function(){this.setHelpUrl(Ve.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(on),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number).appendField(Ve.Msg.LISTS_GET_INDEX_GET+" "+Ve.Msg.LISTS_GET_INDEX_FROM_START),this.appendDummyInput().appendField(Ve.Msg.TEXT_CHARAT2),this.setOutput(!0),this.setTooltip(Ve.Msg.PROCEDURES_DEFRETURN_RETURN+Ve.Msg.MIXLY_MICROBIT_TYPE_STRING+Ve.Msg.LISTS_GET_INDEX_FROM_START+"n"+Ve.Msg.TEXT_CHARAT2)}},yn={init:function(){this.setHelpUrl(Ve.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(on),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(Ve.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(Ve.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},vn={init:function(){this.WHERE_OPTIONS_1=[[Ve.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[Ve.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[Ve.Msg.LISTS_GET_SUBLIST_START_FIRST,"FIRST"]],this.WHERE_OPTIONS_2=[[Ve.Msg.LISTS_GET_SUBLIST_END_FROM_START,"FROM_START"],[Ve.Msg.LISTS_GET_SUBLIST_END_FROM_END,"FROM_END"],[Ve.Msg.LISTS_GET_SUBLIST_END_LAST,"LAST"]],this.setHelpUrl(Ve.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(on),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput("AT1"),this.appendDummyInput("AT2"),this.setInputsInline(!0),this.setOutput(!0,"List"),this.updateAt_(1,!0),this.updateAt_(2,!0),this.setTooltip(Ve.Msg._GET_TEXT_SUBLIST_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation"),t=this.getInput("AT1").type==Ve.INPUT_VALUE;e.setAttribute("at1",t);var n=this.getInput("AT2").type==Ve.INPUT_VALUE;return e.setAttribute("at2",n),e},domToMutation:function(e){var t="true"==e.getAttribute("at1"),n="true"==e.getAttribute("at2");this.updateAt_(1,t),this.updateAt_(2,n)},updateAt_:function(e,t){this.removeInput("AT"+e),this.removeInput("ORDINAL"+e,!0),t?(this.appendValueInput("AT"+e).setCheck(Number),Ve.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL"+e).appendField(Ve.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT"+e);var n=new Ve.FieldDropdown(this["WHERE_OPTIONS_"+e],function(n){var i="FROM_START"==n||"FROM_END"==n;if(i!=t){var r=this.sourceBlock_;return r.updateAt_(e,i),r.setFieldValue(n,"WHERE"+e),null}});this.getInput("AT"+e).appendField(n,"WHERE"+e),1==e&&(this.moveInputBefore("AT1","AT2"),this.getInput("ORDINAL1")&&this.moveInputBefore("ORDINAL1","AT2"))}},bn={init:function(){this.setHelpUrl(Ve.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(on),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT1").appendField(Ve.Msg.LISTS_GET_INDEX_GET+" "+Ve.Msg.LISTS_GET_INDEX_FROM_START),this.appendValueInput("AT2").appendField(Ve.Msg.LISTS_GET_SUBLIST_END_FROM_START),this.appendDummyInput().appendField(Ve.Msg.TEXT_CHARAT2),this.setInputsInline(!0),this.setOutput(!0,["List",String]),this.setTooltip(Ve.Msg._GET_TEXT_SUBLIST_TOOLTIP)}},Tn={init:function(){var e=[[Ve.Msg.MIXLY_EQUALS,"==="],[Ve.Msg.MIXLY_STARTSWITH,"startswith"],[Ve.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(on),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new Ve.FieldDropdown(e),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},xn={init:function(){this.setColour(on),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(Ve.Msg.MIXLY_COMPARETO).setCheck(String),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Ve.Msg.MIXLY_COMPARETO_HELP)}},En={init:function(){var e=[[Ve.Msg.TEXT_UPPER,"upper"],[Ve.Msg.TEXT_TITLE,"title"],[Ve.Msg.TEXT_CAPITALIZE,"capitalize"],[Ve.Msg.TEXT_SWAPCASE,"swapcase"],[Ve.Msg.TEXT_LOWER,"lower"]];this.setColour(on),this.appendValueInput("VAR").appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new Ve.FieldDropdown(e),"CAPITAL").setCheck(String),this.setOutput(!0,String);var t=this;this.setTooltip(function(){var e=t.getFieldValue("CAPITAL");return{upper:Ve.Msg.MIXLY_MIXPY_TEXT_UPPER_TOOLTIP,title:Ve.Msg.MIXLY_MIXPY_TEXT_TITLE_TOOLTIP,swapcase:Ve.Msg.MIXLY_MIXPY_TEXT_SWAPCASE_TOOLTIP,capitalize:Ve.Msg.MIXLY_MIXPY_TEXT_CAPITALIZE_TOOLTIP,lower:Ve.Msg.MIXLY_MIXPY_TEXT_LOWER_TOOLTIP}[e]})}},wn={init:function(){var e=[[Ve.Msg.TEXT_LJUST,"ljust"],[Ve.Msg.TEXT_CENTER,"center"],[Ve.Msg.TEXT_RJUST,"rjust"]];this.setColour(on),this.appendValueInput("VAR").appendField(new Ve.FieldDropdown(e),"CENTER").setCheck(String),this.appendValueInput("WID").appendField(Ve.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("Symbol").appendField(Ve.Msg.MIXLY_RECT_Fill).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Ve.Msg.MIXLY_MIXPY_TEXT_CENTER_TOOLTIP)}},In={init:function(){this.setColour(on),this.appendValueInput("VAR").appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).setCheck(String),this.appendValueInput("STR").appendField(Ve.Msg.MIXLY_MID+Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER).setCheck(String),this.appendDummyInput().appendField(Ve.Msg.MIXLY_LIST_INDEX),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Ve.Msg.MIXLY_MIXPY_TEXT_FIND_TOOLTIP)}},An={init:function(){this.setColour(on),this.appendValueInput("VAR").appendField(Ve.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_USE_STR).setCheck(String),this.appendValueInput("LIST").appendField(Ve.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_SEQ).setCheck("List","Tuple","Set","Dict"),this.appendDummyInput().appendField(Ve.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_GET_STR),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Ve.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_TOOLTIP)}},Sn={init:function(){this.setColour(on),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("STR1").appendField(Ve.Msg.MIXLY_MIXPY_REPLACE).setCheck(String),this.appendValueInput("STR2").appendField(Ve.Msg.LISTS_SET_INDEX_INPUT_TO).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Ve.Msg.MIXLY_MIXPY_TEXT_REPLACE_TOOLTIP)}},Cn={init:function(){this.setColour(on),this.appendValueInput("VAR"),this.appendValueInput("VAL").appendField(Ve.Msg.LIST_SPLIT_AS),this.appendDummyInput("").appendField(Ve.Msg.LIST_SPLIT),this.setOutput(!0,"List"),this.setTooltip(Ve.Msg.MIXLY_MIXPY_TEXT_SPLIT_TOOLTIP),this.setInputsInline(!0)}},On={init:function(){var e=[[Ve.Msg.TEXT_TRIM_BOTH,"strip"],[Ve.Msg.TEXT_TRIM_LEFT,"lstrip"],[Ve.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(on),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(Ve.Msg.TEXT_STRIM),this.appendDummyInput("").appendField(new Ve.FieldDropdown(e),"TOWHAT"),this.appendDummyInput("").appendField(Ve.Msg.TEXT_BLANK),this.setOutput(!0,String),this.setInputsInline(!0);var t=this;this.setTooltip(function(){var e=t.getFieldValue("TOWHAT");return{strip:Ve.Msg.TEXT_TRIM_BOTH_TOOLTIP,lstrip:Ve.Msg.TEXT_TRIM_LEFT_TOOLTIP,rstrip:Ve.Msg.TEXT_TRIM_RIGHT_TOOLTIP}[e]})}},Mn={init:function(){this.setColour(on),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_MICROPYTHON_FORMAT),this.appendDummyInput("").appendField(new Ve.FieldTextInput("str"),"VAR"),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new Ve.icons.MutatorIcon(["text_create_with_item"],this)),this.setOutput(!0),this.setTooltip(Ve.Msg.MIXLY_MIXPY_TEXT_FORMAT_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("text_create_with_container");t.initSvg();for(var n=t.getInput("STACK").connection,i=0;it?e[t]:0==t?'"key"':'"key'+(t+1)+'"'),"KEY"+t).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Ve.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},Ai={init:function(){this.setColour(wi),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(Ve.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},Si={init:function(){this.setColour(wi),this.appendDummyInput().appendField(Ve.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},Ci={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Ve.Msg.DICT_KEYS),this.setTooltip(Ve.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},Oi={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Ve.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(Ve.Msg.DICTS_ADD_VALUE),this.setOutput(!0),this.setTooltip(Ve.Msg.DICTS_GET_TOOLTIP)}},Mi={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Ve.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(Ve.Msg.DICTS_ADD_VALUE),this.appendValueInput("VAR").appendField(Ve.Msg.DICTS_DEFAULT_VALUE),this.setOutput(!0),this.setTooltip(Ve.Msg.DICTS_GET_DEFAULT_TOOLTIP)}},ki={init:function(){this.setColour(wi),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(Ve.Msg.DICTS_ADD),this.appendDummyInput(),this.appendValueInput("VAR").appendField(Ve.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.DICTS_ADD_OR_CHANGE_TOOLTIP)}},Ri={init:function(){this.setColour(wi),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(Ve.Msg.DICTS_DELETE_IN),this.appendDummyInput("").appendField(Ve.Msg.DICTS_DELETE_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.DICTS_DELETE_TOOLTIP)}},Ni={init:function(){this.setColour(wi),this.appendValueInput("DICT2").setCheck("Dict").appendField(Ve.Msg.MAKE_DICT),this.appendValueInput("DICT").setCheck("Dict").appendField(Ve.Msg.DICT_UPDATE),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_MID),this.setTooltip(Ve.Msg.DICTS_UPDATE_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Di={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Ve.Msg.DICT_CLEAR),this.setTooltip(Ve.Msg.DICTS_CLEAR_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Fi={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Ve.Msg.DICT_ITEMS),this.setTooltip(Ve.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},Li={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Ve.Msg.DICT_VALUES),this.setTooltip(Ve.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},Pi={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_LENGTH),this.setTooltip(Ve.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},Bi={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Ve.Msg.DICT_DELDICT),this.setTooltip(Ve.Msg.DICTS_DEL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},$i={init:function(){this.MODE=[[Ve.Msg.DICTS_ADD_OR_CHANGE,"INSERT"],[Ve.Msg.MIXLY_MICROBIT_JS_DELETE_VAR,"DELETE"]],this.setHelpUrl(Ve.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("AT2"),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).appendField(Ve.Msg.DICTS_ADD_VALUE),this.updateAt_(!0),this.setInputsInline(!0),this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip(function(){var t="";switch(e.getFieldValue("WHERE")){case"INSERT":t=Ve.Msg.DICTS_ADD_TOOLTIP;break;case"DELETE":t=Ve.Msg.DICTS_DELETE_TOOLTIP}return t})},mutationToDom:function(){var e=document.createElement("mutation"),t=this.getInput("AT2").type==Ve.INPUT_VALUE;return e.setAttribute("at2",t),e},domToMutation:function(e){var t="true"==e.getAttribute("at2");this.updateAt_(t)},updateAt_:function(e){this.removeInput("AT2"),this.removeInput("ORDINAL",!0),e?this.appendValueInput("AT2").setCheck(Number):this.appendDummyInput("AT2");var t=new Ve.FieldDropdown(this.MODE,function(t){var n="INSERT"==t;if(n!=e){var i=this.sourceBlock_;return i.updateAt_(n),i.setFieldValue(t,"WHERE"),null}});this.getInput("AT2").appendField(t,"WHERE")}},Ui={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Ve.Msg.blockpy_DICT_POP),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(Ve.Msg.DICTS_ADD_VALUE),this.setTooltip(Ve.Msg.DICT_POP_TOOLTIP),this.setInputsInline(!0),this.setOutput(!0)}},Vi={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Ve.Msg.DICTS_SET_DEFAULT),this.appendDummyInput("").appendField(Ve.Msg.DICTS_DEFAULT_VALUE),this.appendValueInput("VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.DICTS_SETDEFAULT_TOOLTIP)}},zi={init:function(){this.setColour(wi),this.appendDummyInput("").appendField(new Ve.FieldLabel(Ve.Msg.MIXLY_MICROBIT_TYPE_DICT),"TIP").appendField(" "),this.itemCount_=3,this.updateShape_(),this.setOutput(!0,"Dict"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setMutator(new Ve.icons.MutatorIcon(["dicts_create_with_item"],this)),this.setTooltip(Ve.Msg.DICTS_CREATE_WITH_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("dicts_create_with_container");t.initSvg();for(var n=t.getInput("STACK").connection,i=0;it?e[t]:0==t?'"key"':'"key'+(t+1)+'"'),"KEY"+t).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Ve.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},ji={init:function(){this.setColour(wi),this.appendValueInput("VAR").appendField(Ve.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(Ve.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},Yi={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_TO_JSON),this.setTooltip(Ve.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},Gi={init:function(){this.setColour(wi),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_CONVERT_TO_JSON),this.setTooltip(Ve.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},Hi={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("VAR1").appendField("key1"),this.appendValueInput("VAR2").appendField("index"),this.appendValueInput("VAR3").appendField("key2"),this.appendValueInput("VAR4").appendField("key3"),this.setInputsInline(!0),this.setTooltip(Ve.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},Wi={init:function(){this.setColour(wi),this.appendValueInput("DICT"),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_TO_JSON),this.setTooltip(Ve.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},Xi=210,qi={init:function(){var e=Ve.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(Xi),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Ve.FieldDropdown(e),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip(function(){var e=t.getFieldValue("OP");return{EQ:Ve.Msg.LOGIC_COMPARE_TOOLTIP_EQ,NEQ:Ve.Msg.LOGIC_COMPARE_TOOLTIP_NEQ,LT:Ve.Msg.LOGIC_COMPARE_TOOLTIP_LT,LTE:Ve.Msg.LOGIC_COMPARE_TOOLTIP_LTE,GT:Ve.Msg.LOGIC_COMPARE_TOOLTIP_GT,GTE:Ve.Msg.LOGIC_COMPARE_TOOLTIP_GTE}[e]}),this.prevBlocks_=[null,null]}},Ki={init:function(){var e=Ve.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]],t=Ve.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(Xi),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Ve.FieldDropdown(e),"OP1"),this.appendValueInput("C").appendField(new Ve.FieldDropdown(t),"OP2"),this.setInputsInline(!0),this.setTooltip(Ve.Msg.MIXLY_PYTHON_LOGIC_COMPARE_CONTINOUS_TOOLTIP)}},Zi={init:function(){var e=[[Ve.Msg.LOGIC_OPERATION_AND,"AND"],[Ve.Msg.LOGIC_OPERATION_OR,"OR"],[Ve.Msg.LOGIC_OPERATION_NOR,"NOR"],[Ve.Msg.LOGIC_OPERATION_XOR,"XOR"]];this.setColour(Xi),this.setOutput(!0,Boolean),this.appendValueInput("A").setCheck([Boolean,Number]),this.appendValueInput("B").setCheck([Boolean,Number]).appendField(new Ve.FieldDropdown(e),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip(function(){var e=t.getFieldValue("OP");return{AND:Ve.Msg.LOGIC_OPERATION_TOOLTIP_AND,OR:Ve.Msg.LOGIC_OPERATION_TOOLTIP_OR,NOR:Ve.Msg.LOGIC_OPERATION_TOOLTIP_NOR,XOR:Ve.Msg.LOGIC_OPERATION_TOOLTIP_XOR}[e]})}},Qi={init:function(){this.setColour(Xi),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(Ve.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(Ve.Msg.LOGIC_NEGATE_TOOLTIP)}},Ji={init:function(){var e=[[Ve.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[Ve.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(Xi),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new Ve.FieldDropdown(e),"BOOL"),this.setTooltip(Ve.Msg.LOGIC_BOOLEAN_TOOLTIP)}},er={init:function(){this.setColour(Xi),this.setOutput(!0),this.appendDummyInput().appendField(Ve.Msg.LOGIC_NULL),this.setTooltip(Ve.Msg.LOGIC_NULL_TOOLTIP)}},tr={init:function(){this.setColour(Xi),this.appendValueInput("A"),this.appendValueInput("B").appendField(Ve.Msg.LOGIC_TERNARY_IF_TRUE),this.appendValueInput("C").appendField(Ve.Msg.LOGIC_TERNARY_IF_FALSE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Ve.Msg.MIXLY_TOOLTIP_LOGIT_TRUEORFALSE)}},nr={init:function(){var e=[[Ve.Msg.TEXT_APPEND_TO,"in"],[Ve.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(Xi),this.appendValueInput("A"),this.appendValueInput("B").setCheck([String,"List"]).appendField(new Ve.FieldDropdown(e),"BOOL"),this.appendDummyInput("").appendField(Ve.Msg.MICROBIT_LOGIC_IS_IN),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Ve.Msg.IN)}},ir={init:function(){var e=[[Ve.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[Ve.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(Xi),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Ve.FieldDropdown(e),"BOOL"),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Ve.Msg.MIXLY_PYTHON_LOGIC_IS_TOOLTIP)}},rr={init:function(){this.setColour(Xi),this.appendValueInput("VAR").appendField(Ve.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(Ve.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},sr={init:function(){this.setColour(0),this.appendValueInput("fn").setCheck(String).appendField(Ve.Msg.MIXLY_PYTHON_STORAGE_OPEN_FILE_WITH_OS+"(For Windows)"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},or={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Ve.FieldDropdown([[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"],[Ve.Msg.MIXLY_ADD,"a"],[Ve.Msg.MATH_BIN+Ve.Msg.MIXLY_ADD,"ab"],[Ve.Msg.MIXLY_R_W,"r+"],[Ve.Msg.MATH_BIN+Ve.Msg.MIXLY_R_W,"rb+"],[Ve.Msg.MIXLY_W_R,"w+"],[Ve.Msg.MATH_BIN+Ve.Msg.MIXLY_W_R,"wb+"],[Ve.Msg.MIXLY_A_R,"a+"],[Ve.Msg.MATH_BIN+Ve.Msg.MIXLY_A_R,"ab+"]]),"MODE"),this.appendValueInput("FILE").appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_AS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var e=this;this.setTooltip(function(){var t=e.getFieldValue("MODE"),n=Ve.Msg.MIXLY_USE,i=Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,r=Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,s=Ve.Msg.MIXLY_BELONG;return n+{r:Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[t]+s+i+r})},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Ve.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},ar={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Ve.FieldDropdown([[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var e=this;this.setTooltip(function(){var t=e.getFieldValue("MODE"),n=Ve.Msg.MIXLY_USE,i=Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,r=Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,s=Ve.Msg.MIXLY_BELONG,o=Ve.Msg.PY_STORAGE_FILE_OBJECT;return n+{r:Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[t]+s+i+r+o})}},lr={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE);this.appendDummyInput().appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Ve.FieldDropdown([[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendDummyInput().appendField(Ve.Msg.MIXPY_TEXT_ENCODE).appendField(new Ve.FieldDropdown([["ANSI","ANSI"],["gbk","gbk"],["utf-8","utf-8"]]),"CODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var e=this;this.setTooltip(function(){var t=e.getFieldValue("MODE"),n=Ve.Msg.MIXLY_USE,i=Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,r=Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,s=Ve.Msg.MIXLY_BELONG,o=Ve.Msg.PY_STORAGE_FILE_OBJECT;return n+{r:Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[t]+s+i+r+o})}},ur={init:function(){this.setColour(0),this.appendValueInput("data").setCheck(String).appendField(Ve.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendValueInput("FILE").appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ve.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+Ve.Msg.MIXLY_MICROBIT_TYPE_STRING+Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE)}},cr={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new Ve.FieldDropdown([[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"read"],[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE,"readline"],[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES,"readlines"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String)}},dr={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new Ve.FieldDropdown([[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,"read"],[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,"readline"],[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE,"readlines"]]),"MODE"),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String);var e=this;this.setTooltip(function(){var t=e.getFieldValue("MODE"),n=Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE,i=Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER;return n+{read:Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,readline:Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,readlines:Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE}[t]+"x"+i})}},hr={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.setNextStatement(!0),this.appendValueInput("SIZE").setCheck(Number).appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(Ve.Msg.MICROBIT_PYTHON_TYPE)}},pr={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Ve.Msg.HTML_FILE),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean),this.setTooltip(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT1)}},fr={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_FILENAME),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILENAME)}},mr={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE)}},gr={init:function(){this.setColour(0),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES)}};Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE;const _r={init:function(){this.setColour(0),this.appendDummyInput().appendField(new Ve.FieldDropdown([[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE,"remove"],[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_DIRS,"removedirs"]]),"MODE"),this.appendValueInput("FILE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE)}},yr={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE+Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE)}},vr={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_RETURN_FILE),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_PRESENT_LOCATION),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_TELL)}},br={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION),this.appendDummyInput().appendField(new Ve.FieldDropdown([[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,"start"],[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,"current"],[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END,"end"]]),"MODE"),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip(function(){var t=e.getFieldValue("MODE"),n=Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION+Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION,i=Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER,r=Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET;return n+" "+{start:Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,current:Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,end:Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END}[t]+r+"x"+i})}},Tr={init:function(){this.setColour(0),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR)}},xr={init:function(){this.setColour(0),this.appendValueInput("PATH").setCheck(String).appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH),this.appendDummyInput().appendField(Ve.Msg.MIXLY_ESP32_SET),this.appendDummyInput().appendField(new Ve.FieldDropdown([[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,"mkdir"],[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_MAKEDIRS,"makedirs"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1);var e=this;this.setTooltip(function(){var t=e.getFieldValue("MODE");return Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH+"x"+Ve.Msg.MIXLY_ESP32_SET+{mkdir:Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,makedirs:Ve.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[t]})}},Er={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME),this.appendValueInput("NEWFILE").setCheck(String).appendField(Ve.Msg.MIXLY_AS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME)}},wr={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR)}},Ir={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT),this.appendDummyInput().appendField(new Ve.FieldDropdown([[Ve.Msg.HTML_FILE,"isfile"],[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_DIR,"isdir"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean);let e=this;this.setTooltip(function(){var t=e.getFieldValue("MODE");return Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH+"x"+Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT+{isfile:Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,isdir:Ve.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[t]})}},Ar={init:function(){this.setColour(0),this.appendValueInput("SPISUB").appendField(Ve.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(Ve.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_SETUP+Ve.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(Ve.Msg.MIXLY_SD_CARD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Sr={init:function(){this.setColour(0),this.appendValueInput("VAR").appendField(Ve.Msg.MIXLY_SD_CARD),this.appendValueInput("DIR").setCheck(String).appendField(Ve.Msg.MIXLY_SDCARD_MOUNT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip()}},Cr={init:function(){var e=Ve.Procedures.findLegalName("",this),t=new Ve.FieldTextInput(e,Ve.Procedures.rename);t.setSpellcheck(!1),this.appendDummyInput().appendField(t,"NAME").appendField("","PARAMS"),this.setMutator(new Ve.icons.MutatorIcon(["procedures_mutatorarg"],this)),(this.workspace.options.comments||this.workspace.options.parentWorkspace&&this.workspace.options.parentWorkspace.options.comments)&&Ve.Msg.PROCEDURES_DEFNORETURN_COMMENT&&this.setCommentText(Ve.Msg.PROCEDURES_DEFNORETURN_COMMENT),this.setStyle("procedure_blocks"),this.setTooltip(Ve.Msg.PROCEDURES_DEFNORETURN_TOOLTIP),this.setHelpUrl(Ve.Msg.PROCEDURES_DEFNORETURN_HELPURL),this.arguments_=[],this.argumentVarModels_=[],this.setStatements_(!0),this.statementConnection_=null},setStatements_:function(e){this.hasStatements_!==e&&(e?(this.appendStatementInput("STACK").appendField(Ve.Msg.PROCEDURES_DEFNORETURN_DO),this.getInput("RETURN")&&this.moveInputBefore("STACK","RETURN")):this.removeInput("STACK",!0),this.hasStatements_=e)},updateParams_:function(){var e="";this.arguments_.length&&(e=Ve.Msg.PROCEDURES_BEFORE_PARAMS+" "+this.arguments_.join(", ")),Ve.Events.disable();try{this.setFieldValue(e,"PARAMS")}finally{Ve.Events.enable()}},mutationToDom:function(e){var t=Ve.utils.xml.createElement("mutation");e&&t.setAttribute("name",this.getFieldValue("NAME"));for(var n=0;n"),this.appendValueInput("style").appendField(Ve.Msg.MIXLY_AIP_ATTR).setAlign(Ve.inputs.Align.RIGHT),this.appendStatementInput("DO").appendField(""),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Es={init:function(){this.setColour(_s),this.appendDummyInput().appendField(Ve.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},ws={init:function(){this.setColour(_s),this.appendDummyInput().appendField(Ve.Msg.HTML_FORM_CONTENT).appendField(new Ve.FieldDropdown([[Ve.Msg.HTML_TEXT,"text"],[Ve.Msg.HTML_EMAIL,"email"],[Ve.Msg.HTML_NUMBER,"number"],[Ve.Msg.HTML_PASSWORD,"password"],[Ve.Msg.HTML_CHECKBOX,"checkbox"],[Ve.Msg.HTML_RADIOBUTTON,"radiobutton"],[Ve.Msg.HTML_BUTTON,"button"],[Ve.Msg.HTML_COLOUR,"colour"],[Ve.Msg.HTML_DATE,"date"],[Ve.Msg.HTML_LOCALTIME,"local time"],[Ve.Msg.HTML_FILE,"file"],[Ve.Msg.HTML_HIDDEN,"hidden"],[Ve.Msg.HTML_IMAGE,"image"],[Ve.Msg.HTML_MONTH,"month"],[Ve.Msg.HTML_RANGE,"range"],[Ve.Msg.HTML_RESET,"reset"],[Ve.Msg.HTML_SEARCH,"search"],[Ve.Msg.HTML_SUBMIT,"submit"],[Ve.Msg.HTML_TELEPHONENUMBER,"telephone number"],[Ve.Msg.HTML_TIME,"time"],[Ve.Msg.HTML_URL,"url"],[Ve.Msg.HTML_WEEK,"week"]]),"LEVEL"),this.appendDummyInput().appendField(Ve.Msg.HTML_NAME).appendField(new Ve.FieldTextInput("car"),"NAME"),this.appendDummyInput().appendField(Ve.Msg.HTML_VALUE).appendField(new Ve.FieldTextInput("go"),"VALUE"),this.appendValueInput("style").appendField(Ve.Msg.MIXLY_AIP_ATTR).setAlign(Ve.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Is={init:function(){this.setColour(_s),this.appendDummyInput().appendField(new Ve.FieldTextInput("property"),"KEY").appendField(":").appendField(new Ve.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},As={init:function(){this.setColour(_s),this.appendDummyInput().appendField(new Ve.FieldTextInput("property"),"KEY").appendField(":").appendField(new Ve.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ss={init:function(){this.setColour(_s),this.appendDummyInput().appendField(Ve.Msg.HTML_TEXT).appendField(new Ve.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Cs=160,Os={init:function(){this.setColour(Cs),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new Ve.FieldTable(""),"TEXT")}},Ms={init:function(){this.setColour(Cs),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new Ve.FieldMultilineInput(""),"TEXT")}},ks={init:function(){this.setColour(Cs),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new Ve.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},Rs={init:function(){this.setColour(Cs),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},Ns={init:function(){this.setColour(Cs),this.appendDummyInput().appendTitle("Comment:").appendTitle(new Ve.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},Ds={init:function(){this.setColour(Cs),this.appendValueInput("VALUE").appendField(Ve.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},Fs={init:function(){this.setColour(Cs),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Ve.icons.MutatorIcon(["text_print_multiple_item"],this)),this.setTooltip(Ve.Msg.TEXT_PRINT_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=Ve.Block.obtain(e,"text_print_multiple_container");t.initSvg();for(var n=t.getInput("STACK").connection,i=0;i= stop:"," yield start"," start -= abs(step)"])};if(e=function(e,t,n){return"("+e+" <= "+t+") and "+l()+"("+e+", "+t+", "+n+") or "+u()+"("+e+", "+t+", "+n+")"},Ve.isNumber(i)&&Ve.isNumber(r)&&Ve.isNumber(s))i=parseFloat(i),r=parseFloat(r),s=Math.abs(parseFloat(s)),0==i%1&&0==r%1&&0==s%1?(i<=r?(r++,e=0==i&&1==s?r:i+", "+r,1!=s&&(e+=", "+s)):e=i+", "+--r+", -"+s,e="range("+e+")"):(e=i",GTE:">="};const kl=function(e,t){var n=this.getFieldValue("OP"),i="&&"==n?t.ORDER_LOGICAL_AND:t.ORDER_LOGICAL_OR,r=t.valueToCode(this,"A",i)||"False",s=t.valueToCode(this,"B",i)||"False";if("AND"==n)var o=r+" and "+s;else if("OR"==n)o=r+" or "+s;else if("NOR"==n)o="not("+r+"^"+s+")";else o=r+"^"+s;return[o,i]},Rl=function(e,t){var n=t.ORDER_UNARY_PREFIX;return["not "+(t.valueToCode(this,"BOOL",n)||"False"),n]},Nl=function(e,t){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",t.ORDER_ATOMIC]},Dl=function(e,t){return["None",t.ORDER_ATOMIC]},Fl=function(e,t){var n=t.valueToCode(this,"A",t.ORDER_ATOMIC)||"False";return["("+(t.valueToCode(this,"B",t.ORDER_ATOMIC)||"False")+" if "+n+" else "+(t.valueToCode(this,"C",t.ORDER_ATOMIC)||"False")+")",t.ORDER_ATOMIC]},Ll=function(e,t){var n=t.valueToCode(this,"A",t.ORDER_ATOMIC)||"''",i=t.valueToCode(this,"B",t.ORDER_ATOMIC)||"''";return[n+" "+this.getFieldValue("BOOL")+" "+i,t.ORDER_ATOMIC]},Pl=function(e,t){var n=t.valueToCode(this,"A",t.ORDER_ATOMIC)||"''",i=t.valueToCode(this,"B",t.ORDER_ATOMIC)||"''";return[n+" "+this.getFieldValue("BOOL")+" "+i,t.ORDER_ATOMIC]},Bl=function(e,t){return["bool("+(t.valueToCode(this,"VAR",t.ORDER_ATOMIC)||"0")+")",t.ORDER_ATOMIC]},$l=function(e,t){return t.definitions_.import_os="import os","os.startfile("+t.valueToCode(this,"fn",t.ORDER_ATOMIC)+")\n"},Ul=function(e,t){return t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+" = open("+t.valueToCode(this,"FILENAME",t.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},Vl=function(e,t){return["open("+t.valueToCode(this,"FILENAME",t.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",t.ORDER_ATOMIC]},zl=function(e,t){return["open("+t.valueToCode(this,"FILENAME",t.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',t.ORDER_ATOMIC]},jl=function(e,t){var n=t.valueToCode(this,"data",t.ORDER_ATOMIC);return t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".write("+n+")\n"},Yl=function(e,t){var n=this.getFieldValue("MODE");return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+"."+n+"()",t.ORDER_ATOMIC]},Gl=function(e,t){var n=this.getFieldValue("MODE");return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+"."+n+"("+t.valueToCode(this,"SIZE",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Hl=function(e,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".readline("+t.valueToCode(this,"SIZE",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Wl=function(e,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".writable()",t.ORDER_ATOMIC]},Xl=function(e,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".name()",t.ORDER_ATOMIC]},ql=function(e,t){return t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".close()\n"},Kl=function(e,t){t.definitions_.import_os="import os";return["os.listdir()",t.ORDER_ATOMIC]},Zl=function(e,t){return t.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+")\n"},Ql=function(e,t){return t.definitions_.import_os="import os",["os.path.getsize("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Jl=function(e,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".tell()",t.ORDER_ATOMIC]},eu=function(e,t){var n=this.getFieldValue("MODE"),i=0;return i="start"==n?0:"current"==n?1:2,t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".seek("+t.valueToCode(this,"SIZE",t.ORDER_ATOMIC)+","+i+")\n"},tu=function(e,t){return t.definitions_.import_os="import os","os.chdir("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+")\n"},nu=function(e,t){t.definitions_.import_os="import os";return["os.getcwd()",t.ORDER_ATOMIC]},iu=function(e,t){return t.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+t.valueToCode(this,"PATH",t.ORDER_ATOMIC)+")\n"},ru=function(e,t){return t.definitions_.import_os="import os","os.rename("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+","+t.valueToCode(this,"NEWFILE",t.ORDER_ATOMIC)+")\n"},su=function(e,t){t.definitions_.import_os="import os";var n=t.valueToCode(this,"FILE",t.ORDER_ATOMIC);return["os."+this.getFieldValue("MODE")+"("+n+")",t.ORDER_ATOMIC]},ou=function(e,t){return t.definitions_.import_os="import os",t.definitions_.import_sdcard="import sdcard",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+" = sdcard.SDCard("+t.valueToCode(this,"SPISUB",t.ORDER_ATOMIC)+","+t.valueToCode(this,"PINSUB",t.ORDER_ATOMIC)+")\n"},au=function(e,t){return t.definitions_.import_os="import os",t.definitions_.import_sdcard="import sdcard","os.mount("+t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+","+t.valueToCode(this,"DIR",t.ORDER_ATOMIC)+")\n"},lu=function(e,t){var n=t.variableDB_.getName(this.getFieldValue("NAME"),Ve.Procedures.NAME_TYPE),i=(this.getInput("STACK")&&t.statementToCode(this,"STACK"))??" pass\n";t.INFINITE_LOOP_TRAP&&(i=t.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+i);var r=t.valueToCode(this,"RETURN",t.ORDER_NONE)||"";r&&(r=" return "+r+"\n");for(var s=[],o=0;o\n\n\n\t\n"+t.statementToCode(this,"HEAD")+"\n\n"+t.statementToCode(this,"BODY")+"\n\n'''",t.ORDER_ATOMIC]},Yu=function(e,t){var n=t.statementToCode(this,"DO"),i=this.getFieldValue("LEVEL");return"\n"+n+"\n"},Gu=function(e,t){var n=t.statementToCode(this,"DO"),i=this.getFieldValue("LEVEL");if("head"==i)var r="<"+i+'>\n\t\n'+n+"\n";else r="<"+i+">\n"+n+"\n";return r},Hu=function(e,t){var n=t.statementToCode(this,"DO"),i=this.getFieldValue("LEVEL");return"<"+i+">\n"+n+"\n"},Wu=function(e,t){var n=t.statementToCode(this,"DO"),i=t.valueToCode(this,"style"),r=this.getFieldValue("LEVEL");return"<"+r+" "+i+" >\n"+n+"\n"},Xu=function(e,t){return['style="'+t.statementToCode(this,"STYLE")+'"',t.ORDER_ATOMIC]},qu=function(e,t){return'"},Ku=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},Zu=function(){return this.getFieldValue("TEXT")+"\n"},Qu=function(e){return e.getFieldValue("TEXT")+"\n"},Ju=function(e,t){return[e.getFieldValue("TEXT"),t.ORDER_ATOMIC]},ec=function(e,t){return(t.valueToCode(e,"VALUE",t.ORDER_ATOMIC)||"")+"\n"},tc=function(){return""},nc=function(e,t){return["type("+(t.valueToCode(e,"VALUE",t.ORDER_MEMBER)||"___")+")",t.ORDER_ATOMIC]},ic=function(e,t){for(var n=e.getFieldValue("NAME"),i=e.hasReturn_,r=new Array(e.itemCount_),s=0;s0?t.join("\n")+n.join("\n")+i.join("\n")+o.join("\n")+a.join("")+e+"while True:\n"+l.join("")+u.join("\n"):t.join("\n")+n.join("\n")+i.join("\n")+o.join("\n")+a.join("")+e+u.join("\n")},ac.scrubNakedValue=function(e){return e+"\n"},ac.quote_=function(e){var t="'";return-1!==e.indexOf("'")&&(-1===e.indexOf('"')?t='"':e=e.replace(/'/g,"\\'")),t+e+t},ac.multiline_quote_=function(e){return"'''"+(e=e.replace(/'''/g,"\\'\\'\\'"))+"'''"},ac.scrub_=function(e,t,n){var i="";if(!e.outputConnection||!e.outputConnection.targetConnection){(s=e.getCommentText())&&(s=Ve.utils.string.wrap(s,ac.COMMENT_WRAP-3),i+=ac.prefixLines(s+"\n","# "));for(var r=0;r0?"int("+a+" + "+r+")":r<0?"int("+a+" - "+-r+")":"int("+a+")",i&&(a="-"+a)),a};const lc=205,uc={init:function(){this.setColour(lc),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_CHOOSE_AND_GET).appendField(new Ve.FieldDropdown([[Ve.Msg.MIXLY_CHOOSE_AND_GET_ONE_FILE_NAME,"getOneFile"],[Ve.Msg.MIXLY_CHOOSE_AND_GET_MANY_FILE_NAMES,"getManyFiles"],[Ve.Msg.MIXLY_CHOOSE_AND_GET_DIR,"getDirectory"]]),"TYPE"),this.setInputsInline(!0),this.setOutput(!0)}},cc={init:function(){this.setColour(lc),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_SETUP).appendField(new Ve.FieldDropdown([[Ve.Msg.MIXLY_AipImageClassify,"AipImageClassify"],[Ve.Msg.MIXLY_AipSpeech,"AipSpeech"],[Ve.Msg.MIXLY_AipImageCensor,"AipImageCensor"],[Ve.Msg.MIXLY_AipFace,"AipFace"],[Ve.Msg.MIXLY_AipOcr,"AipOcr"],[Ve.Msg.MIXLY_AipNlp,"AipNlp"]]),"CTYPE"),this.appendValueInput("SUB").appendField(Ve.Msg.MIXLY_Client).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("API_KEY").appendField("API_KEY").setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("SECRET_KEY").appendField("SECRET_KEY").setAlign(Ve.inputs.Align.RIGHT),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},dc={init:function(){this.setColour(lc),this.appendValueInput("SUB").appendField(Ve.Msg.MIXLY_AipSpeech_synthesis).appendField(Ve.Msg.MIXLY_Client).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("STR").appendField(Ve.Msg.OLED_STRING).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("ATTR").appendField(Ve.Msg.MIXLY_AIP_ATTR).setAlign(Ve.inputs.Align.RIGHT),this.setTooltip(Ve.Msg.MIXLY_AipSpeech_synthesis_TOOLTIP),this.setInputsInline(!1),this.setOutput(!0)}},hc={init:function(){this.setColour(lc),this.appendValueInput("SUB").appendField(Ve.Msg.MIXLY_AipSpeech_asr).appendField(Ve.Msg.MIXLY_Client).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("FILE").appendField(Ve.Msg.MIXLY_AipSpeech_File).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("ATTR").appendField(Ve.Msg.MIXLY_AIP_ATTR).setAlign(Ve.inputs.Align.RIGHT),this.setTooltip(Ve.Msg.MIXLY_AipSpeech_ASR_TOOLTIP),this.setInputsInline(!1),this.setOutput(!0)}},pc={init:function(){this.setColour(lc),this.appendValueInput("SUB").appendField(Ve.Msg.MIXLY_AipImageClassify).appendField(Ve.Msg.MIXLY_Client).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("FUNC").appendField(Ve.Msg.MIXLY_AIP_FUNC).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("ADDR").appendField(Ve.Msg.MIXLY_AipImageClassify_Image).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("ATTR").appendField(Ve.Msg.MIXLY_AIP_ATTR).setAlign(Ve.inputs.Align.RIGHT),this.setTooltip(Ve.Msg.MIXLY_AipImageClassify_advancedGeneral_TOOLTIP),this.setInputsInline(!1),this.setOutput(!0)}},fc={init:function(){this.setColour(lc),this.appendDummyInput("").appendField(new Ve.FieldDropdown([[Ve.Msg.MIXLY_AipImageClassify_advancedGeneral,"advancedGeneral"],[Ve.Msg.MIXLY_AipImageClassify_dishDetect,"dishDetect"],[Ve.Msg.MIXLY_AipImageClassify_carDetect,"carDetect"],[Ve.Msg.MIXLY_AipImageClassify_animalDetect,"animalDetect"],[Ve.Msg.MIXLY_AipImageClassify_plantDetect,"plantDetect"],[Ve.Msg.MIXLY_AipImageClassify_logoSearch,"logoSearch"]]),"TYPE"),this.setOutput(!0)}},mc={init:function(){this.setColour(lc),this.appendValueInput("SUB").appendField(Ve.Msg.MIXLY_AipFace_match).appendField(Ve.Msg.MIXLY_Client).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("VAR").appendField(Ve.Msg.MIXLY_AipImageClassify_Image+"1"+Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(Ve.Msg.MIXLY_AipImageClassify_Image+"2"+Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("ATTR").appendField(Ve.Msg.MIXLY_AIP_ATTR).setAlign(Ve.inputs.Align.RIGHT),this.setTooltip(Ve.Msg.MIXLY_AipFace_match_TOOLTIP),this.setInputsInline(!1),this.setOutput(!0)}},gc={init:function(){this.setColour(lc),this.appendValueInput("SUB").appendField(Ve.Msg.MIXLY_AipOcr).appendField(Ve.Msg.MIXLY_Client).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("FUNC").appendField(Ve.Msg.MIXLY_AIP_FUNC).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("ADDR").appendField(Ve.Msg.MIXLY_AipImageClassify_Image).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("ATTR").appendField(Ve.Msg.MIXLY_AIP_ATTR).setAlign(Ve.inputs.Align.RIGHT),this.setTooltip(Ve.Msg.MIXLY_AipOcr_TOOLTIP),this.setInputsInline(!1),this.setOutput(!0)}},_c={init:function(){this.setColour(lc),this.appendDummyInput("").appendField(new Ve.FieldDropdown([[Ve.Msg.MIXLY_AipOcr_basicGeneral,"basicGeneral"],[Ve.Msg.MIXLY_AipOcr_webImage,"webImage"],[Ve.Msg.MIXLY_AipOcr_idcard,"idcard"],[Ve.Msg.MIXLY_AipOcr_bankcard,"bankcard"],[Ve.Msg.MIXLY_AipOcr_drivingLicense,"drivingLicense"],[Ve.Msg.MIXLY_AipOcr_vehicleLicense,"vehicleLicense"],[Ve.Msg.MIXLY_AipOcr_licensePlate,"licensePlate"],[Ve.Msg.MIXLY_AipOcr_businessLicense,"businessLicense"],[Ve.Msg.MIXLY_AipOcr_receipt,"receipt"],[Ve.Msg.MIXLY_AipOcr_trainTicket,"trainTicket"],[Ve.Msg.MIXLY_AipOcr_taxiReceipt,"taxiReceipt"],[Ve.Msg.MIXLY_AipOcr_form,"tableRecognition"],[Ve.Msg.MIXLY_AipOcr_vatInvoice,"vatInvoice"],[Ve.Msg.MIXLY_AipOcr_passport,"passport"],[Ve.Msg.MIXLY_AipOcr_handwriting,"handwriting"]]),"TYPE"),this.setOutput(!0)}},yc={init:function(){this.setColour(lc),this.appendValueInput("SUB").appendField(Ve.Msg.MIXLY_AipNlp).appendField(Ve.Msg.MIXLY_Client).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("FUNC").appendField(Ve.Msg.MIXLY_AIP_FUNC).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("STR").appendField(Ve.Msg.OLED_STRING).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("ATTR").appendField(Ve.Msg.MIXLY_AIP_ATTR).setAlign(Ve.inputs.Align.RIGHT),this.setTooltip(Ve.Msg.MIXLY_AipNlp_TOOLTIP),this.setInputsInline(!1),this.setOutput(!0)}},vc={init:function(){this.setColour(lc),this.appendValueInput("SUB").appendField(Ve.Msg.MIXLY_AipNlp_Sim).appendField(Ve.Msg.MIXLY_Client).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("FUNC").appendField(Ve.Msg.MIXLY_AIP_FUNC).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("STR1").appendField(Ve.Msg.OLED_STRING+"1").setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("STR2").appendField(Ve.Msg.OLED_STRING+"2").setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("ATTR").appendField(Ve.Msg.MIXLY_AIP_ATTR).setAlign(Ve.inputs.Align.RIGHT),this.setTooltip(Ve.Msg.MIXLY_AipNlp_Sim_TOOLTIP),this.setInputsInline(!1),this.setOutput(!0)}},bc={init:function(){this.setColour(lc),this.appendDummyInput("").appendField(new Ve.FieldDropdown([[Ve.Msg.MIXLY_AipNlp_lexer,"lexer"],[Ve.Msg.MIXLY_AipNlp_depParser,"depParser"],[Ve.Msg.MIXLY_AipNlp_wordEmbedding,"wordEmbedding"],[Ve.Msg.MIXLY_AipNlp_dnnlm,"dnnlm"],[Ve.Msg.MIXLY_AipNlp_commentTag,"commentTag"],[Ve.Msg.MIXLY_AipNlp_sentimentClassify,"sentimentClassify"],[Ve.Msg.MIXLY_AipNlp_keyword,"keyword"],[Ve.Msg.MIXLY_AipNlp_topic,"topic"],[Ve.Msg.MIXLY_AipNlp_ecnet,"ecnet"],[Ve.Msg.MIXLY_AipNlp_emotion,"emotion"]]),"TYPE"),this.setOutput(!0)}},Tc={init:function(){this.setColour(lc),this.appendDummyInput("").appendField(new Ve.FieldDropdown([[Ve.Msg.MIXLY_AipNlp_wordSimEmbedding,"wordSimEmbedding"],[Ve.Msg.MIXLY_AipNlp_simnet,"simnet"]]),"TYPE"),this.setOutput(!0)}},xc={init:function(){this.setColour(lc),this.appendValueInput("SUB").appendField(Ve.Msg.MIXLY_AipNlp_topic).appendField(Ve.Msg.MIXLY_Client).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("STR1").appendField(Ve.Msg.MIXLY_AipNlp_Topic_Title).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("STR2").appendField(Ve.Msg.MIXLY_AipNlp_Topic_Content).setAlign(Ve.inputs.Align.RIGHT),this.setTooltip(Ve.Msg.MIXLY_AipNlp_Topic_TOOLTIP),this.setInputsInline(!1),this.setOutput(!0)}},Ec={init:function(){this.setColour(lc),this.appendValueInput("SUB").appendField(Ve.Msg.MIXLY_AipNlp_summary).appendField(Ve.Msg.MIXLY_Client).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("STR").appendField(Ve.Msg.MIXLY_AipNlp_Topic_Content).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("LEN").appendField(Ve.Msg.MIXLY_LIST_LEN).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("ATTR").appendField(Ve.Msg.MIXLY_AIP_ATTR).setAlign(Ve.inputs.Align.RIGHT),this.setTooltip(Ve.Msg.MIXLY_AipNlp_Summary_TOOLTIP),this.setInputsInline(!1),this.setOutput(!0)}},wc={init:function(){this.setColour(lc),this.appendValueInput("VAR").appendField(Ve.Msg.MIXPY_AI_AUDIO),this.appendValueInput("TIME").appendField(Ve.Msg.MIXPY_AI_AUDIO_TIME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ve.Msg.MIXPY_AI_AUDIO_TOOLTIP)}},Ic={init:function(){this.setColour(lc),this.appendValueInput("VAR").appendField(Ve.Msg.MIXPY_AI_PHOTO),this.appendValueInput("BUT").appendField(Ve.Msg.MIXPY_AI_PHOTO_BUTTON),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ve.Msg.MIXPY_AI_PHOTO_TOOLTIP)}},Ac={init:function(){this.setColour(lc),this.appendValueInput("AI").appendField(Ve.Msg.MIXPY_AI_RESULT).appendField(new Ve.FieldDropdown([[Ve.Msg.MIXLY_AipImageClassify,"Image"],[Ve.Msg.MIXLY_AipSpeech_asr,"Speech"],[Ve.Msg.MIXLY_AipFace_match,"Face"],[Ve.Msg.MIXLY_AipOcr,"Ocr"],[Ve.Msg.MIXLY_AipNlp_simnet,"OcrSimilarity"],[Ve.Msg.MIXLY_AipNlp_sentimentClassify,"Emotion"]]),"CTYPE"),this.setOutput(!0),this.setTooltip(Ve.Msg.LOGIC_NEGATE_TOOLTIP)}},Sc="#526FC3",Cc={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_PREPARE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Oc={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_ADD_SCHOOL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Mc={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_FIND_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},kc={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_NEW_PATH),this.setOutput(!0)}},Rc={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_SET_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Nc={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_ADD_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Dc={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_DEL_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Fc={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_RETURN_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Lc={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_NO_LEFT),this.setOutput(!0)}},Pc={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_PRINT_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Bc={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_PREPARE2),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},$c={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_CURRENT_SCHOOL),this.setOutput(!0)}},Uc={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_NO_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Vc={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_PREPARE_2_1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},zc={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_PREPARE_2_2),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},jc={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_MOVE_RECENT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Yc={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_NOT_HOME),this.setOutput(!0)}},Gc={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_NOT_SCHOOL),this.setOutput(!0)}},Hc={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_PRINT_PATH2),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Wc={init:function(){this.appendDummyInput().appendField("准备").appendField(new Ve.FieldNumber(3,0,100,1),"NUM").appendField("层汉诺塔"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Sc),this.setTooltip(""),this.setHelpUrl("")}},Xc={init:function(){this.appendDummyInput().appendField("移动圆盘从"),this.appendValueInput("FROM_NUM").setCheck(null).appendField("柱"),this.appendDummyInput().appendField("到"),this.appendValueInput("TO_NUM").setCheck(null).appendField("柱"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Sc),this.setTooltip(""),this.setHelpUrl("")}},qc={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_ALL_BOOKS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Kc={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_ALL_BOOKS2),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Zc={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_FIRST_BOOK),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Qc={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_NO_RING),this.setOutput(!0)}},Jc={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_YES_RING),this.setOutput(!0)}},ed={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_NEXT_BOOK),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},td={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_TWO_LEFT),this.setOutput(!0)}},nd={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_DIVIDE_BOOKS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},id={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_GET_HALF_BOOKS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},rd={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_DELETE_BOOK),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},sd={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_DELETE_BOOKS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},od={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_DELETE_BOOKS2),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},ad={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_PRINT_BOOK),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},ld={init:function(){this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("设置待查书总数 N=").appendField(new Ve.FieldDropdown([["5","5"],["10","10"],["20","20"],["50","50"]]),"NUM"),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Sc),this.setTooltip(""),this.setHelpUrl("")}},ud={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_NUMBER_ZERO),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},cd={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_NUMBER_ADD),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},dd={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_PRINT_NUMBER),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},hd={init:function(){this.setColour(Sc),this.appendDummyInput().appendField("n"+Ve.Msg.MIXLY_VALUE2).appendField(new Ve.FieldTextInput("50"),"NUM"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},pd={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_PRINT_SEQUENCE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},fd={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_PRINT_DIVIDE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},md={init:function(){this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("初始化鸡兔同笼问题:"),this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("有若干只鸡、兔在同一个笼子里。"),this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("从上面数鸡兔有10个头,"),this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("从下面数鸡兔有32只脚。"),this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("问笼中有多少只鸡和多少只兔?"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Sc),this.setTooltip(""),this.setHelpUrl("")}},gd={init:function(){this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("假设兔子的数量为0只"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Sc),this.setTooltip(""),this.setHelpUrl("")}},_d={init:function(){this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("兔子的数量在范围之内"),this.setOutput(!0,null),this.setColour(Sc),this.setTooltip(""),this.setHelpUrl("")}},yd={init:function(){this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("根据(头数-兔子数)计算出鸡的数量"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Sc),this.setTooltip(""),this.setHelpUrl("")}},vd={init:function(){this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("计算得到脚的数量正确"),this.setOutput(!0,null),this.setColour(Sc),this.setTooltip(""),this.setHelpUrl("")}},bd={init:function(){this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("输出鸡、兔的数量"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Sc),this.setTooltip(""),this.setHelpUrl("")}},Td={init:function(){this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("假设兔子数量要更多一只"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Sc),this.setTooltip(""),this.setHelpUrl("")}},xd={init:function(){this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("加载路线图"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Sc),this.setTooltip(""),this.setHelpUrl("")}},Ed={init:function(){this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("计算").appendField(new Ve.FieldDropdown([["S1","1"],["S2","2"],["S3","3"],["S4","4"]]),"PATHNAME").appendField("长度"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Sc),this.setTooltip(""),this.setHelpUrl("")}},wd={init:function(){this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("设置S1为Smin"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Sc),this.setTooltip(""),this.setHelpUrl("")}},Id={init:function(){this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField(new Ve.FieldDropdown([["S1","1"],["S2","2"],["S3","3"],["S4","4"]]),"PATHNAME").appendField("的长度比").appendField(new Ve.FieldDropdown([["S1","1"],["S2","2"],["S3","3"],["S4","4"]]),"PATHNAME2").appendField("短"),this.setOutput(!0,null),this.setColour(Sc),this.setTooltip(""),this.setHelpUrl("")}},Ad={init:function(){this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("设置").appendField(new Ve.FieldDropdown([["S1","1"],["S2","2"],["S3","3"],["S4","4"]]),"PATHNAME").appendField("为Smin"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Sc),this.setTooltip(""),this.setHelpUrl("")}},Sd={init:function(){this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("按照Smin移动"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Sc),this.setTooltip(""),this.setHelpUrl("")}},Cd={init:function(){this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("初始化韩信点兵问题:"),this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("有未知数量的若干士兵。"),this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("若3人一排列队,多1人;"),this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("若5人一排列队,多2人;"),this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("若7人一排列队,多2人;"),this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("问士兵的数量最少是多少人?"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Sc),this.setTooltip(""),this.setHelpUrl("")}},Od={init:function(){this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("初始化士兵为").appendField(new Ve.FieldTextInput("7"),"NUM").appendField("个"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Sc),this.setTooltip(""),this.setHelpUrl("")}},Md={init:function(){this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("使士兵").appendField(new Ve.FieldDropdown([["3","3"],["5","5"],["7","7"]]),"NUM").appendField("人一排列队"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Sc),this.setTooltip(""),this.setHelpUrl("")}},kd={init:function(){this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("剩余").appendField(new Ve.FieldTextInput("1"),"NUM").appendField("个士兵"),this.setOutput(!0,null),this.setColour(Sc),this.setTooltip(""),this.setHelpUrl("")}},Rd={init:function(){this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("增加1个士兵"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Sc),this.setTooltip(""),this.setHelpUrl("")}},Nd={init:function(){this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("输出士兵数量"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Sc),this.setTooltip(""),this.setHelpUrl("")}},Dd={init:function(){this.appendDummyInput().appendField("准备").appendField(new Ve.FieldNumber(3,0,100,1),"NUM").appendField("层汉诺塔"),this.appendValueInput("VAR").setCheck(String).appendField(Ve.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Sc),this.setInputsInline(!0),this.setTooltip(""),this.setHelpUrl("")}},Fd={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_GET_CURRENT_LOCATION),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Ld={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_VOID_PATH),this.setOutput(!0)}},Pd={init:function(){this.setColour(Sc),this.appendDummyInput("").setAlign(Ve.inputs.Align.RIGHT).appendField(new Ve.FieldColour("ff0000"),"COLOR"),this.setInputsInline(!0),this.setOutput(!0,String)}},Bd="#3288dd",$d={init:function(){this.setColour(Bd),this.appendValueInput("DOMAIN").appendField(Ve.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(Ve.Msg.blockpy_REQUESTS_GET).appendField(new Ve.FieldTextInput("response"),"VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.blockpy_REQUESTS_GET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Ve.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},Ud={init:function(){this.setColour(Bd),this.appendValueInput("URL").appendField(Ve.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(Ve.Msg.blockpy_CONDUCT).appendField(new Ve.FieldDropdown([["get","get"],["head","head"],["delete","delete"]]),"TYPE").appendField(Ve.Msg.blockpy_REQUESTS).appendField(Ve.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},Vd={init:function(){this.setColour(Bd),this.appendValueInput("URL").appendField(Ve.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(Ve.Msg.blockpy_CONDUCT).appendField(new Ve.FieldDropdown([["post","post"],["put","put"],["patch","patch"]]),"TYPE").appendField(Ve.Msg.blockpy_REQUESTS),this.appendValueInput("data").appendField(Ve.Msg.blockpy_REQUESTS+Ve.Msg.OLED_STRING),this.appendDummyInput("").appendField(Ve.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},zd={init:function(){this.appendValueInput("VAL");var e=[[Ve.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[Ve.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[Ve.Msg.blockpy_REQUESTS_GET_ATTR_COOKIES,"cookies"],[Ve.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"],[Ve.Msg.MIXPY_TEXT_ENCODE,"encoding"]];this.setColour(Bd),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_MICROBIT_JS_GET).appendField(new Ve.FieldDropdown(e),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String)}},jd={init:function(){this.appendValueInput("VAR").appendField(Ve.Msg.DISPLAY_IMAGE_LET2).setCheck(String);this.setColour(Bd),this.appendDummyInput("").appendField(Ve.Msg.blockpy_CONDUCT).appendField(new Ve.FieldDropdown([["post","post"],["put","put"],["delete","delete"],["head","head"],["option","option"]]),"DIR"),this.appendDummyInput("").appendField(Ve.Msg.blockpy_REQUESTS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip(function(){var t=e.getFieldValue("DIR");return{forward:Ve.Msg.MIXLY_TOOLTIP_TURTEL_FORWARD,backward:Ve.Msg.MIXLY_TOOLTIP_TURTEL_BACKWARD}[t]})}},Yd="f0a559",Gd={init:function(){this.setColour(Yd),this.appendValueInput("FILE").setCheck(String).appendField(Ve.Msg.MIXLY_CV_IMREAD),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)}},Hd={init:function(){this.setColour(Yd),this.appendValueInput("FILE").appendField(Ve.Msg.OLED_BITMAP),this.appendValueInput("data").setCheck(String).appendField(Ve.Msg.MIXLY_AipNlp_Topic_Title),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Wd={init:function(){this.setColour(Yd),this.appendValueInput("FILE").appendField(Ve.Msg.MIXLY_CV_IMWRITE),this.appendValueInput("data").setCheck(String).appendField(Ve.Msg.HTML_NAME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Xd={init:function(){this.setColour(Yd),this.appendValueInput("data").setCheck(Number).appendField(Ve.Msg.MIXLY_DELAY),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MILLIS+Ve.Msg.MIXLY_CV_OR_PRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ve.Msg.MIXLY_CV_WAITKEY_TOOLTIP)}},qd={init:function(){this.setColour(Yd),this.appendDummyInput().appendField(Ve.Msg.MIXLY_CV_DESTROY_ALL),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Kd={init:function(){this.setColour(Yd),this.appendValueInput("FILE").appendField(Ve.Msg.MIXLY_MICROBIT_IMAGE);var e=[[Ve.Msg.MIXLY_CV_RECT,"rectangle"],[Ve.Msg.MIXLY_CV_LINE,"line"]];this.appendValueInput("x1").setCheck(Number).appendField(Ve.Msg.MIXLY_DISPLAY_DRAW).appendField(new Ve.FieldDropdown(e),"DIR").appendField(Ve.Msg.MIXLY_CV_DRAWLINE_BEGIN+"(x1"),this.appendValueInput("y1").setCheck(Number).appendField(",y1"),this.appendValueInput("x2").setCheck(Number).appendField(") "+Ve.Msg.MIXLY_CV_DRAWLINE_END+"(x2"),this.appendValueInput("y2").setCheck(Number).appendField(",y2"),this.appendDummyInput().appendField(") "+Ve.Msg.MIXLY_CV_DRAWLINE_COLOR).appendField(new Ve.FieldColour("#ff0000"),"FIELDNAME"),this.appendValueInput("thick").setCheck(Number).appendField(Ve.Msg.MIXLY_CV_DRAWLINE_THICKNESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ve.Msg.MIXLY_CV_DRAWLINE_RECT_TOOLTIP)}},Zd={init:function(){this.setColour(Yd),this.appendValueInput("FILE").appendField(Ve.Msg.MIXLY_MICROBIT_IMAGE);this.appendValueInput("data").setCheck(String).appendField(Ve.Msg.MIXLY_CV_DRAWTEXT),this.appendValueInput("x1").setCheck(Number).appendField(Ve.Msg.MIXLY_CV_DRAWLINE_BEGIN+"(x1"),this.appendValueInput("y1").setCheck(Number).appendField(",y1"),this.appendDummyInput().appendField(") "+Ve.Msg.MIXLY_TURTLE_WRITE_FONT_NAME).appendField(new Ve.FieldDropdown([["SIMPLEX","SIMPLEX"],["PLAIN","PLAIN"],["DUPLEX","DUPLEX"],["COMPLEX","COMPLEX"],["COMPLEX_SMALL","COMPLEX_SMALL"],["TRIPLEX","TRIPLEX"],["SCRIPT_SIMPLEX","SCRIPT_SIMPLEX"],["SCRIPT_COMPLEX","SCRIPT_COMPLEX"]]),"font"),this.appendValueInput("size").setCheck(Number).appendField(Ve.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendDummyInput().appendField(") "+Ve.Msg.MIXLY_CV_DRAWLINE_COLOR).appendField(new Ve.FieldColour("#ff0000"),"FIELDNAME"),this.appendValueInput("thick").setCheck(Number).appendField(Ve.Msg.MIXLY_CV_DRAWLINE_THICKNESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ve.Msg.MIXLY_CV_DRAWLINE_RECT_TOOLTIP)}},Qd={init:function(){this.setColour(Yd),this.appendValueInput("FILE").setCheck(String).appendField(Ve.Msg.MIXLY_CV_FACE_CLASSIFIER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)}},Jd={init:function(){this.setColour(Yd),this.appendValueInput("FILE").appendField(Ve.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("FACE").appendField(Ve.Msg.MIXLY_CV_FACE_DETECT),this.appendValueInput("SCALE").setCheck(Number).appendField(Ve.Msg.MIXLY_CV_FACE_DETECT_SCALE),this.appendValueInput("NEIGHBOR").setCheck(Number).appendField(Ve.Msg.MIXLY_CV_FACE_DETECT_NEIGHBOR),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)}},eh={init:function(){this.setColour(Yd),this.appendValueInput("FILE").appendField(Ve.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("FACE").appendField(Ve.Msg.MIXLY_CV_FACE_DETECT),this.appendValueInput("SCALE").setCheck(Number).appendField(Ve.Msg.MIXLY_CV_FACE_DETECT_SCALE),this.appendValueInput("NEIGHBOR").setCheck(Number).appendField(Ve.Msg.MIXLY_CV_FACE_DETECT_NEIGHBOR),this.appendValueInput("x1").setCheck(Number).appendField(Ve.Msg.MIXLY_CV_FACE_DETECT_RANGE).appendField(Ve.Msg.blockpy_TUPLE_MIN),this.appendValueInput("y1").setCheck(Number).appendField("×"),this.appendValueInput("x2").setCheck(Number).appendField(Ve.Msg.blockpy_TUPLE_MAX),this.appendValueInput("y2").setCheck(Number).appendField("×"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)}},th=170,nh={init:function(){this.setColour(th),this.appendDummyInput("").appendField(Ve.Msg.blockpy_series_create).appendField(new Ve.FieldTextInput("ser1"),"VAR"),this.appendValueInput("SER").appendField(Ve.Msg.blockpy_series_via),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ve.Msg.blockpy_series_create_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Ve.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},ih={init:function(){this.setColour(th),this.appendDummyInput("").appendField(Ve.Msg.blockpy_series_create).appendField(new Ve.FieldTextInput("ser1"),"VAR"),this.appendValueInput("SER").appendField(Ve.Msg.blockpy_series_via),this.appendValueInput("INDEX").setCheck([String,"List"]).appendField(Ve.Msg.blockpy_series_set_index),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ve.Msg.blockpy_series_create_index_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Ve.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},rh={init:function(){this.setColour(th),this.appendDummyInput("").appendField(Ve.Msg.blockpy_dataframe_create).appendField(new Ve.FieldTextInput("df1"),"VAR"),this.appendValueInput("SER").appendField(Ve.Msg.blockpy_series_via),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ve.Msg.blockpy_dataframe_create_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Ve.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},sh={init:function(){this.setColour(th);var e=[[Ve.Msg.DATAFRAME_RAW,"index"],[Ve.Msg.DATAFRAME_COLUMN,"columns"]];this.appendDummyInput("").appendField(Ve.Msg.blockpy_dataframe_create).appendField(new Ve.FieldTextInput("df1"),"VAR"),this.appendValueInput("SER").appendField(Ve.Msg.blockpy_series_via),this.appendDummyInput("").appendField(new Ve.FieldDropdown(e),"COLUMN_RAW"),this.appendValueInput("INDEX").setCheck([String,"List"]).appendField(Ve.Msg.blockpy_series_set_index),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ve.Msg.blockpy_dataframe_create_index_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Ve.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},oh={init:function(){this.setColour(th),this.appendDummyInput("").appendField(Ve.Msg.blockpy_dataframe_create).appendField(new Ve.FieldTextInput("df1"),"VAR"),this.appendValueInput("SER").appendField(Ve.Msg.blockpy_series_via),this.appendValueInput("INDEX_COLUMN").setCheck([String,"List"]).appendField(Ve.Msg.blockpy_dataframe_set_index_column),this.appendValueInput("INDEX_RAW").setCheck([String,"List"]).appendField(Ve.Msg.blockpy_dataframe_set_index_raw),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.blockpy_dataframe_create_index_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Ve.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},ah={init:function(){this.setColour(th),this.appendDummyInput("").appendField(new Ve.FieldTextInput("ser1"),"VAR").appendField(" = [").appendField(new Ve.FieldTextInput("1,2,3"),"TEXT").appendField("]"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_TOOLTIP_SERIES_CREATE_FROM_TEXT)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Ve.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},lh={init:function(){this.setColour(th);var e=[[Ve.Msg.SERIES_INDEX,"index"],[Ve.Msg.HTML_VALUE,"value"]];this.appendValueInput("SERIES").setCheck("Series"),this.appendDummyInput("").appendField(Ve.Msg.SERIES_INDEX_VALUE).appendField(new Ve.FieldDropdown(e),"INDEX_VALUE"),this.setOutput(!0,"List");var t=this;this.setTooltip(function(){var e=t.getFieldValue("INDEX_VALUE");return{index:Ve.Msg.SERIES_INDEX_TOOLTIP,value:Ve.Msg.HTML_VALUE_TOOLTIP}[e]})}},uh={init:function(){this.setColour(th),this.setOutput(!0),this.appendValueInput("SER").setCheck("Series"),this.appendValueInput("AT").setCheck(Number).appendField(Ve.Msg.LANG_LISTS_GET_INDEX1),this.appendDummyInput("").appendField(Ve.Msg.LANG_LISTS_GET_INDEX2),this.setInputsInline(!0),this.setTooltip(Ve.Msg.TUPLE_GET_INDEX_TOOLTIP)}},ch={init:function(){this.setColour(th),this.appendValueInput("SER").setCheck("Series").appendField(Ve.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendDummyInput().appendField(Ve.Msg.blockpy_PYLAB_PLOT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},dh={init:function(){this.setColour(th);var e=[[Ve.Msg.blockpy_PYLAB_PLOT_LINE_SOLID,"-"],[Ve.Msg.blockpy_PYLAB_PLOT_LINE_DOTTED,"--"],[Ve.Msg.blockpy_PYLAB_PLOT_LINE_CHAIN,"-."],[Ve.Msg.blockpy_PYLAB_PLOT_LINE_POINT_DOTTED,":"],[Ve.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,""]],t=[[Ve.Msg.COLOUR_RGB_BLUE,"b"],[Ve.Msg.COLOUR_RGB_GREEN,"g"],[Ve.Msg.COLOUR_RGB_RED,"r"],[Ve.Msg.COLOUR_CYAN,"c"],[Ve.Msg.COLOUR_MAGENTA,"m"],[Ve.Msg.COLOUR_YELLOW,"y"],[Ve.Msg.COLOUR_BLACK,"k"],[Ve.Msg.COLOUR_WHITE,"w"]],n=[[Ve.Msg.blockpy_PYLAB_PLOT_DOT_CIRCULAR,"."],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_PIXEL,","],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_LARGE_DOT,"o"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_DOWN,"v"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_UP,"^"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_LEFT,"<"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_RIGHT,">"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_UP,"1"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_DOWN,"2"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_LEFT,"3"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_RIGHT,"4"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_SQUARE,"s"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_PENTAGON,"p"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_STAR,"*"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_VERTICAL,"h"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_HORIZONTAL,"H"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_PLUS,"+"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_CROSS,"x"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND,"D"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND_SMALL,"d"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_VERTICAL,"|"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_HORIZONTAL,"_"]];this.appendValueInput("SER").setCheck("Series").appendField(Ve.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendDummyInput().appendField(Ve.Msg.blockpy_PYLAB_PLOT),this.appendDummyInput("").appendField(Ve.Msg.blockpy_PYLAB_PLOT_DOT).appendField(new Ve.FieldDropdown(n),"DOT"),this.appendDummyInput("").appendField(Ve.Msg.blockpy_PYLAB_PLOT_LINE).appendField(new Ve.FieldDropdown(e),"LINE"),this.appendDummyInput("").appendField(Ve.Msg.HTML_COLOUR).appendField(new Ve.FieldDropdown(t),"COLOR"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},hh={init:function(){this.setColour(th),this.appendDummyInput().appendField(Ve.Msg.blockpy_PYLAB_SHOW),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ph={init:function(){this.setColour(th),this.appendDummyInput().appendField(Ve.Msg.mixpy_PL_AXES),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},fh={init:function(){this.setColour(th),this.appendDummyInput().appendField(Ve.Msg.blockpy_PYLAB_LEGEND),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},mh={init:function(){this.setColour(th),this.appendDummyInput().appendField(Ve.Msg.blockpy_PYLAB_TITLE),this.appendValueInput("TITLE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},gh={init:function(){this.setColour(th);var e=[[Ve.Msg.PYLAB_LABEL_X,"x"],[Ve.Msg.PYLAB_LABEL_Y,"y"]];this.appendDummyInput().appendField(Ve.Msg.blockpy_PYLAB_SET_LABEL).appendField(new Ve.FieldDropdown(e),"DIR"),this.appendValueInput("LABEL").appendField(Ve.Msg.blockpy_PYLAB_LABEL).setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},_h={init:function(){this.setColour(th),this.appendValueInput("FROM").setCheck(Number).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MIXLY_SPLITBYDOU).appendField(Ve.Msg.MIXPY_DATA_ARRAY_CREATE_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MIXPY_DATA_ARRAY_CREATE_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MIXLY_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Ve.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},yh={init:function(){this.setColour(th);var e=[[Ve.Msg.mixpy_PYLAB_PLOT_BAR_PLOT,"plot"],[Ve.Msg.mixpy_PYLAB_PLOT_BAR_BAR,"bar"]];this.appendDummyInput().appendField(Ve.Msg.MIXLY_DISPLAY_DRAW).appendField(new Ve.FieldDropdown(e),"DIR"),this.appendValueInput("A").appendField(Ve.Msg.mixpy_PYLAB_PLOT_X),this.appendValueInput("B").appendField(Ve.Msg.mixpy_PYLAB_PLOT_Y),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip(function(){var e=t.getFieldValue("DIR");return{plot:Ve.Msg.mixpy_PYLAB_PLOT_XY_TOOLTIP,bar:Ve.Msg.mixpy_PYLAB_PLOT_BAR_EASY_TOOLTIP}[e]})}},vh={init:function(){this.setColour(th);var e=[[Ve.Msg.COLOUR_RGB_BLUE,"b"],[Ve.Msg.COLOUR_RGB_GREEN,"g"],[Ve.Msg.COLOUR_RGB_RED,"r"],[Ve.Msg.COLOUR_CYAN,"c"],[Ve.Msg.COLOUR_MAGENTA,"m"],[Ve.Msg.COLOUR_YELLOW,"y"],[Ve.Msg.COLOUR_BLACK,"k"],[Ve.Msg.COLOUR_WHITE,"w"]],t=[[Ve.Msg.blockpy_PYLAB_PLOT_DOT_CIRCULAR,"."],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_PIXEL,","],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_LARGE_DOT,"o"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_DOWN,"v"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_UP,"^"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_LEFT,"<"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_RIGHT,">"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_UP,"1"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_DOWN,"2"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_LEFT,"3"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_RIGHT,"4"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_SQUARE,"s"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_PENTAGON,"p"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_STAR,"*"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_VERTICAL,"h"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_HORIZONTAL,"H"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_PLUS,"+"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_CROSS,"x"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND,"D"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND_SMALL,"d"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_VERTICAL,"|"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_HORIZONTAL,"_"]];this.appendValueInput("A").appendField(Ve.Msg.mixpy_PYLAB_SCATTER).appendField(Ve.Msg.mixpy_PYLAB_PLOT_X),this.appendValueInput("B").appendField(Ve.Msg.mixpy_PYLAB_PLOT_Y),this.appendValueInput("S").appendField(Ve.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendDummyInput("").appendField(Ve.Msg.blockpy_PYLAB_PLOT_DOT).appendField(new Ve.FieldDropdown(t),"DOT"),this.appendDummyInput("").appendField(Ve.Msg.HTML_COLOUR).appendField(new Ve.FieldDropdown(e),"COLOR"),this.appendValueInput("TAG").setCheck(String).appendField(Ve.Msg.mixpy_PYLAB_TICKS_TAG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("")}},bh={init:function(){this.setColour(th);var e=[[Ve.Msg.blockpy_PYLAB_PLOT_LINE_SOLID,"-"],[Ve.Msg.blockpy_PYLAB_PLOT_LINE_DOTTED,"--"],[Ve.Msg.blockpy_PYLAB_PLOT_LINE_CHAIN,"-."],[Ve.Msg.blockpy_PYLAB_PLOT_LINE_POINT_DOTTED,":"],[Ve.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,""]],t=[[Ve.Msg.COLOUR_RGB_BLUE,"b"],[Ve.Msg.COLOUR_RGB_GREEN,"g"],[Ve.Msg.COLOUR_RGB_RED,"r"],[Ve.Msg.COLOUR_CYAN,"c"],[Ve.Msg.COLOUR_MAGENTA,"m"],[Ve.Msg.COLOUR_YELLOW,"y"],[Ve.Msg.COLOUR_BLACK,"k"],[Ve.Msg.COLOUR_WHITE,"w"]],n=[[Ve.Msg.blockpy_PYLAB_PLOT_DOT_CIRCULAR,"."],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_PIXEL,","],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_LARGE_DOT,"o"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_DOWN,"v"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_UP,"^"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_LEFT,"<"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_RIGHT,">"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_UP,"1"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_DOWN,"2"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_LEFT,"3"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_RIGHT,"4"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_SQUARE,"s"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_PENTAGON,"p"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_STAR,"*"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_VERTICAL,"h"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_HORIZONTAL,"H"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_PLUS,"+"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_CROSS,"x"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND,"D"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND_SMALL,"d"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_VERTICAL,"|"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_HORIZONTAL,"_"]];this.appendValueInput("A").appendField(Ve.Msg.mixpy_PYLAB_PLOT_XY).appendField(Ve.Msg.mixpy_PYLAB_PLOT_X),this.appendValueInput("B").appendField(Ve.Msg.mixpy_PYLAB_PLOT_Y),this.appendDummyInput("").appendField(Ve.Msg.blockpy_PYLAB_PLOT_DOT).appendField(new Ve.FieldDropdown(n),"DOT"),this.appendDummyInput("").appendField(Ve.Msg.blockpy_PYLAB_PLOT_LINE).appendField(new Ve.FieldDropdown(e),"LINE"),this.appendDummyInput("").appendField(Ve.Msg.HTML_COLOUR).appendField(new Ve.FieldDropdown(t),"COLOR"),this.appendValueInput("TAG").setCheck(String).appendField(Ve.Msg.mixpy_PYLAB_TICKS_TAG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.mixpy_PYLAB_PLOT_XY_TOOLTIP)}},Th={init:function(){this.setColour(th);var e=[[Ve.Msg.MIXLY_TURTLE_WRITE_ALIGN_CENTER,"center"],[Ve.Msg.AILGN_EDGE,"edge"]];this.appendValueInput("A").appendField(Ve.Msg.mixpy_PYLAB_BAR).appendField(Ve.Msg.mixpy_PYLAB_PLOT_X),this.appendValueInput("B").appendField(Ve.Msg.mixpy_PYLAB_PLOT_Y),this.appendValueInput("WIDTH").setCheck(Number).appendField(Ve.Msg.MIXLY_WIDTH),this.appendDummyInput("").appendField(Ve.Msg.mixpy_PYLAB_BAR_ALIGN).appendField(new Ve.FieldDropdown(e),"ALIGN"),this.appendDummyInput().appendField(Ve.Msg.HTML_COLOUR).appendField(new Ve.FieldColour("#0000ff"),"COLOR"),this.appendValueInput("TAG").setCheck(String).appendField(Ve.Msg.mixpy_PYLAB_TICKS_TAG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.mixpy_PYLAB_PLOT_XY_TOOLTIP)}},xh={init:function(){this.setColour(th);var e=[[Ve.Msg.mixpy_PL_PIE_SHADOW_N,"False"],[Ve.Msg.mixpy_PL_PIE_SHADOW_Y,"True"]],t=[[Ve.Msg.mixpy_PL_PIE_SHADOW_N,"None"],[Ve.Msg.mixpy_PYLAB_PIE_AUTOPCT_Z,"%.0f%%"],[Ve.Msg.mixpy_PYLAB_PIE_AUTOPCT_O,"%.1f%%"],[Ve.Msg.mixpy_PYLAB_PIE_AUTOPCT_T,"%.2f%%"]];this.appendValueInput("A").appendField(Ve.Msg.mixpy_PYLAB_PIE).appendField(Ve.Msg.COLOUR_BLEND_RATIO),this.appendValueInput("B").appendField(Ve.Msg.mixpy_PYLAB_TICKS_TAG),this.appendValueInput("EXPLODE").appendField(Ve.Msg.mixpy_PYLAB_PIE_EXPLODE),this.appendDummyInput("").appendField(Ve.Msg.mixpy_PYLAB_PIE_AUTOPCT).appendField(new Ve.FieldDropdown(t),"autopct"),this.appendDummyInput("").appendField(Ve.Msg.mixpy_PYLAB_PIE_SHADOW).appendField(new Ve.FieldDropdown(e),"SHADOW"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.mixpy_PYLAB_PLOT_XY_TOOLTIP)}},Eh={init:function(){this.setColour(th),this.appendValueInput("A").appendField(Ve.Msg.mixpy_PYLAB_HIST).appendField(Ve.Msg.MIXLY_SD_DATA),this.appendValueInput("B").appendField(Ve.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},wh={init:function(){this.setColour(th);var e=[[Ve.Msg.PYLAB_LABEL_X,"x"],[Ve.Msg.PYLAB_LABEL_Y,"y"]];this.appendDummyInput().appendField(Ve.Msg.MIXLY_SETTING).appendField(new Ve.FieldDropdown(e),"DIR"),this.appendValueInput("A").appendField(Ve.Msg.mixpy_PYLAB_TICKS).appendField(Ve.Msg.MIXLY_MICROBIT_JS_I2C_VALUE),this.appendValueInput("B").appendField(Ve.Msg.mixpy_PYLAB_TICKS_TAG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.mixpy_PYLAB_TICKS_TOOLTIP)}},Ih={init:function(){var e=[["sin","sin"],["cos","cos"],["tan","tan"],["arcsin","arcsin"],["arccos","arccos"],["arctan","arctan"],[Ve.Msg.LANG_MATH_TO_ROUND,"round"],[Ve.Msg.LANG_MATH_TO_CEIL,"ceil"],[Ve.Msg.LANG_MATH_TO_FLOOR,"floor"]];this.setColour(th),this.setOutput(!0),this.setInputsInline(!0),this.appendDummyInput().appendField(Ve.Msg.mixpy_NUMPY_TRIG),this.appendValueInput("NUM").setCheck(Number).appendField(new Ve.FieldDropdown(e),"OP"),this.setTooltip(Ve.Msg.mixpy_NUMPY_TRIG_TOOLTIP)}},Ah={init:function(){this.setColour(th),this.appendValueInput("VET").setCheck(Number).appendField(Ve.Msg.mixpy_SUBPLOT).appendField(Ve.Msg.mixpy_SUBPLOT_VERTICLE),this.appendValueInput("HOR").setCheck(Number).appendField(Ve.Msg.mixpy_SUBPLOT_HORIZEN),this.appendValueInput("NUM").setCheck(Number).appendField(Ve.Msg.mixpy_SUBPLOT_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},Sh={init:function(){this.setColour(th),this.appendValueInput("FILENAME").appendField(Ve.Msg.MIXPY_PANDAS_READ_CSV),this.appendDummyInput().appendField(new Ve.FieldDropdown([[Ve.Msg.mixpy_PANDAS_READCSV_HEADER_Y,"0"],[Ve.Msg.mixpy_PANDAS_READCSV_HEADER_N,"None"]]),"MODE"),this.appendDummyInput().appendField(Ve.Msg.mixpy_PANDAS_READCSV_TITLE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Ve.Msg.mixpy_PANDAS_READCSV_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Ve.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},Ch={init:function(){this.setColour(th),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Ve.Msg.mixpy_DATAFRAME_GET),this.appendDummyInput("").appendField(Ve.Msg.mixpy_DATAFRAME_GET_INDEX).appendField(new Ve.FieldDropdown([[Ve.Msg.DATAFRAME_COLUMN,"column"],[Ve.Msg.DATAFRAME_RAW,"raw"]]),"MODE"),this.setOutput(!0),this.setTooltip(Ve.Msg.mixpy_DATAFRAME_GET_TOOLTIP)}},Oh={init:function(){this.setColour(th),this.appendValueInput("FILE").setCheck(String).appendField(Ve.Msg.mixpy_PL_SAVEFIG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Ve.Msg.mixpy_PL_SAVEFIG_TOOLTIP)}},Mh={init:function(){this.setColour(th);var e=[[Ve.Msg.TEXT_TRIM_LEFT,"right"],[Ve.Msg.mixpy_PL_TEXT_CENTER,"center"],[Ve.Msg.TEXT_TRIM_RIGHT,"left"]],t=[[Ve.Msg.mixpy_PL_TEXT_TOP,"bottom"],[Ve.Msg.mixpy_PL_TEXT_CENTER,"center"],[Ve.Msg.mixpy_PL_TEXT_BOTTOM,"top"]];this.appendValueInput("VET").setCheck(Number).appendField(Ve.Msg.MIXLY_SETTING).appendField(Ve.Msg.mixpy_PL_TEXT_X),this.appendValueInput("HOR").setCheck(Number).appendField(Ve.Msg.mixpy_PL_TEXT_Y),this.appendValueInput("NUM").setCheck(Number).appendField(Ve.Msg.mixpy_PL_TEXT_TAG),this.appendDummyInput("").appendField(Ve.Msg.mixpy_PL_TEXT_HOR).appendField(new Ve.FieldDropdown(e),"HALIGN"),this.appendDummyInput("").appendField(Ve.Msg.mixpy_PL_TEXT_VER).appendField(new Ve.FieldDropdown(t),"VALIGN"),this.appendValueInput("FONTNUM").setCheck(Number).appendField(Ve.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.mixpy_PL_TEXT_TOOLTIP)}},kh={init:function(){this.setColour(th),this.appendValueInput("VAR").appendField(Ve.Msg.MIXLY_TOARRAY),this.setOutput(!0,"List"),this.setTooltip(Ve.Msg.MIXLY_PYTHON_TOOLTIP_TOARRAY)}},Rh={init:function(){this.setColour(th),this.appendValueInput("SER").setCheck("Series").appendField(Ve.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendDummyInput().appendField(Ve.Msg.blockpy_PYLAB_PLOT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Nh={init:function(){this.setColour(th);var e=[[Ve.Msg.blockpy_PYLAB_PLOT_LINE_SOLID,"-"],[Ve.Msg.blockpy_PYLAB_PLOT_LINE_DOTTED,"--"],[Ve.Msg.blockpy_PYLAB_PLOT_LINE_CHAIN,"-."],[Ve.Msg.blockpy_PYLAB_PLOT_LINE_POINT_DOTTED,":"],[Ve.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,""]],t=[[Ve.Msg.COLOUR_RGB_BLUE,"b"],[Ve.Msg.COLOUR_RGB_GREEN,"g"],[Ve.Msg.COLOUR_RGB_RED,"r"],[Ve.Msg.COLOUR_CYAN,"c"],[Ve.Msg.COLOUR_MAGENTA,"m"],[Ve.Msg.COLOUR_YELLOW,"y"],[Ve.Msg.COLOUR_BLACK,"k"],[Ve.Msg.COLOUR_WHITE,"w"]],n=[[Ve.Msg.blockpy_PYLAB_PLOT_DOT_CIRCULAR,"."],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_PIXEL,","],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_LARGE_DOT,"o"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_DOWN,"v"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_UP,"^"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_LEFT,"<"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_RIGHT,">"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_UP,"1"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_DOWN,"2"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_LEFT,"3"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_RIGHT,"4"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_SQUARE,"s"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_PENTAGON,"p"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_STAR,"*"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_VERTICAL,"h"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_HORIZONTAL,"H"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_PLUS,"+"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_CROSS,"x"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND,"D"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND_SMALL,"d"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_VERTICAL,"|"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_HORIZONTAL,"_"]];this.appendValueInput("SER").setCheck("Series").appendField(Ve.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendDummyInput().appendField(Ve.Msg.blockpy_PYLAB_PLOT),this.appendDummyInput("").appendField(Ve.Msg.blockpy_PYLAB_PLOT_DOT).appendField(new Ve.FieldDropdown(n),"DOT"),this.appendDummyInput("").appendField(Ve.Msg.blockpy_PYLAB_PLOT_LINE).appendField(new Ve.FieldDropdown(e),"LINE"),this.appendDummyInput("").appendField(Ve.Msg.HTML_COLOUR).appendField(new Ve.FieldDropdown(t),"COLOR"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Dh={init:function(){this.setColour(th),this.appendDummyInput().appendField(Ve.Msg.blockpy_PYLAB_SHOW),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Fh={init:function(){this.setColour(th),this.appendDummyInput().appendField(Ve.Msg.mixpy_PL_AXES),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Lh={init:function(){this.setColour(th),this.appendDummyInput().appendField(Ve.Msg.blockpy_PYLAB_LEGEND),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ph={init:function(){this.setColour(th),this.appendDummyInput().appendField(Ve.Msg.blockpy_PYLAB_TITLE),this.appendValueInput("TITLE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Bh={init:function(){this.setColour(th);var e=[[Ve.Msg.PYLAB_LABEL_X,"x"],[Ve.Msg.PYLAB_LABEL_Y,"y"]];this.appendDummyInput().appendField(Ve.Msg.blockpy_PYLAB_SET_LABEL).appendField(new Ve.FieldDropdown(e),"DIR"),this.appendValueInput("LABEL").appendField(Ve.Msg.blockpy_PYLAB_LABEL).setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},$h={init:function(){this.setColour(th);var e=[[Ve.Msg.mixpy_PYLAB_PLOT_BAR_PLOT,"plot"],[Ve.Msg.mixpy_PYLAB_PLOT_BAR_BAR,"bar"]];this.appendDummyInput().appendField(Ve.Msg.MIXLY_DISPLAY_DRAW).appendField(new Ve.FieldDropdown(e),"DIR"),this.appendValueInput("A").appendField(Ve.Msg.mixpy_PYLAB_PLOT_X),this.appendValueInput("B").appendField(Ve.Msg.mixpy_PYLAB_PLOT_Y),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip(function(){var e=t.getFieldValue("DIR");return{plot:Ve.Msg.mixpy_PYLAB_PLOT_XY_TOOLTIP,bar:Ve.Msg.mixpy_PYLAB_PLOT_BAR_EASY_TOOLTIP}[e]})}},Uh={init:function(){this.setColour(th);var e=[[Ve.Msg.COLOUR_RGB_BLUE,"b"],[Ve.Msg.COLOUR_RGB_GREEN,"g"],[Ve.Msg.COLOUR_RGB_RED,"r"],[Ve.Msg.COLOUR_CYAN,"c"],[Ve.Msg.COLOUR_MAGENTA,"m"],[Ve.Msg.COLOUR_YELLOW,"y"],[Ve.Msg.COLOUR_BLACK,"k"],[Ve.Msg.COLOUR_WHITE,"w"]],t=[[Ve.Msg.blockpy_PYLAB_PLOT_DOT_CIRCULAR,"."],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_PIXEL,","],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_LARGE_DOT,"o"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_DOWN,"v"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_UP,"^"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_LEFT,"<"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_RIGHT,">"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_UP,"1"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_DOWN,"2"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_LEFT,"3"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_RIGHT,"4"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_SQUARE,"s"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_PENTAGON,"p"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_STAR,"*"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_VERTICAL,"h"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_HORIZONTAL,"H"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_PLUS,"+"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_CROSS,"x"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND,"D"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND_SMALL,"d"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_VERTICAL,"|"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_HORIZONTAL,"_"]];this.appendValueInput("A").appendField(Ve.Msg.mixpy_PYLAB_SCATTER).appendField(Ve.Msg.mixpy_PYLAB_PLOT_X),this.appendValueInput("B").appendField(Ve.Msg.mixpy_PYLAB_PLOT_Y),this.appendValueInput("S").appendField(Ve.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendDummyInput("").appendField(Ve.Msg.blockpy_PYLAB_PLOT_DOT).appendField(new Ve.FieldDropdown(t),"DOT"),this.appendDummyInput("").appendField(Ve.Msg.HTML_COLOUR).appendField(new Ve.FieldDropdown(e),"COLOR"),this.appendValueInput("TAG").setCheck(String).appendField(Ve.Msg.mixpy_PYLAB_TICKS_TAG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("")}},Vh={init:function(){this.setColour(th);var e=[[Ve.Msg.blockpy_PYLAB_PLOT_LINE_SOLID,"-"],[Ve.Msg.blockpy_PYLAB_PLOT_LINE_DOTTED,"--"],[Ve.Msg.blockpy_PYLAB_PLOT_LINE_CHAIN,"-."],[Ve.Msg.blockpy_PYLAB_PLOT_LINE_POINT_DOTTED,":"],[Ve.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,""]],t=[[Ve.Msg.COLOUR_RGB_BLUE,"b"],[Ve.Msg.COLOUR_RGB_GREEN,"g"],[Ve.Msg.COLOUR_RGB_RED,"r"],[Ve.Msg.COLOUR_CYAN,"c"],[Ve.Msg.COLOUR_MAGENTA,"m"],[Ve.Msg.COLOUR_YELLOW,"y"],[Ve.Msg.COLOUR_BLACK,"k"],[Ve.Msg.COLOUR_WHITE,"w"]],n=[[Ve.Msg.blockpy_PYLAB_PLOT_DOT_CIRCULAR,"."],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_PIXEL,","],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_LARGE_DOT,"o"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_DOWN,"v"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_UP,"^"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_LEFT,"<"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_RIGHT,">"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_UP,"1"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_DOWN,"2"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_LEFT,"3"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_RIGHT,"4"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_SQUARE,"s"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_PENTAGON,"p"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_STAR,"*"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_VERTICAL,"h"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_HORIZONTAL,"H"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_PLUS,"+"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_CROSS,"x"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND,"D"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND_SMALL,"d"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_VERTICAL,"|"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_HORIZONTAL,"_"]];this.appendValueInput("A").appendField(Ve.Msg.mixpy_PYLAB_PLOT_XY).appendField(Ve.Msg.mixpy_PYLAB_PLOT_X),this.appendValueInput("B").appendField(Ve.Msg.mixpy_PYLAB_PLOT_Y),this.appendDummyInput("").appendField(Ve.Msg.blockpy_PYLAB_PLOT_DOT).appendField(new Ve.FieldDropdown(n),"DOT"),this.appendDummyInput("").appendField(Ve.Msg.blockpy_PYLAB_PLOT_LINE).appendField(new Ve.FieldDropdown(e),"LINE"),this.appendDummyInput("").appendField(Ve.Msg.HTML_COLOUR).appendField(new Ve.FieldDropdown(t),"COLOR"),this.appendValueInput("TAG").setCheck(String).appendField(Ve.Msg.mixpy_PYLAB_TICKS_TAG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.mixpy_PYLAB_PLOT_XY_TOOLTIP)}},zh={init:function(){this.setColour(th);var e=[[Ve.Msg.MIXLY_TURTLE_WRITE_ALIGN_CENTER,"center"],[Ve.Msg.AILGN_EDGE,"edge"]];this.appendValueInput("A").appendField(Ve.Msg.mixpy_PYLAB_BAR).appendField(Ve.Msg.mixpy_PYLAB_PLOT_X),this.appendValueInput("B").appendField(Ve.Msg.mixpy_PYLAB_PLOT_Y),this.appendValueInput("WIDTH").setCheck(Number).appendField(Ve.Msg.MIXLY_WIDTH),this.appendDummyInput("").appendField(Ve.Msg.mixpy_PYLAB_BAR_ALIGN).appendField(new Ve.FieldDropdown(e),"ALIGN"),this.appendDummyInput().appendField(Ve.Msg.HTML_COLOUR).appendField(new Ve.FieldColour("#0000ff"),"COLOR"),this.appendValueInput("TAG").setCheck(String).appendField(Ve.Msg.mixpy_PYLAB_TICKS_TAG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.mixpy_PYLAB_PLOT_XY_TOOLTIP)}},jh={init:function(){this.setColour(th);var e=[[Ve.Msg.mixpy_PL_PIE_SHADOW_N,"False"],[Ve.Msg.mixpy_PL_PIE_SHADOW_Y,"True"]],t=[[Ve.Msg.mixpy_PL_PIE_SHADOW_N,"None"],[Ve.Msg.mixpy_PYLAB_PIE_AUTOPCT_Z,"%.0f%%"],[Ve.Msg.mixpy_PYLAB_PIE_AUTOPCT_O,"%.1f%%"],[Ve.Msg.mixpy_PYLAB_PIE_AUTOPCT_T,"%.2f%%"]];this.appendValueInput("A").appendField(Ve.Msg.mixpy_PYLAB_PIE).appendField(Ve.Msg.COLOUR_BLEND_RATIO),this.appendValueInput("B").appendField(Ve.Msg.mixpy_PYLAB_TICKS_TAG),this.appendValueInput("EXPLODE").appendField(Ve.Msg.mixpy_PYLAB_PIE_EXPLODE),this.appendDummyInput("").appendField(Ve.Msg.mixpy_PYLAB_PIE_AUTOPCT).appendField(new Ve.FieldDropdown(t),"autopct"),this.appendDummyInput("").appendField(Ve.Msg.mixpy_PYLAB_PIE_SHADOW).appendField(new Ve.FieldDropdown(e),"SHADOW"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.mixpy_PYLAB_PLOT_XY_TOOLTIP)}},Yh={init:function(){this.setColour(th),this.appendValueInput("A").appendField(Ve.Msg.mixpy_PYLAB_HIST).appendField(Ve.Msg.MIXLY_SD_DATA),this.appendValueInput("B").appendField(Ve.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Gh={init:function(){this.setColour(th);var e=[[Ve.Msg.PYLAB_LABEL_X,"x"],[Ve.Msg.PYLAB_LABEL_Y,"y"]];this.appendDummyInput().appendField(Ve.Msg.MIXLY_SETTING).appendField(new Ve.FieldDropdown(e),"DIR"),this.appendValueInput("A").appendField(Ve.Msg.mixpy_PYLAB_TICKS).appendField(Ve.Msg.MIXLY_MICROBIT_JS_I2C_VALUE),this.appendValueInput("B").appendField(Ve.Msg.mixpy_PYLAB_TICKS_TAG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.mixpy_PYLAB_TICKS_TOOLTIP)}},Hh={init:function(){this.setColour(th),this.appendValueInput("VET").setCheck(Number).appendField(Ve.Msg.mixpy_SUBPLOT).appendField(Ve.Msg.mixpy_SUBPLOT_VERTICLE),this.appendValueInput("HOR").setCheck(Number).appendField(Ve.Msg.mixpy_SUBPLOT_HORIZEN),this.appendValueInput("NUM").setCheck(Number).appendField(Ve.Msg.mixpy_SUBPLOT_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},Wh={init:function(){this.setColour(th),this.appendDummyInput("").appendField(Ve.Msg.mixpy_PL_SAVEFIG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Ve.Msg.mixpy_PL_SAVEFIG_TOOLTIP)}},Xh={init:function(){this.setColour(th);var e=[[Ve.Msg.TEXT_TRIM_LEFT,"right"],[Ve.Msg.mixpy_PL_TEXT_CENTER,"center"],[Ve.Msg.TEXT_TRIM_RIGHT,"left"]],t=[[Ve.Msg.mixpy_PL_TEXT_TOP,"bottom"],[Ve.Msg.mixpy_PL_TEXT_CENTER,"center"],[Ve.Msg.mixpy_PL_TEXT_BOTTOM,"top"]];this.appendValueInput("VET").setCheck(Number).appendField(Ve.Msg.MIXLY_SETTING).appendField(Ve.Msg.mixpy_PL_TEXT_X),this.appendValueInput("HOR").setCheck(Number).appendField(Ve.Msg.mixpy_PL_TEXT_Y),this.appendValueInput("NUM").setCheck(Number).appendField(Ve.Msg.mixpy_PL_TEXT_TAG),this.appendDummyInput("").appendField(Ve.Msg.mixpy_PL_TEXT_HOR).appendField(new Ve.FieldDropdown(e),"HALIGN"),this.appendDummyInput("").appendField(Ve.Msg.mixpy_PL_TEXT_VER).appendField(new Ve.FieldDropdown(t),"VALIGN"),this.appendValueInput("FONTNUM").setCheck(Number).appendField(Ve.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.mixpy_PL_TEXT_TOOLTIP)}},qh={init:function(){this.setColour(th),this.appendValueInput("ARRAY").appendField("获取维度"),this.setOutput(!0),this.setTooltip("Returns the shape of the array.")}},Kh={init:function(){this.setColour(th),this.appendValueInput("ARRAY").appendField("变形"),this.appendValueInput("DIMENSIONS").appendField("后维度为"),this.setOutput(!0),this.setTooltip("Reshapes the array to the specified dimensions.")}},Zh={init:function(){this.setColour(th),this.appendValueInput("ARRAY").appendField("把"),this.appendDummyInput().appendField("转换为").appendField(new Ve.FieldDropdown([["uint8","numpy.uint8"],["int32","numpy.int32"],["float32","numpy.float32"],["float64","numpy.float64"]]),"TYPE"),this.setOutput(!0),this.setTooltip("Converts array to specified type.")}},Qh={init:function(){this.setColour(th),this.appendValueInput("ARRAY").appendField("创建二维图"),this.appendDummyInput().appendField("颜色").appendField(new Ve.FieldDropdown([["gray","gray"],["viridis","viridis"],["plasma","plasma"],["inferno","inferno"],["magma","magma"],["cividis","cividis"],["hot","hot"],["cool","cool"],["spring","spring"],["summer","summer"],["autumn","autumn"],["winter","winter"],["jet","jet"]]),"COLORMAP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("Displays an image with the specified colormap.")}},Jh={init:function(){this.setColour(th),this.appendValueInput("X").appendField("从数据集"),this.appendValueInput("Y").appendField("获取平均图像,标签"),this.appendValueInput("DIGIT").appendField("为"),this.setOutput(!0),this.setTooltip("Computes the mean of X where y equals the specified digit.")}},ep={init:function(){this.setColour(th),this.appendValueInput("IMAGE").appendField("获取模板匹配结果,图片:"),this.appendValueInput("TEMPLATES").appendField("模板:"),this.setOutput(!0),this.setTooltip("Finds the index of the template that minimizes the sum of absolute differences with the image.")}},tp={init:function(){this.setColour(th),this.appendValueInput("ARRAY").appendField("获取平均值"),this.appendDummyInput().appendField("沿着axis").appendField(new Ve.FieldDropdown([["None","NONE"],["0","0"],["1","1"]]),"AXIS"),this.setOutput(!0),this.setTooltip("Computes the mean of the array along the specified axis.")}},np={init:function(){this.setColour(th),this.appendValueInput("ARRAY").appendField("获取标准差"),this.appendDummyInput().appendField("沿着axis").appendField(new Ve.FieldDropdown([["None","NONE"],["0","0"],["1","1"]]),"AXIS"),this.setOutput(!0),this.setTooltip("Computes the standard deviation of the array along the specified axis.")}},ip={init:function(){this.setColour(th),this.appendValueInput("DF").appendField("丢弃缺省值"),this.setOutput(!0),this.setTooltip("Drops rows with NaN values from the dataframe.")}},rp={init:function(){this.setColour(th),this.appendValueInput("DATAFRAME").appendField("从数据集"),this.appendValueInput("COLUMNS").appendField("中删除列").setCheck(String),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("从数据框中删除指定的列。用逗号分隔多个列名。")}},sp={init:function(){this.setColour(th),this.appendValueInput("NUM").appendField("生成单位行向量"),this.setOutput(!0),this.setTooltip("Creates an array of ones with the specified length.")}},op={init:function(){this.setColour(th),this.appendValueInput("ARRAY1").appendField("列拼接:数组1"),this.appendValueInput("ARRAY2").appendField("数组2"),this.setOutput(!0),this.setTooltip("Concatenates two arrays along the second axis using numpy.c_.")}},ap={init:function(){this.setColour(th),this.appendValueInput("ARRAY").appendField("获取行列式"),this.setOutput(!0),this.setTooltip("Computes the determinant of an array using numpy.linalg.det.")}},lp={init:function(){this.setColour(th),this.appendValueInput("MATRIX").appendField("获取转置"),this.setOutput(!0),this.setTooltip("Computes the transpose of the given matrix.")}},up={init:function(){this.setColour(th),this.appendValueInput("MATRIX1"),this.appendValueInput("MATRIX2").appendField("@"),this.setOutput(!0),this.setTooltip("Multiplies two matrices.")}},cp={init:function(){this.setColour(th),this.appendValueInput("ARRAY").appendField("获取逆矩阵"),this.setOutput(!0),this.setTooltip("Computes the inverse of the given matrix using numpy.linalg.inv.")}},dp={init:function(){this.setColour(th),this.appendValueInput("DATAFRAME").appendField("获取中位数"),this.setOutput(!0),this.setTooltip("Computes the median of the given dataframe.")}},hp={init:function(){this.setColour(th),this.appendValueInput("DATAFRAME").appendField("填充缺失值"),this.appendValueInput("VALUE").appendField("填充值"),this.appendDummyInput().appendField("是否修改原数据").appendField(new Ve.FieldDropdown([["True","True"],["False","False"]]),"INPLACE"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("Fills NaN values in the dataframe with the specified value.")}},pp={init:function(){this.setColour(th),this.appendValueInput("DATAFRAME").appendField("获取DataFrame信息"),this.setOutput(!0),this.setTooltip("Displays information about the DataFrame.")}},fp={init:function(){this.setColour(th),this.appendValueInput("ARRAY").appendField("获取最小值"),this.appendDummyInput().appendField("沿着axis").appendField(new Ve.FieldDropdown([["None","None"],["行","0"],["列","1"]]),"AXIS"),this.setOutput(!0),this.setTooltip("Returns the minimum value along the specified axis.")}},mp={init:function(){this.setColour(th),this.appendValueInput("ARRAY").appendField("获取最大值"),this.appendDummyInput().appendField("沿着axis").appendField(new Ve.FieldDropdown([["None","None"],["行","0"],["列","1"]]),"AXIS"),this.setOutput(!0),this.setTooltip("Returns the maximum value along the specified axis.")}},gp={init:function(){this.setColour(th),this.appendValueInput("ARRAY").appendField("获取数组大小"),this.setOutput(!0),this.setTooltip("Returns the size of the array.")}},_p={init:function(){this.setColour(th),this.appendValueInput("ARRAY1").appendField("点乘数组1"),this.appendValueInput("ARRAY2").appendField("点乘数组2"),this.setOutput(!0),this.setTooltip("Returns the dot product of two arrays.")}},yp={init:function(){this.setColour(th),this.appendValueInput("ARRAY").appendField("获取平方数组"),this.setOutput(!0),this.setTooltip("Returns the element-wise square of the array.")}},vp={init:function(){this.setColour(th),this.appendValueInput("ARRAY").appendField("获取数组元素和"),this.setOutput(!0),this.setTooltip("Returns the sum of the array.")}},bp={init:function(){this.setColour(th),this.appendValueInput("SIZE").appendField("生成随机数组"),this.setOutput(!0),this.setTooltip("Returns a random array of the specified size.")}},Tp={init:function(){this.setColour(th),this.appendValueInput("ARRAY").appendField("Python求和"),this.setOutput(!0),this.setTooltip("Returns the sum of the iterable.")}},xp={init:function(){this.setColour(th),this.appendValueInput("DICT").setAlign(Ve.inputs.Align.RIGHT).setCheck("Dict"),this.appendDummyInput().setAlign(Ve.inputs.Align.RIGHT).appendField("值排序"),this.appendValueInput("KEY").setAlign(Ve.inputs.Align.RIGHT).appendField("标签"),this.appendDummyInput().setAlign(Ve.inputs.Align.RIGHT).appendField("排序方式").appendField(new Ve.FieldDropdown([["升序","True"],["降序","False"]]),"AS_CENDING"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("")}},Ep={init:function(){this.setColour(th),this.appendValueInput("DICT").setAlign(Ve.inputs.Align.RIGHT).setCheck("Dict"),this.appendDummyInput().setAlign(Ve.inputs.Align.RIGHT).appendField("获取").appendField(new Ve.FieldDropdown([["前几行","head"],["最后几行","tail"]]),"TYPE"),this.appendValueInput("LINES").setAlign(Ve.inputs.Align.RIGHT).appendField("行数"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("")}},wp={init:function(){this.setColour(th),this.appendValueInput("DICT").setAlign(Ve.inputs.Align.RIGHT).setCheck("Dict"),this.appendDummyInput().setAlign(Ve.inputs.Align.RIGHT).appendField("筛选数据"),this.appendValueInput("KEY").setAlign(Ve.inputs.Align.RIGHT).appendField("满足条件"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("")}},Ip={init:function(){this.setColour(th),this.appendValueInput("DICT").setAlign(Ve.inputs.Align.RIGHT).setCheck("Dict"),this.appendValueInput("KEY").setAlign(Ve.inputs.Align.RIGHT).appendField("通过标签"),this.appendDummyInput().setAlign(Ve.inputs.Align.RIGHT).appendField("分组"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("")}},Ap={init:function(){this.setColour(th),this.appendDummyInput().setAlign(Ve.inputs.Align.RIGHT).appendField(new Ve.FieldDropdown([["求最小值","min"],["求最大值","max"],["求和","sum"],["求平均值","mean"],["求中位数","median"],["求标准差","std"]]),"TYPE"),this.appendValueInput("DICT").setAlign(Ve.inputs.Align.RIGHT).setCheck("Dict"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("")}},Sp={init:function(){this.setColour(th),this.appendDummyInput().appendField("清除已有图像"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Cp=80,Op={init:function(){this.setColour(Cp),this.appendDummyInput("").appendField(new Ve.FieldLabel(Ve.Msg.DS_CREATE_LINKEDLIST_NEW)),this.appendDummyInput("").appendField(new Ve.FieldLabel(Ve.Msg.DS_CREATE_LINKEDLIST_HEAD)).appendField(new Ve.FieldTextInput("head"),"VAR"),this.appendDummyInput("").appendField(new Ve.FieldLabel(Ve.Msg.DS_CREATE_LINKEDLIST_TYPE)).appendField(new Ve.FieldTextInput("tag"),"TYPE"),this.appendDummyInput().appendField(Ve.Msg.DS_CREATE_LINKEDLIST_ATTRIBUTE),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Ve.icons.MutatorIcon(["ds_create_linkedlist_item"],this)),this.setTooltip(Ve.Msg.DS_CREATE_LINKEDLIST_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("ds_create_linkedlist_container");t.initSvg();for(var n=t.getInput("STACK").connection,i=0;it?e[t]:"name"),"KEY"+t).appendField("=")},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Ve.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},Mp={init:function(){this.setColour(Cp),this.appendDummyInput().appendField(Ve.Msg.DS_CREATE_LINKEDLIST_CONTAINER_TITLE),this.appendStatementInput("STACK"),this.setTooltip(Ve.Msg.DS_CREATE_LINKEDLIST_CONTAINER_TOOLTIP),this.contextMenu=!1}},kp={init:function(){this.setColour(Cp),this.appendDummyInput().appendField(Ve.Msg.DS_CREATE_LINKEDLIST_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.DS_CREATE_LINKEDLIST_ITEM_TOOLTIP),this.contextMenu=!1}},Rp={init:function(){this.setColour(Cp),this.appendDummyInput("").appendField(Ve.Msg.DS_CREATE_NODE_USE).appendField(new Ve.FieldTextInput("tag"),"TYPE"),this.appendDummyInput("").appendField(Ve.Msg.DS_CREATE_NODE_NEW),this.appendValueInput("NODE"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ve.Msg.DS_CREATE_NODE_TOOLTIP)}},Np={init:function(){this.setColour(Cp),this.appendDummyInput("").appendField(Ve.Msg.DS_GET_NODE_ATTR_NODE),this.appendValueInput("NODE"),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_AIP_ATTR).appendField(new Ve.FieldTextInput("name"),"TYPE"),this.appendDummyInput("").appendField(Ve.Msg.DICTS_ADD_VALUE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Ve.Msg.DS_GET_NODE_ATTR_TOOLTIP)}},Dp={init:function(){this.setColour(Cp),this.appendDummyInput("").appendField(Ve.Msg.DS_SET_NODE_ATTR_NODE),this.appendValueInput("NODE"),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_AIP_ATTR).appendField(new Ve.FieldTextInput("name"),"TYPE"),this.appendValueInput("VAR").appendField(Ve.Msg.DS_SET_NODE_ATTR_SET),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ve.Msg.DS_SET_NODE_ATTR_TOOLTIP)}},Fp={init:function(){this.setColour(Cp),this.appendValueInput("NODE").appendField(Ve.Msg.DS_ADD_NODE_HEAD_NODE);var e=[[Ve.Msg.DS_ADD_NODE_BEFORE,"before"],[Ve.Msg.DS_ADD_NODE_AFTER,"after"]];this.appendDummyInput("").appendField(Ve.Msg.DS_ADD_NODE_LINKEDLIST),this.appendValueInput("NODE2").appendField(Ve.Msg.DS_SET_NODE_ATTR_NODE),this.appendValueInput("NODE3").appendField(new Ve.FieldDropdown(e),"DIR").appendField(Ve.Msg.DS_ADD_NODE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ve.Msg.DS_ADD_NODE_TOOLTIP)}},Lp={init:function(){this.setColour(Cp),this.appendValueInput("NODE").appendField(Ve.Msg.DS_ADD_NODE_HEAD_NODE);var e=[[Ve.Msg.DS_ADD_NODE_BEFORE,"before"],[Ve.Msg.DS_ADD_NODE_AFTER,"after"]];this.appendDummyInput("").appendField(Ve.Msg.DS_ADD_NODE_LINKEDLIST),this.appendDummyInput("").appendField(Ve.Msg.DS_CREATE_LINKEDLIST_ITEM_TITLE).appendField(new Ve.FieldTextInput("name"),"TYPE"),this.appendValueInput("VAR").appendField(Ve.Msg.MIXLY_AS),this.appendDummyInput("").appendField(Ve.Msg.DS_ADD_NODE_ATTR),this.appendValueInput("NODE3").appendField(new Ve.FieldDropdown(e),"DIR").appendField(Ve.Msg.DS_ADD_NODE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ve.Msg.DS_ADD_NODE_TOOLTIP)}},Pp={init:function(){this.setColour(Cp),this.appendValueInput("NODE").appendField(Ve.Msg.DS_ADD_NODE_HEAD_NODE),this.appendDummyInput("").appendField(Ve.Msg.DS_ADD_NODE_LINKEDLIST),this.appendValueInput("NODE2").appendField(Ve.Msg.DS_DEL_NODE_NAME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ve.Msg.DS_DEL_NODE_TOOLTIP)}},Bp={init:function(){this.setColour(Cp),this.appendValueInput("NODE").appendField(Ve.Msg.DS_ADD_NODE_HEAD_NODE),this.appendDummyInput("").appendField(Ve.Msg.DS_ADD_NODE_LINKEDLIST),this.appendDummyInput("").appendField(Ve.Msg.DS_DEL_NODE_ATTR).appendField(new Ve.FieldTextInput("name"),"TYPE"),this.appendValueInput("VAR").appendField(Ve.Msg.MIXLY_AS),this.appendDummyInput("").appendField(Ve.Msg.DS_ADD_NODE_ATTR),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ve.Msg.DS_DEL_NODE_TOOLTIP)}},$p={init:function(){this.setColour(Cp),this.appendValueInput("NODE").appendField(Ve.Msg.DS_ADD_NODE_HEAD_NODE),this.appendDummyInput("").appendField(Ve.Msg.DS_REVERSE_LINKEDLIST),this.appendValueInput("NODE2").appendField(Ve.Msg.DS_REVERSE_LINKEDLIST_NEW_HEAD),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ve.Msg.DS_DEL_NODE_TOOLTIP)}},Up="#777777",Vp={init:function(){this.setColour(Up),this.appendDummyInput("").appendField("from ").appendField(new Ve.FieldTextInput("ESP32"),"path").appendField(" import ").appendField(new Ve.FieldTextInput("*"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},zp={init:function(){this.setColour(Up),this.appendDummyInput("").appendField("import ").appendField(new Ve.FieldTextInput("module"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},jp={init:function(){this.setColour(Up),this.appendDummyInput("").appendField(new Ve.FieldTextInput("my_function"),"NAME"),this.itemCount_=1,this.arguments_=["x"],this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Ve.icons.MutatorIcon(["factory_create_with_item"],this))},mutationToDom:function(){var e=document.createElement("mutation");e.setAttribute("items",this.itemCount_);for(var t=0;tt?e[t]:'"key'+(t+1)+'"'),"KEY"+t).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Ve.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},Ef={init:function(){this.setColour(_f),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(Ve.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},wf={init:function(){this.setColour(_f),this.appendDummyInput().appendField(Ve.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},If={init:function(){this.setColour(_f),this.appendDummyInput().appendField(Ve.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},Af={init:function(){this.setColour(_f),this.appendDummyInput().appendField(Ve.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").setCheck(String).appendField(Ve.Msg.MIXLY_EMQX_SERVER).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(Ve.Msg.MIXLY_WIFI_USERNAME).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(Ve.Msg.MIXLY_IOT_PASSWORD).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("PROJECT").setCheck(String).appendField(Ve.Msg.MIXLY_EMQX_PROJECT).setAlign(Ve.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Sf={init:function(){this.setColour(_f),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(Ve.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(Ve.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(Ve.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},Cf={init:function(){this.setColour(_f),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(Ve.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(Ve.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(Ve.Msg.HTML_BODY),this.appendDummyInput().appendField(Ve.Msg.MIXLY_Service_quality_display).appendField(new Ve.FieldDropdown([[Ve.Msg.MIXLY_AT_MOST_ONCE,"0"],[Ve.Msg.MIXLY_AT_LEAST_ONCE,"1"]]),"quality"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},Of={init:function(){this.setColour(_f),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(Ve.Msg.MIXLY_EMQX_SUBSCRIBE+Ve.Msg.MIXLY_MICROBIT_MSG).appendField(Ve.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(Ve.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_ESP32_IOT_EMQX_SUBSCRIBE_TOOLTIP)}},Mf={init:function(){this.setColour(_f),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(Ve.Msg.MSG.stop+Ve.Msg.MIXLY_EMQX_SUBSCRIBE).appendField(Ve.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_ESP32_IOT_EMQX_SUBSCRIBE_TOOLTIP)}},kf={init:function(){this.setColour(_f),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Ve.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Rf={init:function(){this.setColour(_f),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Ve.Msg.MIXLY_EMQX_CONNECT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Nf={init:function(){this.setColour(_f),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Ve.Msg.MIXLY_ESP32_CHECK_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Df={init:function(){this.setColour(_f),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(Ve.MQTT_Topic),this.setInputsInline(!0),this.setOutput(!0)}},Ff={init:function(){this.setColour(_f),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(Ve.Msg.MIXLY_EMQX_PUBLISH_MSG),this.setInputsInline(!0),this.setOutput(!0)}},Lf={init:function(){this.setColour(_f),this.appendValueInput("VAR").appendField(Ve.Msg.MIXLY_ESP32_IOT_MAP_FORMATING),this.setOutput(!0)}},Pf={init:function(){this.setColour(_f),this.appendValueInput("VAR").appendField(Ve.Msg.MIXLY_MICROPYTHON_FORMAT+"(Json)"),this.setOutput(!0)}},Bf={init:function(){this.setColour(_f),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Ve.Msg.MIXLY_EMQX_PING),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Ve.Msg.MIXLY_ESP32_IOT_EMQX_PING_TOOLTIP)}},$f={init:function(){this.setColour(_f),this.appendDummyInput().appendField("MixIO").appendField(Ve.Msg.MIXLY_GET_NTP),this.appendValueInput("addr").appendField(Ve.blynk_SERVER_ADD),this.setInputsInline(!0),this.setOutput(!0)}},Uf={init:function(){this.setColour(_f),this.appendDummyInput().appendField(Ve.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(Ve.Msg.MIXLY_EMQX_SERVER).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(Ve.Msg.CONTROLS_FOR_INPUT_WITH+Ve.Msg.MIXLY_MIXIO_SHARE_KEY).setAlign(Ve.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Vf={init:function(){this.setColour(_f),this.appendDummyInput().appendField(Ve.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(Ve.Msg.MIXLY_EMQX_SERVER).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(Ve.Msg.CONTROLS_FOR_INPUT_WITH+"Mixly Key").setAlign(Ve.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},zf={init:function(){this.VISITOR_ID=ze.Config.BOARD.visitorId.str32.substring(0,8).toUpperCase(),this.setColour(_f),this.appendDummyInput("").appendField(this.newQuote_(!0)).appendField(new Ve.FieldTextInput(this.visitorId),"VISITOR_ID").appendField(this.newQuote_(!1)),this.setOutput(!0,null)},onchange:function(){const e=this.getFieldValue("VISITOR_ID");this.VISITOR_ID!==e&&this.setFieldValue(this.VISITOR_ID,"VISITOR_ID")},newQuote_:function(e){if(e==this.RTL)var t="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAqUlEQVQI1z3KvUpCcRiA8ef9E4JNHhI0aFEacm1o0BsI0Slx8wa8gLauoDnoBhq7DcfWhggONDmJJgqCPA7neJ7p934EOOKOnM8Q7PDElo/4x4lFb2DmuUjcUzS3URnGib9qaPNbuXvBO3sGPHJDRG6fGVdMSeWDP2q99FQdFrz26Gu5Tq7dFMzUvbXy8KXeAj57cOklgA+u1B5AoslLtGIHQMaCVnwDnADZIFIrXsoXrgAAAABJRU5ErkJggg==";else t="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAn0lEQVQI1z3OMa5BURSF4f/cQhAKjUQhuQmFNwGJEUi0RKN5rU7FHKhpjEH3TEMtkdBSCY1EIv8r7nFX9e29V7EBAOvu7RPjwmWGH/VuF8CyN9/OAdvqIXYLvtRaNjx9mMTDyo+NjAN1HNcl9ZQ5oQMM3dgDUqDo1l8DzvwmtZN7mnD+PkmLa+4mhrxVA9fRowBWmVBhFy5gYEjKMfz9AylsaRRgGzvZAAAAAElFTkSuQmCC";return new Ve.FieldImage(t,12,12,'"')}},jf={init:function(){this.VISITOR_ID=ze.Config.BOARD.visitorId.str32.substring(0,8).toUpperCase(),this.setColour(_f),this.appendDummyInput("").appendField(new Ve.FieldTextInput(this.visitorId),"VISITOR_ID"),this.setOutput(!0,null)},onchange:function(){const e=this.getFieldValue("VISITOR_ID");this.VISITOR_ID!==e&&this.setFieldValue(this.VISITOR_ID,"VISITOR_ID")}},Yf={init:function(){this.setColour(_f),this.appendDummyInput().appendField("MixIO").appendField(Ve.Msg.MSG.catEthernet_clinet),this.setOutput(!0),this.setInputsInline(!0)}},Gf={init:function(){this.setColour(_f),this.appendDummyInput().appendField("HTTP"+Ve.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(Ve.Msg.DISPLAY_IMAGE_LET2),this.appendDummyInput().appendField(Ve.Msg.MIXLY_REQUESTS_GET).appendField(Ve.Msg.MIXLY_GET_CURRENT_TIME).appendField(Ve.Msg.MIXLY_OPEN_DEBUG).appendField(new Ve.FieldDropdown([[Ve.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Ve.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Hf={init:function(){this.setColour(_f),this.appendDummyInput().appendField("HTTP"+Ve.Msg.MIXLY_Client).appendField(Ve.Msg.MIXLY_GET).appendField(new Ve.FieldDropdown([[Ve.Msg.MIXLY_REQUESTS_LEN,"client_len"],[Ve.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[Ve.Msg.MIXLY_REQUESTS_MESSAGE,"text"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},Wf={init:function(){this.setColour(_f),this.appendDummyInput().appendField("MQTT"+Ve.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(Ve.Msg.MIXLY_CONNECTTO),this.appendDummyInput().appendField(Ve.Msg.MIXLY_INIT_SUBSCRIBE).appendField(Ve.MQTT_Topic).appendField(new Ve.FieldDropdown([[Ve.Msg.MIXLY_GET_CURRENT_TIME,""]]),"key").appendField(Ve.Msg.MIXLY_OPEN_DEBUG).appendField(new Ve.FieldDropdown([[Ve.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Ve.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Xf={init:function(){this.setColour(_f),this.appendDummyInput().appendField("MQTT"+Ve.Msg.MIXLY_Client).appendField(Ve.Msg.MIXLY_GET).appendField(new Ve.FieldDropdown([[Ve.Msg.MIXLY_REQUESTS_LEN,"client_len"],[Ve.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[Ve.Msg.MIXLY_REQUESTS_MESSAGE,"time_msg()"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},qf=yf,Kf=vf,Zf=bf,Qf=xf,Jf=230,em={init:function(){this.setColour(Jf),this.appendDummyInput("").appendField(new Ve.FieldDropdown(ze.Profile.default.digital_write),"PIN"),this.setOutput(!0)}},tm={init:function(){this.setColour(Jf),this.appendDummyInput("").appendField(new Ve.FieldDropdown(ze.Profile.default.digital_read),"PIN"),this.setOutput(!0)}},nm={init:function(){this.setColour(Jf),this.appendDummyInput("").appendField(new Ve.FieldDropdown(ze.Profile.default.analog_write),"PIN"),this.setOutput(!0)}},im={init:function(){this.setColour(Jf),this.appendDummyInput("").appendField(new Ve.FieldDropdown(ze.Profile.default.analog_read),"PIN"),this.setOutput(!0)}},rm={init:function(){this.setColour(40),this.appendDummyInput("").appendField(new Ve.FieldLabel(Ve.Msg.MIXPY_SERIAL_OPEN)).appendField(new Ve.FieldTextInput("ser"),"SER"),this.appendDummyInput().appendField(Ve.Msg.MIXLY_SERIAL_BEGIN).appendField(new Ve.FieldDropdown([["115200","115200"],["256000","256000"],["128000","128000"],["57600","57600"],["56000","56000"],["43000","43000"],["38400","38400"],["28800","28800"],["19200","19200"],["9600","9600"],["4800","4800"],["2400","2400"],["1200","1200"],["600","600"],["300","300"],["110","110"]]),"BPS"),this.appendValueInput("VAR").appendField(Ve.Msg.MIXPY_SERIAL_OPEN_TIMEOUT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Ve.Msg.MIXPY_SERIAL_OPEN_TOOLTIP)}},sm={init:function(){this.setColour(40),this.appendValueInput("SER"),this.appendValueInput("VAR").appendField(Ve.Msg.MIXPY_SERIAL_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Ve.Msg.MIXPY_SERIAL_WRITE_TOOLTIP)}},om={init:function(){this.setColour(40),this.appendValueInput("SER"),this.appendValueInput("VAR").setCheck(Number).appendField(Ve.Msg.MIXPY_SERIAL_READ),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Ve.Msg.MIXPY_SERIAL_READ_TOOLTIP)}},am={init:function(){this.setColour(40),this.appendValueInput("SER"),this.appendDummyInput().appendField(Ve.Msg.MIXPY_SERIAL_CLOSE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Ve.Msg.MIXPY_SERIAL_CLOSE_TOOLTIP)}},lm=80,um={init:function(){this.appendDummyInput().appendField(Ve.Msg.SKLEARN_CLASSIFICATION_GENERATION),this.appendValueInput("n_samples").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.NUMBER_OF_SAMPLES),this.appendValueInput("n_features").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.NUMBER_OF_FEATURES),this.appendValueInput("n_informative").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.NUMBER_OF_EFFECTIVE_FEATURES),this.appendValueInput("n_redundant").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.NUMBER_OF_REDUNDANT_FEATURES),this.appendValueInput("n_repeated").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.NUMBER_OF_REPEATED_FEATURES),this.appendValueInput("n_classes").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.NUMBER_OF_CLASSES),this.appendValueInput("n_clusters_per_class").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.NUMBER_OF_CLUSTERS_PER_CLASSES),this.appendValueInput("random_state").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.RANDOM_SEED),this.setInputsInline(!1),this.setOutput(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")}},cm={init:function(){this.appendDummyInput().appendField(Ve.Msg.SKLEARN_REGRESSION_GENERATION),this.appendValueInput("n_samples").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.NUMBER_OF_SAMPLES),this.appendValueInput("n_features").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.NUMBER_OF_FEATURES),this.appendValueInput("n_informative").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.NUMBER_OF_EFFECTIVE_FEATURES),this.appendValueInput("n_targets").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.NUMBER_OF_LABELS),this.appendValueInput("bias").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.DEVIATION),this.appendValueInput("noise").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.NOISE),this.appendValueInput("random_state").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.RANDOM_SEED),this.setInputsInline(!1),this.setOutput(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")}},dm={init:function(){this.appendDummyInput().appendField(Ve.Msg.SKLEARN_CLUSTERING_GENERATION),this.appendValueInput("n_samples").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.NUMBER_OF_SAMPLES),this.appendValueInput("n_features").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.NUMBER_OF_FEATURES),this.appendValueInput("centers").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.NUMBER_OF_CLUSTERS),this.appendValueInput("cluster_std").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.STANDARD_DEVIATION_OF_CLUSTER),this.appendValueInput("center_box").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.CLUSTER_BOUNDING_BOX),this.appendValueInput("shuffle").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.SHUFFLE_SAMPLES),this.appendValueInput("random_state").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.RANDOM_SEED),this.setInputsInline(!1),this.setOutput(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")}},hm={init:function(){var e=[[Ve.Msg.SKLEARN_LOAD_IRIS,"load_iris"],[Ve.Msg.SKLEARN_LOAD_BOSTON,"load_boston"],[Ve.Msg.SKLEARN_LOAD_DIABETES,"load_diabetes"],[Ve.Msg.SKLEARN_LOAD_BREAST_CANCER,"load_breast_cancer"],[Ve.Msg.SKLEARN_LOAD_LINNERUD,"load_linnerud"],[Ve.Msg.SKLEARN_LOAD_DIGITS,"load_digits"]];this.appendDummyInput().appendField("sklearn "+Ve.Msg.LOAD).appendField(new Ve.FieldDropdown(e),"type").appendField(new Ve.FieldTextInput("iris"),"name"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")},getVars:function(){return[this.getFieldValue("name")]},renameVar:function(e,t){Ve.Names.equals(e,this.getFieldValue("name"))&&this.setTitleValue(t,"name")}},pm={init:function(){this.appendValueInput("name").setCheck(null).appendField("sklearn "+Ve.Msg.DATA_SET),this.appendDummyInput().setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MIXLY_GET).appendField(new Ve.FieldDropdown([[Ve.Msg.EIGENVALUES,"data"],[Ve.Msg.LABEL_VALUE,"target"],[Ve.Msg.FEATURE,"feature_names"],[Ve.Msg.mixpy_PYLAB_TICKS_TAG,"target_names"]]),"type"),this.setOutput(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")}},fm={init:function(){this.appendDummyInput().appendField("sklearn "+Ve.Msg.DATA_SEGMENTATION),this.appendValueInput("train_data").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.EIGENVALUES),this.appendValueInput("train_target").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.LABEL_VALUE),this.appendValueInput("test_size").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.TEST_SET_PROPORTION),this.appendValueInput("rondom_state").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.RANDOM_SEED),this.setInputsInline(!1),this.setOutput(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")}},mm={init:function(){this.appendDummyInput().appendField("sklearn "+Ve.Msg.DATA_SEGMENTATION),this.appendValueInput("train_data").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.EIGENVALUES),this.appendValueInput("test_size").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.TEST_SET_PROPORTION),this.appendValueInput("rondom_state").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.RANDOM_SEED),this.setInputsInline(!1),this.setOutput(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")}},gm={init:function(){this.appendDummyInput().appendField("sklearn "+Ve.Msg.SKLEARN_LINEARREGRESSION_INIT),this.appendValueInput("model_name").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MODEL_NAME),this.appendValueInput("fit_intercept").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.SKLEARN_CALCULATE_MODEL_INTERRUPT),this.appendValueInput("normalize").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.SKLEARN_REGRESSION_NORMIALIZATION),this.appendValueInput("n_jobs").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.SKLEARN_THREADS),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")}},_m={init:function(){this.appendDummyInput().appendField("sklearn "+Ve.Msg.SKLEARN_RIDGE_INIT),this.appendValueInput("model_name").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MODEL_NAME),this.appendValueInput("alpha").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.SKLEARN_REGULA_INTENSITY),this.appendValueInput("fit_intercept").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.SKLEARN_CALCULATE_MODEL_INTERRUPT),this.appendValueInput("normalize").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.SKLEARN_REGRESSION_NORMIALIZATION),this.appendValueInput("max_iter").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.SKLEARN_MAX_ITER),this.appendValueInput("random_state").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.RANDOM_SEED),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")}},ym={init:function(){this.appendDummyInput().appendField("sklearn "+Ve.Msg.SKLEARN_DECISIONTREE_INIT).appendField(new Ve.FieldDropdown([[Ve.Msg.SKLEARN_CLASSIFICATION_ALGORITHM,"DecisionTreeClassifier"],[Ve.Msg.SKLEARN_REGRESSION_ALGORITHM,"DecisionTreeRegressor"]]),"type"),this.appendValueInput("model_name").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MODEL_NAME),this.appendValueInput("max_depth").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.SKLEARN_MAXIMUM_TREE_DEPTH),this.appendValueInput("random_state").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.RANDOM_SEED),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")}},vm={init:function(){this.appendDummyInput().appendField("sklearn "+Ve.Msg.SKLEARN_RANDOMFOREST_INIT).appendField(new Ve.FieldDropdown([[Ve.Msg.SKLEARN_CLASSIFICATION_ALGORITHM,"RandomForestClassifier"],[Ve.Msg.SKLEARN_REGRESSION_ALGORITHM,"RandomForestRegressor"]]),"type"),this.appendValueInput("model_name").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MODEL_NAME),this.appendValueInput("n_estimators").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.NUMBER_OF_TREES),this.appendValueInput("max_depth").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.SKLEARN_MAXIMUM_TREE_DEPTH),this.appendValueInput("n_jobs").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.SKLEARN_THREADS),this.appendValueInput("random_state").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.RANDOM_SEED),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")}},bm={init:function(){this.appendDummyInput().appendField("sklearn "+Ve.Msg.SKLEARN_KNN_INIT).appendField(new Ve.FieldDropdown([[Ve.Msg.SKLEARN_CLASSIFICATION_ALGORITHM,"KNeighborsClassifier"],[Ve.Msg.SKLEARN_REGRESSION_ALGORITHM,"KNeighborsRegressor"]]),"type"),this.appendValueInput("model_name").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MODEL_NAME),this.appendValueInput("K").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField("K"),this.appendValueInput("n_jobs").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.SKLEARN_THREADS),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")}},Tm={init:function(){this.appendDummyInput().appendField("sklearn "+Ve.Msg.SKLEARN_GAUSSINNB_INIT),this.appendValueInput("model_name").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MODEL_NAME),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")}},xm={init:function(){this.appendDummyInput().appendField("sklearn 初始化 PCA 算法"),this.appendValueInput("model_name").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MODEL_NAME),this.appendValueInput("n_components").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.SKLEARN_PCA_N_COMPONENTS),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")}},Em={init:function(){this.appendDummyInput().appendField("sklearn PCA 降维"),this.appendValueInput("model_name").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MODEL_NAME),this.appendValueInput("train_data").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.EIGENVALUES),this.setInputsInline(!0),this.setOutput(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")}},wm={init:function(){this.appendDummyInput().appendField("sklearn "+Ve.Msg.SKLEARN_KMEANS_INIT),this.appendValueInput("model_name").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MODEL_NAME),this.appendValueInput("n_clusters").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.NUMBER_OF_CLUSTERS_JUST),this.appendValueInput("max_iter").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.SKLEARN_MAX_ITER),this.appendValueInput("random_state").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.RANDOM_SEED),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")}},Im={init:function(){this.appendDummyInput().appendField("sklearn K-均值聚类"),this.appendValueInput("model_name").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MODEL_NAME),this.appendValueInput("train_data").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.EIGENVALUES),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")}},Am={init:function(){this.appendDummyInput().appendField("sklearn "+Ve.Msg.TRAINING_MODEL),this.appendValueInput("model_name").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MODEL_NAME),this.appendValueInput("train_data").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.EIGENVALUES),this.appendValueInput("train_target").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.LABEL_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")}},Sm={init:function(){this.appendDummyInput().appendField("sklearn "+Ve.Msg.TRAINING_MODEL),this.appendValueInput("model_name").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MODEL_NAME),this.appendValueInput("train_data").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.EIGENVALUES),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")}},Cm={init:function(){this.appendDummyInput().appendField("sklearn "+Ve.Msg.MODEL_PRODICTION),this.appendValueInput("model_name").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MODEL_NAME),this.appendValueInput("train_data").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.EIGENVALUES),this.setInputsInline(!0),this.setOutput(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")}},Om={init:function(){this.appendDummyInput().appendField("sklearn "+Ve.Msg.CALCULATE_THE_SCORE),this.appendValueInput("model_name").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MODEL_NAME),this.appendValueInput("train_data").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.EIGENVALUES),this.appendValueInput("train_target").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.LABEL_VALUE),this.setInputsInline(!0),this.setOutput(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")}},Mm={init:function(){this.appendDummyInput().appendField("sklearn "+Ve.Msg.CALCULATE_THE_SCORE),this.appendValueInput("model_name").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MODEL_NAME),this.appendValueInput("train_data").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.EIGENVALUES),this.setInputsInline(!0),this.setOutput(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")}},km={init:function(){this.appendDummyInput().appendField("sklearn "+Ve.Msg.SKLEARN_GENERALIZED_LINEAR_REGRESSION),this.appendValueInput("model_name").setAlign(Ve.inputs.Align.RIGHT).setCheck(null).appendField(Ve.Msg.MODEL_NAME),this.appendDummyInput().setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MIXLY_GET).appendField(new Ve.FieldDropdown([[Ve.Msg.SKLEARN_COEF,"coef_"],[Ve.Msg.SKLEARN_INTERCEPT,"intercept_"]]),"type"),this.setOutput(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")}},Rm={init:function(){this.appendDummyInput().appendField("sklearn "+Ve.Msg.SKLEARN_CLUSTERING),this.appendValueInput("model_name").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MODEL_NAME),this.appendDummyInput().appendField(Ve.Msg.MIXLY_GET).appendField(new Ve.FieldDropdown([[Ve.Msg.SKLEARN_CLUSTER_CENTER,"cluster_centers_"],[Ve.Msg.SKLEARN_LABELS_AFTER_CLUSTERING,"labels_"],[Ve.Msg.SKLEARN_CLUSTERING_SUM_OF_SQUARED_DISTANCES,"inertia_"]]),"type"),this.setInputsInline(!0),this.setOutput(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")}},Nm={init:function(){this.appendValueInput("model_name").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField("sklearn").appendField(new Ve.FieldDropdown([[Ve.Msg.SKLEARN_SAVE_MODEL,"dump"],[Ve.Msg.SKLEARN_LOAD_MODEL,"load"]]),"type").appendField(" "+Ve.Msg.MODEL_NAME),this.appendValueInput("address").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")}},Dm=120,Fm={init:function(){this.setColour(Dm),this.appendValueInput("DELAY_TIME",Number).appendField(Ve.Msg.MIXLY_DELAY+"("+Ve.Msg.MIXLY_MILLIS+")").setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ve.Msg.MIXLY_TOOLTIP_CONTROL_DELAY)}},Lm={init:function(){this.setColour(Dm),this.appendDummyInput().appendField(Ve.Msg.blockpy_time_time),this.setOutput(!0,Number),this.setTooltip(Ve.Msg.MIXLY_TOOLTIP_CONTROL_MILLIS)}},Pm={init:function(){this.setColour(Dm),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_SYSTEM_TIME_LOCALTIME),this.appendDummyInput().appendField(new Ve.FieldDropdown([[Ve.Msg.MIXLY_SYSTEM_TIME_LOCALTIME_ALL,"all"],[Ve.Msg.MIXLY_SYSTEM_TIME_LOCALTIME_YEAR,"0"],[Ve.Msg.MIXLY_SYSTEM_TIME_LOCALTIME_MONTH,"1"],[Ve.Msg.MIXLY_SYSTEM_TIME_LOCALTIME_DATE,"2"],[Ve.Msg.MIXLY_SYSTEM_TIME_LOCALTIME_HOUR,"3"],[Ve.Msg.MIXLY_SYSTEM_TIME_LOCALTIME_MINUTE,"4"],[Ve.Msg.MIXLY_SYSTEM_TIME_LOCALTIME_SECOND,"5"],[Ve.Msg.MIXLY_SYSTEM_TIME_LOCALTIME_INWEEK,"6"],[Ve.Msg.MIXLY_SYSTEM_TIME_LOCALTIME_INYEAR,"7"],[Ve.Msg.MIXLY_SYSTEM_TIME_LOCALTIME_DST,"8"]]),"op"),this.setOutput(!0),this.setInputsInline(!0)}},Bm={init:function(){this.setColour(Dm),this.appendValueInput("STATUS_CODE",Number).appendField(Ve.Msg.MIXLY_MICROBIT_Panic_with_status_code).setCheck(Number),this.setPreviousStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ve.Msg.MIXLY_TOOLTIP_CONTROL_DELAY)}},$m={init:function(){this.setColour(Dm),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MICROBIT_Reset_micro),this.setPreviousStatement(!0)}},Um={init:function(){this.setColour(Dm),this.appendValueInput("TIME").setCheck(Number).setAlign(Ve.inputs.Align.RIGHT).appendField("MsTimer2").appendField(Ve.Msg.MIXLY_MSTIMER2_EVERY),this.appendDummyInput().appendField("ms"),this.appendStatementInput("DO").appendField(Ve.Msg.MIXLY_MSTIMER2_DO),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Vm={init:function(){this.setColour(Dm),this.appendDummyInput().appendField("MsTimer2").appendField(Ve.Msg.MIXLY_MSTIMER2_START),this.setPreviousStatement(!0),this.setNextStatement(!0)}},zm={init:function(){this.setColour(Dm),this.appendDummyInput().appendField("MsTimer2").appendField(Ve.Msg.MIXLY_STOP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},jm={init:function(){this.setColour(Dm),this.appendValueInput("DELAY_TIME",Number).appendField(Ve.Msg.MIXLY_DELAY).setCheck(Number),this.appendDummyInput().appendField(Ve.Msg.MIXLY_SECOND),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ve.Msg.MIXLY_TOOLTIP_CONTROL_DELAY)}},Ym=180,Gm={init:function(){this.setColour(Ym),this.appendDummyInput("").appendField(Ve.Msg.blockpy_turtle_create).appendField(new Ve.FieldTextInput("tina"),"VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.blockpy_turtle_create_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Ve.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},Hm={init:function(){this.setColour(Ym),this.appendDummyInput().appendField(Ve.Msg.blockpy_TURTLE_DONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Wm={init:function(){this.setColour(Ym),this.appendDummyInput().appendField(Ve.Msg.MIXLY_PYTHON_TURTLE_EXITONCLICK),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Xm={init:function(){this.appendValueInput("TUR").setCheck("Turtle");var e=[[Ve.Msg.blockpy_forward,"forward"],[Ve.Msg.blockpy_backward,"backward"]];this.setColour(Ym),this.appendValueInput("VAR").appendField(Ve.Msg.MIXLY_MICROBIT_JS_MOVE_BY).appendField(new Ve.FieldDropdown(e),"DIR").appendField(Ve.Msg.MIXLY_MICROBIT_JS_MOVE_BY_num),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip(function(){var e=t.getFieldValue("DIR");return{forward:Ve.Msg.MIXLY_TOOLTIP_TURTEL_FORWARD,backward:Ve.Msg.MIXLY_TOOLTIP_TURTEL_BACKWARD}[e]})}},qm={init:function(){this.appendValueInput("TUR").setCheck("Turtle");var e=[[Ve.Msg.blockpy_left,"left"],[Ve.Msg.blockpy_right,"right"]];this.setColour(Ym),this.appendValueInput("VAR").appendField(Ve.Msg.blockpy_turtle_rotate).appendField(new Ve.FieldDropdown(e),"DIR").appendField(Ve.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip(function(){var e=t.getFieldValue("DIR");return{left:Ve.Msg.MIXLY_TOOLTIP_TURTEL_LEFT,right:Ve.Msg.MIXLY_TOOLTIP_TURTEL_RIGHT}[e]})}},Km={init:function(){this.setColour(Ym),this.appendValueInput("TUR").setCheck("Turtle"),this.appendValueInput("data").setCheck(Number).appendField(Ve.Msg.blockpy_setheading),this.appendDummyInput().appendField(Ve.Msg.blockpy_setheading_degree),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Zm={init:function(){this.setColour(Ym),this.appendValueInput("TUR").setCheck("Turtle"),this.appendValueInput("data").setCheck(Number).appendField(Ve.Msg.MIXLY_TURTLE_SCREEN_DELAY),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MILLIS),this.setTooltip(Ve.Msg.MIXLY_TOOLTIP_TURTEL_SCREEN_DELAY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Qm={init:function(){this.setColour(Ym),this.appendValueInput("TUR").setCheck("Turtle"),this.appendValueInput("data").setCheck(Number).appendField(Ve.Msg.blockpy_turtle_goto),this.appendValueInput("val").setCheck(Number).appendField(Ve.Msg.blockpy_turtle_goto_y),this.appendDummyInput().appendField(Ve.Msg.blockpy_turtle_goto_position),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Jm={init:function(){this.appendValueInput("TUR").setCheck("Turtle");var e=[[Ve.Msg.PYLAB_LABEL_X,"x"],[Ve.Msg.PYLAB_LABEL_Y,"y"]];this.setColour(Ym),this.appendValueInput("VAR").appendField(new Ve.FieldDropdown(e),"DIR").appendField(Ve.Msg.MIXLY_MIXPY_TURTLE_SETXY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_MIXPY_TURTLE_SETXY_TOOLTIP)}},eg={init:function(){this.setColour(Ym);var e=[[Ve.Msg.TURTLE_POS,"pos"],[Ve.Msg.TURTLE_SHAPE,"shape"],[Ve.Msg.TURTLE_HEADING,"heading"],[Ve.Msg.MIXLY_MIXPY_TURTLE_WIDTH,"width"],[Ve.Msg.MIXLY_TURTEL_GET_SHAPESIZE,"shapesize"],[Ve.Msg.MIXLY_SPEED,"speed"]];this.appendValueInput("TUR").setCheck("Turtle"),this.appendDummyInput("").appendField(Ve.Msg.TURTLE_POS_SHAPE).appendField(new Ve.FieldDropdown(e),"DIR");var t=this;this.setTooltip(function(){var e=t.getFieldValue("DIR");return{pos:Ve.Msg.MIXLY_TOOLTIP_TURTEL_POS,shape:Ve.Msg.MIXLY_TOOLTIP_TURTEL_SHAPE,heading:Ve.Msg.MIXLY_TOOLTIP_TURTEL_HEADING,width:Ve.Msg.MIXLY_TOOLTIP_TURTEL_WIDTH,speed:Ve.Msg.MIXLY_TOOLTIP_TURTEL_GET_SPEED,shapesize:Ve.Msg.MIXLY_TURTEL_GET_SHAPESIZE_TOOLTIP}[e]}),this.setOutput(!0),this.setInputsInline(!0)}},tg={init:function(){this.setColour(Ym),this.appendValueInput("TUR").setCheck("Turtle"),this.appendDummyInput().appendField(Ve.Msg.TURTLE_STAMP),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ng={init:function(){this.appendValueInput("TUR").setCheck("Turtle");var e=[[Ve.Msg.MIXLY_LCD_STAT_CLEAR,"clear"],[Ve.Msg.blockpy_turtle_reset,"reset"],[Ve.Msg.blockpy_turtle_home,"home"]];this.setColour(Ym),this.appendDummyInput("").appendField(new Ve.FieldDropdown(e),"DIR"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip(function(){var e=t.getFieldValue("DIR");return{clear:Ve.Msg.MIXLY_TOOLTIP_TURTEL_CLEAR,reset:Ve.Msg.MIXLY_TOOLTIP_TURTEL_RESET,home:Ve.Msg.MIXLY_TOOLTIP_TURTEL_HOME}[e]})}},ig={init:function(){this.appendValueInput("TUR").setCheck("Turtle");var e=[[Ve.Msg.blockpy_turtle_penup,"penup"],[Ve.Msg.blockpy_turtle_pendown,"pendown"]];this.setColour(Ym),this.appendDummyInput("").appendField(new Ve.FieldDropdown(e),"DIR"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip(function(){var e=t.getFieldValue("DIR");return{penup:Ve.Msg.MIXLY_TOOLTIP_TURTEL_PENUP,pendown:Ve.Msg.MIXLY_TOOLTIP_TURTEL_PENDOWN}[e]})}},rg={init:function(){this.appendValueInput("TUR").setCheck("Turtle");var e=[[Ve.Msg.blockpy_turtle_beginfill,"begin"],[Ve.Msg.blockpy_turtle_endfill,"end"]];this.setColour(Ym),this.appendDummyInput("").appendField(new Ve.FieldDropdown(e),"DIR"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip(function(){var e=t.getFieldValue("DIR");return{begin:Ve.Msg.MIXLY_TOOLTIP_TURTEL_BEGINFILL,end:Ve.Msg.MIXLY_TOOLTIP_TURTEL_ENDFILL}[e]})}},sg={init:function(){this.appendDummyInput("").appendField(new Ve.FieldTextInput("tina"),"TUR");var e=[[Ve.Msg.blockpy_turtle_size,"pensize"],[Ve.Msg.MIXLY_SPEED,"speed"]];this.setColour(Ym),this.appendValueInput("VAR").appendField(Ve.Msg.blockpy_turtle_set).appendField(new Ve.FieldDropdown(e),"DIR").appendField(Ve.Msg.blockpy_turtle_set_num),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip(function(){var e=t.getFieldValue("DIR");return{pensize:Ve.Msg.MIXLY_TOOLTIP_TURTEL_SIZE,speed:Ve.Msg.MIXLY_TOOLTIP_TURTEL_SPEED}[e]})}},og={init:function(){this.setColour(Ym),this.appendValueInput("TUR").setCheck("Turtle"),this.appendValueInput("data").setCheck(Number).appendField(Ve.Msg.blockpy_turtle_set_size),this.setTooltip(Ve.Msg.MIXLY_TOOLTIP_TURTEL_SIZE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ag={init:function(){this.setColour(Ym),this.appendValueInput("TUR").setCheck("Turtle"),this.appendValueInput("data").setCheck(Number).appendField(Ve.Msg.blockpy_turtle_set_speed),this.setTooltip(Ve.Msg.MIXLY_TOOLTIP_TURTEL_SPEED),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},lg={init:function(){this.appendValueInput("TUR").setCheck("Turtle");var e=[[Ve.Msg.blockpy_turtle_circle,"circle"],[Ve.Msg.blockpy_turtle_dot,"dot"]];this.setColour(Ym),this.appendValueInput("VAR").appendField(Ve.Msg.blockpy_turtle_draw).appendField(new Ve.FieldDropdown(e),"DIR").appendField(Ve.Msg.blockpy_turtle_radius),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip(function(){var e=t.getFieldValue("DIR");return{circle:Ve.Msg.MIXLY_TOOLTIP_TURTEL_CIRCLE,dot:Ve.Msg.MIXLY_TOOLTIP_TURTEL_DOT}[e]})}},ug={init:function(){this.appendValueInput("TUR").setCheck("Turtle"),this.setColour(Ym),this.appendValueInput("VAR").appendField(Ve.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE).appendField(Ve.Msg.blockpy_turtle_radius),this.appendValueInput("data").setCheck(Number).appendField(Ve.Msg.blockpy_turtle_angle),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_TOOLTIP_TURTEL_CIRCLE)}},cg={init:function(){this.appendValueInput("TUR").setCheck("Turtle");var e=[[Ve.Msg.blockpy_turtle_hide,"hideturtle"],[Ve.Msg.blockpy_turtle_show,"showturtle"]];this.setColour(Ym),this.appendDummyInput("").appendField(new Ve.FieldDropdown(e),"DIR"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip(function(){var e=t.getFieldValue("DIR");return{hideturtle:Ve.Msg.MIXLY_TOOLTIP_TURTEL_HIDE,showturtle:Ve.Msg.MIXLY_TOOLTIP_TURTEL_SHOW}[e]})}},dg={init:function(){this.setColour(Ym),this.appendDummyInput().appendField(Ve.Msg.blockpy_turtle_bgcolor).appendField(new Ve.FieldColour("#ff0000"),"FIELDNAME"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},hg={init:function(){this.setColour(Ym),this.appendDummyInput().appendField(Ve.Msg.MIXLY_TURTLE_TRACER),this.appendValueInput("STEP").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MIXLY_TURTLE_TRACER_STEP),this.appendValueInput("DELAY").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MIXLY_TURTLE_TRACER_DELAY_MS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},pg={init:function(){this.appendValueInput("TUR").setCheck("Turtle"),this.setColour(Ym),this.appendDummyInput().appendField(Ve.Msg.blockpy_turtle_pencolor).appendField(new Ve.FieldColour("#ff0000"),"FIELDNAME"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},fg={init:function(){this.appendValueInput("TUR").setCheck("Turtle"),this.setColour(Ym),this.appendDummyInput().appendField(Ve.Msg.blockpy_turtle_fillcolor).appendField(new Ve.FieldColour("#ff0000"),"FIELDNAME"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},mg={init:function(){this.setColour(Ym),this.appendValueInput("TUR").setCheck("Turtle"),this.appendDummyInput("").appendField(Ve.Msg.TURTLE_CLONE),this.setTooltip(Ve.Msg.TURTLE_CLONE_TOOLTIP),this.setOutput(!0)}},gg={init:function(){this.setColour(Ym),this.appendValueInput("VAR").setCheck(String).appendField(Ve.Msg.blockpy_turtle_bgcolor),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},_g={init:function(){this.appendValueInput("TUR").setCheck("Turtle"),this.setColour(Ym),this.appendValueInput("VAR").setCheck(String).appendField(Ve.Msg.blockpy_turtle_pencolor),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},yg={init:function(){this.appendValueInput("TUR").setCheck("Turtle"),this.setColour(Ym),this.appendValueInput("VAR").setCheck(String).appendField(Ve.Msg.blockpy_turtle_fillcolor),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},vg={init:function(){this.appendValueInput("TUR").setCheck("Turtle"),this.setColour(Ym),this.appendDummyInput().appendField(Ve.Msg.blockpy_turtle_pencolor).appendField(new Ve.FieldColour("#ff0000"),"FIELDNAME"),this.appendDummyInput().appendField(Ve.Msg.blockpy_turtle_fillcolor).appendField(new Ve.FieldColour("#ff0000"),"FIELDNAME2"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},bg={init:function(){this.appendValueInput("TUR").setCheck("Turtle"),this.setColour(Ym),this.appendValueInput("VAR1").setCheck(String).appendField(Ve.Msg.blockpy_turtle_pencolor),this.appendValueInput("VAR2").setCheck(String).appendField(Ve.Msg.blockpy_turtle_fillcolor),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Tg={init:function(){this.setColour(Ym),this.appendValueInput("VAR").setCheck(String).appendField(Ve.Msg.blockpy_turtle_bgcolor_hex),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},xg={init:function(){this.appendValueInput("TUR").setCheck("Turtle"),this.setColour(Ym),this.appendValueInput("VAR").setCheck(String).appendField(Ve.Msg.blockpy_turtle_pencolor_hex),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Eg={init:function(){this.appendValueInput("TUR").setCheck("Turtle"),this.setColour(Ym),this.appendValueInput("VAR").setCheck(String).appendField(Ve.Msg.blockpy_turtle_fillcolor_hex),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},wg={init:function(){this.appendValueInput("TUR").setCheck("Turtle");var e=[[Ve.Msg.blockpy_turtle_shape_arrow,"arrow"],[Ve.Msg.blockpy_turtle_shape_turtle,"turtle"],[Ve.Msg.blockpy_turtle_shape_circle,"circle"],[Ve.Msg.blockpy_turtle_shape_square,"square"],[Ve.Msg.blockpy_turtle_shape_triangle,"triangle"],[Ve.Msg.blockpy_turtle_shape_classic,"classic"]];this.setColour(Ym),this.appendDummyInput("").appendField(Ve.Msg.blockpy_turtle_shape).appendField(new Ve.FieldDropdown(e),"DIR"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.TURTLE_SHAPE_TOOLTIP)}},Ig={init:function(){this.appendValueInput("TUR").setCheck("Turtle"),this.setColour(Ym),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_TURTEL_SHAPESIZE),this.appendValueInput("WID").setCheck(Number).appendField(Ve.Msg.MIXLY_TURTEL_SHAPESIZE_WID),this.appendValueInput("LEN").setCheck(Number).appendField(Ve.Msg.MIXLY_TURTEL_SHAPESIZE_LEN),this.appendValueInput("OUTLINE").setCheck(Number).appendField(Ve.Msg.MIXLY_TURTEL_SHAPESIZE_OUTLINE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_TOOLTIP_SHAPESIZE)}},Ag={init:function(){this.appendDummyInput("").appendField(Ve.Msg.MIXLY_MIXPY_TURTLE_NUMINPUT),this.setColour(Ym),this.appendValueInput("TITLE").setCheck(String).appendField(Ve.Msg.MIXLY_MIXPY_TURTLE_TEXTINPUT_TITLE),this.appendValueInput("PROMPT").setCheck(String).appendField(Ve.Msg.MIXLY_MIXPY_TURTLE_TEXTINPUT_PROMPT),this.appendValueInput("DEFAULT").setCheck(Number).appendField(Ve.Msg.DICTS_DEFAULT_VALUE),this.appendValueInput("MIN").setCheck(Number).appendField(Ve.Msg.MATH_ONLIST_OPERATOR_MIN),this.appendValueInput("MAX").setCheck(Number).appendField(Ve.Msg.MATH_ONLIST_OPERATOR_MAX),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Ve.Msg.TURTLE_NUMINPUT_TOOLTIP)}},Sg={init:function(){this.appendDummyInput("").appendField(Ve.Msg.MIXLY_MIXPY_TURTLE_TEXTINPUT),this.setColour(Ym),this.appendValueInput("TITLE").setCheck(String).appendField(Ve.Msg.MIXLY_MIXPY_TURTLE_TEXTINPUT_TITLE),this.appendValueInput("PROMPT").setCheck(String).appendField(Ve.Msg.MIXLY_MIXPY_TURTLE_TEXTINPUT_PROMPT),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Ve.Msg.TURTLE_TEXTINPUT_TOOLTIP)}},Cg={init:function(){this.appendValueInput("TUR").setCheck("Turtle"),this.setColour(Ym),this.appendValueInput("VAR").setCheck(String).appendField(Ve.Msg.blockpy_turtle_write),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.TURTLE_WRITE_TOOLTIP)}},Og={init:function(){var e=[[Ve.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"],[Ve.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"]],t=[[Ve.Msg.MIXLY_TURTLE_WRITE_ALIGN_LEFT,"left"],[Ve.Msg.MIXLY_TURTLE_WRITE_ALIGN_CENTER,"center"],[Ve.Msg.MIXLY_TURTLE_WRITE_ALIGN_RIGHT,"right"]],n=[[Ve.Msg.MIXLY_TURTLE_WRITE_FONT_TYPE_NORMAL,"normal"],[Ve.Msg.MIXLY_TURTLE_WRITE_FONT_TYPE_BOLD,"bold"],[Ve.Msg.MIXLY_TURTLE_WRITE_FONT_TYPE_ITALIC,"italic"],[Ve.Msg.MIXLY_TURTLE_WRITE_FONT_TYPE_BOLD_ITALIC,'bold","italic']];this.appendValueInput("TUR").setCheck("Turtle"),this.setColour(Ym),this.appendValueInput("VAR").setCheck(String).appendField(Ve.Msg.blockpy_turtle_write),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_TURTLE_WRITE_MOVE).appendField(new Ve.FieldDropdown(e),"MOVE"),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_TURTLE_WRITE_ALIGN).appendField(new Ve.FieldDropdown(t),"ALIGN"),this.appendValueInput("FONTNAME").setCheck(String).appendField(Ve.Msg.MIXLY_TURTLE_WRITE_FONT_NAME),this.appendValueInput("FONTNUM").setCheck(Number).appendField(Ve.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_TURTLE_WRITE_FONT_TYPE).appendField(new Ve.FieldDropdown(n),"FONTTYPE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.TURTLE_WRITE_TOOLTIP)}},Mg={init:function(){var e=[[Ve.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"],[Ve.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"]],t=[[Ve.Msg.MIXLY_TURTLE_WRITE_ALIGN_LEFT,"left"],[Ve.Msg.MIXLY_TURTLE_WRITE_ALIGN_CENTER,"center"],[Ve.Msg.MIXLY_TURTLE_WRITE_ALIGN_RIGHT,"right"]],n=[[Ve.Msg.MIXLY_TURTLE_WRITE_FONT_TYPE_NORMAL,"normal"],[Ve.Msg.MIXLY_TURTLE_WRITE_FONT_TYPE_BOLD,"bold"],[Ve.Msg.MIXLY_TURTLE_WRITE_FONT_TYPE_ITALIC,"italic"]];this.appendValueInput("TUR").setCheck("Turtle"),this.setColour(Ym),this.appendValueInput("VAR").setCheck(String).appendField(Ve.Msg.blockpy_turtle_write),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_TURTLE_WRITE_MOVE).appendField(new Ve.FieldDropdown(e),"MOVE"),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_TURTLE_WRITE_ALIGN).appendField(new Ve.FieldDropdown(t),"ALIGN"),this.appendValueInput("FONTNAME").setCheck(String).appendField(Ve.Msg.MIXLY_TURTLE_WRITE_FONT_NAME),this.appendValueInput("FONTNUM").setCheck(Number).appendField(Ve.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_TURTLE_WRITE_FONT_TYPE).appendField(new Ve.FieldDropdown(n),"FONTTYPE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.TURTLE_WRITE_TOOLTIP)}},kg={init:function(){this.setColour(Ym),this.appendDummyInput("").setAlign(Ve.inputs.Align.RIGHT).appendField(new Ve.FieldColour("ff0000"),"COLOR"),this.setInputsInline(!0),this.setOutput(!0,String)}},Rg={init:function(){this.setColour(Ym),this.appendValueInput("TUR").setCheck("Turtle"),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_TURTEL_GETSCREEN).appendField(new Ve.FieldTextInput("screen"),"VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_TURTEL_GETSCREEN_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Ve.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},Ng={init:function(){this.setColour(Ym),this.appendValueInput("TUR"),this.appendValueInput("VAR").appendField(Ve.Msg.MIXLY_TURTEL_EVENT_ONKEY),this.appendValueInput("callback").appendField(Ve.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ve.Msg.MIXLY_TURTEL_EVENT_ONKEY_TOOLTIP)}},Dg={init:function(){this.setColour(Ym),this.appendValueInput("TUR"),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_TURTEL_EVENT_ONCLICK),this.appendValueInput("callback").appendField(Ve.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ve.Msg.MIXLY_TURTEL_EVENT_ONCLICK_TOOLTIP)}},Fg={init:function(){this.setColour(Ym),this.appendValueInput("TUR"),this.appendValueInput("VAR").appendField(Ve.Msg.MIXLY_TURTEL_EVENT_ONTIMER),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_mSecond),this.appendValueInput("callback").appendField(Ve.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ve.Msg.MIXLY_TURTEL_EVENT_ONTIMER_TOOLTIP)}},Lg={init:function(){this.setColour(Ym),this.appendValueInput("TUR"),this.appendDummyInput().appendField(Ve.Msg.MIXLY_TURTEL_SCREEN_LISTEN),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Pg={init:function(){this.setColour(Ym),this.appendValueInput("TUR"),this.appendValueInput("FILE").setCheck(String).appendField(Ve.Msg.mixpy_PL_SAVEFIG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Ve.Msg.mixpy_TURTLE_SAVEFIG_TOOLTIP)}},Bg=function(e,t){var n=this.getFieldValue("TYPE");return t.definitions_.import_FileDialog="import FileDialog",["FileDialog."+n+"()",t.ORDER_ATOMIC]},$g=function(e,t){var n=this.getFieldValue("CTYPE");return t.definitions_.import_aip="import aip",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+" = aip."+n+"("+t.valueToCode(this,"API_KEY",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"SECRET_KEY",t.ORDER_ATOMIC)+")\n"},Ug=function(e,t){return t.definitions_.import_aip="import aip",[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".synthesis("+t.valueToCode(this,"STR",t.ORDER_ATOMIC)+", options="+(t.valueToCode(this,"ATTR",t.ORDER_ATOMIC)||"{}")+")",t.ORDER_ATOMIC]},Vg=function(e,t){return t.definitions_.import_aip="import aip",[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".asr("+(t.valueToCode(this,"FILE",t.ORDER_ATOMIC)||'""')+", options="+(t.valueToCode(this,"ATTR",t.ORDER_ATOMIC)||"{}")+")",t.ORDER_ATOMIC]},zg=function(e,t){t.definitions_.import_aip="import aip";var n=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),i=t.valueToCode(this,"ADDR",t.ORDER_ATOMIC);return[n+"."+t.valueToCode(this,"FUNC",t.ORDER_ATOMIC)+"("+i+", options="+(t.valueToCode(this,"ATTR",t.ORDER_ATOMIC)||"{}")+")",t.ORDER_ATOMIC]},jg=function(e,t){return t.definitions_.import_aip="import aip",[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".match("+t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+","+t.valueToCode(this,"VAR2",t.ORDER_ATOMIC)+", options="+(t.valueToCode(this,"ATTR",t.ORDER_ATOMIC)||"{}")+")",t.ORDER_ATOMIC]},Yg=function(e,t){t.definitions_.import_aip="import aip";var n=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),i=t.valueToCode(this,"ADDR",t.ORDER_ATOMIC);return[n+"."+t.valueToCode(this,"FUNC",t.ORDER_ATOMIC)+"("+i+", options="+(t.valueToCode(this,"ATTR",t.ORDER_ATOMIC)||"{}")+")",t.ORDER_ATOMIC]},Gg=function(e,t){t.definitions_.import_aip="import aip";var n=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),i=t.valueToCode(this,"STR",t.ORDER_ATOMIC);return[n+"."+t.valueToCode(this,"FUNC",t.ORDER_ATOMIC)+"("+i+", options="+(t.valueToCode(this,"ATTR",t.ORDER_ATOMIC)||"{}")+")",t.ORDER_ATOMIC]},Hg=function(e,t){t.definitions_.import_aip="import aip";var n=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),i=t.valueToCode(this,"STR1",t.ORDER_ATOMIC),r=t.valueToCode(this,"STR2",t.ORDER_ATOMIC);return[n+"."+t.valueToCode(this,"FUNC",t.ORDER_ATOMIC)+"("+i+","+r+", options="+(t.valueToCode(this,"ATTR",t.ORDER_ATOMIC)||"{}")+")",t.ORDER_ATOMIC]},Wg=function(e,t){return t.definitions_.import_aip="import aip",[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".topic("+t.valueToCode(this,"STR1",t.ORDER_ATOMIC)+","+t.valueToCode(this,"STR2",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Xg=function(e,t){return t.definitions_.import_aip="import aip",[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".newsSummary("+t.valueToCode(this,"STR",t.ORDER_ATOMIC)+","+t.valueToCode(this,"LEN",t.ORDER_ATOMIC)+", options="+(t.valueToCode(this,"ATTR",t.ORDER_ATOMIC)||"{}")+")",t.ORDER_ATOMIC]},qg=function(e,t){return[this.getFieldValue("TYPE"),t.ORDER_ATOMIC]},Kg=function(e,t){return[this.getFieldValue("TYPE"),t.ORDER_ATOMIC]},Zg=function(e,t){return[this.getFieldValue("TYPE"),t.ORDER_ATOMIC]},Qg=function(e,t){return[this.getFieldValue("TYPE"),t.ORDER_ATOMIC]},Jg=function(e,t){return t.definitions_.import_audio="import audio","audio.audio_record("+(t.valueToCode(this,"VAR",t.ORDER_ATOMIC)||'""')+","+(t.valueToCode(this,"TIME",t.ORDER_ATOMIC)||"0")+")\n"},e_=function(e,t){return t.definitions_.import_audio="import cam","cam.photo_capture("+(t.valueToCode(this,"VAR",t.ORDER_ATOMIC)||'""')+","+(t.valueToCode(this,"BUT",t.ORDER_ATOMIC)||'""')+")\n"},t_=function(e,t){var n=t.valueToCode(this,"AI",t.ORDER_ASSIGNMENT)||"0",i=this.getFieldValue("CTYPE");if("Image"==i)var r=n+'["result"][0]["keyword"]';if("Speech"==i)r=n+'["result"][0]';if("Face"==i||"OcrSimilarity"==i)r=n+'["score"]';if("Ocr"==i)r=n+'["words_result"]';return[r,t.ORDER_ATOMIC]},n_=function(e,t){t.definitions_.import_sprite="import sprite";return"g = [[0,0,0,0,0,0,0,0,0,0], [0,0,0,1,0,0,0,0,0,0], [0,0,0,1,0,0,1,0,0,0], [0,1,1,0,1,1,0,0,0,0], [0,0,0,1,0,0,0,1,0,0], [0,0,0,1,0,0,1,1,0,0], [0,0,1,0,0,1,0,1,0,0], [0,0,0,0,1,1,1,0,0,0]]\nmark = [[0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0]]\nvis = [0,1,0,0,0,0,0,0,0]\nposition = [[0, 0], [200, 200], [250, 60], [320, 200], [280, 380], [470, 250], [670, 90], [650, 340]]\nsprite.clearAllSprites()\nsprite.createBackground('ditu')\nmask = sprite.Sprite('white', 96, 354)\nmask.hide()\nhouse = [\n sprite.Sprite('mark', 150, 380),\n sprite.Sprite('xtxn', 96, 170),\n sprite.Sprite('xnvijx', 270, 45),\n sprite.Sprite('xnxbjx', 310, 182),\n sprite.Sprite('xnsijx', 300, 370),\n sprite.Sprite('xnkejx', 495, 220),\n sprite.Sprite('bwbwjx', 716, 85),\n sprite.Sprite('lelejx', 686, 314)\n]\nfor i in house:\n i.filterBrighter()\n i.hide()\n"},i_=function(){return"path = [1]\nmask.show()\ncar = sprite.Sprite('xnie', position[1][0], position[1][1])\nhouse[1].show()\ncar.nowPos = 1\ndef drive(n):\n if g[car.nowPos][n]==1:\n car.slideTo(position[n][0], position[n][1], 1)\n car.nowPos = n\n else:\n print('移动失败!程序有误!')\n exit()\n"},r_=function(e,t){t.definitions_.import_random="import random";return"f = path[(len(path) - 1)]\nflag = 0\nfor _my_variable in [6,5,4,3,2,1,0]:\n if vis[_my_variable+1] == 0 and g[f][_my_variable+1] == 1:\n if mark[f][_my_variable+1] == 0:\n flag = 1\n break\n"},s_=function(e,t){return["flag == 1",t.ORDER_ATOMIC]},o_=function(){return"mark[f][_my_variable+1] = 1\nvis[_my_variable+1] = 1\n"},a_=function(){return"path.append(_my_variable+1)\ndrive(path[len(path) - 1])\nhouse[_my_variable+1].show()\n"},l_=function(e,t){t.definitions_.import_time="import time";return"del path[len(path) - 1]\nhouse[0].show()\ntime.sleep(0.5)\nhouse[0].hide()\n"},u_=function(){var e="for i in range(7):\n mark[f][i+1] = 0\n vis[f] = 0\n";return e="house[f].hide()\ndrive(path[len(path) - 1])\n"+e},c_=function(e,t){return["len(path) == 7",t.ORDER_ATOMIC]},d_=function(){return'name = ["","学校","小智家","小欣家","小思家","小科家","贝贝家","乐乐家"]\nres = ""\nfor i in path:\n res = res + name[i] + "-"\nprint(res[:-1])\n'},h_=function(e,t){t.definitions_.import_sprite="import sprite";return"g = [[0,0,0,0,0,0,0,0,0,0], [0,0,0,1,0,0,0,0,0,0], [0,0,0,1,0,0,1,0,0,0], [0,1,1,0,1,0,0,0,0,0], [0,0,0,1,0,0,0,1,0,0], [0,0,0,1,0,0,0,1,0,0], [0,0,1,0,0,0,0,1,0,0], [0,0,0,0,1,1,1,0,0,0]]\nmark = [[0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0]]\nvis = [0,1,0,0,0,0,0,0,0]\nposition = [[0, 0], [200, 200], [250, 60], [320, 200], [280, 380], [470, 250], [670, 90], [650, 340]]\nsprite.clearAllSprites()\nsprite.createBackground('ditu')\nmask = sprite.Sprite('white', 96, 354)\nmask.hide()\nhouse = [\n sprite.Sprite('mark', 150, 380),\n sprite.Sprite('xtxn', 96, 170),\n sprite.Sprite('xnvijx', 270, 45),\n sprite.Sprite('xnxbjx', 310, 182),\n sprite.Sprite('xnsijx', 300, 370),\n sprite.Sprite('xnkejx', 495, 220),\n sprite.Sprite('bwbwjx', 716, 85),\n sprite.Sprite('lelejx', 686, 314)\n]\nbarricade = sprite.Sprite('barricade', 610, 170)\nbarricade.enlargeTo(100)\nfor i in house:\n i.filterBrighter()\n i.hide()\n"},p_=function(e,t){return["f == 1",t.ORDER_ATOMIC]},f_=function(){return"print('没有符合条件的路线')\n"},m_=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";return'g = [[10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000],[10000,10000,500,300,10000,10000,10000,10000,10000,10000,10000],[10000,500,10000,10000,100,10000,10000,10000,10000,10000,10000],[10000,300,10000,10000,400,300,10000,10000,10000,10000,10000],[10000,10000,100,400,10000,10000,200,10000,10000,10000,10000],[10000,10000,10000,300,10000,10000,100,200,10000,10000,10000],[10000,10000,10000,10000,200,100,10000,10000,100,10000,10000],[10000,10000,10000,10000,10000,200,10000,10000,100,10000,10000],[10000,10000,10000,10000,10000,10000,100,100,10000,10000,10000]]\nnow=1\nlast=1\npath=[]\npath.append(1)\nname = ["","小思家","银行","邮局","餐厅","书店","医院","超市","小科家"]\nposition = [[0, 0], [60, 320], [510, 390], [240, 200], [750, 330], [410, 90], [540, 190], [550, 30], [720, 120]]\nsprite.clearAllSprites()\nsprite.createBackground(\'map_si_ke\')\nstu = sprite.Sprite(\'girl\', 60, 320)\nstu.enlargeTo(100)\ntime.sleep(1)\n\n'},g_=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";return'g =[[10000,10000,10000,10000,10000,10000,10000],[10000,10000,300,500,10000,10000,10000],[10000,300,10000,10000,300,700,10000],[10000,500,10000,10000,10000,100,10000],[10000,10000,300,10000,10000,10000,200],[10000,10000,700,100,10000,10000,100],[10000,10000,10000,10000,200,100,10000]]\nnow=1\nlast=1\npath=[]\npath.append(1)\nname = ["","小智家","邮局","银行","书店","餐厅","学校"]\nposition = [[0, 0], [70, 340], [70, 90], [550, 310], [420, 70], [730, 250], [650, 130]]\nsprite.clearAllSprites()\nsprite.createBackground(\'map_zhi_xue\')\nstu = sprite.Sprite(\'boy\', 70, 340)\nstu.enlargeTo(100)\ntime.sleep(1)\n\n'},__=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";return'tmp=10000\nfor i in range(0, len(g), 1):\n if g[now][i]6:\n print("路线错乱!程序有误!")\n exit()\n'},y_=function(e,t){return["name[now] != '小科家'",t.ORDER_ATOMIC]},v_=function(e,t){return["name[now] != '学校'",t.ORDER_ATOMIC]},b_=function(){return'res = ""\nfor i in path:\n res = res + name[i] + "→"\nprint(res[:-1])\n'},T_=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";var n=this.getFieldValue("NUM");if(n>=7)var i="print('层数过高!不得高于6层!')\nexit()\n";else i="sprite.clearAllSprites()\n_Hanoicolor = ['blue', 'red', 'yellow', 'green', 'purple', 'black']\n_Hanoi = [[], [], []]\nA = 0\nB = 1\nC = 2\n_n = "+n+"\n_HanoiColumn = [\n sprite.Sprite('HanoiColumn', 200, 320),\n sprite.Sprite('HanoiColumn', 400, 320),\n sprite.Sprite('HanoiColumn', 600, 320)\n]\n_HanoiColumnNumber = [\n sprite.Text('A', 190, 120),\n sprite.Text('B', 390, 120),\n sprite.Text('C', 590, 120)\n]\n_HanoiBlock = []\nfor i in range(0, _n, 1):\n _HanoiBlock.append(sprite.Sprite(_Hanoicolor[i], 200, 400-(_n-i-1)*27))\n _HanoiBlock[i].setScale(25, 30*i+30)\n _Hanoi[0].insert(0, _HanoiBlock[i])\n_steptext = sprite.Text('步数:0', 30, 30)\n_steps = {'steps' : 0}\ntime.sleep(1)\n";return i},x_=function(e,t){var n=t.valueToCode(this,"FROM_NUM",t.ORDER_ATOMIC)||"0",i=t.valueToCode(this,"TO_NUM",t.ORDER_ATOMIC)||"0";return`if len(_Hanoi[${n}])>0 :\n _HanoiBlockMoved = _Hanoi[${n}].pop()\n if len(_Hanoi[${i}]) > 0 :\n _HanoiBlockSuppressed = _Hanoi[${i}].pop()\n if _HanoiBlock.index(_HanoiBlockMoved) > _HanoiBlock.index(_HanoiBlockSuppressed):\n print('非法移动!程序有误!')\n exit()\n else:\n _Hanoi[${i}].append(_HanoiBlockSuppressed)\n _HanoiBlockMoved.slideTo(${n}*200+200, 180, 0.2)\n _HanoiBlockMoved.slideTo(${i}*200+200, 180, 0.5)\n _HanoiBlockMoved.slideTo(${i}*200+200, 400-len(_Hanoi[${i}])*27, 0.2)\n _Hanoi[${i}].append(_HanoiBlockMoved)\n _steps['steps'] += 1\n _steptext.changeText('步数:'+str(_steps['steps']))\nelse :\n print('非法移动!程序有误!')\n exit()\n`},E_=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";return"if 'mode' not in globals() or mode == 0:\n sprite.clearAllSprites()\n ring=[0,0,0,0,0,0,0,0,0,0]\n mode=1\n n=5\n ring[5]=1\n name=['小王子','海底两万里','荷花镇的早市','孔子的故事','夏洛的网','草房子','月下看猫头鹰','会唱歌的咖啡磨','父与子','城南旧事']\n Books = []\n for i in range(1, 11, 1):\n Books.append(sprite.Sprite('books/book'+str(i), (130*i-650) if i>5 else 130*i, 320 if i>5 else 120))\nelse:\n mode=2\n n=len(ring)-1\nring[n]=1\ntime.sleep(1)\n"},w_=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";return"if 'mode' not in globals() or mode == 0:\n sprite.clearAllSprites()\n ring=[0,0,0,0,0,0,0,0,0,0]\n mode=2\n n=5\n name=['小王子','海底两万里','荷花镇的早市','孔子的故事','夏洛的网','草房子','月下看猫头鹰','会唱歌的咖啡磨','父与子','城南旧事']\n Books = []\n for i in range(1, 11, 1):\n Books.append(sprite.Sprite('books/book'+str(i), (130*i-650) if i>5 else 130*i, 320 if i>5 else 120))\nelse:\n mode=1\n n=len(ring)-1\nring[n]=n\nlist=ring\ntemp=Books\ntime.sleep(1)\n"},I_=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";return"res=0\nflag=ring[res]\nBooks[res].filterBrighter()\ntime.sleep(0.1)\nBooks[res].filterOrigin()\n"},A_=function(e,t){return["(('mode' not in globals())or(mode==1 and flag==0)or(mode==2 and not any(value > 0 for value in qian))or(mode==0))",t.ORDER_ATOMIC]},S_=function(e,t){return["(('mode' in globals())and((mode==1 and flag!=0)or(mode==2 and any(value > 0 for value in qian))))",t.ORDER_ATOMIC]},C_=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";var n="res+=1\nflag=ring[res]\n";return n="Books[res].filterGray()\ntime.sleep(0.3)\n"+(n+="Books[res].filterBrighter()\ntime.sleep(0.1)\nBooks[res].filterOrigin()\n")},O_=function(e,t){return["len(list)>=2",t.ORDER_ATOMIC]},M_=function(){return"mid = int(len(list)/2)\nqian = list[0:mid]\nhou = list[mid:]\nqiantemp = temp[0:mid]\nhoutemp = temp[mid:]\n"},k_=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";return"quchu = qian\nlist = hou\nquchutemp = qiantemp\ntemp = houtemp\nfor i in qiantemp:\n i.filterBrighter()\ntime.sleep(0.5)\nfor i in qiantemp:\n i.filterGray()\ntime.sleep(0.5)\n"},R_=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";return"list = quchu\ntemp = quchutemp\nfor i in qiantemp:\n i.filterBrighter()\ntime.sleep(0.5)\nfor i in qiantemp:\n i.filterOrigin()\nfor i in houtemp:\n\ti.filterBrighter()\ntime.sleep(0.5)\nfor i in houtemp:\n i.filterGray()\ntime.sleep(0.5)\n"},N_=function(){return"if 'list' in globals():\n res = list[0]\nBooks[res].filterBrighter()\nprint('未消磁的书籍是第'+str(res+1)+'本《'+name[res%10]+'》。')\nif res!=n:\n print('答案错误!请检查程序!')\nmode=0\n"},D_=function(e,t){var n=this.getFieldValue("NUM");return t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite",`sprite.clearAllSprites()\nring = []\nname = ['小王子','海底两万里','荷花镇的早市','孔子的故事','夏洛的网','草房子','月下看猫头鹰','会唱歌的咖啡磨','父与子','城南旧事']\nBooks = []\nfor i in range(${n}):\n ring.append(0)\nfor i in range(1, ${n}+1, 1):\n Books.append(sprite.Sprite('books/book'+str(i%10 if i%10!=0 else 10), ${{5:"130*i, 120",10:"(130*i-650) if i>5 else 130*i, 320 if i>5 else 120",20:"(65*i-650)+30 if i>10 else 65*i+30, 320 if i>10 else 120",50:"(26*i-650)+50 if i>25 else 26*i+50, 320 if i>25 else 120"}[n]}))\ntime.sleep(1)\nmode=3\n`},F_=function(e,t){t.definitions_.import_sprite="import sprite";return"cnt=0\ncntText = sprite.Text('计数器:0', 30, 200)\n"},L_=function(e,t){t.definitions_.import_sprite="import sprite";return"cnt+=1\ncntText.changeText('计数器:'+str(cnt))\n"},P_=function(e,t){t.definitions_.import_sprite="import sprite";return"print('计数器大小:'+str(cnt))\n"},B_=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";return"sprite.clearAllSprites()\n_head = 10\n_foot = 32\n_footText = sprite.Text('脚的数量:', 20, 10)\n_sprite = []\n"},$_=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";return"_rabbit = 0\ntime.sleep(1)\n"},U_=function(e,t){return["_rabbit < _head",t.ORDER_ATOMIC]},V_=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";return"_chick = _head - _rabbit\nfor i in range(0, _chick, 1):\n _sprite.append(sprite.Sprite('jttl/chick', len(_sprite)*130+130 if len(_sprite)<5 else len(_sprite)*130+130-650, 120 if len(_sprite)<5 else 320))\n\ntime.sleep(0.5)\n_footText.changeText('脚的数量:'+str(_rabbit*4 + _chick*2))\ntime.sleep(1)\n"},z_=function(e,t){return["_rabbit*4 + _chick*2 == _foot",t.ORDER_ATOMIC]},j_=function(e,t){t.definitions_.import_sprite="import sprite";return"print('鸡的数量:'+str(_chick)+'只;\\n兔的数量:'+str(_rabbit)+'只。')\n"},Y_=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";return"_rabbit += 1\nsprite.clearAllSprites()\n_sprite = []\n_footText = sprite.Text('脚的数量:', 20, 10)\nfor i in range(0, _rabbit, 1):\n _sprite.append(sprite.Sprite('jttl/rabbit', len(_sprite)*130+130 if len(_sprite)<5 else len(_sprite)*130+130-650, 120 if len(_sprite)<5 else 320))\ntime.sleep(0.5)\n"},G_=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";return"sprite.clearAllSprites()\nsprite.createBackground('/fzsf/map_ck_xxjsjs')\n_S1 = sprite.Sprite('/fzsf/S1',400,225,'S1')\n_S2 = sprite.Sprite('/fzsf/S2',400,225,'S2')\n_S3 = sprite.Sprite('/fzsf/S3',400,225,'S3')\n_S4 = sprite.Sprite('/fzsf/S4',400,225,'S4')\n_S1.hide()\n_S2.hide()\n_S3.hide()\n_S4.hide()\n_text_1 = sprite.Text('S1:',0,0,'text')\n_text_2 = sprite.Text('S2:',0,30,'text2')\n_text_3 = sprite.Text('S3:',0,60,'text3')\n_text_4 = sprite.Text('S4:',0,90,'text4')\n_position = [[60, 270], [240, 50], [260, 380], [440, 190], [730, 60], [700, 400]]\n_Llen = [0, 170, 230, 100, 150, 10, 30, 50]\n_Slen = [0, 0, 0, 0, 0]\n_tag = [0, [0, 1, 3], [0, 2, 3], [3, 4, 5], [3, 5]]\nbear = sprite.Sprite('mixbear',60,270,'bear')\nbear.enlargeTo(80)\n_pos = 0\ntime.sleep(1)\n"},H_=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";var n=this.getFieldValue("PATHNAME");const i=[0,[1,3],[2,4],[5,7],[6]];var r="";return r+=`_S${n}.show()\ntime.sleep(1)\n`,r+=4!=n?`_Slen[${n}] = _Llen[${i[n][0]}] + _Llen[${i[n][1]}]\n_text_${n}.changeText('S${n}:'+str(_Slen[${n}])+'m')\ntime.sleep(1)\n_S${n}.hide()\ntime.sleep(1)\n`:"_Slen[4] = _Llen[6]\n_text_4.changeText('S4:'+str(_Slen[4])+'m')\ntime.sleep(1)\n_S4.hide()\ntime.sleep(1)\n"},W_=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";var n="";return[n+=`_Slen[${this.getFieldValue("PATHNAME")}] < _Slen[${this.getFieldValue("PATHNAME2")}]`,t.ORDER_ATOMIC]},X_=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";var n=this.getFieldValue("PATHNAME"),i="";return i+=`\n_S1.hide()\n_S2.hide()\n_S3.hide()\n_S4.hide()\n_Smin = ${n}\n_S${n}.show()\ntime.sleep(0.5)\n_S${n}.hide()\ntime.sleep(0.5)\n_S${n}.show()\ntime.sleep(1)\n`},q_=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";return"if(_pos == _tag[_Smin][0]):\n for i in range(1, len(_tag[_Smin]), 1):\n bear.slideTo(_position[_tag[_Smin][i]][0], _position[_tag[_Smin][i]][1], 1)\n _pos = _tag[_Smin][len(_tag[_Smin])-1]\nelse:\n print('移动错误!程序有误!')\n exit()\n_S1.hide()\n_S2.hide()\n_S3.hide()\n_S4.hide()\nif(_pos == 5):\n print('成功抵达信息科技教室!')\n"},K_=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";return"sprite.clearAllSprites()\nsprite.createBackground('/hxdb/hxdbbg')\n_soldier = []\n_num = sprite.Text('目前士兵数量:0',0,0,'num')\n_last = sprite.Text('剩余:0',500,0,'last')\n_line = 3\n"},Z_=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";var n="";return n+=`for i in range(0, ${this.getFieldValue("NUM")}, 1):\n _soldier.append(sprite.Sprite('/hxdb/soldier', 30 + (len(_soldier)%_line)*50 + (len(_soldier)//(4*_line))*(_line+1)*50 +(len(_soldier)%3-2), 80+(len(_soldier)//_line)*100-(len(_soldier)//(4*_line))*4*100+(len(_soldier)%2)))\n_num.changeText('目前士兵数量:'+str(len(_soldier)))\n`},Q_=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";var n=this.getFieldValue("NUM");return`for i in range(0, len(_soldier), 1):\n _soldier[i].slideTo(30 + (i%${n})*50 + (i//(4*${n}))*(${n}+1)*50 +(i%3-2), 80+(i//${n})*100-(i//(4*${n}))*4*100+(i%2), 0.05)\n_line = ${n}\n_last.changeText('剩余:'+str(len(_soldier)%_line))\ntime.sleep(2)\n`},J_=function(e,t){return t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite",[`len(_soldier)%_line == ${this.getFieldValue("NUM")}`,t.ORDER_ATOMIC]},ey=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";return"_num.changeText('目前士兵数量:'+str(len(_soldier)+1))\n_last.changeText('剩余:')\ntime.sleep(0.5)\n_soldier.append(sprite.Sprite('/hxdb/soldier', 30 + (len(_soldier)%_line)*50 + (len(_soldier)//(4*_line))*(_line+1)*50 +(len(_soldier)%3-2), 80+(len(_soldier)//_line)*100-(len(_soldier)//(4*_line))*4*100+(len(_soldier)%2)))\ntime.sleep(1)\n"},ty=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";return"print('符合要求的士兵数量为:'+str(len(_soldier)))\n"},ny=function(e,t){t.definitions_.import_turtle="import turtle",t.definitions_.import_time="import time",t.definitions_.import_math="import math";var n=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),i=this.getFieldValue("NUM");return t.setups_.init_Hanoi="\ndef init_Hanoi():\n pen = turtle.Turtle()\n pen.hideturtle()\n pen.speed(0)\n for i in range(0, 3, 1):\n pen.penup()\n pen.setheading(0)\n pen.goto(150 * i - 200,-100)\n pen.pendown()\n pen.pensize(5)\n pen.forward(100)\n pen.goto(150 * i - 150,-100)\n pen.setheading(90)\n pen.forward(200)",t.setups_.begin="\ndef begin(): \n s = turtle.Turtle()\n s.hideturtle()\n s.penup()\n s.speed(0)\n s.goto(0,-150)\n s.write('3')\n time.sleep(1)\n s.clear()\n s.write('2')\n time.sleep(1)\n s.clear()\n s.write('1')\n time.sleep(1)\n s.clear()\n s.write('Start!')\n time.sleep(1)\n s.clear()\n",t.setups_.move="\ndef move(x, y):\n try:\n t = tower[x].pop(-1)\n a = tower_num[x].pop(-1)\n if tower_num[y]!=[]:\n b = tower_num[y][-1]\n if a 1"}]`,t.ORDER_ATOMIC]},Fv=function(e,t){return[`${t.valueToCode(e,"DICT",t.ORDER_ATOMIC)||"df"}.groupby(by=${t.valueToCode(e,"KEY",t.ORDER_ATOMIC)||"'tag'"})`,t.ORDER_ATOMIC]},Lv=function(e,t){return[`${t.valueToCode(e,"DICT",t.ORDER_ATOMIC)||"df"}.${e.getFieldValue("TYPE")}()`,t.ORDER_ATOMIC]},Pv=function(e,t){t.definitions_.import_matplotlib_pyplot="import matplotlib.pyplot as plt";return"plt.cla()\n"},Bv=function(e,t){var n=t.variableDB_.getName(this.getFieldValue("VAR"),Ve.Variables.NAME_TYPE),i=t.variableDB_.getName(this.getFieldValue("TYPE"),Ve.Variables.NAME_TYPE),r="class "+i+":\n";r+=" def __init__(self):\n";for(var s=new Array(this.itemCount_),o=0;o0;r--)t.getInputTargetBlock("IF"+r)&&t.getInputTargetBlock("IF"+r).previousConnection?n[r]=t.getInputTargetBlock("IF"+r).previousConnection:n[r]=null,this.removeInput("IF"+r),t.getInputTargetBlock("DO"+r)&&t.getInputTargetBlock("DO"+r).previousConnection?i[r]=t.getInputTargetBlock("DO"+r).previousConnection:i[r]=null,this.removeInput("DO"+r);this.elseifCount_=parseInt(e.getAttribute("elseif"),10),this.elseCount_=parseInt(e.getAttribute("else"),10);for(r=1;r<=this.elseifCount_;r++)this.appendValueInput("IF"+r).setCheck([Boolean,Number]).appendField(Ve.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+r).appendField(Ve.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(Ve.Msg.CONTROLS_IF_MSG_ELSE);for(r=n.length-2;r>0;r--)n[r]&&n[r].reconnect(this,"IF"+r);for(r=i.length-2;r>0;r--)i[r]&&i[r].reconnect(this,"DO"+r)},decompose:function(e){var t=e.newBlock("controls_if_if");t.initSvg();for(var n=t.getInput("STACK").connection,i=1;i<=this.elseifCount_;i++){var r=e.newBlock("controls_if_elseif");r.initSvg(),n.connect(r.previousConnection),n=r.nextConnection}if(this.elseCount_){var s=e.newBlock("controls_if_else");s.initSvg(),n.connect(s.previousConnection)}return t},compose:function(e){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var t=this.elseifCount_;t>0;t--)this.removeInput("IF"+t),this.removeInput("DO"+t);this.elseifCount_=0;for(var n=e.getInputTargetBlock("STACK"),i=[null],r=[null],s=null;n;){switch(n.type){case"controls_if_elseif":this.elseifCount_++,i.push(n.valueConnection_),r.push(n.statementConnection_);break;case"controls_if_else":this.elseCount_++,s=n.statementConnection_;break;default:throw Error("Unknown block type: "+n.type)}n=n.nextConnection&&n.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(i,r,s)},saveConnections:function(e){for(var t=e.getInputTargetBlock("STACK"),n=1;t;){switch(t.type){case"controls_if_elseif":var i=this.getInput("IF"+n),r=this.getInput("DO"+n);t.valueConnection_=i&&i.connection.targetConnection,t.statementConnection_=r&&r.connection.targetConnection,n++;break;case"controls_if_else":r=this.getInput("ELSE");t.statementConnection_=r&&r.connection.targetConnection;break;default:throw"Unknown block type."}t=t.nextConnection&&t.nextConnection.targetBlock()}},rebuildShape_:function(){var e=[null],t=[null],n=null;this.getInput("ELSE")&&(n=this.getInput("ELSE").connection.targetConnection);for(var i=1;this.getInput("IF"+i);){var r=this.getInput("IF"+i),s=this.getInput("DO"+i);console.log(r.connection.targetConnection),e.push(r.connection.targetConnection),t.push(s.connection.targetConnection),i++}this.updateShape_(),this.reconnectChildBlocks_(e,t,n)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var e=1;this.getInput("IF"+e);)this.removeInput("IF"+e),this.removeInput("DO"+e),e++;for(e=1;e<=this.elseifCount_;e++)this.appendValueInput("IF"+e).setCheck([Number,Boolean]).appendField(Ve.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+e).appendField(Ve.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(Ve.Msg.CONTROLS_IF_MSG_ELSE)},reconnectChildBlocks_:function(e,t,n){for(var i=1;i<=this.elseifCount_;i++)e[i]&&e[i].reconnect(this,"IF"+i),t[i]&&t[i].reconnect(this,"DO"+i);n&&n.reconnect(this,"ELSE")}},ct={init:function(){this.setColour(rt),this.appendValueInput("FROM").setCheck(Number).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.PYTHON_RANGE).appendField(Ve.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.PYTHON_RANGE_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Ve.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},dt={init:function(){this.setColour(rt),this.appendValueInput("LIST").setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.CONTROLS_FOREACH_INPUT),this.appendValueInput("VAR").appendField(Ve.Msg.CONTROLS_FOREACH_INPUT_ITEM),this.appendStatementInput("DO").appendField(Ve.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(function(){return Ve.Msg.CONTROLS_FOR_TOOLTIP.replace("“%1”","")})},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Ve.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},ht={init:function(){this.setColour(rt),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(Ve.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(new Ve.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(Ve.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT+Ve.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip(function(){var t=e.getFieldValue("MODE");return{WHILE:Ve.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:Ve.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[t]})}},pt={init:function(){this.setColour(rt),this.appendDummyInput().appendField(Ve.Msg.MIXLY_PYTHON_TRY),this.appendStatementInput("try"),this.appendValueInput("IF1").appendField(Ve.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO1").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Ve.icons.MutatorIcon(["controls_except","controls_finally"],this)),this.setTooltip(Ve.Msg.MIXLY_MIXPY_CONTROL_TRY_TOOLTIP),this.elseifCount_=1,this.elseCount_=0},mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var e=document.createElement("mutation");return this.elseifCount_&&e.setAttribute("elseif",this.elseifCount_),this.elseCount_&&e.setAttribute("else",1),e},domToMutation:function(e){var t=this,n=[],i=[];this.elseCount_&&this.removeInput("ELSE");for(var r=this.elseifCount_;r>0;r--)t.getInputTargetBlock("IF"+r)&&t.getInputTargetBlock("IF"+r).previousConnection?n[r]=t.getInputTargetBlock("IF"+r).previousConnection:n[r]=null,this.removeInput("IF"+r),t.getInputTargetBlock("DO"+r)&&t.getInputTargetBlock("DO"+r).previousConnection?i[r]=t.getInputTargetBlock("DO"+r).previousConnection:i[r]=null,this.removeInput("DO"+r);this.elseifCount_=parseInt(e.getAttribute("elseif"),10),this.elseCount_=parseInt(e.getAttribute("else"),10);for(r=1;r<=this.elseifCount_;r++)this.appendValueInput("IF"+r).setCheck([Boolean,Number]).appendField(Ve.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+r).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(Ve.Msg.MIXLY_PYTHON_FINALLY);for(r=n.length-2;r>0;r--)n[r]&&n[r].reconnect(this,"IF"+r);for(r=i.length-2;r>0;r--)i[r]&&i[r].reconnect(this,"DO"+r)},decompose:function(e){var t=e.newBlock("controls_try");t.initSvg();for(var n=t.getInput("STACK").connection,i=1;i<=this.elseifCount_;i++){var r=e.newBlock("controls_except");r.initSvg(),n.connect(r.previousConnection),n=r.nextConnection}if(this.elseCount_){var s=e.newBlock("controls_finally");s.initSvg(),n.connect(s.previousConnection)}return t},compose:function(e){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var t=this.elseifCount_;t>0;t--)this.removeInput("IF"+t),this.removeInput("DO"+t);this.elseifCount_=0;for(var n=e.getInputTargetBlock("STACK"),i=[null],r=[null],s=null;n;){switch(n.type){case"controls_except":this.elseifCount_++,i.push(n.valueConnection_),r.push(n.statementConnection_);break;case"controls_finally":this.elseCount_++,s=n.statementConnection_;break;default:throw Error("Unknown block type: "+n.type)}n=n.nextConnection&&n.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(i,r,s)},saveConnections:function(e){for(var t=e.getInputTargetBlock("STACK"),n=1;t;){switch(t.type){case"controls_except":var i=this.getInput("IF"+n),r=this.getInput("DO"+n);t.valueConnection_=i&&i.connection.targetConnection,t.statementConnection_=r&&r.connection.targetConnection,n++;break;case"controls_finally":r=this.getInput("ELSE");t.statementConnection_=r&&r.connection.targetConnection;break;default:throw"Unknown block type."}t=t.nextConnection&&t.nextConnection.targetBlock()}},rebuildShape_:function(){var e=[null],t=[null],n=null;this.getInput("ELSE")&&(n=this.getInput("ELSE").connection.targetConnection);for(var i=1;this.getInput("IF"+i);){var r=this.getInput("IF"+i),s=this.getInput("DO"+i);console.log(r.connection.targetConnection),e.push(r.connection.targetConnection),t.push(s.connection.targetConnection),i++}this.updateShape_(),this.reconnectChildBlocks_(e,t,n)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var e=1;this.getInput("IF"+e);)this.removeInput("IF"+e),this.removeInput("DO"+e),e++;for(e=1;e<=this.elseifCount_;e++)this.appendValueInput("IF"+e).setCheck([Number,Boolean]).appendField(Ve.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+e).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(Ve.Msg.MIXLY_PYTHON_FINALLY)},reconnectChildBlocks_:function(e,t,n){for(var i=1;i<=this.elseifCount_;i++)e[i]&&e[i].reconnect(this,"IF"+i),t[i]&&t[i].reconnect(this,"DO"+i);n&&n.reconnect(this,"ELSE")}},ft={init:function(){this.setColour(rt);var e=new Ve.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(e,"FLOW").appendField(Ve.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0),this.setTooltip(Ve.Msg.MIXLY_PYTHON_CONTROLS_FLOW_STATEMENTS_TOOLTIP);var t=this;this.setTooltip(function(){var e=t.getFieldValue("FLOW");return{BREAK:Ve.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:Ve.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}[e]})},onchange:function(){if(this.workspace){var e=!1,t=this;do{if("controls_repeat"==t.type||"controls_for"==t.type||"controls_forEach"==t.type||"controls_repeat_ext"==t.type||"controls_whileUntil"==t.type||"do_while"==t.type){e=!0;break}t=t.getSurroundParent()}while(t);e?this.setWarningText(null):this.setWarningText(Ve.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}},mt={init:function(){this.setColour(rt),this.appendDummyInput().appendField(Ve.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new Ve.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(Ve.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var e=this;this.setTooltip(function(){return Ve.Msg.CONTROLS_FOR_TOOLTIP.replace("%1",e.getFieldValue("VAR"))})},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Ve.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},gt={init:function(){this.setColour(rt),this.appendDummyInput().appendField(Ve.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new Ve.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(Ve.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var e=this;this.setTooltip(function(){return Ve.Msg.MIXLY_PYTHON_CONTROLS_FOR_RANGE_TOOLTIP.replace("%1",e.getFieldValue("VAR"))})},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Ve.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}};ht.OPERATORS=[[Ve.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[Ve.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]],ft.OPERATORS=[[Ve.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[Ve.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const _t={init:function(){this.setColour(rt),this.appendDummyInput().appendField(Ve.Msg.CONTROLS_IF_IF_TITLE_IF),this.appendStatementInput("STACK"),this.setTooltip(Ve.Msg.CONTROLS_IF_IF_TOOLTIP),this.contextMenu=!1}},yt={init:function(){this.setColour(rt),this.appendDummyInput().appendField(Ve.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},vt={init:function(){this.setColour(rt),this.appendDummyInput().appendField(Ve.Msg.CONTROLS_IF_ELSE_TITLE_ELSE),this.setPreviousStatement(!0),this.setTooltip(Ve.Msg.CONTROLS_IF_ELSE_TOOLTIP),this.contextMenu=!1}},bt={init:function(){this.setColour(rt),this.appendDummyInput().appendField("try"),this.appendStatementInput("STACK"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.contextMenu=!1}},Tt={init:function(){this.setColour(rt),this.appendDummyInput().appendField(Ve.Msg.MIXLY_PYTHON_EXCEPT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1,this.setTooltip(Ve.Msg.MIXLY_MIXPY_CONTROL_EXCEPT_TOOLTIP)}},xt={init:function(){this.setColour(rt),this.appendDummyInput().appendField(Ve.Msg.MIXLY_PYTHON_FINALLY),this.setPreviousStatement(!0),this.contextMenu=!1,this.setTooltip(Ve.Msg.MIXLY_MIXPY_CONTROL_FINALLY_TOOLTIP)}},Et={init:function(){this.jsonInit({message0:Ve.Msg.CONTROLS_REPEAT_TITLE,args0:[{type:"input_value",name:"TIMES"}],previousStatement:null,nextStatement:null,colour:rt,tooltip:Ve.Msg.CONTROLS_REPEAT_TOOLTIP,helpUrl:Ve.Msg.CONTROLS_REPEAT_HELPURL}),this.appendStatementInput("DO")}},wt={init:function(){this.setColour(rt),this.appendValueInput("BOOL").appendField("lambda"),this.appendStatementInput("DO").appendField(Ve.Msg.MIXLY_STAT),this.setOutput(!0)}},It={init:function(){this.setColour(rt),this.appendDummyInput().appendField(Ve.Msg.MIXLY_PYTHON_PASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_PYTHON_CONTROLS_PASS_TOOLTIP)}},At={init:function(){this.setColour(rt),this.appendDummyInput().appendField(Ve.Msg.MIXLY_PYTHON_CONTROLS_THREAD_START),this.appendValueInput("callback").appendField(Ve.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.appendValueInput("VAR").appendField(Ve.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ve.Msg.MIXLY_PYTHON_CONTROLS_THREAD_TOOLTIP)}},St={init:function(){this.appendDummyInput().appendField(Ve.Msg.CONTROLS_REPEAT_TITLE_REPEAT+Ve.Msg.MIXLY_DO),this.appendStatementInput("input_data").setCheck(null),this.appendValueInput("select_data").setCheck(null).appendField(Ve.Msg.CONTROLS_OPERATOR_UNTIL).appendField(new Ve.FieldDropdown([[Ve.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"true"],[Ve.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"false"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(rt),this.setTooltip("do-while loop"),this.setHelpUrl("")}},Ct={init:function(){this.setColour(rt),this.appendDummyInput().appendField(Ve.Msg.MIXLY_OP_GARBAGE_COLLECT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ot={init:function(){this.setColour(rt),this.appendDummyInput().appendField(Ve.Msg.MIXLY_GET_MEM_ALLOC),this.setOutput(!0)}},Mt={init:function(){this.setColour(rt),this.appendDummyInput().appendField(Ve.Msg.MIXLY_GET_MEM_FREE),this.setOutput(!0)}},kt={init:function(){this.setColour(rt),this.appendDummyInput().appendField(Ve.Msg.MIXLY_GET+Ve.Msg.MIXLY_DEVICE+"ID"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Ve.Msg.PROCEDURES_DEFRETURN_RETURN+Ve.Msg.MIXLY_GET_UNIQUE_IDEN)}},Rt={init:function(){this.setColour(rt),this.appendValueInput("VAR").appendField(Ve.Msg.MIXLY_RTC_TIMESTAMP),this.appendDummyInput().appendField(Ve.Msg.MIXLY_TIMESTAMP_TO_DATA),this.setInputsInline(!0),this.setOutput(!0,Number)}},Nt={init:function(){this.setColour(rt),this.appendDummyInput().appendField(Ve.Msg.MIXLY_GET_UNIQUE_IDEN),this.setOutput(!0)}},Dt=230;Ve.FieldTextInput.math_number_validator=function(e){return String(e)},Ve.FieldTextInput.math_number_validator_include_blank=function(e){if(""===e)return"";return/^-?(0X|0x|0O|0o|0B|0b)?[a-fA-F0-9]{1,}(\.[a-fA-F0-9]+)?$/.test(e)?String(e):null};const Ft={init:function(){this.setColour(Dt),this.appendDummyInput().appendField(new Ve.FieldTextInput("0",Ve.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(Ve.Msg.MATH_NUMBER_TOOLTIP)}},Lt={init:function(){this.setColour(Dt);this.appendDummyInput("").appendField(Ve.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new Ve.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var e=this;this.setTooltip(function(){var t=e.getFieldValue("CONSTANT");return{pi:Ve.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_TOOLTIP,e:Ve.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_TOOLTIP}[t]})}},Pt={init:function(){this.setColour(Dt);this.appendDummyInput("").appendField(Ve.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new Ve.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var e=this;this.setTooltip(function(){var t=e.getFieldValue("CONSTANT");return{pi:Ve.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_MP_TOOLTIP,e:Ve.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_MP_TOOLTIP}[t]})}},Bt={init:function(){this.setColour(Dt),this.setOutput(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Ve.FieldDropdown([["+","ADD"],["-","MINUS"],["×","MULTIPLY"],["÷","DIVIDE"],["%","QUYU"],["//","ZHENGCHU"],["**","POWER"]]),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip(function(){var t=e.getFieldValue("OP");return{ADD:Ve.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:Ve.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:Ve.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:Ve.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:Ve.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:Ve.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:Ve.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[t]})}},$t={init:function(){this.setColour(Dt),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Ve.FieldDropdown([["+=","ADD"],["-=","MINUS"],["×=","MULTIPLY"],["÷=","DIVIDE"],["%=","QUYU"],["//=","ZHENGCHU"],["**=","POWER"]]),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip(function(){var t=e.getFieldValue("OP");return{ADD:Ve.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:Ve.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:Ve.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:Ve.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:Ve.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:Ve.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:Ve.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[t]})}},Ut={init:function(){this.setColour(Dt),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new Ve.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},Vt={init:function(){this.setColour(Dt),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new Ve.FieldDropdown([["sin","SIN"],["cos","COS"],["tan","TAN"],["asin","ASIN"],["acos","ACOS"],["atan","ATAN"],["-","-"],["ln","LN"],["log10","LOG10"],["e^","EXP"],["10^","POW10"]]),"OP");var e=this;this.setTooltip(function(){var t=e.getFieldValue("OP");return{SIN:Ve.Msg.MATH_TRIG_TOOLTIP_SIN,COS:Ve.Msg.MATH_TRIG_TOOLTIP_COS,TAN:Ve.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:Ve.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:Ve.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:Ve.Msg.MATH_TRIG_TOOLTIP_ATAN,LN:Ve.Msg.MATH_SINGLE_TOOLTIP_LN}[t]})}},zt={init:function(){var e=[[Ve.Msg.MATH_BIN,"bin"],[Ve.Msg.MATH_OCT,"oct"],[Ve.Msg.MATH_HEX,"hex"]];this.setColour(Dt),this.setOutput(!0,String),this.appendValueInput("NUM").setCheck(Number).appendField(new Ve.FieldDropdown(e),"OP");var t=this;this.setTooltip(function(){var e=t.getFieldValue("OP");return{bin:Ve.Msg.MATH_DEC_TOOLTIP_BIN,oct:Ve.Msg.MATH_DEC_TOOLTIP_OCT,hex:Ve.Msg.MATH_DEC_TOOLTIP_HEX}[e]})}},jt={init:function(){var e=[[Ve.Msg.LANG_MATH_TO_ROUND,"round"],[Ve.Msg.LANG_MATH_TO_CEIL,"ceil"],[Ve.Msg.LANG_MATH_TO_FLOOR,"floor"],[Ve.Msg.MATH_ABS,"fabs"],[Ve.Msg.MATH_SQRT,"sqrt"]];this.setColour(Dt),this.appendValueInput("A").setCheck(Number).appendField(new Ve.FieldDropdown(e),"OP"),this.setOutput(!0,Number);var t=this;this.setTooltip(function(){var e=t.getFieldValue("OP");return{sqrt:Ve.Msg.MATH_SINGLE_TOOLTIP_ROOT,fabs:Ve.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:Ve.Msg.MATH_SINGLE_TOOLTIP_SQ,round:Ve.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:Ve.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:Ve.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[e]})}},Yt={init:function(){var e=[[Ve.Msg.MIXLY_MAX,"max"],[Ve.Msg.MIXLY_MIN,"min"]];this.setColour(Dt),this.appendValueInput("A").setCheck(Number).setAlign(Ve.inputs.Align.RIGHT).appendField(new Ve.FieldDropdown(e),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(Ve.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(Ve.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setOutput(!0,Number);var t=this;this.setTooltip(function(){var e=t.getFieldValue("OP");return{max:Ve.Msg.MIXLY_TOOLTIP_MATH_MAX,min:Ve.Msg.MIXLY_TOOLTIP_MATH_MIN}[e]})}},Gt={init:function(){var e=[[Ve.Msg.MATH_TWO,"two"],[Ve.Msg.MATH_EIGHT,"eight"],[Ve.Msg.MATH_TEN,"ten"],[Ve.Msg.MATH_SIXTEEN,"sixteen"]];this.setColour(Dt),this.appendDummyInput("").appendField(Ve.Msg.MATH_BA),this.appendValueInput("NUM").appendField(new Ve.FieldDropdown(e),"OP").appendField(Ve.Msg.MATH_JinZhi).setCheck(Number),this.appendDummyInput("").appendField(Ve.Msg.MATH_ZHW).appendField(new Ve.FieldDropdown(e),"OP2").appendField(Ve.Msg.MATH_JinZhi),this.setFieldValue("ten","OP2"),this.setOutput(!0),this.setInputsInline(!0);var t=this;this.setTooltip(function(){var e=t.getFieldValue("OP"),n={two:Ve.Msg.MATH_Before_two,eight:Ve.Msg.MATH_Before_eight,ten:Ve.Msg.MATH_Before_ten,sixteen:Ve.Msg.MATH_Before_sixteen},i=t.getFieldValue("OP2"),r={two:Ve.Msg.MATH_Behind_two,eight:Ve.Msg.MATH_Behind_eight,ten:Ve.Msg.MATH_Behind_ten,sixteen:Ve.Msg.MATH_Behind_sixteen};return n[e]+r[i]})}},Ht={init:function(){var e=[[Ve.Msg.LANG_MATH_INT,"int"],[Ve.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(Dt),this.setOutput(!0,Number),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MICROBIT_RANDOM).appendField(new Ve.FieldDropdown(e),"TYPE"),this.appendValueInput("FROM").setCheck(Number).appendField(Ve.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0);var t=this;this.setTooltip(function(){var e=t.getFieldValue("TYPE"),n={int:Ve.Msg.LANG_MATH_INT,float:Ve.Msg.LANG_MATH_FLOAT_RANDOM};return Ve.Msg.MATH_RANDOM_INT_TOOLTIP+n[e]})}},Wt={init:function(){this.setColour(Dt),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(Ve.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(Ve.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(Ve.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(Ve.Msg.MATH_CONSTRAIN_TOOLTIP)}},Xt={init:function(){this.setColour(Dt),this.appendValueInput("NUM",Number).appendField(Ve.Msg.MIXLY_MAP).setCheck(Number),this.appendValueInput("fromLow",Number).appendField(Ve.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(Ve.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Ve.Msg.MIXLY_TOOLTIP_MATH_MAP)}},qt={init:function(){this.setColour(Dt),this.appendDummyInput().appendField(new Ve.FieldTextInput("0",Ve.FieldTextInput.math_number_validator_include_blank),"NUM"),this.setOutput(!0),this.setTooltip(Ve.Msg.MATH_NUMBER_TOOLTIP)}},Kt={init:function(){this.setColour(Dt),this.appendValueInput("NUM").setCheck(Number).appendField(Ve.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED)}},Zt={init:function(){this.setColour(Dt),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number),this.appendValueInput("VAR").setCheck(Number).appendField(Ve.Msg.MATH_ROUND).appendField(Ve.Msg.TEXT_KEEP),this.appendDummyInput().appendField(Ve.Msg.TEXT_DECIMAL),this.setInputsInline(!0),this.setTooltip(Ve.Msg.MATH_ROUND_NEW_TOOLTIP)}},Qt={init:function(){var e=[[Ve.Msg.MIXLY_TO_INT,"int"],[Ve.Msg.MIXLY_TO_FLOAT,"float"],[Ve.Msg.MIXLY_TO_BITES,"b"],[Ve.Msg.LANG_MATH_BYTE+Ve.Msg.MIXLY_TO_INT,"bti"]];this.setColour(Dt),this.appendValueInput("VAR").appendField(new Ve.FieldDropdown(e),"TOWHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip(function(){var e=t.getFieldValue("TOWHAT");return{int:Ve.Msg.MIXLY_PYTHON_TOOLTIP_TOINT,float:Ve.Msg.MIXLY_PYTHON_TOOLTIP_TOFLOAT,b:Ve.Msg.MIXLY_TOOLTIP_TEXT_TOBYTE}[e]})}},Jt={init:function(){var e=[[Ve.Msg.MIXLY_TO_INT,"int"],[Ve.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(Dt),this.appendValueInput("VAR").appendField(new Ve.FieldDropdown(e),"TOWHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip(function(){var e=t.getFieldValue("TOWHAT");return{int:Ve.Msg.MIXLY_TOOLTIP_TEXT_TOINT,float:Ve.Msg.MIXLY_TOOLTIP_TEXT_TOFLOAT}[e]})}},en=Xt,tn={init:function(){this.setColour(Dt),this.appendValueInput("VAR").appendField(Ve.Msg.LANG_MATH_BYTE+Ve.Msg.MIXLY_TO_HEX),this.setOutput(!0,Number),this.setTooltip(Ve.Msg.MIXLY_PYTHON_TOOLTIP_TOHEX)}},nn={init:function(){this.setColour(Dt),this.itemCount_=1,this.setMutator(new Ve.icons.MutatorIcon(["lists_create_with_item"],this)),this.appendDummyInput("DUMMY").appendField(Ve.Msg.MIXLY_PRODUCT+Ve.Msg.MIXLY_GENERATE_CARTESIAN_PRODUCT),this.appendValueInput("REPEAT").appendField(Ve.Msg.MIXLY_EVERY_PER_ELEPER_ELEMENT),this.appendDummyInput().appendField(Ve.Msg.CONTROLS_REPEAT_TITLE_TIMES),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0),this.setTooltip(Ve.Msg.LISTS_CREATE_WITH_PYTHON_TOOLTIP),this.updateShape_()},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("lists_create_with_container");t.initSvg();for(var n=t.getInput("STACK").connection,i=0;i1&&"\\"===e.charAt(0)){var t=e.charAt(1);if("0"===t||"b"===t||"f"===t||"n"===t||"r"===t||"t"===t||"\\"===t||"'"===t)return String(e).substring(0,2);if("x"===t&&"0"===e.charAt(2)&&"B"===e.charAt(3))return String(e).substring(0,4)}return String(e).substring(0,1)};const cn={init:function(){this.setColour(on),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new Ve.FieldTextInput("",Ve.FieldTextInput.char_validator),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,Number),this.setTooltip(Ve.Msg.TEXT_CHAR_TOOLTIP)},newQuote_:function(e){if(1==e)var t="../../media/quote2.png";else t="../../media/quote3.png";return new Ve.FieldImage(t,7,12,'"')}},dn={init:function(){this.setColour(on),this.appendValueInput("A").setCheck([String,Number]),this.appendValueInput("B").setCheck([String,Number]).appendField(Ve.Msg.MIXLY_TEXT_JOIN),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Ve.Msg.MIXLY_TOOLTIP_TEXT_JOIN)}},hn={init:function(){this.setColour(on),this.appendValueInput("VAR").setCheck(Number).appendField(Ve.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(Ve.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},pn={init:function(){this.setColour(on),this.appendValueInput("VAR").setCheck(String).appendField(Ve.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(Ve.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},fn={init:function(){this.setColour(on),this.appendValueInput("VAR").appendField(Ve.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(Ve.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},mn={init:function(){this.setColour(on),this.appendValueInput("VAR").appendField(Ve.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(Ve.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},gn={init:function(){this.WHERE_OPTIONS=[[Ve.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[Ve.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[Ve.Msg.TEXT_GET_INDEX_RANDOM+1+Ve.Msg.TEXT_CHARAT2,"RANDOM"]],this.setHelpUrl(Ve.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(on),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number),this.appendDummyInput().appendField(Ve.Msg.LISTS_GET_INDEX_GET,"MODE"),Ve.Msg.LISTS_GET_INDEX_TAIL&&this.appendDummyInput("TAIL").appendField(Ve.Msg.LISTS_GET_INDEX_TAIL),this.setInputsInline(!0),this.setOutput(!0),this.updateAt_(!0);var e=this;this.setTooltip(function(){var t=e.getFieldValue("MODE"),n=e.getFieldValue("WHERE"),i="";switch(t+" "+n){case"GET FROM_START":case"GET FROM_END":i=Ve.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM;break;case"GET RANDOM":i=Ve.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM;break;case"GET_REMOVE FROM_START":case"GET_REMOVE FROM_END":i=Ve.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM;break;case"GET_REMOVE RANDOM":i=Ve.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM}return"FROM_START"!=n&&"FROM_END"!=n||(i+=" "+Ve.Msg.LISTS_INDEX_FROM_START_TOOLTIP.replace("%1",Ve.Msg.ONE_BASED_INDEXING?"#1":"#0")),i});var t=this;this.setTooltip(function(){var e=t.getFieldValue("WHERE"),n={FROM_START:Ve.Msg.LISTS_GET_INDEX_FROM_START,FROM_END:Ve.Msg.LISTS_GET_INDEX_FROM_END,RANDOM:Ve.Msg.TEXT_GET_INDEX_RANDOM};return Ve.Msg.PROCEDURES_DEFRETURN_RETURN+Ve.Msg.MIXLY_MICROBIT_TYPE_STRING+n[e]+"n"+Ve.Msg.TEXT_CHARAT2})},mutationToDom:function(){var e=document.createElement("mutation");e.setAttribute("statement",!this.outputConnection);var t=this.getInput("AT").type==Ve.INPUT_VALUE;return e.setAttribute("at",t),e},domToMutation:function(e){var t="true"==e.getAttribute("statement");this.updateStatement_(t),e="false"!=e.getAttribute("at"),this.updateAt_(e)},updateStatement_:function(e){e!=!this.outputConnection&&(this.unplug(!0,!0),e?(this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)):(this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)))},updateAt_:function(e){this.removeInput("AT"),this.removeInput("ORDINAL",!0),e?(this.appendValueInput("AT").setCheck(Number),Ve.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL").appendField(Ve.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT");var t=new Ve.FieldDropdown(this.WHERE_OPTIONS,function(t){var n="FROM_START"==t||"FROM_END"==t;if(n!=e){var i=this.sourceBlock_;return i.updateAt_(n),i.setFieldValue(t,"WHERE"),null}});this.getInput("AT").appendField(t,"WHERE"),Ve.Msg.LISTS_GET_INDEX_TAIL&&this.moveInputBefore("TAIL",null)}},_n={init:function(){this.setHelpUrl(Ve.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(on),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number).appendField(Ve.Msg.LISTS_GET_INDEX_GET+" "+Ve.Msg.LISTS_GET_INDEX_FROM_START),this.appendDummyInput().appendField(Ve.Msg.TEXT_CHARAT2),this.setOutput(!0),this.setTooltip(Ve.Msg.PROCEDURES_DEFRETURN_RETURN+Ve.Msg.MIXLY_MICROBIT_TYPE_STRING+Ve.Msg.LISTS_GET_INDEX_FROM_START+"n"+Ve.Msg.TEXT_CHARAT2)}},yn={init:function(){this.setHelpUrl(Ve.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(on),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(Ve.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(Ve.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},vn={init:function(){this.WHERE_OPTIONS_1=[[Ve.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[Ve.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[Ve.Msg.LISTS_GET_SUBLIST_START_FIRST,"FIRST"]],this.WHERE_OPTIONS_2=[[Ve.Msg.LISTS_GET_SUBLIST_END_FROM_START,"FROM_START"],[Ve.Msg.LISTS_GET_SUBLIST_END_FROM_END,"FROM_END"],[Ve.Msg.LISTS_GET_SUBLIST_END_LAST,"LAST"]],this.setHelpUrl(Ve.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(on),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput("AT1"),this.appendDummyInput("AT2"),this.setInputsInline(!0),this.setOutput(!0,"List"),this.updateAt_(1,!0),this.updateAt_(2,!0),this.setTooltip(Ve.Msg._GET_TEXT_SUBLIST_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation"),t=this.getInput("AT1").type==Ve.INPUT_VALUE;e.setAttribute("at1",t);var n=this.getInput("AT2").type==Ve.INPUT_VALUE;return e.setAttribute("at2",n),e},domToMutation:function(e){var t="true"==e.getAttribute("at1"),n="true"==e.getAttribute("at2");this.updateAt_(1,t),this.updateAt_(2,n)},updateAt_:function(e,t){this.removeInput("AT"+e),this.removeInput("ORDINAL"+e,!0),t?(this.appendValueInput("AT"+e).setCheck(Number),Ve.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL"+e).appendField(Ve.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT"+e);var n=new Ve.FieldDropdown(this["WHERE_OPTIONS_"+e],function(n){var i="FROM_START"==n||"FROM_END"==n;if(i!=t){var r=this.sourceBlock_;return r.updateAt_(e,i),r.setFieldValue(n,"WHERE"+e),null}});this.getInput("AT"+e).appendField(n,"WHERE"+e),1==e&&(this.moveInputBefore("AT1","AT2"),this.getInput("ORDINAL1")&&this.moveInputBefore("ORDINAL1","AT2"))}},bn={init:function(){this.setHelpUrl(Ve.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(on),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT1").appendField(Ve.Msg.LISTS_GET_INDEX_GET+" "+Ve.Msg.LISTS_GET_INDEX_FROM_START),this.appendValueInput("AT2").appendField(Ve.Msg.LISTS_GET_SUBLIST_END_FROM_START),this.appendDummyInput().appendField(Ve.Msg.TEXT_CHARAT2),this.setInputsInline(!0),this.setOutput(!0,["List",String]),this.setTooltip(Ve.Msg._GET_TEXT_SUBLIST_TOOLTIP)}},Tn={init:function(){var e=[[Ve.Msg.MIXLY_EQUALS,"==="],[Ve.Msg.MIXLY_STARTSWITH,"startswith"],[Ve.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(on),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new Ve.FieldDropdown(e),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},xn={init:function(){this.setColour(on),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(Ve.Msg.MIXLY_COMPARETO).setCheck(String),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Ve.Msg.MIXLY_COMPARETO_HELP)}},En={init:function(){var e=[[Ve.Msg.TEXT_UPPER,"upper"],[Ve.Msg.TEXT_TITLE,"title"],[Ve.Msg.TEXT_CAPITALIZE,"capitalize"],[Ve.Msg.TEXT_SWAPCASE,"swapcase"],[Ve.Msg.TEXT_LOWER,"lower"]];this.setColour(on),this.appendValueInput("VAR").appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new Ve.FieldDropdown(e),"CAPITAL").setCheck(String),this.setOutput(!0,String);var t=this;this.setTooltip(function(){var e=t.getFieldValue("CAPITAL");return{upper:Ve.Msg.MIXLY_MIXPY_TEXT_UPPER_TOOLTIP,title:Ve.Msg.MIXLY_MIXPY_TEXT_TITLE_TOOLTIP,swapcase:Ve.Msg.MIXLY_MIXPY_TEXT_SWAPCASE_TOOLTIP,capitalize:Ve.Msg.MIXLY_MIXPY_TEXT_CAPITALIZE_TOOLTIP,lower:Ve.Msg.MIXLY_MIXPY_TEXT_LOWER_TOOLTIP}[e]})}},wn={init:function(){var e=[[Ve.Msg.TEXT_LJUST,"ljust"],[Ve.Msg.TEXT_CENTER,"center"],[Ve.Msg.TEXT_RJUST,"rjust"]];this.setColour(on),this.appendValueInput("VAR").appendField(new Ve.FieldDropdown(e),"CENTER").setCheck(String),this.appendValueInput("WID").appendField(Ve.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("Symbol").appendField(Ve.Msg.MIXLY_RECT_Fill).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Ve.Msg.MIXLY_MIXPY_TEXT_CENTER_TOOLTIP)}},In={init:function(){this.setColour(on),this.appendValueInput("VAR").appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).setCheck(String),this.appendValueInput("STR").appendField(Ve.Msg.MIXLY_MID+Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER).setCheck(String),this.appendDummyInput().appendField(Ve.Msg.MIXLY_LIST_INDEX),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Ve.Msg.MIXLY_MIXPY_TEXT_FIND_TOOLTIP)}},An={init:function(){this.setColour(on),this.appendValueInput("VAR").appendField(Ve.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_USE_STR).setCheck(String),this.appendValueInput("LIST").appendField(Ve.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_SEQ).setCheck("List","Tuple","Set","Dict"),this.appendDummyInput().appendField(Ve.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_GET_STR),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Ve.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_TOOLTIP)}},Sn={init:function(){this.setColour(on),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("STR1").appendField(Ve.Msg.MIXLY_MIXPY_REPLACE).setCheck(String),this.appendValueInput("STR2").appendField(Ve.Msg.LISTS_SET_INDEX_INPUT_TO).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Ve.Msg.MIXLY_MIXPY_TEXT_REPLACE_TOOLTIP)}},Cn={init:function(){this.setColour(on),this.appendValueInput("VAR"),this.appendValueInput("VAL").appendField(Ve.Msg.LIST_SPLIT_AS),this.appendDummyInput("").appendField(Ve.Msg.LIST_SPLIT),this.setOutput(!0,"List"),this.setTooltip(Ve.Msg.MIXLY_MIXPY_TEXT_SPLIT_TOOLTIP),this.setInputsInline(!0)}},On={init:function(){var e=[[Ve.Msg.TEXT_TRIM_BOTH,"strip"],[Ve.Msg.TEXT_TRIM_LEFT,"lstrip"],[Ve.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(on),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(Ve.Msg.TEXT_STRIM),this.appendDummyInput("").appendField(new Ve.FieldDropdown(e),"TOWHAT"),this.appendDummyInput("").appendField(Ve.Msg.TEXT_BLANK),this.setOutput(!0,String),this.setInputsInline(!0);var t=this;this.setTooltip(function(){var e=t.getFieldValue("TOWHAT");return{strip:Ve.Msg.TEXT_TRIM_BOTH_TOOLTIP,lstrip:Ve.Msg.TEXT_TRIM_LEFT_TOOLTIP,rstrip:Ve.Msg.TEXT_TRIM_RIGHT_TOOLTIP}[e]})}},Mn={init:function(){this.setColour(on),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_MICROPYTHON_FORMAT),this.appendDummyInput("").appendField(new Ve.FieldTextInput("str"),"VAR"),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new Ve.icons.MutatorIcon(["text_create_with_item"],this)),this.setOutput(!0),this.setTooltip(Ve.Msg.MIXLY_MIXPY_TEXT_FORMAT_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("text_create_with_container");t.initSvg();for(var n=t.getInput("STACK").connection,i=0;it?e[t]:0==t?'"key"':'"key'+(t+1)+'"'),"KEY"+t).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Ve.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},Ai={init:function(){this.setColour(wi),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(Ve.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},Si={init:function(){this.setColour(wi),this.appendDummyInput().appendField(Ve.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},Ci={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Ve.Msg.DICT_KEYS),this.setTooltip(Ve.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},Oi={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Ve.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(Ve.Msg.DICTS_ADD_VALUE),this.setOutput(!0),this.setTooltip(Ve.Msg.DICTS_GET_TOOLTIP)}},Mi={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Ve.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(Ve.Msg.DICTS_ADD_VALUE),this.appendValueInput("VAR").appendField(Ve.Msg.DICTS_DEFAULT_VALUE),this.setOutput(!0),this.setTooltip(Ve.Msg.DICTS_GET_DEFAULT_TOOLTIP)}},ki={init:function(){this.setColour(wi),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(Ve.Msg.DICTS_ADD),this.appendDummyInput(),this.appendValueInput("VAR").appendField(Ve.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.DICTS_ADD_OR_CHANGE_TOOLTIP)}},Ri={init:function(){this.setColour(wi),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(Ve.Msg.DICTS_DELETE_IN),this.appendDummyInput("").appendField(Ve.Msg.DICTS_DELETE_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.DICTS_DELETE_TOOLTIP)}},Ni={init:function(){this.setColour(wi),this.appendValueInput("DICT2").setCheck("Dict").appendField(Ve.Msg.MAKE_DICT),this.appendValueInput("DICT").setCheck("Dict").appendField(Ve.Msg.DICT_UPDATE),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_MID),this.setTooltip(Ve.Msg.DICTS_UPDATE_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Di={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Ve.Msg.DICT_CLEAR),this.setTooltip(Ve.Msg.DICTS_CLEAR_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Fi={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Ve.Msg.DICT_ITEMS),this.setTooltip(Ve.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},Li={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Ve.Msg.DICT_VALUES),this.setTooltip(Ve.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},Pi={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_LENGTH),this.setTooltip(Ve.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},Bi={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Ve.Msg.DICT_DELDICT),this.setTooltip(Ve.Msg.DICTS_DEL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},$i={init:function(){this.MODE=[[Ve.Msg.DICTS_ADD_OR_CHANGE,"INSERT"],[Ve.Msg.MIXLY_MICROBIT_JS_DELETE_VAR,"DELETE"]],this.setHelpUrl(Ve.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("AT2"),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).appendField(Ve.Msg.DICTS_ADD_VALUE),this.updateAt_(!0),this.setInputsInline(!0),this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip(function(){var t="";switch(e.getFieldValue("WHERE")){case"INSERT":t=Ve.Msg.DICTS_ADD_TOOLTIP;break;case"DELETE":t=Ve.Msg.DICTS_DELETE_TOOLTIP}return t})},mutationToDom:function(){var e=document.createElement("mutation"),t=this.getInput("AT2").type==Ve.INPUT_VALUE;return e.setAttribute("at2",t),e},domToMutation:function(e){var t="true"==e.getAttribute("at2");this.updateAt_(t)},updateAt_:function(e){this.removeInput("AT2"),this.removeInput("ORDINAL",!0),e?this.appendValueInput("AT2").setCheck(Number):this.appendDummyInput("AT2");var t=new Ve.FieldDropdown(this.MODE,function(t){var n="INSERT"==t;if(n!=e){var i=this.sourceBlock_;return i.updateAt_(n),i.setFieldValue(t,"WHERE"),null}});this.getInput("AT2").appendField(t,"WHERE")}},Ui={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Ve.Msg.blockpy_DICT_POP),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(Ve.Msg.DICTS_ADD_VALUE),this.setTooltip(Ve.Msg.DICT_POP_TOOLTIP),this.setInputsInline(!0),this.setOutput(!0)}},Vi={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Ve.Msg.DICTS_SET_DEFAULT),this.appendDummyInput("").appendField(Ve.Msg.DICTS_DEFAULT_VALUE),this.appendValueInput("VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.DICTS_SETDEFAULT_TOOLTIP)}},zi={init:function(){this.setColour(wi),this.appendDummyInput("").appendField(new Ve.FieldLabel(Ve.Msg.MIXLY_MICROBIT_TYPE_DICT),"TIP").appendField(" "),this.itemCount_=3,this.updateShape_(),this.setOutput(!0,"Dict"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setMutator(new Ve.icons.MutatorIcon(["dicts_create_with_item"],this)),this.setTooltip(Ve.Msg.DICTS_CREATE_WITH_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("dicts_create_with_container");t.initSvg();for(var n=t.getInput("STACK").connection,i=0;it?e[t]:0==t?'"key"':'"key'+(t+1)+'"'),"KEY"+t).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Ve.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},ji={init:function(){this.setColour(wi),this.appendValueInput("VAR").appendField(Ve.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(Ve.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},Yi={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_TO_JSON),this.setTooltip(Ve.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},Gi={init:function(){this.setColour(wi),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_CONVERT_TO_JSON),this.setTooltip(Ve.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},Hi={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("VAR1").appendField("key1"),this.appendValueInput("VAR2").appendField("index"),this.appendValueInput("VAR3").appendField("key2"),this.appendValueInput("VAR4").appendField("key3"),this.setInputsInline(!0),this.setTooltip(Ve.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},Wi={init:function(){this.setColour(wi),this.appendValueInput("DICT"),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_TO_JSON),this.setTooltip(Ve.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},Xi=210,qi={init:function(){var e=Ve.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(Xi),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Ve.FieldDropdown(e),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip(function(){var e=t.getFieldValue("OP");return{EQ:Ve.Msg.LOGIC_COMPARE_TOOLTIP_EQ,NEQ:Ve.Msg.LOGIC_COMPARE_TOOLTIP_NEQ,LT:Ve.Msg.LOGIC_COMPARE_TOOLTIP_LT,LTE:Ve.Msg.LOGIC_COMPARE_TOOLTIP_LTE,GT:Ve.Msg.LOGIC_COMPARE_TOOLTIP_GT,GTE:Ve.Msg.LOGIC_COMPARE_TOOLTIP_GTE}[e]}),this.prevBlocks_=[null,null]}},Ki={init:function(){var e=Ve.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]],t=Ve.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(Xi),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Ve.FieldDropdown(e),"OP1"),this.appendValueInput("C").appendField(new Ve.FieldDropdown(t),"OP2"),this.setInputsInline(!0),this.setTooltip(Ve.Msg.MIXLY_PYTHON_LOGIC_COMPARE_CONTINOUS_TOOLTIP)}},Zi={init:function(){var e=[[Ve.Msg.LOGIC_OPERATION_AND,"AND"],[Ve.Msg.LOGIC_OPERATION_OR,"OR"],[Ve.Msg.LOGIC_OPERATION_NOR,"NOR"],[Ve.Msg.LOGIC_OPERATION_XOR,"XOR"]];this.setColour(Xi),this.setOutput(!0,Boolean),this.appendValueInput("A").setCheck([Boolean,Number]),this.appendValueInput("B").setCheck([Boolean,Number]).appendField(new Ve.FieldDropdown(e),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip(function(){var e=t.getFieldValue("OP");return{AND:Ve.Msg.LOGIC_OPERATION_TOOLTIP_AND,OR:Ve.Msg.LOGIC_OPERATION_TOOLTIP_OR,NOR:Ve.Msg.LOGIC_OPERATION_TOOLTIP_NOR,XOR:Ve.Msg.LOGIC_OPERATION_TOOLTIP_XOR}[e]})}},Qi={init:function(){this.setColour(Xi),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(Ve.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(Ve.Msg.LOGIC_NEGATE_TOOLTIP)}},Ji={init:function(){var e=[[Ve.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[Ve.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(Xi),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new Ve.FieldDropdown(e),"BOOL"),this.setTooltip(Ve.Msg.LOGIC_BOOLEAN_TOOLTIP)}},er={init:function(){this.setColour(Xi),this.setOutput(!0),this.appendDummyInput().appendField(Ve.Msg.LOGIC_NULL),this.setTooltip(Ve.Msg.LOGIC_NULL_TOOLTIP)}},tr={init:function(){this.setColour(Xi),this.appendValueInput("A"),this.appendValueInput("B").appendField(Ve.Msg.LOGIC_TERNARY_IF_TRUE),this.appendValueInput("C").appendField(Ve.Msg.LOGIC_TERNARY_IF_FALSE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Ve.Msg.MIXLY_TOOLTIP_LOGIT_TRUEORFALSE)}},nr={init:function(){var e=[[Ve.Msg.TEXT_APPEND_TO,"in"],[Ve.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(Xi),this.appendValueInput("A"),this.appendValueInput("B").setCheck([String,"List"]).appendField(new Ve.FieldDropdown(e),"BOOL"),this.appendDummyInput("").appendField(Ve.Msg.MICROBIT_LOGIC_IS_IN),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Ve.Msg.IN)}},ir={init:function(){var e=[[Ve.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[Ve.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(Xi),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Ve.FieldDropdown(e),"BOOL"),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Ve.Msg.MIXLY_PYTHON_LOGIC_IS_TOOLTIP)}},rr={init:function(){this.setColour(Xi),this.appendValueInput("VAR").appendField(Ve.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(Ve.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},sr={init:function(){this.setColour(0),this.appendValueInput("fn").setCheck(String).appendField(Ve.Msg.MIXLY_PYTHON_STORAGE_OPEN_FILE_WITH_OS+"(For Windows)"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},or={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Ve.FieldDropdown([[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"],[Ve.Msg.MIXLY_ADD,"a"],[Ve.Msg.MATH_BIN+Ve.Msg.MIXLY_ADD,"ab"],[Ve.Msg.MIXLY_R_W,"r+"],[Ve.Msg.MATH_BIN+Ve.Msg.MIXLY_R_W,"rb+"],[Ve.Msg.MIXLY_W_R,"w+"],[Ve.Msg.MATH_BIN+Ve.Msg.MIXLY_W_R,"wb+"],[Ve.Msg.MIXLY_A_R,"a+"],[Ve.Msg.MATH_BIN+Ve.Msg.MIXLY_A_R,"ab+"]]),"MODE"),this.appendValueInput("FILE").appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_AS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var e=this;this.setTooltip(function(){var t=e.getFieldValue("MODE"),n=Ve.Msg.MIXLY_USE,i=Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,r=Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,s=Ve.Msg.MIXLY_BELONG;return n+{r:Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[t]+s+i+r})},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Ve.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},ar={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Ve.FieldDropdown([[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var e=this;this.setTooltip(function(){var t=e.getFieldValue("MODE"),n=Ve.Msg.MIXLY_USE,i=Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,r=Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,s=Ve.Msg.MIXLY_BELONG,o=Ve.Msg.PY_STORAGE_FILE_OBJECT;return n+{r:Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[t]+s+i+r+o})}},lr={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE);this.appendDummyInput().appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Ve.FieldDropdown([[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendDummyInput().appendField(Ve.Msg.MIXPY_TEXT_ENCODE).appendField(new Ve.FieldDropdown([["ANSI","ANSI"],["gbk","gbk"],["utf-8","utf-8"]]),"CODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var e=this;this.setTooltip(function(){var t=e.getFieldValue("MODE"),n=Ve.Msg.MIXLY_USE,i=Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,r=Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,s=Ve.Msg.MIXLY_BELONG,o=Ve.Msg.PY_STORAGE_FILE_OBJECT;return n+{r:Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[t]+s+i+r+o})}},ur={init:function(){this.setColour(0),this.appendValueInput("data").setCheck(String).appendField(Ve.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendValueInput("FILE").appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ve.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+Ve.Msg.MIXLY_MICROBIT_TYPE_STRING+Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE)}},cr={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new Ve.FieldDropdown([[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"read"],[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE,"readline"],[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES,"readlines"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String)}},dr={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new Ve.FieldDropdown([[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,"read"],[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,"readline"],[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE,"readlines"]]),"MODE"),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String);var e=this;this.setTooltip(function(){var t=e.getFieldValue("MODE"),n=Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE,i=Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER;return n+{read:Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,readline:Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,readlines:Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE}[t]+"x"+i})}},hr={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.setNextStatement(!0),this.appendValueInput("SIZE").setCheck(Number).appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(Ve.Msg.MICROBIT_PYTHON_TYPE)}},pr={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Ve.Msg.HTML_FILE),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean),this.setTooltip(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT1)}},fr={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_FILENAME),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILENAME)}},mr={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE)}},gr={init:function(){this.setColour(0),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES)}};Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE;const _r={init:function(){this.setColour(0),this.appendDummyInput().appendField(new Ve.FieldDropdown([[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE,"remove"],[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_DIRS,"removedirs"]]),"MODE"),this.appendValueInput("FILE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE)}},yr={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE+Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE)}},vr={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_RETURN_FILE),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_PRESENT_LOCATION),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_TELL)}},br={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION),this.appendDummyInput().appendField(new Ve.FieldDropdown([[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,"start"],[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,"current"],[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END,"end"]]),"MODE"),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip(function(){var t=e.getFieldValue("MODE"),n=Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION+Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION,i=Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER,r=Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET;return n+" "+{start:Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,current:Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,end:Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END}[t]+r+"x"+i})}},Tr={init:function(){this.setColour(0),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR)}},xr={init:function(){this.setColour(0),this.appendValueInput("PATH").setCheck(String).appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH),this.appendDummyInput().appendField(Ve.Msg.MIXLY_ESP32_SET),this.appendDummyInput().appendField(new Ve.FieldDropdown([[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,"mkdir"],[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_MAKEDIRS,"makedirs"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1);var e=this;this.setTooltip(function(){var t=e.getFieldValue("MODE");return Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH+"x"+Ve.Msg.MIXLY_ESP32_SET+{mkdir:Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,makedirs:Ve.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[t]})}},Er={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME),this.appendValueInput("NEWFILE").setCheck(String).appendField(Ve.Msg.MIXLY_AS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME)}},wr={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR)}},Ir={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT),this.appendDummyInput().appendField(new Ve.FieldDropdown([[Ve.Msg.HTML_FILE,"isfile"],[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_DIR,"isdir"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean);let e=this;this.setTooltip(function(){var t=e.getFieldValue("MODE");return Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH+"x"+Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT+{isfile:Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,isdir:Ve.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[t]})}},Ar={init:function(){this.setColour(0),this.appendValueInput("SPISUB").appendField(Ve.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(Ve.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_SETUP+Ve.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(Ve.Msg.MIXLY_SD_CARD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Sr={init:function(){this.setColour(0),this.appendValueInput("VAR").appendField(Ve.Msg.MIXLY_SD_CARD),this.appendValueInput("DIR").setCheck(String).appendField(Ve.Msg.MIXLY_SDCARD_MOUNT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip()}},Cr={init:function(){var e=Ve.Procedures.findLegalName("",this),t=new Ve.FieldTextInput(e,Ve.Procedures.rename);t.setSpellcheck(!1),this.appendDummyInput().appendField(t,"NAME").appendField("","PARAMS"),this.setMutator(new Ve.icons.MutatorIcon(["procedures_mutatorarg"],this)),(this.workspace.options.comments||this.workspace.options.parentWorkspace&&this.workspace.options.parentWorkspace.options.comments)&&Ve.Msg.PROCEDURES_DEFNORETURN_COMMENT&&this.setCommentText(Ve.Msg.PROCEDURES_DEFNORETURN_COMMENT),this.setStyle("procedure_blocks"),this.setTooltip(Ve.Msg.PROCEDURES_DEFNORETURN_TOOLTIP),this.setHelpUrl(Ve.Msg.PROCEDURES_DEFNORETURN_HELPURL),this.arguments_=[],this.argumentVarModels_=[],this.setStatements_(!0),this.statementConnection_=null},setStatements_:function(e){this.hasStatements_!==e&&(e?(this.appendStatementInput("STACK").appendField(Ve.Msg.PROCEDURES_DEFNORETURN_DO),this.getInput("RETURN")&&this.moveInputBefore("STACK","RETURN")):this.removeInput("STACK",!0),this.hasStatements_=e)},updateParams_:function(){var e="";this.arguments_.length&&(e=Ve.Msg.PROCEDURES_BEFORE_PARAMS+" "+this.arguments_.join(", ")),Ve.Events.disable();try{this.setFieldValue(e,"PARAMS")}finally{Ve.Events.enable()}},mutationToDom:function(e){var t=Ve.utils.xml.createElement("mutation");e&&t.setAttribute("name",this.getFieldValue("NAME"));for(var n=0;n"),this.appendValueInput("style").appendField(Ve.Msg.MIXLY_AIP_ATTR).setAlign(Ve.inputs.Align.RIGHT),this.appendStatementInput("DO").appendField(""),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Es={init:function(){this.setColour(_s),this.appendDummyInput().appendField(Ve.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},ws={init:function(){this.setColour(_s),this.appendDummyInput().appendField(Ve.Msg.HTML_FORM_CONTENT).appendField(new Ve.FieldDropdown([[Ve.Msg.HTML_TEXT,"text"],[Ve.Msg.HTML_EMAIL,"email"],[Ve.Msg.HTML_NUMBER,"number"],[Ve.Msg.HTML_PASSWORD,"password"],[Ve.Msg.HTML_CHECKBOX,"checkbox"],[Ve.Msg.HTML_RADIOBUTTON,"radiobutton"],[Ve.Msg.HTML_BUTTON,"button"],[Ve.Msg.HTML_COLOUR,"colour"],[Ve.Msg.HTML_DATE,"date"],[Ve.Msg.HTML_LOCALTIME,"local time"],[Ve.Msg.HTML_FILE,"file"],[Ve.Msg.HTML_HIDDEN,"hidden"],[Ve.Msg.HTML_IMAGE,"image"],[Ve.Msg.HTML_MONTH,"month"],[Ve.Msg.HTML_RANGE,"range"],[Ve.Msg.HTML_RESET,"reset"],[Ve.Msg.HTML_SEARCH,"search"],[Ve.Msg.HTML_SUBMIT,"submit"],[Ve.Msg.HTML_TELEPHONENUMBER,"telephone number"],[Ve.Msg.HTML_TIME,"time"],[Ve.Msg.HTML_URL,"url"],[Ve.Msg.HTML_WEEK,"week"]]),"LEVEL"),this.appendDummyInput().appendField(Ve.Msg.HTML_NAME).appendField(new Ve.FieldTextInput("car"),"NAME"),this.appendDummyInput().appendField(Ve.Msg.HTML_VALUE).appendField(new Ve.FieldTextInput("go"),"VALUE"),this.appendValueInput("style").appendField(Ve.Msg.MIXLY_AIP_ATTR).setAlign(Ve.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Is={init:function(){this.setColour(_s),this.appendDummyInput().appendField(new Ve.FieldTextInput("property"),"KEY").appendField(":").appendField(new Ve.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},As={init:function(){this.setColour(_s),this.appendDummyInput().appendField(new Ve.FieldTextInput("property"),"KEY").appendField(":").appendField(new Ve.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ss={init:function(){this.setColour(_s),this.appendDummyInput().appendField(Ve.Msg.HTML_TEXT).appendField(new Ve.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Cs=160,Os={init:function(){this.setColour(Cs),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new Ve.FieldTable(""),"TEXT")}},Ms={init:function(){this.setColour(Cs),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new Ve.FieldMultilineInput(""),"TEXT")}},ks={init:function(){this.setColour(Cs),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new Ve.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},Rs={init:function(){this.setColour(Cs),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},Ns={init:function(){this.setColour(Cs),this.appendDummyInput().appendTitle("Comment:").appendTitle(new Ve.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},Ds={init:function(){this.setColour(Cs),this.appendValueInput("VALUE").appendField(Ve.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},Fs={init:function(){this.setColour(Cs),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Ve.icons.MutatorIcon(["text_print_multiple_item"],this)),this.setTooltip(Ve.Msg.TEXT_PRINT_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=Ve.Block.obtain(e,"text_print_multiple_container");t.initSvg();for(var n=t.getInput("STACK").connection,i=0;i= stop:"," yield start"," start -= abs(step)"])};if(e=function(e,t,n){return"("+e+" <= "+t+") and "+l()+"("+e+", "+t+", "+n+") or "+u()+"("+e+", "+t+", "+n+")"},Ve.isNumber(i)&&Ve.isNumber(r)&&Ve.isNumber(s))i=parseFloat(i),r=parseFloat(r),s=Math.abs(parseFloat(s)),0==i%1&&0==r%1&&0==s%1?(i<=r?(r++,e=0==i&&1==s?r:i+", "+r,1!=s&&(e+=", "+s)):e=i+", "+--r+", -"+s,e="range("+e+")"):(e=i",GTE:">="};const kl=function(e,t){var n=this.getFieldValue("OP"),i="&&"==n?t.ORDER_LOGICAL_AND:t.ORDER_LOGICAL_OR,r=t.valueToCode(this,"A",i)||"False",s=t.valueToCode(this,"B",i)||"False";if("AND"==n)var o=r+" and "+s;else if("OR"==n)o=r+" or "+s;else if("NOR"==n)o="not("+r+"^"+s+")";else o=r+"^"+s;return[o,i]},Rl=function(e,t){var n=t.ORDER_UNARY_PREFIX;return["not "+(t.valueToCode(this,"BOOL",n)||"False"),n]},Nl=function(e,t){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",t.ORDER_ATOMIC]},Dl=function(e,t){return["None",t.ORDER_ATOMIC]},Fl=function(e,t){var n=t.valueToCode(this,"A",t.ORDER_ATOMIC)||"False";return["("+(t.valueToCode(this,"B",t.ORDER_ATOMIC)||"False")+" if "+n+" else "+(t.valueToCode(this,"C",t.ORDER_ATOMIC)||"False")+")",t.ORDER_ATOMIC]},Ll=function(e,t){var n=t.valueToCode(this,"A",t.ORDER_ATOMIC)||"''",i=t.valueToCode(this,"B",t.ORDER_ATOMIC)||"''";return[n+" "+this.getFieldValue("BOOL")+" "+i,t.ORDER_ATOMIC]},Pl=function(e,t){var n=t.valueToCode(this,"A",t.ORDER_ATOMIC)||"''",i=t.valueToCode(this,"B",t.ORDER_ATOMIC)||"''";return[n+" "+this.getFieldValue("BOOL")+" "+i,t.ORDER_ATOMIC]},Bl=function(e,t){return["bool("+(t.valueToCode(this,"VAR",t.ORDER_ATOMIC)||"0")+")",t.ORDER_ATOMIC]},$l=function(e,t){return t.definitions_.import_os="import os","os.startfile("+t.valueToCode(this,"fn",t.ORDER_ATOMIC)+")\n"},Ul=function(e,t){return t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+" = open("+t.valueToCode(this,"FILENAME",t.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},Vl=function(e,t){return["open("+t.valueToCode(this,"FILENAME",t.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",t.ORDER_ATOMIC]},zl=function(e,t){return["open("+t.valueToCode(this,"FILENAME",t.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',t.ORDER_ATOMIC]},jl=function(e,t){var n=t.valueToCode(this,"data",t.ORDER_ATOMIC);return t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".write("+n+")\n"},Yl=function(e,t){var n=this.getFieldValue("MODE");return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+"."+n+"()",t.ORDER_ATOMIC]},Gl=function(e,t){var n=this.getFieldValue("MODE");return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+"."+n+"("+t.valueToCode(this,"SIZE",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Hl=function(e,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".readline("+t.valueToCode(this,"SIZE",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Wl=function(e,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".writable()",t.ORDER_ATOMIC]},Xl=function(e,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".name()",t.ORDER_ATOMIC]},ql=function(e,t){return t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".close()\n"},Kl=function(e,t){t.definitions_.import_os="import os";return["os.listdir()",t.ORDER_ATOMIC]},Zl=function(e,t){return t.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+")\n"},Ql=function(e,t){return t.definitions_.import_os="import os",["os.path.getsize("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Jl=function(e,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".tell()",t.ORDER_ATOMIC]},eu=function(e,t){var n=this.getFieldValue("MODE"),i=0;return i="start"==n?0:"current"==n?1:2,t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".seek("+t.valueToCode(this,"SIZE",t.ORDER_ATOMIC)+","+i+")\n"},tu=function(e,t){return t.definitions_.import_os="import os","os.chdir("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+")\n"},nu=function(e,t){t.definitions_.import_os="import os";return["os.getcwd()",t.ORDER_ATOMIC]},iu=function(e,t){return t.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+t.valueToCode(this,"PATH",t.ORDER_ATOMIC)+")\n"},ru=function(e,t){return t.definitions_.import_os="import os","os.rename("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+","+t.valueToCode(this,"NEWFILE",t.ORDER_ATOMIC)+")\n"},su=function(e,t){t.definitions_.import_os="import os";var n=t.valueToCode(this,"FILE",t.ORDER_ATOMIC);return["os."+this.getFieldValue("MODE")+"("+n+")",t.ORDER_ATOMIC]},ou=function(e,t){return t.definitions_.import_os="import os",t.definitions_.import_sdcard="import sdcard",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+" = sdcard.SDCard("+t.valueToCode(this,"SPISUB",t.ORDER_ATOMIC)+","+t.valueToCode(this,"PINSUB",t.ORDER_ATOMIC)+")\n"},au=function(e,t){return t.definitions_.import_os="import os",t.definitions_.import_sdcard="import sdcard","os.mount("+t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+","+t.valueToCode(this,"DIR",t.ORDER_ATOMIC)+")\n"},lu=function(e,t){var n=t.variableDB_.getName(this.getFieldValue("NAME"),Ve.Procedures.NAME_TYPE),i=(this.getInput("STACK")&&t.statementToCode(this,"STACK"))??" pass\n";t.INFINITE_LOOP_TRAP&&(i=t.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+i);var r=t.valueToCode(this,"RETURN",t.ORDER_NONE)||"";r&&(r=" return "+r+"\n");for(var s=[],o=0;o\n\n\n\t\n"+t.statementToCode(this,"HEAD")+"\n\n"+t.statementToCode(this,"BODY")+"\n\n'''",t.ORDER_ATOMIC]},Yu=function(e,t){var n=t.statementToCode(this,"DO"),i=this.getFieldValue("LEVEL");return"\n"+n+"\n"},Gu=function(e,t){var n=t.statementToCode(this,"DO"),i=this.getFieldValue("LEVEL");if("head"==i)var r="<"+i+'>\n\t\n'+n+"\n";else r="<"+i+">\n"+n+"\n";return r},Hu=function(e,t){var n=t.statementToCode(this,"DO"),i=this.getFieldValue("LEVEL");return"<"+i+">\n"+n+"\n"},Wu=function(e,t){var n=t.statementToCode(this,"DO"),i=t.valueToCode(this,"style"),r=this.getFieldValue("LEVEL");return"<"+r+" "+i+" >\n"+n+"\n"},Xu=function(e,t){return['style="'+t.statementToCode(this,"STYLE")+'"',t.ORDER_ATOMIC]},qu=function(e,t){return'"},Ku=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},Zu=function(){return this.getFieldValue("TEXT")+"\n"},Qu=function(e){return e.getFieldValue("TEXT")+"\n"},Ju=function(e,t){return[e.getFieldValue("TEXT"),t.ORDER_ATOMIC]},ec=function(e,t){return(t.valueToCode(e,"VALUE",t.ORDER_ATOMIC)||"")+"\n"},tc=function(){return""},nc=function(e,t){return["type("+(t.valueToCode(e,"VALUE",t.ORDER_MEMBER)||"___")+")",t.ORDER_ATOMIC]},ic=function(e,t){for(var n=e.getFieldValue("NAME"),i=e.hasReturn_,r=new Array(e.itemCount_),s=0;s0?t.join("\n")+n.join("\n")+i.join("\n")+o.join("\n")+a.join("")+e+"while True:\n"+l.join("")+u.join("\n"):t.join("\n")+n.join("\n")+i.join("\n")+o.join("\n")+a.join("")+e+u.join("\n")},ac.scrubNakedValue=function(e){return e+"\n"},ac.quote_=function(e){var t="'";return-1!==e.indexOf("'")&&(-1===e.indexOf('"')?t='"':e=e.replace(/'/g,"\\'")),t+e+t},ac.multiline_quote_=function(e){return"'''"+(e=e.replace(/'''/g,"\\'\\'\\'"))+"'''"},ac.scrub_=function(e,t,n){var i="";if(!e.outputConnection||!e.outputConnection.targetConnection){(s=e.getCommentText())&&(s=Ve.utils.string.wrap(s,ac.COMMENT_WRAP-3),i+=ac.prefixLines(s+"\n","# "));for(var r=0;r0?"int("+a+" + "+r+")":r<0?"int("+a+" - "+-r+")":"int("+a+")",i&&(a="-"+a)),a};const lc=205,uc={init:function(){this.setColour(lc),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_CHOOSE_AND_GET).appendField(new Ve.FieldDropdown([[Ve.Msg.MIXLY_CHOOSE_AND_GET_ONE_FILE_NAME,"getOneFile"],[Ve.Msg.MIXLY_CHOOSE_AND_GET_MANY_FILE_NAMES,"getManyFiles"],[Ve.Msg.MIXLY_CHOOSE_AND_GET_DIR,"getDirectory"]]),"TYPE"),this.setInputsInline(!0),this.setOutput(!0)}},cc={init:function(){this.setColour(lc),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_SETUP).appendField(new Ve.FieldDropdown([[Ve.Msg.MIXLY_AipImageClassify,"AipImageClassify"],[Ve.Msg.MIXLY_AipSpeech,"AipSpeech"],[Ve.Msg.MIXLY_AipImageCensor,"AipImageCensor"],[Ve.Msg.MIXLY_AipFace,"AipFace"],[Ve.Msg.MIXLY_AipOcr,"AipOcr"],[Ve.Msg.MIXLY_AipNlp,"AipNlp"]]),"CTYPE"),this.appendValueInput("SUB").appendField(Ve.Msg.MIXLY_Client).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("API_KEY").appendField("API_KEY").setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("SECRET_KEY").appendField("SECRET_KEY").setAlign(Ve.inputs.Align.RIGHT),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},dc={init:function(){this.setColour(lc),this.appendValueInput("SUB").appendField(Ve.Msg.MIXLY_AipSpeech_synthesis).appendField(Ve.Msg.MIXLY_Client).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("STR").appendField(Ve.Msg.OLED_STRING).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("ATTR").appendField(Ve.Msg.MIXLY_AIP_ATTR).setAlign(Ve.inputs.Align.RIGHT),this.setTooltip(Ve.Msg.MIXLY_AipSpeech_synthesis_TOOLTIP),this.setInputsInline(!1),this.setOutput(!0)}},hc={init:function(){this.setColour(lc),this.appendValueInput("SUB").appendField(Ve.Msg.MIXLY_AipSpeech_asr).appendField(Ve.Msg.MIXLY_Client).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("FILE").appendField(Ve.Msg.MIXLY_AipSpeech_File).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("ATTR").appendField(Ve.Msg.MIXLY_AIP_ATTR).setAlign(Ve.inputs.Align.RIGHT),this.setTooltip(Ve.Msg.MIXLY_AipSpeech_ASR_TOOLTIP),this.setInputsInline(!1),this.setOutput(!0)}},pc={init:function(){this.setColour(lc),this.appendValueInput("SUB").appendField(Ve.Msg.MIXLY_AipImageClassify).appendField(Ve.Msg.MIXLY_Client).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("FUNC").appendField(Ve.Msg.MIXLY_AIP_FUNC).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("ADDR").appendField(Ve.Msg.MIXLY_AipImageClassify_Image).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("ATTR").appendField(Ve.Msg.MIXLY_AIP_ATTR).setAlign(Ve.inputs.Align.RIGHT),this.setTooltip(Ve.Msg.MIXLY_AipImageClassify_advancedGeneral_TOOLTIP),this.setInputsInline(!1),this.setOutput(!0)}},fc={init:function(){this.setColour(lc),this.appendDummyInput("").appendField(new Ve.FieldDropdown([[Ve.Msg.MIXLY_AipImageClassify_advancedGeneral,"advancedGeneral"],[Ve.Msg.MIXLY_AipImageClassify_dishDetect,"dishDetect"],[Ve.Msg.MIXLY_AipImageClassify_carDetect,"carDetect"],[Ve.Msg.MIXLY_AipImageClassify_animalDetect,"animalDetect"],[Ve.Msg.MIXLY_AipImageClassify_plantDetect,"plantDetect"],[Ve.Msg.MIXLY_AipImageClassify_logoSearch,"logoSearch"]]),"TYPE"),this.setOutput(!0)}},mc={init:function(){this.setColour(lc),this.appendValueInput("SUB").appendField(Ve.Msg.MIXLY_AipFace_match).appendField(Ve.Msg.MIXLY_Client).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("VAR").appendField(Ve.Msg.MIXLY_AipImageClassify_Image+"1"+Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(Ve.Msg.MIXLY_AipImageClassify_Image+"2"+Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("ATTR").appendField(Ve.Msg.MIXLY_AIP_ATTR).setAlign(Ve.inputs.Align.RIGHT),this.setTooltip(Ve.Msg.MIXLY_AipFace_match_TOOLTIP),this.setInputsInline(!1),this.setOutput(!0)}},gc={init:function(){this.setColour(lc),this.appendValueInput("SUB").appendField(Ve.Msg.MIXLY_AipOcr).appendField(Ve.Msg.MIXLY_Client).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("FUNC").appendField(Ve.Msg.MIXLY_AIP_FUNC).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("ADDR").appendField(Ve.Msg.MIXLY_AipImageClassify_Image).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("ATTR").appendField(Ve.Msg.MIXLY_AIP_ATTR).setAlign(Ve.inputs.Align.RIGHT),this.setTooltip(Ve.Msg.MIXLY_AipOcr_TOOLTIP),this.setInputsInline(!1),this.setOutput(!0)}},_c={init:function(){this.setColour(lc),this.appendDummyInput("").appendField(new Ve.FieldDropdown([[Ve.Msg.MIXLY_AipOcr_basicGeneral,"basicGeneral"],[Ve.Msg.MIXLY_AipOcr_webImage,"webImage"],[Ve.Msg.MIXLY_AipOcr_idcard,"idcard"],[Ve.Msg.MIXLY_AipOcr_bankcard,"bankcard"],[Ve.Msg.MIXLY_AipOcr_drivingLicense,"drivingLicense"],[Ve.Msg.MIXLY_AipOcr_vehicleLicense,"vehicleLicense"],[Ve.Msg.MIXLY_AipOcr_licensePlate,"licensePlate"],[Ve.Msg.MIXLY_AipOcr_businessLicense,"businessLicense"],[Ve.Msg.MIXLY_AipOcr_receipt,"receipt"],[Ve.Msg.MIXLY_AipOcr_trainTicket,"trainTicket"],[Ve.Msg.MIXLY_AipOcr_taxiReceipt,"taxiReceipt"],[Ve.Msg.MIXLY_AipOcr_form,"tableRecognition"],[Ve.Msg.MIXLY_AipOcr_vatInvoice,"vatInvoice"],[Ve.Msg.MIXLY_AipOcr_passport,"passport"],[Ve.Msg.MIXLY_AipOcr_handwriting,"handwriting"]]),"TYPE"),this.setOutput(!0)}},yc={init:function(){this.setColour(lc),this.appendValueInput("SUB").appendField(Ve.Msg.MIXLY_AipNlp).appendField(Ve.Msg.MIXLY_Client).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("FUNC").appendField(Ve.Msg.MIXLY_AIP_FUNC).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("STR").appendField(Ve.Msg.OLED_STRING).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("ATTR").appendField(Ve.Msg.MIXLY_AIP_ATTR).setAlign(Ve.inputs.Align.RIGHT),this.setTooltip(Ve.Msg.MIXLY_AipNlp_TOOLTIP),this.setInputsInline(!1),this.setOutput(!0)}},vc={init:function(){this.setColour(lc),this.appendValueInput("SUB").appendField(Ve.Msg.MIXLY_AipNlp_Sim).appendField(Ve.Msg.MIXLY_Client).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("FUNC").appendField(Ve.Msg.MIXLY_AIP_FUNC).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("STR1").appendField(Ve.Msg.OLED_STRING+"1").setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("STR2").appendField(Ve.Msg.OLED_STRING+"2").setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("ATTR").appendField(Ve.Msg.MIXLY_AIP_ATTR).setAlign(Ve.inputs.Align.RIGHT),this.setTooltip(Ve.Msg.MIXLY_AipNlp_Sim_TOOLTIP),this.setInputsInline(!1),this.setOutput(!0)}},bc={init:function(){this.setColour(lc),this.appendDummyInput("").appendField(new Ve.FieldDropdown([[Ve.Msg.MIXLY_AipNlp_lexer,"lexer"],[Ve.Msg.MIXLY_AipNlp_depParser,"depParser"],[Ve.Msg.MIXLY_AipNlp_wordEmbedding,"wordEmbedding"],[Ve.Msg.MIXLY_AipNlp_dnnlm,"dnnlm"],[Ve.Msg.MIXLY_AipNlp_commentTag,"commentTag"],[Ve.Msg.MIXLY_AipNlp_sentimentClassify,"sentimentClassify"],[Ve.Msg.MIXLY_AipNlp_keyword,"keyword"],[Ve.Msg.MIXLY_AipNlp_topic,"topic"],[Ve.Msg.MIXLY_AipNlp_ecnet,"ecnet"],[Ve.Msg.MIXLY_AipNlp_emotion,"emotion"]]),"TYPE"),this.setOutput(!0)}},Tc={init:function(){this.setColour(lc),this.appendDummyInput("").appendField(new Ve.FieldDropdown([[Ve.Msg.MIXLY_AipNlp_wordSimEmbedding,"wordSimEmbedding"],[Ve.Msg.MIXLY_AipNlp_simnet,"simnet"]]),"TYPE"),this.setOutput(!0)}},xc={init:function(){this.setColour(lc),this.appendValueInput("SUB").appendField(Ve.Msg.MIXLY_AipNlp_topic).appendField(Ve.Msg.MIXLY_Client).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("STR1").appendField(Ve.Msg.MIXLY_AipNlp_Topic_Title).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("STR2").appendField(Ve.Msg.MIXLY_AipNlp_Topic_Content).setAlign(Ve.inputs.Align.RIGHT),this.setTooltip(Ve.Msg.MIXLY_AipNlp_Topic_TOOLTIP),this.setInputsInline(!1),this.setOutput(!0)}},Ec={init:function(){this.setColour(lc),this.appendValueInput("SUB").appendField(Ve.Msg.MIXLY_AipNlp_summary).appendField(Ve.Msg.MIXLY_Client).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("STR").appendField(Ve.Msg.MIXLY_AipNlp_Topic_Content).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("LEN").appendField(Ve.Msg.MIXLY_LIST_LEN).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("ATTR").appendField(Ve.Msg.MIXLY_AIP_ATTR).setAlign(Ve.inputs.Align.RIGHT),this.setTooltip(Ve.Msg.MIXLY_AipNlp_Summary_TOOLTIP),this.setInputsInline(!1),this.setOutput(!0)}},wc={init:function(){this.setColour(lc),this.appendValueInput("VAR").appendField(Ve.Msg.MIXPY_AI_AUDIO),this.appendValueInput("TIME").appendField(Ve.Msg.MIXPY_AI_AUDIO_TIME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ve.Msg.MIXPY_AI_AUDIO_TOOLTIP)}},Ic={init:function(){this.setColour(lc),this.appendValueInput("VAR").appendField(Ve.Msg.MIXPY_AI_PHOTO),this.appendValueInput("BUT").appendField(Ve.Msg.MIXPY_AI_PHOTO_BUTTON),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ve.Msg.MIXPY_AI_PHOTO_TOOLTIP)}},Ac={init:function(){this.setColour(lc),this.appendValueInput("AI").appendField(Ve.Msg.MIXPY_AI_RESULT).appendField(new Ve.FieldDropdown([[Ve.Msg.MIXLY_AipImageClassify,"Image"],[Ve.Msg.MIXLY_AipSpeech_asr,"Speech"],[Ve.Msg.MIXLY_AipFace_match,"Face"],[Ve.Msg.MIXLY_AipOcr,"Ocr"],[Ve.Msg.MIXLY_AipNlp_simnet,"OcrSimilarity"],[Ve.Msg.MIXLY_AipNlp_sentimentClassify,"Emotion"]]),"CTYPE"),this.setOutput(!0),this.setTooltip(Ve.Msg.LOGIC_NEGATE_TOOLTIP)}},Sc="#526FC3",Cc={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_PREPARE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Oc={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_ADD_SCHOOL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Mc={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_FIND_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},kc={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_NEW_PATH),this.setOutput(!0)}},Rc={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_SET_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Nc={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_ADD_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Dc={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_DEL_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Fc={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_RETURN_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Lc={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_NO_LEFT),this.setOutput(!0)}},Pc={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_PRINT_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Bc={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_PREPARE2),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},$c={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_CURRENT_SCHOOL),this.setOutput(!0)}},Uc={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_NO_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Vc={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_PREPARE_2_1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},zc={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_PREPARE_2_2),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},jc={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_MOVE_RECENT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Yc={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_NOT_HOME),this.setOutput(!0)}},Gc={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_NOT_SCHOOL),this.setOutput(!0)}},Hc={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_PRINT_PATH2),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Wc={init:function(){this.appendDummyInput().appendField("准备").appendField(new Ve.FieldNumber(3,0,100,1),"NUM").appendField("层汉诺塔"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Sc),this.setTooltip(""),this.setHelpUrl("")}},Xc={init:function(){this.appendDummyInput().appendField("移动圆盘从"),this.appendValueInput("FROM_NUM").setCheck(null).appendField("柱"),this.appendDummyInput().appendField("到"),this.appendValueInput("TO_NUM").setCheck(null).appendField("柱"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Sc),this.setTooltip(""),this.setHelpUrl("")}},qc={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_ALL_BOOKS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Kc={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_ALL_BOOKS2),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Zc={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_FIRST_BOOK),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Qc={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_NO_RING),this.setOutput(!0)}},Jc={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_YES_RING),this.setOutput(!0)}},ed={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_NEXT_BOOK),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},td={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_TWO_LEFT),this.setOutput(!0)}},nd={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_DIVIDE_BOOKS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},id={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_GET_HALF_BOOKS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},rd={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_DELETE_BOOK),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},sd={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_DELETE_BOOKS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},od={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_DELETE_BOOKS2),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},ad={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_PRINT_BOOK),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},ld={init:function(){this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("设置待查书总数 N=").appendField(new Ve.FieldDropdown([["5","5"],["10","10"],["20","20"],["50","50"]]),"NUM"),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Sc),this.setTooltip(""),this.setHelpUrl("")}},ud={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_NUMBER_ZERO),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},cd={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_NUMBER_ADD),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},dd={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_PRINT_NUMBER),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},hd={init:function(){this.setColour(Sc),this.appendDummyInput().appendField("n"+Ve.Msg.MIXLY_VALUE2).appendField(new Ve.FieldTextInput("50"),"NUM"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},pd={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_PRINT_SEQUENCE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},fd={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_PRINT_DIVIDE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},md={init:function(){this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("初始化鸡兔同笼问题:"),this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("有若干只鸡、兔在同一个笼子里。"),this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("从上面数鸡兔有10个头,"),this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("从下面数鸡兔有32只脚。"),this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("问笼中有多少只鸡和多少只兔?"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Sc),this.setTooltip(""),this.setHelpUrl("")}},gd={init:function(){this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("假设兔子的数量为0只"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Sc),this.setTooltip(""),this.setHelpUrl("")}},_d={init:function(){this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("兔子的数量在范围之内"),this.setOutput(!0,null),this.setColour(Sc),this.setTooltip(""),this.setHelpUrl("")}},yd={init:function(){this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("根据(头数-兔子数)计算出鸡的数量"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Sc),this.setTooltip(""),this.setHelpUrl("")}},vd={init:function(){this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("计算得到脚的数量正确"),this.setOutput(!0,null),this.setColour(Sc),this.setTooltip(""),this.setHelpUrl("")}},bd={init:function(){this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("输出鸡、兔的数量"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Sc),this.setTooltip(""),this.setHelpUrl("")}},Td={init:function(){this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("假设兔子数量要更多一只"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Sc),this.setTooltip(""),this.setHelpUrl("")}},xd={init:function(){this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("加载路线图"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Sc),this.setTooltip(""),this.setHelpUrl("")}},Ed={init:function(){this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("计算").appendField(new Ve.FieldDropdown([["S1","1"],["S2","2"],["S3","3"],["S4","4"]]),"PATHNAME").appendField("长度"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Sc),this.setTooltip(""),this.setHelpUrl("")}},wd={init:function(){this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("设置S1为Smin"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Sc),this.setTooltip(""),this.setHelpUrl("")}},Id={init:function(){this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField(new Ve.FieldDropdown([["S1","1"],["S2","2"],["S3","3"],["S4","4"]]),"PATHNAME").appendField("的长度比").appendField(new Ve.FieldDropdown([["S1","1"],["S2","2"],["S3","3"],["S4","4"]]),"PATHNAME2").appendField("短"),this.setOutput(!0,null),this.setColour(Sc),this.setTooltip(""),this.setHelpUrl("")}},Ad={init:function(){this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("设置").appendField(new Ve.FieldDropdown([["S1","1"],["S2","2"],["S3","3"],["S4","4"]]),"PATHNAME").appendField("为Smin"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Sc),this.setTooltip(""),this.setHelpUrl("")}},Sd={init:function(){this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("按照Smin移动"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Sc),this.setTooltip(""),this.setHelpUrl("")}},Cd={init:function(){this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("初始化韩信点兵问题:"),this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("有未知数量的若干士兵。"),this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("若3人一排列队,多1人;"),this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("若5人一排列队,多2人;"),this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("若7人一排列队,多2人;"),this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("问士兵的数量最少是多少人?"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Sc),this.setTooltip(""),this.setHelpUrl("")}},Od={init:function(){this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("初始化士兵为").appendField(new Ve.FieldTextInput("7"),"NUM").appendField("个"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Sc),this.setTooltip(""),this.setHelpUrl("")}},Md={init:function(){this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("使士兵").appendField(new Ve.FieldDropdown([["3","3"],["5","5"],["7","7"]]),"NUM").appendField("人一排列队"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Sc),this.setTooltip(""),this.setHelpUrl("")}},kd={init:function(){this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("剩余").appendField(new Ve.FieldTextInput("1"),"NUM").appendField("个士兵"),this.setOutput(!0,null),this.setColour(Sc),this.setTooltip(""),this.setHelpUrl("")}},Rd={init:function(){this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("增加1个士兵"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Sc),this.setTooltip(""),this.setHelpUrl("")}},Nd={init:function(){this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("输出士兵数量"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Sc),this.setTooltip(""),this.setHelpUrl("")}},Dd={init:function(){this.appendDummyInput().appendField("准备").appendField(new Ve.FieldNumber(3,0,100,1),"NUM").appendField("层汉诺塔"),this.appendValueInput("VAR").setCheck(String).appendField(Ve.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Sc),this.setInputsInline(!0),this.setTooltip(""),this.setHelpUrl("")}},Fd={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_GET_CURRENT_LOCATION),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Ld={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_VOID_PATH),this.setOutput(!0)}},Pd={init:function(){this.setColour(Sc),this.appendDummyInput("").setAlign(Ve.inputs.Align.RIGHT).appendField(new Ve.FieldColour("ff0000"),"COLOR"),this.setInputsInline(!0),this.setOutput(!0,String)}},Bd="#3288dd",$d={init:function(){this.setColour(Bd),this.appendValueInput("DOMAIN").appendField(Ve.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(Ve.Msg.blockpy_REQUESTS_GET).appendField(new Ve.FieldTextInput("response"),"VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.blockpy_REQUESTS_GET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Ve.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},Ud={init:function(){this.setColour(Bd),this.appendValueInput("URL").appendField(Ve.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(Ve.Msg.blockpy_CONDUCT).appendField(new Ve.FieldDropdown([["get","get"],["head","head"],["delete","delete"]]),"TYPE").appendField(Ve.Msg.blockpy_REQUESTS).appendField(Ve.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},Vd={init:function(){this.setColour(Bd),this.appendValueInput("URL").appendField(Ve.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(Ve.Msg.blockpy_CONDUCT).appendField(new Ve.FieldDropdown([["post","post"],["put","put"],["patch","patch"]]),"TYPE").appendField(Ve.Msg.blockpy_REQUESTS),this.appendValueInput("data").appendField(Ve.Msg.blockpy_REQUESTS+Ve.Msg.OLED_STRING),this.appendDummyInput("").appendField(Ve.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},zd={init:function(){this.appendValueInput("VAL");var e=[[Ve.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[Ve.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[Ve.Msg.blockpy_REQUESTS_GET_ATTR_COOKIES,"cookies"],[Ve.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"],[Ve.Msg.MIXPY_TEXT_ENCODE,"encoding"]];this.setColour(Bd),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_MICROBIT_JS_GET).appendField(new Ve.FieldDropdown(e),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String)}},jd={init:function(){this.appendValueInput("VAR").appendField(Ve.Msg.DISPLAY_IMAGE_LET2).setCheck(String);this.setColour(Bd),this.appendDummyInput("").appendField(Ve.Msg.blockpy_CONDUCT).appendField(new Ve.FieldDropdown([["post","post"],["put","put"],["delete","delete"],["head","head"],["option","option"]]),"DIR"),this.appendDummyInput("").appendField(Ve.Msg.blockpy_REQUESTS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip(function(){var t=e.getFieldValue("DIR");return{forward:Ve.Msg.MIXLY_TOOLTIP_TURTEL_FORWARD,backward:Ve.Msg.MIXLY_TOOLTIP_TURTEL_BACKWARD}[t]})}},Yd="f0a559",Gd={init:function(){this.setColour(Yd),this.appendValueInput("FILE").setCheck(String).appendField(Ve.Msg.MIXLY_CV_IMREAD),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)}},Hd={init:function(){this.setColour(Yd),this.appendValueInput("FILE").appendField(Ve.Msg.OLED_BITMAP),this.appendValueInput("data").setCheck(String).appendField(Ve.Msg.MIXLY_AipNlp_Topic_Title),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Wd={init:function(){this.setColour(Yd),this.appendValueInput("FILE").appendField(Ve.Msg.MIXLY_CV_IMWRITE),this.appendValueInput("data").setCheck(String).appendField(Ve.Msg.HTML_NAME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Xd={init:function(){this.setColour(Yd),this.appendValueInput("data").setCheck(Number).appendField(Ve.Msg.MIXLY_DELAY),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MILLIS+Ve.Msg.MIXLY_CV_OR_PRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ve.Msg.MIXLY_CV_WAITKEY_TOOLTIP)}},qd={init:function(){this.setColour(Yd),this.appendDummyInput().appendField(Ve.Msg.MIXLY_CV_DESTROY_ALL),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Kd={init:function(){this.setColour(Yd),this.appendValueInput("FILE").appendField(Ve.Msg.MIXLY_MICROBIT_IMAGE);var e=[[Ve.Msg.MIXLY_CV_RECT,"rectangle"],[Ve.Msg.MIXLY_CV_LINE,"line"]];this.appendValueInput("x1").setCheck(Number).appendField(Ve.Msg.MIXLY_DISPLAY_DRAW).appendField(new Ve.FieldDropdown(e),"DIR").appendField(Ve.Msg.MIXLY_CV_DRAWLINE_BEGIN+"(x1"),this.appendValueInput("y1").setCheck(Number).appendField(",y1"),this.appendValueInput("x2").setCheck(Number).appendField(") "+Ve.Msg.MIXLY_CV_DRAWLINE_END+"(x2"),this.appendValueInput("y2").setCheck(Number).appendField(",y2"),this.appendDummyInput().appendField(") "+Ve.Msg.MIXLY_CV_DRAWLINE_COLOR).appendField(new Ve.FieldColour("#ff0000"),"FIELDNAME"),this.appendValueInput("thick").setCheck(Number).appendField(Ve.Msg.MIXLY_CV_DRAWLINE_THICKNESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ve.Msg.MIXLY_CV_DRAWLINE_RECT_TOOLTIP)}},Zd={init:function(){this.setColour(Yd),this.appendValueInput("FILE").appendField(Ve.Msg.MIXLY_MICROBIT_IMAGE);this.appendValueInput("data").setCheck(String).appendField(Ve.Msg.MIXLY_CV_DRAWTEXT),this.appendValueInput("x1").setCheck(Number).appendField(Ve.Msg.MIXLY_CV_DRAWLINE_BEGIN+"(x1"),this.appendValueInput("y1").setCheck(Number).appendField(",y1"),this.appendDummyInput().appendField(") "+Ve.Msg.MIXLY_TURTLE_WRITE_FONT_NAME).appendField(new Ve.FieldDropdown([["SIMPLEX","SIMPLEX"],["PLAIN","PLAIN"],["DUPLEX","DUPLEX"],["COMPLEX","COMPLEX"],["COMPLEX_SMALL","COMPLEX_SMALL"],["TRIPLEX","TRIPLEX"],["SCRIPT_SIMPLEX","SCRIPT_SIMPLEX"],["SCRIPT_COMPLEX","SCRIPT_COMPLEX"]]),"font"),this.appendValueInput("size").setCheck(Number).appendField(Ve.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendDummyInput().appendField(") "+Ve.Msg.MIXLY_CV_DRAWLINE_COLOR).appendField(new Ve.FieldColour("#ff0000"),"FIELDNAME"),this.appendValueInput("thick").setCheck(Number).appendField(Ve.Msg.MIXLY_CV_DRAWLINE_THICKNESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ve.Msg.MIXLY_CV_DRAWLINE_RECT_TOOLTIP)}},Qd={init:function(){this.setColour(Yd),this.appendValueInput("FILE").setCheck(String).appendField(Ve.Msg.MIXLY_CV_FACE_CLASSIFIER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)}},Jd={init:function(){this.setColour(Yd),this.appendValueInput("FILE").appendField(Ve.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("FACE").appendField(Ve.Msg.MIXLY_CV_FACE_DETECT),this.appendValueInput("SCALE").setCheck(Number).appendField(Ve.Msg.MIXLY_CV_FACE_DETECT_SCALE),this.appendValueInput("NEIGHBOR").setCheck(Number).appendField(Ve.Msg.MIXLY_CV_FACE_DETECT_NEIGHBOR),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)}},eh={init:function(){this.setColour(Yd),this.appendValueInput("FILE").appendField(Ve.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("FACE").appendField(Ve.Msg.MIXLY_CV_FACE_DETECT),this.appendValueInput("SCALE").setCheck(Number).appendField(Ve.Msg.MIXLY_CV_FACE_DETECT_SCALE),this.appendValueInput("NEIGHBOR").setCheck(Number).appendField(Ve.Msg.MIXLY_CV_FACE_DETECT_NEIGHBOR),this.appendValueInput("x1").setCheck(Number).appendField(Ve.Msg.MIXLY_CV_FACE_DETECT_RANGE).appendField(Ve.Msg.blockpy_TUPLE_MIN),this.appendValueInput("y1").setCheck(Number).appendField("×"),this.appendValueInput("x2").setCheck(Number).appendField(Ve.Msg.blockpy_TUPLE_MAX),this.appendValueInput("y2").setCheck(Number).appendField("×"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)}},th=170,nh={init:function(){this.setColour(th),this.appendDummyInput("").appendField(Ve.Msg.blockpy_series_create).appendField(new Ve.FieldTextInput("ser1"),"VAR"),this.appendValueInput("SER").appendField(Ve.Msg.blockpy_series_via),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ve.Msg.blockpy_series_create_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Ve.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},ih={init:function(){this.setColour(th),this.appendDummyInput("").appendField(Ve.Msg.blockpy_series_create).appendField(new Ve.FieldTextInput("ser1"),"VAR"),this.appendValueInput("SER").appendField(Ve.Msg.blockpy_series_via),this.appendValueInput("INDEX").setCheck([String,"List"]).appendField(Ve.Msg.blockpy_series_set_index),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ve.Msg.blockpy_series_create_index_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Ve.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},rh={init:function(){this.setColour(th),this.appendDummyInput("").appendField(Ve.Msg.blockpy_dataframe_create).appendField(new Ve.FieldTextInput("df1"),"VAR"),this.appendValueInput("SER").appendField(Ve.Msg.blockpy_series_via),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ve.Msg.blockpy_dataframe_create_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Ve.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},sh={init:function(){this.setColour(th);var e=[[Ve.Msg.DATAFRAME_RAW,"index"],[Ve.Msg.DATAFRAME_COLUMN,"columns"]];this.appendDummyInput("").appendField(Ve.Msg.blockpy_dataframe_create).appendField(new Ve.FieldTextInput("df1"),"VAR"),this.appendValueInput("SER").appendField(Ve.Msg.blockpy_series_via),this.appendDummyInput("").appendField(new Ve.FieldDropdown(e),"COLUMN_RAW"),this.appendValueInput("INDEX").setCheck([String,"List"]).appendField(Ve.Msg.blockpy_series_set_index),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ve.Msg.blockpy_dataframe_create_index_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Ve.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},oh={init:function(){this.setColour(th),this.appendDummyInput("").appendField(Ve.Msg.blockpy_dataframe_create).appendField(new Ve.FieldTextInput("df1"),"VAR"),this.appendValueInput("SER").appendField(Ve.Msg.blockpy_series_via),this.appendValueInput("INDEX_COLUMN").setCheck([String,"List"]).appendField(Ve.Msg.blockpy_dataframe_set_index_column),this.appendValueInput("INDEX_RAW").setCheck([String,"List"]).appendField(Ve.Msg.blockpy_dataframe_set_index_raw),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.blockpy_dataframe_create_index_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Ve.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},ah={init:function(){this.setColour(th),this.appendDummyInput("").appendField(new Ve.FieldTextInput("ser1"),"VAR").appendField(" = [").appendField(new Ve.FieldTextInput("1,2,3"),"TEXT").appendField("]"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_TOOLTIP_SERIES_CREATE_FROM_TEXT)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Ve.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},lh={init:function(){this.setColour(th);var e=[[Ve.Msg.SERIES_INDEX,"index"],[Ve.Msg.HTML_VALUE,"value"]];this.appendValueInput("SERIES").setCheck("Series"),this.appendDummyInput("").appendField(Ve.Msg.SERIES_INDEX_VALUE).appendField(new Ve.FieldDropdown(e),"INDEX_VALUE"),this.setOutput(!0,"List");var t=this;this.setTooltip(function(){var e=t.getFieldValue("INDEX_VALUE");return{index:Ve.Msg.SERIES_INDEX_TOOLTIP,value:Ve.Msg.HTML_VALUE_TOOLTIP}[e]})}},uh={init:function(){this.setColour(th),this.setOutput(!0),this.appendValueInput("SER").setCheck("Series"),this.appendValueInput("AT").setCheck(Number).appendField(Ve.Msg.LANG_LISTS_GET_INDEX1),this.appendDummyInput("").appendField(Ve.Msg.LANG_LISTS_GET_INDEX2),this.setInputsInline(!0),this.setTooltip(Ve.Msg.TUPLE_GET_INDEX_TOOLTIP)}},ch={init:function(){this.setColour(th),this.appendValueInput("SER").setCheck("Series").appendField(Ve.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendDummyInput().appendField(Ve.Msg.blockpy_PYLAB_PLOT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},dh={init:function(){this.setColour(th);var e=[[Ve.Msg.blockpy_PYLAB_PLOT_LINE_SOLID,"-"],[Ve.Msg.blockpy_PYLAB_PLOT_LINE_DOTTED,"--"],[Ve.Msg.blockpy_PYLAB_PLOT_LINE_CHAIN,"-."],[Ve.Msg.blockpy_PYLAB_PLOT_LINE_POINT_DOTTED,":"],[Ve.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,""]],t=[[Ve.Msg.COLOUR_RGB_BLUE,"b"],[Ve.Msg.COLOUR_RGB_GREEN,"g"],[Ve.Msg.COLOUR_RGB_RED,"r"],[Ve.Msg.COLOUR_CYAN,"c"],[Ve.Msg.COLOUR_MAGENTA,"m"],[Ve.Msg.COLOUR_YELLOW,"y"],[Ve.Msg.COLOUR_BLACK,"k"],[Ve.Msg.COLOUR_WHITE,"w"]],n=[[Ve.Msg.blockpy_PYLAB_PLOT_DOT_CIRCULAR,"."],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_PIXEL,","],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_LARGE_DOT,"o"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_DOWN,"v"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_UP,"^"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_LEFT,"<"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_RIGHT,">"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_UP,"1"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_DOWN,"2"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_LEFT,"3"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_RIGHT,"4"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_SQUARE,"s"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_PENTAGON,"p"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_STAR,"*"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_VERTICAL,"h"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_HORIZONTAL,"H"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_PLUS,"+"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_CROSS,"x"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND,"D"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND_SMALL,"d"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_VERTICAL,"|"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_HORIZONTAL,"_"]];this.appendValueInput("SER").setCheck("Series").appendField(Ve.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendDummyInput().appendField(Ve.Msg.blockpy_PYLAB_PLOT),this.appendDummyInput("").appendField(Ve.Msg.blockpy_PYLAB_PLOT_DOT).appendField(new Ve.FieldDropdown(n),"DOT"),this.appendDummyInput("").appendField(Ve.Msg.blockpy_PYLAB_PLOT_LINE).appendField(new Ve.FieldDropdown(e),"LINE"),this.appendDummyInput("").appendField(Ve.Msg.HTML_COLOUR).appendField(new Ve.FieldDropdown(t),"COLOR"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},hh={init:function(){this.setColour(th),this.appendDummyInput().appendField(Ve.Msg.blockpy_PYLAB_SHOW),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ph={init:function(){this.setColour(th),this.appendDummyInput().appendField(Ve.Msg.mixpy_PL_AXES),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},fh={init:function(){this.setColour(th),this.appendDummyInput().appendField(Ve.Msg.blockpy_PYLAB_LEGEND),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},mh={init:function(){this.setColour(th),this.appendDummyInput().appendField(Ve.Msg.blockpy_PYLAB_TITLE),this.appendValueInput("TITLE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},gh={init:function(){this.setColour(th);var e=[[Ve.Msg.PYLAB_LABEL_X,"x"],[Ve.Msg.PYLAB_LABEL_Y,"y"]];this.appendDummyInput().appendField(Ve.Msg.blockpy_PYLAB_SET_LABEL).appendField(new Ve.FieldDropdown(e),"DIR"),this.appendValueInput("LABEL").appendField(Ve.Msg.blockpy_PYLAB_LABEL).setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},_h={init:function(){this.setColour(th),this.appendValueInput("FROM").setCheck(Number).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MIXLY_SPLITBYDOU).appendField(Ve.Msg.MIXPY_DATA_ARRAY_CREATE_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MIXPY_DATA_ARRAY_CREATE_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MIXLY_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Ve.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},yh={init:function(){this.setColour(th);var e=[[Ve.Msg.mixpy_PYLAB_PLOT_BAR_PLOT,"plot"],[Ve.Msg.mixpy_PYLAB_PLOT_BAR_BAR,"bar"]];this.appendDummyInput().appendField(Ve.Msg.MIXLY_DISPLAY_DRAW).appendField(new Ve.FieldDropdown(e),"DIR"),this.appendValueInput("A").appendField(Ve.Msg.mixpy_PYLAB_PLOT_X),this.appendValueInput("B").appendField(Ve.Msg.mixpy_PYLAB_PLOT_Y),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip(function(){var e=t.getFieldValue("DIR");return{plot:Ve.Msg.mixpy_PYLAB_PLOT_XY_TOOLTIP,bar:Ve.Msg.mixpy_PYLAB_PLOT_BAR_EASY_TOOLTIP}[e]})}},vh={init:function(){this.setColour(th);var e=[[Ve.Msg.COLOUR_RGB_BLUE,"b"],[Ve.Msg.COLOUR_RGB_GREEN,"g"],[Ve.Msg.COLOUR_RGB_RED,"r"],[Ve.Msg.COLOUR_CYAN,"c"],[Ve.Msg.COLOUR_MAGENTA,"m"],[Ve.Msg.COLOUR_YELLOW,"y"],[Ve.Msg.COLOUR_BLACK,"k"],[Ve.Msg.COLOUR_WHITE,"w"]],t=[[Ve.Msg.blockpy_PYLAB_PLOT_DOT_CIRCULAR,"."],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_PIXEL,","],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_LARGE_DOT,"o"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_DOWN,"v"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_UP,"^"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_LEFT,"<"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_RIGHT,">"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_UP,"1"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_DOWN,"2"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_LEFT,"3"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_RIGHT,"4"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_SQUARE,"s"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_PENTAGON,"p"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_STAR,"*"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_VERTICAL,"h"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_HORIZONTAL,"H"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_PLUS,"+"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_CROSS,"x"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND,"D"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND_SMALL,"d"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_VERTICAL,"|"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_HORIZONTAL,"_"]];this.appendValueInput("A").appendField(Ve.Msg.mixpy_PYLAB_SCATTER).appendField(Ve.Msg.mixpy_PYLAB_PLOT_X),this.appendValueInput("B").appendField(Ve.Msg.mixpy_PYLAB_PLOT_Y),this.appendValueInput("S").appendField(Ve.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendDummyInput("").appendField(Ve.Msg.blockpy_PYLAB_PLOT_DOT).appendField(new Ve.FieldDropdown(t),"DOT"),this.appendDummyInput("").appendField(Ve.Msg.HTML_COLOUR).appendField(new Ve.FieldDropdown(e),"COLOR"),this.appendValueInput("TAG").setCheck(String).appendField(Ve.Msg.mixpy_PYLAB_TICKS_TAG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("")}},bh={init:function(){this.setColour(th);var e=[[Ve.Msg.blockpy_PYLAB_PLOT_LINE_SOLID,"-"],[Ve.Msg.blockpy_PYLAB_PLOT_LINE_DOTTED,"--"],[Ve.Msg.blockpy_PYLAB_PLOT_LINE_CHAIN,"-."],[Ve.Msg.blockpy_PYLAB_PLOT_LINE_POINT_DOTTED,":"],[Ve.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,""]],t=[[Ve.Msg.COLOUR_RGB_BLUE,"b"],[Ve.Msg.COLOUR_RGB_GREEN,"g"],[Ve.Msg.COLOUR_RGB_RED,"r"],[Ve.Msg.COLOUR_CYAN,"c"],[Ve.Msg.COLOUR_MAGENTA,"m"],[Ve.Msg.COLOUR_YELLOW,"y"],[Ve.Msg.COLOUR_BLACK,"k"],[Ve.Msg.COLOUR_WHITE,"w"]],n=[[Ve.Msg.blockpy_PYLAB_PLOT_DOT_CIRCULAR,"."],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_PIXEL,","],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_LARGE_DOT,"o"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_DOWN,"v"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_UP,"^"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_LEFT,"<"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_RIGHT,">"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_UP,"1"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_DOWN,"2"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_LEFT,"3"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_RIGHT,"4"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_SQUARE,"s"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_PENTAGON,"p"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_STAR,"*"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_VERTICAL,"h"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_HORIZONTAL,"H"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_PLUS,"+"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_CROSS,"x"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND,"D"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND_SMALL,"d"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_VERTICAL,"|"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_HORIZONTAL,"_"]];this.appendValueInput("A").appendField(Ve.Msg.mixpy_PYLAB_PLOT_XY).appendField(Ve.Msg.mixpy_PYLAB_PLOT_X),this.appendValueInput("B").appendField(Ve.Msg.mixpy_PYLAB_PLOT_Y),this.appendDummyInput("").appendField(Ve.Msg.blockpy_PYLAB_PLOT_DOT).appendField(new Ve.FieldDropdown(n),"DOT"),this.appendDummyInput("").appendField(Ve.Msg.blockpy_PYLAB_PLOT_LINE).appendField(new Ve.FieldDropdown(e),"LINE"),this.appendDummyInput("").appendField(Ve.Msg.HTML_COLOUR).appendField(new Ve.FieldDropdown(t),"COLOR"),this.appendValueInput("TAG").setCheck(String).appendField(Ve.Msg.mixpy_PYLAB_TICKS_TAG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.mixpy_PYLAB_PLOT_XY_TOOLTIP)}},Th={init:function(){this.setColour(th);var e=[[Ve.Msg.MIXLY_TURTLE_WRITE_ALIGN_CENTER,"center"],[Ve.Msg.AILGN_EDGE,"edge"]];this.appendValueInput("A").appendField(Ve.Msg.mixpy_PYLAB_BAR).appendField(Ve.Msg.mixpy_PYLAB_PLOT_X),this.appendValueInput("B").appendField(Ve.Msg.mixpy_PYLAB_PLOT_Y),this.appendValueInput("WIDTH").setCheck(Number).appendField(Ve.Msg.MIXLY_WIDTH),this.appendDummyInput("").appendField(Ve.Msg.mixpy_PYLAB_BAR_ALIGN).appendField(new Ve.FieldDropdown(e),"ALIGN"),this.appendDummyInput().appendField(Ve.Msg.HTML_COLOUR).appendField(new Ve.FieldColour("#0000ff"),"COLOR"),this.appendValueInput("TAG").setCheck(String).appendField(Ve.Msg.mixpy_PYLAB_TICKS_TAG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.mixpy_PYLAB_PLOT_XY_TOOLTIP)}},xh={init:function(){this.setColour(th);var e=[[Ve.Msg.mixpy_PL_PIE_SHADOW_N,"False"],[Ve.Msg.mixpy_PL_PIE_SHADOW_Y,"True"]],t=[[Ve.Msg.mixpy_PL_PIE_SHADOW_N,"None"],[Ve.Msg.mixpy_PYLAB_PIE_AUTOPCT_Z,"%.0f%%"],[Ve.Msg.mixpy_PYLAB_PIE_AUTOPCT_O,"%.1f%%"],[Ve.Msg.mixpy_PYLAB_PIE_AUTOPCT_T,"%.2f%%"]];this.appendValueInput("A").appendField(Ve.Msg.mixpy_PYLAB_PIE).appendField(Ve.Msg.COLOUR_BLEND_RATIO),this.appendValueInput("B").appendField(Ve.Msg.mixpy_PYLAB_TICKS_TAG),this.appendValueInput("EXPLODE").appendField(Ve.Msg.mixpy_PYLAB_PIE_EXPLODE),this.appendDummyInput("").appendField(Ve.Msg.mixpy_PYLAB_PIE_AUTOPCT).appendField(new Ve.FieldDropdown(t),"autopct"),this.appendDummyInput("").appendField(Ve.Msg.mixpy_PYLAB_PIE_SHADOW).appendField(new Ve.FieldDropdown(e),"SHADOW"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.mixpy_PYLAB_PLOT_XY_TOOLTIP)}},Eh={init:function(){this.setColour(th),this.appendValueInput("A").appendField(Ve.Msg.mixpy_PYLAB_HIST).appendField(Ve.Msg.MIXLY_SD_DATA),this.appendValueInput("B").appendField(Ve.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},wh={init:function(){this.setColour(th);var e=[[Ve.Msg.PYLAB_LABEL_X,"x"],[Ve.Msg.PYLAB_LABEL_Y,"y"]];this.appendDummyInput().appendField(Ve.Msg.MIXLY_SETTING).appendField(new Ve.FieldDropdown(e),"DIR"),this.appendValueInput("A").appendField(Ve.Msg.mixpy_PYLAB_TICKS).appendField(Ve.Msg.MIXLY_MICROBIT_JS_I2C_VALUE),this.appendValueInput("B").appendField(Ve.Msg.mixpy_PYLAB_TICKS_TAG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.mixpy_PYLAB_TICKS_TOOLTIP)}},Ih={init:function(){var e=[["sin","sin"],["cos","cos"],["tan","tan"],["arcsin","arcsin"],["arccos","arccos"],["arctan","arctan"],[Ve.Msg.LANG_MATH_TO_ROUND,"round"],[Ve.Msg.LANG_MATH_TO_CEIL,"ceil"],[Ve.Msg.LANG_MATH_TO_FLOOR,"floor"]];this.setColour(th),this.setOutput(!0),this.setInputsInline(!0),this.appendDummyInput().appendField(Ve.Msg.mixpy_NUMPY_TRIG),this.appendValueInput("NUM").setCheck(Number).appendField(new Ve.FieldDropdown(e),"OP"),this.setTooltip(Ve.Msg.mixpy_NUMPY_TRIG_TOOLTIP)}},Ah={init:function(){this.setColour(th),this.appendValueInput("VET").setCheck(Number).appendField(Ve.Msg.mixpy_SUBPLOT).appendField(Ve.Msg.mixpy_SUBPLOT_VERTICLE),this.appendValueInput("HOR").setCheck(Number).appendField(Ve.Msg.mixpy_SUBPLOT_HORIZEN),this.appendValueInput("NUM").setCheck(Number).appendField(Ve.Msg.mixpy_SUBPLOT_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},Sh={init:function(){this.setColour(th),this.appendValueInput("FILENAME").appendField(Ve.Msg.MIXPY_PANDAS_READ_CSV),this.appendDummyInput().appendField(new Ve.FieldDropdown([[Ve.Msg.mixpy_PANDAS_READCSV_HEADER_Y,"0"],[Ve.Msg.mixpy_PANDAS_READCSV_HEADER_N,"None"]]),"MODE"),this.appendDummyInput().appendField(Ve.Msg.mixpy_PANDAS_READCSV_TITLE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Ve.Msg.mixpy_PANDAS_READCSV_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Ve.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},Ch={init:function(){this.setColour(th),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Ve.Msg.mixpy_DATAFRAME_GET),this.appendDummyInput("").appendField(Ve.Msg.mixpy_DATAFRAME_GET_INDEX).appendField(new Ve.FieldDropdown([[Ve.Msg.DATAFRAME_COLUMN,"column"],[Ve.Msg.DATAFRAME_RAW,"raw"]]),"MODE"),this.setOutput(!0),this.setTooltip(Ve.Msg.mixpy_DATAFRAME_GET_TOOLTIP)}},Oh={init:function(){this.setColour(th),this.appendValueInput("FILE").setCheck(String).appendField(Ve.Msg.mixpy_PL_SAVEFIG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Ve.Msg.mixpy_PL_SAVEFIG_TOOLTIP)}},Mh={init:function(){this.setColour(th);var e=[[Ve.Msg.TEXT_TRIM_LEFT,"right"],[Ve.Msg.mixpy_PL_TEXT_CENTER,"center"],[Ve.Msg.TEXT_TRIM_RIGHT,"left"]],t=[[Ve.Msg.mixpy_PL_TEXT_TOP,"bottom"],[Ve.Msg.mixpy_PL_TEXT_CENTER,"center"],[Ve.Msg.mixpy_PL_TEXT_BOTTOM,"top"]];this.appendValueInput("VET").setCheck(Number).appendField(Ve.Msg.MIXLY_SETTING).appendField(Ve.Msg.mixpy_PL_TEXT_X),this.appendValueInput("HOR").setCheck(Number).appendField(Ve.Msg.mixpy_PL_TEXT_Y),this.appendValueInput("NUM").setCheck(Number).appendField(Ve.Msg.mixpy_PL_TEXT_TAG),this.appendDummyInput("").appendField(Ve.Msg.mixpy_PL_TEXT_HOR).appendField(new Ve.FieldDropdown(e),"HALIGN"),this.appendDummyInput("").appendField(Ve.Msg.mixpy_PL_TEXT_VER).appendField(new Ve.FieldDropdown(t),"VALIGN"),this.appendValueInput("FONTNUM").setCheck(Number).appendField(Ve.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.mixpy_PL_TEXT_TOOLTIP)}},kh={init:function(){this.setColour(th),this.appendValueInput("VAR").appendField(Ve.Msg.MIXLY_TOARRAY),this.setOutput(!0,"List"),this.setTooltip(Ve.Msg.MIXLY_PYTHON_TOOLTIP_TOARRAY)}},Rh={init:function(){this.setColour(th),this.appendValueInput("SER").setCheck("Series").appendField(Ve.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendDummyInput().appendField(Ve.Msg.blockpy_PYLAB_PLOT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Nh={init:function(){this.setColour(th);var e=[[Ve.Msg.blockpy_PYLAB_PLOT_LINE_SOLID,"-"],[Ve.Msg.blockpy_PYLAB_PLOT_LINE_DOTTED,"--"],[Ve.Msg.blockpy_PYLAB_PLOT_LINE_CHAIN,"-."],[Ve.Msg.blockpy_PYLAB_PLOT_LINE_POINT_DOTTED,":"],[Ve.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,""]],t=[[Ve.Msg.COLOUR_RGB_BLUE,"b"],[Ve.Msg.COLOUR_RGB_GREEN,"g"],[Ve.Msg.COLOUR_RGB_RED,"r"],[Ve.Msg.COLOUR_CYAN,"c"],[Ve.Msg.COLOUR_MAGENTA,"m"],[Ve.Msg.COLOUR_YELLOW,"y"],[Ve.Msg.COLOUR_BLACK,"k"],[Ve.Msg.COLOUR_WHITE,"w"]],n=[[Ve.Msg.blockpy_PYLAB_PLOT_DOT_CIRCULAR,"."],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_PIXEL,","],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_LARGE_DOT,"o"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_DOWN,"v"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_UP,"^"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_LEFT,"<"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_RIGHT,">"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_UP,"1"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_DOWN,"2"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_LEFT,"3"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_RIGHT,"4"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_SQUARE,"s"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_PENTAGON,"p"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_STAR,"*"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_VERTICAL,"h"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_HORIZONTAL,"H"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_PLUS,"+"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_CROSS,"x"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND,"D"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND_SMALL,"d"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_VERTICAL,"|"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_HORIZONTAL,"_"]];this.appendValueInput("SER").setCheck("Series").appendField(Ve.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendDummyInput().appendField(Ve.Msg.blockpy_PYLAB_PLOT),this.appendDummyInput("").appendField(Ve.Msg.blockpy_PYLAB_PLOT_DOT).appendField(new Ve.FieldDropdown(n),"DOT"),this.appendDummyInput("").appendField(Ve.Msg.blockpy_PYLAB_PLOT_LINE).appendField(new Ve.FieldDropdown(e),"LINE"),this.appendDummyInput("").appendField(Ve.Msg.HTML_COLOUR).appendField(new Ve.FieldDropdown(t),"COLOR"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Dh={init:function(){this.setColour(th),this.appendDummyInput().appendField(Ve.Msg.blockpy_PYLAB_SHOW),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Fh={init:function(){this.setColour(th),this.appendDummyInput().appendField(Ve.Msg.mixpy_PL_AXES),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Lh={init:function(){this.setColour(th),this.appendDummyInput().appendField(Ve.Msg.blockpy_PYLAB_LEGEND),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ph={init:function(){this.setColour(th),this.appendDummyInput().appendField(Ve.Msg.blockpy_PYLAB_TITLE),this.appendValueInput("TITLE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Bh={init:function(){this.setColour(th);var e=[[Ve.Msg.PYLAB_LABEL_X,"x"],[Ve.Msg.PYLAB_LABEL_Y,"y"]];this.appendDummyInput().appendField(Ve.Msg.blockpy_PYLAB_SET_LABEL).appendField(new Ve.FieldDropdown(e),"DIR"),this.appendValueInput("LABEL").appendField(Ve.Msg.blockpy_PYLAB_LABEL).setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},$h={init:function(){this.setColour(th);var e=[[Ve.Msg.mixpy_PYLAB_PLOT_BAR_PLOT,"plot"],[Ve.Msg.mixpy_PYLAB_PLOT_BAR_BAR,"bar"]];this.appendDummyInput().appendField(Ve.Msg.MIXLY_DISPLAY_DRAW).appendField(new Ve.FieldDropdown(e),"DIR"),this.appendValueInput("A").appendField(Ve.Msg.mixpy_PYLAB_PLOT_X),this.appendValueInput("B").appendField(Ve.Msg.mixpy_PYLAB_PLOT_Y),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip(function(){var e=t.getFieldValue("DIR");return{plot:Ve.Msg.mixpy_PYLAB_PLOT_XY_TOOLTIP,bar:Ve.Msg.mixpy_PYLAB_PLOT_BAR_EASY_TOOLTIP}[e]})}},Uh={init:function(){this.setColour(th);var e=[[Ve.Msg.COLOUR_RGB_BLUE,"b"],[Ve.Msg.COLOUR_RGB_GREEN,"g"],[Ve.Msg.COLOUR_RGB_RED,"r"],[Ve.Msg.COLOUR_CYAN,"c"],[Ve.Msg.COLOUR_MAGENTA,"m"],[Ve.Msg.COLOUR_YELLOW,"y"],[Ve.Msg.COLOUR_BLACK,"k"],[Ve.Msg.COLOUR_WHITE,"w"]],t=[[Ve.Msg.blockpy_PYLAB_PLOT_DOT_CIRCULAR,"."],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_PIXEL,","],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_LARGE_DOT,"o"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_DOWN,"v"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_UP,"^"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_LEFT,"<"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_RIGHT,">"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_UP,"1"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_DOWN,"2"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_LEFT,"3"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_RIGHT,"4"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_SQUARE,"s"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_PENTAGON,"p"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_STAR,"*"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_VERTICAL,"h"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_HORIZONTAL,"H"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_PLUS,"+"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_CROSS,"x"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND,"D"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND_SMALL,"d"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_VERTICAL,"|"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_HORIZONTAL,"_"]];this.appendValueInput("A").appendField(Ve.Msg.mixpy_PYLAB_SCATTER).appendField(Ve.Msg.mixpy_PYLAB_PLOT_X),this.appendValueInput("B").appendField(Ve.Msg.mixpy_PYLAB_PLOT_Y),this.appendValueInput("S").appendField(Ve.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendDummyInput("").appendField(Ve.Msg.blockpy_PYLAB_PLOT_DOT).appendField(new Ve.FieldDropdown(t),"DOT"),this.appendDummyInput("").appendField(Ve.Msg.HTML_COLOUR).appendField(new Ve.FieldDropdown(e),"COLOR"),this.appendValueInput("TAG").setCheck(String).appendField(Ve.Msg.mixpy_PYLAB_TICKS_TAG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("")}},Vh={init:function(){this.setColour(th);var e=[[Ve.Msg.blockpy_PYLAB_PLOT_LINE_SOLID,"-"],[Ve.Msg.blockpy_PYLAB_PLOT_LINE_DOTTED,"--"],[Ve.Msg.blockpy_PYLAB_PLOT_LINE_CHAIN,"-."],[Ve.Msg.blockpy_PYLAB_PLOT_LINE_POINT_DOTTED,":"],[Ve.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,""]],t=[[Ve.Msg.COLOUR_RGB_BLUE,"b"],[Ve.Msg.COLOUR_RGB_GREEN,"g"],[Ve.Msg.COLOUR_RGB_RED,"r"],[Ve.Msg.COLOUR_CYAN,"c"],[Ve.Msg.COLOUR_MAGENTA,"m"],[Ve.Msg.COLOUR_YELLOW,"y"],[Ve.Msg.COLOUR_BLACK,"k"],[Ve.Msg.COLOUR_WHITE,"w"]],n=[[Ve.Msg.blockpy_PYLAB_PLOT_DOT_CIRCULAR,"."],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_PIXEL,","],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_LARGE_DOT,"o"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_DOWN,"v"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_UP,"^"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_LEFT,"<"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_RIGHT,">"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_UP,"1"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_DOWN,"2"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_LEFT,"3"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_RIGHT,"4"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_SQUARE,"s"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_PENTAGON,"p"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_STAR,"*"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_VERTICAL,"h"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_HORIZONTAL,"H"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_PLUS,"+"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_CROSS,"x"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND,"D"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND_SMALL,"d"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_VERTICAL,"|"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_HORIZONTAL,"_"]];this.appendValueInput("A").appendField(Ve.Msg.mixpy_PYLAB_PLOT_XY).appendField(Ve.Msg.mixpy_PYLAB_PLOT_X),this.appendValueInput("B").appendField(Ve.Msg.mixpy_PYLAB_PLOT_Y),this.appendDummyInput("").appendField(Ve.Msg.blockpy_PYLAB_PLOT_DOT).appendField(new Ve.FieldDropdown(n),"DOT"),this.appendDummyInput("").appendField(Ve.Msg.blockpy_PYLAB_PLOT_LINE).appendField(new Ve.FieldDropdown(e),"LINE"),this.appendDummyInput("").appendField(Ve.Msg.HTML_COLOUR).appendField(new Ve.FieldDropdown(t),"COLOR"),this.appendValueInput("TAG").setCheck(String).appendField(Ve.Msg.mixpy_PYLAB_TICKS_TAG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.mixpy_PYLAB_PLOT_XY_TOOLTIP)}},zh={init:function(){this.setColour(th);var e=[[Ve.Msg.MIXLY_TURTLE_WRITE_ALIGN_CENTER,"center"],[Ve.Msg.AILGN_EDGE,"edge"]];this.appendValueInput("A").appendField(Ve.Msg.mixpy_PYLAB_BAR).appendField(Ve.Msg.mixpy_PYLAB_PLOT_X),this.appendValueInput("B").appendField(Ve.Msg.mixpy_PYLAB_PLOT_Y),this.appendValueInput("WIDTH").setCheck(Number).appendField(Ve.Msg.MIXLY_WIDTH),this.appendDummyInput("").appendField(Ve.Msg.mixpy_PYLAB_BAR_ALIGN).appendField(new Ve.FieldDropdown(e),"ALIGN"),this.appendDummyInput().appendField(Ve.Msg.HTML_COLOUR).appendField(new Ve.FieldColour("#0000ff"),"COLOR"),this.appendValueInput("TAG").setCheck(String).appendField(Ve.Msg.mixpy_PYLAB_TICKS_TAG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.mixpy_PYLAB_PLOT_XY_TOOLTIP)}},jh={init:function(){this.setColour(th);var e=[[Ve.Msg.mixpy_PL_PIE_SHADOW_N,"False"],[Ve.Msg.mixpy_PL_PIE_SHADOW_Y,"True"]],t=[[Ve.Msg.mixpy_PL_PIE_SHADOW_N,"None"],[Ve.Msg.mixpy_PYLAB_PIE_AUTOPCT_Z,"%.0f%%"],[Ve.Msg.mixpy_PYLAB_PIE_AUTOPCT_O,"%.1f%%"],[Ve.Msg.mixpy_PYLAB_PIE_AUTOPCT_T,"%.2f%%"]];this.appendValueInput("A").appendField(Ve.Msg.mixpy_PYLAB_PIE).appendField(Ve.Msg.COLOUR_BLEND_RATIO),this.appendValueInput("B").appendField(Ve.Msg.mixpy_PYLAB_TICKS_TAG),this.appendValueInput("EXPLODE").appendField(Ve.Msg.mixpy_PYLAB_PIE_EXPLODE),this.appendDummyInput("").appendField(Ve.Msg.mixpy_PYLAB_PIE_AUTOPCT).appendField(new Ve.FieldDropdown(t),"autopct"),this.appendDummyInput("").appendField(Ve.Msg.mixpy_PYLAB_PIE_SHADOW).appendField(new Ve.FieldDropdown(e),"SHADOW"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.mixpy_PYLAB_PLOT_XY_TOOLTIP)}},Yh={init:function(){this.setColour(th),this.appendValueInput("A").appendField(Ve.Msg.mixpy_PYLAB_HIST).appendField(Ve.Msg.MIXLY_SD_DATA),this.appendValueInput("B").appendField(Ve.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Gh={init:function(){this.setColour(th);var e=[[Ve.Msg.PYLAB_LABEL_X,"x"],[Ve.Msg.PYLAB_LABEL_Y,"y"]];this.appendDummyInput().appendField(Ve.Msg.MIXLY_SETTING).appendField(new Ve.FieldDropdown(e),"DIR"),this.appendValueInput("A").appendField(Ve.Msg.mixpy_PYLAB_TICKS).appendField(Ve.Msg.MIXLY_MICROBIT_JS_I2C_VALUE),this.appendValueInput("B").appendField(Ve.Msg.mixpy_PYLAB_TICKS_TAG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.mixpy_PYLAB_TICKS_TOOLTIP)}},Hh={init:function(){this.setColour(th),this.appendValueInput("VET").setCheck(Number).appendField(Ve.Msg.mixpy_SUBPLOT).appendField(Ve.Msg.mixpy_SUBPLOT_VERTICLE),this.appendValueInput("HOR").setCheck(Number).appendField(Ve.Msg.mixpy_SUBPLOT_HORIZEN),this.appendValueInput("NUM").setCheck(Number).appendField(Ve.Msg.mixpy_SUBPLOT_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},Wh={init:function(){this.setColour(th),this.appendDummyInput("").appendField(Ve.Msg.mixpy_PL_SAVEFIG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Ve.Msg.mixpy_PL_SAVEFIG_TOOLTIP)}},Xh={init:function(){this.setColour(th);var e=[[Ve.Msg.TEXT_TRIM_LEFT,"right"],[Ve.Msg.mixpy_PL_TEXT_CENTER,"center"],[Ve.Msg.TEXT_TRIM_RIGHT,"left"]],t=[[Ve.Msg.mixpy_PL_TEXT_TOP,"bottom"],[Ve.Msg.mixpy_PL_TEXT_CENTER,"center"],[Ve.Msg.mixpy_PL_TEXT_BOTTOM,"top"]];this.appendValueInput("VET").setCheck(Number).appendField(Ve.Msg.MIXLY_SETTING).appendField(Ve.Msg.mixpy_PL_TEXT_X),this.appendValueInput("HOR").setCheck(Number).appendField(Ve.Msg.mixpy_PL_TEXT_Y),this.appendValueInput("NUM").setCheck(Number).appendField(Ve.Msg.mixpy_PL_TEXT_TAG),this.appendDummyInput("").appendField(Ve.Msg.mixpy_PL_TEXT_HOR).appendField(new Ve.FieldDropdown(e),"HALIGN"),this.appendDummyInput("").appendField(Ve.Msg.mixpy_PL_TEXT_VER).appendField(new Ve.FieldDropdown(t),"VALIGN"),this.appendValueInput("FONTNUM").setCheck(Number).appendField(Ve.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.mixpy_PL_TEXT_TOOLTIP)}},qh={init:function(){this.setColour(th),this.appendValueInput("ARRAY").appendField("获取维度"),this.setOutput(!0),this.setTooltip("Returns the shape of the array.")}},Kh={init:function(){this.setColour(th),this.appendValueInput("ARRAY").appendField("变形"),this.appendValueInput("DIMENSIONS").appendField("后维度为"),this.setOutput(!0),this.setTooltip("Reshapes the array to the specified dimensions.")}},Zh={init:function(){this.setColour(th),this.appendValueInput("ARRAY").appendField("把"),this.appendDummyInput().appendField("转换为").appendField(new Ve.FieldDropdown([["uint8","numpy.uint8"],["int32","numpy.int32"],["float32","numpy.float32"],["float64","numpy.float64"]]),"TYPE"),this.setOutput(!0),this.setTooltip("Converts array to specified type.")}},Qh={init:function(){this.setColour(th),this.appendValueInput("ARRAY").appendField("创建二维图"),this.appendDummyInput().appendField("颜色").appendField(new Ve.FieldDropdown([["gray","gray"],["viridis","viridis"],["plasma","plasma"],["inferno","inferno"],["magma","magma"],["cividis","cividis"],["hot","hot"],["cool","cool"],["spring","spring"],["summer","summer"],["autumn","autumn"],["winter","winter"],["jet","jet"]]),"COLORMAP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("Displays an image with the specified colormap.")}},Jh={init:function(){this.setColour(th),this.appendValueInput("X").appendField("从数据集"),this.appendValueInput("Y").appendField("获取平均图像,标签"),this.appendValueInput("DIGIT").appendField("为"),this.setOutput(!0),this.setTooltip("Computes the mean of X where y equals the specified digit.")}},ep={init:function(){this.setColour(th),this.appendValueInput("IMAGE").appendField("获取模板匹配结果,图片:"),this.appendValueInput("TEMPLATES").appendField("模板:"),this.setOutput(!0),this.setTooltip("Finds the index of the template that minimizes the sum of absolute differences with the image.")}},tp={init:function(){this.setColour(th),this.appendValueInput("ARRAY").appendField("获取平均值"),this.appendDummyInput().appendField("沿着axis").appendField(new Ve.FieldDropdown([["None","NONE"],["0","0"],["1","1"]]),"AXIS"),this.setOutput(!0),this.setTooltip("Computes the mean of the array along the specified axis.")}},np={init:function(){this.setColour(th),this.appendValueInput("ARRAY").appendField("获取标准差"),this.appendDummyInput().appendField("沿着axis").appendField(new Ve.FieldDropdown([["None","NONE"],["0","0"],["1","1"]]),"AXIS"),this.setOutput(!0),this.setTooltip("Computes the standard deviation of the array along the specified axis.")}},ip={init:function(){this.setColour(th),this.appendValueInput("DF").appendField("丢弃缺省值"),this.setOutput(!0),this.setTooltip("Drops rows with NaN values from the dataframe.")}},rp={init:function(){this.setColour(th),this.appendValueInput("DATAFRAME").appendField("从数据集"),this.appendValueInput("COLUMNS").appendField("中删除列").setCheck(String),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("从数据框中删除指定的列。用逗号分隔多个列名。")}},sp={init:function(){this.setColour(th),this.appendValueInput("NUM").appendField("生成单位行向量"),this.setOutput(!0),this.setTooltip("Creates an array of ones with the specified length.")}},op={init:function(){this.setColour(th),this.appendValueInput("ARRAY1").appendField("列拼接:数组1"),this.appendValueInput("ARRAY2").appendField("数组2"),this.setOutput(!0),this.setTooltip("Concatenates two arrays along the second axis using numpy.c_.")}},ap={init:function(){this.setColour(th),this.appendValueInput("ARRAY").appendField("获取行列式"),this.setOutput(!0),this.setTooltip("Computes the determinant of an array using numpy.linalg.det.")}},lp={init:function(){this.setColour(th),this.appendValueInput("MATRIX").appendField("获取转置"),this.setOutput(!0),this.setTooltip("Computes the transpose of the given matrix.")}},up={init:function(){this.setColour(th),this.appendValueInput("MATRIX1"),this.appendValueInput("MATRIX2").appendField("@"),this.setOutput(!0),this.setTooltip("Multiplies two matrices.")}},cp={init:function(){this.setColour(th),this.appendValueInput("ARRAY").appendField("获取逆矩阵"),this.setOutput(!0),this.setTooltip("Computes the inverse of the given matrix using numpy.linalg.inv.")}},dp={init:function(){this.setColour(th),this.appendValueInput("DATAFRAME").appendField("获取中位数"),this.setOutput(!0),this.setTooltip("Computes the median of the given dataframe.")}},hp={init:function(){this.setColour(th),this.appendValueInput("DATAFRAME").appendField("填充缺失值"),this.appendValueInput("VALUE").appendField("填充值"),this.appendDummyInput().appendField("是否修改原数据").appendField(new Ve.FieldDropdown([["True","True"],["False","False"]]),"INPLACE"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("Fills NaN values in the dataframe with the specified value.")}},pp={init:function(){this.setColour(th),this.appendValueInput("DATAFRAME").appendField("获取DataFrame信息"),this.setOutput(!0),this.setTooltip("Displays information about the DataFrame.")}},fp={init:function(){this.setColour(th),this.appendValueInput("ARRAY").appendField("获取最小值"),this.appendDummyInput().appendField("沿着axis").appendField(new Ve.FieldDropdown([["None","None"],["行","0"],["列","1"]]),"AXIS"),this.setOutput(!0),this.setTooltip("Returns the minimum value along the specified axis.")}},mp={init:function(){this.setColour(th),this.appendValueInput("ARRAY").appendField("获取最大值"),this.appendDummyInput().appendField("沿着axis").appendField(new Ve.FieldDropdown([["None","None"],["行","0"],["列","1"]]),"AXIS"),this.setOutput(!0),this.setTooltip("Returns the maximum value along the specified axis.")}},gp={init:function(){this.setColour(th),this.appendValueInput("ARRAY").appendField("获取数组大小"),this.setOutput(!0),this.setTooltip("Returns the size of the array.")}},_p={init:function(){this.setColour(th),this.appendValueInput("ARRAY1").appendField("点乘数组1"),this.appendValueInput("ARRAY2").appendField("点乘数组2"),this.setOutput(!0),this.setTooltip("Returns the dot product of two arrays.")}},yp={init:function(){this.setColour(th),this.appendValueInput("ARRAY").appendField("获取平方数组"),this.setOutput(!0),this.setTooltip("Returns the element-wise square of the array.")}},vp={init:function(){this.setColour(th),this.appendValueInput("ARRAY").appendField("获取数组元素和"),this.setOutput(!0),this.setTooltip("Returns the sum of the array.")}},bp={init:function(){this.setColour(th),this.appendValueInput("SIZE").appendField("生成随机数组"),this.setOutput(!0),this.setTooltip("Returns a random array of the specified size.")}},Tp={init:function(){this.setColour(th),this.appendValueInput("ARRAY").appendField("Python求和"),this.setOutput(!0),this.setTooltip("Returns the sum of the iterable.")}},xp={init:function(){this.setColour(th),this.appendValueInput("DICT").setAlign(Ve.inputs.Align.RIGHT).setCheck("Dict"),this.appendDummyInput().setAlign(Ve.inputs.Align.RIGHT).appendField("值排序"),this.appendValueInput("KEY").setAlign(Ve.inputs.Align.RIGHT).appendField("标签"),this.appendDummyInput().setAlign(Ve.inputs.Align.RIGHT).appendField("排序方式").appendField(new Ve.FieldDropdown([["升序","True"],["降序","False"]]),"AS_CENDING"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("")}},Ep={init:function(){this.setColour(th),this.appendValueInput("DICT").setAlign(Ve.inputs.Align.RIGHT).setCheck("Dict"),this.appendDummyInput().setAlign(Ve.inputs.Align.RIGHT).appendField("获取").appendField(new Ve.FieldDropdown([["前几行","head"],["最后几行","tail"]]),"TYPE"),this.appendValueInput("LINES").setAlign(Ve.inputs.Align.RIGHT).appendField("行数"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("")}},wp={init:function(){this.setColour(th),this.appendValueInput("DICT").setAlign(Ve.inputs.Align.RIGHT).setCheck("Dict"),this.appendDummyInput().setAlign(Ve.inputs.Align.RIGHT).appendField("筛选数据"),this.appendValueInput("KEY").setAlign(Ve.inputs.Align.RIGHT).appendField("满足条件"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("")}},Ip={init:function(){this.setColour(th),this.appendValueInput("DICT").setAlign(Ve.inputs.Align.RIGHT).setCheck("Dict"),this.appendValueInput("KEY").setAlign(Ve.inputs.Align.RIGHT).appendField("通过标签"),this.appendDummyInput().setAlign(Ve.inputs.Align.RIGHT).appendField("分组"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("")}},Ap={init:function(){this.setColour(th),this.appendDummyInput().setAlign(Ve.inputs.Align.RIGHT).appendField(new Ve.FieldDropdown([["求最小值","min"],["求最大值","max"],["求和","sum"],["求平均值","mean"],["求中位数","median"],["求标准差","std"]]),"TYPE"),this.appendValueInput("DICT").setAlign(Ve.inputs.Align.RIGHT).setCheck("Dict"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("")}},Sp={init:function(){this.setColour(th),this.appendDummyInput().appendField("清除已有图像"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Cp=80,Op={init:function(){this.setColour(Cp),this.appendDummyInput("").appendField(new Ve.FieldLabel(Ve.Msg.DS_CREATE_LINKEDLIST_NEW)),this.appendDummyInput("").appendField(new Ve.FieldLabel(Ve.Msg.DS_CREATE_LINKEDLIST_HEAD)).appendField(new Ve.FieldTextInput("head"),"VAR"),this.appendDummyInput("").appendField(new Ve.FieldLabel(Ve.Msg.DS_CREATE_LINKEDLIST_TYPE)).appendField(new Ve.FieldTextInput("tag"),"TYPE"),this.appendDummyInput().appendField(Ve.Msg.DS_CREATE_LINKEDLIST_ATTRIBUTE),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Ve.icons.MutatorIcon(["ds_create_linkedlist_item"],this)),this.setTooltip(Ve.Msg.DS_CREATE_LINKEDLIST_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("ds_create_linkedlist_container");t.initSvg();for(var n=t.getInput("STACK").connection,i=0;it?e[t]:"name"),"KEY"+t).appendField("=")},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Ve.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},Mp={init:function(){this.setColour(Cp),this.appendDummyInput().appendField(Ve.Msg.DS_CREATE_LINKEDLIST_CONTAINER_TITLE),this.appendStatementInput("STACK"),this.setTooltip(Ve.Msg.DS_CREATE_LINKEDLIST_CONTAINER_TOOLTIP),this.contextMenu=!1}},kp={init:function(){this.setColour(Cp),this.appendDummyInput().appendField(Ve.Msg.DS_CREATE_LINKEDLIST_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.DS_CREATE_LINKEDLIST_ITEM_TOOLTIP),this.contextMenu=!1}},Rp={init:function(){this.setColour(Cp),this.appendDummyInput("").appendField(Ve.Msg.DS_CREATE_NODE_USE).appendField(new Ve.FieldTextInput("tag"),"TYPE"),this.appendDummyInput("").appendField(Ve.Msg.DS_CREATE_NODE_NEW),this.appendValueInput("NODE"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ve.Msg.DS_CREATE_NODE_TOOLTIP)}},Np={init:function(){this.setColour(Cp),this.appendDummyInput("").appendField(Ve.Msg.DS_GET_NODE_ATTR_NODE),this.appendValueInput("NODE"),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_AIP_ATTR).appendField(new Ve.FieldTextInput("name"),"TYPE"),this.appendDummyInput("").appendField(Ve.Msg.DICTS_ADD_VALUE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Ve.Msg.DS_GET_NODE_ATTR_TOOLTIP)}},Dp={init:function(){this.setColour(Cp),this.appendDummyInput("").appendField(Ve.Msg.DS_SET_NODE_ATTR_NODE),this.appendValueInput("NODE"),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_AIP_ATTR).appendField(new Ve.FieldTextInput("name"),"TYPE"),this.appendValueInput("VAR").appendField(Ve.Msg.DS_SET_NODE_ATTR_SET),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ve.Msg.DS_SET_NODE_ATTR_TOOLTIP)}},Fp={init:function(){this.setColour(Cp),this.appendValueInput("NODE").appendField(Ve.Msg.DS_ADD_NODE_HEAD_NODE);var e=[[Ve.Msg.DS_ADD_NODE_BEFORE,"before"],[Ve.Msg.DS_ADD_NODE_AFTER,"after"]];this.appendDummyInput("").appendField(Ve.Msg.DS_ADD_NODE_LINKEDLIST),this.appendValueInput("NODE2").appendField(Ve.Msg.DS_SET_NODE_ATTR_NODE),this.appendValueInput("NODE3").appendField(new Ve.FieldDropdown(e),"DIR").appendField(Ve.Msg.DS_ADD_NODE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ve.Msg.DS_ADD_NODE_TOOLTIP)}},Lp={init:function(){this.setColour(Cp),this.appendValueInput("NODE").appendField(Ve.Msg.DS_ADD_NODE_HEAD_NODE);var e=[[Ve.Msg.DS_ADD_NODE_BEFORE,"before"],[Ve.Msg.DS_ADD_NODE_AFTER,"after"]];this.appendDummyInput("").appendField(Ve.Msg.DS_ADD_NODE_LINKEDLIST),this.appendDummyInput("").appendField(Ve.Msg.DS_CREATE_LINKEDLIST_ITEM_TITLE).appendField(new Ve.FieldTextInput("name"),"TYPE"),this.appendValueInput("VAR").appendField(Ve.Msg.MIXLY_AS),this.appendDummyInput("").appendField(Ve.Msg.DS_ADD_NODE_ATTR),this.appendValueInput("NODE3").appendField(new Ve.FieldDropdown(e),"DIR").appendField(Ve.Msg.DS_ADD_NODE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ve.Msg.DS_ADD_NODE_TOOLTIP)}},Pp={init:function(){this.setColour(Cp),this.appendValueInput("NODE").appendField(Ve.Msg.DS_ADD_NODE_HEAD_NODE),this.appendDummyInput("").appendField(Ve.Msg.DS_ADD_NODE_LINKEDLIST),this.appendValueInput("NODE2").appendField(Ve.Msg.DS_DEL_NODE_NAME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ve.Msg.DS_DEL_NODE_TOOLTIP)}},Bp={init:function(){this.setColour(Cp),this.appendValueInput("NODE").appendField(Ve.Msg.DS_ADD_NODE_HEAD_NODE),this.appendDummyInput("").appendField(Ve.Msg.DS_ADD_NODE_LINKEDLIST),this.appendDummyInput("").appendField(Ve.Msg.DS_DEL_NODE_ATTR).appendField(new Ve.FieldTextInput("name"),"TYPE"),this.appendValueInput("VAR").appendField(Ve.Msg.MIXLY_AS),this.appendDummyInput("").appendField(Ve.Msg.DS_ADD_NODE_ATTR),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ve.Msg.DS_DEL_NODE_TOOLTIP)}},$p={init:function(){this.setColour(Cp),this.appendValueInput("NODE").appendField(Ve.Msg.DS_ADD_NODE_HEAD_NODE),this.appendDummyInput("").appendField(Ve.Msg.DS_REVERSE_LINKEDLIST),this.appendValueInput("NODE2").appendField(Ve.Msg.DS_REVERSE_LINKEDLIST_NEW_HEAD),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ve.Msg.DS_DEL_NODE_TOOLTIP)}},Up="#777777",Vp={init:function(){this.setColour(Up),this.appendDummyInput("").appendField("from ").appendField(new Ve.FieldTextInput("ESP32"),"path").appendField(" import ").appendField(new Ve.FieldTextInput("*"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},zp={init:function(){this.setColour(Up),this.appendDummyInput("").appendField("import ").appendField(new Ve.FieldTextInput("module"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},jp={init:function(){this.setColour(Up),this.appendDummyInput("").appendField(new Ve.FieldTextInput("my_function"),"NAME"),this.itemCount_=1,this.arguments_=["x"],this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Ve.icons.MutatorIcon(["factory_create_with_item"],this))},mutationToDom:function(){var e=document.createElement("mutation");e.setAttribute("items",this.itemCount_);for(var t=0;tt?e[t]:'"key'+(t+1)+'"'),"KEY"+t).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Ve.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},Ef={init:function(){this.setColour(_f),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(Ve.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},wf={init:function(){this.setColour(_f),this.appendDummyInput().appendField(Ve.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},If={init:function(){this.setColour(_f),this.appendDummyInput().appendField(Ve.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},Af={init:function(){this.setColour(_f),this.appendDummyInput().appendField(Ve.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").setCheck(String).appendField(Ve.Msg.MIXLY_EMQX_SERVER).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(Ve.Msg.MIXLY_WIFI_USERNAME).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(Ve.Msg.MIXLY_IOT_PASSWORD).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("PROJECT").setCheck(String).appendField(Ve.Msg.MIXLY_EMQX_PROJECT).setAlign(Ve.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Sf={init:function(){this.setColour(_f),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(Ve.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(Ve.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(Ve.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},Cf={init:function(){this.setColour(_f),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(Ve.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(Ve.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(Ve.Msg.HTML_BODY),this.appendDummyInput().appendField(Ve.Msg.MIXLY_Service_quality_display).appendField(new Ve.FieldDropdown([[Ve.Msg.MIXLY_AT_MOST_ONCE,"0"],[Ve.Msg.MIXLY_AT_LEAST_ONCE,"1"]]),"quality"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},Of={init:function(){this.setColour(_f),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(Ve.Msg.MIXLY_EMQX_SUBSCRIBE+Ve.Msg.MIXLY_MICROBIT_MSG).appendField(Ve.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(Ve.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_ESP32_IOT_EMQX_SUBSCRIBE_TOOLTIP)}},Mf={init:function(){this.setColour(_f),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(Ve.Msg.MSG.stop+Ve.Msg.MIXLY_EMQX_SUBSCRIBE).appendField(Ve.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_ESP32_IOT_EMQX_SUBSCRIBE_TOOLTIP)}},kf={init:function(){this.setColour(_f),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Ve.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Rf={init:function(){this.setColour(_f),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Ve.Msg.MIXLY_EMQX_CONNECT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Nf={init:function(){this.setColour(_f),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Ve.Msg.MIXLY_ESP32_CHECK_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Df={init:function(){this.setColour(_f),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(Ve.MQTT_Topic),this.setInputsInline(!0),this.setOutput(!0)}},Ff={init:function(){this.setColour(_f),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(Ve.Msg.MIXLY_EMQX_PUBLISH_MSG),this.setInputsInline(!0),this.setOutput(!0)}},Lf={init:function(){this.setColour(_f),this.appendValueInput("VAR").appendField(Ve.Msg.MIXLY_ESP32_IOT_MAP_FORMATING),this.setOutput(!0)}},Pf={init:function(){this.setColour(_f),this.appendValueInput("VAR").appendField(Ve.Msg.MIXLY_MICROPYTHON_FORMAT+"(Json)"),this.setOutput(!0)}},Bf={init:function(){this.setColour(_f),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Ve.Msg.MIXLY_EMQX_PING),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Ve.Msg.MIXLY_ESP32_IOT_EMQX_PING_TOOLTIP)}},$f={init:function(){this.setColour(_f),this.appendDummyInput().appendField("MixIO").appendField(Ve.Msg.MIXLY_GET_NTP),this.appendValueInput("addr").appendField(Ve.blynk_SERVER_ADD),this.setInputsInline(!0),this.setOutput(!0)}},Uf={init:function(){this.setColour(_f),this.appendDummyInput().appendField(Ve.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(Ve.Msg.MIXLY_EMQX_SERVER).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(Ve.Msg.CONTROLS_FOR_INPUT_WITH+Ve.Msg.MIXLY_MIXIO_SHARE_KEY).setAlign(Ve.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Vf={init:function(){this.setColour(_f),this.appendDummyInput().appendField(Ve.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(Ve.Msg.MIXLY_EMQX_SERVER).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(Ve.Msg.CONTROLS_FOR_INPUT_WITH+"Mixly Key").setAlign(Ve.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},zf={init:function(){this.VISITOR_ID=ze.Config.BOARD.visitorId.str32.substring(0,8).toUpperCase(),this.setColour(_f),this.appendDummyInput("").appendField(this.newQuote_(!0)).appendField(new Ve.FieldTextInput(this.visitorId),"VISITOR_ID").appendField(this.newQuote_(!1)),this.setOutput(!0,null)},onchange:function(){const e=this.getFieldValue("VISITOR_ID");this.VISITOR_ID!==e&&this.setFieldValue(this.VISITOR_ID,"VISITOR_ID")},newQuote_:function(e){if(e==this.RTL)var t="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAqUlEQVQI1z3KvUpCcRiA8ef9E4JNHhI0aFEacm1o0BsI0Slx8wa8gLauoDnoBhq7DcfWhggONDmJJgqCPA7neJ7p934EOOKOnM8Q7PDElo/4x4lFb2DmuUjcUzS3URnGib9qaPNbuXvBO3sGPHJDRG6fGVdMSeWDP2q99FQdFrz26Gu5Tq7dFMzUvbXy8KXeAj57cOklgA+u1B5AoslLtGIHQMaCVnwDnADZIFIrXsoXrgAAAABJRU5ErkJggg==";else t="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAn0lEQVQI1z3OMa5BURSF4f/cQhAKjUQhuQmFNwGJEUi0RKN5rU7FHKhpjEH3TEMtkdBSCY1EIv8r7nFX9e29V7EBAOvu7RPjwmWGH/VuF8CyN9/OAdvqIXYLvtRaNjx9mMTDyo+NjAN1HNcl9ZQ5oQMM3dgDUqDo1l8DzvwmtZN7mnD+PkmLa+4mhrxVA9fRowBWmVBhFy5gYEjKMfz9AylsaRRgGzvZAAAAAElFTkSuQmCC";return new Ve.FieldImage(t,12,12,'"')}},jf={init:function(){this.VISITOR_ID=ze.Config.BOARD.visitorId.str32.substring(0,8).toUpperCase(),this.setColour(_f),this.appendDummyInput("").appendField(new Ve.FieldTextInput(this.visitorId),"VISITOR_ID"),this.setOutput(!0,null)},onchange:function(){const e=this.getFieldValue("VISITOR_ID");this.VISITOR_ID!==e&&this.setFieldValue(this.VISITOR_ID,"VISITOR_ID")}},Yf={init:function(){this.setColour(_f),this.appendDummyInput().appendField("MixIO").appendField(Ve.Msg.MSG.catEthernet_clinet),this.setOutput(!0),this.setInputsInline(!0)}},Gf={init:function(){this.setColour(_f),this.appendDummyInput().appendField("HTTP"+Ve.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(Ve.Msg.DISPLAY_IMAGE_LET2),this.appendDummyInput().appendField(Ve.Msg.MIXLY_REQUESTS_GET).appendField(Ve.Msg.MIXLY_GET_CURRENT_TIME).appendField(Ve.Msg.MIXLY_OPEN_DEBUG).appendField(new Ve.FieldDropdown([[Ve.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Ve.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Hf={init:function(){this.setColour(_f),this.appendDummyInput().appendField("HTTP"+Ve.Msg.MIXLY_Client).appendField(Ve.Msg.MIXLY_GET).appendField(new Ve.FieldDropdown([[Ve.Msg.MIXLY_REQUESTS_LEN,"client_len"],[Ve.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[Ve.Msg.MIXLY_REQUESTS_MESSAGE,"text"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},Wf={init:function(){this.setColour(_f),this.appendDummyInput().appendField("MQTT"+Ve.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(Ve.Msg.MIXLY_CONNECTTO),this.appendDummyInput().appendField(Ve.Msg.MIXLY_INIT_SUBSCRIBE).appendField(Ve.MQTT_Topic).appendField(new Ve.FieldDropdown([[Ve.Msg.MIXLY_GET_CURRENT_TIME,""]]),"key").appendField(Ve.Msg.MIXLY_OPEN_DEBUG).appendField(new Ve.FieldDropdown([[Ve.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Ve.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Xf={init:function(){this.setColour(_f),this.appendDummyInput().appendField("MQTT"+Ve.Msg.MIXLY_Client).appendField(Ve.Msg.MIXLY_GET).appendField(new Ve.FieldDropdown([[Ve.Msg.MIXLY_REQUESTS_LEN,"client_len"],[Ve.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[Ve.Msg.MIXLY_REQUESTS_MESSAGE,"time_msg()"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},qf=yf,Kf=vf,Zf=bf,Qf=xf,Jf=230,em={init:function(){this.setColour(Jf),this.appendDummyInput("").appendField(new Ve.FieldDropdown(ze.Profile.default.digital_write),"PIN"),this.setOutput(!0)}},tm={init:function(){this.setColour(Jf),this.appendDummyInput("").appendField(new Ve.FieldDropdown(ze.Profile.default.digital_read),"PIN"),this.setOutput(!0)}},nm={init:function(){this.setColour(Jf),this.appendDummyInput("").appendField(new Ve.FieldDropdown(ze.Profile.default.analog_write),"PIN"),this.setOutput(!0)}},im={init:function(){this.setColour(Jf),this.appendDummyInput("").appendField(new Ve.FieldDropdown(ze.Profile.default.analog_read),"PIN"),this.setOutput(!0)}},rm={init:function(){this.setColour(40),this.appendDummyInput("").appendField(new Ve.FieldLabel(Ve.Msg.MIXPY_SERIAL_OPEN)).appendField(new Ve.FieldTextInput("ser"),"SER"),this.appendDummyInput().appendField(Ve.Msg.MIXLY_SERIAL_BEGIN).appendField(new Ve.FieldDropdown([["115200","115200"],["256000","256000"],["128000","128000"],["57600","57600"],["56000","56000"],["43000","43000"],["38400","38400"],["28800","28800"],["19200","19200"],["9600","9600"],["4800","4800"],["2400","2400"],["1200","1200"],["600","600"],["300","300"],["110","110"]]),"BPS"),this.appendValueInput("VAR").appendField(Ve.Msg.MIXPY_SERIAL_OPEN_TIMEOUT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Ve.Msg.MIXPY_SERIAL_OPEN_TOOLTIP)}},sm={init:function(){this.setColour(40),this.appendValueInput("SER"),this.appendValueInput("VAR").appendField(Ve.Msg.MIXPY_SERIAL_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Ve.Msg.MIXPY_SERIAL_WRITE_TOOLTIP)}},om={init:function(){this.setColour(40),this.appendValueInput("SER"),this.appendValueInput("VAR").setCheck(Number).appendField(Ve.Msg.MIXPY_SERIAL_READ),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Ve.Msg.MIXPY_SERIAL_READ_TOOLTIP)}},am={init:function(){this.setColour(40),this.appendValueInput("SER"),this.appendDummyInput().appendField(Ve.Msg.MIXPY_SERIAL_CLOSE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Ve.Msg.MIXPY_SERIAL_CLOSE_TOOLTIP)}},lm=80,um={init:function(){this.appendDummyInput().appendField(Ve.Msg.SKLEARN_CLASSIFICATION_GENERATION),this.appendValueInput("n_samples").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.NUMBER_OF_SAMPLES),this.appendValueInput("n_features").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.NUMBER_OF_FEATURES),this.appendValueInput("n_informative").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.NUMBER_OF_EFFECTIVE_FEATURES),this.appendValueInput("n_redundant").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.NUMBER_OF_REDUNDANT_FEATURES),this.appendValueInput("n_repeated").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.NUMBER_OF_REPEATED_FEATURES),this.appendValueInput("n_classes").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.NUMBER_OF_CLASSES),this.appendValueInput("n_clusters_per_class").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.NUMBER_OF_CLUSTERS_PER_CLASSES),this.appendValueInput("random_state").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.RANDOM_SEED),this.setInputsInline(!1),this.setOutput(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")}},cm={init:function(){this.appendDummyInput().appendField(Ve.Msg.SKLEARN_REGRESSION_GENERATION),this.appendValueInput("n_samples").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.NUMBER_OF_SAMPLES),this.appendValueInput("n_features").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.NUMBER_OF_FEATURES),this.appendValueInput("n_informative").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.NUMBER_OF_EFFECTIVE_FEATURES),this.appendValueInput("n_targets").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.NUMBER_OF_LABELS),this.appendValueInput("bias").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.DEVIATION),this.appendValueInput("noise").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.NOISE),this.appendValueInput("random_state").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.RANDOM_SEED),this.setInputsInline(!1),this.setOutput(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")}},dm={init:function(){this.appendDummyInput().appendField(Ve.Msg.SKLEARN_CLUSTERING_GENERATION),this.appendValueInput("n_samples").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.NUMBER_OF_SAMPLES),this.appendValueInput("n_features").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.NUMBER_OF_FEATURES),this.appendValueInput("centers").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.NUMBER_OF_CLUSTERS),this.appendValueInput("cluster_std").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.STANDARD_DEVIATION_OF_CLUSTER),this.appendValueInput("center_box").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.CLUSTER_BOUNDING_BOX),this.appendValueInput("shuffle").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.SHUFFLE_SAMPLES),this.appendValueInput("random_state").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.RANDOM_SEED),this.setInputsInline(!1),this.setOutput(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")}},hm={init:function(){var e=[[Ve.Msg.SKLEARN_LOAD_IRIS,"load_iris"],[Ve.Msg.SKLEARN_LOAD_BOSTON,"load_boston"],[Ve.Msg.SKLEARN_LOAD_DIABETES,"load_diabetes"],[Ve.Msg.SKLEARN_LOAD_BREAST_CANCER,"load_breast_cancer"],[Ve.Msg.SKLEARN_LOAD_LINNERUD,"load_linnerud"],[Ve.Msg.SKLEARN_LOAD_DIGITS,"load_digits"]];this.appendDummyInput().appendField("sklearn "+Ve.Msg.LOAD).appendField(new Ve.FieldDropdown(e),"type").appendField(new Ve.FieldTextInput("iris"),"name"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")},getVars:function(){return[this.getFieldValue("name")]},renameVar:function(e,t){Ve.Names.equals(e,this.getFieldValue("name"))&&this.setTitleValue(t,"name")}},pm={init:function(){this.appendValueInput("name").setCheck(null).appendField("sklearn "+Ve.Msg.DATA_SET),this.appendDummyInput().setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MIXLY_GET).appendField(new Ve.FieldDropdown([[Ve.Msg.EIGENVALUES,"data"],[Ve.Msg.LABEL_VALUE,"target"],[Ve.Msg.FEATURE,"feature_names"],[Ve.Msg.mixpy_PYLAB_TICKS_TAG,"target_names"]]),"type"),this.setOutput(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")}},fm={init:function(){this.appendDummyInput().appendField("sklearn "+Ve.Msg.DATA_SEGMENTATION),this.appendValueInput("train_data").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.EIGENVALUES),this.appendValueInput("train_target").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.LABEL_VALUE),this.appendValueInput("test_size").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.TEST_SET_PROPORTION),this.appendValueInput("rondom_state").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.RANDOM_SEED),this.setInputsInline(!1),this.setOutput(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")}},mm={init:function(){this.appendDummyInput().appendField("sklearn "+Ve.Msg.DATA_SEGMENTATION),this.appendValueInput("train_data").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.EIGENVALUES),this.appendValueInput("test_size").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.TEST_SET_PROPORTION),this.appendValueInput("rondom_state").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.RANDOM_SEED),this.setInputsInline(!1),this.setOutput(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")}},gm={init:function(){this.appendDummyInput().appendField("sklearn "+Ve.Msg.SKLEARN_LINEARREGRESSION_INIT),this.appendValueInput("model_name").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MODEL_NAME),this.appendValueInput("fit_intercept").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.SKLEARN_CALCULATE_MODEL_INTERRUPT),this.appendValueInput("normalize").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.SKLEARN_REGRESSION_NORMIALIZATION),this.appendValueInput("n_jobs").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.SKLEARN_THREADS),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")}},_m={init:function(){this.appendDummyInput().appendField("sklearn "+Ve.Msg.SKLEARN_RIDGE_INIT),this.appendValueInput("model_name").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MODEL_NAME),this.appendValueInput("alpha").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.SKLEARN_REGULA_INTENSITY),this.appendValueInput("fit_intercept").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.SKLEARN_CALCULATE_MODEL_INTERRUPT),this.appendValueInput("normalize").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.SKLEARN_REGRESSION_NORMIALIZATION),this.appendValueInput("max_iter").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.SKLEARN_MAX_ITER),this.appendValueInput("random_state").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.RANDOM_SEED),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")}},ym={init:function(){this.appendDummyInput().appendField("sklearn "+Ve.Msg.SKLEARN_DECISIONTREE_INIT).appendField(new Ve.FieldDropdown([[Ve.Msg.SKLEARN_CLASSIFICATION_ALGORITHM,"DecisionTreeClassifier"],[Ve.Msg.SKLEARN_REGRESSION_ALGORITHM,"DecisionTreeRegressor"]]),"type"),this.appendValueInput("model_name").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MODEL_NAME),this.appendValueInput("max_depth").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.SKLEARN_MAXIMUM_TREE_DEPTH),this.appendValueInput("random_state").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.RANDOM_SEED),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")}},vm={init:function(){this.appendDummyInput().appendField("sklearn "+Ve.Msg.SKLEARN_RANDOMFOREST_INIT).appendField(new Ve.FieldDropdown([[Ve.Msg.SKLEARN_CLASSIFICATION_ALGORITHM,"RandomForestClassifier"],[Ve.Msg.SKLEARN_REGRESSION_ALGORITHM,"RandomForestRegressor"]]),"type"),this.appendValueInput("model_name").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MODEL_NAME),this.appendValueInput("n_estimators").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.NUMBER_OF_TREES),this.appendValueInput("max_depth").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.SKLEARN_MAXIMUM_TREE_DEPTH),this.appendValueInput("n_jobs").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.SKLEARN_THREADS),this.appendValueInput("random_state").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.RANDOM_SEED),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")}},bm={init:function(){this.appendDummyInput().appendField("sklearn "+Ve.Msg.SKLEARN_KNN_INIT).appendField(new Ve.FieldDropdown([[Ve.Msg.SKLEARN_CLASSIFICATION_ALGORITHM,"KNeighborsClassifier"],[Ve.Msg.SKLEARN_REGRESSION_ALGORITHM,"KNeighborsRegressor"]]),"type"),this.appendValueInput("model_name").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MODEL_NAME),this.appendValueInput("K").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField("K"),this.appendValueInput("n_jobs").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.SKLEARN_THREADS),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")}},Tm={init:function(){this.appendDummyInput().appendField("sklearn "+Ve.Msg.SKLEARN_GAUSSINNB_INIT),this.appendValueInput("model_name").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MODEL_NAME),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")}},xm={init:function(){this.appendDummyInput().appendField("sklearn 初始化 PCA 算法"),this.appendValueInput("model_name").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MODEL_NAME),this.appendValueInput("n_components").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.SKLEARN_PCA_N_COMPONENTS),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")}},Em={init:function(){this.appendDummyInput().appendField("sklearn PCA 降维"),this.appendValueInput("model_name").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MODEL_NAME),this.appendValueInput("train_data").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.EIGENVALUES),this.setInputsInline(!0),this.setOutput(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")}},wm={init:function(){this.appendDummyInput().appendField("sklearn "+Ve.Msg.SKLEARN_KMEANS_INIT),this.appendValueInput("model_name").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MODEL_NAME),this.appendValueInput("n_clusters").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.NUMBER_OF_CLUSTERS_JUST),this.appendValueInput("max_iter").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.SKLEARN_MAX_ITER),this.appendValueInput("random_state").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.RANDOM_SEED),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")}},Im={init:function(){this.appendDummyInput().appendField("sklearn K-均值聚类"),this.appendValueInput("model_name").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MODEL_NAME),this.appendValueInput("train_data").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.EIGENVALUES),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")}},Am={init:function(){this.appendDummyInput().appendField("sklearn "+Ve.Msg.TRAINING_MODEL),this.appendValueInput("model_name").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MODEL_NAME),this.appendValueInput("train_data").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.EIGENVALUES),this.appendValueInput("train_target").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.LABEL_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")}},Sm={init:function(){this.appendDummyInput().appendField("sklearn "+Ve.Msg.TRAINING_MODEL),this.appendValueInput("model_name").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MODEL_NAME),this.appendValueInput("train_data").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.EIGENVALUES),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")}},Cm={init:function(){this.appendDummyInput().appendField("sklearn "+Ve.Msg.MODEL_PRODICTION),this.appendValueInput("model_name").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MODEL_NAME),this.appendValueInput("train_data").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.EIGENVALUES),this.setInputsInline(!0),this.setOutput(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")}},Om={init:function(){this.appendDummyInput().appendField("sklearn "+Ve.Msg.CALCULATE_THE_SCORE),this.appendValueInput("model_name").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MODEL_NAME),this.appendValueInput("train_data").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.EIGENVALUES),this.appendValueInput("train_target").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.LABEL_VALUE),this.setInputsInline(!0),this.setOutput(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")}},Mm={init:function(){this.appendDummyInput().appendField("sklearn "+Ve.Msg.CALCULATE_THE_SCORE),this.appendValueInput("model_name").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MODEL_NAME),this.appendValueInput("train_data").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.EIGENVALUES),this.setInputsInline(!0),this.setOutput(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")}},km={init:function(){this.appendDummyInput().appendField("sklearn "+Ve.Msg.SKLEARN_GENERALIZED_LINEAR_REGRESSION),this.appendValueInput("model_name").setAlign(Ve.inputs.Align.RIGHT).setCheck(null).appendField(Ve.Msg.MODEL_NAME),this.appendDummyInput().setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MIXLY_GET).appendField(new Ve.FieldDropdown([[Ve.Msg.SKLEARN_COEF,"coef_"],[Ve.Msg.SKLEARN_INTERCEPT,"intercept_"]]),"type"),this.setOutput(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")}},Rm={init:function(){this.appendDummyInput().appendField("sklearn "+Ve.Msg.SKLEARN_CLUSTERING),this.appendValueInput("model_name").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MODEL_NAME),this.appendDummyInput().appendField(Ve.Msg.MIXLY_GET).appendField(new Ve.FieldDropdown([[Ve.Msg.SKLEARN_CLUSTER_CENTER,"cluster_centers_"],[Ve.Msg.SKLEARN_LABELS_AFTER_CLUSTERING,"labels_"],[Ve.Msg.SKLEARN_CLUSTERING_SUM_OF_SQUARED_DISTANCES,"inertia_"]]),"type"),this.setInputsInline(!0),this.setOutput(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")}},Nm={init:function(){this.appendValueInput("model_name").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField("sklearn").appendField(new Ve.FieldDropdown([[Ve.Msg.SKLEARN_SAVE_MODEL,"dump"],[Ve.Msg.SKLEARN_LOAD_MODEL,"load"]]),"type").appendField(" "+Ve.Msg.MODEL_NAME),this.appendValueInput("address").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")}},Dm=120,Fm={init:function(){this.setColour(Dm),this.appendValueInput("DELAY_TIME",Number).appendField(Ve.Msg.MIXLY_DELAY+"("+Ve.Msg.MIXLY_MILLIS+")").setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ve.Msg.MIXLY_TOOLTIP_CONTROL_DELAY)}},Lm={init:function(){this.setColour(Dm),this.appendDummyInput().appendField(Ve.Msg.blockpy_time_time),this.setOutput(!0,Number),this.setTooltip(Ve.Msg.MIXLY_TOOLTIP_CONTROL_MILLIS)}},Pm={init:function(){this.setColour(Dm),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_SYSTEM_TIME_LOCALTIME),this.appendDummyInput().appendField(new Ve.FieldDropdown([[Ve.Msg.MIXLY_SYSTEM_TIME_LOCALTIME_ALL,"all"],[Ve.Msg.MIXLY_SYSTEM_TIME_LOCALTIME_YEAR,"0"],[Ve.Msg.MIXLY_SYSTEM_TIME_LOCALTIME_MONTH,"1"],[Ve.Msg.MIXLY_SYSTEM_TIME_LOCALTIME_DATE,"2"],[Ve.Msg.MIXLY_SYSTEM_TIME_LOCALTIME_HOUR,"3"],[Ve.Msg.MIXLY_SYSTEM_TIME_LOCALTIME_MINUTE,"4"],[Ve.Msg.MIXLY_SYSTEM_TIME_LOCALTIME_SECOND,"5"],[Ve.Msg.MIXLY_SYSTEM_TIME_LOCALTIME_INWEEK,"6"],[Ve.Msg.MIXLY_SYSTEM_TIME_LOCALTIME_INYEAR,"7"],[Ve.Msg.MIXLY_SYSTEM_TIME_LOCALTIME_DST,"8"]]),"op"),this.setOutput(!0),this.setInputsInline(!0)}},Bm={init:function(){this.setColour(Dm),this.appendValueInput("STATUS_CODE",Number).appendField(Ve.Msg.MIXLY_MICROBIT_Panic_with_status_code).setCheck(Number),this.setPreviousStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ve.Msg.MIXLY_TOOLTIP_CONTROL_DELAY)}},$m={init:function(){this.setColour(Dm),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MICROBIT_Reset_micro),this.setPreviousStatement(!0)}},Um={init:function(){this.setColour(Dm),this.appendValueInput("TIME").setCheck(Number).setAlign(Ve.inputs.Align.RIGHT).appendField("MsTimer2").appendField(Ve.Msg.MIXLY_MSTIMER2_EVERY),this.appendDummyInput().appendField("ms"),this.appendStatementInput("DO").appendField(Ve.Msg.MIXLY_MSTIMER2_DO),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Vm={init:function(){this.setColour(Dm),this.appendDummyInput().appendField("MsTimer2").appendField(Ve.Msg.MIXLY_MSTIMER2_START),this.setPreviousStatement(!0),this.setNextStatement(!0)}},zm={init:function(){this.setColour(Dm),this.appendDummyInput().appendField("MsTimer2").appendField(Ve.Msg.MIXLY_STOP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},jm={init:function(){this.setColour(Dm),this.appendValueInput("DELAY_TIME",Number).appendField(Ve.Msg.MIXLY_DELAY).setCheck(Number),this.appendDummyInput().appendField(Ve.Msg.MIXLY_SECOND),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ve.Msg.MIXLY_TOOLTIP_CONTROL_DELAY)}},Ym=180,Gm={init:function(){this.setColour(Ym),this.appendDummyInput("").appendField(Ve.Msg.blockpy_turtle_create).appendField(new Ve.FieldTextInput("tina"),"VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.blockpy_turtle_create_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Ve.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},Hm={init:function(){this.setColour(Ym),this.appendDummyInput().appendField(Ve.Msg.blockpy_TURTLE_DONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Wm={init:function(){this.setColour(Ym),this.appendDummyInput().appendField(Ve.Msg.MIXLY_PYTHON_TURTLE_EXITONCLICK),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Xm={init:function(){this.appendValueInput("TUR").setCheck("Turtle");var e=[[Ve.Msg.blockpy_forward,"forward"],[Ve.Msg.blockpy_backward,"backward"]];this.setColour(Ym),this.appendValueInput("VAR").appendField(Ve.Msg.MIXLY_MICROBIT_JS_MOVE_BY).appendField(new Ve.FieldDropdown(e),"DIR").appendField(Ve.Msg.MIXLY_MICROBIT_JS_MOVE_BY_num),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip(function(){var e=t.getFieldValue("DIR");return{forward:Ve.Msg.MIXLY_TOOLTIP_TURTEL_FORWARD,backward:Ve.Msg.MIXLY_TOOLTIP_TURTEL_BACKWARD}[e]})}},qm={init:function(){this.appendValueInput("TUR").setCheck("Turtle");var e=[[Ve.Msg.blockpy_left,"left"],[Ve.Msg.blockpy_right,"right"]];this.setColour(Ym),this.appendValueInput("VAR").appendField(Ve.Msg.blockpy_turtle_rotate).appendField(new Ve.FieldDropdown(e),"DIR").appendField(Ve.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip(function(){var e=t.getFieldValue("DIR");return{left:Ve.Msg.MIXLY_TOOLTIP_TURTEL_LEFT,right:Ve.Msg.MIXLY_TOOLTIP_TURTEL_RIGHT}[e]})}},Km={init:function(){this.setColour(Ym),this.appendValueInput("TUR").setCheck("Turtle"),this.appendValueInput("data").setCheck(Number).appendField(Ve.Msg.blockpy_setheading),this.appendDummyInput().appendField(Ve.Msg.blockpy_setheading_degree),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Zm={init:function(){this.setColour(Ym),this.appendValueInput("TUR").setCheck("Turtle"),this.appendValueInput("data").setCheck(Number).appendField(Ve.Msg.MIXLY_TURTLE_SCREEN_DELAY),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MILLIS),this.setTooltip(Ve.Msg.MIXLY_TOOLTIP_TURTEL_SCREEN_DELAY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Qm={init:function(){this.setColour(Ym),this.appendValueInput("TUR").setCheck("Turtle"),this.appendValueInput("data").setCheck(Number).appendField(Ve.Msg.blockpy_turtle_goto),this.appendValueInput("val").setCheck(Number).appendField(Ve.Msg.blockpy_turtle_goto_y),this.appendDummyInput().appendField(Ve.Msg.blockpy_turtle_goto_position),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Jm={init:function(){this.appendValueInput("TUR").setCheck("Turtle");var e=[[Ve.Msg.PYLAB_LABEL_X,"x"],[Ve.Msg.PYLAB_LABEL_Y,"y"]];this.setColour(Ym),this.appendValueInput("VAR").appendField(new Ve.FieldDropdown(e),"DIR").appendField(Ve.Msg.MIXLY_MIXPY_TURTLE_SETXY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_MIXPY_TURTLE_SETXY_TOOLTIP)}},eg={init:function(){this.setColour(Ym);var e=[[Ve.Msg.TURTLE_POS,"pos"],[Ve.Msg.TURTLE_SHAPE,"shape"],[Ve.Msg.TURTLE_HEADING,"heading"],[Ve.Msg.MIXLY_MIXPY_TURTLE_WIDTH,"width"],[Ve.Msg.MIXLY_TURTEL_GET_SHAPESIZE,"shapesize"],[Ve.Msg.MIXLY_SPEED,"speed"]];this.appendValueInput("TUR").setCheck("Turtle"),this.appendDummyInput("").appendField(Ve.Msg.TURTLE_POS_SHAPE).appendField(new Ve.FieldDropdown(e),"DIR");var t=this;this.setTooltip(function(){var e=t.getFieldValue("DIR");return{pos:Ve.Msg.MIXLY_TOOLTIP_TURTEL_POS,shape:Ve.Msg.MIXLY_TOOLTIP_TURTEL_SHAPE,heading:Ve.Msg.MIXLY_TOOLTIP_TURTEL_HEADING,width:Ve.Msg.MIXLY_TOOLTIP_TURTEL_WIDTH,speed:Ve.Msg.MIXLY_TOOLTIP_TURTEL_GET_SPEED,shapesize:Ve.Msg.MIXLY_TURTEL_GET_SHAPESIZE_TOOLTIP}[e]}),this.setOutput(!0),this.setInputsInline(!0)}},tg={init:function(){this.setColour(Ym),this.appendValueInput("TUR").setCheck("Turtle"),this.appendDummyInput().appendField(Ve.Msg.TURTLE_STAMP),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ng={init:function(){this.appendValueInput("TUR").setCheck("Turtle");var e=[[Ve.Msg.MIXLY_LCD_STAT_CLEAR,"clear"],[Ve.Msg.blockpy_turtle_reset,"reset"],[Ve.Msg.blockpy_turtle_home,"home"]];this.setColour(Ym),this.appendDummyInput("").appendField(new Ve.FieldDropdown(e),"DIR"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip(function(){var e=t.getFieldValue("DIR");return{clear:Ve.Msg.MIXLY_TOOLTIP_TURTEL_CLEAR,reset:Ve.Msg.MIXLY_TOOLTIP_TURTEL_RESET,home:Ve.Msg.MIXLY_TOOLTIP_TURTEL_HOME}[e]})}},ig={init:function(){this.appendValueInput("TUR").setCheck("Turtle");var e=[[Ve.Msg.blockpy_turtle_penup,"penup"],[Ve.Msg.blockpy_turtle_pendown,"pendown"]];this.setColour(Ym),this.appendDummyInput("").appendField(new Ve.FieldDropdown(e),"DIR"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip(function(){var e=t.getFieldValue("DIR");return{penup:Ve.Msg.MIXLY_TOOLTIP_TURTEL_PENUP,pendown:Ve.Msg.MIXLY_TOOLTIP_TURTEL_PENDOWN}[e]})}},rg={init:function(){this.appendValueInput("TUR").setCheck("Turtle");var e=[[Ve.Msg.blockpy_turtle_beginfill,"begin"],[Ve.Msg.blockpy_turtle_endfill,"end"]];this.setColour(Ym),this.appendDummyInput("").appendField(new Ve.FieldDropdown(e),"DIR"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip(function(){var e=t.getFieldValue("DIR");return{begin:Ve.Msg.MIXLY_TOOLTIP_TURTEL_BEGINFILL,end:Ve.Msg.MIXLY_TOOLTIP_TURTEL_ENDFILL}[e]})}},sg={init:function(){this.appendDummyInput("").appendField(new Ve.FieldTextInput("tina"),"TUR");var e=[[Ve.Msg.blockpy_turtle_size,"pensize"],[Ve.Msg.MIXLY_SPEED,"speed"]];this.setColour(Ym),this.appendValueInput("VAR").appendField(Ve.Msg.blockpy_turtle_set).appendField(new Ve.FieldDropdown(e),"DIR").appendField(Ve.Msg.blockpy_turtle_set_num),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip(function(){var e=t.getFieldValue("DIR");return{pensize:Ve.Msg.MIXLY_TOOLTIP_TURTEL_SIZE,speed:Ve.Msg.MIXLY_TOOLTIP_TURTEL_SPEED}[e]})}},og={init:function(){this.setColour(Ym),this.appendValueInput("TUR").setCheck("Turtle"),this.appendValueInput("data").setCheck(Number).appendField(Ve.Msg.blockpy_turtle_set_size),this.setTooltip(Ve.Msg.MIXLY_TOOLTIP_TURTEL_SIZE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ag={init:function(){this.setColour(Ym),this.appendValueInput("TUR").setCheck("Turtle"),this.appendValueInput("data").setCheck(Number).appendField(Ve.Msg.blockpy_turtle_set_speed),this.setTooltip(Ve.Msg.MIXLY_TOOLTIP_TURTEL_SPEED),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},lg={init:function(){this.appendValueInput("TUR").setCheck("Turtle");var e=[[Ve.Msg.blockpy_turtle_circle,"circle"],[Ve.Msg.blockpy_turtle_dot,"dot"]];this.setColour(Ym),this.appendValueInput("VAR").appendField(Ve.Msg.blockpy_turtle_draw).appendField(new Ve.FieldDropdown(e),"DIR").appendField(Ve.Msg.blockpy_turtle_radius),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip(function(){var e=t.getFieldValue("DIR");return{circle:Ve.Msg.MIXLY_TOOLTIP_TURTEL_CIRCLE,dot:Ve.Msg.MIXLY_TOOLTIP_TURTEL_DOT}[e]})}},ug={init:function(){this.appendValueInput("TUR").setCheck("Turtle"),this.setColour(Ym),this.appendValueInput("VAR").appendField(Ve.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE).appendField(Ve.Msg.blockpy_turtle_radius),this.appendValueInput("data").setCheck(Number).appendField(Ve.Msg.blockpy_turtle_angle),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_TOOLTIP_TURTEL_CIRCLE)}},cg={init:function(){this.appendValueInput("TUR").setCheck("Turtle");var e=[[Ve.Msg.blockpy_turtle_hide,"hideturtle"],[Ve.Msg.blockpy_turtle_show,"showturtle"]];this.setColour(Ym),this.appendDummyInput("").appendField(new Ve.FieldDropdown(e),"DIR"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip(function(){var e=t.getFieldValue("DIR");return{hideturtle:Ve.Msg.MIXLY_TOOLTIP_TURTEL_HIDE,showturtle:Ve.Msg.MIXLY_TOOLTIP_TURTEL_SHOW}[e]})}},dg={init:function(){this.setColour(Ym),this.appendDummyInput().appendField(Ve.Msg.blockpy_turtle_bgcolor).appendField(new Ve.FieldColour("#ff0000"),"FIELDNAME"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},hg={init:function(){this.setColour(Ym),this.appendValueInput("TITLE").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MIXLY_TURTLE_TITLE_SET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},pg={init:function(){this.setColour(Ym),this.appendDummyInput().appendField(Ve.Msg.MIXLY_TURTLE_SETUP_SET),this.appendValueInput("WIDTH").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MIXLY_WIDTH),this.appendValueInput("HEIGHT").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MIXLY_HEIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},fg={init:function(){this.setColour(Ym),this.appendDummyInput().appendField(Ve.Msg.MIXLY_TURTLE_TRACER),this.appendValueInput("STEP").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MIXLY_TURTLE_TRACER_STEP),this.appendValueInput("DELAY").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MIXLY_TURTLE_TRACER_DELAY_MS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},mg={init:function(){this.appendValueInput("TUR").setCheck("Turtle"),this.setColour(Ym),this.appendDummyInput().appendField(Ve.Msg.blockpy_turtle_pencolor).appendField(new Ve.FieldColour("#ff0000"),"FIELDNAME"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},gg={init:function(){this.appendValueInput("TUR").setCheck("Turtle"),this.setColour(Ym),this.appendDummyInput().appendField(Ve.Msg.blockpy_turtle_fillcolor).appendField(new Ve.FieldColour("#ff0000"),"FIELDNAME"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},_g={init:function(){this.setColour(Ym),this.appendValueInput("TUR").setCheck("Turtle"),this.appendDummyInput("").appendField(Ve.Msg.TURTLE_CLONE),this.setTooltip(Ve.Msg.TURTLE_CLONE_TOOLTIP),this.setOutput(!0)}},yg={init:function(){this.setColour(Ym),this.appendValueInput("VAR").setCheck(String).appendField(Ve.Msg.blockpy_turtle_bgcolor),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},vg={init:function(){this.appendValueInput("TUR").setCheck("Turtle"),this.setColour(Ym),this.appendValueInput("VAR").setCheck(String).appendField(Ve.Msg.blockpy_turtle_pencolor),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},bg={init:function(){this.appendValueInput("TUR").setCheck("Turtle"),this.setColour(Ym),this.appendValueInput("VAR").setCheck(String).appendField(Ve.Msg.blockpy_turtle_fillcolor),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Tg={init:function(){this.appendValueInput("TUR").setCheck("Turtle"),this.setColour(Ym),this.appendDummyInput().appendField(Ve.Msg.blockpy_turtle_pencolor).appendField(new Ve.FieldColour("#ff0000"),"FIELDNAME"),this.appendDummyInput().appendField(Ve.Msg.blockpy_turtle_fillcolor).appendField(new Ve.FieldColour("#ff0000"),"FIELDNAME2"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},xg={init:function(){this.appendValueInput("TUR").setCheck("Turtle"),this.setColour(Ym),this.appendValueInput("VAR1").setCheck(String).appendField(Ve.Msg.blockpy_turtle_pencolor),this.appendValueInput("VAR2").setCheck(String).appendField(Ve.Msg.blockpy_turtle_fillcolor),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Eg={init:function(){this.setColour(Ym),this.appendValueInput("VAR").setCheck(String).appendField(Ve.Msg.blockpy_turtle_bgcolor_hex),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},wg={init:function(){this.appendValueInput("TUR").setCheck("Turtle"),this.setColour(Ym),this.appendValueInput("VAR").setCheck(String).appendField(Ve.Msg.blockpy_turtle_pencolor_hex),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ig={init:function(){this.appendValueInput("TUR").setCheck("Turtle"),this.setColour(Ym),this.appendValueInput("VAR").setCheck(String).appendField(Ve.Msg.blockpy_turtle_fillcolor_hex),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ag={init:function(){this.appendValueInput("TUR").setCheck("Turtle");var e=[[Ve.Msg.blockpy_turtle_shape_arrow,"arrow"],[Ve.Msg.blockpy_turtle_shape_turtle,"turtle"],[Ve.Msg.blockpy_turtle_shape_circle,"circle"],[Ve.Msg.blockpy_turtle_shape_square,"square"],[Ve.Msg.blockpy_turtle_shape_triangle,"triangle"],[Ve.Msg.blockpy_turtle_shape_classic,"classic"]];this.setColour(Ym),this.appendDummyInput("").appendField(Ve.Msg.blockpy_turtle_shape).appendField(new Ve.FieldDropdown(e),"DIR"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.TURTLE_SHAPE_TOOLTIP)}},Sg={init:function(){this.appendValueInput("TUR").setCheck("Turtle"),this.setColour(Ym),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_TURTEL_SHAPESIZE),this.appendValueInput("WID").setCheck(Number).appendField(Ve.Msg.MIXLY_TURTEL_SHAPESIZE_WID),this.appendValueInput("LEN").setCheck(Number).appendField(Ve.Msg.MIXLY_TURTEL_SHAPESIZE_LEN),this.appendValueInput("OUTLINE").setCheck(Number).appendField(Ve.Msg.MIXLY_TURTEL_SHAPESIZE_OUTLINE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_TOOLTIP_SHAPESIZE)}},Cg={init:function(){this.appendDummyInput("").appendField(Ve.Msg.MIXLY_MIXPY_TURTLE_NUMINPUT),this.setColour(Ym),this.appendValueInput("TITLE").setCheck(String).appendField(Ve.Msg.MIXLY_MIXPY_TURTLE_TEXTINPUT_TITLE),this.appendValueInput("PROMPT").setCheck(String).appendField(Ve.Msg.MIXLY_MIXPY_TURTLE_TEXTINPUT_PROMPT),this.appendValueInput("DEFAULT").setCheck(Number).appendField(Ve.Msg.DICTS_DEFAULT_VALUE),this.appendValueInput("MIN").setCheck(Number).appendField(Ve.Msg.MATH_ONLIST_OPERATOR_MIN),this.appendValueInput("MAX").setCheck(Number).appendField(Ve.Msg.MATH_ONLIST_OPERATOR_MAX),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Ve.Msg.TURTLE_NUMINPUT_TOOLTIP)}},Og={init:function(){this.appendDummyInput("").appendField(Ve.Msg.MIXLY_MIXPY_TURTLE_TEXTINPUT),this.setColour(Ym),this.appendValueInput("TITLE").setCheck(String).appendField(Ve.Msg.MIXLY_MIXPY_TURTLE_TEXTINPUT_TITLE),this.appendValueInput("PROMPT").setCheck(String).appendField(Ve.Msg.MIXLY_MIXPY_TURTLE_TEXTINPUT_PROMPT),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Ve.Msg.TURTLE_TEXTINPUT_TOOLTIP)}},Mg={init:function(){this.appendValueInput("TUR").setCheck("Turtle"),this.setColour(Ym),this.appendValueInput("VAR").setCheck(String).appendField(Ve.Msg.blockpy_turtle_write),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.TURTLE_WRITE_TOOLTIP)}},kg={init:function(){var e=[[Ve.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"],[Ve.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"]],t=[[Ve.Msg.MIXLY_TURTLE_WRITE_ALIGN_LEFT,"left"],[Ve.Msg.MIXLY_TURTLE_WRITE_ALIGN_CENTER,"center"],[Ve.Msg.MIXLY_TURTLE_WRITE_ALIGN_RIGHT,"right"]],n=[[Ve.Msg.MIXLY_TURTLE_WRITE_FONT_TYPE_NORMAL,"normal"],[Ve.Msg.MIXLY_TURTLE_WRITE_FONT_TYPE_BOLD,"bold"],[Ve.Msg.MIXLY_TURTLE_WRITE_FONT_TYPE_ITALIC,"italic"],[Ve.Msg.MIXLY_TURTLE_WRITE_FONT_TYPE_BOLD_ITALIC,'bold","italic']];this.appendValueInput("TUR").setCheck("Turtle"),this.setColour(Ym),this.appendValueInput("VAR").setCheck(String).appendField(Ve.Msg.blockpy_turtle_write),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_TURTLE_WRITE_MOVE).appendField(new Ve.FieldDropdown(e),"MOVE"),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_TURTLE_WRITE_ALIGN).appendField(new Ve.FieldDropdown(t),"ALIGN"),this.appendValueInput("FONTNAME").setCheck(String).appendField(Ve.Msg.MIXLY_TURTLE_WRITE_FONT_NAME),this.appendValueInput("FONTNUM").setCheck(Number).appendField(Ve.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_TURTLE_WRITE_FONT_TYPE).appendField(new Ve.FieldDropdown(n),"FONTTYPE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.TURTLE_WRITE_TOOLTIP)}},Rg={init:function(){var e=[[Ve.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"],[Ve.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"]],t=[[Ve.Msg.MIXLY_TURTLE_WRITE_ALIGN_LEFT,"left"],[Ve.Msg.MIXLY_TURTLE_WRITE_ALIGN_CENTER,"center"],[Ve.Msg.MIXLY_TURTLE_WRITE_ALIGN_RIGHT,"right"]],n=[[Ve.Msg.MIXLY_TURTLE_WRITE_FONT_TYPE_NORMAL,"normal"],[Ve.Msg.MIXLY_TURTLE_WRITE_FONT_TYPE_BOLD,"bold"],[Ve.Msg.MIXLY_TURTLE_WRITE_FONT_TYPE_ITALIC,"italic"]];this.appendValueInput("TUR").setCheck("Turtle"),this.setColour(Ym),this.appendValueInput("VAR").setCheck(String).appendField(Ve.Msg.blockpy_turtle_write),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_TURTLE_WRITE_MOVE).appendField(new Ve.FieldDropdown(e),"MOVE"),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_TURTLE_WRITE_ALIGN).appendField(new Ve.FieldDropdown(t),"ALIGN"),this.appendValueInput("FONTNAME").setCheck(String).appendField(Ve.Msg.MIXLY_TURTLE_WRITE_FONT_NAME),this.appendValueInput("FONTNUM").setCheck(Number).appendField(Ve.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_TURTLE_WRITE_FONT_TYPE).appendField(new Ve.FieldDropdown(n),"FONTTYPE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.TURTLE_WRITE_TOOLTIP)}},Ng={init:function(){this.setColour(Ym),this.appendDummyInput("").setAlign(Ve.inputs.Align.RIGHT).appendField(new Ve.FieldColour("ff0000"),"COLOR"),this.setInputsInline(!0),this.setOutput(!0,String)}},Dg={init:function(){this.setColour(Ym),this.appendValueInput("TUR").setCheck("Turtle"),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_TURTEL_GETSCREEN).appendField(new Ve.FieldTextInput("screen"),"VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_TURTEL_GETSCREEN_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Ve.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},Fg={init:function(){this.setColour(Ym),this.appendValueInput("TUR"),this.appendDummyInput().appendField(Ve.Msg.MIXLY_TURTLE_UPDATE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ve.Msg.MIXLY_TURTEL_EVENT_ONKEY_TOOLTIP)}},Lg={init:function(){this.setColour(Ym),this.appendValueInput("TUR"),this.appendValueInput("VAR").appendField(Ve.Msg.MIXLY_TURTEL_EVENT_ONKEY),this.appendValueInput("callback").appendField(Ve.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ve.Msg.MIXLY_TURTEL_EVENT_ONKEY_TOOLTIP)}},Pg={init:function(){this.setColour(Ym),this.appendValueInput("TUR"),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_TURTEL_EVENT_ONCLICK),this.appendValueInput("callback").appendField(Ve.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ve.Msg.MIXLY_TURTEL_EVENT_ONCLICK_TOOLTIP)}},Bg={init:function(){this.setColour(Ym),this.appendValueInput("TUR"),this.appendValueInput("VAR").appendField(Ve.Msg.MIXLY_TURTEL_EVENT_ONTIMER),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_mSecond),this.appendValueInput("callback").appendField(Ve.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ve.Msg.MIXLY_TURTEL_EVENT_ONTIMER_TOOLTIP)}},$g={init:function(){this.setColour(Ym),this.appendValueInput("TUR"),this.appendDummyInput().appendField(Ve.Msg.MIXLY_TURTEL_SCREEN_LISTEN),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ug={init:function(){this.setColour(Ym),this.appendValueInput("TUR"),this.appendValueInput("FILE").setCheck(String).appendField(Ve.Msg.mixpy_PL_SAVEFIG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Ve.Msg.mixpy_TURTLE_SAVEFIG_TOOLTIP)}},Vg=function(e,t){var n=this.getFieldValue("TYPE");return t.definitions_.import_FileDialog="import FileDialog",["FileDialog."+n+"()",t.ORDER_ATOMIC]},zg=function(e,t){var n=this.getFieldValue("CTYPE");return t.definitions_.import_aip="import aip",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+" = aip."+n+"("+t.valueToCode(this,"API_KEY",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"SECRET_KEY",t.ORDER_ATOMIC)+")\n"},jg=function(e,t){return t.definitions_.import_aip="import aip",[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".synthesis("+t.valueToCode(this,"STR",t.ORDER_ATOMIC)+", options="+(t.valueToCode(this,"ATTR",t.ORDER_ATOMIC)||"{}")+")",t.ORDER_ATOMIC]},Yg=function(e,t){return t.definitions_.import_aip="import aip",[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".asr("+(t.valueToCode(this,"FILE",t.ORDER_ATOMIC)||'""')+", options="+(t.valueToCode(this,"ATTR",t.ORDER_ATOMIC)||"{}")+")",t.ORDER_ATOMIC]},Gg=function(e,t){t.definitions_.import_aip="import aip";var n=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),i=t.valueToCode(this,"ADDR",t.ORDER_ATOMIC);return[n+"."+t.valueToCode(this,"FUNC",t.ORDER_ATOMIC)+"("+i+", options="+(t.valueToCode(this,"ATTR",t.ORDER_ATOMIC)||"{}")+")",t.ORDER_ATOMIC]},Hg=function(e,t){return t.definitions_.import_aip="import aip",[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".match("+t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+","+t.valueToCode(this,"VAR2",t.ORDER_ATOMIC)+", options="+(t.valueToCode(this,"ATTR",t.ORDER_ATOMIC)||"{}")+")",t.ORDER_ATOMIC]},Wg=function(e,t){t.definitions_.import_aip="import aip";var n=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),i=t.valueToCode(this,"ADDR",t.ORDER_ATOMIC);return[n+"."+t.valueToCode(this,"FUNC",t.ORDER_ATOMIC)+"("+i+", options="+(t.valueToCode(this,"ATTR",t.ORDER_ATOMIC)||"{}")+")",t.ORDER_ATOMIC]},Xg=function(e,t){t.definitions_.import_aip="import aip";var n=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),i=t.valueToCode(this,"STR",t.ORDER_ATOMIC);return[n+"."+t.valueToCode(this,"FUNC",t.ORDER_ATOMIC)+"("+i+", options="+(t.valueToCode(this,"ATTR",t.ORDER_ATOMIC)||"{}")+")",t.ORDER_ATOMIC]},qg=function(e,t){t.definitions_.import_aip="import aip";var n=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),i=t.valueToCode(this,"STR1",t.ORDER_ATOMIC),r=t.valueToCode(this,"STR2",t.ORDER_ATOMIC);return[n+"."+t.valueToCode(this,"FUNC",t.ORDER_ATOMIC)+"("+i+","+r+", options="+(t.valueToCode(this,"ATTR",t.ORDER_ATOMIC)||"{}")+")",t.ORDER_ATOMIC]},Kg=function(e,t){return t.definitions_.import_aip="import aip",[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".topic("+t.valueToCode(this,"STR1",t.ORDER_ATOMIC)+","+t.valueToCode(this,"STR2",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Zg=function(e,t){return t.definitions_.import_aip="import aip",[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".newsSummary("+t.valueToCode(this,"STR",t.ORDER_ATOMIC)+","+t.valueToCode(this,"LEN",t.ORDER_ATOMIC)+", options="+(t.valueToCode(this,"ATTR",t.ORDER_ATOMIC)||"{}")+")",t.ORDER_ATOMIC]},Qg=function(e,t){return[this.getFieldValue("TYPE"),t.ORDER_ATOMIC]},Jg=function(e,t){return[this.getFieldValue("TYPE"),t.ORDER_ATOMIC]},e_=function(e,t){return[this.getFieldValue("TYPE"),t.ORDER_ATOMIC]},t_=function(e,t){return[this.getFieldValue("TYPE"),t.ORDER_ATOMIC]},n_=function(e,t){return t.definitions_.import_audio="import audio","audio.audio_record("+(t.valueToCode(this,"VAR",t.ORDER_ATOMIC)||'""')+","+(t.valueToCode(this,"TIME",t.ORDER_ATOMIC)||"0")+")\n"},i_=function(e,t){return t.definitions_.import_audio="import cam","cam.photo_capture("+(t.valueToCode(this,"VAR",t.ORDER_ATOMIC)||'""')+","+(t.valueToCode(this,"BUT",t.ORDER_ATOMIC)||'""')+")\n"},r_=function(e,t){var n=t.valueToCode(this,"AI",t.ORDER_ASSIGNMENT)||"0",i=this.getFieldValue("CTYPE");if("Image"==i)var r=n+'["result"][0]["keyword"]';if("Speech"==i)r=n+'["result"][0]';if("Face"==i||"OcrSimilarity"==i)r=n+'["score"]';if("Ocr"==i)r=n+'["words_result"]';return[r,t.ORDER_ATOMIC]},s_=function(e,t){t.definitions_.import_sprite="import sprite";return"g = [[0,0,0,0,0,0,0,0,0,0], [0,0,0,1,0,0,0,0,0,0], [0,0,0,1,0,0,1,0,0,0], [0,1,1,0,1,1,0,0,0,0], [0,0,0,1,0,0,0,1,0,0], [0,0,0,1,0,0,1,1,0,0], [0,0,1,0,0,1,0,1,0,0], [0,0,0,0,1,1,1,0,0,0]]\nmark = [[0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0]]\nvis = [0,1,0,0,0,0,0,0,0]\nposition = [[0, 0], [200, 200], [250, 60], [320, 200], [280, 380], [470, 250], [670, 90], [650, 340]]\nsprite.clearAllSprites()\nsprite.createBackground('ditu')\nmask = sprite.Sprite('white', 96, 354)\nmask.hide()\nhouse = [\n sprite.Sprite('mark', 150, 380),\n sprite.Sprite('xtxn', 96, 170),\n sprite.Sprite('xnvijx', 270, 45),\n sprite.Sprite('xnxbjx', 310, 182),\n sprite.Sprite('xnsijx', 300, 370),\n sprite.Sprite('xnkejx', 495, 220),\n sprite.Sprite('bwbwjx', 716, 85),\n sprite.Sprite('lelejx', 686, 314)\n]\nfor i in house:\n i.filterBrighter()\n i.hide()\n"},o_=function(){return"path = [1]\nmask.show()\ncar = sprite.Sprite('xnie', position[1][0], position[1][1])\nhouse[1].show()\ncar.nowPos = 1\ndef drive(n):\n if g[car.nowPos][n]==1:\n car.slideTo(position[n][0], position[n][1], 1)\n car.nowPos = n\n else:\n print('移动失败!程序有误!')\n exit()\n"},a_=function(e,t){t.definitions_.import_random="import random";return"f = path[(len(path) - 1)]\nflag = 0\nfor _my_variable in [6,5,4,3,2,1,0]:\n if vis[_my_variable+1] == 0 and g[f][_my_variable+1] == 1:\n if mark[f][_my_variable+1] == 0:\n flag = 1\n break\n"},l_=function(e,t){return["flag == 1",t.ORDER_ATOMIC]},u_=function(){return"mark[f][_my_variable+1] = 1\nvis[_my_variable+1] = 1\n"},c_=function(){return"path.append(_my_variable+1)\ndrive(path[len(path) - 1])\nhouse[_my_variable+1].show()\n"},d_=function(e,t){t.definitions_.import_time="import time";return"del path[len(path) - 1]\nhouse[0].show()\ntime.sleep(0.5)\nhouse[0].hide()\n"},h_=function(){var e="for i in range(7):\n mark[f][i+1] = 0\n vis[f] = 0\n";return e="house[f].hide()\ndrive(path[len(path) - 1])\n"+e},p_=function(e,t){return["len(path) == 7",t.ORDER_ATOMIC]},f_=function(){return'name = ["","学校","小智家","小欣家","小思家","小科家","贝贝家","乐乐家"]\nres = ""\nfor i in path:\n res = res + name[i] + "-"\nprint(res[:-1])\n'},m_=function(e,t){t.definitions_.import_sprite="import sprite";return"g = [[0,0,0,0,0,0,0,0,0,0], [0,0,0,1,0,0,0,0,0,0], [0,0,0,1,0,0,1,0,0,0], [0,1,1,0,1,0,0,0,0,0], [0,0,0,1,0,0,0,1,0,0], [0,0,0,1,0,0,0,1,0,0], [0,0,1,0,0,0,0,1,0,0], [0,0,0,0,1,1,1,0,0,0]]\nmark = [[0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0]]\nvis = [0,1,0,0,0,0,0,0,0]\nposition = [[0, 0], [200, 200], [250, 60], [320, 200], [280, 380], [470, 250], [670, 90], [650, 340]]\nsprite.clearAllSprites()\nsprite.createBackground('ditu')\nmask = sprite.Sprite('white', 96, 354)\nmask.hide()\nhouse = [\n sprite.Sprite('mark', 150, 380),\n sprite.Sprite('xtxn', 96, 170),\n sprite.Sprite('xnvijx', 270, 45),\n sprite.Sprite('xnxbjx', 310, 182),\n sprite.Sprite('xnsijx', 300, 370),\n sprite.Sprite('xnkejx', 495, 220),\n sprite.Sprite('bwbwjx', 716, 85),\n sprite.Sprite('lelejx', 686, 314)\n]\nbarricade = sprite.Sprite('barricade', 610, 170)\nbarricade.enlargeTo(100)\nfor i in house:\n i.filterBrighter()\n i.hide()\n"},g_=function(e,t){return["f == 1",t.ORDER_ATOMIC]},__=function(){return"print('没有符合条件的路线')\n"},y_=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";return'g = [[10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000],[10000,10000,500,300,10000,10000,10000,10000,10000,10000,10000],[10000,500,10000,10000,100,10000,10000,10000,10000,10000,10000],[10000,300,10000,10000,400,300,10000,10000,10000,10000,10000],[10000,10000,100,400,10000,10000,200,10000,10000,10000,10000],[10000,10000,10000,300,10000,10000,100,200,10000,10000,10000],[10000,10000,10000,10000,200,100,10000,10000,100,10000,10000],[10000,10000,10000,10000,10000,200,10000,10000,100,10000,10000],[10000,10000,10000,10000,10000,10000,100,100,10000,10000,10000]]\nnow=1\nlast=1\npath=[]\npath.append(1)\nname = ["","小思家","银行","邮局","餐厅","书店","医院","超市","小科家"]\nposition = [[0, 0], [60, 320], [510, 390], [240, 200], [750, 330], [410, 90], [540, 190], [550, 30], [720, 120]]\nsprite.clearAllSprites()\nsprite.createBackground(\'map_si_ke\')\nstu = sprite.Sprite(\'girl\', 60, 320)\nstu.enlargeTo(100)\ntime.sleep(1)\n\n'},v_=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";return'g =[[10000,10000,10000,10000,10000,10000,10000],[10000,10000,300,500,10000,10000,10000],[10000,300,10000,10000,300,700,10000],[10000,500,10000,10000,10000,100,10000],[10000,10000,300,10000,10000,10000,200],[10000,10000,700,100,10000,10000,100],[10000,10000,10000,10000,200,100,10000]]\nnow=1\nlast=1\npath=[]\npath.append(1)\nname = ["","小智家","邮局","银行","书店","餐厅","学校"]\nposition = [[0, 0], [70, 340], [70, 90], [550, 310], [420, 70], [730, 250], [650, 130]]\nsprite.clearAllSprites()\nsprite.createBackground(\'map_zhi_xue\')\nstu = sprite.Sprite(\'boy\', 70, 340)\nstu.enlargeTo(100)\ntime.sleep(1)\n\n'},b_=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";return'tmp=10000\nfor i in range(0, len(g), 1):\n if g[now][i]6:\n print("路线错乱!程序有误!")\n exit()\n'},T_=function(e,t){return["name[now] != '小科家'",t.ORDER_ATOMIC]},x_=function(e,t){return["name[now] != '学校'",t.ORDER_ATOMIC]},E_=function(){return'res = ""\nfor i in path:\n res = res + name[i] + "→"\nprint(res[:-1])\n'},w_=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";var n=this.getFieldValue("NUM");if(n>=7)var i="print('层数过高!不得高于6层!')\nexit()\n";else i="sprite.clearAllSprites()\n_Hanoicolor = ['blue', 'red', 'yellow', 'green', 'purple', 'black']\n_Hanoi = [[], [], []]\nA = 0\nB = 1\nC = 2\n_n = "+n+"\n_HanoiColumn = [\n sprite.Sprite('HanoiColumn', 200, 320),\n sprite.Sprite('HanoiColumn', 400, 320),\n sprite.Sprite('HanoiColumn', 600, 320)\n]\n_HanoiColumnNumber = [\n sprite.Text('A', 190, 120),\n sprite.Text('B', 390, 120),\n sprite.Text('C', 590, 120)\n]\n_HanoiBlock = []\nfor i in range(0, _n, 1):\n _HanoiBlock.append(sprite.Sprite(_Hanoicolor[i], 200, 400-(_n-i-1)*27))\n _HanoiBlock[i].setScale(25, 30*i+30)\n _Hanoi[0].insert(0, _HanoiBlock[i])\n_steptext = sprite.Text('步数:0', 30, 30)\n_steps = {'steps' : 0}\ntime.sleep(1)\n";return i},I_=function(e,t){var n=t.valueToCode(this,"FROM_NUM",t.ORDER_ATOMIC)||"0",i=t.valueToCode(this,"TO_NUM",t.ORDER_ATOMIC)||"0";return`if len(_Hanoi[${n}])>0 :\n _HanoiBlockMoved = _Hanoi[${n}].pop()\n if len(_Hanoi[${i}]) > 0 :\n _HanoiBlockSuppressed = _Hanoi[${i}].pop()\n if _HanoiBlock.index(_HanoiBlockMoved) > _HanoiBlock.index(_HanoiBlockSuppressed):\n print('非法移动!程序有误!')\n exit()\n else:\n _Hanoi[${i}].append(_HanoiBlockSuppressed)\n _HanoiBlockMoved.slideTo(${n}*200+200, 180, 0.2)\n _HanoiBlockMoved.slideTo(${i}*200+200, 180, 0.5)\n _HanoiBlockMoved.slideTo(${i}*200+200, 400-len(_Hanoi[${i}])*27, 0.2)\n _Hanoi[${i}].append(_HanoiBlockMoved)\n _steps['steps'] += 1\n _steptext.changeText('步数:'+str(_steps['steps']))\nelse :\n print('非法移动!程序有误!')\n exit()\n`},A_=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";return"if 'mode' not in globals() or mode == 0:\n sprite.clearAllSprites()\n ring=[0,0,0,0,0,0,0,0,0,0]\n mode=1\n n=5\n ring[5]=1\n name=['小王子','海底两万里','荷花镇的早市','孔子的故事','夏洛的网','草房子','月下看猫头鹰','会唱歌的咖啡磨','父与子','城南旧事']\n Books = []\n for i in range(1, 11, 1):\n Books.append(sprite.Sprite('books/book'+str(i), (130*i-650) if i>5 else 130*i, 320 if i>5 else 120))\nelse:\n mode=2\n n=len(ring)-1\nring[n]=1\ntime.sleep(1)\n"},S_=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";return"if 'mode' not in globals() or mode == 0:\n sprite.clearAllSprites()\n ring=[0,0,0,0,0,0,0,0,0,0]\n mode=2\n n=5\n name=['小王子','海底两万里','荷花镇的早市','孔子的故事','夏洛的网','草房子','月下看猫头鹰','会唱歌的咖啡磨','父与子','城南旧事']\n Books = []\n for i in range(1, 11, 1):\n Books.append(sprite.Sprite('books/book'+str(i), (130*i-650) if i>5 else 130*i, 320 if i>5 else 120))\nelse:\n mode=1\n n=len(ring)-1\nring[n]=n\nlist=ring\ntemp=Books\ntime.sleep(1)\n"},C_=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";return"res=0\nflag=ring[res]\nBooks[res].filterBrighter()\ntime.sleep(0.1)\nBooks[res].filterOrigin()\n"},O_=function(e,t){return["(('mode' not in globals())or(mode==1 and flag==0)or(mode==2 and not any(value > 0 for value in qian))or(mode==0))",t.ORDER_ATOMIC]},M_=function(e,t){return["(('mode' in globals())and((mode==1 and flag!=0)or(mode==2 and any(value > 0 for value in qian))))",t.ORDER_ATOMIC]},k_=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";var n="res+=1\nflag=ring[res]\n";return n="Books[res].filterGray()\ntime.sleep(0.3)\n"+(n+="Books[res].filterBrighter()\ntime.sleep(0.1)\nBooks[res].filterOrigin()\n")},R_=function(e,t){return["len(list)>=2",t.ORDER_ATOMIC]},N_=function(){return"mid = int(len(list)/2)\nqian = list[0:mid]\nhou = list[mid:]\nqiantemp = temp[0:mid]\nhoutemp = temp[mid:]\n"},D_=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";return"quchu = qian\nlist = hou\nquchutemp = qiantemp\ntemp = houtemp\nfor i in qiantemp:\n i.filterBrighter()\ntime.sleep(0.5)\nfor i in qiantemp:\n i.filterGray()\ntime.sleep(0.5)\n"},F_=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";return"list = quchu\ntemp = quchutemp\nfor i in qiantemp:\n i.filterBrighter()\ntime.sleep(0.5)\nfor i in qiantemp:\n i.filterOrigin()\nfor i in houtemp:\n\ti.filterBrighter()\ntime.sleep(0.5)\nfor i in houtemp:\n i.filterGray()\ntime.sleep(0.5)\n"},L_=function(){return"if 'list' in globals():\n res = list[0]\nBooks[res].filterBrighter()\nprint('未消磁的书籍是第'+str(res+1)+'本《'+name[res%10]+'》。')\nif res!=n:\n print('答案错误!请检查程序!')\nmode=0\n"},P_=function(e,t){var n=this.getFieldValue("NUM");return t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite",`sprite.clearAllSprites()\nring = []\nname = ['小王子','海底两万里','荷花镇的早市','孔子的故事','夏洛的网','草房子','月下看猫头鹰','会唱歌的咖啡磨','父与子','城南旧事']\nBooks = []\nfor i in range(${n}):\n ring.append(0)\nfor i in range(1, ${n}+1, 1):\n Books.append(sprite.Sprite('books/book'+str(i%10 if i%10!=0 else 10), ${{5:"130*i, 120",10:"(130*i-650) if i>5 else 130*i, 320 if i>5 else 120",20:"(65*i-650)+30 if i>10 else 65*i+30, 320 if i>10 else 120",50:"(26*i-650)+50 if i>25 else 26*i+50, 320 if i>25 else 120"}[n]}))\ntime.sleep(1)\nmode=3\n`},B_=function(e,t){t.definitions_.import_sprite="import sprite";return"cnt=0\ncntText = sprite.Text('计数器:0', 30, 200)\n"},$_=function(e,t){t.definitions_.import_sprite="import sprite";return"cnt+=1\ncntText.changeText('计数器:'+str(cnt))\n"},U_=function(e,t){t.definitions_.import_sprite="import sprite";return"print('计数器大小:'+str(cnt))\n"},V_=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";return"sprite.clearAllSprites()\n_head = 10\n_foot = 32\n_footText = sprite.Text('脚的数量:', 20, 10)\n_sprite = []\n"},z_=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";return"_rabbit = 0\ntime.sleep(1)\n"},j_=function(e,t){return["_rabbit < _head",t.ORDER_ATOMIC]},Y_=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";return"_chick = _head - _rabbit\nfor i in range(0, _chick, 1):\n _sprite.append(sprite.Sprite('jttl/chick', len(_sprite)*130+130 if len(_sprite)<5 else len(_sprite)*130+130-650, 120 if len(_sprite)<5 else 320))\n\ntime.sleep(0.5)\n_footText.changeText('脚的数量:'+str(_rabbit*4 + _chick*2))\ntime.sleep(1)\n"},G_=function(e,t){return["_rabbit*4 + _chick*2 == _foot",t.ORDER_ATOMIC]},H_=function(e,t){t.definitions_.import_sprite="import sprite";return"print('鸡的数量:'+str(_chick)+'只;\\n兔的数量:'+str(_rabbit)+'只。')\n"},W_=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";return"_rabbit += 1\nsprite.clearAllSprites()\n_sprite = []\n_footText = sprite.Text('脚的数量:', 20, 10)\nfor i in range(0, _rabbit, 1):\n _sprite.append(sprite.Sprite('jttl/rabbit', len(_sprite)*130+130 if len(_sprite)<5 else len(_sprite)*130+130-650, 120 if len(_sprite)<5 else 320))\ntime.sleep(0.5)\n"},X_=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";return"sprite.clearAllSprites()\nsprite.createBackground('/fzsf/map_ck_xxjsjs')\n_S1 = sprite.Sprite('/fzsf/S1',400,225,'S1')\n_S2 = sprite.Sprite('/fzsf/S2',400,225,'S2')\n_S3 = sprite.Sprite('/fzsf/S3',400,225,'S3')\n_S4 = sprite.Sprite('/fzsf/S4',400,225,'S4')\n_S1.hide()\n_S2.hide()\n_S3.hide()\n_S4.hide()\n_text_1 = sprite.Text('S1:',0,0,'text')\n_text_2 = sprite.Text('S2:',0,30,'text2')\n_text_3 = sprite.Text('S3:',0,60,'text3')\n_text_4 = sprite.Text('S4:',0,90,'text4')\n_position = [[60, 270], [240, 50], [260, 380], [440, 190], [730, 60], [700, 400]]\n_Llen = [0, 170, 230, 100, 150, 10, 30, 50]\n_Slen = [0, 0, 0, 0, 0]\n_tag = [0, [0, 1, 3], [0, 2, 3], [3, 4, 5], [3, 5]]\nbear = sprite.Sprite('mixbear',60,270,'bear')\nbear.enlargeTo(80)\n_pos = 0\ntime.sleep(1)\n"},q_=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";var n=this.getFieldValue("PATHNAME");const i=[0,[1,3],[2,4],[5,7],[6]];var r="";return r+=`_S${n}.show()\ntime.sleep(1)\n`,r+=4!=n?`_Slen[${n}] = _Llen[${i[n][0]}] + _Llen[${i[n][1]}]\n_text_${n}.changeText('S${n}:'+str(_Slen[${n}])+'m')\ntime.sleep(1)\n_S${n}.hide()\ntime.sleep(1)\n`:"_Slen[4] = _Llen[6]\n_text_4.changeText('S4:'+str(_Slen[4])+'m')\ntime.sleep(1)\n_S4.hide()\ntime.sleep(1)\n"},K_=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";var n="";return[n+=`_Slen[${this.getFieldValue("PATHNAME")}] < _Slen[${this.getFieldValue("PATHNAME2")}]`,t.ORDER_ATOMIC]},Z_=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";var n=this.getFieldValue("PATHNAME"),i="";return i+=`\n_S1.hide()\n_S2.hide()\n_S3.hide()\n_S4.hide()\n_Smin = ${n}\n_S${n}.show()\ntime.sleep(0.5)\n_S${n}.hide()\ntime.sleep(0.5)\n_S${n}.show()\ntime.sleep(1)\n`},Q_=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";return"if(_pos == _tag[_Smin][0]):\n for i in range(1, len(_tag[_Smin]), 1):\n bear.slideTo(_position[_tag[_Smin][i]][0], _position[_tag[_Smin][i]][1], 1)\n _pos = _tag[_Smin][len(_tag[_Smin])-1]\nelse:\n print('移动错误!程序有误!')\n exit()\n_S1.hide()\n_S2.hide()\n_S3.hide()\n_S4.hide()\nif(_pos == 5):\n print('成功抵达信息科技教室!')\n"},J_=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";return"sprite.clearAllSprites()\nsprite.createBackground('/hxdb/hxdbbg')\n_soldier = []\n_num = sprite.Text('目前士兵数量:0',0,0,'num')\n_last = sprite.Text('剩余:0',500,0,'last')\n_line = 3\n"},ey=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";var n="";return n+=`for i in range(0, ${this.getFieldValue("NUM")}, 1):\n _soldier.append(sprite.Sprite('/hxdb/soldier', 30 + (len(_soldier)%_line)*50 + (len(_soldier)//(4*_line))*(_line+1)*50 +(len(_soldier)%3-2), 80+(len(_soldier)//_line)*100-(len(_soldier)//(4*_line))*4*100+(len(_soldier)%2)))\n_num.changeText('目前士兵数量:'+str(len(_soldier)))\n`},ty=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";var n=this.getFieldValue("NUM");return`for i in range(0, len(_soldier), 1):\n _soldier[i].slideTo(30 + (i%${n})*50 + (i//(4*${n}))*(${n}+1)*50 +(i%3-2), 80+(i//${n})*100-(i//(4*${n}))*4*100+(i%2), 0.05)\n_line = ${n}\n_last.changeText('剩余:'+str(len(_soldier)%_line))\ntime.sleep(2)\n`},ny=function(e,t){return t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite",[`len(_soldier)%_line == ${this.getFieldValue("NUM")}`,t.ORDER_ATOMIC]},iy=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";return"_num.changeText('目前士兵数量:'+str(len(_soldier)+1))\n_last.changeText('剩余:')\ntime.sleep(0.5)\n_soldier.append(sprite.Sprite('/hxdb/soldier', 30 + (len(_soldier)%_line)*50 + (len(_soldier)//(4*_line))*(_line+1)*50 +(len(_soldier)%3-2), 80+(len(_soldier)//_line)*100-(len(_soldier)//(4*_line))*4*100+(len(_soldier)%2)))\ntime.sleep(1)\n"},ry=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";return"print('符合要求的士兵数量为:'+str(len(_soldier)))\n"},sy=function(e,t){t.definitions_.import_turtle="import turtle",t.definitions_.import_time="import time",t.definitions_.import_math="import math";var n=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),i=this.getFieldValue("NUM");return t.setups_.init_Hanoi="\ndef init_Hanoi():\n pen = turtle.Turtle()\n pen.hideturtle()\n pen.speed(0)\n for i in range(0, 3, 1):\n pen.penup()\n pen.setheading(0)\n pen.goto(150 * i - 200,-100)\n pen.pendown()\n pen.pensize(5)\n pen.forward(100)\n pen.goto(150 * i - 150,-100)\n pen.setheading(90)\n pen.forward(200)",t.setups_.begin="\ndef begin(): \n s = turtle.Turtle()\n s.hideturtle()\n s.penup()\n s.speed(0)\n s.goto(0,-150)\n s.write('3')\n time.sleep(1)\n s.clear()\n s.write('2')\n time.sleep(1)\n s.clear()\n s.write('1')\n time.sleep(1)\n s.clear()\n s.write('Start!')\n time.sleep(1)\n s.clear()\n",t.setups_.move="\ndef move(x, y):\n try:\n t = tower[x].pop(-1)\n a = tower_num[x].pop(-1)\n if tower_num[y]!=[]:\n b = tower_num[y][-1]\n if a 1"}]`,t.ORDER_ATOMIC]},Bv=function(e,t){return[`${t.valueToCode(e,"DICT",t.ORDER_ATOMIC)||"df"}.groupby(by=${t.valueToCode(e,"KEY",t.ORDER_ATOMIC)||"'tag'"})`,t.ORDER_ATOMIC]},$v=function(e,t){return[`${t.valueToCode(e,"DICT",t.ORDER_ATOMIC)||"df"}.${e.getFieldValue("TYPE")}()`,t.ORDER_ATOMIC]},Uv=function(e,t){t.definitions_.import_matplotlib_pyplot="import matplotlib.pyplot as plt";return"plt.cla()\n"},Vv=function(e,t){var n=t.variableDB_.getName(this.getFieldValue("VAR"),Ve.Variables.NAME_TYPE),i=t.variableDB_.getName(this.getFieldValue("TYPE"),Ve.Variables.NAME_TYPE),r="class "+i+":\n";r+=" def __init__(self):\n";for(var s=new Array(this.itemCount_),o=0;oe in t}const Mx={},kx=[],Rx=()=>{},Nx=()=>!1,Dx=e=>111===e.charCodeAt(0)&&110===e.charCodeAt(1)&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Fx=e=>e.startsWith("onUpdate:"),Lx=Object.assign,Px=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Bx=Object.prototype.hasOwnProperty,$x=(e,t)=>Bx.call(e,t),Ux=Array.isArray,Vx=e=>"[object Map]"===Kx(e),zx=e=>"[object Set]"===Kx(e),jx=e=>"[object Date]"===Kx(e),Yx=e=>"function"==typeof e,Gx=e=>"string"==typeof e,Hx=e=>"symbol"==typeof e,Wx=e=>null!==e&&"object"==typeof e,Xx=e=>(Wx(e)||Yx(e))&&Yx(e.then)&&Yx(e.catch),qx=Object.prototype.toString,Kx=e=>qx.call(e),Zx=e=>Kx(e).slice(8,-1),Qx=e=>"[object Object]"===Kx(e),Jx=e=>Gx(e)&&"NaN"!==e&&"-"!==e[0]&&""+parseInt(e,10)===e,eE=Ox(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),tE=Ox("bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo"),nE=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},iE=/-(\w)/g,rE=nE(e=>e.replace(iE,(e,t)=>t?t.toUpperCase():"")),sE=/\B([A-Z])/g,oE=nE(e=>e.replace(sE,"-$1").toLowerCase()),aE=nE(e=>e.charAt(0).toUpperCase()+e.slice(1)),lE=nE(e=>e?`on${aE(e)}`:""),uE=(e,t)=>!Object.is(e,t),cE=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:i,value:n})},hE=e=>{const t=parseFloat(e);return isNaN(t)?e:t},pE=e=>{const t=Gx(e)?Number(e):NaN;return isNaN(t)?e:t};let fE;const mE=()=>fE||(fE="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:void 0!==__webpack_require__.g?__webpack_require__.g:{});const gE=Ox("Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console,Error,Symbol");function _E(e){if(Ux(e)){const t={};for(let n=0;n{if(e){const n=e.split(vE);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function xE(e){let t="";if(Gx(e))t=e;else if(Ux(e))for(let n=0;n?@[\\\]^`{|}~]/g;function FE(e,t){return e.replace(DE,e=>t?'"'===e?'\\\\\\"':`\\\\${e}`:`\\${e}`)}function LE(e,t){if(e===t)return!0;let n=jx(e),i=jx(t);if(n||i)return!(!n||!i)&&e.getTime()===t.getTime();if(n=Hx(e),i=Hx(t),n||i)return e===t;if(n=Ux(e),i=Ux(t),n||i)return!(!n||!i)&&function(e,t){if(e.length!==t.length)return!1;let n=!0;for(let i=0;n&&iLE(e,t))}const BE=e=>!(!e||!0!==e.__v_isRef),$E=e=>Gx(e)?e:null==e?"":Ux(e)||Wx(e)&&(e.toString===qx||!Yx(e.toString))?BE(e)?$E(e.value):JSON.stringify(e,UE,2):String(e),UE=(e,t)=>BE(t)?UE(e,t.value):Vx(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((e,[t,n],i)=>(e[VE(t,i)+" =>"]=n,e),{})}:zx(t)?{[`Set(${t.size})`]:[...t.values()].map(e=>VE(e))}:Hx(t)?VE(t):!Wx(t)||Ux(t)||Qx(t)?t:String(t),VE=(e,t="")=>{var n;return Hx(e)?`Symbol(${null!=(n=e.description)?n:t})`:e};let zE,jE;class YE{constructor(e=!1){this.detached=e,this._active=!0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=zE,!e&&zE&&(this.index=(zE.scopes||(zE.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){let e,t;if(this._isPaused=!0,this.scopes)for(e=0,t=this.scopes.length;e0)return;if(ZE){let e=ZE;for(ZE=void 0;e;){const t=e.next;e.next=void 0,e.flags&=-9,e=t}}let e;for(;KE;){let t=KE;for(KE=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,1&t.flags)try{t.trigger()}catch(t){e||(e=t)}t=n}}if(e)throw e}function nw(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function iw(e){let t,n=e.depsTail,i=n;for(;i;){const e=i.prevDep;-1===i.version?(i===n&&(n=e),ow(i),aw(i)):t=i,i.dep.activeLink=i.prevActiveLink,i.prevActiveLink=void 0,i=e}e.deps=t,e.depsTail=n}function rw(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(sw(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function sw(e){if(4&e.flags&&!(16&e.flags))return;if(e.flags&=-17,e.globalVersion===mw)return;e.globalVersion=mw;const t=e.dep;if(e.flags|=2,t.version>0&&!e.isSSR&&e.deps&&!rw(e))return void(e.flags&=-3);const n=jE,i=cw;jE=e,cw=!0;try{nw(e);const n=e.fn(e._value);(0===t.version||uE(n,e._value))&&(e._value=n,t.version++)}catch(e){throw t.version++,e}finally{jE=n,cw=i,iw(e),e.flags&=-3}}function ow(e,t=!1){const{dep:n,prevSub:i,nextSub:r}=e;if(i&&(i.nextSub=r,e.prevSub=void 0),r&&(r.prevSub=i,e.nextSub=void 0),n.subs===e&&(n.subs=i,!i&&n.computed)){n.computed.flags&=-5;for(let e=n.computed.deps;e;e=e.nextDep)ow(e,!0)}t||--n.sc||!n.map||n.map.delete(n.key)}function aw(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}function lw(e,t){e.effect instanceof qE&&(e=e.effect.fn);const n=new qE(e);t&&Lx(n,t);try{n.run()}catch(e){throw n.stop(),e}const i=n.run.bind(n);return i.effect=n,i}function uw(e){e.effect.stop()}let cw=!0;const dw=[];function hw(){dw.push(cw),cw=!1}function pw(){const e=dw.pop();cw=void 0===e||e}function fw(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const e=jE;jE=void 0;try{t()}finally{jE=e}}}let mw=0;class gw{constructor(e,t){this.sub=e,this.dep=t,this.version=t.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class _w{constructor(e){this.computed=e,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0}track(e){if(!jE||!cw||jE===this.computed)return;let t=this.activeLink;if(void 0===t||t.sub!==jE)t=this.activeLink=new gw(jE,this),jE.deps?(t.prevDep=jE.depsTail,jE.depsTail.nextDep=t,jE.depsTail=t):jE.deps=jE.depsTail=t,yw(t);else if(-1===t.version&&(t.version=this.version,t.nextDep)){const e=t.nextDep;e.prevDep=t.prevDep,t.prevDep&&(t.prevDep.nextDep=e),t.prevDep=jE.depsTail,t.nextDep=void 0,jE.depsTail.nextDep=t,jE.depsTail=t,jE.deps===t&&(jE.deps=e)}return t}trigger(e){this.version++,mw++,this.notify(e)}notify(e){ew();try{0;for(let e=this.subs;e;e=e.prevSub)e.sub.notify()&&e.sub.dep.notify()}finally{tw()}}}function yw(e){if(e.dep.sc++,4&e.sub.flags){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let e=t.deps;e;e=e.nextDep)yw(e)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const vw=new WeakMap,bw=Symbol(""),Tw=Symbol(""),xw=Symbol("");function Ew(e,t,n){if(cw&&jE){let t=vw.get(e);t||vw.set(e,t=new Map);let i=t.get(n);i||(t.set(n,i=new _w),i.map=t,i.key=n),i.track()}}function ww(e,t,n,i,r,s){const o=vw.get(e);if(!o)return void mw++;const a=e=>{e&&e.trigger()};if(ew(),"clear"===t)o.forEach(a);else{const r=Ux(e),s=r&&Jx(n);if(r&&"length"===n){const e=Number(i);o.forEach((t,n)=>{("length"===n||n===xw||!Hx(n)&&n>=e)&&a(t)})}else switch((void 0!==n||o.has(void 0))&&a(o.get(n)),s&&a(o.get(xw)),t){case"add":r?s&&a(o.get("length")):(a(o.get(bw)),Vx(e)&&a(o.get(Tw)));break;case"delete":r||(a(o.get(bw)),Vx(e)&&a(o.get(Tw)));break;case"set":Vx(e)&&a(o.get(bw))}}tw()}function Iw(e){const t=hI(e);return t===e?t:(Ew(t,0,xw),cI(e)?t:t.map(fI))}function Aw(e){return Ew(e=hI(e),0,xw),e}const Sw={__proto__:null,[Symbol.iterator](){return Cw(this,Symbol.iterator,fI)},concat(...e){return Iw(this).concat(...e.map(e=>Ux(e)?Iw(e):e))},entries(){return Cw(this,"entries",e=>(e[1]=fI(e[1]),e))},every(e,t){return Mw(this,"every",e,t,void 0,arguments)},filter(e,t){return Mw(this,"filter",e,t,e=>e.map(fI),arguments)},find(e,t){return Mw(this,"find",e,t,fI,arguments)},findIndex(e,t){return Mw(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Mw(this,"findLast",e,t,fI,arguments)},findLastIndex(e,t){return Mw(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Mw(this,"forEach",e,t,void 0,arguments)},includes(...e){return Rw(this,"includes",e)},indexOf(...e){return Rw(this,"indexOf",e)},join(e){return Iw(this).join(e)},lastIndexOf(...e){return Rw(this,"lastIndexOf",e)},map(e,t){return Mw(this,"map",e,t,void 0,arguments)},pop(){return Nw(this,"pop")},push(...e){return Nw(this,"push",e)},reduce(e,...t){return kw(this,"reduce",e,t)},reduceRight(e,...t){return kw(this,"reduceRight",e,t)},shift(){return Nw(this,"shift")},some(e,t){return Mw(this,"some",e,t,void 0,arguments)},splice(...e){return Nw(this,"splice",e)},toReversed(){return Iw(this).toReversed()},toSorted(e){return Iw(this).toSorted(e)},toSpliced(...e){return Iw(this).toSpliced(...e)},unshift(...e){return Nw(this,"unshift",e)},values(){return Cw(this,"values",fI)}};function Cw(e,t,n){const i=Aw(e),r=i[t]();return i===e||cI(e)||(r._next=r.next,r.next=()=>{const e=r._next();return e.value&&(e.value=n(e.value)),e}),r}const Ow=Array.prototype;function Mw(e,t,n,i,r,s){const o=Aw(e),a=o!==e&&!cI(e),l=o[t];if(l!==Ow[t]){const t=l.apply(e,s);return a?fI(t):t}let u=n;o!==e&&(a?u=function(t,i){return n.call(this,fI(t),i,e)}:n.length>2&&(u=function(t,i){return n.call(this,t,i,e)}));const c=l.call(o,u,i);return a&&r?r(c):c}function kw(e,t,n,i){const r=Aw(e);let s=n;return r!==e&&(cI(e)?n.length>3&&(s=function(t,i,r){return n.call(this,t,i,r,e)}):s=function(t,i,r){return n.call(this,t,fI(i),r,e)}),r[t](s,...i)}function Rw(e,t,n){const i=hI(e);Ew(i,0,xw);const r=i[t](...n);return-1!==r&&!1!==r||!dI(n[0])?r:(n[0]=hI(n[0]),i[t](...n))}function Nw(e,t,n=[]){hw(),ew();const i=hI(e)[t].apply(e,n);return tw(),pw(),i}const Dw=Ox("__proto__,__v_isRef,__isVue"),Fw=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>"arguments"!==e&&"caller"!==e).map(e=>Symbol[e]).filter(Hx));function Lw(e){Hx(e)||(e=String(e));const t=hI(this);return Ew(t,0,e),t.hasOwnProperty(e)}class Pw{constructor(e=!1,t=!1){this._isReadonly=e,this._isShallow=t}get(e,t,n){if("__v_skip"===t)return e.__v_skip;const i=this._isReadonly,r=this._isShallow;if("__v_isReactive"===t)return!i;if("__v_isReadonly"===t)return i;if("__v_isShallow"===t)return r;if("__v_raw"===t)return n===(i?r?nI:tI:r?eI:Jw).get(e)||Object.getPrototypeOf(e)===Object.getPrototypeOf(n)?e:void 0;const s=Ux(e);if(!i){let e;if(s&&(e=Sw[t]))return e;if("hasOwnProperty"===t)return Lw}const o=Reflect.get(e,t,gI(e)?e:n);return(Hx(t)?Fw.has(t):Dw(t))?o:(i||Ew(e,0,t),r?o:gI(o)?s&&Jx(t)?o:o.value:Wx(o)?i?sI(o):iI(o):o)}}class Bw extends Pw{constructor(e=!1){super(!1,e)}set(e,t,n,i){let r=e[t];if(!this._isShallow){const t=uI(r);if(cI(n)||uI(n)||(r=hI(r),n=hI(n)),!Ux(e)&&gI(r)&&!gI(n))return!t&&(r.value=n,!0)}const s=Ux(e)&&Jx(t)?Number(t)e,Gw=e=>Reflect.getPrototypeOf(e);function Hw(e){return function(...t){return"delete"!==e&&("clear"===e?void 0:this)}}function Ww(e,t){const n={get(n){const i=this.__v_raw,r=hI(i),s=hI(n);e||(uE(n,s)&&Ew(r,0,n),Ew(r,0,s));const{has:o}=Gw(r),a=t?Yw:e?mI:fI;return o.call(r,n)?a(i.get(n)):o.call(r,s)?a(i.get(s)):void(i!==r&&i.get(n))},get size(){const t=this.__v_raw;return!e&&Ew(hI(t),0,bw),Reflect.get(t,"size",t)},has(t){const n=this.__v_raw,i=hI(n),r=hI(t);return e||(uE(t,r)&&Ew(i,0,t),Ew(i,0,r)),t===r?n.has(t):n.has(t)||n.has(r)},forEach(n,i){const r=this,s=r.__v_raw,o=hI(s),a=t?Yw:e?mI:fI;return!e&&Ew(o,0,bw),s.forEach((e,t)=>n.call(i,a(e),a(t),r))}};Lx(n,e?{add:Hw("add"),set:Hw("set"),delete:Hw("delete"),clear:Hw("clear")}:{add(e){t||cI(e)||uI(e)||(e=hI(e));const n=hI(this);return Gw(n).has.call(n,e)||(n.add(e),ww(n,"add",e,e)),this},set(e,n){t||cI(n)||uI(n)||(n=hI(n));const i=hI(this),{has:r,get:s}=Gw(i);let o=r.call(i,e);o||(e=hI(e),o=r.call(i,e));const a=s.call(i,e);return i.set(e,n),o?uE(n,a)&&ww(i,"set",e,n):ww(i,"add",e,n),this},delete(e){const t=hI(this),{has:n,get:i}=Gw(t);let r=n.call(t,e);r||(e=hI(e),r=n.call(t,e));i&&i.call(t,e);const s=t.delete(e);return r&&ww(t,"delete",e,void 0),s},clear(){const e=hI(this),t=0!==e.size,n=e.clear();return t&&ww(e,"clear",void 0,void 0),n}});return["keys","values","entries",Symbol.iterator].forEach(i=>{n[i]=function(e,t,n){return function(...i){const r=this.__v_raw,s=hI(r),o=Vx(s),a="entries"===e||e===Symbol.iterator&&o,l="keys"===e&&o,u=r[e](...i),c=n?Yw:t?mI:fI;return!t&&Ew(s,0,l?Tw:bw),{next(){const{value:e,done:t}=u.next();return t?{value:e,done:t}:{value:a?[c(e[0]),c(e[1])]:c(e),done:t}},[Symbol.iterator](){return this}}}}(i,e,t)}),n}function Xw(e,t){const n=Ww(e,t);return(t,i,r)=>"__v_isReactive"===i?!e:"__v_isReadonly"===i?e:"__v_raw"===i?t:Reflect.get($x(n,i)&&i in t?n:t,i,r)}const qw={get:Xw(!1,!1)},Kw={get:Xw(!1,!0)},Zw={get:Xw(!0,!1)},Qw={get:Xw(!0,!0)};const Jw=new WeakMap,eI=new WeakMap,tI=new WeakMap,nI=new WeakMap;function iI(e){return uI(e)?e:aI(e,!1,Uw,qw,Jw)}function rI(e){return aI(e,!1,zw,Kw,eI)}function sI(e){return aI(e,!0,Vw,Zw,tI)}function oI(e){return aI(e,!0,jw,Qw,nI)}function aI(e,t,n,i,r){if(!Wx(e))return e;if(e.__v_raw&&(!t||!e.__v_isReactive))return e;const s=r.get(e);if(s)return s;const o=(a=e).__v_skip||!Object.isExtensible(a)?0:function(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}(Zx(a));var a;if(0===o)return e;const l=new Proxy(e,2===o?i:n);return r.set(e,l),l}function lI(e){return uI(e)?lI(e.__v_raw):!(!e||!e.__v_isReactive)}function uI(e){return!(!e||!e.__v_isReadonly)}function cI(e){return!(!e||!e.__v_isShallow)}function dI(e){return!!e&&!!e.__v_raw}function hI(e){const t=e&&e.__v_raw;return t?hI(t):e}function pI(e){return!$x(e,"__v_skip")&&Object.isExtensible(e)&&dE(e,"__v_skip",!0),e}const fI=e=>Wx(e)?iI(e):e,mI=e=>Wx(e)?sI(e):e;function gI(e){return!!e&&!0===e.__v_isRef}function _I(e){return vI(e,!1)}function yI(e){return vI(e,!0)}function vI(e,t){return gI(e)?e:new bI(e,t)}class bI{constructor(e,t){this.dep=new _w,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=t?e:hI(e),this._value=t?e:fI(e),this.__v_isShallow=t}get value(){return this.dep.track(),this._value}set value(e){const t=this._rawValue,n=this.__v_isShallow||cI(e)||uI(e);e=n?e:hI(e),uE(e,t)&&(this._rawValue=e,this._value=n?e:fI(e),this.dep.trigger())}}function TI(e){e.dep&&e.dep.trigger()}function xI(e){return gI(e)?e.value:e}function EI(e){return Yx(e)?e():xI(e)}const wI={get:(e,t,n)=>"__v_raw"===t?e:xI(Reflect.get(e,t,n)),set:(e,t,n,i)=>{const r=e[t];return gI(r)&&!gI(n)?(r.value=n,!0):Reflect.set(e,t,n,i)}};function II(e){return lI(e)?e:new Proxy(e,wI)}class AI{constructor(e){this.__v_isRef=!0,this._value=void 0;const t=this.dep=new _w,{get:n,set:i}=e(t.track.bind(t),t.trigger.bind(t));this._get=n,this._set=i}get value(){return this._value=this._get()}set value(e){this._set(e)}}function SI(e){return new AI(e)}function CI(e){const t=Ux(e)?new Array(e.length):{};for(const n in e)t[n]=RI(e,n);return t}class OI{constructor(e,t,n){this._object=e,this._key=t,this._defaultValue=n,this.__v_isRef=!0,this._value=void 0}get value(){const e=this._object[this._key];return this._value=void 0===e?this._defaultValue:e}set value(e){this._object[this._key]=e}get dep(){return function(e,t){const n=vw.get(e);return n&&n.get(t)}(hI(this._object),this._key)}}class MI{constructor(e){this._getter=e,this.__v_isRef=!0,this.__v_isReadonly=!0,this._value=void 0}get value(){return this._value=this._getter()}}function kI(e,t,n){return gI(e)?e:Yx(e)?new MI(e):Wx(e)&&arguments.length>1?RI(e,t,n):_I(e)}function RI(e,t,n){const i=e[t];return gI(i)?i:new OI(e,t,n)}class NI{constructor(e,t,n){this.fn=e,this.setter=t,this._value=void 0,this.dep=new _w(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=mw-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!t,this.isSSR=n}notify(){if(this.flags|=16,!(8&this.flags||jE===this))return JE(this,!0),!0}get value(){const e=this.dep.track();return sw(this),e&&(e.version=this.dep.version),this._value}set value(e){this.setter&&this.setter(e)}}const DI={GET:"get",HAS:"has",ITERATE:"iterate"},FI={SET:"set",ADD:"add",DELETE:"delete",CLEAR:"clear"},LI={},PI=new WeakMap;let BI;function $I(){return BI}function UI(e,t=!1,n=BI){if(n){let t=PI.get(n);t||PI.set(n,t=[]),t.push(e)}else 0}function VI(e,t=1/0,n){if(t<=0||!Wx(e)||e.__v_skip)return e;if((n=n||new Set).has(e))return e;if(n.add(e),t--,gI(e))VI(e.value,t,n);else if(Ux(e))for(let i=0;i{VI(e,t,n)});else if(Qx(e)){for(const i in e)VI(e[i],t,n);for(const i of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,i)&&VI(e[i],t,n)}return e} +function Fx(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return e=>e in t}const Lx={},Px=[],Bx=()=>{},$x=()=>!1,Ux=e=>111===e.charCodeAt(0)&&110===e.charCodeAt(1)&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Vx=e=>e.startsWith("onUpdate:"),zx=Object.assign,jx=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Yx=Object.prototype.hasOwnProperty,Gx=(e,t)=>Yx.call(e,t),Hx=Array.isArray,Wx=e=>"[object Map]"===nE(e),Xx=e=>"[object Set]"===nE(e),qx=e=>"[object Date]"===nE(e),Kx=e=>"function"==typeof e,Zx=e=>"string"==typeof e,Qx=e=>"symbol"==typeof e,Jx=e=>null!==e&&"object"==typeof e,eE=e=>(Jx(e)||Kx(e))&&Kx(e.then)&&Kx(e.catch),tE=Object.prototype.toString,nE=e=>tE.call(e),iE=e=>nE(e).slice(8,-1),rE=e=>"[object Object]"===nE(e),sE=e=>Zx(e)&&"NaN"!==e&&"-"!==e[0]&&""+parseInt(e,10)===e,oE=Fx(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),aE=Fx("bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo"),lE=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},uE=/-(\w)/g,cE=lE(e=>e.replace(uE,(e,t)=>t?t.toUpperCase():"")),dE=/\B([A-Z])/g,hE=lE(e=>e.replace(dE,"-$1").toLowerCase()),pE=lE(e=>e.charAt(0).toUpperCase()+e.slice(1)),fE=lE(e=>e?`on${pE(e)}`:""),mE=(e,t)=>!Object.is(e,t),gE=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:i,value:n})},yE=e=>{const t=parseFloat(e);return isNaN(t)?e:t},vE=e=>{const t=Zx(e)?Number(e):NaN;return isNaN(t)?e:t};let bE;const TE=()=>bE||(bE="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:void 0!==__webpack_require__.g?__webpack_require__.g:{});const xE=Fx("Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console,Error,Symbol");function EE(e){if(Hx(e)){const t={};for(let n=0;n{if(e){const n=e.split(IE);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function CE(e){let t="";if(Zx(e))t=e;else if(Hx(e))for(let n=0;n?@[\\\]^`{|}~]/g;function VE(e,t){return e.replace(UE,e=>t?'"'===e?'\\\\\\"':`\\\\${e}`:`\\${e}`)}function zE(e,t){if(e===t)return!0;let n=qx(e),i=qx(t);if(n||i)return!(!n||!i)&&e.getTime()===t.getTime();if(n=Qx(e),i=Qx(t),n||i)return e===t;if(n=Hx(e),i=Hx(t),n||i)return!(!n||!i)&&function(e,t){if(e.length!==t.length)return!1;let n=!0;for(let i=0;n&&izE(e,t))}const YE=e=>!(!e||!0!==e.__v_isRef),GE=e=>Zx(e)?e:null==e?"":Hx(e)||Jx(e)&&(e.toString===tE||!Kx(e.toString))?YE(e)?GE(e.value):JSON.stringify(e,HE,2):String(e),HE=(e,t)=>YE(t)?HE(e,t.value):Wx(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((e,[t,n],i)=>(e[WE(t,i)+" =>"]=n,e),{})}:Xx(t)?{[`Set(${t.size})`]:[...t.values()].map(e=>WE(e))}:Qx(t)?WE(t):!Jx(t)||Hx(t)||rE(t)?t:String(t),WE=(e,t="")=>{var n;return Qx(e)?`Symbol(${null!=(n=e.description)?n:t})`:e};let XE,qE;class KE{constructor(e=!1){this.detached=e,this._active=!0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=XE,!e&&XE&&(this.index=(XE.scopes||(XE.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){let e,t;if(this._isPaused=!0,this.scopes)for(e=0,t=this.scopes.length;e0)return;if(iw){let e=iw;for(iw=void 0;e;){const t=e.next;e.next=void 0,e.flags&=-9,e=t}}let e;for(;nw;){let t=nw;for(nw=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,1&t.flags)try{t.trigger()}catch(t){e||(e=t)}t=n}}if(e)throw e}function lw(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function uw(e){let t,n=e.depsTail,i=n;for(;i;){const e=i.prevDep;-1===i.version?(i===n&&(n=e),hw(i),pw(i)):t=i,i.dep.activeLink=i.prevActiveLink,i.prevActiveLink=void 0,i=e}e.deps=t,e.depsTail=n}function cw(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(dw(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function dw(e){if(4&e.flags&&!(16&e.flags))return;if(e.flags&=-17,e.globalVersion===Tw)return;e.globalVersion=Tw;const t=e.dep;if(e.flags|=2,t.version>0&&!e.isSSR&&e.deps&&!cw(e))return void(e.flags&=-3);const n=qE,i=gw;qE=e,gw=!0;try{lw(e);const n=e.fn(e._value);(0===t.version||mE(n,e._value))&&(e._value=n,t.version++)}catch(e){throw t.version++,e}finally{qE=n,gw=i,uw(e),e.flags&=-3}}function hw(e,t=!1){const{dep:n,prevSub:i,nextSub:r}=e;if(i&&(i.nextSub=r,e.prevSub=void 0),r&&(r.prevSub=i,e.nextSub=void 0),n.subs===e&&(n.subs=i,!i&&n.computed)){n.computed.flags&=-5;for(let e=n.computed.deps;e;e=e.nextDep)hw(e,!0)}t||--n.sc||!n.map||n.map.delete(n.key)}function pw(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}function fw(e,t){e.effect instanceof tw&&(e=e.effect.fn);const n=new tw(e);t&&zx(n,t);try{n.run()}catch(e){throw n.stop(),e}const i=n.run.bind(n);return i.effect=n,i}function mw(e){e.effect.stop()}let gw=!0;const _w=[];function yw(){_w.push(gw),gw=!1}function vw(){const e=_w.pop();gw=void 0===e||e}function bw(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const e=qE;qE=void 0;try{t()}finally{qE=e}}}let Tw=0;class xw{constructor(e,t){this.sub=e,this.dep=t,this.version=t.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class Ew{constructor(e){this.computed=e,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0}track(e){if(!qE||!gw||qE===this.computed)return;let t=this.activeLink;if(void 0===t||t.sub!==qE)t=this.activeLink=new xw(qE,this),qE.deps?(t.prevDep=qE.depsTail,qE.depsTail.nextDep=t,qE.depsTail=t):qE.deps=qE.depsTail=t,ww(t);else if(-1===t.version&&(t.version=this.version,t.nextDep)){const e=t.nextDep;e.prevDep=t.prevDep,t.prevDep&&(t.prevDep.nextDep=e),t.prevDep=qE.depsTail,t.nextDep=void 0,qE.depsTail.nextDep=t,qE.depsTail=t,qE.deps===t&&(qE.deps=e)}return t}trigger(e){this.version++,Tw++,this.notify(e)}notify(e){ow();try{0;for(let e=this.subs;e;e=e.prevSub)e.sub.notify()&&e.sub.dep.notify()}finally{aw()}}}function ww(e){if(e.dep.sc++,4&e.sub.flags){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let e=t.deps;e;e=e.nextDep)ww(e)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const Iw=new WeakMap,Aw=Symbol(""),Sw=Symbol(""),Cw=Symbol("");function Ow(e,t,n){if(gw&&qE){let t=Iw.get(e);t||Iw.set(e,t=new Map);let i=t.get(n);i||(t.set(n,i=new Ew),i.map=t,i.key=n),i.track()}}function Mw(e,t,n,i,r,s){const o=Iw.get(e);if(!o)return void Tw++;const a=e=>{e&&e.trigger()};if(ow(),"clear"===t)o.forEach(a);else{const r=Hx(e),s=r&&sE(n);if(r&&"length"===n){const e=Number(i);o.forEach((t,n)=>{("length"===n||n===Cw||!Qx(n)&&n>=e)&&a(t)})}else switch((void 0!==n||o.has(void 0))&&a(o.get(n)),s&&a(o.get(Cw)),t){case"add":r?s&&a(o.get("length")):(a(o.get(Aw)),Wx(e)&&a(o.get(Sw)));break;case"delete":r||(a(o.get(Aw)),Wx(e)&&a(o.get(Sw)));break;case"set":Wx(e)&&a(o.get(Aw))}}aw()}function kw(e){const t=yI(e);return t===e?t:(Ow(t,0,Cw),gI(e)?t:t.map(bI))}function Rw(e){return Ow(e=yI(e),0,Cw),e}const Nw={__proto__:null,[Symbol.iterator](){return Dw(this,Symbol.iterator,bI)},concat(...e){return kw(this).concat(...e.map(e=>Hx(e)?kw(e):e))},entries(){return Dw(this,"entries",e=>(e[1]=bI(e[1]),e))},every(e,t){return Lw(this,"every",e,t,void 0,arguments)},filter(e,t){return Lw(this,"filter",e,t,e=>e.map(bI),arguments)},find(e,t){return Lw(this,"find",e,t,bI,arguments)},findIndex(e,t){return Lw(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Lw(this,"findLast",e,t,bI,arguments)},findLastIndex(e,t){return Lw(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Lw(this,"forEach",e,t,void 0,arguments)},includes(...e){return Bw(this,"includes",e)},indexOf(...e){return Bw(this,"indexOf",e)},join(e){return kw(this).join(e)},lastIndexOf(...e){return Bw(this,"lastIndexOf",e)},map(e,t){return Lw(this,"map",e,t,void 0,arguments)},pop(){return $w(this,"pop")},push(...e){return $w(this,"push",e)},reduce(e,...t){return Pw(this,"reduce",e,t)},reduceRight(e,...t){return Pw(this,"reduceRight",e,t)},shift(){return $w(this,"shift")},some(e,t){return Lw(this,"some",e,t,void 0,arguments)},splice(...e){return $w(this,"splice",e)},toReversed(){return kw(this).toReversed()},toSorted(e){return kw(this).toSorted(e)},toSpliced(...e){return kw(this).toSpliced(...e)},unshift(...e){return $w(this,"unshift",e)},values(){return Dw(this,"values",bI)}};function Dw(e,t,n){const i=Rw(e),r=i[t]();return i===e||gI(e)||(r._next=r.next,r.next=()=>{const e=r._next();return e.value&&(e.value=n(e.value)),e}),r}const Fw=Array.prototype;function Lw(e,t,n,i,r,s){const o=Rw(e),a=o!==e&&!gI(e),l=o[t];if(l!==Fw[t]){const t=l.apply(e,s);return a?bI(t):t}let u=n;o!==e&&(a?u=function(t,i){return n.call(this,bI(t),i,e)}:n.length>2&&(u=function(t,i){return n.call(this,t,i,e)}));const c=l.call(o,u,i);return a&&r?r(c):c}function Pw(e,t,n,i){const r=Rw(e);let s=n;return r!==e&&(gI(e)?n.length>3&&(s=function(t,i,r){return n.call(this,t,i,r,e)}):s=function(t,i,r){return n.call(this,t,bI(i),r,e)}),r[t](s,...i)}function Bw(e,t,n){const i=yI(e);Ow(i,0,Cw);const r=i[t](...n);return-1!==r&&!1!==r||!_I(n[0])?r:(n[0]=yI(n[0]),i[t](...n))}function $w(e,t,n=[]){yw(),ow();const i=yI(e)[t].apply(e,n);return aw(),vw(),i}const Uw=Fx("__proto__,__v_isRef,__isVue"),Vw=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>"arguments"!==e&&"caller"!==e).map(e=>Symbol[e]).filter(Qx));function zw(e){Qx(e)||(e=String(e));const t=yI(this);return Ow(t,0,e),t.hasOwnProperty(e)}class jw{constructor(e=!1,t=!1){this._isReadonly=e,this._isShallow=t}get(e,t,n){if("__v_skip"===t)return e.__v_skip;const i=this._isReadonly,r=this._isShallow;if("__v_isReactive"===t)return!i;if("__v_isReadonly"===t)return i;if("__v_isShallow"===t)return r;if("__v_raw"===t)return n===(i?r?lI:aI:r?oI:sI).get(e)||Object.getPrototypeOf(e)===Object.getPrototypeOf(n)?e:void 0;const s=Hx(e);if(!i){let e;if(s&&(e=Nw[t]))return e;if("hasOwnProperty"===t)return zw}const o=Reflect.get(e,t,xI(e)?e:n);return(Qx(t)?Vw.has(t):Uw(t))?o:(i||Ow(e,0,t),r?o:xI(o)?s&&sE(t)?o:o.value:Jx(o)?i?dI(o):uI(o):o)}}class Yw extends jw{constructor(e=!1){super(!1,e)}set(e,t,n,i){let r=e[t];if(!this._isShallow){const t=mI(r);if(gI(n)||mI(n)||(r=yI(r),n=yI(n)),!Hx(e)&&xI(r)&&!xI(n))return!t&&(r.value=n,!0)}const s=Hx(e)&&sE(t)?Number(t)e,Zw=e=>Reflect.getPrototypeOf(e);function Qw(e){return function(...t){return"delete"!==e&&("clear"===e?void 0:this)}}function Jw(e,t){const n={get(n){const i=this.__v_raw,r=yI(i),s=yI(n);e||(mE(n,s)&&Ow(r,0,n),Ow(r,0,s));const{has:o}=Zw(r),a=t?Kw:e?TI:bI;return o.call(r,n)?a(i.get(n)):o.call(r,s)?a(i.get(s)):void(i!==r&&i.get(n))},get size(){const t=this.__v_raw;return!e&&Ow(yI(t),0,Aw),Reflect.get(t,"size",t)},has(t){const n=this.__v_raw,i=yI(n),r=yI(t);return e||(mE(t,r)&&Ow(i,0,t),Ow(i,0,r)),t===r?n.has(t):n.has(t)||n.has(r)},forEach(n,i){const r=this,s=r.__v_raw,o=yI(s),a=t?Kw:e?TI:bI;return!e&&Ow(o,0,Aw),s.forEach((e,t)=>n.call(i,a(e),a(t),r))}};zx(n,e?{add:Qw("add"),set:Qw("set"),delete:Qw("delete"),clear:Qw("clear")}:{add(e){t||gI(e)||mI(e)||(e=yI(e));const n=yI(this);return Zw(n).has.call(n,e)||(n.add(e),Mw(n,"add",e,e)),this},set(e,n){t||gI(n)||mI(n)||(n=yI(n));const i=yI(this),{has:r,get:s}=Zw(i);let o=r.call(i,e);o||(e=yI(e),o=r.call(i,e));const a=s.call(i,e);return i.set(e,n),o?mE(n,a)&&Mw(i,"set",e,n):Mw(i,"add",e,n),this},delete(e){const t=yI(this),{has:n,get:i}=Zw(t);let r=n.call(t,e);r||(e=yI(e),r=n.call(t,e));i&&i.call(t,e);const s=t.delete(e);return r&&Mw(t,"delete",e,void 0),s},clear(){const e=yI(this),t=0!==e.size,n=e.clear();return t&&Mw(e,"clear",void 0,void 0),n}});return["keys","values","entries",Symbol.iterator].forEach(i=>{n[i]=function(e,t,n){return function(...i){const r=this.__v_raw,s=yI(r),o=Wx(s),a="entries"===e||e===Symbol.iterator&&o,l="keys"===e&&o,u=r[e](...i),c=n?Kw:t?TI:bI;return!t&&Ow(s,0,l?Sw:Aw),{next(){const{value:e,done:t}=u.next();return t?{value:e,done:t}:{value:a?[c(e[0]),c(e[1])]:c(e),done:t}},[Symbol.iterator](){return this}}}}(i,e,t)}),n}function eI(e,t){const n=Jw(e,t);return(t,i,r)=>"__v_isReactive"===i?!e:"__v_isReadonly"===i?e:"__v_raw"===i?t:Reflect.get(Gx(n,i)&&i in t?n:t,i,r)}const tI={get:eI(!1,!1)},nI={get:eI(!1,!0)},iI={get:eI(!0,!1)},rI={get:eI(!0,!0)};const sI=new WeakMap,oI=new WeakMap,aI=new WeakMap,lI=new WeakMap;function uI(e){return mI(e)?e:pI(e,!1,Hw,tI,sI)}function cI(e){return pI(e,!1,Xw,nI,oI)}function dI(e){return pI(e,!0,Ww,iI,aI)}function hI(e){return pI(e,!0,qw,rI,lI)}function pI(e,t,n,i,r){if(!Jx(e))return e;if(e.__v_raw&&(!t||!e.__v_isReactive))return e;const s=r.get(e);if(s)return s;const o=(a=e).__v_skip||!Object.isExtensible(a)?0:function(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}(iE(a));var a;if(0===o)return e;const l=new Proxy(e,2===o?i:n);return r.set(e,l),l}function fI(e){return mI(e)?fI(e.__v_raw):!(!e||!e.__v_isReactive)}function mI(e){return!(!e||!e.__v_isReadonly)}function gI(e){return!(!e||!e.__v_isShallow)}function _I(e){return!!e&&!!e.__v_raw}function yI(e){const t=e&&e.__v_raw;return t?yI(t):e}function vI(e){return!Gx(e,"__v_skip")&&Object.isExtensible(e)&&_E(e,"__v_skip",!0),e}const bI=e=>Jx(e)?uI(e):e,TI=e=>Jx(e)?dI(e):e;function xI(e){return!!e&&!0===e.__v_isRef}function EI(e){return II(e,!1)}function wI(e){return II(e,!0)}function II(e,t){return xI(e)?e:new AI(e,t)}class AI{constructor(e,t){this.dep=new Ew,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=t?e:yI(e),this._value=t?e:bI(e),this.__v_isShallow=t}get value(){return this.dep.track(),this._value}set value(e){const t=this._rawValue,n=this.__v_isShallow||gI(e)||mI(e);e=n?e:yI(e),mE(e,t)&&(this._rawValue=e,this._value=n?e:bI(e),this.dep.trigger())}}function SI(e){e.dep&&e.dep.trigger()}function CI(e){return xI(e)?e.value:e}function OI(e){return Kx(e)?e():CI(e)}const MI={get:(e,t,n)=>"__v_raw"===t?e:CI(Reflect.get(e,t,n)),set:(e,t,n,i)=>{const r=e[t];return xI(r)&&!xI(n)?(r.value=n,!0):Reflect.set(e,t,n,i)}};function kI(e){return fI(e)?e:new Proxy(e,MI)}class RI{constructor(e){this.__v_isRef=!0,this._value=void 0;const t=this.dep=new Ew,{get:n,set:i}=e(t.track.bind(t),t.trigger.bind(t));this._get=n,this._set=i}get value(){return this._value=this._get()}set value(e){this._set(e)}}function NI(e){return new RI(e)}function DI(e){const t=Hx(e)?new Array(e.length):{};for(const n in e)t[n]=BI(e,n);return t}class FI{constructor(e,t,n){this._object=e,this._key=t,this._defaultValue=n,this.__v_isRef=!0,this._value=void 0}get value(){const e=this._object[this._key];return this._value=void 0===e?this._defaultValue:e}set value(e){this._object[this._key]=e}get dep(){return function(e,t){const n=Iw.get(e);return n&&n.get(t)}(yI(this._object),this._key)}}class LI{constructor(e){this._getter=e,this.__v_isRef=!0,this.__v_isReadonly=!0,this._value=void 0}get value(){return this._value=this._getter()}}function PI(e,t,n){return xI(e)?e:Kx(e)?new LI(e):Jx(e)&&arguments.length>1?BI(e,t,n):EI(e)}function BI(e,t,n){const i=e[t];return xI(i)?i:new FI(e,t,n)}class $I{constructor(e,t,n){this.fn=e,this.setter=t,this._value=void 0,this.dep=new Ew(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Tw-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!t,this.isSSR=n}notify(){if(this.flags|=16,!(8&this.flags||qE===this))return sw(this,!0),!0}get value(){const e=this.dep.track();return dw(this),e&&(e.version=this.dep.version),this._value}set value(e){this.setter&&this.setter(e)}}const UI={GET:"get",HAS:"has",ITERATE:"iterate"},VI={SET:"set",ADD:"add",DELETE:"delete",CLEAR:"clear"},zI={},jI=new WeakMap;let YI;function GI(){return YI}function HI(e,t=!1,n=YI){if(n){let t=jI.get(n);t||jI.set(n,t=[]),t.push(e)}else 0}function WI(e,t=1/0,n){if(t<=0||!Jx(e)||e.__v_skip)return e;if((n=n||new Set).has(e))return e;if(n.add(e),t--,xI(e))WI(e.value,t,n);else if(Hx(e))for(let i=0;i{WI(e,t,n)});else if(rE(e)){for(const i in e)WI(e[i],t,n);for(const i of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,i)&&WI(e[i],t,n)}return e} /** * @vue/runtime-core v3.5.13 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT **/ -const zI=[];let jI=!1;function YI(e,...t){if(jI)return;jI=!0,hw();const n=zI.length?zI[zI.length-1].component:null,i=n&&n.appContext.config.warnHandler,r=function(){let e=zI[zI.length-1];if(!e)return[];const t=[];for(;e;){const n=t[0];n&&n.vnode===e?n.recurseCount++:t.push({vnode:e,recurseCount:0});const i=e.component&&e.component.parent;e=i&&i.vnode}return t}();if(i)KI(i,n,11,[e+t.map(e=>{var t,n;return null!=(n=null==(t=e.toString)?void 0:t.call(e))?n:JSON.stringify(e)}).join(""),n&&n.proxy,r.map(({vnode:e})=>`at <${JM(n,e.type)}>`).join("\n"),r]);else{const n=[`[Vue warn]: ${e}`,...t];r.length&&n.push("\n",...function(e){const t=[];return e.forEach((e,n)=>{t.push(...0===n?[]:["\n"],...function({vnode:e,recurseCount:t}){const n=t>0?`... (${t} recursive calls)`:"",i=!!e.component&&null==e.component.parent,r=` at <${JM(e.component,e.type,i)}`,s=">"+n;return e.props?[r,...GI(e.props),s]:[r+s]}(e))}),t}(r)),console.warn(...n)}pw(),jI=!1}function GI(e){const t=[],n=Object.keys(e);return n.slice(0,3).forEach(n=>{t.push(...HI(n,e[n]))}),n.length>3&&t.push(" ..."),t}function HI(e,t,n){return Gx(t)?(t=JSON.stringify(t),n?t:[`${e}=${t}`]):"number"==typeof t||"boolean"==typeof t||null==t?n?t:[`${e}=${t}`]:gI(t)?(t=HI(e,hI(t.value),!0),n?t:[`${e}=Ref<`,t,">"]):Yx(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=hI(t),n?t:[`${e}=`,t])}function WI(e,t){}const XI={SETUP_FUNCTION:0,0:"SETUP_FUNCTION",RENDER_FUNCTION:1,1:"RENDER_FUNCTION",NATIVE_EVENT_HANDLER:5,5:"NATIVE_EVENT_HANDLER",COMPONENT_EVENT_HANDLER:6,6:"COMPONENT_EVENT_HANDLER",VNODE_HOOK:7,7:"VNODE_HOOK",DIRECTIVE_HOOK:8,8:"DIRECTIVE_HOOK",TRANSITION_HOOK:9,9:"TRANSITION_HOOK",APP_ERROR_HANDLER:10,10:"APP_ERROR_HANDLER",APP_WARN_HANDLER:11,11:"APP_WARN_HANDLER",FUNCTION_REF:12,12:"FUNCTION_REF",ASYNC_COMPONENT_LOADER:13,13:"ASYNC_COMPONENT_LOADER",SCHEDULER:14,14:"SCHEDULER",COMPONENT_UPDATE:15,15:"COMPONENT_UPDATE",APP_UNMOUNT_CLEANUP:16,16:"APP_UNMOUNT_CLEANUP"},qI={sp:"serverPrefetch hook",bc:"beforeCreate hook",c:"created hook",bm:"beforeMount hook",m:"mounted hook",bu:"beforeUpdate hook",u:"updated",bum:"beforeUnmount hook",um:"unmounted hook",a:"activated hook",da:"deactivated hook",ec:"errorCaptured hook",rtc:"renderTracked hook",rtg:"renderTriggered hook",0:"setup function",1:"render function",2:"watcher getter",3:"watcher callback",4:"watcher cleanup function",5:"native event handler",6:"component event handler",7:"vnode hook",8:"directive hook",9:"transition hook",10:"app errorHandler",11:"app warnHandler",12:"ref function",13:"async component loader",14:"scheduler flush",15:"component update",16:"app unmount cleanup function"};function KI(e,t,n,i){try{return i?e(...i):e()}catch(e){QI(e,t,n)}}function ZI(e,t,n,i){if(Yx(e)){const r=KI(e,t,n,i);return r&&Xx(r)&&r.catch(e=>{QI(e,t,n)}),r}if(Ux(e)){const r=[];for(let s=0;s=hA(n)?JI.push(e):JI.splice(function(e){let t=eA+1,n=JI.length;for(;t>>1,r=JI[i],s=hA(r);shA(e)-hA(t));if(tA.length=0,nA)return void nA.push(...e);for(nA=e,iA=0;iAnull==e.id?2&e.flags?-1:1/0:e.id;function pA(e){try{for(eA=0;eAfA.emit(e,...t)),mA=[];else if("undefined"!=typeof window&&window.HTMLElement&&!(null==(i=null==(n=window.navigator)?void 0:n.userAgent)?void 0:i.includes("jsdom"))){(t.__VUE_DEVTOOLS_HOOK_REPLAY__=t.__VUE_DEVTOOLS_HOOK_REPLAY__||[]).push(e=>{yA(e,t)}),setTimeout(()=>{fA||(t.__VUE_DEVTOOLS_HOOK_REPLAY__=null,gA=!0,mA=[])},3e3)}else gA=!0,mA=[]}const vA=EA("component:added"),bA=EA("component:updated"),TA=EA("component:removed"),xA=e=>{fA&&"function"==typeof fA.cleanupBuffer&&!fA.cleanupBuffer(e)&&TA(e)}; +const XI=[];let qI=!1;function KI(e,...t){if(qI)return;qI=!0,yw();const n=XI.length?XI[XI.length-1].component:null,i=n&&n.appContext.config.warnHandler,r=function(){let e=XI[XI.length-1];if(!e)return[];const t=[];for(;e;){const n=t[0];n&&n.vnode===e?n.recurseCount++:t.push({vnode:e,recurseCount:0});const i=e.component&&e.component.parent;e=i&&i.vnode}return t}();if(i)nA(i,n,11,[e+t.map(e=>{var t,n;return null!=(n=null==(t=e.toString)?void 0:t.call(e))?n:JSON.stringify(e)}).join(""),n&&n.proxy,r.map(({vnode:e})=>`at <${sk(n,e.type)}>`).join("\n"),r]);else{const n=[`[Vue warn]: ${e}`,...t];r.length&&n.push("\n",...function(e){const t=[];return e.forEach((e,n)=>{t.push(...0===n?[]:["\n"],...function({vnode:e,recurseCount:t}){const n=t>0?`... (${t} recursive calls)`:"",i=!!e.component&&null==e.component.parent,r=` at <${sk(e.component,e.type,i)}`,s=">"+n;return e.props?[r,...ZI(e.props),s]:[r+s]}(e))}),t}(r)),console.warn(...n)}vw(),qI=!1}function ZI(e){const t=[],n=Object.keys(e);return n.slice(0,3).forEach(n=>{t.push(...QI(n,e[n]))}),n.length>3&&t.push(" ..."),t}function QI(e,t,n){return Zx(t)?(t=JSON.stringify(t),n?t:[`${e}=${t}`]):"number"==typeof t||"boolean"==typeof t||null==t?n?t:[`${e}=${t}`]:xI(t)?(t=QI(e,yI(t.value),!0),n?t:[`${e}=Ref<`,t,">"]):Kx(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=yI(t),n?t:[`${e}=`,t])}function JI(e,t){}const eA={SETUP_FUNCTION:0,0:"SETUP_FUNCTION",RENDER_FUNCTION:1,1:"RENDER_FUNCTION",NATIVE_EVENT_HANDLER:5,5:"NATIVE_EVENT_HANDLER",COMPONENT_EVENT_HANDLER:6,6:"COMPONENT_EVENT_HANDLER",VNODE_HOOK:7,7:"VNODE_HOOK",DIRECTIVE_HOOK:8,8:"DIRECTIVE_HOOK",TRANSITION_HOOK:9,9:"TRANSITION_HOOK",APP_ERROR_HANDLER:10,10:"APP_ERROR_HANDLER",APP_WARN_HANDLER:11,11:"APP_WARN_HANDLER",FUNCTION_REF:12,12:"FUNCTION_REF",ASYNC_COMPONENT_LOADER:13,13:"ASYNC_COMPONENT_LOADER",SCHEDULER:14,14:"SCHEDULER",COMPONENT_UPDATE:15,15:"COMPONENT_UPDATE",APP_UNMOUNT_CLEANUP:16,16:"APP_UNMOUNT_CLEANUP"},tA={sp:"serverPrefetch hook",bc:"beforeCreate hook",c:"created hook",bm:"beforeMount hook",m:"mounted hook",bu:"beforeUpdate hook",u:"updated",bum:"beforeUnmount hook",um:"unmounted hook",a:"activated hook",da:"deactivated hook",ec:"errorCaptured hook",rtc:"renderTracked hook",rtg:"renderTriggered hook",0:"setup function",1:"render function",2:"watcher getter",3:"watcher callback",4:"watcher cleanup function",5:"native event handler",6:"component event handler",7:"vnode hook",8:"directive hook",9:"transition hook",10:"app errorHandler",11:"app warnHandler",12:"ref function",13:"async component loader",14:"scheduler flush",15:"component update",16:"app unmount cleanup function"};function nA(e,t,n,i){try{return i?e(...i):e()}catch(e){rA(e,t,n)}}function iA(e,t,n,i){if(Kx(e)){const r=nA(e,t,n,i);return r&&eE(r)&&r.catch(e=>{rA(e,t,n)}),r}if(Hx(e)){const r=[];for(let s=0;s=yA(n)?sA.push(e):sA.splice(function(e){let t=oA+1,n=sA.length;for(;t>>1,r=sA[i],s=yA(r);syA(e)-yA(t));if(aA.length=0,lA)return void lA.push(...e);for(lA=e,uA=0;uAnull==e.id?2&e.flags?-1:1/0:e.id;function vA(e){try{for(oA=0;oAbA.emit(e,...t)),TA=[];else if("undefined"!=typeof window&&window.HTMLElement&&!(null==(i=null==(n=window.navigator)?void 0:n.userAgent)?void 0:i.includes("jsdom"))){(t.__VUE_DEVTOOLS_HOOK_REPLAY__=t.__VUE_DEVTOOLS_HOOK_REPLAY__||[]).push(e=>{wA(e,t)}),setTimeout(()=>{bA||(t.__VUE_DEVTOOLS_HOOK_REPLAY__=null,xA=!0,TA=[])},3e3)}else xA=!0,TA=[]}const IA=OA("component:added"),AA=OA("component:updated"),SA=OA("component:removed"),CA=e=>{bA&&"function"==typeof bA.cleanupBuffer&&!bA.cleanupBuffer(e)&&SA(e)}; /*! #__NO_SIDE_EFFECTS__ */ -function EA(e){return t=>{_A(e,t.appContext.app,t.uid,t.parent?t.parent.uid:void 0,t)}}let wA=null,IA=null;function AA(e){const t=wA;return wA=e,IA=e&&e.type.__scopeId||null,t}function SA(e){IA=e}function CA(){IA=null}const OA=e=>MA;function MA(e,t=wA,n){if(!t)return e;if(e._n)return e;const i=(...n)=>{i._d&&aM(-1);const r=AA(t);let s;try{s=e(...n)}finally{AA(r),i._d&&aM(1)}return __VUE_PROD_DEVTOOLS__&&bA(t),s};return i._n=!0,i._c=!0,i._d=!0,i}function kA(e,t){if(null===wA)return e;const n=qM(wA),i=e.dirs||(e.dirs=[]);for(let e=0;ee.__isTeleport,FA=e=>e&&(e.disabled||""===e.disabled),LA=e=>e&&(e.defer||""===e.defer),PA=e=>"undefined"!=typeof SVGElement&&e instanceof SVGElement,BA=e=>"function"==typeof MathMLElement&&e instanceof MathMLElement,$A=(e,t)=>{const n=e&&e.to;if(Gx(n)){if(t){return t(n)}return null}return n},UA={name:"Teleport",__isTeleport:!0,process(e,t,n,i,r,s,o,a,l,u){const{mc:c,pc:d,pbc:h,o:{insert:p,querySelector:f,createText:m,createComment:g}}=u,_=FA(t.props);let{shapeFlag:y,children:v,dynamicChildren:b}=t;if(null==e){const e=t.el=m(""),u=t.anchor=m("");p(e,n,i),p(u,n,i);const d=(e,t)=>{16&y&&(r&&r.isCE&&(r.ce._teleportTarget=e),c(v,e,t,r,s,o,a,l))},h=()=>{const e=t.target=$A(t.props,f),n=YA(e,t,m,p);e&&("svg"!==o&&PA(e)?o="svg":"mathml"!==o&&BA(e)&&(o="mathml"),_||(d(e,n),jA(t,!1)))};_&&(d(n,u),jA(t,!0)),LA(t.props)?pO(()=>{h(),t.el.__isMounted=!0},s):h()}else{if(LA(t.props)&&!e.el.__isMounted)return void pO(()=>{UA.process(e,t,n,i,r,s,o,a,l,u),delete e.el.__isMounted},s);t.el=e.el,t.targetStart=e.targetStart;const c=t.anchor=e.anchor,p=t.target=e.target,m=t.targetAnchor=e.targetAnchor,g=FA(e.props),y=g?n:p,v=g?c:m;if("svg"===o||PA(p)?o="svg":("mathml"===o||BA(p))&&(o="mathml"),b?(h(e.dynamicChildren,b,y,r,s,o,a),bO(e,t,!0)):l||d(e,t,y,v,r,s,o,a,!1),_)g?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):VA(t,n,c,u,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const e=t.target=$A(t.props,f);e&&VA(t,e,null,u,0)}else g&&VA(t,p,m,u,1);jA(t,_)}},remove(e,t,n,{um:i,o:{remove:r}},s){const{shapeFlag:o,children:a,anchor:l,targetStart:u,targetAnchor:c,target:d,props:h}=e;if(d&&(r(u),r(c)),s&&r(l),16&o){const e=s||!FA(h);for(let r=0;r{e.isMounted=!0}),WS(()=>{e.isUnmounting=!0}),e}const XA=[Function,Array],qA={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:XA,onEnter:XA,onAfterEnter:XA,onEnterCancelled:XA,onBeforeLeave:XA,onLeave:XA,onAfterLeave:XA,onLeaveCancelled:XA,onBeforeAppear:XA,onAppear:XA,onAfterAppear:XA,onAppearCancelled:XA},KA=e=>{const t=e.subTree;return t.component?KA(t.component):t};function ZA(e){let t=e[0];if(e.length>1){let n=!1;for(const i of e)if(i.type!==JO){0,t=i,n=!0;break}}return t}const QA={name:"BaseTransition",props:qA,setup(e,{slots:t}){const n=NM(),i=WA();return()=>{const r=t.default&&rS(t.default(),!0);if(!r||!r.length)return;const s=ZA(r),o=hI(e),{mode:a}=o;if(i.isLeaving)return tS(s);const l=nS(s);if(!l)return tS(s);let u=eS(l,o,i,n,e=>u=e);l.type!==JO&&iS(l,u);let c=n.subTree&&nS(n.subTree);if(c&&c.type!==JO&&!hM(l,c)&&KA(n).type!==JO){let e=eS(c,o,i,n);if(iS(c,e),"out-in"===a&&l.type!==JO)return i.isLeaving=!0,e.afterLeave=()=>{i.isLeaving=!1,8&n.job.flags||n.update(),delete e.afterLeave,c=void 0},tS(s);"in-out"===a&&l.type!==JO?e.delayLeave=(e,t,n)=>{JA(i,c)[String(c.key)]=c,e[GA]=()=>{t(),e[GA]=void 0,delete u.delayedLeave,c=void 0},u.delayedLeave=()=>{n(),delete u.delayedLeave,c=void 0}}:c=void 0}else c&&(c=void 0);return s}}};function JA(e,t){const{leavingVNodes:n}=e;let i=n.get(t.type);return i||(i=Object.create(null),n.set(t.type,i)),i}function eS(e,t,n,i,r){const{appear:s,mode:o,persisted:a=!1,onBeforeEnter:l,onEnter:u,onAfterEnter:c,onEnterCancelled:d,onBeforeLeave:h,onLeave:p,onAfterLeave:f,onLeaveCancelled:m,onBeforeAppear:g,onAppear:_,onAfterAppear:y,onAppearCancelled:v}=t,b=String(e.key),T=JA(n,e),x=(e,t)=>{e&&ZI(e,i,9,t)},E=(e,t)=>{const n=t[1];x(e,t),Ux(e)?e.every(e=>e.length<=1)&&n():e.length<=1&&n()},w={mode:o,persisted:a,beforeEnter(t){let i=l;if(!n.isMounted){if(!s)return;i=g||l}t[GA]&&t[GA](!0);const r=T[b];r&&hM(e,r)&&r.el[GA]&&r.el[GA](),x(i,[t])},enter(e){let t=u,i=c,r=d;if(!n.isMounted){if(!s)return;t=_||u,i=y||c,r=v||d}let o=!1;const a=e[HA]=t=>{o||(o=!0,x(t?r:i,[e]),w.delayedLeave&&w.delayedLeave(),e[HA]=void 0)};t?E(t,[e,a]):a()},leave(t,i){const r=String(e.key);if(t[HA]&&t[HA](!0),n.isUnmounting)return i();x(h,[t]);let s=!1;const o=t[GA]=n=>{s||(s=!0,i(),x(n?m:f,[t]),t[GA]=void 0,T[r]===e&&delete T[r])};T[r]=e,p?E(p,[t,o]):o()},clone(e){const s=eS(e,t,n,i,r);return r&&r(s),s}};return w}function tS(e){if(kS(e))return(e=bM(e)).children=null,e}function nS(e){if(!kS(e))return DA(e.type)&&e.children?ZA(e.children):e;const{shapeFlag:t,children:n}=e;if(n){if(16&t)return n[0];if(32&t&&Yx(n.default))return n.default()}}function iS(e,t){6&e.shapeFlag&&e.component?(e.transition=t,iS(e.component.subTree,t)):128&e.shapeFlag?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function rS(e,t=!1,n){let i=[],r=0;for(let s=0;s1)for(let e=0;eLx({name:e.name},t,{setup:e}))():e}function oS(){const e=NM();return e?(e.appContext.config.idPrefix||"v")+"-"+e.ids[0]+e.ids[1]++:""}function aS(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function lS(e){const t=NM(),n=yI(null);if(t){const i=t.refs===Mx?t.refs={}:t.refs;Object.defineProperty(i,e,{enumerable:!0,get:()=>n.value,set:e=>n.value=e})}else 0;return n}function uS(e,t,n,i,r=!1){if(Ux(e))return void e.forEach((e,s)=>uS(e,t&&(Ux(t)?t[s]:t),n,i,r));if(CS(i)&&!r)return void(512&i.shapeFlag&&i.type.__asyncResolved&&i.component.subTree.component&&uS(e,t,n,i.component.subTree));const s=4&i.shapeFlag?qM(i.component):i.el,o=r?null:s,{i:a,r:l}=e;const u=t&&t.r,c=a.refs===Mx?a.refs={}:a.refs,d=a.setupState,h=hI(d),p=d===Mx?()=>!1:e=>$x(h,e);if(null!=u&&u!==l&&(Gx(u)?(c[u]=null,p(u)&&(d[u]=null)):gI(u)&&(u.value=null)),Yx(l))KI(l,a,12,[o,c]);else{const t=Gx(l),i=gI(l);if(t||i){const a=()=>{if(e.f){const n=t?p(l)?d[l]:c[l]:l.value;r?Ux(n)&&Px(n,s):Ux(n)?n.includes(s)||n.push(s):t?(c[l]=[s],p(l)&&(d[l]=c[l])):(l.value=[s],e.k&&(c[e.k]=l.value))}else t?(c[l]=o,p(l)&&(d[l]=o)):i&&(l.value=o,e.k&&(c[e.k]=o))};o?(a.id=-1,pO(a,n)):a()}else 0}}let cS=!1;const dS=()=>{cS||(console.error("Hydration completed but contains mismatches."),cS=!0)},hS=e=>{if(1===e.nodeType)return(e=>e.namespaceURI.includes("svg")&&"foreignObject"!==e.tagName)(e)?"svg":(e=>e.namespaceURI.includes("MathML"))(e)?"mathml":void 0},pS=e=>8===e.nodeType;function fS(e){const{mt:t,p:n,o:{patchProp:i,createText:r,nextSibling:s,parentNode:o,remove:a,insert:l,createComment:u}}=e,c=(n,i,a,u,y,v=!1)=>{v=v||!!i.dynamicChildren;const b=pS(n)&&"["===n.data,T=()=>f(n,i,a,u,y,b),{type:x,ref:E,shapeFlag:w,patchFlag:I}=i;let A=n.nodeType;i.el=n,__VUE_PROD_DEVTOOLS__&&(dE(n,"__vnode",i,!0),dE(n,"__vueParentComponent",a,!0)),-2===I&&(v=!1,i.dynamicChildren=null);let S=null;switch(x){case QO:3!==A?""===i.children?(l(i.el=r(""),o(n),n),S=n):S=T():(n.data!==i.children&&(__VUE_PROD_HYDRATION_MISMATCH_DETAILS__&&YI("Hydration text mismatch in",n.parentNode,`\n - rendered on server: ${JSON.stringify(n.data)}\n - expected on client: ${JSON.stringify(i.children)}`),dS(),n.data=i.children),S=s(n));break;case JO:_(n)?(S=s(n),g(i.el=n.content.firstChild,n,a)):S=8!==A||b?T():s(n);break;case eM:if(b&&(A=(n=s(n)).nodeType),1===A||3===A){S=n;const e=!i.children.length;for(let t=0;t{o=o||!!t.dynamicChildren;const{type:l,props:u,patchFlag:c,shapeFlag:d,dirs:p,transition:f}=t,m="input"===l||"option"===l;if(m||-1!==c){p&&RA(t,null,n,"created");let l,y=!1;if(_(e)){y=vO(null,f)&&n&&n.vnode.props&&n.vnode.props.appear;const i=e.content.firstChild;y&&f.beforeEnter(i),g(i,e,n),t.el=e=i}if(16&d&&(!u||!u.innerHTML&&!u.textContent)){let i=h(e.firstChild,t,e,n,r,s,o),l=!1;for(;i;){TS(e,1)||(__VUE_PROD_HYDRATION_MISMATCH_DETAILS__&&!l&&(YI("Hydration children mismatch on",e,"\nServer rendered element contains more child nodes than client vdom."),l=!0),dS());const t=i;i=i.nextSibling,a(t)}}else if(8&d){let n=t.children;"\n"!==n[0]||"PRE"!==e.tagName&&"TEXTAREA"!==e.tagName||(n=n.slice(1)),e.textContent!==n&&(TS(e,0)||(__VUE_PROD_HYDRATION_MISMATCH_DETAILS__&&YI("Hydration text content mismatch on",e,`\n - rendered on server: ${e.textContent}\n - expected on client: ${t.children}`),dS()),e.textContent=t.children)}if(u)if(__VUE_PROD_HYDRATION_MISMATCH_DETAILS__||m||!o||48&c){const r=e.tagName.includes("-");for(const s in u)!__VUE_PROD_HYDRATION_MISMATCH_DETAILS__||p&&p.some(e=>e.dir.created)||!mS(e,s,u[s],t,n)||dS(),(m&&(s.endsWith("value")||"indeterminate"===s)||Dx(s)&&!eE(s)||"."===s[0]||r)&&i(e,s,null,u[s],void 0,n)}else if(u.onClick)i(e,"onClick",null,u.onClick,void 0,n);else if(4&c&&lI(u.style))for(const e in u.style)u.style[e];(l=u&&u.onVnodeBeforeMount)&&CM(l,n,t),p&&RA(t,null,n,"beforeMount"),((l=u&&u.onVnodeMounted)||p||y)&&qO(()=>{l&&CM(l,n,t),y&&f.enter(e),p&&RA(t,null,n,"mounted")},r)}return e.nextSibling},h=(e,t,i,o,a,u,d)=>{d=d||!!t.dynamicChildren;const h=t.children,p=h.length;let f=!1;for(let t=0;t{const{slotScopeIds:c}=t;c&&(r=r?r.concat(c):c);const d=o(e),p=h(s(e),t,d,n,i,r,a);return p&&pS(p)&&"]"===p.data?s(t.anchor=p):(dS(),l(t.anchor=u("]"),d,p),p)},f=(e,t,i,r,l,u)=>{if(TS(e.parentElement,1)||(__VUE_PROD_HYDRATION_MISMATCH_DETAILS__&&YI("Hydration node mismatch:\n- rendered on server:",e,3===e.nodeType?"(text)":pS(e)&&"["===e.data?"(start of fragment)":"","\n- expected on client:",t.type),dS()),t.el=null,u){const t=m(e);for(;;){const n=s(e);if(!n||n===t)break;a(n)}}const c=s(e),d=o(e);return a(e),n(null,t,d,c,i,r,hS(d),l),i&&(i.vnode.el=t.el,zO(i,t.el)),c},m=(e,t="[",n="]")=>{let i=0;for(;e;)if((e=s(e))&&pS(e)&&(e.data===t&&i++,e.data===n)){if(0===i)return s(e);i--}return e},g=(e,t,n)=>{const i=t.parentNode;i&&i.replaceChild(e,t);let r=n;for(;r;)r.vnode.el===t&&(r.vnode.el=r.subTree.el=e),r=r.parent},_=e=>1===e.nodeType&&"TEMPLATE"===e.tagName;return[(e,t)=>{if(!t.hasChildNodes())return __VUE_PROD_HYDRATION_MISMATCH_DETAILS__&&YI("Attempting to hydrate existing markup but container is empty. Performing full mount instead."),n(null,e,t),dA(),void(t._vnode=e);c(t.firstChild,e,null,null,null),dA(),t._vnode=e},c]}function mS(e,t,n,i,r){let s,o,a,l;if("class"===t)a=e.getAttribute("class"),l=xE(n),function(e,t){if(e.size!==t.size)return!1;for(const n of e)if(!t.has(n))return!1;return!0}(gS(a||""),gS(l))||(s=2,o="class");else if("style"===t){a=e.getAttribute("style")||"",l=Gx(n)?n:function(e){if(!e)return"";if(Gx(e))return e;let t="";for(const n in e){const i=e[n];(Gx(i)||"number"==typeof i)&&(t+=`${n.startsWith("--")?n:oE(n)}:${i};`)}return t}(_E(n));const t=_S(a),u=_S(l);if(i.dirs)for(const{dir:e,value:t}of i.dirs)"show"!==e.name||t||u.set("display","none");r&&yS(r,i,u),function(e,t){if(e.size!==t.size)return!1;for(const[n,i]of e)if(i!==t.get(n))return!1;return!0}(t,u)||(s=3,o="style")}else(e instanceof SVGElement&&NE(t)||e instanceof HTMLElement&&(ME(t)||RE(t)))&&(ME(t)?(a=e.hasAttribute(t),l=kE(n)):null==n?(a=e.hasAttribute(t),l=!1):(a=e.hasAttribute(t)?e.getAttribute(t):"value"===t&&"TEXTAREA"===e.tagName&&e.value,l=!!function(e){if(null==e)return!1;const t=typeof e;return"string"===t||"number"===t||"boolean"===t}(n)&&String(n)),a!==l&&(s=4,o=t));if(null!=s&&!TS(e,s)){const t=e=>!1===e?"(not rendered)":`${o}="${e}"`;return YI(`Hydration ${bS[s]} mismatch on`,e,`\n - rendered on server: ${t(a)}\n - expected on client: ${t(l)}\n Note: this mismatch is check-only. The DOM will not be rectified in production due to performance overhead.\n You should fix the source of the mismatch.`),!0}return!1}function gS(e){return new Set(e.trim().split(/\s+/))}function _S(e){const t=new Map;for(const n of e.split(";")){let[e,i]=n.split(":");e=e.trim(),i=i&&i.trim(),e&&i&&t.set(e,i)}return t}function yS(e,t,n){const i=e.subTree;if(e.getCssVars&&(t===i||i&&i.type===ZO&&i.children.includes(t))){const t=e.getCssVars();for(const e in t)n.set(`--${FE(e,!1)}`,String(t[e]))}t===i&&e.parent&&yS(e.parent,e.vnode,n)}const vS="data-allow-mismatch",bS={0:"text",1:"children",2:"class",3:"style",4:"attribute"};function TS(e,t){if(0===t||1===t)for(;e&&!e.hasAttribute(vS);)e=e.parentElement;const n=e&&e.getAttribute(vS);if(null==n)return!1;if(""===n)return!0;{const e=n.split(",");return!(0!==t||!e.includes("children"))||n.split(",").includes(bS[t])}}const xS=mE().requestIdleCallback||(e=>setTimeout(e,1)),ES=mE().cancelIdleCallback||(e=>clearTimeout(e)),wS=(e=1e4)=>t=>{const n=xS(t,{timeout:e});return()=>ES(n)};const IS=e=>(t,n)=>{const i=new IntersectionObserver(e=>{for(const n of e)if(n.isIntersecting){i.disconnect(),t();break}},e);return n(e=>{if(e instanceof Element)return function(e){const{top:t,left:n,bottom:i,right:r}=e.getBoundingClientRect(),{innerHeight:s,innerWidth:o}=window;return(t>0&&t0&&i0&&n0&&ri.disconnect()},AS=e=>t=>{if(e){const n=matchMedia(e);if(!n.matches)return n.addEventListener("change",t,{once:!0}),()=>n.removeEventListener("change",t);t()}},SS=(e=[])=>(t,n)=>{Gx(e)&&(e=[e]);let i=!1;const r=e=>{i||(i=!0,s(),t(),e.target.dispatchEvent(new e.constructor(e.type,e)))},s=()=>{n(t=>{for(const n of e)t.removeEventListener(n,r)})};return n(t=>{for(const n of e)t.addEventListener(n,r,{once:!0})}),s};const CS=e=>!!e.type.__asyncLoader; -/*! #__NO_SIDE_EFFECTS__ */function OS(e){Yx(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:i,delay:r=200,hydrate:s,timeout:o,suspensible:a=!0,onError:l}=e;let u,c=null,d=0;const h=()=>{let e;return c||(e=c=t().catch(e=>{if(e=e instanceof Error?e:new Error(String(e)),l)return new Promise((t,n)=>{l(e,()=>t((d++,c=null,h())),()=>n(e),d+1)});throw e}).then(t=>e!==c&&c?c:(t&&(t.__esModule||"Module"===t[Symbol.toStringTag])&&(t=t.default),u=t,t)))};return sS({name:"AsyncComponentWrapper",__asyncLoader:h,__asyncHydrate(e,t,n){const i=s?()=>{const i=s(n,t=>function(e,t){if(pS(e)&&"["===e.data){let n=1,i=e.nextSibling;for(;i;){if(1===i.nodeType){if(!1===t(i))break}else if(pS(i))if("]"===i.data){if(0===--n)break}else"["===i.data&&n++;i=i.nextSibling}}else t(e)}(e,t));i&&(t.bum||(t.bum=[])).push(i)}:n;u?i():h().then(()=>!t.isUnmounted&&i())},get __asyncResolved(){return u},setup(){const e=RM;if(aS(e),u)return()=>MS(u,e);const t=t=>{c=null,QI(t,e,13,!i)};if(a&&e.suspense||VM)return h().then(t=>()=>MS(t,e)).catch(e=>(t(e),()=>i?_M(i,{error:e}):null));const s=_I(!1),l=_I(),d=_I(!!r);return r&&setTimeout(()=>{d.value=!1},r),null!=o&&setTimeout(()=>{if(!s.value&&!l.value){const e=new Error(`Async component timed out after ${o}ms.`);t(e),l.value=e}},o),h().then(()=>{s.value=!0,e.parent&&kS(e.parent.vnode)&&e.parent.update()}).catch(e=>{t(e),l.value=e}),()=>s.value&&u?MS(u,e):l.value&&i?_M(i,{error:l.value}):n&&!d.value?_M(n):void 0}})}function MS(e,t){const{ref:n,props:i,children:r,ce:s}=t.vnode,o=_M(e,i,r);return o.ref=n,o.ce=s,delete t.vnode.ce,o}const kS=e=>e.type.__isKeepAlive,RS={name:"KeepAlive",__isKeepAlive:!0,props:{include:[String,RegExp,Array],exclude:[String,RegExp,Array],max:[String,Number]},setup(e,{slots:t}){const n=NM(),i=n.ctx;if(!i.renderer)return()=>{const e=t.default&&t.default();return e&&1===e.length?e[0]:e};const r=new Map,s=new Set;let o=null;__VUE_PROD_DEVTOOLS__&&(n.__v_cache=r);const a=n.suspense,{renderer:{p:l,m:u,um:c,o:{createElement:d}}}=i,h=d("div");function p(e){$S(e),c(e,n,a,!0)}function f(e){r.forEach((t,n)=>{const i=QM(t.type);i&&!e(i)&&m(n)})}function m(e){const t=r.get(e);!t||o&&hM(t,o)?o&&$S(o):p(t),r.delete(e),s.delete(e)}i.activate=(e,t,n,i,r)=>{const s=e.component;u(e,t,n,0,a),l(s.vnode,e,t,n,s,a,i,e.slotScopeIds,r),pO(()=>{s.isDeactivated=!1,s.a&&cE(s.a);const t=e.props&&e.props.onVnodeMounted;t&&CM(t,s.parent,e)},a),__VUE_PROD_DEVTOOLS__&&vA(s)},i.deactivate=e=>{const t=e.component;xO(t.m),xO(t.a),u(e,h,null,1,a),pO(()=>{t.da&&cE(t.da);const n=e.props&&e.props.onVnodeUnmounted;n&&CM(n,t.parent,e),t.isDeactivated=!0},a),__VUE_PROD_DEVTOOLS__&&vA(t)},CO(()=>[e.include,e.exclude],([e,t])=>{e&&f(t=>DS(e,t)),t&&f(e=>!DS(t,e))},{flush:"post",deep:!0});let g=null;const _=()=>{null!=g&&(jO(n.subTree.type)?pO(()=>{r.set(g,US(n.subTree))},n.subTree.suspense):r.set(g,US(n.subTree)))};return YS(_),HS(_),WS(()=>{r.forEach(e=>{const{subTree:t,suspense:i}=n,r=US(t);if(e.type===r.type&&e.key===r.key){$S(r);const e=r.component.da;return void(e&&pO(e,i))}p(e)})}),()=>{if(g=null,!t.default)return o=null;const n=t.default(),i=n[0];if(n.length>1)return o=null,n;if(!(dM(i)&&(4&i.shapeFlag||128&i.shapeFlag)))return o=null,i;let a=US(i);if(a.type===JO)return o=null,a;const l=a.type,u=QM(CS(a)?a.type.__asyncResolved||{}:l),{include:c,exclude:d,max:h}=e;if(c&&(!u||!DS(c,u))||d&&u&&DS(d,u))return a.shapeFlag&=-257,o=a,i;const p=null==a.key?l:a.key,f=r.get(p);return a.el&&(a=bM(a),128&i.shapeFlag&&(i.ssContent=a)),g=p,f?(a.el=f.el,a.component=f.component,a.transition&&iS(a,a.transition),a.shapeFlag|=512,s.delete(p),s.add(p)):(s.add(p),h&&s.size>parseInt(h,10)&&m(s.values().next().value)),a.shapeFlag|=256,o=a,jO(i.type)?i:a}}},NS=RS;function DS(e,t){return Ux(e)?e.some(e=>DS(e,t)):Gx(e)?e.split(",").includes(t):"[object RegExp]"===Kx(e)&&(e.lastIndex=0,e.test(t))}function FS(e,t){PS(e,"a",t)}function LS(e,t){PS(e,"da",t)}function PS(e,t,n=RM){const i=e.__wdc||(e.__wdc=()=>{let t=n;for(;t;){if(t.isDeactivated)return;t=t.parent}return e()});if(VS(t,i,n),n){let e=n.parent;for(;e&&e.parent;)kS(e.parent.vnode)&&BS(i,t,n,e),e=e.parent}}function BS(e,t,n,i){const r=VS(t,e,i,!0);XS(()=>{Px(i[t],r)},n)}function $S(e){e.shapeFlag&=-257,e.shapeFlag&=-513}function US(e){return 128&e.shapeFlag?e.ssContent:e}function VS(e,t,n=RM,i=!1){if(n){const r=n[e]||(n[e]=[]),s=t.__weh||(t.__weh=(...i)=>{hw();const r=LM(n),s=ZI(t,n,e,i);return r(),pw(),s});return i?r.unshift(s):r.push(s),s}}const zS=e=>(t,n=RM)=>{VM&&"sp"!==e||VS(e,(...e)=>t(...e),n)},jS=zS("bm"),YS=zS("m"),GS=zS("bu"),HS=zS("u"),WS=zS("bum"),XS=zS("um"),qS=zS("sp"),KS=zS("rtg"),ZS=zS("rtc");function QS(e,t=RM){VS("ec",e,t)}const JS="components",eC="directives";function tC(e,t){return sC(JS,e,!0,t)||e}const nC=Symbol.for("v-ndc");function iC(e){return Gx(e)?sC(JS,e,!1)||e:e||nC}function rC(e){return sC(eC,e)}function sC(e,t,n=!0,i=!1){const r=wA||RM;if(r){const n=r.type;if(e===JS){const e=QM(n,!1);if(e&&(e===t||e===rE(t)||e===aE(rE(t))))return n}const s=oC(r[e]||n[e],t)||oC(r.appContext[e],t);return!s&&i?n:s}}function oC(e,t){return e&&(e[t]||e[rE(t)]||e[aE(rE(t))])}function aC(e,t,n,i){let r;const s=n&&n[i],o=Ux(e);if(o||Gx(e)){let n=!1;o&&lI(e)&&(n=!cI(e),e=Aw(e)),r=new Array(e.length);for(let i=0,o=e.length;it(e,n,void 0,s&&s[n]));else{const n=Object.keys(e);r=new Array(n.length);for(let i=0,o=n.length;i{const t=i.fn(...e);return t&&(t.key=i.key),t}:i.fn)}return e}function uC(e,t,n={},i,r){if(wA.ce||wA.parent&&CS(wA.parent)&&wA.parent.ce)return"default"!==t&&(n.name=t),iM(),cM(ZO,null,[_M("slot",n,i&&i())],64);let s=e[t];s&&s._c&&(s._d=!1),iM();const o=s&&cC(s(n)),a=n.key||o&&o.key,l=cM(ZO,{key:(a&&!Hx(a)?a:`_${t}`)+(!o&&i?"_fb":"")},o||(i?i():[]),o&&1===e._?64:-2);return!r&&l.scopeId&&(l.slotScopeIds=[l.scopeId+"-s"]),s&&s._c&&(s._d=!0),l}function cC(e){return e.some(e=>!dM(e)||e.type!==JO&&!(e.type===ZO&&!cC(e.children)))?e:null}function dC(e,t){const n={};for(const i in e)n[t&&/[A-Z]/.test(i)?`on:${i}`:lE(i)]=e[i];return n}const hC=e=>e?BM(e)?qM(e):hC(e.parent):null,pC=Lx(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>hC(e.parent),$root:e=>hC(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>__VUE_OPTIONS_API__?LC(e):e.type,$forceUpdate:e=>e.f||(e.f=()=>{aA(e.update)}),$nextTick:e=>e.n||(e.n=oA.bind(e.proxy)),$watch:e=>__VUE_OPTIONS_API__?MO.bind(e):Rx}),fC=(e,t)=>e!==Mx&&!e.__isScriptSetup&&$x(e,t),mC={get({_:e},t){if("__v_skip"===t)return!0;const{ctx:n,setupState:i,data:r,props:s,accessCache:o,type:a,appContext:l}=e;let u;if("$"!==t[0]){const a=o[t];if(void 0!==a)switch(a){case 1:return i[t];case 2:return r[t];case 4:return n[t];case 3:return s[t]}else{if(fC(i,t))return o[t]=1,i[t];if(r!==Mx&&$x(r,t))return o[t]=2,r[t];if((u=e.propsOptions[0])&&$x(u,t))return o[t]=3,s[t];if(n!==Mx&&$x(n,t))return o[t]=4,n[t];__VUE_OPTIONS_API__&&!RC||(o[t]=0)}}const c=pC[t];let d,h;return c?("$attrs"===t&&Ew(e.attrs,0,""),c(e)):(d=a.__cssModules)&&(d=d[t])?d:n!==Mx&&$x(n,t)?(o[t]=4,n[t]):(h=l.config.globalProperties,$x(h,t)?h[t]:void 0)},set({_:e},t,n){const{data:i,setupState:r,ctx:s}=e;return fC(r,t)?(r[t]=n,!0):i!==Mx&&$x(i,t)?(i[t]=n,!0):!$x(e.props,t)&&(("$"!==t[0]||!(t.slice(1)in e))&&(s[t]=n,!0))},has({_:{data:e,setupState:t,accessCache:n,ctx:i,appContext:r,propsOptions:s}},o){let a;return!!n[o]||e!==Mx&&$x(e,o)||fC(t,o)||(a=s[0])&&$x(a,o)||$x(i,o)||$x(pC,o)||$x(r.config.globalProperties,o)},defineProperty(e,t,n){return null!=n.get?e._.accessCache[t]=0:$x(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};const gC=Lx({},mC,{get(e,t){if(t!==Symbol.unscopables)return mC.get(e,t,e)},has:(e,t)=>"_"!==t[0]&&!gE(t)});function _C(){return null}function yC(){return null}function vC(e){0}function bC(e){0}function TC(){return null}function xC(){0}function EC(e,t){return null}function wC(){return AC().slots}function IC(){return AC().attrs}function AC(){const e=NM();return e.setupContext||(e.setupContext=XM(e))}function SC(e){return Ux(e)?e.reduce((e,t)=>(e[t]=null,e),{}):e}function CC(e,t){const n=SC(e);for(const e in t){if(e.startsWith("__skip"))continue;let i=n[e];i?Ux(i)||Yx(i)?i=n[e]={type:i,default:t[e]}:i.default=t[e]:null===i&&(i=n[e]={default:t[e]}),i&&t[`__skip_${e}`]&&(i.skipFactory=!0)}return n}function OC(e,t){return e&&t?Ux(e)&&Ux(t)?e.concat(t):Lx({},SC(e),SC(t)):e||t}function MC(e,t){const n={};for(const i in e)t.includes(i)||Object.defineProperty(n,i,{enumerable:!0,get:()=>e[i]});return n}function kC(e){const t=NM();let n=e();return PM(),Xx(n)&&(n=n.catch(e=>{throw LM(t),e})),[n,()=>LM(t)]}let RC=!0;function NC(e){const t=LC(e),n=e.proxy,i=e.ctx;RC=!1,t.beforeCreate&&DC(t.beforeCreate,e,"bc");const{data:r,computed:s,methods:o,watch:a,provide:l,inject:u,created:c,beforeMount:d,mounted:h,beforeUpdate:p,updated:f,activated:m,deactivated:g,beforeDestroy:_,beforeUnmount:y,destroyed:v,unmounted:b,render:T,renderTracked:x,renderTriggered:E,errorCaptured:w,serverPrefetch:I,expose:A,inheritAttrs:S,components:C,directives:O,filters:M}=t;if(u&&function(e,t){Ux(e)&&(e=UC(e));for(const n in e){const i=e[n];let r;r=Wx(i)?"default"in i?qC(i.from||n,i.default,!0):qC(i.from||n):qC(i),gI(r)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>r.value,set:e=>r.value=e}):t[n]=r}}(u,i,null),o)for(const e in o){const t=o[e];Yx(t)&&(i[e]=t.bind(n))}if(r){0;const t=r.call(n,n);0,Wx(t)&&(e.data=iI(t))}if(RC=!0,s)for(const e in s){const t=s[e],r=Yx(t)?t.bind(n,n):Yx(t.get)?t.get.bind(n,n):Rx;0;const o=!Yx(t)&&Yx(t.set)?t.set.bind(n):Rx,a=tk({get:r,set:o});Object.defineProperty(i,e,{enumerable:!0,configurable:!0,get:()=>a.value,set:e=>a.value=e})}if(a)for(const e in a)FC(a[e],i,n,e);if(l){const e=Yx(l)?l.call(n):l;Reflect.ownKeys(e).forEach(t=>{XC(t,e[t])})}function k(e,t){Ux(t)?t.forEach(t=>e(t.bind(n))):t&&e(t.bind(n))}if(c&&DC(c,e,"c"),k(jS,d),k(YS,h),k(GS,p),k(HS,f),k(FS,m),k(LS,g),k(QS,w),k(ZS,x),k(KS,E),k(WS,y),k(XS,b),k(qS,I),Ux(A))if(A.length){const t=e.exposed||(e.exposed={});A.forEach(e=>{Object.defineProperty(t,e,{get:()=>n[e],set:t=>n[e]=t})})}else e.exposed||(e.exposed={});T&&e.render===Rx&&(e.render=T),null!=S&&(e.inheritAttrs=S),C&&(e.components=C),O&&(e.directives=O),I&&aS(e)}function DC(e,t,n){ZI(Ux(e)?e.map(e=>e.bind(t.proxy)):e.bind(t.proxy),t,n)}function FC(e,t,n,i){let r=i.includes(".")?kO(n,i):()=>n[i];if(Gx(e)){const n=t[e];Yx(n)&&CO(r,n)}else if(Yx(e))CO(r,e.bind(n));else if(Wx(e))if(Ux(e))e.forEach(e=>FC(e,t,n,i));else{const i=Yx(e.handler)?e.handler.bind(n):t[e.handler];Yx(i)&&CO(r,i,e)}else 0}function LC(e){const t=e.type,{mixins:n,extends:i}=t,{mixins:r,optionsCache:s,config:{optionMergeStrategies:o}}=e.appContext,a=s.get(t);let l;return a?l=a:r.length||n||i?(l={},r.length&&r.forEach(e=>PC(l,e,o,!0)),PC(l,t,o)):l=t,Wx(t)&&s.set(t,l),l}function PC(e,t,n,i=!1){const{mixins:r,extends:s}=t;s&&PC(e,s,n,!0),r&&r.forEach(t=>PC(e,t,n,!0));for(const r in t)if(i&&"expose"===r);else{const i=BC[r]||n&&n[r];e[r]=i?i(e[r],t[r]):t[r]}return e}const BC={data:$C,props:jC,emits:jC,methods:zC,computed:zC,beforeCreate:VC,created:VC,beforeMount:VC,mounted:VC,beforeUpdate:VC,updated:VC,beforeDestroy:VC,beforeUnmount:VC,destroyed:VC,unmounted:VC,activated:VC,deactivated:VC,errorCaptured:VC,serverPrefetch:VC,components:zC,directives:zC,watch:function(e,t){if(!e)return t;if(!t)return e;const n=Lx(Object.create(null),e);for(const i in t)n[i]=VC(e[i],t[i]);return n},provide:$C,inject:function(e,t){return zC(UC(e),UC(t))}};function $C(e,t){return t?e?function(){return Lx(Yx(e)?e.call(this,this):e,Yx(t)?t.call(this,this):t)}:t:e}function UC(e){if(Ux(e)){const t={};for(let n=0;n(s.has(e)||(e&&Yx(e.install)?(s.add(e),e.install(l,...t)):Yx(e)&&(s.add(e),e(l,...t))),l),mixin:e=>(__VUE_OPTIONS_API__&&(r.mixins.includes(e)||r.mixins.push(e)),l),component:(e,t)=>t?(r.components[e]=t,l):r.components[e],directive:(e,t)=>t?(r.directives[e]=t,l):r.directives[e],mount(s,o,u){if(!a){0;const c=l._ceVNode||_M(n,i);return c.appContext=r,!0===u?u="svg":!1===u&&(u=void 0),o&&t?t(c,s):e(c,s,u),a=!0,l._container=s,s.__vue_app__=l,__VUE_PROD_DEVTOOLS__&&(l._instance=c.component,function(e,t){_A("app:init",e,t,{Fragment:ZO,Text:QO,Comment:JO,Static:eM})}(l,ok)),qM(c.component)}},onUnmount(e){o.push(e)},unmount(){a&&(ZI(o,l._instance,16),e(null,l._container),__VUE_PROD_DEVTOOLS__&&(l._instance=null,function(e){_A("app:unmount",e)}(l)),delete l._container.__vue_app__)},provide:(e,t)=>(r.provides[e]=t,l),runWithContext(e){const t=WC;WC=l;try{return e()}finally{WC=t}}};return l}}let WC=null;function XC(e,t){if(RM){let n=RM.provides;const i=RM.parent&&RM.parent.provides;i===n&&(n=RM.provides=Object.create(i)),n[e]=t}else 0}function qC(e,t,n=!1){const i=RM||wA;if(i||WC){const r=WC?WC._context.provides:i?null==i.parent?i.vnode.appContext&&i.vnode.appContext.provides:i.parent.provides:void 0;if(r&&e in r)return r[e];if(arguments.length>1)return n&&Yx(t)?t.call(i&&i.proxy):t}else 0}function KC(){return!!(RM||wA||WC)}const ZC={},QC=()=>Object.create(ZC),JC=e=>Object.getPrototypeOf(e)===ZC;function eO(e,t,n,i){const[r,s]=e.propsOptions;let o,a=!1;if(t)for(let l in t){if(eE(l))continue;const u=t[l];let c;r&&$x(r,c=rE(l))?s&&s.includes(c)?(o||(o={}))[c]=u:n[c]=u:LO(e.emitsOptions,l)||l in i&&u===i[l]||(i[l]=u,a=!0)}if(s){const t=hI(n),i=o||Mx;for(let o=0;o{l=!0;const[n,i]=iO(e,t,!0);Lx(o,n),i&&a.push(...i)};!n&&t.mixins.length&&t.mixins.forEach(i),e.extends&&i(e.extends),e.mixins&&e.mixins.forEach(i)}if(!s&&!l)return Wx(e)&&i.set(e,kx),kx;if(Ux(s))for(let e=0;e"_"===e[0]||"$stable"===e,oO=e=>Ux(e)?e.map(wM):[wM(e)],aO=(e,t,n)=>{if(t._n)return t;const i=MA((...e)=>oO(t(...e)),n);return i._c=!1,i},lO=(e,t,n)=>{const i=e._ctx;for(const n in e){if(sO(n))continue;const r=e[n];if(Yx(r))t[n]=aO(0,r,i);else if(null!=r){0;const e=oO(r);t[n]=()=>e}}},uO=(e,t)=>{const n=oO(t);e.slots.default=()=>n},cO=(e,t,n)=>{for(const i in t)(n||"_"!==i)&&(e[i]=t[i])},dO=(e,t,n)=>{const i=e.slots=QC();if(32&e.vnode.shapeFlag){const e=t._;e?(cO(i,t,n),n&&dE(i,"_",e,!0)):lO(t,i)}else t&&uO(e,t)},hO=(e,t,n)=>{const{vnode:i,slots:r}=e;let s=!0,o=Mx;if(32&i.shapeFlag){const e=t._;e?n&&1===e?s=!1:cO(r,t,n):(s=!t.$stable,lO(t,r)),o=t}else t&&(uO(e,t),o={default:1});if(s)for(const e in r)sO(e)||null!=o[e]||delete r[e]};const pO=qO;function fO(e){return gO(e)}function mO(e){return gO(e,fS)}function gO(e,t){"boolean"!=typeof __VUE_OPTIONS_API__&&(mE().__VUE_OPTIONS_API__=!0),"boolean"!=typeof __VUE_PROD_DEVTOOLS__&&(mE().__VUE_PROD_DEVTOOLS__=!1),"boolean"!=typeof __VUE_PROD_HYDRATION_MISMATCH_DETAILS__&&(mE().__VUE_PROD_HYDRATION_MISMATCH_DETAILS__=!1);const n=mE();n.__VUE__=!0,__VUE_PROD_DEVTOOLS__&&yA(n.__VUE_DEVTOOLS_GLOBAL_HOOK__,n);const{insert:i,remove:r,patchProp:s,createElement:o,createText:a,createComment:l,setText:u,setElementText:c,parentNode:d,nextSibling:h,setScopeId:p=Rx,insertStaticContent:f}=e,m=(e,t,n,i=null,r=null,s=null,o=void 0,a=null,l=!!t.dynamicChildren)=>{if(e===t)return;e&&!hM(e,t)&&(i=z(e),P(e,r,s,!0),e=null),-2===t.patchFlag&&(l=!1,t.dynamicChildren=null);const{type:u,ref:c,shapeFlag:d}=t;switch(u){case QO:g(e,t,n,i);break;case JO:_(e,t,n,i);break;case eM:null==e&&y(t,n,i,o);break;case ZO:S(e,t,n,i,r,s,o,a,l);break;default:1&d?b(e,t,n,i,r,s,o,a,l):6&d?C(e,t,n,i,r,s,o,a,l):(64&d||128&d)&&u.process(e,t,n,i,r,s,o,a,l,G)}null!=c&&r&&uS(c,e&&e.ref,s,t||e,!t)},g=(e,t,n,r)=>{if(null==e)i(t.el=a(t.children),n,r);else{const n=t.el=e.el;t.children!==e.children&&u(n,t.children)}},_=(e,t,n,r)=>{null==e?i(t.el=l(t.children||""),n,r):t.el=e.el},y=(e,t,n,i)=>{[e.el,e.anchor]=f(e.children,t,n,i,e.el,e.anchor)},v=({el:e,anchor:t})=>{let n;for(;e&&e!==t;)n=h(e),r(e),e=n;r(t)},b=(e,t,n,i,r,s,o,a,l)=>{"svg"===t.type?o="svg":"math"===t.type&&(o="mathml"),null==e?T(t,n,i,r,s,o,a,l):w(e,t,r,s,o,a,l)},T=(e,t,n,r,a,l,u,d)=>{let h,p;const{props:f,shapeFlag:m,transition:g,dirs:_}=e;if(h=e.el=o(e.type,l,f&&f.is,f),8&m?c(h,e.children):16&m&&E(e.children,h,null,r,a,_O(e,l),u,d),_&&RA(e,null,r,"created"),x(h,e,e.scopeId,u,r),f){for(const e in f)"value"===e||eE(e)||s(h,e,null,f[e],l,r);"value"in f&&s(h,"value",null,f.value,l),(p=f.onVnodeBeforeMount)&&CM(p,r,e)}__VUE_PROD_DEVTOOLS__&&(dE(h,"__vnode",e,!0),dE(h,"__vueParentComponent",r,!0)),_&&RA(e,null,r,"beforeMount");const y=vO(a,g);y&&g.beforeEnter(h),i(h,t,n),((p=f&&f.onVnodeMounted)||y||_)&&pO(()=>{p&&CM(p,r,e),y&&g.enter(h),_&&RA(e,null,r,"mounted")},a)},x=(e,t,n,i,r)=>{if(n&&p(e,n),i)for(let t=0;t{for(let u=l;u{const l=t.el=e.el;__VUE_PROD_DEVTOOLS__&&(l.__vnode=t);let{patchFlag:u,dynamicChildren:d,dirs:h}=t;u|=16&e.patchFlag;const p=e.props||Mx,f=t.props||Mx;let m;if(n&&yO(n,!1),(m=f.onVnodeBeforeUpdate)&&CM(m,n,t,e),h&&RA(t,e,n,"beforeUpdate"),n&&yO(n,!0),(p.innerHTML&&null==f.innerHTML||p.textContent&&null==f.textContent)&&c(l,""),d?I(e.dynamicChildren,d,l,n,i,_O(t,r),o):a||N(e,t,l,null,n,i,_O(t,r),o,!1),u>0){if(16&u)A(l,p,f,n,r);else if(2&u&&p.class!==f.class&&s(l,"class",null,f.class,r),4&u&&s(l,"style",p.style,f.style,r),8&u){const e=t.dynamicProps;for(let t=0;t{m&&CM(m,n,t,e),h&&RA(t,e,n,"updated")},i)},I=(e,t,n,i,r,s,o)=>{for(let a=0;a{if(t!==n){if(t!==Mx)for(const o in t)eE(o)||o in n||s(e,o,t[o],null,r,i);for(const o in n){if(eE(o))continue;const a=n[o],l=t[o];a!==l&&"value"!==o&&s(e,o,l,a,r,i)}"value"in n&&s(e,"value",t.value,n.value,r)}},S=(e,t,n,r,s,o,l,u,c)=>{const d=t.el=e?e.el:a(""),h=t.anchor=e?e.anchor:a("");let{patchFlag:p,dynamicChildren:f,slotScopeIds:m}=t;m&&(u=u?u.concat(m):m),null==e?(i(d,n,r),i(h,n,r),E(t.children||[],n,h,s,o,l,u,c)):p>0&&64&p&&f&&e.dynamicChildren?(I(e.dynamicChildren,f,n,s,o,l,u),(null!=t.key||s&&t===s.subTree)&&bO(e,t,!0)):N(e,t,n,h,s,o,l,u,c)},C=(e,t,n,i,r,s,o,a,l)=>{t.slotScopeIds=a,null==e?512&t.shapeFlag?r.ctx.activate(t,n,i,o,l):O(t,n,i,r,s,o,l):M(e,t,l)},O=(e,t,n,i,r,s,o)=>{const a=e.component=kM(e,i,r);if(kS(e)&&(a.ctx.renderer=G),zM(a,!1,o),a.asyncDep){if(r&&r.registerDep(a,k,o),!e.el){const e=a.subTree=_M(JO);_(null,e,t,n)}}else k(a,e,t,n,r,s,o)},M=(e,t,n)=>{const i=t.component=e.component;if(function(e,t,n){const{props:i,children:r,component:s}=e,{props:o,children:a,patchFlag:l}=t,u=s.emitsOptions;0;if(t.dirs||t.transition)return!0;if(!(n&&l>=0))return!(!r&&!a||a&&a.$stable)||i!==o&&(i?!o||VO(i,o,u):!!o);if(1024&l)return!0;if(16&l)return i?VO(i,o,u):!!o;if(8&l){const e=t.dynamicProps;for(let t=0;t{const a=()=>{if(e.isMounted){let{next:t,bu:n,u:i,parent:l,vnode:u}=e;{const n=TO(e);if(n)return t&&(t.el=u.el,R(e,t,o)),void n.asyncDep.then(()=>{e.isUnmounted||a()})}let c,h=t;0,yO(e,!1),t?(t.el=u.el,R(e,t,o)):t=u,n&&cE(n),(c=t.props&&t.props.onVnodeBeforeUpdate)&&CM(c,l,t,u),yO(e,!0);const p=PO(e);0;const f=e.subTree;e.subTree=p,m(f,p,d(f.el),z(f),e,r,s),t.el=p.el,null===h&&zO(e,p.el),i&&pO(i,r),(c=t.props&&t.props.onVnodeUpdated)&&pO(()=>CM(c,l,t,u),r),__VUE_PROD_DEVTOOLS__&&bA(e)}else{let o;const{el:a,props:l}=t,{bm:u,m:c,parent:d,root:h,type:p}=e,f=CS(t);if(yO(e,!1),u&&cE(u),!f&&(o=l&&l.onVnodeBeforeMount)&&CM(o,d,t),yO(e,!0),a&&W){const t=()=>{e.subTree=PO(e),W(a,e.subTree,e,r,null)};f&&p.__asyncHydrate?p.__asyncHydrate(a,e,t):t()}else{h.ce&&h.ce._injectChildStyle(p);const o=e.subTree=PO(e);0,m(null,o,n,i,e,r,s),t.el=o.el}if(c&&pO(c,r),!f&&(o=l&&l.onVnodeMounted)){const e=t;pO(()=>CM(o,d,e),r)}(256&t.shapeFlag||d&&CS(d.vnode)&&256&d.vnode.shapeFlag)&&e.a&&pO(e.a,r),e.isMounted=!0,__VUE_PROD_DEVTOOLS__&&vA(e),t=n=i=null}};e.scope.on();const l=e.effect=new qE(a);e.scope.off();const u=e.update=l.run.bind(l),c=e.job=l.runIfDirty.bind(l);c.i=e,c.id=e.uid,l.scheduler=()=>aA(c),yO(e,!0),u()},R=(e,t,n)=>{t.component=e;const i=e.vnode.props;e.vnode=t,e.next=null,function(e,t,n,i){const{props:r,attrs:s,vnode:{patchFlag:o}}=e,a=hI(r),[l]=e.propsOptions;let u=!1;if(!(i||o>0)||16&o){let i;eO(e,t,r,s)&&(u=!0);for(const s in a)t&&($x(t,s)||(i=oE(s))!==s&&$x(t,i))||(l?!n||void 0===n[s]&&void 0===n[i]||(r[s]=tO(l,a,s,void 0,e,!0)):delete r[s]);if(s!==a)for(const e in s)t&&$x(t,e)||(delete s[e],u=!0)}else if(8&o){const n=e.vnode.dynamicProps;for(let i=0;i{const u=e&&e.children,d=e?e.shapeFlag:0,h=t.children,{patchFlag:p,shapeFlag:f}=t;if(p>0){if(128&p)return void F(u,h,n,i,r,s,o,a,l);if(256&p)return void D(u,h,n,i,r,s,o,a,l)}8&f?(16&d&&V(u,r,s),h!==u&&c(n,h)):16&d?16&f?F(u,h,n,i,r,s,o,a,l):V(u,r,s,!0):(8&d&&c(n,""),16&f&&E(h,n,i,r,s,o,a,l))},D=(e,t,n,i,r,s,o,a,l)=>{t=t||kx;const u=(e=e||kx).length,c=t.length,d=Math.min(u,c);let h;for(h=0;hc?V(e,r,s,!0,!1,d):E(t,n,i,r,s,o,a,l,d)},F=(e,t,n,i,r,s,o,a,l)=>{let u=0;const c=t.length;let d=e.length-1,h=c-1;for(;u<=d&&u<=h;){const i=e[u],c=t[u]=l?IM(t[u]):wM(t[u]);if(!hM(i,c))break;m(i,c,n,null,r,s,o,a,l),u++}for(;u<=d&&u<=h;){const i=e[d],u=t[h]=l?IM(t[h]):wM(t[h]);if(!hM(i,u))break;m(i,u,n,null,r,s,o,a,l),d--,h--}if(u>d){if(u<=h){const e=h+1,d=eh)for(;u<=d;)P(e[u],r,s,!0),u++;else{const p=u,f=u,g=new Map;for(u=f;u<=h;u++){const e=t[u]=l?IM(t[u]):wM(t[u]);null!=e.key&&g.set(e.key,u)}let _,y=0;const v=h-f+1;let b=!1,T=0;const x=new Array(v);for(u=0;u=v){P(i,r,s,!0);continue}let c;if(null!=i.key)c=g.get(i.key);else for(_=f;_<=h;_++)if(0===x[_-f]&&hM(i,t[_])){c=_;break}void 0===c?P(i,r,s,!0):(x[c-f]=u+1,c>=T?T=c:b=!0,m(i,t[c],n,null,r,s,o,a,l),y++)}const E=b?function(e){const t=e.slice(),n=[0];let i,r,s,o,a;const l=e.length;for(i=0;i>1,e[n[a]]0&&(t[i]=n[s-1]),n[s]=i)}}s=n.length,o=n[s-1];for(;s-- >0;)n[s]=o,o=t[o];return n}(x):kx;for(_=E.length-1,u=v-1;u>=0;u--){const e=f+u,d=t[e],h=e+1{const{el:o,type:a,transition:l,children:u,shapeFlag:c}=e;if(6&c)return void L(e.component.subTree,t,n,r);if(128&c)return void e.suspense.move(t,n,r);if(64&c)return void a.move(e,t,n,G);if(a===ZO){i(o,t,n);for(let e=0;e{let s;for(;e&&e!==t;)s=h(e),i(e,n,r),e=s;i(t,n,r)})(e,t,n);if(2!==r&&1&c&&l)if(0===r)l.beforeEnter(o),i(o,t,n),pO(()=>l.enter(o),s);else{const{leave:e,delayLeave:r,afterLeave:s}=l,a=()=>i(o,t,n),u=()=>{e(o,()=>{a(),s&&s()})};r?r(o,a,u):u()}else i(o,t,n)},P=(e,t,n,i=!1,r=!1)=>{const{type:s,props:o,ref:a,children:l,dynamicChildren:u,shapeFlag:c,patchFlag:d,dirs:h,cacheIndex:p}=e;if(-2===d&&(r=!1),null!=a&&uS(a,null,n,e,!0),null!=p&&(t.renderCache[p]=void 0),256&c)return void t.ctx.deactivate(e);const f=1&c&&h,m=!CS(e);let g;if(m&&(g=o&&o.onVnodeBeforeUnmount)&&CM(g,t,e),6&c)U(e.component,n,i);else{if(128&c)return void e.suspense.unmount(n,i);f&&RA(e,null,t,"beforeUnmount"),64&c?e.type.remove(e,t,n,G,i):u&&!u.hasOnce&&(s!==ZO||d>0&&64&d)?V(u,t,n,!1,!0):(s===ZO&&384&d||!r&&16&c)&&V(l,t,n),i&&B(e)}(m&&(g=o&&o.onVnodeUnmounted)||f)&&pO(()=>{g&&CM(g,t,e),f&&RA(e,null,t,"unmounted")},n)},B=e=>{const{type:t,el:n,anchor:i,transition:s}=e;if(t===ZO)return void $(n,i);if(t===eM)return void v(e);const o=()=>{r(n),s&&!s.persisted&&s.afterLeave&&s.afterLeave()};if(1&e.shapeFlag&&s&&!s.persisted){const{leave:t,delayLeave:i}=s,r=()=>t(n,o);i?i(e.el,o,r):r()}else o()},$=(e,t)=>{let n;for(;e!==t;)n=h(e),r(e),e=n;r(t)},U=(e,t,n)=>{const{bum:i,scope:r,job:s,subTree:o,um:a,m:l,a:u}=e;xO(l),xO(u),i&&cE(i),r.stop(),s&&(s.flags|=8,P(o,e,t,n)),a&&pO(a,t),pO(()=>{e.isUnmounted=!0},t),t&&t.pendingBranch&&!t.isUnmounted&&e.asyncDep&&!e.asyncResolved&&e.suspenseId===t.pendingId&&(t.deps--,0===t.deps&&t.resolve()),__VUE_PROD_DEVTOOLS__&&xA(e)},V=(e,t,n,i=!1,r=!1,s=0)=>{for(let o=s;o{if(6&e.shapeFlag)return z(e.component.subTree);if(128&e.shapeFlag)return e.suspense.next();const t=h(e.anchor||e.el),n=t&&t[NA];return n?h(n):t};let j=!1;const Y=(e,t,n)=>{null==e?t._vnode&&P(t._vnode,null,null,!0):m(t._vnode||null,e,t,null,null,null,n),t._vnode=e,j||(j=!0,cA(),dA(),j=!1)},G={p:m,um:P,m:L,r:B,mt:O,mc:E,pc:N,pbc:I,n:z,o:e};let H,W;return t&&([H,W]=t(G)),{render:Y,hydrate:H,createApp:HC(Y,H)}}function _O({type:e,props:t},n){return"svg"===n&&"foreignObject"===e||"mathml"===n&&"annotation-xml"===e&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function yO({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function vO(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function bO(e,t,n=!1){const i=e.children,r=t.children;if(Ux(i)&&Ux(r))for(let e=0;e{{const e=qC(EO);return e}};function IO(e,t){return OO(e,null,t)}function AO(e,t){return OO(e,null,{flush:"post"})}function SO(e,t){return OO(e,null,{flush:"sync"})}function CO(e,t,n){return OO(e,t,n)}function OO(e,t,n=Mx){const{immediate:i,deep:r,flush:s,once:o}=n;const a=Lx({},n);const l=t&&i||!t&&"post"!==s;let u;if(VM)if("sync"===s){const e=wO();u=e.__watcherHandles||(e.__watcherHandles=[])}else if(!l){const e=()=>{};return e.stop=Rx,e.resume=Rx,e.pause=Rx,e}const c=RM;a.call=(e,t,n)=>ZI(e,c,t,n);let d=!1;"post"===s?a.scheduler=e=>{pO(e,c&&c.suspense)}:"sync"!==s&&(d=!0,a.scheduler=(e,t)=>{t?e():aA(e)}),a.augmentJob=e=>{t&&(e.flags|=4),d&&(e.flags|=2,c&&(e.id=c.uid,e.i=c))};const h=function(e,t,n=Mx){const{immediate:i,deep:r,once:s,scheduler:o,augmentJob:a,call:l}=n,u=e=>r?e:cI(e)||!1===r||0===r?VI(e,1):VI(e);let c,d,h,p,f=!1,m=!1;if(gI(e)?(d=()=>e.value,f=cI(e)):lI(e)?(d=()=>u(e),f=!0):Ux(e)?(m=!0,f=e.some(e=>lI(e)||cI(e)),d=()=>e.map(e=>gI(e)?e.value:lI(e)?u(e):Yx(e)?l?l(e,2):e():void 0)):d=Yx(e)?t?l?()=>l(e,2):e:()=>{if(h){hw();try{h()}finally{pw()}}const t=BI;BI=c;try{return l?l(e,3,[p]):e(p)}finally{BI=t}}:Rx,t&&r){const e=d,t=!0===r?1/0:r;d=()=>VI(e(),t)}const g=HE(),_=()=>{c.stop(),g&&g.active&&Px(g.effects,c)};if(s&&t){const e=t;t=(...t)=>{e(...t),_()}}let y=m?new Array(e.length).fill(LI):LI;const v=e=>{if(1&c.flags&&(c.dirty||e))if(t){const e=c.run();if(r||f||(m?e.some((e,t)=>uE(e,y[t])):uE(e,y))){h&&h();const n=BI;BI=c;try{const n=[e,y===LI?void 0:m&&y[0]===LI?[]:y,p];l?l(t,3,n):t(...n),y=e}finally{BI=n}}}else c.run()};return a&&a(v),c=new qE(d),c.scheduler=o?()=>o(v,!1):v,p=e=>UI(e,!1,c),h=c.onStop=()=>{const e=PI.get(c);if(e){if(l)l(e,4);else for(const t of e)t();PI.delete(c)}},t?i?v(!0):y=c.run():o?o(v.bind(null,!0),!0):c.run(),_.pause=c.pause.bind(c),_.resume=c.resume.bind(c),_.stop=_,_}(e,t,a);return VM&&(u?u.push(h):l&&h()),h}function MO(e,t,n){const i=this.proxy,r=Gx(e)?e.includes(".")?kO(i,e):()=>i[e]:e.bind(i,i);let s;Yx(t)?s=t:(s=t.handler,n=t);const o=LM(this),a=OO(r,s.bind(i),n);return o(),a}function kO(e,t){const n=t.split(".");return()=>{let t=e;for(let e=0;e{let l,u,c=Mx;return SO(()=>{const t=e[r];uE(l,t)&&(l=t,a())}),{get:()=>(o(),n.get?n.get(l):l),set(e){const o=n.set?n.set(e):e;if(!(uE(o,l)||c!==Mx&&uE(e,c)))return;const d=i.vnode.props;d&&(t in d||r in d||s in d)&&(`onUpdate:${t}`in d||`onUpdate:${r}`in d||`onUpdate:${s}`in d)||(l=e,a()),i.emit(`update:${t}`,o),uE(e,o)&&uE(e,c)&&!uE(o,u)&&a(),c=e,u=o}}});return a[Symbol.iterator]=()=>{let e=0;return{next:()=>e<2?{value:e++?o||Mx:a,done:!1}:{done:!0}}},a}const NO=(e,t)=>"modelValue"===t||"model-value"===t?e.modelModifiers:e[`${t}Modifiers`]||e[`${rE(t)}Modifiers`]||e[`${oE(t)}Modifiers`];function DO(e,t,...n){if(e.isUnmounted)return;const i=e.vnode.props||Mx;let r=n;const s=t.startsWith("update:"),o=s&&NO(i,t.slice(7));let a;o&&(o.trim&&(r=n.map(e=>Gx(e)?e.trim():e)),o.number&&(r=n.map(hE))),__VUE_PROD_DEVTOOLS__&&function(e,t,n){_A("component:emit",e.appContext.app,e,t,n)}(e,t,r);let l=i[a=lE(t)]||i[a=lE(rE(t))];!l&&s&&(l=i[a=lE(oE(t))]),l&&ZI(l,e,6,r);const u=i[a+"Once"];if(u){if(e.emitted){if(e.emitted[a])return}else e.emitted={};e.emitted[a]=!0,ZI(u,e,6,r)}}function FO(e,t,n=!1){const i=t.emitsCache,r=i.get(e);if(void 0!==r)return r;const s=e.emits;let o={},a=!1;if(__VUE_OPTIONS_API__&&!Yx(e)){const i=e=>{const n=FO(e,t,!0);n&&(a=!0,Lx(o,n))};!n&&t.mixins.length&&t.mixins.forEach(i),e.extends&&i(e.extends),e.mixins&&e.mixins.forEach(i)}return s||a?(Ux(s)?s.forEach(e=>o[e]=null):Lx(o,s),Wx(e)&&i.set(e,o),o):(Wx(e)&&i.set(e,null),null)}function LO(e,t){return!(!e||!Dx(t))&&(t=t.slice(2).replace(/Once$/,""),$x(e,t[0].toLowerCase()+t.slice(1))||$x(e,oE(t))||$x(e,t))}function PO(e){const{type:t,vnode:n,proxy:i,withProxy:r,propsOptions:[s],slots:o,attrs:a,emit:l,render:u,renderCache:c,props:d,data:h,setupState:p,ctx:f,inheritAttrs:m}=e,g=AA(e);let _,y;try{if(4&n.shapeFlag){const e=r||i,t=e;_=wM(u.call(t,e,c,d,p,h,f)),y=a}else{const e=t;0,_=wM(e.length>1?e(d,{attrs:a,slots:o,emit:l}):e(d,null)),y=t.props?a:$O(a)}}catch(t){tM.length=0,QI(t,e,1),_=_M(JO)}let v=_;if(y&&!1!==m){const e=Object.keys(y),{shapeFlag:t}=v;e.length&&7&t&&(s&&e.some(Fx)&&(y=UO(y,s)),v=bM(v,y,!1,!0))}return n.dirs&&(v=bM(v,null,!1,!0),v.dirs=v.dirs?v.dirs.concat(n.dirs):n.dirs),n.transition&&iS(v,n.transition),_=v,AA(g),_}function BO(e,t=!0){let n;for(let t=0;t{let t;for(const n in e)("class"===n||"style"===n||Dx(n))&&((t||(t={}))[n]=e[n]);return t},UO=(e,t)=>{const n={};for(const i in e)Fx(i)&&i.slice(9)in t||(n[i]=e[i]);return n};function VO(e,t,n){const i=Object.keys(t);if(i.length!==Object.keys(e).length)return!0;for(let r=0;re.__isSuspense;let YO=0;const GO={name:"Suspense",__isSuspense:!0,process(e,t,n,i,r,s,o,a,l,u){if(null==e)!function(e,t,n,i,r,s,o,a,l){const{p:u,o:{createElement:c}}=l,d=c("div"),h=e.suspense=WO(e,r,i,t,d,n,s,o,a,l);u(null,h.pendingBranch=e.ssContent,d,null,i,h,s,o),h.deps>0?(HO(e,"onPending"),HO(e,"onFallback"),u(null,e.ssFallback,t,n,i,null,s,o),KO(h,e.ssFallback)):h.resolve(!1,!0)}(t,n,i,r,s,o,a,l,u);else{if(s&&s.deps>0&&!e.suspense.isInFallback)return t.suspense=e.suspense,t.suspense.vnode=t,void(t.el=e.el);!function(e,t,n,i,r,s,o,a,{p:l,um:u,o:{createElement:c}}){const d=t.suspense=e.suspense;d.vnode=t,t.el=e.el;const h=t.ssContent,p=t.ssFallback,{activeBranch:f,pendingBranch:m,isInFallback:g,isHydrating:_}=d;if(m)d.pendingBranch=h,hM(h,m)?(l(m,h,d.hiddenContainer,null,r,d,s,o,a),d.deps<=0?d.resolve():g&&(_||(l(f,p,n,i,r,null,s,o,a),KO(d,p)))):(d.pendingId=YO++,_?(d.isHydrating=!1,d.activeBranch=m):u(m,r,d),d.deps=0,d.effects.length=0,d.hiddenContainer=c("div"),g?(l(null,h,d.hiddenContainer,null,r,d,s,o,a),d.deps<=0?d.resolve():(l(f,p,n,i,r,null,s,o,a),KO(d,p))):f&&hM(h,f)?(l(f,h,n,i,r,d,s,o,a),d.resolve(!0)):(l(null,h,d.hiddenContainer,null,r,d,s,o,a),d.deps<=0&&d.resolve()));else if(f&&hM(h,f))l(f,h,n,i,r,d,s,o,a),KO(d,h);else if(HO(t,"onPending"),d.pendingBranch=h,512&h.shapeFlag?d.pendingId=h.component.suspenseId:d.pendingId=YO++,l(null,h,d.hiddenContainer,null,r,d,s,o,a),d.deps<=0)d.resolve();else{const{timeout:e,pendingId:t}=d;e>0?setTimeout(()=>{d.pendingId===t&&d.fallback(p)},e):0===e&&d.fallback(p)}}(e,t,n,i,r,o,a,l,u)}},hydrate:function(e,t,n,i,r,s,o,a,l){const u=t.suspense=WO(t,i,n,e.parentNode,document.createElement("div"),null,r,s,o,a,!0),c=l(e,u.pendingBranch=t.ssContent,n,u,s,o);0===u.deps&&u.resolve(!1,!0);return c},normalize:function(e){const{shapeFlag:t,children:n}=e,i=32&t;e.ssContent=XO(i?n.default:n),e.ssFallback=i?XO(n.fallback):_M(JO)}};function HO(e,t){const n=e.props&&e.props[t];Yx(n)&&n()}function WO(e,t,n,i,r,s,o,a,l,u,c=!1){const{p:d,m:h,um:p,n:f,o:{parentNode:m,remove:g}}=u;let _;const y=function(e){const t=e.props&&e.props.suspensible;return null!=t&&!1!==t}(e);y&&t&&t.pendingBranch&&(_=t.pendingId,t.deps++);const v=e.props?pE(e.props.timeout):void 0;const b=s,T={vnode:e,parent:t,parentComponent:n,namespace:o,container:i,hiddenContainer:r,deps:0,pendingId:YO++,timeout:"number"==typeof v?v:-1,activeBranch:null,pendingBranch:null,isInFallback:!c,isHydrating:c,isUnmounted:!1,effects:[],resolve(e=!1,n=!1){const{vnode:i,activeBranch:r,pendingBranch:o,pendingId:a,effects:l,parentComponent:u,container:c}=T;let d=!1;T.isHydrating?T.isHydrating=!1:e||(d=r&&o.transition&&"out-in"===o.transition.mode,d&&(r.transition.afterLeave=()=>{a===T.pendingId&&(h(o,c,s===b?f(r):s,0),uA(l))}),r&&(m(r.el)===c&&(s=f(r)),p(r,u,T,!0)),d||h(o,c,s,0)),KO(T,o),T.pendingBranch=null,T.isInFallback=!1;let g=T.parent,v=!1;for(;g;){if(g.pendingBranch){g.effects.push(...l),v=!0;break}g=g.parent}v||d||uA(l),T.effects=[],y&&t&&t.pendingBranch&&_===t.pendingId&&(t.deps--,0!==t.deps||n||t.resolve()),HO(i,"onResolve")},fallback(e){if(!T.pendingBranch)return;const{vnode:t,activeBranch:n,parentComponent:i,container:r,namespace:s}=T;HO(t,"onFallback");const o=f(n),u=()=>{T.isInFallback&&(d(null,e,r,o,i,null,s,a,l),KO(T,e))},c=e.transition&&"out-in"===e.transition.mode;c&&(n.transition.afterLeave=u),T.isInFallback=!0,p(n,i,null,!0),c||u()},move(e,t,n){T.activeBranch&&h(T.activeBranch,e,t,n),T.container=e},next:()=>T.activeBranch&&f(T.activeBranch),registerDep(e,t,n){const i=!!T.pendingBranch;i&&T.deps++;const r=e.vnode.el;e.asyncDep.catch(t=>{QI(t,e,0)}).then(s=>{if(e.isUnmounted||T.isUnmounted||T.pendingId!==e.suspenseId)return;e.asyncResolved=!0;const{vnode:a}=e;jM(e,s,!1),r&&(a.el=r);const l=!r&&e.subTree.el;t(e,a,m(r||e.subTree.el),r?null:f(e.subTree),T,o,n),l&&g(l),zO(e,a.el),i&&0===--T.deps&&T.resolve()})},unmount(e,t){T.isUnmounted=!0,T.activeBranch&&p(T.activeBranch,n,e,t),T.pendingBranch&&p(T.pendingBranch,n,e,t)}};return T}function XO(e){let t;if(Yx(e)){const n=oM&&e._c;n&&(e._d=!1,iM()),e=e(),n&&(e._d=!0,t=nM,rM())}if(Ux(e)){const t=BO(e);0,e=t}return e=wM(e),t&&!e.dynamicChildren&&(e.dynamicChildren=t.filter(t=>t!==e)),e}function qO(e,t){t&&t.pendingBranch?Ux(e)?t.effects.push(...e):t.effects.push(e):uA(e)}function KO(e,t){e.activeBranch=t;const{vnode:n,parentComponent:i}=e;let r=t.el;for(;!r&&t.component;)r=(t=t.component.subTree).el;n.el=r,i&&i.subTree===n&&(i.vnode.el=r,zO(i,r))}const ZO=Symbol.for("v-fgt"),QO=Symbol.for("v-txt"),JO=Symbol.for("v-cmt"),eM=Symbol.for("v-stc"),tM=[];let nM=null;function iM(e=!1){tM.push(nM=e?null:[])}function rM(){tM.pop(),nM=tM[tM.length-1]||null}let sM,oM=1;function aM(e,t=!1){oM+=e,e<0&&nM&&t&&(nM.hasOnce=!0)}function lM(e){return e.dynamicChildren=oM>0?nM||kx:null,rM(),oM>0&&nM&&nM.push(e),e}function uM(e,t,n,i,r,s){return lM(gM(e,t,n,i,r,s,!0))}function cM(e,t,n,i,r){return lM(_M(e,t,n,i,r,!0))}function dM(e){return!!e&&!0===e.__v_isVNode}function hM(e,t){return e.type===t.type&&e.key===t.key}function pM(e){sM=e}const fM=({key:e})=>null!=e?e:null,mM=({ref:e,ref_key:t,ref_for:n})=>("number"==typeof e&&(e=""+e),null!=e?Gx(e)||gI(e)||Yx(e)?{i:wA,r:e,k:t,f:!!n}:e:null);function gM(e,t=null,n=null,i=0,r=null,s=(e===ZO?0:1),o=!1,a=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&fM(t),ref:t&&mM(t),scopeId:IA,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:s,patchFlag:i,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:wA};return a?(AM(l,n),128&s&&e.normalize(l)):n&&(l.shapeFlag|=Gx(n)?8:16),oM>0&&!o&&nM&&(l.patchFlag>0||6&s)&&32!==l.patchFlag&&nM.push(l),l}const _M=yM;function yM(e,t=null,n=null,i=0,r=null,s=!1){if(e&&e!==nC||(e=JO),dM(e)){const i=bM(e,t,!0);return n&&AM(i,n),oM>0&&!s&&nM&&(6&i.shapeFlag?nM[nM.indexOf(e)]=i:nM.push(i)),i.patchFlag=-2,i}if(ek(e)&&(e=e.__vccOpts),t){t=vM(t);let{class:e,style:n}=t;e&&!Gx(e)&&(t.class=xE(e)),Wx(n)&&(dI(n)&&!Ux(n)&&(n=Lx({},n)),t.style=_E(n))}return gM(e,t,n,i,r,Gx(e)?1:jO(e)?128:DA(e)?64:Wx(e)?4:Yx(e)?2:0,s,!0)}function vM(e){return e?dI(e)||JC(e)?Lx({},e):e:null}function bM(e,t,n=!1,i=!1){const{props:r,ref:s,patchFlag:o,children:a,transition:l}=e,u=t?SM(r||{},t):r,c={__v_isVNode:!0,__v_skip:!0,type:e.type,props:u,key:u&&fM(u),ref:t&&t.ref?n&&s?Ux(s)?s.concat(mM(t)):[s,mM(t)]:mM(t):s,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:a,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==ZO?-1===o?16:16|o:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&bM(e.ssContent),ssFallback:e.ssFallback&&bM(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&i&&iS(c,l.clone(c)),c}function TM(e=" ",t=0){return _M(QO,null,e,t)}function xM(e,t){const n=_M(eM,null,e);return n.staticCount=t,n}function EM(e="",t=!1){return t?(iM(),cM(JO,null,e)):_M(JO,null,e)}function wM(e){return null==e||"boolean"==typeof e?_M(JO):Ux(e)?_M(ZO,null,e.slice()):dM(e)?IM(e):_M(QO,null,String(e))}function IM(e){return null===e.el&&-1!==e.patchFlag||e.memo?e:bM(e)}function AM(e,t){let n=0;const{shapeFlag:i}=e;if(null==t)t=null;else if(Ux(t))n=16;else if("object"==typeof t){if(65&i){const n=t.default;return void(n&&(n._c&&(n._d=!1),AM(e,n()),n._c&&(n._d=!0)))}{n=32;const i=t._;i||JC(t)?3===i&&wA&&(1===wA.slots._?t._=1:(t._=2,e.patchFlag|=1024)):t._ctx=wA}}else Yx(t)?(t={default:t,_ctx:wA},n=32):(t=String(t),64&i?(n=16,t=[TM(t)]):n=8);e.children=t,e.shapeFlag|=n}function SM(...e){const t={};for(let n=0;nRM||wA;let DM,FM;{const e=mE(),t=(t,n)=>{let i;return(i=e[t])||(i=e[t]=[]),i.push(n),e=>{i.length>1?i.forEach(t=>t(e)):i[0](e)}};DM=t("__VUE_INSTANCE_SETTERS__",e=>RM=e),FM=t("__VUE_SSR_SETTERS__",e=>VM=e)}const LM=e=>{const t=RM;return DM(e),e.scope.on(),()=>{e.scope.off(),DM(t)}},PM=()=>{RM&&RM.scope.off(),DM(null)};function BM(e){return 4&e.vnode.shapeFlag}let $M,UM,VM=!1;function zM(e,t=!1,n=!1){t&&FM(t);const{props:i,children:r}=e.vnode,s=BM(e);!function(e,t,n,i=!1){const r={},s=QC();e.propsDefaults=Object.create(null),eO(e,t,r,s);for(const t in e.propsOptions[0])t in r||(r[t]=void 0);n?e.props=i?r:rI(r):e.type.props?e.props=r:e.props=s,e.attrs=s}(e,i,s,t),dO(e,r,n);const o=s?function(e,t){const n=e.type;0;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,mC),!1;const{setup:i}=n;if(i){hw();const n=e.setupContext=i.length>1?XM(e):null,r=LM(e),s=KI(i,e,0,[e.props,n]),o=Xx(s);if(pw(),r(),!o&&!e.sp||CS(e)||aS(e),o){if(s.then(PM,PM),t)return s.then(n=>{jM(e,n,t)}).catch(t=>{QI(t,e,0)});e.asyncDep=s}else jM(e,s,t)}else HM(e,t)}(e,t):void 0;return t&&FM(!1),o}function jM(e,t,n){Yx(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Wx(t)&&(__VUE_PROD_DEVTOOLS__&&(e.devtoolsRawSetupState=t),e.setupState=II(t)),HM(e,n)}function YM(e){$M=e,UM=e=>{e.render._rc&&(e.withProxy=new Proxy(e.ctx,gC))}}const GM=()=>!$M;function HM(e,t,n){const i=e.type;if(!e.render){if(!t&&$M&&!i.render){const t=i.template||__VUE_OPTIONS_API__&&LC(e).template;if(t){0;const{isCustomElement:n,compilerOptions:r}=e.appContext.config,{delimiters:s,compilerOptions:o}=i,a=Lx(Lx({isCustomElement:n,delimiters:s},r),o);i.render=$M(t,a)}}e.render=i.render||Rx,UM&&UM(e)}if(__VUE_OPTIONS_API__){const t=LM(e);hw();try{NC(e)}finally{pw(),t()}}}const WM={get:(e,t)=>(Ew(e,0,""),e[t])};function XM(e){const t=t=>{e.exposed=t||{}};return{attrs:new Proxy(e.attrs,WM),slots:e.slots,emit:e.emit,expose:t}}function qM(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(II(pI(e.exposed)),{get:(t,n)=>n in t?t[n]:n in pC?pC[n](e):void 0,has:(e,t)=>t in e||t in pC})):e.proxy}const KM=/(?:^|[-_])(\w)/g,ZM=e=>e.replace(KM,e=>e.toUpperCase()).replace(/[-_]/g,"");function QM(e,t=!0){return Yx(e)?e.displayName||e.name:e.name||t&&e.__name}function JM(e,t,n=!1){let i=QM(t);if(!i&&t.__file){const e=t.__file.match(/([^/\\]+)\.\w+$/);e&&(i=e[1])}if(!i&&e&&e.parent){const n=e=>{for(const n in e)if(e[n]===t)return n};i=n(e.components||e.parent.type.components)||n(e.appContext.components)}return i?ZM(i):n?"App":"Anonymous"}function ek(e){return Yx(e)&&"__vccOpts"in e}const tk=(e,t)=>{const n=function(e,t,n=!1){let i,r;return Yx(e)?i=e:(i=e.get,r=e.set),new NI(i,r,n)}(e,0,VM);return n};function nk(e,t,n){const i=arguments.length;return 2===i?Wx(t)&&!Ux(t)?dM(t)?_M(e,null,[t]):_M(e,t):_M(e,null,t):(i>3?n=Array.prototype.slice.call(arguments,2):3===i&&dM(n)&&(n=[n]),_M(e,t,n))}function ik(){return void 0}function rk(e,t,n,i){const r=n[i];if(r&&sk(r,e))return r;const s=t();return s.memo=e.slice(),s.cacheIndex=i,n[i]=s}function sk(e,t){const n=e.memo;if(n.length!=t.length)return!1;for(let e=0;e0&&nM&&nM.push(e),!0}const ok="3.5.13",ak=Rx,lk=qI,uk=fA,ck=yA,dk={createComponentInstance:kM,setupComponent:zM,renderComponentRoot:PO,setCurrentRenderingInstance:AA,isVNode:dM,normalizeVNode:wM,getComponentPublicInstance:qM,ensureValidVNode:cC,pushWarningContext:function(e){zI.push(e)},popWarningContext:function(){zI.pop()}},hk=null,pk=null,fk=null; +function OA(e){return t=>{EA(e,t.appContext.app,t.uid,t.parent?t.parent.uid:void 0,t)}}let MA=null,kA=null;function RA(e){const t=MA;return MA=e,kA=e&&e.type.__scopeId||null,t}function NA(e){kA=e}function DA(){kA=null}const FA=e=>LA;function LA(e,t=MA,n){if(!t)return e;if(e._n)return e;const i=(...n)=>{i._d&&pM(-1);const r=RA(t);let s;try{s=e(...n)}finally{RA(r),i._d&&pM(1)}return __VUE_PROD_DEVTOOLS__&&AA(t),s};return i._n=!0,i._c=!0,i._d=!0,i}function PA(e,t){if(null===MA)return e;const n=tk(MA),i=e.dirs||(e.dirs=[]);for(let e=0;ee.__isTeleport,VA=e=>e&&(e.disabled||""===e.disabled),zA=e=>e&&(e.defer||""===e.defer),jA=e=>"undefined"!=typeof SVGElement&&e instanceof SVGElement,YA=e=>"function"==typeof MathMLElement&&e instanceof MathMLElement,GA=(e,t)=>{const n=e&&e.to;if(Zx(n)){if(t){return t(n)}return null}return n},HA={name:"Teleport",__isTeleport:!0,process(e,t,n,i,r,s,o,a,l,u){const{mc:c,pc:d,pbc:h,o:{insert:p,querySelector:f,createText:m,createComment:g}}=u,_=VA(t.props);let{shapeFlag:y,children:v,dynamicChildren:b}=t;if(null==e){const e=t.el=m(""),u=t.anchor=m("");p(e,n,i),p(u,n,i);const d=(e,t)=>{16&y&&(r&&r.isCE&&(r.ce._teleportTarget=e),c(v,e,t,r,s,o,a,l))},h=()=>{const e=t.target=GA(t.props,f),n=KA(e,t,m,p);e&&("svg"!==o&&jA(e)?o="svg":"mathml"!==o&&YA(e)&&(o="mathml"),_||(d(e,n),qA(t,!1)))};_&&(d(n,u),qA(t,!0)),zA(t.props)?vO(()=>{h(),t.el.__isMounted=!0},s):h()}else{if(zA(t.props)&&!e.el.__isMounted)return void vO(()=>{HA.process(e,t,n,i,r,s,o,a,l,u),delete e.el.__isMounted},s);t.el=e.el,t.targetStart=e.targetStart;const c=t.anchor=e.anchor,p=t.target=e.target,m=t.targetAnchor=e.targetAnchor,g=VA(e.props),y=g?n:p,v=g?c:m;if("svg"===o||jA(p)?o="svg":("mathml"===o||YA(p))&&(o="mathml"),b?(h(e.dynamicChildren,b,y,r,s,o,a),AO(e,t,!0)):l||d(e,t,y,v,r,s,o,a,!1),_)g?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):WA(t,n,c,u,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const e=t.target=GA(t.props,f);e&&WA(t,e,null,u,0)}else g&&WA(t,p,m,u,1);qA(t,_)}},remove(e,t,n,{um:i,o:{remove:r}},s){const{shapeFlag:o,children:a,anchor:l,targetStart:u,targetAnchor:c,target:d,props:h}=e;if(d&&(r(u),r(c)),s&&r(l),16&o){const e=s||!VA(h);for(let r=0;r{e.isMounted=!0}),JS(()=>{e.isUnmounting=!0}),e}const eS=[Function,Array],tS={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:eS,onEnter:eS,onAfterEnter:eS,onEnterCancelled:eS,onBeforeLeave:eS,onLeave:eS,onAfterLeave:eS,onLeaveCancelled:eS,onBeforeAppear:eS,onAppear:eS,onAfterAppear:eS,onAppearCancelled:eS},nS=e=>{const t=e.subTree;return t.component?nS(t.component):t};function iS(e){let t=e[0];if(e.length>1){let n=!1;for(const i of e)if(i.type!==sM){0,t=i,n=!0;break}}return t}const rS={name:"BaseTransition",props:tS,setup(e,{slots:t}){const n=$M(),i=JA();return()=>{const r=t.default&&cS(t.default(),!0);if(!r||!r.length)return;const s=iS(r),o=yI(e),{mode:a}=o;if(i.isLeaving)return aS(s);const l=lS(s);if(!l)return aS(s);let u=oS(l,o,i,n,e=>u=e);l.type!==sM&&uS(l,u);let c=n.subTree&&lS(n.subTree);if(c&&c.type!==sM&&!yM(l,c)&&nS(n).type!==sM){let e=oS(c,o,i,n);if(uS(c,e),"out-in"===a&&l.type!==sM)return i.isLeaving=!0,e.afterLeave=()=>{i.isLeaving=!1,8&n.job.flags||n.update(),delete e.afterLeave,c=void 0},aS(s);"in-out"===a&&l.type!==sM?e.delayLeave=(e,t,n)=>{sS(i,c)[String(c.key)]=c,e[ZA]=()=>{t(),e[ZA]=void 0,delete u.delayedLeave,c=void 0},u.delayedLeave=()=>{n(),delete u.delayedLeave,c=void 0}}:c=void 0}else c&&(c=void 0);return s}}};function sS(e,t){const{leavingVNodes:n}=e;let i=n.get(t.type);return i||(i=Object.create(null),n.set(t.type,i)),i}function oS(e,t,n,i,r){const{appear:s,mode:o,persisted:a=!1,onBeforeEnter:l,onEnter:u,onAfterEnter:c,onEnterCancelled:d,onBeforeLeave:h,onLeave:p,onAfterLeave:f,onLeaveCancelled:m,onBeforeAppear:g,onAppear:_,onAfterAppear:y,onAppearCancelled:v}=t,b=String(e.key),T=sS(n,e),x=(e,t)=>{e&&iA(e,i,9,t)},E=(e,t)=>{const n=t[1];x(e,t),Hx(e)?e.every(e=>e.length<=1)&&n():e.length<=1&&n()},w={mode:o,persisted:a,beforeEnter(t){let i=l;if(!n.isMounted){if(!s)return;i=g||l}t[ZA]&&t[ZA](!0);const r=T[b];r&&yM(e,r)&&r.el[ZA]&&r.el[ZA](),x(i,[t])},enter(e){let t=u,i=c,r=d;if(!n.isMounted){if(!s)return;t=_||u,i=y||c,r=v||d}let o=!1;const a=e[QA]=t=>{o||(o=!0,x(t?r:i,[e]),w.delayedLeave&&w.delayedLeave(),e[QA]=void 0)};t?E(t,[e,a]):a()},leave(t,i){const r=String(e.key);if(t[QA]&&t[QA](!0),n.isUnmounting)return i();x(h,[t]);let s=!1;const o=t[ZA]=n=>{s||(s=!0,i(),x(n?m:f,[t]),t[ZA]=void 0,T[r]===e&&delete T[r])};T[r]=e,p?E(p,[t,o]):o()},clone(e){const s=oS(e,t,n,i,r);return r&&r(s),s}};return w}function aS(e){if(PS(e))return(e=AM(e)).children=null,e}function lS(e){if(!PS(e))return UA(e.type)&&e.children?iS(e.children):e;const{shapeFlag:t,children:n}=e;if(n){if(16&t)return n[0];if(32&t&&Kx(n.default))return n.default()}}function uS(e,t){6&e.shapeFlag&&e.component?(e.transition=t,uS(e.component.subTree,t)):128&e.shapeFlag?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function cS(e,t=!1,n){let i=[],r=0;for(let s=0;s1)for(let e=0;ezx({name:e.name},t,{setup:e}))():e}function hS(){const e=$M();return e?(e.appContext.config.idPrefix||"v")+"-"+e.ids[0]+e.ids[1]++:""}function pS(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function fS(e){const t=$M(),n=wI(null);if(t){const i=t.refs===Lx?t.refs={}:t.refs;Object.defineProperty(i,e,{enumerable:!0,get:()=>n.value,set:e=>n.value=e})}else 0;return n}function mS(e,t,n,i,r=!1){if(Hx(e))return void e.forEach((e,s)=>mS(e,t&&(Hx(t)?t[s]:t),n,i,r));if(DS(i)&&!r)return void(512&i.shapeFlag&&i.type.__asyncResolved&&i.component.subTree.component&&mS(e,t,n,i.component.subTree));const s=4&i.shapeFlag?tk(i.component):i.el,o=r?null:s,{i:a,r:l}=e;const u=t&&t.r,c=a.refs===Lx?a.refs={}:a.refs,d=a.setupState,h=yI(d),p=d===Lx?()=>!1:e=>Gx(h,e);if(null!=u&&u!==l&&(Zx(u)?(c[u]=null,p(u)&&(d[u]=null)):xI(u)&&(u.value=null)),Kx(l))nA(l,a,12,[o,c]);else{const t=Zx(l),i=xI(l);if(t||i){const a=()=>{if(e.f){const n=t?p(l)?d[l]:c[l]:l.value;r?Hx(n)&&jx(n,s):Hx(n)?n.includes(s)||n.push(s):t?(c[l]=[s],p(l)&&(d[l]=c[l])):(l.value=[s],e.k&&(c[e.k]=l.value))}else t?(c[l]=o,p(l)&&(d[l]=o)):i&&(l.value=o,e.k&&(c[e.k]=o))};o?(a.id=-1,vO(a,n)):a()}else 0}}let gS=!1;const _S=()=>{gS||(console.error("Hydration completed but contains mismatches."),gS=!0)},yS=e=>{if(1===e.nodeType)return(e=>e.namespaceURI.includes("svg")&&"foreignObject"!==e.tagName)(e)?"svg":(e=>e.namespaceURI.includes("MathML"))(e)?"mathml":void 0},vS=e=>8===e.nodeType;function bS(e){const{mt:t,p:n,o:{patchProp:i,createText:r,nextSibling:s,parentNode:o,remove:a,insert:l,createComment:u}}=e,c=(n,i,a,u,y,v=!1)=>{v=v||!!i.dynamicChildren;const b=vS(n)&&"["===n.data,T=()=>f(n,i,a,u,y,b),{type:x,ref:E,shapeFlag:w,patchFlag:I}=i;let A=n.nodeType;i.el=n,__VUE_PROD_DEVTOOLS__&&(_E(n,"__vnode",i,!0),_E(n,"__vueParentComponent",a,!0)),-2===I&&(v=!1,i.dynamicChildren=null);let S=null;switch(x){case rM:3!==A?""===i.children?(l(i.el=r(""),o(n),n),S=n):S=T():(n.data!==i.children&&(__VUE_PROD_HYDRATION_MISMATCH_DETAILS__&&KI("Hydration text mismatch in",n.parentNode,`\n - rendered on server: ${JSON.stringify(n.data)}\n - expected on client: ${JSON.stringify(i.children)}`),_S(),n.data=i.children),S=s(n));break;case sM:_(n)?(S=s(n),g(i.el=n.content.firstChild,n,a)):S=8!==A||b?T():s(n);break;case oM:if(b&&(A=(n=s(n)).nodeType),1===A||3===A){S=n;const e=!i.children.length;for(let t=0;t{o=o||!!t.dynamicChildren;const{type:l,props:u,patchFlag:c,shapeFlag:d,dirs:p,transition:f}=t,m="input"===l||"option"===l;if(m||-1!==c){p&&BA(t,null,n,"created");let l,y=!1;if(_(e)){y=IO(null,f)&&n&&n.vnode.props&&n.vnode.props.appear;const i=e.content.firstChild;y&&f.beforeEnter(i),g(i,e,n),t.el=e=i}if(16&d&&(!u||!u.innerHTML&&!u.textContent)){let i=h(e.firstChild,t,e,n,r,s,o),l=!1;for(;i;){SS(e,1)||(__VUE_PROD_HYDRATION_MISMATCH_DETAILS__&&!l&&(KI("Hydration children mismatch on",e,"\nServer rendered element contains more child nodes than client vdom."),l=!0),_S());const t=i;i=i.nextSibling,a(t)}}else if(8&d){let n=t.children;"\n"!==n[0]||"PRE"!==e.tagName&&"TEXTAREA"!==e.tagName||(n=n.slice(1)),e.textContent!==n&&(SS(e,0)||(__VUE_PROD_HYDRATION_MISMATCH_DETAILS__&&KI("Hydration text content mismatch on",e,`\n - rendered on server: ${e.textContent}\n - expected on client: ${t.children}`),_S()),e.textContent=t.children)}if(u)if(__VUE_PROD_HYDRATION_MISMATCH_DETAILS__||m||!o||48&c){const r=e.tagName.includes("-");for(const s in u)!__VUE_PROD_HYDRATION_MISMATCH_DETAILS__||p&&p.some(e=>e.dir.created)||!TS(e,s,u[s],t,n)||_S(),(m&&(s.endsWith("value")||"indeterminate"===s)||Ux(s)&&!oE(s)||"."===s[0]||r)&&i(e,s,null,u[s],void 0,n)}else if(u.onClick)i(e,"onClick",null,u.onClick,void 0,n);else if(4&c&&fI(u.style))for(const e in u.style)u.style[e];(l=u&&u.onVnodeBeforeMount)&&DM(l,n,t),p&&BA(t,null,n,"beforeMount"),((l=u&&u.onVnodeMounted)||p||y)&&tM(()=>{l&&DM(l,n,t),y&&f.enter(e),p&&BA(t,null,n,"mounted")},r)}return e.nextSibling},h=(e,t,i,o,a,u,d)=>{d=d||!!t.dynamicChildren;const h=t.children,p=h.length;let f=!1;for(let t=0;t{const{slotScopeIds:c}=t;c&&(r=r?r.concat(c):c);const d=o(e),p=h(s(e),t,d,n,i,r,a);return p&&vS(p)&&"]"===p.data?s(t.anchor=p):(_S(),l(t.anchor=u("]"),d,p),p)},f=(e,t,i,r,l,u)=>{if(SS(e.parentElement,1)||(__VUE_PROD_HYDRATION_MISMATCH_DETAILS__&&KI("Hydration node mismatch:\n- rendered on server:",e,3===e.nodeType?"(text)":vS(e)&&"["===e.data?"(start of fragment)":"","\n- expected on client:",t.type),_S()),t.el=null,u){const t=m(e);for(;;){const n=s(e);if(!n||n===t)break;a(n)}}const c=s(e),d=o(e);return a(e),n(null,t,d,c,i,r,yS(d),l),i&&(i.vnode.el=t.el,XO(i,t.el)),c},m=(e,t="[",n="]")=>{let i=0;for(;e;)if((e=s(e))&&vS(e)&&(e.data===t&&i++,e.data===n)){if(0===i)return s(e);i--}return e},g=(e,t,n)=>{const i=t.parentNode;i&&i.replaceChild(e,t);let r=n;for(;r;)r.vnode.el===t&&(r.vnode.el=r.subTree.el=e),r=r.parent},_=e=>1===e.nodeType&&"TEMPLATE"===e.tagName;return[(e,t)=>{if(!t.hasChildNodes())return __VUE_PROD_HYDRATION_MISMATCH_DETAILS__&&KI("Attempting to hydrate existing markup but container is empty. Performing full mount instead."),n(null,e,t),_A(),void(t._vnode=e);c(t.firstChild,e,null,null,null),_A(),t._vnode=e},c]}function TS(e,t,n,i,r){let s,o,a,l;if("class"===t)a=e.getAttribute("class"),l=CE(n),function(e,t){if(e.size!==t.size)return!1;for(const n of e)if(!t.has(n))return!1;return!0}(xS(a||""),xS(l))||(s=2,o="class");else if("style"===t){a=e.getAttribute("style")||"",l=Zx(n)?n:function(e){if(!e)return"";if(Zx(e))return e;let t="";for(const n in e){const i=e[n];(Zx(i)||"number"==typeof i)&&(t+=`${n.startsWith("--")?n:hE(n)}:${i};`)}return t}(EE(n));const t=ES(a),u=ES(l);if(i.dirs)for(const{dir:e,value:t}of i.dirs)"show"!==e.name||t||u.set("display","none");r&&wS(r,i,u),function(e,t){if(e.size!==t.size)return!1;for(const[n,i]of e)if(i!==t.get(n))return!1;return!0}(t,u)||(s=3,o="style")}else(e instanceof SVGElement&&$E(t)||e instanceof HTMLElement&&(LE(t)||BE(t)))&&(LE(t)?(a=e.hasAttribute(t),l=PE(n)):null==n?(a=e.hasAttribute(t),l=!1):(a=e.hasAttribute(t)?e.getAttribute(t):"value"===t&&"TEXTAREA"===e.tagName&&e.value,l=!!function(e){if(null==e)return!1;const t=typeof e;return"string"===t||"number"===t||"boolean"===t}(n)&&String(n)),a!==l&&(s=4,o=t));if(null!=s&&!SS(e,s)){const t=e=>!1===e?"(not rendered)":`${o}="${e}"`;return KI(`Hydration ${AS[s]} mismatch on`,e,`\n - rendered on server: ${t(a)}\n - expected on client: ${t(l)}\n Note: this mismatch is check-only. The DOM will not be rectified in production due to performance overhead.\n You should fix the source of the mismatch.`),!0}return!1}function xS(e){return new Set(e.trim().split(/\s+/))}function ES(e){const t=new Map;for(const n of e.split(";")){let[e,i]=n.split(":");e=e.trim(),i=i&&i.trim(),e&&i&&t.set(e,i)}return t}function wS(e,t,n){const i=e.subTree;if(e.getCssVars&&(t===i||i&&i.type===iM&&i.children.includes(t))){const t=e.getCssVars();for(const e in t)n.set(`--${VE(e,!1)}`,String(t[e]))}t===i&&e.parent&&wS(e.parent,e.vnode,n)}const IS="data-allow-mismatch",AS={0:"text",1:"children",2:"class",3:"style",4:"attribute"};function SS(e,t){if(0===t||1===t)for(;e&&!e.hasAttribute(IS);)e=e.parentElement;const n=e&&e.getAttribute(IS);if(null==n)return!1;if(""===n)return!0;{const e=n.split(",");return!(0!==t||!e.includes("children"))||n.split(",").includes(AS[t])}}const CS=TE().requestIdleCallback||(e=>setTimeout(e,1)),OS=TE().cancelIdleCallback||(e=>clearTimeout(e)),MS=(e=1e4)=>t=>{const n=CS(t,{timeout:e});return()=>OS(n)};const kS=e=>(t,n)=>{const i=new IntersectionObserver(e=>{for(const n of e)if(n.isIntersecting){i.disconnect(),t();break}},e);return n(e=>{if(e instanceof Element)return function(e){const{top:t,left:n,bottom:i,right:r}=e.getBoundingClientRect(),{innerHeight:s,innerWidth:o}=window;return(t>0&&t0&&i0&&n0&&ri.disconnect()},RS=e=>t=>{if(e){const n=matchMedia(e);if(!n.matches)return n.addEventListener("change",t,{once:!0}),()=>n.removeEventListener("change",t);t()}},NS=(e=[])=>(t,n)=>{Zx(e)&&(e=[e]);let i=!1;const r=e=>{i||(i=!0,s(),t(),e.target.dispatchEvent(new e.constructor(e.type,e)))},s=()=>{n(t=>{for(const n of e)t.removeEventListener(n,r)})};return n(t=>{for(const n of e)t.addEventListener(n,r,{once:!0})}),s};const DS=e=>!!e.type.__asyncLoader; +/*! #__NO_SIDE_EFFECTS__ */function FS(e){Kx(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:i,delay:r=200,hydrate:s,timeout:o,suspensible:a=!0,onError:l}=e;let u,c=null,d=0;const h=()=>{let e;return c||(e=c=t().catch(e=>{if(e=e instanceof Error?e:new Error(String(e)),l)return new Promise((t,n)=>{l(e,()=>t((d++,c=null,h())),()=>n(e),d+1)});throw e}).then(t=>e!==c&&c?c:(t&&(t.__esModule||"Module"===t[Symbol.toStringTag])&&(t=t.default),u=t,t)))};return dS({name:"AsyncComponentWrapper",__asyncLoader:h,__asyncHydrate(e,t,n){const i=s?()=>{const i=s(n,t=>function(e,t){if(vS(e)&&"["===e.data){let n=1,i=e.nextSibling;for(;i;){if(1===i.nodeType){if(!1===t(i))break}else if(vS(i))if("]"===i.data){if(0===--n)break}else"["===i.data&&n++;i=i.nextSibling}}else t(e)}(e,t));i&&(t.bum||(t.bum=[])).push(i)}:n;u?i():h().then(()=>!t.isUnmounted&&i())},get __asyncResolved(){return u},setup(){const e=BM;if(pS(e),u)return()=>LS(u,e);const t=t=>{c=null,rA(t,e,13,!i)};if(a&&e.suspense||WM)return h().then(t=>()=>LS(t,e)).catch(e=>(t(e),()=>i?EM(i,{error:e}):null));const s=EI(!1),l=EI(),d=EI(!!r);return r&&setTimeout(()=>{d.value=!1},r),null!=o&&setTimeout(()=>{if(!s.value&&!l.value){const e=new Error(`Async component timed out after ${o}ms.`);t(e),l.value=e}},o),h().then(()=>{s.value=!0,e.parent&&PS(e.parent.vnode)&&e.parent.update()}).catch(e=>{t(e),l.value=e}),()=>s.value&&u?LS(u,e):l.value&&i?EM(i,{error:l.value}):n&&!d.value?EM(n):void 0}})}function LS(e,t){const{ref:n,props:i,children:r,ce:s}=t.vnode,o=EM(e,i,r);return o.ref=n,o.ce=s,delete t.vnode.ce,o}const PS=e=>e.type.__isKeepAlive,BS={name:"KeepAlive",__isKeepAlive:!0,props:{include:[String,RegExp,Array],exclude:[String,RegExp,Array],max:[String,Number]},setup(e,{slots:t}){const n=$M(),i=n.ctx;if(!i.renderer)return()=>{const e=t.default&&t.default();return e&&1===e.length?e[0]:e};const r=new Map,s=new Set;let o=null;__VUE_PROD_DEVTOOLS__&&(n.__v_cache=r);const a=n.suspense,{renderer:{p:l,m:u,um:c,o:{createElement:d}}}=i,h=d("div");function p(e){GS(e),c(e,n,a,!0)}function f(e){r.forEach((t,n)=>{const i=rk(t.type);i&&!e(i)&&m(n)})}function m(e){const t=r.get(e);!t||o&&yM(t,o)?o&&GS(o):p(t),r.delete(e),s.delete(e)}i.activate=(e,t,n,i,r)=>{const s=e.component;u(e,t,n,0,a),l(s.vnode,e,t,n,s,a,i,e.slotScopeIds,r),vO(()=>{s.isDeactivated=!1,s.a&&gE(s.a);const t=e.props&&e.props.onVnodeMounted;t&&DM(t,s.parent,e)},a),__VUE_PROD_DEVTOOLS__&&IA(s)},i.deactivate=e=>{const t=e.component;CO(t.m),CO(t.a),u(e,h,null,1,a),vO(()=>{t.da&&gE(t.da);const n=e.props&&e.props.onVnodeUnmounted;n&&DM(n,t.parent,e),t.isDeactivated=!0},a),__VUE_PROD_DEVTOOLS__&&IA(t)},DO(()=>[e.include,e.exclude],([e,t])=>{e&&f(t=>US(e,t)),t&&f(e=>!US(t,e))},{flush:"post",deep:!0});let g=null;const _=()=>{null!=g&&(qO(n.subTree.type)?vO(()=>{r.set(g,HS(n.subTree))},n.subTree.suspense):r.set(g,HS(n.subTree)))};return KS(_),QS(_),JS(()=>{r.forEach(e=>{const{subTree:t,suspense:i}=n,r=HS(t);if(e.type===r.type&&e.key===r.key){GS(r);const e=r.component.da;return void(e&&vO(e,i))}p(e)})}),()=>{if(g=null,!t.default)return o=null;const n=t.default(),i=n[0];if(n.length>1)return o=null,n;if(!(_M(i)&&(4&i.shapeFlag||128&i.shapeFlag)))return o=null,i;let a=HS(i);if(a.type===sM)return o=null,a;const l=a.type,u=rk(DS(a)?a.type.__asyncResolved||{}:l),{include:c,exclude:d,max:h}=e;if(c&&(!u||!US(c,u))||d&&u&&US(d,u))return a.shapeFlag&=-257,o=a,i;const p=null==a.key?l:a.key,f=r.get(p);return a.el&&(a=AM(a),128&i.shapeFlag&&(i.ssContent=a)),g=p,f?(a.el=f.el,a.component=f.component,a.transition&&uS(a,a.transition),a.shapeFlag|=512,s.delete(p),s.add(p)):(s.add(p),h&&s.size>parseInt(h,10)&&m(s.values().next().value)),a.shapeFlag|=256,o=a,qO(i.type)?i:a}}},$S=BS;function US(e,t){return Hx(e)?e.some(e=>US(e,t)):Zx(e)?e.split(",").includes(t):"[object RegExp]"===nE(e)&&(e.lastIndex=0,e.test(t))}function VS(e,t){jS(e,"a",t)}function zS(e,t){jS(e,"da",t)}function jS(e,t,n=BM){const i=e.__wdc||(e.__wdc=()=>{let t=n;for(;t;){if(t.isDeactivated)return;t=t.parent}return e()});if(WS(t,i,n),n){let e=n.parent;for(;e&&e.parent;)PS(e.parent.vnode)&&YS(i,t,n,e),e=e.parent}}function YS(e,t,n,i){const r=WS(t,e,i,!0);eC(()=>{jx(i[t],r)},n)}function GS(e){e.shapeFlag&=-257,e.shapeFlag&=-513}function HS(e){return 128&e.shapeFlag?e.ssContent:e}function WS(e,t,n=BM,i=!1){if(n){const r=n[e]||(n[e]=[]),s=t.__weh||(t.__weh=(...i)=>{yw();const r=zM(n),s=iA(t,n,e,i);return r(),vw(),s});return i?r.unshift(s):r.push(s),s}}const XS=e=>(t,n=BM)=>{WM&&"sp"!==e||WS(e,(...e)=>t(...e),n)},qS=XS("bm"),KS=XS("m"),ZS=XS("bu"),QS=XS("u"),JS=XS("bum"),eC=XS("um"),tC=XS("sp"),nC=XS("rtg"),iC=XS("rtc");function rC(e,t=BM){WS("ec",e,t)}const sC="components",oC="directives";function aC(e,t){return dC(sC,e,!0,t)||e}const lC=Symbol.for("v-ndc");function uC(e){return Zx(e)?dC(sC,e,!1)||e:e||lC}function cC(e){return dC(oC,e)}function dC(e,t,n=!0,i=!1){const r=MA||BM;if(r){const n=r.type;if(e===sC){const e=rk(n,!1);if(e&&(e===t||e===cE(t)||e===pE(cE(t))))return n}const s=hC(r[e]||n[e],t)||hC(r.appContext[e],t);return!s&&i?n:s}}function hC(e,t){return e&&(e[t]||e[cE(t)]||e[pE(cE(t))])}function pC(e,t,n,i){let r;const s=n&&n[i],o=Hx(e);if(o||Zx(e)){let n=!1;o&&fI(e)&&(n=!gI(e),e=Rw(e)),r=new Array(e.length);for(let i=0,o=e.length;it(e,n,void 0,s&&s[n]));else{const n=Object.keys(e);r=new Array(n.length);for(let i=0,o=n.length;i{const t=i.fn(...e);return t&&(t.key=i.key),t}:i.fn)}return e}function mC(e,t,n={},i,r){if(MA.ce||MA.parent&&DS(MA.parent)&&MA.parent.ce)return"default"!==t&&(n.name=t),uM(),gM(iM,null,[EM("slot",n,i&&i())],64);let s=e[t];s&&s._c&&(s._d=!1),uM();const o=s&&gC(s(n)),a=n.key||o&&o.key,l=gM(iM,{key:(a&&!Qx(a)?a:`_${t}`)+(!o&&i?"_fb":"")},o||(i?i():[]),o&&1===e._?64:-2);return!r&&l.scopeId&&(l.slotScopeIds=[l.scopeId+"-s"]),s&&s._c&&(s._d=!0),l}function gC(e){return e.some(e=>!_M(e)||e.type!==sM&&!(e.type===iM&&!gC(e.children)))?e:null}function _C(e,t){const n={};for(const i in e)n[t&&/[A-Z]/.test(i)?`on:${i}`:fE(i)]=e[i];return n}const yC=e=>e?YM(e)?tk(e):yC(e.parent):null,vC=zx(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>yC(e.parent),$root:e=>yC(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>__VUE_OPTIONS_API__?zC(e):e.type,$forceUpdate:e=>e.f||(e.f=()=>{pA(e.update)}),$nextTick:e=>e.n||(e.n=hA.bind(e.proxy)),$watch:e=>__VUE_OPTIONS_API__?LO.bind(e):Bx}),bC=(e,t)=>e!==Lx&&!e.__isScriptSetup&&Gx(e,t),TC={get({_:e},t){if("__v_skip"===t)return!0;const{ctx:n,setupState:i,data:r,props:s,accessCache:o,type:a,appContext:l}=e;let u;if("$"!==t[0]){const a=o[t];if(void 0!==a)switch(a){case 1:return i[t];case 2:return r[t];case 4:return n[t];case 3:return s[t]}else{if(bC(i,t))return o[t]=1,i[t];if(r!==Lx&&Gx(r,t))return o[t]=2,r[t];if((u=e.propsOptions[0])&&Gx(u,t))return o[t]=3,s[t];if(n!==Lx&&Gx(n,t))return o[t]=4,n[t];__VUE_OPTIONS_API__&&!BC||(o[t]=0)}}const c=vC[t];let d,h;return c?("$attrs"===t&&Ow(e.attrs,0,""),c(e)):(d=a.__cssModules)&&(d=d[t])?d:n!==Lx&&Gx(n,t)?(o[t]=4,n[t]):(h=l.config.globalProperties,Gx(h,t)?h[t]:void 0)},set({_:e},t,n){const{data:i,setupState:r,ctx:s}=e;return bC(r,t)?(r[t]=n,!0):i!==Lx&&Gx(i,t)?(i[t]=n,!0):!Gx(e.props,t)&&(("$"!==t[0]||!(t.slice(1)in e))&&(s[t]=n,!0))},has({_:{data:e,setupState:t,accessCache:n,ctx:i,appContext:r,propsOptions:s}},o){let a;return!!n[o]||e!==Lx&&Gx(e,o)||bC(t,o)||(a=s[0])&&Gx(a,o)||Gx(i,o)||Gx(vC,o)||Gx(r.config.globalProperties,o)},defineProperty(e,t,n){return null!=n.get?e._.accessCache[t]=0:Gx(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};const xC=zx({},TC,{get(e,t){if(t!==Symbol.unscopables)return TC.get(e,t,e)},has:(e,t)=>"_"!==t[0]&&!xE(t)});function EC(){return null}function wC(){return null}function IC(e){0}function AC(e){0}function SC(){return null}function CC(){0}function OC(e,t){return null}function MC(){return RC().slots}function kC(){return RC().attrs}function RC(){const e=$M();return e.setupContext||(e.setupContext=ek(e))}function NC(e){return Hx(e)?e.reduce((e,t)=>(e[t]=null,e),{}):e}function DC(e,t){const n=NC(e);for(const e in t){if(e.startsWith("__skip"))continue;let i=n[e];i?Hx(i)||Kx(i)?i=n[e]={type:i,default:t[e]}:i.default=t[e]:null===i&&(i=n[e]={default:t[e]}),i&&t[`__skip_${e}`]&&(i.skipFactory=!0)}return n}function FC(e,t){return e&&t?Hx(e)&&Hx(t)?e.concat(t):zx({},NC(e),NC(t)):e||t}function LC(e,t){const n={};for(const i in e)t.includes(i)||Object.defineProperty(n,i,{enumerable:!0,get:()=>e[i]});return n}function PC(e){const t=$M();let n=e();return jM(),eE(n)&&(n=n.catch(e=>{throw zM(t),e})),[n,()=>zM(t)]}let BC=!0;function $C(e){const t=zC(e),n=e.proxy,i=e.ctx;BC=!1,t.beforeCreate&&UC(t.beforeCreate,e,"bc");const{data:r,computed:s,methods:o,watch:a,provide:l,inject:u,created:c,beforeMount:d,mounted:h,beforeUpdate:p,updated:f,activated:m,deactivated:g,beforeDestroy:_,beforeUnmount:y,destroyed:v,unmounted:b,render:T,renderTracked:x,renderTriggered:E,errorCaptured:w,serverPrefetch:I,expose:A,inheritAttrs:S,components:C,directives:O,filters:M}=t;if(u&&function(e,t){Hx(e)&&(e=HC(e));for(const n in e){const i=e[n];let r;r=Jx(i)?"default"in i?tO(i.from||n,i.default,!0):tO(i.from||n):tO(i),xI(r)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>r.value,set:e=>r.value=e}):t[n]=r}}(u,i,null),o)for(const e in o){const t=o[e];Kx(t)&&(i[e]=t.bind(n))}if(r){0;const t=r.call(n,n);0,Jx(t)&&(e.data=uI(t))}if(BC=!0,s)for(const e in s){const t=s[e],r=Kx(t)?t.bind(n,n):Kx(t.get)?t.get.bind(n,n):Bx;0;const o=!Kx(t)&&Kx(t.set)?t.set.bind(n):Bx,a=ak({get:r,set:o});Object.defineProperty(i,e,{enumerable:!0,configurable:!0,get:()=>a.value,set:e=>a.value=e})}if(a)for(const e in a)VC(a[e],i,n,e);if(l){const e=Kx(l)?l.call(n):l;Reflect.ownKeys(e).forEach(t=>{eO(t,e[t])})}function k(e,t){Hx(t)?t.forEach(t=>e(t.bind(n))):t&&e(t.bind(n))}if(c&&UC(c,e,"c"),k(qS,d),k(KS,h),k(ZS,p),k(QS,f),k(VS,m),k(zS,g),k(rC,w),k(iC,x),k(nC,E),k(JS,y),k(eC,b),k(tC,I),Hx(A))if(A.length){const t=e.exposed||(e.exposed={});A.forEach(e=>{Object.defineProperty(t,e,{get:()=>n[e],set:t=>n[e]=t})})}else e.exposed||(e.exposed={});T&&e.render===Bx&&(e.render=T),null!=S&&(e.inheritAttrs=S),C&&(e.components=C),O&&(e.directives=O),I&&pS(e)}function UC(e,t,n){iA(Hx(e)?e.map(e=>e.bind(t.proxy)):e.bind(t.proxy),t,n)}function VC(e,t,n,i){let r=i.includes(".")?PO(n,i):()=>n[i];if(Zx(e)){const n=t[e];Kx(n)&&DO(r,n)}else if(Kx(e))DO(r,e.bind(n));else if(Jx(e))if(Hx(e))e.forEach(e=>VC(e,t,n,i));else{const i=Kx(e.handler)?e.handler.bind(n):t[e.handler];Kx(i)&&DO(r,i,e)}else 0}function zC(e){const t=e.type,{mixins:n,extends:i}=t,{mixins:r,optionsCache:s,config:{optionMergeStrategies:o}}=e.appContext,a=s.get(t);let l;return a?l=a:r.length||n||i?(l={},r.length&&r.forEach(e=>jC(l,e,o,!0)),jC(l,t,o)):l=t,Jx(t)&&s.set(t,l),l}function jC(e,t,n,i=!1){const{mixins:r,extends:s}=t;s&&jC(e,s,n,!0),r&&r.forEach(t=>jC(e,t,n,!0));for(const r in t)if(i&&"expose"===r);else{const i=YC[r]||n&&n[r];e[r]=i?i(e[r],t[r]):t[r]}return e}const YC={data:GC,props:qC,emits:qC,methods:XC,computed:XC,beforeCreate:WC,created:WC,beforeMount:WC,mounted:WC,beforeUpdate:WC,updated:WC,beforeDestroy:WC,beforeUnmount:WC,destroyed:WC,unmounted:WC,activated:WC,deactivated:WC,errorCaptured:WC,serverPrefetch:WC,components:XC,directives:XC,watch:function(e,t){if(!e)return t;if(!t)return e;const n=zx(Object.create(null),e);for(const i in t)n[i]=WC(e[i],t[i]);return n},provide:GC,inject:function(e,t){return XC(HC(e),HC(t))}};function GC(e,t){return t?e?function(){return zx(Kx(e)?e.call(this,this):e,Kx(t)?t.call(this,this):t)}:t:e}function HC(e){if(Hx(e)){const t={};for(let n=0;n(s.has(e)||(e&&Kx(e.install)?(s.add(e),e.install(l,...t)):Kx(e)&&(s.add(e),e(l,...t))),l),mixin:e=>(__VUE_OPTIONS_API__&&(r.mixins.includes(e)||r.mixins.push(e)),l),component:(e,t)=>t?(r.components[e]=t,l):r.components[e],directive:(e,t)=>t?(r.directives[e]=t,l):r.directives[e],mount(s,o,u){if(!a){0;const c=l._ceVNode||EM(n,i);return c.appContext=r,!0===u?u="svg":!1===u&&(u=void 0),o&&t?t(c,s):e(c,s,u),a=!0,l._container=s,s.__vue_app__=l,__VUE_PROD_DEVTOOLS__&&(l._instance=c.component,function(e,t){EA("app:init",e,t,{Fragment:iM,Text:rM,Comment:sM,Static:oM})}(l,hk)),tk(c.component)}},onUnmount(e){o.push(e)},unmount(){a&&(iA(o,l._instance,16),e(null,l._container),__VUE_PROD_DEVTOOLS__&&(l._instance=null,function(e){EA("app:unmount",e)}(l)),delete l._container.__vue_app__)},provide:(e,t)=>(r.provides[e]=t,l),runWithContext(e){const t=JC;JC=l;try{return e()}finally{JC=t}}};return l}}let JC=null;function eO(e,t){if(BM){let n=BM.provides;const i=BM.parent&&BM.parent.provides;i===n&&(n=BM.provides=Object.create(i)),n[e]=t}else 0}function tO(e,t,n=!1){const i=BM||MA;if(i||JC){const r=JC?JC._context.provides:i?null==i.parent?i.vnode.appContext&&i.vnode.appContext.provides:i.parent.provides:void 0;if(r&&e in r)return r[e];if(arguments.length>1)return n&&Kx(t)?t.call(i&&i.proxy):t}else 0}function nO(){return!!(BM||MA||JC)}const iO={},rO=()=>Object.create(iO),sO=e=>Object.getPrototypeOf(e)===iO;function oO(e,t,n,i){const[r,s]=e.propsOptions;let o,a=!1;if(t)for(let l in t){if(oE(l))continue;const u=t[l];let c;r&&Gx(r,c=cE(l))?s&&s.includes(c)?(o||(o={}))[c]=u:n[c]=u:zO(e.emitsOptions,l)||l in i&&u===i[l]||(i[l]=u,a=!0)}if(s){const t=yI(n),i=o||Lx;for(let o=0;o{l=!0;const[n,i]=uO(e,t,!0);zx(o,n),i&&a.push(...i)};!n&&t.mixins.length&&t.mixins.forEach(i),e.extends&&i(e.extends),e.mixins&&e.mixins.forEach(i)}if(!s&&!l)return Jx(e)&&i.set(e,Px),Px;if(Hx(s))for(let e=0;e"_"===e[0]||"$stable"===e,hO=e=>Hx(e)?e.map(MM):[MM(e)],pO=(e,t,n)=>{if(t._n)return t;const i=LA((...e)=>hO(t(...e)),n);return i._c=!1,i},fO=(e,t,n)=>{const i=e._ctx;for(const n in e){if(dO(n))continue;const r=e[n];if(Kx(r))t[n]=pO(0,r,i);else if(null!=r){0;const e=hO(r);t[n]=()=>e}}},mO=(e,t)=>{const n=hO(t);e.slots.default=()=>n},gO=(e,t,n)=>{for(const i in t)(n||"_"!==i)&&(e[i]=t[i])},_O=(e,t,n)=>{const i=e.slots=rO();if(32&e.vnode.shapeFlag){const e=t._;e?(gO(i,t,n),n&&_E(i,"_",e,!0)):fO(t,i)}else t&&mO(e,t)},yO=(e,t,n)=>{const{vnode:i,slots:r}=e;let s=!0,o=Lx;if(32&i.shapeFlag){const e=t._;e?n&&1===e?s=!1:gO(r,t,n):(s=!t.$stable,fO(t,r)),o=t}else t&&(mO(e,t),o={default:1});if(s)for(const e in r)dO(e)||null!=o[e]||delete r[e]};const vO=tM;function bO(e){return xO(e)}function TO(e){return xO(e,bS)}function xO(e,t){"boolean"!=typeof __VUE_OPTIONS_API__&&(TE().__VUE_OPTIONS_API__=!0),"boolean"!=typeof __VUE_PROD_DEVTOOLS__&&(TE().__VUE_PROD_DEVTOOLS__=!1),"boolean"!=typeof __VUE_PROD_HYDRATION_MISMATCH_DETAILS__&&(TE().__VUE_PROD_HYDRATION_MISMATCH_DETAILS__=!1);const n=TE();n.__VUE__=!0,__VUE_PROD_DEVTOOLS__&&wA(n.__VUE_DEVTOOLS_GLOBAL_HOOK__,n);const{insert:i,remove:r,patchProp:s,createElement:o,createText:a,createComment:l,setText:u,setElementText:c,parentNode:d,nextSibling:h,setScopeId:p=Bx,insertStaticContent:f}=e,m=(e,t,n,i=null,r=null,s=null,o=void 0,a=null,l=!!t.dynamicChildren)=>{if(e===t)return;e&&!yM(e,t)&&(i=z(e),P(e,r,s,!0),e=null),-2===t.patchFlag&&(l=!1,t.dynamicChildren=null);const{type:u,ref:c,shapeFlag:d}=t;switch(u){case rM:g(e,t,n,i);break;case sM:_(e,t,n,i);break;case oM:null==e&&y(t,n,i,o);break;case iM:S(e,t,n,i,r,s,o,a,l);break;default:1&d?b(e,t,n,i,r,s,o,a,l):6&d?C(e,t,n,i,r,s,o,a,l):(64&d||128&d)&&u.process(e,t,n,i,r,s,o,a,l,G)}null!=c&&r&&mS(c,e&&e.ref,s,t||e,!t)},g=(e,t,n,r)=>{if(null==e)i(t.el=a(t.children),n,r);else{const n=t.el=e.el;t.children!==e.children&&u(n,t.children)}},_=(e,t,n,r)=>{null==e?i(t.el=l(t.children||""),n,r):t.el=e.el},y=(e,t,n,i)=>{[e.el,e.anchor]=f(e.children,t,n,i,e.el,e.anchor)},v=({el:e,anchor:t})=>{let n;for(;e&&e!==t;)n=h(e),r(e),e=n;r(t)},b=(e,t,n,i,r,s,o,a,l)=>{"svg"===t.type?o="svg":"math"===t.type&&(o="mathml"),null==e?T(t,n,i,r,s,o,a,l):w(e,t,r,s,o,a,l)},T=(e,t,n,r,a,l,u,d)=>{let h,p;const{props:f,shapeFlag:m,transition:g,dirs:_}=e;if(h=e.el=o(e.type,l,f&&f.is,f),8&m?c(h,e.children):16&m&&E(e.children,h,null,r,a,EO(e,l),u,d),_&&BA(e,null,r,"created"),x(h,e,e.scopeId,u,r),f){for(const e in f)"value"===e||oE(e)||s(h,e,null,f[e],l,r);"value"in f&&s(h,"value",null,f.value,l),(p=f.onVnodeBeforeMount)&&DM(p,r,e)}__VUE_PROD_DEVTOOLS__&&(_E(h,"__vnode",e,!0),_E(h,"__vueParentComponent",r,!0)),_&&BA(e,null,r,"beforeMount");const y=IO(a,g);y&&g.beforeEnter(h),i(h,t,n),((p=f&&f.onVnodeMounted)||y||_)&&vO(()=>{p&&DM(p,r,e),y&&g.enter(h),_&&BA(e,null,r,"mounted")},a)},x=(e,t,n,i,r)=>{if(n&&p(e,n),i)for(let t=0;t{for(let u=l;u{const l=t.el=e.el;__VUE_PROD_DEVTOOLS__&&(l.__vnode=t);let{patchFlag:u,dynamicChildren:d,dirs:h}=t;u|=16&e.patchFlag;const p=e.props||Lx,f=t.props||Lx;let m;if(n&&wO(n,!1),(m=f.onVnodeBeforeUpdate)&&DM(m,n,t,e),h&&BA(t,e,n,"beforeUpdate"),n&&wO(n,!0),(p.innerHTML&&null==f.innerHTML||p.textContent&&null==f.textContent)&&c(l,""),d?I(e.dynamicChildren,d,l,n,i,EO(t,r),o):a||N(e,t,l,null,n,i,EO(t,r),o,!1),u>0){if(16&u)A(l,p,f,n,r);else if(2&u&&p.class!==f.class&&s(l,"class",null,f.class,r),4&u&&s(l,"style",p.style,f.style,r),8&u){const e=t.dynamicProps;for(let t=0;t{m&&DM(m,n,t,e),h&&BA(t,e,n,"updated")},i)},I=(e,t,n,i,r,s,o)=>{for(let a=0;a{if(t!==n){if(t!==Lx)for(const o in t)oE(o)||o in n||s(e,o,t[o],null,r,i);for(const o in n){if(oE(o))continue;const a=n[o],l=t[o];a!==l&&"value"!==o&&s(e,o,l,a,r,i)}"value"in n&&s(e,"value",t.value,n.value,r)}},S=(e,t,n,r,s,o,l,u,c)=>{const d=t.el=e?e.el:a(""),h=t.anchor=e?e.anchor:a("");let{patchFlag:p,dynamicChildren:f,slotScopeIds:m}=t;m&&(u=u?u.concat(m):m),null==e?(i(d,n,r),i(h,n,r),E(t.children||[],n,h,s,o,l,u,c)):p>0&&64&p&&f&&e.dynamicChildren?(I(e.dynamicChildren,f,n,s,o,l,u),(null!=t.key||s&&t===s.subTree)&&AO(e,t,!0)):N(e,t,n,h,s,o,l,u,c)},C=(e,t,n,i,r,s,o,a,l)=>{t.slotScopeIds=a,null==e?512&t.shapeFlag?r.ctx.activate(t,n,i,o,l):O(t,n,i,r,s,o,l):M(e,t,l)},O=(e,t,n,i,r,s,o)=>{const a=e.component=PM(e,i,r);if(PS(e)&&(a.ctx.renderer=G),XM(a,!1,o),a.asyncDep){if(r&&r.registerDep(a,k,o),!e.el){const e=a.subTree=EM(sM);_(null,e,t,n)}}else k(a,e,t,n,r,s,o)},M=(e,t,n)=>{const i=t.component=e.component;if(function(e,t,n){const{props:i,children:r,component:s}=e,{props:o,children:a,patchFlag:l}=t,u=s.emitsOptions;0;if(t.dirs||t.transition)return!0;if(!(n&&l>=0))return!(!r&&!a||a&&a.$stable)||i!==o&&(i?!o||WO(i,o,u):!!o);if(1024&l)return!0;if(16&l)return i?WO(i,o,u):!!o;if(8&l){const e=t.dynamicProps;for(let t=0;t{const a=()=>{if(e.isMounted){let{next:t,bu:n,u:i,parent:l,vnode:u}=e;{const n=SO(e);if(n)return t&&(t.el=u.el,R(e,t,o)),void n.asyncDep.then(()=>{e.isUnmounted||a()})}let c,h=t;0,wO(e,!1),t?(t.el=u.el,R(e,t,o)):t=u,n&&gE(n),(c=t.props&&t.props.onVnodeBeforeUpdate)&&DM(c,l,t,u),wO(e,!0);const p=jO(e);0;const f=e.subTree;e.subTree=p,m(f,p,d(f.el),z(f),e,r,s),t.el=p.el,null===h&&XO(e,p.el),i&&vO(i,r),(c=t.props&&t.props.onVnodeUpdated)&&vO(()=>DM(c,l,t,u),r),__VUE_PROD_DEVTOOLS__&&AA(e)}else{let o;const{el:a,props:l}=t,{bm:u,m:c,parent:d,root:h,type:p}=e,f=DS(t);if(wO(e,!1),u&&gE(u),!f&&(o=l&&l.onVnodeBeforeMount)&&DM(o,d,t),wO(e,!0),a&&W){const t=()=>{e.subTree=jO(e),W(a,e.subTree,e,r,null)};f&&p.__asyncHydrate?p.__asyncHydrate(a,e,t):t()}else{h.ce&&h.ce._injectChildStyle(p);const o=e.subTree=jO(e);0,m(null,o,n,i,e,r,s),t.el=o.el}if(c&&vO(c,r),!f&&(o=l&&l.onVnodeMounted)){const e=t;vO(()=>DM(o,d,e),r)}(256&t.shapeFlag||d&&DS(d.vnode)&&256&d.vnode.shapeFlag)&&e.a&&vO(e.a,r),e.isMounted=!0,__VUE_PROD_DEVTOOLS__&&IA(e),t=n=i=null}};e.scope.on();const l=e.effect=new tw(a);e.scope.off();const u=e.update=l.run.bind(l),c=e.job=l.runIfDirty.bind(l);c.i=e,c.id=e.uid,l.scheduler=()=>pA(c),wO(e,!0),u()},R=(e,t,n)=>{t.component=e;const i=e.vnode.props;e.vnode=t,e.next=null,function(e,t,n,i){const{props:r,attrs:s,vnode:{patchFlag:o}}=e,a=yI(r),[l]=e.propsOptions;let u=!1;if(!(i||o>0)||16&o){let i;oO(e,t,r,s)&&(u=!0);for(const s in a)t&&(Gx(t,s)||(i=hE(s))!==s&&Gx(t,i))||(l?!n||void 0===n[s]&&void 0===n[i]||(r[s]=aO(l,a,s,void 0,e,!0)):delete r[s]);if(s!==a)for(const e in s)t&&Gx(t,e)||(delete s[e],u=!0)}else if(8&o){const n=e.vnode.dynamicProps;for(let i=0;i{const u=e&&e.children,d=e?e.shapeFlag:0,h=t.children,{patchFlag:p,shapeFlag:f}=t;if(p>0){if(128&p)return void F(u,h,n,i,r,s,o,a,l);if(256&p)return void D(u,h,n,i,r,s,o,a,l)}8&f?(16&d&&V(u,r,s),h!==u&&c(n,h)):16&d?16&f?F(u,h,n,i,r,s,o,a,l):V(u,r,s,!0):(8&d&&c(n,""),16&f&&E(h,n,i,r,s,o,a,l))},D=(e,t,n,i,r,s,o,a,l)=>{t=t||Px;const u=(e=e||Px).length,c=t.length,d=Math.min(u,c);let h;for(h=0;hc?V(e,r,s,!0,!1,d):E(t,n,i,r,s,o,a,l,d)},F=(e,t,n,i,r,s,o,a,l)=>{let u=0;const c=t.length;let d=e.length-1,h=c-1;for(;u<=d&&u<=h;){const i=e[u],c=t[u]=l?kM(t[u]):MM(t[u]);if(!yM(i,c))break;m(i,c,n,null,r,s,o,a,l),u++}for(;u<=d&&u<=h;){const i=e[d],u=t[h]=l?kM(t[h]):MM(t[h]);if(!yM(i,u))break;m(i,u,n,null,r,s,o,a,l),d--,h--}if(u>d){if(u<=h){const e=h+1,d=eh)for(;u<=d;)P(e[u],r,s,!0),u++;else{const p=u,f=u,g=new Map;for(u=f;u<=h;u++){const e=t[u]=l?kM(t[u]):MM(t[u]);null!=e.key&&g.set(e.key,u)}let _,y=0;const v=h-f+1;let b=!1,T=0;const x=new Array(v);for(u=0;u=v){P(i,r,s,!0);continue}let c;if(null!=i.key)c=g.get(i.key);else for(_=f;_<=h;_++)if(0===x[_-f]&&yM(i,t[_])){c=_;break}void 0===c?P(i,r,s,!0):(x[c-f]=u+1,c>=T?T=c:b=!0,m(i,t[c],n,null,r,s,o,a,l),y++)}const E=b?function(e){const t=e.slice(),n=[0];let i,r,s,o,a;const l=e.length;for(i=0;i>1,e[n[a]]0&&(t[i]=n[s-1]),n[s]=i)}}s=n.length,o=n[s-1];for(;s-- >0;)n[s]=o,o=t[o];return n}(x):Px;for(_=E.length-1,u=v-1;u>=0;u--){const e=f+u,d=t[e],h=e+1{const{el:o,type:a,transition:l,children:u,shapeFlag:c}=e;if(6&c)return void L(e.component.subTree,t,n,r);if(128&c)return void e.suspense.move(t,n,r);if(64&c)return void a.move(e,t,n,G);if(a===iM){i(o,t,n);for(let e=0;e{let s;for(;e&&e!==t;)s=h(e),i(e,n,r),e=s;i(t,n,r)})(e,t,n);if(2!==r&&1&c&&l)if(0===r)l.beforeEnter(o),i(o,t,n),vO(()=>l.enter(o),s);else{const{leave:e,delayLeave:r,afterLeave:s}=l,a=()=>i(o,t,n),u=()=>{e(o,()=>{a(),s&&s()})};r?r(o,a,u):u()}else i(o,t,n)},P=(e,t,n,i=!1,r=!1)=>{const{type:s,props:o,ref:a,children:l,dynamicChildren:u,shapeFlag:c,patchFlag:d,dirs:h,cacheIndex:p}=e;if(-2===d&&(r=!1),null!=a&&mS(a,null,n,e,!0),null!=p&&(t.renderCache[p]=void 0),256&c)return void t.ctx.deactivate(e);const f=1&c&&h,m=!DS(e);let g;if(m&&(g=o&&o.onVnodeBeforeUnmount)&&DM(g,t,e),6&c)U(e.component,n,i);else{if(128&c)return void e.suspense.unmount(n,i);f&&BA(e,null,t,"beforeUnmount"),64&c?e.type.remove(e,t,n,G,i):u&&!u.hasOnce&&(s!==iM||d>0&&64&d)?V(u,t,n,!1,!0):(s===iM&&384&d||!r&&16&c)&&V(l,t,n),i&&B(e)}(m&&(g=o&&o.onVnodeUnmounted)||f)&&vO(()=>{g&&DM(g,t,e),f&&BA(e,null,t,"unmounted")},n)},B=e=>{const{type:t,el:n,anchor:i,transition:s}=e;if(t===iM)return void $(n,i);if(t===oM)return void v(e);const o=()=>{r(n),s&&!s.persisted&&s.afterLeave&&s.afterLeave()};if(1&e.shapeFlag&&s&&!s.persisted){const{leave:t,delayLeave:i}=s,r=()=>t(n,o);i?i(e.el,o,r):r()}else o()},$=(e,t)=>{let n;for(;e!==t;)n=h(e),r(e),e=n;r(t)},U=(e,t,n)=>{const{bum:i,scope:r,job:s,subTree:o,um:a,m:l,a:u}=e;CO(l),CO(u),i&&gE(i),r.stop(),s&&(s.flags|=8,P(o,e,t,n)),a&&vO(a,t),vO(()=>{e.isUnmounted=!0},t),t&&t.pendingBranch&&!t.isUnmounted&&e.asyncDep&&!e.asyncResolved&&e.suspenseId===t.pendingId&&(t.deps--,0===t.deps&&t.resolve()),__VUE_PROD_DEVTOOLS__&&CA(e)},V=(e,t,n,i=!1,r=!1,s=0)=>{for(let o=s;o{if(6&e.shapeFlag)return z(e.component.subTree);if(128&e.shapeFlag)return e.suspense.next();const t=h(e.anchor||e.el),n=t&&t[$A];return n?h(n):t};let j=!1;const Y=(e,t,n)=>{null==e?t._vnode&&P(t._vnode,null,null,!0):m(t._vnode||null,e,t,null,null,null,n),t._vnode=e,j||(j=!0,gA(),_A(),j=!1)},G={p:m,um:P,m:L,r:B,mt:O,mc:E,pc:N,pbc:I,n:z,o:e};let H,W;return t&&([H,W]=t(G)),{render:Y,hydrate:H,createApp:QC(Y,H)}}function EO({type:e,props:t},n){return"svg"===n&&"foreignObject"===e||"mathml"===n&&"annotation-xml"===e&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function wO({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function IO(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function AO(e,t,n=!1){const i=e.children,r=t.children;if(Hx(i)&&Hx(r))for(let e=0;e{{const e=tO(OO);return e}};function kO(e,t){return FO(e,null,t)}function RO(e,t){return FO(e,null,{flush:"post"})}function NO(e,t){return FO(e,null,{flush:"sync"})}function DO(e,t,n){return FO(e,t,n)}function FO(e,t,n=Lx){const{immediate:i,deep:r,flush:s,once:o}=n;const a=zx({},n);const l=t&&i||!t&&"post"!==s;let u;if(WM)if("sync"===s){const e=MO();u=e.__watcherHandles||(e.__watcherHandles=[])}else if(!l){const e=()=>{};return e.stop=Bx,e.resume=Bx,e.pause=Bx,e}const c=BM;a.call=(e,t,n)=>iA(e,c,t,n);let d=!1;"post"===s?a.scheduler=e=>{vO(e,c&&c.suspense)}:"sync"!==s&&(d=!0,a.scheduler=(e,t)=>{t?e():pA(e)}),a.augmentJob=e=>{t&&(e.flags|=4),d&&(e.flags|=2,c&&(e.id=c.uid,e.i=c))};const h=function(e,t,n=Lx){const{immediate:i,deep:r,once:s,scheduler:o,augmentJob:a,call:l}=n,u=e=>r?e:gI(e)||!1===r||0===r?WI(e,1):WI(e);let c,d,h,p,f=!1,m=!1;if(xI(e)?(d=()=>e.value,f=gI(e)):fI(e)?(d=()=>u(e),f=!0):Hx(e)?(m=!0,f=e.some(e=>fI(e)||gI(e)),d=()=>e.map(e=>xI(e)?e.value:fI(e)?u(e):Kx(e)?l?l(e,2):e():void 0)):d=Kx(e)?t?l?()=>l(e,2):e:()=>{if(h){yw();try{h()}finally{vw()}}const t=YI;YI=c;try{return l?l(e,3,[p]):e(p)}finally{YI=t}}:Bx,t&&r){const e=d,t=!0===r?1/0:r;d=()=>WI(e(),t)}const g=QE(),_=()=>{c.stop(),g&&g.active&&jx(g.effects,c)};if(s&&t){const e=t;t=(...t)=>{e(...t),_()}}let y=m?new Array(e.length).fill(zI):zI;const v=e=>{if(1&c.flags&&(c.dirty||e))if(t){const e=c.run();if(r||f||(m?e.some((e,t)=>mE(e,y[t])):mE(e,y))){h&&h();const n=YI;YI=c;try{const n=[e,y===zI?void 0:m&&y[0]===zI?[]:y,p];l?l(t,3,n):t(...n),y=e}finally{YI=n}}}else c.run()};return a&&a(v),c=new tw(d),c.scheduler=o?()=>o(v,!1):v,p=e=>HI(e,!1,c),h=c.onStop=()=>{const e=jI.get(c);if(e){if(l)l(e,4);else for(const t of e)t();jI.delete(c)}},t?i?v(!0):y=c.run():o?o(v.bind(null,!0),!0):c.run(),_.pause=c.pause.bind(c),_.resume=c.resume.bind(c),_.stop=_,_}(e,t,a);return WM&&(u?u.push(h):l&&h()),h}function LO(e,t,n){const i=this.proxy,r=Zx(e)?e.includes(".")?PO(i,e):()=>i[e]:e.bind(i,i);let s;Kx(t)?s=t:(s=t.handler,n=t);const o=zM(this),a=FO(r,s.bind(i),n);return o(),a}function PO(e,t){const n=t.split(".");return()=>{let t=e;for(let e=0;e{let l,u,c=Lx;return NO(()=>{const t=e[r];mE(l,t)&&(l=t,a())}),{get:()=>(o(),n.get?n.get(l):l),set(e){const o=n.set?n.set(e):e;if(!(mE(o,l)||c!==Lx&&mE(e,c)))return;const d=i.vnode.props;d&&(t in d||r in d||s in d)&&(`onUpdate:${t}`in d||`onUpdate:${r}`in d||`onUpdate:${s}`in d)||(l=e,a()),i.emit(`update:${t}`,o),mE(e,o)&&mE(e,c)&&!mE(o,u)&&a(),c=e,u=o}}});return a[Symbol.iterator]=()=>{let e=0;return{next:()=>e<2?{value:e++?o||Lx:a,done:!1}:{done:!0}}},a}const $O=(e,t)=>"modelValue"===t||"model-value"===t?e.modelModifiers:e[`${t}Modifiers`]||e[`${cE(t)}Modifiers`]||e[`${hE(t)}Modifiers`];function UO(e,t,...n){if(e.isUnmounted)return;const i=e.vnode.props||Lx;let r=n;const s=t.startsWith("update:"),o=s&&$O(i,t.slice(7));let a;o&&(o.trim&&(r=n.map(e=>Zx(e)?e.trim():e)),o.number&&(r=n.map(yE))),__VUE_PROD_DEVTOOLS__&&function(e,t,n){EA("component:emit",e.appContext.app,e,t,n)}(e,t,r);let l=i[a=fE(t)]||i[a=fE(cE(t))];!l&&s&&(l=i[a=fE(hE(t))]),l&&iA(l,e,6,r);const u=i[a+"Once"];if(u){if(e.emitted){if(e.emitted[a])return}else e.emitted={};e.emitted[a]=!0,iA(u,e,6,r)}}function VO(e,t,n=!1){const i=t.emitsCache,r=i.get(e);if(void 0!==r)return r;const s=e.emits;let o={},a=!1;if(__VUE_OPTIONS_API__&&!Kx(e)){const i=e=>{const n=VO(e,t,!0);n&&(a=!0,zx(o,n))};!n&&t.mixins.length&&t.mixins.forEach(i),e.extends&&i(e.extends),e.mixins&&e.mixins.forEach(i)}return s||a?(Hx(s)?s.forEach(e=>o[e]=null):zx(o,s),Jx(e)&&i.set(e,o),o):(Jx(e)&&i.set(e,null),null)}function zO(e,t){return!(!e||!Ux(t))&&(t=t.slice(2).replace(/Once$/,""),Gx(e,t[0].toLowerCase()+t.slice(1))||Gx(e,hE(t))||Gx(e,t))}function jO(e){const{type:t,vnode:n,proxy:i,withProxy:r,propsOptions:[s],slots:o,attrs:a,emit:l,render:u,renderCache:c,props:d,data:h,setupState:p,ctx:f,inheritAttrs:m}=e,g=RA(e);let _,y;try{if(4&n.shapeFlag){const e=r||i,t=e;_=MM(u.call(t,e,c,d,p,h,f)),y=a}else{const e=t;0,_=MM(e.length>1?e(d,{attrs:a,slots:o,emit:l}):e(d,null)),y=t.props?a:GO(a)}}catch(t){aM.length=0,rA(t,e,1),_=EM(sM)}let v=_;if(y&&!1!==m){const e=Object.keys(y),{shapeFlag:t}=v;e.length&&7&t&&(s&&e.some(Vx)&&(y=HO(y,s)),v=AM(v,y,!1,!0))}return n.dirs&&(v=AM(v,null,!1,!0),v.dirs=v.dirs?v.dirs.concat(n.dirs):n.dirs),n.transition&&uS(v,n.transition),_=v,RA(g),_}function YO(e,t=!0){let n;for(let t=0;t{let t;for(const n in e)("class"===n||"style"===n||Ux(n))&&((t||(t={}))[n]=e[n]);return t},HO=(e,t)=>{const n={};for(const i in e)Vx(i)&&i.slice(9)in t||(n[i]=e[i]);return n};function WO(e,t,n){const i=Object.keys(t);if(i.length!==Object.keys(e).length)return!0;for(let r=0;re.__isSuspense;let KO=0;const ZO={name:"Suspense",__isSuspense:!0,process(e,t,n,i,r,s,o,a,l,u){if(null==e)!function(e,t,n,i,r,s,o,a,l){const{p:u,o:{createElement:c}}=l,d=c("div"),h=e.suspense=JO(e,r,i,t,d,n,s,o,a,l);u(null,h.pendingBranch=e.ssContent,d,null,i,h,s,o),h.deps>0?(QO(e,"onPending"),QO(e,"onFallback"),u(null,e.ssFallback,t,n,i,null,s,o),nM(h,e.ssFallback)):h.resolve(!1,!0)}(t,n,i,r,s,o,a,l,u);else{if(s&&s.deps>0&&!e.suspense.isInFallback)return t.suspense=e.suspense,t.suspense.vnode=t,void(t.el=e.el);!function(e,t,n,i,r,s,o,a,{p:l,um:u,o:{createElement:c}}){const d=t.suspense=e.suspense;d.vnode=t,t.el=e.el;const h=t.ssContent,p=t.ssFallback,{activeBranch:f,pendingBranch:m,isInFallback:g,isHydrating:_}=d;if(m)d.pendingBranch=h,yM(h,m)?(l(m,h,d.hiddenContainer,null,r,d,s,o,a),d.deps<=0?d.resolve():g&&(_||(l(f,p,n,i,r,null,s,o,a),nM(d,p)))):(d.pendingId=KO++,_?(d.isHydrating=!1,d.activeBranch=m):u(m,r,d),d.deps=0,d.effects.length=0,d.hiddenContainer=c("div"),g?(l(null,h,d.hiddenContainer,null,r,d,s,o,a),d.deps<=0?d.resolve():(l(f,p,n,i,r,null,s,o,a),nM(d,p))):f&&yM(h,f)?(l(f,h,n,i,r,d,s,o,a),d.resolve(!0)):(l(null,h,d.hiddenContainer,null,r,d,s,o,a),d.deps<=0&&d.resolve()));else if(f&&yM(h,f))l(f,h,n,i,r,d,s,o,a),nM(d,h);else if(QO(t,"onPending"),d.pendingBranch=h,512&h.shapeFlag?d.pendingId=h.component.suspenseId:d.pendingId=KO++,l(null,h,d.hiddenContainer,null,r,d,s,o,a),d.deps<=0)d.resolve();else{const{timeout:e,pendingId:t}=d;e>0?setTimeout(()=>{d.pendingId===t&&d.fallback(p)},e):0===e&&d.fallback(p)}}(e,t,n,i,r,o,a,l,u)}},hydrate:function(e,t,n,i,r,s,o,a,l){const u=t.suspense=JO(t,i,n,e.parentNode,document.createElement("div"),null,r,s,o,a,!0),c=l(e,u.pendingBranch=t.ssContent,n,u,s,o);0===u.deps&&u.resolve(!1,!0);return c},normalize:function(e){const{shapeFlag:t,children:n}=e,i=32&t;e.ssContent=eM(i?n.default:n),e.ssFallback=i?eM(n.fallback):EM(sM)}};function QO(e,t){const n=e.props&&e.props[t];Kx(n)&&n()}function JO(e,t,n,i,r,s,o,a,l,u,c=!1){const{p:d,m:h,um:p,n:f,o:{parentNode:m,remove:g}}=u;let _;const y=function(e){const t=e.props&&e.props.suspensible;return null!=t&&!1!==t}(e);y&&t&&t.pendingBranch&&(_=t.pendingId,t.deps++);const v=e.props?vE(e.props.timeout):void 0;const b=s,T={vnode:e,parent:t,parentComponent:n,namespace:o,container:i,hiddenContainer:r,deps:0,pendingId:KO++,timeout:"number"==typeof v?v:-1,activeBranch:null,pendingBranch:null,isInFallback:!c,isHydrating:c,isUnmounted:!1,effects:[],resolve(e=!1,n=!1){const{vnode:i,activeBranch:r,pendingBranch:o,pendingId:a,effects:l,parentComponent:u,container:c}=T;let d=!1;T.isHydrating?T.isHydrating=!1:e||(d=r&&o.transition&&"out-in"===o.transition.mode,d&&(r.transition.afterLeave=()=>{a===T.pendingId&&(h(o,c,s===b?f(r):s,0),mA(l))}),r&&(m(r.el)===c&&(s=f(r)),p(r,u,T,!0)),d||h(o,c,s,0)),nM(T,o),T.pendingBranch=null,T.isInFallback=!1;let g=T.parent,v=!1;for(;g;){if(g.pendingBranch){g.effects.push(...l),v=!0;break}g=g.parent}v||d||mA(l),T.effects=[],y&&t&&t.pendingBranch&&_===t.pendingId&&(t.deps--,0!==t.deps||n||t.resolve()),QO(i,"onResolve")},fallback(e){if(!T.pendingBranch)return;const{vnode:t,activeBranch:n,parentComponent:i,container:r,namespace:s}=T;QO(t,"onFallback");const o=f(n),u=()=>{T.isInFallback&&(d(null,e,r,o,i,null,s,a,l),nM(T,e))},c=e.transition&&"out-in"===e.transition.mode;c&&(n.transition.afterLeave=u),T.isInFallback=!0,p(n,i,null,!0),c||u()},move(e,t,n){T.activeBranch&&h(T.activeBranch,e,t,n),T.container=e},next:()=>T.activeBranch&&f(T.activeBranch),registerDep(e,t,n){const i=!!T.pendingBranch;i&&T.deps++;const r=e.vnode.el;e.asyncDep.catch(t=>{rA(t,e,0)}).then(s=>{if(e.isUnmounted||T.isUnmounted||T.pendingId!==e.suspenseId)return;e.asyncResolved=!0;const{vnode:a}=e;qM(e,s,!1),r&&(a.el=r);const l=!r&&e.subTree.el;t(e,a,m(r||e.subTree.el),r?null:f(e.subTree),T,o,n),l&&g(l),XO(e,a.el),i&&0===--T.deps&&T.resolve()})},unmount(e,t){T.isUnmounted=!0,T.activeBranch&&p(T.activeBranch,n,e,t),T.pendingBranch&&p(T.pendingBranch,n,e,t)}};return T}function eM(e){let t;if(Kx(e)){const n=hM&&e._c;n&&(e._d=!1,uM()),e=e(),n&&(e._d=!0,t=lM,cM())}if(Hx(e)){const t=YO(e);0,e=t}return e=MM(e),t&&!e.dynamicChildren&&(e.dynamicChildren=t.filter(t=>t!==e)),e}function tM(e,t){t&&t.pendingBranch?Hx(e)?t.effects.push(...e):t.effects.push(e):mA(e)}function nM(e,t){e.activeBranch=t;const{vnode:n,parentComponent:i}=e;let r=t.el;for(;!r&&t.component;)r=(t=t.component.subTree).el;n.el=r,i&&i.subTree===n&&(i.vnode.el=r,XO(i,r))}const iM=Symbol.for("v-fgt"),rM=Symbol.for("v-txt"),sM=Symbol.for("v-cmt"),oM=Symbol.for("v-stc"),aM=[];let lM=null;function uM(e=!1){aM.push(lM=e?null:[])}function cM(){aM.pop(),lM=aM[aM.length-1]||null}let dM,hM=1;function pM(e,t=!1){hM+=e,e<0&&lM&&t&&(lM.hasOnce=!0)}function fM(e){return e.dynamicChildren=hM>0?lM||Px:null,cM(),hM>0&&lM&&lM.push(e),e}function mM(e,t,n,i,r,s){return fM(xM(e,t,n,i,r,s,!0))}function gM(e,t,n,i,r){return fM(EM(e,t,n,i,r,!0))}function _M(e){return!!e&&!0===e.__v_isVNode}function yM(e,t){return e.type===t.type&&e.key===t.key}function vM(e){dM=e}const bM=({key:e})=>null!=e?e:null,TM=({ref:e,ref_key:t,ref_for:n})=>("number"==typeof e&&(e=""+e),null!=e?Zx(e)||xI(e)||Kx(e)?{i:MA,r:e,k:t,f:!!n}:e:null);function xM(e,t=null,n=null,i=0,r=null,s=(e===iM?0:1),o=!1,a=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&bM(t),ref:t&&TM(t),scopeId:kA,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:s,patchFlag:i,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:MA};return a?(RM(l,n),128&s&&e.normalize(l)):n&&(l.shapeFlag|=Zx(n)?8:16),hM>0&&!o&&lM&&(l.patchFlag>0||6&s)&&32!==l.patchFlag&&lM.push(l),l}const EM=wM;function wM(e,t=null,n=null,i=0,r=null,s=!1){if(e&&e!==lC||(e=sM),_M(e)){const i=AM(e,t,!0);return n&&RM(i,n),hM>0&&!s&&lM&&(6&i.shapeFlag?lM[lM.indexOf(e)]=i:lM.push(i)),i.patchFlag=-2,i}if(ok(e)&&(e=e.__vccOpts),t){t=IM(t);let{class:e,style:n}=t;e&&!Zx(e)&&(t.class=CE(e)),Jx(n)&&(_I(n)&&!Hx(n)&&(n=zx({},n)),t.style=EE(n))}return xM(e,t,n,i,r,Zx(e)?1:qO(e)?128:UA(e)?64:Jx(e)?4:Kx(e)?2:0,s,!0)}function IM(e){return e?_I(e)||sO(e)?zx({},e):e:null}function AM(e,t,n=!1,i=!1){const{props:r,ref:s,patchFlag:o,children:a,transition:l}=e,u=t?NM(r||{},t):r,c={__v_isVNode:!0,__v_skip:!0,type:e.type,props:u,key:u&&bM(u),ref:t&&t.ref?n&&s?Hx(s)?s.concat(TM(t)):[s,TM(t)]:TM(t):s,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:a,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==iM?-1===o?16:16|o:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&AM(e.ssContent),ssFallback:e.ssFallback&&AM(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&i&&uS(c,l.clone(c)),c}function SM(e=" ",t=0){return EM(rM,null,e,t)}function CM(e,t){const n=EM(oM,null,e);return n.staticCount=t,n}function OM(e="",t=!1){return t?(uM(),gM(sM,null,e)):EM(sM,null,e)}function MM(e){return null==e||"boolean"==typeof e?EM(sM):Hx(e)?EM(iM,null,e.slice()):_M(e)?kM(e):EM(rM,null,String(e))}function kM(e){return null===e.el&&-1!==e.patchFlag||e.memo?e:AM(e)}function RM(e,t){let n=0;const{shapeFlag:i}=e;if(null==t)t=null;else if(Hx(t))n=16;else if("object"==typeof t){if(65&i){const n=t.default;return void(n&&(n._c&&(n._d=!1),RM(e,n()),n._c&&(n._d=!0)))}{n=32;const i=t._;i||sO(t)?3===i&&MA&&(1===MA.slots._?t._=1:(t._=2,e.patchFlag|=1024)):t._ctx=MA}}else Kx(t)?(t={default:t,_ctx:MA},n=32):(t=String(t),64&i?(n=16,t=[SM(t)]):n=8);e.children=t,e.shapeFlag|=n}function NM(...e){const t={};for(let n=0;nBM||MA;let UM,VM;{const e=TE(),t=(t,n)=>{let i;return(i=e[t])||(i=e[t]=[]),i.push(n),e=>{i.length>1?i.forEach(t=>t(e)):i[0](e)}};UM=t("__VUE_INSTANCE_SETTERS__",e=>BM=e),VM=t("__VUE_SSR_SETTERS__",e=>WM=e)}const zM=e=>{const t=BM;return UM(e),e.scope.on(),()=>{e.scope.off(),UM(t)}},jM=()=>{BM&&BM.scope.off(),UM(null)};function YM(e){return 4&e.vnode.shapeFlag}let GM,HM,WM=!1;function XM(e,t=!1,n=!1){t&&VM(t);const{props:i,children:r}=e.vnode,s=YM(e);!function(e,t,n,i=!1){const r={},s=rO();e.propsDefaults=Object.create(null),oO(e,t,r,s);for(const t in e.propsOptions[0])t in r||(r[t]=void 0);n?e.props=i?r:cI(r):e.type.props?e.props=r:e.props=s,e.attrs=s}(e,i,s,t),_O(e,r,n);const o=s?function(e,t){const n=e.type;0;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,TC),!1;const{setup:i}=n;if(i){yw();const n=e.setupContext=i.length>1?ek(e):null,r=zM(e),s=nA(i,e,0,[e.props,n]),o=eE(s);if(vw(),r(),!o&&!e.sp||DS(e)||pS(e),o){if(s.then(jM,jM),t)return s.then(n=>{qM(e,n,t)}).catch(t=>{rA(t,e,0)});e.asyncDep=s}else qM(e,s,t)}else QM(e,t)}(e,t):void 0;return t&&VM(!1),o}function qM(e,t,n){Kx(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Jx(t)&&(__VUE_PROD_DEVTOOLS__&&(e.devtoolsRawSetupState=t),e.setupState=kI(t)),QM(e,n)}function KM(e){GM=e,HM=e=>{e.render._rc&&(e.withProxy=new Proxy(e.ctx,xC))}}const ZM=()=>!GM;function QM(e,t,n){const i=e.type;if(!e.render){if(!t&&GM&&!i.render){const t=i.template||__VUE_OPTIONS_API__&&zC(e).template;if(t){0;const{isCustomElement:n,compilerOptions:r}=e.appContext.config,{delimiters:s,compilerOptions:o}=i,a=zx(zx({isCustomElement:n,delimiters:s},r),o);i.render=GM(t,a)}}e.render=i.render||Bx,HM&&HM(e)}if(__VUE_OPTIONS_API__){const t=zM(e);yw();try{$C(e)}finally{vw(),t()}}}const JM={get:(e,t)=>(Ow(e,0,""),e[t])};function ek(e){const t=t=>{e.exposed=t||{}};return{attrs:new Proxy(e.attrs,JM),slots:e.slots,emit:e.emit,expose:t}}function tk(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(kI(vI(e.exposed)),{get:(t,n)=>n in t?t[n]:n in vC?vC[n](e):void 0,has:(e,t)=>t in e||t in vC})):e.proxy}const nk=/(?:^|[-_])(\w)/g,ik=e=>e.replace(nk,e=>e.toUpperCase()).replace(/[-_]/g,"");function rk(e,t=!0){return Kx(e)?e.displayName||e.name:e.name||t&&e.__name}function sk(e,t,n=!1){let i=rk(t);if(!i&&t.__file){const e=t.__file.match(/([^/\\]+)\.\w+$/);e&&(i=e[1])}if(!i&&e&&e.parent){const n=e=>{for(const n in e)if(e[n]===t)return n};i=n(e.components||e.parent.type.components)||n(e.appContext.components)}return i?ik(i):n?"App":"Anonymous"}function ok(e){return Kx(e)&&"__vccOpts"in e}const ak=(e,t)=>{const n=function(e,t,n=!1){let i,r;return Kx(e)?i=e:(i=e.get,r=e.set),new $I(i,r,n)}(e,0,WM);return n};function lk(e,t,n){const i=arguments.length;return 2===i?Jx(t)&&!Hx(t)?_M(t)?EM(e,null,[t]):EM(e,t):EM(e,null,t):(i>3?n=Array.prototype.slice.call(arguments,2):3===i&&_M(n)&&(n=[n]),EM(e,t,n))}function uk(){return void 0}function ck(e,t,n,i){const r=n[i];if(r&&dk(r,e))return r;const s=t();return s.memo=e.slice(),s.cacheIndex=i,n[i]=s}function dk(e,t){const n=e.memo;if(n.length!=t.length)return!1;for(let e=0;e0&&lM&&lM.push(e),!0}const hk="3.5.13",pk=Bx,fk=tA,mk=bA,gk=wA,_k={createComponentInstance:PM,setupComponent:XM,renderComponentRoot:jO,setCurrentRenderingInstance:RA,isVNode:_M,normalizeVNode:MM,getComponentPublicInstance:tk,ensureValidVNode:gC,pushWarningContext:function(e){XI.push(e)},popWarningContext:function(){XI.pop()}},yk=null,vk=null,bk=null; /** * @vue/runtime-dom v3.5.13 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT **/ -let mk;const gk="undefined"!=typeof window&&window.trustedTypes;if(gk)try{mk=gk.createPolicy("vue",{createHTML:e=>e})}catch(e){}const _k=mk?e=>mk.createHTML(e):e=>e,yk="undefined"!=typeof document?document:null,vk=yk&&yk.createElement("template"),bk={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,i)=>{const r="svg"===t?yk.createElementNS("http://www.w3.org/2000/svg",e):"mathml"===t?yk.createElementNS("http://www.w3.org/1998/Math/MathML",e):n?yk.createElement(e,{is:n}):yk.createElement(e);return"select"===e&&i&&null!=i.multiple&&r.setAttribute("multiple",i.multiple),r},createText:e=>yk.createTextNode(e),createComment:e=>yk.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>yk.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,i,r,s){const o=n?n.previousSibling:t.lastChild;if(r&&(r===s||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),r!==s&&(r=r.nextSibling););else{vk.innerHTML=_k("svg"===i?`${e}`:"mathml"===i?`${e}`:e);const r=vk.content;if("svg"===i||"mathml"===i){const e=r.firstChild;for(;e.firstChild;)r.appendChild(e.firstChild);r.removeChild(e)}t.insertBefore(r,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Tk="transition",xk="animation",Ek=Symbol("_vtc"),wk={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},Ik=Lx({},qA,wk),Ak=(e=>(e.displayName="Transition",e.props=Ik,e))((e,{slots:t})=>nk(QA,Ok(e),t)),Sk=(e,t=[])=>{Ux(e)?e.forEach(e=>e(...t)):e&&e(...t)},Ck=e=>!!e&&(Ux(e)?e.some(e=>e.length>1):e.length>1);function Ok(e){const t={};for(const n in e)n in wk||(t[n]=e[n]);if(!1===e.css)return t;const{name:n="v",type:i,duration:r,enterFromClass:s=`${n}-enter-from`,enterActiveClass:o=`${n}-enter-active`,enterToClass:a=`${n}-enter-to`,appearFromClass:l=s,appearActiveClass:u=o,appearToClass:c=a,leaveFromClass:d=`${n}-leave-from`,leaveActiveClass:h=`${n}-leave-active`,leaveToClass:p=`${n}-leave-to`}=e,f=function(e){if(null==e)return null;if(Wx(e))return[Mk(e.enter),Mk(e.leave)];{const t=Mk(e);return[t,t]}}(r),m=f&&f[0],g=f&&f[1],{onBeforeEnter:_,onEnter:y,onEnterCancelled:v,onLeave:b,onLeaveCancelled:T,onBeforeAppear:x=_,onAppear:E=y,onAppearCancelled:w=v}=t,I=(e,t,n,i)=>{e._enterCancelled=i,Rk(e,t?c:a),Rk(e,t?u:o),n&&n()},A=(e,t)=>{e._isLeaving=!1,Rk(e,d),Rk(e,p),Rk(e,h),t&&t()},S=e=>(t,n)=>{const r=e?E:y,o=()=>I(t,e,n);Sk(r,[t,o]),Nk(()=>{Rk(t,e?l:s),kk(t,e?c:a),Ck(r)||Fk(t,i,m,o)})};return Lx(t,{onBeforeEnter(e){Sk(_,[e]),kk(e,s),kk(e,o)},onBeforeAppear(e){Sk(x,[e]),kk(e,l),kk(e,u)},onEnter:S(!1),onAppear:S(!0),onLeave(e,t){e._isLeaving=!0;const n=()=>A(e,t);kk(e,d),e._enterCancelled?(kk(e,h),$k()):($k(),kk(e,h)),Nk(()=>{e._isLeaving&&(Rk(e,d),kk(e,p),Ck(b)||Fk(e,i,g,n))}),Sk(b,[e,n])},onEnterCancelled(e){I(e,!1,void 0,!0),Sk(v,[e])},onAppearCancelled(e){I(e,!0,void 0,!0),Sk(w,[e])},onLeaveCancelled(e){A(e),Sk(T,[e])}})}function Mk(e){return pE(e)}function kk(e,t){t.split(/\s+/).forEach(t=>t&&e.classList.add(t)),(e[Ek]||(e[Ek]=new Set)).add(t)}function Rk(e,t){t.split(/\s+/).forEach(t=>t&&e.classList.remove(t));const n=e[Ek];n&&(n.delete(t),n.size||(e[Ek]=void 0))}function Nk(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let Dk=0;function Fk(e,t,n,i){const r=e._endId=++Dk,s=()=>{r===e._endId&&i()};if(null!=n)return setTimeout(s,n);const{type:o,timeout:a,propCount:l}=Lk(e,t);if(!o)return i();const u=o+"end";let c=0;const d=()=>{e.removeEventListener(u,h),s()},h=t=>{t.target===e&&++c>=l&&d()};setTimeout(()=>{c(n[e]||"").split(", "),r=i(`${Tk}Delay`),s=i(`${Tk}Duration`),o=Pk(r,s),a=i(`${xk}Delay`),l=i(`${xk}Duration`),u=Pk(a,l);let c=null,d=0,h=0;t===Tk?o>0&&(c=Tk,d=o,h=s.length):t===xk?u>0&&(c=xk,d=u,h=l.length):(d=Math.max(o,u),c=d>0?o>u?Tk:xk:null,h=c?c===Tk?s.length:l.length:0);return{type:c,timeout:d,propCount:h,hasTransform:c===Tk&&/\b(transform|all)(,|$)/.test(i(`${Tk}Property`).toString())}}function Pk(e,t){for(;e.lengthBk(t)+Bk(e[n])))}function Bk(e){return"auto"===e?0:1e3*Number(e.slice(0,-1).replace(",","."))}function $k(){return document.body.offsetHeight}const Uk=Symbol("_vod"),Vk=Symbol("_vsh"),zk={beforeMount(e,{value:t},{transition:n}){e[Uk]="none"===e.style.display?"":e.style.display,n&&t?n.beforeEnter(e):jk(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:i}){!t!=!n&&(i?t?(i.beforeEnter(e),jk(e,!0),i.enter(e)):i.leave(e,()=>{jk(e,!1)}):jk(e,t))},beforeUnmount(e,{value:t}){jk(e,t)}};function jk(e,t){e.style.display=t?e[Uk]:"none",e[Vk]=!t}const Yk=Symbol("");function Gk(e){const t=NM();if(!t)return;const n=t.ut=(n=e(t.proxy))=>{Array.from(document.querySelectorAll(`[data-v-owner="${t.uid}"]`)).forEach(e=>Wk(e,n))};const i=()=>{const i=e(t.proxy);t.ce?Wk(t.ce,i):Hk(t.subTree,i),n(i)};GS(()=>{uA(i)}),YS(()=>{CO(i,Rx,{flush:"post"});const e=new MutationObserver(i);e.observe(t.subTree.el.parentNode,{childList:!0}),XS(()=>e.disconnect())})}function Hk(e,t){if(128&e.shapeFlag){const n=e.suspense;e=n.activeBranch,n.pendingBranch&&!n.isHydrating&&n.effects.push(()=>{Hk(n.activeBranch,t)})}for(;e.component;)e=e.component.subTree;if(1&e.shapeFlag&&e.el)Wk(e.el,t);else if(e.type===ZO)e.children.forEach(e=>Hk(e,t));else if(e.type===eM){let{el:n,anchor:i}=e;for(;n&&(Wk(n,t),n!==i);)n=n.nextSibling}}function Wk(e,t){if(1===e.nodeType){const n=e.style;let i="";for(const e in t)n.setProperty(`--${e}`,t[e]),i+=`--${e}: ${t[e]};`;n[Yk]=i}}const Xk=/(^|;)\s*display\s*:/;const qk=/\s*!important$/;function Kk(e,t,n){if(Ux(n))n.forEach(n=>Kk(e,t,n));else if(null==n&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const i=function(e,t){const n=Qk[t];if(n)return n;let i=rE(t);if("filter"!==i&&i in e)return Qk[t]=i;i=aE(i);for(let n=0;n{if(e._vts){if(e._vts<=n.attached)return}else e._vts=Date.now();ZI(function(e,t){if(Ux(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(e=>t=>!t._stopped&&e&&e(t))}return t}(e,n.value),t,5,[e])};return n.value=e,n.attached=lR(),n}(i,r);nR(e,n,o,a)}else o&&(!function(e,t,n,i){e.removeEventListener(t,n,i)}(e,n,o,a),s[t]=void 0)}}const sR=/(?:Once|Passive|Capture)$/;let oR=0;const aR=Promise.resolve(),lR=()=>oR||(aR.then(()=>oR=0),oR=Date.now());const uR=e=>111===e.charCodeAt(0)&&110===e.charCodeAt(1)&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123;const cR={}; -/*! #__NO_SIDE_EFFECTS__ */function dR(e,t,n){const i=sS(e,t);Qx(i)&&Lx(i,t);class r extends fR{constructor(e){super(i,e,n)}}return r.def=i,r} -/*! #__NO_SIDE_EFFECTS__ */const hR=(e,t)=>dR(e,t,tN),pR="undefined"!=typeof HTMLElement?HTMLElement:class{};class fR extends pR{constructor(e,t={},n=eN){super(),this._def=e,this._props=t,this._createApp=n,this._isVueCE=!0,this._instance=null,this._app=null,this._nonce=this._def.nonce,this._connected=!1,this._resolved=!1,this._numberProps=null,this._styleChildren=new WeakSet,this._ob=null,this.shadowRoot&&n!==eN?this._root=this.shadowRoot:!1!==e.shadowRoot?(this.attachShadow({mode:"open"}),this._root=this.shadowRoot):this._root=this,this._def.__asyncLoader||this._resolveProps(this._def)}connectedCallback(){if(!this.isConnected)return;this.shadowRoot||this._parseSlots(),this._connected=!0;let e=this;for(;e=e&&(e.parentNode||e.host);)if(e instanceof fR){this._parent=e;break}this._instance||(this._resolved?(this._setParent(),this._update()):e&&e._pendingResolve?this._pendingResolve=e._pendingResolve.then(()=>{this._pendingResolve=void 0,this._resolveDef()}):this._resolveDef())}_setParent(e=this._parent){e&&(this._instance.parent=e._instance,this._instance.provides=e._instance.provides)}disconnectedCallback(){this._connected=!1,oA(()=>{this._connected||(this._ob&&(this._ob.disconnect(),this._ob=null),this._app&&this._app.unmount(),this._instance&&(this._instance.ce=void 0),this._app=this._instance=null)})}_resolveDef(){if(this._pendingResolve)return;for(let e=0;e{for(const t of e)this._setAttr(t.attributeName)}),this._ob.observe(this,{attributes:!0});const e=(e,t=!1)=>{this._resolved=!0,this._pendingResolve=void 0;const{props:n,styles:i}=e;let r;if(n&&!Ux(n))for(const e in n){const t=n[e];(t===Number||t&&t.type===Number)&&(e in this._props&&(this._props[e]=pE(this._props[e])),(r||(r=Object.create(null)))[rE(e)]=!0)}this._numberProps=r,t&&this._resolveProps(e),this.shadowRoot&&this._applyStyles(i),this._mount(e)},t=this._def.__asyncLoader;t?this._pendingResolve=t().then(t=>e(this._def=t,!0)):e(this._def)}_mount(e){__VUE_PROD_DEVTOOLS__&&!e.name&&(e.name="VueElement"),this._app=this._createApp(e),e.configureApp&&e.configureApp(this._app),this._app._ceVNode=this._createVNode(),this._app.mount(this._root);const t=this._instance&&this._instance.exposed;if(t)for(const e in t)$x(this,e)||Object.defineProperty(this,e,{get:()=>xI(t[e])})}_resolveProps(e){const{props:t}=e,n=Ux(t)?t:Object.keys(t||{});for(const e of Object.keys(this))"_"!==e[0]&&n.includes(e)&&this._setProp(e,this[e]);for(const e of n.map(rE))Object.defineProperty(this,e,{get(){return this._getProp(e)},set(t){this._setProp(e,t,!0,!0)}})}_setAttr(e){if(e.startsWith("data-v-"))return;const t=this.hasAttribute(e);let n=t?this.getAttribute(e):cR;const i=rE(e);t&&this._numberProps&&this._numberProps[i]&&(n=pE(n)),this._setProp(i,n,!1,!0)}_getProp(e){return this._props[e]}_setProp(e,t,n=!0,i=!1){if(t!==this._props[e]&&(t===cR?delete this._props[e]:(this._props[e]=t,"key"===e&&this._app&&(this._app._ceVNode.key=t)),i&&this._instance&&this._update(),n)){const n=this._ob;n&&n.disconnect(),!0===t?this.setAttribute(oE(e),""):"string"==typeof t||"number"==typeof t?this.setAttribute(oE(e),t+""):t||this.removeAttribute(oE(e)),n&&n.observe(this,{attributes:!0})}}_update(){QR(this._createVNode(),this._root)}_createVNode(){const e={};this.shadowRoot||(e.onVnodeMounted=e.onVnodeUpdated=this._renderSlots.bind(this));const t=_M(this._def,Lx(e,this._props));return this._instance||(t.ce=e=>{this._instance=e,e.ce=this,e.isCE=!0;const t=(e,t)=>{this.dispatchEvent(new CustomEvent(e,Qx(t[0])?Lx({detail:t},t[0]):{detail:t}))};e.emit=(e,...n)=>{t(e,n),oE(e)!==e&&t(oE(e),n)},this._setParent()}),t}_applyStyles(e,t){if(!e)return;if(t){if(t===this._def||this._styleChildren.has(t))return;this._styleChildren.add(t)}const n=this._nonce;for(let t=e.length-1;t>=0;t--){const i=document.createElement("style");n&&i.setAttribute("nonce",n),i.textContent=e[t],this.shadowRoot.prepend(i)}}_parseSlots(){const e=this._slots={};let t;for(;t=this.firstChild;){const n=1===t.nodeType&&t.getAttribute("slot")||"default";(e[n]||(e[n]=[])).push(t),this.removeChild(t)}}_renderSlots(){const e=(this._teleportTarget||this).querySelectorAll("slot"),t=this._instance.type.__scopeId;for(let n=0;n(delete e.props.mode,e))({name:"TransitionGroup",props:Lx({},Ik,{tag:String,moveClass:String}),setup(e,{slots:t}){const n=NM(),i=WA();let r,s;return HS(()=>{if(!r.length)return;const t=e.moveClass||`${e.name||"v"}-move`;if(!function(e,t,n){const i=e.cloneNode(),r=e[Ek];r&&r.forEach(e=>{e.split(/\s+/).forEach(e=>e&&i.classList.remove(e))});n.split(/\s+/).forEach(e=>e&&i.classList.add(e)),i.style.display="none";const s=1===t.nodeType?t:t.parentNode;s.appendChild(i);const{hasTransform:o}=Lk(i);return s.removeChild(i),o}(r[0].el,n.vnode.el,t))return;r.forEach(wR),r.forEach(IR);const i=r.filter(AR);$k(),i.forEach(e=>{const n=e.el,i=n.style;kk(n,t),i.transform=i.webkitTransform=i.transitionDuration="";const r=n[bR]=e=>{e&&e.target!==n||e&&!/transform$/.test(e.propertyName)||(n.removeEventListener("transitionend",r),n[bR]=null,Rk(n,t))};n.addEventListener("transitionend",r)})}),()=>{const o=hI(e),a=Ok(o);let l=o.tag||ZO;if(r=[],s)for(let e=0;e{const t=e.props["onUpdate:modelValue"]||!1;return Ux(t)?e=>cE(t,e):t};function CR(e){e.target.composing=!0}function OR(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const MR=Symbol("_assign"),kR={created(e,{modifiers:{lazy:t,trim:n,number:i}},r){e[MR]=SR(r);const s=i||r.props&&"number"===r.props.type;nR(e,t?"change":"input",t=>{if(t.target.composing)return;let i=e.value;n&&(i=i.trim()),s&&(i=hE(i)),e[MR](i)}),n&&nR(e,"change",()=>{e.value=e.value.trim()}),t||(nR(e,"compositionstart",CR),nR(e,"compositionend",OR),nR(e,"change",OR))},mounted(e,{value:t}){e.value=null==t?"":t},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:i,trim:r,number:s}},o){if(e[MR]=SR(o),e.composing)return;const a=null==t?"":t;if((!s&&"number"!==e.type||/^0\d/.test(e.value)?e.value:hE(e.value))!==a){if(document.activeElement===e&&"range"!==e.type){if(i&&t===n)return;if(r&&e.value.trim()===a)return}e.value=a}}},RR={deep:!0,created(e,t,n){e[MR]=SR(n),nR(e,"change",()=>{const t=e._modelValue,n=PR(e),i=e.checked,r=e[MR];if(Ux(t)){const e=PE(t,n),s=-1!==e;if(i&&!s)r(t.concat(n));else if(!i&&s){const n=[...t];n.splice(e,1),r(n)}}else if(zx(t)){const e=new Set(t);i?e.add(n):e.delete(n),r(e)}else r(BR(e,i))})},mounted:NR,beforeUpdate(e,t,n){e[MR]=SR(n),NR(e,t,n)}};function NR(e,{value:t,oldValue:n},i){let r;if(e._modelValue=t,Ux(t))r=PE(t,i.props.value)>-1;else if(zx(t))r=t.has(i.props.value);else{if(t===n)return;r=LE(t,BR(e,!0))}e.checked!==r&&(e.checked=r)}const DR={created(e,{value:t},n){e.checked=LE(t,n.props.value),e[MR]=SR(n),nR(e,"change",()=>{e[MR](PR(e))})},beforeUpdate(e,{value:t,oldValue:n},i){e[MR]=SR(i),t!==n&&(e.checked=LE(t,i.props.value))}},FR={deep:!0,created(e,{value:t,modifiers:{number:n}},i){const r=zx(t);nR(e,"change",()=>{const t=Array.prototype.filter.call(e.options,e=>e.selected).map(e=>n?hE(PR(e)):PR(e));e[MR](e.multiple?r?new Set(t):t:t[0]),e._assigning=!0,oA(()=>{e._assigning=!1})}),e[MR]=SR(i)},mounted(e,{value:t}){LR(e,t)},beforeUpdate(e,t,n){e[MR]=SR(n)},updated(e,{value:t}){e._assigning||LR(e,t)}};function LR(e,t){const n=e.multiple,i=Ux(t);if(!n||i||zx(t)){for(let r=0,s=e.options.length;rString(e)===String(o)):PE(t,o)>-1}else s.selected=t.has(o);else if(LE(PR(s),t))return void(e.selectedIndex!==r&&(e.selectedIndex=r))}n||-1===e.selectedIndex||(e.selectedIndex=-1)}}function PR(e){return"_value"in e?e._value:e.value}function BR(e,t){const n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}const $R={created(e,t,n){VR(e,t,n,null,"created")},mounted(e,t,n){VR(e,t,n,null,"mounted")},beforeUpdate(e,t,n,i){VR(e,t,n,i,"beforeUpdate")},updated(e,t,n,i){VR(e,t,n,i,"updated")}};function UR(e,t){switch(e){case"SELECT":return FR;case"TEXTAREA":return kR;default:switch(t){case"checkbox":return RR;case"radio":return DR;default:return kR}}}function VR(e,t,n,i,r){const s=UR(e.tagName,n.props&&n.props.type)[r];s&&s(e,t,n,i)}const zR=["ctrl","shift","alt","meta"],jR={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&0!==e.button,middle:e=>"button"in e&&1!==e.button,right:e=>"button"in e&&2!==e.button,exact:(e,t)=>zR.some(n=>e[`${n}Key`]&&!t.includes(n))},YR=(e,t)=>{const n=e._withMods||(e._withMods={}),i=t.join(".");return n[i]||(n[i]=(n,...i)=>{for(let e=0;e{const n=e._withKeys||(e._withKeys={}),i=t.join(".");return n[i]||(n[i]=n=>{if(!("key"in n))return;const i=oE(n.key);return t.some(e=>e===i||GR[e]===i)?e(n):void 0})},WR=Lx({patchProp:(e,t,n,i,r,s)=>{const o="svg"===r;"class"===t?function(e,t,n){const i=e[Ek];i&&(t=(t?[t,...i]:[...i]).join(" ")),null==t?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}(e,i,o):"style"===t?function(e,t,n){const i=e.style,r=Gx(n);let s=!1;if(n&&!r){if(t)if(Gx(t))for(const e of t.split(";")){const t=e.slice(0,e.indexOf(":")).trim();null==n[t]&&Kk(i,t,"")}else for(const e in t)null==n[e]&&Kk(i,e,"");for(const e in n)"display"===e&&(s=!0),Kk(i,e,n[e])}else if(r){if(t!==n){const e=i[Yk];e&&(n+=";"+e),i.cssText=n,s=Xk.test(n)}}else t&&e.removeAttribute("style");Uk in e&&(e[Uk]=s?i.display:"",e[Vk]&&(i.display="none"))}(e,n,i):Dx(t)?Fx(t)||rR(e,t,0,i,s):("."===t[0]?(t=t.slice(1),1):"^"===t[0]?(t=t.slice(1),0):function(e,t,n,i){if(i)return"innerHTML"===t||"textContent"===t||!!(t in e&&uR(t)&&Yx(n));if("spellcheck"===t||"draggable"===t||"translate"===t)return!1;if("form"===t)return!1;if("list"===t&&"INPUT"===e.tagName)return!1;if("type"===t&&"TEXTAREA"===e.tagName)return!1;if("width"===t||"height"===t){const t=e.tagName;if("IMG"===t||"VIDEO"===t||"CANVAS"===t||"SOURCE"===t)return!1}if(uR(t)&&Gx(n))return!1;return t in e}(e,t,i,o))?(tR(e,t,i),e.tagName.includes("-")||"value"!==t&&"checked"!==t&&"selected"!==t||eR(e,t,i,o,0,"value"!==t)):!e._isVueCE||!/[A-Z]/.test(t)&&Gx(i)?("true-value"===t?e._trueValue=i:"false-value"===t&&(e._falseValue=i),eR(e,t,i,o)):tR(e,rE(t),i,0,t)}},bk);let XR,qR=!1;function KR(){return XR||(XR=fO(WR))}function ZR(){return XR=qR?XR:mO(WR),qR=!0,XR}const QR=(...e)=>{KR().render(...e)},JR=(...e)=>{ZR().hydrate(...e)},eN=(...e)=>{const t=KR().createApp(...e);const{mount:n}=t;return t.mount=e=>{const i=iN(e);if(!i)return;const r=t._component;Yx(r)||r.render||r.template||(r.template=i.innerHTML),1===i.nodeType&&(i.textContent="");const s=n(i,!1,nN(i));return i instanceof Element&&(i.removeAttribute("v-cloak"),i.setAttribute("data-v-app","")),s},t},tN=(...e)=>{const t=ZR().createApp(...e);const{mount:n}=t;return t.mount=e=>{const t=iN(e);if(t)return n(t,!0,nN(t))},t};function nN(e){return e instanceof SVGElement?"svg":"function"==typeof MathMLElement&&e instanceof MathMLElement?"mathml":void 0}function iN(e){if(Gx(e)){return document.querySelector(e)}return e}let rN=!1;const sN=()=>{rN||(rN=!0,kR.getSSRProps=({value:e})=>({value:e}),DR.getSSRProps=({value:e},t)=>{if(t.props&&LE(t.props.value,e))return{checked:!0}},RR.getSSRProps=({value:e},t)=>{if(Ux(e)){if(t.props&&PE(e,t.props.value)>-1)return{checked:!0}}else if(zx(e)){if(t.props&&e.has(t.props.value))return{checked:!0}}else if(e)return{checked:!0}},$R.getSSRProps=(e,t)=>{if("string"!=typeof t.type)return;const n=UR(t.type.toUpperCase(),t.props&&t.props.type);return n.getSSRProps?n.getSSRProps(e,t):void 0},zk.getSSRProps=({value:e})=>{if(!e)return{style:{display:"none"}}})},oN=Symbol(""),aN=Symbol(""),lN=Symbol(""),uN=Symbol(""),cN=Symbol(""),dN=Symbol(""),hN=Symbol(""),pN=Symbol(""),fN=Symbol(""),mN=Symbol(""),gN=Symbol(""),_N=Symbol(""),yN=Symbol(""),vN=Symbol(""),bN=Symbol(""),TN=Symbol(""),xN=Symbol(""),EN=Symbol(""),wN=Symbol(""),IN=Symbol(""),AN=Symbol(""),SN=Symbol(""),CN=Symbol(""),ON=Symbol(""),MN=Symbol(""),kN=Symbol(""),RN=Symbol(""),NN=Symbol(""),DN=Symbol(""),FN=Symbol(""),LN=Symbol(""),PN=Symbol(""),BN=Symbol(""),$N=Symbol(""),UN=Symbol(""),VN=Symbol(""),zN=Symbol(""),jN=Symbol(""),YN=Symbol(""),GN={[oN]:"Fragment",[aN]:"Teleport",[lN]:"Suspense",[uN]:"KeepAlive",[cN]:"BaseTransition",[dN]:"openBlock",[hN]:"createBlock",[pN]:"createElementBlock",[fN]:"createVNode",[mN]:"createElementVNode",[gN]:"createCommentVNode",[_N]:"createTextVNode",[yN]:"createStaticVNode",[vN]:"resolveComponent",[bN]:"resolveDynamicComponent",[TN]:"resolveDirective",[xN]:"resolveFilter",[EN]:"withDirectives",[wN]:"renderList",[IN]:"renderSlot",[AN]:"createSlots",[SN]:"toDisplayString",[CN]:"mergeProps",[ON]:"normalizeClass",[MN]:"normalizeStyle",[kN]:"normalizeProps",[RN]:"guardReactiveProps",[NN]:"toHandlers",[DN]:"camelize",[FN]:"capitalize",[LN]:"toHandlerKey",[PN]:"setBlockTracking",[BN]:"pushScopeId",[$N]:"popScopeId",[UN]:"withCtx",[VN]:"unref",[zN]:"isRef",[jN]:"withMemo",[YN]:"isMemoSame"};const HN={start:{line:1,column:1,offset:0},end:{line:1,column:1,offset:0},source:""};function WN(e,t,n,i,r,s,o,a=!1,l=!1,u=!1,c=HN){return e&&(a?(e.helper(dN),e.helper(iD(e.inSSR,u))):e.helper(nD(e.inSSR,u)),o&&e.helper(EN)),{type:13,tag:t,props:n,children:i,patchFlag:r,dynamicProps:s,directives:o,isBlock:a,disableTracking:l,isComponent:u,loc:c}}function XN(e,t=HN){return{type:17,loc:t,elements:e}}function qN(e,t=HN){return{type:15,loc:t,properties:e}}function KN(e,t){return{type:16,loc:HN,key:Gx(e)?ZN(e,!0):e,value:t}}function ZN(e,t=!1,n=HN,i=0){return{type:4,loc:n,content:e,isStatic:t,constType:t?3:i}}function QN(e,t=HN){return{type:8,loc:t,children:e}}function JN(e,t=[],n=HN){return{type:14,loc:n,callee:e,arguments:t}}function eD(e,t=void 0,n=!1,i=!1,r=HN){return{type:18,params:e,returns:t,newline:n,isSlot:i,loc:r}}function tD(e,t,n,i=!0){return{type:19,test:e,consequent:t,alternate:n,newline:i,loc:HN}}function nD(e,t){return e||t?fN:mN}function iD(e,t){return e||t?hN:pN}function rD(e,{helper:t,removeHelper:n,inSSR:i}){e.isBlock||(e.isBlock=!0,n(nD(i,e.isComponent)),t(dN),t(iD(i,e.isComponent)))}const sD=new Uint8Array([123,123]),oD=new Uint8Array([125,125]);function aD(e){return e>=97&&e<=122||e>=65&&e<=90}function lD(e){return 32===e||10===e||9===e||12===e||13===e}function uD(e){return 47===e||62===e||lD(e)}function cD(e){const t=new Uint8Array(e.length);for(let n=0;n4===e.type&&e.isStatic;function vD(e){switch(e){case"Teleport":case"teleport":return aN;case"Suspense":case"suspense":return lN;case"KeepAlive":case"keep-alive":return uN;case"BaseTransition":case"base-transition":return cN}}const bD=/^\d|[^\$\w\xA0-\uFFFF]/,TD=e=>!bD.test(e),xD=/[A-Za-z_$\xA0-\uFFFF]/,ED=/[\.\?\w$\xA0-\uFFFF]/,wD=/\s+[.[]\s*|\s*[.[]\s+/g,ID=e=>4===e.type?e.content:e.loc.source,AD=e=>{const t=ID(e).trim().replace(wD,e=>e.trim());let n=0,i=[],r=0,s=0,o=null;for(let e=0;e|^\s*(async\s+)?function(?:\s+[\w$]+)?\s*\(/,CD=e=>SD.test(ID(e));function OD(e,t,n=!1){for(let i=0;i4===e.key.type&&e.key.content===i)}return n}function UD(e,t){return`_${t}_${e.replace(/[^\w]/g,(t,n)=>"-"===t?"_":e.charCodeAt(n).toString())}`}const VD=/([\s\S]*?)\s+(?:in|of)\s+(\S[\s\S]*)/,zD={parseMode:"base",ns:0,delimiters:["{{","}}"],getNamespace:()=>0,isVoidTag:Nx,isPreTag:Nx,isIgnoreNewlineTag:Nx,isCustomElement:Nx,onError:mD,onWarn:gD,comments:!1,prefixIdentifiers:!1};let jD=zD,YD=null,GD="",HD=null,WD=null,XD="",qD=-1,KD=-1,ZD=0,QD=!1,JD=null;const eF=[],tF=new class{constructor(e,t){this.stack=e,this.cbs=t,this.state=1,this.buffer="",this.sectionStart=0,this.index=0,this.entityStart=0,this.baseState=1,this.inRCDATA=!1,this.inXML=!1,this.inVPre=!1,this.newlines=[],this.mode=0,this.delimiterOpen=sD,this.delimiterClose=oD,this.delimiterIndex=-1,this.currentSequence=void 0,this.sequenceIndex=0}get inSFCRoot(){return 2===this.mode&&0===this.stack.length}reset(){this.state=1,this.mode=0,this.buffer="",this.sectionStart=0,this.index=0,this.baseState=1,this.inRCDATA=!1,this.currentSequence=void 0,this.newlines.length=0,this.delimiterOpen=sD,this.delimiterClose=oD}getPos(e){let t=1,n=e+1;for(let i=this.newlines.length-1;i>=0;i--){const r=this.newlines[i];if(e>r){t=i+2,n=e-r;break}}return{column:n,line:t,offset:e}}peek(){return this.buffer.charCodeAt(this.index+1)}stateText(e){60===e?(this.index>this.sectionStart&&this.cbs.ontext(this.sectionStart,this.index),this.state=5,this.sectionStart=this.index):this.inVPre||e!==this.delimiterOpen[0]||(this.state=2,this.delimiterIndex=0,this.stateInterpolationOpen(e))}stateInterpolationOpen(e){if(e===this.delimiterOpen[this.delimiterIndex])if(this.delimiterIndex===this.delimiterOpen.length-1){const e=this.index+1-this.delimiterOpen.length;e>this.sectionStart&&this.cbs.ontext(this.sectionStart,e),this.state=3,this.sectionStart=e}else this.delimiterIndex++;else this.inRCDATA?(this.state=32,this.stateInRCDATA(e)):(this.state=1,this.stateText(e))}stateInterpolation(e){e===this.delimiterClose[0]&&(this.state=4,this.delimiterIndex=0,this.stateInterpolationClose(e))}stateInterpolationClose(e){e===this.delimiterClose[this.delimiterIndex]?this.delimiterIndex===this.delimiterClose.length-1?(this.cbs.oninterpolation(this.sectionStart,this.index+1),this.inRCDATA?this.state=32:this.state=1,this.sectionStart=this.index+1):this.delimiterIndex++:(this.state=3,this.stateInterpolation(e))}stateSpecialStartSequence(e){const t=this.sequenceIndex===this.currentSequence.length;if(t?uD(e):(32|e)===this.currentSequence[this.sequenceIndex]){if(!t)return void this.sequenceIndex++}else this.inRCDATA=!1;this.sequenceIndex=0,this.state=6,this.stateInTagName(e)}stateInRCDATA(e){if(this.sequenceIndex===this.currentSequence.length){if(62===e||lD(e)){const t=this.index-this.currentSequence.length;if(this.sectionStart=e||(28===this.state?this.currentSequence===dD.CdataEnd?this.cbs.oncdata(this.sectionStart,e):this.cbs.oncomment(this.sectionStart,e):6===this.state||11===this.state||18===this.state||17===this.state||12===this.state||13===this.state||14===this.state||15===this.state||16===this.state||20===this.state||19===this.state||21===this.state||9===this.state||this.cbs.ontext(this.sectionStart,e))}emitCodePoint(e,t){}}(eF,{onerr:xF,ontext(e,t){oF(rF(e,t),e,t)},ontextentity(e,t,n){oF(e,t,n)},oninterpolation(e,t){if(QD)return oF(rF(e,t),e,t);let n=e+tF.delimiterOpen.length,i=t-tF.delimiterClose.length;for(;lD(GD.charCodeAt(n));)n++;for(;lD(GD.charCodeAt(i-1));)i--;let r=rF(n,i);r.includes("&")&&(r=jD.decodeEntities(r,!1)),gF({type:5,content:TF(r,!1,_F(n,i)),loc:_F(e,t)})},onopentagname(e,t){const n=rF(e,t);HD={type:1,tag:n,ns:jD.getNamespace(n,eF[0],jD.ns),tagType:0,props:[],children:[],loc:_F(e-1,t),codegenNode:void 0}},onopentagend(e){sF(e)},onclosetag(e,t){const n=rF(e,t);if(!jD.isVoidTag(n)){let i=!1;for(let e=0;e0&&xF(24,eF[0].loc.start.offset);for(let n=0;n<=e;n++){aF(eF.shift(),t,n(7===e.type?e.rawName:e.name)===n)&&xF(2,t)},onattribend(e,t){if(HD&&WD){if(vF(WD.loc,t),0!==e)if(XD.includes("&")&&(XD=jD.decodeEntities(XD,!0)),6===WD.type)"class"===WD.name&&(XD=mF(XD).trim()),1!==e||XD||xF(13,t),WD.value={type:2,content:XD,loc:1===e?_F(qD,KD):_F(qD-1,KD+1)},tF.inSFCRoot&&"template"===HD.tag&&"lang"===WD.name&&XD&&"html"!==XD&&tF.enterRCDATA(cD("{const r=t.start.offset+n;return TF(e,!1,_F(r,r+e.length),0,i?1:0)},a={source:o(s.trim(),n.indexOf(s,r.length)),value:void 0,key:void 0,index:void 0,finalized:!1};let l=r.trim().replace(iF,"").trim();const u=r.indexOf(l),c=l.match(nF);if(c){l=l.replace(nF,"").trim();const e=c[1].trim();let t;if(e&&(t=n.indexOf(e,u+l.length),a.key=o(e,t,!0)),c[2]){const i=c[2].trim();i&&(a.index=o(i,n.indexOf(i,a.key?t+e.length:u+l.length),!0))}}l&&(a.value=o(l,u,!0));return a}(WD.exp));let t=-1;"bind"===WD.name&&(t=WD.modifiers.findIndex(e=>"sync"===e.content))>-1&&fD("COMPILER_V_BIND_SYNC",jD,WD.loc,WD.rawName)&&(WD.name="model",WD.modifiers.splice(t,1))}7===WD.type&&"pre"===WD.name||HD.props.push(WD)}XD="",qD=KD=-1},oncomment(e,t){jD.comments&&gF({type:3,content:rF(e,t),loc:_F(e-4,t+3)})},onend(){const e=GD.length;for(let t=0;t64&&n<91)||vD(e)||jD.isBuiltInComponent&&jD.isBuiltInComponent(e)||jD.isNativeTag&&!jD.isNativeTag(e))return!0;var n;for(let e=0;e6===e.type&&"inline-template"===e.name);n&&fD("COMPILER_INLINE_TEMPLATE",jD,n.loc)&&e.children.length&&(n.value={type:2,content:rF(e.children[0].loc.start.offset,e.children[e.children.length-1].loc.end.offset),loc:n.loc})}}function lF(e,t){let n=e;for(;GD.charCodeAt(n)!==t&&n>=0;)n--;return n}const uF=new Set(["if","else","else-if","for","slot"]);function cF({tag:e,props:t}){if("template"===e)for(let e=0;e0){if(e>=2){a.codegenNode.patchFlag=-1,o.push(a);continue}}else{const e=a.codegenNode;if(13===e.type){const t=e.patchFlag;if((void 0===t||512===t||1===t)&&MF(a,n)>=2){const t=kF(a);t&&(e.props=n.hoist(t))}e.dynamicProps&&(e.dynamicProps=n.hoist(e.dynamicProps))}}}else if(12===a.type){if((i?0:SF(a,n))>=2){o.push(a);continue}}if(1===a.type){const t=1===a.tagType;t&&n.scopes.vSlot++,AF(a,e,n,!1,r),t&&n.scopes.vSlot--}else if(11===a.type)AF(a,e,n,1===a.children.length,!0);else if(9===a.type)for(let t=0;te.key===t||e.key.content===t);return n&&n.value}}o.length&&n.transformHoist&&n.transformHoist(s,n,e)}function SF(e,t){const{constantCache:n}=t;switch(e.type){case 1:if(0!==e.tagType)return 0;const i=n.get(e);if(void 0!==i)return i;const r=e.codegenNode;if(13!==r.type)return 0;if(r.isBlock&&"svg"!==e.tag&&"foreignObject"!==e.tag&&"math"!==e.tag)return 0;if(void 0===r.patchFlag){let i=3;const s=MF(e,t);if(0===s)return n.set(e,0),0;s1)for(let r=0;r`_${GN[w.helper(e)]}`,replaceNode(e){w.parent.children[w.childIndex]=w.currentNode=e},removeNode(e){const t=w.parent.children,n=e?t.indexOf(e):w.currentNode?w.childIndex:-1;e&&e!==w.currentNode?w.childIndex>n&&(w.childIndex--,w.onNodeRemoved()):(w.currentNode=null,w.onNodeRemoved()),w.parent.children.splice(n,1)},onNodeRemoved:Rx,addIdentifiers(e){},removeIdentifiers(e){},hoist(e){Gx(e)&&(e=ZN(e)),w.hoists.push(e);const t=ZN(`_hoisted_${w.hoists.length}`,!1,e.loc,2);return t.hoisted=e,t},cache(e,t=!1,n=!1){const i=function(e,t,n=!1,i=!1){return{type:20,index:e,value:t,needPauseTracking:n,inVOnce:i,needArraySpread:!1,loc:HN}}(w.cached.length,e,t,n);return w.cached.push(i),i}};return w.filters=new Set,w}function NF(e,t){const n=RF(e,t);DF(e,n),t.hoistStatic&&wF(e,n),t.ssr||function(e,t){const{helper:n}=t,{children:i}=e;if(1===i.length){const n=i[0];if(IF(e,n)&&n.codegenNode){const i=n.codegenNode;13===i.type&&rD(i,t),e.codegenNode=i}else e.codegenNode=n}else if(i.length>1){let i=64;0,e.codegenNode=WN(t,n(oN),void 0,e.children,i,void 0,void 0,!0,void 0,!1)}}(e,n),e.helpers=new Set([...n.helpers.keys()]),e.components=[...n.components],e.directives=[...n.directives],e.imports=n.imports,e.hoists=n.hoists,e.temps=n.temps,e.cached=n.cached,e.transformed=!0,e.filters=[...n.filters]}function DF(e,t){t.currentNode=e;const{nodeTransforms:n}=t,i=[];for(let r=0;r{n--};for(;nt===e:t=>e.test(t);return(e,i)=>{if(1===e.type){const{props:r}=e;if(3===e.tagType&&r.some(ND))return;const s=[];for(let o=0;o`${GN[e]}: _${GN[e]}`;function BF(e,t={}){const n=function(e,{mode:t="function",prefixIdentifiers:n="module"===t,sourceMap:i=!1,filename:r="template.vue.html",scopeId:s=null,optimizeImports:o=!1,runtimeGlobalName:a="Vue",runtimeModuleName:l="vue",ssrRuntimeModuleName:u="vue/server-renderer",ssr:c=!1,isTS:d=!1,inSSR:h=!1}){const p={mode:t,prefixIdentifiers:n,sourceMap:i,filename:r,scopeId:s,optimizeImports:o,runtimeGlobalName:a,runtimeModuleName:l,ssrRuntimeModuleName:u,ssr:c,isTS:d,inSSR:h,source:e.source,code:"",column:1,line:1,offset:0,indentLevel:0,pure:!1,map:void 0,helper:e=>`_${GN[e]}`,push(e,t=-2,n){p.code+=e},indent(){f(++p.indentLevel)},deindent(e=!1){e?--p.indentLevel:f(--p.indentLevel)},newline(){f(p.indentLevel)}};function f(e){p.push("\n"+" ".repeat(e),0)}return p}(e,t);t.onContextCreated&&t.onContextCreated(n);const{mode:i,push:r,prefixIdentifiers:s,indent:o,deindent:a,newline:l,scopeId:u,ssr:c}=n,d=Array.from(e.helpers),h=d.length>0,p=!s&&"module"!==i;!function(e,t){const{ssr:n,prefixIdentifiers:i,push:r,newline:s,runtimeModuleName:o,runtimeGlobalName:a,ssrRuntimeModuleName:l}=t,u=a,c=Array.from(e.helpers);if(c.length>0&&(r(`const _Vue = ${u}\n`,-1),e.hoists.length)){r(`const { ${[fN,mN,gN,_N,yN].filter(e=>c.includes(e)).map(PF).join(", ")} } = _Vue\n`,-1)}(function(e,t){if(!e.length)return;t.pure=!0;const{push:n,newline:i}=t;i();for(let r=0;r0)&&l()),e.directives.length&&($F(e.directives,"directive",n),e.temps>0&&l()),e.filters&&e.filters.length&&(l(),$F(e.filters,"filter",n),l()),e.temps>0){r("let ");for(let t=0;t0?", ":""}_temp${t}`)}return(e.components.length||e.directives.length||e.temps)&&(r("\n",0),l()),c||r("return "),e.codegenNode?zF(e.codegenNode,n):r("null"),p&&(a(),r("}")),a(),r("}"),{ast:e,code:n.code,preamble:"",map:n.map?n.map.toJSON():void 0}}function $F(e,t,{helper:n,push:i,newline:r,isTS:s}){const o=n("filter"===t?xN:"component"===t?vN:TN);for(let n=0;n3||!1;t.push("["),n&&t.indent(),VF(e,t,n),n&&t.deindent(),t.push("]")}function VF(e,t,n=!1,i=!0){const{push:r,newline:s}=t;for(let o=0;oe||"null")}([s,o,a,f,u]),t),n(")"),d&&n(")");c&&(n(", "),zF(c,t),n(")"))}(e,t);break;case 14:!function(e,t){const{push:n,helper:i,pure:r}=t,s=Gx(e.callee)?e.callee:i(e.callee);r&&n(LF);n(s+"(",-2,e),VF(e.arguments,t),n(")")}(e,t);break;case 15:!function(e,t){const{push:n,indent:i,deindent:r,newline:s}=t,{properties:o}=e;if(!o.length)return void n("{}",-2,e);const a=o.length>1||!1;n(a?"{":"{ "),a&&i();for(let e=0;e "),(l||a)&&(n("{"),i());o?(l&&n("return "),Ux(o)?UF(o,t):zF(o,t)):a&&zF(a,t);(l||a)&&(r(),n("}"));u&&(e.isNonScopedSlot&&n(", undefined, true"),n(")"))}(e,t);break;case 19:!function(e,t){const{test:n,consequent:i,alternate:r,newline:s}=e,{push:o,indent:a,deindent:l,newline:u}=t;if(4===n.type){const e=!TD(n.content);e&&o("("),jF(n,t),e&&o(")")}else o("("),zF(n,t),o(")");s&&a(),t.indentLevel++,s||o(" "),o("? "),zF(i,t),t.indentLevel--,s&&u(),s||o(" "),o(": ");const c=19===r.type;c||t.indentLevel++;zF(r,t),c||t.indentLevel--;s&&l(!0)}(e,t);break;case 20:!function(e,t){const{push:n,helper:i,indent:r,deindent:s,newline:o}=t,{needPauseTracking:a,needArraySpread:l}=e;l&&n("[...(");n(`_cache[${e.index}] || (`),a&&(r(),n(`${i(PN)}(-1`),e.inVOnce&&n(", true"),n("),"),o(),n("("));n(`_cache[${e.index}] = `),zF(e.value,t),a&&(n(`).cacheIndex = ${e.index},`),o(),n(`${i(PN)}(1),`),o(),n(`_cache[${e.index}]`),s());n(")"),l&&n(")]")}(e,t);break;case 21:VF(e.body,t,!0,!1)}}function jF(e,t){const{content:n,isStatic:i}=e;t.push(i?JSON.stringify(n):n,-3,e)}function YF(e,t){for(let n=0;nfunction(e,t,n,i){if(!("else"===t.name||t.exp&&t.exp.content.trim())){const i=t.exp?t.exp.loc:e.loc;n.onError(_D(28,t.loc)),t.exp=ZN("true",!1,i)}0;if("if"===t.name){const r=WF(e,t),s={type:9,loc:yF(e.loc),branches:[r]};if(n.replaceNode(s),i)return i(s,r,!0)}else{const r=n.parent.children;let s=r.indexOf(e);for(;s-- >=-1;){const o=r[s];if(o&&3===o.type)n.removeNode(o);else{if(!o||2!==o.type||o.content.trim().length){if(o&&9===o.type){"else-if"===t.name&&void 0===o.branches[o.branches.length-1].condition&&n.onError(_D(30,e.loc)),n.removeNode();const r=WF(e,t);0,o.branches.push(r);const s=i&&i(o,r,!1);DF(r,n),s&&s(),n.currentNode=null}else n.onError(_D(30,e.loc));break}n.removeNode(o)}}}}(e,t,n,(e,t,i)=>{const r=n.parent.children;let s=r.indexOf(e),o=0;for(;s-- >=0;){const e=r[s];e&&9===e.type&&(o+=e.branches.length)}return()=>{if(i)e.codegenNode=XF(t,o,n);else{const i=function(e){for(;;)if(19===e.type){if(19!==e.alternate.type)return e;e=e.alternate}else 20===e.type&&(e=e.value)}(e.codegenNode);i.alternate=XF(t,o+e.branches.length-1,n)}}}));function WF(e,t){const n=3===e.tagType;return{type:10,loc:e.loc,condition:"else"===t.name?void 0:t.exp,children:n&&!OD(e,"for")?e.children:[e],userKey:MD(e,"key"),isTemplateIf:n}}function XF(e,t,n){return e.condition?tD(e.condition,qF(e,t,n),JN(n.helper(gN),['""',"true"])):qF(e,t,n)}function qF(e,t,n){const{helper:i}=n,r=KN("key",ZN(`${t}`,!1,HN,2)),{children:s}=e,o=s[0];if(1!==s.length||1!==o.type){if(1===s.length&&11===o.type){const e=o.codegenNode;return BD(e,r,n),e}{let t=64;return WN(n,i(oN),qN([r]),s,t,void 0,void 0,!0,!1,!1,e.loc)}}{const e=o.codegenNode,t=14===(a=e).type&&a.callee===jN?a.arguments[1].returns:a;return 13===t.type&&rD(t,n),BD(t,r,n),e}var a}const KF=(e,t,n)=>{const{modifiers:i,loc:r}=e,s=e.arg;let{exp:o}=e;if(o&&4===o.type&&!o.content.trim()&&(o=void 0),!o){if(4!==s.type||!s.isStatic)return n.onError(_D(52,s.loc)),{props:[KN(s,ZN("",!0,r))]};ZF(e),o=e.exp}return 4!==s.type?(s.children.unshift("("),s.children.push(') || ""')):s.isStatic||(s.content=`${s.content} || ""`),i.some(e=>"camel"===e.content)&&(4===s.type?s.isStatic?s.content=rE(s.content):s.content=`${n.helperString(DN)}(${s.content})`:(s.children.unshift(`${n.helperString(DN)}(`),s.children.push(")"))),n.inSSR||(i.some(e=>"prop"===e.content)&&QF(s,"."),i.some(e=>"attr"===e.content)&&QF(s,"^")),{props:[KN(s,o)]}},ZF=(e,t)=>{const n=e.arg,i=rE(n.content);e.exp=ZN(i,!1,n.loc)},QF=(e,t)=>{4===e.type?e.isStatic?e.content=t+e.content:e.content=`\`${t}\${${e.content}}\``:(e.children.unshift(`'${t}' + (`),e.children.push(")"))},JF=FF("for",(e,t,n)=>{const{helper:i,removeHelper:r}=n;return function(e,t,n,i){if(!t.exp)return void n.onError(_D(31,t.loc));const r=t.forParseResult;if(!r)return void n.onError(_D(32,t.loc));eL(r,n);const{addIdentifiers:s,removeIdentifiers:o,scopes:a}=n,{source:l,value:u,key:c,index:d}=r,h={type:11,loc:t.loc,source:l,valueAlias:u,keyAlias:c,objectIndexAlias:d,parseResult:r,children:DD(e)?e.children:[e]};n.replaceNode(h),a.vFor++;const p=i&&i(h);return()=>{a.vFor--,p&&p()}}(e,t,n,t=>{const s=JN(i(wN),[t.source]),o=DD(e),a=OD(e,"memo"),l=MD(e,"key",!1,!0);l&&7===l.type&&!l.exp&&ZF(l);let u=l&&(6===l.type?l.value?ZN(l.value.content,!0):void 0:l.exp);const c=l&&u?KN("key",u):null,d=4===t.source.type&&t.source.constType>0,h=d?64:l?128:256;return t.codegenNode=WN(n,i(oN),void 0,s,h,void 0,void 0,!0,!d,!1,e.loc),()=>{let l;const{children:h}=t;const p=1!==h.length||1!==h[0].type,f=FD(e)?e:o&&1===e.children.length&&FD(e.children[0])?e.children[0]:null;if(f?(l=f.codegenNode,o&&c&&BD(l,c,n)):p?l=WN(n,i(oN),c?qN([c]):void 0,e.children,64,void 0,void 0,!0,void 0,!1):(l=h[0].codegenNode,o&&c&&BD(l,c,n),l.isBlock!==!d&&(l.isBlock?(r(dN),r(iD(n.inSSR,l.isComponent))):r(nD(n.inSSR,l.isComponent))),l.isBlock=!d,l.isBlock?(i(dN),i(iD(n.inSSR,l.isComponent))):i(nD(n.inSSR,l.isComponent))),a){const e=eD(tL(t.parseResult,[ZN("_cached")]));e.body={type:21,body:[QN(["const _memo = (",a.exp,")"]),QN(["if (_cached",...u?[" && _cached.key === ",u]:[],` && ${n.helperString(YN)}(_cached, _memo)) return _cached`]),QN(["const _item = ",l]),ZN("_item.memo = _memo"),ZN("return _item")],loc:HN},s.arguments.push(e,ZN("_cache"),ZN(String(n.cached.length))),n.cached.push(null)}else s.arguments.push(eD(tL(t.parseResult),l,!0))}})});function eL(e,t){e.finalized||(e.finalized=!0)}function tL({value:e,key:t,index:n},i=[]){return function(e){let t=e.length;for(;t--&&!e[t];);return e.slice(0,t+1).map((e,t)=>e||ZN("_".repeat(t+1),!1))}([e,t,n,...i])}const nL=ZN("undefined",!1),iL=(e,t)=>{if(1===e.type&&(1===e.tagType||3===e.tagType)){const n=OD(e,"slot");if(n)return n.exp,t.scopes.vSlot++,()=>{t.scopes.vSlot--}}},rL=(e,t,n,i)=>eD(e,n,!1,!0,n.length?n[0].loc:i);function sL(e,t,n=rL){t.helper(UN);const{children:i,loc:r}=e,s=[],o=[];let a=t.scopes.vSlot>0||t.scopes.vFor>0;const l=OD(e,"slot",!0);if(l){const{arg:e,exp:t}=l;e&&!yD(e)&&(a=!0),s.push(KN(e||ZN("default",!0),n(t,void 0,i,r)))}let u=!1,c=!1;const d=[],h=new Set;let p=0;for(let e=0;e{const s=n(e,void 0,i,r);return t.compatConfig&&(s.isNonScopedSlot=!0),KN("default",s)};u?d.length&&d.some(e=>lL(e))&&(c?t.onError(_D(39,d[0].loc)):s.push(e(void 0,d))):s.push(e(void 0,i))}const f=a?2:aL(e.children)?3:1;let m=qN(s.concat(KN("_",ZN(f+"",!1))),r);return o.length&&(m=JN(t.helper(AN),[m,XN(o)])),{slots:m,hasDynamicSlots:a}}function oL(e,t,n){const i=[KN("name",e),KN("fn",t)];return null!=n&&i.push(KN("key",ZN(String(n),!0))),qN(i)}function aL(e){for(let t=0;tfunction(){if(1!==(e=t.currentNode).type||0!==e.tagType&&1!==e.tagType)return;const{tag:n,props:i}=e,r=1===e.tagType;let s=r?function(e,t,n=!1){let{tag:i}=e;const r=fL(i),s=MD(e,"is",!1,!0);if(s)if(r||pD("COMPILER_IS_ON_ELEMENT",t)){let e;if(6===s.type?e=s.value&&ZN(s.value.content,!0):(e=s.exp,e||(e=ZN("is",!1,s.arg.loc))),e)return JN(t.helper(bN),[e])}else 6===s.type&&s.value.content.startsWith("vue:")&&(i=s.value.content.slice(4));const o=vD(i)||t.isBuiltInComponent(i);if(o)return n||t.helper(o),o;return t.helper(vN),t.components.add(i),UD(i,"component")}(e,t):`"${n}"`;const o=Wx(s)&&s.callee===bN;let a,l,u,c,d,h=0,p=o||s===aN||s===lN||!r&&("svg"===n||"foreignObject"===n||"math"===n);if(i.length>0){const n=dL(e,t,void 0,r,o);a=n.props,h=n.patchFlag,c=n.dynamicPropNames;const i=n.directives;d=i&&i.length?XN(i.map(e=>function(e,t){const n=[],i=uL.get(e);i?n.push(t.helperString(i)):(t.helper(TN),t.directives.add(e.name),n.push(UD(e.name,"directive")));const{loc:r}=e;e.exp&&n.push(e.exp);e.arg&&(e.exp||n.push("void 0"),n.push(e.arg));if(Object.keys(e.modifiers).length){e.arg||(e.exp||n.push("void 0"),n.push("void 0"));const t=ZN("true",!1,r);n.push(qN(e.modifiers.map(e=>KN(e,t)),r))}return XN(n,e.loc)}(e,t))):void 0,n.shouldUseBlock&&(p=!0)}if(e.children.length>0){s===uN&&(p=!0,h|=1024);if(r&&s!==aN&&s!==uN){const{slots:n,hasDynamicSlots:i}=sL(e,t);l=n,i&&(h|=1024)}else if(1===e.children.length&&s!==aN){const n=e.children[0],i=n.type,r=5===i||8===i;r&&0===SF(n,t)&&(h|=1),l=r||2===i?n:e.children}else l=e.children}c&&c.length&&(u=function(e){let t="[";for(let n=0,i=e.length;n0;let p=!1,f=0,m=!1,g=!1,_=!1,y=!1,v=!1,b=!1;const T=[],x=e=>{u.length&&(c.push(qN(hL(u),a)),u=[]),e&&c.push(e)},E=()=>{t.scopes.vFor>0&&u.push(KN(ZN("ref_for",!0),ZN("true")))},w=({key:e,value:n})=>{if(yD(e)){const s=e.content,o=Dx(s);if(!o||i&&!r||"onclick"===s.toLowerCase()||"onUpdate:modelValue"===s||eE(s)||(y=!0),o&&eE(s)&&(b=!0),o&&14===n.type&&(n=n.arguments[0]),20===n.type||(4===n.type||8===n.type)&&SF(n,t)>0)return;"ref"===s?m=!0:"class"===s?g=!0:"style"===s?_=!0:"key"===s||T.includes(s)||T.push(s),!i||"class"!==s&&"style"!==s||T.includes(s)||T.push(s)}else v=!0};for(let r=0;r"prop"===e.content)&&(f|=32);const T=t.directiveTransforms[n];if(T){const{props:n,needRuntime:i}=T(l,e,t);!s&&n.forEach(w),b&&r&&!yD(r)?x(qN(n,a)):u.push(...n),i&&(d.push(l),Hx(i)&&uL.set(l,i))}else tE(n)||(d.push(l),h&&(p=!0))}}let I;if(c.length?(x(),I=c.length>1?JN(t.helper(CN),c,a):c[0]):u.length&&(I=qN(hL(u),a)),v?f|=16:(g&&!i&&(f|=2),_&&!i&&(f|=4),T.length&&(f|=8),y&&(f|=32)),p||0!==f&&32!==f||!(m||b||d.length>0)||(f|=512),!t.inSSR&&I)switch(I.type){case 15:let e=-1,n=-1,i=!1;for(let t=0;t{if(FD(e)){const{children:n,loc:i}=e,{slotName:r,slotProps:s}=function(e,t){let n,i='"default"';const r=[];for(let t=0;t0){const{props:i,directives:s}=dL(e,t,r,!1,!1);n=i,s.length&&t.onError(_D(36,s[0].loc))}return{slotName:i,slotProps:n}}(e,t),o=[t.prefixIdentifiers?"_ctx.$slots":"$slots",r,"{}","undefined","true"];let a=2;s&&(o[2]=s,a=3),n.length&&(o[3]=eD([],n,!1,!1,i),a=4),t.scopeId&&!t.slotted&&(a=5),o.splice(a),e.codegenNode=JN(t.helper(IN),o,i)}};const gL=(e,t,n,i)=>{const{loc:r,modifiers:s,arg:o}=e;let a;if(e.exp||s.length||n.onError(_D(35,r)),4===o.type)if(o.isStatic){let e=o.content;0,e.startsWith("vue:")&&(e=`vnode-${e.slice(4)}`);a=ZN(0!==t.tagType||e.startsWith("vnode")||!/[A-Z]/.test(e)?lE(rE(e)):`on:${e}`,!0,o.loc)}else a=QN([`${n.helperString(LN)}(`,o,")"]);else a=o,a.children.unshift(`${n.helperString(LN)}(`),a.children.push(")");let l=e.exp;l&&!l.content.trim()&&(l=void 0);let u=n.cacheHandlers&&!l&&!n.inVOnce;if(l){const e=AD(l),t=!(e||CD(l)),n=l.content.includes(";");0,(t||u&&e)&&(l=QN([`${t?"$event":"(...args)"} => ${n?"{":"("}`,l,n?"}":")"]))}let c={props:[KN(a,l||ZN("() => {}",!1,r))]};return i&&(c=i(c)),u&&(c.props[0].value=n.cache(c.props[0].value)),c.props.forEach(e=>e.key.isHandlerKey=!0),c},_L=(e,t)=>{if(0===e.type||1===e.type||11===e.type||10===e.type)return()=>{const n=e.children;let i,r=!1;for(let e=0;e7===e.type&&!t.directiveTransforms[e.name])||"template"===e.tag)))for(let e=0;e{if(1===e.type&&OD(e,"once",!0)){if(yL.has(e)||t.inVOnce||t.inSSR)return;return yL.add(e),t.inVOnce=!0,t.helper(PN),()=>{t.inVOnce=!1;const e=t.currentNode;e.codegenNode&&(e.codegenNode=t.cache(e.codegenNode,!0,!0))}}},bL=(e,t,n)=>{const{exp:i,arg:r}=e;if(!i)return n.onError(_D(41,e.loc)),TL();const s=i.loc.source.trim(),o=4===i.type?i.content:s,a=n.bindingMetadata[s];if("props"===a||"props-aliased"===a)return n.onError(_D(44,i.loc)),TL();if(!o.trim()||!AD(i))return n.onError(_D(42,i.loc)),TL();const l=r||ZN("modelValue",!0),u=r?yD(r)?`onUpdate:${rE(r.content)}`:QN(['"onUpdate:" + ',r]):"onUpdate:modelValue";let c;c=QN([`${n.isTS?"($event: any)":"$event"} => ((`,i,") = $event)"]);const d=[KN(l,e.exp),KN(u,c)];if(e.modifiers.length&&1===t.tagType){const t=e.modifiers.map(e=>e.content).map(e=>(TD(e)?e:JSON.stringify(e))+": true").join(", "),n=r?yD(r)?`${r.content}Modifiers`:QN([r,' + "Modifiers"']):"modelModifiers";d.push(KN(n,ZN(`{ ${t} }`,!1,e.loc,2)))}return TL(d)};function TL(e=[]){return{props:e}}const xL=/[\w).+\-_$\]]/,EL=(e,t)=>{pD("COMPILER_FILTERS",t)&&(5===e.type?wL(e.content,t):1===e.type&&e.props.forEach(e=>{7===e.type&&"for"!==e.name&&e.exp&&wL(e.exp,t)}))};function wL(e,t){if(4===e.type)IL(e,t);else for(let n=0;n=0&&(e=n.charAt(t)," "===e);t--);e&&xL.test(e)||(c=!0)}}else void 0===o?(f=s+1,o=n.slice(0,s).trim()):g();function g(){m.push(n.slice(f,s).trim()),f=s+1}if(void 0===o?o=n.slice(0,s).trim():0!==f&&g(),m.length){for(s=0;s{if(1===e.type){const n=OD(e,"memo");if(!n||SL.has(e))return;return SL.add(e),()=>{const i=e.codegenNode||t.currentNode.codegenNode;i&&13===i.type&&(1!==e.tagType&&rD(i,t),e.codegenNode=JN(t.helper(jN),[n.exp,eD(void 0,i),"_cache",String(t.cached.length)]),t.cached.push(null))}}};function OL(e,t={}){const n=t.onError||mD,i="module"===t.mode;!0===t.prefixIdentifiers?n(_D(47)):i&&n(_D(48));t.cacheHandlers&&n(_D(49)),t.scopeId&&!i&&n(_D(50));const r=Lx({},t,{prefixIdentifiers:!1}),s=Gx(e)?EF(e,r):e,[o,a]=[[vL,HF,CL,JF,EL,mL,cL,iL,_L],{on:gL,bind:KF,model:bL}];return NF(s,Lx({},r,{nodeTransforms:[...o,...t.nodeTransforms||[]],directiveTransforms:Lx({},a,t.directiveTransforms||{})})),BF(s,r)}const ML=Symbol(""),kL=Symbol(""),RL=Symbol(""),NL=Symbol(""),DL=Symbol(""),FL=Symbol(""),LL=Symbol(""),PL=Symbol(""),BL=Symbol(""),$L=Symbol("");var UL;let VL;UL={[ML]:"vModelRadio",[kL]:"vModelCheckbox",[RL]:"vModelText",[NL]:"vModelSelect",[DL]:"vModelDynamic",[FL]:"withModifiers",[LL]:"withKeys",[PL]:"vShow",[BL]:"Transition",[$L]:"TransitionGroup"},Object.getOwnPropertySymbols(UL).forEach(e=>{GN[e]=UL[e]});const zL={parseMode:"html",isVoidTag:SE,isNativeTag:e=>wE(e)||IE(e)||AE(e),isPreTag:e=>"pre"===e,isIgnoreNewlineTag:e=>"pre"===e||"textarea"===e,decodeEntities:function(e,t=!1){return VL||(VL=document.createElement("div")),t?(VL.innerHTML=`
`,VL.children[0].getAttribute("foo")):(VL.innerHTML=e,VL.textContent)},isBuiltInComponent:e=>"Transition"===e||"transition"===e?BL:"TransitionGroup"===e||"transition-group"===e?$L:void 0,getNamespace(e,t,n){let i=t?t.ns:n;if(t&&2===i)if("annotation-xml"===t.tag){if("svg"===e)return 1;t.props.some(e=>6===e.type&&"encoding"===e.name&&null!=e.value&&("text/html"===e.value.content||"application/xhtml+xml"===e.value.content))&&(i=0)}else/^m(?:[ions]|text)$/.test(t.tag)&&"mglyph"!==e&&"malignmark"!==e&&(i=0);else t&&1===i&&("foreignObject"!==t.tag&&"desc"!==t.tag&&"title"!==t.tag||(i=0));if(0===i){if("svg"===e)return 1;if("math"===e)return 2}return i}},jL=(e,t)=>{const n=TE(e);return ZN(JSON.stringify(n),!1,t,3)};function YL(e,t){return _D(e,t)}const GL=Ox("passive,once,capture"),HL=Ox("stop,prevent,self,ctrl,shift,alt,meta,exact,middle"),WL=Ox("left,right"),XL=Ox("onkeyup,onkeydown,onkeypress"),qL=(e,t)=>yD(e)&&"onclick"===e.content.toLowerCase()?ZN(t,!0):4!==e.type?QN(["(",e,`) === "onClick" ? "${t}" : (`,e,")"]):e;const KL=(e,t)=>{1!==e.type||0!==e.tagType||"script"!==e.tag&&"style"!==e.tag||t.removeNode()};const ZL=[e=>{1===e.type&&e.props.forEach((t,n)=>{6===t.type&&"style"===t.name&&t.value&&(e.props[n]={type:7,name:"bind",arg:ZN("style",!0,t.loc),exp:jL(t.value.content,t.loc),modifiers:[],loc:t.loc})})}],QL={cloak:()=>({props:[]}),html:(e,t,n)=>{const{exp:i,loc:r}=e;return i||n.onError(YL(53,r)),t.children.length&&(n.onError(YL(54,r)),t.children.length=0),{props:[KN(ZN("innerHTML",!0,r),i||ZN("",!0))]}},text:(e,t,n)=>{const{exp:i,loc:r}=e;return i||n.onError(YL(55,r)),t.children.length&&(n.onError(YL(56,r)),t.children.length=0),{props:[KN(ZN("textContent",!0),i?SF(i,n)>0?i:JN(n.helperString(SN),[i],r):ZN("",!0))]}},model:(e,t,n)=>{const i=bL(e,t,n);if(!i.props.length||1===t.tagType)return i;e.arg&&n.onError(YL(58,e.arg.loc));const{tag:r}=t,s=n.isCustomElement(r);if("input"===r||"textarea"===r||"select"===r||s){let o=RL,a=!1;if("input"===r||s){const i=MD(t,"type");if(i){if(7===i.type)o=DL;else if(i.value)switch(i.value.content){case"radio":o=ML;break;case"checkbox":o=kL;break;case"file":a=!0,n.onError(YL(59,e.loc))}}else(function(e){return e.props.some(e=>!(7!==e.type||"bind"!==e.name||e.arg&&4===e.arg.type&&e.arg.isStatic))})(t)&&(o=DL)}else"select"===r&&(o=NL);a||(i.needRuntime=n.helper(o))}else n.onError(YL(57,e.loc));return i.props=i.props.filter(e=>!(4===e.key.type&&"modelValue"===e.key.content)),i},on:(e,t,n)=>gL(e,t,n,t=>{const{modifiers:i}=e;if(!i.length)return t;let{key:r,value:s}=t.props[0];const{keyModifiers:o,nonKeyModifiers:a,eventOptionModifiers:l}=((e,t,n)=>{const i=[],r=[],s=[];for(let o=0;o{const{exp:i,loc:r}=e;return i||n.onError(YL(61,r)),{props:[],needRuntime:n.helper(PL)}}};const JL=Object.create(null);YM(function(e,t){if(!Gx(e)){if(!e.nodeType)return Rx;e=e.innerHTML}const n=function(e,t){return e+JSON.stringify(t,(e,t)=>"function"==typeof t?t.toString():t)}(e,t),i=JL[n];if(i)return i;if("#"===e[0]){const t=document.querySelector(e);0,e=t?t.innerHTML:""}const r=Lx({hoistStatic:!0,onError:void 0,onWarn:Rx},t);r.isCustomElement||"undefined"==typeof customElements||(r.isCustomElement=e=>!!customElements.get(e));const{code:s}=function(e,t={}){return OL(e,Lx({},zL,t,{nodeTransforms:[KL,...ZL,...t.nodeTransforms||[]],directiveTransforms:Lx({},QL,t.directiveTransforms||{}),transformHoist:null}))}(e,r),o=new Function("Vue",s)(oe);return o._rc=!0,JL[n]=o});var eP=__webpack_require__(66619),tP=__webpack_require__.n(eP);const nP={stage:new(tP().Container),pointer:{x:0,y:0},backgroundSprite:null,sprites:{},texts:{},counter:0,keys:{},state:!1,running:!1,repeatPlay:()=>{},displayTag:!1,processingDisplayEvent:null,successDisplayEvents:[],successProcessingDisplayEvents:[],startTime:performance.now(),timer:0,lastFrameTime:null,lastSecond:null,targetFPS:60,frameCount:0,currentFPS:60,canvasHeight:450,canvasWidth:800,gameLoop:()=>{1==nP.state&&(nP.repeatPlay(),nP.gameLoopDisplay()),nP.timer=performance.now()-nP.startTime},animate:e=>{e-nP.lastFrameTime>=1e3/nP.targetFPS&&(nP.frameCount++,nP.gameLoop(),nP.renderer.render(nP.stage),nP.lastFrameTime=e),e-nP.lastSecond>=1e3&&(nP.currentFPS=nP.frameCount,nP.frameCount=0,nP.lastSecond=e),requestAnimationFrame(nP.animate)}};nP.createBackground=(e,t=0)=>{var n;return 0==t&&(n=new(tP().Sprite.fromImage)(`../common/media/spriteimg/${e}.png`)),n.name="background",n.anchor.set(.5),n.x=nP.canvasWidth/2,n.y=nP.canvasHeight/2,n.width=nP.canvasWidth,n.height=nP.canvasHeight,n.interactive=!0,n.buttonMode=!0,n.isDown=!1,n.isUp=!0,n.on("mousedown",function(){this.isDown=!0,this.isUp=!1,nP.state&&this.runningMouseDown()}).on("mouseup",function(){this.isDown=!1,this.isUp=!0}).on("mouseupoutside",function(){this.isDown=!1,this.isUp=!0}),n.runningMouseDown=new Function(""),nP.backgroundSprite&&nP.backgroundSprite.parent&&nP.stage.removeChild(nP.backgroundSprite),nP.backgroundSprite=n,nP.stage.addChildAt(nP.backgroundSprite,0),0},nP.createASprite=(e,t=nP.canvasWidth/2,n=nP.canvasHeight/2,i="",r=0)=>{var s;return""==i&&(i="sprite"+ ++nP.counter),0==r&&(s=new(tP().Sprite.fromImage)(`../common/media/spriteimg/${e}.png`)),nP.sprites[i]||nP.texts[i]||(s.name=i,s.anchor.set(.5),s.x=t,s.y=n,s.interactive=!0,s.buttonMode=!0,s.isDown=!1,s.isUp=!0,s.on("mousedown",function(e){this.isDown=!0,this.isUp=!1,nP.state?this.runningMouseDown():(this.data=e.data,this.alpha=.5,this.dragging=!0)}).on("mouseup",function(){this.isDown=!1,this.isUp=!0,nP.state||(this.alpha=1,this.dragging=!1,this.data=null)}).on("mouseupoutside",function(){this.isDown=!1,this.isUp=!0,nP.state||(this.alpha=1,this.dragging=!1,this.data=null)}).on("mousemove",function(){if(!nP.state&&this.dragging){var e=this.data.getLocalPosition(this.parent);this.position.x=e.x,this.position.y=e.y}}),s.runningMouseDown=new Function(""),s.show=function(){this.visible=!0},s.hide=function(){this.visible=!1},s.enlarge=function(e){const t=this.height/this.width;var n=Math.sqrt(this.height*this.width);n+=e,this.width=Math.sqrt(n*n/t),this.height=this.width*t},s.enlargeTo=function(e){var t=this.height/this.width;this.width=Math.sqrt(e*e/t),this.height=this.width*t},s.expandTo=async function(e,t=1){if(nP.running){nP.displayTag=!0,nP.processingDisplayEvent={sprite:this,targetS:e,totalTime:1e3*t,startTime:performance.now(),displayType:"expand"};var n=new Promise(e=>{if(!1===nP.displayTag)e();else{const t=setInterval(()=>{!1===nP.displayTag&&(clearInterval(t),e())},10)}});return await n}return nP.successProcessingDisplayEvents.push({sprite:this,targetS:e,totalTime:1e3*t,startTime:performance.now(),displayType:"expand"}),0},s.move=function(e){this.x+=e*Math.cos(this.rotation),this.y+=e*Math.sin(this.rotation)},s.moveTo=function(e,t){this.x=e,this.y=t},s.slideTo=async function(e,t,n=1){if(nP.running){nP.displayTag=!0,nP.processingDisplayEvent={sprite:this,targetX:e,targetY:t,totalTime:1e3*n,startTime:performance.now(),displayType:"slide"};var i=new Promise(e=>{const t=setInterval(()=>{!1===nP.displayTag&&(clearInterval(t),e())},10)});return await i}return nP.successProcessingDisplayEvents.push({sprite:this,targetX:e,targetY:t,totalTime:1e3*n,startTime:performance.now(),displayType:"slide"}),0},s.addX=function(e){this.x+=e},s.addY=function(e){this.y+=e},s.rotate=function(e){this.rotation+=Math.PI/180*e},s.rotateTo=function(e){this.rotation=Math.PI/180*e},s.circleTo=async function(e,t=1){if(nP.running){nP.displayTag=!0,nP.processingDisplayEvent={sprite:this,targetDegree:e,totalTime:1e3*t,startTime:performance.now(),displayType:"circle"};var n=new Promise(e=>{if(!1===nP.displayTag)e();else{const t=setInterval(()=>{!1===nP.displayTag&&(clearInterval(t),e())},10)}});return await n}return nP.successProcessingDisplayEvents.push({sprite:this,targetDegree:e,totalTime:1e3*t,startTime:performance.now(),displayType:"circle"}),0},s.hit=function(e){return nP.hitTestRectangle(this,e)},s.outOfScreen=function(){return this.y>=nP.renderer.height||this.y<=0||this.x<=0||this.x>=nP.renderer.width},s.mouseAction=function(e){this.runningMouseDown=e},s.setScale=function(e=0,t=0){0==e&&(e=this.height),0==t&&(t=this.width),this.height=e,this.width=t},s.filterGray=function(){const e=new(tP().filters.ColorMatrixFilter);e.blackAndWhite(),this.filters=[e]},s.filterBrighter=function(){const e=new(tP().filters.ColorMatrixFilter);e.brightness(1.25),this.filters=[e]},s.filterOrigin=function(){this.filters=null},nP.stage.addChild(s),nP.sprites[i]=s),i},nP.clearAllSprites=()=>{nP.backgroundSprite&&nP.backgroundSprite.parent&&nP.backgroundSprite.parent.removeChild(nP.backgroundSprite);for(const e in nP.sprites)nP.sprites[e].parent.removeChild(nP.sprites[e]),delete nP.sprites[e];for(const e in nP.texts)nP.texts[e].parent.removeChild(nP.texts[e]),delete nP.texts[e];return nP.counter=0,nP.clearTimer(),0},nP.createText=(e,t=nP.canvasWidth/2,n=nP.canvasHeight/2,i="")=>{if(""==i&&(i="text"+ ++nP.counter),!nP.sprites[i]&&!nP.texts[i]){var r=new(tP().Text)(e);r.name=i,r.x=t,r.y=n,r.interactive=!0,r.buttonMode=!0,r.on("mousedown",function(e){this.isDown=!0,this.isUp=!1,nP.state?this.runningMouseDown():(this.data=e.data,this.alpha=.5,this.dragging=!0)}).on("mouseup",function(){this.isDown=!1,this.isUp=!0,nP.state||(this.alpha=1,this.dragging=!1,this.data=null)}).on("mouseupoutside",function(){this.isDown=!1,this.isUp=!0,nP.state||(this.alpha=1,this.dragging=!1,this.data=null)}).on("mousemove",function(){if(!nP.state&&this.dragging){var e=this.data.getLocalPosition(this.parent);this.position.x=e.x,this.position.y=e.y}}),r.runningMouseDown=new Function(""),r.changeText=function(e){this.text=e},r.show=function(){this.visible=!0},r.hide=function(){this.visible=!1},nP.stage.addChild(r),nP.texts[i]=r}return i},nP.hitTestRectangle=(e,t)=>{let n,i,r,s,o;return n=!1,e.centerX=e.x+e.width/2,e.centerY=e.y+e.height/2,t.centerX=t.x+t.width/2,t.centerY=t.y+t.height/2,e.halfWidth=e.width/2,e.halfHeight=e.height/2,t.halfWidth=t.width/2,t.halfHeight=t.height/2,s=e.centerX-t.centerX,o=e.centerY-t.centerY,i=e.halfWidth+t.halfWidth,r=e.halfHeight+t.halfHeight,n=Math.abs(s){nP.repeatPlay=e},nP.isKeyboardHit=e=>{if(!nP.keys[e]){let t=nP.keyboard(e);nP.keys[e]=t}return nP.keys[e].isDown},nP.keyboardListener=(e,t)=>{if(nP.keys[e])nP.keys[e].press=function(){nP.state&&t()};else{let n=nP.keyboard(e);n.press=function(){nP.state&&t()},nP.keys[e]=n}},nP.keyboard=e=>{let t={};t.value=e,t.isDown=!1,t.isUp=!0,t.press=void 0,t.release=void 0,t.downHandler=e=>{e.key===t.value&&(t.isUp&&t.press&&t.press(),t.isDown=!0,t.isUp=!1,e.preventDefault())},t.upHandler=e=>{e.key===t.value&&(t.isDown&&t.release&&t.release(),t.isDown=!1,t.isUp=!0,e.preventDefault())};const n=t.downHandler.bind(t),i=t.upHandler.bind(t);return window.addEventListener("keydown",n,!1),window.addEventListener("keyup",i,!1),t.unsubscribe=()=>{window.removeEventListener("keydown",n),window.removeEventListener("keyup",i)},t},nP.clearTimer=()=>{nP.startTime=performance.now()},nP.gameLoopDisplay=()=>{if(nP.processingDisplayEvent){const e=nP.processingDisplayEvent;switch(e.displayType){case"slide":if(performance.now()>=e.totalTime+e.startTime)e.sprite.moveTo(e.targetX,e.targetY),nP.displayTag=!1,nP.processingDisplayEvent=null;else(t=nP.currentFPS*(e.totalTime+e.startTime-performance.now())/1e3)>=1&&(e.sprite.addX((e.targetX-e.sprite.x)/t),e.sprite.addY((e.targetY-e.sprite.y)/t));break;case"expand":if(performance.now()>=e.totalTime+e.startTime)e.sprite.enlargeTo(e.targetS),nP.displayTag=!1,nP.processingDisplayEvent=null;else(t=nP.currentFPS*(e.totalTime+e.startTime-performance.now())/1e3)>=1&&e.sprite.enlarge((e.targetS-Math.sqrt(e.sprite.height*e.sprite.width))/t);break;case"circle":if(performance.now()>=e.totalTime+e.startTime)e.sprite.rotateTo(e.targetDegree),nP.displayTag=!1,nP.processingDisplayEvent=null;else(t=nP.currentFPS*(e.totalTime+e.startTime-performance.now())/1e3)>=1&&e.sprite.rotate((e.targetDegree-180*e.sprite.rotation/Math.PI)/t)}}if(!nP.running&&nP.successProcessingDisplayEvents.length)for(var e=nP.successProcessingDisplayEvents.length-1;e>=0;e--){const n=nP.successProcessingDisplayEvents[e];switch(n.displayType){case"slide":if(performance.now()>=n.totalTime+n.startTime)n.sprite.moveTo(n.targetX,n.targetY),nP.successProcessingDisplayEvents.splice(e,1);else(t=nP.currentFPS*(n.totalTime+n.startTime-performance.now())/1e3)>=1&&(n.sprite.addX((n.targetX-n.sprite.x)/t),n.sprite.addY((n.targetY-n.sprite.y)/t));break;case"expand":if(performance.now()>=n.totalTime+n.startTime)n.sprite.enlargeTo(n.targetS),nP.successProcessingDisplayEvents.splice(e,1);else(t=nP.currentFPS*(n.totalTime+n.startTime-performance.now())/1e3)>=1&&n.sprite.enlarge((n.targetS-Math.sqrt(n.sprite.height*n.sprite.width))/t);break;case"circle":var t;if(performance.now()>=n.totalTime+n.startTime)n.sprite.rotateTo(n.targetDegree),nP.successProcessingDisplayEvents.splice(e,1);else(t=nP.currentFPS*(n.totalTime+n.startTime-performance.now())/1e3)>=1&&n.sprite.rotate((n.targetDegree-180*n.sprite.rotation/Math.PI)/t)}}},nP.changeWidth=e=>{const t=Cx()(nP.renderer.view),n=t.width(),i=t.height();t.width(e),t.height(e/n*i)},nP.kill=()=>{nP.state=!1,nP.repeatPlay=new Function;for(let e in nP.keys)nP.keys[e].unsubscribe(),delete nP.keys[e];nP.processingDisplayEvent=null,nP.displayTag=!1,nP.running=!1,nP.clearTimer()},nP.runit=e=>{const t=Cx()(e);t.empty(),tP().SCALE_MODES.DEFAULT=tP().SCALE_MODES.NEAREST,nP.renderer=tP().autoDetectRenderer(nP.canvasWidth,nP.canvasHeight,{backgroundColor:16777215}),t.append(nP.renderer.view),nP.pointer={x:0,y:0},nP.stage.sortableChildren=!0,nP.stage.interactive=!0,nP.stage.on("mousemove",(e=tP().InteractionEvent)=>{nP.pointer.x=e.data.global.x,nP.pointer.y=e.data.global.y}),nP.lastFrameTime=0,nP.running=!0,nP.lastFrameTime||(nP.lastFrameTime=performance.now(),nP.lastSecond=performance.now()),nP.animate(performance.now()),nP.repeatPlay=new Function;for(let e in nP.keys)nP.keys[e].unsubscribe(),delete nP.keys[e];nP.backgroundSprite&&(nP.backgroundSprite.runningMouseDown=new Function);for(let e in nP.sprites)nP.sprites[e].runningMouseDown=new Function;for(let e in nP.texts)nP.texts[e].runningMouseDown=new Function;nP.processingDisplayEvent=null,nP.displayTag=!1,nP.clearTimer(),nP.changeWidth(Cx()("body").width()/2),nP.state=!0},window.mixlySprite=nP;const iP=nP;var rP=__webpack_require__(69610);class sP{constructor(e,t){this._pageLoad=new rP.D,this._kernelAvailable=new rP.D,this._loaderId="basthon-loader",this._doNotHideLoader=!0;const n=e.language;if(null!=t&&(this._loaderId=t),"loading"===document.readyState){const e=()=>{document.removeEventListener("DOMContentLoaded",e),this._pageLoad.resolve()};document.addEventListener("DOMContentLoaded",e)}else this._pageLoad.resolve();(async()=>{switch(n){case"python":case"python3":case"python3.11":const{KernelPython3:t}=await __webpack_require__.e(211).then(__webpack_require__.bind(__webpack_require__,20211));this._kernel=new t(e);break;case"python3-old":case"python3.8":const{KernelPython3Old:i}=await __webpack_require__.e(195).then(__webpack_require__.bind(__webpack_require__,95195));this._kernel=new i(e);break;case"js":case"javascript":const{KernelJavaScript:r}=await __webpack_require__.e(97).then(__webpack_require__.bind(__webpack_require__,4097));this._kernel=new r(e);break;case"sql":const{KernelSQL:s}=await Promise.all([__webpack_require__.e(960),__webpack_require__.e(837)]).then(__webpack_require__.bind(__webpack_require__,90592));this._kernel=new s(e);break;case"ocaml":const{KernelOCaml:o}=await __webpack_require__.e(38).then(__webpack_require__.bind(__webpack_require__,50038));this._kernel=new o(e);break;default:return window.console.error(`Kernel '${n}' not supported.`),void this._kernelAvailable.reject()}window.Basthon=this._kernel,this._kernelAvailable.resolve(this._kernel)})()}async pageLoad(){await this._pageLoad.promise}async kernelAvailable(){return await this._kernelAvailable.promise}async kernelLoaded(){const e=await this.kernelAvailable();return await e.loaded(),e}get kernel(){return this._kernel}get kernelSafe(){var e;return(null===(e=this.kernel)||void 0===e?void 0:e.ready)?this.kernel:null}async showLoader(e,t=!1,n=!0){this.kernelAvailable().then(()=>{var e;return null===(e=this.kernel)||void 0===e?void 0:e.init()}),__webpack_require__.e(317).then(__webpack_require__.bind(__webpack_require__,1317));const i="basthon-loader-"+(t?"full":"foot"),r=document.createElement("div");r.id=this._loaderId,r.classList.add("darklighted"),r.classList.add("basthon-loader-root"),r.classList.add(i);const s=document.createElement("div");s.classList.add("basthon-loader-container"),s.classList.add(i),r.appendChild(s);const o=document.createElement("div");o.classList.add("basthon-loader-spinner"),o.classList.add(i),o.innerHTML="",s.appendChild(o);const a=document.createElement("div");a.classList.add("basthon-loader-break"),a.classList.add(i),s.appendChild(a);const l=document.createElement("div");l.classList.add("basthon-loader-text"),l.classList.add(i),l.innerHTML=e,s.appendChild(l),this._loaderTextElem=l;const u=document.createElement("div");u.classList.add("basthon-loader-text"),u.classList.add(i),u.style.display="none",s.appendChild(u),this._loaderTextError=u,await this.pageLoad(),document.body.appendChild(r),this._rootLoader=r;try{await this.kernelLoaded()}catch(e){const t=this.browser();this.setErrorText(`Erreur de chargement de Basthon !!!
Vérifiez que votre navigateur est à jour.
Version détectée : ${t.name} ${t.version}.`);for(const e of document.body.querySelectorAll(".basthon-loader-foot"))e.classList.remove("basthon-loader-foot"),e.classList.add("basthon-loader-full");return o.classList.remove("basthon-loader-spinner"),o.classList.add("basthon-loader-error"),void(this._doNotHideLoader=!0)}this._doNotHideLoader=!1,n&&this.hideLoader()}setLoaderText(e){null!=this._loaderTextElem&&(this._loaderTextElem.innerHTML=e)}setErrorText(e){null!=this._loaderTextElem&&(this._loaderTextElem.style.display="none"),null!=this._loaderTextError&&(this._loaderTextError.style.display="",this._loaderTextError.innerHTML=e)}hideLoader(){if(this._doNotHideLoader)return;const e=this._rootLoader;null!=e&&(e.classList.add("basthon-loader-hide"),window.setTimeout(()=>{this._rootLoader=void 0,e.remove()},1100))}browser(){var e,t=navigator.userAgent,n=t.match(/(opera|chrome|safari|firefox|msie|trident(?=\/))\/?\s*(\d+)/i)||[];return/trident/i.test(n[1])?{name:"IE",version:(e=/\brv[ :]+(\d+)/g.exec(t)||[])[1]||""}:"Chrome"===n[1]&&null!=(e=t.match(/\bOPR|Edge\/(\d+)/))?{name:"Opera",version:e[1]}:(n=n[2]?[n[1],n[2]]:[navigator.appName,navigator.appVersion,"-?"],null!=(e=t.match(/version\/(\d+)/i))&&n.splice(1,1,e[1]),{name:n[0],version:n[1]})}}class oP extends ze.PageBase{static{ze.HTMLTemplate.add("html/statusbar/statusbar-image.html",new ze.HTMLTemplate('\r\n
')),this.init=function(){ze.StatusBarsManager.typesRegistry.register(["images"],oP);const e=ze.Workspace.getMain().getStatusBarsManager();return e.add({type:"images",id:"images",name:Ve.Msg.PYTHON_PYODIDE_IMAGE,title:Ve.Msg.PYTHON_PYODIDE_IMAGE}),e.changeTo("output"),e.get("images")}}constructor(){super();const e=Cx()(ze.HTMLTemplate.get("html/statusbar/statusbar-image.html").render());this.setContent(e)}init(){super.init(),this.hideCloseBtn()}clean(){this.getContent().empty()}display(e){const t=this.getContent(),n=function(e){e.style.width="auto",e.style.height="auto",e.style.maxWidth="100%",e.style.maxHeight="100%"};this.clean();let i=e.content,r=null,s=null;switch(e.display_type){case"p5":i.style.width="100%",i.style.height="100%",i.style.display="flex",i.style.justifyContent="center",i.style.alignItems="center",new MutationObserver(function(e){e.forEach(e=>e.addedNodes.forEach(e=>{const t=e;null!=t.tagName&&["canvas","video"].includes(t.tagName.toLowerCase())&&n(t)}))}).observe(i,{childList:!0}),i.querySelectorAll("canvas,video").forEach(n),t.append(i);break;case"matplotlib":r=i.querySelector("canvas"),r&&(i=r),i.style.width="",i.style.height="",i.style.maxWidth="100%",i.style.maxHeight="100%",t.append(i);break;case"ocaml-canvas":i.style.width="",i.style.height="",i.style.maxWidth="100%",i.style.maxHeight="100%",t.append(i);break;case"turtle":i.setAttribute("width","100%"),i.setAttribute("height","100%"),t.append(i.outerHTML);break;case"sympy":t.append(e.content),void 0===window.MathJax?(console.log("Loading MathJax (Sympy expression needs it)."),function(){let e=document.createElement("script");e.type="text/javascript",e.src="https://cdn.jsdelivr.net/npm/mathjax@3.0.5/es5/tex-mml-chtml.js",document.getElementsByTagName("head")[0].appendChild(e)}()):window.MathJax.typeset();break;case"multiple":for(let n of["image/svg+xml","image/png","text/html","text/plain"])if(n in e.content){let i=e.content[n];"image/png"===n&&(i=''),t.append(i);break}break;case"tutor":if(t.append(Cx()(e.content.replace("overflow-y%3A%20hidden%3B",""))),s=this.getContent()[0].getElementsByTagName("iframe")[0],null==s)return;s.style.maxHeight=s.style.minHeight="100%",new IntersectionObserver((e,t)=>{const n=e[0];n&&!n.isIntersecting||(s.contentWindow?.postMessage({type:"redraw"},"*"),t.disconnect())}).observe(s);break;default:console.error(`Not supported node type '${e.display_type}' in eval.display result processing.`)}}}const aP=layui;var lP;!function(e){e[e.EPERM=1]="EPERM",e[e.ENOENT=2]="ENOENT",e[e.EINTR=4]="EINTR",e[e.EIO=5]="EIO",e[e.ENXIO=6]="ENXIO",e[e.EBADF=9]="EBADF",e[e.EAGAIN=11]="EAGAIN",e[e.ENOMEM=12]="ENOMEM",e[e.EACCES=13]="EACCES",e[e.EFAULT=14]="EFAULT",e[e.ENOTBLK=15]="ENOTBLK",e[e.EBUSY=16]="EBUSY",e[e.EEXIST=17]="EEXIST",e[e.EXDEV=18]="EXDEV",e[e.ENODEV=19]="ENODEV",e[e.ENOTDIR=20]="ENOTDIR",e[e.EISDIR=21]="EISDIR",e[e.EINVAL=22]="EINVAL",e[e.ENFILE=23]="ENFILE",e[e.EMFILE=24]="EMFILE",e[e.ETXTBSY=26]="ETXTBSY",e[e.EFBIG=27]="EFBIG",e[e.ENOSPC=28]="ENOSPC",e[e.ESPIPE=29]="ESPIPE",e[e.EROFS=30]="EROFS",e[e.EMLINK=31]="EMLINK",e[e.EPIPE=32]="EPIPE",e[e.EDOM=33]="EDOM",e[e.ERANGE=34]="ERANGE",e[e.EDEADLK=35]="EDEADLK",e[e.ENAMETOOLONG=36]="ENAMETOOLONG",e[e.ENOLCK=37]="ENOLCK",e[e.ENOSYS=38]="ENOSYS",e[e.ENOTEMPTY=39]="ENOTEMPTY",e[e.ELOOP=40]="ELOOP",e[e.ENOMSG=42]="ENOMSG",e[e.EBADE=52]="EBADE",e[e.EBADR=53]="EBADR",e[e.EXFULL=54]="EXFULL",e[e.ENOANO=55]="ENOANO",e[e.EBADRQC=56]="EBADRQC",e[e.ENOSTR=60]="ENOSTR",e[e.ENODATA=61]="ENODATA",e[e.ETIME=62]="ETIME",e[e.ENOSR=63]="ENOSR",e[e.ENONET=64]="ENONET",e[e.EREMOTE=66]="EREMOTE",e[e.ENOLINK=67]="ENOLINK",e[e.ECOMM=70]="ECOMM",e[e.EPROTO=71]="EPROTO",e[e.EBADMSG=74]="EBADMSG",e[e.EOVERFLOW=75]="EOVERFLOW",e[e.EBADFD=77]="EBADFD",e[e.ESTRPIPE=86]="ESTRPIPE",e[e.ENOTSOCK=88]="ENOTSOCK",e[e.EDESTADDRREQ=89]="EDESTADDRREQ",e[e.EMSGSIZE=90]="EMSGSIZE",e[e.EPROTOTYPE=91]="EPROTOTYPE",e[e.ENOPROTOOPT=92]="ENOPROTOOPT",e[e.EPROTONOSUPPORT=93]="EPROTONOSUPPORT",e[e.ESOCKTNOSUPPORT=94]="ESOCKTNOSUPPORT",e[e.ENOTSUP=95]="ENOTSUP",e[e.ENETDOWN=100]="ENETDOWN",e[e.ENETUNREACH=101]="ENETUNREACH",e[e.ENETRESET=102]="ENETRESET",e[e.ETIMEDOUT=110]="ETIMEDOUT",e[e.ECONNREFUSED=111]="ECONNREFUSED",e[e.EHOSTDOWN=112]="EHOSTDOWN",e[e.EHOSTUNREACH=113]="EHOSTUNREACH",e[e.EALREADY=114]="EALREADY",e[e.EINPROGRESS=115]="EINPROGRESS",e[e.ESTALE=116]="ESTALE",e[e.EREMOTEIO=121]="EREMOTEIO",e[e.EDQUOT=122]="EDQUOT"}(lP||(lP={}));const uP={[lP.EPERM]:"Operation not permitted",[lP.ENOENT]:"No such file or directory",[lP.EINTR]:"Interrupted system call",[lP.EIO]:"Input/output error",[lP.ENXIO]:"No such device or address",[lP.EBADF]:"Bad file descriptor",[lP.EAGAIN]:"Resource temporarily unavailable",[lP.ENOMEM]:"Cannot allocate memory",[lP.EACCES]:"Permission denied",[lP.EFAULT]:"Bad address",[lP.ENOTBLK]:"Block device required",[lP.EBUSY]:"Resource busy or locked",[lP.EEXIST]:"File exists",[lP.EXDEV]:"Invalid cross-device link",[lP.ENODEV]:"No such device",[lP.ENOTDIR]:"File is not a directory",[lP.EISDIR]:"File is a directory",[lP.EINVAL]:"Invalid argument",[lP.ENFILE]:"Too many open files in system",[lP.EMFILE]:"Too many open files",[lP.ETXTBSY]:"Text file busy",[lP.EFBIG]:"File is too big",[lP.ENOSPC]:"No space left on disk",[lP.ESPIPE]:"Illegal seek",[lP.EROFS]:"Cannot modify a read-only file system",[lP.EMLINK]:"Too many links",[lP.EPIPE]:"Broken pipe",[lP.EDOM]:"Numerical argument out of domain",[lP.ERANGE]:"Numerical result out of range",[lP.EDEADLK]:"Resource deadlock would occur",[lP.ENAMETOOLONG]:"File name too long",[lP.ENOLCK]:"No locks available",[lP.ENOSYS]:"Function not implemented",[lP.ENOTEMPTY]:"Directory is not empty",[lP.ELOOP]:"Too many levels of symbolic links",[lP.ENOMSG]:"No message of desired type",[lP.EBADE]:"Invalid exchange",[lP.EBADR]:"Invalid request descriptor",[lP.EXFULL]:"Exchange full",[lP.ENOANO]:"No anode",[lP.EBADRQC]:"Invalid request code",[lP.ENOSTR]:"Device not a stream",[lP.ENODATA]:"No data available",[lP.ETIME]:"Timer expired",[lP.ENOSR]:"Out of streams resources",[lP.ENONET]:"Machine is not on the network",[lP.EREMOTE]:"Object is remote",[lP.ENOLINK]:"Link has been severed",[lP.ECOMM]:"Communication error on send",[lP.EPROTO]:"Protocol error",[lP.EBADMSG]:"Bad message",[lP.EOVERFLOW]:"Value too large for defined data type",[lP.EBADFD]:"File descriptor in bad state",[lP.ESTRPIPE]:"Streams pipe error",[lP.ENOTSOCK]:"Socket operation on non-socket",[lP.EDESTADDRREQ]:"Destination address required",[lP.EMSGSIZE]:"Message too long",[lP.EPROTOTYPE]:"Protocol wrong type for socket",[lP.ENOPROTOOPT]:"Protocol not available",[lP.EPROTONOSUPPORT]:"Protocol not supported",[lP.ESOCKTNOSUPPORT]:"Socket type not supported",[lP.ENOTSUP]:"Operation is not supported",[lP.ENETDOWN]:"Network is down",[lP.ENETUNREACH]:"Network is unreachable",[lP.ENETRESET]:"Network dropped connection on reset",[lP.ETIMEDOUT]:"Connection timed out",[lP.ECONNREFUSED]:"Connection refused",[lP.EHOSTDOWN]:"Host is down",[lP.EHOSTUNREACH]:"No route to host",[lP.EALREADY]:"Operation already in progress",[lP.EINPROGRESS]:"Operation now in progress",[lP.ESTALE]:"Stale file handle",[lP.EREMOTEIO]:"Remote I/O error",[lP.EDQUOT]:"Disk quota exceeded"};class cP extends Error{static fromJSON(e){const t=new cP(e.errno,e.message,e.path,e.syscall);return t.code=e.code,t.stack=e.stack,t}static With(e,t,n){return new cP(lP[e],uP[lP[e]],t,n)}constructor(e,t=uP[e],n,i=""){super(t),this.errno=e,this.path=n,this.syscall=i,this.code=lP[e],this.message=this.code+": "+t+(this.path?`, '${this.path}'`:"")}toString(){return this.message}toJSON(){return{errno:this.errno,code:this.code,path:this.path,stack:this.stack,message:this.message,syscall:this.syscall}}bufferSize(){return 4+JSON.stringify(this.toJSON()).length}}let dP="/";function hP(e,t){let n="",i=0,r=-1,s=0,o="\0";for(let a=0;a<=e.length;++a){if(a2){const e=n.lastIndexOf("/");-1===e?(n="",i=0):(n=n.slice(0,e),i=n.length-1-n.lastIndexOf("/")),r=a,s=0;continue}if(0!==n.length){n="",i=0,r=a,s=0;continue}}t&&(n+=n.length>0?"/..":"..",i=2)}else n.length>0?n+="/"+e.slice(r+1,a):n=e.slice(r+1,a),i=a-r-1;r=a,s=0}else"."===o&&-1!==s?++s:s=-1}return n}function pP(...e){let t="";for(const n of[...e.reverse(),dP])if(n.length&&(t=`${n}/${t}`,n.startsWith("/")))break;const n=t.startsWith("/");return t=hP(t,!n),n?`/${t}`:t.length?t:"/"}function fP(...e){if(!e.length)return".";const t=e.join("/");return t?.length?function(e){if(!e.length)return".";const t=e.startsWith("/"),n=e.endsWith("/");return(e=hP(e,!t)).length?(n&&(e+="/"),t?`/${e}`:e):t?"/":n?"./":"."}(t):"."}function mP(e){if(0===e.length)return".";const t="/"===e[0];let n=-1,i=!0;for(let t=e.length-1;t>=1;--t)if("/"===e[t]){if(!i){n=t;break}}else i=!1;return-1===n?t?"/":".":t&&1===n?"//":e.slice(0,n)}function gP(e,t){let n=0,i=-1,r=!0;if(void 0!==t&&t.length>0&&t.length<=e.length){if(t===e)return"";let s=t.length-1,o=-1;for(let a=e.length-1;a>=0;--a)if("/"===e[a]){if(!r){n=a+1;break}}else-1===o&&(r=!1,o=a+1),s>=0&&(e[a]===t[s]?-1===--s&&(i=a):(s=-1,i=o));return n===i?i=o:-1===i&&(i=e.length),e.slice(n,i)}for(let t=e.length-1;t>=0;--t)if("/"===e[t]){if(!r){n=t+1;break}}else-1===i&&(r=!1,i=t+1);return-1===i?"":e.slice(n,i)}function _P(e){const t=e.startsWith("/"),n={root:t?"/":"",dir:"",base:"",ext:"",name:""};if(0===e.length)return n;const i=t?1:0;let r=-1,s=0,o=-1,a=!0,l=e.length-1,u=0;for(;l>=i;--l)if("/"!==e[l])-1===o&&(a=!1,o=l+1),"."===e[l]?-1===r?r=l:1!==u&&(u=1):-1!==r&&(u=-1);else if(!a){s=l+1;break}if(-1!==o){const i=0===s&&t?1:s;-1===r||0===u||1===u&&r===o-1&&r===s+1?n.base=n.name=e.slice(i,o):(n.name=e.slice(i,r),n.base=e.slice(i,o),n.ext=e.slice(r,o))}return s>0?n.dir=e.slice(0,s-1):t&&(n.dir="/"),n}const yP=new TextEncoder;function vP(e){if("string"!=typeof e)throw new cP(lP.EINVAL,"Can not encode a non-string");return yP.encode(e)}const bP=new TextDecoder;function TP(e){if(!(e instanceof Uint8Array))throw new cP(lP.EINVAL,"Can not decode a non-Uint8Array");return bP.decode(e)}function xP(e){return JSON.parse(TP(e),(e,t)=>""==e?t:BigInt(t))}function EP(e){return vP(JSON.stringify(e,(e,t)=>""==e?t:t.toString()))}function wP(e,t){if("number"==typeof e)return e;if("string"==typeof e){const t=parseInt(e,8);if(!isNaN(t))return t}if("number"==typeof t)return t;throw new cP(lP.EINVAL,"Invalid mode: "+e?.toString())}function IP(e){if(e instanceof Date)return e;try{return new Date(e)}catch{throw new cP(lP.EINVAL,"Invalid time.")}}function AP(e){if((e=e.toString()).includes("\0"))throw new cP(lP.EINVAL,"Path can not contain null character");if(0==e.length)throw new cP(lP.EINVAL,"Path can not be empty");return pP(e.replaceAll(/[/\\]+/g,"/"))}function SP(e,t="utf8",n,i=0){return"object"!=typeof e||null===e?{encoding:"string"==typeof e?e:t??null,flag:n,mode:i}:{encoding:"string"==typeof e?.encoding?e.encoding:t??null,flag:"string"==typeof e?.flag?e.flag:n,mode:wP("mode"in e?e?.mode:null,i)}}function CP(){return crypto.getRandomValues(new BigUint64Array(1))[0]}const OP={uid:0,gid:0,suid:0,sgid:0,euid:0,egid:0,groups:[]};function MP(e){return{suid:e.uid,sgid:e.gid,euid:e.uid,egid:e.gid,groups:[],...e}}const kP=0,RP=4,NP=2,DP=1,FP=1,LP=2,PP=4,BP=0,$P=1,UP=2,VP=64,zP=128,jP=256,YP=512,GP=1024,HP=65536,WP=262144,XP=131072,qP=1052672,KP=4096,ZP=32768,QP=16384,JP=2048,eB=61440,tB=49152,nB=40960,iB=32768,rB=24576,sB=16384,oB=8192,aB=4096,lB=2048,uB=1024,cB=512,dB=448,hB=256,pB=128,fB=64,mB=56,gB=32,_B=16,yB=8,vB=7,bB=4,TB=2,xB=1,EB=0,wB=2**32-1,IB={checkAccess:!0,updateOnRead:!0,syncImmediately:!0,unsafeBufferReplace:!1};Promise.withResolvers??(Promise.withResolvers=function(){let e,t;const n=new Promise((n,i)=>{e=n,t=i});return{promise:n,resolve:e,reject:t}}),Symbol.dispose??(Symbol.dispose=Symbol("Symbol.dispose")),Symbol.asyncDispose??(Symbol.asyncDispose=Symbol("Symbol.asyncDispose"));class AB{_convert(e){return this._isBigint?BigInt(e):Number(e)}get blocks(){return this._convert(Math.ceil(Number(this.size)/512))}get atime(){return new Date(Number(this.atimeMs))}set atime(e){this.atimeMs=this._convert(e.getTime())}get mtime(){return new Date(Number(this.mtimeMs))}set mtime(e){this.mtimeMs=this._convert(e.getTime())}get ctime(){return new Date(Number(this.ctimeMs))}set ctime(e){this.ctimeMs=this._convert(e.getTime())}get birthtime(){return new Date(Number(this.birthtimeMs))}set birthtime(e){this.birthtimeMs=this._convert(e.getTime())}constructor({atimeMs:e,mtimeMs:t,ctimeMs:n,birthtimeMs:i,uid:r,gid:s,size:o,mode:a,ino:l}={}){this.dev=this._convert(0),this.ino=this._convert(0),this.rdev=this._convert(0),this.nlink=this._convert(1),this.blksize=this._convert(4096),this.uid=this._convert(0),this.gid=this._convert(0);const u=Date.now();this.atimeMs=this._convert(e??u),this.mtimeMs=this._convert(t??u),this.ctimeMs=this._convert(n??u),this.birthtimeMs=this._convert(i??u),this.uid=this._convert(r??0),this.gid=this._convert(s??0),this.size=this._convert(o??0),this.ino=this._convert(l??0),this.mode=this._convert(a??420&iB),0==(this.mode&eB)&&(this.mode=this.mode|this._convert(iB))}isFile(){return(this.mode&eB)===iB}isDirectory(){return(this.mode&eB)===sB}isSymbolicLink(){return(this.mode&eB)===nB}isSocket(){return(this.mode&eB)===tB}isBlockDevice(){return(this.mode&eB)===rB}isCharacterDevice(){return(this.mode&eB)===oB}isFIFO(){return(this.mode&eB)===aB}hasAccess(e,t){const n=t?.credentials||OP;if(this.isSymbolicLink()||0===n.euid||0===n.egid)return!0;let i=0;return n.uid===this.uid&&(this.mode&hB&&(i|=RP),this.mode&pB&&(i|=NP),this.mode&fB&&(i|=DP)),(n.gid===this.gid||n.groups.includes(Number(this.gid)))&&(this.mode&gB&&(i|=RP),this.mode&_B&&(i|=NP),this.mode&yB&&(i|=DP)),this.mode&bB&&(i|=RP),this.mode&TB&&(i|=NP),this.mode&xB&&(i|=DP),(i&e)===e}chmod(e){this.mode=this._convert(this.mode&eB|e)}chown(e,t){e=Number(e),t=Number(t),!isNaN(e)&&0<=e&&e<2**32&&(this.uid=this._convert(e)),!isNaN(t)&&0<=t&&t<2**32&&(this.gid=this._convert(t))}get atimeNs(){return 1000n*BigInt(this.atimeMs)}get mtimeNs(){return 1000n*BigInt(this.mtimeMs)}get ctimeNs(){return 1000n*BigInt(this.ctimeMs)}get birthtimeNs(){return 1000n*BigInt(this.birthtimeMs)}}function SB(e,t,n){!isNaN(t)&&0<=t&&t<2**32&&(e.uid=t),!isNaN(n)&&0<=n&&n<2**32&&(e.gid=n)}class CB extends AB{constructor(){super(...arguments),this._isBigint=!1}}class OB extends AB{constructor(){super(...arguments),this._isBigint=!0}}class MB{constructor(){this.type=525687744115,this.bsize=4096,this.blocks=0,this.bfree=0,this.bavail=0,this.files=wB,this.ffree=wB}}class kB{constructor(){this.type=0x7a656e6673n,this.bsize=4096n,this.blocks=0n,this.bfree=0n,this.bavail=0n,this.files=BigInt(wB),this.ffree=BigInt(wB)}}const RB=["r","r+","rs","rs+","w","wx","w+","wx+","a","ax","a+","ax+"];function NB(e){if("number"==typeof e)return function(e){switch(e){case BP:return"r";case BP|qP:return"rs";case UP:return"r+";case UP|qP:return"rs+";case YP|VP|$P:return"w";case YP|VP|$P|zP:return"wx";case YP|VP|UP:return"w+";case YP|VP|UP|zP:return"wx+";case GP|VP|$P:return"a";case GP|VP|$P|zP:return"ax";case GP|VP|UP:return"a+";case GP|VP|UP|zP:return"ax+";default:throw new Error("Invalid flag number: "+e)}}(e);if(!RB.includes(e))throw new Error("Invalid flag string: "+e);return e}function DB(e){let t=0;return t<<=1,t+=+FB(e),t<<=1,t+=+LB(e),t<<=1,t}function FB(e){return-1!==e.indexOf("r")||-1!==e.indexOf("+")}function LB(e){return-1!==e.indexOf("w")||-1!==e.indexOf("a")||-1!==e.indexOf("+")}function PB(e){return-1!==e.indexOf("w")}function BB(e){return-1!==e.indexOf("a")}function $B(e){return-1!==e.indexOf("x")}class UB{constructor(e,t){this.fs=e,this.path=t}async[Symbol.asyncDispose](){await this.close()}[Symbol.dispose](){this.closeSync()}datasync(){return this.sync()}datasyncSync(){return this.syncSync()}}class VB extends UB{constructor(e,t,n,i,r=new Uint8Array(new ArrayBuffer(0,e.metadata().noResizableBuffers?{}:{maxByteLength:wB}))){if(super(e,t),this.flag=n,this.stats=i,this._buffer=r,this._position=0,this.dirty=!1,this.closed=!1,this.stats.size!=r.byteLength){if(FB(this.flag))throw new Error(`Size mismatch: buffer length ${r.byteLength}, stats size ${this.stats.size}`);this.dirty=!0}}get buffer(){return this._buffer}get position(){return BB(this.flag)?this.stats.size:this._position}set position(e){this._position=e}async sync(){if(this.closed)throw cP.With("EBADF",this.path,"File.sync");this.dirty&&(await this.fs.sync(this.path,this._buffer,this.stats),this.dirty=!1)}syncSync(){if(this.closed)throw cP.With("EBADF",this.path,"File.sync");this.dirty&&(this.fs.syncSync(this.path,this._buffer,this.stats),this.dirty=!1)}async close(){if(this.closed)throw cP.With("EBADF",this.path,"File.close");await this.sync(),this.dispose()}closeSync(){if(this.closed)throw cP.With("EBADF",this.path,"File.close");this.syncSync(),this.dispose()}dispose(e){if(this.closed)throw cP.With("EBADF",this.path,"File.dispose");if(this.dirty&&!e)throw cP.With("EBUSY",this.path,"File.dispose");delete this._buffer,delete this.stats,this.closed=!0}stat(){if(this.closed)throw cP.With("EBADF",this.path,"File.stat");return Promise.resolve(new CB(this.stats))}statSync(){if(this.closed)throw cP.With("EBADF",this.path,"File.stat");return new CB(this.stats)}_truncate(e){if(this.closed)throw cP.With("EBADF",this.path,"File.truncate");if(this.dirty=!0,!LB(this.flag))throw new cP(lP.EPERM,"File not opened with a writeable mode.");if(this.stats.mtimeMs=Date.now(),e>this._buffer.length){const t=new Uint8Array(e-this._buffer.length);return void this._write(t,0,t.length,this._buffer.length)}this.stats.size=e,this._buffer=e?this._buffer.slice(0,e):new Uint8Array}async truncate(e){this._truncate(e),IB.syncImmediately&&await this.sync()}truncateSync(e){this._truncate(e),IB.syncImmediately&&this.syncSync()}_write(e,t=0,n=this.stats.size,i=this.position){if(this.closed)throw cP.With("EBADF",this.path,"File.write");if(!LB(this.flag))throw new cP(lP.EPERM,"File not opened with a writeable mode.");this.dirty=!0;const r=i+n,s=e.slice(t,t+n);if(r>this.stats.size&&(this.stats.size=r,r>this._buffer.byteLength))if(this._buffer.buffer.resizable&&this._buffer.buffer.maxByteLength<=r)this._buffer.buffer.resize(r);else if(IB.unsafeBufferReplace)this._buffer=s;else{const e=new Uint8Array(new ArrayBuffer(r,this.fs.metadata().noResizableBuffers?{}:{maxByteLength:wB}));e.set(this._buffer),this._buffer=e}return this._buffer.set(s,i),this.stats.mtimeMs=Date.now(),this.position=i+s.byteLength,s.byteLength}async write(e,t,n,i){const r=this._write(e,t,n,i);return IB.syncImmediately&&await this.sync(),r}writeSync(e,t=0,n=this.stats.size,i=this.position){const r=this._write(e,t,n,i);return IB.syncImmediately&&this.syncSync(),r}_read(e,t=0,n=this.stats.size,i){if(this.closed)throw cP.With("EBADF",this.path,"File.read");if(!FB(this.flag))throw new cP(lP.EPERM,"File not opened with a readable mode.");IB.updateOnRead&&(this.dirty=!0),this.stats.atimeMs=Date.now(),i??(i=this.position);let r=i+n;r>this.stats.size&&(r=i+Math.max(this.stats.size-i,0)),this._position=r;const s=r-i;return 0==s||new Uint8Array(e.buffer,t,n).set(this._buffer.slice(i,r)),s}async read(e,t,n,i){const r=this._read(e,t,n,i);return IB.syncImmediately&&await this.sync(),{bytesRead:r,buffer:e}}readSync(e,t,n,i){const r=this._read(e,t,n,i);return IB.syncImmediately&&this.syncSync(),r}async chmod(e){if(this.closed)throw cP.With("EBADF",this.path,"File.chmod");this.dirty=!0,this.stats.mode=this.stats.mode&(e>eB?~eB:eB)|e,(IB.syncImmediately||e>eB)&&await this.sync()}chmodSync(e){if(this.closed)throw cP.With("EBADF",this.path,"File.chmod");this.dirty=!0,this.stats.mode=this.stats.mode&(e>eB?~eB:eB)|e,(IB.syncImmediately||e>eB)&&this.syncSync()}async chown(e,t){if(this.closed)throw cP.With("EBADF",this.path,"File.chown");this.dirty=!0,SB(this.stats,e,t),IB.syncImmediately&&await this.sync()}chownSync(e,t){if(this.closed)throw cP.With("EBADF",this.path,"File.chown");this.dirty=!0,SB(this.stats,e,t),IB.syncImmediately&&this.syncSync()}async utimes(e,t){if(this.closed)throw cP.With("EBADF",this.path,"File.utimes");this.dirty=!0,this.stats.atime=e,this.stats.mtime=t,IB.syncImmediately&&await this.sync()}utimesSync(e,t){if(this.closed)throw cP.With("EBADF",this.path,"File.utimes");this.dirty=!0,this.stats.atime=e,this.stats.mtime=t,IB.syncImmediately&&this.syncSync()}}class zB{metadata(){return{name:this.constructor.name.toLowerCase(),readonly:!1,totalSpace:0,freeSpace:0,noResizableBuffers:!1,noAsyncCache:this._disableSync??!1,type:525687744115}}constructor(...e){}async ready(){}async exists(e){try{return await this.stat(e),!0}catch(e){return"ENOENT"!=e.code}}existsSync(e){try{return this.statSync(e),!0}catch(e){return"ENOENT"!=e.code}}}var jB=__webpack_require__(30228);Symbol.toStringTag,Symbol.iterator;const YB=Intl.NumberFormat("en",{notation:"compact"});YB.format.bind(YB);function GB(e){return e.at(0).toUpperCase()+e.slice(1)}const HB=["int8","uint8","int16","uint16","int32","uint32","int64","uint64","float32","float64"],WB=[...HB,...HB.map(e=>GB(e)),"char"],XB=/^(u?int|float)(8|16|32|64)$/i;function qB(e){return"char"==e?"uint8":e.toLowerCase()}function KB(e){return XB.test(e.toString())}function ZB(e){return"char"==e||XB.test(e.toString().toLowerCase())}Symbol.struct_init||=Symbol("struct_init"),Symbol.struct_metadata||=Symbol("struct_metadata");Symbol.struct_init,Symbol.struct_metadata;function QB(e){const t=Symbol.metadata||Object.getOwnPropertySymbols(e).find(e=>"Symbol.metadata"==e.description);var n;if(n=e,Symbol?.metadata&&(Symbol.metadata in n||Object.defineProperty(n,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:Object.create(null)})),!t)throw new ReferenceError("Could not get a reference to Symbol.metadata");return t}function JB(e){return"function"==typeof e&&QB(e)in e&&function(e){return null!=e&&"object"==typeof e&&Symbol.struct_metadata in e}(e[QB(e)])}function e$(e){return null!=e&&"object"==typeof e&&JB(e.constructor)}function t$(e){if(!e$(e))throw new TypeError(("function"==typeof e?e.name:"object"==typeof e&&e?e.constructor.name:e)+" is not a struct instance")}function n$(e){if(!function(e){return e$(e)||JB(e)}(e))throw new TypeError(("function"==typeof e?e.name:"object"==typeof e&&e?e.constructor.name:e)+" is not a struct")}function i$(e){if("string"==typeof e)return function(e){if(!ZB(e))throw new TypeError("Not a valid primitive type: "+e)}(e),+qB(e).match(XB)[2]/8;n$(e);const t=JB(e)?e:e.constructor;return t[QB(t)][Symbol.struct_metadata].size}function r$(e,t){return Math.ceil(e/t)*t}function s$(e={}){return function(t,n){n.metadata??={},n.metadata[Symbol.struct_init]||=[];let i=0;const r=new Map;for(const t of n.metadata[Symbol.struct_init]){const{name:n,type:s,length:o}=t;if(!ZB(s)&&!JB(s))throw new TypeError("Not a valid type: "+s);r.set(n,{offset:i,type:ZB(s)?qB(s):s,length:o}),i+=i$(s)*(o||1),i=r$(i,e.align||1)}return n.metadata[Symbol.struct_metadata]={options:e,members:r,size:i},t}}function o$(e,t){return function(n,i){let r=i.name;if("symbol"==typeof r&&(console.warn("Symbol used for struct member name will be coerced to string: "+r.toString()),r=r.toString()),!r)throw new ReferenceError("Invalid name for struct member");return i.metadata??={},i.metadata[Symbol.struct_init]||=[],i.metadata[Symbol.struct_init].push({name:r,type:e,length:t}),n}}function a$(e){t$(e);const{options:t,members:n}=e.constructor[QB(e.constructor)][Symbol.struct_metadata],i=new Uint8Array(i$(e)),r=new DataView(i.buffer);for(const[s,{type:o,length:a,offset:l}]of n)for(let n=0;n<(a||1);n++){const u=l+i$(o)*n;let c=a>0?e[s][n]:e[s];if("string"==typeof c&&(c=c.charCodeAt(0)),!KB(o)){i.set(c?a$(c):new Uint8Array(i$(o)),u);continue}const d="set"+GB(o);"setInt64"!=d?"setUint64"!=d?r[d](u,Number(c),!t.bigEndian):r.setBigUint64(u,BigInt(c),!t.bigEndian):r.setBigInt64(u,BigInt(c),!t.bigEndian)}return i}function l$(e,t){t$(e);const{options:n,members:i}=e.constructor[QB(e.constructor)][Symbol.struct_metadata],r=t instanceof Uint8Array?t:new Uint8Array("buffer"in t?t.buffer:t),s=new DataView(r.buffer.slice(r.byteOffset,r.byteOffset+r.byteLength));for(const[t,{type:o,offset:a,length:l}]of i)for(let i=0;i<(l||1);i++){let u=l>0?e[t]:e;const c=l>0?i:t,d=a+i$(o)*i;if("string"==typeof e[t]){e[t]=e[t].slice(0,i)+String.fromCharCode(s.getUint8(d))+e[t].slice(i+1);continue}if(!KB(o)){if(null===u[c]||void 0===u[c])continue;l$(u[c],new Uint8Array(r.slice(d,d+i$(o))));continue}l>0&&(u||=[]);const h="get"+GB(o);"getInt64"!=h?u[c]="getUint64"!=h?s[h](d,!n.bigEndian):s.getBigUint64(d,!n.bigEndian):u[c]=s.getBigInt64(d,!n.bigEndian)}}Symbol.metadata??=Symbol.for("Symbol.metadata");const u$=Object.fromEntries(WB.map(e=>{return[e,(t=e,function(e,n){return"number"==typeof e?o$(t,e):o$(t)(e,n)})];var t}));var c$=function(e,t,n,i,r,s){function o(e){if(void 0!==e&&"function"!=typeof e)throw new TypeError("Function expected");return e}for(var a,l=i.kind,u="getter"===l?"get":"setter"===l?"set":"value",c=!t&&e?i.static?e:e.prototype:null,d=t||(c?Object.getOwnPropertyDescriptor(c,i.name):{}),h=!1,p=n.length-1;p>=0;p--){var f={};for(var m in i)f[m]="access"===m?{}:i[m];for(var m in i.access)f.access[m]=i.access[m];f.addInitializer=function(e){if(h)throw new TypeError("Cannot add initializers after decoration has completed");s.push(o(e||null))};var g=(0,n[p])("accessor"===l?{get:d.get,set:d.set}:d[u],f);if("accessor"===l){if(void 0===g)continue;if(null===g||"object"!=typeof g)throw new TypeError("Object expected");(a=o(g.get))&&(d.get=a),(a=o(g.set))&&(d.set=a),(a=o(g.init))&&r.unshift(a)}else(a=o(g))&&("field"===l?r.unshift(a):d[u]=a)}c&&Object.defineProperty(c,i.name,d),h=!0},d$=function(e,t,n){for(var i=arguments.length>2,r=0;r{var e,t,n,i,r,s,o,a,l,u,c;let d,h,p,f,m,g,_,y,v,b,T,x,E,w=[s$()],I=[],A=[],S=[],C=[],O=[],M=[],k=[],R=[],N=[],D=[],F=[],L=[],P=[],B=[],$=[],U=[],V=[],z=[],j=[],Y=[],G=[],H=[],W=[];var X=h=class{constructor(e){if(this.data=d$(this,A,void 0),this.size=(d$(this,S),d$(this,C,void 0)),this.mode=(d$(this,O),d$(this,M,void 0)),this.nlink=(d$(this,k),d$(this,R,void 0)),this.uid=(d$(this,N),d$(this,D,void 0)),this.gid=(d$(this,F),d$(this,L,void 0)),this.atimeMs=(d$(this,P),d$(this,B,void 0)),this.birthtimeMs=(d$(this,$),d$(this,U,void 0)),this.mtimeMs=(d$(this,V),d$(this,z,void 0)),this.ctimeMs=(d$(this,j),d$(this,Y,void 0)),this.ino=(d$(this,G),d$(this,H,void 0)),d$(this,W),e){const t=i$(X),n=t-i$("uint64");if(e.byteLength{const q="function"==typeof Symbol&&Symbol.metadata?Object.create(null):void 0;p=[(e=u$).uint64.bind(e)],f=[(t=u$).uint32.bind(t)],m=[(n=u$).uint16.bind(n)],g=[(i=u$).uint32.bind(i)],_=[(r=u$).uint32.bind(r)],y=[(s=u$).uint32.bind(s)],v=[(o=u$).float64.bind(o)],b=[(a=u$).float64.bind(a)],T=[(l=u$).float64.bind(l)],x=[(u=u$).float64.bind(u)],E=[(c=u$).uint64.bind(c)],c$(null,null,p,{kind:"field",name:"data",static:!1,private:!1,access:{has:e=>"data"in e,get:e=>e.data,set:(e,t)=>{e.data=t}},metadata:q},A,S),c$(null,null,f,{kind:"field",name:"size",static:!1,private:!1,access:{has:e=>"size"in e,get:e=>e.size,set:(e,t)=>{e.size=t}},metadata:q},C,O),c$(null,null,m,{kind:"field",name:"mode",static:!1,private:!1,access:{has:e=>"mode"in e,get:e=>e.mode,set:(e,t)=>{e.mode=t}},metadata:q},M,k),c$(null,null,g,{kind:"field",name:"nlink",static:!1,private:!1,access:{has:e=>"nlink"in e,get:e=>e.nlink,set:(e,t)=>{e.nlink=t}},metadata:q},R,N),c$(null,null,_,{kind:"field",name:"uid",static:!1,private:!1,access:{has:e=>"uid"in e,get:e=>e.uid,set:(e,t)=>{e.uid=t}},metadata:q},D,F),c$(null,null,y,{kind:"field",name:"gid",static:!1,private:!1,access:{has:e=>"gid"in e,get:e=>e.gid,set:(e,t)=>{e.gid=t}},metadata:q},L,P),c$(null,null,v,{kind:"field",name:"atimeMs",static:!1,private:!1,access:{has:e=>"atimeMs"in e,get:e=>e.atimeMs,set:(e,t)=>{e.atimeMs=t}},metadata:q},B,$),c$(null,null,b,{kind:"field",name:"birthtimeMs",static:!1,private:!1,access:{has:e=>"birthtimeMs"in e,get:e=>e.birthtimeMs,set:(e,t)=>{e.birthtimeMs=t}},metadata:q},U,V),c$(null,null,T,{kind:"field",name:"mtimeMs",static:!1,private:!1,access:{has:e=>"mtimeMs"in e,get:e=>e.mtimeMs,set:(e,t)=>{e.mtimeMs=t}},metadata:q},z,j),c$(null,null,x,{kind:"field",name:"ctimeMs",static:!1,private:!1,access:{has:e=>"ctimeMs"in e,get:e=>e.ctimeMs,set:(e,t)=>{e.ctimeMs=t}},metadata:q},Y,G),c$(null,null,E,{kind:"field",name:"ino",static:!1,private:!1,access:{has:e=>"ino"in e,get:e=>e.ino,set:(e,t)=>{e.ino=t}},metadata:q},H,W),c$(null,d={value:h},w,{kind:"class",name:h.name,metadata:q},null,I),X=h=d.value,q&&Object.defineProperty(h,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:q}),d$(h,I)})(),X=h})();var f$=function(e,t,n){if(null!=t){if("object"!=typeof t&&"function"!=typeof t)throw new TypeError("Object expected.");var i,r;if(n){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");i=t[Symbol.asyncDispose]}if(void 0===i){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");i=t[Symbol.dispose],n&&(r=i)}if("function"!=typeof i)throw new TypeError("Object not disposable.");r&&(i=function(){try{r.call(this)}catch(e){return Promise.reject(e)}}),e.stack.push({value:t,dispose:i,async:n})}else n&&e.stack.push({async:!0});return t},m$=function(e){return function(t){function n(n){t.error=t.hasError?new e(n,t.error,"An error was suppressed during disposal."):n,t.hasError=!0}return function e(){for(;t.stack.length;){var i=t.stack.pop();try{var r=i.dispose&&i.dispose.call(i.value);if(i.async)return Promise.resolve(r).then(e,function(t){return n(t),e()})}catch(e){n(e)}}if(t.hasError)throw t.error}()}}("function"==typeof SuppressedError?SuppressedError:function(e,t,n){var i=new Error(n);return i.name="SuppressedError",i.error=e,i.suppressed=t,i});class g$ extends zB{async ready(){this._initialized||(await this.checkRoot(),this._initialized=!0)}constructor(e){super(),this.store=e,this._initialized=!1}metadata(){return{...super.metadata(),name:this.store.name}}async empty(){await this.store.clear(),await this.checkRoot()}emptySync(){this.store.clearSync(),this.checkRootSync()}async rename(e,t){const n={stack:[],error:void 0,hasError:!1};try{const i=f$(n,this.store.transaction(),!0),r=_P(e),s=_P(t),o=await this.findInode(i,r.dir,"rename"),a=xP(await this.get(i,o.data,r.dir,"rename"));if(!a[r.base])throw cP.With("ENOENT",e,"rename");const l=a[r.base];if(delete a[r.base],0===(s.dir+"/").indexOf(e+"/"))throw new cP(lP.EBUSY,r.dir);const u=s.dir==r.dir,c=u?o:await this.findInode(i,s.dir,"rename"),d=u?a:xP(await this.get(i,c.data,s.dir,"rename"));if(d[s.base]){const e=new p$(await this.get(i,d[s.base],t,"rename"));if(!e.toStats().isFile())throw cP.With("EPERM",t,"rename");await i.remove(e.data),await i.remove(d[s.base])}d[s.base]=l,await i.set(o.data,EP(a)),await i.set(c.data,EP(d)),await i.commit()}catch(e){n.error=e,n.hasError=!0}finally{const e=m$(n);e&&await e}}renameSync(e,t){const n={stack:[],error:void 0,hasError:!1};try{const i=f$(n,this.store.transaction(),!1),r=_P(e),s=_P(t),o=this.findInodeSync(i,r.dir,"rename"),a=xP(this.getSync(i,o.data,r.dir,"rename"));if(!a[r.base])throw cP.With("ENOENT",e,"rename");const l=a[r.base];if(delete a[r.base],0==(s.dir+"/").indexOf(e+"/"))throw new cP(lP.EBUSY,r.dir);const u=s.dir===r.dir,c=u?o:this.findInodeSync(i,s.dir,"rename"),d=u?a:xP(this.getSync(i,c.data,s.dir,"rename"));if(d[s.base]){const e=new p$(this.getSync(i,d[s.base],t,"rename"));if(!e.toStats().isFile())throw cP.With("EPERM",t,"rename");i.removeSync(e.data),i.removeSync(d[s.base])}d[s.base]=l,i.setSync(o.data,EP(a)),i.setSync(c.data,EP(d)),i.commitSync()}catch(e){n.error=e,n.hasError=!0}finally{m$(n)}}async stat(e){const t={stack:[],error:void 0,hasError:!1};try{const n=f$(t,this.store.transaction(),!0);return(await this.findInode(n,e,"stat")).toStats()}catch(e){t.error=e,t.hasError=!0}finally{const e=m$(t);e&&await e}}statSync(e){const t={stack:[],error:void 0,hasError:!1};try{const n=f$(t,this.store.transaction(),!1);return this.findInodeSync(n,e,"stat").toStats()}catch(e){t.error=e,t.hasError=!0}finally{m$(t)}}async createFile(e,t,n){const i=await this.commitNew(e,iB,n,new Uint8Array,"createFile");return new VB(this,e,t,i.toStats(),new Uint8Array)}createFileSync(e,t,n){const i=this.commitNewSync(e,iB,n,new Uint8Array,"createFile");return new VB(this,e,t,i.toStats(),new Uint8Array)}async openFile(e,t){const n={stack:[],error:void 0,hasError:!1};try{const i=f$(n,this.store.transaction(),!0),r=await this.findInode(i,e,"openFile"),s=await this.get(i,r.data,e,"openFile");return new VB(this,e,t,r.toStats(),s)}catch(e){n.error=e,n.hasError=!0}finally{const e=m$(n);e&&await e}}openFileSync(e,t){const n={stack:[],error:void 0,hasError:!1};try{const i=f$(n,this.store.transaction(),!1),r=this.findInodeSync(i,e,"openFile"),s=this.getSync(i,r.data,e,"openFile");return new VB(this,e,t,r.toStats(),s)}catch(e){n.error=e,n.hasError=!0}finally{m$(n)}}async unlink(e){return this.remove(e,!1,"unlink")}unlinkSync(e){this.removeSync(e,!1,"unlink")}async rmdir(e){if((await this.readdir(e)).length)throw cP.With("ENOTEMPTY",e,"rmdir");await this.remove(e,!0,"rmdir")}rmdirSync(e){if(this.readdirSync(e).length)throw cP.With("ENOTEMPTY",e,"rmdir");this.removeSync(e,!0,"rmdir")}async mkdir(e,t){await this.commitNew(e,sB,t,vP("{}"),"mkdir")}mkdirSync(e,t){this.commitNewSync(e,sB,t,vP("{}"),"mkdir")}async readdir(e){const t={stack:[],error:void 0,hasError:!1};try{const n=f$(t,this.store.transaction(),!0),i=await this.findInode(n,e,"readdir");return Object.keys(xP(await this.get(n,i.data,e,"readdir")))}catch(e){t.error=e,t.hasError=!0}finally{const e=m$(t);e&&await e}}readdirSync(e){const t={stack:[],error:void 0,hasError:!1};try{const n=f$(t,this.store.transaction(),!1),i=this.findInodeSync(n,e,"readdir");return Object.keys(xP(this.getSync(n,i.data,e,"readdir")))}catch(e){t.error=e,t.hasError=!0}finally{m$(t)}}async sync(e,t,n){const i={stack:[],error:void 0,hasError:!1};try{const r=f$(i,this.store.transaction(),!0),s=await this._findInode(r,e,"sync"),o=new p$(await this.get(r,s,e,"sync")),a=o.update(n);await r.set(o.data,t),a&&await r.set(s,a$(o)),await r.commit()}catch(e){i.error=e,i.hasError=!0}finally{const e=m$(i);e&&await e}}syncSync(e,t,n){const i={stack:[],error:void 0,hasError:!1};try{const r=f$(i,this.store.transaction(),!1),s=this._findInodeSync(r,e,"sync"),o=new p$(this.getSync(r,s,e,"sync")),a=o.update(n);r.setSync(o.data,t),a&&r.setSync(s,a$(o)),r.commitSync()}catch(e){i.error=e,i.hasError=!0}finally{m$(i)}}async link(e,t){const n={stack:[],error:void 0,hasError:!1};try{const i=f$(n,this.store.transaction(),!0),r=mP(t),s=await this.findInode(i,r,"link"),o=xP(await this.get(i,s.data,r,"link")),a=await this._findInode(i,e,"link"),l=new p$(await this.get(i,a,e,"link"));l.nlink++,o[gP(t)]=a,i.setSync(a,a$(l)),i.setSync(s.data,EP(o)),i.commitSync()}catch(e){n.error=e,n.hasError=!0}finally{const e=m$(n);e&&await e}}linkSync(e,t){const n={stack:[],error:void 0,hasError:!1};try{const i=f$(n,this.store.transaction(),!1),r=mP(t),s=this.findInodeSync(i,r,"link"),o=xP(this.getSync(i,s.data,r,"link")),a=this._findInodeSync(i,e,"link"),l=new p$(this.getSync(i,a,e,"link"));l.nlink++,o[gP(t)]=a,i.setSync(a,a$(l)),i.setSync(s.data,EP(o)),i.commitSync()}catch(e){n.error=e,n.hasError=!0}finally{m$(n)}}async checkRoot(){const e={stack:[],error:void 0,hasError:!1};try{const t=f$(e,this.store.transaction(),!0);if(await t.get(0n))return;const n=new p$;n.ino=0n,n.mode=511|sB,await t.set(n.data,vP("{}")),await t.set(0n,a$(n)),await t.commit()}catch(t){e.error=t,e.hasError=!0}finally{const t=m$(e);t&&await t}}checkRootSync(){const e={stack:[],error:void 0,hasError:!1};try{const t=f$(e,this.store.transaction(),!1);if(t.getSync(0n))return;const n=new p$;n.ino=0n,n.mode=511|sB,t.setSync(n.data,vP("{}")),t.setSync(0n,a$(n)),t.commitSync()}catch(t){e.error=t,e.hasError=!0}finally{m$(e)}}async _findInode(e,t,n,i=new Set){if(i.has(t))throw new cP(lP.EIO,"Infinite loop detected while finding inode",t);if(i.add(t),"/"==t)return 0n;const{dir:r,base:s}=_P(t),o="/"==r?new p$(await this.get(e,0n,r,n)):await this.findInode(e,r,n,i),a=xP(await this.get(e,o.data,r,n));if(!(s in a))throw cP.With("ENOENT",pP(r,s),n);return a[s]}_findInodeSync(e,t,n,i=new Set){if(i.has(t))throw new cP(lP.EIO,"Infinite loop detected while finding inode",t);if(i.add(t),"/"==t)return 0n;const{dir:r,base:s}=_P(t),o="/"==r?new p$(this.getSync(e,0n,r,n)):this.findInodeSync(e,r,n,i),a=xP(this.getSync(e,o.data,r,n));if(!(s in a))throw cP.With("ENOENT",pP(r,s),n);return a[s]}async findInode(e,t,n,i=new Set){const r=await this._findInode(e,t,n,i);return new p$(await this.get(e,r,t,n))}findInodeSync(e,t,n,i=new Set){const r=this._findInodeSync(e,t,n,i);return new p$(this.getSync(e,r,t,n))}async get(e,t,n,i){const r=await e.get(t);if(!r)throw cP.With("ENOENT",n,i);return r}getSync(e,t,n,i){const r=e.getSync(t);if(!r)throw cP.With("ENOENT",n,i);return r}async allocNew(e,t,n){for(let t=0;t<5;t++){const t=CP();if(!await e.get(t))return t}throw new cP(lP.ENOSPC,"No IDs available",t,n)}allocNewSync(e,t,n){for(let t=0;t<5;t++){const t=CP();if(!e.getSync(t))return t}throw new cP(lP.ENOSPC,"No IDs available",t,n)}async commitNew(e,t,n,i,r){const s={stack:[],error:void 0,hasError:!1};try{if("/"==e)throw cP.With("EEXIST",e,r);const o=f$(s,this.store.transaction(),!0),{dir:a,base:l}=_P(e),u=await this.findInode(o,a,r),c=xP(await this.get(o,u.data,a,r));if(c[l])throw cP.With("EEXIST",e,r);const d=new p$;return d.ino=await this.allocNew(o,e,r),d.data=await this.allocNew(o,e,r),d.mode=n|t,d.uid=u.mode&lB?u.uid:OP.uid,d.gid=u.mode&uB?u.gid:OP.gid,d.size=i.length,await o.set(d.ino,a$(d)),await o.set(d.data,i),c[l]=d.ino,await o.set(u.data,EP(c)),await o.commit(),d}catch(e){s.error=e,s.hasError=!0}finally{const e=m$(s);e&&await e}}commitNewSync(e,t,n,i,r){const s={stack:[],error:void 0,hasError:!1};try{if("/"==e)throw cP.With("EEXIST",e,r);const o=f$(s,this.store.transaction(),!1),{dir:a,base:l}=_P(e),u=this.findInodeSync(o,a,r),c=xP(this.getSync(o,u.data,a,r));if(c[l])throw cP.With("EEXIST",e,r);const d=new p$;return d.ino=this.allocNewSync(o,e,r),d.data=this.allocNewSync(o,e,r),d.size=i.length,d.mode=n|t,d.uid=u.mode&lB?u.uid:OP.uid,d.gid=u.mode&uB?u.gid:OP.gid,o.setSync(d.ino,a$(d)),o.setSync(d.data,i),c[l]=d.ino,o.setSync(u.data,EP(c)),o.commitSync(),d}catch(e){s.error=e,s.hasError=!0}finally{m$(s)}}async remove(e,t,n){const i={stack:[],error:void 0,hasError:!1};try{const r=f$(i,this.store.transaction(),!0),{dir:s,base:o}=_P(e),a=await this.findInode(r,s,n),l=xP(await this.get(r,a.data,s,n));if(!l[o])throw cP.With("ENOENT",e,"remove");const u=l[o],c=new p$(await this.get(r,u,e,n));if(delete l[o],!t&&c.toStats().isDirectory())throw cP.With("EISDIR",e,"remove");await r.set(a.data,EP(l)),--c.nlink<1&&(await r.remove(c.data),await r.remove(u)),await r.commit()}catch(e){i.error=e,i.hasError=!0}finally{const e=m$(i);e&&await e}}removeSync(e,t,n){const i={stack:[],error:void 0,hasError:!1};try{const r=f$(i,this.store.transaction(),!1),{dir:s,base:o}=_P(e),a=this.findInodeSync(r,s,n),l=xP(this.getSync(r,a.data,s,n)),u=l[o];if(!u)throw cP.With("ENOENT",e,"remove");const c=new p$(this.getSync(r,u,e,n));if(delete l[o],!t&&c.toStats().isDirectory())throw cP.With("EISDIR",e,"remove");r.setSync(a.data,EP(l)),--c.nlink<1&&(r.removeSync(c.data),r.removeSync(u)),r.commitSync()}catch(e){i.error=e,i.hasError=!0}finally{m$(i)}}}class _${constructor(e){this.store=e,this.done=!1}async[Symbol.asyncDispose](){this.done||await this.abort()}[Symbol.dispose](){this.done||this.abortSync()}}class y$ extends _${async keys(){return this.keysSync()}async get(e){return this.getSync(e)}async set(e,t){return this.setSync(e,t)}async remove(e){return this.removeSync(e)}async commit(){return this.commitSync()}async abort(){return this.abortSync()}}class v$ extends y${constructor(){super(...arguments),this.originalData=new Map,this.modifiedKeys=new Set}keysSync(){return this.store.keys()}getSync(e){const t=this.store.get(e);return this.stashOldValue(e,t),t}setSync(e,t){return this.markModified(e),this.store.set(e,t)}removeSync(e){this.markModified(e),this.store.delete(e)}commitSync(){this.done=!0}abortSync(){if(this.done){for(const e of this.modifiedKeys){const t=this.originalData.get(e);t?this.store.set(e,t):this.store.delete(e)}this.done=!0}}stashOldValue(e,t){this.originalData.has(e)||this.originalData.set(e,t)}markModified(e){this.modifiedKeys.add(e),this.originalData.has(e)||this.originalData.set(e,this.store.get(e))}}class b$ extends Map{constructor(e="tmp"){super(),this.name=e}async sync(){}clearSync(){this.clear()}transaction(){return new v$(this)}}const T$={name:"InMemory",isAvailable:()=>!0,options:{name:{type:"string",required:!1}},create({name:e}){const t=new g$(new b$(e));return t.checkRootSync(),t}},x$=T$;"function"==typeof SuppressedError&&SuppressedError;class E${constructor(){this.isEnabled=!1,this.sync=new Map,this.async=new Map}has(e){return this.isEnabled&&this.sync.has(e)}get(e){if(this.isEnabled)return this.sync.get(e)}set(e,t){this.isEnabled&&(this.sync.set(e,t),this.async.set(e,Promise.resolve(t)))}hasAsync(e){return this.isEnabled&&this.async.has(e)}getAsync(e){if(this.isEnabled)return this.async.get(e)}setAsync(e,t){this.isEnabled&&(this.async.set(e,t),t.then(t=>this.sync.set(e,t)))}clear(){this.isEnabled&&(this.sync.clear(),this.async.clear())}}const w$=new E$,I$=new E$;var A$=__webpack_require__(48287);function S$(e,t){return Object.fromEntries(Object.entries(e).map(([e,n])=>[e,"function"==typeof n?n.bind(t):n]))}const C$=new Map;let O$=100;function M$(e){const t=O$++;return C$.set(t,e),t}function k$(e){if(!C$.has(e))throw new cP(lP.EBADF);return C$.get(e)}const R$=new Map;function N$(e,t){if("/"!==e[0]&&(e="/"+e),e=pP(e),R$.has(e))throw new cP(lP.EINVAL,"Mount point "+e+" is already in use.");R$.set(e,t),I$.clear()}function D$(e){if("/"!==e[0]&&(e="/"+e),e=pP(e),!R$.has(e))throw new cP(lP.EINVAL,"Mount point "+e+" is already unmounted.");R$.delete(e),I$.clear()}function F$(e,t){const n=t?.root||"/";e=AP(fP(n,e));const i=[...R$].sort((e,t)=>e[0].length>t[0].length?-1:1);for(const[t,r]of i)if(t.length<=e.length&&e.startsWith(t))return""===(e=e.slice(t.length>1?t.length:0))&&(e=n),{fs:r,path:e,mountPoint:t,root:n};throw new cP(lP.EIO,"No file system")}async function L$(){await Promise.all([...R$.values()].map(e=>e.ready()))}function P$(e,t){for(const[n,i]of Object.entries(t))e=e?.replaceAll(n,i);return e}function B$(e,t){"string"==typeof e.stack&&(e.stack=P$(e.stack,t));try{e.message=P$(e.message,t)}catch{}return e.path&&(e.path=P$(e.path,t)),e}function $$(e){"/"in e&&D$("/");for(const[t,n]of Object.entries(e))N$(t,n)}function U$(e,t){const n=e.metadata(),i=n.blockSize||4096;return{type:(t?BigInt:Number)(n.type),bsize:(t?BigInt:Number)(i),ffree:(t?BigInt:Number)(n.freeNodes||wB),files:(t?BigInt:Number)(n.totalNodes||wB),bavail:(t?BigInt:Number)(n.freeSpace/i),bfree:(t?BigInt:Number)(n.freeSpace/i),blocks:(t?BigInt:Number)(n.totalSpace/i)}}function V$(e,t){const n=this?.credentials;if(n?.uid&&n?.gid&&n?.euid&&n?.egid)throw new cP(lP.EPERM,"Can not chroot() as non-root user");return t&&this?(this.root+=e,this):function(e,t=structuredClone(OP)){const n={root:e,credentials:MP(t)},i=S$(ue,n),r=S$(le,n);return{...n,...i,promises:r}}(fP(this?.root||"/",e),n)}N$("/",x$.create({name:"root"}));class z$ extends jB{off(e,t,n,i){return super.off(e,t,n,i)}removeListener(e,t,n,i){return super.removeListener(e,t,n,i)}constructor(e){super(),this.path=e}setMaxListeners(){throw cP.With("ENOSYS",this.path,"Watcher.setMaxListeners")}getMaxListeners(){throw cP.With("ENOSYS",this.path,"Watcher.getMaxListeners")}prependListener(){throw cP.With("ENOSYS",this.path,"Watcher.prependListener")}prependOnceListener(){throw cP.With("ENOSYS",this.path,"Watcher.prependOnceListener")}rawListeners(){throw cP.With("ENOSYS",this.path,"Watcher.rawListeners")}ref(){return this}unref(){return this}}class j$ extends z${constructor(e,t){super(e),this.options=t,function(e,t){const n=AP(e);G$.has(n)||G$.set(n,new Set);G$.get(n).add(t)}(e.toString(),this)}close(){super.emit("close"),function(e,t){const n=AP(e);G$.has(n)&&(G$.get(n).delete(t),0===G$.get(n).size&&G$.delete(n))}(this.path.toString(),this)}[Symbol.dispose](){this.close()}}class Y$ extends z${constructor(e,t){super(e),this.options=t,this.start()}onInterval(){try{const n=Z$(this.path);e=this.previous,t=n,(e.size!=t.size||+e.atime!=+t.atime||+e.mtime!=+t.mtime||+e.ctime!=+t.ctime||e.mode!=t.mode)&&(this.emit("change",n,this.previous),this.previous=n)}catch(e){this.emit("error",e)}var e,t}start(){const e=this.options.interval||5e3;try{this.previous=Z$(this.path)}catch(e){return void this.emit("error",e)}this.intervalId=setInterval(this.onInterval.bind(this),e),this.options.persistent||"object"!=typeof this.intervalId||this.intervalId.unref()}stop(){this.intervalId&&(clearInterval(this.intervalId),this.intervalId=void 0),this.removeAllListeners()}}const G$=new Map;function H$(e,t){if(t=AP(t),G$.has(t))for(const n of G$.get(t))n.emit("change",e,gP(t));let n,i=t;for(;i!==n;)if(n=i,i=mP(i),G$.has(i))for(const n of G$.get(i))n.emit("change",e,t.slice(i.length+("/"==i?0:1)))}var W$=function(e,t,n){if(null!=t){if("object"!=typeof t&&"function"!=typeof t)throw new TypeError("Object expected.");var i,r;if(n){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");i=t[Symbol.asyncDispose]}if(void 0===i){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");i=t[Symbol.dispose],n&&(r=i)}if("function"!=typeof i)throw new TypeError("Object not disposable.");r&&(i=function(){try{r.call(this)}catch(e){return Promise.reject(e)}}),e.stack.push({value:t,dispose:i,async:n})}else n&&e.stack.push({async:!0});return t},X$=function(e){return function(t){function n(n){t.error=t.hasError?new e(n,t.error,"An error was suppressed during disposal."):n,t.hasError=!0}return function e(){for(;t.stack.length;){var i=t.stack.pop();try{var r=i.dispose&&i.dispose.call(i.value);if(i.async)return Promise.resolve(r).then(e,function(t){return n(t),e()})}catch(e){n(e)}}if(t.hasError)throw t.error}()}}("function"==typeof SuppressedError?SuppressedError:function(e,t,n){var i=new Error(n);return i.name="SuppressedError",i.error=e,i.suppressed=t,i});function q$(e,t){e=AP(e),t=AP(t);const n=F$(e,this),i=F$(t,this);if(IB.checkAccess&&!Z$.call(this,mP(e)).hasAccess(NP,this))throw cP.With("EACCES",e,"rename");try{if(n===i)return n.fs.renameSync(n.path,i.path),H$("rename",e.toString()),void H$("change",t.toString());oU.call(this,t,sU(e)),eU.call(this,e),H$("rename",e.toString())}catch(r){throw B$(r,{[n.path]:e,[i.path]:t})}}function K$(e){e=AP(e);try{const{fs:t,path:n}=F$(MU.call(this,e),this);return t.existsSync(n)}catch(e){if(e.errno==lP.ENOENT)return!1;throw e}}function Z$(e,t){e=AP(e);const{fs:n,path:i}=F$(MU.call(this,e),this);try{const e=n.statSync(i);if(IB.checkAccess&&!e.hasAccess(RP,this))throw cP.With("EACCES",i,"stat");return t?.bigint?new OB(e):e}catch(t){throw B$(t,{[i]:e})}}function Q$(e,t){e=AP(e);const{fs:n,path:i}=F$(e,this);try{const e=n.statSync(i);return t?.bigint?new OB(e):e}catch(t){throw B$(t,{[i]:e})}}function J$(e,t=0){const n={stack:[],error:void 0,hasError:!1};try{const i=W$(n,tU.call(this,e,"r+"),!1);if(t||(t=0),t<0)throw new cP(lP.EINVAL);i.truncateSync(t)}catch(e){n.error=e,n.hasError=!0}finally{X$(n)}}function eU(e){e=AP(e);const{fs:t,path:n}=F$(e,this);try{if(IB.checkAccess&&!(w$.get(e)||t.statSync(n)).hasAccess(NP,this))throw cP.With("EACCES",n,"unlink");t.unlinkSync(n),H$("rename",e.toString())}catch(t){throw B$(t,{[n]:e})}}function tU(e,t,n,i=!0){e=AP(e);const r=wP(n,420),s=NB(t);e=i?MU.call(this,e):e;const{fs:o,path:a}=F$(e,this);let l;try{l=o.statSync(a)}catch{}if(!l){if(!LB(s)&&!BB(s)||"r+"==s)throw cP.With("ENOENT",e,"_open");const t=o.statSync(mP(a));if(IB.checkAccess&&!t.hasAccess(NP,this))throw cP.With("EACCES",mP(e),"_open");if(!t.isDirectory())throw cP.With("ENOTDIR",mP(e),"_open");return o.createFileSync(a,s,r)}if(IB.checkAccess&&(!l.hasAccess(r,this)||!l.hasAccess(DB(s),this)))throw cP.With("EACCES",e,"_open");if($B(s))throw cP.With("EEXIST",e,"_open");const u=o.openFileSync(a,s);return PB(s)&&u.truncateSync(0),u}function nU(e,t,n=kP){return M$(tU.call(this,e,t,n,!0))}function iU(e,t,n){return M$(tU.call(this,e,t,n,!1))}function rU(e,t,n){const i={stack:[],error:void 0,hasError:!1};try{const r=W$(i,tU.call(this,e,t,420,n),!1),s=r.statSync(),o=new Uint8Array(s.size);return r.readSync(o,0,s.size,0),o}catch(e){i.error=e,i.hasError=!0}finally{X$(i)}}function sU(e,t={}){const n=SP(t,null,"r",420);if(!FB(NB(n.flag)))throw new cP(lP.EINVAL,"Flag passed to readFile must allow for reading.");const i=A$.Buffer.from(rU.call(this,"number"==typeof e?k$(e).path:e.toString(),n.flag,!0));return n.encoding?i.toString(n.encoding):i}function oU(e,t,n={}){const i={stack:[],error:void 0,hasError:!1};try{const r=SP(n,"utf8","w+",420),s=NB(r.flag);if(!LB(s))throw new cP(lP.EINVAL,"Flag passed to writeFile must allow for writing.");if("string"!=typeof t&&!r.encoding)throw new cP(lP.EINVAL,"Encoding not specified");const o="string"==typeof t?A$.Buffer.from(t,r.encoding):new Uint8Array(t.buffer,t.byteOffset,t.byteLength);if(!o)throw new cP(lP.EINVAL,"Data not specified");W$(i,tU.call(this,"number"==typeof e?k$(e).path:e.toString(),s,r.mode,!0),!1).writeSync(o,0,o.byteLength,0),H$("change",e.toString())}catch(e){i.error=e,i.hasError=!0}finally{X$(i)}}function aU(e,t,n={}){const i={stack:[],error:void 0,hasError:!1};try{const r=SP(n,"utf8","a+",420),s=NB(r.flag);if(!BB(s))throw new cP(lP.EINVAL,"Flag passed to appendFile must allow for appending.");if("string"!=typeof t&&!r.encoding)throw new cP(lP.EINVAL,"Encoding not specified");const o="string"==typeof t?A$.Buffer.from(t,r.encoding):new Uint8Array(t.buffer,t.byteOffset,t.byteLength);W$(i,tU.call(this,"number"==typeof e?k$(e).path:e.toString(),s,r.mode,!0),!1).writeSync(o,0,o.byteLength)}catch(e){i.error=e,i.hasError=!0}finally{X$(i)}}function lU(e,t){const n=k$(e).statSync();return t?.bigint?new OB(n):n}function uU(e){k$(e).closeSync(),C$.delete(e)}function cU(e,t=0){if(t||(t=0),t<0)throw new cP(lP.EINVAL);k$(e).truncateSync(t)}function dU(e){k$(e).syncSync()}function hU(e){k$(e).datasyncSync()}function pU(e,t,n,i,r){let s,o,a,l;if("string"==typeof t){l="number"==typeof n?n:null;const e="string"==typeof i?i:"utf8";o=0,s=A$.Buffer.from(t,e),a=s.byteLength}else s=new Uint8Array(t.buffer,t.byteOffset,t.byteLength),o=n,a=i,l="number"==typeof r?r:null;const u=k$(e);l??(l=u.position);const c=u.writeSync(s,o,a,l);return H$("change",u.path),c}function fU(e,t,n,i,r){const s=k$(e),o="object"==typeof n?n.offset:n;return"object"==typeof n&&(i=n.length,r=n.position),r=Number(r),isNaN(r)&&(r=s.position),s.readSync(t,o,i,r)}function mU(e,t,n){k$(e).chownSync(t,n)}function gU(e,t){const n=wP(t,-1);if(n<0)throw new cP(lP.EINVAL,"Invalid mode.");k$(e).chmodSync(n)}function _U(e,t,n){k$(e).utimesSync(IP(t),IP(n))}function yU(e){e=AP(e);const{fs:t,path:n}=F$(MU.call(this,e),this);try{const i=w$.get(e)||t.statSync(n);if(!i.isDirectory())throw cP.With("ENOTDIR",n,"rmdir");if(IB.checkAccess&&!i.hasAccess(NP,this))throw cP.With("EACCES",n,"rmdir");t.rmdirSync(n),H$("rename",e.toString())}catch(t){throw B$(t,{[n]:e})}}function vU(e,t){t="object"==typeof t?t:{mode:t};const n=wP(t?.mode,511);e=MU.call(this,e);const{fs:i,path:r,root:s}=F$(e,this),o={[r]:e};try{if(!t?.recursive){if(IB.checkAccess&&!i.statSync(mP(r)).hasAccess(NP,this))throw cP.With("EACCES",mP(r),"mkdir");return i.mkdirSync(r,n)}const a=[];for(let t=r,n=e;!i.existsSync(t);t=mP(t),n=mP(n))a.unshift(t),o[t]=n;for(const e of a){if(IB.checkAccess&&!i.statSync(mP(e)).hasAccess(NP,this))throw cP.With("EACCES",mP(e),"mkdir");i.mkdirSync(e,n),H$("rename",e)}return 1==s.length?a[0]:a[0]?.slice(s.length)}catch(e){throw B$(e,o)}}function bU(e,t){t="object"==typeof t?t:{encoding:t},e=AP(e);const{fs:n,path:i}=F$(MU.call(this,e),this);let r;try{const t=w$.get(e)||n.statSync(i);if(w$.set(e,t),IB.checkAccess&&!t.hasAccess(RP,this))throw cP.With("EACCES",i,"readdir");if(!t.isDirectory())throw cP.With("ENOTDIR",i,"readdir");r=n.readdirSync(i)}catch(t){throw B$(t,{[i]:e})}const s=[];for(const o of r){const r=w$.get(fP(e,o))||n.statSync(fP(i,o));if(w$.set(fP(e,o),r),t?.withFileTypes?s.push(new UU(o,r)):"buffer"==t?.encoding?s.push(A$.Buffer.from(o)):s.push(o),r.isDirectory()&&t?.recursive)for(const n of bU.call(this,fP(e,o),{...t,_isIndirect:!0}))n instanceof UU?(n.path=fP(o,n.path),s.push(n)):A$.Buffer.isBuffer(n)?s.push(A$.Buffer.from(fP(o,TP(n)))):s.push(fP(o,n))}return t?._isIndirect||w$.clear(),s}function TU(e,t){if(e=AP(e),IB.checkAccess&&!Z$(mP(e)).hasAccess(RP,this))throw cP.With("EACCES",mP(e),"link");if(t=AP(t),IB.checkAccess&&!Z$(mP(t)).hasAccess(NP,this))throw cP.With("EACCES",mP(t),"link");const{fs:n,path:i}=F$(e,this),r=F$(t,this);if(n!=r.fs)throw cP.With("EXDEV",t,"link");try{if(IB.checkAccess&&!n.statSync(i).hasAccess(RP,this))throw cP.With("EACCES",i,"link");return n.linkSync(i,t)}catch(n){throw B$(n,{[i]:e,[r.path]:t})}}function xU(e,t,n="file"){if(!["file","dir","junction"].includes(n))throw new cP(lP.EINVAL,"Invalid type: "+n);if(K$.call(this,t))throw cP.With("EEXIST",t.toString(),"symlink");oU.call(this,t,e.toString());tU.call(this,t,"r+",420,!1).chmodSync(nB)}function EU(e,t){const n=A$.Buffer.from(rU.call(this,e.toString(),"r",!1)),i="object"==typeof t?t?.encoding:t;return"buffer"==i?n:n.toString(i)}function wU(e,t,n){const i=nU.call(this,e,"r+");mU(i,t,n),uU(i)}function IU(e,t,n){const i=iU.call(this,e,"r+");mU(i,t,n),uU(i)}function AU(e,t){const n=nU.call(this,e,"r+");gU(n,t),uU(n)}function SU(e,t){const n=iU.call(this,e,"r+");gU(n,t),uU(n)}function CU(e,t,n){const i=nU.call(this,e,"r+");_U(i,t,n),uU(i)}function OU(e,t,n){const i=iU.call(this,e,"r+");_U(i,t,n),uU(i)}function MU(e,t){e=AP(e);const n=(this?.root||"")+e;if(I$.has(n))return I$.get(n);const{base:i,dir:r}=_P(e),s="/"==r?"/":I$.get((this?.root||"")+r)||MU.call(this,r),o=fP(s,i),{fs:a,path:l}=F$(o,this);try{const i=w$.get(o)||a.statSync(l);if(w$.set(o,i),!i.isSymbolicLink())return I$.set(e,o),o;const r=pP(s,EU.call(this,o,t).toString()),u=I$.get((this?.root||"")+r)||MU.call(this,r);return I$.set(n,u),u}catch(t){if("ENOENT"==t.code)return e;throw B$(t,{[l]:o})}}function kU(e,t=384){if(IB.checkAccess&&!Z$.call(this,e).hasAccess(t,this))throw new cP(lP.EACCES)}function RU(e,t){let n;e=AP(e);try{n=w$.get(e)||Q$.bind(this)(e)}catch(e){if("ENOENT"!=e.code||!t?.force)throw e}if(n){switch(w$.set(e,n),n.mode&eB){case sB:if(t?.recursive)for(const n of bU.call(this,e,{_isIndirect:!0}))RU.call(this,fP(e,n),{...t,_isIndirect:!0});yU.call(this,e);break;case iB:case nB:case rB:case oB:eU.call(this,e);break;default:throw w$.clear(),new cP(lP.EPERM,"File type not supported",e,"rm")}t?._isIndirect||w$.clear()}}function NU(e,t){const n="object"==typeof t?t?.encoding:t||"utf8",i="/tmp/"+`${e}${Date.now()}-${Math.random().toString(36).slice(2)}`;return vU.call(this,i),"buffer"==n?A$.Buffer.from(i):i}function DU(e,t,n){if(e=AP(e),t=AP(t),n&&n&FP&&K$(t))throw new cP(lP.EEXIST,"Destination file already exists.",t,"copyFile");oU.call(this,t,sU(e)),H$("rename",t.toString())}function FU(e,t,n){const i=k$(e);let r=0;for(const e of t)r+=i.readSync(e,0,e.byteLength,n+r);return r}function LU(e,t,n){const i=k$(e);let r=0;for(const e of t)r+=i.writeSync(new Uint8Array(e.buffer),0,e.byteLength,n+r);return r}function PU(e,t){return e=AP(e),new VU(e,this)}function BU(e,t,n){e=AP(e),t=AP(t);const i=Q$.call(this,e);if(n?.errorOnExist&&K$.call(this,t))throw new cP(lP.EEXIST,"Destination file or directory already exists.",t,"cp");switch(i.mode&eB){case sB:if(!n?.recursive)throw new cP(lP.EISDIR,e+" is a directory (not copied)",e,"cp");vU.call(this,t,{recursive:!0});for(const i of bU.call(this,e,{withFileTypes:!0}))n.filter&&!n.filter(fP(e,i.name),fP(t,i.name))||BU.call(this,fP(e,i.name),fP(t,i.name),n);break;case iB:case nB:DU.call(this,e,t);break;default:throw new cP(lP.EPERM,"File type not supported",e,"rm")}n?.preserveTimestamps&&CU.call(this,t,i.atime,i.mtime)}function $U(e,t){e=AP(e);const{fs:n}=F$(e,this);return U$(n,t?.bigint)}class UU{get name(){return gP(this.path)}constructor(e,t){this.path=e,this.stats=t}get parentPath(){return this.path}isFile(){return this.stats.isFile()}isDirectory(){return this.stats.isDirectory()}isBlockDevice(){return this.stats.isBlockDevice()}isCharacterDevice(){return this.stats.isCharacterDevice()}isSymbolicLink(){return this.stats.isSymbolicLink()}isFIFO(){return this.stats.isFIFO()}isSocket(){return this.stats.isSocket()}}class VU{checkClosed(){if(this.closed)throw new cP(lP.EBADF,"Can not use closed Dir")}constructor(e,t){this.path=e,this.context=t,this.closed=!1}close(e){if(this.closed=!0,!e)return Promise.resolve();e()}closeSync(){this.closed=!0}async _read(){return this.checkClosed(),this._entries??(this._entries=await aV.call(this.context,this.path,{withFileTypes:!0})),this._entries.length?this._entries.shift()??null:null}read(e){if(!e)return this._read();this._read().then(t=>e(void 0,t))}readSync(){return this.checkClosed(),this._entries??(this._entries=bU.call(this.context,this.path,{withFileTypes:!0})),this._entries.length?this._entries.shift()??null:null}async next(){const e=await this._read();return e?{done:!1,value:e}:(await this.close(),{done:!0,value:void 0})}[Symbol.asyncIterator](){return this}}var zU=__webpack_require__(86248);class jU extends zU.Readable{close(e=()=>null){try{super.destroy(),super.emit("close"),e()}catch(t){e(new cP(lP.EIO,t.toString()))}}}class YU extends zU.Writable{close(e=()=>null){try{super.destroy(),super.emit("close"),e()}catch(t){e(new cP(lP.EIO,t.toString()))}}}var GU=function(e,t,n){if(null!=t){if("object"!=typeof t&&"function"!=typeof t)throw new TypeError("Object expected.");var i,r;if(n){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");i=t[Symbol.asyncDispose]}if(void 0===i){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");i=t[Symbol.dispose],n&&(r=i)}if("function"!=typeof i)throw new TypeError("Object not disposable.");r&&(i=function(){try{r.call(this)}catch(e){return Promise.reject(e)}}),e.stack.push({value:t,dispose:i,async:n})}else n&&e.stack.push({async:!0});return t},HU=function(e){return function(t){function n(n){t.error=t.hasError?new e(n,t.error,"An error was suppressed during disposal."):n,t.hasError=!0}return function e(){for(;t.stack.length;){var i=t.stack.pop();try{var r=i.dispose&&i.dispose.call(i.value);if(i.async)return Promise.resolve(r).then(e,function(t){return n(t),e()})}catch(e){n(e)}}if(t.hasError)throw t.error}()}}("function"==typeof SuppressedError?SuppressedError:function(e,t,n){var i=new Error(n);return i.name="SuppressedError",i.error=e,i.suppressed=t,i});class WU{constructor(e,t){this.context=t;const n="number"!=typeof e;this.fd=n?M$(e):e,this.file=n?e:k$(e)}async chown(e,t){await this.file.chown(e,t),H$("change",this.file.path)}async chmod(e){const t=wP(e,-1);if(t<0)throw new cP(lP.EINVAL,"Invalid mode.");await this.file.chmod(t),H$("change",this.file.path)}datasync(){return this.file.datasync()}sync(){return this.file.sync()}async truncate(e){if(e||(e=0),e<0)throw new cP(lP.EINVAL);await this.file.truncate(e),H$("change",this.file.path)}async utimes(e,t){await this.file.utimes(IP(e),IP(t)),H$("change",this.file.path)}async appendFile(e,t={}){const n=SP(t,"utf8","a",420);if(!BB(NB(n.flag)))throw new cP(lP.EINVAL,"Flag passed to appendFile must allow for appending.");if("string"!=typeof e&&!n.encoding)throw new cP(lP.EINVAL,"Encoding not specified");const i="string"==typeof e?A$.Buffer.from(e,n.encoding):e;await this.file.write(i,0,i.length),H$("change",this.file.path)}read(e,t,n,i){return isNaN(+i)&&(i=this.file.position),this.file.read(e,t,n,i)}async readFile(e){const t=SP(e,null,"r",292);if(!FB(NB(t.flag)))throw new cP(lP.EINVAL,"Flag passed must allow for reading.");const{size:n}=await this.stat(),{buffer:i}=await this.file.read(new Uint8Array(n),0,n,0),r=A$.Buffer.from(i);return t.encoding?r.toString(t.encoding):r}readableWebStream(e={}){const t=globalThis;if(!("ReadableStream"in t))throw new cP(lP.ENOSYS,"ReadableStream is missing on globalThis");return new t.ReadableStream({start:async e=>{try{const t=65536,n=1e7;let i=0,r=0,s=NaN;for(;s>0;){const o=await this.read(new Uint8Array(t),0,t,r);if(!o.bytesRead)return void e.close();if(e.enqueue(o.buffer.slice(0,o.bytesRead)),r+=o.bytesRead,++i>=n)throw new cP(lP.EFBIG,"Too many iterations on readable stream",this.file.path,"FileHandle.readableWebStream");s=o.bytesRead}}catch(t){e.error(t)}},type:e.type})}readLines(e){throw cP.With("ENOSYS",this.file.path,"FileHandle.readLines")}[Symbol.asyncDispose](){return this.close()}async stat(e){const t=await this.file.stat();if(IB.checkAccess&&!t.hasAccess(RP,this.context))throw cP.With("EACCES",this.file.path,"stat");return e?.bigint?new OB(t):t}async write(e,t,n,i){let r,s,o;if("string"==typeof e){i="number"==typeof t?t:null;const a="string"==typeof n?n:"utf8";s=0,r=A$.Buffer.from(e,a),o=r.length}else r=new Uint8Array(e.buffer,e.byteOffset,e.byteLength),s=t,o=n,i="number"==typeof i?i:null;i??(i=this.file.position);const a=await this.file.write(r,s,o,i);return H$("change",this.file.path),{buffer:r,bytesWritten:a}}async writeFile(e,t={}){const n=SP(t,"utf8","w",420);if(!LB(NB(n.flag)))throw new cP(lP.EINVAL,"Flag passed must allow for writing.");if("string"!=typeof e&&!n.encoding)throw new cP(lP.EINVAL,"Encoding not specified");const i="string"==typeof e?A$.Buffer.from(e,n.encoding):e;await this.file.write(i,0,i.length,0),H$("change",this.file.path)}async close(){await this.file.close(),C$.delete(this.fd)}async writev(e,t){let n=0;for(const i of e)n+=(await this.write(i,0,i.length,t+n)).bytesWritten;return{bytesWritten:n,buffers:e}}async readv(e,t){let n=0;for(const i of e)n+=(await this.read(i,0,i.byteLength,t+n)).bytesRead;return{bytesRead:n,buffers:e}}createReadStream(e){const t=new jU({highWaterMark:e?.highWaterMark||65536,encoding:e.encoding,read:async e=>{try{const n=await this.read(new Uint8Array(e),0,e,this.file.position);t.push(n.bytesRead?n.buffer.slice(0,n.bytesRead):null),this.file.position+=n.bytesRead}catch(e){t.destroy(e)}}});return t.path=this.file.path,t}createWriteStream(e){const t=new YU({highWaterMark:e?.highWaterMark,encoding:e?.encoding,write:async(e,t,n)=>{try{const{bytesWritten:i}=await this.write(e,null,t);n(i==e.length?null:new Error("Failed to write full chunk"))}catch(e){n(e)}}});return t.path=this.file.path,t}}async function XU(e,t){e=AP(e),t=AP(t);const n=F$(e,this),i=F$(t,this);if(IB.checkAccess&&!(await KU.call(this,mP(e))).hasAccess(NP,this))throw cP.With("EACCES",e,"rename");try{if(n.mountPoint==i.mountPoint)return await n.fs.rename(n.path,i.path),H$("rename",e.toString()),void H$("change",t.toString());await iV.call(this,t,await nV(e)),await JU.call(this,e),H$("rename",e.toString())}catch(r){throw B$(r,{[n.path]:e,[i.path]:t})}}async function qU(e){try{const{fs:t,path:n}=F$(await _V.call(this,e),this);return await t.exists(n)}catch(e){if(e instanceof cP&&"ENOENT"==e.code)return!1;throw e}}async function KU(e,t){e=AP(e);const{fs:n,path:i}=F$(await _V.call(this,e),this);try{const e=await n.stat(i);if(IB.checkAccess&&!e.hasAccess(RP,this))throw cP.With("EACCES",i,"stat");return t?.bigint?new OB(e):e}catch(t){throw B$(t,{[i]:e})}}async function ZU(e,t){e=AP(e);const{fs:n,path:i}=F$(e,this);try{const e=await n.stat(i);return t?.bigint?new OB(e):e}catch(t){throw B$(t,{[i]:e})}}async function QU(e,t=0){const n={stack:[],error:void 0,hasError:!1};try{const i=GU(n,await tV.call(this,e,"r+"),!0);await i.truncate(t)}catch(e){n.error=e,n.hasError=!0}finally{const e=HU(n);e&&await e}}async function JU(e){e=AP(e);const{fs:t,path:n}=F$(e,this);try{if(IB.checkAccess&&!(await(w$.getAsync(e)||t.stat(n))).hasAccess(NP,this))throw cP.With("EACCES",n,"unlink");await t.unlink(n),H$("rename",e.toString())}catch(t){throw B$(t,{[n]:e})}}async function eV(e,t,n=420,i){e=AP(e);const r=wP(n,420),s=NB(t);e=i?await _V.call(this,e):e;const{fs:o,path:a}=F$(e,this),l=await o.stat(a).catch(()=>null);if(!l){if(!LB(s)&&!BB(s)||"r+"==s)throw cP.With("ENOENT",e,"_open");const t=await o.stat(mP(a));if(IB.checkAccess&&!t.hasAccess(NP,this))throw cP.With("EACCES",mP(e),"_open");if(!t.isDirectory())throw cP.With("ENOTDIR",mP(e),"_open");return new WU(await o.createFile(a,s,r),this)}if(IB.checkAccess&&!l.hasAccess(DB(s),this))throw cP.With("EACCES",e,"_open");if($B(s))throw cP.With("EEXIST",e,"_open");const u=new WU(await o.openFile(a,s),this);return PB(s)&&await u.truncate(0),u}async function tV(e,t="r",n=420){return await eV.call(this,e,t,n,!0)}async function nV(e,t){const n={stack:[],error:void 0,hasError:!1};try{const i=SP(t,null,"r",420),r=GU(n,"object"==typeof e&&"fd"in e?e:await tV.call(this,e,i.flag,i.mode),!0);return await r.readFile(i)}catch(e){n.error=e,n.hasError=!0}finally{const e=HU(n);e&&await e}}async function iV(e,t,n){const i={stack:[],error:void 0,hasError:!1};try{const r=SP(n,"utf8","w+",420),s=GU(i,e instanceof WU?e:await tV.call(this,e.toString(),r.flag,r.mode),!0),o=t;if("string"!=typeof o&&!(o instanceof Uint8Array))throw new cP(lP.EINVAL,"Iterables and streams not supported",s.file.path,"writeFile");await s.writeFile(o,r)}catch(e){i.error=e,i.hasError=!0}finally{const e=HU(i);e&&await e}}async function rV(e,t,n){const i={stack:[],error:void 0,hasError:!1};try{const r=SP(n,"utf8","a",420);if(!BB(NB(r.flag)))throw new cP(lP.EINVAL,"Flag passed to appendFile must allow for appending.");if("string"!=typeof t&&!r.encoding)throw new cP(lP.EINVAL,"Encoding not specified");const s="string"==typeof t?A$.Buffer.from(t,r.encoding):new Uint8Array(t.buffer,t.byteOffset,t.byteLength),o=GU(i,"object"==typeof e&&"fd"in e?e:await tV.call(this,e,r.flag,r.mode),!0);await o.appendFile(s,r)}catch(e){i.error=e,i.hasError=!0}finally{const e=HU(i);e&&await e}}async function sV(e){e=await _V.call(this,e);const{fs:t,path:n}=F$(e,this);try{const i=await(w$.getAsync(e)||t.stat(n));if(!i)throw cP.With("ENOENT",e,"rmdir");if(!i.isDirectory())throw cP.With("ENOTDIR",n,"rmdir");if(IB.checkAccess&&!i.hasAccess(NP,this))throw cP.With("EACCES",n,"rmdir");await t.rmdir(n),H$("rename",e.toString())}catch(t){throw B$(t,{[n]:e})}}async function oV(e,t){t="object"==typeof t?t:{mode:t};const n=wP(t?.mode,511);e=await _V.call(this,e);const{fs:i,path:r,root:s}=F$(e,this),o={[r]:e};try{if(!t?.recursive){if(IB.checkAccess&&!(await i.stat(mP(r))).hasAccess(NP,this))throw cP.With("EACCES",mP(r),"mkdir");return await i.mkdir(r,n),void H$("rename",e.toString())}const a=[];for(let t=r,n=e;!await i.exists(t);t=mP(t),n=mP(n))a.unshift(t),o[t]=n;for(const e of a){if(IB.checkAccess&&!(await i.stat(mP(e))).hasAccess(NP,this))throw cP.With("EACCES",mP(e),"mkdir");await i.mkdir(e,n),H$("rename",e)}return 1==s.length?a[0]:a[0]?.slice(s.length)}catch(e){throw B$(e,o)}}async function aV(e,t){t="object"==typeof t?t:{encoding:t},e=await _V.call(this,e);const n=t=>{throw B$(t,{[r]:e})},{fs:i,path:r}=F$(e,this),s=w$.getAsync(e)||i.stat(r).catch(n);w$.setAsync(e,s);const o=await s;if(!o)throw cP.With("ENOENT",e,"readdir");if(IB.checkAccess&&!o.hasAccess(RP,this))throw cP.With("EACCES",e,"readdir");if(!o.isDirectory())throw cP.With("ENOTDIR",e,"readdir");const a=await i.readdir(r).catch(n),l=[];return await Promise.all(a.map(async s=>{let o;if(t?.recursive||t?.withFileTypes){const t=w$.getAsync(fP(e,s))||i.stat(fP(r,s)).catch(n);w$.setAsync(fP(e,s),t),o=await t}if(t?.withFileTypes?l.push(new UU(s,o)):"buffer"==t?.encoding?l.push(A$.Buffer.from(s)):l.push(s),t?.recursive&&o?.isDirectory())for(const n of await aV.call(this,fP(e,s),{...t,_isIndirect:!0}))n instanceof UU?(n.path=fP(s,n.path),l.push(n)):A$.Buffer.isBuffer(n)?l.push(A$.Buffer.from(fP(s,TP(n)))):l.push(fP(s,n))})),t?._isIndirect||w$.clear(),l}async function lV(e,t){e=AP(e),t=AP(t);const{fs:n,path:i}=F$(e,this),r=F$(t,this);if(n!=r.fs)throw cP.With("EXDEV",t,"link");try{if(IB.checkAccess&&!(await n.stat(mP(e))).hasAccess(RP,this))throw cP.With("EACCES",mP(i),"link");if(IB.checkAccess&&!(await KU.call(this,mP(t))).hasAccess(NP,this))throw cP.With("EACCES",mP(t),"link");if(IB.checkAccess&&!(await n.stat(i)).hasAccess(RP,this))throw cP.With("EACCES",i,"link");return await n.link(i,r.path)}catch(n){throw B$(n,{[r.path]:t,[i]:e})}}async function uV(e,t,n="file"){const i={stack:[],error:void 0,hasError:!1};try{if(!["file","dir","junction"].includes(n))throw new cP(lP.EINVAL,"Invalid symlink type: "+n);if(await qU.call(this,t))throw cP.With("EEXIST",t.toString(),"symlink");const r=GU(i,await eV.call(this,t,"w+",420,!1),!0);await r.writeFile(e.toString()),await r.file.chmod(nB)}catch(e){i.error=e,i.hasError=!0}finally{const e=HU(i);e&&await e}}async function cV(e,t){const n={stack:[],error:void 0,hasError:!1};try{const i=GU(n,await eV.call(this,AP(e),"r",420,!1),!0),r=await i.readFile(),s="object"==typeof t?t?.encoding:t;return"buffer"==s?r:r.toString(s)}catch(e){n.error=e,n.hasError=!0}finally{const e=HU(n);e&&await e}}async function dV(e,t,n){const i={stack:[],error:void 0,hasError:!1};try{const r=GU(i,await tV.call(this,e,"r+"),!0);await r.chown(t,n)}catch(e){i.error=e,i.hasError=!0}finally{const e=HU(i);e&&await e}}async function hV(e,t,n){const i={stack:[],error:void 0,hasError:!1};try{const r=GU(i,await eV.call(this,e,"r+",420,!1),!0);await r.chown(t,n)}catch(e){i.error=e,i.hasError=!0}finally{const e=HU(i);e&&await e}}async function pV(e,t){const n={stack:[],error:void 0,hasError:!1};try{const i=GU(n,await tV.call(this,e,"r+"),!0);await i.chmod(t)}catch(e){n.error=e,n.hasError=!0}finally{const e=HU(n);e&&await e}}async function fV(e,t){const n={stack:[],error:void 0,hasError:!1};try{const i=GU(n,await eV.call(this,e,"r+",420,!1),!0);await i.chmod(t)}catch(e){n.error=e,n.hasError=!0}finally{const e=HU(n);e&&await e}}async function mV(e,t,n){const i={stack:[],error:void 0,hasError:!1};try{const r=GU(i,await tV.call(this,e,"r+"),!0);await r.utimes(t,n)}catch(e){i.error=e,i.hasError=!0}finally{const e=HU(i);e&&await e}}async function gV(e,t,n){const i={stack:[],error:void 0,hasError:!1};try{const r=GU(i,await eV.call(this,e,"r+",420,!1),!0);await r.utimes(new Date(t),new Date(n))}catch(e){i.error=e,i.hasError=!0}finally{const e=HU(i);e&&await e}}async function _V(e,t){e=AP(e);const n=(this?.root||"")+e;if(I$.hasAsync(n))return I$.getAsync(n);const{base:i,dir:r}=_P(e),s="/"==r?"/":await(I$.getAsync((this?.root||"")+r)||_V.call(this,r)),o=fP(s,i),{fs:a,path:l}=F$(o,this);try{const t=w$.getAsync(o)||a.stat(l);if(w$.setAsync(o,t),!(await t).isSymbolicLink())return I$.set(e,o),o;const i=pP(s,(await cV.call(this,o)).toString()),r=I$.getAsync((this?.root||"")+i)||_V.call(this,i);return I$.setAsync(n,r),await r}catch(t){if("ENOENT"==t.code)return e;throw B$(t,{[l]:o})}}function yV(e,t={}){return{[Symbol.asyncIterator](){const n=new j$(e.toString(),"string"!=typeof t?t:{encoding:t}),i=[];function r(){n.close();for(const e of i)e({value:null,done:!0});return i.length=0,Promise.resolve({value:null,done:!0})}return n.on("change",(e,t)=>{i.shift()?.({value:{eventType:e,filename:t},done:!1})}),{async next(){const{promise:e,resolve:t}=Promise.withResolvers();return i.push(t),e},return:r,throw:r}}}}async function vV(e,t=kP){if(!IB.checkAccess)return;if(!(await KU.call(this,e)).hasAccess(t,this))throw new cP(lP.EACCES)}async function bV(e,t){e=AP(e);const n=await(w$.getAsync(e)||ZU.call(this,e).catch(e=>{if("ENOENT"!=e.code||!t?.force)throw e}));if(n){switch(w$.set(e,n),n.mode&eB){case sB:if(t?.recursive)for(const n of await aV.call(this,e,{_isIndirect:!0}))await bV.call(this,fP(e,n),{...t,_isIndirect:!0});await sV.call(this,e);break;case iB:case nB:case rB:case oB:await JU.call(this,e);break;default:throw w$.clear(),new cP(lP.EPERM,"File type not supported",e,"rm")}t?._isIndirect||w$.clear()}}async function TV(e,t){const n="object"==typeof t?t?.encoding:t||"utf8",i="/tmp/"+`${e}${Date.now()}-${Math.random().toString(36).slice(2)}`;return await oV.call(this,i),"buffer"==n?A$.Buffer.from(i):i}async function xV(e,t,n){if(e=AP(e),t=AP(t),n&&n&FP&&await qU.call(this,t))throw new cP(lP.EEXIST,"Destination file already exists.",t,"copyFile");await iV.call(this,t,await nV.call(this,e)),H$("rename",t.toString())}function EV(e,t){return e=AP(e),Promise.resolve(new VU(e,this))}async function wV(e,t,n){e=AP(e),t=AP(t);const i=await ZU.call(this,e);if(n?.errorOnExist&&await qU.call(this,t))throw new cP(lP.EEXIST,"Destination file or directory already exists.",t,"cp");switch(i.mode&eB){case sB:{if(!n?.recursive)throw new cP(lP.EISDIR,e+" is a directory (not copied)",e,"cp");const[i]=await Promise.all([aV.call(this,e,{withFileTypes:!0}),oV.call(this,t,{recursive:!0})]),r=async i=>{n.filter&&!n.filter(fP(e,i.name),fP(t,i.name))||await wV.call(this,fP(e,i.name),fP(t,i.name),n)};await Promise.all(i.map(r));break}case iB:case nB:await xV.call(this,e,t);break;default:throw new cP(lP.EPERM,"File type not supported",e,"rm")}n?.preserveTimestamps&&await mV.call(this,t,i.atime,i.mtime)}async function IV(e,t){e=AP(e);const{fs:n}=F$(e,this);return Promise.resolve(U$(n,t?.bigint))}const AV=()=>{};function SV(e,t,n=AV){XU.call(this,e,t).then(()=>n()).catch(n)}function CV(e,t=AV){qU.call(this,e).then(t).catch(()=>t(!1))}function OV(e,t,n=AV){n="function"==typeof t?t:n,KU.call(this,e,"function"!=typeof t?t:{}).then(e=>n(void 0,e)).catch(n)}function MV(e,t,n=AV){n="function"==typeof t?t:n,ZU.call(this,e,"function"!=typeof t?t:{}).then(e=>n(void 0,e)).catch(n)}function kV(e,t=0,n=AV){n="function"==typeof t?t:n;const i="number"==typeof t?t:0;QU.call(this,e,i).then(()=>n()).catch(n)}function RV(e,t=AV){JU.call(this,e).then(()=>t()).catch(t)}function NV(e,t,n,i=AV){const r=wP(n,420);i="function"==typeof n?n:i,tV.call(this,e,t,r).then(e=>i(void 0,e.fd)).catch(i)}function DV(e,t,n=AV){n="function"==typeof t?t:n,nV.call(this,e,"function"==typeof t?null:t).then(e=>n(void 0,e)).catch(n)}function FV(e,t,n,i=AV){i="function"==typeof n?n:i,iV.call(this,e,t,"function"!=typeof n?n:null).then(()=>i(void 0)).catch(i)}function LV(e,t,n,i=AV){const r="function"!=typeof n?n:void 0;i="function"==typeof n?n:i,rV.call(this,e,t,r).then(()=>i()).catch(i)}function PV(e,t,n=AV){n="function"==typeof t?t:n,k$(e).stat().then(e=>n(void 0,"object"==typeof t&&t?.bigint?new OB(e):e)).catch(n)}function BV(e,t=AV){const n=k$(e).close();C$.delete(e),n.then(()=>t()).catch(t)}function $V(e,t,n=AV){const i="number"==typeof t?t:0;n="function"==typeof t?t:n;const r=k$(e);if(i<0)throw new cP(lP.EINVAL);r.truncate(i).then(()=>n()).catch(n)}function UV(e,t=AV){k$(e).sync().then(()=>t()).catch(t)}function VV(e,t=AV){k$(e).datasync().then(()=>t()).catch(t)}function zV(e,t,n,i,r,s=AV){let o,a,l,u,c;const d=new WU(e,this);if("string"==typeof t){switch(c="utf8",typeof n){case"function":s=n;break;case"number":u=n,c="string"==typeof i?i:"utf8",s="function"==typeof r?r:s;break;default:return void(s="function"==typeof i?i:"function"==typeof r?r:s)(new cP(lP.EINVAL,"Invalid arguments."))}o=A$.Buffer.from(t),a=0,l=o.length;const e=s;d.write(o,a,l,u).then(({bytesWritten:t})=>e(void 0,t,o.toString(c))).catch(e)}else{o=A$.Buffer.from(t.buffer),a=n,l=i,u="number"==typeof r?r:null;const e="function"==typeof r?r:s;d.write(o,a,l,u).then(({bytesWritten:t})=>e(void 0,t,o)).catch(e)}}function jV(e,t,n,i,r,s=AV){new WU(e,this).read(t,n,i,r).then(({bytesRead:e,buffer:t})=>s(void 0,e,t)).catch(s)}function YV(e,t,n,i=AV){new WU(e,this).chown(t,n).then(()=>i()).catch(i)}function GV(e,t,n){new WU(e,this).chmod(t).then(()=>n()).catch(n)}function HV(e,t,n,i=AV){new WU(e,this).utimes(t,n).then(()=>i()).catch(i)}function WV(e,t=AV){sV.call(this,e).then(()=>t()).catch(t)}function XV(e,t,n=AV){oV.call(this,e,t).then(()=>n()).catch(n)}function qV(e,t,n=AV){n="function"==typeof t?t:n;const i="function"!=typeof t?t:{};aV.call(this,e,i).then(e=>n(void 0,e)).catch(n)}function KV(e,t,n=AV){lV.call(this,e,t).then(()=>n()).catch(n)}function ZV(e,t,n,i=AV){const r="string"==typeof n?n:"file";i="function"==typeof n?n:i,uV.call(this,e,t,r).then(()=>i()).catch(i)}function QV(e,t,n=AV){n="function"==typeof t?t:n,cV.call(this,e).then(e=>n(void 0,e)).catch(n)}function JV(e,t,n,i=AV){dV.call(this,e,t,n).then(()=>i()).catch(i)}function ez(e,t,n,i=AV){hV.call(this,e,t,n).then(()=>i()).catch(i)}function tz(e,t,n=AV){pV.call(this,e,t).then(()=>n()).catch(n)}function nz(e,t,n=AV){fV.call(this,e,t).then(()=>n()).catch(n)}function iz(e,t,n,i=AV){mV.call(this,e,t,n).then(()=>i()).catch(i)}function rz(e,t,n,i=AV){gV.call(this,e,t,n).then(()=>i()).catch(i)}function sz(e,t,n=AV){n="function"==typeof t?t:n,_V.call(this,e,"function"==typeof t?null:t).then(e=>n(void 0,e)).catch(n)}function oz(e,t,n=AV){const i="number"==typeof t?t:RP;n="function"==typeof t?t:n,vV.call(this,e,i).then(()=>n()).catch(n)}const az=new Map;function lz(e,t,n){const i=AP(e.toString()),r="function"!=typeof t?t:{};if("function"==typeof t&&(n=t),!n)throw new cP(lP.EINVAL,"No listener specified",e.toString(),"watchFile");if(az.has(i)){const e=az.get(i);return void(e&&e.listeners.add(n))}const s=new Y$(i,r);s.on("change",(e,t)=>{const n=az.get(i);if(n)for(const i of n.listeners)i(e,t)}),az.set(i,{watcher:s,listeners:new Set})}function uz(e,t=AV){const n=AP(e.toString()),i=az.get(n);i&&(t&&t!==AV?i.listeners.delete(t):i.listeners.clear(),0===i.listeners.size&&(i.watcher.stop(),az.delete(n)))}function cz(e,t,n){const i=new j$(AP(e),"object"==typeof t?t:{});return n="function"==typeof t?t:n,i.on("change",n||AV),i}function dz(e,t){const n=this;let i;const r=new jU({highWaterMark:(t="object"==typeof t?t:{encoding:t}).highWaterMark||65536,encoding:t.encoding||"utf8",async read(s){try{i||(i=await tV.call(n,e,"r",t?.mode));const o=await i.read(new Uint8Array(s),0,s,i.file.position);r.push(o.bytesRead?o.buffer.slice(0,o.bytesRead):null),i.file.position+=o.bytesRead,o.bytesRead||await i.close()}catch(e){await(i?.close()),r.destroy(e)}},destroy(e,t){i?.close().then(()=>t(e)).catch(AV)}});return r.path=e.toString(),r}function hz(e,t){const n=this;let i;t="object"==typeof t?t:{encoding:t};const r=new YU({highWaterMark:t?.highWaterMark,async write(r,s,o){try{i||(i=await tV.call(n,e,"w",t?.mode||438)),await i.write(r,0,s),o(void 0)}catch(e){await(i?.close()),o(e)}},destroy(e,t){t(e),i?.close().then(()=>t(e)).catch(t)},final(e){i?.close().then(()=>e()).catch(e)}});return r.path=e.toString(),r}function pz(e,t,n=AV){n="function"==typeof t?t:n,bV.call(this,e,"function"==typeof t?void 0:t).then(()=>n(void 0)).catch(n)}function fz(e,t,n=AV){n="function"==typeof t?t:n,TV.call(this,e,"function"!=typeof t?t:null).then(e=>n(void 0,e)).catch(n)}function mz(e,t,n,i=AV){i="function"==typeof n?n:i,xV.call(this,e,t,"function"==typeof n?void 0:n).then(()=>i(void 0)).catch(i)}function gz(e,t,n,i=AV){i="function"==typeof n?n:i,new WU(e,this).readv(t,"function"==typeof n?void 0:n).then(({buffers:e,bytesRead:t})=>i(void 0,t,e)).catch(i)}function _z(e,t,n,i=AV){i="function"==typeof n?n:i,new WU(e,this).writev(t,"function"==typeof n?void 0:n).then(({buffers:e,bytesWritten:t})=>i(void 0,t,e)).catch(i)}function yz(e,t,n=AV){n="function"==typeof t?t:n,EV.call(this,e,"function"==typeof t?void 0:t).then(e=>n(void 0,e)).catch(n)}function vz(e,t,n,i=AV){i="function"==typeof n?n:i,wV.call(this,e,t,"function"==typeof n?void 0:n).then(()=>i(void 0)).catch(i)}function bz(e,t,n=AV){n="function"==typeof t?t:n,IV.call(this,e,"function"==typeof t?void 0:t).then(e=>n(void 0,e)).catch(n)}async function Tz(e,t){const n=await tV.call(this,e.toString(),"r"),i=await n.readFile();return await n.close(),new Blob([i],t)}var xz=function(e,t,n){if(null!=t){if("object"!=typeof t&&"function"!=typeof t)throw new TypeError("Object expected.");var i,r;if(n){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");i=t[Symbol.asyncDispose]}if(void 0===i){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");i=t[Symbol.dispose],n&&(r=i)}if("function"!=typeof i)throw new TypeError("Object not disposable.");r&&(i=function(){try{r.call(this)}catch(e){return Promise.reject(e)}}),e.stack.push({value:t,dispose:i,async:n})}else n&&e.stack.push({async:!0});return t},Ez=function(e){return function(t){function n(n){t.error=t.hasError?new e(n,t.error,"An error was suppressed during disposal."):n,t.hasError=!0}return function e(){for(;t.stack.length;){var i=t.stack.pop();try{var r=i.dispose&&i.dispose.call(i.value);if(i.async)return Promise.resolve(r).then(e,function(t){return n(t),e()})}catch(e){n(e)}}if(t.hasError)throw t.error}()}}("function"==typeof SuppressedError?SuppressedError:function(e,t,n){var i=new Error(n);return i.name="SuppressedError",i.error=e,i.suppressed=t,i});function wz(e){return class extends e{constructor(){super(...arguments),this._queue=[],this._isInitialized=!1}get _queueRunning(){return!!this._queue.length}queueDone(){return new Promise(e=>{const t=()=>this._queueRunning?setTimeout(t):e();t()})}async ready(){if(await super.ready(),await this.queueDone(),!this._isInitialized&&!this._disableSync){if(this.checkSync(),await this._sync.ready(),this._sync instanceof g$&&this instanceof g$){const e=this._sync.store.transaction(),t=this.store.transaction(),n=[];for(const i of await t.keys())n.push(t.get(i).then(t=>e.setSync(i,t)));return await Promise.all(n),void(this._isInitialized=!0)}try{await this.crossCopy("/"),this._isInitialized=!0}catch(e){throw this._isInitialized=!1,e}}}checkSync(e,t){if(this._disableSync)throw new cP(lP.ENOTSUP,"Sync caching has been disabled for this async file system",e,t);if(!this._sync)throw new cP(lP.ENOTSUP,"No sync cache is attached to this async file system",e,t)}renameSync(e,t){this.checkSync(e,"rename"),this._sync.renameSync(e,t),this.queue("rename",e,t)}statSync(e){return this.checkSync(e,"stat"),this._sync.statSync(e)}createFileSync(e,t,n){return this.checkSync(e,"createFile"),this._sync.createFileSync(e,t,n),this.queue("createFile",e,t,n),this.openFileSync(e,t)}openFileSync(e,t){this.checkSync(e,"openFile");const n=this._sync.openFileSync(e,t+"+"),i=n.statSync(),r=new Uint8Array(i.size);return n.readSync(r),new VB(this,e,t,i,r)}unlinkSync(e){this.checkSync(e,"unlinkSync"),this._sync.unlinkSync(e),this.queue("unlink",e)}rmdirSync(e){this.checkSync(e,"rmdir"),this._sync.rmdirSync(e),this.queue("rmdir",e)}mkdirSync(e,t){this.checkSync(e,"mkdir"),this._sync.mkdirSync(e,t),this.queue("mkdir",e,t)}readdirSync(e){return this.checkSync(e,"readdir"),this._sync.readdirSync(e)}linkSync(e,t){this.checkSync(e,"link"),this._sync.linkSync(e,t),this.queue("link",e,t)}syncSync(e,t,n){this.checkSync(e,"sync"),this._sync.syncSync(e,t,n),this.queue("sync",e,t,n)}existsSync(e){return this.checkSync(e,"exists"),this._sync.existsSync(e)}async crossCopy(e){this.checkSync(e,"crossCopy");const t=await this.stat(e);if(!t.isDirectory()){const n={stack:[],error:void 0,hasError:!1};try{const i=xz(n,await this.openFile(e,NB("r")),!0),r=xz(n,this._sync.createFileSync(e,NB("w"),t.mode),!1),s=new Uint8Array(t.size);return await i.read(s),void r.writeSync(s,0,t.size)}catch(e){n.error=e,n.hasError=!0}finally{const e=Ez(n);e&&await e}}if("/"!==e){const t=await this.stat(e);this._sync.mkdirSync(e,t.mode)}const n=[];for(const t of await this.readdir(e))n.push(this.crossCopy(fP(e,t)));await Promise.all(n)}async _next(){if(!this._queueRunning)return;const[e,...t]=this._queue.shift();await this[e](...t),await this._next()}queue(...e){this._queue.push(e),this._next()}}}new Map;wz(zB);new Map;Map;Iz=zB;var Iz;var Az=function(e,t,n){if(null!=t){if("object"!=typeof t&&"function"!=typeof t)throw new TypeError("Object expected.");var i,r;if(n){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");i=t[Symbol.asyncDispose]}if(void 0===i){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");i=t[Symbol.dispose],n&&(r=i)}if("function"!=typeof i)throw new TypeError("Object not disposable.");r&&(i=function(){try{r.call(this)}catch(e){return Promise.reject(e)}}),e.stack.push({value:t,dispose:i,async:n})}else n&&e.stack.push({async:!0});return t},Sz=function(e){return function(t){function n(n){t.error=t.hasError?new e(n,t.error,"An error was suppressed during disposal."):n,t.hasError=!0}return function e(){for(;t.stack.length;){var i=t.stack.pop();try{var r=i.dispose&&i.dispose.call(i.value);if(i.async)return Promise.resolve(r).then(e,function(t){return n(t),e()})}catch(e){n(e)}}if(t.hasError)throw t.error}()}}("function"==typeof SuppressedError?SuppressedError:function(e,t,n){var i=new Error(n);return i.name="SuppressedError",i.error=e,i.suppressed=t,i});class Cz{get isLocked(){return this._isLocked}constructor(e){this.previous=e,this.current=Promise.withResolvers(),this._isLocked=!0}async done(){await(this.previous?.done()),await this.current.promise}unlock(){this.current.resolve(),this._isLocked=!1}[Symbol.dispose](){this.unlock()}}class Oz{async ready(){return await this._fs.ready()}metadata(){return this._fs.metadata()}addLock(){const e=new Cz(this.currentLock);return this.currentLock=e,e}async lock(e,t){const n=this.currentLock,i=this.addLock(),r=(new Error).stack;return setTimeout(()=>{if(i.isLocked){const n=cP.With("EDEADLK",e,t);throw n.stack+=r?.slice(5),n}},5e3),await(n?.done()),i}lockSync(e,t){if(this.currentLock?.isLocked)throw cP.With("EBUSY",e,t);return this.addLock()}get isLocked(){return!!this.currentLock?.isLocked}async rename(e,t){const n={stack:[],error:void 0,hasError:!1};try{Az(n,await this.lock(e,"rename"),!1);await this._fs.rename(e,t)}catch(e){n.error=e,n.hasError=!0}finally{Sz(n)}}renameSync(e,t){const n={stack:[],error:void 0,hasError:!1};try{Az(n,this.lockSync(e,"rename"),!1);return this._fs.renameSync(e,t)}catch(e){n.error=e,n.hasError=!0}finally{Sz(n)}}async stat(e){const t={stack:[],error:void 0,hasError:!1};try{Az(t,await this.lock(e,"stat"),!1);return await this._fs.stat(e)}catch(e){t.error=e,t.hasError=!0}finally{Sz(t)}}statSync(e){const t={stack:[],error:void 0,hasError:!1};try{Az(t,this.lockSync(e,"stat"),!1);return this._fs.statSync(e)}catch(e){t.error=e,t.hasError=!0}finally{Sz(t)}}async openFile(e,t){const n={stack:[],error:void 0,hasError:!1};try{Az(n,await this.lock(e,"openFile"),!1);const i=await this._fs.openFile(e,t);return i.fs=this,i}catch(e){n.error=e,n.hasError=!0}finally{Sz(n)}}openFileSync(e,t){const n={stack:[],error:void 0,hasError:!1};try{Az(n,this.lockSync(e,"openFile"),!1);const i=this._fs.openFileSync(e,t);return i.fs=this,i}catch(e){n.error=e,n.hasError=!0}finally{Sz(n)}}async createFile(e,t,n){const i={stack:[],error:void 0,hasError:!1};try{Az(i,await this.lock(e,"createFile"),!1);const r=await this._fs.createFile(e,t,n);return r.fs=this,r}catch(e){i.error=e,i.hasError=!0}finally{Sz(i)}}createFileSync(e,t,n){const i={stack:[],error:void 0,hasError:!1};try{Az(i,this.lockSync(e,"createFile"),!1);const r=this._fs.createFileSync(e,t,n);return r.fs=this,r}catch(e){i.error=e,i.hasError=!0}finally{Sz(i)}}async unlink(e){const t={stack:[],error:void 0,hasError:!1};try{Az(t,await this.lock(e,"unlink"),!1);await this._fs.unlink(e)}catch(e){t.error=e,t.hasError=!0}finally{Sz(t)}}unlinkSync(e){const t={stack:[],error:void 0,hasError:!1};try{Az(t,this.lockSync(e,"unlink"),!1);return this._fs.unlinkSync(e)}catch(e){t.error=e,t.hasError=!0}finally{Sz(t)}}async rmdir(e){const t={stack:[],error:void 0,hasError:!1};try{Az(t,await this.lock(e,"rmdir"),!1);await this._fs.rmdir(e)}catch(e){t.error=e,t.hasError=!0}finally{Sz(t)}}rmdirSync(e){const t={stack:[],error:void 0,hasError:!1};try{Az(t,this.lockSync(e,"rmdir"),!1);return this._fs.rmdirSync(e)}catch(e){t.error=e,t.hasError=!0}finally{Sz(t)}}async mkdir(e,t){const n={stack:[],error:void 0,hasError:!1};try{Az(n,await this.lock(e,"mkdir"),!1);await this._fs.mkdir(e,t)}catch(e){n.error=e,n.hasError=!0}finally{Sz(n)}}mkdirSync(e,t){const n={stack:[],error:void 0,hasError:!1};try{Az(n,this.lockSync(e,"mkdir"),!1);return this._fs.mkdirSync(e,t)}catch(e){n.error=e,n.hasError=!0}finally{Sz(n)}}async readdir(e){const t={stack:[],error:void 0,hasError:!1};try{Az(t,await this.lock(e,"readdir"),!1);return await this._fs.readdir(e)}catch(e){t.error=e,t.hasError=!0}finally{Sz(t)}}readdirSync(e){const t={stack:[],error:void 0,hasError:!1};try{Az(t,this.lockSync(e,"readdir"),!1);return this._fs.readdirSync(e)}catch(e){t.error=e,t.hasError=!0}finally{Sz(t)}}async exists(e){const t={stack:[],error:void 0,hasError:!1};try{Az(t,await this.lock(e,"exists"),!1);return await this._fs.exists(e)}catch(e){t.error=e,t.hasError=!0}finally{Sz(t)}}existsSync(e){const t={stack:[],error:void 0,hasError:!1};try{Az(t,this.lockSync(e,"exists"),!1);return this._fs.existsSync(e)}catch(e){t.error=e,t.hasError=!0}finally{Sz(t)}}async link(e,t){const n={stack:[],error:void 0,hasError:!1};try{Az(n,await this.lock(e,"link"),!1);await this._fs.link(e,t)}catch(e){n.error=e,n.hasError=!0}finally{Sz(n)}}linkSync(e,t){const n={stack:[],error:void 0,hasError:!1};try{Az(n,this.lockSync(e,"link"),!1);return this._fs.linkSync(e,t)}catch(e){n.error=e,n.hasError=!0}finally{Sz(n)}}async sync(e,t,n){const i={stack:[],error:void 0,hasError:!1};try{Az(i,await this.lock(e,"sync"),!1);await this._fs.sync(e,t,n)}catch(e){i.error=e,i.hasError=!0}finally{Sz(i)}}syncSync(e,t,n){const i={stack:[],error:void 0,hasError:!1};try{Az(i,this.lockSync(e,"sync"),!1);return this._fs.syncSync(e,t,n)}catch(e){i.error=e,i.hasError=!0}finally{Sz(i)}}}var Mz=function(e,t,n){if(null!=t){if("object"!=typeof t&&"function"!=typeof t)throw new TypeError("Object expected.");var i,r;if(n){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");i=t[Symbol.asyncDispose]}if(void 0===i){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");i=t[Symbol.dispose],n&&(r=i)}if("function"!=typeof i)throw new TypeError("Object not disposable.");r&&(i=function(){try{r.call(this)}catch(e){return Promise.reject(e)}}),e.stack.push({value:t,dispose:i,async:n})}else n&&e.stack.push({async:!0});return t},kz=function(e){return function(t){function n(n){t.error=t.hasError?new e(n,t.error,"An error was suppressed during disposal."):n,t.hasError=!0}return function e(){for(;t.stack.length;){var i=t.stack.pop();try{var r=i.dispose&&i.dispose.call(i.value);if(i.async)return Promise.resolve(r).then(e,function(t){return n(t),e()})}catch(e){n(e)}}if(t.hasError)throw t.error}()}}("function"==typeof SuppressedError?SuppressedError:function(e,t,n){var i=new Error(n);return i.name="SuppressedError",i.error=e,i.suppressed=t,i});const Rz="/.deleted";class Nz extends zB{async ready(){await this.readable.ready(),await this.writable.ready(),await this._ready}constructor({writable:e,readable:t}){if(super(),this._isInitialized=!1,this._deletedFiles=new Set,this._deleteLog="",this._deleteLogUpdatePending=!1,this._deleteLogUpdateNeeded=!1,this.writable=e,this.readable=t,this.writable.metadata().readonly)throw new cP(lP.EINVAL,"Writable file system must be writable.");this._ready=this._initialize()}metadata(){return{...super.metadata(),name:Dz.name}}async sync(e,t,n){await this.copyForWrite(e),await this.writable.exists(e)||await this.writable.createFile(e,"w",420),await this.writable.sync(e,t,n)}syncSync(e,t,n){this.copyForWriteSync(e),this.writable.syncSync(e,t,n)}async _initialize(){if(!this._isInitialized){try{const e=await this.writable.openFile(Rz,NB("r")),{size:t}=await e.stat(),{buffer:n}=await e.read(new Uint8Array(t));this._deleteLog=TP(n)}catch(e){if(e.errno!==lP.ENOENT)throw e}this._isInitialized=!0,this._reparseDeletionLog()}}getDeletionLog(){return this._deleteLog}async restoreDeletionLog(e){this._deleteLog=e,this._reparseDeletionLog(),await this.updateLog("")}async rename(e,t){this.checkInitialized(),this.checkPath(e),this.checkPath(t),await this.copyForWrite(e);try{await this.writable.rename(e,t)}catch{if(this._deletedFiles.has(e))throw cP.With("ENOENT",e,"rename")}}renameSync(e,t){this.checkInitialized(),this.checkPath(e),this.checkPath(t),this.copyForWriteSync(e);try{this.writable.renameSync(e,t)}catch{if(this._deletedFiles.has(e))throw cP.With("ENOENT",e,"rename")}}async stat(e){this.checkInitialized();try{return await this.writable.stat(e)}catch{if(this._deletedFiles.has(e))throw cP.With("ENOENT",e,"stat");const t=await this.readable.stat(e);return t.mode|=146,t}}statSync(e){this.checkInitialized();try{return this.writable.statSync(e)}catch{if(this._deletedFiles.has(e))throw cP.With("ENOENT",e,"stat");const t=this.readable.statSync(e);return t.mode|=146,t}}async openFile(e,t){if(await this.writable.exists(e))return this.writable.openFile(e,t);const n=await this.readable.openFile(e,NB("r")),i=await n.stat(),{buffer:r}=await n.read(new Uint8Array(i.size));return new VB(this,e,t,i,r)}openFileSync(e,t){if(this.writable.existsSync(e))return this.writable.openFileSync(e,t);const n=this.readable.openFileSync(e,NB("r")),i=n.statSync(),r=new Uint8Array(i.size);return n.readSync(r),new VB(this,e,t,i,r)}async createFile(e,t,n){return this.checkInitialized(),await this.writable.createFile(e,t,n),this.openFile(e,t)}createFileSync(e,t,n){return this.checkInitialized(),this.writable.createFileSync(e,t,n),this.openFileSync(e,t)}async link(e,t){this.checkInitialized(),await this.copyForWrite(e),await this.writable.link(e,t)}linkSync(e,t){this.checkInitialized(),this.copyForWriteSync(e),this.writable.linkSync(e,t)}async unlink(e){if(this.checkInitialized(),this.checkPath(e),!await this.exists(e))throw cP.With("ENOENT",e,"unlink");await this.writable.exists(e)&&await this.writable.unlink(e),await this.exists(e)&&await this.deletePath(e)}unlinkSync(e){if(this.checkInitialized(),this.checkPath(e),!this.existsSync(e))throw cP.With("ENOENT",e,"unlink");this.writable.existsSync(e)&&this.writable.unlinkSync(e),this.existsSync(e)&&this.deletePath(e)}async rmdir(e){if(this.checkInitialized(),!await this.exists(e))throw cP.With("ENOENT",e,"rmdir");if(await this.writable.exists(e)&&await this.writable.rmdir(e),await this.exists(e)){if((await this.readdir(e)).length)throw cP.With("ENOTEMPTY",e,"rmdir");await this.deletePath(e)}}rmdirSync(e){if(this.checkInitialized(),!this.existsSync(e))throw cP.With("ENOENT",e,"rmdir");if(this.writable.existsSync(e)&&this.writable.rmdirSync(e),this.existsSync(e)){if(this.readdirSync(e).length)throw cP.With("ENOTEMPTY",e,"rmdir");this.deletePath(e)}}async mkdir(e,t){if(this.checkInitialized(),await this.exists(e))throw cP.With("EEXIST",e,"mkdir");await this.createParentDirectories(e),await this.writable.mkdir(e,t)}mkdirSync(e,t){if(this.checkInitialized(),this.existsSync(e))throw cP.With("EEXIST",e,"mkdir");this.createParentDirectoriesSync(e),this.writable.mkdirSync(e,t)}async readdir(e){this.checkInitialized();const t=[];try{t.push(...await this.writable.readdir(e))}catch{}try{t.push(...(await this.readable.readdir(e)).filter(t=>!this._deletedFiles.has(`${e}/${t}`)))}catch{}const n={};return t.filter(e=>{const t=!n[e];return n[e]=!0,t})}readdirSync(e){this.checkInitialized();let t=[];try{t=t.concat(this.writable.readdirSync(e))}catch{}try{t=t.concat(this.readable.readdirSync(e).filter(t=>!this._deletedFiles.has(`${e}/${t}`)))}catch{}const n={};return t.filter(e=>{const t=!n[e];return n[e]=!0,t})}async deletePath(e){this._deletedFiles.add(e),await this.updateLog(`d${e}\n`)}async updateLog(e){if(this._deleteLog+=e,this._deleteLogUpdatePending)return void(this._deleteLogUpdateNeeded=!0);this._deleteLogUpdatePending=!0;const t=await this.writable.openFile(Rz,NB("w"));try{await t.write(vP(this._deleteLog)),this._deleteLogUpdateNeeded&&(this._deleteLogUpdateNeeded=!1,await this.updateLog(""))}catch(e){this._deleteLogError=e}finally{this._deleteLogUpdatePending=!1}}_reparseDeletionLog(){this._deletedFiles.clear();for(const e of this._deleteLog.split("\n"))e.startsWith("d")&&this._deletedFiles.add(e.slice(1))}checkInitialized(){if(!this._isInitialized)throw new cP(lP.EPERM,"OverlayFS is not initialized. Please initialize OverlayFS using its initialize() method before using it.");if(!this._deleteLogError)return;const e=this._deleteLogError;throw delete this._deleteLogError,e}checkPath(e){if(e==Rz)throw cP.With("EPERM",e,"checkPath")}createParentDirectoriesSync(e){let t=mP(e);const n=[];for(;!this.writable.existsSync(t);)n.push(t),t=mP(t);for(const e of n.reverse())this.writable.mkdirSync(e,this.statSync(e).mode)}async createParentDirectories(e){let t=mP(e);const n=[];for(;!await this.writable.exists(t);)n.push(t),t=mP(t);for(const e of n.reverse()){const t=await this.stat(e);await this.writable.mkdir(e,t.mode)}}copyForWriteSync(e){if(!this.existsSync(e))throw cP.With("ENOENT",e,"copyForWrite");this.writable.existsSync(mP(e))||this.createParentDirectoriesSync(e),this.writable.existsSync(e)||this.copyToWritableSync(e)}async copyForWrite(e){if(!await this.exists(e))throw cP.With("ENOENT",e,"copyForWrite");if(await this.writable.exists(mP(e))||await this.createParentDirectories(e),!await this.writable.exists(e))return this.copyToWritable(e)}copyToWritableSync(e){const t={stack:[],error:void 0,hasError:!1};try{const n=this.statSync(e);if(n.isDirectory())return void this.writable.mkdirSync(e,n.mode);const i=new Uint8Array(n.size);Mz(t,this.readable.openFileSync(e,"r"),!1).readSync(i);Mz(t,this.writable.createFileSync(e,"w",146|n.mode),!1).writeSync(i)}catch(e){t.error=e,t.hasError=!0}finally{kz(t)}}async copyToWritable(e){const t={stack:[],error:void 0,hasError:!1};try{const n=await this.stat(e);if(n.isDirectory())return void await this.writable.mkdir(e,n.mode);const i=new Uint8Array(n.size),r=Mz(t,await this.readable.openFile(e,"r"),!0);await r.read(i);const s=Mz(t,await this.writable.createFile(e,"w",146|n.mode),!0);await s.write(i)}catch(e){t.error=e,t.hasError=!0}finally{const e=kz(t);e&&await e}}}class Dz extends(function(e){return class extends Oz{constructor(...t){super(),this._fs=new e(...t)}}}(Nz)){}function Fz(e,t,n){if(e instanceof cP)return e;const i=e instanceof DOMException?lP[function(e){switch(e.name){case"IndexSizeError":case"HierarchyRequestError":case"InvalidCharacterError":case"InvalidStateError":case"SyntaxError":case"NamespaceError":case"TypeMismatchError":case"ConstraintError":case"VersionError":case"URLMismatchError":case"InvalidNodeTypeError":return"EINVAL";case"WrongDocumentError":return"EXDEV";case"NoModificationAllowedError":case"InvalidModificationError":case"InvalidAccessError":case"SecurityError":case"NotAllowedError":return"EACCES";case"NotFoundError":return"ENOENT";case"NotSupportedError":return"ENOTSUP";case"InUseAttributeError":return"EBUSY";case"NetworkError":return"ENETDOWN";case"AbortError":return"EINTR";case"QuotaExceededError":return"ENOSPC";case"TimeoutError":return"ETIMEDOUT";case"ReadOnlyError":return"EROFS";default:return"EIO"}}(e)]:lP.EIO,r=new cP(i,e.message,t,n);return r.stack=e.stack,r.cause=e.cause,r}globalThis.__zenfs__=ue;class Lz extends(wz(zB)){constructor(e){super(),this._handles=new Map,this._sync=x$.create({name:"accessfs-cache"}),this._handles.set("/",e)}metadata(){return{...super.metadata(),name:"WebAccess",noResizableBuffers:!0}}async sync(e,t){await this.writeFile(e,t)}async rename(e,t){const n=await this.getHandle(e);if(n instanceof FileSystemDirectoryHandle){const n=await this.readdir(e);if(await this.mkdir(t),!n.length)return void await this.unlink(e);for(const i of n)await this.rename(fP(e,i),fP(t,i)),await this.unlink(e);return}if(!(n instanceof FileSystemFileHandle))throw new cP(lP.ENOTSUP,"Not a file or directory handle",e,"rename");const i=await n.getFile().catch(t=>{throw Fz(t,e,"rename")}),r=await this.getHandle(mP(t));if(!(r instanceof FileSystemDirectoryHandle))return;const s=await r.getFileHandle(gP(t),{create:!0}).catch(e=>{throw Fz(e,t,"rename")}),o=await s.createWritable();await o.write(await i.arrayBuffer()),await o.close(),await this.unlink(e)}async writeFile(e,t){if(t.buffer.resizable)throw new cP(lP.EINVAL,"Resizable buffers can not be written",e,"write");const n=await this.getHandle(mP(e));if(!(n instanceof FileSystemDirectoryHandle))return;const i=await n.getFileHandle(gP(e),{create:!0}),r=await i.createWritable();await r.write(t),await r.close()}async createFile(e,t){return await this.writeFile(e,new Uint8Array),this.openFile(e,t)}async stat(e){const t=await this.getHandle(e);if(!t)throw cP.With("ENOENT",e,"stat");if(t instanceof FileSystemDirectoryHandle)return new CB({mode:511|sB,size:4096});if(t instanceof FileSystemFileHandle){const{lastModified:e,size:n}=await t.getFile();return new CB({mode:511|iB,size:n,mtimeMs:e})}throw new cP(lP.EBADE,"Handle is not a directory or file",e,"stat")}async openFile(e,t){const n=await this.getHandle(e);if(!(n instanceof FileSystemFileHandle))throw cP.With("EISDIR",e,"openFile");const i=await n.getFile().catch(t=>{throw Fz(t,e,"openFile")}),r=new Uint8Array(await i.arrayBuffer()),s=new CB({mode:511|iB,size:i.size,mtimeMs:i.lastModified});return new VB(this,e,t,s,r)}async unlink(e){const t=await this.getHandle(mP(e));if(!(t instanceof FileSystemDirectoryHandle))throw cP.With("ENOTDIR",mP(e),"unlink");await t.removeEntry(gP(e),{recursive:!0}).catch(t=>{throw Fz(t,e,"unlink")})}async link(e){}async rmdir(e){return this.unlink(e)}async mkdir(e){if(await this.getHandle(e).catch(e=>{if("ENOENT"!=e.code)throw e}))throw cP.With("EEXIST",e,"mkdir");const t=await this.getHandle(mP(e));if(!(t instanceof FileSystemDirectoryHandle))throw cP.With("ENOTDIR",e,"mkdir");await t.getDirectoryHandle(gP(e),{create:!0})}async readdir(e){const t=await this.getHandle(e);if(!(t instanceof FileSystemDirectoryHandle))throw cP.With("ENOTDIR",e,"readdir");const n=[];for await(const e of t.keys())n.push(e);return n}async getHandle(e){if(this._handles.has(e))return this._handles.get(e);let t="/";for(const n of e.split("/").slice(1)){const e=this._handles.get(t);if(!(e instanceof FileSystemDirectoryHandle))throw cP.With("ENOTDIR",t,"getHandle");t=fP(t,n);const i=await e.getDirectoryHandle(n).catch(i=>{switch(i.name){case"TypeMismatchError":return e.getFileHandle(n).catch(e=>{});case"TypeError":throw new cP(lP.ENOENT,i.message,t,"getHandle");default:throw Fz(i,t,"getHandle")}});i&&this._handles.set(t,i)}return this._handles.get(e)}}function Pz(e){return new Promise((t,n)=>{e.oncomplete=e.onsuccess=()=>t(e.result),e.onabort=e.onerror=()=>n(e.error)})}let Bz;function $z(){return Bz||(Bz=function(e,t){const n=indexedDB.open(e);n.onupgradeneeded=()=>n.result.createObjectStore(t);const i=Pz(n);return(e,n)=>i.then(i=>n(i.transaction(t,e).objectStore(t)))}("keyval-store","keyval")),Bz}class Uz extends Lz{constructor(e){super(e)}async readFile(e){const t=await this.getHandle(e);if(t instanceof window.FileSystemFileHandle){const e=await t.getFile();return await e.text()}return""}}class Vz extends ze.FS{#e=null;#t=new TextEncoder;constructor(){super()}async showDirectoryPicker(){const e=await window.showDirectoryPicker({mode:"readwrite"});if("granted"!==await e.requestPermission({mode:"readwrite"}))throw new Error("readwrite access to directory not granted");return await this.setFSCache(e),this.#e=new Uz(e),e}async loadFS(){let e=await this.getFSCache();if(!e)return null;if("granted"!==await e.requestPermission({mode:"readwrite"}))throw new Error("readwrite access to directory not granted");return this.#e=new Uz(e),e}async getFSCache(){return function(e,t=$z()){return t("readonly",t=>Pz(t.get(e)))}("mixly-pyodide-fs")}async setFSCache(e){await function(e,t,n=$z()){return n("readwrite",n=>(n.put(t,e),Pz(n.transaction)))}("mixly-pyodide-fs",e)}async createFile(e){return this.#e.createFile(e,"")}async readFile(e){return this.#e.readFile(e)}async writeFile(e,t){const n=this.#t.encode(t);return this.#e.writeFile(e,n)}async isFile(e){const t=await this.#e.stat(e);return!(!t||33279!==t.mode)}async renameFile(e,t){return await this.#e.rename(e,t)}async moveFile(e,t){return this.renameFile(e,t)}async deleteFile(e){return this.#e.unlink(e)}async createDirectory(e){return this.#e.mkdir(e,511)}async readDirectory(e){return await this.#e.readdir(e)}async isDirectory(e){const t=await this.#e.stat(e);return!(!t||16895!==t.mode)}async isDirectoryEmpty(e){const t=await this.readDirectory(e);return!t?.length}async renameDirectory(e,t){return this.#e.rename(e,t)}async moveDirectory(e,t){return this.#e.rename(e,t)}async deleteDirectory(e){return this.#e.rmdir(e)}}class zz extends ze.FileTree{constructor(){super(new Vz)}async readFolder(e){let t=[];try{const n=this.getFS();if(!await n.isDirectory(e))return t;const i=await n.readDirectory(e);for(let r of i){const i=Ax.join(e,r);if(await n.isDirectory(i)){const e=await n.isDirectoryEmpty(i);t.push({type:"folder",id:i,children:!e,title:`/${this.getRootFolderName()}${i}`})}else t.push({type:"file",id:i,children:!1,title:`/${this.getRootFolderName()}${i}`})}}catch(e){ze.Debug.error(e)}return t}}class jz extends ze.PageBase{static{ze.HTMLTemplate.add("html/statusbar/statusbar-filesystem.html",new ze.HTMLTemplate('\r\n
\r\n
\r\n
\r\n
')),ze.HTMLTemplate.add("html/statusbar/statusbar-filesystem-open-fs.html",new ze.HTMLTemplate('\r\n
\r\n \r\n
')),ze.HTMLTemplate.add("html/statusbar/statusbar-filesystem-editor-empty.html",new ze.HTMLTemplate('\r\n
\r\n
\r\n
')),this.init=function(){ze.StatusBarsManager.typesRegistry.register(["file-system"],jz);const e=ze.Workspace.getMain().getStatusBarsManager();return e.add({type:"file-system",id:"file-system",name:Ve.Msg.PYTHON_PYODIDE_FILE_SYSTEM,title:Ve.Msg.PYTHON_PYODIDE_FILE_SYSTEM}),e.changeTo("output"),e.get("file-system")}}#n=null;#i=null;#r=null;#s=null;#o=null;#a=null;#l=null;#u=null;#c=!1;#d=!1;#h=!1;#p=null;constructor(){super();const e=Cx()(ze.HTMLTemplate.get("html/statusbar/statusbar-filesystem.html").render());this.setContent(e),this.#l=new zz,this.#i=e.children(".file-tree"),this.#s=Cx()(ze.HTMLTemplate.get("html/statusbar/statusbar-filesystem-open-fs.html").render({msg:{loadFS:Ve.Msg.PYTHON_PYODIDE_LOAD_FILE_SYSTEM}})),this.#i.append(this.#s),this.#a=new ze.StatusBar,this.#r=e.children(".editor"),this.#o=Cx()(ze.HTMLTemplate.get("html/statusbar/statusbar-filesystem-editor-empty.html").render()),this.#r.append(this.#o)}#f(){this.#u=new ze.DragV(this.getContent()[0],{min:"150px",startSize:"15%",full:[!1,!1]}),this.#u.bind("sizeChanged",()=>{this.resize()}),this.#s.children("button").click(()=>{this.selectFS().catch(ze.Debug.error)}),this.#l.bind("beforeSelectLeaf",e=>{const t=e[0].id,n=this.#a.getFileMode(Ax.extname(t));return n?(this.#a.setMode(n),!0):(aP.layer.msg(ze.Msg.Lang["statusbar.ampy.cannotEdit"],{time:1e3}),!1)}),this.#l.bind("afterSelectLeaf",async e=>{const t=e[0].id;this.#l.showProgress();const n=this.#l.getFS();try{const e=await n.readFile(t);this.showEditor(),this.#a.setValue(e),this.#a.scrollToTop(),this.#a.focus(),this.setStatus(!1)}catch(e){ze.Debug.error(e),this.hideEditor(),this.#l.deselectAll()}this.#l.hideProgress()}),this.#l.bind("afterCreateNode",e=>{this.#l.refreshFolder(e)}),this.#l.bind("afterDeleteNode",e=>{this.#l.refreshFolder(e)}),this.#l.bind("afterRenameNode",e=>{this.#l.refreshFolder(e)}),this.#l.bind("afterRefreshNode",()=>{this.#l.getSelectedNodeId()||this.hideEditor()});const e=this.#l.getContextMenu().getItem("menu");e.add({weight:7,id:"copy_path",data:{isHtmlName:!0,name:ze.Menu.getItem(ze.Msg.Lang["fileTree.copyPath"]),callback:(e,{$trigger:t})=>{let n=null;n="root"===t.attr("type")?this.#l.getRootFolderTitle():t.attr("title"),navigator.clipboard.writeText(n).catch(ze.Debug.error)}}}),e.add({weight:14,id:"sep5",preconditionFn:e=>{const t=this.#l.getSelectedNodeId();let n=e.attr("type"),i=e.attr("id");return"file"!==n||t===i},data:"---------"}),e.add({weight:15,id:"refresh",preconditionFn:e=>{const t=this.#l.getSelectedNodeId();let n=e.attr("type"),i=e.attr("id");return"file"!==n||t===i},data:{isHtmlName:!0,name:ze.Menu.getItem(ze.Msg.Lang["statusbar.ampy.refresh"]),callback:(e,{$trigger:t})=>{let n=t.attr("type");if("root"===n)this.#l.openRootFolder(),this.#l.refreshFolder("/");else if("folder"===n){let e=t.attr("id");this.#l.openNode(e),this.#l.refreshFolder(e)}else{const e=this.#l.getSelectedNodes();this.#l.runEvent("afterSelectLeaf",e)}}}}),e.add({weight:16,id:"sep6",preconditionFn:e=>{let t=e.attr("type");return["root"].includes(t)},data:"---------"}),e.add({weight:17,id:"exit",preconditionFn:e=>{let t=e.attr("type");return["root"].includes(t)},data:{isHtmlName:!0,name:ze.Menu.getItem(ze.Msg.Lang["statusbar.ampy.exit"]),callback:()=>{this.closeFS()}}}),e.remove("copy"),e.remove("cut"),e.remove("paste"),e.remove("sep2");const t=this.#a.getContextMenu().getItem("code");t.empty(),t.add({weight:0,id:"cut",data:{isHtmlName:!0,name:ze.Menu.getItem(ze.Msg.Lang["editor.contextMenu.cut"],"Ctrl+X"),callback:()=>this.#a.cut()}}),t.add({weight:1,id:"copy",data:{isHtmlName:!0,name:ze.Menu.getItem(ze.Msg.Lang["editor.contextMenu.copy"],"Ctrl+C"),callback:()=>this.#a.copy()}}),t.add({weight:2,id:"paste",data:{isHtmlName:!0,name:ze.Menu.getItem(ze.Msg.Lang["editor.contextMenu.paste"],"Ctrl+V"),callback:()=>this.#a.paste()}}),t.add({weight:3,id:"sep1",data:"---------"}),t.add({weight:4,id:"togglecomment",data:{isHtmlName:!0,name:ze.Menu.getItem(ze.Msg.Lang["editor.contextMenu.togglecomment"],"Ctrl+/"),callback:()=>this.#a.commentLine()}}),t.add({weight:6,id:"sep2",preconditionFn:()=>this.#h,data:"---------"}),t.add({weight:7,id:"save",preconditionFn:()=>this.#h,data:{isHtmlName:!0,name:ze.Menu.getItem(ze.Msg.Lang["file.save"],"Ctrl+S"),callback:async()=>{await this.put()}}});const{commands:n}=this.#a.getEditor();n.addCommand({name:"save",bindKey:"Ctrl-S",exec:async()=>{this.#h&&await this.put()}})}async put(){this.#l.showProgress();const e=this.#l.getSelectedNodeId(),t=this.#l.getFS();try{await t.writeFile(e,this.#a.getValue()),this.setStatus(!1)}catch(e){ze.Debug.error(e)}finally{this.#l.hideProgress()}}showFileTree(){this.#c||(this.#s.detach(),this.#i.empty(),this.#i.append(this.#l.getContent()),this.#c=!0)}hideFileTree(){this.#c&&(this.#l.getContent().detach(),this.#i.empty(),this.#i.append(this.#s),this.#c=!1)}showEditor(){this.#d||(this.#o.detach(),this.#r.empty(),this.#r.append(this.#a.getContent()),this.#d=!0)}hideEditor(){this.#d&&(this.#a.getContent().detach(),this.#r.empty(),this.#r.append(this.#o),this.#d=!1,this.setStatus(!1))}getDrag(){return this.#u}init(){super.init(),this.hideCloseBtn(),this.#a.init(),this.#f();const e=this.#a.getEditor();e.setReadOnly(!1),e.renderer.setShowGutter(!0),e.setOptions({enableBasicAutocompletion:!0,enableSnippets:!0,enableLiveAutocompletion:!0,newLineMode:"unix"}),e.on("change",()=>{this.setStatus(!0)}),this.loadFS().catch(ze.Debug.error)}async loadFS(){const e=this.#l.getFS(),t=await e.loadFS();await this.openFS(t)}async selectFS(){const e=this.#l.getFS(),t=await e.showDirectoryPicker();await this.openFS(t)}async openFS(e){if(!e?.name)return;const t="/"+e.name;this.#l.setFolderPath("/"),this.#l.setRootFolderTitle(t),this.#l.setRootFolderName(e.name),this.#l.openRootFolder(),this.showFileTree(),this.#p=await window.pyodide.mountNativeFS(t,e)}closeFS(){const e=this.#l.getRootFolderTitle();if(Object.keys(window.pyodide.FS.root.contents).includes(Ax.basename(e))){const t=window.pyodide.FS.lookupPath(e,{follow_mount:!1});window.pyodide.FS.isMountpoint(t.node)&&window.pyodide.FS.unmount(e)}this.#l.getFS().setFSCache(null),this.#l.deselectAll(),this.hideFileTree(),this.hideEditor(),this.setStatus(!1)}onMounted(){super.onMounted(),this.#a.onMounted(),this.#l.onMounted()}onUnmounted(){super.onUnmounted(),this.#a.onUnmounted(),this.#l.onUnmounted()}resize(){super.resize(),this.#a.resize(),this.#l.resize()}setStatus(e){this.#h!==e&&(this.#h=e)}getNativeFS(){return this.#p}dispose(){this.#a.dispose(),this.#a=null,this.#l.dispose(),this.#l=null,super.dispose()}}class Yz extends ze.PageBase{static{ze.HTMLTemplate.add("html/statusbar/statusbar-tool.html",new ze.HTMLTemplate('\r\n
\r\n Teachable Machine\r\n
')),this.init=function(){ze.StatusBarsManager.typesRegistry.register(["tool"],Yz);const e=ze.Workspace.getMain().getStatusBarsManager();return e.add({type:"tool",id:"tool",name:Ve.Msg.PYTHON_PYODIDE_TOOL,title:Ve.Msg.PYTHON_PYODIDE_TOOL}),e.changeTo("output"),e.get("tool")}}constructor(){super();const e=Cx()(ze.HTMLTemplate.get("html/statusbar/statusbar-tool.html").render());this.setContent(e)}init(){super.init(),this.hideCloseBtn()}onMounted(){}onUnmounted(){}resize(){}}class Gz extends ze.PageBase{static{ze.HTMLTemplate.add("html/statusbar/statusbar-game.html",new ze.HTMLTemplate('\r\n
\r\n
{{d.epoch}}: 0
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
')),this.init=function(){ze.StatusBarsManager.typesRegistry.register(["game"],Gz);const e=ze.Workspace.getMain().getStatusBarsManager();return e.add({type:"game",id:"game",name:Ve.Msg.PYTHON_PYODIDE_GAME,title:Ve.Msg.PYTHON_PYODIDE_GAME}),e.changeTo("output"),e.get("game")}}#m=null;#g=null;#_=null;#y=null;#v=null;#b=null;#T=10;#x=500;#E=[];#w=!1;#I=0;#A=null;constructor(){super();const e=Cx()(ze.HTMLTemplate.get("html/statusbar/statusbar-game.html").render({epoch:Ve.Msg.PYTHON_PYODIDE_GAME_EPOCH,start:Ve.Msg.PYTHON_PYODIDE_GAME_START,pause:Ve.Msg.PYTHON_PYODIDE_GAME_PAUSE,random:Ve.Msg.PYTHON_PYODIDE_GAME_RANDOM,reset:Ve.Msg.PYTHON_PYODIDE_GAME_RESET}));this.setContent(e),this.#m=e.find(".start-btn"),this.#g=e.find(".pause-btn"),this.#_=e.find(".random-btn"),this.#y=e.find(".reset-btn"),this.#v=e.find(".generation"),this.#b=e.find(".grid"),this.#S()}#S(){this.#m.click(()=>this.startGame()),this.#g.click(()=>this.pauseGame()),this.#_.click(()=>this.randomInitialize()),this.#y.click(()=>this.resetGame())}initializeGrid(){this.#b.empty(),this.#E=[];for(let e=0;ethis.toggleCell(e,t)),this.#b.append(n)}}this.updateGridDisplay()}toggleCell(e,t){this.#w||(this.#E[e][t]=0===this.#E[e][t]?1:0,this.updateGridDisplay())}updateGridDisplay(){const e=this.#b.children(".cell");for(let t=0;t=0&&s=0&&othis.nextGeneration(),this.#x),this.updateButtons())}pauseGame(){this.#w&&(this.#w=!1,clearInterval(this.#A),this.updateButtons())}randomInitialize(){if(!this.#w){for(let e=0;e{let s=`${e}-${t}`;return n&&(s+=`-${n}`),i&&(s+=`__${i}`),r&&(s+=`--${r}`),s},qz=Symbol("namespaceContextKey"),Kz=e=>{const t=e||(NM()?qC(qz,_I(Wz)):_I(Wz));return tk(()=>xI(t)||Wz)},Zz=(e,t)=>{const n=Kz(t);return{namespace:n,b:(t="")=>Xz(n.value,e,t,"",""),e:t=>t?Xz(n.value,e,"",t,""):"",m:t=>t?Xz(n.value,e,"","",t):"",be:(t,i)=>t&&i?Xz(n.value,e,t,i,""):"",em:(t,i)=>t&&i?Xz(n.value,e,"",t,i):"",bm:(t,i)=>t&&i?Xz(n.value,e,t,"",i):"",bem:(t,i,r)=>t&&i&&r?Xz(n.value,e,t,i,r):"",is:(e,...t)=>{const n=!(t.length>=1)||t[0];return e&&n?`is-${e}`:""},cssVar:e=>{const t={};for(const i in e)e[i]&&(t[`--${n.value}-${i}`]=e[i]);return t},cssVarName:e=>`--${n.value}-${e}`,cssVarBlock:t=>{const i={};for(const r in t)t[r]&&(i[`--${n.value}-${e}-${r}`]=t[r]);return i},cssVarBlockName:t=>`--${n.value}-${e}-${t}`}},Qz=e=>void 0===e,Jz=e=>"boolean"==typeof e,ej=e=>"number"==typeof e,tj=e=>"undefined"!=typeof Element&&e instanceof Element;var nj,ij=Object.defineProperty,rj=Object.defineProperties,sj=Object.getOwnPropertyDescriptors,oj=Object.getOwnPropertySymbols,aj=Object.prototype.hasOwnProperty,lj=Object.prototype.propertyIsEnumerable,uj=(e,t,n)=>t in e?ij(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;function cj(e,t){var n;const i=yI();var r,s;return IO(()=>{i.value=e()},(r=((e,t)=>{for(var n in t||(t={}))aj.call(t,n)&&uj(e,n,t[n]);if(oj)for(var n of oj(t))lj.call(t,n)&&uj(e,n,t[n]);return e})({},t),s={flush:null!=(n=null==t?void 0:t.flush)?n:"sync"},rj(r,sj(s)))),sI(i)}const dj="undefined"!=typeof window,hj=(Object.prototype.toString,e=>"function"==typeof e),pj=()=>{},fj=dj&&(null==(nj=null==window?void 0:window.navigator)?void 0:nj.userAgent)&&/iP(ad|hone|od)/.test(window.navigator.userAgent);function mj(e){return"function"==typeof e?e():xI(e)}function gj(e,t){return function(...n){return new Promise((i,r)=>{Promise.resolve(e(()=>t.apply(this,n),{fn:t,thisArg:this,args:n})).then(i).catch(r)})}}function _j(e,t=!0,n=!0,i=!1){let r,s,o=0,a=!0,l=pj;const u=()=>{r&&(clearTimeout(r),r=void 0,l(),l=pj)};return c=>{const d=mj(e),h=Date.now()-o,p=()=>s=c();return u(),d<=0?(o=Date.now(),p()):(h>d&&(n||!a)?(o=Date.now(),p()):t&&(s=new Promise((e,t)=>{l=i?t:e,r=setTimeout(()=>{o=Date.now(),a=!0,e(p()),u()},Math.max(0,d-h))})),n||r||(r=setTimeout(()=>a=!0,d)),a=!1,s)}}function yj(e){return!!HE()&&(WE(e),!0)}Object.defineProperty,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;function vj(e,t=200,n=!1,i=!0,r=!1){return gj(_j(t,n,i,r),e)}Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;function bj(e,t,n={}){const{immediate:i=!0}=n,r=_I(!1);let s=null;function o(){s&&(clearTimeout(s),s=null)}function a(){r.value=!1,o()}function l(...n){o(),r.value=!0,s=setTimeout(()=>{r.value=!1,s=null,e(...n)},mj(t))}return i&&(r.value=!0,dj&&l()),yj(a),{isPending:sI(r),start:l,stop:a}}Object.defineProperty,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;const Tj={current:0},xj=_I(0),Ej=Symbol("elZIndexContextKey"),wj=Symbol("zIndexContextKey"),Ij=e=>{const t=NM()?qC(Ej,Tj):Tj,n=e||(NM()?qC(wj,void 0):void 0),i=tk(()=>{const e=xI(n);return ej(e)?e:2e3}),r=tk(()=>i.value+xj.value);return!dj&&qC(Ej),{initialZIndex:i,currentZIndex:r,nextZIndex:()=>(t.current++,xj.value=t.current,r.value)}};const Aj=Array.isArray;const Sj="object"==typeof global&&global&&global.Object===Object&&global;var Cj="object"==typeof self&&self&&self.Object===Object&&self;const Oj=Sj||Cj||Function("return this")();const Mj=Oj.Symbol;var kj=Object.prototype,Rj=kj.hasOwnProperty,Nj=kj.toString,Dj=Mj?Mj.toStringTag:void 0;const Fj=function(e){var t=Rj.call(e,Dj),n=e[Dj];try{e[Dj]=void 0;var i=!0}catch(e){}var r=Nj.call(e);return i&&(t?e[Dj]=n:delete e[Dj]),r};var Lj=Object.prototype.toString;const Pj=function(e){return Lj.call(e)};var Bj=Mj?Mj.toStringTag:void 0;const $j=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":Bj&&Bj in Object(e)?Fj(e):Pj(e)};const Uj=function(e){return null!=e&&"object"==typeof e};const Vj=function(e){return"symbol"==typeof e||Uj(e)&&"[object Symbol]"==$j(e)};var zj=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,jj=/^\w*$/;const Yj=function(e,t){if(Aj(e))return!1;var n=typeof e;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=e&&!Vj(e))||(jj.test(e)||!zj.test(e)||null!=t&&e in Object(t))};const Gj=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)};const Hj=function(e){if(!Gj(e))return!1;var t=$j(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t};const Wj=Oj["__core-js_shared__"];var Xj=function(){var e=/[^.]+$/.exec(Wj&&Wj.keys&&Wj.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();const qj=function(e){return!!Xj&&Xj in e};var Kj=Function.prototype.toString;const Zj=function(e){if(null!=e){try{return Kj.call(e)}catch(e){}try{return e+""}catch(e){}}return""};var Qj=/^\[object .+?Constructor\]$/,Jj=Function.prototype,eY=Object.prototype,tY=Jj.toString,nY=eY.hasOwnProperty,iY=RegExp("^"+tY.call(nY).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");const rY=function(e){return!(!Gj(e)||qj(e))&&(Hj(e)?iY:Qj).test(Zj(e))};const sY=function(e,t){return null==e?void 0:e[t]};const oY=function(e,t){var n=sY(e,t);return rY(n)?n:void 0};const aY=oY(Object,"create");const lY=function(){this.__data__=aY?aY(null):{},this.size=0};const uY=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t};var cY=Object.prototype.hasOwnProperty;const dY=function(e){var t=this.__data__;if(aY){var n=t[e];return"__lodash_hash_undefined__"===n?void 0:n}return cY.call(t,e)?t[e]:void 0};var hY=Object.prototype.hasOwnProperty;const pY=function(e){var t=this.__data__;return aY?void 0!==t[e]:hY.call(t,e)};const fY=function(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=aY&&void 0===t?"__lodash_hash_undefined__":t,this};function mY(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t-1};const wY=function(e,t){var n=this.__data__,i=vY(n,e);return i<0?(++this.size,n.push([e,t])):n[i][1]=t,this};function IY(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t(t,n)=>eG(t,n,xI(e)),eG=(e,t,n)=>ZY(n,e,e).replace(/\{(\w+)\}/g,(e,n)=>{var i;return`${null!=(i=null==t?void 0:t[n])?i:`{${n}}`}`}),tG=Symbol("localeContextKey"),nG=e=>{const t=e||qC(tG,_I());return(e=>({lang:tk(()=>xI(e).name),locale:gI(e)?e:_I(e),t:JY(e)}))(tk(()=>t.value||QY))};const iG=function(e){for(var t=-1,n=null==e?0:e.length,i={};++t{if(!Wx(e)||Wx(n=e)&&n[rG])return e;var n;const{values:i,required:r,default:s,type:o,validator:a}=e,l=i||a?n=>{let r=!1,o=[];if(i&&(o=Array.from(i),$x(e,"default")&&o.push(s),r||(r=o.includes(n))),a&&(r||(r=a(n))),!r&&o.length>0){const e=[...new Set(o)].map(e=>JSON.stringify(e)).join(", ");ak(`Invalid prop: validation failed${t?` for prop "${t}"`:""}. Expected one of [${e}], got value ${JSON.stringify(n)}.`)}return r}:void 0,u={type:o,required:!!r,validator:l,[rG]:!0};return $x(e,"default")&&(u.default=s),u},oG=e=>iG(Object.entries(e).map(([e,t])=>[e,sG(t,e)])),aG=["","default","small","large"],lG=sG({type:String,values:aG,required:!1}),uG=Symbol("size"),cG=Symbol("emptyValuesContextKey"),dG=oG({emptyValues:Array,valueOnClear:{type:[String,Number,Boolean,Function],default:void 0,validator:e=>(e=Yx(e)?e():e,Ux(e)?e.every(e=>!e):!e)}}),hG=e=>Object.keys(e),pG=_I();function fG(e,t=void 0){const n=NM()?qC(Hz,pG):pG;return e?tk(()=>{var i,r;return null!=(r=null==(i=n.value)?void 0:i[e])?r:t}):n}const mG=(e,t,n=!1)=>{var i;const r=!!NM(),s=r?fG():void 0,o=null!=(i=null==t?void 0:t.provide)?i:r?XC:void 0;if(!o)return;const a=tk(()=>{const t=xI(e);return(null==s?void 0:s.value)?gG(s.value,t):t});return o(Hz,a),o(tG,tk(()=>a.value.locale)),o(qz,tk(()=>a.value.namespace)),o(wj,tk(()=>a.value.zIndex)),o(uG,{size:tk(()=>a.value.size||"")}),o(cG,tk(()=>({emptyValues:a.value.emptyValues,valueOnClear:a.value.valueOnClear}))),!n&&pG.value||(pG.value=a.value),a},gG=(e,t)=>{const n=[...new Set([...hG(e),...hG(t)])],i={};for(const r of n)i[r]=void 0!==t[r]?t[r]:e[r];return i},_G=oG({a11y:{type:Boolean,default:!0},locale:{type:Object},size:lG,button:{type:Object},card:{type:Object},dialog:{type:Object},link:{type:Object},experimentalFeatures:{type:Object},keyboardNavigation:{type:Boolean,default:!0},message:{type:Object},zIndex:Number,namespace:{type:String,default:"el"},...dG}),yG={placement:"top"},vG=sS({name:"ElConfigProvider",props:_G,setup(e,{slots:t}){const n=mG(e);return CO(()=>e.message,e=>{var t,i;Object.assign(yG,null!=(i=null==(t=null==n?void 0:n.value)?void 0:t.message)?i:{},null!=e?e:{})},{immediate:!0,deep:!0}),()=>uC(t,"default",{config:null==n?void 0:n.value})}}),bG=(e,t)=>{if(e.install=n=>{for(const i of[e,...Object.values(null!=t?t:{})])n.component(i.name,i)},t)for(const[n,i]of Object.entries(t))e[n]=i;return e},TG=e=>(e.install=Rx,e),xG=bG(vG); +let Tk;const xk="undefined"!=typeof window&&window.trustedTypes;if(xk)try{Tk=xk.createPolicy("vue",{createHTML:e=>e})}catch(e){}const Ek=Tk?e=>Tk.createHTML(e):e=>e,wk="undefined"!=typeof document?document:null,Ik=wk&&wk.createElement("template"),Ak={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,i)=>{const r="svg"===t?wk.createElementNS("http://www.w3.org/2000/svg",e):"mathml"===t?wk.createElementNS("http://www.w3.org/1998/Math/MathML",e):n?wk.createElement(e,{is:n}):wk.createElement(e);return"select"===e&&i&&null!=i.multiple&&r.setAttribute("multiple",i.multiple),r},createText:e=>wk.createTextNode(e),createComment:e=>wk.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>wk.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,i,r,s){const o=n?n.previousSibling:t.lastChild;if(r&&(r===s||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),r!==s&&(r=r.nextSibling););else{Ik.innerHTML=Ek("svg"===i?`${e}`:"mathml"===i?`${e}`:e);const r=Ik.content;if("svg"===i||"mathml"===i){const e=r.firstChild;for(;e.firstChild;)r.appendChild(e.firstChild);r.removeChild(e)}t.insertBefore(r,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Sk="transition",Ck="animation",Ok=Symbol("_vtc"),Mk={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},kk=zx({},tS,Mk),Rk=(e=>(e.displayName="Transition",e.props=kk,e))((e,{slots:t})=>lk(rS,Fk(e),t)),Nk=(e,t=[])=>{Hx(e)?e.forEach(e=>e(...t)):e&&e(...t)},Dk=e=>!!e&&(Hx(e)?e.some(e=>e.length>1):e.length>1);function Fk(e){const t={};for(const n in e)n in Mk||(t[n]=e[n]);if(!1===e.css)return t;const{name:n="v",type:i,duration:r,enterFromClass:s=`${n}-enter-from`,enterActiveClass:o=`${n}-enter-active`,enterToClass:a=`${n}-enter-to`,appearFromClass:l=s,appearActiveClass:u=o,appearToClass:c=a,leaveFromClass:d=`${n}-leave-from`,leaveActiveClass:h=`${n}-leave-active`,leaveToClass:p=`${n}-leave-to`}=e,f=function(e){if(null==e)return null;if(Jx(e))return[Lk(e.enter),Lk(e.leave)];{const t=Lk(e);return[t,t]}}(r),m=f&&f[0],g=f&&f[1],{onBeforeEnter:_,onEnter:y,onEnterCancelled:v,onLeave:b,onLeaveCancelled:T,onBeforeAppear:x=_,onAppear:E=y,onAppearCancelled:w=v}=t,I=(e,t,n,i)=>{e._enterCancelled=i,Bk(e,t?c:a),Bk(e,t?u:o),n&&n()},A=(e,t)=>{e._isLeaving=!1,Bk(e,d),Bk(e,p),Bk(e,h),t&&t()},S=e=>(t,n)=>{const r=e?E:y,o=()=>I(t,e,n);Nk(r,[t,o]),$k(()=>{Bk(t,e?l:s),Pk(t,e?c:a),Dk(r)||Vk(t,i,m,o)})};return zx(t,{onBeforeEnter(e){Nk(_,[e]),Pk(e,s),Pk(e,o)},onBeforeAppear(e){Nk(x,[e]),Pk(e,l),Pk(e,u)},onEnter:S(!1),onAppear:S(!0),onLeave(e,t){e._isLeaving=!0;const n=()=>A(e,t);Pk(e,d),e._enterCancelled?(Pk(e,h),Gk()):(Gk(),Pk(e,h)),$k(()=>{e._isLeaving&&(Bk(e,d),Pk(e,p),Dk(b)||Vk(e,i,g,n))}),Nk(b,[e,n])},onEnterCancelled(e){I(e,!1,void 0,!0),Nk(v,[e])},onAppearCancelled(e){I(e,!0,void 0,!0),Nk(w,[e])},onLeaveCancelled(e){A(e),Nk(T,[e])}})}function Lk(e){return vE(e)}function Pk(e,t){t.split(/\s+/).forEach(t=>t&&e.classList.add(t)),(e[Ok]||(e[Ok]=new Set)).add(t)}function Bk(e,t){t.split(/\s+/).forEach(t=>t&&e.classList.remove(t));const n=e[Ok];n&&(n.delete(t),n.size||(e[Ok]=void 0))}function $k(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let Uk=0;function Vk(e,t,n,i){const r=e._endId=++Uk,s=()=>{r===e._endId&&i()};if(null!=n)return setTimeout(s,n);const{type:o,timeout:a,propCount:l}=zk(e,t);if(!o)return i();const u=o+"end";let c=0;const d=()=>{e.removeEventListener(u,h),s()},h=t=>{t.target===e&&++c>=l&&d()};setTimeout(()=>{c(n[e]||"").split(", "),r=i(`${Sk}Delay`),s=i(`${Sk}Duration`),o=jk(r,s),a=i(`${Ck}Delay`),l=i(`${Ck}Duration`),u=jk(a,l);let c=null,d=0,h=0;t===Sk?o>0&&(c=Sk,d=o,h=s.length):t===Ck?u>0&&(c=Ck,d=u,h=l.length):(d=Math.max(o,u),c=d>0?o>u?Sk:Ck:null,h=c?c===Sk?s.length:l.length:0);return{type:c,timeout:d,propCount:h,hasTransform:c===Sk&&/\b(transform|all)(,|$)/.test(i(`${Sk}Property`).toString())}}function jk(e,t){for(;e.lengthYk(t)+Yk(e[n])))}function Yk(e){return"auto"===e?0:1e3*Number(e.slice(0,-1).replace(",","."))}function Gk(){return document.body.offsetHeight}const Hk=Symbol("_vod"),Wk=Symbol("_vsh"),Xk={beforeMount(e,{value:t},{transition:n}){e[Hk]="none"===e.style.display?"":e.style.display,n&&t?n.beforeEnter(e):qk(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:i}){!t!=!n&&(i?t?(i.beforeEnter(e),qk(e,!0),i.enter(e)):i.leave(e,()=>{qk(e,!1)}):qk(e,t))},beforeUnmount(e,{value:t}){qk(e,t)}};function qk(e,t){e.style.display=t?e[Hk]:"none",e[Wk]=!t}const Kk=Symbol("");function Zk(e){const t=$M();if(!t)return;const n=t.ut=(n=e(t.proxy))=>{Array.from(document.querySelectorAll(`[data-v-owner="${t.uid}"]`)).forEach(e=>Jk(e,n))};const i=()=>{const i=e(t.proxy);t.ce?Jk(t.ce,i):Qk(t.subTree,i),n(i)};ZS(()=>{mA(i)}),KS(()=>{DO(i,Bx,{flush:"post"});const e=new MutationObserver(i);e.observe(t.subTree.el.parentNode,{childList:!0}),eC(()=>e.disconnect())})}function Qk(e,t){if(128&e.shapeFlag){const n=e.suspense;e=n.activeBranch,n.pendingBranch&&!n.isHydrating&&n.effects.push(()=>{Qk(n.activeBranch,t)})}for(;e.component;)e=e.component.subTree;if(1&e.shapeFlag&&e.el)Jk(e.el,t);else if(e.type===iM)e.children.forEach(e=>Qk(e,t));else if(e.type===oM){let{el:n,anchor:i}=e;for(;n&&(Jk(n,t),n!==i);)n=n.nextSibling}}function Jk(e,t){if(1===e.nodeType){const n=e.style;let i="";for(const e in t)n.setProperty(`--${e}`,t[e]),i+=`--${e}: ${t[e]};`;n[Kk]=i}}const eR=/(^|;)\s*display\s*:/;const tR=/\s*!important$/;function nR(e,t,n){if(Hx(n))n.forEach(n=>nR(e,t,n));else if(null==n&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const i=function(e,t){const n=rR[t];if(n)return n;let i=cE(t);if("filter"!==i&&i in e)return rR[t]=i;i=pE(i);for(let n=0;n{if(e._vts){if(e._vts<=n.attached)return}else e._vts=Date.now();iA(function(e,t){if(Hx(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(e=>t=>!t._stopped&&e&&e(t))}return t}(e,n.value),t,5,[e])};return n.value=e,n.attached=fR(),n}(i,r);lR(e,n,o,a)}else o&&(!function(e,t,n,i){e.removeEventListener(t,n,i)}(e,n,o,a),s[t]=void 0)}}const dR=/(?:Once|Passive|Capture)$/;let hR=0;const pR=Promise.resolve(),fR=()=>hR||(pR.then(()=>hR=0),hR=Date.now());const mR=e=>111===e.charCodeAt(0)&&110===e.charCodeAt(1)&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123;const gR={}; +/*! #__NO_SIDE_EFFECTS__ */function _R(e,t,n){const i=dS(e,t);rE(i)&&zx(i,t);class r extends bR{constructor(e){super(i,e,n)}}return r.def=i,r} +/*! #__NO_SIDE_EFFECTS__ */const yR=(e,t)=>_R(e,t,aN),vR="undefined"!=typeof HTMLElement?HTMLElement:class{};class bR extends vR{constructor(e,t={},n=oN){super(),this._def=e,this._props=t,this._createApp=n,this._isVueCE=!0,this._instance=null,this._app=null,this._nonce=this._def.nonce,this._connected=!1,this._resolved=!1,this._numberProps=null,this._styleChildren=new WeakSet,this._ob=null,this.shadowRoot&&n!==oN?this._root=this.shadowRoot:!1!==e.shadowRoot?(this.attachShadow({mode:"open"}),this._root=this.shadowRoot):this._root=this,this._def.__asyncLoader||this._resolveProps(this._def)}connectedCallback(){if(!this.isConnected)return;this.shadowRoot||this._parseSlots(),this._connected=!0;let e=this;for(;e=e&&(e.parentNode||e.host);)if(e instanceof bR){this._parent=e;break}this._instance||(this._resolved?(this._setParent(),this._update()):e&&e._pendingResolve?this._pendingResolve=e._pendingResolve.then(()=>{this._pendingResolve=void 0,this._resolveDef()}):this._resolveDef())}_setParent(e=this._parent){e&&(this._instance.parent=e._instance,this._instance.provides=e._instance.provides)}disconnectedCallback(){this._connected=!1,hA(()=>{this._connected||(this._ob&&(this._ob.disconnect(),this._ob=null),this._app&&this._app.unmount(),this._instance&&(this._instance.ce=void 0),this._app=this._instance=null)})}_resolveDef(){if(this._pendingResolve)return;for(let e=0;e{for(const t of e)this._setAttr(t.attributeName)}),this._ob.observe(this,{attributes:!0});const e=(e,t=!1)=>{this._resolved=!0,this._pendingResolve=void 0;const{props:n,styles:i}=e;let r;if(n&&!Hx(n))for(const e in n){const t=n[e];(t===Number||t&&t.type===Number)&&(e in this._props&&(this._props[e]=vE(this._props[e])),(r||(r=Object.create(null)))[cE(e)]=!0)}this._numberProps=r,t&&this._resolveProps(e),this.shadowRoot&&this._applyStyles(i),this._mount(e)},t=this._def.__asyncLoader;t?this._pendingResolve=t().then(t=>e(this._def=t,!0)):e(this._def)}_mount(e){__VUE_PROD_DEVTOOLS__&&!e.name&&(e.name="VueElement"),this._app=this._createApp(e),e.configureApp&&e.configureApp(this._app),this._app._ceVNode=this._createVNode(),this._app.mount(this._root);const t=this._instance&&this._instance.exposed;if(t)for(const e in t)Gx(this,e)||Object.defineProperty(this,e,{get:()=>CI(t[e])})}_resolveProps(e){const{props:t}=e,n=Hx(t)?t:Object.keys(t||{});for(const e of Object.keys(this))"_"!==e[0]&&n.includes(e)&&this._setProp(e,this[e]);for(const e of n.map(cE))Object.defineProperty(this,e,{get(){return this._getProp(e)},set(t){this._setProp(e,t,!0,!0)}})}_setAttr(e){if(e.startsWith("data-v-"))return;const t=this.hasAttribute(e);let n=t?this.getAttribute(e):gR;const i=cE(e);t&&this._numberProps&&this._numberProps[i]&&(n=vE(n)),this._setProp(i,n,!1,!0)}_getProp(e){return this._props[e]}_setProp(e,t,n=!0,i=!1){if(t!==this._props[e]&&(t===gR?delete this._props[e]:(this._props[e]=t,"key"===e&&this._app&&(this._app._ceVNode.key=t)),i&&this._instance&&this._update(),n)){const n=this._ob;n&&n.disconnect(),!0===t?this.setAttribute(hE(e),""):"string"==typeof t||"number"==typeof t?this.setAttribute(hE(e),t+""):t||this.removeAttribute(hE(e)),n&&n.observe(this,{attributes:!0})}}_update(){rN(this._createVNode(),this._root)}_createVNode(){const e={};this.shadowRoot||(e.onVnodeMounted=e.onVnodeUpdated=this._renderSlots.bind(this));const t=EM(this._def,zx(e,this._props));return this._instance||(t.ce=e=>{this._instance=e,e.ce=this,e.isCE=!0;const t=(e,t)=>{this.dispatchEvent(new CustomEvent(e,rE(t[0])?zx({detail:t},t[0]):{detail:t}))};e.emit=(e,...n)=>{t(e,n),hE(e)!==e&&t(hE(e),n)},this._setParent()}),t}_applyStyles(e,t){if(!e)return;if(t){if(t===this._def||this._styleChildren.has(t))return;this._styleChildren.add(t)}const n=this._nonce;for(let t=e.length-1;t>=0;t--){const i=document.createElement("style");n&&i.setAttribute("nonce",n),i.textContent=e[t],this.shadowRoot.prepend(i)}}_parseSlots(){const e=this._slots={};let t;for(;t=this.firstChild;){const n=1===t.nodeType&&t.getAttribute("slot")||"default";(e[n]||(e[n]=[])).push(t),this.removeChild(t)}}_renderSlots(){const e=(this._teleportTarget||this).querySelectorAll("slot"),t=this._instance.type.__scopeId;for(let n=0;n(delete e.props.mode,e))({name:"TransitionGroup",props:zx({},kk,{tag:String,moveClass:String}),setup(e,{slots:t}){const n=$M(),i=JA();let r,s;return QS(()=>{if(!r.length)return;const t=e.moveClass||`${e.name||"v"}-move`;if(!function(e,t,n){const i=e.cloneNode(),r=e[Ok];r&&r.forEach(e=>{e.split(/\s+/).forEach(e=>e&&i.classList.remove(e))});n.split(/\s+/).forEach(e=>e&&i.classList.add(e)),i.style.display="none";const s=1===t.nodeType?t:t.parentNode;s.appendChild(i);const{hasTransform:o}=zk(i);return s.removeChild(i),o}(r[0].el,n.vnode.el,t))return;r.forEach(MR),r.forEach(kR);const i=r.filter(RR);Gk(),i.forEach(e=>{const n=e.el,i=n.style;Pk(n,t),i.transform=i.webkitTransform=i.transitionDuration="";const r=n[AR]=e=>{e&&e.target!==n||e&&!/transform$/.test(e.propertyName)||(n.removeEventListener("transitionend",r),n[AR]=null,Bk(n,t))};n.addEventListener("transitionend",r)})}),()=>{const o=yI(e),a=Fk(o);let l=o.tag||iM;if(r=[],s)for(let e=0;e{const t=e.props["onUpdate:modelValue"]||!1;return Hx(t)?e=>gE(t,e):t};function DR(e){e.target.composing=!0}function FR(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const LR=Symbol("_assign"),PR={created(e,{modifiers:{lazy:t,trim:n,number:i}},r){e[LR]=NR(r);const s=i||r.props&&"number"===r.props.type;lR(e,t?"change":"input",t=>{if(t.target.composing)return;let i=e.value;n&&(i=i.trim()),s&&(i=yE(i)),e[LR](i)}),n&&lR(e,"change",()=>{e.value=e.value.trim()}),t||(lR(e,"compositionstart",DR),lR(e,"compositionend",FR),lR(e,"change",FR))},mounted(e,{value:t}){e.value=null==t?"":t},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:i,trim:r,number:s}},o){if(e[LR]=NR(o),e.composing)return;const a=null==t?"":t;if((!s&&"number"!==e.type||/^0\d/.test(e.value)?e.value:yE(e.value))!==a){if(document.activeElement===e&&"range"!==e.type){if(i&&t===n)return;if(r&&e.value.trim()===a)return}e.value=a}}},BR={deep:!0,created(e,t,n){e[LR]=NR(n),lR(e,"change",()=>{const t=e._modelValue,n=jR(e),i=e.checked,r=e[LR];if(Hx(t)){const e=jE(t,n),s=-1!==e;if(i&&!s)r(t.concat(n));else if(!i&&s){const n=[...t];n.splice(e,1),r(n)}}else if(Xx(t)){const e=new Set(t);i?e.add(n):e.delete(n),r(e)}else r(YR(e,i))})},mounted:$R,beforeUpdate(e,t,n){e[LR]=NR(n),$R(e,t,n)}};function $R(e,{value:t,oldValue:n},i){let r;if(e._modelValue=t,Hx(t))r=jE(t,i.props.value)>-1;else if(Xx(t))r=t.has(i.props.value);else{if(t===n)return;r=zE(t,YR(e,!0))}e.checked!==r&&(e.checked=r)}const UR={created(e,{value:t},n){e.checked=zE(t,n.props.value),e[LR]=NR(n),lR(e,"change",()=>{e[LR](jR(e))})},beforeUpdate(e,{value:t,oldValue:n},i){e[LR]=NR(i),t!==n&&(e.checked=zE(t,i.props.value))}},VR={deep:!0,created(e,{value:t,modifiers:{number:n}},i){const r=Xx(t);lR(e,"change",()=>{const t=Array.prototype.filter.call(e.options,e=>e.selected).map(e=>n?yE(jR(e)):jR(e));e[LR](e.multiple?r?new Set(t):t:t[0]),e._assigning=!0,hA(()=>{e._assigning=!1})}),e[LR]=NR(i)},mounted(e,{value:t}){zR(e,t)},beforeUpdate(e,t,n){e[LR]=NR(n)},updated(e,{value:t}){e._assigning||zR(e,t)}};function zR(e,t){const n=e.multiple,i=Hx(t);if(!n||i||Xx(t)){for(let r=0,s=e.options.length;rString(e)===String(o)):jE(t,o)>-1}else s.selected=t.has(o);else if(zE(jR(s),t))return void(e.selectedIndex!==r&&(e.selectedIndex=r))}n||-1===e.selectedIndex||(e.selectedIndex=-1)}}function jR(e){return"_value"in e?e._value:e.value}function YR(e,t){const n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}const GR={created(e,t,n){WR(e,t,n,null,"created")},mounted(e,t,n){WR(e,t,n,null,"mounted")},beforeUpdate(e,t,n,i){WR(e,t,n,i,"beforeUpdate")},updated(e,t,n,i){WR(e,t,n,i,"updated")}};function HR(e,t){switch(e){case"SELECT":return VR;case"TEXTAREA":return PR;default:switch(t){case"checkbox":return BR;case"radio":return UR;default:return PR}}}function WR(e,t,n,i,r){const s=HR(e.tagName,n.props&&n.props.type)[r];s&&s(e,t,n,i)}const XR=["ctrl","shift","alt","meta"],qR={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&0!==e.button,middle:e=>"button"in e&&1!==e.button,right:e=>"button"in e&&2!==e.button,exact:(e,t)=>XR.some(n=>e[`${n}Key`]&&!t.includes(n))},KR=(e,t)=>{const n=e._withMods||(e._withMods={}),i=t.join(".");return n[i]||(n[i]=(n,...i)=>{for(let e=0;e{const n=e._withKeys||(e._withKeys={}),i=t.join(".");return n[i]||(n[i]=n=>{if(!("key"in n))return;const i=hE(n.key);return t.some(e=>e===i||ZR[e]===i)?e(n):void 0})},JR=zx({patchProp:(e,t,n,i,r,s)=>{const o="svg"===r;"class"===t?function(e,t,n){const i=e[Ok];i&&(t=(t?[t,...i]:[...i]).join(" ")),null==t?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}(e,i,o):"style"===t?function(e,t,n){const i=e.style,r=Zx(n);let s=!1;if(n&&!r){if(t)if(Zx(t))for(const e of t.split(";")){const t=e.slice(0,e.indexOf(":")).trim();null==n[t]&&nR(i,t,"")}else for(const e in t)null==n[e]&&nR(i,e,"");for(const e in n)"display"===e&&(s=!0),nR(i,e,n[e])}else if(r){if(t!==n){const e=i[Kk];e&&(n+=";"+e),i.cssText=n,s=eR.test(n)}}else t&&e.removeAttribute("style");Hk in e&&(e[Hk]=s?i.display:"",e[Wk]&&(i.display="none"))}(e,n,i):Ux(t)?Vx(t)||cR(e,t,0,i,s):("."===t[0]?(t=t.slice(1),1):"^"===t[0]?(t=t.slice(1),0):function(e,t,n,i){if(i)return"innerHTML"===t||"textContent"===t||!!(t in e&&mR(t)&&Kx(n));if("spellcheck"===t||"draggable"===t||"translate"===t)return!1;if("form"===t)return!1;if("list"===t&&"INPUT"===e.tagName)return!1;if("type"===t&&"TEXTAREA"===e.tagName)return!1;if("width"===t||"height"===t){const t=e.tagName;if("IMG"===t||"VIDEO"===t||"CANVAS"===t||"SOURCE"===t)return!1}if(mR(t)&&Zx(n))return!1;return t in e}(e,t,i,o))?(aR(e,t,i),e.tagName.includes("-")||"value"!==t&&"checked"!==t&&"selected"!==t||oR(e,t,i,o,0,"value"!==t)):!e._isVueCE||!/[A-Z]/.test(t)&&Zx(i)?("true-value"===t?e._trueValue=i:"false-value"===t&&(e._falseValue=i),oR(e,t,i,o)):aR(e,cE(t),i,0,t)}},Ak);let eN,tN=!1;function nN(){return eN||(eN=bO(JR))}function iN(){return eN=tN?eN:TO(JR),tN=!0,eN}const rN=(...e)=>{nN().render(...e)},sN=(...e)=>{iN().hydrate(...e)},oN=(...e)=>{const t=nN().createApp(...e);const{mount:n}=t;return t.mount=e=>{const i=uN(e);if(!i)return;const r=t._component;Kx(r)||r.render||r.template||(r.template=i.innerHTML),1===i.nodeType&&(i.textContent="");const s=n(i,!1,lN(i));return i instanceof Element&&(i.removeAttribute("v-cloak"),i.setAttribute("data-v-app","")),s},t},aN=(...e)=>{const t=iN().createApp(...e);const{mount:n}=t;return t.mount=e=>{const t=uN(e);if(t)return n(t,!0,lN(t))},t};function lN(e){return e instanceof SVGElement?"svg":"function"==typeof MathMLElement&&e instanceof MathMLElement?"mathml":void 0}function uN(e){if(Zx(e)){return document.querySelector(e)}return e}let cN=!1;const dN=()=>{cN||(cN=!0,PR.getSSRProps=({value:e})=>({value:e}),UR.getSSRProps=({value:e},t)=>{if(t.props&&zE(t.props.value,e))return{checked:!0}},BR.getSSRProps=({value:e},t)=>{if(Hx(e)){if(t.props&&jE(e,t.props.value)>-1)return{checked:!0}}else if(Xx(e)){if(t.props&&e.has(t.props.value))return{checked:!0}}else if(e)return{checked:!0}},GR.getSSRProps=(e,t)=>{if("string"!=typeof t.type)return;const n=HR(t.type.toUpperCase(),t.props&&t.props.type);return n.getSSRProps?n.getSSRProps(e,t):void 0},Xk.getSSRProps=({value:e})=>{if(!e)return{style:{display:"none"}}})},hN=Symbol(""),pN=Symbol(""),fN=Symbol(""),mN=Symbol(""),gN=Symbol(""),_N=Symbol(""),yN=Symbol(""),vN=Symbol(""),bN=Symbol(""),TN=Symbol(""),xN=Symbol(""),EN=Symbol(""),wN=Symbol(""),IN=Symbol(""),AN=Symbol(""),SN=Symbol(""),CN=Symbol(""),ON=Symbol(""),MN=Symbol(""),kN=Symbol(""),RN=Symbol(""),NN=Symbol(""),DN=Symbol(""),FN=Symbol(""),LN=Symbol(""),PN=Symbol(""),BN=Symbol(""),$N=Symbol(""),UN=Symbol(""),VN=Symbol(""),zN=Symbol(""),jN=Symbol(""),YN=Symbol(""),GN=Symbol(""),HN=Symbol(""),WN=Symbol(""),XN=Symbol(""),qN=Symbol(""),KN=Symbol(""),ZN={[hN]:"Fragment",[pN]:"Teleport",[fN]:"Suspense",[mN]:"KeepAlive",[gN]:"BaseTransition",[_N]:"openBlock",[yN]:"createBlock",[vN]:"createElementBlock",[bN]:"createVNode",[TN]:"createElementVNode",[xN]:"createCommentVNode",[EN]:"createTextVNode",[wN]:"createStaticVNode",[IN]:"resolveComponent",[AN]:"resolveDynamicComponent",[SN]:"resolveDirective",[CN]:"resolveFilter",[ON]:"withDirectives",[MN]:"renderList",[kN]:"renderSlot",[RN]:"createSlots",[NN]:"toDisplayString",[DN]:"mergeProps",[FN]:"normalizeClass",[LN]:"normalizeStyle",[PN]:"normalizeProps",[BN]:"guardReactiveProps",[$N]:"toHandlers",[UN]:"camelize",[VN]:"capitalize",[zN]:"toHandlerKey",[jN]:"setBlockTracking",[YN]:"pushScopeId",[GN]:"popScopeId",[HN]:"withCtx",[WN]:"unref",[XN]:"isRef",[qN]:"withMemo",[KN]:"isMemoSame"};const QN={start:{line:1,column:1,offset:0},end:{line:1,column:1,offset:0},source:""};function JN(e,t,n,i,r,s,o,a=!1,l=!1,u=!1,c=QN){return e&&(a?(e.helper(_N),e.helper(uD(e.inSSR,u))):e.helper(lD(e.inSSR,u)),o&&e.helper(ON)),{type:13,tag:t,props:n,children:i,patchFlag:r,dynamicProps:s,directives:o,isBlock:a,disableTracking:l,isComponent:u,loc:c}}function eD(e,t=QN){return{type:17,loc:t,elements:e}}function tD(e,t=QN){return{type:15,loc:t,properties:e}}function nD(e,t){return{type:16,loc:QN,key:Zx(e)?iD(e,!0):e,value:t}}function iD(e,t=!1,n=QN,i=0){return{type:4,loc:n,content:e,isStatic:t,constType:t?3:i}}function rD(e,t=QN){return{type:8,loc:t,children:e}}function sD(e,t=[],n=QN){return{type:14,loc:n,callee:e,arguments:t}}function oD(e,t=void 0,n=!1,i=!1,r=QN){return{type:18,params:e,returns:t,newline:n,isSlot:i,loc:r}}function aD(e,t,n,i=!0){return{type:19,test:e,consequent:t,alternate:n,newline:i,loc:QN}}function lD(e,t){return e||t?bN:TN}function uD(e,t){return e||t?yN:vN}function cD(e,{helper:t,removeHelper:n,inSSR:i}){e.isBlock||(e.isBlock=!0,n(lD(i,e.isComponent)),t(_N),t(uD(i,e.isComponent)))}const dD=new Uint8Array([123,123]),hD=new Uint8Array([125,125]);function pD(e){return e>=97&&e<=122||e>=65&&e<=90}function fD(e){return 32===e||10===e||9===e||12===e||13===e}function mD(e){return 47===e||62===e||fD(e)}function gD(e){const t=new Uint8Array(e.length);for(let n=0;n4===e.type&&e.isStatic;function ID(e){switch(e){case"Teleport":case"teleport":return pN;case"Suspense":case"suspense":return fN;case"KeepAlive":case"keep-alive":return mN;case"BaseTransition":case"base-transition":return gN}}const AD=/^\d|[^\$\w\xA0-\uFFFF]/,SD=e=>!AD.test(e),CD=/[A-Za-z_$\xA0-\uFFFF]/,OD=/[\.\?\w$\xA0-\uFFFF]/,MD=/\s+[.[]\s*|\s*[.[]\s+/g,kD=e=>4===e.type?e.content:e.loc.source,RD=e=>{const t=kD(e).trim().replace(MD,e=>e.trim());let n=0,i=[],r=0,s=0,o=null;for(let e=0;e|^\s*(async\s+)?function(?:\s+[\w$]+)?\s*\(/,DD=e=>ND.test(kD(e));function FD(e,t,n=!1){for(let i=0;i4===e.key.type&&e.key.content===i)}return n}function HD(e,t){return`_${t}_${e.replace(/[^\w]/g,(t,n)=>"-"===t?"_":e.charCodeAt(n).toString())}`}const WD=/([\s\S]*?)\s+(?:in|of)\s+(\S[\s\S]*)/,XD={parseMode:"base",ns:0,delimiters:["{{","}}"],getNamespace:()=>0,isVoidTag:$x,isPreTag:$x,isIgnoreNewlineTag:$x,isCustomElement:$x,onError:TD,onWarn:xD,comments:!1,prefixIdentifiers:!1};let qD=XD,KD=null,ZD="",QD=null,JD=null,eF="",tF=-1,nF=-1,iF=0,rF=!1,sF=null;const oF=[],aF=new class{constructor(e,t){this.stack=e,this.cbs=t,this.state=1,this.buffer="",this.sectionStart=0,this.index=0,this.entityStart=0,this.baseState=1,this.inRCDATA=!1,this.inXML=!1,this.inVPre=!1,this.newlines=[],this.mode=0,this.delimiterOpen=dD,this.delimiterClose=hD,this.delimiterIndex=-1,this.currentSequence=void 0,this.sequenceIndex=0}get inSFCRoot(){return 2===this.mode&&0===this.stack.length}reset(){this.state=1,this.mode=0,this.buffer="",this.sectionStart=0,this.index=0,this.baseState=1,this.inRCDATA=!1,this.currentSequence=void 0,this.newlines.length=0,this.delimiterOpen=dD,this.delimiterClose=hD}getPos(e){let t=1,n=e+1;for(let i=this.newlines.length-1;i>=0;i--){const r=this.newlines[i];if(e>r){t=i+2,n=e-r;break}}return{column:n,line:t,offset:e}}peek(){return this.buffer.charCodeAt(this.index+1)}stateText(e){60===e?(this.index>this.sectionStart&&this.cbs.ontext(this.sectionStart,this.index),this.state=5,this.sectionStart=this.index):this.inVPre||e!==this.delimiterOpen[0]||(this.state=2,this.delimiterIndex=0,this.stateInterpolationOpen(e))}stateInterpolationOpen(e){if(e===this.delimiterOpen[this.delimiterIndex])if(this.delimiterIndex===this.delimiterOpen.length-1){const e=this.index+1-this.delimiterOpen.length;e>this.sectionStart&&this.cbs.ontext(this.sectionStart,e),this.state=3,this.sectionStart=e}else this.delimiterIndex++;else this.inRCDATA?(this.state=32,this.stateInRCDATA(e)):(this.state=1,this.stateText(e))}stateInterpolation(e){e===this.delimiterClose[0]&&(this.state=4,this.delimiterIndex=0,this.stateInterpolationClose(e))}stateInterpolationClose(e){e===this.delimiterClose[this.delimiterIndex]?this.delimiterIndex===this.delimiterClose.length-1?(this.cbs.oninterpolation(this.sectionStart,this.index+1),this.inRCDATA?this.state=32:this.state=1,this.sectionStart=this.index+1):this.delimiterIndex++:(this.state=3,this.stateInterpolation(e))}stateSpecialStartSequence(e){const t=this.sequenceIndex===this.currentSequence.length;if(t?mD(e):(32|e)===this.currentSequence[this.sequenceIndex]){if(!t)return void this.sequenceIndex++}else this.inRCDATA=!1;this.sequenceIndex=0,this.state=6,this.stateInTagName(e)}stateInRCDATA(e){if(this.sequenceIndex===this.currentSequence.length){if(62===e||fD(e)){const t=this.index-this.currentSequence.length;if(this.sectionStart=e||(28===this.state?this.currentSequence===_D.CdataEnd?this.cbs.oncdata(this.sectionStart,e):this.cbs.oncomment(this.sectionStart,e):6===this.state||11===this.state||18===this.state||17===this.state||12===this.state||13===this.state||14===this.state||15===this.state||16===this.state||20===this.state||19===this.state||21===this.state||9===this.state||this.cbs.ontext(this.sectionStart,e))}emitCodePoint(e,t){}}(oF,{onerr:CF,ontext(e,t){hF(cF(e,t),e,t)},ontextentity(e,t,n){hF(e,t,n)},oninterpolation(e,t){if(rF)return hF(cF(e,t),e,t);let n=e+aF.delimiterOpen.length,i=t-aF.delimiterClose.length;for(;fD(ZD.charCodeAt(n));)n++;for(;fD(ZD.charCodeAt(i-1));)i--;let r=cF(n,i);r.includes("&")&&(r=qD.decodeEntities(r,!1)),xF({type:5,content:SF(r,!1,EF(n,i)),loc:EF(e,t)})},onopentagname(e,t){const n=cF(e,t);QD={type:1,tag:n,ns:qD.getNamespace(n,oF[0],qD.ns),tagType:0,props:[],children:[],loc:EF(e-1,t),codegenNode:void 0}},onopentagend(e){dF(e)},onclosetag(e,t){const n=cF(e,t);if(!qD.isVoidTag(n)){let i=!1;for(let e=0;e0&&CF(24,oF[0].loc.start.offset);for(let n=0;n<=e;n++){pF(oF.shift(),t,n(7===e.type?e.rawName:e.name)===n)&&CF(2,t)},onattribend(e,t){if(QD&&JD){if(IF(JD.loc,t),0!==e)if(eF.includes("&")&&(eF=qD.decodeEntities(eF,!0)),6===JD.type)"class"===JD.name&&(eF=TF(eF).trim()),1!==e||eF||CF(13,t),JD.value={type:2,content:eF,loc:1===e?EF(tF,nF):EF(tF-1,nF+1)},aF.inSFCRoot&&"template"===QD.tag&&"lang"===JD.name&&eF&&"html"!==eF&&aF.enterRCDATA(gD("{const r=t.start.offset+n;return SF(e,!1,EF(r,r+e.length),0,i?1:0)},a={source:o(s.trim(),n.indexOf(s,r.length)),value:void 0,key:void 0,index:void 0,finalized:!1};let l=r.trim().replace(uF,"").trim();const u=r.indexOf(l),c=l.match(lF);if(c){l=l.replace(lF,"").trim();const e=c[1].trim();let t;if(e&&(t=n.indexOf(e,u+l.length),a.key=o(e,t,!0)),c[2]){const i=c[2].trim();i&&(a.index=o(i,n.indexOf(i,a.key?t+e.length:u+l.length),!0))}}l&&(a.value=o(l,u,!0));return a}(JD.exp));let t=-1;"bind"===JD.name&&(t=JD.modifiers.findIndex(e=>"sync"===e.content))>-1&&bD("COMPILER_V_BIND_SYNC",qD,JD.loc,JD.rawName)&&(JD.name="model",JD.modifiers.splice(t,1))}7===JD.type&&"pre"===JD.name||QD.props.push(JD)}eF="",tF=nF=-1},oncomment(e,t){qD.comments&&xF({type:3,content:cF(e,t),loc:EF(e-4,t+3)})},onend(){const e=ZD.length;for(let t=0;t64&&n<91)||ID(e)||qD.isBuiltInComponent&&qD.isBuiltInComponent(e)||qD.isNativeTag&&!qD.isNativeTag(e))return!0;var n;for(let e=0;e6===e.type&&"inline-template"===e.name);n&&bD("COMPILER_INLINE_TEMPLATE",qD,n.loc)&&e.children.length&&(n.value={type:2,content:cF(e.children[0].loc.start.offset,e.children[e.children.length-1].loc.end.offset),loc:n.loc})}}function fF(e,t){let n=e;for(;ZD.charCodeAt(n)!==t&&n>=0;)n--;return n}const mF=new Set(["if","else","else-if","for","slot"]);function gF({tag:e,props:t}){if("template"===e)for(let e=0;e0){if(e>=2){a.codegenNode.patchFlag=-1,o.push(a);continue}}else{const e=a.codegenNode;if(13===e.type){const t=e.patchFlag;if((void 0===t||512===t||1===t)&&LF(a,n)>=2){const t=PF(a);t&&(e.props=n.hoist(t))}e.dynamicProps&&(e.dynamicProps=n.hoist(e.dynamicProps))}}}else if(12===a.type){if((i?0:NF(a,n))>=2){o.push(a);continue}}if(1===a.type){const t=1===a.tagType;t&&n.scopes.vSlot++,RF(a,e,n,!1,r),t&&n.scopes.vSlot--}else if(11===a.type)RF(a,e,n,1===a.children.length,!0);else if(9===a.type)for(let t=0;te.key===t||e.key.content===t);return n&&n.value}}o.length&&n.transformHoist&&n.transformHoist(s,n,e)}function NF(e,t){const{constantCache:n}=t;switch(e.type){case 1:if(0!==e.tagType)return 0;const i=n.get(e);if(void 0!==i)return i;const r=e.codegenNode;if(13!==r.type)return 0;if(r.isBlock&&"svg"!==e.tag&&"foreignObject"!==e.tag&&"math"!==e.tag)return 0;if(void 0===r.patchFlag){let i=3;const s=LF(e,t);if(0===s)return n.set(e,0),0;s1)for(let r=0;r`_${ZN[w.helper(e)]}`,replaceNode(e){w.parent.children[w.childIndex]=w.currentNode=e},removeNode(e){const t=w.parent.children,n=e?t.indexOf(e):w.currentNode?w.childIndex:-1;e&&e!==w.currentNode?w.childIndex>n&&(w.childIndex--,w.onNodeRemoved()):(w.currentNode=null,w.onNodeRemoved()),w.parent.children.splice(n,1)},onNodeRemoved:Bx,addIdentifiers(e){},removeIdentifiers(e){},hoist(e){Zx(e)&&(e=iD(e)),w.hoists.push(e);const t=iD(`_hoisted_${w.hoists.length}`,!1,e.loc,2);return t.hoisted=e,t},cache(e,t=!1,n=!1){const i=function(e,t,n=!1,i=!1){return{type:20,index:e,value:t,needPauseTracking:n,inVOnce:i,needArraySpread:!1,loc:QN}}(w.cached.length,e,t,n);return w.cached.push(i),i}};return w.filters=new Set,w}function $F(e,t){const n=BF(e,t);UF(e,n),t.hoistStatic&&MF(e,n),t.ssr||function(e,t){const{helper:n}=t,{children:i}=e;if(1===i.length){const n=i[0];if(kF(e,n)&&n.codegenNode){const i=n.codegenNode;13===i.type&&cD(i,t),e.codegenNode=i}else e.codegenNode=n}else if(i.length>1){let i=64;0,e.codegenNode=JN(t,n(hN),void 0,e.children,i,void 0,void 0,!0,void 0,!1)}}(e,n),e.helpers=new Set([...n.helpers.keys()]),e.components=[...n.components],e.directives=[...n.directives],e.imports=n.imports,e.hoists=n.hoists,e.temps=n.temps,e.cached=n.cached,e.transformed=!0,e.filters=[...n.filters]}function UF(e,t){t.currentNode=e;const{nodeTransforms:n}=t,i=[];for(let r=0;r{n--};for(;nt===e:t=>e.test(t);return(e,i)=>{if(1===e.type){const{props:r}=e;if(3===e.tagType&&r.some($D))return;const s=[];for(let o=0;o`${ZN[e]}: _${ZN[e]}`;function YF(e,t={}){const n=function(e,{mode:t="function",prefixIdentifiers:n="module"===t,sourceMap:i=!1,filename:r="template.vue.html",scopeId:s=null,optimizeImports:o=!1,runtimeGlobalName:a="Vue",runtimeModuleName:l="vue",ssrRuntimeModuleName:u="vue/server-renderer",ssr:c=!1,isTS:d=!1,inSSR:h=!1}){const p={mode:t,prefixIdentifiers:n,sourceMap:i,filename:r,scopeId:s,optimizeImports:o,runtimeGlobalName:a,runtimeModuleName:l,ssrRuntimeModuleName:u,ssr:c,isTS:d,inSSR:h,source:e.source,code:"",column:1,line:1,offset:0,indentLevel:0,pure:!1,map:void 0,helper:e=>`_${ZN[e]}`,push(e,t=-2,n){p.code+=e},indent(){f(++p.indentLevel)},deindent(e=!1){e?--p.indentLevel:f(--p.indentLevel)},newline(){f(p.indentLevel)}};function f(e){p.push("\n"+" ".repeat(e),0)}return p}(e,t);t.onContextCreated&&t.onContextCreated(n);const{mode:i,push:r,prefixIdentifiers:s,indent:o,deindent:a,newline:l,scopeId:u,ssr:c}=n,d=Array.from(e.helpers),h=d.length>0,p=!s&&"module"!==i;!function(e,t){const{ssr:n,prefixIdentifiers:i,push:r,newline:s,runtimeModuleName:o,runtimeGlobalName:a,ssrRuntimeModuleName:l}=t,u=a,c=Array.from(e.helpers);if(c.length>0&&(r(`const _Vue = ${u}\n`,-1),e.hoists.length)){r(`const { ${[bN,TN,xN,EN,wN].filter(e=>c.includes(e)).map(jF).join(", ")} } = _Vue\n`,-1)}(function(e,t){if(!e.length)return;t.pure=!0;const{push:n,newline:i}=t;i();for(let r=0;r0)&&l()),e.directives.length&&(GF(e.directives,"directive",n),e.temps>0&&l()),e.filters&&e.filters.length&&(l(),GF(e.filters,"filter",n),l()),e.temps>0){r("let ");for(let t=0;t0?", ":""}_temp${t}`)}return(e.components.length||e.directives.length||e.temps)&&(r("\n",0),l()),c||r("return "),e.codegenNode?XF(e.codegenNode,n):r("null"),p&&(a(),r("}")),a(),r("}"),{ast:e,code:n.code,preamble:"",map:n.map?n.map.toJSON():void 0}}function GF(e,t,{helper:n,push:i,newline:r,isTS:s}){const o=n("filter"===t?CN:"component"===t?IN:SN);for(let n=0;n3||!1;t.push("["),n&&t.indent(),WF(e,t,n),n&&t.deindent(),t.push("]")}function WF(e,t,n=!1,i=!0){const{push:r,newline:s}=t;for(let o=0;oe||"null")}([s,o,a,f,u]),t),n(")"),d&&n(")");c&&(n(", "),XF(c,t),n(")"))}(e,t);break;case 14:!function(e,t){const{push:n,helper:i,pure:r}=t,s=Zx(e.callee)?e.callee:i(e.callee);r&&n(zF);n(s+"(",-2,e),WF(e.arguments,t),n(")")}(e,t);break;case 15:!function(e,t){const{push:n,indent:i,deindent:r,newline:s}=t,{properties:o}=e;if(!o.length)return void n("{}",-2,e);const a=o.length>1||!1;n(a?"{":"{ "),a&&i();for(let e=0;e "),(l||a)&&(n("{"),i());o?(l&&n("return "),Hx(o)?HF(o,t):XF(o,t)):a&&XF(a,t);(l||a)&&(r(),n("}"));u&&(e.isNonScopedSlot&&n(", undefined, true"),n(")"))}(e,t);break;case 19:!function(e,t){const{test:n,consequent:i,alternate:r,newline:s}=e,{push:o,indent:a,deindent:l,newline:u}=t;if(4===n.type){const e=!SD(n.content);e&&o("("),qF(n,t),e&&o(")")}else o("("),XF(n,t),o(")");s&&a(),t.indentLevel++,s||o(" "),o("? "),XF(i,t),t.indentLevel--,s&&u(),s||o(" "),o(": ");const c=19===r.type;c||t.indentLevel++;XF(r,t),c||t.indentLevel--;s&&l(!0)}(e,t);break;case 20:!function(e,t){const{push:n,helper:i,indent:r,deindent:s,newline:o}=t,{needPauseTracking:a,needArraySpread:l}=e;l&&n("[...(");n(`_cache[${e.index}] || (`),a&&(r(),n(`${i(jN)}(-1`),e.inVOnce&&n(", true"),n("),"),o(),n("("));n(`_cache[${e.index}] = `),XF(e.value,t),a&&(n(`).cacheIndex = ${e.index},`),o(),n(`${i(jN)}(1),`),o(),n(`_cache[${e.index}]`),s());n(")"),l&&n(")]")}(e,t);break;case 21:WF(e.body,t,!0,!1)}}function qF(e,t){const{content:n,isStatic:i}=e;t.push(i?JSON.stringify(n):n,-3,e)}function KF(e,t){for(let n=0;nfunction(e,t,n,i){if(!("else"===t.name||t.exp&&t.exp.content.trim())){const i=t.exp?t.exp.loc:e.loc;n.onError(ED(28,t.loc)),t.exp=iD("true",!1,i)}0;if("if"===t.name){const r=JF(e,t),s={type:9,loc:wF(e.loc),branches:[r]};if(n.replaceNode(s),i)return i(s,r,!0)}else{const r=n.parent.children;let s=r.indexOf(e);for(;s-- >=-1;){const o=r[s];if(o&&3===o.type)n.removeNode(o);else{if(!o||2!==o.type||o.content.trim().length){if(o&&9===o.type){"else-if"===t.name&&void 0===o.branches[o.branches.length-1].condition&&n.onError(ED(30,e.loc)),n.removeNode();const r=JF(e,t);0,o.branches.push(r);const s=i&&i(o,r,!1);UF(r,n),s&&s(),n.currentNode=null}else n.onError(ED(30,e.loc));break}n.removeNode(o)}}}}(e,t,n,(e,t,i)=>{const r=n.parent.children;let s=r.indexOf(e),o=0;for(;s-- >=0;){const e=r[s];e&&9===e.type&&(o+=e.branches.length)}return()=>{if(i)e.codegenNode=eL(t,o,n);else{const i=function(e){for(;;)if(19===e.type){if(19!==e.alternate.type)return e;e=e.alternate}else 20===e.type&&(e=e.value)}(e.codegenNode);i.alternate=eL(t,o+e.branches.length-1,n)}}}));function JF(e,t){const n=3===e.tagType;return{type:10,loc:e.loc,condition:"else"===t.name?void 0:t.exp,children:n&&!FD(e,"for")?e.children:[e],userKey:LD(e,"key"),isTemplateIf:n}}function eL(e,t,n){return e.condition?aD(e.condition,tL(e,t,n),sD(n.helper(xN),['""',"true"])):tL(e,t,n)}function tL(e,t,n){const{helper:i}=n,r=nD("key",iD(`${t}`,!1,QN,2)),{children:s}=e,o=s[0];if(1!==s.length||1!==o.type){if(1===s.length&&11===o.type){const e=o.codegenNode;return YD(e,r,n),e}{let t=64;return JN(n,i(hN),tD([r]),s,t,void 0,void 0,!0,!1,!1,e.loc)}}{const e=o.codegenNode,t=14===(a=e).type&&a.callee===qN?a.arguments[1].returns:a;return 13===t.type&&cD(t,n),YD(t,r,n),e}var a}const nL=(e,t,n)=>{const{modifiers:i,loc:r}=e,s=e.arg;let{exp:o}=e;if(o&&4===o.type&&!o.content.trim()&&(o=void 0),!o){if(4!==s.type||!s.isStatic)return n.onError(ED(52,s.loc)),{props:[nD(s,iD("",!0,r))]};iL(e),o=e.exp}return 4!==s.type?(s.children.unshift("("),s.children.push(') || ""')):s.isStatic||(s.content=`${s.content} || ""`),i.some(e=>"camel"===e.content)&&(4===s.type?s.isStatic?s.content=cE(s.content):s.content=`${n.helperString(UN)}(${s.content})`:(s.children.unshift(`${n.helperString(UN)}(`),s.children.push(")"))),n.inSSR||(i.some(e=>"prop"===e.content)&&rL(s,"."),i.some(e=>"attr"===e.content)&&rL(s,"^")),{props:[nD(s,o)]}},iL=(e,t)=>{const n=e.arg,i=cE(n.content);e.exp=iD(i,!1,n.loc)},rL=(e,t)=>{4===e.type?e.isStatic?e.content=t+e.content:e.content=`\`${t}\${${e.content}}\``:(e.children.unshift(`'${t}' + (`),e.children.push(")"))},sL=VF("for",(e,t,n)=>{const{helper:i,removeHelper:r}=n;return function(e,t,n,i){if(!t.exp)return void n.onError(ED(31,t.loc));const r=t.forParseResult;if(!r)return void n.onError(ED(32,t.loc));oL(r,n);const{addIdentifiers:s,removeIdentifiers:o,scopes:a}=n,{source:l,value:u,key:c,index:d}=r,h={type:11,loc:t.loc,source:l,valueAlias:u,keyAlias:c,objectIndexAlias:d,parseResult:r,children:UD(e)?e.children:[e]};n.replaceNode(h),a.vFor++;const p=i&&i(h);return()=>{a.vFor--,p&&p()}}(e,t,n,t=>{const s=sD(i(MN),[t.source]),o=UD(e),a=FD(e,"memo"),l=LD(e,"key",!1,!0);l&&7===l.type&&!l.exp&&iL(l);let u=l&&(6===l.type?l.value?iD(l.value.content,!0):void 0:l.exp);const c=l&&u?nD("key",u):null,d=4===t.source.type&&t.source.constType>0,h=d?64:l?128:256;return t.codegenNode=JN(n,i(hN),void 0,s,h,void 0,void 0,!0,!d,!1,e.loc),()=>{let l;const{children:h}=t;const p=1!==h.length||1!==h[0].type,f=VD(e)?e:o&&1===e.children.length&&VD(e.children[0])?e.children[0]:null;if(f?(l=f.codegenNode,o&&c&&YD(l,c,n)):p?l=JN(n,i(hN),c?tD([c]):void 0,e.children,64,void 0,void 0,!0,void 0,!1):(l=h[0].codegenNode,o&&c&&YD(l,c,n),l.isBlock!==!d&&(l.isBlock?(r(_N),r(uD(n.inSSR,l.isComponent))):r(lD(n.inSSR,l.isComponent))),l.isBlock=!d,l.isBlock?(i(_N),i(uD(n.inSSR,l.isComponent))):i(lD(n.inSSR,l.isComponent))),a){const e=oD(aL(t.parseResult,[iD("_cached")]));e.body={type:21,body:[rD(["const _memo = (",a.exp,")"]),rD(["if (_cached",...u?[" && _cached.key === ",u]:[],` && ${n.helperString(KN)}(_cached, _memo)) return _cached`]),rD(["const _item = ",l]),iD("_item.memo = _memo"),iD("return _item")],loc:QN},s.arguments.push(e,iD("_cache"),iD(String(n.cached.length))),n.cached.push(null)}else s.arguments.push(oD(aL(t.parseResult),l,!0))}})});function oL(e,t){e.finalized||(e.finalized=!0)}function aL({value:e,key:t,index:n},i=[]){return function(e){let t=e.length;for(;t--&&!e[t];);return e.slice(0,t+1).map((e,t)=>e||iD("_".repeat(t+1),!1))}([e,t,n,...i])}const lL=iD("undefined",!1),uL=(e,t)=>{if(1===e.type&&(1===e.tagType||3===e.tagType)){const n=FD(e,"slot");if(n)return n.exp,t.scopes.vSlot++,()=>{t.scopes.vSlot--}}},cL=(e,t,n,i)=>oD(e,n,!1,!0,n.length?n[0].loc:i);function dL(e,t,n=cL){t.helper(HN);const{children:i,loc:r}=e,s=[],o=[];let a=t.scopes.vSlot>0||t.scopes.vFor>0;const l=FD(e,"slot",!0);if(l){const{arg:e,exp:t}=l;e&&!wD(e)&&(a=!0),s.push(nD(e||iD("default",!0),n(t,void 0,i,r)))}let u=!1,c=!1;const d=[],h=new Set;let p=0;for(let e=0;e{const s=n(e,void 0,i,r);return t.compatConfig&&(s.isNonScopedSlot=!0),nD("default",s)};u?d.length&&d.some(e=>fL(e))&&(c?t.onError(ED(39,d[0].loc)):s.push(e(void 0,d))):s.push(e(void 0,i))}const f=a?2:pL(e.children)?3:1;let m=tD(s.concat(nD("_",iD(f+"",!1))),r);return o.length&&(m=sD(t.helper(RN),[m,eD(o)])),{slots:m,hasDynamicSlots:a}}function hL(e,t,n){const i=[nD("name",e),nD("fn",t)];return null!=n&&i.push(nD("key",iD(String(n),!0))),tD(i)}function pL(e){for(let t=0;tfunction(){if(1!==(e=t.currentNode).type||0!==e.tagType&&1!==e.tagType)return;const{tag:n,props:i}=e,r=1===e.tagType;let s=r?function(e,t,n=!1){let{tag:i}=e;const r=bL(i),s=LD(e,"is",!1,!0);if(s)if(r||vD("COMPILER_IS_ON_ELEMENT",t)){let e;if(6===s.type?e=s.value&&iD(s.value.content,!0):(e=s.exp,e||(e=iD("is",!1,s.arg.loc))),e)return sD(t.helper(AN),[e])}else 6===s.type&&s.value.content.startsWith("vue:")&&(i=s.value.content.slice(4));const o=ID(i)||t.isBuiltInComponent(i);if(o)return n||t.helper(o),o;return t.helper(IN),t.components.add(i),HD(i,"component")}(e,t):`"${n}"`;const o=Jx(s)&&s.callee===AN;let a,l,u,c,d,h=0,p=o||s===pN||s===fN||!r&&("svg"===n||"foreignObject"===n||"math"===n);if(i.length>0){const n=_L(e,t,void 0,r,o);a=n.props,h=n.patchFlag,c=n.dynamicPropNames;const i=n.directives;d=i&&i.length?eD(i.map(e=>function(e,t){const n=[],i=mL.get(e);i?n.push(t.helperString(i)):(t.helper(SN),t.directives.add(e.name),n.push(HD(e.name,"directive")));const{loc:r}=e;e.exp&&n.push(e.exp);e.arg&&(e.exp||n.push("void 0"),n.push(e.arg));if(Object.keys(e.modifiers).length){e.arg||(e.exp||n.push("void 0"),n.push("void 0"));const t=iD("true",!1,r);n.push(tD(e.modifiers.map(e=>nD(e,t)),r))}return eD(n,e.loc)}(e,t))):void 0,n.shouldUseBlock&&(p=!0)}if(e.children.length>0){s===mN&&(p=!0,h|=1024);if(r&&s!==pN&&s!==mN){const{slots:n,hasDynamicSlots:i}=dL(e,t);l=n,i&&(h|=1024)}else if(1===e.children.length&&s!==pN){const n=e.children[0],i=n.type,r=5===i||8===i;r&&0===NF(n,t)&&(h|=1),l=r||2===i?n:e.children}else l=e.children}c&&c.length&&(u=function(e){let t="[";for(let n=0,i=e.length;n0;let p=!1,f=0,m=!1,g=!1,_=!1,y=!1,v=!1,b=!1;const T=[],x=e=>{u.length&&(c.push(tD(yL(u),a)),u=[]),e&&c.push(e)},E=()=>{t.scopes.vFor>0&&u.push(nD(iD("ref_for",!0),iD("true")))},w=({key:e,value:n})=>{if(wD(e)){const s=e.content,o=Ux(s);if(!o||i&&!r||"onclick"===s.toLowerCase()||"onUpdate:modelValue"===s||oE(s)||(y=!0),o&&oE(s)&&(b=!0),o&&14===n.type&&(n=n.arguments[0]),20===n.type||(4===n.type||8===n.type)&&NF(n,t)>0)return;"ref"===s?m=!0:"class"===s?g=!0:"style"===s?_=!0:"key"===s||T.includes(s)||T.push(s),!i||"class"!==s&&"style"!==s||T.includes(s)||T.push(s)}else v=!0};for(let r=0;r"prop"===e.content)&&(f|=32);const T=t.directiveTransforms[n];if(T){const{props:n,needRuntime:i}=T(l,e,t);!s&&n.forEach(w),b&&r&&!wD(r)?x(tD(n,a)):u.push(...n),i&&(d.push(l),Qx(i)&&mL.set(l,i))}else aE(n)||(d.push(l),h&&(p=!0))}}let I;if(c.length?(x(),I=c.length>1?sD(t.helper(DN),c,a):c[0]):u.length&&(I=tD(yL(u),a)),v?f|=16:(g&&!i&&(f|=2),_&&!i&&(f|=4),T.length&&(f|=8),y&&(f|=32)),p||0!==f&&32!==f||!(m||b||d.length>0)||(f|=512),!t.inSSR&&I)switch(I.type){case 15:let e=-1,n=-1,i=!1;for(let t=0;t{if(VD(e)){const{children:n,loc:i}=e,{slotName:r,slotProps:s}=function(e,t){let n,i='"default"';const r=[];for(let t=0;t0){const{props:i,directives:s}=_L(e,t,r,!1,!1);n=i,s.length&&t.onError(ED(36,s[0].loc))}return{slotName:i,slotProps:n}}(e,t),o=[t.prefixIdentifiers?"_ctx.$slots":"$slots",r,"{}","undefined","true"];let a=2;s&&(o[2]=s,a=3),n.length&&(o[3]=oD([],n,!1,!1,i),a=4),t.scopeId&&!t.slotted&&(a=5),o.splice(a),e.codegenNode=sD(t.helper(kN),o,i)}};const xL=(e,t,n,i)=>{const{loc:r,modifiers:s,arg:o}=e;let a;if(e.exp||s.length||n.onError(ED(35,r)),4===o.type)if(o.isStatic){let e=o.content;0,e.startsWith("vue:")&&(e=`vnode-${e.slice(4)}`);a=iD(0!==t.tagType||e.startsWith("vnode")||!/[A-Z]/.test(e)?fE(cE(e)):`on:${e}`,!0,o.loc)}else a=rD([`${n.helperString(zN)}(`,o,")"]);else a=o,a.children.unshift(`${n.helperString(zN)}(`),a.children.push(")");let l=e.exp;l&&!l.content.trim()&&(l=void 0);let u=n.cacheHandlers&&!l&&!n.inVOnce;if(l){const e=RD(l),t=!(e||DD(l)),n=l.content.includes(";");0,(t||u&&e)&&(l=rD([`${t?"$event":"(...args)"} => ${n?"{":"("}`,l,n?"}":")"]))}let c={props:[nD(a,l||iD("() => {}",!1,r))]};return i&&(c=i(c)),u&&(c.props[0].value=n.cache(c.props[0].value)),c.props.forEach(e=>e.key.isHandlerKey=!0),c},EL=(e,t)=>{if(0===e.type||1===e.type||11===e.type||10===e.type)return()=>{const n=e.children;let i,r=!1;for(let e=0;e7===e.type&&!t.directiveTransforms[e.name])||"template"===e.tag)))for(let e=0;e{if(1===e.type&&FD(e,"once",!0)){if(wL.has(e)||t.inVOnce||t.inSSR)return;return wL.add(e),t.inVOnce=!0,t.helper(jN),()=>{t.inVOnce=!1;const e=t.currentNode;e.codegenNode&&(e.codegenNode=t.cache(e.codegenNode,!0,!0))}}},AL=(e,t,n)=>{const{exp:i,arg:r}=e;if(!i)return n.onError(ED(41,e.loc)),SL();const s=i.loc.source.trim(),o=4===i.type?i.content:s,a=n.bindingMetadata[s];if("props"===a||"props-aliased"===a)return n.onError(ED(44,i.loc)),SL();if(!o.trim()||!RD(i))return n.onError(ED(42,i.loc)),SL();const l=r||iD("modelValue",!0),u=r?wD(r)?`onUpdate:${cE(r.content)}`:rD(['"onUpdate:" + ',r]):"onUpdate:modelValue";let c;c=rD([`${n.isTS?"($event: any)":"$event"} => ((`,i,") = $event)"]);const d=[nD(l,e.exp),nD(u,c)];if(e.modifiers.length&&1===t.tagType){const t=e.modifiers.map(e=>e.content).map(e=>(SD(e)?e:JSON.stringify(e))+": true").join(", "),n=r?wD(r)?`${r.content}Modifiers`:rD([r,' + "Modifiers"']):"modelModifiers";d.push(nD(n,iD(`{ ${t} }`,!1,e.loc,2)))}return SL(d)};function SL(e=[]){return{props:e}}const CL=/[\w).+\-_$\]]/,OL=(e,t)=>{vD("COMPILER_FILTERS",t)&&(5===e.type?ML(e.content,t):1===e.type&&e.props.forEach(e=>{7===e.type&&"for"!==e.name&&e.exp&&ML(e.exp,t)}))};function ML(e,t){if(4===e.type)kL(e,t);else for(let n=0;n=0&&(e=n.charAt(t)," "===e);t--);e&&CL.test(e)||(c=!0)}}else void 0===o?(f=s+1,o=n.slice(0,s).trim()):g();function g(){m.push(n.slice(f,s).trim()),f=s+1}if(void 0===o?o=n.slice(0,s).trim():0!==f&&g(),m.length){for(s=0;s{if(1===e.type){const n=FD(e,"memo");if(!n||NL.has(e))return;return NL.add(e),()=>{const i=e.codegenNode||t.currentNode.codegenNode;i&&13===i.type&&(1!==e.tagType&&cD(i,t),e.codegenNode=sD(t.helper(qN),[n.exp,oD(void 0,i),"_cache",String(t.cached.length)]),t.cached.push(null))}}};function FL(e,t={}){const n=t.onError||TD,i="module"===t.mode;!0===t.prefixIdentifiers?n(ED(47)):i&&n(ED(48));t.cacheHandlers&&n(ED(49)),t.scopeId&&!i&&n(ED(50));const r=zx({},t,{prefixIdentifiers:!1}),s=Zx(e)?OF(e,r):e,[o,a]=[[IL,QF,DL,sL,OL,TL,gL,uL,EL],{on:xL,bind:nL,model:AL}];return $F(s,zx({},r,{nodeTransforms:[...o,...t.nodeTransforms||[]],directiveTransforms:zx({},a,t.directiveTransforms||{})})),YF(s,r)}const LL=Symbol(""),PL=Symbol(""),BL=Symbol(""),$L=Symbol(""),UL=Symbol(""),VL=Symbol(""),zL=Symbol(""),jL=Symbol(""),YL=Symbol(""),GL=Symbol("");var HL;let WL;HL={[LL]:"vModelRadio",[PL]:"vModelCheckbox",[BL]:"vModelText",[$L]:"vModelSelect",[UL]:"vModelDynamic",[VL]:"withModifiers",[zL]:"withKeys",[jL]:"vShow",[YL]:"Transition",[GL]:"TransitionGroup"},Object.getOwnPropertySymbols(HL).forEach(e=>{ZN[e]=HL[e]});const XL={parseMode:"html",isVoidTag:NE,isNativeTag:e=>ME(e)||kE(e)||RE(e),isPreTag:e=>"pre"===e,isIgnoreNewlineTag:e=>"pre"===e||"textarea"===e,decodeEntities:function(e,t=!1){return WL||(WL=document.createElement("div")),t?(WL.innerHTML=`
`,WL.children[0].getAttribute("foo")):(WL.innerHTML=e,WL.textContent)},isBuiltInComponent:e=>"Transition"===e||"transition"===e?YL:"TransitionGroup"===e||"transition-group"===e?GL:void 0,getNamespace(e,t,n){let i=t?t.ns:n;if(t&&2===i)if("annotation-xml"===t.tag){if("svg"===e)return 1;t.props.some(e=>6===e.type&&"encoding"===e.name&&null!=e.value&&("text/html"===e.value.content||"application/xhtml+xml"===e.value.content))&&(i=0)}else/^m(?:[ions]|text)$/.test(t.tag)&&"mglyph"!==e&&"malignmark"!==e&&(i=0);else t&&1===i&&("foreignObject"!==t.tag&&"desc"!==t.tag&&"title"!==t.tag||(i=0));if(0===i){if("svg"===e)return 1;if("math"===e)return 2}return i}},qL=(e,t)=>{const n=SE(e);return iD(JSON.stringify(n),!1,t,3)};function KL(e,t){return ED(e,t)}const ZL=Fx("passive,once,capture"),QL=Fx("stop,prevent,self,ctrl,shift,alt,meta,exact,middle"),JL=Fx("left,right"),eP=Fx("onkeyup,onkeydown,onkeypress"),tP=(e,t)=>wD(e)&&"onclick"===e.content.toLowerCase()?iD(t,!0):4!==e.type?rD(["(",e,`) === "onClick" ? "${t}" : (`,e,")"]):e;const nP=(e,t)=>{1!==e.type||0!==e.tagType||"script"!==e.tag&&"style"!==e.tag||t.removeNode()};const iP=[e=>{1===e.type&&e.props.forEach((t,n)=>{6===t.type&&"style"===t.name&&t.value&&(e.props[n]={type:7,name:"bind",arg:iD("style",!0,t.loc),exp:qL(t.value.content,t.loc),modifiers:[],loc:t.loc})})}],rP={cloak:()=>({props:[]}),html:(e,t,n)=>{const{exp:i,loc:r}=e;return i||n.onError(KL(53,r)),t.children.length&&(n.onError(KL(54,r)),t.children.length=0),{props:[nD(iD("innerHTML",!0,r),i||iD("",!0))]}},text:(e,t,n)=>{const{exp:i,loc:r}=e;return i||n.onError(KL(55,r)),t.children.length&&(n.onError(KL(56,r)),t.children.length=0),{props:[nD(iD("textContent",!0),i?NF(i,n)>0?i:sD(n.helperString(NN),[i],r):iD("",!0))]}},model:(e,t,n)=>{const i=AL(e,t,n);if(!i.props.length||1===t.tagType)return i;e.arg&&n.onError(KL(58,e.arg.loc));const{tag:r}=t,s=n.isCustomElement(r);if("input"===r||"textarea"===r||"select"===r||s){let o=BL,a=!1;if("input"===r||s){const i=LD(t,"type");if(i){if(7===i.type)o=UL;else if(i.value)switch(i.value.content){case"radio":o=LL;break;case"checkbox":o=PL;break;case"file":a=!0,n.onError(KL(59,e.loc))}}else(function(e){return e.props.some(e=>!(7!==e.type||"bind"!==e.name||e.arg&&4===e.arg.type&&e.arg.isStatic))})(t)&&(o=UL)}else"select"===r&&(o=$L);a||(i.needRuntime=n.helper(o))}else n.onError(KL(57,e.loc));return i.props=i.props.filter(e=>!(4===e.key.type&&"modelValue"===e.key.content)),i},on:(e,t,n)=>xL(e,t,n,t=>{const{modifiers:i}=e;if(!i.length)return t;let{key:r,value:s}=t.props[0];const{keyModifiers:o,nonKeyModifiers:a,eventOptionModifiers:l}=((e,t,n)=>{const i=[],r=[],s=[];for(let o=0;o{const{exp:i,loc:r}=e;return i||n.onError(KL(61,r)),{props:[],needRuntime:n.helper(jL)}}};const sP=Object.create(null);KM(function(e,t){if(!Zx(e)){if(!e.nodeType)return Bx;e=e.innerHTML}const n=function(e,t){return e+JSON.stringify(t,(e,t)=>"function"==typeof t?t.toString():t)}(e,t),i=sP[n];if(i)return i;if("#"===e[0]){const t=document.querySelector(e);0,e=t?t.innerHTML:""}const r=zx({hoistStatic:!0,onError:void 0,onWarn:Bx},t);r.isCustomElement||"undefined"==typeof customElements||(r.isCustomElement=e=>!!customElements.get(e));const{code:s}=function(e,t={}){return FL(e,zx({},XL,t,{nodeTransforms:[nP,...iP,...t.nodeTransforms||[]],directiveTransforms:zx({},rP,t.directiveTransforms||{}),transformHoist:null}))}(e,r),o=new Function("Vue",s)(oe);return o._rc=!0,sP[n]=o});var oP=__webpack_require__(66619),aP=__webpack_require__.n(oP);const lP={stage:new(aP().Container),pointer:{x:0,y:0},backgroundSprite:null,sprites:{},texts:{},counter:0,keys:{},state:!1,running:!1,repeatPlay:()=>{},displayTag:!1,processingDisplayEvent:null,successDisplayEvents:[],successProcessingDisplayEvents:[],startTime:performance.now(),timer:0,lastFrameTime:null,lastSecond:null,targetFPS:60,frameCount:0,currentFPS:60,canvasHeight:450,canvasWidth:800,gameLoop:()=>{1==lP.state&&(lP.repeatPlay(),lP.gameLoopDisplay()),lP.timer=performance.now()-lP.startTime},animate:e=>{e-lP.lastFrameTime>=1e3/lP.targetFPS&&(lP.frameCount++,lP.gameLoop(),lP.renderer.render(lP.stage),lP.lastFrameTime=e),e-lP.lastSecond>=1e3&&(lP.currentFPS=lP.frameCount,lP.frameCount=0,lP.lastSecond=e),requestAnimationFrame(lP.animate)}};lP.createBackground=(e,t=0)=>{var n;return 0==t&&(n=new(aP().Sprite.fromImage)(`../common/media/spriteimg/${e}.png`)),n.name="background",n.anchor.set(.5),n.x=lP.canvasWidth/2,n.y=lP.canvasHeight/2,n.width=lP.canvasWidth,n.height=lP.canvasHeight,n.interactive=!0,n.buttonMode=!0,n.isDown=!1,n.isUp=!0,n.on("mousedown",function(){this.isDown=!0,this.isUp=!1,lP.state&&this.runningMouseDown()}).on("mouseup",function(){this.isDown=!1,this.isUp=!0}).on("mouseupoutside",function(){this.isDown=!1,this.isUp=!0}),n.runningMouseDown=new Function(""),lP.backgroundSprite&&lP.backgroundSprite.parent&&lP.stage.removeChild(lP.backgroundSprite),lP.backgroundSprite=n,lP.stage.addChildAt(lP.backgroundSprite,0),0},lP.createASprite=(e,t=lP.canvasWidth/2,n=lP.canvasHeight/2,i="",r=0)=>{var s;return""==i&&(i="sprite"+ ++lP.counter),0==r&&(s=new(aP().Sprite.fromImage)(`../common/media/spriteimg/${e}.png`)),lP.sprites[i]||lP.texts[i]||(s.name=i,s.anchor.set(.5),s.x=t,s.y=n,s.interactive=!0,s.buttonMode=!0,s.isDown=!1,s.isUp=!0,s.on("mousedown",function(e){this.isDown=!0,this.isUp=!1,lP.state?this.runningMouseDown():(this.data=e.data,this.alpha=.5,this.dragging=!0)}).on("mouseup",function(){this.isDown=!1,this.isUp=!0,lP.state||(this.alpha=1,this.dragging=!1,this.data=null)}).on("mouseupoutside",function(){this.isDown=!1,this.isUp=!0,lP.state||(this.alpha=1,this.dragging=!1,this.data=null)}).on("mousemove",function(){if(!lP.state&&this.dragging){var e=this.data.getLocalPosition(this.parent);this.position.x=e.x,this.position.y=e.y}}),s.runningMouseDown=new Function(""),s.show=function(){this.visible=!0},s.hide=function(){this.visible=!1},s.enlarge=function(e){const t=this.height/this.width;var n=Math.sqrt(this.height*this.width);n+=e,this.width=Math.sqrt(n*n/t),this.height=this.width*t},s.enlargeTo=function(e){var t=this.height/this.width;this.width=Math.sqrt(e*e/t),this.height=this.width*t},s.expandTo=async function(e,t=1){if(lP.running){lP.displayTag=!0,lP.processingDisplayEvent={sprite:this,targetS:e,totalTime:1e3*t,startTime:performance.now(),displayType:"expand"};var n=new Promise(e=>{if(!1===lP.displayTag)e();else{const t=setInterval(()=>{!1===lP.displayTag&&(clearInterval(t),e())},10)}});return await n}return lP.successProcessingDisplayEvents.push({sprite:this,targetS:e,totalTime:1e3*t,startTime:performance.now(),displayType:"expand"}),0},s.move=function(e){this.x+=e*Math.cos(this.rotation),this.y+=e*Math.sin(this.rotation)},s.moveTo=function(e,t){this.x=e,this.y=t},s.slideTo=async function(e,t,n=1){if(lP.running){lP.displayTag=!0,lP.processingDisplayEvent={sprite:this,targetX:e,targetY:t,totalTime:1e3*n,startTime:performance.now(),displayType:"slide"};var i=new Promise(e=>{const t=setInterval(()=>{!1===lP.displayTag&&(clearInterval(t),e())},10)});return await i}return lP.successProcessingDisplayEvents.push({sprite:this,targetX:e,targetY:t,totalTime:1e3*n,startTime:performance.now(),displayType:"slide"}),0},s.addX=function(e){this.x+=e},s.addY=function(e){this.y+=e},s.rotate=function(e){this.rotation+=Math.PI/180*e},s.rotateTo=function(e){this.rotation=Math.PI/180*e},s.circleTo=async function(e,t=1){if(lP.running){lP.displayTag=!0,lP.processingDisplayEvent={sprite:this,targetDegree:e,totalTime:1e3*t,startTime:performance.now(),displayType:"circle"};var n=new Promise(e=>{if(!1===lP.displayTag)e();else{const t=setInterval(()=>{!1===lP.displayTag&&(clearInterval(t),e())},10)}});return await n}return lP.successProcessingDisplayEvents.push({sprite:this,targetDegree:e,totalTime:1e3*t,startTime:performance.now(),displayType:"circle"}),0},s.hit=function(e){return lP.hitTestRectangle(this,e)},s.outOfScreen=function(){return this.y>=lP.renderer.height||this.y<=0||this.x<=0||this.x>=lP.renderer.width},s.mouseAction=function(e){this.runningMouseDown=e},s.setScale=function(e=0,t=0){0==e&&(e=this.height),0==t&&(t=this.width),this.height=e,this.width=t},s.filterGray=function(){const e=new(aP().filters.ColorMatrixFilter);e.blackAndWhite(),this.filters=[e]},s.filterBrighter=function(){const e=new(aP().filters.ColorMatrixFilter);e.brightness(1.25),this.filters=[e]},s.filterOrigin=function(){this.filters=null},lP.stage.addChild(s),lP.sprites[i]=s),i},lP.clearAllSprites=()=>{lP.backgroundSprite&&lP.backgroundSprite.parent&&lP.backgroundSprite.parent.removeChild(lP.backgroundSprite);for(const e in lP.sprites)lP.sprites[e].parent.removeChild(lP.sprites[e]),delete lP.sprites[e];for(const e in lP.texts)lP.texts[e].parent.removeChild(lP.texts[e]),delete lP.texts[e];return lP.counter=0,lP.clearTimer(),0},lP.createText=(e,t=lP.canvasWidth/2,n=lP.canvasHeight/2,i="")=>{if(""==i&&(i="text"+ ++lP.counter),!lP.sprites[i]&&!lP.texts[i]){var r=new(aP().Text)(e);r.name=i,r.x=t,r.y=n,r.interactive=!0,r.buttonMode=!0,r.on("mousedown",function(e){this.isDown=!0,this.isUp=!1,lP.state?this.runningMouseDown():(this.data=e.data,this.alpha=.5,this.dragging=!0)}).on("mouseup",function(){this.isDown=!1,this.isUp=!0,lP.state||(this.alpha=1,this.dragging=!1,this.data=null)}).on("mouseupoutside",function(){this.isDown=!1,this.isUp=!0,lP.state||(this.alpha=1,this.dragging=!1,this.data=null)}).on("mousemove",function(){if(!lP.state&&this.dragging){var e=this.data.getLocalPosition(this.parent);this.position.x=e.x,this.position.y=e.y}}),r.runningMouseDown=new Function(""),r.changeText=function(e){this.text=e},r.show=function(){this.visible=!0},r.hide=function(){this.visible=!1},lP.stage.addChild(r),lP.texts[i]=r}return i},lP.hitTestRectangle=(e,t)=>{let n,i,r,s,o;return n=!1,e.centerX=e.x+e.width/2,e.centerY=e.y+e.height/2,t.centerX=t.x+t.width/2,t.centerY=t.y+t.height/2,e.halfWidth=e.width/2,e.halfHeight=e.height/2,t.halfWidth=t.width/2,t.halfHeight=t.height/2,s=e.centerX-t.centerX,o=e.centerY-t.centerY,i=e.halfWidth+t.halfWidth,r=e.halfHeight+t.halfHeight,n=Math.abs(s){lP.repeatPlay=e},lP.isKeyboardHit=e=>{if(!lP.keys[e]){let t=lP.keyboard(e);lP.keys[e]=t}return lP.keys[e].isDown},lP.keyboardListener=(e,t)=>{if(lP.keys[e])lP.keys[e].press=function(){lP.state&&t()};else{let n=lP.keyboard(e);n.press=function(){lP.state&&t()},lP.keys[e]=n}},lP.keyboard=e=>{let t={};t.value=e,t.isDown=!1,t.isUp=!0,t.press=void 0,t.release=void 0,t.downHandler=e=>{e.key===t.value&&(t.isUp&&t.press&&t.press(),t.isDown=!0,t.isUp=!1,e.preventDefault())},t.upHandler=e=>{e.key===t.value&&(t.isDown&&t.release&&t.release(),t.isDown=!1,t.isUp=!0,e.preventDefault())};const n=t.downHandler.bind(t),i=t.upHandler.bind(t);return window.addEventListener("keydown",n,!1),window.addEventListener("keyup",i,!1),t.unsubscribe=()=>{window.removeEventListener("keydown",n),window.removeEventListener("keyup",i)},t},lP.clearTimer=()=>{lP.startTime=performance.now()},lP.gameLoopDisplay=()=>{if(lP.processingDisplayEvent){const e=lP.processingDisplayEvent;switch(e.displayType){case"slide":if(performance.now()>=e.totalTime+e.startTime)e.sprite.moveTo(e.targetX,e.targetY),lP.displayTag=!1,lP.processingDisplayEvent=null;else(t=lP.currentFPS*(e.totalTime+e.startTime-performance.now())/1e3)>=1&&(e.sprite.addX((e.targetX-e.sprite.x)/t),e.sprite.addY((e.targetY-e.sprite.y)/t));break;case"expand":if(performance.now()>=e.totalTime+e.startTime)e.sprite.enlargeTo(e.targetS),lP.displayTag=!1,lP.processingDisplayEvent=null;else(t=lP.currentFPS*(e.totalTime+e.startTime-performance.now())/1e3)>=1&&e.sprite.enlarge((e.targetS-Math.sqrt(e.sprite.height*e.sprite.width))/t);break;case"circle":if(performance.now()>=e.totalTime+e.startTime)e.sprite.rotateTo(e.targetDegree),lP.displayTag=!1,lP.processingDisplayEvent=null;else(t=lP.currentFPS*(e.totalTime+e.startTime-performance.now())/1e3)>=1&&e.sprite.rotate((e.targetDegree-180*e.sprite.rotation/Math.PI)/t)}}if(!lP.running&&lP.successProcessingDisplayEvents.length)for(var e=lP.successProcessingDisplayEvents.length-1;e>=0;e--){const n=lP.successProcessingDisplayEvents[e];switch(n.displayType){case"slide":if(performance.now()>=n.totalTime+n.startTime)n.sprite.moveTo(n.targetX,n.targetY),lP.successProcessingDisplayEvents.splice(e,1);else(t=lP.currentFPS*(n.totalTime+n.startTime-performance.now())/1e3)>=1&&(n.sprite.addX((n.targetX-n.sprite.x)/t),n.sprite.addY((n.targetY-n.sprite.y)/t));break;case"expand":if(performance.now()>=n.totalTime+n.startTime)n.sprite.enlargeTo(n.targetS),lP.successProcessingDisplayEvents.splice(e,1);else(t=lP.currentFPS*(n.totalTime+n.startTime-performance.now())/1e3)>=1&&n.sprite.enlarge((n.targetS-Math.sqrt(n.sprite.height*n.sprite.width))/t);break;case"circle":var t;if(performance.now()>=n.totalTime+n.startTime)n.sprite.rotateTo(n.targetDegree),lP.successProcessingDisplayEvents.splice(e,1);else(t=lP.currentFPS*(n.totalTime+n.startTime-performance.now())/1e3)>=1&&n.sprite.rotate((n.targetDegree-180*n.sprite.rotation/Math.PI)/t)}}},lP.changeWidth=e=>{const t=Dx()(lP.renderer.view),n=t.width(),i=t.height();t.width(e),t.height(e/n*i)},lP.kill=()=>{lP.state=!1,lP.repeatPlay=new Function;for(let e in lP.keys)lP.keys[e].unsubscribe(),delete lP.keys[e];lP.processingDisplayEvent=null,lP.displayTag=!1,lP.running=!1,lP.clearTimer()},lP.runit=e=>{const t=Dx()(e);t.empty(),aP().SCALE_MODES.DEFAULT=aP().SCALE_MODES.NEAREST,lP.renderer=aP().autoDetectRenderer(lP.canvasWidth,lP.canvasHeight,{backgroundColor:16777215}),t.append(lP.renderer.view),lP.pointer={x:0,y:0},lP.stage.sortableChildren=!0,lP.stage.interactive=!0,lP.stage.on("mousemove",(e=aP().InteractionEvent)=>{lP.pointer.x=e.data.global.x,lP.pointer.y=e.data.global.y}),lP.lastFrameTime=0,lP.running=!0,lP.lastFrameTime||(lP.lastFrameTime=performance.now(),lP.lastSecond=performance.now()),lP.animate(performance.now()),lP.repeatPlay=new Function;for(let e in lP.keys)lP.keys[e].unsubscribe(),delete lP.keys[e];lP.backgroundSprite&&(lP.backgroundSprite.runningMouseDown=new Function);for(let e in lP.sprites)lP.sprites[e].runningMouseDown=new Function;for(let e in lP.texts)lP.texts[e].runningMouseDown=new Function;lP.processingDisplayEvent=null,lP.displayTag=!1,lP.clearTimer(),lP.changeWidth(Dx()("body").width()/2),lP.state=!0},window.mixlySprite=lP;const uP=lP;var cP=__webpack_require__(69610);class dP{constructor(e,t){this._pageLoad=new cP.D,this._kernelAvailable=new cP.D,this._loaderId="basthon-loader",this._doNotHideLoader=!0;const n=e.language;if(null!=t&&(this._loaderId=t),"loading"===document.readyState){const e=()=>{document.removeEventListener("DOMContentLoaded",e),this._pageLoad.resolve()};document.addEventListener("DOMContentLoaded",e)}else this._pageLoad.resolve();(async()=>{switch(n){case"python":case"python3":case"python3.11":const{KernelPython3:t}=await __webpack_require__.e(211).then(__webpack_require__.bind(__webpack_require__,20211));this._kernel=new t(e);break;case"python3-old":case"python3.8":const{KernelPython3Old:i}=await __webpack_require__.e(195).then(__webpack_require__.bind(__webpack_require__,95195));this._kernel=new i(e);break;case"js":case"javascript":const{KernelJavaScript:r}=await __webpack_require__.e(97).then(__webpack_require__.bind(__webpack_require__,4097));this._kernel=new r(e);break;case"sql":const{KernelSQL:s}=await Promise.all([__webpack_require__.e(960),__webpack_require__.e(837)]).then(__webpack_require__.bind(__webpack_require__,90592));this._kernel=new s(e);break;case"ocaml":const{KernelOCaml:o}=await __webpack_require__.e(38).then(__webpack_require__.bind(__webpack_require__,50038));this._kernel=new o(e);break;default:return window.console.error(`Kernel '${n}' not supported.`),void this._kernelAvailable.reject()}window.Basthon=this._kernel,this._kernelAvailable.resolve(this._kernel)})()}async pageLoad(){await this._pageLoad.promise}async kernelAvailable(){return await this._kernelAvailable.promise}async kernelLoaded(){const e=await this.kernelAvailable();return await e.loaded(),e}get kernel(){return this._kernel}get kernelSafe(){var e;return(null===(e=this.kernel)||void 0===e?void 0:e.ready)?this.kernel:null}async showLoader(e,t=!1,n=!0){this.kernelAvailable().then(()=>{var e;return null===(e=this.kernel)||void 0===e?void 0:e.init()}),__webpack_require__.e(317).then(__webpack_require__.bind(__webpack_require__,1317));const i="basthon-loader-"+(t?"full":"foot"),r=document.createElement("div");r.id=this._loaderId,r.classList.add("darklighted"),r.classList.add("basthon-loader-root"),r.classList.add(i);const s=document.createElement("div");s.classList.add("basthon-loader-container"),s.classList.add(i),r.appendChild(s);const o=document.createElement("div");o.classList.add("basthon-loader-spinner"),o.classList.add(i),o.innerHTML="",s.appendChild(o);const a=document.createElement("div");a.classList.add("basthon-loader-break"),a.classList.add(i),s.appendChild(a);const l=document.createElement("div");l.classList.add("basthon-loader-text"),l.classList.add(i),l.innerHTML=e,s.appendChild(l),this._loaderTextElem=l;const u=document.createElement("div");u.classList.add("basthon-loader-text"),u.classList.add(i),u.style.display="none",s.appendChild(u),this._loaderTextError=u,await this.pageLoad(),document.body.appendChild(r),this._rootLoader=r;try{await this.kernelLoaded()}catch(e){const t=this.browser();this.setErrorText(`Erreur de chargement de Basthon !!!
Vérifiez que votre navigateur est à jour.
Version détectée : ${t.name} ${t.version}.`);for(const e of document.body.querySelectorAll(".basthon-loader-foot"))e.classList.remove("basthon-loader-foot"),e.classList.add("basthon-loader-full");return o.classList.remove("basthon-loader-spinner"),o.classList.add("basthon-loader-error"),void(this._doNotHideLoader=!0)}this._doNotHideLoader=!1,n&&this.hideLoader()}setLoaderText(e){null!=this._loaderTextElem&&(this._loaderTextElem.innerHTML=e)}setErrorText(e){null!=this._loaderTextElem&&(this._loaderTextElem.style.display="none"),null!=this._loaderTextError&&(this._loaderTextError.style.display="",this._loaderTextError.innerHTML=e)}hideLoader(){if(this._doNotHideLoader)return;const e=this._rootLoader;null!=e&&(e.classList.add("basthon-loader-hide"),window.setTimeout(()=>{this._rootLoader=void 0,e.remove()},1100))}browser(){var e,t=navigator.userAgent,n=t.match(/(opera|chrome|safari|firefox|msie|trident(?=\/))\/?\s*(\d+)/i)||[];return/trident/i.test(n[1])?{name:"IE",version:(e=/\brv[ :]+(\d+)/g.exec(t)||[])[1]||""}:"Chrome"===n[1]&&null!=(e=t.match(/\bOPR|Edge\/(\d+)/))?{name:"Opera",version:e[1]}:(n=n[2]?[n[1],n[2]]:[navigator.appName,navigator.appVersion,"-?"],null!=(e=t.match(/version\/(\d+)/i))&&n.splice(1,1,e[1]),{name:n[0],version:n[1]})}}class hP extends ze.PageBase{static{ze.HTMLTemplate.add("html/statusbar/statusbar-image.html",new ze.HTMLTemplate('\r\n
')),this.init=function(){ze.StatusBarsManager.typesRegistry.register(["images"],hP);const e=ze.Workspace.getMain().getStatusBarsManager();return e.add({type:"images",id:"images",name:Ve.Msg.PYTHON_PYODIDE_IMAGE,title:Ve.Msg.PYTHON_PYODIDE_IMAGE}),e.changeTo("output"),e.get("images")}}constructor(){super();const e=Dx()(ze.HTMLTemplate.get("html/statusbar/statusbar-image.html").render());this.setContent(e)}init(){super.init(),this.hideCloseBtn()}clean(){this.getContent().empty()}display(e){const t=this.getContent(),n=function(e){e.style.width="auto",e.style.height="auto",e.style.maxWidth="100%",e.style.maxHeight="100%"};this.clean();let i=e.content,r=null,s=null;switch(e.display_type){case"p5":i.style.width="100%",i.style.height="100%",i.style.display="flex",i.style.justifyContent="center",i.style.alignItems="center",new MutationObserver(function(e){e.forEach(e=>e.addedNodes.forEach(e=>{const t=e;null!=t.tagName&&["canvas","video"].includes(t.tagName.toLowerCase())&&n(t)}))}).observe(i,{childList:!0}),i.querySelectorAll("canvas,video").forEach(n),t.append(i);break;case"matplotlib":r=i.querySelector("canvas"),r&&(i=r),i.style.width="",i.style.height="",i.style.maxWidth="100%",i.style.maxHeight="100%",t.append(i);break;case"ocaml-canvas":i.style.width="",i.style.height="",i.style.maxWidth="100%",i.style.maxHeight="100%",t.append(i);break;case"turtle":i.setAttribute("width","100%"),i.setAttribute("height","100%"),t.append(i.outerHTML);break;case"sympy":t.append(e.content),void 0===window.MathJax?(console.log("Loading MathJax (Sympy expression needs it)."),function(){let e=document.createElement("script");e.type="text/javascript",e.src="https://cdn.jsdelivr.net/npm/mathjax@3.0.5/es5/tex-mml-chtml.js",document.getElementsByTagName("head")[0].appendChild(e)}()):window.MathJax.typeset();break;case"multiple":for(let n of["image/svg+xml","image/png","text/html","text/plain"])if(n in e.content){let i=e.content[n];"image/png"===n&&(i=''),t.append(i);break}break;case"tutor":if(t.append(Dx()(e.content.replace("overflow-y%3A%20hidden%3B",""))),s=this.getContent()[0].getElementsByTagName("iframe")[0],null==s)return;s.style.maxHeight=s.style.minHeight="100%",new IntersectionObserver((e,t)=>{const n=e[0];n&&!n.isIntersecting||(s.contentWindow?.postMessage({type:"redraw"},"*"),t.disconnect())}).observe(s);break;default:console.error(`Not supported node type '${e.display_type}' in eval.display result processing.`)}}}const pP=layui;var fP;!function(e){e[e.EPERM=1]="EPERM",e[e.ENOENT=2]="ENOENT",e[e.EINTR=4]="EINTR",e[e.EIO=5]="EIO",e[e.ENXIO=6]="ENXIO",e[e.EBADF=9]="EBADF",e[e.EAGAIN=11]="EAGAIN",e[e.ENOMEM=12]="ENOMEM",e[e.EACCES=13]="EACCES",e[e.EFAULT=14]="EFAULT",e[e.ENOTBLK=15]="ENOTBLK",e[e.EBUSY=16]="EBUSY",e[e.EEXIST=17]="EEXIST",e[e.EXDEV=18]="EXDEV",e[e.ENODEV=19]="ENODEV",e[e.ENOTDIR=20]="ENOTDIR",e[e.EISDIR=21]="EISDIR",e[e.EINVAL=22]="EINVAL",e[e.ENFILE=23]="ENFILE",e[e.EMFILE=24]="EMFILE",e[e.ETXTBSY=26]="ETXTBSY",e[e.EFBIG=27]="EFBIG",e[e.ENOSPC=28]="ENOSPC",e[e.ESPIPE=29]="ESPIPE",e[e.EROFS=30]="EROFS",e[e.EMLINK=31]="EMLINK",e[e.EPIPE=32]="EPIPE",e[e.EDOM=33]="EDOM",e[e.ERANGE=34]="ERANGE",e[e.EDEADLK=35]="EDEADLK",e[e.ENAMETOOLONG=36]="ENAMETOOLONG",e[e.ENOLCK=37]="ENOLCK",e[e.ENOSYS=38]="ENOSYS",e[e.ENOTEMPTY=39]="ENOTEMPTY",e[e.ELOOP=40]="ELOOP",e[e.ENOMSG=42]="ENOMSG",e[e.EBADE=52]="EBADE",e[e.EBADR=53]="EBADR",e[e.EXFULL=54]="EXFULL",e[e.ENOANO=55]="ENOANO",e[e.EBADRQC=56]="EBADRQC",e[e.ENOSTR=60]="ENOSTR",e[e.ENODATA=61]="ENODATA",e[e.ETIME=62]="ETIME",e[e.ENOSR=63]="ENOSR",e[e.ENONET=64]="ENONET",e[e.EREMOTE=66]="EREMOTE",e[e.ENOLINK=67]="ENOLINK",e[e.ECOMM=70]="ECOMM",e[e.EPROTO=71]="EPROTO",e[e.EBADMSG=74]="EBADMSG",e[e.EOVERFLOW=75]="EOVERFLOW",e[e.EBADFD=77]="EBADFD",e[e.ESTRPIPE=86]="ESTRPIPE",e[e.ENOTSOCK=88]="ENOTSOCK",e[e.EDESTADDRREQ=89]="EDESTADDRREQ",e[e.EMSGSIZE=90]="EMSGSIZE",e[e.EPROTOTYPE=91]="EPROTOTYPE",e[e.ENOPROTOOPT=92]="ENOPROTOOPT",e[e.EPROTONOSUPPORT=93]="EPROTONOSUPPORT",e[e.ESOCKTNOSUPPORT=94]="ESOCKTNOSUPPORT",e[e.ENOTSUP=95]="ENOTSUP",e[e.ENETDOWN=100]="ENETDOWN",e[e.ENETUNREACH=101]="ENETUNREACH",e[e.ENETRESET=102]="ENETRESET",e[e.ETIMEDOUT=110]="ETIMEDOUT",e[e.ECONNREFUSED=111]="ECONNREFUSED",e[e.EHOSTDOWN=112]="EHOSTDOWN",e[e.EHOSTUNREACH=113]="EHOSTUNREACH",e[e.EALREADY=114]="EALREADY",e[e.EINPROGRESS=115]="EINPROGRESS",e[e.ESTALE=116]="ESTALE",e[e.EREMOTEIO=121]="EREMOTEIO",e[e.EDQUOT=122]="EDQUOT"}(fP||(fP={}));const mP={[fP.EPERM]:"Operation not permitted",[fP.ENOENT]:"No such file or directory",[fP.EINTR]:"Interrupted system call",[fP.EIO]:"Input/output error",[fP.ENXIO]:"No such device or address",[fP.EBADF]:"Bad file descriptor",[fP.EAGAIN]:"Resource temporarily unavailable",[fP.ENOMEM]:"Cannot allocate memory",[fP.EACCES]:"Permission denied",[fP.EFAULT]:"Bad address",[fP.ENOTBLK]:"Block device required",[fP.EBUSY]:"Resource busy or locked",[fP.EEXIST]:"File exists",[fP.EXDEV]:"Invalid cross-device link",[fP.ENODEV]:"No such device",[fP.ENOTDIR]:"File is not a directory",[fP.EISDIR]:"File is a directory",[fP.EINVAL]:"Invalid argument",[fP.ENFILE]:"Too many open files in system",[fP.EMFILE]:"Too many open files",[fP.ETXTBSY]:"Text file busy",[fP.EFBIG]:"File is too big",[fP.ENOSPC]:"No space left on disk",[fP.ESPIPE]:"Illegal seek",[fP.EROFS]:"Cannot modify a read-only file system",[fP.EMLINK]:"Too many links",[fP.EPIPE]:"Broken pipe",[fP.EDOM]:"Numerical argument out of domain",[fP.ERANGE]:"Numerical result out of range",[fP.EDEADLK]:"Resource deadlock would occur",[fP.ENAMETOOLONG]:"File name too long",[fP.ENOLCK]:"No locks available",[fP.ENOSYS]:"Function not implemented",[fP.ENOTEMPTY]:"Directory is not empty",[fP.ELOOP]:"Too many levels of symbolic links",[fP.ENOMSG]:"No message of desired type",[fP.EBADE]:"Invalid exchange",[fP.EBADR]:"Invalid request descriptor",[fP.EXFULL]:"Exchange full",[fP.ENOANO]:"No anode",[fP.EBADRQC]:"Invalid request code",[fP.ENOSTR]:"Device not a stream",[fP.ENODATA]:"No data available",[fP.ETIME]:"Timer expired",[fP.ENOSR]:"Out of streams resources",[fP.ENONET]:"Machine is not on the network",[fP.EREMOTE]:"Object is remote",[fP.ENOLINK]:"Link has been severed",[fP.ECOMM]:"Communication error on send",[fP.EPROTO]:"Protocol error",[fP.EBADMSG]:"Bad message",[fP.EOVERFLOW]:"Value too large for defined data type",[fP.EBADFD]:"File descriptor in bad state",[fP.ESTRPIPE]:"Streams pipe error",[fP.ENOTSOCK]:"Socket operation on non-socket",[fP.EDESTADDRREQ]:"Destination address required",[fP.EMSGSIZE]:"Message too long",[fP.EPROTOTYPE]:"Protocol wrong type for socket",[fP.ENOPROTOOPT]:"Protocol not available",[fP.EPROTONOSUPPORT]:"Protocol not supported",[fP.ESOCKTNOSUPPORT]:"Socket type not supported",[fP.ENOTSUP]:"Operation is not supported",[fP.ENETDOWN]:"Network is down",[fP.ENETUNREACH]:"Network is unreachable",[fP.ENETRESET]:"Network dropped connection on reset",[fP.ETIMEDOUT]:"Connection timed out",[fP.ECONNREFUSED]:"Connection refused",[fP.EHOSTDOWN]:"Host is down",[fP.EHOSTUNREACH]:"No route to host",[fP.EALREADY]:"Operation already in progress",[fP.EINPROGRESS]:"Operation now in progress",[fP.ESTALE]:"Stale file handle",[fP.EREMOTEIO]:"Remote I/O error",[fP.EDQUOT]:"Disk quota exceeded"};class gP extends Error{static fromJSON(e){const t=new gP(e.errno,e.message,e.path,e.syscall);return t.code=e.code,t.stack=e.stack,t}static With(e,t,n){return new gP(fP[e],mP[fP[e]],t,n)}constructor(e,t=mP[e],n,i=""){super(t),this.errno=e,this.path=n,this.syscall=i,this.code=fP[e],this.message=this.code+": "+t+(this.path?`, '${this.path}'`:"")}toString(){return this.message}toJSON(){return{errno:this.errno,code:this.code,path:this.path,stack:this.stack,message:this.message,syscall:this.syscall}}bufferSize(){return 4+JSON.stringify(this.toJSON()).length}}let _P="/";function yP(e,t){let n="",i=0,r=-1,s=0,o="\0";for(let a=0;a<=e.length;++a){if(a2){const e=n.lastIndexOf("/");-1===e?(n="",i=0):(n=n.slice(0,e),i=n.length-1-n.lastIndexOf("/")),r=a,s=0;continue}if(0!==n.length){n="",i=0,r=a,s=0;continue}}t&&(n+=n.length>0?"/..":"..",i=2)}else n.length>0?n+="/"+e.slice(r+1,a):n=e.slice(r+1,a),i=a-r-1;r=a,s=0}else"."===o&&-1!==s?++s:s=-1}return n}function vP(...e){let t="";for(const n of[...e.reverse(),_P])if(n.length&&(t=`${n}/${t}`,n.startsWith("/")))break;const n=t.startsWith("/");return t=yP(t,!n),n?`/${t}`:t.length?t:"/"}function bP(...e){if(!e.length)return".";const t=e.join("/");return t?.length?function(e){if(!e.length)return".";const t=e.startsWith("/"),n=e.endsWith("/");return(e=yP(e,!t)).length?(n&&(e+="/"),t?`/${e}`:e):t?"/":n?"./":"."}(t):"."}function TP(e){if(0===e.length)return".";const t="/"===e[0];let n=-1,i=!0;for(let t=e.length-1;t>=1;--t)if("/"===e[t]){if(!i){n=t;break}}else i=!1;return-1===n?t?"/":".":t&&1===n?"//":e.slice(0,n)}function xP(e,t){let n=0,i=-1,r=!0;if(void 0!==t&&t.length>0&&t.length<=e.length){if(t===e)return"";let s=t.length-1,o=-1;for(let a=e.length-1;a>=0;--a)if("/"===e[a]){if(!r){n=a+1;break}}else-1===o&&(r=!1,o=a+1),s>=0&&(e[a]===t[s]?-1===--s&&(i=a):(s=-1,i=o));return n===i?i=o:-1===i&&(i=e.length),e.slice(n,i)}for(let t=e.length-1;t>=0;--t)if("/"===e[t]){if(!r){n=t+1;break}}else-1===i&&(r=!1,i=t+1);return-1===i?"":e.slice(n,i)}function EP(e){const t=e.startsWith("/"),n={root:t?"/":"",dir:"",base:"",ext:"",name:""};if(0===e.length)return n;const i=t?1:0;let r=-1,s=0,o=-1,a=!0,l=e.length-1,u=0;for(;l>=i;--l)if("/"!==e[l])-1===o&&(a=!1,o=l+1),"."===e[l]?-1===r?r=l:1!==u&&(u=1):-1!==r&&(u=-1);else if(!a){s=l+1;break}if(-1!==o){const i=0===s&&t?1:s;-1===r||0===u||1===u&&r===o-1&&r===s+1?n.base=n.name=e.slice(i,o):(n.name=e.slice(i,r),n.base=e.slice(i,o),n.ext=e.slice(r,o))}return s>0?n.dir=e.slice(0,s-1):t&&(n.dir="/"),n}const wP=new TextEncoder;function IP(e){if("string"!=typeof e)throw new gP(fP.EINVAL,"Can not encode a non-string");return wP.encode(e)}const AP=new TextDecoder;function SP(e){if(!(e instanceof Uint8Array))throw new gP(fP.EINVAL,"Can not decode a non-Uint8Array");return AP.decode(e)}function CP(e){return JSON.parse(SP(e),(e,t)=>""==e?t:BigInt(t))}function OP(e){return IP(JSON.stringify(e,(e,t)=>""==e?t:t.toString()))}function MP(e,t){if("number"==typeof e)return e;if("string"==typeof e){const t=parseInt(e,8);if(!isNaN(t))return t}if("number"==typeof t)return t;throw new gP(fP.EINVAL,"Invalid mode: "+e?.toString())}function kP(e){if(e instanceof Date)return e;try{return new Date(e)}catch{throw new gP(fP.EINVAL,"Invalid time.")}}function RP(e){if((e=e.toString()).includes("\0"))throw new gP(fP.EINVAL,"Path can not contain null character");if(0==e.length)throw new gP(fP.EINVAL,"Path can not be empty");return vP(e.replaceAll(/[/\\]+/g,"/"))}function NP(e,t="utf8",n,i=0){return"object"!=typeof e||null===e?{encoding:"string"==typeof e?e:t??null,flag:n,mode:i}:{encoding:"string"==typeof e?.encoding?e.encoding:t??null,flag:"string"==typeof e?.flag?e.flag:n,mode:MP("mode"in e?e?.mode:null,i)}}function DP(){return crypto.getRandomValues(new BigUint64Array(1))[0]}const FP={uid:0,gid:0,suid:0,sgid:0,euid:0,egid:0,groups:[]};function LP(e){return{suid:e.uid,sgid:e.gid,euid:e.uid,egid:e.gid,groups:[],...e}}const PP=0,BP=4,$P=2,UP=1,VP=1,zP=2,jP=4,YP=0,GP=1,HP=2,WP=64,XP=128,qP=256,KP=512,ZP=1024,QP=65536,JP=262144,eB=131072,tB=1052672,nB=4096,iB=32768,rB=16384,sB=2048,oB=61440,aB=49152,lB=40960,uB=32768,cB=24576,dB=16384,hB=8192,pB=4096,fB=2048,mB=1024,gB=512,_B=448,yB=256,vB=128,bB=64,TB=56,xB=32,EB=16,wB=8,IB=7,AB=4,SB=2,CB=1,OB=0,MB=2**32-1,kB={checkAccess:!0,updateOnRead:!0,syncImmediately:!0,unsafeBufferReplace:!1};Promise.withResolvers??(Promise.withResolvers=function(){let e,t;const n=new Promise((n,i)=>{e=n,t=i});return{promise:n,resolve:e,reject:t}}),Symbol.dispose??(Symbol.dispose=Symbol("Symbol.dispose")),Symbol.asyncDispose??(Symbol.asyncDispose=Symbol("Symbol.asyncDispose"));class RB{_convert(e){return this._isBigint?BigInt(e):Number(e)}get blocks(){return this._convert(Math.ceil(Number(this.size)/512))}get atime(){return new Date(Number(this.atimeMs))}set atime(e){this.atimeMs=this._convert(e.getTime())}get mtime(){return new Date(Number(this.mtimeMs))}set mtime(e){this.mtimeMs=this._convert(e.getTime())}get ctime(){return new Date(Number(this.ctimeMs))}set ctime(e){this.ctimeMs=this._convert(e.getTime())}get birthtime(){return new Date(Number(this.birthtimeMs))}set birthtime(e){this.birthtimeMs=this._convert(e.getTime())}constructor({atimeMs:e,mtimeMs:t,ctimeMs:n,birthtimeMs:i,uid:r,gid:s,size:o,mode:a,ino:l}={}){this.dev=this._convert(0),this.ino=this._convert(0),this.rdev=this._convert(0),this.nlink=this._convert(1),this.blksize=this._convert(4096),this.uid=this._convert(0),this.gid=this._convert(0);const u=Date.now();this.atimeMs=this._convert(e??u),this.mtimeMs=this._convert(t??u),this.ctimeMs=this._convert(n??u),this.birthtimeMs=this._convert(i??u),this.uid=this._convert(r??0),this.gid=this._convert(s??0),this.size=this._convert(o??0),this.ino=this._convert(l??0),this.mode=this._convert(a??420&uB),0==(this.mode&oB)&&(this.mode=this.mode|this._convert(uB))}isFile(){return(this.mode&oB)===uB}isDirectory(){return(this.mode&oB)===dB}isSymbolicLink(){return(this.mode&oB)===lB}isSocket(){return(this.mode&oB)===aB}isBlockDevice(){return(this.mode&oB)===cB}isCharacterDevice(){return(this.mode&oB)===hB}isFIFO(){return(this.mode&oB)===pB}hasAccess(e,t){const n=t?.credentials||FP;if(this.isSymbolicLink()||0===n.euid||0===n.egid)return!0;let i=0;return n.uid===this.uid&&(this.mode&yB&&(i|=BP),this.mode&vB&&(i|=$P),this.mode&bB&&(i|=UP)),(n.gid===this.gid||n.groups.includes(Number(this.gid)))&&(this.mode&xB&&(i|=BP),this.mode&EB&&(i|=$P),this.mode&wB&&(i|=UP)),this.mode&AB&&(i|=BP),this.mode&SB&&(i|=$P),this.mode&CB&&(i|=UP),(i&e)===e}chmod(e){this.mode=this._convert(this.mode&oB|e)}chown(e,t){e=Number(e),t=Number(t),!isNaN(e)&&0<=e&&e<2**32&&(this.uid=this._convert(e)),!isNaN(t)&&0<=t&&t<2**32&&(this.gid=this._convert(t))}get atimeNs(){return 1000n*BigInt(this.atimeMs)}get mtimeNs(){return 1000n*BigInt(this.mtimeMs)}get ctimeNs(){return 1000n*BigInt(this.ctimeMs)}get birthtimeNs(){return 1000n*BigInt(this.birthtimeMs)}}function NB(e,t,n){!isNaN(t)&&0<=t&&t<2**32&&(e.uid=t),!isNaN(n)&&0<=n&&n<2**32&&(e.gid=n)}class DB extends RB{constructor(){super(...arguments),this._isBigint=!1}}class FB extends RB{constructor(){super(...arguments),this._isBigint=!0}}class LB{constructor(){this.type=525687744115,this.bsize=4096,this.blocks=0,this.bfree=0,this.bavail=0,this.files=MB,this.ffree=MB}}class PB{constructor(){this.type=0x7a656e6673n,this.bsize=4096n,this.blocks=0n,this.bfree=0n,this.bavail=0n,this.files=BigInt(MB),this.ffree=BigInt(MB)}}const BB=["r","r+","rs","rs+","w","wx","w+","wx+","a","ax","a+","ax+"];function $B(e){if("number"==typeof e)return function(e){switch(e){case YP:return"r";case YP|tB:return"rs";case HP:return"r+";case HP|tB:return"rs+";case KP|WP|GP:return"w";case KP|WP|GP|XP:return"wx";case KP|WP|HP:return"w+";case KP|WP|HP|XP:return"wx+";case ZP|WP|GP:return"a";case ZP|WP|GP|XP:return"ax";case ZP|WP|HP:return"a+";case ZP|WP|HP|XP:return"ax+";default:throw new Error("Invalid flag number: "+e)}}(e);if(!BB.includes(e))throw new Error("Invalid flag string: "+e);return e}function UB(e){let t=0;return t<<=1,t+=+VB(e),t<<=1,t+=+zB(e),t<<=1,t}function VB(e){return-1!==e.indexOf("r")||-1!==e.indexOf("+")}function zB(e){return-1!==e.indexOf("w")||-1!==e.indexOf("a")||-1!==e.indexOf("+")}function jB(e){return-1!==e.indexOf("w")}function YB(e){return-1!==e.indexOf("a")}function GB(e){return-1!==e.indexOf("x")}class HB{constructor(e,t){this.fs=e,this.path=t}async[Symbol.asyncDispose](){await this.close()}[Symbol.dispose](){this.closeSync()}datasync(){return this.sync()}datasyncSync(){return this.syncSync()}}class WB extends HB{constructor(e,t,n,i,r=new Uint8Array(new ArrayBuffer(0,e.metadata().noResizableBuffers?{}:{maxByteLength:MB}))){if(super(e,t),this.flag=n,this.stats=i,this._buffer=r,this._position=0,this.dirty=!1,this.closed=!1,this.stats.size!=r.byteLength){if(VB(this.flag))throw new Error(`Size mismatch: buffer length ${r.byteLength}, stats size ${this.stats.size}`);this.dirty=!0}}get buffer(){return this._buffer}get position(){return YB(this.flag)?this.stats.size:this._position}set position(e){this._position=e}async sync(){if(this.closed)throw gP.With("EBADF",this.path,"File.sync");this.dirty&&(await this.fs.sync(this.path,this._buffer,this.stats),this.dirty=!1)}syncSync(){if(this.closed)throw gP.With("EBADF",this.path,"File.sync");this.dirty&&(this.fs.syncSync(this.path,this._buffer,this.stats),this.dirty=!1)}async close(){if(this.closed)throw gP.With("EBADF",this.path,"File.close");await this.sync(),this.dispose()}closeSync(){if(this.closed)throw gP.With("EBADF",this.path,"File.close");this.syncSync(),this.dispose()}dispose(e){if(this.closed)throw gP.With("EBADF",this.path,"File.dispose");if(this.dirty&&!e)throw gP.With("EBUSY",this.path,"File.dispose");delete this._buffer,delete this.stats,this.closed=!0}stat(){if(this.closed)throw gP.With("EBADF",this.path,"File.stat");return Promise.resolve(new DB(this.stats))}statSync(){if(this.closed)throw gP.With("EBADF",this.path,"File.stat");return new DB(this.stats)}_truncate(e){if(this.closed)throw gP.With("EBADF",this.path,"File.truncate");if(this.dirty=!0,!zB(this.flag))throw new gP(fP.EPERM,"File not opened with a writeable mode.");if(this.stats.mtimeMs=Date.now(),e>this._buffer.length){const t=new Uint8Array(e-this._buffer.length);return void this._write(t,0,t.length,this._buffer.length)}this.stats.size=e,this._buffer=e?this._buffer.slice(0,e):new Uint8Array}async truncate(e){this._truncate(e),kB.syncImmediately&&await this.sync()}truncateSync(e){this._truncate(e),kB.syncImmediately&&this.syncSync()}_write(e,t=0,n=this.stats.size,i=this.position){if(this.closed)throw gP.With("EBADF",this.path,"File.write");if(!zB(this.flag))throw new gP(fP.EPERM,"File not opened with a writeable mode.");this.dirty=!0;const r=i+n,s=e.slice(t,t+n);if(r>this.stats.size&&(this.stats.size=r,r>this._buffer.byteLength))if(this._buffer.buffer.resizable&&this._buffer.buffer.maxByteLength<=r)this._buffer.buffer.resize(r);else if(kB.unsafeBufferReplace)this._buffer=s;else{const e=new Uint8Array(new ArrayBuffer(r,this.fs.metadata().noResizableBuffers?{}:{maxByteLength:MB}));e.set(this._buffer),this._buffer=e}return this._buffer.set(s,i),this.stats.mtimeMs=Date.now(),this.position=i+s.byteLength,s.byteLength}async write(e,t,n,i){const r=this._write(e,t,n,i);return kB.syncImmediately&&await this.sync(),r}writeSync(e,t=0,n=this.stats.size,i=this.position){const r=this._write(e,t,n,i);return kB.syncImmediately&&this.syncSync(),r}_read(e,t=0,n=this.stats.size,i){if(this.closed)throw gP.With("EBADF",this.path,"File.read");if(!VB(this.flag))throw new gP(fP.EPERM,"File not opened with a readable mode.");kB.updateOnRead&&(this.dirty=!0),this.stats.atimeMs=Date.now(),i??(i=this.position);let r=i+n;r>this.stats.size&&(r=i+Math.max(this.stats.size-i,0)),this._position=r;const s=r-i;return 0==s||new Uint8Array(e.buffer,t,n).set(this._buffer.slice(i,r)),s}async read(e,t,n,i){const r=this._read(e,t,n,i);return kB.syncImmediately&&await this.sync(),{bytesRead:r,buffer:e}}readSync(e,t,n,i){const r=this._read(e,t,n,i);return kB.syncImmediately&&this.syncSync(),r}async chmod(e){if(this.closed)throw gP.With("EBADF",this.path,"File.chmod");this.dirty=!0,this.stats.mode=this.stats.mode&(e>oB?~oB:oB)|e,(kB.syncImmediately||e>oB)&&await this.sync()}chmodSync(e){if(this.closed)throw gP.With("EBADF",this.path,"File.chmod");this.dirty=!0,this.stats.mode=this.stats.mode&(e>oB?~oB:oB)|e,(kB.syncImmediately||e>oB)&&this.syncSync()}async chown(e,t){if(this.closed)throw gP.With("EBADF",this.path,"File.chown");this.dirty=!0,NB(this.stats,e,t),kB.syncImmediately&&await this.sync()}chownSync(e,t){if(this.closed)throw gP.With("EBADF",this.path,"File.chown");this.dirty=!0,NB(this.stats,e,t),kB.syncImmediately&&this.syncSync()}async utimes(e,t){if(this.closed)throw gP.With("EBADF",this.path,"File.utimes");this.dirty=!0,this.stats.atime=e,this.stats.mtime=t,kB.syncImmediately&&await this.sync()}utimesSync(e,t){if(this.closed)throw gP.With("EBADF",this.path,"File.utimes");this.dirty=!0,this.stats.atime=e,this.stats.mtime=t,kB.syncImmediately&&this.syncSync()}}class XB{metadata(){return{name:this.constructor.name.toLowerCase(),readonly:!1,totalSpace:0,freeSpace:0,noResizableBuffers:!1,noAsyncCache:this._disableSync??!1,type:525687744115}}constructor(...e){}async ready(){}async exists(e){try{return await this.stat(e),!0}catch(e){return"ENOENT"!=e.code}}existsSync(e){try{return this.statSync(e),!0}catch(e){return"ENOENT"!=e.code}}}var qB=__webpack_require__(30228);Symbol.toStringTag,Symbol.iterator;const KB=Intl.NumberFormat("en",{notation:"compact"});KB.format.bind(KB);function ZB(e){return e.at(0).toUpperCase()+e.slice(1)}const QB=["int8","uint8","int16","uint16","int32","uint32","int64","uint64","float32","float64"],JB=[...QB,...QB.map(e=>ZB(e)),"char"],e$=/^(u?int|float)(8|16|32|64)$/i;function t$(e){return"char"==e?"uint8":e.toLowerCase()}function n$(e){return e$.test(e.toString())}function i$(e){return"char"==e||e$.test(e.toString().toLowerCase())}Symbol.struct_init||=Symbol("struct_init"),Symbol.struct_metadata||=Symbol("struct_metadata");Symbol.struct_init,Symbol.struct_metadata;function r$(e){const t=Symbol.metadata||Object.getOwnPropertySymbols(e).find(e=>"Symbol.metadata"==e.description);var n;if(n=e,Symbol?.metadata&&(Symbol.metadata in n||Object.defineProperty(n,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:Object.create(null)})),!t)throw new ReferenceError("Could not get a reference to Symbol.metadata");return t}function s$(e){return"function"==typeof e&&r$(e)in e&&function(e){return null!=e&&"object"==typeof e&&Symbol.struct_metadata in e}(e[r$(e)])}function o$(e){return null!=e&&"object"==typeof e&&s$(e.constructor)}function a$(e){if(!o$(e))throw new TypeError(("function"==typeof e?e.name:"object"==typeof e&&e?e.constructor.name:e)+" is not a struct instance")}function l$(e){if(!function(e){return o$(e)||s$(e)}(e))throw new TypeError(("function"==typeof e?e.name:"object"==typeof e&&e?e.constructor.name:e)+" is not a struct")}function u$(e){if("string"==typeof e)return function(e){if(!i$(e))throw new TypeError("Not a valid primitive type: "+e)}(e),+t$(e).match(e$)[2]/8;l$(e);const t=s$(e)?e:e.constructor;return t[r$(t)][Symbol.struct_metadata].size}function c$(e,t){return Math.ceil(e/t)*t}function d$(e={}){return function(t,n){n.metadata??={},n.metadata[Symbol.struct_init]||=[];let i=0;const r=new Map;for(const t of n.metadata[Symbol.struct_init]){const{name:n,type:s,length:o}=t;if(!i$(s)&&!s$(s))throw new TypeError("Not a valid type: "+s);r.set(n,{offset:i,type:i$(s)?t$(s):s,length:o}),i+=u$(s)*(o||1),i=c$(i,e.align||1)}return n.metadata[Symbol.struct_metadata]={options:e,members:r,size:i},t}}function h$(e,t){return function(n,i){let r=i.name;if("symbol"==typeof r&&(console.warn("Symbol used for struct member name will be coerced to string: "+r.toString()),r=r.toString()),!r)throw new ReferenceError("Invalid name for struct member");return i.metadata??={},i.metadata[Symbol.struct_init]||=[],i.metadata[Symbol.struct_init].push({name:r,type:e,length:t}),n}}function p$(e){a$(e);const{options:t,members:n}=e.constructor[r$(e.constructor)][Symbol.struct_metadata],i=new Uint8Array(u$(e)),r=new DataView(i.buffer);for(const[s,{type:o,length:a,offset:l}]of n)for(let n=0;n<(a||1);n++){const u=l+u$(o)*n;let c=a>0?e[s][n]:e[s];if("string"==typeof c&&(c=c.charCodeAt(0)),!n$(o)){i.set(c?p$(c):new Uint8Array(u$(o)),u);continue}const d="set"+ZB(o);"setInt64"!=d?"setUint64"!=d?r[d](u,Number(c),!t.bigEndian):r.setBigUint64(u,BigInt(c),!t.bigEndian):r.setBigInt64(u,BigInt(c),!t.bigEndian)}return i}function f$(e,t){a$(e);const{options:n,members:i}=e.constructor[r$(e.constructor)][Symbol.struct_metadata],r=t instanceof Uint8Array?t:new Uint8Array("buffer"in t?t.buffer:t),s=new DataView(r.buffer.slice(r.byteOffset,r.byteOffset+r.byteLength));for(const[t,{type:o,offset:a,length:l}]of i)for(let i=0;i<(l||1);i++){let u=l>0?e[t]:e;const c=l>0?i:t,d=a+u$(o)*i;if("string"==typeof e[t]){e[t]=e[t].slice(0,i)+String.fromCharCode(s.getUint8(d))+e[t].slice(i+1);continue}if(!n$(o)){if(null===u[c]||void 0===u[c])continue;f$(u[c],new Uint8Array(r.slice(d,d+u$(o))));continue}l>0&&(u||=[]);const h="get"+ZB(o);"getInt64"!=h?u[c]="getUint64"!=h?s[h](d,!n.bigEndian):s.getBigUint64(d,!n.bigEndian):u[c]=s.getBigInt64(d,!n.bigEndian)}}Symbol.metadata??=Symbol.for("Symbol.metadata");const m$=Object.fromEntries(JB.map(e=>{return[e,(t=e,function(e,n){return"number"==typeof e?h$(t,e):h$(t)(e,n)})];var t}));var g$=function(e,t,n,i,r,s){function o(e){if(void 0!==e&&"function"!=typeof e)throw new TypeError("Function expected");return e}for(var a,l=i.kind,u="getter"===l?"get":"setter"===l?"set":"value",c=!t&&e?i.static?e:e.prototype:null,d=t||(c?Object.getOwnPropertyDescriptor(c,i.name):{}),h=!1,p=n.length-1;p>=0;p--){var f={};for(var m in i)f[m]="access"===m?{}:i[m];for(var m in i.access)f.access[m]=i.access[m];f.addInitializer=function(e){if(h)throw new TypeError("Cannot add initializers after decoration has completed");s.push(o(e||null))};var g=(0,n[p])("accessor"===l?{get:d.get,set:d.set}:d[u],f);if("accessor"===l){if(void 0===g)continue;if(null===g||"object"!=typeof g)throw new TypeError("Object expected");(a=o(g.get))&&(d.get=a),(a=o(g.set))&&(d.set=a),(a=o(g.init))&&r.unshift(a)}else(a=o(g))&&("field"===l?r.unshift(a):d[u]=a)}c&&Object.defineProperty(c,i.name,d),h=!0},_$=function(e,t,n){for(var i=arguments.length>2,r=0;r{var e,t,n,i,r,s,o,a,l,u,c;let d,h,p,f,m,g,_,y,v,b,T,x,E,w=[d$()],I=[],A=[],S=[],C=[],O=[],M=[],k=[],R=[],N=[],D=[],F=[],L=[],P=[],B=[],$=[],U=[],V=[],z=[],j=[],Y=[],G=[],H=[],W=[];var X=h=class{constructor(e){if(this.data=_$(this,A,void 0),this.size=(_$(this,S),_$(this,C,void 0)),this.mode=(_$(this,O),_$(this,M,void 0)),this.nlink=(_$(this,k),_$(this,R,void 0)),this.uid=(_$(this,N),_$(this,D,void 0)),this.gid=(_$(this,F),_$(this,L,void 0)),this.atimeMs=(_$(this,P),_$(this,B,void 0)),this.birthtimeMs=(_$(this,$),_$(this,U,void 0)),this.mtimeMs=(_$(this,V),_$(this,z,void 0)),this.ctimeMs=(_$(this,j),_$(this,Y,void 0)),this.ino=(_$(this,G),_$(this,H,void 0)),_$(this,W),e){const t=u$(X),n=t-u$("uint64");if(e.byteLength{const q="function"==typeof Symbol&&Symbol.metadata?Object.create(null):void 0;p=[(e=m$).uint64.bind(e)],f=[(t=m$).uint32.bind(t)],m=[(n=m$).uint16.bind(n)],g=[(i=m$).uint32.bind(i)],_=[(r=m$).uint32.bind(r)],y=[(s=m$).uint32.bind(s)],v=[(o=m$).float64.bind(o)],b=[(a=m$).float64.bind(a)],T=[(l=m$).float64.bind(l)],x=[(u=m$).float64.bind(u)],E=[(c=m$).uint64.bind(c)],g$(null,null,p,{kind:"field",name:"data",static:!1,private:!1,access:{has:e=>"data"in e,get:e=>e.data,set:(e,t)=>{e.data=t}},metadata:q},A,S),g$(null,null,f,{kind:"field",name:"size",static:!1,private:!1,access:{has:e=>"size"in e,get:e=>e.size,set:(e,t)=>{e.size=t}},metadata:q},C,O),g$(null,null,m,{kind:"field",name:"mode",static:!1,private:!1,access:{has:e=>"mode"in e,get:e=>e.mode,set:(e,t)=>{e.mode=t}},metadata:q},M,k),g$(null,null,g,{kind:"field",name:"nlink",static:!1,private:!1,access:{has:e=>"nlink"in e,get:e=>e.nlink,set:(e,t)=>{e.nlink=t}},metadata:q},R,N),g$(null,null,_,{kind:"field",name:"uid",static:!1,private:!1,access:{has:e=>"uid"in e,get:e=>e.uid,set:(e,t)=>{e.uid=t}},metadata:q},D,F),g$(null,null,y,{kind:"field",name:"gid",static:!1,private:!1,access:{has:e=>"gid"in e,get:e=>e.gid,set:(e,t)=>{e.gid=t}},metadata:q},L,P),g$(null,null,v,{kind:"field",name:"atimeMs",static:!1,private:!1,access:{has:e=>"atimeMs"in e,get:e=>e.atimeMs,set:(e,t)=>{e.atimeMs=t}},metadata:q},B,$),g$(null,null,b,{kind:"field",name:"birthtimeMs",static:!1,private:!1,access:{has:e=>"birthtimeMs"in e,get:e=>e.birthtimeMs,set:(e,t)=>{e.birthtimeMs=t}},metadata:q},U,V),g$(null,null,T,{kind:"field",name:"mtimeMs",static:!1,private:!1,access:{has:e=>"mtimeMs"in e,get:e=>e.mtimeMs,set:(e,t)=>{e.mtimeMs=t}},metadata:q},z,j),g$(null,null,x,{kind:"field",name:"ctimeMs",static:!1,private:!1,access:{has:e=>"ctimeMs"in e,get:e=>e.ctimeMs,set:(e,t)=>{e.ctimeMs=t}},metadata:q},Y,G),g$(null,null,E,{kind:"field",name:"ino",static:!1,private:!1,access:{has:e=>"ino"in e,get:e=>e.ino,set:(e,t)=>{e.ino=t}},metadata:q},H,W),g$(null,d={value:h},w,{kind:"class",name:h.name,metadata:q},null,I),X=h=d.value,q&&Object.defineProperty(h,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:q}),_$(h,I)})(),X=h})();var b$=function(e,t,n){if(null!=t){if("object"!=typeof t&&"function"!=typeof t)throw new TypeError("Object expected.");var i,r;if(n){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");i=t[Symbol.asyncDispose]}if(void 0===i){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");i=t[Symbol.dispose],n&&(r=i)}if("function"!=typeof i)throw new TypeError("Object not disposable.");r&&(i=function(){try{r.call(this)}catch(e){return Promise.reject(e)}}),e.stack.push({value:t,dispose:i,async:n})}else n&&e.stack.push({async:!0});return t},T$=function(e){return function(t){function n(n){t.error=t.hasError?new e(n,t.error,"An error was suppressed during disposal."):n,t.hasError=!0}return function e(){for(;t.stack.length;){var i=t.stack.pop();try{var r=i.dispose&&i.dispose.call(i.value);if(i.async)return Promise.resolve(r).then(e,function(t){return n(t),e()})}catch(e){n(e)}}if(t.hasError)throw t.error}()}}("function"==typeof SuppressedError?SuppressedError:function(e,t,n){var i=new Error(n);return i.name="SuppressedError",i.error=e,i.suppressed=t,i});class x$ extends XB{async ready(){this._initialized||(await this.checkRoot(),this._initialized=!0)}constructor(e){super(),this.store=e,this._initialized=!1}metadata(){return{...super.metadata(),name:this.store.name}}async empty(){await this.store.clear(),await this.checkRoot()}emptySync(){this.store.clearSync(),this.checkRootSync()}async rename(e,t){const n={stack:[],error:void 0,hasError:!1};try{const i=b$(n,this.store.transaction(),!0),r=EP(e),s=EP(t),o=await this.findInode(i,r.dir,"rename"),a=CP(await this.get(i,o.data,r.dir,"rename"));if(!a[r.base])throw gP.With("ENOENT",e,"rename");const l=a[r.base];if(delete a[r.base],0===(s.dir+"/").indexOf(e+"/"))throw new gP(fP.EBUSY,r.dir);const u=s.dir==r.dir,c=u?o:await this.findInode(i,s.dir,"rename"),d=u?a:CP(await this.get(i,c.data,s.dir,"rename"));if(d[s.base]){const e=new v$(await this.get(i,d[s.base],t,"rename"));if(!e.toStats().isFile())throw gP.With("EPERM",t,"rename");await i.remove(e.data),await i.remove(d[s.base])}d[s.base]=l,await i.set(o.data,OP(a)),await i.set(c.data,OP(d)),await i.commit()}catch(e){n.error=e,n.hasError=!0}finally{const e=T$(n);e&&await e}}renameSync(e,t){const n={stack:[],error:void 0,hasError:!1};try{const i=b$(n,this.store.transaction(),!1),r=EP(e),s=EP(t),o=this.findInodeSync(i,r.dir,"rename"),a=CP(this.getSync(i,o.data,r.dir,"rename"));if(!a[r.base])throw gP.With("ENOENT",e,"rename");const l=a[r.base];if(delete a[r.base],0==(s.dir+"/").indexOf(e+"/"))throw new gP(fP.EBUSY,r.dir);const u=s.dir===r.dir,c=u?o:this.findInodeSync(i,s.dir,"rename"),d=u?a:CP(this.getSync(i,c.data,s.dir,"rename"));if(d[s.base]){const e=new v$(this.getSync(i,d[s.base],t,"rename"));if(!e.toStats().isFile())throw gP.With("EPERM",t,"rename");i.removeSync(e.data),i.removeSync(d[s.base])}d[s.base]=l,i.setSync(o.data,OP(a)),i.setSync(c.data,OP(d)),i.commitSync()}catch(e){n.error=e,n.hasError=!0}finally{T$(n)}}async stat(e){const t={stack:[],error:void 0,hasError:!1};try{const n=b$(t,this.store.transaction(),!0);return(await this.findInode(n,e,"stat")).toStats()}catch(e){t.error=e,t.hasError=!0}finally{const e=T$(t);e&&await e}}statSync(e){const t={stack:[],error:void 0,hasError:!1};try{const n=b$(t,this.store.transaction(),!1);return this.findInodeSync(n,e,"stat").toStats()}catch(e){t.error=e,t.hasError=!0}finally{T$(t)}}async createFile(e,t,n){const i=await this.commitNew(e,uB,n,new Uint8Array,"createFile");return new WB(this,e,t,i.toStats(),new Uint8Array)}createFileSync(e,t,n){const i=this.commitNewSync(e,uB,n,new Uint8Array,"createFile");return new WB(this,e,t,i.toStats(),new Uint8Array)}async openFile(e,t){const n={stack:[],error:void 0,hasError:!1};try{const i=b$(n,this.store.transaction(),!0),r=await this.findInode(i,e,"openFile"),s=await this.get(i,r.data,e,"openFile");return new WB(this,e,t,r.toStats(),s)}catch(e){n.error=e,n.hasError=!0}finally{const e=T$(n);e&&await e}}openFileSync(e,t){const n={stack:[],error:void 0,hasError:!1};try{const i=b$(n,this.store.transaction(),!1),r=this.findInodeSync(i,e,"openFile"),s=this.getSync(i,r.data,e,"openFile");return new WB(this,e,t,r.toStats(),s)}catch(e){n.error=e,n.hasError=!0}finally{T$(n)}}async unlink(e){return this.remove(e,!1,"unlink")}unlinkSync(e){this.removeSync(e,!1,"unlink")}async rmdir(e){if((await this.readdir(e)).length)throw gP.With("ENOTEMPTY",e,"rmdir");await this.remove(e,!0,"rmdir")}rmdirSync(e){if(this.readdirSync(e).length)throw gP.With("ENOTEMPTY",e,"rmdir");this.removeSync(e,!0,"rmdir")}async mkdir(e,t){await this.commitNew(e,dB,t,IP("{}"),"mkdir")}mkdirSync(e,t){this.commitNewSync(e,dB,t,IP("{}"),"mkdir")}async readdir(e){const t={stack:[],error:void 0,hasError:!1};try{const n=b$(t,this.store.transaction(),!0),i=await this.findInode(n,e,"readdir");return Object.keys(CP(await this.get(n,i.data,e,"readdir")))}catch(e){t.error=e,t.hasError=!0}finally{const e=T$(t);e&&await e}}readdirSync(e){const t={stack:[],error:void 0,hasError:!1};try{const n=b$(t,this.store.transaction(),!1),i=this.findInodeSync(n,e,"readdir");return Object.keys(CP(this.getSync(n,i.data,e,"readdir")))}catch(e){t.error=e,t.hasError=!0}finally{T$(t)}}async sync(e,t,n){const i={stack:[],error:void 0,hasError:!1};try{const r=b$(i,this.store.transaction(),!0),s=await this._findInode(r,e,"sync"),o=new v$(await this.get(r,s,e,"sync")),a=o.update(n);await r.set(o.data,t),a&&await r.set(s,p$(o)),await r.commit()}catch(e){i.error=e,i.hasError=!0}finally{const e=T$(i);e&&await e}}syncSync(e,t,n){const i={stack:[],error:void 0,hasError:!1};try{const r=b$(i,this.store.transaction(),!1),s=this._findInodeSync(r,e,"sync"),o=new v$(this.getSync(r,s,e,"sync")),a=o.update(n);r.setSync(o.data,t),a&&r.setSync(s,p$(o)),r.commitSync()}catch(e){i.error=e,i.hasError=!0}finally{T$(i)}}async link(e,t){const n={stack:[],error:void 0,hasError:!1};try{const i=b$(n,this.store.transaction(),!0),r=TP(t),s=await this.findInode(i,r,"link"),o=CP(await this.get(i,s.data,r,"link")),a=await this._findInode(i,e,"link"),l=new v$(await this.get(i,a,e,"link"));l.nlink++,o[xP(t)]=a,i.setSync(a,p$(l)),i.setSync(s.data,OP(o)),i.commitSync()}catch(e){n.error=e,n.hasError=!0}finally{const e=T$(n);e&&await e}}linkSync(e,t){const n={stack:[],error:void 0,hasError:!1};try{const i=b$(n,this.store.transaction(),!1),r=TP(t),s=this.findInodeSync(i,r,"link"),o=CP(this.getSync(i,s.data,r,"link")),a=this._findInodeSync(i,e,"link"),l=new v$(this.getSync(i,a,e,"link"));l.nlink++,o[xP(t)]=a,i.setSync(a,p$(l)),i.setSync(s.data,OP(o)),i.commitSync()}catch(e){n.error=e,n.hasError=!0}finally{T$(n)}}async checkRoot(){const e={stack:[],error:void 0,hasError:!1};try{const t=b$(e,this.store.transaction(),!0);if(await t.get(0n))return;const n=new v$;n.ino=0n,n.mode=511|dB,await t.set(n.data,IP("{}")),await t.set(0n,p$(n)),await t.commit()}catch(t){e.error=t,e.hasError=!0}finally{const t=T$(e);t&&await t}}checkRootSync(){const e={stack:[],error:void 0,hasError:!1};try{const t=b$(e,this.store.transaction(),!1);if(t.getSync(0n))return;const n=new v$;n.ino=0n,n.mode=511|dB,t.setSync(n.data,IP("{}")),t.setSync(0n,p$(n)),t.commitSync()}catch(t){e.error=t,e.hasError=!0}finally{T$(e)}}async _findInode(e,t,n,i=new Set){if(i.has(t))throw new gP(fP.EIO,"Infinite loop detected while finding inode",t);if(i.add(t),"/"==t)return 0n;const{dir:r,base:s}=EP(t),o="/"==r?new v$(await this.get(e,0n,r,n)):await this.findInode(e,r,n,i),a=CP(await this.get(e,o.data,r,n));if(!(s in a))throw gP.With("ENOENT",vP(r,s),n);return a[s]}_findInodeSync(e,t,n,i=new Set){if(i.has(t))throw new gP(fP.EIO,"Infinite loop detected while finding inode",t);if(i.add(t),"/"==t)return 0n;const{dir:r,base:s}=EP(t),o="/"==r?new v$(this.getSync(e,0n,r,n)):this.findInodeSync(e,r,n,i),a=CP(this.getSync(e,o.data,r,n));if(!(s in a))throw gP.With("ENOENT",vP(r,s),n);return a[s]}async findInode(e,t,n,i=new Set){const r=await this._findInode(e,t,n,i);return new v$(await this.get(e,r,t,n))}findInodeSync(e,t,n,i=new Set){const r=this._findInodeSync(e,t,n,i);return new v$(this.getSync(e,r,t,n))}async get(e,t,n,i){const r=await e.get(t);if(!r)throw gP.With("ENOENT",n,i);return r}getSync(e,t,n,i){const r=e.getSync(t);if(!r)throw gP.With("ENOENT",n,i);return r}async allocNew(e,t,n){for(let t=0;t<5;t++){const t=DP();if(!await e.get(t))return t}throw new gP(fP.ENOSPC,"No IDs available",t,n)}allocNewSync(e,t,n){for(let t=0;t<5;t++){const t=DP();if(!e.getSync(t))return t}throw new gP(fP.ENOSPC,"No IDs available",t,n)}async commitNew(e,t,n,i,r){const s={stack:[],error:void 0,hasError:!1};try{if("/"==e)throw gP.With("EEXIST",e,r);const o=b$(s,this.store.transaction(),!0),{dir:a,base:l}=EP(e),u=await this.findInode(o,a,r),c=CP(await this.get(o,u.data,a,r));if(c[l])throw gP.With("EEXIST",e,r);const d=new v$;return d.ino=await this.allocNew(o,e,r),d.data=await this.allocNew(o,e,r),d.mode=n|t,d.uid=u.mode&fB?u.uid:FP.uid,d.gid=u.mode&mB?u.gid:FP.gid,d.size=i.length,await o.set(d.ino,p$(d)),await o.set(d.data,i),c[l]=d.ino,await o.set(u.data,OP(c)),await o.commit(),d}catch(e){s.error=e,s.hasError=!0}finally{const e=T$(s);e&&await e}}commitNewSync(e,t,n,i,r){const s={stack:[],error:void 0,hasError:!1};try{if("/"==e)throw gP.With("EEXIST",e,r);const o=b$(s,this.store.transaction(),!1),{dir:a,base:l}=EP(e),u=this.findInodeSync(o,a,r),c=CP(this.getSync(o,u.data,a,r));if(c[l])throw gP.With("EEXIST",e,r);const d=new v$;return d.ino=this.allocNewSync(o,e,r),d.data=this.allocNewSync(o,e,r),d.size=i.length,d.mode=n|t,d.uid=u.mode&fB?u.uid:FP.uid,d.gid=u.mode&mB?u.gid:FP.gid,o.setSync(d.ino,p$(d)),o.setSync(d.data,i),c[l]=d.ino,o.setSync(u.data,OP(c)),o.commitSync(),d}catch(e){s.error=e,s.hasError=!0}finally{T$(s)}}async remove(e,t,n){const i={stack:[],error:void 0,hasError:!1};try{const r=b$(i,this.store.transaction(),!0),{dir:s,base:o}=EP(e),a=await this.findInode(r,s,n),l=CP(await this.get(r,a.data,s,n));if(!l[o])throw gP.With("ENOENT",e,"remove");const u=l[o],c=new v$(await this.get(r,u,e,n));if(delete l[o],!t&&c.toStats().isDirectory())throw gP.With("EISDIR",e,"remove");await r.set(a.data,OP(l)),--c.nlink<1&&(await r.remove(c.data),await r.remove(u)),await r.commit()}catch(e){i.error=e,i.hasError=!0}finally{const e=T$(i);e&&await e}}removeSync(e,t,n){const i={stack:[],error:void 0,hasError:!1};try{const r=b$(i,this.store.transaction(),!1),{dir:s,base:o}=EP(e),a=this.findInodeSync(r,s,n),l=CP(this.getSync(r,a.data,s,n)),u=l[o];if(!u)throw gP.With("ENOENT",e,"remove");const c=new v$(this.getSync(r,u,e,n));if(delete l[o],!t&&c.toStats().isDirectory())throw gP.With("EISDIR",e,"remove");r.setSync(a.data,OP(l)),--c.nlink<1&&(r.removeSync(c.data),r.removeSync(u)),r.commitSync()}catch(e){i.error=e,i.hasError=!0}finally{T$(i)}}}class E${constructor(e){this.store=e,this.done=!1}async[Symbol.asyncDispose](){this.done||await this.abort()}[Symbol.dispose](){this.done||this.abortSync()}}class w$ extends E${async keys(){return this.keysSync()}async get(e){return this.getSync(e)}async set(e,t){return this.setSync(e,t)}async remove(e){return this.removeSync(e)}async commit(){return this.commitSync()}async abort(){return this.abortSync()}}class I$ extends w${constructor(){super(...arguments),this.originalData=new Map,this.modifiedKeys=new Set}keysSync(){return this.store.keys()}getSync(e){const t=this.store.get(e);return this.stashOldValue(e,t),t}setSync(e,t){return this.markModified(e),this.store.set(e,t)}removeSync(e){this.markModified(e),this.store.delete(e)}commitSync(){this.done=!0}abortSync(){if(this.done){for(const e of this.modifiedKeys){const t=this.originalData.get(e);t?this.store.set(e,t):this.store.delete(e)}this.done=!0}}stashOldValue(e,t){this.originalData.has(e)||this.originalData.set(e,t)}markModified(e){this.modifiedKeys.add(e),this.originalData.has(e)||this.originalData.set(e,this.store.get(e))}}class A$ extends Map{constructor(e="tmp"){super(),this.name=e}async sync(){}clearSync(){this.clear()}transaction(){return new I$(this)}}const S$={name:"InMemory",isAvailable:()=>!0,options:{name:{type:"string",required:!1}},create({name:e}){const t=new x$(new A$(e));return t.checkRootSync(),t}},C$=S$;"function"==typeof SuppressedError&&SuppressedError;class O${constructor(){this.isEnabled=!1,this.sync=new Map,this.async=new Map}has(e){return this.isEnabled&&this.sync.has(e)}get(e){if(this.isEnabled)return this.sync.get(e)}set(e,t){this.isEnabled&&(this.sync.set(e,t),this.async.set(e,Promise.resolve(t)))}hasAsync(e){return this.isEnabled&&this.async.has(e)}getAsync(e){if(this.isEnabled)return this.async.get(e)}setAsync(e,t){this.isEnabled&&(this.async.set(e,t),t.then(t=>this.sync.set(e,t)))}clear(){this.isEnabled&&(this.sync.clear(),this.async.clear())}}const M$=new O$,k$=new O$;var R$=__webpack_require__(48287);function N$(e,t){return Object.fromEntries(Object.entries(e).map(([e,n])=>[e,"function"==typeof n?n.bind(t):n]))}const D$=new Map;let F$=100;function L$(e){const t=F$++;return D$.set(t,e),t}function P$(e){if(!D$.has(e))throw new gP(fP.EBADF);return D$.get(e)}const B$=new Map;function $$(e,t){if("/"!==e[0]&&(e="/"+e),e=vP(e),B$.has(e))throw new gP(fP.EINVAL,"Mount point "+e+" is already in use.");B$.set(e,t),k$.clear()}function U$(e){if("/"!==e[0]&&(e="/"+e),e=vP(e),!B$.has(e))throw new gP(fP.EINVAL,"Mount point "+e+" is already unmounted.");B$.delete(e),k$.clear()}function V$(e,t){const n=t?.root||"/";e=RP(bP(n,e));const i=[...B$].sort((e,t)=>e[0].length>t[0].length?-1:1);for(const[t,r]of i)if(t.length<=e.length&&e.startsWith(t))return""===(e=e.slice(t.length>1?t.length:0))&&(e=n),{fs:r,path:e,mountPoint:t,root:n};throw new gP(fP.EIO,"No file system")}async function z$(){await Promise.all([...B$.values()].map(e=>e.ready()))}function j$(e,t){for(const[n,i]of Object.entries(t))e=e?.replaceAll(n,i);return e}function Y$(e,t){"string"==typeof e.stack&&(e.stack=j$(e.stack,t));try{e.message=j$(e.message,t)}catch{}return e.path&&(e.path=j$(e.path,t)),e}function G$(e){"/"in e&&U$("/");for(const[t,n]of Object.entries(e))$$(t,n)}function H$(e,t){const n=e.metadata(),i=n.blockSize||4096;return{type:(t?BigInt:Number)(n.type),bsize:(t?BigInt:Number)(i),ffree:(t?BigInt:Number)(n.freeNodes||MB),files:(t?BigInt:Number)(n.totalNodes||MB),bavail:(t?BigInt:Number)(n.freeSpace/i),bfree:(t?BigInt:Number)(n.freeSpace/i),blocks:(t?BigInt:Number)(n.totalSpace/i)}}function W$(e,t){const n=this?.credentials;if(n?.uid&&n?.gid&&n?.euid&&n?.egid)throw new gP(fP.EPERM,"Can not chroot() as non-root user");return t&&this?(this.root+=e,this):function(e,t=structuredClone(FP)){const n={root:e,credentials:LP(t)},i=N$(ue,n),r=N$(le,n);return{...n,...i,promises:r}}(bP(this?.root||"/",e),n)}$$("/",C$.create({name:"root"}));class X$ extends qB{off(e,t,n,i){return super.off(e,t,n,i)}removeListener(e,t,n,i){return super.removeListener(e,t,n,i)}constructor(e){super(),this.path=e}setMaxListeners(){throw gP.With("ENOSYS",this.path,"Watcher.setMaxListeners")}getMaxListeners(){throw gP.With("ENOSYS",this.path,"Watcher.getMaxListeners")}prependListener(){throw gP.With("ENOSYS",this.path,"Watcher.prependListener")}prependOnceListener(){throw gP.With("ENOSYS",this.path,"Watcher.prependOnceListener")}rawListeners(){throw gP.With("ENOSYS",this.path,"Watcher.rawListeners")}ref(){return this}unref(){return this}}class q$ extends X${constructor(e,t){super(e),this.options=t,function(e,t){const n=RP(e);Z$.has(n)||Z$.set(n,new Set);Z$.get(n).add(t)}(e.toString(),this)}close(){super.emit("close"),function(e,t){const n=RP(e);Z$.has(n)&&(Z$.get(n).delete(t),0===Z$.get(n).size&&Z$.delete(n))}(this.path.toString(),this)}[Symbol.dispose](){this.close()}}class K$ extends X${constructor(e,t){super(e),this.options=t,this.start()}onInterval(){try{const n=iU(this.path);e=this.previous,t=n,(e.size!=t.size||+e.atime!=+t.atime||+e.mtime!=+t.mtime||+e.ctime!=+t.ctime||e.mode!=t.mode)&&(this.emit("change",n,this.previous),this.previous=n)}catch(e){this.emit("error",e)}var e,t}start(){const e=this.options.interval||5e3;try{this.previous=iU(this.path)}catch(e){return void this.emit("error",e)}this.intervalId=setInterval(this.onInterval.bind(this),e),this.options.persistent||"object"!=typeof this.intervalId||this.intervalId.unref()}stop(){this.intervalId&&(clearInterval(this.intervalId),this.intervalId=void 0),this.removeAllListeners()}}const Z$=new Map;function Q$(e,t){if(t=RP(t),Z$.has(t))for(const n of Z$.get(t))n.emit("change",e,xP(t));let n,i=t;for(;i!==n;)if(n=i,i=TP(i),Z$.has(i))for(const n of Z$.get(i))n.emit("change",e,t.slice(i.length+("/"==i?0:1)))}var J$=function(e,t,n){if(null!=t){if("object"!=typeof t&&"function"!=typeof t)throw new TypeError("Object expected.");var i,r;if(n){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");i=t[Symbol.asyncDispose]}if(void 0===i){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");i=t[Symbol.dispose],n&&(r=i)}if("function"!=typeof i)throw new TypeError("Object not disposable.");r&&(i=function(){try{r.call(this)}catch(e){return Promise.reject(e)}}),e.stack.push({value:t,dispose:i,async:n})}else n&&e.stack.push({async:!0});return t},eU=function(e){return function(t){function n(n){t.error=t.hasError?new e(n,t.error,"An error was suppressed during disposal."):n,t.hasError=!0}return function e(){for(;t.stack.length;){var i=t.stack.pop();try{var r=i.dispose&&i.dispose.call(i.value);if(i.async)return Promise.resolve(r).then(e,function(t){return n(t),e()})}catch(e){n(e)}}if(t.hasError)throw t.error}()}}("function"==typeof SuppressedError?SuppressedError:function(e,t,n){var i=new Error(n);return i.name="SuppressedError",i.error=e,i.suppressed=t,i});function tU(e,t){e=RP(e),t=RP(t);const n=V$(e,this),i=V$(t,this);if(kB.checkAccess&&!iU.call(this,TP(e)).hasAccess($P,this))throw gP.With("EACCES",e,"rename");try{if(n===i)return n.fs.renameSync(n.path,i.path),Q$("rename",e.toString()),void Q$("change",t.toString());hU.call(this,t,dU(e)),oU.call(this,e),Q$("rename",e.toString())}catch(r){throw Y$(r,{[n.path]:e,[i.path]:t})}}function nU(e){e=RP(e);try{const{fs:t,path:n}=V$(LU.call(this,e),this);return t.existsSync(n)}catch(e){if(e.errno==fP.ENOENT)return!1;throw e}}function iU(e,t){e=RP(e);const{fs:n,path:i}=V$(LU.call(this,e),this);try{const e=n.statSync(i);if(kB.checkAccess&&!e.hasAccess(BP,this))throw gP.With("EACCES",i,"stat");return t?.bigint?new FB(e):e}catch(t){throw Y$(t,{[i]:e})}}function rU(e,t){e=RP(e);const{fs:n,path:i}=V$(e,this);try{const e=n.statSync(i);return t?.bigint?new FB(e):e}catch(t){throw Y$(t,{[i]:e})}}function sU(e,t=0){const n={stack:[],error:void 0,hasError:!1};try{const i=J$(n,aU.call(this,e,"r+"),!1);if(t||(t=0),t<0)throw new gP(fP.EINVAL);i.truncateSync(t)}catch(e){n.error=e,n.hasError=!0}finally{eU(n)}}function oU(e){e=RP(e);const{fs:t,path:n}=V$(e,this);try{if(kB.checkAccess&&!(M$.get(e)||t.statSync(n)).hasAccess($P,this))throw gP.With("EACCES",n,"unlink");t.unlinkSync(n),Q$("rename",e.toString())}catch(t){throw Y$(t,{[n]:e})}}function aU(e,t,n,i=!0){e=RP(e);const r=MP(n,420),s=$B(t);e=i?LU.call(this,e):e;const{fs:o,path:a}=V$(e,this);let l;try{l=o.statSync(a)}catch{}if(!l){if(!zB(s)&&!YB(s)||"r+"==s)throw gP.With("ENOENT",e,"_open");const t=o.statSync(TP(a));if(kB.checkAccess&&!t.hasAccess($P,this))throw gP.With("EACCES",TP(e),"_open");if(!t.isDirectory())throw gP.With("ENOTDIR",TP(e),"_open");return o.createFileSync(a,s,r)}if(kB.checkAccess&&(!l.hasAccess(r,this)||!l.hasAccess(UB(s),this)))throw gP.With("EACCES",e,"_open");if(GB(s))throw gP.With("EEXIST",e,"_open");const u=o.openFileSync(a,s);return jB(s)&&u.truncateSync(0),u}function lU(e,t,n=PP){return L$(aU.call(this,e,t,n,!0))}function uU(e,t,n){return L$(aU.call(this,e,t,n,!1))}function cU(e,t,n){const i={stack:[],error:void 0,hasError:!1};try{const r=J$(i,aU.call(this,e,t,420,n),!1),s=r.statSync(),o=new Uint8Array(s.size);return r.readSync(o,0,s.size,0),o}catch(e){i.error=e,i.hasError=!0}finally{eU(i)}}function dU(e,t={}){const n=NP(t,null,"r",420);if(!VB($B(n.flag)))throw new gP(fP.EINVAL,"Flag passed to readFile must allow for reading.");const i=R$.Buffer.from(cU.call(this,"number"==typeof e?P$(e).path:e.toString(),n.flag,!0));return n.encoding?i.toString(n.encoding):i}function hU(e,t,n={}){const i={stack:[],error:void 0,hasError:!1};try{const r=NP(n,"utf8","w+",420),s=$B(r.flag);if(!zB(s))throw new gP(fP.EINVAL,"Flag passed to writeFile must allow for writing.");if("string"!=typeof t&&!r.encoding)throw new gP(fP.EINVAL,"Encoding not specified");const o="string"==typeof t?R$.Buffer.from(t,r.encoding):new Uint8Array(t.buffer,t.byteOffset,t.byteLength);if(!o)throw new gP(fP.EINVAL,"Data not specified");J$(i,aU.call(this,"number"==typeof e?P$(e).path:e.toString(),s,r.mode,!0),!1).writeSync(o,0,o.byteLength,0),Q$("change",e.toString())}catch(e){i.error=e,i.hasError=!0}finally{eU(i)}}function pU(e,t,n={}){const i={stack:[],error:void 0,hasError:!1};try{const r=NP(n,"utf8","a+",420),s=$B(r.flag);if(!YB(s))throw new gP(fP.EINVAL,"Flag passed to appendFile must allow for appending.");if("string"!=typeof t&&!r.encoding)throw new gP(fP.EINVAL,"Encoding not specified");const o="string"==typeof t?R$.Buffer.from(t,r.encoding):new Uint8Array(t.buffer,t.byteOffset,t.byteLength);J$(i,aU.call(this,"number"==typeof e?P$(e).path:e.toString(),s,r.mode,!0),!1).writeSync(o,0,o.byteLength)}catch(e){i.error=e,i.hasError=!0}finally{eU(i)}}function fU(e,t){const n=P$(e).statSync();return t?.bigint?new FB(n):n}function mU(e){P$(e).closeSync(),D$.delete(e)}function gU(e,t=0){if(t||(t=0),t<0)throw new gP(fP.EINVAL);P$(e).truncateSync(t)}function _U(e){P$(e).syncSync()}function yU(e){P$(e).datasyncSync()}function vU(e,t,n,i,r){let s,o,a,l;if("string"==typeof t){l="number"==typeof n?n:null;const e="string"==typeof i?i:"utf8";o=0,s=R$.Buffer.from(t,e),a=s.byteLength}else s=new Uint8Array(t.buffer,t.byteOffset,t.byteLength),o=n,a=i,l="number"==typeof r?r:null;const u=P$(e);l??(l=u.position);const c=u.writeSync(s,o,a,l);return Q$("change",u.path),c}function bU(e,t,n,i,r){const s=P$(e),o="object"==typeof n?n.offset:n;return"object"==typeof n&&(i=n.length,r=n.position),r=Number(r),isNaN(r)&&(r=s.position),s.readSync(t,o,i,r)}function TU(e,t,n){P$(e).chownSync(t,n)}function xU(e,t){const n=MP(t,-1);if(n<0)throw new gP(fP.EINVAL,"Invalid mode.");P$(e).chmodSync(n)}function EU(e,t,n){P$(e).utimesSync(kP(t),kP(n))}function wU(e){e=RP(e);const{fs:t,path:n}=V$(LU.call(this,e),this);try{const i=M$.get(e)||t.statSync(n);if(!i.isDirectory())throw gP.With("ENOTDIR",n,"rmdir");if(kB.checkAccess&&!i.hasAccess($P,this))throw gP.With("EACCES",n,"rmdir");t.rmdirSync(n),Q$("rename",e.toString())}catch(t){throw Y$(t,{[n]:e})}}function IU(e,t){t="object"==typeof t?t:{mode:t};const n=MP(t?.mode,511);e=LU.call(this,e);const{fs:i,path:r,root:s}=V$(e,this),o={[r]:e};try{if(!t?.recursive){if(kB.checkAccess&&!i.statSync(TP(r)).hasAccess($P,this))throw gP.With("EACCES",TP(r),"mkdir");return i.mkdirSync(r,n)}const a=[];for(let t=r,n=e;!i.existsSync(t);t=TP(t),n=TP(n))a.unshift(t),o[t]=n;for(const e of a){if(kB.checkAccess&&!i.statSync(TP(e)).hasAccess($P,this))throw gP.With("EACCES",TP(e),"mkdir");i.mkdirSync(e,n),Q$("rename",e)}return 1==s.length?a[0]:a[0]?.slice(s.length)}catch(e){throw Y$(e,o)}}function AU(e,t){t="object"==typeof t?t:{encoding:t},e=RP(e);const{fs:n,path:i}=V$(LU.call(this,e),this);let r;try{const t=M$.get(e)||n.statSync(i);if(M$.set(e,t),kB.checkAccess&&!t.hasAccess(BP,this))throw gP.With("EACCES",i,"readdir");if(!t.isDirectory())throw gP.With("ENOTDIR",i,"readdir");r=n.readdirSync(i)}catch(t){throw Y$(t,{[i]:e})}const s=[];for(const o of r){const r=M$.get(bP(e,o))||n.statSync(bP(i,o));if(M$.set(bP(e,o),r),t?.withFileTypes?s.push(new HU(o,r)):"buffer"==t?.encoding?s.push(R$.Buffer.from(o)):s.push(o),r.isDirectory()&&t?.recursive)for(const n of AU.call(this,bP(e,o),{...t,_isIndirect:!0}))n instanceof HU?(n.path=bP(o,n.path),s.push(n)):R$.Buffer.isBuffer(n)?s.push(R$.Buffer.from(bP(o,SP(n)))):s.push(bP(o,n))}return t?._isIndirect||M$.clear(),s}function SU(e,t){if(e=RP(e),kB.checkAccess&&!iU(TP(e)).hasAccess(BP,this))throw gP.With("EACCES",TP(e),"link");if(t=RP(t),kB.checkAccess&&!iU(TP(t)).hasAccess($P,this))throw gP.With("EACCES",TP(t),"link");const{fs:n,path:i}=V$(e,this),r=V$(t,this);if(n!=r.fs)throw gP.With("EXDEV",t,"link");try{if(kB.checkAccess&&!n.statSync(i).hasAccess(BP,this))throw gP.With("EACCES",i,"link");return n.linkSync(i,t)}catch(n){throw Y$(n,{[i]:e,[r.path]:t})}}function CU(e,t,n="file"){if(!["file","dir","junction"].includes(n))throw new gP(fP.EINVAL,"Invalid type: "+n);if(nU.call(this,t))throw gP.With("EEXIST",t.toString(),"symlink");hU.call(this,t,e.toString());aU.call(this,t,"r+",420,!1).chmodSync(lB)}function OU(e,t){const n=R$.Buffer.from(cU.call(this,e.toString(),"r",!1)),i="object"==typeof t?t?.encoding:t;return"buffer"==i?n:n.toString(i)}function MU(e,t,n){const i=lU.call(this,e,"r+");TU(i,t,n),mU(i)}function kU(e,t,n){const i=uU.call(this,e,"r+");TU(i,t,n),mU(i)}function RU(e,t){const n=lU.call(this,e,"r+");xU(n,t),mU(n)}function NU(e,t){const n=uU.call(this,e,"r+");xU(n,t),mU(n)}function DU(e,t,n){const i=lU.call(this,e,"r+");EU(i,t,n),mU(i)}function FU(e,t,n){const i=uU.call(this,e,"r+");EU(i,t,n),mU(i)}function LU(e,t){e=RP(e);const n=(this?.root||"")+e;if(k$.has(n))return k$.get(n);const{base:i,dir:r}=EP(e),s="/"==r?"/":k$.get((this?.root||"")+r)||LU.call(this,r),o=bP(s,i),{fs:a,path:l}=V$(o,this);try{const i=M$.get(o)||a.statSync(l);if(M$.set(o,i),!i.isSymbolicLink())return k$.set(e,o),o;const r=vP(s,OU.call(this,o,t).toString()),u=k$.get((this?.root||"")+r)||LU.call(this,r);return k$.set(n,u),u}catch(t){if("ENOENT"==t.code)return e;throw Y$(t,{[l]:o})}}function PU(e,t=384){if(kB.checkAccess&&!iU.call(this,e).hasAccess(t,this))throw new gP(fP.EACCES)}function BU(e,t){let n;e=RP(e);try{n=M$.get(e)||rU.bind(this)(e)}catch(e){if("ENOENT"!=e.code||!t?.force)throw e}if(n){switch(M$.set(e,n),n.mode&oB){case dB:if(t?.recursive)for(const n of AU.call(this,e,{_isIndirect:!0}))BU.call(this,bP(e,n),{...t,_isIndirect:!0});wU.call(this,e);break;case uB:case lB:case cB:case hB:oU.call(this,e);break;default:throw M$.clear(),new gP(fP.EPERM,"File type not supported",e,"rm")}t?._isIndirect||M$.clear()}}function $U(e,t){const n="object"==typeof t?t?.encoding:t||"utf8",i="/tmp/"+`${e}${Date.now()}-${Math.random().toString(36).slice(2)}`;return IU.call(this,i),"buffer"==n?R$.Buffer.from(i):i}function UU(e,t,n){if(e=RP(e),t=RP(t),n&&n&VP&&nU(t))throw new gP(fP.EEXIST,"Destination file already exists.",t,"copyFile");hU.call(this,t,dU(e)),Q$("rename",t.toString())}function VU(e,t,n){const i=P$(e);let r=0;for(const e of t)r+=i.readSync(e,0,e.byteLength,n+r);return r}function zU(e,t,n){const i=P$(e);let r=0;for(const e of t)r+=i.writeSync(new Uint8Array(e.buffer),0,e.byteLength,n+r);return r}function jU(e,t){return e=RP(e),new WU(e,this)}function YU(e,t,n){e=RP(e),t=RP(t);const i=rU.call(this,e);if(n?.errorOnExist&&nU.call(this,t))throw new gP(fP.EEXIST,"Destination file or directory already exists.",t,"cp");switch(i.mode&oB){case dB:if(!n?.recursive)throw new gP(fP.EISDIR,e+" is a directory (not copied)",e,"cp");IU.call(this,t,{recursive:!0});for(const i of AU.call(this,e,{withFileTypes:!0}))n.filter&&!n.filter(bP(e,i.name),bP(t,i.name))||YU.call(this,bP(e,i.name),bP(t,i.name),n);break;case uB:case lB:UU.call(this,e,t);break;default:throw new gP(fP.EPERM,"File type not supported",e,"rm")}n?.preserveTimestamps&&DU.call(this,t,i.atime,i.mtime)}function GU(e,t){e=RP(e);const{fs:n}=V$(e,this);return H$(n,t?.bigint)}class HU{get name(){return xP(this.path)}constructor(e,t){this.path=e,this.stats=t}get parentPath(){return this.path}isFile(){return this.stats.isFile()}isDirectory(){return this.stats.isDirectory()}isBlockDevice(){return this.stats.isBlockDevice()}isCharacterDevice(){return this.stats.isCharacterDevice()}isSymbolicLink(){return this.stats.isSymbolicLink()}isFIFO(){return this.stats.isFIFO()}isSocket(){return this.stats.isSocket()}}class WU{checkClosed(){if(this.closed)throw new gP(fP.EBADF,"Can not use closed Dir")}constructor(e,t){this.path=e,this.context=t,this.closed=!1}close(e){if(this.closed=!0,!e)return Promise.resolve();e()}closeSync(){this.closed=!0}async _read(){return this.checkClosed(),this._entries??(this._entries=await pV.call(this.context,this.path,{withFileTypes:!0})),this._entries.length?this._entries.shift()??null:null}read(e){if(!e)return this._read();this._read().then(t=>e(void 0,t))}readSync(){return this.checkClosed(),this._entries??(this._entries=AU.call(this.context,this.path,{withFileTypes:!0})),this._entries.length?this._entries.shift()??null:null}async next(){const e=await this._read();return e?{done:!1,value:e}:(await this.close(),{done:!0,value:void 0})}[Symbol.asyncIterator](){return this}}var XU=__webpack_require__(86248);class qU extends XU.Readable{close(e=()=>null){try{super.destroy(),super.emit("close"),e()}catch(t){e(new gP(fP.EIO,t.toString()))}}}class KU extends XU.Writable{close(e=()=>null){try{super.destroy(),super.emit("close"),e()}catch(t){e(new gP(fP.EIO,t.toString()))}}}var ZU=function(e,t,n){if(null!=t){if("object"!=typeof t&&"function"!=typeof t)throw new TypeError("Object expected.");var i,r;if(n){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");i=t[Symbol.asyncDispose]}if(void 0===i){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");i=t[Symbol.dispose],n&&(r=i)}if("function"!=typeof i)throw new TypeError("Object not disposable.");r&&(i=function(){try{r.call(this)}catch(e){return Promise.reject(e)}}),e.stack.push({value:t,dispose:i,async:n})}else n&&e.stack.push({async:!0});return t},QU=function(e){return function(t){function n(n){t.error=t.hasError?new e(n,t.error,"An error was suppressed during disposal."):n,t.hasError=!0}return function e(){for(;t.stack.length;){var i=t.stack.pop();try{var r=i.dispose&&i.dispose.call(i.value);if(i.async)return Promise.resolve(r).then(e,function(t){return n(t),e()})}catch(e){n(e)}}if(t.hasError)throw t.error}()}}("function"==typeof SuppressedError?SuppressedError:function(e,t,n){var i=new Error(n);return i.name="SuppressedError",i.error=e,i.suppressed=t,i});class JU{constructor(e,t){this.context=t;const n="number"!=typeof e;this.fd=n?L$(e):e,this.file=n?e:P$(e)}async chown(e,t){await this.file.chown(e,t),Q$("change",this.file.path)}async chmod(e){const t=MP(e,-1);if(t<0)throw new gP(fP.EINVAL,"Invalid mode.");await this.file.chmod(t),Q$("change",this.file.path)}datasync(){return this.file.datasync()}sync(){return this.file.sync()}async truncate(e){if(e||(e=0),e<0)throw new gP(fP.EINVAL);await this.file.truncate(e),Q$("change",this.file.path)}async utimes(e,t){await this.file.utimes(kP(e),kP(t)),Q$("change",this.file.path)}async appendFile(e,t={}){const n=NP(t,"utf8","a",420);if(!YB($B(n.flag)))throw new gP(fP.EINVAL,"Flag passed to appendFile must allow for appending.");if("string"!=typeof e&&!n.encoding)throw new gP(fP.EINVAL,"Encoding not specified");const i="string"==typeof e?R$.Buffer.from(e,n.encoding):e;await this.file.write(i,0,i.length),Q$("change",this.file.path)}read(e,t,n,i){return isNaN(+i)&&(i=this.file.position),this.file.read(e,t,n,i)}async readFile(e){const t=NP(e,null,"r",292);if(!VB($B(t.flag)))throw new gP(fP.EINVAL,"Flag passed must allow for reading.");const{size:n}=await this.stat(),{buffer:i}=await this.file.read(new Uint8Array(n),0,n,0),r=R$.Buffer.from(i);return t.encoding?r.toString(t.encoding):r}readableWebStream(e={}){const t=globalThis;if(!("ReadableStream"in t))throw new gP(fP.ENOSYS,"ReadableStream is missing on globalThis");return new t.ReadableStream({start:async e=>{try{const t=65536,n=1e7;let i=0,r=0,s=NaN;for(;s>0;){const o=await this.read(new Uint8Array(t),0,t,r);if(!o.bytesRead)return void e.close();if(e.enqueue(o.buffer.slice(0,o.bytesRead)),r+=o.bytesRead,++i>=n)throw new gP(fP.EFBIG,"Too many iterations on readable stream",this.file.path,"FileHandle.readableWebStream");s=o.bytesRead}}catch(t){e.error(t)}},type:e.type})}readLines(e){throw gP.With("ENOSYS",this.file.path,"FileHandle.readLines")}[Symbol.asyncDispose](){return this.close()}async stat(e){const t=await this.file.stat();if(kB.checkAccess&&!t.hasAccess(BP,this.context))throw gP.With("EACCES",this.file.path,"stat");return e?.bigint?new FB(t):t}async write(e,t,n,i){let r,s,o;if("string"==typeof e){i="number"==typeof t?t:null;const a="string"==typeof n?n:"utf8";s=0,r=R$.Buffer.from(e,a),o=r.length}else r=new Uint8Array(e.buffer,e.byteOffset,e.byteLength),s=t,o=n,i="number"==typeof i?i:null;i??(i=this.file.position);const a=await this.file.write(r,s,o,i);return Q$("change",this.file.path),{buffer:r,bytesWritten:a}}async writeFile(e,t={}){const n=NP(t,"utf8","w",420);if(!zB($B(n.flag)))throw new gP(fP.EINVAL,"Flag passed must allow for writing.");if("string"!=typeof e&&!n.encoding)throw new gP(fP.EINVAL,"Encoding not specified");const i="string"==typeof e?R$.Buffer.from(e,n.encoding):e;await this.file.write(i,0,i.length,0),Q$("change",this.file.path)}async close(){await this.file.close(),D$.delete(this.fd)}async writev(e,t){let n=0;for(const i of e)n+=(await this.write(i,0,i.length,t+n)).bytesWritten;return{bytesWritten:n,buffers:e}}async readv(e,t){let n=0;for(const i of e)n+=(await this.read(i,0,i.byteLength,t+n)).bytesRead;return{bytesRead:n,buffers:e}}createReadStream(e){const t=new qU({highWaterMark:e?.highWaterMark||65536,encoding:e.encoding,read:async e=>{try{const n=await this.read(new Uint8Array(e),0,e,this.file.position);t.push(n.bytesRead?n.buffer.slice(0,n.bytesRead):null),this.file.position+=n.bytesRead}catch(e){t.destroy(e)}}});return t.path=this.file.path,t}createWriteStream(e){const t=new KU({highWaterMark:e?.highWaterMark,encoding:e?.encoding,write:async(e,t,n)=>{try{const{bytesWritten:i}=await this.write(e,null,t);n(i==e.length?null:new Error("Failed to write full chunk"))}catch(e){n(e)}}});return t.path=this.file.path,t}}async function eV(e,t){e=RP(e),t=RP(t);const n=V$(e,this),i=V$(t,this);if(kB.checkAccess&&!(await nV.call(this,TP(e))).hasAccess($P,this))throw gP.With("EACCES",e,"rename");try{if(n.mountPoint==i.mountPoint)return await n.fs.rename(n.path,i.path),Q$("rename",e.toString()),void Q$("change",t.toString());await uV.call(this,t,await lV(e)),await sV.call(this,e),Q$("rename",e.toString())}catch(r){throw Y$(r,{[n.path]:e,[i.path]:t})}}async function tV(e){try{const{fs:t,path:n}=V$(await EV.call(this,e),this);return await t.exists(n)}catch(e){if(e instanceof gP&&"ENOENT"==e.code)return!1;throw e}}async function nV(e,t){e=RP(e);const{fs:n,path:i}=V$(await EV.call(this,e),this);try{const e=await n.stat(i);if(kB.checkAccess&&!e.hasAccess(BP,this))throw gP.With("EACCES",i,"stat");return t?.bigint?new FB(e):e}catch(t){throw Y$(t,{[i]:e})}}async function iV(e,t){e=RP(e);const{fs:n,path:i}=V$(e,this);try{const e=await n.stat(i);return t?.bigint?new FB(e):e}catch(t){throw Y$(t,{[i]:e})}}async function rV(e,t=0){const n={stack:[],error:void 0,hasError:!1};try{const i=ZU(n,await aV.call(this,e,"r+"),!0);await i.truncate(t)}catch(e){n.error=e,n.hasError=!0}finally{const e=QU(n);e&&await e}}async function sV(e){e=RP(e);const{fs:t,path:n}=V$(e,this);try{if(kB.checkAccess&&!(await(M$.getAsync(e)||t.stat(n))).hasAccess($P,this))throw gP.With("EACCES",n,"unlink");await t.unlink(n),Q$("rename",e.toString())}catch(t){throw Y$(t,{[n]:e})}}async function oV(e,t,n=420,i){e=RP(e);const r=MP(n,420),s=$B(t);e=i?await EV.call(this,e):e;const{fs:o,path:a}=V$(e,this),l=await o.stat(a).catch(()=>null);if(!l){if(!zB(s)&&!YB(s)||"r+"==s)throw gP.With("ENOENT",e,"_open");const t=await o.stat(TP(a));if(kB.checkAccess&&!t.hasAccess($P,this))throw gP.With("EACCES",TP(e),"_open");if(!t.isDirectory())throw gP.With("ENOTDIR",TP(e),"_open");return new JU(await o.createFile(a,s,r),this)}if(kB.checkAccess&&!l.hasAccess(UB(s),this))throw gP.With("EACCES",e,"_open");if(GB(s))throw gP.With("EEXIST",e,"_open");const u=new JU(await o.openFile(a,s),this);return jB(s)&&await u.truncate(0),u}async function aV(e,t="r",n=420){return await oV.call(this,e,t,n,!0)}async function lV(e,t){const n={stack:[],error:void 0,hasError:!1};try{const i=NP(t,null,"r",420),r=ZU(n,"object"==typeof e&&"fd"in e?e:await aV.call(this,e,i.flag,i.mode),!0);return await r.readFile(i)}catch(e){n.error=e,n.hasError=!0}finally{const e=QU(n);e&&await e}}async function uV(e,t,n){const i={stack:[],error:void 0,hasError:!1};try{const r=NP(n,"utf8","w+",420),s=ZU(i,e instanceof JU?e:await aV.call(this,e.toString(),r.flag,r.mode),!0),o=t;if("string"!=typeof o&&!(o instanceof Uint8Array))throw new gP(fP.EINVAL,"Iterables and streams not supported",s.file.path,"writeFile");await s.writeFile(o,r)}catch(e){i.error=e,i.hasError=!0}finally{const e=QU(i);e&&await e}}async function cV(e,t,n){const i={stack:[],error:void 0,hasError:!1};try{const r=NP(n,"utf8","a",420);if(!YB($B(r.flag)))throw new gP(fP.EINVAL,"Flag passed to appendFile must allow for appending.");if("string"!=typeof t&&!r.encoding)throw new gP(fP.EINVAL,"Encoding not specified");const s="string"==typeof t?R$.Buffer.from(t,r.encoding):new Uint8Array(t.buffer,t.byteOffset,t.byteLength),o=ZU(i,"object"==typeof e&&"fd"in e?e:await aV.call(this,e,r.flag,r.mode),!0);await o.appendFile(s,r)}catch(e){i.error=e,i.hasError=!0}finally{const e=QU(i);e&&await e}}async function dV(e){e=await EV.call(this,e);const{fs:t,path:n}=V$(e,this);try{const i=await(M$.getAsync(e)||t.stat(n));if(!i)throw gP.With("ENOENT",e,"rmdir");if(!i.isDirectory())throw gP.With("ENOTDIR",n,"rmdir");if(kB.checkAccess&&!i.hasAccess($P,this))throw gP.With("EACCES",n,"rmdir");await t.rmdir(n),Q$("rename",e.toString())}catch(t){throw Y$(t,{[n]:e})}}async function hV(e,t){t="object"==typeof t?t:{mode:t};const n=MP(t?.mode,511);e=await EV.call(this,e);const{fs:i,path:r,root:s}=V$(e,this),o={[r]:e};try{if(!t?.recursive){if(kB.checkAccess&&!(await i.stat(TP(r))).hasAccess($P,this))throw gP.With("EACCES",TP(r),"mkdir");return await i.mkdir(r,n),void Q$("rename",e.toString())}const a=[];for(let t=r,n=e;!await i.exists(t);t=TP(t),n=TP(n))a.unshift(t),o[t]=n;for(const e of a){if(kB.checkAccess&&!(await i.stat(TP(e))).hasAccess($P,this))throw gP.With("EACCES",TP(e),"mkdir");await i.mkdir(e,n),Q$("rename",e)}return 1==s.length?a[0]:a[0]?.slice(s.length)}catch(e){throw Y$(e,o)}}async function pV(e,t){t="object"==typeof t?t:{encoding:t},e=await EV.call(this,e);const n=t=>{throw Y$(t,{[r]:e})},{fs:i,path:r}=V$(e,this),s=M$.getAsync(e)||i.stat(r).catch(n);M$.setAsync(e,s);const o=await s;if(!o)throw gP.With("ENOENT",e,"readdir");if(kB.checkAccess&&!o.hasAccess(BP,this))throw gP.With("EACCES",e,"readdir");if(!o.isDirectory())throw gP.With("ENOTDIR",e,"readdir");const a=await i.readdir(r).catch(n),l=[];return await Promise.all(a.map(async s=>{let o;if(t?.recursive||t?.withFileTypes){const t=M$.getAsync(bP(e,s))||i.stat(bP(r,s)).catch(n);M$.setAsync(bP(e,s),t),o=await t}if(t?.withFileTypes?l.push(new HU(s,o)):"buffer"==t?.encoding?l.push(R$.Buffer.from(s)):l.push(s),t?.recursive&&o?.isDirectory())for(const n of await pV.call(this,bP(e,s),{...t,_isIndirect:!0}))n instanceof HU?(n.path=bP(s,n.path),l.push(n)):R$.Buffer.isBuffer(n)?l.push(R$.Buffer.from(bP(s,SP(n)))):l.push(bP(s,n))})),t?._isIndirect||M$.clear(),l}async function fV(e,t){e=RP(e),t=RP(t);const{fs:n,path:i}=V$(e,this),r=V$(t,this);if(n!=r.fs)throw gP.With("EXDEV",t,"link");try{if(kB.checkAccess&&!(await n.stat(TP(e))).hasAccess(BP,this))throw gP.With("EACCES",TP(i),"link");if(kB.checkAccess&&!(await nV.call(this,TP(t))).hasAccess($P,this))throw gP.With("EACCES",TP(t),"link");if(kB.checkAccess&&!(await n.stat(i)).hasAccess(BP,this))throw gP.With("EACCES",i,"link");return await n.link(i,r.path)}catch(n){throw Y$(n,{[r.path]:t,[i]:e})}}async function mV(e,t,n="file"){const i={stack:[],error:void 0,hasError:!1};try{if(!["file","dir","junction"].includes(n))throw new gP(fP.EINVAL,"Invalid symlink type: "+n);if(await tV.call(this,t))throw gP.With("EEXIST",t.toString(),"symlink");const r=ZU(i,await oV.call(this,t,"w+",420,!1),!0);await r.writeFile(e.toString()),await r.file.chmod(lB)}catch(e){i.error=e,i.hasError=!0}finally{const e=QU(i);e&&await e}}async function gV(e,t){const n={stack:[],error:void 0,hasError:!1};try{const i=ZU(n,await oV.call(this,RP(e),"r",420,!1),!0),r=await i.readFile(),s="object"==typeof t?t?.encoding:t;return"buffer"==s?r:r.toString(s)}catch(e){n.error=e,n.hasError=!0}finally{const e=QU(n);e&&await e}}async function _V(e,t,n){const i={stack:[],error:void 0,hasError:!1};try{const r=ZU(i,await aV.call(this,e,"r+"),!0);await r.chown(t,n)}catch(e){i.error=e,i.hasError=!0}finally{const e=QU(i);e&&await e}}async function yV(e,t,n){const i={stack:[],error:void 0,hasError:!1};try{const r=ZU(i,await oV.call(this,e,"r+",420,!1),!0);await r.chown(t,n)}catch(e){i.error=e,i.hasError=!0}finally{const e=QU(i);e&&await e}}async function vV(e,t){const n={stack:[],error:void 0,hasError:!1};try{const i=ZU(n,await aV.call(this,e,"r+"),!0);await i.chmod(t)}catch(e){n.error=e,n.hasError=!0}finally{const e=QU(n);e&&await e}}async function bV(e,t){const n={stack:[],error:void 0,hasError:!1};try{const i=ZU(n,await oV.call(this,e,"r+",420,!1),!0);await i.chmod(t)}catch(e){n.error=e,n.hasError=!0}finally{const e=QU(n);e&&await e}}async function TV(e,t,n){const i={stack:[],error:void 0,hasError:!1};try{const r=ZU(i,await aV.call(this,e,"r+"),!0);await r.utimes(t,n)}catch(e){i.error=e,i.hasError=!0}finally{const e=QU(i);e&&await e}}async function xV(e,t,n){const i={stack:[],error:void 0,hasError:!1};try{const r=ZU(i,await oV.call(this,e,"r+",420,!1),!0);await r.utimes(new Date(t),new Date(n))}catch(e){i.error=e,i.hasError=!0}finally{const e=QU(i);e&&await e}}async function EV(e,t){e=RP(e);const n=(this?.root||"")+e;if(k$.hasAsync(n))return k$.getAsync(n);const{base:i,dir:r}=EP(e),s="/"==r?"/":await(k$.getAsync((this?.root||"")+r)||EV.call(this,r)),o=bP(s,i),{fs:a,path:l}=V$(o,this);try{const t=M$.getAsync(o)||a.stat(l);if(M$.setAsync(o,t),!(await t).isSymbolicLink())return k$.set(e,o),o;const i=vP(s,(await gV.call(this,o)).toString()),r=k$.getAsync((this?.root||"")+i)||EV.call(this,i);return k$.setAsync(n,r),await r}catch(t){if("ENOENT"==t.code)return e;throw Y$(t,{[l]:o})}}function wV(e,t={}){return{[Symbol.asyncIterator](){const n=new q$(e.toString(),"string"!=typeof t?t:{encoding:t}),i=[];function r(){n.close();for(const e of i)e({value:null,done:!0});return i.length=0,Promise.resolve({value:null,done:!0})}return n.on("change",(e,t)=>{i.shift()?.({value:{eventType:e,filename:t},done:!1})}),{async next(){const{promise:e,resolve:t}=Promise.withResolvers();return i.push(t),e},return:r,throw:r}}}}async function IV(e,t=PP){if(!kB.checkAccess)return;if(!(await nV.call(this,e)).hasAccess(t,this))throw new gP(fP.EACCES)}async function AV(e,t){e=RP(e);const n=await(M$.getAsync(e)||iV.call(this,e).catch(e=>{if("ENOENT"!=e.code||!t?.force)throw e}));if(n){switch(M$.set(e,n),n.mode&oB){case dB:if(t?.recursive)for(const n of await pV.call(this,e,{_isIndirect:!0}))await AV.call(this,bP(e,n),{...t,_isIndirect:!0});await dV.call(this,e);break;case uB:case lB:case cB:case hB:await sV.call(this,e);break;default:throw M$.clear(),new gP(fP.EPERM,"File type not supported",e,"rm")}t?._isIndirect||M$.clear()}}async function SV(e,t){const n="object"==typeof t?t?.encoding:t||"utf8",i="/tmp/"+`${e}${Date.now()}-${Math.random().toString(36).slice(2)}`;return await hV.call(this,i),"buffer"==n?R$.Buffer.from(i):i}async function CV(e,t,n){if(e=RP(e),t=RP(t),n&&n&VP&&await tV.call(this,t))throw new gP(fP.EEXIST,"Destination file already exists.",t,"copyFile");await uV.call(this,t,await lV.call(this,e)),Q$("rename",t.toString())}function OV(e,t){return e=RP(e),Promise.resolve(new WU(e,this))}async function MV(e,t,n){e=RP(e),t=RP(t);const i=await iV.call(this,e);if(n?.errorOnExist&&await tV.call(this,t))throw new gP(fP.EEXIST,"Destination file or directory already exists.",t,"cp");switch(i.mode&oB){case dB:{if(!n?.recursive)throw new gP(fP.EISDIR,e+" is a directory (not copied)",e,"cp");const[i]=await Promise.all([pV.call(this,e,{withFileTypes:!0}),hV.call(this,t,{recursive:!0})]),r=async i=>{n.filter&&!n.filter(bP(e,i.name),bP(t,i.name))||await MV.call(this,bP(e,i.name),bP(t,i.name),n)};await Promise.all(i.map(r));break}case uB:case lB:await CV.call(this,e,t);break;default:throw new gP(fP.EPERM,"File type not supported",e,"rm")}n?.preserveTimestamps&&await TV.call(this,t,i.atime,i.mtime)}async function kV(e,t){e=RP(e);const{fs:n}=V$(e,this);return Promise.resolve(H$(n,t?.bigint))}const RV=()=>{};function NV(e,t,n=RV){eV.call(this,e,t).then(()=>n()).catch(n)}function DV(e,t=RV){tV.call(this,e).then(t).catch(()=>t(!1))}function FV(e,t,n=RV){n="function"==typeof t?t:n,nV.call(this,e,"function"!=typeof t?t:{}).then(e=>n(void 0,e)).catch(n)}function LV(e,t,n=RV){n="function"==typeof t?t:n,iV.call(this,e,"function"!=typeof t?t:{}).then(e=>n(void 0,e)).catch(n)}function PV(e,t=0,n=RV){n="function"==typeof t?t:n;const i="number"==typeof t?t:0;rV.call(this,e,i).then(()=>n()).catch(n)}function BV(e,t=RV){sV.call(this,e).then(()=>t()).catch(t)}function $V(e,t,n,i=RV){const r=MP(n,420);i="function"==typeof n?n:i,aV.call(this,e,t,r).then(e=>i(void 0,e.fd)).catch(i)}function UV(e,t,n=RV){n="function"==typeof t?t:n,lV.call(this,e,"function"==typeof t?null:t).then(e=>n(void 0,e)).catch(n)}function VV(e,t,n,i=RV){i="function"==typeof n?n:i,uV.call(this,e,t,"function"!=typeof n?n:null).then(()=>i(void 0)).catch(i)}function zV(e,t,n,i=RV){const r="function"!=typeof n?n:void 0;i="function"==typeof n?n:i,cV.call(this,e,t,r).then(()=>i()).catch(i)}function jV(e,t,n=RV){n="function"==typeof t?t:n,P$(e).stat().then(e=>n(void 0,"object"==typeof t&&t?.bigint?new FB(e):e)).catch(n)}function YV(e,t=RV){const n=P$(e).close();D$.delete(e),n.then(()=>t()).catch(t)}function GV(e,t,n=RV){const i="number"==typeof t?t:0;n="function"==typeof t?t:n;const r=P$(e);if(i<0)throw new gP(fP.EINVAL);r.truncate(i).then(()=>n()).catch(n)}function HV(e,t=RV){P$(e).sync().then(()=>t()).catch(t)}function WV(e,t=RV){P$(e).datasync().then(()=>t()).catch(t)}function XV(e,t,n,i,r,s=RV){let o,a,l,u,c;const d=new JU(e,this);if("string"==typeof t){switch(c="utf8",typeof n){case"function":s=n;break;case"number":u=n,c="string"==typeof i?i:"utf8",s="function"==typeof r?r:s;break;default:return void(s="function"==typeof i?i:"function"==typeof r?r:s)(new gP(fP.EINVAL,"Invalid arguments."))}o=R$.Buffer.from(t),a=0,l=o.length;const e=s;d.write(o,a,l,u).then(({bytesWritten:t})=>e(void 0,t,o.toString(c))).catch(e)}else{o=R$.Buffer.from(t.buffer),a=n,l=i,u="number"==typeof r?r:null;const e="function"==typeof r?r:s;d.write(o,a,l,u).then(({bytesWritten:t})=>e(void 0,t,o)).catch(e)}}function qV(e,t,n,i,r,s=RV){new JU(e,this).read(t,n,i,r).then(({bytesRead:e,buffer:t})=>s(void 0,e,t)).catch(s)}function KV(e,t,n,i=RV){new JU(e,this).chown(t,n).then(()=>i()).catch(i)}function ZV(e,t,n){new JU(e,this).chmod(t).then(()=>n()).catch(n)}function QV(e,t,n,i=RV){new JU(e,this).utimes(t,n).then(()=>i()).catch(i)}function JV(e,t=RV){dV.call(this,e).then(()=>t()).catch(t)}function ez(e,t,n=RV){hV.call(this,e,t).then(()=>n()).catch(n)}function tz(e,t,n=RV){n="function"==typeof t?t:n;const i="function"!=typeof t?t:{};pV.call(this,e,i).then(e=>n(void 0,e)).catch(n)}function nz(e,t,n=RV){fV.call(this,e,t).then(()=>n()).catch(n)}function iz(e,t,n,i=RV){const r="string"==typeof n?n:"file";i="function"==typeof n?n:i,mV.call(this,e,t,r).then(()=>i()).catch(i)}function rz(e,t,n=RV){n="function"==typeof t?t:n,gV.call(this,e).then(e=>n(void 0,e)).catch(n)}function sz(e,t,n,i=RV){_V.call(this,e,t,n).then(()=>i()).catch(i)}function oz(e,t,n,i=RV){yV.call(this,e,t,n).then(()=>i()).catch(i)}function az(e,t,n=RV){vV.call(this,e,t).then(()=>n()).catch(n)}function lz(e,t,n=RV){bV.call(this,e,t).then(()=>n()).catch(n)}function uz(e,t,n,i=RV){TV.call(this,e,t,n).then(()=>i()).catch(i)}function cz(e,t,n,i=RV){xV.call(this,e,t,n).then(()=>i()).catch(i)}function dz(e,t,n=RV){n="function"==typeof t?t:n,EV.call(this,e,"function"==typeof t?null:t).then(e=>n(void 0,e)).catch(n)}function hz(e,t,n=RV){const i="number"==typeof t?t:BP;n="function"==typeof t?t:n,IV.call(this,e,i).then(()=>n()).catch(n)}const pz=new Map;function fz(e,t,n){const i=RP(e.toString()),r="function"!=typeof t?t:{};if("function"==typeof t&&(n=t),!n)throw new gP(fP.EINVAL,"No listener specified",e.toString(),"watchFile");if(pz.has(i)){const e=pz.get(i);return void(e&&e.listeners.add(n))}const s=new K$(i,r);s.on("change",(e,t)=>{const n=pz.get(i);if(n)for(const i of n.listeners)i(e,t)}),pz.set(i,{watcher:s,listeners:new Set})}function mz(e,t=RV){const n=RP(e.toString()),i=pz.get(n);i&&(t&&t!==RV?i.listeners.delete(t):i.listeners.clear(),0===i.listeners.size&&(i.watcher.stop(),pz.delete(n)))}function gz(e,t,n){const i=new q$(RP(e),"object"==typeof t?t:{});return n="function"==typeof t?t:n,i.on("change",n||RV),i}function _z(e,t){const n=this;let i;const r=new qU({highWaterMark:(t="object"==typeof t?t:{encoding:t}).highWaterMark||65536,encoding:t.encoding||"utf8",async read(s){try{i||(i=await aV.call(n,e,"r",t?.mode));const o=await i.read(new Uint8Array(s),0,s,i.file.position);r.push(o.bytesRead?o.buffer.slice(0,o.bytesRead):null),i.file.position+=o.bytesRead,o.bytesRead||await i.close()}catch(e){await(i?.close()),r.destroy(e)}},destroy(e,t){i?.close().then(()=>t(e)).catch(RV)}});return r.path=e.toString(),r}function yz(e,t){const n=this;let i;t="object"==typeof t?t:{encoding:t};const r=new KU({highWaterMark:t?.highWaterMark,async write(r,s,o){try{i||(i=await aV.call(n,e,"w",t?.mode||438)),await i.write(r,0,s),o(void 0)}catch(e){await(i?.close()),o(e)}},destroy(e,t){t(e),i?.close().then(()=>t(e)).catch(t)},final(e){i?.close().then(()=>e()).catch(e)}});return r.path=e.toString(),r}function vz(e,t,n=RV){n="function"==typeof t?t:n,AV.call(this,e,"function"==typeof t?void 0:t).then(()=>n(void 0)).catch(n)}function bz(e,t,n=RV){n="function"==typeof t?t:n,SV.call(this,e,"function"!=typeof t?t:null).then(e=>n(void 0,e)).catch(n)}function Tz(e,t,n,i=RV){i="function"==typeof n?n:i,CV.call(this,e,t,"function"==typeof n?void 0:n).then(()=>i(void 0)).catch(i)}function xz(e,t,n,i=RV){i="function"==typeof n?n:i,new JU(e,this).readv(t,"function"==typeof n?void 0:n).then(({buffers:e,bytesRead:t})=>i(void 0,t,e)).catch(i)}function Ez(e,t,n,i=RV){i="function"==typeof n?n:i,new JU(e,this).writev(t,"function"==typeof n?void 0:n).then(({buffers:e,bytesWritten:t})=>i(void 0,t,e)).catch(i)}function wz(e,t,n=RV){n="function"==typeof t?t:n,OV.call(this,e,"function"==typeof t?void 0:t).then(e=>n(void 0,e)).catch(n)}function Iz(e,t,n,i=RV){i="function"==typeof n?n:i,MV.call(this,e,t,"function"==typeof n?void 0:n).then(()=>i(void 0)).catch(i)}function Az(e,t,n=RV){n="function"==typeof t?t:n,kV.call(this,e,"function"==typeof t?void 0:t).then(e=>n(void 0,e)).catch(n)}async function Sz(e,t){const n=await aV.call(this,e.toString(),"r"),i=await n.readFile();return await n.close(),new Blob([i],t)}var Cz=function(e,t,n){if(null!=t){if("object"!=typeof t&&"function"!=typeof t)throw new TypeError("Object expected.");var i,r;if(n){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");i=t[Symbol.asyncDispose]}if(void 0===i){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");i=t[Symbol.dispose],n&&(r=i)}if("function"!=typeof i)throw new TypeError("Object not disposable.");r&&(i=function(){try{r.call(this)}catch(e){return Promise.reject(e)}}),e.stack.push({value:t,dispose:i,async:n})}else n&&e.stack.push({async:!0});return t},Oz=function(e){return function(t){function n(n){t.error=t.hasError?new e(n,t.error,"An error was suppressed during disposal."):n,t.hasError=!0}return function e(){for(;t.stack.length;){var i=t.stack.pop();try{var r=i.dispose&&i.dispose.call(i.value);if(i.async)return Promise.resolve(r).then(e,function(t){return n(t),e()})}catch(e){n(e)}}if(t.hasError)throw t.error}()}}("function"==typeof SuppressedError?SuppressedError:function(e,t,n){var i=new Error(n);return i.name="SuppressedError",i.error=e,i.suppressed=t,i});function Mz(e){return class extends e{constructor(){super(...arguments),this._queue=[],this._isInitialized=!1}get _queueRunning(){return!!this._queue.length}queueDone(){return new Promise(e=>{const t=()=>this._queueRunning?setTimeout(t):e();t()})}async ready(){if(await super.ready(),await this.queueDone(),!this._isInitialized&&!this._disableSync){if(this.checkSync(),await this._sync.ready(),this._sync instanceof x$&&this instanceof x$){const e=this._sync.store.transaction(),t=this.store.transaction(),n=[];for(const i of await t.keys())n.push(t.get(i).then(t=>e.setSync(i,t)));return await Promise.all(n),void(this._isInitialized=!0)}try{await this.crossCopy("/"),this._isInitialized=!0}catch(e){throw this._isInitialized=!1,e}}}checkSync(e,t){if(this._disableSync)throw new gP(fP.ENOTSUP,"Sync caching has been disabled for this async file system",e,t);if(!this._sync)throw new gP(fP.ENOTSUP,"No sync cache is attached to this async file system",e,t)}renameSync(e,t){this.checkSync(e,"rename"),this._sync.renameSync(e,t),this.queue("rename",e,t)}statSync(e){return this.checkSync(e,"stat"),this._sync.statSync(e)}createFileSync(e,t,n){return this.checkSync(e,"createFile"),this._sync.createFileSync(e,t,n),this.queue("createFile",e,t,n),this.openFileSync(e,t)}openFileSync(e,t){this.checkSync(e,"openFile");const n=this._sync.openFileSync(e,t+"+"),i=n.statSync(),r=new Uint8Array(i.size);return n.readSync(r),new WB(this,e,t,i,r)}unlinkSync(e){this.checkSync(e,"unlinkSync"),this._sync.unlinkSync(e),this.queue("unlink",e)}rmdirSync(e){this.checkSync(e,"rmdir"),this._sync.rmdirSync(e),this.queue("rmdir",e)}mkdirSync(e,t){this.checkSync(e,"mkdir"),this._sync.mkdirSync(e,t),this.queue("mkdir",e,t)}readdirSync(e){return this.checkSync(e,"readdir"),this._sync.readdirSync(e)}linkSync(e,t){this.checkSync(e,"link"),this._sync.linkSync(e,t),this.queue("link",e,t)}syncSync(e,t,n){this.checkSync(e,"sync"),this._sync.syncSync(e,t,n),this.queue("sync",e,t,n)}existsSync(e){return this.checkSync(e,"exists"),this._sync.existsSync(e)}async crossCopy(e){this.checkSync(e,"crossCopy");const t=await this.stat(e);if(!t.isDirectory()){const n={stack:[],error:void 0,hasError:!1};try{const i=Cz(n,await this.openFile(e,$B("r")),!0),r=Cz(n,this._sync.createFileSync(e,$B("w"),t.mode),!1),s=new Uint8Array(t.size);return await i.read(s),void r.writeSync(s,0,t.size)}catch(e){n.error=e,n.hasError=!0}finally{const e=Oz(n);e&&await e}}if("/"!==e){const t=await this.stat(e);this._sync.mkdirSync(e,t.mode)}const n=[];for(const t of await this.readdir(e))n.push(this.crossCopy(bP(e,t)));await Promise.all(n)}async _next(){if(!this._queueRunning)return;const[e,...t]=this._queue.shift();await this[e](...t),await this._next()}queue(...e){this._queue.push(e),this._next()}}}new Map;Mz(XB);new Map;Map;kz=XB;var kz;var Rz=function(e,t,n){if(null!=t){if("object"!=typeof t&&"function"!=typeof t)throw new TypeError("Object expected.");var i,r;if(n){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");i=t[Symbol.asyncDispose]}if(void 0===i){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");i=t[Symbol.dispose],n&&(r=i)}if("function"!=typeof i)throw new TypeError("Object not disposable.");r&&(i=function(){try{r.call(this)}catch(e){return Promise.reject(e)}}),e.stack.push({value:t,dispose:i,async:n})}else n&&e.stack.push({async:!0});return t},Nz=function(e){return function(t){function n(n){t.error=t.hasError?new e(n,t.error,"An error was suppressed during disposal."):n,t.hasError=!0}return function e(){for(;t.stack.length;){var i=t.stack.pop();try{var r=i.dispose&&i.dispose.call(i.value);if(i.async)return Promise.resolve(r).then(e,function(t){return n(t),e()})}catch(e){n(e)}}if(t.hasError)throw t.error}()}}("function"==typeof SuppressedError?SuppressedError:function(e,t,n){var i=new Error(n);return i.name="SuppressedError",i.error=e,i.suppressed=t,i});class Dz{get isLocked(){return this._isLocked}constructor(e){this.previous=e,this.current=Promise.withResolvers(),this._isLocked=!0}async done(){await(this.previous?.done()),await this.current.promise}unlock(){this.current.resolve(),this._isLocked=!1}[Symbol.dispose](){this.unlock()}}class Fz{async ready(){return await this._fs.ready()}metadata(){return this._fs.metadata()}addLock(){const e=new Dz(this.currentLock);return this.currentLock=e,e}async lock(e,t){const n=this.currentLock,i=this.addLock(),r=(new Error).stack;return setTimeout(()=>{if(i.isLocked){const n=gP.With("EDEADLK",e,t);throw n.stack+=r?.slice(5),n}},5e3),await(n?.done()),i}lockSync(e,t){if(this.currentLock?.isLocked)throw gP.With("EBUSY",e,t);return this.addLock()}get isLocked(){return!!this.currentLock?.isLocked}async rename(e,t){const n={stack:[],error:void 0,hasError:!1};try{Rz(n,await this.lock(e,"rename"),!1);await this._fs.rename(e,t)}catch(e){n.error=e,n.hasError=!0}finally{Nz(n)}}renameSync(e,t){const n={stack:[],error:void 0,hasError:!1};try{Rz(n,this.lockSync(e,"rename"),!1);return this._fs.renameSync(e,t)}catch(e){n.error=e,n.hasError=!0}finally{Nz(n)}}async stat(e){const t={stack:[],error:void 0,hasError:!1};try{Rz(t,await this.lock(e,"stat"),!1);return await this._fs.stat(e)}catch(e){t.error=e,t.hasError=!0}finally{Nz(t)}}statSync(e){const t={stack:[],error:void 0,hasError:!1};try{Rz(t,this.lockSync(e,"stat"),!1);return this._fs.statSync(e)}catch(e){t.error=e,t.hasError=!0}finally{Nz(t)}}async openFile(e,t){const n={stack:[],error:void 0,hasError:!1};try{Rz(n,await this.lock(e,"openFile"),!1);const i=await this._fs.openFile(e,t);return i.fs=this,i}catch(e){n.error=e,n.hasError=!0}finally{Nz(n)}}openFileSync(e,t){const n={stack:[],error:void 0,hasError:!1};try{Rz(n,this.lockSync(e,"openFile"),!1);const i=this._fs.openFileSync(e,t);return i.fs=this,i}catch(e){n.error=e,n.hasError=!0}finally{Nz(n)}}async createFile(e,t,n){const i={stack:[],error:void 0,hasError:!1};try{Rz(i,await this.lock(e,"createFile"),!1);const r=await this._fs.createFile(e,t,n);return r.fs=this,r}catch(e){i.error=e,i.hasError=!0}finally{Nz(i)}}createFileSync(e,t,n){const i={stack:[],error:void 0,hasError:!1};try{Rz(i,this.lockSync(e,"createFile"),!1);const r=this._fs.createFileSync(e,t,n);return r.fs=this,r}catch(e){i.error=e,i.hasError=!0}finally{Nz(i)}}async unlink(e){const t={stack:[],error:void 0,hasError:!1};try{Rz(t,await this.lock(e,"unlink"),!1);await this._fs.unlink(e)}catch(e){t.error=e,t.hasError=!0}finally{Nz(t)}}unlinkSync(e){const t={stack:[],error:void 0,hasError:!1};try{Rz(t,this.lockSync(e,"unlink"),!1);return this._fs.unlinkSync(e)}catch(e){t.error=e,t.hasError=!0}finally{Nz(t)}}async rmdir(e){const t={stack:[],error:void 0,hasError:!1};try{Rz(t,await this.lock(e,"rmdir"),!1);await this._fs.rmdir(e)}catch(e){t.error=e,t.hasError=!0}finally{Nz(t)}}rmdirSync(e){const t={stack:[],error:void 0,hasError:!1};try{Rz(t,this.lockSync(e,"rmdir"),!1);return this._fs.rmdirSync(e)}catch(e){t.error=e,t.hasError=!0}finally{Nz(t)}}async mkdir(e,t){const n={stack:[],error:void 0,hasError:!1};try{Rz(n,await this.lock(e,"mkdir"),!1);await this._fs.mkdir(e,t)}catch(e){n.error=e,n.hasError=!0}finally{Nz(n)}}mkdirSync(e,t){const n={stack:[],error:void 0,hasError:!1};try{Rz(n,this.lockSync(e,"mkdir"),!1);return this._fs.mkdirSync(e,t)}catch(e){n.error=e,n.hasError=!0}finally{Nz(n)}}async readdir(e){const t={stack:[],error:void 0,hasError:!1};try{Rz(t,await this.lock(e,"readdir"),!1);return await this._fs.readdir(e)}catch(e){t.error=e,t.hasError=!0}finally{Nz(t)}}readdirSync(e){const t={stack:[],error:void 0,hasError:!1};try{Rz(t,this.lockSync(e,"readdir"),!1);return this._fs.readdirSync(e)}catch(e){t.error=e,t.hasError=!0}finally{Nz(t)}}async exists(e){const t={stack:[],error:void 0,hasError:!1};try{Rz(t,await this.lock(e,"exists"),!1);return await this._fs.exists(e)}catch(e){t.error=e,t.hasError=!0}finally{Nz(t)}}existsSync(e){const t={stack:[],error:void 0,hasError:!1};try{Rz(t,this.lockSync(e,"exists"),!1);return this._fs.existsSync(e)}catch(e){t.error=e,t.hasError=!0}finally{Nz(t)}}async link(e,t){const n={stack:[],error:void 0,hasError:!1};try{Rz(n,await this.lock(e,"link"),!1);await this._fs.link(e,t)}catch(e){n.error=e,n.hasError=!0}finally{Nz(n)}}linkSync(e,t){const n={stack:[],error:void 0,hasError:!1};try{Rz(n,this.lockSync(e,"link"),!1);return this._fs.linkSync(e,t)}catch(e){n.error=e,n.hasError=!0}finally{Nz(n)}}async sync(e,t,n){const i={stack:[],error:void 0,hasError:!1};try{Rz(i,await this.lock(e,"sync"),!1);await this._fs.sync(e,t,n)}catch(e){i.error=e,i.hasError=!0}finally{Nz(i)}}syncSync(e,t,n){const i={stack:[],error:void 0,hasError:!1};try{Rz(i,this.lockSync(e,"sync"),!1);return this._fs.syncSync(e,t,n)}catch(e){i.error=e,i.hasError=!0}finally{Nz(i)}}}var Lz=function(e,t,n){if(null!=t){if("object"!=typeof t&&"function"!=typeof t)throw new TypeError("Object expected.");var i,r;if(n){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");i=t[Symbol.asyncDispose]}if(void 0===i){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");i=t[Symbol.dispose],n&&(r=i)}if("function"!=typeof i)throw new TypeError("Object not disposable.");r&&(i=function(){try{r.call(this)}catch(e){return Promise.reject(e)}}),e.stack.push({value:t,dispose:i,async:n})}else n&&e.stack.push({async:!0});return t},Pz=function(e){return function(t){function n(n){t.error=t.hasError?new e(n,t.error,"An error was suppressed during disposal."):n,t.hasError=!0}return function e(){for(;t.stack.length;){var i=t.stack.pop();try{var r=i.dispose&&i.dispose.call(i.value);if(i.async)return Promise.resolve(r).then(e,function(t){return n(t),e()})}catch(e){n(e)}}if(t.hasError)throw t.error}()}}("function"==typeof SuppressedError?SuppressedError:function(e,t,n){var i=new Error(n);return i.name="SuppressedError",i.error=e,i.suppressed=t,i});const Bz="/.deleted";class $z extends XB{async ready(){await this.readable.ready(),await this.writable.ready(),await this._ready}constructor({writable:e,readable:t}){if(super(),this._isInitialized=!1,this._deletedFiles=new Set,this._deleteLog="",this._deleteLogUpdatePending=!1,this._deleteLogUpdateNeeded=!1,this.writable=e,this.readable=t,this.writable.metadata().readonly)throw new gP(fP.EINVAL,"Writable file system must be writable.");this._ready=this._initialize()}metadata(){return{...super.metadata(),name:Uz.name}}async sync(e,t,n){await this.copyForWrite(e),await this.writable.exists(e)||await this.writable.createFile(e,"w",420),await this.writable.sync(e,t,n)}syncSync(e,t,n){this.copyForWriteSync(e),this.writable.syncSync(e,t,n)}async _initialize(){if(!this._isInitialized){try{const e=await this.writable.openFile(Bz,$B("r")),{size:t}=await e.stat(),{buffer:n}=await e.read(new Uint8Array(t));this._deleteLog=SP(n)}catch(e){if(e.errno!==fP.ENOENT)throw e}this._isInitialized=!0,this._reparseDeletionLog()}}getDeletionLog(){return this._deleteLog}async restoreDeletionLog(e){this._deleteLog=e,this._reparseDeletionLog(),await this.updateLog("")}async rename(e,t){this.checkInitialized(),this.checkPath(e),this.checkPath(t),await this.copyForWrite(e);try{await this.writable.rename(e,t)}catch{if(this._deletedFiles.has(e))throw gP.With("ENOENT",e,"rename")}}renameSync(e,t){this.checkInitialized(),this.checkPath(e),this.checkPath(t),this.copyForWriteSync(e);try{this.writable.renameSync(e,t)}catch{if(this._deletedFiles.has(e))throw gP.With("ENOENT",e,"rename")}}async stat(e){this.checkInitialized();try{return await this.writable.stat(e)}catch{if(this._deletedFiles.has(e))throw gP.With("ENOENT",e,"stat");const t=await this.readable.stat(e);return t.mode|=146,t}}statSync(e){this.checkInitialized();try{return this.writable.statSync(e)}catch{if(this._deletedFiles.has(e))throw gP.With("ENOENT",e,"stat");const t=this.readable.statSync(e);return t.mode|=146,t}}async openFile(e,t){if(await this.writable.exists(e))return this.writable.openFile(e,t);const n=await this.readable.openFile(e,$B("r")),i=await n.stat(),{buffer:r}=await n.read(new Uint8Array(i.size));return new WB(this,e,t,i,r)}openFileSync(e,t){if(this.writable.existsSync(e))return this.writable.openFileSync(e,t);const n=this.readable.openFileSync(e,$B("r")),i=n.statSync(),r=new Uint8Array(i.size);return n.readSync(r),new WB(this,e,t,i,r)}async createFile(e,t,n){return this.checkInitialized(),await this.writable.createFile(e,t,n),this.openFile(e,t)}createFileSync(e,t,n){return this.checkInitialized(),this.writable.createFileSync(e,t,n),this.openFileSync(e,t)}async link(e,t){this.checkInitialized(),await this.copyForWrite(e),await this.writable.link(e,t)}linkSync(e,t){this.checkInitialized(),this.copyForWriteSync(e),this.writable.linkSync(e,t)}async unlink(e){if(this.checkInitialized(),this.checkPath(e),!await this.exists(e))throw gP.With("ENOENT",e,"unlink");await this.writable.exists(e)&&await this.writable.unlink(e),await this.exists(e)&&await this.deletePath(e)}unlinkSync(e){if(this.checkInitialized(),this.checkPath(e),!this.existsSync(e))throw gP.With("ENOENT",e,"unlink");this.writable.existsSync(e)&&this.writable.unlinkSync(e),this.existsSync(e)&&this.deletePath(e)}async rmdir(e){if(this.checkInitialized(),!await this.exists(e))throw gP.With("ENOENT",e,"rmdir");if(await this.writable.exists(e)&&await this.writable.rmdir(e),await this.exists(e)){if((await this.readdir(e)).length)throw gP.With("ENOTEMPTY",e,"rmdir");await this.deletePath(e)}}rmdirSync(e){if(this.checkInitialized(),!this.existsSync(e))throw gP.With("ENOENT",e,"rmdir");if(this.writable.existsSync(e)&&this.writable.rmdirSync(e),this.existsSync(e)){if(this.readdirSync(e).length)throw gP.With("ENOTEMPTY",e,"rmdir");this.deletePath(e)}}async mkdir(e,t){if(this.checkInitialized(),await this.exists(e))throw gP.With("EEXIST",e,"mkdir");await this.createParentDirectories(e),await this.writable.mkdir(e,t)}mkdirSync(e,t){if(this.checkInitialized(),this.existsSync(e))throw gP.With("EEXIST",e,"mkdir");this.createParentDirectoriesSync(e),this.writable.mkdirSync(e,t)}async readdir(e){this.checkInitialized();const t=[];try{t.push(...await this.writable.readdir(e))}catch{}try{t.push(...(await this.readable.readdir(e)).filter(t=>!this._deletedFiles.has(`${e}/${t}`)))}catch{}const n={};return t.filter(e=>{const t=!n[e];return n[e]=!0,t})}readdirSync(e){this.checkInitialized();let t=[];try{t=t.concat(this.writable.readdirSync(e))}catch{}try{t=t.concat(this.readable.readdirSync(e).filter(t=>!this._deletedFiles.has(`${e}/${t}`)))}catch{}const n={};return t.filter(e=>{const t=!n[e];return n[e]=!0,t})}async deletePath(e){this._deletedFiles.add(e),await this.updateLog(`d${e}\n`)}async updateLog(e){if(this._deleteLog+=e,this._deleteLogUpdatePending)return void(this._deleteLogUpdateNeeded=!0);this._deleteLogUpdatePending=!0;const t=await this.writable.openFile(Bz,$B("w"));try{await t.write(IP(this._deleteLog)),this._deleteLogUpdateNeeded&&(this._deleteLogUpdateNeeded=!1,await this.updateLog(""))}catch(e){this._deleteLogError=e}finally{this._deleteLogUpdatePending=!1}}_reparseDeletionLog(){this._deletedFiles.clear();for(const e of this._deleteLog.split("\n"))e.startsWith("d")&&this._deletedFiles.add(e.slice(1))}checkInitialized(){if(!this._isInitialized)throw new gP(fP.EPERM,"OverlayFS is not initialized. Please initialize OverlayFS using its initialize() method before using it.");if(!this._deleteLogError)return;const e=this._deleteLogError;throw delete this._deleteLogError,e}checkPath(e){if(e==Bz)throw gP.With("EPERM",e,"checkPath")}createParentDirectoriesSync(e){let t=TP(e);const n=[];for(;!this.writable.existsSync(t);)n.push(t),t=TP(t);for(const e of n.reverse())this.writable.mkdirSync(e,this.statSync(e).mode)}async createParentDirectories(e){let t=TP(e);const n=[];for(;!await this.writable.exists(t);)n.push(t),t=TP(t);for(const e of n.reverse()){const t=await this.stat(e);await this.writable.mkdir(e,t.mode)}}copyForWriteSync(e){if(!this.existsSync(e))throw gP.With("ENOENT",e,"copyForWrite");this.writable.existsSync(TP(e))||this.createParentDirectoriesSync(e),this.writable.existsSync(e)||this.copyToWritableSync(e)}async copyForWrite(e){if(!await this.exists(e))throw gP.With("ENOENT",e,"copyForWrite");if(await this.writable.exists(TP(e))||await this.createParentDirectories(e),!await this.writable.exists(e))return this.copyToWritable(e)}copyToWritableSync(e){const t={stack:[],error:void 0,hasError:!1};try{const n=this.statSync(e);if(n.isDirectory())return void this.writable.mkdirSync(e,n.mode);const i=new Uint8Array(n.size);Lz(t,this.readable.openFileSync(e,"r"),!1).readSync(i);Lz(t,this.writable.createFileSync(e,"w",146|n.mode),!1).writeSync(i)}catch(e){t.error=e,t.hasError=!0}finally{Pz(t)}}async copyToWritable(e){const t={stack:[],error:void 0,hasError:!1};try{const n=await this.stat(e);if(n.isDirectory())return void await this.writable.mkdir(e,n.mode);const i=new Uint8Array(n.size),r=Lz(t,await this.readable.openFile(e,"r"),!0);await r.read(i);const s=Lz(t,await this.writable.createFile(e,"w",146|n.mode),!0);await s.write(i)}catch(e){t.error=e,t.hasError=!0}finally{const e=Pz(t);e&&await e}}}class Uz extends(function(e){return class extends Fz{constructor(...t){super(),this._fs=new e(...t)}}}($z)){}function Vz(e,t,n){if(e instanceof gP)return e;const i=e instanceof DOMException?fP[function(e){switch(e.name){case"IndexSizeError":case"HierarchyRequestError":case"InvalidCharacterError":case"InvalidStateError":case"SyntaxError":case"NamespaceError":case"TypeMismatchError":case"ConstraintError":case"VersionError":case"URLMismatchError":case"InvalidNodeTypeError":return"EINVAL";case"WrongDocumentError":return"EXDEV";case"NoModificationAllowedError":case"InvalidModificationError":case"InvalidAccessError":case"SecurityError":case"NotAllowedError":return"EACCES";case"NotFoundError":return"ENOENT";case"NotSupportedError":return"ENOTSUP";case"InUseAttributeError":return"EBUSY";case"NetworkError":return"ENETDOWN";case"AbortError":return"EINTR";case"QuotaExceededError":return"ENOSPC";case"TimeoutError":return"ETIMEDOUT";case"ReadOnlyError":return"EROFS";default:return"EIO"}}(e)]:fP.EIO,r=new gP(i,e.message,t,n);return r.stack=e.stack,r.cause=e.cause,r}globalThis.__zenfs__=ue;class zz extends(Mz(XB)){constructor(e){super(),this._handles=new Map,this._sync=C$.create({name:"accessfs-cache"}),this._handles.set("/",e)}metadata(){return{...super.metadata(),name:"WebAccess",noResizableBuffers:!0}}async sync(e,t){await this.writeFile(e,t)}async rename(e,t){const n=await this.getHandle(e);if(n instanceof FileSystemDirectoryHandle){const n=await this.readdir(e);if(await this.mkdir(t),!n.length)return void await this.unlink(e);for(const i of n)await this.rename(bP(e,i),bP(t,i)),await this.unlink(e);return}if(!(n instanceof FileSystemFileHandle))throw new gP(fP.ENOTSUP,"Not a file or directory handle",e,"rename");const i=await n.getFile().catch(t=>{throw Vz(t,e,"rename")}),r=await this.getHandle(TP(t));if(!(r instanceof FileSystemDirectoryHandle))return;const s=await r.getFileHandle(xP(t),{create:!0}).catch(e=>{throw Vz(e,t,"rename")}),o=await s.createWritable();await o.write(await i.arrayBuffer()),await o.close(),await this.unlink(e)}async writeFile(e,t){if(t.buffer.resizable)throw new gP(fP.EINVAL,"Resizable buffers can not be written",e,"write");const n=await this.getHandle(TP(e));if(!(n instanceof FileSystemDirectoryHandle))return;const i=await n.getFileHandle(xP(e),{create:!0}),r=await i.createWritable();await r.write(t),await r.close()}async createFile(e,t){return await this.writeFile(e,new Uint8Array),this.openFile(e,t)}async stat(e){const t=await this.getHandle(e);if(!t)throw gP.With("ENOENT",e,"stat");if(t instanceof FileSystemDirectoryHandle)return new DB({mode:511|dB,size:4096});if(t instanceof FileSystemFileHandle){const{lastModified:e,size:n}=await t.getFile();return new DB({mode:511|uB,size:n,mtimeMs:e})}throw new gP(fP.EBADE,"Handle is not a directory or file",e,"stat")}async openFile(e,t){const n=await this.getHandle(e);if(!(n instanceof FileSystemFileHandle))throw gP.With("EISDIR",e,"openFile");const i=await n.getFile().catch(t=>{throw Vz(t,e,"openFile")}),r=new Uint8Array(await i.arrayBuffer()),s=new DB({mode:511|uB,size:i.size,mtimeMs:i.lastModified});return new WB(this,e,t,s,r)}async unlink(e){const t=await this.getHandle(TP(e));if(!(t instanceof FileSystemDirectoryHandle))throw gP.With("ENOTDIR",TP(e),"unlink");await t.removeEntry(xP(e),{recursive:!0}).catch(t=>{throw Vz(t,e,"unlink")})}async link(e){}async rmdir(e){return this.unlink(e)}async mkdir(e){if(await this.getHandle(e).catch(e=>{if("ENOENT"!=e.code)throw e}))throw gP.With("EEXIST",e,"mkdir");const t=await this.getHandle(TP(e));if(!(t instanceof FileSystemDirectoryHandle))throw gP.With("ENOTDIR",e,"mkdir");await t.getDirectoryHandle(xP(e),{create:!0})}async readdir(e){const t=await this.getHandle(e);if(!(t instanceof FileSystemDirectoryHandle))throw gP.With("ENOTDIR",e,"readdir");const n=[];for await(const e of t.keys())n.push(e);return n}async getHandle(e){if(this._handles.has(e))return this._handles.get(e);let t="/";for(const n of e.split("/").slice(1)){const e=this._handles.get(t);if(!(e instanceof FileSystemDirectoryHandle))throw gP.With("ENOTDIR",t,"getHandle");t=bP(t,n);const i=await e.getDirectoryHandle(n).catch(i=>{switch(i.name){case"TypeMismatchError":return e.getFileHandle(n).catch(e=>{});case"TypeError":throw new gP(fP.ENOENT,i.message,t,"getHandle");default:throw Vz(i,t,"getHandle")}});i&&this._handles.set(t,i)}return this._handles.get(e)}}function jz(e){return new Promise((t,n)=>{e.oncomplete=e.onsuccess=()=>t(e.result),e.onabort=e.onerror=()=>n(e.error)})}let Yz;function Gz(){return Yz||(Yz=function(e,t){const n=indexedDB.open(e);n.onupgradeneeded=()=>n.result.createObjectStore(t);const i=jz(n);return(e,n)=>i.then(i=>n(i.transaction(t,e).objectStore(t)))}("keyval-store","keyval")),Yz}class Hz extends zz{constructor(e){super(e)}async readFile(e){const t=await this.getHandle(e);if(t instanceof window.FileSystemFileHandle){const e=await t.getFile();return await e.text()}return""}}class Wz extends ze.FS{#e=null;#t=new TextEncoder;constructor(){super()}async showDirectoryPicker(){const e=await window.showDirectoryPicker({mode:"readwrite"});if("granted"!==await e.requestPermission({mode:"readwrite"}))throw new Error("readwrite access to directory not granted");return await this.setFSCache(e),this.#e=new Hz(e),e}async loadFS(){let e=await this.getFSCache();if(!e)return null;if("granted"!==await e.requestPermission({mode:"readwrite"}))throw new Error("readwrite access to directory not granted");return this.#e=new Hz(e),e}async getFSCache(){return function(e,t=Gz()){return t("readonly",t=>jz(t.get(e)))}("mixly-pyodide-fs")}async setFSCache(e){await function(e,t,n=Gz()){return n("readwrite",n=>(n.put(t,e),jz(n.transaction)))}("mixly-pyodide-fs",e)}async createFile(e){return this.#e.createFile(e,"")}async readFile(e){return this.#e.readFile(e)}async writeFile(e,t){const n=this.#t.encode(t);return this.#e.writeFile(e,n)}async isFile(e){const t=await this.#e.stat(e);return!(!t||33279!==t.mode)}async renameFile(e,t){return await this.#e.rename(e,t)}async moveFile(e,t){return this.renameFile(e,t)}async deleteFile(e){return this.#e.unlink(e)}async createDirectory(e){return this.#e.mkdir(e,511)}async readDirectory(e){return await this.#e.readdir(e)}async isDirectory(e){const t=await this.#e.stat(e);return!(!t||16895!==t.mode)}async isDirectoryEmpty(e){const t=await this.readDirectory(e);return!t?.length}async renameDirectory(e,t){return this.#e.rename(e,t)}async moveDirectory(e,t){return this.#e.rename(e,t)}async deleteDirectory(e){return this.#e.rmdir(e)}}class Xz extends ze.FileTree{constructor(){super(new Wz)}async readFolder(e){let t=[];try{const n=this.getFS();if(!await n.isDirectory(e))return t;const i=await n.readDirectory(e);for(let r of i){const i=Rx.join(e,r);if(await n.isDirectory(i)){const e=await n.isDirectoryEmpty(i);t.push({type:"folder",id:i,children:!e,title:`/${this.getRootFolderName()}${i}`})}else t.push({type:"file",id:i,children:!1,title:`/${this.getRootFolderName()}${i}`})}}catch(e){ze.Debug.error(e)}return t}}class qz extends ze.PageBase{static{ze.HTMLTemplate.add("html/statusbar/statusbar-filesystem.html",new ze.HTMLTemplate('\r\n
\r\n
\r\n
\r\n
')),ze.HTMLTemplate.add("html/statusbar/statusbar-filesystem-open-fs.html",new ze.HTMLTemplate('\r\n
\r\n \r\n
')),ze.HTMLTemplate.add("html/statusbar/statusbar-filesystem-editor-empty.html",new ze.HTMLTemplate('\r\n
\r\n
\r\n
')),this.init=function(){ze.StatusBarsManager.typesRegistry.register(["file-system"],qz);const e=ze.Workspace.getMain().getStatusBarsManager();return e.add({type:"file-system",id:"file-system",name:Ve.Msg.PYTHON_PYODIDE_FILE_SYSTEM,title:Ve.Msg.PYTHON_PYODIDE_FILE_SYSTEM}),e.changeTo("output"),e.get("file-system")}}#n=null;#i=null;#r=null;#s=null;#o=null;#a=null;#l=null;#u=null;#c=!1;#d=!1;#h=!1;#p=null;constructor(){super();const e=Dx()(ze.HTMLTemplate.get("html/statusbar/statusbar-filesystem.html").render());this.setContent(e),this.#l=new Xz,this.#i=e.children(".file-tree"),this.#s=Dx()(ze.HTMLTemplate.get("html/statusbar/statusbar-filesystem-open-fs.html").render({msg:{loadFS:Ve.Msg.PYTHON_PYODIDE_LOAD_FILE_SYSTEM}})),this.#i.append(this.#s),this.#a=new ze.StatusBar,this.#r=e.children(".editor"),this.#o=Dx()(ze.HTMLTemplate.get("html/statusbar/statusbar-filesystem-editor-empty.html").render()),this.#r.append(this.#o)}#f(){this.#u=new ze.DragV(this.getContent()[0],{min:"150px",startSize:"15%",full:[!1,!1]}),this.#u.bind("sizeChanged",()=>{this.resize()}),this.#s.children("button").click(()=>{this.selectFS().catch(ze.Debug.error)}),this.#l.bind("beforeSelectLeaf",e=>{const t=e[0].id,n=this.#a.getFileMode(Rx.extname(t));return n?(this.#a.setMode(n),!0):(pP.layer.msg(ze.Msg.Lang["statusbar.ampy.cannotEdit"],{time:1e3}),!1)}),this.#l.bind("afterSelectLeaf",async e=>{const t=e[0].id;this.#l.showProgress();const n=this.#l.getFS();try{const e=await n.readFile(t);this.showEditor(),this.#a.setValue(e),this.#a.scrollToTop(),this.#a.focus(),this.setStatus(!1)}catch(e){ze.Debug.error(e),this.hideEditor(),this.#l.deselectAll()}this.#l.hideProgress()}),this.#l.bind("afterCreateNode",e=>{this.#l.refreshFolder(e)}),this.#l.bind("afterDeleteNode",e=>{this.#l.refreshFolder(e)}),this.#l.bind("afterRenameNode",e=>{this.#l.refreshFolder(e)}),this.#l.bind("afterRefreshNode",()=>{this.#l.getSelectedNodeId()||this.hideEditor()});const e=this.#l.getContextMenu().getItem("menu");e.add({weight:7,id:"copy_path",data:{isHtmlName:!0,name:ze.Menu.getItem(ze.Msg.Lang["fileTree.copyPath"]),callback:(e,{$trigger:t})=>{let n=null;n="root"===t.attr("type")?this.#l.getRootFolderTitle():t.attr("title"),navigator.clipboard.writeText(n).catch(ze.Debug.error)}}}),e.add({weight:14,id:"sep5",preconditionFn:e=>{const t=this.#l.getSelectedNodeId();let n=e.attr("type"),i=e.attr("id");return"file"!==n||t===i},data:"---------"}),e.add({weight:15,id:"refresh",preconditionFn:e=>{const t=this.#l.getSelectedNodeId();let n=e.attr("type"),i=e.attr("id");return"file"!==n||t===i},data:{isHtmlName:!0,name:ze.Menu.getItem(ze.Msg.Lang["statusbar.ampy.refresh"]),callback:(e,{$trigger:t})=>{let n=t.attr("type");if("root"===n)this.#l.openRootFolder(),this.#l.refreshFolder("/");else if("folder"===n){let e=t.attr("id");this.#l.openNode(e),this.#l.refreshFolder(e)}else{const e=this.#l.getSelectedNodes();this.#l.runEvent("afterSelectLeaf",e)}}}}),e.add({weight:16,id:"sep6",preconditionFn:e=>{let t=e.attr("type");return["root"].includes(t)},data:"---------"}),e.add({weight:17,id:"exit",preconditionFn:e=>{let t=e.attr("type");return["root"].includes(t)},data:{isHtmlName:!0,name:ze.Menu.getItem(ze.Msg.Lang["statusbar.ampy.exit"]),callback:()=>{this.closeFS()}}}),e.remove("copy"),e.remove("cut"),e.remove("paste"),e.remove("sep2");const t=this.#a.getContextMenu().getItem("code");t.empty(),t.add({weight:0,id:"cut",data:{isHtmlName:!0,name:ze.Menu.getItem(ze.Msg.Lang["editor.contextMenu.cut"],"Ctrl+X"),callback:()=>this.#a.cut()}}),t.add({weight:1,id:"copy",data:{isHtmlName:!0,name:ze.Menu.getItem(ze.Msg.Lang["editor.contextMenu.copy"],"Ctrl+C"),callback:()=>this.#a.copy()}}),t.add({weight:2,id:"paste",data:{isHtmlName:!0,name:ze.Menu.getItem(ze.Msg.Lang["editor.contextMenu.paste"],"Ctrl+V"),callback:()=>this.#a.paste()}}),t.add({weight:3,id:"sep1",data:"---------"}),t.add({weight:4,id:"togglecomment",data:{isHtmlName:!0,name:ze.Menu.getItem(ze.Msg.Lang["editor.contextMenu.togglecomment"],"Ctrl+/"),callback:()=>this.#a.commentLine()}}),t.add({weight:6,id:"sep2",preconditionFn:()=>this.#h,data:"---------"}),t.add({weight:7,id:"save",preconditionFn:()=>this.#h,data:{isHtmlName:!0,name:ze.Menu.getItem(ze.Msg.Lang["file.save"],"Ctrl+S"),callback:async()=>{await this.put()}}});const{commands:n}=this.#a.getEditor();n.addCommand({name:"save",bindKey:"Ctrl-S",exec:async()=>{this.#h&&await this.put()}})}async put(){this.#l.showProgress();const e=this.#l.getSelectedNodeId(),t=this.#l.getFS();try{await t.writeFile(e,this.#a.getValue()),this.setStatus(!1)}catch(e){ze.Debug.error(e)}finally{this.#l.hideProgress()}}showFileTree(){this.#c||(this.#s.detach(),this.#i.empty(),this.#i.append(this.#l.getContent()),this.#c=!0)}hideFileTree(){this.#c&&(this.#l.getContent().detach(),this.#i.empty(),this.#i.append(this.#s),this.#c=!1)}showEditor(){this.#d||(this.#o.detach(),this.#r.empty(),this.#r.append(this.#a.getContent()),this.#d=!0)}hideEditor(){this.#d&&(this.#a.getContent().detach(),this.#r.empty(),this.#r.append(this.#o),this.#d=!1,this.setStatus(!1))}getDrag(){return this.#u}init(){super.init(),this.hideCloseBtn(),this.#a.init(),this.#f();const e=this.#a.getEditor();e.setReadOnly(!1),e.renderer.setShowGutter(!0),e.setOptions({enableBasicAutocompletion:!0,enableSnippets:!0,enableLiveAutocompletion:!0,newLineMode:"unix"}),e.on("change",()=>{this.setStatus(!0)}),this.loadFS().catch(ze.Debug.error)}async loadFS(){const e=this.#l.getFS(),t=await e.loadFS();await this.openFS(t)}async selectFS(){const e=this.#l.getFS(),t=await e.showDirectoryPicker();await this.openFS(t)}async openFS(e){if(!e?.name)return;const t="/"+e.name;this.#l.setFolderPath("/"),this.#l.setRootFolderTitle(t),this.#l.setRootFolderName(e.name),this.#l.openRootFolder(),this.showFileTree(),this.#p=await window.pyodide.mountNativeFS(t,e)}closeFS(){const e=this.#l.getRootFolderTitle();if(Object.keys(window.pyodide.FS.root.contents).includes(Rx.basename(e))){const t=window.pyodide.FS.lookupPath(e,{follow_mount:!1});window.pyodide.FS.isMountpoint(t.node)&&window.pyodide.FS.unmount(e)}this.#l.getFS().setFSCache(null),this.#l.deselectAll(),this.hideFileTree(),this.hideEditor(),this.setStatus(!1)}onMounted(){super.onMounted(),this.#a.onMounted(),this.#l.onMounted()}onUnmounted(){super.onUnmounted(),this.#a.onUnmounted(),this.#l.onUnmounted()}resize(){super.resize(),this.#a.resize(),this.#l.resize()}setStatus(e){this.#h!==e&&(this.#h=e)}getNativeFS(){return this.#p}dispose(){this.#a.dispose(),this.#a=null,this.#l.dispose(),this.#l=null,super.dispose()}}class Kz extends ze.PageBase{static{ze.HTMLTemplate.add("html/statusbar/statusbar-tool.html",new ze.HTMLTemplate('\r\n
\r\n Teachable Machine\r\n
')),this.init=function(){ze.StatusBarsManager.typesRegistry.register(["tool"],Kz);const e=ze.Workspace.getMain().getStatusBarsManager();return e.add({type:"tool",id:"tool",name:Ve.Msg.PYTHON_PYODIDE_TOOL,title:Ve.Msg.PYTHON_PYODIDE_TOOL}),e.changeTo("output"),e.get("tool")}}constructor(){super();const e=Dx()(ze.HTMLTemplate.get("html/statusbar/statusbar-tool.html").render());this.setContent(e)}init(){super.init(),this.hideCloseBtn()}onMounted(){}onUnmounted(){}resize(){}}class Zz extends ze.PageBase{static{ze.HTMLTemplate.add("html/statusbar/statusbar-game.html",new ze.HTMLTemplate('\r\n
\r\n
{{d.epoch}}: 0
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
')),this.init=function(){ze.StatusBarsManager.typesRegistry.register(["game"],Zz);const e=ze.Workspace.getMain().getStatusBarsManager();return e.add({type:"game",id:"game",name:Ve.Msg.PYTHON_PYODIDE_GAME,title:Ve.Msg.PYTHON_PYODIDE_GAME}),e.changeTo("output"),e.get("game")}}#m=null;#g=null;#_=null;#y=null;#v=null;#b=null;#T=10;#x=500;#E=[];#w=!1;#I=0;#A=null;constructor(){super();const e=Dx()(ze.HTMLTemplate.get("html/statusbar/statusbar-game.html").render({epoch:Ve.Msg.PYTHON_PYODIDE_GAME_EPOCH,start:Ve.Msg.PYTHON_PYODIDE_GAME_START,pause:Ve.Msg.PYTHON_PYODIDE_GAME_PAUSE,random:Ve.Msg.PYTHON_PYODIDE_GAME_RANDOM,reset:Ve.Msg.PYTHON_PYODIDE_GAME_RESET}));this.setContent(e),this.#m=e.find(".start-btn"),this.#g=e.find(".pause-btn"),this.#_=e.find(".random-btn"),this.#y=e.find(".reset-btn"),this.#v=e.find(".generation"),this.#b=e.find(".grid"),this.#S()}#S(){this.#m.click(()=>this.startGame()),this.#g.click(()=>this.pauseGame()),this.#_.click(()=>this.randomInitialize()),this.#y.click(()=>this.resetGame())}initializeGrid(){this.#b.empty(),this.#E=[];for(let e=0;ethis.toggleCell(e,t)),this.#b.append(n)}}this.updateGridDisplay()}toggleCell(e,t){this.#w||(this.#E[e][t]=0===this.#E[e][t]?1:0,this.updateGridDisplay())}updateGridDisplay(){const e=this.#b.children(".cell");for(let t=0;t=0&&s=0&&othis.nextGeneration(),this.#x),this.updateButtons())}pauseGame(){this.#w&&(this.#w=!1,clearInterval(this.#A),this.updateButtons())}randomInitialize(){if(!this.#w){for(let e=0;e{let s=`${e}-${t}`;return n&&(s+=`-${n}`),i&&(s+=`__${i}`),r&&(s+=`--${r}`),s},tj=Symbol("namespaceContextKey"),nj=e=>{const t=e||($M()?tO(tj,EI(Jz)):EI(Jz));return ak(()=>CI(t)||Jz)},ij=(e,t)=>{const n=nj(t);return{namespace:n,b:(t="")=>ej(n.value,e,t,"",""),e:t=>t?ej(n.value,e,"",t,""):"",m:t=>t?ej(n.value,e,"","",t):"",be:(t,i)=>t&&i?ej(n.value,e,t,i,""):"",em:(t,i)=>t&&i?ej(n.value,e,"",t,i):"",bm:(t,i)=>t&&i?ej(n.value,e,t,"",i):"",bem:(t,i,r)=>t&&i&&r?ej(n.value,e,t,i,r):"",is:(e,...t)=>{const n=!(t.length>=1)||t[0];return e&&n?`is-${e}`:""},cssVar:e=>{const t={};for(const i in e)e[i]&&(t[`--${n.value}-${i}`]=e[i]);return t},cssVarName:e=>`--${n.value}-${e}`,cssVarBlock:t=>{const i={};for(const r in t)t[r]&&(i[`--${n.value}-${e}-${r}`]=t[r]);return i},cssVarBlockName:t=>`--${n.value}-${e}-${t}`}},rj=e=>void 0===e,sj=e=>"boolean"==typeof e,oj=e=>"number"==typeof e,aj=e=>"undefined"!=typeof Element&&e instanceof Element;var lj,uj=Object.defineProperty,cj=Object.defineProperties,dj=Object.getOwnPropertyDescriptors,hj=Object.getOwnPropertySymbols,pj=Object.prototype.hasOwnProperty,fj=Object.prototype.propertyIsEnumerable,mj=(e,t,n)=>t in e?uj(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;function gj(e,t){var n;const i=wI();var r,s;return kO(()=>{i.value=e()},(r=((e,t)=>{for(var n in t||(t={}))pj.call(t,n)&&mj(e,n,t[n]);if(hj)for(var n of hj(t))fj.call(t,n)&&mj(e,n,t[n]);return e})({},t),s={flush:null!=(n=null==t?void 0:t.flush)?n:"sync"},cj(r,dj(s)))),dI(i)}const _j="undefined"!=typeof window,yj=(Object.prototype.toString,e=>"function"==typeof e),vj=()=>{},bj=_j&&(null==(lj=null==window?void 0:window.navigator)?void 0:lj.userAgent)&&/iP(ad|hone|od)/.test(window.navigator.userAgent);function Tj(e){return"function"==typeof e?e():CI(e)}function xj(e,t){return function(...n){return new Promise((i,r)=>{Promise.resolve(e(()=>t.apply(this,n),{fn:t,thisArg:this,args:n})).then(i).catch(r)})}}function Ej(e,t=!0,n=!0,i=!1){let r,s,o=0,a=!0,l=vj;const u=()=>{r&&(clearTimeout(r),r=void 0,l(),l=vj)};return c=>{const d=Tj(e),h=Date.now()-o,p=()=>s=c();return u(),d<=0?(o=Date.now(),p()):(h>d&&(n||!a)?(o=Date.now(),p()):t&&(s=new Promise((e,t)=>{l=i?t:e,r=setTimeout(()=>{o=Date.now(),a=!0,e(p()),u()},Math.max(0,d-h))})),n||r||(r=setTimeout(()=>a=!0,d)),a=!1,s)}}function wj(e){return!!QE()&&(JE(e),!0)}Object.defineProperty,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;function Ij(e,t=200,n=!1,i=!0,r=!1){return xj(Ej(t,n,i,r),e)}Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;function Aj(e,t,n={}){const{immediate:i=!0}=n,r=EI(!1);let s=null;function o(){s&&(clearTimeout(s),s=null)}function a(){r.value=!1,o()}function l(...n){o(),r.value=!0,s=setTimeout(()=>{r.value=!1,s=null,e(...n)},Tj(t))}return i&&(r.value=!0,_j&&l()),wj(a),{isPending:dI(r),start:l,stop:a}}Object.defineProperty,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;const Sj={current:0},Cj=EI(0),Oj=Symbol("elZIndexContextKey"),Mj=Symbol("zIndexContextKey"),kj=e=>{const t=$M()?tO(Oj,Sj):Sj,n=e||($M()?tO(Mj,void 0):void 0),i=ak(()=>{const e=CI(n);return oj(e)?e:2e3}),r=ak(()=>i.value+Cj.value);return!_j&&tO(Oj),{initialZIndex:i,currentZIndex:r,nextZIndex:()=>(t.current++,Cj.value=t.current,r.value)}};const Rj=Array.isArray;const Nj="object"==typeof global&&global&&global.Object===Object&&global;var Dj="object"==typeof self&&self&&self.Object===Object&&self;const Fj=Nj||Dj||Function("return this")();const Lj=Fj.Symbol;var Pj=Object.prototype,Bj=Pj.hasOwnProperty,$j=Pj.toString,Uj=Lj?Lj.toStringTag:void 0;const Vj=function(e){var t=Bj.call(e,Uj),n=e[Uj];try{e[Uj]=void 0;var i=!0}catch(e){}var r=$j.call(e);return i&&(t?e[Uj]=n:delete e[Uj]),r};var zj=Object.prototype.toString;const jj=function(e){return zj.call(e)};var Yj=Lj?Lj.toStringTag:void 0;const Gj=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":Yj&&Yj in Object(e)?Vj(e):jj(e)};const Hj=function(e){return null!=e&&"object"==typeof e};const Wj=function(e){return"symbol"==typeof e||Hj(e)&&"[object Symbol]"==Gj(e)};var Xj=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,qj=/^\w*$/;const Kj=function(e,t){if(Rj(e))return!1;var n=typeof e;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=e&&!Wj(e))||(qj.test(e)||!Xj.test(e)||null!=t&&e in Object(t))};const Zj=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)};const Qj=function(e){if(!Zj(e))return!1;var t=Gj(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t};const Jj=Fj["__core-js_shared__"];var eY=function(){var e=/[^.]+$/.exec(Jj&&Jj.keys&&Jj.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();const tY=function(e){return!!eY&&eY in e};var nY=Function.prototype.toString;const iY=function(e){if(null!=e){try{return nY.call(e)}catch(e){}try{return e+""}catch(e){}}return""};var rY=/^\[object .+?Constructor\]$/,sY=Function.prototype,oY=Object.prototype,aY=sY.toString,lY=oY.hasOwnProperty,uY=RegExp("^"+aY.call(lY).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");const cY=function(e){return!(!Zj(e)||tY(e))&&(Qj(e)?uY:rY).test(iY(e))};const dY=function(e,t){return null==e?void 0:e[t]};const hY=function(e,t){var n=dY(e,t);return cY(n)?n:void 0};const pY=hY(Object,"create");const fY=function(){this.__data__=pY?pY(null):{},this.size=0};const mY=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t};var gY=Object.prototype.hasOwnProperty;const _Y=function(e){var t=this.__data__;if(pY){var n=t[e];return"__lodash_hash_undefined__"===n?void 0:n}return gY.call(t,e)?t[e]:void 0};var yY=Object.prototype.hasOwnProperty;const vY=function(e){var t=this.__data__;return pY?void 0!==t[e]:yY.call(t,e)};const bY=function(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=pY&&void 0===t?"__lodash_hash_undefined__":t,this};function TY(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t-1};const MY=function(e,t){var n=this.__data__,i=IY(n,e);return i<0?(++this.size,n.push([e,t])):n[i][1]=t,this};function kY(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t(t,n)=>oG(t,n,CI(e)),oG=(e,t,n)=>iG(n,e,e).replace(/\{(\w+)\}/g,(e,n)=>{var i;return`${null!=(i=null==t?void 0:t[n])?i:`{${n}}`}`}),aG=Symbol("localeContextKey"),lG=e=>{const t=e||tO(aG,EI());return(e=>({lang:ak(()=>CI(e).name),locale:xI(e)?e:EI(e),t:sG(e)}))(ak(()=>t.value||rG))};const uG=function(e){for(var t=-1,n=null==e?0:e.length,i={};++t{if(!Jx(e)||Jx(n=e)&&n[cG])return e;var n;const{values:i,required:r,default:s,type:o,validator:a}=e,l=i||a?n=>{let r=!1,o=[];if(i&&(o=Array.from(i),Gx(e,"default")&&o.push(s),r||(r=o.includes(n))),a&&(r||(r=a(n))),!r&&o.length>0){const e=[...new Set(o)].map(e=>JSON.stringify(e)).join(", ");pk(`Invalid prop: validation failed${t?` for prop "${t}"`:""}. Expected one of [${e}], got value ${JSON.stringify(n)}.`)}return r}:void 0,u={type:o,required:!!r,validator:l,[cG]:!0};return Gx(e,"default")&&(u.default=s),u},hG=e=>uG(Object.entries(e).map(([e,t])=>[e,dG(t,e)])),pG=["","default","small","large"],fG=dG({type:String,values:pG,required:!1}),mG=Symbol("size"),gG=Symbol("emptyValuesContextKey"),_G=hG({emptyValues:Array,valueOnClear:{type:[String,Number,Boolean,Function],default:void 0,validator:e=>(e=Kx(e)?e():e,Hx(e)?e.every(e=>!e):!e)}}),yG=e=>Object.keys(e),vG=EI();function bG(e,t=void 0){const n=$M()?tO(Qz,vG):vG;return e?ak(()=>{var i,r;return null!=(r=null==(i=n.value)?void 0:i[e])?r:t}):n}const TG=(e,t,n=!1)=>{var i;const r=!!$M(),s=r?bG():void 0,o=null!=(i=null==t?void 0:t.provide)?i:r?eO:void 0;if(!o)return;const a=ak(()=>{const t=CI(e);return(null==s?void 0:s.value)?xG(s.value,t):t});return o(Qz,a),o(aG,ak(()=>a.value.locale)),o(tj,ak(()=>a.value.namespace)),o(Mj,ak(()=>a.value.zIndex)),o(mG,{size:ak(()=>a.value.size||"")}),o(gG,ak(()=>({emptyValues:a.value.emptyValues,valueOnClear:a.value.valueOnClear}))),!n&&vG.value||(vG.value=a.value),a},xG=(e,t)=>{const n=[...new Set([...yG(e),...yG(t)])],i={};for(const r of n)i[r]=void 0!==t[r]?t[r]:e[r];return i},EG=hG({a11y:{type:Boolean,default:!0},locale:{type:Object},size:fG,button:{type:Object},card:{type:Object},dialog:{type:Object},link:{type:Object},experimentalFeatures:{type:Object},keyboardNavigation:{type:Boolean,default:!0},message:{type:Object},zIndex:Number,namespace:{type:String,default:"el"},..._G}),wG={placement:"top"},IG=dS({name:"ElConfigProvider",props:EG,setup(e,{slots:t}){const n=TG(e);return DO(()=>e.message,e=>{var t,i;Object.assign(wG,null!=(i=null==(t=null==n?void 0:n.value)?void 0:t.message)?i:{},null!=e?e:{})},{immediate:!0,deep:!0}),()=>mC(t,"default",{config:null==n?void 0:n.value})}}),AG=(e,t)=>{if(e.install=n=>{for(const i of[e,...Object.values(null!=t?t:{})])n.component(i.name,i)},t)for(const[n,i]of Object.entries(t))e[n]=i;return e},SG=e=>(e.install=Bx,e),CG=AG(IG); /*! Element Plus Icons Vue v2.3.2 */ -var EG=sS({name:"ArrowDown",__name:"arrow-down",setup:e=>(e,t)=>(iM(),uM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[gM("path",{fill:"currentColor",d:"M831.872 340.864 512 652.672 192.128 340.864a30.59 30.59 0 0 0-42.752 0 29.12 29.12 0 0 0 0 41.6L489.664 714.24a32 32 0 0 0 44.672 0l340.288-331.712a29.12 29.12 0 0 0 0-41.728 30.59 30.59 0 0 0-42.752 0z"})]))}),wG=EG,IG=sS({name:"ArrowLeft",__name:"arrow-left",setup:e=>(e,t)=>(iM(),uM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[gM("path",{fill:"currentColor",d:"M609.408 149.376 277.76 489.6a32 32 0 0 0 0 44.672l331.648 340.352a29.12 29.12 0 0 0 41.728 0 30.59 30.59 0 0 0 0-42.752L339.264 511.936l311.872-319.872a30.59 30.59 0 0 0 0-42.688 29.12 29.12 0 0 0-41.728 0"})]))}),AG=IG,SG=sS({name:"ArrowRight",__name:"arrow-right",setup:e=>(e,t)=>(iM(),uM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[gM("path",{fill:"currentColor",d:"M340.864 149.312a30.59 30.59 0 0 0 0 42.752L652.736 512 340.864 831.872a30.59 30.59 0 0 0 0 42.752 29.12 29.12 0 0 0 41.728 0L714.24 534.336a32 32 0 0 0 0-44.672L382.592 149.376a29.12 29.12 0 0 0-41.728 0z"})]))}),CG=SG,OG=sS({name:"ArrowUp",__name:"arrow-up",setup:e=>(e,t)=>(iM(),uM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[gM("path",{fill:"currentColor",d:"m488.832 344.32-339.84 356.672a32 32 0 0 0 0 44.16l.384.384a29.44 29.44 0 0 0 42.688 0l320-335.872 319.872 335.872a29.44 29.44 0 0 0 42.688 0l.384-.384a32 32 0 0 0 0-44.16L535.168 344.32a32 32 0 0 0-46.336 0"})]))}),MG=OG,kG=sS({name:"Camera",__name:"camera",setup:e=>(e,t)=>(iM(),uM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[gM("path",{fill:"currentColor",d:"M896 256H128v576h768zm-199.424-64-32.064-64h-304.96l-32 64zM96 192h160l46.336-92.608A64 64 0 0 1 359.552 64h304.96a64 64 0 0 1 57.216 35.328L768.192 192H928a32 32 0 0 1 32 32v640a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V224a32 32 0 0 1 32-32m416 512a160 160 0 1 0 0-320 160 160 0 0 0 0 320m0 64a224 224 0 1 1 0-448 224 224 0 0 1 0 448"})]))}),RG=kG,NG=sS({name:"Check",__name:"check",setup:e=>(e,t)=>(iM(),uM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[gM("path",{fill:"currentColor",d:"M406.656 706.944 195.84 496.256a32 32 0 1 0-45.248 45.248l256 256 512-512a32 32 0 0 0-45.248-45.248L406.592 706.944z"})]))}),DG=NG,FG=sS({name:"CircleCheck",__name:"circle-check",setup:e=>(e,t)=>(iM(),uM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[gM("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768m0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896"}),gM("path",{fill:"currentColor",d:"M745.344 361.344a32 32 0 0 1 45.312 45.312l-288 288a32 32 0 0 1-45.312 0l-160-160a32 32 0 1 1 45.312-45.312L480 626.752z"})]))}),LG=FG,PG=sS({name:"CircleCloseFilled",__name:"circle-close-filled",setup:e=>(e,t)=>(iM(),uM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[gM("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m0 393.664L407.936 353.6a38.4 38.4 0 1 0-54.336 54.336L457.664 512 353.6 616.064a38.4 38.4 0 1 0 54.336 54.336L512 566.336 616.064 670.4a38.4 38.4 0 1 0 54.336-54.336L566.336 512 670.4 407.936a38.4 38.4 0 1 0-54.336-54.336z"})]))}),BG=PG,$G=sS({name:"CircleClose",__name:"circle-close",setup:e=>(e,t)=>(iM(),uM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[gM("path",{fill:"currentColor",d:"m466.752 512-90.496-90.496a32 32 0 0 1 45.248-45.248L512 466.752l90.496-90.496a32 32 0 1 1 45.248 45.248L557.248 512l90.496 90.496a32 32 0 1 1-45.248 45.248L512 557.248l-90.496 90.496a32 32 0 0 1-45.248-45.248z"}),gM("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768m0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896"})]))}),UG=$G,VG=sS({name:"CirclePlusFilled",__name:"circle-plus-filled",setup:e=>(e,t)=>(iM(),uM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[gM("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m-38.4 409.6H326.4a38.4 38.4 0 1 0 0 76.8h147.2v147.2a38.4 38.4 0 0 0 76.8 0V550.4h147.2a38.4 38.4 0 0 0 0-76.8H550.4V326.4a38.4 38.4 0 1 0-76.8 0z"})]))}),zG=VG,jG=sS({name:"CirclePlus",__name:"circle-plus",setup:e=>(e,t)=>(iM(),uM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[gM("path",{fill:"currentColor",d:"M352 480h320a32 32 0 1 1 0 64H352a32 32 0 0 1 0-64"}),gM("path",{fill:"currentColor",d:"M480 672V352a32 32 0 1 1 64 0v320a32 32 0 0 1-64 0"}),gM("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768m0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896"})]))}),YG=jG,GG=sS({name:"Close",__name:"close",setup:e=>(e,t)=>(iM(),uM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[gM("path",{fill:"currentColor",d:"M764.288 214.592 512 466.88 259.712 214.592a31.936 31.936 0 0 0-45.12 45.12L466.752 512 214.528 764.224a31.936 31.936 0 1 0 45.12 45.184L512 557.184l252.288 252.288a31.936 31.936 0 0 0 45.12-45.12L557.12 512.064l252.288-252.352a31.936 31.936 0 1 0-45.12-45.184z"})]))}),HG=GG,WG=sS({name:"Delete",__name:"delete",setup:e=>(e,t)=>(iM(),uM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[gM("path",{fill:"currentColor",d:"M160 256H96a32 32 0 0 1 0-64h256V95.936a32 32 0 0 1 32-32h256a32 32 0 0 1 32 32V192h256a32 32 0 1 1 0 64h-64v672a32 32 0 0 1-32 32H192a32 32 0 0 1-32-32zm448-64v-64H416v64zM224 896h576V256H224zm192-128a32 32 0 0 1-32-32V416a32 32 0 0 1 64 0v320a32 32 0 0 1-32 32m192 0a32 32 0 0 1-32-32V416a32 32 0 0 1 64 0v320a32 32 0 0 1-32 32"})]))}),XG=WG,qG=sS({name:"Document",__name:"document",setup:e=>(e,t)=>(iM(),uM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[gM("path",{fill:"currentColor",d:"M832 384H576V128H192v768h640zm-26.496-64L640 154.496V320zM160 64h480l256 256v608a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32m160 448h384v64H320zm0-192h160v64H320zm0 384h384v64H320z"})]))}),KG=qG,ZG=sS({name:"EditPen",__name:"edit-pen",setup:e=>(e,t)=>(iM(),uM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[gM("path",{fill:"currentColor",d:"m199.04 672.64 193.984 112 224-387.968-193.92-112-224 388.032zm-23.872 60.16 32.896 148.288 144.896-45.696zM455.04 229.248l193.92 112 56.704-98.112-193.984-112zM104.32 708.8l384-665.024 304.768 175.936L409.152 884.8h.064l-248.448 78.336zm384 254.272v-64h448v64z"})]))}),QG=ZG,JG=sS({name:"FullScreen",__name:"full-screen",setup:e=>(e,t)=>(iM(),uM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[gM("path",{fill:"currentColor",d:"m160 96.064 192 .192a32 32 0 0 1 0 64l-192-.192V352a32 32 0 0 1-64 0V96h64zm0 831.872V928H96V672a32 32 0 1 1 64 0v191.936l192-.192a32 32 0 1 1 0 64zM864 96.064V96h64v256a32 32 0 1 1-64 0V160.064l-192 .192a32 32 0 1 1 0-64zm0 831.872-192-.192a32 32 0 0 1 0-64l192 .192V672a32 32 0 1 1 64 0v256h-64z"})]))}),eH=JG,tH=sS({name:"Hide",__name:"hide",setup:e=>(e,t)=>(iM(),uM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[gM("path",{fill:"currentColor",d:"M876.8 156.8c0-9.6-3.2-16-9.6-22.4s-12.8-9.6-22.4-9.6-16 3.2-22.4 9.6L736 220.8c-64-32-137.6-51.2-224-60.8-160 16-288 73.6-377.6 176S0 496 0 512s48 73.6 134.4 176c22.4 25.6 44.8 48 73.6 67.2l-86.4 89.6c-6.4 6.4-9.6 12.8-9.6 22.4s3.2 16 9.6 22.4 12.8 9.6 22.4 9.6 16-3.2 22.4-9.6l704-710.4c3.2-6.4 6.4-12.8 6.4-22.4m-646.4 528Q115.2 579.2 76.8 512q43.2-72 153.6-172.8C304 272 400 230.4 512 224c64 3.2 124.8 19.2 176 44.8l-54.4 54.4C598.4 300.8 560 288 512 288c-64 0-115.2 22.4-160 64s-64 96-64 160c0 48 12.8 89.6 35.2 124.8L256 707.2c-9.6-6.4-19.2-16-25.6-22.4m140.8-96Q352 555.2 352 512c0-44.8 16-83.2 48-112s67.2-48 112-48c28.8 0 54.4 6.4 73.6 19.2zM889.599 336c-12.8-16-28.8-28.8-41.6-41.6l-48 48c73.6 67.2 124.8 124.8 150.4 169.6q-43.2 72-153.6 172.8c-73.6 67.2-172.8 108.8-284.8 115.2-51.2-3.2-99.2-12.8-140.8-28.8l-48 48c57.6 22.4 118.4 38.4 188.8 44.8 160-16 288-73.6 377.6-176S1024 528 1024 512s-48.001-73.6-134.401-176"}),gM("path",{fill:"currentColor",d:"M511.998 672c-12.8 0-25.6-3.2-38.4-6.4l-51.2 51.2c28.8 12.8 57.6 19.2 89.6 19.2 64 0 115.2-22.4 160-64 41.6-41.6 64-96 64-160 0-32-6.4-64-19.2-89.6l-51.2 51.2c3.2 12.8 6.4 25.6 6.4 38.4 0 44.8-16 83.2-48 112s-67.2 48-112 48"})]))}),nH=tH,iH=sS({name:"InfoFilled",__name:"info-filled",setup:e=>(e,t)=>(iM(),uM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[gM("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896.064A448 448 0 0 1 512 64m67.2 275.072c33.28 0 60.288-23.104 60.288-57.344s-27.072-57.344-60.288-57.344c-33.28 0-60.16 23.104-60.16 57.344s26.88 57.344 60.16 57.344M590.912 699.2c0-6.848 2.368-24.64 1.024-34.752l-52.608 60.544c-10.88 11.456-24.512 19.392-30.912 17.28a12.99 12.99 0 0 1-8.256-14.72l87.68-276.992c7.168-35.136-12.544-67.2-54.336-71.296-44.096 0-108.992 44.736-148.48 101.504 0 6.784-1.28 23.68.064 33.792l52.544-60.608c10.88-11.328 23.552-19.328 29.952-17.152a12.8 12.8 0 0 1 7.808 16.128L388.48 728.576c-10.048 32.256 8.96 63.872 55.04 71.04 67.84 0 107.904-43.648 147.456-100.416z"})]))}),rH=iH,sH=sS({name:"Loading",__name:"loading",setup:e=>(e,t)=>(iM(),uM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[gM("path",{fill:"currentColor",d:"M512 64a32 32 0 0 1 32 32v192a32 32 0 0 1-64 0V96a32 32 0 0 1 32-32m0 640a32 32 0 0 1 32 32v192a32 32 0 1 1-64 0V736a32 32 0 0 1 32-32m448-192a32 32 0 0 1-32 32H736a32 32 0 1 1 0-64h192a32 32 0 0 1 32 32m-640 0a32 32 0 0 1-32 32H96a32 32 0 0 1 0-64h192a32 32 0 0 1 32 32M195.2 195.2a32 32 0 0 1 45.248 0L376.32 331.008a32 32 0 0 1-45.248 45.248L195.2 240.448a32 32 0 0 1 0-45.248m452.544 452.544a32 32 0 0 1 45.248 0L828.8 783.552a32 32 0 0 1-45.248 45.248L647.744 692.992a32 32 0 0 1 0-45.248M828.8 195.264a32 32 0 0 1 0 45.184L692.992 376.32a32 32 0 0 1-45.248-45.248l135.808-135.808a32 32 0 0 1 45.248 0m-452.544 452.48a32 32 0 0 1 0 45.248L240.448 828.8a32 32 0 0 1-45.248-45.248l135.808-135.808a32 32 0 0 1 45.248 0"})]))}),oH=sH,aH=sS({name:"More",__name:"more",setup:e=>(e,t)=>(iM(),uM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[gM("path",{fill:"currentColor",d:"M176 416a112 112 0 1 0 0 224 112 112 0 0 0 0-224m0 64a48 48 0 1 1 0 96 48 48 0 0 1 0-96m336-64a112 112 0 1 1 0 224 112 112 0 0 1 0-224m0 64a48 48 0 1 0 0 96 48 48 0 0 0 0-96m336-64a112 112 0 1 1 0 224 112 112 0 0 1 0-224m0 64a48 48 0 1 0 0 96 48 48 0 0 0 0-96"})]))}),lH=aH,uH=sS({name:"RefreshLeft",__name:"refresh-left",setup:e=>(e,t)=>(iM(),uM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[gM("path",{fill:"currentColor",d:"M289.088 296.704h92.992a32 32 0 0 1 0 64H232.96a32 32 0 0 1-32-32V179.712a32 32 0 0 1 64 0v50.56a384 384 0 0 1 643.84 282.88 384 384 0 0 1-383.936 384 384 384 0 0 1-384-384h64a320 320 0 1 0 640 0 320 320 0 0 0-555.712-216.448z"})]))}),cH=sS({name:"RefreshRight",__name:"refresh-right",setup:e=>(e,t)=>(iM(),uM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[gM("path",{fill:"currentColor",d:"M784.512 230.272v-50.56a32 32 0 1 1 64 0v149.056a32 32 0 0 1-32 32H667.52a32 32 0 1 1 0-64h92.992A320 320 0 1 0 524.8 833.152a320 320 0 0 0 320-320h64a384 384 0 0 1-384 384 384 384 0 0 1-384-384 384 384 0 0 1 643.712-282.88"})]))}),dH=sS({name:"ScaleToOriginal",__name:"scale-to-original",setup:e=>(e,t)=>(iM(),uM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[gM("path",{fill:"currentColor",d:"M813.176 180.706a60.235 60.235 0 0 1 60.236 60.235v481.883a60.235 60.235 0 0 1-60.236 60.235H210.824a60.235 60.235 0 0 1-60.236-60.235V240.94a60.235 60.235 0 0 1 60.236-60.235h602.352zm0-60.235H210.824A120.47 120.47 0 0 0 90.353 240.94v481.883a120.47 120.47 0 0 0 120.47 120.47h602.353a120.47 120.47 0 0 0 120.471-120.47V240.94a120.47 120.47 0 0 0-120.47-120.47zm-120.47 180.705a30.12 30.12 0 0 0-30.118 30.118v301.177a30.118 30.118 0 0 0 60.236 0V331.294a30.12 30.12 0 0 0-30.118-30.118m-361.412 0a30.12 30.12 0 0 0-30.118 30.118v301.177a30.118 30.118 0 1 0 60.236 0V331.294a30.12 30.12 0 0 0-30.118-30.118M512 361.412a30.12 30.12 0 0 0-30.118 30.117v30.118a30.118 30.118 0 0 0 60.236 0V391.53A30.12 30.12 0 0 0 512 361.412M512 512a30.12 30.12 0 0 0-30.118 30.118v30.117a30.118 30.118 0 0 0 60.236 0v-30.117A30.12 30.12 0 0 0 512 512"})]))}),hH=sS({name:"SuccessFilled",__name:"success-filled",setup:e=>(e,t)=>(iM(),uM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[gM("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m-55.808 536.384-99.52-99.584a38.4 38.4 0 1 0-54.336 54.336l126.72 126.72a38.27 38.27 0 0 0 54.336 0l262.4-262.464a38.4 38.4 0 1 0-54.272-54.336z"})]))}),pH=sS({name:"View",__name:"view",setup:e=>(e,t)=>(iM(),uM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[gM("path",{fill:"currentColor",d:"M512 160c320 0 512 352 512 352S832 864 512 864 0 512 0 512s192-352 512-352m0 64c-225.28 0-384.128 208.064-436.8 288 52.608 79.872 211.456 288 436.8 288 225.28 0 384.128-208.064 436.8-288-52.608-79.872-211.456-288-436.8-288m0 64a224 224 0 1 1 0 448 224 224 0 0 1 0-448m0 64a160.19 160.19 0 0 0-160 160c0 88.192 71.744 160 160 160s160-71.808 160-160-71.744-160-160-160"})]))}),fH=sS({name:"WarningFilled",__name:"warning-filled",setup:e=>(e,t)=>(iM(),uM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[gM("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m0 192a58.43 58.43 0 0 0-58.24 63.744l23.36 256.384a35.072 35.072 0 0 0 69.76 0l23.296-256.384A58.43 58.43 0 0 0 512 256m0 512a51.2 51.2 0 1 0 0-102.4 51.2 51.2 0 0 0 0 102.4"})]))}),mH=sS({name:"Warning",__name:"warning",setup:e=>(e,t)=>(iM(),uM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[gM("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m0 832a384 384 0 0 0 0-768 384 384 0 0 0 0 768m48-176a48 48 0 1 1-96 0 48 48 0 0 1 96 0m-48-464a32 32 0 0 1 32 32v288a32 32 0 0 1-64 0V288a32 32 0 0 1 32-32"})]))}),gH=sS({name:"ZoomIn",__name:"zoom-in",setup:e=>(e,t)=>(iM(),uM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[gM("path",{fill:"currentColor",d:"m795.904 750.72 124.992 124.928a32 32 0 0 1-45.248 45.248L750.656 795.904a416 416 0 1 1 45.248-45.248zM480 832a352 352 0 1 0 0-704 352 352 0 0 0 0 704m-32-384v-96a32 32 0 0 1 64 0v96h96a32 32 0 0 1 0 64h-96v96a32 32 0 0 1-64 0v-96h-96a32 32 0 0 1 0-64z"})]))}),_H=sS({name:"ZoomOut",__name:"zoom-out",setup:e=>(e,t)=>(iM(),uM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[gM("path",{fill:"currentColor",d:"m795.904 750.72 124.992 124.928a32 32 0 0 1-45.248 45.248L750.656 795.904a416 416 0 1 1 45.248-45.248zM480 832a352 352 0 1 0 0-704 352 352 0 0 0 0 704M352 448h256a32 32 0 0 1 0 64H352a32 32 0 0 1 0-64"})]))});function yH(e){var t;const n=mj(e);return null!=(t=null==n?void 0:n.$el)?t:n}const vH=dj?window:void 0;dj&&window.document,dj&&window.navigator,dj&&window.location;function bH(...e){let t,n,i,r;if("string"==typeof e[0]||Array.isArray(e[0])?([n,i,r]=e,t=vH):[t,n,i,r]=e,!t)return pj;Array.isArray(n)||(n=[n]),Array.isArray(i)||(i=[i]);const s=[],o=()=>{s.forEach(e=>e()),s.length=0},a=CO(()=>[yH(t),mj(r)],([e,t])=>{o(),e&&s.push(...n.flatMap(n=>i.map(i=>((e,t,n,i)=>(e.addEventListener(t,n,i),()=>e.removeEventListener(t,n,i)))(e,n,i,t))))},{immediate:!0,flush:"post"}),l=()=>{a(),o()};return yj(l),l}let TH=!1;Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;function xH(e,t=!1){const n=_I(),i=()=>n.value=Boolean(e());return i(),function(e,t=!0){NM()?YS(e):t?e():oA(e)}(i,t),n}Object.defineProperty,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;function EH(e){return JSON.parse(JSON.stringify(e))}const wH="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},IH="__vueuse_ssr_handlers__";wH[IH]=wH[IH]||{};wH[IH];Object.defineProperty,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;var AH=Object.getOwnPropertySymbols,SH=Object.prototype.hasOwnProperty,CH=Object.prototype.propertyIsEnumerable;function OH(e,t,n={}){const i=n,{window:r=vH}=i,s=((e,t)=>{var n={};for(var i in e)SH.call(e,i)&&t.indexOf(i)<0&&(n[i]=e[i]);if(null!=e&&AH)for(var i of AH(e))t.indexOf(i)<0&&CH.call(e,i)&&(n[i]=e[i]);return n})(i,["window"]);let o;const a=xH(()=>r&&"ResizeObserver"in r),l=()=>{o&&(o.disconnect(),o=void 0)},u=CO(()=>yH(e),e=>{l(),a.value&&r&&e&&(o=new ResizeObserver(t),o.observe(e,s))},{immediate:!0,flush:"post"}),c=()=>{l(),u()};return yj(c),{isSupported:a,stop:c}}Object.defineProperty,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;function MH(e,t={width:0,height:0},n={}){const{window:i=vH,box:r="content-box"}=n,s=tk(()=>{var t,n;return null==(n=null==(t=yH(e))?void 0:t.namespaceURI)?void 0:n.includes("svg")}),o=_I(t.width),a=_I(t.height);return OH(e,([t])=>{const n="border-box"===r?t.borderBoxSize:"content-box"===r?t.contentBoxSize:t.devicePixelContentBoxSize;if(i&&s.value){const t=yH(e);if(t){const e=i.getComputedStyle(t);o.value=parseFloat(e.width),a.value=parseFloat(e.height)}}else if(n){const e=Array.isArray(n)?n:[n];o.value=e.reduce((e,{inlineSize:t})=>e+t,0),a.value=e.reduce((e,{blockSize:t})=>e+t,0)}else o.value=t.contentRect.width,a.value=t.contentRect.height},n),CO(()=>yH(e),e=>{o.value=e?t.width:0,a.value=e?t.height:0}),{width:o,height:a}}new Map;Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;var kH,RH;(RH=kH||(kH={})).UP="UP",RH.RIGHT="RIGHT",RH.DOWN="DOWN",RH.LEFT="LEFT",RH.NONE="NONE";Object.defineProperty,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;var NH=Object.defineProperty,DH=Object.getOwnPropertySymbols,FH=Object.prototype.hasOwnProperty,LH=Object.prototype.propertyIsEnumerable,PH=(e,t,n)=>t in e?NH(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;((e,t)=>{for(var n in t||(t={}))FH.call(t,n)&&PH(e,n,t[n]);if(DH)for(var n of DH(t))LH.call(t,n)&&PH(e,n,t[n])})({linear:function(e){return e}},{easeInSine:[.12,0,.39,0],easeOutSine:[.61,1,.88,1],easeInOutSine:[.37,0,.63,1],easeInQuad:[.11,0,.5,0],easeOutQuad:[.5,1,.89,1],easeInOutQuad:[.45,0,.55,1],easeInCubic:[.32,0,.67,0],easeOutCubic:[.33,1,.68,1],easeInOutCubic:[.65,0,.35,1],easeInQuart:[.5,0,.75,0],easeOutQuart:[.25,1,.5,1],easeInOutQuart:[.76,0,.24,1],easeInQuint:[.64,0,.78,0],easeOutQuint:[.22,1,.36,1],easeInOutQuint:[.83,0,.17,1],easeInExpo:[.7,0,.84,0],easeOutExpo:[.16,1,.3,1],easeInOutExpo:[.87,0,.13,1],easeInCirc:[.55,0,1,.45],easeOutCirc:[0,.55,.45,1],easeInOutCirc:[.85,0,.15,1],easeInBack:[.36,0,.66,-.56],easeOutBack:[.34,1.56,.64,1],easeInOutBack:[.68,-.6,.32,1.6]});function BH(e,t,n,i={}){var r,s,o;const{clone:a=!1,passive:l=!1,eventName:u,deep:c=!1,defaultValue:d}=i,h=NM(),p=n||(null==h?void 0:h.emit)||(null==(r=null==h?void 0:h.$emit)?void 0:r.bind(h))||(null==(o=null==(s=null==h?void 0:h.proxy)?void 0:s.$emit)?void 0:o.bind(null==h?void 0:h.proxy));let f=u;t||(t="modelValue"),f=u||f||`update:${t.toString()}`;const m=e=>a?hj(a)?a(e):EH(e):e,g=()=>void 0!==e[t]?m(e[t]):d;if(l){const n=_I(g());return CO(()=>e[t],e=>n.value=m(e)),CO(n,n=>{(n!==e[t]||c)&&p(f,n)},{deep:c}),n}return tk({get:()=>g(),set(e){p(f,e)}})}const $H=oG({value:{type:[String,Number],default:""},max:{type:Number,default:99},isDot:Boolean,hidden:Boolean,type:{type:String,values:["primary","success","warning","info","danger"],default:"danger"},showZero:{type:Boolean,default:!0},color:String,badgeStyle:{type:[String,Object,Array]},offset:{type:Array,default:[0,0]},badgeClass:{type:String}});var UH=(e,t)=>{const n=e.__vccOpts||e;for(const[e,i]of t)n[e]=i;return n};function VH(e,t="px"){return e?ej(e)||Gx(n=e)&&!Number.isNaN(Number(n))?`${e}${t}`:Gx(e)?e:void 0:"";var n}const zH=sS({name:"ElBadge"}),jH=sS({...zH,props:$H,setup(e,{expose:t}){const n=e,i=Zz("badge"),r=tk(()=>n.isDot?"":ej(n.value)&&ej(n.max)&&n.max{var e,t,i,r,s;return[{backgroundColor:n.color,marginRight:VH(-(null!=(t=null==(e=n.offset)?void 0:e[0])?t:0)),marginTop:VH(null!=(r=null==(i=n.offset)?void 0:i[1])?r:0)},null!=(s=n.badgeStyle)?s:{}]});return t({content:r}),(e,t)=>(iM(),uM("div",{class:xE(xI(i).b())},[uC(e.$slots,"default"),_M(Ak,{name:`${xI(i).namespace.value}-zoom-in-center`,persisted:""},{default:MA(()=>[kA(gM("sup",{class:xE([xI(i).e("content"),xI(i).em("content",e.type),xI(i).is("fixed",!!e.$slots.default),xI(i).is("dot",e.isDot),xI(i).is("hide-zero",!e.showZero&&0===n.value),e.badgeClass]),style:_E(xI(s))},[uC(e.$slots,"content",{value:xI(r)},()=>[TM($E(xI(r)),1)])],6),[[zk,!e.hidden&&(xI(r)||e.isDot||e.$slots.content)]])]),_:3},8,["name"])],2))}});const YH=bG(UH(jH,[["__file","badge.vue"]])),GH=oG({size:{type:[Number,String]},color:{type:String}}),HH=sS({name:"ElIcon",inheritAttrs:!1});const WH=bG(UH(sS({...HH,props:GH,setup(e){const t=e,n=Zz("icon"),i=tk(()=>{const{size:e,color:n}=t;return e||n?{fontSize:Qz(e)?void 0:VH(e),"--color":n}:{}});return(e,t)=>(iM(),uM("i",SM({class:xI(n).b(),style:xI(i)},e.$attrs),[uC(e.$slots,"default")],16))}}),[["__file","icon.vue"]])),XH=[String,Object,Function],qH={Close:HG,SuccessFilled:hH,InfoFilled:rH,WarningFilled:fH,CircleCloseFilled:BG},KH={primary:rH,success:hH,warning:fH,error:BG,info:rH},ZH={validating:oH,success:LG,error:UG},QH=["primary","success","info","warning","error"],JH=["top","top-left","top-right","bottom","bottom-left","bottom-right"],eW="top",tW={customClass:"",dangerouslyUseHTMLString:!1,duration:3e3,icon:void 0,id:"",message:"",onClose:void 0,showClose:!1,type:"info",plain:!1,offset:16,placement:void 0,zIndex:0,grouping:!1,repeatNum:1,appendTo:dj?document.body:void 0},nW=oG({customClass:{type:String,default:tW.customClass},dangerouslyUseHTMLString:{type:Boolean,default:tW.dangerouslyUseHTMLString},duration:{type:Number,default:tW.duration},icon:{type:XH,default:tW.icon},id:{type:String,default:tW.id},message:{type:[String,Object,Function],default:tW.message},onClose:{type:Function,default:tW.onClose},showClose:{type:Boolean,default:tW.showClose},type:{type:String,values:QH,default:tW.type},plain:{type:Boolean,default:tW.plain},offset:{type:Number,default:tW.offset},placement:{type:String,values:JH,default:tW.placement},zIndex:{type:Number,default:tW.zIndex},grouping:{type:Boolean,default:tW.grouping},repeatNum:{type:Number,default:tW.repeatNum}}),iW=rI({}),rW=(e,t)=>{const{prev:n}=((e,t)=>{const n=iW[t]||[],i=n.findIndex(t=>t.id===e),r=n[i];let s;return i>0&&(s=n[i-1]),{current:r,prev:s}})(e,t);return n?n.vm.exposed.bottom.value:0},sW={tab:"Tab",enter:"Enter",space:"Space",left:"ArrowLeft",up:"ArrowUp",right:"ArrowRight",down:"ArrowDown",esc:"Escape",delete:"Delete",backspace:"Backspace",numpadEnter:"NumpadEnter",pageUp:"PageUp",pageDown:"PageDown",home:"Home",end:"End"},oW=sS({name:"ElMessage"}),aW=sS({...oW,props:nW,emits:{destroy:()=>!0},setup(e,{expose:t,emit:n}){const i=e,{Close:r}=qH,s=_I(!1),{ns:o,zIndex:a}=function(e,t){const n=fG(),i=Zz(e,tk(()=>{var e;return(null==(e=n.value)?void 0:e.namespace)||Wz})),r=nG(tk(()=>{var e;return null==(e=n.value)?void 0:e.locale})),s=Ij(tk(()=>{var e;return(null==(e=n.value)?void 0:e.zIndex)||2e3})),o=tk(()=>{var e;return xI(t)||(null==(e=n.value)?void 0:e.size)||""});return mG(tk(()=>xI(n)||{})),{ns:i,locale:r,zIndex:s,size:o}}("message"),{currentZIndex:l,nextZIndex:u}=a,c=_I(),d=_I(!1),h=_I(0);let p;const f=tk(()=>i.type?"error"===i.type?"danger":i.type:"info"),m=tk(()=>{const e=i.type;return{[o.bm("icon",e)]:e&&KH[e]}}),g=tk(()=>i.icon||KH[i.type]||""),_=tk(()=>i.placement||eW),y=tk(()=>rW(i.id,_.value)),v=tk(()=>((e,t,n)=>(iW[n]||[]).findIndex(t=>t.id===e)>0?16:t)(i.id,i.offset,_.value)+y.value),b=tk(()=>h.value+v.value),T=tk(()=>_.value.includes("left")?o.is("left"):_.value.includes("right")?o.is("right"):o.is("center")),x=tk(()=>_.value.startsWith("top")?"top":"bottom"),E=tk(()=>({[x.value]:`${v.value}px`,zIndex:l.value}));function w(){0!==i.duration&&({stop:p}=bj(()=>{A()},i.duration))}function I(){null==p||p()}function A(){d.value=!1,oA(()=>{var e;s.value||(null==(e=i.onClose)||e.call(i),n("destroy"))})}return YS(()=>{w(),u(),d.value=!0}),CO(()=>i.repeatNum,()=>{I(),w()}),bH(document,"keydown",function({code:e}){e===sW.esc&&A()}),OH(c,()=>{h.value=c.value.getBoundingClientRect().height}),t({visible:d,bottom:b,close:A}),(e,t)=>(iM(),cM(Ak,{name:xI(o).b("fade"),onBeforeEnter:e=>s.value=!0,onBeforeLeave:e.onClose,onAfterLeave:t=>e.$emit("destroy"),persisted:""},{default:MA(()=>[kA(gM("div",{id:e.id,ref_key:"messageRef",ref:c,class:xE([xI(o).b(),{[xI(o).m(e.type)]:e.type},xI(o).is("closable",e.showClose),xI(o).is("plain",e.plain),xI(o).is("bottom","bottom"===xI(x)),xI(T),e.customClass]),style:_E(xI(E)),role:"alert",onMouseenter:I,onMouseleave:w},[e.repeatNum>1?(iM(),cM(xI(YH),{key:0,value:e.repeatNum,type:xI(f),class:xE(xI(o).e("badge"))},null,8,["value","type","class"])):EM("v-if",!0),xI(g)?(iM(),cM(xI(WH),{key:1,class:xE([xI(o).e("icon"),xI(m)])},{default:MA(()=>[(iM(),cM(iC(xI(g))))]),_:1},8,["class"])):EM("v-if",!0),uC(e.$slots,"default",{},()=>[e.dangerouslyUseHTMLString?(iM(),uM(ZO,{key:1},[EM(" Caution here, message could've been compromised, never use user's input as message "),gM("p",{class:xE(xI(o).e("content")),innerHTML:e.message},null,10,["innerHTML"])],2112)):(iM(),uM("p",{key:0,class:xE(xI(o).e("content"))},$E(e.message),3))]),e.showClose?(iM(),cM(xI(WH),{key:2,class:xE(xI(o).e("closeBtn")),onClick:YR(A,["stop"])},{default:MA(()=>[_M(xI(r))]),_:1},8,["class","onClick"])):EM("v-if",!0)],46,["id"]),[[zk,d.value]])]),_:3},8,["name","onBeforeEnter","onBeforeLeave","onAfterLeave"]))}});var lW=UH(aW,[["__file","message.vue"]]);class uW extends Error{constructor(e){super(e),this.name="ElementPlusError"}}function cW(e,t){throw new uW(`[${e}] ${t}`)}let dW=1;const hW=e=>{const t=!e||Gx(e)||dM(e)||Yx(e)?{message:e}:e,n={...tW,...t};return(e=>{if(e.appendTo){if(Gx(e.appendTo)){let t=document.querySelector(e.appendTo);tj(t)||(t=document.body),e.appendTo=t}}else e.appendTo=document.body})(n),(e=>{!e.placement&&Gx(yG.placement)&&yG.placement&&(e.placement=yG.placement),e.placement||(e.placement=eW),JH.includes(e.placement)||(e.placement,e.placement=eW)})(n),Jz(yG.grouping)&&!n.grouping&&(n.grouping=yG.grouping),ej(yG.duration)&&3e3===n.duration&&(n.duration=yG.duration),ej(yG.offset)&&16===n.offset&&(n.offset=yG.offset),Jz(yG.showClose)&&!n.showClose&&(n.showClose=yG.showClose),Jz(yG.plain)&&!n.plain&&(n.plain=yG.plain),n},pW=({appendTo:e,...t},n)=>{const i="message_"+dW++,r=t.onClose,s=document.createElement("div"),o={...t,id:i,onClose:()=>{null==r||r(),(e=>{const t=e.props.placement||eW,n=iW[t],i=n.indexOf(e);if(-1===i)return;n.splice(i,1);const{handler:r}=e;r.close()})(c)},onDestroy:()=>{QR(null,s)}},a=_M(lW,o,Yx(o.message)||dM(o.message)?{default:Yx(o.message)?o.message:()=>o.message}:null);a.appContext=n||fW._context,QR(a,s),e.appendChild(s.firstElementChild);const l=a.component,u={close:()=>{l.exposed.close()}},c={id:i,vnode:a,vm:l,handler:u,props:a.component.props};return c},fW=(e={},t)=>{if(!dj)return{close:()=>{}};const n=hW(e),i=(r=n.placement||eW,iW[r]||(iW[r]=rI([])),iW[r]);var r;if(n.grouping&&i.length){const e=i.find(({vnode:e})=>{var t;return(null==(t=e.props)?void 0:t.message)===n.message});if(e)return e.props.repeatNum+=1,e.props.type=n.type,e.handler}if(ej(yG.max)&&i.length>=yG.max)return{close:()=>{}};const s=pW(n,t);return i.push(s),s.handler};QH.forEach(e=>{fW[e]=(t={},n)=>{const i=hW(t);return fW({...i,type:e},n)}}),fW.closeAll=function(e){for(const t in iW)if($x(iW,t)){const n=[...iW[t]];for(const t of n)e&&e!==t.props.type||t.handler.close()}},fW.closeAllByPlacement=function(e){if(!iW[e])return;[...iW[e]].forEach(e=>e.handler.close())},fW._context=null;const mW=((e,t)=>(e.install=n=>{e._context=n._context,n.config.globalProperties[t]=e},e))(fW,"$message"),gW=oG({layout:{type:String,default:"horizontal",values:["horizontal","vertical"]},lazy:Boolean}),_W=Symbol("splitterRootContextKey");function yW(e){return Number(e.slice(0,-1))/100}function vW(e){return Number(e.slice(0,-2))}function bW(e){return Gx(e)&&e.endsWith("%")}function TW(e){return Gx(e)&&e.endsWith("px")}function xW(e,t,n,i){function r(e,n){return bW(e)?yW(e)*t.value||0:TW(e)?vW(e):null!=e?e:n}const s=_I(0),o=_I(null);let a=[],l=Rx;const u=tk(()=>e.value.map(e=>[e.min,e.max]));CO(i,()=>{if(s.value){const e=new MouseEvent("mouseup",{bubbles:!0});window.dispatchEvent(e)}});const c=[];return{lazyOffset:s,onMoveStart:e=>{s.value=0,o.value={index:e,confirmed:!1},a=n.value},onMoving:(n,c)=>{var d,h;let p=null;if(!(o.value&&o.value.confirmed||0===c))if(c>0)p=n,o.value={index:n,confirmed:!0};else for(let e=n;e>=0;e-=1)if(a[e]>0){p=e,o.value={index:e,confirmed:!0};break}const f=null!=(h=null!=p?p:null==(d=o.value)?void 0:d.index)?h:n,m=[...a],g=f+1,_=r(u.value[f][0],0),y=r(u.value[g][0],0),v=r(u.value[f][1],t.value||0),b=r(u.value[g][1],t.value||0);let T=c;m[f]+T<_&&(T=_-m[f]),m[g]-Tv&&(T=v-m[f]),m[g]-T>b&&(T=m[g]-b),m[f]+=T,m[g]-=T,s.value=T,l=()=>{e.value.forEach((e,t)=>{e.size=m[t]}),l=Rx},i.value||l()},onMoveEnd:()=>{i.value&&l(),s.value=0,o.value=null,a=[]},movingIndex:o,onCollapse:(t,i)=>{c.length||c.push(...n.value);const r=n.value,s="start"===i?t:t+1,o="start"===i?t+1:t,a=r[s],l=r[o];if(0!==a&&0!==l)r[s]=0,r[o]+=a,c[t]=a;else{const e=a+l,n=c[t],i=e-n;r[o]=n,r[s]=i}e.value.forEach((e,t)=>{e.size=r[t]})}}}const EW=e=>{const t=Ux(e)?e:[e],n=[];return t.forEach(e=>{var t;Ux(e)?n.push(...EW(e)):dM(e)&&(null==(t=e.component)?void 0:t.subTree)?n.push(e,...EW(e.component.subTree)):dM(e)&&Ux(e.children)?n.push(...EW(e.children)):dM(e)&&2===e.shapeFlag?n.push(...EW(e.type())):n.push(e)}),n},wW=(e,t)=>{const n=yI({}),i=yI([]),r=new WeakMap,s=()=>{i.value=((e,t,n)=>{const i=EW(e.subTree).filter(e=>{var n;return dM(e)&&(null==(n=e.type)?void 0:n.name)===t&&!!e.component});return i.map(e=>e.component.uid).map(e=>n[e]).filter(e=>!!e)})(e,t,n.value)},o=e=>e.render(),a=sS({setup:(e,{slots:t})=>()=>(s(),t.default?nk(o,{render:t.default}):null)});return{children:i,addChild:e=>{n.value[e.uid]=e,TI(n),YS(()=>{const t=e.getVnode().el,i=t.parentNode;if(!r.has(i)){r.set(i,[]);const e=i.insertBefore.bind(i);i.insertBefore=(t,s)=>(r.get(i).some(e=>t===e||s===e)&&TI(n),e(t,s))}r.get(i).push(t)})},removeChild:e=>{delete n.value[e.uid],TI(n);const t=e.getVnode().el,i=t.parentNode,s=r.get(i),o=s.indexOf(t);s.splice(o,1)},ChildrenSorter:a}},IW=sS({name:"ElSplitter"}),AW=sS({...IW,props:gW,emits:["resizeStart","resize","resizeEnd","collapse"],setup(e,{emit:t}){const n=e,i=Zz("splitter"),r=kI(n,"layout"),s=kI(n,"lazy"),{containerEl:o,containerSize:a}=function(e){const t=_I(),{width:n,height:i}=MH(t);return{containerEl:t,containerSize:tk(()=>"horizontal"===e.value?n.value:i.value)}}(r),{removeChild:l,children:u,addChild:c,ChildrenSorter:d}=wW(NM(),"ElSplitterPanel");CO(u,()=>{u.value.forEach((e,t)=>{e.setIndex(t)})});const{percentSizes:h,pxSizes:p}=function(e,t){const n=tk(()=>e.value.map(e=>e.size)),i=tk(()=>e.value.length),r=_I([]);CO([n,i,t],()=>{var n;let s=[],o=0;for(let r=0;re+(t||0),0);if(a>1||!o){const e=1/a;s=s.map(t=>void 0===t?0:t*e)}else{const e=(1-a)/o;s=s.map(t=>void 0===t?e:t)}r.value=s});const s=e=>e*t.value,o=tk(()=>r.value.map(s));return{percentSizes:r,pxSizes:o}}(u,a),{lazyOffset:f,movingIndex:m,onMoveStart:g,onMoving:_,onMoveEnd:y,onCollapse:v}=xW(u,a,p,s),b=tk(()=>({[`--${i.b()}-bar-offset`]:s.value?`${f.value}px`:void 0}));return XC(_W,iI({panels:u,percentSizes:h,pxSizes:p,layout:r,lazy:s,movingIndex:m,containerSize:a,onMoveStart:e=>{g(e),t("resizeStart",e,p.value)},onMoving:(e,n)=>{_(e,n),s.value||t("resize",e,p.value)},onMoveEnd:async e=>{y(),await oA(),t("resizeEnd",e,p.value)},onCollapse:(e,n)=>{v(e,n),t("collapse",e,n,p.value)},registerPanel:c,unregisterPanel:l})),(e,t)=>(iM(),uM("div",{ref_key:"containerEl",ref:o,class:xE([xI(i).b(),xI(i).e(xI(r))]),style:_E(xI(b))},[uC(e.$slots,"default"),_M(xI(d)),EM(" Prevent iframe touch events from breaking "),xI(m)?(iM(),uM("div",{key:0,class:xE([xI(i).e("mask"),xI(i).e(`mask-${xI(r)}`)])},null,2)):EM("v-if",!0)],6))}});var SW=UH(AW,[["__file","splitter.vue"]]);function CW(e,t,n,i){return!!((null==e?void 0:e.collapsible.end)&&t>0)||!!((null==n?void 0:n.collapsible.start)&&0===i&&t>0)}const OW=sS({name:"ElSplitterBar"}),MW=sS({...OW,props:{index:{type:Number,required:!0},layout:{type:String,values:["horizontal","vertical"],default:"horizontal"},resizable:{type:Boolean,default:!0},lazy:Boolean,startCollapsible:Boolean,endCollapsible:Boolean},emits:["moveStart","moving","moveEnd","collapse"],setup(e,{emit:t}){const n=e,i=Zz("splitter-bar"),r=tk(()=>"horizontal"===n.layout),s=tk(()=>r.value?{width:0}:{height:0}),o=tk(()=>({width:r.value?"16px":"100%",height:r.value?"100%":"16px",cursor:n.resizable?r.value?"ew-resize":"ns-resize":"auto",touchAction:"none"})),a=tk(()=>{const e=i.e("dragger");return{[`${e}-horizontal`]:r.value,[`${e}-vertical`]:!r.value,[`${e}-active`]:!!l.value}}),l=_I(null),u=e=>{n.resizable&&(l.value=[e.pageX,e.pageY],t("moveStart",n.index),window.addEventListener("mouseup",p),window.addEventListener("mousemove",d))},c=e=>{if(n.resizable&&1===e.touches.length){e.preventDefault();const i=e.touches[0];l.value=[i.pageX,i.pageY],t("moveStart",n.index),window.addEventListener("touchend",f),window.addEventListener("touchmove",h)}},d=e=>{const{pageX:i,pageY:s}=e,o=i-l.value[0],a=s-l.value[1],u=r.value?o:a;t("moving",n.index,u)},h=e=>{if(1===e.touches.length){e.preventDefault();const i=e.touches[0],s=i.pageX-l.value[0],o=i.pageY-l.value[1],a=r.value?s:o;t("moving",n.index,a)}},p=()=>{l.value=null,window.removeEventListener("mouseup",p),window.removeEventListener("mousemove",d),t("moveEnd",n.index)},f=()=>{l.value=null,window.removeEventListener("touchend",f),window.removeEventListener("touchmove",h),t("moveEnd",n.index)},m=tk(()=>r.value?AG:MG),g=tk(()=>r.value?CG:wG);return(n,r)=>(iM(),uM("div",{class:xE([xI(i).b()]),style:_E(xI(s))},[e.startCollapsible?(iM(),uM("div",{key:0,class:xE([xI(i).e("collapse-icon"),xI(i).e(`${e.layout}-collapse-icon-start`)]),onClick:n=>t("collapse",e.index,"start")},[uC(n.$slots,"start-collapsible",{},()=>[(iM(),cM(iC(xI(m)),{style:{width:"12px",height:"12px"}}))])],10,["onClick"])):EM("v-if",!0),gM("div",{class:xE([xI(i).e("dragger"),xI(a),xI(i).is("disabled",!e.resizable),xI(i).is("lazy",e.resizable&&e.lazy)]),style:_E(xI(o)),onMousedown:u,onTouchstart:c},null,38),e.endCollapsible?(iM(),uM("div",{key:1,class:xE([xI(i).e("collapse-icon"),xI(i).e(`${e.layout}-collapse-icon-end`)]),onClick:n=>t("collapse",e.index,"end")},[uC(n.$slots,"end-collapsible",{},()=>[(iM(),cM(iC(xI(g)),{style:{width:"12px",height:"12px"}}))])],10,["onClick"])):EM("v-if",!0)],6))}});var kW=UH(MW,[["__file","split-bar.vue"]]);const RW=oG({min:{type:[String,Number]},max:{type:[String,Number]},size:{type:[String,Number]},resizable:{type:Boolean,default:!0},collapsible:Boolean}),NW="ElSplitterPanel",DW=sS({name:NW}),FW=sS({...DW,props:RW,emits:["update:size"],setup(e,{emit:t}){const n=e,i=Zz("splitter-panel"),r=qC(_W);r||cW(NW,"usage: ");const{panels:s,layout:o,lazy:a,containerSize:l,pxSizes:u}=CI(r),{registerPanel:c,unregisterPanel:d,onCollapse:h,onMoveEnd:p,onMoveStart:f,onMoving:m}=r,g=_I(),_=NM(),y=_.uid,v=_I(0),b=tk(()=>s.value[v.value]),T=tk(()=>{var e;return b.value&&null!=(e=u.value[v.value])?e:0}),x=tk(()=>{var e;return b.value&&null!=(e=u.value[v.value+1])?e:0}),E=tk(()=>b.value?s.value[v.value+1]:null),w=tk(()=>{var e;return!!E.value&&(n.resizable&&(null==(e=E.value)?void 0:e.resizable)&&(0!==T.value||!n.min)&&(0!==x.value||!E.value.min))}),I=tk(()=>!!b.value&&v.value!==s.value.length-1),A=tk(()=>CW(b.value,T.value,E.value,x.value)),S=tk(()=>CW(E.value,x.value,b.value,T.value));function C(e){return bW(e)?yW(e)*l.value||0:TW(e)?vW(e):null!=e?e:0}let O=!1;CO(()=>n.size,()=>{if(!O&&b.value){if(!l.value)return void(b.value.size=n.size);const e=C(n.size),i=C(n.max),r=C(n.min),s=Math.min(Math.max(e,r||0),i||e);s!==e&&t("update:size",s),b.value.size=s}}),CO(()=>{var e;return null==(e=b.value)?void 0:e.size},e=>{e!==n.size&&(O=!0,t("update:size",e),oA(()=>O=!1))}),CO(()=>n.resizable,e=>{b.value&&(b.value.resizable=e)});const M=iI({el:g.value,uid:y,getVnode:()=>_.vnode,setIndex:e=>{v.value=e},...n,collapsible:tk(()=>{return(e=n.collapsible)&&Wx(e)?e:{start:!!e,end:!!e};var e})});return c(M),WS(()=>d(M)),(e,t)=>(iM(),uM(ZO,null,[gM("div",SM({ref_key:"panelEl",ref:g,class:[xI(i).b()],style:{flexBasis:`${xI(T)}px`}},e.$attrs),[uC(e.$slots,"default")],16),xI(I)?(iM(),cM(kW,{key:0,index:v.value,layout:xI(o),lazy:xI(a),resizable:xI(w),"start-collapsible":xI(A),"end-collapsible":xI(S),onMoveStart:xI(f),onMoving:xI(m),onMoveEnd:xI(p),onCollapse:xI(h)},{"start-collapsible":MA(()=>[uC(e.$slots,"start-collapsible")]),"end-collapsible":MA(()=>[uC(e.$slots,"end-collapsible")]),_:3},8,["index","layout","lazy","resizable","start-collapsible","end-collapsible","onMoveStart","onMoving","onMoveEnd","onCollapse"])):EM("v-if",!0)],64))}});var LW=UH(FW,[["__file","split-panel.vue"]]);const PW=bG(SW,{SplitPanel:LW}),BW=TG(LW),$W=Symbol("buttonGroupContextKey"),UW={prefix:Math.floor(1e4*Math.random()),current:0},VW=Symbol("elIdInjection"),zW=()=>NM()?qC(VW,UW):UW,jW=e=>{const t=zW(),n=Kz();return cj(()=>xI(e)||`${n.value}-id-${t.prefix}-${t.current++}`)},YW=Symbol("formContextKey"),GW=Symbol("formItemContextKey"),HW=()=>({form:qC(YW,void 0),formItem:qC(GW,void 0)}),WW=(e,{formItemContext:t,disableIdGeneration:n,disableIdManagement:i})=>{n||(n=_I(!1)),i||(i=_I(!1));const r=NM(),s=_I();let o;const a=tk(()=>{var n;return!!(!e.label&&!e.ariaLabel&&t&&t.inputIds&&(null==(n=t.inputIds)?void 0:n.length)<=1)});return YS(()=>{o=CO([kI(e,"id"),n],([e,n])=>{const o=null!=e?e:n?void 0:jW().value;o!==s.value&&((null==t?void 0:t.removeInputId)&&!(()=>{let e=null==r?void 0:r.parent;for(;e;){if("ElFormItem"===e.type.name)return!1;if("ElLabelWrap"===e.type.name)return!0;e=e.parent}return!1})()&&(s.value&&t.removeInputId(s.value),(null==i?void 0:i.value)||n||!o||t.addInputId(o)),s.value=o)},{immediate:!0})}),XS(()=>{o&&o(),(null==t?void 0:t.removeInputId)&&s.value&&t.removeInputId(s.value)}),{isLabeledByFormItem:a,inputId:s}},XW=e=>{const t=NM();return tk(()=>{var n,i;return null==(i=null==(n=null==t?void 0:t.proxy)?void 0:n.$props)?void 0:i[e]})},qW=(e,t={})=>{const n=_I(void 0),i=t.prop?n:XW("size"),r=t.global?n:(()=>{const e=qC(uG,{});return tk(()=>xI(e.size)||"")})(),s=t.form?{size:void 0}:qC(YW,void 0),o=t.formItem?{size:void 0}:qC(GW,void 0);return tk(()=>i.value||xI(e)||(null==o?void 0:o.size)||(null==s?void 0:s.size)||r.value||"")},KW=e=>{const t=XW("disabled"),n=qC(YW,void 0);return tk(()=>t.value||xI(e)||(null==n?void 0:n.disabled)||!1)},ZW=(e,t)=>{(({from:e,replacement:t,scope:n,version:i,ref:r,type:s="API"},o)=>{CO(()=>xI(o),e=>{},{immediate:!0})})({from:"type.text",replacement:"link",version:"3.0.0",scope:"props",ref:"https://element-plus.org/en-US/component/button.html#button-attributes"},tk(()=>"text"===e.type));const n=qC($W,void 0),i=fG("button"),{form:r}=HW(),s=qW(tk(()=>null==n?void 0:n.size)),o=KW(),a=_I(),l=wC(),u=tk(()=>{var t;return e.type||(null==n?void 0:n.type)||(null==(t=i.value)?void 0:t.type)||""}),c=tk(()=>{var t,n,r;return null!=(r=null!=(n=e.autoInsertSpace)?n:null==(t=i.value)?void 0:t.autoInsertSpace)&&r}),d=tk(()=>{var t,n,r;return null!=(r=null!=(n=e.plain)?n:null==(t=i.value)?void 0:t.plain)&&r}),h=tk(()=>{var t,n,r;return null!=(r=null!=(n=e.round)?n:null==(t=i.value)?void 0:t.round)&&r}),p=tk(()=>{var t,n,r;return null!=(r=null!=(n=e.text)?n:null==(t=i.value)?void 0:t.text)&&r}),f=tk(()=>"button"===e.tag?{ariaDisabled:o.value||e.loading,disabled:o.value||e.loading,autofocus:e.autofocus,type:e.nativeType}:{}),m=tk(()=>{var e;const t=null==(e=l.default)?void 0:e.call(l);if(c.value&&1===(null==t?void 0:t.length)){const e=t[0];if((null==e?void 0:e.type)===QO){const t=e.children;return/^\p{Unified_Ideograph}{2}$/u.test(t.trim())}}return!1});return{_disabled:o,_size:s,_type:u,_ref:a,_props:f,_plain:d,_round:h,_text:p,shouldAddSpace:m,handleClick:n=>{o.value||e.loading?n.stopPropagation():("reset"===e.nativeType&&(null==r||r.resetFields()),t("click",n))}}},QW=oG({size:lG,disabled:Boolean,type:{type:String,values:["default","primary","success","warning","info","danger","text",""],default:""},icon:{type:XH},nativeType:{type:String,values:["button","submit","reset"],default:"button"},loading:Boolean,loadingIcon:{type:XH,default:()=>oH},plain:{type:Boolean,default:void 0},text:{type:Boolean,default:void 0},link:Boolean,bg:Boolean,autofocus:Boolean,round:{type:Boolean,default:void 0},circle:Boolean,color:String,dark:Boolean,autoInsertSpace:{type:Boolean,default:void 0},tag:{type:[String,Object],default:"button"}}),JW={click:e=>e instanceof MouseEvent};function eX(e,t){(function(e){return"string"==typeof e&&-1!==e.indexOf(".")&&1===parseFloat(e)})(e)&&(e="100%");var n=function(e){return"string"==typeof e&&-1!==e.indexOf("%")}(e);return e=360===t?e:Math.min(t,Math.max(0,parseFloat(e))),n&&(e=parseInt(String(e*t),10)/100),Math.abs(e-t)<1e-6?1:e=360===t?(e<0?e%t+t:e%t)/parseFloat(String(t)):e%t/parseFloat(String(t))}function tX(e){return Math.min(1,Math.max(0,e))}function nX(e){return e=parseFloat(e),(isNaN(e)||e<0||e>1)&&(e=1),e}function iX(e){return e<=1?"".concat(100*Number(e),"%"):e}function rX(e){return 1===e.length?"0"+e:String(e)}function sX(e,t,n){e=eX(e,255),t=eX(t,255),n=eX(n,255);var i=Math.max(e,t,n),r=Math.min(e,t,n),s=0,o=0,a=(i+r)/2;if(i===r)o=0,s=0;else{var l=i-r;switch(o=a>.5?l/(2-i-r):l/(i+r),i){case e:s=(t-n)/l+(t1&&(n-=1),n<1/6?e+6*n*(t-e):n<.5?t:n<2/3?e+(t-e)*(2/3-n)*6:e}function aX(e,t,n){e=eX(e,255),t=eX(t,255),n=eX(n,255);var i=Math.max(e,t,n),r=Math.min(e,t,n),s=0,o=i,a=i-r,l=0===i?0:a/i;if(i===r)s=0;else{switch(i){case e:s=(t-n)/a+(t>16,g:(65280&e)>>8,b:255&e}}(t)),this.originalInput=t;var r=pX(t);this.originalInput=t,this.r=r.r,this.g=r.g,this.b=r.b,this.a=r.a,this.roundA=Math.round(100*this.a)/100,this.format=null!==(i=n.format)&&void 0!==i?i:r.format,this.gradientType=n.gradientType,this.r<1&&(this.r=Math.round(this.r)),this.g<1&&(this.g=Math.round(this.g)),this.b<1&&(this.b=Math.round(this.b)),this.isValid=r.ok}return e.prototype.isDark=function(){return this.getBrightness()<128},e.prototype.isLight=function(){return!this.isDark()},e.prototype.getBrightness=function(){var e=this.toRgb();return(299*e.r+587*e.g+114*e.b)/1e3},e.prototype.getLuminance=function(){var e=this.toRgb(),t=e.r/255,n=e.g/255,i=e.b/255;return.2126*(t<=.03928?t/12.92:Math.pow((t+.055)/1.055,2.4))+.7152*(n<=.03928?n/12.92:Math.pow((n+.055)/1.055,2.4))+.0722*(i<=.03928?i/12.92:Math.pow((i+.055)/1.055,2.4))},e.prototype.getAlpha=function(){return this.a},e.prototype.setAlpha=function(e){return this.a=nX(e),this.roundA=Math.round(100*this.a)/100,this},e.prototype.isMonochrome=function(){return 0===this.toHsl().s},e.prototype.toHsv=function(){var e=aX(this.r,this.g,this.b);return{h:360*e.h,s:e.s,v:e.v,a:this.a}},e.prototype.toHsvString=function(){var e=aX(this.r,this.g,this.b),t=Math.round(360*e.h),n=Math.round(100*e.s),i=Math.round(100*e.v);return 1===this.a?"hsv(".concat(t,", ").concat(n,"%, ").concat(i,"%)"):"hsva(".concat(t,", ").concat(n,"%, ").concat(i,"%, ").concat(this.roundA,")")},e.prototype.toHsl=function(){var e=sX(this.r,this.g,this.b);return{h:360*e.h,s:e.s,l:e.l,a:this.a}},e.prototype.toHslString=function(){var e=sX(this.r,this.g,this.b),t=Math.round(360*e.h),n=Math.round(100*e.s),i=Math.round(100*e.l);return 1===this.a?"hsl(".concat(t,", ").concat(n,"%, ").concat(i,"%)"):"hsla(".concat(t,", ").concat(n,"%, ").concat(i,"%, ").concat(this.roundA,")")},e.prototype.toHex=function(e){return void 0===e&&(e=!1),lX(this.r,this.g,this.b,e)},e.prototype.toHexString=function(e){return void 0===e&&(e=!1),"#"+this.toHex(e)},e.prototype.toHex8=function(e){return void 0===e&&(e=!1),function(e,t,n,i,r){var s=[rX(Math.round(e).toString(16)),rX(Math.round(t).toString(16)),rX(Math.round(n).toString(16)),rX(uX(i))];return r&&s[0].startsWith(s[0].charAt(1))&&s[1].startsWith(s[1].charAt(1))&&s[2].startsWith(s[2].charAt(1))&&s[3].startsWith(s[3].charAt(1))?s[0].charAt(0)+s[1].charAt(0)+s[2].charAt(0)+s[3].charAt(0):s.join("")}(this.r,this.g,this.b,this.a,e)},e.prototype.toHex8String=function(e){return void 0===e&&(e=!1),"#"+this.toHex8(e)},e.prototype.toHexShortString=function(e){return void 0===e&&(e=!1),1===this.a?this.toHexString(e):this.toHex8String(e)},e.prototype.toRgb=function(){return{r:Math.round(this.r),g:Math.round(this.g),b:Math.round(this.b),a:this.a}},e.prototype.toRgbString=function(){var e=Math.round(this.r),t=Math.round(this.g),n=Math.round(this.b);return 1===this.a?"rgb(".concat(e,", ").concat(t,", ").concat(n,")"):"rgba(".concat(e,", ").concat(t,", ").concat(n,", ").concat(this.roundA,")")},e.prototype.toPercentageRgb=function(){var e=function(e){return"".concat(Math.round(100*eX(e,255)),"%")};return{r:e(this.r),g:e(this.g),b:e(this.b),a:this.a}},e.prototype.toPercentageRgbString=function(){var e=function(e){return Math.round(100*eX(e,255))};return 1===this.a?"rgb(".concat(e(this.r),"%, ").concat(e(this.g),"%, ").concat(e(this.b),"%)"):"rgba(".concat(e(this.r),"%, ").concat(e(this.g),"%, ").concat(e(this.b),"%, ").concat(this.roundA,")")},e.prototype.toName=function(){if(0===this.a)return"transparent";if(this.a<1)return!1;for(var e="#"+lX(this.r,this.g,this.b,!1),t=0,n=Object.entries(hX);t=0;return t||!i||!e.startsWith("hex")&&"name"!==e?("rgb"===e&&(n=this.toRgbString()),"prgb"===e&&(n=this.toPercentageRgbString()),"hex"!==e&&"hex6"!==e||(n=this.toHexString()),"hex3"===e&&(n=this.toHexString(!0)),"hex4"===e&&(n=this.toHex8String(!0)),"hex8"===e&&(n=this.toHex8String()),"name"===e&&(n=this.toName()),"hsl"===e&&(n=this.toHslString()),"hsv"===e&&(n=this.toHsvString()),n||this.toHexString()):"name"===e&&0===this.a?this.toName():this.toRgbString()},e.prototype.toNumber=function(){return(Math.round(this.r)<<16)+(Math.round(this.g)<<8)+Math.round(this.b)},e.prototype.clone=function(){return new e(this.toString())},e.prototype.lighten=function(t){void 0===t&&(t=10);var n=this.toHsl();return n.l+=t/100,n.l=tX(n.l),new e(n)},e.prototype.brighten=function(t){void 0===t&&(t=10);var n=this.toRgb();return n.r=Math.max(0,Math.min(255,n.r-Math.round(-t/100*255))),n.g=Math.max(0,Math.min(255,n.g-Math.round(-t/100*255))),n.b=Math.max(0,Math.min(255,n.b-Math.round(-t/100*255))),new e(n)},e.prototype.darken=function(t){void 0===t&&(t=10);var n=this.toHsl();return n.l-=t/100,n.l=tX(n.l),new e(n)},e.prototype.tint=function(e){return void 0===e&&(e=10),this.mix("white",e)},e.prototype.shade=function(e){return void 0===e&&(e=10),this.mix("black",e)},e.prototype.desaturate=function(t){void 0===t&&(t=10);var n=this.toHsl();return n.s-=t/100,n.s=tX(n.s),new e(n)},e.prototype.saturate=function(t){void 0===t&&(t=10);var n=this.toHsl();return n.s+=t/100,n.s=tX(n.s),new e(n)},e.prototype.greyscale=function(){return this.desaturate(100)},e.prototype.spin=function(t){var n=this.toHsl(),i=(n.h+t)%360;return n.h=i<0?360+i:i,new e(n)},e.prototype.mix=function(t,n){void 0===n&&(n=50);var i=this.toRgb(),r=new e(t).toRgb(),s=n/100;return new e({r:(r.r-i.r)*s+i.r,g:(r.g-i.g)*s+i.g,b:(r.b-i.b)*s+i.b,a:(r.a-i.a)*s+i.a})},e.prototype.analogous=function(t,n){void 0===t&&(t=6),void 0===n&&(n=30);var i=this.toHsl(),r=360/n,s=[this];for(i.h=(i.h-(r*t>>1)+720)%360;--t;)i.h=(i.h+r)%360,s.push(new e(i));return s},e.prototype.complement=function(){var t=this.toHsl();return t.h=(t.h+180)%360,new e(t)},e.prototype.monochromatic=function(t){void 0===t&&(t=6);for(var n=this.toHsv(),i=n.h,r=n.s,s=n.v,o=[],a=1/t;t--;)o.push(new e({h:i,s:r,v:s})),s=(s+a)%1;return o},e.prototype.splitcomplement=function(){var t=this.toHsl(),n=t.h;return[this,new e({h:(n+72)%360,s:t.s,l:t.l}),new e({h:(n+216)%360,s:t.s,l:t.l})]},e.prototype.onBackground=function(t){var n=this.toRgb(),i=new e(t).toRgb(),r=n.a+i.a*(1-n.a);return new e({r:(n.r*n.a+i.r*i.a*(1-n.a))/r,g:(n.g*n.a+i.g*i.a*(1-n.a))/r,b:(n.b*n.a+i.b*i.a*(1-n.a))/r,a:r})},e.prototype.triad=function(){return this.polyad(3)},e.prototype.tetrad=function(){return this.polyad(4)},e.prototype.polyad=function(t){for(var n=this.toHsl(),i=n.h,r=[this],s=360/t,o=1;o{let i={},r=e.color;if(r){const s=r.match(/var\((.*?)\)/);s&&(r=window.getComputedStyle(window.document.documentElement).getPropertyValue(s[1]));const o=new vX(r),a=e.dark?o.tint(20).toString():bX(o,20);if(e.plain)i=n.cssVarBlock({"bg-color":e.dark?bX(o,90):o.tint(90).toString(),"text-color":r,"border-color":e.dark?bX(o,50):o.tint(50).toString(),"hover-text-color":`var(${n.cssVarName("color-white")})`,"hover-bg-color":r,"hover-border-color":r,"active-bg-color":a,"active-text-color":`var(${n.cssVarName("color-white")})`,"active-border-color":a}),t.value&&(i[n.cssVarBlockName("disabled-bg-color")]=e.dark?bX(o,90):o.tint(90).toString(),i[n.cssVarBlockName("disabled-text-color")]=e.dark?bX(o,50):o.tint(50).toString(),i[n.cssVarBlockName("disabled-border-color")]=e.dark?bX(o,80):o.tint(80).toString());else{const s=e.dark?bX(o,30):o.tint(30).toString(),l=o.isDark()?`var(${n.cssVarName("color-white")})`:`var(${n.cssVarName("color-black")})`;if(i=n.cssVarBlock({"bg-color":r,"text-color":l,"border-color":r,"hover-bg-color":s,"hover-text-color":l,"hover-border-color":s,"active-bg-color":a,"active-border-color":a}),t.value){const t=e.dark?bX(o,50):o.tint(50).toString();i[n.cssVarBlockName("disabled-bg-color")]=t,i[n.cssVarBlockName("disabled-text-color")]=e.dark?"rgba(255, 255, 255, 0.5)":`var(${n.cssVarName("color-white")})`,i[n.cssVarBlockName("disabled-border-color")]=t}}}return i})}(i),s=Zz("button"),{_ref:o,_size:a,_type:l,_disabled:u,_props:c,_plain:d,_round:h,_text:p,shouldAddSpace:f,handleClick:m}=ZW(i,n),g=tk(()=>[s.b(),s.m(l.value),s.m(a.value),s.is("disabled",u.value),s.is("loading",i.loading),s.is("plain",d.value),s.is("round",h.value),s.is("circle",i.circle),s.is("text",p.value),s.is("link",i.link),s.is("has-bg",i.bg)]);return t({ref:o,size:a,type:l,disabled:u,shouldAddSpace:f}),(e,t)=>(iM(),cM(iC(e.tag),SM({ref_key:"_ref",ref:o},xI(c),{class:xI(g),style:xI(r),onClick:xI(m)}),{default:MA(()=>[e.loading?(iM(),uM(ZO,{key:0},[e.$slots.loading?uC(e.$slots,"loading",{key:0}):(iM(),cM(xI(WH),{key:1,class:xE(xI(s).is("loading"))},{default:MA(()=>[(iM(),cM(iC(e.loadingIcon)))]),_:1},8,["class"]))],64)):e.icon||e.$slots.icon?(iM(),cM(xI(WH),{key:1},{default:MA(()=>[e.icon?(iM(),cM(iC(e.icon),{key:0})):uC(e.$slots,"icon",{key:1})]),_:3})):EM("v-if",!0),e.$slots.default?(iM(),uM("span",{key:2,class:xE({[xI(s).em("text","expand")]:xI(f)})},[uC(e.$slots,"default")],2)):EM("v-if",!0)]),_:3},16,["class","style","onClick"]))}});var EX=UH(xX,[["__file","button.vue"]]);const wX={size:QW.size,type:QW.type},IX=sS({name:"ElButtonGroup"});var AX=UH(sS({...IX,props:wX,setup(e){const t=e;XC($W,iI({size:kI(t,"size"),type:kI(t,"type")}));const n=Zz("button");return(e,t)=>(iM(),uM("div",{class:xE(xI(n).b("group"))},[uC(e.$slots,"default")],2))}}),[["__file","button-group.vue"]]);const SX=bG(EX,{ButtonGroup:AX}),CX=(TG(AX),oG({header:{type:String,default:""},footer:{type:String,default:""},bodyStyle:{type:[String,Object,Array],default:""},headerClass:String,bodyClass:String,footerClass:String,shadow:{type:String,values:["always","hover","never"],default:void 0}})),OX=(Symbol("cardContextKey"),sS({name:"ElCard"})),MX=sS({...OX,props:CX,setup(e){const t=fG("card"),n=Zz("card");return(e,i)=>{var r;return iM(),uM("div",{class:xE([xI(n).b(),xI(n).is(`${e.shadow||(null==(r=xI(t))?void 0:r.shadow)||"always"}-shadow`)])},[e.$slots.header||e.header?(iM(),uM("div",{key:0,class:xE([xI(n).e("header"),e.headerClass])},[uC(e.$slots,"header",{},()=>[TM($E(e.header),1)])],2)):EM("v-if",!0),gM("div",{class:xE([xI(n).e("body"),e.bodyClass]),style:_E(e.bodyStyle)},[uC(e.$slots,"default")],6),e.$slots.footer||e.footer?(iM(),uM("div",{key:1,class:xE([xI(n).e("footer"),e.footerClass])},[uC(e.$slots,"footer",{},()=>[TM($E(e.footer),1)])],2)):EM("v-if",!0)],2)}}});const kX=bG(UH(MX,[["__file","card.vue"]]));var RX=__webpack_require__(4213),NX=__webpack_require__(71710),DX=__webpack_require__.n(NX);const FX=function(e){return null==e};let LX;const PX={height:"0",visibility:"hidden",overflow:dj&&/firefox/i.test(window.navigator.userAgent)?"":"hidden",position:"absolute","z-index":"-1000",top:"0",right:"0"},BX=["letter-spacing","line-height","padding-top","padding-bottom","font-family","font-weight","font-size","text-rendering","text-transform","width","text-indent","padding-left","padding-right","border-width","box-sizing","word-break"];function $X(e,t=1,n){var i,r;LX||(LX=document.createElement("textarea"),(null!=(i=e.parentNode)?i:document.body).appendChild(LX));const{paddingSize:s,borderSize:o,boxSizing:a,contextStyle:l}=function(e){const t=window.getComputedStyle(e),n=t.getPropertyValue("box-sizing"),i=Number.parseFloat(t.getPropertyValue("padding-bottom"))+Number.parseFloat(t.getPropertyValue("padding-top")),r=Number.parseFloat(t.getPropertyValue("border-bottom-width"))+Number.parseFloat(t.getPropertyValue("border-top-width"));return{contextStyle:BX.map(e=>[e,t.getPropertyValue(e)]),paddingSize:i,borderSize:r,boxSizing:n}}(e);l.forEach(([e,t])=>null==LX?void 0:LX.style.setProperty(e,t)),Object.entries(PX).forEach(([e,t])=>null==LX?void 0:LX.style.setProperty(e,t,"important")),LX.value=e.value||e.placeholder||"";let u=LX.scrollHeight;const c={};"border-box"===a?u+=o:"content-box"===a&&(u-=s),LX.value="";const d=LX.scrollHeight-s;if(ej(t)){let e=d*t;"border-box"===a&&(e=e+s+o),u=Math.max(e,u),c.minHeight=`${e}px`}if(ej(n)){let e=d*n;"border-box"===a&&(e=e+s+o),u=Math.min(e,u)}return c.height=`${u}px`,null==(r=LX.parentNode)||r.removeChild(LX),LX=void 0,c}var UX=function(){try{var e=oY(Object,"defineProperty");return e({},"",{}),e}catch(e){}}();const VX=UX;const zX=function(e,t,n){"__proto__"==t&&VX?VX(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n};var jX=Object.prototype.hasOwnProperty;const YX=function(e,t,n){var i=e[t];jX.call(e,t)&&yY(i,n)&&(void 0!==n||t in e)||zX(e,t,n)};var GX=/^(?:0|[1-9]\d*)$/;const HX=function(e,t){var n=typeof e;return!!(t=null==t?9007199254740991:t)&&("number"==n||"symbol"!=n&&GX.test(e))&&e>-1&&e%1==0&&e-1&&e%1==0&&e<=9007199254740991};const nq=function(e,t,n){for(var i=-1,r=(t=XY(t,e)).length,s=!1;++i0&&i(l)?n>1?e(l,n-1,i,r,s):sq(s,l):r||(s[s.length]=l)}return s};const uq=function(e){return(null==e?0:e.length)?lq(e,1):[]};const cq=function(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)};var dq=Math.max;const hq=function(e,t,n){return t=dq(void 0===t?e.length-1:t,0),function(){for(var i=arguments,r=-1,s=dq(i.length-t,0),o=Array(s);++r0){if(++t>=800)return arguments[0]}else t=0;return e.apply(void 0,arguments)}};const yq=_q(mq);const vq=function(e){return yq(hq(e,void 0,uq),e+"")};var bq=vq(function(e,t){return null==e?{}:rq(e,t)});const Tq=bq,xq=oG({ariaLabel:String,ariaOrientation:{type:String,values:["horizontal","vertical","undefined"]},ariaControls:String}),Eq=e=>Tq(xq,e),wq="update:modelValue",Iq="change",Aq="input",Sq=oG({id:{type:String,default:void 0},size:lG,disabled:Boolean,modelValue:{type:[String,Number,Object],default:""},maxlength:{type:[String,Number]},minlength:{type:[String,Number]},type:{type:String,default:"text"},resize:{type:String,values:["none","both","horizontal","vertical"]},autosize:{type:[Boolean,Object],default:!1},autocomplete:{type:String,default:"off"},formatter:{type:Function},parser:{type:Function},placeholder:{type:String},form:{type:String},readonly:Boolean,clearable:Boolean,clearIcon:{type:XH,default:UG},showPassword:Boolean,showWordLimit:Boolean,suffixIcon:{type:XH},prefixIcon:{type:XH},containerRole:{type:String,default:void 0},tabindex:{type:[String,Number],default:0},validateEvent:{type:Boolean,default:!0},inputStyle:{type:[Object,Array,String],default:()=>({})},autofocus:Boolean,rows:{type:Number,default:2},...Eq(["ariaLabel"]),inputmode:{type:String,default:void 0},name:String}),Cq={[wq]:e=>Gx(e),input:e=>Gx(e),change:e=>Gx(e),focus:e=>e instanceof FocusEvent,blur:e=>e instanceof FocusEvent,clear:()=>!0,mouseleave:e=>e instanceof MouseEvent,mouseenter:e=>e instanceof MouseEvent,keydown:e=>e instanceof Event,compositionstart:e=>e instanceof CompositionEvent,compositionupdate:e=>e instanceof CompositionEvent,compositionend:e=>e instanceof CompositionEvent},Oq=["class","style"],Mq=/^on[A-Z]/,kq=(e={})=>{const{excludeListeners:t=!1,excludeKeys:n}=e,i=tk(()=>((null==n?void 0:n.value)||[]).concat(Oq)),r=NM();return tk(r?()=>{var e;return iG(Object.entries(null==(e=r.proxy)?void 0:e.$attrs).filter(([e])=>!(i.value.includes(e)||t&&Mq.test(e))))}:()=>({}))},Rq=e=>"undefined"!=typeof Element&&e instanceof Element,Nq=e=>{if(e.tabIndex>0||0===e.tabIndex&&null!==e.getAttribute("tabIndex"))return!0;if(e.tabIndex<0||e.hasAttribute("disabled")||"true"===e.getAttribute("aria-disabled"))return!1;switch(e.nodeName){case"A":return!!e.href&&"ignore"!==e.rel;case"INPUT":return!("hidden"===e.type||"file"===e.type);case"BUTTON":case"SELECT":case"TEXTAREA":return!0;default:return!1}},Dq=(e,t)=>{if(!e||!e.focus)return;let n=!1;!Rq(e)||Nq(e)||e.getAttribute("tabindex")||(e.setAttribute("tabindex","-1"),n=!0),e.focus(t),Rq(e)&&n&&e.removeAttribute("tabindex")};const Fq=sS({name:"ElInput",inheritAttrs:!1}),Lq=sS({...Fq,props:Sq,emits:Cq,setup(e,{expose:t,emit:n}){const i=e,r=IC(),s=kq(),o=wC(),a=tk(()=>["textarea"===i.type?m.b():f.b(),f.m(h.value),f.is("disabled",p.value),f.is("exceed",B.value),{[f.b("group")]:o.prepend||o.append,[f.m("prefix")]:o.prefix||i.prefixIcon,[f.m("suffix")]:o.suffix||i.suffixIcon||i.clearable||i.showPassword,[f.bm("suffix","password-clear")]:D.value&&F.value,[f.b("hidden")]:"hidden"===i.type},r.class]),l=tk(()=>[f.e("wrapper"),f.is("focus",w.value)]),{form:u,formItem:c}=HW(),{inputId:d}=WW(i,{formItemContext:c}),h=qW(),p=KW(),f=Zz("input"),m=Zz("textarea"),g=yI(),_=yI(),y=_I(!1),v=_I(!1),b=_I(),T=yI(i.inputStyle),x=tk(()=>g.value||_.value),{wrapperRef:E,isFocused:w,handleFocus:I,handleBlur:A}=function(e,{disabled:t,beforeFocus:n,afterFocus:i,beforeBlur:r,afterBlur:s}={}){const o=NM(),{emit:a}=o,l=yI(),u=_I(!1),c=e=>{const r=!!Yx(n)&&n(e);xI(t)||u.value||r||(u.value=!0,a("focus",e),null==i||i())},d=e=>{var n;const i=!!Yx(r)&&r(e);xI(t)||e.relatedTarget&&(null==(n=l.value)?void 0:n.contains(e.relatedTarget))||i||(u.value=!1,a("blur",e),null==s||s())};return CO([l,()=>xI(t)],([e,t])=>{e&&(t?e.removeAttribute("tabindex"):e.setAttribute("tabindex","-1"))}),bH(l,"focus",c,!0),bH(l,"blur",d,!0),bH(l,"click",n=>{var i,r;xI(t)||Nq(n.target)||(null==(i=l.value)?void 0:i.contains(document.activeElement))&&l.value!==document.activeElement||null==(r=e.value)||r.focus()},!0),{isFocused:u,wrapperRef:l,handleFocus:c,handleBlur:d}}(x,{disabled:p,afterBlur(){var e;i.validateEvent&&(null==(e=null==c?void 0:c.validate)||e.call(c,"blur").catch(e=>{}))}}),S=tk(()=>{var e;return null!=(e=null==u?void 0:u.statusIcon)&&e}),C=tk(()=>(null==c?void 0:c.validateState)||""),O=tk(()=>C.value&&ZH[C.value]),M=tk(()=>v.value?pH:nH),k=tk(()=>[r.style]),R=tk(()=>[i.inputStyle,T.value,{resize:i.resize}]),N=tk(()=>FX(i.modelValue)?"":String(i.modelValue)),D=tk(()=>i.clearable&&!p.value&&!i.readonly&&!!N.value&&(w.value||y.value)),F=tk(()=>i.showPassword&&!p.value&&!!N.value),L=tk(()=>i.showWordLimit&&!!i.maxlength&&("text"===i.type||"textarea"===i.type)&&!p.value&&!i.readonly&&!i.showPassword),P=tk(()=>N.value.length),B=tk(()=>!!L.value&&P.value>Number(i.maxlength)),$=tk(()=>!!o.suffix||!!i.suffixIcon||D.value||i.showPassword||L.value||!!C.value&&S.value),[U,V]=function(e){let t;return[function(){if(null==e.value)return;const{selectionStart:n,selectionEnd:i,value:r}=e.value;if(null==n||null==i)return;const s=r.slice(0,Math.max(0,n)),o=r.slice(Math.max(0,i));t={selectionStart:n,selectionEnd:i,value:r,beforeTxt:s,afterTxt:o}},function(){if(null==e.value||null==t)return;const{value:n}=e.value,{beforeTxt:i,afterTxt:r,selectionStart:s}=t;if(null==i||null==r||null==s)return;let o=n.length;if(n.endsWith(r))o=n.length-r.length;else if(n.startsWith(i))o=i.length;else{const e=i[s-1],t=n.indexOf(e,s-1);-1!==t&&(o=t+1)}e.value.setSelectionRange(o,o)}]}(g);OH(_,e=>{if(j(),!L.value||"both"!==i.resize)return;const t=e[0],{width:n}=t.contentRect;b.value={right:`calc(100% - ${n+15+6}px)`}});const z=()=>{const{type:e,autosize:t}=i;if(dj&&"textarea"===e&&_.value)if(t){const e=Wx(t)?t.minRows:void 0,n=Wx(t)?t.maxRows:void 0,i=$X(_.value,e,n);T.value={overflowY:"hidden",...i},oA(()=>{_.value.offsetHeight,T.value=i})}else T.value={minHeight:$X(_.value).minHeight}},j=(e=>{let t=!1;return()=>{var n;if(t||!i.autosize)return;null===(null==(n=_.value)?void 0:n.offsetParent)||(setTimeout(e),t=!0)}})(z),Y=()=>{const e=x.value,t=i.formatter?i.formatter(N.value):N.value;e&&e.value!==t&&(e.value=t)},G=async e=>{U();let{value:t}=e.target;i.formatter&&i.parser&&(t=i.parser(t)),W.value||(t!==N.value?(n(wq,t),n(Aq,t),await oA(),Y(),V()):Y())},H=e=>{let{value:t}=e.target;i.formatter&&i.parser&&(t=i.parser(t)),n(Iq,t)},{isComposing:W,handleCompositionStart:X,handleCompositionUpdate:q,handleCompositionEnd:K}=function({afterComposition:e,emit:t}){const n=_I(!1),i=e=>{var i;null==t||t("compositionupdate",e);const r=null==(i=e.target)?void 0:i.value,s=r[r.length-1]||"";n.value=!(e=>/([\uAC00-\uD7AF\u3130-\u318F])+/gi.test(e))(s)},r=i=>{null==t||t("compositionend",i),n.value&&(n.value=!1,oA(()=>e(i)))};return{isComposing:n,handleComposition:e=>{"compositionend"===e.type?r(e):i(e)},handleCompositionStart:e=>{null==t||t("compositionstart",e),n.value=!0},handleCompositionUpdate:i,handleCompositionEnd:r}}({emit:n,afterComposition:G}),Z=()=>{U(),v.value=!v.value,setTimeout(V)},Q=e=>{y.value=!1,n("mouseleave",e)},J=e=>{y.value=!0,n("mouseenter",e)},ee=e=>{n("keydown",e)},te=()=>{n(wq,""),n(Iq,""),n("clear"),n(Aq,"")};return CO(()=>i.modelValue,()=>{var e;oA(()=>z()),i.validateEvent&&(null==(e=null==c?void 0:c.validate)||e.call(c,"change").catch(e=>{}))}),CO(N,()=>Y()),CO(()=>i.type,async()=>{await oA(),Y(),z()}),YS(()=>{!i.formatter&&i.parser,Y(),oA(z)}),t({input:g,textarea:_,ref:x,textareaStyle:R,autosize:kI(i,"autosize"),isComposing:W,focus:()=>{var e;return null==(e=x.value)?void 0:e.focus()},blur:()=>{var e;return null==(e=x.value)?void 0:e.blur()},select:()=>{var e;null==(e=x.value)||e.select()},clear:te,resizeTextarea:z}),(e,t)=>(iM(),uM("div",{class:xE([xI(a),{[xI(f).bm("group","append")]:e.$slots.append,[xI(f).bm("group","prepend")]:e.$slots.prepend}]),style:_E(xI(k)),onMouseenter:J,onMouseleave:Q},[EM(" input "),"textarea"!==e.type?(iM(),uM(ZO,{key:0},[EM(" prepend slot "),e.$slots.prepend?(iM(),uM("div",{key:0,class:xE(xI(f).be("group","prepend"))},[uC(e.$slots,"prepend")],2)):EM("v-if",!0),gM("div",{ref_key:"wrapperRef",ref:E,class:xE(xI(l))},[EM(" prefix slot "),e.$slots.prefix||e.prefixIcon?(iM(),uM("span",{key:0,class:xE(xI(f).e("prefix"))},[gM("span",{class:xE(xI(f).e("prefix-inner"))},[uC(e.$slots,"prefix"),e.prefixIcon?(iM(),cM(xI(WH),{key:0,class:xE(xI(f).e("icon"))},{default:MA(()=>[(iM(),cM(iC(e.prefixIcon)))]),_:1},8,["class"])):EM("v-if",!0)],2)],2)):EM("v-if",!0),gM("input",SM({id:xI(d),ref_key:"input",ref:g,class:xI(f).e("inner")},xI(s),{name:e.name,minlength:e.minlength,maxlength:e.maxlength,type:e.showPassword?v.value?"text":"password":e.type,disabled:xI(p),readonly:e.readonly,autocomplete:e.autocomplete,tabindex:e.tabindex,"aria-label":e.ariaLabel,placeholder:e.placeholder,style:e.inputStyle,form:e.form,autofocus:e.autofocus,role:e.containerRole,inputmode:e.inputmode,onCompositionstart:xI(X),onCompositionupdate:xI(q),onCompositionend:xI(K),onInput:G,onChange:H,onKeydown:ee}),null,16,["id","name","minlength","maxlength","type","disabled","readonly","autocomplete","tabindex","aria-label","placeholder","form","autofocus","role","inputmode","onCompositionstart","onCompositionupdate","onCompositionend"]),EM(" suffix slot "),xI($)?(iM(),uM("span",{key:1,class:xE(xI(f).e("suffix"))},[gM("span",{class:xE(xI(f).e("suffix-inner"))},[xI(D)&&xI(F)&&xI(L)?EM("v-if",!0):(iM(),uM(ZO,{key:0},[uC(e.$slots,"suffix"),e.suffixIcon?(iM(),cM(xI(WH),{key:0,class:xE(xI(f).e("icon"))},{default:MA(()=>[(iM(),cM(iC(e.suffixIcon)))]),_:1},8,["class"])):EM("v-if",!0)],64)),xI(D)?(iM(),cM(xI(WH),{key:1,class:xE([xI(f).e("icon"),xI(f).e("clear")]),onMousedown:YR(xI(Rx),["prevent"]),onClick:te},{default:MA(()=>[(iM(),cM(iC(e.clearIcon)))]),_:1},8,["class","onMousedown"])):EM("v-if",!0),xI(F)?(iM(),cM(xI(WH),{key:2,class:xE([xI(f).e("icon"),xI(f).e("password")]),onClick:Z},{default:MA(()=>[(iM(),cM(iC(xI(M))))]),_:1},8,["class"])):EM("v-if",!0),xI(L)?(iM(),uM("span",{key:3,class:xE(xI(f).e("count"))},[gM("span",{class:xE(xI(f).e("count-inner"))},$E(xI(P))+" / "+$E(e.maxlength),3)],2)):EM("v-if",!0),xI(C)&&xI(O)&&xI(S)?(iM(),cM(xI(WH),{key:4,class:xE([xI(f).e("icon"),xI(f).e("validateIcon"),xI(f).is("loading","validating"===xI(C))])},{default:MA(()=>[(iM(),cM(iC(xI(O))))]),_:1},8,["class"])):EM("v-if",!0)],2)],2)):EM("v-if",!0)],2),EM(" append slot "),e.$slots.append?(iM(),uM("div",{key:1,class:xE(xI(f).be("group","append"))},[uC(e.$slots,"append")],2)):EM("v-if",!0)],64)):(iM(),uM(ZO,{key:1},[EM(" textarea "),gM("textarea",SM({id:xI(d),ref_key:"textarea",ref:_,class:[xI(m).e("inner"),xI(f).is("focus",xI(w))]},xI(s),{minlength:e.minlength,maxlength:e.maxlength,tabindex:e.tabindex,disabled:xI(p),readonly:e.readonly,autocomplete:e.autocomplete,style:xI(R),"aria-label":e.ariaLabel,placeholder:e.placeholder,form:e.form,autofocus:e.autofocus,rows:e.rows,role:e.containerRole,onCompositionstart:xI(X),onCompositionupdate:xI(q),onCompositionend:xI(K),onInput:G,onFocus:xI(I),onBlur:xI(A),onChange:H,onKeydown:ee}),null,16,["id","minlength","maxlength","tabindex","disabled","readonly","autocomplete","aria-label","placeholder","form","autofocus","rows","role","onCompositionstart","onCompositionupdate","onCompositionend","onFocus","onBlur"]),xI(L)?(iM(),uM("span",{key:0,style:_E(b.value),class:xE(xI(f).e("count"))},$E(xI(P))+" / "+$E(e.maxlength),7)):EM("v-if",!0)],64))],38))}});const Pq=bG(UH(Lq,[["__file","input.vue"]])),Bq=Symbol("popper"),$q=Symbol("popperContent"),Uq=["dialog","grid","group","listbox","menu","navigation","tooltip","tree"],Vq=oG({role:{type:String,values:Uq,default:"tooltip"}}),zq=sS({name:"ElPopper",inheritAttrs:!1});const jq=bG(UH(sS({...zq,props:Vq,setup(e,{expose:t}){const n=e,i={triggerRef:_I(),popperInstanceRef:_I(),contentRef:_I(),referenceRef:_I(),role:tk(()=>n.role)};return t(i),XC(Bq,i),(e,t)=>uC(e.$slots,"default")}}),[["__file","popper.vue"]])),Yq=Symbol("elTooltip");var Gq="top",Hq="bottom",Wq="right",Xq="left",qq="auto",Kq=[Gq,Hq,Wq,Xq],Zq="start",Qq="end",Jq="viewport",eK="popper",tK=Kq.reduce(function(e,t){return e.concat([t+"-"+Zq,t+"-"+Qq])},[]),nK=[].concat(Kq,[qq]).reduce(function(e,t){return e.concat([t,t+"-"+Zq,t+"-"+Qq])},[]),iK=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function rK(e){return e?(e.nodeName||"").toLowerCase():null}function sK(e){if(null==e)return window;if("[object Window]"!==e.toString()){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function oK(e){return e instanceof sK(e).Element||e instanceof Element}function aK(e){return e instanceof sK(e).HTMLElement||e instanceof HTMLElement}function lK(e){return"undefined"!=typeof ShadowRoot&&(e instanceof sK(e).ShadowRoot||e instanceof ShadowRoot)}var uK={name:"applyStyles",enabled:!0,phase:"write",fn:function(e){var t=e.state;Object.keys(t.elements).forEach(function(e){var n=t.styles[e]||{},i=t.attributes[e]||{},r=t.elements[e];!aK(r)||!rK(r)||(Object.assign(r.style,n),Object.keys(i).forEach(function(e){var t=i[e];!1===t?r.removeAttribute(e):r.setAttribute(e,!0===t?"":t)}))})},effect:function(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach(function(e){var i=t.elements[e],r=t.attributes[e]||{},s=Object.keys(t.styles.hasOwnProperty(e)?t.styles[e]:n[e]).reduce(function(e,t){return e[t]="",e},{});!aK(i)||!rK(i)||(Object.assign(i.style,s),Object.keys(r).forEach(function(e){i.removeAttribute(e)}))})}},requires:["computeStyles"]};function cK(e){return e.split("-")[0]}var dK=Math.max,hK=Math.min,pK=Math.round;function fK(e,t){void 0===t&&(t=!1);var n=e.getBoundingClientRect(),i=1,r=1;if(aK(e)&&t){var s=e.offsetHeight,o=e.offsetWidth;o>0&&(i=pK(n.width)/o||1),s>0&&(r=pK(n.height)/s||1)}return{width:n.width/i,height:n.height/r,top:n.top/r,right:n.right/i,bottom:n.bottom/r,left:n.left/i,x:n.left/i,y:n.top/r}}function mK(e){var t=fK(e),n=e.offsetWidth,i=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-i)<=1&&(i=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:i}}function gK(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&lK(n)){var i=t;do{if(i&&e.isSameNode(i))return!0;i=i.parentNode||i.host}while(i)}return!1}function _K(e){return sK(e).getComputedStyle(e)}function yK(e){return["table","td","th"].indexOf(rK(e))>=0}function vK(e){return((oK(e)?e.ownerDocument:e.document)||window.document).documentElement}function bK(e){return"html"===rK(e)?e:e.assignedSlot||e.parentNode||(lK(e)?e.host:null)||vK(e)}function TK(e){return aK(e)&&"fixed"!==_K(e).position?e.offsetParent:null}function xK(e){for(var t=sK(e),n=TK(e);n&&yK(n)&&"static"===_K(n).position;)n=TK(n);return n&&("html"===rK(n)||"body"===rK(n)&&"static"===_K(n).position)?t:n||function(e){var t=-1!==navigator.userAgent.toLowerCase().indexOf("firefox");if(-1!==navigator.userAgent.indexOf("Trident")&&aK(e)&&"fixed"===_K(e).position)return null;var n=bK(e);for(lK(n)&&(n=n.host);aK(n)&&["html","body"].indexOf(rK(n))<0;){var i=_K(n);if("none"!==i.transform||"none"!==i.perspective||"paint"===i.contain||-1!==["transform","perspective"].indexOf(i.willChange)||t&&"filter"===i.willChange||t&&i.filter&&"none"!==i.filter)return n;n=n.parentNode}return null}(e)||t}function EK(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function wK(e,t,n){return dK(e,hK(t,n))}function IK(e){return Object.assign({},{top:0,right:0,bottom:0,left:0},e)}function AK(e,t){return t.reduce(function(t,n){return t[n]=e,t},{})}var SK={name:"arrow",enabled:!0,phase:"main",fn:function(e){var t,n=e.state,i=e.name,r=e.options,s=n.elements.arrow,o=n.modifiersData.popperOffsets,a=cK(n.placement),l=EK(a),u=[Xq,Wq].indexOf(a)>=0?"height":"width";if(s&&o){var c=function(e,t){return IK("number"!=typeof(e="function"==typeof e?e(Object.assign({},t.rects,{placement:t.placement})):e)?e:AK(e,Kq))}(r.padding,n),d=mK(s),h="y"===l?Gq:Xq,p="y"===l?Hq:Wq,f=n.rects.reference[u]+n.rects.reference[l]-o[l]-n.rects.popper[u],m=o[l]-n.rects.reference[l],g=xK(s),_=g?"y"===l?g.clientHeight||0:g.clientWidth||0:0,y=f/2-m/2,v=c[h],b=_-d[u]-c[p],T=_/2-d[u]/2+y,x=wK(v,T,b),E=l;n.modifiersData[i]=((t={})[E]=x,t.centerOffset=x-T,t)}},effect:function(e){var t=e.state,n=e.options.element,i=void 0===n?"[data-popper-arrow]":n;null!=i&&("string"==typeof i&&!(i=t.elements.popper.querySelector(i))||!gK(t.elements.popper,i)||(t.elements.arrow=i))},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function CK(e){return e.split("-")[1]}var OK={top:"auto",right:"auto",bottom:"auto",left:"auto"};function MK(e){var t,n=e.popper,i=e.popperRect,r=e.placement,s=e.variation,o=e.offsets,a=e.position,l=e.gpuAcceleration,u=e.adaptive,c=e.roundOffsets,d=e.isFixed,h=o.x,p=void 0===h?0:h,f=o.y,m=void 0===f?0:f,g="function"==typeof c?c({x:p,y:m}):{x:p,y:m};p=g.x,m=g.y;var _=o.hasOwnProperty("x"),y=o.hasOwnProperty("y"),v=Xq,b=Gq,T=window;if(u){var x=xK(n),E="clientHeight",w="clientWidth";if(x===sK(n)&&("static"!==_K(x=vK(n)).position&&"absolute"===a&&(E="scrollHeight",w="scrollWidth")),r===Gq||(r===Xq||r===Wq)&&s===Qq)b=Hq,m-=(d&&x===T&&T.visualViewport?T.visualViewport.height:x[E])-i.height,m*=l?1:-1;if(r===Xq||(r===Gq||r===Hq)&&s===Qq)v=Wq,p-=(d&&x===T&&T.visualViewport?T.visualViewport.width:x[w])-i.width,p*=l?1:-1}var I,A=Object.assign({position:a},u&&OK),S=!0===c?function(e){var t=e.x,n=e.y,i=window.devicePixelRatio||1;return{x:pK(t*i)/i||0,y:pK(n*i)/i||0}}({x:p,y:m}):{x:p,y:m};return p=S.x,m=S.y,l?Object.assign({},A,((I={})[b]=y?"0":"",I[v]=_?"0":"",I.transform=(T.devicePixelRatio||1)<=1?"translate("+p+"px, "+m+"px)":"translate3d("+p+"px, "+m+"px, 0)",I)):Object.assign({},A,((t={})[b]=y?m+"px":"",t[v]=_?p+"px":"",t.transform="",t))}var kK={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(e){var t=e.state,n=e.options,i=n.gpuAcceleration,r=void 0===i||i,s=n.adaptive,o=void 0===s||s,a=n.roundOffsets,l=void 0===a||a,u={placement:cK(t.placement),variation:CK(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:r,isFixed:"fixed"===t.options.strategy};null!=t.modifiersData.popperOffsets&&(t.styles.popper=Object.assign({},t.styles.popper,MK(Object.assign({},u,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:o,roundOffsets:l})))),null!=t.modifiersData.arrow&&(t.styles.arrow=Object.assign({},t.styles.arrow,MK(Object.assign({},u,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})},data:{}},RK={passive:!0};var NK={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(e){var t=e.state,n=e.instance,i=e.options,r=i.scroll,s=void 0===r||r,o=i.resize,a=void 0===o||o,l=sK(t.elements.popper),u=[].concat(t.scrollParents.reference,t.scrollParents.popper);return s&&u.forEach(function(e){e.addEventListener("scroll",n.update,RK)}),a&&l.addEventListener("resize",n.update,RK),function(){s&&u.forEach(function(e){e.removeEventListener("scroll",n.update,RK)}),a&&l.removeEventListener("resize",n.update,RK)}},data:{}},DK={left:"right",right:"left",bottom:"top",top:"bottom"};function FK(e){return e.replace(/left|right|bottom|top/g,function(e){return DK[e]})}var LK={start:"end",end:"start"};function PK(e){return e.replace(/start|end/g,function(e){return LK[e]})}function BK(e){var t=sK(e);return{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function $K(e){return fK(vK(e)).left+BK(e).scrollLeft}function UK(e){var t=_K(e),n=t.overflow,i=t.overflowX,r=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+r+i)}function VK(e){return["html","body","#document"].indexOf(rK(e))>=0?e.ownerDocument.body:aK(e)&&UK(e)?e:VK(bK(e))}function zK(e,t){var n;void 0===t&&(t=[]);var i=VK(e),r=i===(null==(n=e.ownerDocument)?void 0:n.body),s=sK(i),o=r?[s].concat(s.visualViewport||[],UK(i)?i:[]):i,a=t.concat(o);return r?a:a.concat(zK(bK(o)))}function jK(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function YK(e,t){return t===Jq?jK(function(e){var t=sK(e),n=vK(e),i=t.visualViewport,r=n.clientWidth,s=n.clientHeight,o=0,a=0;return i&&(r=i.width,s=i.height,/^((?!chrome|android).)*safari/i.test(navigator.userAgent)||(o=i.offsetLeft,a=i.offsetTop)),{width:r,height:s,x:o+$K(e),y:a}}(e)):oK(t)?function(e){var t=fK(e);return t.top=t.top+e.clientTop,t.left=t.left+e.clientLeft,t.bottom=t.top+e.clientHeight,t.right=t.left+e.clientWidth,t.width=e.clientWidth,t.height=e.clientHeight,t.x=t.left,t.y=t.top,t}(t):jK(function(e){var t,n=vK(e),i=BK(e),r=null==(t=e.ownerDocument)?void 0:t.body,s=dK(n.scrollWidth,n.clientWidth,r?r.scrollWidth:0,r?r.clientWidth:0),o=dK(n.scrollHeight,n.clientHeight,r?r.scrollHeight:0,r?r.clientHeight:0),a=-i.scrollLeft+$K(e),l=-i.scrollTop;return"rtl"===_K(r||n).direction&&(a+=dK(n.clientWidth,r?r.clientWidth:0)-s),{width:s,height:o,x:a,y:l}}(vK(e)))}function GK(e,t,n){var i="clippingParents"===t?function(e){var t=zK(bK(e)),n=["absolute","fixed"].indexOf(_K(e).position)>=0&&aK(e)?xK(e):e;return oK(n)?t.filter(function(e){return oK(e)&&gK(e,n)&&"body"!==rK(e)}):[]}(e):[].concat(t),r=[].concat(i,[n]),s=r[0],o=r.reduce(function(t,n){var i=YK(e,n);return t.top=dK(i.top,t.top),t.right=hK(i.right,t.right),t.bottom=hK(i.bottom,t.bottom),t.left=dK(i.left,t.left),t},YK(e,s));return o.width=o.right-o.left,o.height=o.bottom-o.top,o.x=o.left,o.y=o.top,o}function HK(e){var t,n=e.reference,i=e.element,r=e.placement,s=r?cK(r):null,o=r?CK(r):null,a=n.x+n.width/2-i.width/2,l=n.y+n.height/2-i.height/2;switch(s){case Gq:t={x:a,y:n.y-i.height};break;case Hq:t={x:a,y:n.y+n.height};break;case Wq:t={x:n.x+n.width,y:l};break;case Xq:t={x:n.x-i.width,y:l};break;default:t={x:n.x,y:n.y}}var u=s?EK(s):null;if(null!=u){var c="y"===u?"height":"width";switch(o){case Zq:t[u]=t[u]-(n[c]/2-i[c]/2);break;case Qq:t[u]=t[u]+(n[c]/2-i[c]/2)}}return t}function WK(e,t){void 0===t&&(t={});var n=t,i=n.placement,r=void 0===i?e.placement:i,s=n.boundary,o=void 0===s?"clippingParents":s,a=n.rootBoundary,l=void 0===a?Jq:a,u=n.elementContext,c=void 0===u?eK:u,d=n.altBoundary,h=void 0!==d&&d,p=n.padding,f=void 0===p?0:p,m=IK("number"!=typeof f?f:AK(f,Kq)),g=c===eK?"reference":eK,_=e.rects.popper,y=e.elements[h?g:c],v=GK(oK(y)?y:y.contextElement||vK(e.elements.popper),o,l),b=fK(e.elements.reference),T=HK({reference:b,element:_,strategy:"absolute",placement:r}),x=jK(Object.assign({},_,T)),E=c===eK?x:b,w={top:v.top-E.top+m.top,bottom:E.bottom-v.bottom+m.bottom,left:v.left-E.left+m.left,right:E.right-v.right+m.right},I=e.modifiersData.offset;if(c===eK&&I){var A=I[r];Object.keys(w).forEach(function(e){var t=[Wq,Hq].indexOf(e)>=0?1:-1,n=[Gq,Hq].indexOf(e)>=0?"y":"x";w[e]+=A[n]*t})}return w}var XK={name:"flip",enabled:!0,phase:"main",fn:function(e){var t=e.state,n=e.options,i=e.name;if(!t.modifiersData[i]._skip){for(var r=n.mainAxis,s=void 0===r||r,o=n.altAxis,a=void 0===o||o,l=n.fallbackPlacements,u=n.padding,c=n.boundary,d=n.rootBoundary,h=n.altBoundary,p=n.flipVariations,f=void 0===p||p,m=n.allowedAutoPlacements,g=t.options.placement,_=cK(g),y=l||(_===g||!f?[FK(g)]:function(e){if(cK(e)===qq)return[];var t=FK(e);return[PK(e),t,PK(t)]}(g)),v=[g].concat(y).reduce(function(e,n){return e.concat(cK(n)===qq?function(e,t){void 0===t&&(t={});var n=t,i=n.placement,r=n.boundary,s=n.rootBoundary,o=n.padding,a=n.flipVariations,l=n.allowedAutoPlacements,u=void 0===l?nK:l,c=CK(i),d=c?a?tK:tK.filter(function(e){return CK(e)===c}):Kq,h=d.filter(function(e){return u.indexOf(e)>=0});0===h.length&&(h=d);var p=h.reduce(function(t,n){return t[n]=WK(e,{placement:n,boundary:r,rootBoundary:s,padding:o})[cK(n)],t},{});return Object.keys(p).sort(function(e,t){return p[e]-p[t]})}(t,{placement:n,boundary:c,rootBoundary:d,padding:u,flipVariations:f,allowedAutoPlacements:m}):n)},[]),b=t.rects.reference,T=t.rects.popper,x=new Map,E=!0,w=v[0],I=0;I=0,M=O?"width":"height",k=WK(t,{placement:A,boundary:c,rootBoundary:d,altBoundary:h,padding:u}),R=O?C?Wq:Xq:C?Hq:Gq;b[M]>T[M]&&(R=FK(R));var N=FK(R),D=[];if(s&&D.push(k[S]<=0),a&&D.push(k[R]<=0,k[N]<=0),D.every(function(e){return e})){w=A,E=!1;break}x.set(A,D)}if(E)for(var F=function(e){var t=v.find(function(t){var n=x.get(t);if(n)return n.slice(0,e).every(function(e){return e})});if(t)return w=t,"break"},L=f?3:1;L>0;L--){if("break"===F(L))break}t.placement!==w&&(t.modifiersData[i]._skip=!0,t.placement=w,t.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function qK(e,t,n){return void 0===n&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function KK(e){return[Gq,Wq,Hq,Xq].some(function(t){return e[t]>=0})}var ZK={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(e){var t=e.state,n=e.name,i=t.rects.reference,r=t.rects.popper,s=t.modifiersData.preventOverflow,o=WK(t,{elementContext:"reference"}),a=WK(t,{altBoundary:!0}),l=qK(o,i),u=qK(a,r,s),c=KK(l),d=KK(u);t.modifiersData[n]={referenceClippingOffsets:l,popperEscapeOffsets:u,isReferenceHidden:c,hasPopperEscaped:d},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":c,"data-popper-escaped":d})}};var QK={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(e){var t=e.state,n=e.options,i=e.name,r=n.offset,s=void 0===r?[0,0]:r,o=nK.reduce(function(e,n){return e[n]=function(e,t,n){var i=cK(e),r=[Xq,Gq].indexOf(i)>=0?-1:1,s="function"==typeof n?n(Object.assign({},t,{placement:e})):n,o=s[0],a=s[1];return o=o||0,a=(a||0)*r,[Xq,Wq].indexOf(i)>=0?{x:a,y:o}:{x:o,y:a}}(n,t.rects,s),e},{}),a=o[t.placement],l=a.x,u=a.y;null!=t.modifiersData.popperOffsets&&(t.modifiersData.popperOffsets.x+=l,t.modifiersData.popperOffsets.y+=u),t.modifiersData[i]=o}};var JK={name:"popperOffsets",enabled:!0,phase:"read",fn:function(e){var t=e.state,n=e.name;t.modifiersData[n]=HK({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})},data:{}};var eZ={name:"preventOverflow",enabled:!0,phase:"main",fn:function(e){var t=e.state,n=e.options,i=e.name,r=n.mainAxis,s=void 0===r||r,o=n.altAxis,a=void 0!==o&&o,l=n.boundary,u=n.rootBoundary,c=n.altBoundary,d=n.padding,h=n.tether,p=void 0===h||h,f=n.tetherOffset,m=void 0===f?0:f,g=WK(t,{boundary:l,rootBoundary:u,padding:d,altBoundary:c}),_=cK(t.placement),y=CK(t.placement),v=!y,b=EK(_),T=function(e){return"x"===e?"y":"x"}(b),x=t.modifiersData.popperOffsets,E=t.rects.reference,w=t.rects.popper,I="function"==typeof m?m(Object.assign({},t.rects,{placement:t.placement})):m,A="number"==typeof I?{mainAxis:I,altAxis:I}:Object.assign({mainAxis:0,altAxis:0},I),S=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,C={x:0,y:0};if(x){if(s){var O,M="y"===b?Gq:Xq,k="y"===b?Hq:Wq,R="y"===b?"height":"width",N=x[b],D=N+g[M],F=N-g[k],L=p?-w[R]/2:0,P=y===Zq?E[R]:w[R],B=y===Zq?-w[R]:-E[R],$=t.elements.arrow,U=p&&$?mK($):{width:0,height:0},V=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},z=V[M],j=V[k],Y=wK(0,E[R],U[R]),G=v?E[R]/2-L-Y-z-A.mainAxis:P-Y-z-A.mainAxis,H=v?-E[R]/2+L+Y+j+A.mainAxis:B+Y+j+A.mainAxis,W=t.elements.arrow&&xK(t.elements.arrow),X=W?"y"===b?W.clientTop||0:W.clientLeft||0:0,q=null!=(O=null==S?void 0:S[b])?O:0,K=N+H-q,Z=wK(p?hK(D,N+G-q-X):D,N,p?dK(F,K):F);x[b]=Z,C[b]=Z-N}if(a){var Q,J="x"===b?Gq:Xq,ee="x"===b?Hq:Wq,te=x[T],ne="y"===T?"height":"width",ie=te+g[J],re=te-g[ee],se=-1!==[Gq,Xq].indexOf(_),oe=null!=(Q=null==S?void 0:S[T])?Q:0,ae=se?ie:te-E[ne]-w[ne]-oe+A.altAxis,le=se?te+E[ne]+w[ne]-oe-A.altAxis:re,ue=p&&se?function(e,t,n){var i=wK(e,t,n);return i>n?n:i}(ae,te,le):wK(p?ae:ie,te,p?le:re);x[T]=ue,C[T]=ue-te}t.modifiersData[i]=C}},requiresIfExists:["offset"]};function tZ(e,t,n){void 0===n&&(n=!1);var i=aK(t),r=aK(t)&&function(e){var t=e.getBoundingClientRect(),n=pK(t.width)/e.offsetWidth||1,i=pK(t.height)/e.offsetHeight||1;return 1!==n||1!==i}(t),s=vK(t),o=fK(e,r),a={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(i||!i&&!n)&&(("body"!==rK(t)||UK(s))&&(a=function(e){return e!==sK(e)&&aK(e)?function(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}(e):BK(e)}(t)),aK(t)?((l=fK(t,!0)).x+=t.clientLeft,l.y+=t.clientTop):s&&(l.x=$K(s))),{x:o.left+a.scrollLeft-l.x,y:o.top+a.scrollTop-l.y,width:o.width,height:o.height}}function nZ(e){var t=new Map,n=new Set,i=[];function r(e){n.add(e.name),[].concat(e.requires||[],e.requiresIfExists||[]).forEach(function(e){if(!n.has(e)){var i=t.get(e);i&&r(i)}}),i.push(e)}return e.forEach(function(e){t.set(e.name,e)}),e.forEach(function(e){n.has(e.name)||r(e)}),i}function iZ(e){var t;return function(){return t||(t=new Promise(function(n){Promise.resolve().then(function(){t=void 0,n(e())})})),t}}var rZ={placement:"bottom",modifiers:[],strategy:"absolute"};function sZ(){for(var e=arguments.length,t=new Array(e),n=0;n({})},strategy:{type:String,values:["fixed","absolute"],default:"absolute"}}),cZ=oG({...uZ,...lZ,id:String,style:{type:[String,Array,Object]},className:{type:[String,Array,Object]},effect:{type:String,default:"dark"},visible:Boolean,enterable:{type:Boolean,default:!0},pure:Boolean,focusOnShow:Boolean,trapping:Boolean,popperClass:{type:[String,Array,Object]},popperStyle:{type:[String,Array,Object]},referenceEl:{type:Object},triggerTargetEl:{type:Object},stopPopperMouseEvent:{type:Boolean,default:!0},virtualTriggering:Boolean,zIndex:Number,...Eq(["ariaLabel"])}),dZ={mouseenter:e=>e instanceof MouseEvent,mouseleave:e=>e instanceof MouseEvent,focus:()=>!0,blur:()=>!0,close:()=>!0},hZ=oG({to:{type:[String,Object],required:!0},disabled:Boolean});function pZ(){let e;const t=()=>window.clearTimeout(e);return yj(()=>t()),{registerTimeout:(n,i)=>{t(),e=window.setTimeout(n,i)},cancelTimeout:t}}const fZ=oG({showAfter:{type:Number,default:0},hideAfter:{type:Number,default:200},autoClose:{type:Number,default:0}}),mZ=oG({...fZ,...cZ,appendTo:{type:hZ.to.type},content:{type:String,default:""},rawContent:Boolean,persistent:Boolean,visible:{type:Boolean,default:null},transition:String,teleported:{type:Boolean,default:!0},disabled:Boolean,...Eq(["ariaLabel"])}),gZ=oG({virtualRef:{type:Object},virtualTriggering:Boolean,onMouseenter:{type:Function},onMouseleave:{type:Function},onClick:{type:Function},onKeydown:{type:Function},onFocus:{type:Function},onBlur:{type:Function},onContextmenu:{type:Function},id:String,open:Boolean}),_Z=oG({...gZ,disabled:Boolean,trigger:{type:[String,Array],default:"hover"},triggerKeys:{type:Array,default:()=>[sW.enter,sW.numpadEnter,sW.space]},focusOnTarget:Boolean}),yZ=sG({type:Boolean,default:null}),vZ=sG({type:Function}),bZ=e=>{const t=`update:${e}`,n=`onUpdate:${e}`,i=[t];return{useModelToggle:({indicator:i,toggleReason:r,shouldHideWhenRouteChanges:s,shouldProceed:o,onShow:a,onHide:l})=>{const u=NM(),{emit:c}=u,d=u.props,h=tk(()=>Yx(d[n])),p=tk(()=>null===d[e]),f=e=>{!0!==i.value&&(i.value=!0,r&&(r.value=e),Yx(a)&&a(e))},m=e=>{!1!==i.value&&(i.value=!1,r&&(r.value=e),Yx(l)&&l(e))},g=e=>{if(!0===d.disabled||Yx(o)&&!o())return;const n=h.value&&dj;n&&c(t,!0),!p.value&&n||f(e)},_=e=>{if(!0===d.disabled||!dj)return;const n=h.value&&dj;n&&c(t,!1),!p.value&&n||m(e)},y=e=>{Jz(e)&&(d.disabled&&e?h.value&&c(t,!1):i.value!==e&&(e?f():m()))};return CO(()=>d[e],y),s&&void 0!==u.appContext.config.globalProperties.$route&&CO(()=>({...u.proxy.$route}),()=>{s.value&&i.value&&_()}),YS(()=>{y(d[e])}),{hide:_,show:g,toggle:()=>{i.value?_():g()},hasUpdateHandler:h}},useModelToggleProps:{[e]:yZ,[n]:vZ},useModelToggleEmits:i}},{useModelToggle:TZ,useModelToggleProps:xZ,useModelToggleEmits:EZ}=bZ("modelValue"),{useModelToggleProps:wZ,useModelToggleEmits:IZ,useModelToggle:AZ}=bZ("visible"),SZ=oG({...Vq,...wZ,...mZ,..._Z,...lZ,showArrow:{type:Boolean,default:!0}}),CZ=[...IZ,"before-show","before-hide","show","hide","open","close"],OZ=(e,t,n)=>i=>{((e,t)=>Ux(e)?e.includes(t):e===t)(xI(e),t)&&n(i)},MZ=Symbol("elForwardRef"),kZ=sS({name:"ElOnlyChild",setup(e,{slots:t,attrs:n}){var i;const r=qC(MZ),s=(o=null!=(i=null==r?void 0:r.setForwardRef)?i:Rx,{mounted(e){o(e)},updated(e){o(e)},unmounted(){o(null)}});var o;return()=>{var e;const i=null==(e=t.default)?void 0:e.call(t,n);if(!i)return null;const[r,o]=RZ(i);return r?kA(bM(r,n),[[s]]):null}}});function RZ(e){if(!e)return[null,0];const t=e,n=t.filter(e=>e.type!==JO).length;for(const e of t){if(Wx(e))switch(e.type){case JO:continue;case QO:case"svg":return[NZ(e),n];case ZO:return RZ(e.children);default:return[e,n]}return[NZ(e),n]}return[null,0]}function NZ(e){const t=Zz("only-child");return _M("span",{class:t.e("content")},[e])}const DZ=sS({name:"ElPopperTrigger",inheritAttrs:!1}),FZ=sS({...DZ,props:gZ,setup(e,{expose:t}){const n=e,{role:i,triggerRef:r}=qC(Bq,void 0);var s;s=r,XC(MZ,{setForwardRef:e=>{s.value=e}});const o=tk(()=>l.value?n.id:void 0),a=tk(()=>{if(i&&"tooltip"===i.value)return n.open&&n.id?n.id:void 0}),l=tk(()=>{if(i&&"tooltip"!==i.value)return i.value}),u=tk(()=>l.value?`${n.open}`:void 0);let c;const d=["onMouseenter","onMouseleave","onClick","onKeydown","onFocus","onBlur","onContextmenu"];return YS(()=>{CO(()=>n.virtualRef,e=>{e&&(r.value=yH(e))},{immediate:!0}),CO(r,(e,t)=>{null==c||c(),c=void 0,tj(e)&&(d.forEach(i=>{var r;const s=n[i];s&&(e.addEventListener(i.slice(2).toLowerCase(),s,["onFocus","onBlur"].includes(i)),null==(r=null==t?void 0:t.removeEventListener)||r.call(t,i.slice(2).toLowerCase(),s,["onFocus","onBlur"].includes(i)))}),Nq(e)&&(c=CO([o,a,l,u],t=>{["aria-controls","aria-describedby","aria-haspopup","aria-expanded"].forEach((n,i)=>{FX(t[i])?e.removeAttribute(n):e.setAttribute(n,t[i])})},{immediate:!0}))),tj(t)&&Nq(t)&&["aria-controls","aria-describedby","aria-haspopup","aria-expanded"].forEach(e=>t.removeAttribute(e))},{immediate:!0})}),WS(()=>{if(null==c||c(),c=void 0,r.value&&tj(r.value)){const e=r.value;d.forEach(t=>{const i=n[t];i&&e.removeEventListener(t.slice(2).toLowerCase(),i,["onFocus","onBlur"].includes(t))}),r.value=void 0}}),t({triggerRef:r}),(e,t)=>e.virtualTriggering?EM("v-if",!0):(iM(),cM(xI(kZ),SM({key:0},e.$attrs,{"aria-controls":xI(o),"aria-describedby":xI(a),"aria-expanded":xI(u),"aria-haspopup":xI(l)}),{default:MA(()=>[uC(e.$slots,"default")]),_:3},16,["aria-controls","aria-describedby","aria-expanded","aria-haspopup"]))}});var LZ=UH(FZ,[["__file","trigger.vue"]]);const PZ=(e,t,{checkForDefaultPrevented:n=!0}={})=>i=>{const r=null==e?void 0:e(i);if(!1===n||!r)return null==t?void 0:t(i)},BZ=e=>t=>"mouse"===t.pointerType?e(t):void 0,$Z=sS({name:"ElTooltipTrigger"}),UZ=sS({...$Z,props:_Z,setup(e,{expose:t}){const n=e,i=Zz("tooltip"),{controlled:r,id:s,open:o,onOpen:a,onClose:l,onToggle:u}=qC(Yq,void 0),c=_I(null),d=()=>{if(xI(r)||n.disabled)return!0},h=kI(n,"trigger"),p=PZ(d,OZ(h,"hover",e=>{a(e),n.focusOnTarget&&e.target&&oA(()=>{Dq(e.target,{preventScroll:!0})})})),f=PZ(d,OZ(h,"hover",l)),m=PZ(d,OZ(h,"click",e=>{0===e.button&&u(e)})),g=PZ(d,OZ(h,"focus",a)),_=PZ(d,OZ(h,"focus",l)),y=PZ(d,OZ(h,"contextmenu",e=>{e.preventDefault(),u(e)})),v=PZ(d,e=>{const{code:t}=e;n.triggerKeys.includes(t)&&(e.preventDefault(),u(e))});return t({triggerRef:c}),(e,t)=>(iM(),cM(xI(LZ),{id:xI(s),"virtual-ref":e.virtualRef,open:xI(o),"virtual-triggering":e.virtualTriggering,class:xE(xI(i).e("trigger")),onBlur:xI(_),onClick:xI(m),onContextmenu:xI(y),onFocus:xI(g),onMouseenter:xI(p),onMouseleave:xI(f),onKeydown:xI(v)},{default:MA(()=>[uC(e.$slots,"default")]),_:3},8,["id","virtual-ref","open","virtual-triggering","class","onBlur","onClick","onContextmenu","onFocus","onMouseenter","onMouseleave","onKeydown"]))}});var VZ=UH(UZ,[["__file","trigger.vue"]]);const zZ=bG(UH(sS({__name:"teleport",props:hZ,setup:e=>(e,t)=>e.disabled?uC(e.$slots,"default",{key:0}):(iM(),cM(zA,{key:1,to:e.to},[uC(e.$slots,"default")],8,["to"]))}),[["__file","teleport.vue"]])),jZ=()=>{const e=Kz(),t=zW(),n=tk(()=>`${e.value}-popper-container-${t.prefix}`),i=tk(()=>`#${n.value}`);return{id:n,selector:i}},YZ=()=>{const{id:e,selector:t}=jZ();return jS(()=>{dj&&(document.body.querySelector(t.value)||(e=>{const t=document.createElement("div");t.id=e,document.body.appendChild(t)})(e.value))}),{id:e,selector:t}},GZ="focus-trap.focus-after-trapped",HZ="focus-trap.focus-after-released",WZ={cancelable:!0,bubbles:!1},XZ={cancelable:!0,bubbles:!1},qZ="focusAfterTrapped",KZ="focusAfterReleased",ZZ=Symbol("elFocusTrap"),QZ=_I(),JZ=_I(0),eQ=_I(0);let tQ=0;const nQ=e=>{const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>{const t="INPUT"===e.tagName&&"hidden"===e.type;return e.disabled||e.hidden||t?NodeFilter.FILTER_SKIP:e.tabIndex>=0||e===document.activeElement?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t},iQ=(e,t)=>{for(const n of e)if(!rQ(n,t))return n},rQ=(e,t)=>{if("hidden"===getComputedStyle(e).visibility)return!0;for(;e;){if(t&&e===t)return!1;if("none"===getComputedStyle(e).display)return!0;e=e.parentElement}return!1},sQ=(e,t)=>{if(e){const n=document.activeElement;Dq(e,{preventScroll:!0}),eQ.value=window.performance.now(),e!==n&&(e=>e instanceof HTMLInputElement&&"select"in e)(e)&&t&&e.select()}};function oQ(e,t){const n=[...e],i=e.indexOf(t);return-1!==i&&n.splice(i,1),n}const aQ=(()=>{let e=[];return{push:t=>{const n=e[0];n&&t!==n&&n.pause(),e=oQ(e,t),e.unshift(t)},remove:t=>{var n,i;e=oQ(e,t),null==(i=null==(n=e[0])?void 0:n.resume)||i.call(n)}}})(),lQ=()=>{QZ.value="pointer",JZ.value=window.performance.now()},uQ=()=>{QZ.value="keyboard",JZ.value=window.performance.now()},cQ=()=>(YS(()=>{0===tQ&&(document.addEventListener("mousedown",lQ),document.addEventListener("touchstart",lQ),document.addEventListener("keydown",uQ)),tQ++}),WS(()=>{tQ--,tQ<=0&&(document.removeEventListener("mousedown",lQ),document.removeEventListener("touchstart",lQ),document.removeEventListener("keydown",uQ))}),{focusReason:QZ,lastUserFocusTimestamp:JZ,lastAutomatedFocusTimestamp:eQ}),dQ=e=>new CustomEvent("focus-trap.focusout-prevented",{...XZ,detail:e});let hQ=[];const pQ=e=>{e.code===sW.esc&&hQ.forEach(t=>t(e))},fQ=sS({name:"ElFocusTrap",inheritAttrs:!1,props:{loop:Boolean,trapped:Boolean,focusTrapEl:Object,focusStartEl:{type:[Object,String],default:"first"}},emits:[qZ,KZ,"focusin","focusout","focusout-prevented","release-requested"],setup(e,{emit:t}){const n=_I();let i,r;const{focusReason:s}=cQ();var o;o=n=>{e.trapped&&!a.paused&&t("release-requested",n)},YS(()=>{0===hQ.length&&document.addEventListener("keydown",pQ),dj&&hQ.push(o)}),WS(()=>{hQ=hQ.filter(e=>e!==o),0===hQ.length&&dj&&document.removeEventListener("keydown",pQ)});const a={paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}},l=n=>{if(!e.loop&&!e.trapped)return;if(a.paused)return;const{code:i,altKey:r,ctrlKey:o,metaKey:l,currentTarget:u,shiftKey:c}=n,{loop:d}=e,h=i===sW.tab&&!r&&!o&&!l,p=document.activeElement;if(h&&p){const e=u,[i,r]=(e=>{const t=nQ(e);return[iQ(t,e),iQ(t.reverse(),e)]})(e);if(i&&r)if(c||p!==r){if(c&&[i,e].includes(p)){const e=dQ({focusReason:s.value});t("focusout-prevented",e),e.defaultPrevented||(n.preventDefault(),d&&sQ(r,!0))}}else{const e=dQ({focusReason:s.value});t("focusout-prevented",e),e.defaultPrevented||(n.preventDefault(),d&&sQ(i,!0))}else if(p===e){const e=dQ({focusReason:s.value});t("focusout-prevented",e),e.defaultPrevented||n.preventDefault()}}};XC(ZZ,{focusTrapRef:n,onKeydown:l}),CO(()=>e.focusTrapEl,e=>{e&&(n.value=e)},{immediate:!0}),CO([n],([e],[t])=>{e&&(e.addEventListener("keydown",l),e.addEventListener("focusin",d),e.addEventListener("focusout",h)),t&&(t.removeEventListener("keydown",l),t.removeEventListener("focusin",d),t.removeEventListener("focusout",h))});const u=e=>{t(qZ,e)},c=e=>t(KZ,e),d=s=>{const o=xI(n);if(!o)return;const l=s.target,u=s.relatedTarget,c=l&&o.contains(l);if(!e.trapped){u&&o.contains(u)||(i=u)}c&&t("focusin",s),a.paused||e.trapped&&(c?r=l:sQ(r,!0))},h=i=>{const o=xI(n);if(!a.paused&&o)if(e.trapped){const n=i.relatedTarget;FX(n)||o.contains(n)||setTimeout(()=>{if(!a.paused&&e.trapped){const e=dQ({focusReason:s.value});t("focusout-prevented",e),e.defaultPrevented||sQ(r,!0)}},0)}else{const e=i.target;e&&o.contains(e)||t("focusout",i)}};async function p(){await oA();const t=xI(n);if(t){aQ.push(a);const n=t.contains(document.activeElement)?i:document.activeElement;i=n;if(!t.contains(n)){const i=new Event(GZ,WZ);t.addEventListener(GZ,u),t.dispatchEvent(i),i.defaultPrevented||oA(()=>{let i=e.focusStartEl;Gx(i)||(sQ(i),document.activeElement!==i&&(i="first")),"first"===i&&((e,t=!1)=>{const n=document.activeElement;for(const i of e)if(sQ(i,t),document.activeElement!==n)return})(nQ(t),!0),document.activeElement!==n&&"container"!==i||sQ(t)})}}}function f(){const e=xI(n);if(e){e.removeEventListener(GZ,u);const t=new CustomEvent(HZ,{...WZ,detail:{focusReason:s.value}});e.addEventListener(HZ,c),e.dispatchEvent(t),t.defaultPrevented||"keyboard"!=s.value&&JZ.value>eQ.value&&!e.contains(document.activeElement)||sQ(null!=i?i:document.body),e.removeEventListener(HZ,c),aQ.remove(a),i=null,r=null}}return YS(()=>{e.trapped&&p(),CO(()=>e.trapped,e=>{e?p():f()})}),WS(()=>{e.trapped&&f(),n.value&&(n.value.removeEventListener("keydown",l),n.value.removeEventListener("focusin",d),n.value.removeEventListener("focusout",h),n.value=void 0)}),{onKeydown:l}}});var mQ=UH(fQ,[["render",function(e,t,n,i,r,s){return uC(e.$slots,"default",{handleKeydown:e.onKeydown})}],["__file","focus-trap.vue"]]);const gQ=function(e){return void 0===e},_Q=(e,t=[])=>{const{placement:n,strategy:i,popperOptions:r}=e,s={placement:n,strategy:i,...r,modifiers:[...yQ(e),...t]};return function(e,t){t&&(e.modifiers=[...e.modifiers,...null!=t?t:[]])}(s,null==r?void 0:r.modifiers),s};function yQ(e){const{offset:t,gpuAcceleration:n,fallbackPlacements:i}=e;return[{name:"offset",options:{offset:[0,null!=t?t:12]}},{name:"preventOverflow",options:{padding:{top:0,bottom:0,left:0,right:0}}},{name:"flip",options:{padding:5,fallbackPlacements:i}},{name:"computeStyles",options:{gpuAcceleration:n}}]}const vQ=(e,t,n={})=>{const i={name:"updateState",enabled:!0,phase:"write",fn:({state:e})=>{const t=function(e){const t=Object.keys(e.elements),n=iG(t.map(t=>[t,e.styles[t]||{}])),i=iG(t.map(t=>[t,e.attributes[t]]));return{styles:n,attributes:i}}(e);Object.assign(o.value,t)},requires:["computeStyles"]},r=tk(()=>{const{onFirstUpdate:e,placement:t,strategy:r,modifiers:s}=xI(n);return{onFirstUpdate:e,placement:t||"bottom",strategy:r||"absolute",modifiers:[...s||[],i,{name:"applyStyles",enabled:!1}]}}),s=yI(),o=_I({styles:{popper:{position:xI(r).strategy,left:"0",top:"0"},arrow:{position:"absolute"}},attributes:{}}),a=()=>{s.value&&(s.value.destroy(),s.value=void 0)};return CO(r,e=>{const t=xI(s);t&&t.setOptions(e)},{deep:!0}),CO([e,t],([e,t])=>{a(),e&&t&&(s.value=aZ(e,t,xI(r)))}),WS(()=>{a()}),{state:tk(()=>{var e;return{...(null==(e=xI(s))?void 0:e.state)||{}}}),styles:tk(()=>xI(o).styles),attributes:tk(()=>xI(o).attributes),update:()=>{var e;return null==(e=xI(s))?void 0:e.update()},forceUpdate:()=>{var e;return null==(e=xI(s))?void 0:e.forceUpdate()},instanceRef:tk(()=>xI(s))}};const bQ=e=>{const{popperInstanceRef:t,contentRef:n,triggerRef:i,role:r}=qC(Bq,void 0),s=_I(),o=tk(()=>e.arrowOffset),a=tk(()=>({name:"eventListeners",enabled:!!e.visible})),l=tk(()=>{var e;const t=xI(s),n=null!=(e=xI(o))?e:0;return{name:"arrow",enabled:!gQ(t),options:{element:t,padding:n}}}),u=tk(()=>({onFirstUpdate:()=>{f()},..._Q(e,[xI(l),xI(a)])})),c=tk(()=>(e=>{if(dj)return yH(e)})(e.referenceEl)||xI(i)),{attributes:d,state:h,styles:p,update:f,forceUpdate:m,instanceRef:g}=vQ(c,n,u);return CO(g,e=>t.value=e,{flush:"sync"}),YS(()=>{CO(()=>{var e,t;return null==(t=null==(e=xI(c))?void 0:e.getBoundingClientRect)?void 0:t.call(e)},()=>{f()})}),{attributes:d,arrowRef:s,contentRef:n,instanceRef:g,state:h,styles:p,role:r,forceUpdate:m,update:f}},TQ=sS({name:"ElPopperContent"}),xQ=sS({...TQ,props:cZ,emits:dZ,setup(e,{expose:t,emit:n}){const i=e,{focusStartRef:r,trapped:s,onFocusAfterReleased:o,onFocusAfterTrapped:a,onFocusInTrap:l,onFocusoutPrevented:u,onReleaseRequested:c}=((e,t)=>{const n=_I(!1),i=_I();return{focusStartRef:i,trapped:n,onFocusAfterReleased:e=>{var n;"pointer"!==(null==(n=e.detail)?void 0:n.focusReason)&&(i.value="first",t("blur"))},onFocusAfterTrapped:()=>{t("focus")},onFocusInTrap:t=>{e.visible&&!n.value&&(t.target&&(i.value=t.target),n.value=!0)},onFocusoutPrevented:t=>{e.trapping||("pointer"===t.detail.focusReason&&t.preventDefault(),n.value=!1)},onReleaseRequested:()=>{n.value=!1,t("close")}}})(i,n),{attributes:d,arrowRef:h,contentRef:p,styles:f,instanceRef:m,role:g,update:_}=bQ(i),{ariaModal:y,arrowStyle:v,contentAttrs:b,contentClass:T,contentStyle:x,updateZIndex:E}=((e,{attributes:t,styles:n,role:i})=>{const{nextZIndex:r}=Ij(),s=Zz("popper"),o=tk(()=>xI(t).popper),a=_I(ej(e.zIndex)?e.zIndex:r()),l=tk(()=>[s.b(),s.is("pure",e.pure),s.is(e.effect),e.popperClass]),u=tk(()=>[{zIndex:xI(a)},xI(n).popper,e.popperStyle||{}]);return{ariaModal:tk(()=>"dialog"===i.value?"false":void 0),arrowStyle:tk(()=>xI(n).arrow||{}),contentAttrs:o,contentClass:l,contentStyle:u,contentZIndex:a,updateZIndex:()=>{a.value=ej(e.zIndex)?e.zIndex:r()}}})(i,{styles:f,attributes:d,role:g}),w=qC(GW,void 0);let I;XC($q,{arrowStyle:v,arrowRef:h}),w&&XC(GW,{...w,addInputId:Rx,removeInputId:Rx});const A=(e=!0)=>{_(),e&&E()},S=()=>{A(!1),i.visible&&i.focusOnShow?s.value=!0:!1===i.visible&&(s.value=!1)};return YS(()=>{CO(()=>i.triggerTargetEl,(e,t)=>{null==I||I(),I=void 0;const n=xI(e||p.value),r=xI(t||p.value);tj(n)&&(I=CO([g,()=>i.ariaLabel,y,()=>i.id],e=>{["role","aria-label","aria-modal","id"].forEach((t,i)=>{FX(e[i])?n.removeAttribute(t):n.setAttribute(t,e[i])})},{immediate:!0})),r!==n&&tj(r)&&["role","aria-label","aria-modal","id"].forEach(e=>{r.removeAttribute(e)})},{immediate:!0}),CO(()=>i.visible,S,{immediate:!0})}),WS(()=>{null==I||I(),I=void 0}),t({popperContentRef:p,popperInstanceRef:m,updatePopper:A,contentStyle:x}),(e,t)=>(iM(),uM("div",SM({ref_key:"contentRef",ref:p},xI(b),{style:xI(x),class:xI(T),tabindex:"-1",onMouseenter:t=>e.$emit("mouseenter",t),onMouseleave:t=>e.$emit("mouseleave",t)}),[_M(xI(mQ),{trapped:xI(s),"trap-on-focus-in":!0,"focus-trap-el":xI(p),"focus-start-el":xI(r),onFocusAfterTrapped:xI(a),onFocusAfterReleased:xI(o),onFocusin:xI(l),onFocusoutPrevented:xI(u),onReleaseRequested:xI(c)},{default:MA(()=>[uC(e.$slots,"default")]),_:3},8,["trapped","focus-trap-el","focus-start-el","onFocusAfterTrapped","onFocusAfterReleased","onFocusin","onFocusoutPrevented","onReleaseRequested"])],16,["onMouseenter","onMouseleave"]))}});var EQ=UH(xQ,[["__file","content.vue"]]);const wQ=sS({name:"ElTooltipContent",inheritAttrs:!1}),IQ=sS({...wQ,props:mZ,setup(e,{expose:t}){const n=e,{selector:i}=jZ(),r=Zz("tooltip"),s=_I(),o=cj(()=>{var e;return null==(e=s.value)?void 0:e.popperContentRef});let a;const{controlled:l,id:u,open:c,trigger:d,onClose:h,onOpen:p,onShow:f,onHide:m,onBeforeShow:g,onBeforeHide:_}=qC(Yq,void 0),y=tk(()=>n.transition||`${r.namespace.value}-fade-in-linear`),v=tk(()=>n.persistent);WS(()=>{null==a||a()});const b=tk(()=>!!xI(v)||xI(c)),T=tk(()=>!n.disabled&&xI(c)),x=tk(()=>n.appendTo||i.value),E=tk(()=>{var e;return null!=(e=n.style)?e:{}}),w=_I(!0),I=()=>{m(),N()&&Dq(document.body,{preventScroll:!0}),w.value=!0},A=()=>{if(xI(l))return!0},S=PZ(A,()=>{n.enterable&&"hover"===xI(d)&&p()}),C=PZ(A,()=>{"hover"===xI(d)&&h()}),O=()=>{var e,t;null==(t=null==(e=s.value)?void 0:e.updatePopper)||t.call(e),null==g||g()},M=()=>{null==_||_()},k=()=>{f()},R=()=>{n.virtualTriggering||h()},N=e=>{var t;const n=null==(t=s.value)?void 0:t.popperContentRef,i=(null==e?void 0:e.relatedTarget)||document.activeElement;return null==n?void 0:n.contains(i)};return CO(()=>xI(c),e=>{e?(w.value=!1,a=function(e,t,n={}){const{window:i=vH,ignore:r=[],capture:s=!0,detectIframe:o=!1}=n;if(!i)return;fj&&!TH&&(TH=!0,Array.from(i.document.body.children).forEach(e=>e.addEventListener("click",pj)));let a=!0;const l=e=>r.some(t=>{if("string"==typeof t)return Array.from(i.document.querySelectorAll(t)).some(t=>t===e.target||e.composedPath().includes(t));{const n=yH(t);return n&&(e.target===n||e.composedPath().includes(n))}}),u=[bH(i,"click",n=>{const i=yH(e);i&&i!==n.target&&!n.composedPath().includes(i)&&(0===n.detail&&(a=!l(n)),a?t(n):a=!0)},{passive:!0,capture:s}),bH(i,"pointerdown",t=>{const n=yH(e);n&&(a=!t.composedPath().includes(n)&&!l(t))},{passive:!0}),o&&bH(i,"blur",n=>{var r;const s=yH(e);"IFRAME"!==(null==(r=i.document.activeElement)?void 0:r.tagName)||(null==s?void 0:s.contains(i.document.activeElement))||t(n)})].filter(Boolean);return()=>u.forEach(e=>e())}(o,()=>{if(xI(l))return;var e;(e=xI(d),e||0===e?Ux(e)?e:[e]:[]).every(e=>"hover"!==e&&"focus"!==e)&&h()})):null==a||a()},{flush:"post"}),CO(()=>n.content,()=>{var e,t;null==(t=null==(e=s.value)?void 0:e.updatePopper)||t.call(e)}),t({contentRef:s,isFocusInsideContent:N}),(e,t)=>(iM(),cM(xI(zZ),{disabled:!e.teleported,to:xI(x)},{default:MA(()=>[xI(b)||!w.value?(iM(),cM(Ak,{key:0,name:xI(y),appear:!xI(v),onAfterLeave:I,onBeforeEnter:O,onAfterEnter:k,onBeforeLeave:M,persisted:""},{default:MA(()=>[kA(_M(xI(EQ),SM({id:xI(u),ref_key:"contentRef",ref:s},e.$attrs,{"aria-label":e.ariaLabel,"aria-hidden":w.value,"boundaries-padding":e.boundariesPadding,"fallback-placements":e.fallbackPlacements,"gpu-acceleration":e.gpuAcceleration,offset:e.offset,placement:e.placement,"popper-options":e.popperOptions,"arrow-offset":e.arrowOffset,strategy:e.strategy,effect:e.effect,enterable:e.enterable,pure:e.pure,"popper-class":e.popperClass,"popper-style":[e.popperStyle,xI(E)],"reference-el":e.referenceEl,"trigger-target-el":e.triggerTargetEl,visible:xI(T),"z-index":e.zIndex,onMouseenter:xI(S),onMouseleave:xI(C),onBlur:R,onClose:xI(h)}),{default:MA(()=>[uC(e.$slots,"default")]),_:3},16,["id","aria-label","aria-hidden","boundaries-padding","fallback-placements","gpu-acceleration","offset","placement","popper-options","arrow-offset","strategy","effect","enterable","pure","popper-class","popper-style","reference-el","trigger-target-el","visible","z-index","onMouseenter","onMouseleave","onClose"]),[[zk,xI(T)]])]),_:3},8,["name","appear"])):EM("v-if",!0)]),_:3},8,["disabled","to"]))}});var AQ=UH(IQ,[["__file","content.vue"]]);const SQ=sS({name:"ElPopperArrow",inheritAttrs:!1});var CQ=UH(sS({...SQ,setup(e,{expose:t}){const n=Zz("popper"),{arrowRef:i,arrowStyle:r}=qC($q,void 0);return WS(()=>{i.value=void 0}),t({arrowRef:i}),(e,t)=>(iM(),uM("span",{ref_key:"arrowRef",ref:i,class:xE(xI(n).e("arrow")),style:_E(xI(r)),"data-popper-arrow":""},null,6))}}),[["__file","arrow.vue"]]);const OQ=sS({name:"ElTooltip"}),MQ=sS({...OQ,props:SZ,emits:CZ,setup(e,{expose:t,emit:n}){const i=e;YZ();const r=Zz("tooltip"),s=jW(),o=_I(),a=_I(),l=()=>{var e;const t=xI(o);t&&(null==(e=t.popperInstanceRef)||e.update())},u=_I(!1),c=_I(),{show:d,hide:h,hasUpdateHandler:p}=AZ({indicator:u,toggleReason:c}),{onOpen:f,onClose:m}=(({showAfter:e,hideAfter:t,autoClose:n,open:i,close:r})=>{const{registerTimeout:s}=pZ(),{registerTimeout:o,cancelTimeout:a}=pZ();return{onOpen:(t,a=xI(e))=>{s(()=>{i(t);const e=xI(n);ej(e)&&e>0&&o(()=>{r(t)},e)},a)},onClose:(e,n=xI(t))=>{a(),s(()=>{r(e)},n)}}})({showAfter:kI(i,"showAfter"),hideAfter:kI(i,"hideAfter"),autoClose:kI(i,"autoClose"),open:d,close:h}),g=tk(()=>Jz(i.visible)&&!p.value),_=tk(()=>[r.b(),i.popperClass]);XC(Yq,{controlled:g,id:s,open:sI(u),trigger:kI(i,"trigger"),onOpen:f,onClose:m,onToggle:e=>{xI(u)?m(e):f(e)},onShow:()=>{n("show",c.value)},onHide:()=>{n("hide",c.value)},onBeforeShow:()=>{n("before-show",c.value)},onBeforeHide:()=>{n("before-hide",c.value)},updatePopper:l}),CO(()=>i.disabled,e=>{e&&u.value&&(u.value=!1)});return LS(()=>u.value&&h()),t({popperRef:o,contentRef:a,isFocusInsideContent:e=>{var t;return null==(t=a.value)?void 0:t.isFocusInsideContent(e)},updatePopper:l,onOpen:f,onClose:m,hide:h}),(e,t)=>(iM(),cM(xI(jq),{ref_key:"popperRef",ref:o,role:e.role},{default:MA(()=>[_M(VZ,{disabled:e.disabled,trigger:e.trigger,"trigger-keys":e.triggerKeys,"virtual-ref":e.virtualRef,"virtual-triggering":e.virtualTriggering,"focus-on-target":e.focusOnTarget},{default:MA(()=>[e.$slots.default?uC(e.$slots,"default",{key:0}):EM("v-if",!0)]),_:3},8,["disabled","trigger","trigger-keys","virtual-ref","virtual-triggering","focus-on-target"]),_M(AQ,{ref_key:"contentRef",ref:a,"aria-label":e.ariaLabel,"boundaries-padding":e.boundariesPadding,content:e.content,disabled:e.disabled,effect:e.effect,enterable:e.enterable,"fallback-placements":e.fallbackPlacements,"hide-after":e.hideAfter,"gpu-acceleration":e.gpuAcceleration,offset:e.offset,persistent:e.persistent,"popper-class":xI(_),"popper-style":e.popperStyle,placement:e.placement,"popper-options":e.popperOptions,"arrow-offset":e.arrowOffset,pure:e.pure,"raw-content":e.rawContent,"reference-el":e.referenceEl,"trigger-target-el":e.triggerTargetEl,"show-after":e.showAfter,strategy:e.strategy,teleported:e.teleported,transition:e.transition,"virtual-triggering":e.virtualTriggering,"z-index":e.zIndex,"append-to":e.appendTo},{default:MA(()=>[uC(e.$slots,"content",{},()=>[e.rawContent?(iM(),uM("span",{key:0,innerHTML:e.content},null,8,["innerHTML"])):(iM(),uM("span",{key:1},$E(e.content),1))]),e.showArrow?(iM(),cM(xI(CQ),{key:0})):EM("v-if",!0)]),_:3},8,["aria-label","boundaries-padding","content","disabled","effect","enterable","fallback-placements","hide-after","gpu-acceleration","offset","persistent","popper-class","popper-style","placement","popper-options","arrow-offset","pure","raw-content","reference-el","trigger-target-el","show-after","strategy","teleported","transition","virtual-triggering","z-index","append-to"])]),_:3},8,["role"]))}});const kQ=bG(UH(MQ,[["__file","tooltip.vue"]])),RQ={vertical:{offset:"offsetHeight",scroll:"scrollTop",scrollSize:"scrollHeight",size:"height",key:"vertical",axis:"Y",client:"clientY",direction:"top"},horizontal:{offset:"offsetWidth",scroll:"scrollLeft",scrollSize:"scrollWidth",size:"width",key:"horizontal",axis:"X",client:"clientX",direction:"left"}},NQ=Symbol("scrollbarContextKey"),DQ=oG({vertical:Boolean,size:String,move:Number,ratio:{type:Number,required:!0},always:Boolean}),FQ=sS({__name:"thumb",props:DQ,setup(e){const t=e,n=qC(NQ),i=Zz("scrollbar");n||cW("Thumb","can not inject scrollbar context");const r=_I(),s=_I(),o=_I({}),a=_I(!1);let l=!1,u=!1,c=0,d=0,h=dj?document.onselectstart:null;const p=tk(()=>RQ[t.vertical?"vertical":"horizontal"]),f=tk(()=>(({move:e,size:t,bar:n})=>({[n.size]:t,transform:`translate${n.axis}(${e}%)`}))({size:t.size,move:t.move,bar:p.value})),m=tk(()=>r.value[p.value.offset]**2/n.wrapElement[p.value.scrollSize]/t.ratio/s.value[p.value.offset]),g=e=>{var t;if(e.stopPropagation(),e.ctrlKey||[1,2].includes(e.button))return;null==(t=window.getSelection())||t.removeAllRanges(),y(e);const n=e.currentTarget;n&&(o.value[p.value.axis]=n[p.value.offset]-(e[p.value.client]-n.getBoundingClientRect()[p.value.direction]))},_=e=>{if(!s.value||!r.value||!n.wrapElement)return;const t=100*(Math.abs(e.target.getBoundingClientRect()[p.value.direction]-e[p.value.client])-s.value[p.value.offset]/2)*m.value/r.value[p.value.offset];n.wrapElement[p.value.scroll]=t*n.wrapElement[p.value.scrollSize]/100},y=e=>{e.stopImmediatePropagation(),l=!0,c=n.wrapElement.scrollHeight,d=n.wrapElement.scrollWidth,document.addEventListener("mousemove",v),document.addEventListener("mouseup",b),h=document.onselectstart,document.onselectstart=()=>!1},v=e=>{if(!r.value||!s.value)return;if(!1===l)return;const t=o.value[p.value.axis];if(!t)return;const i=100*(-1*(r.value.getBoundingClientRect()[p.value.direction]-e[p.value.client])-(s.value[p.value.offset]-t))*m.value/r.value[p.value.offset];"scrollLeft"===p.value.scroll?n.wrapElement[p.value.scroll]=i*d/100:n.wrapElement[p.value.scroll]=i*c/100},b=()=>{l=!1,o.value[p.value.axis]=0,document.removeEventListener("mousemove",v),document.removeEventListener("mouseup",b),T(),u&&(a.value=!1)};WS(()=>{T(),document.removeEventListener("mouseup",b)});const T=()=>{document.onselectstart!==h&&(document.onselectstart=h)};return bH(kI(n,"scrollbarElement"),"mousemove",()=>{u=!1,a.value=!!t.size}),bH(kI(n,"scrollbarElement"),"mouseleave",()=>{u=!0,a.value=l}),(e,t)=>(iM(),cM(Ak,{name:xI(i).b("fade"),persisted:""},{default:MA(()=>[kA(gM("div",{ref_key:"instance",ref:r,class:xE([xI(i).e("bar"),xI(i).is(xI(p).key)]),onMousedown:_,onClick:YR(()=>{},["stop"])},[gM("div",{ref_key:"thumb",ref:s,class:xE(xI(i).e("thumb")),style:_E(xI(f)),onMousedown:g},null,38)],42,["onClick"]),[[zk,e.always||a.value]])]),_:1},8,["name"]))}});var LQ=UH(FQ,[["__file","thumb.vue"]]);const PQ=sS({__name:"bar",props:oG({always:{type:Boolean,default:!0},minSize:{type:Number,required:!0}}),setup(e,{expose:t}){const n=e,i=qC(NQ),r=_I(0),s=_I(0),o=_I(""),a=_I(""),l=_I(1),u=_I(1);return t({handleScroll:e=>{if(e){const t=e.offsetHeight-4,n=e.offsetWidth-4;s.value=100*e.scrollTop/t*l.value,r.value=100*e.scrollLeft/n*u.value}},update:()=>{const e=null==i?void 0:i.wrapElement;if(!e)return;const t=e.offsetHeight-4,r=e.offsetWidth-4,s=t**2/e.scrollHeight,c=r**2/e.scrollWidth,d=Math.max(s,n.minSize),h=Math.max(c,n.minSize);l.value=s/(t-s)/(d/(t-d)),u.value=c/(r-c)/(h/(r-h)),a.value=d+4(iM(),uM(ZO,null,[_M(LQ,{move:r.value,ratio:u.value,size:o.value,always:e.always},null,8,["move","ratio","size","always"]),_M(LQ,{move:s.value,ratio:l.value,size:a.value,vertical:"",always:e.always},null,8,["move","ratio","size","always"])],64))}});var BQ=UH(PQ,[["__file","bar.vue"]]);const $Q=oG({distance:{type:Number,default:0},height:{type:[String,Number],default:""},maxHeight:{type:[String,Number],default:""},native:Boolean,wrapStyle:{type:[String,Object,Array],default:""},wrapClass:{type:[String,Array],default:""},viewClass:{type:[String,Array],default:""},viewStyle:{type:[String,Array,Object],default:""},noresize:Boolean,tag:{type:String,default:"div"},always:Boolean,minSize:{type:Number,default:20},tabindex:{type:[String,Number],default:void 0},id:String,role:String,...Eq(["ariaLabel","ariaOrientation"])}),UQ={"end-reached":e=>["left","right","top","bottom"].includes(e),scroll:({scrollTop:e,scrollLeft:t})=>[e,t].every(ej)},VQ=sS({name:"ElScrollbar"}),zQ=sS({...VQ,props:$Q,emits:UQ,setup(e,{expose:t,emit:n}){const i=e,r=Zz("scrollbar");let s,o,a,l=0,u=0,c="";const d={bottom:!1,top:!1,right:!1,left:!1},h=_I(),p=_I(),f=_I(),m=_I(),g=tk(()=>{const e={};return i.height&&(e.height=VH(i.height)),i.maxHeight&&(e.maxHeight=VH(i.maxHeight)),[i.wrapStyle,e]}),_=tk(()=>[i.wrapClass,r.e("wrap"),{[r.em("wrap","hidden-default")]:!i.native}]),y=tk(()=>[r.e("view"),i.viewClass]),v={top:"bottom",bottom:"top",left:"right",right:"left"},b=()=>{var e;if(p.value){null==(e=m.value)||e.handleScroll(p.value);const t=l,r=u;l=p.value.scrollTop,u=p.value.scrollLeft;const s={bottom:l+p.value.clientHeight>=p.value.scrollHeight-i.distance,top:l<=i.distance&&0!==t,right:u+p.value.clientWidth>=p.value.scrollWidth-i.distance&&r!==u,left:u<=i.distance&&0!==r};if(n("scroll",{scrollTop:l,scrollLeft:u}),t!==l&&(c=l>t?"bottom":"top"),r!==u&&(c=u>r?"right":"left"),i.distance>0){if((e=>{var t;return null!=(t=d[e])&&t})(c))return;(e=>{const t=v[c];if(!t)return;const n=e[c],i=e[t];n&&!d[c]&&(d[c]=!0),!i&&d[t]&&(d[t]=!1)})(s)}s[c]&&n("end-reached",c)}};const T=()=>{var e;null==(e=m.value)||e.update(),d[c]=!1};return CO(()=>i.noresize,e=>{e?(null==s||s(),null==o||o(),null==a||a()):(({stop:s}=OH(f,T)),({stop:o}=OH(p,T)),a=bH("resize",T))},{immediate:!0}),CO(()=>[i.maxHeight,i.height],()=>{i.native||oA(()=>{var e;T(),p.value&&(null==(e=m.value)||e.handleScroll(p.value))})}),XC(NQ,iI({scrollbarElement:h,wrapElement:p})),FS(()=>{p.value&&(p.value.scrollTop=l,p.value.scrollLeft=u)}),YS(()=>{i.native||oA(()=>{T()})}),HS(()=>T()),t({wrapRef:p,update:T,scrollTo:function(e,t){Wx(e)?p.value.scrollTo(e):ej(e)&&ej(t)&&p.value.scrollTo(e,t)},setScrollTop:e=>{ej(e)&&(p.value.scrollTop=e)},setScrollLeft:e=>{ej(e)&&(p.value.scrollLeft=e)},handleScroll:b}),(e,t)=>(iM(),uM("div",{ref_key:"scrollbarRef",ref:h,class:xE(xI(r).b())},[gM("div",{ref_key:"wrapRef",ref:p,class:xE(xI(_)),style:_E(xI(g)),tabindex:e.tabindex,onScroll:b},[(iM(),cM(iC(e.tag),{id:e.id,ref_key:"resizeRef",ref:f,class:xE(xI(y)),style:_E(e.viewStyle),role:e.role,"aria-label":e.ariaLabel,"aria-orientation":e.ariaOrientation},{default:MA(()=>[uC(e.$slots,"default")]),_:3},8,["id","class","style","role","aria-label","aria-orientation"]))],46,["tabindex"]),e.native?EM("v-if",!0):(iM(),cM(BQ,{key:0,ref_key:"barRef",ref:m,always:e.always,"min-size":e.minSize},null,8,["always","min-size"]))],2))}});const jQ=bG(UH(zQ,[["__file","scrollbar.vue"]]));var YQ=UH(sS({inheritAttrs:!1}),[["render",function(e,t,n,i,r,s){return uC(e.$slots,"default")}],["__file","collection.vue"]]);var GQ=UH(sS({name:"ElCollectionItem",inheritAttrs:!1}),[["render",function(e,t,n,i,r,s){return uC(e.$slots,"default")}],["__file","collection-item.vue"]]);const HQ="data-el-collection-item",WQ=e=>{const t=`El${e}Collection`,n=`${t}Item`,i=Symbol(t),r=Symbol(n),s={...YQ,name:t,setup(){const e=_I(),t=new Map;XC(i,{itemMap:t,getItems:()=>{const n=xI(e);if(!n)return[];const i=Array.from(n.querySelectorAll(`[${HQ}]`));return[...t.values()].sort((e,t)=>i.indexOf(e.ref)-i.indexOf(t.ref))},collectionRef:e})}},o={...GQ,name:n,setup(e,{attrs:t}){const n=_I(),s=qC(i,void 0);XC(r,{collectionItemRef:n}),YS(()=>{const e=xI(n);e&&s.itemMap.set(e,{ref:e,...t})}),WS(()=>{const e=xI(n);s.itemMap.delete(e)})}};return{COLLECTION_INJECTION_KEY:i,COLLECTION_ITEM_INJECTION_KEY:r,ElCollection:s,ElCollectionItem:o}},XQ=oG({style:{type:[String,Array,Object]},currentTabId:{type:String},defaultCurrentTabId:String,loop:Boolean,dir:{type:String,values:["ltr","rtl"],default:"ltr"},orientation:{type:String},onBlur:Function,onFocus:Function,onMousedown:Function}),{ElCollection:qQ,ElCollectionItem:KQ,COLLECTION_INJECTION_KEY:ZQ,COLLECTION_ITEM_INJECTION_KEY:QQ}=WQ("RovingFocusGroup"),JQ=Symbol("elRovingFocusGroup"),eJ=Symbol("elRovingFocusGroupItem"),tJ={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"},nJ=(e,t,n)=>{const i=((e,t)=>{if("rtl"!==t)return e;switch(e){case sW.right:return sW.left;case sW.left:return sW.right;default:return e}})(e.code,n);if(!("vertical"===t&&[sW.left,sW.right].includes(i)||"horizontal"===t&&[sW.up,sW.down].includes(i)))return tJ[i]},iJ=e=>{const{activeElement:t}=document;for(const n of e){if(n===t)return;if(n.focus(),t!==document.activeElement)return}},rJ="currentTabIdChange",sJ="rovingFocusGroup.entryFocus",oJ={bubbles:!1,cancelable:!0},aJ=sS({name:"ElRovingFocusGroupImpl",inheritAttrs:!1,props:XQ,emits:[rJ,"entryFocus"],setup(e,{emit:t}){var n;const i=_I(null!=(n=e.currentTabId||e.defaultCurrentTabId)?n:null),r=_I(!1),s=_I(!1),o=_I(),{getItems:a}=qC(ZQ,void 0),l=tk(()=>[{outline:"none"},e.style]),u=PZ(t=>{var n;null==(n=e.onMousedown)||n.call(e,t)},()=>{s.value=!0}),c=PZ(t=>{var n;null==(n=e.onFocus)||n.call(e,t)},e=>{const t=!xI(s),{target:n,currentTarget:o}=e;if(n===o&&t&&!xI(r)){const e=new Event(sJ,oJ);if(null==o||o.dispatchEvent(e),!e.defaultPrevented){const e=a().filter(e=>e.focusable),t=[e.find(e=>e.active),e.find(e=>e.id===xI(i)),...e].filter(Boolean).map(e=>e.ref);iJ(t)}}s.value=!1}),d=PZ(t=>{var n;null==(n=e.onBlur)||n.call(e,t)},()=>{r.value=!1});XC(JQ,{currentTabbedId:sI(i),loop:kI(e,"loop"),tabIndex:tk(()=>xI(r)?-1:0),rovingFocusGroupRef:o,rovingFocusGroupRootStyle:l,orientation:kI(e,"orientation"),dir:kI(e,"dir"),onItemFocus:e=>{t(rJ,e)},onItemShiftTab:()=>{r.value=!0},onBlur:d,onFocus:c,onMousedown:u}),CO(()=>e.currentTabId,e=>{i.value=null!=e?e:null}),bH(o,sJ,(...e)=>{t("entryFocus",...e)})}});var lJ=UH(sS({name:"ElRovingFocusGroup",components:{ElFocusGroupCollection:qQ,ElRovingFocusGroupImpl:UH(aJ,[["render",function(e,t,n,i,r,s){return uC(e.$slots,"default")}],["__file","roving-focus-group-impl.vue"]])}}),[["render",function(e,t,n,i,r,s){const o=tC("el-roving-focus-group-impl"),a=tC("el-focus-group-collection");return iM(),cM(a,null,{default:MA(()=>[_M(o,EE(vM(e.$attrs)),{default:MA(()=>[uC(e.$slots,"default")]),_:3},16)]),_:3})}],["__file","roving-focus-group.vue"]]);const uJ=oG({trigger:_Z.trigger,triggerKeys:{type:Array,default:()=>[sW.enter,sW.numpadEnter,sW.space,sW.down]},virtualTriggering:_Z.virtualTriggering,virtualRef:_Z.virtualRef,effect:{...mZ.effect,default:"light"},type:{type:String},placement:{type:String,default:"bottom"},popperOptions:{type:Object,default:()=>({})},id:String,size:{type:String,default:""},splitButton:Boolean,hideOnClick:{type:Boolean,default:!0},loop:{type:Boolean,default:!0},showArrow:{type:Boolean,default:!0},showTimeout:{type:Number,default:150},hideTimeout:{type:Number,default:150},tabindex:{type:[Number,String],default:0},maxHeight:{type:[Number,String],default:""},popperClass:{type:String,default:""},disabled:Boolean,role:{type:String,values:Uq,default:"menu"},buttonProps:{type:Object},teleported:mZ.teleported,persistent:{type:Boolean,default:!0}}),cJ=oG({command:{type:[Object,String,Number],default:()=>({})},disabled:Boolean,divided:Boolean,textValue:String,icon:{type:XH}}),dJ=oG({onKeydown:{type:Function}}),hJ=[sW.down,sW.pageDown,sW.home],pJ=[sW.up,sW.pageUp,sW.end],fJ=[...hJ,...pJ],{ElCollection:mJ,ElCollectionItem:gJ,COLLECTION_INJECTION_KEY:_J,COLLECTION_ITEM_INJECTION_KEY:yJ}=WQ("Dropdown"),vJ=Symbol("elDropdown"),bJ="elDropdown";const TJ=function(){if(!arguments.length)return[];var e=arguments[0];return Aj(e)?e:[e]},{ButtonGroup:xJ}=SX,EJ=sS({name:"ElDropdown",components:{ElButton:SX,ElButtonGroup:xJ,ElScrollbar:jQ,ElDropdownCollection:mJ,ElTooltip:kQ,ElRovingFocusGroup:lJ,ElOnlyChild:kZ,ElIcon:WH,ArrowDown:wG},props:uJ,emits:["visible-change","click","command"],setup(e,{emit:t}){const n=NM(),i=Zz("dropdown"),{t:r}=nG(),s=_I(),o=_I(),a=_I(),l=_I(),u=_I(null),c=_I(null),d=_I(!1),h=tk(()=>({maxHeight:VH(e.maxHeight)})),p=tk(()=>[i.m(_.value)]),f=tk(()=>TJ(e.trigger)),m=jW().value,g=tk(()=>e.id||m);const _=qW();XC(vJ,{contentRef:l,role:tk(()=>e.role),triggerId:g,isUsingKeyboard:d,onItemEnter:function(){},onItemLeave:function(){const e=xI(l);f.value.includes("hover")&&(null==e||e.focus({preventScroll:!0})),c.value=null}}),XC(bJ,{instance:n,dropdownSize:_,handleClick:function(){var e;null==(e=a.value)||e.onClose(void 0,0)},commandHandler:function(...e){t("command",...e)},trigger:kI(e,"trigger"),hideOnClick:kI(e,"hideOnClick")});return{t:r,ns:i,scrollbar:u,wrapStyle:h,dropdownTriggerKls:p,dropdownSize:_,triggerId:g,currentTabId:c,handleCurrentTabIdChange:function(e){c.value=e},handlerMainButtonClick:e=>{t("click",e)},handleEntryFocus:function(e){d.value||(e.preventDefault(),e.stopImmediatePropagation())},handleClose:function(){var e;null==(e=a.value)||e.onClose()},handleOpen:function(){var e;null==(e=a.value)||e.onOpen()},handleBeforeShowTooltip:function(){t("visible-change",!0)},handleShowTooltip:function(e){var t;"keydown"===(null==e?void 0:e.type)&&(null==(t=l.value)||t.focus())},handleBeforeHideTooltip:function(){t("visible-change",!1)},onFocusAfterTrapped:e=>{var t,n;e.preventDefault(),null==(n=null==(t=l.value)?void 0:t.focus)||n.call(t,{preventScroll:!0})},popperRef:a,contentRef:l,triggeringElementRef:s,referenceElementRef:o}}});var wJ=UH(EJ,[["render",function(e,t,n,i,r,s){var o,a;const l=tC("el-dropdown-collection"),u=tC("el-roving-focus-group"),c=tC("el-scrollbar"),d=tC("el-only-child"),h=tC("el-tooltip"),p=tC("el-button"),f=tC("arrow-down"),m=tC("el-icon"),g=tC("el-button-group");return iM(),uM("div",{class:xE([e.ns.b(),e.ns.is("disabled",e.disabled)])},[_M(h,{ref:"popperRef",role:e.role,effect:e.effect,"fallback-placements":["bottom","top"],"popper-options":e.popperOptions,"gpu-acceleration":!1,"manual-mode":!0,placement:e.placement,"popper-class":[e.ns.e("popper"),e.popperClass],"reference-element":null==(o=e.referenceElementRef)?void 0:o.$el,trigger:e.trigger,"trigger-keys":e.triggerKeys,"trigger-target-el":e.contentRef,"show-arrow":e.showArrow,"show-after":"hover"===e.trigger?e.showTimeout:0,"hide-after":"hover"===e.trigger?e.hideTimeout:0,"stop-popper-mouse-event":!1,"virtual-ref":null!=(a=e.virtualRef)?a:e.triggeringElementRef,"virtual-triggering":e.virtualTriggering||e.splitButton,disabled:e.disabled,transition:`${e.ns.namespace.value}-zoom-in-top`,teleported:e.teleported,pure:"","focus-on-target":"",persistent:e.persistent,onBeforeShow:e.handleBeforeShowTooltip,onShow:e.handleShowTooltip,onBeforeHide:e.handleBeforeHideTooltip},lC({content:MA(()=>[_M(c,{ref:"scrollbar","wrap-style":e.wrapStyle,tag:"div","view-class":e.ns.e("list")},{default:MA(()=>[_M(u,{loop:e.loop,"current-tab-id":e.currentTabId,orientation:"horizontal",onCurrentTabIdChange:e.handleCurrentTabIdChange,onEntryFocus:e.handleEntryFocus},{default:MA(()=>[_M(l,null,{default:MA(()=>[uC(e.$slots,"dropdown")]),_:3})]),_:3},8,["loop","current-tab-id","onCurrentTabIdChange","onEntryFocus"])]),_:3},8,["wrap-style","view-class"])]),_:2},[e.splitButton?void 0:{name:"default",fn:MA(()=>[_M(d,{id:e.triggerId,ref:"triggeringElementRef",role:"button",tabindex:e.tabindex},{default:MA(()=>[uC(e.$slots,"default")]),_:3},8,["id","tabindex"])])}]),1032,["role","effect","popper-options","placement","popper-class","reference-element","trigger","trigger-keys","trigger-target-el","show-arrow","show-after","hide-after","virtual-ref","virtual-triggering","disabled","transition","teleported","persistent","onBeforeShow","onShow","onBeforeHide"]),e.splitButton?(iM(),cM(g,{key:0},{default:MA(()=>[_M(p,SM({ref:"referenceElementRef"},e.buttonProps,{size:e.dropdownSize,type:e.type,disabled:e.disabled,tabindex:e.tabindex,onClick:e.handlerMainButtonClick}),{default:MA(()=>[uC(e.$slots,"default")]),_:3},16,["size","type","disabled","tabindex","onClick"]),_M(p,SM({id:e.triggerId,ref:"triggeringElementRef"},e.buttonProps,{role:"button",size:e.dropdownSize,type:e.type,class:e.ns.e("caret-button"),disabled:e.disabled,tabindex:e.tabindex,"aria-label":e.t("el.dropdown.toggleDropdown")}),{default:MA(()=>[_M(m,{class:xE(e.ns.e("icon"))},{default:MA(()=>[_M(f)]),_:1},8,["class"])]),_:1},16,["id","size","type","class","disabled","tabindex","aria-label"])]),_:3})):EM("v-if",!0)],2)}],["__file","dropdown.vue"]]);const IJ=sS({components:{ElRovingFocusCollectionItem:KQ},props:{focusable:{type:Boolean,default:!0},active:Boolean},emits:["mousedown","focus","keydown"],setup(e,{emit:t}){const{currentTabbedId:n,loop:i,onItemFocus:r,onItemShiftTab:s}=qC(JQ,void 0),{getItems:o}=qC(ZQ,void 0),a=jW(),l=_I(),u=PZ(e=>{t("mousedown",e)},t=>{e.focusable?r(xI(a)):t.preventDefault()}),c=PZ(e=>{t("focus",e)},()=>{r(xI(a))}),d=PZ(e=>{t("keydown",e)},e=>{const{code:t,shiftKey:n,target:r,currentTarget:a}=e;if(t===sW.tab&&n)return void s();if(r!==a)return;const l=nJ(e);if(l){e.preventDefault();let t=o().filter(e=>e.focusable).map(e=>e.ref);switch(l){case"last":t.reverse();break;case"prev":case"next":{"prev"===l&&t.reverse();const e=t.indexOf(a);t=i.value?((e,t)=>e.map((n,i)=>e[(i+t)%e.length]))(t,e+1):t.slice(e+1);break}}oA(()=>{iJ(t)})}}),h=tk(()=>n.value===xI(a));return XC(eJ,{rovingFocusGroupItemRef:l,tabIndex:tk(()=>xI(h)?0:-1),handleMousedown:u,handleFocus:c,handleKeydown:d}),{id:a,handleKeydown:d,handleFocus:c,handleMousedown:u}}});var AJ=UH(IJ,[["render",function(e,t,n,i,r,s){const o=tC("el-roving-focus-collection-item");return iM(),cM(o,{id:e.id,focusable:e.focusable,active:e.active},{default:MA(()=>[uC(e.$slots,"default")]),_:3},8,["id","focusable","active"])}],["__file","roving-focus-item.vue"]]);const SJ=(...e)=>t=>{e.forEach(e=>{Yx(e)?e(t):e.value=t})},CJ=sS({name:"DropdownItemImpl",components:{ElIcon:WH},props:cJ,emits:["pointermove","pointerleave","click","clickimpl"],setup(e,{emit:t}){const n=Zz("dropdown"),{role:i}=qC(vJ,void 0),{collectionItemRef:r}=qC(yJ,void 0),{collectionItemRef:s}=qC(QQ,void 0),{rovingFocusGroupItemRef:o,tabIndex:a,handleFocus:l,handleKeydown:u,handleMousedown:c}=qC(eJ,void 0),d=SJ(r,s,o),h=tk(()=>"menu"===i.value?"menuitem":"navigation"===i.value?"link":"button"),p=PZ(e=>{if([sW.enter,sW.numpadEnter,sW.space].includes(e.code))return e.preventDefault(),e.stopImmediatePropagation(),t("clickimpl",e),!0},u);return{ns:n,itemRef:d,dataset:{[HQ]:""},role:h,tabIndex:a,handleFocus:l,handleKeydown:p,handleMousedown:c}}});const OJ=()=>{const e=qC(bJ,{}),t=tk(()=>null==e?void 0:e.dropdownSize);return{elDropdown:e,_elDropdownSize:t}},MJ=sS({name:"ElDropdownItem",components:{ElDropdownCollectionItem:gJ,ElRovingFocusItem:AJ,ElDropdownItemImpl:UH(CJ,[["render",function(e,t,n,i,r,s){const o=tC("el-icon");return iM(),uM(ZO,null,[e.divided?(iM(),uM("li",{key:0,role:"separator",class:xE(e.ns.bem("menu","item","divided"))},null,2)):EM("v-if",!0),gM("li",SM({ref:e.itemRef},{...e.dataset,...e.$attrs},{"aria-disabled":e.disabled,class:[e.ns.be("menu","item"),e.ns.is("disabled",e.disabled)],tabindex:e.tabIndex,role:e.role,onClick:t=>e.$emit("clickimpl",t),onFocus:e.handleFocus,onKeydown:YR(e.handleKeydown,["self"]),onMousedown:e.handleMousedown,onPointermove:t=>e.$emit("pointermove",t),onPointerleave:t=>e.$emit("pointerleave",t)}),[e.icon?(iM(),cM(o,{key:0},{default:MA(()=>[(iM(),cM(iC(e.icon)))]),_:1})):EM("v-if",!0),uC(e.$slots,"default")],16,["aria-disabled","tabindex","role","onClick","onFocus","onKeydown","onMousedown","onPointermove","onPointerleave"])],64)}],["__file","dropdown-item-impl.vue"]])},inheritAttrs:!1,props:cJ,emits:["pointermove","pointerleave","click"],setup(e,{emit:t,attrs:n}){const{elDropdown:i}=OJ(),r=NM(),s=_I(null),o=tk(()=>{var e,t;return null!=(t=null==(e=xI(s))?void 0:e.textContent)?t:""}),{onItemEnter:a,onItemLeave:l}=qC(vJ,void 0),u=PZ(e=>(t("pointermove",e),e.defaultPrevented),BZ(t=>{if(e.disabled)return void l(t);const n=t.currentTarget;n===document.activeElement||n.contains(document.activeElement)||(a(t),t.defaultPrevented||null==n||n.focus({preventScroll:!0}))})),c=PZ(e=>(t("pointerleave",e),e.defaultPrevented),BZ(l)),d=PZ(n=>{if(!e.disabled)return t("click",n),"keydown"!==n.type&&n.defaultPrevented},t=>{var n,s,o;e.disabled?t.stopImmediatePropagation():((null==(n=null==i?void 0:i.hideOnClick)?void 0:n.value)&&(null==(s=i.handleClick)||s.call(i)),null==(o=i.commandHandler)||o.call(i,e.command,r,t))});return{handleClick:d,handlePointerMove:u,handlePointerLeave:c,textContent:o,propsAndAttrs:tk(()=>({...e,...n}))}}});var kJ=UH(MJ,[["render",function(e,t,n,i,r,s){var o;const a=tC("el-dropdown-item-impl"),l=tC("el-roving-focus-item"),u=tC("el-dropdown-collection-item");return iM(),cM(u,{disabled:e.disabled,"text-value":null!=(o=e.textValue)?o:e.textContent},{default:MA(()=>[_M(l,{focusable:!e.disabled},{default:MA(()=>[_M(a,SM(e.propsAndAttrs,{onPointerleave:e.handlePointerLeave,onPointermove:e.handlePointerMove,onClickimpl:e.handleClick}),{default:MA(()=>[uC(e.$slots,"default")]),_:3},16,["onPointerleave","onPointermove","onClickimpl"])]),_:3},8,["focusable"])]),_:3},8,["disabled","text-value"])}],["__file","dropdown-item.vue"]]);const RJ=sS({name:"ElDropdownMenu",props:dJ,setup(e){const t=Zz("dropdown"),{_elDropdownSize:n}=OJ(),i=n.value,{focusTrapRef:r,onKeydown:s}=qC(ZZ,void 0),{contentRef:o,role:a,triggerId:l}=qC(vJ,void 0),{collectionRef:u,getItems:c}=qC(_J,void 0),{rovingFocusGroupRef:d,rovingFocusGroupRootStyle:h,tabIndex:p,onBlur:f,onFocus:m,onMousedown:g}=qC(JQ,void 0),{collectionRef:_}=qC(ZQ,void 0),y=tk(()=>[t.b("menu"),t.bm("menu",null==i?void 0:i.value)]),v=SJ(o,u,r,d,_),b=PZ(t=>{var n;null==(n=e.onKeydown)||n.call(e,t)},e=>{const{currentTarget:t,code:n,target:i}=e;if(t.contains(i),sW.tab===n&&e.stopImmediatePropagation(),e.preventDefault(),i!==xI(o)||!fJ.includes(n))return;const r=c().filter(e=>!e.disabled).map(e=>e.ref);pJ.includes(n)&&r.reverse(),iJ(r)});return{size:i,rovingFocusGroupRootStyle:h,tabIndex:p,dropdownKls:y,role:a,triggerId:l,dropdownListWrapperRef:v,handleKeydown:e=>{b(e),s(e)},onBlur:f,onFocus:m,onMousedown:g}}});var NJ=UH(RJ,[["render",function(e,t,n,i,r,s){return iM(),uM("ul",{ref:e.dropdownListWrapperRef,class:xE(e.dropdownKls),style:_E(e.rovingFocusGroupRootStyle),tabindex:-1,role:e.role,"aria-labelledby":e.triggerId,onBlur:e.onBlur,onFocus:e.onFocus,onKeydown:YR(e.handleKeydown,["self"]),onMousedown:YR(e.onMousedown,["self"])},[uC(e.$slots,"default")],46,["role","aria-labelledby","onBlur","onFocus","onKeydown","onMousedown"])}],["__file","dropdown-menu.vue"]]);const DJ=bG(wJ,{DropdownItem:kJ,DropdownMenu:NJ}),FJ=TG(kJ),LJ=TG(NJ),PJ=Symbol("uploadContextKey"),BJ=oG({type:{type:String,default:"line",values:["line","circle","dashboard"]},percentage:{type:Number,default:0,validator:e=>e>=0&&e<=100},status:{type:String,default:"",values:["","success","exception","warning"]},indeterminate:Boolean,duration:{type:Number,default:3},strokeWidth:{type:Number,default:6},strokeLinecap:{type:String,default:"round"},textInside:Boolean,width:{type:Number,default:126},showText:{type:Boolean,default:!0},color:{type:[String,Array,Function],default:""},striped:Boolean,stripedFlow:Boolean,format:{type:Function,default:e=>`${e}%`}}),$J=sS({name:"ElProgress"}),UJ=sS({...$J,props:BJ,setup(e){const t=e,n={success:"#13ce66",exception:"#ff4949",warning:"#e6a23c",default:"#20a0ff"},i=Zz("progress"),r=tk(()=>{const e={width:`${t.percentage}%`,animationDuration:`${t.duration}s`},n=_(t.percentage);return n.includes("gradient")?e.background=n:e.backgroundColor=n,e}),s=tk(()=>(t.strokeWidth/t.width*100).toFixed(1)),o=tk(()=>["circle","dashboard"].includes(t.type)?Number.parseInt(""+(50-Number.parseFloat(s.value)/2),10):0),a=tk(()=>{const e=o.value,n="dashboard"===t.type;return`\n M 50 50\n m 0 ${n?"":"-"}${e}\n a ${e} ${e} 0 1 1 0 ${n?"-":""}${2*e}\n a ${e} ${e} 0 1 1 0 ${n?"":"-"}${2*e}\n `}),l=tk(()=>2*Math.PI*o.value),u=tk(()=>"dashboard"===t.type?.75:1),c=tk(()=>`${-1*l.value*(1-u.value)/2}px`),d=tk(()=>({strokeDasharray:`${l.value*u.value}px, ${l.value}px`,strokeDashoffset:c.value})),h=tk(()=>({strokeDasharray:`${l.value*u.value*(t.percentage/100)}px, ${l.value}px`,strokeDashoffset:c.value,transition:"stroke-dasharray 0.6s ease 0s, stroke 0.6s ease, opacity ease 0.6s"})),p=tk(()=>{let e;return e=t.color?_(t.percentage):n[t.status]||n.default,e}),f=tk(()=>"warning"===t.status?fH:"line"===t.type?"success"===t.status?LG:UG:"success"===t.status?DG:HG),m=tk(()=>"line"===t.type?12+.4*t.strokeWidth:.111111*t.width+2),g=tk(()=>t.format(t.percentage));const _=e=>{var n;const{color:i}=t;if(Yx(i))return i(e);if(Gx(i))return i;{const t=function(e){const t=100/e.length;return e.map((e,n)=>Gx(e)?{color:e,percentage:(n+1)*t}:e).sort((e,t)=>e.percentage-t.percentage)}(i);for(const n of t)if(n.percentage>e)return n.color;return null==(n=t[t.length-1])?void 0:n.color}};return(e,t)=>(iM(),uM("div",{class:xE([xI(i).b(),xI(i).m(e.type),xI(i).is(e.status),{[xI(i).m("without-text")]:!e.showText,[xI(i).m("text-inside")]:e.textInside}]),role:"progressbar","aria-valuenow":e.percentage,"aria-valuemin":"0","aria-valuemax":"100"},["line"===e.type?(iM(),uM("div",{key:0,class:xE(xI(i).b("bar"))},[gM("div",{class:xE(xI(i).be("bar","outer")),style:_E({height:`${e.strokeWidth}px`})},[gM("div",{class:xE([xI(i).be("bar","inner"),{[xI(i).bem("bar","inner","indeterminate")]:e.indeterminate},{[xI(i).bem("bar","inner","striped")]:e.striped},{[xI(i).bem("bar","inner","striped-flow")]:e.stripedFlow}]),style:_E(xI(r))},[(e.showText||e.$slots.default)&&e.textInside?(iM(),uM("div",{key:0,class:xE(xI(i).be("bar","innerText"))},[uC(e.$slots,"default",{percentage:e.percentage},()=>[gM("span",null,$E(xI(g)),1)])],2)):EM("v-if",!0)],6)],6)],2)):(iM(),uM("div",{key:1,class:xE(xI(i).b("circle")),style:_E({height:`${e.width}px`,width:`${e.width}px`})},[(iM(),uM("svg",{viewBox:"0 0 100 100"},[gM("path",{class:xE(xI(i).be("circle","track")),d:xI(a),stroke:`var(${xI(i).cssVarName("fill-color-light")}, #e5e9f2)`,"stroke-linecap":e.strokeLinecap,"stroke-width":xI(s),fill:"none",style:_E(xI(d))},null,14,["d","stroke","stroke-linecap","stroke-width"]),gM("path",{class:xE(xI(i).be("circle","path")),d:xI(a),stroke:xI(p),fill:"none",opacity:e.percentage?1:0,"stroke-linecap":e.strokeLinecap,"stroke-width":xI(s),style:_E(xI(h))},null,14,["d","stroke","opacity","stroke-linecap","stroke-width"])]))],6)),!e.showText&&!e.$slots.default||e.textInside?EM("v-if",!0):(iM(),uM("div",{key:2,class:xE(xI(i).e("text")),style:_E({fontSize:`${xI(m)}px`})},[uC(e.$slots,"default",{percentage:e.percentage},()=>[e.status?(iM(),cM(xI(WH),{key:1},{default:MA(()=>[(iM(),cM(iC(xI(f))))]),_:1})):(iM(),uM("span",{key:0},$E(xI(g)),1))])],6))],10,["aria-valuenow"]))}});const VJ=bG(UH(UJ,[["__file","progress.vue"]]));class zJ extends Error{constructor(e,t,n,i){super(e),this.name="UploadAjaxError",this.status=t,this.method=n,this.url=i}}function jJ(e,t,n){let i;return i=n.response?`${n.response.error||n.response}`:n.responseText?`${n.responseText}`:`fail to ${t.method} ${e} ${n.status}`,new zJ(i,n.status,t.method,e)}const YJ=["text","picture","picture-card"];let GJ=1;const HJ=()=>Date.now()+GJ++,WJ=oG({action:{type:String,default:"#"},headers:{type:Object},method:{type:String,default:"post"},data:{type:[Object,Function,Promise],default:()=>({})},multiple:Boolean,name:{type:String,default:"file"},drag:Boolean,withCredentials:Boolean,showFileList:{type:Boolean,default:!0},accept:{type:String,default:""},fileList:{type:Array,default:()=>[]},autoUpload:{type:Boolean,default:!0},listType:{type:String,values:YJ,default:"text"},httpRequest:{type:Function,default:e=>{"undefined"==typeof XMLHttpRequest&&cW("ElUpload","XMLHttpRequest is undefined");const t=new XMLHttpRequest,n=e.action;t.upload&&t.upload.addEventListener("progress",t=>{const n=t;n.percent=t.total>0?t.loaded/t.total*100:0,e.onProgress(n)});const i=new FormData;if(e.data)for(const[t,n]of Object.entries(e.data))Ux(n)&&n.length?i.append(t,...n):i.append(t,n);i.append(e.filename,e.file,e.file.name),t.addEventListener("error",()=>{e.onError(jJ(n,e,t))}),t.addEventListener("load",()=>{if(t.status<200||t.status>=300)return e.onError(jJ(n,e,t));e.onSuccess(function(e){const t=e.responseText||e.response;if(!t)return t;try{return JSON.parse(t)}catch(e){return t}}(t))}),t.open(e.method,n,!0),e.withCredentials&&"withCredentials"in t&&(t.withCredentials=!0);const r=e.headers||{};if(r instanceof Headers)r.forEach((e,n)=>t.setRequestHeader(n,e));else for(const[e,n]of Object.entries(r))FX(n)||t.setRequestHeader(e,String(n));return t.send(i),t}},disabled:Boolean,limit:Number}),XJ=oG({...WJ,beforeUpload:{type:Function,default:Rx},beforeRemove:{type:Function},onRemove:{type:Function,default:Rx},onChange:{type:Function,default:Rx},onPreview:{type:Function,default:Rx},onSuccess:{type:Function,default:Rx},onProgress:{type:Function,default:Rx},onError:{type:Function,default:Rx},onExceed:{type:Function,default:Rx},crossorigin:{type:String}}),qJ=oG({files:{type:Array,default:()=>[]},disabled:Boolean,handlePreview:{type:Function,default:Rx},listType:{type:String,values:YJ,default:"text"},crossorigin:{type:String}}),KJ=sS({name:"ElUploadList"}),ZJ=sS({...KJ,props:qJ,emits:{remove:e=>!!e},setup(e,{emit:t}){const n=e,{t:i}=nG(),r=Zz("upload"),s=Zz("icon"),o=Zz("list"),a=KW(),l=_I(!1),u=tk(()=>[r.b("list"),r.bm("list",n.listType),r.is("disabled",n.disabled)]),c=e=>{t("remove",e)};return(e,t)=>(iM(),cM(ER,{tag:"ul",class:xE(xI(u)),name:xI(o).b()},{default:MA(()=>[(iM(!0),uM(ZO,null,aC(e.files,(t,n)=>(iM(),uM("li",{key:t.uid||t.name,class:xE([xI(r).be("list","item"),xI(r).is(t.status),{focusing:l.value}]),tabindex:"0",onKeydown:HR(e=>!xI(a)&&c(t),["delete"]),onFocus:e=>l.value=!0,onBlur:e=>l.value=!1,onClick:e=>l.value=!1},[uC(e.$slots,"default",{file:t,index:n},()=>["picture"===e.listType||"uploading"!==t.status&&"picture-card"===e.listType?(iM(),uM("img",{key:0,class:xE(xI(r).be("list","item-thumbnail")),src:t.url,crossorigin:e.crossorigin,alt:""},null,10,["src","crossorigin"])):EM("v-if",!0),"uploading"===t.status||"picture-card"!==e.listType?(iM(),uM("div",{key:1,class:xE(xI(r).be("list","item-info"))},[gM("a",{class:xE(xI(r).be("list","item-name")),onClick:YR(n=>e.handlePreview(t),["prevent"])},[_M(xI(WH),{class:xE(xI(s).m("document"))},{default:MA(()=>[_M(xI(KG))]),_:1},8,["class"]),gM("span",{class:xE(xI(r).be("list","item-file-name")),title:t.name},$E(t.name),11,["title"])],10,["onClick"]),"uploading"===t.status?(iM(),cM(xI(VJ),{key:0,type:"picture-card"===e.listType?"circle":"line","stroke-width":"picture-card"===e.listType?6:2,percentage:Number(t.percentage),style:_E("picture-card"===e.listType?"":"margin-top: 0.5rem")},null,8,["type","stroke-width","percentage","style"])):EM("v-if",!0)],2)):EM("v-if",!0),gM("label",{class:xE(xI(r).be("list","item-status-label"))},["text"===e.listType?(iM(),cM(xI(WH),{key:0,class:xE([xI(s).m("upload-success"),xI(s).m("circle-check")])},{default:MA(()=>[_M(xI(LG))]),_:1},8,["class"])):["picture-card","picture"].includes(e.listType)?(iM(),cM(xI(WH),{key:1,class:xE([xI(s).m("upload-success"),xI(s).m("check")])},{default:MA(()=>[_M(xI(DG))]),_:1},8,["class"])):EM("v-if",!0)],2),xI(a)?EM("v-if",!0):(iM(),cM(xI(WH),{key:2,class:xE(xI(s).m("close")),onClick:e=>c(t)},{default:MA(()=>[_M(xI(HG))]),_:2},1032,["class","onClick"])),EM(" Due to close btn only appears when li gets focused disappears after li gets blurred, thus keyboard navigation can never reach close btn"),EM(" This is a bug which needs to be fixed "),EM(" TODO: Fix the incorrect navigation interaction "),xI(a)?EM("v-if",!0):(iM(),uM("i",{key:3,class:xE(xI(s).m("close-tip"))},$E(xI(i)("el.upload.deleteTip")),3)),"picture-card"===e.listType?(iM(),uM("span",{key:4,class:xE(xI(r).be("list","item-actions"))},[gM("span",{class:xE(xI(r).be("list","item-preview")),onClick:n=>e.handlePreview(t)},[_M(xI(WH),{class:xE(xI(s).m("zoom-in"))},{default:MA(()=>[_M(xI(gH))]),_:1},8,["class"])],10,["onClick"]),xI(a)?EM("v-if",!0):(iM(),uM("span",{key:0,class:xE(xI(r).be("list","item-delete")),onClick:e=>c(t)},[_M(xI(WH),{class:xE(xI(s).m("delete"))},{default:MA(()=>[_M(xI(XG))]),_:1},8,["class"])],10,["onClick"]))],2)):EM("v-if",!0)])],42,["onKeydown","onFocus","onBlur","onClick"]))),128)),uC(e.$slots,"append")]),_:3},8,["class","name"]))}});var QJ=UH(ZJ,[["__file","upload-list.vue"]]);const JJ=function(){this.__data__=new AY,this.size=0};const e0=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n};const t0=function(e){return this.__data__.get(e)};const n0=function(e){return this.__data__.has(e)};const i0=function(e,t){var n=this.__data__;if(n instanceof AY){var i=n.__data__;if(!SY||i.length<199)return i.push([e,t]),this.size=++n.size,this;n=this.__data__=new LY(i)}return n.set(e,t),this.size=n.size,this};function r0(e){var t=this.__data__=new AY(e);this.size=t.size}r0.prototype.clear=JJ,r0.prototype.delete=e0,r0.prototype.get=t0,r0.prototype.has=n0,r0.prototype.set=i0;const s0=r0;const o0=function(e,t){for(var n=-1,i=null==e?0:e.length;++na))return!1;var u=s.get(e),c=s.get(t);if(u&&c)return u==t&&c==e;var d=-1,h=!0,p=2&n?new K1:void 0;for(s.set(e,t),s.set(t,e);++dUx(e)},g2="ElUploadDrag",_2=sS({name:g2}),y2=sS({..._2,props:f2,emits:m2,setup(e,{emit:t}){qC(PJ)||cW(g2,"usage: ");const n=Zz("upload"),i=_I(!1),r=KW(),s=e=>{if(r.value)return;i.value=!1,e.stopPropagation();const n=Array.from(e.dataTransfer.files),s=e.dataTransfer.items||[];n.forEach((e,t)=>{var n;const i=s[t],r=null==(n=null==i?void 0:i.webkitGetAsEntry)?void 0:n.call(i);r&&(e.isDirectory=r.isDirectory)}),t("file",n)},o=()=>{r.value||(i.value=!0)},a=e=>{e.currentTarget.contains(e.relatedTarget)||(i.value=!1)};return(e,t)=>(iM(),uM("div",{class:xE([xI(n).b("dragger"),xI(n).is("dragover",i.value)]),onDrop:YR(s,["prevent"]),onDragover:YR(o,["prevent"]),onDragleave:YR(a,["prevent"])},[uC(e.$slots,"default")],42,["onDrop","onDragover","onDragleave"]))}});var v2=UH(y2,[["__file","upload-dragger.vue"]]);const b2=oG({...WJ,beforeUpload:{type:Function,default:Rx},onRemove:{type:Function,default:Rx},onStart:{type:Function,default:Rx},onSuccess:{type:Function,default:Rx},onProgress:{type:Function,default:Rx},onError:{type:Function,default:Rx},onExceed:{type:Function,default:Rx}}),T2=sS({name:"ElUploadContent",inheritAttrs:!1}),x2=sS({...T2,props:b2,setup(e,{expose:t}){const n=e,i=Zz("upload"),r=KW(),s=yI({}),o=yI(),a=e=>{if(0===e.length)return;const{autoUpload:t,limit:i,fileList:r,multiple:s,onStart:o,onExceed:a}=n;if(i&&r.length+e.length>i)a(e,r);else{s||(e=e.slice(0,1));for(const n of e){const e=n;e.uid=HJ(),o(e),t&&l(e)}}},l=async e=>{if(o.value.value="",!n.beforeUpload)return u(e);let t,i={};try{const r=n.data,s=n.beforeUpload(e);i=Qx(n.data)?H1(n.data):n.data,t=await s,Qx(n.data)&&p2(r,i)&&(i=H1(n.data))}catch(e){t=!1}if(!1===t)return void n.onRemove(e);let r=e;t instanceof Blob&&(r=t instanceof File?t:new File([t],e.name,{type:e.type})),u(Object.assign(r,{uid:e.uid}),i)},u=async(e,t)=>{const{headers:i,data:r,method:o,withCredentials:a,name:l,action:u,onProgress:c,onSuccess:d,onError:h,httpRequest:p}=n;try{t=await(async(e,t)=>Yx(e)?e(t):e)(null!=t?t:r,e)}catch(t){return void n.onRemove(e)}const{uid:f}=e,m={headers:i||{},withCredentials:a,file:e,data:t,method:o,filename:l,action:u,onProgress:t=>{c(t,e)},onSuccess:t=>{d(t,e),delete s.value[f]},onError:t=>{h(t,e),delete s.value[f]}},g=p(m);s.value[f]=g,g instanceof Promise&&g.then(m.onSuccess,m.onError)},c=e=>{const t=e.target.files;t&&a(Array.from(t))},d=()=>{r.value||(o.value.value="",o.value.click())},h=()=>{d()};return t({abort:e=>{const t=(n=s.value,Object.entries(n)).filter(e?([t])=>String(e.uid)===t:()=>!0);var n;t.forEach(([e,t])=>{t instanceof XMLHttpRequest&&t.abort(),delete s.value[e]})},upload:l}),(e,t)=>(iM(),uM("div",{class:xE([xI(i).b(),xI(i).m(e.listType),xI(i).is("drag",e.drag),xI(i).is("disabled",xI(r))]),tabindex:xI(r)?"-1":"0",onClick:d,onKeydown:HR(YR(h,["self"]),["enter","space"])},[e.drag?(iM(),cM(v2,{key:0,disabled:xI(r),onFile:a},{default:MA(()=>[uC(e.$slots,"default")]),_:3},8,["disabled"])):uC(e.$slots,"default",{key:1}),gM("input",{ref_key:"inputRef",ref:o,class:xE(xI(i).e("input")),name:e.name,disabled:xI(r),multiple:e.multiple,accept:e.accept,type:"file",onChange:c,onClick:YR(()=>{},["stop"])},null,42,["name","disabled","multiple","accept","onClick"])],42,["tabindex","onKeydown"]))}});var E2=UH(x2,[["__file","upload-content.vue"]]);const w2="ElUpload",I2=e=>{var t;(null==(t=e.url)?void 0:t.startsWith("blob:"))&&URL.revokeObjectURL(e.url)},A2=(e,t)=>{const n=BH(e,"fileList",void 0,{passive:!0}),i=e=>n.value.find(t=>t.uid===e.uid);function r(e){var n;null==(n=t.value)||n.abort(e)}function s(e){n.value=n.value.filter(t=>t.uid!==e.uid)}return CO(()=>e.listType,t=>{"picture-card"!==t&&"picture"!==t||(n.value=n.value.map(t=>{const{raw:i,url:r}=t;if(!r&&i)try{t.url=URL.createObjectURL(i)}catch(i){e.onError(i,t,n.value)}return t}))}),CO(n,e=>{for(const t of e)t.uid||(t.uid=HJ()),t.status||(t.status="success")},{immediate:!0,deep:!0}),{uploadFiles:n,abort:r,clearFiles:function(e=["ready","uploading","success","fail"]){n.value=n.value.filter(t=>!e.includes(t.status))},handleError:(t,r)=>{const o=i(r);o&&(console.error(t),o.status="fail",s(o),e.onError(t,o,n.value),e.onChange(o,n.value))},handleProgress:(t,r)=>{const s=i(r);s&&(e.onProgress(t,s,n.value),s.status="uploading",s.percentage=Math.round(t.percent))},handleStart:t=>{FX(t.uid)&&(t.uid=HJ());const i={name:t.name,percentage:0,status:"ready",size:t.size,raw:t,uid:t.uid};if("picture-card"===e.listType||"picture"===e.listType)try{i.url=URL.createObjectURL(t)}catch(t){t.message,e.onError(t,i,n.value)}n.value=[...n.value,i],e.onChange(i,n.value)},handleSuccess:(t,r)=>{const s=i(r);s&&(s.status="success",s.response=t,e.onSuccess(t,s,n.value),e.onChange(s,n.value))},handleRemove:async t=>{const o=t instanceof File?i(t):t;o||cW(w2,"file to be removed not found");const a=t=>{r(t),s(t),e.onRemove(t,n.value),I2(t)};if(e.beforeRemove){!1!==await e.beforeRemove(o,n.value)&&a(o)}else a(o)},submit:function(){n.value.filter(({status:e})=>"ready"===e).forEach(({raw:e})=>{var n;return e&&(null==(n=t.value)?void 0:n.upload(e))})},revokeFileObjectURL:I2}},S2=sS({name:"ElUpload"}),C2=sS({...S2,props:XJ,setup(e,{expose:t}){const n=e,i=KW(),r=yI(),{abort:s,submit:o,clearFiles:a,uploadFiles:l,handleStart:u,handleError:c,handleRemove:d,handleSuccess:h,handleProgress:p,revokeFileObjectURL:f}=A2(n,r),m=tk(()=>"picture-card"===n.listType),g=tk(()=>({...n,fileList:l.value,onStart:u,onProgress:p,onSuccess:h,onError:c,onRemove:d}));return WS(()=>{l.value.forEach(f)}),XC(PJ,{accept:kI(n,"accept")}),t({abort:s,submit:o,clearFiles:a,handleStart:u,handleRemove:d}),(e,t)=>(iM(),uM("div",null,[xI(m)&&e.showFileList?(iM(),cM(QJ,{key:0,disabled:xI(i),"list-type":e.listType,files:xI(l),crossorigin:e.crossorigin,"handle-preview":e.onPreview,onRemove:xI(d)},lC({append:MA(()=>[_M(E2,SM({ref_key:"uploadRef",ref:r},xI(g)),{default:MA(()=>[e.$slots.trigger?uC(e.$slots,"trigger",{key:0}):EM("v-if",!0),!e.$slots.trigger&&e.$slots.default?uC(e.$slots,"default",{key:1}):EM("v-if",!0)]),_:3},16)]),_:2},[e.$slots.file?{name:"default",fn:MA(({file:t,index:n})=>[uC(e.$slots,"file",{file:t,index:n})])}:void 0]),1032,["disabled","list-type","files","crossorigin","handle-preview","onRemove"])):EM("v-if",!0),!xI(m)||xI(m)&&!e.showFileList?(iM(),cM(E2,SM({key:1,ref_key:"uploadRef",ref:r},xI(g)),{default:MA(()=>[e.$slots.trigger?uC(e.$slots,"trigger",{key:0}):EM("v-if",!0),!e.$slots.trigger&&e.$slots.default?uC(e.$slots,"default",{key:1}):EM("v-if",!0)]),_:3},16)):EM("v-if",!0),e.$slots.trigger?uC(e.$slots,"default",{key:2}):EM("v-if",!0),uC(e.$slots,"tip"),!xI(m)&&e.showFileList?(iM(),cM(QJ,{key:3,disabled:xI(i),"list-type":e.listType,files:xI(l),crossorigin:e.crossorigin,"handle-preview":e.onPreview,onRemove:xI(d)},lC({_:2},[e.$slots.file?{name:"default",fn:MA(({file:t,index:n})=>[uC(e.$slots,"file",{file:t,index:n})])}:void 0]),1032,["disabled","list-type","files","crossorigin","handle-preview","onRemove"])):EM("v-if",!0)]))}});const O2=bG(UH(C2,[["__file","upload.vue"]]));const M2=function(){return Oj.Date.now()};var k2=/\s/;const R2=function(e){for(var t=e.length;t--&&k2.test(e.charAt(t)););return t};var N2=/^\s+/;const D2=function(e){return e?e.slice(0,R2(e)+1).replace(N2,""):e};var F2=/^[-+]0x[0-9a-f]+$/i,L2=/^0b[01]+$/i,P2=/^0o[0-7]+$/i,B2=parseInt;const $2=function(e){if("number"==typeof e)return e;if(Vj(e))return NaN;if(Gj(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=Gj(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=D2(e);var n=L2.test(e);return n||P2.test(e)?B2(e.slice(2),n?2:8):F2.test(e)?NaN:+e};var U2=Math.max,V2=Math.min;const z2=function(e,t,n){var i,r,s,o,a,l,u=0,c=!1,d=!1,h=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function p(t){var n=i,s=r;return i=r=void 0,u=t,o=e.apply(s,n)}function f(e){var n=e-l;return void 0===l||n>=t||n<0||d&&e-u>=s}function m(){var e=M2();if(f(e))return g(e);a=setTimeout(m,function(e){var n=t-(e-l);return d?V2(n,s-(e-u)):n}(e))}function g(e){return a=void 0,h&&i?p(e):(i=r=void 0,o)}function _(){var e=M2(),n=f(e);if(i=arguments,r=this,l=e,n){if(void 0===a)return function(e){return u=e,a=setTimeout(m,t),c?p(e):o}(l);if(d)return clearTimeout(a),a=setTimeout(m,t),p(l)}return void 0===a&&(a=setTimeout(m,t)),o}return t=$2(t)||0,Gj(n)&&(c=!!n.leading,s=(d="maxWait"in n)?U2($2(n.maxWait)||0,t):s,h="trailing"in n?!!n.trailing:h),_.cancel=function(){void 0!==a&&clearTimeout(a),u=0,i=l=r=a=void 0},_.flush=function(){return void 0===a?o:g(M2())},_};const j2=function(e,t,n){var i=!0,r=!0;if("function"!=typeof e)throw new TypeError("Expected a function");return Gj(n)&&(i="leading"in n?!!n.leading:i,r="trailing"in n?!!n.trailing:r),z2(e,t,{leading:i,maxWait:t,trailing:r})},Y2=oG({urlList:{type:Array,default:()=>[]},zIndex:{type:Number},initialIndex:{type:Number,default:0},infinite:{type:Boolean,default:!0},hideOnClickModal:Boolean,teleported:Boolean,closeOnPressEscape:{type:Boolean,default:!0},zoomRate:{type:Number,default:1.2},scale:{type:Number,default:1},minScale:{type:Number,default:.2},maxScale:{type:Number,default:7},showProgress:Boolean,crossorigin:{type:String}}),G2={close:()=>!0,error:e=>e instanceof Event,switch:e=>ej(e),rotate:e=>ej(e)},H2=sS({name:"ElImageViewer"}),W2=sS({...H2,props:Y2,emits:G2,setup(e,{expose:t,emit:n}){var i;const r=e,s={CONTAIN:{name:"contain",icon:pI(eH)},ORIGINAL:{name:"original",icon:pI(dH)}};let o,a="";const{t:l}=nG(),u=Zz("image-viewer"),{nextZIndex:c}=Ij(),d=_I(),h=_I(),p=GE(),f=tk(()=>{const{scale:e,minScale:t,maxScale:n}=r;return((e,t,n)=>Math.min(n,Math.max(t,e)))(e,t,n)}),m=_I(!0),g=_I(!1),_=_I(r.initialIndex),y=yI(s.CONTAIN),v=_I({scale:f.value,deg:0,offsetX:0,offsetY:0,enableTransition:!1}),b=_I(null!=(i=r.zIndex)?i:c()),T=tk(()=>{const{urlList:e}=r;return e.length<=1}),x=tk(()=>0===_.value),E=tk(()=>_.value===r.urlList.length-1),w=tk(()=>r.urlList[_.value]),I=tk(()=>[u.e("btn"),u.e("prev"),u.is("disabled",!r.infinite&&x.value)]),A=tk(()=>[u.e("btn"),u.e("next"),u.is("disabled",!r.infinite&&E.value)]),S=tk(()=>{const{scale:e,deg:t,offsetX:n,offsetY:i,enableTransition:r}=v.value;let o=n/e,a=i/e;const l=t*Math.PI/180,u=Math.cos(l),c=Math.sin(l);o=o*u+a*c,a=a*u-n/e*c;const d={transform:`scale(${e}) rotate(${t}deg) translate(${o}px, ${a}px)`,transition:r?"transform .3s":""};return y.value.name===s.CONTAIN.name&&(d.maxWidth=d.maxHeight="100%"),d}),C=tk(()=>`${_.value+1} / ${r.urlList.length}`);function O(){p.stop(),null==o||o(),document.body.style.overflow=a,n("close")}function M(){m.value=!1}function k(e){g.value=!0,m.value=!1,n("error",e),e.target.alt=l("el.image.error")}function R(e){if(m.value||0!==e.button||!d.value)return;v.value.enableTransition=!1;const{offsetX:t,offsetY:n}=v.value,i=e.pageX,r=e.pageY,s=j2(e=>{v.value={...v.value,offsetX:t+e.pageX-i,offsetY:n+e.pageY-r}}),o=bH(document,"mousemove",s);bH(document,"mouseup",()=>{o()}),e.preventDefault()}function N(){v.value={scale:f.value,deg:0,offsetX:0,offsetY:0,enableTransition:!1}}function D(){if(m.value||g.value)return;const e=hG(s),t=Object.values(s),n=y.value.name,i=(t.findIndex(e=>e.name===n)+1)%e.length;y.value=s[e[i]],N()}function F(e){g.value=!1;const t=r.urlList.length;_.value=(e+t)%t}function L(){x.value&&!r.infinite||F(_.value-1)}function P(){E.value&&!r.infinite||F(_.value+1)}function B(e,t={}){if(m.value||g.value)return;const{minScale:i,maxScale:s}=r,{zoomRate:o,rotateDeg:a,enableTransition:l}={zoomRate:r.zoomRate,rotateDeg:90,enableTransition:!0,...t};switch(e){case"zoomOut":v.value.scale>i&&(v.value.scale=Number.parseFloat((v.value.scale/o).toFixed(3)));break;case"zoomIn":v.value.scale0?(e.preventDefault(),!1):void 0}return CO(()=>f.value,e=>{v.value.scale=e}),CO(w,()=>{oA(()=>{const e=h.value;(null==e?void 0:e.complete)||(m.value=!0)})}),CO(_,e=>{N(),n("switch",e)}),YS(()=>{!function(){const e=j2(e=>{switch(e.code){case sW.esc:r.closeOnPressEscape&&O();break;case sW.space:D();break;case sW.left:L();break;case sW.up:B("zoomIn");break;case sW.right:P();break;case sW.down:B("zoomOut")}}),t=j2(e=>{B((e.deltaY||e.deltaX)<0?"zoomIn":"zoomOut",{zoomRate:r.zoomRate,enableTransition:!1})});p.run(()=>{bH(document,"keydown",e),bH(document,"wheel",t)})}(),o=bH("wheel",V,{passive:!1}),a=document.body.style.overflow,document.body.style.overflow="hidden"}),t({setActiveItem:F}),(e,t)=>(iM(),cM(xI(zZ),{to:"body",disabled:!e.teleported},{default:MA(()=>[_M(Ak,{name:"viewer-fade",appear:""},{default:MA(()=>[gM("div",{ref_key:"wrapper",ref:d,tabindex:-1,class:xE(xI(u).e("wrapper")),style:_E({zIndex:b.value})},[_M(xI(mQ),{loop:"",trapped:"","focus-trap-el":d.value,"focus-start-el":"container",onFocusoutPrevented:$,onReleaseRequested:U},{default:MA(()=>[gM("div",{class:xE(xI(u).e("mask")),onClick:YR(t=>e.hideOnClickModal&&O(),["self"])},null,10,["onClick"]),EM(" CLOSE "),gM("span",{class:xE([xI(u).e("btn"),xI(u).e("close")]),onClick:O},[_M(xI(WH),null,{default:MA(()=>[_M(xI(HG))]),_:1})],2),EM(" ARROW "),xI(T)?EM("v-if",!0):(iM(),uM(ZO,{key:0},[gM("span",{class:xE(xI(I)),onClick:L},[_M(xI(WH),null,{default:MA(()=>[_M(xI(AG))]),_:1})],2),gM("span",{class:xE(xI(A)),onClick:P},[_M(xI(WH),null,{default:MA(()=>[_M(xI(CG))]),_:1})],2)],64)),e.$slots.progress||e.showProgress?(iM(),uM("div",{key:1,class:xE([xI(u).e("btn"),xI(u).e("progress")])},[uC(e.$slots,"progress",{activeIndex:_.value,total:e.urlList.length},()=>[TM($E(xI(C)),1)])],2)):EM("v-if",!0),EM(" ACTIONS "),gM("div",{class:xE([xI(u).e("btn"),xI(u).e("actions")])},[gM("div",{class:xE(xI(u).e("actions__inner"))},[uC(e.$slots,"toolbar",{actions:B,prev:L,next:P,reset:D,activeIndex:_.value,setActiveItem:F},()=>[_M(xI(WH),{onClick:e=>B("zoomOut")},{default:MA(()=>[_M(xI(_H))]),_:1},8,["onClick"]),_M(xI(WH),{onClick:e=>B("zoomIn")},{default:MA(()=>[_M(xI(gH))]),_:1},8,["onClick"]),gM("i",{class:xE(xI(u).e("actions__divider"))},null,2),_M(xI(WH),{onClick:D},{default:MA(()=>[(iM(),cM(iC(xI(y).icon)))]),_:1}),gM("i",{class:xE(xI(u).e("actions__divider"))},null,2),_M(xI(WH),{onClick:e=>B("anticlockwise")},{default:MA(()=>[_M(xI(uH))]),_:1},8,["onClick"]),_M(xI(WH),{onClick:e=>B("clockwise")},{default:MA(()=>[_M(xI(cH))]),_:1},8,["onClick"])])],2)],2),EM(" CANVAS "),gM("div",{class:xE(xI(u).e("canvas"))},[g.value&&e.$slots["viewer-error"]?uC(e.$slots,"viewer-error",{key:0,activeIndex:_.value,src:xI(w)}):(iM(),uM("img",{ref_key:"imgRef",ref:h,key:xI(w),src:xI(w),style:_E(xI(S)),class:xE(xI(u).e("img")),crossorigin:e.crossorigin,onLoad:M,onError:k,onMousedown:R},null,46,["src","crossorigin"]))],2),uC(e.$slots,"default")]),_:3},8,["focus-trap-el"])],6)]),_:3})]),_:3},8,["disabled"]))}});const X2=bG(UH(W2,[["__file","image-viewer.vue"]])),q2=oG({hideOnClickModal:Boolean,src:{type:String,default:""},fit:{type:String,values:["","contain","cover","fill","none","scale-down"],default:""},loading:{type:String,values:["eager","lazy"]},lazy:Boolean,scrollContainer:{type:[String,Object]},previewSrcList:{type:Array,default:()=>[]},previewTeleported:Boolean,zIndex:{type:Number},initialIndex:{type:Number,default:0},infinite:{type:Boolean,default:!0},closeOnPressEscape:{type:Boolean,default:!0},zoomRate:{type:Number,default:1.2},scale:{type:Number,default:1},minScale:{type:Number,default:.2},maxScale:{type:Number,default:7},showProgress:Boolean,crossorigin:{type:String}}),K2={load:e=>e instanceof Event,error:e=>e instanceof Event,switch:e=>ej(e),close:()=>!0,show:()=>!0},Z2=(e,t)=>{if(!dj)return!1;const n=((e,t)=>{var n;if(!dj||!e||!t)return"";let i=rE(t);"float"===i&&(i="cssFloat");try{const t=e.style[i];if(t)return t;const r=null==(n=document.defaultView)?void 0:n.getComputedStyle(e,"");return r?r[i]:""}catch(t){return e.style[i]}})(e,{undefined:"overflow",true:"overflow-y",false:"overflow-x"}[String(t)]);return["scroll","auto","overlay"].some(e=>n.includes(e))};const Q2=sS({name:"ElImage",inheritAttrs:!1}),J2=sS({...Q2,props:q2,emits:K2,setup(e,{expose:t,emit:n}){const i=e,{t:r}=nG(),s=Zz("image"),o=IC(),a=tk(()=>iG(Object.entries(o).filter(([e])=>/^(data-|on[A-Z])/i.test(e)||["id","style"].includes(e)))),l=kq({excludeListeners:!0,excludeKeys:tk(()=>Object.keys(a.value))}),u=_I(),c=_I(!1),d=_I(!0),h=_I(!1),p=_I(),f=_I(),m=dj&&"loading"in HTMLImageElement.prototype;let g;const _=tk(()=>[s.e("inner"),v.value&&s.e("preview"),d.value&&s.is("loading")]),y=tk(()=>{const{fit:e}=i;return dj&&e?{objectFit:e}:{}}),v=tk(()=>{const{previewSrcList:e}=i;return Ux(e)&&e.length>0}),b=tk(()=>{const{previewSrcList:e,initialIndex:t}=i;let n=t;return t>e.length-1&&(n=0),n}),T=tk(()=>"eager"!==i.loading&&(!m&&"lazy"===i.loading||i.lazy)),x=()=>{dj&&(d.value=!0,c.value=!1,u.value=i.src)};function E(e){d.value=!1,c.value=!1,n("load",e)}function w(e){d.value=!1,c.value=!0,n("error",e)}const I=vj(function(e){e&&(x(),S())},200,!0);async function A(){var e;if(!dj)return;await oA();const{scrollContainer:t}=i;if(tj(t))f.value=t;else if(Gx(t)&&""!==t)f.value=null!=(e=document.querySelector(t))?e:void 0;else if(p.value){const e=((e,t)=>{if(!dj)return;let n=e;for(;n;){if([window,document,document.documentElement].includes(n))return window;if(Z2(n,t))return n;n=n.parentNode}return n})(p.value);f.value=e===window?void 0:e}const{stop:n}=function(e,t,n={}){const{root:i,rootMargin:r="0px",threshold:s=.1,window:o=vH}=n,a=xH(()=>o&&"IntersectionObserver"in o);let l=pj;const u=a.value?CO(()=>({el:yH(e),root:yH(i)}),({el:e,root:n})=>{if(l(),!e)return;const i=new IntersectionObserver(t,{root:n,rootMargin:r,threshold:s});i.observe(e),l=()=>{i.disconnect(),l=pj}},{immediate:!0,flush:"post"}):pj,c=()=>{l(),u()};return yj(c),{isSupported:a,stop:c}}(p,([e])=>{I(e.isIntersecting)},{root:f});g=n}function S(){dj&&I&&(null==g||g(),f.value=void 0,g=void 0)}function C(){v.value&&(h.value=!0,n("show"))}function O(){h.value=!1,n("close")}function M(e){n("switch",e)}return CO(()=>i.src,()=>{T.value?(d.value=!0,c.value=!1,S(),A()):x()}),YS(()=>{T.value?A():x()}),t({showPreview:C}),(e,t)=>(iM(),uM("div",SM({ref_key:"container",ref:p},xI(a),{class:[xI(s).b(),e.$attrs.class]}),[c.value?uC(e.$slots,"error",{key:0},()=>[gM("div",{class:xE(xI(s).e("error"))},$E(xI(r)("el.image.error")),3)]):(iM(),uM(ZO,{key:1},[void 0!==u.value?(iM(),uM("img",SM({key:0},xI(l),{src:u.value,loading:e.loading,style:xI(y),class:xI(_),crossorigin:e.crossorigin,onClick:C,onLoad:E,onError:w}),null,16,["src","loading","crossorigin"])):EM("v-if",!0),d.value?(iM(),uM("div",{key:1,class:xE(xI(s).e("wrapper"))},[uC(e.$slots,"placeholder",{},()=>[gM("div",{class:xE(xI(s).e("placeholder"))},null,2)])],2)):EM("v-if",!0)],64)),xI(v)?(iM(),uM(ZO,{key:2},[h.value?(iM(),cM(xI(X2),{key:0,"z-index":e.zIndex,"initial-index":xI(b),infinite:e.infinite,"zoom-rate":e.zoomRate,"min-scale":e.minScale,"max-scale":e.maxScale,"show-progress":e.showProgress,"url-list":e.previewSrcList,scale:e.scale,crossorigin:e.crossorigin,"hide-on-click-modal":e.hideOnClickModal,teleported:e.previewTeleported,"close-on-press-escape":e.closeOnPressEscape,onClose:O,onSwitch:M},lC({toolbar:MA(t=>[uC(e.$slots,"toolbar",EE(vM(t)))]),default:MA(()=>[e.$slots.viewer?(iM(),uM("div",{key:0},[uC(e.$slots,"viewer")])):EM("v-if",!0)]),_:2},[e.$slots.progress?{name:"progress",fn:MA(t=>[uC(e.$slots,"progress",EE(vM(t)))])}:void 0,e.$slots["viewer-error"]?{name:"viewer-error",fn:MA(t=>[uC(e.$slots,"viewer-error",EE(vM(t)))])}:void 0]),1032,["z-index","initial-index","infinite","zoom-rate","min-scale","max-scale","show-progress","url-list","scale","crossorigin","hide-on-click-modal","teleported","close-on-press-escape"])):EM("v-if",!0)],64)):EM("v-if",!0)],16))}});const e3=bG(UH(J2,[["__file","image.vue"]])),t3={class:"card-header"},n3={key:0,class:"disabled-tag",style:{color:"#f56c6c","margin-left":"8px","font-size":"13px"}},i3={class:"el-dropdown-link"},r3={class:"card-content",style:{"flex-direction":"column",display:"flex"}},s3={class:"card-content-info"},o3={style:{display:"flex",gap:"4px"}},a3={__name:"ClassBox",props:{title:{type:String,default:"类别"},picList:{type:Array,default:()=>[]},disabled:{type:Boolean,default:!1}},emits:["add-sample","delete-sample","rename-class","delete-class","disable-class","clear-samples"],setup(e,{emit:t}){const n=e,i=t,r=_I(n.title),s=_I(!1),o=_I(r.value),a=_I(null),l=_I(null);function u(){s.value||(s.value=!0,o.value=r.value,oA(()=>{a.value&&a.value.input&&a.value.input.select()}))}function c(){o.value.trim()&&(r.value=o.value.trim(),i("rename-class",r.value)),s.value=!1}function d(){i("add-sample")}function h(){d(),l.value=setInterval(()=>{d()},200)}function p(){l.value&&(clearInterval(l.value),l.value=null)}function f(){i("delete-class")}function m(){i("disable-class")}function g(){i("clear-samples")}function _(){const e=new(DX());n.picList.forEach((t,n)=>{const i=t.split(",")[1];e.file(`sample_${n+1}.png`,i,{base64:!0})}),e.generateAsync({type:"blob"}).then(e=>{(0,RX.saveAs)(e,"samples.zip")})}function y(e){return new Promise((t,n)=>{if("application/zip"===e.type||e.name.endsWith(".zip")){const r=new(DX());r.loadAsync(e).then(e=>{const n=Object.values(e.files).filter(e=>!e.dir&&e.name.match(/\.(png|jpg|jpeg|gif|bmp)$/i));Promise.all(n.map(e=>r.file(e.name).async("blob").then(t=>{const n=new File([t],e.name,{type:t.type}),i=new FileReader;return i.readAsDataURL(n),new Promise(e=>i.onload=e)}))).then(e=>{e.forEach(e=>i("add-sample",e.target.result)),t(!1)})}).catch(n)}else{const r=new FileReader;r.onload=e=>{i("add-sample",e.target.result),t(!1)},r.onerror=n,r.readAsDataURL(e)}})}return CO(()=>n.title,e=>{r.value=e}),(e,t)=>(iM(),cM(xI(kX),{class:"class-box"},{header:MA(()=>[gM("div",t3,[gM("span",{class:"card-header-title",style:{cursor:"pointer"},onClick:u},[s.value?(iM(),cM(xI(Pq),{key:1,ref_key:"inputRef",ref:a,modelValue:o.value,"onUpdate:modelValue":t[0]||(t[0]=e=>o.value=e),style:{width:"120px"},onKeyup:HR(c,["enter"]),onBlur:c},null,8,["modelValue"])):(iM(),uM(ZO,{key:0},[TM($E(r.value)+" ",1),_M(xI(WH),{onClick:YR(u,["stop"])},{default:MA(()=>[_M(xI(QG))]),_:1}),n.disabled?(iM(),uM("span",n3," 禁用 ")):EM("v-if",!0)],64))]),_M(xI(DJ),{class:"card-header-title"},{dropdown:MA(()=>[_M(xI(LJ),{class:"class-box-dropdown"},{default:MA(()=>[_M(xI(FJ),{class:"class-box-dropdown-item",onClick:f},{default:MA(()=>t[1]||(t[1]=[gM("span",{style:{color:"#f56c6c"}},"删除类别",-1)])),_:1}),_M(xI(FJ),{class:"class-box-dropdown-item",onClick:m},{default:MA(()=>[TM($E(n.disabled?"启用":"禁用")+"类别 ",1)]),_:1}),_M(xI(FJ),{class:"class-box-dropdown-item",disabled:0===n.picList.length,onClick:g},{default:MA(()=>t[2]||(t[2]=[TM(" 清空样本 ")])),_:1},8,["disabled"]),_M(xI(FJ),{class:"class-box-dropdown-item",disabled:0===n.picList.length,onClick:_},{default:MA(()=>t[3]||(t[3]=[TM(" 导出样本 ")])),_:1},8,["disabled"])]),_:1})]),default:MA(()=>[gM("span",i3,[_M(xI(WH),null,{default:MA(()=>[_M(xI(lH))]),_:1})])]),_:1})])]),default:MA(()=>[gM("div",r3,[gM("div",s3,[TM(" 图像样本 "+$E(n.picList.length)+" ",1),gM("div",o3,[_M(xI(SX),{type:"primary",size:"small",disabled:n.disabled,onMousedown:h,onMouseup:p,onMouseleave:p},{default:MA(()=>[t[4]||(t[4]=TM(" 拍摄样本 ")),_M(xI(WH),null,{default:MA(()=>[_M(xI(RG))]),_:1})]),_:1},8,["disabled"]),_M(xI(O2),{"show-file-list":!1,"before-upload":y,accept:"image/*,.zip",disabled:n.disabled},{default:MA(()=>[_M(xI(SX),{plain:"",type:"primary",size:"small",disabled:n.disabled},{default:MA(()=>[t[5]||(t[5]=TM(" 上传样本 ")),_M(xI(WH),null,{default:MA(()=>[_M(xI(YG))]),_:1})]),_:1},8,["disabled"])]),_:1},8,["disabled"])])]),_M(ER,{name:"fade",tag:"div",class:"card-content-img"},{default:MA(()=>[(iM(!0),uM(ZO,null,aC(n.picList.slice().reverse(),e=>(iM(),uM("div",{key:e,class:"card-content-img-wrapper",style:{position:"relative",display:"inline-block"}},[_M(xI(e3),{src:e,class:xE(["card-content-img-item",{"img-disabled":n.disabled}])},null,8,["src","class"]),_M(xI(WH),{class:"delete-icon",onClick:t=>function(e){i("delete-sample",e)}(e)},{default:MA(()=>[_M(xI(XG))]),_:2},1032,["onClick"])]))),128))]),_:1})])]),_:1}))}},l3=a3,u3={class:"camera-box"},c3={__name:"CameraBox",setup(e,{expose:t}){const n=_I(null),i=qC("shotList");return YS(()=>{navigator.mediaDevices.getUserMedia({video:!0}).then(e=>{n.value&&(n.value.srcObject=e)}).catch(e=>{console.error("无法访问摄像头:",e)})}),t({captureShot:function(){const e=n.value;if(!e)return;const t=e.videoWidth,r=e.videoHeight;let s=0,o=0,a=t,l=r;t>r?(s=(t-r)/2,a=r):r>t&&(o=(r-t)/2,l=t);const u=Math.min(a,l),c=document.createElement("canvas");return c.width=u,c.height=u,c.getContext("2d").drawImage(e,s,o,u,u,0,0,u,u),i.value.push(c.toDataURL("image/png")),c.toDataURL("image/png")}}),(e,t)=>(iM(),uM("div",u3,[gM("video",{id:"webcam",ref_key:"videoRef",ref:n,class:"video-crop",autoplay:"",playsinline:"",muted:"",height:"100%",width:"100%"},null,512)]))}};var d3=__webpack_require__(66262);const h3=(0,d3.A)(c3,[["__scopeId","data-v-da91b390"]]);var p3=__webpack_require__(15838),f3=__webpack_require__(15441),m3=__webpack_require__(29809),g3=__webpack_require__(9258),_3=__webpack_require__(10700); +var OG=dS({name:"ArrowDown",__name:"arrow-down",setup:e=>(e,t)=>(uM(),mM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[xM("path",{fill:"currentColor",d:"M831.872 340.864 512 652.672 192.128 340.864a30.59 30.59 0 0 0-42.752 0 29.12 29.12 0 0 0 0 41.6L489.664 714.24a32 32 0 0 0 44.672 0l340.288-331.712a29.12 29.12 0 0 0 0-41.728 30.59 30.59 0 0 0-42.752 0z"})]))}),MG=OG,kG=dS({name:"ArrowLeft",__name:"arrow-left",setup:e=>(e,t)=>(uM(),mM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[xM("path",{fill:"currentColor",d:"M609.408 149.376 277.76 489.6a32 32 0 0 0 0 44.672l331.648 340.352a29.12 29.12 0 0 0 41.728 0 30.59 30.59 0 0 0 0-42.752L339.264 511.936l311.872-319.872a30.59 30.59 0 0 0 0-42.688 29.12 29.12 0 0 0-41.728 0"})]))}),RG=kG,NG=dS({name:"ArrowRight",__name:"arrow-right",setup:e=>(e,t)=>(uM(),mM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[xM("path",{fill:"currentColor",d:"M340.864 149.312a30.59 30.59 0 0 0 0 42.752L652.736 512 340.864 831.872a30.59 30.59 0 0 0 0 42.752 29.12 29.12 0 0 0 41.728 0L714.24 534.336a32 32 0 0 0 0-44.672L382.592 149.376a29.12 29.12 0 0 0-41.728 0z"})]))}),DG=NG,FG=dS({name:"ArrowUp",__name:"arrow-up",setup:e=>(e,t)=>(uM(),mM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[xM("path",{fill:"currentColor",d:"m488.832 344.32-339.84 356.672a32 32 0 0 0 0 44.16l.384.384a29.44 29.44 0 0 0 42.688 0l320-335.872 319.872 335.872a29.44 29.44 0 0 0 42.688 0l.384-.384a32 32 0 0 0 0-44.16L535.168 344.32a32 32 0 0 0-46.336 0"})]))}),LG=FG,PG=dS({name:"Camera",__name:"camera",setup:e=>(e,t)=>(uM(),mM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[xM("path",{fill:"currentColor",d:"M896 256H128v576h768zm-199.424-64-32.064-64h-304.96l-32 64zM96 192h160l46.336-92.608A64 64 0 0 1 359.552 64h304.96a64 64 0 0 1 57.216 35.328L768.192 192H928a32 32 0 0 1 32 32v640a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V224a32 32 0 0 1 32-32m416 512a160 160 0 1 0 0-320 160 160 0 0 0 0 320m0 64a224 224 0 1 1 0-448 224 224 0 0 1 0 448"})]))}),BG=PG,$G=dS({name:"Check",__name:"check",setup:e=>(e,t)=>(uM(),mM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[xM("path",{fill:"currentColor",d:"M406.656 706.944 195.84 496.256a32 32 0 1 0-45.248 45.248l256 256 512-512a32 32 0 0 0-45.248-45.248L406.592 706.944z"})]))}),UG=$G,VG=dS({name:"CircleCheck",__name:"circle-check",setup:e=>(e,t)=>(uM(),mM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[xM("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768m0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896"}),xM("path",{fill:"currentColor",d:"M745.344 361.344a32 32 0 0 1 45.312 45.312l-288 288a32 32 0 0 1-45.312 0l-160-160a32 32 0 1 1 45.312-45.312L480 626.752z"})]))}),zG=VG,jG=dS({name:"CircleCloseFilled",__name:"circle-close-filled",setup:e=>(e,t)=>(uM(),mM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[xM("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m0 393.664L407.936 353.6a38.4 38.4 0 1 0-54.336 54.336L457.664 512 353.6 616.064a38.4 38.4 0 1 0 54.336 54.336L512 566.336 616.064 670.4a38.4 38.4 0 1 0 54.336-54.336L566.336 512 670.4 407.936a38.4 38.4 0 1 0-54.336-54.336z"})]))}),YG=jG,GG=dS({name:"CircleClose",__name:"circle-close",setup:e=>(e,t)=>(uM(),mM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[xM("path",{fill:"currentColor",d:"m466.752 512-90.496-90.496a32 32 0 0 1 45.248-45.248L512 466.752l90.496-90.496a32 32 0 1 1 45.248 45.248L557.248 512l90.496 90.496a32 32 0 1 1-45.248 45.248L512 557.248l-90.496 90.496a32 32 0 0 1-45.248-45.248z"}),xM("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768m0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896"})]))}),HG=GG,WG=dS({name:"CirclePlusFilled",__name:"circle-plus-filled",setup:e=>(e,t)=>(uM(),mM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[xM("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m-38.4 409.6H326.4a38.4 38.4 0 1 0 0 76.8h147.2v147.2a38.4 38.4 0 0 0 76.8 0V550.4h147.2a38.4 38.4 0 0 0 0-76.8H550.4V326.4a38.4 38.4 0 1 0-76.8 0z"})]))}),XG=WG,qG=dS({name:"CirclePlus",__name:"circle-plus",setup:e=>(e,t)=>(uM(),mM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[xM("path",{fill:"currentColor",d:"M352 480h320a32 32 0 1 1 0 64H352a32 32 0 0 1 0-64"}),xM("path",{fill:"currentColor",d:"M480 672V352a32 32 0 1 1 64 0v320a32 32 0 0 1-64 0"}),xM("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768m0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896"})]))}),KG=qG,ZG=dS({name:"Close",__name:"close",setup:e=>(e,t)=>(uM(),mM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[xM("path",{fill:"currentColor",d:"M764.288 214.592 512 466.88 259.712 214.592a31.936 31.936 0 0 0-45.12 45.12L466.752 512 214.528 764.224a31.936 31.936 0 1 0 45.12 45.184L512 557.184l252.288 252.288a31.936 31.936 0 0 0 45.12-45.12L557.12 512.064l252.288-252.352a31.936 31.936 0 1 0-45.12-45.184z"})]))}),QG=ZG,JG=dS({name:"Delete",__name:"delete",setup:e=>(e,t)=>(uM(),mM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[xM("path",{fill:"currentColor",d:"M160 256H96a32 32 0 0 1 0-64h256V95.936a32 32 0 0 1 32-32h256a32 32 0 0 1 32 32V192h256a32 32 0 1 1 0 64h-64v672a32 32 0 0 1-32 32H192a32 32 0 0 1-32-32zm448-64v-64H416v64zM224 896h576V256H224zm192-128a32 32 0 0 1-32-32V416a32 32 0 0 1 64 0v320a32 32 0 0 1-32 32m192 0a32 32 0 0 1-32-32V416a32 32 0 0 1 64 0v320a32 32 0 0 1-32 32"})]))}),eH=JG,tH=dS({name:"Document",__name:"document",setup:e=>(e,t)=>(uM(),mM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[xM("path",{fill:"currentColor",d:"M832 384H576V128H192v768h640zm-26.496-64L640 154.496V320zM160 64h480l256 256v608a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32m160 448h384v64H320zm0-192h160v64H320zm0 384h384v64H320z"})]))}),nH=tH,iH=dS({name:"EditPen",__name:"edit-pen",setup:e=>(e,t)=>(uM(),mM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[xM("path",{fill:"currentColor",d:"m199.04 672.64 193.984 112 224-387.968-193.92-112-224 388.032zm-23.872 60.16 32.896 148.288 144.896-45.696zM455.04 229.248l193.92 112 56.704-98.112-193.984-112zM104.32 708.8l384-665.024 304.768 175.936L409.152 884.8h.064l-248.448 78.336zm384 254.272v-64h448v64z"})]))}),rH=iH,sH=dS({name:"FullScreen",__name:"full-screen",setup:e=>(e,t)=>(uM(),mM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[xM("path",{fill:"currentColor",d:"m160 96.064 192 .192a32 32 0 0 1 0 64l-192-.192V352a32 32 0 0 1-64 0V96h64zm0 831.872V928H96V672a32 32 0 1 1 64 0v191.936l192-.192a32 32 0 1 1 0 64zM864 96.064V96h64v256a32 32 0 1 1-64 0V160.064l-192 .192a32 32 0 1 1 0-64zm0 831.872-192-.192a32 32 0 0 1 0-64l192 .192V672a32 32 0 1 1 64 0v256h-64z"})]))}),oH=sH,aH=dS({name:"Hide",__name:"hide",setup:e=>(e,t)=>(uM(),mM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[xM("path",{fill:"currentColor",d:"M876.8 156.8c0-9.6-3.2-16-9.6-22.4s-12.8-9.6-22.4-9.6-16 3.2-22.4 9.6L736 220.8c-64-32-137.6-51.2-224-60.8-160 16-288 73.6-377.6 176S0 496 0 512s48 73.6 134.4 176c22.4 25.6 44.8 48 73.6 67.2l-86.4 89.6c-6.4 6.4-9.6 12.8-9.6 22.4s3.2 16 9.6 22.4 12.8 9.6 22.4 9.6 16-3.2 22.4-9.6l704-710.4c3.2-6.4 6.4-12.8 6.4-22.4m-646.4 528Q115.2 579.2 76.8 512q43.2-72 153.6-172.8C304 272 400 230.4 512 224c64 3.2 124.8 19.2 176 44.8l-54.4 54.4C598.4 300.8 560 288 512 288c-64 0-115.2 22.4-160 64s-64 96-64 160c0 48 12.8 89.6 35.2 124.8L256 707.2c-9.6-6.4-19.2-16-25.6-22.4m140.8-96Q352 555.2 352 512c0-44.8 16-83.2 48-112s67.2-48 112-48c28.8 0 54.4 6.4 73.6 19.2zM889.599 336c-12.8-16-28.8-28.8-41.6-41.6l-48 48c73.6 67.2 124.8 124.8 150.4 169.6q-43.2 72-153.6 172.8c-73.6 67.2-172.8 108.8-284.8 115.2-51.2-3.2-99.2-12.8-140.8-28.8l-48 48c57.6 22.4 118.4 38.4 188.8 44.8 160-16 288-73.6 377.6-176S1024 528 1024 512s-48.001-73.6-134.401-176"}),xM("path",{fill:"currentColor",d:"M511.998 672c-12.8 0-25.6-3.2-38.4-6.4l-51.2 51.2c28.8 12.8 57.6 19.2 89.6 19.2 64 0 115.2-22.4 160-64 41.6-41.6 64-96 64-160 0-32-6.4-64-19.2-89.6l-51.2 51.2c3.2 12.8 6.4 25.6 6.4 38.4 0 44.8-16 83.2-48 112s-67.2 48-112 48"})]))}),lH=aH,uH=dS({name:"InfoFilled",__name:"info-filled",setup:e=>(e,t)=>(uM(),mM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[xM("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896.064A448 448 0 0 1 512 64m67.2 275.072c33.28 0 60.288-23.104 60.288-57.344s-27.072-57.344-60.288-57.344c-33.28 0-60.16 23.104-60.16 57.344s26.88 57.344 60.16 57.344M590.912 699.2c0-6.848 2.368-24.64 1.024-34.752l-52.608 60.544c-10.88 11.456-24.512 19.392-30.912 17.28a12.99 12.99 0 0 1-8.256-14.72l87.68-276.992c7.168-35.136-12.544-67.2-54.336-71.296-44.096 0-108.992 44.736-148.48 101.504 0 6.784-1.28 23.68.064 33.792l52.544-60.608c10.88-11.328 23.552-19.328 29.952-17.152a12.8 12.8 0 0 1 7.808 16.128L388.48 728.576c-10.048 32.256 8.96 63.872 55.04 71.04 67.84 0 107.904-43.648 147.456-100.416z"})]))}),cH=uH,dH=dS({name:"Loading",__name:"loading",setup:e=>(e,t)=>(uM(),mM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[xM("path",{fill:"currentColor",d:"M512 64a32 32 0 0 1 32 32v192a32 32 0 0 1-64 0V96a32 32 0 0 1 32-32m0 640a32 32 0 0 1 32 32v192a32 32 0 1 1-64 0V736a32 32 0 0 1 32-32m448-192a32 32 0 0 1-32 32H736a32 32 0 1 1 0-64h192a32 32 0 0 1 32 32m-640 0a32 32 0 0 1-32 32H96a32 32 0 0 1 0-64h192a32 32 0 0 1 32 32M195.2 195.2a32 32 0 0 1 45.248 0L376.32 331.008a32 32 0 0 1-45.248 45.248L195.2 240.448a32 32 0 0 1 0-45.248m452.544 452.544a32 32 0 0 1 45.248 0L828.8 783.552a32 32 0 0 1-45.248 45.248L647.744 692.992a32 32 0 0 1 0-45.248M828.8 195.264a32 32 0 0 1 0 45.184L692.992 376.32a32 32 0 0 1-45.248-45.248l135.808-135.808a32 32 0 0 1 45.248 0m-452.544 452.48a32 32 0 0 1 0 45.248L240.448 828.8a32 32 0 0 1-45.248-45.248l135.808-135.808a32 32 0 0 1 45.248 0"})]))}),hH=dH,pH=dS({name:"More",__name:"more",setup:e=>(e,t)=>(uM(),mM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[xM("path",{fill:"currentColor",d:"M176 416a112 112 0 1 0 0 224 112 112 0 0 0 0-224m0 64a48 48 0 1 1 0 96 48 48 0 0 1 0-96m336-64a112 112 0 1 1 0 224 112 112 0 0 1 0-224m0 64a48 48 0 1 0 0 96 48 48 0 0 0 0-96m336-64a112 112 0 1 1 0 224 112 112 0 0 1 0-224m0 64a48 48 0 1 0 0 96 48 48 0 0 0 0-96"})]))}),fH=pH,mH=dS({name:"RefreshLeft",__name:"refresh-left",setup:e=>(e,t)=>(uM(),mM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[xM("path",{fill:"currentColor",d:"M289.088 296.704h92.992a32 32 0 0 1 0 64H232.96a32 32 0 0 1-32-32V179.712a32 32 0 0 1 64 0v50.56a384 384 0 0 1 643.84 282.88 384 384 0 0 1-383.936 384 384 384 0 0 1-384-384h64a320 320 0 1 0 640 0 320 320 0 0 0-555.712-216.448z"})]))}),gH=dS({name:"RefreshRight",__name:"refresh-right",setup:e=>(e,t)=>(uM(),mM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[xM("path",{fill:"currentColor",d:"M784.512 230.272v-50.56a32 32 0 1 1 64 0v149.056a32 32 0 0 1-32 32H667.52a32 32 0 1 1 0-64h92.992A320 320 0 1 0 524.8 833.152a320 320 0 0 0 320-320h64a384 384 0 0 1-384 384 384 384 0 0 1-384-384 384 384 0 0 1 643.712-282.88"})]))}),_H=dS({name:"ScaleToOriginal",__name:"scale-to-original",setup:e=>(e,t)=>(uM(),mM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[xM("path",{fill:"currentColor",d:"M813.176 180.706a60.235 60.235 0 0 1 60.236 60.235v481.883a60.235 60.235 0 0 1-60.236 60.235H210.824a60.235 60.235 0 0 1-60.236-60.235V240.94a60.235 60.235 0 0 1 60.236-60.235h602.352zm0-60.235H210.824A120.47 120.47 0 0 0 90.353 240.94v481.883a120.47 120.47 0 0 0 120.47 120.47h602.353a120.47 120.47 0 0 0 120.471-120.47V240.94a120.47 120.47 0 0 0-120.47-120.47zm-120.47 180.705a30.12 30.12 0 0 0-30.118 30.118v301.177a30.118 30.118 0 0 0 60.236 0V331.294a30.12 30.12 0 0 0-30.118-30.118m-361.412 0a30.12 30.12 0 0 0-30.118 30.118v301.177a30.118 30.118 0 1 0 60.236 0V331.294a30.12 30.12 0 0 0-30.118-30.118M512 361.412a30.12 30.12 0 0 0-30.118 30.117v30.118a30.118 30.118 0 0 0 60.236 0V391.53A30.12 30.12 0 0 0 512 361.412M512 512a30.12 30.12 0 0 0-30.118 30.118v30.117a30.118 30.118 0 0 0 60.236 0v-30.117A30.12 30.12 0 0 0 512 512"})]))}),yH=dS({name:"SuccessFilled",__name:"success-filled",setup:e=>(e,t)=>(uM(),mM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[xM("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m-55.808 536.384-99.52-99.584a38.4 38.4 0 1 0-54.336 54.336l126.72 126.72a38.27 38.27 0 0 0 54.336 0l262.4-262.464a38.4 38.4 0 1 0-54.272-54.336z"})]))}),vH=dS({name:"View",__name:"view",setup:e=>(e,t)=>(uM(),mM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[xM("path",{fill:"currentColor",d:"M512 160c320 0 512 352 512 352S832 864 512 864 0 512 0 512s192-352 512-352m0 64c-225.28 0-384.128 208.064-436.8 288 52.608 79.872 211.456 288 436.8 288 225.28 0 384.128-208.064 436.8-288-52.608-79.872-211.456-288-436.8-288m0 64a224 224 0 1 1 0 448 224 224 0 0 1 0-448m0 64a160.19 160.19 0 0 0-160 160c0 88.192 71.744 160 160 160s160-71.808 160-160-71.744-160-160-160"})]))}),bH=dS({name:"WarningFilled",__name:"warning-filled",setup:e=>(e,t)=>(uM(),mM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[xM("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m0 192a58.43 58.43 0 0 0-58.24 63.744l23.36 256.384a35.072 35.072 0 0 0 69.76 0l23.296-256.384A58.43 58.43 0 0 0 512 256m0 512a51.2 51.2 0 1 0 0-102.4 51.2 51.2 0 0 0 0 102.4"})]))}),TH=dS({name:"Warning",__name:"warning",setup:e=>(e,t)=>(uM(),mM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[xM("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m0 832a384 384 0 0 0 0-768 384 384 0 0 0 0 768m48-176a48 48 0 1 1-96 0 48 48 0 0 1 96 0m-48-464a32 32 0 0 1 32 32v288a32 32 0 0 1-64 0V288a32 32 0 0 1 32-32"})]))}),xH=dS({name:"ZoomIn",__name:"zoom-in",setup:e=>(e,t)=>(uM(),mM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[xM("path",{fill:"currentColor",d:"m795.904 750.72 124.992 124.928a32 32 0 0 1-45.248 45.248L750.656 795.904a416 416 0 1 1 45.248-45.248zM480 832a352 352 0 1 0 0-704 352 352 0 0 0 0 704m-32-384v-96a32 32 0 0 1 64 0v96h96a32 32 0 0 1 0 64h-96v96a32 32 0 0 1-64 0v-96h-96a32 32 0 0 1 0-64z"})]))}),EH=dS({name:"ZoomOut",__name:"zoom-out",setup:e=>(e,t)=>(uM(),mM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[xM("path",{fill:"currentColor",d:"m795.904 750.72 124.992 124.928a32 32 0 0 1-45.248 45.248L750.656 795.904a416 416 0 1 1 45.248-45.248zM480 832a352 352 0 1 0 0-704 352 352 0 0 0 0 704M352 448h256a32 32 0 0 1 0 64H352a32 32 0 0 1 0-64"})]))});function wH(e){var t;const n=Tj(e);return null!=(t=null==n?void 0:n.$el)?t:n}const IH=_j?window:void 0;_j&&window.document,_j&&window.navigator,_j&&window.location;function AH(...e){let t,n,i,r;if("string"==typeof e[0]||Array.isArray(e[0])?([n,i,r]=e,t=IH):[t,n,i,r]=e,!t)return vj;Array.isArray(n)||(n=[n]),Array.isArray(i)||(i=[i]);const s=[],o=()=>{s.forEach(e=>e()),s.length=0},a=DO(()=>[wH(t),Tj(r)],([e,t])=>{o(),e&&s.push(...n.flatMap(n=>i.map(i=>((e,t,n,i)=>(e.addEventListener(t,n,i),()=>e.removeEventListener(t,n,i)))(e,n,i,t))))},{immediate:!0,flush:"post"}),l=()=>{a(),o()};return wj(l),l}let SH=!1;Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;function CH(e,t=!1){const n=EI(),i=()=>n.value=Boolean(e());return i(),function(e,t=!0){$M()?KS(e):t?e():hA(e)}(i,t),n}Object.defineProperty,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;function OH(e){return JSON.parse(JSON.stringify(e))}const MH="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},kH="__vueuse_ssr_handlers__";MH[kH]=MH[kH]||{};MH[kH];Object.defineProperty,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;var RH=Object.getOwnPropertySymbols,NH=Object.prototype.hasOwnProperty,DH=Object.prototype.propertyIsEnumerable;function FH(e,t,n={}){const i=n,{window:r=IH}=i,s=((e,t)=>{var n={};for(var i in e)NH.call(e,i)&&t.indexOf(i)<0&&(n[i]=e[i]);if(null!=e&&RH)for(var i of RH(e))t.indexOf(i)<0&&DH.call(e,i)&&(n[i]=e[i]);return n})(i,["window"]);let o;const a=CH(()=>r&&"ResizeObserver"in r),l=()=>{o&&(o.disconnect(),o=void 0)},u=DO(()=>wH(e),e=>{l(),a.value&&r&&e&&(o=new ResizeObserver(t),o.observe(e,s))},{immediate:!0,flush:"post"}),c=()=>{l(),u()};return wj(c),{isSupported:a,stop:c}}Object.defineProperty,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;function LH(e,t={width:0,height:0},n={}){const{window:i=IH,box:r="content-box"}=n,s=ak(()=>{var t,n;return null==(n=null==(t=wH(e))?void 0:t.namespaceURI)?void 0:n.includes("svg")}),o=EI(t.width),a=EI(t.height);return FH(e,([t])=>{const n="border-box"===r?t.borderBoxSize:"content-box"===r?t.contentBoxSize:t.devicePixelContentBoxSize;if(i&&s.value){const t=wH(e);if(t){const e=i.getComputedStyle(t);o.value=parseFloat(e.width),a.value=parseFloat(e.height)}}else if(n){const e=Array.isArray(n)?n:[n];o.value=e.reduce((e,{inlineSize:t})=>e+t,0),a.value=e.reduce((e,{blockSize:t})=>e+t,0)}else o.value=t.contentRect.width,a.value=t.contentRect.height},n),DO(()=>wH(e),e=>{o.value=e?t.width:0,a.value=e?t.height:0}),{width:o,height:a}}new Map;Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;var PH,BH;(BH=PH||(PH={})).UP="UP",BH.RIGHT="RIGHT",BH.DOWN="DOWN",BH.LEFT="LEFT",BH.NONE="NONE";Object.defineProperty,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;var $H=Object.defineProperty,UH=Object.getOwnPropertySymbols,VH=Object.prototype.hasOwnProperty,zH=Object.prototype.propertyIsEnumerable,jH=(e,t,n)=>t in e?$H(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;((e,t)=>{for(var n in t||(t={}))VH.call(t,n)&&jH(e,n,t[n]);if(UH)for(var n of UH(t))zH.call(t,n)&&jH(e,n,t[n])})({linear:function(e){return e}},{easeInSine:[.12,0,.39,0],easeOutSine:[.61,1,.88,1],easeInOutSine:[.37,0,.63,1],easeInQuad:[.11,0,.5,0],easeOutQuad:[.5,1,.89,1],easeInOutQuad:[.45,0,.55,1],easeInCubic:[.32,0,.67,0],easeOutCubic:[.33,1,.68,1],easeInOutCubic:[.65,0,.35,1],easeInQuart:[.5,0,.75,0],easeOutQuart:[.25,1,.5,1],easeInOutQuart:[.76,0,.24,1],easeInQuint:[.64,0,.78,0],easeOutQuint:[.22,1,.36,1],easeInOutQuint:[.83,0,.17,1],easeInExpo:[.7,0,.84,0],easeOutExpo:[.16,1,.3,1],easeInOutExpo:[.87,0,.13,1],easeInCirc:[.55,0,1,.45],easeOutCirc:[0,.55,.45,1],easeInOutCirc:[.85,0,.15,1],easeInBack:[.36,0,.66,-.56],easeOutBack:[.34,1.56,.64,1],easeInOutBack:[.68,-.6,.32,1.6]});function YH(e,t,n,i={}){var r,s,o;const{clone:a=!1,passive:l=!1,eventName:u,deep:c=!1,defaultValue:d}=i,h=$M(),p=n||(null==h?void 0:h.emit)||(null==(r=null==h?void 0:h.$emit)?void 0:r.bind(h))||(null==(o=null==(s=null==h?void 0:h.proxy)?void 0:s.$emit)?void 0:o.bind(null==h?void 0:h.proxy));let f=u;t||(t="modelValue"),f=u||f||`update:${t.toString()}`;const m=e=>a?yj(a)?a(e):OH(e):e,g=()=>void 0!==e[t]?m(e[t]):d;if(l){const n=EI(g());return DO(()=>e[t],e=>n.value=m(e)),DO(n,n=>{(n!==e[t]||c)&&p(f,n)},{deep:c}),n}return ak({get:()=>g(),set(e){p(f,e)}})}const GH=hG({value:{type:[String,Number],default:""},max:{type:Number,default:99},isDot:Boolean,hidden:Boolean,type:{type:String,values:["primary","success","warning","info","danger"],default:"danger"},showZero:{type:Boolean,default:!0},color:String,badgeStyle:{type:[String,Object,Array]},offset:{type:Array,default:[0,0]},badgeClass:{type:String}});var HH=(e,t)=>{const n=e.__vccOpts||e;for(const[e,i]of t)n[e]=i;return n};function WH(e,t="px"){return e?oj(e)||Zx(n=e)&&!Number.isNaN(Number(n))?`${e}${t}`:Zx(e)?e:void 0:"";var n}const XH=dS({name:"ElBadge"}),qH=dS({...XH,props:GH,setup(e,{expose:t}){const n=e,i=ij("badge"),r=ak(()=>n.isDot?"":oj(n.value)&&oj(n.max)&&n.max{var e,t,i,r,s;return[{backgroundColor:n.color,marginRight:WH(-(null!=(t=null==(e=n.offset)?void 0:e[0])?t:0)),marginTop:WH(null!=(r=null==(i=n.offset)?void 0:i[1])?r:0)},null!=(s=n.badgeStyle)?s:{}]});return t({content:r}),(e,t)=>(uM(),mM("div",{class:CE(CI(i).b())},[mC(e.$slots,"default"),EM(Rk,{name:`${CI(i).namespace.value}-zoom-in-center`,persisted:""},{default:LA(()=>[PA(xM("sup",{class:CE([CI(i).e("content"),CI(i).em("content",e.type),CI(i).is("fixed",!!e.$slots.default),CI(i).is("dot",e.isDot),CI(i).is("hide-zero",!e.showZero&&0===n.value),e.badgeClass]),style:EE(CI(s))},[mC(e.$slots,"content",{value:CI(r)},()=>[SM(GE(CI(r)),1)])],6),[[Xk,!e.hidden&&(CI(r)||e.isDot||e.$slots.content)]])]),_:3},8,["name"])],2))}});const KH=AG(HH(qH,[["__file","badge.vue"]])),ZH=hG({size:{type:[Number,String]},color:{type:String}}),QH=dS({name:"ElIcon",inheritAttrs:!1});const JH=AG(HH(dS({...QH,props:ZH,setup(e){const t=e,n=ij("icon"),i=ak(()=>{const{size:e,color:n}=t;return e||n?{fontSize:rj(e)?void 0:WH(e),"--color":n}:{}});return(e,t)=>(uM(),mM("i",NM({class:CI(n).b(),style:CI(i)},e.$attrs),[mC(e.$slots,"default")],16))}}),[["__file","icon.vue"]])),eW=[String,Object,Function],tW={Close:QG,SuccessFilled:yH,InfoFilled:cH,WarningFilled:bH,CircleCloseFilled:YG},nW={primary:cH,success:yH,warning:bH,error:YG,info:cH},iW={validating:hH,success:zG,error:HG},rW=["primary","success","info","warning","error"],sW=["top","top-left","top-right","bottom","bottom-left","bottom-right"],oW="top",aW={customClass:"",dangerouslyUseHTMLString:!1,duration:3e3,icon:void 0,id:"",message:"",onClose:void 0,showClose:!1,type:"info",plain:!1,offset:16,placement:void 0,zIndex:0,grouping:!1,repeatNum:1,appendTo:_j?document.body:void 0},lW=hG({customClass:{type:String,default:aW.customClass},dangerouslyUseHTMLString:{type:Boolean,default:aW.dangerouslyUseHTMLString},duration:{type:Number,default:aW.duration},icon:{type:eW,default:aW.icon},id:{type:String,default:aW.id},message:{type:[String,Object,Function],default:aW.message},onClose:{type:Function,default:aW.onClose},showClose:{type:Boolean,default:aW.showClose},type:{type:String,values:rW,default:aW.type},plain:{type:Boolean,default:aW.plain},offset:{type:Number,default:aW.offset},placement:{type:String,values:sW,default:aW.placement},zIndex:{type:Number,default:aW.zIndex},grouping:{type:Boolean,default:aW.grouping},repeatNum:{type:Number,default:aW.repeatNum}}),uW=cI({}),cW=(e,t)=>{const{prev:n}=((e,t)=>{const n=uW[t]||[],i=n.findIndex(t=>t.id===e),r=n[i];let s;return i>0&&(s=n[i-1]),{current:r,prev:s}})(e,t);return n?n.vm.exposed.bottom.value:0},dW={tab:"Tab",enter:"Enter",space:"Space",left:"ArrowLeft",up:"ArrowUp",right:"ArrowRight",down:"ArrowDown",esc:"Escape",delete:"Delete",backspace:"Backspace",numpadEnter:"NumpadEnter",pageUp:"PageUp",pageDown:"PageDown",home:"Home",end:"End"},hW=dS({name:"ElMessage"}),pW=dS({...hW,props:lW,emits:{destroy:()=>!0},setup(e,{expose:t,emit:n}){const i=e,{Close:r}=tW,s=EI(!1),{ns:o,zIndex:a}=function(e,t){const n=bG(),i=ij(e,ak(()=>{var e;return(null==(e=n.value)?void 0:e.namespace)||Jz})),r=lG(ak(()=>{var e;return null==(e=n.value)?void 0:e.locale})),s=kj(ak(()=>{var e;return(null==(e=n.value)?void 0:e.zIndex)||2e3})),o=ak(()=>{var e;return CI(t)||(null==(e=n.value)?void 0:e.size)||""});return TG(ak(()=>CI(n)||{})),{ns:i,locale:r,zIndex:s,size:o}}("message"),{currentZIndex:l,nextZIndex:u}=a,c=EI(),d=EI(!1),h=EI(0);let p;const f=ak(()=>i.type?"error"===i.type?"danger":i.type:"info"),m=ak(()=>{const e=i.type;return{[o.bm("icon",e)]:e&&nW[e]}}),g=ak(()=>i.icon||nW[i.type]||""),_=ak(()=>i.placement||oW),y=ak(()=>cW(i.id,_.value)),v=ak(()=>((e,t,n)=>(uW[n]||[]).findIndex(t=>t.id===e)>0?16:t)(i.id,i.offset,_.value)+y.value),b=ak(()=>h.value+v.value),T=ak(()=>_.value.includes("left")?o.is("left"):_.value.includes("right")?o.is("right"):o.is("center")),x=ak(()=>_.value.startsWith("top")?"top":"bottom"),E=ak(()=>({[x.value]:`${v.value}px`,zIndex:l.value}));function w(){0!==i.duration&&({stop:p}=Aj(()=>{A()},i.duration))}function I(){null==p||p()}function A(){d.value=!1,hA(()=>{var e;s.value||(null==(e=i.onClose)||e.call(i),n("destroy"))})}return KS(()=>{w(),u(),d.value=!0}),DO(()=>i.repeatNum,()=>{I(),w()}),AH(document,"keydown",function({code:e}){e===dW.esc&&A()}),FH(c,()=>{h.value=c.value.getBoundingClientRect().height}),t({visible:d,bottom:b,close:A}),(e,t)=>(uM(),gM(Rk,{name:CI(o).b("fade"),onBeforeEnter:e=>s.value=!0,onBeforeLeave:e.onClose,onAfterLeave:t=>e.$emit("destroy"),persisted:""},{default:LA(()=>[PA(xM("div",{id:e.id,ref_key:"messageRef",ref:c,class:CE([CI(o).b(),{[CI(o).m(e.type)]:e.type},CI(o).is("closable",e.showClose),CI(o).is("plain",e.plain),CI(o).is("bottom","bottom"===CI(x)),CI(T),e.customClass]),style:EE(CI(E)),role:"alert",onMouseenter:I,onMouseleave:w},[e.repeatNum>1?(uM(),gM(CI(KH),{key:0,value:e.repeatNum,type:CI(f),class:CE(CI(o).e("badge"))},null,8,["value","type","class"])):OM("v-if",!0),CI(g)?(uM(),gM(CI(JH),{key:1,class:CE([CI(o).e("icon"),CI(m)])},{default:LA(()=>[(uM(),gM(uC(CI(g))))]),_:1},8,["class"])):OM("v-if",!0),mC(e.$slots,"default",{},()=>[e.dangerouslyUseHTMLString?(uM(),mM(iM,{key:1},[OM(" Caution here, message could've been compromised, never use user's input as message "),xM("p",{class:CE(CI(o).e("content")),innerHTML:e.message},null,10,["innerHTML"])],2112)):(uM(),mM("p",{key:0,class:CE(CI(o).e("content"))},GE(e.message),3))]),e.showClose?(uM(),gM(CI(JH),{key:2,class:CE(CI(o).e("closeBtn")),onClick:KR(A,["stop"])},{default:LA(()=>[EM(CI(r))]),_:1},8,["class","onClick"])):OM("v-if",!0)],46,["id"]),[[Xk,d.value]])]),_:3},8,["name","onBeforeEnter","onBeforeLeave","onAfterLeave"]))}});var fW=HH(pW,[["__file","message.vue"]]);class mW extends Error{constructor(e){super(e),this.name="ElementPlusError"}}function gW(e,t){throw new mW(`[${e}] ${t}`)}let _W=1;const yW=e=>{const t=!e||Zx(e)||_M(e)||Kx(e)?{message:e}:e,n={...aW,...t};return(e=>{if(e.appendTo){if(Zx(e.appendTo)){let t=document.querySelector(e.appendTo);aj(t)||(t=document.body),e.appendTo=t}}else e.appendTo=document.body})(n),(e=>{!e.placement&&Zx(wG.placement)&&wG.placement&&(e.placement=wG.placement),e.placement||(e.placement=oW),sW.includes(e.placement)||(e.placement,e.placement=oW)})(n),sj(wG.grouping)&&!n.grouping&&(n.grouping=wG.grouping),oj(wG.duration)&&3e3===n.duration&&(n.duration=wG.duration),oj(wG.offset)&&16===n.offset&&(n.offset=wG.offset),sj(wG.showClose)&&!n.showClose&&(n.showClose=wG.showClose),sj(wG.plain)&&!n.plain&&(n.plain=wG.plain),n},vW=({appendTo:e,...t},n)=>{const i="message_"+_W++,r=t.onClose,s=document.createElement("div"),o={...t,id:i,onClose:()=>{null==r||r(),(e=>{const t=e.props.placement||oW,n=uW[t],i=n.indexOf(e);if(-1===i)return;n.splice(i,1);const{handler:r}=e;r.close()})(c)},onDestroy:()=>{rN(null,s)}},a=EM(fW,o,Kx(o.message)||_M(o.message)?{default:Kx(o.message)?o.message:()=>o.message}:null);a.appContext=n||bW._context,rN(a,s),e.appendChild(s.firstElementChild);const l=a.component,u={close:()=>{l.exposed.close()}},c={id:i,vnode:a,vm:l,handler:u,props:a.component.props};return c},bW=(e={},t)=>{if(!_j)return{close:()=>{}};const n=yW(e),i=(r=n.placement||oW,uW[r]||(uW[r]=cI([])),uW[r]);var r;if(n.grouping&&i.length){const e=i.find(({vnode:e})=>{var t;return(null==(t=e.props)?void 0:t.message)===n.message});if(e)return e.props.repeatNum+=1,e.props.type=n.type,e.handler}if(oj(wG.max)&&i.length>=wG.max)return{close:()=>{}};const s=vW(n,t);return i.push(s),s.handler};rW.forEach(e=>{bW[e]=(t={},n)=>{const i=yW(t);return bW({...i,type:e},n)}}),bW.closeAll=function(e){for(const t in uW)if(Gx(uW,t)){const n=[...uW[t]];for(const t of n)e&&e!==t.props.type||t.handler.close()}},bW.closeAllByPlacement=function(e){if(!uW[e])return;[...uW[e]].forEach(e=>e.handler.close())},bW._context=null;const TW=((e,t)=>(e.install=n=>{e._context=n._context,n.config.globalProperties[t]=e},e))(bW,"$message"),xW=hG({layout:{type:String,default:"horizontal",values:["horizontal","vertical"]},lazy:Boolean}),EW=Symbol("splitterRootContextKey");function wW(e){return Number(e.slice(0,-1))/100}function IW(e){return Number(e.slice(0,-2))}function AW(e){return Zx(e)&&e.endsWith("%")}function SW(e){return Zx(e)&&e.endsWith("px")}function CW(e,t,n,i){function r(e,n){return AW(e)?wW(e)*t.value||0:SW(e)?IW(e):null!=e?e:n}const s=EI(0),o=EI(null);let a=[],l=Bx;const u=ak(()=>e.value.map(e=>[e.min,e.max]));DO(i,()=>{if(s.value){const e=new MouseEvent("mouseup",{bubbles:!0});window.dispatchEvent(e)}});const c=[];return{lazyOffset:s,onMoveStart:e=>{s.value=0,o.value={index:e,confirmed:!1},a=n.value},onMoving:(n,c)=>{var d,h;let p=null;if(!(o.value&&o.value.confirmed||0===c))if(c>0)p=n,o.value={index:n,confirmed:!0};else for(let e=n;e>=0;e-=1)if(a[e]>0){p=e,o.value={index:e,confirmed:!0};break}const f=null!=(h=null!=p?p:null==(d=o.value)?void 0:d.index)?h:n,m=[...a],g=f+1,_=r(u.value[f][0],0),y=r(u.value[g][0],0),v=r(u.value[f][1],t.value||0),b=r(u.value[g][1],t.value||0);let T=c;m[f]+T<_&&(T=_-m[f]),m[g]-Tv&&(T=v-m[f]),m[g]-T>b&&(T=m[g]-b),m[f]+=T,m[g]-=T,s.value=T,l=()=>{e.value.forEach((e,t)=>{e.size=m[t]}),l=Bx},i.value||l()},onMoveEnd:()=>{i.value&&l(),s.value=0,o.value=null,a=[]},movingIndex:o,onCollapse:(t,i)=>{c.length||c.push(...n.value);const r=n.value,s="start"===i?t:t+1,o="start"===i?t+1:t,a=r[s],l=r[o];if(0!==a&&0!==l)r[s]=0,r[o]+=a,c[t]=a;else{const e=a+l,n=c[t],i=e-n;r[o]=n,r[s]=i}e.value.forEach((e,t)=>{e.size=r[t]})}}}const OW=e=>{const t=Hx(e)?e:[e],n=[];return t.forEach(e=>{var t;Hx(e)?n.push(...OW(e)):_M(e)&&(null==(t=e.component)?void 0:t.subTree)?n.push(e,...OW(e.component.subTree)):_M(e)&&Hx(e.children)?n.push(...OW(e.children)):_M(e)&&2===e.shapeFlag?n.push(...OW(e.type())):n.push(e)}),n},MW=(e,t)=>{const n=wI({}),i=wI([]),r=new WeakMap,s=()=>{i.value=((e,t,n)=>{const i=OW(e.subTree).filter(e=>{var n;return _M(e)&&(null==(n=e.type)?void 0:n.name)===t&&!!e.component});return i.map(e=>e.component.uid).map(e=>n[e]).filter(e=>!!e)})(e,t,n.value)},o=e=>e.render(),a=dS({setup:(e,{slots:t})=>()=>(s(),t.default?lk(o,{render:t.default}):null)});return{children:i,addChild:e=>{n.value[e.uid]=e,SI(n),KS(()=>{const t=e.getVnode().el,i=t.parentNode;if(!r.has(i)){r.set(i,[]);const e=i.insertBefore.bind(i);i.insertBefore=(t,s)=>(r.get(i).some(e=>t===e||s===e)&&SI(n),e(t,s))}r.get(i).push(t)})},removeChild:e=>{delete n.value[e.uid],SI(n);const t=e.getVnode().el,i=t.parentNode,s=r.get(i),o=s.indexOf(t);s.splice(o,1)},ChildrenSorter:a}},kW=dS({name:"ElSplitter"}),RW=dS({...kW,props:xW,emits:["resizeStart","resize","resizeEnd","collapse"],setup(e,{emit:t}){const n=e,i=ij("splitter"),r=PI(n,"layout"),s=PI(n,"lazy"),{containerEl:o,containerSize:a}=function(e){const t=EI(),{width:n,height:i}=LH(t);return{containerEl:t,containerSize:ak(()=>"horizontal"===e.value?n.value:i.value)}}(r),{removeChild:l,children:u,addChild:c,ChildrenSorter:d}=MW($M(),"ElSplitterPanel");DO(u,()=>{u.value.forEach((e,t)=>{e.setIndex(t)})});const{percentSizes:h,pxSizes:p}=function(e,t){const n=ak(()=>e.value.map(e=>e.size)),i=ak(()=>e.value.length),r=EI([]);DO([n,i,t],()=>{var n;let s=[],o=0;for(let r=0;re+(t||0),0);if(a>1||!o){const e=1/a;s=s.map(t=>void 0===t?0:t*e)}else{const e=(1-a)/o;s=s.map(t=>void 0===t?e:t)}r.value=s});const s=e=>e*t.value,o=ak(()=>r.value.map(s));return{percentSizes:r,pxSizes:o}}(u,a),{lazyOffset:f,movingIndex:m,onMoveStart:g,onMoving:_,onMoveEnd:y,onCollapse:v}=CW(u,a,p,s),b=ak(()=>({[`--${i.b()}-bar-offset`]:s.value?`${f.value}px`:void 0}));return eO(EW,uI({panels:u,percentSizes:h,pxSizes:p,layout:r,lazy:s,movingIndex:m,containerSize:a,onMoveStart:e=>{g(e),t("resizeStart",e,p.value)},onMoving:(e,n)=>{_(e,n),s.value||t("resize",e,p.value)},onMoveEnd:async e=>{y(),await hA(),t("resizeEnd",e,p.value)},onCollapse:(e,n)=>{v(e,n),t("collapse",e,n,p.value)},registerPanel:c,unregisterPanel:l})),(e,t)=>(uM(),mM("div",{ref_key:"containerEl",ref:o,class:CE([CI(i).b(),CI(i).e(CI(r))]),style:EE(CI(b))},[mC(e.$slots,"default"),EM(CI(d)),OM(" Prevent iframe touch events from breaking "),CI(m)?(uM(),mM("div",{key:0,class:CE([CI(i).e("mask"),CI(i).e(`mask-${CI(r)}`)])},null,2)):OM("v-if",!0)],6))}});var NW=HH(RW,[["__file","splitter.vue"]]);function DW(e,t,n,i){return!!((null==e?void 0:e.collapsible.end)&&t>0)||!!((null==n?void 0:n.collapsible.start)&&0===i&&t>0)}const FW=dS({name:"ElSplitterBar"}),LW=dS({...FW,props:{index:{type:Number,required:!0},layout:{type:String,values:["horizontal","vertical"],default:"horizontal"},resizable:{type:Boolean,default:!0},lazy:Boolean,startCollapsible:Boolean,endCollapsible:Boolean},emits:["moveStart","moving","moveEnd","collapse"],setup(e,{emit:t}){const n=e,i=ij("splitter-bar"),r=ak(()=>"horizontal"===n.layout),s=ak(()=>r.value?{width:0}:{height:0}),o=ak(()=>({width:r.value?"16px":"100%",height:r.value?"100%":"16px",cursor:n.resizable?r.value?"ew-resize":"ns-resize":"auto",touchAction:"none"})),a=ak(()=>{const e=i.e("dragger");return{[`${e}-horizontal`]:r.value,[`${e}-vertical`]:!r.value,[`${e}-active`]:!!l.value}}),l=EI(null),u=e=>{n.resizable&&(l.value=[e.pageX,e.pageY],t("moveStart",n.index),window.addEventListener("mouseup",p),window.addEventListener("mousemove",d))},c=e=>{if(n.resizable&&1===e.touches.length){e.preventDefault();const i=e.touches[0];l.value=[i.pageX,i.pageY],t("moveStart",n.index),window.addEventListener("touchend",f),window.addEventListener("touchmove",h)}},d=e=>{const{pageX:i,pageY:s}=e,o=i-l.value[0],a=s-l.value[1],u=r.value?o:a;t("moving",n.index,u)},h=e=>{if(1===e.touches.length){e.preventDefault();const i=e.touches[0],s=i.pageX-l.value[0],o=i.pageY-l.value[1],a=r.value?s:o;t("moving",n.index,a)}},p=()=>{l.value=null,window.removeEventListener("mouseup",p),window.removeEventListener("mousemove",d),t("moveEnd",n.index)},f=()=>{l.value=null,window.removeEventListener("touchend",f),window.removeEventListener("touchmove",h),t("moveEnd",n.index)},m=ak(()=>r.value?RG:LG),g=ak(()=>r.value?DG:MG);return(n,r)=>(uM(),mM("div",{class:CE([CI(i).b()]),style:EE(CI(s))},[e.startCollapsible?(uM(),mM("div",{key:0,class:CE([CI(i).e("collapse-icon"),CI(i).e(`${e.layout}-collapse-icon-start`)]),onClick:n=>t("collapse",e.index,"start")},[mC(n.$slots,"start-collapsible",{},()=>[(uM(),gM(uC(CI(m)),{style:{width:"12px",height:"12px"}}))])],10,["onClick"])):OM("v-if",!0),xM("div",{class:CE([CI(i).e("dragger"),CI(a),CI(i).is("disabled",!e.resizable),CI(i).is("lazy",e.resizable&&e.lazy)]),style:EE(CI(o)),onMousedown:u,onTouchstart:c},null,38),e.endCollapsible?(uM(),mM("div",{key:1,class:CE([CI(i).e("collapse-icon"),CI(i).e(`${e.layout}-collapse-icon-end`)]),onClick:n=>t("collapse",e.index,"end")},[mC(n.$slots,"end-collapsible",{},()=>[(uM(),gM(uC(CI(g)),{style:{width:"12px",height:"12px"}}))])],10,["onClick"])):OM("v-if",!0)],6))}});var PW=HH(LW,[["__file","split-bar.vue"]]);const BW=hG({min:{type:[String,Number]},max:{type:[String,Number]},size:{type:[String,Number]},resizable:{type:Boolean,default:!0},collapsible:Boolean}),$W="ElSplitterPanel",UW=dS({name:$W}),VW=dS({...UW,props:BW,emits:["update:size"],setup(e,{emit:t}){const n=e,i=ij("splitter-panel"),r=tO(EW);r||gW($W,"usage: ");const{panels:s,layout:o,lazy:a,containerSize:l,pxSizes:u}=DI(r),{registerPanel:c,unregisterPanel:d,onCollapse:h,onMoveEnd:p,onMoveStart:f,onMoving:m}=r,g=EI(),_=$M(),y=_.uid,v=EI(0),b=ak(()=>s.value[v.value]),T=ak(()=>{var e;return b.value&&null!=(e=u.value[v.value])?e:0}),x=ak(()=>{var e;return b.value&&null!=(e=u.value[v.value+1])?e:0}),E=ak(()=>b.value?s.value[v.value+1]:null),w=ak(()=>{var e;return!!E.value&&(n.resizable&&(null==(e=E.value)?void 0:e.resizable)&&(0!==T.value||!n.min)&&(0!==x.value||!E.value.min))}),I=ak(()=>!!b.value&&v.value!==s.value.length-1),A=ak(()=>DW(b.value,T.value,E.value,x.value)),S=ak(()=>DW(E.value,x.value,b.value,T.value));function C(e){return AW(e)?wW(e)*l.value||0:SW(e)?IW(e):null!=e?e:0}let O=!1;DO(()=>n.size,()=>{if(!O&&b.value){if(!l.value)return void(b.value.size=n.size);const e=C(n.size),i=C(n.max),r=C(n.min),s=Math.min(Math.max(e,r||0),i||e);s!==e&&t("update:size",s),b.value.size=s}}),DO(()=>{var e;return null==(e=b.value)?void 0:e.size},e=>{e!==n.size&&(O=!0,t("update:size",e),hA(()=>O=!1))}),DO(()=>n.resizable,e=>{b.value&&(b.value.resizable=e)});const M=uI({el:g.value,uid:y,getVnode:()=>_.vnode,setIndex:e=>{v.value=e},...n,collapsible:ak(()=>{return(e=n.collapsible)&&Jx(e)?e:{start:!!e,end:!!e};var e})});return c(M),JS(()=>d(M)),(e,t)=>(uM(),mM(iM,null,[xM("div",NM({ref_key:"panelEl",ref:g,class:[CI(i).b()],style:{flexBasis:`${CI(T)}px`}},e.$attrs),[mC(e.$slots,"default")],16),CI(I)?(uM(),gM(PW,{key:0,index:v.value,layout:CI(o),lazy:CI(a),resizable:CI(w),"start-collapsible":CI(A),"end-collapsible":CI(S),onMoveStart:CI(f),onMoving:CI(m),onMoveEnd:CI(p),onCollapse:CI(h)},{"start-collapsible":LA(()=>[mC(e.$slots,"start-collapsible")]),"end-collapsible":LA(()=>[mC(e.$slots,"end-collapsible")]),_:3},8,["index","layout","lazy","resizable","start-collapsible","end-collapsible","onMoveStart","onMoving","onMoveEnd","onCollapse"])):OM("v-if",!0)],64))}});var zW=HH(VW,[["__file","split-panel.vue"]]);const jW=AG(NW,{SplitPanel:zW}),YW=SG(zW),GW=Symbol("buttonGroupContextKey"),HW={prefix:Math.floor(1e4*Math.random()),current:0},WW=Symbol("elIdInjection"),XW=()=>$M()?tO(WW,HW):HW,qW=e=>{const t=XW(),n=nj();return gj(()=>CI(e)||`${n.value}-id-${t.prefix}-${t.current++}`)},KW=Symbol("formContextKey"),ZW=Symbol("formItemContextKey"),QW=()=>({form:tO(KW,void 0),formItem:tO(ZW,void 0)}),JW=(e,{formItemContext:t,disableIdGeneration:n,disableIdManagement:i})=>{n||(n=EI(!1)),i||(i=EI(!1));const r=$M(),s=EI();let o;const a=ak(()=>{var n;return!!(!e.label&&!e.ariaLabel&&t&&t.inputIds&&(null==(n=t.inputIds)?void 0:n.length)<=1)});return KS(()=>{o=DO([PI(e,"id"),n],([e,n])=>{const o=null!=e?e:n?void 0:qW().value;o!==s.value&&((null==t?void 0:t.removeInputId)&&!(()=>{let e=null==r?void 0:r.parent;for(;e;){if("ElFormItem"===e.type.name)return!1;if("ElLabelWrap"===e.type.name)return!0;e=e.parent}return!1})()&&(s.value&&t.removeInputId(s.value),(null==i?void 0:i.value)||n||!o||t.addInputId(o)),s.value=o)},{immediate:!0})}),eC(()=>{o&&o(),(null==t?void 0:t.removeInputId)&&s.value&&t.removeInputId(s.value)}),{isLabeledByFormItem:a,inputId:s}},eX=e=>{const t=$M();return ak(()=>{var n,i;return null==(i=null==(n=null==t?void 0:t.proxy)?void 0:n.$props)?void 0:i[e]})},tX=(e,t={})=>{const n=EI(void 0),i=t.prop?n:eX("size"),r=t.global?n:(()=>{const e=tO(mG,{});return ak(()=>CI(e.size)||"")})(),s=t.form?{size:void 0}:tO(KW,void 0),o=t.formItem?{size:void 0}:tO(ZW,void 0);return ak(()=>i.value||CI(e)||(null==o?void 0:o.size)||(null==s?void 0:s.size)||r.value||"")},nX=e=>{const t=eX("disabled"),n=tO(KW,void 0);return ak(()=>t.value||CI(e)||(null==n?void 0:n.disabled)||!1)},iX=(e,t)=>{(({from:e,replacement:t,scope:n,version:i,ref:r,type:s="API"},o)=>{DO(()=>CI(o),e=>{},{immediate:!0})})({from:"type.text",replacement:"link",version:"3.0.0",scope:"props",ref:"https://element-plus.org/en-US/component/button.html#button-attributes"},ak(()=>"text"===e.type));const n=tO(GW,void 0),i=bG("button"),{form:r}=QW(),s=tX(ak(()=>null==n?void 0:n.size)),o=nX(),a=EI(),l=MC(),u=ak(()=>{var t;return e.type||(null==n?void 0:n.type)||(null==(t=i.value)?void 0:t.type)||""}),c=ak(()=>{var t,n,r;return null!=(r=null!=(n=e.autoInsertSpace)?n:null==(t=i.value)?void 0:t.autoInsertSpace)&&r}),d=ak(()=>{var t,n,r;return null!=(r=null!=(n=e.plain)?n:null==(t=i.value)?void 0:t.plain)&&r}),h=ak(()=>{var t,n,r;return null!=(r=null!=(n=e.round)?n:null==(t=i.value)?void 0:t.round)&&r}),p=ak(()=>{var t,n,r;return null!=(r=null!=(n=e.text)?n:null==(t=i.value)?void 0:t.text)&&r}),f=ak(()=>"button"===e.tag?{ariaDisabled:o.value||e.loading,disabled:o.value||e.loading,autofocus:e.autofocus,type:e.nativeType}:{}),m=ak(()=>{var e;const t=null==(e=l.default)?void 0:e.call(l);if(c.value&&1===(null==t?void 0:t.length)){const e=t[0];if((null==e?void 0:e.type)===rM){const t=e.children;return/^\p{Unified_Ideograph}{2}$/u.test(t.trim())}}return!1});return{_disabled:o,_size:s,_type:u,_ref:a,_props:f,_plain:d,_round:h,_text:p,shouldAddSpace:m,handleClick:n=>{o.value||e.loading?n.stopPropagation():("reset"===e.nativeType&&(null==r||r.resetFields()),t("click",n))}}},rX=hG({size:fG,disabled:Boolean,type:{type:String,values:["default","primary","success","warning","info","danger","text",""],default:""},icon:{type:eW},nativeType:{type:String,values:["button","submit","reset"],default:"button"},loading:Boolean,loadingIcon:{type:eW,default:()=>hH},plain:{type:Boolean,default:void 0},text:{type:Boolean,default:void 0},link:Boolean,bg:Boolean,autofocus:Boolean,round:{type:Boolean,default:void 0},circle:Boolean,color:String,dark:Boolean,autoInsertSpace:{type:Boolean,default:void 0},tag:{type:[String,Object],default:"button"}}),sX={click:e=>e instanceof MouseEvent};function oX(e,t){(function(e){return"string"==typeof e&&-1!==e.indexOf(".")&&1===parseFloat(e)})(e)&&(e="100%");var n=function(e){return"string"==typeof e&&-1!==e.indexOf("%")}(e);return e=360===t?e:Math.min(t,Math.max(0,parseFloat(e))),n&&(e=parseInt(String(e*t),10)/100),Math.abs(e-t)<1e-6?1:e=360===t?(e<0?e%t+t:e%t)/parseFloat(String(t)):e%t/parseFloat(String(t))}function aX(e){return Math.min(1,Math.max(0,e))}function lX(e){return e=parseFloat(e),(isNaN(e)||e<0||e>1)&&(e=1),e}function uX(e){return e<=1?"".concat(100*Number(e),"%"):e}function cX(e){return 1===e.length?"0"+e:String(e)}function dX(e,t,n){e=oX(e,255),t=oX(t,255),n=oX(n,255);var i=Math.max(e,t,n),r=Math.min(e,t,n),s=0,o=0,a=(i+r)/2;if(i===r)o=0,s=0;else{var l=i-r;switch(o=a>.5?l/(2-i-r):l/(i+r),i){case e:s=(t-n)/l+(t1&&(n-=1),n<1/6?e+6*n*(t-e):n<.5?t:n<2/3?e+(t-e)*(2/3-n)*6:e}function pX(e,t,n){e=oX(e,255),t=oX(t,255),n=oX(n,255);var i=Math.max(e,t,n),r=Math.min(e,t,n),s=0,o=i,a=i-r,l=0===i?0:a/i;if(i===r)s=0;else{switch(i){case e:s=(t-n)/a+(t>16,g:(65280&e)>>8,b:255&e}}(t)),this.originalInput=t;var r=vX(t);this.originalInput=t,this.r=r.r,this.g=r.g,this.b=r.b,this.a=r.a,this.roundA=Math.round(100*this.a)/100,this.format=null!==(i=n.format)&&void 0!==i?i:r.format,this.gradientType=n.gradientType,this.r<1&&(this.r=Math.round(this.r)),this.g<1&&(this.g=Math.round(this.g)),this.b<1&&(this.b=Math.round(this.b)),this.isValid=r.ok}return e.prototype.isDark=function(){return this.getBrightness()<128},e.prototype.isLight=function(){return!this.isDark()},e.prototype.getBrightness=function(){var e=this.toRgb();return(299*e.r+587*e.g+114*e.b)/1e3},e.prototype.getLuminance=function(){var e=this.toRgb(),t=e.r/255,n=e.g/255,i=e.b/255;return.2126*(t<=.03928?t/12.92:Math.pow((t+.055)/1.055,2.4))+.7152*(n<=.03928?n/12.92:Math.pow((n+.055)/1.055,2.4))+.0722*(i<=.03928?i/12.92:Math.pow((i+.055)/1.055,2.4))},e.prototype.getAlpha=function(){return this.a},e.prototype.setAlpha=function(e){return this.a=lX(e),this.roundA=Math.round(100*this.a)/100,this},e.prototype.isMonochrome=function(){return 0===this.toHsl().s},e.prototype.toHsv=function(){var e=pX(this.r,this.g,this.b);return{h:360*e.h,s:e.s,v:e.v,a:this.a}},e.prototype.toHsvString=function(){var e=pX(this.r,this.g,this.b),t=Math.round(360*e.h),n=Math.round(100*e.s),i=Math.round(100*e.v);return 1===this.a?"hsv(".concat(t,", ").concat(n,"%, ").concat(i,"%)"):"hsva(".concat(t,", ").concat(n,"%, ").concat(i,"%, ").concat(this.roundA,")")},e.prototype.toHsl=function(){var e=dX(this.r,this.g,this.b);return{h:360*e.h,s:e.s,l:e.l,a:this.a}},e.prototype.toHslString=function(){var e=dX(this.r,this.g,this.b),t=Math.round(360*e.h),n=Math.round(100*e.s),i=Math.round(100*e.l);return 1===this.a?"hsl(".concat(t,", ").concat(n,"%, ").concat(i,"%)"):"hsla(".concat(t,", ").concat(n,"%, ").concat(i,"%, ").concat(this.roundA,")")},e.prototype.toHex=function(e){return void 0===e&&(e=!1),fX(this.r,this.g,this.b,e)},e.prototype.toHexString=function(e){return void 0===e&&(e=!1),"#"+this.toHex(e)},e.prototype.toHex8=function(e){return void 0===e&&(e=!1),function(e,t,n,i,r){var s=[cX(Math.round(e).toString(16)),cX(Math.round(t).toString(16)),cX(Math.round(n).toString(16)),cX(mX(i))];return r&&s[0].startsWith(s[0].charAt(1))&&s[1].startsWith(s[1].charAt(1))&&s[2].startsWith(s[2].charAt(1))&&s[3].startsWith(s[3].charAt(1))?s[0].charAt(0)+s[1].charAt(0)+s[2].charAt(0)+s[3].charAt(0):s.join("")}(this.r,this.g,this.b,this.a,e)},e.prototype.toHex8String=function(e){return void 0===e&&(e=!1),"#"+this.toHex8(e)},e.prototype.toHexShortString=function(e){return void 0===e&&(e=!1),1===this.a?this.toHexString(e):this.toHex8String(e)},e.prototype.toRgb=function(){return{r:Math.round(this.r),g:Math.round(this.g),b:Math.round(this.b),a:this.a}},e.prototype.toRgbString=function(){var e=Math.round(this.r),t=Math.round(this.g),n=Math.round(this.b);return 1===this.a?"rgb(".concat(e,", ").concat(t,", ").concat(n,")"):"rgba(".concat(e,", ").concat(t,", ").concat(n,", ").concat(this.roundA,")")},e.prototype.toPercentageRgb=function(){var e=function(e){return"".concat(Math.round(100*oX(e,255)),"%")};return{r:e(this.r),g:e(this.g),b:e(this.b),a:this.a}},e.prototype.toPercentageRgbString=function(){var e=function(e){return Math.round(100*oX(e,255))};return 1===this.a?"rgb(".concat(e(this.r),"%, ").concat(e(this.g),"%, ").concat(e(this.b),"%)"):"rgba(".concat(e(this.r),"%, ").concat(e(this.g),"%, ").concat(e(this.b),"%, ").concat(this.roundA,")")},e.prototype.toName=function(){if(0===this.a)return"transparent";if(this.a<1)return!1;for(var e="#"+fX(this.r,this.g,this.b,!1),t=0,n=Object.entries(yX);t=0;return t||!i||!e.startsWith("hex")&&"name"!==e?("rgb"===e&&(n=this.toRgbString()),"prgb"===e&&(n=this.toPercentageRgbString()),"hex"!==e&&"hex6"!==e||(n=this.toHexString()),"hex3"===e&&(n=this.toHexString(!0)),"hex4"===e&&(n=this.toHex8String(!0)),"hex8"===e&&(n=this.toHex8String()),"name"===e&&(n=this.toName()),"hsl"===e&&(n=this.toHslString()),"hsv"===e&&(n=this.toHsvString()),n||this.toHexString()):"name"===e&&0===this.a?this.toName():this.toRgbString()},e.prototype.toNumber=function(){return(Math.round(this.r)<<16)+(Math.round(this.g)<<8)+Math.round(this.b)},e.prototype.clone=function(){return new e(this.toString())},e.prototype.lighten=function(t){void 0===t&&(t=10);var n=this.toHsl();return n.l+=t/100,n.l=aX(n.l),new e(n)},e.prototype.brighten=function(t){void 0===t&&(t=10);var n=this.toRgb();return n.r=Math.max(0,Math.min(255,n.r-Math.round(-t/100*255))),n.g=Math.max(0,Math.min(255,n.g-Math.round(-t/100*255))),n.b=Math.max(0,Math.min(255,n.b-Math.round(-t/100*255))),new e(n)},e.prototype.darken=function(t){void 0===t&&(t=10);var n=this.toHsl();return n.l-=t/100,n.l=aX(n.l),new e(n)},e.prototype.tint=function(e){return void 0===e&&(e=10),this.mix("white",e)},e.prototype.shade=function(e){return void 0===e&&(e=10),this.mix("black",e)},e.prototype.desaturate=function(t){void 0===t&&(t=10);var n=this.toHsl();return n.s-=t/100,n.s=aX(n.s),new e(n)},e.prototype.saturate=function(t){void 0===t&&(t=10);var n=this.toHsl();return n.s+=t/100,n.s=aX(n.s),new e(n)},e.prototype.greyscale=function(){return this.desaturate(100)},e.prototype.spin=function(t){var n=this.toHsl(),i=(n.h+t)%360;return n.h=i<0?360+i:i,new e(n)},e.prototype.mix=function(t,n){void 0===n&&(n=50);var i=this.toRgb(),r=new e(t).toRgb(),s=n/100;return new e({r:(r.r-i.r)*s+i.r,g:(r.g-i.g)*s+i.g,b:(r.b-i.b)*s+i.b,a:(r.a-i.a)*s+i.a})},e.prototype.analogous=function(t,n){void 0===t&&(t=6),void 0===n&&(n=30);var i=this.toHsl(),r=360/n,s=[this];for(i.h=(i.h-(r*t>>1)+720)%360;--t;)i.h=(i.h+r)%360,s.push(new e(i));return s},e.prototype.complement=function(){var t=this.toHsl();return t.h=(t.h+180)%360,new e(t)},e.prototype.monochromatic=function(t){void 0===t&&(t=6);for(var n=this.toHsv(),i=n.h,r=n.s,s=n.v,o=[],a=1/t;t--;)o.push(new e({h:i,s:r,v:s})),s=(s+a)%1;return o},e.prototype.splitcomplement=function(){var t=this.toHsl(),n=t.h;return[this,new e({h:(n+72)%360,s:t.s,l:t.l}),new e({h:(n+216)%360,s:t.s,l:t.l})]},e.prototype.onBackground=function(t){var n=this.toRgb(),i=new e(t).toRgb(),r=n.a+i.a*(1-n.a);return new e({r:(n.r*n.a+i.r*i.a*(1-n.a))/r,g:(n.g*n.a+i.g*i.a*(1-n.a))/r,b:(n.b*n.a+i.b*i.a*(1-n.a))/r,a:r})},e.prototype.triad=function(){return this.polyad(3)},e.prototype.tetrad=function(){return this.polyad(4)},e.prototype.polyad=function(t){for(var n=this.toHsl(),i=n.h,r=[this],s=360/t,o=1;o{let i={},r=e.color;if(r){const s=r.match(/var\((.*?)\)/);s&&(r=window.getComputedStyle(window.document.documentElement).getPropertyValue(s[1]));const o=new IX(r),a=e.dark?o.tint(20).toString():AX(o,20);if(e.plain)i=n.cssVarBlock({"bg-color":e.dark?AX(o,90):o.tint(90).toString(),"text-color":r,"border-color":e.dark?AX(o,50):o.tint(50).toString(),"hover-text-color":`var(${n.cssVarName("color-white")})`,"hover-bg-color":r,"hover-border-color":r,"active-bg-color":a,"active-text-color":`var(${n.cssVarName("color-white")})`,"active-border-color":a}),t.value&&(i[n.cssVarBlockName("disabled-bg-color")]=e.dark?AX(o,90):o.tint(90).toString(),i[n.cssVarBlockName("disabled-text-color")]=e.dark?AX(o,50):o.tint(50).toString(),i[n.cssVarBlockName("disabled-border-color")]=e.dark?AX(o,80):o.tint(80).toString());else{const s=e.dark?AX(o,30):o.tint(30).toString(),l=o.isDark()?`var(${n.cssVarName("color-white")})`:`var(${n.cssVarName("color-black")})`;if(i=n.cssVarBlock({"bg-color":r,"text-color":l,"border-color":r,"hover-bg-color":s,"hover-text-color":l,"hover-border-color":s,"active-bg-color":a,"active-border-color":a}),t.value){const t=e.dark?AX(o,50):o.tint(50).toString();i[n.cssVarBlockName("disabled-bg-color")]=t,i[n.cssVarBlockName("disabled-text-color")]=e.dark?"rgba(255, 255, 255, 0.5)":`var(${n.cssVarName("color-white")})`,i[n.cssVarBlockName("disabled-border-color")]=t}}}return i})}(i),s=ij("button"),{_ref:o,_size:a,_type:l,_disabled:u,_props:c,_plain:d,_round:h,_text:p,shouldAddSpace:f,handleClick:m}=iX(i,n),g=ak(()=>[s.b(),s.m(l.value),s.m(a.value),s.is("disabled",u.value),s.is("loading",i.loading),s.is("plain",d.value),s.is("round",h.value),s.is("circle",i.circle),s.is("text",p.value),s.is("link",i.link),s.is("has-bg",i.bg)]);return t({ref:o,size:a,type:l,disabled:u,shouldAddSpace:f}),(e,t)=>(uM(),gM(uC(e.tag),NM({ref_key:"_ref",ref:o},CI(c),{class:CI(g),style:CI(r),onClick:CI(m)}),{default:LA(()=>[e.loading?(uM(),mM(iM,{key:0},[e.$slots.loading?mC(e.$slots,"loading",{key:0}):(uM(),gM(CI(JH),{key:1,class:CE(CI(s).is("loading"))},{default:LA(()=>[(uM(),gM(uC(e.loadingIcon)))]),_:1},8,["class"]))],64)):e.icon||e.$slots.icon?(uM(),gM(CI(JH),{key:1},{default:LA(()=>[e.icon?(uM(),gM(uC(e.icon),{key:0})):mC(e.$slots,"icon",{key:1})]),_:3})):OM("v-if",!0),e.$slots.default?(uM(),mM("span",{key:2,class:CE({[CI(s).em("text","expand")]:CI(f)})},[mC(e.$slots,"default")],2)):OM("v-if",!0)]),_:3},16,["class","style","onClick"]))}});var OX=HH(CX,[["__file","button.vue"]]);const MX={size:rX.size,type:rX.type},kX=dS({name:"ElButtonGroup"});var RX=HH(dS({...kX,props:MX,setup(e){const t=e;eO(GW,uI({size:PI(t,"size"),type:PI(t,"type")}));const n=ij("button");return(e,t)=>(uM(),mM("div",{class:CE(CI(n).b("group"))},[mC(e.$slots,"default")],2))}}),[["__file","button-group.vue"]]);const NX=AG(OX,{ButtonGroup:RX}),DX=(SG(RX),hG({header:{type:String,default:""},footer:{type:String,default:""},bodyStyle:{type:[String,Object,Array],default:""},headerClass:String,bodyClass:String,footerClass:String,shadow:{type:String,values:["always","hover","never"],default:void 0}})),FX=(Symbol("cardContextKey"),dS({name:"ElCard"})),LX=dS({...FX,props:DX,setup(e){const t=bG("card"),n=ij("card");return(e,i)=>{var r;return uM(),mM("div",{class:CE([CI(n).b(),CI(n).is(`${e.shadow||(null==(r=CI(t))?void 0:r.shadow)||"always"}-shadow`)])},[e.$slots.header||e.header?(uM(),mM("div",{key:0,class:CE([CI(n).e("header"),e.headerClass])},[mC(e.$slots,"header",{},()=>[SM(GE(e.header),1)])],2)):OM("v-if",!0),xM("div",{class:CE([CI(n).e("body"),e.bodyClass]),style:EE(e.bodyStyle)},[mC(e.$slots,"default")],6),e.$slots.footer||e.footer?(uM(),mM("div",{key:1,class:CE([CI(n).e("footer"),e.footerClass])},[mC(e.$slots,"footer",{},()=>[SM(GE(e.footer),1)])],2)):OM("v-if",!0)],2)}}});const PX=AG(HH(LX,[["__file","card.vue"]]));var BX=__webpack_require__(4213),$X=__webpack_require__(71710),UX=__webpack_require__.n($X);const VX=function(e){return null==e};let zX;const jX={height:"0",visibility:"hidden",overflow:_j&&/firefox/i.test(window.navigator.userAgent)?"":"hidden",position:"absolute","z-index":"-1000",top:"0",right:"0"},YX=["letter-spacing","line-height","padding-top","padding-bottom","font-family","font-weight","font-size","text-rendering","text-transform","width","text-indent","padding-left","padding-right","border-width","box-sizing","word-break"];function GX(e,t=1,n){var i,r;zX||(zX=document.createElement("textarea"),(null!=(i=e.parentNode)?i:document.body).appendChild(zX));const{paddingSize:s,borderSize:o,boxSizing:a,contextStyle:l}=function(e){const t=window.getComputedStyle(e),n=t.getPropertyValue("box-sizing"),i=Number.parseFloat(t.getPropertyValue("padding-bottom"))+Number.parseFloat(t.getPropertyValue("padding-top")),r=Number.parseFloat(t.getPropertyValue("border-bottom-width"))+Number.parseFloat(t.getPropertyValue("border-top-width"));return{contextStyle:YX.map(e=>[e,t.getPropertyValue(e)]),paddingSize:i,borderSize:r,boxSizing:n}}(e);l.forEach(([e,t])=>null==zX?void 0:zX.style.setProperty(e,t)),Object.entries(jX).forEach(([e,t])=>null==zX?void 0:zX.style.setProperty(e,t,"important")),zX.value=e.value||e.placeholder||"";let u=zX.scrollHeight;const c={};"border-box"===a?u+=o:"content-box"===a&&(u-=s),zX.value="";const d=zX.scrollHeight-s;if(oj(t)){let e=d*t;"border-box"===a&&(e=e+s+o),u=Math.max(e,u),c.minHeight=`${e}px`}if(oj(n)){let e=d*n;"border-box"===a&&(e=e+s+o),u=Math.min(e,u)}return c.height=`${u}px`,null==(r=zX.parentNode)||r.removeChild(zX),zX=void 0,c}var HX=function(){try{var e=hY(Object,"defineProperty");return e({},"",{}),e}catch(e){}}();const WX=HX;const XX=function(e,t,n){"__proto__"==t&&WX?WX(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n};var qX=Object.prototype.hasOwnProperty;const KX=function(e,t,n){var i=e[t];qX.call(e,t)&&wY(i,n)&&(void 0!==n||t in e)||XX(e,t,n)};var ZX=/^(?:0|[1-9]\d*)$/;const QX=function(e,t){var n=typeof e;return!!(t=null==t?9007199254740991:t)&&("number"==n||"symbol"!=n&&ZX.test(e))&&e>-1&&e%1==0&&e-1&&e%1==0&&e<=9007199254740991};const lq=function(e,t,n){for(var i=-1,r=(t=eG(t,e)).length,s=!1;++i0&&i(l)?n>1?e(l,n-1,i,r,s):dq(s,l):r||(s[s.length]=l)}return s};const mq=function(e){return(null==e?0:e.length)?fq(e,1):[]};const gq=function(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)};var _q=Math.max;const yq=function(e,t,n){return t=_q(void 0===t?e.length-1:t,0),function(){for(var i=arguments,r=-1,s=_q(i.length-t,0),o=Array(s);++r0){if(++t>=800)return arguments[0]}else t=0;return e.apply(void 0,arguments)}};const wq=Eq(Tq);const Iq=function(e){return wq(yq(e,void 0,mq),e+"")};var Aq=Iq(function(e,t){return null==e?{}:cq(e,t)});const Sq=Aq,Cq=hG({ariaLabel:String,ariaOrientation:{type:String,values:["horizontal","vertical","undefined"]},ariaControls:String}),Oq=e=>Sq(Cq,e),Mq="update:modelValue",kq="change",Rq="input",Nq=hG({id:{type:String,default:void 0},size:fG,disabled:Boolean,modelValue:{type:[String,Number,Object],default:""},maxlength:{type:[String,Number]},minlength:{type:[String,Number]},type:{type:String,default:"text"},resize:{type:String,values:["none","both","horizontal","vertical"]},autosize:{type:[Boolean,Object],default:!1},autocomplete:{type:String,default:"off"},formatter:{type:Function},parser:{type:Function},placeholder:{type:String},form:{type:String},readonly:Boolean,clearable:Boolean,clearIcon:{type:eW,default:HG},showPassword:Boolean,showWordLimit:Boolean,suffixIcon:{type:eW},prefixIcon:{type:eW},containerRole:{type:String,default:void 0},tabindex:{type:[String,Number],default:0},validateEvent:{type:Boolean,default:!0},inputStyle:{type:[Object,Array,String],default:()=>({})},autofocus:Boolean,rows:{type:Number,default:2},...Oq(["ariaLabel"]),inputmode:{type:String,default:void 0},name:String}),Dq={[Mq]:e=>Zx(e),input:e=>Zx(e),change:e=>Zx(e),focus:e=>e instanceof FocusEvent,blur:e=>e instanceof FocusEvent,clear:()=>!0,mouseleave:e=>e instanceof MouseEvent,mouseenter:e=>e instanceof MouseEvent,keydown:e=>e instanceof Event,compositionstart:e=>e instanceof CompositionEvent,compositionupdate:e=>e instanceof CompositionEvent,compositionend:e=>e instanceof CompositionEvent},Fq=["class","style"],Lq=/^on[A-Z]/,Pq=(e={})=>{const{excludeListeners:t=!1,excludeKeys:n}=e,i=ak(()=>((null==n?void 0:n.value)||[]).concat(Fq)),r=$M();return ak(r?()=>{var e;return uG(Object.entries(null==(e=r.proxy)?void 0:e.$attrs).filter(([e])=>!(i.value.includes(e)||t&&Lq.test(e))))}:()=>({}))},Bq=e=>"undefined"!=typeof Element&&e instanceof Element,$q=e=>{if(e.tabIndex>0||0===e.tabIndex&&null!==e.getAttribute("tabIndex"))return!0;if(e.tabIndex<0||e.hasAttribute("disabled")||"true"===e.getAttribute("aria-disabled"))return!1;switch(e.nodeName){case"A":return!!e.href&&"ignore"!==e.rel;case"INPUT":return!("hidden"===e.type||"file"===e.type);case"BUTTON":case"SELECT":case"TEXTAREA":return!0;default:return!1}},Uq=(e,t)=>{if(!e||!e.focus)return;let n=!1;!Bq(e)||$q(e)||e.getAttribute("tabindex")||(e.setAttribute("tabindex","-1"),n=!0),e.focus(t),Bq(e)&&n&&e.removeAttribute("tabindex")};const Vq=dS({name:"ElInput",inheritAttrs:!1}),zq=dS({...Vq,props:Nq,emits:Dq,setup(e,{expose:t,emit:n}){const i=e,r=kC(),s=Pq(),o=MC(),a=ak(()=>["textarea"===i.type?m.b():f.b(),f.m(h.value),f.is("disabled",p.value),f.is("exceed",B.value),{[f.b("group")]:o.prepend||o.append,[f.m("prefix")]:o.prefix||i.prefixIcon,[f.m("suffix")]:o.suffix||i.suffixIcon||i.clearable||i.showPassword,[f.bm("suffix","password-clear")]:D.value&&F.value,[f.b("hidden")]:"hidden"===i.type},r.class]),l=ak(()=>[f.e("wrapper"),f.is("focus",w.value)]),{form:u,formItem:c}=QW(),{inputId:d}=JW(i,{formItemContext:c}),h=tX(),p=nX(),f=ij("input"),m=ij("textarea"),g=wI(),_=wI(),y=EI(!1),v=EI(!1),b=EI(),T=wI(i.inputStyle),x=ak(()=>g.value||_.value),{wrapperRef:E,isFocused:w,handleFocus:I,handleBlur:A}=function(e,{disabled:t,beforeFocus:n,afterFocus:i,beforeBlur:r,afterBlur:s}={}){const o=$M(),{emit:a}=o,l=wI(),u=EI(!1),c=e=>{const r=!!Kx(n)&&n(e);CI(t)||u.value||r||(u.value=!0,a("focus",e),null==i||i())},d=e=>{var n;const i=!!Kx(r)&&r(e);CI(t)||e.relatedTarget&&(null==(n=l.value)?void 0:n.contains(e.relatedTarget))||i||(u.value=!1,a("blur",e),null==s||s())};return DO([l,()=>CI(t)],([e,t])=>{e&&(t?e.removeAttribute("tabindex"):e.setAttribute("tabindex","-1"))}),AH(l,"focus",c,!0),AH(l,"blur",d,!0),AH(l,"click",n=>{var i,r;CI(t)||$q(n.target)||(null==(i=l.value)?void 0:i.contains(document.activeElement))&&l.value!==document.activeElement||null==(r=e.value)||r.focus()},!0),{isFocused:u,wrapperRef:l,handleFocus:c,handleBlur:d}}(x,{disabled:p,afterBlur(){var e;i.validateEvent&&(null==(e=null==c?void 0:c.validate)||e.call(c,"blur").catch(e=>{}))}}),S=ak(()=>{var e;return null!=(e=null==u?void 0:u.statusIcon)&&e}),C=ak(()=>(null==c?void 0:c.validateState)||""),O=ak(()=>C.value&&iW[C.value]),M=ak(()=>v.value?vH:lH),k=ak(()=>[r.style]),R=ak(()=>[i.inputStyle,T.value,{resize:i.resize}]),N=ak(()=>VX(i.modelValue)?"":String(i.modelValue)),D=ak(()=>i.clearable&&!p.value&&!i.readonly&&!!N.value&&(w.value||y.value)),F=ak(()=>i.showPassword&&!p.value&&!!N.value),L=ak(()=>i.showWordLimit&&!!i.maxlength&&("text"===i.type||"textarea"===i.type)&&!p.value&&!i.readonly&&!i.showPassword),P=ak(()=>N.value.length),B=ak(()=>!!L.value&&P.value>Number(i.maxlength)),$=ak(()=>!!o.suffix||!!i.suffixIcon||D.value||i.showPassword||L.value||!!C.value&&S.value),[U,V]=function(e){let t;return[function(){if(null==e.value)return;const{selectionStart:n,selectionEnd:i,value:r}=e.value;if(null==n||null==i)return;const s=r.slice(0,Math.max(0,n)),o=r.slice(Math.max(0,i));t={selectionStart:n,selectionEnd:i,value:r,beforeTxt:s,afterTxt:o}},function(){if(null==e.value||null==t)return;const{value:n}=e.value,{beforeTxt:i,afterTxt:r,selectionStart:s}=t;if(null==i||null==r||null==s)return;let o=n.length;if(n.endsWith(r))o=n.length-r.length;else if(n.startsWith(i))o=i.length;else{const e=i[s-1],t=n.indexOf(e,s-1);-1!==t&&(o=t+1)}e.value.setSelectionRange(o,o)}]}(g);FH(_,e=>{if(j(),!L.value||"both"!==i.resize)return;const t=e[0],{width:n}=t.contentRect;b.value={right:`calc(100% - ${n+15+6}px)`}});const z=()=>{const{type:e,autosize:t}=i;if(_j&&"textarea"===e&&_.value)if(t){const e=Jx(t)?t.minRows:void 0,n=Jx(t)?t.maxRows:void 0,i=GX(_.value,e,n);T.value={overflowY:"hidden",...i},hA(()=>{_.value.offsetHeight,T.value=i})}else T.value={minHeight:GX(_.value).minHeight}},j=(e=>{let t=!1;return()=>{var n;if(t||!i.autosize)return;null===(null==(n=_.value)?void 0:n.offsetParent)||(setTimeout(e),t=!0)}})(z),Y=()=>{const e=x.value,t=i.formatter?i.formatter(N.value):N.value;e&&e.value!==t&&(e.value=t)},G=async e=>{U();let{value:t}=e.target;i.formatter&&i.parser&&(t=i.parser(t)),W.value||(t!==N.value?(n(Mq,t),n(Rq,t),await hA(),Y(),V()):Y())},H=e=>{let{value:t}=e.target;i.formatter&&i.parser&&(t=i.parser(t)),n(kq,t)},{isComposing:W,handleCompositionStart:X,handleCompositionUpdate:q,handleCompositionEnd:K}=function({afterComposition:e,emit:t}){const n=EI(!1),i=e=>{var i;null==t||t("compositionupdate",e);const r=null==(i=e.target)?void 0:i.value,s=r[r.length-1]||"";n.value=!(e=>/([\uAC00-\uD7AF\u3130-\u318F])+/gi.test(e))(s)},r=i=>{null==t||t("compositionend",i),n.value&&(n.value=!1,hA(()=>e(i)))};return{isComposing:n,handleComposition:e=>{"compositionend"===e.type?r(e):i(e)},handleCompositionStart:e=>{null==t||t("compositionstart",e),n.value=!0},handleCompositionUpdate:i,handleCompositionEnd:r}}({emit:n,afterComposition:G}),Z=()=>{U(),v.value=!v.value,setTimeout(V)},Q=e=>{y.value=!1,n("mouseleave",e)},J=e=>{y.value=!0,n("mouseenter",e)},ee=e=>{n("keydown",e)},te=()=>{n(Mq,""),n(kq,""),n("clear"),n(Rq,"")};return DO(()=>i.modelValue,()=>{var e;hA(()=>z()),i.validateEvent&&(null==(e=null==c?void 0:c.validate)||e.call(c,"change").catch(e=>{}))}),DO(N,()=>Y()),DO(()=>i.type,async()=>{await hA(),Y(),z()}),KS(()=>{!i.formatter&&i.parser,Y(),hA(z)}),t({input:g,textarea:_,ref:x,textareaStyle:R,autosize:PI(i,"autosize"),isComposing:W,focus:()=>{var e;return null==(e=x.value)?void 0:e.focus()},blur:()=>{var e;return null==(e=x.value)?void 0:e.blur()},select:()=>{var e;null==(e=x.value)||e.select()},clear:te,resizeTextarea:z}),(e,t)=>(uM(),mM("div",{class:CE([CI(a),{[CI(f).bm("group","append")]:e.$slots.append,[CI(f).bm("group","prepend")]:e.$slots.prepend}]),style:EE(CI(k)),onMouseenter:J,onMouseleave:Q},[OM(" input "),"textarea"!==e.type?(uM(),mM(iM,{key:0},[OM(" prepend slot "),e.$slots.prepend?(uM(),mM("div",{key:0,class:CE(CI(f).be("group","prepend"))},[mC(e.$slots,"prepend")],2)):OM("v-if",!0),xM("div",{ref_key:"wrapperRef",ref:E,class:CE(CI(l))},[OM(" prefix slot "),e.$slots.prefix||e.prefixIcon?(uM(),mM("span",{key:0,class:CE(CI(f).e("prefix"))},[xM("span",{class:CE(CI(f).e("prefix-inner"))},[mC(e.$slots,"prefix"),e.prefixIcon?(uM(),gM(CI(JH),{key:0,class:CE(CI(f).e("icon"))},{default:LA(()=>[(uM(),gM(uC(e.prefixIcon)))]),_:1},8,["class"])):OM("v-if",!0)],2)],2)):OM("v-if",!0),xM("input",NM({id:CI(d),ref_key:"input",ref:g,class:CI(f).e("inner")},CI(s),{name:e.name,minlength:e.minlength,maxlength:e.maxlength,type:e.showPassword?v.value?"text":"password":e.type,disabled:CI(p),readonly:e.readonly,autocomplete:e.autocomplete,tabindex:e.tabindex,"aria-label":e.ariaLabel,placeholder:e.placeholder,style:e.inputStyle,form:e.form,autofocus:e.autofocus,role:e.containerRole,inputmode:e.inputmode,onCompositionstart:CI(X),onCompositionupdate:CI(q),onCompositionend:CI(K),onInput:G,onChange:H,onKeydown:ee}),null,16,["id","name","minlength","maxlength","type","disabled","readonly","autocomplete","tabindex","aria-label","placeholder","form","autofocus","role","inputmode","onCompositionstart","onCompositionupdate","onCompositionend"]),OM(" suffix slot "),CI($)?(uM(),mM("span",{key:1,class:CE(CI(f).e("suffix"))},[xM("span",{class:CE(CI(f).e("suffix-inner"))},[CI(D)&&CI(F)&&CI(L)?OM("v-if",!0):(uM(),mM(iM,{key:0},[mC(e.$slots,"suffix"),e.suffixIcon?(uM(),gM(CI(JH),{key:0,class:CE(CI(f).e("icon"))},{default:LA(()=>[(uM(),gM(uC(e.suffixIcon)))]),_:1},8,["class"])):OM("v-if",!0)],64)),CI(D)?(uM(),gM(CI(JH),{key:1,class:CE([CI(f).e("icon"),CI(f).e("clear")]),onMousedown:KR(CI(Bx),["prevent"]),onClick:te},{default:LA(()=>[(uM(),gM(uC(e.clearIcon)))]),_:1},8,["class","onMousedown"])):OM("v-if",!0),CI(F)?(uM(),gM(CI(JH),{key:2,class:CE([CI(f).e("icon"),CI(f).e("password")]),onClick:Z},{default:LA(()=>[(uM(),gM(uC(CI(M))))]),_:1},8,["class"])):OM("v-if",!0),CI(L)?(uM(),mM("span",{key:3,class:CE(CI(f).e("count"))},[xM("span",{class:CE(CI(f).e("count-inner"))},GE(CI(P))+" / "+GE(e.maxlength),3)],2)):OM("v-if",!0),CI(C)&&CI(O)&&CI(S)?(uM(),gM(CI(JH),{key:4,class:CE([CI(f).e("icon"),CI(f).e("validateIcon"),CI(f).is("loading","validating"===CI(C))])},{default:LA(()=>[(uM(),gM(uC(CI(O))))]),_:1},8,["class"])):OM("v-if",!0)],2)],2)):OM("v-if",!0)],2),OM(" append slot "),e.$slots.append?(uM(),mM("div",{key:1,class:CE(CI(f).be("group","append"))},[mC(e.$slots,"append")],2)):OM("v-if",!0)],64)):(uM(),mM(iM,{key:1},[OM(" textarea "),xM("textarea",NM({id:CI(d),ref_key:"textarea",ref:_,class:[CI(m).e("inner"),CI(f).is("focus",CI(w))]},CI(s),{minlength:e.minlength,maxlength:e.maxlength,tabindex:e.tabindex,disabled:CI(p),readonly:e.readonly,autocomplete:e.autocomplete,style:CI(R),"aria-label":e.ariaLabel,placeholder:e.placeholder,form:e.form,autofocus:e.autofocus,rows:e.rows,role:e.containerRole,onCompositionstart:CI(X),onCompositionupdate:CI(q),onCompositionend:CI(K),onInput:G,onFocus:CI(I),onBlur:CI(A),onChange:H,onKeydown:ee}),null,16,["id","minlength","maxlength","tabindex","disabled","readonly","autocomplete","aria-label","placeholder","form","autofocus","rows","role","onCompositionstart","onCompositionupdate","onCompositionend","onFocus","onBlur"]),CI(L)?(uM(),mM("span",{key:0,style:EE(b.value),class:CE(CI(f).e("count"))},GE(CI(P))+" / "+GE(e.maxlength),7)):OM("v-if",!0)],64))],38))}});const jq=AG(HH(zq,[["__file","input.vue"]])),Yq=Symbol("popper"),Gq=Symbol("popperContent"),Hq=["dialog","grid","group","listbox","menu","navigation","tooltip","tree"],Wq=hG({role:{type:String,values:Hq,default:"tooltip"}}),Xq=dS({name:"ElPopper",inheritAttrs:!1});const qq=AG(HH(dS({...Xq,props:Wq,setup(e,{expose:t}){const n=e,i={triggerRef:EI(),popperInstanceRef:EI(),contentRef:EI(),referenceRef:EI(),role:ak(()=>n.role)};return t(i),eO(Yq,i),(e,t)=>mC(e.$slots,"default")}}),[["__file","popper.vue"]])),Kq=Symbol("elTooltip");var Zq="top",Qq="bottom",Jq="right",eK="left",tK="auto",nK=[Zq,Qq,Jq,eK],iK="start",rK="end",sK="viewport",oK="popper",aK=nK.reduce(function(e,t){return e.concat([t+"-"+iK,t+"-"+rK])},[]),lK=[].concat(nK,[tK]).reduce(function(e,t){return e.concat([t,t+"-"+iK,t+"-"+rK])},[]),uK=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function cK(e){return e?(e.nodeName||"").toLowerCase():null}function dK(e){if(null==e)return window;if("[object Window]"!==e.toString()){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function hK(e){return e instanceof dK(e).Element||e instanceof Element}function pK(e){return e instanceof dK(e).HTMLElement||e instanceof HTMLElement}function fK(e){return"undefined"!=typeof ShadowRoot&&(e instanceof dK(e).ShadowRoot||e instanceof ShadowRoot)}var mK={name:"applyStyles",enabled:!0,phase:"write",fn:function(e){var t=e.state;Object.keys(t.elements).forEach(function(e){var n=t.styles[e]||{},i=t.attributes[e]||{},r=t.elements[e];!pK(r)||!cK(r)||(Object.assign(r.style,n),Object.keys(i).forEach(function(e){var t=i[e];!1===t?r.removeAttribute(e):r.setAttribute(e,!0===t?"":t)}))})},effect:function(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach(function(e){var i=t.elements[e],r=t.attributes[e]||{},s=Object.keys(t.styles.hasOwnProperty(e)?t.styles[e]:n[e]).reduce(function(e,t){return e[t]="",e},{});!pK(i)||!cK(i)||(Object.assign(i.style,s),Object.keys(r).forEach(function(e){i.removeAttribute(e)}))})}},requires:["computeStyles"]};function gK(e){return e.split("-")[0]}var _K=Math.max,yK=Math.min,vK=Math.round;function bK(e,t){void 0===t&&(t=!1);var n=e.getBoundingClientRect(),i=1,r=1;if(pK(e)&&t){var s=e.offsetHeight,o=e.offsetWidth;o>0&&(i=vK(n.width)/o||1),s>0&&(r=vK(n.height)/s||1)}return{width:n.width/i,height:n.height/r,top:n.top/r,right:n.right/i,bottom:n.bottom/r,left:n.left/i,x:n.left/i,y:n.top/r}}function TK(e){var t=bK(e),n=e.offsetWidth,i=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-i)<=1&&(i=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:i}}function xK(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&fK(n)){var i=t;do{if(i&&e.isSameNode(i))return!0;i=i.parentNode||i.host}while(i)}return!1}function EK(e){return dK(e).getComputedStyle(e)}function wK(e){return["table","td","th"].indexOf(cK(e))>=0}function IK(e){return((hK(e)?e.ownerDocument:e.document)||window.document).documentElement}function AK(e){return"html"===cK(e)?e:e.assignedSlot||e.parentNode||(fK(e)?e.host:null)||IK(e)}function SK(e){return pK(e)&&"fixed"!==EK(e).position?e.offsetParent:null}function CK(e){for(var t=dK(e),n=SK(e);n&&wK(n)&&"static"===EK(n).position;)n=SK(n);return n&&("html"===cK(n)||"body"===cK(n)&&"static"===EK(n).position)?t:n||function(e){var t=-1!==navigator.userAgent.toLowerCase().indexOf("firefox");if(-1!==navigator.userAgent.indexOf("Trident")&&pK(e)&&"fixed"===EK(e).position)return null;var n=AK(e);for(fK(n)&&(n=n.host);pK(n)&&["html","body"].indexOf(cK(n))<0;){var i=EK(n);if("none"!==i.transform||"none"!==i.perspective||"paint"===i.contain||-1!==["transform","perspective"].indexOf(i.willChange)||t&&"filter"===i.willChange||t&&i.filter&&"none"!==i.filter)return n;n=n.parentNode}return null}(e)||t}function OK(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function MK(e,t,n){return _K(e,yK(t,n))}function kK(e){return Object.assign({},{top:0,right:0,bottom:0,left:0},e)}function RK(e,t){return t.reduce(function(t,n){return t[n]=e,t},{})}var NK={name:"arrow",enabled:!0,phase:"main",fn:function(e){var t,n=e.state,i=e.name,r=e.options,s=n.elements.arrow,o=n.modifiersData.popperOffsets,a=gK(n.placement),l=OK(a),u=[eK,Jq].indexOf(a)>=0?"height":"width";if(s&&o){var c=function(e,t){return kK("number"!=typeof(e="function"==typeof e?e(Object.assign({},t.rects,{placement:t.placement})):e)?e:RK(e,nK))}(r.padding,n),d=TK(s),h="y"===l?Zq:eK,p="y"===l?Qq:Jq,f=n.rects.reference[u]+n.rects.reference[l]-o[l]-n.rects.popper[u],m=o[l]-n.rects.reference[l],g=CK(s),_=g?"y"===l?g.clientHeight||0:g.clientWidth||0:0,y=f/2-m/2,v=c[h],b=_-d[u]-c[p],T=_/2-d[u]/2+y,x=MK(v,T,b),E=l;n.modifiersData[i]=((t={})[E]=x,t.centerOffset=x-T,t)}},effect:function(e){var t=e.state,n=e.options.element,i=void 0===n?"[data-popper-arrow]":n;null!=i&&("string"==typeof i&&!(i=t.elements.popper.querySelector(i))||!xK(t.elements.popper,i)||(t.elements.arrow=i))},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function DK(e){return e.split("-")[1]}var FK={top:"auto",right:"auto",bottom:"auto",left:"auto"};function LK(e){var t,n=e.popper,i=e.popperRect,r=e.placement,s=e.variation,o=e.offsets,a=e.position,l=e.gpuAcceleration,u=e.adaptive,c=e.roundOffsets,d=e.isFixed,h=o.x,p=void 0===h?0:h,f=o.y,m=void 0===f?0:f,g="function"==typeof c?c({x:p,y:m}):{x:p,y:m};p=g.x,m=g.y;var _=o.hasOwnProperty("x"),y=o.hasOwnProperty("y"),v=eK,b=Zq,T=window;if(u){var x=CK(n),E="clientHeight",w="clientWidth";if(x===dK(n)&&("static"!==EK(x=IK(n)).position&&"absolute"===a&&(E="scrollHeight",w="scrollWidth")),r===Zq||(r===eK||r===Jq)&&s===rK)b=Qq,m-=(d&&x===T&&T.visualViewport?T.visualViewport.height:x[E])-i.height,m*=l?1:-1;if(r===eK||(r===Zq||r===Qq)&&s===rK)v=Jq,p-=(d&&x===T&&T.visualViewport?T.visualViewport.width:x[w])-i.width,p*=l?1:-1}var I,A=Object.assign({position:a},u&&FK),S=!0===c?function(e){var t=e.x,n=e.y,i=window.devicePixelRatio||1;return{x:vK(t*i)/i||0,y:vK(n*i)/i||0}}({x:p,y:m}):{x:p,y:m};return p=S.x,m=S.y,l?Object.assign({},A,((I={})[b]=y?"0":"",I[v]=_?"0":"",I.transform=(T.devicePixelRatio||1)<=1?"translate("+p+"px, "+m+"px)":"translate3d("+p+"px, "+m+"px, 0)",I)):Object.assign({},A,((t={})[b]=y?m+"px":"",t[v]=_?p+"px":"",t.transform="",t))}var PK={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(e){var t=e.state,n=e.options,i=n.gpuAcceleration,r=void 0===i||i,s=n.adaptive,o=void 0===s||s,a=n.roundOffsets,l=void 0===a||a,u={placement:gK(t.placement),variation:DK(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:r,isFixed:"fixed"===t.options.strategy};null!=t.modifiersData.popperOffsets&&(t.styles.popper=Object.assign({},t.styles.popper,LK(Object.assign({},u,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:o,roundOffsets:l})))),null!=t.modifiersData.arrow&&(t.styles.arrow=Object.assign({},t.styles.arrow,LK(Object.assign({},u,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})},data:{}},BK={passive:!0};var $K={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(e){var t=e.state,n=e.instance,i=e.options,r=i.scroll,s=void 0===r||r,o=i.resize,a=void 0===o||o,l=dK(t.elements.popper),u=[].concat(t.scrollParents.reference,t.scrollParents.popper);return s&&u.forEach(function(e){e.addEventListener("scroll",n.update,BK)}),a&&l.addEventListener("resize",n.update,BK),function(){s&&u.forEach(function(e){e.removeEventListener("scroll",n.update,BK)}),a&&l.removeEventListener("resize",n.update,BK)}},data:{}},UK={left:"right",right:"left",bottom:"top",top:"bottom"};function VK(e){return e.replace(/left|right|bottom|top/g,function(e){return UK[e]})}var zK={start:"end",end:"start"};function jK(e){return e.replace(/start|end/g,function(e){return zK[e]})}function YK(e){var t=dK(e);return{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function GK(e){return bK(IK(e)).left+YK(e).scrollLeft}function HK(e){var t=EK(e),n=t.overflow,i=t.overflowX,r=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+r+i)}function WK(e){return["html","body","#document"].indexOf(cK(e))>=0?e.ownerDocument.body:pK(e)&&HK(e)?e:WK(AK(e))}function XK(e,t){var n;void 0===t&&(t=[]);var i=WK(e),r=i===(null==(n=e.ownerDocument)?void 0:n.body),s=dK(i),o=r?[s].concat(s.visualViewport||[],HK(i)?i:[]):i,a=t.concat(o);return r?a:a.concat(XK(AK(o)))}function qK(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function KK(e,t){return t===sK?qK(function(e){var t=dK(e),n=IK(e),i=t.visualViewport,r=n.clientWidth,s=n.clientHeight,o=0,a=0;return i&&(r=i.width,s=i.height,/^((?!chrome|android).)*safari/i.test(navigator.userAgent)||(o=i.offsetLeft,a=i.offsetTop)),{width:r,height:s,x:o+GK(e),y:a}}(e)):hK(t)?function(e){var t=bK(e);return t.top=t.top+e.clientTop,t.left=t.left+e.clientLeft,t.bottom=t.top+e.clientHeight,t.right=t.left+e.clientWidth,t.width=e.clientWidth,t.height=e.clientHeight,t.x=t.left,t.y=t.top,t}(t):qK(function(e){var t,n=IK(e),i=YK(e),r=null==(t=e.ownerDocument)?void 0:t.body,s=_K(n.scrollWidth,n.clientWidth,r?r.scrollWidth:0,r?r.clientWidth:0),o=_K(n.scrollHeight,n.clientHeight,r?r.scrollHeight:0,r?r.clientHeight:0),a=-i.scrollLeft+GK(e),l=-i.scrollTop;return"rtl"===EK(r||n).direction&&(a+=_K(n.clientWidth,r?r.clientWidth:0)-s),{width:s,height:o,x:a,y:l}}(IK(e)))}function ZK(e,t,n){var i="clippingParents"===t?function(e){var t=XK(AK(e)),n=["absolute","fixed"].indexOf(EK(e).position)>=0&&pK(e)?CK(e):e;return hK(n)?t.filter(function(e){return hK(e)&&xK(e,n)&&"body"!==cK(e)}):[]}(e):[].concat(t),r=[].concat(i,[n]),s=r[0],o=r.reduce(function(t,n){var i=KK(e,n);return t.top=_K(i.top,t.top),t.right=yK(i.right,t.right),t.bottom=yK(i.bottom,t.bottom),t.left=_K(i.left,t.left),t},KK(e,s));return o.width=o.right-o.left,o.height=o.bottom-o.top,o.x=o.left,o.y=o.top,o}function QK(e){var t,n=e.reference,i=e.element,r=e.placement,s=r?gK(r):null,o=r?DK(r):null,a=n.x+n.width/2-i.width/2,l=n.y+n.height/2-i.height/2;switch(s){case Zq:t={x:a,y:n.y-i.height};break;case Qq:t={x:a,y:n.y+n.height};break;case Jq:t={x:n.x+n.width,y:l};break;case eK:t={x:n.x-i.width,y:l};break;default:t={x:n.x,y:n.y}}var u=s?OK(s):null;if(null!=u){var c="y"===u?"height":"width";switch(o){case iK:t[u]=t[u]-(n[c]/2-i[c]/2);break;case rK:t[u]=t[u]+(n[c]/2-i[c]/2)}}return t}function JK(e,t){void 0===t&&(t={});var n=t,i=n.placement,r=void 0===i?e.placement:i,s=n.boundary,o=void 0===s?"clippingParents":s,a=n.rootBoundary,l=void 0===a?sK:a,u=n.elementContext,c=void 0===u?oK:u,d=n.altBoundary,h=void 0!==d&&d,p=n.padding,f=void 0===p?0:p,m=kK("number"!=typeof f?f:RK(f,nK)),g=c===oK?"reference":oK,_=e.rects.popper,y=e.elements[h?g:c],v=ZK(hK(y)?y:y.contextElement||IK(e.elements.popper),o,l),b=bK(e.elements.reference),T=QK({reference:b,element:_,strategy:"absolute",placement:r}),x=qK(Object.assign({},_,T)),E=c===oK?x:b,w={top:v.top-E.top+m.top,bottom:E.bottom-v.bottom+m.bottom,left:v.left-E.left+m.left,right:E.right-v.right+m.right},I=e.modifiersData.offset;if(c===oK&&I){var A=I[r];Object.keys(w).forEach(function(e){var t=[Jq,Qq].indexOf(e)>=0?1:-1,n=[Zq,Qq].indexOf(e)>=0?"y":"x";w[e]+=A[n]*t})}return w}var eZ={name:"flip",enabled:!0,phase:"main",fn:function(e){var t=e.state,n=e.options,i=e.name;if(!t.modifiersData[i]._skip){for(var r=n.mainAxis,s=void 0===r||r,o=n.altAxis,a=void 0===o||o,l=n.fallbackPlacements,u=n.padding,c=n.boundary,d=n.rootBoundary,h=n.altBoundary,p=n.flipVariations,f=void 0===p||p,m=n.allowedAutoPlacements,g=t.options.placement,_=gK(g),y=l||(_===g||!f?[VK(g)]:function(e){if(gK(e)===tK)return[];var t=VK(e);return[jK(e),t,jK(t)]}(g)),v=[g].concat(y).reduce(function(e,n){return e.concat(gK(n)===tK?function(e,t){void 0===t&&(t={});var n=t,i=n.placement,r=n.boundary,s=n.rootBoundary,o=n.padding,a=n.flipVariations,l=n.allowedAutoPlacements,u=void 0===l?lK:l,c=DK(i),d=c?a?aK:aK.filter(function(e){return DK(e)===c}):nK,h=d.filter(function(e){return u.indexOf(e)>=0});0===h.length&&(h=d);var p=h.reduce(function(t,n){return t[n]=JK(e,{placement:n,boundary:r,rootBoundary:s,padding:o})[gK(n)],t},{});return Object.keys(p).sort(function(e,t){return p[e]-p[t]})}(t,{placement:n,boundary:c,rootBoundary:d,padding:u,flipVariations:f,allowedAutoPlacements:m}):n)},[]),b=t.rects.reference,T=t.rects.popper,x=new Map,E=!0,w=v[0],I=0;I=0,M=O?"width":"height",k=JK(t,{placement:A,boundary:c,rootBoundary:d,altBoundary:h,padding:u}),R=O?C?Jq:eK:C?Qq:Zq;b[M]>T[M]&&(R=VK(R));var N=VK(R),D=[];if(s&&D.push(k[S]<=0),a&&D.push(k[R]<=0,k[N]<=0),D.every(function(e){return e})){w=A,E=!1;break}x.set(A,D)}if(E)for(var F=function(e){var t=v.find(function(t){var n=x.get(t);if(n)return n.slice(0,e).every(function(e){return e})});if(t)return w=t,"break"},L=f?3:1;L>0;L--){if("break"===F(L))break}t.placement!==w&&(t.modifiersData[i]._skip=!0,t.placement=w,t.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function tZ(e,t,n){return void 0===n&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function nZ(e){return[Zq,Jq,Qq,eK].some(function(t){return e[t]>=0})}var iZ={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(e){var t=e.state,n=e.name,i=t.rects.reference,r=t.rects.popper,s=t.modifiersData.preventOverflow,o=JK(t,{elementContext:"reference"}),a=JK(t,{altBoundary:!0}),l=tZ(o,i),u=tZ(a,r,s),c=nZ(l),d=nZ(u);t.modifiersData[n]={referenceClippingOffsets:l,popperEscapeOffsets:u,isReferenceHidden:c,hasPopperEscaped:d},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":c,"data-popper-escaped":d})}};var rZ={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(e){var t=e.state,n=e.options,i=e.name,r=n.offset,s=void 0===r?[0,0]:r,o=lK.reduce(function(e,n){return e[n]=function(e,t,n){var i=gK(e),r=[eK,Zq].indexOf(i)>=0?-1:1,s="function"==typeof n?n(Object.assign({},t,{placement:e})):n,o=s[0],a=s[1];return o=o||0,a=(a||0)*r,[eK,Jq].indexOf(i)>=0?{x:a,y:o}:{x:o,y:a}}(n,t.rects,s),e},{}),a=o[t.placement],l=a.x,u=a.y;null!=t.modifiersData.popperOffsets&&(t.modifiersData.popperOffsets.x+=l,t.modifiersData.popperOffsets.y+=u),t.modifiersData[i]=o}};var sZ={name:"popperOffsets",enabled:!0,phase:"read",fn:function(e){var t=e.state,n=e.name;t.modifiersData[n]=QK({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})},data:{}};var oZ={name:"preventOverflow",enabled:!0,phase:"main",fn:function(e){var t=e.state,n=e.options,i=e.name,r=n.mainAxis,s=void 0===r||r,o=n.altAxis,a=void 0!==o&&o,l=n.boundary,u=n.rootBoundary,c=n.altBoundary,d=n.padding,h=n.tether,p=void 0===h||h,f=n.tetherOffset,m=void 0===f?0:f,g=JK(t,{boundary:l,rootBoundary:u,padding:d,altBoundary:c}),_=gK(t.placement),y=DK(t.placement),v=!y,b=OK(_),T=function(e){return"x"===e?"y":"x"}(b),x=t.modifiersData.popperOffsets,E=t.rects.reference,w=t.rects.popper,I="function"==typeof m?m(Object.assign({},t.rects,{placement:t.placement})):m,A="number"==typeof I?{mainAxis:I,altAxis:I}:Object.assign({mainAxis:0,altAxis:0},I),S=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,C={x:0,y:0};if(x){if(s){var O,M="y"===b?Zq:eK,k="y"===b?Qq:Jq,R="y"===b?"height":"width",N=x[b],D=N+g[M],F=N-g[k],L=p?-w[R]/2:0,P=y===iK?E[R]:w[R],B=y===iK?-w[R]:-E[R],$=t.elements.arrow,U=p&&$?TK($):{width:0,height:0},V=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},z=V[M],j=V[k],Y=MK(0,E[R],U[R]),G=v?E[R]/2-L-Y-z-A.mainAxis:P-Y-z-A.mainAxis,H=v?-E[R]/2+L+Y+j+A.mainAxis:B+Y+j+A.mainAxis,W=t.elements.arrow&&CK(t.elements.arrow),X=W?"y"===b?W.clientTop||0:W.clientLeft||0:0,q=null!=(O=null==S?void 0:S[b])?O:0,K=N+H-q,Z=MK(p?yK(D,N+G-q-X):D,N,p?_K(F,K):F);x[b]=Z,C[b]=Z-N}if(a){var Q,J="x"===b?Zq:eK,ee="x"===b?Qq:Jq,te=x[T],ne="y"===T?"height":"width",ie=te+g[J],re=te-g[ee],se=-1!==[Zq,eK].indexOf(_),oe=null!=(Q=null==S?void 0:S[T])?Q:0,ae=se?ie:te-E[ne]-w[ne]-oe+A.altAxis,le=se?te+E[ne]+w[ne]-oe-A.altAxis:re,ue=p&&se?function(e,t,n){var i=MK(e,t,n);return i>n?n:i}(ae,te,le):MK(p?ae:ie,te,p?le:re);x[T]=ue,C[T]=ue-te}t.modifiersData[i]=C}},requiresIfExists:["offset"]};function aZ(e,t,n){void 0===n&&(n=!1);var i=pK(t),r=pK(t)&&function(e){var t=e.getBoundingClientRect(),n=vK(t.width)/e.offsetWidth||1,i=vK(t.height)/e.offsetHeight||1;return 1!==n||1!==i}(t),s=IK(t),o=bK(e,r),a={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(i||!i&&!n)&&(("body"!==cK(t)||HK(s))&&(a=function(e){return e!==dK(e)&&pK(e)?function(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}(e):YK(e)}(t)),pK(t)?((l=bK(t,!0)).x+=t.clientLeft,l.y+=t.clientTop):s&&(l.x=GK(s))),{x:o.left+a.scrollLeft-l.x,y:o.top+a.scrollTop-l.y,width:o.width,height:o.height}}function lZ(e){var t=new Map,n=new Set,i=[];function r(e){n.add(e.name),[].concat(e.requires||[],e.requiresIfExists||[]).forEach(function(e){if(!n.has(e)){var i=t.get(e);i&&r(i)}}),i.push(e)}return e.forEach(function(e){t.set(e.name,e)}),e.forEach(function(e){n.has(e.name)||r(e)}),i}function uZ(e){var t;return function(){return t||(t=new Promise(function(n){Promise.resolve().then(function(){t=void 0,n(e())})})),t}}var cZ={placement:"bottom",modifiers:[],strategy:"absolute"};function dZ(){for(var e=arguments.length,t=new Array(e),n=0;n({})},strategy:{type:String,values:["fixed","absolute"],default:"absolute"}}),gZ=hG({...mZ,...fZ,id:String,style:{type:[String,Array,Object]},className:{type:[String,Array,Object]},effect:{type:String,default:"dark"},visible:Boolean,enterable:{type:Boolean,default:!0},pure:Boolean,focusOnShow:Boolean,trapping:Boolean,popperClass:{type:[String,Array,Object]},popperStyle:{type:[String,Array,Object]},referenceEl:{type:Object},triggerTargetEl:{type:Object},stopPopperMouseEvent:{type:Boolean,default:!0},virtualTriggering:Boolean,zIndex:Number,...Oq(["ariaLabel"])}),_Z={mouseenter:e=>e instanceof MouseEvent,mouseleave:e=>e instanceof MouseEvent,focus:()=>!0,blur:()=>!0,close:()=>!0},yZ=hG({to:{type:[String,Object],required:!0},disabled:Boolean});function vZ(){let e;const t=()=>window.clearTimeout(e);return wj(()=>t()),{registerTimeout:(n,i)=>{t(),e=window.setTimeout(n,i)},cancelTimeout:t}}const bZ=hG({showAfter:{type:Number,default:0},hideAfter:{type:Number,default:200},autoClose:{type:Number,default:0}}),TZ=hG({...bZ,...gZ,appendTo:{type:yZ.to.type},content:{type:String,default:""},rawContent:Boolean,persistent:Boolean,visible:{type:Boolean,default:null},transition:String,teleported:{type:Boolean,default:!0},disabled:Boolean,...Oq(["ariaLabel"])}),xZ=hG({virtualRef:{type:Object},virtualTriggering:Boolean,onMouseenter:{type:Function},onMouseleave:{type:Function},onClick:{type:Function},onKeydown:{type:Function},onFocus:{type:Function},onBlur:{type:Function},onContextmenu:{type:Function},id:String,open:Boolean}),EZ=hG({...xZ,disabled:Boolean,trigger:{type:[String,Array],default:"hover"},triggerKeys:{type:Array,default:()=>[dW.enter,dW.numpadEnter,dW.space]},focusOnTarget:Boolean}),wZ=dG({type:Boolean,default:null}),IZ=dG({type:Function}),AZ=e=>{const t=`update:${e}`,n=`onUpdate:${e}`,i=[t];return{useModelToggle:({indicator:i,toggleReason:r,shouldHideWhenRouteChanges:s,shouldProceed:o,onShow:a,onHide:l})=>{const u=$M(),{emit:c}=u,d=u.props,h=ak(()=>Kx(d[n])),p=ak(()=>null===d[e]),f=e=>{!0!==i.value&&(i.value=!0,r&&(r.value=e),Kx(a)&&a(e))},m=e=>{!1!==i.value&&(i.value=!1,r&&(r.value=e),Kx(l)&&l(e))},g=e=>{if(!0===d.disabled||Kx(o)&&!o())return;const n=h.value&&_j;n&&c(t,!0),!p.value&&n||f(e)},_=e=>{if(!0===d.disabled||!_j)return;const n=h.value&&_j;n&&c(t,!1),!p.value&&n||m(e)},y=e=>{sj(e)&&(d.disabled&&e?h.value&&c(t,!1):i.value!==e&&(e?f():m()))};return DO(()=>d[e],y),s&&void 0!==u.appContext.config.globalProperties.$route&&DO(()=>({...u.proxy.$route}),()=>{s.value&&i.value&&_()}),KS(()=>{y(d[e])}),{hide:_,show:g,toggle:()=>{i.value?_():g()},hasUpdateHandler:h}},useModelToggleProps:{[e]:wZ,[n]:IZ},useModelToggleEmits:i}},{useModelToggle:SZ,useModelToggleProps:CZ,useModelToggleEmits:OZ}=AZ("modelValue"),{useModelToggleProps:MZ,useModelToggleEmits:kZ,useModelToggle:RZ}=AZ("visible"),NZ=hG({...Wq,...MZ,...TZ,...EZ,...fZ,showArrow:{type:Boolean,default:!0}}),DZ=[...kZ,"before-show","before-hide","show","hide","open","close"],FZ=(e,t,n)=>i=>{((e,t)=>Hx(e)?e.includes(t):e===t)(CI(e),t)&&n(i)},LZ=Symbol("elForwardRef"),PZ=dS({name:"ElOnlyChild",setup(e,{slots:t,attrs:n}){var i;const r=tO(LZ),s=(o=null!=(i=null==r?void 0:r.setForwardRef)?i:Bx,{mounted(e){o(e)},updated(e){o(e)},unmounted(){o(null)}});var o;return()=>{var e;const i=null==(e=t.default)?void 0:e.call(t,n);if(!i)return null;const[r,o]=BZ(i);return r?PA(AM(r,n),[[s]]):null}}});function BZ(e){if(!e)return[null,0];const t=e,n=t.filter(e=>e.type!==sM).length;for(const e of t){if(Jx(e))switch(e.type){case sM:continue;case rM:case"svg":return[$Z(e),n];case iM:return BZ(e.children);default:return[e,n]}return[$Z(e),n]}return[null,0]}function $Z(e){const t=ij("only-child");return EM("span",{class:t.e("content")},[e])}const UZ=dS({name:"ElPopperTrigger",inheritAttrs:!1}),VZ=dS({...UZ,props:xZ,setup(e,{expose:t}){const n=e,{role:i,triggerRef:r}=tO(Yq,void 0);var s;s=r,eO(LZ,{setForwardRef:e=>{s.value=e}});const o=ak(()=>l.value?n.id:void 0),a=ak(()=>{if(i&&"tooltip"===i.value)return n.open&&n.id?n.id:void 0}),l=ak(()=>{if(i&&"tooltip"!==i.value)return i.value}),u=ak(()=>l.value?`${n.open}`:void 0);let c;const d=["onMouseenter","onMouseleave","onClick","onKeydown","onFocus","onBlur","onContextmenu"];return KS(()=>{DO(()=>n.virtualRef,e=>{e&&(r.value=wH(e))},{immediate:!0}),DO(r,(e,t)=>{null==c||c(),c=void 0,aj(e)&&(d.forEach(i=>{var r;const s=n[i];s&&(e.addEventListener(i.slice(2).toLowerCase(),s,["onFocus","onBlur"].includes(i)),null==(r=null==t?void 0:t.removeEventListener)||r.call(t,i.slice(2).toLowerCase(),s,["onFocus","onBlur"].includes(i)))}),$q(e)&&(c=DO([o,a,l,u],t=>{["aria-controls","aria-describedby","aria-haspopup","aria-expanded"].forEach((n,i)=>{VX(t[i])?e.removeAttribute(n):e.setAttribute(n,t[i])})},{immediate:!0}))),aj(t)&&$q(t)&&["aria-controls","aria-describedby","aria-haspopup","aria-expanded"].forEach(e=>t.removeAttribute(e))},{immediate:!0})}),JS(()=>{if(null==c||c(),c=void 0,r.value&&aj(r.value)){const e=r.value;d.forEach(t=>{const i=n[t];i&&e.removeEventListener(t.slice(2).toLowerCase(),i,["onFocus","onBlur"].includes(t))}),r.value=void 0}}),t({triggerRef:r}),(e,t)=>e.virtualTriggering?OM("v-if",!0):(uM(),gM(CI(PZ),NM({key:0},e.$attrs,{"aria-controls":CI(o),"aria-describedby":CI(a),"aria-expanded":CI(u),"aria-haspopup":CI(l)}),{default:LA(()=>[mC(e.$slots,"default")]),_:3},16,["aria-controls","aria-describedby","aria-expanded","aria-haspopup"]))}});var zZ=HH(VZ,[["__file","trigger.vue"]]);const jZ=(e,t,{checkForDefaultPrevented:n=!0}={})=>i=>{const r=null==e?void 0:e(i);if(!1===n||!r)return null==t?void 0:t(i)},YZ=e=>t=>"mouse"===t.pointerType?e(t):void 0,GZ=dS({name:"ElTooltipTrigger"}),HZ=dS({...GZ,props:EZ,setup(e,{expose:t}){const n=e,i=ij("tooltip"),{controlled:r,id:s,open:o,onOpen:a,onClose:l,onToggle:u}=tO(Kq,void 0),c=EI(null),d=()=>{if(CI(r)||n.disabled)return!0},h=PI(n,"trigger"),p=jZ(d,FZ(h,"hover",e=>{a(e),n.focusOnTarget&&e.target&&hA(()=>{Uq(e.target,{preventScroll:!0})})})),f=jZ(d,FZ(h,"hover",l)),m=jZ(d,FZ(h,"click",e=>{0===e.button&&u(e)})),g=jZ(d,FZ(h,"focus",a)),_=jZ(d,FZ(h,"focus",l)),y=jZ(d,FZ(h,"contextmenu",e=>{e.preventDefault(),u(e)})),v=jZ(d,e=>{const{code:t}=e;n.triggerKeys.includes(t)&&(e.preventDefault(),u(e))});return t({triggerRef:c}),(e,t)=>(uM(),gM(CI(zZ),{id:CI(s),"virtual-ref":e.virtualRef,open:CI(o),"virtual-triggering":e.virtualTriggering,class:CE(CI(i).e("trigger")),onBlur:CI(_),onClick:CI(m),onContextmenu:CI(y),onFocus:CI(g),onMouseenter:CI(p),onMouseleave:CI(f),onKeydown:CI(v)},{default:LA(()=>[mC(e.$slots,"default")]),_:3},8,["id","virtual-ref","open","virtual-triggering","class","onBlur","onClick","onContextmenu","onFocus","onMouseenter","onMouseleave","onKeydown"]))}});var WZ=HH(HZ,[["__file","trigger.vue"]]);const XZ=AG(HH(dS({__name:"teleport",props:yZ,setup:e=>(e,t)=>e.disabled?mC(e.$slots,"default",{key:0}):(uM(),gM(XA,{key:1,to:e.to},[mC(e.$slots,"default")],8,["to"]))}),[["__file","teleport.vue"]])),qZ=()=>{const e=nj(),t=XW(),n=ak(()=>`${e.value}-popper-container-${t.prefix}`),i=ak(()=>`#${n.value}`);return{id:n,selector:i}},KZ=()=>{const{id:e,selector:t}=qZ();return qS(()=>{_j&&(document.body.querySelector(t.value)||(e=>{const t=document.createElement("div");t.id=e,document.body.appendChild(t)})(e.value))}),{id:e,selector:t}},ZZ="focus-trap.focus-after-trapped",QZ="focus-trap.focus-after-released",JZ={cancelable:!0,bubbles:!1},eQ={cancelable:!0,bubbles:!1},tQ="focusAfterTrapped",nQ="focusAfterReleased",iQ=Symbol("elFocusTrap"),rQ=EI(),sQ=EI(0),oQ=EI(0);let aQ=0;const lQ=e=>{const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>{const t="INPUT"===e.tagName&&"hidden"===e.type;return e.disabled||e.hidden||t?NodeFilter.FILTER_SKIP:e.tabIndex>=0||e===document.activeElement?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t},uQ=(e,t)=>{for(const n of e)if(!cQ(n,t))return n},cQ=(e,t)=>{if("hidden"===getComputedStyle(e).visibility)return!0;for(;e;){if(t&&e===t)return!1;if("none"===getComputedStyle(e).display)return!0;e=e.parentElement}return!1},dQ=(e,t)=>{if(e){const n=document.activeElement;Uq(e,{preventScroll:!0}),oQ.value=window.performance.now(),e!==n&&(e=>e instanceof HTMLInputElement&&"select"in e)(e)&&t&&e.select()}};function hQ(e,t){const n=[...e],i=e.indexOf(t);return-1!==i&&n.splice(i,1),n}const pQ=(()=>{let e=[];return{push:t=>{const n=e[0];n&&t!==n&&n.pause(),e=hQ(e,t),e.unshift(t)},remove:t=>{var n,i;e=hQ(e,t),null==(i=null==(n=e[0])?void 0:n.resume)||i.call(n)}}})(),fQ=()=>{rQ.value="pointer",sQ.value=window.performance.now()},mQ=()=>{rQ.value="keyboard",sQ.value=window.performance.now()},gQ=()=>(KS(()=>{0===aQ&&(document.addEventListener("mousedown",fQ),document.addEventListener("touchstart",fQ),document.addEventListener("keydown",mQ)),aQ++}),JS(()=>{aQ--,aQ<=0&&(document.removeEventListener("mousedown",fQ),document.removeEventListener("touchstart",fQ),document.removeEventListener("keydown",mQ))}),{focusReason:rQ,lastUserFocusTimestamp:sQ,lastAutomatedFocusTimestamp:oQ}),_Q=e=>new CustomEvent("focus-trap.focusout-prevented",{...eQ,detail:e});let yQ=[];const vQ=e=>{e.code===dW.esc&&yQ.forEach(t=>t(e))},bQ=dS({name:"ElFocusTrap",inheritAttrs:!1,props:{loop:Boolean,trapped:Boolean,focusTrapEl:Object,focusStartEl:{type:[Object,String],default:"first"}},emits:[tQ,nQ,"focusin","focusout","focusout-prevented","release-requested"],setup(e,{emit:t}){const n=EI();let i,r;const{focusReason:s}=gQ();var o;o=n=>{e.trapped&&!a.paused&&t("release-requested",n)},KS(()=>{0===yQ.length&&document.addEventListener("keydown",vQ),_j&&yQ.push(o)}),JS(()=>{yQ=yQ.filter(e=>e!==o),0===yQ.length&&_j&&document.removeEventListener("keydown",vQ)});const a={paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}},l=n=>{if(!e.loop&&!e.trapped)return;if(a.paused)return;const{code:i,altKey:r,ctrlKey:o,metaKey:l,currentTarget:u,shiftKey:c}=n,{loop:d}=e,h=i===dW.tab&&!r&&!o&&!l,p=document.activeElement;if(h&&p){const e=u,[i,r]=(e=>{const t=lQ(e);return[uQ(t,e),uQ(t.reverse(),e)]})(e);if(i&&r)if(c||p!==r){if(c&&[i,e].includes(p)){const e=_Q({focusReason:s.value});t("focusout-prevented",e),e.defaultPrevented||(n.preventDefault(),d&&dQ(r,!0))}}else{const e=_Q({focusReason:s.value});t("focusout-prevented",e),e.defaultPrevented||(n.preventDefault(),d&&dQ(i,!0))}else if(p===e){const e=_Q({focusReason:s.value});t("focusout-prevented",e),e.defaultPrevented||n.preventDefault()}}};eO(iQ,{focusTrapRef:n,onKeydown:l}),DO(()=>e.focusTrapEl,e=>{e&&(n.value=e)},{immediate:!0}),DO([n],([e],[t])=>{e&&(e.addEventListener("keydown",l),e.addEventListener("focusin",d),e.addEventListener("focusout",h)),t&&(t.removeEventListener("keydown",l),t.removeEventListener("focusin",d),t.removeEventListener("focusout",h))});const u=e=>{t(tQ,e)},c=e=>t(nQ,e),d=s=>{const o=CI(n);if(!o)return;const l=s.target,u=s.relatedTarget,c=l&&o.contains(l);if(!e.trapped){u&&o.contains(u)||(i=u)}c&&t("focusin",s),a.paused||e.trapped&&(c?r=l:dQ(r,!0))},h=i=>{const o=CI(n);if(!a.paused&&o)if(e.trapped){const n=i.relatedTarget;VX(n)||o.contains(n)||setTimeout(()=>{if(!a.paused&&e.trapped){const e=_Q({focusReason:s.value});t("focusout-prevented",e),e.defaultPrevented||dQ(r,!0)}},0)}else{const e=i.target;e&&o.contains(e)||t("focusout",i)}};async function p(){await hA();const t=CI(n);if(t){pQ.push(a);const n=t.contains(document.activeElement)?i:document.activeElement;i=n;if(!t.contains(n)){const i=new Event(ZZ,JZ);t.addEventListener(ZZ,u),t.dispatchEvent(i),i.defaultPrevented||hA(()=>{let i=e.focusStartEl;Zx(i)||(dQ(i),document.activeElement!==i&&(i="first")),"first"===i&&((e,t=!1)=>{const n=document.activeElement;for(const i of e)if(dQ(i,t),document.activeElement!==n)return})(lQ(t),!0),document.activeElement!==n&&"container"!==i||dQ(t)})}}}function f(){const e=CI(n);if(e){e.removeEventListener(ZZ,u);const t=new CustomEvent(QZ,{...JZ,detail:{focusReason:s.value}});e.addEventListener(QZ,c),e.dispatchEvent(t),t.defaultPrevented||"keyboard"!=s.value&&sQ.value>oQ.value&&!e.contains(document.activeElement)||dQ(null!=i?i:document.body),e.removeEventListener(QZ,c),pQ.remove(a),i=null,r=null}}return KS(()=>{e.trapped&&p(),DO(()=>e.trapped,e=>{e?p():f()})}),JS(()=>{e.trapped&&f(),n.value&&(n.value.removeEventListener("keydown",l),n.value.removeEventListener("focusin",d),n.value.removeEventListener("focusout",h),n.value=void 0)}),{onKeydown:l}}});var TQ=HH(bQ,[["render",function(e,t,n,i,r,s){return mC(e.$slots,"default",{handleKeydown:e.onKeydown})}],["__file","focus-trap.vue"]]);const xQ=function(e){return void 0===e},EQ=(e,t=[])=>{const{placement:n,strategy:i,popperOptions:r}=e,s={placement:n,strategy:i,...r,modifiers:[...wQ(e),...t]};return function(e,t){t&&(e.modifiers=[...e.modifiers,...null!=t?t:[]])}(s,null==r?void 0:r.modifiers),s};function wQ(e){const{offset:t,gpuAcceleration:n,fallbackPlacements:i}=e;return[{name:"offset",options:{offset:[0,null!=t?t:12]}},{name:"preventOverflow",options:{padding:{top:0,bottom:0,left:0,right:0}}},{name:"flip",options:{padding:5,fallbackPlacements:i}},{name:"computeStyles",options:{gpuAcceleration:n}}]}const IQ=(e,t,n={})=>{const i={name:"updateState",enabled:!0,phase:"write",fn:({state:e})=>{const t=function(e){const t=Object.keys(e.elements),n=uG(t.map(t=>[t,e.styles[t]||{}])),i=uG(t.map(t=>[t,e.attributes[t]]));return{styles:n,attributes:i}}(e);Object.assign(o.value,t)},requires:["computeStyles"]},r=ak(()=>{const{onFirstUpdate:e,placement:t,strategy:r,modifiers:s}=CI(n);return{onFirstUpdate:e,placement:t||"bottom",strategy:r||"absolute",modifiers:[...s||[],i,{name:"applyStyles",enabled:!1}]}}),s=wI(),o=EI({styles:{popper:{position:CI(r).strategy,left:"0",top:"0"},arrow:{position:"absolute"}},attributes:{}}),a=()=>{s.value&&(s.value.destroy(),s.value=void 0)};return DO(r,e=>{const t=CI(s);t&&t.setOptions(e)},{deep:!0}),DO([e,t],([e,t])=>{a(),e&&t&&(s.value=pZ(e,t,CI(r)))}),JS(()=>{a()}),{state:ak(()=>{var e;return{...(null==(e=CI(s))?void 0:e.state)||{}}}),styles:ak(()=>CI(o).styles),attributes:ak(()=>CI(o).attributes),update:()=>{var e;return null==(e=CI(s))?void 0:e.update()},forceUpdate:()=>{var e;return null==(e=CI(s))?void 0:e.forceUpdate()},instanceRef:ak(()=>CI(s))}};const AQ=e=>{const{popperInstanceRef:t,contentRef:n,triggerRef:i,role:r}=tO(Yq,void 0),s=EI(),o=ak(()=>e.arrowOffset),a=ak(()=>({name:"eventListeners",enabled:!!e.visible})),l=ak(()=>{var e;const t=CI(s),n=null!=(e=CI(o))?e:0;return{name:"arrow",enabled:!xQ(t),options:{element:t,padding:n}}}),u=ak(()=>({onFirstUpdate:()=>{f()},...EQ(e,[CI(l),CI(a)])})),c=ak(()=>(e=>{if(_j)return wH(e)})(e.referenceEl)||CI(i)),{attributes:d,state:h,styles:p,update:f,forceUpdate:m,instanceRef:g}=IQ(c,n,u);return DO(g,e=>t.value=e,{flush:"sync"}),KS(()=>{DO(()=>{var e,t;return null==(t=null==(e=CI(c))?void 0:e.getBoundingClientRect)?void 0:t.call(e)},()=>{f()})}),{attributes:d,arrowRef:s,contentRef:n,instanceRef:g,state:h,styles:p,role:r,forceUpdate:m,update:f}},SQ=dS({name:"ElPopperContent"}),CQ=dS({...SQ,props:gZ,emits:_Z,setup(e,{expose:t,emit:n}){const i=e,{focusStartRef:r,trapped:s,onFocusAfterReleased:o,onFocusAfterTrapped:a,onFocusInTrap:l,onFocusoutPrevented:u,onReleaseRequested:c}=((e,t)=>{const n=EI(!1),i=EI();return{focusStartRef:i,trapped:n,onFocusAfterReleased:e=>{var n;"pointer"!==(null==(n=e.detail)?void 0:n.focusReason)&&(i.value="first",t("blur"))},onFocusAfterTrapped:()=>{t("focus")},onFocusInTrap:t=>{e.visible&&!n.value&&(t.target&&(i.value=t.target),n.value=!0)},onFocusoutPrevented:t=>{e.trapping||("pointer"===t.detail.focusReason&&t.preventDefault(),n.value=!1)},onReleaseRequested:()=>{n.value=!1,t("close")}}})(i,n),{attributes:d,arrowRef:h,contentRef:p,styles:f,instanceRef:m,role:g,update:_}=AQ(i),{ariaModal:y,arrowStyle:v,contentAttrs:b,contentClass:T,contentStyle:x,updateZIndex:E}=((e,{attributes:t,styles:n,role:i})=>{const{nextZIndex:r}=kj(),s=ij("popper"),o=ak(()=>CI(t).popper),a=EI(oj(e.zIndex)?e.zIndex:r()),l=ak(()=>[s.b(),s.is("pure",e.pure),s.is(e.effect),e.popperClass]),u=ak(()=>[{zIndex:CI(a)},CI(n).popper,e.popperStyle||{}]);return{ariaModal:ak(()=>"dialog"===i.value?"false":void 0),arrowStyle:ak(()=>CI(n).arrow||{}),contentAttrs:o,contentClass:l,contentStyle:u,contentZIndex:a,updateZIndex:()=>{a.value=oj(e.zIndex)?e.zIndex:r()}}})(i,{styles:f,attributes:d,role:g}),w=tO(ZW,void 0);let I;eO(Gq,{arrowStyle:v,arrowRef:h}),w&&eO(ZW,{...w,addInputId:Bx,removeInputId:Bx});const A=(e=!0)=>{_(),e&&E()},S=()=>{A(!1),i.visible&&i.focusOnShow?s.value=!0:!1===i.visible&&(s.value=!1)};return KS(()=>{DO(()=>i.triggerTargetEl,(e,t)=>{null==I||I(),I=void 0;const n=CI(e||p.value),r=CI(t||p.value);aj(n)&&(I=DO([g,()=>i.ariaLabel,y,()=>i.id],e=>{["role","aria-label","aria-modal","id"].forEach((t,i)=>{VX(e[i])?n.removeAttribute(t):n.setAttribute(t,e[i])})},{immediate:!0})),r!==n&&aj(r)&&["role","aria-label","aria-modal","id"].forEach(e=>{r.removeAttribute(e)})},{immediate:!0}),DO(()=>i.visible,S,{immediate:!0})}),JS(()=>{null==I||I(),I=void 0}),t({popperContentRef:p,popperInstanceRef:m,updatePopper:A,contentStyle:x}),(e,t)=>(uM(),mM("div",NM({ref_key:"contentRef",ref:p},CI(b),{style:CI(x),class:CI(T),tabindex:"-1",onMouseenter:t=>e.$emit("mouseenter",t),onMouseleave:t=>e.$emit("mouseleave",t)}),[EM(CI(TQ),{trapped:CI(s),"trap-on-focus-in":!0,"focus-trap-el":CI(p),"focus-start-el":CI(r),onFocusAfterTrapped:CI(a),onFocusAfterReleased:CI(o),onFocusin:CI(l),onFocusoutPrevented:CI(u),onReleaseRequested:CI(c)},{default:LA(()=>[mC(e.$slots,"default")]),_:3},8,["trapped","focus-trap-el","focus-start-el","onFocusAfterTrapped","onFocusAfterReleased","onFocusin","onFocusoutPrevented","onReleaseRequested"])],16,["onMouseenter","onMouseleave"]))}});var OQ=HH(CQ,[["__file","content.vue"]]);const MQ=dS({name:"ElTooltipContent",inheritAttrs:!1}),kQ=dS({...MQ,props:TZ,setup(e,{expose:t}){const n=e,{selector:i}=qZ(),r=ij("tooltip"),s=EI(),o=gj(()=>{var e;return null==(e=s.value)?void 0:e.popperContentRef});let a;const{controlled:l,id:u,open:c,trigger:d,onClose:h,onOpen:p,onShow:f,onHide:m,onBeforeShow:g,onBeforeHide:_}=tO(Kq,void 0),y=ak(()=>n.transition||`${r.namespace.value}-fade-in-linear`),v=ak(()=>n.persistent);JS(()=>{null==a||a()});const b=ak(()=>!!CI(v)||CI(c)),T=ak(()=>!n.disabled&&CI(c)),x=ak(()=>n.appendTo||i.value),E=ak(()=>{var e;return null!=(e=n.style)?e:{}}),w=EI(!0),I=()=>{m(),N()&&Uq(document.body,{preventScroll:!0}),w.value=!0},A=()=>{if(CI(l))return!0},S=jZ(A,()=>{n.enterable&&"hover"===CI(d)&&p()}),C=jZ(A,()=>{"hover"===CI(d)&&h()}),O=()=>{var e,t;null==(t=null==(e=s.value)?void 0:e.updatePopper)||t.call(e),null==g||g()},M=()=>{null==_||_()},k=()=>{f()},R=()=>{n.virtualTriggering||h()},N=e=>{var t;const n=null==(t=s.value)?void 0:t.popperContentRef,i=(null==e?void 0:e.relatedTarget)||document.activeElement;return null==n?void 0:n.contains(i)};return DO(()=>CI(c),e=>{e?(w.value=!1,a=function(e,t,n={}){const{window:i=IH,ignore:r=[],capture:s=!0,detectIframe:o=!1}=n;if(!i)return;bj&&!SH&&(SH=!0,Array.from(i.document.body.children).forEach(e=>e.addEventListener("click",vj)));let a=!0;const l=e=>r.some(t=>{if("string"==typeof t)return Array.from(i.document.querySelectorAll(t)).some(t=>t===e.target||e.composedPath().includes(t));{const n=wH(t);return n&&(e.target===n||e.composedPath().includes(n))}}),u=[AH(i,"click",n=>{const i=wH(e);i&&i!==n.target&&!n.composedPath().includes(i)&&(0===n.detail&&(a=!l(n)),a?t(n):a=!0)},{passive:!0,capture:s}),AH(i,"pointerdown",t=>{const n=wH(e);n&&(a=!t.composedPath().includes(n)&&!l(t))},{passive:!0}),o&&AH(i,"blur",n=>{var r;const s=wH(e);"IFRAME"!==(null==(r=i.document.activeElement)?void 0:r.tagName)||(null==s?void 0:s.contains(i.document.activeElement))||t(n)})].filter(Boolean);return()=>u.forEach(e=>e())}(o,()=>{if(CI(l))return;var e;(e=CI(d),e||0===e?Hx(e)?e:[e]:[]).every(e=>"hover"!==e&&"focus"!==e)&&h()})):null==a||a()},{flush:"post"}),DO(()=>n.content,()=>{var e,t;null==(t=null==(e=s.value)?void 0:e.updatePopper)||t.call(e)}),t({contentRef:s,isFocusInsideContent:N}),(e,t)=>(uM(),gM(CI(XZ),{disabled:!e.teleported,to:CI(x)},{default:LA(()=>[CI(b)||!w.value?(uM(),gM(Rk,{key:0,name:CI(y),appear:!CI(v),onAfterLeave:I,onBeforeEnter:O,onAfterEnter:k,onBeforeLeave:M,persisted:""},{default:LA(()=>[PA(EM(CI(OQ),NM({id:CI(u),ref_key:"contentRef",ref:s},e.$attrs,{"aria-label":e.ariaLabel,"aria-hidden":w.value,"boundaries-padding":e.boundariesPadding,"fallback-placements":e.fallbackPlacements,"gpu-acceleration":e.gpuAcceleration,offset:e.offset,placement:e.placement,"popper-options":e.popperOptions,"arrow-offset":e.arrowOffset,strategy:e.strategy,effect:e.effect,enterable:e.enterable,pure:e.pure,"popper-class":e.popperClass,"popper-style":[e.popperStyle,CI(E)],"reference-el":e.referenceEl,"trigger-target-el":e.triggerTargetEl,visible:CI(T),"z-index":e.zIndex,onMouseenter:CI(S),onMouseleave:CI(C),onBlur:R,onClose:CI(h)}),{default:LA(()=>[mC(e.$slots,"default")]),_:3},16,["id","aria-label","aria-hidden","boundaries-padding","fallback-placements","gpu-acceleration","offset","placement","popper-options","arrow-offset","strategy","effect","enterable","pure","popper-class","popper-style","reference-el","trigger-target-el","visible","z-index","onMouseenter","onMouseleave","onClose"]),[[Xk,CI(T)]])]),_:3},8,["name","appear"])):OM("v-if",!0)]),_:3},8,["disabled","to"]))}});var RQ=HH(kQ,[["__file","content.vue"]]);const NQ=dS({name:"ElPopperArrow",inheritAttrs:!1});var DQ=HH(dS({...NQ,setup(e,{expose:t}){const n=ij("popper"),{arrowRef:i,arrowStyle:r}=tO(Gq,void 0);return JS(()=>{i.value=void 0}),t({arrowRef:i}),(e,t)=>(uM(),mM("span",{ref_key:"arrowRef",ref:i,class:CE(CI(n).e("arrow")),style:EE(CI(r)),"data-popper-arrow":""},null,6))}}),[["__file","arrow.vue"]]);const FQ=dS({name:"ElTooltip"}),LQ=dS({...FQ,props:NZ,emits:DZ,setup(e,{expose:t,emit:n}){const i=e;KZ();const r=ij("tooltip"),s=qW(),o=EI(),a=EI(),l=()=>{var e;const t=CI(o);t&&(null==(e=t.popperInstanceRef)||e.update())},u=EI(!1),c=EI(),{show:d,hide:h,hasUpdateHandler:p}=RZ({indicator:u,toggleReason:c}),{onOpen:f,onClose:m}=(({showAfter:e,hideAfter:t,autoClose:n,open:i,close:r})=>{const{registerTimeout:s}=vZ(),{registerTimeout:o,cancelTimeout:a}=vZ();return{onOpen:(t,a=CI(e))=>{s(()=>{i(t);const e=CI(n);oj(e)&&e>0&&o(()=>{r(t)},e)},a)},onClose:(e,n=CI(t))=>{a(),s(()=>{r(e)},n)}}})({showAfter:PI(i,"showAfter"),hideAfter:PI(i,"hideAfter"),autoClose:PI(i,"autoClose"),open:d,close:h}),g=ak(()=>sj(i.visible)&&!p.value),_=ak(()=>[r.b(),i.popperClass]);eO(Kq,{controlled:g,id:s,open:dI(u),trigger:PI(i,"trigger"),onOpen:f,onClose:m,onToggle:e=>{CI(u)?m(e):f(e)},onShow:()=>{n("show",c.value)},onHide:()=>{n("hide",c.value)},onBeforeShow:()=>{n("before-show",c.value)},onBeforeHide:()=>{n("before-hide",c.value)},updatePopper:l}),DO(()=>i.disabled,e=>{e&&u.value&&(u.value=!1)});return zS(()=>u.value&&h()),t({popperRef:o,contentRef:a,isFocusInsideContent:e=>{var t;return null==(t=a.value)?void 0:t.isFocusInsideContent(e)},updatePopper:l,onOpen:f,onClose:m,hide:h}),(e,t)=>(uM(),gM(CI(qq),{ref_key:"popperRef",ref:o,role:e.role},{default:LA(()=>[EM(WZ,{disabled:e.disabled,trigger:e.trigger,"trigger-keys":e.triggerKeys,"virtual-ref":e.virtualRef,"virtual-triggering":e.virtualTriggering,"focus-on-target":e.focusOnTarget},{default:LA(()=>[e.$slots.default?mC(e.$slots,"default",{key:0}):OM("v-if",!0)]),_:3},8,["disabled","trigger","trigger-keys","virtual-ref","virtual-triggering","focus-on-target"]),EM(RQ,{ref_key:"contentRef",ref:a,"aria-label":e.ariaLabel,"boundaries-padding":e.boundariesPadding,content:e.content,disabled:e.disabled,effect:e.effect,enterable:e.enterable,"fallback-placements":e.fallbackPlacements,"hide-after":e.hideAfter,"gpu-acceleration":e.gpuAcceleration,offset:e.offset,persistent:e.persistent,"popper-class":CI(_),"popper-style":e.popperStyle,placement:e.placement,"popper-options":e.popperOptions,"arrow-offset":e.arrowOffset,pure:e.pure,"raw-content":e.rawContent,"reference-el":e.referenceEl,"trigger-target-el":e.triggerTargetEl,"show-after":e.showAfter,strategy:e.strategy,teleported:e.teleported,transition:e.transition,"virtual-triggering":e.virtualTriggering,"z-index":e.zIndex,"append-to":e.appendTo},{default:LA(()=>[mC(e.$slots,"content",{},()=>[e.rawContent?(uM(),mM("span",{key:0,innerHTML:e.content},null,8,["innerHTML"])):(uM(),mM("span",{key:1},GE(e.content),1))]),e.showArrow?(uM(),gM(CI(DQ),{key:0})):OM("v-if",!0)]),_:3},8,["aria-label","boundaries-padding","content","disabled","effect","enterable","fallback-placements","hide-after","gpu-acceleration","offset","persistent","popper-class","popper-style","placement","popper-options","arrow-offset","pure","raw-content","reference-el","trigger-target-el","show-after","strategy","teleported","transition","virtual-triggering","z-index","append-to"])]),_:3},8,["role"]))}});const PQ=AG(HH(LQ,[["__file","tooltip.vue"]])),BQ={vertical:{offset:"offsetHeight",scroll:"scrollTop",scrollSize:"scrollHeight",size:"height",key:"vertical",axis:"Y",client:"clientY",direction:"top"},horizontal:{offset:"offsetWidth",scroll:"scrollLeft",scrollSize:"scrollWidth",size:"width",key:"horizontal",axis:"X",client:"clientX",direction:"left"}},$Q=Symbol("scrollbarContextKey"),UQ=hG({vertical:Boolean,size:String,move:Number,ratio:{type:Number,required:!0},always:Boolean}),VQ=dS({__name:"thumb",props:UQ,setup(e){const t=e,n=tO($Q),i=ij("scrollbar");n||gW("Thumb","can not inject scrollbar context");const r=EI(),s=EI(),o=EI({}),a=EI(!1);let l=!1,u=!1,c=0,d=0,h=_j?document.onselectstart:null;const p=ak(()=>BQ[t.vertical?"vertical":"horizontal"]),f=ak(()=>(({move:e,size:t,bar:n})=>({[n.size]:t,transform:`translate${n.axis}(${e}%)`}))({size:t.size,move:t.move,bar:p.value})),m=ak(()=>r.value[p.value.offset]**2/n.wrapElement[p.value.scrollSize]/t.ratio/s.value[p.value.offset]),g=e=>{var t;if(e.stopPropagation(),e.ctrlKey||[1,2].includes(e.button))return;null==(t=window.getSelection())||t.removeAllRanges(),y(e);const n=e.currentTarget;n&&(o.value[p.value.axis]=n[p.value.offset]-(e[p.value.client]-n.getBoundingClientRect()[p.value.direction]))},_=e=>{if(!s.value||!r.value||!n.wrapElement)return;const t=100*(Math.abs(e.target.getBoundingClientRect()[p.value.direction]-e[p.value.client])-s.value[p.value.offset]/2)*m.value/r.value[p.value.offset];n.wrapElement[p.value.scroll]=t*n.wrapElement[p.value.scrollSize]/100},y=e=>{e.stopImmediatePropagation(),l=!0,c=n.wrapElement.scrollHeight,d=n.wrapElement.scrollWidth,document.addEventListener("mousemove",v),document.addEventListener("mouseup",b),h=document.onselectstart,document.onselectstart=()=>!1},v=e=>{if(!r.value||!s.value)return;if(!1===l)return;const t=o.value[p.value.axis];if(!t)return;const i=100*(-1*(r.value.getBoundingClientRect()[p.value.direction]-e[p.value.client])-(s.value[p.value.offset]-t))*m.value/r.value[p.value.offset];"scrollLeft"===p.value.scroll?n.wrapElement[p.value.scroll]=i*d/100:n.wrapElement[p.value.scroll]=i*c/100},b=()=>{l=!1,o.value[p.value.axis]=0,document.removeEventListener("mousemove",v),document.removeEventListener("mouseup",b),T(),u&&(a.value=!1)};JS(()=>{T(),document.removeEventListener("mouseup",b)});const T=()=>{document.onselectstart!==h&&(document.onselectstart=h)};return AH(PI(n,"scrollbarElement"),"mousemove",()=>{u=!1,a.value=!!t.size}),AH(PI(n,"scrollbarElement"),"mouseleave",()=>{u=!0,a.value=l}),(e,t)=>(uM(),gM(Rk,{name:CI(i).b("fade"),persisted:""},{default:LA(()=>[PA(xM("div",{ref_key:"instance",ref:r,class:CE([CI(i).e("bar"),CI(i).is(CI(p).key)]),onMousedown:_,onClick:KR(()=>{},["stop"])},[xM("div",{ref_key:"thumb",ref:s,class:CE(CI(i).e("thumb")),style:EE(CI(f)),onMousedown:g},null,38)],42,["onClick"]),[[Xk,e.always||a.value]])]),_:1},8,["name"]))}});var zQ=HH(VQ,[["__file","thumb.vue"]]);const jQ=dS({__name:"bar",props:hG({always:{type:Boolean,default:!0},minSize:{type:Number,required:!0}}),setup(e,{expose:t}){const n=e,i=tO($Q),r=EI(0),s=EI(0),o=EI(""),a=EI(""),l=EI(1),u=EI(1);return t({handleScroll:e=>{if(e){const t=e.offsetHeight-4,n=e.offsetWidth-4;s.value=100*e.scrollTop/t*l.value,r.value=100*e.scrollLeft/n*u.value}},update:()=>{const e=null==i?void 0:i.wrapElement;if(!e)return;const t=e.offsetHeight-4,r=e.offsetWidth-4,s=t**2/e.scrollHeight,c=r**2/e.scrollWidth,d=Math.max(s,n.minSize),h=Math.max(c,n.minSize);l.value=s/(t-s)/(d/(t-d)),u.value=c/(r-c)/(h/(r-h)),a.value=d+4(uM(),mM(iM,null,[EM(zQ,{move:r.value,ratio:u.value,size:o.value,always:e.always},null,8,["move","ratio","size","always"]),EM(zQ,{move:s.value,ratio:l.value,size:a.value,vertical:"",always:e.always},null,8,["move","ratio","size","always"])],64))}});var YQ=HH(jQ,[["__file","bar.vue"]]);const GQ=hG({distance:{type:Number,default:0},height:{type:[String,Number],default:""},maxHeight:{type:[String,Number],default:""},native:Boolean,wrapStyle:{type:[String,Object,Array],default:""},wrapClass:{type:[String,Array],default:""},viewClass:{type:[String,Array],default:""},viewStyle:{type:[String,Array,Object],default:""},noresize:Boolean,tag:{type:String,default:"div"},always:Boolean,minSize:{type:Number,default:20},tabindex:{type:[String,Number],default:void 0},id:String,role:String,...Oq(["ariaLabel","ariaOrientation"])}),HQ={"end-reached":e=>["left","right","top","bottom"].includes(e),scroll:({scrollTop:e,scrollLeft:t})=>[e,t].every(oj)},WQ=dS({name:"ElScrollbar"}),XQ=dS({...WQ,props:GQ,emits:HQ,setup(e,{expose:t,emit:n}){const i=e,r=ij("scrollbar");let s,o,a,l=0,u=0,c="";const d={bottom:!1,top:!1,right:!1,left:!1},h=EI(),p=EI(),f=EI(),m=EI(),g=ak(()=>{const e={};return i.height&&(e.height=WH(i.height)),i.maxHeight&&(e.maxHeight=WH(i.maxHeight)),[i.wrapStyle,e]}),_=ak(()=>[i.wrapClass,r.e("wrap"),{[r.em("wrap","hidden-default")]:!i.native}]),y=ak(()=>[r.e("view"),i.viewClass]),v={top:"bottom",bottom:"top",left:"right",right:"left"},b=()=>{var e;if(p.value){null==(e=m.value)||e.handleScroll(p.value);const t=l,r=u;l=p.value.scrollTop,u=p.value.scrollLeft;const s={bottom:l+p.value.clientHeight>=p.value.scrollHeight-i.distance,top:l<=i.distance&&0!==t,right:u+p.value.clientWidth>=p.value.scrollWidth-i.distance&&r!==u,left:u<=i.distance&&0!==r};if(n("scroll",{scrollTop:l,scrollLeft:u}),t!==l&&(c=l>t?"bottom":"top"),r!==u&&(c=u>r?"right":"left"),i.distance>0){if((e=>{var t;return null!=(t=d[e])&&t})(c))return;(e=>{const t=v[c];if(!t)return;const n=e[c],i=e[t];n&&!d[c]&&(d[c]=!0),!i&&d[t]&&(d[t]=!1)})(s)}s[c]&&n("end-reached",c)}};const T=()=>{var e;null==(e=m.value)||e.update(),d[c]=!1};return DO(()=>i.noresize,e=>{e?(null==s||s(),null==o||o(),null==a||a()):(({stop:s}=FH(f,T)),({stop:o}=FH(p,T)),a=AH("resize",T))},{immediate:!0}),DO(()=>[i.maxHeight,i.height],()=>{i.native||hA(()=>{var e;T(),p.value&&(null==(e=m.value)||e.handleScroll(p.value))})}),eO($Q,uI({scrollbarElement:h,wrapElement:p})),VS(()=>{p.value&&(p.value.scrollTop=l,p.value.scrollLeft=u)}),KS(()=>{i.native||hA(()=>{T()})}),QS(()=>T()),t({wrapRef:p,update:T,scrollTo:function(e,t){Jx(e)?p.value.scrollTo(e):oj(e)&&oj(t)&&p.value.scrollTo(e,t)},setScrollTop:e=>{oj(e)&&(p.value.scrollTop=e)},setScrollLeft:e=>{oj(e)&&(p.value.scrollLeft=e)},handleScroll:b}),(e,t)=>(uM(),mM("div",{ref_key:"scrollbarRef",ref:h,class:CE(CI(r).b())},[xM("div",{ref_key:"wrapRef",ref:p,class:CE(CI(_)),style:EE(CI(g)),tabindex:e.tabindex,onScroll:b},[(uM(),gM(uC(e.tag),{id:e.id,ref_key:"resizeRef",ref:f,class:CE(CI(y)),style:EE(e.viewStyle),role:e.role,"aria-label":e.ariaLabel,"aria-orientation":e.ariaOrientation},{default:LA(()=>[mC(e.$slots,"default")]),_:3},8,["id","class","style","role","aria-label","aria-orientation"]))],46,["tabindex"]),e.native?OM("v-if",!0):(uM(),gM(YQ,{key:0,ref_key:"barRef",ref:m,always:e.always,"min-size":e.minSize},null,8,["always","min-size"]))],2))}});const qQ=AG(HH(XQ,[["__file","scrollbar.vue"]]));var KQ=HH(dS({inheritAttrs:!1}),[["render",function(e,t,n,i,r,s){return mC(e.$slots,"default")}],["__file","collection.vue"]]);var ZQ=HH(dS({name:"ElCollectionItem",inheritAttrs:!1}),[["render",function(e,t,n,i,r,s){return mC(e.$slots,"default")}],["__file","collection-item.vue"]]);const QQ="data-el-collection-item",JQ=e=>{const t=`El${e}Collection`,n=`${t}Item`,i=Symbol(t),r=Symbol(n),s={...KQ,name:t,setup(){const e=EI(),t=new Map;eO(i,{itemMap:t,getItems:()=>{const n=CI(e);if(!n)return[];const i=Array.from(n.querySelectorAll(`[${QQ}]`));return[...t.values()].sort((e,t)=>i.indexOf(e.ref)-i.indexOf(t.ref))},collectionRef:e})}},o={...ZQ,name:n,setup(e,{attrs:t}){const n=EI(),s=tO(i,void 0);eO(r,{collectionItemRef:n}),KS(()=>{const e=CI(n);e&&s.itemMap.set(e,{ref:e,...t})}),JS(()=>{const e=CI(n);s.itemMap.delete(e)})}};return{COLLECTION_INJECTION_KEY:i,COLLECTION_ITEM_INJECTION_KEY:r,ElCollection:s,ElCollectionItem:o}},eJ=hG({style:{type:[String,Array,Object]},currentTabId:{type:String},defaultCurrentTabId:String,loop:Boolean,dir:{type:String,values:["ltr","rtl"],default:"ltr"},orientation:{type:String},onBlur:Function,onFocus:Function,onMousedown:Function}),{ElCollection:tJ,ElCollectionItem:nJ,COLLECTION_INJECTION_KEY:iJ,COLLECTION_ITEM_INJECTION_KEY:rJ}=JQ("RovingFocusGroup"),sJ=Symbol("elRovingFocusGroup"),oJ=Symbol("elRovingFocusGroupItem"),aJ={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"},lJ=(e,t,n)=>{const i=((e,t)=>{if("rtl"!==t)return e;switch(e){case dW.right:return dW.left;case dW.left:return dW.right;default:return e}})(e.code,n);if(!("vertical"===t&&[dW.left,dW.right].includes(i)||"horizontal"===t&&[dW.up,dW.down].includes(i)))return aJ[i]},uJ=e=>{const{activeElement:t}=document;for(const n of e){if(n===t)return;if(n.focus(),t!==document.activeElement)return}},cJ="currentTabIdChange",dJ="rovingFocusGroup.entryFocus",hJ={bubbles:!1,cancelable:!0},pJ=dS({name:"ElRovingFocusGroupImpl",inheritAttrs:!1,props:eJ,emits:[cJ,"entryFocus"],setup(e,{emit:t}){var n;const i=EI(null!=(n=e.currentTabId||e.defaultCurrentTabId)?n:null),r=EI(!1),s=EI(!1),o=EI(),{getItems:a}=tO(iJ,void 0),l=ak(()=>[{outline:"none"},e.style]),u=jZ(t=>{var n;null==(n=e.onMousedown)||n.call(e,t)},()=>{s.value=!0}),c=jZ(t=>{var n;null==(n=e.onFocus)||n.call(e,t)},e=>{const t=!CI(s),{target:n,currentTarget:o}=e;if(n===o&&t&&!CI(r)){const e=new Event(dJ,hJ);if(null==o||o.dispatchEvent(e),!e.defaultPrevented){const e=a().filter(e=>e.focusable),t=[e.find(e=>e.active),e.find(e=>e.id===CI(i)),...e].filter(Boolean).map(e=>e.ref);uJ(t)}}s.value=!1}),d=jZ(t=>{var n;null==(n=e.onBlur)||n.call(e,t)},()=>{r.value=!1});eO(sJ,{currentTabbedId:dI(i),loop:PI(e,"loop"),tabIndex:ak(()=>CI(r)?-1:0),rovingFocusGroupRef:o,rovingFocusGroupRootStyle:l,orientation:PI(e,"orientation"),dir:PI(e,"dir"),onItemFocus:e=>{t(cJ,e)},onItemShiftTab:()=>{r.value=!0},onBlur:d,onFocus:c,onMousedown:u}),DO(()=>e.currentTabId,e=>{i.value=null!=e?e:null}),AH(o,dJ,(...e)=>{t("entryFocus",...e)})}});var fJ=HH(dS({name:"ElRovingFocusGroup",components:{ElFocusGroupCollection:tJ,ElRovingFocusGroupImpl:HH(pJ,[["render",function(e,t,n,i,r,s){return mC(e.$slots,"default")}],["__file","roving-focus-group-impl.vue"]])}}),[["render",function(e,t,n,i,r,s){const o=aC("el-roving-focus-group-impl"),a=aC("el-focus-group-collection");return uM(),gM(a,null,{default:LA(()=>[EM(o,OE(IM(e.$attrs)),{default:LA(()=>[mC(e.$slots,"default")]),_:3},16)]),_:3})}],["__file","roving-focus-group.vue"]]);const mJ=hG({trigger:EZ.trigger,triggerKeys:{type:Array,default:()=>[dW.enter,dW.numpadEnter,dW.space,dW.down]},virtualTriggering:EZ.virtualTriggering,virtualRef:EZ.virtualRef,effect:{...TZ.effect,default:"light"},type:{type:String},placement:{type:String,default:"bottom"},popperOptions:{type:Object,default:()=>({})},id:String,size:{type:String,default:""},splitButton:Boolean,hideOnClick:{type:Boolean,default:!0},loop:{type:Boolean,default:!0},showArrow:{type:Boolean,default:!0},showTimeout:{type:Number,default:150},hideTimeout:{type:Number,default:150},tabindex:{type:[Number,String],default:0},maxHeight:{type:[Number,String],default:""},popperClass:{type:String,default:""},disabled:Boolean,role:{type:String,values:Hq,default:"menu"},buttonProps:{type:Object},teleported:TZ.teleported,persistent:{type:Boolean,default:!0}}),gJ=hG({command:{type:[Object,String,Number],default:()=>({})},disabled:Boolean,divided:Boolean,textValue:String,icon:{type:eW}}),_J=hG({onKeydown:{type:Function}}),yJ=[dW.down,dW.pageDown,dW.home],vJ=[dW.up,dW.pageUp,dW.end],bJ=[...yJ,...vJ],{ElCollection:TJ,ElCollectionItem:xJ,COLLECTION_INJECTION_KEY:EJ,COLLECTION_ITEM_INJECTION_KEY:wJ}=JQ("Dropdown"),IJ=Symbol("elDropdown"),AJ="elDropdown";const SJ=function(){if(!arguments.length)return[];var e=arguments[0];return Rj(e)?e:[e]},{ButtonGroup:CJ}=NX,OJ=dS({name:"ElDropdown",components:{ElButton:NX,ElButtonGroup:CJ,ElScrollbar:qQ,ElDropdownCollection:TJ,ElTooltip:PQ,ElRovingFocusGroup:fJ,ElOnlyChild:PZ,ElIcon:JH,ArrowDown:MG},props:mJ,emits:["visible-change","click","command"],setup(e,{emit:t}){const n=$M(),i=ij("dropdown"),{t:r}=lG(),s=EI(),o=EI(),a=EI(),l=EI(),u=EI(null),c=EI(null),d=EI(!1),h=ak(()=>({maxHeight:WH(e.maxHeight)})),p=ak(()=>[i.m(_.value)]),f=ak(()=>SJ(e.trigger)),m=qW().value,g=ak(()=>e.id||m);const _=tX();eO(IJ,{contentRef:l,role:ak(()=>e.role),triggerId:g,isUsingKeyboard:d,onItemEnter:function(){},onItemLeave:function(){const e=CI(l);f.value.includes("hover")&&(null==e||e.focus({preventScroll:!0})),c.value=null}}),eO(AJ,{instance:n,dropdownSize:_,handleClick:function(){var e;null==(e=a.value)||e.onClose(void 0,0)},commandHandler:function(...e){t("command",...e)},trigger:PI(e,"trigger"),hideOnClick:PI(e,"hideOnClick")});return{t:r,ns:i,scrollbar:u,wrapStyle:h,dropdownTriggerKls:p,dropdownSize:_,triggerId:g,currentTabId:c,handleCurrentTabIdChange:function(e){c.value=e},handlerMainButtonClick:e=>{t("click",e)},handleEntryFocus:function(e){d.value||(e.preventDefault(),e.stopImmediatePropagation())},handleClose:function(){var e;null==(e=a.value)||e.onClose()},handleOpen:function(){var e;null==(e=a.value)||e.onOpen()},handleBeforeShowTooltip:function(){t("visible-change",!0)},handleShowTooltip:function(e){var t;"keydown"===(null==e?void 0:e.type)&&(null==(t=l.value)||t.focus())},handleBeforeHideTooltip:function(){t("visible-change",!1)},onFocusAfterTrapped:e=>{var t,n;e.preventDefault(),null==(n=null==(t=l.value)?void 0:t.focus)||n.call(t,{preventScroll:!0})},popperRef:a,contentRef:l,triggeringElementRef:s,referenceElementRef:o}}});var MJ=HH(OJ,[["render",function(e,t,n,i,r,s){var o,a;const l=aC("el-dropdown-collection"),u=aC("el-roving-focus-group"),c=aC("el-scrollbar"),d=aC("el-only-child"),h=aC("el-tooltip"),p=aC("el-button"),f=aC("arrow-down"),m=aC("el-icon"),g=aC("el-button-group");return uM(),mM("div",{class:CE([e.ns.b(),e.ns.is("disabled",e.disabled)])},[EM(h,{ref:"popperRef",role:e.role,effect:e.effect,"fallback-placements":["bottom","top"],"popper-options":e.popperOptions,"gpu-acceleration":!1,"manual-mode":!0,placement:e.placement,"popper-class":[e.ns.e("popper"),e.popperClass],"reference-element":null==(o=e.referenceElementRef)?void 0:o.$el,trigger:e.trigger,"trigger-keys":e.triggerKeys,"trigger-target-el":e.contentRef,"show-arrow":e.showArrow,"show-after":"hover"===e.trigger?e.showTimeout:0,"hide-after":"hover"===e.trigger?e.hideTimeout:0,"stop-popper-mouse-event":!1,"virtual-ref":null!=(a=e.virtualRef)?a:e.triggeringElementRef,"virtual-triggering":e.virtualTriggering||e.splitButton,disabled:e.disabled,transition:`${e.ns.namespace.value}-zoom-in-top`,teleported:e.teleported,pure:"","focus-on-target":"",persistent:e.persistent,onBeforeShow:e.handleBeforeShowTooltip,onShow:e.handleShowTooltip,onBeforeHide:e.handleBeforeHideTooltip},fC({content:LA(()=>[EM(c,{ref:"scrollbar","wrap-style":e.wrapStyle,tag:"div","view-class":e.ns.e("list")},{default:LA(()=>[EM(u,{loop:e.loop,"current-tab-id":e.currentTabId,orientation:"horizontal",onCurrentTabIdChange:e.handleCurrentTabIdChange,onEntryFocus:e.handleEntryFocus},{default:LA(()=>[EM(l,null,{default:LA(()=>[mC(e.$slots,"dropdown")]),_:3})]),_:3},8,["loop","current-tab-id","onCurrentTabIdChange","onEntryFocus"])]),_:3},8,["wrap-style","view-class"])]),_:2},[e.splitButton?void 0:{name:"default",fn:LA(()=>[EM(d,{id:e.triggerId,ref:"triggeringElementRef",role:"button",tabindex:e.tabindex},{default:LA(()=>[mC(e.$slots,"default")]),_:3},8,["id","tabindex"])])}]),1032,["role","effect","popper-options","placement","popper-class","reference-element","trigger","trigger-keys","trigger-target-el","show-arrow","show-after","hide-after","virtual-ref","virtual-triggering","disabled","transition","teleported","persistent","onBeforeShow","onShow","onBeforeHide"]),e.splitButton?(uM(),gM(g,{key:0},{default:LA(()=>[EM(p,NM({ref:"referenceElementRef"},e.buttonProps,{size:e.dropdownSize,type:e.type,disabled:e.disabled,tabindex:e.tabindex,onClick:e.handlerMainButtonClick}),{default:LA(()=>[mC(e.$slots,"default")]),_:3},16,["size","type","disabled","tabindex","onClick"]),EM(p,NM({id:e.triggerId,ref:"triggeringElementRef"},e.buttonProps,{role:"button",size:e.dropdownSize,type:e.type,class:e.ns.e("caret-button"),disabled:e.disabled,tabindex:e.tabindex,"aria-label":e.t("el.dropdown.toggleDropdown")}),{default:LA(()=>[EM(m,{class:CE(e.ns.e("icon"))},{default:LA(()=>[EM(f)]),_:1},8,["class"])]),_:1},16,["id","size","type","class","disabled","tabindex","aria-label"])]),_:3})):OM("v-if",!0)],2)}],["__file","dropdown.vue"]]);const kJ=dS({components:{ElRovingFocusCollectionItem:nJ},props:{focusable:{type:Boolean,default:!0},active:Boolean},emits:["mousedown","focus","keydown"],setup(e,{emit:t}){const{currentTabbedId:n,loop:i,onItemFocus:r,onItemShiftTab:s}=tO(sJ,void 0),{getItems:o}=tO(iJ,void 0),a=qW(),l=EI(),u=jZ(e=>{t("mousedown",e)},t=>{e.focusable?r(CI(a)):t.preventDefault()}),c=jZ(e=>{t("focus",e)},()=>{r(CI(a))}),d=jZ(e=>{t("keydown",e)},e=>{const{code:t,shiftKey:n,target:r,currentTarget:a}=e;if(t===dW.tab&&n)return void s();if(r!==a)return;const l=lJ(e);if(l){e.preventDefault();let t=o().filter(e=>e.focusable).map(e=>e.ref);switch(l){case"last":t.reverse();break;case"prev":case"next":{"prev"===l&&t.reverse();const e=t.indexOf(a);t=i.value?((e,t)=>e.map((n,i)=>e[(i+t)%e.length]))(t,e+1):t.slice(e+1);break}}hA(()=>{uJ(t)})}}),h=ak(()=>n.value===CI(a));return eO(oJ,{rovingFocusGroupItemRef:l,tabIndex:ak(()=>CI(h)?0:-1),handleMousedown:u,handleFocus:c,handleKeydown:d}),{id:a,handleKeydown:d,handleFocus:c,handleMousedown:u}}});var RJ=HH(kJ,[["render",function(e,t,n,i,r,s){const o=aC("el-roving-focus-collection-item");return uM(),gM(o,{id:e.id,focusable:e.focusable,active:e.active},{default:LA(()=>[mC(e.$slots,"default")]),_:3},8,["id","focusable","active"])}],["__file","roving-focus-item.vue"]]);const NJ=(...e)=>t=>{e.forEach(e=>{Kx(e)?e(t):e.value=t})},DJ=dS({name:"DropdownItemImpl",components:{ElIcon:JH},props:gJ,emits:["pointermove","pointerleave","click","clickimpl"],setup(e,{emit:t}){const n=ij("dropdown"),{role:i}=tO(IJ,void 0),{collectionItemRef:r}=tO(wJ,void 0),{collectionItemRef:s}=tO(rJ,void 0),{rovingFocusGroupItemRef:o,tabIndex:a,handleFocus:l,handleKeydown:u,handleMousedown:c}=tO(oJ,void 0),d=NJ(r,s,o),h=ak(()=>"menu"===i.value?"menuitem":"navigation"===i.value?"link":"button"),p=jZ(e=>{if([dW.enter,dW.numpadEnter,dW.space].includes(e.code))return e.preventDefault(),e.stopImmediatePropagation(),t("clickimpl",e),!0},u);return{ns:n,itemRef:d,dataset:{[QQ]:""},role:h,tabIndex:a,handleFocus:l,handleKeydown:p,handleMousedown:c}}});const FJ=()=>{const e=tO(AJ,{}),t=ak(()=>null==e?void 0:e.dropdownSize);return{elDropdown:e,_elDropdownSize:t}},LJ=dS({name:"ElDropdownItem",components:{ElDropdownCollectionItem:xJ,ElRovingFocusItem:RJ,ElDropdownItemImpl:HH(DJ,[["render",function(e,t,n,i,r,s){const o=aC("el-icon");return uM(),mM(iM,null,[e.divided?(uM(),mM("li",{key:0,role:"separator",class:CE(e.ns.bem("menu","item","divided"))},null,2)):OM("v-if",!0),xM("li",NM({ref:e.itemRef},{...e.dataset,...e.$attrs},{"aria-disabled":e.disabled,class:[e.ns.be("menu","item"),e.ns.is("disabled",e.disabled)],tabindex:e.tabIndex,role:e.role,onClick:t=>e.$emit("clickimpl",t),onFocus:e.handleFocus,onKeydown:KR(e.handleKeydown,["self"]),onMousedown:e.handleMousedown,onPointermove:t=>e.$emit("pointermove",t),onPointerleave:t=>e.$emit("pointerleave",t)}),[e.icon?(uM(),gM(o,{key:0},{default:LA(()=>[(uM(),gM(uC(e.icon)))]),_:1})):OM("v-if",!0),mC(e.$slots,"default")],16,["aria-disabled","tabindex","role","onClick","onFocus","onKeydown","onMousedown","onPointermove","onPointerleave"])],64)}],["__file","dropdown-item-impl.vue"]])},inheritAttrs:!1,props:gJ,emits:["pointermove","pointerleave","click"],setup(e,{emit:t,attrs:n}){const{elDropdown:i}=FJ(),r=$M(),s=EI(null),o=ak(()=>{var e,t;return null!=(t=null==(e=CI(s))?void 0:e.textContent)?t:""}),{onItemEnter:a,onItemLeave:l}=tO(IJ,void 0),u=jZ(e=>(t("pointermove",e),e.defaultPrevented),YZ(t=>{if(e.disabled)return void l(t);const n=t.currentTarget;n===document.activeElement||n.contains(document.activeElement)||(a(t),t.defaultPrevented||null==n||n.focus({preventScroll:!0}))})),c=jZ(e=>(t("pointerleave",e),e.defaultPrevented),YZ(l)),d=jZ(n=>{if(!e.disabled)return t("click",n),"keydown"!==n.type&&n.defaultPrevented},t=>{var n,s,o;e.disabled?t.stopImmediatePropagation():((null==(n=null==i?void 0:i.hideOnClick)?void 0:n.value)&&(null==(s=i.handleClick)||s.call(i)),null==(o=i.commandHandler)||o.call(i,e.command,r,t))});return{handleClick:d,handlePointerMove:u,handlePointerLeave:c,textContent:o,propsAndAttrs:ak(()=>({...e,...n}))}}});var PJ=HH(LJ,[["render",function(e,t,n,i,r,s){var o;const a=aC("el-dropdown-item-impl"),l=aC("el-roving-focus-item"),u=aC("el-dropdown-collection-item");return uM(),gM(u,{disabled:e.disabled,"text-value":null!=(o=e.textValue)?o:e.textContent},{default:LA(()=>[EM(l,{focusable:!e.disabled},{default:LA(()=>[EM(a,NM(e.propsAndAttrs,{onPointerleave:e.handlePointerLeave,onPointermove:e.handlePointerMove,onClickimpl:e.handleClick}),{default:LA(()=>[mC(e.$slots,"default")]),_:3},16,["onPointerleave","onPointermove","onClickimpl"])]),_:3},8,["focusable"])]),_:3},8,["disabled","text-value"])}],["__file","dropdown-item.vue"]]);const BJ=dS({name:"ElDropdownMenu",props:_J,setup(e){const t=ij("dropdown"),{_elDropdownSize:n}=FJ(),i=n.value,{focusTrapRef:r,onKeydown:s}=tO(iQ,void 0),{contentRef:o,role:a,triggerId:l}=tO(IJ,void 0),{collectionRef:u,getItems:c}=tO(EJ,void 0),{rovingFocusGroupRef:d,rovingFocusGroupRootStyle:h,tabIndex:p,onBlur:f,onFocus:m,onMousedown:g}=tO(sJ,void 0),{collectionRef:_}=tO(iJ,void 0),y=ak(()=>[t.b("menu"),t.bm("menu",null==i?void 0:i.value)]),v=NJ(o,u,r,d,_),b=jZ(t=>{var n;null==(n=e.onKeydown)||n.call(e,t)},e=>{const{currentTarget:t,code:n,target:i}=e;if(t.contains(i),dW.tab===n&&e.stopImmediatePropagation(),e.preventDefault(),i!==CI(o)||!bJ.includes(n))return;const r=c().filter(e=>!e.disabled).map(e=>e.ref);vJ.includes(n)&&r.reverse(),uJ(r)});return{size:i,rovingFocusGroupRootStyle:h,tabIndex:p,dropdownKls:y,role:a,triggerId:l,dropdownListWrapperRef:v,handleKeydown:e=>{b(e),s(e)},onBlur:f,onFocus:m,onMousedown:g}}});var $J=HH(BJ,[["render",function(e,t,n,i,r,s){return uM(),mM("ul",{ref:e.dropdownListWrapperRef,class:CE(e.dropdownKls),style:EE(e.rovingFocusGroupRootStyle),tabindex:-1,role:e.role,"aria-labelledby":e.triggerId,onBlur:e.onBlur,onFocus:e.onFocus,onKeydown:KR(e.handleKeydown,["self"]),onMousedown:KR(e.onMousedown,["self"])},[mC(e.$slots,"default")],46,["role","aria-labelledby","onBlur","onFocus","onKeydown","onMousedown"])}],["__file","dropdown-menu.vue"]]);const UJ=AG(MJ,{DropdownItem:PJ,DropdownMenu:$J}),VJ=SG(PJ),zJ=SG($J),jJ=Symbol("uploadContextKey"),YJ=hG({type:{type:String,default:"line",values:["line","circle","dashboard"]},percentage:{type:Number,default:0,validator:e=>e>=0&&e<=100},status:{type:String,default:"",values:["","success","exception","warning"]},indeterminate:Boolean,duration:{type:Number,default:3},strokeWidth:{type:Number,default:6},strokeLinecap:{type:String,default:"round"},textInside:Boolean,width:{type:Number,default:126},showText:{type:Boolean,default:!0},color:{type:[String,Array,Function],default:""},striped:Boolean,stripedFlow:Boolean,format:{type:Function,default:e=>`${e}%`}}),GJ=dS({name:"ElProgress"}),HJ=dS({...GJ,props:YJ,setup(e){const t=e,n={success:"#13ce66",exception:"#ff4949",warning:"#e6a23c",default:"#20a0ff"},i=ij("progress"),r=ak(()=>{const e={width:`${t.percentage}%`,animationDuration:`${t.duration}s`},n=_(t.percentage);return n.includes("gradient")?e.background=n:e.backgroundColor=n,e}),s=ak(()=>(t.strokeWidth/t.width*100).toFixed(1)),o=ak(()=>["circle","dashboard"].includes(t.type)?Number.parseInt(""+(50-Number.parseFloat(s.value)/2),10):0),a=ak(()=>{const e=o.value,n="dashboard"===t.type;return`\n M 50 50\n m 0 ${n?"":"-"}${e}\n a ${e} ${e} 0 1 1 0 ${n?"-":""}${2*e}\n a ${e} ${e} 0 1 1 0 ${n?"":"-"}${2*e}\n `}),l=ak(()=>2*Math.PI*o.value),u=ak(()=>"dashboard"===t.type?.75:1),c=ak(()=>`${-1*l.value*(1-u.value)/2}px`),d=ak(()=>({strokeDasharray:`${l.value*u.value}px, ${l.value}px`,strokeDashoffset:c.value})),h=ak(()=>({strokeDasharray:`${l.value*u.value*(t.percentage/100)}px, ${l.value}px`,strokeDashoffset:c.value,transition:"stroke-dasharray 0.6s ease 0s, stroke 0.6s ease, opacity ease 0.6s"})),p=ak(()=>{let e;return e=t.color?_(t.percentage):n[t.status]||n.default,e}),f=ak(()=>"warning"===t.status?bH:"line"===t.type?"success"===t.status?zG:HG:"success"===t.status?UG:QG),m=ak(()=>"line"===t.type?12+.4*t.strokeWidth:.111111*t.width+2),g=ak(()=>t.format(t.percentage));const _=e=>{var n;const{color:i}=t;if(Kx(i))return i(e);if(Zx(i))return i;{const t=function(e){const t=100/e.length;return e.map((e,n)=>Zx(e)?{color:e,percentage:(n+1)*t}:e).sort((e,t)=>e.percentage-t.percentage)}(i);for(const n of t)if(n.percentage>e)return n.color;return null==(n=t[t.length-1])?void 0:n.color}};return(e,t)=>(uM(),mM("div",{class:CE([CI(i).b(),CI(i).m(e.type),CI(i).is(e.status),{[CI(i).m("without-text")]:!e.showText,[CI(i).m("text-inside")]:e.textInside}]),role:"progressbar","aria-valuenow":e.percentage,"aria-valuemin":"0","aria-valuemax":"100"},["line"===e.type?(uM(),mM("div",{key:0,class:CE(CI(i).b("bar"))},[xM("div",{class:CE(CI(i).be("bar","outer")),style:EE({height:`${e.strokeWidth}px`})},[xM("div",{class:CE([CI(i).be("bar","inner"),{[CI(i).bem("bar","inner","indeterminate")]:e.indeterminate},{[CI(i).bem("bar","inner","striped")]:e.striped},{[CI(i).bem("bar","inner","striped-flow")]:e.stripedFlow}]),style:EE(CI(r))},[(e.showText||e.$slots.default)&&e.textInside?(uM(),mM("div",{key:0,class:CE(CI(i).be("bar","innerText"))},[mC(e.$slots,"default",{percentage:e.percentage},()=>[xM("span",null,GE(CI(g)),1)])],2)):OM("v-if",!0)],6)],6)],2)):(uM(),mM("div",{key:1,class:CE(CI(i).b("circle")),style:EE({height:`${e.width}px`,width:`${e.width}px`})},[(uM(),mM("svg",{viewBox:"0 0 100 100"},[xM("path",{class:CE(CI(i).be("circle","track")),d:CI(a),stroke:`var(${CI(i).cssVarName("fill-color-light")}, #e5e9f2)`,"stroke-linecap":e.strokeLinecap,"stroke-width":CI(s),fill:"none",style:EE(CI(d))},null,14,["d","stroke","stroke-linecap","stroke-width"]),xM("path",{class:CE(CI(i).be("circle","path")),d:CI(a),stroke:CI(p),fill:"none",opacity:e.percentage?1:0,"stroke-linecap":e.strokeLinecap,"stroke-width":CI(s),style:EE(CI(h))},null,14,["d","stroke","opacity","stroke-linecap","stroke-width"])]))],6)),!e.showText&&!e.$slots.default||e.textInside?OM("v-if",!0):(uM(),mM("div",{key:2,class:CE(CI(i).e("text")),style:EE({fontSize:`${CI(m)}px`})},[mC(e.$slots,"default",{percentage:e.percentage},()=>[e.status?(uM(),gM(CI(JH),{key:1},{default:LA(()=>[(uM(),gM(uC(CI(f))))]),_:1})):(uM(),mM("span",{key:0},GE(CI(g)),1))])],6))],10,["aria-valuenow"]))}});const WJ=AG(HH(HJ,[["__file","progress.vue"]]));class XJ extends Error{constructor(e,t,n,i){super(e),this.name="UploadAjaxError",this.status=t,this.method=n,this.url=i}}function qJ(e,t,n){let i;return i=n.response?`${n.response.error||n.response}`:n.responseText?`${n.responseText}`:`fail to ${t.method} ${e} ${n.status}`,new XJ(i,n.status,t.method,e)}const KJ=["text","picture","picture-card"];let ZJ=1;const QJ=()=>Date.now()+ZJ++,JJ=hG({action:{type:String,default:"#"},headers:{type:Object},method:{type:String,default:"post"},data:{type:[Object,Function,Promise],default:()=>({})},multiple:Boolean,name:{type:String,default:"file"},drag:Boolean,withCredentials:Boolean,showFileList:{type:Boolean,default:!0},accept:{type:String,default:""},fileList:{type:Array,default:()=>[]},autoUpload:{type:Boolean,default:!0},listType:{type:String,values:KJ,default:"text"},httpRequest:{type:Function,default:e=>{"undefined"==typeof XMLHttpRequest&&gW("ElUpload","XMLHttpRequest is undefined");const t=new XMLHttpRequest,n=e.action;t.upload&&t.upload.addEventListener("progress",t=>{const n=t;n.percent=t.total>0?t.loaded/t.total*100:0,e.onProgress(n)});const i=new FormData;if(e.data)for(const[t,n]of Object.entries(e.data))Hx(n)&&n.length?i.append(t,...n):i.append(t,n);i.append(e.filename,e.file,e.file.name),t.addEventListener("error",()=>{e.onError(qJ(n,e,t))}),t.addEventListener("load",()=>{if(t.status<200||t.status>=300)return e.onError(qJ(n,e,t));e.onSuccess(function(e){const t=e.responseText||e.response;if(!t)return t;try{return JSON.parse(t)}catch(e){return t}}(t))}),t.open(e.method,n,!0),e.withCredentials&&"withCredentials"in t&&(t.withCredentials=!0);const r=e.headers||{};if(r instanceof Headers)r.forEach((e,n)=>t.setRequestHeader(n,e));else for(const[e,n]of Object.entries(r))VX(n)||t.setRequestHeader(e,String(n));return t.send(i),t}},disabled:Boolean,limit:Number}),e0=hG({...JJ,beforeUpload:{type:Function,default:Bx},beforeRemove:{type:Function},onRemove:{type:Function,default:Bx},onChange:{type:Function,default:Bx},onPreview:{type:Function,default:Bx},onSuccess:{type:Function,default:Bx},onProgress:{type:Function,default:Bx},onError:{type:Function,default:Bx},onExceed:{type:Function,default:Bx},crossorigin:{type:String}}),t0=hG({files:{type:Array,default:()=>[]},disabled:Boolean,handlePreview:{type:Function,default:Bx},listType:{type:String,values:KJ,default:"text"},crossorigin:{type:String}}),n0=dS({name:"ElUploadList"}),i0=dS({...n0,props:t0,emits:{remove:e=>!!e},setup(e,{emit:t}){const n=e,{t:i}=lG(),r=ij("upload"),s=ij("icon"),o=ij("list"),a=nX(),l=EI(!1),u=ak(()=>[r.b("list"),r.bm("list",n.listType),r.is("disabled",n.disabled)]),c=e=>{t("remove",e)};return(e,t)=>(uM(),gM(OR,{tag:"ul",class:CE(CI(u)),name:CI(o).b()},{default:LA(()=>[(uM(!0),mM(iM,null,pC(e.files,(t,n)=>(uM(),mM("li",{key:t.uid||t.name,class:CE([CI(r).be("list","item"),CI(r).is(t.status),{focusing:l.value}]),tabindex:"0",onKeydown:QR(e=>!CI(a)&&c(t),["delete"]),onFocus:e=>l.value=!0,onBlur:e=>l.value=!1,onClick:e=>l.value=!1},[mC(e.$slots,"default",{file:t,index:n},()=>["picture"===e.listType||"uploading"!==t.status&&"picture-card"===e.listType?(uM(),mM("img",{key:0,class:CE(CI(r).be("list","item-thumbnail")),src:t.url,crossorigin:e.crossorigin,alt:""},null,10,["src","crossorigin"])):OM("v-if",!0),"uploading"===t.status||"picture-card"!==e.listType?(uM(),mM("div",{key:1,class:CE(CI(r).be("list","item-info"))},[xM("a",{class:CE(CI(r).be("list","item-name")),onClick:KR(n=>e.handlePreview(t),["prevent"])},[EM(CI(JH),{class:CE(CI(s).m("document"))},{default:LA(()=>[EM(CI(nH))]),_:1},8,["class"]),xM("span",{class:CE(CI(r).be("list","item-file-name")),title:t.name},GE(t.name),11,["title"])],10,["onClick"]),"uploading"===t.status?(uM(),gM(CI(WJ),{key:0,type:"picture-card"===e.listType?"circle":"line","stroke-width":"picture-card"===e.listType?6:2,percentage:Number(t.percentage),style:EE("picture-card"===e.listType?"":"margin-top: 0.5rem")},null,8,["type","stroke-width","percentage","style"])):OM("v-if",!0)],2)):OM("v-if",!0),xM("label",{class:CE(CI(r).be("list","item-status-label"))},["text"===e.listType?(uM(),gM(CI(JH),{key:0,class:CE([CI(s).m("upload-success"),CI(s).m("circle-check")])},{default:LA(()=>[EM(CI(zG))]),_:1},8,["class"])):["picture-card","picture"].includes(e.listType)?(uM(),gM(CI(JH),{key:1,class:CE([CI(s).m("upload-success"),CI(s).m("check")])},{default:LA(()=>[EM(CI(UG))]),_:1},8,["class"])):OM("v-if",!0)],2),CI(a)?OM("v-if",!0):(uM(),gM(CI(JH),{key:2,class:CE(CI(s).m("close")),onClick:e=>c(t)},{default:LA(()=>[EM(CI(QG))]),_:2},1032,["class","onClick"])),OM(" Due to close btn only appears when li gets focused disappears after li gets blurred, thus keyboard navigation can never reach close btn"),OM(" This is a bug which needs to be fixed "),OM(" TODO: Fix the incorrect navigation interaction "),CI(a)?OM("v-if",!0):(uM(),mM("i",{key:3,class:CE(CI(s).m("close-tip"))},GE(CI(i)("el.upload.deleteTip")),3)),"picture-card"===e.listType?(uM(),mM("span",{key:4,class:CE(CI(r).be("list","item-actions"))},[xM("span",{class:CE(CI(r).be("list","item-preview")),onClick:n=>e.handlePreview(t)},[EM(CI(JH),{class:CE(CI(s).m("zoom-in"))},{default:LA(()=>[EM(CI(xH))]),_:1},8,["class"])],10,["onClick"]),CI(a)?OM("v-if",!0):(uM(),mM("span",{key:0,class:CE(CI(r).be("list","item-delete")),onClick:e=>c(t)},[EM(CI(JH),{class:CE(CI(s).m("delete"))},{default:LA(()=>[EM(CI(eH))]),_:1},8,["class"])],10,["onClick"]))],2)):OM("v-if",!0)])],42,["onKeydown","onFocus","onBlur","onClick"]))),128)),mC(e.$slots,"append")]),_:3},8,["class","name"]))}});var r0=HH(i0,[["__file","upload-list.vue"]]);const s0=function(){this.__data__=new RY,this.size=0};const o0=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n};const a0=function(e){return this.__data__.get(e)};const l0=function(e){return this.__data__.has(e)};const u0=function(e,t){var n=this.__data__;if(n instanceof RY){var i=n.__data__;if(!NY||i.length<199)return i.push([e,t]),this.size=++n.size,this;n=this.__data__=new zY(i)}return n.set(e,t),this.size=n.size,this};function c0(e){var t=this.__data__=new RY(e);this.size=t.size}c0.prototype.clear=s0,c0.prototype.delete=o0,c0.prototype.get=a0,c0.prototype.has=l0,c0.prototype.set=u0;const d0=c0;const h0=function(e,t){for(var n=-1,i=null==e?0:e.length;++na))return!1;var u=s.get(e),c=s.get(t);if(u&&c)return u==t&&c==e;var d=-1,h=!0,p=2&n?new n2:void 0;for(s.set(e,t),s.set(t,e);++dHx(e)},x2="ElUploadDrag",E2=dS({name:x2}),w2=dS({...E2,props:b2,emits:T2,setup(e,{emit:t}){tO(jJ)||gW(x2,"usage: ");const n=ij("upload"),i=EI(!1),r=nX(),s=e=>{if(r.value)return;i.value=!1,e.stopPropagation();const n=Array.from(e.dataTransfer.files),s=e.dataTransfer.items||[];n.forEach((e,t)=>{var n;const i=s[t],r=null==(n=null==i?void 0:i.webkitGetAsEntry)?void 0:n.call(i);r&&(e.isDirectory=r.isDirectory)}),t("file",n)},o=()=>{r.value||(i.value=!0)},a=e=>{e.currentTarget.contains(e.relatedTarget)||(i.value=!1)};return(e,t)=>(uM(),mM("div",{class:CE([CI(n).b("dragger"),CI(n).is("dragover",i.value)]),onDrop:KR(s,["prevent"]),onDragover:KR(o,["prevent"]),onDragleave:KR(a,["prevent"])},[mC(e.$slots,"default")],42,["onDrop","onDragover","onDragleave"]))}});var I2=HH(w2,[["__file","upload-dragger.vue"]]);const A2=hG({...JJ,beforeUpload:{type:Function,default:Bx},onRemove:{type:Function,default:Bx},onStart:{type:Function,default:Bx},onSuccess:{type:Function,default:Bx},onProgress:{type:Function,default:Bx},onError:{type:Function,default:Bx},onExceed:{type:Function,default:Bx}}),S2=dS({name:"ElUploadContent",inheritAttrs:!1}),C2=dS({...S2,props:A2,setup(e,{expose:t}){const n=e,i=ij("upload"),r=nX(),s=wI({}),o=wI(),a=e=>{if(0===e.length)return;const{autoUpload:t,limit:i,fileList:r,multiple:s,onStart:o,onExceed:a}=n;if(i&&r.length+e.length>i)a(e,r);else{s||(e=e.slice(0,1));for(const n of e){const e=n;e.uid=QJ(),o(e),t&&l(e)}}},l=async e=>{if(o.value.value="",!n.beforeUpload)return u(e);let t,i={};try{const r=n.data,s=n.beforeUpload(e);i=rE(n.data)?Q1(n.data):n.data,t=await s,rE(n.data)&&v2(r,i)&&(i=Q1(n.data))}catch(e){t=!1}if(!1===t)return void n.onRemove(e);let r=e;t instanceof Blob&&(r=t instanceof File?t:new File([t],e.name,{type:e.type})),u(Object.assign(r,{uid:e.uid}),i)},u=async(e,t)=>{const{headers:i,data:r,method:o,withCredentials:a,name:l,action:u,onProgress:c,onSuccess:d,onError:h,httpRequest:p}=n;try{t=await(async(e,t)=>Kx(e)?e(t):e)(null!=t?t:r,e)}catch(t){return void n.onRemove(e)}const{uid:f}=e,m={headers:i||{},withCredentials:a,file:e,data:t,method:o,filename:l,action:u,onProgress:t=>{c(t,e)},onSuccess:t=>{d(t,e),delete s.value[f]},onError:t=>{h(t,e),delete s.value[f]}},g=p(m);s.value[f]=g,g instanceof Promise&&g.then(m.onSuccess,m.onError)},c=e=>{const t=e.target.files;t&&a(Array.from(t))},d=()=>{r.value||(o.value.value="",o.value.click())},h=()=>{d()};return t({abort:e=>{const t=(n=s.value,Object.entries(n)).filter(e?([t])=>String(e.uid)===t:()=>!0);var n;t.forEach(([e,t])=>{t instanceof XMLHttpRequest&&t.abort(),delete s.value[e]})},upload:l}),(e,t)=>(uM(),mM("div",{class:CE([CI(i).b(),CI(i).m(e.listType),CI(i).is("drag",e.drag),CI(i).is("disabled",CI(r))]),tabindex:CI(r)?"-1":"0",onClick:d,onKeydown:QR(KR(h,["self"]),["enter","space"])},[e.drag?(uM(),gM(I2,{key:0,disabled:CI(r),onFile:a},{default:LA(()=>[mC(e.$slots,"default")]),_:3},8,["disabled"])):mC(e.$slots,"default",{key:1}),xM("input",{ref_key:"inputRef",ref:o,class:CE(CI(i).e("input")),name:e.name,disabled:CI(r),multiple:e.multiple,accept:e.accept,type:"file",onChange:c,onClick:KR(()=>{},["stop"])},null,42,["name","disabled","multiple","accept","onClick"])],42,["tabindex","onKeydown"]))}});var O2=HH(C2,[["__file","upload-content.vue"]]);const M2="ElUpload",k2=e=>{var t;(null==(t=e.url)?void 0:t.startsWith("blob:"))&&URL.revokeObjectURL(e.url)},R2=(e,t)=>{const n=YH(e,"fileList",void 0,{passive:!0}),i=e=>n.value.find(t=>t.uid===e.uid);function r(e){var n;null==(n=t.value)||n.abort(e)}function s(e){n.value=n.value.filter(t=>t.uid!==e.uid)}return DO(()=>e.listType,t=>{"picture-card"!==t&&"picture"!==t||(n.value=n.value.map(t=>{const{raw:i,url:r}=t;if(!r&&i)try{t.url=URL.createObjectURL(i)}catch(i){e.onError(i,t,n.value)}return t}))}),DO(n,e=>{for(const t of e)t.uid||(t.uid=QJ()),t.status||(t.status="success")},{immediate:!0,deep:!0}),{uploadFiles:n,abort:r,clearFiles:function(e=["ready","uploading","success","fail"]){n.value=n.value.filter(t=>!e.includes(t.status))},handleError:(t,r)=>{const o=i(r);o&&(console.error(t),o.status="fail",s(o),e.onError(t,o,n.value),e.onChange(o,n.value))},handleProgress:(t,r)=>{const s=i(r);s&&(e.onProgress(t,s,n.value),s.status="uploading",s.percentage=Math.round(t.percent))},handleStart:t=>{VX(t.uid)&&(t.uid=QJ());const i={name:t.name,percentage:0,status:"ready",size:t.size,raw:t,uid:t.uid};if("picture-card"===e.listType||"picture"===e.listType)try{i.url=URL.createObjectURL(t)}catch(t){t.message,e.onError(t,i,n.value)}n.value=[...n.value,i],e.onChange(i,n.value)},handleSuccess:(t,r)=>{const s=i(r);s&&(s.status="success",s.response=t,e.onSuccess(t,s,n.value),e.onChange(s,n.value))},handleRemove:async t=>{const o=t instanceof File?i(t):t;o||gW(M2,"file to be removed not found");const a=t=>{r(t),s(t),e.onRemove(t,n.value),k2(t)};if(e.beforeRemove){!1!==await e.beforeRemove(o,n.value)&&a(o)}else a(o)},submit:function(){n.value.filter(({status:e})=>"ready"===e).forEach(({raw:e})=>{var n;return e&&(null==(n=t.value)?void 0:n.upload(e))})},revokeFileObjectURL:k2}},N2=dS({name:"ElUpload"}),D2=dS({...N2,props:e0,setup(e,{expose:t}){const n=e,i=nX(),r=wI(),{abort:s,submit:o,clearFiles:a,uploadFiles:l,handleStart:u,handleError:c,handleRemove:d,handleSuccess:h,handleProgress:p,revokeFileObjectURL:f}=R2(n,r),m=ak(()=>"picture-card"===n.listType),g=ak(()=>({...n,fileList:l.value,onStart:u,onProgress:p,onSuccess:h,onError:c,onRemove:d}));return JS(()=>{l.value.forEach(f)}),eO(jJ,{accept:PI(n,"accept")}),t({abort:s,submit:o,clearFiles:a,handleStart:u,handleRemove:d}),(e,t)=>(uM(),mM("div",null,[CI(m)&&e.showFileList?(uM(),gM(r0,{key:0,disabled:CI(i),"list-type":e.listType,files:CI(l),crossorigin:e.crossorigin,"handle-preview":e.onPreview,onRemove:CI(d)},fC({append:LA(()=>[EM(O2,NM({ref_key:"uploadRef",ref:r},CI(g)),{default:LA(()=>[e.$slots.trigger?mC(e.$slots,"trigger",{key:0}):OM("v-if",!0),!e.$slots.trigger&&e.$slots.default?mC(e.$slots,"default",{key:1}):OM("v-if",!0)]),_:3},16)]),_:2},[e.$slots.file?{name:"default",fn:LA(({file:t,index:n})=>[mC(e.$slots,"file",{file:t,index:n})])}:void 0]),1032,["disabled","list-type","files","crossorigin","handle-preview","onRemove"])):OM("v-if",!0),!CI(m)||CI(m)&&!e.showFileList?(uM(),gM(O2,NM({key:1,ref_key:"uploadRef",ref:r},CI(g)),{default:LA(()=>[e.$slots.trigger?mC(e.$slots,"trigger",{key:0}):OM("v-if",!0),!e.$slots.trigger&&e.$slots.default?mC(e.$slots,"default",{key:1}):OM("v-if",!0)]),_:3},16)):OM("v-if",!0),e.$slots.trigger?mC(e.$slots,"default",{key:2}):OM("v-if",!0),mC(e.$slots,"tip"),!CI(m)&&e.showFileList?(uM(),gM(r0,{key:3,disabled:CI(i),"list-type":e.listType,files:CI(l),crossorigin:e.crossorigin,"handle-preview":e.onPreview,onRemove:CI(d)},fC({_:2},[e.$slots.file?{name:"default",fn:LA(({file:t,index:n})=>[mC(e.$slots,"file",{file:t,index:n})])}:void 0]),1032,["disabled","list-type","files","crossorigin","handle-preview","onRemove"])):OM("v-if",!0)]))}});const F2=AG(HH(D2,[["__file","upload.vue"]]));const L2=function(){return Fj.Date.now()};var P2=/\s/;const B2=function(e){for(var t=e.length;t--&&P2.test(e.charAt(t)););return t};var $2=/^\s+/;const U2=function(e){return e?e.slice(0,B2(e)+1).replace($2,""):e};var V2=/^[-+]0x[0-9a-f]+$/i,z2=/^0b[01]+$/i,j2=/^0o[0-7]+$/i,Y2=parseInt;const G2=function(e){if("number"==typeof e)return e;if(Wj(e))return NaN;if(Zj(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=Zj(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=U2(e);var n=z2.test(e);return n||j2.test(e)?Y2(e.slice(2),n?2:8):V2.test(e)?NaN:+e};var H2=Math.max,W2=Math.min;const X2=function(e,t,n){var i,r,s,o,a,l,u=0,c=!1,d=!1,h=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function p(t){var n=i,s=r;return i=r=void 0,u=t,o=e.apply(s,n)}function f(e){var n=e-l;return void 0===l||n>=t||n<0||d&&e-u>=s}function m(){var e=L2();if(f(e))return g(e);a=setTimeout(m,function(e){var n=t-(e-l);return d?W2(n,s-(e-u)):n}(e))}function g(e){return a=void 0,h&&i?p(e):(i=r=void 0,o)}function _(){var e=L2(),n=f(e);if(i=arguments,r=this,l=e,n){if(void 0===a)return function(e){return u=e,a=setTimeout(m,t),c?p(e):o}(l);if(d)return clearTimeout(a),a=setTimeout(m,t),p(l)}return void 0===a&&(a=setTimeout(m,t)),o}return t=G2(t)||0,Zj(n)&&(c=!!n.leading,s=(d="maxWait"in n)?H2(G2(n.maxWait)||0,t):s,h="trailing"in n?!!n.trailing:h),_.cancel=function(){void 0!==a&&clearTimeout(a),u=0,i=l=r=a=void 0},_.flush=function(){return void 0===a?o:g(L2())},_};const q2=function(e,t,n){var i=!0,r=!0;if("function"!=typeof e)throw new TypeError("Expected a function");return Zj(n)&&(i="leading"in n?!!n.leading:i,r="trailing"in n?!!n.trailing:r),X2(e,t,{leading:i,maxWait:t,trailing:r})},K2=hG({urlList:{type:Array,default:()=>[]},zIndex:{type:Number},initialIndex:{type:Number,default:0},infinite:{type:Boolean,default:!0},hideOnClickModal:Boolean,teleported:Boolean,closeOnPressEscape:{type:Boolean,default:!0},zoomRate:{type:Number,default:1.2},scale:{type:Number,default:1},minScale:{type:Number,default:.2},maxScale:{type:Number,default:7},showProgress:Boolean,crossorigin:{type:String}}),Z2={close:()=>!0,error:e=>e instanceof Event,switch:e=>oj(e),rotate:e=>oj(e)},Q2=dS({name:"ElImageViewer"}),J2=dS({...Q2,props:K2,emits:Z2,setup(e,{expose:t,emit:n}){var i;const r=e,s={CONTAIN:{name:"contain",icon:vI(oH)},ORIGINAL:{name:"original",icon:vI(_H)}};let o,a="";const{t:l}=lG(),u=ij("image-viewer"),{nextZIndex:c}=kj(),d=EI(),h=EI(),p=ZE(),f=ak(()=>{const{scale:e,minScale:t,maxScale:n}=r;return((e,t,n)=>Math.min(n,Math.max(t,e)))(e,t,n)}),m=EI(!0),g=EI(!1),_=EI(r.initialIndex),y=wI(s.CONTAIN),v=EI({scale:f.value,deg:0,offsetX:0,offsetY:0,enableTransition:!1}),b=EI(null!=(i=r.zIndex)?i:c()),T=ak(()=>{const{urlList:e}=r;return e.length<=1}),x=ak(()=>0===_.value),E=ak(()=>_.value===r.urlList.length-1),w=ak(()=>r.urlList[_.value]),I=ak(()=>[u.e("btn"),u.e("prev"),u.is("disabled",!r.infinite&&x.value)]),A=ak(()=>[u.e("btn"),u.e("next"),u.is("disabled",!r.infinite&&E.value)]),S=ak(()=>{const{scale:e,deg:t,offsetX:n,offsetY:i,enableTransition:r}=v.value;let o=n/e,a=i/e;const l=t*Math.PI/180,u=Math.cos(l),c=Math.sin(l);o=o*u+a*c,a=a*u-n/e*c;const d={transform:`scale(${e}) rotate(${t}deg) translate(${o}px, ${a}px)`,transition:r?"transform .3s":""};return y.value.name===s.CONTAIN.name&&(d.maxWidth=d.maxHeight="100%"),d}),C=ak(()=>`${_.value+1} / ${r.urlList.length}`);function O(){p.stop(),null==o||o(),document.body.style.overflow=a,n("close")}function M(){m.value=!1}function k(e){g.value=!0,m.value=!1,n("error",e),e.target.alt=l("el.image.error")}function R(e){if(m.value||0!==e.button||!d.value)return;v.value.enableTransition=!1;const{offsetX:t,offsetY:n}=v.value,i=e.pageX,r=e.pageY,s=q2(e=>{v.value={...v.value,offsetX:t+e.pageX-i,offsetY:n+e.pageY-r}}),o=AH(document,"mousemove",s);AH(document,"mouseup",()=>{o()}),e.preventDefault()}function N(){v.value={scale:f.value,deg:0,offsetX:0,offsetY:0,enableTransition:!1}}function D(){if(m.value||g.value)return;const e=yG(s),t=Object.values(s),n=y.value.name,i=(t.findIndex(e=>e.name===n)+1)%e.length;y.value=s[e[i]],N()}function F(e){g.value=!1;const t=r.urlList.length;_.value=(e+t)%t}function L(){x.value&&!r.infinite||F(_.value-1)}function P(){E.value&&!r.infinite||F(_.value+1)}function B(e,t={}){if(m.value||g.value)return;const{minScale:i,maxScale:s}=r,{zoomRate:o,rotateDeg:a,enableTransition:l}={zoomRate:r.zoomRate,rotateDeg:90,enableTransition:!0,...t};switch(e){case"zoomOut":v.value.scale>i&&(v.value.scale=Number.parseFloat((v.value.scale/o).toFixed(3)));break;case"zoomIn":v.value.scale0?(e.preventDefault(),!1):void 0}return DO(()=>f.value,e=>{v.value.scale=e}),DO(w,()=>{hA(()=>{const e=h.value;(null==e?void 0:e.complete)||(m.value=!0)})}),DO(_,e=>{N(),n("switch",e)}),KS(()=>{!function(){const e=q2(e=>{switch(e.code){case dW.esc:r.closeOnPressEscape&&O();break;case dW.space:D();break;case dW.left:L();break;case dW.up:B("zoomIn");break;case dW.right:P();break;case dW.down:B("zoomOut")}}),t=q2(e=>{B((e.deltaY||e.deltaX)<0?"zoomIn":"zoomOut",{zoomRate:r.zoomRate,enableTransition:!1})});p.run(()=>{AH(document,"keydown",e),AH(document,"wheel",t)})}(),o=AH("wheel",V,{passive:!1}),a=document.body.style.overflow,document.body.style.overflow="hidden"}),t({setActiveItem:F}),(e,t)=>(uM(),gM(CI(XZ),{to:"body",disabled:!e.teleported},{default:LA(()=>[EM(Rk,{name:"viewer-fade",appear:""},{default:LA(()=>[xM("div",{ref_key:"wrapper",ref:d,tabindex:-1,class:CE(CI(u).e("wrapper")),style:EE({zIndex:b.value})},[EM(CI(TQ),{loop:"",trapped:"","focus-trap-el":d.value,"focus-start-el":"container",onFocusoutPrevented:$,onReleaseRequested:U},{default:LA(()=>[xM("div",{class:CE(CI(u).e("mask")),onClick:KR(t=>e.hideOnClickModal&&O(),["self"])},null,10,["onClick"]),OM(" CLOSE "),xM("span",{class:CE([CI(u).e("btn"),CI(u).e("close")]),onClick:O},[EM(CI(JH),null,{default:LA(()=>[EM(CI(QG))]),_:1})],2),OM(" ARROW "),CI(T)?OM("v-if",!0):(uM(),mM(iM,{key:0},[xM("span",{class:CE(CI(I)),onClick:L},[EM(CI(JH),null,{default:LA(()=>[EM(CI(RG))]),_:1})],2),xM("span",{class:CE(CI(A)),onClick:P},[EM(CI(JH),null,{default:LA(()=>[EM(CI(DG))]),_:1})],2)],64)),e.$slots.progress||e.showProgress?(uM(),mM("div",{key:1,class:CE([CI(u).e("btn"),CI(u).e("progress")])},[mC(e.$slots,"progress",{activeIndex:_.value,total:e.urlList.length},()=>[SM(GE(CI(C)),1)])],2)):OM("v-if",!0),OM(" ACTIONS "),xM("div",{class:CE([CI(u).e("btn"),CI(u).e("actions")])},[xM("div",{class:CE(CI(u).e("actions__inner"))},[mC(e.$slots,"toolbar",{actions:B,prev:L,next:P,reset:D,activeIndex:_.value,setActiveItem:F},()=>[EM(CI(JH),{onClick:e=>B("zoomOut")},{default:LA(()=>[EM(CI(EH))]),_:1},8,["onClick"]),EM(CI(JH),{onClick:e=>B("zoomIn")},{default:LA(()=>[EM(CI(xH))]),_:1},8,["onClick"]),xM("i",{class:CE(CI(u).e("actions__divider"))},null,2),EM(CI(JH),{onClick:D},{default:LA(()=>[(uM(),gM(uC(CI(y).icon)))]),_:1}),xM("i",{class:CE(CI(u).e("actions__divider"))},null,2),EM(CI(JH),{onClick:e=>B("anticlockwise")},{default:LA(()=>[EM(CI(mH))]),_:1},8,["onClick"]),EM(CI(JH),{onClick:e=>B("clockwise")},{default:LA(()=>[EM(CI(gH))]),_:1},8,["onClick"])])],2)],2),OM(" CANVAS "),xM("div",{class:CE(CI(u).e("canvas"))},[g.value&&e.$slots["viewer-error"]?mC(e.$slots,"viewer-error",{key:0,activeIndex:_.value,src:CI(w)}):(uM(),mM("img",{ref_key:"imgRef",ref:h,key:CI(w),src:CI(w),style:EE(CI(S)),class:CE(CI(u).e("img")),crossorigin:e.crossorigin,onLoad:M,onError:k,onMousedown:R},null,46,["src","crossorigin"]))],2),mC(e.$slots,"default")]),_:3},8,["focus-trap-el"])],6)]),_:3})]),_:3},8,["disabled"]))}});const e3=AG(HH(J2,[["__file","image-viewer.vue"]])),t3=hG({hideOnClickModal:Boolean,src:{type:String,default:""},fit:{type:String,values:["","contain","cover","fill","none","scale-down"],default:""},loading:{type:String,values:["eager","lazy"]},lazy:Boolean,scrollContainer:{type:[String,Object]},previewSrcList:{type:Array,default:()=>[]},previewTeleported:Boolean,zIndex:{type:Number},initialIndex:{type:Number,default:0},infinite:{type:Boolean,default:!0},closeOnPressEscape:{type:Boolean,default:!0},zoomRate:{type:Number,default:1.2},scale:{type:Number,default:1},minScale:{type:Number,default:.2},maxScale:{type:Number,default:7},showProgress:Boolean,crossorigin:{type:String}}),n3={load:e=>e instanceof Event,error:e=>e instanceof Event,switch:e=>oj(e),close:()=>!0,show:()=>!0},i3=(e,t)=>{if(!_j)return!1;const n=((e,t)=>{var n;if(!_j||!e||!t)return"";let i=cE(t);"float"===i&&(i="cssFloat");try{const t=e.style[i];if(t)return t;const r=null==(n=document.defaultView)?void 0:n.getComputedStyle(e,"");return r?r[i]:""}catch(t){return e.style[i]}})(e,{undefined:"overflow",true:"overflow-y",false:"overflow-x"}[String(t)]);return["scroll","auto","overlay"].some(e=>n.includes(e))};const r3=dS({name:"ElImage",inheritAttrs:!1}),s3=dS({...r3,props:t3,emits:n3,setup(e,{expose:t,emit:n}){const i=e,{t:r}=lG(),s=ij("image"),o=kC(),a=ak(()=>uG(Object.entries(o).filter(([e])=>/^(data-|on[A-Z])/i.test(e)||["id","style"].includes(e)))),l=Pq({excludeListeners:!0,excludeKeys:ak(()=>Object.keys(a.value))}),u=EI(),c=EI(!1),d=EI(!0),h=EI(!1),p=EI(),f=EI(),m=_j&&"loading"in HTMLImageElement.prototype;let g;const _=ak(()=>[s.e("inner"),v.value&&s.e("preview"),d.value&&s.is("loading")]),y=ak(()=>{const{fit:e}=i;return _j&&e?{objectFit:e}:{}}),v=ak(()=>{const{previewSrcList:e}=i;return Hx(e)&&e.length>0}),b=ak(()=>{const{previewSrcList:e,initialIndex:t}=i;let n=t;return t>e.length-1&&(n=0),n}),T=ak(()=>"eager"!==i.loading&&(!m&&"lazy"===i.loading||i.lazy)),x=()=>{_j&&(d.value=!0,c.value=!1,u.value=i.src)};function E(e){d.value=!1,c.value=!1,n("load",e)}function w(e){d.value=!1,c.value=!0,n("error",e)}const I=Ij(function(e){e&&(x(),S())},200,!0);async function A(){var e;if(!_j)return;await hA();const{scrollContainer:t}=i;if(aj(t))f.value=t;else if(Zx(t)&&""!==t)f.value=null!=(e=document.querySelector(t))?e:void 0;else if(p.value){const e=((e,t)=>{if(!_j)return;let n=e;for(;n;){if([window,document,document.documentElement].includes(n))return window;if(i3(n,t))return n;n=n.parentNode}return n})(p.value);f.value=e===window?void 0:e}const{stop:n}=function(e,t,n={}){const{root:i,rootMargin:r="0px",threshold:s=.1,window:o=IH}=n,a=CH(()=>o&&"IntersectionObserver"in o);let l=vj;const u=a.value?DO(()=>({el:wH(e),root:wH(i)}),({el:e,root:n})=>{if(l(),!e)return;const i=new IntersectionObserver(t,{root:n,rootMargin:r,threshold:s});i.observe(e),l=()=>{i.disconnect(),l=vj}},{immediate:!0,flush:"post"}):vj,c=()=>{l(),u()};return wj(c),{isSupported:a,stop:c}}(p,([e])=>{I(e.isIntersecting)},{root:f});g=n}function S(){_j&&I&&(null==g||g(),f.value=void 0,g=void 0)}function C(){v.value&&(h.value=!0,n("show"))}function O(){h.value=!1,n("close")}function M(e){n("switch",e)}return DO(()=>i.src,()=>{T.value?(d.value=!0,c.value=!1,S(),A()):x()}),KS(()=>{T.value?A():x()}),t({showPreview:C}),(e,t)=>(uM(),mM("div",NM({ref_key:"container",ref:p},CI(a),{class:[CI(s).b(),e.$attrs.class]}),[c.value?mC(e.$slots,"error",{key:0},()=>[xM("div",{class:CE(CI(s).e("error"))},GE(CI(r)("el.image.error")),3)]):(uM(),mM(iM,{key:1},[void 0!==u.value?(uM(),mM("img",NM({key:0},CI(l),{src:u.value,loading:e.loading,style:CI(y),class:CI(_),crossorigin:e.crossorigin,onClick:C,onLoad:E,onError:w}),null,16,["src","loading","crossorigin"])):OM("v-if",!0),d.value?(uM(),mM("div",{key:1,class:CE(CI(s).e("wrapper"))},[mC(e.$slots,"placeholder",{},()=>[xM("div",{class:CE(CI(s).e("placeholder"))},null,2)])],2)):OM("v-if",!0)],64)),CI(v)?(uM(),mM(iM,{key:2},[h.value?(uM(),gM(CI(e3),{key:0,"z-index":e.zIndex,"initial-index":CI(b),infinite:e.infinite,"zoom-rate":e.zoomRate,"min-scale":e.minScale,"max-scale":e.maxScale,"show-progress":e.showProgress,"url-list":e.previewSrcList,scale:e.scale,crossorigin:e.crossorigin,"hide-on-click-modal":e.hideOnClickModal,teleported:e.previewTeleported,"close-on-press-escape":e.closeOnPressEscape,onClose:O,onSwitch:M},fC({toolbar:LA(t=>[mC(e.$slots,"toolbar",OE(IM(t)))]),default:LA(()=>[e.$slots.viewer?(uM(),mM("div",{key:0},[mC(e.$slots,"viewer")])):OM("v-if",!0)]),_:2},[e.$slots.progress?{name:"progress",fn:LA(t=>[mC(e.$slots,"progress",OE(IM(t)))])}:void 0,e.$slots["viewer-error"]?{name:"viewer-error",fn:LA(t=>[mC(e.$slots,"viewer-error",OE(IM(t)))])}:void 0]),1032,["z-index","initial-index","infinite","zoom-rate","min-scale","max-scale","show-progress","url-list","scale","crossorigin","hide-on-click-modal","teleported","close-on-press-escape"])):OM("v-if",!0)],64)):OM("v-if",!0)],16))}});const o3=AG(HH(s3,[["__file","image.vue"]])),a3={class:"card-header"},l3={key:0,class:"disabled-tag",style:{color:"#f56c6c","margin-left":"8px","font-size":"13px"}},u3={class:"el-dropdown-link"},c3={class:"card-content",style:{"flex-direction":"column",display:"flex"}},d3={class:"card-content-info"},h3={style:{display:"flex",gap:"4px"}},p3={__name:"ClassBox",props:{title:{type:String,default:"类别"},picList:{type:Array,default:()=>[]},disabled:{type:Boolean,default:!1}},emits:["add-sample","delete-sample","rename-class","delete-class","disable-class","clear-samples"],setup(e,{emit:t}){const n=e,i=t,r=EI(n.title),s=EI(!1),o=EI(r.value),a=EI(null),l=EI(null);function u(){s.value||(s.value=!0,o.value=r.value,hA(()=>{a.value&&a.value.input&&a.value.input.select()}))}function c(){o.value.trim()&&(r.value=o.value.trim(),i("rename-class",r.value)),s.value=!1}function d(){i("add-sample")}function h(){d(),l.value=setInterval(()=>{d()},200)}function p(){l.value&&(clearInterval(l.value),l.value=null)}function f(){i("delete-class")}function m(){i("disable-class")}function g(){i("clear-samples")}function _(){const e=new(UX());n.picList.forEach((t,n)=>{const i=t.split(",")[1];e.file(`sample_${n+1}.png`,i,{base64:!0})}),e.generateAsync({type:"blob"}).then(e=>{(0,BX.saveAs)(e,"samples.zip")})}function y(e){return new Promise((t,n)=>{if("application/zip"===e.type||e.name.endsWith(".zip")){const r=new(UX());r.loadAsync(e).then(e=>{const n=Object.values(e.files).filter(e=>!e.dir&&e.name.match(/\.(png|jpg|jpeg|gif|bmp)$/i));Promise.all(n.map(e=>r.file(e.name).async("blob").then(t=>{const n=new File([t],e.name,{type:t.type}),i=new FileReader;return i.readAsDataURL(n),new Promise(e=>i.onload=e)}))).then(e=>{e.forEach(e=>i("add-sample",e.target.result)),t(!1)})}).catch(n)}else{const r=new FileReader;r.onload=e=>{i("add-sample",e.target.result),t(!1)},r.onerror=n,r.readAsDataURL(e)}})}return DO(()=>n.title,e=>{r.value=e}),(e,t)=>(uM(),gM(CI(PX),{class:"class-box"},{header:LA(()=>[xM("div",a3,[xM("span",{class:"card-header-title",style:{cursor:"pointer"},onClick:u},[s.value?(uM(),gM(CI(jq),{key:1,ref_key:"inputRef",ref:a,modelValue:o.value,"onUpdate:modelValue":t[0]||(t[0]=e=>o.value=e),style:{width:"120px"},onKeyup:QR(c,["enter"]),onBlur:c},null,8,["modelValue"])):(uM(),mM(iM,{key:0},[SM(GE(r.value)+" ",1),EM(CI(JH),{onClick:KR(u,["stop"])},{default:LA(()=>[EM(CI(rH))]),_:1}),n.disabled?(uM(),mM("span",l3," 禁用 ")):OM("v-if",!0)],64))]),EM(CI(UJ),{class:"card-header-title"},{dropdown:LA(()=>[EM(CI(zJ),{class:"class-box-dropdown"},{default:LA(()=>[EM(CI(VJ),{class:"class-box-dropdown-item",onClick:f},{default:LA(()=>t[1]||(t[1]=[xM("span",{style:{color:"#f56c6c"}},"删除类别",-1)])),_:1}),EM(CI(VJ),{class:"class-box-dropdown-item",onClick:m},{default:LA(()=>[SM(GE(n.disabled?"启用":"禁用")+"类别 ",1)]),_:1}),EM(CI(VJ),{class:"class-box-dropdown-item",disabled:0===n.picList.length,onClick:g},{default:LA(()=>t[2]||(t[2]=[SM(" 清空样本 ")])),_:1},8,["disabled"]),EM(CI(VJ),{class:"class-box-dropdown-item",disabled:0===n.picList.length,onClick:_},{default:LA(()=>t[3]||(t[3]=[SM(" 导出样本 ")])),_:1},8,["disabled"])]),_:1})]),default:LA(()=>[xM("span",u3,[EM(CI(JH),null,{default:LA(()=>[EM(CI(fH))]),_:1})])]),_:1})])]),default:LA(()=>[xM("div",c3,[xM("div",d3,[SM(" 图像样本 "+GE(n.picList.length)+" ",1),xM("div",h3,[EM(CI(NX),{type:"primary",size:"small",disabled:n.disabled,onMousedown:h,onMouseup:p,onMouseleave:p},{default:LA(()=>[t[4]||(t[4]=SM(" 拍摄样本 ")),EM(CI(JH),null,{default:LA(()=>[EM(CI(BG))]),_:1})]),_:1},8,["disabled"]),EM(CI(F2),{"show-file-list":!1,"before-upload":y,accept:"image/*,.zip",disabled:n.disabled},{default:LA(()=>[EM(CI(NX),{plain:"",type:"primary",size:"small",disabled:n.disabled},{default:LA(()=>[t[5]||(t[5]=SM(" 上传样本 ")),EM(CI(JH),null,{default:LA(()=>[EM(CI(KG))]),_:1})]),_:1},8,["disabled"])]),_:1},8,["disabled"])])]),EM(OR,{name:"fade",tag:"div",class:"card-content-img"},{default:LA(()=>[(uM(!0),mM(iM,null,pC(n.picList.slice().reverse(),e=>(uM(),mM("div",{key:e,class:"card-content-img-wrapper",style:{position:"relative",display:"inline-block"}},[EM(CI(o3),{src:e,class:CE(["card-content-img-item",{"img-disabled":n.disabled}])},null,8,["src","class"]),EM(CI(JH),{class:"delete-icon",onClick:t=>function(e){i("delete-sample",e)}(e)},{default:LA(()=>[EM(CI(eH))]),_:2},1032,["onClick"])]))),128))]),_:1})])]),_:1}))}},f3=p3,m3={class:"camera-box"},g3={__name:"CameraBox",setup(e,{expose:t}){const n=EI(null),i=tO("shotList");return KS(()=>{navigator.mediaDevices.getUserMedia({video:!0}).then(e=>{n.value&&(n.value.srcObject=e)}).catch(e=>{console.error("无法访问摄像头:",e)})}),t({captureShot:function(){const e=n.value;if(!e)return;const t=e.videoWidth,r=e.videoHeight;let s=0,o=0,a=t,l=r;t>r?(s=(t-r)/2,a=r):r>t&&(o=(r-t)/2,l=t);const u=Math.min(a,l),c=document.createElement("canvas");return c.width=u,c.height=u,c.getContext("2d").drawImage(e,s,o,u,u,0,0,u,u),i.value.push(c.toDataURL("image/png")),c.toDataURL("image/png")}}),(e,t)=>(uM(),mM("div",m3,[xM("video",{id:"webcam",ref_key:"videoRef",ref:n,class:"video-crop",autoplay:"",playsinline:"",muted:"",height:"100%",width:"100%"},null,512)]))}};var _3=__webpack_require__(66262);const y3=(0,_3.A)(g3,[["__scopeId","data-v-da91b390"]]);var v3=__webpack_require__(15838),b3=__webpack_require__(15441),T3=__webpack_require__(29809),x3=__webpack_require__(9258),E3=__webpack_require__(10700); /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -10174,7 +10174,7 @@ var EG=sS({name:"ArrowDown",__name:"arrow-down",setup:e=>(e,t)=>(iM(),uM("svg",{ * limitations under the License. * ============================================================================= */ -const y3={kernelName:f3.ljI,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>(0,g3.l)(e,(0,_3.P)((0,m3.w)(n,"float32"),-1))}}};var v3=__webpack_require__(89359),b3=__webpack_require__(96522),T3=__webpack_require__(45702),x3=__webpack_require__(79348),E3=__webpack_require__(45793),w3=__webpack_require__(77126); +const w3={kernelName:b3.ljI,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>(0,x3.l)(e,(0,E3.P)((0,T3.w)(n,"float32"),-1))}}};var I3=__webpack_require__(89359),A3=__webpack_require__(96522),S3=__webpack_require__(45702),C3=__webpack_require__(79348),O3=__webpack_require__(45793),M3=__webpack_require__(77126); /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -10191,7 +10191,7 @@ const y3={kernelName:f3.ljI,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;retur * limitations under the License. * ============================================================================= */ -const I3={kernelName:f3.Vvy,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>{const t=(0,E3.E)((0,m3.w)(n,"float32")),i=(0,x3.R)((0,w3.j)((0,T3.d)(1),t));return(0,b3.H)((0,v3.y)(e,i))}}}},A3={kernelName:f3.PH8,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>{const t=(0,x3.R)((0,w3.j)((0,E3.E)((0,m3.w)(n,"float32")),1));return(0,v3.y)(e,t)}}}};var S3=__webpack_require__(62198),C3=__webpack_require__(62302),O3=__webpack_require__(83791); +const k3={kernelName:b3.Vvy,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>{const t=(0,O3.E)((0,T3.w)(n,"float32")),i=(0,C3.R)((0,M3.j)((0,S3.d)(1),t));return(0,A3.H)((0,I3.y)(e,i))}}}},R3={kernelName:b3.PH8,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>{const t=(0,C3.R)((0,M3.j)((0,O3.E)((0,T3.w)(n,"float32")),1));return(0,I3.y)(e,t)}}}};var N3=__webpack_require__(62198),D3=__webpack_require__(62302),F3=__webpack_require__(83791); /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -10208,7 +10208,7 @@ const I3={kernelName:f3.Vvy,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;retur * limitations under the License. * ============================================================================= */ -const M3={kernelName:f3.OMN,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,i]=t,r=S3.assertAndGetBroadcastShape(n.shape,i.shape);return{a:()=>{let t=e;const i=S3.getReductionAxes(n.shape,r);return i.length>0&&(t=(0,O3.c)(t,i)),(0,C3.t)(t,n.shape)},b:()=>{let t=e;const n=S3.getReductionAxes(i.shape,r);return n.length>0&&(t=(0,O3.c)(t,n)),(0,C3.t)(t,i.shape)}}}},k3={kernelName:f3.EkD,saveAllInputs:!0,gradFunc:(e,t)=>{const n={};return t.forEach((t,i)=>{n[i]=()=>e.clone()}),n}};var R3=__webpack_require__(55537); +const L3={kernelName:b3.OMN,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,i]=t,r=N3.assertAndGetBroadcastShape(n.shape,i.shape);return{a:()=>{let t=e;const i=N3.getReductionAxes(n.shape,r);return i.length>0&&(t=(0,F3.c)(t,i)),(0,D3.t)(t,n.shape)},b:()=>{let t=e;const n=N3.getReductionAxes(i.shape,r);return n.length>0&&(t=(0,F3.c)(t,n)),(0,D3.t)(t,i.shape)}}}},P3={kernelName:b3.EkD,saveAllInputs:!0,gradFunc:(e,t)=>{const n={};return t.forEach((t,i)=>{n[i]=()=>e.clone()}),n}};var B3=__webpack_require__(55537); /** * @license * Copyright 2020 Google Inc. All Rights Reserved. @@ -10225,7 +10225,7 @@ const M3={kernelName:f3.OMN,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,i]=t * limitations under the License. * ============================================================================= */ -const N3={kernelName:f3.Jp_,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>(0,R3.P)(n)}}},D3={kernelName:f3.p_m,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>(0,R3.P)(n)}}},F3={kernelName:f3.QKF,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>(0,v3.y)(e,(0,x3.R)((0,w3.j)((0,T3.d)(1),(0,E3.E)((0,m3.w)(n,"float32")))))}}};var L3=__webpack_require__(37523); +const $3={kernelName:b3.Jp_,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>(0,B3.P)(n)}}},U3={kernelName:b3.p_m,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>(0,B3.P)(n)}}},V3={kernelName:b3.QKF,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>(0,I3.y)(e,(0,C3.R)((0,M3.j)((0,S3.d)(1),(0,O3.E)((0,T3.w)(n,"float32")))))}}};var z3=__webpack_require__(37523); /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -10242,7 +10242,7 @@ const N3={kernelName:f3.Jp_,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;retur * limitations under the License. * ============================================================================= */ -const P3={kernelName:f3.epO,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>{const t=(0,x3.R)((0,L3.W)((0,T3.d)(1),(0,E3.E)((0,m3.w)(n,"float32"))));return(0,v3.y)(e,t)}}}},B3={kernelName:f3.lxb,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,i]=t,r=(0,S3.assertAndGetBroadcastShape)(n.shape,i.shape);return{a:()=>{const t=(0,L3.W)((0,E3.E)(n),(0,E3.E)(i));let s=(0,g3.l)(e,(0,v3.y)(i,t));const o=(0,S3.getReductionAxes)(n.shape,r);return o.length>0&&(s=(0,O3.c)(s,o)),(0,C3.t)(s,n.shape)},b:()=>{const t=(0,L3.W)((0,E3.E)(n),(0,E3.E)(i));let s=(0,b3.H)((0,g3.l)(e,(0,v3.y)(n,t)));const o=(0,S3.getReductionAxes)(i.shape,r);return o.length>0&&(s=(0,O3.c)(s,o)),(0,C3.t)(s,i.shape)}}}},$3={kernelName:f3.TyE,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>(0,v3.y)(e,(0,L3.W)((0,E3.E)((0,m3.w)(n,"float32")),1))}}},U3={kernelName:f3.zP9,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>(0,v3.y)(e,(0,w3.j)((0,T3.d)(1),(0,E3.E)((0,m3.w)(n,"float32"))))}}};var V3=__webpack_require__(41585),z3=__webpack_require__(28189),j3=__webpack_require__(45119),Y3=__webpack_require__(47195),G3=__webpack_require__(70929);const H3=(0,G3.op)({avgPool3dGrad_: +const j3={kernelName:b3.epO,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>{const t=(0,C3.R)((0,z3.W)((0,S3.d)(1),(0,O3.E)((0,T3.w)(n,"float32"))));return(0,I3.y)(e,t)}}}},Y3={kernelName:b3.lxb,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,i]=t,r=(0,N3.assertAndGetBroadcastShape)(n.shape,i.shape);return{a:()=>{const t=(0,z3.W)((0,O3.E)(n),(0,O3.E)(i));let s=(0,x3.l)(e,(0,I3.y)(i,t));const o=(0,N3.getReductionAxes)(n.shape,r);return o.length>0&&(s=(0,F3.c)(s,o)),(0,D3.t)(s,n.shape)},b:()=>{const t=(0,z3.W)((0,O3.E)(n),(0,O3.E)(i));let s=(0,A3.H)((0,x3.l)(e,(0,I3.y)(n,t)));const o=(0,N3.getReductionAxes)(i.shape,r);return o.length>0&&(s=(0,F3.c)(s,o)),(0,D3.t)(s,i.shape)}}}},G3={kernelName:b3.TyE,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>(0,I3.y)(e,(0,z3.W)((0,O3.E)((0,T3.w)(n,"float32")),1))}}},H3={kernelName:b3.zP9,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>(0,I3.y)(e,(0,M3.j)((0,S3.d)(1),(0,O3.E)((0,T3.w)(n,"float32"))))}}};var W3=__webpack_require__(41585),X3=__webpack_require__(28189),q3=__webpack_require__(45119),K3=__webpack_require__(47195),Z3=__webpack_require__(70929);const Q3=(0,Z3.op)({avgPool3dGrad_: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -10259,7 +10259,7 @@ const P3={kernelName:f3.epO,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;retur * limitations under the License. * ============================================================================= */ -function(e,t,n,i,r,s){const o=(0,z3.YT)(e,"dy","avgPool3dGrad"),a=(0,z3.YT)(t,"input","avgPool3dGrad");let l=o,u=a,c=!1;4===a.rank&&(c=!0,l=(0,C3.t)(o,[1,o.shape[0],o.shape[1],o.shape[2],o.shape[3]]),u=(0,C3.t)(a,[1,a.shape[0],a.shape[1],a.shape[2],a.shape[3]])),j3.vA(5===l.rank,()=>`Error in avgPool3dGrad: dy must be rank 5 but got rank ${l.rank}.`),j3.vA(5===u.rank,()=>`Error in avgPool3dGrad: input must be rank 5 but got rank ${u.rank}.`),(0,Y3.s_)("avgPool3dGrad",r,s);const d={dy:l,input:u},h={filterSize:n,strides:i,pad:r,dimRoundingMode:s},p=V3.T2.runKernel(f3.wwC,d,h);return c?(0,C3.t)(p,[p.shape[1],p.shape[2],p.shape[3],p.shape[4]]):p}}),W3={kernelName:f3.cS,inputsToSave:["x"],gradFunc:(e,t,n)=>{const[i]=t,{filterSize:r,strides:s,pad:o,dimRoundingMode:a}=n;return{x:()=>H3(e,i,r,s,o,a)}}};const X3=(0,G3.op)({avgPoolGrad_: +function(e,t,n,i,r,s){const o=(0,X3.YT)(e,"dy","avgPool3dGrad"),a=(0,X3.YT)(t,"input","avgPool3dGrad");let l=o,u=a,c=!1;4===a.rank&&(c=!0,l=(0,D3.t)(o,[1,o.shape[0],o.shape[1],o.shape[2],o.shape[3]]),u=(0,D3.t)(a,[1,a.shape[0],a.shape[1],a.shape[2],a.shape[3]])),q3.vA(5===l.rank,()=>`Error in avgPool3dGrad: dy must be rank 5 but got rank ${l.rank}.`),q3.vA(5===u.rank,()=>`Error in avgPool3dGrad: input must be rank 5 but got rank ${u.rank}.`),(0,K3.s_)("avgPool3dGrad",r,s);const d={dy:l,input:u},h={filterSize:n,strides:i,pad:r,dimRoundingMode:s},p=W3.T2.runKernel(b3.wwC,d,h);return c?(0,D3.t)(p,[p.shape[1],p.shape[2],p.shape[3],p.shape[4]]):p}}),J3={kernelName:b3.cS,inputsToSave:["x"],gradFunc:(e,t,n)=>{const[i]=t,{filterSize:r,strides:s,pad:o,dimRoundingMode:a}=n;return{x:()=>Q3(e,i,r,s,o,a)}}};const e4=(0,Z3.op)({avgPoolGrad_: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -10276,7 +10276,7 @@ function(e,t,n,i,r,s){const o=(0,z3.YT)(e,"dy","avgPool3dGrad"),a=(0,z3.YT)(t,"i * limitations under the License. * ============================================================================= */ -function(e,t,n,i,r){const s=(0,z3.YT)(e,"dy","avgPoolGrad"),o=(0,z3.YT)(t,"input","avgPoolGrad");j3.vA(o.rank===s.rank,()=>`Rank of input (${o.rank}) does not match rank of dy (${s.rank})`);let a=o,l=s,u=!1;3===o.rank&&(u=!0,a=(0,C3.t)(o,[1,o.shape[0],o.shape[1],o.shape[2]]),l=(0,C3.t)(s,[1,s.shape[0],s.shape[1],s.shape[2]])),j3.vA(4===l.rank,()=>`Error in avgPoolGrad: dy must be rank 4 but got rank ${l.rank}.`),j3.vA(4===a.rank,()=>`Error in avgPoolGrad: input must be rank 4 but got rank ${a.rank}.`);const c={dy:l,input:a},d={filterSize:n,strides:i,pad:r},h=V3.T2.runKernel(f3.VCH,c,d);return u?(0,C3.t)(h,[h.shape[1],h.shape[2],h.shape[3]]):h}}),q3={kernelName:f3.ho8,inputsToSave:["x"],gradFunc:(e,t,n)=>{const[i]=t,{filterSize:r,strides:s,pad:o}=n;return{x:()=>X3(e,i,r,s,o)}}};var K3=__webpack_require__(65703); +function(e,t,n,i,r){const s=(0,X3.YT)(e,"dy","avgPoolGrad"),o=(0,X3.YT)(t,"input","avgPoolGrad");q3.vA(o.rank===s.rank,()=>`Rank of input (${o.rank}) does not match rank of dy (${s.rank})`);let a=o,l=s,u=!1;3===o.rank&&(u=!0,a=(0,D3.t)(o,[1,o.shape[0],o.shape[1],o.shape[2]]),l=(0,D3.t)(s,[1,s.shape[0],s.shape[1],s.shape[2]])),q3.vA(4===l.rank,()=>`Error in avgPoolGrad: dy must be rank 4 but got rank ${l.rank}.`),q3.vA(4===a.rank,()=>`Error in avgPoolGrad: input must be rank 4 but got rank ${a.rank}.`);const c={dy:l,input:a},d={filterSize:n,strides:i,pad:r},h=W3.T2.runKernel(b3.VCH,c,d);return u?(0,D3.t)(h,[h.shape[1],h.shape[2],h.shape[3]]):h}}),t4={kernelName:b3.ho8,inputsToSave:["x"],gradFunc:(e,t,n)=>{const[i]=t,{filterSize:r,strides:s,pad:o}=n;return{x:()=>e4(e,i,r,s,o)}}};var n4=__webpack_require__(65703); /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -10293,7 +10293,7 @@ function(e,t,n,i,r){const s=(0,z3.YT)(e,"dy","avgPoolGrad"),o=(0,z3.YT)(t,"input * limitations under the License. * ============================================================================= */ -const Z3={kernelName:f3.jAQ,inputsToSave:["a","b"],gradFunc:(e,t,n)=>{const[i,r]=t,{transposeA:s,transposeB:o}=n;return s||o?!s&&o?{a:()=>(0,K3.N)(e,r,!1,!1),b:()=>(0,K3.N)(e,i,!0,!1)}:s&&!o?{a:()=>(0,K3.N)(r,e,!1,!0),b:()=>(0,K3.N)(i,e,!1,!1)}:{a:()=>(0,K3.N)(r,e,!0,!0),b:()=>(0,K3.N)(e,i,!0,!0)}:{a:()=>(0,K3.N)(e,r,!1,!0),b:()=>(0,K3.N)(i,e,!0,!1)}}};var Q3=__webpack_require__(10776); +const i4={kernelName:b3.jAQ,inputsToSave:["a","b"],gradFunc:(e,t,n)=>{const[i,r]=t,{transposeA:s,transposeB:o}=n;return s||o?!s&&o?{a:()=>(0,n4.N)(e,r,!1,!1),b:()=>(0,n4.N)(e,i,!0,!1)}:s&&!o?{a:()=>(0,n4.N)(r,e,!1,!0),b:()=>(0,n4.N)(i,e,!1,!1)}:{a:()=>(0,n4.N)(r,e,!0,!0),b:()=>(0,n4.N)(e,i,!0,!0)}:{a:()=>(0,n4.N)(e,r,!1,!0),b:()=>(0,n4.N)(i,e,!0,!1)}}};var r4=__webpack_require__(10776); /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -10310,7 +10310,7 @@ const Z3={kernelName:f3.jAQ,inputsToSave:["a","b"],gradFunc:(e,t,n)=>{const[i,r] * limitations under the License. * ============================================================================= */ -const J3={kernelName:f3.Ik2,gradFunc:(e,t,n)=>{const{blockShape:i,crops:r}=n;return{x:()=>(0,Q3.e)(e,i,r)}}},e4={kernelName:f3.LB5,gradFunc:(e,t,n)=>{const i=n,r=i.inputShape,s=i.shape,o=Array.from(s);for(let e=r.length-1;e>=0;e--)if(r[e]===s[e])o[e]=1;else if(1!==r[e])throw new Error(`broadcastTo(): [${r}] cannot be broadcast to [${s}].`);const a=[];for(let e=0;e1&&a.push(e);return{x:()=>(0,O3.c)(e,a,!0)}}},t4={kernelName:f3.KXH,gradFunc:e=>({x:()=>e.clone()})},n4={kernelName:f3.QDP,gradFunc:e=>({x:()=>(0,R3.P)(e)})};var i4=__webpack_require__(13337),r4=__webpack_require__(56508),s4=__webpack_require__(13789),o4=__webpack_require__(12151); +const s4={kernelName:b3.Ik2,gradFunc:(e,t,n)=>{const{blockShape:i,crops:r}=n;return{x:()=>(0,r4.e)(e,i,r)}}},o4={kernelName:b3.LB5,gradFunc:(e,t,n)=>{const i=n,r=i.inputShape,s=i.shape,o=Array.from(s);for(let e=r.length-1;e>=0;e--)if(r[e]===s[e])o[e]=1;else if(1!==r[e])throw new Error(`broadcastTo(): [${r}] cannot be broadcast to [${s}].`);const a=[];for(let e=0;e1&&a.push(e);return{x:()=>(0,F3.c)(e,a,!0)}}},a4={kernelName:b3.KXH,gradFunc:e=>({x:()=>e.clone()})},l4={kernelName:b3.QDP,gradFunc:e=>({x:()=>(0,B3.P)(e)})};var u4=__webpack_require__(13337),c4=__webpack_require__(56508),d4=__webpack_require__(13789),h4=__webpack_require__(12151); /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -10327,7 +10327,7 @@ const J3={kernelName:f3.Ik2,gradFunc:(e,t,n)=>{const{blockShape:i,crops:r}=n;ret * limitations under the License. * ============================================================================= */ -const a4={kernelName:f3.vaV,inputsToSave:["x"],gradFunc:(e,t,n)=>{const[i]=t,{clipValueMin:r,clipValueMax:s}=n;return{x:()=>(0,o4._)((0,s4.n)((0,i4.D)(i,r),(0,r4.I)(i,s)),e,(0,R3.P)(e))}}},l4={kernelName:f3.$zE,inputsToSave:["x"],gradFunc:y3.gradFunc};var u4=__webpack_require__(66512); +const p4={kernelName:b3.vaV,inputsToSave:["x"],gradFunc:(e,t,n)=>{const[i]=t,{clipValueMin:r,clipValueMax:s}=n;return{x:()=>(0,h4._)((0,d4.n)((0,u4.D)(i,r),(0,c4.I)(i,s)),e,(0,B3.P)(e))}}},f4={kernelName:b3.$zE,inputsToSave:["x"],gradFunc:w3.gradFunc};var m4=__webpack_require__(66512); /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -10344,7 +10344,7 @@ const a4={kernelName:f3.vaV,inputsToSave:["x"],gradFunc:(e,t,n)=>{const[i]=t,{cl * limitations under the License. * ============================================================================= */ -const c4={kernelName:f3.$dB,saveAllInputs:!0,gradFunc:(e,t,n)=>{const i=t.map(e=>e.shape),{axis:r}=n,s=(0,j3.Y6)(r,t[0].shape)[0],o=i.map(e=>e[s]);return(0,u4.l)(e,o,s).map(e=>()=>e)}};var d4=__webpack_require__(25248),h4=__webpack_require__(80252); +const g4={kernelName:b3.$dB,saveAllInputs:!0,gradFunc:(e,t,n)=>{const i=t.map(e=>e.shape),{axis:r}=n,s=(0,q3.Y6)(r,t[0].shape)[0],o=i.map(e=>e[s]);return(0,m4.l)(e,o,s).map(e=>()=>e)}};var _4=__webpack_require__(25248),y4=__webpack_require__(80252); /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -10361,7 +10361,7 @@ const c4={kernelName:f3.$dB,saveAllInputs:!0,gradFunc:(e,t,n)=>{const i=t.map(e= * limitations under the License. * ============================================================================= */ -const p4={kernelName:f3.p2J,inputsToSave:["x","filter"],gradFunc:(e,t,n)=>{const[i,r]=t,{dilations:s,strides:o,pad:a,dataFormat:l}=n;return j3.vA(Y3.Dh(s),()=>`Error in gradient of conv2D: dilation rates greater than 1 are not yet supported in gradients. Got dilations '${s}'`),{x:()=>(0,h4.v)(i.shape,e,r,o,a,l),filter:()=>(0,d4.H)(i,e,r.shape,o,a,l)}}};var f4=__webpack_require__(28794); +const v4={kernelName:b3.p2J,inputsToSave:["x","filter"],gradFunc:(e,t,n)=>{const[i,r]=t,{dilations:s,strides:o,pad:a,dataFormat:l}=n;return q3.vA(K3.Dh(s),()=>`Error in gradient of conv2D: dilation rates greater than 1 are not yet supported in gradients. Got dilations '${s}'`),{x:()=>(0,y4.v)(i.shape,e,r,o,a,l),filter:()=>(0,_4.H)(i,e,r.shape,o,a,l)}}};var b4=__webpack_require__(28794); /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -10378,7 +10378,7 @@ const p4={kernelName:f3.p2J,inputsToSave:["x","filter"],gradFunc:(e,t,n)=>{const * limitations under the License. * ============================================================================= */ -const m4={kernelName:f3.jfg,inputsToSave:["dy","filter"],gradFunc:(e,t,n)=>{const[i,r]=t,{strides:s,pad:o,dataFormat:a,dimRoundingMode:l}=n;return{dy:()=>(0,f4.X)(e,r,s,o,a,1,l),filter:()=>(0,d4.H)(e,i,r.shape,s,o,a,l)}}};const g4=(0,G3.op)({conv3DBackpropFilter_: +const T4={kernelName:b3.jfg,inputsToSave:["dy","filter"],gradFunc:(e,t,n)=>{const[i,r]=t,{strides:s,pad:o,dataFormat:a,dimRoundingMode:l}=n;return{dy:()=>(0,b4.X)(e,r,s,o,a,1,l),filter:()=>(0,_4.H)(e,i,r.shape,s,o,a,l)}}};const x4=(0,Z3.op)({conv3DBackpropFilter_: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -10395,7 +10395,7 @@ const m4={kernelName:f3.jfg,inputsToSave:["dy","filter"],gradFunc:(e,t,n)=>{cons * limitations under the License. * ============================================================================= */ -function(e,t,n,i,r){let s=e;4===e.rank&&(s=(0,C3.t)(e,[1,e.shape[0],e.shape[1],e.shape[2],e.shape[3]]));let o=t;4===o.rank&&(o=(0,C3.t)(t,[1,t.shape[0],t.shape[1],t.shape[2],t.shape[3]])),j3.vA(5===s.rank,()=>`Error in conv3dDerFilter: input must be rank 5, but got shape ${s.shape}.`),j3.vA(5===o.rank,()=>`Error in conv3dDerFilter: dy must be rank 5, but got shape ${o.shape}.`),j3.vA(5===n.length,()=>`Error in conv3dDerFilter: filterShape must be length 5, but got ${n}.`),j3.vA(s.shape[4]===n[3],()=>`Error in conv3dDerFilter: depth of input ${s.shape[4]}) must match input depth in filter (${n[3]}.`),j3.vA(o.shape[4]===n[4],()=>`Error in conv3dDerFilter: depth of dy (${o.shape[4]}) must match output depth for filter (${n[4]}).`);const a={x:s,dy:o},l={strides:i,pad:r,filterShape:n};return V3.T2.runKernel(f3.iGz,a,l)}});var _4=__webpack_require__(31895); +function(e,t,n,i,r){let s=e;4===e.rank&&(s=(0,D3.t)(e,[1,e.shape[0],e.shape[1],e.shape[2],e.shape[3]]));let o=t;4===o.rank&&(o=(0,D3.t)(t,[1,t.shape[0],t.shape[1],t.shape[2],t.shape[3]])),q3.vA(5===s.rank,()=>`Error in conv3dDerFilter: input must be rank 5, but got shape ${s.shape}.`),q3.vA(5===o.rank,()=>`Error in conv3dDerFilter: dy must be rank 5, but got shape ${o.shape}.`),q3.vA(5===n.length,()=>`Error in conv3dDerFilter: filterShape must be length 5, but got ${n}.`),q3.vA(s.shape[4]===n[3],()=>`Error in conv3dDerFilter: depth of input ${s.shape[4]}) must match input depth in filter (${n[3]}.`),q3.vA(o.shape[4]===n[4],()=>`Error in conv3dDerFilter: depth of dy (${o.shape[4]}) must match output depth for filter (${n[4]}).`);const a={x:s,dy:o},l={strides:i,pad:r,filterShape:n};return W3.T2.runKernel(b3.iGz,a,l)}});var E4=__webpack_require__(31895); /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -10412,7 +10412,7 @@ function(e,t,n,i,r){let s=e;4===e.rank&&(s=(0,C3.t)(e,[1,e.shape[0],e.shape[1],e * limitations under the License. * ============================================================================= */ -const y4={kernelName:f3.A1h,inputsToSave:["x","filter"],gradFunc:(e,t,n)=>{const{dilations:i,strides:r,pad:s}=n;j3.vA((0,Y3.Dh)(i),()=>`Error in gradient of conv3D: dilation rates greater than 1 are not yet supported in gradients. Got dilations '${i}'`);const[o,a]=t;return{x:()=>(0,_4.c)(o.shape,e,a,r,s),filter:()=>g4(o,e,a.shape,r,s)}}};var v4=__webpack_require__(33726); +const w4={kernelName:b3.A1h,inputsToSave:["x","filter"],gradFunc:(e,t,n)=>{const{dilations:i,strides:r,pad:s}=n;q3.vA((0,K3.Dh)(i),()=>`Error in gradient of conv3D: dilation rates greater than 1 are not yet supported in gradients. Got dilations '${i}'`);const[o,a]=t;return{x:()=>(0,E4.c)(o.shape,e,a,r,s),filter:()=>x4(o,e,a.shape,r,s)}}};var I4=__webpack_require__(33726); /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -10429,7 +10429,7 @@ const y4={kernelName:f3.A1h,inputsToSave:["x","filter"],gradFunc:(e,t,n)=>{const * limitations under the License. * ============================================================================= */ -const b4={kernelName:f3.Mn0,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>(0,g3.l)((0,b3.H)((0,v4.F)((0,m3.w)(n,"float32"))),e)}}};var T4=__webpack_require__(58276); +const A4={kernelName:b3.Mn0,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>(0,x3.l)((0,A3.H)((0,I4.F)((0,T3.w)(n,"float32"))),e)}}};var S4=__webpack_require__(58276); /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -10446,7 +10446,7 @@ const b4={kernelName:f3.Mn0,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;retur * limitations under the License. * ============================================================================= */ -const x4={kernelName:f3.MnK,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>(0,g3.l)((0,T4.L)((0,m3.w)(n,"float32")),e)}}};var E4=__webpack_require__(21078),w4=__webpack_require__(76808),I4=__webpack_require__(7703); +const C4={kernelName:b3.MnK,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>(0,x3.l)((0,S4.L)((0,T3.w)(n,"float32")),e)}}};var O4=__webpack_require__(21078),M4=__webpack_require__(76808),k4=__webpack_require__(7703); /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -10463,7 +10463,7 @@ const x4={kernelName:f3.MnK,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;retur * limitations under the License. * ============================================================================= */ -const A4={kernelName:f3.nY8,inputsToSave:["x"],gradFunc:(e,t,n)=>{const[i]=t,{axis:r,exclusive:s,reverse:o}=n;return{x:()=>{const t=(0,E4.Em)([r],i.rank);let n=(0,w4.r)(e,r,s,!o);return null!=t&&(n=(0,I4.m)(n,t)),n}}}};var S4=__webpack_require__(41890),C4=__webpack_require__(83134); +const R4={kernelName:b3.nY8,inputsToSave:["x"],gradFunc:(e,t,n)=>{const[i]=t,{axis:r,exclusive:s,reverse:o}=n;return{x:()=>{const t=(0,O4.Em)([r],i.rank);let n=(0,M4.r)(e,r,s,!o);return null!=t&&(n=(0,k4.m)(n,t)),n}}}};var N4=__webpack_require__(41890),D4=__webpack_require__(83134); /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -10480,7 +10480,7 @@ const A4={kernelName:f3.nY8,inputsToSave:["x"],gradFunc:(e,t,n)=>{const[i]=t,{ax * limitations under the License. * ============================================================================= */ -const O4={kernelName:f3.tGH,inputsToSave:["x","filter"],gradFunc:(e,t,n)=>{const{dilations:i,strides:r,pad:s,dimRoundingMode:o}=n,a=null==i?[1,1]:i;j3.vA(Y3.Dh(a),()=>`Error in gradient of depthwiseConv2dNative: dilation rates greater than 1 are not yet supported. Got dilations '${a}'`);const[l,u]=t;return j3.vA(4===l.rank,()=>`Error in gradient of depthwiseConv2dNative: input must be rank 4, but got rank ${l.rank}.`),j3.vA(4===u.rank,()=>`Error in gradient of depthwiseConv2dNative: filter must be rank 4, but got rank ${u.rank}.`),j3.vA(l.shape[3]===u.shape[2],()=>`Error in gradient of depthwiseConv2d: number of input channels (${l.shape[3]}) must match the inChannels dimension in filter ${u.shape[2]}.`),j3.vA(Y3.G0(r,a),()=>`Error in gradient of depthwiseConv2d: Either strides or dilations must be 1. Got strides ${r} and dilations '${a}'.`),Y3.s_("depthwiseConv2d",s,o),{x:()=>(0,C4.l)(l.shape,e,u,r,s,a,o),filter:()=>(0,S4.x)(l,e,u.shape,r,s,a,o)}}},M4={kernelName:f3.jxD,inputsToSave:["x","filter"],gradFunc:(e,t,n)=>{const[i,r]=t,s={x:i,filter:r,dy:e},o={x:i,filter:r,dy:e};return{x:()=>V3.T2.runKernel(f3.bP9,s,n),filter:()=>V3.T2.runKernel(f3.pk0,o,n)}}},k4={kernelName:f3.Pah,outputsToSave:[!0],gradFunc:(e,t)=>{const[n]=t,i={dy:e,y:n};return{x:()=>V3.T2.runKernel(f3.rsH,i)}}};var R4=__webpack_require__(8631); +const F4={kernelName:b3.tGH,inputsToSave:["x","filter"],gradFunc:(e,t,n)=>{const{dilations:i,strides:r,pad:s,dimRoundingMode:o}=n,a=null==i?[1,1]:i;q3.vA(K3.Dh(a),()=>`Error in gradient of depthwiseConv2dNative: dilation rates greater than 1 are not yet supported. Got dilations '${a}'`);const[l,u]=t;return q3.vA(4===l.rank,()=>`Error in gradient of depthwiseConv2dNative: input must be rank 4, but got rank ${l.rank}.`),q3.vA(4===u.rank,()=>`Error in gradient of depthwiseConv2dNative: filter must be rank 4, but got rank ${u.rank}.`),q3.vA(l.shape[3]===u.shape[2],()=>`Error in gradient of depthwiseConv2d: number of input channels (${l.shape[3]}) must match the inChannels dimension in filter ${u.shape[2]}.`),q3.vA(K3.G0(r,a),()=>`Error in gradient of depthwiseConv2d: Either strides or dilations must be 1. Got strides ${r} and dilations '${a}'.`),K3.s_("depthwiseConv2d",s,o),{x:()=>(0,D4.l)(l.shape,e,u,r,s,a,o),filter:()=>(0,N4.x)(l,e,u.shape,r,s,a,o)}}},L4={kernelName:b3.jxD,inputsToSave:["x","filter"],gradFunc:(e,t,n)=>{const[i,r]=t,s={x:i,filter:r,dy:e},o={x:i,filter:r,dy:e};return{x:()=>W3.T2.runKernel(b3.bP9,s,n),filter:()=>W3.T2.runKernel(b3.pk0,o,n)}}},P4={kernelName:b3.Pah,outputsToSave:[!0],gradFunc:(e,t)=>{const[n]=t,i={dy:e,y:n};return{x:()=>W3.T2.runKernel(b3.rsH,i)}}};var B4=__webpack_require__(8631); /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -10497,7 +10497,7 @@ const O4={kernelName:f3.tGH,inputsToSave:["x","filter"],gradFunc:(e,t,n)=>{const * limitations under the License. * ============================================================================= */ -const N4={kernelName:f3._s9,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t,i=(0,g3.l)((0,R4.o)((0,b3.H)((0,E3.E)(n))),2/Math.sqrt(Math.PI));return{x:()=>(0,g3.l)(e,i)}}},D4={kernelName:f3.ox3,outputsToSave:[!0],gradFunc:(e,t)=>{const[n]=t;return{x:()=>(0,g3.l)(e,n)}}},F4={kernelName:f3.ybN,inputsToSave:["input"],gradFunc:(e,t)=>{const[n]=t;return{input:()=>(0,C3.t)(e,n.shape)}}},L4={kernelName:f3.ybj,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>(0,g3.l)(e,(0,R4.o)(n))}}},P4={kernelName:f3.ZgB,gradFunc:e=>({x:()=>(0,R3.P)(e)})},B4={kernelName:f3.ElG,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,i]=t,r=(0,S3.assertAndGetBroadcastShape)(n.shape,i.shape);return{a:()=>{const t=(0,v3.y)(e,(0,m3.w)(i,"float32")),s=(0,S3.getReductionAxes)(n.shape,r);return s.length>0?(0,C3.t)((0,O3.c)(t,s),n.shape):t},b:()=>{let t=(0,g3.l)(e,(0,m3.w)(n,"float32"));const s=(0,S3.getReductionAxes)(i.shape,r);s.length>0&&(t=(0,C3.t)((0,O3.c)(t,s),i.shape));const o=(0,E3.E)(i);return(0,b3.H)((0,v3.y)(t,(0,m3.w)(o,"float32")))}}}};var $4=__webpack_require__(17820),U4=__webpack_require__(64826); +const $4={kernelName:b3._s9,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t,i=(0,x3.l)((0,B4.o)((0,A3.H)((0,O3.E)(n))),2/Math.sqrt(Math.PI));return{x:()=>(0,x3.l)(e,i)}}},U4={kernelName:b3.ox3,outputsToSave:[!0],gradFunc:(e,t)=>{const[n]=t;return{x:()=>(0,x3.l)(e,n)}}},V4={kernelName:b3.ybN,inputsToSave:["input"],gradFunc:(e,t)=>{const[n]=t;return{input:()=>(0,D3.t)(e,n.shape)}}},z4={kernelName:b3.ybj,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>(0,x3.l)(e,(0,B4.o)(n))}}},j4={kernelName:b3.ZgB,gradFunc:e=>({x:()=>(0,B3.P)(e)})},Y4={kernelName:b3.ElG,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,i]=t,r=(0,N3.assertAndGetBroadcastShape)(n.shape,i.shape);return{a:()=>{const t=(0,I3.y)(e,(0,T3.w)(i,"float32")),s=(0,N3.getReductionAxes)(n.shape,r);return s.length>0?(0,D3.t)((0,F3.c)(t,s),n.shape):t},b:()=>{let t=(0,x3.l)(e,(0,T3.w)(n,"float32"));const s=(0,N3.getReductionAxes)(i.shape,r);s.length>0&&(t=(0,D3.t)((0,F3.c)(t,s),i.shape));const o=(0,O3.E)(i);return(0,A3.H)((0,I3.y)(t,(0,T3.w)(o,"float32")))}}}};var G4=__webpack_require__(17820),H4=__webpack_require__(64826); /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -10514,7 +10514,7 @@ const N4={kernelName:f3._s9,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t,i=(0, * limitations under the License. * ============================================================================= */ -const V4={kernelName:f3.i5R,inputsToSave:["x","mean","variance","scale"],gradFunc:(e,t,n)=>{const{varianceEpsilon:i}=n,[r,s,o,a]=t,l=null==a?(0,T3.d)(1):a,u=(0,S3.getReductionAxes)(s.shape,r.shape),c=[];if(1===s.rank){for(let e=0;e1===s.rank?(0,C3.t)((0,g3.l)((0,g3.l)(e,(0,U4.V)((0,C3.t)(p,[1,1,1,s.shape[0]]),c)),l),r.shape):(0,C3.t)((0,g3.l)((0,g3.l)(e,p),l),r.shape),mean:()=>{let e=(0,g3.l)((0,g3.l)(p,(0,T3.d)(-1)),h);return 1===s.rank&&(e=(0,O3.c)(e,u)),(0,C3.t)(e,s.shape)},variance:()=>{let e=(0,g3.l)((0,g3.l)(f,d),h);return 1===s.rank&&(e=(0,O3.c)(e,u)),(0,C3.t)(e,s.shape)},scale:()=>{const t=(0,g3.l)(d,p);let n=(0,g3.l)(e,t);return 1===s.rank&&(n=(0,O3.c)(n,u)),(0,C3.t)(n,s.shape)},offset:()=>{let t=e;return 1===s.rank&&(t=(0,O3.c)(t,u)),(0,C3.t)(t,s.shape)}}}};var z4=__webpack_require__(54268),j4=__webpack_require__(97706); +const W4={kernelName:b3.i5R,inputsToSave:["x","mean","variance","scale"],gradFunc:(e,t,n)=>{const{varianceEpsilon:i}=n,[r,s,o,a]=t,l=null==a?(0,S3.d)(1):a,u=(0,N3.getReductionAxes)(s.shape,r.shape),c=[];if(1===s.rank){for(let e=0;e1===s.rank?(0,D3.t)((0,x3.l)((0,x3.l)(e,(0,H4.V)((0,D3.t)(p,[1,1,1,s.shape[0]]),c)),l),r.shape):(0,D3.t)((0,x3.l)((0,x3.l)(e,p),l),r.shape),mean:()=>{let e=(0,x3.l)((0,x3.l)(p,(0,S3.d)(-1)),h);return 1===s.rank&&(e=(0,F3.c)(e,u)),(0,D3.t)(e,s.shape)},variance:()=>{let e=(0,x3.l)((0,x3.l)(f,d),h);return 1===s.rank&&(e=(0,F3.c)(e,u)),(0,D3.t)(e,s.shape)},scale:()=>{const t=(0,x3.l)(d,p);let n=(0,x3.l)(e,t);return 1===s.rank&&(n=(0,F3.c)(n,u)),(0,D3.t)(n,s.shape)},offset:()=>{let t=e;return 1===s.rank&&(t=(0,F3.c)(t,u)),(0,D3.t)(t,s.shape)}}}};var X4=__webpack_require__(54268),q4=__webpack_require__(97706); /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -10531,7 +10531,7 @@ const V4={kernelName:f3.i5R,inputsToSave:["x","mean","variance","scale"],gradFun * limitations under the License. * ============================================================================= */ -const Y4={kernelName:f3.mxL,inputsToSave:["x","indices"],gradFunc:(e,t,n)=>{const[i,r]=t,{axis:s,batchDims:o}=n,a=(0,j3.Y6)(s,i.shape)[0],l=(e,t,n)=>()=>{const i=e.shape,r=t.size,o=i.slice(0,a),l=o.length,u=i.slice(s,i.length).slice(1),c=u.length,d=G4(0,l),h=G4(l+1,l+1+c),p=H4([o,[r],u]),f=(0,C3.t)(n,p),m=(0,C3.t)(t,[r]),g=H4([[l],d,h]),_=(0,I4.m)(f,g);let y=(0,j4.z)(_,m,e.shape[a]);const v=(0,E4.gx)(g);return y=(0,I4.m)(y,v),y};if(1===o){const t=i.shape[0],n=i.split(t,0);return{x:()=>{const t=(0,z4.t)(n.map((t,n)=>l(t,r.slice(n,1),e.slice(n,1))()));return t.reshape(i.shape)},indices:()=>r}}return{x:l(i,r,e),indices:()=>r}}};function G4(e,t){const n=[];for(let i=e;i{const[i,r]=t,{axis:s,batchDims:o}=n,a=(0,q3.Y6)(s,i.shape)[0],l=(e,t,n)=>()=>{const i=e.shape,r=t.size,o=i.slice(0,a),l=o.length,u=i.slice(s,i.length).slice(1),c=u.length,d=Z4(0,l),h=Z4(l+1,l+1+c),p=Q4([o,[r],u]),f=(0,D3.t)(n,p),m=(0,D3.t)(t,[r]),g=Q4([[l],d,h]),_=(0,k4.m)(f,g);let y=(0,q4.z)(_,m,e.shape[a]);const v=(0,O4.gx)(g);return y=(0,k4.m)(y,v),y};if(1===o){const t=i.shape[0],n=i.split(t,0);return{x:()=>{const t=(0,X4.t)(n.map((t,n)=>l(t,r.slice(n,1),e.slice(n,1))()));return t.reshape(i.shape)},indices:()=>r}}return{x:l(i,r,e),indices:()=>r}}};function Z4(e,t){const n=[];for(let i=e;i{cons * limitations under the License. * ============================================================================= */ -const W4={kernelName:f3.lLS,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,i]=t;return{a:()=>(0,R3.P)(n),b:()=>(0,R3.P)(i)}}},X4={kernelName:f3.lzr,gradFunc:e=>({x:()=>(0,m3.w)(e,"float32")})},q4={kernelName:f3.gIW,gradFunc:e=>({x:()=>(0,R3.P)(e)})},K4={kernelName:f3.E3$,gradFunc:e=>({x:()=>(0,R3.P)(e)})},Z4={kernelName:f3.iPs,gradFunc:e=>({x:()=>(0,R3.P)(e)})};var Q4=__webpack_require__(62058); +const J4={kernelName:b3.lLS,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,i]=t;return{a:()=>(0,B3.P)(n),b:()=>(0,B3.P)(i)}}},e5={kernelName:b3.lzr,gradFunc:e=>({x:()=>(0,T3.w)(e,"float32")})},t5={kernelName:b3.gIW,gradFunc:e=>({x:()=>(0,B3.P)(e)})},n5={kernelName:b3.E3$,gradFunc:e=>({x:()=>(0,B3.P)(e)})},i5={kernelName:b3.iPs,gradFunc:e=>({x:()=>(0,B3.P)(e)})};var r5=__webpack_require__(62058); /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -10565,7 +10565,7 @@ const W4={kernelName:f3.lLS,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,i]=t * limitations under the License. * ============================================================================= */ -const J4={kernelName:f3.X0$,inputsToSave:["x"],gradFunc:(e,t,n)=>{const[i]=t,{alpha:r}=n,s=(0,Q4.r)(i,0);return{x:()=>(0,o4._)(s,e,(0,g3.l)(e,r))}}},e5={kernelName:f3.Cg$,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>(0,v3.y)(e,(0,L3.W)(n,1))}}},t5={kernelName:f3.tG8,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>(0,v3.y)(e,(0,m3.w)(n,"float32"))}}},n5={kernelName:f3.zfU,inputsToSave:[],outputsToSave:[!0],gradFunc:(e,t,n)=>{const[i]=t,{axis:r}=n;return{logits:()=>{const t=(0,R4.o)(i);return(0,w3.j)(e,(0,g3.l)((0,O3.c)(e,r,!0),t))}}}};const i5=(0,G3.op)({localResponseNormalizationBackprop_: +const s5={kernelName:b3.X0$,inputsToSave:["x"],gradFunc:(e,t,n)=>{const[i]=t,{alpha:r}=n,s=(0,r5.r)(i,0);return{x:()=>(0,h4._)(s,e,(0,x3.l)(e,r))}}},o5={kernelName:b3.Cg$,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>(0,I3.y)(e,(0,z3.W)(n,1))}}},a5={kernelName:b3.tG8,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>(0,I3.y)(e,(0,T3.w)(n,"float32"))}}},l5={kernelName:b3.zfU,inputsToSave:[],outputsToSave:[!0],gradFunc:(e,t,n)=>{const[i]=t,{axis:r}=n;return{logits:()=>{const t=(0,B4.o)(i);return(0,M3.j)(e,(0,x3.l)((0,F3.c)(e,r,!0),t))}}}};const u5=(0,Z3.op)({localResponseNormalizationBackprop_: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -10582,7 +10582,7 @@ const J4={kernelName:f3.X0$,inputsToSave:["x"],gradFunc:(e,t,n)=>{const[i]=t,{al * limitations under the License. * ============================================================================= */ -function(e,t,n,i=5,r=1,s=1,o=.5){const a={x:e,y:t,dy:n},l={depthRadius:i,bias:r,alpha:s,beta:o};return V3.T2.runKernel(f3.ToN,a,l)}}),r5={kernelName:f3.jM4,inputsToSave:["x"],outputsToSave:[!0],gradFunc:(e,t,n)=>{const[i,r]=t,{depthRadius:s,bias:o,alpha:a,beta:l}=n;return{x:()=>i5(i,r,e,s,o,a,l)}}};var s5=__webpack_require__(13020); +function(e,t,n,i=5,r=1,s=1,o=.5){const a={x:e,y:t,dy:n},l={depthRadius:i,bias:r,alpha:s,beta:o};return W3.T2.runKernel(b3.ToN,a,l)}}),c5={kernelName:b3.jM4,inputsToSave:["x"],outputsToSave:[!0],gradFunc:(e,t,n)=>{const[i,r]=t,{depthRadius:s,bias:o,alpha:a,beta:l}=n;return{x:()=>u5(i,r,e,s,o,a,l)}}};var d5=__webpack_require__(13020); /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -10599,7 +10599,7 @@ function(e,t,n,i=5,r=1,s=1,o=.5){const a={x:e,y:t,dy:n},l={depthRadius:i,bias:r, * limitations under the License. * ============================================================================= */ -function o5(e,t,n,i){return t.rank(0,g3.l)(e,(0,m3.w)((0,s5.L)(n,t),e.dtype))}} +function h5(e,t,n,i){return t.rank(0,x3.l)(e,(0,T3.w)((0,d5.L)(n,t),e.dtype))}} /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -10616,7 +10616,7 @@ function o5(e,t,n,i){return t.rank{const i=n,{reductionIndices:r}=i,s=t[0],o=o5(e,t[1],s,j3.Y6(r,s.shape));return{x:()=>o.x()}}};var l5=__webpack_require__(61303); +const p5={kernelName:b3.VAI,inputsToSave:["x"],outputsToSave:[!0],gradFunc:(e,t,n)=>{const i=n,{reductionIndices:r}=i,s=t[0],o=h5(e,t[1],s,q3.Y6(r,s.shape));return{x:()=>o.x()}}};var f5=__webpack_require__(61303); /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -10633,7 +10633,7 @@ const a5={kernelName:f3.VAI,inputsToSave:["x"],outputsToSave:[!0],gradFunc:(e,t, * limitations under the License. * ============================================================================= */ -const u5={kernelName:f3.LDN,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,i]=t;return{a:()=>(0,g3.l)(e,(0,m3.w)((0,i4.D)(n,i),"float32")),b:()=>(0,g3.l)(e,(0,m3.w)((0,l5.M)(n,i),"float32"))}}};const c5=(0,G3.op)({maxPool3dGrad_: +const m5={kernelName:b3.LDN,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,i]=t;return{a:()=>(0,x3.l)(e,(0,T3.w)((0,u4.D)(n,i),"float32")),b:()=>(0,x3.l)(e,(0,T3.w)((0,f5.M)(n,i),"float32"))}}};const g5=(0,Z3.op)({maxPool3dGrad_: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -10650,7 +10650,7 @@ const u5={kernelName:f3.LDN,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,i]=t * limitations under the License. * ============================================================================= */ -function(e,t,n,i,r,s,o){const a=(0,z3.YT)(e,"dy","maxPool3dGrad"),l=(0,z3.YT)(t,"input","maxPool3dGrad"),u=(0,z3.YT)(n,"output","maxPool3dGrad");let c=a,d=l,h=u,p=!1;4===l.rank&&(p=!0,c=(0,C3.t)(a,[1,a.shape[0],a.shape[1],a.shape[2],a.shape[3]]),d=(0,C3.t)(l,[1,l.shape[0],l.shape[1],l.shape[2],l.shape[3]]),h=(0,C3.t)(u,[1,u.shape[0],u.shape[1],u.shape[2],u.shape[3]])),j3.vA(5===c.rank,()=>`Error in maxPool3dGrad: dy must be rank 5 but got rank ${c.rank}.`),j3.vA(5===d.rank,()=>`Error in maxPool3dGrad: input must be rank 5 but got rank ${d.rank}.`),j3.vA(5===h.rank,()=>`Error in maxPool3dGrad: output must be rank 5 but got rank ${h.rank}.`),(0,Y3.s_)("maxPool3dGrad",s,o);const f={dy:c,input:d,output:h},m={filterSize:i,strides:r,pad:s,dimRoundingMode:o},g=V3.T2.runKernel(f3.cHb,f,m);return p?(0,C3.t)(g,[g.shape[1],g.shape[2],g.shape[3],g.shape[4]]):g}}),d5={kernelName:f3.ySp,inputsToSave:["x"],outputsToSave:[!0],gradFunc:(e,t,n)=>{const[i,r]=t,{filterSize:s,strides:o,pad:a,dimRoundingMode:l}=n;return{x:()=>c5(e,i,r,s,o,a,l)}}};const h5=(0,G3.op)({maxPoolGrad_: +function(e,t,n,i,r,s,o){const a=(0,X3.YT)(e,"dy","maxPool3dGrad"),l=(0,X3.YT)(t,"input","maxPool3dGrad"),u=(0,X3.YT)(n,"output","maxPool3dGrad");let c=a,d=l,h=u,p=!1;4===l.rank&&(p=!0,c=(0,D3.t)(a,[1,a.shape[0],a.shape[1],a.shape[2],a.shape[3]]),d=(0,D3.t)(l,[1,l.shape[0],l.shape[1],l.shape[2],l.shape[3]]),h=(0,D3.t)(u,[1,u.shape[0],u.shape[1],u.shape[2],u.shape[3]])),q3.vA(5===c.rank,()=>`Error in maxPool3dGrad: dy must be rank 5 but got rank ${c.rank}.`),q3.vA(5===d.rank,()=>`Error in maxPool3dGrad: input must be rank 5 but got rank ${d.rank}.`),q3.vA(5===h.rank,()=>`Error in maxPool3dGrad: output must be rank 5 but got rank ${h.rank}.`),(0,K3.s_)("maxPool3dGrad",s,o);const f={dy:c,input:d,output:h},m={filterSize:i,strides:r,pad:s,dimRoundingMode:o},g=W3.T2.runKernel(b3.cHb,f,m);return p?(0,D3.t)(g,[g.shape[1],g.shape[2],g.shape[3],g.shape[4]]):g}}),_5={kernelName:b3.ySp,inputsToSave:["x"],outputsToSave:[!0],gradFunc:(e,t,n)=>{const[i,r]=t,{filterSize:s,strides:o,pad:a,dimRoundingMode:l}=n;return{x:()=>g5(e,i,r,s,o,a,l)}}};const y5=(0,Z3.op)({maxPoolGrad_: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -10667,7 +10667,7 @@ function(e,t,n,i,r,s,o){const a=(0,z3.YT)(e,"dy","maxPool3dGrad"),l=(0,z3.YT)(t, * limitations under the License. * ============================================================================= */ -function(e,t,n,i,r,s,o){const a=(0,z3.YT)(e,"dy","maxPoolGrad"),l=(0,z3.YT)(t,"input","maxPoolGrad"),u=(0,z3.YT)(n,"output","maxPoolGrad");j3.vA(l.rank===a.rank,()=>`Rank of input (${l.rank}) does not match rank of dy (${a.rank})`),j3.vA(4===a.rank,()=>`Error in maxPoolGrad: dy must be rank 4 but got rank ${a.rank}.`),j3.vA(4===l.rank,()=>`Error in maxPoolGrad: input must be rank 4 but got rank ${l.rank}.`),Y3.s_("maxPoolGrad",s,o);const c={dy:a,input:l,output:u},d={filterSize:i,strides:r,pad:s,dimRoundingMode:o};return V3.T2.runKernel(f3.RXX,c,d)}}),p5={kernelName:f3.t3d,inputsToSave:["x"],outputsToSave:[!0],gradFunc:(e,t,n)=>{const[i,r]=t,{filterSize:s,strides:o,pad:a}=n;return{x:()=>h5(e,i,r,s,o,a)}}};var f5=__webpack_require__(61411); +function(e,t,n,i,r,s,o){const a=(0,X3.YT)(e,"dy","maxPoolGrad"),l=(0,X3.YT)(t,"input","maxPoolGrad"),u=(0,X3.YT)(n,"output","maxPoolGrad");q3.vA(l.rank===a.rank,()=>`Rank of input (${l.rank}) does not match rank of dy (${a.rank})`),q3.vA(4===a.rank,()=>`Error in maxPoolGrad: dy must be rank 4 but got rank ${a.rank}.`),q3.vA(4===l.rank,()=>`Error in maxPoolGrad: input must be rank 4 but got rank ${l.rank}.`),K3.s_("maxPoolGrad",s,o);const c={dy:a,input:l,output:u},d={filterSize:i,strides:r,pad:s,dimRoundingMode:o};return W3.T2.runKernel(b3.RXX,c,d)}}),v5={kernelName:b3.t3d,inputsToSave:["x"],outputsToSave:[!0],gradFunc:(e,t,n)=>{const[i,r]=t,{filterSize:s,strides:o,pad:a}=n;return{x:()=>y5(e,i,r,s,o,a)}}};var b5=__webpack_require__(61411); /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -10684,7 +10684,7 @@ function(e,t,n,i,r,s,o){const a=(0,z3.YT)(e,"dy","maxPoolGrad"),l=(0,z3.YT)(t,"i * limitations under the License. * ============================================================================= */ -const m5={kernelName:f3.g5A,inputsToSave:["x"],gradFunc:(e,t,n)=>{const[i]=t,{axis:r}=n,s=j3.Y6(r,i.shape),o=(0,E4.lb)(i.shape,s)[1],a=j3.Ze(o);return{x:()=>{const t=i.shape.slice();s.forEach(e=>{t[e]=1});const n=(0,C3.t)(e,t);return(0,v3.y)((0,g3.l)(n,(0,f5.S)(i.shape,"float32")),a)}}}},g5={kernelName:f3.lNG,inputsToSave:["x"],outputsToSave:[!0],gradFunc:(e,t,n)=>{const i=n,{axis:r}=i,[s,o]=t,a=o5(e,o,s,j3.Y6(r,s.shape));return{x:()=>a.x()}}},_5={kernelName:f3.LG0,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,i]=t;return{a:()=>(0,g3.l)(e,(0,m3.w)((0,r4.I)(n,i),"float32")),b:()=>(0,g3.l)(e,(0,m3.w)((0,Q4.r)(n,i),"float32"))}}};var y5=__webpack_require__(17986); +const T5={kernelName:b3.g5A,inputsToSave:["x"],gradFunc:(e,t,n)=>{const[i]=t,{axis:r}=n,s=q3.Y6(r,i.shape),o=(0,O4.lb)(i.shape,s)[1],a=q3.Ze(o);return{x:()=>{const t=i.shape.slice();s.forEach(e=>{t[e]=1});const n=(0,D3.t)(e,t);return(0,I3.y)((0,x3.l)(n,(0,b5.S)(i.shape,"float32")),a)}}}},x5={kernelName:b3.lNG,inputsToSave:["x"],outputsToSave:[!0],gradFunc:(e,t,n)=>{const i=n,{axis:r}=i,[s,o]=t,a=h5(e,o,s,q3.Y6(r,s.shape));return{x:()=>a.x()}}},E5={kernelName:b3.LG0,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,i]=t;return{a:()=>(0,x3.l)(e,(0,T3.w)((0,c4.I)(n,i),"float32")),b:()=>(0,x3.l)(e,(0,T3.w)((0,r5.r)(n,i),"float32"))}}};var w5=__webpack_require__(17986); /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -10701,7 +10701,7 @@ const m5={kernelName:f3.g5A,inputsToSave:["x"],gradFunc:(e,t,n)=>{const[i]=t,{ax * limitations under the License. * ============================================================================= */ -const v5={kernelName:f3.x7F,inputsToSave:["x"],gradFunc:(e,t,n)=>{const i=t[0],{paddings:r}=n,s=r.map(e=>e[0]);return{x:()=>(0,y5.d)(e,s,i.shape)}}};var b5=__webpack_require__(15606); +const I5={kernelName:b3.x7F,inputsToSave:["x"],gradFunc:(e,t,n)=>{const i=t[0],{paddings:r}=n,s=r.map(e=>e[0]);return{x:()=>(0,w5.d)(e,s,i.shape)}}};var A5=__webpack_require__(15606); /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -10718,7 +10718,7 @@ const v5={kernelName:f3.x7F,inputsToSave:["x"],gradFunc:(e,t,n)=>{const i=t[0],{ * limitations under the License. * ============================================================================= */ -const T5={kernelName:f3.BLA,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,i]=t,r=(0,S3.assertAndGetBroadcastShape)(n.shape,i.shape);return{a:()=>{const t=(0,S3.getReductionAxes)(n.shape,r);return t.length>0?(0,C3.t)((0,O3.c)(e,t),n.shape):e},b:()=>{const t=(0,g3.l)(e,(0,b3.H)((0,b5.R)((0,v3.y)(n,i)))),s=(0,S3.getReductionAxes)(i.shape,r);return s.length>0?(0,C3.t)((0,O3.c)(t,s),i.shape):t}}}},x5={kernelName:f3.xu7,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,i]=t,r=(0,S3.assertAndGetBroadcastShape)(n.shape,i.shape);return{a:()=>{const t=(0,g3.l)(e,(0,m3.w)(i,"float32")),s=(0,S3.getReductionAxes)(n.shape,r);return s.length>0?(0,C3.t)((0,O3.c)(t,s),n.shape):t},b:()=>{const t=(0,g3.l)(e,(0,m3.w)(n,"float32")),s=(0,S3.getReductionAxes)(i.shape,r);return s.length>0?(0,C3.t)((0,O3.c)(t,s),i.shape):t}}}},E5={kernelName:f3.l0G,gradFunc:e=>({x:()=>(0,b3.H)(e)})};var w5=__webpack_require__(42855); +const S5={kernelName:b3.BLA,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,i]=t,r=(0,N3.assertAndGetBroadcastShape)(n.shape,i.shape);return{a:()=>{const t=(0,N3.getReductionAxes)(n.shape,r);return t.length>0?(0,D3.t)((0,F3.c)(e,t),n.shape):e},b:()=>{const t=(0,x3.l)(e,(0,A3.H)((0,A5.R)((0,I3.y)(n,i)))),s=(0,N3.getReductionAxes)(i.shape,r);return s.length>0?(0,D3.t)((0,F3.c)(t,s),i.shape):t}}}},C5={kernelName:b3.xu7,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,i]=t,r=(0,N3.assertAndGetBroadcastShape)(n.shape,i.shape);return{a:()=>{const t=(0,x3.l)(e,(0,T3.w)(i,"float32")),s=(0,N3.getReductionAxes)(n.shape,r);return s.length>0?(0,D3.t)((0,F3.c)(t,s),n.shape):t},b:()=>{const t=(0,x3.l)(e,(0,T3.w)(n,"float32")),s=(0,N3.getReductionAxes)(i.shape,r);return s.length>0?(0,D3.t)((0,F3.c)(t,s),i.shape):t}}}},O5={kernelName:b3.l0G,gradFunc:e=>({x:()=>(0,A3.H)(e)})};var M5=__webpack_require__(42855); /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -10735,7 +10735,7 @@ const T5={kernelName:f3.BLA,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,i]=t * limitations under the License. * ============================================================================= */ -const I5={kernelName:f3.urI,inputsToSave:["indices"],gradFunc:(e,t)=>{const n=t[0];return{indices:()=>(0,w5.U)(n.shape,"float32")}}},A5={kernelName:f3.LWX,gradFunc:e=>({x:()=>(0,R3.P)(e)})};var S5=__webpack_require__(67261); +const k5={kernelName:b3.urI,inputsToSave:["indices"],gradFunc:(e,t)=>{const n=t[0];return{indices:()=>(0,M5.U)(n.shape,"float32")}}},R5={kernelName:b3.LWX,gradFunc:e=>({x:()=>(0,B3.P)(e)})};var N5=__webpack_require__(67261); /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -10752,7 +10752,7 @@ const I5={kernelName:f3.urI,inputsToSave:["indices"],gradFunc:(e,t)=>{const n=t[ * limitations under the License. * ============================================================================= */ -const C5={kernelName:f3.mM$,saveAllInputs:!0,gradFunc:(e,t,n)=>{const{axis:i}=n;return(0,S5.K)(e,i).map(e=>()=>e)}},O5={kernelName:f3.ODT,inputsToSave:["x"],gradFunc:(e,t,n)=>{const i=t[0],{paddings:r}=n,s=r.map(e=>e[0]);return{x:()=>(0,y5.d)(e,s,i.shape)}}};var M5=__webpack_require__(44010),k5=__webpack_require__(98990); +const D5={kernelName:b3.mM$,saveAllInputs:!0,gradFunc:(e,t,n)=>{const{axis:i}=n;return(0,N5.K)(e,i).map(e=>()=>e)}},F5={kernelName:b3.ODT,inputsToSave:["x"],gradFunc:(e,t,n)=>{const i=t[0],{paddings:r}=n,s=r.map(e=>e[0]);return{x:()=>(0,w5.d)(e,s,i.shape)}}};var L5=__webpack_require__(44010),P5=__webpack_require__(98990); /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -10769,7 +10769,7 @@ const C5={kernelName:f3.mM$,saveAllInputs:!0,gradFunc:(e,t,n)=>{const{axis:i}=n; * limitations under the License. * ============================================================================= */ -const R5={kernelName:f3.pyJ,inputsToSave:["a","b"],outputsToSave:[!0],gradFunc:(e,t)=>{const[n,i,r]=t,s=n,o=i,a=S3.assertAndGetBroadcastShape(s.shape,o.shape);return{a:()=>{const t=(0,m3.w)(o,"float32");let n=(0,g3.l)(e,(0,g3.l)(t,(0,k5.n)(s,(0,w3.j)(t,(0,T3.d)(1)))));const i=S3.getReductionAxes(s.shape,a);return i.length>0&&(n=(0,O3.c)(n,i)),(0,C3.t)(n,s.shape)},b:()=>{const t=(0,Q4.r)(s,0),n=(0,o4._)(t,(0,M5.R)(s),(0,R3.P)(s));let i=(0,g3.l)(e,(0,g3.l)(r,n));const l=S3.getReductionAxes(o.shape,a);return l.length>0&&(i=(0,O3.c)(i,l)),(0,C3.t)(i,o.shape)}}}},N5={kernelName:f3.Ncv,inputsToSave:["x","alpha"],gradFunc:(e,t)=>{const[n,i]=t,r=(0,Q4.r)(n,0);return{x:()=>(0,o4._)(r,e,(0,g3.l)(e,i)),alpha:()=>{let t=(0,o4._)(r,(0,R3.P)(e),(0,g3.l)(e,n));const s=(0,S3.getReductionAxes)(i.shape,e.shape);return s.length>0&&(t=(0,O3.c)(t,s)),(0,C3.t)(t,i.shape)}}}};var D5=__webpack_require__(10302);function F5(e,t,n){const i=e.shape.length,r=i-n.length,s=E4.Em(n,i);let o=e;null!=s&&(o=(0,I4.m)(e,s));const a=o.shape.slice(),l=a.splice(i-n.length,n.length).reduce((e,t)=>e*t,1);a.push(l);let u= +const B5={kernelName:b3.pyJ,inputsToSave:["a","b"],outputsToSave:[!0],gradFunc:(e,t)=>{const[n,i,r]=t,s=n,o=i,a=N3.assertAndGetBroadcastShape(s.shape,o.shape);return{a:()=>{const t=(0,T3.w)(o,"float32");let n=(0,x3.l)(e,(0,x3.l)(t,(0,P5.n)(s,(0,M3.j)(t,(0,S3.d)(1)))));const i=N3.getReductionAxes(s.shape,a);return i.length>0&&(n=(0,F3.c)(n,i)),(0,D3.t)(n,s.shape)},b:()=>{const t=(0,r5.r)(s,0),n=(0,h4._)(t,(0,L5.R)(s),(0,B3.P)(s));let i=(0,x3.l)(e,(0,x3.l)(r,n));const l=N3.getReductionAxes(o.shape,a);return l.length>0&&(i=(0,F3.c)(i,l)),(0,D3.t)(i,o.shape)}}}},$5={kernelName:b3.Ncv,inputsToSave:["x","alpha"],gradFunc:(e,t)=>{const[n,i]=t,r=(0,r5.r)(n,0);return{x:()=>(0,h4._)(r,e,(0,x3.l)(e,i)),alpha:()=>{let t=(0,h4._)(r,(0,B3.P)(e),(0,x3.l)(e,n));const s=(0,N3.getReductionAxes)(i.shape,e.shape);return s.length>0&&(t=(0,F3.c)(t,s)),(0,D3.t)(t,i.shape)}}}};var U5=__webpack_require__(10302);function V5(e,t,n){const i=e.shape.length,r=i-n.length,s=O4.Em(n,i);let o=e;null!=s&&(o=(0,k4.m)(e,s));const a=o.shape.slice(),l=a.splice(i-n.length,n.length).reduce((e,t)=>e*t,1);a.push(l);let u= /** * @license * Copyright 2022 Google Inc. All Rights Reserved. @@ -10786,7 +10786,7 @@ const R5={kernelName:f3.pyJ,inputsToSave:["a","b"],outputsToSave:[!0],gradFunc:( * limitations under the License. * ============================================================================= */ -function(e,t,n){const i=e.shape.slice();i[n]=1;const r=(0,C3.t)(t,i),s=(0,D5.L)(e,n,!0,!1),o=(0,D5.L)(e,n,!0,!0),a=(0,g3.l)(s,o);return(0,g3.l)(r,a)}(o.reshape(a),t,r);if(u=u.reshape(o.shape),null!=s){const e=E4.gx(s);u=(0,I4.m)(u,e)}return u}const L5={kernelName:f3.kdj,inputsToSave:["x"],gradFunc:(e,t,n)=>{const[i]=t,{axis:r}=n;let s=[];return s=null==r?i.shape.map((e,t)=>t):"number"==typeof r?[r]:r,{x:()=>F5(i,e,s)}}},P5={kernelName:f3.sDr,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,i]=t,r=S3.assertAndGetBroadcastShape(n.shape,i.shape);return{a:()=>{const t=(0,v3.y)(e,(0,m3.w)(i,"float32")),s=S3.getReductionAxes(n.shape,r);return s.length>0?(0,C3.t)((0,O3.c)(t,s),n.shape):t},b:()=>{let t=(0,g3.l)(e,(0,m3.w)(n,"float32"));const s=S3.getReductionAxes(i.shape,r);s.length>0&&(t=(0,C3.t)((0,O3.c)(t,s),i.shape));const o=(0,E3.E)(i);return(0,b3.H)((0,v3.y)(t,(0,m3.w)(o,"float32")))}}}},B5={kernelName:f3.huO,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>(0,v3.y)(e,(0,b3.H)((0,E3.E)(n)))}}},$5={kernelName:f3.P_L,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t,i=(0,g3.l)((0,r4.I)(n,6),(0,_3.P)(n));return{x:()=>(0,g3.l)(e,(0,m3.w)(i,"float32"))}}},U5={kernelName:f3.fUj,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>(0,g3.l)(e,(0,m3.w)((0,_3.P)(n),"float32"))}}},V5={kernelName:f3.R23,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>(0,C3.t)(e,n.shape)}}},z5={kernelName:f3.hgw,inputsToSave:["images"],gradFunc:(e,t,n)=>{const[i]=t,r={dy:e,images:i};return{images:()=>V3.T2.runKernel(f3.FCQ,r,n)}}},j5={kernelName:f3.jOE,inputsToSave:["images"],gradFunc:(e,t,n)=>{const[i]=t,r={dy:e,images:i};return{images:()=>V3.T2.runKernel(f3.XQy,r,n)}}};var Y5=__webpack_require__(53262); +function(e,t,n){const i=e.shape.slice();i[n]=1;const r=(0,D3.t)(t,i),s=(0,U5.L)(e,n,!0,!1),o=(0,U5.L)(e,n,!0,!0),a=(0,x3.l)(s,o);return(0,x3.l)(r,a)}(o.reshape(a),t,r);if(u=u.reshape(o.shape),null!=s){const e=O4.gx(s);u=(0,k4.m)(u,e)}return u}const z5={kernelName:b3.kdj,inputsToSave:["x"],gradFunc:(e,t,n)=>{const[i]=t,{axis:r}=n;let s=[];return s=null==r?i.shape.map((e,t)=>t):"number"==typeof r?[r]:r,{x:()=>V5(i,e,s)}}},j5={kernelName:b3.sDr,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,i]=t,r=N3.assertAndGetBroadcastShape(n.shape,i.shape);return{a:()=>{const t=(0,I3.y)(e,(0,T3.w)(i,"float32")),s=N3.getReductionAxes(n.shape,r);return s.length>0?(0,D3.t)((0,F3.c)(t,s),n.shape):t},b:()=>{let t=(0,x3.l)(e,(0,T3.w)(n,"float32"));const s=N3.getReductionAxes(i.shape,r);s.length>0&&(t=(0,D3.t)((0,F3.c)(t,s),i.shape));const o=(0,O3.E)(i);return(0,A3.H)((0,I3.y)(t,(0,T3.w)(o,"float32")))}}}},Y5={kernelName:b3.huO,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>(0,I3.y)(e,(0,A3.H)((0,O3.E)(n)))}}},G5={kernelName:b3.P_L,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t,i=(0,x3.l)((0,c4.I)(n,6),(0,E3.P)(n));return{x:()=>(0,x3.l)(e,(0,T3.w)(i,"float32"))}}},H5={kernelName:b3.fUj,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>(0,x3.l)(e,(0,T3.w)((0,E3.P)(n),"float32"))}}},W5={kernelName:b3.R23,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>(0,D3.t)(e,n.shape)}}},X5={kernelName:b3.hgw,inputsToSave:["images"],gradFunc:(e,t,n)=>{const[i]=t,r={dy:e,images:i};return{images:()=>W3.T2.runKernel(b3.FCQ,r,n)}}},q5={kernelName:b3.jOE,inputsToSave:["images"],gradFunc:(e,t,n)=>{const[i]=t,r={dy:e,images:i};return{images:()=>W3.T2.runKernel(b3.XQy,r,n)}}};var K5=__webpack_require__(53262); /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -10803,7 +10803,7 @@ function(e,t,n){const i=e.shape.slice();i[n]=1;const r=(0,C3.t)(t,i),s=(0,D5.L)( * limitations under the License. * ============================================================================= */ -const G5={kernelName:f3.D7i,gradFunc:(e,t,n)=>{const{dims:i}=n,r=(0,j3.Y6)(i,e.shape);return{x:()=>(0,Y5.B)(e,r)}}},H5={kernelName:f3.hVg,gradFunc:e=>({x:()=>(0,R3.P)(e)})},W5={kernelName:f3.TOR,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>(0,b3.H)((0,v3.y)(e,(0,g3.l)((0,k5.n)(n,1.5),2)))}}};var X5=__webpack_require__(89881); +const Z5={kernelName:b3.D7i,gradFunc:(e,t,n)=>{const{dims:i}=n,r=(0,q3.Y6)(i,e.shape);return{x:()=>(0,K5.B)(e,r)}}},Q5={kernelName:b3.hVg,gradFunc:e=>({x:()=>(0,B3.P)(e)})},J5={kernelName:b3.TOR,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>(0,A3.H)((0,I3.y)(e,(0,x3.l)((0,P5.n)(n,1.5),2)))}}};var e6=__webpack_require__(89881); /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -10820,7 +10820,7 @@ const G5={kernelName:f3.D7i,gradFunc:(e,t,n)=>{const{dims:i}=n,r=(0,j3.Y6)(i,e.s * limitations under the License. * ============================================================================= */ -const q5={kernelName:f3.l6P,inputsToSave:["condition"],gradFunc:(e,t)=>{const[n]=t;return{condition:()=>(0,m3.w)((0,R3.P)(n),"float32"),t:()=>(0,g3.l)(e,(0,m3.w)(n,e.dtype)),e:()=>(0,g3.l)(e,(0,m3.w)((0,X5.N)(n),e.dtype))}}};var K5=__webpack_require__(28576); +const t6={kernelName:b3.l6P,inputsToSave:["condition"],gradFunc:(e,t)=>{const[n]=t;return{condition:()=>(0,T3.w)((0,B3.P)(n),"float32"),t:()=>(0,x3.l)(e,(0,T3.w)(n,e.dtype)),e:()=>(0,x3.l)(e,(0,T3.w)((0,e6.N)(n),e.dtype))}}};var n6=__webpack_require__(28576); /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -10837,7 +10837,7 @@ const q5={kernelName:f3.l6P,inputsToSave:["condition"],gradFunc:(e,t)=>{const[n] * limitations under the License. * ============================================================================= */ -const Z5={kernelName:f3.u$b,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>{const t=(0,Q4.r)(n,(0,T3.d)(0)),i=(0,T3.d)(K5.j),r=(0,T3.d)(K5.X),s=(0,g3.l)(e,r),o=(0,g3.l)((0,g3.l)(e,i),(0,R4.o)((0,m3.w)(n,"float32")));return(0,o4._)(t,s,o)}}}},Q5={kernelName:f3.vI1,outputsToSave:[!0],gradFunc:(e,t)=>{const[n]=t;return{x:()=>(0,g3.l)(e,(0,g3.l)(n,(0,w3.j)((0,T3.d)(1),n)))}}},J5={kernelName:f3.YVe,gradFunc:e=>({x:()=>(0,R3.P)(e)})};var e6=__webpack_require__(99907); +const i6={kernelName:b3.u$b,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>{const t=(0,r5.r)(n,(0,S3.d)(0)),i=(0,S3.d)(n6.j),r=(0,S3.d)(n6.X),s=(0,x3.l)(e,r),o=(0,x3.l)((0,x3.l)(e,i),(0,B4.o)((0,T3.w)(n,"float32")));return(0,h4._)(t,s,o)}}}},r6={kernelName:b3.vI1,outputsToSave:[!0],gradFunc:(e,t)=>{const[n]=t;return{x:()=>(0,x3.l)(e,(0,x3.l)(n,(0,M3.j)((0,S3.d)(1),n)))}}},s6={kernelName:b3.YVe,gradFunc:e=>({x:()=>(0,B3.P)(e)})};var o6=__webpack_require__(99907); /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -10854,7 +10854,7 @@ const Z5={kernelName:f3.u$b,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;retur * limitations under the License. * ============================================================================= */ -const t6={kernelName:f3.hql,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>(0,g3.l)((0,e6.g)((0,m3.w)(n,"float32")),e)}}};var n6=__webpack_require__(27451); +const a6={kernelName:b3.hql,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>(0,x3.l)((0,o6.g)((0,T3.w)(n,"float32")),e)}}};var l6=__webpack_require__(27451); /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -10871,7 +10871,7 @@ const t6={kernelName:f3.hql,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;retur * limitations under the License. * ============================================================================= */ -const i6={kernelName:f3.J3C,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>(0,g3.l)((0,n6.y)((0,m3.w)(n,"float32")),e)}}};var r6=__webpack_require__(65661),s6=__webpack_require__(34969); +const u6={kernelName:b3.J3C,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>(0,x3.l)((0,l6.y)((0,T3.w)(n,"float32")),e)}}};var c6=__webpack_require__(65661),d6=__webpack_require__(34969); /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -10888,7 +10888,7 @@ const i6={kernelName:f3.J3C,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;retur * limitations under the License. * ============================================================================= */ -const o6={kernelName:f3.JiE,inputsToSave:["x"],gradFunc:(e,t,n)=>{const[i]=t,{begin:r,size:s}=n,o=i.shape,[a,l]=(0,s6.parseSliceParams)(i,r,s),u=[];for(let t=0;t(0,r6.e)(e,u)}}},a6={kernelName:f3.rFG,outputsToSave:[!0],gradFunc:(e,t,n)=>{const[i]=t,{dim:r}=n,s=(0,g3.l)(e,i);return{logits:()=>(0,w3.j)(s,(0,g3.l)((0,O3.c)(s,[r],true),i))}}};var l6=__webpack_require__(28968); +const h6={kernelName:b3.JiE,inputsToSave:["x"],gradFunc:(e,t,n)=>{const[i]=t,{begin:r,size:s}=n,o=i.shape,[a,l]=(0,d6.parseSliceParams)(i,r,s),u=[];for(let t=0;t(0,c6.e)(e,u)}}},p6={kernelName:b3.rFG,outputsToSave:[!0],gradFunc:(e,t,n)=>{const[i]=t,{dim:r}=n,s=(0,x3.l)(e,i);return{logits:()=>(0,M3.j)(s,(0,x3.l)((0,F3.c)(s,[r],true),i))}}};var f6=__webpack_require__(28968); /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -10905,7 +10905,7 @@ const o6={kernelName:f3.JiE,inputsToSave:["x"],gradFunc:(e,t,n)=>{const[i]=t,{be * limitations under the License. * ============================================================================= */ -const u6={kernelName:f3.Fin,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>(0,g3.l)(e,(0,l6.r)(n))}}};var c6=__webpack_require__(69772); +const m6={kernelName:b3.Fin,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>(0,x3.l)(e,(0,f6.r)(n))}}};var g6=__webpack_require__(69772); /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -10922,7 +10922,7 @@ const u6={kernelName:f3.Fin,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;retur * limitations under the License. * ============================================================================= */ -const d6={kernelName:f3.A8B,gradFunc:(e,t,n)=>{const{blockShape:i,paddings:r}=n;return{x:()=>(0,c6.G)(e,i,r)}}};var h6=__webpack_require__(25030); +const _6={kernelName:b3.A8B,gradFunc:(e,t,n)=>{const{blockShape:i,paddings:r}=n;return{x:()=>(0,g6.G)(e,i,r)}}};var y6=__webpack_require__(25030); /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -10939,7 +10939,7 @@ const d6={kernelName:f3.A8B,gradFunc:(e,t,n)=>{const{blockShape:i,paddings:r}=n; * limitations under the License. * ============================================================================= */ -const p6={kernelName:f3.Blb,gradFunc:(e,t,n)=>{const{axis:i}=n;return{x:()=>(0,h6.x)(e,i)}}},f6={kernelName:f3.dFH,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>(0,v3.y)(e,(0,g3.l)((0,x3.R)((0,m3.w)(n,"float32")),2))}}},m6={kernelName:f3.M6A,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>(0,g3.l)(e,(0,g3.l)((0,m3.w)(n,"float32"),2))}}},g6={kernelName:f3.Ddj,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,i]=t,r=(0,T3.d)(2);return{a:()=>(0,g3.l)(e,(0,g3.l)(r,(0,w3.j)(n,i))),b:()=>(0,g3.l)(e,(0,g3.l)(r,(0,w3.j)(i,n)))}}},_6={kernelName:f3.pnw,gradFunc:e=>({x:()=>(0,R3.P)(e)})},y6={kernelName:f3.PbM,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,i]=t,r=S3.assertAndGetBroadcastShape(n.shape,i.shape);return{a:()=>{let t=e;const i=S3.getReductionAxes(n.shape,r);return i.length>0&&(t=(0,O3.c)(t,i)),(0,C3.t)(t,n.shape)},b:()=>{let t=e;const n=S3.getReductionAxes(i.shape,r);return n.length>0&&(t=(0,O3.c)(t,n)),(0,C3.t)((0,b3.H)(t),i.shape)}}}},v6={kernelName:f3.WuN,inputsToSave:["x"],gradFunc:(e,t,n)=>{const[i]=t,r=i.shape.slice(),{axis:s}=n;(0,j3.Y6)(s,i.shape).forEach(e=>{r[e]=1});const o=(0,C3.t)(e,r),a=(0,g3.l)(o,(0,f5.S)(i.shape,"float32"));return{x:()=>a}}},b6={kernelName:f3.oFs,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>(0,v3.y)(e,(0,E3.E)((0,e6.g)(n)))}}},T6={kernelName:f3.iuW,outputsToSave:[!0],gradFunc:(e,t)=>{const[n]=t;return{x:()=>(0,g3.l)((0,w3.j)((0,T3.d)(1),(0,E3.E)(n)),e)}}},x6={kernelName:f3.FAs,inputsToSave:["x"],gradFunc:(e,t,n)=>{const[i]=t,{reps:r}=n;return{x:()=>{let t=(0,R3.P)(i);if(1===i.rank)for(let n=0;n{const i=n,{perm:r}=i,s=E4.gx(r);return{x:()=>(0,I4.m)(e,s)}}},w6={kernelName:f3.dXR,gradFunc:(e,t,n)=>{const i=n,{axis:r}=i;return{value:()=>(0,z4.t)(e,r)}}};var I6=__webpack_require__(8710),A6=__webpack_require__(48229),S6=__webpack_require__(30178); +const v6={kernelName:b3.Blb,gradFunc:(e,t,n)=>{const{axis:i}=n;return{x:()=>(0,y6.x)(e,i)}}},b6={kernelName:b3.dFH,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>(0,I3.y)(e,(0,x3.l)((0,C3.R)((0,T3.w)(n,"float32")),2))}}},T6={kernelName:b3.M6A,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>(0,x3.l)(e,(0,x3.l)((0,T3.w)(n,"float32"),2))}}},x6={kernelName:b3.Ddj,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,i]=t,r=(0,S3.d)(2);return{a:()=>(0,x3.l)(e,(0,x3.l)(r,(0,M3.j)(n,i))),b:()=>(0,x3.l)(e,(0,x3.l)(r,(0,M3.j)(i,n)))}}},E6={kernelName:b3.pnw,gradFunc:e=>({x:()=>(0,B3.P)(e)})},w6={kernelName:b3.PbM,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,i]=t,r=N3.assertAndGetBroadcastShape(n.shape,i.shape);return{a:()=>{let t=e;const i=N3.getReductionAxes(n.shape,r);return i.length>0&&(t=(0,F3.c)(t,i)),(0,D3.t)(t,n.shape)},b:()=>{let t=e;const n=N3.getReductionAxes(i.shape,r);return n.length>0&&(t=(0,F3.c)(t,n)),(0,D3.t)((0,A3.H)(t),i.shape)}}}},I6={kernelName:b3.WuN,inputsToSave:["x"],gradFunc:(e,t,n)=>{const[i]=t,r=i.shape.slice(),{axis:s}=n;(0,q3.Y6)(s,i.shape).forEach(e=>{r[e]=1});const o=(0,D3.t)(e,r),a=(0,x3.l)(o,(0,b5.S)(i.shape,"float32"));return{x:()=>a}}},A6={kernelName:b3.oFs,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>(0,I3.y)(e,(0,O3.E)((0,o6.g)(n)))}}},S6={kernelName:b3.iuW,outputsToSave:[!0],gradFunc:(e,t)=>{const[n]=t;return{x:()=>(0,x3.l)((0,M3.j)((0,S3.d)(1),(0,O3.E)(n)),e)}}},C6={kernelName:b3.FAs,inputsToSave:["x"],gradFunc:(e,t,n)=>{const[i]=t,{reps:r}=n;return{x:()=>{let t=(0,B3.P)(i);if(1===i.rank)for(let n=0;n{const i=n,{perm:r}=i,s=O4.gx(r);return{x:()=>(0,k4.m)(e,s)}}},M6={kernelName:b3.dXR,gradFunc:(e,t,n)=>{const i=n,{axis:r}=i;return{value:()=>(0,X4.t)(e,r)}}};var k6=__webpack_require__(8710),R6=__webpack_require__(48229),N6=__webpack_require__(30178); /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -10956,7 +10956,7 @@ const p6={kernelName:f3.Blb,gradFunc:(e,t,n)=>{const{axis:i}=n;return{x:()=>(0,h * limitations under the License. * ============================================================================= */ -const C6={kernelName:f3.pPe,inputsToSave:["segmentIds"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>function(e,t){const n=(0,S6.P)(t,(0,R3.P)(t)),i=(0,A6.k)(e,n);let r=(0,i4.D)(t,(0,T3.d)(0,"int32"));const s=i.rank-r.rank;for(let e=0;e{const[n]=t;return{x:()=>function(e,t){const n=(0,N6.P)(t,(0,B3.P)(t)),i=(0,R6.k)(e,n);let r=(0,u4.D)(t,(0,S3.d)(0,"int32"));const s=i.rank-r.rank;for(let e=0;e{const[n * limitations under the License. * ============================================================================= */ -const O6={kernelName:f3.xJ3,gradFunc:e=>({x:()=>(0,R3.P)(e)})};var M6=__webpack_require__(37074); +const F6={kernelName:b3.xJ3,gradFunc:e=>({x:()=>(0,B3.P)(e)})};var L6=__webpack_require__(37074); /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -10990,7 +10990,7 @@ const O6={kernelName:f3.xJ3,gradFunc:e=>({x:()=>(0,R3.P)(e)})};var M6=__webpack_ * limitations under the License. * ============================================================================= */ -const k6=[y3,I3,A3,M3,k3,N3,D3,F3,P3,B3,$3,U3,W3,q3,Z3,J3,e4,t4,n4,a4,l4,c4,m4,p4,y4,b4,x4,A4,O4,M4,P5,k4,N4,D4,F4,L4,B4,P4,V4,Y4,W4,X4,q4,K4,Z4,J4,e5,t5,n5,r5,a5,a5,u5,d5,p5,m5,g5,_5,v5,T5,x5,E5,I5,A5,C5,O5,O5,R5,N5,L5,B5,$5,U5,V5,z5,j5,G5,H5,W5,q5,Z5,Q5,J5,t6,i6,o6,a6,u6,d6,d6,p6,p6,f6,g6,m6,_6,y6,v6,b6,T6,x6,E6,w6,C6,O6];for(const e of k6)(0,M6.kr)(e);__webpack_require__(20455); +const P6=[w3,k3,R3,L3,P3,$3,U3,V3,j3,Y3,G3,H3,J3,t4,i4,s4,o4,a4,l4,p4,f4,g4,T4,v4,w4,A4,C4,R4,F4,L4,j5,P4,$4,U4,V4,z4,Y4,j4,W4,K4,J4,e5,t5,n5,i5,s5,o5,a5,l5,c5,p5,p5,m5,_5,v5,T5,x5,E5,I5,S5,C5,O5,k5,R5,D5,F5,F5,B5,$5,z5,Y5,G5,H5,W5,X5,q5,Z5,Q5,J5,t6,i6,r6,s6,a6,u6,h6,p6,m6,_6,_6,v6,v6,b6,x6,T6,E6,w6,I6,A6,S6,C6,O6,M6,D6,F6];for(const e of P6)(0,L6.kr)(e);__webpack_require__(20455); /** * @license * Copyright 2018 Google LLC @@ -11000,7 +11000,7 @@ const k6=[y3,I3,A3,M3,k3,N3,D3,F3,P3,B3,$3,U3,W3,q3,Z3,J3,e4,t4,n4,a4,l4,c4,m4,p * https://opensource.org/licenses/MIT. * ============================================================================= */ -class R6 extends Error{constructor(e){super(e),Object.setPrototypeOf(this,R6.prototype)}}class N6 extends Error{constructor(e){super(e),Object.setPrototypeOf(this,N6.prototype)}}class D6 extends Error{constructor(e){super(e),Object.setPrototypeOf(this,D6.prototype)}}class F6 extends Error{constructor(e){super(e),Object.setPrototypeOf(this,F6.prototype)}}class L6 extends Error{constructor(e){super(e),Object.setPrototypeOf(this,L6.prototype)}}Error; +class B6 extends Error{constructor(e){super(e),Object.setPrototypeOf(this,B6.prototype)}}class $6 extends Error{constructor(e){super(e),Object.setPrototypeOf(this,$6.prototype)}}class U6 extends Error{constructor(e){super(e),Object.setPrototypeOf(this,U6.prototype)}}class V6 extends Error{constructor(e){super(e),Object.setPrototypeOf(this,V6.prototype)}}class z6 extends Error{constructor(e){super(e),Object.setPrototypeOf(this,z6.prototype)}}Error; /** * @license * Copyright 2022 Google LLC @@ -11010,7 +11010,7 @@ class R6 extends Error{constructor(e){super(e),Object.setPrototypeOf(this,R6.pro * https://opensource.org/licenses/MIT. * ============================================================================= */ -class P6{constructor(e){this.maxEntries=e||100,this.cache=new Map}get(e){let t;return this.cache.has(e)&&(t=this.cache.get(e),this.cache.delete(e),this.cache.set(e,t)),t}put(e,t){if(this.cache.has(e))this.cache.delete(e);else if(this.cache.size>=this.maxEntries){const e=this.cache.keys().next().value;this.cache.delete(e)}this.cache.set(e,t)}getMaxEntries(){return this.maxEntries}setMaxEntries(e){if(e<0)throw new Error(`The maxEntries of LRU caches must be at least 0, but got ${e}.`);if(this.maxEntries>e)for(let t=0;t=this.maxEntries){const e=this.cache.keys().next().value;this.cache.delete(e)}this.cache.set(e,t)}getMaxEntries(){return this.maxEntries}setMaxEntries(e){if(e<0)throw new Error(`The maxEntries of LRU caches must be at least 0, but got ${e}.`);if(this.maxEntries>e)for(let t=0;tt.toUpperCase())}let G6={};function H6(e){if(null==e)return null;const t={};return t.className=e.getClassName(),t.config=e.getConfig(),t}function W6(e){if(null!=e&&"object"==typeof e)if(Array.isArray(e))e.forEach(e=>W6(e));else{const t=Object.keys(e);for(const n of t){const t=e[n];null!=t&&"object"==typeof t&&(Array.isArray(t)||"ndarray"!==t.type||"number"!=typeof t.value?W6(t):e[n]=t.value)}}}function X6(e,t={},n={},i="object",r=!1){if("string"==typeof e){const r=e;let s;if(r in n)s=n[r];else if(r in G6)s=G6[r];else if(s=t[r],null==s)throw new D6(`Unknown ${i}: ${e}. This may be due to one of the following reasons:\n1. The ${i} is defined in Python, in which case it needs to be ported to TensorFlow.js or your JavaScript code.\n2. The custom ${i} is defined in JavaScript, but is not registered properly with tf.serialization.registerClass().`);return s}{const s=e;if(null==s.className||null==s.config)throw new D6(`${i}: Improper config format: ${JSON.stringify(s)}.\n'className' and 'config' must set.`);const o=s.className;let a,l;if(o in n?[a,l]=n[o]:o in G6?[a,l]=G6.className:o in t&&([a,l]=t[o]),null==a)throw new D6(`Unknown ${i}: ${o}. This may be due to one of the following reasons:\n1. The ${i} is defined in Python, in which case it needs to be ported to TensorFlow.js or your JavaScript code.\n2. The custom ${i} is defined in JavaScript, but is not registered properly with tf.serialization.registerClass().`);if(null!=l){const e={};for(const t of Object.keys(G6))e[t]=G6[t];for(const t of Object.keys(n))e[t]=n[t];s.config.customObjects=e;const t=Object.assign({},G6);for(const e of Object.keys(n))G6[e]=n[e];W6(s.config);const i=l(a,s.config,n,r);return G6=Object.assign({},t),i}{const e=Object.assign({},G6);for(const e of Object.keys(n))G6[e]=n[e];const t=new a(s.config);return G6=Object.assign({},e),t}}}function q6(e,t){return-1*function(e,t){return et?1:0}(e,t)}function K6(e){if(null==e)return e;const t=[];for(const n of e)-1===t.indexOf(n)&&t.push(n);return t}function Z6(e){if(null==e)throw new D6(`Invalid value in obj: ${JSON.stringify(e)}`);for(const t in e)if(e.hasOwnProperty(t))return!1;return!0}function Q6(e,t,n){if(null!=n&&e.indexOf(n)<0)throw new D6(`${n} is not a valid ${t}. Valid values are ${e} or null/undefined.`)}function J6(e,t,n=0,i=1/0){return $6(n>=0),$6(i>=n),Array.isArray(e)&&e.length>=n&&e.length<=i&&e.every(e=>typeof e===t)}function e8(e,t){Array.isArray(e)?(p3.util.assert(e.length>0,()=>`${t} is unexpectedly an empty array.`),e.forEach((e,n)=>e8(e,`element ${n+1} of ${t}`))):p3.util.assert(Number.isInteger(e)&&e>0,()=>`Expected ${t} to be a positive integer, but got ${t8(e)}.`)}function t8(e){return null===e?"null":Array.isArray(e)?"["+e.map(e=>t8(e)).join(",")+"]":"string"==typeof e?`"${e}"`:`${e}`}function n8(e){return"relu"===e?"relu":"linear"===e?"linear":"elu"===e?"elu":null} +function Y6(e,t){if(Array.isArray(e)){let n=[];for(let i=0;it.toUpperCase())}let Z6={};function Q6(e){if(null==e)return null;const t={};return t.className=e.getClassName(),t.config=e.getConfig(),t}function J6(e){if(null!=e&&"object"==typeof e)if(Array.isArray(e))e.forEach(e=>J6(e));else{const t=Object.keys(e);for(const n of t){const t=e[n];null!=t&&"object"==typeof t&&(Array.isArray(t)||"ndarray"!==t.type||"number"!=typeof t.value?J6(t):e[n]=t.value)}}}function e8(e,t={},n={},i="object",r=!1){if("string"==typeof e){const r=e;let s;if(r in n)s=n[r];else if(r in Z6)s=Z6[r];else if(s=t[r],null==s)throw new U6(`Unknown ${i}: ${e}. This may be due to one of the following reasons:\n1. The ${i} is defined in Python, in which case it needs to be ported to TensorFlow.js or your JavaScript code.\n2. The custom ${i} is defined in JavaScript, but is not registered properly with tf.serialization.registerClass().`);return s}{const s=e;if(null==s.className||null==s.config)throw new U6(`${i}: Improper config format: ${JSON.stringify(s)}.\n'className' and 'config' must set.`);const o=s.className;let a,l;if(o in n?[a,l]=n[o]:o in Z6?[a,l]=Z6.className:o in t&&([a,l]=t[o]),null==a)throw new U6(`Unknown ${i}: ${o}. This may be due to one of the following reasons:\n1. The ${i} is defined in Python, in which case it needs to be ported to TensorFlow.js or your JavaScript code.\n2. The custom ${i} is defined in JavaScript, but is not registered properly with tf.serialization.registerClass().`);if(null!=l){const e={};for(const t of Object.keys(Z6))e[t]=Z6[t];for(const t of Object.keys(n))e[t]=n[t];s.config.customObjects=e;const t=Object.assign({},Z6);for(const e of Object.keys(n))Z6[e]=n[e];J6(s.config);const i=l(a,s.config,n,r);return Z6=Object.assign({},t),i}{const e=Object.assign({},Z6);for(const e of Object.keys(n))Z6[e]=n[e];const t=new a(s.config);return Z6=Object.assign({},e),t}}}function t8(e,t){return-1*function(e,t){return et?1:0}(e,t)}function n8(e){if(null==e)return e;const t=[];for(const n of e)-1===t.indexOf(n)&&t.push(n);return t}function i8(e){if(null==e)throw new U6(`Invalid value in obj: ${JSON.stringify(e)}`);for(const t in e)if(e.hasOwnProperty(t))return!1;return!0}function r8(e,t,n){if(null!=n&&e.indexOf(n)<0)throw new U6(`${n} is not a valid ${t}. Valid values are ${e} or null/undefined.`)}function s8(e,t,n=0,i=1/0){return G6(n>=0),G6(i>=n),Array.isArray(e)&&e.length>=n&&e.length<=i&&e.every(e=>typeof e===t)}function o8(e,t){Array.isArray(e)?(v3.util.assert(e.length>0,()=>`${t} is unexpectedly an empty array.`),e.forEach((e,n)=>o8(e,`element ${n+1} of ${t}`))):v3.util.assert(Number.isInteger(e)&&e>0,()=>`Expected ${t} to be a positive integer, but got ${a8(e)}.`)}function a8(e){return null===e?"null":Array.isArray(e)?"["+e.map(e=>a8(e)).join(",")+"]":"string"==typeof e?`"${e}"`:`${e}`}function l8(e){return"relu"===e?"relu":"linear"===e?"linear":"elu"===e?"elu":null} /** * @license * Copyright 2018 Google LLC @@ -11030,7 +11030,7 @@ function B6(e,t){if(Array.isArray(e)){let n=[];for(let i=0;i0){const n=`${e}_${t}`;return h8.set(n,1),n}return e}const b8=new RegExp(/^[A-Za-z0-9][-A-Za-z0-9\._\/]*$/);function T8(e){return!!e.match(b8)} +const p8=["channelsFirst","channelsLast"],f8=["nearest","bilinear"],m8=["valid","same","causal"],g8=["max","avg"],_8=["sum","mul","concat","ave"],y8=new Map;function v8(e){r8(p8,"DataFormat",e)}function b8(e){r8(m8,"PaddingMode",e)}function T8(e){r8(g8,"PoolMode",e)}const x8=[];function E8(e,t){x8.push(e);try{const e=t();return x8.pop(),e}catch(e){throw x8.pop(),e}}function w8(e){if(!S8(e))throw new Error("Not a valid tensor name: '"+e+"'");return(0===x8.length?"":x8.join("/")+"/")+e}function I8(e){if(!S8(e))throw new Error("Not a valid tensor name: '"+e+"'");y8.has(e)||y8.set(e,0);const t=y8.get(e);if(y8.set(e,y8.get(e)+1),t>0){const n=`${e}_${t}`;return y8.set(n,1),n}return e}const A8=new RegExp(/^[A-Za-z0-9][-A-Za-z0-9\._\/]*$/);function S8(e){return!!e.match(A8)} /** * @license * Copyright 2018 Google LLC @@ -11050,7 +11050,7 @@ const a8=["channelsFirst","channelsLast"],l8=["nearest","bilinear"],u8=["valid", * https://opensource.org/licenses/MIT. * ============================================================================= */ -function x8(e){return e===parseInt(e.toString(),10)}function E8(e,t,n){null==t&&(t=0),null==n&&(n=e.length);let i=1;for(let r=t;rt&&(t=i)}return t}function A8(e,t){if(tt&&(t=i)}return t}function R8(e,t){if(t{switch(e.rank){case 1:return p3.slice1d(e,t,n);case 2:return p3.slice2d(e,[t,0],[n,e.shape[1]]);case 3:return p3.slice3d(e,[t,0,0],[n,e.shape[1],e.shape[2]]);case 4:return p3.slice4d(e,[t,0,0,0],[n,e.shape[1],e.shape[2],e.shape[3]]);case 5:return p3.slice(e,[t,0,0,0,0],[n,e.shape[1],e.shape[2],e.shape[3],e.shape[4]]);case 6:return p3.slice(e,[t,0,0,0,0,0],[n,e.shape[1],e.shape[2],e.shape[3],e.shape[4],e.shape[5]]);default:throw new D6(`sliceAlongFirstAxis() received an unsupported tensor rank: ${e.rank}`)}})}function R8(e,t,n){return(0,p3.tidy)(()=>{switch(e.rank){case 1:return p3.slice1d(e,t,n);case 2:return p3.slice2d(e,[0,t],[e.shape[0],n]);case 3:return p3.slice3d(e,[0,0,t],[e.shape[0],e.shape[1],n]);case 4:return p3.slice4d(e,[0,0,0,t],[e.shape[0],e.shape[1],e.shape[2],n]);default:throw new D6(`sliceAlongLastAxis() received an unsupported tensor rank: ${e.rank}`)}})}function N8(e,t,n,i){return(0,p3.tidy)(()=>{switch(e.rank){case 1:return p3.slice1d(e,t,n);case 2:switch(i){case 1:return k8(e,t,n);case 2:return R8(e,t,n);default:throw new D6(`The axis is not within the rank of the tensor ${i}`)}case 3:switch(i){case 1:return k8(e,t,n);case 2:return p3.slice3d(e,[0,t,0],[e.shape[0],n,e.shape[2]]);case 3:return R8(e,t,n);default:throw new D6(`The axis is not within the rank of the tensor ${i}`)}case 4:switch(i){case 1:return k8(e,t,n);case 2:return p3.slice4d(e,[0,t,0,0],[e.shape[0],n,e.shape[2],e.shape[3]]);case 3:return p3.slice4d(e,[0,0,t,0],[e.shape[0],e.shape[1],n,e.shape[3]]);case 4:return R8(e,t,n);default:throw new D6(`The axis is not within the rank of the tensor ${i}`)}default:throw new D6(`sliceAlongLastAxis() received an unsupported tensor rank: ${e.rank}`)}})}function D8(e,t=-1){let n;return t<0&&(n=e[0].rank,t=0!==n?n:0),t===e[0].rank&&(t=-1),p3.concat(e,t)}function F8(e,t){switch(e.rank){case 1:return p3.concat1d([e,t]);case 2:return p3.concat2d([e,t],0);case 3:return p3.concat3d([e,t],0);case 4:return p3.concat4d([e,t],0);default:throw new D6(`concatAlongFirstAxis() received an unsupported tensor rank: ${e.rank}`)}}function L8(e,t){if(Array.isArray(t)||(t=[t]),e.rank!==t.length)throw new D6(`The length of input n (${t.length}) does not match the number of dimensions in input x (${e.rank})`);return p3.tile(e,t)}function P8(e,t=0,n=1,i,r){return p3.randomNormal(e,t,n,i,r)}function B8(e,t,n,i){if(e.rank<2||t.rank<2)throw new F6(`dot requires both inputs to be rank >= 2 but got x shape = ${e.shape} and y shape = ${t.shape}`);if(t.rank>=3){if(e.shape.slice(-1)[0]!==t.shape.slice(-2)[0])throw new F6(`If rank y >= 3, then the second last dim of y must equal the last dim of x but got x shape = ${e.shape} and y shape = ${t.shape}`)}if(2===e.rank&&2===t.rank){const r=!1,s=!1;return p3.fused.matMul({a:e,b:t,transposeA:r,transposeB:s,bias:i?V8(e.rank,i,"channelsLast"):null,activation:n})}{const r=e.shape.slice(),s=r.pop();e=p3.reshape(e,[-1,s]);const o=t.shape.slice(),a=o.pop(),l=o.pop(),u=[...o,a],c=Array.from({length:t.rank},(e,n)=>0===n?t.rank-2:n<=t.rank-2?n-1:n);t=p3.reshape(p3.transpose(t,c),[l,-1]);const d=[...r,...u],h=!1,p=!1;return p3.reshape(p3.fused.matMul({a:e,b:t,transposeA:h,transposeB:p,bias:i?V8(e.rank,i,"channelsLast"):null,activation:n}),d)}}function $8(e,t,n){return(0,p3.tidy)(()=>(t=Array.isArray(t)?(0,p3.tensor1d)(t,"int32"):p3.cast(t,"int32"),p3.gather(e,t,n)))}function U8(e){return p3.mul(e,e)}function V8(e,t,n){const i=t.shape;if(1!==t.rank&&t.rank!==e)throw new D6(`Unexpected bias dimensions: ${t.rank}; expected it to be 1 or ${e}`);if(5===e){if("channelsFirst"===n)return 1===i.length?p3.reshape(t,[1,i[0],1,1,1]):p3.reshape(t,[1,i[3],i[0],i[1],i[2]]);if("channelsLast"===n)return 1===i.length?p3.reshape(t,[1,1,1,1,i[0]]):p3.reshape(t,[1].concat(i))}else if(4===e){if("channelsFirst"===n)return 1===i.length?p3.reshape(t,[1,i[0],1,1]):p3.reshape(t,[1,i[2],i[0],i[1]]);if("channelsLast"===n)return 1===i.length?p3.reshape(t,[1,1,1,i[0]]):p3.reshape(t,[1].concat(i))}else if(3===e){if("channelsFirst"===n)return 1===i.length?p3.reshape(t,[1,i[0],1]):p3.reshape(t,[1,i[1],i[0]]);if("channelsLast"===n)return 1===i.length?p3.reshape(t,[1,1,i[0]]):p3.reshape(t,[1].concat(i))}else if(e<3)return t;throw new D6(`Unsupported input rank by biasAdd: ${t.rank}`)}function z8(e,t,n){return(0,p3.tidy)(()=>(null==n&&(n="channelsLast"),p8(n),p3.add(e,V8(e.rank,t,n))))}function j8(e,t,n,i){return(0,p3.tidy)(()=>p3.dropout(e,t,n,i))}function Y8(e,t,n=!1){return n?e():t()} +let N8;function D8(){return null==N8&&(N8=(0,v3.backend)().epsilon()),N8}function F8(e,t){return v3.cast(e,t)}function L8(e,t=-1){const n=e.shape.slice();return t<0&&(t=n.length+t+1),n.splice(t,0,1),v3.reshape(e,n)}function P8(e,t,n){return(0,v3.tidy)(()=>{switch(e.rank){case 1:return v3.slice1d(e,t,n);case 2:return v3.slice2d(e,[t,0],[n,e.shape[1]]);case 3:return v3.slice3d(e,[t,0,0],[n,e.shape[1],e.shape[2]]);case 4:return v3.slice4d(e,[t,0,0,0],[n,e.shape[1],e.shape[2],e.shape[3]]);case 5:return v3.slice(e,[t,0,0,0,0],[n,e.shape[1],e.shape[2],e.shape[3],e.shape[4]]);case 6:return v3.slice(e,[t,0,0,0,0,0],[n,e.shape[1],e.shape[2],e.shape[3],e.shape[4],e.shape[5]]);default:throw new U6(`sliceAlongFirstAxis() received an unsupported tensor rank: ${e.rank}`)}})}function B8(e,t,n){return(0,v3.tidy)(()=>{switch(e.rank){case 1:return v3.slice1d(e,t,n);case 2:return v3.slice2d(e,[0,t],[e.shape[0],n]);case 3:return v3.slice3d(e,[0,0,t],[e.shape[0],e.shape[1],n]);case 4:return v3.slice4d(e,[0,0,0,t],[e.shape[0],e.shape[1],e.shape[2],n]);default:throw new U6(`sliceAlongLastAxis() received an unsupported tensor rank: ${e.rank}`)}})}function $8(e,t,n,i){return(0,v3.tidy)(()=>{switch(e.rank){case 1:return v3.slice1d(e,t,n);case 2:switch(i){case 1:return P8(e,t,n);case 2:return B8(e,t,n);default:throw new U6(`The axis is not within the rank of the tensor ${i}`)}case 3:switch(i){case 1:return P8(e,t,n);case 2:return v3.slice3d(e,[0,t,0],[e.shape[0],n,e.shape[2]]);case 3:return B8(e,t,n);default:throw new U6(`The axis is not within the rank of the tensor ${i}`)}case 4:switch(i){case 1:return P8(e,t,n);case 2:return v3.slice4d(e,[0,t,0,0],[e.shape[0],n,e.shape[2],e.shape[3]]);case 3:return v3.slice4d(e,[0,0,t,0],[e.shape[0],e.shape[1],n,e.shape[3]]);case 4:return B8(e,t,n);default:throw new U6(`The axis is not within the rank of the tensor ${i}`)}default:throw new U6(`sliceAlongLastAxis() received an unsupported tensor rank: ${e.rank}`)}})}function U8(e,t=-1){let n;return t<0&&(n=e[0].rank,t=0!==n?n:0),t===e[0].rank&&(t=-1),v3.concat(e,t)}function V8(e,t){switch(e.rank){case 1:return v3.concat1d([e,t]);case 2:return v3.concat2d([e,t],0);case 3:return v3.concat3d([e,t],0);case 4:return v3.concat4d([e,t],0);default:throw new U6(`concatAlongFirstAxis() received an unsupported tensor rank: ${e.rank}`)}}function z8(e,t){if(Array.isArray(t)||(t=[t]),e.rank!==t.length)throw new U6(`The length of input n (${t.length}) does not match the number of dimensions in input x (${e.rank})`);return v3.tile(e,t)}function j8(e,t=0,n=1,i,r){return v3.randomNormal(e,t,n,i,r)}function Y8(e,t,n,i){if(e.rank<2||t.rank<2)throw new V6(`dot requires both inputs to be rank >= 2 but got x shape = ${e.shape} and y shape = ${t.shape}`);if(t.rank>=3){if(e.shape.slice(-1)[0]!==t.shape.slice(-2)[0])throw new V6(`If rank y >= 3, then the second last dim of y must equal the last dim of x but got x shape = ${e.shape} and y shape = ${t.shape}`)}if(2===e.rank&&2===t.rank){const r=!1,s=!1;return v3.fused.matMul({a:e,b:t,transposeA:r,transposeB:s,bias:i?W8(e.rank,i,"channelsLast"):null,activation:n})}{const r=e.shape.slice(),s=r.pop();e=v3.reshape(e,[-1,s]);const o=t.shape.slice(),a=o.pop(),l=o.pop(),u=[...o,a],c=Array.from({length:t.rank},(e,n)=>0===n?t.rank-2:n<=t.rank-2?n-1:n);t=v3.reshape(v3.transpose(t,c),[l,-1]);const d=[...r,...u],h=!1,p=!1;return v3.reshape(v3.fused.matMul({a:e,b:t,transposeA:h,transposeB:p,bias:i?W8(e.rank,i,"channelsLast"):null,activation:n}),d)}}function G8(e,t,n){return(0,v3.tidy)(()=>(t=Array.isArray(t)?(0,v3.tensor1d)(t,"int32"):v3.cast(t,"int32"),v3.gather(e,t,n)))}function H8(e){return v3.mul(e,e)}function W8(e,t,n){const i=t.shape;if(1!==t.rank&&t.rank!==e)throw new U6(`Unexpected bias dimensions: ${t.rank}; expected it to be 1 or ${e}`);if(5===e){if("channelsFirst"===n)return 1===i.length?v3.reshape(t,[1,i[0],1,1,1]):v3.reshape(t,[1,i[3],i[0],i[1],i[2]]);if("channelsLast"===n)return 1===i.length?v3.reshape(t,[1,1,1,1,i[0]]):v3.reshape(t,[1].concat(i))}else if(4===e){if("channelsFirst"===n)return 1===i.length?v3.reshape(t,[1,i[0],1,1]):v3.reshape(t,[1,i[2],i[0],i[1]]);if("channelsLast"===n)return 1===i.length?v3.reshape(t,[1,1,1,i[0]]):v3.reshape(t,[1].concat(i))}else if(3===e){if("channelsFirst"===n)return 1===i.length?v3.reshape(t,[1,i[0],1]):v3.reshape(t,[1,i[1],i[0]]);if("channelsLast"===n)return 1===i.length?v3.reshape(t,[1,1,i[0]]):v3.reshape(t,[1].concat(i))}else if(e<3)return t;throw new U6(`Unsupported input rank by biasAdd: ${t.rank}`)}function X8(e,t,n){return(0,v3.tidy)(()=>(null==n&&(n="channelsLast"),v8(n),v3.add(e,W8(e.rank,t,n))))}function q8(e,t,n,i){return(0,v3.tidy)(()=>v3.dropout(e,t,n,i))}function K8(e,t,n=!1){return n?e():t()} /** * @license * Copyright 2018 Google LLC @@ -11070,7 +11070,7 @@ let S8;function C8(){return null==S8&&(S8=(0,p3.backend)().epsilon()),S8}functio * https://opensource.org/licenses/MIT. * ============================================================================= */ -const G8=["fanIn","fanOut","fanAvg"],H8=["normal","uniform","truncatedNormal"];class W8 extends p3.serialization.Serializable{fromConfigUsesCustomObjects(){return!1}getConfig(){return{}}}class X8 extends W8{apply(e,t){return(0,p3.zeros)(e,t)}}X8.className="Zeros",p3.serialization.registerClass(X8);class q8 extends W8{apply(e,t){return(0,p3.ones)(e,t)}}q8.className="Ones",p3.serialization.registerClass(q8);class K8 extends W8{constructor(e){if(super(),"object"!=typeof e)throw new D6(`Expected argument of type ConstantConfig but got ${e}`);if(void 0===e.value)throw new D6(`config must have value set but got ${e}`);this.value=e.value}apply(e,t){return(0,p3.tidy)(()=>(0,p3.mul)((0,p3.scalar)(this.value),(0,p3.ones)(e,t)))}getConfig(){return{value:this.value}}}K8.className="Constant",p3.serialization.registerClass(K8);class Z8 extends W8{constructor(e){super(),this.DEFAULT_MINVAL=-.05,this.DEFAULT_MAXVAL=.05,this.minval=e.minval||this.DEFAULT_MINVAL,this.maxval=e.maxval||this.DEFAULT_MAXVAL,this.seed=e.seed}apply(e,t){return(0,p3.randomUniform)(e,this.minval,this.maxval,t,this.seed)}getConfig(){return{minval:this.minval,maxval:this.maxval,seed:this.seed}}}Z8.className="RandomUniform",p3.serialization.registerClass(Z8);class Q8 extends W8{constructor(e){super(),this.DEFAULT_MEAN=0,this.DEFAULT_STDDEV=.05,this.mean=e.mean||this.DEFAULT_MEAN,this.stddev=e.stddev||this.DEFAULT_STDDEV,this.seed=e.seed}apply(e,t){if("float32"!==(t=t||"float32")&&"int32"!==t)throw new F6(`randomNormal does not support dType ${t}.`);return P8(e,this.mean,this.stddev,t,this.seed)}getConfig(){return{mean:this.mean,stddev:this.stddev,seed:this.seed}}}Q8.className="RandomNormal",p3.serialization.registerClass(Q8);class J8 extends W8{constructor(e){super(),this.DEFAULT_MEAN=0,this.DEFAULT_STDDEV=.05,this.mean=e.mean||this.DEFAULT_MEAN,this.stddev=e.stddev||this.DEFAULT_STDDEV,this.seed=e.seed}apply(e,t){if("float32"!==(t=t||"float32")&&"int32"!==t)throw new F6(`truncatedNormal does not support dType ${t}.`);return(0,p3.truncatedNormal)(e,this.mean,this.stddev,t,this.seed)}getConfig(){return{mean:this.mean,stddev:this.stddev,seed:this.seed}}}J8.className="TruncatedNormal",p3.serialization.registerClass(J8);class e9 extends W8{constructor(e){super(),this.gain=null!=e.gain?e.gain:1}apply(e,t){return(0,p3.tidy)(()=>{if(2!==e.length||e[0]!==e[1])throw new D6("Identity matrix initializer can only be used for 2D square matrices.");return(0,p3.mul)(this.gain,(0,p3.eye)(e[0]))})}getConfig(){return{gain:this.gain}}}e9.className="Identity",p3.serialization.registerClass(e9);class t9 extends W8{constructor(e){if(super(),e.scale<0)throw new D6(`scale must be a positive float. Got: ${e.scale}`); +const Z8=["fanIn","fanOut","fanAvg"],Q8=["normal","uniform","truncatedNormal"];class J8 extends v3.serialization.Serializable{fromConfigUsesCustomObjects(){return!1}getConfig(){return{}}}class e9 extends J8{apply(e,t){return(0,v3.zeros)(e,t)}}e9.className="Zeros",v3.serialization.registerClass(e9);class t9 extends J8{apply(e,t){return(0,v3.ones)(e,t)}}t9.className="Ones",v3.serialization.registerClass(t9);class n9 extends J8{constructor(e){if(super(),"object"!=typeof e)throw new U6(`Expected argument of type ConstantConfig but got ${e}`);if(void 0===e.value)throw new U6(`config must have value set but got ${e}`);this.value=e.value}apply(e,t){return(0,v3.tidy)(()=>(0,v3.mul)((0,v3.scalar)(this.value),(0,v3.ones)(e,t)))}getConfig(){return{value:this.value}}}n9.className="Constant",v3.serialization.registerClass(n9);class i9 extends J8{constructor(e){super(),this.DEFAULT_MINVAL=-.05,this.DEFAULT_MAXVAL=.05,this.minval=e.minval||this.DEFAULT_MINVAL,this.maxval=e.maxval||this.DEFAULT_MAXVAL,this.seed=e.seed}apply(e,t){return(0,v3.randomUniform)(e,this.minval,this.maxval,t,this.seed)}getConfig(){return{minval:this.minval,maxval:this.maxval,seed:this.seed}}}i9.className="RandomUniform",v3.serialization.registerClass(i9);class r9 extends J8{constructor(e){super(),this.DEFAULT_MEAN=0,this.DEFAULT_STDDEV=.05,this.mean=e.mean||this.DEFAULT_MEAN,this.stddev=e.stddev||this.DEFAULT_STDDEV,this.seed=e.seed}apply(e,t){if("float32"!==(t=t||"float32")&&"int32"!==t)throw new V6(`randomNormal does not support dType ${t}.`);return j8(e,this.mean,this.stddev,t,this.seed)}getConfig(){return{mean:this.mean,stddev:this.stddev,seed:this.seed}}}r9.className="RandomNormal",v3.serialization.registerClass(r9);class s9 extends J8{constructor(e){super(),this.DEFAULT_MEAN=0,this.DEFAULT_STDDEV=.05,this.mean=e.mean||this.DEFAULT_MEAN,this.stddev=e.stddev||this.DEFAULT_STDDEV,this.seed=e.seed}apply(e,t){if("float32"!==(t=t||"float32")&&"int32"!==t)throw new V6(`truncatedNormal does not support dType ${t}.`);return(0,v3.truncatedNormal)(e,this.mean,this.stddev,t,this.seed)}getConfig(){return{mean:this.mean,stddev:this.stddev,seed:this.seed}}}s9.className="TruncatedNormal",v3.serialization.registerClass(s9);class o9 extends J8{constructor(e){super(),this.gain=null!=e.gain?e.gain:1}apply(e,t){return(0,v3.tidy)(()=>{if(2!==e.length||e[0]!==e[1])throw new U6("Identity matrix initializer can only be used for 2D square matrices.");return(0,v3.mul)(this.gain,(0,v3.eye)(e[0]))})}getConfig(){return{gain:this.gain}}}o9.className="Identity",v3.serialization.registerClass(o9);class a9 extends J8{constructor(e){if(super(),e.scale<0)throw new U6(`scale must be a positive float. Got: ${e.scale}`); /** * @license * Copyright 2018 Google LLC @@ -11080,7 +11080,7 @@ const G8=["fanIn","fanOut","fanAvg"],H8=["normal","uniform","truncatedNormal"];c * https://opensource.org/licenses/MIT. * ============================================================================= */ -var t;this.scale=null==e.scale?1:e.scale,this.mode=null==e.mode?"fanIn":e.mode,t=this.mode,Q6(G8,"FanMode",t),this.distribution=null==e.distribution?"normal":e.distribution,function(e){Q6(H8,"Distribution",e)}(this.distribution),this.seed=e.seed}apply(e,t){const n=function(e,t="channelsLast"){let n,i;if(p8(t),2===e.length)n=e[0],i=e[1];else if(-1!==[3,4,5].indexOf(e.length)){if("channelsFirst"===t){const t=E8(e,2);n=e[1]*t,i=e[0]*t}else if("channelsLast"===t){const t=E8(e,0,e.length-2);n=e[e.length-2]*t,i=e[e.length-1]*t}}else{const t=E8(e);n=Math.sqrt(t),i=Math.sqrt(t)}return[n,i]}(e),i=n[0],r=n[1];let s=this.scale;if("fanIn"===this.mode?s/=Math.max(1,i):"fanOut"===this.mode?s/=Math.max(1,r):s/=Math.max(1,(i+r)/2),"normal"===this.distribution){const n=Math.sqrt(s);if("float32"!==(t=t||"float32")&&"int32"!==t)throw new F6(`${this.getClassName()} does not support dType ${t}.`);return(0,p3.truncatedNormal)(e,0,n,t,this.seed)}{const n=Math.sqrt(3*s);return(0,p3.randomUniform)(e,-n,n,t,this.seed)}}getConfig(){return{scale:this.scale,mode:this.mode,distribution:this.distribution,seed:this.seed}}}t9.className="VarianceScaling",p3.serialization.registerClass(t9);class n9 extends t9{constructor(e){super({scale:1,mode:"fanAvg",distribution:"uniform",seed:null==e?null:e.seed})}getClassName(){return t9.className}}n9.className="GlorotUniform",p3.serialization.registerClass(n9);class i9 extends t9{constructor(e){super({scale:1,mode:"fanAvg",distribution:"normal",seed:null==e?null:e.seed})}getClassName(){return t9.className}}i9.className="GlorotNormal",p3.serialization.registerClass(i9);class r9 extends t9{constructor(e){super({scale:2,mode:"fanIn",distribution:"normal",seed:null==e?null:e.seed})}getClassName(){return t9.className}}r9.className="HeNormal",p3.serialization.registerClass(r9);class s9 extends t9{constructor(e){super({scale:2,mode:"fanIn",distribution:"uniform",seed:null==e?null:e.seed})}getClassName(){return t9.className}}s9.className="HeUniform",p3.serialization.registerClass(s9);class o9 extends t9{constructor(e){super({scale:1,mode:"fanIn",distribution:"normal",seed:null==e?null:e.seed})}getClassName(){return t9.className}}o9.className="LeCunNormal",p3.serialization.registerClass(o9);class a9 extends t9{constructor(e){super({scale:1,mode:"fanIn",distribution:"uniform",seed:null==e?null:e.seed})}getClassName(){return t9.className}}a9.className="LeCunUniform",p3.serialization.registerClass(a9);class l9 extends W8{constructor(e){super(),this.DEFAULT_GAIN=1,this.ELEMENTS_WARN_SLOW=2e3,this.gain=null==e.gain?this.DEFAULT_GAIN:e.gain,this.seed=e.seed}apply(e,t){return(0,p3.tidy)(()=>{if(e.length<2)throw new F6("Shape must be at least 2D.");if("int32"!==t&&"float32"!==t&&void 0!==t)throw new TypeError(`Unsupported data type ${t}.`);const n=p3.util.sizeFromShape(e.slice(0,-1)),i=e[e.length-1],r=n*i;r>this.ELEMENTS_WARN_SLOW&&console.warn(`Orthogonal initializer is being called on a matrix with more than ${this.ELEMENTS_WARN_SLOW} (${r}) elements: Slowness may result.`);const s=P8([Math.max(i,n),Math.min(i,n)],0,1,t,this.seed),o=p3.linalg.qr(s,!1);let a=o[0];const l=o[1].flatten().stridedSlice([0],[Math.min(i,n)*Math.min(i,n)],[Math.min(i,n)+1]);return a=(0,p3.mul)(a,l.sign()),n{if(e.length<2)throw new V6("Shape must be at least 2D.");if("int32"!==t&&"float32"!==t&&void 0!==t)throw new TypeError(`Unsupported data type ${t}.`);const n=v3.util.sizeFromShape(e.slice(0,-1)),i=e[e.length-1],r=n*i;r>this.ELEMENTS_WARN_SLOW&&console.warn(`Orthogonal initializer is being called on a matrix with more than ${this.ELEMENTS_WARN_SLOW} (${r}) elements: Slowness may result.`);const s=j8([Math.max(i,n),Math.min(i,n)],0,1,t,this.seed),o=v3.linalg.qr(s,!1);let a=o[0];const l=o[1].flatten().stridedSlice([0],[Math.min(i,n)*Math.min(i,n)],[Math.min(i,n)+1]);return a=(0,v3.mul)(a,l.sign()),ne*t);return t} +function E9(e){let t=0;for(const n of e)0===n.shape.length?t+=1:t+=n.shape.reduce((e,t)=>e*t);return t} /** * @license * Copyright 2018 Google LLC @@ -11110,7 +11110,7 @@ function _9(e){let t=0;for(const n of e)0===n.shape.length?t+=1:t+=n.shape.reduc * https://opensource.org/licenses/MIT. * ============================================================================= */ -const y9="Variable";class v9{constructor(e,t="float32",n=y9,i=!0,r=null){this.dtype=null==t?"float32":t,this.shape=e.shape,this.id=r8(),n=null==n?y9:n,this.originalName=y8(n),this.name=v8(this.originalName),this.trainable_=i,this.constraint=r,this.val=p3.variable(e,this.trainable_,this.name,this.dtype)}read(){return this.assertNotDisposed(),this.val}write(e){return this.assertNotDisposed(),function(e,t){if(e.shape.toString()!==t.shape.toString())throw new Error("Shape mismatch: "+JSON.stringify(e.shape)+" vs. "+JSON.stringify(t.shape))}(this.val,e),this.val.id!==e.id&&(this.val.assign(e),null!=this.constraint&&this.val.assign(this.constraint.apply(this.val))),this}dispose(){this.assertNotDisposed(),this.val.dispose()}assertNotDisposed(){if(this.val.isDisposed)throw new Error(`LayersVariable ${this.name} is already disposed.`)}get trainable(){return this.trainable_}set trainable(e){this.trainable_=e,this.val.trainable=e}}function b9(e){return e.map(e=>e.read())}function T9(e){e.forEach(e=>{e[0].write(e[1])})} +const w9="Variable";class I9{constructor(e,t="float32",n=w9,i=!0,r=null){this.dtype=null==t?"float32":t,this.shape=e.shape,this.id=c8(),n=null==n?w9:n,this.originalName=w8(n),this.name=I8(this.originalName),this.trainable_=i,this.constraint=r,this.val=v3.variable(e,this.trainable_,this.name,this.dtype)}read(){return this.assertNotDisposed(),this.val}write(e){return this.assertNotDisposed(),function(e,t){if(e.shape.toString()!==t.shape.toString())throw new Error("Shape mismatch: "+JSON.stringify(e.shape)+" vs. "+JSON.stringify(t.shape))}(this.val,e),this.val.id!==e.id&&(this.val.assign(e),null!=this.constraint&&this.val.assign(this.constraint.apply(this.val))),this}dispose(){this.assertNotDisposed(),this.val.dispose()}assertNotDisposed(){if(this.val.isDisposed)throw new Error(`LayersVariable ${this.name} is already disposed.`)}get trainable(){return this.trainable_}set trainable(e){this.trainable_=e,this.val.trainable=e}}function A9(e){return e.map(e=>e.read())}function S9(e){e.forEach(e=>{e[0].write(e[1])})} /** * @license * Copyright 2018 Google LLC @@ -11120,7 +11120,7 @@ const y9="Variable";class v9{constructor(e,t="float32",n=y9,i=!0,r=null){this.dt * https://opensource.org/licenses/MIT. * ============================================================================= */ -class x9{constructor(e){this.dtype=e.dtype,this.shape=e.shape,null!=e.shape?this.ndim=e.shape.length:this.ndim=e.ndim,this.maxNDim=e.maxNDim,this.minNDim=e.minNDim,this.axes=e.axes||{}}}class E9{constructor(e,t,n,i,r,s,o){this.dtype=e,this.shape=t,this.sourceLayer=n,this.inputs=i,this.callArgs=r,this.outputTensorIndex=o,this.id=r8(),null!=s&&(this.originalName=y8(s),this.name=v8(this.originalName)),this.rank=t.length}}let w9=0;class I9{constructor(e,t){this.callArgs=t,this.id=w9++,this.outboundLayer=e.outboundLayer,this.inboundLayers=e.inboundLayers,this.nodeIndices=e.nodeIndices,this.tensorIndices=e.tensorIndices,this.inputTensors=e.inputTensors,this.outputTensors=e.outputTensors,this.inputMasks=e.inputMasks,this.outputMasks=e.outputMasks,this.inputShapes=e.inputShapes,this.outputShapes=e.outputShapes;for(const t of e.inboundLayers)null!=t&&t.outboundNodes.push(this);e.outboundLayer.inboundNodes.push(this)}getConfig(){const e=[];for(const t of this.inboundLayers)null!=t?e.push(t.name):e.push(null);return{outboundLayer:this.outboundLayer?this.outboundLayer.name:null,inboundLayers:e,nodeIndices:this.nodeIndices,tensorIndices:this.tensorIndices}}}let A9=0;class S9 extends p3.serialization.Serializable{constructor(e={}){super(),this._callHook=null,this._addedWeightNames=[],this._stateful=!1,this.id=A9++,this.activityRegularizer=null,this.inputSpec=null,this.supportsMasking=!1,this._trainableWeights=[],this._nonTrainableWeights=[],this._losses=[],this._updates=[],this._built=!1,this.inboundNodes=[],this.outboundNodes=[];let t=e.name;if(!t){const e=this.getClassName();t=j6(e)+"_"+o8(e)}if(this.name=t,this.trainable_=null==e.trainable||e.trainable,null!=e.inputShape||null!=e.batchInputShape){let t;if(null!=e.batchInputShape)t=e.batchInputShape;else if(null!=e.inputShape){let n=null;null!=e.batchSize&&(n=e.batchSize),t=[n].concat(e.inputShape)}this.batchInputShape=t;let n=e.dtype;null==n&&(n=e.inputDType),null==n&&(n="float32"),this.dtype=n}null!=e.weights?this.initialWeights=e.weights:this.initialWeights=null,this._refCount=null,this.fastWeightInitDuringBuild=!1}static nodeKey(e,t){return e.name+"_ib-"+t.toString()}getNodeAtIndex(e,t){if(0===this.inboundNodes.length)throw new N6(`The layer has never been called and thus has no defined ${t}.`);if(this.inboundNodes.length<=e)throw new D6(`Asked to get ${t} at node ${e}, but the layer has only ${this.inboundNodes.length} inbound nodes.`);return this.inboundNodes[e]}getInputAt(e){return V6(this.getNodeAtIndex(e,"input").inputTensors)}getOutputAt(e){return V6(this.getNodeAtIndex(e,"output").outputTensors)}get input(){if(this.inboundNodes.length>1)throw new R6(`Layer ${this.name} has multiple inbound nodes, hence the notion of "layer input" is ill-defined. Use \`getInputAt(nodeIndex)\` instead.`);if(0===this.inboundNodes.length)throw new R6(`Layer ${this.name} is not connected, no input to return.`);return V6(this.getNodeAtIndex(0,"input").inputTensors)}get output(){if(0===this.inboundNodes.length)throw new R6(`Layer ${this.name} has no inbound nodes.`);if(this.inboundNodes.length>1)throw new R6(`Layer ${this.name} has multiple inbound nodes, hence the notion of "layer output" is ill-defined. Use \`getOutputAt(nodeIndex)\` instead.`);return V6(this.getNodeAtIndex(0,"output").outputTensors)}get losses(){return this._losses}calculateLosses(){return this.losses.map(e=>e())}get updates(){return this._updates}get built(){return this._built}set built(e){this._built=e}get trainable(){return this.trainable_}set trainable(e){this._trainableWeights.forEach(t=>t.trainable=e),this.trainable_=e}get trainableWeights(){return this.trainable_?this._trainableWeights.filter(e=>e.trainable):[]}set trainableWeights(e){this._trainableWeights=e}get nonTrainableWeights(){return this.trainable?this._trainableWeights.filter(e=>!e.trainable).concat(this._nonTrainableWeights):this._trainableWeights.concat(this._nonTrainableWeights)}set nonTrainableWeights(e){this._nonTrainableWeights=e}get weights(){return this.trainableWeights.concat(this.nonTrainableWeights)}get stateful(){return this._stateful}resetStates(){if(!this.stateful)throw new Error("Cannot call the resetStates() method of a non-stateful Layer object.")}assertInputCompatibility(e){const t=z6(e);if(null==this.inputSpec||0===this.inputSpec.length)return;const n=z6(this.inputSpec);if(t.length!==n.length)throw new D6(`Layer ${this.name} expects ${n.length} inputs, but it received ${t.length} input tensors. Input received: ${e}`);for(let e=0;er.maxNDim)throw new D6(`Input ${e} is incompatible with layer ${this.name}: expected max_ndim=${r.maxNDim}, found ndim=${s}`);if(null!=r.minNDim&&s=0?t[i]:t[t.length+i];if(null!=s&&-1===[s,null].indexOf(o))throw new D6(`Input ${e} is incompatible with layer ${this.name}: expected axis ${i} of input shape to have value ${s} but got shape ${t}.`)}}if(null!=r.shape)for(let t=0;t{if(!this.built){this.assertInputCompatibility(e);const t=[];for(const n of z6(e))t.push(n.shape);this.build(V6(t)),this.built=!0,this.initialWeights&&this.setWeights(this.initialWeights),null===this._refCount&&r&&(this._refCount=1)}if(this.assertInputCompatibility(e),r){let i=this.call(e,t);this.supportsMasking&&this.setMaskMetadata(e,i);const r=z6(i),s=[];for(let e of r)-1!==n.indexOf(e)&&(e=e.clone()),s.push(e);if(i=V6(s),null!=this.activityRegularizer)throw new F6("Layer invocation in the presence of activity regularizer(s) is not supported yet.");return i}{const n=function(e){e=z6(e);const t=[];for(const n of e)t.push(n.shape);return V6(t)}(e),i=this.computeOutputShape(n);let r;const s="float32";if(this.warnOnIncompatibleInputShape(Array.isArray(e)?n[0]:n),r=null!=i&&i.length>0&&Array.isArray(i[0])?i.map((n,i)=>new E9(s,n,this,z6(e),t,this.name,i)):new E9(s,i,this,z6(e),t,this.name),this.addInboundNode(e,r,null,null,n,i,t),this._refCount++,null!=this.activityRegularizer)throw new F6("Layer invocation in the presence of activity regularizer(s) is not supported yet.");return r}})}warnOnIncompatibleInputShape(e){if(null!=this.batchInputShape)if(e.length!==this.batchInputShape.length)console.warn(`The rank of the input tensor provided (shape: ${JSON.stringify(e)}) does not match that of the batchInputShape (${JSON.stringify(this.batchInputShape)}) of the layer ${this.name}`);else{let t=!1;this.batchInputShape.forEach((n,i)=>{null!=n&&null!=e[i]&&e[i]!==n&&(t=!0)}),t&&console.warn(`The shape of the input tensor (${JSON.stringify(e)}) does not match the expectation of layer ${this.name}: ${JSON.stringify(this.batchInputShape)}`)}}get outputShape(){if(null==this.inboundNodes||0===this.inboundNodes.length)throw new R6(`The layer ${this.name} has never been called and thus has no defined output shape.`);const e=[];for(const t of this.inboundNodes){const n=JSON.stringify(t.outputShapes);-1===e.indexOf(n)&&e.push(n)}if(1===e.length){const e=this.inboundNodes[0].outputShapes;return Array.isArray(e)&&Array.isArray(e[0])&&1===e.length?e[0]:e}throw new R6(`The layer ${this.name} has multiple inbound nodes with different output shapes. Hence the notion of "output shape" is ill-defined for the layer.`)}countParams(){if(!this.built)throw new N6(`You tried to call countParams() on ${this.name}, but the layer is not built yet. Build it first by calling build(batchInputShape).`);return _9(this.weights)}build(e){this.built=!0}getWeights(e=!1){return b9(e?this.trainableWeights:this.weights)}setWeights(e){(0,p3.tidy)(()=>{const t=this.weights;if(t.length!==e.length)throw new D6(`You called setWeights(weights) on layer "${this.name}" with a weight list of length ${e.length}, but the layer was expecting ${t.length} weights. Provided weights: ${e}...`);if(0===t.length)return;const n=[],i=b9(t);for(let r=0;rr.apply(u.read())),null==s&&(s=!0),s?this._trainableWeights.push(u):this._nonTrainableWeights.push(u),u}setFastWeightInitDuringBuild(e){this.fastWeightInitDuringBuild=e}addLoss(e){null==e||Array.isArray(e)&&0===e.length||(e=z6(e),void 0!==this._losses&&null!==this._losses&&this.losses.push(...e))}computeOutputShape(e){return e}computeMask(e,t){if(!this.supportsMasking){if(null!=t){if(!Array.isArray(t))throw new TypeError(`Layer ${this.name} does not support masking, but was passed an inputMask.`);t.forEach(e=>{if(null!=e)throw new TypeError(`Layer ${this.name} does not support masking, but was passed an inputMask.`)})}return null}return t}setMaskMetadata(e,t,n){if(!this.supportsMasking)return;const i=this.computeMask(e,n),r=z6(t),s=z6(i);if(r.length!==s.length)throw new Error(`${this.name} outputs ${r.length} tensors but ${r.length} masks for those tensors`);for(let e=0;ee.dispose()),this.weights.length}assertNotDisposed(){if(0===this._refCount)throw new Error(`Layer '${this.name}' is already disposed.`)}dispose(){if(!this.built)throw new Error(`Cannot dispose Layer ${this.name} because it has not been built yet.`);if(null===this._refCount)throw new Error(`Cannot dispose Layer ${this.name} because it has not been used yet.`);this.assertNotDisposed();let e=0;return 0===--this._refCount&&(e=this.disposeWeights()),{refCountAfterDispose:this._refCount,numDisposedVariables:e}}}function C9(e,t,n){if((null==t||null!=n&&n>0)&&(t=e.sourceLayer,n=e.nodeIndex),0===t.inboundNodes.length)return[e];{const e=t.inboundNodes[n];if(0===e.inboundLayers.length)return e.inputTensors;{const t=[];for(let n=0;n1)throw new B6(`Layer ${this.name} has multiple inbound nodes, hence the notion of "layer input" is ill-defined. Use \`getInputAt(nodeIndex)\` instead.`);if(0===this.inboundNodes.length)throw new B6(`Layer ${this.name} is not connected, no input to return.`);return W6(this.getNodeAtIndex(0,"input").inputTensors)}get output(){if(0===this.inboundNodes.length)throw new B6(`Layer ${this.name} has no inbound nodes.`);if(this.inboundNodes.length>1)throw new B6(`Layer ${this.name} has multiple inbound nodes, hence the notion of "layer output" is ill-defined. Use \`getOutputAt(nodeIndex)\` instead.`);return W6(this.getNodeAtIndex(0,"output").outputTensors)}get losses(){return this._losses}calculateLosses(){return this.losses.map(e=>e())}get updates(){return this._updates}get built(){return this._built}set built(e){this._built=e}get trainable(){return this.trainable_}set trainable(e){this._trainableWeights.forEach(t=>t.trainable=e),this.trainable_=e}get trainableWeights(){return this.trainable_?this._trainableWeights.filter(e=>e.trainable):[]}set trainableWeights(e){this._trainableWeights=e}get nonTrainableWeights(){return this.trainable?this._trainableWeights.filter(e=>!e.trainable).concat(this._nonTrainableWeights):this._trainableWeights.concat(this._nonTrainableWeights)}set nonTrainableWeights(e){this._nonTrainableWeights=e}get weights(){return this.trainableWeights.concat(this.nonTrainableWeights)}get stateful(){return this._stateful}resetStates(){if(!this.stateful)throw new Error("Cannot call the resetStates() method of a non-stateful Layer object.")}assertInputCompatibility(e){const t=X6(e);if(null==this.inputSpec||0===this.inputSpec.length)return;const n=X6(this.inputSpec);if(t.length!==n.length)throw new U6(`Layer ${this.name} expects ${n.length} inputs, but it received ${t.length} input tensors. Input received: ${e}`);for(let e=0;er.maxNDim)throw new U6(`Input ${e} is incompatible with layer ${this.name}: expected max_ndim=${r.maxNDim}, found ndim=${s}`);if(null!=r.minNDim&&s=0?t[i]:t[t.length+i];if(null!=s&&-1===[s,null].indexOf(o))throw new U6(`Input ${e} is incompatible with layer ${this.name}: expected axis ${i} of input shape to have value ${s} but got shape ${t}.`)}}if(null!=r.shape)for(let t=0;t{if(!this.built){this.assertInputCompatibility(e);const t=[];for(const n of X6(e))t.push(n.shape);this.build(W6(t)),this.built=!0,this.initialWeights&&this.setWeights(this.initialWeights),null===this._refCount&&r&&(this._refCount=1)}if(this.assertInputCompatibility(e),r){let i=this.call(e,t);this.supportsMasking&&this.setMaskMetadata(e,i);const r=X6(i),s=[];for(let e of r)-1!==n.indexOf(e)&&(e=e.clone()),s.push(e);if(i=W6(s),null!=this.activityRegularizer)throw new V6("Layer invocation in the presence of activity regularizer(s) is not supported yet.");return i}{const n=function(e){e=X6(e);const t=[];for(const n of e)t.push(n.shape);return W6(t)}(e),i=this.computeOutputShape(n);let r;const s="float32";if(this.warnOnIncompatibleInputShape(Array.isArray(e)?n[0]:n),r=null!=i&&i.length>0&&Array.isArray(i[0])?i.map((n,i)=>new O9(s,n,this,X6(e),t,this.name,i)):new O9(s,i,this,X6(e),t,this.name),this.addInboundNode(e,r,null,null,n,i,t),this._refCount++,null!=this.activityRegularizer)throw new V6("Layer invocation in the presence of activity regularizer(s) is not supported yet.");return r}})}warnOnIncompatibleInputShape(e){if(null!=this.batchInputShape)if(e.length!==this.batchInputShape.length)console.warn(`The rank of the input tensor provided (shape: ${JSON.stringify(e)}) does not match that of the batchInputShape (${JSON.stringify(this.batchInputShape)}) of the layer ${this.name}`);else{let t=!1;this.batchInputShape.forEach((n,i)=>{null!=n&&null!=e[i]&&e[i]!==n&&(t=!0)}),t&&console.warn(`The shape of the input tensor (${JSON.stringify(e)}) does not match the expectation of layer ${this.name}: ${JSON.stringify(this.batchInputShape)}`)}}get outputShape(){if(null==this.inboundNodes||0===this.inboundNodes.length)throw new B6(`The layer ${this.name} has never been called and thus has no defined output shape.`);const e=[];for(const t of this.inboundNodes){const n=JSON.stringify(t.outputShapes);-1===e.indexOf(n)&&e.push(n)}if(1===e.length){const e=this.inboundNodes[0].outputShapes;return Array.isArray(e)&&Array.isArray(e[0])&&1===e.length?e[0]:e}throw new B6(`The layer ${this.name} has multiple inbound nodes with different output shapes. Hence the notion of "output shape" is ill-defined for the layer.`)}countParams(){if(!this.built)throw new $6(`You tried to call countParams() on ${this.name}, but the layer is not built yet. Build it first by calling build(batchInputShape).`);return E9(this.weights)}build(e){this.built=!0}getWeights(e=!1){return A9(e?this.trainableWeights:this.weights)}setWeights(e){(0,v3.tidy)(()=>{const t=this.weights;if(t.length!==e.length)throw new U6(`You called setWeights(weights) on layer "${this.name}" with a weight list of length ${e.length}, but the layer was expecting ${t.length} weights. Provided weights: ${e}...`);if(0===t.length)return;const n=[],i=A9(t);for(let r=0;rr.apply(u.read())),null==s&&(s=!0),s?this._trainableWeights.push(u):this._nonTrainableWeights.push(u),u}setFastWeightInitDuringBuild(e){this.fastWeightInitDuringBuild=e}addLoss(e){null==e||Array.isArray(e)&&0===e.length||(e=X6(e),void 0!==this._losses&&null!==this._losses&&this.losses.push(...e))}computeOutputShape(e){return e}computeMask(e,t){if(!this.supportsMasking){if(null!=t){if(!Array.isArray(t))throw new TypeError(`Layer ${this.name} does not support masking, but was passed an inputMask.`);t.forEach(e=>{if(null!=e)throw new TypeError(`Layer ${this.name} does not support masking, but was passed an inputMask.`)})}return null}return t}setMaskMetadata(e,t,n){if(!this.supportsMasking)return;const i=this.computeMask(e,n),r=X6(t),s=X6(i);if(r.length!==s.length)throw new Error(`${this.name} outputs ${r.length} tensors but ${r.length} masks for those tensors`);for(let e=0;ee.dispose()),this.weights.length}assertNotDisposed(){if(0===this._refCount)throw new Error(`Layer '${this.name}' is already disposed.`)}dispose(){if(!this.built)throw new Error(`Cannot dispose Layer ${this.name} because it has not been built yet.`);if(null===this._refCount)throw new Error(`Cannot dispose Layer ${this.name} because it has not been used yet.`);this.assertNotDisposed();let e=0;return 0===--this._refCount&&(e=this.disposeWeights()),{refCountAfterDispose:this._refCount,numDisposedVariables:e}}}function D9(e,t,n){if((null==t||null!=n&&n>0)&&(t=e.sourceLayer,n=e.nodeIndex),0===t.inboundNodes.length)return[e];{const e=t.inboundNodes[n];if(0===e.inboundLayers.length)return e.inputTensors;{const t=[];for(let n=0;ne.name),l=[],u=t.names();for(const e of a)-1!==u.indexOf(e)?l.push(t.getValue(e)):l.push(null);null!=i&&(i.maxNumTensors=-1/0,i.minNumTensors=1/0);const c=a.join(",")+"|"+t.names().sort().join(",");let d,h=R9.get(c);if(null==h){const e=function(e,t){p3.util.assert(null!=e&&e.length>0,()=>"Expected at least one fetch, got none");let n=[],i={};if(1===e.length){const r=L9(e[0],t);n=r.sorted,i=r.recipientMap}else{const r=new Set;for(const s of e){const{sorted:e,recipientMap:o}=L9(s,t);for(const t of e)r.has(t.name)||(n.push(t),r.add(t.name));for(const e in o)null==i[e]&&(i[e]=new Set),o[e].forEach(t=>i[e].add(t))}}return{sorted:n,recipientCounts:F9(i)}}(o,t);h=e.sorted,d=e.recipientCounts,R9.put(c,h),N9.put(c,d)}d={},r||Object.assign(d,N9.get(c));const p=new k9(t);for(let e=0;ei.maxNumTensors&&(i.maxNumTensors=e),e0;){const e=s[s.length-1];if(n.has(e.name)){s.pop();continue}const t=o[o.length-1]===s.length-1;if(0===e.inputs.length||t)s.pop(),i.push(e),n.add(e.name),t&&o.pop();else{o.push(s.length-1);for(const t of e.inputs)null==r[t.name]&&(r[t.name]=new Set),r[t.name].add(e.name),n.has(t.name)||s.push(t)}}return{sorted:i,recipientMap:r}}function P9(e){let t;if(1===e.sourceLayer.inboundNodes.length)t=e.sourceLayer.output;else{let n=null;for(let t=0;te.name),l=[],u=t.names();for(const e of a)-1!==u.indexOf(e)?l.push(t.getValue(e)):l.push(null);null!=i&&(i.maxNumTensors=-1/0,i.minNumTensors=1/0);const c=a.join(",")+"|"+t.names().sort().join(",");let d,h=B9.get(c);if(null==h){const e=function(e,t){v3.util.assert(null!=e&&e.length>0,()=>"Expected at least one fetch, got none");let n=[],i={};if(1===e.length){const r=z9(e[0],t);n=r.sorted,i=r.recipientMap}else{const r=new Set;for(const s of e){const{sorted:e,recipientMap:o}=z9(s,t);for(const t of e)r.has(t.name)||(n.push(t),r.add(t.name));for(const e in o)null==i[e]&&(i[e]=new Set),o[e].forEach(t=>i[e].add(t))}}return{sorted:n,recipientCounts:V9(i)}}(o,t);h=e.sorted,d=e.recipientCounts,B9.put(c,h),$9.put(c,d)}d={},r||Object.assign(d,$9.get(c));const p=new P9(t);for(let e=0;ei.maxNumTensors&&(i.maxNumTensors=e),e0;){const e=s[s.length-1];if(n.has(e.name)){s.pop();continue}const t=o[o.length-1]===s.length-1;if(0===e.inputs.length||t)s.pop(),i.push(e),n.add(e.name),t&&o.pop();else{o.push(s.length-1);for(const t of e.inputs)null==r[t.name]&&(r[t.name]=new Set),r[t.name].add(e.name),n.has(t.name)||s.push(t)}}return{sorted:i,recipientMap:r}}function j9(e){let t;if(1===e.sourceLayer.inboundNodes.length)t=e.sourceLayer.output;else{let n=null;for(let t=0;tp3.sqrt(p3.sum(p3.mul(e,e),t,!0)))}(0,p3.env)().registerFlag("TOPOLOGICAL_SORT_CACHE_MAX_ENTRIES",()=>100,function(e){null!=R9&&R9.setMaxEntries(e),null!=N9&&N9.setMaxEntries(e)});class $9 extends p3.serialization.Serializable{getConfig(){return{}}}class U9 extends $9{constructor(e){super(),this.defaultMaxValue=2,this.defaultAxis=0,this.maxValue=null!=e.maxValue?e.maxValue:this.defaultMaxValue,this.axis=null!=e.axis?e.axis:this.defaultAxis}apply(e){return(0,p3.tidy)(()=>{const t=B9(e,this.axis),n=p3.clipByValue(t,0,this.maxValue);return p3.mul(e,p3.div(n,p3.add(C8(),t)))})}getConfig(){return{maxValue:this.maxValue,axis:this.axis}}}U9.className="MaxNorm",p3.serialization.registerClass(U9);class V9 extends $9{constructor(e){super(),this.defaultAxis=0,this.axis=null!=e.axis?e.axis:this.defaultAxis}apply(e){return(0,p3.tidy)(()=>p3.div(e,p3.add(C8(),B9(e,this.axis))))}getConfig(){return{axis:this.axis}}}V9.className="UnitNorm",p3.serialization.registerClass(V9);class z9 extends $9{apply(e){return p3.relu(e)}}z9.className="NonNeg",p3.serialization.registerClass(z9);class j9 extends $9{constructor(e){super(),this.defaultMinValue=0,this.defaultMaxValue=1,this.defaultRate=1,this.defaultAxis=0,this.minValue=null!=e.minValue?e.minValue:this.defaultMinValue,this.maxValue=null!=e.maxValue?e.maxValue:this.defaultMaxValue,this.rate=null!=e.rate?e.rate:this.defaultRate,this.axis=null!=e.axis?e.axis:this.defaultAxis}apply(e){return(0,p3.tidy)(()=>{const t=B9(e,this.axis),n=p3.add(p3.mul(this.rate,p3.clipByValue(t,this.minValue,this.maxValue)),p3.mul(1-this.rate,t));return p3.mul(e,p3.div(n,p3.add(C8(),t)))})}getConfig(){return{minValue:this.minValue,maxValue:this.maxValue,rate:this.rate,axis:this.axis}}}j9.className="MinMaxNorm",p3.serialization.registerClass(j9);const Y9={maxNorm:"MaxNorm",minMaxNorm:"MinMaxNorm",nonNeg:"NonNeg",unitNorm:"UnitNorm"};function G9(e){return H6(e)}function H9(e,t={}){return X6(e,p3.serialization.SerializationMap.getMap().classNameMap,t,"constraint")}function W9(e){if(null==e)return null;if("string"==typeof e){return H9({className:e in Y9?Y9[e]:e,config:{}})}return e instanceof $9?e:H9(e)} +function Y9(e,t){return(0,v3.tidy)(()=>v3.sqrt(v3.sum(v3.mul(e,e),t,!0)))}(0,v3.env)().registerFlag("TOPOLOGICAL_SORT_CACHE_MAX_ENTRIES",()=>100,function(e){null!=B9&&B9.setMaxEntries(e),null!=$9&&$9.setMaxEntries(e)});class G9 extends v3.serialization.Serializable{getConfig(){return{}}}class H9 extends G9{constructor(e){super(),this.defaultMaxValue=2,this.defaultAxis=0,this.maxValue=null!=e.maxValue?e.maxValue:this.defaultMaxValue,this.axis=null!=e.axis?e.axis:this.defaultAxis}apply(e){return(0,v3.tidy)(()=>{const t=Y9(e,this.axis),n=v3.clipByValue(t,0,this.maxValue);return v3.mul(e,v3.div(n,v3.add(D8(),t)))})}getConfig(){return{maxValue:this.maxValue,axis:this.axis}}}H9.className="MaxNorm",v3.serialization.registerClass(H9);class W9 extends G9{constructor(e){super(),this.defaultAxis=0,this.axis=null!=e.axis?e.axis:this.defaultAxis}apply(e){return(0,v3.tidy)(()=>v3.div(e,v3.add(D8(),Y9(e,this.axis))))}getConfig(){return{axis:this.axis}}}W9.className="UnitNorm",v3.serialization.registerClass(W9);class X9 extends G9{apply(e){return v3.relu(e)}}X9.className="NonNeg",v3.serialization.registerClass(X9);class q9 extends G9{constructor(e){super(),this.defaultMinValue=0,this.defaultMaxValue=1,this.defaultRate=1,this.defaultAxis=0,this.minValue=null!=e.minValue?e.minValue:this.defaultMinValue,this.maxValue=null!=e.maxValue?e.maxValue:this.defaultMaxValue,this.rate=null!=e.rate?e.rate:this.defaultRate,this.axis=null!=e.axis?e.axis:this.defaultAxis}apply(e){return(0,v3.tidy)(()=>{const t=Y9(e,this.axis),n=v3.add(v3.mul(this.rate,v3.clipByValue(t,this.minValue,this.maxValue)),v3.mul(1-this.rate,t));return v3.mul(e,v3.div(n,v3.add(D8(),t)))})}getConfig(){return{minValue:this.minValue,maxValue:this.maxValue,rate:this.rate,axis:this.axis}}}q9.className="MinMaxNorm",v3.serialization.registerClass(q9);const K9={maxNorm:"MaxNorm",minMaxNorm:"MinMaxNorm",nonNeg:"NonNeg",unitNorm:"UnitNorm"};function Z9(e){return Q6(e)}function Q9(e,t={}){return e8(e,v3.serialization.SerializationMap.getMap().classNameMap,t,"constraint")}function J9(e){if(null==e)return null;if("string"==typeof e){return Q9({className:e in K9?K9[e]:e,config:{}})}return e instanceof G9?e:Q9(e)} /** * @license * Copyright 2018 Google LLC @@ -11160,7 +11160,7 @@ function B9(e,t){return(0,p3.tidy)(()=>p3.sqrt(p3.sum(p3.mul(e,e),t,!0)))}(0,p3. * https://opensource.org/licenses/MIT. * ============================================================================= */ -function X9(e){return new U9(e)}function q9(e){return new V9(e)}function K9(){return new z9}function Z9(e){return new j9(e)} +function e7(e){return new H9(e)}function t7(e){return new W9(e)}function n7(){return new X9}function i7(e){return new q9(e)} /** * @license * Copyright 2018 Google LLC @@ -11170,7 +11170,7 @@ function X9(e){return new U9(e)}function q9(e){return new V9(e)}function K9(){re * https://opensource.org/licenses/MIT. * ============================================================================= */ -function Q9(){return new X8}function J9(){return new q8}function e7(e){return new K8(e)}function t7(e){return new Z8(e)}function n7(e){return new Q8(e)}function i7(e){return new J8(e)}function r7(e){return new e9(e)}function s7(e){return new t9(e)}function o7(e){return new n9(e)}function a7(e){return new i9(e)}function l7(e){return new r9(e)}function u7(e){return new s9(e)}function c7(e){return new o9(e)}function d7(e){return new a9(e)}function h7(e){return new l9(e)} +function r7(){return new e9}function s7(){return new t9}function o7(e){return new n9(e)}function a7(e){return new i9(e)}function l7(e){return new r9(e)}function u7(e){return new s9(e)}function c7(e){return new o9(e)}function d7(e){return new a9(e)}function h7(e){return new l9(e)}function p7(e){return new u9(e)}function f7(e){return new c9(e)}function m7(e){return new d9(e)}function g7(e){return new h9(e)}function _7(e){return new p9(e)}function y7(e){return new f9(e)} /** * @license * Copyright 2018 Google LLC @@ -11180,7 +11180,7 @@ function Q9(){return new X8}function J9(){return new q8}function e7(e){return ne * https://opensource.org/licenses/MIT. * ============================================================================= */ -async function p7(e){if(null==e)return;const t=[],n=[],i=[];for(const r in e){const s=e[r];if("number"!=typeof s){const e=s;t.push(e.data()),n.push(r),i.push(e)}}if(t.length>0){const r=await Promise.all(t);for(let t=0;t0){const r=await Promise.all(t);for(let t=0;t(0,p3.add)(this.totals[e],(0,p3.mul)(i,n)));this.totals[e]=r,null!=t&&t.dispose()}}}async onEpochEnd(e,t){if(null!=t)for(const e of this.params.metrics)null!=this.totals[e]&&("number"==typeof this.totals[e]?t[e]=this.totals[e]/this.seen:(0,p3.tidy)(()=>{const n=(0,p3.mul)((0,p3.div)(1,this.seen),this.totals[e]);t[e]=n,this.totals[e].dispose(),(0,p3.keep)(t[e])}))}}class v7 extends g7{async onTrainBegin(e){this.epoch=[],this.history={}}async onEpochEnd(e,t){null==t&&(t={}),this.epoch.push(e);for(const e in t)null==this.history[e]&&(this.history[e]=[]),this.history[e].push(t[e])}async syncData(){const e=[],t=[],n=[];for(const i in this.history){const r=this.history[i];for(let s=0;s{const o=null!=n?n():p3.util.now();return o-rnew b7(e,t))}class x7{constructor(){}static registerCallbackConstructor(e,t){p3.util.assert(e>=0&&Number.isInteger(e),()=>`Verbosity level is expected to be an integer >= 0, but got ${e}`),x7.checkForDuplicate(t),null==x7.constructors[e]&&(x7.constructors[e]=[]),x7.constructors[e].push(t)}static checkForDuplicate(e){for(const t in x7.constructors){x7.constructors[+t].forEach(t=>{if(t===e)throw new D6("Duplicate callback constructor.")})}}static clear(){x7.constructors={}}static createCallbacks(e){const t=[];for(const n in x7.constructors){const i=+n;e>=i&&t.push(...x7.constructors[i])}return t.map(e=>new e)}}function E7(e,t,n,i,r,s,o,a,l){const u=new v7,c=[new y7,...x7.createCallbacks(t)];null!=e&&c.push(...e),c.push(u);const d=new _7(c);return d.setParams({epochs:n,initialEpoch:i,samples:r,steps:s,batchSize:o,verbose:t,doValidation:a,metrics:l}),{callbackList:d,history:u}} +var T7;!function(e){e[e.SILENT=0]="SILENT",e[e.VERBOSE=1]="VERBOSE"}(T7||(T7={}));class x7{constructor(){this.validationData=null}setParams(e){this.params=e}async onEpochBegin(e,t){}async onEpochEnd(e,t){}async onBatchBegin(e,t){}async onBatchEnd(e,t){}async onTrainBegin(e){}async onTrainEnd(e){}setModel(e){}}class E7{constructor(e,t=10){null==e&&(e=[]),this.callbacks=e,this.queueLength=t}append(e){this.callbacks.push(e)}setParams(e){for(const t of this.callbacks)t.setParams(e)}setModel(e){for(const t of this.callbacks)t.setModel(e)}async onEpochBegin(e,t){null==t&&(t={});for(const n of this.callbacks)await n.onEpochBegin(e,t)}async onEpochEnd(e,t){null==t&&(t={});for(const n of this.callbacks)await n.onEpochEnd(e,t)}async onBatchBegin(e,t){null==t&&(t={});for(const n of this.callbacks)await n.onBatchBegin(e,t)}async onBatchEnd(e,t){null==t&&(t={});for(const n of this.callbacks)await n.onBatchEnd(e,t)}async onTrainBegin(e){null==e&&(e={});for(const t of this.callbacks)await t.onTrainBegin(e)}async onTrainEnd(e){null==e&&(e={});for(const t of this.callbacks)await t.onTrainEnd(e)}}class w7 extends x7{constructor(){super()}async onEpochBegin(e){this.seen=0,this.totals={}}async onBatchEnd(e,t){null==t&&(t={});const n=null==t.size?0:t.size;this.seen+=n;for(const e in t){const i=t[e];if("number"==typeof i)this.totals.hasOwnProperty(e)||(this.totals[e]=0),this.totals[e]=this.totals[e]+i*n;else{let t;e in this.totals?t=this.totals[e]:this.totals[e]=0;const r=(0,v3.tidy)(()=>(0,v3.add)(this.totals[e],(0,v3.mul)(i,n)));this.totals[e]=r,null!=t&&t.dispose()}}}async onEpochEnd(e,t){if(null!=t)for(const e of this.params.metrics)null!=this.totals[e]&&("number"==typeof this.totals[e]?t[e]=this.totals[e]/this.seen:(0,v3.tidy)(()=>{const n=(0,v3.mul)((0,v3.div)(1,this.seen),this.totals[e]);t[e]=n,this.totals[e].dispose(),(0,v3.keep)(t[e])}))}}class I7 extends x7{async onTrainBegin(e){this.epoch=[],this.history={}}async onEpochEnd(e,t){null==t&&(t={}),this.epoch.push(e);for(const e in t)null==this.history[e]&&(this.history[e]=[]),this.history[e].push(t[e])}async syncData(){const e=[],t=[],n=[];for(const i in this.history){const r=this.history[i];for(let s=0;s{const o=null!=n?n():v3.util.now();return o-rnew A7(e,t))}class C7{constructor(){}static registerCallbackConstructor(e,t){v3.util.assert(e>=0&&Number.isInteger(e),()=>`Verbosity level is expected to be an integer >= 0, but got ${e}`),C7.checkForDuplicate(t),null==C7.constructors[e]&&(C7.constructors[e]=[]),C7.constructors[e].push(t)}static checkForDuplicate(e){for(const t in C7.constructors){C7.constructors[+t].forEach(t=>{if(t===e)throw new U6("Duplicate callback constructor.")})}}static clear(){C7.constructors={}}static createCallbacks(e){const t=[];for(const n in C7.constructors){const i=+n;e>=i&&t.push(...C7.constructors[i])}return t.map(e=>new e)}}function O7(e,t,n,i,r,s,o,a,l){const u=new I7,c=[new w7,...C7.createCallbacks(t)];null!=e&&c.push(...e),c.push(u);const d=new E7(c);return d.setParams({epochs:n,initialEpoch:i,samples:r,steps:s,batchSize:o,verbose:t,doValidation:a,metrics:l}),{callbackList:d,history:u}} /** * @license * Copyright 2018 Google LLC @@ -11200,7 +11200,7 @@ var m7;!function(e){e[e.SILENT=0]="SILENT",e[e.VERBOSE=1]="VERBOSE"}(m7||(m7={}) * https://opensource.org/licenses/MIT. * ============================================================================= */ -function w7(e,t={},n=!1){return X6(e,p3.serialization.SerializationMap.getMap().classNameMap,t,"layer",n)} +function M7(e,t={},n=!1){return e8(e,v3.serialization.SerializationMap.getMap().classNameMap,t,"layer",n)} /** * @license * Copyright 2018 Google LLC @@ -11210,7 +11210,7 @@ function w7(e,t={},n=!1){return X6(e,p3.serialization.SerializationMap.getMap(). * https://opensource.org/licenses/MIT. * ============================================================================= */ -function I7(e,t){return(0,p3.tidy)(()=>{"float32"!==e.dtype&&(e=p3.cast(e,"float32"));const n=p3.sum(U8(e),t,!0),i=p3.fill(n.shape,C8()),r=p3.sqrt(p3.maximum(n,i));return p3.div(e,r)})}function A7(e,t){return(0,p3.tidy)(()=>p3.mean(U8(p3.sub(t,e)),-1))}function S7(e,t){return(0,p3.tidy)(()=>p3.mean(p3.abs(p3.sub(t,e)),-1))}function C7(e,t){return(0,p3.tidy)(()=>{const n=p3.sub(e,t),i=p3.clipByValue(p3.abs(e),C8(),Number.MAX_VALUE),r=p3.abs(p3.div(n,i));return p3.mul(100,p3.mean(r,-1))})}function O7(e,t){return(0,p3.tidy)(()=>{const n=p3.clipByValue(t,C8(),Number.MAX_VALUE),i=p3.log(p3.add(1,n)),r=p3.clipByValue(e,C8(),Number.MAX_VALUE),s=p3.log(p3.add(1,r));return p3.mean(U8(p3.sub(i,s)),-1)})}function M7(e,t,n=!1){return(0,p3.tidy)(()=>{if(n)t=p3.softmax(t);else{const e=p3.sum(t,t.shape.length-1,!0);t=p3.div(t,e)}return t=p3.clipByValue(t,C8(),1-C8()),p3.neg(p3.sum(p3.mul(p3.cast(e,"float32"),p3.log(t)),t.shape.length-1))})}function k7(e,t,n=!1){return(0,p3.tidy)(()=>{const i=p3.cast(p3.floor(function(e){const t=[E8(e.shape)];return p3.reshape(e,t)}(e)),"int32"),r=(t=p3.clipByValue(t,C8(),1-C8())).shape;return M7(p3.reshape(p3.oneHot(i,r[r.length-1]),r),t,n)})}function R7(e,t){return(0,p3.tidy)(()=>{let n;return n=p3.clipByValue(t,C8(),1-C8()),n=p3.log(p3.div(n,p3.sub(1,n))),p3.mean(function(e,t){if(!p3.util.arraysEqual(e.shape,t.shape))throw new D6(`logits and labels must have the same shape, but got shapes ${JSON.stringify(e.shape)} and ${JSON.stringify(t.shape)}`);return(0,p3.tidy)(()=>{const n=p3.relu(t),i=p3.neg(p3.abs(t));return p3.add(p3.sub(n,p3.mul(t,e)),p3.log1p(p3.exp(i)))})}(e,n),-1)})}function N7(e,t){return(0,p3.tidy)(()=>{const n=p3.clipByValue(e,C8(),1),i=p3.clipByValue(t,C8(),1);return p3.sum(p3.mul(e,p3.log(p3.div(n,i))),-1)})}function D7(e,t){return(0,p3.tidy)(()=>{const n=I7(e,-1),i=I7(t,-1),r=p3.mul(n,i);return p3.neg(p3.sum(r,-1))})}x7.constructors={};const F7={meanSquaredError:A7,meanAbsoluteError:S7,meanAbsolutePercentageError:C7,meanSquaredLogarithmicError:O7,squaredHinge:function(e,t){return(0,p3.tidy)(()=>{const n=p3.maximum(0,p3.sub(1,p3.mul(e,t)));return p3.mean(U8(n),-1)})},hinge:function(e,t){return(0,p3.tidy)(()=>{const n=p3.maximum(0,p3.sub(1,p3.mul(e,t)));return p3.mean(n,-1)})},categoricalHinge:function(e,t){return(0,p3.tidy)(()=>{const n=p3.sum(p3.mul(e,t),-1),i=p3.max(p3.mul(p3.sub(1,e),t),-1);return p3.maximum(0,p3.add(1,p3.sub(i,n)))})},logcosh:function(e,t){return(0,p3.tidy)(()=>{const n=Math.log(2),i=p3.sub(t,e),r=p3.sub(p3.add(i,p3.softplus(p3.mul(-2,i))),n);return p3.mean(r,-1)})},categoricalCrossentropy:M7,sparseCategoricalCrossentropy:k7,binaryCrossentropy:R7,kullbackLeiblerDivergence:N7,poisson:function(e,t){return(0,p3.tidy)(()=>{const n=p3.log(p3.add(C8(),t));return p3.mean(p3.sub(t,p3.mul(e,n)),-1)})},cosineProximity:D7};function L7(e){if("string"==typeof e){if(e in F7)return F7[e];let t=`Unknown loss ${e}`;throw e.toLowerCase().includes("softmaxcrossentropy")&&(t=`Unknown loss ${e}. Use "categoricalCrossentropy" as the string name for tf.losses.softmaxCrossEntropy`),new D6(t)}return e} +function k7(e,t){return(0,v3.tidy)(()=>{"float32"!==e.dtype&&(e=v3.cast(e,"float32"));const n=v3.sum(H8(e),t,!0),i=v3.fill(n.shape,D8()),r=v3.sqrt(v3.maximum(n,i));return v3.div(e,r)})}function R7(e,t){return(0,v3.tidy)(()=>v3.mean(H8(v3.sub(t,e)),-1))}function N7(e,t){return(0,v3.tidy)(()=>v3.mean(v3.abs(v3.sub(t,e)),-1))}function D7(e,t){return(0,v3.tidy)(()=>{const n=v3.sub(e,t),i=v3.clipByValue(v3.abs(e),D8(),Number.MAX_VALUE),r=v3.abs(v3.div(n,i));return v3.mul(100,v3.mean(r,-1))})}function F7(e,t){return(0,v3.tidy)(()=>{const n=v3.clipByValue(t,D8(),Number.MAX_VALUE),i=v3.log(v3.add(1,n)),r=v3.clipByValue(e,D8(),Number.MAX_VALUE),s=v3.log(v3.add(1,r));return v3.mean(H8(v3.sub(i,s)),-1)})}function L7(e,t,n=!1){return(0,v3.tidy)(()=>{if(n)t=v3.softmax(t);else{const e=v3.sum(t,t.shape.length-1,!0);t=v3.div(t,e)}return t=v3.clipByValue(t,D8(),1-D8()),v3.neg(v3.sum(v3.mul(v3.cast(e,"float32"),v3.log(t)),t.shape.length-1))})}function P7(e,t,n=!1){return(0,v3.tidy)(()=>{const i=v3.cast(v3.floor(function(e){const t=[O8(e.shape)];return v3.reshape(e,t)}(e)),"int32"),r=(t=v3.clipByValue(t,D8(),1-D8())).shape;return L7(v3.reshape(v3.oneHot(i,r[r.length-1]),r),t,n)})}function B7(e,t){return(0,v3.tidy)(()=>{let n;return n=v3.clipByValue(t,D8(),1-D8()),n=v3.log(v3.div(n,v3.sub(1,n))),v3.mean(function(e,t){if(!v3.util.arraysEqual(e.shape,t.shape))throw new U6(`logits and labels must have the same shape, but got shapes ${JSON.stringify(e.shape)} and ${JSON.stringify(t.shape)}`);return(0,v3.tidy)(()=>{const n=v3.relu(t),i=v3.neg(v3.abs(t));return v3.add(v3.sub(n,v3.mul(t,e)),v3.log1p(v3.exp(i)))})}(e,n),-1)})}function $7(e,t){return(0,v3.tidy)(()=>{const n=v3.clipByValue(e,D8(),1),i=v3.clipByValue(t,D8(),1);return v3.sum(v3.mul(e,v3.log(v3.div(n,i))),-1)})}function U7(e,t){return(0,v3.tidy)(()=>{const n=k7(e,-1),i=k7(t,-1),r=v3.mul(n,i);return v3.neg(v3.sum(r,-1))})}C7.constructors={};const V7={meanSquaredError:R7,meanAbsoluteError:N7,meanAbsolutePercentageError:D7,meanSquaredLogarithmicError:F7,squaredHinge:function(e,t){return(0,v3.tidy)(()=>{const n=v3.maximum(0,v3.sub(1,v3.mul(e,t)));return v3.mean(H8(n),-1)})},hinge:function(e,t){return(0,v3.tidy)(()=>{const n=v3.maximum(0,v3.sub(1,v3.mul(e,t)));return v3.mean(n,-1)})},categoricalHinge:function(e,t){return(0,v3.tidy)(()=>{const n=v3.sum(v3.mul(e,t),-1),i=v3.max(v3.mul(v3.sub(1,e),t),-1);return v3.maximum(0,v3.add(1,v3.sub(i,n)))})},logcosh:function(e,t){return(0,v3.tidy)(()=>{const n=Math.log(2),i=v3.sub(t,e),r=v3.sub(v3.add(i,v3.softplus(v3.mul(-2,i))),n);return v3.mean(r,-1)})},categoricalCrossentropy:L7,sparseCategoricalCrossentropy:P7,binaryCrossentropy:B7,kullbackLeiblerDivergence:$7,poisson:function(e,t){return(0,v3.tidy)(()=>{const n=v3.log(v3.add(D8(),t));return v3.mean(v3.sub(t,v3.mul(e,n)),-1)})},cosineProximity:U7};function z7(e){if("string"==typeof e){if(e in V7)return V7[e];let t=`Unknown loss ${e}`;throw e.toLowerCase().includes("softmaxcrossentropy")&&(t=`Unknown loss ${e}. Use "categoricalCrossentropy" as the string name for tf.losses.softmaxCrossEntropy`),new U6(t)}return e} /** * @license * Copyright 2018 Google LLC @@ -11220,7 +11220,7 @@ function I7(e,t){return(0,p3.tidy)(()=>{"float32"!==e.dtype&&(e=p3.cast(e,"float * https://opensource.org/licenses/MIT. * ============================================================================= */ -function P7(e,t){return(0,p3.tidy)(()=>{const n=p3.mul(.5,p3.onesLike(t)),i=O8(p3.greater(t,n),e.dtype);return p3.mean(p3.equal(e,i),-1)})}function B7(e,t){return(0,p3.tidy)(()=>O8(p3.equal(p3.argMax(e,-1),p3.argMax(t,-1)),"float32"))}function $7(e,t){return(0,p3.tidy)(()=>p3.cast(p3.sum(p3.logicalAnd(p3.equal(e,1),p3.equal(t,1))),"float32"))}function U7(e,t){return(0,p3.tidy)(()=>{const n=$7(e,t),i=function(e,t){return(0,p3.tidy)(()=>p3.cast(p3.sum(p3.logicalAnd(p3.equal(e,0),p3.equal(t,1))),"float32"))}(e,t),r=p3.add(n,i);return p3.cast(p3.where(p3.greater(r,0),p3.div(n,r),0),"float32")})}function V7(e,t){return(0,p3.tidy)(()=>{const n=$7(e,t),i=function(e,t){return(0,p3.tidy)(()=>p3.cast(p3.sum(p3.logicalAnd(p3.equal(e,1),p3.equal(t,0))),"float32"))}(e,t),r=p3.add(n,i);return p3.cast(p3.where(p3.greater(r,0),p3.div(n,r),0),"float32")})}function z7(e,t){return R7(e,t)}function j7(e,t){return e.rank===t.rank&&(e=p3.squeeze(e,[e.rank-1])),(t=p3.argMax(t,-1)).dtype!==e.dtype&&(t=p3.cast(t,e.dtype)),p3.cast(p3.equal(e,t),"float32")}const Y7=M7,G7=k7,H7={binaryAccuracy:P7,categoricalAccuracy:B7,precision:U7,categoricalCrossentropy:Y7,sparseCategoricalCrossentropy:G7,mse:A7,MSE:A7,mae:S7,MAE:S7,mape:C7,MAPE:C7,cosine:D7};function W7(e){if("string"==typeof e&&e in H7)return H7[e];if("string"!=typeof e&&null!=e)return e;throw new D6(`Unknown metric ${e}`)}function X7(e){if($6(null!==e,`Unknown LossOrMetricFn ${e}`),"string"==typeof e)return e;{let t;for(const n of Object.keys(F7))if(F7[n]===e){t=n;break}if(void 0!==t)return t;for(const n of Object.keys(H7))if(H7[n]===e){t=n;break}return void 0!==t?t:e.name}} +function j7(e,t){return(0,v3.tidy)(()=>{const n=v3.mul(.5,v3.onesLike(t)),i=F8(v3.greater(t,n),e.dtype);return v3.mean(v3.equal(e,i),-1)})}function Y7(e,t){return(0,v3.tidy)(()=>F8(v3.equal(v3.argMax(e,-1),v3.argMax(t,-1)),"float32"))}function G7(e,t){return(0,v3.tidy)(()=>v3.cast(v3.sum(v3.logicalAnd(v3.equal(e,1),v3.equal(t,1))),"float32"))}function H7(e,t){return(0,v3.tidy)(()=>{const n=G7(e,t),i=function(e,t){return(0,v3.tidy)(()=>v3.cast(v3.sum(v3.logicalAnd(v3.equal(e,0),v3.equal(t,1))),"float32"))}(e,t),r=v3.add(n,i);return v3.cast(v3.where(v3.greater(r,0),v3.div(n,r),0),"float32")})}function W7(e,t){return(0,v3.tidy)(()=>{const n=G7(e,t),i=function(e,t){return(0,v3.tidy)(()=>v3.cast(v3.sum(v3.logicalAnd(v3.equal(e,1),v3.equal(t,0))),"float32"))}(e,t),r=v3.add(n,i);return v3.cast(v3.where(v3.greater(r,0),v3.div(n,r),0),"float32")})}function X7(e,t){return B7(e,t)}function q7(e,t){return e.rank===t.rank&&(e=v3.squeeze(e,[e.rank-1])),(t=v3.argMax(t,-1)).dtype!==e.dtype&&(t=v3.cast(t,e.dtype)),v3.cast(v3.equal(e,t),"float32")}const K7=L7,Z7=P7,Q7={binaryAccuracy:j7,categoricalAccuracy:Y7,precision:H7,categoricalCrossentropy:K7,sparseCategoricalCrossentropy:Z7,mse:R7,MSE:R7,mae:N7,MAE:N7,mape:D7,MAPE:D7,cosine:U7};function J7(e){if("string"==typeof e&&e in Q7)return Q7[e];if("string"!=typeof e&&null!=e)return e;throw new U6(`Unknown metric ${e}`)}function eee(e){if(G6(null!==e,`Unknown LossOrMetricFn ${e}`),"string"==typeof e)return e;{let t;for(const n of Object.keys(V7))if(V7[n]===e){t=n;break}if(void 0!==t)return t;for(const n of Object.keys(Q7))if(Q7[n]===e){t=n;break}return void 0!==t?t:e.name}} /** * @license * Copyright 2019 Google LLC @@ -11230,7 +11230,7 @@ function P7(e,t){return(0,p3.tidy)(()=>{const n=p3.mul(.5,p3.onesLike(t)),i=O8(p * https://opensource.org/licenses/MIT. * ============================================================================= */ -const q7=1048576;function K7(e,t,n=!1){if(null==e||"object"!=typeof e||Object.getPrototypeOf(e)!==Object.prototype||!Z7(e))throw new Error("User-defined metadata is expected to be a JSON object, but is not.");if(n){const n=JSON.stringify(e);n.length>q7&&console.warn(`User-defined metadata of model "${t}" is too large in size (length=${n.length} when serialized). It is not recommended to store such large objects in user-defined metadata. Please make sure its serialized length is <= 1048576.`)}}function Z7(e){if(null===e)return!0;if("object"==typeof e){if(Object.getPrototypeOf(e)===Object.prototype){const t=Object.keys(e);for(const n of t){if("string"!=typeof n)return!1;if(!Z7(e[n]))return!1}return!0}if(Array.isArray(e)){for(const t of e)if(!Z7(t))return!1;return!0}return!1}{const t=typeof e;return"string"===t||"number"===t||"boolean"===t}} +const tee=1048576;function nee(e,t,n=!1){if(null==e||"object"!=typeof e||Object.getPrototypeOf(e)!==Object.prototype||!iee(e))throw new Error("User-defined metadata is expected to be a JSON object, but is not.");if(n){const n=JSON.stringify(e);n.length>tee&&console.warn(`User-defined metadata of model "${t}" is too large in size (length=${n.length} when serialized). It is not recommended to store such large objects in user-defined metadata. Please make sure its serialized length is <= 1048576.`)}}function iee(e){if(null===e)return!0;if("object"==typeof e){if(Object.getPrototypeOf(e)===Object.prototype){const t=Object.keys(e);for(const n of t){if("string"!=typeof n)return!1;if(!iee(e[n]))return!1}return!0}if(Array.isArray(e)){for(const t of e)if(!iee(t))return!1;return!0}return!1}{const t=typeof e;return"string"===t||"number"===t||"boolean"===t}} /** * @license * Copyright 2018 Google LLC @@ -11240,7 +11240,7 @@ const q7=1048576;function K7(e,t,n=!1){if(null==e||"object"!=typeof e||Object.ge * https://opensource.org/licenses/MIT. * ============================================================================= */ -function Q7(e,t,n,i=console.log){const r=function(e){let t=!0;const n=[],i=[];for(const t in e.nodesByDepth)n.push(e.nodesByDepth[t]);for(const e of n){if(e.length>1||1===e.length&&e[0].inboundLayers.length>1){t=!1;break}i.push(...e)}if(t)for(const n of e.layers){let e=!1;for(const r of n.inboundNodes)if(-1!==i.indexOf(r)){if(e){t=!1;break}e=!0}if(!t)break}return t}(e),s=["Layer (type)","Input Shape","Output shape","Param #"];let o;if(r?(t=t||90,n=n||[.32,.61,.89,1]):(t=t||115,n=n||[.24,.48,.7,.8,1]),n[n.length-1]<=1&&(n=n.map(e=>Math.floor(t*e))),!r){s.push("Receives inputs"),o=[];for(const t in e.nodesByDepth)o.push(...e.nodesByDepth[t])}i("_".repeat(t)),J7(s,n,i),i("=".repeat(t));const a=e.layers;for(let e=0;e0&&(i=i.slice(0,i.length-1)+" "),i+=e[n],i=i.slice(0,t[n]),i+=" ".repeat(t[n]-i.length);n(i)}function eee(e,t,n){let i,r;try{r=e.inboundNodes.map(e=>JSON.stringify(e.inputShapes)).join(",")}catch(e){r="multiple"}try{i=JSON.stringify(e.outputShape)}catch(e){i="multiple"}J7([`${e.name} (${e.getClassName()})`,r,i,e.countParams().toString()],t,n)}function tee(e,t,n,i){let r,s;try{s=e.inboundNodes.map(e=>JSON.stringify(e.inputShapes)).join(",")}catch(e){s="multiple"}try{r=JSON.stringify(e.outputShape)}catch(e){r="multiple"}const o=[];for(const t of e.inboundNodes)if(!(null!=n&&n.length>0&&-1===n.indexOf(t)))for(let e=0;e1||1===e.length&&e[0].inboundLayers.length>1){t=!1;break}i.push(...e)}if(t)for(const n of e.layers){let e=!1;for(const r of n.inboundNodes)if(-1!==i.indexOf(r)){if(e){t=!1;break}e=!0}if(!t)break}return t}(e),s=["Layer (type)","Input Shape","Output shape","Param #"];let o;if(r?(t=t||90,n=n||[.32,.61,.89,1]):(t=t||115,n=n||[.24,.48,.7,.8,1]),n[n.length-1]<=1&&(n=n.map(e=>Math.floor(t*e))),!r){s.push("Receives inputs"),o=[];for(const t in e.nodesByDepth)o.push(...e.nodesByDepth[t])}i("_".repeat(t)),see(s,n,i),i("=".repeat(t));const a=e.layers;for(let e=0;e0&&(i=i.slice(0,i.length-1)+" "),i+=e[n],i=i.slice(0,t[n]),i+=" ".repeat(t[n]-i.length);n(i)}function oee(e,t,n){let i,r;try{r=e.inboundNodes.map(e=>JSON.stringify(e.inputShapes)).join(",")}catch(e){r="multiple"}try{i=JSON.stringify(e.outputShape)}catch(e){i="multiple"}see([`${e.name} (${e.getClassName()})`,r,i,e.countParams().toString()],t,n)}function aee(e,t,n,i){let r,s;try{s=e.inboundNodes.map(e=>JSON.stringify(e.inputShapes)).join(",")}catch(e){s="multiple"}try{r=JSON.stringify(e.outputShape)}catch(e){r="multiple"}const o=[];for(const t of e.inboundNodes)if(!(null!=n&&n.length>0&&-1===n.indexOf(t)))for(let e=0;ee.name)}`);K6(this.outputs).length!==this.outputs.length&&console.warn(`The list of outputs passed to the model is redundant. All outputs should only appear once. Found: ${this.outputs.map(e=>e.name)}`),this.inputLayers=[],this.inputLayersNodeIndices=[],this.inputLayersTensorIndices=[],this.outputLayers=[],this.outputLayersNodeIndices=[],this.outputLayersTensorIndices=[],this.layers=[],this.internalContainerRefs=[];for(const e of this.outputs){const t=e.sourceLayer,n=e.nodeIndex,i=e.tensorIndex;this.outputLayers.push(t),this.outputLayersNodeIndices.push(n),this.outputLayersTensorIndices.push(i)}for(const e of this.inputs){const t=e.sourceLayer,n=e.nodeIndex,i=e.tensorIndex;$6(0===n,"input layer has >1 nodes"),$6(0===i,"input layer has >1 tensors"),this.inputLayers.push(t),this.inputLayersNodeIndices.push(n),this.inputLayersTensorIndices.push(i)}this.inputNames=[],this.outputNames=[],this.feedInputShapes=[],this.feedInputNames=[],this.feedOutputNames=[];for(let t=0;te.shape),this.internalOutputShapes=this.outputs.map(e=>e.shape);const t={},n={},i={},r={},s={},o=[],a=(e,t,n,i,r,l)=>{null!=i&&null!=r&&null!=l||(i=e.sourceLayer,r=e.nodeIndex,l=e.tensorIndex);const u=i.inboundNodes[r];if(-1!==n.indexOf(u))throw new N6(`The tensor ${e.name} at layer "${i.name}" is part of a cycle.`);if(-1!==t.indexOf(u))return;this.containerNodes.add(oee.nodeKey(i,r)),i.id in s||(s[i.id]=Object.keys(s).length),-1===n.indexOf(u)&&n.push(u);const c=u.inboundLayers.length;for(let e=0;e=0;)n.splice(n.indexOf(u),1);o.push(u)},l=[],u=[];for(const e of this.outputs)a(e,l,u);const c=o.slice().reverse();for(const e of c){n[e.id]=e,e.id in t||(t[e.id]=0);let s=t[e.id];const o=null==i[e.outboundLayer.id]?0:i[e.outboundLayer.id];s=Math.max(s,o),i[e.outboundLayer.id]=s,r[e.outboundLayer.id]=e.outboundLayer,t[e.id]=s;for(let i=0;iparseInt(e,10)).sort(q6);this.layers=[];for(const e of p){const t=h[e];t.sort((e,t)=>{const n=s[e.id],i=s[t.id];return ni?1:0});for(const e of t)e instanceof oee&&this.internalContainerRefs.push(e),this.layers.push(e)}this.layersByDepth=h,p=Object.keys(d).map(e=>parseInt(e,10)).sort(q6);const f=this.inputs.slice(),m=[];for(const e of p)for(const t of d[e]){const e=t.outboundLayer;if(null!=e){for(const n of t.inputTensors)if(-1===f.indexOf(n))throw new N6(`Graph disconnected: cannot obtain value for tensor ${n} at layer "${e.name}". The following previous layers were accessed without issue: ${m}`);for(const e of t.outputTensors)f.push(e);m.push(e.name)}}this.nodesByDepth=d;const g=this.layers.map(e=>e.name);for(const e of g){const t=g.filter(t=>t===e).length;if(1!==t)throw new N6(`The name "${e}" is used ${t} times in the model. All layer names should be unique. Layer names: `+JSON.stringify(g))}this.outboundNodes=[],this.inboundNodes=[],new I9({outboundLayer:this,inboundLayers:[],nodeIndices:[],tensorIndices:[],inputTensors:this.inputs,outputTensors:this.outputs,inputMasks:this.inputs.map(e=>null),outputMasks:this.outputs.map(e=>null),inputShapes:this.inputs.map(e=>e.shape),outputShapes:this.outputs.map(e=>e.shape)}),this.built=!0,this._refCount=1}assertNotDisposed(){if(0===this._refCount)throw new Error(`Container '${this.name}' is already disposed.`)}dispose(){this.assertNotDisposed();const e={refCountAfterDispose:null,numDisposedVariables:0};if(0===--this._refCount){for(const t of this.layers)e.numDisposedVariables+=t.dispose().numDisposedVariables;for(const t of this.internalContainerRefs)e.numDisposedVariables+=t.dispose().numDisposedVariables}return e.refCountAfterDispose=this._refCount,e}get trainable(){return this.trainable_}set trainable(e){this.layers.forEach(t=>{t._trainableWeights.forEach(t=>t.trainable=e)}),this.trainable_=e}get trainableWeights(){if(this._trainableWeights.length>0)throw new D6("Container instance unexpectedly contains _trainableWeights.The trainable weights of a Container are a union of the trainable weights of its consituent Layers. Its own _trainableWeights must remain an empty Array.");if(!this.trainable)return[];let e=[];for(const t of this.layers)e=e.concat(t.trainableWeights);return e}get nonTrainableWeights(){const e=[];for(const t of this.layers)e.push(...t.nonTrainableWeights);if(!this.trainable){const t=[];for(const e of this.layers)t.push(...e.trainableWeights);return t.concat(e)}return e}get weights(){return this.trainableWeights.concat(this.nonTrainableWeights)}loadWeights(e,t=!0){const n={};let i=0;const r=(e=>{const t=Object.keys(e);if(0===t.length)return!1;const n=t[0].split("/");return!isNaN(parseInt(n[n.length-1],10))})(e);r&&this.parseWeights(e);for(const e of this.layers)for(const[t,s]of e.weights.entries()){const e=r?`${s.name.split("/").slice(0,-1).join("/")+"/"}${t}`:s.originalName;if(null!=n[e])throw new D6(`Duplicate weight name: ${e}`);n[e]=s,i++}const s=[];for(const i in e){let r=i;if(null==n[i]){const e=i.split("/");r=e.slice(0,-2).concat([e[e.length-1]]).join("/")}if(null!=n[r])s.push([n[r],e[i]]);else if(t)throw new D6(`Provided weight data has no target variable: ${i}`);delete n[r]}if(t){const e=[];for(const t in n)e.push(t);if(e.length>0)throw new D6(`${e.length} of ${i} weights are not set: ${e}`)}T9(s)}parseWeights(e){for(const t in Object.keys(e)){const n=t.split("/"),i=["vars","layer_checkpoint_dependencies"],r=n.map(e=>e.startsWith("_")?e.slice(1):e).filter(e=>!i.includes(e)).join("/");r!==t&&(e[r]=e[t],delete e[t])}}updatedConfig(){const e=this.getConfig(),t={};return t.className=this.getClassName(),t.config=e,t.kerasVersion=`tfjs-layers ${see}`,t.backend="TensorFlow.js",t}toJSON(e,t=!0){const n=ree(this.updatedConfig());return t?JSON.stringify(n):n}call(e,t){return(0,p3.tidy)(()=>{e=z6(e);const n=new k9;for(let t=0;t{let n;return e=z6(e),n=null==t?B6(null,e.length):z6(t),this.runInternalGraph(e,n)[1]})}computeOutputShape(e){const t=f9(e);if(t.length!==this.inputLayers.length)throw new D6(`Invalid inputShape argument ${e}: model has ${this.inputLayers.length} tensor inputs.`);const n={};for(let e=0;eparseInt(e,10)).sort(q6);if(i.length>1)for(const e of i){const t=this.nodesByDepth[e];for(const e of t){const t=e.outboundLayer;if(-1!==this.inputLayers.map(e=>e.id).indexOf(t.id))continue;const i=[];for(let t=0;tparseInt(e,10)).sort(q6);for(const e of i){const t=this.nodesByDepth[e];for(const e of t){const t=e.outboundLayer,i=e.inputTensors,r=e.outputTensors,s=new Array;for(const e of i)e.id in n&&s.push(n[e.id]);if(s.length===i.length){let i,o,a,l,u={};if(null!=e.callArgs&&(u=e.callArgs),1===s.length){const[e,n]=s[0];null==u.mask&&(u.mask=n),a=z6(t.call(e,u)),l=z6(t.computeMask(e,n)),i=[e],o=[n]}else i=s.map(e=>e[0]),o=s.map(e=>e[1]),null==u.mask&&(u.mask=o),a=z6(t.call(i,u)),l=z6(t.computeMask(i,o));if(t.activityRegularizer)throw new F6("LayersModel invocation with concrete Tensor value(s) in the presence of activity regularizer(s) is not supported yet.");for(let e=0;e{const e=[];for(const t of this.layers)for(let n=0;n0){const e=[];for(let n=0;n0&&e.apply(V6(n),i)}function l(e){const n=e.name,s=w7(e,null!=t.customObjects?t.customObjects:{});s.setFastWeightInitDuringBuild(i),r[n]=s;e.inboundNodes.forEach(e=>{if(!(e instanceof Array))throw new D6(`Corrupted configuration, expected array for nodeData: ${e}`);o(s,e)})}const u=t.name,c=t.layers;for(const e of c)l(e);for(;!Z6(s);)for(const e of c){const t=r[e.name];if(t.name in s){const e=s[t.name];delete s[t.name];for(const n of e)a(t,n)}}const d=[],h=[],p=t.inputLayers;for(const e of p){const t=e[0],n=e[1],i=e[2];$6(t in r);const s=r[t].inboundNodes[n].outputTensors;d.push(s[i])}const f=t.outputLayers;for(const e of f){const t=e[0],n=e[1],i=e[2];$6(t in r);const s=r[t].inboundNodes[n].outputTensors;h.push(s[i])}return new e({inputs:d,outputs:h,name:u})}get stateful(){if(this._stateful)throw new D6("Container instance unexpectedly has _stateful = true. The statefulness of a Container is determined by the Layers it contains. Its _stateful property must remain the default false.");for(const e of this.layers)if(e.stateful)return!0;return!1}resetStates(){(0,p3.tidy)(()=>{this.layers.forEach(e=>{e.stateful&&e.resetStates()})})}} +const dee="4.22.0";class hee extends N9{constructor(e){if(super({}),this.containerNodes=new Set,this.name=e.name,null==this.name){const e=this.getClassName().toLowerCase();this.name=h8(e)}if(this.supportsMasking=!1,this.trainable_=!0,Array.isArray(e.inputs)?this.inputs=e.inputs.slice():this.inputs=[e.inputs],Array.isArray(e.outputs)?this.outputs=e.outputs.slice():this.outputs=[e.outputs],n8(this.inputs).length!==this.inputs.length)throw new U6(`The list of inputs passed to the model is redundant. All inputs should only appear once. Found: ${this.inputs.map(e=>e.name)}`);n8(this.outputs).length!==this.outputs.length&&console.warn(`The list of outputs passed to the model is redundant. All outputs should only appear once. Found: ${this.outputs.map(e=>e.name)}`),this.inputLayers=[],this.inputLayersNodeIndices=[],this.inputLayersTensorIndices=[],this.outputLayers=[],this.outputLayersNodeIndices=[],this.outputLayersTensorIndices=[],this.layers=[],this.internalContainerRefs=[];for(const e of this.outputs){const t=e.sourceLayer,n=e.nodeIndex,i=e.tensorIndex;this.outputLayers.push(t),this.outputLayersNodeIndices.push(n),this.outputLayersTensorIndices.push(i)}for(const e of this.inputs){const t=e.sourceLayer,n=e.nodeIndex,i=e.tensorIndex;G6(0===n,"input layer has >1 nodes"),G6(0===i,"input layer has >1 tensors"),this.inputLayers.push(t),this.inputLayersNodeIndices.push(n),this.inputLayersTensorIndices.push(i)}this.inputNames=[],this.outputNames=[],this.feedInputShapes=[],this.feedInputNames=[],this.feedOutputNames=[];for(let t=0;te.shape),this.internalOutputShapes=this.outputs.map(e=>e.shape);const t={},n={},i={},r={},s={},o=[],a=(e,t,n,i,r,l)=>{null!=i&&null!=r&&null!=l||(i=e.sourceLayer,r=e.nodeIndex,l=e.tensorIndex);const u=i.inboundNodes[r];if(-1!==n.indexOf(u))throw new $6(`The tensor ${e.name} at layer "${i.name}" is part of a cycle.`);if(-1!==t.indexOf(u))return;this.containerNodes.add(hee.nodeKey(i,r)),i.id in s||(s[i.id]=Object.keys(s).length),-1===n.indexOf(u)&&n.push(u);const c=u.inboundLayers.length;for(let e=0;e=0;)n.splice(n.indexOf(u),1);o.push(u)},l=[],u=[];for(const e of this.outputs)a(e,l,u);const c=o.slice().reverse();for(const e of c){n[e.id]=e,e.id in t||(t[e.id]=0);let s=t[e.id];const o=null==i[e.outboundLayer.id]?0:i[e.outboundLayer.id];s=Math.max(s,o),i[e.outboundLayer.id]=s,r[e.outboundLayer.id]=e.outboundLayer,t[e.id]=s;for(let i=0;iparseInt(e,10)).sort(t8);this.layers=[];for(const e of p){const t=h[e];t.sort((e,t)=>{const n=s[e.id],i=s[t.id];return ni?1:0});for(const e of t)e instanceof hee&&this.internalContainerRefs.push(e),this.layers.push(e)}this.layersByDepth=h,p=Object.keys(d).map(e=>parseInt(e,10)).sort(t8);const f=this.inputs.slice(),m=[];for(const e of p)for(const t of d[e]){const e=t.outboundLayer;if(null!=e){for(const n of t.inputTensors)if(-1===f.indexOf(n))throw new $6(`Graph disconnected: cannot obtain value for tensor ${n} at layer "${e.name}". The following previous layers were accessed without issue: ${m}`);for(const e of t.outputTensors)f.push(e);m.push(e.name)}}this.nodesByDepth=d;const g=this.layers.map(e=>e.name);for(const e of g){const t=g.filter(t=>t===e).length;if(1!==t)throw new $6(`The name "${e}" is used ${t} times in the model. All layer names should be unique. Layer names: `+JSON.stringify(g))}this.outboundNodes=[],this.inboundNodes=[],new k9({outboundLayer:this,inboundLayers:[],nodeIndices:[],tensorIndices:[],inputTensors:this.inputs,outputTensors:this.outputs,inputMasks:this.inputs.map(e=>null),outputMasks:this.outputs.map(e=>null),inputShapes:this.inputs.map(e=>e.shape),outputShapes:this.outputs.map(e=>e.shape)}),this.built=!0,this._refCount=1}assertNotDisposed(){if(0===this._refCount)throw new Error(`Container '${this.name}' is already disposed.`)}dispose(){this.assertNotDisposed();const e={refCountAfterDispose:null,numDisposedVariables:0};if(0===--this._refCount){for(const t of this.layers)e.numDisposedVariables+=t.dispose().numDisposedVariables;for(const t of this.internalContainerRefs)e.numDisposedVariables+=t.dispose().numDisposedVariables}return e.refCountAfterDispose=this._refCount,e}get trainable(){return this.trainable_}set trainable(e){this.layers.forEach(t=>{t._trainableWeights.forEach(t=>t.trainable=e)}),this.trainable_=e}get trainableWeights(){if(this._trainableWeights.length>0)throw new U6("Container instance unexpectedly contains _trainableWeights.The trainable weights of a Container are a union of the trainable weights of its consituent Layers. Its own _trainableWeights must remain an empty Array.");if(!this.trainable)return[];let e=[];for(const t of this.layers)e=e.concat(t.trainableWeights);return e}get nonTrainableWeights(){const e=[];for(const t of this.layers)e.push(...t.nonTrainableWeights);if(!this.trainable){const t=[];for(const e of this.layers)t.push(...e.trainableWeights);return t.concat(e)}return e}get weights(){return this.trainableWeights.concat(this.nonTrainableWeights)}loadWeights(e,t=!0){const n={};let i=0;const r=(e=>{const t=Object.keys(e);if(0===t.length)return!1;const n=t[0].split("/");return!isNaN(parseInt(n[n.length-1],10))})(e);r&&this.parseWeights(e);for(const e of this.layers)for(const[t,s]of e.weights.entries()){const e=r?`${s.name.split("/").slice(0,-1).join("/")+"/"}${t}`:s.originalName;if(null!=n[e])throw new U6(`Duplicate weight name: ${e}`);n[e]=s,i++}const s=[];for(const i in e){let r=i;if(null==n[i]){const e=i.split("/");r=e.slice(0,-2).concat([e[e.length-1]]).join("/")}if(null!=n[r])s.push([n[r],e[i]]);else if(t)throw new U6(`Provided weight data has no target variable: ${i}`);delete n[r]}if(t){const e=[];for(const t in n)e.push(t);if(e.length>0)throw new U6(`${e.length} of ${i} weights are not set: ${e}`)}S9(s)}parseWeights(e){for(const t in Object.keys(e)){const n=t.split("/"),i=["vars","layer_checkpoint_dependencies"],r=n.map(e=>e.startsWith("_")?e.slice(1):e).filter(e=>!i.includes(e)).join("/");r!==t&&(e[r]=e[t],delete e[t])}}updatedConfig(){const e=this.getConfig(),t={};return t.className=this.getClassName(),t.config=e,t.kerasVersion=`tfjs-layers ${dee}`,t.backend="TensorFlow.js",t}toJSON(e,t=!0){const n=cee(this.updatedConfig());return t?JSON.stringify(n):n}call(e,t){return(0,v3.tidy)(()=>{e=X6(e);const n=new P9;for(let t=0;t{let n;return e=X6(e),n=null==t?Y6(null,e.length):X6(t),this.runInternalGraph(e,n)[1]})}computeOutputShape(e){const t=b9(e);if(t.length!==this.inputLayers.length)throw new U6(`Invalid inputShape argument ${e}: model has ${this.inputLayers.length} tensor inputs.`);const n={};for(let e=0;eparseInt(e,10)).sort(t8);if(i.length>1)for(const e of i){const t=this.nodesByDepth[e];for(const e of t){const t=e.outboundLayer;if(-1!==this.inputLayers.map(e=>e.id).indexOf(t.id))continue;const i=[];for(let t=0;tparseInt(e,10)).sort(t8);for(const e of i){const t=this.nodesByDepth[e];for(const e of t){const t=e.outboundLayer,i=e.inputTensors,r=e.outputTensors,s=new Array;for(const e of i)e.id in n&&s.push(n[e.id]);if(s.length===i.length){let i,o,a,l,u={};if(null!=e.callArgs&&(u=e.callArgs),1===s.length){const[e,n]=s[0];null==u.mask&&(u.mask=n),a=X6(t.call(e,u)),l=X6(t.computeMask(e,n)),i=[e],o=[n]}else i=s.map(e=>e[0]),o=s.map(e=>e[1]),null==u.mask&&(u.mask=o),a=X6(t.call(i,u)),l=X6(t.computeMask(i,o));if(t.activityRegularizer)throw new V6("LayersModel invocation with concrete Tensor value(s) in the presence of activity regularizer(s) is not supported yet.");for(let e=0;e{const e=[];for(const t of this.layers)for(let n=0;n0){const e=[];for(let n=0;n0&&e.apply(W6(n),i)}function l(e){const n=e.name,s=M7(e,null!=t.customObjects?t.customObjects:{});s.setFastWeightInitDuringBuild(i),r[n]=s;e.inboundNodes.forEach(e=>{if(!(e instanceof Array))throw new U6(`Corrupted configuration, expected array for nodeData: ${e}`);o(s,e)})}const u=t.name,c=t.layers;for(const e of c)l(e);for(;!i8(s);)for(const e of c){const t=r[e.name];if(t.name in s){const e=s[t.name];delete s[t.name];for(const n of e)a(t,n)}}const d=[],h=[],p=t.inputLayers;for(const e of p){const t=e[0],n=e[1],i=e[2];G6(t in r);const s=r[t].inboundNodes[n].outputTensors;d.push(s[i])}const f=t.outputLayers;for(const e of f){const t=e[0],n=e[1],i=e[2];G6(t in r);const s=r[t].inboundNodes[n].outputTensors;h.push(s[i])}return new e({inputs:d,outputs:h,name:u})}get stateful(){if(this._stateful)throw new U6("Container instance unexpectedly has _stateful = true. The statefulness of a Container is determined by the Layers it contains. Its _stateful property must remain the default false.");for(const e of this.layers)if(e.stateful)return!0;return!1}resetStates(){(0,v3.tidy)(()=>{this.layers.forEach(e=>{e.stateful&&e.resetStates()})})}} /** * @license * Copyright 2018 Google LLC @@ -11262,7 +11262,7 @@ const see="4.22.0";class oee extends S9{constructor(e){if(super({}),this.contain * https://opensource.org/licenses/MIT. * ============================================================================= */ -function aee(e,t,n){const i=t.length;if(null==e||Array.isArray(e)&&0===e.length)return t.map(e=>null);if(1===i)return Array.isArray(e)&&1===e.length?e:"object"==typeof e&&t[0]in e?[e[t[0]]]:[e];if(Array.isArray(e)){if(e.length!==i)throw new Error(`Provided ${n} is an array of ${e.length} element(s), but the model has ${i} outputs. Make sure a set of weights is provided for each model output.`);return e}if("object"==typeof e&&Object.keys(e).length>0&&"object"==typeof e[Object.keys(e)[0]]){const n=[];return t.forEach(t=>{t in e?n.push(e[t]):n.push(null)}),n}throw new Error(`The model has multiple (${i}) outputs, so ${n} must be either an array with ${i} elements or an object with ${t} keys. Provided ${n} not understood: ${JSON.stringify(e)}`)}function lee(e,t){return aee(e,t,"classWeight")}async function uee(e,t,n,i){if(null!=t||null!=i)throw new Error("Support sampleWeight is not implemented yet");if(null!=n){const t=(0,p3.tidy)(()=>{if(1===e.shape.length)return(0,p3.clone)(e);if(2===e.shape.length){if(e.shape[1]>1){const t=1;return(0,p3.argMax)(e,t)}if(1===e.shape[1])return(0,p3.reshape)(e,[e.shape[0]]);throw new Error(`Encountered unexpected last-dimension size (${e.shape[1]}) during handling of class weights. The size is expected to be >= 1.`)}throw new Error(`Unexpected rank of target (y) tensor (${e.rank}) during handling of class weights. The rank is expected to be 1 or 2.`)}),i=Array.from(await t.data());(0,p3.dispose)(t);const r=[];return i.forEach(e=>{if(null==n[e])throw new Error(`classWeight must contain all classes in the training data. The class ${e} exists in the data but not in classWeight`);r.push(n[e])}),(0,p3.tensor1d)(r,"float32")}return null}function cee(e,t){return(0,p3.mul)(e,t)}function dee(e,t){let n,i;const r=t;n=r.xs,i=r.ys,p3.util.assert(null!=n&&null!=i,()=>`A Dataset iterator for fitDataset() is expected to generate objects of the form \`{xs: xVal, ys: yVal}\`, where the two values may be \`tf.Tensor\`, an array of Tensors, or a map of string to Tensor. The provided Dataset instead generates ${t}`);const s=hee("input",e.inputNames,n),o=hee("output",e.outputNames,i),a=s[0].shape[0];p3.util.assert(s.length===e.inputs.length,()=>`LayersModel has ${e.inputs.length} inputs, but the dataset provides ${s.length} inputs. (Expected input keys: ${JSON.stringify(e.inputNames)})`),p3.util.assert(o.length===e.outputs.length,()=>`LayersModel has ${e.outputs.length} outputs, but the dataset provides ${o.length} outputs. (Expected output keys: ${JSON.stringify(e.outputNames)})`);for(let t=0;t`Batch size mismatch: input ${e.inputNames[t]} has ${s[t].shape[0]}; expected ${a} based on input ${e.inputNames[0]}.`);for(let t=0;t`Batch size mismatch: output ${e.outputNames[t]} has ${o[t].shape[0]}; expected ${a} based on input ${e.inputNames[0]}.`);return{xs:s,ys:o}}function hee(e,t,n){if(n instanceof p3.Tensor)return[n];if(Array.isArray(n))return p3.util.assert(n.length===t.length,()=>`Received an array of ${n.length} Tensors, but expected ${t.length} to match the ${e} keys ${t}.`),n;{const i=[];for(const r of t){if(null==n[r])throw new D6(`The feature data generated by the dataset lacks the required ${e} key '${r}'.`);i.push(n[r])}return i}}async function pee(e,t,n){const i=null!=n.batchesPerEpoch;if(p3.util.assert(null!=e.optimizer,()=>"You must compile a model before training/testing. Use LayersModel.compile(modelCompileConfig)."),p3.util.assert(null!=n,()=>"For fitDataset(), the 2nd argument (config) is required, but it is not provided in this call."),p3.util.assert(null!=n.epochs&&n.epochs>0&&Number.isInteger(n.epochs),()=>`For fitDataset(), config.epochs is expected to be a positive integer, but got ${n.epochs}`),p3.util.assert(!i||n.batchesPerEpoch>0&&Number.isInteger(n.batchesPerEpoch),()=>`For fitDataset(), config.batchesPerEpoch is expected to be a positive integer if specified, but got ${n.batchesPerEpoch}`),p3.util.assert(null==n.validationSplit,()=>"`validationSplit` is not supported by `fitDataset()`. Use validationData instead."),e.isTraining)throw new Error("Cannot start training because another fit() call is ongoing.");e.isTraining=!0;try{const r=null!=n.validationData;let s,o;if(r)if(fee(n.validationData))p3.util.assert(null==n.validationBatches||n.validationBatches>0&&Number.isInteger(n.validationBatches),()=>`For fitDataset() with dataset-based validation, config.validationBatches is expected not to be provided, or to be a positive integer, but got ${n.validationBatches}`);else{const e=function(e){if(3===e.length)throw new F6("Validation with sample weights is not implemented yet.");return{xs:e[0],ys:e[1]}}(n.validationData);s=e.xs,o=e.ys}const a=e.makeTrainFunction(),l=e.getDedupedMetricsNames();let u;u=r?l.slice().concat(l.map(e=>"val_"+e)):l.slice();const c=T7(n.callbacks,n.yieldEvery),d=null==n.verbose?1:n.verbose,{callbackList:h,history:p}=E7(c,d,n.epochs,null,null,function(e,t){let n=null;null!=t.batchesPerEpoch?n=t.batchesPerEpoch:Number.isFinite(e.size)&&(n=e.size);return n}(t,n),null,r,u);h.setModel(e),e.history=p,await h.onTrainBegin(),e.stopTraining_=!1;let f=null==n.initialEpoch?0:n.initialEpoch,m=await t.iterator();for(;f=n.batchesPerEpoch:t.done){if(r){let t;t=fee(n.validationData)?z6(await e.evaluateDataset(n.validationData,{batches:n.validationBatches})):z6(e.evaluate(s,o,{batchSize:null==n.validationBatchSize?32:n.validationBatchSize,verbose:0}));for(let n=0;nnull);if(1===i)return Array.isArray(e)&&1===e.length?e:"object"==typeof e&&t[0]in e?[e[t[0]]]:[e];if(Array.isArray(e)){if(e.length!==i)throw new Error(`Provided ${n} is an array of ${e.length} element(s), but the model has ${i} outputs. Make sure a set of weights is provided for each model output.`);return e}if("object"==typeof e&&Object.keys(e).length>0&&"object"==typeof e[Object.keys(e)[0]]){const n=[];return t.forEach(t=>{t in e?n.push(e[t]):n.push(null)}),n}throw new Error(`The model has multiple (${i}) outputs, so ${n} must be either an array with ${i} elements or an object with ${t} keys. Provided ${n} not understood: ${JSON.stringify(e)}`)}function fee(e,t){return pee(e,t,"classWeight")}async function mee(e,t,n,i){if(null!=t||null!=i)throw new Error("Support sampleWeight is not implemented yet");if(null!=n){const t=(0,v3.tidy)(()=>{if(1===e.shape.length)return(0,v3.clone)(e);if(2===e.shape.length){if(e.shape[1]>1){const t=1;return(0,v3.argMax)(e,t)}if(1===e.shape[1])return(0,v3.reshape)(e,[e.shape[0]]);throw new Error(`Encountered unexpected last-dimension size (${e.shape[1]}) during handling of class weights. The size is expected to be >= 1.`)}throw new Error(`Unexpected rank of target (y) tensor (${e.rank}) during handling of class weights. The rank is expected to be 1 or 2.`)}),i=Array.from(await t.data());(0,v3.dispose)(t);const r=[];return i.forEach(e=>{if(null==n[e])throw new Error(`classWeight must contain all classes in the training data. The class ${e} exists in the data but not in classWeight`);r.push(n[e])}),(0,v3.tensor1d)(r,"float32")}return null}function gee(e,t){return(0,v3.mul)(e,t)}function _ee(e,t){let n,i;const r=t;n=r.xs,i=r.ys,v3.util.assert(null!=n&&null!=i,()=>`A Dataset iterator for fitDataset() is expected to generate objects of the form \`{xs: xVal, ys: yVal}\`, where the two values may be \`tf.Tensor\`, an array of Tensors, or a map of string to Tensor. The provided Dataset instead generates ${t}`);const s=yee("input",e.inputNames,n),o=yee("output",e.outputNames,i),a=s[0].shape[0];v3.util.assert(s.length===e.inputs.length,()=>`LayersModel has ${e.inputs.length} inputs, but the dataset provides ${s.length} inputs. (Expected input keys: ${JSON.stringify(e.inputNames)})`),v3.util.assert(o.length===e.outputs.length,()=>`LayersModel has ${e.outputs.length} outputs, but the dataset provides ${o.length} outputs. (Expected output keys: ${JSON.stringify(e.outputNames)})`);for(let t=0;t`Batch size mismatch: input ${e.inputNames[t]} has ${s[t].shape[0]}; expected ${a} based on input ${e.inputNames[0]}.`);for(let t=0;t`Batch size mismatch: output ${e.outputNames[t]} has ${o[t].shape[0]}; expected ${a} based on input ${e.inputNames[0]}.`);return{xs:s,ys:o}}function yee(e,t,n){if(n instanceof v3.Tensor)return[n];if(Array.isArray(n))return v3.util.assert(n.length===t.length,()=>`Received an array of ${n.length} Tensors, but expected ${t.length} to match the ${e} keys ${t}.`),n;{const i=[];for(const r of t){if(null==n[r])throw new U6(`The feature data generated by the dataset lacks the required ${e} key '${r}'.`);i.push(n[r])}return i}}async function vee(e,t,n){const i=null!=n.batchesPerEpoch;if(v3.util.assert(null!=e.optimizer,()=>"You must compile a model before training/testing. Use LayersModel.compile(modelCompileConfig)."),v3.util.assert(null!=n,()=>"For fitDataset(), the 2nd argument (config) is required, but it is not provided in this call."),v3.util.assert(null!=n.epochs&&n.epochs>0&&Number.isInteger(n.epochs),()=>`For fitDataset(), config.epochs is expected to be a positive integer, but got ${n.epochs}`),v3.util.assert(!i||n.batchesPerEpoch>0&&Number.isInteger(n.batchesPerEpoch),()=>`For fitDataset(), config.batchesPerEpoch is expected to be a positive integer if specified, but got ${n.batchesPerEpoch}`),v3.util.assert(null==n.validationSplit,()=>"`validationSplit` is not supported by `fitDataset()`. Use validationData instead."),e.isTraining)throw new Error("Cannot start training because another fit() call is ongoing.");e.isTraining=!0;try{const r=null!=n.validationData;let s,o;if(r)if(bee(n.validationData))v3.util.assert(null==n.validationBatches||n.validationBatches>0&&Number.isInteger(n.validationBatches),()=>`For fitDataset() with dataset-based validation, config.validationBatches is expected not to be provided, or to be a positive integer, but got ${n.validationBatches}`);else{const e=function(e){if(3===e.length)throw new V6("Validation with sample weights is not implemented yet.");return{xs:e[0],ys:e[1]}}(n.validationData);s=e.xs,o=e.ys}const a=e.makeTrainFunction(),l=e.getDedupedMetricsNames();let u;u=r?l.slice().concat(l.map(e=>"val_"+e)):l.slice();const c=S7(n.callbacks,n.yieldEvery),d=null==n.verbose?1:n.verbose,{callbackList:h,history:p}=O7(c,d,n.epochs,null,null,function(e,t){let n=null;null!=t.batchesPerEpoch?n=t.batchesPerEpoch:Number.isFinite(e.size)&&(n=e.size);return n}(t,n),null,r,u);h.setModel(e),e.history=p,await h.onTrainBegin(),e.stopTraining_=!1;let f=null==n.initialEpoch?0:n.initialEpoch,m=await t.iterator();for(;f=n.batchesPerEpoch:t.done){if(r){let t;t=bee(n.validationData)?X6(await e.evaluateDataset(n.validationData,{batches:n.validationBatches})):X6(e.evaluate(s,o,{batchSize:null==n.validationBatchSize?32:n.validationBatchSize,verbose:0}));for(let n=0;n0&&Number.isInteger(e),()=>`batchSize is required to be a positive integer, but got ${e}`)}function gee(e,t,n){return null==e?[null]:Array.isArray(e)?e.map(e=>k8(e,t,n-t)):k8(e,t,n-t)}function _ee(e,t){return p3.tidy(()=>null==e?null:Array.isArray(e)?e.map(e=>_ee(e,t)):$8(e,"int32"===t.dtype?t:p3.cast(t,"int32")))}function yee(e,t){const n=[];let i=0,r=null;for(;i=e&&(r=e),n.push([i,r]),i=r;return n}function vee(e){const t=[];e instanceof p3.Tensor&&(e=[e]);for(let n=0;nn.push(e.id));else if(null!=t)for(const e in t){const i=t[e];n.push(i.id)}const i=[];if(e instanceof p3.Tensor)-1===n.indexOf(e.id)&&i.push(e);else if(Array.isArray(e))e.forEach(e=>{-1===n.indexOf(e.id)&&i.push(e)});else if(null!=e)for(const t in e){const r=e[t];-1===n.indexOf(r.id)&&i.push(r)}i.forEach(e=>{e.isDisposed||e.dispose()})}function Tee(e){return Array.isArray(e)}function xee(e){return! +function Tee(e){v3.util.assert(e>0&&Number.isInteger(e),()=>`batchSize is required to be a positive integer, but got ${e}`)}function xee(e,t,n){return null==e?[null]:Array.isArray(e)?e.map(e=>P8(e,t,n-t)):P8(e,t,n-t)}function Eee(e,t){return v3.tidy(()=>null==e?null:Array.isArray(e)?e.map(e=>Eee(e,t)):G8(e,"int32"===t.dtype?t:v3.cast(t,"int32")))}function wee(e,t){const n=[];let i=0,r=null;for(;i=e&&(r=e),n.push([i,r]),i=r;return n}function Iee(e){const t=[];e instanceof v3.Tensor&&(e=[e]);for(let n=0;nn.push(e.id));else if(null!=t)for(const e in t){const i=t[e];n.push(i.id)}const i=[];if(e instanceof v3.Tensor)-1===n.indexOf(e.id)&&i.push(e);else if(Array.isArray(e))e.forEach(e=>{-1===n.indexOf(e.id)&&i.push(e)});else if(null!=e)for(const t in e){const r=e[t];-1===n.indexOf(r.id)&&i.push(r)}i.forEach(e=>{e.isDisposed||e.dispose()})}function See(e){return Array.isArray(e)}function Cee(e){return! /** * @license * Copyright 2018 Google LLC @@ -11282,7 +11282,7 @@ function mee(e){p3.util.assert(e>0&&Number.isInteger(e),()=>`batchSize is requir * https://opensource.org/licenses/MIT. * ============================================================================= */ -function(e){return e instanceof p3.Tensor}(e)&&!Tee(e)}function Eee(e,t,n,i=!0,r=""){if(null==t||0===t.length){if(null!=e){let t=!1;if(Tee(e)&&e.length>0)t=!0;else if(xee(e)){for(const n in e)if(e.hasOwnProperty(n)){t=!0;break}}else t=!0;if(t)throw new D6(`Error when checking model ${r} expected no data, but got ${e}`)}return[]}if(null==e)return t.map(e=>null);let s;if(xee(e)){s=[];for(const n of t){if(null==e[n])throw new D6(`No data provided for "${n}". Need data for each key in: ${t}`);s.push(e[n])}}else if(Tee(e)){if(e.length!==t.length)throw new D6(`Error when checking model ${r}: the Array of Tensors that you are passing to your model is not the size the model expected. Expected to see ${t.length} Tensor(s), but instead got the following list of Tensor(s): ${e}`);s=e}else{if(t.length>1)throw new D6(`The model ${r} expects ${t.length} Tensor(s), but only received one Tensor. Found: Tensor with shape ${e.shape}`);s=[e]}if(s=vee(s),null!=n)for(let e=0;e=0&&s!==a)throw new D6(`${r} expected a batch of elements where each example has shape [${n[e].slice(1,n[e].length)}] (i.e.,tensor shape [*,${n[e].slice(1,n[e].length)}]) but the ${r} received an input with ${o.shape[0]} examples, each with shape [${o.shape.slice(1,o.shape.length)}] (tensor shape [${o.shape}])`)}}return s}function wee(e,t,n,i=!0,r=""){let s;if(Array.isArray(e)){if(e.length!==t.length)throw new D6(`Error when checking model ${r}: the Array of Tensors that you are passing to your model is not the size the the model expected. Expected to see ${t.length} Tensor(s), but instead got ${e.length} Tensors(s).`);s=e}else{if(t.length>1)throw new D6(`The model expects ${t.length} ${r} Tensors, but only received one Tensor. Found: array with shape ${JSON.stringify(e.shape)}.`);s=[e]}if(null!=n)for(let e=0;e0)t=!0;else if(Cee(e)){for(const n in e)if(e.hasOwnProperty(n)){t=!0;break}}else t=!0;if(t)throw new U6(`Error when checking model ${r} expected no data, but got ${e}`)}return[]}if(null==e)return t.map(e=>null);let s;if(Cee(e)){s=[];for(const n of t){if(null==e[n])throw new U6(`No data provided for "${n}". Need data for each key in: ${t}`);s.push(e[n])}}else if(See(e)){if(e.length!==t.length)throw new U6(`Error when checking model ${r}: the Array of Tensors that you are passing to your model is not the size the model expected. Expected to see ${t.length} Tensor(s), but instead got the following list of Tensor(s): ${e}`);s=e}else{if(t.length>1)throw new U6(`The model ${r} expects ${t.length} Tensor(s), but only received one Tensor. Found: Tensor with shape ${e.shape}`);s=[e]}if(s=Iee(s),null!=n)for(let e=0;e=0&&s!==a)throw new U6(`${r} expected a batch of elements where each example has shape [${n[e].slice(1,n[e].length)}] (i.e.,tensor shape [*,${n[e].slice(1,n[e].length)}]) but the ${r} received an input with ${o.shape[0]} examples, each with shape [${o.shape.slice(1,o.shape.length)}] (tensor shape [${o.shape}])`)}}return s}function Mee(e,t,n,i=!0,r=""){let s;if(Array.isArray(e)){if(e.length!==t.length)throw new U6(`Error when checking model ${r}: the Array of Tensors that you are passing to your model is not the size the the model expected. Expected to see ${t.length} Tensor(s), but instead got ${e.length} Tensors(s).`);s=e}else{if(t.length>1)throw new U6(`The model expects ${t.length} ${r} Tensors, but only received one Tensor. Found: array with shape ${JSON.stringify(e.shape)}.`);s=[e]}if(null!=n)for(let e=0;ep3.train.adagrad(.01),Adadelta:()=>p3.train.adadelta(1,.95,C8()),Adam:()=>p3.train.adam(.001,.9,.999,C8()),Adamax:()=>p3.train.adamax(.002,.9,.999,C8(),0),RMSProp:()=>p3.train.rmsprop(.001,.9,0,C8()),SGD:()=>p3.train.sgd(.01)};if(t.adagrad=t.Adagrad,t.adadelta=t.Adadelta,t.adam=t.Adam,t.adamax=t.Adamax,t.rmsprop=t.RMSProp,t.sgd=t.SGD,e in t)return t[e]();throw new D6(`Unknown Optimizer ${e}`)}(e.optimizer),this.isOptimizerOwned=!0;else{if(!(e.optimizer instanceof p3.Optimizer))throw new D6("User-defined optimizer must be an instance of tf.Optimizer.");this.optimizer_=e.optimizer,this.isOptimizerOwned=!1}let t=[];if(Array.isArray(e.loss)||"string"==typeof e.loss||"function"==typeof e.loss)if(Array.isArray(e.loss)){if(e.loss.length!==this.outputs.length)throw new D6(`When passing an Array as loss, it should have one entry per model output. The model has ${this.outputs.length} output(s), but you passed loss=${e.loss}.`);const n=e.loss;t=n.map(e=>L7(e))}else{const n=L7(e.loss);this.outputs.forEach(e=>{t.push(n)})}else{e.loss=e.loss;for(const t in e.loss)if(-1===this.outputNames.indexOf(t))throw new D6(`Unknown entry in loss dictionary: "${t}". Only expected the following keys: ${this.outputNames}`);for(const n of this.outputNames)null==e.loss[n]&&console.warn(`Output "${n}" is missing from loss dictionary. We assume this was done on purpose, and we will not be expecting data to be passed to ${n} during training`),t.push(L7(e.loss[n]))}this.lossFunctions=t,this.feedOutputNames=[],this.feedOutputShapes=[],this.feedLossFns=[];for(let e=0;e{for(let e=0;e1&&(this.metricsTensors.push([t,e]),this.metricsNames.push(this.outputNames[e]+"_loss"))}});const i=function(e,t){if(null==e||Array.isArray(e)&&0===e.length)return t.map(e=>[]);let n;if("string"==typeof e||"function"==typeof e)n=[e];else{if(!Array.isArray(e)&&"object"!=typeof e)throw new TypeError(`Type of metrics argument not understood. Expected an string,function, Array, or Object, found: ${e}`);n=e}if(Array.isArray(n))return t.map(e=>n);{const e=[];for(const i of t){let t=n.hasOwnProperty(i)?n[i]:[];Array.isArray(t)||(t=[t]),e.push(t)}return e}}(e.metrics,this.outputNames),r=(e,t,n)=>{this.outputNames.length>1&&(t=this.outputNames[e]+"_"+t),this.metricsNames.push(t),this.metricsTensors.push([n,e])};_8("metric",()=>{for(let e=0;e{let n,i,s;for(const o of t){if("string"==typeof o&&-1!==["accuracy","acc","crossentropy","ce"].indexOf(o)){const t=this.internalOutputShapes[e];let r;1===t[t.length-1]||this.lossFunctions[e]===R7?-1!==["accuracy","acc"].indexOf(o)?i=P7:-1!==["crossentropy","ce"].indexOf(o)&&(i=z7):this.lossFunctions[e]===k7?-1!==["accuracy","acc"].indexOf(o)?i=j7:-1!==["crossentropy","ce"].indexOf(o)&&(i=G7):-1!==["accuracy","acc"].indexOf(o)?i=B7:-1!==["crossentropy","ce"].indexOf(o)&&(i=Y7),-1!==["accuracy","acc"].indexOf(o)?r="acc":-1!==["crossentropy","ce"].indexOf(o)&&(r="ce"),s=i,n=""+r}else{const e=W7(o);s=e,n=""+X7(o)}let t;_8(n,()=>{t=s}),r(e,n,t)}})(i[e])}}),this.collectedTrainableWeights=this.trainableWeights}checkTrainableWeightsConsistency(){null!=this.collectedTrainableWeights&&this.trainableWeights.length!==this.collectedTrainableWeights.length&&console.warn("Discrepancy between trainableweights and collected trainable weights. Did you set `model.trainable` without calling `model.compile()` afterwards?")}evaluate(e,t,n={}){const i=null==n.batchSize?32:n.batchSize;mee(i);const r=this.standardizeUserDataXY(e,t,!0,i);try{const e=r[0].concat(r[1]);this.makeTestFunction();const t=this.testFunction;return V6(this.testLoop(t,e,i,n.verbose,n.steps))}finally{bee(r[0],e),bee(r[1],t)}}async evaluateDataset(e,t){return this.makeTestFunction(),async function(e,t,n){const i=null!=(n=n||{}).batches,r=e.testFunction;let s=[];if(n.verbose>0)throw new F6("Verbose mode is not implemented yet.");p3.util.assert(!i||n.batches>0&&Number.isInteger(n.batches),()=>`Test loop expects \`batches\` to be a positive integer, but received ${JSON.stringify(n.batches)}`);const o=function(e){return"function"==typeof e.next}(t)?t:await t.iterator();let a=0,l=0;for(;!i||l{if(t.value){const{xs:n,ys:i}=dee(e,t.value),o=n.concat(i),u=p3.tidy(()=>r(o));if(p3.dispose(o),0===l)for(let e=0;ep3.add(s[e],p3.mul(c,t))),l>0&&p3.dispose(n)}p3.dispose(u),a+=c,++l}return s}),t.done){i&&console.warn(`Your dataset iterator ran out of data during evaluateDataset(). Interrupting evalution. Make sure that your dataset can generate at least \`batches\` batches (in this case, ${n.batches} batches). You may need to use the repeat() function when building your dataset.`);break}}for(let e=0;ee.name);for(let i=0;i0){const n=[];throw t.forEach((t,i)=>{null==t&&n.push(e[i])}),new D6(`Cannot find SymbolicTensors for output name(s): ${JSON.stringify(n)}`)}return t}predictLoop(e,t=32,n=!1){return p3.tidy(()=>{const i=this.checkNumSamples(e);if(n)throw new F6("Verbose predictLoop() is not implemented yet.");const r=yee(i,t),s=this.outputs.map(e=>[]);for(let t=0;t{const n=r[t][0],i=r[t][1],s=gee(e,n,i),o=[];if(Array.isArray(s))for(let e=0;es[t].push(e))}return V6(s.map(e=>p3.concat(e,0)))})}predict(e,t={}){const n=vee(e);wee(n,this.inputNames,this.feedInputShapes,!1);try{const e=null==t.batchSize?32:t.batchSize;return mee(e),this.predictLoop(n,e)}finally{bee(n,e)}}predictOnBatch(e){wee(e,this.inputNames,this.feedInputShapes,!0);const t=(Array.isArray(e)?e[0]:e).shape[0];return this.predictLoop(e,t)}standardizeUserDataXY(e,t,n=!0,i){if(null==this.optimizer_)throw new N6("You must compile a model before training/testing. Use LayersModel.compile(modelCompileArgs).");const r=[];for(let e=0;ee.shape[0]));n.sort();const i=K6(t.map(e=>e.shape[0]));if(i.sort(),n.length>1)throw new D6(`All input Tensors (x) should have the same number of samples. Got array shapes: ${JSON.stringify(e.map(e=>e.shape))}`);if(i.length>1)throw new D6(`All target Tensors (y) should have the same number of samples. Got array shapes: ${JSON.stringify(t.map(e=>e.shape))}`);if(n.length>0&&i.length>0&&!p3.util.arraysEqual(n,i))throw new D6(`Input Tensors should have the same number of samples as target Tensors. Found ${n[0]} input sample(s) and ${i[0]} target sample(s).`)}(e=Eee(e,this.feedInputNames,this.feedInputShapes,!1,"input"),t=Eee(t,this.feedOutputNames,r,!1,"target")),function(e,t,n){const i=[A7,R7,M7];for(let r=0;r0&&e[0].shape[0]%i!==0)throw new D6(`In a stateful network, you should only pass inputs with a number of samples that is divisible by the batch size ${i}. Found: ${e[0].shape[0]} sample(s).`);return[e,t]}async standardizeUserData(e,t,n,i,r=!0,s){const[o,a]=this.standardizeUserDataXY(e,t,r,s);if(null!=n)throw new Error("sample weight is not supported yet.");let l=null;if(null!=i){const e=lee(i,this.outputNames);l=[];for(let t=0;t{const s=this.checkNumSamples(t,n,r,"steps"),o=[];if(i>0)throw new F6("Verbose mode is not implemented yet.");if(null!=r)throw new F6("steps mode in testLoop() is not implemented yet");{const i=yee(s,n),r=(0,p3.tensor1d)(A8(0,s));for(let n=0;n1){r+=`_${U6(e.slice(0,n),i)}`}t.push(r)}return t}makeTrainFunction(){return e=>{const t=[],n=e.slice(0,this.inputs.length),i=e.slice(this.inputs.length,this.inputs.length+this.outputs.length),r=e.slice(this.inputs.length+this.outputs.length,this.inputs.length+2*this.outputs.length),s=[],o=this.collectedTrainableWeights.map(e=>e.read());return[this.optimizer_.minimize(()=>{const e=[];for(let t=0;t1&&e{l=p3.add(l,e)}),l},!0,o)].concat(s)}}makeTestFunction(){this.testFunction=e=>p3.tidy(()=>{const t=[];let n;const i=e.slice(0,this.inputs.length),r=e.slice(this.inputs.length,this.inputs.length+this.outputs.length),s=[];for(let e=0;e0){if(g=!0,2!==n.validationData.length)throw 3===n.validationData.length?new F6("validationData including sample weights is not supported yet."):new D6(`When passing validation data, it must contain 2 (valX, valY) or 3 (valX, valY, valSampleWeight) items; ${n.validationData} is invalid.`);a=n.validationData[0],l=n.validationData[1];const e=!0,t=await this.standardizeUserData(a,l,null,null,e,h);u=t[0],c=t[1],m=u.concat(c)}else if(null!=n.validationSplit&&n.validationSplit>0&&n.validationSplit<1){g=!0;const e=Math.floor(i[0].shape[0]*(1-n.validationSplit)),t=i[0].shape[0];u=gee(i,e,t),s=i,i=gee(i,0,e),c=gee(r,e,t),o=r,r=gee(r,0,e),m=u.concat(c)}else null!=n.validationSteps&&(g=!0);const _=i.concat(r).concat(d);this.checkTrainableWeightsConsistency();const y=this.makeTrainFunction(),v=this.getDedupedMetricsNames();let b,T;g?(this.makeTestFunction(),b=this.testFunction,T=v.slice().concat(v.map(e=>"val_"+e))):(b=null,m=[],T=v.slice());const x=T7(n.callbacks,n.yieldEvery);return await this.fitLoop(y,_,v,h,n.epochs,n.verbose,x,b,m,n.shuffle,T,n.initialEpoch,null,null)}finally{this.isTraining=!1,bee(i,e),bee(r,t),bee(s,e),bee(o,t),bee(u,a),bee(c,l),null!=d&&p3.dispose(d)}}async fitLoop(e,t,n,i,r,s,o,a,l,u,c,d,h,p){null==i&&(i=32),null==r&&(r=1),null==u&&(u=!0),null==d&&(d=0);let f=!1;if(null!=a&&null!=l&&(f=!0),null!=p&&(f=!0,null==h))throw new D6("Can only use `validationSteps` when doing step-wise training, i.e., `stepsPerEpoch` must be set.");const m=this.checkNumSamples(t,i,h,"steps_per_epoch");let g;null!=m&&(g=A8(0,m)),null==s&&(s=1);const{callbackList:_,history:y}=E7(o,s,r,d,m,h,i,f,c);_.setModel(this),this.history=y,await _.onTrainBegin(),this.stopTraining_=!1;for(let s=d;s{const d=o[u][0],h=o[u][1],p=k8(s,d,h-d);c.batch=u,c.size=h-d;const m=_ee(t,p),g=e(m);for(let e=0;ej6(e))}else{const t=Object.keys(this.loss);e={};const n=this.loss;for(const i of t){if("string"!=typeof n[i])throw new Error("Serialization of non-string loss is not supported.");e[i]=j6(n[i])}}return e}getMetricIdentifiers(){if("string"==typeof this.metrics||"function"==typeof this.metrics)return[j6(X7(this.metrics))];if(Array.isArray(this.metrics))return this.metrics.map(e=>j6(X7(e)));{const e={};for(const t in this.metrics)e[t]=j6(X7(this.metrics[t]));return e}}getTrainingConfig(){return{loss:this.getLossIdentifiers(),metrics:this.getMetricIdentifiers(),optimizer_config:{class_name:this.optimizer.getClassName(),config:this.optimizer.getConfig()}}}loadTrainingConfig(e){if(null!=e.weighted_metrics)throw new Error("Loading weight_metrics is not supported yet.");if(null!=e.loss_weights)throw new Error("Loading loss_weights is not supported yet.");if(null!=e.sample_weight_mode)throw new Error("Loading sample_weight_mode is not supported yet.");const t=w7(iee(e.optimizer_config));let n,i;if("string"==typeof e.loss)n=Y6(e.loss);else if(Array.isArray(e.loss))n=e.loss.map(e=>Y6(e));else if(null!=e.loss){n={};for(const t in e.loss)n[t]=Y6(e.loss[t])}if(Array.isArray(e.metrics))i=e.metrics.map(e=>Y6(e));else if(null!=e.metrics){i={};for(const t in e.metrics)i[t]=Y6(e.metrics[t])}this.compile({loss:n,metrics:i,optimizer:t})}async save(e,t){if("string"==typeof e){const t=p3.io.getSaveHandlers(e);if(0===t.length)throw new D6(`Cannot find any save handlers for URL '${e}'`);if(t.length>1)throw new D6(`Found more than one (${t.length}) save handlers for URL '${e}'`);e=t[0]}if(null==e.save)throw new D6("LayersModel.save() cannot proceed because the IOHandler provided does not have the `save` attribute defined.");const n=await p3.io.encodeWeights(this.getNamedWeights(t)),i={modelTopology:this.toJSON(null,!1),format:"layers-model",generatedBy:`TensorFlow.js tfjs-layers v${see}`,convertedBy:null};if(null!=t&&t.includeOptimizer&&null!=this.optimizer){i.trainingConfig=this.getTrainingConfig();const e="optimizer",{data:t,specs:r}=await p3.io.encodeWeights(await this.optimizer.getWeights(),e);n.specs.push(...r),n.data=p3.io.concatenateArrayBuffers([n.data,t])}if(null!=this.userDefinedMetadata){const e=!0;K7(this.userDefinedMetadata,this.name,e),i.userDefinedMetadata=this.userDefinedMetadata}return i.weightData=n.data,i.weightSpecs=n.specs,e.save(i)}setUserDefinedMetadata(e){K7(e,this.name),this.userDefinedMetadata=e}getUserDefinedMetadata(){return this.userDefinedMetadata}}Iee.className="Model",p3.serialization.registerClass(Iee);class Aee extends Iee{} +function(e){const t={Adagrad:()=>v3.train.adagrad(.01),Adadelta:()=>v3.train.adadelta(1,.95,D8()),Adam:()=>v3.train.adam(.001,.9,.999,D8()),Adamax:()=>v3.train.adamax(.002,.9,.999,D8(),0),RMSProp:()=>v3.train.rmsprop(.001,.9,0,D8()),SGD:()=>v3.train.sgd(.01)};if(t.adagrad=t.Adagrad,t.adadelta=t.Adadelta,t.adam=t.Adam,t.adamax=t.Adamax,t.rmsprop=t.RMSProp,t.sgd=t.SGD,e in t)return t[e]();throw new U6(`Unknown Optimizer ${e}`)}(e.optimizer),this.isOptimizerOwned=!0;else{if(!(e.optimizer instanceof v3.Optimizer))throw new U6("User-defined optimizer must be an instance of tf.Optimizer.");this.optimizer_=e.optimizer,this.isOptimizerOwned=!1}let t=[];if(Array.isArray(e.loss)||"string"==typeof e.loss||"function"==typeof e.loss)if(Array.isArray(e.loss)){if(e.loss.length!==this.outputs.length)throw new U6(`When passing an Array as loss, it should have one entry per model output. The model has ${this.outputs.length} output(s), but you passed loss=${e.loss}.`);const n=e.loss;t=n.map(e=>z7(e))}else{const n=z7(e.loss);this.outputs.forEach(e=>{t.push(n)})}else{e.loss=e.loss;for(const t in e.loss)if(-1===this.outputNames.indexOf(t))throw new U6(`Unknown entry in loss dictionary: "${t}". Only expected the following keys: ${this.outputNames}`);for(const n of this.outputNames)null==e.loss[n]&&console.warn(`Output "${n}" is missing from loss dictionary. We assume this was done on purpose, and we will not be expecting data to be passed to ${n} during training`),t.push(z7(e.loss[n]))}this.lossFunctions=t,this.feedOutputNames=[],this.feedOutputShapes=[],this.feedLossFns=[];for(let e=0;e{for(let e=0;e1&&(this.metricsTensors.push([t,e]),this.metricsNames.push(this.outputNames[e]+"_loss"))}});const i=function(e,t){if(null==e||Array.isArray(e)&&0===e.length)return t.map(e=>[]);let n;if("string"==typeof e||"function"==typeof e)n=[e];else{if(!Array.isArray(e)&&"object"!=typeof e)throw new TypeError(`Type of metrics argument not understood. Expected an string,function, Array, or Object, found: ${e}`);n=e}if(Array.isArray(n))return t.map(e=>n);{const e=[];for(const i of t){let t=n.hasOwnProperty(i)?n[i]:[];Array.isArray(t)||(t=[t]),e.push(t)}return e}}(e.metrics,this.outputNames),r=(e,t,n)=>{this.outputNames.length>1&&(t=this.outputNames[e]+"_"+t),this.metricsNames.push(t),this.metricsTensors.push([n,e])};E8("metric",()=>{for(let e=0;e{let n,i,s;for(const o of t){if("string"==typeof o&&-1!==["accuracy","acc","crossentropy","ce"].indexOf(o)){const t=this.internalOutputShapes[e];let r;1===t[t.length-1]||this.lossFunctions[e]===B7?-1!==["accuracy","acc"].indexOf(o)?i=j7:-1!==["crossentropy","ce"].indexOf(o)&&(i=X7):this.lossFunctions[e]===P7?-1!==["accuracy","acc"].indexOf(o)?i=q7:-1!==["crossentropy","ce"].indexOf(o)&&(i=Z7):-1!==["accuracy","acc"].indexOf(o)?i=Y7:-1!==["crossentropy","ce"].indexOf(o)&&(i=K7),-1!==["accuracy","acc"].indexOf(o)?r="acc":-1!==["crossentropy","ce"].indexOf(o)&&(r="ce"),s=i,n=""+r}else{const e=J7(o);s=e,n=""+eee(o)}let t;E8(n,()=>{t=s}),r(e,n,t)}})(i[e])}}),this.collectedTrainableWeights=this.trainableWeights}checkTrainableWeightsConsistency(){null!=this.collectedTrainableWeights&&this.trainableWeights.length!==this.collectedTrainableWeights.length&&console.warn("Discrepancy between trainableweights and collected trainable weights. Did you set `model.trainable` without calling `model.compile()` afterwards?")}evaluate(e,t,n={}){const i=null==n.batchSize?32:n.batchSize;Tee(i);const r=this.standardizeUserDataXY(e,t,!0,i);try{const e=r[0].concat(r[1]);this.makeTestFunction();const t=this.testFunction;return W6(this.testLoop(t,e,i,n.verbose,n.steps))}finally{Aee(r[0],e),Aee(r[1],t)}}async evaluateDataset(e,t){return this.makeTestFunction(),async function(e,t,n){const i=null!=(n=n||{}).batches,r=e.testFunction;let s=[];if(n.verbose>0)throw new V6("Verbose mode is not implemented yet.");v3.util.assert(!i||n.batches>0&&Number.isInteger(n.batches),()=>`Test loop expects \`batches\` to be a positive integer, but received ${JSON.stringify(n.batches)}`);const o=function(e){return"function"==typeof e.next}(t)?t:await t.iterator();let a=0,l=0;for(;!i||l{if(t.value){const{xs:n,ys:i}=_ee(e,t.value),o=n.concat(i),u=v3.tidy(()=>r(o));if(v3.dispose(o),0===l)for(let e=0;ev3.add(s[e],v3.mul(c,t))),l>0&&v3.dispose(n)}v3.dispose(u),a+=c,++l}return s}),t.done){i&&console.warn(`Your dataset iterator ran out of data during evaluateDataset(). Interrupting evalution. Make sure that your dataset can generate at least \`batches\` batches (in this case, ${n.batches} batches). You may need to use the repeat() function when building your dataset.`);break}}for(let e=0;ee.name);for(let i=0;i0){const n=[];throw t.forEach((t,i)=>{null==t&&n.push(e[i])}),new U6(`Cannot find SymbolicTensors for output name(s): ${JSON.stringify(n)}`)}return t}predictLoop(e,t=32,n=!1){return v3.tidy(()=>{const i=this.checkNumSamples(e);if(n)throw new V6("Verbose predictLoop() is not implemented yet.");const r=wee(i,t),s=this.outputs.map(e=>[]);for(let t=0;t{const n=r[t][0],i=r[t][1],s=xee(e,n,i),o=[];if(Array.isArray(s))for(let e=0;es[t].push(e))}return W6(s.map(e=>v3.concat(e,0)))})}predict(e,t={}){const n=Iee(e);Mee(n,this.inputNames,this.feedInputShapes,!1);try{const e=null==t.batchSize?32:t.batchSize;return Tee(e),this.predictLoop(n,e)}finally{Aee(n,e)}}predictOnBatch(e){Mee(e,this.inputNames,this.feedInputShapes,!0);const t=(Array.isArray(e)?e[0]:e).shape[0];return this.predictLoop(e,t)}standardizeUserDataXY(e,t,n=!0,i){if(null==this.optimizer_)throw new $6("You must compile a model before training/testing. Use LayersModel.compile(modelCompileArgs).");const r=[];for(let e=0;ee.shape[0]));n.sort();const i=n8(t.map(e=>e.shape[0]));if(i.sort(),n.length>1)throw new U6(`All input Tensors (x) should have the same number of samples. Got array shapes: ${JSON.stringify(e.map(e=>e.shape))}`);if(i.length>1)throw new U6(`All target Tensors (y) should have the same number of samples. Got array shapes: ${JSON.stringify(t.map(e=>e.shape))}`);if(n.length>0&&i.length>0&&!v3.util.arraysEqual(n,i))throw new U6(`Input Tensors should have the same number of samples as target Tensors. Found ${n[0]} input sample(s) and ${i[0]} target sample(s).`)}(e=Oee(e,this.feedInputNames,this.feedInputShapes,!1,"input"),t=Oee(t,this.feedOutputNames,r,!1,"target")),function(e,t,n){const i=[R7,B7,L7];for(let r=0;r0&&e[0].shape[0]%i!==0)throw new U6(`In a stateful network, you should only pass inputs with a number of samples that is divisible by the batch size ${i}. Found: ${e[0].shape[0]} sample(s).`);return[e,t]}async standardizeUserData(e,t,n,i,r=!0,s){const[o,a]=this.standardizeUserDataXY(e,t,r,s);if(null!=n)throw new Error("sample weight is not supported yet.");let l=null;if(null!=i){const e=fee(i,this.outputNames);l=[];for(let t=0;t{const s=this.checkNumSamples(t,n,r,"steps"),o=[];if(i>0)throw new V6("Verbose mode is not implemented yet.");if(null!=r)throw new V6("steps mode in testLoop() is not implemented yet");{const i=wee(s,n),r=(0,v3.tensor1d)(R8(0,s));for(let n=0;n1){r+=`_${H6(e.slice(0,n),i)}`}t.push(r)}return t}makeTrainFunction(){return e=>{const t=[],n=e.slice(0,this.inputs.length),i=e.slice(this.inputs.length,this.inputs.length+this.outputs.length),r=e.slice(this.inputs.length+this.outputs.length,this.inputs.length+2*this.outputs.length),s=[],o=this.collectedTrainableWeights.map(e=>e.read());return[this.optimizer_.minimize(()=>{const e=[];for(let t=0;t1&&e{l=v3.add(l,e)}),l},!0,o)].concat(s)}}makeTestFunction(){this.testFunction=e=>v3.tidy(()=>{const t=[];let n;const i=e.slice(0,this.inputs.length),r=e.slice(this.inputs.length,this.inputs.length+this.outputs.length),s=[];for(let e=0;e0){if(g=!0,2!==n.validationData.length)throw 3===n.validationData.length?new V6("validationData including sample weights is not supported yet."):new U6(`When passing validation data, it must contain 2 (valX, valY) or 3 (valX, valY, valSampleWeight) items; ${n.validationData} is invalid.`);a=n.validationData[0],l=n.validationData[1];const e=!0,t=await this.standardizeUserData(a,l,null,null,e,h);u=t[0],c=t[1],m=u.concat(c)}else if(null!=n.validationSplit&&n.validationSplit>0&&n.validationSplit<1){g=!0;const e=Math.floor(i[0].shape[0]*(1-n.validationSplit)),t=i[0].shape[0];u=xee(i,e,t),s=i,i=xee(i,0,e),c=xee(r,e,t),o=r,r=xee(r,0,e),m=u.concat(c)}else null!=n.validationSteps&&(g=!0);const _=i.concat(r).concat(d);this.checkTrainableWeightsConsistency();const y=this.makeTrainFunction(),v=this.getDedupedMetricsNames();let b,T;g?(this.makeTestFunction(),b=this.testFunction,T=v.slice().concat(v.map(e=>"val_"+e))):(b=null,m=[],T=v.slice());const x=S7(n.callbacks,n.yieldEvery);return await this.fitLoop(y,_,v,h,n.epochs,n.verbose,x,b,m,n.shuffle,T,n.initialEpoch,null,null)}finally{this.isTraining=!1,Aee(i,e),Aee(r,t),Aee(s,e),Aee(o,t),Aee(u,a),Aee(c,l),null!=d&&v3.dispose(d)}}async fitLoop(e,t,n,i,r,s,o,a,l,u,c,d,h,p){null==i&&(i=32),null==r&&(r=1),null==u&&(u=!0),null==d&&(d=0);let f=!1;if(null!=a&&null!=l&&(f=!0),null!=p&&(f=!0,null==h))throw new U6("Can only use `validationSteps` when doing step-wise training, i.e., `stepsPerEpoch` must be set.");const m=this.checkNumSamples(t,i,h,"steps_per_epoch");let g;null!=m&&(g=R8(0,m)),null==s&&(s=1);const{callbackList:_,history:y}=O7(o,s,r,d,m,h,i,f,c);_.setModel(this),this.history=y,await _.onTrainBegin(),this.stopTraining_=!1;for(let s=d;s{const d=o[u][0],h=o[u][1],p=P8(s,d,h-d);c.batch=u,c.size=h-d;const m=Eee(t,p),g=e(m);for(let e=0;eq6(e))}else{const t=Object.keys(this.loss);e={};const n=this.loss;for(const i of t){if("string"!=typeof n[i])throw new Error("Serialization of non-string loss is not supported.");e[i]=q6(n[i])}}return e}getMetricIdentifiers(){if("string"==typeof this.metrics||"function"==typeof this.metrics)return[q6(eee(this.metrics))];if(Array.isArray(this.metrics))return this.metrics.map(e=>q6(eee(e)));{const e={};for(const t in this.metrics)e[t]=q6(eee(this.metrics[t]));return e}}getTrainingConfig(){return{loss:this.getLossIdentifiers(),metrics:this.getMetricIdentifiers(),optimizer_config:{class_name:this.optimizer.getClassName(),config:this.optimizer.getConfig()}}}loadTrainingConfig(e){if(null!=e.weighted_metrics)throw new Error("Loading weight_metrics is not supported yet.");if(null!=e.loss_weights)throw new Error("Loading loss_weights is not supported yet.");if(null!=e.sample_weight_mode)throw new Error("Loading sample_weight_mode is not supported yet.");const t=M7(uee(e.optimizer_config));let n,i;if("string"==typeof e.loss)n=K6(e.loss);else if(Array.isArray(e.loss))n=e.loss.map(e=>K6(e));else if(null!=e.loss){n={};for(const t in e.loss)n[t]=K6(e.loss[t])}if(Array.isArray(e.metrics))i=e.metrics.map(e=>K6(e));else if(null!=e.metrics){i={};for(const t in e.metrics)i[t]=K6(e.metrics[t])}this.compile({loss:n,metrics:i,optimizer:t})}async save(e,t){if("string"==typeof e){const t=v3.io.getSaveHandlers(e);if(0===t.length)throw new U6(`Cannot find any save handlers for URL '${e}'`);if(t.length>1)throw new U6(`Found more than one (${t.length}) save handlers for URL '${e}'`);e=t[0]}if(null==e.save)throw new U6("LayersModel.save() cannot proceed because the IOHandler provided does not have the `save` attribute defined.");const n=await v3.io.encodeWeights(this.getNamedWeights(t)),i={modelTopology:this.toJSON(null,!1),format:"layers-model",generatedBy:`TensorFlow.js tfjs-layers v${dee}`,convertedBy:null};if(null!=t&&t.includeOptimizer&&null!=this.optimizer){i.trainingConfig=this.getTrainingConfig();const e="optimizer",{data:t,specs:r}=await v3.io.encodeWeights(await this.optimizer.getWeights(),e);n.specs.push(...r),n.data=v3.io.concatenateArrayBuffers([n.data,t])}if(null!=this.userDefinedMetadata){const e=!0;nee(this.userDefinedMetadata,this.name,e),i.userDefinedMetadata=this.userDefinedMetadata}return i.weightData=n.data,i.weightSpecs=n.specs,e.save(i)}setUserDefinedMetadata(e){nee(e,this.name),this.userDefinedMetadata=e}getUserDefinedMetadata(){return this.userDefinedMetadata}}kee.className="Model",v3.serialization.registerClass(kee);class Ree extends kee{} /** * @license * Copyright 2018 Google LLC @@ -11302,7 +11302,7 @@ function(e){const t={Adagrad:()=>p3.train.adagrad(.01),Adadelta:()=>p3.train.ada * https://opensource.org/licenses/MIT. * ============================================================================= */ -async function See(e,t){"modelTopology"in e||(e={modelTopology:e});let n=e.modelTopology;null!=n.model_config&&(n=n.model_config);const i=w7(iee(n),t);if(null!=e.weightsManifest){const t=await p3.io.loadWeights(e.weightsManifest,e.pathPrefix,i.weights.map(e=>e.originalName)),n={};for(const e of i.weights)n[e.originalName]=t[e.originalName];i.loadWeights(n),(0,p3.dispose)(t)}return i}async function Cee(e,t){if(null==t&&(t={}),"string"==typeof e){const n=p3.io.getLoadHandlers(e,t);if(0===n.length)n.push(p3.io.browserHTTPRequest(e,t));else if(n.length>1)throw new D6(`Found more than one (${n.length}) load handlers for URL '${e}'`);e=n[0]}return async function(e,t,n){null==n&&(n={});if(null==e.load)throw new D6("Cannot proceed with model loading because the IOHandler provided does not have the `load` method implemented.");const i=await e.load();let r=i.modelTopology;null!=r.model_config&&(r=r.model_config);const s=null==n.strict||n.strict,o=null!=i.weightData&&null!=i.weightSpecs&&s,a=w7(iee(r),t,o),l=i.trainingConfig;null!=l&&a.loadTrainingConfig(l);null!=i.userDefinedMetadata&&a.setUserDefinedMetadata(i.userDefinedMetadata);if(null!=i.weightData){if(null==i.weightSpecs)throw new D6("LayersModel artifacts contains weight data, but not weight specs. Therefore loading of weights cannot proceed.");const{modelWeights:e,optimizerWeights:t}=function(e,t){const n=p3.io.decodeWeights(e,t),i={},r=[];return t.forEach(e=>{"optimizer"===e.group?r.push({name:e.name,tensor:n[e.name]}):i[e.name]=n[e.name]}),{modelWeights:i,optimizerWeights:r}}(i.weightData,i.weightSpecs);a.loadWeights(e,s),null!=a.optimizer&&t.length>0&&await a.optimizer.setWeights(t),(0,p3.dispose)(e),(0,p3.dispose)(t.map(e=>e.tensor))}return a}(e,void 0,t)}Aee.className="Functional",p3.serialization.registerClass(Aee);class Oee extends Iee{constructor(e){if(super({inputs:[],outputs:[]}),e=e||{},this.trainable=!0,this.built=!1,this.name=null!=e.name?e.name:o8("sequential_"),null!=e.layers)for(const t of e.layers)this.add(t)}checkShape(e){if(e.inboundNodes[0].outputTensors[0].shape.some(e=>e<0))throw new D6(`Negative dimension size caused by adding layer ${e.name} with input shape [${e.inboundNodes[0].inputTensors[0].shape}]`)}add(e){const t=e instanceof Oee||e instanceof Iee;let n;if(t){if(n=e,1!==n.outputs.length)throw new D6("All layers in a Sequential model should have a single output tensor. For multi-output layers, use the functional API.");if(1!==n.inputs.length)throw new D6("All layers in a Sequential model should have a single input tensor. For multi-input layers, use the functional API.")}if(0===this.outputs.length){if(0===e.inboundNodes.length){if(null==e.batchInputShape)throw new D6("The first layer in a Sequential model must get an `inputShape` or `batchInputShape` argument.");const t=M9({batchShape:e.batchInputShape,dtype:e.dtype,name:e.name+"_input"});e.apply(t)}if(t)this.outputs=n.outputs,this.inputs=n.inputs;else{if(1!==e.inboundNodes.length)throw new D6(`A layer added to a Sequential model must not already be connected somewhere else. LayersModel received layer ${e.name} which has ${e.inboundNodes.length} pre-existing inbound connections.`);if(1!==e.inboundNodes[0].outputTensors.length)throw new D6("All layers in a Sequential model should have a single output tensor. For multi-output layers, use the functional API.");this.checkShape(e),this.outputs=[e.inboundNodes[0].outputTensors[0]],this.inputs=C9(this.outputs[0])}this.inboundNodes=[],new I9({outboundLayer:this,inboundLayers:[],nodeIndices:[],tensorIndices:[],inputTensors:this.inputs,outputTensors:this.outputs,inputMasks:B6(null,this.inputs.length),outputMasks:[null],inputShapes:this.inputs.map(e=>e.shape),outputShapes:this.outputs[0].shape})}else{const t=e.apply(this.outputs[0]);if(Array.isArray(t))throw new TypeError("All layers in a Sequential model should have a single output tensor. For multi-output layers, use the functional API.");this.checkShape(e),this.outputs=[t],this.inboundNodes[0].outputTensors=this.outputs,this.inboundNodes[0].outputShapes=[this.outputs[0].shape]}this.layers.push(e),this.built=!1}pop(){if(0===this.layers.length)throw new TypeError("There are no layers in the model.");if(this.layers.pop(),0===this.layers.length)this.outputs=[],this.inboundNodes=[],this.outboundNodes=[];else{const e=this.layers.length-1;this.layers[e].outboundNodes=[],this.outputs=[this.layers[e].output],this.inboundNodes[0].outputTensors=this.outputs,this.inboundNodes[0].outputShapes=[this.outputs[0].shape]}}call(e,t){return null==this.model&&this.build(),this.model.call(e,t)}build(e){if(g9(e),0===this.inputs.length||0===this.outputs.length)throw new TypeError("Sequential model cannot be built: model is empty. Add some layers first.");this.model=new Iee({inputs:this.inputs,outputs:this.outputs[0],name:this.name+"_model"}),this.model.trainable=this.trainable,this.supportsMasking=this.model.supportsMasking,this.inputLayers=this.model.inputLayers,this.inputLayersNodeIndices=this.model.inputLayersNodeIndices,this.inputLayersTensorIndices=this.model.inputLayersTensorIndices,this.outputLayers=this.model.outputLayers,this.outputLayersNodeIndices=this.model.outputLayersNodeIndices,this.outputLayersTensorIndices=this.model.outputLayersTensorIndices,this.nodesByDepth=this.model.nodesByDepth,this.containerNodes=this.model.containerNodes,this.outputNames=this.model.outputNames,this.inputNames=this.model.inputNames,this.built=!0}countParams(){return this.built||this.build(),super.countParams()}summary(e,t,n=console.log){this.built||this.build(),super.summary(e,t,n)}setWeights(e){null==this.model&&this.build(),this.model.setWeights(e)}evaluate(e,t,n={}){if(!this.built)throw new N6("The model needs to be compiled before being used.");return this.model.evaluate(e,t,n)}async evaluateDataset(e,t){if(!this.built)throw new N6("The model needs to be compiled before being used.");return this.model.evaluateDataset(e,t)}predict(e,t={}){return null==this.model&&this.build(),this.model.predict(e,t)}predictOnBatch(e){return null==this.model&&this.build(),this.model.predictOnBatch(e)}compile(e){this.build(),this.model.compile(e),this.optimizer_=this.model.optimizer,this.isOptimizerOwned=this.model.isOptimizerOwned,this.loss=this.model.loss,this.metrics=this.model.metrics,this.metricsTensors=this.model.metricsTensors,this.metricsNames=this.model.metricsNames}get optimizer(){return null==this.model?void 0:this.model.optimizer}set optimizer(e){this.model.optimizer=e}async fit(e,t,n={}){if(!this.built)throw new N6("The model needs to be compiled before being used.");return this.model.fit(e,t,n)}async fitDataset(e,t){if(!this.built)throw new N6("The model needs to be compiled before being used.");return this.model.fitDataset(e,t)}async trainOnBatch(e,t){return this.model.trainOnBatch(e,t)}static fromConfig(e,t,n={},i=!1){let r,s={};if(t instanceof Array){if(null==t[0].className||"Merge"===t[0].className)throw new D6("Legacy serialization format not supported yet.");r=t}else p3.util.assert(null!=t.layers,()=>"When the config data for a Sequential model is not an Array, it must be an Object that contains the 'layers' field."),r=t.layers,delete t.layers,s=t;const o=new e(s);if(!(o instanceof Oee))throw new F6(`Sequential.fromConfig called on non-Sequential input: ${o}`);for(const e of r){const t=w7(e,void 0,i);i&&t.setFastWeightInitDuringBuild(!0),o.add(t)}return o}set stopTraining(e){if(null==this.model)throw new D6("Cannot set the stopTraining property of a sequential model before it is compiled.");this.model.stopTraining=e}get stopTraining(){if(null==this.model)throw new D6("Cannot get the stopTraining property of a sequential model before it is compiled.");return this.model.stopTraining}getConfig(){const e=[];for(const t of this.layers){const n={};n.className=t.getClassName(),n.config=t.getConfig(),e.push(n)}return{name:this.name,layers:e}}} +async function Nee(e,t){"modelTopology"in e||(e={modelTopology:e});let n=e.modelTopology;null!=n.model_config&&(n=n.model_config);const i=M7(uee(n),t);if(null!=e.weightsManifest){const t=await v3.io.loadWeights(e.weightsManifest,e.pathPrefix,i.weights.map(e=>e.originalName)),n={};for(const e of i.weights)n[e.originalName]=t[e.originalName];i.loadWeights(n),(0,v3.dispose)(t)}return i}async function Dee(e,t){if(null==t&&(t={}),"string"==typeof e){const n=v3.io.getLoadHandlers(e,t);if(0===n.length)n.push(v3.io.browserHTTPRequest(e,t));else if(n.length>1)throw new U6(`Found more than one (${n.length}) load handlers for URL '${e}'`);e=n[0]}return async function(e,t,n){null==n&&(n={});if(null==e.load)throw new U6("Cannot proceed with model loading because the IOHandler provided does not have the `load` method implemented.");const i=await e.load();let r=i.modelTopology;null!=r.model_config&&(r=r.model_config);const s=null==n.strict||n.strict,o=null!=i.weightData&&null!=i.weightSpecs&&s,a=M7(uee(r),t,o),l=i.trainingConfig;null!=l&&a.loadTrainingConfig(l);null!=i.userDefinedMetadata&&a.setUserDefinedMetadata(i.userDefinedMetadata);if(null!=i.weightData){if(null==i.weightSpecs)throw new U6("LayersModel artifacts contains weight data, but not weight specs. Therefore loading of weights cannot proceed.");const{modelWeights:e,optimizerWeights:t}=function(e,t){const n=v3.io.decodeWeights(e,t),i={},r=[];return t.forEach(e=>{"optimizer"===e.group?r.push({name:e.name,tensor:n[e.name]}):i[e.name]=n[e.name]}),{modelWeights:i,optimizerWeights:r}}(i.weightData,i.weightSpecs);a.loadWeights(e,s),null!=a.optimizer&&t.length>0&&await a.optimizer.setWeights(t),(0,v3.dispose)(e),(0,v3.dispose)(t.map(e=>e.tensor))}return a}(e,void 0,t)}Ree.className="Functional",v3.serialization.registerClass(Ree);class Fee extends kee{constructor(e){if(super({inputs:[],outputs:[]}),e=e||{},this.trainable=!0,this.built=!1,this.name=null!=e.name?e.name:h8("sequential_"),null!=e.layers)for(const t of e.layers)this.add(t)}checkShape(e){if(e.inboundNodes[0].outputTensors[0].shape.some(e=>e<0))throw new U6(`Negative dimension size caused by adding layer ${e.name} with input shape [${e.inboundNodes[0].inputTensors[0].shape}]`)}add(e){const t=e instanceof Fee||e instanceof kee;let n;if(t){if(n=e,1!==n.outputs.length)throw new U6("All layers in a Sequential model should have a single output tensor. For multi-output layers, use the functional API.");if(1!==n.inputs.length)throw new U6("All layers in a Sequential model should have a single input tensor. For multi-input layers, use the functional API.")}if(0===this.outputs.length){if(0===e.inboundNodes.length){if(null==e.batchInputShape)throw new U6("The first layer in a Sequential model must get an `inputShape` or `batchInputShape` argument.");const t=L9({batchShape:e.batchInputShape,dtype:e.dtype,name:e.name+"_input"});e.apply(t)}if(t)this.outputs=n.outputs,this.inputs=n.inputs;else{if(1!==e.inboundNodes.length)throw new U6(`A layer added to a Sequential model must not already be connected somewhere else. LayersModel received layer ${e.name} which has ${e.inboundNodes.length} pre-existing inbound connections.`);if(1!==e.inboundNodes[0].outputTensors.length)throw new U6("All layers in a Sequential model should have a single output tensor. For multi-output layers, use the functional API.");this.checkShape(e),this.outputs=[e.inboundNodes[0].outputTensors[0]],this.inputs=D9(this.outputs[0])}this.inboundNodes=[],new k9({outboundLayer:this,inboundLayers:[],nodeIndices:[],tensorIndices:[],inputTensors:this.inputs,outputTensors:this.outputs,inputMasks:Y6(null,this.inputs.length),outputMasks:[null],inputShapes:this.inputs.map(e=>e.shape),outputShapes:this.outputs[0].shape})}else{const t=e.apply(this.outputs[0]);if(Array.isArray(t))throw new TypeError("All layers in a Sequential model should have a single output tensor. For multi-output layers, use the functional API.");this.checkShape(e),this.outputs=[t],this.inboundNodes[0].outputTensors=this.outputs,this.inboundNodes[0].outputShapes=[this.outputs[0].shape]}this.layers.push(e),this.built=!1}pop(){if(0===this.layers.length)throw new TypeError("There are no layers in the model.");if(this.layers.pop(),0===this.layers.length)this.outputs=[],this.inboundNodes=[],this.outboundNodes=[];else{const e=this.layers.length-1;this.layers[e].outboundNodes=[],this.outputs=[this.layers[e].output],this.inboundNodes[0].outputTensors=this.outputs,this.inboundNodes[0].outputShapes=[this.outputs[0].shape]}}call(e,t){return null==this.model&&this.build(),this.model.call(e,t)}build(e){if(x9(e),0===this.inputs.length||0===this.outputs.length)throw new TypeError("Sequential model cannot be built: model is empty. Add some layers first.");this.model=new kee({inputs:this.inputs,outputs:this.outputs[0],name:this.name+"_model"}),this.model.trainable=this.trainable,this.supportsMasking=this.model.supportsMasking,this.inputLayers=this.model.inputLayers,this.inputLayersNodeIndices=this.model.inputLayersNodeIndices,this.inputLayersTensorIndices=this.model.inputLayersTensorIndices,this.outputLayers=this.model.outputLayers,this.outputLayersNodeIndices=this.model.outputLayersNodeIndices,this.outputLayersTensorIndices=this.model.outputLayersTensorIndices,this.nodesByDepth=this.model.nodesByDepth,this.containerNodes=this.model.containerNodes,this.outputNames=this.model.outputNames,this.inputNames=this.model.inputNames,this.built=!0}countParams(){return this.built||this.build(),super.countParams()}summary(e,t,n=console.log){this.built||this.build(),super.summary(e,t,n)}setWeights(e){null==this.model&&this.build(),this.model.setWeights(e)}evaluate(e,t,n={}){if(!this.built)throw new $6("The model needs to be compiled before being used.");return this.model.evaluate(e,t,n)}async evaluateDataset(e,t){if(!this.built)throw new $6("The model needs to be compiled before being used.");return this.model.evaluateDataset(e,t)}predict(e,t={}){return null==this.model&&this.build(),this.model.predict(e,t)}predictOnBatch(e){return null==this.model&&this.build(),this.model.predictOnBatch(e)}compile(e){this.build(),this.model.compile(e),this.optimizer_=this.model.optimizer,this.isOptimizerOwned=this.model.isOptimizerOwned,this.loss=this.model.loss,this.metrics=this.model.metrics,this.metricsTensors=this.model.metricsTensors,this.metricsNames=this.model.metricsNames}get optimizer(){return null==this.model?void 0:this.model.optimizer}set optimizer(e){this.model.optimizer=e}async fit(e,t,n={}){if(!this.built)throw new $6("The model needs to be compiled before being used.");return this.model.fit(e,t,n)}async fitDataset(e,t){if(!this.built)throw new $6("The model needs to be compiled before being used.");return this.model.fitDataset(e,t)}async trainOnBatch(e,t){return this.model.trainOnBatch(e,t)}static fromConfig(e,t,n={},i=!1){let r,s={};if(t instanceof Array){if(null==t[0].className||"Merge"===t[0].className)throw new U6("Legacy serialization format not supported yet.");r=t}else v3.util.assert(null!=t.layers,()=>"When the config data for a Sequential model is not an Array, it must be an Object that contains the 'layers' field."),r=t.layers,delete t.layers,s=t;const o=new e(s);if(!(o instanceof Fee))throw new V6(`Sequential.fromConfig called on non-Sequential input: ${o}`);for(const e of r){const t=M7(e,void 0,i);i&&t.setFastWeightInitDuringBuild(!0),o.add(t)}return o}set stopTraining(e){if(null==this.model)throw new U6("Cannot set the stopTraining property of a sequential model before it is compiled.");this.model.stopTraining=e}get stopTraining(){if(null==this.model)throw new U6("Cannot get the stopTraining property of a sequential model before it is compiled.");return this.model.stopTraining}getConfig(){const e=[];for(const t of this.layers){const n={};n.className=t.getClassName(),n.config=t.getConfig(),e.push(n)}return{name:this.name,layers:e}}} /** * @license * Copyright 2018 Google LLC @@ -11312,7 +11312,7 @@ async function See(e,t){"modelTopology"in e||(e={modelTopology:e});let n=e.model * https://opensource.org/licenses/MIT. * ============================================================================= */ -function Mee(e){return new Iee(e)}function kee(e){return new Oee(e)}function Ree(e){return M9(e)}function Nee(e,t){x7.registerCallbackConstructor(e,t)}Oee.className="Sequential",p3.serialization.registerClass(Oee); +function Lee(e){return new kee(e)}function Pee(e){return new Fee(e)}function Bee(e){return L9(e)}function $ee(e,t){C7.registerCallbackConstructor(e,t)}Fee.className="Sequential",v3.serialization.registerClass(Fee); /** * @license * Copyright 2018 Google LLC @@ -11322,7 +11322,7 @@ function Mee(e){return new Iee(e)}function kee(e){return new Oee(e)}function Ree * https://opensource.org/licenses/MIT. * ============================================================================= */ -class Dee extends p3.serialization.Serializable{getConfig(){return{}}}class Fee extends Dee{apply(e,t=1){return function(e,t=1){if(1!==t)throw new F6(`Support for alpha values other than 1 (${t}) is not implemented yet.`);return p3.elu(e)}(e,t)}}Fee.className="elu",p3.serialization.registerClass(Fee);class Lee extends Dee{apply(e){return p3.selu(e)}}Lee.className="selu",p3.serialization.registerClass(Lee);class Pee extends Dee{apply(e){return p3.relu(e)}}Pee.className="relu",p3.serialization.registerClass(Pee);class Bee extends Dee{apply(e){return(0,p3.tidy)(()=>p3.minimum(6,p3.relu(e)))}}Bee.className="relu6",p3.serialization.registerClass(Bee);class $ee extends Dee{apply(e){return e}}$ee.className="linear",p3.serialization.registerClass($ee);class Uee extends Dee{apply(e){return p3.sigmoid(e)}}Uee.className="sigmoid",p3.serialization.registerClass(Uee);class Vee extends Dee{apply(e){return function(e){return(0,p3.tidy)(()=>{const t=p3.add(.5,p3.mul(.2,e));return p3.clipByValue(t,0,1)})}(e)}}Vee.className="hardSigmoid",p3.serialization.registerClass(Vee);class zee extends Dee{apply(e){return p3.softplus(e)}}zee.className="softplus",p3.serialization.registerClass(zee);class jee extends Dee{apply(e){return function(e){return(0,p3.tidy)(()=>p3.div(e,p3.add(p3.abs(e),1)))}(e)}}jee.className="softsign",p3.serialization.registerClass(jee);class Yee extends Dee{apply(e){return p3.tanh(e)}}Yee.className="tanh",p3.serialization.registerClass(Yee);class Gee extends Dee{apply(e,t=-1){return p3.softmax(e,t)}}Gee.className="softmax",p3.serialization.registerClass(Gee);class Hee extends Dee{apply(e,t=-1){return p3.logSoftmax(e,t)}}Hee.className="logSoftmax",p3.serialization.registerClass(Hee);class Wee extends Dee{apply(e){return(0,p3.tidy)(()=>p3.tidy(()=>{const t=Math.sqrt(2),n=p3.mul(.5,p3.add(1,p3.erf(p3.div(e,t))));return p3.mul(e,n)}))}}Wee.className="gelu",p3.serialization.registerClass(Wee);class Xee extends Dee{apply(e){return(0,p3.tidy)(()=>p3.mul(.5,p3.mul(e,p3.add(1,p3.tanh(p3.mul(p3.sqrt(p3.div(2,Math.PI)),p3.add(e,p3.mul(.044715,p3.pow(e,3)))))))))}}Xee.className="gelu_new",p3.serialization.registerClass(Xee);class qee extends Dee{apply(e){return(0,p3.tidy)(()=>p3.mul(e,p3.tanh(p3.softplus(e))))}}qee.className="mish",p3.serialization.registerClass(qee);class Kee extends Dee{apply(e,t=1){return(0,p3.tidy)(()=>p3.mul(p3.sigmoid(p3.mul(e,t)),e))}}function Zee(e){return e.getClassName()}function Qee(e,t={}){return X6(e,p3.serialization.SerializationMap.getMap().classNameMap,t,"activation")}function Jee(e){if(null==e){const e={className:"linear",config:{}};return Qee(e)}if("string"==typeof e){const t={};return t.className=e,t.config={},Qee(t)}return e instanceof Dee?e:Qee(e)} +class Uee extends v3.serialization.Serializable{getConfig(){return{}}}class Vee extends Uee{apply(e,t=1){return function(e,t=1){if(1!==t)throw new V6(`Support for alpha values other than 1 (${t}) is not implemented yet.`);return v3.elu(e)}(e,t)}}Vee.className="elu",v3.serialization.registerClass(Vee);class zee extends Uee{apply(e){return v3.selu(e)}}zee.className="selu",v3.serialization.registerClass(zee);class jee extends Uee{apply(e){return v3.relu(e)}}jee.className="relu",v3.serialization.registerClass(jee);class Yee extends Uee{apply(e){return(0,v3.tidy)(()=>v3.minimum(6,v3.relu(e)))}}Yee.className="relu6",v3.serialization.registerClass(Yee);class Gee extends Uee{apply(e){return e}}Gee.className="linear",v3.serialization.registerClass(Gee);class Hee extends Uee{apply(e){return v3.sigmoid(e)}}Hee.className="sigmoid",v3.serialization.registerClass(Hee);class Wee extends Uee{apply(e){return function(e){return(0,v3.tidy)(()=>{const t=v3.add(.5,v3.mul(.2,e));return v3.clipByValue(t,0,1)})}(e)}}Wee.className="hardSigmoid",v3.serialization.registerClass(Wee);class Xee extends Uee{apply(e){return v3.softplus(e)}}Xee.className="softplus",v3.serialization.registerClass(Xee);class qee extends Uee{apply(e){return function(e){return(0,v3.tidy)(()=>v3.div(e,v3.add(v3.abs(e),1)))}(e)}}qee.className="softsign",v3.serialization.registerClass(qee);class Kee extends Uee{apply(e){return v3.tanh(e)}}Kee.className="tanh",v3.serialization.registerClass(Kee);class Zee extends Uee{apply(e,t=-1){return v3.softmax(e,t)}}Zee.className="softmax",v3.serialization.registerClass(Zee);class Qee extends Uee{apply(e,t=-1){return v3.logSoftmax(e,t)}}Qee.className="logSoftmax",v3.serialization.registerClass(Qee);class Jee extends Uee{apply(e){return(0,v3.tidy)(()=>v3.tidy(()=>{const t=Math.sqrt(2),n=v3.mul(.5,v3.add(1,v3.erf(v3.div(e,t))));return v3.mul(e,n)}))}}Jee.className="gelu",v3.serialization.registerClass(Jee);class ete extends Uee{apply(e){return(0,v3.tidy)(()=>v3.mul(.5,v3.mul(e,v3.add(1,v3.tanh(v3.mul(v3.sqrt(v3.div(2,Math.PI)),v3.add(e,v3.mul(.044715,v3.pow(e,3)))))))))}}ete.className="gelu_new",v3.serialization.registerClass(ete);class tte extends Uee{apply(e){return(0,v3.tidy)(()=>v3.mul(e,v3.tanh(v3.softplus(e))))}}tte.className="mish",v3.serialization.registerClass(tte);class nte extends Uee{apply(e,t=1){return(0,v3.tidy)(()=>v3.mul(v3.sigmoid(v3.mul(e,t)),e))}}function ite(e){return e.getClassName()}function rte(e,t={}){return e8(e,v3.serialization.SerializationMap.getMap().classNameMap,t,"activation")}function ste(e){if(null==e){const e={className:"linear",config:{}};return rte(e)}if("string"==typeof e){const t={};return t.className=e,t.config={},rte(t)}return e instanceof Uee?e:rte(e)} /** * @license * Copyright 2018 Google LLC @@ -11332,7 +11332,7 @@ class Dee extends p3.serialization.Serializable{getConfig(){return{}}}class Fee * https://opensource.org/licenses/MIT. * ============================================================================= */ -function ete(e){if(null!=e&&"object"!=typeof e)throw new Error(`Argument to L1L2 regularizer's constructor is expected to be an object, but received: ${e}`)}Kee.className="swish",p3.serialization.registerClass(Kee);class tte extends p3.serialization.Serializable{}class nte extends tte{constructor(e){super(),ete(e),this.l1=null==e||null==e.l1?.01:e.l1,this.l2=null==e||null==e.l2?.01:e.l2,this.hasL1=0!==this.l1,this.hasL2=0!==this.l2}apply(e){return(0,p3.tidy)(()=>{let t=(0,p3.zeros)([1]);return this.hasL1&&(t=(0,p3.add)(t,(0,p3.sum)(p3.mul(this.l1,(0,p3.abs)(e))))),this.hasL2&&(t=(0,p3.add)(t,(0,p3.sum)(p3.mul(this.l2,U8(e))))),p3.reshape(t,[])})}getConfig(){return{l1:this.l1,l2:this.l2}}static fromConfig(e,t){return new e({l1:t.l1,l2:t.l2})}}nte.className="L1L2",p3.serialization.registerClass(nte);const ite={l1l2:"L1L2"};function rte(e){return H6(e)}function ste(e,t={}){return X6(e,p3.serialization.SerializationMap.getMap().classNameMap,t,"regularizer")}function ote(e){if(null==e)return null;if("string"==typeof e){return ste({className:e in ite?ite[e]:e,config:{}})}return e instanceof tte?e:ste(e)} +function ote(e){if(null!=e&&"object"!=typeof e)throw new Error(`Argument to L1L2 regularizer's constructor is expected to be an object, but received: ${e}`)}nte.className="swish",v3.serialization.registerClass(nte);class ate extends v3.serialization.Serializable{}class lte extends ate{constructor(e){super(),ote(e),this.l1=null==e||null==e.l1?.01:e.l1,this.l2=null==e||null==e.l2?.01:e.l2,this.hasL1=0!==this.l1,this.hasL2=0!==this.l2}apply(e){return(0,v3.tidy)(()=>{let t=(0,v3.zeros)([1]);return this.hasL1&&(t=(0,v3.add)(t,(0,v3.sum)(v3.mul(this.l1,(0,v3.abs)(e))))),this.hasL2&&(t=(0,v3.add)(t,(0,v3.sum)(v3.mul(this.l2,H8(e))))),v3.reshape(t,[])})}getConfig(){return{l1:this.l1,l2:this.l2}}static fromConfig(e,t){return new e({l1:t.l1,l2:t.l2})}}lte.className="L1L2",v3.serialization.registerClass(lte);const ute={l1l2:"L1L2"};function cte(e){return Q6(e)}function dte(e,t={}){return e8(e,v3.serialization.SerializationMap.getMap().classNameMap,t,"regularizer")}function hte(e){if(null==e)return null;if("string"==typeof e){return dte({className:e in ute?ute[e]:e,config:{}})}return e instanceof ate?e:dte(e)} /** * @license * Copyright 2018 Google LLC @@ -11342,7 +11342,7 @@ function ete(e){if(null!=e&&"object"!=typeof e)throw new Error(`Argument to L1L2 * https://opensource.org/licenses/MIT. * ============================================================================= */ -class ate extends S9{constructor(e){super(null==e?{}:e),this.supportsMasking=!0,null!=e&&(this.maxValue=e.maxValue)}call(e,t){e=m9(e);let n=(0,p3.relu)(e);return null!=this.maxValue&&(n=(0,p3.clipByValue)(n,0,this.maxValue)),n}computeOutputShape(e){return e}getConfig(){const e={maxValue:this.maxValue},t=super.getConfig();return Object.assign(e,t),e}}ate.className="ReLU",p3.serialization.registerClass(ate);class lte extends S9{constructor(e){super(null==e?{}:e),this.DEFAULT_ALPHA=.3,null==e&&(e={}),this.alpha=null==e.alpha?this.DEFAULT_ALPHA:e.alpha}call(e,t){const n=m9(e);return(0,p3.leakyRelu)(n,this.alpha)}computeOutputShape(e){return e}getConfig(){const e={alpha:this.alpha},t=super.getConfig();return Object.assign(e,t),e}}lte.className="LeakyReLU",p3.serialization.registerClass(lte);class ute extends S9{constructor(e){if(super(null==e?{}:e),this.DEFAULT_ALPHA_INITIALIZER="zeros",null==e&&(e={}),this.supportsMasking=!0,this.alphaInitializer=h9(e.alphaInitializer||this.DEFAULT_ALPHA_INITIALIZER),this.alphaRegularizer=ote(e.alphaRegularizer),this.alphaConstraint=W9(e.alphaConstraint),null==e.sharedAxes)this.sharedAxes=null;else if(Array.isArray(e.sharedAxes))this.sharedAxes=e.sharedAxes;else{if("number"!=typeof e.sharedAxes)throw new D6(`Expected sharedAxes to be a number or an array of numbers, but got ${e.sharedAxes}`);this.sharedAxes=[e.sharedAxes]}}build(e){const t=(e=g9(e)).slice(1);if(null!=this.sharedAxes)for(const e of this.sharedAxes)t[e-1]=1;this.alpha=this.addWeight("alpha",t,"float32",this.alphaInitializer,this.alphaRegularizer,!0,this.alphaConstraint);const n={};if(null!=this.sharedAxes)for(let t=1;t{let n=m9(e);const i=t.mask;if(null!=i){const e=(0,p3.mul)((0,p3.sub)((0,p3.ones)(n.shape),(0,p3.cast)(i,n.dtype)),(0,p3.scalar)(-1e9));n=(0,p3.add)(n,e)}return this.axis instanceof Array?this.axis.length>1?(0,p3.exp)((0,p3.sub)(n,(0,p3.logSumExp)(n,this.axis,!0))):this.softmax(n,this.axis[0]):this.softmax(n,this.axis)})}computeOutputShape(e){return e}getConfig(){const e={axis:this.axis},t=super.getConfig();return Object.assign(e,t),e}} +class pte extends N9{constructor(e){super(null==e?{}:e),this.supportsMasking=!0,null!=e&&(this.maxValue=e.maxValue)}call(e,t){e=T9(e);let n=(0,v3.relu)(e);return null!=this.maxValue&&(n=(0,v3.clipByValue)(n,0,this.maxValue)),n}computeOutputShape(e){return e}getConfig(){const e={maxValue:this.maxValue},t=super.getConfig();return Object.assign(e,t),e}}pte.className="ReLU",v3.serialization.registerClass(pte);class fte extends N9{constructor(e){super(null==e?{}:e),this.DEFAULT_ALPHA=.3,null==e&&(e={}),this.alpha=null==e.alpha?this.DEFAULT_ALPHA:e.alpha}call(e,t){const n=T9(e);return(0,v3.leakyRelu)(n,this.alpha)}computeOutputShape(e){return e}getConfig(){const e={alpha:this.alpha},t=super.getConfig();return Object.assign(e,t),e}}fte.className="LeakyReLU",v3.serialization.registerClass(fte);class mte extends N9{constructor(e){if(super(null==e?{}:e),this.DEFAULT_ALPHA_INITIALIZER="zeros",null==e&&(e={}),this.supportsMasking=!0,this.alphaInitializer=y9(e.alphaInitializer||this.DEFAULT_ALPHA_INITIALIZER),this.alphaRegularizer=hte(e.alphaRegularizer),this.alphaConstraint=J9(e.alphaConstraint),null==e.sharedAxes)this.sharedAxes=null;else if(Array.isArray(e.sharedAxes))this.sharedAxes=e.sharedAxes;else{if("number"!=typeof e.sharedAxes)throw new U6(`Expected sharedAxes to be a number or an array of numbers, but got ${e.sharedAxes}`);this.sharedAxes=[e.sharedAxes]}}build(e){const t=(e=x9(e)).slice(1);if(null!=this.sharedAxes)for(const e of this.sharedAxes)t[e-1]=1;this.alpha=this.addWeight("alpha",t,"float32",this.alphaInitializer,this.alphaRegularizer,!0,this.alphaConstraint);const n={};if(null!=this.sharedAxes)for(let t=1;t{let n=T9(e);const i=t.mask;if(null!=i){const e=(0,v3.mul)((0,v3.sub)((0,v3.ones)(n.shape),(0,v3.cast)(i,n.dtype)),(0,v3.scalar)(-1e9));n=(0,v3.add)(n,e)}return this.axis instanceof Array?this.axis.length>1?(0,v3.exp)((0,v3.sub)(n,(0,v3.logSumExp)(n,this.axis,!0))):this.softmax(n,this.axis[0]):this.softmax(n,this.axis)})}computeOutputShape(e){return e}getConfig(){const e={axis:this.axis},t=super.getConfig();return Object.assign(e,t),e}} /** * @license * Copyright 2018 Google LLC @@ -11352,7 +11352,7 @@ class ate extends S9{constructor(e){super(null==e?{}:e),this.supportsMasking=!0, * https://opensource.org/licenses/MIT. * ============================================================================= */ -function pte(e,t,n){if("number"==typeof e)return B6(e,t);if(e.length!==t)throw new D6(`The ${n} argument must be an integer or tuple of ${t} integers. Received: ${e.length} elements.`);for(let i=0;i(p8(t),"channelsFirst"===t?p3.transpose(e,[0,2,3,1]):e))}function _te(e,t){return(0,p3.tidy)(()=>(p8(t),"channelsFirst"===t?p3.transpose(e,[0,2,3,4,1]):e))}function yte(e,t,n,i=1,r="valid",s,o=1){return(0,p3.tidy)(()=>{if(null==s&&(s="channelsLast"),p8(s),3!==e.shape.length)throw new D6(`The input of a conv1dWithBias operation should be 3, but is ${e.shape.length} instead.`);if(3!==t.shape.length)throw new D6(`The kernel for a conv1dWithBias operation should be 3, but is ${t.shape.length} instead`);if(null!=n&&1!==n.shape.length)throw new D6(`The bias for a conv1dWithBias operation should be 1, but is ${n.shape.length} instead`);if("channelsFirst"===s&&(e=p3.transpose(e,[0,2,1])),"causal"===r)throw new F6("The support for CAUSAL padding mode in conv1dWithBias is not implemented yet.");let a=p3.conv1d(e,t,i,"same"===r?"same":"valid","NWC",o);return null!=n&&(a=z8(a,n)),a})}function vte(e,t,n,i=[1,1],r="valid",s,o,a=null){return(0,p3.tidy)(()=>{if(null==s&&(s="channelsLast"),p8(s),3!==e.rank&&4!==e.rank)throw new D6(`conv2dWithBiasActivation expects input to be of rank 3 or 4, but received ${e.rank}.`);if(3!==t.rank&&4!==t.rank)throw new D6(`conv2dWithBiasActivation expects kernel to be of rank 3 or 4, but received ${e.rank}.`);let l=gte(e,s);if("causal"===r)throw new F6("The support for CAUSAL padding mode in conv1dWithBias is not implemented yet.");return l=p3.fused.conv2d({x:l,filter:t,strides:i,pad:"same"===r?"same":"valid",dilations:o,dataFormat:"NHWC",bias:n,activation:a}),"channelsFirst"===s&&(l=p3.transpose(l,[0,3,1,2])),l})}function bte(e,t,n,i=[1,1,1],r="valid",s,o){return(0,p3.tidy)(()=>{if(null==s&&(s="channelsLast"),p8(s),4!==e.rank&&5!==e.rank)throw new D6(`conv3dWithBias expects input to be of rank 4 or 5, but received ${e.rank}.`);if(4!==t.rank&&5!==t.rank)throw new D6(`conv3dWithBias expects kernel to be of rank 4 or 5, but received ${e.rank}.`);let a=_te(e,s);if("causal"===r)throw new F6("The support for CAUSAL padding mode in conv3dWithBias is not implemented yet.");return a=p3.conv3d(a,t,i,"same"===r?"same":"valid","NDHWC",o),null!=n&&(a=z8(a,n)),"channelsFirst"===s&&(a=p3.transpose(a,[0,4,1,2,3])),a})}hte.className="Softmax",p3.serialization.registerClass(hte);class Tte extends S9{constructor(e,t){if(super(t),this.bias=null,this.DEFAULT_KERNEL_INITIALIZER="glorotNormal",this.DEFAULT_BIAS_INITIALIZER="zeros",Tte.verifyArgs(t),this.rank=e,e8(this.rank,"rank"),1!==this.rank&&2!==this.rank&&3!==this.rank)throw new F6(`Convolution layer for rank other than 1, 2, or 3 (${this.rank}) is not implemented yet.`);if(this.kernelSize=pte(t.kernelSize,e,"kernelSize"),this.strides=pte(null==t.strides?1:t.strides,e,"strides"),this.padding=null==t.padding?"valid":t.padding,f8(this.padding),this.dataFormat=null==t.dataFormat?"channelsLast":t.dataFormat,p8(this.dataFormat),this.activation=Jee(t.activation),this.useBias=null==t.useBias||t.useBias,this.biasInitializer=h9(t.biasInitializer||this.DEFAULT_BIAS_INITIALIZER),this.biasConstraint=W9(t.biasConstraint),this.biasRegularizer=ote(t.biasRegularizer),this.activityRegularizer=ote(t.activityRegularizer),this.dilationRate=pte(null==t.dilationRate?1:t.dilationRate,e,"dilationRate"),1===this.rank&&Array.isArray(this.dilationRate)&&1!==this.dilationRate.length)throw new D6(`dilationRate must be a number or an array of a single number for 1D convolution, but received ${JSON.stringify(this.dilationRate)}`);if(2===this.rank){if("number"==typeof this.dilationRate)this.dilationRate=[this.dilationRate,this.dilationRate];else if(2!==this.dilationRate.length)throw new D6(`dilationRate must be a number or array of two numbers for 2D convolution, but received ${JSON.stringify(this.dilationRate)}`)}else if(3===this.rank)if("number"==typeof this.dilationRate)this.dilationRate=[this.dilationRate,this.dilationRate,this.dilationRate];else if(3!==this.dilationRate.length)throw new D6(`dilationRate must be a number or array of three numbers for 3D convolution, but received ${JSON.stringify(this.dilationRate)}`)}static verifyArgs(e){if($6("kernelSize"in e,"required key 'kernelSize' not in config"),"number"!=typeof e.kernelSize&&!J6(e.kernelSize,"number",1,3))throw new D6(`BaseConv expects config.kernelSize to be number or number[] with length 1, 2, or 3, but received ${JSON.stringify(e.kernelSize)}.`)}getConfig(){const e={kernelSize:this.kernelSize,strides:this.strides,padding:this.padding,dataFormat:this.dataFormat,dilationRate:this.dilationRate,activation:Zee(this.activation),useBias:this.useBias,biasInitializer:d9(this.biasInitializer),biasRegularizer:rte(this.biasRegularizer),activityRegularizer:rte(this.activityRegularizer),biasConstraint:G9(this.biasConstraint)},t=super.getConfig();return Object.assign(e,t),e}}class xte extends Tte{constructor(e,t){super(e,t),this.kernel=null,xte.verifyArgs(t),this.filters=t.filters,e8(this.filters,"filters"),this.kernelInitializer=h9(t.kernelInitializer||this.DEFAULT_KERNEL_INITIALIZER),this.kernelConstraint=W9(t.kernelConstraint),this.kernelRegularizer=ote(t.kernelRegularizer)}build(e){e=g9(e);const t="channelsFirst"===this.dataFormat?1:e.length-1;if(null==e[t])throw new D6(`The channel dimension of the input should be defined. Found ${e[t]}`);const n=e[t],i=this.kernelSize.concat([n,this.filters]);this.kernel=this.addWeight("kernel",i,null,this.kernelInitializer,this.kernelRegularizer,!0,this.kernelConstraint),this.useBias&&(this.bias=this.addWeight("bias",[this.filters],null,this.biasInitializer,this.biasRegularizer,!0,this.biasConstraint)),this.inputSpec=[{ndim:this.rank+2,axes:{[t]:n}}],this.built=!0}call(e,t){return(0,p3.tidy)(()=>{let t;e=m9(e);const n=null==this.bias?null:this.bias.read(),i=n8(this.activation.getClassName());if(null!=i&&2===this.rank)t=vte(e,this.kernel.read(),n,this.strides,this.padding,this.dataFormat,this.dilationRate,i);else{if(1===this.rank)t=yte(e,this.kernel.read(),n,this.strides[0],this.padding,this.dataFormat,this.dilationRate[0]);else if(2===this.rank)t=vte(e,this.kernel.read(),n,this.strides,this.padding,this.dataFormat,this.dilationRate);else{if(3!==this.rank)throw new F6("convolutions greater than 3D are not implemented yet.");t=bte(e,this.kernel.read(),n,this.strides,this.padding,this.dataFormat,this.dilationRate)}null!=this.activation&&(t=this.activation.apply(t))}return t})}computeOutputShape(e){e=g9(e);const t=[],n="channelsLast"===this.dataFormat?e.slice(1,e.length-1):e.slice(2);for(let e=0;e 0 but got ${JSON.stringify(e.filters)}`)}}class Ete extends xte{constructor(e){super(2,e),Ete.verifyArgs(e)}getConfig(){const e=super.getConfig();return delete e.rank,e}static verifyArgs(e){if("number"!=typeof e.kernelSize&&!J6(e.kernelSize,"number",1,2))throw new D6(`Conv2D expects config.kernelSize to be number or number[] with length 1 or 2, but received ${JSON.stringify(e.kernelSize)}.`)}}Ete.className="Conv2D",p3.serialization.registerClass(Ete);class wte extends xte{constructor(e){super(3,e),wte.verifyArgs(e)}getConfig(){const e=super.getConfig();return delete e.rank,e}static verifyArgs(e){if("number"!=typeof e.kernelSize&&(!Array.isArray(e.kernelSize)||1!==e.kernelSize.length&&3!==e.kernelSize.length))throw new D6(`Conv3D expects config.kernelSize to be number or [number, number, number], but received ${JSON.stringify(e.kernelSize)}.`)}}wte.className="Conv3D",p3.serialization.registerClass(wte);class Ite extends Ete{constructor(e){if(super(e),this.inputSpec=[new x9({ndim:4})],"same"!==this.padding&&"valid"!==this.padding)throw new D6(`Conv2DTranspose currently supports only padding modes 'same' and 'valid', but received padding mode ${this.padding}`)}build(e){if(4!==(e=g9(e)).length)throw new D6("Input should have rank 4; Received input shape: "+JSON.stringify(e));const t="channelsFirst"===this.dataFormat?1:e.length-1;if(null==e[t])throw new D6("The channel dimension of the inputs should be defined. Found `None`.");const n=e[t],i=this.kernelSize.concat([this.filters,n]);this.kernel=this.addWeight("kernel",i,"float32",this.kernelInitializer,this.kernelRegularizer,!0,this.kernelConstraint),this.useBias&&(this.bias=this.addWeight("bias",[this.filters],"float32",this.biasInitializer,this.biasRegularizer,!0,this.biasConstraint)),this.inputSpec=[new x9({ndim:4,axes:{[t]:n}})],this.built=!0}call(e,t){return p3.tidy(()=>{let t=m9(e);if(4!==t.shape.length)throw new D6(`Conv2DTranspose.call() expects input tensor to be rank-4, but received a tensor of rank-${t.shape.length}`);const n=t.shape,i=n[0];let r,s;"channelsFirst"===this.dataFormat?(r=2,s=3):(r=1,s=2);const o=n[r],a=n[s],l=this.kernelSize[0],u=this.kernelSize[1],c=this.strides[0],d=this.strides[1],h=[i,mte(o,c,l,this.padding),mte(a,d,u,this.padding),this.filters];"channelsLast"!==this.dataFormat&&(t=p3.transpose(t,[0,2,3,1]));let p=p3.conv2dTranspose(t,this.kernel.read(),h,this.strides,this.padding);return"channelsLast"!==this.dataFormat&&(p=p3.transpose(p,[0,3,1,2])),null!=this.bias&&(p=z8(p,this.bias.read(),this.dataFormat)),null!=this.activation&&(p=this.activation.apply(p)),p})}computeOutputShape(e){const t=(e=g9(e)).slice();let n,i,r;"channelsFirst"===this.dataFormat?(n=1,i=2,r=3):(n=3,i=1,r=2);const s=this.kernelSize[0],o=this.kernelSize[1],a=this.strides[0],l=this.strides[1];return t[n]=this.filters,t[i]=mte(t[i],a,s,this.padding),t[r]=mte(t[r],l,o,this.padding),t}getConfig(){const e=super.getConfig();return delete e.dilationRate,e}}Ite.className="Conv2DTranspose",p3.serialization.registerClass(Ite);class Ate extends wte{constructor(e){if(super(e),this.inputSpec=[new x9({ndim:5})],"same"!==this.padding&&"valid"!==this.padding)throw new D6(`Conv3DTranspose currently supports only padding modes 'same' and 'valid', but received padding mode ${this.padding}`)}build(e){if(5!==(e=g9(e)).length)throw new D6("Input should have rank 5; Received input shape: "+JSON.stringify(e));const t="channelsFirst"===this.dataFormat?1:e.length-1;if(null==e[t])throw new D6("The channel dimension of the inputs should be defined. Found `None`.");const n=e[t],i=this.kernelSize.concat([this.filters,n]);this.kernel=this.addWeight("kernel",i,"float32",this.kernelInitializer,this.kernelRegularizer,!0,this.kernelConstraint),this.useBias&&(this.bias=this.addWeight("bias",[this.filters],"float32",this.biasInitializer,this.biasRegularizer,!0,this.biasConstraint)),this.inputSpec=[new x9({ndim:5,axes:{[t]:n}})],this.built=!0}call(e,t){return p3.tidy(()=>{let t=m9(e);if(5!==t.shape.length)throw new D6(`Conv3DTranspose.call() expects input tensor to be rank-4, but received a tensor of rank-${t.shape.length}`);const n=t.shape,i=n[0];let r,s,o;"channelsFirst"===this.dataFormat?(o=2,r=3,s=4):(o=1,r=2,s=3);const a=n[o],l=n[r],u=n[s],c=this.kernelSize[0],d=this.kernelSize[1],h=this.kernelSize[2],p=this.strides[0],f=this.strides[1],m=this.strides[2],g=[i,mte(a,p,c,this.padding),mte(l,f,d,this.padding),mte(u,m,h,this.padding),this.filters];"channelsLast"!==this.dataFormat&&(t=p3.transpose(t,[0,2,3,4,1]));let _=p3.conv3dTranspose(t,this.kernel.read(),g,this.strides,this.padding);return"channelsLast"!==this.dataFormat&&(_=p3.transpose(_,[0,4,1,2,3])),null!==this.bias&&(_=z8(_,this.bias.read(),this.dataFormat)),null!==this.activation&&(_=this.activation.apply(_)),_})}computeOutputShape(e){const t=(e=g9(e)).slice();let n,i,r,s;"channelsFirst"===this.dataFormat?(n=1,i=2,r=3,s=4):(n=4,i=1,r=2,s=3);const o=this.kernelSize[0],a=this.kernelSize[1],l=this.kernelSize[2],u=this.strides[0],c=this.strides[1],d=this.strides[2];return t[n]=this.filters,t[i]=mte(t[i],u,o,this.padding),t[r]=mte(t[r],c,a,this.padding),t[s]=mte(t[s],d,l,this.padding),t}getConfig(){const e=super.getConfig();return delete e.dilationRate,e}}Ate.className="Conv3DTranspose",p3.serialization.registerClass(Ate);class Ste extends xte{constructor(e,t){if(super(e,t),this.DEFAULT_DEPTHWISE_INITIALIZER="glorotUniform",this.DEFAULT_POINTWISE_INITIALIZER="glorotUniform",this.depthwiseKernel=null,this.pointwiseKernel=null,null==t.filters)throw new D6("The `filters` configuration field is required by SeparableConv, but is unspecified.");if(null!=t.kernelInitializer||null!=t.kernelRegularizer||null!=t.kernelConstraint)throw new D6("Fields kernelInitializer, kernelRegularizer and kernelConstraint are invalid for SeparableConv2D. Use depthwiseInitializer, depthwiseRegularizer, depthwiseConstraint, pointwiseInitializer, pointwiseRegularizer and pointwiseConstraint instead.");if(null!=t.padding&&"same"!==t.padding&&"valid"!==t.padding)throw new D6(`SeparableConv${this.rank}D supports only padding modes: 'same' and 'valid', but received ${JSON.stringify(t.padding)}`);this.depthMultiplier=null==t.depthMultiplier?1:t.depthMultiplier,this.depthwiseInitializer=h9(t.depthwiseInitializer||this.DEFAULT_DEPTHWISE_INITIALIZER),this.depthwiseRegularizer=ote(t.depthwiseRegularizer),this.depthwiseConstraint=W9(t.depthwiseConstraint),this.pointwiseInitializer=h9(t.depthwiseInitializer||this.DEFAULT_POINTWISE_INITIALIZER),this.pointwiseRegularizer=ote(t.pointwiseRegularizer),this.pointwiseConstraint=W9(t.pointwiseConstraint)}build(e){if((e=g9(e)).length{let t;if(e=m9(e),1===this.rank)throw new F6("1D separable convolution is not implemented yet.");return 2===this.rank&&("channelsFirst"===this.dataFormat&&(e=p3.transpose(e,[0,2,3,1])),t=p3.separableConv2d(e,this.depthwiseKernel.read(),this.pointwiseKernel.read(),this.strides,this.padding,this.dilationRate,"NHWC")),this.useBias&&(t=z8(t,this.bias.read(),this.dataFormat)),null!=this.activation&&(t=this.activation.apply(t)),"channelsFirst"===this.dataFormat&&(t=p3.transpose(t,[0,3,1,2])),t})}getConfig(){const e=super.getConfig();return delete e.rank,delete e.kernelInitializer,delete e.kernelRegularizer,delete e.kernelConstraint,e.depthwiseInitializer=d9(this.depthwiseInitializer),e.pointwiseInitializer=d9(this.pointwiseInitializer),e.depthwiseRegularizer=rte(this.depthwiseRegularizer),e.pointwiseRegularizer=rte(this.pointwiseRegularizer),e.depthwiseConstraint=G9(this.depthwiseConstraint),e.pointwiseConstraint=G9(this.pointwiseConstraint),e}}Ste.className="SeparableConv";class Cte extends Ste{constructor(e){super(2,e)}}Cte.className="SeparableConv2D",p3.serialization.registerClass(Cte);class Ote extends xte{constructor(e){super(1,e),Ote.verifyArgs(e),this.inputSpec=[{ndim:3}]}getConfig(){const e=super.getConfig();return delete e.rank,delete e.dataFormat,e}static verifyArgs(e){if("number"!=typeof e.kernelSize&&!J6(e.kernelSize,"number",1,1))throw new D6(`Conv1D expects config.kernelSize to be number or number[] with length 1, but received ${JSON.stringify(e.kernelSize)}.`)}}Ote.className="Conv1D",p3.serialization.registerClass(Ote);class Mte extends S9{constructor(e){super(e),"number"==typeof e.cropping?this.cropping=[[e.cropping,e.cropping],[e.cropping,e.cropping]]:"number"==typeof e.cropping[0]?this.cropping=[[e.cropping[0],e.cropping[0]],[e.cropping[1],e.cropping[1]]]:this.cropping=e.cropping,this.dataFormat=void 0===e.dataFormat?"channelsLast":e.dataFormat,this.inputSpec=[{ndim:4}]}computeOutputShape(e){return"channelsFirst"===this.dataFormat?[e[0],e[1],e[2]-this.cropping[0][0]-this.cropping[0][1],e[3]-this.cropping[1][0]-this.cropping[1][1]]:[e[0],e[1]-this.cropping[0][0]-this.cropping[0][1],e[2]-this.cropping[1][0]-this.cropping[1][1],e[3]]}call(e,t){return(0,p3.tidy)(()=>{if(e=m9(e),"channelsLast"===this.dataFormat){const t=N8(e,this.cropping[0][0],e.shape[1]-this.cropping[0][0]-this.cropping[0][1],2);return N8(t,this.cropping[1][0],e.shape[2]-this.cropping[1][1]-this.cropping[1][0],3)}{const t=N8(e,this.cropping[0][0],e.shape[2]-this.cropping[0][0]-this.cropping[0][1],3);return N8(t,this.cropping[1][0],e.shape[3]-this.cropping[1][1]-this.cropping[1][0],4)}})}getConfig(){const e={cropping:this.cropping,dataFormat:this.dataFormat},t=super.getConfig();return Object.assign(e,t),e}}Mte.className="Cropping2D",p3.serialization.registerClass(Mte);class kte extends S9{constructor(e){var t;super(e),this.DEFAULT_SIZE=[2,2],this.inputSpec=[{ndim:4}],this.size=null==e.size?this.DEFAULT_SIZE:e.size,this.dataFormat=null==e.dataFormat?"channelsLast":e.dataFormat,p8(this.dataFormat),this.interpolation=null==e.interpolation?"nearest":e.interpolation,t=this.interpolation,Q6(l8,"InterpolationFormat",t)}computeOutputShape(e){if("channelsFirst"===this.dataFormat){const t=null==e[2]?null:this.size[0]*e[2],n=null==e[3]?null:this.size[1]*e[3];return[e[0],e[1],t,n]}{const t=null==e[1]?null:this.size[0]*e[1],n=null==e[2]?null:this.size[1]*e[2];return[e[0],t,n,e[3]]}}call(e,t){return p3.tidy(()=>{let t=m9(e);const n=t.shape;if("channelsFirst"===this.dataFormat){t=p3.transpose(t,[0,2,3,1]);const e=this.size[0]*n[2],i=this.size[1]*n[3],r="nearest"===this.interpolation?p3.image.resizeNearestNeighbor(t,[e,i]):p3.image.resizeBilinear(t,[e,i]);return p3.transpose(r,[0,3,1,2])}{const e=this.size[0]*n[1],i=this.size[1]*n[2];return"nearest"===this.interpolation?p3.image.resizeNearestNeighbor(t,[e,i]):p3.image.resizeBilinear(t,[e,i])}})}getConfig(){const e={size:this.size,dataFormat:this.dataFormat,interpolation:this.interpolation},t=super.getConfig();return Object.assign(e,t),e}}kte.className="UpSampling2D",p3.serialization.registerClass(kte);class Rte extends Tte{constructor(e){super(2,e),this.depthwiseKernel=null,this.depthMultiplier=null==e.depthMultiplier?1:e.depthMultiplier,this.depthwiseInitializer=h9(e.depthwiseInitializer||this.DEFAULT_KERNEL_INITIALIZER),this.depthwiseConstraint=W9(e.depthwiseConstraint),this.depthwiseRegularizer=ote(e.depthwiseRegularizer)}build(e){if((e=g9(e)).length<4)throw new D6(`Inputs to DepthwiseConv2D should have rank 4. Received input shape: ${JSON.stringify(e)}.`);const t="channelsFirst"===this.dataFormat?1:3;if(null==e[t]||e[t]<0)throw new D6(`The channel dimension of the inputs to DepthwiseConv2D should be defined, but is not (${e[t]}).`);const n=e[t],i=[this.kernelSize[0],this.kernelSize[1],n,this.depthMultiplier];this.depthwiseKernel=this.addWeight("depthwise_kernel",i,null,this.depthwiseInitializer,this.depthwiseRegularizer,!0,this.depthwiseConstraint),this.useBias?this.bias=this.addWeight("bias",[n*this.depthMultiplier],null,this.biasInitializer,this.biasRegularizer,!0,this.biasConstraint):this.bias=null,this.built=!0}call(e,t){return(0,p3.tidy)(()=>{let t= +function xte(e,t){return(0,v3.tidy)(()=>(v8(t),"channelsFirst"===t?v3.transpose(e,[0,2,3,1]):e))}function Ete(e,t){return(0,v3.tidy)(()=>(v8(t),"channelsFirst"===t?v3.transpose(e,[0,2,3,4,1]):e))}function wte(e,t,n,i=1,r="valid",s,o=1){return(0,v3.tidy)(()=>{if(null==s&&(s="channelsLast"),v8(s),3!==e.shape.length)throw new U6(`The input of a conv1dWithBias operation should be 3, but is ${e.shape.length} instead.`);if(3!==t.shape.length)throw new U6(`The kernel for a conv1dWithBias operation should be 3, but is ${t.shape.length} instead`);if(null!=n&&1!==n.shape.length)throw new U6(`The bias for a conv1dWithBias operation should be 1, but is ${n.shape.length} instead`);if("channelsFirst"===s&&(e=v3.transpose(e,[0,2,1])),"causal"===r)throw new V6("The support for CAUSAL padding mode in conv1dWithBias is not implemented yet.");let a=v3.conv1d(e,t,i,"same"===r?"same":"valid","NWC",o);return null!=n&&(a=X8(a,n)),a})}function Ite(e,t,n,i=[1,1],r="valid",s,o,a=null){return(0,v3.tidy)(()=>{if(null==s&&(s="channelsLast"),v8(s),3!==e.rank&&4!==e.rank)throw new U6(`conv2dWithBiasActivation expects input to be of rank 3 or 4, but received ${e.rank}.`);if(3!==t.rank&&4!==t.rank)throw new U6(`conv2dWithBiasActivation expects kernel to be of rank 3 or 4, but received ${e.rank}.`);let l=xte(e,s);if("causal"===r)throw new V6("The support for CAUSAL padding mode in conv1dWithBias is not implemented yet.");return l=v3.fused.conv2d({x:l,filter:t,strides:i,pad:"same"===r?"same":"valid",dilations:o,dataFormat:"NHWC",bias:n,activation:a}),"channelsFirst"===s&&(l=v3.transpose(l,[0,3,1,2])),l})}function Ate(e,t,n,i=[1,1,1],r="valid",s,o){return(0,v3.tidy)(()=>{if(null==s&&(s="channelsLast"),v8(s),4!==e.rank&&5!==e.rank)throw new U6(`conv3dWithBias expects input to be of rank 4 or 5, but received ${e.rank}.`);if(4!==t.rank&&5!==t.rank)throw new U6(`conv3dWithBias expects kernel to be of rank 4 or 5, but received ${e.rank}.`);let a=Ete(e,s);if("causal"===r)throw new V6("The support for CAUSAL padding mode in conv3dWithBias is not implemented yet.");return a=v3.conv3d(a,t,i,"same"===r?"same":"valid","NDHWC",o),null!=n&&(a=X8(a,n)),"channelsFirst"===s&&(a=v3.transpose(a,[0,4,1,2,3])),a})}yte.className="Softmax",v3.serialization.registerClass(yte);class Ste extends N9{constructor(e,t){if(super(t),this.bias=null,this.DEFAULT_KERNEL_INITIALIZER="glorotNormal",this.DEFAULT_BIAS_INITIALIZER="zeros",Ste.verifyArgs(t),this.rank=e,o8(this.rank,"rank"),1!==this.rank&&2!==this.rank&&3!==this.rank)throw new V6(`Convolution layer for rank other than 1, 2, or 3 (${this.rank}) is not implemented yet.`);if(this.kernelSize=vte(t.kernelSize,e,"kernelSize"),this.strides=vte(null==t.strides?1:t.strides,e,"strides"),this.padding=null==t.padding?"valid":t.padding,b8(this.padding),this.dataFormat=null==t.dataFormat?"channelsLast":t.dataFormat,v8(this.dataFormat),this.activation=ste(t.activation),this.useBias=null==t.useBias||t.useBias,this.biasInitializer=y9(t.biasInitializer||this.DEFAULT_BIAS_INITIALIZER),this.biasConstraint=J9(t.biasConstraint),this.biasRegularizer=hte(t.biasRegularizer),this.activityRegularizer=hte(t.activityRegularizer),this.dilationRate=vte(null==t.dilationRate?1:t.dilationRate,e,"dilationRate"),1===this.rank&&Array.isArray(this.dilationRate)&&1!==this.dilationRate.length)throw new U6(`dilationRate must be a number or an array of a single number for 1D convolution, but received ${JSON.stringify(this.dilationRate)}`);if(2===this.rank){if("number"==typeof this.dilationRate)this.dilationRate=[this.dilationRate,this.dilationRate];else if(2!==this.dilationRate.length)throw new U6(`dilationRate must be a number or array of two numbers for 2D convolution, but received ${JSON.stringify(this.dilationRate)}`)}else if(3===this.rank)if("number"==typeof this.dilationRate)this.dilationRate=[this.dilationRate,this.dilationRate,this.dilationRate];else if(3!==this.dilationRate.length)throw new U6(`dilationRate must be a number or array of three numbers for 3D convolution, but received ${JSON.stringify(this.dilationRate)}`)}static verifyArgs(e){if(G6("kernelSize"in e,"required key 'kernelSize' not in config"),"number"!=typeof e.kernelSize&&!s8(e.kernelSize,"number",1,3))throw new U6(`BaseConv expects config.kernelSize to be number or number[] with length 1, 2, or 3, but received ${JSON.stringify(e.kernelSize)}.`)}getConfig(){const e={kernelSize:this.kernelSize,strides:this.strides,padding:this.padding,dataFormat:this.dataFormat,dilationRate:this.dilationRate,activation:ite(this.activation),useBias:this.useBias,biasInitializer:_9(this.biasInitializer),biasRegularizer:cte(this.biasRegularizer),activityRegularizer:cte(this.activityRegularizer),biasConstraint:Z9(this.biasConstraint)},t=super.getConfig();return Object.assign(e,t),e}}class Cte extends Ste{constructor(e,t){super(e,t),this.kernel=null,Cte.verifyArgs(t),this.filters=t.filters,o8(this.filters,"filters"),this.kernelInitializer=y9(t.kernelInitializer||this.DEFAULT_KERNEL_INITIALIZER),this.kernelConstraint=J9(t.kernelConstraint),this.kernelRegularizer=hte(t.kernelRegularizer)}build(e){e=x9(e);const t="channelsFirst"===this.dataFormat?1:e.length-1;if(null==e[t])throw new U6(`The channel dimension of the input should be defined. Found ${e[t]}`);const n=e[t],i=this.kernelSize.concat([n,this.filters]);this.kernel=this.addWeight("kernel",i,null,this.kernelInitializer,this.kernelRegularizer,!0,this.kernelConstraint),this.useBias&&(this.bias=this.addWeight("bias",[this.filters],null,this.biasInitializer,this.biasRegularizer,!0,this.biasConstraint)),this.inputSpec=[{ndim:this.rank+2,axes:{[t]:n}}],this.built=!0}call(e,t){return(0,v3.tidy)(()=>{let t;e=T9(e);const n=null==this.bias?null:this.bias.read(),i=l8(this.activation.getClassName());if(null!=i&&2===this.rank)t=Ite(e,this.kernel.read(),n,this.strides,this.padding,this.dataFormat,this.dilationRate,i);else{if(1===this.rank)t=wte(e,this.kernel.read(),n,this.strides[0],this.padding,this.dataFormat,this.dilationRate[0]);else if(2===this.rank)t=Ite(e,this.kernel.read(),n,this.strides,this.padding,this.dataFormat,this.dilationRate);else{if(3!==this.rank)throw new V6("convolutions greater than 3D are not implemented yet.");t=Ate(e,this.kernel.read(),n,this.strides,this.padding,this.dataFormat,this.dilationRate)}null!=this.activation&&(t=this.activation.apply(t))}return t})}computeOutputShape(e){e=x9(e);const t=[],n="channelsLast"===this.dataFormat?e.slice(1,e.length-1):e.slice(2);for(let e=0;e 0 but got ${JSON.stringify(e.filters)}`)}}class Ote extends Cte{constructor(e){super(2,e),Ote.verifyArgs(e)}getConfig(){const e=super.getConfig();return delete e.rank,e}static verifyArgs(e){if("number"!=typeof e.kernelSize&&!s8(e.kernelSize,"number",1,2))throw new U6(`Conv2D expects config.kernelSize to be number or number[] with length 1 or 2, but received ${JSON.stringify(e.kernelSize)}.`)}}Ote.className="Conv2D",v3.serialization.registerClass(Ote);class Mte extends Cte{constructor(e){super(3,e),Mte.verifyArgs(e)}getConfig(){const e=super.getConfig();return delete e.rank,e}static verifyArgs(e){if("number"!=typeof e.kernelSize&&(!Array.isArray(e.kernelSize)||1!==e.kernelSize.length&&3!==e.kernelSize.length))throw new U6(`Conv3D expects config.kernelSize to be number or [number, number, number], but received ${JSON.stringify(e.kernelSize)}.`)}}Mte.className="Conv3D",v3.serialization.registerClass(Mte);class kte extends Ote{constructor(e){if(super(e),this.inputSpec=[new C9({ndim:4})],"same"!==this.padding&&"valid"!==this.padding)throw new U6(`Conv2DTranspose currently supports only padding modes 'same' and 'valid', but received padding mode ${this.padding}`)}build(e){if(4!==(e=x9(e)).length)throw new U6("Input should have rank 4; Received input shape: "+JSON.stringify(e));const t="channelsFirst"===this.dataFormat?1:e.length-1;if(null==e[t])throw new U6("The channel dimension of the inputs should be defined. Found `None`.");const n=e[t],i=this.kernelSize.concat([this.filters,n]);this.kernel=this.addWeight("kernel",i,"float32",this.kernelInitializer,this.kernelRegularizer,!0,this.kernelConstraint),this.useBias&&(this.bias=this.addWeight("bias",[this.filters],"float32",this.biasInitializer,this.biasRegularizer,!0,this.biasConstraint)),this.inputSpec=[new C9({ndim:4,axes:{[t]:n}})],this.built=!0}call(e,t){return v3.tidy(()=>{let t=T9(e);if(4!==t.shape.length)throw new U6(`Conv2DTranspose.call() expects input tensor to be rank-4, but received a tensor of rank-${t.shape.length}`);const n=t.shape,i=n[0];let r,s;"channelsFirst"===this.dataFormat?(r=2,s=3):(r=1,s=2);const o=n[r],a=n[s],l=this.kernelSize[0],u=this.kernelSize[1],c=this.strides[0],d=this.strides[1],h=[i,Tte(o,c,l,this.padding),Tte(a,d,u,this.padding),this.filters];"channelsLast"!==this.dataFormat&&(t=v3.transpose(t,[0,2,3,1]));let p=v3.conv2dTranspose(t,this.kernel.read(),h,this.strides,this.padding);return"channelsLast"!==this.dataFormat&&(p=v3.transpose(p,[0,3,1,2])),null!=this.bias&&(p=X8(p,this.bias.read(),this.dataFormat)),null!=this.activation&&(p=this.activation.apply(p)),p})}computeOutputShape(e){const t=(e=x9(e)).slice();let n,i,r;"channelsFirst"===this.dataFormat?(n=1,i=2,r=3):(n=3,i=1,r=2);const s=this.kernelSize[0],o=this.kernelSize[1],a=this.strides[0],l=this.strides[1];return t[n]=this.filters,t[i]=Tte(t[i],a,s,this.padding),t[r]=Tte(t[r],l,o,this.padding),t}getConfig(){const e=super.getConfig();return delete e.dilationRate,e}}kte.className="Conv2DTranspose",v3.serialization.registerClass(kte);class Rte extends Mte{constructor(e){if(super(e),this.inputSpec=[new C9({ndim:5})],"same"!==this.padding&&"valid"!==this.padding)throw new U6(`Conv3DTranspose currently supports only padding modes 'same' and 'valid', but received padding mode ${this.padding}`)}build(e){if(5!==(e=x9(e)).length)throw new U6("Input should have rank 5; Received input shape: "+JSON.stringify(e));const t="channelsFirst"===this.dataFormat?1:e.length-1;if(null==e[t])throw new U6("The channel dimension of the inputs should be defined. Found `None`.");const n=e[t],i=this.kernelSize.concat([this.filters,n]);this.kernel=this.addWeight("kernel",i,"float32",this.kernelInitializer,this.kernelRegularizer,!0,this.kernelConstraint),this.useBias&&(this.bias=this.addWeight("bias",[this.filters],"float32",this.biasInitializer,this.biasRegularizer,!0,this.biasConstraint)),this.inputSpec=[new C9({ndim:5,axes:{[t]:n}})],this.built=!0}call(e,t){return v3.tidy(()=>{let t=T9(e);if(5!==t.shape.length)throw new U6(`Conv3DTranspose.call() expects input tensor to be rank-4, but received a tensor of rank-${t.shape.length}`);const n=t.shape,i=n[0];let r,s,o;"channelsFirst"===this.dataFormat?(o=2,r=3,s=4):(o=1,r=2,s=3);const a=n[o],l=n[r],u=n[s],c=this.kernelSize[0],d=this.kernelSize[1],h=this.kernelSize[2],p=this.strides[0],f=this.strides[1],m=this.strides[2],g=[i,Tte(a,p,c,this.padding),Tte(l,f,d,this.padding),Tte(u,m,h,this.padding),this.filters];"channelsLast"!==this.dataFormat&&(t=v3.transpose(t,[0,2,3,4,1]));let _=v3.conv3dTranspose(t,this.kernel.read(),g,this.strides,this.padding);return"channelsLast"!==this.dataFormat&&(_=v3.transpose(_,[0,4,1,2,3])),null!==this.bias&&(_=X8(_,this.bias.read(),this.dataFormat)),null!==this.activation&&(_=this.activation.apply(_)),_})}computeOutputShape(e){const t=(e=x9(e)).slice();let n,i,r,s;"channelsFirst"===this.dataFormat?(n=1,i=2,r=3,s=4):(n=4,i=1,r=2,s=3);const o=this.kernelSize[0],a=this.kernelSize[1],l=this.kernelSize[2],u=this.strides[0],c=this.strides[1],d=this.strides[2];return t[n]=this.filters,t[i]=Tte(t[i],u,o,this.padding),t[r]=Tte(t[r],c,a,this.padding),t[s]=Tte(t[s],d,l,this.padding),t}getConfig(){const e=super.getConfig();return delete e.dilationRate,e}}Rte.className="Conv3DTranspose",v3.serialization.registerClass(Rte);class Nte extends Cte{constructor(e,t){if(super(e,t),this.DEFAULT_DEPTHWISE_INITIALIZER="glorotUniform",this.DEFAULT_POINTWISE_INITIALIZER="glorotUniform",this.depthwiseKernel=null,this.pointwiseKernel=null,null==t.filters)throw new U6("The `filters` configuration field is required by SeparableConv, but is unspecified.");if(null!=t.kernelInitializer||null!=t.kernelRegularizer||null!=t.kernelConstraint)throw new U6("Fields kernelInitializer, kernelRegularizer and kernelConstraint are invalid for SeparableConv2D. Use depthwiseInitializer, depthwiseRegularizer, depthwiseConstraint, pointwiseInitializer, pointwiseRegularizer and pointwiseConstraint instead.");if(null!=t.padding&&"same"!==t.padding&&"valid"!==t.padding)throw new U6(`SeparableConv${this.rank}D supports only padding modes: 'same' and 'valid', but received ${JSON.stringify(t.padding)}`);this.depthMultiplier=null==t.depthMultiplier?1:t.depthMultiplier,this.depthwiseInitializer=y9(t.depthwiseInitializer||this.DEFAULT_DEPTHWISE_INITIALIZER),this.depthwiseRegularizer=hte(t.depthwiseRegularizer),this.depthwiseConstraint=J9(t.depthwiseConstraint),this.pointwiseInitializer=y9(t.depthwiseInitializer||this.DEFAULT_POINTWISE_INITIALIZER),this.pointwiseRegularizer=hte(t.pointwiseRegularizer),this.pointwiseConstraint=J9(t.pointwiseConstraint)}build(e){if((e=x9(e)).length{let t;if(e=T9(e),1===this.rank)throw new V6("1D separable convolution is not implemented yet.");return 2===this.rank&&("channelsFirst"===this.dataFormat&&(e=v3.transpose(e,[0,2,3,1])),t=v3.separableConv2d(e,this.depthwiseKernel.read(),this.pointwiseKernel.read(),this.strides,this.padding,this.dilationRate,"NHWC")),this.useBias&&(t=X8(t,this.bias.read(),this.dataFormat)),null!=this.activation&&(t=this.activation.apply(t)),"channelsFirst"===this.dataFormat&&(t=v3.transpose(t,[0,3,1,2])),t})}getConfig(){const e=super.getConfig();return delete e.rank,delete e.kernelInitializer,delete e.kernelRegularizer,delete e.kernelConstraint,e.depthwiseInitializer=_9(this.depthwiseInitializer),e.pointwiseInitializer=_9(this.pointwiseInitializer),e.depthwiseRegularizer=cte(this.depthwiseRegularizer),e.pointwiseRegularizer=cte(this.pointwiseRegularizer),e.depthwiseConstraint=Z9(this.depthwiseConstraint),e.pointwiseConstraint=Z9(this.pointwiseConstraint),e}}Nte.className="SeparableConv";class Dte extends Nte{constructor(e){super(2,e)}}Dte.className="SeparableConv2D",v3.serialization.registerClass(Dte);class Fte extends Cte{constructor(e){super(1,e),Fte.verifyArgs(e),this.inputSpec=[{ndim:3}]}getConfig(){const e=super.getConfig();return delete e.rank,delete e.dataFormat,e}static verifyArgs(e){if("number"!=typeof e.kernelSize&&!s8(e.kernelSize,"number",1,1))throw new U6(`Conv1D expects config.kernelSize to be number or number[] with length 1, but received ${JSON.stringify(e.kernelSize)}.`)}}Fte.className="Conv1D",v3.serialization.registerClass(Fte);class Lte extends N9{constructor(e){super(e),"number"==typeof e.cropping?this.cropping=[[e.cropping,e.cropping],[e.cropping,e.cropping]]:"number"==typeof e.cropping[0]?this.cropping=[[e.cropping[0],e.cropping[0]],[e.cropping[1],e.cropping[1]]]:this.cropping=e.cropping,this.dataFormat=void 0===e.dataFormat?"channelsLast":e.dataFormat,this.inputSpec=[{ndim:4}]}computeOutputShape(e){return"channelsFirst"===this.dataFormat?[e[0],e[1],e[2]-this.cropping[0][0]-this.cropping[0][1],e[3]-this.cropping[1][0]-this.cropping[1][1]]:[e[0],e[1]-this.cropping[0][0]-this.cropping[0][1],e[2]-this.cropping[1][0]-this.cropping[1][1],e[3]]}call(e,t){return(0,v3.tidy)(()=>{if(e=T9(e),"channelsLast"===this.dataFormat){const t=$8(e,this.cropping[0][0],e.shape[1]-this.cropping[0][0]-this.cropping[0][1],2);return $8(t,this.cropping[1][0],e.shape[2]-this.cropping[1][1]-this.cropping[1][0],3)}{const t=$8(e,this.cropping[0][0],e.shape[2]-this.cropping[0][0]-this.cropping[0][1],3);return $8(t,this.cropping[1][0],e.shape[3]-this.cropping[1][1]-this.cropping[1][0],4)}})}getConfig(){const e={cropping:this.cropping,dataFormat:this.dataFormat},t=super.getConfig();return Object.assign(e,t),e}}Lte.className="Cropping2D",v3.serialization.registerClass(Lte);class Pte extends N9{constructor(e){var t;super(e),this.DEFAULT_SIZE=[2,2],this.inputSpec=[{ndim:4}],this.size=null==e.size?this.DEFAULT_SIZE:e.size,this.dataFormat=null==e.dataFormat?"channelsLast":e.dataFormat,v8(this.dataFormat),this.interpolation=null==e.interpolation?"nearest":e.interpolation,t=this.interpolation,r8(f8,"InterpolationFormat",t)}computeOutputShape(e){if("channelsFirst"===this.dataFormat){const t=null==e[2]?null:this.size[0]*e[2],n=null==e[3]?null:this.size[1]*e[3];return[e[0],e[1],t,n]}{const t=null==e[1]?null:this.size[0]*e[1],n=null==e[2]?null:this.size[1]*e[2];return[e[0],t,n,e[3]]}}call(e,t){return v3.tidy(()=>{let t=T9(e);const n=t.shape;if("channelsFirst"===this.dataFormat){t=v3.transpose(t,[0,2,3,1]);const e=this.size[0]*n[2],i=this.size[1]*n[3],r="nearest"===this.interpolation?v3.image.resizeNearestNeighbor(t,[e,i]):v3.image.resizeBilinear(t,[e,i]);return v3.transpose(r,[0,3,1,2])}{const e=this.size[0]*n[1],i=this.size[1]*n[2];return"nearest"===this.interpolation?v3.image.resizeNearestNeighbor(t,[e,i]):v3.image.resizeBilinear(t,[e,i])}})}getConfig(){const e={size:this.size,dataFormat:this.dataFormat,interpolation:this.interpolation},t=super.getConfig();return Object.assign(e,t),e}}Pte.className="UpSampling2D",v3.serialization.registerClass(Pte);class Bte extends Ste{constructor(e){super(2,e),this.depthwiseKernel=null,this.depthMultiplier=null==e.depthMultiplier?1:e.depthMultiplier,this.depthwiseInitializer=y9(e.depthwiseInitializer||this.DEFAULT_KERNEL_INITIALIZER),this.depthwiseConstraint=J9(e.depthwiseConstraint),this.depthwiseRegularizer=hte(e.depthwiseRegularizer)}build(e){if((e=x9(e)).length<4)throw new U6(`Inputs to DepthwiseConv2D should have rank 4. Received input shape: ${JSON.stringify(e)}.`);const t="channelsFirst"===this.dataFormat?1:3;if(null==e[t]||e[t]<0)throw new U6(`The channel dimension of the inputs to DepthwiseConv2D should be defined, but is not (${e[t]}).`);const n=e[t],i=[this.kernelSize[0],this.kernelSize[1],n,this.depthMultiplier];this.depthwiseKernel=this.addWeight("depthwise_kernel",i,null,this.depthwiseInitializer,this.depthwiseRegularizer,!0,this.depthwiseConstraint),this.useBias?this.bias=this.addWeight("bias",[n*this.depthMultiplier],null,this.biasInitializer,this.biasRegularizer,!0,this.biasConstraint):this.bias=null,this.built=!0}call(e,t){return(0,v3.tidy)(()=>{let t= /** * @license * Copyright 2018 Google LLC @@ -11372,7 +11372,7 @@ function gte(e,t){return(0,p3.tidy)(()=>(p8(t),"channelsFirst"===t?p3.transpose( * https://opensource.org/licenses/MIT. * ============================================================================= */ -function(e,t,n=[1,1],i="valid",r,s){return(0,p3.tidy)(()=>{null==r&&(r="channelsLast"),p8(r);let o=gte(e,r);if(4!==e.rank)throw new D6(`Input for depthwiseConv2d is required to be 4-D, but is instead ${e.rank}-D`);if(4!==t.rank)throw new D6(`depthwiseKernel is required to be 4-D, but is instead ${t.rank}-D`);return o=p3.depthwiseConv2d(o,t,n,"same"===i?"same":"valid","NHWC",s),"channelsFirst"===r&&(o=p3.transpose(o,[0,3,1,2])),o})}(e=m9(e),this.depthwiseKernel.read(),this.strides,this.padding,this.dataFormat,null);return this.useBias&&(t=z8(t,this.bias.read(),this.dataFormat)),null!=this.activation&&(t=this.activation.apply(t)),t})}computeOutputShape(e){e=g9(e);const t="channelsFirst"===this.dataFormat?e[2]:e[1],n="channelsFirst"===this.dataFormat?e[3]:e[2],i="channelsFirst"===this.dataFormat?e[1]*this.depthMultiplier:e[3]*this.depthMultiplier,r=fte(t,this.kernelSize[0],this.padding,this.strides[0]),s=fte(n,this.kernelSize[1],this.padding,this.strides[1]);return"channelsFirst"===this.dataFormat?[e[0],i,r,s]:[e[0],r,s,i]}getConfig(){const e=super.getConfig();return e.depthMultiplier=this.depthMultiplier,e.depthwiseInitializer=d9(this.depthwiseInitializer),e.depthwiseRegularizer=rte(this.depthwiseRegularizer),e.depthwiseConstraint=G9(this.depthwiseRegularizer),e}} +function(e,t,n=[1,1],i="valid",r,s){return(0,v3.tidy)(()=>{null==r&&(r="channelsLast"),v8(r);let o=xte(e,r);if(4!==e.rank)throw new U6(`Input for depthwiseConv2d is required to be 4-D, but is instead ${e.rank}-D`);if(4!==t.rank)throw new U6(`depthwiseKernel is required to be 4-D, but is instead ${t.rank}-D`);return o=v3.depthwiseConv2d(o,t,n,"same"===i?"same":"valid","NHWC",s),"channelsFirst"===r&&(o=v3.transpose(o,[0,3,1,2])),o})}(e=T9(e),this.depthwiseKernel.read(),this.strides,this.padding,this.dataFormat,null);return this.useBias&&(t=X8(t,this.bias.read(),this.dataFormat)),null!=this.activation&&(t=this.activation.apply(t)),t})}computeOutputShape(e){e=x9(e);const t="channelsFirst"===this.dataFormat?e[2]:e[1],n="channelsFirst"===this.dataFormat?e[3]:e[2],i="channelsFirst"===this.dataFormat?e[1]*this.depthMultiplier:e[3]*this.depthMultiplier,r=bte(t,this.kernelSize[0],this.padding,this.strides[0]),s=bte(n,this.kernelSize[1],this.padding,this.strides[1]);return"channelsFirst"===this.dataFormat?[e[0],i,r,s]:[e[0],r,s,i]}getConfig(){const e=super.getConfig();return e.depthMultiplier=this.depthMultiplier,e.depthwiseInitializer=_9(this.depthwiseInitializer),e.depthwiseRegularizer=cte(this.depthwiseRegularizer),e.depthwiseConstraint=Z9(this.depthwiseRegularizer),e}} /** * @license * Copyright 2018 Google LLC @@ -11382,7 +11382,7 @@ function(e,t,n=[1,1],i="valid",r,s){return(0,p3.tidy)(()=>{null==r&&(r="channels * https://opensource.org/licenses/MIT. * ============================================================================= */ -function Nte(e,t,n,i){if(Array.isArray(e)){if(null!=t||null!=n)throw new D6("When inputs is an array, neither initialState or constants should be provided");null!=i&&(n=e.slice(e.length-i,e.length),e=e.slice(0,e.length-i)),e.length>1&&(t=e.slice(1,e.length)),e=e[0]}function r(e){return null==e||Array.isArray(e)?e:[e]}return{inputs:e,initialState:t=r(t),constants:n=r(n)}}function Dte(e,t,n,i=!1,r,s,o=!1,a=!1){return p3.tidy(()=>{const l=t.shape.length;if(l<3)throw new D6(`Input should be at least 3D, but is ${l}D.`);const u=[1,0].concat(A8(2,l));if(t=p3.transpose(t,u),null!=s)throw new F6("The rnn() functoin of the deeplearn.js backend does not support constants yet.");o&&console.warn("Backend rnn(): the unroll = true option is not applicable to the imperative deeplearn.js backend."),null!=r&&((r=p3.cast(p3.cast(r,"bool"),"float32")).rank===l-1&&(r=p3.expandDims(r,-1)),r=p3.transpose(r,u)),i&&(t=p3.reverse(t,0),null!=r&&(r=p3.reverse(r,0)));const c=[];let d,h=n;const p=t.shape[0],f=p3.unstack(t);let m,g;null!=r&&(m=p3.unstack(r));for(let t=0;te(n,h));if(null==r)d=i[0],h=i[1];else{const e=p3.tidy(()=>{const e=m[t],n=p3.sub(p3.onesLike(e),e);return{output:p3.add(p3.mul(i[0],e),p3.mul(h[0],n)),newStates:h.map((t,r)=>p3.add(p3.mul(i[1][r],e),p3.mul(t,n)))}});d=e.output,h=e.newStates}a&&c.push(d)}if(a){const e=1;g=p3.stack(c,e)}return[d,g,h]})}Rte.className="DepthwiseConv2D",p3.serialization.registerClass(Rte);class Fte extends S9{constructor(e){let t;if(super(e),null==e.cell)throw new D6("cell property is missing for the constructor of RNN.");if(t=Array.isArray(e.cell)?new jte({cells:e.cell}):e.cell,null==t.stateSize)throw new D6("The RNN cell should have an attribute `stateSize` (tuple of integers, one integer per RNN state).");this.cell=t,this.returnSequences=null!=e.returnSequences&&e.returnSequences,this.returnState=null!=e.returnState&&e.returnState,this.goBackwards=null!=e.goBackwards&&e.goBackwards,this._stateful=null!=e.stateful&&e.stateful,this.unroll=null!=e.unroll&&e.unroll,this.supportsMasking=!0,this.inputSpec=[new x9({ndim:3})],this.stateSpec=null,this.states_=null,this.numConstants=null,this.keptStates=[]}getStates(){if(null==this.states_){return A8(0,Array.isArray(this.cell.stateSize)?this.cell.stateSize.length:1).map(e=>null)}return this.states_}setStates(e){this.states_=e}computeOutputShape(e){p9(e)&&(e=e[0]);let t=this.cell.stateSize;Array.isArray(t)||(t=[t]);const n=t[0];let i;if(i=this.returnSequences?[e[0],e[1],n]:[e[0],n],this.returnState){const n=[];for(const i of t)n.push([e[0],i]);return[i].concat(n)}return i}computeMask(e,t){return p3.tidy(()=>{Array.isArray(t)&&(t=t[0]);const e=this.returnSequences?t:null;if(this.returnState){const t=this.states.map(e=>null);return[e].concat(t)}return e})}get states(){if(null==this.states_){const e=Array.isArray(this.cell.stateSize)?this.cell.stateSize.length:1,t=[];for(let n=0;ne.shape[e.shape.length-1]),r))throw new D6(`An initialState was passed that is not compatible with cell.stateSize. Received stateSpec=${this.stateSpec}; However cell.stateSize is ${this.cell.stateSize}`)}else this.stateSpec=r.map(e=>new x9({shape:[null,e]}));this.stateful&&this.resetStates()}resetStates(e,t=!1){(0,p3.tidy)(()=>{if(!this.stateful)throw new R6("Cannot call resetStates() on an RNN Layer that is not stateful.");const n=this.inputSpec[0].shape[0];if(null==n)throw new D6("If an RNN is stateful, it needs to know its batch size. Specify the batch size of your input tensors: \n- If using a Sequential model, specify the batch size by passing a `batchInputShape` option to your first layer.\n- If using the functional API, specify the batch size by passing a `batchShape` option to your Input layer.");if(null==this.states_)Array.isArray(this.cell.stateSize)?this.states_=this.cell.stateSize.map(e=>p3.zeros([n,e])):this.states_=[p3.zeros([n,this.cell.stateSize])];else if(null==e)p3.dispose(this.states_),null!=this.keptStates&&(p3.dispose(this.keptStates),this.keptStates=[]),Array.isArray(this.cell.stateSize)?this.states_=this.cell.stateSize.map(e=>p3.zeros([n,e])):this.states_[0]=p3.zeros([n,this.cell.stateSize]);else{if(Array.isArray(e)||(e=[e]),e.length!==this.states_.length)throw new D6(`Layer ${this.name} expects ${this.states_.length} state(s), but it received ${e.length} state value(s). Input received: ${e}`);!0===t?this.keptStates.push(this.states_.slice()):p3.dispose(this.states_);for(let t=0;tp3.keep(e.clone()))})}apply(e,t){let n=null==t?null:t.initialState,i=null==t?null:t.constants;null==t&&(t={});const r=Nte(e,n,i,this.numConstants);e=r.inputs,n=r.initialState,i=r.constants;let s=[],o=[];if(null!=n){t.initialState=n,s=s.concat(n),this.stateSpec=[];for(const e of n)this.stateSpec.push(new x9({shape:e.shape}));o=o.concat(this.stateSpec)}null!=i&&(t.constants=i,s=s.concat(i),this.numConstants=i.length);if(s[0]instanceof E9){const n=[e].concat(s),i=this.inputSpec.concat(o),r=this.inputSpec;this.inputSpec=i;const a=super.apply(n,t);return this.inputSpec=r,a}return super.apply(e,t)}call(e,t){return(0,p3.tidy)(()=>{const n=null==t?null:t.mask,i=null==t?null:t.training;let r=null==t?null:t.initialState;e=m9(e),null==r&&(r=this.stateful?this.states_:this.getInitialState(e));const s=Array.isArray(this.cell.stateSize)?this.cell.stateSize.length:1;if(r.length!==s)throw new D6(`RNN Layer has ${s} state(s) but was passed ${r.length} initial state(s).`);this.unroll&&console.warn("Ignoring unroll = true for RNN layer, due to imperative backend.");const o={training:i},a=Dte((e,t)=>{const n=this.cell.call([e].concat(t),o);return[n[0],n.slice(1)]},e,r,this.goBackwards,n,null,this.unroll,this.returnSequences),l=a[0],u=a[1],c=a[2];this.stateful&&this.resetStates(c,i);const d=this.returnSequences?u:l;return this.returnState?[d].concat(c):d})}getInitialState(e){return(0,p3.tidy)(()=>{let t=p3.zeros(e.shape);return t=p3.sum(t,[1,2]),t=M8(t),Array.isArray(this.cell.stateSize)?this.cell.stateSize.map(e=>e>1?L8(t,[1,e]):t):this.cell.stateSize>1?[L8(t,[1,this.cell.stateSize])]:[t]})}get trainableWeights(){return this.trainable?this.cell.trainableWeights:[]}get nonTrainableWeights(){return this.trainable?this.cell.nonTrainableWeights:this.cell.weights}setFastWeightInitDuringBuild(e){super.setFastWeightInitDuringBuild(e),null!=this.cell&&this.cell.setFastWeightInitDuringBuild(e)}getConfig(){const e=super.getConfig(),t={returnSequences:this.returnSequences,returnState:this.returnState,goBackwards:this.goBackwards,stateful:this.stateful,unroll:this.unroll};null!=this.numConstants&&(t.numConstants=this.numConstants);const n=this.cell.getConfig();return this.getClassName()===Fte.className&&(t.cell={className:this.cell.getClassName(),config:n}),Object.assign(Object.assign(Object.assign({},n),e),t)}static fromConfig(e,t,n={}){const i=w7(t.cell,n);return new e(Object.assign(t,{cell:i}))}}Fte.className="RNN",p3.serialization.registerClass(Fte);class Lte extends S9{}class Pte extends Lte{constructor(e){super(e),this.DEFAULT_ACTIVATION="tanh",this.DEFAULT_KERNEL_INITIALIZER="glorotNormal",this.DEFAULT_RECURRENT_INITIALIZER="orthogonal",this.DEFAULT_BIAS_INITIALIZER="zeros",this.units=e.units,e8(this.units,"units"),this.activation=Jee(null==e.activation?this.DEFAULT_ACTIVATION:e.activation),this.useBias=null==e.useBias||e.useBias,this.kernelInitializer=h9(e.kernelInitializer||this.DEFAULT_KERNEL_INITIALIZER),this.recurrentInitializer=h9(e.recurrentInitializer||this.DEFAULT_RECURRENT_INITIALIZER),this.biasInitializer=h9(e.biasInitializer||this.DEFAULT_BIAS_INITIALIZER),this.kernelRegularizer=ote(e.kernelRegularizer),this.recurrentRegularizer=ote(e.recurrentRegularizer),this.biasRegularizer=ote(e.biasRegularizer),this.kernelConstraint=W9(e.kernelConstraint),this.recurrentConstraint=W9(e.recurrentConstraint),this.biasConstraint=W9(e.biasConstraint),this.dropout=w8([1,I8([0,null==e.dropout?0:e.dropout])]),this.recurrentDropout=w8([1,I8([0,null==e.recurrentDropout?0:e.recurrentDropout])]),this.dropoutFunc=e.dropoutFunc,this.stateSize=this.units,this.dropoutMask=null,this.recurrentDropoutMask=null}build(e){e=g9(e),this.kernel=this.addWeight("kernel",[e[e.length-1],this.units],null,this.kernelInitializer,this.kernelRegularizer,!0,this.kernelConstraint),this.recurrentKernel=this.addWeight("recurrent_kernel",[this.units,this.units],null,this.recurrentInitializer,this.recurrentRegularizer,!0,this.recurrentConstraint),this.useBias?this.bias=this.addWeight("bias",[this.units],null,this.biasInitializer,this.biasRegularizer,!0,this.biasConstraint):this.bias=null,this.built=!0}call(e,t){return(0,p3.tidy)(()=>{if(2!==e.length)throw new D6(`SimpleRNNCell expects 2 input Tensors, got ${e.length}.`);let n=e[1];e=e[0];const i=null!=t.training&&t.training;let r;0p3.onesLike(e),rate:this.dropout,training:i,dropoutFunc:this.dropoutFunc})),0p3.onesLike(n),rate:this.recurrentDropout,training:i,dropoutFunc:this.dropoutFunc}));const s=this.dropoutMask,o=this.recurrentDropoutMask;r=B8(null!=s?p3.mul(e,s):e,this.kernel.read()),null!=this.bias&&(r=z8(r,this.bias.read())),null!=o&&(n=p3.mul(n,o));let a=p3.add(r,B8(n,this.recurrentKernel.read()));return null!=this.activation&&(a=this.activation.apply(a)),[a,a]})}getConfig(){const e=super.getConfig(),t={units:this.units,activation:Zee(this.activation),useBias:this.useBias,kernelInitializer:d9(this.kernelInitializer),recurrentInitializer:d9(this.recurrentInitializer),biasInitializer:d9(this.biasInitializer),kernelRegularizer:rte(this.kernelRegularizer),recurrentRegularizer:rte(this.recurrentRegularizer),biasRegularizer:rte(this.biasRegularizer),activityRegularizer:rte(this.activityRegularizer),kernelConstraint:G9(this.kernelConstraint),recurrentConstraint:G9(this.recurrentConstraint),biasConstraint:G9(this.biasConstraint),dropout:this.dropout,recurrentDropout:this.recurrentDropout};return Object.assign(Object.assign({},e),t)}}Pte.className="SimpleRNNCell",p3.serialization.registerClass(Pte);class Bte extends Fte{constructor(e){e.cell=new Pte(e),super(e)}call(e,t){return(0,p3.tidy)(()=>{null!=this.cell.dropoutMask&&(p3.dispose(this.cell.dropoutMask),this.cell.dropoutMask=null),null!=this.cell.recurrentDropoutMask&&(p3.dispose(this.cell.recurrentDropoutMask),this.cell.recurrentDropoutMask=null);const n=null==t?null:t.mask,i=null==t?null:t.training,r=null==t?null:t.initialState;return super.call(e,{mask:n,training:i,initialState:r})})}static fromConfig(e,t){return new e(t)}}Bte.className="SimpleRNN",p3.serialization.registerClass(Bte);class $te extends Lte{constructor(e){if(super(e),this.DEFAULT_ACTIVATION="tanh",this.DEFAULT_RECURRENT_ACTIVATION="hardSigmoid",this.DEFAULT_KERNEL_INITIALIZER="glorotNormal",this.DEFAULT_RECURRENT_INITIALIZER="orthogonal",this.DEFAULT_BIAS_INITIALIZER="zeros",e.resetAfter)throw new D6("GRUCell does not support reset_after parameter set to true.");this.units=e.units,e8(this.units,"units"),this.activation=Jee(void 0===e.activation?this.DEFAULT_ACTIVATION:e.activation),this.recurrentActivation=Jee(void 0===e.recurrentActivation?this.DEFAULT_RECURRENT_ACTIVATION:e.recurrentActivation),this.useBias=null==e.useBias||e.useBias,this.kernelInitializer=h9(e.kernelInitializer||this.DEFAULT_KERNEL_INITIALIZER),this.recurrentInitializer=h9(e.recurrentInitializer||this.DEFAULT_RECURRENT_INITIALIZER),this.biasInitializer=h9(e.biasInitializer||this.DEFAULT_BIAS_INITIALIZER),this.kernelRegularizer=ote(e.kernelRegularizer),this.recurrentRegularizer=ote(e.recurrentRegularizer),this.biasRegularizer=ote(e.biasRegularizer),this.kernelConstraint=W9(e.kernelConstraint),this.recurrentConstraint=W9(e.recurrentConstraint),this.biasConstraint=W9(e.biasConstraint),this.dropout=w8([1,I8([0,null==e.dropout?0:e.dropout])]),this.recurrentDropout=w8([1,I8([0,null==e.recurrentDropout?0:e.recurrentDropout])]),this.dropoutFunc=e.dropoutFunc,this.implementation=e.implementation,this.stateSize=this.units,this.dropoutMask=null,this.recurrentDropoutMask=null}build(e){const t=(e=g9(e))[e.length-1];this.kernel=this.addWeight("kernel",[t,3*this.units],null,this.kernelInitializer,this.kernelRegularizer,!0,this.kernelConstraint),this.recurrentKernel=this.addWeight("recurrent_kernel",[this.units,3*this.units],null,this.recurrentInitializer,this.recurrentRegularizer,!0,this.recurrentConstraint),this.useBias?this.bias=this.addWeight("bias",[3*this.units],null,this.biasInitializer,this.biasRegularizer,!0,this.biasConstraint):this.bias=null,this.built=!0}call(e,t){return(0,p3.tidy)(()=>{if(2!==e.length)throw new D6(`GRUCell expects 2 input Tensors (inputs, h, c), got ${e.length}.`);const n=null!=t.training&&t.training;let i=e[1];e=e[0],0p3.onesLike(e),rate:this.dropout,training:n,count:3,dropoutFunc:this.dropoutFunc})),0p3.onesLike(i),rate:this.recurrentDropout,training:n,count:3,dropoutFunc:this.dropoutFunc}));const r=this.dropoutMask,s=this.recurrentDropoutMask;let o,a,l;0{null!=this.cell.dropoutMask&&(p3.dispose(this.cell.dropoutMask),this.cell.dropoutMask=null),null!=this.cell.recurrentDropoutMask&&(p3.dispose(this.cell.recurrentDropoutMask),this.cell.recurrentDropoutMask=null);const n=null==t?null:t.mask,i=null==t?null:t.training,r=null==t?null:t.initialState;return super.call(e,{mask:n,training:i,initialState:r})})}static fromConfig(e,t){return 0===t.implmentation&&(t.implementation=1),new e(t)}}Ute.className="GRU",p3.serialization.registerClass(Ute);class Vte extends Lte{constructor(e){super(e),this.DEFAULT_ACTIVATION="tanh",this.DEFAULT_RECURRENT_ACTIVATION="hardSigmoid",this.DEFAULT_KERNEL_INITIALIZER="glorotNormal",this.DEFAULT_RECURRENT_INITIALIZER="orthogonal",this.DEFAULT_BIAS_INITIALIZER="zeros",this.units=e.units,e8(this.units,"units"),this.activation=Jee(void 0===e.activation?this.DEFAULT_ACTIVATION:e.activation),this.recurrentActivation=Jee(void 0===e.recurrentActivation?this.DEFAULT_RECURRENT_ACTIVATION:e.recurrentActivation),this.useBias=null==e.useBias||e.useBias,this.kernelInitializer=h9(e.kernelInitializer||this.DEFAULT_KERNEL_INITIALIZER),this.recurrentInitializer=h9(e.recurrentInitializer||this.DEFAULT_RECURRENT_INITIALIZER),this.biasInitializer=h9(e.biasInitializer||this.DEFAULT_BIAS_INITIALIZER),this.unitForgetBias=e.unitForgetBias,this.kernelRegularizer=ote(e.kernelRegularizer),this.recurrentRegularizer=ote(e.recurrentRegularizer),this.biasRegularizer=ote(e.biasRegularizer),this.kernelConstraint=W9(e.kernelConstraint),this.recurrentConstraint=W9(e.recurrentConstraint),this.biasConstraint=W9(e.biasConstraint),this.dropout=w8([1,I8([0,null==e.dropout?0:e.dropout])]),this.recurrentDropout=w8([1,I8([0,null==e.recurrentDropout?0:e.recurrentDropout])]),this.dropoutFunc=e.dropoutFunc,this.implementation=e.implementation,this.stateSize=[this.units,this.units],this.dropoutMask=null,this.recurrentDropoutMask=null}build(e){var t;const n=(e=g9(e))[e.length-1];let i;if(this.kernel=this.addWeight("kernel",[n,4*this.units],null,this.kernelInitializer,this.kernelRegularizer,!0,this.kernelConstraint),this.recurrentKernel=this.addWeight("recurrent_kernel",[this.units,4*this.units],null,this.recurrentInitializer,this.recurrentRegularizer,!0,this.recurrentConstraint),this.useBias){if(this.unitForgetBias){const e=this.biasInitializer,n=this.units;i=new((t=class extends W8{apply(t,i){const r=e.apply([n]),s=(new q8).apply([n]),o=e.apply([2*n]);return F8(F8(r,s),o)}}).className="CustomInit",t)}else i=this.biasInitializer;this.bias=this.addWeight("bias",[4*this.units],null,i,this.biasRegularizer,!0,this.biasConstraint)}else this.bias=null;this.built=!0}call(e,t){return(0,p3.tidy)(()=>{const n=null!=t.training&&t.training;if(3!==e.length)throw new D6(`LSTMCell expects 3 input Tensors (inputs, h, c), got ${e.length}.`);let i=e[1];const r=e[2];e=e[0],0p3.onesLike(e),rate:this.dropout,training:n,count:4,dropoutFunc:this.dropoutFunc})),0p3.onesLike(i),rate:this.recurrentDropout,training:n,count:4,dropoutFunc:this.dropoutFunc}));const s=this.dropoutMask,o=this.recurrentDropoutMask;let a,l,u,c;0{null!=this.cell.dropoutMask&&(p3.dispose(this.cell.dropoutMask),this.cell.dropoutMask=null),null!=this.cell.recurrentDropoutMask&&(p3.dispose(this.cell.recurrentDropoutMask),this.cell.recurrentDropoutMask=null);const n=null==t?null:t.mask,i=null==t?null:t.training,r=null==t?null:t.initialState;return super.call(e,{mask:n,training:i,initialState:r})})}static fromConfig(e,t){return 0===t.implmentation&&(t.implementation=1),new e(t)}}zte.className="LSTM",p3.serialization.registerClass(zte);class jte extends Lte{constructor(e){super(e),this.cells=e.cells}get stateSize(){const e=[];for(const t of this.cells.slice().reverse())Array.isArray(t.stateSize)?e.push(...t.stateSize):e.push(t.stateSize);return e}call(e,t){return(0,p3.tidy)(()=>{let n=e.slice(1);const i=[];for(const e of this.cells.slice().reverse())Array.isArray(e.stateSize)?i.push(n.splice(0,e.stateSize.length)):i.push(n.splice(0,1));i.reverse();const r=[];let s;for(let o=0;o{_8(`RNNCell_${i}`,()=>{n.build(e),t=Array.isArray(n.stateSize)?n.stateSize[0]:n.stateSize,e=[e[0],t]})}),this.built=!0}getConfig(){const e=super.getConfig(),t={cells:this.cells.map(e=>({className:e.getClassName(),config:e.getConfig()}))};return Object.assign(Object.assign({},e),t)}static fromConfig(e,t,n={}){const i=[];for(const e of t.cells)i.push(w7(e,n));return new e({cells:i})}get trainableWeights(){if(!this.trainable)return[];const e=[];for(const t of this.cells)e.push(...t.trainableWeights);return e}get nonTrainableWeights(){const e=[];for(const t of this.cells)e.push(...t.nonTrainableWeights);if(!this.trainable){const t=[];for(const e of this.cells)t.push(...e.trainableWeights);return t.concat(e)}return e}getWeights(){const e=[];for(const t of this.cells)e.push(...t.weights);return b9(e)}setWeights(e){const t=[];for(const n of this.cells){const i=n.weights.length,r=e.splice(i);for(let e=0;enull!=s?s(t(),n):j8(t(),n),a=()=>Y8(o,t,i);if(!r||r<=1)return p3.keep(a().clone());return Array(r).fill(void 0).map(a).map(e=>p3.keep(e.clone()))}jte.className="StackedRNNCells",p3.serialization.registerClass(jte); +function $te(e,t,n,i){if(Array.isArray(e)){if(null!=t||null!=n)throw new U6("When inputs is an array, neither initialState or constants should be provided");null!=i&&(n=e.slice(e.length-i,e.length),e=e.slice(0,e.length-i)),e.length>1&&(t=e.slice(1,e.length)),e=e[0]}function r(e){return null==e||Array.isArray(e)?e:[e]}return{inputs:e,initialState:t=r(t),constants:n=r(n)}}function Ute(e,t,n,i=!1,r,s,o=!1,a=!1){return v3.tidy(()=>{const l=t.shape.length;if(l<3)throw new U6(`Input should be at least 3D, but is ${l}D.`);const u=[1,0].concat(R8(2,l));if(t=v3.transpose(t,u),null!=s)throw new V6("The rnn() functoin of the deeplearn.js backend does not support constants yet.");o&&console.warn("Backend rnn(): the unroll = true option is not applicable to the imperative deeplearn.js backend."),null!=r&&((r=v3.cast(v3.cast(r,"bool"),"float32")).rank===l-1&&(r=v3.expandDims(r,-1)),r=v3.transpose(r,u)),i&&(t=v3.reverse(t,0),null!=r&&(r=v3.reverse(r,0)));const c=[];let d,h=n;const p=t.shape[0],f=v3.unstack(t);let m,g;null!=r&&(m=v3.unstack(r));for(let t=0;te(n,h));if(null==r)d=i[0],h=i[1];else{const e=v3.tidy(()=>{const e=m[t],n=v3.sub(v3.onesLike(e),e);return{output:v3.add(v3.mul(i[0],e),v3.mul(h[0],n)),newStates:h.map((t,r)=>v3.add(v3.mul(i[1][r],e),v3.mul(t,n)))}});d=e.output,h=e.newStates}a&&c.push(d)}if(a){const e=1;g=v3.stack(c,e)}return[d,g,h]})}Bte.className="DepthwiseConv2D",v3.serialization.registerClass(Bte);class Vte extends N9{constructor(e){let t;if(super(e),null==e.cell)throw new U6("cell property is missing for the constructor of RNN.");if(t=Array.isArray(e.cell)?new qte({cells:e.cell}):e.cell,null==t.stateSize)throw new U6("The RNN cell should have an attribute `stateSize` (tuple of integers, one integer per RNN state).");this.cell=t,this.returnSequences=null!=e.returnSequences&&e.returnSequences,this.returnState=null!=e.returnState&&e.returnState,this.goBackwards=null!=e.goBackwards&&e.goBackwards,this._stateful=null!=e.stateful&&e.stateful,this.unroll=null!=e.unroll&&e.unroll,this.supportsMasking=!0,this.inputSpec=[new C9({ndim:3})],this.stateSpec=null,this.states_=null,this.numConstants=null,this.keptStates=[]}getStates(){if(null==this.states_){return R8(0,Array.isArray(this.cell.stateSize)?this.cell.stateSize.length:1).map(e=>null)}return this.states_}setStates(e){this.states_=e}computeOutputShape(e){v9(e)&&(e=e[0]);let t=this.cell.stateSize;Array.isArray(t)||(t=[t]);const n=t[0];let i;if(i=this.returnSequences?[e[0],e[1],n]:[e[0],n],this.returnState){const n=[];for(const i of t)n.push([e[0],i]);return[i].concat(n)}return i}computeMask(e,t){return v3.tidy(()=>{Array.isArray(t)&&(t=t[0]);const e=this.returnSequences?t:null;if(this.returnState){const t=this.states.map(e=>null);return[e].concat(t)}return e})}get states(){if(null==this.states_){const e=Array.isArray(this.cell.stateSize)?this.cell.stateSize.length:1,t=[];for(let n=0;ne.shape[e.shape.length-1]),r))throw new U6(`An initialState was passed that is not compatible with cell.stateSize. Received stateSpec=${this.stateSpec}; However cell.stateSize is ${this.cell.stateSize}`)}else this.stateSpec=r.map(e=>new C9({shape:[null,e]}));this.stateful&&this.resetStates()}resetStates(e,t=!1){(0,v3.tidy)(()=>{if(!this.stateful)throw new B6("Cannot call resetStates() on an RNN Layer that is not stateful.");const n=this.inputSpec[0].shape[0];if(null==n)throw new U6("If an RNN is stateful, it needs to know its batch size. Specify the batch size of your input tensors: \n- If using a Sequential model, specify the batch size by passing a `batchInputShape` option to your first layer.\n- If using the functional API, specify the batch size by passing a `batchShape` option to your Input layer.");if(null==this.states_)Array.isArray(this.cell.stateSize)?this.states_=this.cell.stateSize.map(e=>v3.zeros([n,e])):this.states_=[v3.zeros([n,this.cell.stateSize])];else if(null==e)v3.dispose(this.states_),null!=this.keptStates&&(v3.dispose(this.keptStates),this.keptStates=[]),Array.isArray(this.cell.stateSize)?this.states_=this.cell.stateSize.map(e=>v3.zeros([n,e])):this.states_[0]=v3.zeros([n,this.cell.stateSize]);else{if(Array.isArray(e)||(e=[e]),e.length!==this.states_.length)throw new U6(`Layer ${this.name} expects ${this.states_.length} state(s), but it received ${e.length} state value(s). Input received: ${e}`);!0===t?this.keptStates.push(this.states_.slice()):v3.dispose(this.states_);for(let t=0;tv3.keep(e.clone()))})}apply(e,t){let n=null==t?null:t.initialState,i=null==t?null:t.constants;null==t&&(t={});const r=$te(e,n,i,this.numConstants);e=r.inputs,n=r.initialState,i=r.constants;let s=[],o=[];if(null!=n){t.initialState=n,s=s.concat(n),this.stateSpec=[];for(const e of n)this.stateSpec.push(new C9({shape:e.shape}));o=o.concat(this.stateSpec)}null!=i&&(t.constants=i,s=s.concat(i),this.numConstants=i.length);if(s[0]instanceof O9){const n=[e].concat(s),i=this.inputSpec.concat(o),r=this.inputSpec;this.inputSpec=i;const a=super.apply(n,t);return this.inputSpec=r,a}return super.apply(e,t)}call(e,t){return(0,v3.tidy)(()=>{const n=null==t?null:t.mask,i=null==t?null:t.training;let r=null==t?null:t.initialState;e=T9(e),null==r&&(r=this.stateful?this.states_:this.getInitialState(e));const s=Array.isArray(this.cell.stateSize)?this.cell.stateSize.length:1;if(r.length!==s)throw new U6(`RNN Layer has ${s} state(s) but was passed ${r.length} initial state(s).`);this.unroll&&console.warn("Ignoring unroll = true for RNN layer, due to imperative backend.");const o={training:i},a=Ute((e,t)=>{const n=this.cell.call([e].concat(t),o);return[n[0],n.slice(1)]},e,r,this.goBackwards,n,null,this.unroll,this.returnSequences),l=a[0],u=a[1],c=a[2];this.stateful&&this.resetStates(c,i);const d=this.returnSequences?u:l;return this.returnState?[d].concat(c):d})}getInitialState(e){return(0,v3.tidy)(()=>{let t=v3.zeros(e.shape);return t=v3.sum(t,[1,2]),t=L8(t),Array.isArray(this.cell.stateSize)?this.cell.stateSize.map(e=>e>1?z8(t,[1,e]):t):this.cell.stateSize>1?[z8(t,[1,this.cell.stateSize])]:[t]})}get trainableWeights(){return this.trainable?this.cell.trainableWeights:[]}get nonTrainableWeights(){return this.trainable?this.cell.nonTrainableWeights:this.cell.weights}setFastWeightInitDuringBuild(e){super.setFastWeightInitDuringBuild(e),null!=this.cell&&this.cell.setFastWeightInitDuringBuild(e)}getConfig(){const e=super.getConfig(),t={returnSequences:this.returnSequences,returnState:this.returnState,goBackwards:this.goBackwards,stateful:this.stateful,unroll:this.unroll};null!=this.numConstants&&(t.numConstants=this.numConstants);const n=this.cell.getConfig();return this.getClassName()===Vte.className&&(t.cell={className:this.cell.getClassName(),config:n}),Object.assign(Object.assign(Object.assign({},n),e),t)}static fromConfig(e,t,n={}){const i=M7(t.cell,n);return new e(Object.assign(t,{cell:i}))}}Vte.className="RNN",v3.serialization.registerClass(Vte);class zte extends N9{}class jte extends zte{constructor(e){super(e),this.DEFAULT_ACTIVATION="tanh",this.DEFAULT_KERNEL_INITIALIZER="glorotNormal",this.DEFAULT_RECURRENT_INITIALIZER="orthogonal",this.DEFAULT_BIAS_INITIALIZER="zeros",this.units=e.units,o8(this.units,"units"),this.activation=ste(null==e.activation?this.DEFAULT_ACTIVATION:e.activation),this.useBias=null==e.useBias||e.useBias,this.kernelInitializer=y9(e.kernelInitializer||this.DEFAULT_KERNEL_INITIALIZER),this.recurrentInitializer=y9(e.recurrentInitializer||this.DEFAULT_RECURRENT_INITIALIZER),this.biasInitializer=y9(e.biasInitializer||this.DEFAULT_BIAS_INITIALIZER),this.kernelRegularizer=hte(e.kernelRegularizer),this.recurrentRegularizer=hte(e.recurrentRegularizer),this.biasRegularizer=hte(e.biasRegularizer),this.kernelConstraint=J9(e.kernelConstraint),this.recurrentConstraint=J9(e.recurrentConstraint),this.biasConstraint=J9(e.biasConstraint),this.dropout=M8([1,k8([0,null==e.dropout?0:e.dropout])]),this.recurrentDropout=M8([1,k8([0,null==e.recurrentDropout?0:e.recurrentDropout])]),this.dropoutFunc=e.dropoutFunc,this.stateSize=this.units,this.dropoutMask=null,this.recurrentDropoutMask=null}build(e){e=x9(e),this.kernel=this.addWeight("kernel",[e[e.length-1],this.units],null,this.kernelInitializer,this.kernelRegularizer,!0,this.kernelConstraint),this.recurrentKernel=this.addWeight("recurrent_kernel",[this.units,this.units],null,this.recurrentInitializer,this.recurrentRegularizer,!0,this.recurrentConstraint),this.useBias?this.bias=this.addWeight("bias",[this.units],null,this.biasInitializer,this.biasRegularizer,!0,this.biasConstraint):this.bias=null,this.built=!0}call(e,t){return(0,v3.tidy)(()=>{if(2!==e.length)throw new U6(`SimpleRNNCell expects 2 input Tensors, got ${e.length}.`);let n=e[1];e=e[0];const i=null!=t.training&&t.training;let r;0v3.onesLike(e),rate:this.dropout,training:i,dropoutFunc:this.dropoutFunc})),0v3.onesLike(n),rate:this.recurrentDropout,training:i,dropoutFunc:this.dropoutFunc}));const s=this.dropoutMask,o=this.recurrentDropoutMask;r=Y8(null!=s?v3.mul(e,s):e,this.kernel.read()),null!=this.bias&&(r=X8(r,this.bias.read())),null!=o&&(n=v3.mul(n,o));let a=v3.add(r,Y8(n,this.recurrentKernel.read()));return null!=this.activation&&(a=this.activation.apply(a)),[a,a]})}getConfig(){const e=super.getConfig(),t={units:this.units,activation:ite(this.activation),useBias:this.useBias,kernelInitializer:_9(this.kernelInitializer),recurrentInitializer:_9(this.recurrentInitializer),biasInitializer:_9(this.biasInitializer),kernelRegularizer:cte(this.kernelRegularizer),recurrentRegularizer:cte(this.recurrentRegularizer),biasRegularizer:cte(this.biasRegularizer),activityRegularizer:cte(this.activityRegularizer),kernelConstraint:Z9(this.kernelConstraint),recurrentConstraint:Z9(this.recurrentConstraint),biasConstraint:Z9(this.biasConstraint),dropout:this.dropout,recurrentDropout:this.recurrentDropout};return Object.assign(Object.assign({},e),t)}}jte.className="SimpleRNNCell",v3.serialization.registerClass(jte);class Yte extends Vte{constructor(e){e.cell=new jte(e),super(e)}call(e,t){return(0,v3.tidy)(()=>{null!=this.cell.dropoutMask&&(v3.dispose(this.cell.dropoutMask),this.cell.dropoutMask=null),null!=this.cell.recurrentDropoutMask&&(v3.dispose(this.cell.recurrentDropoutMask),this.cell.recurrentDropoutMask=null);const n=null==t?null:t.mask,i=null==t?null:t.training,r=null==t?null:t.initialState;return super.call(e,{mask:n,training:i,initialState:r})})}static fromConfig(e,t){return new e(t)}}Yte.className="SimpleRNN",v3.serialization.registerClass(Yte);class Gte extends zte{constructor(e){if(super(e),this.DEFAULT_ACTIVATION="tanh",this.DEFAULT_RECURRENT_ACTIVATION="hardSigmoid",this.DEFAULT_KERNEL_INITIALIZER="glorotNormal",this.DEFAULT_RECURRENT_INITIALIZER="orthogonal",this.DEFAULT_BIAS_INITIALIZER="zeros",e.resetAfter)throw new U6("GRUCell does not support reset_after parameter set to true.");this.units=e.units,o8(this.units,"units"),this.activation=ste(void 0===e.activation?this.DEFAULT_ACTIVATION:e.activation),this.recurrentActivation=ste(void 0===e.recurrentActivation?this.DEFAULT_RECURRENT_ACTIVATION:e.recurrentActivation),this.useBias=null==e.useBias||e.useBias,this.kernelInitializer=y9(e.kernelInitializer||this.DEFAULT_KERNEL_INITIALIZER),this.recurrentInitializer=y9(e.recurrentInitializer||this.DEFAULT_RECURRENT_INITIALIZER),this.biasInitializer=y9(e.biasInitializer||this.DEFAULT_BIAS_INITIALIZER),this.kernelRegularizer=hte(e.kernelRegularizer),this.recurrentRegularizer=hte(e.recurrentRegularizer),this.biasRegularizer=hte(e.biasRegularizer),this.kernelConstraint=J9(e.kernelConstraint),this.recurrentConstraint=J9(e.recurrentConstraint),this.biasConstraint=J9(e.biasConstraint),this.dropout=M8([1,k8([0,null==e.dropout?0:e.dropout])]),this.recurrentDropout=M8([1,k8([0,null==e.recurrentDropout?0:e.recurrentDropout])]),this.dropoutFunc=e.dropoutFunc,this.implementation=e.implementation,this.stateSize=this.units,this.dropoutMask=null,this.recurrentDropoutMask=null}build(e){const t=(e=x9(e))[e.length-1];this.kernel=this.addWeight("kernel",[t,3*this.units],null,this.kernelInitializer,this.kernelRegularizer,!0,this.kernelConstraint),this.recurrentKernel=this.addWeight("recurrent_kernel",[this.units,3*this.units],null,this.recurrentInitializer,this.recurrentRegularizer,!0,this.recurrentConstraint),this.useBias?this.bias=this.addWeight("bias",[3*this.units],null,this.biasInitializer,this.biasRegularizer,!0,this.biasConstraint):this.bias=null,this.built=!0}call(e,t){return(0,v3.tidy)(()=>{if(2!==e.length)throw new U6(`GRUCell expects 2 input Tensors (inputs, h, c), got ${e.length}.`);const n=null!=t.training&&t.training;let i=e[1];e=e[0],0v3.onesLike(e),rate:this.dropout,training:n,count:3,dropoutFunc:this.dropoutFunc})),0v3.onesLike(i),rate:this.recurrentDropout,training:n,count:3,dropoutFunc:this.dropoutFunc}));const r=this.dropoutMask,s=this.recurrentDropoutMask;let o,a,l;0{null!=this.cell.dropoutMask&&(v3.dispose(this.cell.dropoutMask),this.cell.dropoutMask=null),null!=this.cell.recurrentDropoutMask&&(v3.dispose(this.cell.recurrentDropoutMask),this.cell.recurrentDropoutMask=null);const n=null==t?null:t.mask,i=null==t?null:t.training,r=null==t?null:t.initialState;return super.call(e,{mask:n,training:i,initialState:r})})}static fromConfig(e,t){return 0===t.implmentation&&(t.implementation=1),new e(t)}}Hte.className="GRU",v3.serialization.registerClass(Hte);class Wte extends zte{constructor(e){super(e),this.DEFAULT_ACTIVATION="tanh",this.DEFAULT_RECURRENT_ACTIVATION="hardSigmoid",this.DEFAULT_KERNEL_INITIALIZER="glorotNormal",this.DEFAULT_RECURRENT_INITIALIZER="orthogonal",this.DEFAULT_BIAS_INITIALIZER="zeros",this.units=e.units,o8(this.units,"units"),this.activation=ste(void 0===e.activation?this.DEFAULT_ACTIVATION:e.activation),this.recurrentActivation=ste(void 0===e.recurrentActivation?this.DEFAULT_RECURRENT_ACTIVATION:e.recurrentActivation),this.useBias=null==e.useBias||e.useBias,this.kernelInitializer=y9(e.kernelInitializer||this.DEFAULT_KERNEL_INITIALIZER),this.recurrentInitializer=y9(e.recurrentInitializer||this.DEFAULT_RECURRENT_INITIALIZER),this.biasInitializer=y9(e.biasInitializer||this.DEFAULT_BIAS_INITIALIZER),this.unitForgetBias=e.unitForgetBias,this.kernelRegularizer=hte(e.kernelRegularizer),this.recurrentRegularizer=hte(e.recurrentRegularizer),this.biasRegularizer=hte(e.biasRegularizer),this.kernelConstraint=J9(e.kernelConstraint),this.recurrentConstraint=J9(e.recurrentConstraint),this.biasConstraint=J9(e.biasConstraint),this.dropout=M8([1,k8([0,null==e.dropout?0:e.dropout])]),this.recurrentDropout=M8([1,k8([0,null==e.recurrentDropout?0:e.recurrentDropout])]),this.dropoutFunc=e.dropoutFunc,this.implementation=e.implementation,this.stateSize=[this.units,this.units],this.dropoutMask=null,this.recurrentDropoutMask=null}build(e){var t;const n=(e=x9(e))[e.length-1];let i;if(this.kernel=this.addWeight("kernel",[n,4*this.units],null,this.kernelInitializer,this.kernelRegularizer,!0,this.kernelConstraint),this.recurrentKernel=this.addWeight("recurrent_kernel",[this.units,4*this.units],null,this.recurrentInitializer,this.recurrentRegularizer,!0,this.recurrentConstraint),this.useBias){if(this.unitForgetBias){const e=this.biasInitializer,n=this.units;i=new((t=class extends J8{apply(t,i){const r=e.apply([n]),s=(new t9).apply([n]),o=e.apply([2*n]);return V8(V8(r,s),o)}}).className="CustomInit",t)}else i=this.biasInitializer;this.bias=this.addWeight("bias",[4*this.units],null,i,this.biasRegularizer,!0,this.biasConstraint)}else this.bias=null;this.built=!0}call(e,t){return(0,v3.tidy)(()=>{const n=null!=t.training&&t.training;if(3!==e.length)throw new U6(`LSTMCell expects 3 input Tensors (inputs, h, c), got ${e.length}.`);let i=e[1];const r=e[2];e=e[0],0v3.onesLike(e),rate:this.dropout,training:n,count:4,dropoutFunc:this.dropoutFunc})),0v3.onesLike(i),rate:this.recurrentDropout,training:n,count:4,dropoutFunc:this.dropoutFunc}));const s=this.dropoutMask,o=this.recurrentDropoutMask;let a,l,u,c;0{null!=this.cell.dropoutMask&&(v3.dispose(this.cell.dropoutMask),this.cell.dropoutMask=null),null!=this.cell.recurrentDropoutMask&&(v3.dispose(this.cell.recurrentDropoutMask),this.cell.recurrentDropoutMask=null);const n=null==t?null:t.mask,i=null==t?null:t.training,r=null==t?null:t.initialState;return super.call(e,{mask:n,training:i,initialState:r})})}static fromConfig(e,t){return 0===t.implmentation&&(t.implementation=1),new e(t)}}Xte.className="LSTM",v3.serialization.registerClass(Xte);class qte extends zte{constructor(e){super(e),this.cells=e.cells}get stateSize(){const e=[];for(const t of this.cells.slice().reverse())Array.isArray(t.stateSize)?e.push(...t.stateSize):e.push(t.stateSize);return e}call(e,t){return(0,v3.tidy)(()=>{let n=e.slice(1);const i=[];for(const e of this.cells.slice().reverse())Array.isArray(e.stateSize)?i.push(n.splice(0,e.stateSize.length)):i.push(n.splice(0,1));i.reverse();const r=[];let s;for(let o=0;o{E8(`RNNCell_${i}`,()=>{n.build(e),t=Array.isArray(n.stateSize)?n.stateSize[0]:n.stateSize,e=[e[0],t]})}),this.built=!0}getConfig(){const e=super.getConfig(),t={cells:this.cells.map(e=>({className:e.getClassName(),config:e.getConfig()}))};return Object.assign(Object.assign({},e),t)}static fromConfig(e,t,n={}){const i=[];for(const e of t.cells)i.push(M7(e,n));return new e({cells:i})}get trainableWeights(){if(!this.trainable)return[];const e=[];for(const t of this.cells)e.push(...t.trainableWeights);return e}get nonTrainableWeights(){const e=[];for(const t of this.cells)e.push(...t.nonTrainableWeights);if(!this.trainable){const t=[];for(const e of this.cells)t.push(...e.trainableWeights);return t.concat(e)}return e}getWeights(){const e=[];for(const t of this.cells)e.push(...t.weights);return A9(e)}setWeights(e){const t=[];for(const n of this.cells){const i=n.weights.length,r=e.splice(i);for(let e=0;enull!=s?s(t(),n):q8(t(),n),a=()=>K8(o,t,i);if(!r||r<=1)return v3.keep(a().clone());return Array(r).fill(void 0).map(a).map(e=>v3.keep(e.clone()))}qte.className="StackedRNNCells",v3.serialization.registerClass(qte); /** * @license * Copyright 2020 Google LLC @@ -11392,7 +11392,7 @@ function Nte(e,t,n,i){if(Array.isArray(e)){if(null!=t||null!=n)throw new D6("Whe * https://opensource.org/licenses/MIT. * ============================================================================= */ -var Gte=function(e,t){var n={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.indexOf(i)<0&&(n[i]=e[i]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(i=Object.getOwnPropertySymbols(e);r{if(null!=this.cell.dropoutMask&&(p3.dispose(this.cell.dropoutMask),this.cell.dropoutMask=null),null!=this.cell.recurrentDropoutMask&&(p3.dispose(this.cell.recurrentDropoutMask),this.cell.recurrentDropoutMask=null),t&&t.constants)throw new D6("ConvRNN2D cell does not support constants");const n=null==t?null:t.mask,i=null==t?null:t.training,r=null==t?null:t.initialState;return super.call(e,{mask:n,training:i,initialState:r})})}computeOutputShape(e){let t=this.computeSingleOutputShape(e);return this.returnSequences||(t=[t[0],...t.slice(2)]),this.returnState&&(t=[t,...Array(2).fill([e[0],...t.slice(-3)])]),t}getInitialState(e){return p3.tidy(()=>{const{stateSize:t}=this.cell,n=e.shape,i=this.computeSingleOutputShape(n),r=[i[0],...i.slice(2)],s=p3.zeros(r);return Array.isArray(t)?Array(t.length).fill(s):[s]})}resetStates(e,t=!1){p3.tidy(()=>{if(!this.stateful)throw new R6("Cannot call resetStates() on an RNN Layer that is not stateful.");const n=this.inputSpec[0].shape,i=this.computeSingleOutputShape(n),r=[i[0],...i.slice(2)];if(null==n[0])throw new D6("If an RNN is stateful, it needs to know its batch size. Specify the batch size of your input tensors: \n- If using a Sequential model, specify the batch size by passing a `batchInputShape` option to your first layer.\n- If using the functional API, specify the batch size by passing a `batchShape` option to your Input layer.");if(null==this.getStates())Array.isArray(this.cell.stateSize)?this.states_=this.cell.stateSize.map(()=>p3.zeros(r)):this.states_=[p3.zeros(r)];else if(null==e)p3.dispose(this.states_),null!=this.keptStates&&(p3.dispose(this.keptStates),this.keptStates=[]),Array.isArray(this.cell.stateSize)?this.states_=this.cell.stateSize.map(()=>p3.zeros(r)):this.states_[0]=p3.zeros(r);else{if(Array.isArray(e)||(e=[e]),e.length!==this.states_.length)throw new D6(`Layer ${this.name} expects ${this.states_.length} state(s), but it received ${e.length} state value(s). Input received: ${e}`);t?this.keptStates.push(this.states_.slice()):p3.dispose(this.states_);for(let t=0;tp3.keep(e.clone()))})}computeSingleOutputShape(e){const{dataFormat:t,filters:n,kernelSize:i,padding:r,strides:s,dilationRate:o}=this.cell,a="channelsFirst"===t,l=e[a?3:2],u=e[a?4:3],c=fte(l,i[0],r,s[0],o[0]),d=fte(u,i[1],r,s[1],o[1]);return[...e.slice(0,2),...a?[n,c,d]:[c,d,n]]}}Hte.className="ConvRNN2D";class Wte extends Vte{constructor(e){const{filters:t,kernelSize:n,strides:i,padding:r,dataFormat:s,dilationRate:o}=e;super(Object.assign(Object.assign({},e),{units:t})),this.filters=t,e8(this.filters,"filters"),this.kernelSize=pte(n,2,"kernelSize"),this.kernelSize.forEach(e=>e8(e,"kernelSize")),this.strides=pte(i||1,2,"strides"),this.strides.forEach(e=>e8(e,"strides")),this.padding=r||"valid",f8(this.padding),this.dataFormat=s||"channelsLast",p8(this.dataFormat),this.dilationRate=pte(o||1,2,"dilationRate"),this.dilationRate.forEach(e=>e8(e,"dilationRate"))}build(e){var t;e=g9(e);const n="channelsFirst"===this.dataFormat?1:e.length-1;if(null==e[n])throw new D6(`The channel dimension of the input should be defined. Found ${e[n]}`);const i=e[n],r=this.kernelSize.concat([i,4*this.filters]);this.kernel=this.addWeight("kernel",r,null,this.kernelInitializer,this.kernelRegularizer,!0,this.kernelConstraint);const s=this.kernelSize.concat([this.filters,4*this.filters]);if(this.recurrentKernel=this.addWeight("recurrent_kernel",s,null,this.recurrentInitializer,this.recurrentRegularizer,!0,this.recurrentConstraint),this.useBias){let e;if(this.unitForgetBias){const n=this.biasInitializer,i=this.filters;e=new((t=class extends W8{apply(e,t){return D8([n.apply([i]),p3.ones([i]),n.apply([2*i])])}}).className="CustomInit",t)}else e=this.biasInitializer;this.bias=this.addWeight("bias",[4*this.filters],null,e,this.biasRegularizer,!0,this.biasConstraint)}this.built=!0}call(e,t){return p3.tidy(()=>{if(3!==e.length)throw new D6(`ConvLSTM2DCell expects 3 input Tensors (inputs, h, c), got ${e.length}.`);const n=t.training||!1,i=e[0],r=e[1],s=e[2];0p3.onesLike(i),rate:this.dropout,training:n,count:4,dropoutFunc:this.dropoutFunc}));const o=this.dropoutMask,a=(e,t,n)=>t&&t[n]?p3.mul(t[n],e):e;let l=a(i,o,0),u=a(i,o,1),c=a(i,o,2),d=a(i,o,3);0p3.onesLike(r),rate:this.recurrentDropout,training:n,count:4,dropoutFunc:this.dropoutFunc}));const h=this.recurrentDropoutMask;let p=a(r,h,0),f=a(r,h,1),m=a(r,h,2),g=a(r,h,3);const[_,y,v,b]=p3.split(this.kernel.read(),4,3),[T,x,E,w]=this.useBias?p3.split(this.bias.read(),4):[null,null,null,null];l=this.inputConv(l,_,T,this.padding),u=this.inputConv(u,y,x,this.padding),c=this.inputConv(c,v,E,this.padding),d=this.inputConv(d,b,w,this.padding);const[I,A,S,C]=p3.split(this.recurrentKernel.read(),4,3);p=this.recurrentConv(p,I),f=this.recurrentConv(f,A),m=this.recurrentConv(m,S),g=this.recurrentConv(g,C);const O=this.recurrentActivation.apply(p3.add(l,p)),M=this.recurrentActivation.apply(p3.add(u,f)),k=p3.add(p3.mul(M,s),p3.mul(O,this.activation.apply(p3.add(c,m)))),R=p3.mul(this.recurrentActivation.apply(p3.add(d,g)),this.activation.apply(k));return[R,R,k]})}getConfig(){const e=super.getConfig(),{units:t}=e,n=Gte(e,["units"]),i={filters:this.filters,kernelSize:this.kernelSize,padding:this.padding,dataFormat:this.dataFormat,dilationRate:this.dilationRate,strides:this.strides};return Object.assign(Object.assign({},n),i)}inputConv(e,t,n,i){const r=p3.conv2d(e,t,this.strides,i||"valid","channelsFirst"===this.dataFormat?"NCHW":"NHWC",this.dilationRate);return n?z8(r,n,this.dataFormat):r}recurrentConv(e,t){return p3.conv2d(e,t,1,"same","channelsFirst"===this.dataFormat?"NCHW":"NHWC")}}Wte.className="ConvLSTM2DCell",p3.serialization.registerClass(Wte);class Xte extends Hte{constructor(e){const t=new Wte(e);super(Object.assign(Object.assign({},e),{cell:t}))}static fromConfig(e,t){return new e(t)}}Xte.className="ConvLSTM2D",p3.serialization.registerClass(Xte); +var Zte=function(e,t){var n={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.indexOf(i)<0&&(n[i]=e[i]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(i=Object.getOwnPropertySymbols(e);r{if(null!=this.cell.dropoutMask&&(v3.dispose(this.cell.dropoutMask),this.cell.dropoutMask=null),null!=this.cell.recurrentDropoutMask&&(v3.dispose(this.cell.recurrentDropoutMask),this.cell.recurrentDropoutMask=null),t&&t.constants)throw new U6("ConvRNN2D cell does not support constants");const n=null==t?null:t.mask,i=null==t?null:t.training,r=null==t?null:t.initialState;return super.call(e,{mask:n,training:i,initialState:r})})}computeOutputShape(e){let t=this.computeSingleOutputShape(e);return this.returnSequences||(t=[t[0],...t.slice(2)]),this.returnState&&(t=[t,...Array(2).fill([e[0],...t.slice(-3)])]),t}getInitialState(e){return v3.tidy(()=>{const{stateSize:t}=this.cell,n=e.shape,i=this.computeSingleOutputShape(n),r=[i[0],...i.slice(2)],s=v3.zeros(r);return Array.isArray(t)?Array(t.length).fill(s):[s]})}resetStates(e,t=!1){v3.tidy(()=>{if(!this.stateful)throw new B6("Cannot call resetStates() on an RNN Layer that is not stateful.");const n=this.inputSpec[0].shape,i=this.computeSingleOutputShape(n),r=[i[0],...i.slice(2)];if(null==n[0])throw new U6("If an RNN is stateful, it needs to know its batch size. Specify the batch size of your input tensors: \n- If using a Sequential model, specify the batch size by passing a `batchInputShape` option to your first layer.\n- If using the functional API, specify the batch size by passing a `batchShape` option to your Input layer.");if(null==this.getStates())Array.isArray(this.cell.stateSize)?this.states_=this.cell.stateSize.map(()=>v3.zeros(r)):this.states_=[v3.zeros(r)];else if(null==e)v3.dispose(this.states_),null!=this.keptStates&&(v3.dispose(this.keptStates),this.keptStates=[]),Array.isArray(this.cell.stateSize)?this.states_=this.cell.stateSize.map(()=>v3.zeros(r)):this.states_[0]=v3.zeros(r);else{if(Array.isArray(e)||(e=[e]),e.length!==this.states_.length)throw new U6(`Layer ${this.name} expects ${this.states_.length} state(s), but it received ${e.length} state value(s). Input received: ${e}`);t?this.keptStates.push(this.states_.slice()):v3.dispose(this.states_);for(let t=0;tv3.keep(e.clone()))})}computeSingleOutputShape(e){const{dataFormat:t,filters:n,kernelSize:i,padding:r,strides:s,dilationRate:o}=this.cell,a="channelsFirst"===t,l=e[a?3:2],u=e[a?4:3],c=bte(l,i[0],r,s[0],o[0]),d=bte(u,i[1],r,s[1],o[1]);return[...e.slice(0,2),...a?[n,c,d]:[c,d,n]]}}Qte.className="ConvRNN2D";class Jte extends Wte{constructor(e){const{filters:t,kernelSize:n,strides:i,padding:r,dataFormat:s,dilationRate:o}=e;super(Object.assign(Object.assign({},e),{units:t})),this.filters=t,o8(this.filters,"filters"),this.kernelSize=vte(n,2,"kernelSize"),this.kernelSize.forEach(e=>o8(e,"kernelSize")),this.strides=vte(i||1,2,"strides"),this.strides.forEach(e=>o8(e,"strides")),this.padding=r||"valid",b8(this.padding),this.dataFormat=s||"channelsLast",v8(this.dataFormat),this.dilationRate=vte(o||1,2,"dilationRate"),this.dilationRate.forEach(e=>o8(e,"dilationRate"))}build(e){var t;e=x9(e);const n="channelsFirst"===this.dataFormat?1:e.length-1;if(null==e[n])throw new U6(`The channel dimension of the input should be defined. Found ${e[n]}`);const i=e[n],r=this.kernelSize.concat([i,4*this.filters]);this.kernel=this.addWeight("kernel",r,null,this.kernelInitializer,this.kernelRegularizer,!0,this.kernelConstraint);const s=this.kernelSize.concat([this.filters,4*this.filters]);if(this.recurrentKernel=this.addWeight("recurrent_kernel",s,null,this.recurrentInitializer,this.recurrentRegularizer,!0,this.recurrentConstraint),this.useBias){let e;if(this.unitForgetBias){const n=this.biasInitializer,i=this.filters;e=new((t=class extends J8{apply(e,t){return U8([n.apply([i]),v3.ones([i]),n.apply([2*i])])}}).className="CustomInit",t)}else e=this.biasInitializer;this.bias=this.addWeight("bias",[4*this.filters],null,e,this.biasRegularizer,!0,this.biasConstraint)}this.built=!0}call(e,t){return v3.tidy(()=>{if(3!==e.length)throw new U6(`ConvLSTM2DCell expects 3 input Tensors (inputs, h, c), got ${e.length}.`);const n=t.training||!1,i=e[0],r=e[1],s=e[2];0v3.onesLike(i),rate:this.dropout,training:n,count:4,dropoutFunc:this.dropoutFunc}));const o=this.dropoutMask,a=(e,t,n)=>t&&t[n]?v3.mul(t[n],e):e;let l=a(i,o,0),u=a(i,o,1),c=a(i,o,2),d=a(i,o,3);0v3.onesLike(r),rate:this.recurrentDropout,training:n,count:4,dropoutFunc:this.dropoutFunc}));const h=this.recurrentDropoutMask;let p=a(r,h,0),f=a(r,h,1),m=a(r,h,2),g=a(r,h,3);const[_,y,v,b]=v3.split(this.kernel.read(),4,3),[T,x,E,w]=this.useBias?v3.split(this.bias.read(),4):[null,null,null,null];l=this.inputConv(l,_,T,this.padding),u=this.inputConv(u,y,x,this.padding),c=this.inputConv(c,v,E,this.padding),d=this.inputConv(d,b,w,this.padding);const[I,A,S,C]=v3.split(this.recurrentKernel.read(),4,3);p=this.recurrentConv(p,I),f=this.recurrentConv(f,A),m=this.recurrentConv(m,S),g=this.recurrentConv(g,C);const O=this.recurrentActivation.apply(v3.add(l,p)),M=this.recurrentActivation.apply(v3.add(u,f)),k=v3.add(v3.mul(M,s),v3.mul(O,this.activation.apply(v3.add(c,m)))),R=v3.mul(this.recurrentActivation.apply(v3.add(d,g)),this.activation.apply(k));return[R,R,k]})}getConfig(){const e=super.getConfig(),{units:t}=e,n=Zte(e,["units"]),i={filters:this.filters,kernelSize:this.kernelSize,padding:this.padding,dataFormat:this.dataFormat,dilationRate:this.dilationRate,strides:this.strides};return Object.assign(Object.assign({},n),i)}inputConv(e,t,n,i){const r=v3.conv2d(e,t,this.strides,i||"valid","channelsFirst"===this.dataFormat?"NCHW":"NHWC",this.dilationRate);return n?X8(r,n,this.dataFormat):r}recurrentConv(e,t){return v3.conv2d(e,t,1,"same","channelsFirst"===this.dataFormat?"NCHW":"NHWC")}}Jte.className="ConvLSTM2DCell",v3.serialization.registerClass(Jte);class ene extends Qte{constructor(e){const t=new Jte(e);super(Object.assign(Object.assign({},e),{cell:t}))}static fromConfig(e,t){return new e(t)}}ene.className="ConvLSTM2D",v3.serialization.registerClass(ene); /** * @license * Copyright 2018 Google LLC @@ -11402,7 +11402,7 @@ var Gte=function(e,t){var n={};for(var i in e)Object.prototype.hasOwnProperty.ca * https://opensource.org/licenses/MIT. * ============================================================================= */ -class qte extends S9{constructor(e){super(e),this.rate=Math.max(Math.min(e.rate,1),0),this.noiseShape=e.noiseShape,this.seed=e.seed,this.supportsMasking=!0}getNoiseShape(e){if(null==this.noiseShape)return this.noiseShape;const t=e.shape,n=[];for(let e=0;e{this.invokeCallHook(e,t);const n=m9(e);if(0j8(n,this.rate,i,this.seed),()=>n,e)}return e})}getConfig(){const e={rate:this.rate,noiseShape:this.noiseShape,seed:this.seed},t=super.getConfig();return Object.assign(e,t),e}dispose(){return super.dispose()}}qte.className="Dropout",p3.serialization.registerClass(qte);class Kte extends qte{constructor(e){super(e),this.inputSpec=[{ndim:3}]}getNoiseShape(e){const t=e.shape;return[t[0],1,t[2]]}}Kte.className="SpatialDropout1D",p3.serialization.registerClass(Kte);class Zte extends S9{constructor(e){if(super(e),this.activation=null,this.useBias=!0,this.kernel=null,this.bias=null,this.DEFAULT_KERNEL_INITIALIZER="glorotNormal",this.DEFAULT_BIAS_INITIALIZER="zeros",null==e.batchInputShape&&null==e.inputShape&&null!=e.inputDim){let t=null;null!=e.batchSize&&(t=e.batchSize),this.batchInputShape=[t,e.inputDim]}this.units=e.units,e8(this.units,"units"),this.activation=Jee(e.activation),null!=e.useBias&&(this.useBias=e.useBias),this.kernelInitializer=h9(e.kernelInitializer||this.DEFAULT_KERNEL_INITIALIZER),this.biasInitializer=h9(e.biasInitializer||this.DEFAULT_BIAS_INITIALIZER),this.kernelConstraint=W9(e.kernelConstraint),this.biasConstraint=W9(e.biasConstraint),this.kernelRegularizer=ote(e.kernelRegularizer),this.biasRegularizer=ote(e.biasRegularizer),this.activityRegularizer=ote(e.activityRegularizer),this.supportsMasking=!0,this.inputSpec=[{minNDim:2}]}build(e){const t=(e=g9(e))[e.length-1];null==this.kernel&&(this.kernel=this.addWeight("kernel",[t,this.units],null,this.kernelInitializer,this.kernelRegularizer,!0,this.kernelConstraint),this.useBias&&(this.bias=this.addWeight("bias",[this.units],null,this.biasInitializer,this.biasRegularizer,!0,this.biasConstraint))),this.inputSpec=[{minNDim:2,axes:{[-1]:t}}],this.built=!0}computeOutputShape(e){const t=(e=g9(e)).slice();return t[t.length-1]=this.units,t}call(e,t){return(0,p3.tidy)(()=>{this.invokeCallHook(e,t);const n=m9(e),i=n8(this.activation.getClassName());let r;return null!=i?r=B8(n,this.kernel.read(),i,this.bias?this.bias.read():null):(r=B8(n,this.kernel.read()),null!=this.bias&&(r=z8(r,this.bias.read())),null!=this.activation&&(r=this.activation.apply(r))),r})}getConfig(){const e={units:this.units,activation:Zee(this.activation),useBias:this.useBias,kernelInitializer:d9(this.kernelInitializer),biasInitializer:d9(this.biasInitializer),kernelRegularizer:rte(this.kernelRegularizer),biasRegularizer:rte(this.biasRegularizer),activityRegularizer:rte(this.activityRegularizer),kernelConstraint:G9(this.kernelConstraint),biasConstraint:G9(this.biasConstraint)},t=super.getConfig();return Object.assign(e,t),e}}Zte.className="Dense",p3.serialization.registerClass(Zte);class Qte extends S9{constructor(e){super(e=e||{}),this.inputSpec=[{minNDim:3}],this.dataFormat=e.dataFormat}computeOutputShape(e){e=g9(e);for(const t of e.slice(1))if(null==t)throw new D6(`The shape of the input to "Flatten" is not fully defined (got ${e.slice(1)}). Make sure to pass a complete "input_shape" or "batch_input_shape" argument to the first layer in your model.`);return[e[0],E8(e,1)]}call(e,t){return(0,p3.tidy)(()=>{this.invokeCallHook(e,t);let n=m9(e);if("channelsFirst"===this.dataFormat&&n.rank>1){const e=[0];for(let t=2;t{this.invokeCallHook(e,t);const n=m9(e);return this.activation.apply(n)})}getConfig(){const e={activation:Zee(this.activation)},t=super.getConfig();return Object.assign(e,t),e}}Jte.className="Activation",p3.serialization.registerClass(Jte);class ene extends S9{constructor(e){super(e),this.n=e.n,this.inputSpec=[{ndim:2}]}computeOutputShape(e){return[e[0],this.n,e[1]]}call(e,t){return(0,p3.tidy)(()=>{return e=m9(e),t=e,n=this.n,(0,p3.tidy)(()=>{if(2!==t.shape.length)throw new D6(`repeat() expects a rank-2 tensor, but received a rank-${t.shape.length} tensor.`);return L8(M8(t,1),[1,n,1])});var t,n})}getConfig(){const e={n:this.n},t=super.getConfig();return Object.assign(e,t),e}}ene.className="RepeatVector",p3.serialization.registerClass(ene);class tne extends S9{constructor(e){super(e),this.targetShape=e.targetShape;for(let e=0;e{this.invokeCallHook(e,t);const n=m9(e),i=n.shape,r=i.slice(0,1).concat(this.fixUnknownDimension(i.slice(1),this.targetShape));return(0,p3.reshape)(n,r)})}getConfig(){const e={targetShape:this.targetShape},t=super.getConfig();return Object.assign(e,t),e}}tne.className="Reshape",p3.serialization.registerClass(tne);class nne extends S9{constructor(e){if(super(e),null==e.dims)throw new Error("Required configuration field `dims` is missing during Permute constructor call.");if(!Array.isArray(e.dims))throw new Error(`Permute constructor requires \`dims\` to be an Array, but received ${e.dims} instead.`);const t=A8(1,e.dims.length+1);if(!p3.util.arraysEqual(e.dims.slice().sort(),t))throw new Error("Invalid permutation `dims`: "+JSON.stringify(e.dims)+" `dims` must contain consecutive integers starting from 1.");this.dims=e.dims,this.dimsIncludingBatch=[0].concat(this.dims),this.inputSpec=[new x9({ndim:this.dims.length+1})]}computeOutputShape(e){const t=(e=g9(e)).slice();return this.dims.forEach((n,i)=>{t[i+1]=e[n]}),t}call(e,t){return(0,p3.transpose)(m9(e),this.dimsIncludingBatch)}getConfig(){const e={dims:this.dims},t=super.getConfig();return Object.assign(e,t),e}}nne.className="Permute",p3.serialization.registerClass(nne);class ine extends S9{constructor(e){super(null==e?{}:e),this.supportsMasking=!0,this.maskValue=null!=e?null==e.maskValue?0:e.maskValue:0}computeOutputShape(e){return e}getConfig(){const e=super.getConfig(),t={maskValue:this.maskValue};return Object.assign(t,e),t}computeMask(e,t){const n=m9(e);return(0,p3.any)((0,p3.notEqual)(n,this.maskValue),-1)}call(e,t){return(0,p3.tidy)(()=>{this.invokeCallHook(e,t);const n=m9(e),i=(0,p3.any)((0,p3.notEqual)(n,this.maskValue),-1,!0);return(0,p3.mul)(n,(0,p3.cast)(i,n.dtype))})}}ine.className="Masking",p3.serialization.registerClass(ine); +class tne extends N9{constructor(e){super(e),this.rate=Math.max(Math.min(e.rate,1),0),this.noiseShape=e.noiseShape,this.seed=e.seed,this.supportsMasking=!0}getNoiseShape(e){if(null==this.noiseShape)return this.noiseShape;const t=e.shape,n=[];for(let e=0;e{this.invokeCallHook(e,t);const n=T9(e);if(0q8(n,this.rate,i,this.seed),()=>n,e)}return e})}getConfig(){const e={rate:this.rate,noiseShape:this.noiseShape,seed:this.seed},t=super.getConfig();return Object.assign(e,t),e}dispose(){return super.dispose()}}tne.className="Dropout",v3.serialization.registerClass(tne);class nne extends tne{constructor(e){super(e),this.inputSpec=[{ndim:3}]}getNoiseShape(e){const t=e.shape;return[t[0],1,t[2]]}}nne.className="SpatialDropout1D",v3.serialization.registerClass(nne);class ine extends N9{constructor(e){if(super(e),this.activation=null,this.useBias=!0,this.kernel=null,this.bias=null,this.DEFAULT_KERNEL_INITIALIZER="glorotNormal",this.DEFAULT_BIAS_INITIALIZER="zeros",null==e.batchInputShape&&null==e.inputShape&&null!=e.inputDim){let t=null;null!=e.batchSize&&(t=e.batchSize),this.batchInputShape=[t,e.inputDim]}this.units=e.units,o8(this.units,"units"),this.activation=ste(e.activation),null!=e.useBias&&(this.useBias=e.useBias),this.kernelInitializer=y9(e.kernelInitializer||this.DEFAULT_KERNEL_INITIALIZER),this.biasInitializer=y9(e.biasInitializer||this.DEFAULT_BIAS_INITIALIZER),this.kernelConstraint=J9(e.kernelConstraint),this.biasConstraint=J9(e.biasConstraint),this.kernelRegularizer=hte(e.kernelRegularizer),this.biasRegularizer=hte(e.biasRegularizer),this.activityRegularizer=hte(e.activityRegularizer),this.supportsMasking=!0,this.inputSpec=[{minNDim:2}]}build(e){const t=(e=x9(e))[e.length-1];null==this.kernel&&(this.kernel=this.addWeight("kernel",[t,this.units],null,this.kernelInitializer,this.kernelRegularizer,!0,this.kernelConstraint),this.useBias&&(this.bias=this.addWeight("bias",[this.units],null,this.biasInitializer,this.biasRegularizer,!0,this.biasConstraint))),this.inputSpec=[{minNDim:2,axes:{[-1]:t}}],this.built=!0}computeOutputShape(e){const t=(e=x9(e)).slice();return t[t.length-1]=this.units,t}call(e,t){return(0,v3.tidy)(()=>{this.invokeCallHook(e,t);const n=T9(e),i=l8(this.activation.getClassName());let r;return null!=i?r=Y8(n,this.kernel.read(),i,this.bias?this.bias.read():null):(r=Y8(n,this.kernel.read()),null!=this.bias&&(r=X8(r,this.bias.read())),null!=this.activation&&(r=this.activation.apply(r))),r})}getConfig(){const e={units:this.units,activation:ite(this.activation),useBias:this.useBias,kernelInitializer:_9(this.kernelInitializer),biasInitializer:_9(this.biasInitializer),kernelRegularizer:cte(this.kernelRegularizer),biasRegularizer:cte(this.biasRegularizer),activityRegularizer:cte(this.activityRegularizer),kernelConstraint:Z9(this.kernelConstraint),biasConstraint:Z9(this.biasConstraint)},t=super.getConfig();return Object.assign(e,t),e}}ine.className="Dense",v3.serialization.registerClass(ine);class rne extends N9{constructor(e){super(e=e||{}),this.inputSpec=[{minNDim:3}],this.dataFormat=e.dataFormat}computeOutputShape(e){e=x9(e);for(const t of e.slice(1))if(null==t)throw new U6(`The shape of the input to "Flatten" is not fully defined (got ${e.slice(1)}). Make sure to pass a complete "input_shape" or "batch_input_shape" argument to the first layer in your model.`);return[e[0],O8(e,1)]}call(e,t){return(0,v3.tidy)(()=>{this.invokeCallHook(e,t);let n=T9(e);if("channelsFirst"===this.dataFormat&&n.rank>1){const e=[0];for(let t=2;t{this.invokeCallHook(e,t);const n=T9(e);return this.activation.apply(n)})}getConfig(){const e={activation:ite(this.activation)},t=super.getConfig();return Object.assign(e,t),e}}sne.className="Activation",v3.serialization.registerClass(sne);class one extends N9{constructor(e){super(e),this.n=e.n,this.inputSpec=[{ndim:2}]}computeOutputShape(e){return[e[0],this.n,e[1]]}call(e,t){return(0,v3.tidy)(()=>{return e=T9(e),t=e,n=this.n,(0,v3.tidy)(()=>{if(2!==t.shape.length)throw new U6(`repeat() expects a rank-2 tensor, but received a rank-${t.shape.length} tensor.`);return z8(L8(t,1),[1,n,1])});var t,n})}getConfig(){const e={n:this.n},t=super.getConfig();return Object.assign(e,t),e}}one.className="RepeatVector",v3.serialization.registerClass(one);class ane extends N9{constructor(e){super(e),this.targetShape=e.targetShape;for(let e=0;e{this.invokeCallHook(e,t);const n=T9(e),i=n.shape,r=i.slice(0,1).concat(this.fixUnknownDimension(i.slice(1),this.targetShape));return(0,v3.reshape)(n,r)})}getConfig(){const e={targetShape:this.targetShape},t=super.getConfig();return Object.assign(e,t),e}}ane.className="Reshape",v3.serialization.registerClass(ane);class lne extends N9{constructor(e){if(super(e),null==e.dims)throw new Error("Required configuration field `dims` is missing during Permute constructor call.");if(!Array.isArray(e.dims))throw new Error(`Permute constructor requires \`dims\` to be an Array, but received ${e.dims} instead.`);const t=R8(1,e.dims.length+1);if(!v3.util.arraysEqual(e.dims.slice().sort(),t))throw new Error("Invalid permutation `dims`: "+JSON.stringify(e.dims)+" `dims` must contain consecutive integers starting from 1.");this.dims=e.dims,this.dimsIncludingBatch=[0].concat(this.dims),this.inputSpec=[new C9({ndim:this.dims.length+1})]}computeOutputShape(e){const t=(e=x9(e)).slice();return this.dims.forEach((n,i)=>{t[i+1]=e[n]}),t}call(e,t){return(0,v3.transpose)(T9(e),this.dimsIncludingBatch)}getConfig(){const e={dims:this.dims},t=super.getConfig();return Object.assign(e,t),e}}lne.className="Permute",v3.serialization.registerClass(lne);class une extends N9{constructor(e){super(null==e?{}:e),this.supportsMasking=!0,this.maskValue=null!=e?null==e.maskValue?0:e.maskValue:0}computeOutputShape(e){return e}getConfig(){const e=super.getConfig(),t={maskValue:this.maskValue};return Object.assign(t,e),t}computeMask(e,t){const n=T9(e);return(0,v3.any)((0,v3.notEqual)(n,this.maskValue),-1)}call(e,t){return(0,v3.tidy)(()=>{this.invokeCallHook(e,t);const n=T9(e),i=(0,v3.any)((0,v3.notEqual)(n,this.maskValue),-1,!0);return(0,v3.mul)(n,(0,v3.cast)(i,n.dtype))})}}une.className="Masking",v3.serialization.registerClass(une); /** * @license * Copyright 2018 Google LLC @@ -11412,7 +11412,7 @@ class qte extends S9{constructor(e){super(e),this.rate=Math.max(Math.min(e.rate, * https://opensource.org/licenses/MIT. * ============================================================================= */ -class rne extends S9{constructor(e){if(super(e),this.embeddings=null,this.DEFAULT_EMBEDDINGS_INITIALIZER="randomUniform",null==e.batchInputShape&&null==e.inputShape){let t=null;null!=e.batchSize&&(t=e.batchSize),null==e.inputLength?this.batchInputShape=[t,null]:this.batchInputShape=[t].concat(z6(e.inputLength))}this.inputDim=e.inputDim,e8(this.inputDim,"inputDim"),this.outputDim=e.outputDim,e8(this.outputDim,"outputDim"),this.embeddingsInitializer=h9(e.embeddingsInitializer||this.DEFAULT_EMBEDDINGS_INITIALIZER),this.embeddingsRegularizer=ote(e.embeddingsRegularizer),this.activityRegularizer=ote(e.activityRegularizer),this.embeddingsConstraint=W9(e.embeddingsConstraint),this.maskZero=e.maskZero,this.supportsMasking=e.maskZero,this.inputLength=e.inputLength}build(e){this.embeddings=this.addWeight("embeddings",[this.inputDim,this.outputDim],this.dtype,this.embeddingsInitializer,this.embeddingsRegularizer,!0,this.embeddingsConstraint),this.built=!0}warnOnIncompatibleInputShape(e){}computeMask(e,t){return(0,p3.tidy)(()=>this.maskZero?(e=m9(e),(0,p3.notEqual)(e,(0,p3.zerosLike)(e))):null)}computeOutputShape(e){if(e=g9(e),null==this.inputLength)return[...e,this.outputDim];const t=z6(this.inputLength);if(t.length!==e.length-1)throw new D6(`"inputLength" is ${this.inputLength}, but received input shape has shape ${e}`);{let n=0;for(let i=0;i{this.invokeCallHook(e,t);let n=m9(e);"int32"!==n.dtype&&(n=O8(n,"int32"));const i=$8(this.embeddings.read(),(0,p3.reshape)(n,[n.size]));return(0,p3.reshape)(i,g9(this.computeOutputShape(n.shape)))})}getConfig(){const e={inputDim:this.inputDim,outputDim:this.outputDim,embeddingsInitializer:d9(this.embeddingsInitializer),embeddingsRegularizer:rte(this.embeddingsRegularizer),activityRegularizer:rte(this.activityRegularizer),embeddingsConstraint:G9(this.embeddingsConstraint),maskZero:this.maskZero,inputLength:this.inputLength},t=super.getConfig();return Object.assign(e,t),e}}rne.className="Embedding",p3.serialization.registerClass(rne); +class cne extends N9{constructor(e){if(super(e),this.embeddings=null,this.DEFAULT_EMBEDDINGS_INITIALIZER="randomUniform",null==e.batchInputShape&&null==e.inputShape){let t=null;null!=e.batchSize&&(t=e.batchSize),null==e.inputLength?this.batchInputShape=[t,null]:this.batchInputShape=[t].concat(X6(e.inputLength))}this.inputDim=e.inputDim,o8(this.inputDim,"inputDim"),this.outputDim=e.outputDim,o8(this.outputDim,"outputDim"),this.embeddingsInitializer=y9(e.embeddingsInitializer||this.DEFAULT_EMBEDDINGS_INITIALIZER),this.embeddingsRegularizer=hte(e.embeddingsRegularizer),this.activityRegularizer=hte(e.activityRegularizer),this.embeddingsConstraint=J9(e.embeddingsConstraint),this.maskZero=e.maskZero,this.supportsMasking=e.maskZero,this.inputLength=e.inputLength}build(e){this.embeddings=this.addWeight("embeddings",[this.inputDim,this.outputDim],this.dtype,this.embeddingsInitializer,this.embeddingsRegularizer,!0,this.embeddingsConstraint),this.built=!0}warnOnIncompatibleInputShape(e){}computeMask(e,t){return(0,v3.tidy)(()=>this.maskZero?(e=T9(e),(0,v3.notEqual)(e,(0,v3.zerosLike)(e))):null)}computeOutputShape(e){if(e=x9(e),null==this.inputLength)return[...e,this.outputDim];const t=X6(this.inputLength);if(t.length!==e.length-1)throw new U6(`"inputLength" is ${this.inputLength}, but received input shape has shape ${e}`);{let n=0;for(let i=0;i{this.invokeCallHook(e,t);let n=T9(e);"int32"!==n.dtype&&(n=F8(n,"int32"));const i=G8(this.embeddings.read(),(0,v3.reshape)(n,[n.size]));return(0,v3.reshape)(i,x9(this.computeOutputShape(n.shape)))})}getConfig(){const e={inputDim:this.inputDim,outputDim:this.outputDim,embeddingsInitializer:_9(this.embeddingsInitializer),embeddingsRegularizer:cte(this.embeddingsRegularizer),activityRegularizer:cte(this.activityRegularizer),embeddingsConstraint:Z9(this.embeddingsConstraint),maskZero:this.maskZero,inputLength:this.inputLength},t=super.getConfig();return Object.assign(e,t),e}}cne.className="Embedding",v3.serialization.registerClass(cne); /** * @license * Copyright 2018 Google LLC @@ -11422,7 +11422,7 @@ class rne extends S9{constructor(e){if(super(e),this.embeddings=null,this.DEFAUL * https://opensource.org/licenses/MIT. * ============================================================================= */ -class sne extends S9{constructor(e){super(e||{}),this.supportsMasking=!0}mergeFunction(e){throw new F6}computeElementwiseOpOutputShape(e,t){if(null==e||null==t)return null;if(e.length1)throw new D6(`Can not merge tensors with different batch sizes. Got tensors with shapes: ${JSON.stringify(e)}.`);let n=null==e[0]?null:e[0].slice(1);for(let t=1;te.length);-1===e.indexOf(null)&&1===K6(i).length?this.reshapeRequired=!1:this.reshapeRequired=!0}call(e,t){return(0,p3.tidy)(()=>{if(this.reshapeRequired){const t=[],n=e.map(e=>e.rank);if(-1===n.indexOf(null)){const i=I8(n);for(let n of e){const e=n.rank;for(let t=0;t1){const r=A8(1,e).concat([0]);t.push(p3.transpose(i,r)),n=!0}else t.push(i)}let i=this.mergeFunction(t);const r=i.rank;if(n)if(null==r){const e=i.shape,t=e[e.length-1],n=[t].concat(e.slice(0,e.length-1));i=p3.reshape(p3.transpose(p3.reshape(i,[-1,t]),[1,0]),n)}else if(r>1){const e=[r-1].concat(A8(0,r-1));i=p3.transpose(i,e)}return i}}return this.mergeFunction(e)})}computeOutputShape(e){let t;t=null==e[0]?null:e[0].slice(1);for(let n=1;n{if(null==t)return null;if(!Array.isArray(t))throw new D6("`mask` should be an Array");if(!Array.isArray(e))throw new D6("`inputs` should be an Array");if(t.length!==e.length)throw new D6(`The Array 'inputs' and 'mask' are expected to have the same length, but have different lengths (${e.length} vs ${t.length})`);if(t.every(e=>null==e))return null;let n=(t=t.map(e=>null==e?e:p3.expandDims(e,0)))[0];for(let e=1;e{let t=e[0].clone();for(let n=1;n{let t=e[0].clone();for(let n=1;n{let t=e[0].clone();for(let n=1;n{let t=e[0];for(let n=1;n{let t=e[0];for(let n=1;n1)throw new D6("A `Concatenate` layer requires inputs with matching shapes except for the concat axis. Got input shapes: "+JSON.stringify(e))}mergeFunction(e){return(0,p3.tidy)(()=>D8(e,this.axis))}computeOutputShape(e){if(!Array.isArray(e)||!Array.isArray(e[0]))throw new D6("A `Concatenate` layer should be called on a list of inputs.");const t=e,n=t[0].slice(),i=this.axis<0?n.length+this.axis:this.axis;for(const e of t.slice(1)){if(null==n[i]||null==e[i]){n[i]=null;break}n[i]+=e[i]}return n}computeMask(e,t){if(null==t)return null;if(!Array.isArray(t))throw new D6("`mask` should be an array for Concatenate");if(!Array.isArray(e))throw new D6("`inputs` should be an array for Concatenate");if(t.length!==e.length)throw new D6(`Mismatch in the length of mask (${t.length}) and the legnth of inputs (${e.length})`);return p3.tidy(()=>{let n=!0;if(t.forEach(e=>{null==e||(n=!1)}),n)return null;const i=[];for(let n=0;n"A `Dot` layer should be called on a list of exactly 2 inputs.");const t=e[0],n=e[1];if(t.length>3||n.length>3)throw new F6("Dot layer does not support tensors of 4D or higher rank yet.");const i=this.interpretAxes(t,n);if(t[i[0]]!==n[i[1]])throw new D6(`Dimension incompatibility: ${t[i[0]]} !== ${n[i[1]]}`)}mergeFunction(e){if(2!==e.length)throw new D6(`A \`Dot\` layer must be called on exactly 2 inputs, but received ${e.length} input(s).`);let t,n=e[0],i=e[1];return t=Array.isArray(this.axes)?this.axes.map((t,n)=>hne(t,e[n].shape.length)):[hne(this.axes,n.shape.length),hne(this.axes,i.shape.length)],this.normalize&&(n=I7(n,t[0]),i=I7(i,t[1])),function(e,t,n){if(e.shape.length>3||t.shape.length>3)throw new F6("batchDot is not implemented for tensors of 4D or higher rank yet");if(p3.util.assert(e.shape.length>=2,()=>`batchDot requires the rank of x to be >= 2, but got ${e.shape.length}`),p3.util.assert(e.shape.length>=2,()=>`batchDot requires the rank of y to be >= 2, but got ${t.shape.length}`),"number"==typeof n&&(n=[n,n]),"complex64"===e.dtype||"complex64"===t.dtype)throw new F6("batchDot is not implemented for complex64-type Tensors yet.");const i=e.shape.length,r=t.shape.length;null==n&&(n=[i-1,r-2]);const s=n;return p3.tidy(()=>{let n,o;if(i>r){n=i-r;const e=[];for(let t=0;ti){n=r-i;const t=[];for(let e=0;e0){let e;e=i>r?i+r-3:i-1;const t=[];for(let i=e;i"A `Dot` layer should be called on a list of exactly 2 inputs.");const t=e[0].slice(),n=e[1].slice();if(t.length>3||n.length>3)throw new F6("Dot layer does not support tensors of 4D or higher rank yet.");const i=this.interpretAxes(t,n);t.splice(i[0],1),n.splice(i[1],1),n.splice(0,1);const r=t.concat(n);return 1===r.length&&r.push(1),r}computeMask(e,t){return null}getConfig(){const e={axes:this.axes,normalize:this.normalize},t=super.getConfig();return Object.assign(e,t),e}}pne.className="Dot",p3.serialization.registerClass(pne); +class dne extends N9{constructor(e){super(e||{}),this.supportsMasking=!0}mergeFunction(e){throw new V6}computeElementwiseOpOutputShape(e,t){if(null==e||null==t)return null;if(e.length1)throw new U6(`Can not merge tensors with different batch sizes. Got tensors with shapes: ${JSON.stringify(e)}.`);let n=null==e[0]?null:e[0].slice(1);for(let t=1;te.length);-1===e.indexOf(null)&&1===n8(i).length?this.reshapeRequired=!1:this.reshapeRequired=!0}call(e,t){return(0,v3.tidy)(()=>{if(this.reshapeRequired){const t=[],n=e.map(e=>e.rank);if(-1===n.indexOf(null)){const i=k8(n);for(let n of e){const e=n.rank;for(let t=0;t1){const r=R8(1,e).concat([0]);t.push(v3.transpose(i,r)),n=!0}else t.push(i)}let i=this.mergeFunction(t);const r=i.rank;if(n)if(null==r){const e=i.shape,t=e[e.length-1],n=[t].concat(e.slice(0,e.length-1));i=v3.reshape(v3.transpose(v3.reshape(i,[-1,t]),[1,0]),n)}else if(r>1){const e=[r-1].concat(R8(0,r-1));i=v3.transpose(i,e)}return i}}return this.mergeFunction(e)})}computeOutputShape(e){let t;t=null==e[0]?null:e[0].slice(1);for(let n=1;n{if(null==t)return null;if(!Array.isArray(t))throw new U6("`mask` should be an Array");if(!Array.isArray(e))throw new U6("`inputs` should be an Array");if(t.length!==e.length)throw new U6(`The Array 'inputs' and 'mask' are expected to have the same length, but have different lengths (${e.length} vs ${t.length})`);if(t.every(e=>null==e))return null;let n=(t=t.map(e=>null==e?e:v3.expandDims(e,0)))[0];for(let e=1;e{let t=e[0].clone();for(let n=1;n{let t=e[0].clone();for(let n=1;n{let t=e[0].clone();for(let n=1;n{let t=e[0];for(let n=1;n{let t=e[0];for(let n=1;n1)throw new U6("A `Concatenate` layer requires inputs with matching shapes except for the concat axis. Got input shapes: "+JSON.stringify(e))}mergeFunction(e){return(0,v3.tidy)(()=>U8(e,this.axis))}computeOutputShape(e){if(!Array.isArray(e)||!Array.isArray(e[0]))throw new U6("A `Concatenate` layer should be called on a list of inputs.");const t=e,n=t[0].slice(),i=this.axis<0?n.length+this.axis:this.axis;for(const e of t.slice(1)){if(null==n[i]||null==e[i]){n[i]=null;break}n[i]+=e[i]}return n}computeMask(e,t){if(null==t)return null;if(!Array.isArray(t))throw new U6("`mask` should be an array for Concatenate");if(!Array.isArray(e))throw new U6("`inputs` should be an array for Concatenate");if(t.length!==e.length)throw new U6(`Mismatch in the length of mask (${t.length}) and the legnth of inputs (${e.length})`);return v3.tidy(()=>{let n=!0;if(t.forEach(e=>{null==e||(n=!1)}),n)return null;const i=[];for(let n=0;n"A `Dot` layer should be called on a list of exactly 2 inputs.");const t=e[0],n=e[1];if(t.length>3||n.length>3)throw new V6("Dot layer does not support tensors of 4D or higher rank yet.");const i=this.interpretAxes(t,n);if(t[i[0]]!==n[i[1]])throw new U6(`Dimension incompatibility: ${t[i[0]]} !== ${n[i[1]]}`)}mergeFunction(e){if(2!==e.length)throw new U6(`A \`Dot\` layer must be called on exactly 2 inputs, but received ${e.length} input(s).`);let t,n=e[0],i=e[1];return t=Array.isArray(this.axes)?this.axes.map((t,n)=>yne(t,e[n].shape.length)):[yne(this.axes,n.shape.length),yne(this.axes,i.shape.length)],this.normalize&&(n=k7(n,t[0]),i=k7(i,t[1])),function(e,t,n){if(e.shape.length>3||t.shape.length>3)throw new V6("batchDot is not implemented for tensors of 4D or higher rank yet");if(v3.util.assert(e.shape.length>=2,()=>`batchDot requires the rank of x to be >= 2, but got ${e.shape.length}`),v3.util.assert(e.shape.length>=2,()=>`batchDot requires the rank of y to be >= 2, but got ${t.shape.length}`),"number"==typeof n&&(n=[n,n]),"complex64"===e.dtype||"complex64"===t.dtype)throw new V6("batchDot is not implemented for complex64-type Tensors yet.");const i=e.shape.length,r=t.shape.length;null==n&&(n=[i-1,r-2]);const s=n;return v3.tidy(()=>{let n,o;if(i>r){n=i-r;const e=[];for(let t=0;ti){n=r-i;const t=[];for(let e=0;e0){let e;e=i>r?i+r-3:i-1;const t=[];for(let i=e;i"A `Dot` layer should be called on a list of exactly 2 inputs.");const t=e[0].slice(),n=e[1].slice();if(t.length>3||n.length>3)throw new V6("Dot layer does not support tensors of 4D or higher rank yet.");const i=this.interpretAxes(t,n);t.splice(i[0],1),n.splice(i[1],1),n.splice(0,1);const r=t.concat(n);return 1===r.length&&r.push(1),r}computeMask(e,t){return null}getConfig(){const e={axes:this.axes,normalize:this.normalize},t=super.getConfig();return Object.assign(e,t),e}}vne.className="Dot",v3.serialization.registerClass(vne); /** * @license * Copyright 2018 Google LLC @@ -11432,7 +11432,7 @@ class sne extends S9{constructor(e){super(e||{}),this.supportsMasking=!0}mergeFu * https://opensource.org/licenses/MIT. * ============================================================================= */ -class fne extends S9{constructor(e){super(e),this.supportsMasking=!0,this.stddev=e.stddev}computeOutputShape(e){return e}getConfig(){const e=super.getConfig(),t={stddev:this.stddev};return Object.assign(t,e),t}call(e,t){return(0,p3.tidy)(()=>{this.invokeCallHook(e,t);const n=m9(e);return Y8(()=>(0,p3.add)(P8(n.shape,0,this.stddev),n),()=>n,t.training||!1)})}}fne.className="GaussianNoise",p3.serialization.registerClass(fne);class mne extends S9{constructor(e){super(e),this.supportsMasking=!0,this.rate=e.rate}computeOutputShape(e){return e}getConfig(){const e=super.getConfig(),t={rate:this.rate};return Object.assign(t,e),t}call(e,t){return(0,p3.tidy)(()=>{this.invokeCallHook(e,t);const n=m9(e);if(this.rate>0&&this.rate<1){return Y8(()=>{const e=Math.sqrt(this.rate/(1-this.rate));return(0,p3.mul)(n,P8(n.shape,1,e))},()=>n,t.training||!1)}return n})}}mne.className="GaussianDropout",p3.serialization.registerClass(mne);class gne extends S9{constructor(e){super(e),this.supportsMasking=!0,this.rate=e.rate,this.noiseShape=e.noiseShape}_getNoiseShape(e){return this.noiseShape||m9(e).shape}computeOutputShape(e){return e}getConfig(){const e=super.getConfig(),t={rate:this.rate};return Object.assign(t,e),t}call(e,t){return(0,p3.tidy)(()=>{if(this.rate<1&&this.rate>0){const n=this._getNoiseShape(e),i=()=>{const t=m9(e),i=-1.7580993408473766;let r=(0,p3.greaterEqual)((0,p3.randomUniform)(n),this.rate);r=O8(r,"float32");const s=((1-this.rate)*(1+this.rate*i**2))**-.5,o=-s*i*this.rate,a=(0,p3.add)((0,p3.mul)(t,r),(0,p3.mul)((0,p3.add)(r,-1),i));return(0,p3.add)((0,p3.mul)(a,s),o)};return Y8(i,()=>m9(e),t.training||!1)}return e})}} +class bne extends N9{constructor(e){super(e),this.supportsMasking=!0,this.stddev=e.stddev}computeOutputShape(e){return e}getConfig(){const e=super.getConfig(),t={stddev:this.stddev};return Object.assign(t,e),t}call(e,t){return(0,v3.tidy)(()=>{this.invokeCallHook(e,t);const n=T9(e);return K8(()=>(0,v3.add)(j8(n.shape,0,this.stddev),n),()=>n,t.training||!1)})}}bne.className="GaussianNoise",v3.serialization.registerClass(bne);class Tne extends N9{constructor(e){super(e),this.supportsMasking=!0,this.rate=e.rate}computeOutputShape(e){return e}getConfig(){const e=super.getConfig(),t={rate:this.rate};return Object.assign(t,e),t}call(e,t){return(0,v3.tidy)(()=>{this.invokeCallHook(e,t);const n=T9(e);if(this.rate>0&&this.rate<1){return K8(()=>{const e=Math.sqrt(this.rate/(1-this.rate));return(0,v3.mul)(n,j8(n.shape,1,e))},()=>n,t.training||!1)}return n})}}Tne.className="GaussianDropout",v3.serialization.registerClass(Tne);class xne extends N9{constructor(e){super(e),this.supportsMasking=!0,this.rate=e.rate,this.noiseShape=e.noiseShape}_getNoiseShape(e){return this.noiseShape||T9(e).shape}computeOutputShape(e){return e}getConfig(){const e=super.getConfig(),t={rate:this.rate};return Object.assign(t,e),t}call(e,t){return(0,v3.tidy)(()=>{if(this.rate<1&&this.rate>0){const n=this._getNoiseShape(e),i=()=>{const t=T9(e),i=-1.7580993408473766;let r=(0,v3.greaterEqual)((0,v3.randomUniform)(n),this.rate);r=F8(r,"float32");const s=((1-this.rate)*(1+this.rate*i**2))**-.5,o=-s*i*this.rate,a=(0,v3.add)((0,v3.mul)(t,r),(0,v3.mul)((0,v3.add)(r,-1),i));return(0,v3.add)((0,v3.mul)(a,s),o)};return K8(i,()=>T9(e),t.training||!1)}return e})}} /** * @license * Copyright 2018 Google LLC @@ -11442,7 +11442,7 @@ class fne extends S9{constructor(e){super(e),this.supportsMasking=!0,this.stddev * https://opensource.org/licenses/MIT. * ============================================================================= */ -function _ne(e,t,n,i,r,s=.001){let o;if(2===e.rank)o=p3.batchNorm2d(e,t,n,i,r,s);else if(3===e.rank)o=p3.batchNorm3d(e,t,n,i,r,s);else{if(4!==e.rank)throw new F6(`batchNormalization is not implemented for array of rank ${e.rank} yet`);o=p3.batchNorm4d(e,t,n,i,r,s)}return o}function yne(e,t,n,i,r=.001){return p3.util.arraysEqual(i.slice().sort(),A8(0,e.rank-1))?function(e,t,n,i,r=.001){return(0,p3.tidy)(()=>{const s=p3.moments(e,i),o=s.mean,a=s.variance;return[_ne(e,o,a,n,t,r),o,a]})}(e,t,n,i,r):function(e,t,n,i,r=.001){return(0,p3.tidy)(()=>{const s=p3.moments(e,i),o=s.mean,a=s.variance,l=[];for(const t of A8(0,e.rank))-1!==i.indexOf(t)?l.push(1):l.push(e.shape[t]);const u=(0,p3.reshape)(o,l),c=(0,p3.reshape)(a,l),d=null==t?null:(0,p3.reshape)(t,l),h=null==n?null:(0,p3.reshape)(n,l);return[_ne(e,u,c,h,d,r),o,a]})}(e,t,n,i,r)}gne.className="AlphaDropout",p3.serialization.registerClass(gne);class vne extends S9{constructor(e){null==e&&(e={}),super(e),this.supportsMasking=!0,this.axis=null==e.axis?-1:e.axis,this.momentum=null==e.momentum?.99:e.momentum,this.epsilon=null==e.epsilon?.001:e.epsilon,this.center=null==e.center||e.center,this.scale=null==e.scale||e.scale,this.betaInitializer=h9(e.betaInitializer||"zeros"),this.gammaInitializer=h9(e.gammaInitializer||"ones"),this.movingMeanInitializer=h9(e.movingMeanInitializer||"zeros"),this.movingVarianceInitializer=h9(e.movingVarianceInitializer||"ones"),this.betaConstraint=W9(e.betaConstraint),this.gammaConstraint=W9(e.gammaConstraint),this.betaRegularizer=ote(e.betaRegularizer),this.gammaRegularizer=ote(e.gammaRegularizer)}build(e){e=g9(e);const t=this.axis>=0?this.axis:this.axis+e.length,n=e[t];if(null==n)throw new D6(`Axis ${t} of input tensor should have a defined dimension but the layer received an input with shape ${JSON.stringify(e)}.`);this.inputSpec=[new x9({ndim:e.length,axes:{[t]:n}})];const i=[n];this.scale&&(this.gamma=this.addWeight("gamma",i,null,this.gammaInitializer,this.gammaRegularizer,!0,this.gammaConstraint)),this.center&&(this.beta=this.addWeight("beta",i,null,this.betaInitializer,this.betaRegularizer,!0,this.betaConstraint)),this.movingMean=this.addWeight("moving_mean",i,null,this.movingMeanInitializer,null,!1),this.movingVariance=this.addWeight("moving_variance",i,null,this.movingVarianceInitializer,null,!1),this.built=!0}call(e,t){return(0,p3.tidy)(()=>{const n=null!=t.training&&t.training,i=m9(e),r=i.shape,s=r.length,o=A8(0,s),a=this.axis>=0?this.axis:this.axis+s;o.splice(a,1);const l=B6(1,s);l[a]=r[a];const u=o.slice();u.sort();const c=!p3.util.arraysEqual(u,A8(0,s).slice(0,s-1));if(!n)return(()=>{if(c){const e=(0,p3.reshape)(this.movingMean.read(),l),t=(0,p3.reshape)(this.movingVariance.read(),l),n=this.center?(0,p3.reshape)(this.beta.read(),l):null,r=this.scale?(0,p3.reshape)(this.gamma.read(),l):null;return _ne(i,e,t,n,r,this.epsilon)}return _ne(i,this.movingMean.read(),this.movingVariance.read(),null==this.beta?null:this.beta.read(),null==this.gamma?null:this.gamma.read(),this.epsilon)})();const[d,h,p]=yne(i,this.gamma.read(),this.beta.read(),o,this.epsilon),f=(e,t,n)=>{p3.tidy(()=>{const i=1-n,r=e.read(),s=p3.mul(p3.sub(r,t),i);e.write(p3.sub(r,s))})};return(()=>{f(this.movingMean,h,this.momentum),f(this.movingVariance,p,this.momentum)})(),d})}getConfig(){const e={axis:this.axis,momentum:this.momentum,epsilon:this.epsilon,center:this.center,scale:this.scale,betaInitializer:d9(this.betaInitializer),gammaInitializer:d9(this.gammaInitializer),movingMeanInitializer:d9(this.movingMeanInitializer),movingVarianceInitializer:d9(this.movingVarianceInitializer),betaRegularizer:rte(this.betaRegularizer),gammaRegularizer:rte(this.gammaRegularizer),betaConstraint:G9(this.betaConstraint),gammaConstraint:G9(this.gammaConstraint)},t=super.getConfig();return Object.assign(e,t),e}}vne.className="BatchNormalization",p3.serialization.registerClass(vne);class bne extends S9{constructor(e){if(null==e&&(e={}),super(e),this.axis=null==e.axis?-1:e.axis,"number"==typeof this.axis){if(!Number.isInteger(this.axis))throw new Error(`Expected axis to be an integer, but received ${this.axis}`)}else{if(!Array.isArray(this.axis))throw new Error(`Expected axis to be an integer or an array of integers, but received ${JSON.stringify(this.axis)}`);for(const e of this.axis)if(!Number.isInteger(e))throw new Error(`Expected axis to be an array of integers, but received ${JSON.stringify(this.axis)}`)}this.epsilon=null==e.epsilon?.001:e.epsilon,this.center=null==e.center||e.center,this.scale=null==e.scale||e.scale,this.betaInitializer=h9(e.betaInitializer||"zeros"),this.gammaInitializer=h9(e.gammaInitializer||"ones"),this.betaRegularizer=ote(e.betaRegularizer),this.gammaRegularizer=ote(e.gammaRegularizer),this.supportsMasking=!0}build(e){const t=(e=g9(e)).length;"number"==typeof this.axis&&(this.axis=[this.axis]);for(let e=0;e=t)throw new Error(`Invalid axis: ${e}`);if(this.axis.length!==K6(this.axis).length)throw new Error(`Found duplicate axes in: ${this.axis}`);const n=this.axis.map(t=>e[t]),i=!0;this.scale?this.gamma=this.addWeight("gamma",n,"float32",this.gammaInitializer,this.gammaRegularizer,i):this.gamma=null,this.center?this.beta=this.addWeight("beta",n,"float32",this.betaInitializer,this.betaRegularizer,i):this.beta=null,this.built=!0}call(e,t){const n=m9(e),i=n.shape,r=i.length;return(0,p3.tidy)(()=>{let{mean:e,variance:t}=(0,p3.moments)(n,this.axis,!0);const s=B6(1,r);for(const e of this.axis)s[e]=i[e];const o=e=>null!=e&&e.shape.length!==r?p3.reshape(e,s):e;let a=this.scale?o(this.gamma.read()):null,l=this.center?o(this.beta.read()):null;const u=[],c=[];for(let e=0;e=0?e[2]+this.padding[0][0]+this.padding[0][1]:null,n=null!=e[3]&&e[3]>=0?e[3]+this.padding[1][0]+this.padding[1][1]:null,[e[0],e[1],t,n]):(t=null!=e[1]&&e[1]>=0?e[1]+this.padding[0][0]+this.padding[0][1]:null,n=null!=e[2]&&e[2]>=0?e[2]+this.padding[1][0]+this.padding[1][1]:null,[e[0],t,n,e[3]])}call(e,t){return(0,p3.tidy)(()=>{return t=m9(e),n=this.padding,i=this.dataFormat,(0,p3.tidy)(()=>{if(4!==t.rank)throw new D6(`temporalPadding expects input tensor to be 4-D, but received a ${t.rank}-D tensor.`);if(null==n&&(n=[[1,1],[1,1]]),2!==n.length||2!==n[0].length||2!==n[1].length)throw new D6("spatial2dPadding expects `padding` to be an Array of two Arrays, each of which is an Array of two integers.");if(null==i&&(i="channelsLast"),"channelsLast"!==i&&"channelsFirst"!==i)throw new D6(`Unknown data format: ${i}. Supported data formats are 'channelsLast' and 'channelsFirst.`);let e;return e="channelsFirst"===i?[[0,0],[0,0],n[0],n[1]]:[[0,0],n[0],n[1],[0,0]],p3.pad(t,e)});var t,n,i})}getConfig(){const e={padding:this.padding,dataFormat:this.dataFormat},t=super.getConfig();return Object.assign(e,t),e}} +function Ene(e,t,n,i,r,s=.001){let o;if(2===e.rank)o=v3.batchNorm2d(e,t,n,i,r,s);else if(3===e.rank)o=v3.batchNorm3d(e,t,n,i,r,s);else{if(4!==e.rank)throw new V6(`batchNormalization is not implemented for array of rank ${e.rank} yet`);o=v3.batchNorm4d(e,t,n,i,r,s)}return o}function wne(e,t,n,i,r=.001){return v3.util.arraysEqual(i.slice().sort(),R8(0,e.rank-1))?function(e,t,n,i,r=.001){return(0,v3.tidy)(()=>{const s=v3.moments(e,i),o=s.mean,a=s.variance;return[Ene(e,o,a,n,t,r),o,a]})}(e,t,n,i,r):function(e,t,n,i,r=.001){return(0,v3.tidy)(()=>{const s=v3.moments(e,i),o=s.mean,a=s.variance,l=[];for(const t of R8(0,e.rank))-1!==i.indexOf(t)?l.push(1):l.push(e.shape[t]);const u=(0,v3.reshape)(o,l),c=(0,v3.reshape)(a,l),d=null==t?null:(0,v3.reshape)(t,l),h=null==n?null:(0,v3.reshape)(n,l);return[Ene(e,u,c,h,d,r),o,a]})}(e,t,n,i,r)}xne.className="AlphaDropout",v3.serialization.registerClass(xne);class Ine extends N9{constructor(e){null==e&&(e={}),super(e),this.supportsMasking=!0,this.axis=null==e.axis?-1:e.axis,this.momentum=null==e.momentum?.99:e.momentum,this.epsilon=null==e.epsilon?.001:e.epsilon,this.center=null==e.center||e.center,this.scale=null==e.scale||e.scale,this.betaInitializer=y9(e.betaInitializer||"zeros"),this.gammaInitializer=y9(e.gammaInitializer||"ones"),this.movingMeanInitializer=y9(e.movingMeanInitializer||"zeros"),this.movingVarianceInitializer=y9(e.movingVarianceInitializer||"ones"),this.betaConstraint=J9(e.betaConstraint),this.gammaConstraint=J9(e.gammaConstraint),this.betaRegularizer=hte(e.betaRegularizer),this.gammaRegularizer=hte(e.gammaRegularizer)}build(e){e=x9(e);const t=this.axis>=0?this.axis:this.axis+e.length,n=e[t];if(null==n)throw new U6(`Axis ${t} of input tensor should have a defined dimension but the layer received an input with shape ${JSON.stringify(e)}.`);this.inputSpec=[new C9({ndim:e.length,axes:{[t]:n}})];const i=[n];this.scale&&(this.gamma=this.addWeight("gamma",i,null,this.gammaInitializer,this.gammaRegularizer,!0,this.gammaConstraint)),this.center&&(this.beta=this.addWeight("beta",i,null,this.betaInitializer,this.betaRegularizer,!0,this.betaConstraint)),this.movingMean=this.addWeight("moving_mean",i,null,this.movingMeanInitializer,null,!1),this.movingVariance=this.addWeight("moving_variance",i,null,this.movingVarianceInitializer,null,!1),this.built=!0}call(e,t){return(0,v3.tidy)(()=>{const n=null!=t.training&&t.training,i=T9(e),r=i.shape,s=r.length,o=R8(0,s),a=this.axis>=0?this.axis:this.axis+s;o.splice(a,1);const l=Y6(1,s);l[a]=r[a];const u=o.slice();u.sort();const c=!v3.util.arraysEqual(u,R8(0,s).slice(0,s-1));if(!n)return(()=>{if(c){const e=(0,v3.reshape)(this.movingMean.read(),l),t=(0,v3.reshape)(this.movingVariance.read(),l),n=this.center?(0,v3.reshape)(this.beta.read(),l):null,r=this.scale?(0,v3.reshape)(this.gamma.read(),l):null;return Ene(i,e,t,n,r,this.epsilon)}return Ene(i,this.movingMean.read(),this.movingVariance.read(),null==this.beta?null:this.beta.read(),null==this.gamma?null:this.gamma.read(),this.epsilon)})();const[d,h,p]=wne(i,this.gamma.read(),this.beta.read(),o,this.epsilon),f=(e,t,n)=>{v3.tidy(()=>{const i=1-n,r=e.read(),s=v3.mul(v3.sub(r,t),i);e.write(v3.sub(r,s))})};return(()=>{f(this.movingMean,h,this.momentum),f(this.movingVariance,p,this.momentum)})(),d})}getConfig(){const e={axis:this.axis,momentum:this.momentum,epsilon:this.epsilon,center:this.center,scale:this.scale,betaInitializer:_9(this.betaInitializer),gammaInitializer:_9(this.gammaInitializer),movingMeanInitializer:_9(this.movingMeanInitializer),movingVarianceInitializer:_9(this.movingVarianceInitializer),betaRegularizer:cte(this.betaRegularizer),gammaRegularizer:cte(this.gammaRegularizer),betaConstraint:Z9(this.betaConstraint),gammaConstraint:Z9(this.gammaConstraint)},t=super.getConfig();return Object.assign(e,t),e}}Ine.className="BatchNormalization",v3.serialization.registerClass(Ine);class Ane extends N9{constructor(e){if(null==e&&(e={}),super(e),this.axis=null==e.axis?-1:e.axis,"number"==typeof this.axis){if(!Number.isInteger(this.axis))throw new Error(`Expected axis to be an integer, but received ${this.axis}`)}else{if(!Array.isArray(this.axis))throw new Error(`Expected axis to be an integer or an array of integers, but received ${JSON.stringify(this.axis)}`);for(const e of this.axis)if(!Number.isInteger(e))throw new Error(`Expected axis to be an array of integers, but received ${JSON.stringify(this.axis)}`)}this.epsilon=null==e.epsilon?.001:e.epsilon,this.center=null==e.center||e.center,this.scale=null==e.scale||e.scale,this.betaInitializer=y9(e.betaInitializer||"zeros"),this.gammaInitializer=y9(e.gammaInitializer||"ones"),this.betaRegularizer=hte(e.betaRegularizer),this.gammaRegularizer=hte(e.gammaRegularizer),this.supportsMasking=!0}build(e){const t=(e=x9(e)).length;"number"==typeof this.axis&&(this.axis=[this.axis]);for(let e=0;e=t)throw new Error(`Invalid axis: ${e}`);if(this.axis.length!==n8(this.axis).length)throw new Error(`Found duplicate axes in: ${this.axis}`);const n=this.axis.map(t=>e[t]),i=!0;this.scale?this.gamma=this.addWeight("gamma",n,"float32",this.gammaInitializer,this.gammaRegularizer,i):this.gamma=null,this.center?this.beta=this.addWeight("beta",n,"float32",this.betaInitializer,this.betaRegularizer,i):this.beta=null,this.built=!0}call(e,t){const n=T9(e),i=n.shape,r=i.length;return(0,v3.tidy)(()=>{let{mean:e,variance:t}=(0,v3.moments)(n,this.axis,!0);const s=Y6(1,r);for(const e of this.axis)s[e]=i[e];const o=e=>null!=e&&e.shape.length!==r?v3.reshape(e,s):e;let a=this.scale?o(this.gamma.read()):null,l=this.center?o(this.beta.read()):null;const u=[],c=[];for(let e=0;e=0?e[2]+this.padding[0][0]+this.padding[0][1]:null,n=null!=e[3]&&e[3]>=0?e[3]+this.padding[1][0]+this.padding[1][1]:null,[e[0],e[1],t,n]):(t=null!=e[1]&&e[1]>=0?e[1]+this.padding[0][0]+this.padding[0][1]:null,n=null!=e[2]&&e[2]>=0?e[2]+this.padding[1][0]+this.padding[1][1]:null,[e[0],t,n,e[3]])}call(e,t){return(0,v3.tidy)(()=>{return t=T9(e),n=this.padding,i=this.dataFormat,(0,v3.tidy)(()=>{if(4!==t.rank)throw new U6(`temporalPadding expects input tensor to be 4-D, but received a ${t.rank}-D tensor.`);if(null==n&&(n=[[1,1],[1,1]]),2!==n.length||2!==n[0].length||2!==n[1].length)throw new U6("spatial2dPadding expects `padding` to be an Array of two Arrays, each of which is an Array of two integers.");if(null==i&&(i="channelsLast"),"channelsLast"!==i&&"channelsFirst"!==i)throw new U6(`Unknown data format: ${i}. Supported data formats are 'channelsLast' and 'channelsFirst.`);let e;return e="channelsFirst"===i?[[0,0],[0,0],n[0],n[1]]:[[0,0],n[0],n[1],[0,0]],v3.pad(t,e)});var t,n,i})}getConfig(){const e={padding:this.padding,dataFormat:this.dataFormat},t=super.getConfig();return Object.assign(e,t),e}} /** * @license * Copyright 2018 Google LLC @@ -11452,7 +11452,7 @@ function _ne(e,t,n,i,r,s=.001){let o;if(2===e.rank)o=p3.batchNorm2d(e,t,n,i,r,s) * https://opensource.org/licenses/MIT. * ============================================================================= */ -function xne(e,t,n,i,r,s){return(0,p3.tidy)(()=>{let o;p8(r),m8(s),f8(i),null==n&&(n=[1,1]),null==i&&(i="valid"),null==r&&(r="channelsLast"),null==s&&(s="max"),e=gte(e,r);const a="same"===i?"same":"valid";return o="max"===s?p3.maxPool(e,t,n,a):p3.avgPool(e,t,n,a),"channelsFirst"===r&&(o=p3.transpose(o,[0,3,1,2])),o})}function Ene(e,t,n,i,r,s){return(0,p3.tidy)(()=>{let o;p8(r),m8(s),f8(i),null==n&&(n=[1,1,1]),null==i&&(i="valid"),null==r&&(r="channelsLast"),null==s&&(s="max"),e=_te(e,r);const a="same"===i?"same":"valid";return o="max"===s?p3.maxPool3d(e,t,n,a):p3.avgPool3d(e,t,n,a),"channelsFirst"===r&&(o=p3.transpose(o,[0,4,1,2,3])),o})}Tne.className="ZeroPadding2D",p3.serialization.registerClass(Tne);class wne extends S9{constructor(e){if(null==e.poolSize&&(e.poolSize=2),super(e),"number"==typeof e.poolSize)this.poolSize=[e.poolSize];else{if(!Array.isArray(e.poolSize)||1!==e.poolSize.length||"number"!=typeof e.poolSize[0])throw new D6(`poolSize for 1D convolutional layer must be a number or an Array of a single number, but received ${JSON.stringify(e.poolSize)}`);this.poolSize=e.poolSize}if(e8(this.poolSize,"poolSize"),null==e.strides)this.strides=this.poolSize;else if("number"==typeof e.strides)this.strides=[e.strides];else{if(!Array.isArray(e.strides)||1!==e.strides.length||"number"!=typeof e.strides[0])throw new D6(`strides for 1D convolutional layer must be a number or an Array of a single number, but received ${JSON.stringify(e.strides)}`);this.strides=e.strides}e8(this.strides,"strides"),this.padding=null==e.padding?"valid":e.padding,f8(this.padding),this.inputSpec=[new x9({ndim:3})]}computeOutputShape(e){const t=fte((e=g9(e))[1],this.poolSize[0],this.padding,this.strides[0]);return[e[0],t,e[2]]}call(e,t){return(0,p3.tidy)(()=>{this.invokeCallHook(e,t),e=M8(m9(e),2);const n=this.poolingFunction(m9(e),[this.poolSize[0],1],[this.strides[0],1],this.padding,"channelsLast");return p3.squeeze(n,[2])})}getConfig(){const e={poolSize:this.poolSize,padding:this.padding,strides:this.strides},t=super.getConfig();return Object.assign(e,t),e}}class Ine extends wne{constructor(e){super(e)}poolingFunction(e,t,n,i,r){return p8(r),f8(i),xne(e,t,n,i,r,"max")}}Ine.className="MaxPooling1D",p3.serialization.registerClass(Ine);class Ane extends wne{constructor(e){super(e)}poolingFunction(e,t,n,i,r){return p8(r),f8(i),xne(e,t,n,i,r,"avg")}}Ane.className="AveragePooling1D",p3.serialization.registerClass(Ane);class Sne extends S9{constructor(e){if(null==e.poolSize&&(e.poolSize=[2,2]),super(e),this.poolSize=Array.isArray(e.poolSize)?e.poolSize:[e.poolSize,e.poolSize],null==e.strides)this.strides=this.poolSize;else if(Array.isArray(e.strides)){if(2!==e.strides.length)throw new D6(`If the strides property of a 2D pooling layer is an Array, it is expected to have a length of 2, but received length ${e.strides.length}.`);this.strides=e.strides}else this.strides=[e.strides,e.strides];e8(this.poolSize,"poolSize"),e8(this.strides,"strides"),this.padding=null==e.padding?"valid":e.padding,this.dataFormat=null==e.dataFormat?"channelsLast":e.dataFormat,p8(this.dataFormat),f8(this.padding),this.inputSpec=[new x9({ndim:4})]}computeOutputShape(e){e=g9(e);let t="channelsFirst"===this.dataFormat?e[2]:e[1],n="channelsFirst"===this.dataFormat?e[3]:e[2];return t=fte(t,this.poolSize[0],this.padding,this.strides[0]),n=fte(n,this.poolSize[1],this.padding,this.strides[1]),"channelsFirst"===this.dataFormat?[e[0],e[1],t,n]:[e[0],t,n,e[3]]}call(e,t){return(0,p3.tidy)(()=>(this.invokeCallHook(e,t),this.poolingFunction(m9(e),this.poolSize,this.strides,this.padding,this.dataFormat)))}getConfig(){const e={poolSize:this.poolSize,padding:this.padding,strides:this.strides,dataFormat:this.dataFormat},t=super.getConfig();return Object.assign(e,t),e}}class Cne extends Sne{constructor(e){super(e)}poolingFunction(e,t,n,i,r){return p8(r),f8(i),xne(e,t,n,i,r,"max")}}Cne.className="MaxPooling2D",p3.serialization.registerClass(Cne);class One extends Sne{constructor(e){super(e)}poolingFunction(e,t,n,i,r){return p8(r),f8(i),xne(e,t,n,i,r,"avg")}}One.className="AveragePooling2D",p3.serialization.registerClass(One);class Mne extends S9{constructor(e){if(null==e.poolSize&&(e.poolSize=[2,2,2]),super(e),this.poolSize=Array.isArray(e.poolSize)?e.poolSize:[e.poolSize,e.poolSize,e.poolSize],null==e.strides)this.strides=this.poolSize;else if(Array.isArray(e.strides)){if(3!==e.strides.length)throw new D6(`If the strides property of a 3D pooling layer is an Array, it is expected to have a length of 3, but received length ${e.strides.length}.`);this.strides=e.strides}else this.strides=[e.strides,e.strides,e.strides];e8(this.poolSize,"poolSize"),e8(this.strides,"strides"),this.padding=null==e.padding?"valid":e.padding,this.dataFormat=null==e.dataFormat?"channelsLast":e.dataFormat,p8(this.dataFormat),f8(this.padding),this.inputSpec=[new x9({ndim:5})]}computeOutputShape(e){e=g9(e);let t="channelsFirst"===this.dataFormat?e[2]:e[1],n="channelsFirst"===this.dataFormat?e[3]:e[2],i="channelsFirst"===this.dataFormat?e[4]:e[3];return t=fte(t,this.poolSize[0],this.padding,this.strides[0]),n=fte(n,this.poolSize[1],this.padding,this.strides[1]),i=fte(i,this.poolSize[2],this.padding,this.strides[2]),"channelsFirst"===this.dataFormat?[e[0],e[1],t,n,i]:[e[0],t,n,i,e[4]]}call(e,t){return(0,p3.tidy)(()=>(this.invokeCallHook(e,t),this.poolingFunction(m9(e),this.poolSize,this.strides,this.padding,this.dataFormat)))}getConfig(){const e={poolSize:this.poolSize,padding:this.padding,strides:this.strides,dataFormat:this.dataFormat},t=super.getConfig();return Object.assign(e,t),e}}class kne extends Mne{constructor(e){super(e)}poolingFunction(e,t,n,i,r){return p8(r),f8(i),Ene(e,t,n,i,r,"max")}}kne.className="MaxPooling3D",p3.serialization.registerClass(kne);class Rne extends Mne{constructor(e){super(e)}poolingFunction(e,t,n,i,r){return p8(r),f8(i),Ene(e,t,n,i,r,"avg")}}Rne.className="AveragePooling3D",p3.serialization.registerClass(Rne);class Nne extends S9{constructor(e){super(e),this.inputSpec=[new x9({ndim:3})]}computeOutputShape(e){return[e[0],e[2]]}call(e,t){throw new F6}}class Dne extends Nne{constructor(e){super(e||{})}call(e,t){return(0,p3.tidy)(()=>{const t=m9(e);return p3.mean(t,1)})}}Dne.className="GlobalAveragePooling1D",p3.serialization.registerClass(Dne);class Fne extends Nne{constructor(e){super(e||{})}call(e,t){return(0,p3.tidy)(()=>{const t=m9(e);return p3.max(t,1)})}}Fne.className="GlobalMaxPooling1D",p3.serialization.registerClass(Fne);class Lne extends S9{constructor(e){super(e),this.dataFormat=null==e.dataFormat?"channelsLast":e.dataFormat,p8(this.dataFormat),this.inputSpec=[new x9({ndim:4})]}computeOutputShape(e){return"channelsLast"===this.dataFormat?[e[0],e[3]]:[e[0],e[1]]}call(e,t){throw new F6}getConfig(){const e={dataFormat:this.dataFormat},t=super.getConfig();return Object.assign(e,t),e}}class Pne extends Lne{call(e,t){return(0,p3.tidy)(()=>{const t=m9(e);return"channelsLast"===this.dataFormat?p3.mean(t,[1,2]):p3.mean(t,[2,3])})}}Pne.className="GlobalAveragePooling2D",p3.serialization.registerClass(Pne);class Bne extends Lne{call(e,t){return(0,p3.tidy)(()=>{const t=m9(e);return"channelsLast"===this.dataFormat?p3.max(t,[1,2]):p3.max(t,[2,3])})}}Bne.className="GlobalMaxPooling2D",p3.serialization.registerClass(Bne); +function Cne(e,t,n,i,r,s){return(0,v3.tidy)(()=>{let o;v8(r),T8(s),b8(i),null==n&&(n=[1,1]),null==i&&(i="valid"),null==r&&(r="channelsLast"),null==s&&(s="max"),e=xte(e,r);const a="same"===i?"same":"valid";return o="max"===s?v3.maxPool(e,t,n,a):v3.avgPool(e,t,n,a),"channelsFirst"===r&&(o=v3.transpose(o,[0,3,1,2])),o})}function One(e,t,n,i,r,s){return(0,v3.tidy)(()=>{let o;v8(r),T8(s),b8(i),null==n&&(n=[1,1,1]),null==i&&(i="valid"),null==r&&(r="channelsLast"),null==s&&(s="max"),e=Ete(e,r);const a="same"===i?"same":"valid";return o="max"===s?v3.maxPool3d(e,t,n,a):v3.avgPool3d(e,t,n,a),"channelsFirst"===r&&(o=v3.transpose(o,[0,4,1,2,3])),o})}Sne.className="ZeroPadding2D",v3.serialization.registerClass(Sne);class Mne extends N9{constructor(e){if(null==e.poolSize&&(e.poolSize=2),super(e),"number"==typeof e.poolSize)this.poolSize=[e.poolSize];else{if(!Array.isArray(e.poolSize)||1!==e.poolSize.length||"number"!=typeof e.poolSize[0])throw new U6(`poolSize for 1D convolutional layer must be a number or an Array of a single number, but received ${JSON.stringify(e.poolSize)}`);this.poolSize=e.poolSize}if(o8(this.poolSize,"poolSize"),null==e.strides)this.strides=this.poolSize;else if("number"==typeof e.strides)this.strides=[e.strides];else{if(!Array.isArray(e.strides)||1!==e.strides.length||"number"!=typeof e.strides[0])throw new U6(`strides for 1D convolutional layer must be a number or an Array of a single number, but received ${JSON.stringify(e.strides)}`);this.strides=e.strides}o8(this.strides,"strides"),this.padding=null==e.padding?"valid":e.padding,b8(this.padding),this.inputSpec=[new C9({ndim:3})]}computeOutputShape(e){const t=bte((e=x9(e))[1],this.poolSize[0],this.padding,this.strides[0]);return[e[0],t,e[2]]}call(e,t){return(0,v3.tidy)(()=>{this.invokeCallHook(e,t),e=L8(T9(e),2);const n=this.poolingFunction(T9(e),[this.poolSize[0],1],[this.strides[0],1],this.padding,"channelsLast");return v3.squeeze(n,[2])})}getConfig(){const e={poolSize:this.poolSize,padding:this.padding,strides:this.strides},t=super.getConfig();return Object.assign(e,t),e}}class kne extends Mne{constructor(e){super(e)}poolingFunction(e,t,n,i,r){return v8(r),b8(i),Cne(e,t,n,i,r,"max")}}kne.className="MaxPooling1D",v3.serialization.registerClass(kne);class Rne extends Mne{constructor(e){super(e)}poolingFunction(e,t,n,i,r){return v8(r),b8(i),Cne(e,t,n,i,r,"avg")}}Rne.className="AveragePooling1D",v3.serialization.registerClass(Rne);class Nne extends N9{constructor(e){if(null==e.poolSize&&(e.poolSize=[2,2]),super(e),this.poolSize=Array.isArray(e.poolSize)?e.poolSize:[e.poolSize,e.poolSize],null==e.strides)this.strides=this.poolSize;else if(Array.isArray(e.strides)){if(2!==e.strides.length)throw new U6(`If the strides property of a 2D pooling layer is an Array, it is expected to have a length of 2, but received length ${e.strides.length}.`);this.strides=e.strides}else this.strides=[e.strides,e.strides];o8(this.poolSize,"poolSize"),o8(this.strides,"strides"),this.padding=null==e.padding?"valid":e.padding,this.dataFormat=null==e.dataFormat?"channelsLast":e.dataFormat,v8(this.dataFormat),b8(this.padding),this.inputSpec=[new C9({ndim:4})]}computeOutputShape(e){e=x9(e);let t="channelsFirst"===this.dataFormat?e[2]:e[1],n="channelsFirst"===this.dataFormat?e[3]:e[2];return t=bte(t,this.poolSize[0],this.padding,this.strides[0]),n=bte(n,this.poolSize[1],this.padding,this.strides[1]),"channelsFirst"===this.dataFormat?[e[0],e[1],t,n]:[e[0],t,n,e[3]]}call(e,t){return(0,v3.tidy)(()=>(this.invokeCallHook(e,t),this.poolingFunction(T9(e),this.poolSize,this.strides,this.padding,this.dataFormat)))}getConfig(){const e={poolSize:this.poolSize,padding:this.padding,strides:this.strides,dataFormat:this.dataFormat},t=super.getConfig();return Object.assign(e,t),e}}class Dne extends Nne{constructor(e){super(e)}poolingFunction(e,t,n,i,r){return v8(r),b8(i),Cne(e,t,n,i,r,"max")}}Dne.className="MaxPooling2D",v3.serialization.registerClass(Dne);class Fne extends Nne{constructor(e){super(e)}poolingFunction(e,t,n,i,r){return v8(r),b8(i),Cne(e,t,n,i,r,"avg")}}Fne.className="AveragePooling2D",v3.serialization.registerClass(Fne);class Lne extends N9{constructor(e){if(null==e.poolSize&&(e.poolSize=[2,2,2]),super(e),this.poolSize=Array.isArray(e.poolSize)?e.poolSize:[e.poolSize,e.poolSize,e.poolSize],null==e.strides)this.strides=this.poolSize;else if(Array.isArray(e.strides)){if(3!==e.strides.length)throw new U6(`If the strides property of a 3D pooling layer is an Array, it is expected to have a length of 3, but received length ${e.strides.length}.`);this.strides=e.strides}else this.strides=[e.strides,e.strides,e.strides];o8(this.poolSize,"poolSize"),o8(this.strides,"strides"),this.padding=null==e.padding?"valid":e.padding,this.dataFormat=null==e.dataFormat?"channelsLast":e.dataFormat,v8(this.dataFormat),b8(this.padding),this.inputSpec=[new C9({ndim:5})]}computeOutputShape(e){e=x9(e);let t="channelsFirst"===this.dataFormat?e[2]:e[1],n="channelsFirst"===this.dataFormat?e[3]:e[2],i="channelsFirst"===this.dataFormat?e[4]:e[3];return t=bte(t,this.poolSize[0],this.padding,this.strides[0]),n=bte(n,this.poolSize[1],this.padding,this.strides[1]),i=bte(i,this.poolSize[2],this.padding,this.strides[2]),"channelsFirst"===this.dataFormat?[e[0],e[1],t,n,i]:[e[0],t,n,i,e[4]]}call(e,t){return(0,v3.tidy)(()=>(this.invokeCallHook(e,t),this.poolingFunction(T9(e),this.poolSize,this.strides,this.padding,this.dataFormat)))}getConfig(){const e={poolSize:this.poolSize,padding:this.padding,strides:this.strides,dataFormat:this.dataFormat},t=super.getConfig();return Object.assign(e,t),e}}class Pne extends Lne{constructor(e){super(e)}poolingFunction(e,t,n,i,r){return v8(r),b8(i),One(e,t,n,i,r,"max")}}Pne.className="MaxPooling3D",v3.serialization.registerClass(Pne);class Bne extends Lne{constructor(e){super(e)}poolingFunction(e,t,n,i,r){return v8(r),b8(i),One(e,t,n,i,r,"avg")}}Bne.className="AveragePooling3D",v3.serialization.registerClass(Bne);class $ne extends N9{constructor(e){super(e),this.inputSpec=[new C9({ndim:3})]}computeOutputShape(e){return[e[0],e[2]]}call(e,t){throw new V6}}class Une extends $ne{constructor(e){super(e||{})}call(e,t){return(0,v3.tidy)(()=>{const t=T9(e);return v3.mean(t,1)})}}Une.className="GlobalAveragePooling1D",v3.serialization.registerClass(Une);class Vne extends $ne{constructor(e){super(e||{})}call(e,t){return(0,v3.tidy)(()=>{const t=T9(e);return v3.max(t,1)})}}Vne.className="GlobalMaxPooling1D",v3.serialization.registerClass(Vne);class zne extends N9{constructor(e){super(e),this.dataFormat=null==e.dataFormat?"channelsLast":e.dataFormat,v8(this.dataFormat),this.inputSpec=[new C9({ndim:4})]}computeOutputShape(e){return"channelsLast"===this.dataFormat?[e[0],e[3]]:[e[0],e[1]]}call(e,t){throw new V6}getConfig(){const e={dataFormat:this.dataFormat},t=super.getConfig();return Object.assign(e,t),e}}class jne extends zne{call(e,t){return(0,v3.tidy)(()=>{const t=T9(e);return"channelsLast"===this.dataFormat?v3.mean(t,[1,2]):v3.mean(t,[2,3])})}}jne.className="GlobalAveragePooling2D",v3.serialization.registerClass(jne);class Yne extends zne{call(e,t){return(0,v3.tidy)(()=>{const t=T9(e);return"channelsLast"===this.dataFormat?v3.max(t,[1,2]):v3.max(t,[2,3])})}}Yne.className="GlobalMaxPooling2D",v3.serialization.registerClass(Yne); /** * @license * Copyright 2018 Google LLC @@ -11462,7 +11462,7 @@ function xne(e,t,n,i,r,s){return(0,p3.tidy)(()=>{let o;p8(r),m8(s),f8(i),null==n * https://opensource.org/licenses/MIT. * ============================================================================= */ -class $ne extends S9{constructor(e){super(e),this.layer=e.layer}build(e){this.built=!0}get trainable(){return null!=this.layer&&this.layer.trainable}set trainable(e){null!=this.layer&&(this.layer.trainable=e)}get trainableWeights(){return this.layer.trainableWeights}get nonTrainableWeights(){return this.layer.nonTrainableWeights}get updates(){return this.layer._updates}get losses(){return this.layer.losses}getWeights(){return this.layer.getWeights()}setWeights(e){this.layer.setWeights(e)}getConfig(){const e={layer:{className:this.layer.getClassName(),config:this.layer.getConfig()}},t=super.getConfig();return Object.assign(e,t),e}setFastWeightInitDuringBuild(e){super.setFastWeightInitDuringBuild(e),null!=this.layer&&this.layer.setFastWeightInitDuringBuild(e)}static fromConfig(e,t,n={}){const i=w7(t.layer,n);delete t.layer;const r={layer:i};return Object.assign(r,t),new e(r)}}class Une extends $ne{constructor(e){super(e),this.supportsMasking=!0}build(e){if((e=g9(e)).length<3)throw new D6(`TimeDistributed layer expects an input shape >= 3D, but received input shape ${JSON.stringify(e)}`);this.inputSpec=[{shape:e}];const t=[e[0]].concat(e.slice(2));this.layer.built||(this.layer.build(t),this.layer.built=!0),super.build(e)}computeOutputShape(e){const t=[(e=g9(e))[0]].concat(e.slice(2)),n=this.layer.computeOutputShape(t),i=e[1];return[n[0],i].concat(n.slice(1))}call(e,t){return(0,p3.tidy)(()=>Dte((e,n)=>[m9(this.layer.call(e,t)),[]],e=m9(e),[],!1,null,null,!1,!0)[1])}}Une.className="TimeDistributed",p3.serialization.registerClass(Une);class Vne extends $ne{constructor(e){super(e);const t=e.layer.getConfig(),n={};n.className=e.layer.getClassName(),n.config=t,this.forwardLayer=w7(n),t.goBackwards=!0!==t.goBackwards;const i={};var r;if(i.className=e.layer.getClassName(),i.config=t,this.backwardLayer=w7(i),this.forwardLayer.name="forward_"+this.forwardLayer.name,this.backwardLayer.name="backward_"+this.backwardLayer.name,this.mergeMode=void 0===e.mergeMode?"concat":e.mergeMode,r=this.mergeMode,Q6(d8,"BidirectionalMergeMode",r),e.weights)throw new F6("weights support is not implemented for Bidirectional layer yet.");this._stateful=e.layer.stateful,this.returnSequences=e.layer.returnSequences,this.returnState=e.layer.returnState,this.supportsMasking=!0,this._trainable=!0,this.inputSpec=e.layer.inputSpec,this.numConstants=null}get trainable(){return this._trainable}set trainable(e){this._trainable=e,null!=this.forwardLayer&&(this.forwardLayer.trainable=e),null!=this.backwardLayer&&(this.backwardLayer.trainable=e)}getWeights(){return this.forwardLayer.getWeights().concat(this.backwardLayer.getWeights())}setWeights(e){const t=e.length,n=Math.floor(t/2);this.forwardLayer.setWeights(e.slice(0,n)),this.backwardLayer.setWeights(e.slice(n))}computeOutputShape(e){let t,n,i,r=this.forwardLayer.computeOutputShape(e);return Array.isArray(r)&&Array.isArray(r[0])||(r=[r]),this.returnState?(i=r.slice(1),t=r[0]):t=r[0],"concat"===this.mergeMode?(t[t.length-1]*=2,n=[t]):n=null==this.mergeMode?[t,t.slice()]:[t],this.returnState?null==this.mergeMode?n.concat(i).concat(i.slice()):[t].concat(i).concat(i.slice()):V6(n)}apply(e,t){let n=null==t?null:t.initialState,i=null==t?null:t.constants;null==t&&(t={});const r=Nte(e,n,i,this.numConstants);if(e=r.inputs,n=r.initialState,i=r.constants,Array.isArray(e)&&(n=e.slice(1),e=e[0]),(null==n||0===n.length)&&null==i)return super.apply(e,t);const s=[],o=[];if(null!=n){const e=n.length;if(e%2>0)throw new D6("When passing `initialState` to a Bidrectional RNN, the state should be an Array containing the states of the underlying RNNs.");t.initialState=n,s.push(...n);const i=n.map(e=>new x9({shape:e.shape}));this.forwardLayer.stateSpec=i.slice(0,e/2),this.backwardLayer.stateSpec=i.slice(e/2),o.push(...i)}if(null!=i)throw new F6("Support for constants in Bidirectional layers is not implemented yet.");const a=s[0]instanceof E9;for(const e of s)if(e instanceof E9!==a)throw new D6("The initial state of a Bidirectional layer cannot be specified as a mix of symbolic and non-symbolic tensors");if(a){const n=[e].concat(s),i=this.inputSpec.concat(o),r=this.inputSpec;this.inputSpec=i;const a=super.apply(n,t);return this.inputSpec=r,a}return super.apply(e,t)}call(e,t){return(0,p3.tidy)(()=>{const n=t.initialState;let i,r,s,o;if(null==n)i=this.forwardLayer.call(e,t),r=this.backwardLayer.call(e,t);else{const s=n.slice(0,n.length/2),o=n.slice(n.length/2);i=this.forwardLayer.call(e,Object.assign(t,{initialState:s})),r=this.backwardLayer.call(e,Object.assign(t,{initialState:o}))}return this.returnState&&(Array.isArray(i)&&(s=i.slice(1).concat(r.slice(1))),i=i[0],r=r[0]),this.returnSequences&&(r=p3.reverse(r,1)),"concat"===this.mergeMode?o=D8([i,r]):"sum"===this.mergeMode?o=p3.add(i,r):"ave"===this.mergeMode?o=p3.mul(.5,p3.add(i,r)):"mul"===this.mergeMode?o=p3.mul(i,r):null==this.mergeMode&&(o=[i,r]),this.returnState?null==this.mergeMode?o.concat(s):[o].concat(s):o})}resetStates(e){this.forwardLayer.resetStates(),this.backwardLayer.resetStates()}build(e){_8(this.forwardLayer.name,()=>{this.forwardLayer.build(e)}),_8(this.backwardLayer.name,()=>{this.backwardLayer.build(e)}),this.built=!0}computeMask(e,t){let n;if(Array.isArray(t)&&(t=t[0]),n=this.returnSequences?null==this.mergeMode?[t,t]:t:null==this.mergeMode?[null,null]:null,this.returnState){const e=this.forwardLayer.states.map(e=>null);return Array.isArray(n)?n.concat(e).concat(e):[n].concat(e).concat(e)}return n}get trainableWeights(){return this.forwardLayer.trainableWeights.concat(this.backwardLayer.trainableWeights)}get nonTrainableWeights(){return this.forwardLayer.nonTrainableWeights.concat(this.backwardLayer.nonTrainableWeights)}setFastWeightInitDuringBuild(e){super.setFastWeightInitDuringBuild(e),null!=this.forwardLayer&&this.forwardLayer.setFastWeightInitDuringBuild(e),null!=this.backwardLayer&&this.backwardLayer.setFastWeightInitDuringBuild(e)}getConfig(){const e={mergeMode:this.mergeMode},t=super.getConfig();return Object.assign(e,t),e}static fromConfig(e,t){const n=w7(t.layer);if(delete t.layer,null!=t.numConstants)throw new F6("Deserialization of a Bidirectional layer with numConstants present is not supported yet.");const i=t;return i.layer=n,new e(i)}}Vne.className="Bidirectional",p3.serialization.registerClass(Vne); +class Gne extends N9{constructor(e){super(e),this.layer=e.layer}build(e){this.built=!0}get trainable(){return null!=this.layer&&this.layer.trainable}set trainable(e){null!=this.layer&&(this.layer.trainable=e)}get trainableWeights(){return this.layer.trainableWeights}get nonTrainableWeights(){return this.layer.nonTrainableWeights}get updates(){return this.layer._updates}get losses(){return this.layer.losses}getWeights(){return this.layer.getWeights()}setWeights(e){this.layer.setWeights(e)}getConfig(){const e={layer:{className:this.layer.getClassName(),config:this.layer.getConfig()}},t=super.getConfig();return Object.assign(e,t),e}setFastWeightInitDuringBuild(e){super.setFastWeightInitDuringBuild(e),null!=this.layer&&this.layer.setFastWeightInitDuringBuild(e)}static fromConfig(e,t,n={}){const i=M7(t.layer,n);delete t.layer;const r={layer:i};return Object.assign(r,t),new e(r)}}class Hne extends Gne{constructor(e){super(e),this.supportsMasking=!0}build(e){if((e=x9(e)).length<3)throw new U6(`TimeDistributed layer expects an input shape >= 3D, but received input shape ${JSON.stringify(e)}`);this.inputSpec=[{shape:e}];const t=[e[0]].concat(e.slice(2));this.layer.built||(this.layer.build(t),this.layer.built=!0),super.build(e)}computeOutputShape(e){const t=[(e=x9(e))[0]].concat(e.slice(2)),n=this.layer.computeOutputShape(t),i=e[1];return[n[0],i].concat(n.slice(1))}call(e,t){return(0,v3.tidy)(()=>Ute((e,n)=>[T9(this.layer.call(e,t)),[]],e=T9(e),[],!1,null,null,!1,!0)[1])}}Hne.className="TimeDistributed",v3.serialization.registerClass(Hne);class Wne extends Gne{constructor(e){super(e);const t=e.layer.getConfig(),n={};n.className=e.layer.getClassName(),n.config=t,this.forwardLayer=M7(n),t.goBackwards=!0!==t.goBackwards;const i={};var r;if(i.className=e.layer.getClassName(),i.config=t,this.backwardLayer=M7(i),this.forwardLayer.name="forward_"+this.forwardLayer.name,this.backwardLayer.name="backward_"+this.backwardLayer.name,this.mergeMode=void 0===e.mergeMode?"concat":e.mergeMode,r=this.mergeMode,r8(_8,"BidirectionalMergeMode",r),e.weights)throw new V6("weights support is not implemented for Bidirectional layer yet.");this._stateful=e.layer.stateful,this.returnSequences=e.layer.returnSequences,this.returnState=e.layer.returnState,this.supportsMasking=!0,this._trainable=!0,this.inputSpec=e.layer.inputSpec,this.numConstants=null}get trainable(){return this._trainable}set trainable(e){this._trainable=e,null!=this.forwardLayer&&(this.forwardLayer.trainable=e),null!=this.backwardLayer&&(this.backwardLayer.trainable=e)}getWeights(){return this.forwardLayer.getWeights().concat(this.backwardLayer.getWeights())}setWeights(e){const t=e.length,n=Math.floor(t/2);this.forwardLayer.setWeights(e.slice(0,n)),this.backwardLayer.setWeights(e.slice(n))}computeOutputShape(e){let t,n,i,r=this.forwardLayer.computeOutputShape(e);return Array.isArray(r)&&Array.isArray(r[0])||(r=[r]),this.returnState?(i=r.slice(1),t=r[0]):t=r[0],"concat"===this.mergeMode?(t[t.length-1]*=2,n=[t]):n=null==this.mergeMode?[t,t.slice()]:[t],this.returnState?null==this.mergeMode?n.concat(i).concat(i.slice()):[t].concat(i).concat(i.slice()):W6(n)}apply(e,t){let n=null==t?null:t.initialState,i=null==t?null:t.constants;null==t&&(t={});const r=$te(e,n,i,this.numConstants);if(e=r.inputs,n=r.initialState,i=r.constants,Array.isArray(e)&&(n=e.slice(1),e=e[0]),(null==n||0===n.length)&&null==i)return super.apply(e,t);const s=[],o=[];if(null!=n){const e=n.length;if(e%2>0)throw new U6("When passing `initialState` to a Bidrectional RNN, the state should be an Array containing the states of the underlying RNNs.");t.initialState=n,s.push(...n);const i=n.map(e=>new C9({shape:e.shape}));this.forwardLayer.stateSpec=i.slice(0,e/2),this.backwardLayer.stateSpec=i.slice(e/2),o.push(...i)}if(null!=i)throw new V6("Support for constants in Bidirectional layers is not implemented yet.");const a=s[0]instanceof O9;for(const e of s)if(e instanceof O9!==a)throw new U6("The initial state of a Bidirectional layer cannot be specified as a mix of symbolic and non-symbolic tensors");if(a){const n=[e].concat(s),i=this.inputSpec.concat(o),r=this.inputSpec;this.inputSpec=i;const a=super.apply(n,t);return this.inputSpec=r,a}return super.apply(e,t)}call(e,t){return(0,v3.tidy)(()=>{const n=t.initialState;let i,r,s,o;if(null==n)i=this.forwardLayer.call(e,t),r=this.backwardLayer.call(e,t);else{const s=n.slice(0,n.length/2),o=n.slice(n.length/2);i=this.forwardLayer.call(e,Object.assign(t,{initialState:s})),r=this.backwardLayer.call(e,Object.assign(t,{initialState:o}))}return this.returnState&&(Array.isArray(i)&&(s=i.slice(1).concat(r.slice(1))),i=i[0],r=r[0]),this.returnSequences&&(r=v3.reverse(r,1)),"concat"===this.mergeMode?o=U8([i,r]):"sum"===this.mergeMode?o=v3.add(i,r):"ave"===this.mergeMode?o=v3.mul(.5,v3.add(i,r)):"mul"===this.mergeMode?o=v3.mul(i,r):null==this.mergeMode&&(o=[i,r]),this.returnState?null==this.mergeMode?o.concat(s):[o].concat(s):o})}resetStates(e){this.forwardLayer.resetStates(),this.backwardLayer.resetStates()}build(e){E8(this.forwardLayer.name,()=>{this.forwardLayer.build(e)}),E8(this.backwardLayer.name,()=>{this.backwardLayer.build(e)}),this.built=!0}computeMask(e,t){let n;if(Array.isArray(t)&&(t=t[0]),n=this.returnSequences?null==this.mergeMode?[t,t]:t:null==this.mergeMode?[null,null]:null,this.returnState){const e=this.forwardLayer.states.map(e=>null);return Array.isArray(n)?n.concat(e).concat(e):[n].concat(e).concat(e)}return n}get trainableWeights(){return this.forwardLayer.trainableWeights.concat(this.backwardLayer.trainableWeights)}get nonTrainableWeights(){return this.forwardLayer.nonTrainableWeights.concat(this.backwardLayer.nonTrainableWeights)}setFastWeightInitDuringBuild(e){super.setFastWeightInitDuringBuild(e),null!=this.forwardLayer&&this.forwardLayer.setFastWeightInitDuringBuild(e),null!=this.backwardLayer&&this.backwardLayer.setFastWeightInitDuringBuild(e)}getConfig(){const e={mergeMode:this.mergeMode},t=super.getConfig();return Object.assign(e,t),e}static fromConfig(e,t){const n=M7(t.layer);if(delete t.layer,null!=t.numConstants)throw new V6("Deserialization of a Bidirectional layer with numConstants present is not supported yet.");const i=t;return i.layer=n,new e(i)}}Wne.className="Bidirectional",v3.serialization.registerClass(Wne); /** * @license * Copyright 2022 CodeSmith LLC @@ -11472,7 +11472,7 @@ class $ne extends S9{constructor(e){super(e),this.layer=e.layer}build(e){this.bu * https://opensource.org/licenses/MIT. * ============================================================================= */ -class zne extends S9{constructor(e){super(e),this.scale=e.scale,e.offset?this.offset=e.offset:this.offset=0}getConfig(){const e={scale:this.scale,offset:this.offset},t=super.getConfig();return Object.assign(e,t),e}call(e,t){return(0,p3.tidy)(()=>("float32"!==(e=m9(e)).dtype&&(e=O8(e,"float32")),(0,p3.add)((0,p3.mul)(e,this.scale),this.offset)))}}zne.className="Rescaling",p3.serialization.registerClass(zne); +class Xne extends N9{constructor(e){super(e),this.scale=e.scale,e.offset?this.offset=e.offset:this.offset=0}getConfig(){const e={scale:this.scale,offset:this.offset},t=super.getConfig();return Object.assign(e,t),e}call(e,t){return(0,v3.tidy)(()=>("float32"!==(e=T9(e)).dtype&&(e=F8(e,"float32")),(0,v3.add)((0,v3.mul)(e,this.scale),this.offset)))}}Xne.className="Rescaling",v3.serialization.registerClass(Xne); /** * @license * Copyright 2022 CodeSmith LLC @@ -11482,7 +11482,7 @@ class zne extends S9{constructor(e){super(e),this.scale=e.scale,e.offset?this.of * https://opensource.org/licenses/MIT. * ============================================================================= */ -const{resizeBilinear:jne,cropAndResize:Yne}=p3.image;class Gne extends S9{constructor(e){super(e),this.height=e.height,this.width=e.width}centerCrop(e,t,n,i,r,s,o,a){return(0,p3.tidy)(()=>{let l,u=!1;const c=[t/s,n/o,(i+t)/s,(r+n)/o],d=[];3===e.rank?(u=!0,l=(0,p3.stack)([e])):l=e;for(let e=0;eO8(jne(e,[t,n]),i))}call(e,t){return(0,p3.tidy)(()=>{const t=m9(e),n=t.dtype,i=t.shape,r=i[i.length-3],s=i[i.length-2];let o=0;r!==this.height&&(o=Math.floor((r-this.height)/2));let a=0;return s!==this.width&&(a=Math.floor((s-this.width)/2),0===a&&(a=1)),o>=0&&a>=0?this.centerCrop(t,o,a,this.height,this.width,r,s,n):this.upsize(e,this.height,this.width,n)})}getConfig(){const e={height:this.height,width:this.width},t=super.getConfig();return Object.assign(e,t),e}computeOutputShape(e){const t=(e=g9(e)).length-3,n=e.length-2;return e[t]=this.height,e[n]=this.width,e}}Gne.className="CenterCrop",p3.serialization.registerClass(Gne); +const{resizeBilinear:qne,cropAndResize:Kne}=v3.image;class Zne extends N9{constructor(e){super(e),this.height=e.height,this.width=e.width}centerCrop(e,t,n,i,r,s,o,a){return(0,v3.tidy)(()=>{let l,u=!1;const c=[t/s,n/o,(i+t)/s,(r+n)/o],d=[];3===e.rank?(u=!0,l=(0,v3.stack)([e])):l=e;for(let e=0;eF8(qne(e,[t,n]),i))}call(e,t){return(0,v3.tidy)(()=>{const t=T9(e),n=t.dtype,i=t.shape,r=i[i.length-3],s=i[i.length-2];let o=0;r!==this.height&&(o=Math.floor((r-this.height)/2));let a=0;return s!==this.width&&(a=Math.floor((s-this.width)/2),0===a&&(a=1)),o>=0&&a>=0?this.centerCrop(t,o,a,this.height,this.width,r,s,n):this.upsize(e,this.height,this.width,n)})}getConfig(){const e={height:this.height,width:this.width},t=super.getConfig();return Object.assign(e,t),e}computeOutputShape(e){const t=(e=x9(e)).length-3,n=e.length-2;return e[t]=this.height,e[n]=this.width,e}}Zne.className="CenterCrop",v3.serialization.registerClass(Zne); /** * @license * Copyright 2022 CodeSmith LLC @@ -11492,7 +11492,7 @@ const{resizeBilinear:jne,cropAndResize:Yne}=p3.image;class Gne extends S9{constr * https://opensource.org/licenses/MIT. * ============================================================================= */ -class Hne extends S9{constructor(e){super(e),this.numTokens=e.numTokens,e.outputMode?this.outputMode=e.outputMode:this.outputMode="multiHot"}getConfig(){const e={numTokens:this.numTokens,outputMode:this.outputMode},t=super.getConfig();return Object.assign(e,t),e}computeOutputShape(e){return null==(e=g9(e))?[this.numTokens]:"oneHot"===this.outputMode&&1!==e[e.length-1]?(e.push(this.numTokens),e):(e[e.length-1]=this.numTokens,e)}call(e,t){return(0,p3.tidy)(()=>{let n;if("int32"!==(e=m9(e)).dtype&&(e=O8(e,"int32")),void 0!==t.countWeights){if("count"!==this.outputMode)throw new D6(`countWeights is not used when outputMode !== count.\n Received countWeights=${t.countWeights}`);n=m9(t.countWeights)}const i=(0,p3.max)(e),r=(0,p3.min)(e),s=(0,p3.greater)(this.numTokens,i).bufferSync().get(0),o=(0,p3.greaterEqual)(r,0).bufferSync().get(0);if(!s||!o)throw new D6(`Input values must be between 0 < values <= numTokens with numTokens=${this.numTokens}`); +class Qne extends N9{constructor(e){super(e),this.numTokens=e.numTokens,e.outputMode?this.outputMode=e.outputMode:this.outputMode="multiHot"}getConfig(){const e={numTokens:this.numTokens,outputMode:this.outputMode},t=super.getConfig();return Object.assign(e,t),e}computeOutputShape(e){return null==(e=x9(e))?[this.numTokens]:"oneHot"===this.outputMode&&1!==e[e.length-1]?(e.push(this.numTokens),e):(e[e.length-1]=this.numTokens,e)}call(e,t){return(0,v3.tidy)(()=>{let n;if("int32"!==(e=T9(e)).dtype&&(e=F8(e,"int32")),void 0!==t.countWeights){if("count"!==this.outputMode)throw new U6(`countWeights is not used when outputMode !== count.\n Received countWeights=${t.countWeights}`);n=T9(t.countWeights)}const i=(0,v3.max)(e),r=(0,v3.min)(e),s=(0,v3.greater)(this.numTokens,i).bufferSync().get(0),o=(0,v3.greaterEqual)(r,0).bufferSync().get(0);if(!s||!o)throw new U6(`Input values must be between 0 < values <= numTokens with numTokens=${this.numTokens}`); /** * @license * Copyright 2022 CodeSmith LLC @@ -11502,7 +11502,7 @@ class Hne extends S9{constructor(e){super(e),this.numTokens=e.numTokens,e.output * https://opensource.org/licenses/MIT. * ============================================================================= */ -return function(e,t,n,i){let r=m9(e);if("int32"!==r.dtype&&(r=O8(r,"int32")),"int"===t)return r;const s=r.shape;if(0===r.rank&&(r=(0,p3.expandDims)(r,-1)),"oneHot"===t&&1!==r.shape[r.shape.length-1]&&(r=(0,p3.expandDims)(r,-1)),r.rank>2)throw new D6(`When outputMode is not int, maximum output rank is 2 Received outputMode ${t} and input shape ${s} which would result in output rank ${r.rank}.`);const o=["multiHot","oneHot"].includes(t),a=r;let l;if(l=void 0!==i&&"count"===t?(0,p3.denseBincount)(a,i,n,o):(0,p3.denseBincount)(a,[],n,o),"tfIdf"!==t)return l;if(i)return(0,p3.mul)(l,i);throw new D6("When outputMode is 'tfIdf', weights must be provided.")}(e,this.outputMode,this.numTokens,n)})}}Hne.className="CategoryEncoding",p3.serialization.registerClass(Hne); +return function(e,t,n,i){let r=T9(e);if("int32"!==r.dtype&&(r=F8(r,"int32")),"int"===t)return r;const s=r.shape;if(0===r.rank&&(r=(0,v3.expandDims)(r,-1)),"oneHot"===t&&1!==r.shape[r.shape.length-1]&&(r=(0,v3.expandDims)(r,-1)),r.rank>2)throw new U6(`When outputMode is not int, maximum output rank is 2 Received outputMode ${t} and input shape ${s} which would result in output rank ${r.rank}.`);const o=["multiHot","oneHot"].includes(t),a=r;let l;if(l=void 0!==i&&"count"===t?(0,v3.denseBincount)(a,i,n,o):(0,v3.denseBincount)(a,[],n,o),"tfIdf"!==t)return l;if(i)return(0,v3.mul)(l,i);throw new U6("When outputMode is 'tfIdf', weights must be provided.")}(e,this.outputMode,this.numTokens,n)})}}Qne.className="CategoryEncoding",v3.serialization.registerClass(Qne); /** * @license * Copyright 2022 CodeSmith LLC @@ -11512,7 +11512,7 @@ return function(e,t,n,i){let r=m9(e);if("int32"!==r.dtype&&(r=O8(r,"int32")),"in * https://opensource.org/licenses/MIT. * ============================================================================= */ -const Wne=new Set(["bilinear","nearest"]);class Xne extends S9{constructor(e){if(super(e),this.height=e.height,this.width=e.width,e.interpolation){if(!Wne.has(e.interpolation))throw new D6(`Invalid interpolation parameter: ${e.interpolation} is not implemented`);this.interpolation=e.interpolation}else this.interpolation="bilinear";this.cropToAspectRatio=Boolean(e.cropToAspectRatio)}computeOutputShape(e){const t=(e=g9(e))[2];return[this.height,this.width,t]}getConfig(){const e={height:this.height,width:this.width,interpolation:this.interpolation,cropToAspectRatio:this.cropToAspectRatio},t=super.getConfig();return Object.assign(e,t),e}call(e,t){return(0,p3.tidy)(()=>{const t=[this.height,this.width];if("bilinear"===this.interpolation)return p3.image.resizeBilinear(e,t,!this.cropToAspectRatio);if("nearest"===this.interpolation)return p3.image.resizeNearestNeighbor(e,t,!this.cropToAspectRatio);throw new Error(`Interpolation is ${this.interpolation} but only ${[...Wne]} are supported`)})}}Xne.className="Resizing",p3.serialization.registerClass(Xne); +const Jne=new Set(["bilinear","nearest"]);class eie extends N9{constructor(e){if(super(e),this.height=e.height,this.width=e.width,e.interpolation){if(!Jne.has(e.interpolation))throw new U6(`Invalid interpolation parameter: ${e.interpolation} is not implemented`);this.interpolation=e.interpolation}else this.interpolation="bilinear";this.cropToAspectRatio=Boolean(e.cropToAspectRatio)}computeOutputShape(e){const t=(e=x9(e))[2];return[this.height,this.width,t]}getConfig(){const e={height:this.height,width:this.width,interpolation:this.interpolation,cropToAspectRatio:this.cropToAspectRatio},t=super.getConfig();return Object.assign(e,t),e}call(e,t){return(0,v3.tidy)(()=>{const t=[this.height,this.width];if("bilinear"===this.interpolation)return v3.image.resizeBilinear(e,t,!this.cropToAspectRatio);if("nearest"===this.interpolation)return v3.image.resizeNearestNeighbor(e,t,!this.cropToAspectRatio);throw new Error(`Interpolation is ${this.interpolation} but only ${[...Jne]} are supported`)})}}eie.className="Resizing",v3.serialization.registerClass(eie); /** * @license * Copyright 2023 CodeSmith LLC @@ -11522,7 +11522,7 @@ const Wne=new Set(["bilinear","nearest"]);class Xne extends S9{constructor(e){if * https://opensource.org/licenses/MIT. * ============================================================================= */ -class qne{constructor(e){this.seed=e}next(){if(void 0!==this.seed)return this.seed++}}qne.className="RandomSeed"; +class tie{constructor(e){this.seed=e}next(){if(void 0!==this.seed)return this.seed++}}tie.className="RandomSeed"; /** * @license * Copyright 2023 CodeSmith LLC @@ -11532,7 +11532,7 @@ class qne{constructor(e){this.seed=e}next(){if(void 0!==this.seed)return this.se * https://opensource.org/licenses/MIT. * ============================================================================= */ -class Kne extends S9{constructor(e){super(e),this.randomGenerator=new qne(e.seed)}getConfig(){const e={seed:this.randomGenerator.seed},t=super.getConfig();return Object.assign(e,t),e}}Kne.className="BaseRandomLayer"; +class nie extends N9{constructor(e){super(e),this.randomGenerator=new tie(e.seed)}getConfig(){const e={seed:this.randomGenerator.seed},t=super.getConfig();return Object.assign(e,t),e}}nie.className="BaseRandomLayer"; /** * @license * Copyright 2023 CodeSmith LLC @@ -11542,7 +11542,7 @@ class Kne extends S9{constructor(e){super(e),this.randomGenerator=new qne(e.seed * https://opensource.org/licenses/MIT. * ============================================================================= */ -const Zne=new Set(["bilinear","nearest"]);class Qne extends Kne{constructor(e){super(e);const{factor:t,interpolation:n="bilinear"}=e;if(this.factor=t,Array.isArray(this.factor)&&2===this.factor.length)this.widthLower=this.factor[0],this.widthUpper=this.factor[1];else{if(Array.isArray(this.factor)||!(this.factor>0))throw new D6(`Invalid factor: ${this.factor}. Must be positive number or tuple of 2 numbers`);this.widthLower=-this.factor,this.widthUpper=this.factor}if(this.widthLower<-1||this.widthUpper<-1)throw new D6(`factor must have values larger than -1. Got: ${this.factor}`);if(this.widthUpper{const t=m9(e);this.imgHeight=t.shape[t.shape.length-3];const n=t.shape[t.shape.length-2];this.widthFactor=(0,p3.randomUniform)([1],1+this.widthLower,1+this.widthUpper,"float32",this.randomGenerator.next());let i=this.widthFactor.dataSync()[0]*n;i=Math.round(i);const r=[this.imgHeight,i];switch(this.interpolation){case"bilinear":return p3.image.resizeBilinear(e,r);case"nearest":return p3.image.resizeNearestNeighbor(e,r);default:throw new Error(`Interpolation is ${this.interpolation}\n but only ${[...Zne]} are supported`)}})}} +const iie=new Set(["bilinear","nearest"]);class rie extends nie{constructor(e){super(e);const{factor:t,interpolation:n="bilinear"}=e;if(this.factor=t,Array.isArray(this.factor)&&2===this.factor.length)this.widthLower=this.factor[0],this.widthUpper=this.factor[1];else{if(Array.isArray(this.factor)||!(this.factor>0))throw new U6(`Invalid factor: ${this.factor}. Must be positive number or tuple of 2 numbers`);this.widthLower=-this.factor,this.widthUpper=this.factor}if(this.widthLower<-1||this.widthUpper<-1)throw new U6(`factor must have values larger than -1. Got: ${this.factor}`);if(this.widthUpper{const t=T9(e);this.imgHeight=t.shape[t.shape.length-3];const n=t.shape[t.shape.length-2];this.widthFactor=(0,v3.randomUniform)([1],1+this.widthLower,1+this.widthUpper,"float32",this.randomGenerator.next());let i=this.widthFactor.dataSync()[0]*n;i=Math.round(i);const r=[this.imgHeight,i];switch(this.interpolation){case"bilinear":return v3.image.resizeBilinear(e,r);case"nearest":return v3.image.resizeNearestNeighbor(e,r);default:throw new Error(`Interpolation is ${this.interpolation}\n but only ${[...iie]} are supported`)}})}} /** * @license * Copyright 2018 Google LLC @@ -11552,7 +11552,7 @@ const Zne=new Set(["bilinear","nearest"]);class Qne extends Kne{constructor(e){s * https://opensource.org/licenses/MIT. * ============================================================================= */ -function Jne(e){return new O9(e)}function eie(e){return new cte(e)}function tie(e){return new ate(e)}function nie(e){return new lte(e)}function iie(e){return new ute(e)}function rie(e){return new hte(e)}function sie(e){return new dte(e)}function oie(e){return new Ote(e)}function aie(e){return new Ete(e)}function lie(e){return new Ite(e)}function uie(e){return new wte(e)}function cie(e){return new Ate(e)}function die(e){return new Cte(e)}function hie(e){return new Mte(e)}function pie(e){return new kte(e)}function fie(e){return new Rte(e)}function mie(e){return new Jte(e)}function gie(e){return new Zte(e)}function _ie(e){return new qte(e)}function yie(e){return new Kte(e)}function vie(e){return new Qte(e)}function bie(e){return new ene(e)}function Tie(e){return new tne(e)}function xie(e){return new nne(e)}function Eie(e){return new rne(e)}function wie(e){return new one(e)}function Iie(e){return new lne(e)}function Aie(e){return new dne(e)}function Sie(e){return new une(e)}function Cie(e){return new cne(e)}function Oie(e){return new ane(e)}function Mie(e){return new pne(e)}function kie(e){return new vne(e)}function Rie(e){return new bne(e)}function Nie(e){return new Tne(e)}function Die(e){return new Ane(e)}function Fie(e){return Die(e)}function Lie(e){return Die(e)}function Pie(e){return new One(e)}function Bie(e){return Pie(e)}function $ie(e){return Pie(e)}function Uie(e){return new Rne(e)}function Vie(e){return Uie(e)}function zie(e){return Uie(e)}function jie(e){return new Dne(e)}function Yie(e){return new Pne(e)}function Gie(e){return new Fne(e)}function Hie(e){return new Bne(e)}function Wie(e){return new Ine(e)}function Xie(e){return new Cne(e)}function qie(e){return new kne(e)}function Kie(e){return new Ute(e)}function Zie(e){return new $te(e)}function Qie(e){return new zte(e)}function Jie(e){return new Vte(e)}function ere(e){return new Bte(e)}function tre(e){return new Pte(e)}function nre(e){return new Xte(e)}function ire(e){return new Wte(e)}function rre(e){return new Fte(e)}function sre(e){return new jte(e)}function ore(e){return new Vne(e)}function are(e){return new Une(e)}Qne.className="RandomWidth",p3.serialization.registerClass(Qne);const lre=Gie,ure=Hie,cre=Wie,dre=Xie;function hre(e){return new fne(e)}function pre(e){return new mne(e)}function fre(e){return new gne(e)}function mre(e){return new ine(e)}function gre(e){return new zne(e)}function _re(e){return new Gne(e)}function yre(e){return new Xne(e)}function vre(e){return new Hne(e)}function bre(e){return new Qne(e)}function Tre(e,t){return P7(e,t)}function xre(e,t){return z7(e,t)}function Ere(e,t){return j7(e,t)}function wre(e,t){return B7(e,t)}function Ire(e,t){return Y7(e,t)}function Are(e,t){return U7(e,t)}function Sre(e,t){return V7(e,t)}function Cre(e,t){return D7(e,t)}function Ore(e,t){return S7(e,t)}function Mre(e,t){return C7(e,t)}function kre(e,t){return C7(e,t)}function Rre(e,t){return C7(e,t)}function Nre(e,t){return A7(e,t)}function Dre(e,t){return A7(e,t)}function Fre(e,t){return A7(e,t)}function Lre(e,t){return function(e,t){return(0,p3.tidy)(()=>{const n=e.sub(t).square().sum(),i=e.sub(e.mean()).square().sum();return p3.scalar(1).sub(n.div(i))})}(e,t)} +function sie(e){return new F9(e)}function oie(e){return new gte(e)}function aie(e){return new pte(e)}function lie(e){return new fte(e)}function uie(e){return new mte(e)}function cie(e){return new yte(e)}function die(e){return new _te(e)}function hie(e){return new Fte(e)}function pie(e){return new Ote(e)}function fie(e){return new kte(e)}function mie(e){return new Mte(e)}function gie(e){return new Rte(e)}function _ie(e){return new Dte(e)}function yie(e){return new Lte(e)}function vie(e){return new Pte(e)}function bie(e){return new Bte(e)}function Tie(e){return new sne(e)}function xie(e){return new ine(e)}function Eie(e){return new tne(e)}function wie(e){return new nne(e)}function Iie(e){return new rne(e)}function Aie(e){return new one(e)}function Sie(e){return new ane(e)}function Cie(e){return new lne(e)}function Oie(e){return new cne(e)}function Mie(e){return new hne(e)}function kie(e){return new fne(e)}function Rie(e){return new _ne(e)}function Nie(e){return new mne(e)}function Die(e){return new gne(e)}function Fie(e){return new pne(e)}function Lie(e){return new vne(e)}function Pie(e){return new Ine(e)}function Bie(e){return new Ane(e)}function $ie(e){return new Sne(e)}function Uie(e){return new Rne(e)}function Vie(e){return Uie(e)}function zie(e){return Uie(e)}function jie(e){return new Fne(e)}function Yie(e){return jie(e)}function Gie(e){return jie(e)}function Hie(e){return new Bne(e)}function Wie(e){return Hie(e)}function Xie(e){return Hie(e)}function qie(e){return new Une(e)}function Kie(e){return new jne(e)}function Zie(e){return new Vne(e)}function Qie(e){return new Yne(e)}function Jie(e){return new kne(e)}function ere(e){return new Dne(e)}function tre(e){return new Pne(e)}function nre(e){return new Hte(e)}function ire(e){return new Gte(e)}function rre(e){return new Xte(e)}function sre(e){return new Wte(e)}function ore(e){return new Yte(e)}function are(e){return new jte(e)}function lre(e){return new ene(e)}function ure(e){return new Jte(e)}function cre(e){return new Vte(e)}function dre(e){return new qte(e)}function hre(e){return new Wne(e)}function pre(e){return new Hne(e)}rie.className="RandomWidth",v3.serialization.registerClass(rie);const fre=Zie,mre=Qie,gre=Jie,_re=ere;function yre(e){return new bne(e)}function vre(e){return new Tne(e)}function bre(e){return new xne(e)}function Tre(e){return new une(e)}function xre(e){return new Xne(e)}function Ere(e){return new Zne(e)}function wre(e){return new eie(e)}function Ire(e){return new Qne(e)}function Are(e){return new rie(e)}function Sre(e,t){return j7(e,t)}function Cre(e,t){return X7(e,t)}function Ore(e,t){return q7(e,t)}function Mre(e,t){return Y7(e,t)}function kre(e,t){return K7(e,t)}function Rre(e,t){return H7(e,t)}function Nre(e,t){return W7(e,t)}function Dre(e,t){return U7(e,t)}function Fre(e,t){return N7(e,t)}function Lre(e,t){return D7(e,t)}function Pre(e,t){return D7(e,t)}function Bre(e,t){return D7(e,t)}function $re(e,t){return R7(e,t)}function Ure(e,t){return R7(e,t)}function Vre(e,t){return R7(e,t)}function zre(e,t){return function(e,t){return(0,v3.tidy)(()=>{const n=e.sub(t).square().sum(),i=e.sub(e.mean()).square().sum();return v3.scalar(1).sub(n.div(i))})}(e,t)} /** * @license * Copyright 2018 Google LLC @@ -11562,7 +11562,7 @@ function Jne(e){return new O9(e)}function eie(e){return new cte(e)}function tie( * https://opensource.org/licenses/MIT. * ============================================================================= */ -function Pre(e){return new nte(e)}function Bre(e){return ete(t=e),new nte({l1:null!=t?t.l1:null,l2:0});var t}function $re(e){return ete(t=e),new nte({l2:null!=t?t.l2:null,l1:0});var t} +function jre(e){return new lte(e)}function Yre(e){return ote(t=e),new lte({l1:null!=t?t.l1:null,l2:0});var t}function Gre(e){return ote(t=e),new lte({l2:null!=t?t.l2:null,l1:0});var t} /** * @license * Copyright 2018 Google LLC @@ -11572,7 +11572,7 @@ function Pre(e){return new nte(e)}function Bre(e){return ete(t=e),new nte({l1:nu * https://opensource.org/licenses/MIT. * ============================================================================= */ -class Ure extends g7{constructor(){super(...arguments),this.model=null}setModel(e){if(!(e instanceof Iee))throw new Error("model must be a LayersModel, not some other Container");this.model=e}}function Vre(e,t){return et}class jre extends Ure{constructor(e){if(super(),null==e&&(e={}),e.restoreBestWeights)throw new F6("restoreBestWeights = True is not implemented in EarlyStopping yet.");this.monitor=e.monitor||"val_loss",this.minDelta=Math.abs(e.minDelta||0),this.patience=e.patience||0,this.verbose=e.verbose||0,this.mode=e.mode||"auto",this.baseline=e.baseline,-1===["auto","min","max"].indexOf(this.mode)&&(console.warn(`EarlyStopping mode '${this.mode}' is invalid. Falling back to mode 'auto'.`),this.mode="auto"),"min"===this.mode?this.monitorFunc=Vre:"max"===this.mode||-1!==this.monitor.indexOf("acc")?this.monitorFunc=zre:this.monitorFunc=Vre,this.monitorFunc===Vre&&(this.minDelta*=-1)}async onTrainBegin(e){this.wait=0,this.stoppedEpoch=0,null!=this.baseline?this.best=this.baseline:this.best=this.monitorFunc===Vre?1/0:-1/0}async onEpochEnd(e,t){await p7(t);const n=this.getMonitorValue(t);null!=n&&(this.monitorFunc(n-this.minDelta,this.best)?(this.best=n,this.wait=0):(this.wait++,this.wait>=this.patience&&(this.stoppedEpoch=e,this.model.stopTraining=!0)))}async onTrainEnd(e){this.stoppedEpoch>0&&this.verbose&&console.log(`Epoch ${this.stoppedEpoch}: early stopping.`)}getMonitorValue(e){null==e&&(e={});const t=e[this.monitor];return null==t&&console.warn(`Metric for EarlyStopping ${this.monitor} is not available. Available metrics are: ${Object.keys(e)}`),t}}const Yre={earlyStopping:function(e){return new jre(e)}}; +class Hre extends x7{constructor(){super(...arguments),this.model=null}setModel(e){if(!(e instanceof kee))throw new Error("model must be a LayersModel, not some other Container");this.model=e}}function Wre(e,t){return et}class qre extends Hre{constructor(e){if(super(),null==e&&(e={}),e.restoreBestWeights)throw new V6("restoreBestWeights = True is not implemented in EarlyStopping yet.");this.monitor=e.monitor||"val_loss",this.minDelta=Math.abs(e.minDelta||0),this.patience=e.patience||0,this.verbose=e.verbose||0,this.mode=e.mode||"auto",this.baseline=e.baseline,-1===["auto","min","max"].indexOf(this.mode)&&(console.warn(`EarlyStopping mode '${this.mode}' is invalid. Falling back to mode 'auto'.`),this.mode="auto"),"min"===this.mode?this.monitorFunc=Wre:"max"===this.mode||-1!==this.monitor.indexOf("acc")?this.monitorFunc=Xre:this.monitorFunc=Wre,this.monitorFunc===Wre&&(this.minDelta*=-1)}async onTrainBegin(e){this.wait=0,this.stoppedEpoch=0,null!=this.baseline?this.best=this.baseline:this.best=this.monitorFunc===Wre?1/0:-1/0}async onEpochEnd(e,t){await v7(t);const n=this.getMonitorValue(t);null!=n&&(this.monitorFunc(n-this.minDelta,this.best)?(this.best=n,this.wait=0):(this.wait++,this.wait>=this.patience&&(this.stoppedEpoch=e,this.model.stopTraining=!0)))}async onTrainEnd(e){this.stoppedEpoch>0&&this.verbose&&console.log(`Epoch ${this.stoppedEpoch}: early stopping.`)}getMonitorValue(e){null==e&&(e={});const t=e[this.monitor];return null==t&&console.warn(`Metric for EarlyStopping ${this.monitor} is not available. Available metrics are: ${Object.keys(e)}`),t}}const Kre={earlyStopping:function(e){return new qre(e)}}; /** * @license * Copyright 2019 Google LLC. All Rights Reserved. @@ -11590,7 +11590,7 @@ class Ure extends g7{constructor(){super(...arguments),this.model=null}setModel( * * ============================================================================= */ -var Gre,Hre;(0,p3.env)().registerFlag("KEEP_INTERMEDIATE_TENSORS",()=>!1,e=>{e&&console.warn("Keep intermediate tensors is ON. This will print the values of all intermediate tensors during model inference. Not all models support this mode. For details, check e2e/benchmarks/ model_config.js. This significantly impacts performance.")}),function(e){e[e.DT_INVALID=0]="DT_INVALID",e[e.DT_FLOAT=1]="DT_FLOAT",e[e.DT_DOUBLE=2]="DT_DOUBLE",e[e.DT_INT32=3]="DT_INT32",e[e.DT_UINT8=4]="DT_UINT8",e[e.DT_INT16=5]="DT_INT16",e[e.DT_INT8=6]="DT_INT8",e[e.DT_STRING=7]="DT_STRING",e[e.DT_COMPLEX64=8]="DT_COMPLEX64",e[e.DT_INT64=9]="DT_INT64",e[e.DT_BOOL=10]="DT_BOOL",e[e.DT_QINT8=11]="DT_QINT8",e[e.DT_QUINT8=12]="DT_QUINT8",e[e.DT_QINT32=13]="DT_QINT32",e[e.DT_BFLOAT16=14]="DT_BFLOAT16",e[e.DT_QINT16=15]="DT_QINT16",e[e.DT_QUINT16=16]="DT_QUINT16",e[e.DT_UINT16=17]="DT_UINT16",e[e.DT_COMPLEX128=18]="DT_COMPLEX128",e[e.DT_HALF=19]="DT_HALF",e[e.DT_RESOURCE=20]="DT_RESOURCE",e[e.DT_VARIANT=21]="DT_VARIANT",e[e.DT_UINT32=22]="DT_UINT32",e[e.DT_UINT64=23]="DT_UINT64",e[e.DT_FLOAT_REF=101]="DT_FLOAT_REF",e[e.DT_DOUBLE_REF=102]="DT_DOUBLE_REF",e[e.DT_INT32_REF=103]="DT_INT32_REF",e[e.DT_UINT8_REF=104]="DT_UINT8_REF",e[e.DT_INT16_REF=105]="DT_INT16_REF",e[e.DT_INT8_REF=106]="DT_INT8_REF",e[e.DT_STRING_REF=107]="DT_STRING_REF",e[e.DT_COMPLEX64_REF=108]="DT_COMPLEX64_REF",e[e.DT_INT64_REF=109]="DT_INT64_REF",e[e.DT_BOOL_REF=110]="DT_BOOL_REF",e[e.DT_QINT8_REF=111]="DT_QINT8_REF",e[e.DT_QUINT8_REF=112]="DT_QUINT8_REF",e[e.DT_QINT32_REF=113]="DT_QINT32_REF",e[e.DT_BFLOAT16_REF=114]="DT_BFLOAT16_REF",e[e.DT_QINT16_REF=115]="DT_QINT16_REF",e[e.DT_QUINT16_REF=116]="DT_QUINT16_REF",e[e.DT_UINT16_REF=117]="DT_UINT16_REF",e[e.DT_COMPLEX128_REF=118]="DT_COMPLEX128_REF",e[e.DT_HALF_REF=119]="DT_HALF_REF",e[e.DT_RESOURCE_REF=120]="DT_RESOURCE_REF",e[e.DT_VARIANT_REF=121]="DT_VARIANT_REF",e[e.DT_UINT32_REF=122]="DT_UINT32_REF",e[e.DT_UINT64_REF=123]="DT_UINT64_REF"}(Gre||(Gre={})),function(e){let t;!function(e){e[e.LEGACY=0]="LEGACY",e[e.V1=1]="V1",e[e.V2=2]="V2"}(t=e.CheckpointFormatVersion||(e.CheckpointFormatVersion={}))}(Hre||(Hre={})); +var Zre,Qre;(0,v3.env)().registerFlag("KEEP_INTERMEDIATE_TENSORS",()=>!1,e=>{e&&console.warn("Keep intermediate tensors is ON. This will print the values of all intermediate tensors during model inference. Not all models support this mode. For details, check e2e/benchmarks/ model_config.js. This significantly impacts performance.")}),function(e){e[e.DT_INVALID=0]="DT_INVALID",e[e.DT_FLOAT=1]="DT_FLOAT",e[e.DT_DOUBLE=2]="DT_DOUBLE",e[e.DT_INT32=3]="DT_INT32",e[e.DT_UINT8=4]="DT_UINT8",e[e.DT_INT16=5]="DT_INT16",e[e.DT_INT8=6]="DT_INT8",e[e.DT_STRING=7]="DT_STRING",e[e.DT_COMPLEX64=8]="DT_COMPLEX64",e[e.DT_INT64=9]="DT_INT64",e[e.DT_BOOL=10]="DT_BOOL",e[e.DT_QINT8=11]="DT_QINT8",e[e.DT_QUINT8=12]="DT_QUINT8",e[e.DT_QINT32=13]="DT_QINT32",e[e.DT_BFLOAT16=14]="DT_BFLOAT16",e[e.DT_QINT16=15]="DT_QINT16",e[e.DT_QUINT16=16]="DT_QUINT16",e[e.DT_UINT16=17]="DT_UINT16",e[e.DT_COMPLEX128=18]="DT_COMPLEX128",e[e.DT_HALF=19]="DT_HALF",e[e.DT_RESOURCE=20]="DT_RESOURCE",e[e.DT_VARIANT=21]="DT_VARIANT",e[e.DT_UINT32=22]="DT_UINT32",e[e.DT_UINT64=23]="DT_UINT64",e[e.DT_FLOAT_REF=101]="DT_FLOAT_REF",e[e.DT_DOUBLE_REF=102]="DT_DOUBLE_REF",e[e.DT_INT32_REF=103]="DT_INT32_REF",e[e.DT_UINT8_REF=104]="DT_UINT8_REF",e[e.DT_INT16_REF=105]="DT_INT16_REF",e[e.DT_INT8_REF=106]="DT_INT8_REF",e[e.DT_STRING_REF=107]="DT_STRING_REF",e[e.DT_COMPLEX64_REF=108]="DT_COMPLEX64_REF",e[e.DT_INT64_REF=109]="DT_INT64_REF",e[e.DT_BOOL_REF=110]="DT_BOOL_REF",e[e.DT_QINT8_REF=111]="DT_QINT8_REF",e[e.DT_QUINT8_REF=112]="DT_QUINT8_REF",e[e.DT_QINT32_REF=113]="DT_QINT32_REF",e[e.DT_BFLOAT16_REF=114]="DT_BFLOAT16_REF",e[e.DT_QINT16_REF=115]="DT_QINT16_REF",e[e.DT_QUINT16_REF=116]="DT_QUINT16_REF",e[e.DT_UINT16_REF=117]="DT_UINT16_REF",e[e.DT_COMPLEX128_REF=118]="DT_COMPLEX128_REF",e[e.DT_HALF_REF=119]="DT_HALF_REF",e[e.DT_RESOURCE_REF=120]="DT_RESOURCE_REF",e[e.DT_VARIANT_REF=121]="DT_VARIANT_REF",e[e.DT_UINT32_REF=122]="DT_UINT32_REF",e[e.DT_UINT64_REF=123]="DT_UINT64_REF"}(Zre||(Zre={})),function(e){let t;!function(e){e[e.LEGACY=0]="LEGACY",e[e.V1=1]="V1",e[e.V2=2]="V2"}(t=e.CheckpointFormatVersion||(e.CheckpointFormatVersion={}))}(Qre||(Qre={})); /** * @license * Copyright 2019 Google LLC. All Rights Reserved. @@ -11607,7 +11607,7 @@ var Gre,Hre;(0,p3.env)().registerFlag("KEEP_INTERMEDIATE_TENSORS",()=>!1,e=>{e&& * limitations under the License. * ============================================================================= */ -const Wre={};function Xre(e,t){const n={tfOpName:e,category:"custom",inputs:[],attrs:[],customExecutor:t};Wre[e]=n}function qre(e){return Wre[e]}function Kre(e){delete Wre[e]} +const Jre={};function ese(e,t){const n={tfOpName:e,category:"custom",inputs:[],attrs:[],customExecutor:t};Jre[e]=n}function tse(e){return Jre[e]}function nse(e){delete Jre[e]} /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -11624,7 +11624,7 @@ const Wre={};function Xre(e,t){const n={tfOpName:e,category:"custom",inputs:[],a * limitations under the License. * ============================================================================= */ -function Zre(e,t,n,i,r){const s=t.inputParams[e];if(s&&void 0!==s.inputIndexStart){const e=s.inputIndexStart,o=0===s.inputIndexEnd?void 0:void 0===s.inputIndexEnd?e+1:s.inputIndexEnd,a=e<0?t.inputNames.length+e:e;if("tensor"===s.type)return Qre(t.inputNames[a],n,i,r);if("tensors"===s.type){const s=t.inputs.slice(e,o),a=t.inputNames.slice(e,o).filter((e,t)=>{var n;return"NoOp"!==(null===(n=s[t])||void 0===n?void 0:n.op)});return a.map(e=>Qre(e,n,i,r))}const l=Qre(t.inputNames[a],n,i,r),u=l.dataSync();return"number"===s.type?u[0]:p3.util.toNestedArray(l.shape,u)}const o=t.attrParams[e];return o&&o.value}function Qre(e,t,n,i){const[r,s]=nse(e,n);if(null!=i){const e=i.getHashTableHandleByName(r);if(null!=e)return e}const o=n.currentContextIds.find(e=>!!t[tse(r,e)]);return void 0!==o?t[tse(r,o)][s]:void 0}function Jre(e,t,n){return t[tse(e,n.currentContextId)]}function ese(e,t){const[n,i,r]=nse(e,t);return[tse(n,t&&t.currentContextId),i,r]}function tse(e,t){return t?`${e}-${t}`:e}function nse(e,t){if(""===e)return["",0,void 0];const n=null!=t&&null!=t.parseNodeNameCache;if(n){const n=t.parseNodeNameCache.get(e);if(null!=n)return n}const i=e.split(":");let r;if(1===i.length)r=[e,0,void 0];else{const e=i[0],t=3===i.length?i[1]:void 0;r=[e,Number(i[i.length-1]),t]}return n&&t.parseNodeNameCache.set(e,r),r}function ise(e,t,n){let i=Zre("pad",e,t,n);if("explicit"===i){i=Zre("explicitPaddings",e,t,n);const r=[[0,0],[0,0],[0,0],[0,0]];for(let e=0;e<4;e++)r[e][0]=i[2*e],r[e][1]=i[2*e+1];return r}return i}function rse(e){return e.kept?e:(0,p3.clone)(e)} +function ise(e,t,n,i,r){const s=t.inputParams[e];if(s&&void 0!==s.inputIndexStart){const e=s.inputIndexStart,o=0===s.inputIndexEnd?void 0:void 0===s.inputIndexEnd?e+1:s.inputIndexEnd,a=e<0?t.inputNames.length+e:e;if("tensor"===s.type)return rse(t.inputNames[a],n,i,r);if("tensors"===s.type){const s=t.inputs.slice(e,o),a=t.inputNames.slice(e,o).filter((e,t)=>{var n;return"NoOp"!==(null===(n=s[t])||void 0===n?void 0:n.op)});return a.map(e=>rse(e,n,i,r))}const l=rse(t.inputNames[a],n,i,r),u=l.dataSync();return"number"===s.type?u[0]:v3.util.toNestedArray(l.shape,u)}const o=t.attrParams[e];return o&&o.value}function rse(e,t,n,i){const[r,s]=lse(e,n);if(null!=i){const e=i.getHashTableHandleByName(r);if(null!=e)return e}const o=n.currentContextIds.find(e=>!!t[ase(r,e)]);return void 0!==o?t[ase(r,o)][s]:void 0}function sse(e,t,n){return t[ase(e,n.currentContextId)]}function ose(e,t){const[n,i,r]=lse(e,t);return[ase(n,t&&t.currentContextId),i,r]}function ase(e,t){return t?`${e}-${t}`:e}function lse(e,t){if(""===e)return["",0,void 0];const n=null!=t&&null!=t.parseNodeNameCache;if(n){const n=t.parseNodeNameCache.get(e);if(null!=n)return n}const i=e.split(":");let r;if(1===i.length)r=[e,0,void 0];else{const e=i[0],t=3===i.length?i[1]:void 0;r=[e,Number(i[i.length-1]),t]}return n&&t.parseNodeNameCache.set(e,r),r}function use(e,t,n){let i=ise("pad",e,t,n);if("explicit"===i){i=ise("explicitPaddings",e,t,n);const r=[[0,0],[0,0],[0,0],[0,0]];for(let e=0;e<4;e++)r[e][0]=i[2*e],r[e][1]=i[2*e+1];return r}return i}function cse(e){return e.kept?e:(0,v3.clone)(e)} /** * @license * Copyright 2023 Google LLC. All Rights Reserved. @@ -11641,7 +11641,7 @@ function Zre(e,t,n,i,r){const s=t.inputParams[e];if(s&&void 0!==s.inputIndexStar * limitations under the License. * ============================================================================= */ -const sse=[{tfOpName:"Add",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"AddV2",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"AddN",category:"arithmetic",inputs:[{start:0,end:0,name:"tensors",type:"tensors"}]},{tfOpName:"BiasAdd",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0},{tfName:"data_format",name:"dataFormat",type:"string",notSupported:!0}]},{tfOpName:"Sub",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"RealDiv",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Div",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"DivNoNan",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"FloorDiv",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Mul",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Maximum",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Minimum",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Pow",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"SquaredDifference",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Mod",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"FloorMod",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]}],ose=[{tfOpName:"Abs",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Acos",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Asin",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Atan",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Atan2",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"y",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Ceil",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"ClipByValue",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"clipValueMin",type:"number"},{start:2,name:"clipValueMax",type:"number"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Complex",category:"basic_math",inputs:[{start:0,name:"real",type:"tensor"},{start:1,name:"imag",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"ComplexAbs",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Cos",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Cosh",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Elu",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Exp",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Floor",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Log",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Imag",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0},{tfName:"Tout",name:"outputType",type:"dtype",notSupported:!0}]},{tfOpName:"Neg",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Real",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0},{tfName:"Tout",name:"outputType",type:"dtype",notSupported:!0}]},{tfOpName:"Prelu",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"alpha",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Relu",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Relu6",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Selu",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Sigmoid",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Sin",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Sinh",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Sqrt",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Rsqrt",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Square",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Tan",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Tanh",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Sign",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Round",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Expm1",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Log1p",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Reciprocal",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Softplus",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Asinh",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Acosh",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Atanh",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Erf",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"LeakyRelu",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"alpha",name:"alpha",type:"number",defaultValue:.2},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"IsNan",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"IsFinite",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"IsInf",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]}],ase=[{tfOpName:"EmptyTensorList",category:"control",inputs:[{start:0,name:"elementShape",type:"shape"},{start:1,name:"maxNumElements",type:"number"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"LoopCond",category:"control",inputs:[{start:0,name:"pred",type:"tensor"}]},{tfOpName:"Switch",category:"control",inputs:[{start:0,name:"data",type:"tensor"},{start:1,name:"pred",type:"tensor"}]},{tfOpName:"Merge",category:"control",inputs:[{start:0,end:0,name:"tensors",type:"tensors"}]},{tfOpName:"Enter",category:"control",inputs:[{start:0,name:"tensor",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0},{tfName:"frame_name",name:"frameName",type:"string"},{tfName:"is_constant",name:"isConstant",type:"bool"}]},{tfOpName:"Exit",category:"control",inputs:[{start:0,name:"tensor",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"NextIteration",category:"control",inputs:[{start:0,name:"tensor",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"TensorArrayV3",category:"control",inputs:[{start:0,name:"size",type:"number"}],attrs:[{tfName:"dtype",name:"dtype",type:"dtype"},{tfName:"element_shape",name:"elementShape",type:"shape"},{tfName:"dynamic_size",name:"dynamicSize",type:"bool"},{tfName:"clear_after_read",name:"clearAfterRead",type:"bool"},{tfName:"identical_element_shapes",name:"identicalElementShapes",type:"bool"},{tfName:"tensor_array_name",name:"name",type:"string"}]},{tfOpName:"TensorArrayWriteV3",category:"control",inputs:[{start:0,name:"tensorArrayId",type:"tensor"},{start:1,name:"index",type:"number"},{start:2,name:"tensor",type:"tensor"},{start:3,name:"flowIn",type:"number"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"TensorArrayReadV3",category:"control",inputs:[{start:0,name:"tensorArrayId",type:"tensor"},{start:1,name:"index",type:"number"},{start:2,name:"flowIn",type:"number"}],attrs:[{tfName:"dtype",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"TensorArrayGatherV3",category:"control",inputs:[{start:0,name:"tensorArrayId",type:"tensor"},{start:1,name:"indices",type:"number[]"},{start:2,name:"flowIn",type:"number"}],attrs:[{tfName:"dtype",name:"dtype",type:"dtype"},{tfName:"element_shape",name:"elementShape",type:"shape"}]},{tfOpName:"TensorArrayScatterV3",category:"control",inputs:[{start:0,name:"tensorArrayId",type:"tensor"},{start:1,name:"indices",type:"number[]"},{start:2,name:"tensor",type:"tensor"},{start:3,name:"flowIn",type:"number"}],attrs:[{tfName:"T",name:"dtype",type:"dtype"}]},{tfOpName:"TensorArrayConcatV3",category:"control",inputs:[{start:0,name:"tensorArrayId",type:"tensor"},{start:1,name:"flowIn",type:"number"}],attrs:[{tfName:"dtype",name:"dtype",type:"dtype"},{tfName:"element_shape_except0",name:"elementShapeExcept0",type:"shape",notSupported:!0}]},{tfOpName:"TensorArraySplitV3",category:"control",inputs:[{start:0,name:"tensorArrayId",type:"tensor"},{start:1,name:"tensor",type:"tensor"},{start:2,name:"lengths",type:"number[]"},{start:3,name:"flowIn",type:"number"}],attrs:[{tfName:"T",name:"dtype",type:"dtype"}]},{tfOpName:"TensorArraySizeV3",category:"control",inputs:[{start:0,name:"tensorArrayId",type:"tensor"},{start:1,name:"flowIn",type:"number"}]},{tfOpName:"TensorArrayCloseV3",category:"control",inputs:[{start:0,name:"tensorArrayId",type:"tensor"}]},{tfOpName:"StatelessIf",category:"control",inputs:[{start:0,name:"cond",type:"tensor"},{start:1,end:0,name:"args",type:"tensors"}],attrs:[{tfName:"then_branch",name:"thenBranch",type:"func"},{tfName:"else_branch",name:"elseBranch",type:"func"}]},{tfOpName:"If",category:"control",inputs:[{start:0,name:"cond",type:"tensor"},{start:1,end:0,name:"args",type:"tensors"}],attrs:[{tfName:"then_branch",name:"thenBranch",type:"func"},{tfName:"else_branch",name:"elseBranch",type:"func"}]},{tfOpName:"StatelessWhile",category:"control",inputs:[{start:0,end:0,name:"args",type:"tensors"}],attrs:[{tfName:"cond",name:"cond",type:"func"},{tfName:"body",name:"body",type:"func"}]},{tfOpName:"While",category:"control",inputs:[{start:0,end:0,name:"args",type:"tensors"}],attrs:[{tfName:"cond",name:"cond",type:"func"},{tfName:"body",name:"body",type:"func"}]},{tfOpName:"TensorListScatter",category:"control",inputs:[{start:0,name:"tensor",type:"tensor"},{start:1,name:"indices",type:"number[]"},{start:2,name:"elementShape",type:"shape"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"TensorListScatterV2",category:"control",inputs:[{start:0,name:"tensor",type:"tensor"},{start:1,name:"indices",type:"number[]"},{start:2,name:"elementShape",type:"shape"},{start:3,name:"numElements",type:"number"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"TensorListGather",category:"control",inputs:[{start:0,name:"tensorListId",type:"tensor"},{start:1,name:"indices",type:"number[]"},{start:2,name:"elementShape",type:"shape"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"TensorListGetItem",category:"control",inputs:[{start:0,name:"tensorListId",type:"tensor"},{start:1,name:"index",type:"number"},{start:2,name:"elementShape",type:"shape"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"TensorListSetItem",category:"control",inputs:[{start:0,name:"tensorListId",type:"tensor"},{start:1,name:"index",type:"number"},{start:2,name:"tensor",type:"tensor"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"TensorListReserve",category:"control",inputs:[{start:0,name:"elementShape",type:"shape"},{start:1,name:"numElements",type:"number"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"TensorListFromTensor",category:"control",inputs:[{start:0,name:"tensor",type:"tensor"},{start:1,name:"elementShape",type:"shape"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"TensorListStack",category:"control",inputs:[{start:0,name:"tensorListId",type:"tensor"},{start:1,name:"elementShape",type:"shape"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"},{tfName:"num_elements",name:"numElements",type:"dtype"}]},{tfOpName:"TensorListSplit",category:"control",inputs:[{start:0,name:"tensor",type:"tensor"},{start:1,name:"elementShape",type:"shape"},{start:2,name:"lengths",type:"number[]"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"TensorListConcat",category:"control",inputs:[{start:0,name:"tensorListId",type:"tensor"}],attrs:[{tfName:"element_shape",name:"elementShape",type:"shape"},{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"TensorListConcatV2",category:"control",inputs:[{start:0,name:"tensorListId",type:"tensor"}],attrs:[{tfName:"element_shape",name:"elementShape",type:"shape"},{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"TensorListPopBack",category:"control",inputs:[{start:0,name:"tensorListId",type:"tensor"},{start:1,name:"elementShape",type:"shape"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"TensorListPushBack",category:"control",inputs:[{start:0,name:"tensorListId",type:"tensor"},{start:1,name:"tensor",type:"tensor"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"TensorListLength",category:"control",inputs:[{start:0,name:"tensorListId",type:"tensor"}]},{tfOpName:"TensorListResize",category:"control",inputs:[{start:0,name:"tensorListId",type:"tensor"},{start:1,name:"size",type:"number"}]}],lse=[{tfOpName:"AvgPool",category:"convolution",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"data_format",name:"dataFormat",type:"string",notSupported:!0},{tfName:"ksize",name:"kernelSize",type:"number[]"},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"MaxPool",category:"convolution",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"data_format",name:"dataFormat",type:"string",notSupported:!0},{tfName:"ksize",name:"kernelSize",type:"number[]"},{tfName:"explicit_paddings",name:"explicitPaddings",type:"number[]",defaultValue:[],notSupported:!0},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"MaxPoolWithArgmax",category:"convolution",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"ksize",name:"kernelSize",type:"number[]"},{tfName:"include_batch_in_index",name:"includeBatchInIndex",type:"bool"},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"AvgPool3D",category:"convolution",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"data_format",name:"dataFormat",type:"string",notSupported:!0},{tfName:"ksize",name:"kernelSize",type:"number[]"},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"MaxPool3D",category:"convolution",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"data_format",name:"dataFormat",type:"string",notSupported:!0},{tfName:"ksize",name:"kernelSize",type:"number[]"},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Conv1D",category:"convolution",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"filter",type:"tensor"}],attrs:[{tfName:"stride",name:"stride",type:"number"},{tfName:"padding",name:"pad",type:"string"},{tfName:"data_format",name:"dataFormat",type:"string",defaultValue:"NWC"},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0},{tfName:"dilation",name:"dilation",type:"number",defaultValue:1}]},{tfOpName:"Conv2D",category:"convolution",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"filter",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0},{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"useCudnnOnGpu",name:"useCudnnOnGpu",type:"bool"},{tfName:"data_format",name:"dataFormat",type:"string",defaultValue:"NHWC"},{tfName:"explicit_paddings",name:"explicitPaddings",type:"number[]",defaultValue:[]},{tfName:"dilations",name:"dilations",type:"number[]"}]},{tfOpName:"_FusedConv2D",category:"convolution",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"filter",type:"tensor"},{start:2,end:0,name:"args",type:"tensors"}],attrs:[{tfName:"num_args",name:"numArgs",type:"number"},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0},{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"explicit_paddings",name:"explicitPaddings",type:"number[]",defaultValue:[]},{tfName:"use_cudnn_on_gpu",name:"useCudnnOnGpu",type:"bool",defaultValue:!0},{tfName:"data_format",name:"dataFormat",type:"string",defaultValue:"NHWC"},{tfName:"dilations",name:"dilations",type:"number[]",defaultValue:[1,1,1,1]},{tfName:"fused_ops",name:"fusedOps",type:"string[]",defaultValue:[]},{tfName:"epsilon",name:"epsilon",type:"number",defaultValue:1e-4},{tfName:"leakyrelu_alpha",name:"leakyreluAlpha",type:"number",defaultValue:.2}]},{tfOpName:"Conv2DBackpropInput",category:"convolution",inputs:[{start:2,name:"x",type:"tensor"},{start:1,name:"filter",type:"tensor"},{start:0,name:"outputShape",type:"number[]"}],attrs:[{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"data_format",name:"dataFormat",type:"string",notSupported:!0},{tfName:"explicit_paddings",name:"explicitPaddings",type:"number[]",defaultValue:[]},{tfName:"dilations",name:"dilations",type:"number[]",notSupported:!0}]},{tfOpName:"DepthwiseConv2d",category:"convolution",inputs:[{start:0,name:"input",type:"tensor"},{start:1,name:"filter",type:"tensor"}],attrs:[{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"data_format",name:"dataFormat",type:"string",defaultValue:"NHWC"},{tfName:"explicit_paddings",name:"explicitPaddings",type:"number[]",defaultValue:[]},{tfName:"dilations",name:"dilations",type:"number[]"}]},{tfOpName:"DepthwiseConv2dNative",category:"convolution",inputs:[{start:0,name:"input",type:"tensor"},{start:1,name:"filter",type:"tensor"}],attrs:[{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"data_format",name:"dataFormat",type:"string",defaultValue:"NHWC"},{tfName:"explicit_paddings",name:"explicitPaddings",type:"number[]",defaultValue:[]},{tfName:"dilations",name:"dilations",type:"number[]"}]},{tfOpName:"FusedDepthwiseConv2dNative",category:"convolution",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"filter",type:"tensor"},{start:2,end:0,name:"args",type:"tensors"}],attrs:[{tfName:"num_args",name:"numArgs",type:"number"},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0},{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"data_format",name:"dataFormat",type:"string",defaultValue:"NHWC"},{tfName:"dilations",name:"dilations",type:"number[]",defaultValue:[1,1,1,1]},{tfName:"fused_ops",name:"fusedOps",type:"string[]",defaultValue:[]},{tfName:"explicit_paddings",name:"explicitPaddings",type:"number[]",defaultValue:[]}]},{tfOpName:"Conv3D",category:"convolution",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"filter",type:"tensor"}],attrs:[{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"data_format",name:"dataFormat",type:"string",defaultValue:"NHWC"},{tfName:"dilations",name:"dilations",type:"number[]"}]},{tfOpName:"Dilation2D",category:"convolution",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"filter",type:"tensor"}],attrs:[{tfName:"strides",name:"strides",type:"number[]"},{tfName:"rates",name:"dilations",type:"number[]"},{tfName:"padding",name:"pad",type:"string"}]}],use=[{tfOpName:"Fill",category:"creation",inputs:[{start:0,name:"shape",type:"number[]"},{start:1,name:"value",type:"number"}],attrs:[{tfName:"T",name:"dtype",type:"dtype"}]},{tfOpName:"LinSpace",category:"creation",inputs:[{start:0,name:"start",type:"number"},{start:1,name:"stop",type:"number"},{start:2,name:"num",type:"number"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"OneHot",category:"creation",inputs:[{start:0,name:"indices",type:"tensor"},{start:1,name:"depth",type:"number"},{start:2,name:"onValue",type:"number",defaultValue:1},{start:3,name:"offValue",type:"number",defaultValue:0}],attrs:[{tfName:"axis",name:"axis",type:"number",notSupported:!0},{tfName:"T",name:"dtype",type:"dtype"}]},{tfOpName:"Ones",category:"creation",inputs:[{start:0,name:"shape",type:"number[]"}],attrs:[{tfName:"T",name:"dtype",type:"dtype"}]},{tfOpName:"OnesLike",category:"creation",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"dtype",name:"dtype",type:"dtype"}]},{tfOpName:"RandomStandardNormal",category:"creation",inputs:[{start:0,name:"shape",type:"number[]"}],attrs:[{tfName:"seed",name:"seed",type:"number",defaultValue:0},{tfName:"seed2",name:"seed2",type:"number",defaultValue:0,notSupported:!0},{tfName:"dtype",name:"dtype",type:"dtype"},{tfName:"T",name:"T",type:"number",notSupported:!0}]},{tfOpName:"RandomUniform",category:"creation",inputs:[{start:0,name:"shape",type:"number[]"}],attrs:[{tfName:"minval",name:"minval",type:"number",defaultValue:0},{tfName:"maxval",name:"maxval",type:"number",defaultValue:1},{tfName:"dtype",name:"dtype",type:"dtype"},{tfName:"seed",name:"seed",type:"number",defaultValue:0},{tfName:"seed2",name:"seed2",type:"number",defaultValue:0,notSupported:!0},{tfName:"T",name:"T",type:"number",notSupported:!0}]},{tfOpName:"RandomUniformInt",category:"creation",inputs:[{start:0,name:"shape",type:"number[]"}],attrs:[{tfName:"minval",name:"minval",type:"number"},{tfName:"maxval",name:"maxval",type:"number"},{tfName:"seed",name:"seed",type:"number",defaultValue:0},{tfName:"seed2",name:"seed2",type:"number",defaultValue:0,notSupported:!0}]},{tfOpName:"Range",category:"creation",inputs:[{start:0,name:"start",type:"number"},{start:1,name:"stop",type:"number"},{start:2,name:"step",type:"number",defaultValue:0}],attrs:[{tfName:"Tidx",name:"dtype",type:"dtype"}]},{tfOpName:"TruncatedNormal",category:"creation",inputs:[{start:0,name:"shape",type:"number[]"}],attrs:[{tfName:"means",name:"mean",type:"number",defaultValue:0},{tfName:"stddev",name:"stdDev",type:"number",defaultValue:1},{tfName:"seed",name:"seed",type:"number"},{tfName:"seed2",name:"seed2",type:"number",defaultValue:0,notSupported:!0},{tfName:"dtype",name:"dtype",type:"dtype"},{tfName:"T",name:"T",type:"number",notSupported:!0}]},{tfOpName:"Zeros",category:"creation",inputs:[{start:0,name:"shape",type:"number[]"}],attrs:[{tfName:"T",name:"dtype",type:"dtype"}]},{tfOpName:"ZerosLike",category:"creation",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype"}]},{tfOpName:"Multinomial",category:"creation",inputs:[{start:0,name:"logits",type:"tensor"},{start:1,name:"numSamples",type:"number"}],attrs:[{tfName:"seed",name:"seed",type:"number"},{tfName:"seed2",name:"seed2",type:"number"},{tfName:"T",name:"dtype",type:"dtype"},{tfName:"output_dtype",name:"output_dtype",type:"dtype"}]}],cse=[{tfOpName:"NonMaxSuppressionV2",category:"dynamic",inputs:[{start:0,name:"boxes",type:"tensor"},{start:1,name:"scores",type:"tensor"},{start:2,name:"maxOutputSize",type:"number"},{start:3,name:"iouThreshold",type:"number"}]},{tfOpName:"NonMaxSuppressionV3",category:"dynamic",inputs:[{start:0,name:"boxes",type:"tensor"},{start:1,name:"scores",type:"tensor"},{start:2,name:"maxOutputSize",type:"number"},{start:3,name:"iouThreshold",type:"number"},{start:4,name:"scoreThreshold",type:"number"}]},{tfOpName:"NonMaxSuppressionV4",category:"dynamic",inputs:[{start:0,name:"boxes",type:"tensor"},{start:1,name:"scores",type:"tensor"},{start:2,name:"maxOutputSize",type:"number"},{start:3,name:"iouThreshold",type:"number"},{start:4,name:"scoreThreshold",type:"number"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0},{tfName:"T_threshold",name:"threshold",type:"dtype",notSupported:!0},{tfName:"pad_to_max_output_size",name:"padToMaxOutputSize",type:"bool"}]},{tfOpName:"NonMaxSuppressionV5",category:"dynamic",inputs:[{start:0,name:"boxes",type:"tensor"},{start:1,name:"scores",type:"tensor"},{start:2,name:"maxOutputSize",type:"number"},{start:3,name:"iouThreshold",type:"number"},{start:4,name:"scoreThreshold",type:"number"},{start:5,name:"softNmsSigma",type:"number"}]},{tfOpName:"Where",category:"dynamic",inputs:[{start:0,name:"condition",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"ListDiff",category:"dynamic",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"y",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]}],dse=[{tfOpName:"LowerBound",category:"evaluation",inputs:[{start:0,name:"sortedSequence",type:"tensor"},{start:1,name:"values",type:"tensor"}]},{tfOpName:"TopKV2",category:"evaluation",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"k",type:"number"}],attrs:[{tfName:"sorted",name:"sorted",type:"bool"}]},{tfOpName:"UpperBound",category:"evaluation",inputs:[{start:0,name:"sortedSequence",type:"tensor"},{start:1,name:"values",type:"tensor"}]},{tfOpName:"Unique",category:"evaluation",inputs:[{start:0,name:"x",type:"tensor"}]},{tfOpName:"UniqueV2",category:"evaluation",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number"}]}],hse=[{tfOpName:"PlaceholderWithDefault",category:"graph",inputs:[{start:0,name:"default",type:"tensor"}],attrs:[{tfName:"shape",name:"shape",type:"shape"},{tfName:"dtype",name:"dtype",type:"dtype"}]},{tfOpName:"Placeholder",category:"graph",attrs:[{tfName:"shape",name:"shape",type:"shape"},{tfName:"dtype",name:"dtype",type:"dtype"}]},{tfOpName:"Const",category:"graph"},{tfOpName:"Identity",category:"graph",inputs:[{start:0,name:"x",type:"tensor"}]},{tfOpName:"IdentityN",category:"graph",inputs:[{start:0,end:0,name:"x",type:"tensors"}]},{tfOpName:"Snapshot",category:"graph",inputs:[{start:0,name:"x",type:"tensor"}]},{tfOpName:"Rank",category:"graph",inputs:[{start:0,name:"x",type:"tensor"}]},{tfOpName:"Size",category:"graph",inputs:[{start:0,name:"x",type:"tensor"}]},{tfOpName:"Shape",category:"graph",inputs:[{start:0,name:"x",type:"tensor"}]},{tfOpName:"ShapeN",category:"graph",inputs:[{start:0,end:0,name:"x",type:"tensors"}]},{tfOpName:"Print",category:"graph",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"data",type:"tensors"}],attrs:[{tfName:"message",name:"message",type:"string"},{tfName:"first_n",name:"firstN",type:"number",notSupported:!0},{tfName:"summarize",name:"summarize",type:"number",defaultValue:3}]},{tfOpName:"NoOp",category:"graph",inputs:[]},{tfOpName:"StopGradient",category:"graph",inputs:[{start:0,name:"x",type:"tensor"}]},{tfOpName:"FakeQuantWithMinMaxVars",category:"graph",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"min",name:"min",type:"number"},{tfName:"max",name:"max",type:"number"}]}],pse=[{tfOpName:"HashTable",category:"hash_table",inputs:[],attrs:[{tfName:"shared_name",name:"sharedName",type:"string"},{tfName:"use_node_name_sharing",name:"useNodeNameSharing",type:"bool"},{tfName:"key_dtype",name:"keyDType",type:"dtype"},{tfName:"value_dtype",name:"valueDType",type:"dtype"}]},{tfOpName:"HashTableV2",category:"hash_table",inputs:[],attrs:[{tfName:"shared_name",name:"sharedName",type:"string"},{tfName:"use_node_name_sharing",name:"useNodeNameSharing",type:"bool"},{tfName:"key_dtype",name:"keyDType",type:"dtype"},{tfName:"value_dtype",name:"valueDType",type:"dtype"}]},{tfOpName:"LookupTableImport",category:"hash_table",inputs:[{start:0,name:"tableHandle",type:"tensor"},{start:1,name:"keys",type:"tensor"},{start:2,name:"values",type:"tensor"}],attrs:[{tfName:"Tin",name:"tIn",type:"dtype",notSupported:!0},{tfName:"Tout",name:"tOut",type:"dtype",notSupported:!0}]},{tfOpName:"LookupTableImportV2",category:"hash_table",inputs:[{start:0,name:"tableHandle",type:"tensor"},{start:1,name:"keys",type:"tensor"},{start:2,name:"values",type:"tensor"}],attrs:[{tfName:"Tin",name:"tIn",type:"dtype",notSupported:!0},{tfName:"Tout",name:"tOut",type:"dtype",notSupported:!0}]},{tfOpName:"LookupTableFind",category:"hash_table",inputs:[{start:0,name:"tableHandle",type:"tensor"},{start:1,name:"keys",type:"tensor"},{start:2,name:"defaultValue",type:"tensor"}],attrs:[{tfName:"Tin",name:"tIn",type:"dtype",notSupported:!0},{tfName:"Tout",name:"tOut",type:"dtype",notSupported:!0}]},{tfOpName:"LookupTableFindV2",category:"hash_table",inputs:[{start:0,name:"tableHandle",type:"tensor"},{start:1,name:"keys",type:"tensor"},{start:2,name:"defaultValue",type:"tensor"}],attrs:[{tfName:"Tin",name:"tIn",type:"dtype",notSupported:!0},{tfName:"Tout",name:"tOut",type:"dtype",notSupported:!0}]},{tfOpName:"LookupTableSize",category:"hash_table",inputs:[{start:0,name:"tableHandle",type:"tensor"}]},{tfOpName:"LookupTableSizeV2",category:"hash_table",inputs:[{start:0,name:"tableHandle",type:"tensor"}]},{tfOpName:"InitializeTable",category:"hash_table",inputs:[{start:0,name:"tableHandle",type:"tensor"},{start:1,name:"keys",type:"tensor"},{start:2,name:"values",type:"tensor"}]},{tfOpName:"InitializeTableV2",category:"hash_table",inputs:[{start:0,name:"tableHandle",type:"tensor"},{start:1,name:"keys",type:"tensor"},{start:2,name:"values",type:"tensor"}]}],fse=[{tfOpName:"ResizeBilinear",category:"image",inputs:[{start:0,name:"images",type:"tensor"},{start:1,name:"size",type:"number[]"}],attrs:[{tfName:"align_corners",name:"alignCorners",type:"bool"},{tfName:"half_pixel_centers",name:"halfPixelCenters",type:"bool"},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"ResizeNearestNeighbor",category:"image",inputs:[{start:0,name:"images",type:"tensor"},{start:1,name:"size",type:"number[]"}],attrs:[{tfName:"align_corners",name:"alignCorners",type:"bool"},{tfName:"half_pixel_centers",name:"halfPixelCenters",type:"bool"},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"CropAndResize",category:"image",inputs:[{start:0,name:"image",type:"tensor"},{start:1,name:"boxes",type:"tensor"},{start:2,name:"boxInd",type:"tensor"},{start:3,name:"cropSize",type:"number[]"}],attrs:[{tfName:"method",name:"method",type:"string"},{tfName:"extrapolation_value",name:"extrapolationValue",type:"number"}]},{tfOpName:"ImageProjectiveTransformV3",category:"image",inputs:[{start:0,name:"images",type:"tensor"},{start:1,name:"transforms",type:"tensor"},{start:2,name:"outputShape",type:"number[]"},{start:3,name:"fillValue",type:"number"}],attrs:[{tfName:"interpolation",name:"interpolation",type:"string"},{tfName:"fill_mode",name:"fillMode",type:"string"}]}],mse=[{tfOpName:"Equal",category:"logical",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"NotEqual",category:"logical",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Greater",category:"logical",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"GreaterEqual",category:"logical",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Less",category:"logical",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"LessEqual",category:"logical",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"LogicalAnd",category:"logical",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"LogicalNot",category:"logical",inputs:[{start:0,name:"a",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"LogicalOr",category:"logical",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Select",category:"logical",inputs:[{start:0,name:"condition",type:"tensor"},{start:1,name:"a",type:"tensor"},{start:2,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"SelectV2",category:"logical",inputs:[{start:0,name:"condition",type:"tensor"},{start:1,name:"a",type:"tensor"},{start:2,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"BitwiseAnd",category:"logical",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"y",type:"tensor"}]}],gse=[{tfOpName:"_FusedMatMul",category:"matrices",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"},{start:2,end:0,name:"args",type:"tensors"}],attrs:[{tfName:"num_args",name:"numArgs",type:"number"},{tfName:"fused_ops",name:"fusedOps",type:"string[]",defaultValue:[]},{tfName:"epsilon",name:"epsilon",type:"number",defaultValue:1e-4},{tfName:"transpose_a",name:"transposeA",type:"bool",defaultValue:!1},{tfName:"transpose_b",name:"transposeB",type:"bool",defaultValue:!1},{tfName:"leakyrelu_alpha",name:"leakyreluAlpha",type:"number",defaultValue:.2},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"MatMul",category:"matrices",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"transpose_a",name:"transposeA",type:"bool",defaultValue:!1},{tfName:"transpose_b",name:"transposeB",type:"bool",defaultValue:!1},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"BatchMatMul",category:"matrices",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"adj_x",name:"transposeA",type:"bool",defaultValue:!1},{tfName:"adj_y",name:"transposeB",type:"bool",defaultValue:!1},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"BatchMatMulV2",category:"matrices",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"adj_x",name:"transposeA",type:"bool",defaultValue:!1},{tfName:"adj_y",name:"transposeB",type:"bool",defaultValue:!1},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Transpose",category:"matrices",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"perm",type:"number[]"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Einsum",category:"matrices",inputs:[{start:0,end:0,name:"tensors",type:"tensors"}],attrs:[{tfName:"equation",name:"equation",type:"string"},{tfName:"N",name:"n",type:"number",defaultValue:2},{tfName:"T",name:"dtype",type:"dtype"}]},{tfOpName:"MatrixBandPart",category:"matrices",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"numLower",type:"tensor"},{start:1,name:"numUpper",type:"tensor"}]}],_se=[{tfOpName:"EuclideanNorm",category:"normalization",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number[]"}],attrs:[{tfName:"keep_dims",name:"keepDims",type:"bool",defaultValue:!1}]},{tfOpName:"FusedBatchNorm",category:"normalization",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"scale",type:"tensor"},{start:2,name:"offset",type:"tensor"},{start:3,name:"mean",type:"tensor"},{start:4,name:"variance",type:"tensor"}],attrs:[{tfName:"epsilon",name:"epsilon",type:"number",defaultValue:.001},{tfName:"data_format",name:"dataFormat",type:"string",notSupported:!0}]},{tfOpName:"FusedBatchNormV2",category:"normalization",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"scale",type:"tensor"},{start:2,name:"offset",type:"tensor"},{start:3,name:"mean",type:"tensor"},{start:4,name:"variance",type:"tensor"}],attrs:[{tfName:"epsilon",name:"epsilon",type:"number",defaultValue:.001},{tfName:"data_format",name:"dataFormat",type:"string",notSupported:!0}]},{tfOpName:"FusedBatchNormV3",category:"normalization",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"scale",type:"tensor"},{start:2,name:"offset",type:"tensor"},{start:3,name:"mean",type:"tensor"},{start:4,name:"variance",type:"tensor"}],attrs:[{tfName:"epsilon",name:"epsilon",type:"number",defaultValue:.001},{tfName:"data_format",name:"dataFormat",type:"string",notSupported:!0}]},{tfOpName:"LRN",category:"normalization",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"depth_radius",name:"radius",type:"number",defaultValue:5},{tfName:"bias",name:"bias",type:"number",defaultValue:1},{tfName:"alpha",name:"alpha",type:"number",defaultValue:1},{tfName:"beta",name:"beta",type:"number",defaultValue:.5}]},{tfOpName:"Softmax",category:"normalization",inputs:[{start:0,name:"x",type:"tensor"}]},{tfOpName:"LogSoftmax",category:"normalization",inputs:[{start:0,name:"x",type:"tensor"}]}],yse=[{tfOpName:"Bincount",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"size",type:"number"},{start:2,name:"weights",type:"tensor"}]},{tfOpName:"DenseBincount",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"size",type:"number"},{start:2,name:"weights",type:"tensor"}],attrs:[{tfName:"binary_output",name:"binaryOutput",type:"bool"}]},{tfOpName:"Max",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number[]"}],attrs:[{tfName:"keep_dims",name:"keepDims",type:"bool"}]},{tfOpName:"Mean",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number[]"}],attrs:[{tfName:"keep_dims",name:"keepDims",type:"bool"}]},{tfOpName:"Min",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number[]"}],attrs:[{tfName:"keep_dims",name:"keepDims",type:"bool"}]},{tfOpName:"Sum",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number[]"}],attrs:[{tfName:"keep_dims",name:"keepDims",type:"bool"}]},{tfOpName:"All",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number[]"}],attrs:[{tfName:"keep_dims",name:"keepDims",type:"bool"}]},{tfOpName:"Any",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number[]"}],attrs:[{tfName:"keep_dims",name:"keepDims",type:"bool"}]},{tfOpName:"ArgMax",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number"}]},{tfOpName:"ArgMin",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number"}]},{tfOpName:"Prod",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number[]"}],attrs:[{tfName:"keep_dims",name:"keepDims",type:"bool"},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Cumprod",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number"}],attrs:[{tfName:"exclusive",name:"exclusive",type:"bool"},{tfName:"reverse",name:"reverse",type:"bool"}]},{tfOpName:"Cumsum",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number"}],attrs:[{tfName:"exclusive",name:"exclusive",type:"bool"},{tfName:"reverse",name:"reverse",type:"bool"}]}],vse=[{tfOpName:"ConcatV2",category:"slice_join",inputs:[{start:0,end:-1,name:"tensors",type:"tensors"},{start:-1,name:"axis",type:"number"}],attrs:[{tfName:"N",name:"n",type:"number",defaultValue:2}]},{tfOpName:"Concat",category:"slice_join",inputs:[{start:1,end:0,name:"tensors",type:"tensors"},{start:0,name:"axis",type:"number"}],attrs:[{tfName:"N",name:"n",type:"number",defaultValue:2}]},{tfOpName:"GatherV2",category:"slice_join",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"indices",type:"tensor"},{start:2,name:"axis",type:"number",defaultValue:0}],attrs:[{tfName:"batch_dims",name:"batchDims",type:"number",defaultValue:0}]},{tfOpName:"Gather",category:"slice_join",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"indices",type:"tensor"}],attrs:[{tfName:"validate_indices",name:"validateIndices",type:"bool",notSupported:!0}]},{tfOpName:"Reverse",category:"slice_join",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"dims",type:"bool[]"}]},{tfOpName:"ReverseV2",category:"slice_join",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number[]"}]},{tfOpName:"Slice",category:"slice_join",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"begin",type:"number[]"},{start:2,name:"size",type:"number[]"}]},{tfOpName:"StridedSlice",category:"slice_join",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"begin",type:"number[]"},{start:2,name:"end",type:"number[]"},{start:3,name:"strides",type:"number[]"}],attrs:[{tfName:"begin_mask",name:"beginMask",type:"number",defaultValue:0},{tfName:"end_mask",name:"endMask",type:"number",defaultValue:0},{tfName:"new_axis_mask",name:"newAxisMask",type:"number",defaultValue:0},{tfName:"ellipsis_mask",name:"ellipsisMask",type:"number",defaultValue:0},{tfName:"shrink_axis_mask",name:"shrinkAxisMask",type:"number",defaultValue:0}]},{tfOpName:"Pack",category:"slice_join",inputs:[{start:0,end:0,name:"tensors",type:"tensors"}],attrs:[{tfName:"axis",name:"axis",type:"number",defaultValue:0}]},{tfOpName:"Unpack",category:"slice_join",inputs:[{start:0,name:"tensor",type:"tensor"}],attrs:[{tfName:"axis",name:"axis",type:"number",defaultValue:0},{tfName:"num",name:"num",type:"number",defaultValue:0,notSupported:!0}]},{tfOpName:"Tile",category:"slice_join",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"reps",type:"number[]"}]},{tfOpName:"Split",category:"slice_join",inputs:[{start:0,name:"axis",type:"number",defaultValue:0},{start:1,name:"x",type:"tensor"}],attrs:[{tfName:"num_split",name:"numOrSizeSplits",type:"number",defaultValue:1}]},{tfOpName:"SplitV",category:"slice_join",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"numOrSizeSplits",type:"number[]"},{start:2,name:"axis",type:"number",defaultValue:0}]},{tfOpName:"ScatterNd",category:"slice_join",inputs:[{start:0,name:"indices",type:"tensor"},{start:1,name:"values",type:"tensor"},{start:2,name:"shape",type:"number[]"}]},{tfOpName:"GatherNd",category:"slice_join",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"indices",type:"tensor"}]},{tfOpName:"SparseToDense",category:"slice_join",inputs:[{start:0,name:"sparseIndices",type:"tensor"},{start:1,name:"outputShape",type:"number[]"},{start:2,name:"sparseValues",type:"tensor"},{start:3,name:"defaultValue",type:"tensor"}],attrs:[{tfName:"validate_indices",name:"validateIndices",type:"bool",defaultValue:!1,notSupported:!0}]},{tfOpName:"TensorScatterUpdate",category:"slice_join",inputs:[{start:0,name:"tensor",type:"tensor"},{start:1,name:"indices",type:"tensor"},{start:2,name:"values",type:"tensor"}]}],bse=[{tfOpName:"SparseFillEmptyRows",category:"sparse",inputs:[{start:0,name:"indices",type:"tensor"},{start:1,name:"values",type:"tensor"},{start:2,name:"denseShape",type:"tensor"},{start:3,name:"defaultValue",type:"tensor"}]},{tfOpName:"SparseReshape",category:"sparse",inputs:[{start:0,name:"inputIndices",type:"tensor"},{start:1,name:"inputShape",type:"tensor"},{start:2,name:"newShape",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"SparseSegmentMean",category:"sparse",inputs:[{start:0,name:"data",type:"tensor"},{start:1,name:"indices",type:"tensor"},{start:2,name:"segmentIds",type:"tensor"}]},{tfOpName:"SparseSegmentSum",category:"sparse",inputs:[{start:0,name:"data",type:"tensor"},{start:1,name:"indices",type:"tensor"},{start:2,name:"segmentIds",type:"tensor"}]}],Tse=[{tfOpName:"FFT",category:"spectral",inputs:[{start:0,name:"x",type:"tensor"}]},{tfOpName:"IFFT",category:"spectral",inputs:[{start:0,name:"x",type:"tensor"}]},{tfOpName:"RFFT",category:"spectral",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"fft_length",type:"number",notSupported:!0}]},{tfOpName:"IRFFT",category:"spectral",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"fft_length",type:"number",notSupported:!0}]}],xse=[{tfOpName:"StaticRegexReplace",category:"string",inputs:[{start:0,name:"input",type:"tensor"}],attrs:[{tfName:"pattern",name:"pattern",type:"string"},{tfName:"rewrite",name:"rewrite",type:"string"},{tfName:"replace_global",name:"replaceGlobal",type:"bool"}]},{tfOpName:"StringNGrams",category:"string",inputs:[{start:0,name:"data",type:"tensor"},{start:1,name:"dataSplits",type:"tensor"}],attrs:[{tfName:"separator",name:"separator",type:"string"},{tfName:"ngram_widths",name:"nGramWidths",type:"number[]"},{tfName:"left_pad",name:"leftPad",type:"string"},{tfName:"right_pad",name:"rightPad",type:"string"},{tfName:"pad_width",name:"padWidth",type:"number"},{tfName:"preserve_short_sequences",name:"preserveShortSequences",type:"bool"}],outputs:["ngrams","ngrams_splits"]},{tfOpName:"StringSplit",category:"string",inputs:[{start:0,name:"input",type:"tensor"},{start:1,name:"delimiter",type:"tensor"}],attrs:[{tfName:"skip_empty",name:"skipEmpty",type:"bool"}],outputs:["indices","values","shape"]},{tfOpName:"StringToHashBucketFast",category:"string",inputs:[{start:0,name:"input",type:"tensor"}],attrs:[{tfName:"num_buckets",name:"numBuckets",type:"number"}]}],Ese=[{tfOpName:"Cast",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"SrcT",name:"sdtype",type:"dtype",notSupported:!0},{tfName:"DstT",name:"dtype",type:"dtype"}]},{tfOpName:"ExpandDims",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number"}]},{tfOpName:"MirrorPad",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"padding",type:"number[]"}],attrs:[{tfName:"mode",name:"mode",type:"string"}]},{tfOpName:"Pad",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"padding",type:"number[]"}],attrs:[{tfName:"constant_value",name:"constantValue",type:"number",defaultValue:0}]},{tfOpName:"PadV2",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"padding",type:"number[]"},{start:2,name:"constantValue",type:"number",defaultValue:0}]},{tfOpName:"Reshape",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"shape",type:"number[]"}]},{tfOpName:"EnsureShape",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"shape",type:"number[]"}]},{tfOpName:"Squeeze",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"axis",tfDeprecatedName:"squeeze_dims",name:"axis",type:"number[]"}]},{tfOpName:"SpaceToBatchND",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"blockShape",type:"number[]"},{start:2,name:"paddings",type:"number[]"}]},{tfOpName:"BatchToSpaceND",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"blockShape",type:"number[]"},{start:2,name:"crops",type:"number[]"}]},{tfOpName:"DepthToSpace",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"block_size",name:"blockSize",type:"number"},{tfName:"data_format",name:"dataFormat",type:"string"}]},{tfOpName:"BroadcastTo",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"shape",type:"number[]"}],attrs:[]},{tfOpName:"BroadcastArgs",category:"transformation",inputs:[{start:0,name:"s0",type:"tensor"},{start:1,name:"s1",type:"tensor"}],attrs:[]}]; +const dse=[{tfOpName:"Add",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"AddV2",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"AddN",category:"arithmetic",inputs:[{start:0,end:0,name:"tensors",type:"tensors"}]},{tfOpName:"BiasAdd",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0},{tfName:"data_format",name:"dataFormat",type:"string",notSupported:!0}]},{tfOpName:"Sub",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"RealDiv",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Div",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"DivNoNan",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"FloorDiv",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Mul",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Maximum",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Minimum",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Pow",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"SquaredDifference",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Mod",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"FloorMod",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]}],hse=[{tfOpName:"Abs",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Acos",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Asin",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Atan",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Atan2",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"y",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Ceil",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"ClipByValue",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"clipValueMin",type:"number"},{start:2,name:"clipValueMax",type:"number"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Complex",category:"basic_math",inputs:[{start:0,name:"real",type:"tensor"},{start:1,name:"imag",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"ComplexAbs",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Cos",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Cosh",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Elu",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Exp",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Floor",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Log",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Imag",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0},{tfName:"Tout",name:"outputType",type:"dtype",notSupported:!0}]},{tfOpName:"Neg",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Real",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0},{tfName:"Tout",name:"outputType",type:"dtype",notSupported:!0}]},{tfOpName:"Prelu",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"alpha",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Relu",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Relu6",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Selu",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Sigmoid",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Sin",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Sinh",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Sqrt",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Rsqrt",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Square",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Tan",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Tanh",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Sign",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Round",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Expm1",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Log1p",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Reciprocal",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Softplus",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Asinh",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Acosh",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Atanh",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Erf",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"LeakyRelu",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"alpha",name:"alpha",type:"number",defaultValue:.2},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"IsNan",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"IsFinite",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"IsInf",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]}],pse=[{tfOpName:"EmptyTensorList",category:"control",inputs:[{start:0,name:"elementShape",type:"shape"},{start:1,name:"maxNumElements",type:"number"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"LoopCond",category:"control",inputs:[{start:0,name:"pred",type:"tensor"}]},{tfOpName:"Switch",category:"control",inputs:[{start:0,name:"data",type:"tensor"},{start:1,name:"pred",type:"tensor"}]},{tfOpName:"Merge",category:"control",inputs:[{start:0,end:0,name:"tensors",type:"tensors"}]},{tfOpName:"Enter",category:"control",inputs:[{start:0,name:"tensor",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0},{tfName:"frame_name",name:"frameName",type:"string"},{tfName:"is_constant",name:"isConstant",type:"bool"}]},{tfOpName:"Exit",category:"control",inputs:[{start:0,name:"tensor",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"NextIteration",category:"control",inputs:[{start:0,name:"tensor",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"TensorArrayV3",category:"control",inputs:[{start:0,name:"size",type:"number"}],attrs:[{tfName:"dtype",name:"dtype",type:"dtype"},{tfName:"element_shape",name:"elementShape",type:"shape"},{tfName:"dynamic_size",name:"dynamicSize",type:"bool"},{tfName:"clear_after_read",name:"clearAfterRead",type:"bool"},{tfName:"identical_element_shapes",name:"identicalElementShapes",type:"bool"},{tfName:"tensor_array_name",name:"name",type:"string"}]},{tfOpName:"TensorArrayWriteV3",category:"control",inputs:[{start:0,name:"tensorArrayId",type:"tensor"},{start:1,name:"index",type:"number"},{start:2,name:"tensor",type:"tensor"},{start:3,name:"flowIn",type:"number"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"TensorArrayReadV3",category:"control",inputs:[{start:0,name:"tensorArrayId",type:"tensor"},{start:1,name:"index",type:"number"},{start:2,name:"flowIn",type:"number"}],attrs:[{tfName:"dtype",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"TensorArrayGatherV3",category:"control",inputs:[{start:0,name:"tensorArrayId",type:"tensor"},{start:1,name:"indices",type:"number[]"},{start:2,name:"flowIn",type:"number"}],attrs:[{tfName:"dtype",name:"dtype",type:"dtype"},{tfName:"element_shape",name:"elementShape",type:"shape"}]},{tfOpName:"TensorArrayScatterV3",category:"control",inputs:[{start:0,name:"tensorArrayId",type:"tensor"},{start:1,name:"indices",type:"number[]"},{start:2,name:"tensor",type:"tensor"},{start:3,name:"flowIn",type:"number"}],attrs:[{tfName:"T",name:"dtype",type:"dtype"}]},{tfOpName:"TensorArrayConcatV3",category:"control",inputs:[{start:0,name:"tensorArrayId",type:"tensor"},{start:1,name:"flowIn",type:"number"}],attrs:[{tfName:"dtype",name:"dtype",type:"dtype"},{tfName:"element_shape_except0",name:"elementShapeExcept0",type:"shape",notSupported:!0}]},{tfOpName:"TensorArraySplitV3",category:"control",inputs:[{start:0,name:"tensorArrayId",type:"tensor"},{start:1,name:"tensor",type:"tensor"},{start:2,name:"lengths",type:"number[]"},{start:3,name:"flowIn",type:"number"}],attrs:[{tfName:"T",name:"dtype",type:"dtype"}]},{tfOpName:"TensorArraySizeV3",category:"control",inputs:[{start:0,name:"tensorArrayId",type:"tensor"},{start:1,name:"flowIn",type:"number"}]},{tfOpName:"TensorArrayCloseV3",category:"control",inputs:[{start:0,name:"tensorArrayId",type:"tensor"}]},{tfOpName:"StatelessIf",category:"control",inputs:[{start:0,name:"cond",type:"tensor"},{start:1,end:0,name:"args",type:"tensors"}],attrs:[{tfName:"then_branch",name:"thenBranch",type:"func"},{tfName:"else_branch",name:"elseBranch",type:"func"}]},{tfOpName:"If",category:"control",inputs:[{start:0,name:"cond",type:"tensor"},{start:1,end:0,name:"args",type:"tensors"}],attrs:[{tfName:"then_branch",name:"thenBranch",type:"func"},{tfName:"else_branch",name:"elseBranch",type:"func"}]},{tfOpName:"StatelessWhile",category:"control",inputs:[{start:0,end:0,name:"args",type:"tensors"}],attrs:[{tfName:"cond",name:"cond",type:"func"},{tfName:"body",name:"body",type:"func"}]},{tfOpName:"While",category:"control",inputs:[{start:0,end:0,name:"args",type:"tensors"}],attrs:[{tfName:"cond",name:"cond",type:"func"},{tfName:"body",name:"body",type:"func"}]},{tfOpName:"TensorListScatter",category:"control",inputs:[{start:0,name:"tensor",type:"tensor"},{start:1,name:"indices",type:"number[]"},{start:2,name:"elementShape",type:"shape"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"TensorListScatterV2",category:"control",inputs:[{start:0,name:"tensor",type:"tensor"},{start:1,name:"indices",type:"number[]"},{start:2,name:"elementShape",type:"shape"},{start:3,name:"numElements",type:"number"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"TensorListGather",category:"control",inputs:[{start:0,name:"tensorListId",type:"tensor"},{start:1,name:"indices",type:"number[]"},{start:2,name:"elementShape",type:"shape"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"TensorListGetItem",category:"control",inputs:[{start:0,name:"tensorListId",type:"tensor"},{start:1,name:"index",type:"number"},{start:2,name:"elementShape",type:"shape"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"TensorListSetItem",category:"control",inputs:[{start:0,name:"tensorListId",type:"tensor"},{start:1,name:"index",type:"number"},{start:2,name:"tensor",type:"tensor"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"TensorListReserve",category:"control",inputs:[{start:0,name:"elementShape",type:"shape"},{start:1,name:"numElements",type:"number"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"TensorListFromTensor",category:"control",inputs:[{start:0,name:"tensor",type:"tensor"},{start:1,name:"elementShape",type:"shape"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"TensorListStack",category:"control",inputs:[{start:0,name:"tensorListId",type:"tensor"},{start:1,name:"elementShape",type:"shape"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"},{tfName:"num_elements",name:"numElements",type:"dtype"}]},{tfOpName:"TensorListSplit",category:"control",inputs:[{start:0,name:"tensor",type:"tensor"},{start:1,name:"elementShape",type:"shape"},{start:2,name:"lengths",type:"number[]"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"TensorListConcat",category:"control",inputs:[{start:0,name:"tensorListId",type:"tensor"}],attrs:[{tfName:"element_shape",name:"elementShape",type:"shape"},{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"TensorListConcatV2",category:"control",inputs:[{start:0,name:"tensorListId",type:"tensor"}],attrs:[{tfName:"element_shape",name:"elementShape",type:"shape"},{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"TensorListPopBack",category:"control",inputs:[{start:0,name:"tensorListId",type:"tensor"},{start:1,name:"elementShape",type:"shape"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"TensorListPushBack",category:"control",inputs:[{start:0,name:"tensorListId",type:"tensor"},{start:1,name:"tensor",type:"tensor"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"TensorListLength",category:"control",inputs:[{start:0,name:"tensorListId",type:"tensor"}]},{tfOpName:"TensorListResize",category:"control",inputs:[{start:0,name:"tensorListId",type:"tensor"},{start:1,name:"size",type:"number"}]}],fse=[{tfOpName:"AvgPool",category:"convolution",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"data_format",name:"dataFormat",type:"string",notSupported:!0},{tfName:"ksize",name:"kernelSize",type:"number[]"},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"MaxPool",category:"convolution",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"data_format",name:"dataFormat",type:"string",notSupported:!0},{tfName:"ksize",name:"kernelSize",type:"number[]"},{tfName:"explicit_paddings",name:"explicitPaddings",type:"number[]",defaultValue:[],notSupported:!0},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"MaxPoolWithArgmax",category:"convolution",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"ksize",name:"kernelSize",type:"number[]"},{tfName:"include_batch_in_index",name:"includeBatchInIndex",type:"bool"},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"AvgPool3D",category:"convolution",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"data_format",name:"dataFormat",type:"string",notSupported:!0},{tfName:"ksize",name:"kernelSize",type:"number[]"},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"MaxPool3D",category:"convolution",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"data_format",name:"dataFormat",type:"string",notSupported:!0},{tfName:"ksize",name:"kernelSize",type:"number[]"},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Conv1D",category:"convolution",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"filter",type:"tensor"}],attrs:[{tfName:"stride",name:"stride",type:"number"},{tfName:"padding",name:"pad",type:"string"},{tfName:"data_format",name:"dataFormat",type:"string",defaultValue:"NWC"},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0},{tfName:"dilation",name:"dilation",type:"number",defaultValue:1}]},{tfOpName:"Conv2D",category:"convolution",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"filter",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0},{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"useCudnnOnGpu",name:"useCudnnOnGpu",type:"bool"},{tfName:"data_format",name:"dataFormat",type:"string",defaultValue:"NHWC"},{tfName:"explicit_paddings",name:"explicitPaddings",type:"number[]",defaultValue:[]},{tfName:"dilations",name:"dilations",type:"number[]"}]},{tfOpName:"_FusedConv2D",category:"convolution",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"filter",type:"tensor"},{start:2,end:0,name:"args",type:"tensors"}],attrs:[{tfName:"num_args",name:"numArgs",type:"number"},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0},{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"explicit_paddings",name:"explicitPaddings",type:"number[]",defaultValue:[]},{tfName:"use_cudnn_on_gpu",name:"useCudnnOnGpu",type:"bool",defaultValue:!0},{tfName:"data_format",name:"dataFormat",type:"string",defaultValue:"NHWC"},{tfName:"dilations",name:"dilations",type:"number[]",defaultValue:[1,1,1,1]},{tfName:"fused_ops",name:"fusedOps",type:"string[]",defaultValue:[]},{tfName:"epsilon",name:"epsilon",type:"number",defaultValue:1e-4},{tfName:"leakyrelu_alpha",name:"leakyreluAlpha",type:"number",defaultValue:.2}]},{tfOpName:"Conv2DBackpropInput",category:"convolution",inputs:[{start:2,name:"x",type:"tensor"},{start:1,name:"filter",type:"tensor"},{start:0,name:"outputShape",type:"number[]"}],attrs:[{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"data_format",name:"dataFormat",type:"string",notSupported:!0},{tfName:"explicit_paddings",name:"explicitPaddings",type:"number[]",defaultValue:[]},{tfName:"dilations",name:"dilations",type:"number[]",notSupported:!0}]},{tfOpName:"DepthwiseConv2d",category:"convolution",inputs:[{start:0,name:"input",type:"tensor"},{start:1,name:"filter",type:"tensor"}],attrs:[{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"data_format",name:"dataFormat",type:"string",defaultValue:"NHWC"},{tfName:"explicit_paddings",name:"explicitPaddings",type:"number[]",defaultValue:[]},{tfName:"dilations",name:"dilations",type:"number[]"}]},{tfOpName:"DepthwiseConv2dNative",category:"convolution",inputs:[{start:0,name:"input",type:"tensor"},{start:1,name:"filter",type:"tensor"}],attrs:[{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"data_format",name:"dataFormat",type:"string",defaultValue:"NHWC"},{tfName:"explicit_paddings",name:"explicitPaddings",type:"number[]",defaultValue:[]},{tfName:"dilations",name:"dilations",type:"number[]"}]},{tfOpName:"FusedDepthwiseConv2dNative",category:"convolution",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"filter",type:"tensor"},{start:2,end:0,name:"args",type:"tensors"}],attrs:[{tfName:"num_args",name:"numArgs",type:"number"},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0},{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"data_format",name:"dataFormat",type:"string",defaultValue:"NHWC"},{tfName:"dilations",name:"dilations",type:"number[]",defaultValue:[1,1,1,1]},{tfName:"fused_ops",name:"fusedOps",type:"string[]",defaultValue:[]},{tfName:"explicit_paddings",name:"explicitPaddings",type:"number[]",defaultValue:[]}]},{tfOpName:"Conv3D",category:"convolution",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"filter",type:"tensor"}],attrs:[{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"data_format",name:"dataFormat",type:"string",defaultValue:"NHWC"},{tfName:"dilations",name:"dilations",type:"number[]"}]},{tfOpName:"Dilation2D",category:"convolution",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"filter",type:"tensor"}],attrs:[{tfName:"strides",name:"strides",type:"number[]"},{tfName:"rates",name:"dilations",type:"number[]"},{tfName:"padding",name:"pad",type:"string"}]}],mse=[{tfOpName:"Fill",category:"creation",inputs:[{start:0,name:"shape",type:"number[]"},{start:1,name:"value",type:"number"}],attrs:[{tfName:"T",name:"dtype",type:"dtype"}]},{tfOpName:"LinSpace",category:"creation",inputs:[{start:0,name:"start",type:"number"},{start:1,name:"stop",type:"number"},{start:2,name:"num",type:"number"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"OneHot",category:"creation",inputs:[{start:0,name:"indices",type:"tensor"},{start:1,name:"depth",type:"number"},{start:2,name:"onValue",type:"number",defaultValue:1},{start:3,name:"offValue",type:"number",defaultValue:0}],attrs:[{tfName:"axis",name:"axis",type:"number",notSupported:!0},{tfName:"T",name:"dtype",type:"dtype"}]},{tfOpName:"Ones",category:"creation",inputs:[{start:0,name:"shape",type:"number[]"}],attrs:[{tfName:"T",name:"dtype",type:"dtype"}]},{tfOpName:"OnesLike",category:"creation",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"dtype",name:"dtype",type:"dtype"}]},{tfOpName:"RandomStandardNormal",category:"creation",inputs:[{start:0,name:"shape",type:"number[]"}],attrs:[{tfName:"seed",name:"seed",type:"number",defaultValue:0},{tfName:"seed2",name:"seed2",type:"number",defaultValue:0,notSupported:!0},{tfName:"dtype",name:"dtype",type:"dtype"},{tfName:"T",name:"T",type:"number",notSupported:!0}]},{tfOpName:"RandomUniform",category:"creation",inputs:[{start:0,name:"shape",type:"number[]"}],attrs:[{tfName:"minval",name:"minval",type:"number",defaultValue:0},{tfName:"maxval",name:"maxval",type:"number",defaultValue:1},{tfName:"dtype",name:"dtype",type:"dtype"},{tfName:"seed",name:"seed",type:"number",defaultValue:0},{tfName:"seed2",name:"seed2",type:"number",defaultValue:0,notSupported:!0},{tfName:"T",name:"T",type:"number",notSupported:!0}]},{tfOpName:"RandomUniformInt",category:"creation",inputs:[{start:0,name:"shape",type:"number[]"}],attrs:[{tfName:"minval",name:"minval",type:"number"},{tfName:"maxval",name:"maxval",type:"number"},{tfName:"seed",name:"seed",type:"number",defaultValue:0},{tfName:"seed2",name:"seed2",type:"number",defaultValue:0,notSupported:!0}]},{tfOpName:"Range",category:"creation",inputs:[{start:0,name:"start",type:"number"},{start:1,name:"stop",type:"number"},{start:2,name:"step",type:"number",defaultValue:0}],attrs:[{tfName:"Tidx",name:"dtype",type:"dtype"}]},{tfOpName:"TruncatedNormal",category:"creation",inputs:[{start:0,name:"shape",type:"number[]"}],attrs:[{tfName:"means",name:"mean",type:"number",defaultValue:0},{tfName:"stddev",name:"stdDev",type:"number",defaultValue:1},{tfName:"seed",name:"seed",type:"number"},{tfName:"seed2",name:"seed2",type:"number",defaultValue:0,notSupported:!0},{tfName:"dtype",name:"dtype",type:"dtype"},{tfName:"T",name:"T",type:"number",notSupported:!0}]},{tfOpName:"Zeros",category:"creation",inputs:[{start:0,name:"shape",type:"number[]"}],attrs:[{tfName:"T",name:"dtype",type:"dtype"}]},{tfOpName:"ZerosLike",category:"creation",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype"}]},{tfOpName:"Multinomial",category:"creation",inputs:[{start:0,name:"logits",type:"tensor"},{start:1,name:"numSamples",type:"number"}],attrs:[{tfName:"seed",name:"seed",type:"number"},{tfName:"seed2",name:"seed2",type:"number"},{tfName:"T",name:"dtype",type:"dtype"},{tfName:"output_dtype",name:"output_dtype",type:"dtype"}]}],gse=[{tfOpName:"NonMaxSuppressionV2",category:"dynamic",inputs:[{start:0,name:"boxes",type:"tensor"},{start:1,name:"scores",type:"tensor"},{start:2,name:"maxOutputSize",type:"number"},{start:3,name:"iouThreshold",type:"number"}]},{tfOpName:"NonMaxSuppressionV3",category:"dynamic",inputs:[{start:0,name:"boxes",type:"tensor"},{start:1,name:"scores",type:"tensor"},{start:2,name:"maxOutputSize",type:"number"},{start:3,name:"iouThreshold",type:"number"},{start:4,name:"scoreThreshold",type:"number"}]},{tfOpName:"NonMaxSuppressionV4",category:"dynamic",inputs:[{start:0,name:"boxes",type:"tensor"},{start:1,name:"scores",type:"tensor"},{start:2,name:"maxOutputSize",type:"number"},{start:3,name:"iouThreshold",type:"number"},{start:4,name:"scoreThreshold",type:"number"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0},{tfName:"T_threshold",name:"threshold",type:"dtype",notSupported:!0},{tfName:"pad_to_max_output_size",name:"padToMaxOutputSize",type:"bool"}]},{tfOpName:"NonMaxSuppressionV5",category:"dynamic",inputs:[{start:0,name:"boxes",type:"tensor"},{start:1,name:"scores",type:"tensor"},{start:2,name:"maxOutputSize",type:"number"},{start:3,name:"iouThreshold",type:"number"},{start:4,name:"scoreThreshold",type:"number"},{start:5,name:"softNmsSigma",type:"number"}]},{tfOpName:"Where",category:"dynamic",inputs:[{start:0,name:"condition",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"ListDiff",category:"dynamic",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"y",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]}],_se=[{tfOpName:"LowerBound",category:"evaluation",inputs:[{start:0,name:"sortedSequence",type:"tensor"},{start:1,name:"values",type:"tensor"}]},{tfOpName:"TopKV2",category:"evaluation",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"k",type:"number"}],attrs:[{tfName:"sorted",name:"sorted",type:"bool"}]},{tfOpName:"UpperBound",category:"evaluation",inputs:[{start:0,name:"sortedSequence",type:"tensor"},{start:1,name:"values",type:"tensor"}]},{tfOpName:"Unique",category:"evaluation",inputs:[{start:0,name:"x",type:"tensor"}]},{tfOpName:"UniqueV2",category:"evaluation",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number"}]}],yse=[{tfOpName:"PlaceholderWithDefault",category:"graph",inputs:[{start:0,name:"default",type:"tensor"}],attrs:[{tfName:"shape",name:"shape",type:"shape"},{tfName:"dtype",name:"dtype",type:"dtype"}]},{tfOpName:"Placeholder",category:"graph",attrs:[{tfName:"shape",name:"shape",type:"shape"},{tfName:"dtype",name:"dtype",type:"dtype"}]},{tfOpName:"Const",category:"graph"},{tfOpName:"Identity",category:"graph",inputs:[{start:0,name:"x",type:"tensor"}]},{tfOpName:"IdentityN",category:"graph",inputs:[{start:0,end:0,name:"x",type:"tensors"}]},{tfOpName:"Snapshot",category:"graph",inputs:[{start:0,name:"x",type:"tensor"}]},{tfOpName:"Rank",category:"graph",inputs:[{start:0,name:"x",type:"tensor"}]},{tfOpName:"Size",category:"graph",inputs:[{start:0,name:"x",type:"tensor"}]},{tfOpName:"Shape",category:"graph",inputs:[{start:0,name:"x",type:"tensor"}]},{tfOpName:"ShapeN",category:"graph",inputs:[{start:0,end:0,name:"x",type:"tensors"}]},{tfOpName:"Print",category:"graph",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"data",type:"tensors"}],attrs:[{tfName:"message",name:"message",type:"string"},{tfName:"first_n",name:"firstN",type:"number",notSupported:!0},{tfName:"summarize",name:"summarize",type:"number",defaultValue:3}]},{tfOpName:"NoOp",category:"graph",inputs:[]},{tfOpName:"StopGradient",category:"graph",inputs:[{start:0,name:"x",type:"tensor"}]},{tfOpName:"FakeQuantWithMinMaxVars",category:"graph",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"min",name:"min",type:"number"},{tfName:"max",name:"max",type:"number"}]}],vse=[{tfOpName:"HashTable",category:"hash_table",inputs:[],attrs:[{tfName:"shared_name",name:"sharedName",type:"string"},{tfName:"use_node_name_sharing",name:"useNodeNameSharing",type:"bool"},{tfName:"key_dtype",name:"keyDType",type:"dtype"},{tfName:"value_dtype",name:"valueDType",type:"dtype"}]},{tfOpName:"HashTableV2",category:"hash_table",inputs:[],attrs:[{tfName:"shared_name",name:"sharedName",type:"string"},{tfName:"use_node_name_sharing",name:"useNodeNameSharing",type:"bool"},{tfName:"key_dtype",name:"keyDType",type:"dtype"},{tfName:"value_dtype",name:"valueDType",type:"dtype"}]},{tfOpName:"LookupTableImport",category:"hash_table",inputs:[{start:0,name:"tableHandle",type:"tensor"},{start:1,name:"keys",type:"tensor"},{start:2,name:"values",type:"tensor"}],attrs:[{tfName:"Tin",name:"tIn",type:"dtype",notSupported:!0},{tfName:"Tout",name:"tOut",type:"dtype",notSupported:!0}]},{tfOpName:"LookupTableImportV2",category:"hash_table",inputs:[{start:0,name:"tableHandle",type:"tensor"},{start:1,name:"keys",type:"tensor"},{start:2,name:"values",type:"tensor"}],attrs:[{tfName:"Tin",name:"tIn",type:"dtype",notSupported:!0},{tfName:"Tout",name:"tOut",type:"dtype",notSupported:!0}]},{tfOpName:"LookupTableFind",category:"hash_table",inputs:[{start:0,name:"tableHandle",type:"tensor"},{start:1,name:"keys",type:"tensor"},{start:2,name:"defaultValue",type:"tensor"}],attrs:[{tfName:"Tin",name:"tIn",type:"dtype",notSupported:!0},{tfName:"Tout",name:"tOut",type:"dtype",notSupported:!0}]},{tfOpName:"LookupTableFindV2",category:"hash_table",inputs:[{start:0,name:"tableHandle",type:"tensor"},{start:1,name:"keys",type:"tensor"},{start:2,name:"defaultValue",type:"tensor"}],attrs:[{tfName:"Tin",name:"tIn",type:"dtype",notSupported:!0},{tfName:"Tout",name:"tOut",type:"dtype",notSupported:!0}]},{tfOpName:"LookupTableSize",category:"hash_table",inputs:[{start:0,name:"tableHandle",type:"tensor"}]},{tfOpName:"LookupTableSizeV2",category:"hash_table",inputs:[{start:0,name:"tableHandle",type:"tensor"}]},{tfOpName:"InitializeTable",category:"hash_table",inputs:[{start:0,name:"tableHandle",type:"tensor"},{start:1,name:"keys",type:"tensor"},{start:2,name:"values",type:"tensor"}]},{tfOpName:"InitializeTableV2",category:"hash_table",inputs:[{start:0,name:"tableHandle",type:"tensor"},{start:1,name:"keys",type:"tensor"},{start:2,name:"values",type:"tensor"}]}],bse=[{tfOpName:"ResizeBilinear",category:"image",inputs:[{start:0,name:"images",type:"tensor"},{start:1,name:"size",type:"number[]"}],attrs:[{tfName:"align_corners",name:"alignCorners",type:"bool"},{tfName:"half_pixel_centers",name:"halfPixelCenters",type:"bool"},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"ResizeNearestNeighbor",category:"image",inputs:[{start:0,name:"images",type:"tensor"},{start:1,name:"size",type:"number[]"}],attrs:[{tfName:"align_corners",name:"alignCorners",type:"bool"},{tfName:"half_pixel_centers",name:"halfPixelCenters",type:"bool"},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"CropAndResize",category:"image",inputs:[{start:0,name:"image",type:"tensor"},{start:1,name:"boxes",type:"tensor"},{start:2,name:"boxInd",type:"tensor"},{start:3,name:"cropSize",type:"number[]"}],attrs:[{tfName:"method",name:"method",type:"string"},{tfName:"extrapolation_value",name:"extrapolationValue",type:"number"}]},{tfOpName:"ImageProjectiveTransformV3",category:"image",inputs:[{start:0,name:"images",type:"tensor"},{start:1,name:"transforms",type:"tensor"},{start:2,name:"outputShape",type:"number[]"},{start:3,name:"fillValue",type:"number"}],attrs:[{tfName:"interpolation",name:"interpolation",type:"string"},{tfName:"fill_mode",name:"fillMode",type:"string"}]}],Tse=[{tfOpName:"Equal",category:"logical",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"NotEqual",category:"logical",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Greater",category:"logical",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"GreaterEqual",category:"logical",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Less",category:"logical",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"LessEqual",category:"logical",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"LogicalAnd",category:"logical",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"LogicalNot",category:"logical",inputs:[{start:0,name:"a",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"LogicalOr",category:"logical",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Select",category:"logical",inputs:[{start:0,name:"condition",type:"tensor"},{start:1,name:"a",type:"tensor"},{start:2,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"SelectV2",category:"logical",inputs:[{start:0,name:"condition",type:"tensor"},{start:1,name:"a",type:"tensor"},{start:2,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"BitwiseAnd",category:"logical",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"y",type:"tensor"}]}],xse=[{tfOpName:"_FusedMatMul",category:"matrices",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"},{start:2,end:0,name:"args",type:"tensors"}],attrs:[{tfName:"num_args",name:"numArgs",type:"number"},{tfName:"fused_ops",name:"fusedOps",type:"string[]",defaultValue:[]},{tfName:"epsilon",name:"epsilon",type:"number",defaultValue:1e-4},{tfName:"transpose_a",name:"transposeA",type:"bool",defaultValue:!1},{tfName:"transpose_b",name:"transposeB",type:"bool",defaultValue:!1},{tfName:"leakyrelu_alpha",name:"leakyreluAlpha",type:"number",defaultValue:.2},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"MatMul",category:"matrices",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"transpose_a",name:"transposeA",type:"bool",defaultValue:!1},{tfName:"transpose_b",name:"transposeB",type:"bool",defaultValue:!1},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"BatchMatMul",category:"matrices",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"adj_x",name:"transposeA",type:"bool",defaultValue:!1},{tfName:"adj_y",name:"transposeB",type:"bool",defaultValue:!1},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"BatchMatMulV2",category:"matrices",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"adj_x",name:"transposeA",type:"bool",defaultValue:!1},{tfName:"adj_y",name:"transposeB",type:"bool",defaultValue:!1},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Transpose",category:"matrices",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"perm",type:"number[]"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Einsum",category:"matrices",inputs:[{start:0,end:0,name:"tensors",type:"tensors"}],attrs:[{tfName:"equation",name:"equation",type:"string"},{tfName:"N",name:"n",type:"number",defaultValue:2},{tfName:"T",name:"dtype",type:"dtype"}]},{tfOpName:"MatrixBandPart",category:"matrices",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"numLower",type:"tensor"},{start:1,name:"numUpper",type:"tensor"}]}],Ese=[{tfOpName:"EuclideanNorm",category:"normalization",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number[]"}],attrs:[{tfName:"keep_dims",name:"keepDims",type:"bool",defaultValue:!1}]},{tfOpName:"FusedBatchNorm",category:"normalization",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"scale",type:"tensor"},{start:2,name:"offset",type:"tensor"},{start:3,name:"mean",type:"tensor"},{start:4,name:"variance",type:"tensor"}],attrs:[{tfName:"epsilon",name:"epsilon",type:"number",defaultValue:.001},{tfName:"data_format",name:"dataFormat",type:"string",notSupported:!0}]},{tfOpName:"FusedBatchNormV2",category:"normalization",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"scale",type:"tensor"},{start:2,name:"offset",type:"tensor"},{start:3,name:"mean",type:"tensor"},{start:4,name:"variance",type:"tensor"}],attrs:[{tfName:"epsilon",name:"epsilon",type:"number",defaultValue:.001},{tfName:"data_format",name:"dataFormat",type:"string",notSupported:!0}]},{tfOpName:"FusedBatchNormV3",category:"normalization",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"scale",type:"tensor"},{start:2,name:"offset",type:"tensor"},{start:3,name:"mean",type:"tensor"},{start:4,name:"variance",type:"tensor"}],attrs:[{tfName:"epsilon",name:"epsilon",type:"number",defaultValue:.001},{tfName:"data_format",name:"dataFormat",type:"string",notSupported:!0}]},{tfOpName:"LRN",category:"normalization",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"depth_radius",name:"radius",type:"number",defaultValue:5},{tfName:"bias",name:"bias",type:"number",defaultValue:1},{tfName:"alpha",name:"alpha",type:"number",defaultValue:1},{tfName:"beta",name:"beta",type:"number",defaultValue:.5}]},{tfOpName:"Softmax",category:"normalization",inputs:[{start:0,name:"x",type:"tensor"}]},{tfOpName:"LogSoftmax",category:"normalization",inputs:[{start:0,name:"x",type:"tensor"}]}],wse=[{tfOpName:"Bincount",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"size",type:"number"},{start:2,name:"weights",type:"tensor"}]},{tfOpName:"DenseBincount",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"size",type:"number"},{start:2,name:"weights",type:"tensor"}],attrs:[{tfName:"binary_output",name:"binaryOutput",type:"bool"}]},{tfOpName:"Max",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number[]"}],attrs:[{tfName:"keep_dims",name:"keepDims",type:"bool"}]},{tfOpName:"Mean",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number[]"}],attrs:[{tfName:"keep_dims",name:"keepDims",type:"bool"}]},{tfOpName:"Min",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number[]"}],attrs:[{tfName:"keep_dims",name:"keepDims",type:"bool"}]},{tfOpName:"Sum",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number[]"}],attrs:[{tfName:"keep_dims",name:"keepDims",type:"bool"}]},{tfOpName:"All",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number[]"}],attrs:[{tfName:"keep_dims",name:"keepDims",type:"bool"}]},{tfOpName:"Any",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number[]"}],attrs:[{tfName:"keep_dims",name:"keepDims",type:"bool"}]},{tfOpName:"ArgMax",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number"}]},{tfOpName:"ArgMin",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number"}]},{tfOpName:"Prod",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number[]"}],attrs:[{tfName:"keep_dims",name:"keepDims",type:"bool"},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Cumprod",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number"}],attrs:[{tfName:"exclusive",name:"exclusive",type:"bool"},{tfName:"reverse",name:"reverse",type:"bool"}]},{tfOpName:"Cumsum",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number"}],attrs:[{tfName:"exclusive",name:"exclusive",type:"bool"},{tfName:"reverse",name:"reverse",type:"bool"}]}],Ise=[{tfOpName:"ConcatV2",category:"slice_join",inputs:[{start:0,end:-1,name:"tensors",type:"tensors"},{start:-1,name:"axis",type:"number"}],attrs:[{tfName:"N",name:"n",type:"number",defaultValue:2}]},{tfOpName:"Concat",category:"slice_join",inputs:[{start:1,end:0,name:"tensors",type:"tensors"},{start:0,name:"axis",type:"number"}],attrs:[{tfName:"N",name:"n",type:"number",defaultValue:2}]},{tfOpName:"GatherV2",category:"slice_join",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"indices",type:"tensor"},{start:2,name:"axis",type:"number",defaultValue:0}],attrs:[{tfName:"batch_dims",name:"batchDims",type:"number",defaultValue:0}]},{tfOpName:"Gather",category:"slice_join",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"indices",type:"tensor"}],attrs:[{tfName:"validate_indices",name:"validateIndices",type:"bool",notSupported:!0}]},{tfOpName:"Reverse",category:"slice_join",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"dims",type:"bool[]"}]},{tfOpName:"ReverseV2",category:"slice_join",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number[]"}]},{tfOpName:"Slice",category:"slice_join",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"begin",type:"number[]"},{start:2,name:"size",type:"number[]"}]},{tfOpName:"StridedSlice",category:"slice_join",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"begin",type:"number[]"},{start:2,name:"end",type:"number[]"},{start:3,name:"strides",type:"number[]"}],attrs:[{tfName:"begin_mask",name:"beginMask",type:"number",defaultValue:0},{tfName:"end_mask",name:"endMask",type:"number",defaultValue:0},{tfName:"new_axis_mask",name:"newAxisMask",type:"number",defaultValue:0},{tfName:"ellipsis_mask",name:"ellipsisMask",type:"number",defaultValue:0},{tfName:"shrink_axis_mask",name:"shrinkAxisMask",type:"number",defaultValue:0}]},{tfOpName:"Pack",category:"slice_join",inputs:[{start:0,end:0,name:"tensors",type:"tensors"}],attrs:[{tfName:"axis",name:"axis",type:"number",defaultValue:0}]},{tfOpName:"Unpack",category:"slice_join",inputs:[{start:0,name:"tensor",type:"tensor"}],attrs:[{tfName:"axis",name:"axis",type:"number",defaultValue:0},{tfName:"num",name:"num",type:"number",defaultValue:0,notSupported:!0}]},{tfOpName:"Tile",category:"slice_join",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"reps",type:"number[]"}]},{tfOpName:"Split",category:"slice_join",inputs:[{start:0,name:"axis",type:"number",defaultValue:0},{start:1,name:"x",type:"tensor"}],attrs:[{tfName:"num_split",name:"numOrSizeSplits",type:"number",defaultValue:1}]},{tfOpName:"SplitV",category:"slice_join",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"numOrSizeSplits",type:"number[]"},{start:2,name:"axis",type:"number",defaultValue:0}]},{tfOpName:"ScatterNd",category:"slice_join",inputs:[{start:0,name:"indices",type:"tensor"},{start:1,name:"values",type:"tensor"},{start:2,name:"shape",type:"number[]"}]},{tfOpName:"GatherNd",category:"slice_join",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"indices",type:"tensor"}]},{tfOpName:"SparseToDense",category:"slice_join",inputs:[{start:0,name:"sparseIndices",type:"tensor"},{start:1,name:"outputShape",type:"number[]"},{start:2,name:"sparseValues",type:"tensor"},{start:3,name:"defaultValue",type:"tensor"}],attrs:[{tfName:"validate_indices",name:"validateIndices",type:"bool",defaultValue:!1,notSupported:!0}]},{tfOpName:"TensorScatterUpdate",category:"slice_join",inputs:[{start:0,name:"tensor",type:"tensor"},{start:1,name:"indices",type:"tensor"},{start:2,name:"values",type:"tensor"}]}],Ase=[{tfOpName:"SparseFillEmptyRows",category:"sparse",inputs:[{start:0,name:"indices",type:"tensor"},{start:1,name:"values",type:"tensor"},{start:2,name:"denseShape",type:"tensor"},{start:3,name:"defaultValue",type:"tensor"}]},{tfOpName:"SparseReshape",category:"sparse",inputs:[{start:0,name:"inputIndices",type:"tensor"},{start:1,name:"inputShape",type:"tensor"},{start:2,name:"newShape",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"SparseSegmentMean",category:"sparse",inputs:[{start:0,name:"data",type:"tensor"},{start:1,name:"indices",type:"tensor"},{start:2,name:"segmentIds",type:"tensor"}]},{tfOpName:"SparseSegmentSum",category:"sparse",inputs:[{start:0,name:"data",type:"tensor"},{start:1,name:"indices",type:"tensor"},{start:2,name:"segmentIds",type:"tensor"}]}],Sse=[{tfOpName:"FFT",category:"spectral",inputs:[{start:0,name:"x",type:"tensor"}]},{tfOpName:"IFFT",category:"spectral",inputs:[{start:0,name:"x",type:"tensor"}]},{tfOpName:"RFFT",category:"spectral",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"fft_length",type:"number",notSupported:!0}]},{tfOpName:"IRFFT",category:"spectral",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"fft_length",type:"number",notSupported:!0}]}],Cse=[{tfOpName:"StaticRegexReplace",category:"string",inputs:[{start:0,name:"input",type:"tensor"}],attrs:[{tfName:"pattern",name:"pattern",type:"string"},{tfName:"rewrite",name:"rewrite",type:"string"},{tfName:"replace_global",name:"replaceGlobal",type:"bool"}]},{tfOpName:"StringNGrams",category:"string",inputs:[{start:0,name:"data",type:"tensor"},{start:1,name:"dataSplits",type:"tensor"}],attrs:[{tfName:"separator",name:"separator",type:"string"},{tfName:"ngram_widths",name:"nGramWidths",type:"number[]"},{tfName:"left_pad",name:"leftPad",type:"string"},{tfName:"right_pad",name:"rightPad",type:"string"},{tfName:"pad_width",name:"padWidth",type:"number"},{tfName:"preserve_short_sequences",name:"preserveShortSequences",type:"bool"}],outputs:["ngrams","ngrams_splits"]},{tfOpName:"StringSplit",category:"string",inputs:[{start:0,name:"input",type:"tensor"},{start:1,name:"delimiter",type:"tensor"}],attrs:[{tfName:"skip_empty",name:"skipEmpty",type:"bool"}],outputs:["indices","values","shape"]},{tfOpName:"StringToHashBucketFast",category:"string",inputs:[{start:0,name:"input",type:"tensor"}],attrs:[{tfName:"num_buckets",name:"numBuckets",type:"number"}]}],Ose=[{tfOpName:"Cast",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"SrcT",name:"sdtype",type:"dtype",notSupported:!0},{tfName:"DstT",name:"dtype",type:"dtype"}]},{tfOpName:"ExpandDims",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number"}]},{tfOpName:"MirrorPad",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"padding",type:"number[]"}],attrs:[{tfName:"mode",name:"mode",type:"string"}]},{tfOpName:"Pad",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"padding",type:"number[]"}],attrs:[{tfName:"constant_value",name:"constantValue",type:"number",defaultValue:0}]},{tfOpName:"PadV2",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"padding",type:"number[]"},{start:2,name:"constantValue",type:"number",defaultValue:0}]},{tfOpName:"Reshape",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"shape",type:"number[]"}]},{tfOpName:"EnsureShape",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"shape",type:"number[]"}]},{tfOpName:"Squeeze",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"axis",tfDeprecatedName:"squeeze_dims",name:"axis",type:"number[]"}]},{tfOpName:"SpaceToBatchND",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"blockShape",type:"number[]"},{start:2,name:"paddings",type:"number[]"}]},{tfOpName:"BatchToSpaceND",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"blockShape",type:"number[]"},{start:2,name:"crops",type:"number[]"}]},{tfOpName:"DepthToSpace",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"block_size",name:"blockSize",type:"number"},{tfName:"data_format",name:"dataFormat",type:"string"}]},{tfOpName:"BroadcastTo",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"shape",type:"number[]"}],attrs:[]},{tfOpName:"BroadcastArgs",category:"transformation",inputs:[{start:0,name:"s0",type:"tensor"},{start:1,name:"s1",type:"tensor"}],attrs:[]}]; /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -11658,7 +11658,7 @@ const sse=[{tfOpName:"Add",category:"arithmetic",inputs:[{start:0,name:"a",type: * limitations under the License. * ============================================================================= */ -class wse{static get Instance(){return this._instance||(this._instance=new this)}constructor(){const e=[].concat(...[ge,_e,ye,ve,be,Te,xe,Ee,we,Ie,Ae,Se,Ce,Oe,Me,ke,Re,Ne,De].map(e=>e.json));this.opMappers=e.reduce((e,t)=>(e[t.tfOpName]=t,e),{})}transformGraph(e,t={}){const n=e.node,i=[],r=[],s=[],o=n.reduce((e,t)=>(e[t.name]=this.mapNode(t),t.op.startsWith("Placeholder")?i.push(e[t.name]):"Const"===t.op?r.push(e[t.name]):null!=t.input&&0!==t.input.length||s.push(e[t.name]),e),{});let a=[];const l=[];let u={},c={};null!=t&&(u=this.mapSignatureEntries(t.inputs),c=this.mapSignatureEntries(t.outputs));const d=Object.keys(o);d.forEach(e=>{const t=o[e];t.inputNames.forEach((e,n)=>{const[i,,r]=ese(e),s=o[i];if(null!=s.outputs){const e=s.outputs.indexOf(r);if(-1!==e){const r=`${i}:${e}`;t.inputNames[n]=r}}t.inputs.push(s),s.children.push(t)})}),0===Object.keys(c).length?d.forEach(e=>{const t=o[e];0===t.children.length&&l.push(t)}):Object.keys(c).forEach(e=>{const[t]=ese(e),n=o[t];null!=n&&(n.signatureKey=c[e],l.push(n))}),Object.keys(u).length>0?Object.keys(u).forEach(e=>{const[t]=ese(e),n=o[t];n&&(n.signatureKey=u[e],a.push(n))}):a=i;let h={};null!=e.library&&null!=e.library.function&&(h=e.library.function.reduce((e,t)=>(e[t.signature.name]=this.mapFunction(t),e),{}));const p={nodes:o,inputs:a,outputs:l,weights:r,placeholders:i,signature:t,functions:h};return s.length>0&&(p.initNodes=s),p}mapSignatureEntries(e){return Object.keys(e||{}).reduce((t,n)=>(t[e[n].name]=n,t),{})}mapNode(e){const t=qre(e.op)||this.opMappers[e.op]||{};null==e.attr&&(e.attr={});const n={name:e.name,op:e.op,category:t.category,inputNames:(e.input||[]).map(e=>e.startsWith("^")?e.slice(1):e),inputs:[],children:[],inputParams:{},attrParams:{},rawAttrs:e.attr,outputs:t.outputs};return null!=t.inputs&&(n.inputParams=t.inputs.reduce((e,t)=>(e[t.name]={type:t.type,inputIndexStart:t.start,inputIndexEnd:t.end},e),{})),null!=t.attrs&&(n.attrParams=t.attrs.reduce((t,n)=>{const i=n.type;let r;switch(n.type){case"string":r=Ase(e.attr,n.tfName,n.defaultValue),void 0===r&&n.tfDeprecatedName&&(r=Ase(e.attr,n.tfDeprecatedName,n.defaultValue));break;case"string[]":r=Lse(e.attr,n.tfName,n.defaultValue),void 0===r&&n.tfDeprecatedName&&(r=Lse(e.attr,n.tfDeprecatedName,n.defaultValue));break;case"number":r=Cse(e.attr,n.tfName,n.defaultValue||0),void 0===r&&n.tfDeprecatedName&&(r=Cse(e.attr,n.tfDeprecatedName,n.defaultValue));break;case"number[]":r=Fse(e.attr,n.tfName,n.defaultValue),void 0===r&&n.tfDeprecatedName&&(r=Fse(e.attr,n.tfDeprecatedName,n.defaultValue));break;case"bool":r=Sse(e.attr,n.tfName,n.defaultValue),void 0===r&&n.tfDeprecatedName&&(r=Sse(e.attr,n.tfDeprecatedName,n.defaultValue));break;case"bool[]":r=Bse(e.attr,n.tfName,n.defaultValue),void 0===r&&n.tfDeprecatedName&&(r=Bse(e.attr,n.tfDeprecatedName,n.defaultValue));break;case"shape":r=Dse(e.attr,n.tfName,n.defaultValue),void 0===r&&n.tfDeprecatedName&&(r=Dse(e.attr,n.tfDeprecatedName,n.defaultValue));break;case"shape[]":r=Pse(e.attr,n.tfName,n.defaultValue),void 0===r&&n.tfDeprecatedName&&(r=Pse(e.attr,n.tfDeprecatedName,n.defaultValue));break;case"dtype":r=kse(e.attr,n.tfName,n.defaultValue),void 0===r&&n.tfDeprecatedName&&(r=kse(e.attr,n.tfDeprecatedName,n.defaultValue));break;case"dtype[]":r=Rse(e.attr,n.tfName,n.defaultValue),void 0===r&&n.tfDeprecatedName&&(r=Rse(e.attr,n.tfDeprecatedName,n.defaultValue));break;case"func":r=Mse(e.attr,n.tfName,n.defaultValue),void 0===r&&n.tfDeprecatedName&&(r=Mse(e.attr,n.tfDeprecatedName,n.defaultValue));break;case"tensor":case"tensors":break;default:throw new Error(`Unsupported param type: ${n.type} for op: ${e.op}`)}return t[n.name]={value:r,type:i},t},{})),n}mapFunction(e){const t=e.nodeDef,n=[];let i={};null!=t&&(i=t.reduce((e,t)=>(e[t.name]=this.mapNode(t),"Const"===t.op&&n.push(e[t.name]),e),{}));const r=[],s=[];e.signature.inputArg.forEach(e=>{const[t]=ese(e.name),n={name:t,op:"Placeholder",inputs:[],inputNames:[],category:"graph",inputParams:{},attrParams:{dtype:{value:Ose(e.type),type:"dtype"}},children:[]};n.signatureKey=e.name,r.push(n),i[t]=n});Object.keys(i).forEach(e=>{const t=i[e];t.inputNames.forEach((e,n)=>{const[r,,s]=ese(e),o=i[r];if(null!=o.outputs){const e=o.outputs.indexOf(s);if(-1!==e){const i=`${r}:${e}`;t.inputNames[n]=i}}t.inputs.push(o),o.children.push(t)})});const o=e.ret;e.signature.outputArg.forEach(e=>{const[t,n]=ese(o[e.name]),r=i[t];null!=r&&(r.defaultOutput=n,s.push(r))});const a=this.mapArgsToSignature(e);return{nodes:i,inputs:r,outputs:s,weights:n,placeholders:[],signature:a}}mapArgsToSignature(e){return{methodName:e.signature.name,inputs:e.signature.inputArg.reduce((e,t)=>(e[t.name]=this.mapArgToTensorInfo(t),e),{}),outputs:e.signature.outputArg.reduce((t,n)=>(t[n.name]=this.mapArgToTensorInfo(n,e.ret),t),{})}}mapArgToTensorInfo(e,t){let n=e.name;return null!=t&&(n=t[n]),{name:n,dtype:e.type}}}function Ise(e,t){const n=Array.isArray(e)?String.fromCharCode.apply(null,e):function(e){const t=(0,p3.env)().global;if(void 0!==t.atob)return t.atob(e);if("undefined"!=typeof Buffer)return new Buffer(e,"base64").toString();throw new Error("Unable to decode base64 in this environment. Missing built-in atob() or Buffer()")}(e);return t?n:n.toLowerCase()}function Ase(e,t,n,i=!1){const r=e[t];return null!=r?Ise(r.s,i):n}function Sse(e,t,n){const i=e[t];return i?i.b:n}function Cse(e,t,n){const i=e[t]||{},r=null!=i.i?i.i:null!=i.f?i.f:n;return"number"==typeof r?r:parseInt(r,10)}function Ose(e){switch("string"==typeof e&&(e=Gre[e]),e){case Gre.DT_FLOAT:case Gre.DT_HALF:return"float32";case Gre.DT_INT32:case Gre.DT_INT64:case Gre.DT_INT8:case Gre.DT_UINT8:return"int32";case Gre.DT_BOOL:return"bool";case Gre.DT_DOUBLE:return"float32";case Gre.DT_STRING:return"string";case Gre.DT_COMPLEX64:case Gre.DT_COMPLEX128:return"complex64";default:return null}}function Mse(e,t,n){const i=e[t];return i&&i.func?i.func.name:n}function kse(e,t,n){const i=e[t];return i&&i.type?Ose(i.type):n}function Rse(e,t,n){const i=e[t];return i&&i.list&&i.list.type?i.list.type.map(e=>Ose(e)):n}function Nse(e){if(!e.unknownRank)return null!=e.dim?e.dim.map(e=>"number"==typeof e.size?e.size:parseInt(e.size,10)):[]}function Dse(e,t,n){const i=e[t];return i&&i.shape?Nse(i.shape):n}function Fse(e,t,n){const i=e[t];return i?((i.list.f&&i.list.f.length?i.list.f:i.list.i)||[]).map(e=>"number"==typeof e?e:parseInt(e,10)):n}function Lse(e,t,n,i=!1){const r=e[t];return r&&r.list&&r.list.s?r.list.s.map(e=>Ise(e,i)):n}function Pse(e,t,n){const i=e[t];return i&&i.list&&i.list.shape?i.list.shape.map(e=>Nse(e)):n}function Bse(e,t,n){const i=e[t];return i&&i.list&&i.list.b?i.list.b:n} +class Mse{static get Instance(){return this._instance||(this._instance=new this)}constructor(){const e=[].concat(...[ge,_e,ye,ve,be,Te,xe,Ee,we,Ie,Ae,Se,Ce,Oe,Me,ke,Re,Ne,De].map(e=>e.json));this.opMappers=e.reduce((e,t)=>(e[t.tfOpName]=t,e),{})}transformGraph(e,t={}){const n=e.node,i=[],r=[],s=[],o=n.reduce((e,t)=>(e[t.name]=this.mapNode(t),t.op.startsWith("Placeholder")?i.push(e[t.name]):"Const"===t.op?r.push(e[t.name]):null!=t.input&&0!==t.input.length||s.push(e[t.name]),e),{});let a=[];const l=[];let u={},c={};null!=t&&(u=this.mapSignatureEntries(t.inputs),c=this.mapSignatureEntries(t.outputs));const d=Object.keys(o);d.forEach(e=>{const t=o[e];t.inputNames.forEach((e,n)=>{const[i,,r]=ose(e),s=o[i];if(null!=s.outputs){const e=s.outputs.indexOf(r);if(-1!==e){const r=`${i}:${e}`;t.inputNames[n]=r}}t.inputs.push(s),s.children.push(t)})}),0===Object.keys(c).length?d.forEach(e=>{const t=o[e];0===t.children.length&&l.push(t)}):Object.keys(c).forEach(e=>{const[t]=ose(e),n=o[t];null!=n&&(n.signatureKey=c[e],l.push(n))}),Object.keys(u).length>0?Object.keys(u).forEach(e=>{const[t]=ose(e),n=o[t];n&&(n.signatureKey=u[e],a.push(n))}):a=i;let h={};null!=e.library&&null!=e.library.function&&(h=e.library.function.reduce((e,t)=>(e[t.signature.name]=this.mapFunction(t),e),{}));const p={nodes:o,inputs:a,outputs:l,weights:r,placeholders:i,signature:t,functions:h};return s.length>0&&(p.initNodes=s),p}mapSignatureEntries(e){return Object.keys(e||{}).reduce((t,n)=>(t[e[n].name]=n,t),{})}mapNode(e){const t=tse(e.op)||this.opMappers[e.op]||{};null==e.attr&&(e.attr={});const n={name:e.name,op:e.op,category:t.category,inputNames:(e.input||[]).map(e=>e.startsWith("^")?e.slice(1):e),inputs:[],children:[],inputParams:{},attrParams:{},rawAttrs:e.attr,outputs:t.outputs};return null!=t.inputs&&(n.inputParams=t.inputs.reduce((e,t)=>(e[t.name]={type:t.type,inputIndexStart:t.start,inputIndexEnd:t.end},e),{})),null!=t.attrs&&(n.attrParams=t.attrs.reduce((t,n)=>{const i=n.type;let r;switch(n.type){case"string":r=Rse(e.attr,n.tfName,n.defaultValue),void 0===r&&n.tfDeprecatedName&&(r=Rse(e.attr,n.tfDeprecatedName,n.defaultValue));break;case"string[]":r=zse(e.attr,n.tfName,n.defaultValue),void 0===r&&n.tfDeprecatedName&&(r=zse(e.attr,n.tfDeprecatedName,n.defaultValue));break;case"number":r=Dse(e.attr,n.tfName,n.defaultValue||0),void 0===r&&n.tfDeprecatedName&&(r=Dse(e.attr,n.tfDeprecatedName,n.defaultValue));break;case"number[]":r=Vse(e.attr,n.tfName,n.defaultValue),void 0===r&&n.tfDeprecatedName&&(r=Vse(e.attr,n.tfDeprecatedName,n.defaultValue));break;case"bool":r=Nse(e.attr,n.tfName,n.defaultValue),void 0===r&&n.tfDeprecatedName&&(r=Nse(e.attr,n.tfDeprecatedName,n.defaultValue));break;case"bool[]":r=Yse(e.attr,n.tfName,n.defaultValue),void 0===r&&n.tfDeprecatedName&&(r=Yse(e.attr,n.tfDeprecatedName,n.defaultValue));break;case"shape":r=Use(e.attr,n.tfName,n.defaultValue),void 0===r&&n.tfDeprecatedName&&(r=Use(e.attr,n.tfDeprecatedName,n.defaultValue));break;case"shape[]":r=jse(e.attr,n.tfName,n.defaultValue),void 0===r&&n.tfDeprecatedName&&(r=jse(e.attr,n.tfDeprecatedName,n.defaultValue));break;case"dtype":r=Pse(e.attr,n.tfName,n.defaultValue),void 0===r&&n.tfDeprecatedName&&(r=Pse(e.attr,n.tfDeprecatedName,n.defaultValue));break;case"dtype[]":r=Bse(e.attr,n.tfName,n.defaultValue),void 0===r&&n.tfDeprecatedName&&(r=Bse(e.attr,n.tfDeprecatedName,n.defaultValue));break;case"func":r=Lse(e.attr,n.tfName,n.defaultValue),void 0===r&&n.tfDeprecatedName&&(r=Lse(e.attr,n.tfDeprecatedName,n.defaultValue));break;case"tensor":case"tensors":break;default:throw new Error(`Unsupported param type: ${n.type} for op: ${e.op}`)}return t[n.name]={value:r,type:i},t},{})),n}mapFunction(e){const t=e.nodeDef,n=[];let i={};null!=t&&(i=t.reduce((e,t)=>(e[t.name]=this.mapNode(t),"Const"===t.op&&n.push(e[t.name]),e),{}));const r=[],s=[];e.signature.inputArg.forEach(e=>{const[t]=ose(e.name),n={name:t,op:"Placeholder",inputs:[],inputNames:[],category:"graph",inputParams:{},attrParams:{dtype:{value:Fse(e.type),type:"dtype"}},children:[]};n.signatureKey=e.name,r.push(n),i[t]=n});Object.keys(i).forEach(e=>{const t=i[e];t.inputNames.forEach((e,n)=>{const[r,,s]=ose(e),o=i[r];if(null!=o.outputs){const e=o.outputs.indexOf(s);if(-1!==e){const i=`${r}:${e}`;t.inputNames[n]=i}}t.inputs.push(o),o.children.push(t)})});const o=e.ret;e.signature.outputArg.forEach(e=>{const[t,n]=ose(o[e.name]),r=i[t];null!=r&&(r.defaultOutput=n,s.push(r))});const a=this.mapArgsToSignature(e);return{nodes:i,inputs:r,outputs:s,weights:n,placeholders:[],signature:a}}mapArgsToSignature(e){return{methodName:e.signature.name,inputs:e.signature.inputArg.reduce((e,t)=>(e[t.name]=this.mapArgToTensorInfo(t),e),{}),outputs:e.signature.outputArg.reduce((t,n)=>(t[n.name]=this.mapArgToTensorInfo(n,e.ret),t),{})}}mapArgToTensorInfo(e,t){let n=e.name;return null!=t&&(n=t[n]),{name:n,dtype:e.type}}}function kse(e,t){const n=Array.isArray(e)?String.fromCharCode.apply(null,e):function(e){const t=(0,v3.env)().global;if(void 0!==t.atob)return t.atob(e);if("undefined"!=typeof Buffer)return new Buffer(e,"base64").toString();throw new Error("Unable to decode base64 in this environment. Missing built-in atob() or Buffer()")}(e);return t?n:n.toLowerCase()}function Rse(e,t,n,i=!1){const r=e[t];return null!=r?kse(r.s,i):n}function Nse(e,t,n){const i=e[t];return i?i.b:n}function Dse(e,t,n){const i=e[t]||{},r=null!=i.i?i.i:null!=i.f?i.f:n;return"number"==typeof r?r:parseInt(r,10)}function Fse(e){switch("string"==typeof e&&(e=Zre[e]),e){case Zre.DT_FLOAT:case Zre.DT_HALF:return"float32";case Zre.DT_INT32:case Zre.DT_INT64:case Zre.DT_INT8:case Zre.DT_UINT8:return"int32";case Zre.DT_BOOL:return"bool";case Zre.DT_DOUBLE:return"float32";case Zre.DT_STRING:return"string";case Zre.DT_COMPLEX64:case Zre.DT_COMPLEX128:return"complex64";default:return null}}function Lse(e,t,n){const i=e[t];return i&&i.func?i.func.name:n}function Pse(e,t,n){const i=e[t];return i&&i.type?Fse(i.type):n}function Bse(e,t,n){const i=e[t];return i&&i.list&&i.list.type?i.list.type.map(e=>Fse(e)):n}function $se(e){if(!e.unknownRank)return null!=e.dim?e.dim.map(e=>"number"==typeof e.size?e.size:parseInt(e.size,10)):[]}function Use(e,t,n){const i=e[t];return i&&i.shape?$se(i.shape):n}function Vse(e,t,n){const i=e[t];return i?((i.list.f&&i.list.f.length?i.list.f:i.list.i)||[]).map(e=>"number"==typeof e?e:parseInt(e,10)):n}function zse(e,t,n,i=!1){const r=e[t];return r&&r.list&&r.list.s?r.list.s.map(e=>kse(e,i)):n}function jse(e,t,n){const i=e[t];return i&&i.list&&i.list.shape?i.list.shape.map(e=>$se(e)):n}function Yse(e,t,n){const i=e[t];return i&&i.list&&i.list.b?i.list.b:n} /** * @license * Copyright 2019 Google LLC. All Rights Reserved. @@ -11675,7 +11675,7 @@ class wse{static get Instance(){return this._instance||(this._instance=new this) * limitations under the License. * ============================================================================= */ -class $se{constructor(e,t,n){this.node=e,this.tensorMap=t,this.context=n,this.inputs=[],this.attrs={},this.inputs=e.inputNames.map(e=>this.getInput(e)),null!=e.rawAttrs&&(this.attrs=Object.keys(e.rawAttrs).reduce((e,t)=>(e[t]=this.getAttr(t),e),{}))}getInput(e){return Qre(e,this.tensorMap,this.context)}getAttr(e,t){const n=this.node.rawAttrs[e];if(null!=n.tensor)return Qre(e,this.tensorMap,this.context);if(null!=n.i||null!=n.f)return Cse(this.node.rawAttrs,e,t);if(null!=n.s)return Ase(this.node.rawAttrs,e,t);if(null!=n.b)return Sse(this.node.rawAttrs,e,t);if(null!=n.shape)return Dse(this.node.rawAttrs,e,t);if(null!=n.type)return kse(this.node.rawAttrs,e,t);if(null!=n.list){if(null!=n.list.i||null!=n.list.f)return Fse(this.node.rawAttrs,e,t);if(null!=n.list.s)return Lse(this.node.rawAttrs,e,t);if(null!=n.list.shape)return Pse(this.node.rawAttrs,e,t);if(null!=n.list.b)return Bse(this.node.rawAttrs,e,t);if(null!=n.list.type)return Rse(this.node.rawAttrs,e,t)}return t}}var Use=__webpack_require__(67270); +class Gse{constructor(e,t,n){this.node=e,this.tensorMap=t,this.context=n,this.inputs=[],this.attrs={},this.inputs=e.inputNames.map(e=>this.getInput(e)),null!=e.rawAttrs&&(this.attrs=Object.keys(e.rawAttrs).reduce((e,t)=>(e[t]=this.getAttr(t),e),{}))}getInput(e){return rse(e,this.tensorMap,this.context)}getAttr(e,t){const n=this.node.rawAttrs[e];if(null!=n.tensor)return rse(e,this.tensorMap,this.context);if(null!=n.i||null!=n.f)return Dse(this.node.rawAttrs,e,t);if(null!=n.s)return Rse(this.node.rawAttrs,e,t);if(null!=n.b)return Nse(this.node.rawAttrs,e,t);if(null!=n.shape)return Use(this.node.rawAttrs,e,t);if(null!=n.type)return Pse(this.node.rawAttrs,e,t);if(null!=n.list){if(null!=n.list.i||null!=n.list.f)return Vse(this.node.rawAttrs,e,t);if(null!=n.list.s)return zse(this.node.rawAttrs,e,t);if(null!=n.list.shape)return jse(this.node.rawAttrs,e,t);if(null!=n.list.b)return Yse(this.node.rawAttrs,e,t);if(null!=n.list.type)return Bse(this.node.rawAttrs,e,t)}return t}}var Hse=__webpack_require__(67270); /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -11692,7 +11692,7 @@ class $se{constructor(e,t,n){this.node=e,this.tensorMap=t,this.context=n,this.in * limitations under the License. * ============================================================================= */ -function Vse(e,t,n=""){if("number"!=typeof e&&"number"!=typeof t){p3.util.assert(e.length===t.length,()=>n+` Shapes ${e} and ${t} must match`);for(let i=0;in+` Shapes ${e} and ${t} must match`)}}}function zse(e){return"number"!=typeof e&&!e.some(e=>e<0)}function jse(e,t,n){let i=Yse(e,n);const r=!zse(i);if(r&&0===t.length)throw new Error(`Tried to calculate elements of an empty list with non-fully-defined elementShape: ${i}`);if(r&&t.forEach(e=>{i=Yse(e.shape,i)}),!zse(i))throw new Error(`Non-fully-defined elementShape: ${i}`);return i}function Yse(e,t){if("number"==typeof e)return t;if("number"==typeof t)return e;if(e.length!==t.length)throw new Error(`Incompatible ranks during merge: ${e} vs. ${t}`);const n=[];for(let i=0;i=0&&s>=0&&r!==s)throw new Error(`Incompatible shape during merge: ${e} vs. ${t}`);n[i]=r>=0?r:s}return n} +function Wse(e,t,n=""){if("number"!=typeof e&&"number"!=typeof t){v3.util.assert(e.length===t.length,()=>n+` Shapes ${e} and ${t} must match`);for(let i=0;in+` Shapes ${e} and ${t} must match`)}}}function Xse(e){return"number"!=typeof e&&!e.some(e=>e<0)}function qse(e,t,n){let i=Kse(e,n);const r=!Xse(i);if(r&&0===t.length)throw new Error(`Tried to calculate elements of an empty list with non-fully-defined elementShape: ${i}`);if(r&&t.forEach(e=>{i=Kse(e.shape,i)}),!Xse(i))throw new Error(`Non-fully-defined elementShape: ${i}`);return i}function Kse(e,t){if("number"==typeof e)return t;if("number"==typeof t)return e;if(e.length!==t.length)throw new Error(`Incompatible ranks during merge: ${e} vs. ${t}`);const n=[];for(let i=0;i=0&&s>=0&&r!==s)throw new Error(`Incompatible shape during merge: ${e} vs. ${t}`);n[i]=r>=0?r:s}return n} /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -11709,7 +11709,7 @@ function Vse(e,t,n=""){if("number"!=typeof e&&"number"!=typeof t){p3.util.assert * limitations under the License. * ============================================================================= */ -class Gse{constructor(e,t,n,i,r,s,o){this.name=e,this.dtype=t,this.maxSize=n,this.elementShape=i,this.identicalElementShapes=r,this.dynamicSize=s,this.clearAfterRead=o,this.tensors=[],this.closed_=!1,this.idTensor=(0,p3.scalar)(0),(0,p3.keep)(this.idTensor)}get id(){return this.idTensor.id}get closed(){return this.closed_}clearAndClose(e){this.tensors.forEach(t=>{null!=e&&e.has(t.tensor.id)||t.tensor.dispose()}),this.tensors=[],this.closed_=!0,this.idTensor.dispose()}size(){return this.tensors.length}read(e){if(this.closed_)throw new Error(`TensorArray ${this.name} has already been closed.`);if(e<0||e>=this.size())throw new Error(`Tried to read from index ${e}, but array size is: ${this.size()}`);const t=this.tensors[e];if(t.cleared)throw new Error(`TensorArray ${this.name}: Could not read index ${e} twice because it was cleared after a previous read (perhaps try setting clear_after_read = false?).`);return this.clearAfterRead&&(t.cleared=!0),t.read=!0,t.tensor}readMany(e){return e.map(e=>this.read(e))}write(e,t){if(this.closed_)throw new Error(`TensorArray ${this.name} has already been closed.`);if(e<0||!this.dynamicSize&&e>=this.maxSize)throw new Error(`Tried to write to index ${e}, but array is not resizeable and size is: ${this.maxSize}`);const n=this.tensors[e]||{};if(t.dtype!==this.dtype)throw new Error(`TensorArray ${this.name}: Could not write to TensorArray index ${e},\n because the value dtype is ${t.dtype}, but TensorArray dtype is ${this.dtype}.`);if(0!==this.size()||null!=this.elementShape&&0!==this.elementShape.length||(this.elementShape=t.shape),Vse(this.elementShape,t.shape,`TensorArray ${this.name}: Could not write to TensorArray index ${e}.`),n.read)throw new Error(`TensorArray ${this.name}: Could not write to TensorArray index ${e}, because it has already been read.`);if(n.written)throw new Error(`TensorArray ${this.name}: Could not write to TensorArray index ${e}, because it has already been written.`);n.tensor=t,(0,p3.keep)(t),n.written=!0,this.tensors[e]=n}writeMany(e,t){if(e.length!==t.length)throw new Error(`TensorArray ${this.name}: could not write multiple tensors,because the index size: ${e.length} is not the same as tensors size: ${t.length}.`);e.forEach((e,n)=>this.write(e,t[n]))}gather(e,t){if(t&&t!==this.dtype)throw new Error(`TensorArray dtype is ${this.dtype} but gather requested dtype ${t}`);if(e)e=e.slice(0,this.size());else{e=[];for(let t=0;t=this.maxSize)throw new Error(`Max index must be < array size (${n} vs. ${this.maxSize})`);this.writeMany(e,(0,p3.unstack)(t,0))}split(e,t){if(t.dtype!==this.dtype)throw new Error(`TensorArray dtype is ${this.dtype} but tensor has dtype ${t.dtype}`);let n=0;const i=e.map(e=>(n+=e,n));if(n!==t.shape[0])throw new Error(`Expected sum of lengths to be equal to\n tensor.shape[0], but sum of lengths is\n ${n}, and tensor's shape is: ${t.shape}`);if(!this.dynamicSize&&e.length!==this.maxSize)throw new Error(`TensorArray's size is not equal to the size of lengths (${this.maxSize} vs. ${e.length}), and the TensorArray is not marked as dynamically resizeable`);const r=0===n?0:t.size/n,s=[];(0,p3.tidy)(()=>{t=(0,p3.reshape)(t,[1,n,r]);for(let n=0;n{null!=e&&e.has(t.tensor.id)||t.tensor.dispose()}),this.tensors=[],this.closed_=!0,this.idTensor.dispose()}size(){return this.tensors.length}read(e){if(this.closed_)throw new Error(`TensorArray ${this.name} has already been closed.`);if(e<0||e>=this.size())throw new Error(`Tried to read from index ${e}, but array size is: ${this.size()}`);const t=this.tensors[e];if(t.cleared)throw new Error(`TensorArray ${this.name}: Could not read index ${e} twice because it was cleared after a previous read (perhaps try setting clear_after_read = false?).`);return this.clearAfterRead&&(t.cleared=!0),t.read=!0,t.tensor}readMany(e){return e.map(e=>this.read(e))}write(e,t){if(this.closed_)throw new Error(`TensorArray ${this.name} has already been closed.`);if(e<0||!this.dynamicSize&&e>=this.maxSize)throw new Error(`Tried to write to index ${e}, but array is not resizeable and size is: ${this.maxSize}`);const n=this.tensors[e]||{};if(t.dtype!==this.dtype)throw new Error(`TensorArray ${this.name}: Could not write to TensorArray index ${e},\n because the value dtype is ${t.dtype}, but TensorArray dtype is ${this.dtype}.`);if(0!==this.size()||null!=this.elementShape&&0!==this.elementShape.length||(this.elementShape=t.shape),Wse(this.elementShape,t.shape,`TensorArray ${this.name}: Could not write to TensorArray index ${e}.`),n.read)throw new Error(`TensorArray ${this.name}: Could not write to TensorArray index ${e}, because it has already been read.`);if(n.written)throw new Error(`TensorArray ${this.name}: Could not write to TensorArray index ${e}, because it has already been written.`);n.tensor=t,(0,v3.keep)(t),n.written=!0,this.tensors[e]=n}writeMany(e,t){if(e.length!==t.length)throw new Error(`TensorArray ${this.name}: could not write multiple tensors,because the index size: ${e.length} is not the same as tensors size: ${t.length}.`);e.forEach((e,n)=>this.write(e,t[n]))}gather(e,t){if(t&&t!==this.dtype)throw new Error(`TensorArray dtype is ${this.dtype} but gather requested dtype ${t}`);if(e)e=e.slice(0,this.size());else{e=[];for(let t=0;t=this.maxSize)throw new Error(`Max index must be < array size (${n} vs. ${this.maxSize})`);this.writeMany(e,(0,v3.unstack)(t,0))}split(e,t){if(t.dtype!==this.dtype)throw new Error(`TensorArray dtype is ${this.dtype} but tensor has dtype ${t.dtype}`);let n=0;const i=e.map(e=>(n+=e,n));if(n!==t.shape[0])throw new Error(`Expected sum of lengths to be equal to\n tensor.shape[0], but sum of lengths is\n ${n}, and tensor's shape is: ${t.shape}`);if(!this.dynamicSize&&e.length!==this.maxSize)throw new Error(`TensorArray's size is not equal to the size of lengths (${this.maxSize} vs. ${e.length}), and the TensorArray is not marked as dynamically resizeable`);const r=0===n?0:t.size/n,s=[];(0,v3.tidy)(()=>{t=(0,v3.reshape)(t,[1,n,r]);for(let n=0;n{if(n!==e.dtype)throw new Error(`Invalid data types; op elements ${n}, but list elements ${e.dtype}`);Vse(t,e.shape,"TensorList shape mismatch: "),(0,p3.keep)(e)}),this.idTensor=(0,p3.scalar)(0),this.maxNumElements=i,(0,p3.keep)(this.idTensor)}copy(){return new Hse([...this.tensors],this.elementShape,this.elementDtype)}clearAndClose(e){this.tensors.forEach(t=>{null!=e&&e.has(t.id)||t.dispose()}),this.tensors.length=0,this.idTensor.dispose()}size(){return this.tensors.length}stack(e,t,n=-1){if(t!==this.elementDtype)throw new Error(`Invalid data types; op elements ${t}, but list elements ${this.elementDtype}`);if(-1!==n&&this.tensors.length!==n)throw new Error(`Operation expected a list with ${n} elements but got a list with ${this.tensors.length} elements.`);Vse(e,this.elementShape,"TensorList shape mismatch: ");const i=jse(this.elementShape,this.tensors,e);return(0,p3.tidy)(()=>{const e=this.tensors.map(e=>(0,p3.reshape)(e,i));return(0,p3.stack)(e,0)})}popBack(e,t){if(t!==this.elementDtype)throw new Error(`Invalid data types; op elements ${t}, but list elements ${this.elementDtype}`);if(0===this.size())throw new Error("Trying to pop from an empty list.");const n=jse(this.elementShape,this.tensors,e),i=this.tensors.pop();return i.kept=!1,Vse(i.shape,e,"TensorList shape mismatch: "),(0,p3.reshape)(i,n)}pushBack(e){if(e.dtype!==this.elementDtype)throw new Error(`Invalid data types; op elements ${e.dtype}, but list elements ${this.elementDtype}`);if(Vse(e.shape,this.elementShape,"TensorList shape mismatch: "),this.maxNumElements===this.size())throw new Error("Trying to push element into a full list.");(0,p3.keep)(e),this.tensors.push(e)}resize(e){if(e<0)throw new Error(`TensorListResize expects size to be non-negative. Got: ${e}`);if(-1!==this.maxNumElements&&e>this.maxNumElements)throw new Error(`TensorListResize input size ${e} is greater maxNumElement ${this.maxNumElements}.`);const t=new Hse([],this.elementShape,this.elementDtype,this.maxNumElements);t.tensors.length=e;for(let n=0;nthis.tensors.length)throw new Error(`Trying to access element ${e} in a list with ${this.tensors.length} elements.`);if(null==this.tensors[e])throw new Error(`element at index ${e} is null.`);Vse(this.tensors[e].shape,t,"TensorList shape mismatch: ");const i=jse(this.elementShape,this.tensors,t);return(0,p3.reshape)(this.tensors[e],i)}setItem(e,t){if(t.dtype!==this.elementDtype)throw new Error(`Invalid data types; op elements ${t.dtype}, but list elements ${this.elementDtype}`);if(e<0||-1!==this.maxNumElements&&e>=this.maxNumElements)throw new Error(`Trying to set element ${e} in a list with max ${this.maxNumElements} elements.`);Vse(this.elementShape,t.shape,"TensorList shape mismatch: "),(0,p3.keep)(t),null!=this.tensors[e]&&(this.tensors[e].kept=!1),this.tensors[e]=t}gather(e,t,n){if(t!==this.elementDtype)throw new Error(`Invalid data types; op elements ${t}, but list elements ${this.elementDtype}`);Vse(this.elementShape,n,"TensorList shape mismatch: "),e=e.slice(0,this.size());const i=jse(this.elementShape,this.tensors,n);return 0===e.length?(0,p3.tensor)([],[0].concat(i)):(0,p3.tidy)(()=>{const t=e.map(e=>(0,p3.reshape)(this.tensors[e],i));return(0,p3.stack)(t,0)})}concat(e,t){if(e&&e!==this.elementDtype)throw new Error(`TensorList dtype is ${this.elementDtype} but concat requested dtype ${e}`);Vse(this.elementShape,t,"TensorList shape mismatch: ");const n=jse(this.elementShape,this.tensors,t);return 0===this.size()?(0,p3.tensor)([],[0].concat(n)):(0,p3.tidy)(()=>{const e=this.tensors.map(e=>(0,p3.reshape)(e,n));return(0,p3.concat)(e,0)})}} +class Qse{get id(){return this.idTensor.id}constructor(e,t,n,i=-1){this.tensors=e,this.elementShape=t,this.elementDtype=n,null!=e&&e.forEach(e=>{if(n!==e.dtype)throw new Error(`Invalid data types; op elements ${n}, but list elements ${e.dtype}`);Wse(t,e.shape,"TensorList shape mismatch: "),(0,v3.keep)(e)}),this.idTensor=(0,v3.scalar)(0),this.maxNumElements=i,(0,v3.keep)(this.idTensor)}copy(){return new Qse([...this.tensors],this.elementShape,this.elementDtype)}clearAndClose(e){this.tensors.forEach(t=>{null!=e&&e.has(t.id)||t.dispose()}),this.tensors.length=0,this.idTensor.dispose()}size(){return this.tensors.length}stack(e,t,n=-1){if(t!==this.elementDtype)throw new Error(`Invalid data types; op elements ${t}, but list elements ${this.elementDtype}`);if(-1!==n&&this.tensors.length!==n)throw new Error(`Operation expected a list with ${n} elements but got a list with ${this.tensors.length} elements.`);Wse(e,this.elementShape,"TensorList shape mismatch: ");const i=qse(this.elementShape,this.tensors,e);return(0,v3.tidy)(()=>{const e=this.tensors.map(e=>(0,v3.reshape)(e,i));return(0,v3.stack)(e,0)})}popBack(e,t){if(t!==this.elementDtype)throw new Error(`Invalid data types; op elements ${t}, but list elements ${this.elementDtype}`);if(0===this.size())throw new Error("Trying to pop from an empty list.");const n=qse(this.elementShape,this.tensors,e),i=this.tensors.pop();return i.kept=!1,Wse(i.shape,e,"TensorList shape mismatch: "),(0,v3.reshape)(i,n)}pushBack(e){if(e.dtype!==this.elementDtype)throw new Error(`Invalid data types; op elements ${e.dtype}, but list elements ${this.elementDtype}`);if(Wse(e.shape,this.elementShape,"TensorList shape mismatch: "),this.maxNumElements===this.size())throw new Error("Trying to push element into a full list.");(0,v3.keep)(e),this.tensors.push(e)}resize(e){if(e<0)throw new Error(`TensorListResize expects size to be non-negative. Got: ${e}`);if(-1!==this.maxNumElements&&e>this.maxNumElements)throw new Error(`TensorListResize input size ${e} is greater maxNumElement ${this.maxNumElements}.`);const t=new Qse([],this.elementShape,this.elementDtype,this.maxNumElements);t.tensors.length=e;for(let n=0;nthis.tensors.length)throw new Error(`Trying to access element ${e} in a list with ${this.tensors.length} elements.`);if(null==this.tensors[e])throw new Error(`element at index ${e} is null.`);Wse(this.tensors[e].shape,t,"TensorList shape mismatch: ");const i=qse(this.elementShape,this.tensors,t);return(0,v3.reshape)(this.tensors[e],i)}setItem(e,t){if(t.dtype!==this.elementDtype)throw new Error(`Invalid data types; op elements ${t.dtype}, but list elements ${this.elementDtype}`);if(e<0||-1!==this.maxNumElements&&e>=this.maxNumElements)throw new Error(`Trying to set element ${e} in a list with max ${this.maxNumElements} elements.`);Wse(this.elementShape,t.shape,"TensorList shape mismatch: "),(0,v3.keep)(t),null!=this.tensors[e]&&(this.tensors[e].kept=!1),this.tensors[e]=t}gather(e,t,n){if(t!==this.elementDtype)throw new Error(`Invalid data types; op elements ${t}, but list elements ${this.elementDtype}`);Wse(this.elementShape,n,"TensorList shape mismatch: "),e=e.slice(0,this.size());const i=qse(this.elementShape,this.tensors,n);return 0===e.length?(0,v3.tensor)([],[0].concat(i)):(0,v3.tidy)(()=>{const t=e.map(e=>(0,v3.reshape)(this.tensors[e],i));return(0,v3.stack)(t,0)})}concat(e,t){if(e&&e!==this.elementDtype)throw new Error(`TensorList dtype is ${this.elementDtype} but concat requested dtype ${e}`);Wse(this.elementShape,t,"TensorList shape mismatch: ");const n=qse(this.elementShape,this.tensors,t);return 0===this.size()?(0,v3.tensor)([],[0].concat(n)):(0,v3.tidy)(()=>{const e=this.tensors.map(e=>(0,v3.reshape)(e,n));return(0,v3.concat)(e,0)})}} /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -11743,7 +11743,7 @@ class Hse{get id(){return this.idTensor.id}constructor(e,t,n,i=-1){this.tensors= * limitations under the License. * ============================================================================= */ -const Wse=async(e,t,n)=>{switch(e.op){case"If":case"StatelessIf":{const i=Zre("thenBranch",e,t,n),r=Zre("elseBranch",e,t,n),s=Zre("cond",e,t,n),o=Zre("args",e,t,n);return(await s.data())[0]?n.functionMap[i].executeFunctionAsync(o,n.tensorArrayMap,n.tensorListMap):n.functionMap[r].executeFunctionAsync(o,n.tensorArrayMap,n.tensorListMap)}case"While":case"StatelessWhile":{const i=Zre("body",e,t,n),r=Zre("cond",e,t,n),s=Zre("args",e,t,n),o=await n.functionMap[r].executeFunctionAsync(s,n.tensorArrayMap,n.tensorListMap),a=s.map(e=>e.id);let l=await o[0].data();o.forEach(e=>{e.kept||-1!==a.indexOf(e.id)||e.dispose()});let u=s;for(;l[0];){const e=u;u=await n.functionMap[i].executeFunctionAsync(u,n.tensorArrayMap,n.tensorListMap);const t=u.map(e=>e.id);e.forEach(e=>{e.kept||-1!==a.indexOf(e.id)||-1!==t.indexOf(e.id)||e.dispose()});const s=await n.functionMap[r].executeFunctionAsync(u,n.tensorArrayMap,n.tensorListMap);l=await s[0].data(),s.forEach(e=>{e.kept||-1!==a.indexOf(e.id)||-1!==t.indexOf(e.id)||e.dispose()})}return u}case"LoopCond":return[rse(Zre("pred",e,t,n))];case"Switch":{const i=Zre("pred",e,t,n);let r=Zre("data",e,t,n);return r.kept||(r=rse(r)),(await i.data())[0]?[void 0,r]:[r,void 0]}case"Merge":{const i=e.inputNames.find(e=>void 0!==Qre(e,t,n));if(i){return[rse(Qre(i,t,n))]}return}case"Enter":{const i=Zre("frameName",e,t,n),r=Zre("tensor",e,t,n);return n.enterFrame(i),[rse(r)]}case"Exit":{const i=Zre("tensor",e,t,n);return n.exitFrame(),[rse(i)]}case"NextIteration":{const i=Zre("tensor",e,t,n);return n.nextIteration(),[rse(i)]}case"TensorArrayV3":{const i=Zre("size",e,t,n),r=Zre("dtype",e,t,n),s=Zre("elementShape",e,t,n),o=Zre("dynamicSize",e,t,n),a=Zre("clearAfterRead",e,t,n),l=Zre("identicalElementShapes",e,t,n),u=Zre("name",e,t,n),c=new Gse(u,r,i,s,l,o,a);return n.addTensorArray(c),[c.idTensor,(0,p3.scalar)(1)]}case"TensorArrayWriteV3":{const i=Zre("tensorArrayId",e,t,n),r=Zre("index",e,t,n),s=Zre("tensor",e,t,n),o=n.getTensorArray(i.id);return o.write(r,s),[o.idTensor]}case"TensorArrayReadV3":{const i=Zre("tensorArrayId",e,t,n),r=Zre("index",e,t,n);return[n.getTensorArray(i.id).read(r)]}case"TensorArrayGatherV3":{const i=Zre("tensorArrayId",e,t,n),r=Zre("indices",e,t,n),s=Zre("dtype",e,t,n);return[n.getTensorArray(i.id).gather(r,s)]}case"TensorArrayScatterV3":{const i=Zre("tensorArrayId",e,t,n),r=Zre("indices",e,t,n),s=Zre("tensor",e,t,n),o=n.getTensorArray(i.id);return o.scatter(r,s),[o.idTensor]}case"TensorArrayConcatV3":{const i=Zre("tensorArrayId",e,t,n),r=n.getTensorArray(i.id),s=Zre("dtype",e,t,n);return[r.concat(s)]}case"TensorArraySplitV3":{const i=Zre("tensorArrayId",e,t,n),r=Zre("tensor",e,t,n),s=Zre("lengths",e,t,n),o=n.getTensorArray(i.id);return o.split(s,r),[o.idTensor]}case"TensorArraySizeV3":{const i=Zre("tensorArrayId",e,t,n),r=n.getTensorArray(i.id);return[(0,p3.scalar)(r.size(),"int32")]}case"TensorArrayCloseV3":{const i=Zre("tensorArrayId",e,t,n),r=n.getTensorArray(i.id);return r.clearAndClose(),[r.idTensor]}case"TensorListSetItem":{const i=Zre("tensorListId",e,t,n),r=Zre("index",e,t,n),s=Zre("tensor",e,t,n),o=n.getTensorList(i.id);return o.setItem(r,s),[o.idTensor]}case"TensorListGetItem":{const i=Zre("tensorListId",e,t,n),r=Zre("index",e,t,n),s=Zre("elementShape",e,t,n),o=Zre("elementDType",e,t,n);return[n.getTensorList(i.id).getItem(r,s,o)]}case"TensorListScatterV2":case"TensorListScatter":{const i=Zre("indices",e,t,n),r=function(e,t,n,i){if(t.length!==e.shape[0])throw new Error(`Expected len(indices) == tensor.shape[0], but saw: ${t.length} vs. ${e.shape[0]}`);const r=Math.max(...t);if(null!=i&&-1!==i&&r>=i)throw new Error(`Max index must be < array size (${r} vs. ${i})`);const s=new Hse([],n,e.dtype,i),o=(0,p3.unstack)(e,0);return t.forEach((e,t)=>{s.setItem(e,o[t])}),s}(Zre("tensor",e,t,n),i,Zre("elementShape",e,t,n),Zre("numElements",e,t,n));return n.addTensorList(r),[r.idTensor]}case"TensorListReserve":case"EmptyTensorList":{const i=Zre("elementShape",e,t,n),r=Zre("elementDType",e,t,n);let s;s="TensorListReserve"===e.op?"numElements":"maxNumElements";const o=Zre(s,e,t,n),a=function(e,t,n,i){return new Hse([],e,t,i)}(i,r,0,"TensorListReserve"===e.op?-1:o);return n.addTensorList(a),[a.idTensor]}case"TensorListGather":{const i=Zre("tensorListId",e,t,n),r=Zre("indices",e,t,n),s=Zre("elementShape",e,t,n),o=Zre("elementDType",e,t,n);return[n.getTensorList(i.id).gather(r,o,s)]}case"TensorListStack":{const i=Zre("tensorListId",e,t,n),r=Zre("elementShape",e,t,n),s=Zre("elementDType",e,t,n),o=Zre("numElements",e,t,n);return[n.getTensorList(i.id).stack(r,s,o)]}case"TensorListFromTensor":{const i=function(e,t,n){const i=e.dtype;if(e.shape.length<1)throw new Error(`Tensor must be at least a vector, but saw shape: ${e.shape}`);if(e.dtype!==n)throw new Error(`Invalid data types; op elements ${e.dtype}, but list elements ${n}`);Vse(e.shape.slice(1),t,"TensorList shape mismatch: ");const r=(0,p3.unstack)(e);return new Hse(r,t,i)}(Zre("tensor",e,t,n),Zre("elementShape",e,t,n),Zre("elementDType",e,t,n));return n.addTensorList(i),[i.idTensor]}case"TensorListConcat":case"TensorListConcatV2":{const i=Zre("tensorListId",e,t,n),r=n.getTensorList(i.id),s=Zre("dtype",e,t,n),o=Zre("elementShape",e,t,n);return[r.concat(s,o)]}case"TensorListPushBack":{const i=Zre("tensorListId",e,t,n),r=Zre("tensor",e,t,n),s=n.getTensorList(i.id);return s.pushBack(r),[s.idTensor]}case"TensorListPopBack":{const i=Zre("tensorListId",e,t,n),r=Zre("elementShape",e,t,n),s=Zre("elementDType",e,t,n);return[n.getTensorList(i.id).popBack(r,s)]}case"TensorListSplit":{const i=Zre("tensor",e,t,n),r=Zre("elementShape",e,t,n),s=function(e,t,n){let i=0;const r=t.map(e=>(i+=e,i));if(i!==e.shape[0])throw new Error(`Expected sum of lengths to be equal to\n tensor.shape[0], but sum of lengths is\n ${i}, and tensor's shape is: ${e.shape}`);const s=Yse(e.shape.slice(1),n),o=0===i?0:e.size/i,a=(0,p3.tidy)(()=>{const n=[];e=(0,p3.reshape)(e,[1,i,o]);for(let i=0;i{switch(e.op){case"If":case"StatelessIf":{const i=ise("thenBranch",e,t,n),r=ise("elseBranch",e,t,n),s=ise("cond",e,t,n),o=ise("args",e,t,n);return(await s.data())[0]?n.functionMap[i].executeFunctionAsync(o,n.tensorArrayMap,n.tensorListMap):n.functionMap[r].executeFunctionAsync(o,n.tensorArrayMap,n.tensorListMap)}case"While":case"StatelessWhile":{const i=ise("body",e,t,n),r=ise("cond",e,t,n),s=ise("args",e,t,n),o=await n.functionMap[r].executeFunctionAsync(s,n.tensorArrayMap,n.tensorListMap),a=s.map(e=>e.id);let l=await o[0].data();o.forEach(e=>{e.kept||-1!==a.indexOf(e.id)||e.dispose()});let u=s;for(;l[0];){const e=u;u=await n.functionMap[i].executeFunctionAsync(u,n.tensorArrayMap,n.tensorListMap);const t=u.map(e=>e.id);e.forEach(e=>{e.kept||-1!==a.indexOf(e.id)||-1!==t.indexOf(e.id)||e.dispose()});const s=await n.functionMap[r].executeFunctionAsync(u,n.tensorArrayMap,n.tensorListMap);l=await s[0].data(),s.forEach(e=>{e.kept||-1!==a.indexOf(e.id)||-1!==t.indexOf(e.id)||e.dispose()})}return u}case"LoopCond":return[cse(ise("pred",e,t,n))];case"Switch":{const i=ise("pred",e,t,n);let r=ise("data",e,t,n);return r.kept||(r=cse(r)),(await i.data())[0]?[void 0,r]:[r,void 0]}case"Merge":{const i=e.inputNames.find(e=>void 0!==rse(e,t,n));if(i){return[cse(rse(i,t,n))]}return}case"Enter":{const i=ise("frameName",e,t,n),r=ise("tensor",e,t,n);return n.enterFrame(i),[cse(r)]}case"Exit":{const i=ise("tensor",e,t,n);return n.exitFrame(),[cse(i)]}case"NextIteration":{const i=ise("tensor",e,t,n);return n.nextIteration(),[cse(i)]}case"TensorArrayV3":{const i=ise("size",e,t,n),r=ise("dtype",e,t,n),s=ise("elementShape",e,t,n),o=ise("dynamicSize",e,t,n),a=ise("clearAfterRead",e,t,n),l=ise("identicalElementShapes",e,t,n),u=ise("name",e,t,n),c=new Zse(u,r,i,s,l,o,a);return n.addTensorArray(c),[c.idTensor,(0,v3.scalar)(1)]}case"TensorArrayWriteV3":{const i=ise("tensorArrayId",e,t,n),r=ise("index",e,t,n),s=ise("tensor",e,t,n),o=n.getTensorArray(i.id);return o.write(r,s),[o.idTensor]}case"TensorArrayReadV3":{const i=ise("tensorArrayId",e,t,n),r=ise("index",e,t,n);return[n.getTensorArray(i.id).read(r)]}case"TensorArrayGatherV3":{const i=ise("tensorArrayId",e,t,n),r=ise("indices",e,t,n),s=ise("dtype",e,t,n);return[n.getTensorArray(i.id).gather(r,s)]}case"TensorArrayScatterV3":{const i=ise("tensorArrayId",e,t,n),r=ise("indices",e,t,n),s=ise("tensor",e,t,n),o=n.getTensorArray(i.id);return o.scatter(r,s),[o.idTensor]}case"TensorArrayConcatV3":{const i=ise("tensorArrayId",e,t,n),r=n.getTensorArray(i.id),s=ise("dtype",e,t,n);return[r.concat(s)]}case"TensorArraySplitV3":{const i=ise("tensorArrayId",e,t,n),r=ise("tensor",e,t,n),s=ise("lengths",e,t,n),o=n.getTensorArray(i.id);return o.split(s,r),[o.idTensor]}case"TensorArraySizeV3":{const i=ise("tensorArrayId",e,t,n),r=n.getTensorArray(i.id);return[(0,v3.scalar)(r.size(),"int32")]}case"TensorArrayCloseV3":{const i=ise("tensorArrayId",e,t,n),r=n.getTensorArray(i.id);return r.clearAndClose(),[r.idTensor]}case"TensorListSetItem":{const i=ise("tensorListId",e,t,n),r=ise("index",e,t,n),s=ise("tensor",e,t,n),o=n.getTensorList(i.id);return o.setItem(r,s),[o.idTensor]}case"TensorListGetItem":{const i=ise("tensorListId",e,t,n),r=ise("index",e,t,n),s=ise("elementShape",e,t,n),o=ise("elementDType",e,t,n);return[n.getTensorList(i.id).getItem(r,s,o)]}case"TensorListScatterV2":case"TensorListScatter":{const i=ise("indices",e,t,n),r=function(e,t,n,i){if(t.length!==e.shape[0])throw new Error(`Expected len(indices) == tensor.shape[0], but saw: ${t.length} vs. ${e.shape[0]}`);const r=Math.max(...t);if(null!=i&&-1!==i&&r>=i)throw new Error(`Max index must be < array size (${r} vs. ${i})`);const s=new Qse([],n,e.dtype,i),o=(0,v3.unstack)(e,0);return t.forEach((e,t)=>{s.setItem(e,o[t])}),s}(ise("tensor",e,t,n),i,ise("elementShape",e,t,n),ise("numElements",e,t,n));return n.addTensorList(r),[r.idTensor]}case"TensorListReserve":case"EmptyTensorList":{const i=ise("elementShape",e,t,n),r=ise("elementDType",e,t,n);let s;s="TensorListReserve"===e.op?"numElements":"maxNumElements";const o=ise(s,e,t,n),a=function(e,t,n,i){return new Qse([],e,t,i)}(i,r,0,"TensorListReserve"===e.op?-1:o);return n.addTensorList(a),[a.idTensor]}case"TensorListGather":{const i=ise("tensorListId",e,t,n),r=ise("indices",e,t,n),s=ise("elementShape",e,t,n),o=ise("elementDType",e,t,n);return[n.getTensorList(i.id).gather(r,o,s)]}case"TensorListStack":{const i=ise("tensorListId",e,t,n),r=ise("elementShape",e,t,n),s=ise("elementDType",e,t,n),o=ise("numElements",e,t,n);return[n.getTensorList(i.id).stack(r,s,o)]}case"TensorListFromTensor":{const i=function(e,t,n){const i=e.dtype;if(e.shape.length<1)throw new Error(`Tensor must be at least a vector, but saw shape: ${e.shape}`);if(e.dtype!==n)throw new Error(`Invalid data types; op elements ${e.dtype}, but list elements ${n}`);Wse(e.shape.slice(1),t,"TensorList shape mismatch: ");const r=(0,v3.unstack)(e);return new Qse(r,t,i)}(ise("tensor",e,t,n),ise("elementShape",e,t,n),ise("elementDType",e,t,n));return n.addTensorList(i),[i.idTensor]}case"TensorListConcat":case"TensorListConcatV2":{const i=ise("tensorListId",e,t,n),r=n.getTensorList(i.id),s=ise("dtype",e,t,n),o=ise("elementShape",e,t,n);return[r.concat(s,o)]}case"TensorListPushBack":{const i=ise("tensorListId",e,t,n),r=ise("tensor",e,t,n),s=n.getTensorList(i.id);return s.pushBack(r),[s.idTensor]}case"TensorListPopBack":{const i=ise("tensorListId",e,t,n),r=ise("elementShape",e,t,n),s=ise("elementDType",e,t,n);return[n.getTensorList(i.id).popBack(r,s)]}case"TensorListSplit":{const i=ise("tensor",e,t,n),r=ise("elementShape",e,t,n),s=function(e,t,n){let i=0;const r=t.map(e=>(i+=e,i));if(i!==e.shape[0])throw new Error(`Expected sum of lengths to be equal to\n tensor.shape[0], but sum of lengths is\n ${i}, and tensor's shape is: ${e.shape}`);const s=Kse(e.shape.slice(1),n),o=0===i?0:e.size/i,a=(0,v3.tidy)(()=>{const n=[];e=(0,v3.reshape)(e,[1,i,o]);for(let i=0;i{switch(e.op){case"If":case"StatelessIf":{const i=Zre("t * limitations under the License. * ============================================================================= */ -function Xse(e,t,n){const[i,r]=Zre("fusedOps",e,t,n),s="biasadd"===i,o=!s,a="prelu"===r,l="fusedbatchnorm"===i,u=Zre("numArgs",e,t,n);if(s){if(a&&2!==u)throw new Error("FusedConv2d and DepthwiseConv2d with BiasAdd and Prelu must have two extra arguments: bias and alpha.");if(!a&&s&&1!==u)throw new Error("FusedConv2d and DepthwiseConv2d with BiasAdd must have one extra argument: bias.")}if(l)throw new Error("FusedConv2d and DepthwiseConv2d with FusedBatchNorm is not supported");const c=Zre("strides",e,t,n),d=ise(e,t,n),h=Zre("dataFormat",e,t,n).toUpperCase(),p=Zre("dilations",e,t,n);let[f,m]=Zre("args",e,t,n);o&&(m=f,f=void 0);return{stride:c,pad:d,dataFormat:h,dilations:p,biasArg:f,preluArg:m,activationFunc:r,leakyreluAlpha:Zre("leakyreluAlpha",e,t,n)}} +function eoe(e,t,n){const[i,r]=ise("fusedOps",e,t,n),s="biasadd"===i,o=!s,a="prelu"===r,l="fusedbatchnorm"===i,u=ise("numArgs",e,t,n);if(s){if(a&&2!==u)throw new Error("FusedConv2d and DepthwiseConv2d with BiasAdd and Prelu must have two extra arguments: bias and alpha.");if(!a&&s&&1!==u)throw new Error("FusedConv2d and DepthwiseConv2d with BiasAdd must have one extra argument: bias.")}if(l)throw new Error("FusedConv2d and DepthwiseConv2d with FusedBatchNorm is not supported");const c=ise("strides",e,t,n),d=use(e,t,n),h=ise("dataFormat",e,t,n).toUpperCase(),p=ise("dilations",e,t,n);let[f,m]=ise("args",e,t,n);o&&(m=f,f=void 0);return{stride:c,pad:d,dataFormat:h,dilations:p,biasArg:f,preluArg:m,activationFunc:r,leakyreluAlpha:ise("leakyreluAlpha",e,t,n)}} /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -11777,7 +11777,7 @@ function Xse(e,t,n){const[i,r]=Zre("fusedOps",e,t,n),s="biasadd"===i,o=!s,a="pre * limitations under the License. * ============================================================================= */ -function qse(e,t,n){return{boxes:Zre("boxes",e,t,n),scores:Zre("scores",e,t,n),maxOutputSize:Zre("maxOutputSize",e,t,n),iouThreshold:Zre("iouThreshold",e,t,n),scoreThreshold:Zre("scoreThreshold",e,t,n),softNmsSigma:Zre("softNmsSigma",e,t,n)}} +function toe(e,t,n){return{boxes:ise("boxes",e,t,n),scores:ise("scores",e,t,n),maxOutputSize:ise("maxOutputSize",e,t,n),iouThreshold:ise("iouThreshold",e,t,n),scoreThreshold:ise("scoreThreshold",e,t,n),softNmsSigma:ise("softNmsSigma",e,t,n)}} /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -11794,7 +11794,7 @@ function qse(e,t,n){return{boxes:Zre("boxes",e,t,n),scores:Zre("scores",e,t,n),m * limitations under the License. * ============================================================================= */ -class Kse{get id(){return this.handle.id}constructor(e,t){this.keyDType=e,this.valueDType=t,this.handle=(0,p3.scalar)(0),this.tensorMap=new Map,(0,p3.keep)(this.handle)}clearAndClose(){this.tensorMap.forEach(e=>e.dispose()),this.tensorMap.clear(),this.handle.dispose()}size(){return this.tensorMap.size}tensorSize(){return T3.d(this.size(),"int32")}async import(e,t){this.checkKeyAndValueTensor(e,t);const n=await e.data();return this.tensorMap.forEach(e=>e.dispose()),this.tensorMap.clear(),(0,p3.tidy)(()=>{const e=(0,p3.unstack)(t),i=n.length,r=e.length;p3.util.assert(i===r,()=>`The number of elements doesn't match, keys has ${i} elements, the values has ${r} elements.`);for(let t=0;t{const e=[];for(let i=0;ie.dispose()),this.tensorMap.clear(),this.handle.dispose()}size(){return this.tensorMap.size}tensorSize(){return S3.d(this.size(),"int32")}async import(e,t){this.checkKeyAndValueTensor(e,t);const n=await e.data();return this.tensorMap.forEach(e=>e.dispose()),this.tensorMap.clear(),(0,v3.tidy)(()=>{const e=(0,v3.unstack)(t),i=n.length,r=e.length;v3.util.assert(i===r,()=>`The number of elements doesn't match, keys has ${i} elements, the values has ${r} elements.`);for(let t=0;t{const e=[];for(let i=0;i{switch(e.category){case"arithmetic":return r(()=>((e,t,n,i=Fe)=>{switch(e.op){case"BiasAdd":case"AddV2":case"Add":return[i.add(Zre("a",e,t,n),Zre("b",e,t,n))];case"AddN":return[i.addN(Zre("tensors",e,t,n))];case"FloorMod":case"Mod":return[i.mod(Zre("a",e,t,n),Zre("b",e,t,n))];case"Mul":return[i.mul(Zre("a",e,t,n),Zre("b",e,t,n))];case"RealDiv":case"Div":return[i.div(Zre("a",e,t,n),Zre("b",e,t,n))];case"DivNoNan":return[i.divNoNan(Zre("a",e,t,n),Zre("b",e,t,n))];case"FloorDiv":return[i.floorDiv(Zre("a",e,t,n),Zre("b",e,t,n))];case"Sub":return[i.sub(Zre("a",e,t,n),Zre("b",e,t,n))];case"Minimum":return[i.minimum(Zre("a",e,t,n),Zre("b",e,t,n))];case"Maximum":return[i.maximum(Zre("a",e,t,n),Zre("b",e,t,n))];case"Pow":return[i.pow(Zre("a",e,t,n),Zre("b",e,t,n))];case"SquaredDifference":return[i.squaredDifference(Zre("a",e,t,n),Zre("b",e,t,n))];default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n));case"basic_math":return r(()=>((e,t,n,i=Fe)=>{switch(e.op){case"Abs":case"ComplexAbs":return[i.abs(Zre("x",e,t,n))];case"Acos":return[i.acos(Zre("x",e,t,n))];case"Acosh":return[i.acosh(Zre("x",e,t,n))];case"Asin":return[i.asin(Zre("x",e,t,n))];case"Asinh":return[i.asinh(Zre("x",e,t,n))];case"Atan":return[i.atan(Zre("x",e,t,n))];case"Atan2":return[i.atan2(Zre("x",e,t,n),Zre("y",e,t,n))];case"Atanh":return[i.atanh(Zre("x",e,t,n))];case"Ceil":return[i.ceil(Zre("x",e,t,n))];case"Complex":return[i.complex(Zre("real",e,t,n),Zre("imag",e,t,n))];case"Cos":return[i.cos(Zre("x",e,t,n))];case"Cosh":return[i.cosh(Zre("x",e,t,n))];case"Elu":return[i.elu(Zre("x",e,t,n))];case"Erf":return[i.erf(Zre("x",e,t,n))];case"Exp":return[i.exp(Zre("x",e,t,n))];case"Expm1":return[i.expm1(Zre("x",e,t,n))];case"Floor":return[i.floor(Zre("x",e,t,n))];case"Log":return[i.log(Zre("x",e,t,n))];case"Log1p":return[i.log1p(Zre("x",e,t,n))];case"Imag":return[i.imag(Zre("x",e,t,n))];case"Neg":return[i.neg(Zre("x",e,t,n))];case"Reciprocal":return[i.reciprocal(Zre("x",e,t,n))];case"Real":return[i.real(Zre("x",e,t,n))];case"Relu":return[i.relu(Zre("x",e,t,n))];case"Round":return[i.round(Zre("x",e,t,n))];case"Selu":return[i.selu(Zre("x",e,t,n))];case"Sigmoid":return[i.sigmoid(Zre("x",e,t,n))];case"Sin":return[i.sin(Zre("x",e,t,n))];case"Sign":return[i.sign(Zre("x",e,t,n))];case"Sinh":return[i.sinh(Zre("x",e,t,n))];case"Softplus":return[i.softplus(Zre("x",e,t,n))];case"Sqrt":return[i.sqrt(Zre("x",e,t,n))];case"Square":return[i.square(Zre("x",e,t,n))];case"Tanh":return[i.tanh(Zre("x",e,t,n))];case"Tan":return[i.tan(Zre("x",e,t,n))];case"ClipByValue":return[i.clipByValue(Zre("x",e,t,n),Zre("clipValueMin",e,t,n),Zre("clipValueMax",e,t,n))];case"Relu6":return[i.relu6(Zre("x",e,t,n))];case"Rsqrt":return[i.rsqrt(Qre(e.inputNames[0],t,n))];case"LeakyRelu":return[i.leakyRelu(Zre("x",e,t,n),Zre("alpha",e,t,n))];case"Prelu":return[i.prelu(Zre("x",e,t,n),Zre("alpha",e,t,n))];case"IsNan":return[i.isNaN(Qre(e.inputNames[0],t,n))];case"IsInf":return[i.isInf(Qre(e.inputNames[0],t,n))];case"IsFinite":return[i.isFinite(Qre(e.inputNames[0],t,n))];default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n));case"control":return Wse(e,t,n);case"convolution":return r(()=>((e,t,n,i=Fe)=>{switch(e.op){case"Conv1D":{const r=Zre("stride",e,t,n),s=Zre("pad",e,t,n),o=Zre("dataFormat",e,t,n).toUpperCase(),a=Zre("dilation",e,t,n);return[i.conv1d(Zre("x",e,t,n),Zre("filter",e,t,n),r,s,o,a)]}case"Conv2D":{const r=Zre("strides",e,t,n),s=ise(e,t,n),o=Zre("dataFormat",e,t,n).toUpperCase(),a=Zre("dilations",e,t,n);return[i.conv2d(Zre("x",e,t,n),Zre("filter",e,t,n),[r[1],r[2]],s,o,[a[1],a[2]])]}case"_FusedConv2D":{const{stride:r,pad:s,dataFormat:o,dilations:a,biasArg:l,preluArg:u,activationFunc:c,leakyreluAlpha:d}=Xse(e,t,n);return[i.fused.conv2d({x:Zre("x",e,t,n),filter:Zre("filter",e,t,n),strides:[r[1],r[2]],pad:s,dataFormat:o,dilations:[a[1],a[2]],bias:l,activation:c,preluActivationWeights:u,leakyreluAlpha:d})]}case"FusedDepthwiseConv2dNative":{const{stride:r,pad:s,dataFormat:o,dilations:a,biasArg:l,preluArg:u,activationFunc:c,leakyreluAlpha:d}=Xse(e,t,n);return[i.fused.depthwiseConv2d({x:Zre("x",e,t,n),filter:Zre("filter",e,t,n),strides:[r[1],r[2]],pad:s,dataFormat:o,dilations:[a[1],a[2]],bias:l,activation:c,preluActivationWeights:u,leakyreluAlpha:d})]}case"Conv2DBackpropInput":case"Conv2dTranspose":{const r=Zre("outputShape",e,t,n),s=Zre("strides",e,t,n),o=ise(e,t,n);return[i.conv2dTranspose(Zre("x",e,t,n),Zre("filter",e,t,n),r,[s[1],s[2]],o)]}case"DepthwiseConv2dNative":case"DepthwiseConv2d":{const r=Zre("strides",e,t,n),s=ise(e,t,n),o=Zre("dilations",e,t,n),a=Zre("dataFormat",e,t,n).toUpperCase();return[i.depthwiseConv2d(Zre("input",e,t,n),Zre("filter",e,t,n),[r[1],r[2]],s,a,[o[1],o[2]])]}case"Conv3D":{const r=Zre("strides",e,t,n),s=Zre("pad",e,t,n),o=Zre("dataFormat",e,t,n).toUpperCase(),a=Zre("dilations",e,t,n);return[i.conv3d(Zre("x",e,t,n),Zre("filter",e,t,n),[r[1],r[2],r[3]],s,o,[a[1],a[2],a[3]])]}case"AvgPool":{const r=Zre("strides",e,t,n),s=Zre("pad",e,t,n),o=Zre("kernelSize",e,t,n);return[i.avgPool(Zre("x",e,t,n),[o[1],o[2]],[r[1],r[2]],s)]}case"MaxPool":{const r=Zre("strides",e,t,n),s=Zre("pad",e,t,n),o=Zre("kernelSize",e,t,n);return[i.maxPool(Zre("x",e,t,n),[o[1],o[2]],[r[1],r[2]],s)]}case"MaxPoolWithArgmax":{const r=Zre("strides",e,t,n),s=Zre("pad",e,t,n),o=Zre("kernelSize",e,t,n),a=Zre("includeBatchInIndex",e,t,n),{result:l,indexes:u}=i.maxPoolWithArgmax(Zre("x",e,t,n),[o[1],o[2]],[r[1],r[2]],s,a);return[l,u]}case"AvgPool3D":{const r=Zre("strides",e,t,n),s=Zre("pad",e,t,n),o=Zre("kernelSize",e,t,n);return[i.avgPool3d(Zre("x",e,t,n),[o[1],o[2],o[3]],[r[1],r[2],r[3]],s)]}case"MaxPool3D":{const r=Zre("strides",e,t,n),s=Zre("pad",e,t,n),o=Zre("kernelSize",e,t,n);return[i.maxPool3d(Zre("x",e,t,n),[o[1],o[2],o[3]],[r[1],r[2],r[3]],s)]}case"Dilation2D":{const r=Zre("strides",e,t,n),s=Zre("pad",e,t,n),o=Zre("dilations",e,t,n),a=r[1],l=r[2],u=o[1],c=o[2];return[i.dilation2d(Zre("x",e,t,n),Zre("filter",e,t,n),[a,l],s,[u,c],"NHWC")]}default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n));case"creation":return r(()=>((e,t,n,i=Fe)=>{switch(e.op){case"Fill":{const r=Zre("shape",e,t,n),s=Zre("dtype",e,t,n),o=Zre("value",e,t,n);return[i.fill(r,o,s)]}case"LinSpace":{const r=Zre("start",e,t,n),s=Zre("stop",e,t,n),o=Zre("num",e,t,n);return[i.linspace(r,s,o)]}case"Multinomial":{const r=Zre("logits",e,t,n),s=Zre("numSamples",e,t,n),o=Zre("seed",e,t,n);return[i.multinomial(r,s,o)]}case"OneHot":{const r=Zre("indices",e,t,n),s=Zre("depth",e,t,n),o=Zre("onValue",e,t,n),a=Zre("offValue",e,t,n),l=Zre("dtype",e,t,n);return[i.oneHot(r,s,o,a,l)]}case"Ones":return[i.ones(Zre("shape",e,t,n),Zre("dtype",e,t,n))];case"OnesLike":return[i.onesLike(Zre("x",e,t,n))];case"RandomStandardNormal":return[i.randomStandardNormal(Zre("shape",e,t,n),Zre("dtype",e,t,n),Zre("seed",e,t,n))];case"RandomUniform":return[i.randomUniform(Zre("shape",e,t,n),Zre("minval",e,t,n),Zre("maxval",e,t,n),Zre("dtype",e,t,n))];case"RandomUniformInt":return[i.randomUniformInt(Zre("shape",e,t,n),Zre("minval",e,t,n),Zre("maxval",e,t,n),Zre("seed",e,t,n))];case"Range":{const r=Zre("start",e,t,n),s=Zre("stop",e,t,n),o=Zre("step",e,t,n);return[i.range(r,s,o,Zre("dtype",e,t,n))]}case"TruncatedNormal":{const r=Zre("shape",e,t,n),s=Zre("mean",e,t,n),o=Zre("stdDev",e,t,n),a=Zre("seed",e,t,n);return[i.truncatedNormal(r,s,o,Zre("dtype",e,t,n),a)]}case"Zeros":return[i.zeros(Zre("shape",e,t,n),Zre("dtype",e,t,n))];case"ZerosLike":return[i.zerosLike(Zre("x",e,t,n))];default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n));case"dynamic":return(async(e,t,n,i,r=Fe)=>{switch(e.op){case"NonMaxSuppressionV5":{const{boxes:i,scores:s,maxOutputSize:o,iouThreshold:a,scoreThreshold:l,softNmsSigma:u}=qse(e,t,n),c=await r.image.nonMaxSuppressionWithScoreAsync(i,s,o,a,l,u);return[c.selectedIndices,c.selectedScores]}case"NonMaxSuppressionV4":{const{boxes:i,scores:s,maxOutputSize:o,iouThreshold:a,scoreThreshold:l}=qse(e,t,n),u=Zre("padToMaxOutputSize",e,t,n),c=await r.image.nonMaxSuppressionPaddedAsync(i,s,o,a,l,u);return[c.selectedIndices,c.validOutputs]}case"NonMaxSuppressionV3":case"NonMaxSuppressionV2":{const{boxes:i,scores:s,maxOutputSize:o,iouThreshold:a,scoreThreshold:l}=qse(e,t,n);return[await r.image.nonMaxSuppressionAsync(i,s,o,a,l)]}case"Where":{const i=r.cast(Zre("condition",e,t,n),"bool"),s=[await r.whereAsync(i)];return i.dispose(),s}case"ListDiff":return r.setdiff1dAsync(Zre("x",e,t,n),Zre("y",e,t,n));default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n);case"evaluation":return r(()=>((e,t,n,i=Fe)=>{switch(e.op){case"LowerBound":{const r=Zre("sortedSequence",e,t,n),s=Zre("values",e,t,n);return[i.lowerBound(r,s)]}case"TopKV2":{const r=Zre("x",e,t,n),s=Zre("k",e,t,n),o=Zre("sorted",e,t,n),a=i.topk(r,s,o);return[a.values,a.indices]}case"UpperBound":{const r=Zre("sortedSequence",e,t,n),s=Zre("values",e,t,n);return[i.upperBound(r,s)]}case"Unique":{const r=Zre("x",e,t,n),s=i.unique(r);return[s.values,s.indices]}case"UniqueV2":{const r=Zre("x",e,t,n),s=Zre("axis",e,t,n),o=i.unique(r,s);return[o.values,o.indices]}default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n));case"image":return r(()=>((e,t,n,i=Fe)=>{switch(e.op){case"ResizeBilinear":{const r=Zre("images",e,t,n),s=Zre("size",e,t,n),o=Zre("alignCorners",e,t,n),a=Zre("halfPixelCenters",e,t,n);return[i.image.resizeBilinear(r,[s[0],s[1]],o,a)]}case"ResizeNearestNeighbor":{const r=Zre("images",e,t,n),s=Zre("size",e,t,n),o=Zre("alignCorners",e,t,n),a=Zre("halfPixelCenters",e,t,n);return[i.image.resizeNearestNeighbor(r,[s[0],s[1]],o,a)]}case"CropAndResize":{const r=Zre("image",e,t,n),s=Zre("boxes",e,t,n),o=Zre("boxInd",e,t,n),a=Zre("cropSize",e,t,n),l=Zre("method",e,t,n),u=Zre("extrapolationValue",e,t,n);return[i.image.cropAndResize(r,s,o,a,l,u)]}case"ImageProjectiveTransformV3":{const r=Zre("images",e,t,n),s=Zre("transforms",e,t,n),o=Zre("outputShape",e,t,n),a=Zre("fillValue",e,t,n),l=Zre("interpolation",e,t,n),u=Zre("fillMode",e,t,n);return[i.image.transform(r,s,l.toLowerCase(),u.toLowerCase(),a,o)]}default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n));case"graph":return r(()=>((e,t,n,i=Fe)=>{switch(e.op){case"Const":return t[e.name];case"PlaceholderWithDefault":const r=Zre("default",e,t,n);return[Qre(e.name,t,n)||r];case"Placeholder":return[Qre(e.name,t,n)];case"Identity":case"StopGradient":case"FakeQuantWithMinMaxVars":case"Snapshot":return[rse(Zre("x",e,t,n))];case"IdentityN":return Zre("x",e,t,n).map(e=>rse(e));case"Shape":return[i.tensor1d(Zre("x",e,t,n).shape,"int32")];case"ShapeN":return Zre("x",e,t,n).map(e=>i.tensor1d(e.shape));case"Size":return[i.scalar(Zre("x",e,t,n).size,"int32")];case"Rank":return[i.scalar(Zre("x",e,t,n).rank,"int32")];case"NoOp":return[i.scalar(1)];case"Print":const s=Zre("x",e,t,n),o=Zre("data",e,t,n),a=Zre("message",e,t,n),l=Zre("summarize",e,t,n);console.warn("The graph has a tf.print() operation,usually used for debugging, which slows down performance."),console.log(a);for(let e=0;e((e,t,n,i=Fe)=>{switch(e.op){case"Equal":return[i.equal(Zre("a",e,t,n),Zre("b",e,t,n))];case"NotEqual":return[i.notEqual(Zre("a",e,t,n),Zre("b",e,t,n))];case"Greater":return[i.greater(Zre("a",e,t,n),Zre("b",e,t,n))];case"GreaterEqual":return[i.greaterEqual(Zre("a",e,t,n),Zre("b",e,t,n))];case"Less":return[i.less(Zre("a",e,t,n),Zre("b",e,t,n))];case"LessEqual":return[i.lessEqual(Zre("a",e,t,n),Zre("b",e,t,n))];case"LogicalAnd":return[i.logicalAnd(Zre("a",e,t,n),Zre("b",e,t,n))];case"LogicalNot":return[i.logicalNot(Zre("a",e,t,n))];case"LogicalOr":return[i.logicalOr(Zre("a",e,t,n),Zre("b",e,t,n))];case"Select":case"SelectV2":return[i.where(Zre("condition",e,t,n),Zre("a",e,t,n),Zre("b",e,t,n))];case"BitwiseAnd":return[i.bitwiseAnd(Zre("a",e,t,n),Zre("b",e,t,n))];default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n));case"matrices":return r(()=>((e,t,n,i=Fe)=>{switch(e.op){case"BatchMatMul":case"BatchMatMulV2":case"MatMul":return[i.matMul(Zre("a",e,t,n),Zre("b",e,t,n),Zre("transposeA",e,t,n),Zre("transposeB",e,t,n))];case"Einsum":return[i.einsum(Zre("equation",e,t,n),...Zre("tensors",e,t,n))];case"Transpose":return[i.transpose(Zre("x",e,t,n),Zre("perm",e,t,n))];case"_FusedMatMul":const[r,s]=Zre("fusedOps",e,t,n),o="biasadd"===r,a="prelu"===s,l=Zre("numArgs",e,t,n),u=Zre("leakyreluAlpha",e,t,n);if(o){if(a&&2!==l)throw new Error("Fused MatMul with BiasAdd and Prelu must have two extra arguments: bias and alpha.");if(!a&&1!==l)throw new Error("Fused MatMul with BiasAdd must have one extra argument: bias.")}const[c,d]=Zre("args",e,t,n);return[i.fused.matMul({a:Zre("a",e,t,n),b:Zre("b",e,t,n),transposeA:Zre("transposeA",e,t,n),transposeB:Zre("transposeB",e,t,n),bias:c,activation:s,preluActivationWeights:d,leakyreluAlpha:u})];case"MatrixBandPart":return[i.linalg.bandPart(Zre("a",e,t,n),Zre("numLower",e,t,n),Zre("numUpper",e,t,n))];default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n));case"normalization":return r(()=>((e,t,n,i=Fe)=>{switch(e.op){case"EuclideanNorm":return[i.euclideanNorm(Zre("x",e,t,n),Zre("axis",e,t,n),Zre("keepDims",e,t,n))];case"FusedBatchNorm":case"FusedBatchNormV2":case"FusedBatchNormV3":return[i.batchNorm(Zre("x",e,t,n),Zre("mean",e,t,n),Zre("variance",e,t,n),Zre("offset",e,t,n),Zre("scale",e,t,n),Zre("epsilon",e,t,n))];case"LRN":return[i.localResponseNormalization(Zre("x",e,t,n),Zre("radius",e,t,n),Zre("bias",e,t,n),Zre("alpha",e,t,n),Zre("beta",e,t,n))];case"Softmax":return[i.softmax(Zre("x",e,t,n))];case"LogSoftmax":return[i.logSoftmax(Zre("x",e,t,n))];default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n));case"ragged":return r(()=>((e,t,n,i=Fe)=>{switch(e.op){case"RaggedGather":{const{outputNestedSplits:r,outputDenseValues:s}=i.raggedGather(Zre("paramsNestedSplits",e,t,n),Zre("paramsDenseValues",e,t,n),Zre("indices",e,t,n),Zre("outputRaggedRank",e,t,n));return r.concat(s)}case"RaggedRange":{const{rtNestedSplits:r,rtDenseValues:s}=i.raggedRange(Zre("starts",e,t,n),Zre("limits",e,t,n),Zre("splits",e,t,n));return[r,s]}case"RaggedTensorToTensor":return[i.raggedTensorToTensor(Zre("shape",e,t,n),Zre("values",e,t,n),Zre("defaultValue",e,t,n),Zre("rowPartitionTensors",e,t,n),Zre("rowPartitionTypes",e,t,n))];default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n));case"reduction":return r(()=>((e,t,n,i=Fe)=>{switch(e.op){case"Max":{const r=Zre("axis",e,t,n),s=Zre("keepDims",e,t,n);return[i.max(Zre("x",e,t,n),r,s)]}case"Mean":{const r=Zre("axis",e,t,n),s=Zre("keepDims",e,t,n);return[i.mean(Zre("x",e,t,n),r,s)]}case"Min":{const r=Zre("axis",e,t,n),s=Zre("keepDims",e,t,n);return[i.min(Zre("x",e,t,n),r,s)]}case"Sum":{const r=Zre("axis",e,t,n),s=Zre("keepDims",e,t,n);return[i.sum(Zre("x",e,t,n),r,s)]}case"All":{const r=Zre("axis",e,t,n),s=Zre("keepDims",e,t,n);return[i.all(Zre("x",e,t,n),r,s)]}case"Any":{const r=Zre("axis",e,t,n),s=Zre("keepDims",e,t,n);return[i.any(Zre("x",e,t,n),r,s)]}case"ArgMax":{const r=Zre("axis",e,t,n);return[i.argMax(Zre("x",e,t,n),r)]}case"ArgMin":{const r=Zre("axis",e,t,n);return[i.argMin(Zre("x",e,t,n),r)]}case"Prod":{const r=Zre("axis",e,t,n),s=Zre("keepDims",e,t,n);return[i.prod(Zre("x",e,t,n),r,s)]}case"Cumprod":{const r=Zre("axis",e,t,n),s=Zre("exclusive",e,t,n),o=Zre("reverse",e,t,n);return[i.cumprod(Zre("x",e,t,n),r,s,o)]}case"Cumsum":{const r=Zre("axis",e,t,n),s=Zre("exclusive",e,t,n),o=Zre("reverse",e,t,n);return[i.cumsum(Zre("x",e,t,n),r,s,o)]}case"Bincount":const r=Zre("x",e,t,n),s=Zre("weights",e,t,n),o=Zre("size",e,t,n);return[i.bincount(r,s,o)];case"DenseBincount":{const r=Zre("x",e,t,n),s=Zre("weights",e,t,n),o=Zre("size",e,t,n),a=Zre("binaryOutput",e,t,n);return[i.denseBincount(r,s,o,a)]}default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n));case"slice_join":return r(()=>((e,t,n,i=Fe)=>{switch(e.op){case"ConcatV2":case"Concat":{const r=Zre("n",e,t,n),s=Zre("axis",e,t,n);let o=Zre("tensors",e,t,n);return o=o.slice(0,r),[i.concat(o,s)]}case"Gather":{const r=Zre("x",e,t,n),s=Zre("indices",e,t,n);return[i.gather(r,i.cast(s,"int32"),0)]}case"GatherV2":{const r=Zre("axis",e,t,n),s=Zre("batchDims",e,t,n),o=Zre("x",e,t,n),a=Zre("indices",e,t,n);return[i.gather(o,i.cast(a,"int32"),r,s)]}case"Reverse":{const r=Zre("dims",e,t,n),s=[];for(let e=0;e{const r=Zre("axis",e,t,n),s=Zre("tensors",e,t,n),o=s[0].shape,a=i.squeeze(s[0]).shape,l=s.map(e=>{const t=p3.util.arraysEqual(e.shape,o);if(!t&&!p3.util.arraysEqual(i.squeeze(e).shape,a))throw new Error("the input tensors shape does not match");return t?e:i.reshape(e,o)});return[i.stack(l,r)]});case"Unpack":{const r=Zre("axis",e,t,n),s=Zre("tensor",e,t,n);return i.unstack(s,r)}case"Tile":{const r=Zre("reps",e,t,n);return[i.tile(Zre("x",e,t,n),r)]}case"Split":case"SplitV":{const r=Zre("axis",e,t,n),s=Zre("numOrSizeSplits",e,t,n),o=Zre("x",e,t,n);return i.split(o,s,r)}case"ScatterNd":{const r=Zre("indices",e,t,n),s=Zre("values",e,t,n),o=Zre("shape",e,t,n);return[i.scatterND(r,s,o)]}case"GatherNd":{const r=Zre("x",e,t,n),s=Zre("indices",e,t,n);return[i.gatherND(r,s)]}case"SparseToDense":{const r=Zre("sparseIndices",e,t,n),s=Zre("outputShape",e,t,n),o=Zre("sparseValues",e,t,n),a=Zre("defaultValue",e,t,n);return[i.sparseToDense(r,o,s,o.dtype===a.dtype?a:i.cast(a,o.dtype))]}case"TensorScatterUpdate":{const r=Zre("indices",e,t,n),s=Zre("values",e,t,n),o=Zre("tensor",e,t,n);return[i.tensorScatterUpdate(o,r,s)]}default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n));case"sparse":return r(()=>((e,t,n,i=Fe)=>{switch(e.op){case"SparseFillEmptyRows":{const{outputIndices:r,outputValues:s,emptyRowIndicator:o,reverseIndexMap:a}=i.sparse.sparseFillEmptyRows(Zre("indices",e,t,n),Zre("values",e,t,n),Zre("denseShape",e,t,n),Zre("defaultValue",e,t,n));return[r,s,o,a]}case"SparseReshape":{const{outputIndices:r,outputShape:s}=i.sparse.sparseReshape(Zre("inputIndices",e,t,n),Zre("inputShape",e,t,n),Zre("newShape",e,t,n));return[r,s]}case"SparseSegmentMean":return[i.sparse.sparseSegmentMean(Zre("data",e,t,n),Zre("indices",e,t,n),Zre("segmentIds",e,t,n))];case"SparseSegmentSum":return[i.sparse.sparseSegmentSum(Zre("data",e,t,n),Zre("indices",e,t,n),Zre("segmentIds",e,t,n))];default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n));case"spectral":return r(()=>((e,t,n,i=Fe)=>{switch(e.op){case"FFT":return[i.fft(Zre("x",e,t,n))];case"IFFT":return[i.ifft(Zre("x",e,t,n))];case"RFFT":return[i.rfft(Zre("x",e,t,n))];case"IRFFT":return[i.irfft(Zre("x",e,t,n))];default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n));case"string":return r(()=>((e,t,n,i=Fe)=>{switch(e.op){case"StaticRegexReplace":return[i.string.staticRegexReplace(Zre("input",e,t,n),Zre("pattern",e,t,n),Zre("rewrite",e,t,n),Zre("replaceGlobal",e,t,n))];case"StringNGrams":{const{nGrams:r,nGramsSplits:s}=i.string.stringNGrams(Zre("data",e,t,n),Zre("dataSplits",e,t,n),Zre("separator",e,t,n),Zre("nGramWidths",e,t,n),Zre("leftPad",e,t,n),Zre("rightPad",e,t,n),Zre("padWidth",e,t,n),Zre("preserveShortSequences",e,t,n));return[r,s]}case"StringSplit":{const{indices:r,values:s,shape:o}=i.string.stringSplit(Zre("input",e,t,n),Zre("delimiter",e,t,n),Zre("skipEmpty",e,t,n));return[r,s,o]}case"StringToHashBucketFast":return[i.string.stringToHashBucketFast(Zre("input",e,t,n),Zre("numBuckets",e,t,n))];default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n));case"transformation":return r(()=>((e,t,n,i=Fe)=>{switch(e.op){case"Cast":return[i.cast(Zre("x",e,t,n),Zre("dtype",e,t,n))];case"ExpandDims":{const r=Zre("axis",e,t,n);return[i.expandDims(Zre("x",e,t,n),r)]}case"Squeeze":{const r=Zre("axis",e,t,n);return[i.squeeze(Zre("x",e,t,n),r)]}case"Reshape":return[i.reshape(Zre("x",e,t,n),Zre("shape",e,t,n))];case"EnsureShape":return[i.ensureShape(Zre("x",e,t,n),Zre("shape",e,t,n))];case"MirrorPad":return[i.mirrorPad(Zre("x",e,t,n),Zre("padding",e,t,n),Zre("mode",e,t,n))];case"PadV2":case"Pad":return[i.pad(Zre("x",e,t,n),Zre("padding",e,t,n),Zre("constantValue",e,t,n))];case"SpaceToBatchND":{const r=Zre("blockShape",e,t,n),s=Zre("paddings",e,t,n);return[i.spaceToBatchND(Zre("x",e,t,n),r,s)]}case"BatchToSpaceND":{const r=Zre("blockShape",e,t,n),s=Zre("crops",e,t,n);return[i.batchToSpaceND(Zre("x",e,t,n),r,s)]}case"DepthToSpace":{const r=Zre("blockSize",e,t,n),s=Zre("dataFormat",e,t,n).toUpperCase();return[i.depthToSpace(Zre("x",e,t,n),r,s)]}case"BroadcastTo":return[i.broadcastTo(Zre("x",e,t,n),Zre("shape",e,t,n))];case"BroadcastArgs":return[i.broadcastArgs(Zre("s0",e,t,n),Zre("s1",e,t,n))];default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n));case"hash_table":return(async(e,t,n,i)=>{switch(e.op){case"HashTable":case"HashTableV2":{const r=i.getHashTableHandleByName(e.name);if(null!=r)return[r];{const r=Zre("keyDType",e,t,n),s=Zre("valueDType",e,t,n),o=new Kse(r,s);return i.addHashTable(e.name,o),[o.handle]}}case"InitializeTable":case"InitializeTableV2":case"LookupTableImport":case"LookupTableImportV2":{const r=Zre("tableHandle",e,t,n,i),s=Zre("keys",e,t,n),o=Zre("values",e,t,n),a=i.getHashTableById(r.id);return[await a.import(s,o)]}case"LookupTableFind":case"LookupTableFindV2":{const r=Zre("tableHandle",e,t,n,i),s=Zre("keys",e,t,n),o=Zre("defaultValue",e,t,n),a=i.getHashTableById(r.id);return[await a.find(s,o)]}case"LookupTableSize":case"LookupTableSizeV2":{const r=Zre("tableHandle",e,t,n,i);return[i.getHashTableById(r.id).tensorSize()]}default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n,i);case"custom":const s=qre(e.op);if(s&&s.customExecutor)return s.customExecutor(new $se(e,t,n));throw TypeError(`Custom op ${e.op} is not registered.`);default:throw TypeError(`Unknown op '${e.op}'. File an issue at https://github.com/tensorflow/tfjs/issues so we can add it, or register a custom execution with tf.registerOp()`)}})(e,t,n);return p3.util.isPromise(s)?s.then(e=>[].concat(e)):[].concat(s)}class Qse{constructor(e={},t={},n={},i={},r){this.weightMap=e,this.tensorArrayMap=t,this.tensorListMap=n,this.functionMap=i,this.parseNodeNameCache=r,this.rootContext={id:0,frameName:"",iterationId:0},this.contexts=[this.rootContext],this.lastId=0,this.generateCurrentContextIds()}newFrame(e,t){return{id:e,frameName:t,iterationId:0}}set currentContext(e){this.contexts!==e&&(this.contexts=e,this.generateCurrentContextIds())}get currentContext(){return this.contexts}get currentContextId(){return this._currentContextIds[0]}get currentContextIds(){return this._currentContextIds}generateCurrentContextIds(){const e=[];for(let t=0;t0===e.id&&0===e.iterationId?"":`${e.frameName}-${e.iterationId}`).join("/"):""}enterFrame(e){this.contexts&&(this.lastId++,this.contexts=this.contexts.slice(),this.contexts.push(this.newFrame(this.lastId,e)),this._currentContextIds.unshift(this.contextIdforContexts(this.contexts)))}exitFrame(){if(!(this.contexts&&this.contexts.length>1))throw new Error("Cannot exit frame, the context is empty");this.contexts=this.contexts.slice(),this.contexts.splice(-1),this.currentContextIds.shift()}nextIteration(){if(!(this.contexts&&this.contexts.length>0))throw new Error("Cannot increase frame iteration, the context is empty");{this.contexts=this.contexts.slice(),this.lastId++;const e=Object.assign({},this.contexts[this.contexts.length-1]);e.iterationId+=1,e.id=this.lastId,this.contexts.splice(-1,1,e),this._currentContextIds.splice(0,1,this.contextIdforContexts(this.contexts))}}getWeight(e){return this.weightMap[e]}addTensorArray(e){this.tensorArrayMap[e.id]=e}getTensorArray(e){return this.tensorArrayMap[e]}addTensorList(e){this.tensorListMap[e.id]=e}getTensorList(e){return this.tensorListMap[e]}dispose(e){for(const t in this.tensorArrayMap)this.tensorArrayMap[t].clearAndClose(e);for(const t in this.tensorListMap)this.tensorListMap[t].clearAndClose(e)}} +function ioe(e,t,n,i,r=v3.tidy){const s=((e,t,n)=>{switch(e.category){case"arithmetic":return r(()=>((e,t,n,i=Fe)=>{switch(e.op){case"BiasAdd":case"AddV2":case"Add":return[i.add(ise("a",e,t,n),ise("b",e,t,n))];case"AddN":return[i.addN(ise("tensors",e,t,n))];case"FloorMod":case"Mod":return[i.mod(ise("a",e,t,n),ise("b",e,t,n))];case"Mul":return[i.mul(ise("a",e,t,n),ise("b",e,t,n))];case"RealDiv":case"Div":return[i.div(ise("a",e,t,n),ise("b",e,t,n))];case"DivNoNan":return[i.divNoNan(ise("a",e,t,n),ise("b",e,t,n))];case"FloorDiv":return[i.floorDiv(ise("a",e,t,n),ise("b",e,t,n))];case"Sub":return[i.sub(ise("a",e,t,n),ise("b",e,t,n))];case"Minimum":return[i.minimum(ise("a",e,t,n),ise("b",e,t,n))];case"Maximum":return[i.maximum(ise("a",e,t,n),ise("b",e,t,n))];case"Pow":return[i.pow(ise("a",e,t,n),ise("b",e,t,n))];case"SquaredDifference":return[i.squaredDifference(ise("a",e,t,n),ise("b",e,t,n))];default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n));case"basic_math":return r(()=>((e,t,n,i=Fe)=>{switch(e.op){case"Abs":case"ComplexAbs":return[i.abs(ise("x",e,t,n))];case"Acos":return[i.acos(ise("x",e,t,n))];case"Acosh":return[i.acosh(ise("x",e,t,n))];case"Asin":return[i.asin(ise("x",e,t,n))];case"Asinh":return[i.asinh(ise("x",e,t,n))];case"Atan":return[i.atan(ise("x",e,t,n))];case"Atan2":return[i.atan2(ise("x",e,t,n),ise("y",e,t,n))];case"Atanh":return[i.atanh(ise("x",e,t,n))];case"Ceil":return[i.ceil(ise("x",e,t,n))];case"Complex":return[i.complex(ise("real",e,t,n),ise("imag",e,t,n))];case"Cos":return[i.cos(ise("x",e,t,n))];case"Cosh":return[i.cosh(ise("x",e,t,n))];case"Elu":return[i.elu(ise("x",e,t,n))];case"Erf":return[i.erf(ise("x",e,t,n))];case"Exp":return[i.exp(ise("x",e,t,n))];case"Expm1":return[i.expm1(ise("x",e,t,n))];case"Floor":return[i.floor(ise("x",e,t,n))];case"Log":return[i.log(ise("x",e,t,n))];case"Log1p":return[i.log1p(ise("x",e,t,n))];case"Imag":return[i.imag(ise("x",e,t,n))];case"Neg":return[i.neg(ise("x",e,t,n))];case"Reciprocal":return[i.reciprocal(ise("x",e,t,n))];case"Real":return[i.real(ise("x",e,t,n))];case"Relu":return[i.relu(ise("x",e,t,n))];case"Round":return[i.round(ise("x",e,t,n))];case"Selu":return[i.selu(ise("x",e,t,n))];case"Sigmoid":return[i.sigmoid(ise("x",e,t,n))];case"Sin":return[i.sin(ise("x",e,t,n))];case"Sign":return[i.sign(ise("x",e,t,n))];case"Sinh":return[i.sinh(ise("x",e,t,n))];case"Softplus":return[i.softplus(ise("x",e,t,n))];case"Sqrt":return[i.sqrt(ise("x",e,t,n))];case"Square":return[i.square(ise("x",e,t,n))];case"Tanh":return[i.tanh(ise("x",e,t,n))];case"Tan":return[i.tan(ise("x",e,t,n))];case"ClipByValue":return[i.clipByValue(ise("x",e,t,n),ise("clipValueMin",e,t,n),ise("clipValueMax",e,t,n))];case"Relu6":return[i.relu6(ise("x",e,t,n))];case"Rsqrt":return[i.rsqrt(rse(e.inputNames[0],t,n))];case"LeakyRelu":return[i.leakyRelu(ise("x",e,t,n),ise("alpha",e,t,n))];case"Prelu":return[i.prelu(ise("x",e,t,n),ise("alpha",e,t,n))];case"IsNan":return[i.isNaN(rse(e.inputNames[0],t,n))];case"IsInf":return[i.isInf(rse(e.inputNames[0],t,n))];case"IsFinite":return[i.isFinite(rse(e.inputNames[0],t,n))];default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n));case"control":return Jse(e,t,n);case"convolution":return r(()=>((e,t,n,i=Fe)=>{switch(e.op){case"Conv1D":{const r=ise("stride",e,t,n),s=ise("pad",e,t,n),o=ise("dataFormat",e,t,n).toUpperCase(),a=ise("dilation",e,t,n);return[i.conv1d(ise("x",e,t,n),ise("filter",e,t,n),r,s,o,a)]}case"Conv2D":{const r=ise("strides",e,t,n),s=use(e,t,n),o=ise("dataFormat",e,t,n).toUpperCase(),a=ise("dilations",e,t,n);return[i.conv2d(ise("x",e,t,n),ise("filter",e,t,n),[r[1],r[2]],s,o,[a[1],a[2]])]}case"_FusedConv2D":{const{stride:r,pad:s,dataFormat:o,dilations:a,biasArg:l,preluArg:u,activationFunc:c,leakyreluAlpha:d}=eoe(e,t,n);return[i.fused.conv2d({x:ise("x",e,t,n),filter:ise("filter",e,t,n),strides:[r[1],r[2]],pad:s,dataFormat:o,dilations:[a[1],a[2]],bias:l,activation:c,preluActivationWeights:u,leakyreluAlpha:d})]}case"FusedDepthwiseConv2dNative":{const{stride:r,pad:s,dataFormat:o,dilations:a,biasArg:l,preluArg:u,activationFunc:c,leakyreluAlpha:d}=eoe(e,t,n);return[i.fused.depthwiseConv2d({x:ise("x",e,t,n),filter:ise("filter",e,t,n),strides:[r[1],r[2]],pad:s,dataFormat:o,dilations:[a[1],a[2]],bias:l,activation:c,preluActivationWeights:u,leakyreluAlpha:d})]}case"Conv2DBackpropInput":case"Conv2dTranspose":{const r=ise("outputShape",e,t,n),s=ise("strides",e,t,n),o=use(e,t,n);return[i.conv2dTranspose(ise("x",e,t,n),ise("filter",e,t,n),r,[s[1],s[2]],o)]}case"DepthwiseConv2dNative":case"DepthwiseConv2d":{const r=ise("strides",e,t,n),s=use(e,t,n),o=ise("dilations",e,t,n),a=ise("dataFormat",e,t,n).toUpperCase();return[i.depthwiseConv2d(ise("input",e,t,n),ise("filter",e,t,n),[r[1],r[2]],s,a,[o[1],o[2]])]}case"Conv3D":{const r=ise("strides",e,t,n),s=ise("pad",e,t,n),o=ise("dataFormat",e,t,n).toUpperCase(),a=ise("dilations",e,t,n);return[i.conv3d(ise("x",e,t,n),ise("filter",e,t,n),[r[1],r[2],r[3]],s,o,[a[1],a[2],a[3]])]}case"AvgPool":{const r=ise("strides",e,t,n),s=ise("pad",e,t,n),o=ise("kernelSize",e,t,n);return[i.avgPool(ise("x",e,t,n),[o[1],o[2]],[r[1],r[2]],s)]}case"MaxPool":{const r=ise("strides",e,t,n),s=ise("pad",e,t,n),o=ise("kernelSize",e,t,n);return[i.maxPool(ise("x",e,t,n),[o[1],o[2]],[r[1],r[2]],s)]}case"MaxPoolWithArgmax":{const r=ise("strides",e,t,n),s=ise("pad",e,t,n),o=ise("kernelSize",e,t,n),a=ise("includeBatchInIndex",e,t,n),{result:l,indexes:u}=i.maxPoolWithArgmax(ise("x",e,t,n),[o[1],o[2]],[r[1],r[2]],s,a);return[l,u]}case"AvgPool3D":{const r=ise("strides",e,t,n),s=ise("pad",e,t,n),o=ise("kernelSize",e,t,n);return[i.avgPool3d(ise("x",e,t,n),[o[1],o[2],o[3]],[r[1],r[2],r[3]],s)]}case"MaxPool3D":{const r=ise("strides",e,t,n),s=ise("pad",e,t,n),o=ise("kernelSize",e,t,n);return[i.maxPool3d(ise("x",e,t,n),[o[1],o[2],o[3]],[r[1],r[2],r[3]],s)]}case"Dilation2D":{const r=ise("strides",e,t,n),s=ise("pad",e,t,n),o=ise("dilations",e,t,n),a=r[1],l=r[2],u=o[1],c=o[2];return[i.dilation2d(ise("x",e,t,n),ise("filter",e,t,n),[a,l],s,[u,c],"NHWC")]}default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n));case"creation":return r(()=>((e,t,n,i=Fe)=>{switch(e.op){case"Fill":{const r=ise("shape",e,t,n),s=ise("dtype",e,t,n),o=ise("value",e,t,n);return[i.fill(r,o,s)]}case"LinSpace":{const r=ise("start",e,t,n),s=ise("stop",e,t,n),o=ise("num",e,t,n);return[i.linspace(r,s,o)]}case"Multinomial":{const r=ise("logits",e,t,n),s=ise("numSamples",e,t,n),o=ise("seed",e,t,n);return[i.multinomial(r,s,o)]}case"OneHot":{const r=ise("indices",e,t,n),s=ise("depth",e,t,n),o=ise("onValue",e,t,n),a=ise("offValue",e,t,n),l=ise("dtype",e,t,n);return[i.oneHot(r,s,o,a,l)]}case"Ones":return[i.ones(ise("shape",e,t,n),ise("dtype",e,t,n))];case"OnesLike":return[i.onesLike(ise("x",e,t,n))];case"RandomStandardNormal":return[i.randomStandardNormal(ise("shape",e,t,n),ise("dtype",e,t,n),ise("seed",e,t,n))];case"RandomUniform":return[i.randomUniform(ise("shape",e,t,n),ise("minval",e,t,n),ise("maxval",e,t,n),ise("dtype",e,t,n))];case"RandomUniformInt":return[i.randomUniformInt(ise("shape",e,t,n),ise("minval",e,t,n),ise("maxval",e,t,n),ise("seed",e,t,n))];case"Range":{const r=ise("start",e,t,n),s=ise("stop",e,t,n),o=ise("step",e,t,n);return[i.range(r,s,o,ise("dtype",e,t,n))]}case"TruncatedNormal":{const r=ise("shape",e,t,n),s=ise("mean",e,t,n),o=ise("stdDev",e,t,n),a=ise("seed",e,t,n);return[i.truncatedNormal(r,s,o,ise("dtype",e,t,n),a)]}case"Zeros":return[i.zeros(ise("shape",e,t,n),ise("dtype",e,t,n))];case"ZerosLike":return[i.zerosLike(ise("x",e,t,n))];default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n));case"dynamic":return(async(e,t,n,i,r=Fe)=>{switch(e.op){case"NonMaxSuppressionV5":{const{boxes:i,scores:s,maxOutputSize:o,iouThreshold:a,scoreThreshold:l,softNmsSigma:u}=toe(e,t,n),c=await r.image.nonMaxSuppressionWithScoreAsync(i,s,o,a,l,u);return[c.selectedIndices,c.selectedScores]}case"NonMaxSuppressionV4":{const{boxes:i,scores:s,maxOutputSize:o,iouThreshold:a,scoreThreshold:l}=toe(e,t,n),u=ise("padToMaxOutputSize",e,t,n),c=await r.image.nonMaxSuppressionPaddedAsync(i,s,o,a,l,u);return[c.selectedIndices,c.validOutputs]}case"NonMaxSuppressionV3":case"NonMaxSuppressionV2":{const{boxes:i,scores:s,maxOutputSize:o,iouThreshold:a,scoreThreshold:l}=toe(e,t,n);return[await r.image.nonMaxSuppressionAsync(i,s,o,a,l)]}case"Where":{const i=r.cast(ise("condition",e,t,n),"bool"),s=[await r.whereAsync(i)];return i.dispose(),s}case"ListDiff":return r.setdiff1dAsync(ise("x",e,t,n),ise("y",e,t,n));default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n);case"evaluation":return r(()=>((e,t,n,i=Fe)=>{switch(e.op){case"LowerBound":{const r=ise("sortedSequence",e,t,n),s=ise("values",e,t,n);return[i.lowerBound(r,s)]}case"TopKV2":{const r=ise("x",e,t,n),s=ise("k",e,t,n),o=ise("sorted",e,t,n),a=i.topk(r,s,o);return[a.values,a.indices]}case"UpperBound":{const r=ise("sortedSequence",e,t,n),s=ise("values",e,t,n);return[i.upperBound(r,s)]}case"Unique":{const r=ise("x",e,t,n),s=i.unique(r);return[s.values,s.indices]}case"UniqueV2":{const r=ise("x",e,t,n),s=ise("axis",e,t,n),o=i.unique(r,s);return[o.values,o.indices]}default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n));case"image":return r(()=>((e,t,n,i=Fe)=>{switch(e.op){case"ResizeBilinear":{const r=ise("images",e,t,n),s=ise("size",e,t,n),o=ise("alignCorners",e,t,n),a=ise("halfPixelCenters",e,t,n);return[i.image.resizeBilinear(r,[s[0],s[1]],o,a)]}case"ResizeNearestNeighbor":{const r=ise("images",e,t,n),s=ise("size",e,t,n),o=ise("alignCorners",e,t,n),a=ise("halfPixelCenters",e,t,n);return[i.image.resizeNearestNeighbor(r,[s[0],s[1]],o,a)]}case"CropAndResize":{const r=ise("image",e,t,n),s=ise("boxes",e,t,n),o=ise("boxInd",e,t,n),a=ise("cropSize",e,t,n),l=ise("method",e,t,n),u=ise("extrapolationValue",e,t,n);return[i.image.cropAndResize(r,s,o,a,l,u)]}case"ImageProjectiveTransformV3":{const r=ise("images",e,t,n),s=ise("transforms",e,t,n),o=ise("outputShape",e,t,n),a=ise("fillValue",e,t,n),l=ise("interpolation",e,t,n),u=ise("fillMode",e,t,n);return[i.image.transform(r,s,l.toLowerCase(),u.toLowerCase(),a,o)]}default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n));case"graph":return r(()=>((e,t,n,i=Fe)=>{switch(e.op){case"Const":return t[e.name];case"PlaceholderWithDefault":const r=ise("default",e,t,n);return[rse(e.name,t,n)||r];case"Placeholder":return[rse(e.name,t,n)];case"Identity":case"StopGradient":case"FakeQuantWithMinMaxVars":case"Snapshot":return[cse(ise("x",e,t,n))];case"IdentityN":return ise("x",e,t,n).map(e=>cse(e));case"Shape":return[i.tensor1d(ise("x",e,t,n).shape,"int32")];case"ShapeN":return ise("x",e,t,n).map(e=>i.tensor1d(e.shape));case"Size":return[i.scalar(ise("x",e,t,n).size,"int32")];case"Rank":return[i.scalar(ise("x",e,t,n).rank,"int32")];case"NoOp":return[i.scalar(1)];case"Print":const s=ise("x",e,t,n),o=ise("data",e,t,n),a=ise("message",e,t,n),l=ise("summarize",e,t,n);console.warn("The graph has a tf.print() operation,usually used for debugging, which slows down performance."),console.log(a);for(let e=0;e((e,t,n,i=Fe)=>{switch(e.op){case"Equal":return[i.equal(ise("a",e,t,n),ise("b",e,t,n))];case"NotEqual":return[i.notEqual(ise("a",e,t,n),ise("b",e,t,n))];case"Greater":return[i.greater(ise("a",e,t,n),ise("b",e,t,n))];case"GreaterEqual":return[i.greaterEqual(ise("a",e,t,n),ise("b",e,t,n))];case"Less":return[i.less(ise("a",e,t,n),ise("b",e,t,n))];case"LessEqual":return[i.lessEqual(ise("a",e,t,n),ise("b",e,t,n))];case"LogicalAnd":return[i.logicalAnd(ise("a",e,t,n),ise("b",e,t,n))];case"LogicalNot":return[i.logicalNot(ise("a",e,t,n))];case"LogicalOr":return[i.logicalOr(ise("a",e,t,n),ise("b",e,t,n))];case"Select":case"SelectV2":return[i.where(ise("condition",e,t,n),ise("a",e,t,n),ise("b",e,t,n))];case"BitwiseAnd":return[i.bitwiseAnd(ise("a",e,t,n),ise("b",e,t,n))];default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n));case"matrices":return r(()=>((e,t,n,i=Fe)=>{switch(e.op){case"BatchMatMul":case"BatchMatMulV2":case"MatMul":return[i.matMul(ise("a",e,t,n),ise("b",e,t,n),ise("transposeA",e,t,n),ise("transposeB",e,t,n))];case"Einsum":return[i.einsum(ise("equation",e,t,n),...ise("tensors",e,t,n))];case"Transpose":return[i.transpose(ise("x",e,t,n),ise("perm",e,t,n))];case"_FusedMatMul":const[r,s]=ise("fusedOps",e,t,n),o="biasadd"===r,a="prelu"===s,l=ise("numArgs",e,t,n),u=ise("leakyreluAlpha",e,t,n);if(o){if(a&&2!==l)throw new Error("Fused MatMul with BiasAdd and Prelu must have two extra arguments: bias and alpha.");if(!a&&1!==l)throw new Error("Fused MatMul with BiasAdd must have one extra argument: bias.")}const[c,d]=ise("args",e,t,n);return[i.fused.matMul({a:ise("a",e,t,n),b:ise("b",e,t,n),transposeA:ise("transposeA",e,t,n),transposeB:ise("transposeB",e,t,n),bias:c,activation:s,preluActivationWeights:d,leakyreluAlpha:u})];case"MatrixBandPart":return[i.linalg.bandPart(ise("a",e,t,n),ise("numLower",e,t,n),ise("numUpper",e,t,n))];default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n));case"normalization":return r(()=>((e,t,n,i=Fe)=>{switch(e.op){case"EuclideanNorm":return[i.euclideanNorm(ise("x",e,t,n),ise("axis",e,t,n),ise("keepDims",e,t,n))];case"FusedBatchNorm":case"FusedBatchNormV2":case"FusedBatchNormV3":return[i.batchNorm(ise("x",e,t,n),ise("mean",e,t,n),ise("variance",e,t,n),ise("offset",e,t,n),ise("scale",e,t,n),ise("epsilon",e,t,n))];case"LRN":return[i.localResponseNormalization(ise("x",e,t,n),ise("radius",e,t,n),ise("bias",e,t,n),ise("alpha",e,t,n),ise("beta",e,t,n))];case"Softmax":return[i.softmax(ise("x",e,t,n))];case"LogSoftmax":return[i.logSoftmax(ise("x",e,t,n))];default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n));case"ragged":return r(()=>((e,t,n,i=Fe)=>{switch(e.op){case"RaggedGather":{const{outputNestedSplits:r,outputDenseValues:s}=i.raggedGather(ise("paramsNestedSplits",e,t,n),ise("paramsDenseValues",e,t,n),ise("indices",e,t,n),ise("outputRaggedRank",e,t,n));return r.concat(s)}case"RaggedRange":{const{rtNestedSplits:r,rtDenseValues:s}=i.raggedRange(ise("starts",e,t,n),ise("limits",e,t,n),ise("splits",e,t,n));return[r,s]}case"RaggedTensorToTensor":return[i.raggedTensorToTensor(ise("shape",e,t,n),ise("values",e,t,n),ise("defaultValue",e,t,n),ise("rowPartitionTensors",e,t,n),ise("rowPartitionTypes",e,t,n))];default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n));case"reduction":return r(()=>((e,t,n,i=Fe)=>{switch(e.op){case"Max":{const r=ise("axis",e,t,n),s=ise("keepDims",e,t,n);return[i.max(ise("x",e,t,n),r,s)]}case"Mean":{const r=ise("axis",e,t,n),s=ise("keepDims",e,t,n);return[i.mean(ise("x",e,t,n),r,s)]}case"Min":{const r=ise("axis",e,t,n),s=ise("keepDims",e,t,n);return[i.min(ise("x",e,t,n),r,s)]}case"Sum":{const r=ise("axis",e,t,n),s=ise("keepDims",e,t,n);return[i.sum(ise("x",e,t,n),r,s)]}case"All":{const r=ise("axis",e,t,n),s=ise("keepDims",e,t,n);return[i.all(ise("x",e,t,n),r,s)]}case"Any":{const r=ise("axis",e,t,n),s=ise("keepDims",e,t,n);return[i.any(ise("x",e,t,n),r,s)]}case"ArgMax":{const r=ise("axis",e,t,n);return[i.argMax(ise("x",e,t,n),r)]}case"ArgMin":{const r=ise("axis",e,t,n);return[i.argMin(ise("x",e,t,n),r)]}case"Prod":{const r=ise("axis",e,t,n),s=ise("keepDims",e,t,n);return[i.prod(ise("x",e,t,n),r,s)]}case"Cumprod":{const r=ise("axis",e,t,n),s=ise("exclusive",e,t,n),o=ise("reverse",e,t,n);return[i.cumprod(ise("x",e,t,n),r,s,o)]}case"Cumsum":{const r=ise("axis",e,t,n),s=ise("exclusive",e,t,n),o=ise("reverse",e,t,n);return[i.cumsum(ise("x",e,t,n),r,s,o)]}case"Bincount":const r=ise("x",e,t,n),s=ise("weights",e,t,n),o=ise("size",e,t,n);return[i.bincount(r,s,o)];case"DenseBincount":{const r=ise("x",e,t,n),s=ise("weights",e,t,n),o=ise("size",e,t,n),a=ise("binaryOutput",e,t,n);return[i.denseBincount(r,s,o,a)]}default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n));case"slice_join":return r(()=>((e,t,n,i=Fe)=>{switch(e.op){case"ConcatV2":case"Concat":{const r=ise("n",e,t,n),s=ise("axis",e,t,n);let o=ise("tensors",e,t,n);return o=o.slice(0,r),[i.concat(o,s)]}case"Gather":{const r=ise("x",e,t,n),s=ise("indices",e,t,n);return[i.gather(r,i.cast(s,"int32"),0)]}case"GatherV2":{const r=ise("axis",e,t,n),s=ise("batchDims",e,t,n),o=ise("x",e,t,n),a=ise("indices",e,t,n);return[i.gather(o,i.cast(a,"int32"),r,s)]}case"Reverse":{const r=ise("dims",e,t,n),s=[];for(let e=0;e{const r=ise("axis",e,t,n),s=ise("tensors",e,t,n),o=s[0].shape,a=i.squeeze(s[0]).shape,l=s.map(e=>{const t=v3.util.arraysEqual(e.shape,o);if(!t&&!v3.util.arraysEqual(i.squeeze(e).shape,a))throw new Error("the input tensors shape does not match");return t?e:i.reshape(e,o)});return[i.stack(l,r)]});case"Unpack":{const r=ise("axis",e,t,n),s=ise("tensor",e,t,n);return i.unstack(s,r)}case"Tile":{const r=ise("reps",e,t,n);return[i.tile(ise("x",e,t,n),r)]}case"Split":case"SplitV":{const r=ise("axis",e,t,n),s=ise("numOrSizeSplits",e,t,n),o=ise("x",e,t,n);return i.split(o,s,r)}case"ScatterNd":{const r=ise("indices",e,t,n),s=ise("values",e,t,n),o=ise("shape",e,t,n);return[i.scatterND(r,s,o)]}case"GatherNd":{const r=ise("x",e,t,n),s=ise("indices",e,t,n);return[i.gatherND(r,s)]}case"SparseToDense":{const r=ise("sparseIndices",e,t,n),s=ise("outputShape",e,t,n),o=ise("sparseValues",e,t,n),a=ise("defaultValue",e,t,n);return[i.sparseToDense(r,o,s,o.dtype===a.dtype?a:i.cast(a,o.dtype))]}case"TensorScatterUpdate":{const r=ise("indices",e,t,n),s=ise("values",e,t,n),o=ise("tensor",e,t,n);return[i.tensorScatterUpdate(o,r,s)]}default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n));case"sparse":return r(()=>((e,t,n,i=Fe)=>{switch(e.op){case"SparseFillEmptyRows":{const{outputIndices:r,outputValues:s,emptyRowIndicator:o,reverseIndexMap:a}=i.sparse.sparseFillEmptyRows(ise("indices",e,t,n),ise("values",e,t,n),ise("denseShape",e,t,n),ise("defaultValue",e,t,n));return[r,s,o,a]}case"SparseReshape":{const{outputIndices:r,outputShape:s}=i.sparse.sparseReshape(ise("inputIndices",e,t,n),ise("inputShape",e,t,n),ise("newShape",e,t,n));return[r,s]}case"SparseSegmentMean":return[i.sparse.sparseSegmentMean(ise("data",e,t,n),ise("indices",e,t,n),ise("segmentIds",e,t,n))];case"SparseSegmentSum":return[i.sparse.sparseSegmentSum(ise("data",e,t,n),ise("indices",e,t,n),ise("segmentIds",e,t,n))];default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n));case"spectral":return r(()=>((e,t,n,i=Fe)=>{switch(e.op){case"FFT":return[i.fft(ise("x",e,t,n))];case"IFFT":return[i.ifft(ise("x",e,t,n))];case"RFFT":return[i.rfft(ise("x",e,t,n))];case"IRFFT":return[i.irfft(ise("x",e,t,n))];default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n));case"string":return r(()=>((e,t,n,i=Fe)=>{switch(e.op){case"StaticRegexReplace":return[i.string.staticRegexReplace(ise("input",e,t,n),ise("pattern",e,t,n),ise("rewrite",e,t,n),ise("replaceGlobal",e,t,n))];case"StringNGrams":{const{nGrams:r,nGramsSplits:s}=i.string.stringNGrams(ise("data",e,t,n),ise("dataSplits",e,t,n),ise("separator",e,t,n),ise("nGramWidths",e,t,n),ise("leftPad",e,t,n),ise("rightPad",e,t,n),ise("padWidth",e,t,n),ise("preserveShortSequences",e,t,n));return[r,s]}case"StringSplit":{const{indices:r,values:s,shape:o}=i.string.stringSplit(ise("input",e,t,n),ise("delimiter",e,t,n),ise("skipEmpty",e,t,n));return[r,s,o]}case"StringToHashBucketFast":return[i.string.stringToHashBucketFast(ise("input",e,t,n),ise("numBuckets",e,t,n))];default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n));case"transformation":return r(()=>((e,t,n,i=Fe)=>{switch(e.op){case"Cast":return[i.cast(ise("x",e,t,n),ise("dtype",e,t,n))];case"ExpandDims":{const r=ise("axis",e,t,n);return[i.expandDims(ise("x",e,t,n),r)]}case"Squeeze":{const r=ise("axis",e,t,n);return[i.squeeze(ise("x",e,t,n),r)]}case"Reshape":return[i.reshape(ise("x",e,t,n),ise("shape",e,t,n))];case"EnsureShape":return[i.ensureShape(ise("x",e,t,n),ise("shape",e,t,n))];case"MirrorPad":return[i.mirrorPad(ise("x",e,t,n),ise("padding",e,t,n),ise("mode",e,t,n))];case"PadV2":case"Pad":return[i.pad(ise("x",e,t,n),ise("padding",e,t,n),ise("constantValue",e,t,n))];case"SpaceToBatchND":{const r=ise("blockShape",e,t,n),s=ise("paddings",e,t,n);return[i.spaceToBatchND(ise("x",e,t,n),r,s)]}case"BatchToSpaceND":{const r=ise("blockShape",e,t,n),s=ise("crops",e,t,n);return[i.batchToSpaceND(ise("x",e,t,n),r,s)]}case"DepthToSpace":{const r=ise("blockSize",e,t,n),s=ise("dataFormat",e,t,n).toUpperCase();return[i.depthToSpace(ise("x",e,t,n),r,s)]}case"BroadcastTo":return[i.broadcastTo(ise("x",e,t,n),ise("shape",e,t,n))];case"BroadcastArgs":return[i.broadcastArgs(ise("s0",e,t,n),ise("s1",e,t,n))];default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n));case"hash_table":return(async(e,t,n,i)=>{switch(e.op){case"HashTable":case"HashTableV2":{const r=i.getHashTableHandleByName(e.name);if(null!=r)return[r];{const r=ise("keyDType",e,t,n),s=ise("valueDType",e,t,n),o=new noe(r,s);return i.addHashTable(e.name,o),[o.handle]}}case"InitializeTable":case"InitializeTableV2":case"LookupTableImport":case"LookupTableImportV2":{const r=ise("tableHandle",e,t,n,i),s=ise("keys",e,t,n),o=ise("values",e,t,n),a=i.getHashTableById(r.id);return[await a.import(s,o)]}case"LookupTableFind":case"LookupTableFindV2":{const r=ise("tableHandle",e,t,n,i),s=ise("keys",e,t,n),o=ise("defaultValue",e,t,n),a=i.getHashTableById(r.id);return[await a.find(s,o)]}case"LookupTableSize":case"LookupTableSizeV2":{const r=ise("tableHandle",e,t,n,i);return[i.getHashTableById(r.id).tensorSize()]}default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n,i);case"custom":const s=tse(e.op);if(s&&s.customExecutor)return s.customExecutor(new Gse(e,t,n));throw TypeError(`Custom op ${e.op} is not registered.`);default:throw TypeError(`Unknown op '${e.op}'. File an issue at https://github.com/tensorflow/tfjs/issues so we can add it, or register a custom execution with tf.registerOp()`)}})(e,t,n);return v3.util.isPromise(s)?s.then(e=>[].concat(e)):[].concat(s)}class roe{constructor(e={},t={},n={},i={},r){this.weightMap=e,this.tensorArrayMap=t,this.tensorListMap=n,this.functionMap=i,this.parseNodeNameCache=r,this.rootContext={id:0,frameName:"",iterationId:0},this.contexts=[this.rootContext],this.lastId=0,this.generateCurrentContextIds()}newFrame(e,t){return{id:e,frameName:t,iterationId:0}}set currentContext(e){this.contexts!==e&&(this.contexts=e,this.generateCurrentContextIds())}get currentContext(){return this.contexts}get currentContextId(){return this._currentContextIds[0]}get currentContextIds(){return this._currentContextIds}generateCurrentContextIds(){const e=[];for(let t=0;t0===e.id&&0===e.iterationId?"":`${e.frameName}-${e.iterationId}`).join("/"):""}enterFrame(e){this.contexts&&(this.lastId++,this.contexts=this.contexts.slice(),this.contexts.push(this.newFrame(this.lastId,e)),this._currentContextIds.unshift(this.contextIdforContexts(this.contexts)))}exitFrame(){if(!(this.contexts&&this.contexts.length>1))throw new Error("Cannot exit frame, the context is empty");this.contexts=this.contexts.slice(),this.contexts.splice(-1),this.currentContextIds.shift()}nextIteration(){if(!(this.contexts&&this.contexts.length>0))throw new Error("Cannot increase frame iteration, the context is empty");{this.contexts=this.contexts.slice(),this.lastId++;const e=Object.assign({},this.contexts[this.contexts.length-1]);e.iterationId+=1,e.id=this.lastId,this.contexts.splice(-1,1,e),this._currentContextIds.splice(0,1,this.contextIdforContexts(this.contexts))}}getWeight(e){return this.weightMap[e]}addTensorArray(e){this.tensorArrayMap[e.id]=e}getTensorArray(e){return this.tensorArrayMap[e]}addTensorList(e){this.tensorListMap[e.id]=e}getTensorList(e){return this.tensorListMap[e]}dispose(e){for(const t in this.tensorArrayMap)this.tensorArrayMap[t].clearAndClose(e);for(const t in this.tensorListMap)this.tensorListMap[t].clearAndClose(e)}} /** * @license * Copyright 2019 Google LLC. All Rights Reserved. @@ -11828,7 +11828,7 @@ function Zse(e,t,n,i,r=p3.tidy){const s=((e,t,n)=>{switch(e.category){case"arith * limitations under the License. * ============================================================================= */ -function Jse(e,t,n,i){const r=new Set,s=[];let o=null,a=null;const l=new Set,u=new Set(Object.keys(e).map(e=>nse(e)[0]));i=i||[];const c=new Set(i.map(e=>nse(e.name)[0])),d=[...t];for(;d.length>0;){const e=d.pop();(soe(e)||ooe(e)||aoe(e))&&null==o&&(o=e,a=o.children.map(e=>e.name).filter(e=>r.has(e))),r.add(e.name),null==n[e.name]&&(u.has(e.name)||c.has(e.name)||(0!==e.inputs.length?e.inputs.forEach(e=>{l.has(e.name)||(l.add(e.name),d.push(e))}):s.push(e.name)))}return{inputs:e,outputs:t,usedNodes:r,missingInputs:s,dynamicNode:o,syncInputs:a}}function eoe(e,t){const{usedNodes:n,inputs:i}=t,r=Object.keys(i).map(e=>nse(e)[0]).map(t=>e.nodes[t]),s=e.initNodes||[],o=e=>n.has("string"==typeof e?e:e.name);function a(e){return[...new Map(e.map(e=>[e.name,e])).values()]}const l=a([...r,...e.weights,...s]).filter(o),u=a([...l,...Object.values(e.nodes)]).filter(o),c=new Map(u.map(e=>[e.name,e])),d={};for(const e of u){d[e.name]=d[e.name]||0;for(const t of e.children)o(t)||(d[t.name]=Number.POSITIVE_INFINITY),d[t.name]=(d[t.name]||0)+1}const h=Object.entries(d).filter(([,e])=>0===e).map(([e])=>e),p=[...h];for(;h.length>0;){const e=h.pop(),t=c.get(e);for(const e of t.children.filter(o))0===--d[e.name]&&(p.push(e.name),h.push(e.name))}const f=function(e,t){const n=new Map(e.map(e=>[e.name,e])),i=t.map(e=>e.name),r=new Set(i);for(;i.length>0;){const e=i.pop(),t=n.get(e);for(const e of t.children)n.has(e.name)&&!r.has(e.name)&&(r.add(e.name),i.push(e.name))}const s=e.filter(e=>r.has(e.name));return s}(p.map(e=>c.get(e)),l);return function(e,t){const n=new Map(e.map((e,t)=>[e.name,t])),i=new Set(t.map(e=>e.name)),r=e=>i.has("string"==typeof e?e:e.name),s=new Set(e.map(e=>e.name)),o=e=>s.has("string"==typeof e?e:e.name);for(const t of e){for(const e of t.children.filter(o)){if(!n.has(e.name))throw new toe(`Child ${e.name} of node ${t.name} is unreachable.`);if(n.get(t.name)>n.get(e.name))throw new toe(`Node ${t.name} is scheduled to run after its child ${e.name}.`)}if(!r(t))for(const e of t.inputs){if(!n.has(e.name))throw new toe(`Input ${e.name} of node ${t.name} is unreachable.`);if(n.get(e.name)>n.get(t.name))throw new toe(`Node ${t.name} is scheduled to run before its input ${e.name}.`)}}}(f,l),f}class toe extends Error{constructor(e){super(`NodesExecutionOrderError: ${e}`)}}const noe=new Set(["Switch","Merge","Enter","Exit","NextIteration","StatelessIf","StatelessWhile","if","While"]),ioe=new Set(["NonMaxSuppressionV2","NonMaxSuppressionV3","NonMaxSuppressionV5","Where"]),roe=new Set(["HashTable","HashTableV2","LookupTableImport","LookupTableImportV2","LookupTableFind","LookupTableFindV2","LookupTableSize","LookupTableSizeV2"]);function soe(e){return noe.has(e.op)}function ooe(e){return ioe.has(e.op)}function aoe(e){return roe.has(e.op)} +function soe(e,t,n,i){const r=new Set,s=[];let o=null,a=null;const l=new Set,u=new Set(Object.keys(e).map(e=>lse(e)[0]));i=i||[];const c=new Set(i.map(e=>lse(e.name)[0])),d=[...t];for(;d.length>0;){const e=d.pop();(doe(e)||hoe(e)||poe(e))&&null==o&&(o=e,a=o.children.map(e=>e.name).filter(e=>r.has(e))),r.add(e.name),null==n[e.name]&&(u.has(e.name)||c.has(e.name)||(0!==e.inputs.length?e.inputs.forEach(e=>{l.has(e.name)||(l.add(e.name),d.push(e))}):s.push(e.name)))}return{inputs:e,outputs:t,usedNodes:r,missingInputs:s,dynamicNode:o,syncInputs:a}}function ooe(e,t){const{usedNodes:n,inputs:i}=t,r=Object.keys(i).map(e=>lse(e)[0]).map(t=>e.nodes[t]),s=e.initNodes||[],o=e=>n.has("string"==typeof e?e:e.name);function a(e){return[...new Map(e.map(e=>[e.name,e])).values()]}const l=a([...r,...e.weights,...s]).filter(o),u=a([...l,...Object.values(e.nodes)]).filter(o),c=new Map(u.map(e=>[e.name,e])),d={};for(const e of u){d[e.name]=d[e.name]||0;for(const t of e.children)o(t)||(d[t.name]=Number.POSITIVE_INFINITY),d[t.name]=(d[t.name]||0)+1}const h=Object.entries(d).filter(([,e])=>0===e).map(([e])=>e),p=[...h];for(;h.length>0;){const e=h.pop(),t=c.get(e);for(const e of t.children.filter(o))0===--d[e.name]&&(p.push(e.name),h.push(e.name))}const f=function(e,t){const n=new Map(e.map(e=>[e.name,e])),i=t.map(e=>e.name),r=new Set(i);for(;i.length>0;){const e=i.pop(),t=n.get(e);for(const e of t.children)n.has(e.name)&&!r.has(e.name)&&(r.add(e.name),i.push(e.name))}const s=e.filter(e=>r.has(e.name));return s}(p.map(e=>c.get(e)),l);return function(e,t){const n=new Map(e.map((e,t)=>[e.name,t])),i=new Set(t.map(e=>e.name)),r=e=>i.has("string"==typeof e?e:e.name),s=new Set(e.map(e=>e.name)),o=e=>s.has("string"==typeof e?e:e.name);for(const t of e){for(const e of t.children.filter(o)){if(!n.has(e.name))throw new aoe(`Child ${e.name} of node ${t.name} is unreachable.`);if(n.get(t.name)>n.get(e.name))throw new aoe(`Node ${t.name} is scheduled to run after its child ${e.name}.`)}if(!r(t))for(const e of t.inputs){if(!n.has(e.name))throw new aoe(`Input ${e.name} of node ${t.name} is unreachable.`);if(n.get(e.name)>n.get(t.name))throw new aoe(`Node ${t.name} is scheduled to run before its input ${e.name}.`)}}}(f,l),f}class aoe extends Error{constructor(e){super(`NodesExecutionOrderError: ${e}`)}}const loe=new Set(["Switch","Merge","Enter","Exit","NextIteration","StatelessIf","StatelessWhile","if","While"]),uoe=new Set(["NonMaxSuppressionV2","NonMaxSuppressionV3","NonMaxSuppressionV5","Where"]),coe=new Set(["HashTable","HashTableV2","LookupTableImport","LookupTableImportV2","LookupTableFind","LookupTableFindV2","LookupTableSize","LookupTableSizeV2"]);function doe(e){return loe.has(e.op)}function hoe(e){return uoe.has(e.op)}function poe(e){return coe.has(e.op)} /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -11845,7 +11845,7 @@ function Jse(e,t,n,i){const r=new Set,s=[];let o=null,a=null;const l=new Set,u=n * limitations under the License. * ============================================================================= */ -class loe{get weightIds(){return this.parent?this.parent.weightIds:this._weightIds}get functionExecutorMap(){return this.parent?this.parent.functionExecutorMap:this._functionExecutorMap}get weightMap(){return this.parent?this.parent.weightMap:this._weightMap}set weightMap(e){const t=Object.keys(e).map(t=>e[t].map(e=>e.id));this._weightIds=[].concat(...t),this._weightMap=e}set resourceManager(e){this._resourceManager=e}get inputs(){return this._inputs.map(e=>({name:e.name,shape:e.attrParams.shape?e.attrParams.shape.value:void 0,dtype:e.attrParams.dtype?e.attrParams.dtype.value:void 0}))}get outputs(){return this._outputs.map(e=>({name:e.name,shape:e.attrParams.shape?e.attrParams.shape.value:void 0,dtype:e.attrParams.dtype?e.attrParams.dtype.value:void 0}))}get inputNodes(){return this._inputs.map(e=>e.signatureKey||e.name)}get outputNodes(){return this._outputs.map(e=>{const t=e.signatureKey||e.name;return e.defaultOutput?`${t}:${e.defaultOutput}`:t})}get functions(){return Object.keys(this._functions).reduce((e,t)=>(e[t]=this._functions[t].signature,e),{})}constructor(e,t){this.graph=e,this.parent=t,this.compiledMap=new Map,this.parseNodeNameCache=new Map,this._weightMap={},this.SEPARATOR=",",this._functions={},this._functionExecutorMap={},this.keepIntermediateTensors=!1,this._outputs=e.outputs,this._inputs=e.inputs,this._initNodes=e.initNodes,this._signature=e.signature,this._functions=e.functions,null!=e.functions&&Object.keys(e.functions).forEach(t=>{this._functionExecutorMap[t]=new loe(e.functions[t],this)})}getCompilationKey(e,t){const n=e.map(e=>e.name).sort(),i=t.map(e=>e.name).sort();return n.join(this.SEPARATOR)+"--"+i.join(this.SEPARATOR)}compile(e,t){const n=Jse(e,t,this.weightMap,this._initNodes),{missingInputs:i,dynamicNode:r,syncInputs:s}=n;if(null!=r)throw new Error(`This execution contains the node '${r.name}', which has the dynamic op '${r.op}'. Please use model.executeAsync() instead. Alternatively, to avoid the dynamic ops, specify the inputs [${s}]`);if(i.length>0){const n=t.map(e=>e.name),r=Object.keys(e);throw new Error(`Cannot compute the outputs [${n}] from the provided inputs [${r}]. Missing the following inputs: [${i}]`)}const o=eoe(this.graph,n),a=function(e){const t=new Map(e.map((e,t)=>[e.name,t])),n=Number.MAX_SAFE_INTEGER,i=e.map((e,t)=>soe(e)?n:t),r=e=>{const n=i[t.get(e.name)];return null==n?-1:n},s=e.map((e,t)=>e.children.map(r).reduce((e,t)=>Math.max(e,t),i[t])),o=new Map;for(let t=0;tthis.cloneAndKeepTensor(e))}cloneTensorMap(e){return Object.fromEntries(Object.entries(e).map(([e,t])=>[e,this.cloneTensorList(t)]))}execute(e,t){this.disposeIntermediateTensors(),e=this.mapInputs(e);const n=Object.keys(e).sort();this.checkInputs(e),this.checkInputShapeAndType(e),t=this.mapOutputs(t),this.checkOutputs(t);const i=n.map(e=>this.graph.nodes[nse(e)[0]]),r=t.map(e=>nse(e)[0]),s=new Set(r);let o=r.map(e=>this.graph.nodes[e]);0===o.length&&(o=this._outputs);const a=this.getCompilationKey(i,o);let l=this.compiledMap.get(a);null==l&&(l=this.compile(e,o),this.compiledMap.set(a,l));try{this.keepIntermediateTensors=(0,p3.env)().getBool("KEEP_INTERMEDIATE_TENSORS")}catch(e){this.keepIntermediateTensors=!1,console.warn(e.message)}const u={},c={};return(0,p3.tidy)(()=>{const n=new Qse(this.weightMap,u,c,this.functionExecutorMap,this.parseNodeNameCache),i=Object.assign({},this.weightMap);this.keepIntermediateTensors&&(this.clonedTensorsMap=this.cloneTensorMap(this.weightMap)),Object.keys(e).forEach(t=>{const[r,s]=nse(t,n),o=[];o[s]=e[t],i[r]=o,this.keepIntermediateTensors&&(this.clonedTensorsMap[r]=this.cloneTensorList(o))});const r=this.getFrozenTensorIds(i),{orderedNodes:o,nodeLiveUntilMap:a}=l;for(const e of o){if(i[e.name])continue;const t=Zse(e,i,n,this._resourceManager);if(p3.util.isPromise(t))throw new Error(`The execution of the op '${e.op}' returned a promise. Please use model.executeAsync() instead.`);i[e.name]=t,this.keepIntermediateTensors&&(this.clonedTensorsMap[e.name]=this.cloneTensorList(t)),this.checkTensorForDisposalWithNodeLiveUntilInfo(e,i,n,r,s,a.get(e.name))}return null==this.parent&&n.dispose(r),t.map(e=>Qre(e,i,n))})}getFrozenTensorIds(e){const t=[].concat.apply([],Object.keys(e).map(t=>e[t]).map(e=>e.map(e=>e.id)));return new Set(t)}checkTensorForDisposal(e,t,n,i,r,s,o){if(!soe(t)&&!s.has(e)){for(const i of n[e])null!=i&&(o[i.id]=(o[i.id]||0)+t.children.length);for(const e of t.inputs){if(soe(e))continue;const t=Jre(e.name,n,i);if(null!=t)for(const e of t){if(!e||e.kept||r.has(e.id))continue;const t=o[e.id];1===t?(e.dispose(),delete o[e.id]):null!=t&&o[e.id]--}}}}checkTensorForDisposalWithNodeLiveUntilInfo(e,t,n,i,r,s){function o(e){return soe(e)||r.has(e.name)}if(!soe(e)&&null!=s)for(const e of s){if(o(e))continue;const r=Jre(e.name,t,n);for(const e of r)!e||e.kept||i.has(e.id)||e.dispose()}}async executeAsync(e,t){return this._executeAsync(e,t)}disposeIntermediateTensors(){this.clonedTensorsMap&&(Object.values(this.clonedTensorsMap).forEach(e=>{for(const t of e)t&&!t.isDisposed&&t.dispose()}),this.clonedTensorsMap=null)}getIntermediateTensors(){return this.clonedTensorsMap}async _executeAsync(e,t,n=!1,i={},r={}){this.disposeIntermediateTensors(),n||(e=this.mapInputs(e),this.checkInputs(e),this.checkInputShapeAndType(e),t=this.mapOutputs(t),this.checkOutputs(t));try{this.keepIntermediateTensors=(0,p3.env)().getBool("KEEP_INTERMEDIATE_TENSORS")}catch(e){this.keepIntermediateTensors=!1,console.warn(e.message)}const s=new Qse(this.weightMap,i,r,this.functionExecutorMap,this.parseNodeNameCache);this.keepIntermediateTensors&&(this.clonedTensorsMap=this.cloneTensorMap(this.weightMap));const o=await this.executeWithControlFlow(e,s,t,n),a=t.map(e=>Qre(e,o,s)),l=a.map(e=>e.id),u=Object.keys(e).map(t=>e[t].id),c=new Set([...l,...u,...this.weightIds]);return Object.values(o).forEach(e=>{e.forEach(e=>{!e||e.isDisposed||c.has(e.id)||e.dispose()})}),null==this.parent&&s.dispose(c),a}async executeFunctionAsync(e,t,n){const i=e.reduce((e,t,n)=>(e[this.inputs[n].name]=t,e),{});return this._executeAsync(i,this.outputNodes,!0,t,n)}async executeWithControlFlow(e,t,n,i){const r=Object.keys(e),s=r.map(e=>this.graph.nodes[nse(e)[0]]),o=n.map(e=>nse(e)[0]),a=new Set(o);let l=o.map(e=>this.graph.nodes[e]);0===l.length&&(l=this._outputs);const{usedNodes:u,missingInputs:c,dynamicNode:d,syncInputs:h}=Jse(e,l,this.weightMap,this._initNodes),p=[...s,...this.graph.weights,...this._initNodes||[]].map(e=>({node:e,contexts:t.currentContext})),f=Object.assign({},this.weightMap);Object.keys(e).forEach(t=>{const[n,i]=nse(t),r=[];r[i]=e[t],f[n]=r});const m={},g=this.getFrozenTensorIds(f),_={};for(;p.length>0;){const e=this.processStack(s,p,t,f,_,g,a,m,u);await Promise.all(e)}null!=d||i||console.warn("This model execution did not contain any nodes with control flow or dynamic output shapes. You can use model.execute() instead.");const y=l.filter(e=>!soe(e)&&!Qre(e.name,f,t)).map(e=>e.name);if(y.length>0){let e="";throw null!=d&&(e=`Alternatively, to avoid the dynamic ops, use model.execute() and specify the inputs [${h}]`),new Error(`Cannot compute the outputs [${y}] from the provided inputs [${r}]. Consider providing the following inputs: [${c}]. ${e}`)}return f}processStack(e,t,n,i,r,s,o,a,l){const u=[];for(;t.length>0;){const e=t.pop();n.currentContext=e.contexts;let c="";if("Enter"===e.node.op&&Zre("isConstant",e.node,i,n)&&([c]=ese(e.node.name,n)),null==i[e.node.name]){const d=Zse(e.node,i,n,this._resourceManager);c||([c]=ese(e.node.name,n));const h=n.currentContext;p3.util.isPromise(d)?u.push(d.then(u=>(i[c]=u,this.keepIntermediateTensors&&(this.clonedTensorsMap[c]=this.cloneTensorList(u)),n.currentContext=h,this.checkTensorForDisposal(c,e.node,i,n,s,o,a),this.processChildNodes(e.node,t,n,i,r,l),u))):(i[c]=d,this.keepIntermediateTensors&&(this.clonedTensorsMap[c]=this.cloneTensorList(d)),this.checkTensorForDisposal(c,e.node,i,n,s,o,a),this.processChildNodes(e.node,t,n,i,r,l))}else this.processChildNodes(e.node,t,n,i,r,l)}return u}processChildNodes(e,t,n,i,r,s){e.children.forEach(e=>{const[o]=ese(e.name,n);!r[o]&&s.has(e.name)&&("Merge"===e.op?e.inputNames.some(e=>!!Qre(e,i,n))&&(r[o]=!0,t.push({contexts:n.currentContext,node:e})):e.inputNames.every(e=>!!Qre(e,i,n))&&(r[o]=!0,t.push({contexts:n.currentContext,node:e})))})}dispose(){Object.keys(this.weightMap).forEach(e=>this.weightMap[e].forEach(e=>e.dispose()))}checkInputShapeAndType(e){Object.keys(e).forEach(t=>{const n=e[t],[i]=nse(t),r=this.graph.nodes[i];if(r.attrParams.shape&&r.attrParams.shape.value){const e=r.attrParams.shape.value,t=e.length===n.shape.length&&n.shape.every((t,n)=>-1===e[n]||e[n]===t);p3.util.assert(t,()=>`The shape of dict['${r.name}'] provided in model.execute(dict) must be [${e}], but was [${n.shape}]`)}r.attrParams.dtype&&r.attrParams.dtype.value&&p3.util.assert(n.dtype===r.attrParams.dtype.value,()=>`The dtype of dict['${r.name}'] provided in model.execute(dict) must be ${r.attrParams.dtype.value}, but was ${n.dtype}`)})}mapInputs(e){var t,n;const i={};for(const r in e){const s=null===(n=null===(t=this._signature)||void 0===t?void 0:t.inputs)||void 0===n?void 0:n[r];null!=s?i[s.name]=e[r]:i[r]=e[r]}return i}checkInputs(e){const t=Object.keys(e).filter(e=>{const[t]=nse(e);return null==this.graph.nodes[t]});if(t.length>0)throw new Error(`The dict provided in model.execute(dict) has keys: [${t}] that are not part of graph`)}mapOutputs(e){return e.map(e=>{var t,n;const i=null===(n=null===(t=this._signature)||void 0===t?void 0:t.outputs)||void 0===n?void 0:n[e];return null!=i?i.name:e},{})}checkOutputs(e){e.forEach(e=>{const[t]=nse(e);if(!this.graph.nodes[t])throw new Error(`The output '${e}' is not found in the graph`)})}}class uoe{constructor(e={},t={}){this.hashTableNameToHandle=e,this.hashTableMap=t}addHashTable(e,t){this.hashTableNameToHandle[e]=t.handle,this.hashTableMap[t.id]=t}getHashTableHandleByName(e){return this.hashTableNameToHandle[e]}getHashTableById(e){return this.hashTableMap[e]}dispose(){for(const e in this.hashTableMap)this.hashTableMap[e].clearAndClose(),delete this.hashTableMap[e];for(const e in this.hashTableNameToHandle)this.hashTableNameToHandle[e].dispose(),delete this.hashTableNameToHandle[e]}}var coe=__webpack_require__(77084); +class foe{get weightIds(){return this.parent?this.parent.weightIds:this._weightIds}get functionExecutorMap(){return this.parent?this.parent.functionExecutorMap:this._functionExecutorMap}get weightMap(){return this.parent?this.parent.weightMap:this._weightMap}set weightMap(e){const t=Object.keys(e).map(t=>e[t].map(e=>e.id));this._weightIds=[].concat(...t),this._weightMap=e}set resourceManager(e){this._resourceManager=e}get inputs(){return this._inputs.map(e=>({name:e.name,shape:e.attrParams.shape?e.attrParams.shape.value:void 0,dtype:e.attrParams.dtype?e.attrParams.dtype.value:void 0}))}get outputs(){return this._outputs.map(e=>({name:e.name,shape:e.attrParams.shape?e.attrParams.shape.value:void 0,dtype:e.attrParams.dtype?e.attrParams.dtype.value:void 0}))}get inputNodes(){return this._inputs.map(e=>e.signatureKey||e.name)}get outputNodes(){return this._outputs.map(e=>{const t=e.signatureKey||e.name;return e.defaultOutput?`${t}:${e.defaultOutput}`:t})}get functions(){return Object.keys(this._functions).reduce((e,t)=>(e[t]=this._functions[t].signature,e),{})}constructor(e,t){this.graph=e,this.parent=t,this.compiledMap=new Map,this.parseNodeNameCache=new Map,this._weightMap={},this.SEPARATOR=",",this._functions={},this._functionExecutorMap={},this.keepIntermediateTensors=!1,this._outputs=e.outputs,this._inputs=e.inputs,this._initNodes=e.initNodes,this._signature=e.signature,this._functions=e.functions,null!=e.functions&&Object.keys(e.functions).forEach(t=>{this._functionExecutorMap[t]=new foe(e.functions[t],this)})}getCompilationKey(e,t){const n=e.map(e=>e.name).sort(),i=t.map(e=>e.name).sort();return n.join(this.SEPARATOR)+"--"+i.join(this.SEPARATOR)}compile(e,t){const n=soe(e,t,this.weightMap,this._initNodes),{missingInputs:i,dynamicNode:r,syncInputs:s}=n;if(null!=r)throw new Error(`This execution contains the node '${r.name}', which has the dynamic op '${r.op}'. Please use model.executeAsync() instead. Alternatively, to avoid the dynamic ops, specify the inputs [${s}]`);if(i.length>0){const n=t.map(e=>e.name),r=Object.keys(e);throw new Error(`Cannot compute the outputs [${n}] from the provided inputs [${r}]. Missing the following inputs: [${i}]`)}const o=ooe(this.graph,n),a=function(e){const t=new Map(e.map((e,t)=>[e.name,t])),n=Number.MAX_SAFE_INTEGER,i=e.map((e,t)=>doe(e)?n:t),r=e=>{const n=i[t.get(e.name)];return null==n?-1:n},s=e.map((e,t)=>e.children.map(r).reduce((e,t)=>Math.max(e,t),i[t])),o=new Map;for(let t=0;tthis.cloneAndKeepTensor(e))}cloneTensorMap(e){return Object.fromEntries(Object.entries(e).map(([e,t])=>[e,this.cloneTensorList(t)]))}execute(e,t){this.disposeIntermediateTensors(),e=this.mapInputs(e);const n=Object.keys(e).sort();this.checkInputs(e),this.checkInputShapeAndType(e),t=this.mapOutputs(t),this.checkOutputs(t);const i=n.map(e=>this.graph.nodes[lse(e)[0]]),r=t.map(e=>lse(e)[0]),s=new Set(r);let o=r.map(e=>this.graph.nodes[e]);0===o.length&&(o=this._outputs);const a=this.getCompilationKey(i,o);let l=this.compiledMap.get(a);null==l&&(l=this.compile(e,o),this.compiledMap.set(a,l));try{this.keepIntermediateTensors=(0,v3.env)().getBool("KEEP_INTERMEDIATE_TENSORS")}catch(e){this.keepIntermediateTensors=!1,console.warn(e.message)}const u={},c={};return(0,v3.tidy)(()=>{const n=new roe(this.weightMap,u,c,this.functionExecutorMap,this.parseNodeNameCache),i=Object.assign({},this.weightMap);this.keepIntermediateTensors&&(this.clonedTensorsMap=this.cloneTensorMap(this.weightMap)),Object.keys(e).forEach(t=>{const[r,s]=lse(t,n),o=[];o[s]=e[t],i[r]=o,this.keepIntermediateTensors&&(this.clonedTensorsMap[r]=this.cloneTensorList(o))});const r=this.getFrozenTensorIds(i),{orderedNodes:o,nodeLiveUntilMap:a}=l;for(const e of o){if(i[e.name])continue;const t=ioe(e,i,n,this._resourceManager);if(v3.util.isPromise(t))throw new Error(`The execution of the op '${e.op}' returned a promise. Please use model.executeAsync() instead.`);i[e.name]=t,this.keepIntermediateTensors&&(this.clonedTensorsMap[e.name]=this.cloneTensorList(t)),this.checkTensorForDisposalWithNodeLiveUntilInfo(e,i,n,r,s,a.get(e.name))}return null==this.parent&&n.dispose(r),t.map(e=>rse(e,i,n))})}getFrozenTensorIds(e){const t=[].concat.apply([],Object.keys(e).map(t=>e[t]).map(e=>e.map(e=>e.id)));return new Set(t)}checkTensorForDisposal(e,t,n,i,r,s,o){if(!doe(t)&&!s.has(e)){for(const i of n[e])null!=i&&(o[i.id]=(o[i.id]||0)+t.children.length);for(const e of t.inputs){if(doe(e))continue;const t=sse(e.name,n,i);if(null!=t)for(const e of t){if(!e||e.kept||r.has(e.id))continue;const t=o[e.id];1===t?(e.dispose(),delete o[e.id]):null!=t&&o[e.id]--}}}}checkTensorForDisposalWithNodeLiveUntilInfo(e,t,n,i,r,s){function o(e){return doe(e)||r.has(e.name)}if(!doe(e)&&null!=s)for(const e of s){if(o(e))continue;const r=sse(e.name,t,n);for(const e of r)!e||e.kept||i.has(e.id)||e.dispose()}}async executeAsync(e,t){return this._executeAsync(e,t)}disposeIntermediateTensors(){this.clonedTensorsMap&&(Object.values(this.clonedTensorsMap).forEach(e=>{for(const t of e)t&&!t.isDisposed&&t.dispose()}),this.clonedTensorsMap=null)}getIntermediateTensors(){return this.clonedTensorsMap}async _executeAsync(e,t,n=!1,i={},r={}){this.disposeIntermediateTensors(),n||(e=this.mapInputs(e),this.checkInputs(e),this.checkInputShapeAndType(e),t=this.mapOutputs(t),this.checkOutputs(t));try{this.keepIntermediateTensors=(0,v3.env)().getBool("KEEP_INTERMEDIATE_TENSORS")}catch(e){this.keepIntermediateTensors=!1,console.warn(e.message)}const s=new roe(this.weightMap,i,r,this.functionExecutorMap,this.parseNodeNameCache);this.keepIntermediateTensors&&(this.clonedTensorsMap=this.cloneTensorMap(this.weightMap));const o=await this.executeWithControlFlow(e,s,t,n),a=t.map(e=>rse(e,o,s)),l=a.map(e=>e.id),u=Object.keys(e).map(t=>e[t].id),c=new Set([...l,...u,...this.weightIds]);return Object.values(o).forEach(e=>{e.forEach(e=>{!e||e.isDisposed||c.has(e.id)||e.dispose()})}),null==this.parent&&s.dispose(c),a}async executeFunctionAsync(e,t,n){const i=e.reduce((e,t,n)=>(e[this.inputs[n].name]=t,e),{});return this._executeAsync(i,this.outputNodes,!0,t,n)}async executeWithControlFlow(e,t,n,i){const r=Object.keys(e),s=r.map(e=>this.graph.nodes[lse(e)[0]]),o=n.map(e=>lse(e)[0]),a=new Set(o);let l=o.map(e=>this.graph.nodes[e]);0===l.length&&(l=this._outputs);const{usedNodes:u,missingInputs:c,dynamicNode:d,syncInputs:h}=soe(e,l,this.weightMap,this._initNodes),p=[...s,...this.graph.weights,...this._initNodes||[]].map(e=>({node:e,contexts:t.currentContext})),f=Object.assign({},this.weightMap);Object.keys(e).forEach(t=>{const[n,i]=lse(t),r=[];r[i]=e[t],f[n]=r});const m={},g=this.getFrozenTensorIds(f),_={};for(;p.length>0;){const e=this.processStack(s,p,t,f,_,g,a,m,u);await Promise.all(e)}null!=d||i||console.warn("This model execution did not contain any nodes with control flow or dynamic output shapes. You can use model.execute() instead.");const y=l.filter(e=>!doe(e)&&!rse(e.name,f,t)).map(e=>e.name);if(y.length>0){let e="";throw null!=d&&(e=`Alternatively, to avoid the dynamic ops, use model.execute() and specify the inputs [${h}]`),new Error(`Cannot compute the outputs [${y}] from the provided inputs [${r}]. Consider providing the following inputs: [${c}]. ${e}`)}return f}processStack(e,t,n,i,r,s,o,a,l){const u=[];for(;t.length>0;){const e=t.pop();n.currentContext=e.contexts;let c="";if("Enter"===e.node.op&&ise("isConstant",e.node,i,n)&&([c]=ose(e.node.name,n)),null==i[e.node.name]){const d=ioe(e.node,i,n,this._resourceManager);c||([c]=ose(e.node.name,n));const h=n.currentContext;v3.util.isPromise(d)?u.push(d.then(u=>(i[c]=u,this.keepIntermediateTensors&&(this.clonedTensorsMap[c]=this.cloneTensorList(u)),n.currentContext=h,this.checkTensorForDisposal(c,e.node,i,n,s,o,a),this.processChildNodes(e.node,t,n,i,r,l),u))):(i[c]=d,this.keepIntermediateTensors&&(this.clonedTensorsMap[c]=this.cloneTensorList(d)),this.checkTensorForDisposal(c,e.node,i,n,s,o,a),this.processChildNodes(e.node,t,n,i,r,l))}else this.processChildNodes(e.node,t,n,i,r,l)}return u}processChildNodes(e,t,n,i,r,s){e.children.forEach(e=>{const[o]=ose(e.name,n);!r[o]&&s.has(e.name)&&("Merge"===e.op?e.inputNames.some(e=>!!rse(e,i,n))&&(r[o]=!0,t.push({contexts:n.currentContext,node:e})):e.inputNames.every(e=>!!rse(e,i,n))&&(r[o]=!0,t.push({contexts:n.currentContext,node:e})))})}dispose(){Object.keys(this.weightMap).forEach(e=>this.weightMap[e].forEach(e=>e.dispose()))}checkInputShapeAndType(e){Object.keys(e).forEach(t=>{const n=e[t],[i]=lse(t),r=this.graph.nodes[i];if(r.attrParams.shape&&r.attrParams.shape.value){const e=r.attrParams.shape.value,t=e.length===n.shape.length&&n.shape.every((t,n)=>-1===e[n]||e[n]===t);v3.util.assert(t,()=>`The shape of dict['${r.name}'] provided in model.execute(dict) must be [${e}], but was [${n.shape}]`)}r.attrParams.dtype&&r.attrParams.dtype.value&&v3.util.assert(n.dtype===r.attrParams.dtype.value,()=>`The dtype of dict['${r.name}'] provided in model.execute(dict) must be ${r.attrParams.dtype.value}, but was ${n.dtype}`)})}mapInputs(e){var t,n;const i={};for(const r in e){const s=null===(n=null===(t=this._signature)||void 0===t?void 0:t.inputs)||void 0===n?void 0:n[r];null!=s?i[s.name]=e[r]:i[r]=e[r]}return i}checkInputs(e){const t=Object.keys(e).filter(e=>{const[t]=lse(e);return null==this.graph.nodes[t]});if(t.length>0)throw new Error(`The dict provided in model.execute(dict) has keys: [${t}] that are not part of graph`)}mapOutputs(e){return e.map(e=>{var t,n;const i=null===(n=null===(t=this._signature)||void 0===t?void 0:t.outputs)||void 0===n?void 0:n[e];return null!=i?i.name:e},{})}checkOutputs(e){e.forEach(e=>{const[t]=lse(e);if(!this.graph.nodes[t])throw new Error(`The output '${e}' is not found in the graph`)})}}class moe{constructor(e={},t={}){this.hashTableNameToHandle=e,this.hashTableMap=t}addHashTable(e,t){this.hashTableNameToHandle[e]=t.handle,this.hashTableMap[t.id]=t}getHashTableHandleByName(e){return this.hashTableNameToHandle[e]}getHashTableById(e){return this.hashTableMap[e]}dispose(){for(const e in this.hashTableMap)this.hashTableMap[e].clearAndClose(),delete this.hashTableMap[e];for(const e in this.hashTableNameToHandle)this.hashTableNameToHandle[e].dispose(),delete this.hashTableNameToHandle[e]}}var goe=__webpack_require__(77084); /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -11862,9 +11862,9 @@ class loe{get weightIds(){return this.parent?this.parent.weightIds:this._weightI * limitations under the License. * ============================================================================= */ -const doe="?tfjs-format=file",hoe="model.json";class poe{get modelVersion(){return this.version}get inputNodes(){return this.executor.inputNodes}get outputNodes(){return this.executor.outputNodes}get inputs(){return this.executor.inputs}get outputs(){return this.executor.outputs}get weights(){return this.executor.weightMap}get metadata(){return this.artifacts.userDefinedMetadata}get modelSignature(){return this.signature}get modelStructuredOutputKeys(){return this.structuredOutputKeys}constructor(e,t={},n=p3.io){this.modelUrl=e,this.loadOptions=t,this.version="n/a",this.io=n,null==t&&(this.loadOptions={}),this.resourceManager=new uoe}findIOHandler(){const e=this.modelUrl;if(null!=e.load)this.handler=e;else if(null!=this.loadOptions.requestInit)this.handler=this.io.browserHTTPRequest(e,this.loadOptions);else{const t=this.io.getLoadHandlers(e,this.loadOptions);if(0===t.length)t.push(this.io.browserHTTPRequest(e,this.loadOptions));else if(t.length>1)throw new Error(`Found more than one (${t.length}) load handlers for URL '${[e]}'`);this.handler=t[0]}}load(){if(this.findIOHandler(),null==this.handler.load)throw new Error("Cannot proceed with model loading because the IOHandler provided does not have the `load` method implemented.");const e=this.handler.load();return p3.util.isPromise(e)?e.then(e=>null==e.getWeightStream?this.loadSync(e):this.loadStreaming(e)):this.loadSync(e)}loadSync(e){const t=this.io.decodeWeights(e.weightData,e.weightSpecs);return this.loadWithWeightMap(e,t)}async loadStreaming(e){if(null==e.getWeightStream)throw new Error("Model artifacts missing streamWeights function");const t=await(0,coe.s5)(e.getWeightStream(),e.weightSpecs);return this.loadWithWeightMap(e,t)}loadWithWeightMap(e,t){this.artifacts=e;const n=this.artifacts.modelTopology;let i=this.artifacts.signature;if(null!=this.artifacts.userDefinedMetadata){const e=this.artifacts.userDefinedMetadata;null!=e.signature&&(i=e.signature),null!=e.structuredOutputKeys&&(this.structuredOutputKeys=e.structuredOutputKeys)}if(this.signature=i,this.version=`${n.versions.producer}.${n.versions.minConsumer}`,this.executor=new loe(wse.Instance.transformGraph(n,this.signature)),this.executor.weightMap=this.convertTensorMapToTensorsMap(t),this.executor.resourceManager=this.resourceManager,null!=e.modelInitializer&&null!=e.modelInitializer.node){const t=wse.Instance.transformGraph(e.modelInitializer);this.initializer=new loe(t),this.initializer.weightMap=this.executor.weightMap,this.initializer.resourceManager=this.resourceManager,this.initializerSignature=e.initializerSignature}return!0}async save(e,t){if("string"==typeof e){const t=this.io.getSaveHandlers(e);if(0===t.length)throw new Error(`Cannot find any save handlers for URL '${e}'`);if(t.length>1)throw new Error(`Found more than one (${t.length}) save handlers for URL '${e}'`);e=t[0]}if(null==e.save)throw new Error("GraphModel.save() cannot proceed because the IOHandler provided does not have the `save` attribute defined.");return e.save(this.artifacts)}addStructuredOutputNames(e){if(this.structuredOutputKeys){const t=e instanceof p3.Tensor?[e]:e,n={};return t.forEach((e,t)=>n[this.structuredOutputKeys[t]]=e),n}return e}predict(e,t){const n=this.execute(e,this.outputNodes);return this.addStructuredOutputNames(n)}async predictAsync(e,t){const n=await this.executeAsync(e,this.outputNodes);return this.addStructuredOutputNames(n)}normalizeInputs(e){var t;if(!(e instanceof p3.Tensor||Array.isArray(e))){const n=null===(t=this.signature)||void 0===t?void 0:t.inputs;if(null!=n)for(const t in n){const i=n[t];null!=i.resourceId&&(e[t]=this.resourceIdToCapturedInput[i.resourceId])}return e}e=Array.isArray(e)?e:[e];const n=Object.keys(this.resourceIdToCapturedInput).length;if(e.length+n!==this.inputNodes.length)throw new Error(`Input tensor count mismatch, the graph model has ${this.inputNodes.length-n} non-resource placeholders, while there are ${e.length} input tensors provided.`);let i=0;return this.inputNodes.reduce((t,n)=>{var r,s,o;const a=null===(o=null===(s=null===(r=this.signature)||void 0===r?void 0:r.inputs)||void 0===s?void 0:s[n])||void 0===o?void 0:o.resourceId;return t[n]=null!=a?this.resourceIdToCapturedInput[a]:e[i++],t},{})}normalizeOutputs(e){return e=e||this.outputNodes,Array.isArray(e)?e:[e]}executeInitializerGraph(){return null==this.initializer?[]:null==this.initializerSignature?this.initializer.execute({},[]):this.initializer.execute({},Object.keys(this.initializerSignature.outputs))}async executeInitializerGraphAsync(){return null==this.initializer?[]:null==this.initializerSignature?this.initializer.executeAsync({},[]):this.initializer.executeAsync({},Object.keys(this.initializerSignature.outputs))}setResourceIdToCapturedInput(e){if(this.resourceIdToCapturedInput={},this.initializerSignature){const t=this.initializerSignature.outputs,n=Object.keys(t);for(let i=0;i1?n:n[0]}async executeAsync(e,t){null==this.resourceIdToCapturedInput&&this.setResourceIdToCapturedInput(await this.executeInitializerGraphAsync()),e=this.normalizeInputs(e),t=this.normalizeOutputs(t);const n=await this.executor.executeAsync(e,t);return n.length>1?n:n[0]}getIntermediateTensors(){return this.executor.getIntermediateTensors()}disposeIntermediateTensors(){this.executor.disposeIntermediateTensors()}convertTensorMapToTensorsMap(e){return Object.keys(e).reduce((t,n)=>(t[n]=[e[n]],t),{})}dispose(){this.executor.dispose(),this.initializer&&(this.initializer.dispose(),this.resourceIdToCapturedInput&&(0,p3.dispose)(this.resourceIdToCapturedInput)),this.resourceManager.dispose()}}async function foe(e,t={},n=p3.io){if(null==e)throw new Error("modelUrl in loadGraphModel() cannot be null. Please provide a url or an IOHandler that loads the model");null==t&&(t={}),t.fromTFHub&&"string"==typeof e&&(e=function(e){e.endsWith("/")||(e+="/");return`${e}${hoe}${doe}`}(e));const i=new poe(e,t,n);return await i.load(),i}function moe(e){if(null==e)throw new Error("modelUrl in loadGraphModelSync() cannot be null. Please provide model artifacts or an IOHandler that loads the model");let t;if(e instanceof Array){const[n,i]=e;if(!n)throw new Error("modelJSON must be the first element of the array");if(!(i&&i instanceof ArrayBuffer))throw new Error("An ArrayBuffer of weights must be the second element of the array");if(!("modelTopology"in n))throw new Error("Model JSON is missing 'modelTopology'");if(!("weightsManifest"in n))throw new Error("Model JSON is missing 'weightsManifest'");const r=p3.io.getWeightSpecs(n.weightsManifest),s=p3.io.getModelArtifactsForJSONSync(n,r,i);t=p3.io.fromMemorySync(s)}else if("load"in e)t=e;else{if(!("modelTopology"in e&&"weightSpecs"in e&&"weightData"in e))throw new Error("Unknown model format");t=p3.io.fromMemorySync(e)}const n=new poe(t);return n.load(),n} +const _oe="?tfjs-format=file",yoe="model.json";class voe{get modelVersion(){return this.version}get inputNodes(){return this.executor.inputNodes}get outputNodes(){return this.executor.outputNodes}get inputs(){return this.executor.inputs}get outputs(){return this.executor.outputs}get weights(){return this.executor.weightMap}get metadata(){return this.artifacts.userDefinedMetadata}get modelSignature(){return this.signature}get modelStructuredOutputKeys(){return this.structuredOutputKeys}constructor(e,t={},n=v3.io){this.modelUrl=e,this.loadOptions=t,this.version="n/a",this.io=n,null==t&&(this.loadOptions={}),this.resourceManager=new moe}findIOHandler(){const e=this.modelUrl;if(null!=e.load)this.handler=e;else if(null!=this.loadOptions.requestInit)this.handler=this.io.browserHTTPRequest(e,this.loadOptions);else{const t=this.io.getLoadHandlers(e,this.loadOptions);if(0===t.length)t.push(this.io.browserHTTPRequest(e,this.loadOptions));else if(t.length>1)throw new Error(`Found more than one (${t.length}) load handlers for URL '${[e]}'`);this.handler=t[0]}}load(){if(this.findIOHandler(),null==this.handler.load)throw new Error("Cannot proceed with model loading because the IOHandler provided does not have the `load` method implemented.");const e=this.handler.load();return v3.util.isPromise(e)?e.then(e=>null==e.getWeightStream?this.loadSync(e):this.loadStreaming(e)):this.loadSync(e)}loadSync(e){const t=this.io.decodeWeights(e.weightData,e.weightSpecs);return this.loadWithWeightMap(e,t)}async loadStreaming(e){if(null==e.getWeightStream)throw new Error("Model artifacts missing streamWeights function");const t=await(0,goe.s5)(e.getWeightStream(),e.weightSpecs);return this.loadWithWeightMap(e,t)}loadWithWeightMap(e,t){this.artifacts=e;const n=this.artifacts.modelTopology;let i=this.artifacts.signature;if(null!=this.artifacts.userDefinedMetadata){const e=this.artifacts.userDefinedMetadata;null!=e.signature&&(i=e.signature),null!=e.structuredOutputKeys&&(this.structuredOutputKeys=e.structuredOutputKeys)}if(this.signature=i,this.version=`${n.versions.producer}.${n.versions.minConsumer}`,this.executor=new foe(Mse.Instance.transformGraph(n,this.signature)),this.executor.weightMap=this.convertTensorMapToTensorsMap(t),this.executor.resourceManager=this.resourceManager,null!=e.modelInitializer&&null!=e.modelInitializer.node){const t=Mse.Instance.transformGraph(e.modelInitializer);this.initializer=new foe(t),this.initializer.weightMap=this.executor.weightMap,this.initializer.resourceManager=this.resourceManager,this.initializerSignature=e.initializerSignature}return!0}async save(e,t){if("string"==typeof e){const t=this.io.getSaveHandlers(e);if(0===t.length)throw new Error(`Cannot find any save handlers for URL '${e}'`);if(t.length>1)throw new Error(`Found more than one (${t.length}) save handlers for URL '${e}'`);e=t[0]}if(null==e.save)throw new Error("GraphModel.save() cannot proceed because the IOHandler provided does not have the `save` attribute defined.");return e.save(this.artifacts)}addStructuredOutputNames(e){if(this.structuredOutputKeys){const t=e instanceof v3.Tensor?[e]:e,n={};return t.forEach((e,t)=>n[this.structuredOutputKeys[t]]=e),n}return e}predict(e,t){const n=this.execute(e,this.outputNodes);return this.addStructuredOutputNames(n)}async predictAsync(e,t){const n=await this.executeAsync(e,this.outputNodes);return this.addStructuredOutputNames(n)}normalizeInputs(e){var t;if(!(e instanceof v3.Tensor||Array.isArray(e))){const n=null===(t=this.signature)||void 0===t?void 0:t.inputs;if(null!=n)for(const t in n){const i=n[t];null!=i.resourceId&&(e[t]=this.resourceIdToCapturedInput[i.resourceId])}return e}e=Array.isArray(e)?e:[e];const n=Object.keys(this.resourceIdToCapturedInput).length;if(e.length+n!==this.inputNodes.length)throw new Error(`Input tensor count mismatch, the graph model has ${this.inputNodes.length-n} non-resource placeholders, while there are ${e.length} input tensors provided.`);let i=0;return this.inputNodes.reduce((t,n)=>{var r,s,o;const a=null===(o=null===(s=null===(r=this.signature)||void 0===r?void 0:r.inputs)||void 0===s?void 0:s[n])||void 0===o?void 0:o.resourceId;return t[n]=null!=a?this.resourceIdToCapturedInput[a]:e[i++],t},{})}normalizeOutputs(e){return e=e||this.outputNodes,Array.isArray(e)?e:[e]}executeInitializerGraph(){return null==this.initializer?[]:null==this.initializerSignature?this.initializer.execute({},[]):this.initializer.execute({},Object.keys(this.initializerSignature.outputs))}async executeInitializerGraphAsync(){return null==this.initializer?[]:null==this.initializerSignature?this.initializer.executeAsync({},[]):this.initializer.executeAsync({},Object.keys(this.initializerSignature.outputs))}setResourceIdToCapturedInput(e){if(this.resourceIdToCapturedInput={},this.initializerSignature){const t=this.initializerSignature.outputs,n=Object.keys(t);for(let i=0;i1?n:n[0]}async executeAsync(e,t){null==this.resourceIdToCapturedInput&&this.setResourceIdToCapturedInput(await this.executeInitializerGraphAsync()),e=this.normalizeInputs(e),t=this.normalizeOutputs(t);const n=await this.executor.executeAsync(e,t);return n.length>1?n:n[0]}getIntermediateTensors(){return this.executor.getIntermediateTensors()}disposeIntermediateTensors(){this.executor.disposeIntermediateTensors()}convertTensorMapToTensorsMap(e){return Object.keys(e).reduce((t,n)=>(t[n]=[e[n]],t),{})}dispose(){this.executor.dispose(),this.initializer&&(this.initializer.dispose(),this.resourceIdToCapturedInput&&(0,v3.dispose)(this.resourceIdToCapturedInput)),this.resourceManager.dispose()}}async function boe(e,t={},n=v3.io){if(null==e)throw new Error("modelUrl in loadGraphModel() cannot be null. Please provide a url or an IOHandler that loads the model");null==t&&(t={}),t.fromTFHub&&"string"==typeof e&&(e=function(e){e.endsWith("/")||(e+="/");return`${e}${yoe}${_oe}`}(e));const i=new voe(e,t,n);return await i.load(),i}function Toe(e){if(null==e)throw new Error("modelUrl in loadGraphModelSync() cannot be null. Please provide model artifacts or an IOHandler that loads the model");let t;if(e instanceof Array){const[n,i]=e;if(!n)throw new Error("modelJSON must be the first element of the array");if(!(i&&i instanceof ArrayBuffer))throw new Error("An ArrayBuffer of weights must be the second element of the array");if(!("modelTopology"in n))throw new Error("Model JSON is missing 'modelTopology'");if(!("weightsManifest"in n))throw new Error("Model JSON is missing 'weightsManifest'");const r=v3.io.getWeightSpecs(n.weightsManifest),s=v3.io.getModelArtifactsForJSONSync(n,r,i);t=v3.io.fromMemorySync(s)}else if("load"in e)t=e;else{if(!("modelTopology"in e&&"weightSpecs"in e&&"weightData"in e))throw new Error("Unknown model format");t=v3.io.fromMemorySync(e)}const n=new voe(t);return n.load(),n} /** @license See the LICENSE file. */ -const goe="4.22.0"; +const xoe="4.22.0"; /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -11881,7 +11881,7 @@ const goe="4.22.0"; * limitations under the License. * ============================================================================= */ -var _oe,yoe=__webpack_require__(7391);function voe(e,t,n=new Map,i=new Set){if(null==e)return null;if("function"==typeof Blob&&e instanceof Blob)return e.slice();if(i.has(e))throw new Error("Circular references are not supported.");if(n.has(e))return n.get(e);const r=t(e);if(r.recurse&&null!==r.value)throw new Error("A deep map function may not return both a value and recurse=true.");if(r.recurse){if(woe(e)){const r=Array.isArray(e)?[]:{};i.add(e);for(const s in e){const o=voe(e[s],t,n,i);r[s]=o}return i.delete(e),e.__proto__&&(r.__proto__=e.__proto__),r}throw new Error(`Can't recurse into non-iterable type: ${e}`)}return n.set(e,r.value),r.value}function boe(e,t=xoe){return Toe(e,t)}function Toe(e,t,n=new Set){const i=e[0];if(n.has(i))throw new Error("Circular references are not supported.");const r=t(e);if(r.recurse&&null!==r.value)throw new Error("A deep zip function may not return both a value and recurse=true.");if(r.recurse){if(woe(i)){const r=Array.isArray(i)?[]:{};n.add(i);for(const s in i){const i=Toe(e.map(e=>e[s]),t,n);r[s]=i}return n.delete(i),r}throw new Error(`Can't recurse into non-iterable type: ${i}`)}return r.value}function xoe(e){return null===e?null:woe(e[0])?{value:null,recurse:!0}:{value:e,recurse:!1}}async function Eoe(e,t){const n=new Map;voe(e,t,n);for(const e of Array.from(n.keys())){const t=n.get(e);if(p3.util.isPromise(t)){const i=await t;n.set(e,i)}}return voe(e,t,n)}function woe(e){let t=!1;if(p3.env().get("IS_BROWSER"))t=e instanceof TextDecoder;else{const{StringDecoder:n}=__webpack_require__(80551);t=e instanceof n}return null!=e&&!ArrayBuffer.isView(e)&&(Array.isArray(e)||"object"==typeof e&&!(e instanceof p3.Tensor)&&!(e instanceof Promise)&&!t)} +var Eoe,woe=__webpack_require__(7391);function Ioe(e,t,n=new Map,i=new Set){if(null==e)return null;if("function"==typeof Blob&&e instanceof Blob)return e.slice();if(i.has(e))throw new Error("Circular references are not supported.");if(n.has(e))return n.get(e);const r=t(e);if(r.recurse&&null!==r.value)throw new Error("A deep map function may not return both a value and recurse=true.");if(r.recurse){if(Moe(e)){const r=Array.isArray(e)?[]:{};i.add(e);for(const s in e){const o=Ioe(e[s],t,n,i);r[s]=o}return i.delete(e),e.__proto__&&(r.__proto__=e.__proto__),r}throw new Error(`Can't recurse into non-iterable type: ${e}`)}return n.set(e,r.value),r.value}function Aoe(e,t=Coe){return Soe(e,t)}function Soe(e,t,n=new Set){const i=e[0];if(n.has(i))throw new Error("Circular references are not supported.");const r=t(e);if(r.recurse&&null!==r.value)throw new Error("A deep zip function may not return both a value and recurse=true.");if(r.recurse){if(Moe(i)){const r=Array.isArray(i)?[]:{};n.add(i);for(const s in i){const i=Soe(e.map(e=>e[s]),t,n);r[s]=i}return n.delete(i),r}throw new Error(`Can't recurse into non-iterable type: ${i}`)}return r.value}function Coe(e){return null===e?null:Moe(e[0])?{value:null,recurse:!0}:{value:e,recurse:!1}}async function Ooe(e,t){const n=new Map;Ioe(e,t,n);for(const e of Array.from(n.keys())){const t=n.get(e);if(v3.util.isPromise(t)){const i=await t;n.set(e,i)}}return Ioe(e,t,n)}function Moe(e){let t=!1;if(v3.env().get("IS_BROWSER"))t=e instanceof TextDecoder;else{const{StringDecoder:n}=__webpack_require__(80551);t=e instanceof n}return null!=e&&!ArrayBuffer.isView(e)&&(Array.isArray(e)||"object"==typeof e&&!(e instanceof v3.Tensor)&&!(e instanceof Promise)&&!t)} /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -11899,7 +11899,7 @@ var _oe,yoe=__webpack_require__(7391);function voe(e,t,n=new Map,i=new Set){if(n * * ============================================================================= */ -function Ioe(e){ +function koe(e){ /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -11917,7 +11917,7 @@ function Ioe(e){ * * ============================================================================= */ -return function(e,t){return voe(e,t)}(e,Aoe)}function Aoe(e){return e instanceof p3.Tensor?{value:e.clone(),recurse:!1}:woe(e)?{value:null,recurse:!0}:{value:e,recurse:!1}} +return function(e,t){return Ioe(e,t)}(e,Roe)}function Roe(e){return e instanceof v3.Tensor?{value:e.clone(),recurse:!1}:Moe(e)?{value:null,recurse:!0}:{value:e,recurse:!1}} /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -11935,7 +11935,7 @@ return function(e,t){return voe(e,t)}(e,Aoe)}function Aoe(e){return e instanceof * * ============================================================================= */ -class Soe{constructor(e){if(this.capacity=e,this.begin=0,this.end=0,null==e)throw new RangeError("Can't create a ring buffer of unknown capacity.");if(e<1)throw new RangeError("Can't create ring buffer of capacity < 1.");this.data=new Array(e),this.doubledCapacity=2*e}wrap(e){for(;e<0;)e+=this.doubledCapacity;return e%this.doubledCapacity}get(e){if(e<0)throw new RangeError("Can't get item at a negative index.");return this.data[e%this.capacity]}set(e,t){if(e<0)throw new RangeError("Can't set item at a negative index.");this.data[e%this.capacity]=t}length(){let e=this.end-this.begin;return e<0&&(e=this.doubledCapacity+e),e}isFull(){return this.length()===this.capacity}isEmpty(){return 0===this.length()}push(e){if(this.isFull())throw new RangeError("Ring buffer is full.");this.set(this.end,e),this.end=this.wrap(this.end+1)}pushAll(e){for(const t of e)this.push(t)}pop(){if(this.isEmpty())throw new RangeError("Ring buffer is empty.");this.end=this.wrap(this.end-1);const e=this.get(this.end);return this.set(this.end,void 0),e}unshift(e){if(this.isFull())throw new RangeError("Ring buffer is full.");this.begin=this.wrap(this.begin-1),this.set(this.begin,e)}shift(){if(this.isEmpty())throw new RangeError("Ring buffer is empty.");const e=this.get(this.begin);return this.set(this.begin,void 0),this.begin=this.wrap(this.begin+1),e}shuffleExcise(e){if(this.isEmpty())throw new RangeError("Ring buffer is empty.");const t=this.wrap(this.begin+e),n=this.get(t);return this.set(t,this.pop()),n}} +class Noe{constructor(e){if(this.capacity=e,this.begin=0,this.end=0,null==e)throw new RangeError("Can't create a ring buffer of unknown capacity.");if(e<1)throw new RangeError("Can't create ring buffer of capacity < 1.");this.data=new Array(e),this.doubledCapacity=2*e}wrap(e){for(;e<0;)e+=this.doubledCapacity;return e%this.doubledCapacity}get(e){if(e<0)throw new RangeError("Can't get item at a negative index.");return this.data[e%this.capacity]}set(e,t){if(e<0)throw new RangeError("Can't set item at a negative index.");this.data[e%this.capacity]=t}length(){let e=this.end-this.begin;return e<0&&(e=this.doubledCapacity+e),e}isFull(){return this.length()===this.capacity}isEmpty(){return 0===this.length()}push(e){if(this.isFull())throw new RangeError("Ring buffer is full.");this.set(this.end,e),this.end=this.wrap(this.end+1)}pushAll(e){for(const t of e)this.push(t)}pop(){if(this.isEmpty())throw new RangeError("Ring buffer is empty.");this.end=this.wrap(this.end-1);const e=this.get(this.end);return this.set(this.end,void 0),e}unshift(e){if(this.isFull())throw new RangeError("Ring buffer is full.");this.begin=this.wrap(this.begin-1),this.set(this.begin,e)}shift(){if(this.isEmpty())throw new RangeError("Ring buffer is empty.");const e=this.get(this.begin);return this.set(this.begin,void 0),this.begin=this.wrap(this.begin+1),e}shuffleExcise(e){if(this.isEmpty())throw new RangeError("Ring buffer is empty.");const t=this.wrap(this.begin+e),n=this.get(t);return this.set(t,this.pop()),n}} /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -11953,7 +11953,7 @@ class Soe{constructor(e){if(this.capacity=e,this.begin=0,this.end=0,null==e)thro * * ============================================================================= */ -class Coe extends Soe{constructor(){super(Coe.INITIAL_CAPACITY)}isFull(){return!1}push(e){super.isFull()&&this.expand(),super.push(e)}unshift(e){super.isFull()&&this.expand(),super.unshift(e)}expand(){const e=2*this.capacity,t=new Array(e),n=this.length();for(let e=0;e!0===e)}rowMajorBatch(e,t=!0){return new Boe(this,e,t)}columnMajorBatch(e,t=!0,n=xoe){return this.rowMajorBatch(e,t).map(e=>boe(e,n))}concatenate(e,t){return new Goe(Ooe([this,e]),t)}take(e){return e<0||null==e?this:new Poe(this,e)}skip(e){return e<0||null==e?this:new Loe(this,e)}prefetch(e){return new Woe(this,e)}shuffle(e,t){return new Xoe(this,e,t)}serial(){return new Foe(this)}}class Noe extends Roe{constructor(e){super(),this.items=e,this.trav=0}summary(){return`Array of ${this.items.length} items`}async next(){if(this.trav>=this.items.length)return{value:null,done:!0};const e=this.items[this.trav];return this.trav++,{value:Ioe(e),done:!1}}}class Doe extends Roe{constructor(e){super(),this.nextFn=e}summary(){return"Function call"}async next(){try{return this.nextFn()}catch(e){throw e.message=`Error thrown while iterating through a dataset: ${e.message}`,e}}}class Foe extends Roe{constructor(e){super(),this.upstream=e,this.lastRead=Promise.resolve({value:null,done:!1})}summary(){return`${this.upstream.summary()} -> Serial`}async next(){return this.lastRead=this.lastRead.then(()=>this.serialNext()),this.lastRead}async serialNext(){return this.upstream.next()}}class Loe extends Roe{constructor(e,t){super(),this.upstream=e,this.maxCount=t,this.count=0,this.lastRead=Promise.resolve({value:null,done:!1})}summary(){return`${this.upstream.summary()} -> Skip`}async next(){return this.lastRead=this.lastRead.then(()=>this.serialNext()),this.lastRead}async serialNext(){for(;this.count++ Take`}async next(){return this.count++>=this.maxCount?{value:null,done:!0}:this.upstream.next()}}class Boe extends Roe{constructor(e,t,n=!0){super(),this.upstream=e,this.batchSize=t,this.enableSmallLastBatch=n,this.lastRead=Promise.resolve({value:null,done:!1})}summary(){return`${this.upstream.summary()} -> RowMajorBatch`}async next(){return this.lastRead=this.lastRead.then(()=>this.serialNext()),this.lastRead}async serialNext(){const e=[];for(;e.length0?{value:e,done:!1}:{value:null,done:!0};e.push(t.value)}return{value:e,done:!1}}}class $oe extends Roe{constructor(e,t){super(),this.upstream=e,this.predicate=t,this.lastRead=Promise.resolve({value:null,done:!1})}summary(){return`${this.upstream.summary()} -> Filter`}async next(){return this.lastRead=this.lastRead.then(()=>this.serialNext()),this.lastRead}async serialNext(){for(;;){const e=await this.upstream.next();if(e.done||this.predicate(e.value))return e;p3.dispose(e.value)}}}class Uoe extends Roe{constructor(e,t){super(),this.upstream=e,this.transform=t}summary(){return`${this.upstream.summary()} -> Map`}async next(){const e=await this.upstream.next();if(e.done)return{value:null,done:!0};const t=p3.tensor_util.getTensorsInContainer(e.value),n=this.transform(e.value),i=p3.tensor_util.getTensorsInContainer(n);for(const e of t)p3.tensor_util.isTensorInList(e,i)||e.dispose();return{value:n,done:!1}}}class Voe extends Roe{constructor(e,t){super(),this.upstream=e,this.handler=t,this.count=0,this.lastRead=Promise.resolve({value:null,done:!1})}summary(){return`${this.upstream.summary()} -> handleErrors`}async next(){return this.lastRead=this.lastRead.then(()=>this.serialNext()),this.lastRead}async serialNext(){for(;;)try{return await this.upstream.next()}catch(e){if(!this.handler(e))return{value:null,done:!0}}}}class zoe extends Roe{constructor(e,t){super(),this.upstream=e,this.transform=t}summary(){return`${this.upstream.summary()} -> AsyncMap`}async next(){const e=await this.upstream.next();if(e.done)return{value:null,done:!0};const t=p3.tensor_util.getTensorsInContainer(e.value),n=await this.transform(e.value),i=p3.tensor_util.getTensorsInContainer(n);for(const e of t)p3.tensor_util.isTensorInList(e,i)||e.dispose();return{value:n,done:!1}}}class joe extends Roe{constructor(){super(),this.outputQueue=new Coe,this.lastRead=Promise.resolve({value:null,done:!1})}async next(){return this.lastRead=this.lastRead.then(()=>this.serialNext()),this.lastRead}async serialNext(){for(;0===this.outputQueue.length();)if(!await this.pump())return{value:null,done:!0};return{value:this.outputQueue.shift(),done:!1}}}class Yoe extends joe{constructor(e,t){super(),this.upstream=e,this.transform=t}summary(){return`${this.upstream.summary()} -> Flatmap`}async pump(){const e=await this.upstream.next();if(e.done)return!1;const t=p3.tensor_util.getTensorsInContainer(e.value),n=this.transform(e.value),i=p3.tensor_util.getTensorsInContainer(n);this.outputQueue.pushAll(n);for(const e of t)p3.tensor_util.isTensorInList(e,i)||e.dispose();return!0}}class Goe extends Roe{constructor(e,t){super(),this.baseErrorHandler=t,this.lastRead=null,this.iterator=null,this.moreIterators=e}summary(){return"TODO: fill in upstream of chained summaries -> Chained"}async next(){return this.lastRead=this.readFromChain(this.lastRead),this.lastRead}async readFromChain(e){if(await e,null==this.iterator){const e=await this.moreIterators.next();if(e.done)return{value:null,done:!0};this.iterator=e.value,null!=this.baseErrorHandler&&(this.iterator=this.iterator.handleErrors(this.baseErrorHandler))}const t=await this.iterator.next();return t.done?(this.iterator=null,this.readFromChain(e)):t}}!function(e){e[e.FAIL=0]="FAIL",e[e.SHORTEST=1]="SHORTEST",e[e.LONGEST=2]="LONGEST"}(_oe||(_oe={}));class Hoe extends Roe{constructor(e,t=_oe.FAIL){super(),this.iterators=e,this.mismatchMode=t,this.count=0,this.currentPromise=null}summary(){return"{TODO: fill in upstream of zip summaries} -> Zip"}async nextState(e){await e;let t=0,n=0;const i=await Eoe(this.iterators,function(e){if(e instanceof Roe){return{value:e.next().then(e=>(t++,e.done&&n++,e.value)),recurse:!1}}return{value:null,recurse:!0}});if(t===n)return{value:null,done:!0};if(n>0)switch(this.mismatchMode){case _oe.FAIL:throw new Error(`Zipped streams should have the same length. Mismatched at element ${this.count}.`);case _oe.SHORTEST:return{value:null,done:!0};case _oe.LONGEST:}return this.count++,{value:i,done:!1}}async next(){return this.currentPromise=this.nextState(this.currentPromise),this.currentPromise}}class Woe extends Roe{constructor(e,t){super(),this.upstream=e,this.bufferSize=t,this.buffer=new Soe(t)}summary(){return`${this.upstream.summary()} -> Prefetch`}refill(){for(;!this.buffer.isFull();){const e=this.upstream.next();this.buffer.push(e)}}next(){return this.refill(),this.buffer.shift()}}class Xoe extends Woe{constructor(e,t,n){super(e,t),this.upstream=e,this.windowSize=t,this.upstreamExhausted=!1,this.random=yoe.alea(n||p3.util.now().toString()),this.lastRead=Promise.resolve({value:null,done:!1})}async next(){return this.lastRead=this.lastRead.then(()=>this.serialNext()),this.lastRead}randomInt(e){return Math.floor(this.random()*e)}chooseIndex(){return this.randomInt(this.buffer.length())}async serialNext(){for(this.upstreamExhausted||this.refill();!this.buffer.isEmpty();){const e=this.chooseIndex(),t=await this.buffer.shuffleExcise(e);if(!t.done)return this.refill(),t;this.upstreamExhausted=!0}return{value:null,done:!0}}} +function Foe(e){return new $oe(e)}function Loe(e){return new Uoe(e)}function Poe(e,t){return new Zoe(e,t)}Doe.INITIAL_CAPACITY=32;class Boe{async toArray(){const e=[];let t=await this.next();for(;!t.done;)e.push(t.value),t=await this.next();return e}async toArrayForTest(){const e=this.prefetch(100),t=[];let n=await e.next();for(;!n.done;)t.push(n.value),n=await e.next();return t}async resolveFully(){let e=await this.next();for(;!e.done;)e=await this.next()}async resolveWhile(e){let t=await this.next(),n=e(t.value);for(;!t.done&&n;)t=await this.next(),n=e(t.value)}handleErrors(e){return new Woe(this,e)}filter(e){return new Goe(this,e)}map(e){return new Hoe(this,e)}mapAsync(e){return new Xoe(this,e)}serialMapAsync(e){return new Xoe(this,e).serial()}flatmap(e){return new Koe(this,e)}async forEachAsync(e){return this.map(e).resolveFully()}async serialForEach(e){return this.serialMapAsync(e).resolveWhile(e=>!0===e)}rowMajorBatch(e,t=!0){return new Yoe(this,e,t)}columnMajorBatch(e,t=!0,n=Coe){return this.rowMajorBatch(e,t).map(e=>Aoe(e,n))}concatenate(e,t){return new Zoe(Foe([this,e]),t)}take(e){return e<0||null==e?this:new joe(this,e)}skip(e){return e<0||null==e?this:new zoe(this,e)}prefetch(e){return new Joe(this,e)}shuffle(e,t){return new eae(this,e,t)}serial(){return new Voe(this)}}class $oe extends Boe{constructor(e){super(),this.items=e,this.trav=0}summary(){return`Array of ${this.items.length} items`}async next(){if(this.trav>=this.items.length)return{value:null,done:!0};const e=this.items[this.trav];return this.trav++,{value:koe(e),done:!1}}}class Uoe extends Boe{constructor(e){super(),this.nextFn=e}summary(){return"Function call"}async next(){try{return this.nextFn()}catch(e){throw e.message=`Error thrown while iterating through a dataset: ${e.message}`,e}}}class Voe extends Boe{constructor(e){super(),this.upstream=e,this.lastRead=Promise.resolve({value:null,done:!1})}summary(){return`${this.upstream.summary()} -> Serial`}async next(){return this.lastRead=this.lastRead.then(()=>this.serialNext()),this.lastRead}async serialNext(){return this.upstream.next()}}class zoe extends Boe{constructor(e,t){super(),this.upstream=e,this.maxCount=t,this.count=0,this.lastRead=Promise.resolve({value:null,done:!1})}summary(){return`${this.upstream.summary()} -> Skip`}async next(){return this.lastRead=this.lastRead.then(()=>this.serialNext()),this.lastRead}async serialNext(){for(;this.count++ Take`}async next(){return this.count++>=this.maxCount?{value:null,done:!0}:this.upstream.next()}}class Yoe extends Boe{constructor(e,t,n=!0){super(),this.upstream=e,this.batchSize=t,this.enableSmallLastBatch=n,this.lastRead=Promise.resolve({value:null,done:!1})}summary(){return`${this.upstream.summary()} -> RowMajorBatch`}async next(){return this.lastRead=this.lastRead.then(()=>this.serialNext()),this.lastRead}async serialNext(){const e=[];for(;e.length0?{value:e,done:!1}:{value:null,done:!0};e.push(t.value)}return{value:e,done:!1}}}class Goe extends Boe{constructor(e,t){super(),this.upstream=e,this.predicate=t,this.lastRead=Promise.resolve({value:null,done:!1})}summary(){return`${this.upstream.summary()} -> Filter`}async next(){return this.lastRead=this.lastRead.then(()=>this.serialNext()),this.lastRead}async serialNext(){for(;;){const e=await this.upstream.next();if(e.done||this.predicate(e.value))return e;v3.dispose(e.value)}}}class Hoe extends Boe{constructor(e,t){super(),this.upstream=e,this.transform=t}summary(){return`${this.upstream.summary()} -> Map`}async next(){const e=await this.upstream.next();if(e.done)return{value:null,done:!0};const t=v3.tensor_util.getTensorsInContainer(e.value),n=this.transform(e.value),i=v3.tensor_util.getTensorsInContainer(n);for(const e of t)v3.tensor_util.isTensorInList(e,i)||e.dispose();return{value:n,done:!1}}}class Woe extends Boe{constructor(e,t){super(),this.upstream=e,this.handler=t,this.count=0,this.lastRead=Promise.resolve({value:null,done:!1})}summary(){return`${this.upstream.summary()} -> handleErrors`}async next(){return this.lastRead=this.lastRead.then(()=>this.serialNext()),this.lastRead}async serialNext(){for(;;)try{return await this.upstream.next()}catch(e){if(!this.handler(e))return{value:null,done:!0}}}}class Xoe extends Boe{constructor(e,t){super(),this.upstream=e,this.transform=t}summary(){return`${this.upstream.summary()} -> AsyncMap`}async next(){const e=await this.upstream.next();if(e.done)return{value:null,done:!0};const t=v3.tensor_util.getTensorsInContainer(e.value),n=await this.transform(e.value),i=v3.tensor_util.getTensorsInContainer(n);for(const e of t)v3.tensor_util.isTensorInList(e,i)||e.dispose();return{value:n,done:!1}}}class qoe extends Boe{constructor(){super(),this.outputQueue=new Doe,this.lastRead=Promise.resolve({value:null,done:!1})}async next(){return this.lastRead=this.lastRead.then(()=>this.serialNext()),this.lastRead}async serialNext(){for(;0===this.outputQueue.length();)if(!await this.pump())return{value:null,done:!0};return{value:this.outputQueue.shift(),done:!1}}}class Koe extends qoe{constructor(e,t){super(),this.upstream=e,this.transform=t}summary(){return`${this.upstream.summary()} -> Flatmap`}async pump(){const e=await this.upstream.next();if(e.done)return!1;const t=v3.tensor_util.getTensorsInContainer(e.value),n=this.transform(e.value),i=v3.tensor_util.getTensorsInContainer(n);this.outputQueue.pushAll(n);for(const e of t)v3.tensor_util.isTensorInList(e,i)||e.dispose();return!0}}class Zoe extends Boe{constructor(e,t){super(),this.baseErrorHandler=t,this.lastRead=null,this.iterator=null,this.moreIterators=e}summary(){return"TODO: fill in upstream of chained summaries -> Chained"}async next(){return this.lastRead=this.readFromChain(this.lastRead),this.lastRead}async readFromChain(e){if(await e,null==this.iterator){const e=await this.moreIterators.next();if(e.done)return{value:null,done:!0};this.iterator=e.value,null!=this.baseErrorHandler&&(this.iterator=this.iterator.handleErrors(this.baseErrorHandler))}const t=await this.iterator.next();return t.done?(this.iterator=null,this.readFromChain(e)):t}}!function(e){e[e.FAIL=0]="FAIL",e[e.SHORTEST=1]="SHORTEST",e[e.LONGEST=2]="LONGEST"}(Eoe||(Eoe={}));class Qoe extends Boe{constructor(e,t=Eoe.FAIL){super(),this.iterators=e,this.mismatchMode=t,this.count=0,this.currentPromise=null}summary(){return"{TODO: fill in upstream of zip summaries} -> Zip"}async nextState(e){await e;let t=0,n=0;const i=await Ooe(this.iterators,function(e){if(e instanceof Boe){return{value:e.next().then(e=>(t++,e.done&&n++,e.value)),recurse:!1}}return{value:null,recurse:!0}});if(t===n)return{value:null,done:!0};if(n>0)switch(this.mismatchMode){case Eoe.FAIL:throw new Error(`Zipped streams should have the same length. Mismatched at element ${this.count}.`);case Eoe.SHORTEST:return{value:null,done:!0};case Eoe.LONGEST:}return this.count++,{value:i,done:!1}}async next(){return this.currentPromise=this.nextState(this.currentPromise),this.currentPromise}}class Joe extends Boe{constructor(e,t){super(),this.upstream=e,this.bufferSize=t,this.buffer=new Noe(t)}summary(){return`${this.upstream.summary()} -> Prefetch`}refill(){for(;!this.buffer.isFull();){const e=this.upstream.next();this.buffer.push(e)}}next(){return this.refill(),this.buffer.shift()}}class eae extends Joe{constructor(e,t,n){super(e,t),this.upstream=e,this.windowSize=t,this.upstreamExhausted=!1,this.random=woe.alea(n||v3.util.now().toString()),this.lastRead=Promise.resolve({value:null,done:!1})}async next(){return this.lastRead=this.lastRead.then(()=>this.serialNext()),this.lastRead}randomInt(e){return Math.floor(this.random()*e)}chooseIndex(){return this.randomInt(this.buffer.length())}async serialNext(){for(this.upstreamExhausted||this.refill();!this.buffer.isEmpty();){const e=this.chooseIndex(),t=await this.buffer.shuffleExcise(e);if(!t.done)return this.refill(),t;this.upstreamExhausted=!0}return{value:null,done:!0}}} /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -11989,7 +11989,7 @@ function Ooe(e){return new Noe(e)}function Moe(e){return new Doe(e)}function koe * * ============================================================================= */ -class qoe{constructor(){this.size=null}batch(e,t=!0){const n=this;let i;return p3.util.assert(e>0,()=>`batchSize needs to be positive, but it is\n ${e}`),i=this.size===1/0||null==this.size?this.size:t?Math.ceil(this.size/e):Math.floor(this.size/e),Koe(async()=>(await n.iterator()).columnMajorBatch(e,t,Joe),i)}concatenate(e){const t=this;let n;return n=this.size===1/0||e.size===1/0?1/0:null!=this.size&&null!=e.size?this.size+e.size:null,Koe(async()=>(await t.iterator()).concatenate(await e.iterator()),n)}filter(e){const t=this;let n;return n=this.size===1/0?1/0:null,Koe(async()=>(await t.iterator()).filter(t=>p3.tidy(()=>e(t))),n)}async forEachAsync(e){return(await this.iterator()).forEachAsync(e)}map(e){const t=this;return Koe(async()=>(await t.iterator()).map(t=>p3.tidy(()=>e(t))),this.size)}mapAsync(e){const t=this;return Koe(async()=>(await t.iterator()).mapAsync(e),this.size)}prefetch(e){if(null==e)throw new RangeError("`Dataset.prefetch()` requires bufferSize to be specified.");const t=this;return Koe(async()=>(await t.iterator()).prefetch(e),this.size)}repeat(e){const t=this;let n;return n=null!=this.size&&e>0?this.size*e:0===e?0:null!=this.size&&(void 0===e||e<0)?1/0:null,Koe(async()=>koe(Moe(async()=>({value:await t.iterator(),done:!1})).take(e)),n)}skip(e){const t=this;let n;return n=null!=this.size&&e>=0&&this.size>=e?this.size-e:null!=this.size&&(this.size(await t.iterator()).skip(e),n)}shuffle(e,t,n=!0){if(null==e||e<0)throw null==this.size?new RangeError("`Dataset.shuffle()` requires bufferSize to be specified."):new RangeError(`\`Dataset.shuffle()\` requires bufferSize to be specified. If your data fits in main memory (for regular JS objects), and/or GPU memory (for \`tf.Tensor\`s), consider setting bufferSize to the dataset size (${this.size} elements)`);const i=this,r=yoe.alea(t||p3.util.now().toString());return Koe(async()=>{let t=r.int32();return n&&(t+=r.int32()),(await i.iterator()).shuffle(e,t.toString())},this.size)}take(e){const t=this;let n;return n=null!=this.size&&this.size>e?e:null!=this.size&&this.size<=e?this.size:null,Koe(async()=>(await t.iterator()).take(e),n)}async toArray(){if(this.size===1/0)throw new Error("Can not convert infinite data stream to array.");return(await this.iterator()).toArray()}async toArrayForTest(){if(this.size===1/0)throw new Error("Can not convert infinite data stream to array.");return(await this.iterator()).toArrayForTest()}}function Koe(e,t=null){return new class extends qoe{constructor(){super(...arguments),this.size=t}async iterator(){return e()}}}function Zoe(e){return Koe(async()=>Ooe(e),e.length)}function Qoe(e){if(!woe(e))throw new Error("The argument to zip() must be an object or array.");let t;if(Array.isArray(e))for(let n=0;nfunction(e,t=_oe.FAIL){return new Hoe(e,t)}(await Eoe(e,e=>{if(e instanceof qoe)return{value:e.iterator(),recurse:!1};if(woe(e))return{value:null,recurse:!0};throw new Error("Leaves of the structure passed to zip() must be Datasets, not primitives.")}),_oe.SHORTEST),t)}function Joe(e){if(null===e)return null;const t=e[0];if(null==(n=t)||null===(i=n)||"object"!=typeof i&&"function"!=typeof i||Array.isArray(n)||"object"==typeof n&&n instanceof p3.Tensor||p3.util.isTypedArray(n)){return{value:function(e){if(0===e.length)throw new Error("Can't make a batch of zero elements.");return e[0]instanceof p3.Tensor?p3.stack(e):p3.tensor(e)}(e),recurse:!1}}var n,i;return{value:null,recurse:!0}}qoe.MAX_BUFFER_SIZE=1e4; +class tae{constructor(){this.size=null}batch(e,t=!0){const n=this;let i;return v3.util.assert(e>0,()=>`batchSize needs to be positive, but it is\n ${e}`),i=this.size===1/0||null==this.size?this.size:t?Math.ceil(this.size/e):Math.floor(this.size/e),nae(async()=>(await n.iterator()).columnMajorBatch(e,t,sae),i)}concatenate(e){const t=this;let n;return n=this.size===1/0||e.size===1/0?1/0:null!=this.size&&null!=e.size?this.size+e.size:null,nae(async()=>(await t.iterator()).concatenate(await e.iterator()),n)}filter(e){const t=this;let n;return n=this.size===1/0?1/0:null,nae(async()=>(await t.iterator()).filter(t=>v3.tidy(()=>e(t))),n)}async forEachAsync(e){return(await this.iterator()).forEachAsync(e)}map(e){const t=this;return nae(async()=>(await t.iterator()).map(t=>v3.tidy(()=>e(t))),this.size)}mapAsync(e){const t=this;return nae(async()=>(await t.iterator()).mapAsync(e),this.size)}prefetch(e){if(null==e)throw new RangeError("`Dataset.prefetch()` requires bufferSize to be specified.");const t=this;return nae(async()=>(await t.iterator()).prefetch(e),this.size)}repeat(e){const t=this;let n;return n=null!=this.size&&e>0?this.size*e:0===e?0:null!=this.size&&(void 0===e||e<0)?1/0:null,nae(async()=>Poe(Loe(async()=>({value:await t.iterator(),done:!1})).take(e)),n)}skip(e){const t=this;let n;return n=null!=this.size&&e>=0&&this.size>=e?this.size-e:null!=this.size&&(this.size(await t.iterator()).skip(e),n)}shuffle(e,t,n=!0){if(null==e||e<0)throw null==this.size?new RangeError("`Dataset.shuffle()` requires bufferSize to be specified."):new RangeError(`\`Dataset.shuffle()\` requires bufferSize to be specified. If your data fits in main memory (for regular JS objects), and/or GPU memory (for \`tf.Tensor\`s), consider setting bufferSize to the dataset size (${this.size} elements)`);const i=this,r=woe.alea(t||v3.util.now().toString());return nae(async()=>{let t=r.int32();return n&&(t+=r.int32()),(await i.iterator()).shuffle(e,t.toString())},this.size)}take(e){const t=this;let n;return n=null!=this.size&&this.size>e?e:null!=this.size&&this.size<=e?this.size:null,nae(async()=>(await t.iterator()).take(e),n)}async toArray(){if(this.size===1/0)throw new Error("Can not convert infinite data stream to array.");return(await this.iterator()).toArray()}async toArrayForTest(){if(this.size===1/0)throw new Error("Can not convert infinite data stream to array.");return(await this.iterator()).toArrayForTest()}}function nae(e,t=null){return new class extends tae{constructor(){super(...arguments),this.size=t}async iterator(){return e()}}}function iae(e){return nae(async()=>Foe(e),e.length)}function rae(e){if(!Moe(e))throw new Error("The argument to zip() must be an object or array.");let t;if(Array.isArray(e))for(let n=0;nfunction(e,t=Eoe.FAIL){return new Qoe(e,t)}(await Ooe(e,e=>{if(e instanceof tae)return{value:e.iterator(),recurse:!1};if(Moe(e))return{value:null,recurse:!0};throw new Error("Leaves of the structure passed to zip() must be Datasets, not primitives.")}),Eoe.SHORTEST),t)}function sae(e){if(null===e)return null;const t=e[0];if(null==(n=t)||null===(i=n)||"object"!=typeof i&&"function"!=typeof i||Array.isArray(n)||"object"==typeof n&&n instanceof v3.Tensor||v3.util.isTypedArray(n)){return{value:function(e){if(0===e.length)throw new Error("Can't make a batch of zero elements.");return e[0]instanceof v3.Tensor?v3.stack(e):v3.tensor(e)}(e),recurse:!1}}var n,i;return{value:null,recurse:!0}}tae.MAX_BUFFER_SIZE=1e4; /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -12007,7 +12007,7 @@ class qoe{constructor(){this.size=null}batch(e,t=!0){const n=this;let i;return p * * ============================================================================= */ -class eae extends qoe{constructor(e){super(),this.input=e}async iterator(){return(await this.input.iterator()).decodeUTF8().split("\n").map(e=>(e.endsWith("\r")&&(e=e.slice(0,-1)),e))}} +class oae extends tae{constructor(e){super(),this.input=e}async iterator(){return(await this.input.iterator()).decodeUTF8().split("\n").map(e=>(e.endsWith("\r")&&(e=e.slice(0,-1)),e))}} /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -12025,7 +12025,7 @@ class eae extends qoe{constructor(e){super(),this.input=e}async iterator(){retur * * ============================================================================= */ -const tae='"',nae=Symbol("out"),iae=Symbol("field"),rae=Symbol("quote"),sae=Symbol("quoteafterquote"),oae=Symbol("quoteinquote");class aae extends qoe{async columnNames(){return this.columnNamesValidated||await this.setColumnNames(),this.configuredColumnsOnly?Object.keys(this.columnConfigs):this.fullColumnNames}async setColumnNames(){const e=await this.maybeReadHeaderLine();if(!this.fullColumnNames&&!e)throw new Error("Column names must be provided if there is no header line.");this.fullColumnNames&&e&&p3.util.assert(e.length===this.fullColumnNames.length,()=>"The length of provided columnNames ("+this.fullColumnNames.length.toString()+") does not match the length of the header line read from file ("+e.length.toString()+")."),this.fullColumnNames||(this.fullColumnNames=e);const t=this.fullColumnNames.reduce((e,t)=>(e[t]=e[t]+1||1,e),{}),n=Object.keys(t).filter(e=>t[e]>1);if(p3.util.assert(0===n.length,()=>"Duplicate column names found: "+n.toString()),this.columnConfigs)for(const e of Object.keys(this.columnConfigs)){if(-1===this.fullColumnNames.indexOf(e))throw new Error('The key "'+e+'" provided in columnConfigs does not match any of the column names ('+this.fullColumnNames.toString()+").")}this.columnNamesValidated=!0}async maybeReadHeaderLine(){if(this.hasHeader){const e=await this.base.iterator(),t=await e.next();if(t.done)throw new Error("No data was found for CSV parsing.");const n=t.value;return this.parseRow(n,!1)}return null}constructor(e,t){super(),this.input=e,this.hasHeader=!0,this.fullColumnNames=null,this.columnNamesValidated=!1,this.columnConfigs=null,this.configuredColumnsOnly=!1,this.delimiter=",",this.delimWhitespace=!1,this.base=new eae(e),t||(t={}),this.hasHeader=!1!==t.hasHeader,this.fullColumnNames=t.columnNames,this.columnConfigs=t.columnConfigs,this.configuredColumnsOnly=t.configuredColumnsOnly,t.delimWhitespace?(p3.util.assert(null==t.delimiter,()=>"Delimiter should not be provided when delimWhitespace is true."),this.delimWhitespace=!0,this.delimiter=" "):this.delimiter=t.delimiter?t.delimiter:","}async iterator(){this.columnNamesValidated||await this.setColumnNames();let e=await this.base.iterator();return this.hasHeader&&(e=e.skip(1)),e.map(e=>this.makeDataElement(e))}makeDataElement(e){const t=this.parseRow(e),n={},i={};for(let r=0;r"The length of provided columnNames ("+this.fullColumnNames.length.toString()+") does not match the length of the header line read from file ("+e.length.toString()+")."),this.fullColumnNames||(this.fullColumnNames=e);const t=this.fullColumnNames.reduce((e,t)=>(e[t]=e[t]+1||1,e),{}),n=Object.keys(t).filter(e=>t[e]>1);if(v3.util.assert(0===n.length,()=>"Duplicate column names found: "+n.toString()),this.columnConfigs)for(const e of Object.keys(this.columnConfigs)){if(-1===this.fullColumnNames.indexOf(e))throw new Error('The key "'+e+'" provided in columnConfigs does not match any of the column names ('+this.fullColumnNames.toString()+").")}this.columnNamesValidated=!0}async maybeReadHeaderLine(){if(this.hasHeader){const e=await this.base.iterator(),t=await e.next();if(t.done)throw new Error("No data was found for CSV parsing.");const n=t.value;return this.parseRow(n,!1)}return null}constructor(e,t){super(),this.input=e,this.hasHeader=!0,this.fullColumnNames=null,this.columnNamesValidated=!1,this.columnConfigs=null,this.configuredColumnsOnly=!1,this.delimiter=",",this.delimWhitespace=!1,this.base=new oae(e),t||(t={}),this.hasHeader=!1!==t.hasHeader,this.fullColumnNames=t.columnNames,this.columnConfigs=t.columnConfigs,this.configuredColumnsOnly=t.configuredColumnsOnly,t.delimWhitespace?(v3.util.assert(null==t.delimiter,()=>"Delimiter should not be provided when delimWhitespace is true."),this.delimWhitespace=!0,this.delimiter=" "):this.delimiter=t.delimiter?t.delimiter:","}async iterator(){this.columnNamesValidated||await this.setColumnNames();let e=await this.base.iterator();return this.hasHeader&&(e=e.skip(1)),e.map(e=>this.makeDataElement(e))}makeDataElement(e){const t=this.parseRow(e),n={},i={};for(let r=0;r14||!Number.isInteger(t))throw new Error(`Invalid fftSize: it must be a power of 2 between 2 to 4 and 2 to 14, but got ${this.fftSize}`);if(this.numFrames=e.numFramesPerSpectrogram||43,this.sampleRateHz=e.sampleRateHz,this.columnTruncateLength=e.columnTruncateLength||this.fftSize,this.audioTrackConstraints=e.audioTrackConstraints,this.smoothingTimeConstant=e.smoothingTimeConstant||0,this.includeSpectrogram=!1!==e.includeSpectrogram,this.includeWaveform=!0===e.includeWaveform,!this.includeSpectrogram&&!this.includeWaveform)throw new Error("Both includeSpectrogram and includeWaveform are false. At least one type of data should be returned.")}summary(){return"microphone"}static async create(e={}){if(!(0,p3.env)().get("IS_BROWSER"))throw new Error("microphone API is only supported in browser environment.");const t=new lae(e);return await t.start(),t}async start(){try{this.stream=await navigator.mediaDevices.getUserMedia({audio:null==this.audioTrackConstraints||this.audioTrackConstraints,video:!1})}catch(e){throw new Error(`Error thrown while initializing video stream: ${e.message}`)}if(!this.stream)throw new Error("Could not obtain audio from microphone.");const e=window.AudioContext||window.webkitAudioContext;if(this.audioContext=new e,this.sampleRateHz){if(this.audioContext.sampleRate!==this.sampleRateHz)throw new Error(`Mismatch in sampling rate: Expected: ${this.sampleRateHz}; Actual: ${this.audioContext.sampleRate}`)}else this.sampleRateHz=this.audioContext.sampleRate;const t=this.audioContext.createMediaStreamSource(this.stream);this.analyser=this.audioContext.createAnalyser(),this.analyser.fftSize=2*this.fftSize,this.analyser.smoothingTimeConstant=this.smoothingTimeConstant,t.connect(this.analyser),this.freqData=new Float32Array(this.fftSize),this.timeData=new Float32Array(this.fftSize)}async next(){if(this.isClosed)return{value:null,done:!0};let e,t;const n=await this.getAudioData();if(this.includeSpectrogram){const t=this.flattenQueue(n.freqDataQueue);e=this.getTensorFromAudioDataArray(t,[this.numFrames,this.columnTruncateLength,1])}if(this.includeWaveform){const e=this.flattenQueue(n.timeDataQueue);t=this.getTensorFromAudioDataArray(e,[this.numFrames*this.fftSize,1])}return{value:{spectrogram:e,waveform:t},done:!1}}async capture(){return(await this.next()).value}async getAudioData(){const e=[],t=[];let n=0;return new Promise(i=>{const r=setInterval(()=>{this.includeSpectrogram&&(this.analyser.getFloatFrequencyData(this.freqData),this.freqData[0]===-1/0&&i({freqDataQueue:e,timeDataQueue:t}),e.push(this.freqData.slice(0,this.columnTruncateLength))),this.includeWaveform&&(this.analyser.getFloatTimeDomainData(this.timeData),t.push(this.timeData.slice())),++n===this.numFrames&&(clearInterval(r),i({freqDataQueue:e,timeDataQueue:t}))},this.fftSize/this.sampleRateHz*1e3)})}stop(){this.isClosed||(this.isClosed=!0,this.analyser.disconnect(),this.audioContext.close(),null!=this.stream&&this.stream.getTracks().length>0&&this.stream.getTracks()[0].stop())}toArray(){throw new Error("Can not convert infinite audio stream to array.")}getSampleRate(){return this.sampleRateHz}flattenQueue(e){const t=e[0].length,n=new Float32Array(e.length*t);return e.forEach((e,i)=>n.set(e,i*t)),n}getTensorFromAudioDataArray(e,t){const n=new Float32Array(p3.util.sizeFromShape(t));return n.set(e,n.length-e.length),(0,p3.tensor)(n,t)}} +class fae extends Boe{constructor(e){super(),this.microphoneConfig=e,this.isClosed=!1,this.fftSize=e.fftSize||1024;const t=Math.log2(this.fftSize);if(this.fftSize<0||t<4||t>14||!Number.isInteger(t))throw new Error(`Invalid fftSize: it must be a power of 2 between 2 to 4 and 2 to 14, but got ${this.fftSize}`);if(this.numFrames=e.numFramesPerSpectrogram||43,this.sampleRateHz=e.sampleRateHz,this.columnTruncateLength=e.columnTruncateLength||this.fftSize,this.audioTrackConstraints=e.audioTrackConstraints,this.smoothingTimeConstant=e.smoothingTimeConstant||0,this.includeSpectrogram=!1!==e.includeSpectrogram,this.includeWaveform=!0===e.includeWaveform,!this.includeSpectrogram&&!this.includeWaveform)throw new Error("Both includeSpectrogram and includeWaveform are false. At least one type of data should be returned.")}summary(){return"microphone"}static async create(e={}){if(!(0,v3.env)().get("IS_BROWSER"))throw new Error("microphone API is only supported in browser environment.");const t=new fae(e);return await t.start(),t}async start(){try{this.stream=await navigator.mediaDevices.getUserMedia({audio:null==this.audioTrackConstraints||this.audioTrackConstraints,video:!1})}catch(e){throw new Error(`Error thrown while initializing video stream: ${e.message}`)}if(!this.stream)throw new Error("Could not obtain audio from microphone.");const e=window.AudioContext||window.webkitAudioContext;if(this.audioContext=new e,this.sampleRateHz){if(this.audioContext.sampleRate!==this.sampleRateHz)throw new Error(`Mismatch in sampling rate: Expected: ${this.sampleRateHz}; Actual: ${this.audioContext.sampleRate}`)}else this.sampleRateHz=this.audioContext.sampleRate;const t=this.audioContext.createMediaStreamSource(this.stream);this.analyser=this.audioContext.createAnalyser(),this.analyser.fftSize=2*this.fftSize,this.analyser.smoothingTimeConstant=this.smoothingTimeConstant,t.connect(this.analyser),this.freqData=new Float32Array(this.fftSize),this.timeData=new Float32Array(this.fftSize)}async next(){if(this.isClosed)return{value:null,done:!0};let e,t;const n=await this.getAudioData();if(this.includeSpectrogram){const t=this.flattenQueue(n.freqDataQueue);e=this.getTensorFromAudioDataArray(t,[this.numFrames,this.columnTruncateLength,1])}if(this.includeWaveform){const e=this.flattenQueue(n.timeDataQueue);t=this.getTensorFromAudioDataArray(e,[this.numFrames*this.fftSize,1])}return{value:{spectrogram:e,waveform:t},done:!1}}async capture(){return(await this.next()).value}async getAudioData(){const e=[],t=[];let n=0;return new Promise(i=>{const r=setInterval(()=>{this.includeSpectrogram&&(this.analyser.getFloatFrequencyData(this.freqData),this.freqData[0]===-1/0&&i({freqDataQueue:e,timeDataQueue:t}),e.push(this.freqData.slice(0,this.columnTruncateLength))),this.includeWaveform&&(this.analyser.getFloatTimeDomainData(this.timeData),t.push(this.timeData.slice())),++n===this.numFrames&&(clearInterval(r),i({freqDataQueue:e,timeDataQueue:t}))},this.fftSize/this.sampleRateHz*1e3)})}stop(){this.isClosed||(this.isClosed=!0,this.analyser.disconnect(),this.audioContext.close(),null!=this.stream&&this.stream.getTracks().length>0&&this.stream.getTracks()[0].stop())}toArray(){throw new Error("Can not convert infinite audio stream to array.")}getSampleRate(){return this.sampleRateHz}flattenQueue(e){const t=e[0].length,n=new Float32Array(e.length*t);return e.forEach((e,i)=>n.set(e,i*t)),n}getTensorFromAudioDataArray(e,t){const n=new Float32Array(v3.util.sizeFromShape(t));return n.set(e,n.length-e.length),(0,v3.tensor)(n,t)}} /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -12061,7 +12061,7 @@ class lae extends Roe{constructor(e){super(),this.microphoneConfig=e,this.isClos * * ============================================================================= */ -class uae extends Roe{constructor(e,t){if(super(),this.webcamVideoElement=e,this.webcamConfig=t,this.isClosed=!0,this.resize=!1,this.needToResize())if(this.resize=!0,this.cropSize=[this.webcamConfig.resizeHeight,this.webcamConfig.resizeWidth],this.cropBoxInd=(0,p3.tensor1d)([0],"int32"),this.webcamConfig.centerCrop){const e=1*this.webcamConfig.resizeWidth/this.webcamVideoElement.width,t=1*this.webcamConfig.resizeHeight/this.webcamVideoElement.height,n=(1-e)/2,i=(1-t)/2,r=n+e,s=t+i;this.cropBox=(0,p3.tensor2d)([i,n,s,r],[1,4])}else this.cropBox=(0,p3.tensor2d)([0,0,1,1],[1,4])}summary(){return"webcam"}static async create(e,t={}){if(!(0,p3.env)().get("IS_BROWSER"))throw new Error("tf.data.webcam is only supported in browser environment.");if(!e){if(e=document.createElement("video"),!t.resizeWidth||!t.resizeHeight)throw new Error("Please provide webcam video element, or resizeWidth and resizeHeight to create a hidden video element.");e.width=t.resizeWidth,e.height=t.resizeHeight}const n=new uae(e,t);return await n.start(),n}async start(){this.webcamConfig.facingMode&&p3.util.assert("user"===this.webcamConfig.facingMode||"environment"===this.webcamConfig.facingMode,()=>`Invalid webcam facing mode: ${this.webcamConfig.facingMode}. Please provide 'user' or 'environment'`);try{this.stream=await navigator.mediaDevices.getUserMedia({video:{deviceId:this.webcamConfig.deviceId,facingMode:this.webcamConfig.facingMode?this.webcamConfig.facingMode:"user",width:this.webcamVideoElement.width,height:this.webcamVideoElement.height}})}catch(e){throw e.message=`Error thrown while initializing video stream: ${e.message}`,e}if(!this.stream)throw new Error("Could not obtain video from webcam.");try{this.webcamVideoElement.srcObject=this.stream}catch(e){console.log(e),this.webcamVideoElement.src=window.URL.createObjectURL(this.stream)}return this.webcamVideoElement.play(),this.isClosed=!1,new Promise(e=>{this.webcamVideoElement.onloadedmetadata=()=>{e()}})}async next(){if(this.isClosed)return{value:null,done:!0};let e;try{e=p3.browser.fromPixels(this.webcamVideoElement)}catch(e){throw new Error(`Error thrown converting video to pixels: ${JSON.stringify(e)}`)}if(!this.resize)return{value:e,done:!1};try{return{value:this.cropAndResizeFrame(e),done:!1}}catch(e){throw new Error(`Error thrown cropping the video: ${e.message}`)}finally{e.dispose()}}needToResize(){return!(!this.webcamConfig.resizeWidth||!this.webcamConfig.resizeHeight||this.webcamVideoElement.width===this.webcamConfig.resizeWidth&&this.webcamVideoElement.height===this.webcamConfig.resizeHeight)}cropAndResizeFrame(e){return(0,p3.tidy)(()=>{const t=(0,p3.expandDims)((0,p3.cast)(e,"float32"),0);let n;n=p3.image.cropAndResize(t,this.cropBox,this.cropBoxInd,this.cropSize,"bilinear");const i=n.shape;return(0,p3.reshape)(n,i.slice(1))})}async capture(){return(await this.next()).value}stop(){this.stream.getTracks().forEach(e=>e.stop());try{this.webcamVideoElement.srcObject=null}catch(e){console.log(e),this.webcamVideoElement.src=null}this.isClosed=!0}toArray(){throw new Error("Can not convert infinite video stream to array.")}} +class mae extends Boe{constructor(e,t){if(super(),this.webcamVideoElement=e,this.webcamConfig=t,this.isClosed=!0,this.resize=!1,this.needToResize())if(this.resize=!0,this.cropSize=[this.webcamConfig.resizeHeight,this.webcamConfig.resizeWidth],this.cropBoxInd=(0,v3.tensor1d)([0],"int32"),this.webcamConfig.centerCrop){const e=1*this.webcamConfig.resizeWidth/this.webcamVideoElement.width,t=1*this.webcamConfig.resizeHeight/this.webcamVideoElement.height,n=(1-e)/2,i=(1-t)/2,r=n+e,s=t+i;this.cropBox=(0,v3.tensor2d)([i,n,s,r],[1,4])}else this.cropBox=(0,v3.tensor2d)([0,0,1,1],[1,4])}summary(){return"webcam"}static async create(e,t={}){if(!(0,v3.env)().get("IS_BROWSER"))throw new Error("tf.data.webcam is only supported in browser environment.");if(!e){if(e=document.createElement("video"),!t.resizeWidth||!t.resizeHeight)throw new Error("Please provide webcam video element, or resizeWidth and resizeHeight to create a hidden video element.");e.width=t.resizeWidth,e.height=t.resizeHeight}const n=new mae(e,t);return await n.start(),n}async start(){this.webcamConfig.facingMode&&v3.util.assert("user"===this.webcamConfig.facingMode||"environment"===this.webcamConfig.facingMode,()=>`Invalid webcam facing mode: ${this.webcamConfig.facingMode}. Please provide 'user' or 'environment'`);try{this.stream=await navigator.mediaDevices.getUserMedia({video:{deviceId:this.webcamConfig.deviceId,facingMode:this.webcamConfig.facingMode?this.webcamConfig.facingMode:"user",width:this.webcamVideoElement.width,height:this.webcamVideoElement.height}})}catch(e){throw e.message=`Error thrown while initializing video stream: ${e.message}`,e}if(!this.stream)throw new Error("Could not obtain video from webcam.");try{this.webcamVideoElement.srcObject=this.stream}catch(e){console.log(e),this.webcamVideoElement.src=window.URL.createObjectURL(this.stream)}return this.webcamVideoElement.play(),this.isClosed=!1,new Promise(e=>{this.webcamVideoElement.onloadedmetadata=()=>{e()}})}async next(){if(this.isClosed)return{value:null,done:!0};let e;try{e=v3.browser.fromPixels(this.webcamVideoElement)}catch(e){throw new Error(`Error thrown converting video to pixels: ${JSON.stringify(e)}`)}if(!this.resize)return{value:e,done:!1};try{return{value:this.cropAndResizeFrame(e),done:!1}}catch(e){throw new Error(`Error thrown cropping the video: ${e.message}`)}finally{e.dispose()}}needToResize(){return!(!this.webcamConfig.resizeWidth||!this.webcamConfig.resizeHeight||this.webcamVideoElement.width===this.webcamConfig.resizeWidth&&this.webcamVideoElement.height===this.webcamConfig.resizeHeight)}cropAndResizeFrame(e){return(0,v3.tidy)(()=>{const t=(0,v3.expandDims)((0,v3.cast)(e,"float32"),0);let n;n=v3.image.cropAndResize(t,this.cropBox,this.cropBoxInd,this.cropSize,"bilinear");const i=n.shape;return(0,v3.reshape)(n,i.slice(1))})}async capture(){return(await this.next()).value}stop(){this.stream.getTracks().forEach(e=>e.stop());try{this.webcamVideoElement.srcObject=null}catch(e){console.log(e),this.webcamVideoElement.src=null}this.isClosed=!0}toArray(){throw new Error("Can not convert infinite video stream to array.")}} /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -12079,7 +12079,7 @@ class uae extends Roe{constructor(e,t){if(super(),this.webcamVideoElement=e,this * * ============================================================================= */ -class cae{} +class gae{} /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -12097,7 +12097,7 @@ class cae{} * * ============================================================================= */ -class dae extends Roe{split(e){return new hae(this,e)}}class hae extends dae{constructor(e,t){super(),this.upstream=e,this.impl=new pae(e,t)}summary(){return this.impl.summary()}async next(){return this.impl.next()}}class pae extends joe{constructor(e,t){super(),this.upstream=e,this.separator=t,this.carryover=""}summary(){return`${this.upstream.summary()} -> Split('${this.separator}')`}async pump(){const e=await this.upstream.next();if(e.done)return""!==this.carryover&&(this.outputQueue.push(this.carryover),this.carryover="",!0);const t=e.value.split(this.separator);t[0]=this.carryover+t[0];for(const e of t.slice(0,-1))this.outputQueue.push(e);return this.carryover=t[t.length-1],!0}} +class _ae extends Boe{split(e){return new yae(this,e)}}class yae extends _ae{constructor(e,t){super(),this.upstream=e,this.impl=new vae(e,t)}summary(){return this.impl.summary()}async next(){return this.impl.next()}}class vae extends qoe{constructor(e,t){super(),this.upstream=e,this.separator=t,this.carryover=""}summary(){return`${this.upstream.summary()} -> Split('${this.separator}')`}async pump(){const e=await this.upstream.next();if(e.done)return""!==this.carryover&&(this.outputQueue.push(this.carryover),this.carryover="",!0);const t=e.value.split(this.separator);t[0]=this.carryover+t[0];for(const e of t.slice(0,-1))this.outputQueue.push(e);return this.carryover=t[t.length-1],!0}} /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -12115,7 +12115,7 @@ class dae extends Roe{split(e){return new hae(this,e)}}class hae extends dae{con * * ============================================================================= */ -class fae extends Roe{decodeUTF8(){return new mae(this)}}class mae extends dae{constructor(e){super(),this.upstream=e,this.impl=new gae(e)}summary(){return this.impl.summary()}async next(){return this.impl.next()}}class gae extends joe{constructor(e){if(super(),this.upstream=e,(0,p3.env)().get("IS_BROWSER"))this.decoder=new TextDecoder("utf-8");else{const{StringDecoder:e}=__webpack_require__(4530);this.decoder=new e("utf8")}}summary(){return`${this.upstream.summary()} -> Utf8`}async pump(){const e=await this.upstream.next();let t,n;return!e.done&&(t=e.value,n=(0,p3.env)().get("IS_BROWSER")?this.decoder.decode(t,{stream:!0}):this.decoder.write(Buffer.from(t.buffer)),this.outputQueue.push(n),!0)}} +class bae extends Boe{decodeUTF8(){return new Tae(this)}}class Tae extends _ae{constructor(e){super(),this.upstream=e,this.impl=new xae(e)}summary(){return this.impl.summary()}async next(){return this.impl.next()}}class xae extends qoe{constructor(e){if(super(),this.upstream=e,(0,v3.env)().get("IS_BROWSER"))this.decoder=new TextDecoder("utf-8");else{const{StringDecoder:e}=__webpack_require__(4530);this.decoder=new e("utf8")}}summary(){return`${this.upstream.summary()} -> Utf8`}async pump(){const e=await this.upstream.next();let t,n;return!e.done&&(t=e.value,n=(0,v3.env)().get("IS_BROWSER")?this.decoder.decode(t,{stream:!0}):this.decoder.write(Buffer.from(t.buffer)),this.outputQueue.push(n),!0)}} /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -12133,7 +12133,7 @@ class fae extends Roe{decodeUTF8(){return new mae(this)}}class mae extends dae{c * * ============================================================================= */ -class _ae extends fae{constructor(e,t={}){super(),this.file=e,this.options=t,p3.util.assert(e instanceof Uint8Array||!!(0,p3.env)().get("IS_BROWSER")&&(e instanceof File||e instanceof Blob),()=>"FileChunkIterator only supports File, Blob and Uint8Array right now."),this.offset=t.offset||0,this.chunkSize=t.chunkSize||1048576}summary(){return`FileChunks ${this.file}`}async next(){if(this.offset>=(this.file instanceof Uint8Array?this.file.byteLength:this.file.size))return{value:null,done:!0};const e=new Promise((e,t)=>{const n=this.offset+this.chunkSize;if(this.file instanceof Uint8Array)e(new Uint8Array(this.file.slice(this.offset,n)));else{const i=new FileReader;i.onload=n=>{let r=i.result;if(r instanceof ArrayBuffer&&(r=new Uint8Array(r)),!(r instanceof Uint8Array))return t(new TypeError("FileReader returned unknown type."));e(r)},i.onabort=e=>t(new Error("Aborted")),i.onerror=e=>t(new Error(e.type));const r=this.file.slice(this.offset,n);i.readAsArrayBuffer(r)}this.offset=n});return{value:await e,done:!1}}}const yae=e=>({method:e.method,headers:e.headers,body:e.body,mode:e.mode,credentials:e.credentials,cache:e.cache,redirect:e.redirect,referrer:e.referrer,integrity:e.integrity}); +class Eae extends bae{constructor(e,t={}){super(),this.file=e,this.options=t,v3.util.assert(e instanceof Uint8Array||!!(0,v3.env)().get("IS_BROWSER")&&(e instanceof File||e instanceof Blob),()=>"FileChunkIterator only supports File, Blob and Uint8Array right now."),this.offset=t.offset||0,this.chunkSize=t.chunkSize||1048576}summary(){return`FileChunks ${this.file}`}async next(){if(this.offset>=(this.file instanceof Uint8Array?this.file.byteLength:this.file.size))return{value:null,done:!0};const e=new Promise((e,t)=>{const n=this.offset+this.chunkSize;if(this.file instanceof Uint8Array)e(new Uint8Array(this.file.slice(this.offset,n)));else{const i=new FileReader;i.onload=n=>{let r=i.result;if(r instanceof ArrayBuffer&&(r=new Uint8Array(r)),!(r instanceof Uint8Array))return t(new TypeError("FileReader returned unknown type."));e(r)},i.onabort=e=>t(new Error("Aborted")),i.onerror=e=>t(new Error(e.type));const r=this.file.slice(this.offset,n);i.readAsArrayBuffer(r)}this.offset=n});return{value:await e,done:!1}}}const wae=e=>({method:e.method,headers:e.headers,body:e.body,mode:e.mode,credentials:e.credentials,cache:e.cache,redirect:e.redirect,referrer:e.referrer,integrity:e.integrity}); /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -12151,7 +12151,7 @@ class _ae extends fae{constructor(e,t={}){super(),this.file=e,this.options=t,p3. * * ============================================================================= */ -function vae(e){return"string"==typeof e&&"file://"===e.slice(0,7)} +function Iae(e){return"string"==typeof e&&"file://"===e.slice(0,7)} /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -12169,7 +12169,7 @@ function vae(e){return"string"==typeof e&&"file://"===e.slice(0,7)} * * ============================================================================= */ -class bae extends cae{constructor(e,t={}){super(),this.input=e,this.options=t}async iterator(){if(vae(this.input)&&(0,p3.env)().get("IS_NODE")){const e=__webpack_require__(8108);this.input=e.readFileSync(this.input.slice(7))}return new _ae(this.input,this.options)}} +class Aae extends gae{constructor(e,t={}){super(),this.input=e,this.options=t}async iterator(){if(Iae(this.input)&&(0,v3.env)().get("IS_NODE")){const e=__webpack_require__(8108);this.input=e.readFileSync(this.input.slice(7))}return new Eae(this.input,this.options)}} /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -12187,7 +12187,7 @@ class bae extends cae{constructor(e,t={}){super(),this.input=e,this.options=t}as * * ============================================================================= */ -class Tae extends cae{constructor(e,t={}){super(),this.url=e,this.fileOptions=t}async iterator(){return vae(this.url)?new bae(this.url,this.fileOptions).iterator(): +class Sae extends gae{constructor(e,t={}){super(),this.url=e,this.fileOptions=t}async iterator(){return Iae(this.url)?new Aae(this.url,this.fileOptions).iterator(): /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -12205,7 +12205,7 @@ class Tae extends cae{constructor(e,t={}){super(),this.url=e,this.fileOptions=t} * * ============================================================================= */ -async function(e,t={},n){let i,r;"string"==typeof e?i=e:(i=e.url,r=yae(e));const s=await(n||p3.util.fetch)(i,r);if(s.ok){const e=new Uint8Array(await s.arrayBuffer());return new _ae(e,t)}throw new Error(s.statusText)}(this.url,this.fileOptions)}} +async function(e,t={},n){let i,r;"string"==typeof e?i=e:(i=e.url,r=wae(e));const s=await(n||v3.util.fetch)(i,r);if(s.ok){const e=new Uint8Array(await s.arrayBuffer());return new Eae(e,t)}throw new Error(s.statusText)}(this.url,this.fileOptions)}} /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -12223,9 +12223,9 @@ async function(e,t={},n){let i,r;"string"==typeof e?i=e:(i=e.url,r=yae(e));const * * ============================================================================= */ -function xae(e,t={}){return new aae(new Tae(e),t)}function Eae(e){const t=Moe(e);return Koe(async()=>t)}function wae(e){return Koe(async()=>{const t=await e();return Moe(()=>t.next())})}async function Iae(e,t){return uae.create(e,t)}async function Aae(e){return lae.create(e)} +function Cae(e,t={}){return new pae(new Sae(e),t)}function Oae(e){const t=Loe(e);return nae(async()=>t)}function Mae(e){return nae(async()=>{const t=await e();return Loe(()=>t.next())})}async function kae(e,t){return mae.create(e,t)}async function Rae(e){return fae.create(e)} /** @license See the LICENSE file. */ -const Sae="4.22.0"; +const Nae="4.22.0"; /** * @license * Copyright 2019 Google LLC. All Rights Reserved. @@ -12242,7 +12242,7 @@ const Sae="4.22.0"; * limitations under the License. * ============================================================================= */ -function Cae(e,t){Array.isArray(e)||(e=[e]),e.forEach(e=>{null!=e&&p3.util.assert("complex64"!==e.dtype,()=>`${t} does not support complex64 tensors in the CPU backend.`)})} +function Dae(e,t){Array.isArray(e)||(e=[e]),e.forEach(e=>{null!=e&&v3.util.assert("complex64"!==e.dtype,()=>`${t} does not support complex64 tensors in the CPU backend.`)})} /** * @license * Copyright 2021 Google LLC. All Rights Reserved. @@ -12259,7 +12259,7 @@ function Cae(e,t){Array.isArray(e)||(e=[e]),e.forEach(e=>{null!=e&&p3.util.asser * limitations under the License. * ============================================================================= */ -const Oae=p3.kernel_impls.whereImpl;class Mae extends p3.KernelBackend{nextDataId(){return Mae.nextDataId++}constructor(){super(),this.blockSize=48,this.firstUse=!0,this.data=new p3.DataStorage(this,(0,p3.engine)())}write(e,t,n){this.firstUse&&(this.firstUse=!1,(0,p3.env)().get("IS_NODE")&&p3.backend_util.warn("\n============================\nHi, looks like you are running TensorFlow.js in Node.js. To speed things up dramatically, install our node backend, visit https://github.com/tensorflow/tfjs-node for more details. \n============================"));const i={id:this.nextDataId()};return this.data.set(i,{values:e,dtype:n,refCount:1}),i}makeTensorInfo(e,t,n){let i;if("string"===t&&null!=n&&n.length>0&&p3.util.isString(n[0])){const r=n.map(e=>p3.util.encodeString(e));i=this.write(r,e,t)}else i=this.write(n,e,t);return{dataId:i,shape:e,dtype:t}}refCount(e){if(this.data.has(e)){return this.data.get(e).refCount}return 0}incRef(e){this.data.get(e).refCount++}decRef(e){if(this.data.has(e)){this.data.get(e).refCount--}}move(e,t,n,i,r){this.data.set(e,{values:t,dtype:i,refCount:r})}numDataIds(){return this.data.numDataIds()}async read(e){return this.readSync(e)}readSync(e){const{dtype:t,complexTensorInfos:n}=this.data.get(e);if("complex64"===t){const e=this.readSync(n.real.dataId),t=this.readSync(n.imag.dataId);return p3.backend_util.mergeRealAndImagArrays(e,t)}return p3.util.convertBackendValuesAndArrayBuffer(this.data.get(e).values,t)}bufferSync(e){const t=this.readSync(e.dataId);if("string"===e.dtype)try{const n=t.map(e=>p3.util.decodeString(e));return(0,p3.buffer)(e.shape,e.dtype,n)}catch(e){throw new Error("Failed to decode encoded string bytes into utf-8")}return(0,p3.buffer)(e.shape,e.dtype,t)}makeOutput(e,t,n){return(0,p3.engine)().makeTensorFromTensorInfo(this.makeTensorInfo(t,n,e),this)}disposeData(e,t=!1){if(this.data.has(e)){if(this.data.get(e).refCount--,!t&&this.data.get(e).refCount>0)return!1;const{complexTensorInfos:n}=this.data.get(e);null!=n&&(this.disposeData(n.real.dataId,!0),this.disposeData(n.imag.dataId,!0)),this.data.delete(e)}return!0}disposeIntermediateTensorInfo(e){this.disposeData(e.dataId)}async time(e){const t=p3.util.now();e();return{kernelMs:p3.util.now()-t}}memory(){return{unreliable:!0,reasons:["The reported memory is an upper bound. Due to automatic garbage collection, the true allocated memory may be less."]}}where(e){Cae([e],"where");const t=this.readSync(e.dataId);return Oae(e.shape,t)}dispose(){}floatPrecision(){return 32}epsilon(){return super.epsilon()}} +const Fae=v3.kernel_impls.whereImpl;class Lae extends v3.KernelBackend{nextDataId(){return Lae.nextDataId++}constructor(){super(),this.blockSize=48,this.firstUse=!0,this.data=new v3.DataStorage(this,(0,v3.engine)())}write(e,t,n){this.firstUse&&(this.firstUse=!1,(0,v3.env)().get("IS_NODE")&&v3.backend_util.warn("\n============================\nHi, looks like you are running TensorFlow.js in Node.js. To speed things up dramatically, install our node backend, visit https://github.com/tensorflow/tfjs-node for more details. \n============================"));const i={id:this.nextDataId()};return this.data.set(i,{values:e,dtype:n,refCount:1}),i}makeTensorInfo(e,t,n){let i;if("string"===t&&null!=n&&n.length>0&&v3.util.isString(n[0])){const r=n.map(e=>v3.util.encodeString(e));i=this.write(r,e,t)}else i=this.write(n,e,t);return{dataId:i,shape:e,dtype:t}}refCount(e){if(this.data.has(e)){return this.data.get(e).refCount}return 0}incRef(e){this.data.get(e).refCount++}decRef(e){if(this.data.has(e)){this.data.get(e).refCount--}}move(e,t,n,i,r){this.data.set(e,{values:t,dtype:i,refCount:r})}numDataIds(){return this.data.numDataIds()}async read(e){return this.readSync(e)}readSync(e){const{dtype:t,complexTensorInfos:n}=this.data.get(e);if("complex64"===t){const e=this.readSync(n.real.dataId),t=this.readSync(n.imag.dataId);return v3.backend_util.mergeRealAndImagArrays(e,t)}return v3.util.convertBackendValuesAndArrayBuffer(this.data.get(e).values,t)}bufferSync(e){const t=this.readSync(e.dataId);if("string"===e.dtype)try{const n=t.map(e=>v3.util.decodeString(e));return(0,v3.buffer)(e.shape,e.dtype,n)}catch(e){throw new Error("Failed to decode encoded string bytes into utf-8")}return(0,v3.buffer)(e.shape,e.dtype,t)}makeOutput(e,t,n){return(0,v3.engine)().makeTensorFromTensorInfo(this.makeTensorInfo(t,n,e),this)}disposeData(e,t=!1){if(this.data.has(e)){if(this.data.get(e).refCount--,!t&&this.data.get(e).refCount>0)return!1;const{complexTensorInfos:n}=this.data.get(e);null!=n&&(this.disposeData(n.real.dataId,!0),this.disposeData(n.imag.dataId,!0)),this.data.delete(e)}return!0}disposeIntermediateTensorInfo(e){this.disposeData(e.dataId)}async time(e){const t=v3.util.now();e();return{kernelMs:v3.util.now()-t}}memory(){return{unreliable:!0,reasons:["The reported memory is an upper bound. Due to automatic garbage collection, the true allocated memory may be less."]}}where(e){Dae([e],"where");const t=this.readSync(e.dataId);return Fae(e.shape,t)}dispose(){}floatPrecision(){return 32}epsilon(){return super.epsilon()}} /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -12276,7 +12276,7 @@ const Oae=p3.kernel_impls.whereImpl;class Mae extends p3.KernelBackend{nextDataI * limitations under the License. * ============================================================================= */ -function kae(e){const t=new Float32Array(e.length);for(let n=0;n{const{x:t}=e.inputs,n=e.backend;Cae(t,"abs");let i=new Float32Array(p3.util.sizeFromShape(t.shape));return i=kae(n.data.get(t.dataId).values),n.makeOutput(i,t.shape,t.dtype)}}; +function Pae(e){const t=new Float32Array(e.length);for(let n=0;n{const{x:t}=e.inputs,n=e.backend;Dae(t,"abs");let i=new Float32Array(v3.util.sizeFromShape(t.shape));return i=Pae(n.data.get(t.dataId).values),n.makeOutput(i,t.shape,t.dtype)}}; /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -12293,7 +12293,7 @@ function kae(e){const t=new Float32Array(e.length);for(let n=0;n{const o=p3.backend_util.assertAndGetBroadcastShape(t,n),a=o.length,l=p3.util.computeStrides(o),u=p3.util.sizeFromShape(o),c=p3.util.getTypedArrayFromDType(s,u),d=t.length,h=n.length,p=p3.util.computeStrides(t),f=p3.util.computeStrides(n),m=p3.backend_util.getBroadcastDims(t,o),g=p3.backend_util.getBroadcastDims(n,o);if(m.length+g.length===0)for(let t=0;ts[e]=0);const o=p3.util.locToIndex(s,d,p),u=n.slice(-h);g.forEach(e=>u[e]=0);const _=p3.util.locToIndex(u,h,f);c[t]=e(i[o],r[_])}return[c,o]}} +function $ae(e){return(t,n,i,r,s)=>{const o=v3.backend_util.assertAndGetBroadcastShape(t,n),a=o.length,l=v3.util.computeStrides(o),u=v3.util.sizeFromShape(o),c=v3.util.getTypedArrayFromDType(s,u),d=t.length,h=n.length,p=v3.util.computeStrides(t),f=v3.util.computeStrides(n),m=v3.backend_util.getBroadcastDims(t,o),g=v3.backend_util.getBroadcastDims(n,o);if(m.length+g.length===0)for(let t=0;ts[e]=0);const o=v3.util.locToIndex(s,d,p),u=n.slice(-h);g.forEach(e=>u[e]=0);const _=v3.util.locToIndex(u,h,f);c[t]=e(i[o],r[_])}return[c,o]}} /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -12310,7 +12310,7 @@ function Nae(e){return(t,n,i,r,s)=>{const o=p3.backend_util.assertAndGetBroadcas * limitations under the License. * ============================================================================= */ -function Dae(e){const{inputs:t,backend:n}=e,{real:i,imag:r}=t,s=n.data.get(i.dataId).values,o=n.data.get(r.dataId).values,a=n.makeTensorInfo(i.shape,"complex64");return n.data.get(a.dataId).complexTensorInfos={real:n.makeTensorInfo(i.shape,"float32",s),imag:n.makeTensorInfo(r.shape,"float32",o)},a}const Fae={kernelName:p3.Complex,backendName:"cpu",kernelFunc:Dae}; +function Uae(e){const{inputs:t,backend:n}=e,{real:i,imag:r}=t,s=n.data.get(i.dataId).values,o=n.data.get(r.dataId).values,a=n.makeTensorInfo(i.shape,"complex64");return n.data.get(a.dataId).complexTensorInfos={real:n.makeTensorInfo(i.shape,"float32",s),imag:n.makeTensorInfo(r.shape,"float32",o)},a}const Vae={kernelName:v3.Complex,backendName:"cpu",kernelFunc:Uae}; /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -12327,7 +12327,7 @@ function Dae(e){const{inputs:t,backend:n}=e,{real:i,imag:r}=t,s=n.data.get(i.dat * limitations under the License. * ============================================================================= */ -function Lae(e,t,n="float32"){if("complex64"===n){return Dae({inputs:{real:Lae(e,t,"float32"),imag:Lae(e,t,"float32")},backend:e})}const i=p3.util.makeZerosTypedArray(p3.util.sizeFromShape(t),n);return e.makeTensorInfo(t,n,i)} +function zae(e,t,n="float32"){if("complex64"===n){return Uae({inputs:{real:zae(e,t,"float32"),imag:zae(e,t,"float32")},backend:e})}const i=v3.util.makeZerosTypedArray(v3.util.sizeFromShape(t),n);return e.makeTensorInfo(t,n,i)} /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -12344,7 +12344,7 @@ function Lae(e,t,n="float32"){if("complex64"===n){return Dae({inputs:{real:Lae(e * limitations under the License. * ============================================================================= */ -function Pae(e){const{inputs:t,backend:n}=e,{x:i}=t;return n.incRef(i.dataId),{dataId:i.dataId,shape:i.shape,dtype:i.dtype}}const Bae={kernelName:p3.Identity,backendName:"cpu",kernelFunc:Pae}; +function jae(e){const{inputs:t,backend:n}=e,{x:i}=t;return n.incRef(i.dataId),{dataId:i.dataId,shape:i.shape,dtype:i.dtype}}const Yae={kernelName:v3.Identity,backendName:"cpu",kernelFunc:jae}; /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -12361,7 +12361,7 @@ function Pae(e){const{inputs:t,backend:n}=e,{x:i}=t;return n.incRef(i.dataId),{d * limitations under the License. * ============================================================================= */ -function $ae(e){const{inputs:t,backend:n}=e,{input:i}=t,r=n.data.get(i.dataId).complexTensorInfos.real,s=n.data.get(r.dataId).values;return n.makeTensorInfo(r.shape,r.dtype,s)}const Uae={kernelName:p3.Real,backendName:"cpu",kernelFunc:$ae}; +function Gae(e){const{inputs:t,backend:n}=e,{input:i}=t,r=n.data.get(i.dataId).complexTensorInfos.real,s=n.data.get(r.dataId).values;return n.makeTensorInfo(r.shape,r.dtype,s)}const Hae={kernelName:v3.Real,backendName:"cpu",kernelFunc:Gae}; /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -12378,7 +12378,7 @@ function $ae(e){const{inputs:t,backend:n}=e,{input:i}=t,r=n.data.get(i.dataId).c * limitations under the License. * ============================================================================= */ -function Vae(e,t,n,i){if("int32"===i){return[t,"int32",Int32Array.from(e)]}if("bool"===i){const i=p3.util.toTypedArray([0],n),[r,s]=Nae((e,t)=>e!==t?1:0)(t,[],e,i,"bool");return[s,"bool",r]}throw new Error(`Error in Cast: failed to cast ${n} to ${i}`)}function zae(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{dtype:s}=i;if("complex64"===s){if("complex64"===r.dtype)return Pae({inputs:{x:r},backend:n});const e=Lae(n,r.shape,r.dtype),t=zae({inputs:{x:r},backend:n,attrs:{dtype:"float32"}}),i=Dae({inputs:{real:t,imag:e},backend:n});return n.disposeIntermediateTensorInfo(e),n.disposeIntermediateTensorInfo(t),i}if("complex64"===r.dtype){const e=$ae({inputs:{input:r},backend:n}),t=zae({inputs:{x:e},backend:n,attrs:{dtype:s}});return n.disposeIntermediateTensorInfo(e),t}if(!p3.util.hasEncodingLoss(r.dtype,s)){const e=Pae({inputs:{x:r},backend:n});return{dataId:e.dataId,shape:e.shape,dtype:s}}const o=n.data.get(r.dataId).values,[a,l,u]=Vae(o,r.shape,r.dtype,s);return n.makeTensorInfo(a,l,u)}const jae={kernelName:p3.Cast,backendName:"cpu",kernelFunc:zae}; +function Wae(e,t,n,i){if("int32"===i){return[t,"int32",Int32Array.from(e)]}if("bool"===i){const i=v3.util.toTypedArray([0],n),[r,s]=$ae((e,t)=>e!==t?1:0)(t,[],e,i,"bool");return[s,"bool",r]}throw new Error(`Error in Cast: failed to cast ${n} to ${i}`)}function Xae(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{dtype:s}=i;if("complex64"===s){if("complex64"===r.dtype)return jae({inputs:{x:r},backend:n});const e=zae(n,r.shape,r.dtype),t=Xae({inputs:{x:r},backend:n,attrs:{dtype:"float32"}}),i=Uae({inputs:{real:t,imag:e},backend:n});return n.disposeIntermediateTensorInfo(e),n.disposeIntermediateTensorInfo(t),i}if("complex64"===r.dtype){const e=Gae({inputs:{input:r},backend:n}),t=Xae({inputs:{x:e},backend:n,attrs:{dtype:s}});return n.disposeIntermediateTensorInfo(e),t}if(!v3.util.hasEncodingLoss(r.dtype,s)){const e=jae({inputs:{x:r},backend:n});return{dataId:e.dataId,shape:e.shape,dtype:s}}const o=n.data.get(r.dataId).values,[a,l,u]=Wae(o,r.shape,r.dtype,s);return n.makeTensorInfo(a,l,u)}const qae={kernelName:v3.Cast,backendName:"cpu",kernelFunc:Xae}; /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -12395,7 +12395,7 @@ function Vae(e,t,n,i){if("int32"===i){return[t,"int32",Int32Array.from(e)]}if("b * limitations under the License. * ============================================================================= */ -function Yae(e,t,n,i){return null==n?({inputs:n,backend:r})=>{const{a:s,b:o}=n,a=r;Cae([s,o],e);const l=a.data.get(s.dataId).values,u=a.data.get(o.dataId).values,c="string"===s.dtype?p3.backend_util.fromUint8ToStringArray(l):l,d="string"===s.dtype?p3.backend_util.fromUint8ToStringArray(u):u,h=i||s.dtype,[p,f]=t(s.shape,o.shape,c,d,h);return a.makeTensorInfo(f,h,p)}:({inputs:e,backend:r})=>{const{a:s,b:o}=e,a=r;if("complex64"===s.dtype||"complex64"===o.dtype){const e=zae({inputs:{x:s},backend:a,attrs:{dtype:"complex64"}}),t=a.data.get(e.dataId),i=t.complexTensorInfos.real,r=t.complexTensorInfos.imag,l=a.data.get(i.dataId).values,u=a.data.get(r.dataId).values,c=zae({inputs:{x:o},backend:a,attrs:{dtype:"complex64"}}),d=a.data.get(c.dataId),h=d.complexTensorInfos.real,p=d.complexTensorInfos.imag,f=a.data.get(h.dataId).values,m=a.data.get(p.dataId).values,[g,_,y]=n(s.shape,o.shape,l,u,f,m),v=a.makeTensorInfo(y,"float32",g),b=a.makeTensorInfo(y,"float32",_),T=Dae({inputs:{real:v,imag:b},backend:a});return a.disposeIntermediateTensorInfo(e),a.disposeIntermediateTensorInfo(c),a.disposeIntermediateTensorInfo(v),a.disposeIntermediateTensorInfo(b),T}{const e=a.data.get(s.dataId).values,n=a.data.get(o.dataId).values,r=i||s.dtype,[l,u]=t(s.shape,o.shape,e,n,r);return a.makeTensorInfo(u,r,l)}}}function Gae(e){return(t,n,i,r,s,o)=>{const a=p3.backend_util.assertAndGetBroadcastShape(t,n),l=p3.util.sizeFromShape(a),u=a.length,c=p3.util.computeStrides(a),d=p3.util.getTypedArrayFromDType("float32",l),h=p3.util.getTypedArrayFromDType("float32",l),p=p3.backend_util.getBroadcastDims(t,a),f=p3.backend_util.getBroadcastDims(n,a),m=p3.backend_util.mergeRealAndImagArrays(i,r),g=p3.backend_util.mergeRealAndImagArrays(s,o),_=t.length,y=p3.util.computeStrides(t),v=n.length,b=p3.util.computeStrides(n);if(p.length+f.length===0)for(let t=0;ti[e]=0);const r=p3.util.locToIndex(i,_,y),s=n.slice(-v);f.forEach(e=>s[e]=0);const o=p3.util.locToIndex(s,v,b),a=e(m[2*r],m[2*r+1],g[2*o],g[2*o+1]);d[t]=a.real,h[t]=a.imag}return[d,h,a]}} +function Kae(e,t,n,i){return null==n?({inputs:n,backend:r})=>{const{a:s,b:o}=n,a=r;Dae([s,o],e);const l=a.data.get(s.dataId).values,u=a.data.get(o.dataId).values,c="string"===s.dtype?v3.backend_util.fromUint8ToStringArray(l):l,d="string"===s.dtype?v3.backend_util.fromUint8ToStringArray(u):u,h=i||s.dtype,[p,f]=t(s.shape,o.shape,c,d,h);return a.makeTensorInfo(f,h,p)}:({inputs:e,backend:r})=>{const{a:s,b:o}=e,a=r;if("complex64"===s.dtype||"complex64"===o.dtype){const e=Xae({inputs:{x:s},backend:a,attrs:{dtype:"complex64"}}),t=a.data.get(e.dataId),i=t.complexTensorInfos.real,r=t.complexTensorInfos.imag,l=a.data.get(i.dataId).values,u=a.data.get(r.dataId).values,c=Xae({inputs:{x:o},backend:a,attrs:{dtype:"complex64"}}),d=a.data.get(c.dataId),h=d.complexTensorInfos.real,p=d.complexTensorInfos.imag,f=a.data.get(h.dataId).values,m=a.data.get(p.dataId).values,[g,_,y]=n(s.shape,o.shape,l,u,f,m),v=a.makeTensorInfo(y,"float32",g),b=a.makeTensorInfo(y,"float32",_),T=Uae({inputs:{real:v,imag:b},backend:a});return a.disposeIntermediateTensorInfo(e),a.disposeIntermediateTensorInfo(c),a.disposeIntermediateTensorInfo(v),a.disposeIntermediateTensorInfo(b),T}{const e=a.data.get(s.dataId).values,n=a.data.get(o.dataId).values,r=i||s.dtype,[l,u]=t(s.shape,o.shape,e,n,r);return a.makeTensorInfo(u,r,l)}}}function Zae(e){return(t,n,i,r,s,o)=>{const a=v3.backend_util.assertAndGetBroadcastShape(t,n),l=v3.util.sizeFromShape(a),u=a.length,c=v3.util.computeStrides(a),d=v3.util.getTypedArrayFromDType("float32",l),h=v3.util.getTypedArrayFromDType("float32",l),p=v3.backend_util.getBroadcastDims(t,a),f=v3.backend_util.getBroadcastDims(n,a),m=v3.backend_util.mergeRealAndImagArrays(i,r),g=v3.backend_util.mergeRealAndImagArrays(s,o),_=t.length,y=v3.util.computeStrides(t),v=n.length,b=v3.util.computeStrides(n);if(p.length+f.length===0)for(let t=0;ti[e]=0);const r=v3.util.locToIndex(i,_,y),s=n.slice(-v);f.forEach(e=>s[e]=0);const o=v3.util.locToIndex(s,v,b),a=e(m[2*r],m[2*r+1],g[2*o],g[2*o+1]);d[t]=a.real,h[t]=a.imag}return[d,h,a]}} /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -12412,7 +12412,7 @@ function Yae(e,t,n,i){return null==n?({inputs:n,backend:r})=>{const{a:s,b:o}=n,a * limitations under the License. * ============================================================================= */ -const Hae=Nae((e,t)=>e+t),Wae=Gae((e,t,n,i)=>({real:e+n,imag:t+i})),Xae=Yae(p3.Add,Hae,Wae),qae={kernelName:p3.Add,backendName:"cpu",kernelFunc:Xae}; +const Qae=$ae((e,t)=>e+t),Jae=Zae((e,t,n,i)=>({real:e+n,imag:t+i})),ele=Kae(v3.Add,Qae,Jae),tle={kernelName:v3.Add,backendName:"cpu",kernelFunc:ele}; /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -12429,7 +12429,7 @@ const Hae=Nae((e,t)=>e+t),Wae=Gae((e,t,n,i)=>({real:e+n,imag:t+i})),Xae=Yae(p3.A * limitations under the License. * ============================================================================= */ -function Kae(e,t,n,i,r){const s=p3.util.sizeFromShape(i),o=p3.util.makeZerosTypedArray(r,n);for(let n=0;n=r||(o[i]+=s>0?t[n]:1)}return o}function Zae(e,t,n,i=!1){const r=e.shape[0],s=e.shape[1],o=(0,p3.buffer)([r,n],t.dtype);for(let a=0;a=n||(i?o.set(1,a,s):t.size>0?o.set(o.get(a,s)+t.get(a,r),a,s):o.set(o.get(a,s)+1,a,s))}return o} +function nle(e,t,n,i,r){const s=v3.util.sizeFromShape(i),o=v3.util.makeZerosTypedArray(r,n);for(let n=0;n=r||(o[i]+=s>0?t[n]:1)}return o}function ile(e,t,n,i=!1){const r=e.shape[0],s=e.shape[1],o=(0,v3.buffer)([r,n],t.dtype);for(let a=0;a=n||(i?o.set(1,a,s):t.size>0?o.set(o.get(a,s)+t.get(a,r),a,s):o.set(o.get(a,s)+1,a,s))}return o} /** * @license * Copyright 2023 Google LLC. @@ -12446,7 +12446,7 @@ function Kae(e,t,n,i,r){const s=p3.util.sizeFromShape(i),o=p3.util.makeZerosType * limitations under the License. * ============================================================================= */ -const Qae=Nae((e,t)=>e&t),Jae=Yae(p3.BitwiseAnd,Qae),ele={kernelName:p3.BitwiseAnd,backendName:"cpu",kernelFunc:Jae}; +const rle=$ae((e,t)=>e&t),sle=Kae(v3.BitwiseAnd,rle),ole={kernelName:v3.BitwiseAnd,backendName:"cpu",kernelFunc:sle}; /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -12463,7 +12463,7 @@ const Qae=Nae((e,t)=>e&t),Jae=Yae(p3.BitwiseAnd,Qae),ele={kernelName:p3.BitwiseA * limitations under the License. * ============================================================================= */ -function tle(e){return(t,n,i)=>{const r=p3.util.getArrayFromDType(n,t.length);for(let n=0;n{const r=v3.util.getArrayFromDType(n,t.length);for(let n=0;n{const r=p3.util.getArrayFromDType(n,t.length);fo * limitations under the License. * ============================================================================= */ -function nle(e,t,n){return ile(e,tle(t),n)}function ile(e,t,n){return({inputs:i,attrs:r,backend:s})=>{const{x:o}=i;Cae(o,e);const a=s,l=a.data.get(o.dataId).values;let u;if("string"===o.dtype){if(!Array.isArray(l))throw new Error("String tensor's value was not an instance of Array");u=p3.backend_util.fromUint8ToStringArray(l)}else u=l;const c=n||o.dtype,d=t(u,c,r);return a.makeTensorInfo(o.shape,c,d)}} +function lle(e,t,n){return ule(e,ale(t),n)}function ule(e,t,n){return({inputs:i,attrs:r,backend:s})=>{const{x:o}=i;Dae(o,e);const a=s,l=a.data.get(o.dataId).values;let u;if("string"===o.dtype){if(!Array.isArray(l))throw new Error("String tensor's value was not an instance of Array");u=v3.backend_util.fromUint8ToStringArray(l)}else u=l;const c=n||o.dtype,d=t(u,c,r);return a.makeTensorInfo(o.shape,c,d)}} /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -12497,7 +12497,7 @@ function nle(e,t,n){return ile(e,tle(t),n)}function ile(e,t,n){return({inputs:i, * limitations under the License. * ============================================================================= */ -const rle=tle(e=>Math.ceil(e)),sle=ile(p3.Ceil,rle),ole={kernelName:p3.Ceil,backendName:"cpu",kernelFunc:sle}; +const cle=ale(e=>Math.ceil(e)),dle=ule(v3.Ceil,cle),hle={kernelName:v3.Ceil,backendName:"cpu",kernelFunc:dle}; /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -12514,7 +12514,7 @@ const rle=tle(e=>Math.ceil(e)),sle=ile(p3.Ceil,rle),ole={kernelName:p3.Ceil,back * limitations under the License. * ============================================================================= */ -function ale(e,t,n,i){const r=p3.util.getArrayFromDType(n,p3.util.sizeFromShape(t));if(i&&"string"!==n){let t=0;e.forEach(e=>{const n=p3.util.sizeFromShape(e.shape);r.set(e.vals,t),t+=n})}else{let i=0;e.forEach(e=>{const s="string"===n?p3.backend_util.fromUint8ToStringArray(e.vals):e.vals;let o=0;for(let n=0;n{const n=v3.util.sizeFromShape(e.shape);r.set(e.vals,t),t+=n})}else{let i=0;e.forEach(e=>{const s="string"===n?v3.backend_util.fromUint8ToStringArray(e.vals):e.vals;let o=0;for(let n=0;ne===t?1:0),ule=Yae(p3.Equal,lle,null,"bool"),cle={kernelName:p3.Equal,backendName:"cpu",kernelFunc:ule},dle=tle(e=>Math.exp(e)),hle=ile(p3.Exp,dle,"float32"),ple={kernelName:p3.Exp,backendName:"cpu",kernelFunc:hle},fle=tle(e=>Math.expm1(e)),mle=ile(p3.Expm1,fle),gle={kernelName:p3.Expm1,backendName:"cpu",kernelFunc:mle},_le=tle(e=>Math.floor(e)),yle=ile(p3.Floor,_le),vle={kernelName:p3.Floor,backendName:"cpu",kernelFunc:yle},ble=Nae((e,t)=>Math.floor(e/t)),Tle=Yae(p3.FloorDiv,ble,null,"int32"),xle={kernelName:p3.FloorDiv,backendName:"cpu",kernelFunc:Tle}; +const fle=$ae((e,t)=>e===t?1:0),mle=Kae(v3.Equal,fle,null,"bool"),gle={kernelName:v3.Equal,backendName:"cpu",kernelFunc:mle},_le=ale(e=>Math.exp(e)),yle=ule(v3.Exp,_le,"float32"),vle={kernelName:v3.Exp,backendName:"cpu",kernelFunc:yle},ble=ale(e=>Math.expm1(e)),Tle=ule(v3.Expm1,ble),xle={kernelName:v3.Expm1,backendName:"cpu",kernelFunc:Tle},Ele=ale(e=>Math.floor(e)),wle=ule(v3.Floor,Ele),Ile={kernelName:v3.Floor,backendName:"cpu",kernelFunc:wle},Ale=$ae((e,t)=>Math.floor(e/t)),Sle=Kae(v3.FloorDiv,Ale,null,"int32"),Cle={kernelName:v3.FloorDiv,backendName:"cpu",kernelFunc:Sle}; /** * @license * Copyright 2021 Google LLC. All Rights Reserved. @@ -12548,7 +12548,7 @@ const lle=Nae((e,t)=>e===t?1:0),ule=Yae(p3.Equal,lle,null,"bool"),cle={kernelNam * limitations under the License. * ============================================================================= */ -function Ele(e,t,n,i,r,s,o,a,l){const u=(0,p3.buffer)([i,s],n);for(let n=0;n=l/s)throw new Error(`Invalid indices: ${i} does not index into ${a}`);for(let e=0;e=l/s)throw new Error(`Invalid indices: ${i} does not index into ${a}`);for(let e=0;ee>t?1:0),Ale=Yae(p3.Greater,Ile,null,"bool"),Sle={kernelName:p3.Greater,backendName:"cpu",kernelFunc:Ale},Cle=Nae((e,t)=>e>=t?1:0),Ole=Yae(p3.GreaterEqual,Cle,null,"bool"),Mle={kernelName:p3.GreaterEqual,backendName:"cpu",kernelFunc:Ole},kle=Nae((e,t)=>ee<=t?1:0),Fle=Yae(p3.LessEqual,Dle,null,"bool"),Lle={kernelName:p3.LessEqual,backendName:"cpu",kernelFunc:Fle}; +const kle=$ae((e,t)=>e>t?1:0),Rle=Kae(v3.Greater,kle,null,"bool"),Nle={kernelName:v3.Greater,backendName:"cpu",kernelFunc:Rle},Dle=$ae((e,t)=>e>=t?1:0),Fle=Kae(v3.GreaterEqual,Dle,null,"bool"),Lle={kernelName:v3.GreaterEqual,backendName:"cpu",kernelFunc:Fle},Ple=$ae((e,t)=>ee<=t?1:0),Vle=Kae(v3.LessEqual,Ule,null,"bool"),zle={kernelName:v3.LessEqual,backendName:"cpu",kernelFunc:Vle}; /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -12599,7 +12599,7 @@ const Ile=Nae((e,t)=>e>t?1:0),Ale=Yae(p3.Greater,Ile,null,"bool"),Sle={kernelNam * limitations under the License. * ============================================================================= */ -function Ple(e,t,n){const i=(t-e)/(n-1),r=p3.util.makeZerosTypedArray(n,"float32");r[0]=e;for(let e=1;eMath.log(e)),$le=ile(p3.Log,Ble),Ule={kernelName:p3.Log,backendName:"cpu",kernelFunc:$le}; +const Yle=ale(e=>Math.log(e)),Gle=ule(v3.Log,Yle),Hle={kernelName:v3.Log,backendName:"cpu",kernelFunc:Gle}; /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -12633,7 +12633,7 @@ const Ble=tle(e=>Math.log(e)),$le=ile(p3.Log,Ble),Ule={kernelName:p3.Log,backend * limitations under the License. * ============================================================================= */ -function Vle(e,t,n,i){const r=p3.util.getTypedArrayFromDType(i,p3.util.sizeFromShape(n));for(let n=0;ns)&&(s=t)}r[n]=s}return r} +function Wle(e,t,n,i){const r=v3.util.getTypedArrayFromDType(i,v3.util.sizeFromShape(n));for(let n=0;ns)&&(s=t)}r[n]=s}return r} /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -12650,7 +12650,7 @@ function Vle(e,t,n,i){const r=p3.util.getTypedArrayFromDType(i,p3.util.sizeFromS * limitations under the License. * ============================================================================= */ -const zle=Nae((e,t)=>Math.max(e,t)),jle=Yae(p3.Maximum,zle),Yle={kernelName:p3.Maximum,backendName:"cpu",kernelFunc:jle},Gle=Nae((e,t)=>Math.min(e,t)),Hle=Yae(p3.Minimum,Gle),Wle={kernelName:p3.Minimum,backendName:"cpu",kernelFunc:Hle},Xle=Nae((e,t)=>e*t),qle=Gae((e,t,n,i)=>({real:e*n-t*i,imag:e*i+t*n})),Kle=Yae(p3.Multiply,Xle,qle),Zle={kernelName:p3.Multiply,backendName:"cpu",kernelFunc:Kle}; +const Xle=$ae((e,t)=>Math.max(e,t)),qle=Kae(v3.Maximum,Xle),Kle={kernelName:v3.Maximum,backendName:"cpu",kernelFunc:qle},Zle=$ae((e,t)=>Math.min(e,t)),Qle=Kae(v3.Minimum,Zle),Jle={kernelName:v3.Minimum,backendName:"cpu",kernelFunc:Qle},eue=$ae((e,t)=>e*t),tue=Zae((e,t,n,i)=>({real:e*n-t*i,imag:e*i+t*n})),nue=Kae(v3.Multiply,eue,tue),iue={kernelName:v3.Multiply,backendName:"cpu",kernelFunc:nue}; /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -12667,7 +12667,7 @@ const zle=Nae((e,t)=>Math.max(e,t)),jle=Yae(p3.Maximum,zle),Yle={kernelName:p3.M * limitations under the License. * ============================================================================= */ -function Qle(e,t,n){const i=p3.util.createScalarValue(-1,n);return Xle([],t,i,e,n)}const Jle={kernelName:p3.Neg,backendName:"cpu",kernelFunc:function(e){const{inputs:t,backend:n}=e,{x:i}=t;Cae(i,"neg");const r=n.data.get(i.dataId).values,[s,o]=Qle(r,i.shape,i.dtype);return n.makeTensorInfo(o,i.dtype,s)}},eue=Nae((e,t)=>e!==t?1:0),tue=Yae(p3.NotEqual,eue,null,"bool"),nue={kernelName:p3.NotEqual,backendName:"cpu",kernelFunc:tue}; +function rue(e,t,n){const i=v3.util.createScalarValue(-1,n);return eue([],t,i,e,n)}const sue={kernelName:v3.Neg,backendName:"cpu",kernelFunc:function(e){const{inputs:t,backend:n}=e,{x:i}=t;Dae(i,"neg");const r=n.data.get(i.dataId).values,[s,o]=rue(r,i.shape,i.dtype);return n.makeTensorInfo(o,i.dtype,s)}},oue=$ae((e,t)=>e!==t?1:0),aue=Kae(v3.NotEqual,oue,null,"bool"),lue={kernelName:v3.NotEqual,backendName:"cpu",kernelFunc:aue}; /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -12684,7 +12684,7 @@ function Qle(e,t,n){const i=p3.util.createScalarValue(-1,n);return Xle([],t,i,e, * limitations under the License. * ============================================================================= */ -function iue(e,t,n,i,r){const s=t.length,o=p3.util.sizeFromShape(t),a=p3.util.computeStrides(t),l=p3.util.computeStrides(r),u=p3.util.getTypedArrayFromDType(n,p3.util.sizeFromShape(r));for(let t=0;tn.disposeIntermediateTensorInfo(e)),n.makeTensorInfo(_,g,f)}};function lue(e,t,n,i){const r=[];let s=0;const o=t.length-1+n.length,a=new Array(o).fill(null).map(()=>[0]);!function(e,t){for(let n=0;nr)throw new Error("Ragged splits must not point past values");for(let e=1;ei[e])throw new Error("Ragged splits must be sorted in ascending order")}}(n,i);let l=1;for(let e=0;e=0){const e=a[r],t=e[e.length-1]-i[o];for(let e=o;en.disposeIntermediateTensorInfo(e)),n.makeTensorInfo(_,g,f)}};function fue(e,t,n,i){const r=[];let s=0;const o=t.length-1+n.length,a=new Array(o).fill(null).map(()=>[0]);!function(e,t){for(let n=0;nr)throw new Error("Ragged splits must not point past values");for(let e=1;ei[e])throw new Error("Ragged splits must be sorted in ascending order")}}(n,i);let l=1;for(let e=0;e=0){const e=a[r],t=e[e.length-1]-i[o];for(let e=o;e{if(e<0||e>=n){const r=p3.util.indexToLoc(i,t.length,p3.util.computeStrides(t)).join(",");throw new Error(`indices[${r}] = ${e} is not in [0, ${n})`)}})}(s,o,t[0][0]-1),0===i.length)throw new Error("params.rank must be nonzero");const l=i[0],{outSplits:u,valueSlices:c,numValues:d}=lue(s,o,e,l),h=function(e){const t=[];for(let n=0;nr[t]=e)}return t}(u),p=cue(n,i,r,c,d);return[h,p[0],p[1]]} +function(e,t,n){e.forEach((e,i)=>{if(e<0||e>=n){const r=v3.util.indexToLoc(i,t.length,v3.util.computeStrides(t)).join(",");throw new Error(`indices[${r}] = ${e} is not in [0, ${n})`)}})}(s,o,t[0][0]-1),0===i.length)throw new Error("params.rank must be nonzero");const l=i[0],{outSplits:u,valueSlices:c,numValues:d}=fue(s,o,e,l),h=function(e){const t=[];for(let n=0;nr[t]=e)}return t}(u),p=gue(n,i,r,c,d);return[h,p[0],p[1]]} /** * @license * Copyright 2022 Google LLC. @@ -12752,7 +12752,7 @@ function(e,t,n){e.forEach((e,i)=>{if(e<0||e>=n){const r=p3.util.indexToLoc(i,t.l * limitations under the License. * ============================================================================= */ -const hue=2147483647;function pue(e,t,n,i,r,s,o){if(t.length>1)throw new Error("starts must be a scalar or vector");if(r.length>1)throw new Error("limits must be a scalar or vector");if(o.length>1)throw new Error("deltas must be a scalar or vector");const a=0===t.length,l=0===r.length,u=0===o.length,c=[];a||c.push(t[0]),l||c.push(r[0]),u||c.push(o[0]);for(let e=1;e0&&rn)c=0;else if(c=Math.ceil(Math.abs((r-n)/o)),c>hue)throw new Error(`Requires ((limit - start) / delta) <= ${hue}`);h[t+1]=h[t]+c}const p=h[d],f=p3.util.getArrayFromDType(n,p);let m=0;for(let t=0;t1)throw new Error("starts must be a scalar or vector");if(r.length>1)throw new Error("limits must be a scalar or vector");if(o.length>1)throw new Error("deltas must be a scalar or vector");const a=0===t.length,l=0===r.length,u=0===o.length,c=[];a||c.push(t[0]),l||c.push(r[0]),u||c.push(o[0]);for(let e=1;e0&&rn)c=0;else if(c=Math.ceil(Math.abs((r-n)/o)),c>yue)throw new Error(`Requires ((limit - start) / delta) <= ${yue}`);h[t+1]=h[t]+c}const p=h[d],f=v3.util.getArrayFromDType(n,p);let m=0;for(let t=0;t1)throw new Error(" * limitations under the License. * ============================================================================= */ -var fue=p3.backend_util.RowPartitionType;class mue{constructor(e,t,n,i,r,s,o,a,l,u){this.shape=e,this.shapeShape=t,this.values=n,this.valuesShape=i,this.valuesDType=r,this.defaultValue=s,this.defaultValueShape=o,this.rowPartitionValues=a,this.rowPartitionValuesShapes=l,this.rowPartitionTypes=p3.backend_util.getRowPartitionTypesHelper(u),this.raggedRank=p3.backend_util.getRaggedRank(this.rowPartitionTypes)}getRowPartitionTypeByDimension(e){return this.rowPartitionTypes[0]===fue.FIRST_DIM_SIZE?this.rowPartitionTypes[e+1]:this.rowPartitionTypes[e]}getRowPartitionTensor(e){return this.rowPartitionTypes[0]===fue.FIRST_DIM_SIZE?this.rowPartitionValues[e+1]:this.rowPartitionValues[e]}getMaxWidth(e){const t=this.getRowPartitionTensor(e-1);switch(this.getRowPartitionTypeByDimension(e-1)){case fue.VALUE_ROWIDS:return mue.getMaxWidthValueRowID(t);case fue.ROW_SPLITS:return mue.getMaxWidthRowSplit(t);default:throw new Error(`Cannot handle partition type ${fue[this.getRowPartitionTypeByDimension(e-1)]}`)}}static getMaxWidthRowSplit(e){const t=e.length;if(0===t||1===t)return 0;let n=0;for(let i=0;in&&(n=t)}return n}static getMaxWidthValueRowID(e){const t=e.length;if(0===t)return 0;let n=0,i=e[0],r=0;for(let s=1;s"Final length of result must be equal to firstDimension."),r}calculateOutputIndexRowSplit(e,t,n,i){const r=e.length,s=[];for(let o=0;o0&&s.length!==e[r-1])throw new Error("Invalid row split size.");return s}calculateOutputIndexValueRowID(e,t,n,i){const r=e.length,s=[];if(0===r)return[];let o=0,a=e[0];if(a>=t.length)throw new Error(`Got currentValueRowId=${a}, which is not less than ${t.length}`);let l=t[a];s.push(l);for(let u=1;u=0&&(++o,o=t.length)throw new Error(`Got nextValueRowId=${r} which is not less than ${t.length}`);l=t[r]}s.push(l)}if(s.length!==e.length)throw new Error("Invalid row ids.");return s}calculateOutputIndex(e,t,n,i){const r=this.getRowPartitionTensor(e),s=this.getRowPartitionTypeByDimension(e);switch(s){case fue.VALUE_ROWIDS:return this.calculateOutputIndexValueRowID(r,t,n,i);case fue.ROW_SPLITS:if(r.length-1>t.length)throw new Error(`Row partition size is greater than output size: ${r.length-1} > ${t.length}`);return this.calculateOutputIndexRowSplit(r,t,n,i);default:throw new Error(`Unsupported partition type: ${fue[s]}`)}}getFirstDimensionSize(){const e=this.rowPartitionValues[0];if(0===this.rowPartitionTypes.length)throw new Error("No row_partition_types given.");const t=this.rowPartitionTypes[0];switch(t){case fue.FIRST_DIM_SIZE:return e[0];case fue.VALUE_ROWIDS:throw new Error("Cannot handle VALUE_ROWIDS in first dimension.");case fue.ROW_SPLITS:return this.rowPartitionValuesShapes[0][0]-1;default:throw new Error(`Cannot handle type ${fue[t]}`)}}compute(){if(this.rowPartitionValues[0].length<=0)throw new Error("Invalid first partition input. Tensor requires at least one element.");const e=this.getFirstDimensionSize(),t=this.calculateOutputSize(e),n=new Array(this.raggedRank+1);n[n.length-1]=1;for(let e=n.length-2;e>=0;--e)n[e]=n[e+1]*t[e+1];const i=_ue(t,!1),r=p3.util.getArrayFromDType(this.valuesDType,p3.util.sizeFromShape(i));if(n[0]*t[0]>0){let s=this.calculateFirstParentOutputIndex(e,n[0],t[0]);for(let e=1;e<=this.raggedRank;++e){s=this.calculateOutputIndex(e-1,s,n[e],t[e])}this.setOutput(this.raggedRank,s,r,i)}return[i,r]}setOutput(e,t,n,i){if(0===n.length)return;const r=this.values,s=n;let o=i.slice();o=o.slice(e+1);const a=p3.util.sizeFromShape(o),l=t.length;let u=this.defaultValue;if(u.length!==a&&1!==u.length){const e=this.defaultValueShape;(0,p3.tidy)(()=>{const t=(0,p3.reshape)(u,e),n=(0,p3.broadcastTo)(t,o);u=n.dataSync()})}let c=0,d=0,h=0;for(let e=0;e<=l;++e){let i=e=l){const e=n.length;i=Math.floor(e/a)}if(i>h)if(1===this.defaultValue.length)s.subarray(h*a,i*a).fill(this.defaultValue[0]),h=i;else for(;i>h;){gue(s.slice(h*a),u,a),++h}i<0?(c=e+1,d=h):(c=e,d=h,h=d+1)}else++h}}}function gue(e,t,n){for(let i=0;i= 0`);if(i<-1)throw new Error(`Dimension ${i} must be >= -1`);i=-1}n.push(i)}return n}function yue(e,t,n,i,r,s,o,a,l,u){return new mue(e,t,n,i,r,s,o,a,l,u).compute()} +var bue=v3.backend_util.RowPartitionType;class Tue{constructor(e,t,n,i,r,s,o,a,l,u){this.shape=e,this.shapeShape=t,this.values=n,this.valuesShape=i,this.valuesDType=r,this.defaultValue=s,this.defaultValueShape=o,this.rowPartitionValues=a,this.rowPartitionValuesShapes=l,this.rowPartitionTypes=v3.backend_util.getRowPartitionTypesHelper(u),this.raggedRank=v3.backend_util.getRaggedRank(this.rowPartitionTypes)}getRowPartitionTypeByDimension(e){return this.rowPartitionTypes[0]===bue.FIRST_DIM_SIZE?this.rowPartitionTypes[e+1]:this.rowPartitionTypes[e]}getRowPartitionTensor(e){return this.rowPartitionTypes[0]===bue.FIRST_DIM_SIZE?this.rowPartitionValues[e+1]:this.rowPartitionValues[e]}getMaxWidth(e){const t=this.getRowPartitionTensor(e-1);switch(this.getRowPartitionTypeByDimension(e-1)){case bue.VALUE_ROWIDS:return Tue.getMaxWidthValueRowID(t);case bue.ROW_SPLITS:return Tue.getMaxWidthRowSplit(t);default:throw new Error(`Cannot handle partition type ${bue[this.getRowPartitionTypeByDimension(e-1)]}`)}}static getMaxWidthRowSplit(e){const t=e.length;if(0===t||1===t)return 0;let n=0;for(let i=0;in&&(n=t)}return n}static getMaxWidthValueRowID(e){const t=e.length;if(0===t)return 0;let n=0,i=e[0],r=0;for(let s=1;s"Final length of result must be equal to firstDimension."),r}calculateOutputIndexRowSplit(e,t,n,i){const r=e.length,s=[];for(let o=0;o0&&s.length!==e[r-1])throw new Error("Invalid row split size.");return s}calculateOutputIndexValueRowID(e,t,n,i){const r=e.length,s=[];if(0===r)return[];let o=0,a=e[0];if(a>=t.length)throw new Error(`Got currentValueRowId=${a}, which is not less than ${t.length}`);let l=t[a];s.push(l);for(let u=1;u=0&&(++o,o=t.length)throw new Error(`Got nextValueRowId=${r} which is not less than ${t.length}`);l=t[r]}s.push(l)}if(s.length!==e.length)throw new Error("Invalid row ids.");return s}calculateOutputIndex(e,t,n,i){const r=this.getRowPartitionTensor(e),s=this.getRowPartitionTypeByDimension(e);switch(s){case bue.VALUE_ROWIDS:return this.calculateOutputIndexValueRowID(r,t,n,i);case bue.ROW_SPLITS:if(r.length-1>t.length)throw new Error(`Row partition size is greater than output size: ${r.length-1} > ${t.length}`);return this.calculateOutputIndexRowSplit(r,t,n,i);default:throw new Error(`Unsupported partition type: ${bue[s]}`)}}getFirstDimensionSize(){const e=this.rowPartitionValues[0];if(0===this.rowPartitionTypes.length)throw new Error("No row_partition_types given.");const t=this.rowPartitionTypes[0];switch(t){case bue.FIRST_DIM_SIZE:return e[0];case bue.VALUE_ROWIDS:throw new Error("Cannot handle VALUE_ROWIDS in first dimension.");case bue.ROW_SPLITS:return this.rowPartitionValuesShapes[0][0]-1;default:throw new Error(`Cannot handle type ${bue[t]}`)}}compute(){if(this.rowPartitionValues[0].length<=0)throw new Error("Invalid first partition input. Tensor requires at least one element.");const e=this.getFirstDimensionSize(),t=this.calculateOutputSize(e),n=new Array(this.raggedRank+1);n[n.length-1]=1;for(let e=n.length-2;e>=0;--e)n[e]=n[e+1]*t[e+1];const i=Eue(t,!1),r=v3.util.getArrayFromDType(this.valuesDType,v3.util.sizeFromShape(i));if(n[0]*t[0]>0){let s=this.calculateFirstParentOutputIndex(e,n[0],t[0]);for(let e=1;e<=this.raggedRank;++e){s=this.calculateOutputIndex(e-1,s,n[e],t[e])}this.setOutput(this.raggedRank,s,r,i)}return[i,r]}setOutput(e,t,n,i){if(0===n.length)return;const r=this.values,s=n;let o=i.slice();o=o.slice(e+1);const a=v3.util.sizeFromShape(o),l=t.length;let u=this.defaultValue;if(u.length!==a&&1!==u.length){const e=this.defaultValueShape;(0,v3.tidy)(()=>{const t=(0,v3.reshape)(u,e),n=(0,v3.broadcastTo)(t,o);u=n.dataSync()})}let c=0,d=0,h=0;for(let e=0;e<=l;++e){let i=e=l){const e=n.length;i=Math.floor(e/a)}if(i>h)if(1===this.defaultValue.length)s.subarray(h*a,i*a).fill(this.defaultValue[0]),h=i;else for(;i>h;){xue(s.slice(h*a),u,a),++h}i<0?(c=e+1,d=h):(c=e,d=h,h=d+1)}else++h}}}function xue(e,t,n){for(let i=0;i= 0`);if(i<-1)throw new Error(`Dimension ${i} must be >= -1`);i=-1}n.push(i)}return n}function wue(e,t,n,i,r,s,o,a,l,u){return new Tue(e,t,n,i,r,s,o,a,l,u).compute()} /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -12786,7 +12786,7 @@ var fue=p3.backend_util.RowPartitionType;class mue{constructor(e,t,n,i,r,s,o,a,l * limitations under the License. * ============================================================================= */ -function vue(e,t,n,i){if(e===t||e1)return p3.util.makeZerosTypedArray(0,i);const r=Math.abs(Math.ceil((t-e)/n)),s=p3.util.makeZerosTypedArray(r,i);t1)return v3.util.makeZerosTypedArray(0,i);const r=Math.abs(Math.ceil((t-e)/n)),s=v3.util.makeZerosTypedArray(r,i);t1)return p3.util.makeZerosTyped * limitations under the License. * ============================================================================= */ -const bue=tle(e=>1/Math.sqrt(e)),Tue=ile(p3.Rsqrt,bue),xue={kernelName:p3.Rsqrt,backendName:"cpu",kernelFunc:Tue}; +const Aue=ale(e=>1/Math.sqrt(e)),Sue=ule(v3.Rsqrt,Aue),Cue={kernelName:v3.Rsqrt,backendName:"cpu",kernelFunc:Sue}; /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -12820,7 +12820,7 @@ const bue=tle(e=>1/Math.sqrt(e)),Tue=ile(p3.Rsqrt,bue),xue={kernelName:p3.Rsqrt, * limitations under the License. * ============================================================================= */ -function Eue(e,t,n,i,r,s,o,a,l,u){const c=[i/r,r],d=e.values,h=t.values;if(0===i)return(0,p3.buffer)(n,t.dtype);const p=l instanceof p3.TensorBuffer?l:(0,p3.buffer)(c,t.dtype);"string"==typeof l||"number"==typeof l?p.values.fill(l):"boolean"==typeof l&&p.values.fill(+l);for(let e=0;e=i/r)throw new Error(`Invalid indices: ${s} does not index into ${n}`);for(let n=0;n=i/r)throw new Error(`Invalid indices: ${s} does not index into ${n}`);for(let n=0;n1/(1+Math.exp(-e))),Iue=nle(p3.Sigmoid,e=>1/(1+Math.exp(-e))),Aue={kernelName:p3.Sigmoid,backendName:"cpu",kernelFunc:Iue}; +const Mue=ale(e=>1/(1+Math.exp(-e))),kue=lle(v3.Sigmoid,e=>1/(1+Math.exp(-e))),Rue={kernelName:v3.Sigmoid,backendName:"cpu",kernelFunc:kue}; /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -12854,7 +12854,7 @@ const wue=tle(e=>1/(1+Math.exp(-e))),Iue=nle(p3.Sigmoid,e=>1/(1+Math.exp(-e))),A * limitations under the License. * ============================================================================= */ -function Sue(e,t,n,i,r){const s=p3.slice_util.isSliceContinous(i,t,n),o=p3.util.sizeFromShape(n),a=p3.util.computeStrides(i);if(s){const n=p3.slice_util.computeFlatOffset(t,a);return"string"===r?e.slice(n,n+o):e.subarray(n,n+o)}const l="string"===r?p3.backend_util.fromUint8ToStringArray(e):e,u=(0,p3.buffer)(i,r,l),c=(0,p3.buffer)(n,r);for(let e=0;ee+t[n]);c.set(u.get(...i),...n)}return"string"===r?p3.backend_util.fromStringArrayToUint8(c.values):c.values}function Cue(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{begin:s,size:o}=i;Cae(r,"slice");const[a,l]=p3.slice_util.parseSliceParams(r,s,o);p3.slice_util.assertParamsValid(r,a,l);const u=Sue(n.data.get(r.dataId).values,a,l,r.shape,r.dtype);return n.makeTensorInfo(l,r.dtype,u)}const Oue={kernelName:p3.Slice,backendName:"cpu",kernelFunc:Cue}; +function Nue(e,t,n,i,r){const s=v3.slice_util.isSliceContinous(i,t,n),o=v3.util.sizeFromShape(n),a=v3.util.computeStrides(i);if(s){const n=v3.slice_util.computeFlatOffset(t,a);return"string"===r?e.slice(n,n+o):e.subarray(n,n+o)}const l="string"===r?v3.backend_util.fromUint8ToStringArray(e):e,u=(0,v3.buffer)(i,r,l),c=(0,v3.buffer)(n,r);for(let e=0;ee+t[n]);c.set(u.get(...i),...n)}return"string"===r?v3.backend_util.fromStringArrayToUint8(c.values):c.values}function Due(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{begin:s,size:o}=i;Dae(r,"slice");const[a,l]=v3.slice_util.parseSliceParams(r,s,o);v3.slice_util.assertParamsValid(r,a,l);const u=Nue(n.data.get(r.dataId).values,a,l,r.shape,r.dtype);return n.makeTensorInfo(l,r.dtype,u)}const Fue={kernelName:v3.Slice,backendName:"cpu",kernelFunc:Due}; /** * @license * Copyright 2021 Google LLC. All Rights Reserved. @@ -12871,7 +12871,7 @@ function Sue(e,t,n,i,r){const s=p3.slice_util.isSliceContinous(i,t,n),o=p3.util. * limitations under the License. * ============================================================================= */ -function Mue(e,t,n,i,r,s,o){const a=t[0],l=s[0],u=new Array(l),c=new Array(a),d=t[1];if(0===l){if(0!==a)throw new Error(p3.backend_util.getSparseFillEmptyRowsIndicesDenseShapeMismatch(a));return[p3.util.getArrayFromDType(n,0),[0,d],p3.util.getArrayFromDType(r,0),u,c]}let h=!0,p=0;const f=new Array(l).fill(0);for(let t=0;t=l)throw new Error(p3.backend_util.getSparseFillEmptyRowsOutOfRangeIndexErrorMessage(t,n,l));++f[n],h=h&&n>=p,p=n}let m=!0;for(let e=0;e0&&(f[e]+=f[e-1])}if(m&&h){const t=e,n=i;for(let e=0;e=l)throw new Error(v3.backend_util.getSparseFillEmptyRowsOutOfRangeIndexErrorMessage(t,n,l));++f[n],h=h&&n>=p,p=n}let m=!0;for(let e=0;e0&&(f[e]+=f[e-1])}if(m&&h){const t=e,n=i;for(let e=0;e0){h[d-1]=1;for(let e=d-2;e>=0;--e)h[e]=h[e+1]*i[e+1]}const p=[];if(a>0){p[a-1]=1;for(let e=a-2;e>=0;--e)p[e]=p[e+1]*l[e+1]}const f=p3.util.getArrayFromDType(n,o*a);for(let t=0;t0){h[d-1]=1;for(let e=d-2;e>=0;--e)h[e]=h[e+1]*i[e+1]}const p=[];if(a>0){p[a-1]=1;for(let e=a-2;e>=0;--e)p[e]=p[e+1]*l[e+1]}const f=v3.util.getArrayFromDType(n,o*a);for(let t=0;t0?r[a-1]+1:0;if(c<0)throw new Error(p3.backend_util.getSparseSegmentReductionNegativeSegmentIdsErrorMessage());const d=t.slice();d[0]=c;const h=d.reduce((e,t)=>e*t,1),p=p3.util.getArrayFromDType(n,h);if(0===a)return c>0&&p.fill(o),[p,d];if(c<=0)throw new Error(p3.backend_util.getSparseSegmentReductionNegativeSegmentIdsErrorMessage());let f=0,m=1,g=0,_=r[f];for(;;){let t=0;if(m=t)throw new Error(p3.backend_util.getSparseSegmentReductionNonIncreasingSegmentIdsErrorMessage())}if(_<0||_>=c)throw new Error(p3.backend_util.getSparseSegmentReductionSegmentIdOutOfRangeErrorMessage(_,c));_>g&&p.fill(o,g*u,_*u);for(let t=f;t=l[0])throw new Error(p3.backend_util.getSparseSegmentReductionIndicesOutOfRangeErrorMessage(t,i[t],l[0]));for(let t=0;ta)break}return g0?r[a-1]+1:0;if(c<0)throw new Error(v3.backend_util.getSparseSegmentReductionNegativeSegmentIdsErrorMessage());const d=t.slice();d[0]=c;const h=d.reduce((e,t)=>e*t,1),p=v3.util.getArrayFromDType(n,h);if(0===a)return c>0&&p.fill(o),[p,d];if(c<=0)throw new Error(v3.backend_util.getSparseSegmentReductionNegativeSegmentIdsErrorMessage());let f=0,m=1,g=0,_=r[f];for(;;){let t=0;if(m=t)throw new Error(v3.backend_util.getSparseSegmentReductionNonIncreasingSegmentIdsErrorMessage())}if(_<0||_>=c)throw new Error(v3.backend_util.getSparseSegmentReductionSegmentIdOutOfRangeErrorMessage(_,c));_>g&&p.fill(o,g*u,_*u);for(let t=f;t=l[0])throw new Error(v3.backend_util.getSparseSegmentReductionIndicesOutOfRangeErrorMessage(t,i[t],l[0]));for(let t=0;ta)break}return gMath.sqrt(e)),Due=nle(p3.Sqrt,e=>Math.sqrt(e)),Fue={kernelName:p3.Sqrt,backendName:"cpu",kernelFunc:Due},Lue=Nae((e,t)=>{const n=e-t;return n*n}),Pue=Yae(p3.SquaredDifference,Lue),Bue={kernelName:p3.SquaredDifference,backendName:"cpu",kernelFunc:Pue},$ue=tle((e,t)=>{const{pattern:n,replaceGlobal:i,rewrite:r}=t;return e.replace(new RegExp(n,i?"g":""),r)}),Uue=ile(p3.StaticRegexReplace,$ue),Vue={kernelName:p3.StaticRegexReplace,backendName:"cpu",kernelFunc:Uue}; +const $ue=ale(e=>Math.sqrt(e)),Uue=lle(v3.Sqrt,e=>Math.sqrt(e)),Vue={kernelName:v3.Sqrt,backendName:"cpu",kernelFunc:Uue},zue=$ae((e,t)=>{const n=e-t;return n*n}),jue=Kae(v3.SquaredDifference,zue),Yue={kernelName:v3.SquaredDifference,backendName:"cpu",kernelFunc:jue},Gue=ale((e,t)=>{const{pattern:n,replaceGlobal:i,rewrite:r}=t;return e.replace(new RegExp(n,i?"g":""),r)}),Hue=ule(v3.StaticRegexReplace,Gue),Wue={kernelName:v3.StaticRegexReplace,backendName:"cpu",kernelFunc:Hue}; /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -12939,7 +12939,7 @@ const Nue=tle(e=>Math.sqrt(e)),Due=nle(p3.Sqrt,e=>Math.sqrt(e)),Fue={kernelName: * limitations under the License. * ============================================================================= */ -function zue(e,t,n,i){const r=(0,p3.buffer)(e,t.dtype);for(let e=0;e0?0:o-a);let h=0;h+=l*this.leftPad.length;for(let t=0;te.forEach(e=>p[f++]=e);for(let e=0;e0){m(e[d+c-1]);for(let e=0;e0){let e=t[0];if(0!==e)throw new Error(`First split value must be 0, got ${e}`);for(let r=1;r=e;if(i=i&&t[r]<=n,!i)throw new Error(`Invalid split value ${t[r]}, must be in [${e}, ${n}]`);e=t[r]}if(e!==n)throw new Error(`Last split value must be data size. Expected ${n}, got ${e}`)}const r=i-1,s=p3.util.getArrayFromDType("int32",i);if(0===n||0===i){const e=new Array(n);for(let e=0;e<=r;++e)s[e]=0;return[e,s]}s[0]=0;for(let e=1;e<=r;++e){const n=t[e]-t[e-1];let i=0;this.nGramWidths.forEach(e=>{i+=this.getNumNGrams(n,e)}),this.preserveShort&&n>0&&0===i&&(i=1),s[e]=s[e-1]+i}const o=new Array(s[r]);for(let n=0;n{const a=t[n+1]-t[n],l=this.getNumNGrams(a,s);this.createNGrams(e,i,o,r,l,s),r+=l}),this.preserveShort&&r===s[n]){const s=t[n+1]-t[n];if(0===s)continue;const a=s+2*this.padWidth,l=1;this.createNGrams(e,i,o,r,l,a)}}return[o,s]}}function Yue(e,t,n,i,r,s,o,a){return new jue(n,i,r,s,o,a).compute(e,t)} +class que{constructor(e,t,n,i,r,s){this.separator=v3.util.encodeString(e),this.nGramWidths=t,this.leftPad=v3.util.encodeString(n),this.rightPad=v3.util.encodeString(i),this.padWidth=r,this.preserveShort=s}getPadWidth(e){return Math.min(this.padWidth<0?e-1:this.padWidth,e-1)}getNumNGrams(e,t){const n=this.getPadWidth(t);return Math.max(0,e+2*n-t+1)}createNGrams(e,t,n,i,r,s){for(let o=0;o0?0:o-a);let h=0;h+=l*this.leftPad.length;for(let t=0;te.forEach(e=>p[f++]=e);for(let e=0;e0){m(e[d+c-1]);for(let e=0;e0){let e=t[0];if(0!==e)throw new Error(`First split value must be 0, got ${e}`);for(let r=1;r=e;if(i=i&&t[r]<=n,!i)throw new Error(`Invalid split value ${t[r]}, must be in [${e}, ${n}]`);e=t[r]}if(e!==n)throw new Error(`Last split value must be data size. Expected ${n}, got ${e}`)}const r=i-1,s=v3.util.getArrayFromDType("int32",i);if(0===n||0===i){const e=new Array(n);for(let e=0;e<=r;++e)s[e]=0;return[e,s]}s[0]=0;for(let e=1;e<=r;++e){const n=t[e]-t[e-1];let i=0;this.nGramWidths.forEach(e=>{i+=this.getNumNGrams(n,e)}),this.preserveShort&&n>0&&0===i&&(i=1),s[e]=s[e-1]+i}const o=new Array(s[r]);for(let n=0;n{const a=t[n+1]-t[n],l=this.getNumNGrams(a,s);this.createNGrams(e,i,o,r,l,s),r+=l}),this.preserveShort&&r===s[n]){const s=t[n+1]-t[n];if(0===s)continue;const a=s+2*this.padWidth,l=1;this.createNGrams(e,i,o,r,l,a)}}return[o,s]}}function Kue(e,t,n,i,r,s,o,a){return new que(n,i,r,s,o,a).compute(e,t)} /** * @license * Copyright 2021 Google LLC. All Rights Reserved. @@ -12973,7 +12973,7 @@ class jue{constructor(e,t,n,i,r,s){this.separator=p3.util.encodeString(e),this.n * limitations under the License. * ============================================================================= */ -function Gue(e,t,n,i){if(!e.length)return;if(0===t.length){for(let t=0;te-t),que=Gae((e,t,n,i)=>({real:e-n,imag:t-i})),Kue=Yae(p3.Sub,Xue,que),Zue={kernelName:p3.Sub,backendName:"cpu",kernelFunc:Kue}; +const ece=$ae((e,t)=>e-t),tce=Zae((e,t,n,i)=>({real:e-n,imag:t-i})),nce=Kae(v3.Sub,ece,tce),ice={kernelName:v3.Sub,backendName:"cpu",kernelFunc:nce}; /** * @license * Copyright 2019 Google LLC. All Rights Reserved. @@ -13024,7 +13024,7 @@ const Xue=Nae((e,t)=>e-t),que=Gae((e,t,n,i)=>({real:e-n,imag:t-i})),Kue=Yae(p3.S * limitations under the License. * ============================================================================= */ -function Que(e,t){const n=new Array(e.rank);for(let i=0;i{const n=t.value-e.value;return 0===n?e.index-t.index:n};function ece(e,t,n=0,i=e.length-1){for(;i>n;){if(i-n>600){const r=i-n+1,s=t-n+1,o=Math.log(r),a=.5*Math.exp(2*o/3),l=.5*Math.sqrt(o*a*(r-a)/r)*Math.sign(s-r/2);ece(e,t,Math.max(n,Math.floor(t-s*a/r+l)),Math.min(i,Math.floor(t+(r-s)*a/r+l)))}const r=e[t];let s=n,o=i;for(p3.util.swap(e,n,t),Jue(e[i],r)>0&&p3.util.swap(e,n,i);s0;)o-=1}0===Jue(e[n],r)?p3.util.swap(e,n,o):(o+=1,p3.util.swap(e,o,i)),o<=t&&(n=o+1),t<=o&&(i=o-1)}}function tce(e,t,n,i,r){const s=t[t.length-1],[o,a]=[e.length/s,s],l=p3.util.getTypedArrayFromDType(n,o*i),u=p3.util.getTypedArrayFromDType("int32",o*i);for(let t=0;to[t]={value:e,index:t}),i{const n=t.value-e.value;return 0===n?e.index-t.index:n};function oce(e,t,n=0,i=e.length-1){for(;i>n;){if(i-n>600){const r=i-n+1,s=t-n+1,o=Math.log(r),a=.5*Math.exp(2*o/3),l=.5*Math.sqrt(o*a*(r-a)/r)*Math.sign(s-r/2);oce(e,t,Math.max(n,Math.floor(t-s*a/r+l)),Math.min(i,Math.floor(t+(r-s)*a/r+l)))}const r=e[t];let s=n,o=i;for(v3.util.swap(e,n,t),sce(e[i],r)>0&&v3.util.swap(e,n,i);s0;)o-=1}0===sce(e[n],r)?v3.util.swap(e,n,o):(o+=1,v3.util.swap(e,o,i)),o<=t&&(n=o+1),t<=o&&(i=o-1)}}function ace(e,t,n,i,r){const s=t[t.length-1],[o,a]=[e.length/s,s],l=v3.util.getTypedArrayFromDType(n,o*i),u=v3.util.getTypedArrayFromDType("int32",o*i);for(let t=0;to[t]={value:e,index:t}),i{const n=t.value-e.value;return 0===n?e.index-t.index:n};functi * limitations under the License. * ============================================================================= */ -function nce(e,t,n,i){const r=p3.util.parseAxisParam(t,n)[0],s=[1,n[0],1];for(let e=0;e{for(let n=0;n{for(let n=0;nnew Mae,1); +(0,v3.registerBackend)("cpu",()=>new Lae,1); /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -13110,7 +13110,7 @@ const ice="4.22.0"; * limitations under the License. * ============================================================================= */ -const rce=nle(p3.Elu,e=>e>=0?e:Math.exp(e)-1),sce={kernelName:p3.Elu,backendName:"cpu",kernelFunc:rce}; +const cce=lle(v3.Elu,e=>e>=0?e:Math.exp(e)-1),dce={kernelName:v3.Elu,backendName:"cpu",kernelFunc:cce}; /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -13127,7 +13127,7 @@ const rce=nle(p3.Elu,e=>e>=0?e:Math.exp(e)-1),sce={kernelName:p3.Elu,backendName * limitations under the License. * ============================================================================= */ -function oce(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{alpha:s}=i;Cae([r],"leakyRelu");const o=p3.util.sizeFromShape(r.shape),a=n.data.get(r.dataId).values,l=p3.util.getTypedArrayFromDType("float32",o);for(let e=0;ee<0?t*e:e);function uce(e){const{inputs:t,backend:n}=e,{x:i,alpha:r}=t;Cae([i,r],"prelu");const s=n.data.get(i.dataId).values,o=n.data.get(r.dataId).values,[a,l]=lce(i.shape,r.shape,s,o,"float32");return n.makeTensorInfo(l,"float32",a)}const cce={kernelName:p3.Prelu,backendName:"cpu",kernelFunc:uce},dce=nle(p3.Relu,e=>Math.max(0,e)),hce={kernelName:p3.Relu,backendName:"cpu",kernelFunc:dce},pce=nle(p3.Relu6,e=>Math.min(Math.max(0,e),6)),fce={kernelName:p3.Relu6,backendName:"cpu",kernelFunc:pce}; +function hce(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{alpha:s}=i;Dae([r],"leakyRelu");const o=v3.util.sizeFromShape(r.shape),a=n.data.get(r.dataId).values,l=v3.util.getTypedArrayFromDType("float32",o);for(let e=0;ee<0?t*e:e);function mce(e){const{inputs:t,backend:n}=e,{x:i,alpha:r}=t;Dae([i,r],"prelu");const s=n.data.get(i.dataId).values,o=n.data.get(r.dataId).values,[a,l]=fce(i.shape,r.shape,s,o,"float32");return n.makeTensorInfo(l,"float32",a)}const gce={kernelName:v3.Prelu,backendName:"cpu",kernelFunc:mce},_ce=lle(v3.Relu,e=>Math.max(0,e)),yce={kernelName:v3.Relu,backendName:"cpu",kernelFunc:_ce},vce=lle(v3.Relu6,e=>Math.min(Math.max(0,e),6)),bce={kernelName:v3.Relu6,backendName:"cpu",kernelFunc:vce}; /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -13144,7 +13144,7 @@ function oce(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{alpha:s}=i;Cae([r], * limitations under the License. * ============================================================================= */ -function mce(e,t,n,i,r){if("linear"===n)return Pae({inputs:{x:t},backend:e});if("relu"===n)return dce({inputs:{x:t},backend:e});if("elu"===n)return rce({inputs:{x:t},backend:e});if("relu6"===n)return pce({inputs:{x:t},backend:e});if("prelu"===n)return uce({inputs:{x:t,alpha:i},backend:e});if("leakyrelu"===n)return oce({inputs:{x:t},backend:e,attrs:{alpha:r}});if("sigmoid"===n)return Iue({inputs:{x:t},backend:e});throw new Error(`Activation ${n} has not been implemented for the CPU backend.`)} +function Tce(e,t,n,i,r){if("linear"===n)return jae({inputs:{x:t},backend:e});if("relu"===n)return _ce({inputs:{x:t},backend:e});if("elu"===n)return cce({inputs:{x:t},backend:e});if("relu6"===n)return vce({inputs:{x:t},backend:e});if("prelu"===n)return mce({inputs:{x:t,alpha:i},backend:e});if("leakyrelu"===n)return hce({inputs:{x:t},backend:e,attrs:{alpha:r}});if("sigmoid"===n)return kue({inputs:{x:t},backend:e});throw new Error(`Activation ${n} has not been implemented for the CPU backend.`)} /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -13161,7 +13161,7 @@ function mce(e,t,n,i,r){if("linear"===n)return Pae({inputs:{x:t},backend:e});if( * limitations under the License. * ============================================================================= */ -function gce(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{shape:s}=i,o=p3.util.sizeFromShape(r.shape),a=p3.util.inferFromImplicitShape(s,o),l=p3.util.sizeFromShape(a);p3.util.assert(o===l,()=>`The new shape (${a}) has ${l} elements and the old shape (${r.shape}) has ${o} elements. The new shape and old shape must have the same number of elements.`),n.incRef(r.dataId);const u=n.data.get(r.dataId);if(null!=u.complexTensorInfos){const e=u.complexTensorInfos.real,t=u.complexTensorInfos.imag;e.shape=a,t.shape=a}return{dataId:r.dataId,shape:a,dtype:r.dtype}}const _ce={kernelName:p3.Reshape,backendName:"cpu",kernelFunc:gce}; +function xce(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{shape:s}=i,o=v3.util.sizeFromShape(r.shape),a=v3.util.inferFromImplicitShape(s,o),l=v3.util.sizeFromShape(a);v3.util.assert(o===l,()=>`The new shape (${a}) has ${l} elements and the old shape (${r.shape}) has ${o} elements. The new shape and old shape must have the same number of elements.`),n.incRef(r.dataId);const u=n.data.get(r.dataId);if(null!=u.complexTensorInfos){const e=u.complexTensorInfos.real,t=u.complexTensorInfos.imag;e.shape=a,t.shape=a}return{dataId:r.dataId,shape:a,dtype:r.dtype}}const Ece={kernelName:v3.Reshape,backendName:"cpu",kernelFunc:xce}; /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -13178,7 +13178,7 @@ function gce(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{shape:s}=i,o=p3.uti * limitations under the License. * ============================================================================= */ -function yce(e){const{inputs:t,backend:n,attrs:i}=e,{a:r,b:s}=t,{transposeA:o,transposeB:a}=i;Cae([r,s],"matMul");const l=r.shape.length,u=s.shape.length,c=o?r.shape[l-2]:r.shape[l-1],d=a?s.shape[u-1]:s.shape[u-2],h=o?r.shape[l-1]:r.shape[l-2],p=a?s.shape[u-2]:s.shape[u-1],f=r.shape.slice(0,-2),m=s.shape.slice(0,-2),g=p3.util.sizeFromShape(f),_=p3.util.sizeFromShape(m),y=p3.broadcast_util.assertAndGetBroadcastShape(r.shape.slice(0,-2),s.shape.slice(0,-2)).concat([h,p]);p3.util.assert(c===d,()=>`Error in matMul: inner shapes (${c}) and (${d}) of Tensors with shapes ${r.shape} and ${s.shape} and transposeA=${o} and transposeB=${a} must match.`);const v=a?[_,p,d]:[_,d,p],b=gce({inputs:{x:r},backend:n,attrs:{shape:o?[g,c,h]:[g,h,c]}}),T=gce({inputs:{x:s},backend:n,attrs:{shape:v}}),x=o?b.shape[1]:b.shape[2],E=o?b.shape[2]:b.shape[1],w=a?T.shape[1]:T.shape[2],I=Math.max(g,_),A=n.data.get(b.dataId).values,S=n.data.get(T.dataId).values,C=p3.util.computeStrides(b.shape),O=p3.util.computeStrides(T.shape),[M,k,R]=o?[C[0],1,C[1]]:[C[0],C[1],1],[N,D,F]=a?[1,O[1],O[0]]:[O[1],1,O[0]],L=E*w,P=(0,p3.buffer)([I,E,w],b.dtype),B=P.values,$=n.blockSize;for(let e=0;e`Error in matMul: inner shapes (${c}) and (${d}) of Tensors with shapes ${r.shape} and ${s.shape} and transposeA=${o} and transposeB=${a} must match.`);const v=a?[_,p,d]:[_,d,p],b=xce({inputs:{x:r},backend:n,attrs:{shape:o?[g,c,h]:[g,h,c]}}),T=xce({inputs:{x:s},backend:n,attrs:{shape:v}}),x=o?b.shape[1]:b.shape[2],E=o?b.shape[2]:b.shape[1],w=a?T.shape[1]:T.shape[2],I=Math.max(g,_),A=n.data.get(b.dataId).values,S=n.data.get(T.dataId).values,C=v3.util.computeStrides(b.shape),O=v3.util.computeStrides(T.shape),[M,k,R]=o?[C[0],1,C[1]]:[C[0],C[1],1],[N,D,F]=a?[1,O[1],O[0]]:[O[1],1,O[0]],L=E*w,P=(0,v3.buffer)([I,E,w],b.dtype),B=P.values,$=n.blockSize;for(let e=0;eMath.acos(e)),xce={kernelName:p3.Acos,backendName:"cpu",kernelFunc:Tce},Ece=nle(p3.Acosh,e=>Math.acosh(e)),wce={kernelName:p3.Acosh,backendName:"cpu",kernelFunc:Ece};const Ice={kernelName:p3.AddN,backendName:"cpu",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{a:r,b:s,bias:o,preluActivationWeights:a}=t,{transposeA:l,transposeB:u,activation:c,leakyreluAlpha:d}=i;let h,p,f;const m=[];h=wce({inputs:{a:r,b:s},attrs:{transposeA:l,transposeB:u},backend:n}),o&&(p=ele({inputs:{a:h,b:o},backend:n}),m.push(h),h=p),c&&(f=Tce(n,h,c,a,d),m.push(h),h=f);for(const e of m)n.disposeIntermediateTensorInfo(e);return h}},Sce=lle(v3.Acos,e=>Math.acos(e)),Cce={kernelName:v3.Acos,backendName:"cpu",kernelFunc:Sce},Oce=lle(v3.Acosh,e=>Math.acosh(e)),Mce={kernelName:v3.Acosh,backendName:"cpu",kernelFunc:Oce};const kce={kernelName:v3.AddN,backendName:"cpu",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -13212,7 +13212,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{a:r,b:s,bias:o,preluActivationW * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n}=e,i=t;Cae(t,"addN");const r=i.map(e=>n.data.get(e.dataId).values),s=(0,p3.buffer)(i[0].shape,i[0].dtype),o=s.values;for(let e=0;en.data.get(e.dataId).values),s=(0,v3.buffer)(i[0].shape,i[0].dtype),o=s.values;for(let e=0;en.dat * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{axis:s,keepDims:o}=i;Cae(r,"all");const a=p3.util.parseAxisParam(s,r.shape);let l=a;const u=p3.backend_util.getAxesPermutation(l,r.shape.length);let c=r;null!=u&&(c=rue({inputs:{x:r},backend:n,attrs:{perm:u}}),l=p3.backend_util.getInnerMostAxes(l.length,r.shape.length)),p3.backend_util.assertAxesAreInnerMostDims("all",l,c.shape.length);const[d,h]=p3.backend_util.computeOutAndReduceShapes(c.shape,l),p=p3.util.sizeFromShape(h),f=p3.util.makeZerosTypedArray(p3.util.sizeFromShape(d),c.dtype),m=n.data.get(c.dataId).values;for(let e=0;en&&(n=r,i=e)}p[e]=i}return u.forEach(e=>n.disposeIntermediateTensorInfo(e)),n.makeTensorInfo(c,"int32",p)}};const Oce={kernelName:p3.ArgMin,backendName:"cpu",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{axis:s}=i;Dae(r,"argMax");let o=v3.util.parseAxisParam(s,r.shape);const a=v3.backend_util.getAxesPermutation(o,r.shape.length);let l=r;const u=[];null!=a&&(l=cue({inputs:{x:r},backend:n,attrs:{perm:a}}),u.push(l),o=v3.backend_util.getInnerMostAxes(o.length,l.shape.length)),o=[o[0]],v3.backend_util.assertAxesAreInnerMostDims("argMax",o,l.shape.length);const[c,d]=v3.backend_util.computeOutAndReduceShapes(l.shape,o),h=v3.util.sizeFromShape(c),p=v3.util.makeZerosTypedArray(h,"int32"),f=v3.util.sizeFromShape(d),m=n.data.get(l.dataId).values;for(let e=0;en&&(n=r,i=e)}p[e]=i}return u.forEach(e=>n.disposeIntermediateTensorInfo(e)),n.makeTensorInfo(c,"int32",p)}};const Fce={kernelName:v3.ArgMin,backendName:"cpu",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -13280,7 +13280,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{axis:s}=i;Cae(r,"argMax * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{axis:s}=i;Cae(r,"argMin");let o=p3.util.parseAxisParam(s,r.shape);const a=p3.backend_util.getAxesPermutation(o,r.shape.length);let l=r;const u=[];null!=a&&(l=rue({inputs:{x:r},backend:n,attrs:{perm:a}}),u.push(l),o=p3.backend_util.getInnerMostAxes(o.length,l.shape.length)),o=[o[0]],p3.backend_util.assertAxesAreInnerMostDims("argMin",o,l.shape.length);const[c,d]=p3.backend_util.computeOutAndReduceShapes(l.shape,o),h=p3.util.sizeFromShape(c),p=p3.util.makeZerosTypedArray(h,"int32"),f=p3.util.sizeFromShape(d),m=n.data.get(l.dataId).values;for(let e=0;en.disposeIntermediateTensorInfo(e)),n.makeTensorInfo(c,"int32",p)}},Mce=nle(p3.Asin,e=>Math.asin(e)),kce={kernelName:p3.Asin,backendName:"cpu",kernelFunc:Mce},Rce=nle(p3.Asinh,e=>Math.asinh(e)),Nce={kernelName:p3.Asinh,backendName:"cpu",kernelFunc:Rce},Dce=nle(p3.Atan,e=>Math.atan(e)),Fce={kernelName:p3.Atan,backendName:"cpu",kernelFunc:Dce},Lce=Nae((e,t)=>Math.atan2(e,t)),Pce=Yae(p3.Atan2,Lce),Bce={kernelName:p3.Atan2,backendName:"cpu",kernelFunc:Pce},$ce=nle(p3.Atanh,e=>Math.atanh(e)),Uce={kernelName:p3.Atanh,backendName:"cpu",kernelFunc:$ce}; +function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{axis:s}=i;Dae(r,"argMin");let o=v3.util.parseAxisParam(s,r.shape);const a=v3.backend_util.getAxesPermutation(o,r.shape.length);let l=r;const u=[];null!=a&&(l=cue({inputs:{x:r},backend:n,attrs:{perm:a}}),u.push(l),o=v3.backend_util.getInnerMostAxes(o.length,l.shape.length)),o=[o[0]],v3.backend_util.assertAxesAreInnerMostDims("argMin",o,l.shape.length);const[c,d]=v3.backend_util.computeOutAndReduceShapes(l.shape,o),h=v3.util.sizeFromShape(c),p=v3.util.makeZerosTypedArray(h,"int32"),f=v3.util.sizeFromShape(d),m=n.data.get(l.dataId).values;for(let e=0;en.disposeIntermediateTensorInfo(e)),n.makeTensorInfo(c,"int32",p)}},Lce=lle(v3.Asin,e=>Math.asin(e)),Pce={kernelName:v3.Asin,backendName:"cpu",kernelFunc:Lce},Bce=lle(v3.Asinh,e=>Math.asinh(e)),$ce={kernelName:v3.Asinh,backendName:"cpu",kernelFunc:Bce},Uce=lle(v3.Atan,e=>Math.atan(e)),Vce={kernelName:v3.Atan,backendName:"cpu",kernelFunc:Uce},zce=$ae((e,t)=>Math.atan2(e,t)),jce=Kae(v3.Atan2,zce),Yce={kernelName:v3.Atan2,backendName:"cpu",kernelFunc:jce},Gce=lle(v3.Atanh,e=>Math.atanh(e)),Hce={kernelName:v3.Atanh,backendName:"cpu",kernelFunc:Gce}; /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -13297,7 +13297,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{axis:s}=i;Cae(r,"argMin * limitations under the License. * ============================================================================= */ -function Vce(e,t,n,i,r,s){const o=r.strideHeight,a=r.strideWidth,l=r.dilationHeight,u=r.dilationWidth,c=r.effectiveFilterHeight,d=r.effectiveFilterWidth,h=r.padInfo.top,p=r.padInfo.left,f="max"===s?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,m=(0,p3.buffer)(r.outShape,n),g=m.values,_=r.outShape[1]*r.outShape[2]*r.outShape[3],y=r.outShape[2]*r.outShape[3],v=r.outShape[3];for(let t=0;t_?_=o:"avg"===s&&(y+=o,b++)}if(isNaN(_))break}g[E+n*v+t]="avg"===s?y/b:_}}}return m}function zce(e,t,n,i,r=!1,s=!1){const o=(0,p3.buffer)(i.outShape,"int32"),a=i.strideHeight,l=i.strideWidth,u=i.dilationHeight,c=i.dilationWidth,d=i.effectiveFilterHeight,h=i.effectiveFilterWidth,p=i.padInfo.top,f=i.padInfo.left,m=(0,p3.buffer)(t,n,e);for(let e=0;eb&&(b=u,T=r?s?((e*i.inHeight+n)*i.inWidth+a)*i.inChannels+t:(n*i.inWidth+a)*i.inChannels+t:o*h+l)}}o.set(T,e,n,a,t)}}return o}function jce(e,t,n,i,r,s){const o=r.strideDepth,a=r.strideHeight,l=r.strideWidth,u=r.dilationDepth,c=r.dilationHeight,d=r.dilationWidth,h=r.effectiveFilterDepth,p=r.effectiveFilterHeight,f=r.effectiveFilterWidth,m=r.padInfo.front,g=r.padInfo.top,_=r.padInfo.left,y="max"===s?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,v=(0,p3.buffer)(r.outShape,n),b=v.values,T=r.outShape[1]*r.outShape[2]*r.outShape[3]*r.outShape[4],x=r.outShape[2]*r.outShape[3]*r.outShape[4],E=r.outShape[3]*r.outShape[4],w=r.outShape[4];for(let t=0;tx?x=r:"avg"===s&&(E+=r,I++),isNaN(x))break}if(isNaN(x))break}if(isNaN(x))break}b[g+t]="avg"===s?E/Math.max(I,1):x}}}}return v}const Yce={kernelName:p3.AvgPool,backendName:"cpu",kernelFunc: +function Wce(e,t,n,i,r,s){const o=r.strideHeight,a=r.strideWidth,l=r.dilationHeight,u=r.dilationWidth,c=r.effectiveFilterHeight,d=r.effectiveFilterWidth,h=r.padInfo.top,p=r.padInfo.left,f="max"===s?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,m=(0,v3.buffer)(r.outShape,n),g=m.values,_=r.outShape[1]*r.outShape[2]*r.outShape[3],y=r.outShape[2]*r.outShape[3],v=r.outShape[3];for(let t=0;t_?_=o:"avg"===s&&(y+=o,b++)}if(isNaN(_))break}g[E+n*v+t]="avg"===s?y/b:_}}}return m}function Xce(e,t,n,i,r=!1,s=!1){const o=(0,v3.buffer)(i.outShape,"int32"),a=i.strideHeight,l=i.strideWidth,u=i.dilationHeight,c=i.dilationWidth,d=i.effectiveFilterHeight,h=i.effectiveFilterWidth,p=i.padInfo.top,f=i.padInfo.left,m=(0,v3.buffer)(t,n,e);for(let e=0;eb&&(b=u,T=r?s?((e*i.inHeight+n)*i.inWidth+a)*i.inChannels+t:(n*i.inWidth+a)*i.inChannels+t:o*h+l)}}o.set(T,e,n,a,t)}}return o}function qce(e,t,n,i,r,s){const o=r.strideDepth,a=r.strideHeight,l=r.strideWidth,u=r.dilationDepth,c=r.dilationHeight,d=r.dilationWidth,h=r.effectiveFilterDepth,p=r.effectiveFilterHeight,f=r.effectiveFilterWidth,m=r.padInfo.front,g=r.padInfo.top,_=r.padInfo.left,y="max"===s?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,v=(0,v3.buffer)(r.outShape,n),b=v.values,T=r.outShape[1]*r.outShape[2]*r.outShape[3]*r.outShape[4],x=r.outShape[2]*r.outShape[3]*r.outShape[4],E=r.outShape[3]*r.outShape[4],w=r.outShape[4];for(let t=0;tx?x=r:"avg"===s&&(E+=r,I++),isNaN(x))break}if(isNaN(x))break}if(isNaN(x))break}b[g+t]="avg"===s?E/Math.max(I,1):x}}}}return v}const Kce={kernelName:v3.AvgPool,backendName:"cpu",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -13314,7 +13314,7 @@ function Vce(e,t,n,i,r,s){const o=r.strideHeight,a=r.strideWidth,l=r.dilationHei * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t;Cae(r,"avgPool");const{filterSize:s,strides:o,pad:a,dimRoundingMode:l}=i;p3.util.assert(p3.backend_util.eitherStridesOrDilationsAreOne(o,1),()=>`Error in avgPool: Either strides or dilations must be 1. Got strides ${o} and dilations '1'`);const u=p3.backend_util.computePool2DInfo(r.shape,s,o,1,a,l);let c;if(1===u.filterWidth&&1===u.filterHeight&&p3.util.arraysEqual(u.inShape,u.outShape))c=Pae({inputs:{x:r},backend:n});else{const e=n.data.get(r.dataId).values,t=p3.util.computeStrides(r.shape),i=Vce(e,r.shape,r.dtype,t,u,"avg");c=n.makeTensorInfo(u.outShape,r.dtype,i.values)}return c}};const Gce={kernelName:p3.AvgPool3D,backendName:"cpu",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t;Dae(r,"avgPool");const{filterSize:s,strides:o,pad:a,dimRoundingMode:l}=i;v3.util.assert(v3.backend_util.eitherStridesOrDilationsAreOne(o,1),()=>`Error in avgPool: Either strides or dilations must be 1. Got strides ${o} and dilations '1'`);const u=v3.backend_util.computePool2DInfo(r.shape,s,o,1,a,l);let c;if(1===u.filterWidth&&1===u.filterHeight&&v3.util.arraysEqual(u.inShape,u.outShape))c=jae({inputs:{x:r},backend:n});else{const e=n.data.get(r.dataId).values,t=v3.util.computeStrides(r.shape),i=Wce(e,r.shape,r.dtype,t,u,"avg");c=n.makeTensorInfo(u.outShape,r.dtype,i.values)}return c}};const Zce={kernelName:v3.AvgPool3D,backendName:"cpu",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -13331,7 +13331,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t;Cae(r,"avgPool");const{f * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{filterSize:s,strides:o,pad:a,dimRoundingMode:l,dataFormat:u}=i;Cae(r,"avgPool3d");const c=p3.backend_util.computePool3DInfo(r.shape,s,o,1,a,l,u),d=jce(n.data.get(r.dataId).values,r.shape,r.dtype,p3.util.computeStrides(r.shape),c,"avg");return n.makeTensorInfo(d.shape,"float32",d.values)}};const Hce={kernelName:p3.AvgPool3DGrad,backendName:"cpu",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{filterSize:s,strides:o,pad:a,dimRoundingMode:l,dataFormat:u}=i;Dae(r,"avgPool3d");const c=v3.backend_util.computePool3DInfo(r.shape,s,o,1,a,l,u),d=qce(n.data.get(r.dataId).values,r.shape,r.dtype,v3.util.computeStrides(r.shape),c,"avg");return n.makeTensorInfo(d.shape,"float32",d.values)}};const Qce={kernelName:v3.AvgPool3DGrad,backendName:"cpu",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -13348,7 +13348,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{filterSize:s,strides:o, * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{dy:r,input:s}=t,{filterSize:o,strides:a,pad:l,dimRoundingMode:u}=i;Cae([r,s],"avgPool3DGrad");const c=p3.backend_util.computePool3DInfo(s.shape,o,a,1,l,u),d=c.strideDepth,h=c.strideHeight,p=c.strideWidth,f=c.filterDepth,m=c.filterHeight,g=c.filterWidth,_=c.dilationDepth,y=c.dilationHeight,v=c.dilationWidth,b=c.effectiveFilterDepth,T=c.effectiveFilterHeight,x=c.effectiveFilterWidth,E=b-1-c.padInfo.front,w=x-1-c.padInfo.left,I=T-1-c.padInfo.top,A=(0,p3.buffer)(s.shape,"float32"),S=1/(f*m*g),C=n.bufferSync(r);for(let e=0;e=c.outDepth||Math.floor(i)!==i))for(let n=0;n=c.outHeight||Math.floor(r)!==r))for(let n=0;n=c.outWidth||Math.floor(s)!==s)continue;l+=C.get(e,i,r,s,t)}}}A.set(l*S,e,n,i,r,t)}return n.makeTensorInfo(A.shape,A.dtype,A.values)}};const Wce={kernelName:p3.AvgPoolGrad,backendName:"cpu",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{dy:r,input:s}=t,{filterSize:o,strides:a,pad:l,dimRoundingMode:u}=i;Dae([r,s],"avgPool3DGrad");const c=v3.backend_util.computePool3DInfo(s.shape,o,a,1,l,u),d=c.strideDepth,h=c.strideHeight,p=c.strideWidth,f=c.filterDepth,m=c.filterHeight,g=c.filterWidth,_=c.dilationDepth,y=c.dilationHeight,v=c.dilationWidth,b=c.effectiveFilterDepth,T=c.effectiveFilterHeight,x=c.effectiveFilterWidth,E=b-1-c.padInfo.front,w=x-1-c.padInfo.left,I=T-1-c.padInfo.top,A=(0,v3.buffer)(s.shape,"float32"),S=1/(f*m*g),C=n.bufferSync(r);for(let e=0;e=c.outDepth||Math.floor(i)!==i))for(let n=0;n=c.outHeight||Math.floor(r)!==r))for(let n=0;n=c.outWidth||Math.floor(s)!==s)continue;l+=C.get(e,i,r,s,t)}}}A.set(l*S,e,n,i,r,t)}return n.makeTensorInfo(A.shape,A.dtype,A.values)}};const Jce={kernelName:v3.AvgPoolGrad,backendName:"cpu",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -13365,7 +13365,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{dy:r,input:s}=t,{filterSize:o,s * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{dy:r,input:s}=t,o=s;Cae([r,s],"avgPoolGrad");const{filterSize:a,strides:l,pad:u}=i,c=p3.backend_util.computePool2DInfo(o.shape,a,l,1,u),d=c.strideHeight,h=c.strideWidth,p=c.filterHeight,f=c.filterWidth,m=c.dilationHeight,g=c.dilationWidth,_=c.effectiveFilterHeight,y=c.effectiveFilterWidth,v=y-1-c.padInfo.left,b=_-1-c.padInfo.top,T=(0,p3.buffer)(o.shape,"float32"),x=1/(p*f),E=n.data.get(r.dataId).values,w=(0,p3.buffer)(r.shape,"float32",E);for(let e=0;e=c.outHeight||Math.floor(i)!==i))for(let n=0;n=c.outWidth||Math.floor(r)!==r)continue;o+=w.get(e,i,r,t)}}T.set(o*x,e,n,i,t)}return n.makeTensorInfo(T.shape,T.dtype,T.values)}};const Xce={kernelName:p3.FusedBatchNorm,backendName:"cpu",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{dy:r,input:s}=t,o=s;Dae([r,s],"avgPoolGrad");const{filterSize:a,strides:l,pad:u}=i,c=v3.backend_util.computePool2DInfo(o.shape,a,l,1,u),d=c.strideHeight,h=c.strideWidth,p=c.filterHeight,f=c.filterWidth,m=c.dilationHeight,g=c.dilationWidth,_=c.effectiveFilterHeight,y=c.effectiveFilterWidth,v=y-1-c.padInfo.left,b=_-1-c.padInfo.top,T=(0,v3.buffer)(o.shape,"float32"),x=1/(p*f),E=n.data.get(r.dataId).values,w=(0,v3.buffer)(r.shape,"float32",E);for(let e=0;e=c.outHeight||Math.floor(i)!==i))for(let n=0;n=c.outWidth||Math.floor(r)!==r)continue;o+=w.get(e,i,r,t)}}T.set(o*x,e,n,i,t)}return n.makeTensorInfo(T.shape,T.dtype,T.values)}};const ede={kernelName:v3.FusedBatchNorm,backendName:"cpu",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -13382,7 +13382,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{dy:r,input:s}=t,o=s;Cae([r,s]," * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r,scale:s,offset:o,mean:a,variance:l}=t;p3.util.assert(a.shape.length===l.shape.length,()=>"Batch normalization gradient requires mean and variance to have equal ranks."),p3.util.assert(null==o||a.shape.length===o.shape.length,()=>"Batch normalization gradient requires mean and offset to have equal ranks."),p3.util.assert(null==s||a.shape.length===s.shape.length,()=>"Batch normalization gradient requires mean and scale to have equal ranks."),Cae([r,a,l,s,o],"batchNorm");let{varianceEpsilon:u}=i;null==u&&(u=.001);const c=n.data.get(r.dataId).values,d=n.data.get(a.dataId).values,h=n.data.get(l.dataId).values,p=s?n.data.get(s.dataId).values:new Float32Array([1]),f=o?n.data.get(o.dataId).values:new Float32Array([0]),m=new Float32Array(c.length),g=f.length,_=p.length,y=h.length,v=d.length;let b=0,T=0,x=0,E=0;for(let e=0;e=g&&(b=0),T>=v&&(T=0),x>=_&&(x=0),E>=y&&(E=0);return n.makeTensorInfo(r.shape,r.dtype,m)}};const qce={kernelName:p3.BatchToSpaceND,backendName:"cpu",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r,scale:s,offset:o,mean:a,variance:l}=t;v3.util.assert(a.shape.length===l.shape.length,()=>"Batch normalization gradient requires mean and variance to have equal ranks."),v3.util.assert(null==o||a.shape.length===o.shape.length,()=>"Batch normalization gradient requires mean and offset to have equal ranks."),v3.util.assert(null==s||a.shape.length===s.shape.length,()=>"Batch normalization gradient requires mean and scale to have equal ranks."),Dae([r,a,l,s,o],"batchNorm");let{varianceEpsilon:u}=i;null==u&&(u=.001);const c=n.data.get(r.dataId).values,d=n.data.get(a.dataId).values,h=n.data.get(l.dataId).values,p=s?n.data.get(s.dataId).values:new Float32Array([1]),f=o?n.data.get(o.dataId).values:new Float32Array([0]),m=new Float32Array(c.length),g=f.length,_=p.length,y=h.length,v=d.length;let b=0,T=0,x=0,E=0;for(let e=0;e=g&&(b=0),T>=v&&(T=0),x>=_&&(x=0),E>=y&&(E=0);return n.makeTensorInfo(r.shape,r.dtype,m)}};const tde={kernelName:v3.BatchToSpaceND,backendName:"cpu",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -13399,7 +13399,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r,scale:s,offset:o,mean:a,var * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{blockShape:s,crops:o}=i;Cae([r],"batchToSpaceND");const a=s.reduce((e,t)=>e*t),l=p3.backend_util.getReshaped(r.shape,s,a),u=p3.backend_util.getPermuted(l.length,s.length),c=p3.backend_util.getReshapedPermuted(r.shape,s,a),d=p3.backend_util.getSliceBeginCoords(o,s.length),h=p3.backend_util.getSliceSize(c,o,s.length),p=gce({inputs:{x:r},backend:n,attrs:{shape:l}}),f=rue({inputs:{x:p},backend:n,attrs:{perm:u}}),m=gce({inputs:{x:f},backend:n,attrs:{shape:c}}),g=Cue({inputs:{x:m},backend:n,attrs:{begin:d,size:h}});return n.disposeIntermediateTensorInfo(p),n.disposeIntermediateTensorInfo(f),n.disposeIntermediateTensorInfo(m),g}};const Kce={kernelName:p3.Bincount,backendName:"cpu",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{blockShape:s,crops:o}=i;Dae([r],"batchToSpaceND");const a=s.reduce((e,t)=>e*t),l=v3.backend_util.getReshaped(r.shape,s,a),u=v3.backend_util.getPermuted(l.length,s.length),c=v3.backend_util.getReshapedPermuted(r.shape,s,a),d=v3.backend_util.getSliceBeginCoords(o,s.length),h=v3.backend_util.getSliceSize(c,o,s.length),p=xce({inputs:{x:r},backend:n,attrs:{shape:l}}),f=cue({inputs:{x:p},backend:n,attrs:{perm:u}}),m=xce({inputs:{x:f},backend:n,attrs:{shape:c}}),g=Due({inputs:{x:m},backend:n,attrs:{begin:d,size:h}});return n.disposeIntermediateTensorInfo(p),n.disposeIntermediateTensorInfo(f),n.disposeIntermediateTensorInfo(m),g}};const nde={kernelName:v3.Bincount,backendName:"cpu",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -13416,7 +13416,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{blockShape:s,crops:o}=i * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r,weights:s}=t,{size:o}=i,a=Kae(n.data.get(r.dataId).values,n.data.get(s.dataId).values,s.dtype,s.shape,o);return n.makeTensorInfo([o],s.dtype,a)}};const Zce={kernelName:p3.BroadcastArgs,backendName:"cpu",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r,weights:s}=t,{size:o}=i,a=nle(n.data.get(r.dataId).values,n.data.get(s.dataId).values,s.dtype,s.shape,o);return n.makeTensorInfo([o],s.dtype,a)}};const ide={kernelName:v3.BroadcastArgs,backendName:"cpu",kernelFunc: /** * @license * Copyright 2021 Google LLC. All Rights Reserved. @@ -13433,7 +13433,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r,weights:s}=t,{size:o}=i,a=K * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n}=e,{s0:i,s1:r}=t,s=n.data.get(i.dataId).values,o=n.data.get(r.dataId).values,a=p3.backend_util.assertAndGetBroadcastShape(Array.from(s),Array.from(o));return n.makeTensorInfo([a.length],"int32",Int32Array.from(a))}},Qce=nle(p3.ClipByValue,(e,t)=>{const n=t;return e>n.clipValueMax?n.clipValueMax:e{const{x:t}=e.inputs,n=e.backend,i=new Float32Array(p3.util.sizeFromShape(t.shape)),r=n.data.get(t.dataId),s=r.complexTensorInfos.real,o=r.complexTensorInfos.imag,a=n.data.get(s.dataId).values,l=n.data.get(o.dataId).values;for(let e=0;e{const n=t;return e>n.clipValueMax?n.clipValueMax:e{const{x:t}=e.inputs,n=e.backend,i=new Float32Array(v3.util.sizeFromShape(t.shape)),r=n.data.get(t.dataId),s=r.complexTensorInfos.real,o=r.complexTensorInfos.imag,a=n.data.get(s.dataId).values,l=n.data.get(o.dataId).values;for(let e=0;ee.shape);p3.backend_util.assertParamsConsistent(o,s);let a=p3.backend_util.computeOutShape(t.map(e=>e.shape),s);if(0===p3.util.sizeFromShape(a))return n.makeTensorInfo(a,t[0].dtype,[]);const l=t.filter(e=>p3.util.sizeFromShape(e.shape)>0);if(1===l.length)return Pae({inputs:{x:l[0]},backend:n});if("complex64"===l[0].dtype){const e=l.map(e=>$ae({inputs:{input:e},backend:n})),t=l.map(e=>tde({inputs:{input:e},backend:n})),i=ide({inputs:e,backend:n,attrs:{axis:s}}),r=ide({inputs:t,backend:n,attrs:{axis:s}}),o=Dae({inputs:{real:i,imag:r},backend:n});return e.forEach(e=>n.disposeIntermediateTensorInfo(e)),t.forEach(e=>n.disposeIntermediateTensorInfo(e)),n.disposeIntermediateTensorInfo(i),n.disposeIntermediateTensorInfo(r),o}const u=l.map(e=>{const t=p3.util.sizeFromShape(e.shape.slice(s));return gce({inputs:{x:e},backend:n,attrs:{shape:[-1,t]}})}),c=u.map(e=>({vals:n.data.get(e.dataId).values,shape:e.shape}));a=p3.backend_util.computeOutShape(u.map(e=>e.shape),1);const d=1===u[0].shape[0],h=ale(c,a,t[0].dtype,d),p=p3.backend_util.computeOutShape(l.map(e=>e.shape),s),f=n.makeTensorInfo(p,t[0].dtype,h);return u.forEach(e=>n.disposeIntermediateTensorInfo(e)),f}const rde={kernelName:p3.Concat,backendName:"cpu",kernelFunc:ide}; +function ude(e){const{inputs:t,backend:n,attrs:i}=e,{axis:r}=i,s=v3.util.parseAxisParam(r,t[0].shape)[0],o=t.map(e=>e.shape);v3.backend_util.assertParamsConsistent(o,s);let a=v3.backend_util.computeOutShape(t.map(e=>e.shape),s);if(0===v3.util.sizeFromShape(a))return n.makeTensorInfo(a,t[0].dtype,[]);const l=t.filter(e=>v3.util.sizeFromShape(e.shape)>0);if(1===l.length)return jae({inputs:{x:l[0]},backend:n});if("complex64"===l[0].dtype){const e=l.map(e=>Gae({inputs:{input:e},backend:n})),t=l.map(e=>ade({inputs:{input:e},backend:n})),i=ude({inputs:e,backend:n,attrs:{axis:s}}),r=ude({inputs:t,backend:n,attrs:{axis:s}}),o=Uae({inputs:{real:i,imag:r},backend:n});return e.forEach(e=>n.disposeIntermediateTensorInfo(e)),t.forEach(e=>n.disposeIntermediateTensorInfo(e)),n.disposeIntermediateTensorInfo(i),n.disposeIntermediateTensorInfo(r),o}const u=l.map(e=>{const t=v3.util.sizeFromShape(e.shape.slice(s));return xce({inputs:{x:e},backend:n,attrs:{shape:[-1,t]}})}),c=u.map(e=>({vals:n.data.get(e.dataId).values,shape:e.shape}));a=v3.backend_util.computeOutShape(u.map(e=>e.shape),1);const d=1===u[0].shape[0],h=ple(c,a,t[0].dtype,d),p=v3.backend_util.computeOutShape(l.map(e=>e.shape),s),f=n.makeTensorInfo(p,t[0].dtype,h);return u.forEach(e=>n.disposeIntermediateTensorInfo(e)),f}const cde={kernelName:v3.Concat,backendName:"cpu",kernelFunc:ude}; /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -13484,7 +13484,7 @@ function ide(e){const{inputs:t,backend:n,attrs:i}=e,{axis:r}=i,s=p3.util.parseAx * limitations under the License. * ============================================================================= */ -function sde(e){const{inputs:t,backend:n,attrs:i}=e,{x:r,filter:s}=t,{strides:o,pad:a,dataFormat:l,dilations:u,dimRoundingMode:c}=i;Cae([r,s],"conv2d");const d=p3.backend_util.convertConv2DDataFormat(l),h=p3.backend_util.computeConv2DInfo(r.shape,s.shape,o,u,a,c,!1,d),p=h.filterHeight,f=h.filterWidth,m=h.dilationHeight,g=h.dilationWidth,_=h.padInfo.left,y=h.padInfo.top,v="channelsLast"===h.dataFormat,b=new p3.TensorBuffer(h.outShape,r.dtype),T=p3.util.computeStrides(r.shape),x=p3.util.computeStrides(s.shape),E=T[0],w=v?T[1]:T[2],I=v?T[2]:1,A=v?1:T[1],S=b.strides[0],C=v?b.strides[1]:b.strides[2],O=v?b.strides[2]:1,M=v?1:b.strides[1],k=n.data.get(r.dataId).values,R=n.data.get(s.dataId).values,N=b.values;for(let e=0;e=h.inHeight)continue;const s=e*x[0],o=t+n*w;for(let e=0;e=h.inWidth)continue;const r=o+i*I;let a=s+e*x[1];for(let e=0;e=h.inHeight)continue;const s=e*x[0],o=t+n*w;for(let e=0;e=h.inWidth)continue;const r=o+i*I;let a=s+e*x[1];for(let e=0;e=u.inDepth)continue;const s=e*I[0],o=t+n*w[1];for(let e=0;e=u.inHeight)continue;const r=s+e*I[1],a=o+i*w[2];for(let e=0;e=u.inWidth)continue;const s=r+e*I[2],o=a+t*u.inChannels;let l=s;for(let e=0;e=u.inDepth)continue;const s=e*I[0],o=t+n*w[1];for(let e=0;e=u.inHeight)continue;const r=s+e*I[1],a=o+i*w[2];for(let e=0;e=u.inWidth)continue;const s=r+e*I[2],o=a+t*u.inChannels;let l=s;for(let e=0;eMath.cos(e)),pde={kernelName:p3.Cos,backendName:"cpu",kernelFunc:hde},fde=nle(p3.Cosh,e=>Math.cosh(e)),mde={kernelName:p3.Cosh,backendName:"cpu",kernelFunc:fde};const gde={kernelName:p3.CropAndResize,backendName:"cpu",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{dy:r,filter:s}=t,{pad:o,strides:a,inputShape:l}=i;Dae([r],"conv3dBackpropInputV2");const u=v3.util.computeStrides(r.shape),c=v3.util.computeStrides(s.shape),d=v3.backend_util.computeConv3DInfo(l,s.shape,a,1,o),h=new v3.TensorBuffer(d.inShape,"float32"),p=h.values,[f,m,g,_]=h.strides,y=n.data.get(r.dataId).values,[v,b,T,x]=u,E=n.data.get(s.dataId).values,[w,I,A,S]=c,{batchSize:C,filterDepth:O,filterHeight:M,filterWidth:k,inChannels:R,inDepth:N,inHeight:D,inWidth:F,outChannels:L,outDepth:P,outHeight:B,outWidth:$,strideDepth:U,strideHeight:V,strideWidth:z}=d,j=O-1-d.padInfo.front,Y=M-1-d.padInfo.top,G=k-1-d.padInfo.left;for(let e=0;eMath.cos(e)),vde={kernelName:v3.Cos,backendName:"cpu",kernelFunc:yde},bde=lle(v3.Cosh,e=>Math.cosh(e)),Tde={kernelName:v3.Cosh,backendName:"cpu",kernelFunc:bde};const xde={kernelName:v3.CropAndResize,backendName:"cpu",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -13586,7 +13586,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{dy:r,filter:s}=t,{pad:o,strides * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{image:r,boxes:s,boxInd:o}=t,{cropSize:a,method:l,extrapolationValue:u}=i,[c,d,h,p]=r.shape,f=s.shape[0],[m,g]=a,_=(0,p3.buffer)([f,m,g,p],"float32"),y=n.data.get(s.dataId).values,v=n.data.get(o.dataId).values,b=n.data.get(r.dataId).values,T=p3.util.computeStrides(r.shape),x=p3.util.computeStrides(_.shape);for(let e=0;e=c)continue;const a=m>1?(r-n)*(d-1)/(m-1):0,f=g>1?(s-i)*(h-1)/(g-1):0;for(let t=0;t1?n*(d-1)+t*a:.5*(n+r)*(d-1);if(c<0||c>d-1)for(let n=0;n1?i*(h-1)+l*f:.5*(i+s)*(h-1);if(c<0||c>h-1){for(let n=0;n1?i*(h-1)+n*f:.5*(i+s)*(h-1);if(r<0||r>h-1){for(let i=0;i=c)continue;const a=m>1?(r-n)*(d-1)/(m-1):0,f=g>1?(s-i)*(h-1)/(g-1):0;for(let t=0;t1?n*(d-1)+t*a:.5*(n+r)*(d-1);if(c<0||c>d-1)for(let n=0;n1?i*(h-1)+l*f:.5*(i+s)*(h-1);if(c<0||c>h-1){for(let n=0;n1?i*(h-1)+n*f:.5*(i+s)*(h-1);if(r<0||r>h-1){for(let i=0;ie+f-t-1:(e,t)=>e+t;for(let e=0;ee+f-t-1:(e,t)=>e+t;for(let e=0;ee+f-t-1:(e,t)=>e+t;for(let e=0;ee+f-t-1:(e,t)=>e+t;for(let e=0;e`Only NHWC dataFormat supported on CPU for depthToSpace. Got ${o}`);const a=r.shape[0],l=r.shape[1],u=r.shape[2],c=r.shape[3],d=l*s,h=u*s,p=c/(s*s),f=n.data.get(r.dataId).values,m=new Float32Array(a*d*h*p);let g=0;for(let e=0;e`Only NHWC dataFormat supported on CPU for depthToSpace. Got ${o}`);const a=r.shape[0],l=r.shape[1],u=r.shape[2],c=r.shape[3],d=l*s,h=u*s,p=c/(s*s),f=n.data.get(r.dataId).values,m=new Float32Array(a*d*h*p);let g=0;for(let e=0;e`Error in depthwiseConv2d: Either strides or dilations must be 1. Got strides ${o} and dilations '${h}'`);const p=p3.backend_util.computeConv2DInfo(r.shape,s.shape,o,h,a,u,!0),{filterHeight:f,filterWidth:m,dilationHeight:g,dilationWidth:_,padInfo:y}=p,v=y.left,b=y.top,T=p.outChannels/p.inChannels,x=new p3.TensorBuffer(p.outShape,r.dtype),E=n.data.get(r.dataId).values,w=n.data.get(s.dataId).values,I=x.values;for(let e=0;e=p.inHeight)continue;const s=e*d[0],o=t+n*c[1];for(let e=0;e=p.inWidth)continue;const r=s+e*d[1],a=o+i*p.inChannels;let l=t,u=r;for(let e=0;e`Error in depthwiseConv2d: Either strides or dilations must be 1. Got strides ${o} and dilations '${h}'`);const p=v3.backend_util.computeConv2DInfo(r.shape,s.shape,o,h,a,u,!0),{filterHeight:f,filterWidth:m,dilationHeight:g,dilationWidth:_,padInfo:y}=p,v=y.left,b=y.top,T=p.outChannels/p.inChannels,x=new v3.TensorBuffer(p.outShape,r.dtype),E=n.data.get(r.dataId).values,w=n.data.get(s.dataId).values,I=x.values;for(let e=0;e=p.inHeight)continue;const s=e*d[0],o=t+n*c[1];for(let e=0;e=p.inWidth)continue;const r=s+e*d[1],a=o+i*p.inChannels;let l=t,u=r;for(let e=0;e{const{x:i,filter:r}=e,{strides:s,pad:o,dilations:a}=n,l=t,u=l.data.get(i.dataId).values,c=i.shape.length,d=l.data.get(r.dataId).values,h=r.shape.length,{batchSize:p,inHeight:f,inWidth:m,inChannels:g,outHeight:_,outWidth:y,padInfo:v,strideHeight:b,strideWidth:T,filterHeight:x,filterWidth:E,dilationHeight:w,dilationWidth:I,outShape:A}=p3.backend_util.computeDilation2DInfo(i.shape,r.shape,s,o,"NHWC",a),S=p3.util.sizeFromShape(A),C=A.length,O=p3.util.getArrayFromDType(i.dtype,S);for(let e=0;e=0&&s=0&&pl&&(l=m)}}}O[p3.util.locToIndex([e,t,s,a],C,p3.util.computeStrides(A))]=l}}}return{dataId:l.write(p3.util.toTypedArray(O,i.dtype),A,i.dtype),shape:A,dtype:i.dtype}}},Sde={kernelName:p3.Dilation2DBackpropFilter,backendName:"cpu",kernelFunc:({inputs:e,backend:t,attrs:n})=>{const{x:i,filter:r,dy:s}=e,{strides:o,pad:a,dilations:l}=n,u=t,c=p3.util.toNestedArray(i.shape,u.data.get(i.dataId).values),d=p3.util.toNestedArray(r.shape,u.data.get(r.dataId).values),{batchSize:h,inHeight:p,inWidth:f,inChannels:m,outHeight:g,outWidth:_,padInfo:y,strideHeight:v,strideWidth:b,filterHeight:T,filterWidth:x,dilationHeight:E,dilationWidth:w,outShape:I}=p3.backend_util.computeDilation2DInfo(i.shape,r.shape,o,a,"NHWC",l);p3.util.assert(s.rank===I.length,()=>`Error in ${p3.Dilation2DBackpropFilter}, dy must have the same rank as output ${I.length}, but got ${s.rank}`);const A=p3.util.toNestedArray(I,u.data.get(s.dataId).values),S=p3.util.makeZerosNestedTypedArray(r.shape,r.dtype);for(let e=0;e=0&&i=0&&uo&&(o=r,a=t,l=n)}}}S[a][l][s]+=A[e][t][i][s]}}}return{dataId:u.write(p3.util.toTypedArray(S,i.dtype),r.shape,r.dtype),shape:r.shape,dtype:r.dtype}}},Cde={kernelName:p3.Dilation2DBackpropInput,backendName:"cpu",kernelFunc:({inputs:e,backend:t,attrs:n})=>{const{x:i,filter:r,dy:s}=e,{strides:o,pad:a,dilations:l}=n,u=t,c=p3.util.toNestedArray(i.shape,u.data.get(i.dataId).values),d=p3.util.toNestedArray(r.shape,u.data.get(r.dataId).values),{batchSize:h,inHeight:p,inWidth:f,inChannels:m,outHeight:g,outWidth:_,padInfo:y,strideHeight:v,strideWidth:b,filterHeight:T,filterWidth:x,dilationHeight:E,dilationWidth:w,outShape:I}=p3.backend_util.computeDilation2DInfo(i.shape,r.shape,o,a,"NHWC",l);p3.util.assert(s.rank===I.length,()=>`Error in ${p3.Dilation2DBackpropInput}, dy must have the same rank as output ${I.length}, but got ${s.rank}`);const A=p3.util.toNestedArray(I,u.data.get(s.dataId).values),S=p3.util.makeZerosNestedTypedArray(i.shape,i.dtype);for(let e=0;e=0&&i=0&&uo&&(o=r,a=i,l=u)}}}S[e][a][l][s]+=A[e][t][i][s]}}}return{dataId:u.write(p3.util.toTypedArray(S,i.dtype),i.shape,i.dtype),shape:i.shape,dtype:i.dtype}}};const Ode={kernelName:p3.Draw,backendName:"cpu",kernelFunc: +function(e){const{inputs:t,backend:n}=e,{x:i}=t,r=v3.util.sizeFromShape(i.shape),s=n.data.get(i.dataId).values,o=(0,v3.buffer)([r,r],i.dtype),a=o.values;for(let e=0;e{const{x:i,filter:r}=e,{strides:s,pad:o,dilations:a}=n,l=t,u=l.data.get(i.dataId).values,c=i.shape.length,d=l.data.get(r.dataId).values,h=r.shape.length,{batchSize:p,inHeight:f,inWidth:m,inChannels:g,outHeight:_,outWidth:y,padInfo:v,strideHeight:b,strideWidth:T,filterHeight:x,filterWidth:E,dilationHeight:w,dilationWidth:I,outShape:A}=v3.backend_util.computeDilation2DInfo(i.shape,r.shape,s,o,"NHWC",a),S=v3.util.sizeFromShape(A),C=A.length,O=v3.util.getArrayFromDType(i.dtype,S);for(let e=0;e=0&&s=0&&pl&&(l=m)}}}O[v3.util.locToIndex([e,t,s,a],C,v3.util.computeStrides(A))]=l}}}return{dataId:l.write(v3.util.toTypedArray(O,i.dtype),A,i.dtype),shape:A,dtype:i.dtype}}},Nde={kernelName:v3.Dilation2DBackpropFilter,backendName:"cpu",kernelFunc:({inputs:e,backend:t,attrs:n})=>{const{x:i,filter:r,dy:s}=e,{strides:o,pad:a,dilations:l}=n,u=t,c=v3.util.toNestedArray(i.shape,u.data.get(i.dataId).values),d=v3.util.toNestedArray(r.shape,u.data.get(r.dataId).values),{batchSize:h,inHeight:p,inWidth:f,inChannels:m,outHeight:g,outWidth:_,padInfo:y,strideHeight:v,strideWidth:b,filterHeight:T,filterWidth:x,dilationHeight:E,dilationWidth:w,outShape:I}=v3.backend_util.computeDilation2DInfo(i.shape,r.shape,o,a,"NHWC",l);v3.util.assert(s.rank===I.length,()=>`Error in ${v3.Dilation2DBackpropFilter}, dy must have the same rank as output ${I.length}, but got ${s.rank}`);const A=v3.util.toNestedArray(I,u.data.get(s.dataId).values),S=v3.util.makeZerosNestedTypedArray(r.shape,r.dtype);for(let e=0;e=0&&i=0&&uo&&(o=r,a=t,l=n)}}}S[a][l][s]+=A[e][t][i][s]}}}return{dataId:u.write(v3.util.toTypedArray(S,i.dtype),r.shape,r.dtype),shape:r.shape,dtype:r.dtype}}},Dde={kernelName:v3.Dilation2DBackpropInput,backendName:"cpu",kernelFunc:({inputs:e,backend:t,attrs:n})=>{const{x:i,filter:r,dy:s}=e,{strides:o,pad:a,dilations:l}=n,u=t,c=v3.util.toNestedArray(i.shape,u.data.get(i.dataId).values),d=v3.util.toNestedArray(r.shape,u.data.get(r.dataId).values),{batchSize:h,inHeight:p,inWidth:f,inChannels:m,outHeight:g,outWidth:_,padInfo:y,strideHeight:v,strideWidth:b,filterHeight:T,filterWidth:x,dilationHeight:E,dilationWidth:w,outShape:I}=v3.backend_util.computeDilation2DInfo(i.shape,r.shape,o,a,"NHWC",l);v3.util.assert(s.rank===I.length,()=>`Error in ${v3.Dilation2DBackpropInput}, dy must have the same rank as output ${I.length}, but got ${s.rank}`);const A=v3.util.toNestedArray(I,u.data.get(s.dataId).values),S=v3.util.makeZerosNestedTypedArray(i.shape,i.dtype);for(let e=0;e=0&&i=0&&uo&&(o=r,a=i,l=u)}}}S[e][a][l][s]+=A[e][t][i][s]}}}return{dataId:u.write(v3.util.toTypedArray(S,i.dtype),i.shape,i.dtype),shape:i.shape,dtype:i.dtype}}};const Fde={kernelName:v3.Draw,backendName:"cpu",kernelFunc: /** * @license * Copyright 2023 Google LLC. @@ -13756,7 +13756,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{image:r}=t,{canvas:s,options:o} * limitations under the License. * ============================================================================= */ -function Mde(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{axis:s,keepDims:o}=i;let a;Cae(r,"sum"),a="bool"===r.dtype?zae({inputs:{x:r},backend:n,attrs:{dtype:"int32"}}):Pae({inputs:{x:r},backend:n});const l=a.shape.length,u=p3.util.parseAxisParam(s,a.shape),c=p3.backend_util.getAxesPermutation(u,l);let d=u,h=a;null!=c&&(h=rue({inputs:{x:a},backend:n,attrs:{perm:c}}),d=p3.backend_util.getInnerMostAxes(d.length,l)),p3.backend_util.assertAxesAreInnerMostDims("sum",d,h.shape.length);const[p,f]=p3.backend_util.computeOutAndReduceShapes(h.shape,d);let m=Lae(n,p,p3.backend_util.upcastType(h.dtype,"int32"));const g=p3.util.sizeFromShape(f),_=n.data.get(m.dataId).values,y=n.data.get(h.dataId).values;for(let e=0;e<_.length;++e){const t=e*g;let n=0;for(let e=0;e=0&&(h=Mde({inputs:{x:h},backend:n,attrs:{axis:u[e]-(o.length-p),keepDims:!1}}),f.push(h)),p--)}for(const e of f)e!==h&&n.disposeIntermediateTensorInfo(e);return h}};const Nde={kernelName:p3.EluGrad,backendName:"cpu",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{equation:r}=i,s=t,{allDims:o,summedDims:a,idDims:l}=v3.backend_util.decodeEinsumEquation(r,s.length);v3.backend_util.checkEinsumDimSizes(o.length,l,s);const{path:u,steps:c}=v3.backend_util.getEinsumComputePath(a,l),d=c.length;let h=null,p=o.length;const f=[];for(let e=0;e=0&&(h=Lde({inputs:{x:h},backend:n,attrs:{axis:u[e]-(o.length-p),keepDims:!1}}),f.push(h)),p--)}for(const e of f)e!==h&&n.disposeIntermediateTensorInfo(e);return h}};const $de={kernelName:v3.EluGrad,backendName:"cpu",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -13790,7 +13790,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{equation:r}=i,s=t,{allDims:o,su * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n}=e,{dy:i,y:r}=t;Cae([i,r],"eluGrad");const s=new Float32Array(p3.util.sizeFromShape(r.shape)),o=n.data.get(r.dataId).values,a=n.data.get(i.dataId).values;for(let e=0;e=0?a[e]:a[e]*(t+1)}return n.makeTensorInfo(r.shape,"float32",s)}},Dde=p3.backend_util.ERF_P,Fde=p3.backend_util.ERF_A1,Lde=p3.backend_util.ERF_A2,Pde=p3.backend_util.ERF_A3,Bde=p3.backend_util.ERF_A4,$de=p3.backend_util.ERF_A5,Ude=nle(p3.Erf,e=>{const t=Math.sign(e),n=Math.abs(e),i=1/(1+Dde*n);return t*(1-(((($de*i+Bde)*i+Pde)*i+Lde)*i+Fde)*i*Math.exp(-n*n))}),Vde={kernelName:p3.Erf,backendName:"cpu",kernelFunc:Ude}; +function(e){const{inputs:t,backend:n}=e,{dy:i,y:r}=t;Dae([i,r],"eluGrad");const s=new Float32Array(v3.util.sizeFromShape(r.shape)),o=n.data.get(r.dataId).values,a=n.data.get(i.dataId).values;for(let e=0;e=0?a[e]:a[e]*(t+1)}return n.makeTensorInfo(r.shape,"float32",s)}},Ude=v3.backend_util.ERF_P,Vde=v3.backend_util.ERF_A1,zde=v3.backend_util.ERF_A2,jde=v3.backend_util.ERF_A3,Yde=v3.backend_util.ERF_A4,Gde=v3.backend_util.ERF_A5,Hde=lle(v3.Erf,e=>{const t=Math.sign(e),n=Math.abs(e),i=1/(1+Ude*n);return t*(1-((((Gde*i+Yde)*i+jde)*i+zde)*i+Vde)*i*Math.exp(-n*n))}),Wde={kernelName:v3.Erf,backendName:"cpu",kernelFunc:Hde}; /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -13807,7 +13807,7 @@ function(e){const{inputs:t,backend:n}=e,{dy:i,y:r}=t;Cae([i,r],"eluGrad");const * limitations under the License. * ============================================================================= */ -function zde(e){const{inputs:t,backend:n,attrs:i}=e,{input:r}=t,{dim:s}=i,o=r.shape.length,a=r.shape.slice();let l=s;return s<0&&(p3.util.assert(-(o+1)<=s,()=>`Axis must be in the interval [${-(o+1)}, ${o}]`),l=o+s+1),a.splice(l,0,1),gce({inputs:{x:r},backend:n,attrs:{shape:a}})}const jde={kernelName:p3.ExpandDims,backendName:"cpu",kernelFunc:zde},Yde=Nae((e,t)=>e/t),Gde=Yae(p3.RealDiv,Yde),Hde={kernelName:p3.RealDiv,backendName:"cpu",kernelFunc:Gde}; +function Xde(e){const{inputs:t,backend:n,attrs:i}=e,{input:r}=t,{dim:s}=i,o=r.shape.length,a=r.shape.slice();let l=s;return s<0&&(v3.util.assert(-(o+1)<=s,()=>`Axis must be in the interval [${-(o+1)}, ${o}]`),l=o+s+1),a.splice(l,0,1),xce({inputs:{x:r},backend:n,attrs:{shape:a}})}const qde={kernelName:v3.ExpandDims,backendName:"cpu",kernelFunc:Xde},Kde=$ae((e,t)=>e/t),Zde=Kae(v3.RealDiv,Kde),Qde={kernelName:v3.RealDiv,backendName:"cpu",kernelFunc:Zde}; /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -13824,7 +13824,7 @@ function zde(e){const{inputs:t,backend:n,attrs:i}=e,{input:r}=t,{dim:s}=i,o=r.sh * limitations under the License. * ============================================================================= */ -function Wde(e,t,n){const i=e.shape,r=i[0],s=i[1],o=n.data.get(e.dataId),a=o.complexTensorInfos.real,l=o.complexTensorInfos.imag,u=[r,s],c=p3.util.sizeFromShape(u),d=p3.util.getTypedArrayFromDType("float32",c),h=p3.util.getTypedArrayFromDType("float32",c);for(let e=0;e{const{image:i}=e,r=n,s=p3.util.getTypedArrayFromDType(i.dtype,p3.util.sizeFromShape(i.shape)),[o,a,l,u]=i.shape,c=r.data.get(i.dataId).values;for(let e=0;e=0&&o{const{image:i}=e,r=n,s=v3.util.getTypedArrayFromDType(i.dtype,v3.util.sizeFromShape(i.shape)),[o,a,l,u]=i.shape,c=r.data.get(i.dataId).values;for(let e=0;e=0&&o=0,()=>`GatherV2: the index value ${t} is not in [0, ${c-1}]`)}let d=a;null==a&&(d=0);const h=p3.util.sizeFromShape(s.shape),p=p3.backend_util.segment_util.collectGatherOpShapeInfo(r,s,l,d),f=gce({inputs:{x:r},backend:n,attrs:{shape:[p.batchSize,p.outerSize,p.dimSize,p.sliceSize]}}),m=gce({inputs:{x:s},backend:n,attrs:{shape:[p.batchSize,h/p.batchSize]}}),g=[p.batchSize,p.outerSize,h/p.batchSize,p.sliceSize],_=n.bufferSync(m),y=wle(n.bufferSync(f),_,g);return n.disposeIntermediateTensorInfo(f),n.disposeIntermediateTensorInfo(m),n.makeTensorInfo(p.outputShape,y.dtype,y.values)}};const rhe={kernelName:p3.IFFT,backendName:"cpu",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r,indices:s}=t,{axis:o,batchDims:a}=i;Dae([r,s],"gatherV2");const l=v3.util.parseAxisParam(o,r.shape)[0],u=n.data.get(s.dataId).values,c=r.shape[l];for(let e=0;e=0,()=>`GatherV2: the index value ${t} is not in [0, ${c-1}]`)}let d=a;null==a&&(d=0);const h=v3.util.sizeFromShape(s.shape),p=v3.backend_util.segment_util.collectGatherOpShapeInfo(r,s,l,d),f=xce({inputs:{x:r},backend:n,attrs:{shape:[p.batchSize,p.outerSize,p.dimSize,p.sliceSize]}}),m=xce({inputs:{x:s},backend:n,attrs:{shape:[p.batchSize,h/p.batchSize]}}),g=[p.batchSize,p.outerSize,h/p.batchSize,p.sliceSize],_=n.bufferSync(m),y=Mle(n.bufferSync(f),_,g);return n.disposeIntermediateTensorInfo(f),n.disposeIntermediateTensorInfo(m),n.makeTensorInfo(p.outputShape,y.dtype,y.values)}};const che={kernelName:v3.IFFT,backendName:"cpu",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -13960,7 +13960,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r,indices:s}=t,{axis:o,batchD * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n}=e,{input:i}=t,r=p3.util.sizeFromShape(i.shape),s=i.shape[i.shape.length-1],o=gce({inputs:{x:i},backend:n,attrs:{shape:[r/s,s]}}),a=Wde(o,!0,n),l=gce({inputs:{x:a},backend:n,attrs:{shape:i.shape}});return n.disposeIntermediateTensorInfo(o),n.disposeIntermediateTensorInfo(a),l}},she=nle(p3.IsFinite,e=>Number.isFinite(e)?1:0,"bool"),ohe={kernelName:p3.IsFinite,backendName:"cpu",kernelFunc:she},ahe=nle(p3.IsInf,e=>Math.abs(e)===1/0?1:0,"bool"),lhe={kernelName:p3.IsInf,backendName:"cpu",kernelFunc:ahe},uhe=nle(p3.IsNan,e=>Number.isNaN(e)?1:0,"bool"),che={kernelName:p3.IsNan,backendName:"cpu",kernelFunc:uhe};const dhe={kernelName:p3.LinSpace,backendName:"cpu",kernelFunc: +function(e){const{inputs:t,backend:n}=e,{input:i}=t,r=v3.util.sizeFromShape(i.shape),s=i.shape[i.shape.length-1],o=xce({inputs:{x:i},backend:n,attrs:{shape:[r/s,s]}}),a=Jde(o,!0,n),l=xce({inputs:{x:a},backend:n,attrs:{shape:i.shape}});return n.disposeIntermediateTensorInfo(o),n.disposeIntermediateTensorInfo(a),l}},dhe=lle(v3.IsFinite,e=>Number.isFinite(e)?1:0,"bool"),hhe={kernelName:v3.IsFinite,backendName:"cpu",kernelFunc:dhe},phe=lle(v3.IsInf,e=>Math.abs(e)===1/0?1:0,"bool"),fhe={kernelName:v3.IsInf,backendName:"cpu",kernelFunc:phe},mhe=lle(v3.IsNan,e=>Number.isNaN(e)?1:0,"bool"),ghe={kernelName:v3.IsNan,backendName:"cpu",kernelFunc:mhe};const _he={kernelName:v3.LinSpace,backendName:"cpu",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -13977,7 +13977,7 @@ function(e){const{inputs:t,backend:n}=e,{input:i}=t,r=p3.util.sizeFromShape(i.sh * limitations under the License. * ============================================================================= */ -function(e){const{backend:t,attrs:n}=e,{start:i,stop:r,num:s}=n,o=Ple(i,r,s);return t.makeTensorInfo([o.length],"float32",o)}},hhe=nle(p3.Log1p,e=>Math.log1p(e)),phe={kernelName:p3.Log1p,backendName:"cpu",kernelFunc:hhe},fhe=Nae((e,t)=>e&&t),mhe=Yae(p3.LogicalAnd,fhe,null,"bool"),ghe={kernelName:p3.LogicalAnd,backendName:"cpu",kernelFunc:mhe},_he=nle(p3.LogicalNot,e=>e?0:1,"bool"),yhe={kernelName:p3.LogicalNot,backendName:"cpu",kernelFunc:_he},vhe=Nae((e,t)=>e||t),bhe=Yae(p3.LogicalOr,vhe,null,"bool"),The={kernelName:p3.LogicalOr,backendName:"cpu",kernelFunc:bhe};const xhe={kernelName:p3.LRN,backendName:"cpu",kernelFunc: +function(e){const{backend:t,attrs:n}=e,{start:i,stop:r,num:s}=n,o=jle(i,r,s);return t.makeTensorInfo([o.length],"float32",o)}},yhe=lle(v3.Log1p,e=>Math.log1p(e)),vhe={kernelName:v3.Log1p,backendName:"cpu",kernelFunc:yhe},bhe=$ae((e,t)=>e&&t),The=Kae(v3.LogicalAnd,bhe,null,"bool"),xhe={kernelName:v3.LogicalAnd,backendName:"cpu",kernelFunc:The},Ehe=lle(v3.LogicalNot,e=>e?0:1,"bool"),whe={kernelName:v3.LogicalNot,backendName:"cpu",kernelFunc:Ehe},Ihe=$ae((e,t)=>e||t),Ahe=Kae(v3.LogicalOr,Ihe,null,"bool"),She={kernelName:v3.LogicalOr,backendName:"cpu",kernelFunc:Ahe};const Che={kernelName:v3.LRN,backendName:"cpu",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -13994,7 +13994,7 @@ function(e){const{backend:t,attrs:n}=e,{start:i,stop:r,num:s}=n,o=Ple(i,r,s);ret * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{depthRadius:s,bias:o,alpha:a,beta:l}=i;Cae(r,"LRN");const u=r.shape[3],c=u-1,d=n.data.get(r.dataId).values,h=p3.util.sizeFromShape(r.shape),p=new Float32Array(h);function f(e){const t=e%u;let n=e-t+Math.max(0,t-s);const i=e-t+Math.min(t+s,c);let r=0;for(;n<=i;n++){const e=d[n];r+=e*e}return r}for(let e=0;e`Error in maxPool: Either strides or dilations must be 1. Got strides ${o} and dilations '1'`);const u=p3.backend_util.computePool2DInfo(r.shape,s,o,1,a,l);let c;if(1===u.filterWidth&&1===u.filterHeight&&p3.util.arraysEqual(u.inShape,u.outShape))c=Pae({inputs:{x:r},backend:n});else{const e=n.data.get(r.dataId).values,t=p3.util.computeStrides(r.shape),i=Vce(e,r.shape,r.dtype,t,u,"max");c=n.makeTensorInfo(u.outShape,r.dtype,i.values)}return c}};const She={kernelName:p3.MaxPool3D,backendName:"cpu",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t;Dae(r,"maxPool");const{filterSize:s,strides:o,pad:a,dimRoundingMode:l}=i;v3.util.assert(v3.backend_util.eitherStridesOrDilationsAreOne(o,1),()=>`Error in maxPool: Either strides or dilations must be 1. Got strides ${o} and dilations '1'`);const u=v3.backend_util.computePool2DInfo(r.shape,s,o,1,a,l);let c;if(1===u.filterWidth&&1===u.filterHeight&&v3.util.arraysEqual(u.inShape,u.outShape))c=jae({inputs:{x:r},backend:n});else{const e=n.data.get(r.dataId).values,t=v3.util.computeStrides(r.shape),i=Wce(e,r.shape,r.dtype,t,u,"max");c=n.makeTensorInfo(u.outShape,r.dtype,i.values)}return c}};const Nhe={kernelName:v3.MaxPool3D,backendName:"cpu",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -14062,7 +14062,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t;Cae(r,"maxPool");const{f * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{filterSize:s,strides:o,pad:a,dimRoundingMode:l,dataFormat:u}=i;Cae(r,"maxPool3d");const c=p3.backend_util.computePool3DInfo(r.shape,s,o,1,a,l,u),d=jce(n.data.get(r.dataId).values,r.shape,r.dtype,p3.util.computeStrides(r.shape),c,"max");return n.makeTensorInfo(d.shape,"float32",d.values)}};const Che={kernelName:p3.MaxPool3DGrad,backendName:"cpu",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{filterSize:s,strides:o,pad:a,dimRoundingMode:l,dataFormat:u}=i;Dae(r,"maxPool3d");const c=v3.backend_util.computePool3DInfo(r.shape,s,o,1,a,l,u),d=qce(n.data.get(r.dataId).values,r.shape,r.dtype,v3.util.computeStrides(r.shape),c,"max");return n.makeTensorInfo(d.shape,"float32",d.values)}};const Dhe={kernelName:v3.MaxPool3DGrad,backendName:"cpu",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -14079,7 +14079,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{filterSize:s,strides:o, * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{dy:r,input:s}=t,{filterSize:o,strides:a,pad:l,dimRoundingMode:u}=i;Cae([r,s],"maxPool3DGrad");const c=p3.backend_util.computePool3DInfo(s.shape,o,a,1,l,u),d=function(e,t){const n=(0,p3.buffer)(t.outShape,"int32"),i=t.strideDepth,r=t.strideHeight,s=t.strideWidth,o=t.dilationDepth,a=t.dilationHeight,l=t.dilationWidth,u=t.effectiveFilterDepth,c=t.effectiveFilterHeight,d=t.effectiveFilterWidth,h=t.padInfo.front,p=t.padInfo.top,f=t.padInfo.left;for(let m=0;m=w&&(w=a,I=n*c*d+r*c+o)}}}n.set(I,m,_,i,r,g)}}}return n}(n.bufferSync(s),c),h=c.strideDepth,p=c.strideHeight,f=c.strideWidth,m=c.dilationDepth,g=c.dilationHeight,_=c.dilationWidth,y=c.effectiveFilterDepth,v=c.effectiveFilterHeight,b=c.effectiveFilterWidth,T=y-1-c.padInfo.front,x=b-1-c.padInfo.left,E=v-1-c.padInfo.top,w=(0,p3.buffer)(s.shape,"float32"),I=n.bufferSync(r);for(let e=0;e=c.outDepth||Math.floor(i)!==i))for(let r=0;r=c.outHeight||Math.floor(s)!==s))for(let o=0;o=c.outWidth||Math.floor(u)!==u)continue;const h=y*v*b-1-d.get(e,i,s,u,t)===n*v*b+r*b+o?1:0;if(0===h)continue;l+=I.get(e,i,s,u,t)*h}}}w.set(l,e,n,i,r,t)}return n.makeTensorInfo(w.shape,w.dtype,w.values)}};const Ohe={kernelName:p3.MaxPoolGrad,backendName:"cpu",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{dy:r,input:s}=t,{filterSize:o,strides:a,pad:l,dimRoundingMode:u}=i;Dae([r,s],"maxPool3DGrad");const c=v3.backend_util.computePool3DInfo(s.shape,o,a,1,l,u),d=function(e,t){const n=(0,v3.buffer)(t.outShape,"int32"),i=t.strideDepth,r=t.strideHeight,s=t.strideWidth,o=t.dilationDepth,a=t.dilationHeight,l=t.dilationWidth,u=t.effectiveFilterDepth,c=t.effectiveFilterHeight,d=t.effectiveFilterWidth,h=t.padInfo.front,p=t.padInfo.top,f=t.padInfo.left;for(let m=0;m=w&&(w=a,I=n*c*d+r*c+o)}}}n.set(I,m,_,i,r,g)}}}return n}(n.bufferSync(s),c),h=c.strideDepth,p=c.strideHeight,f=c.strideWidth,m=c.dilationDepth,g=c.dilationHeight,_=c.dilationWidth,y=c.effectiveFilterDepth,v=c.effectiveFilterHeight,b=c.effectiveFilterWidth,T=y-1-c.padInfo.front,x=b-1-c.padInfo.left,E=v-1-c.padInfo.top,w=(0,v3.buffer)(s.shape,"float32"),I=n.bufferSync(r);for(let e=0;e=c.outDepth||Math.floor(i)!==i))for(let r=0;r=c.outHeight||Math.floor(s)!==s))for(let o=0;o=c.outWidth||Math.floor(u)!==u)continue;const h=y*v*b-1-d.get(e,i,s,u,t)===n*v*b+r*b+o?1:0;if(0===h)continue;l+=I.get(e,i,s,u,t)*h}}}w.set(l,e,n,i,r,t)}return n.makeTensorInfo(w.shape,w.dtype,w.values)}};const Fhe={kernelName:v3.MaxPoolGrad,backendName:"cpu",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -14096,7 +14096,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{dy:r,input:s}=t,{filterSize:o,s * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{dy:r,input:s,output:o}=t,a=s;Cae([s,o],"maxPoolGrad");const{filterSize:l,strides:u,pad:c,dimRoundingMode:d}=i,h=p3.backend_util.computePool2DInfo(a.shape,l,u,1,c,d),p=n.data.get(a.dataId).values,f=(0,p3.buffer)(h.outShape,a.dtype,zce(p,a.shape,a.dtype,h).values),m=h.strideHeight,g=h.strideWidth,_=h.dilationHeight,y=h.dilationWidth,v=h.effectiveFilterHeight,b=h.effectiveFilterWidth,T=b-1-h.padInfo.left,x=v-1-h.padInfo.top,E=(0,p3.buffer)(a.shape,"float32"),w=n.data.get(r.dataId).values,I=(0,p3.buffer)(r.shape,"float32",w);for(let e=0;e=h.outHeight||Math.floor(i)!==i))for(let r=0;r=h.outWidth||Math.floor(a)!==a)continue;const l=v*b-1-f.get(e,i,a,t)===n*b+r?1:0;if(0===l)continue;o+=I.get(e,i,a,t)*l}}E.set(o,e,n,i,t)}return n.makeTensorInfo(E.shape,E.dtype,E.values)}}; +function(e){const{inputs:t,backend:n,attrs:i}=e,{dy:r,input:s,output:o}=t,a=s;Dae([s,o],"maxPoolGrad");const{filterSize:l,strides:u,pad:c,dimRoundingMode:d}=i,h=v3.backend_util.computePool2DInfo(a.shape,l,u,1,c,d),p=n.data.get(a.dataId).values,f=(0,v3.buffer)(h.outShape,a.dtype,Xce(p,a.shape,a.dtype,h).values),m=h.strideHeight,g=h.strideWidth,_=h.dilationHeight,y=h.dilationWidth,v=h.effectiveFilterHeight,b=h.effectiveFilterWidth,T=b-1-h.padInfo.left,x=v-1-h.padInfo.top,E=(0,v3.buffer)(a.shape,"float32"),w=n.data.get(r.dataId).values,I=(0,v3.buffer)(r.shape,"float32",w);for(let e=0;e=h.outHeight||Math.floor(i)!==i))for(let r=0;r=h.outWidth||Math.floor(a)!==a)continue;const l=v*b-1-f.get(e,i,a,t)===n*b+r?1:0;if(0===l)continue;o+=I.get(e,i,a,t)*l}}E.set(o,e,n,i,t)}return n.makeTensorInfo(E.shape,E.dtype,E.values)}}; /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -14113,7 +14113,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{dy:r,input:s,output:o}=t,a=s;Ca * limitations under the License. * ============================================================================= */ -const Mhe={kernelName:p3.MaxPoolWithArgmax,backendName:"cpu",kernelFunc:({inputs:e,attrs:t,backend:n})=>{const{x:i}=e,{filterSize:r,strides:s,pad:o,includeBatchInIndex:a}=t,l=n;Cae(i,"MaxPoolWithArgmax");const u=l.data.get(i.dataId).values,c=p3.backend_util.computePool2DInfo(i.shape,r,s,[1,1],o),[d,h]= +const Lhe={kernelName:v3.MaxPoolWithArgmax,backendName:"cpu",kernelFunc:({inputs:e,attrs:t,backend:n})=>{const{x:i}=e,{filterSize:r,strides:s,pad:o,includeBatchInIndex:a}=t,l=n;Dae(i,"MaxPoolWithArgmax");const u=l.data.get(i.dataId).values,c=v3.backend_util.computePool2DInfo(i.shape,r,s,[1,1],o),[d,h]= /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -14130,7 +14130,7 @@ const Mhe={kernelName:p3.MaxPoolWithArgmax,backendName:"cpu",kernelFunc:({inputs * limitations under the License. * ============================================================================= */ -function(e,t,n,i,r){const s=Vce(e,0,n,p3.util.computeStrides(t),r,"max"),o=zce(e,t,n,r,!0,i);return[s.values,o.values]}(u,i.shape,i.dtype,a,c),p=l.write(d,c.outShape,i.dtype),f=l.write(h,c.outShape,i.dtype);return[{dataId:p,shape:c.outShape,dtype:i.dtype},{dataId:f,shape:c.outShape,dtype:"int32"}]}};const khe={kernelName:p3.Mean,backendName:"cpu",kernelFunc: +function(e,t,n,i,r){const s=Wce(e,0,n,v3.util.computeStrides(t),r,"max"),o=Xce(e,t,n,r,!0,i);return[s.values,o.values]}(u,i.shape,i.dtype,a,c),p=l.write(d,c.outShape,i.dtype),f=l.write(h,c.outShape,i.dtype);return[{dataId:p,shape:c.outShape,dtype:i.dtype},{dataId:f,shape:c.outShape,dtype:"int32"}]}};const Phe={kernelName:v3.Mean,backendName:"cpu",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -14147,7 +14147,7 @@ function(e,t,n,i,r){const s=Vce(e,0,n,p3.util.computeStrides(t),r,"max"),o=zce(e * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{axis:s,keepDims:o}=i,a=p3.util.parseAxisParam(s,r.shape),l=p3.backend_util.computeOutAndReduceShapes(r.shape,a)[1],u=p3.util.sizeFromShape(l),c=[],d=n.makeTensorInfo([],"float32",new Float32Array([u]));c.push(d);const h=zae({inputs:{x:r},backend:n,attrs:{dtype:"float32"}});c.push(h);const p=Gde({inputs:{a:h,b:d},backend:n});c.push(p);const f=Mde({inputs:{x:p},backend:n,attrs:{axis:s,keepDims:o}});return c.forEach(e=>n.disposeIntermediateTensorInfo(e)),f}};const Rhe={kernelName:p3.Min,backendName:"cpu",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{axis:s,keepDims:o}=i,a=v3.util.parseAxisParam(s,r.shape),l=v3.backend_util.computeOutAndReduceShapes(r.shape,a)[1],u=v3.util.sizeFromShape(l),c=[],d=n.makeTensorInfo([],"float32",new Float32Array([u]));c.push(d);const h=Xae({inputs:{x:r},backend:n,attrs:{dtype:"float32"}});c.push(h);const p=Zde({inputs:{a:h,b:d},backend:n});c.push(p);const f=Lde({inputs:{x:p},backend:n,attrs:{axis:s,keepDims:o}});return c.forEach(e=>n.disposeIntermediateTensorInfo(e)),f}};const Bhe={kernelName:v3.Min,backendName:"cpu",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -14164,7 +14164,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{axis:s,keepDims:o}=i,a= * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{axis:s,keepDims:o}=i;Cae(r,"min");const a=p3.util.parseAxisParam(s,r.shape);let l=a;const u=p3.backend_util.getAxesPermutation(l,r.shape.length);let c=r;null!=u&&(c=rue({inputs:{x:r},backend:n,attrs:{perm:u}}),l=p3.backend_util.getInnerMostAxes(l.length,r.shape.length)),p3.backend_util.assertAxesAreInnerMostDims("min",l,c.shape.length);const[d,h]=p3.backend_util.computeOutAndReduceShapes(c.shape,l),p=p3.util.sizeFromShape(h),f=p3.util.makeZerosTypedArray(p3.util.sizeFromShape(d),c.dtype),m=n.data.get(c.dataId).values;for(let e=0;ee[0]+r.shape[t]+e[1]),l=s.map(e=>e[0]),u=s.map((e,t)=>e[0]+r.shape[t]),c="reflect"===o?0:1,d=n.data.get(r.dataId).values,h=r.shape.length,p=p3.util.computeStrides(r.shape),f=p3.util.sizeFromShape(a),m=a.length,g=p3.util.computeStrides(a),_=p3.util.getTypedArrayFromDType(r.dtype,f);for(let e=0;e=u[e]&&(t[e]=2*(u[e]-1)-t[e]+c);t=t.map((e,t)=>e-l[t]);const n=p3.util.locToIndex(t,h,p);_[e]=d[n]}return{dataId:n.write(_,a,r.dtype),shape:a,dtype:r.dtype}}},Dhe=Nae((e,t)=>{const n=e%t;return e<0&&t<0||e>=0&&t>=0?n:(n+t)%t}),Fhe=Yae(p3.Mod,Dhe),Lhe={kernelName:p3.Mod,backendName:"cpu",kernelFunc:Fhe}; +function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{paddings:s,mode:o}=i;Dae(r,"mirrorPad");const a=s.map((e,t)=>e[0]+r.shape[t]+e[1]),l=s.map(e=>e[0]),u=s.map((e,t)=>e[0]+r.shape[t]),c="reflect"===o?0:1,d=n.data.get(r.dataId).values,h=r.shape.length,p=v3.util.computeStrides(r.shape),f=v3.util.sizeFromShape(a),m=a.length,g=v3.util.computeStrides(a),_=v3.util.getTypedArrayFromDType(r.dtype,f);for(let e=0;e=u[e]&&(t[e]=2*(u[e]-1)-t[e]+c);t=t.map((e,t)=>e-l[t]);const n=v3.util.locToIndex(t,h,p);_[e]=d[n]}return{dataId:n.write(_,a,r.dtype),shape:a,dtype:r.dtype}}},Uhe=$ae((e,t)=>{const n=e%t;return e<0&&t<0||e>=0&&t>=0?n:(n+t)%t}),Vhe=Kae(v3.Mod,Uhe),zhe={kernelName:v3.Mod,backendName:"cpu",kernelFunc:Vhe}; /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -14198,7 +14198,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{paddings:s,mode:o}=i;Ca * limitations under the License. * ============================================================================= */ -function Phe(e){const{inputs:t,backend:n,attrs:i}=e,{logits:r}=t,{dim:s}=i,o=r.shape.length;let a=s;if(-1===a&&(a=o-1),a!==o-1)throw Error(`Softmax along a non-last dimension is not yet supported. Logits was rank ${o} and dim was ${a}`);const l=p3.util.parseAxisParam([a],r.shape),u=whe({inputs:{x:r},backend:n,attrs:{reductionIndices:l,keepDims:!1}}),c=p3.backend_util.expandShapeToKeepDim(u.shape,l),d=gce({inputs:{x:u},backend:n,attrs:{shape:c}}),h=Kue({inputs:{a:r,b:d},backend:n}),p=hle({inputs:{x:h},backend:n}),f=Mde({inputs:{x:p},backend:n,attrs:{axis:l,keepDims:!1}}),m=gce({inputs:{x:f},backend:n,attrs:{shape:c}}),g=Gde({inputs:{a:p,b:m},backend:n});return n.disposeIntermediateTensorInfo(u),n.disposeIntermediateTensorInfo(d),n.disposeIntermediateTensorInfo(h),n.disposeIntermediateTensorInfo(p),n.disposeIntermediateTensorInfo(f),n.disposeIntermediateTensorInfo(m),g}const Bhe={kernelName:p3.Softmax,backendName:"cpu",kernelFunc:Phe};const $he={kernelName:p3.Multinomial,backendName:"cpu",kernelFunc: +function jhe(e){const{inputs:t,backend:n,attrs:i}=e,{logits:r}=t,{dim:s}=i,o=r.shape.length;let a=s;if(-1===a&&(a=o-1),a!==o-1)throw Error(`Softmax along a non-last dimension is not yet supported. Logits was rank ${o} and dim was ${a}`);const l=v3.util.parseAxisParam([a],r.shape),u=Mhe({inputs:{x:r},backend:n,attrs:{reductionIndices:l,keepDims:!1}}),c=v3.backend_util.expandShapeToKeepDim(u.shape,l),d=xce({inputs:{x:u},backend:n,attrs:{shape:c}}),h=nce({inputs:{a:r,b:d},backend:n}),p=yle({inputs:{x:h},backend:n}),f=Lde({inputs:{x:p},backend:n,attrs:{axis:l,keepDims:!1}}),m=xce({inputs:{x:f},backend:n,attrs:{shape:c}}),g=Zde({inputs:{a:p,b:m},backend:n});return n.disposeIntermediateTensorInfo(u),n.disposeIntermediateTensorInfo(d),n.disposeIntermediateTensorInfo(h),n.disposeIntermediateTensorInfo(p),n.disposeIntermediateTensorInfo(f),n.disposeIntermediateTensorInfo(m),g}const Yhe={kernelName:v3.Softmax,backendName:"cpu",kernelFunc:jhe};const Ghe={kernelName:v3.Multinomial,backendName:"cpu",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -14215,7 +14215,7 @@ function Phe(e){const{inputs:t,backend:n,attrs:i}=e,{logits:r}=t,{dim:s}=i,o=r.s * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{logits:r}=t,{numSamples:s,seed:o,normalized:a}=i;Cae(r,"multinomial");const l=a?r:Phe({inputs:{logits:r},backend:n,attrs:{dim:-1}}),u=l.shape[0],c=l.shape[1],d=n.data.get(l.dataId).values,h=[u,s],p=p3.util.makeZerosTypedArray(p3.util.sizeFromShape(h),"int32");for(let e=0;e=0&&d[e]=0&&d[e]{p3.util.assertShapesMatch(s,e.shape,"All tensors passed to stack must have matching shapes"),p3.util.assert(o===e.dtype,()=>"All tensors passed to stack must have matching dtypes")});const a=[],l=ide({inputs:t.map(e=>{const t=zde({inputs:{input:e},backend:n,attrs:{dim:r}});return a.push(t),t}),backend:n,attrs:{axis:r}});return a.forEach(e=>n.disposeIntermediateTensorInfo(e)),l}const Zhe={kernelName:p3.Pack,backendName:"cpu",kernelFunc:Khe};const Qhe={kernelName:p3.PadV2,backendName:"cpu",kernelFunc: +function npe(e){const{inputs:t,backend:n,attrs:i}=e,{axis:r}=i;if(1===t.length)return Xde({inputs:{input:t[0]},backend:n,attrs:{dim:r}});const s=t[0].shape,o=t[0].dtype;t.forEach(e=>{v3.util.assertShapesMatch(s,e.shape,"All tensors passed to stack must have matching shapes"),v3.util.assert(o===e.dtype,()=>"All tensors passed to stack must have matching dtypes")});const a=[],l=ude({inputs:t.map(e=>{const t=Xde({inputs:{input:e},backend:n,attrs:{dim:r}});return a.push(t),t}),backend:n,attrs:{axis:r}});return a.forEach(e=>n.disposeIntermediateTensorInfo(e)),l}const ipe={kernelName:v3.Pack,backendName:"cpu",kernelFunc:npe};const rpe={kernelName:v3.PadV2,backendName:"cpu",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -14300,7 +14300,7 @@ function Khe(e){const{inputs:t,backend:n,attrs:i}=e,{axis:r}=i;if(1===t.length)r * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{paddings:s,constantValue:o}=i;Cae(r,"pad");const a=s.map((e,t)=>e[0]+r.shape[t]+e[1]),l=s.map(e=>e[0]),u=n.data.get(r.dataId).values,c=p3.util.sizeFromShape(r.shape),d=r.shape.length,h=p3.util.computeStrides(r.shape),p=p3.util.sizeFromShape(a),f=a.length,m=p3.util.computeStrides(a),g=p3.util.getTypedArrayFromDType(r.dtype,p);0!==o&&g.fill(o);for(let e=0;ee+l[t]);g[p3.util.locToIndex(t,f,m)]=u[e]}return{dataId:n.write(g,a,r.dtype),shape:a,dtype:r.dtype}}},Jhe=Nae((e,t)=>Math.pow(e,t)),epe=Yae(p3.Pow,Jhe),tpe={kernelName:p3.Pow,backendName:"cpu",kernelFunc:epe};const npe={kernelName:p3.RaggedGather,backendName:"cpu",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{paddings:s,constantValue:o}=i;Dae(r,"pad");const a=s.map((e,t)=>e[0]+r.shape[t]+e[1]),l=s.map(e=>e[0]),u=n.data.get(r.dataId).values,c=v3.util.sizeFromShape(r.shape),d=r.shape.length,h=v3.util.computeStrides(r.shape),p=v3.util.sizeFromShape(a),f=a.length,m=v3.util.computeStrides(a),g=v3.util.getTypedArrayFromDType(r.dtype,p);0!==o&&g.fill(o);for(let e=0;ee+l[t]);g[v3.util.locToIndex(t,f,m)]=u[e]}return{dataId:n.write(g,a,r.dtype),shape:a,dtype:r.dtype}}},spe=$ae((e,t)=>Math.pow(e,t)),ope=Kae(v3.Pow,spe),ape={kernelName:v3.Pow,backendName:"cpu",kernelFunc:ope};const lpe={kernelName:v3.RaggedGather,backendName:"cpu",kernelFunc: /** * @license * Copyright 2022 Google LLC. All Rights Reserved. @@ -14317,7 +14317,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{paddings:s,constantValu * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{paramsNestedSplits:r,paramsDenseValues:s,indices:o}=t,{outputRaggedRank:a}=i,l=r.map(e=>n.data.get(e.dataId).values),u=r.map(e=>e.shape),c=n.data.get(s.dataId).values,d=n.data.get(o.dataId).values,[h,p,f]=due(l,u,c,s.shape,s.dtype,d,o.shape),m=h.map(e=>n.makeTensorInfo([e.length],"int32",e)),g=n.makeTensorInfo(f,s.dtype,p);return m.concat([g])}};const ipe={kernelName:p3.RaggedRange,backendName:"cpu",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{paramsNestedSplits:r,paramsDenseValues:s,indices:o}=t,{outputRaggedRank:a}=i,l=r.map(e=>n.data.get(e.dataId).values),u=r.map(e=>e.shape),c=n.data.get(s.dataId).values,d=n.data.get(o.dataId).values,[h,p,f]=_ue(l,u,c,s.shape,s.dtype,d,o.shape),m=h.map(e=>n.makeTensorInfo([e.length],"int32",e)),g=n.makeTensorInfo(f,s.dtype,p);return m.concat([g])}};const upe={kernelName:v3.RaggedRange,backendName:"cpu",kernelFunc: /** * @license * Copyright 2022 Google LLC. @@ -14334,7 +14334,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{paramsNestedSplits:r,paramsDens * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n}=e,{starts:i,limits:r,deltas:s}=t,o=n.data.get(i.dataId).values,a=n.data.get(r.dataId).values,l=n.data.get(s.dataId).values,[u,c]=pue(o,i.shape,i.dtype,a,r.shape,l,s.shape);return[n.makeTensorInfo([u.length],"int32",u),n.makeTensorInfo([c.length],i.dtype,c)]}};const rpe={kernelName:p3.RaggedTensorToTensor,backendName:"cpu",kernelFunc: +function(e){const{inputs:t,backend:n}=e,{starts:i,limits:r,deltas:s}=t,o=n.data.get(i.dataId).values,a=n.data.get(r.dataId).values,l=n.data.get(s.dataId).values,[u,c]=vue(o,i.shape,i.dtype,a,r.shape,l,s.shape);return[n.makeTensorInfo([u.length],"int32",u),n.makeTensorInfo([c.length],i.dtype,c)]}};const cpe={kernelName:v3.RaggedTensorToTensor,backendName:"cpu",kernelFunc: /** * @license * Copyright 2022 Google LLC. All Rights Reserved. @@ -14351,7 +14351,7 @@ function(e){const{inputs:t,backend:n}=e,{starts:i,limits:r,deltas:s}=t,o=n.data. * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{shape:r,values:s,defaultValue:o,rowPartitionTensors:a}=t,{rowPartitionTypes:l}=i,u=n.data.get(r.dataId).values,c=n.data.get(s.dataId).values,d=n.data.get(o.dataId).values,h=a.map(e=>n.data.get(e.dataId).values),p=a.map(e=>e.shape),[f,m]=yue(u,r.shape,c,s.shape,s.dtype,d,o.shape,h,p,l);return n.makeTensorInfo(f,s.dtype,m)}};const spe={kernelName:p3.Range,backendName:"cpu",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{shape:r,values:s,defaultValue:o,rowPartitionTensors:a}=t,{rowPartitionTypes:l}=i,u=n.data.get(r.dataId).values,c=n.data.get(s.dataId).values,d=n.data.get(o.dataId).values,h=a.map(e=>n.data.get(e.dataId).values),p=a.map(e=>e.shape),[f,m]=wue(u,r.shape,c,s.shape,s.dtype,d,o.shape,h,p,l);return n.makeTensorInfo(f,s.dtype,m)}};const dpe={kernelName:v3.Range,backendName:"cpu",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -14368,7 +14368,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{shape:r,values:s,defaultValue:o * limitations under the License. * ============================================================================= */ -function(e){const{backend:t,attrs:n}=e,{start:i,stop:r,dtype:s,step:o}=n,a=vue(i,r,o,s);return t.makeTensorInfo([a.length],s,a)}},ope=nle(p3.Reciprocal,e=>1/e),ape={kernelName:p3.Reciprocal,backendName:"cpu",kernelFunc:ope};const lpe={kernelName:p3.ResizeBilinear,backendName:"cpu",kernelFunc: +function(e){const{backend:t,attrs:n}=e,{start:i,stop:r,dtype:s,step:o}=n,a=Iue(i,r,o,s);return t.makeTensorInfo([a.length],s,a)}},hpe=lle(v3.Reciprocal,e=>1/e),ppe={kernelName:v3.Reciprocal,backendName:"cpu",kernelFunc:hpe};const fpe={kernelName:v3.ResizeBilinear,backendName:"cpu",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -14385,7 +14385,7 @@ function(e){const{backend:t,attrs:n}=e,{start:i,stop:r,dtype:s,step:o}=n,a=vue(i * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{images:r}=t,{alignCorners:s,halfPixelCenters:o,size:a}=i;Cae(r,"resizeBilinear");const l=p3.util.computeStrides(r.shape),[u,c]=a,[d,h,p,f]=r.shape,m=n.data.get(r.dataId).values,g=new Float32Array(p3.util.sizeFromShape([d,u,c,f])),_=[s&&u>1?h-1:h,s&&c>1?p-1:p],y=[s&&u>1?u-1:u,s&&c>1?c-1:c];let v=0;const b=_[0]/y[0],T=_[1]/y[1];for(let e=0;e1?h-1:h,s&&c>1?p-1:p],y=[s&&u>1?u-1:u,s&&c>1?c-1:c];let v=0;const b=_[0]/y[0],T=_[1]/y[1];for(let e=0;e1?u-1:u,o&&p>1?c-1:c],g=[o&&h>1?h-1:h,o&&p>1?p-1:p],_=m[0]/g[0],y=m[1]/g[1],v=n.data.get(s.dataId).values;let b=0;for(let e=0;e1?u-1:u,o&&p>1?c-1:c],g=[o&&h>1?h-1:h,o&&p>1?p-1:p],_=m[0]/g[0],y=m[1]/g[1],v=n.data.get(s.dataId).values;let b=0;for(let e=0;e1?h-1:h,s&&c>1?p-1:p],y=[s&&u>1?u-1:u,s&&c>1?c-1:c],v=_[0]/y[0],b=_[1]/y[1];let T=0;for(let e=0;e1?h-1:h,s&&c>1?p-1:p],y=[s&&u>1?u-1:u,s&&c>1?c-1:c],v=_[0]/y[0],b=_[1]/y[1];let T=0;for(let e=0;e1?c-1:c,o&&f>1?d-1:d],y=[o&&p>1?p-1:p,o&&f>1?f-1:f],v=_[0]/y[0],b=_[1]/y[1],T=1/v,x=1/b,E=2*Math.ceil(T)+2,w=2*Math.ceil(x)+2;for(let e=0;e=p)continue;const h=t+u*l[1],m=u*v;if(e===Math.min(c-1,o?Math.round(m):Math.floor(m)))for(let e=0;e=f)continue;const r=h+t*l[2],s=t*b;i===Math.min(d-1,o?Math.round(s):Math.floor(s))&&(a+=g[r+n])}}m[s+n]=a}}}}return n.makeTensorInfo(r.shape,r.dtype,m)}};const hpe={kernelName:p3.Reverse,backendName:"cpu",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{images:r,dy:s}=t,{alignCorners:o}=i;Dae([s,r],"resizeNearestNeighborGrad");const a=v3.util.computeStrides(r.shape),l=v3.util.computeStrides(s.shape),[u,c,d,h]=r.shape,[,p,f]=s.shape,m=new Float32Array(u*c*d*h),g=n.data.get(s.dataId).values,_=[o&&p>1?c-1:c,o&&f>1?d-1:d],y=[o&&p>1?p-1:p,o&&f>1?f-1:f],v=_[0]/y[0],b=_[1]/y[1],T=1/v,x=1/b,E=2*Math.ceil(T)+2,w=2*Math.ceil(x)+2;for(let e=0;e=p)continue;const h=t+u*l[1],m=u*v;if(e===Math.min(c-1,o?Math.round(m):Math.floor(m)))for(let e=0;e=f)continue;const r=h+t*l[2],s=t*b;i===Math.min(d-1,o?Math.round(s):Math.floor(s))&&(a+=g[r+n])}}m[s+n]=a}}}}return n.makeTensorInfo(r.shape,r.dtype,m)}};const ype={kernelName:v3.Reverse,backendName:"cpu",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -14453,7 +14453,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{images:r,dy:s}=t,{alignCorners: * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{dims:s}=i;Cae(r,"reverse");const o=r.shape.length,a=p3.util.parseAxisParam(s,r.shape);if(0===o)return Pae({inputs:{x:r},backend:n});const l=new p3.TensorBuffer(r.shape,r.dtype),u=n.bufferSync(r);for(let e=0;en[e]=r.shape[e]-1-n[e]),l.set(u.get(...n),...t)}return n.makeTensorInfo(l.shape,l.dtype,l.values)}},ppe={kernelName:p3.RotateWithOffset,backendName:"cpu",kernelFunc:({inputs:e,attrs:t,backend:n})=>{const{image:i}=e,{radians:r,fillValue:s,center:o}=t,a=n,l=p3.util.getTypedArrayFromDType(i.dtype,p3.util.sizeFromShape(i.shape)),[u,c,d,h]=i.shape,[p,f]=p3.backend_util.getImageCenter(o,c,d),m=Math.sin(r),g=Math.cos(r),_=a.data.get(i.dataId).values;for(let e=0;e=0&&b=0&&T{const t=Math.floor(e);return e-t<.5?Math.floor(e):e-t>.5?Math.ceil(e):t%2==0?t:t+1}),mpe={kernelName:p3.Round,backendName:"cpu",kernelFunc:fpe};const gpe={kernelName:p3.ScatterNd,backendName:"cpu",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{dims:s}=i;Dae(r,"reverse");const o=r.shape.length,a=v3.util.parseAxisParam(s,r.shape);if(0===o)return jae({inputs:{x:r},backend:n});const l=new v3.TensorBuffer(r.shape,r.dtype),u=n.bufferSync(r);for(let e=0;en[e]=r.shape[e]-1-n[e]),l.set(u.get(...n),...t)}return n.makeTensorInfo(l.shape,l.dtype,l.values)}},vpe={kernelName:v3.RotateWithOffset,backendName:"cpu",kernelFunc:({inputs:e,attrs:t,backend:n})=>{const{image:i}=e,{radians:r,fillValue:s,center:o}=t,a=n,l=v3.util.getTypedArrayFromDType(i.dtype,v3.util.sizeFromShape(i.shape)),[u,c,d,h]=i.shape,[p,f]=v3.backend_util.getImageCenter(o,c,d),m=Math.sin(r),g=Math.cos(r),_=a.data.get(i.dataId).values;for(let e=0;e=0&&b=0&&T{const t=Math.floor(e);return e-t<.5?Math.floor(e):e-t>.5?Math.ceil(e):t%2==0?t:t+1}),Tpe={kernelName:v3.Round,backendName:"cpu",kernelFunc:bpe};const xpe={kernelName:v3.ScatterNd,backendName:"cpu",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -14470,7 +14470,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{dims:s}=i;Cae(r,"revers * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{indices:r,updates:s}=t,{shape:o}=i,{sliceRank:a,numUpdates:l,sliceSize:u,strides:c,outputSize:d}=p3.backend_util.calculateShapes(s,r,o),h=Eue(n.bufferSync(r),n.bufferSync(s),o,d,u,l,a,c,0,!0);return n.makeTensorInfo(o,h.dtype,h.values)}}; +function(e){const{inputs:t,backend:n,attrs:i}=e,{indices:r,updates:s}=t,{shape:o}=i,{sliceRank:a,numUpdates:l,sliceSize:u,strides:c,outputSize:d}=v3.backend_util.calculateShapes(s,r,o),h=Oue(n.bufferSync(r),n.bufferSync(s),o,d,u,l,a,c,0,!0);return n.makeTensorInfo(o,h.dtype,h.values)}}; /** * @license * Copyright 2022 Google LLC. All Rights Reserved. @@ -14487,7 +14487,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{indices:r,updates:s}=t,{shape:o * limitations under the License. * ============================================================================= */ -function _pe(e,t){let n=0,i=e.length,r=0;for(;n1||1===r.shape.length?1:p3.util.sizeFromShape(r.shape.slice(1));for(let e=0;ee>=0?xpe*e:Tpe*(Math.exp(e)-1)),wpe={kernelName:p3.Selu,backendName:"cpu",kernelFunc:Epe},Ipe=nle(p3.Sign,e=>e<0?-1:e>0?1:0),Ape={kernelName:p3.Sign,backendName:"cpu",kernelFunc:Ipe},Spe=nle(p3.Sin,e=>Math.sin(e)),Cpe={kernelName:p3.Sin,backendName:"cpu",kernelFunc:Spe},Ope=nle(p3.Sinh,e=>Math.sinh(e)),Mpe={kernelName:p3.Sinh,backendName:"cpu",kernelFunc:Ope},kpe=Math.log(1.1920928955078125e-7)+2,Rpe=nle(p3.Softplus,e=>{const t=e>-kpe,n=e1||1===r.shape.length?1:v3.util.sizeFromShape(r.shape.slice(1));for(let e=0;ee>=0?Cpe*e:Spe*(Math.exp(e)-1)),Mpe={kernelName:v3.Selu,backendName:"cpu",kernelFunc:Ope},kpe=lle(v3.Sign,e=>e<0?-1:e>0?1:0),Rpe={kernelName:v3.Sign,backendName:"cpu",kernelFunc:kpe},Npe=lle(v3.Sin,e=>Math.sin(e)),Dpe={kernelName:v3.Sin,backendName:"cpu",kernelFunc:Npe},Fpe=lle(v3.Sinh,e=>Math.sinh(e)),Lpe={kernelName:v3.Sinh,backendName:"cpu",kernelFunc:Fpe},Ppe=Math.log(1.1920928955078125e-7)+2,Bpe=lle(v3.Softplus,e=>{const t=e>-Ppe,n=eNumber(e)))),n.makeTensorInfo([m.length],i.dtype,new Int32Array(m))]}};const Lpe={kernelName:p3.SparseReshape,backendName:"cpu",kernelFunc: +function(e){const{inputs:t,backend:n}=e,{indices:i,values:r,denseShape:s,defaultValue:o}=t;if(1!==s.shape.length)throw new Error(`Dense shape must be a vector, saw:\n ${s.shape}`);if(2!==i.shape.length)throw new Error(`Indices must be a matrix, saw:\n ${i.shape}`);if(1!==r.shape.length)throw new Error(`Values must be a vector, saw:\n ${r.shape}`);if(0!==o.shape.length)throw new Error(`Default value must be a scalar, saw:\n ${o.shape}`);const a=n.data.get(i.dataId).values,l=n.data.get(r.dataId).values,u=n.data.get(s.dataId).values,c=n.data.get(o.dataId).values[0],[d,h,p,f,m]=Lue(a,i.shape,i.dtype,l,r.dtype,u,c);return[n.makeTensorInfo(h,i.dtype,d),n.makeTensorInfo([h[0]],r.dtype,p),n.makeTensorInfo([f.length],"bool",new Uint8Array(f.map(e=>Number(e)))),n.makeTensorInfo([m.length],i.dtype,new Int32Array(m))]}};const zpe={kernelName:v3.SparseReshape,backendName:"cpu",kernelFunc: /** * @license * Copyright 2021 Google LLC. All Rights Reserved. @@ -14572,7 +14572,7 @@ function(e){const{inputs:t,backend:n}=e,{indices:i,values:r,denseShape:s,default * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n}=e,{inputIndices:i,inputShape:r,newShape:s}=t;if(2!==i.shape.length)throw new Error(`Input indices should be a matrix but received shape\n ${i.shape}`);if(1!==r.shape.length)throw new Error(`Input shape should be a vector but received shape\n ${r.shape}`);if(1!==s.shape.length)throw new Error(`Target shape should be a vector but received shape ${s.shape}`);const o=Array.from(n.data.get(r.dataId).values),a=n.data.get(i.dataId).values,l=Array.from(n.data.get(s.dataId).values),[u,c,d]=kue(a,i.shape,i.dtype,o,l);return[n.makeTensorInfo(c,i.dtype,u),n.makeTensorInfo([d.length],s.dtype,new Int32Array(d))]}};const Ppe={kernelName:p3.SparseSegmentMean,backendName:"cpu",kernelFunc: +function(e){const{inputs:t,backend:n}=e,{inputIndices:i,inputShape:r,newShape:s}=t;if(2!==i.shape.length)throw new Error(`Input indices should be a matrix but received shape\n ${i.shape}`);if(1!==r.shape.length)throw new Error(`Input shape should be a vector but received shape\n ${r.shape}`);if(1!==s.shape.length)throw new Error(`Target shape should be a vector but received shape ${s.shape}`);const o=Array.from(n.data.get(r.dataId).values),a=n.data.get(i.dataId).values,l=Array.from(n.data.get(s.dataId).values),[u,c,d]=Pue(a,i.shape,i.dtype,o,l);return[n.makeTensorInfo(c,i.dtype,u),n.makeTensorInfo([d.length],s.dtype,new Int32Array(d))]}};const jpe={kernelName:v3.SparseSegmentMean,backendName:"cpu",kernelFunc: /** * @license * Copyright 2021 Google LLC. All Rights Reserved. @@ -14589,7 +14589,7 @@ function(e){const{inputs:t,backend:n}=e,{inputIndices:i,inputShape:r,newShape:s} * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n}=e,{data:i,indices:r,segmentIds:s}=t;if(i.shape.length<1)throw new Error("Data should be at least 1 dimensional but received scalar");if(1!==r.shape.length)throw new Error(`Indices should be a vector but received shape\n ${r.shape}`);if(1!==s.shape.length)throw new Error(`Segment ids should be a vector but received shape\n ${s.shape}`);if(r.shape[0]!==s.shape[0])throw new Error("segmentIds and indices should have same size.");const o=n.data.get(i.dataId).values,a=n.data.get(r.dataId).values,l=n.data.get(s.dataId).values,[u,c]=Rue(o,i.shape,i.dtype,a,l,!0);return n.makeTensorInfo(c,i.dtype,u)}};const Bpe={kernelName:p3.SparseSegmentSum,backendName:"cpu",kernelFunc: +function(e){const{inputs:t,backend:n}=e,{data:i,indices:r,segmentIds:s}=t;if(i.shape.length<1)throw new Error("Data should be at least 1 dimensional but received scalar");if(1!==r.shape.length)throw new Error(`Indices should be a vector but received shape\n ${r.shape}`);if(1!==s.shape.length)throw new Error(`Segment ids should be a vector but received shape\n ${s.shape}`);if(r.shape[0]!==s.shape[0])throw new Error("segmentIds and indices should have same size.");const o=n.data.get(i.dataId).values,a=n.data.get(r.dataId).values,l=n.data.get(s.dataId).values,[u,c]=Bue(o,i.shape,i.dtype,a,l,!0);return n.makeTensorInfo(c,i.dtype,u)}};const Ype={kernelName:v3.SparseSegmentSum,backendName:"cpu",kernelFunc: /** * @license * Copyright 2021 Google LLC. All Rights Reserved. @@ -14606,7 +14606,7 @@ function(e){const{inputs:t,backend:n}=e,{data:i,indices:r,segmentIds:s}=t;if(i.s * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n}=e,{data:i,indices:r,segmentIds:s}=t;if(i.shape.length<1)throw new Error("Data should be at least 1 dimensional but received scalar");if(1!==r.shape.length)throw new Error(`Indices should be a vector but received shape\n ${r.shape}`);if(1!==s.shape.length)throw new Error(`Segment ids should be a vector but received shape\n ${s.shape}`);if(r.shape[0]!==s.shape[0])throw new Error("segmentIds and indices should have same size.");const o=n.data.get(i.dataId).values,a=n.data.get(r.dataId).values,l=n.data.get(s.dataId).values,[u,c]=Rue(o,i.shape,i.dtype,a,l);return n.makeTensorInfo(c,i.dtype,u)}};const $pe={kernelName:p3.SparseToDense,backendName:"cpu",kernelFunc: +function(e){const{inputs:t,backend:n}=e,{data:i,indices:r,segmentIds:s}=t;if(i.shape.length<1)throw new Error("Data should be at least 1 dimensional but received scalar");if(1!==r.shape.length)throw new Error(`Indices should be a vector but received shape\n ${r.shape}`);if(1!==s.shape.length)throw new Error(`Segment ids should be a vector but received shape\n ${s.shape}`);if(r.shape[0]!==s.shape[0])throw new Error("segmentIds and indices should have same size.");const o=n.data.get(i.dataId).values,a=n.data.get(r.dataId).values,l=n.data.get(s.dataId).values,[u,c]=Bue(o,i.shape,i.dtype,a,l);return n.makeTensorInfo(c,i.dtype,u)}};const Gpe={kernelName:v3.SparseToDense,backendName:"cpu",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -14623,7 +14623,7 @@ function(e){const{inputs:t,backend:n}=e,{data:i,indices:r,segmentIds:s}=t;if(i.s * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{sparseIndices:r,sparseValues:s,defaultValue:o}=t,{outputShape:a}=i,{sliceRank:l,numUpdates:u,sliceSize:c,strides:d,outputSize:h}=p3.backend_util.calculateShapes(s,r,a),p=!1,f=n.bufferSync(r);let m;switch(s.dtype){case"bool":m=Eue(f,n.bufferSync(s),a,h,c,u,l,d,Boolean(n.data.get(o.dataId).values[0]),p);break;case"float32":m=Eue(f,n.bufferSync(s),a,h,c,u,l,d,n.data.get(o.dataId).values[0],p);break;case"int32":m=Eue(f,n.bufferSync(s),a,h,c,u,l,d,n.data.get(o.dataId).values[0],p);break;case"string":m=Eue(f,n.bufferSync(s),a,h,c,u,l,d,p3.util.decodeString(n.data.get(o.dataId).values[0]),p);break;default:throw new Error(`Unsupported type ${s.dtype}`)}return n.makeTensorInfo(a,m.dtype,m.values)}};const Upe={kernelName:p3.SplitV,backendName:"cpu",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{sparseIndices:r,sparseValues:s,defaultValue:o}=t,{outputShape:a}=i,{sliceRank:l,numUpdates:u,sliceSize:c,strides:d,outputSize:h}=v3.backend_util.calculateShapes(s,r,a),p=!1,f=n.bufferSync(r);let m;switch(s.dtype){case"bool":m=Oue(f,n.bufferSync(s),a,h,c,u,l,d,Boolean(n.data.get(o.dataId).values[0]),p);break;case"float32":m=Oue(f,n.bufferSync(s),a,h,c,u,l,d,n.data.get(o.dataId).values[0],p);break;case"int32":m=Oue(f,n.bufferSync(s),a,h,c,u,l,d,n.data.get(o.dataId).values[0],p);break;case"string":m=Oue(f,n.bufferSync(s),a,h,c,u,l,d,v3.util.decodeString(n.data.get(o.dataId).values[0]),p);break;default:throw new Error(`Unsupported type ${s.dtype}`)}return n.makeTensorInfo(a,m.dtype,m.values)}};const Hpe={kernelName:v3.SplitV,backendName:"cpu",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -14640,7 +14640,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{sparseIndices:r,sparseValues:s, * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{numOrSizeSplits:s,axis:o}=i,a=p3.util.parseAxisParam(o,r.shape)[0],l=p3.backend_util.prepareSplitSize(r,s,a),u=new Array(r.shape.length).fill(0),c=r.shape.slice();return l.map(e=>{const t=[...c];t[a]=e;const i=Cue({inputs:{x:r},backend:n,attrs:{begin:u,size:t}});return u[a]+=e,i})}},Vpe={kernelName:p3.Square,backendName:"cpu",kernelFunc:({inputs:e,backend:t})=>{const{x:n}=e,i=t;Cae(n,"square");const r=i.data.get(n.dataId).values,s=new Float32Array(r.length);for(let e=0;e{const n=t;return isNaN(e)?NaN:e>0?1:n.alpha}),jpe={kernelName:p3.Step,backendName:"cpu",kernelFunc:zpe};const Ype={kernelName:p3.StridedSlice,backendName:"cpu",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{numOrSizeSplits:s,axis:o}=i,a=v3.util.parseAxisParam(o,r.shape)[0],l=v3.backend_util.prepareSplitSize(r,s,a),u=new Array(r.shape.length).fill(0),c=r.shape.slice();return l.map(e=>{const t=[...c];t[a]=e;const i=Due({inputs:{x:r},backend:n,attrs:{begin:u,size:t}});return u[a]+=e,i})}},Wpe={kernelName:v3.Square,backendName:"cpu",kernelFunc:({inputs:e,backend:t})=>{const{x:n}=e,i=t;Dae(n,"square");const r=i.data.get(n.dataId).values,s=new Float32Array(r.length);for(let e=0;e{const n=t;return isNaN(e)?NaN:e>0?1:n.alpha}),qpe={kernelName:v3.Step,backendName:"cpu",kernelFunc:Xpe};const Kpe={kernelName:v3.StridedSlice,backendName:"cpu",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -14657,7 +14657,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{numOrSizeSplits:s,axis: * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{begin:s,end:o,strides:a,beginMask:l,endMask:u,ellipsisMask:c,newAxisMask:d,shrinkAxisMask:h}=i;Cae(r,"stridedSlice");const{finalShapeSparse:p,finalShape:f,isIdentity:m,sliceDim0:g,isSimpleSlice:_,begin:y,end:v,strides:b}=p3.slice_util.sliceInfo(r.shape,s,o,a,l,u,c,d,h);let T;if(m)T=gce({inputs:{x:r},backend:n,attrs:{shape:f}});else if(g||_){p3.util.assert(r.shape.length>=1,()=>`Input must have rank at least 1, got: ${r.shape.length}`);const e=p3.slice_util.computeOutShape(y,v,b),t=Cue({inputs:{x:r},backend:n,attrs:{begin:y,size:e}});T=gce({inputs:{x:t},backend:n,attrs:{shape:f}}),n.disposeIntermediateTensorInfo(t)}else{const e=zue(p,n.bufferSync(r),b,y);T=n.makeTensorInfo(f,e.dtype,e.values)}return T}};const Gpe={kernelName:p3.StringNGrams,backendName:"cpu",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{begin:s,end:o,strides:a,beginMask:l,endMask:u,ellipsisMask:c,newAxisMask:d,shrinkAxisMask:h}=i;Dae(r,"stridedSlice");const{finalShapeSparse:p,finalShape:f,isIdentity:m,sliceDim0:g,isSimpleSlice:_,begin:y,end:v,strides:b}=v3.slice_util.sliceInfo(r.shape,s,o,a,l,u,c,d,h);let T;if(m)T=xce({inputs:{x:r},backend:n,attrs:{shape:f}});else if(g||_){v3.util.assert(r.shape.length>=1,()=>`Input must have rank at least 1, got: ${r.shape.length}`);const e=v3.slice_util.computeOutShape(y,v,b),t=Due({inputs:{x:r},backend:n,attrs:{begin:y,size:e}});T=xce({inputs:{x:t},backend:n,attrs:{shape:f}}),n.disposeIntermediateTensorInfo(t)}else{const e=Xue(p,n.bufferSync(r),b,y);T=n.makeTensorInfo(f,e.dtype,e.values)}return T}};const Zpe={kernelName:v3.StringNGrams,backendName:"cpu",kernelFunc: /** * @license * Copyright 2021 Google LLC. All Rights Reserved. @@ -14674,7 +14674,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{begin:s,end:o,strides:a * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{separator:r,nGramWidths:s,leftPad:o,rightPad:a,padWidth:l,preserveShortSequences:u}=i,{data:c,dataSplits:d}=t,h=n.data.get(c.dataId).values,p=n.data.get(d.dataId).values,[f,m]=Yue(h,p,r,s,o,a,l,u);return[n.makeTensorInfo([f.length],"string",f),n.makeTensorInfo(d.shape,"int32",m)]}};const Hpe={kernelName:p3.StringSplit,backendName:"cpu",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{separator:r,nGramWidths:s,leftPad:o,rightPad:a,padWidth:l,preserveShortSequences:u}=i,{data:c,dataSplits:d}=t,h=n.data.get(c.dataId).values,p=n.data.get(d.dataId).values,[f,m]=Kue(h,p,r,s,o,a,l,u);return[n.makeTensorInfo([f.length],"string",f),n.makeTensorInfo(d.shape,"int32",m)]}};const Qpe={kernelName:v3.StringSplit,backendName:"cpu",kernelFunc: /** * @license * Copyright 2021 Google LLC. All Rights Reserved. @@ -14691,7 +14691,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{separator:r,nGramWidths:s,leftP * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{skipEmpty:r}=i,{input:s,delimiter:o}=t;if("string"!==s.dtype)throw new Error("Input must be of datatype string");if(1!==s.shape.length)throw new Error(`Input must be a vector, got shape: ${s.shape}`);if(0!==o.shape.length)throw new Error(`Delimiter must be a scalar, got shape: ${o.shape}`);const a=n.data.get(s.dataId).values,l=n.data.get(o.dataId).values[0],[u,c,d]=Hue(a,l,r),h=c.length;return[n.makeTensorInfo([h,2],"int32",u),n.makeTensorInfo([h],"string",c),n.makeTensorInfo([2],"int32",new Int32Array(d))]}};const Wpe={kernelName:p3.StringToHashBucketFast,backendName:"cpu",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{skipEmpty:r}=i,{input:s,delimiter:o}=t;if("string"!==s.dtype)throw new Error("Input must be of datatype string");if(1!==s.shape.length)throw new Error(`Input must be a vector, got shape: ${s.shape}`);if(0!==o.shape.length)throw new Error(`Delimiter must be a scalar, got shape: ${o.shape}`);const a=n.data.get(s.dataId).values,l=n.data.get(o.dataId).values[0],[u,c,d]=Que(a,l,r),h=c.length;return[n.makeTensorInfo([h,2],"int32",u),n.makeTensorInfo([h],"string",c),n.makeTensorInfo([2],"int32",new Int32Array(d))]}};const Jpe={kernelName:v3.StringToHashBucketFast,backendName:"cpu",kernelFunc: /** * @license * Copyright 2021 Google LLC. All Rights Reserved. @@ -14708,7 +14708,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{skipEmpty:r}=i,{input:s,delimit * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{numBuckets:r}=i,{input:s}=t;if("string"!==s.dtype)throw new Error("Input must be of datatype string");if(r<=0)throw new Error("Number of buckets must be at least 1");const o=Wue(n.data.get(s.dataId).values,r);return n.makeTensorInfo(s.shape,"int32",o)}},Xpe=nle(p3.Tan,e=>Math.tan(e)),qpe={kernelName:p3.Tan,backendName:"cpu",kernelFunc:Xpe},Kpe=nle(p3.Tanh,e=>Math.tanh(e)),Zpe={kernelName:p3.Tanh,backendName:"cpu",kernelFunc:Kpe};const Qpe={kernelName:p3.TensorScatterUpdate,backendName:"cpu",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{numBuckets:r}=i,{input:s}=t;if("string"!==s.dtype)throw new Error("Input must be of datatype string");if(r<=0)throw new Error("Number of buckets must be at least 1");const o=Jue(n.data.get(s.dataId).values,r);return n.makeTensorInfo(s.shape,"int32",o)}},efe=lle(v3.Tan,e=>Math.tan(e)),tfe={kernelName:v3.Tan,backendName:"cpu",kernelFunc:efe},nfe=lle(v3.Tanh,e=>Math.tanh(e)),ife={kernelName:v3.Tanh,backendName:"cpu",kernelFunc:nfe};const rfe={kernelName:v3.TensorScatterUpdate,backendName:"cpu",kernelFunc: /** * @license * Copyright 2022 Google LLC. All Rights Reserved. @@ -14725,7 +14725,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{numBuckets:r}=i,{input:s}=t;if( * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n}=e,{tensor:i,indices:r,updates:s}=t,{sliceRank:o,numUpdates:a,sliceSize:l,strides:u,outputSize:c}=p3.backend_util.calculateShapes(s,r,i.shape),d=n.bufferSync(r),h=n.bufferSync(s),p=n.bufferSync(i),f=Eue(d,h,i.shape,c,l,a,o,u,p,!1);return n.makeTensorInfo(i.shape,f.dtype,f.values)}};const Jpe={kernelName:p3.Tile,backendName:"cpu",kernelFunc: +function(e){const{inputs:t,backend:n}=e,{tensor:i,indices:r,updates:s}=t,{sliceRank:o,numUpdates:a,sliceSize:l,strides:u,outputSize:c}=v3.backend_util.calculateShapes(s,r,i.shape),d=n.bufferSync(r),h=n.bufferSync(s),p=n.bufferSync(i),f=Oue(d,h,i.shape,c,l,a,o,u,p,!1);return n.makeTensorInfo(i.shape,f.dtype,f.values)}};const sfe={kernelName:v3.Tile,backendName:"cpu",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -14742,7 +14742,7 @@ function(e){const{inputs:t,backend:n}=e,{tensor:i,indices:r,updates:s}=t,{sliceR * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{reps:s}=i;Cae(r,"tile");const o=Que(n.bufferSync(r),s);return n.makeTensorInfo(o.shape,o.dtype,o.values)}};const efe={kernelName:p3.TopK,backendName:"cpu",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{reps:s}=i;Dae(r,"tile");const o=rce(n.bufferSync(r),s);return n.makeTensorInfo(o.shape,o.dtype,o.values)}};const ofe={kernelName:v3.TopK,backendName:"cpu",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -14759,7 +14759,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{reps:s}=i;Cae(r,"tile") * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{k:s,sorted:o}=i;Cae(r,"topk");const a=n.data.get(r.dataId).values,[l,u]=tce(a,r.shape,r.dtype,s,o);return[n.makeTensorInfo(l.shape,l.dtype,l.values),n.makeTensorInfo(u.shape,u.dtype,u.values)]}};const tfe={kernelName:p3.Transform,backendName:"cpu",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{k:s,sorted:o}=i;Dae(r,"topk");const a=n.data.get(r.dataId).values,[l,u]=ace(a,r.shape,r.dtype,s,o);return[n.makeTensorInfo(l.shape,l.dtype,l.values),n.makeTensorInfo(u.shape,u.dtype,u.values)]}};const afe={kernelName:v3.Transform,backendName:"cpu",kernelFunc: /** * @license * Copyright 2021 Google LLC. All Rights Reserved. @@ -14776,7 +14776,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{k:s,sorted:o}=i;Cae(r," * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,attrs:n,backend:i}=e,{image:r,transforms:s}=t,{interpolation:o,fillMode:a,fillValue:l,outputShape:u}=n,[c,d,h,p]=r.shape,[f,m]=null!=u?u:[d,h],g=[c,f,m,p],_=p3.util.computeStrides(r.shape),y=_[0],v=_[1],b=_[2],T=p3.util.computeStrides(g),x=T[0],E=T[1],w=T[2],I=p3.util.getTypedArrayFromDType(r.dtype,p3.util.sizeFromShape(g));I.fill(l);const A=i.data.get(r.dataId).values,S=i.data.get(s.dataId).values;for(let e=0;et-1)if(t<=1)n=0;else{const e=2*t;n-=e*Math.trunc(n/e),n>=t&&(n=e-n-1)}return p3.util.clamp(0,n,t-1)}(e,t);case"wrap":return function(e,t){let n=e;if(n<0)if(t<=1)n=0;else{const e=t-1;n+=t*(Math.trunc(-n/e)+1)}else if(n>t-1)if(t<=1)n=0;else{const e=t-1;n-=t*Math.trunc(n/e)}return p3.util.clamp(0,n,t-1)}(e,t);case"nearest":return function(e,t){return p3.util.clamp(0,e,t-1)}(e,t);default:return function(e){return e}(e)}}function ife(e,t,n,i,r,s,o,a,l,u,c){return 0<=a&&at-1)if(t<=1)n=0;else{const e=2*t;n-=e*Math.trunc(n/e),n>=t&&(n=e-n-1)}return v3.util.clamp(0,n,t-1)}(e,t);case"wrap":return function(e,t){let n=e;if(n<0)if(t<=1)n=0;else{const e=t-1;n+=t*(Math.trunc(-n/e)+1)}else if(n>t-1)if(t<=1)n=0;else{const e=t-1;n-=t*Math.trunc(n/e)}return v3.util.clamp(0,n,t-1)}(e,t);case"nearest":return function(e,t){return v3.util.clamp(0,e,t-1)}(e,t);default:return function(e){return e}(e)}}function ufe(e,t,n,i,r,s,o,a,l,u,c){return 0<=a&&an.disposeIntermediateTensorInfo(e)),d}},ufe=[bce,Rae,xce,wce,qae,Ice,Ace,Sce,Cce,Oce,kce,Nce,Fce,Bce,Uce,Yce,Gce,Hce,Wce,vce,Xce,qce,Kce,ele,Zce,jae,ole,Jce,Fae,ede,rde,ode,ade,lde,ude,cde,dde,pde,mde,gde,_de,yde,vde,bde,xde,Ede,wde,Ide,Ade,Sde,Cde,Ode,Rde,sce,Nde,cle,Vde,ple,jde,gle,Kde,Qde,Jde,vle,xle,ehe,the,nhe,ihe,Sle,Mle,Bae,rhe,nde,ohe,lhe,che,ace,Nle,Lle,dhe,Ule,phe,ghe,yhe,The,xhe,Ehe,Ihe,Yle,Ahe,She,Che,Ohe,Mhe,khe,Rhe,Wle,Nhe,Lhe,$he,Zle,Jle,Vhe,jhe,Ghe,nue,Hhe,qhe,Zhe,Qhe,tpe,cce,aue,npe,ipe,rpe,spe,Uae,Hde,ape,hce,fce,_ce,lpe,upe,cpe,dpe,hpe,ppe,mpe,xue,gpe,vpe,bpe,wpe,Aue,Ape,Cpe,Mpe,Oue,Bhe,Npe,Dpe,Fpe,Lpe,Ppe,Bpe,$pe,Upe,Fue,Vpe,Bue,Vue,jpe,Ype,Gpe,Hpe,Wpe,Zue,kde,qpe,Zpe,Qpe,Jpe,efe,tfe,sue,ofe,afe,lfe,Xhe];for(const e of ufe)(0,p3.registerKernel)(e); +function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r,segmentIds:s}=t,{numSegments:o}=i;Dae(r,"unsortedSegmentSum");const a=[],l=[],u=r.shape.length-s.shape.length;let c=s;for(let e=0;en.disposeIntermediateTensorInfo(e)),d}},mfe=[Ace,Bae,Cce,Mce,tle,kce,Rce,Nce,Dce,Fce,Pce,$ce,Vce,Yce,Hce,Kce,Zce,Qce,Jce,Ice,ede,tde,nde,ole,ide,qae,hle,sde,Vae,ode,cde,hde,pde,fde,mde,gde,_de,vde,Tde,xde,Ede,wde,Ide,Ade,Cde,Ode,Mde,kde,Rde,Nde,Dde,Fde,Bde,dce,$de,gle,Wde,vle,qde,xle,nhe,rhe,she,Ile,Cle,ohe,ahe,lhe,uhe,Nle,Lle,Yae,che,lde,hhe,fhe,ghe,pce,$le,zle,_he,Hle,vhe,xhe,whe,She,Che,Ohe,khe,Kle,Rhe,Nhe,Dhe,Fhe,Lhe,Phe,Bhe,Jle,$he,zhe,Ghe,iue,sue,Whe,qhe,Zhe,lue,Qhe,tpe,ipe,rpe,ape,gce,pue,lpe,upe,cpe,dpe,Hae,Qde,ppe,yce,bce,Ece,fpe,mpe,gpe,_pe,ype,vpe,Tpe,Cue,xpe,Ipe,Ape,Mpe,Rue,Rpe,Dpe,Lpe,Fue,Yhe,$pe,Upe,Vpe,zpe,jpe,Ype,Gpe,Hpe,Vue,Wpe,Yue,Wue,qpe,Kpe,Zpe,Qpe,Jpe,ice,Pde,tfe,ife,rfe,sfe,ofe,afe,due,hfe,pfe,ffe,epe];for(const e of mfe)(0,v3.registerKernel)(e); /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -14844,7 +14844,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r,segmentIds:s}=t,{numSegment * limitations under the License. * ============================================================================= */ -const cfe={},dfe={alpha:!1,antialias:!1,premultipliedAlpha:!1,preserveDrawingBuffer:!1,depth:!1,stencil:!1,failIfMajorPerformanceCaveat:!0};function hfe(e,t){cfe[e]=t}function pfe(e,t){if(!(e in cfe)||null!=t){const n=function(e,t){if(1!==e&&2!==e)throw new Error("Cannot get WebGL rendering context, WebGL is disabled.");const n=null==t?function(e){if((0,p3.env)().getBool("IS_SAFARI")||"undefined"==typeof OffscreenCanvas||2!==e){if("undefined"!=typeof document)return document.createElement("canvas");throw new Error("Cannot create a canvas in this context")}return new OffscreenCanvas(300,150)}(e):t;n.addEventListener("webglcontextlost",t=>{t.preventDefault(),delete cfe[e]},!1),(0,p3.env)().getBool("SOFTWARE_WEBGL_ENABLED")&&(dfe.failIfMajorPerformanceCaveat=!1);if(1===e)return n.getContext("webgl",dfe)||n.getContext("experimental-webgl",dfe);return n.getContext("webgl2",dfe)}(e,t);if(null===n)return console.log("Could not get context for WebGL version",e),null;cfe[e]=n}const n=cfe[e];return null==n||n.isContextLost()?(delete cfe[e],pfe(e)):(n.disable(n.DEPTH_TEST),n.disable(n.STENCIL_TEST),n.disable(n.BLEND),n.disable(n.DITHER),n.disable(n.POLYGON_OFFSET_FILL),n.disable(n.SAMPLE_COVERAGE),n.enable(n.SCISSOR_TEST),n.enable(n.CULL_FACE),n.cullFace(n.BACK),cfe[e])} +const gfe={},_fe={alpha:!1,antialias:!1,premultipliedAlpha:!1,preserveDrawingBuffer:!1,depth:!1,stencil:!1,failIfMajorPerformanceCaveat:!0};function yfe(e,t){gfe[e]=t}function vfe(e,t){if(!(e in gfe)||null!=t){const n=function(e,t){if(1!==e&&2!==e)throw new Error("Cannot get WebGL rendering context, WebGL is disabled.");const n=null==t?function(e){if((0,v3.env)().getBool("IS_SAFARI")||"undefined"==typeof OffscreenCanvas||2!==e){if("undefined"!=typeof document)return document.createElement("canvas");throw new Error("Cannot create a canvas in this context")}return new OffscreenCanvas(300,150)}(e):t;n.addEventListener("webglcontextlost",t=>{t.preventDefault(),delete gfe[e]},!1),(0,v3.env)().getBool("SOFTWARE_WEBGL_ENABLED")&&(_fe.failIfMajorPerformanceCaveat=!1);if(1===e)return n.getContext("webgl",_fe)||n.getContext("experimental-webgl",_fe);return n.getContext("webgl2",_fe)}(e,t);if(null===n)return console.log("Could not get context for WebGL version",e),null;gfe[e]=n}const n=gfe[e];return null==n||n.isContextLost()?(delete gfe[e],vfe(e)):(n.disable(n.DEPTH_TEST),n.disable(n.STENCIL_TEST),n.disable(n.BLEND),n.disable(n.DITHER),n.disable(n.POLYGON_OFFSET_FILL),n.disable(n.SAMPLE_COVERAGE),n.enable(n.SCISSOR_TEST),n.enable(n.CULL_FACE),n.cullFace(n.BACK),gfe[e])} /** * @license * Copyright 2017 Google LLC. All Rights Reserved. @@ -14861,7 +14861,7 @@ const cfe={},dfe={alpha:!1,antialias:!1,premultipliedAlpha:!1,preserveDrawingBuf * limitations under the License. * ============================================================================= */ -var ffe,mfe,gfe;function _fe(e,t){return[t,e]}function yfe(e){const t=p3.util.sizeFromShape(e),n=Math.ceil(t/4);return p3.util.sizeToSquarishShape(n)}function vfe(e,t){return[Math.max(1,Math.ceil(t/2)),Math.max(1,Math.ceil(e/2))]}function bfe(e,t){const n=e;let i,r,s,o,a,l,u,c,d,h;return 2===(0,p3.env)().getNumber("WEBGL_VERSION")?(i=n.R32F,r=n.R16F,s=n.RGBA16F,o=n.RGBA32F,a=n.RED,u=4,c=1,d=n.HALF_FLOAT,h=n.FLOAT,l=n.RGBA8):(i=e.RGBA,r=e.RGBA,s=e.RGBA,o=n.RGBA,a=e.RGBA,u=4,c=4,d=null!=t?t.HALF_FLOAT_OES:null,h=e.FLOAT,l=e.RGBA),{internalFormatFloat:i,internalFormatHalfFloat:r,internalFormatPackedHalfFloat:s,internalFormatPackedFloat:o,textureFormatFloat:a,downloadTextureFormat:l,downloadUnpackNumChannels:u,defaultNumChannels:c,textureTypeHalfFloat:d,textureTypeFloat:h}} +var bfe,Tfe,xfe;function Efe(e,t){return[t,e]}function wfe(e){const t=v3.util.sizeFromShape(e),n=Math.ceil(t/4);return v3.util.sizeToSquarishShape(n)}function Ife(e,t){return[Math.max(1,Math.ceil(t/2)),Math.max(1,Math.ceil(e/2))]}function Afe(e,t){const n=e;let i,r,s,o,a,l,u,c,d,h;return 2===(0,v3.env)().getNumber("WEBGL_VERSION")?(i=n.R32F,r=n.R16F,s=n.RGBA16F,o=n.RGBA32F,a=n.RED,u=4,c=1,d=n.HALF_FLOAT,h=n.FLOAT,l=n.RGBA8):(i=e.RGBA,r=e.RGBA,s=e.RGBA,o=n.RGBA,a=e.RGBA,u=4,c=4,d=null!=t?t.HALF_FLOAT_OES:null,h=e.FLOAT,l=e.RGBA),{internalFormatFloat:i,internalFormatHalfFloat:r,internalFormatPackedHalfFloat:s,internalFormatPackedFloat:o,textureFormatFloat:a,downloadTextureFormat:l,downloadUnpackNumChannels:u,defaultNumChannels:c,textureTypeHalfFloat:d,textureTypeFloat:h}} /** * @license * Copyright 2017 Google LLC. All Rights Reserved. @@ -14878,7 +14878,7 @@ var ffe,mfe,gfe;function _fe(e,t){return[t,e]}function yfe(e){const t=p3.util.si * limitations under the License. * ============================================================================= */ -function Tfe(e,t){const n=t();return(0,p3.env)().getBool("DEBUG")&&function(e){const t=e.getError();if(t!==e.NO_ERROR)throw new Error("WebGL Error: "+Ife(e,t))}(e),n}!function(e){e[e.DENSE=0]="DENSE",e[e.SHARED_BATCH=1]="SHARED_BATCH"}(ffe||(ffe={})),function(e){e[e.RENDER=0]="RENDER",e[e.UPLOAD=1]="UPLOAD",e[e.PIXELS=2]="PIXELS",e[e.DOWNLOAD=3]="DOWNLOAD"}(mfe||(mfe={})),function(e){e[e.UNPACKED_FLOAT16=0]="UNPACKED_FLOAT16",e[e.UNPACKED_FLOAT32=1]="UNPACKED_FLOAT32",e[e.PACKED_4X1_UNSIGNED_BYTE=2]="PACKED_4X1_UNSIGNED_BYTE",e[e.PACKED_2X2_FLOAT32=3]="PACKED_2X2_FLOAT32",e[e.PACKED_2X2_FLOAT16=4]="PACKED_2X2_FLOAT16"}(gfe||(gfe={}));const xfe=5.96e-8,Efe=65504;function wfe(e){return!!((0,p3.env)().getBool("WEBGL_RENDER_FLOAT32_ENABLED")||0===e||xfee.getExtension(t),'Extension "'+t+'" not supported on this browser.')}function Sfe(e,t){const n=Zfe(e,()=>e.createShader(e.VERTEX_SHADER),"Unable to create vertex WebGLShader.");if(Tfe(e,()=>e.shaderSource(n,t)),Tfe(e,()=>e.compileShader(n)),!1===e.getShaderParameter(n,e.COMPILE_STATUS))throw console.log(e.getShaderInfoLog(n)),new Error("Failed to compile vertex shader.");return n}function Cfe(e,t){const n=Zfe(e,()=>e.createShader(e.FRAGMENT_SHADER),"Unable to create fragment WebGLShader.");if(Tfe(e,()=>e.shaderSource(n,t)),Tfe(e,()=>e.compileShader(n)),(0,p3.env)().get("ENGINE_COMPILE_ONLY"))return n;if(!1===e.getShaderParameter(n,e.COMPILE_STATUS))throw Mfe(t,e.getShaderInfoLog(n)),new Error("Failed to compile fragment shader.");return n}const Ofe=/ERROR: [0-9]+:([0-9]+):/g;function Mfe(e,t){const n=Ofe.exec(t);if(null==n)return console.log(`Couldn't parse line number in error: ${t}`),void console.log(e);const i=+n[1],r=e.split("\n"),s=r.length.toString().length+2,o=r.map((e,t)=>p3.util.rightPad((t+1).toString(),s)+e);let a=0;for(let e=0;ee.createProgram(),"Unable to create WebGLProgram.")}function Rfe(e,t){if(Tfe(e,()=>e.linkProgram(t)),!(0,p3.env)().get("ENGINE_COMPILE_ONLY")&&!1===e.getProgramParameter(t,e.LINK_STATUS))throw console.log(e.getProgramInfoLog(t)),new Error("Failed to link vertex and fragment shaders.")}function Nfe(e,t){if(Tfe(e,()=>e.validateProgram(t)),!1===e.getProgramParameter(t,e.VALIDATE_STATUS))throw console.log(e.getProgramInfoLog(t)),new Error("Shader program validation failed.")}function Dfe(e,t){const n=Zfe(e,()=>e.createBuffer(),"Unable to create WebGLBuffer");return Tfe(e,()=>e.bindBuffer(e.ARRAY_BUFFER,n)),Tfe(e,()=>e.bufferData(e.ARRAY_BUFFER,t,e.STATIC_DRAW)),n}function Ffe(e,t){const n=Zfe(e,()=>e.createBuffer(),"Unable to create WebGLBuffer");return Tfe(e,()=>e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,n)),Tfe(e,()=>e.bufferData(e.ELEMENT_ARRAY_BUFFER,t,e.STATIC_DRAW)),n}function Lfe(){return 2===(0,p3.env)().getNumber("WEBGL_VERSION")?1:4}function Pfe(e){return Zfe(e,()=>e.createTexture(),"Unable to create WebGLTexture.")}function Bfe(e,t){const n=(0,p3.env)().getNumber("WEBGL_MAX_TEXTURE_SIZE");if(e<=0||t<=0){throw new Error("Requested texture size "+`[${e}x${t}]`+" is invalid.")}if(e>n||t>n){throw new Error("Requested texture size "+`[${e}x${t}]`+" greater than WebGL maximum on this browser / GPU "+`[${n}x${n}]`+".")}}function $fe(e){return Zfe(e,()=>e.createFramebuffer(),"Unable to create WebGLFramebuffer.")}function Ufe(e,t,n,i,r,s,o){const a=e.getAttribLocation(t,n);return-1!==a&&(Tfe(e,()=>e.bindBuffer(e.ARRAY_BUFFER,i)),Tfe(e,()=>e.vertexAttribPointer(a,r,e.FLOAT,!1,s,o)),Tfe(e,()=>e.enableVertexAttribArray(a)),!0)}function Vfe(e,t,n){Qfe(e,n),Tfe(e,()=>e.activeTexture(e.TEXTURE0+n)),Tfe(e,()=>e.bindTexture(e.TEXTURE_2D,t))}function zfe(e,t){Qfe(e,t),Tfe(e,()=>e.activeTexture(e.TEXTURE0+t)),Tfe(e,()=>e.bindTexture(e.TEXTURE_2D,null))}function jfe(e,t,n){return Zfe(e,()=>e.getUniformLocation(t,n),'uniform "'+n+'" not present in program.')}function Yfe(e,t,n){return e.getUniformLocation(t,n)}function Gfe(e,t,n,i){Tfe(e,()=>Vfe(e,t,i)),Tfe(e,()=>e.uniform1i(n,i))}function Hfe(e){Tfe(e,()=>e.bindFramebuffer(e.FRAMEBUFFER,null)),Tfe(e,()=>e.viewport(0,0,e.canvas.width,e.canvas.height)),Tfe(e,()=>e.scissor(0,0,e.canvas.width,e.canvas.height))}function Wfe(e,t,n){Tfe(e,()=>e.bindFramebuffer(e.FRAMEBUFFER,n)),Tfe(e,()=>e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,t,0))}function Xfe(e,t){Tfe(e,()=>e.bindFramebuffer(e.FRAMEBUFFER,t)),Tfe(e,()=>e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,null,0))}function qfe(e){const t=e.checkFramebufferStatus(e.FRAMEBUFFER);if(t!==e.FRAMEBUFFER_COMPLETE)throw new Error("Error binding framebuffer: "+Kfe(e,t))}function Kfe(e,t){switch(t){case e.FRAMEBUFFER_INCOMPLETE_ATTACHMENT:return"FRAMEBUFFER_INCOMPLETE_ATTACHMENT";case e.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT:return"FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT";case e.FRAMEBUFFER_INCOMPLETE_DIMENSIONS:return"FRAMEBUFFER_INCOMPLETE_DIMENSIONS";case e.FRAMEBUFFER_UNSUPPORTED:return"FRAMEBUFFER_UNSUPPORTED";default:return`unknown error ${t}`}}function Zfe(e,t,n){const i=Tfe(e,()=>t());if(null==i)throw new Error(n);return i}function Qfe(e,t){const n=e.MAX_COMBINED_TEXTURE_IMAGE_UNITS-1,i=t+e.TEXTURE0;if(in){throw new Error(`textureUnit must be in ${`[gl.TEXTURE0, gl.TEXTURE${n}]`}.`)}}function Jfe(e,t=2){return p3.util.sizeFromShape(e.slice(0,e.length-t))}function eme(e){if(0===e.length)throw Error("Cannot get rows and columns of an empty shape array.");return[e.length>1?e[e.length-2]:1,e[e.length-1]]}function tme(e){let t=[1,1,1];return 0===e.length||1===e.length&&1===e[0]||(t=[Jfe(e),...eme(e)]),t}function nme(e,t=!1){let n=(0,p3.env)().getNumber("WEBGL_MAX_TEXTURE_SIZE"),i=(0,p3.env)().getNumber("WEBGL_MAX_SIZE_FOR_NARROW_TEXTURE");if(i===1/0&&(0,p3.env)().getBool("WEBGL_AUTO_SQUARIFY_NARROW_TEXTURE_SHAPE")&&(i=n/2),t&&(n*=2,i*=2,1===(e=e.map((t,n)=>n>=e.length-2?p3.util.nearestLargerEven(e[n]):e[n])).length&&(e=[2,e[0]])),2!==e.length){const t=p3.util.squeezeShape(e);e=t.newShape}let r=p3.util.sizeFromShape(e),s=null;e.length<=1&&r<=n?s=[1,r]:2===e.length&&e[0]<=n&&e[1]<=n?s=e:3===e.length&&e[0]*e[1]<=n&&e[2]<=n?s=[e[0]*e[1],e[2]]:3===e.length&&e[0]<=n&&e[1]*e[2]<=n?s=[e[0],e[1]*e[2]]:4===e.length&&e[0]*e[1]*e[2]<=n&&e[3]<=n?s=[e[0]*e[1]*e[2],e[3]]:4===e.length&&e[0]<=n&&e[1]*e[2]*e[3]<=n&&(s=[e[0],e[1]*e[2]*e[3]]);const o=null!=s&&Math.max(...s)>i&&Math.min(...s)<=(t?2:1)&&Math.min(...s)>0;if(null==s||o)if(t){const t=Jfe(e);let n=2,i=2;e.length&&([n,i]=eme(e)),r=t*(n/2)*(i/2),s=p3.util.sizeToSquarishShape(r).map(e=>2*e)}else s=p3.util.sizeToSquarishShape(r);return s}function ime(e){return e%2==0}function rme(e,t){if(e=e.slice(-2),t=t.slice(-2),p3.util.arraysEqual(e,t))return!0;if(!e.length||!t.length)return!0;if(0===e[0]||0===e[1]||0===t[0]||0===t[1])return!0;if(e.length!==t.length){const n=e[e.length-1],i=t[t.length-1];if(n===i)return!0;if(ime(n)&&ime(i)&&(1===e[0]||1===t[0]))return!0}return e[1]===t[1]&&ime(e[0])&&ime(t[0])}let sme,ome;function ame(e){if(null==sme){const t=pfe(e);sme=t.getParameter(t.MAX_TEXTURE_SIZE)}return sme}function lme(){sme=null}function ume(){ome=null}function cme(e){if(null==ome){const t=pfe(e);ome=t.getParameter(t.MAX_TEXTURE_IMAGE_UNITS)}return Math.min(16,ome)}function dme(e){if(0===e)return 0;let t;const n=pfe(e);return t=hme(n,"EXT_disjoint_timer_query_webgl2")&&2===e?2:hme(n,"EXT_disjoint_timer_query")?1:0,t}function hme(e,t){return null!=e.getExtension(t)}function pme(e){try{if(null!=pfe(e))return!0}catch(e){return console.log("Error when getting WebGL context: ",e),!1}return!1}function fme(e){if(0===e)return!1;const t=pfe(e);if(1===e){if(!hme(t,"OES_texture_float"))return!1}else if(!hme(t,"EXT_color_buffer_float"))return!1;return gme(t)}function mme(e){if(0===e)return!1;const t=pfe(e);if(1!==e){if(hme(t,"EXT_color_buffer_float"))return gme(t);const e="EXT_color_buffer_half_float";if(hme(t,e)){const n=t.getExtension(e);return function(e,t){const n=bfe(e,t),i=e.createTexture();e.bindTexture(e.TEXTURE_2D,i);const r=1,s=1;e.texImage2D(e.TEXTURE_2D,0,n.internalFormatHalfFloat,r,s,0,n.textureFormatFloat,n.textureTypeHalfFloat,null);const o=e.createFramebuffer();e.bindFramebuffer(e.FRAMEBUFFER,o),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,i,0);const a=e.checkFramebufferStatus(e.FRAMEBUFFER)===e.FRAMEBUFFER_COMPLETE;return e.bindTexture(e.TEXTURE_2D,null),e.bindFramebuffer(e.FRAMEBUFFER,null),e.deleteTexture(i),e.deleteFramebuffer(o),a}(t,n)}return!1}if(!hme(t,"OES_texture_float"))return!1;if(!hme(t,"WEBGL_color_buffer_float"))return!1;return gme(t)}function gme(e){const t=bfe(e),n=e.createTexture();e.bindTexture(e.TEXTURE_2D,n);e.texImage2D(e.TEXTURE_2D,0,t.internalFormatFloat,1,1,0,t.textureFormatFloat,t.textureTypeFloat,null);const i=e.createFramebuffer();e.bindFramebuffer(e.FRAMEBUFFER,i),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,n,0);const r=e.checkFramebufferStatus(e.FRAMEBUFFER)===e.FRAMEBUFFER_COMPLETE;return e.bindTexture(e.TEXTURE_2D,null),e.bindFramebuffer(e.FRAMEBUFFER,null),e.deleteTexture(n),e.deleteFramebuffer(i),r}function _me(e){if(2!==e)return!1;return null!=pfe(e).fenceSync}function yme(e,t){Array.isArray(e)||(e=[e]),e.forEach(e=>{null!=e&&p3.util.assert("complex64"!==e.dtype,()=>`${t} does not support complex64 tensors in the WebGL backend.`)})} +function Sfe(e,t){const n=t();return(0,v3.env)().getBool("DEBUG")&&function(e){const t=e.getError();if(t!==e.NO_ERROR)throw new Error("WebGL Error: "+kfe(e,t))}(e),n}!function(e){e[e.DENSE=0]="DENSE",e[e.SHARED_BATCH=1]="SHARED_BATCH"}(bfe||(bfe={})),function(e){e[e.RENDER=0]="RENDER",e[e.UPLOAD=1]="UPLOAD",e[e.PIXELS=2]="PIXELS",e[e.DOWNLOAD=3]="DOWNLOAD"}(Tfe||(Tfe={})),function(e){e[e.UNPACKED_FLOAT16=0]="UNPACKED_FLOAT16",e[e.UNPACKED_FLOAT32=1]="UNPACKED_FLOAT32",e[e.PACKED_4X1_UNSIGNED_BYTE=2]="PACKED_4X1_UNSIGNED_BYTE",e[e.PACKED_2X2_FLOAT32=3]="PACKED_2X2_FLOAT32",e[e.PACKED_2X2_FLOAT16=4]="PACKED_2X2_FLOAT16"}(xfe||(xfe={}));const Cfe=5.96e-8,Ofe=65504;function Mfe(e){return!!((0,v3.env)().getBool("WEBGL_RENDER_FLOAT32_ENABLED")||0===e||Cfee.getExtension(t),'Extension "'+t+'" not supported on this browser.')}function Nfe(e,t){const n=ime(e,()=>e.createShader(e.VERTEX_SHADER),"Unable to create vertex WebGLShader.");if(Sfe(e,()=>e.shaderSource(n,t)),Sfe(e,()=>e.compileShader(n)),!1===e.getShaderParameter(n,e.COMPILE_STATUS))throw console.log(e.getShaderInfoLog(n)),new Error("Failed to compile vertex shader.");return n}function Dfe(e,t){const n=ime(e,()=>e.createShader(e.FRAGMENT_SHADER),"Unable to create fragment WebGLShader.");if(Sfe(e,()=>e.shaderSource(n,t)),Sfe(e,()=>e.compileShader(n)),(0,v3.env)().get("ENGINE_COMPILE_ONLY"))return n;if(!1===e.getShaderParameter(n,e.COMPILE_STATUS))throw Lfe(t,e.getShaderInfoLog(n)),new Error("Failed to compile fragment shader.");return n}const Ffe=/ERROR: [0-9]+:([0-9]+):/g;function Lfe(e,t){const n=Ffe.exec(t);if(null==n)return console.log(`Couldn't parse line number in error: ${t}`),void console.log(e);const i=+n[1],r=e.split("\n"),s=r.length.toString().length+2,o=r.map((e,t)=>v3.util.rightPad((t+1).toString(),s)+e);let a=0;for(let e=0;ee.createProgram(),"Unable to create WebGLProgram.")}function Bfe(e,t){if(Sfe(e,()=>e.linkProgram(t)),!(0,v3.env)().get("ENGINE_COMPILE_ONLY")&&!1===e.getProgramParameter(t,e.LINK_STATUS))throw console.log(e.getProgramInfoLog(t)),new Error("Failed to link vertex and fragment shaders.")}function $fe(e,t){if(Sfe(e,()=>e.validateProgram(t)),!1===e.getProgramParameter(t,e.VALIDATE_STATUS))throw console.log(e.getProgramInfoLog(t)),new Error("Shader program validation failed.")}function Ufe(e,t){const n=ime(e,()=>e.createBuffer(),"Unable to create WebGLBuffer");return Sfe(e,()=>e.bindBuffer(e.ARRAY_BUFFER,n)),Sfe(e,()=>e.bufferData(e.ARRAY_BUFFER,t,e.STATIC_DRAW)),n}function Vfe(e,t){const n=ime(e,()=>e.createBuffer(),"Unable to create WebGLBuffer");return Sfe(e,()=>e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,n)),Sfe(e,()=>e.bufferData(e.ELEMENT_ARRAY_BUFFER,t,e.STATIC_DRAW)),n}function zfe(){return 2===(0,v3.env)().getNumber("WEBGL_VERSION")?1:4}function jfe(e){return ime(e,()=>e.createTexture(),"Unable to create WebGLTexture.")}function Yfe(e,t){const n=(0,v3.env)().getNumber("WEBGL_MAX_TEXTURE_SIZE");if(e<=0||t<=0){throw new Error("Requested texture size "+`[${e}x${t}]`+" is invalid.")}if(e>n||t>n){throw new Error("Requested texture size "+`[${e}x${t}]`+" greater than WebGL maximum on this browser / GPU "+`[${n}x${n}]`+".")}}function Gfe(e){return ime(e,()=>e.createFramebuffer(),"Unable to create WebGLFramebuffer.")}function Hfe(e,t,n,i,r,s,o){const a=e.getAttribLocation(t,n);return-1!==a&&(Sfe(e,()=>e.bindBuffer(e.ARRAY_BUFFER,i)),Sfe(e,()=>e.vertexAttribPointer(a,r,e.FLOAT,!1,s,o)),Sfe(e,()=>e.enableVertexAttribArray(a)),!0)}function Wfe(e,t,n){rme(e,n),Sfe(e,()=>e.activeTexture(e.TEXTURE0+n)),Sfe(e,()=>e.bindTexture(e.TEXTURE_2D,t))}function Xfe(e,t){rme(e,t),Sfe(e,()=>e.activeTexture(e.TEXTURE0+t)),Sfe(e,()=>e.bindTexture(e.TEXTURE_2D,null))}function qfe(e,t,n){return ime(e,()=>e.getUniformLocation(t,n),'uniform "'+n+'" not present in program.')}function Kfe(e,t,n){return e.getUniformLocation(t,n)}function Zfe(e,t,n,i){Sfe(e,()=>Wfe(e,t,i)),Sfe(e,()=>e.uniform1i(n,i))}function Qfe(e){Sfe(e,()=>e.bindFramebuffer(e.FRAMEBUFFER,null)),Sfe(e,()=>e.viewport(0,0,e.canvas.width,e.canvas.height)),Sfe(e,()=>e.scissor(0,0,e.canvas.width,e.canvas.height))}function Jfe(e,t,n){Sfe(e,()=>e.bindFramebuffer(e.FRAMEBUFFER,n)),Sfe(e,()=>e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,t,0))}function eme(e,t){Sfe(e,()=>e.bindFramebuffer(e.FRAMEBUFFER,t)),Sfe(e,()=>e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,null,0))}function tme(e){const t=e.checkFramebufferStatus(e.FRAMEBUFFER);if(t!==e.FRAMEBUFFER_COMPLETE)throw new Error("Error binding framebuffer: "+nme(e,t))}function nme(e,t){switch(t){case e.FRAMEBUFFER_INCOMPLETE_ATTACHMENT:return"FRAMEBUFFER_INCOMPLETE_ATTACHMENT";case e.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT:return"FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT";case e.FRAMEBUFFER_INCOMPLETE_DIMENSIONS:return"FRAMEBUFFER_INCOMPLETE_DIMENSIONS";case e.FRAMEBUFFER_UNSUPPORTED:return"FRAMEBUFFER_UNSUPPORTED";default:return`unknown error ${t}`}}function ime(e,t,n){const i=Sfe(e,()=>t());if(null==i)throw new Error(n);return i}function rme(e,t){const n=e.MAX_COMBINED_TEXTURE_IMAGE_UNITS-1,i=t+e.TEXTURE0;if(in){throw new Error(`textureUnit must be in ${`[gl.TEXTURE0, gl.TEXTURE${n}]`}.`)}}function sme(e,t=2){return v3.util.sizeFromShape(e.slice(0,e.length-t))}function ome(e){if(0===e.length)throw Error("Cannot get rows and columns of an empty shape array.");return[e.length>1?e[e.length-2]:1,e[e.length-1]]}function ame(e){let t=[1,1,1];return 0===e.length||1===e.length&&1===e[0]||(t=[sme(e),...ome(e)]),t}function lme(e,t=!1){let n=(0,v3.env)().getNumber("WEBGL_MAX_TEXTURE_SIZE"),i=(0,v3.env)().getNumber("WEBGL_MAX_SIZE_FOR_NARROW_TEXTURE");if(i===1/0&&(0,v3.env)().getBool("WEBGL_AUTO_SQUARIFY_NARROW_TEXTURE_SHAPE")&&(i=n/2),t&&(n*=2,i*=2,1===(e=e.map((t,n)=>n>=e.length-2?v3.util.nearestLargerEven(e[n]):e[n])).length&&(e=[2,e[0]])),2!==e.length){const t=v3.util.squeezeShape(e);e=t.newShape}let r=v3.util.sizeFromShape(e),s=null;e.length<=1&&r<=n?s=[1,r]:2===e.length&&e[0]<=n&&e[1]<=n?s=e:3===e.length&&e[0]*e[1]<=n&&e[2]<=n?s=[e[0]*e[1],e[2]]:3===e.length&&e[0]<=n&&e[1]*e[2]<=n?s=[e[0],e[1]*e[2]]:4===e.length&&e[0]*e[1]*e[2]<=n&&e[3]<=n?s=[e[0]*e[1]*e[2],e[3]]:4===e.length&&e[0]<=n&&e[1]*e[2]*e[3]<=n&&(s=[e[0],e[1]*e[2]*e[3]]);const o=null!=s&&Math.max(...s)>i&&Math.min(...s)<=(t?2:1)&&Math.min(...s)>0;if(null==s||o)if(t){const t=sme(e);let n=2,i=2;e.length&&([n,i]=ome(e)),r=t*(n/2)*(i/2),s=v3.util.sizeToSquarishShape(r).map(e=>2*e)}else s=v3.util.sizeToSquarishShape(r);return s}function ume(e){return e%2==0}function cme(e,t){if(e=e.slice(-2),t=t.slice(-2),v3.util.arraysEqual(e,t))return!0;if(!e.length||!t.length)return!0;if(0===e[0]||0===e[1]||0===t[0]||0===t[1])return!0;if(e.length!==t.length){const n=e[e.length-1],i=t[t.length-1];if(n===i)return!0;if(ume(n)&&ume(i)&&(1===e[0]||1===t[0]))return!0}return e[1]===t[1]&&ume(e[0])&&ume(t[0])}let dme,hme;function pme(e){if(null==dme){const t=vfe(e);dme=t.getParameter(t.MAX_TEXTURE_SIZE)}return dme}function fme(){dme=null}function mme(){hme=null}function gme(e){if(null==hme){const t=vfe(e);hme=t.getParameter(t.MAX_TEXTURE_IMAGE_UNITS)}return Math.min(16,hme)}function _me(e){if(0===e)return 0;let t;const n=vfe(e);return t=yme(n,"EXT_disjoint_timer_query_webgl2")&&2===e?2:yme(n,"EXT_disjoint_timer_query")?1:0,t}function yme(e,t){return null!=e.getExtension(t)}function vme(e){try{if(null!=vfe(e))return!0}catch(e){return console.log("Error when getting WebGL context: ",e),!1}return!1}function bme(e){if(0===e)return!1;const t=vfe(e);if(1===e){if(!yme(t,"OES_texture_float"))return!1}else if(!yme(t,"EXT_color_buffer_float"))return!1;return xme(t)}function Tme(e){if(0===e)return!1;const t=vfe(e);if(1!==e){if(yme(t,"EXT_color_buffer_float"))return xme(t);const e="EXT_color_buffer_half_float";if(yme(t,e)){const n=t.getExtension(e);return function(e,t){const n=Afe(e,t),i=e.createTexture();e.bindTexture(e.TEXTURE_2D,i);const r=1,s=1;e.texImage2D(e.TEXTURE_2D,0,n.internalFormatHalfFloat,r,s,0,n.textureFormatFloat,n.textureTypeHalfFloat,null);const o=e.createFramebuffer();e.bindFramebuffer(e.FRAMEBUFFER,o),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,i,0);const a=e.checkFramebufferStatus(e.FRAMEBUFFER)===e.FRAMEBUFFER_COMPLETE;return e.bindTexture(e.TEXTURE_2D,null),e.bindFramebuffer(e.FRAMEBUFFER,null),e.deleteTexture(i),e.deleteFramebuffer(o),a}(t,n)}return!1}if(!yme(t,"OES_texture_float"))return!1;if(!yme(t,"WEBGL_color_buffer_float"))return!1;return xme(t)}function xme(e){const t=Afe(e),n=e.createTexture();e.bindTexture(e.TEXTURE_2D,n);e.texImage2D(e.TEXTURE_2D,0,t.internalFormatFloat,1,1,0,t.textureFormatFloat,t.textureTypeFloat,null);const i=e.createFramebuffer();e.bindFramebuffer(e.FRAMEBUFFER,i),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,n,0);const r=e.checkFramebufferStatus(e.FRAMEBUFFER)===e.FRAMEBUFFER_COMPLETE;return e.bindTexture(e.TEXTURE_2D,null),e.bindFramebuffer(e.FRAMEBUFFER,null),e.deleteTexture(n),e.deleteFramebuffer(i),r}function Eme(e){if(2!==e)return!1;return null!=vfe(e).fenceSync}function wme(e,t){Array.isArray(e)||(e=[e]),e.forEach(e=>{null!=e&&v3.util.assert("complex64"!==e.dtype,()=>`${t} does not support complex64 tensors in the WebGL backend.`)})} /** * @license * Copyright 2019 Google LLC. All Rights Reserved. @@ -14895,7 +14895,7 @@ function Tfe(e,t){const n=t();return(0,p3.env)().getBool("DEBUG")&&function(e){c * limitations under the License. * ============================================================================= */ -const vme=(0,p3.env)(); +const Ime=(0,v3.env)(); /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -14912,7 +14912,7 @@ const vme=(0,p3.env)(); * limitations under the License. * ============================================================================= */ -function bme(){let e,t,n,i,r,s,o,a,l,u;return 2===(0,p3.env)().getNumber("WEBGL_VERSION")?(e="#version 300 es",t="in",n="out",i="in",r="texture",s="outputColor",o="out vec4 outputColor;",a=(0,p3.env)().getBool("WEBGL2_ISNAN_CUSTOM")?"\n bool isnan_custom(float val) {\n uint floatToUint = floatBitsToUint(val);\n return (floatToUint & 0x7fffffffu) > 0x7f800000u;\n }\n\n bvec4 isnan_custom(vec4 val) {\n return bvec4(isnan_custom(val.x),\n isnan_custom(val.y), isnan_custom(val.z), isnan_custom(val.w));\n }\n\n #define isnan(value) isnan_custom(value)\n ":"",l="",u="\n #define round(value) newRound(value)\n int newRound(float value) {\n return int(floor(value + 0.5));\n }\n\n ivec4 newRound(vec4 value) {\n return ivec4(floor(value + vec4(0.5)));\n }\n "):(e="",t="attribute",n="varying",i="varying",r="texture2D",s="gl_FragColor",o="",a="\n #define isnan(value) isnan_custom(value)\n bool isnan_custom(float val) {\n return (val > 0. || val < 1. || val == 0.) ? false : true;\n }\n bvec4 isnan_custom(vec4 val) {\n return bvec4(isnan(val.x), isnan(val.y), isnan(val.z), isnan(val.w));\n }\n ",l="\n uniform float INFINITY;\n\n bool isinf(float val) {\n return abs(val) == INFINITY;\n }\n bvec4 isinf(vec4 val) {\n return equal(abs(val), vec4(INFINITY));\n }\n ",u="\n int round(float value) {\n return int(floor(value + 0.5));\n }\n\n ivec4 round(vec4 value) {\n return ivec4(floor(value + vec4(0.5)));\n }\n "),{version:e,attribute:t,varyingVs:n,varyingFs:i,texture2D:r,output:s,defineOutput:o,defineSpecialNaN:a,defineSpecialInf:l,defineRound:u}} +function Ame(){let e,t,n,i,r,s,o,a,l,u;return 2===(0,v3.env)().getNumber("WEBGL_VERSION")?(e="#version 300 es",t="in",n="out",i="in",r="texture",s="outputColor",o="out vec4 outputColor;",a=(0,v3.env)().getBool("WEBGL2_ISNAN_CUSTOM")?"\n bool isnan_custom(float val) {\n uint floatToUint = floatBitsToUint(val);\n return (floatToUint & 0x7fffffffu) > 0x7f800000u;\n }\n\n bvec4 isnan_custom(vec4 val) {\n return bvec4(isnan_custom(val.x),\n isnan_custom(val.y), isnan_custom(val.z), isnan_custom(val.w));\n }\n\n #define isnan(value) isnan_custom(value)\n ":"",l="",u="\n #define round(value) newRound(value)\n int newRound(float value) {\n return int(floor(value + 0.5));\n }\n\n ivec4 newRound(vec4 value) {\n return ivec4(floor(value + vec4(0.5)));\n }\n "):(e="",t="attribute",n="varying",i="varying",r="texture2D",s="gl_FragColor",o="",a="\n #define isnan(value) isnan_custom(value)\n bool isnan_custom(float val) {\n return (val > 0. || val < 1. || val == 0.) ? false : true;\n }\n bvec4 isnan_custom(vec4 val) {\n return bvec4(isnan(val.x), isnan(val.y), isnan(val.z), isnan(val.w));\n }\n ",l="\n uniform float INFINITY;\n\n bool isinf(float val) {\n return abs(val) == INFINITY;\n }\n bvec4 isinf(vec4 val) {\n return equal(abs(val), vec4(INFINITY));\n }\n ",u="\n int round(float value) {\n return int(floor(value + 0.5));\n }\n\n ivec4 round(vec4 value) {\n return ivec4(floor(value + vec4(0.5)));\n }\n "),{version:e,attribute:t,varyingVs:n,varyingFs:i,texture2D:r,output:s,defineOutput:o,defineSpecialNaN:a,defineSpecialInf:l,defineRound:u}} /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -14929,7 +14929,7 @@ function bme(){let e,t,n,i,r,s,o,a,l,u;return 2===(0,p3.env)().getNumber("WEBGL_ * limitations under the License. * ============================================================================= */ -function Tme(e,t,n="index"){const i=p3.util.computeStrides(t);return i.map((t,r)=>`${`int ${e[r]} = ${n} / ${t}`}; ${r===i.length-1?`int ${e[r+1]} = ${n} - ${e[r]} * ${t}`:`index -= ${e[r]} * ${t}`};`).join("")}function xme(e,t,n="index"){const i=p3.util.computeStrides(t);return i.map((t,r)=>`${`int ${e[r]} = ${n} / outShapeStrides[${r}]`}; ${r===i.length-1?`int ${e[r+1]} = ${n} - ${e[r]} * outShapeStrides[${r}]`:`index -= ${e[r]} * outShapeStrides[${r}]`};`).join("")}function Eme(e,t,n="index"){const i=function(e,t){const n=e.length,i=e.map(e=>`${t}[${e}]`),r=new Array(n-1);r[n-2]=i[n-1];for(let e=n-3;e>=0;--e)r[e]=`(${r[e+1]} * ${i[e+1]})`;return r}(e.map((e,t)=>t),t);return i.map((t,r)=>`${`int ${e[r]} = ${n} / ${i[r]}`}; ${r===i.length-1?`int ${e[r+1]} = ${n} - ${e[r]} * ${i[r]}`:`index -= ${e[r]} * ${i[r]}`};`).join("")}function wme(e){const t=p3.util.computeStrides(e).map(e=>e.toString());return`\n int getFlatIndex(ivec3 coords) {\n return coords.x * ${t[0]} + coords.y * ${t[1]} + coords.z;\n }\n`}vme.registerFlag("HAS_WEBGL",()=>vme.getNumber("WEBGL_VERSION")>0),vme.registerFlag("WEBGL_VERSION",()=>pme(2)?2:pme(1)?1:0),vme.registerFlag("WEBGL_CHECK_NUMERICAL_PROBLEMS",()=>!1),vme.registerFlag("WEBGL_BUFFER_SUPPORTED",()=>2===vme.get("WEBGL_VERSION")),vme.registerFlag("WEBGL_CPU_FORWARD",()=>!0),vme.registerFlag("WEBGL_FORCE_F16_TEXTURES",()=>!1),vme.registerFlag("WEBGL_PACK",()=>vme.getBool("HAS_WEBGL")),vme.registerFlag("WEBGL_PACK_NORMALIZATION",()=>vme.getBool("WEBGL_PACK")),vme.registerFlag("WEBGL_PACK_CLIP",()=>vme.getBool("WEBGL_PACK")),vme.registerFlag("WEBGL_PACK_DEPTHWISECONV",()=>vme.getBool("WEBGL_PACK")),vme.registerFlag("WEBGL_PACK_BINARY_OPERATIONS",()=>vme.getBool("WEBGL_PACK")),vme.registerFlag("WEBGL_PACK_UNARY_OPERATIONS",()=>vme.getBool("WEBGL_PACK")),vme.registerFlag("WEBGL_PACK_ARRAY_OPERATIONS",()=>vme.getBool("WEBGL_PACK")),vme.registerFlag("WEBGL_PACK_IMAGE_OPERATIONS",()=>vme.getBool("WEBGL_PACK")),vme.registerFlag("WEBGL_PACK_REDUCE",()=>vme.getBool("WEBGL_PACK")),vme.registerFlag("WEBGL_LAZILY_UNPACK",()=>vme.getBool("WEBGL_PACK")),vme.registerFlag("WEBGL_CONV_IM2COL",()=>vme.getBool("WEBGL_PACK")),vme.registerFlag("WEBGL_PACK_CONV2DTRANSPOSE",()=>vme.getBool("WEBGL_PACK")),vme.registerFlag("WEBGL_MAX_TEXTURE_SIZE",()=>ame(vme.getNumber("WEBGL_VERSION"))),vme.registerFlag("WEBGL_MAX_TEXTURES_IN_SHADER",()=>cme(vme.getNumber("WEBGL_VERSION"))),vme.registerFlag("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION",()=>{const e=vme.getNumber("WEBGL_VERSION");return 0===e?0:dme(e)}),vme.registerFlag("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_RELIABLE",()=>vme.getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION")>0&&!p3.device_util.isMobile()),vme.registerFlag("WEBGL_RENDER_FLOAT32_CAPABLE",()=>fme(vme.getNumber("WEBGL_VERSION"))),vme.registerFlag("WEBGL_RENDER_FLOAT32_ENABLED",()=>!vme.getBool("WEBGL_FORCE_F16_TEXTURES")&&vme.getBool("WEBGL_RENDER_FLOAT32_CAPABLE")),vme.registerFlag("WEBGL_DOWNLOAD_FLOAT_ENABLED",()=>mme(vme.getNumber("WEBGL_VERSION"))),vme.registerFlag("WEBGL_FENCE_API_ENABLED",()=>_me(vme.getNumber("WEBGL_VERSION"))),vme.registerFlag("WEBGL_SIZE_UPLOAD_UNIFORM",()=>vme.getBool("WEBGL_RENDER_FLOAT32_ENABLED")?4:0),vme.registerFlag("WEBGL_DELETE_TEXTURE_THRESHOLD",()=>-1,e=>{if("number"!=typeof e)throw new Error(`WEBGL_DELETE_TEXTURE_THRESHOLD must be a number but got ${e}.`);if(e<0&&-1!==e)throw new Error(`WEBGL_DELETE_TEXTURE_THRESHOLD must be -1 (indicating never delete) or at least 0, but got ${e}.`)}),vme.registerFlag("WEBGL_FLUSH_THRESHOLD",()=>p3.device_util.isMobile()?1:-1,e=>{if("number"!=typeof e)throw new Error(`WEBGL_FLUSH_THRESHOLD must be a number but got ${e}.`);if(e<0&&-1!==e)throw new Error(`WEBGL_FLUSH_THRESHOLD must be -1 (indicating never manual flush) or at least 0, but got ${e}.`)}),vme.registerFlag("CPU_HANDOFF_SIZE_THRESHOLD",()=>128),vme.registerFlag("WEBGL_USE_SHAPES_UNIFORMS",()=>!1),vme.registerFlag("TOPK_LAST_DIM_CPU_HANDOFF_SIZE_THRESHOLD",()=>1e5),vme.registerFlag("TOPK_K_CPU_HANDOFF_THRESHOLD",()=>128),vme.registerFlag("WEBGL_EXP_CONV",()=>!1),vme.registerFlag("SOFTWARE_WEBGL_ENABLED",()=>vme.getBool("IS_TEST")),vme.registerFlag("WEBGL_MAX_SIZE_FOR_NARROW_TEXTURE",()=>1/0),vme.registerFlag("WEBGL_AUTO_SQUARIFY_NARROW_TEXTURE_SHAPE",()=>!1),vme.registerFlag("WEBGL2_ISNAN_CUSTOM",()=>!1),vme.registerFlag("ENGINE_COMPILE_ONLY",()=>!1);const Ime="\n const float FLOAT_MAX = 1.70141184e38;\n const float FLOAT_MIN = 1.17549435e-38;\n\n lowp vec4 encode_float(highp float v) {\n if (isnan(v)) {\n return vec4(255, 255, 255, 255);\n }\n\n highp float av = abs(v);\n\n if(av < FLOAT_MIN) {\n return vec4(0.0, 0.0, 0.0, 0.0);\n } else if(v > FLOAT_MAX) {\n return vec4(0.0, 0.0, 128.0, 127.0) / 255.0;\n } else if(v < -FLOAT_MAX) {\n return vec4(0.0, 0.0, 128.0, 255.0) / 255.0;\n }\n\n highp vec4 c = vec4(0,0,0,0);\n\n highp float e = floor(log2(av));\n highp float m = exp2(fract(log2(av))) - 1.0;\n\n c[2] = floor(128.0 * m);\n m -= c[2] / 128.0;\n c[1] = floor(32768.0 * m);\n m -= c[1] / 32768.0;\n c[0] = floor(8388608.0 * m);\n\n highp float ebias = e + 127.0;\n c[3] = floor(ebias / 2.0);\n ebias -= c[3] * 2.0;\n c[2] += floor(ebias) * 128.0;\n\n c[3] += 128.0 * step(0.0, -v);\n\n return c / 255.0;\n }\n",{getBroadcastDims:Ame}=p3.backend_util;function Sme(e,t,n){const i=[];if(e.forEach(e=>{const t=p3.util.sizeFromShape(e.shapeInfo.logicalShape);if(e.shapeInfo.isUniform?i.push(`uniform float ${e.name}${t>1?`[${t}]`:""};`):(i.push(`uniform sampler2D ${e.name};`),i.push(`uniform int offset${e.name};`)),n.enableShapeUniforms){const{uniformShape:t}=Bme(n.packedInputs,e.shapeInfo.logicalShape,e.shapeInfo.texShape);switch(t.length){case 1:i.push(`uniform int ${e.name}Shape;`);break;case 2:i.push(`uniform ivec2 ${e.name}Shape;`);break;case 3:i.push(`uniform ivec3 ${e.name}Shape;`);break;case 4:i.push(`uniform ivec4 ${e.name}Shape;`)}i.push(`uniform ivec2 ${e.name}TexShape;`)}}),n.enableShapeUniforms){switch(t.logicalShape.length){case 1:i.push("uniform int outShape;");break;case 2:i.push("uniform ivec2 outShape;"),i.push("uniform int outShapeStrides;");break;case 3:i.push("uniform ivec3 outShape;"),i.push("uniform ivec2 outShapeStrides;");break;case 4:i.push("uniform ivec4 outShape;"),i.push("uniform ivec3 outShapeStrides;")}i.push("uniform ivec2 outTexShape;")}n.customUniforms&&n.customUniforms.forEach(e=>{i.push(`uniform ${e.type} ${e.name}${e.arrayIndex?`[${e.arrayIndex}]`:""};`)});const r=i.join("\n"),s=e.map(e=>function(e,t,n=!1,i){let r="";r+=n?Ome(e,i):Cme(e,i);const s=e.shapeInfo.logicalShape,o=t.logicalShape;s.length<=o.length&&(r+=n?function(e,t){const n=e.name,i=n.charAt(0).toUpperCase()+n.slice(1),r="get"+i+"AtOutCoords",s=e.shapeInfo.logicalShape.length,o=t.logicalShape.length,a=Ame(e.shapeInfo.logicalShape,t.logicalShape),l=Pme(o),u=o-s;let c;const d=["x","y","z","w","u","v"];c=0===s?"":o<2&&a.length>=1?"coords = 0;":a.map(e=>`coords.${d[e+u]} = 0;`).join("\n");let h="";h=o<2&&s>0?"coords":e.shapeInfo.logicalShape.map((e,t)=>`coords.${d[t+u]}`).join(", ");let p="return outputValue;";const f=1===p3.util.sizeFromShape(e.shapeInfo.logicalShape),m=p3.util.sizeFromShape(t.logicalShape),g=1===m;if(1!==s||f||g){if(f&&!g)p=1===o?"\n return vec4(outputValue.x, outputValue.x, 0., 0.);\n ":"\n return vec4(outputValue.x);\n ";else if(a.length){const e=s-2,t=s-1;a.indexOf(e)>-1&&a.indexOf(t)>-1?p="return vec4(outputValue.x);":a.indexOf(e)>-1?p="return vec4(outputValue.x, outputValue.y, outputValue.x, outputValue.y);":a.indexOf(t)>-1&&(p="return vec4(outputValue.xx, outputValue.zz);")}}else p="\n return vec4(outputValue.xy, outputValue.xy);\n ";return`\n vec4 ${r}() {\n ${l} coords = getOutputCoords();\n ${c}\n vec4 outputValue = get${i}(${h});\n ${p}\n }\n `}(e,t):function(e,t){const n=e.name,i=n.charAt(0).toUpperCase()+n.slice(1),r="get"+i+"AtOutCoords",s=t.texShape,o=e.shapeInfo.texShape,a=e.shapeInfo.logicalShape.length,l=t.logicalShape.length;if(!e.shapeInfo.isUniform&&a===l&&null==e.shapeInfo.flatOffset&&p3.util.arraysEqual(o,s))return`\n float ${r}() {\n return sampleTexture(${n}, resultUV);\n }\n `;const u=Pme(l),c=Ame(e.shapeInfo.logicalShape,t.logicalShape),d=l-a;let h;const p=["x","y","z","w","u","v"];h=0===a?"":l<2&&c.length>=1?"coords = 0;":c.map(e=>`coords.${p[e+d]} = 0;`).join("\n");let f="";f=l<2&&a>0?"coords":e.shapeInfo.logicalShape.map((e,t)=>`coords.${p[t+d]}`).join(", ");return`\n float ${r}() {\n ${u} coords = getOutputCoords();\n ${h}\n return get${i}(${f});\n }\n `}(e,t));return r}(e,t,n.packedInputs,n.enableShapeUniforms)).join("\n"),o=t.texShape,a=bme(),l=function(e){return`\n float sampleTexture(sampler2D textureSampler, vec2 uv) {\n return ${e.texture2D}(textureSampler, uv).r;\n }\n `}(a);let u,c,d=function(e){const t=`${e.version}\n precision highp float;\n precision highp int;\n precision highp sampler2D;\n ${e.varyingFs} vec2 resultUV;\n ${e.defineOutput}\n const vec2 halfCR = vec2(0.5, 0.5);\n\n struct ivec5\n {\n int x;\n int y;\n int z;\n int w;\n int u;\n };\n\n struct ivec6\n {\n int x;\n int y;\n int z;\n int w;\n int u;\n int v;\n };\n\n uniform float NAN;\n ${e.defineSpecialNaN}\n ${e.defineSpecialInf}\n ${e.defineRound}\n\n int imod(int x, int y) {\n return x - y * (x / y);\n }\n\n int idiv(int a, int b, float sign) {\n int res = a / b;\n int mod = imod(a, b);\n if (sign < 0. && mod != 0) {\n res -= 1;\n }\n return res;\n }\n\n //Based on the work of Dave Hoskins\n //https://www.shadertoy.com/view/4djSRW\n #define HASHSCALE1 443.8975\n float random(float seed){\n vec2 p = resultUV * seed;\n vec3 p3 = fract(vec3(p.xyx) * HASHSCALE1);\n p3 += dot(p3, p3.yzx + 19.19);\n return fract((p3.x + p3.y) * p3.z);\n }\n\n ${Mme}\n ${kme}\n ${Rme}\n `;return t}(a);t.isPacked?(u=function(e,t,n){switch(e.length){case 0:return Dme();case 1:return function(e,t,n){const i=[Math.ceil(t[0]/2),Math.ceil(t[1]/2)];if(1===i[0])return n?"\n int getOutputCoords() {\n return 2 * int(resultUV.x * ceil(float(outTexShape[1]) / 2.0));\n }\n ":`\n int getOutputCoords() {\n return 2 * int(resultUV.x * ${i[1]}.0);\n }\n `;if(1===i[1])return n?"\n int getOutputCoords() {\n return 2 * int(resultUV.y * ceil(float(outTexShape[0]) / 2.0));\n }\n ":`\n int getOutputCoords() {\n return 2 * int(resultUV.y * ${i[0]}.0);\n }\n `;if(n)return"\n int getOutputCoords() {\n ivec2 packedTexShape = ivec2(ceil(float(outTexShape[0]) / 2.0), ceil(float(outTexShape[1]) / 2.0));\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(packedTexShape[0], packedTexShape[1]));\n return 2 * (resTexRC.x * packedTexShape[1] + resTexRC.y);\n }\n ";return`\n int getOutputCoords() {\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(${i[0]}, ${i[1]}));\n return 2 * (resTexRC.x * ${i[1]} + resTexRC.y);\n }\n `}(0,t,n);case 2:return function(e,t,n){const i=[Math.ceil(t[0]/2),Math.ceil(t[1]/2)];if(p3.util.arraysEqual(e,t))return n?"\n ivec2 getOutputCoords() {\n ivec2 packedTexShape = ivec2(ceil(float(outTexShape[0]) / 2.0), ceil(float(outTexShape[1]) / 2.0));\n return 2 * ivec2(resultUV.yx * vec2(packedTexShape[0], packedTexShape[1]));\n }\n ":`\n ivec2 getOutputCoords() {\n return 2 * ivec2(resultUV.yx * vec2(${i[0]}, ${i[1]}));\n }\n `;const r=Math.ceil(e[1]/2);if(n)return"\n ivec2 getOutputCoords() {\n ivec2 packedTexShape = ivec2(ceil(float(outTexShape[0]) / 2.0), ceil(float(outTexShape[1]) / 2.0));\n int texelsInLogicalRow = int(ceil(float(outShape[1]) / 2.0));\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(packedTexShape[0], packedTexShape[1]));\n\n int index = resTexRC.x * packedTexShape[1] + resTexRC.y;\n int r = 2 * (index / texelsInLogicalRow);\n int c = imod(index, texelsInLogicalRow) * 2;\n\n return ivec2(r, c);\n }\n ";return`\n ivec2 getOutputCoords() {\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(${i[0]}, ${i[1]}));\n\n int index = resTexRC.x * ${i[1]} + resTexRC.y;\n int r = 2 * (index / ${r});\n int c = imod(index, ${r}) * 2;\n\n return ivec2(r, c);\n }\n `}(e,t,n);case 3:return function(e,t,n){if(n)return"\n ivec3 getOutputCoords() {\n ivec2 packedTexShape = ivec2(ceil(float(outTexShape[0]) / 2.0), ceil(float(outTexShape[1]) / 2.0));\n int texelsInLogicalRow = int(ceil(float(outShape[2]) / 2.0));\n int texelsInBatch = texelsInLogicalRow * int(ceil(float(outShape[1]) / 2.0));\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(packedTexShape[0], packedTexShape[1]));\n int index = resTexRC.x * packedTexShape[1] + resTexRC.y;\n\n int b = index / texelsInBatch;\n index -= b * texelsInBatch;\n\n int r = 2 * (index / texelsInLogicalRow);\n int c = imod(index, texelsInLogicalRow) * 2;\n\n return ivec3(b, r, c);\n }\n ";const i=[Math.ceil(t[0]/2),Math.ceil(t[1]/2)],r=Math.ceil(e[2]/2),s=r*Math.ceil(e[1]/2);return`\n ivec3 getOutputCoords() {\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(${i[0]}, ${i[1]}));\n int index = resTexRC.x * ${i[1]} + resTexRC.y;\n\n int b = index / ${s};\n index -= b * ${s};\n\n int r = 2 * (index / ${r});\n int c = imod(index, ${r}) * 2;\n\n return ivec3(b, r, c);\n }\n `}(e,t,n);default:return function(e,t,n){if(n)return"\n ivec4 getOutputCoords() {\n ivec2 packedTexShape = ivec2(ceil(float(outTexShape[0]) / 2.0), ceil(float(outTexShape[1]) / 2.0));\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(packedTexShape[0], packedTexShape[1]));\n int index = resTexRC.x * packedTexShape[1] + resTexRC.y;\n\n int texelsInLogicalRow = int(ceil(float(outShape[3]) / 2.0));\n int texelsInBatch = texelsInLogicalRow * int(ceil(float(outShape[2]) / 2.0));\n int texelsInBatchN = texelsInBatch * outShape[1];\n\n int b2 = index / texelsInBatchN;\n index -= b2 * texelsInBatchN;\n\n int b = index / texelsInBatch;\n index -= b * texelsInBatch;\n\n int r = 2 * (index / texelsInLogicalRow);\n int c = imod(index, texelsInLogicalRow) * 2;\n\n return ivec4(b2, b, r, c);\n }\n ";const i=[Math.ceil(t[0]/2),Math.ceil(t[1]/2)],r=Math.ceil(e[e.length-1]/2),s=r*Math.ceil(e[e.length-2]/2);let o=s,a="",l="b, r, c";for(let t=2;t1&&!p3.util.arraysEqual(t,n)&&i.lengthe[t]).join(", ")}function Vme(e,t,n){const i=[],r=[];let s,o,a,l=null,u=null;u=e.getUniformLocation(n,"NAN",!1),1===(0,p3.env)().getNumber("WEBGL_VERSION")&&(l=e.getUniformLocation(n,"INFINITY",!1));const c=!1;for(const r of t.variableNames){const s={name:r,uniform:e.getUniformLocation(n,r,c),offset:e.getUniformLocation(n,`offset${r}`,c)};t.enableShapeUniforms&&(s.shape=e.getUniformLocation(n,`${r}Shape`,c),s.texShape=e.getUniformLocation(n,`${r}TexShape`,c)),i.push(s)}if(t.enableShapeUniforms&&(s=e.getUniformLocation(n,"outShape",c),a=e.getUniformLocation(n,"outShapeStrides",c),o=e.getUniformLocation(n,"outTexShape",c)),t.customUniforms)for(const i of t.customUniforms)r.push(e.getUniformLocation(n,i.name,c));return{variablesLocations:i,customUniformLocations:r,infLoc:l,nanLoc:u,outShapeLocation:s,outShapeStridesLocation:a,outTexShapeLocation:o}}function zme(e,t){if(e.length!==t.length)throw Error(`Binary was compiled with ${e.length} inputs, but was executed with ${t.length} inputs`);e.forEach((e,n)=>{const i=e.logicalShape,r=t[n],s=r.shape;if(!p3.util.arraysEqual(i,s))throw Error(`Binary was compiled with different shapes than the current args. Shapes ${i} and ${s} must match`);if(e.isUniform&&r.isUniform)return;const o=e.texShape,a=r.isUniform?null:r.texData.texShape;if(!p3.util.arraysEqual(o,a))throw Error(`Binary was compiled with different texture shapes than the current args. Shape ${o} and ${a} must match`)})}function jme(e){return(0,p3.env)().getBool("WEBGL_USE_SHAPES_UNIFORMS")&&e<=4} +function Sme(e,t,n="index"){const i=v3.util.computeStrides(t);return i.map((t,r)=>`${`int ${e[r]} = ${n} / ${t}`}; ${r===i.length-1?`int ${e[r+1]} = ${n} - ${e[r]} * ${t}`:`index -= ${e[r]} * ${t}`};`).join("")}function Cme(e,t,n="index"){const i=v3.util.computeStrides(t);return i.map((t,r)=>`${`int ${e[r]} = ${n} / outShapeStrides[${r}]`}; ${r===i.length-1?`int ${e[r+1]} = ${n} - ${e[r]} * outShapeStrides[${r}]`:`index -= ${e[r]} * outShapeStrides[${r}]`};`).join("")}function Ome(e,t,n="index"){const i=function(e,t){const n=e.length,i=e.map(e=>`${t}[${e}]`),r=new Array(n-1);r[n-2]=i[n-1];for(let e=n-3;e>=0;--e)r[e]=`(${r[e+1]} * ${i[e+1]})`;return r}(e.map((e,t)=>t),t);return i.map((t,r)=>`${`int ${e[r]} = ${n} / ${i[r]}`}; ${r===i.length-1?`int ${e[r+1]} = ${n} - ${e[r]} * ${i[r]}`:`index -= ${e[r]} * ${i[r]}`};`).join("")}function Mme(e){const t=v3.util.computeStrides(e).map(e=>e.toString());return`\n int getFlatIndex(ivec3 coords) {\n return coords.x * ${t[0]} + coords.y * ${t[1]} + coords.z;\n }\n`}Ime.registerFlag("HAS_WEBGL",()=>Ime.getNumber("WEBGL_VERSION")>0),Ime.registerFlag("WEBGL_VERSION",()=>vme(2)?2:vme(1)?1:0),Ime.registerFlag("WEBGL_CHECK_NUMERICAL_PROBLEMS",()=>!1),Ime.registerFlag("WEBGL_BUFFER_SUPPORTED",()=>2===Ime.get("WEBGL_VERSION")),Ime.registerFlag("WEBGL_CPU_FORWARD",()=>!0),Ime.registerFlag("WEBGL_FORCE_F16_TEXTURES",()=>!1),Ime.registerFlag("WEBGL_PACK",()=>Ime.getBool("HAS_WEBGL")),Ime.registerFlag("WEBGL_PACK_NORMALIZATION",()=>Ime.getBool("WEBGL_PACK")),Ime.registerFlag("WEBGL_PACK_CLIP",()=>Ime.getBool("WEBGL_PACK")),Ime.registerFlag("WEBGL_PACK_DEPTHWISECONV",()=>Ime.getBool("WEBGL_PACK")),Ime.registerFlag("WEBGL_PACK_BINARY_OPERATIONS",()=>Ime.getBool("WEBGL_PACK")),Ime.registerFlag("WEBGL_PACK_UNARY_OPERATIONS",()=>Ime.getBool("WEBGL_PACK")),Ime.registerFlag("WEBGL_PACK_ARRAY_OPERATIONS",()=>Ime.getBool("WEBGL_PACK")),Ime.registerFlag("WEBGL_PACK_IMAGE_OPERATIONS",()=>Ime.getBool("WEBGL_PACK")),Ime.registerFlag("WEBGL_PACK_REDUCE",()=>Ime.getBool("WEBGL_PACK")),Ime.registerFlag("WEBGL_LAZILY_UNPACK",()=>Ime.getBool("WEBGL_PACK")),Ime.registerFlag("WEBGL_CONV_IM2COL",()=>Ime.getBool("WEBGL_PACK")),Ime.registerFlag("WEBGL_PACK_CONV2DTRANSPOSE",()=>Ime.getBool("WEBGL_PACK")),Ime.registerFlag("WEBGL_MAX_TEXTURE_SIZE",()=>pme(Ime.getNumber("WEBGL_VERSION"))),Ime.registerFlag("WEBGL_MAX_TEXTURES_IN_SHADER",()=>gme(Ime.getNumber("WEBGL_VERSION"))),Ime.registerFlag("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION",()=>{const e=Ime.getNumber("WEBGL_VERSION");return 0===e?0:_me(e)}),Ime.registerFlag("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_RELIABLE",()=>Ime.getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION")>0&&!v3.device_util.isMobile()),Ime.registerFlag("WEBGL_RENDER_FLOAT32_CAPABLE",()=>bme(Ime.getNumber("WEBGL_VERSION"))),Ime.registerFlag("WEBGL_RENDER_FLOAT32_ENABLED",()=>!Ime.getBool("WEBGL_FORCE_F16_TEXTURES")&&Ime.getBool("WEBGL_RENDER_FLOAT32_CAPABLE")),Ime.registerFlag("WEBGL_DOWNLOAD_FLOAT_ENABLED",()=>Tme(Ime.getNumber("WEBGL_VERSION"))),Ime.registerFlag("WEBGL_FENCE_API_ENABLED",()=>Eme(Ime.getNumber("WEBGL_VERSION"))),Ime.registerFlag("WEBGL_SIZE_UPLOAD_UNIFORM",()=>Ime.getBool("WEBGL_RENDER_FLOAT32_ENABLED")?4:0),Ime.registerFlag("WEBGL_DELETE_TEXTURE_THRESHOLD",()=>-1,e=>{if("number"!=typeof e)throw new Error(`WEBGL_DELETE_TEXTURE_THRESHOLD must be a number but got ${e}.`);if(e<0&&-1!==e)throw new Error(`WEBGL_DELETE_TEXTURE_THRESHOLD must be -1 (indicating never delete) or at least 0, but got ${e}.`)}),Ime.registerFlag("WEBGL_FLUSH_THRESHOLD",()=>v3.device_util.isMobile()?1:-1,e=>{if("number"!=typeof e)throw new Error(`WEBGL_FLUSH_THRESHOLD must be a number but got ${e}.`);if(e<0&&-1!==e)throw new Error(`WEBGL_FLUSH_THRESHOLD must be -1 (indicating never manual flush) or at least 0, but got ${e}.`)}),Ime.registerFlag("CPU_HANDOFF_SIZE_THRESHOLD",()=>128),Ime.registerFlag("WEBGL_USE_SHAPES_UNIFORMS",()=>!1),Ime.registerFlag("TOPK_LAST_DIM_CPU_HANDOFF_SIZE_THRESHOLD",()=>1e5),Ime.registerFlag("TOPK_K_CPU_HANDOFF_THRESHOLD",()=>128),Ime.registerFlag("WEBGL_EXP_CONV",()=>!1),Ime.registerFlag("SOFTWARE_WEBGL_ENABLED",()=>Ime.getBool("IS_TEST")),Ime.registerFlag("WEBGL_MAX_SIZE_FOR_NARROW_TEXTURE",()=>1/0),Ime.registerFlag("WEBGL_AUTO_SQUARIFY_NARROW_TEXTURE_SHAPE",()=>!1),Ime.registerFlag("WEBGL2_ISNAN_CUSTOM",()=>!1),Ime.registerFlag("ENGINE_COMPILE_ONLY",()=>!1);const kme="\n const float FLOAT_MAX = 1.70141184e38;\n const float FLOAT_MIN = 1.17549435e-38;\n\n lowp vec4 encode_float(highp float v) {\n if (isnan(v)) {\n return vec4(255, 255, 255, 255);\n }\n\n highp float av = abs(v);\n\n if(av < FLOAT_MIN) {\n return vec4(0.0, 0.0, 0.0, 0.0);\n } else if(v > FLOAT_MAX) {\n return vec4(0.0, 0.0, 128.0, 127.0) / 255.0;\n } else if(v < -FLOAT_MAX) {\n return vec4(0.0, 0.0, 128.0, 255.0) / 255.0;\n }\n\n highp vec4 c = vec4(0,0,0,0);\n\n highp float e = floor(log2(av));\n highp float m = exp2(fract(log2(av))) - 1.0;\n\n c[2] = floor(128.0 * m);\n m -= c[2] / 128.0;\n c[1] = floor(32768.0 * m);\n m -= c[1] / 32768.0;\n c[0] = floor(8388608.0 * m);\n\n highp float ebias = e + 127.0;\n c[3] = floor(ebias / 2.0);\n ebias -= c[3] * 2.0;\n c[2] += floor(ebias) * 128.0;\n\n c[3] += 128.0 * step(0.0, -v);\n\n return c / 255.0;\n }\n",{getBroadcastDims:Rme}=v3.backend_util;function Nme(e,t,n){const i=[];if(e.forEach(e=>{const t=v3.util.sizeFromShape(e.shapeInfo.logicalShape);if(e.shapeInfo.isUniform?i.push(`uniform float ${e.name}${t>1?`[${t}]`:""};`):(i.push(`uniform sampler2D ${e.name};`),i.push(`uniform int offset${e.name};`)),n.enableShapeUniforms){const{uniformShape:t}=Yme(n.packedInputs,e.shapeInfo.logicalShape,e.shapeInfo.texShape);switch(t.length){case 1:i.push(`uniform int ${e.name}Shape;`);break;case 2:i.push(`uniform ivec2 ${e.name}Shape;`);break;case 3:i.push(`uniform ivec3 ${e.name}Shape;`);break;case 4:i.push(`uniform ivec4 ${e.name}Shape;`)}i.push(`uniform ivec2 ${e.name}TexShape;`)}}),n.enableShapeUniforms){switch(t.logicalShape.length){case 1:i.push("uniform int outShape;");break;case 2:i.push("uniform ivec2 outShape;"),i.push("uniform int outShapeStrides;");break;case 3:i.push("uniform ivec3 outShape;"),i.push("uniform ivec2 outShapeStrides;");break;case 4:i.push("uniform ivec4 outShape;"),i.push("uniform ivec3 outShapeStrides;")}i.push("uniform ivec2 outTexShape;")}n.customUniforms&&n.customUniforms.forEach(e=>{i.push(`uniform ${e.type} ${e.name}${e.arrayIndex?`[${e.arrayIndex}]`:""};`)});const r=i.join("\n"),s=e.map(e=>function(e,t,n=!1,i){let r="";r+=n?Fme(e,i):Dme(e,i);const s=e.shapeInfo.logicalShape,o=t.logicalShape;s.length<=o.length&&(r+=n?function(e,t){const n=e.name,i=n.charAt(0).toUpperCase()+n.slice(1),r="get"+i+"AtOutCoords",s=e.shapeInfo.logicalShape.length,o=t.logicalShape.length,a=Rme(e.shapeInfo.logicalShape,t.logicalShape),l=jme(o),u=o-s;let c;const d=["x","y","z","w","u","v"];c=0===s?"":o<2&&a.length>=1?"coords = 0;":a.map(e=>`coords.${d[e+u]} = 0;`).join("\n");let h="";h=o<2&&s>0?"coords":e.shapeInfo.logicalShape.map((e,t)=>`coords.${d[t+u]}`).join(", ");let p="return outputValue;";const f=1===v3.util.sizeFromShape(e.shapeInfo.logicalShape),m=v3.util.sizeFromShape(t.logicalShape),g=1===m;if(1!==s||f||g){if(f&&!g)p=1===o?"\n return vec4(outputValue.x, outputValue.x, 0., 0.);\n ":"\n return vec4(outputValue.x);\n ";else if(a.length){const e=s-2,t=s-1;a.indexOf(e)>-1&&a.indexOf(t)>-1?p="return vec4(outputValue.x);":a.indexOf(e)>-1?p="return vec4(outputValue.x, outputValue.y, outputValue.x, outputValue.y);":a.indexOf(t)>-1&&(p="return vec4(outputValue.xx, outputValue.zz);")}}else p="\n return vec4(outputValue.xy, outputValue.xy);\n ";return`\n vec4 ${r}() {\n ${l} coords = getOutputCoords();\n ${c}\n vec4 outputValue = get${i}(${h});\n ${p}\n }\n `}(e,t):function(e,t){const n=e.name,i=n.charAt(0).toUpperCase()+n.slice(1),r="get"+i+"AtOutCoords",s=t.texShape,o=e.shapeInfo.texShape,a=e.shapeInfo.logicalShape.length,l=t.logicalShape.length;if(!e.shapeInfo.isUniform&&a===l&&null==e.shapeInfo.flatOffset&&v3.util.arraysEqual(o,s))return`\n float ${r}() {\n return sampleTexture(${n}, resultUV);\n }\n `;const u=jme(l),c=Rme(e.shapeInfo.logicalShape,t.logicalShape),d=l-a;let h;const p=["x","y","z","w","u","v"];h=0===a?"":l<2&&c.length>=1?"coords = 0;":c.map(e=>`coords.${p[e+d]} = 0;`).join("\n");let f="";f=l<2&&a>0?"coords":e.shapeInfo.logicalShape.map((e,t)=>`coords.${p[t+d]}`).join(", ");return`\n float ${r}() {\n ${u} coords = getOutputCoords();\n ${h}\n return get${i}(${f});\n }\n `}(e,t));return r}(e,t,n.packedInputs,n.enableShapeUniforms)).join("\n"),o=t.texShape,a=Ame(),l=function(e){return`\n float sampleTexture(sampler2D textureSampler, vec2 uv) {\n return ${e.texture2D}(textureSampler, uv).r;\n }\n `}(a);let u,c,d=function(e){const t=`${e.version}\n precision highp float;\n precision highp int;\n precision highp sampler2D;\n ${e.varyingFs} vec2 resultUV;\n ${e.defineOutput}\n const vec2 halfCR = vec2(0.5, 0.5);\n\n struct ivec5\n {\n int x;\n int y;\n int z;\n int w;\n int u;\n };\n\n struct ivec6\n {\n int x;\n int y;\n int z;\n int w;\n int u;\n int v;\n };\n\n uniform float NAN;\n ${e.defineSpecialNaN}\n ${e.defineSpecialInf}\n ${e.defineRound}\n\n int imod(int x, int y) {\n return x - y * (x / y);\n }\n\n int idiv(int a, int b, float sign) {\n int res = a / b;\n int mod = imod(a, b);\n if (sign < 0. && mod != 0) {\n res -= 1;\n }\n return res;\n }\n\n //Based on the work of Dave Hoskins\n //https://www.shadertoy.com/view/4djSRW\n #define HASHSCALE1 443.8975\n float random(float seed){\n vec2 p = resultUV * seed;\n vec3 p3 = fract(vec3(p.xyx) * HASHSCALE1);\n p3 += dot(p3, p3.yzx + 19.19);\n return fract((p3.x + p3.y) * p3.z);\n }\n\n ${Lme}\n ${Pme}\n ${Bme}\n `;return t}(a);t.isPacked?(u=function(e,t,n){switch(e.length){case 0:return Ume();case 1:return function(e,t,n){const i=[Math.ceil(t[0]/2),Math.ceil(t[1]/2)];if(1===i[0])return n?"\n int getOutputCoords() {\n return 2 * int(resultUV.x * ceil(float(outTexShape[1]) / 2.0));\n }\n ":`\n int getOutputCoords() {\n return 2 * int(resultUV.x * ${i[1]}.0);\n }\n `;if(1===i[1])return n?"\n int getOutputCoords() {\n return 2 * int(resultUV.y * ceil(float(outTexShape[0]) / 2.0));\n }\n ":`\n int getOutputCoords() {\n return 2 * int(resultUV.y * ${i[0]}.0);\n }\n `;if(n)return"\n int getOutputCoords() {\n ivec2 packedTexShape = ivec2(ceil(float(outTexShape[0]) / 2.0), ceil(float(outTexShape[1]) / 2.0));\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(packedTexShape[0], packedTexShape[1]));\n return 2 * (resTexRC.x * packedTexShape[1] + resTexRC.y);\n }\n ";return`\n int getOutputCoords() {\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(${i[0]}, ${i[1]}));\n return 2 * (resTexRC.x * ${i[1]} + resTexRC.y);\n }\n `}(0,t,n);case 2:return function(e,t,n){const i=[Math.ceil(t[0]/2),Math.ceil(t[1]/2)];if(v3.util.arraysEqual(e,t))return n?"\n ivec2 getOutputCoords() {\n ivec2 packedTexShape = ivec2(ceil(float(outTexShape[0]) / 2.0), ceil(float(outTexShape[1]) / 2.0));\n return 2 * ivec2(resultUV.yx * vec2(packedTexShape[0], packedTexShape[1]));\n }\n ":`\n ivec2 getOutputCoords() {\n return 2 * ivec2(resultUV.yx * vec2(${i[0]}, ${i[1]}));\n }\n `;const r=Math.ceil(e[1]/2);if(n)return"\n ivec2 getOutputCoords() {\n ivec2 packedTexShape = ivec2(ceil(float(outTexShape[0]) / 2.0), ceil(float(outTexShape[1]) / 2.0));\n int texelsInLogicalRow = int(ceil(float(outShape[1]) / 2.0));\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(packedTexShape[0], packedTexShape[1]));\n\n int index = resTexRC.x * packedTexShape[1] + resTexRC.y;\n int r = 2 * (index / texelsInLogicalRow);\n int c = imod(index, texelsInLogicalRow) * 2;\n\n return ivec2(r, c);\n }\n ";return`\n ivec2 getOutputCoords() {\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(${i[0]}, ${i[1]}));\n\n int index = resTexRC.x * ${i[1]} + resTexRC.y;\n int r = 2 * (index / ${r});\n int c = imod(index, ${r}) * 2;\n\n return ivec2(r, c);\n }\n `}(e,t,n);case 3:return function(e,t,n){if(n)return"\n ivec3 getOutputCoords() {\n ivec2 packedTexShape = ivec2(ceil(float(outTexShape[0]) / 2.0), ceil(float(outTexShape[1]) / 2.0));\n int texelsInLogicalRow = int(ceil(float(outShape[2]) / 2.0));\n int texelsInBatch = texelsInLogicalRow * int(ceil(float(outShape[1]) / 2.0));\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(packedTexShape[0], packedTexShape[1]));\n int index = resTexRC.x * packedTexShape[1] + resTexRC.y;\n\n int b = index / texelsInBatch;\n index -= b * texelsInBatch;\n\n int r = 2 * (index / texelsInLogicalRow);\n int c = imod(index, texelsInLogicalRow) * 2;\n\n return ivec3(b, r, c);\n }\n ";const i=[Math.ceil(t[0]/2),Math.ceil(t[1]/2)],r=Math.ceil(e[2]/2),s=r*Math.ceil(e[1]/2);return`\n ivec3 getOutputCoords() {\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(${i[0]}, ${i[1]}));\n int index = resTexRC.x * ${i[1]} + resTexRC.y;\n\n int b = index / ${s};\n index -= b * ${s};\n\n int r = 2 * (index / ${r});\n int c = imod(index, ${r}) * 2;\n\n return ivec3(b, r, c);\n }\n `}(e,t,n);default:return function(e,t,n){if(n)return"\n ivec4 getOutputCoords() {\n ivec2 packedTexShape = ivec2(ceil(float(outTexShape[0]) / 2.0), ceil(float(outTexShape[1]) / 2.0));\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(packedTexShape[0], packedTexShape[1]));\n int index = resTexRC.x * packedTexShape[1] + resTexRC.y;\n\n int texelsInLogicalRow = int(ceil(float(outShape[3]) / 2.0));\n int texelsInBatch = texelsInLogicalRow * int(ceil(float(outShape[2]) / 2.0));\n int texelsInBatchN = texelsInBatch * outShape[1];\n\n int b2 = index / texelsInBatchN;\n index -= b2 * texelsInBatchN;\n\n int b = index / texelsInBatch;\n index -= b * texelsInBatch;\n\n int r = 2 * (index / texelsInLogicalRow);\n int c = imod(index, texelsInLogicalRow) * 2;\n\n return ivec4(b2, b, r, c);\n }\n ";const i=[Math.ceil(t[0]/2),Math.ceil(t[1]/2)],r=Math.ceil(e[e.length-1]/2),s=r*Math.ceil(e[e.length-2]/2);let o=s,a="",l="b, r, c";for(let t=2;t1&&!v3.util.arraysEqual(t,n)&&i.lengthe[t]).join(", ")}function Wme(e,t,n){const i=[],r=[];let s,o,a,l=null,u=null;u=e.getUniformLocation(n,"NAN",!1),1===(0,v3.env)().getNumber("WEBGL_VERSION")&&(l=e.getUniformLocation(n,"INFINITY",!1));const c=!1;for(const r of t.variableNames){const s={name:r,uniform:e.getUniformLocation(n,r,c),offset:e.getUniformLocation(n,`offset${r}`,c)};t.enableShapeUniforms&&(s.shape=e.getUniformLocation(n,`${r}Shape`,c),s.texShape=e.getUniformLocation(n,`${r}TexShape`,c)),i.push(s)}if(t.enableShapeUniforms&&(s=e.getUniformLocation(n,"outShape",c),a=e.getUniformLocation(n,"outShapeStrides",c),o=e.getUniformLocation(n,"outTexShape",c)),t.customUniforms)for(const i of t.customUniforms)r.push(e.getUniformLocation(n,i.name,c));return{variablesLocations:i,customUniformLocations:r,infLoc:l,nanLoc:u,outShapeLocation:s,outShapeStridesLocation:a,outTexShapeLocation:o}}function Xme(e,t){if(e.length!==t.length)throw Error(`Binary was compiled with ${e.length} inputs, but was executed with ${t.length} inputs`);e.forEach((e,n)=>{const i=e.logicalShape,r=t[n],s=r.shape;if(!v3.util.arraysEqual(i,s))throw Error(`Binary was compiled with different shapes than the current args. Shapes ${i} and ${s} must match`);if(e.isUniform&&r.isUniform)return;const o=e.texShape,a=r.isUniform?null:r.texData.texShape;if(!v3.util.arraysEqual(o,a))throw Error(`Binary was compiled with different texture shapes than the current args. Shape ${o} and ${a} must match`)})}function qme(e){return(0,v3.env)().getBool("WEBGL_USE_SHAPES_UNIFORMS")&&e<=4} /** * @license * Copyright 2019 Google LLC. All Rights Reserved. @@ -14946,7 +14946,7 @@ function Tme(e,t,n="index"){const i=p3.util.computeStrides(t);return i.map((t,r) * limitations under the License. * ============================================================================= */ -class Yme{constructor(e){this.variableNames=["A"],this.packedInputs=!1,this.packedOutput=!0,this.outPackingScheme=ffe.DENSE,this.customUniforms=[{name:"texShape",type:"ivec2"}];const t=bme();this.outputShape=e,this.enableShapeUniforms=jme(this.outputShape.length),this.userCode=`\n ivec3 outCoordsFromFlatIndex(int index) {\n ${this.enableShapeUniforms?xme(["r","c","d"],e):Tme(["r","c","d"],e)}\n return ivec3(r, c, d);\n }\n\n void main() {\n ivec2 resTexRC = ivec2(resultUV.yx * vec2(texShape[0], texShape[1]));\n int index = 4 * (resTexRC.x * texShape[1] + resTexRC.y);\n\n vec4 result = vec4(0.);\n\n for (int i=0; i<4; i++) {\n int flatIndex = index + i;\n ivec3 rc = outCoordsFromFlatIndex(flatIndex);\n result[i] = getA(rc.x, rc.y, rc.z);\n }\n\n ${t.output} = result;\n }\n `}} +class Kme{constructor(e){this.variableNames=["A"],this.packedInputs=!1,this.packedOutput=!0,this.outPackingScheme=bfe.DENSE,this.customUniforms=[{name:"texShape",type:"ivec2"}];const t=Ame();this.outputShape=e,this.enableShapeUniforms=qme(this.outputShape.length),this.userCode=`\n ivec3 outCoordsFromFlatIndex(int index) {\n ${this.enableShapeUniforms?Cme(["r","c","d"],e):Sme(["r","c","d"],e)}\n return ivec3(r, c, d);\n }\n\n void main() {\n ivec2 resTexRC = ivec2(resultUV.yx * vec2(texShape[0], texShape[1]));\n int index = 4 * (resTexRC.x * texShape[1] + resTexRC.y);\n\n vec4 result = vec4(0.);\n\n for (int i=0; i<4; i++) {\n int flatIndex = index + i;\n ivec3 rc = outCoordsFromFlatIndex(flatIndex);\n result[i] = getA(rc.x, rc.y, rc.z);\n }\n\n ${t.output} = result;\n }\n `}} /** * @license * Copyright 2019 Google LLC. All Rights Reserved. @@ -14963,7 +14963,7 @@ class Yme{constructor(e){this.variableNames=["A"],this.packedInputs=!1,this.pack * limitations under the License. * ============================================================================= */ -class Gme{constructor(e){this.variableNames=["A"],this.packedInputs=!0,this.packedOutput=!0,this.outPackingScheme=ffe.DENSE,this.customUniforms=[{name:"texShape",type:"ivec2"}];const t=bme();this.outputShape=e,this.enableShapeUniforms=jme(this.outputShape.length),this.userCode=`\n ivec3 outCoordsFromFlatIndex(int index) {\n ${this.enableShapeUniforms?xme(["r","c","d"],e):Tme(["r","c","d"],e)}\n return ivec3(r, c, d);\n }\n\n void main() {\n ivec2 resTexRC = ivec2(resultUV.yx * vec2(texShape[0], texShape[1]));\n int index = 4 * (resTexRC.x * texShape[1] + resTexRC.y);\n\n vec4 result = vec4(0.);\n\n for (int i=0; i<4; i++) {\n int flatIndex = index + i;\n ivec3 rc = outCoordsFromFlatIndex(flatIndex);\n result[i] = getChannel(getA(rc.x, rc.y, rc.z), vec2(rc.y, rc.z));\n }\n\n ${t.output} = result;\n }\n `}} +class Zme{constructor(e){this.variableNames=["A"],this.packedInputs=!0,this.packedOutput=!0,this.outPackingScheme=bfe.DENSE,this.customUniforms=[{name:"texShape",type:"ivec2"}];const t=Ame();this.outputShape=e,this.enableShapeUniforms=qme(this.outputShape.length),this.userCode=`\n ivec3 outCoordsFromFlatIndex(int index) {\n ${this.enableShapeUniforms?Cme(["r","c","d"],e):Sme(["r","c","d"],e)}\n return ivec3(r, c, d);\n }\n\n void main() {\n ivec2 resTexRC = ivec2(resultUV.yx * vec2(texShape[0], texShape[1]));\n int index = 4 * (resTexRC.x * texShape[1] + resTexRC.y);\n\n vec4 result = vec4(0.);\n\n for (int i=0; i<4; i++) {\n int flatIndex = index + i;\n ivec3 rc = outCoordsFromFlatIndex(flatIndex);\n result[i] = getChannel(getA(rc.x, rc.y, rc.z), vec2(rc.y, rc.z));\n }\n\n ${t.output} = result;\n }\n `}} /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -14980,7 +14980,7 @@ class Gme{constructor(e){this.variableNames=["A"],this.packedInputs=!0,this.pack * limitations under the License. * ============================================================================= */ -class Hme{constructor(e){this.variableNames=["A"],this.outTexUsage=mfe.DOWNLOAD;const t=bme();this.outputShape=e,this.userCode=`\n ${Ime}\n\n void main() {\n float x = getAAtOutCoords();\n ${t.output} = encode_float(x);\n }\n `}} +class Qme{constructor(e){this.variableNames=["A"],this.outTexUsage=Tfe.DOWNLOAD;const t=Ame();this.outputShape=e,this.userCode=`\n ${kme}\n\n void main() {\n float x = getAAtOutCoords();\n ${t.output} = encode_float(x);\n }\n `}} /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -14997,7 +14997,7 @@ class Hme{constructor(e){this.variableNames=["A"],this.outTexUsage=mfe.DOWNLOAD; * limitations under the License. * ============================================================================= */ -class Wme{constructor(e){this.variableNames=["A"],this.packedInputs=!0,this.packedOutput=!1,this.outTexUsage=mfe.DOWNLOAD;const t=bme();this.outputShape=e,this.userCode=`\n ${Ime}\n\n void main() {\n ivec3 coords = getOutputCoords();\n float x = getChannel(getAAtOutCoords(), vec2(coords.y, coords.z));\n ${t.output} = encode_float(x);\n }\n `}} +class Jme{constructor(e){this.variableNames=["A"],this.packedInputs=!0,this.packedOutput=!1,this.outTexUsage=Tfe.DOWNLOAD;const t=Ame();this.outputShape=e,this.userCode=`\n ${kme}\n\n void main() {\n ivec3 coords = getOutputCoords();\n float x = getChannel(getAAtOutCoords(), vec2(coords.y, coords.z));\n ${t.output} = encode_float(x);\n }\n `}} /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -15014,7 +15014,7 @@ class Wme{constructor(e){this.variableNames=["A"],this.packedInputs=!0,this.pack * limitations under the License. * ============================================================================= */ -const Xme={R:0,G:1,B:2,A:3};class qme{constructor(e,t=!1,n="RGBA"){this.variableNames=["A"],this.customUniforms=[{name:"texShape",type:"ivec2"}];const i=bme();this.outputShape=e,this.enableShapeUniforms=jme(this.outputShape.length);let r="result";t&&(r="floor(result * 255. + 0.5)");let s="";for(let e=0;ee.bindTexture(a,o)),Tfe(e,()=>e.texParameteri(a,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE)),Tfe(e,()=>e.texParameteri(a,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE)),Tfe(e,()=>e.texParameteri(a,e.TEXTURE_MIN_FILTER,e.NEAREST)),Tfe(e,()=>e.texParameteri(a,e.TEXTURE_MAG_FILTER,e.NEAREST)),1===(0,p3.env)().getNumber("WEBGL_VERSION")?Tfe(e,()=>e.texImage2D(a,0,i,t,n,0,r,s,null)):Tfe(e,()=>e.texStorage2D(a,1,i,t,n)),Tfe(e,()=>e.bindTexture(e.TEXTURE_2D,null)),{texture:o,texShape:[n,t]}}function tge(e){return e.internalFormatFloat}function nge(e,t,n,i){const[r,s]=_fe(t,n);return ege(e,r,s,tge(i),i.textureFormatFloat,e.FLOAT)}function ige(e){return e.internalFormatHalfFloat}function rge(e,t,n,i){const[r,s]=_fe(t,n);return ege(e,r,s,ige(i),i.textureFormatFloat,i.textureTypeHalfFloat)}function sge(e){return e.downloadTextureFormat}function oge(e,t,n,i){const[r,s]=_fe(t,n);return ege(e,r,s,sge(i),e.RGBA,e.UNSIGNED_BYTE)}function age(e){return e.internalFormatPackedFloat}function lge(e,t,n,i){const[r,s]=vfe(t,n);return ege(e,r,s,age(i),e.RGBA,e.FLOAT)}function uge(e){return e.internalFormatPackedHalfFloat}function cge(e,t,n,i){const[r,s]=vfe(t,n);return ege(e,r,s,uge(i),e.RGBA,i.textureTypeHalfFloat)}function dge(e,t,n){Tfe(e,()=>e.bindBuffer(e.ARRAY_BUFFER,n));return Ufe(e,t,"clipSpacePos",n,3,20,0)&&Ufe(e,t,"uv",n,2,20,12)}function hge(e,t,n,i,r,s){let o,a,l;Tfe(e,()=>e.bindTexture(e.TEXTURE_2D,t)),r instanceof Uint8Array?(o=new Uint8Array(n*i*4),a=e.UNSIGNED_BYTE,l=e.RGBA):(o=new Float32Array(n*i*4),a=e.FLOAT,l=s.internalFormatPackedFloat),o.set(r),2===(0,p3.env)().getNumber("WEBGL_VERSION")?Tfe(e,()=>e.texSubImage2D(e.TEXTURE_2D,0,0,0,n,i,e.RGBA,a,o)):Tfe(e,()=>e.texImage2D(e.TEXTURE_2D,0,l,n,i,0,e.RGBA,a,o)),Tfe(e,()=>e.bindTexture(e.TEXTURE_2D,null))}function pge(e,t,n){Tfe(e,()=>e.bindTexture(e.TEXTURE_2D,t)),n.data instanceof Uint8Array?2===(0,p3.env)().getNumber("WEBGL_VERSION")?Tfe(e,()=>e.texSubImage2D(e.TEXTURE_2D,0,0,0,n.width,n.height,e.RGBA,e.UNSIGNED_BYTE,n.data)):Tfe(e,()=>e.texImage2D(e.TEXTURE_2D,0,e.RGBA,n.width,n.height,0,e.RGBA,e.UNSIGNED_BYTE,n.data)):2===(0,p3.env)().getNumber("WEBGL_VERSION")?Tfe(e,()=>e.texSubImage2D(e.TEXTURE_2D,0,0,0,e.RGBA,e.UNSIGNED_BYTE,n)):Tfe(e,()=>e.texImage2D(e.TEXTURE_2D,0,e.RGBA,e.RGBA,e.UNSIGNED_BYTE,n)),Tfe(e,()=>e.bindTexture(e.TEXTURE_2D,null))}function fge(e,t,n,i){const r=e.createBuffer();Tfe(e,()=>e.bindBuffer(e.PIXEL_PACK_BUFFER,r));const s=16*t*n;return Tfe(e,()=>e.bufferData(e.PIXEL_PACK_BUFFER,s,e.STREAM_READ)),Tfe(e,()=>e.readPixels(0,0,n,t,e.RGBA,e.FLOAT,0)),Tfe(e,()=>e.bindBuffer(e.PIXEL_PACK_BUFFER,null)),r}function mge(e,t,n){const i=e,r=new Float32Array(n);return i.bindBuffer(i.PIXEL_PACK_BUFFER,t),i.getBufferSubData(i.PIXEL_PACK_BUFFER,0,r),i.bindBuffer(i.PIXEL_PACK_BUFFER,null),r}function gge(e,t,n,i){const[r,s]=_fe(t,n),o=new Uint8Array(t*n*4);return Tfe(e,()=>e.readPixels(0,0,r,s,i.downloadTextureFormat,e.UNSIGNED_BYTE,o)),new Float32Array(o.buffer)}function _ge(e,t,n,i,r,s,o,a){const l=e,u=new Float32Array(function(e,t){const[n,i]=vfe(e,t);return n*i*4}(s,o));return l.bindBuffer(l.PIXEL_PACK_BUFFER,t),l.getBufferSubData(l.PIXEL_PACK_BUFFER,0,u),l.bindBuffer(l.PIXEL_PACK_BUFFER,null),u}function yge(e,t,n){const i=new Float32Array(t*n*4);return Tfe(e,()=>e.readPixels(0,0,n,t,e.RGBA,e.FLOAT,i)),i} +function ige(e){const t=Ame();return Nfe(e,`${t.version}\n precision highp float;\n ${t.attribute} vec3 clipSpacePos;\n ${t.attribute} vec2 uv;\n ${t.varyingVs} vec2 resultUV;\n\n void main() {\n gl_Position = vec4(clipSpacePos, 1);\n resultUV = uv;\n }`)}function rge(e){return Ufe(e,new Float32Array([-1,1,0,0,1,-1,-1,0,0,0,1,1,0,1,1,1,-1,0,1,0]))}function sge(e){return Vfe(e,new Uint16Array([0,1,2,2,1,3]))}function oge(e,t,n,i,r,s){Yfe(t,n);const o=jfe(e),a=e.TEXTURE_2D;return Sfe(e,()=>e.bindTexture(a,o)),Sfe(e,()=>e.texParameteri(a,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE)),Sfe(e,()=>e.texParameteri(a,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE)),Sfe(e,()=>e.texParameteri(a,e.TEXTURE_MIN_FILTER,e.NEAREST)),Sfe(e,()=>e.texParameteri(a,e.TEXTURE_MAG_FILTER,e.NEAREST)),1===(0,v3.env)().getNumber("WEBGL_VERSION")?Sfe(e,()=>e.texImage2D(a,0,i,t,n,0,r,s,null)):Sfe(e,()=>e.texStorage2D(a,1,i,t,n)),Sfe(e,()=>e.bindTexture(e.TEXTURE_2D,null)),{texture:o,texShape:[n,t]}}function age(e){return e.internalFormatFloat}function lge(e,t,n,i){const[r,s]=Efe(t,n);return oge(e,r,s,age(i),i.textureFormatFloat,e.FLOAT)}function uge(e){return e.internalFormatHalfFloat}function cge(e,t,n,i){const[r,s]=Efe(t,n);return oge(e,r,s,uge(i),i.textureFormatFloat,i.textureTypeHalfFloat)}function dge(e){return e.downloadTextureFormat}function hge(e,t,n,i){const[r,s]=Efe(t,n);return oge(e,r,s,dge(i),e.RGBA,e.UNSIGNED_BYTE)}function pge(e){return e.internalFormatPackedFloat}function fge(e,t,n,i){const[r,s]=Ife(t,n);return oge(e,r,s,pge(i),e.RGBA,e.FLOAT)}function mge(e){return e.internalFormatPackedHalfFloat}function gge(e,t,n,i){const[r,s]=Ife(t,n);return oge(e,r,s,mge(i),e.RGBA,i.textureTypeHalfFloat)}function _ge(e,t,n){Sfe(e,()=>e.bindBuffer(e.ARRAY_BUFFER,n));return Hfe(e,t,"clipSpacePos",n,3,20,0)&&Hfe(e,t,"uv",n,2,20,12)}function yge(e,t,n,i,r,s){let o,a,l;Sfe(e,()=>e.bindTexture(e.TEXTURE_2D,t)),r instanceof Uint8Array?(o=new Uint8Array(n*i*4),a=e.UNSIGNED_BYTE,l=e.RGBA):(o=new Float32Array(n*i*4),a=e.FLOAT,l=s.internalFormatPackedFloat),o.set(r),2===(0,v3.env)().getNumber("WEBGL_VERSION")?Sfe(e,()=>e.texSubImage2D(e.TEXTURE_2D,0,0,0,n,i,e.RGBA,a,o)):Sfe(e,()=>e.texImage2D(e.TEXTURE_2D,0,l,n,i,0,e.RGBA,a,o)),Sfe(e,()=>e.bindTexture(e.TEXTURE_2D,null))}function vge(e,t,n){Sfe(e,()=>e.bindTexture(e.TEXTURE_2D,t)),n.data instanceof Uint8Array?2===(0,v3.env)().getNumber("WEBGL_VERSION")?Sfe(e,()=>e.texSubImage2D(e.TEXTURE_2D,0,0,0,n.width,n.height,e.RGBA,e.UNSIGNED_BYTE,n.data)):Sfe(e,()=>e.texImage2D(e.TEXTURE_2D,0,e.RGBA,n.width,n.height,0,e.RGBA,e.UNSIGNED_BYTE,n.data)):2===(0,v3.env)().getNumber("WEBGL_VERSION")?Sfe(e,()=>e.texSubImage2D(e.TEXTURE_2D,0,0,0,e.RGBA,e.UNSIGNED_BYTE,n)):Sfe(e,()=>e.texImage2D(e.TEXTURE_2D,0,e.RGBA,e.RGBA,e.UNSIGNED_BYTE,n)),Sfe(e,()=>e.bindTexture(e.TEXTURE_2D,null))}function bge(e,t,n,i){const r=e.createBuffer();Sfe(e,()=>e.bindBuffer(e.PIXEL_PACK_BUFFER,r));const s=16*t*n;return Sfe(e,()=>e.bufferData(e.PIXEL_PACK_BUFFER,s,e.STREAM_READ)),Sfe(e,()=>e.readPixels(0,0,n,t,e.RGBA,e.FLOAT,0)),Sfe(e,()=>e.bindBuffer(e.PIXEL_PACK_BUFFER,null)),r}function Tge(e,t,n){const i=e,r=new Float32Array(n);return i.bindBuffer(i.PIXEL_PACK_BUFFER,t),i.getBufferSubData(i.PIXEL_PACK_BUFFER,0,r),i.bindBuffer(i.PIXEL_PACK_BUFFER,null),r}function xge(e,t,n,i){const[r,s]=Efe(t,n),o=new Uint8Array(t*n*4);return Sfe(e,()=>e.readPixels(0,0,r,s,i.downloadTextureFormat,e.UNSIGNED_BYTE,o)),new Float32Array(o.buffer)}function Ege(e,t,n,i,r,s,o,a){const l=e,u=new Float32Array(function(e,t){const[n,i]=Ife(e,t);return n*i*4}(s,o));return l.bindBuffer(l.PIXEL_PACK_BUFFER,t),l.getBufferSubData(l.PIXEL_PACK_BUFFER,0,u),l.bindBuffer(l.PIXEL_PACK_BUFFER,null),u}function wge(e,t,n){const i=new Float32Array(t*n*4);return Sfe(e,()=>e.readPixels(0,0,n,t,e.RGBA,e.FLOAT,i)),i} /** * @license * Copyright 2017 Google LLC. All Rights Reserved. @@ -15065,7 +15065,7 @@ function Zme(e){const t=bme();return Sfe(e,`${t.version}\n precision highp fl * limitations under the License. * ============================================================================= */ -class vge{constructor(e){this.outputTexture=null,this.program=null,this.disposed=!1,this.itemsToPoll=[];const t=(0,p3.env)().getNumber("WEBGL_VERSION");if(null!=e?(this.gl=e,hfe(t,e)):this.gl=pfe(t),e=this.gl,2===(0,p3.env)().getNumber("WEBGL_VERSION")){const t=e;this.createVertexArray=()=>Tfe(t,()=>t.createVertexArray()),this.bindVertexArray=e=>Tfe(t,()=>t.bindVertexArray(e)),this.deleteVertexArray=e=>Tfe(t,()=>t.deleteVertexArray(e)),this.getVertexArray=()=>Tfe(t,()=>t.getParameter(t.VERTEX_ARRAY_BINDING))}else if(null!=e){const t=e.getExtension("OES_vertex_array_object");if(null==t)throw new Error("All WebGL1 implementations are expected to offer OES_vertex_array_object.");this.createVertexArray=()=>Tfe(e,()=>t.createVertexArrayOES()),this.bindVertexArray=n=>Tfe(e,()=>t.bindVertexArrayOES(n)),this.deleteVertexArray=n=>Tfe(e,()=>t.deleteVertexArrayOES(n)),this.getVertexArray=()=>Tfe(e,()=>e.getParameter(t.VERTEX_ARRAY_BINDING_OES))}let n="WEBGL_color_buffer_float";const i="EXT_color_buffer_half_float";if(this.parallelCompilationExtension=this.gl.getExtension("KHR_parallel_shader_compile"),1===(0,p3.env)().getNumber("WEBGL_VERSION")){const e="OES_texture_float",t="OES_texture_half_float";if(this.textureFloatExtension=Afe(this.gl,e),hme(this.gl,t))this.textureHalfFloatExtension=Afe(this.gl,t);else if((0,p3.env)().get("WEBGL_FORCE_F16_TEXTURES"))throw new Error("GL context does not support half float textures, yet the environment flag WEBGL_FORCE_F16_TEXTURES is set to true.");if(this.colorBufferFloatExtension=this.gl.getExtension(n),hme(this.gl,i))this.colorBufferHalfFloatExtension=Afe(this.gl,i);else if((0,p3.env)().get("WEBGL_FORCE_F16_TEXTURES"))throw new Error("GL context does not support color renderable half floats, yet the environment flag WEBGL_FORCE_F16_TEXTURES is set to true.")}else if(n="EXT_color_buffer_float",hme(this.gl,n))this.colorBufferFloatExtension=this.gl.getExtension(n);else{if(!hme(this.gl,i))throw new Error("GL context does not support color renderable floats");this.colorBufferHalfFloatExtension=this.gl.getExtension(i)}this.vertexBuffer=Qme(this.gl),this.indexBuffer=Jme(this.gl),this.framebuffer=$fe(this.gl),this.textureConfig=bfe(this.gl,this.textureHalfFloatExtension)}get debug(){return(0,p3.env)().getBool("DEBUG")}dispose(){if(this.disposed)return;null!=this.program&&console.warn("Disposing a GPGPUContext that still has a bound WebGLProgram. This is probably a resource leak, delete the program with GPGPUContext.deleteProgram before disposing."),null!=this.outputTexture&&console.warn("Disposing a GPGPUContext that still has a bound output matrix texture. This is probably a resource leak, delete the output matrix texture with GPGPUContext.deleteMatrixTexture before disposing.");const e=this.gl;Tfe(e,()=>e.finish()),Tfe(e,()=>e.bindFramebuffer(e.FRAMEBUFFER,null)),Tfe(e,()=>e.deleteFramebuffer(this.framebuffer)),Tfe(e,()=>e.bindBuffer(e.ARRAY_BUFFER,null)),Tfe(e,()=>e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,null)),Tfe(e,()=>e.deleteBuffer(this.indexBuffer)),this.disposed=!0}createFloat32MatrixTexture(e,t){return this.throwIfDisposed(),nge(this.gl,e,t,this.textureConfig)}createFloat16MatrixTexture(e,t){return this.throwIfDisposed(),rge(this.gl,e,t,this.textureConfig)}createUnsignedBytesMatrixTexture(e,t){return this.throwIfDisposed(),oge(this.gl,e,t,this.textureConfig)}uploadPixelDataToTexture(e,t){this.throwIfDisposed(),pge(this.gl,e,t)}uploadDenseMatrixToTexture(e,t,n,i){this.throwIfDisposed(),hge(this.gl,e,t,n,i,this.textureConfig)}createFloat16PackedMatrixTexture(e,t){return this.throwIfDisposed(),cge(this.gl,e,t,this.textureConfig)}createPackedMatrixTexture(e,t){return this.throwIfDisposed(),lge(this.gl,e,t,this.textureConfig)}deleteMatrixTexture(e){this.throwIfDisposed(),this.outputTexture===e&&(Xfe(this.gl,this.framebuffer),this.outputTexture=null),Tfe(this.gl,()=>this.gl.deleteTexture(e))}downloadByteEncodedFloatMatrixFromOutputTexture(e,t,n){return this.downloadMatrixDriver(e,()=>gge(this.gl,t,n,this.textureConfig))}downloadPackedMatrixFromBuffer(e,t,n,i,r,s){return _ge(this.gl,e,0,0,0,r,s,this.textureConfig)}downloadFloat32MatrixFromBuffer(e,t){return mge(this.gl,e,t)}createBufferFromTexture(e,t,n){this.bindTextureToFrameBuffer(e);const i=fge(this.gl,t,n,this.textureConfig);return this.unbindTextureToFrameBuffer(),i}createAndWaitForFence(){const e=this.createFence(this.gl);return this.pollFence(e)}createFence(e){let t,n;if((0,p3.env)().getBool("WEBGL_FENCE_API_ENABLED")){const i=e,r=i.fenceSync(i.SYNC_GPU_COMMANDS_COMPLETE,0);e.flush(),n=()=>{const e=i.clientWaitSync(r,0,0);return e===i.ALREADY_SIGNALED||e===i.CONDITION_SATISFIED},t=r}else(0,p3.env)().getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION")>0?(t=this.beginQuery(),this.endQuery(),n=()=>this.isQueryAvailable(t,(0,p3.env)().getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION"))):n=()=>!0;return{query:t,isFencePassed:n}}downloadMatrixFromPackedTexture(e,t,n){return this.downloadMatrixDriver(e,()=>yge(this.gl,t,n))}createProgram(e){this.throwIfDisposed();const t=this.gl;null==this.vertexShader&&(this.vertexShader=Zme(t));const n=kfe(t);Tfe(t,()=>t.attachShader(n,this.vertexShader)),Tfe(t,()=>t.attachShader(n,e)),Rfe(t,n);const i=Object.assign(n,{vao:this.createVertexArray()});return this.debug&&Nfe(t,i),i}buildVao(e){this.setProgram(e),this.bindVertexArray(e.vao);const t=this.gl;Tfe(t,()=>t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer)),dge(t,e,this.vertexBuffer)}deleteProgram(e){this.throwIfDisposed(),e===this.program&&(this.program=null),null!=e&&(Tfe(this.gl,()=>this.gl.deleteProgram(e)),this.deleteVertexArray(e.vao))}setProgram(e){this.throwIfDisposed(),this.program=e,null!=this.program&&this.debug&&Nfe(this.gl,this.program),Tfe(this.gl,()=>this.gl.useProgram(e))}getUniformLocation(e,t,n=!0){return this.throwIfDisposed(),n?jfe(this.gl,e,t):Yfe(this.gl,e,t)}getAttributeLocation(e,t){return this.throwIfDisposed(),Tfe(this.gl,()=>this.gl.getAttribLocation(e,t))}getUniformLocationNoThrow(e,t){return this.throwIfDisposed(),this.gl.getUniformLocation(e,t)}setInputMatrixTexture(e,t,n){this.throwIfDisposed(),this.throwIfNoProgram(),Gfe(this.gl,e,t,n)}setOutputMatrixTexture(e,t,n){this.setOutputMatrixTextureDriver(e,n,t)}setOutputPackedMatrixTexture(e,t,n){this.throwIfDisposed();const[i,r]=vfe(t,n);this.setOutputMatrixTextureDriver(e,i,r)}setOutputMatrixWriteRegion(e,t,n,i){this.setOutputMatrixWriteRegionDriver(n,e,i,t)}setOutputPackedMatrixWriteRegion(e,t,n,i){throw new Error("setOutputPackedMatrixWriteRegion not implemented.")}debugValidate(){null!=this.program&&Nfe(this.gl,this.program),qfe(this.gl)}executeProgram(){this.throwIfDisposed(),this.throwIfNoProgram();const e=this.gl;if(this.debug){const e=this.getVertexArray();console.assert(e===this.program.vao,"VAO changed between setProgram and executeProgram!"),this.debugValidate()}Tfe(e,()=>e.drawElements(e.TRIANGLES,6,e.UNSIGNED_SHORT,0))}blockUntilAllProgramsCompleted(){this.throwIfDisposed(),Tfe(this.gl,()=>this.gl.finish())}getQueryTimerExtension(){return null==this.disjointQueryTimerExtension&&(this.disjointQueryTimerExtension=Afe(this.gl,2===(0,p3.env)().getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION")?"EXT_disjoint_timer_query_webgl2":"EXT_disjoint_timer_query")),this.disjointQueryTimerExtension}getQueryTimerExtensionWebGL2(){return this.getQueryTimerExtension()}getQueryTimerExtensionWebGL1(){return this.getQueryTimerExtension()}beginQuery(){if(2===(0,p3.env)().getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION")){const e=this.gl,t=this.getQueryTimerExtensionWebGL2(),n=e.createQuery();return e.beginQuery(t.TIME_ELAPSED_EXT,n),n}const e=this.getQueryTimerExtensionWebGL1(),t=e.createQueryEXT();return e.beginQueryEXT(e.TIME_ELAPSED_EXT,t),t}endQuery(){if(2===(0,p3.env)().getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION")){const e=this.gl,t=this.getQueryTimerExtensionWebGL2();return void e.endQuery(t.TIME_ELAPSED_EXT)}const e=this.getQueryTimerExtensionWebGL1();e.endQueryEXT(e.TIME_ELAPSED_EXT)}async waitForQueryAndGetTime(e){return await p3.util.repeatedTry(()=>this.disposed||this.isQueryAvailable(e,(0,p3.env)().getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION"))),this.getQueryTime(e,(0,p3.env)().getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION"))}getQueryTime(e,t){if(0===t)return null;if(2===t){const t=this.gl;return t.getQueryParameter(e,t.QUERY_RESULT)/1e6}{const t=this.getQueryTimerExtensionWebGL1();return t.getQueryObjectEXT(e,t.QUERY_RESULT_EXT)/1e6}}isQueryAvailable(e,t){if(0===t)return!0;if(2===t){const t=this.gl,n=this.getQueryTimerExtensionWebGL2(),i=t.getQueryParameter(e,t.QUERY_RESULT_AVAILABLE);return null==this.disjoint&&(this.disjoint=this.gl.getParameter(n.GPU_DISJOINT_EXT)),i&&!this.disjoint}{const t=this.getQueryTimerExtensionWebGL1(),n=t.getQueryObjectEXT(e,t.QUERY_RESULT_AVAILABLE_EXT);return null==this.disjoint&&(this.disjoint=this.gl.getParameter(t.GPU_DISJOINT_EXT)),n&&!this.disjoint}}pollFence(e){return new Promise(t=>{this.addItemToPoll(()=>e.isFencePassed(),()=>t())})}pollItems(){const e=function(e){let t=0;for(;te.isDoneFn));for(let t=0;t<=e;++t){const{resolveFn:e}=this.itemsToPoll[t];e()}this.itemsToPoll=this.itemsToPoll.slice(e+1)}addItemToPoll(e,t){if(this.itemsToPoll.push({isDoneFn:e,resolveFn:t}),this.itemsToPoll.length>1)return;let n;"setTimeoutCustom"in(0,p3.env)().platform&&(n=(0,p3.env)().platform.setTimeoutCustom.bind((0,p3.env)().platform)),p3.util.repeatedTry(()=>(this.pollItems(),0===this.itemsToPoll.length),()=>0,null,n)}bindTextureToFrameBuffer(e){this.throwIfDisposed(),Wfe(this.gl,e,this.framebuffer),this.debug&&qfe(this.gl)}unbindTextureToFrameBuffer(){null!=this.outputTexture?(Wfe(this.gl,this.outputTexture,this.framebuffer),this.debug&&qfe(this.gl)):Xfe(this.gl,this.framebuffer)}downloadMatrixDriver(e,t){this.bindTextureToFrameBuffer(e);const n=t();return this.unbindTextureToFrameBuffer(),n}setOutputMatrixTextureDriver(e,t,n){this.throwIfDisposed();const i=this.gl;Wfe(i,e,this.framebuffer),this.debug&&qfe(i),this.outputTexture=e,Tfe(i,()=>i.viewport(0,0,t,n)),Tfe(i,()=>i.scissor(0,0,t,n))}setOutputMatrixWriteRegionDriver(e,t,n,i){this.throwIfDisposed(),Tfe(this.gl,()=>this.gl.scissor(e,t,n,i))}throwIfDisposed(){if(this.disposed)throw new Error("Attempted to use disposed GPGPUContext.")}throwIfNoProgram(){if(null==this.program)throw new Error("No GPU program is currently set.")}} +class Ige{constructor(e){this.outputTexture=null,this.program=null,this.disposed=!1,this.itemsToPoll=[];const t=(0,v3.env)().getNumber("WEBGL_VERSION");if(null!=e?(this.gl=e,yfe(t,e)):this.gl=vfe(t),e=this.gl,2===(0,v3.env)().getNumber("WEBGL_VERSION")){const t=e;this.createVertexArray=()=>Sfe(t,()=>t.createVertexArray()),this.bindVertexArray=e=>Sfe(t,()=>t.bindVertexArray(e)),this.deleteVertexArray=e=>Sfe(t,()=>t.deleteVertexArray(e)),this.getVertexArray=()=>Sfe(t,()=>t.getParameter(t.VERTEX_ARRAY_BINDING))}else if(null!=e){const t=e.getExtension("OES_vertex_array_object");if(null==t)throw new Error("All WebGL1 implementations are expected to offer OES_vertex_array_object.");this.createVertexArray=()=>Sfe(e,()=>t.createVertexArrayOES()),this.bindVertexArray=n=>Sfe(e,()=>t.bindVertexArrayOES(n)),this.deleteVertexArray=n=>Sfe(e,()=>t.deleteVertexArrayOES(n)),this.getVertexArray=()=>Sfe(e,()=>e.getParameter(t.VERTEX_ARRAY_BINDING_OES))}let n="WEBGL_color_buffer_float";const i="EXT_color_buffer_half_float";if(this.parallelCompilationExtension=this.gl.getExtension("KHR_parallel_shader_compile"),1===(0,v3.env)().getNumber("WEBGL_VERSION")){const e="OES_texture_float",t="OES_texture_half_float";if(this.textureFloatExtension=Rfe(this.gl,e),yme(this.gl,t))this.textureHalfFloatExtension=Rfe(this.gl,t);else if((0,v3.env)().get("WEBGL_FORCE_F16_TEXTURES"))throw new Error("GL context does not support half float textures, yet the environment flag WEBGL_FORCE_F16_TEXTURES is set to true.");if(this.colorBufferFloatExtension=this.gl.getExtension(n),yme(this.gl,i))this.colorBufferHalfFloatExtension=Rfe(this.gl,i);else if((0,v3.env)().get("WEBGL_FORCE_F16_TEXTURES"))throw new Error("GL context does not support color renderable half floats, yet the environment flag WEBGL_FORCE_F16_TEXTURES is set to true.")}else if(n="EXT_color_buffer_float",yme(this.gl,n))this.colorBufferFloatExtension=this.gl.getExtension(n);else{if(!yme(this.gl,i))throw new Error("GL context does not support color renderable floats");this.colorBufferHalfFloatExtension=this.gl.getExtension(i)}this.vertexBuffer=rge(this.gl),this.indexBuffer=sge(this.gl),this.framebuffer=Gfe(this.gl),this.textureConfig=Afe(this.gl,this.textureHalfFloatExtension)}get debug(){return(0,v3.env)().getBool("DEBUG")}dispose(){if(this.disposed)return;null!=this.program&&console.warn("Disposing a GPGPUContext that still has a bound WebGLProgram. This is probably a resource leak, delete the program with GPGPUContext.deleteProgram before disposing."),null!=this.outputTexture&&console.warn("Disposing a GPGPUContext that still has a bound output matrix texture. This is probably a resource leak, delete the output matrix texture with GPGPUContext.deleteMatrixTexture before disposing.");const e=this.gl;Sfe(e,()=>e.finish()),Sfe(e,()=>e.bindFramebuffer(e.FRAMEBUFFER,null)),Sfe(e,()=>e.deleteFramebuffer(this.framebuffer)),Sfe(e,()=>e.bindBuffer(e.ARRAY_BUFFER,null)),Sfe(e,()=>e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,null)),Sfe(e,()=>e.deleteBuffer(this.indexBuffer)),this.disposed=!0}createFloat32MatrixTexture(e,t){return this.throwIfDisposed(),lge(this.gl,e,t,this.textureConfig)}createFloat16MatrixTexture(e,t){return this.throwIfDisposed(),cge(this.gl,e,t,this.textureConfig)}createUnsignedBytesMatrixTexture(e,t){return this.throwIfDisposed(),hge(this.gl,e,t,this.textureConfig)}uploadPixelDataToTexture(e,t){this.throwIfDisposed(),vge(this.gl,e,t)}uploadDenseMatrixToTexture(e,t,n,i){this.throwIfDisposed(),yge(this.gl,e,t,n,i,this.textureConfig)}createFloat16PackedMatrixTexture(e,t){return this.throwIfDisposed(),gge(this.gl,e,t,this.textureConfig)}createPackedMatrixTexture(e,t){return this.throwIfDisposed(),fge(this.gl,e,t,this.textureConfig)}deleteMatrixTexture(e){this.throwIfDisposed(),this.outputTexture===e&&(eme(this.gl,this.framebuffer),this.outputTexture=null),Sfe(this.gl,()=>this.gl.deleteTexture(e))}downloadByteEncodedFloatMatrixFromOutputTexture(e,t,n){return this.downloadMatrixDriver(e,()=>xge(this.gl,t,n,this.textureConfig))}downloadPackedMatrixFromBuffer(e,t,n,i,r,s){return Ege(this.gl,e,0,0,0,r,s,this.textureConfig)}downloadFloat32MatrixFromBuffer(e,t){return Tge(this.gl,e,t)}createBufferFromTexture(e,t,n){this.bindTextureToFrameBuffer(e);const i=bge(this.gl,t,n,this.textureConfig);return this.unbindTextureToFrameBuffer(),i}createAndWaitForFence(){const e=this.createFence(this.gl);return this.pollFence(e)}createFence(e){let t,n;if((0,v3.env)().getBool("WEBGL_FENCE_API_ENABLED")){const i=e,r=i.fenceSync(i.SYNC_GPU_COMMANDS_COMPLETE,0);e.flush(),n=()=>{const e=i.clientWaitSync(r,0,0);return e===i.ALREADY_SIGNALED||e===i.CONDITION_SATISFIED},t=r}else(0,v3.env)().getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION")>0?(t=this.beginQuery(),this.endQuery(),n=()=>this.isQueryAvailable(t,(0,v3.env)().getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION"))):n=()=>!0;return{query:t,isFencePassed:n}}downloadMatrixFromPackedTexture(e,t,n){return this.downloadMatrixDriver(e,()=>wge(this.gl,t,n))}createProgram(e){this.throwIfDisposed();const t=this.gl;null==this.vertexShader&&(this.vertexShader=ige(t));const n=Pfe(t);Sfe(t,()=>t.attachShader(n,this.vertexShader)),Sfe(t,()=>t.attachShader(n,e)),Bfe(t,n);const i=Object.assign(n,{vao:this.createVertexArray()});return this.debug&&$fe(t,i),i}buildVao(e){this.setProgram(e),this.bindVertexArray(e.vao);const t=this.gl;Sfe(t,()=>t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer)),_ge(t,e,this.vertexBuffer)}deleteProgram(e){this.throwIfDisposed(),e===this.program&&(this.program=null),null!=e&&(Sfe(this.gl,()=>this.gl.deleteProgram(e)),this.deleteVertexArray(e.vao))}setProgram(e){this.throwIfDisposed(),this.program=e,null!=this.program&&this.debug&&$fe(this.gl,this.program),Sfe(this.gl,()=>this.gl.useProgram(e))}getUniformLocation(e,t,n=!0){return this.throwIfDisposed(),n?qfe(this.gl,e,t):Kfe(this.gl,e,t)}getAttributeLocation(e,t){return this.throwIfDisposed(),Sfe(this.gl,()=>this.gl.getAttribLocation(e,t))}getUniformLocationNoThrow(e,t){return this.throwIfDisposed(),this.gl.getUniformLocation(e,t)}setInputMatrixTexture(e,t,n){this.throwIfDisposed(),this.throwIfNoProgram(),Zfe(this.gl,e,t,n)}setOutputMatrixTexture(e,t,n){this.setOutputMatrixTextureDriver(e,n,t)}setOutputPackedMatrixTexture(e,t,n){this.throwIfDisposed();const[i,r]=Ife(t,n);this.setOutputMatrixTextureDriver(e,i,r)}setOutputMatrixWriteRegion(e,t,n,i){this.setOutputMatrixWriteRegionDriver(n,e,i,t)}setOutputPackedMatrixWriteRegion(e,t,n,i){throw new Error("setOutputPackedMatrixWriteRegion not implemented.")}debugValidate(){null!=this.program&&$fe(this.gl,this.program),tme(this.gl)}executeProgram(){this.throwIfDisposed(),this.throwIfNoProgram();const e=this.gl;if(this.debug){const e=this.getVertexArray();console.assert(e===this.program.vao,"VAO changed between setProgram and executeProgram!"),this.debugValidate()}Sfe(e,()=>e.drawElements(e.TRIANGLES,6,e.UNSIGNED_SHORT,0))}blockUntilAllProgramsCompleted(){this.throwIfDisposed(),Sfe(this.gl,()=>this.gl.finish())}getQueryTimerExtension(){return null==this.disjointQueryTimerExtension&&(this.disjointQueryTimerExtension=Rfe(this.gl,2===(0,v3.env)().getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION")?"EXT_disjoint_timer_query_webgl2":"EXT_disjoint_timer_query")),this.disjointQueryTimerExtension}getQueryTimerExtensionWebGL2(){return this.getQueryTimerExtension()}getQueryTimerExtensionWebGL1(){return this.getQueryTimerExtension()}beginQuery(){if(2===(0,v3.env)().getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION")){const e=this.gl,t=this.getQueryTimerExtensionWebGL2(),n=e.createQuery();return e.beginQuery(t.TIME_ELAPSED_EXT,n),n}const e=this.getQueryTimerExtensionWebGL1(),t=e.createQueryEXT();return e.beginQueryEXT(e.TIME_ELAPSED_EXT,t),t}endQuery(){if(2===(0,v3.env)().getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION")){const e=this.gl,t=this.getQueryTimerExtensionWebGL2();return void e.endQuery(t.TIME_ELAPSED_EXT)}const e=this.getQueryTimerExtensionWebGL1();e.endQueryEXT(e.TIME_ELAPSED_EXT)}async waitForQueryAndGetTime(e){return await v3.util.repeatedTry(()=>this.disposed||this.isQueryAvailable(e,(0,v3.env)().getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION"))),this.getQueryTime(e,(0,v3.env)().getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION"))}getQueryTime(e,t){if(0===t)return null;if(2===t){const t=this.gl;return t.getQueryParameter(e,t.QUERY_RESULT)/1e6}{const t=this.getQueryTimerExtensionWebGL1();return t.getQueryObjectEXT(e,t.QUERY_RESULT_EXT)/1e6}}isQueryAvailable(e,t){if(0===t)return!0;if(2===t){const t=this.gl,n=this.getQueryTimerExtensionWebGL2(),i=t.getQueryParameter(e,t.QUERY_RESULT_AVAILABLE);return null==this.disjoint&&(this.disjoint=this.gl.getParameter(n.GPU_DISJOINT_EXT)),i&&!this.disjoint}{const t=this.getQueryTimerExtensionWebGL1(),n=t.getQueryObjectEXT(e,t.QUERY_RESULT_AVAILABLE_EXT);return null==this.disjoint&&(this.disjoint=this.gl.getParameter(t.GPU_DISJOINT_EXT)),n&&!this.disjoint}}pollFence(e){return new Promise(t=>{this.addItemToPoll(()=>e.isFencePassed(),()=>t())})}pollItems(){const e=function(e){let t=0;for(;te.isDoneFn));for(let t=0;t<=e;++t){const{resolveFn:e}=this.itemsToPoll[t];e()}this.itemsToPoll=this.itemsToPoll.slice(e+1)}addItemToPoll(e,t){if(this.itemsToPoll.push({isDoneFn:e,resolveFn:t}),this.itemsToPoll.length>1)return;let n;"setTimeoutCustom"in(0,v3.env)().platform&&(n=(0,v3.env)().platform.setTimeoutCustom.bind((0,v3.env)().platform)),v3.util.repeatedTry(()=>(this.pollItems(),0===this.itemsToPoll.length),()=>0,null,n)}bindTextureToFrameBuffer(e){this.throwIfDisposed(),Jfe(this.gl,e,this.framebuffer),this.debug&&tme(this.gl)}unbindTextureToFrameBuffer(){null!=this.outputTexture?(Jfe(this.gl,this.outputTexture,this.framebuffer),this.debug&&tme(this.gl)):eme(this.gl,this.framebuffer)}downloadMatrixDriver(e,t){this.bindTextureToFrameBuffer(e);const n=t();return this.unbindTextureToFrameBuffer(),n}setOutputMatrixTextureDriver(e,t,n){this.throwIfDisposed();const i=this.gl;Jfe(i,e,this.framebuffer),this.debug&&tme(i),this.outputTexture=e,Sfe(i,()=>i.viewport(0,0,t,n)),Sfe(i,()=>i.scissor(0,0,t,n))}setOutputMatrixWriteRegionDriver(e,t,n,i){this.throwIfDisposed(),Sfe(this.gl,()=>this.gl.scissor(e,t,n,i))}throwIfDisposed(){if(this.disposed)throw new Error("Attempted to use disposed GPGPUContext.")}throwIfNoProgram(){if(null==this.program)throw new Error("No GPU program is currently set.")}} /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -15082,7 +15082,7 @@ class vge{constructor(e){this.outputTexture=null,this.program=null,this.disposed * limitations under the License. * ============================================================================= */ -const{addImpl:bge,bincountImpl:Tge,bincountReduceImpl:xge,bitwiseAndImpl:Ege,castImpl:wge,ceilImpl:Ige,concatImpl:Age,equalImpl:Sge,expImpl:Cge,expm1Impl:Oge,floorImpl:Mge,gatherNdImpl:kge,gatherV2Impl:Rge,greaterImpl:Nge,greaterEqualImpl:Dge,lessImpl:Fge,lessEqualImpl:Lge,linSpaceImpl:Pge,logImpl:Bge,maxImpl:$ge,maximumImpl:Uge,minimumImpl:Vge,multiplyImpl:zge,negImpl:jge,notEqualImpl:Yge,prodImpl:Gge,raggedGatherImpl:Hge,raggedRangeImpl:Wge,raggedTensorToTensorImpl:Xge,rangeImpl:qge,rsqrtImpl:Kge,scatterImpl:Zge,sigmoidImpl:Qge,simpleAbsImpl:Jge,sliceImpl:e_e,sparseFillEmptyRowsImpl:t_e,sparseReshapeImpl:n_e,sparseSegmentReductionImpl:i_e,sqrtImpl:r_e,staticRegexReplaceImpl:s_e,stridedSliceImpl:o_e,stringNGramsImpl:a_e,stringSplitImpl:l_e,stringToHashBucketFastImpl:u_e,subImpl:c_e,tileImpl:d_e,topKImpl:h_e,transposeImpl:p_e,uniqueImpl:f_e}=Pe; +const{addImpl:Age,bincountImpl:Sge,bincountReduceImpl:Cge,bitwiseAndImpl:Oge,castImpl:Mge,ceilImpl:kge,concatImpl:Rge,equalImpl:Nge,expImpl:Dge,expm1Impl:Fge,floorImpl:Lge,gatherNdImpl:Pge,gatherV2Impl:Bge,greaterImpl:$ge,greaterEqualImpl:Uge,lessImpl:Vge,lessEqualImpl:zge,linSpaceImpl:jge,logImpl:Yge,maxImpl:Gge,maximumImpl:Hge,minimumImpl:Wge,multiplyImpl:Xge,negImpl:qge,notEqualImpl:Kge,prodImpl:Zge,raggedGatherImpl:Qge,raggedRangeImpl:Jge,raggedTensorToTensorImpl:e_e,rangeImpl:t_e,rsqrtImpl:n_e,scatterImpl:i_e,sigmoidImpl:r_e,simpleAbsImpl:s_e,sliceImpl:o_e,sparseFillEmptyRowsImpl:a_e,sparseReshapeImpl:l_e,sparseSegmentReductionImpl:u_e,sqrtImpl:c_e,staticRegexReplaceImpl:d_e,stridedSliceImpl:h_e,stringNGramsImpl:p_e,stringSplitImpl:f_e,stringToHashBucketFastImpl:m_e,subImpl:g_e,tileImpl:__e,topKImpl:y_e,transposeImpl:v_e,uniqueImpl:b_e}=Pe; /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -15099,7 +15099,7 @@ const{addImpl:bge,bincountImpl:Tge,bincountReduceImpl:xge,bitwiseAndImpl:Ege,cas * limitations under the License. * ============================================================================= */ -function m_e(e,t){return["x","y","z","w","u","v"].slice(0,t).map(t=>`${e}.${t}`)}function g_e(e,t){return 1===t?[e]:m_e(e,t)} +function T_e(e,t){return["x","y","z","w","u","v"].slice(0,t).map(t=>`${e}.${t}`)}function x_e(e,t){return 1===t?[e]:T_e(e,t)} /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -15116,7 +15116,7 @@ function m_e(e,t){return["x","y","z","w","u","v"].slice(0,t).map(t=>`${e}.${t}`) * limitations under the License. * ============================================================================= */ -class __e{constructor(e){if(this.variableNames=["A"],this.packedInputs=!1,this.packedOutput=!0,this.outputShape=e,this.rank=e.length,this.enableShapeUniforms=jme(this.outputShape.length),0===this.rank)this.userCode="\n void main() {\n setOutput(vec4(getA(), 0., 0., 0.));\n }\n ";else{const e=g_e("rc",this.rank),t=Pme(this.rank),n=this.getOutOfBoundsCondition(e),i=this.getSetup(e),r=this.getOutput(e);this.userCode=`\n void main() {\n ${t} rc = getOutputCoords();\n\n if(${n}) {\n setOutput(vec4(0));\n } else {\n ${i}\n\n setOutput(vec4(${r}));\n }\n }\n `}}getSourceCoordsArr(e){const t=[];for(let n=0;n<=1;n++)for(let i=0;i<=1;i++){let r=`${0===n?"r":"rp1"}, ${0===i?"c":"cp1"}`;for(let t=2;t ${this.enableShapeUniforms?"outShape":this.outputShape[0]}`;let t="";for(let n=this.rank-2;n= ${this.enableShapeUniforms?`outShape[${n}]`:this.outputShape[n]}`,n= ${n};\n bool rEdge = rp1 >= ${i};\n `}getOutput(e){const t=this.getSourceCoordsArr(e);if(1===this.rank){return`getA(rc), (rc + 1 >= ${this.enableShapeUniforms?"outShape":this.outputShape[0]} ? 0. : getA(rc + 1)), 0, 0`}return`getA(${t[0]}),\n cEdge ? 0. : getA(${t[1]}),\n rEdge ? 0. : getA(${t[2]}),\n rEdge || cEdge ? 0. : getA(${t[3]})`}} +class E_e{constructor(e){if(this.variableNames=["A"],this.packedInputs=!1,this.packedOutput=!0,this.outputShape=e,this.rank=e.length,this.enableShapeUniforms=qme(this.outputShape.length),0===this.rank)this.userCode="\n void main() {\n setOutput(vec4(getA(), 0., 0., 0.));\n }\n ";else{const e=x_e("rc",this.rank),t=jme(this.rank),n=this.getOutOfBoundsCondition(e),i=this.getSetup(e),r=this.getOutput(e);this.userCode=`\n void main() {\n ${t} rc = getOutputCoords();\n\n if(${n}) {\n setOutput(vec4(0));\n } else {\n ${i}\n\n setOutput(vec4(${r}));\n }\n }\n `}}getSourceCoordsArr(e){const t=[];for(let n=0;n<=1;n++)for(let i=0;i<=1;i++){let r=`${0===n?"r":"rp1"}, ${0===i?"c":"cp1"}`;for(let t=2;t ${this.enableShapeUniforms?"outShape":this.outputShape[0]}`;let t="";for(let n=this.rank-2;n= ${this.enableShapeUniforms?`outShape[${n}]`:this.outputShape[n]}`,n= ${n};\n bool rEdge = rp1 >= ${i};\n `}getOutput(e){const t=this.getSourceCoordsArr(e);if(1===this.rank){return`getA(rc), (rc + 1 >= ${this.enableShapeUniforms?"outShape":this.outputShape[0]} ? 0. : getA(rc + 1)), 0, 0`}return`getA(${t[0]}),\n cEdge ? 0. : getA(${t[1]}),\n rEdge ? 0. : getA(${t[2]}),\n rEdge || cEdge ? 0. : getA(${t[3]})`}} /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -15133,7 +15133,7 @@ class __e{constructor(e){if(this.variableNames=["A"],this.packedInputs=!1,this.p * limitations under the License. * ============================================================================= */ -class y_e{constructor(e,t){this.variableNames=["A"],this.packedInputs=!0,this.packedOutput=!0,this.customUniforms=[{name:"inputShape",type:"ivec3"}],this.outputShape=e,this.enableShapeUniforms=jme(this.outputShape.length);let n="";for(let e=0;e<4;e++){let t="thisRC = rc;";e%2==1&&(t+="thisRC.z += 1;"),e>1&&(t+="thisRC.y += 1;"),n+=`\n ${t}\n ${e>0?"if(thisRC.y < rows && thisRC.z < cols){":""}\n int flatIndex = getFlatIndex(thisRC);\n\n ivec3 inputRC = inputCoordsFromReshapedOutCoords(flatIndex);\n vec2 inputRCInnerDims = vec2(float(inputRC.y),float(inputRC.z));\n\n result[${e}] =\n getChannel(getA(inputRC.x, inputRC.y, inputRC.z), inputRCInnerDims);\n ${e>0?"}":""}\n `}var i,r;this.userCode=`\n ${i=t,r=this.enableShapeUniforms,`\n ivec3 inputCoordsFromReshapedOutCoords(int index) {\n ${r?Eme(["r","c","d"],"inputShape"):Tme(["r","c","d"],i)}\n return ivec3(r, c, d);\n }\n `}\n ${this.enableShapeUniforms?"\n int getFlatIndex(ivec3 coords) {\n return coords.x * outShapeStrides[0] + coords.y * outShapeStrides[1] + coords.z;\n }\n":wme(e)}\n\n void main() {\n ivec3 rc = getOutputCoords();\n\n vec4 result = vec4(0.);\n\n ivec3 thisRC;\n int rows = ${this.enableShapeUniforms?"outShape[1]":e[1]};\n int cols = ${this.enableShapeUniforms?"outShape[2]":e[2]};\n\n ${n}\n\n setOutput(result);\n }\n `}} +class w_e{constructor(e,t){this.variableNames=["A"],this.packedInputs=!0,this.packedOutput=!0,this.customUniforms=[{name:"inputShape",type:"ivec3"}],this.outputShape=e,this.enableShapeUniforms=qme(this.outputShape.length);let n="";for(let e=0;e<4;e++){let t="thisRC = rc;";e%2==1&&(t+="thisRC.z += 1;"),e>1&&(t+="thisRC.y += 1;"),n+=`\n ${t}\n ${e>0?"if(thisRC.y < rows && thisRC.z < cols){":""}\n int flatIndex = getFlatIndex(thisRC);\n\n ivec3 inputRC = inputCoordsFromReshapedOutCoords(flatIndex);\n vec2 inputRCInnerDims = vec2(float(inputRC.y),float(inputRC.z));\n\n result[${e}] =\n getChannel(getA(inputRC.x, inputRC.y, inputRC.z), inputRCInnerDims);\n ${e>0?"}":""}\n `}var i,r;this.userCode=`\n ${i=t,r=this.enableShapeUniforms,`\n ivec3 inputCoordsFromReshapedOutCoords(int index) {\n ${r?Ome(["r","c","d"],"inputShape"):Sme(["r","c","d"],i)}\n return ivec3(r, c, d);\n }\n `}\n ${this.enableShapeUniforms?"\n int getFlatIndex(ivec3 coords) {\n return coords.x * outShapeStrides[0] + coords.y * outShapeStrides[1] + coords.z;\n }\n":Mme(e)}\n\n void main() {\n ivec3 rc = getOutputCoords();\n\n vec4 result = vec4(0.);\n\n ivec3 thisRC;\n int rows = ${this.enableShapeUniforms?"outShape[1]":e[1]};\n int cols = ${this.enableShapeUniforms?"outShape[2]":e[2]};\n\n ${n}\n\n setOutput(result);\n }\n `}} /** * @license * Copyright 2017 Google LLC. All Rights Reserved. @@ -15150,7 +15150,7 @@ class y_e{constructor(e,t){this.variableNames=["A"],this.packedInputs=!0,this.pa * limitations under the License. * ============================================================================= */ -class v_e{constructor(e){this.gpgpu=e,this.numUsedTextures=0,this.numFreeTextures=0,this._numBytesAllocated=0,this._numBytesFree=0,this.freeTextures={},this.usedTextures={},this.logEnabled=!1}acquireTexture(e,t,n){const i=T_e(t,n),r=x_e(e,i,n);r in this.freeTextures||(this.freeTextures[r]=[]),r in this.usedTextures||(this.usedTextures[r]=[]);const s=b_e(e,i,this.gpgpu.gl,this.gpgpu.textureConfig,n);if(this.freeTextures[r].length>0){this.numFreeTextures--,this.numUsedTextures++,this._numBytesFree-=s,this.log();const e=this.freeTextures[r].pop();return this.usedTextures[r].push(e),e}let o;return i===gfe.PACKED_2X2_FLOAT32?o=this.gpgpu.createPackedMatrixTexture(e[0],e[1]):i===gfe.PACKED_2X2_FLOAT16?o=this.gpgpu.createFloat16PackedMatrixTexture(e[0],e[1]):i===gfe.UNPACKED_FLOAT32?o=this.gpgpu.createFloat32MatrixTexture(e[0],e[1]):i===gfe.UNPACKED_FLOAT16?o=this.gpgpu.createFloat16MatrixTexture(e[0],e[1]):i===gfe.PACKED_4X1_UNSIGNED_BYTE&&(o=this.gpgpu.createUnsignedBytesMatrixTexture(e[0],e[1])),this.usedTextures[r].push(o),this.numUsedTextures++,this._numBytesAllocated+=s,this.log(),o}releaseTexture(e,t,n,i){if(null==this.freeTextures)return;const r=T_e(n,i),s=x_e(t,r,i);s in this.freeTextures||(this.freeTextures[s]=[]);const o=b_e(t,r,this.gpgpu.gl,this.gpgpu.textureConfig,i),a=(0,p3.env)().getNumber("WEBGL_DELETE_TEXTURE_THRESHOLD");-1!==a&&this._numBytesAllocated>a?(this.gpgpu.deleteMatrixTexture(e.texture),this._numBytesAllocated-=o):(this.freeTextures[s].push(e),this.numFreeTextures++,this._numBytesFree+=o),this.numUsedTextures--;const l=this.usedTextures[s],u=l&&l.indexOf(e);if(null==u||u<0)throw new Error("Cannot release a texture that was never provided by this texture manager");l[u]=l[l.length-1],l.pop(),this.log()}log(){if(!this.logEnabled)return;const e=this.numFreeTextures+this.numUsedTextures;console.log("Free/Used",`${this.numFreeTextures} / ${this.numUsedTextures}`,`(${e})`);const t=this._numBytesFree/this._numBytesAllocated;console.log(`Bytes allocated: ${this._numBytesAllocated}`),console.log(`Bytes unused: ${this._numBytesFree} (${Math.round(100*t)}%)`)}get numBytesAllocated(){return this._numBytesAllocated}get numBytesFree(){return this._numBytesFree}getNumUsedTextures(){return this.numUsedTextures}getNumFreeTextures(){return this.numFreeTextures}dispose(){if(null!=this.freeTextures){for(const e in this.freeTextures)this.freeTextures[e].forEach(e=>{this.gpgpu.deleteMatrixTexture(e.texture)});for(const e in this.usedTextures)this.usedTextures[e].forEach(e=>{this.gpgpu.deleteMatrixTexture(e.texture)});this.freeTextures=null,this.usedTextures=null,this.numUsedTextures=0,this.numFreeTextures=0,this._numBytesAllocated=0,this._numBytesFree=0}}}function b_e(e,t,n,i,r){const s=function(e,t){switch(e){case gfe.PACKED_2X2_FLOAT32:return age(t);case gfe.PACKED_2X2_FLOAT16:return uge(t);case gfe.UNPACKED_FLOAT32:return tge(t);case gfe.UNPACKED_FLOAT16:return ige(t);case gfe.PACKED_4X1_UNSIGNED_BYTE:return sge(t);default:throw new Error(`Unknown physical texture type ${e}`)}}(t,i);let o;if(r){const[t,n]=vfe(e[0],e[1]);o=t*n}else{const[t,n]=_fe(e[0],e[1]);o=t*n}const a=function(e,t){const n=e;if(t===n.R32F)return 4;if(t===n.R16F)return 2;if(t===n.RGBA32F)return 16;if(t===e.RGBA)return 16;if(t===n.RGBA16F)return 8;if(t===n.RGBA8)return 4;throw new Error(`Unknown internal format ${t}`)}(n,s);return o*a}function T_e(e,t){if(e===mfe.UPLOAD)return gfe.PACKED_2X2_FLOAT32;if(e===mfe.RENDER||null==e)return function(e){return(0,p3.env)().getBool("WEBGL_RENDER_FLOAT32_ENABLED")?e?gfe.PACKED_2X2_FLOAT32:gfe.UNPACKED_FLOAT32:e?gfe.PACKED_2X2_FLOAT16:gfe.UNPACKED_FLOAT16}(t);if(e===mfe.DOWNLOAD||e===mfe.PIXELS)return gfe.PACKED_4X1_UNSIGNED_BYTE;throw new Error(`Unknown logical texture type ${e}`)}function x_e(e,t,n){return`${e[0]}_${e[1]}_${t}_${n}`} +class I_e{constructor(e){this.gpgpu=e,this.numUsedTextures=0,this.numFreeTextures=0,this._numBytesAllocated=0,this._numBytesFree=0,this.freeTextures={},this.usedTextures={},this.logEnabled=!1}acquireTexture(e,t,n){const i=S_e(t,n),r=C_e(e,i,n);r in this.freeTextures||(this.freeTextures[r]=[]),r in this.usedTextures||(this.usedTextures[r]=[]);const s=A_e(e,i,this.gpgpu.gl,this.gpgpu.textureConfig,n);if(this.freeTextures[r].length>0){this.numFreeTextures--,this.numUsedTextures++,this._numBytesFree-=s,this.log();const e=this.freeTextures[r].pop();return this.usedTextures[r].push(e),e}let o;return i===xfe.PACKED_2X2_FLOAT32?o=this.gpgpu.createPackedMatrixTexture(e[0],e[1]):i===xfe.PACKED_2X2_FLOAT16?o=this.gpgpu.createFloat16PackedMatrixTexture(e[0],e[1]):i===xfe.UNPACKED_FLOAT32?o=this.gpgpu.createFloat32MatrixTexture(e[0],e[1]):i===xfe.UNPACKED_FLOAT16?o=this.gpgpu.createFloat16MatrixTexture(e[0],e[1]):i===xfe.PACKED_4X1_UNSIGNED_BYTE&&(o=this.gpgpu.createUnsignedBytesMatrixTexture(e[0],e[1])),this.usedTextures[r].push(o),this.numUsedTextures++,this._numBytesAllocated+=s,this.log(),o}releaseTexture(e,t,n,i){if(null==this.freeTextures)return;const r=S_e(n,i),s=C_e(t,r,i);s in this.freeTextures||(this.freeTextures[s]=[]);const o=A_e(t,r,this.gpgpu.gl,this.gpgpu.textureConfig,i),a=(0,v3.env)().getNumber("WEBGL_DELETE_TEXTURE_THRESHOLD");-1!==a&&this._numBytesAllocated>a?(this.gpgpu.deleteMatrixTexture(e.texture),this._numBytesAllocated-=o):(this.freeTextures[s].push(e),this.numFreeTextures++,this._numBytesFree+=o),this.numUsedTextures--;const l=this.usedTextures[s],u=l&&l.indexOf(e);if(null==u||u<0)throw new Error("Cannot release a texture that was never provided by this texture manager");l[u]=l[l.length-1],l.pop(),this.log()}log(){if(!this.logEnabled)return;const e=this.numFreeTextures+this.numUsedTextures;console.log("Free/Used",`${this.numFreeTextures} / ${this.numUsedTextures}`,`(${e})`);const t=this._numBytesFree/this._numBytesAllocated;console.log(`Bytes allocated: ${this._numBytesAllocated}`),console.log(`Bytes unused: ${this._numBytesFree} (${Math.round(100*t)}%)`)}get numBytesAllocated(){return this._numBytesAllocated}get numBytesFree(){return this._numBytesFree}getNumUsedTextures(){return this.numUsedTextures}getNumFreeTextures(){return this.numFreeTextures}dispose(){if(null!=this.freeTextures){for(const e in this.freeTextures)this.freeTextures[e].forEach(e=>{this.gpgpu.deleteMatrixTexture(e.texture)});for(const e in this.usedTextures)this.usedTextures[e].forEach(e=>{this.gpgpu.deleteMatrixTexture(e.texture)});this.freeTextures=null,this.usedTextures=null,this.numUsedTextures=0,this.numFreeTextures=0,this._numBytesAllocated=0,this._numBytesFree=0}}}function A_e(e,t,n,i,r){const s=function(e,t){switch(e){case xfe.PACKED_2X2_FLOAT32:return pge(t);case xfe.PACKED_2X2_FLOAT16:return mge(t);case xfe.UNPACKED_FLOAT32:return age(t);case xfe.UNPACKED_FLOAT16:return uge(t);case xfe.PACKED_4X1_UNSIGNED_BYTE:return dge(t);default:throw new Error(`Unknown physical texture type ${e}`)}}(t,i);let o;if(r){const[t,n]=Ife(e[0],e[1]);o=t*n}else{const[t,n]=Efe(e[0],e[1]);o=t*n}const a=function(e,t){const n=e;if(t===n.R32F)return 4;if(t===n.R16F)return 2;if(t===n.RGBA32F)return 16;if(t===e.RGBA)return 16;if(t===n.RGBA16F)return 8;if(t===n.RGBA8)return 4;throw new Error(`Unknown internal format ${t}`)}(n,s);return o*a}function S_e(e,t){if(e===Tfe.UPLOAD)return xfe.PACKED_2X2_FLOAT32;if(e===Tfe.RENDER||null==e)return function(e){return(0,v3.env)().getBool("WEBGL_RENDER_FLOAT32_ENABLED")?e?xfe.PACKED_2X2_FLOAT32:xfe.UNPACKED_FLOAT32:e?xfe.PACKED_2X2_FLOAT16:xfe.UNPACKED_FLOAT16}(t);if(e===Tfe.DOWNLOAD||e===Tfe.PIXELS)return xfe.PACKED_4X1_UNSIGNED_BYTE;throw new Error(`Unknown logical texture type ${e}`)}function C_e(e,t,n){return`${e[0]}_${e[1]}_${t}_${n}`} /** * @license * Copyright 2017 Google LLC. All Rights Reserved. @@ -15167,7 +15167,7 @@ class v_e{constructor(e){this.gpgpu=e,this.numUsedTextures=0,this.numFreeTexture * limitations under the License. * ============================================================================= */ -class E_e{constructor(e,t){this.variableNames=["A"],this.outputShape=e,this.enableShapeUniforms=jme(this.outputShape.length),this.userCode=`\n float unaryOperation(float x) {\n ${t}\n }\n\n void main() {\n float x = getAAtOutCoords();\n float y = unaryOperation(x);\n\n setOutput(y);\n }\n `}}const w_e="if (isnan(x)) return x;",I_e="return abs(x);";const A_e=w_e+"\n return (x < 0.0) ? 0.0 : x;\n",S_e=w_e+"\n return (x < 0.0) ? 0.0 : min(6.0, x);\n",C_e="return x;";class O_e{constructor(e,t){this.variableNames=["A"],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=e,this.enableShapeUniforms=jme(this.outputShape.length),this.userCode=`\n vec4 unaryOperation(vec4 x) {\n ${t}\n }\n\n void main() {\n vec4 x = getAAtOutCoords();\n vec4 y = unaryOperation(x);\n\n setOutput(y);\n }\n `}} +class O_e{constructor(e,t){this.variableNames=["A"],this.outputShape=e,this.enableShapeUniforms=qme(this.outputShape.length),this.userCode=`\n float unaryOperation(float x) {\n ${t}\n }\n\n void main() {\n float x = getAAtOutCoords();\n float y = unaryOperation(x);\n\n setOutput(y);\n }\n `}}const M_e="if (isnan(x)) return x;",k_e="return abs(x);";const R_e=M_e+"\n return (x < 0.0) ? 0.0 : x;\n",N_e=M_e+"\n return (x < 0.0) ? 0.0 : min(6.0, x);\n",D_e="return x;";class F_e{constructor(e,t){this.variableNames=["A"],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=e,this.enableShapeUniforms=qme(this.outputShape.length),this.userCode=`\n vec4 unaryOperation(vec4 x) {\n ${t}\n }\n\n void main() {\n vec4 x = getAAtOutCoords();\n vec4 y = unaryOperation(x);\n\n setOutput(y);\n }\n `}} /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -15184,7 +15184,7 @@ class E_e{constructor(e,t){this.variableNames=["A"],this.outputShape=e,this.enab * limitations under the License. * ============================================================================= */ -class M_e{constructor(e){this.variableNames=["A"],this.packedInputs=!0,this.packedOutput=!1,this.outputShape=e,this.enableShapeUniforms=jme(this.outputShape.length);const t=e.length,n=g_e("rc",t),i=Pme(t),r=function(e,t){if(1===e)return"rc";let n="";for(let i=0;it.push(e))}const t=this.texData.get(e),{values:n,shape:i,slice:r,dtype:s,complexTensorInfos:o,isPacked:a}=t;if(null!=r){let t;t=a?new O_e(i,C_e):new E_e(i,C_e);const n=this.runWebGLProgram(t,[{dataId:e,shape:i,dtype:s}],s),r=this.read(n.dataId);return this.disposeIntermediateTensorInfo(n),r}if(null!=n)return this.convertAndCacheOnCPU(e);if((0,p3.env)().getBool("DEBUG")&&!(0,p3.env)().getBool("WEBGL_DOWNLOAD_FLOAT_ENABLED")&&2===(0,p3.env)().getNumber("WEBGL_VERSION"))throw new Error("tensor.data() with WEBGL_DOWNLOAD_FLOAT_ENABLED=false and WEBGL_VERSION=2 not yet supported.");let l,u,c=null;if("complex64"!==s&&(0,p3.env)().get("WEBGL_BUFFER_SUPPORTED")){l=this.decode(e);const t=this.texData.get(l.dataId);c=this.gpgpu.createBufferFromTexture(t.texture.texture,...yfe(i))}if(this.pendingRead.set(e,[]),"complex64"!==s&&await this.gpgpu.createAndWaitForFence(),"complex64"===s){const e=await Promise.all([this.read(o.real.dataId),this.read(o.imag.dataId)]),t=e[0],n=e[1];u=p3.backend_util.mergeRealAndImagArrays(t,n)}else if(null==c)u=this.getValuesFromTexture(e);else{const e=p3.util.sizeFromShape(i);u=this.gpgpu.downloadFloat32MatrixFromBuffer(c,e)}if(null!=l&&this.disposeIntermediateTensorInfo(l),null!=c){const e=this.gpgpu.gl;Tfe(e,()=>e.deleteBuffer(c))}const d=this.convertAndCacheOnCPU(e,u),h=this.pendingRead.get(e);return this.pendingRead.delete(e),h.forEach(e=>e(d)),this.pendingDisposal.has(e)&&(this.pendingDisposal.delete(e),this.disposeData(e)&&(0,p3.engine)().removeDataId(e,this),this.pendingDeletes--),d}readToGPU(e,t={}){const n=this.texData.get(e),{values:i,shape:r,slice:s,dtype:o,isPacked:a,texture:l}=n;if("complex64"===o)throw new Error("Does not support reading texture for complex64 dtype.");if(null!=s){let n;n=a?new O_e(r,C_e):new E_e(r,C_e);const i=this.runWebGLProgram(n,[{dataId:e,shape:r,dtype:o}],o),s=this.readToGPU(i,t);return this.disposeIntermediateTensorInfo(i),s}if(null==l)throw null!=i?new Error("Data is not on GPU but on CPU."):new Error("There is no data on GPU or CPU.");const u=this.decode(e,t.customTexShape),c=(0,p3.engine)().makeTensorFromTensorInfo(u),d=this.texData.get(u.dataId);return Object.assign({tensorRef:c},d.texture)}bufferSync(e){const t=this.readSync(e.dataId);if("string"===e.dtype)try{const n=t.map(e=>p3.util.decodeString(e));return(0,p3.buffer)(e.shape,e.dtype,n)}catch(e){throw new Error("Failed to decode encoded string bytes into utf-8")}return(0,p3.buffer)(e.shape,e.dtype,t)}checkNumericalProblems(e){if(null!=e)for(let t=0;t0}time(e){const t=this.activeTimers,n=[];let i=!1;null==this.programTimersStack?(this.programTimersStack=n,i=!0):this.activeTimers.push(n),this.activeTimers=n,e();const r=p3.util.flatten(this.activeTimers.map(e=>e.query)).filter(e=>null!=e),s=p3.util.flatten(this.activeTimers.map(e=>e.name)).filter(e=>null!=e);this.activeTimers=t,i&&(this.programTimersStack=null);const o={uploadWaitMs:this.uploadWaitMs,downloadWaitMs:this.downloadWaitMs,kernelMs:null,wallMs:null};return(async()=>{if((0,p3.env)().getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_RELIABLE")>0){const e=await Promise.all(r);o.kernelMs=p3.util.sum(e),o.getExtraProfileInfo=()=>e.map((e,t)=>({name:s[t],ms:e})).map(e=>`${e.name}: ${e.ms}`).join(", ")}else o.kernelMs={error:"WebGL query timers are not supported in this environment."};return this.uploadWaitMs=0,this.downloadWaitMs=0,o})()}memory(){return{unreliable:!1,numBytesInGPU:this.numBytesInGPU,numBytesInGPUAllocated:this.textureManager.numBytesAllocated,numBytesInGPUFree:this.textureManager.numBytesFree}}startTimer(){return(0,p3.env)().getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_RELIABLE")>0?this.gpgpu.beginQuery():{startMs:p3.util.now(),endMs:null}}endTimer(e){return(0,p3.env)().getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_RELIABLE")>0?(this.gpgpu.endQuery(),e):(e.endMs=p3.util.now(),e)}async getQueryTime(e){if((0,p3.env)().getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_RELIABLE")>0)return this.gpgpu.waitForQueryAndGetTime(e);const t=e;return t.endMs-t.startMs}disposeData(e,t=!1){if(this.pendingDisposal.has(e))return!1;if(!this.texData.has(e))return!0;if(t?this.texData.get(e).refCount=0:this.texData.get(e).refCount--,!t&&this.texData.get(e).refCount>0)return!1;if(this.pendingRead.has(e))return this.pendingDisposal.add(e),this.pendingDeletes++,!1;this.releaseGPUData(e);const{complexTensorInfos:n}=this.texData.get(e);return null!=n&&(this.disposeData(n.real.dataId,t),this.disposeData(n.imag.dataId,t)),this.texData.delete(e),!0}releaseGPUData(e){const{texture:t,dtype:n,texShape:i,usage:r,isPacked:s,slice:o}=this.texData.get(e),a=o&&o.origDataId||e,l=this.dataRefCount.get(a);l>1?this.dataRefCount.set(a,l-1):(this.dataRefCount.delete(a),null!=t&&(this.numBytesInGPU-=this.computeBytes(i,n),this.textureManager.releaseTexture(t,i,r,s)));const u=this.texData.get(e);u.texture=null,u.texShape=null,u.isPacked=!1,u.slice=null}getTexture(e){return this.uploadToGPU(e),this.texData.get(e).texture.texture}getDataInfo(e){return this.texData.get(e)}shouldExecuteOnCPU(e,t=N_e){return(0,p3.env)().getBool("WEBGL_CPU_FORWARD")&&e.every(e=>null==this.texData.get(e.dataId).texture&&p3.util.sizeFromShape(e.shape)0&&p3.util.isString(n[0])){const r=n.map(e=>p3.util.encodeString(e));i=this.write(r,e,t)}else i=this.write(n,e,t);return this.texData.get(i).usage=null,{dataId:i,shape:e,dtype:t}}makeOutput(e,t,n){return(0,p3.engine)().makeTensorFromTensorInfo(this.makeTensorInfo(e,t,n),this)}unpackTensor(e){const t=new M_e(e.shape);return this.runWebGLProgram(t,[e],e.dtype)}packTensor(e){const t=new __e(e.shape);return this.runWebGLProgram(t,[e],e.dtype,null,!0)}packedReshape(e,t){const n=[Jfe(e.shape),...eme(e.shape)],i={dtype:e.dtype,shape:n,dataId:e.dataId},r=[Jfe(t),...eme(t)],s=new y_e(r,n),o=[n],a=this.runWebGLProgram(s,[i],e.dtype,o,!0);return{dataId:a.dataId,shape:t,dtype:a.dtype}}decode(e,t){const n=this.texData.get(e),{isPacked:i,shape:r,dtype:s}=n;if(null!=t){const e=p3.util.sizeFromShape(r),n=t[0]*t[1]*4;p3.util.assert(e<=n,()=>"customTexShape is too small. Row * Column * 4 should be equal or larger than the size of the tensor data.")}const o=tme(r);let a;a=i?new Gme(o):new Yme(o);const l=[null!=t?t:yfe(o)];return{dtype:s,shape:r,dataId:this.runWebGLProgram(a,[{shape:o,dtype:s,dataId:e}],s,l,!0,t).dataId}}runWebGLProgram(e,t,n,i,r=!1,s){const o=this.makeTensorInfo(e.outputShape,n),a=this.texData.get(o.dataId);if(e.packedOutput&&(a.isPacked=!0),e.outPackingScheme===ffe.DENSE){const t=null!=s?s:yfe(e.outputShape);a.texShape=t.map(e=>2*e)}if(null!=e.outTexUsage&&(a.usage=e.outTexUsage),0===p3.util.sizeFromShape(o.shape))return a.values=p3.util.getTypedArrayFromDType(o.dtype,0),o;const l=[],u=t.map(t=>{if("complex64"===t.dtype)throw new Error("GPGPUProgram does not support complex64 input. For complex64 dtypes, please separate the program into real and imaginary parts.");let n=this.texData.get(t.dataId);if(null==n.texture){if(!e.packedInputs&&p3.util.sizeFromShape(t.shape)<=(0,p3.env)().getNumber("WEBGL_SIZE_UPLOAD_UNIFORM"))return{shape:t.shape,texData:null,isUniform:!0,uniformValues:n.values};e.packedInputs&&(n.isPacked=!0,n.shape=t.shape)}if(this.uploadToGPU(t.dataId),!!n.isPacked!=!!e.packedInputs)t=n.isPacked?this.unpackTensor(t):this.packTensor(t),l.push(t),n=this.texData.get(t.dataId);else if(n.isPacked&&!rme(n.shape,t.shape)){const e=t,i=t.shape;t.shape=n.shape,t=this.packedReshape(t,i),l.push(t),n=this.texData.get(t.dataId),e.shape=i}return{shape:t.shape,texData:n,isUniform:!1}});this.uploadToGPU(o.dataId);const c={shape:o.shape,texData:a,isUniform:!1},d=function(e,t,n){let i="";t.concat(n).forEach(t=>{const r=null!=t.texData&&null!=t.texData.slice&&t.texData.slice.flatOffset>0;if(e.enableShapeUniforms&&!t.isUniform){const s=t.texData.texShape,{useSqueezeShape:o,uniformShape:a,keptDims:l}=Bme(e.packedInputs,t.shape,s);let u="",c="",d="";if(1===a.length&&e.packedInputs){const e=[Math.ceil(s[0]/2),Math.ceil(s[1]/2)];u=`${e[0]>1}_${e[1]>1}`}else if(2!==a.length||e.packedInputs){if(a.length>2&&!e.packedInputs){const e=p3.util.computeStrides(a);d=`${e[0]===s[1]}_${e[e.length-1]===s[1]}`}}else c=`${a[0]>1}_${a[1]>1}`;const h=t.shape.length,p=2===a.length&&p3.util.arraysEqual(t.shape,s),f=1===p3.util.sizeFromShape(t.shape),m=p3.backend_util.getBroadcastDims(t.shape,n.shape),g=!e.packedInputs&&h===n.shape.length&&p3.util.arraysEqual(s,n.texData.texShape),_=e.packedInputs||a.length>2?"":`${s[0]>1}_${s[1]>1}`;i+=`${h}_${g}_${o?l:""}_${a.length}_${f}_${m}_${p}_${u}_${c}_${d}_${_}_${r}`}else{const e=t.isUniform?"uniform":t.texData.texShape;i+=`${t.shape}_${e}_${r}`}});const r=e.userCode;let s=e.constructor.name;return s+="_"+i+"_"+r+`${(0,p3.env)().getNumber("WEBGL_VERSION")}`,s}(e,u,c),h=this.getAndSaveBinary(d,()=> +const P_e=v3.kernel_impls.whereImpl,B_e={};const $_e=(0,v3.env)().getNumber("CPU_HANDOFF_SIZE_THRESHOLD");class U_e extends v3.KernelBackend{nextDataId(){return U_e.nextDataId++}constructor(e){if(super(),this.pendingRead=new WeakMap,this.pendingDisposal=new WeakSet,this.dataRefCount=new WeakMap,this.numBytesInGPU=0,this.uploadWaitMs=0,this.downloadWaitMs=0,this.lastGlFlushTime=0,this.warnedAboutMemory=!1,this.pendingDeletes=0,this.disposed=!1,!(0,v3.env)().getBool("HAS_WEBGL"))throw new Error("WebGL is not supported on this device");let t;if(null!=e){if(e instanceof Ige)t=e;else{const n=vfe((0,v3.env)().getNumber("WEBGL_VERSION"),e);t=new Ige(n)}this.binaryCache={},this.gpgpuCreatedLocally=!1}else{const e=vfe((0,v3.env)().getNumber("WEBGL_VERSION"));t=new Ige(e),this.binaryCache=((n=(0,v3.env)().getNumber("WEBGL_VERSION"))in B_e||(B_e[n]={}),B_e[n]),this.gpgpuCreatedLocally=!0}var n;this.gpgpu=t,this.canvas=this.gpgpu.gl.canvas,this.textureManager=new I_e(this.gpgpu),this.numMBBeforeWarning=null==(0,v3.env)().global.screen?1024:(0,v3.env)().global.screen.height*(0,v3.env)().global.screen.width*window.devicePixelRatio*600/1024/1024,this.texData=new v3.DataStorage(this,(0,v3.engine)())}numDataIds(){return this.texData.numDataIds()-this.pendingDeletes}writeTexture(e,t,n,i,r,s){const o=this.makeTensorInfo(t,n),a=this.texData.get(o.dataId);a.isPacked=!1,a.texture={texture:e,texShape:[i,r]},a.texShape=[i,r];const l=ame(t),u=new tge(l,!1,s),c=this.runWebGLProgram(u,[o],n,[[i,r]]);return c.shape=t,a.texture=null,this.disposeIntermediateTensorInfo(o),c.dataId}write(e,t,n){if(((0,v3.env)().getBool("WEBGL_CHECK_NUMERICAL_PROBLEMS")||(0,v3.env)().getBool("DEBUG"))&&this.checkNumericalProblems(e),"complex64"===n&&null!=e)throw new Error("Cannot write to a complex64 dtype. Please use tf.complex(real, imag).");const i={id:this.nextDataId()};return this.texData.set(i,{shape:t,dtype:n,values:e,usage:Tfe.UPLOAD,refCount:1}),i}refCount(e){if(this.texData.has(e)){return this.texData.get(e).refCount}return 0}incRef(e){this.texData.get(e).refCount++}decRef(e){if(this.texData.has(e)){this.texData.get(e).refCount--}}move(e,t,n,i,r){if((0,v3.env)().getBool("DEBUG")&&this.checkNumericalProblems(t),"complex64"===i)throw new Error("Cannot write to a complex64 dtype. Please use tf.complex(real, imag).");this.texData.set(e,{shape:n,dtype:i,values:t,usage:Tfe.UPLOAD,refCount:r})}disposeIntermediateTensorInfo(e){this.disposeData(e.dataId)}readSync(e){const t=this.texData.get(e),{values:n,dtype:i,complexTensorInfos:r,slice:s,shape:o,isPacked:a}=t;if(null!=s){let t;t=a?new F_e(o,D_e):new O_e(o,D_e);const n=this.runWebGLProgram(t,[{dataId:e,shape:o,dtype:i}],i),r=this.readSync(n.dataId);return this.disposeIntermediateTensorInfo(n),r}if(null!=n)return this.convertAndCacheOnCPU(e);if("string"===i)return n;const l=null!=this.activeTimers;let u,c;if(l&&(u=v3.util.now()),"complex64"===i){const e=this.readSync(r.real.dataId),t=this.readSync(r.imag.dataId);c=v3.backend_util.mergeRealAndImagArrays(e,t)}else c=this.getValuesFromTexture(e);return l&&(this.downloadWaitMs+=v3.util.now()-u),this.convertAndCacheOnCPU(e,c)}async read(e){if(this.pendingRead.has(e)){const t=this.pendingRead.get(e);return new Promise(e=>t.push(e))}const t=this.texData.get(e),{values:n,shape:i,slice:r,dtype:s,complexTensorInfos:o,isPacked:a}=t;if(null!=r){let t;t=a?new F_e(i,D_e):new O_e(i,D_e);const n=this.runWebGLProgram(t,[{dataId:e,shape:i,dtype:s}],s),r=this.read(n.dataId);return this.disposeIntermediateTensorInfo(n),r}if(null!=n)return this.convertAndCacheOnCPU(e);if((0,v3.env)().getBool("DEBUG")&&!(0,v3.env)().getBool("WEBGL_DOWNLOAD_FLOAT_ENABLED")&&2===(0,v3.env)().getNumber("WEBGL_VERSION"))throw new Error("tensor.data() with WEBGL_DOWNLOAD_FLOAT_ENABLED=false and WEBGL_VERSION=2 not yet supported.");let l,u,c=null;if("complex64"!==s&&(0,v3.env)().get("WEBGL_BUFFER_SUPPORTED")){l=this.decode(e);const t=this.texData.get(l.dataId);c=this.gpgpu.createBufferFromTexture(t.texture.texture,...wfe(i))}if(this.pendingRead.set(e,[]),"complex64"!==s&&await this.gpgpu.createAndWaitForFence(),"complex64"===s){const e=await Promise.all([this.read(o.real.dataId),this.read(o.imag.dataId)]),t=e[0],n=e[1];u=v3.backend_util.mergeRealAndImagArrays(t,n)}else if(null==c)u=this.getValuesFromTexture(e);else{const e=v3.util.sizeFromShape(i);u=this.gpgpu.downloadFloat32MatrixFromBuffer(c,e)}if(null!=l&&this.disposeIntermediateTensorInfo(l),null!=c){const e=this.gpgpu.gl;Sfe(e,()=>e.deleteBuffer(c))}const d=this.convertAndCacheOnCPU(e,u),h=this.pendingRead.get(e);return this.pendingRead.delete(e),h.forEach(e=>e(d)),this.pendingDisposal.has(e)&&(this.pendingDisposal.delete(e),this.disposeData(e)&&(0,v3.engine)().removeDataId(e,this),this.pendingDeletes--),d}readToGPU(e,t={}){const n=this.texData.get(e),{values:i,shape:r,slice:s,dtype:o,isPacked:a,texture:l}=n;if("complex64"===o)throw new Error("Does not support reading texture for complex64 dtype.");if(null!=s){let n;n=a?new F_e(r,D_e):new O_e(r,D_e);const i=this.runWebGLProgram(n,[{dataId:e,shape:r,dtype:o}],o),s=this.readToGPU(i,t);return this.disposeIntermediateTensorInfo(i),s}if(null==l)throw null!=i?new Error("Data is not on GPU but on CPU."):new Error("There is no data on GPU or CPU.");const u=this.decode(e,t.customTexShape),c=(0,v3.engine)().makeTensorFromTensorInfo(u),d=this.texData.get(u.dataId);return Object.assign({tensorRef:c},d.texture)}bufferSync(e){const t=this.readSync(e.dataId);if("string"===e.dtype)try{const n=t.map(e=>v3.util.decodeString(e));return(0,v3.buffer)(e.shape,e.dtype,n)}catch(e){throw new Error("Failed to decode encoded string bytes into utf-8")}return(0,v3.buffer)(e.shape,e.dtype,t)}checkNumericalProblems(e){if(null!=e)for(let t=0;t0}time(e){const t=this.activeTimers,n=[];let i=!1;null==this.programTimersStack?(this.programTimersStack=n,i=!0):this.activeTimers.push(n),this.activeTimers=n,e();const r=v3.util.flatten(this.activeTimers.map(e=>e.query)).filter(e=>null!=e),s=v3.util.flatten(this.activeTimers.map(e=>e.name)).filter(e=>null!=e);this.activeTimers=t,i&&(this.programTimersStack=null);const o={uploadWaitMs:this.uploadWaitMs,downloadWaitMs:this.downloadWaitMs,kernelMs:null,wallMs:null};return(async()=>{if((0,v3.env)().getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_RELIABLE")>0){const e=await Promise.all(r);o.kernelMs=v3.util.sum(e),o.getExtraProfileInfo=()=>e.map((e,t)=>({name:s[t],ms:e})).map(e=>`${e.name}: ${e.ms}`).join(", ")}else o.kernelMs={error:"WebGL query timers are not supported in this environment."};return this.uploadWaitMs=0,this.downloadWaitMs=0,o})()}memory(){return{unreliable:!1,numBytesInGPU:this.numBytesInGPU,numBytesInGPUAllocated:this.textureManager.numBytesAllocated,numBytesInGPUFree:this.textureManager.numBytesFree}}startTimer(){return(0,v3.env)().getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_RELIABLE")>0?this.gpgpu.beginQuery():{startMs:v3.util.now(),endMs:null}}endTimer(e){return(0,v3.env)().getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_RELIABLE")>0?(this.gpgpu.endQuery(),e):(e.endMs=v3.util.now(),e)}async getQueryTime(e){if((0,v3.env)().getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_RELIABLE")>0)return this.gpgpu.waitForQueryAndGetTime(e);const t=e;return t.endMs-t.startMs}disposeData(e,t=!1){if(this.pendingDisposal.has(e))return!1;if(!this.texData.has(e))return!0;if(t?this.texData.get(e).refCount=0:this.texData.get(e).refCount--,!t&&this.texData.get(e).refCount>0)return!1;if(this.pendingRead.has(e))return this.pendingDisposal.add(e),this.pendingDeletes++,!1;this.releaseGPUData(e);const{complexTensorInfos:n}=this.texData.get(e);return null!=n&&(this.disposeData(n.real.dataId,t),this.disposeData(n.imag.dataId,t)),this.texData.delete(e),!0}releaseGPUData(e){const{texture:t,dtype:n,texShape:i,usage:r,isPacked:s,slice:o}=this.texData.get(e),a=o&&o.origDataId||e,l=this.dataRefCount.get(a);l>1?this.dataRefCount.set(a,l-1):(this.dataRefCount.delete(a),null!=t&&(this.numBytesInGPU-=this.computeBytes(i,n),this.textureManager.releaseTexture(t,i,r,s)));const u=this.texData.get(e);u.texture=null,u.texShape=null,u.isPacked=!1,u.slice=null}getTexture(e){return this.uploadToGPU(e),this.texData.get(e).texture.texture}getDataInfo(e){return this.texData.get(e)}shouldExecuteOnCPU(e,t=$_e){return(0,v3.env)().getBool("WEBGL_CPU_FORWARD")&&e.every(e=>null==this.texData.get(e.dataId).texture&&v3.util.sizeFromShape(e.shape)0&&v3.util.isString(n[0])){const r=n.map(e=>v3.util.encodeString(e));i=this.write(r,e,t)}else i=this.write(n,e,t);return this.texData.get(i).usage=null,{dataId:i,shape:e,dtype:t}}makeOutput(e,t,n){return(0,v3.engine)().makeTensorFromTensorInfo(this.makeTensorInfo(e,t,n),this)}unpackTensor(e){const t=new L_e(e.shape);return this.runWebGLProgram(t,[e],e.dtype)}packTensor(e){const t=new E_e(e.shape);return this.runWebGLProgram(t,[e],e.dtype,null,!0)}packedReshape(e,t){const n=[sme(e.shape),...ome(e.shape)],i={dtype:e.dtype,shape:n,dataId:e.dataId},r=[sme(t),...ome(t)],s=new w_e(r,n),o=[n],a=this.runWebGLProgram(s,[i],e.dtype,o,!0);return{dataId:a.dataId,shape:t,dtype:a.dtype}}decode(e,t){const n=this.texData.get(e),{isPacked:i,shape:r,dtype:s}=n;if(null!=t){const e=v3.util.sizeFromShape(r),n=t[0]*t[1]*4;v3.util.assert(e<=n,()=>"customTexShape is too small. Row * Column * 4 should be equal or larger than the size of the tensor data.")}const o=ame(r);let a;a=i?new Zme(o):new Kme(o);const l=[null!=t?t:wfe(o)];return{dtype:s,shape:r,dataId:this.runWebGLProgram(a,[{shape:o,dtype:s,dataId:e}],s,l,!0,t).dataId}}runWebGLProgram(e,t,n,i,r=!1,s){const o=this.makeTensorInfo(e.outputShape,n),a=this.texData.get(o.dataId);if(e.packedOutput&&(a.isPacked=!0),e.outPackingScheme===bfe.DENSE){const t=null!=s?s:wfe(e.outputShape);a.texShape=t.map(e=>2*e)}if(null!=e.outTexUsage&&(a.usage=e.outTexUsage),0===v3.util.sizeFromShape(o.shape))return a.values=v3.util.getTypedArrayFromDType(o.dtype,0),o;const l=[],u=t.map(t=>{if("complex64"===t.dtype)throw new Error("GPGPUProgram does not support complex64 input. For complex64 dtypes, please separate the program into real and imaginary parts.");let n=this.texData.get(t.dataId);if(null==n.texture){if(!e.packedInputs&&v3.util.sizeFromShape(t.shape)<=(0,v3.env)().getNumber("WEBGL_SIZE_UPLOAD_UNIFORM"))return{shape:t.shape,texData:null,isUniform:!0,uniformValues:n.values};e.packedInputs&&(n.isPacked=!0,n.shape=t.shape)}if(this.uploadToGPU(t.dataId),!!n.isPacked!=!!e.packedInputs)t=n.isPacked?this.unpackTensor(t):this.packTensor(t),l.push(t),n=this.texData.get(t.dataId);else if(n.isPacked&&!cme(n.shape,t.shape)){const e=t,i=t.shape;t.shape=n.shape,t=this.packedReshape(t,i),l.push(t),n=this.texData.get(t.dataId),e.shape=i}return{shape:t.shape,texData:n,isUniform:!1}});this.uploadToGPU(o.dataId);const c={shape:o.shape,texData:a,isUniform:!1},d=function(e,t,n){let i="";t.concat(n).forEach(t=>{const r=null!=t.texData&&null!=t.texData.slice&&t.texData.slice.flatOffset>0;if(e.enableShapeUniforms&&!t.isUniform){const s=t.texData.texShape,{useSqueezeShape:o,uniformShape:a,keptDims:l}=Yme(e.packedInputs,t.shape,s);let u="",c="",d="";if(1===a.length&&e.packedInputs){const e=[Math.ceil(s[0]/2),Math.ceil(s[1]/2)];u=`${e[0]>1}_${e[1]>1}`}else if(2!==a.length||e.packedInputs){if(a.length>2&&!e.packedInputs){const e=v3.util.computeStrides(a);d=`${e[0]===s[1]}_${e[e.length-1]===s[1]}`}}else c=`${a[0]>1}_${a[1]>1}`;const h=t.shape.length,p=2===a.length&&v3.util.arraysEqual(t.shape,s),f=1===v3.util.sizeFromShape(t.shape),m=v3.backend_util.getBroadcastDims(t.shape,n.shape),g=!e.packedInputs&&h===n.shape.length&&v3.util.arraysEqual(s,n.texData.texShape),_=e.packedInputs||a.length>2?"":`${s[0]>1}_${s[1]>1}`;i+=`${h}_${g}_${o?l:""}_${a.length}_${f}_${m}_${p}_${u}_${c}_${d}_${_}_${r}`}else{const e=t.isUniform?"uniform":t.texData.texShape;i+=`${t.shape}_${e}_${r}`}});const r=e.userCode;let s=e.constructor.name;return s+="_"+i+"_"+r+`${(0,v3.env)().getNumber("WEBGL_VERSION")}`,s}(e,u,c),h=this.getAndSaveBinary(d,()=> /** * @license * Copyright 2017 Google LLC. All Rights Reserved. @@ -15218,9 +15218,9 @@ const k_e=p3.kernel_impls.whereImpl,R_e={};const N_e=(0,p3.env)().getNumber("CPU * limitations under the License. * ============================================================================= */ -function(e,t,n,i){const r=n.map((e,n)=>{const i={logicalShape:e.shape,texShape:e.isUniform?null:e.texData.texShape,isUniform:e.isUniform,isPacked:!e.isUniform&&e.texData.isPacked,flatOffset:null};return null!=e.texData&&null!=e.texData.slice&&e.texData.slice.flatOffset>0&&(i.flatOffset=e.texData.slice.flatOffset),{name:t.variableNames[n],shapeInfo:i}}),s=r.map(e=>e.shapeInfo),o={logicalShape:i.shape,texShape:i.texData.texShape,isUniform:!1,isPacked:i.texData.isPacked,flatOffset:null},a=Sme(r,o,t),l=Cfe(e.gl,a),u=e.createProgram(l);return(0,p3.env)().get("ENGINE_COMPILE_ONLY")?{program:t,fragmentShader:l,source:a,webGLProgram:u,inShapeInfos:s,outShapeInfo:o,variablesLocations:null,customUniformLocations:null,infLoc:null,nanLoc:null,outShapeLocation:null,outShapeStridesLocation:null,outTexShapeLocation:null}:(e.buildVao(u),Object.assign({program:t,fragmentShader:l,source:a,webGLProgram:u,inShapeInfos:s,outShapeInfo:o},Vme(e,t,u)))}(this.gpgpu,e,u,c)),p=null!=this.activeTimers;let f;p&&(f=this.startTimer()),(0,p3.env)().get("ENGINE_COMPILE_ONLY")||function(e,t,n,i,r){t.program.enableShapeUniforms||(zme(t.inShapeInfos,n),zme([t.outShapeInfo],[i]));const s=i.texData.texture,o=i.texData.texShape;i.texData.isPacked?e.setOutputPackedMatrixTexture(s.texture,o[0],o[1]):e.setOutputMatrixTexture(s.texture,o[0],o[1]),e.setProgram(t.webGLProgram),e.bindVertexArray(t.webGLProgram.vao),1===(0,p3.env)().getNumber("WEBGL_VERSION")&&null!==t.infLoc&&e.gl.uniform1f(t.infLoc,1/0),null!==t.nanLoc&&e.gl.uniform1f(t.nanLoc,NaN);for(let i=0;ithis.disposeIntermediateTensorInfo(e)),p&&(f=this.endTimer(f),this.activeTimers.push({name:e.constructor.name,query:this.getQueryTime(f)}));const m=(0,p3.env)().getNumber("WEBGL_FLUSH_THRESHOLD");if(m>0){const e=p3.util.now();e-this.lastGlFlushTime>m&&(this.gpgpu.gl.flush(),this.lastGlFlushTime=e)}if(!(0,p3.env)().getBool("WEBGL_LAZILY_UNPACK")&&a.isPacked&&!1===r){const e=this.unpackTensor(o);return this.disposeIntermediateTensorInfo(o),e}return o}compileAndRun(e,t,n,i,r=!1){n=n||t[0].dtype;return this.runWebGLProgram(e,t,n,i,r)}getAndSaveBinary(e,t){return e in this.binaryCache||(this.binaryCache[e]=t()),this.binaryCache[e]}getTextureManager(){return this.textureManager}dispose(){if(!this.disposed){if(!(0,p3.env)().getBool("IS_TEST")){Object.keys(this.binaryCache).forEach(e=>{this.gpgpu.deleteProgram(this.binaryCache[e].webGLProgram),delete this.binaryCache[e]})}this.textureManager.dispose(),null!=this.canvas&&"undefined"!=typeof HTMLCanvasElement&&this.canvas instanceof HTMLCanvasElement?this.canvas.remove():this.canvas=null,this.gpgpuCreatedLocally&&(this.gpgpu.program=null,this.gpgpu.dispose()),this.disposed=!0}}floatPrecision(){return null==this.floatPrecisionValue&&(this.floatPrecisionValue=(0,p3.tidy)(()=>{if(!(0,p3.env)().get("WEBGL_RENDER_FLOAT32_ENABLED")){const e=(0,p3.env)().getBool("DEBUG");(0,p3.env)().set("DEBUG",!1);const t=this.abs((0,p3.scalar)(1e-8)).dataSync()[0];if((0,p3.env)().set("DEBUG",e),t>0)return 32}return 16})),this.floatPrecisionValue}epsilon(){return 32===this.floatPrecision()?1e-7:1e-4}uploadToGPU(e){const t=this.texData.get(e),{shape:n,dtype:i,values:r,texture:s,usage:o,isPacked:a}=t;if(null!=s)return;const l=null!=this.activeTimers;let u;l&&(u=p3.util.now());let c=t.texShape;if(null==c&&(c=nme(n,a),t.texShape=c),null!=r){const e=tme(n);let s,o=c[1],d=c[0];const h=r instanceof Uint8Array||r instanceof Uint8ClampedArray;!a&&h||([o,d]=vfe(c[0],c[1])),s=a?new Kme(e,h):new qme(e,h);const p=h?[d,o]:c,f=this.makeTensorInfo(p,i),m=this.texData.get(f.dataId);m.usage=h?mfe.PIXELS:mfe.UPLOAD,m.texShape=p,this.gpgpu.uploadDenseMatrixToTexture(this.getTexture(f.dataId),o,d,r);const g=[[d,o]],_=!0,y=this.runWebGLProgram(s,[f],i,g,_),v=this.texData.get(y.dataId);t.texShape=v.texShape,t.isPacked=v.isPacked,t.usage=v.usage,(0,p3.env)().get("ENGINE_COMPILE_ONLY")?this.disposeData(y.dataId):(t.texture=v.texture,t.values=null,this.texData.delete(y.dataId)),this.disposeIntermediateTensorInfo(f),l&&(this.uploadWaitMs+=p3.util.now()-u)}else{const e=this.acquireTexture(c,o,i,a);t.texture=e}}convertAndCacheOnCPU(e,t){const n=this.texData.get(e),{dtype:i}=n;return null!=t&&(n.values=function(e,t){if("float32"===t||"complex64"===t)return e;if("int32"===t||"bool"===t){const n="int32"===t?new Int32Array(e.length):new Uint8Array(e.length);for(let t=0;t1024*this.numMBBeforeWarning*1024){const e=(this.numBytesInGPU/1024/1024).toFixed(2);this.warnedAboutMemory=!0,console.warn(`High memory usage in GPU: ${e} MB, most likely due to a memory leak`)}return this.textureManager.acquireTexture(e,t,i)}computeBytes(e,t){return e[0]*e[1]*p3.util.bytesPerElement(t)}checkCompileCompletion(){for(const[,e]of Object.entries(this.binaryCache))this.checkCompletion_(e)}async checkCompileCompletionAsync(){const e=[];if(this.gpgpu.parallelCompilationExtension){for(const[,t]of Object.entries(this.binaryCache))e.push(this.checkCompletionAsync_(t));return Promise.all(e)}for(const[,t]of Object.entries(this.binaryCache)){const n=new Promise(e=>{try{this.checkCompletion_(t),e(!0)}catch(e){throw e}});e.push(n)}return Promise.all(e)}async checkCompletionAsync_(e){return this.gpgpu.gl.getProgramParameter(e.webGLProgram,this.gpgpu.parallelCompilationExtension.COMPLETION_STATUS_KHR)?this.checkCompletion_(e):(await(0,p3.nextFrame)(),this.checkCompletionAsync_(e))}checkCompletion_(e){if(!1===this.gpgpu.gl.getProgramParameter(e.webGLProgram,this.gpgpu.gl.LINK_STATUS)){if(console.log(this.gpgpu.gl.getProgramInfoLog(e.webGLProgram)),!1===this.gpgpu.gl.getShaderParameter(e.fragmentShader,this.gpgpu.gl.COMPILE_STATUS))throw Mfe(e.source,this.gpgpu.gl.getShaderInfoLog(e.fragmentShader)),new Error("Failed to compile fragment shader.");throw new Error("Failed to link vertex and fragment shaders.")}return!0}getUniformLocations(){for(const e of Object.values(this.binaryCache)){this.gpgpu.buildVao(e.webGLProgram);const{variablesLocations:t,customUniformLocations:n,infLoc:i,nanLoc:r,outShapeLocation:s,outShapeStridesLocation:o,outTexShapeLocation:a}=Vme(this.gpgpu,e.program,e.webGLProgram);e.variablesLocations=t,e.customUniformLocations=n,e.infLoc=i,e.nanLoc=r,e.outShapeLocation=s,e.outShapeStridesLocation=o,e.outTexShapeLocation=a}}createTensorFromGPUData(e,t,n){e.channels=e.channels||"RGBA";const{texture:i,height:r,width:s,channels:o}=e,a=(0,p3.engine)().backend;if(!a.gpgpu.gl.isTexture(i))throw new Error("The texture is invalid. Also, please make sure the texture and the TFJS WebGL backend are using the same canvas. If you want to use your own custom canvas, you have to create and use the custom TFJS WebGL backend created from the canvas through 'new tf.MathBackendWebGL(customCanvas)'.");const l=a.writeTexture(i,t,n,r,s,o);return(0,p3.engine)().makeTensorFromDataId(l,t,n,a)}}D_e.nextDataId=0; +function(e,t,n,i){const r=n.map((e,n)=>{const i={logicalShape:e.shape,texShape:e.isUniform?null:e.texData.texShape,isUniform:e.isUniform,isPacked:!e.isUniform&&e.texData.isPacked,flatOffset:null};return null!=e.texData&&null!=e.texData.slice&&e.texData.slice.flatOffset>0&&(i.flatOffset=e.texData.slice.flatOffset),{name:t.variableNames[n],shapeInfo:i}}),s=r.map(e=>e.shapeInfo),o={logicalShape:i.shape,texShape:i.texData.texShape,isUniform:!1,isPacked:i.texData.isPacked,flatOffset:null},a=Nme(r,o,t),l=Dfe(e.gl,a),u=e.createProgram(l);return(0,v3.env)().get("ENGINE_COMPILE_ONLY")?{program:t,fragmentShader:l,source:a,webGLProgram:u,inShapeInfos:s,outShapeInfo:o,variablesLocations:null,customUniformLocations:null,infLoc:null,nanLoc:null,outShapeLocation:null,outShapeStridesLocation:null,outTexShapeLocation:null}:(e.buildVao(u),Object.assign({program:t,fragmentShader:l,source:a,webGLProgram:u,inShapeInfos:s,outShapeInfo:o},Wme(e,t,u)))}(this.gpgpu,e,u,c)),p=null!=this.activeTimers;let f;p&&(f=this.startTimer()),(0,v3.env)().get("ENGINE_COMPILE_ONLY")||function(e,t,n,i,r){t.program.enableShapeUniforms||(Xme(t.inShapeInfos,n),Xme([t.outShapeInfo],[i]));const s=i.texData.texture,o=i.texData.texShape;i.texData.isPacked?e.setOutputPackedMatrixTexture(s.texture,o[0],o[1]):e.setOutputMatrixTexture(s.texture,o[0],o[1]),e.setProgram(t.webGLProgram),e.bindVertexArray(t.webGLProgram.vao),1===(0,v3.env)().getNumber("WEBGL_VERSION")&&null!==t.infLoc&&e.gl.uniform1f(t.infLoc,1/0),null!==t.nanLoc&&e.gl.uniform1f(t.nanLoc,NaN);for(let i=0;ithis.disposeIntermediateTensorInfo(e)),p&&(f=this.endTimer(f),this.activeTimers.push({name:e.constructor.name,query:this.getQueryTime(f)}));const m=(0,v3.env)().getNumber("WEBGL_FLUSH_THRESHOLD");if(m>0){const e=v3.util.now();e-this.lastGlFlushTime>m&&(this.gpgpu.gl.flush(),this.lastGlFlushTime=e)}if(!(0,v3.env)().getBool("WEBGL_LAZILY_UNPACK")&&a.isPacked&&!1===r){const e=this.unpackTensor(o);return this.disposeIntermediateTensorInfo(o),e}return o}compileAndRun(e,t,n,i,r=!1){n=n||t[0].dtype;return this.runWebGLProgram(e,t,n,i,r)}getAndSaveBinary(e,t){return e in this.binaryCache||(this.binaryCache[e]=t()),this.binaryCache[e]}getTextureManager(){return this.textureManager}dispose(){if(!this.disposed){if(!(0,v3.env)().getBool("IS_TEST")){Object.keys(this.binaryCache).forEach(e=>{this.gpgpu.deleteProgram(this.binaryCache[e].webGLProgram),delete this.binaryCache[e]})}this.textureManager.dispose(),null!=this.canvas&&"undefined"!=typeof HTMLCanvasElement&&this.canvas instanceof HTMLCanvasElement?this.canvas.remove():this.canvas=null,this.gpgpuCreatedLocally&&(this.gpgpu.program=null,this.gpgpu.dispose()),this.disposed=!0}}floatPrecision(){return null==this.floatPrecisionValue&&(this.floatPrecisionValue=(0,v3.tidy)(()=>{if(!(0,v3.env)().get("WEBGL_RENDER_FLOAT32_ENABLED")){const e=(0,v3.env)().getBool("DEBUG");(0,v3.env)().set("DEBUG",!1);const t=this.abs((0,v3.scalar)(1e-8)).dataSync()[0];if((0,v3.env)().set("DEBUG",e),t>0)return 32}return 16})),this.floatPrecisionValue}epsilon(){return 32===this.floatPrecision()?1e-7:1e-4}uploadToGPU(e){const t=this.texData.get(e),{shape:n,dtype:i,values:r,texture:s,usage:o,isPacked:a}=t;if(null!=s)return;const l=null!=this.activeTimers;let u;l&&(u=v3.util.now());let c=t.texShape;if(null==c&&(c=lme(n,a),t.texShape=c),null!=r){const e=ame(n);let s,o=c[1],d=c[0];const h=r instanceof Uint8Array||r instanceof Uint8ClampedArray;!a&&h||([o,d]=Ife(c[0],c[1])),s=a?new nge(e,h):new tge(e,h);const p=h?[d,o]:c,f=this.makeTensorInfo(p,i),m=this.texData.get(f.dataId);m.usage=h?Tfe.PIXELS:Tfe.UPLOAD,m.texShape=p,this.gpgpu.uploadDenseMatrixToTexture(this.getTexture(f.dataId),o,d,r);const g=[[d,o]],_=!0,y=this.runWebGLProgram(s,[f],i,g,_),v=this.texData.get(y.dataId);t.texShape=v.texShape,t.isPacked=v.isPacked,t.usage=v.usage,(0,v3.env)().get("ENGINE_COMPILE_ONLY")?this.disposeData(y.dataId):(t.texture=v.texture,t.values=null,this.texData.delete(y.dataId)),this.disposeIntermediateTensorInfo(f),l&&(this.uploadWaitMs+=v3.util.now()-u)}else{const e=this.acquireTexture(c,o,i,a);t.texture=e}}convertAndCacheOnCPU(e,t){const n=this.texData.get(e),{dtype:i}=n;return null!=t&&(n.values=function(e,t){if("float32"===t||"complex64"===t)return e;if("int32"===t||"bool"===t){const n="int32"===t?new Int32Array(e.length):new Uint8Array(e.length);for(let t=0;t1024*this.numMBBeforeWarning*1024){const e=(this.numBytesInGPU/1024/1024).toFixed(2);this.warnedAboutMemory=!0,console.warn(`High memory usage in GPU: ${e} MB, most likely due to a memory leak`)}return this.textureManager.acquireTexture(e,t,i)}computeBytes(e,t){return e[0]*e[1]*v3.util.bytesPerElement(t)}checkCompileCompletion(){for(const[,e]of Object.entries(this.binaryCache))this.checkCompletion_(e)}async checkCompileCompletionAsync(){const e=[];if(this.gpgpu.parallelCompilationExtension){for(const[,t]of Object.entries(this.binaryCache))e.push(this.checkCompletionAsync_(t));return Promise.all(e)}for(const[,t]of Object.entries(this.binaryCache)){const n=new Promise(e=>{try{this.checkCompletion_(t),e(!0)}catch(e){throw e}});e.push(n)}return Promise.all(e)}async checkCompletionAsync_(e){return this.gpgpu.gl.getProgramParameter(e.webGLProgram,this.gpgpu.parallelCompilationExtension.COMPLETION_STATUS_KHR)?this.checkCompletion_(e):(await(0,v3.nextFrame)(),this.checkCompletionAsync_(e))}checkCompletion_(e){if(!1===this.gpgpu.gl.getProgramParameter(e.webGLProgram,this.gpgpu.gl.LINK_STATUS)){if(console.log(this.gpgpu.gl.getProgramInfoLog(e.webGLProgram)),!1===this.gpgpu.gl.getShaderParameter(e.fragmentShader,this.gpgpu.gl.COMPILE_STATUS))throw Lfe(e.source,this.gpgpu.gl.getShaderInfoLog(e.fragmentShader)),new Error("Failed to compile fragment shader.");throw new Error("Failed to link vertex and fragment shaders.")}return!0}getUniformLocations(){for(const e of Object.values(this.binaryCache)){this.gpgpu.buildVao(e.webGLProgram);const{variablesLocations:t,customUniformLocations:n,infLoc:i,nanLoc:r,outShapeLocation:s,outShapeStridesLocation:o,outTexShapeLocation:a}=Wme(this.gpgpu,e.program,e.webGLProgram);e.variablesLocations=t,e.customUniformLocations=n,e.infLoc=i,e.nanLoc=r,e.outShapeLocation=s,e.outShapeStridesLocation=o,e.outTexShapeLocation=a}}createTensorFromGPUData(e,t,n){e.channels=e.channels||"RGBA";const{texture:i,height:r,width:s,channels:o}=e,a=(0,v3.engine)().backend;if(!a.gpgpu.gl.isTexture(i))throw new Error("The texture is invalid. Also, please make sure the texture and the TFJS WebGL backend are using the same canvas. If you want to use your own custom canvas, you have to create and use the custom TFJS WebGL backend created from the canvas through 'new tf.MathBackendWebGL(customCanvas)'.");const l=a.writeTexture(i,t,n,r,s,o);return(0,v3.engine)().makeTensorFromDataId(l,t,n,a)}}U_e.nextDataId=0; /** @license See the LICENSE file. */ -const F_e="4.22.0"; +const V_e="4.22.0"; /** * @license * Copyright 2019 Google LLC. All Rights Reserved. @@ -15237,7 +15237,7 @@ const F_e="4.22.0"; * limitations under the License. * ============================================================================= */ -function L_e(){(0,p3.env)().set("WEBGL_FORCE_F16_TEXTURES",!0)} +function z_e(){(0,v3.env)().set("WEBGL_FORCE_F16_TEXTURES",!0)} /** * @license * Copyright 2020 Google Inc. All Rights Reserved. @@ -15254,7 +15254,7 @@ function L_e(){(0,p3.env)().set("WEBGL_FORCE_F16_TEXTURES",!0)} * limitations under the License. * ============================================================================= */ -p3.device_util.isBrowser()&&(0,p3.registerBackend)("webgl",()=>new D_e,2);const P_e={forceHalfFloat:L_e},B_e="\n if (isnan(a)) return a;\n if (isnan(b)) return b;\n";class $_e{constructor(e,t,n){this.variableNames=["A","B"],this.outputShape=p3.backend_util.assertAndGetBroadcastShape(t,n),this.enableShapeUniforms=jme(this.outputShape.length),this.userCode=`\n float binaryOperation(float a, float b) {\n ${e}\n }\n\n void main() {\n float a = getAAtOutCoords();\n float b = getBAtOutCoords();\n setOutput(binaryOperation(a, b));\n }\n `}} +v3.device_util.isBrowser()&&(0,v3.registerBackend)("webgl",()=>new U_e,2);const j_e={forceHalfFloat:z_e},Y_e="\n if (isnan(a)) return a;\n if (isnan(b)) return b;\n";class G_e{constructor(e,t,n){this.variableNames=["A","B"],this.outputShape=v3.backend_util.assertAndGetBroadcastShape(t,n),this.enableShapeUniforms=qme(this.outputShape.length),this.userCode=`\n float binaryOperation(float a, float b) {\n ${e}\n }\n\n void main() {\n float a = getAAtOutCoords();\n float b = getBAtOutCoords();\n setOutput(binaryOperation(a, b));\n }\n `}} /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -15271,7 +15271,7 @@ p3.device_util.isBrowser()&&(0,p3.registerBackend)("webgl",()=>new D_e,2);const * limitations under the License. * ============================================================================= */ -const U_e="\n result.r = isNaN.r ? NAN : result.r;\n result.g = isNaN.g ? NAN : result.g;\n result.b = isNaN.b ? NAN : result.b;\n result.a = isNaN.a ? NAN : result.a;\n";class V_e{constructor(e,t,n,i=!1){this.variableNames=["A","B"],this.supportsBroadcasting=!0,this.packedInputs=!0,this.packedOutput=!0,this.outputShape=p3.backend_util.assertAndGetBroadcastShape(t,n);const r=this.outputShape.length;this.enableShapeUniforms=jme(r);let s="";if(i)if(0===r||1===p3.util.sizeFromShape(this.outputShape))s="\n result.y = 0.;\n result.z = 0.;\n result.w = 0.;\n ";else{if(s=`\n ${Pme(r)} coords = getOutputCoords();\n `,1===r)this.enableShapeUniforms?s+="\n result.y = (coords + 1) >= outShape ? 0. : result.y;\n result.z = 0.;\n result.w = 0.;\n ":s+=`\n result.y = (coords + 1) >= ${this.outputShape[0]} ? 0. : result.y;\n result.z = 0.;\n result.w = 0.;\n `;else{const e=g_e("coords",r);this.enableShapeUniforms?s+=`\n bool nextRowOutOfBounds =\n (${e[r-2]} + 1) >= outShape[${r} - 2];\n bool nextColOutOfBounds =\n (${e[r-1]} + 1) >= outShape[${r} - 1];\n result.y = nextColOutOfBounds ? 0. : result.y;\n result.z = nextRowOutOfBounds ? 0. : result.z;\n result.w = nextColOutOfBounds || nextRowOutOfBounds ? 0. : result.w;\n `:s+=`\n bool nextRowOutOfBounds =\n (${e[r-2]} + 1) >= ${this.outputShape[r-2]};\n bool nextColOutOfBounds =\n (${e[r-1]} + 1) >= ${this.outputShape[r-1]};\n result.y = nextColOutOfBounds ? 0. : result.y;\n result.z = nextRowOutOfBounds ? 0. : result.z;\n result.w = nextColOutOfBounds || nextRowOutOfBounds ? 0. : result.w;\n `}}this.userCode=`\n vec4 binaryOperation(vec4 a, vec4 b) {\n ${e}\n }\n\n void main() {\n vec4 a = getAAtOutCoords();\n vec4 b = getBAtOutCoords();\n\n vec4 result = binaryOperation(a, b);\n ${s}\n\n setOutput(result);\n }\n `}} +const H_e="\n result.r = isNaN.r ? NAN : result.r;\n result.g = isNaN.g ? NAN : result.g;\n result.b = isNaN.b ? NAN : result.b;\n result.a = isNaN.a ? NAN : result.a;\n";class W_e{constructor(e,t,n,i=!1){this.variableNames=["A","B"],this.supportsBroadcasting=!0,this.packedInputs=!0,this.packedOutput=!0,this.outputShape=v3.backend_util.assertAndGetBroadcastShape(t,n);const r=this.outputShape.length;this.enableShapeUniforms=qme(r);let s="";if(i)if(0===r||1===v3.util.sizeFromShape(this.outputShape))s="\n result.y = 0.;\n result.z = 0.;\n result.w = 0.;\n ";else{if(s=`\n ${jme(r)} coords = getOutputCoords();\n `,1===r)this.enableShapeUniforms?s+="\n result.y = (coords + 1) >= outShape ? 0. : result.y;\n result.z = 0.;\n result.w = 0.;\n ":s+=`\n result.y = (coords + 1) >= ${this.outputShape[0]} ? 0. : result.y;\n result.z = 0.;\n result.w = 0.;\n `;else{const e=x_e("coords",r);this.enableShapeUniforms?s+=`\n bool nextRowOutOfBounds =\n (${e[r-2]} + 1) >= outShape[${r} - 2];\n bool nextColOutOfBounds =\n (${e[r-1]} + 1) >= outShape[${r} - 1];\n result.y = nextColOutOfBounds ? 0. : result.y;\n result.z = nextRowOutOfBounds ? 0. : result.z;\n result.w = nextColOutOfBounds || nextRowOutOfBounds ? 0. : result.w;\n `:s+=`\n bool nextRowOutOfBounds =\n (${e[r-2]} + 1) >= ${this.outputShape[r-2]};\n bool nextColOutOfBounds =\n (${e[r-1]} + 1) >= ${this.outputShape[r-1]};\n result.y = nextColOutOfBounds ? 0. : result.y;\n result.z = nextRowOutOfBounds ? 0. : result.z;\n result.w = nextColOutOfBounds || nextRowOutOfBounds ? 0. : result.w;\n `}}this.userCode=`\n vec4 binaryOperation(vec4 a, vec4 b) {\n ${e}\n }\n\n void main() {\n vec4 a = getAAtOutCoords();\n vec4 b = getBAtOutCoords();\n\n vec4 result = binaryOperation(a, b);\n ${s}\n\n setOutput(result);\n }\n `}} /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -15288,7 +15288,7 @@ const U_e="\n result.r = isNaN.r ? NAN : result.r;\n result.g = isNaN.g ? NAN * limitations under the License. * ============================================================================= */ -function z_e(e){const{inputs:t,backend:n}=e,{x:i}=t;return n.incRef(i.dataId),{dataId:i.dataId,shape:i.shape,dtype:i.dtype}}const j_e={kernelName:p3.Identity,backendName:"webgl",kernelFunc:z_e}; +function X_e(e){const{inputs:t,backend:n}=e,{x:i}=t;return n.incRef(i.dataId),{dataId:i.dataId,shape:i.shape,dtype:i.dtype}}const q_e={kernelName:v3.Identity,backendName:"webgl",kernelFunc:X_e}; /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -15305,7 +15305,7 @@ function z_e(e){const{inputs:t,backend:n}=e,{x:i}=t;return n.incRef(i.dataId),{d * limitations under the License. * ============================================================================= */ -function Y_e(e){const{inputs:t,backend:n}=e,{real:i,imag:r}=t,s=n.makeTensorInfo(i.shape,"complex64"),o=n.texData.get(s.dataId),a=z_e({inputs:{x:i},backend:n}),l=z_e({inputs:{x:r},backend:n});return o.complexTensorInfos={real:a,imag:l},s}const G_e={kernelName:p3.Complex,backendName:"webgl",kernelFunc:Y_e},H_e="return (a < 0.) ? b * a : a;",W_e="\n vec4 aLessThanZero = vec4(lessThan(a, vec4(0.)));\n return (aLessThanZero * (b * a)) + ((vec4(1.0) - aLessThanZero) * a);\n";const X_e={kernelName:p3.LeakyRelu,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{alpha:s}=i,o=n.makeTensorInfo([],"float32",p3.util.createScalarValue(s,"float32")),a=(0,p3.env)().getBool("WEBGL_PACK_BINARY_OPERATIONS")?new V_e(W_e,r.shape,o.shape):new $_e(H_e,r.shape,o.shape),l=n.runWebGLProgram(a,[r,o],"float32");return n.disposeIntermediateTensorInfo(o),l}},q_e="return (a < 0.) ? b * a : a;",K_e="\n vec4 aLessThanZero = vec4(lessThan(a, vec4(0.)));\n return (aLessThanZero * (b * a)) + ((vec4(1.0) - aLessThanZero) * a);\n";const Z_e={kernelName:p3.Prelu,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n}=e,{x:i,alpha:r}=t,s=(0,p3.env)().getBool("WEBGL_PACK_BINARY_OPERATIONS")?new V_e(K_e,i.shape,r.shape):new $_e(q_e,i.shape,r.shape);return n.runWebGLProgram(s,[i,r],"float32")}},Q_e="if (isnan(x)) return x;";function J_e({opSnippet:e,packedOpSnippet:t,cpuKernelImpl:n,dtype:i}){return({inputs:r,backend:s})=>{const{x:o}=r,a=s,l=i||o.dtype;if(a.shouldExecuteOnCPU([o])&&null!=n){const e=a.texData.get(o.dataId),t=n(e.values,l);return a.makeTensorInfo(o.shape,l,t)}let u;return u=(0,p3.env)().getBool("WEBGL_PACK_UNARY_OPERATIONS")&&null!=t?new O_e(o.shape,t):new E_e(o.shape,e),a.runWebGLProgram(u,[o],l)}}function eye({opSnippet:e,packedOpSnippet:t,checkOutOfBounds:n=!1,supportsComplex:i=!1,cpuKernelImpl:r,dtype:s}){return({inputs:o,backend:a})=>{const{a:l,b:u}=o,c=a;if(i&&"complex64"===l.dtype){const t=c.texData.get(l.dataId),n=c.texData.get(u.dataId),[i,r]=[[t.complexTensorInfos.real,n.complexTensorInfos.real],[t.complexTensorInfos.imag,n.complexTensorInfos.imag]].map(t=>{const[n,i]=t,r={dataId:n.dataId,dtype:n.dtype,shape:l.shape},s={dataId:i.dataId,dtype:i.dtype,shape:u.shape},o=new $_e(e,l.shape,u.shape);return c.runWebGLProgram(o,[r,s],(0,p3.upcastType)(n.dtype,i.dtype))}),s=Y_e({inputs:{real:i,imag:r},backend:c});return c.disposeIntermediateTensorInfo(i),c.disposeIntermediateTensorInfo(r),s}const d=s||(0,p3.upcastType)(l.dtype,u.dtype);if(("string"===l.dtype||"string"===u.dtype||c.shouldExecuteOnCPU([l,u]))&&null!=r){const e=c.texData.get(l.dataId).values,t=c.texData.get(u.dataId).values,n="string"===l.dtype?p3.backend_util.fromUint8ToStringArray(e):e,i="string"===l.dtype?p3.backend_util.fromUint8ToStringArray(t):t,[s,o]=r(l.shape,u.shape,n,i,d),a=c.makeTensorInfo(o,d);return c.texData.get(a.dataId).values=s,a}let h;return h=(0,p3.env)().getBool("WEBGL_PACK_BINARY_OPERATIONS")&&null!=t?new V_e(t,l.shape,u.shape,n):new $_e(e,l.shape,u.shape),c.runWebGLProgram(h,[l,u],d)}}function tye(e,t=!1){if("linear"===e)return"return x;";if("relu"===e)return t?"\n vec4 result = x * vec4(greaterThanEqual(x, vec4(0.0)));\n bvec4 isNaN = isnan(x);\n\n result.r = isNaN.r ? x.r : result.r;\n result.g = isNaN.g ? x.g : result.g;\n result.b = isNaN.b ? x.b : result.b;\n result.a = isNaN.a ? x.a : result.a;\n\n return result;\n":A_e;if("elu"===e)return t?"\n vec4 result;\n\n result.r = (x.r >= 0.0) ? x.r : (exp(x.r) - 1.0);\n result.g = (x.g >= 0.0) ? x.g : (exp(x.g) - 1.0);\n result.b = (x.b >= 0.0) ? x.b : (exp(x.b) - 1.0);\n result.a = (x.a >= 0.0) ? x.a : (exp(x.a) - 1.0);\n\n return result;\n":"return (x >= 0.0) ? x : (exp(x) - 1.0);";if("relu6"===e)return t?"\n vec4 result = min(x, vec4(6.)) * vec4(greaterThanEqual(x, vec4(0.0)));\n bvec4 isNaN = isnan(x);\n\n result.r = isNaN.r ? x.r : result.r;\n result.g = isNaN.g ? x.g : result.g;\n result.b = isNaN.b ? x.b : result.b;\n result.a = isNaN.a ? x.a : result.a;\n\n return result;\n":S_e;if("prelu"===e)return t?K_e:q_e;if("leakyrelu"===e)return t?W_e:H_e;if("sigmoid"===e)return"return 1.0 / (1.0 + exp(-1.0 * x));";throw new Error(`Activation ${e} has not been implemented for the WebGL backend.`)} +function K_e(e){const{inputs:t,backend:n}=e,{real:i,imag:r}=t,s=n.makeTensorInfo(i.shape,"complex64"),o=n.texData.get(s.dataId),a=X_e({inputs:{x:i},backend:n}),l=X_e({inputs:{x:r},backend:n});return o.complexTensorInfos={real:a,imag:l},s}const Z_e={kernelName:v3.Complex,backendName:"webgl",kernelFunc:K_e},Q_e="return (a < 0.) ? b * a : a;",J_e="\n vec4 aLessThanZero = vec4(lessThan(a, vec4(0.)));\n return (aLessThanZero * (b * a)) + ((vec4(1.0) - aLessThanZero) * a);\n";const eye={kernelName:v3.LeakyRelu,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{alpha:s}=i,o=n.makeTensorInfo([],"float32",v3.util.createScalarValue(s,"float32")),a=(0,v3.env)().getBool("WEBGL_PACK_BINARY_OPERATIONS")?new W_e(J_e,r.shape,o.shape):new G_e(Q_e,r.shape,o.shape),l=n.runWebGLProgram(a,[r,o],"float32");return n.disposeIntermediateTensorInfo(o),l}},tye="return (a < 0.) ? b * a : a;",nye="\n vec4 aLessThanZero = vec4(lessThan(a, vec4(0.)));\n return (aLessThanZero * (b * a)) + ((vec4(1.0) - aLessThanZero) * a);\n";const iye={kernelName:v3.Prelu,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n}=e,{x:i,alpha:r}=t,s=(0,v3.env)().getBool("WEBGL_PACK_BINARY_OPERATIONS")?new W_e(nye,i.shape,r.shape):new G_e(tye,i.shape,r.shape);return n.runWebGLProgram(s,[i,r],"float32")}},rye="if (isnan(x)) return x;";function sye({opSnippet:e,packedOpSnippet:t,cpuKernelImpl:n,dtype:i}){return({inputs:r,backend:s})=>{const{x:o}=r,a=s,l=i||o.dtype;if(a.shouldExecuteOnCPU([o])&&null!=n){const e=a.texData.get(o.dataId),t=n(e.values,l);return a.makeTensorInfo(o.shape,l,t)}let u;return u=(0,v3.env)().getBool("WEBGL_PACK_UNARY_OPERATIONS")&&null!=t?new F_e(o.shape,t):new O_e(o.shape,e),a.runWebGLProgram(u,[o],l)}}function oye({opSnippet:e,packedOpSnippet:t,checkOutOfBounds:n=!1,supportsComplex:i=!1,cpuKernelImpl:r,dtype:s}){return({inputs:o,backend:a})=>{const{a:l,b:u}=o,c=a;if(i&&"complex64"===l.dtype){const t=c.texData.get(l.dataId),n=c.texData.get(u.dataId),[i,r]=[[t.complexTensorInfos.real,n.complexTensorInfos.real],[t.complexTensorInfos.imag,n.complexTensorInfos.imag]].map(t=>{const[n,i]=t,r={dataId:n.dataId,dtype:n.dtype,shape:l.shape},s={dataId:i.dataId,dtype:i.dtype,shape:u.shape},o=new G_e(e,l.shape,u.shape);return c.runWebGLProgram(o,[r,s],(0,v3.upcastType)(n.dtype,i.dtype))}),s=K_e({inputs:{real:i,imag:r},backend:c});return c.disposeIntermediateTensorInfo(i),c.disposeIntermediateTensorInfo(r),s}const d=s||(0,v3.upcastType)(l.dtype,u.dtype);if(("string"===l.dtype||"string"===u.dtype||c.shouldExecuteOnCPU([l,u]))&&null!=r){const e=c.texData.get(l.dataId).values,t=c.texData.get(u.dataId).values,n="string"===l.dtype?v3.backend_util.fromUint8ToStringArray(e):e,i="string"===l.dtype?v3.backend_util.fromUint8ToStringArray(t):t,[s,o]=r(l.shape,u.shape,n,i,d),a=c.makeTensorInfo(o,d);return c.texData.get(a.dataId).values=s,a}let h;return h=(0,v3.env)().getBool("WEBGL_PACK_BINARY_OPERATIONS")&&null!=t?new W_e(t,l.shape,u.shape,n):new G_e(e,l.shape,u.shape),c.runWebGLProgram(h,[l,u],d)}}function aye(e,t=!1){if("linear"===e)return"return x;";if("relu"===e)return t?"\n vec4 result = x * vec4(greaterThanEqual(x, vec4(0.0)));\n bvec4 isNaN = isnan(x);\n\n result.r = isNaN.r ? x.r : result.r;\n result.g = isNaN.g ? x.g : result.g;\n result.b = isNaN.b ? x.b : result.b;\n result.a = isNaN.a ? x.a : result.a;\n\n return result;\n":R_e;if("elu"===e)return t?"\n vec4 result;\n\n result.r = (x.r >= 0.0) ? x.r : (exp(x.r) - 1.0);\n result.g = (x.g >= 0.0) ? x.g : (exp(x.g) - 1.0);\n result.b = (x.b >= 0.0) ? x.b : (exp(x.b) - 1.0);\n result.a = (x.a >= 0.0) ? x.a : (exp(x.a) - 1.0);\n\n return result;\n":"return (x >= 0.0) ? x : (exp(x) - 1.0);";if("relu6"===e)return t?"\n vec4 result = min(x, vec4(6.)) * vec4(greaterThanEqual(x, vec4(0.0)));\n bvec4 isNaN = isnan(x);\n\n result.r = isNaN.r ? x.r : result.r;\n result.g = isNaN.g ? x.g : result.g;\n result.b = isNaN.b ? x.b : result.b;\n result.a = isNaN.a ? x.a : result.a;\n\n return result;\n":N_e;if("prelu"===e)return t?nye:tye;if("leakyrelu"===e)return t?J_e:Q_e;if("sigmoid"===e)return"return 1.0 / (1.0 + exp(-1.0 * x));";throw new Error(`Activation ${e} has not been implemented for the WebGL backend.`)} /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -15322,7 +15322,7 @@ function Y_e(e){const{inputs:t,backend:n}=e,{real:i,imag:r}=t,s=n.makeTensorInfo * limitations under the License. * ============================================================================= */ -class nye{constructor(e,t,n,i=!1,r=!1,s=!1,o=null,a=!1,l=!1){this.variableNames=["matrixA","matrixB"],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=n,this.enableShapeUniforms=jme(this.outputShape.length);const u=i?e[1]:e[2],c=Math.ceil(u/2),d=i?"i * 2, rc.y":"rc.y, i * 2",h=r?"rc.z, i * 2":"i * 2, rc.z",p=i?["a.xxyy","a.zzww"]:["a.xxzz","a.yyww"],f=r?["b.xzxz","b.ywyw"]:["b.xyxy","b.zwzw"];let m="",g="";o&&(m=a?`vec4 activation(vec4 a) {\n vec4 b = getPreluActivationWeightsAtOutCoords();\n ${o}\n }`:l?`vec4 activation(vec4 a) {\n vec4 b = getLeakyreluAlphaAtOutCoords();\n ${o}\n }`:`vec4 activation(vec4 x) {\n ${o}\n }`,g="result = activation(result);");const _=s?"result += getBiasAtOutCoords();":"";s&&this.variableNames.push("bias"),a&&this.variableNames.push("preluActivationWeights"),l&&this.variableNames.push("leakyreluAlpha");let y="rc.x",v="rc.x";e[0]`The new shape (${l}) has ${u} elements and the old shape (${r.shape}) has ${a} elements. The new shape and old shape must have the same number of elements.`);const c=o.texData.get(r.dataId);return!c.isPacked||rme(r.shape,l)||null!==c.texture&&rme(c.shape,l)?(o.incRef(r.dataId),{dataId:r.dataId,shape:l,dtype:r.dtype}): +function mye(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{shape:s}=i,o=n,a=v3.util.sizeFromShape(r.shape),l=v3.util.inferFromImplicitShape(s,a),u=v3.util.sizeFromShape(l);v3.util.assert(a===u,()=>`The new shape (${l}) has ${u} elements and the old shape (${r.shape}) has ${a} elements. The new shape and old shape must have the same number of elements.`);const c=o.texData.get(r.dataId);return!c.isPacked||cme(r.shape,l)||null!==c.texture&&cme(c.shape,l)?(o.incRef(r.dataId),{dataId:r.dataId,shape:l,dtype:r.dtype}): /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -15390,7 +15390,7 @@ function uye(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{shape:s}=i,o=n,a=p3 * limitations under the License. * ============================================================================= */ -function(e,t,n){const i=[Jfe(e.shape),...eme(e.shape)],r={dtype:e.dtype,shape:i,dataId:e.dataId},s=[Jfe(t),...eme(t)],o=new y_e(s,i),a=[i],l=n.runWebGLProgram(o,[r],e.dtype,a,!0);return{dataId:l.dataId,shape:t,dtype:l.dtype}}(r,l,o)}const cye={kernelName:p3.Reshape,backendName:"webgl",kernelFunc:uye}; +function(e,t,n){const i=[sme(e.shape),...ome(e.shape)],r={dtype:e.dtype,shape:i,dataId:e.dataId},s=[sme(t),...ome(t)],o=new w_e(s,i),a=[i],l=n.runWebGLProgram(o,[r],e.dtype,a,!0);return{dataId:l.dataId,shape:t,dtype:l.dtype}}(r,l,o)}const gye={kernelName:v3.Reshape,backendName:"webgl",kernelFunc:mye}; /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -15407,7 +15407,7 @@ function(e,t,n){const i=[Jfe(e.shape),...eme(e.shape)],r={dtype:e.dtype,shape:i, * limitations under the License. * ============================================================================= */ -class dye{constructor(e,t){this.variableNames=["x"];const{windowSize:n,batchSize:i,inSize:r,outSize:s}=e;this.outputShape=[i,s];const o=4*Math.floor(n/4),a=n%4;let l="sumValue += dot(values, ones);";if(null!=t){const e=1/t;l=`sumValue += dot(values * ${p3.util.isInt(e)?e.toPrecision(2):e}, ones);`}let u="";r%n>0&&(u=`\n if (inIdx < 0 || inIdx >= ${r}) {\n return 0.0;\n }\n `),this.userCode=`\n const vec4 ones = vec4(1.0, 1.0, 1.0, 1.0);\n\n float getValue(int batch, int inIdx) {\n ${u}\n return getX(batch, inIdx);\n }\n\n void main() {\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n int outIdx = coords[1];\n int inOffset = outIdx * ${n};\n\n float sumValue = 0.0;\n\n for (int i = 0; i < ${o}; i += 4) {\n int inIdx = inOffset + i;\n vec4 values = vec4(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n getValue(batch, inIdx + 2),\n getValue(batch, inIdx + 3)\n );\n\n ${l}\n }\n\n int inIdx = inOffset + ${o};\n if (${1===a}) {\n vec4 values = vec4(getValue(batch, inIdx), 0.0, 0.0, 0.0);\n\n ${l}\n } else if (${2===a}) {\n vec4 values = vec4(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1), 0.0, 0.0);\n\n ${l}\n } else if (${3===a}) {\n vec4 values = vec4(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n getValue(batch, inIdx + 2), 0.0);\n\n ${l}\n }\n setOutput(sumValue);\n }\n `}} +class _ye{constructor(e,t){this.variableNames=["x"];const{windowSize:n,batchSize:i,inSize:r,outSize:s}=e;this.outputShape=[i,s];const o=4*Math.floor(n/4),a=n%4;let l="sumValue += dot(values, ones);";if(null!=t){const e=1/t;l=`sumValue += dot(values * ${v3.util.isInt(e)?e.toPrecision(2):e}, ones);`}let u="";r%n>0&&(u=`\n if (inIdx < 0 || inIdx >= ${r}) {\n return 0.0;\n }\n `),this.userCode=`\n const vec4 ones = vec4(1.0, 1.0, 1.0, 1.0);\n\n float getValue(int batch, int inIdx) {\n ${u}\n return getX(batch, inIdx);\n }\n\n void main() {\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n int outIdx = coords[1];\n int inOffset = outIdx * ${n};\n\n float sumValue = 0.0;\n\n for (int i = 0; i < ${o}; i += 4) {\n int inIdx = inOffset + i;\n vec4 values = vec4(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n getValue(batch, inIdx + 2),\n getValue(batch, inIdx + 3)\n );\n\n ${l}\n }\n\n int inIdx = inOffset + ${o};\n if (${1===a}) {\n vec4 values = vec4(getValue(batch, inIdx), 0.0, 0.0, 0.0);\n\n ${l}\n } else if (${2===a}) {\n vec4 values = vec4(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1), 0.0, 0.0);\n\n ${l}\n } else if (${3===a}) {\n vec4 values = vec4(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n getValue(batch, inIdx + 2), 0.0);\n\n ${l}\n }\n setOutput(sumValue);\n }\n `}} /** * @license * Copyright 2017 Google LLC. All Rights Reserved. @@ -15424,7 +15424,7 @@ class dye{constructor(e,t){this.variableNames=["x"];const{windowSize:n,batchSize * limitations under the License. * ============================================================================= */ -class hye{constructor(e,t){this.variableNames=["x"];const{windowSize:n,batchSize:i,inSize:r,outSize:s}=e;this.outputShape=[i,s];let o="0.0",a="";"prod"===t?o="1.0":"min"===t?(o="1.0 / 1e-20",a="min"):"max"===t&&(o="-1.0 / 1e-20",a="max");let l=`${t}(${t}(${t}(minMaxValue[0], minMaxValue[1]), minMaxValue[2]), minMaxValue[3])`;"sum"===t?l="sumValue":"prod"===t?l="prodValue":"all"===t?l="allValue":"any"===t&&(l="anyValue");const u=4*Math.floor(n/4),c=n%4;let d=`\n if (${"sum"===t}) {\n sumValue += dot(values, ones);\n } else if (${"prod"===t}) {\n vec2 tmp = vec2(values[0], values[1]) * vec2(values[2], values[3]);\n prodValue *= tmp[0] * tmp[1];\n } else {\n minMaxValue = ${a}(values, minMaxValue);\n if (${"min"===t} || ${"max"===t}) {\n minMaxValue = ${a}(values, minMaxValue);\n bvec4 isNaN = isnan(values);\n if (isNaN.r || isNaN.g || isNaN.b || isNaN.a) {\n minMaxValue = vec4(NAN);\n }\n }\n }\n `,h="vec4";"all"===t?(o="1.0",d="\n bool reducedAllValue = all(values);\n float floatedReducedAllValue = float(reducedAllValue);\n allValue = float(allValue >= 1.0 && floatedReducedAllValue >= 1.0);\n ",h="bvec4"):"any"===t&&(o="0.0",d="\n bool reducedAnyValue = any(values);\n float floatedReducedAnyValue = float(reducedAnyValue);\n anyValue = float(anyValue >= 1.0 || floatedReducedAnyValue >= 1.0);\n ",h="bvec4");let p="";r%n>0&&(p=`\n if (inIdx < 0 || inIdx >= ${r}) {\n return initializationValue;\n }\n `),this.userCode=`\n const float initializationValue = ${o};\n const vec4 ones = vec4(1.0, 1.0, 1.0, 1.0);\n\n float getValue(int batch, int inIdx) {\n ${p}\n return getX(batch, inIdx);\n }\n\n void main() {\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n int outIdx = coords[1];\n int inOffset = outIdx * ${n};\n\n vec4 minMaxValue = vec4(${o});\n float prodValue = 1.0;\n float sumValue = 0.0;\n float allValue = 1.0;\n float anyValue = 0.0;\n\n for (int i = 0; i < ${u}; i += 4) {\n int inIdx = inOffset + i;\n ${h} values = ${h}(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n getValue(batch, inIdx + 2),\n getValue(batch, inIdx + 3)\n );\n\n ${d}\n }\n\n int inIdx = inOffset + ${u};\n if (${1===c}) {\n ${h} values = ${h}(\n getValue(batch, inIdx),\n initializationValue,\n initializationValue,\n initializationValue\n );\n\n ${d}\n } else if (${2===c}) {\n ${h} values = ${h}(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n initializationValue,\n initializationValue\n );\n\n ${d}\n } else if (${3===c}) {\n ${h} values = ${h}(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n getValue(batch, inIdx + 2),\n initializationValue\n );\n\n ${d}\n }\n setOutput(${l});\n }\n `}}function pye(e,t,n,i){const r= +class yye{constructor(e,t){this.variableNames=["x"];const{windowSize:n,batchSize:i,inSize:r,outSize:s}=e;this.outputShape=[i,s];let o="0.0",a="";"prod"===t?o="1.0":"min"===t?(o="1.0 / 1e-20",a="min"):"max"===t&&(o="-1.0 / 1e-20",a="max");let l=`${t}(${t}(${t}(minMaxValue[0], minMaxValue[1]), minMaxValue[2]), minMaxValue[3])`;"sum"===t?l="sumValue":"prod"===t?l="prodValue":"all"===t?l="allValue":"any"===t&&(l="anyValue");const u=4*Math.floor(n/4),c=n%4;let d=`\n if (${"sum"===t}) {\n sumValue += dot(values, ones);\n } else if (${"prod"===t}) {\n vec2 tmp = vec2(values[0], values[1]) * vec2(values[2], values[3]);\n prodValue *= tmp[0] * tmp[1];\n } else {\n minMaxValue = ${a}(values, minMaxValue);\n if (${"min"===t} || ${"max"===t}) {\n minMaxValue = ${a}(values, minMaxValue);\n bvec4 isNaN = isnan(values);\n if (isNaN.r || isNaN.g || isNaN.b || isNaN.a) {\n minMaxValue = vec4(NAN);\n }\n }\n }\n `,h="vec4";"all"===t?(o="1.0",d="\n bool reducedAllValue = all(values);\n float floatedReducedAllValue = float(reducedAllValue);\n allValue = float(allValue >= 1.0 && floatedReducedAllValue >= 1.0);\n ",h="bvec4"):"any"===t&&(o="0.0",d="\n bool reducedAnyValue = any(values);\n float floatedReducedAnyValue = float(reducedAnyValue);\n anyValue = float(anyValue >= 1.0 || floatedReducedAnyValue >= 1.0);\n ",h="bvec4");let p="";r%n>0&&(p=`\n if (inIdx < 0 || inIdx >= ${r}) {\n return initializationValue;\n }\n `),this.userCode=`\n const float initializationValue = ${o};\n const vec4 ones = vec4(1.0, 1.0, 1.0, 1.0);\n\n float getValue(int batch, int inIdx) {\n ${p}\n return getX(batch, inIdx);\n }\n\n void main() {\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n int outIdx = coords[1];\n int inOffset = outIdx * ${n};\n\n vec4 minMaxValue = vec4(${o});\n float prodValue = 1.0;\n float sumValue = 0.0;\n float allValue = 1.0;\n float anyValue = 0.0;\n\n for (int i = 0; i < ${u}; i += 4) {\n int inIdx = inOffset + i;\n ${h} values = ${h}(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n getValue(batch, inIdx + 2),\n getValue(batch, inIdx + 3)\n );\n\n ${d}\n }\n\n int inIdx = inOffset + ${u};\n if (${1===c}) {\n ${h} values = ${h}(\n getValue(batch, inIdx),\n initializationValue,\n initializationValue,\n initializationValue\n );\n\n ${d}\n } else if (${2===c}) {\n ${h} values = ${h}(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n initializationValue,\n initializationValue\n );\n\n ${d}\n } else if (${3===c}) {\n ${h} values = ${h}(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n getValue(batch, inIdx + 2),\n initializationValue\n );\n\n ${d}\n }\n setOutput(${l});\n }\n `}}function vye(e,t,n,i){const r= /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -15441,7 +15441,7 @@ class hye{constructor(e,t){this.variableNames=["x"];const{windowSize:n,batchSize * limitations under the License. * ============================================================================= */ -function(e){const t=[];for(;0===t.length||1!==t[t.length-1].outSize;){const n=t.length?t[t.length-1].outSize:e[1],i=p3.backend_util.computeOptimalWindowSize(n);t.push({inSize:n,windowSize:i,outSize:Math.ceil(n/i)})}return t}(e.shape);let s=e;for(let o=0;o6)throw Error(`Transpose for rank ${t} is not yet supported`);const n=["resRC.x","resRC.y","resRC.z","resRC.w","resRC.u","resRC.v"],i=new Array(t);for(let t=0;t6)throw Error(`Transpose for rank ${t} is not yet supported`);const n=["resRC.x","resRC.y","resRC.z","resRC.w","resRC.u","resRC.v"],i=new Array(t);for(let t=0;t6)throw Error(`Packed transpose for rank ${this.rank} is not yet supported.`);const i=Pme(this.rank),r=m_e("rc",this.rank),s=new Array(this.rank);for(let e=0;e6)throw Error(`Packed transpose for rank ${this.rank} is not yet supported.`);const i=jme(this.rank),r=T_e("rc",this.rank),s=new Array(this.rank);for(let e=0;e`Error in matMul: inner shapes (${d}) and (${h}) of Tensors with shapes ${e.shape} and ${t.shape} and transposeA=${n} and transposeB=${i} must match.`);const b=n?[_,d,p]:[_,p,d],T=i?[y,f,h]:[y,h,f],x=uye({inputs:{x:e},backend:r,attrs:{shape:b}}),E=uye({inputs:{x:t},backend:r,attrs:{shape:T}}),w=[x,E],I=Math.max(_,y),A=n?x.shape[1]:x.shape[2],S=null!=s,C=null!=o,O="leakyrelu"===l,M=null!=l?tye(l,!0):null;let k;if((1===p||1===f)&&A>1e3&&!1===(S||C||O||null!=M)){let e=x,t=E;n&&(e=vye({inputs:{x},backend:r,attrs:{perm:[0,2,1]}}),w.push(e)),i&&(t=vye({inputs:{x:E},backend:r,attrs:{perm:[0,2,1]}}),w.push(t));const s=1===f;let o=e;1!==f&&(o=uye({inputs:{x:e},backend:r,attrs:{shape:[I,A,1]}}),w.push(o));const a=1===f?2:1;let l=t;s&&(l=uye({inputs:{x:t},backend:r,attrs:{shape:[I,1,A]}}),w.push(l));const u=aye({inputs:{a:o,b:l},backend:r});k=_ye({inputs:{x:u},backend:r,attrs:{axis:a,keepDims:!0}}),w.push(u)}else{const l=(0,p3.upcastType)(e.dtype,t.dtype),u=new nye(b,T,[I,p,f],n,i,S,M,C,O),c=[x,E];if(null!=s&&c.push(s),C&&c.push(o),O){const e=r.makeTensorInfo([],"float32",p3.util.createScalarValue(a,"float32"));c.push(e),w.push(e)}k=r.runWebGLProgram(u,c,l)}const R=uye({inputs:{x:k},backend:r,attrs:{shape:v}});w.push(k);for(const e of w)r.disposeIntermediateTensorInfo(e);return R}const xye={kernelName:p3._FusedMatMul,backendName:"webgl",kernelFunc: +function Iye(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{perm:s}=i,o=n,a=r.shape.length,l=new Array(a);for(let e=0;e`Error in matMul: inner shapes (${d}) and (${h}) of Tensors with shapes ${e.shape} and ${t.shape} and transposeA=${n} and transposeB=${i} must match.`);const b=n?[_,d,p]:[_,p,d],T=i?[y,f,h]:[y,h,f],x=mye({inputs:{x:e},backend:r,attrs:{shape:b}}),E=mye({inputs:{x:t},backend:r,attrs:{shape:T}}),w=[x,E],I=Math.max(_,y),A=n?x.shape[1]:x.shape[2],S=null!=s,C=null!=o,O="leakyrelu"===l,M=null!=l?aye(l,!0):null;let k;if((1===p||1===f)&&A>1e3&&!1===(S||C||O||null!=M)){let e=x,t=E;n&&(e=Iye({inputs:{x},backend:r,attrs:{perm:[0,2,1]}}),w.push(e)),i&&(t=Iye({inputs:{x:E},backend:r,attrs:{perm:[0,2,1]}}),w.push(t));const s=1===f;let o=e;1!==f&&(o=mye({inputs:{x:e},backend:r,attrs:{shape:[I,A,1]}}),w.push(o));const a=1===f?2:1;let l=t;s&&(l=mye({inputs:{x:t},backend:r,attrs:{shape:[I,1,A]}}),w.push(l));const u=pye({inputs:{a:o,b:l},backend:r});k=Eye({inputs:{x:u},backend:r,attrs:{axis:a,keepDims:!0}}),w.push(u)}else{const l=(0,v3.upcastType)(e.dtype,t.dtype),u=new lye(b,T,[I,p,f],n,i,S,M,C,O),c=[x,E];if(null!=s&&c.push(s),C&&c.push(o),O){const e=r.makeTensorInfo([],"float32",v3.util.createScalarValue(a,"float32"));c.push(e),w.push(e)}k=r.runWebGLProgram(u,c,l)}const R=mye({inputs:{x:k},backend:r,attrs:{shape:v}});w.push(k);for(const e of w)r.disposeIntermediateTensorInfo(e);return R}const Cye={kernelName:v3._FusedMatMul,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -15560,7 +15560,7 @@ function vye(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{perm:s}=i,o=n,a=r.s * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{a:r,b:s,bias:o,preluActivationWeights:a}=t,{transposeA:l,transposeB:u,activation:c,leakyreluAlpha:d}=i;return Tye({a:r,b:s,transposeA:l,transposeB:u,backend:n,bias:o,preluActivationWeights:a,leakyreluAlpha:d,activation:c})}},Eye="return abs(x);";const wye={kernelName:p3.Abs,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n}=e,{x:i}=t;if(n.shouldExecuteOnCPU([i])&&"complex64"!==i.dtype){const e=n.texData.get(i.dataId),t=Jge(e.values);return n.makeTensorInfo(i.shape,i.dtype,t)}let r;return r=(0,p3.env)().getBool("WEBGL_PACK_UNARY_OPERATIONS")?new O_e(i.shape,Eye):new E_e(i.shape,Eye),n.runWebGLProgram(r,[i],i.dtype)}},Iye=J_e({opSnippet:w_e+"\n if (abs(x) > 1.) {\n return NAN;\n }\n return acos(x);\n"}),Aye={kernelName:p3.Acos,backendName:"webgl",kernelFunc:Iye},Sye=J_e({opSnippet:w_e+"\n if (x < 1.0) return NAN;\nreturn log(x + sqrt(x * x - 1.0));"}),Cye={kernelName:p3.Acosh,backendName:"webgl",kernelFunc:Sye},Oye="return a + b;",Mye=eye({opSnippet:Oye,packedOpSnippet:Oye,supportsComplex:!0,cpuKernelImpl:bge}),kye={kernelName:p3.Add,backendName:"webgl",kernelFunc:Mye}; +function(e){const{inputs:t,backend:n,attrs:i}=e,{a:r,b:s,bias:o,preluActivationWeights:a}=t,{transposeA:l,transposeB:u,activation:c,leakyreluAlpha:d}=i;return Sye({a:r,b:s,transposeA:l,transposeB:u,backend:n,bias:o,preluActivationWeights:a,leakyreluAlpha:d,activation:c})}},Oye="return abs(x);";const Mye={kernelName:v3.Abs,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n}=e,{x:i}=t;if(n.shouldExecuteOnCPU([i])&&"complex64"!==i.dtype){const e=n.texData.get(i.dataId),t=s_e(e.values);return n.makeTensorInfo(i.shape,i.dtype,t)}let r;return r=(0,v3.env)().getBool("WEBGL_PACK_UNARY_OPERATIONS")?new F_e(i.shape,Oye):new O_e(i.shape,Oye),n.runWebGLProgram(r,[i],i.dtype)}},kye=sye({opSnippet:M_e+"\n if (abs(x) > 1.) {\n return NAN;\n }\n return acos(x);\n"}),Rye={kernelName:v3.Acos,backendName:"webgl",kernelFunc:kye},Nye=sye({opSnippet:M_e+"\n if (x < 1.0) return NAN;\nreturn log(x + sqrt(x * x - 1.0));"}),Dye={kernelName:v3.Acosh,backendName:"webgl",kernelFunc:Nye},Fye="return a + b;",Lye=oye({opSnippet:Fye,packedOpSnippet:Fye,supportsComplex:!0,cpuKernelImpl:Age}),Pye={kernelName:v3.Add,backendName:"webgl",kernelFunc:Lye}; /** * @license * Copyright 2019 Google LLC. All Rights Reserved. @@ -15577,7 +15577,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{a:r,b:s,bias:o,preluActivationW * limitations under the License. * ============================================================================= */ -class Rye{constructor(e,t){this.outputShape=[],this.outputShape=e,this.variableNames=t.map((e,t)=>`T${t}`);const n=[];this.variableNames.forEach(e=>{n.push(`float v${e} = get${e}AtOutCoords();`)});const i=this.variableNames.map(e=>`v${e}`).join(" + ");this.userCode=`\n void main() {\n ${n.join("\n ")}\n\n float result = ${i};\n setOutput(result);\n }\n `}} +class Bye{constructor(e,t){this.outputShape=[],this.outputShape=e,this.variableNames=t.map((e,t)=>`T${t}`);const n=[];this.variableNames.forEach(e=>{n.push(`float v${e} = get${e}AtOutCoords();`)});const i=this.variableNames.map(e=>`v${e}`).join(" + ");this.userCode=`\n void main() {\n ${n.join("\n ")}\n\n float result = ${i};\n setOutput(result);\n }\n `}} /** * @license * Copyright 2019 Google LLC. All Rights Reserved. @@ -15594,7 +15594,7 @@ class Rye{constructor(e,t){this.outputShape=[],this.outputShape=e,this.variableN * limitations under the License. * ============================================================================= */ -class Nye{constructor(e,t){this.outputShape=[],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=e,this.variableNames=t.map((e,t)=>`T${t}`);const n=[];this.variableNames.forEach(e=>{n.push(`vec4 v${e} = get${e}AtOutCoords();`)});const i=this.variableNames.map(e=>`v${e}`).join(" + ");this.userCode=`\n void main() {\n ${n.join("\n ")}\n\n vec4 result = ${i};\n setOutput(result);\n }\n `}}const Dye={kernelName:p3.AddN,backendName:"webgl",kernelFunc: +class $ye{constructor(e,t){this.outputShape=[],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=e,this.variableNames=t.map((e,t)=>`T${t}`);const n=[];this.variableNames.forEach(e=>{n.push(`vec4 v${e} = get${e}AtOutCoords();`)});const i=this.variableNames.map(e=>`v${e}`).join(" + ");this.userCode=`\n void main() {\n ${n.join("\n ")}\n\n vec4 result = ${i};\n setOutput(result);\n }\n `}}const Uye={kernelName:v3.AddN,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -15611,7 +15611,7 @@ class Nye{constructor(e,t){this.outputShape=[],this.packedInputs=!0,this.packedO * limitations under the License. * ============================================================================= */ -function e(t){const{inputs:n,backend:i}=t,r=n;if(1===r.length)return z_e({inputs:{x:r[0]},backend:i});if(r.length>(0,p3.env)().getNumber("WEBGL_MAX_TEXTURES_IN_SHADER")){const t=Math.floor(r.length/2),n=e({inputs:r.slice(0,t),backend:i}),s=e({inputs:r.slice(t),backend:i});return e({inputs:[n,s],backend:i})}const s=r.map(e=>e.dtype).reduce((e,t)=>(0,p3.upcastType)(e,t)),o=r.map(e=>e.shape),a=(0,p3.env)().getBool("WEBGL_PACK")?new Nye(r[0].shape,o):new Rye(r[0].shape,o);return i.runWebGLProgram(a,r,s)}};const Fye={kernelName:p3.All,backendName:"webgl",kernelFunc: +function e(t){const{inputs:n,backend:i}=t,r=n;if(1===r.length)return X_e({inputs:{x:r[0]},backend:i});if(r.length>(0,v3.env)().getNumber("WEBGL_MAX_TEXTURES_IN_SHADER")){const t=Math.floor(r.length/2),n=e({inputs:r.slice(0,t),backend:i}),s=e({inputs:r.slice(t),backend:i});return e({inputs:[n,s],backend:i})}const s=r.map(e=>e.dtype).reduce((e,t)=>(0,v3.upcastType)(e,t)),o=r.map(e=>e.shape),a=(0,v3.env)().getBool("WEBGL_PACK")?new $ye(r[0].shape,o):new Bye(r[0].shape,o);return i.runWebGLProgram(a,r,s)}};const Vye={kernelName:v3.All,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -15628,7 +15628,7 @@ function e(t){const{inputs:n,backend:i}=t,r=n;if(1===r.length)return z_e({inputs * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{axis:s,keepDims:o}=i,a=r.shape.length,l=p3.util.parseAxisParam(s,r.shape);let u=l;const c=p3.backend_util.getAxesPermutation(u,a);let d=r;null!=c&&(d=vye({inputs:{x:r},backend:n,attrs:{perm:c}}),u=p3.backend_util.getInnerMostAxes(u.length,a)),p3.backend_util.assertAxesAreInnerMostDims("all",u,a);const[h,p]=p3.backend_util.computeOutAndReduceShapes(d.shape,u),f=uye({inputs:{x:d},backend:n,attrs:{shape:[-1,p3.util.sizeFromShape(p)]}}),m=pye(f,f.dtype,"all",n);let g;if(o){g=uye({inputs:{x:m},backend:n,attrs:{shape:p3.backend_util.expandShapeToKeepDim(h,l)}})}else g=uye({inputs:{x:m},backend:n,attrs:{shape:h}});return n.disposeIntermediateTensorInfo(f),n.disposeIntermediateTensorInfo(m),null!=c&&n.disposeIntermediateTensorInfo(d),g}};const Lye={kernelName:p3.Any,backendName:"webgl",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{axis:s,keepDims:o}=i,a=r.shape.length,l=v3.util.parseAxisParam(s,r.shape);let u=l;const c=v3.backend_util.getAxesPermutation(u,a);let d=r;null!=c&&(d=Iye({inputs:{x:r},backend:n,attrs:{perm:c}}),u=v3.backend_util.getInnerMostAxes(u.length,a)),v3.backend_util.assertAxesAreInnerMostDims("all",u,a);const[h,p]=v3.backend_util.computeOutAndReduceShapes(d.shape,u),f=mye({inputs:{x:d},backend:n,attrs:{shape:[-1,v3.util.sizeFromShape(p)]}}),m=vye(f,f.dtype,"all",n);let g;if(o){g=mye({inputs:{x:m},backend:n,attrs:{shape:v3.backend_util.expandShapeToKeepDim(h,l)}})}else g=mye({inputs:{x:m},backend:n,attrs:{shape:h}});return n.disposeIntermediateTensorInfo(f),n.disposeIntermediateTensorInfo(m),null!=c&&n.disposeIntermediateTensorInfo(d),g}};const zye={kernelName:v3.Any,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -15645,7 +15645,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{axis:s,keepDims:o}=i,a= * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{axis:s,keepDims:o}=i,a=r.shape.length,l=p3.util.parseAxisParam(s,r.shape);let u=l;const c=p3.backend_util.getAxesPermutation(u,a);let d=r;null!=c&&(d=vye({inputs:{x:r},backend:n,attrs:{perm:c}}),u=p3.backend_util.getInnerMostAxes(u.length,a)),p3.backend_util.assertAxesAreInnerMostDims("any",u,a);const[h,p]=p3.backend_util.computeOutAndReduceShapes(d.shape,u),f=uye({inputs:{x:d},backend:n,attrs:{shape:[-1,p3.util.sizeFromShape(p)]}}),m=pye(f,f.dtype,"any",n);let g;if(o){g=uye({inputs:{x:m},backend:n,attrs:{shape:p3.backend_util.expandShapeToKeepDim(h,l)}})}else g=uye({inputs:{x:m},backend:n,attrs:{shape:h}});return n.disposeIntermediateTensorInfo(f),n.disposeIntermediateTensorInfo(m),null!=c&&n.disposeIntermediateTensorInfo(d),g}}; +function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{axis:s,keepDims:o}=i,a=r.shape.length,l=v3.util.parseAxisParam(s,r.shape);let u=l;const c=v3.backend_util.getAxesPermutation(u,a);let d=r;null!=c&&(d=Iye({inputs:{x:r},backend:n,attrs:{perm:c}}),u=v3.backend_util.getInnerMostAxes(u.length,a)),v3.backend_util.assertAxesAreInnerMostDims("any",u,a);const[h,p]=v3.backend_util.computeOutAndReduceShapes(d.shape,u),f=mye({inputs:{x:d},backend:n,attrs:{shape:[-1,v3.util.sizeFromShape(p)]}}),m=vye(f,f.dtype,"any",n);let g;if(o){g=mye({inputs:{x:m},backend:n,attrs:{shape:v3.backend_util.expandShapeToKeepDim(h,l)}})}else g=mye({inputs:{x:m},backend:n,attrs:{shape:h}});return n.disposeIntermediateTensorInfo(f),n.disposeIntermediateTensorInfo(m),null!=c&&n.disposeIntermediateTensorInfo(d),g}}; /** * @license * Copyright 2017 Google LLC. All Rights Reserved. @@ -15662,7 +15662,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{axis:s,keepDims:o}=i,a= * limitations under the License. * ============================================================================= */ -class Pye{constructor(e,t,n){this.variableNames=["A"];const{windowSize:i,batchSize:r,outSize:s}=e;n||this.variableNames.push("bestIndicesA"),this.outputShape=[r,s];const o="max"===t?">":"<",a=n?"inOffset + i;":"round(getBestIndicesA(batch, inOffset + i));";this.userCode=`\n void main() {\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n int outIdx = coords[1];\n int inOffset = outIdx * ${i};\n\n int bestIndex = inOffset;\n float bestValue = getA(batch, bestIndex);\n\n for (int i = 0; i < ${i}; i++) {\n int inIdx = ${a};\n float candidate = getA(batch, inIdx);\n if (candidate ${o} bestValue) {\n bestValue = candidate;\n bestIndex = inIdx;\n }\n }\n setOutput(float(bestIndex));\n }\n `}} +class jye{constructor(e,t,n){this.variableNames=["A"];const{windowSize:i,batchSize:r,outSize:s}=e;n||this.variableNames.push("bestIndicesA"),this.outputShape=[r,s];const o="max"===t?">":"<",a=n?"inOffset + i;":"round(getBestIndicesA(batch, inOffset + i));";this.userCode=`\n void main() {\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n int outIdx = coords[1];\n int inOffset = outIdx * ${i};\n\n int bestIndex = inOffset;\n float bestValue = getA(batch, bestIndex);\n\n for (int i = 0; i < ${i}; i++) {\n int inIdx = ${a};\n float candidate = getA(batch, inIdx);\n if (candidate ${o} bestValue) {\n bestValue = candidate;\n bestIndex = inIdx;\n }\n }\n setOutput(float(bestIndex));\n }\n `}} /** * @license * Copyright 2019 Google LLC. All Rights Reserved. @@ -15679,7 +15679,7 @@ class Pye{constructor(e,t,n){this.variableNames=["A"];const{windowSize:i,batchSi * limitations under the License. * ============================================================================= */ -class Bye{constructor(e,t,n,i){this.variableNames=["A"],this.packedInputs=!0,this.packedOutput=!0,p3.util.assert(e.length>2,()=>`Packed arg${n.charAt(0).toUpperCase()+n.slice(1)} supports only inputs with rank above 2.`);const r=e[e.length-1],s=Math.ceil(r/t);this.outputShape=e.slice(0,-1),s>1&&this.outputShape.push(s),i||this.variableNames.push("bestIndicesA");const o=this.outputShape,a=o.length,l=Pme(a),u=g_e("coords",a);let c,d;if(1===s){d=a+1;const e=Pme(d);c=`\n ${e} sourceLocR = ${e}(${u.join()}, 0);\n ++${u[a-1]};\n ${e} sourceLocG = ${e}(${u.join()}, 0);\n ++${u[a-2]};\n ${e} sourceLocA = ${e}(${u.join()}, 0);\n --${u[a-1]};\n ${e} sourceLocB = ${e}(${u.join()}, 0);\n --${u[a-2]};`}else d=a,c=`\n ${l} sourceLocR = coords;\n ++${u[a-1]};\n ${l} sourceLocG = coords;\n ++${u[a-2]};\n ${l} sourceLocA = coords;\n --${u[a-1]};\n ${l} sourceLocB = coords;\n --${u[a-2]};`;const h=["x","y","z","w","u","v"].slice(0,d),p="."+h[d-1],f=h.map(e=>"int "+e),m=g_e("sourceLocR",d-1).concat("inIdx.r"),g=g_e("sourceLocG",d-1).concat("inIdx.g"),_=g_e("sourceLocB",d-1).concat("inIdx.b"),y=g_e("sourceLocA",d-1).concat("inIdx.a"),v="max"===n?"greaterThan":"lessThan",b=i?"":`\n inIdx = round(vec4(getBestIndicesAChannel(${m.join()}),\n getBestIndicesAChannel(${g.join()}),\n getBestIndicesAChannel(${_.join()}),\n getBestIndicesAChannel(${y.join()})));`,T=`vec4(\n getAChannel(${m.join()}),\n hasNextCol ? getAChannel(${g.join()}) : 0.,\n hasNextRow ? getAChannel(${_.join()}) : 0.,\n hasNextRow && hasNextCol ? getAChannel(${y.join()}) : 0.)`,x=i?"":`\n float getBestIndicesAChannel(${f.join()}) {\n return getChannel(getBestIndicesA(${h.join()}),\n vec2(${h.slice(-2).join()}));\n }`;this.userCode=`\n float getAChannel(${f.join()}) {\n return getChannel(getA(${h.join()}),\n vec2(${h.slice(-2).join()}));\n }\n ${x}\n void main() {\n ${l} coords = getOutputCoords();\n bool hasNextCol = ${u[a-1]} < ${o[a-1]-1};\n bool hasNextRow = ${u[a-2]} < ${o[a-2]-1};\n ${c}\n ivec4 srcIdx = ivec4(sourceLocR${p}, sourceLocG${p},\n sourceLocB${p}, sourceLocA${p}) * ${t};\n ivec4 inIdx = srcIdx;\n vec4 bestIndex = vec4(inIdx);\n vec4 bestValue = ${T};\n\n for (int i = 0; i < ${t}; i++) {\n inIdx = srcIdx;\n ${b}\n vec4 candidate = ${T};\n bvec4 nan = isnan(candidate);\n bvec4 replace = bvec4(\n vec4(${v}(candidate, bestValue)) * (vec4(1.0) - vec4(nan)));\n\n bestValue = vec4(replace.x ? candidate.x : bestValue.x,\n replace.y ? candidate.y : bestValue.y,\n replace.z ? candidate.z : bestValue.z,\n replace.w ? candidate.w : bestValue.w);\n bestIndex = mix(bestIndex, vec4(inIdx), vec4(replace));\n srcIdx++;\n }\n setOutput(bestIndex);\n }\n `}} +class Yye{constructor(e,t,n,i){this.variableNames=["A"],this.packedInputs=!0,this.packedOutput=!0,v3.util.assert(e.length>2,()=>`Packed arg${n.charAt(0).toUpperCase()+n.slice(1)} supports only inputs with rank above 2.`);const r=e[e.length-1],s=Math.ceil(r/t);this.outputShape=e.slice(0,-1),s>1&&this.outputShape.push(s),i||this.variableNames.push("bestIndicesA");const o=this.outputShape,a=o.length,l=jme(a),u=x_e("coords",a);let c,d;if(1===s){d=a+1;const e=jme(d);c=`\n ${e} sourceLocR = ${e}(${u.join()}, 0);\n ++${u[a-1]};\n ${e} sourceLocG = ${e}(${u.join()}, 0);\n ++${u[a-2]};\n ${e} sourceLocA = ${e}(${u.join()}, 0);\n --${u[a-1]};\n ${e} sourceLocB = ${e}(${u.join()}, 0);\n --${u[a-2]};`}else d=a,c=`\n ${l} sourceLocR = coords;\n ++${u[a-1]};\n ${l} sourceLocG = coords;\n ++${u[a-2]};\n ${l} sourceLocA = coords;\n --${u[a-1]};\n ${l} sourceLocB = coords;\n --${u[a-2]};`;const h=["x","y","z","w","u","v"].slice(0,d),p="."+h[d-1],f=h.map(e=>"int "+e),m=x_e("sourceLocR",d-1).concat("inIdx.r"),g=x_e("sourceLocG",d-1).concat("inIdx.g"),_=x_e("sourceLocB",d-1).concat("inIdx.b"),y=x_e("sourceLocA",d-1).concat("inIdx.a"),v="max"===n?"greaterThan":"lessThan",b=i?"":`\n inIdx = round(vec4(getBestIndicesAChannel(${m.join()}),\n getBestIndicesAChannel(${g.join()}),\n getBestIndicesAChannel(${_.join()}),\n getBestIndicesAChannel(${y.join()})));`,T=`vec4(\n getAChannel(${m.join()}),\n hasNextCol ? getAChannel(${g.join()}) : 0.,\n hasNextRow ? getAChannel(${_.join()}) : 0.,\n hasNextRow && hasNextCol ? getAChannel(${y.join()}) : 0.)`,x=i?"":`\n float getBestIndicesAChannel(${f.join()}) {\n return getChannel(getBestIndicesA(${h.join()}),\n vec2(${h.slice(-2).join()}));\n }`;this.userCode=`\n float getAChannel(${f.join()}) {\n return getChannel(getA(${h.join()}),\n vec2(${h.slice(-2).join()}));\n }\n ${x}\n void main() {\n ${l} coords = getOutputCoords();\n bool hasNextCol = ${u[a-1]} < ${o[a-1]-1};\n bool hasNextRow = ${u[a-2]} < ${o[a-2]-1};\n ${c}\n ivec4 srcIdx = ivec4(sourceLocR${p}, sourceLocG${p},\n sourceLocB${p}, sourceLocA${p}) * ${t};\n ivec4 inIdx = srcIdx;\n vec4 bestIndex = vec4(inIdx);\n vec4 bestValue = ${T};\n\n for (int i = 0; i < ${t}; i++) {\n inIdx = srcIdx;\n ${b}\n vec4 candidate = ${T};\n bvec4 nan = isnan(candidate);\n bvec4 replace = bvec4(\n vec4(${v}(candidate, bestValue)) * (vec4(1.0) - vec4(nan)));\n\n bestValue = vec4(replace.x ? candidate.x : bestValue.x,\n replace.y ? candidate.y : bestValue.y,\n replace.z ? candidate.z : bestValue.z,\n replace.w ? candidate.w : bestValue.w);\n bestIndex = mix(bestIndex, vec4(inIdx), vec4(replace));\n srcIdx++;\n }\n setOutput(bestIndex);\n }\n `}} /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -15696,7 +15696,7 @@ class Bye{constructor(e,t,n,i){this.variableNames=["A"],this.packedInputs=!0,thi * limitations under the License. * ============================================================================= */ -function $ye(e,t,n,i=null){let r=t.shape[0],s=t.shape[1];null!=i&&(r=i.shape[0],s=i.shape[1]);const o=p3.backend_util.computeOptimalWindowSize(s),a={windowSize:o,inSize:s,batchSize:r,outSize:Math.ceil(s/o)},l=new Pye(a,n,null==i),u=[t];null!=i&&u.push(i);const c=e.runWebGLProgram(l,u,"int32");if(1===c.shape[1])return c;const d=$ye(e,t,n,c);return e.disposeIntermediateTensorInfo(c),d}function Uye(e,t,n,i=null){const r=null!=i?i.shape:t.shape,s=r[r.length-1],o=p3.backend_util.computeOptimalWindowSize(s),a=new Bye(r,o,n,null==i),l=null==i?[t]:[t,i],u=e.runWebGLProgram(a,l,"int32");if(u.shape.length===t.shape.length){const i=Uye(e,t,n,u);return e.disposeIntermediateTensorInfo(u),i}return u}function Vye(e,t,n,i){const r=[n];if(p3.backend_util.assertAxesAreInnerMostDims("arg"+i.charAt(0).toUpperCase()+i.slice(1),r,t.shape.length),!(0,p3.env)().getBool("WEBGL_PACK_REDUCE")||t.shape.length<=2){const n=[],s=e.texData.get(t.dataId);let o=t;null!==s&&s.isPacked&&(o=e.unpackTensor(t),n.push(o));const[a,l]=p3.backend_util.computeOutAndReduceShapes(o.shape,r),u=p3.util.sizeFromShape(l),c=uye({inputs:{x:o},backend:e,attrs:{shape:[-1,u]}});n.push(c);const d=$ye(e,c,i);n.push(d);const h=uye({inputs:{x:d},backend:e,attrs:{shape:a}});return n.forEach(t=>e.disposeIntermediateTensorInfo(t)),h}return Uye(e,t,i)}const zye={kernelName:p3.ArgMax,backendName:"webgl",kernelFunc: +function Gye(e,t,n,i=null){let r=t.shape[0],s=t.shape[1];null!=i&&(r=i.shape[0],s=i.shape[1]);const o=v3.backend_util.computeOptimalWindowSize(s),a={windowSize:o,inSize:s,batchSize:r,outSize:Math.ceil(s/o)},l=new jye(a,n,null==i),u=[t];null!=i&&u.push(i);const c=e.runWebGLProgram(l,u,"int32");if(1===c.shape[1])return c;const d=Gye(e,t,n,c);return e.disposeIntermediateTensorInfo(c),d}function Hye(e,t,n,i=null){const r=null!=i?i.shape:t.shape,s=r[r.length-1],o=v3.backend_util.computeOptimalWindowSize(s),a=new Yye(r,o,n,null==i),l=null==i?[t]:[t,i],u=e.runWebGLProgram(a,l,"int32");if(u.shape.length===t.shape.length){const i=Hye(e,t,n,u);return e.disposeIntermediateTensorInfo(u),i}return u}function Wye(e,t,n,i){const r=[n];if(v3.backend_util.assertAxesAreInnerMostDims("arg"+i.charAt(0).toUpperCase()+i.slice(1),r,t.shape.length),!(0,v3.env)().getBool("WEBGL_PACK_REDUCE")||t.shape.length<=2){const n=[],s=e.texData.get(t.dataId);let o=t;null!==s&&s.isPacked&&(o=e.unpackTensor(t),n.push(o));const[a,l]=v3.backend_util.computeOutAndReduceShapes(o.shape,r),u=v3.util.sizeFromShape(l),c=mye({inputs:{x:o},backend:e,attrs:{shape:[-1,u]}});n.push(c);const d=Gye(e,c,i);n.push(d);const h=mye({inputs:{x:d},backend:e,attrs:{shape:a}});return n.forEach(t=>e.disposeIntermediateTensorInfo(t)),h}return Hye(e,t,i)}const Xye={kernelName:v3.ArgMax,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -15713,7 +15713,7 @@ function $ye(e,t,n,i=null){let r=t.shape[0],s=t.shape[1];null!=i&&(r=i.shape[0], * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{axis:s}=i;let o=p3.util.parseAxisParam(s,r.shape);const a=p3.backend_util.getAxesPermutation(o,r.shape.length);let l=r;const u=[];null!=a&&(l=vye({inputs:{x:r},backend:n,attrs:{perm:a}}),u.push(l),o=p3.backend_util.getInnerMostAxes(o.length,l.shape.length)),p3.backend_util.assertAxesAreInnerMostDims("argMax",[o[0]],l.shape.length);const c=Vye(n,l,o[0],"max");return u.forEach(e=>n.disposeIntermediateTensorInfo(e)),c}};const jye={kernelName:p3.ArgMin,backendName:"webgl",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{axis:s}=i;let o=v3.util.parseAxisParam(s,r.shape);const a=v3.backend_util.getAxesPermutation(o,r.shape.length);let l=r;const u=[];null!=a&&(l=Iye({inputs:{x:r},backend:n,attrs:{perm:a}}),u.push(l),o=v3.backend_util.getInnerMostAxes(o.length,l.shape.length)),v3.backend_util.assertAxesAreInnerMostDims("argMax",[o[0]],l.shape.length);const c=Wye(n,l,o[0],"max");return u.forEach(e=>n.disposeIntermediateTensorInfo(e)),c}};const qye={kernelName:v3.ArgMin,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -15730,7 +15730,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{axis:s}=i;let o=p3.util * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{axis:s}=i;let o=p3.util.parseAxisParam(s,r.shape);const a=p3.backend_util.getAxesPermutation(o,r.shape.length);let l=r;const u=[];null!=a&&(l=vye({inputs:{x:r},backend:n,attrs:{perm:a}}),u.push(l),o=p3.backend_util.getInnerMostAxes(o.length,l.shape.length)),p3.backend_util.assertAxesAreInnerMostDims("argMin",[o[0]],l.shape.length);const c=Vye(n,l,o[0],"min");return u.forEach(e=>n.disposeIntermediateTensorInfo(e)),c}},Yye=J_e({opSnippet:w_e+"\n if (abs(x) > 1.) {\n return NAN;\n }\n return asin(x);\n"}),Gye={kernelName:p3.Asin,backendName:"webgl",kernelFunc:Yye},Hye=J_e({opSnippet:w_e+"return log(x + sqrt(x * x + 1.0));"}),Wye={kernelName:p3.Asinh,backendName:"webgl",kernelFunc:Hye},Xye=J_e({opSnippet:w_e+"\n return atan(x);\n"}),qye={kernelName:p3.Atan,backendName:"webgl",kernelFunc:Xye},Kye=eye({opSnippet:B_e+"\n return atan(a, b);\n",packedOpSnippet:"\n vec4 result = atan(a, b);\n bvec4 isNaNA = isnan(a);\n bvec4 isNaNB = isnan(b);\n bvec4 isNaN = bvec4(isNaNA.x || isNaNB.x, isNaNA.y || isNaNB.y, isNaNA.z || isNaNB.z, isNaNA.w || isNaNB.w);\n "+U_e+"\n return result;\n"}),Zye={kernelName:p3.Atan2,backendName:"webgl",kernelFunc:Kye},Qye=J_e({opSnippet:w_e+"\n if ((x < -1.0) || (x > 1.0)) return NAN;\nreturn (log(1.0 + x) - log(1.0 - x)) / 2.0;"}),Jye={kernelName:p3.Atanh,backendName:"webgl",kernelFunc:Qye}; +function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{axis:s}=i;let o=v3.util.parseAxisParam(s,r.shape);const a=v3.backend_util.getAxesPermutation(o,r.shape.length);let l=r;const u=[];null!=a&&(l=Iye({inputs:{x:r},backend:n,attrs:{perm:a}}),u.push(l),o=v3.backend_util.getInnerMostAxes(o.length,l.shape.length)),v3.backend_util.assertAxesAreInnerMostDims("argMin",[o[0]],l.shape.length);const c=Wye(n,l,o[0],"min");return u.forEach(e=>n.disposeIntermediateTensorInfo(e)),c}},Kye=sye({opSnippet:M_e+"\n if (abs(x) > 1.) {\n return NAN;\n }\n return asin(x);\n"}),Zye={kernelName:v3.Asin,backendName:"webgl",kernelFunc:Kye},Qye=sye({opSnippet:M_e+"return log(x + sqrt(x * x + 1.0));"}),Jye={kernelName:v3.Asinh,backendName:"webgl",kernelFunc:Qye},eve=sye({opSnippet:M_e+"\n return atan(x);\n"}),tve={kernelName:v3.Atan,backendName:"webgl",kernelFunc:eve},nve=oye({opSnippet:Y_e+"\n return atan(a, b);\n",packedOpSnippet:"\n vec4 result = atan(a, b);\n bvec4 isNaNA = isnan(a);\n bvec4 isNaNB = isnan(b);\n bvec4 isNaN = bvec4(isNaNA.x || isNaNB.x, isNaNA.y || isNaNB.y, isNaNA.z || isNaNB.z, isNaNA.w || isNaNB.w);\n "+H_e+"\n return result;\n"}),ive={kernelName:v3.Atan2,backendName:"webgl",kernelFunc:nve},rve=sye({opSnippet:M_e+"\n if ((x < -1.0) || (x > 1.0)) return NAN;\nreturn (log(1.0 + x) - log(1.0 - x)) / 2.0;"}),sve={kernelName:v3.Atanh,backendName:"webgl",kernelFunc:rve}; /** * @license * Copyright 2017 Google LLC. All Rights Reserved. @@ -15747,7 +15747,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{axis:s}=i;let o=p3.util * limitations under the License. * ============================================================================= */ -class eve{constructor(e,t,n,i=!1,r=!1){if(this.variableNames=["x"],"avg"===t&&n)throw new Error("Cannot compute positions for average pool.");const s=e.filterWidth,o=e.strideHeight,a=e.strideWidth,l=e.dilationHeight,u=e.dilationWidth,c=e.effectiveFilterHeight,d=e.effectiveFilterWidth,h=e.padInfo.top,p=e.padInfo.left;this.outputShape=e.outShape;const f="avg"===t,m=`((batch * ${e.inHeight} + xR) * ${e.inWidth} + xC) * ${e.inChannels} + d`,g=`(xR * ${e.inWidth} + xC) * ${e.inChannels} + d`;let _="0.0";if(f||(_="-1.0 / 1e-20"),n){const t=">=";return void(this.userCode=`\n const ivec2 strides = ivec2(${o}, ${a});\n const ivec2 pads = ivec2(${h}, ${p});\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords[0];\n int d = coords[3];\n\n ivec2 xRCCorner = coords.yz * strides - pads;\n int xRCorner = xRCCorner.x;\n int xCCorner = xRCCorner.y;\n\n // max/min x(?, ?, d) to get y(yR, yC, d).\n // ? = to be determined\n float minMaxValue = 0.0;\n float minMaxValueFound = 0.0;\n int minMaxPosition = 0;\n float avgValue = 0.0;\n\n for (int wR = 0; wR < ${c};\n wR += ${l}) {\n int xR = xRCorner + wR;\n\n if (xR < 0 || xR >= ${e.inHeight}) {\n continue;\n }\n\n for (int wC = 0; wC < ${d};\n wC += ${u}) {\n int xC = xCCorner + wC;\n\n if (xC < 0 || xC >= ${e.inWidth}) {\n continue;\n }\n\n float value = getX(batch, xR, xC, d);\n\n // If a min / max value has already been found, use it. If not,\n // use the current value.\n float currMinMaxValue = mix(\n value, minMaxValue, minMaxValueFound);\n if (value ${t} currMinMaxValue) {\n minMaxValue = value;\n minMaxValueFound = 1.0;\n minMaxPosition = ${i?r?m:g:`wR * ${d} + wC`};\n }\n }\n }\n setOutput(float(minMaxPosition));\n }\n `)}let y=`${t}(${t}(${t}(minMaxValue[0], minMaxValue[1]), minMaxValue[2]), minMaxValue[3])`;"avg"===t&&(y="avgValue / max(count, 1.0)");const v=4*Math.floor(s/4),b=s%4,T=`\n if (${f}) {\n avgValue += dot(values, ones);\n } else {\n minMaxValue = max(values, minMaxValue);\n }\n `;this.userCode=`\n const ivec2 strides = ivec2(${o}, ${a});\n const ivec2 pads = ivec2(${h}, ${p});\n const float initializationValue = ${_};\n const vec4 ones = vec4(1.0, 1.0, 1.0, 1.0);\n\n float count = 0.0;\n\n float getValue(int batch, int xR, int xC, int d) {\n if (xC < 0 || xC >= ${e.inWidth}) {\n return initializationValue;\n }\n count += 1.0;\n return getX(batch, xR, xC, d);\n }\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords[0];\n int d = coords[3];\n\n ivec2 xRCCorner = coords.yz * strides - pads;\n int xRCorner = xRCCorner.x;\n int xCCorner = xRCCorner.y;\n\n // max/min x(?, ?, d) to get y(yR, yC, d).\n // ? = to be determined\n vec4 minMaxValue = vec4(${_});\n float avgValue = 0.0;\n count = 0.0;\n\n for (int wR = 0; wR < ${c};\n wR += ${l}) {\n int xR = xRCorner + wR;\n\n if (xR < 0 || xR >= ${e.inHeight}) {\n continue;\n }\n\n for (int wC = 0; wC < ${v}; wC += 4) {\n int xC = xCCorner + wC * ${u};\n\n vec4 values = vec4(\n getValue(batch, xR, xC, d),\n getValue(batch, xR, xC + ${u}, d),\n getValue(batch, xR, xC + 2 * ${u}, d),\n getValue(batch, xR, xC + 3 * ${u}, d)\n );\n\n ${T}\n }\n\n int xC = xCCorner + ${v};\n if (${1===b}) {\n vec4 values = vec4(\n getValue(batch, xR, xC, d),\n initializationValue,\n initializationValue,\n initializationValue\n );\n\n ${T}\n } else if (${2===b}) {\n vec4 values = vec4(\n getValue(batch, xR, xC, d),\n getValue(batch, xR, xC + ${u}, d),\n initializationValue,\n initializationValue\n );\n\n ${T}\n } else if (${3===b}) {\n vec4 values = vec4(\n getValue(batch, xR, xC, d),\n getValue(batch, xR, xC + ${u}, d),\n getValue(batch, xR, xC + 2 * ${u}, d),\n initializationValue\n );\n\n ${T}\n }\n }\n setOutput(${y});\n }\n `}}class tve{constructor(e,t,n,i=!1,r=!1){if(this.variableNames=["x"],"avg"===t&&n)throw new Error("Cannot compute positions for average pool.");const s=e.filterWidth,o=e.strideDepth,a=e.strideHeight,l=e.strideWidth,u=e.dilationDepth,c=e.dilationHeight,d=e.dilationWidth,h=e.effectiveFilterDepth,p=e.effectiveFilterHeight,f=e.effectiveFilterWidth,m=e.padInfo.front,g=e.padInfo.top,_=e.padInfo.left;this.outputShape=e.outShape;const y="avg"===t;let v="0.0";if(y||(v="-1.0 / 1e-20"),n){const t=">=";return void(this.userCode=`\n const ivec3 strides =\n ivec3(${o}, ${a}, ${l});\n const ivec3 pads = ivec3(${m}, ${g}, ${_});\n\n void main() {\n ivec5 coords = getOutputCoords();\n int batch = coords.x;\n int ch = coords.u;\n\n ivec3 xCorner = ivec3(coords.y, coords.z, coords.w) * strides - pads;\n int xDCorner = xCorner.x;\n int xRCorner = xCorner.y;\n int xCCorner = xCorner.z;\n\n // max/min x(?, ?, ?, ch) to get y(yD, yR, yC, ch).\n // ? = to be determined\n float minMaxValue = 0.0;\n float minMaxValueFound = 0.0;\n int minMaxPosition = 0;\n\n for (int wD = 0; wD < ${h};\n wD += ${u}) {\n int xD = xDCorner + wD;\n\n if (xD < 0 || xD >= ${e.inDepth}) {\n continue;\n }\n\n for (int wR = 0; wR < ${p};\n wR += ${c}) {\n int xR = xRCorner + wR;\n\n if (xR < 0 || xR >= ${e.inHeight}) {\n continue;\n }\n\n for (int wC = 0; wC < ${f};\n wC += ${d}) {\n int xC = xCCorner + wC;\n\n if (xC < 0 || xC >= ${e.inWidth}) {\n continue;\n }\n\n float value = getX(batch, xD, xR, xC, ch);\n\n // If a min / max value has already been found, use it. If not,\n // use the current value.\n float currMinMaxValue = mix(\n value, minMaxValue, minMaxValueFound);\n if (value ${t} currMinMaxValue) {\n minMaxValue = value;\n minMaxValueFound = 1.0;\n minMaxPosition = ${i?r?`(((batch * ${e.inDepth} + xD) * ${e.inHeight} + xR) * ${e.inWidth} + xC) * ${e.inChannels} + ch`:`((xD * ${e.inHeight} + xR) * ${e.inWidth} + xC) * ${e.inChannels} + ch`:`wD * ${p} * ${f} +\n wR * ${f} + wC`};\n }\n }\n }\n }\n setOutput(float(minMaxPosition));\n }\n `)}let b=`${t}(${t}(${t}(minMaxValue[0], minMaxValue[1]), minMaxValue[2]), minMaxValue[3])`;"avg"===t&&(b="avgValue / max(count, 1.0)");const T=4*Math.floor(s/4),x=s%4,E=`\n if (${y}) {\n avgValue += dot(values, ones);\n } else {\n minMaxValue = max(values, minMaxValue);\n }\n `;this.userCode=`\n const ivec3 strides =\n ivec3(${o}, ${a}, ${l});\n const ivec3 pads = ivec3(${m}, ${g}, ${_});\n const float initializationValue = ${v};\n const vec4 ones = vec4(1.0, 1.0, 1.0, 1.0);\n\n float count = 0.0;\n\n float getValue(int batch, int xD, int xR, int xC, int ch) {\n if (xC < 0 || xC >= ${e.inWidth}) {\n return initializationValue;\n }\n count += 1.0;\n return getX(batch, xD, xR, xC, ch);\n }\n\n void main() {\n ivec5 coords = getOutputCoords();\n int batch = coords.x;\n int ch = coords.u;\n\n ivec3 xCorner = ivec3(coords.y, coords.z, coords.w) * strides - pads;\n int xDCorner = xCorner.x;\n int xRCorner = xCorner.y;\n int xCCorner = xCorner.z;\n\n // max/min x(?, ?, ?, d) to get y(yD, yR, yC, ch).\n // ? = to be determined\n vec4 minMaxValue = vec4(${v});\n float avgValue = 0.0;\n count = 0.0;\n\n for (int wD = 0; wD < ${h};\n wD += ${u}) {\n int xD = xDCorner + wD;\n\n if (xD < 0 || xD >= ${e.inDepth}) {\n continue;\n }\n\n for (int wR = 0; wR < ${p};\n wR += ${c}) {\n int xR = xRCorner + wR;\n\n if (xR < 0 || xR >= ${e.inHeight}) {\n continue;\n }\n\n for (int wC = 0; wC < ${T}; wC += 4) {\n int xC = xCCorner + wC * ${d};\n\n vec4 values = vec4(\n getValue(batch, xD, xR, xC, ch),\n getValue(batch, xD, xR, xC + ${d}, ch),\n getValue(batch, xD, xR, xC + 2 * ${d}, ch),\n getValue(batch, xD, xR, xC + 3 * ${d}, ch)\n );\n\n ${E}\n }\n\n int xC = xCCorner + ${T};\n if (${1===x}) {\n vec4 values = vec4(\n getValue(batch, xD, xR, xC, ch),\n initializationValue,\n initializationValue,\n initializationValue\n );\n\n ${E}\n } else if (${2===x}) {\n vec4 values = vec4(\n getValue(batch, xD, xR, xC, ch),\n getValue(batch, xD, xR, xC + ${d}, ch),\n initializationValue,\n initializationValue\n );\n\n ${E}\n } else if (${3===x}) {\n vec4 values = vec4(\n getValue(batch, xD, xR, xC, ch),\n getValue(batch, xD, xR, xC + ${d}, ch),\n getValue(batch, xD, xR, xC + 2 * ${d}, ch),\n initializationValue\n );\n\n ${E}\n }\n }\n }\n setOutput(${b});\n }\n `}}const nve={kernelName:p3.AvgPool,backendName:"webgl",kernelFunc: +class ove{constructor(e,t,n,i=!1,r=!1){if(this.variableNames=["x"],"avg"===t&&n)throw new Error("Cannot compute positions for average pool.");const s=e.filterWidth,o=e.strideHeight,a=e.strideWidth,l=e.dilationHeight,u=e.dilationWidth,c=e.effectiveFilterHeight,d=e.effectiveFilterWidth,h=e.padInfo.top,p=e.padInfo.left;this.outputShape=e.outShape;const f="avg"===t,m=`((batch * ${e.inHeight} + xR) * ${e.inWidth} + xC) * ${e.inChannels} + d`,g=`(xR * ${e.inWidth} + xC) * ${e.inChannels} + d`;let _="0.0";if(f||(_="-1.0 / 1e-20"),n){const t=">=";return void(this.userCode=`\n const ivec2 strides = ivec2(${o}, ${a});\n const ivec2 pads = ivec2(${h}, ${p});\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords[0];\n int d = coords[3];\n\n ivec2 xRCCorner = coords.yz * strides - pads;\n int xRCorner = xRCCorner.x;\n int xCCorner = xRCCorner.y;\n\n // max/min x(?, ?, d) to get y(yR, yC, d).\n // ? = to be determined\n float minMaxValue = 0.0;\n float minMaxValueFound = 0.0;\n int minMaxPosition = 0;\n float avgValue = 0.0;\n\n for (int wR = 0; wR < ${c};\n wR += ${l}) {\n int xR = xRCorner + wR;\n\n if (xR < 0 || xR >= ${e.inHeight}) {\n continue;\n }\n\n for (int wC = 0; wC < ${d};\n wC += ${u}) {\n int xC = xCCorner + wC;\n\n if (xC < 0 || xC >= ${e.inWidth}) {\n continue;\n }\n\n float value = getX(batch, xR, xC, d);\n\n // If a min / max value has already been found, use it. If not,\n // use the current value.\n float currMinMaxValue = mix(\n value, minMaxValue, minMaxValueFound);\n if (value ${t} currMinMaxValue) {\n minMaxValue = value;\n minMaxValueFound = 1.0;\n minMaxPosition = ${i?r?m:g:`wR * ${d} + wC`};\n }\n }\n }\n setOutput(float(minMaxPosition));\n }\n `)}let y=`${t}(${t}(${t}(minMaxValue[0], minMaxValue[1]), minMaxValue[2]), minMaxValue[3])`;"avg"===t&&(y="avgValue / max(count, 1.0)");const v=4*Math.floor(s/4),b=s%4,T=`\n if (${f}) {\n avgValue += dot(values, ones);\n } else {\n minMaxValue = max(values, minMaxValue);\n }\n `;this.userCode=`\n const ivec2 strides = ivec2(${o}, ${a});\n const ivec2 pads = ivec2(${h}, ${p});\n const float initializationValue = ${_};\n const vec4 ones = vec4(1.0, 1.0, 1.0, 1.0);\n\n float count = 0.0;\n\n float getValue(int batch, int xR, int xC, int d) {\n if (xC < 0 || xC >= ${e.inWidth}) {\n return initializationValue;\n }\n count += 1.0;\n return getX(batch, xR, xC, d);\n }\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords[0];\n int d = coords[3];\n\n ivec2 xRCCorner = coords.yz * strides - pads;\n int xRCorner = xRCCorner.x;\n int xCCorner = xRCCorner.y;\n\n // max/min x(?, ?, d) to get y(yR, yC, d).\n // ? = to be determined\n vec4 minMaxValue = vec4(${_});\n float avgValue = 0.0;\n count = 0.0;\n\n for (int wR = 0; wR < ${c};\n wR += ${l}) {\n int xR = xRCorner + wR;\n\n if (xR < 0 || xR >= ${e.inHeight}) {\n continue;\n }\n\n for (int wC = 0; wC < ${v}; wC += 4) {\n int xC = xCCorner + wC * ${u};\n\n vec4 values = vec4(\n getValue(batch, xR, xC, d),\n getValue(batch, xR, xC + ${u}, d),\n getValue(batch, xR, xC + 2 * ${u}, d),\n getValue(batch, xR, xC + 3 * ${u}, d)\n );\n\n ${T}\n }\n\n int xC = xCCorner + ${v};\n if (${1===b}) {\n vec4 values = vec4(\n getValue(batch, xR, xC, d),\n initializationValue,\n initializationValue,\n initializationValue\n );\n\n ${T}\n } else if (${2===b}) {\n vec4 values = vec4(\n getValue(batch, xR, xC, d),\n getValue(batch, xR, xC + ${u}, d),\n initializationValue,\n initializationValue\n );\n\n ${T}\n } else if (${3===b}) {\n vec4 values = vec4(\n getValue(batch, xR, xC, d),\n getValue(batch, xR, xC + ${u}, d),\n getValue(batch, xR, xC + 2 * ${u}, d),\n initializationValue\n );\n\n ${T}\n }\n }\n setOutput(${y});\n }\n `}}class ave{constructor(e,t,n,i=!1,r=!1){if(this.variableNames=["x"],"avg"===t&&n)throw new Error("Cannot compute positions for average pool.");const s=e.filterWidth,o=e.strideDepth,a=e.strideHeight,l=e.strideWidth,u=e.dilationDepth,c=e.dilationHeight,d=e.dilationWidth,h=e.effectiveFilterDepth,p=e.effectiveFilterHeight,f=e.effectiveFilterWidth,m=e.padInfo.front,g=e.padInfo.top,_=e.padInfo.left;this.outputShape=e.outShape;const y="avg"===t;let v="0.0";if(y||(v="-1.0 / 1e-20"),n){const t=">=";return void(this.userCode=`\n const ivec3 strides =\n ivec3(${o}, ${a}, ${l});\n const ivec3 pads = ivec3(${m}, ${g}, ${_});\n\n void main() {\n ivec5 coords = getOutputCoords();\n int batch = coords.x;\n int ch = coords.u;\n\n ivec3 xCorner = ivec3(coords.y, coords.z, coords.w) * strides - pads;\n int xDCorner = xCorner.x;\n int xRCorner = xCorner.y;\n int xCCorner = xCorner.z;\n\n // max/min x(?, ?, ?, ch) to get y(yD, yR, yC, ch).\n // ? = to be determined\n float minMaxValue = 0.0;\n float minMaxValueFound = 0.0;\n int minMaxPosition = 0;\n\n for (int wD = 0; wD < ${h};\n wD += ${u}) {\n int xD = xDCorner + wD;\n\n if (xD < 0 || xD >= ${e.inDepth}) {\n continue;\n }\n\n for (int wR = 0; wR < ${p};\n wR += ${c}) {\n int xR = xRCorner + wR;\n\n if (xR < 0 || xR >= ${e.inHeight}) {\n continue;\n }\n\n for (int wC = 0; wC < ${f};\n wC += ${d}) {\n int xC = xCCorner + wC;\n\n if (xC < 0 || xC >= ${e.inWidth}) {\n continue;\n }\n\n float value = getX(batch, xD, xR, xC, ch);\n\n // If a min / max value has already been found, use it. If not,\n // use the current value.\n float currMinMaxValue = mix(\n value, minMaxValue, minMaxValueFound);\n if (value ${t} currMinMaxValue) {\n minMaxValue = value;\n minMaxValueFound = 1.0;\n minMaxPosition = ${i?r?`(((batch * ${e.inDepth} + xD) * ${e.inHeight} + xR) * ${e.inWidth} + xC) * ${e.inChannels} + ch`:`((xD * ${e.inHeight} + xR) * ${e.inWidth} + xC) * ${e.inChannels} + ch`:`wD * ${p} * ${f} +\n wR * ${f} + wC`};\n }\n }\n }\n }\n setOutput(float(minMaxPosition));\n }\n `)}let b=`${t}(${t}(${t}(minMaxValue[0], minMaxValue[1]), minMaxValue[2]), minMaxValue[3])`;"avg"===t&&(b="avgValue / max(count, 1.0)");const T=4*Math.floor(s/4),x=s%4,E=`\n if (${y}) {\n avgValue += dot(values, ones);\n } else {\n minMaxValue = max(values, minMaxValue);\n }\n `;this.userCode=`\n const ivec3 strides =\n ivec3(${o}, ${a}, ${l});\n const ivec3 pads = ivec3(${m}, ${g}, ${_});\n const float initializationValue = ${v};\n const vec4 ones = vec4(1.0, 1.0, 1.0, 1.0);\n\n float count = 0.0;\n\n float getValue(int batch, int xD, int xR, int xC, int ch) {\n if (xC < 0 || xC >= ${e.inWidth}) {\n return initializationValue;\n }\n count += 1.0;\n return getX(batch, xD, xR, xC, ch);\n }\n\n void main() {\n ivec5 coords = getOutputCoords();\n int batch = coords.x;\n int ch = coords.u;\n\n ivec3 xCorner = ivec3(coords.y, coords.z, coords.w) * strides - pads;\n int xDCorner = xCorner.x;\n int xRCorner = xCorner.y;\n int xCCorner = xCorner.z;\n\n // max/min x(?, ?, ?, d) to get y(yD, yR, yC, ch).\n // ? = to be determined\n vec4 minMaxValue = vec4(${v});\n float avgValue = 0.0;\n count = 0.0;\n\n for (int wD = 0; wD < ${h};\n wD += ${u}) {\n int xD = xDCorner + wD;\n\n if (xD < 0 || xD >= ${e.inDepth}) {\n continue;\n }\n\n for (int wR = 0; wR < ${p};\n wR += ${c}) {\n int xR = xRCorner + wR;\n\n if (xR < 0 || xR >= ${e.inHeight}) {\n continue;\n }\n\n for (int wC = 0; wC < ${T}; wC += 4) {\n int xC = xCCorner + wC * ${d};\n\n vec4 values = vec4(\n getValue(batch, xD, xR, xC, ch),\n getValue(batch, xD, xR, xC + ${d}, ch),\n getValue(batch, xD, xR, xC + 2 * ${d}, ch),\n getValue(batch, xD, xR, xC + 3 * ${d}, ch)\n );\n\n ${E}\n }\n\n int xC = xCCorner + ${T};\n if (${1===x}) {\n vec4 values = vec4(\n getValue(batch, xD, xR, xC, ch),\n initializationValue,\n initializationValue,\n initializationValue\n );\n\n ${E}\n } else if (${2===x}) {\n vec4 values = vec4(\n getValue(batch, xD, xR, xC, ch),\n getValue(batch, xD, xR, xC + ${d}, ch),\n initializationValue,\n initializationValue\n );\n\n ${E}\n } else if (${3===x}) {\n vec4 values = vec4(\n getValue(batch, xD, xR, xC, ch),\n getValue(batch, xD, xR, xC + ${d}, ch),\n getValue(batch, xD, xR, xC + 2 * ${d}, ch),\n initializationValue\n );\n\n ${E}\n }\n }\n }\n setOutput(${b});\n }\n `}}const lve={kernelName:v3.AvgPool,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -15764,7 +15764,7 @@ class eve{constructor(e,t,n,i=!1,r=!1){if(this.variableNames=["x"],"avg"===t&&n) * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t;yme(r,"avgPool");const{filterSize:s,strides:o,pad:a,dimRoundingMode:l}=i;p3.util.assert(p3.backend_util.eitherStridesOrDilationsAreOne(o,1),()=>`Error in avgPool: Either strides or dilations must be 1. Got strides ${o} and dilations '1'`);const u=p3.backend_util.computePool2DInfo(r.shape,s,o,1,a,l);if(1===u.filterWidth&&1===u.filterHeight&&p3.util.arraysEqual(u.inShape,u.outShape))return z_e({inputs:{x:r},backend:n});const c=new eve(u,"avg",!1);return n.runWebGLProgram(c,[r],"float32")}};const ive={kernelName:p3.AvgPool3D,backendName:"webgl",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t;wme(r,"avgPool");const{filterSize:s,strides:o,pad:a,dimRoundingMode:l}=i;v3.util.assert(v3.backend_util.eitherStridesOrDilationsAreOne(o,1),()=>`Error in avgPool: Either strides or dilations must be 1. Got strides ${o} and dilations '1'`);const u=v3.backend_util.computePool2DInfo(r.shape,s,o,1,a,l);if(1===u.filterWidth&&1===u.filterHeight&&v3.util.arraysEqual(u.inShape,u.outShape))return X_e({inputs:{x:r},backend:n});const c=new ove(u,"avg",!1);return n.runWebGLProgram(c,[r],"float32")}};const uve={kernelName:v3.AvgPool3D,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -15781,7 +15781,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t;yme(r,"avgPool");const{f * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{filterSize:s,strides:o,pad:a,dimRoundingMode:l,dataFormat:u}=i,c=p3.backend_util.computePool3DInfo(r.shape,s,o,[1,1,1],a,l,u),d=new tve(c,"avg",!1);return n.runWebGLProgram(d,[r],"float32")}}; +function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{filterSize:s,strides:o,pad:a,dimRoundingMode:l,dataFormat:u}=i,c=v3.backend_util.computePool3DInfo(r.shape,s,o,[1,1,1],a,l,u),d=new ave(c,"avg",!1);return n.runWebGLProgram(d,[r],"float32")}}; /** * @license * Copyright 2017 Google LLC. All Rights Reserved. @@ -15798,7 +15798,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{filterSize:s,strides:o, * limitations under the License. * ============================================================================= */ -class rve{constructor(e){this.variableNames=["dy"],this.outputShape=e.inShape;const t=e.filterHeight,n=e.filterWidth,i=e.strideHeight,r=e.strideWidth,s=e.dilationHeight,o=e.dilationWidth,a=e.effectiveFilterHeight,l=e.effectiveFilterWidth,u=a-1-e.padInfo.top,c=l-1-e.padInfo.left,d=1/(t*n);this.userCode=`\n const ivec2 pads = ivec2(${u}, ${c});\n const float avgMultiplier = float(${d});\n\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n\n ivec2 dyRCCorner = coords.yz - pads;\n int dyRCorner = dyRCCorner.x;\n int dyCCorner = dyRCCorner.y;\n\n // Convolve dy(?, ?, d) with pos mask(:, :, d) to get dx(xR, xC, d).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n for (int wR = 0; wR < ${a};\n wR += ${s}) {\n float dyR = float(dyRCorner + wR) / ${i}.0;\n\n if (dyR < 0.0 || dyR >= ${e.outHeight}.0 || fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n\n for (int wC = 0; wC < ${l};\n wC+= ${o}) {\n float dyC = float(dyCCorner + wC) / ${r}.0;\n\n if (dyC < 0.0 || dyC >= ${e.outWidth}.0 ||\n fract(dyC) > 0.0) {\n continue;\n }\n int idyC = int(dyC);\n\n float dyValue = getDy(b, idyR, idyC, d);\n\n dotProd += dyValue * avgMultiplier;\n }\n }\n setOutput(dotProd);\n }\n `}}class sve{constructor(e){this.variableNames=["dy"],this.outputShape=e.inShape;const t=e.filterDepth,n=e.filterHeight,i=e.filterWidth,r=e.strideDepth,s=e.strideHeight,o=e.strideWidth,a=e.dilationDepth,l=e.dilationHeight,u=e.dilationWidth,c=e.effectiveFilterDepth,d=e.effectiveFilterHeight,h=e.effectiveFilterWidth,p=c-1-e.padInfo.front,f=d-1-e.padInfo.top,m=h-1-e.padInfo.left,g=1/(t*n*i);this.userCode=`\n const ivec3 pads = ivec3(${p}, ${f}, ${m});\n const float avgMultiplier = float(${g});\n\n void main() {\n ivec5 coords = getOutputCoords();\n int batch = coords.x;\n int ch = coords.u;\n\n ivec3 dyCorner = ivec3(coords.y, coords.z, coords.w) - pads;\n int dyDCorner = dyCorner.x;\n int dyRCorner = dyCorner.y;\n int dyCCorner = dyCorner.z;\n\n // Convolve dy(?, ?, ?, d) with pos mask(:, :, :, ch) to get\n // dx(xD, xR, xC, ch).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n\n for (int wD = 0; wD < ${c};\n wD += ${a}) {\n float dyD = float(dyDCorner + wD) / ${r}.0;\n\n if (dyD < 0.0 || dyD >= ${e.outDepth}.0 || fract(dyD) > 0.0) {\n continue;\n }\n int idyD = int(dyD);\n\n for (int wR = 0; wR < ${d};\n wR += ${l}) {\n float dyR = float(dyRCorner + wR) / ${s}.0;\n\n if (dyR < 0.0 || dyR >= ${e.outHeight}.0 ||\n fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n\n for (int wC = 0; wC < ${h};\n wC += ${u}) {\n float dyC = float(dyCCorner + wC) / ${o}.0;\n\n if (dyC < 0.0 || dyC >= ${e.outWidth}.0 ||\n fract(dyC) > 0.0) {\n continue;\n }\n int idyC = int(dyC);\n\n float dyValue = getDy(batch, idyD, idyR, idyC, ch);\n\n dotProd += dyValue * avgMultiplier;\n }\n }\n }\n setOutput(dotProd);\n }\n `}}const ove={kernelName:p3.AvgPool3DGrad,backendName:"webgl",kernelFunc: +class cve{constructor(e){this.variableNames=["dy"],this.outputShape=e.inShape;const t=e.filterHeight,n=e.filterWidth,i=e.strideHeight,r=e.strideWidth,s=e.dilationHeight,o=e.dilationWidth,a=e.effectiveFilterHeight,l=e.effectiveFilterWidth,u=a-1-e.padInfo.top,c=l-1-e.padInfo.left,d=1/(t*n);this.userCode=`\n const ivec2 pads = ivec2(${u}, ${c});\n const float avgMultiplier = float(${d});\n\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n\n ivec2 dyRCCorner = coords.yz - pads;\n int dyRCorner = dyRCCorner.x;\n int dyCCorner = dyRCCorner.y;\n\n // Convolve dy(?, ?, d) with pos mask(:, :, d) to get dx(xR, xC, d).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n for (int wR = 0; wR < ${a};\n wR += ${s}) {\n float dyR = float(dyRCorner + wR) / ${i}.0;\n\n if (dyR < 0.0 || dyR >= ${e.outHeight}.0 || fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n\n for (int wC = 0; wC < ${l};\n wC+= ${o}) {\n float dyC = float(dyCCorner + wC) / ${r}.0;\n\n if (dyC < 0.0 || dyC >= ${e.outWidth}.0 ||\n fract(dyC) > 0.0) {\n continue;\n }\n int idyC = int(dyC);\n\n float dyValue = getDy(b, idyR, idyC, d);\n\n dotProd += dyValue * avgMultiplier;\n }\n }\n setOutput(dotProd);\n }\n `}}class dve{constructor(e){this.variableNames=["dy"],this.outputShape=e.inShape;const t=e.filterDepth,n=e.filterHeight,i=e.filterWidth,r=e.strideDepth,s=e.strideHeight,o=e.strideWidth,a=e.dilationDepth,l=e.dilationHeight,u=e.dilationWidth,c=e.effectiveFilterDepth,d=e.effectiveFilterHeight,h=e.effectiveFilterWidth,p=c-1-e.padInfo.front,f=d-1-e.padInfo.top,m=h-1-e.padInfo.left,g=1/(t*n*i);this.userCode=`\n const ivec3 pads = ivec3(${p}, ${f}, ${m});\n const float avgMultiplier = float(${g});\n\n void main() {\n ivec5 coords = getOutputCoords();\n int batch = coords.x;\n int ch = coords.u;\n\n ivec3 dyCorner = ivec3(coords.y, coords.z, coords.w) - pads;\n int dyDCorner = dyCorner.x;\n int dyRCorner = dyCorner.y;\n int dyCCorner = dyCorner.z;\n\n // Convolve dy(?, ?, ?, d) with pos mask(:, :, :, ch) to get\n // dx(xD, xR, xC, ch).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n\n for (int wD = 0; wD < ${c};\n wD += ${a}) {\n float dyD = float(dyDCorner + wD) / ${r}.0;\n\n if (dyD < 0.0 || dyD >= ${e.outDepth}.0 || fract(dyD) > 0.0) {\n continue;\n }\n int idyD = int(dyD);\n\n for (int wR = 0; wR < ${d};\n wR += ${l}) {\n float dyR = float(dyRCorner + wR) / ${s}.0;\n\n if (dyR < 0.0 || dyR >= ${e.outHeight}.0 ||\n fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n\n for (int wC = 0; wC < ${h};\n wC += ${u}) {\n float dyC = float(dyCCorner + wC) / ${o}.0;\n\n if (dyC < 0.0 || dyC >= ${e.outWidth}.0 ||\n fract(dyC) > 0.0) {\n continue;\n }\n int idyC = int(dyC);\n\n float dyValue = getDy(batch, idyD, idyR, idyC, ch);\n\n dotProd += dyValue * avgMultiplier;\n }\n }\n }\n setOutput(dotProd);\n }\n `}}const hve={kernelName:v3.AvgPool3DGrad,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -15815,7 +15815,7 @@ class rve{constructor(e){this.variableNames=["dy"],this.outputShape=e.inShape;co * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{dy:r,input:s}=t,o=s,{filterSize:a,strides:l,pad:u,dimRoundingMode:c}=i,d=p3.backend_util.computePool3DInfo(o.shape,a,l,[1,1,1],u,c),h=new sve(d);return n.runWebGLProgram(h,[r],o.dtype)}};const ave={kernelName:p3.AvgPoolGrad,backendName:"webgl",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{dy:r,input:s}=t,o=s,{filterSize:a,strides:l,pad:u,dimRoundingMode:c}=i,d=v3.backend_util.computePool3DInfo(o.shape,a,l,[1,1,1],u,c),h=new dve(d);return n.runWebGLProgram(h,[r],o.dtype)}};const pve={kernelName:v3.AvgPoolGrad,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -15832,7 +15832,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{dy:r,input:s}=t,o=s,{filterSize * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{dy:r,input:s}=t,o=s;yme([r,s],"avgPoolGrad");const{filterSize:a,strides:l,pad:u}=i,c=p3.backend_util.computePool2DInfo(o.shape,a,l,1,u),d=new rve(c);return n.runWebGLProgram(d,[r],o.dtype)}};const lve={kernelName:p3.BatchMatMul,backendName:"webgl",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{dy:r,input:s}=t,o=s;wme([r,s],"avgPoolGrad");const{filterSize:a,strides:l,pad:u}=i,c=v3.backend_util.computePool2DInfo(o.shape,a,l,1,u),d=new cve(c);return n.runWebGLProgram(d,[r],o.dtype)}};const fve={kernelName:v3.BatchMatMul,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -15849,7 +15849,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{dy:r,input:s}=t,o=s;yme([r,s]," * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{a:r,b:s}=t,{transposeA:o,transposeB:a}=i;return Tye({a:r,b:s,transposeA:o,transposeB:a,backend:n})}}; +function(e){const{inputs:t,backend:n,attrs:i}=e,{a:r,b:s}=t,{transposeA:o,transposeB:a}=i;return Sye({a:r,b:s,transposeA:o,transposeB:a,backend:n})}}; /** * @license * Copyright 2017 Google LLC. All Rights Reserved. @@ -15866,7 +15866,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{a:r,b:s}=t,{transposeA:o,transp * limitations under the License. * ============================================================================= */ -class uve{constructor(e,t,n,i,r,s){this.outputShape=[],this.variableNames=["x","mean","variance"],p3.backend_util.assertAndGetBroadcastShape(e,t),p3.backend_util.assertAndGetBroadcastShape(e,n);let o="0.0";null!=i&&(p3.backend_util.assertAndGetBroadcastShape(e,i),this.variableNames.push("offset"),o="getOffsetAtOutCoords()");let a="1.0";null!=r&&(p3.backend_util.assertAndGetBroadcastShape(e,r),this.variableNames.push("scale"),a="getScaleAtOutCoords()"),this.outputShape=e,this.userCode=`\n void main() {\n float x = getXAtOutCoords();\n float mean = getMeanAtOutCoords();\n float variance = getVarianceAtOutCoords();\n float offset = ${o};\n float scale = ${a};\n float inv = scale * inversesqrt(variance + float(${s}));\n setOutput(dot(vec3(x, -mean, offset), vec3(inv, inv, 1)));\n }\n `}} +class mve{constructor(e,t,n,i,r,s){this.outputShape=[],this.variableNames=["x","mean","variance"],v3.backend_util.assertAndGetBroadcastShape(e,t),v3.backend_util.assertAndGetBroadcastShape(e,n);let o="0.0";null!=i&&(v3.backend_util.assertAndGetBroadcastShape(e,i),this.variableNames.push("offset"),o="getOffsetAtOutCoords()");let a="1.0";null!=r&&(v3.backend_util.assertAndGetBroadcastShape(e,r),this.variableNames.push("scale"),a="getScaleAtOutCoords()"),this.outputShape=e,this.userCode=`\n void main() {\n float x = getXAtOutCoords();\n float mean = getMeanAtOutCoords();\n float variance = getVarianceAtOutCoords();\n float offset = ${o};\n float scale = ${a};\n float inv = scale * inversesqrt(variance + float(${s}));\n setOutput(dot(vec3(x, -mean, offset), vec3(inv, inv, 1)));\n }\n `}} /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -15883,7 +15883,7 @@ class uve{constructor(e,t,n,i,r,s){this.outputShape=[],this.variableNames=["x"," * limitations under the License. * ============================================================================= */ -class cve{constructor(e,t,n,i,r,s){this.packedInputs=!0,this.packedOutput=!0,this.variableNames=["x","mean","variance"],p3.backend_util.assertAndGetBroadcastShape(e,t),p3.backend_util.assertAndGetBroadcastShape(e,n);let o="vec4(0.0)";null!=i&&(p3.backend_util.assertAndGetBroadcastShape(e,i),this.variableNames.push("offset"),o="getOffsetAtOutCoords()");let a="vec4(1.0)";null!=r&&(p3.backend_util.assertAndGetBroadcastShape(e,r),this.variableNames.push("scale"),a="getScaleAtOutCoords()"),this.outputShape=e,this.userCode=`\n void main() {\n vec4 offset = ${o};\n vec4 scale = ${a};\n\n vec4 x = getXAtOutCoords();\n vec4 mean = getMeanAtOutCoords();\n vec4 variance = getVarianceAtOutCoords();\n\n vec4 inv = scale * inversesqrt(variance + vec4(${s}));\n\n setOutput((x - mean) * inv + offset);\n }\n `}} +class gve{constructor(e,t,n,i,r,s){this.packedInputs=!0,this.packedOutput=!0,this.variableNames=["x","mean","variance"],v3.backend_util.assertAndGetBroadcastShape(e,t),v3.backend_util.assertAndGetBroadcastShape(e,n);let o="vec4(0.0)";null!=i&&(v3.backend_util.assertAndGetBroadcastShape(e,i),this.variableNames.push("offset"),o="getOffsetAtOutCoords()");let a="vec4(1.0)";null!=r&&(v3.backend_util.assertAndGetBroadcastShape(e,r),this.variableNames.push("scale"),a="getScaleAtOutCoords()"),this.outputShape=e,this.userCode=`\n void main() {\n vec4 offset = ${o};\n vec4 scale = ${a};\n\n vec4 x = getXAtOutCoords();\n vec4 mean = getMeanAtOutCoords();\n vec4 variance = getVarianceAtOutCoords();\n\n vec4 inv = scale * inversesqrt(variance + vec4(${s}));\n\n setOutput((x - mean) * inv + offset);\n }\n `}} /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -15900,7 +15900,7 @@ class cve{constructor(e,t,n,i,r,s){this.packedInputs=!0,this.packedOutput=!0,thi * limitations under the License. * ============================================================================= */ -const dve={kernelName:p3.FusedBatchNorm,backendName:"webgl",kernelFunc:({inputs:e,backend:t,attrs:n})=>{const{x:i,mean:r,variance:s,offset:o,scale:a}=e;p3.util.assert(r.shape.length===s.shape.length,()=>"Batch normalization gradient requires mean and variance to have equal ranks."),p3.util.assert(null==o||r.shape.length===o.shape.length,()=>"Batch normalization gradient requires mean and offset to have equal ranks."),p3.util.assert(null==a||r.shape.length===a.shape.length,()=>"Batch normalization gradient requires mean and scale to have equal ranks.");let{varianceEpsilon:l}=n;null==l&&(l=.001);const u=[i,r,s];let c=null;null!=o&&(c=o.shape,u.push(o));let d=null;null!=a&&(d=a.shape,u.push(a));const h=(0,p3.env)().getBool("WEBGL_PACK_NORMALIZATION")?new cve(i.shape,r.shape,s.shape,c,d,l):new uve(i.shape,r.shape,s.shape,c,d,l);return t.runWebGLProgram(h,u,u[0].dtype)}}; +const _ve={kernelName:v3.FusedBatchNorm,backendName:"webgl",kernelFunc:({inputs:e,backend:t,attrs:n})=>{const{x:i,mean:r,variance:s,offset:o,scale:a}=e;v3.util.assert(r.shape.length===s.shape.length,()=>"Batch normalization gradient requires mean and variance to have equal ranks."),v3.util.assert(null==o||r.shape.length===o.shape.length,()=>"Batch normalization gradient requires mean and offset to have equal ranks."),v3.util.assert(null==a||r.shape.length===a.shape.length,()=>"Batch normalization gradient requires mean and scale to have equal ranks.");let{varianceEpsilon:l}=n;null==l&&(l=.001);const u=[i,r,s];let c=null;null!=o&&(c=o.shape,u.push(o));let d=null;null!=a&&(d=a.shape,u.push(a));const h=(0,v3.env)().getBool("WEBGL_PACK_NORMALIZATION")?new gve(i.shape,r.shape,s.shape,c,d,l):new mve(i.shape,r.shape,s.shape,c,d,l);return t.runWebGLProgram(h,u,u[0].dtype)}}; /** * @license * Copyright 2017 Google LLC. All Rights Reserved. @@ -15917,7 +15917,7 @@ const dve={kernelName:p3.FusedBatchNorm,backendName:"webgl",kernelFunc:({inputs: * limitations under the License. * ============================================================================= */ -class hve{constructor(e){this.variableNames=["source"],this.outputShape=e,this.rank=e.length;const t=Pme(this.rank);this.customUniforms=[{name:"start",arrayIndex:this.rank,type:"int"}];const n=function(e){if(1===e)return"sourceLoc";if(e<=6)return pve.slice(0,e).map(e=>"sourceLoc."+e).join(",");throw Error(`Slicing for rank ${e} is not yet supported`)}(this.rank);let i;i=`\n ${t} sourceLoc;\n ${t} coords = getOutputCoords();\n ${e.map((e,t)=>`sourceLoc.${pve[t]} = start[${t}] + coords.${pve[t]};`).join("\n")}\n `,this.userCode=`\n void main() {\n ${i}\n setOutput(getSource(${n}));\n }\n `}}const pve=["x","y","z","w","u","v"]; +class yve{constructor(e){this.variableNames=["source"],this.outputShape=e,this.rank=e.length;const t=jme(this.rank);this.customUniforms=[{name:"start",arrayIndex:this.rank,type:"int"}];const n=function(e){if(1===e)return"sourceLoc";if(e<=6)return vve.slice(0,e).map(e=>"sourceLoc."+e).join(",");throw Error(`Slicing for rank ${e} is not yet supported`)}(this.rank);let i;i=`\n ${t} sourceLoc;\n ${t} coords = getOutputCoords();\n ${e.map((e,t)=>`sourceLoc.${vve[t]} = start[${t}] + coords.${vve[t]};`).join("\n")}\n `,this.userCode=`\n void main() {\n ${i}\n setOutput(getSource(${n}));\n }\n `}}const vve=["x","y","z","w","u","v"]; /** * @license * Copyright 2019 Google LLC. All Rights Reserved. @@ -15934,7 +15934,7 @@ class hve{constructor(e){this.variableNames=["source"],this.outputShape=e,this.r * limitations under the License. * ============================================================================= */ -class fve{constructor(e){this.variableNames=["source"],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=e,this.rank=e.length,this.customUniforms=[{name:"start",arrayIndex:this.rank,type:"int"}];const t=Pme(this.rank),n=g_e("coords",this.rank),i=g_e("sourceLoc",this.rank),r=1===this.rank?"sourceLoc":`vec2(${i.slice(-2).join()})`,s=`getChannel(getSource(${i.join()}), ${r})`,o=`\n result.x = ${s};\n if (++${n[this.rank-1]} < ${e[this.rank-1]}) {\n ++${i[this.rank-1]};\n result.y = ${s};\n --${i[this.rank-1]};\n }\n `,a=1===this.rank?"":`\n --${n[this.rank-1]};\n if (++${n[this.rank-2]} < ${e[this.rank-2]}) {\n ++${i[this.rank-2]};\n result.z = ${s};\n if (++${n[this.rank-1]} < ${e[this.rank-1]}) {\n ++${i[this.rank-1]};\n result.w = ${s};\n }\n }\n `,l=this.rank<=4?`sourceLoc = coords +\n ${t}(${e.map((e,t)=>`start[${t}]`).join()});`:e.map((e,t)=>`${i[t]} = ${n[t]} + start[${t}];`).join("\n");this.userCode=`\n void main() {\n ${t} coords = getOutputCoords();\n ${t} sourceLoc;\n ${l}\n vec4 result = vec4(0.);\n ${o}\n ${a}\n setOutput(result);\n }\n `}}function mve(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{begin:s,size:o}=i,[a,l]=p3.slice_util.parseSliceParams(r,s,o);if(p3.slice_util.assertParamsValid(r,a,l),0===p3.util.sizeFromShape(l))return n.makeTensorInfo(l,r.dtype,[]);if(n.shouldExecuteOnCPU([r])||"string"===r.dtype){const e=n.texData.get(r.dataId),t=e_e(e.values,a,l,r.shape,r.dtype);return n.makeTensorInfo(l,r.dtype,t)}const{isPacked:u}=n.texData.get(r.dataId),c=p3.slice_util.isSliceContinous(r.shape,a,l);if(u||!c){const e=(0,p3.env)().getBool("WEBGL_PACK_ARRAY_OPERATIONS")?new fve(l):new hve(l),t=[a];return n.runWebGLProgram(e,[r],r.dtype,t)}return n.uploadToGPU(r.dataId), +class bve{constructor(e){this.variableNames=["source"],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=e,this.rank=e.length,this.customUniforms=[{name:"start",arrayIndex:this.rank,type:"int"}];const t=jme(this.rank),n=x_e("coords",this.rank),i=x_e("sourceLoc",this.rank),r=1===this.rank?"sourceLoc":`vec2(${i.slice(-2).join()})`,s=`getChannel(getSource(${i.join()}), ${r})`,o=`\n result.x = ${s};\n if (++${n[this.rank-1]} < ${e[this.rank-1]}) {\n ++${i[this.rank-1]};\n result.y = ${s};\n --${i[this.rank-1]};\n }\n `,a=1===this.rank?"":`\n --${n[this.rank-1]};\n if (++${n[this.rank-2]} < ${e[this.rank-2]}) {\n ++${i[this.rank-2]};\n result.z = ${s};\n if (++${n[this.rank-1]} < ${e[this.rank-1]}) {\n ++${i[this.rank-1]};\n result.w = ${s};\n }\n }\n `,l=this.rank<=4?`sourceLoc = coords +\n ${t}(${e.map((e,t)=>`start[${t}]`).join()});`:e.map((e,t)=>`${i[t]} = ${n[t]} + start[${t}];`).join("\n");this.userCode=`\n void main() {\n ${t} coords = getOutputCoords();\n ${t} sourceLoc;\n ${l}\n vec4 result = vec4(0.);\n ${o}\n ${a}\n setOutput(result);\n }\n `}}function Tve(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{begin:s,size:o}=i,[a,l]=v3.slice_util.parseSliceParams(r,s,o);if(v3.slice_util.assertParamsValid(r,a,l),0===v3.util.sizeFromShape(l))return n.makeTensorInfo(l,r.dtype,[]);if(n.shouldExecuteOnCPU([r])||"string"===r.dtype){const e=n.texData.get(r.dataId),t=o_e(e.values,a,l,r.shape,r.dtype);return n.makeTensorInfo(l,r.dtype,t)}const{isPacked:u}=n.texData.get(r.dataId),c=v3.slice_util.isSliceContinous(r.shape,a,l);if(u||!c){const e=(0,v3.env)().getBool("WEBGL_PACK_ARRAY_OPERATIONS")?new bve(l):new yve(l),t=[a];return n.runWebGLProgram(e,[r],r.dtype,t)}return n.uploadToGPU(r.dataId), /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -15951,7 +15951,7 @@ class fve{constructor(e){this.variableNames=["source"],this.packedInputs=!0,this * limitations under the License. * ============================================================================= */ -function(e,t,n,i){const r=i.texData.get(e.dataId),s=i.makeTensorInfo(n,e.dtype),o=i.texData.get(s.dataId);Object.assign(o,r),o.refCount=1,o.shape=n,o.dtype=e.dtype;let a=p3.slice_util.computeFlatOffset(t,p3.util.computeStrides(e.shape));r.slice&&(a+=r.slice.flatOffset),o.slice={flatOffset:a,origDataId:r.slice&&r.slice.origDataId||e.dataId};const l=i.dataRefCount.get(o.slice.origDataId)||1;return i.dataRefCount.set(o.slice.origDataId,l+1),s}(r,a,l,n)}const gve={kernelName:p3.Slice,backendName:"webgl",kernelFunc:mve},_ve={kernelName:p3.BatchToSpaceND,backendName:"webgl",kernelFunc:e=>{const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{blockShape:s,crops:o}=i;p3.util.assert(r.shape.length<=4,()=>"batchToSpaceND for rank > 4 with a WebGL backend not implemented yet");const a=s.reduce((e,t)=>e*t),l=p3.backend_util.getReshaped(r.shape,s,a),u=p3.backend_util.getPermuted(l.length,s.length),c=p3.backend_util.getReshapedPermuted(r.shape,s,a),d=p3.backend_util.getSliceBeginCoords(o,s.length),h=p3.backend_util.getSliceSize(c,o,s.length),p=[],f=uye({inputs:{x:r},backend:n,attrs:{shape:l}}),m=vye({inputs:{x:f},backend:n,attrs:{perm:u}}),g=uye({inputs:{x:m},backend:n,attrs:{shape:c}}),_=mve({inputs:{x:g},backend:n,attrs:{begin:d,size:h}});return p.push(f),p.push(m),p.push(g),p.forEach(e=>n.disposeIntermediateTensorInfo(e)),_}};const yve={kernelName:p3.Bincount,backendName:"webgl",kernelFunc: +function(e,t,n,i){const r=i.texData.get(e.dataId),s=i.makeTensorInfo(n,e.dtype),o=i.texData.get(s.dataId);Object.assign(o,r),o.refCount=1,o.shape=n,o.dtype=e.dtype;let a=v3.slice_util.computeFlatOffset(t,v3.util.computeStrides(e.shape));r.slice&&(a+=r.slice.flatOffset),o.slice={flatOffset:a,origDataId:r.slice&&r.slice.origDataId||e.dataId};const l=i.dataRefCount.get(o.slice.origDataId)||1;return i.dataRefCount.set(o.slice.origDataId,l+1),s}(r,a,l,n)}const xve={kernelName:v3.Slice,backendName:"webgl",kernelFunc:Tve},Eve={kernelName:v3.BatchToSpaceND,backendName:"webgl",kernelFunc:e=>{const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{blockShape:s,crops:o}=i;v3.util.assert(r.shape.length<=4,()=>"batchToSpaceND for rank > 4 with a WebGL backend not implemented yet");const a=s.reduce((e,t)=>e*t),l=v3.backend_util.getReshaped(r.shape,s,a),u=v3.backend_util.getPermuted(l.length,s.length),c=v3.backend_util.getReshapedPermuted(r.shape,s,a),d=v3.backend_util.getSliceBeginCoords(o,s.length),h=v3.backend_util.getSliceSize(c,o,s.length),p=[],f=mye({inputs:{x:r},backend:n,attrs:{shape:l}}),m=Iye({inputs:{x:f},backend:n,attrs:{perm:u}}),g=mye({inputs:{x:m},backend:n,attrs:{shape:c}}),_=Tve({inputs:{x:g},backend:n,attrs:{begin:d,size:h}});return p.push(f),p.push(m),p.push(g),p.forEach(e=>n.disposeIntermediateTensorInfo(e)),_}};const wve={kernelName:v3.Bincount,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -15968,7 +15968,7 @@ function(e,t,n,i){const r=i.texData.get(e.dataId),s=i.makeTensorInfo(n,e.dtype), * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r,weights:s}=t,{size:o}=i,a=n.readSync(r.dataId),l=n.readSync(s.dataId),u=Tge(a,l,s.dtype,s.shape,o);return n.makeTensorInfo([o],s.dtype,u)}};const vve={kernelName:p3.BitwiseAnd,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n}=e,{a:i,b:r}=t,s=(0,p3.env)().getBool("WEBGL_PACK_BINARY_OPERATIONS"),o=(0,p3.env)().getNumber("WEBGL_VERSION");if(n.shouldExecuteOnCPU([i,r])||1===o){const e=n.texData.get(i.dataId).values,t=n.texData.get(r.dataId).values,[s,o]=Ege(i.shape,r.shape,e,t,i.dtype),a=n.makeTensorInfo(o,i.dtype);return n.texData.get(a.dataId).values=s,a}let a;return a=s?new V_e("\n int r = int(a.r) & int(b.r);\n int g = int(a.g) & int(b.g);\n int rb = int(a.b) & int(b.b);\n int ra = int(a.a) & int(b.a);\n return vec4(r, g, rb, ra);\n",i.shape,r.shape,!1):new $_e("\n return float(int(a.r) & int(b.r));\n",i.shape,r.shape),n.runWebGLProgram(a,[i,r],i.dtype)}};const bve={kernelName:p3.BroadcastArgs,backendName:"webgl",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r,weights:s}=t,{size:o}=i,a=n.readSync(r.dataId),l=n.readSync(s.dataId),u=Sge(a,l,s.dtype,s.shape,o);return n.makeTensorInfo([o],s.dtype,u)}};const Ive={kernelName:v3.BitwiseAnd,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n}=e,{a:i,b:r}=t,s=(0,v3.env)().getBool("WEBGL_PACK_BINARY_OPERATIONS"),o=(0,v3.env)().getNumber("WEBGL_VERSION");if(n.shouldExecuteOnCPU([i,r])||1===o){const e=n.texData.get(i.dataId).values,t=n.texData.get(r.dataId).values,[s,o]=Oge(i.shape,r.shape,e,t,i.dtype),a=n.makeTensorInfo(o,i.dtype);return n.texData.get(a.dataId).values=s,a}let a;return a=s?new W_e("\n int r = int(a.r) & int(b.r);\n int g = int(a.g) & int(b.g);\n int rb = int(a.b) & int(b.b);\n int ra = int(a.a) & int(b.a);\n return vec4(r, g, rb, ra);\n",i.shape,r.shape,!1):new G_e("\n return float(int(a.r) & int(b.r));\n",i.shape,r.shape),n.runWebGLProgram(a,[i,r],i.dtype)}};const Ave={kernelName:v3.BroadcastArgs,backendName:"webgl",kernelFunc: /** * @license * Copyright 2021 Google LLC. All Rights Reserved. @@ -15985,7 +15985,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r,weights:s}=t,{size:o}=i,a=n * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n}=e,{s0:i,s1:r}=t,s=n.readSync(i.dataId),o=n.readSync(r.dataId),a=p3.backend_util.assertAndGetBroadcastShape(Array.from(s),Array.from(o));return n.makeTensorInfo([a.length],"int32",Int32Array.from(a))}},Tve=eye({opSnippet:"return float(a != b);",cpuKernelImpl:Yge,dtype:"bool"}),xve={kernelName:p3.NotEqual,backendName:"webgl",kernelFunc:Tve}; +function(e){const{inputs:t,backend:n}=e,{s0:i,s1:r}=t,s=n.readSync(i.dataId),o=n.readSync(r.dataId),a=v3.backend_util.assertAndGetBroadcastShape(Array.from(s),Array.from(o));return n.makeTensorInfo([a.length],"int32",Int32Array.from(a))}},Sve=oye({opSnippet:"return float(a != b);",cpuKernelImpl:Kge,dtype:"bool"}),Cve={kernelName:v3.NotEqual,backendName:"webgl",kernelFunc:Sve}; /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -16002,7 +16002,7 @@ function(e){const{inputs:t,backend:n}=e,{s0:i,s1:r}=t,s=n.readSync(i.dataId),o=n * limitations under the License. * ============================================================================= */ -function Eve(e){const{inputs:t,backend:n}=e,{input:i}=t;return z_e({inputs:{x:n.texData.get(i.dataId).complexTensorInfos.real},backend:n})}const wve={kernelName:p3.Real,backendName:"webgl",kernelFunc:Eve};const Ive={kernelName:p3.Cast,backendName:"webgl",kernelFunc: +function Ove(e){const{inputs:t,backend:n}=e,{input:i}=t;return X_e({inputs:{x:n.texData.get(i.dataId).complexTensorInfos.real},backend:n})}const Mve={kernelName:v3.Real,backendName:"webgl",kernelFunc:Ove};const kve={kernelName:v3.Cast,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -16019,7 +16019,7 @@ function Eve(e){const{inputs:t,backend:n}=e,{input:i}=t;return z_e({inputs:{x:n. * limitations under the License. * ============================================================================= */ -function e(t){const{inputs:n,backend:i,attrs:r}=t,{x:s}=n,{dtype:o}=r;if("complex64"===o){if("complex64"===s.dtype)return z_e({inputs:{x:s},backend:i});const t=p3.zeros(s.shape),n=e({inputs:{x:s},backend:i,attrs:{dtype:"float32"}}),r=Y_e({inputs:{real:n,imag:t},backend:i});return t.dispose(),i.disposeIntermediateTensorInfo(n),r}if("complex64"===s.dtype){const t=Eve({inputs:{input:s},backend:i}),n=e({inputs:{x:t},backend:i,attrs:{dtype:o}});return i.disposeIntermediateTensorInfo(t),n}if(!p3.util.hasEncodingLoss(s.dtype,o)){const e=z_e({inputs:{x:s},backend:i});return{dataId:e.dataId,shape:e.shape,dtype:o}}if(i.shouldExecuteOnCPU([s])){const e=i.texData.get(s.dataId).values,[t,n,r]=wge(e,s.shape,s.dtype,o);return i.makeTensorInfo(t,n,r)}if("int32"===o)return function(e,t){const n=new E_e(e.shape,"return float(int(x));"),i=t.runWebGLProgram(n,[e],"int32");return{dataId:i.dataId,shape:i.shape,dtype:i.dtype}}(s,i);if("bool"===o){const e=i.makeTensorInfo([],"bool",p3.util.getTypedArrayFromDType("bool",1)),t=Tve({inputs:{a:s,b:e},backend:i});return i.disposeIntermediateTensorInfo(e),t}throw new Error(`Error in Cast: failed to cast ${s.dtype} to ${o}`)}},Ave="return ceil(x);",Sve=J_e({opSnippet:Ave,packedOpSnippet:Ave,cpuKernelImpl:Ige}),Cve={kernelName:p3.Ceil,backendName:"webgl",kernelFunc:Sve}; +function e(t){const{inputs:n,backend:i,attrs:r}=t,{x:s}=n,{dtype:o}=r;if("complex64"===o){if("complex64"===s.dtype)return X_e({inputs:{x:s},backend:i});const t=v3.zeros(s.shape),n=e({inputs:{x:s},backend:i,attrs:{dtype:"float32"}}),r=K_e({inputs:{real:n,imag:t},backend:i});return t.dispose(),i.disposeIntermediateTensorInfo(n),r}if("complex64"===s.dtype){const t=Ove({inputs:{input:s},backend:i}),n=e({inputs:{x:t},backend:i,attrs:{dtype:o}});return i.disposeIntermediateTensorInfo(t),n}if(!v3.util.hasEncodingLoss(s.dtype,o)){const e=X_e({inputs:{x:s},backend:i});return{dataId:e.dataId,shape:e.shape,dtype:o}}if(i.shouldExecuteOnCPU([s])){const e=i.texData.get(s.dataId).values,[t,n,r]=Mge(e,s.shape,s.dtype,o);return i.makeTensorInfo(t,n,r)}if("int32"===o)return function(e,t){const n=new O_e(e.shape,"return float(int(x));"),i=t.runWebGLProgram(n,[e],"int32");return{dataId:i.dataId,shape:i.shape,dtype:i.dtype}}(s,i);if("bool"===o){const e=i.makeTensorInfo([],"bool",v3.util.getTypedArrayFromDType("bool",1)),t=Sve({inputs:{a:s,b:e},backend:i});return i.disposeIntermediateTensorInfo(e),t}throw new Error(`Error in Cast: failed to cast ${s.dtype} to ${o}`)}},Rve="return ceil(x);",Nve=sye({opSnippet:Rve,packedOpSnippet:Rve,cpuKernelImpl:kge}),Dve={kernelName:v3.Ceil,backendName:"webgl",kernelFunc:Nve}; /** * @license * Copyright 2017 Google LLC. All Rights Reserved. @@ -16036,7 +16036,7 @@ function e(t){const{inputs:n,backend:i,attrs:r}=t,{x:s}=n,{dtype:o}=r;if("comple * limitations under the License. * ============================================================================= */ -class Ove{constructor(e){this.variableNames=["A"],this.customUniforms=[{name:"minVal",type:"float"},{name:"maxVal",type:"float"}],this.outputShape=e,this.userCode="\n\n void main() {\n float value = getAAtOutCoords();\n if (isnan(value)) {\n setOutput(value);\n return;\n }\n\n setOutput(clamp(value, minVal, maxVal));\n }\n "}} +class Fve{constructor(e){this.variableNames=["A"],this.customUniforms=[{name:"minVal",type:"float"},{name:"maxVal",type:"float"}],this.outputShape=e,this.userCode="\n\n void main() {\n float value = getAAtOutCoords();\n if (isnan(value)) {\n setOutput(value);\n return;\n }\n\n setOutput(clamp(value, minVal, maxVal));\n }\n "}} /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -16053,7 +16053,7 @@ class Ove{constructor(e){this.variableNames=["A"],this.customUniforms=[{name:"mi * limitations under the License. * ============================================================================= */ -class Mve{constructor(e){this.variableNames=["A"],this.packedInputs=!0,this.packedOutput=!0,this.customUniforms=[{name:"minVal",type:"float"},{name:"maxVal",type:"float"}],this.outputShape=e,this.userCode="\n void main() {\n vec4 value = getAAtOutCoords();\n\n if (any(isnan(value))) {\n setOutput(value);\n return;\n }\n\n setOutput(clamp(value, vec4(minVal), vec4(maxVal)));\n }\n "}}const kve={kernelName:p3.ClipByValue,backendName:"webgl",kernelFunc: +class Lve{constructor(e){this.variableNames=["A"],this.packedInputs=!0,this.packedOutput=!0,this.customUniforms=[{name:"minVal",type:"float"},{name:"maxVal",type:"float"}],this.outputShape=e,this.userCode="\n void main() {\n vec4 value = getAAtOutCoords();\n\n if (any(isnan(value))) {\n setOutput(value);\n return;\n }\n\n setOutput(clamp(value, vec4(minVal), vec4(maxVal)));\n }\n "}}const Pve={kernelName:v3.ClipByValue,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -16070,7 +16070,7 @@ class Mve{constructor(e){this.variableNames=["A"],this.packedInputs=!0,this.pack * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{clipValueMin:s,clipValueMax:o}=i;let a;a=(0,p3.env)().getBool("WEBGL_PACK_CLIP")?new Mve(r.shape):new Ove(r.shape);const l=[[s],[o]];return n.runWebGLProgram(a,[r],r.dtype,l)}}; +function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{clipValueMin:s,clipValueMax:o}=i;let a;a=(0,v3.env)().getBool("WEBGL_PACK_CLIP")?new Lve(r.shape):new Fve(r.shape);const l=[[s],[o]];return n.runWebGLProgram(a,[r],r.dtype,l)}}; /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -16087,7 +16087,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{clipValueMin:s,clipValu * limitations under the License. * ============================================================================= */ -class Rve{constructor(e){this.variableNames=["real","imag"],this.outputShape=e,this.userCode="\n void main() {\n float re = abs(getRealAtOutCoords());\n float im = abs(getImagAtOutCoords());\n float mx = max(re, im);\n\n // sadly the length function in glsl is not underflow-safe\n // (at least not on Intel GPUs). So the safe solution is\n // to ensure underflow-safety in all cases.\n setOutput(\n mx == 0.0 ? 0.0 : mx * length(vec2(1, min(re, im)/mx))\n );\n }\n "}} +class Bve{constructor(e){this.variableNames=["real","imag"],this.outputShape=e,this.userCode="\n void main() {\n float re = abs(getRealAtOutCoords());\n float im = abs(getImagAtOutCoords());\n float mx = max(re, im);\n\n // sadly the length function in glsl is not underflow-safe\n // (at least not on Intel GPUs). So the safe solution is\n // to ensure underflow-safety in all cases.\n setOutput(\n mx == 0.0 ? 0.0 : mx * length(vec2(1, min(re, im)/mx))\n );\n }\n "}} /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -16104,7 +16104,7 @@ class Rve{constructor(e){this.variableNames=["real","imag"],this.outputShape=e,t * limitations under the License. * ============================================================================= */ -function Nve(e,t){return{dataId:t.dataId,dtype:t.dtype,shape:e.shape}}const Dve={kernelName:p3.ComplexAbs,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n}=e,{x:i}=t,r=n.texData.get(i.dataId),s=new Rve(i.shape),o=[Nve(i,r.complexTensorInfos.real),Nve(i,r.complexTensorInfos.imag)];return n.runWebGLProgram(s,o,o[0].dtype)}}; +function $ve(e,t){return{dataId:t.dataId,dtype:t.dtype,shape:e.shape}}const Uve={kernelName:v3.ComplexAbs,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n}=e,{x:i}=t,r=n.texData.get(i.dataId),s=new Bve(i.shape),o=[$ve(i,r.complexTensorInfos.real),$ve(i,r.complexTensorInfos.imag)];return n.runWebGLProgram(s,o,o[0].dtype)}}; /** * @license * Copyright 2017 Google LLC. All Rights Reserved. @@ -16121,7 +16121,7 @@ function Nve(e,t){return{dataId:t.dataId,dtype:t.dtype,shape:e.shape}}const Dve= * limitations under the License. * ============================================================================= */ -class Fve{constructor(e){this.outputShape=[],this.outputShape=p3.backend_util.computeOutShape(e,1),this.variableNames=e.map((e,t)=>`T${t}`);const t=new Array(e.length-1);t[0]=e[0][1];for(let n=1;n`T${t}`);const t=new Array(e.length-1);t[0]=e[0][1];for(let n=1;n`T${t}`);const a=new Array(e.length-1);a[0]=e[0][t];for(let n=1;n= ${a[e-1]}) {\n return getChannel(\n getT${e}(${Pve(o,l,t)}),\n vec2(${Pve(u,l,t)}));\n }`}const h=a.length,p=a[a.length-1];d+=`\n return getChannel(\n getT${h}(${Pve(o,l,p)}),\n vec2(${Pve(u,l,p)}));`,this.userCode=`\n float getValue(${o.map(e=>"int "+e)}) {\n ${d}\n }\n\n void main() {\n ${r} coords = getOutputCoords();\n vec4 result = vec4(getValue(${s}), 0., 0., 0.);\n\n ${s[i-1]} = ${s[i-1]} + 1;\n if (${s[i-1]} < ${n[i-1]}) {\n result.g = getValue(${s});\n }\n\n ${s[i-2]} = ${s[i-2]} + 1;\n if (${s[i-2]} < ${n[i-2]}) {\n result.a = getValue(${s});\n }\n\n ${s[i-1]} = ${s[i-1]} - 1;\n if (${s[i-2]} < ${n[i-2]} &&\n ${s[i-1]} < ${n[i-1]}) {\n result.b = getValue(${s});\n }\n setOutput(result);\n }\n `}}function Pve(e,t,n){const i=e.indexOf(t);return e.map((e,t)=>t===i?`${e} - ${n}`:e).join()} +class zve{constructor(e,t){this.packedInputs=!0,this.packedOutput=!0,this.outputShape=[],this.outputShape=v3.backend_util.computeOutShape(e,t);const n=this.outputShape,i=n.length,r=jme(i),s=x_e("coords",i),o=["x","y","z","w","u","v"].slice(0,i);this.variableNames=e.map((e,t)=>`T${t}`);const a=new Array(e.length-1);a[0]=e[0][t];for(let n=1;n= ${a[e-1]}) {\n return getChannel(\n getT${e}(${jve(o,l,t)}),\n vec2(${jve(u,l,t)}));\n }`}const h=a.length,p=a[a.length-1];d+=`\n return getChannel(\n getT${h}(${jve(o,l,p)}),\n vec2(${jve(u,l,p)}));`,this.userCode=`\n float getValue(${o.map(e=>"int "+e)}) {\n ${d}\n }\n\n void main() {\n ${r} coords = getOutputCoords();\n vec4 result = vec4(getValue(${s}), 0., 0., 0.);\n\n ${s[i-1]} = ${s[i-1]} + 1;\n if (${s[i-1]} < ${n[i-1]}) {\n result.g = getValue(${s});\n }\n\n ${s[i-2]} = ${s[i-2]} + 1;\n if (${s[i-2]} < ${n[i-2]}) {\n result.a = getValue(${s});\n }\n\n ${s[i-1]} = ${s[i-1]} - 1;\n if (${s[i-2]} < ${n[i-2]} &&\n ${s[i-1]} < ${n[i-1]}) {\n result.b = getValue(${s});\n }\n setOutput(result);\n }\n `}}function jve(e,t,n){const i=e.indexOf(t);return e.map((e,t)=>t===i?`${e} - ${n}`:e).join()} /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -16155,7 +16155,7 @@ class Lve{constructor(e,t){this.packedInputs=!0,this.packedOutput=!0,this.output * limitations under the License. * ============================================================================= */ -function Bve(e){const{inputs:t,backend:n}=e,{input:i}=t;return z_e({inputs:{x:n.texData.get(i.dataId).complexTensorInfos.imag},backend:n})}const $ve={kernelName:p3.Imag,backendName:"webgl",kernelFunc:Bve}; +function Yve(e){const{inputs:t,backend:n}=e,{input:i}=t;return X_e({inputs:{x:n.texData.get(i.dataId).complexTensorInfos.imag},backend:n})}const Gve={kernelName:v3.Imag,backendName:"webgl",kernelFunc:Yve}; /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -16172,7 +16172,7 @@ function Bve(e){const{inputs:t,backend:n}=e,{input:i}=t;return z_e({inputs:{x:n. * limitations under the License. * ============================================================================= */ -function Uve(e,t,n){const i=e[0].dtype;if("complex64"===i){const i=e.map(e=>Eve({inputs:{input:e},backend:n})),r=e.map(e=>Bve({inputs:{input:e},backend:n})),s=Uve(i,t,n),o=Uve(r,t,n),a=Y_e({inputs:{real:s,imag:o},backend:n});return i.forEach(e=>n.disposeIntermediateTensorInfo(e)),r.forEach(e=>n.disposeIntermediateTensorInfo(e)),n.disposeIntermediateTensorInfo(s),n.disposeIntermediateTensorInfo(o),a}let r=n.shouldExecuteOnCPU(e);if("string"===i&&(r=!0),r){const r=e.map(e=>{const i=p3.util.sizeFromShape(e.shape.slice(t));return uye({inputs:{x:e},backend:n,attrs:{shape:[-1,i]}})}),s=r.map(e=>({vals:n.readSync(e.dataId),shape:e.shape})),o=p3.backend_util.computeOutShape(r.map(e=>e.shape),1),a=1===r[0].shape[0],l=Age(s,o,i,a),u=p3.backend_util.computeOutShape(e.map(e=>e.shape),t),c=n.makeTensorInfo(u,i,l);return r.forEach(e=>n.disposeIntermediateTensorInfo(e)),c}const s=e.filter(e=>p3.util.sizeFromShape(e.shape)>0),o=(0,p3.env)().getBool("WEBGL_PACK_ARRAY_OPERATIONS")&&s[0].shape.length>1;if(1===s.length){const t=o?new E_e(e[0].shape,C_e):new O_e(e[0].shape,C_e);return n.runWebGLProgram(t,e,i)}const a=(0,p3.env)().getNumber("WEBGL_MAX_TEXTURES_IN_SHADER");if(s.length>a){const e=[];for(let i=0;ie.shape),t);return n.runWebGLProgram(e,s,i)}const{tensors2D:l,outShape:u}=function(e,t,n){const i=p3.backend_util.computeOutShape(e.map(e=>e.shape),t),r=e.map(e=>uye({inputs:{x:e},attrs:{shape:[-1,p3.util.sizeFromShape(e.shape.slice(t))]},backend:n}));return{tensors2D:r,outShape:i}}(s,t,n),c=new Fve(l.map(e=>e.shape)),d=n.runWebGLProgram(c,l,i);l.forEach(e=>n.disposeIntermediateTensorInfo(e));const h=uye({inputs:{x:d},attrs:{shape:u},backend:n});return n.disposeIntermediateTensorInfo(d),h} +function Hve(e,t,n){const i=e[0].dtype;if("complex64"===i){const i=e.map(e=>Ove({inputs:{input:e},backend:n})),r=e.map(e=>Yve({inputs:{input:e},backend:n})),s=Hve(i,t,n),o=Hve(r,t,n),a=K_e({inputs:{real:s,imag:o},backend:n});return i.forEach(e=>n.disposeIntermediateTensorInfo(e)),r.forEach(e=>n.disposeIntermediateTensorInfo(e)),n.disposeIntermediateTensorInfo(s),n.disposeIntermediateTensorInfo(o),a}let r=n.shouldExecuteOnCPU(e);if("string"===i&&(r=!0),r){const r=e.map(e=>{const i=v3.util.sizeFromShape(e.shape.slice(t));return mye({inputs:{x:e},backend:n,attrs:{shape:[-1,i]}})}),s=r.map(e=>({vals:n.readSync(e.dataId),shape:e.shape})),o=v3.backend_util.computeOutShape(r.map(e=>e.shape),1),a=1===r[0].shape[0],l=Rge(s,o,i,a),u=v3.backend_util.computeOutShape(e.map(e=>e.shape),t),c=n.makeTensorInfo(u,i,l);return r.forEach(e=>n.disposeIntermediateTensorInfo(e)),c}const s=e.filter(e=>v3.util.sizeFromShape(e.shape)>0),o=(0,v3.env)().getBool("WEBGL_PACK_ARRAY_OPERATIONS")&&s[0].shape.length>1;if(1===s.length){const t=o?new O_e(e[0].shape,D_e):new F_e(e[0].shape,D_e);return n.runWebGLProgram(t,e,i)}const a=(0,v3.env)().getNumber("WEBGL_MAX_TEXTURES_IN_SHADER");if(s.length>a){const e=[];for(let i=0;ie.shape),t);return n.runWebGLProgram(e,s,i)}const{tensors2D:l,outShape:u}=function(e,t,n){const i=v3.backend_util.computeOutShape(e.map(e=>e.shape),t),r=e.map(e=>mye({inputs:{x:e},attrs:{shape:[-1,v3.util.sizeFromShape(e.shape.slice(t))]},backend:n}));return{tensors2D:r,outShape:i}}(s,t,n),c=new Vve(l.map(e=>e.shape)),d=n.runWebGLProgram(c,l,i);l.forEach(e=>n.disposeIntermediateTensorInfo(e));const h=mye({inputs:{x:d},attrs:{shape:u},backend:n});return n.disposeIntermediateTensorInfo(d),h} /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -16189,7 +16189,7 @@ function Uve(e,t,n){const i=e[0].dtype;if("complex64"===i){const i=e.map(e=>Eve( * limitations under the License. * ============================================================================= */ -function Vve(e){const{inputs:t,backend:n,attrs:i}=e,{axis:r}=i,s=p3.util.parseAxisParam(r,t[0].shape)[0],o=t.map(e=>e.shape);p3.backend_util.assertParamsConsistent(o,s);const a=p3.backend_util.computeOutShape(t.map(e=>e.shape),s);if(0===p3.util.sizeFromShape(a))return n.makeTensorInfo(a,t[0].dtype,[]);const l=t.filter(e=>p3.util.sizeFromShape(e.shape)>0);return 1===l.length?z_e({inputs:{x:l[0]},backend:n}):Uve(l,s,n)}const zve={kernelName:p3.Concat,backendName:"webgl",kernelFunc:Vve}; +function Wve(e){const{inputs:t,backend:n,attrs:i}=e,{axis:r}=i,s=v3.util.parseAxisParam(r,t[0].shape)[0],o=t.map(e=>e.shape);v3.backend_util.assertParamsConsistent(o,s);const a=v3.backend_util.computeOutShape(t.map(e=>e.shape),s);if(0===v3.util.sizeFromShape(a))return n.makeTensorInfo(a,t[0].dtype,[]);const l=t.filter(e=>v3.util.sizeFromShape(e.shape)>0);return 1===l.length?X_e({inputs:{x:l[0]},backend:n}):Hve(l,s,n)}const Xve={kernelName:v3.Concat,backendName:"webgl",kernelFunc:Wve}; /** * @license * Copyright 2017 Google LLC. All Rights Reserved. @@ -16206,7 +16206,7 @@ function Vve(e){const{inputs:t,backend:n,attrs:i}=e,{axis:r}=i,s=p3.util.parseAx * limitations under the License. * ============================================================================= */ -class jve{constructor(e,t=!1,n=null,i=!1,r=!1){this.variableNames=["x","W"],this.outputShape=e.outShape;const s=e.padInfo.top,o=e.padInfo.left,a=e.strideHeight,l=e.strideWidth,u=e.dilationHeight,c=e.dilationWidth,d=e.filterHeight,h=e.filterWidth,p=4*Math.floor(e.inChannels/4),f=e.inChannels%4,m="channelsLast"===e.dataFormat,g=m?1:2,_=m?2:3,y=m?3:1;let v="",b="";n&&(v=i?`float activation(float a) {\n float b = getPreluActivationWeightsAtOutCoords();\n ${n}\n }`:r?`float activation(float a) {\n float b = getLeakyreluAlphaAtOutCoords();\n ${n}\n }`:`\n float activation(float x) {\n ${n}\n }\n `,b="result = activation(result);");const T=t?"result += getBiasAtOutCoords();":"";t&&this.variableNames.push("bias"),i&&this.variableNames.push("preluActivationWeights"),r&&this.variableNames.push("leakyreluAlpha"),this.userCode=`\n ${v}\n\n const ivec2 strides = ivec2(${a}, ${l});\n const ivec2 pads = ivec2(${s}, ${o});\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords[0];\n int d2 = coords[${y}];\n\n ivec2 xRCCorner =\n ivec2(coords[${g}], coords[${_}]) * strides - pads;\n int xRCorner = xRCCorner.x;\n int xCCorner = xRCCorner.y;\n\n // Convolve x(?, ?, d1) with w(:, :, d1, d2) to get y(yR, yC, d2).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n for (int wR = 0; wR < ${d}; wR++) {\n int xR = xRCorner + wR * ${u};\n\n if (xR < 0 || xR >= ${e.inHeight}) {\n continue;\n }\n\n for (int wC = 0; wC < ${h}; wC++) {\n int xC = xCCorner + wC * ${c};\n\n if (xC < 0 || xC >= ${e.inWidth}) {\n continue;\n }\n\n for (int d1 = 0; d1 < ${p}; d1 += 4) {\n vec4 wValues = vec4(\n getW(wR, wC, d1, d2),\n getW(wR, wC, d1 + 1, d2),\n getW(wR, wC, d1 + 2, d2),\n getW(wR, wC, d1 + 3, d2)\n );\n\n if (${m}) {\n vec4 xValues = vec4(\n getX(batch, xR, xC, d1),\n getX(batch, xR, xC, d1 + 1),\n getX(batch, xR, xC, d1 + 2),\n getX(batch, xR, xC, d1 + 3)\n );\n dotProd += dot(xValues, wValues);\n } else {\n vec4 xValues = vec4(\n getX(batch, d1, xR, xC),\n getX(batch, d1 + 1, xR, xC),\n getX(batch, d1 + 2, xR, xC),\n getX(batch, d1 + 3, xR, xC)\n );\n dotProd += dot(xValues, wValues);\n }\n }\n\n if (${1===f}) {\n\n if (${m}) {\n dotProd +=\n getX(batch, xR, xC, ${p}) *\n getW(wR, wC, ${p}, d2);\n } else {\n dotProd +=\n getX(batch, ${p}, xR, xC) *\n getW(wR, wC, ${p}, d2);\n }\n\n } else if (${2===f}) {\n vec2 wValues = vec2(\n getW(wR, wC, ${p}, d2),\n getW(wR, wC, ${p} + 1, d2)\n );\n\n if (${m}) {\n vec2 xValues = vec2(\n getX(batch, xR, xC, ${p}),\n getX(batch, xR, xC, ${p} + 1)\n );\n dotProd += dot(xValues, wValues);\n } else {\n vec2 xValues = vec2(\n getX(batch, ${p}, xR, xC),\n getX(batch, ${p} + 1, xR, xC)\n );\n dotProd += dot(xValues, wValues);\n }\n\n } else if (${3===f}) {\n vec3 wValues = vec3(\n getW(wR, wC, ${p}, d2),\n getW(wR, wC, ${p} + 1, d2),\n getW(wR, wC, ${p} + 2, d2)\n );\n\n if (${m}) {\n vec3 xValues = vec3(\n getX(batch, xR, xC, ${p}),\n getX(batch, xR, xC, ${p} + 1),\n getX(batch, xR, xC, ${p} + 2)\n );\n dotProd += dot(xValues, wValues);\n } else {\n vec3 xValues = vec3(\n getX(batch, ${p}, xR, xC),\n getX(batch, ${p} + 1, xR, xC),\n getX(batch, ${p} + 2, xR, xC)\n );\n dotProd += dot(xValues, wValues);\n }\n\n }\n }\n }\n\n float result = dotProd;\n ${T}\n ${b}\n setOutput(result);\n }\n `}}class Yve{constructor(e){this.variableNames=["x","W"],this.outputShape=e.outShape;const t=e.padInfo.front,n=e.padInfo.top,i=e.padInfo.left,r=e.strideDepth,s=e.strideHeight,o=e.strideWidth,a=e.dilationDepth,l=e.dilationHeight,u=e.dilationWidth,c=e.filterDepth,d=e.filterHeight,h=e.filterWidth,p=4*Math.floor(e.inChannels/4),f=e.inChannels%4;this.userCode=`\n const ivec3 strides = ivec3(${r}, ${s}, ${o});\n const ivec3 pads = ivec3(${t}, ${n}, ${i});\n\n void main() {\n ivec5 coords = getOutputCoords();\n int batch = coords.x;\n int d2 = coords.u;\n\n ivec3 xFRCCorner = ivec3(coords.y, coords.z, coords.w) * strides - pads;\n int xFCorner = xFRCCorner.x;\n int xRCorner = xFRCCorner.y;\n int xCCorner = xFRCCorner.z;\n\n // Convolve x(?, ?, ?, d1) with w(:, :, :, d1, d2) to get\n // y(yF, yR, yC, d2). ? = to be determined. : = across all\n // values in that axis.\n float dotProd = 0.0;\n for (int wF = 0; wF < ${c}; wF++) {\n int xF = xFCorner + wF * ${a};\n\n if (xF < 0 || xF >= ${e.inDepth}) {\n continue;\n }\n\n for (int wR = 0; wR < ${d}; wR++) {\n int xR = xRCorner + wR * ${l};\n\n if (xR < 0 || xR >= ${e.inHeight}) {\n continue;\n }\n\n for (int wC = 0; wC < ${h}; wC++) {\n int xC = xCCorner + wC * ${u};\n\n if (xC < 0 || xC >= ${e.inWidth}) {\n continue;\n }\n\n for (int d1 = 0; d1 < ${p}; d1 += 4) {\n vec4 xValues = vec4(\n getX(batch, xF, xR, xC, d1),\n getX(batch, xF, xR, xC, d1 + 1),\n getX(batch, xF, xR, xC, d1 + 2),\n getX(batch, xF, xR, xC, d1 + 3)\n );\n vec4 wValues = vec4(\n getW(wF, wR, wC, d1, d2),\n getW(wF, wR, wC, d1 + 1, d2),\n getW(wF, wR, wC, d1 + 2, d2),\n getW(wF, wR, wC, d1 + 3, d2)\n );\n\n dotProd += dot(xValues, wValues);\n }\n\n if (${1===f}) {\n dotProd +=\n getX(batch, xF, xR, xC, ${p}) *\n getW(wF, wR, wC, ${p}, d2);\n } else if (${2===f}) {\n vec2 xValues = vec2(\n getX(batch, xF, xR, xC, ${p}),\n getX(batch, xF, xR, xC, ${p} + 1)\n );\n vec2 wValues = vec2(\n getW(wF, wR, wC, ${p}, d2),\n getW(wF, wR, wC, ${p} + 1, d2)\n );\n dotProd += dot(xValues, wValues);\n } else if (${3===f}) {\n vec3 xValues = vec3(\n getX(batch, xF, xR, xC, ${p}),\n getX(batch, xF, xR, xC, ${p} + 1),\n getX(batch, xF, xR, xC, ${p} + 2)\n );\n vec3 wValues = vec3(\n getW(wF, wR, wC, ${p}, d2),\n getW(wF, wR, wC, ${p} + 1, d2),\n getW(wF, wR, wC, ${p} + 2, d2)\n );\n dotProd += dot(xValues, wValues);\n }\n }\n }\n }\n setOutput(dotProd);\n }\n `}} +class qve{constructor(e,t=!1,n=null,i=!1,r=!1){this.variableNames=["x","W"],this.outputShape=e.outShape;const s=e.padInfo.top,o=e.padInfo.left,a=e.strideHeight,l=e.strideWidth,u=e.dilationHeight,c=e.dilationWidth,d=e.filterHeight,h=e.filterWidth,p=4*Math.floor(e.inChannels/4),f=e.inChannels%4,m="channelsLast"===e.dataFormat,g=m?1:2,_=m?2:3,y=m?3:1;let v="",b="";n&&(v=i?`float activation(float a) {\n float b = getPreluActivationWeightsAtOutCoords();\n ${n}\n }`:r?`float activation(float a) {\n float b = getLeakyreluAlphaAtOutCoords();\n ${n}\n }`:`\n float activation(float x) {\n ${n}\n }\n `,b="result = activation(result);");const T=t?"result += getBiasAtOutCoords();":"";t&&this.variableNames.push("bias"),i&&this.variableNames.push("preluActivationWeights"),r&&this.variableNames.push("leakyreluAlpha"),this.userCode=`\n ${v}\n\n const ivec2 strides = ivec2(${a}, ${l});\n const ivec2 pads = ivec2(${s}, ${o});\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords[0];\n int d2 = coords[${y}];\n\n ivec2 xRCCorner =\n ivec2(coords[${g}], coords[${_}]) * strides - pads;\n int xRCorner = xRCCorner.x;\n int xCCorner = xRCCorner.y;\n\n // Convolve x(?, ?, d1) with w(:, :, d1, d2) to get y(yR, yC, d2).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n for (int wR = 0; wR < ${d}; wR++) {\n int xR = xRCorner + wR * ${u};\n\n if (xR < 0 || xR >= ${e.inHeight}) {\n continue;\n }\n\n for (int wC = 0; wC < ${h}; wC++) {\n int xC = xCCorner + wC * ${c};\n\n if (xC < 0 || xC >= ${e.inWidth}) {\n continue;\n }\n\n for (int d1 = 0; d1 < ${p}; d1 += 4) {\n vec4 wValues = vec4(\n getW(wR, wC, d1, d2),\n getW(wR, wC, d1 + 1, d2),\n getW(wR, wC, d1 + 2, d2),\n getW(wR, wC, d1 + 3, d2)\n );\n\n if (${m}) {\n vec4 xValues = vec4(\n getX(batch, xR, xC, d1),\n getX(batch, xR, xC, d1 + 1),\n getX(batch, xR, xC, d1 + 2),\n getX(batch, xR, xC, d1 + 3)\n );\n dotProd += dot(xValues, wValues);\n } else {\n vec4 xValues = vec4(\n getX(batch, d1, xR, xC),\n getX(batch, d1 + 1, xR, xC),\n getX(batch, d1 + 2, xR, xC),\n getX(batch, d1 + 3, xR, xC)\n );\n dotProd += dot(xValues, wValues);\n }\n }\n\n if (${1===f}) {\n\n if (${m}) {\n dotProd +=\n getX(batch, xR, xC, ${p}) *\n getW(wR, wC, ${p}, d2);\n } else {\n dotProd +=\n getX(batch, ${p}, xR, xC) *\n getW(wR, wC, ${p}, d2);\n }\n\n } else if (${2===f}) {\n vec2 wValues = vec2(\n getW(wR, wC, ${p}, d2),\n getW(wR, wC, ${p} + 1, d2)\n );\n\n if (${m}) {\n vec2 xValues = vec2(\n getX(batch, xR, xC, ${p}),\n getX(batch, xR, xC, ${p} + 1)\n );\n dotProd += dot(xValues, wValues);\n } else {\n vec2 xValues = vec2(\n getX(batch, ${p}, xR, xC),\n getX(batch, ${p} + 1, xR, xC)\n );\n dotProd += dot(xValues, wValues);\n }\n\n } else if (${3===f}) {\n vec3 wValues = vec3(\n getW(wR, wC, ${p}, d2),\n getW(wR, wC, ${p} + 1, d2),\n getW(wR, wC, ${p} + 2, d2)\n );\n\n if (${m}) {\n vec3 xValues = vec3(\n getX(batch, xR, xC, ${p}),\n getX(batch, xR, xC, ${p} + 1),\n getX(batch, xR, xC, ${p} + 2)\n );\n dotProd += dot(xValues, wValues);\n } else {\n vec3 xValues = vec3(\n getX(batch, ${p}, xR, xC),\n getX(batch, ${p} + 1, xR, xC),\n getX(batch, ${p} + 2, xR, xC)\n );\n dotProd += dot(xValues, wValues);\n }\n\n }\n }\n }\n\n float result = dotProd;\n ${T}\n ${b}\n setOutput(result);\n }\n `}}class Kve{constructor(e){this.variableNames=["x","W"],this.outputShape=e.outShape;const t=e.padInfo.front,n=e.padInfo.top,i=e.padInfo.left,r=e.strideDepth,s=e.strideHeight,o=e.strideWidth,a=e.dilationDepth,l=e.dilationHeight,u=e.dilationWidth,c=e.filterDepth,d=e.filterHeight,h=e.filterWidth,p=4*Math.floor(e.inChannels/4),f=e.inChannels%4;this.userCode=`\n const ivec3 strides = ivec3(${r}, ${s}, ${o});\n const ivec3 pads = ivec3(${t}, ${n}, ${i});\n\n void main() {\n ivec5 coords = getOutputCoords();\n int batch = coords.x;\n int d2 = coords.u;\n\n ivec3 xFRCCorner = ivec3(coords.y, coords.z, coords.w) * strides - pads;\n int xFCorner = xFRCCorner.x;\n int xRCorner = xFRCCorner.y;\n int xCCorner = xFRCCorner.z;\n\n // Convolve x(?, ?, ?, d1) with w(:, :, :, d1, d2) to get\n // y(yF, yR, yC, d2). ? = to be determined. : = across all\n // values in that axis.\n float dotProd = 0.0;\n for (int wF = 0; wF < ${c}; wF++) {\n int xF = xFCorner + wF * ${a};\n\n if (xF < 0 || xF >= ${e.inDepth}) {\n continue;\n }\n\n for (int wR = 0; wR < ${d}; wR++) {\n int xR = xRCorner + wR * ${l};\n\n if (xR < 0 || xR >= ${e.inHeight}) {\n continue;\n }\n\n for (int wC = 0; wC < ${h}; wC++) {\n int xC = xCCorner + wC * ${u};\n\n if (xC < 0 || xC >= ${e.inWidth}) {\n continue;\n }\n\n for (int d1 = 0; d1 < ${p}; d1 += 4) {\n vec4 xValues = vec4(\n getX(batch, xF, xR, xC, d1),\n getX(batch, xF, xR, xC, d1 + 1),\n getX(batch, xF, xR, xC, d1 + 2),\n getX(batch, xF, xR, xC, d1 + 3)\n );\n vec4 wValues = vec4(\n getW(wF, wR, wC, d1, d2),\n getW(wF, wR, wC, d1 + 1, d2),\n getW(wF, wR, wC, d1 + 2, d2),\n getW(wF, wR, wC, d1 + 3, d2)\n );\n\n dotProd += dot(xValues, wValues);\n }\n\n if (${1===f}) {\n dotProd +=\n getX(batch, xF, xR, xC, ${p}) *\n getW(wF, wR, wC, ${p}, d2);\n } else if (${2===f}) {\n vec2 xValues = vec2(\n getX(batch, xF, xR, xC, ${p}),\n getX(batch, xF, xR, xC, ${p} + 1)\n );\n vec2 wValues = vec2(\n getW(wF, wR, wC, ${p}, d2),\n getW(wF, wR, wC, ${p} + 1, d2)\n );\n dotProd += dot(xValues, wValues);\n } else if (${3===f}) {\n vec3 xValues = vec3(\n getX(batch, xF, xR, xC, ${p}),\n getX(batch, xF, xR, xC, ${p} + 1),\n getX(batch, xF, xR, xC, ${p} + 2)\n );\n vec3 wValues = vec3(\n getW(wF, wR, wC, ${p}, d2),\n getW(wF, wR, wC, ${p} + 1, d2),\n getW(wF, wR, wC, ${p} + 2, d2)\n );\n dotProd += dot(xValues, wValues);\n }\n }\n }\n }\n setOutput(dotProd);\n }\n `}} /** * @license * Copyright 2022 Google LLC. All Rights Reserved. @@ -16223,7 +16223,7 @@ class jve{constructor(e,t=!1,n=null,i=!1,r=!1){this.variableNames=["x","W"],this * limitations under the License. * ============================================================================= */ -class Gve{constructor(e,t=!1,n=null,i=!1,r=!1){this.variableNames=["x","W"],this.packedInputs=!0,this.packedOutput=!0,this.customUniforms=[{name:"pads",type:"ivec2"},{name:"strides",type:"ivec2"},{name:"dilations",type:"ivec2"},{name:"inDims",type:"ivec2"}],this.outputShape=e.outShape,this.enableShapeUniforms=jme(this.outputShape.length);const s=e.padInfo.left,o=e.strideWidth,a=e.dilationWidth,l=e.filterHeight,u=e.filterWidth,c=u;let d="\n int xR; int xC; int xCOffset;\n vec4 wTexel; vec4 previous; vec4 final;";for(let e=0;e=0 && xR < inDims[0]) {\n ";for(let t=0;t<(c+1)/2;t++){const n=2*t;if(d+=`\n xC = xCCorner + ${n*a};\n `,1===o){if(n= 0 && xCOffset < inDims[1] && xTexelC${n}Ready == 0) {\n xTexelC${n} = getX(batch, xR, xCOffset, d1);\n\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${n}.zw = vec2(0.0);\n }\n xTexelC${n}Ready = 1;\n }\n `,d+=1===a&&n>0?`\n xC${n} = vec4(xTexelC${n-2}.zw, xTexelC${n}.xy);\n `:`\n xCOffset = xC + 1 - 2;\n\n if (xCOffset >= 0 && xCOffset < inDims[1]) {\n previous = getX(batch, xR, xCOffset, d1);\n\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xCOffset + 1 >= inDims[1]) {\n previous.zw = vec2(0.0);\n }\n\n xC${n} = vec4(previous.zw, xTexelC${n}.xy);\n } else {\n xC${n} = vec4(0.0, 0.0, xTexelC${n}.xy);\n }\n `):d+=`\n if (xC >= 0 && xC < inDims[1] && xTexelC${n}Ready == 0) {\n xTexelC${n} = getX(batch, xR, xC, d1);\n if (xC + 1 >= inDims[1]) {\n xTexelC${n}.zw = vec2(0.0);\n }\n xTexelC${n}Ready = 1;\n }\n\n xC${n} = xTexelC${n};\n `,n+1= 0 && xCOffset < inDims[1] && xTexelC${n+1}Ready == 0) {\n xTexelC${n+1} = getX(batch, xR, xCOffset, d1);\n\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${n+1}.zw = vec2(0.0);\n }\n xTexelC${n+1}Ready = 1;\n }\n `,d+=a>1?`\n xCOffset -= 2;\n if (xCOffset >= 0 && xCOffset < inDims[1]) {\n previous = getX(batch, xR, xCOffset, d1);\n xC${n+1} = vec4(previous.zw, xTexelC${n+1}.xy);\n } else {\n xC${n+1} = vec4(0.0, 0.0, xTexelC${n+1}.xy);\n }\n `:`\n xC${n+1} = vec4(xTexelC${n}.zw, xTexelC${n+1}.xy);\n `):d+=1===e?`\n xC${n+1} = xTexelC${n};\n `:`\n xCOffset = xC + ${e};\n\n if (xCOffset >= 0 && xCOffset < inDims[1] && xTexelC${n+1}Ready == 0) {\n xTexelC${n+1} = getX(batch, xR, xCOffset, d1);\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${n+1}.zw = vec2(0.0);\n }\n xTexelC${n+1}Ready = 1;\n }\n\n xC${n+1} = xTexelC${n+1};\n `}}else n= 0 && xCOffset < inDims[1] && xTexelC${n}Ready == 0) {\n xTexelC${n} = getX(batch, xR, xCOffset, d1);\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${n}.zw = vec2(0.0);\n }\n xTexelC${n}Ready = 1;\n }\n\n if(xC + 1 >= 0 && xC + 1 < inDims[1] && xTexelC${n+1}Ready == 0) {\n xTexelC${n+1} = getX(batch, xR, xC + 1, d1);\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xC + 2 >= inDims[1]) {\n xTexelC${n+1}.zw = vec2(0.0);\n }\n xTexelC${n+1}Ready = 1;\n }\n\n xC${n} = vec4(xTexelC${n}.zw, xTexelC${n+1}.zw);\n `,n+1= 0 && xCOffset < inDims[1]) {\n final = getX(batch, xR, xCOffset, d1);\n }\n xC${n+1} = vec4(xTexelC${n+1}.xy, final.xy);\n `)):(d+=`\n if(xC >= 0 && xC < inDims[1] && xTexelC${n}Ready == 0) {\n xTexelC${n} = getX(batch, xR, xC, d1);\n if (xC + 1 >= inDims[1]) {\n xTexelC${n}.zw = vec2(0.0);\n }\n xTexelC${n}Ready = 1;\n }\n\n xCOffset = xC + strides[1];\n if(xCOffset >= 0 && xCOffset < inDims[1] && xTexelC${n+1}Ready == 0) {\n xTexelC${n+1} = getX(batch, xR, xCOffset, d1);\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${n+1}.zw = vec2(0.);\n }\n xTexelC${n+1}Ready = 1;\n }\n\n xC${n} = vec4(\n xTexelC${n}.xy, xTexelC${n+1}.xy);\n `,n+1=0 && xR < inDims[0]) {\n ";for(let t=0;t<(c+1)/2;t++){const n=2*t;if(d+=`\n xC = xCCorner + ${n*a};\n `,1===o){if(n= 0 && xCOffset < inDims[1] && xTexelC${n}Ready == 0) {\n xTexelC${n} = getX(batch, xR, xCOffset, d1);\n\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${n}.zw = vec2(0.0);\n }\n xTexelC${n}Ready = 1;\n }\n `,d+=1===a&&n>0?`\n xC${n} = vec4(xTexelC${n-2}.zw, xTexelC${n}.xy);\n `:`\n xCOffset = xC + 1 - 2;\n\n if (xCOffset >= 0 && xCOffset < inDims[1]) {\n previous = getX(batch, xR, xCOffset, d1);\n\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xCOffset + 1 >= inDims[1]) {\n previous.zw = vec2(0.0);\n }\n\n xC${n} = vec4(previous.zw, xTexelC${n}.xy);\n } else {\n xC${n} = vec4(0.0, 0.0, xTexelC${n}.xy);\n }\n `):d+=`\n if (xC >= 0 && xC < inDims[1] && xTexelC${n}Ready == 0) {\n xTexelC${n} = getX(batch, xR, xC, d1);\n if (xC + 1 >= inDims[1]) {\n xTexelC${n}.zw = vec2(0.0);\n }\n xTexelC${n}Ready = 1;\n }\n\n xC${n} = xTexelC${n};\n `,n+1= 0 && xCOffset < inDims[1] && xTexelC${n+1}Ready == 0) {\n xTexelC${n+1} = getX(batch, xR, xCOffset, d1);\n\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${n+1}.zw = vec2(0.0);\n }\n xTexelC${n+1}Ready = 1;\n }\n `,d+=a>1?`\n xCOffset -= 2;\n if (xCOffset >= 0 && xCOffset < inDims[1]) {\n previous = getX(batch, xR, xCOffset, d1);\n xC${n+1} = vec4(previous.zw, xTexelC${n+1}.xy);\n } else {\n xC${n+1} = vec4(0.0, 0.0, xTexelC${n+1}.xy);\n }\n `:`\n xC${n+1} = vec4(xTexelC${n}.zw, xTexelC${n+1}.xy);\n `):d+=1===e?`\n xC${n+1} = xTexelC${n};\n `:`\n xCOffset = xC + ${e};\n\n if (xCOffset >= 0 && xCOffset < inDims[1] && xTexelC${n+1}Ready == 0) {\n xTexelC${n+1} = getX(batch, xR, xCOffset, d1);\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${n+1}.zw = vec2(0.0);\n }\n xTexelC${n+1}Ready = 1;\n }\n\n xC${n+1} = xTexelC${n+1};\n `}}else n= 0 && xCOffset < inDims[1] && xTexelC${n}Ready == 0) {\n xTexelC${n} = getX(batch, xR, xCOffset, d1);\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${n}.zw = vec2(0.0);\n }\n xTexelC${n}Ready = 1;\n }\n\n if(xC + 1 >= 0 && xC + 1 < inDims[1] && xTexelC${n+1}Ready == 0) {\n xTexelC${n+1} = getX(batch, xR, xC + 1, d1);\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xC + 2 >= inDims[1]) {\n xTexelC${n+1}.zw = vec2(0.0);\n }\n xTexelC${n+1}Ready = 1;\n }\n\n xC${n} = vec4(xTexelC${n}.zw, xTexelC${n+1}.zw);\n `,n+1= 0 && xCOffset < inDims[1]) {\n final = getX(batch, xR, xCOffset, d1);\n }\n xC${n+1} = vec4(xTexelC${n+1}.xy, final.xy);\n `)):(d+=`\n if(xC >= 0 && xC < inDims[1] && xTexelC${n}Ready == 0) {\n xTexelC${n} = getX(batch, xR, xC, d1);\n if (xC + 1 >= inDims[1]) {\n xTexelC${n}.zw = vec2(0.0);\n }\n xTexelC${n}Ready = 1;\n }\n\n xCOffset = xC + strides[1];\n if(xCOffset >= 0 && xCOffset < inDims[1] && xTexelC${n+1}Ready == 0) {\n xTexelC${n+1} = getX(batch, xR, xCOffset, d1);\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${n+1}.zw = vec2(0.);\n }\n xTexelC${n+1}Ready = 1;\n }\n\n xC${n} = vec4(\n xTexelC${n}.xy, xTexelC${n+1}.xy);\n `,n+1= 0) {\n // Use custom imod instead mod. On Intel GPU, mod may generate\n // unexpected value.\n // https://github.com/tensorflow/tfjs/issues/5447\n offsetX = imod(blockIndex, outWidth) * stride[1] - pad[1];\n d1 = offsetX + dilation[1] * (imod(pos, itemsPerBlockRow) /\n inChannels);\n\n if(d1 < inputShape[${o}] && d1 >= 0) {\n\n ch = imod(pos, inChannels);\n\n if (${r}) {\n innerDims = vec2(d1, ch);\n result[${2*e+t}] = getChannel(\n getA(rc.x, d0, int(innerDims.x),\n int(innerDims.y)), innerDims);\n } else {\n innerDims = vec2(d0, d1);\n result[${2*e+t}] = getChannel(\n getA(rc.x, ch, int(innerDims.x),\n int(innerDims.y)), innerDims);\n }\n }\n }\n }\n `;this.userCode=`\n void main() {\n ivec3 rc = getOutputCoords();\n\n vec4 result = vec4(0);\n\n int blockIndex, pos, offsetY, d0, offsetX, d1, ch;\n vec2 innerDims;\n\n ${l}\n\n ${i.output} = result;\n }\n `}} +class Qve{constructor(e,t){this.variableNames=["A"],this.packedInputs=!0,this.packedOutput=!0,this.customUniforms=[{name:"inputShape",type:"ivec4"},{name:"pad",type:"ivec2"},{name:"stride",type:"ivec2"},{name:"dilation",type:"ivec2"},{name:"inChannels",type:"int"},{name:"itemsPerBlockRow",type:"int"},{name:"outWidth",type:"int"}],this.outputShape=e,this.enableShapeUniforms=qme(this.outputShape.length);const{dataFormat:n}=t,i=Ame(),r="channelsLast"===n,s=r?1:2,o=r?2:3,a=this.enableShapeUniforms?"if(blockIndex < outShape[2] && pos < outShape[1]) {":`if(blockIndex < ${e[2]} && pos < ${e[1]}) {`;let l="";for(let e=0;e<=1;e++)for(let t=0;t<=1;t++)l+=`\n blockIndex = rc.z + ${t};\n pos = rc.y + ${e};\n\n ${a}\n offsetY = int(blockIndex / outWidth) * stride[0] - pad[0];\n d0 = offsetY + dilation[0] * (pos / itemsPerBlockRow);\n\n if(d0 < inputShape[${s}] && d0 >= 0) {\n // Use custom imod instead mod. On Intel GPU, mod may generate\n // unexpected value.\n // https://github.com/tensorflow/tfjs/issues/5447\n offsetX = imod(blockIndex, outWidth) * stride[1] - pad[1];\n d1 = offsetX + dilation[1] * (imod(pos, itemsPerBlockRow) /\n inChannels);\n\n if(d1 < inputShape[${o}] && d1 >= 0) {\n\n ch = imod(pos, inChannels);\n\n if (${r}) {\n innerDims = vec2(d1, ch);\n result[${2*e+t}] = getChannel(\n getA(rc.x, d0, int(innerDims.x),\n int(innerDims.y)), innerDims);\n } else {\n innerDims = vec2(d0, d1);\n result[${2*e+t}] = getChannel(\n getA(rc.x, ch, int(innerDims.x),\n int(innerDims.y)), innerDims);\n }\n }\n }\n }\n `;this.userCode=`\n void main() {\n ivec3 rc = getOutputCoords();\n\n vec4 result = vec4(0);\n\n int blockIndex, pos, offsetY, d0, offsetX, d1, ch;\n vec2 innerDims;\n\n ${l}\n\n ${i.output} = result;\n }\n `}} /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -16257,7 +16257,7 @@ class Hve{constructor(e,t){this.variableNames=["A"],this.packedInputs=!0,this.pa * limitations under the License. * ============================================================================= */ -function Wve(e,t){const n=e.length;return n>=3?t?[...e.slice(0,-3),e[n-3]*e[n-2],e[n-1]]:[...e.slice(0,-3),e[n-3],e[n-2]*e[n-1]]:!t&&1===n&&e[0]>1?[e[0],1]:null}function Xve({x:e,filter:t,convInfo:n,backend:i,bias:r=null,preluActivationWeights:s=null,leakyreluAlpha:o=0,activation:a=null}){const l=e.shape,u=i.texData.get(e.dataId),c=n.inChannels,d=l[0]*l[1]*l[2],h=n.outChannels,p="channelsLast"===n.dataFormat,f=!1;let m;const g=[];if(null!=s){const e=Wve(s.shape,p);null!=e&&(s=uye({inputs:{x:s},backend:i,attrs:{shape:e}}),g.push(s))}if(null!=r){const e=Wve(r.shape,p);null!=e&&(r=uye({inputs:{x:r},backend:i,attrs:{shape:e}}),g.push(r))}if(!((1===d||1===h)&&c>1e3)&&u.isPacked&&p&&null!=u.texture&&l[2]%2!=0&&p3.util.arraysEqual(u.shape.slice(-3),l.slice(-3))){const c=l[0]*l[1]*(l[2]+1),d={dataId:e.dataId,shape:[1,c,n.inChannels],dtype:e.dtype},h=u.shape;u.shape=u.shape.slice(),u.shape[u.shape.length-2]++,p3.util.assert(rme(u.shape,d.shape),()=>`packed reshape ${u.shape} to ${d.shape} isn't free`);const p=uye({inputs:{x:t},backend:i,attrs:{shape:[1,n.inChannels,n.outChannels]}});g.push(p);const _=Tye({a:d,b:p,backend:i,transposeA:false,transposeB:f,bias:r,activation:a,preluActivationWeights:s,leakyreluAlpha:o}),y=i.texData.get(_.dataId);p3.util.assert(y.isPacked,()=>"batchMatMul result is expected to be packed"),u.shape=h,y.shape=n.outShape,m=z_e({inputs:{x:_},backend:i}),m.shape=n.outShape,g.push(_)}else{const l=n.outHeight*n.outWidth,u=uye({inputs:{x:e},backend:i,attrs:{shape:p?[n.batchSize,l,n.inChannels]:[n.batchSize,n.inChannels,l]}}),c=uye({inputs:{x:t},backend:i,attrs:{shape:[1,n.inChannels,n.outChannels]}}),d=Tye({a:p?u:c,b:p?c:u,transposeA:!p,transposeB:f,backend:i,bias:r,activation:a,preluActivationWeights:s,leakyreluAlpha:o});m=uye({inputs:{x:d},backend:i,attrs:{shape:n.outShape}}),g.push(u),g.push(c),g.push(d)}for(const e of g)i.disposeIntermediateTensorInfo(e);return m}function qve({x:e,filter:t,convInfo:n,backend:i,bias:r=null,preluActivationWeights:s=null,leakyreluAlpha:o=0,activation:a=null}){const{filterWidth:l,filterHeight:u,inChannels:c,outWidth:d,outHeight:h,dataFormat:p}=n,f="channelsLast"===p,m=l*u*c,g=h*d,_=[n.batchSize,m,g],y=[];if(null!=s){const e=Wve(s.shape,f);null!=e&&(s=uye({inputs:{x:s},backend:i,attrs:{shape:e}}),y.push(s))}if(null!=r){const e=Wve(r.shape,f);null!=e&&(r=uye({inputs:{x:r},backend:i,attrs:{shape:e}}),y.push(r))}const v=uye({inputs:{x:t},backend:i,attrs:{shape:[1,m,p3.util.sizeFromShape(t.shape)/m]}});y.push(v);const b=new Hve(_,n),T=[e.shape,[n.padInfo.top,n.padInfo.left],[n.strideHeight,n.strideWidth],[n.dilationHeight,n.dilationWidth],[n.inChannels],[n.filterWidth*n.inChannels],[n.outWidth]],x=i.runWebGLProgram(b,[e],"float32",T),E=uye({inputs:{x},backend:i,attrs:{shape:_}});y.push(x),y.push(E);const w=null!=r,I=null!=s,A="leakyrelu"===a,S=a?tye(a,!0):null,C=new nye(f?E.shape:v.shape,f?v.shape:E.shape,f?[n.batchSize,g,n.outChannels]:[n.batchSize,n.outChannels,g],!0,!1,w,S,I,A),O=f?[E,v]:[v,E];if(r&&O.push(r),I&&O.push(s),A){const e=i.makeTensorInfo([],"float32",p3.util.createScalarValue(o,"float32"));O.push(e),y.push(e)}const M=i.runWebGLProgram(C,O,"float32"),k=uye({inputs:{x:M},backend:i,attrs:{shape:n.outShape}});y.push(M);for(const e of y)i.disposeIntermediateTensorInfo(e);return k}const Kve={kernelName:p3.Conv2D,backendName:"webgl",kernelFunc: +function Jve(e,t){const n=e.length;return n>=3?t?[...e.slice(0,-3),e[n-3]*e[n-2],e[n-1]]:[...e.slice(0,-3),e[n-3],e[n-2]*e[n-1]]:!t&&1===n&&e[0]>1?[e[0],1]:null}function ebe({x:e,filter:t,convInfo:n,backend:i,bias:r=null,preluActivationWeights:s=null,leakyreluAlpha:o=0,activation:a=null}){const l=e.shape,u=i.texData.get(e.dataId),c=n.inChannels,d=l[0]*l[1]*l[2],h=n.outChannels,p="channelsLast"===n.dataFormat,f=!1;let m;const g=[];if(null!=s){const e=Jve(s.shape,p);null!=e&&(s=mye({inputs:{x:s},backend:i,attrs:{shape:e}}),g.push(s))}if(null!=r){const e=Jve(r.shape,p);null!=e&&(r=mye({inputs:{x:r},backend:i,attrs:{shape:e}}),g.push(r))}if(!((1===d||1===h)&&c>1e3)&&u.isPacked&&p&&null!=u.texture&&l[2]%2!=0&&v3.util.arraysEqual(u.shape.slice(-3),l.slice(-3))){const c=l[0]*l[1]*(l[2]+1),d={dataId:e.dataId,shape:[1,c,n.inChannels],dtype:e.dtype},h=u.shape;u.shape=u.shape.slice(),u.shape[u.shape.length-2]++,v3.util.assert(cme(u.shape,d.shape),()=>`packed reshape ${u.shape} to ${d.shape} isn't free`);const p=mye({inputs:{x:t},backend:i,attrs:{shape:[1,n.inChannels,n.outChannels]}});g.push(p);const _=Sye({a:d,b:p,backend:i,transposeA:false,transposeB:f,bias:r,activation:a,preluActivationWeights:s,leakyreluAlpha:o}),y=i.texData.get(_.dataId);v3.util.assert(y.isPacked,()=>"batchMatMul result is expected to be packed"),u.shape=h,y.shape=n.outShape,m=X_e({inputs:{x:_},backend:i}),m.shape=n.outShape,g.push(_)}else{const l=n.outHeight*n.outWidth,u=mye({inputs:{x:e},backend:i,attrs:{shape:p?[n.batchSize,l,n.inChannels]:[n.batchSize,n.inChannels,l]}}),c=mye({inputs:{x:t},backend:i,attrs:{shape:[1,n.inChannels,n.outChannels]}}),d=Sye({a:p?u:c,b:p?c:u,transposeA:!p,transposeB:f,backend:i,bias:r,activation:a,preluActivationWeights:s,leakyreluAlpha:o});m=mye({inputs:{x:d},backend:i,attrs:{shape:n.outShape}}),g.push(u),g.push(c),g.push(d)}for(const e of g)i.disposeIntermediateTensorInfo(e);return m}function tbe({x:e,filter:t,convInfo:n,backend:i,bias:r=null,preluActivationWeights:s=null,leakyreluAlpha:o=0,activation:a=null}){const{filterWidth:l,filterHeight:u,inChannels:c,outWidth:d,outHeight:h,dataFormat:p}=n,f="channelsLast"===p,m=l*u*c,g=h*d,_=[n.batchSize,m,g],y=[];if(null!=s){const e=Jve(s.shape,f);null!=e&&(s=mye({inputs:{x:s},backend:i,attrs:{shape:e}}),y.push(s))}if(null!=r){const e=Jve(r.shape,f);null!=e&&(r=mye({inputs:{x:r},backend:i,attrs:{shape:e}}),y.push(r))}const v=mye({inputs:{x:t},backend:i,attrs:{shape:[1,m,v3.util.sizeFromShape(t.shape)/m]}});y.push(v);const b=new Qve(_,n),T=[e.shape,[n.padInfo.top,n.padInfo.left],[n.strideHeight,n.strideWidth],[n.dilationHeight,n.dilationWidth],[n.inChannels],[n.filterWidth*n.inChannels],[n.outWidth]],x=i.runWebGLProgram(b,[e],"float32",T),E=mye({inputs:{x},backend:i,attrs:{shape:_}});y.push(x),y.push(E);const w=null!=r,I=null!=s,A="leakyrelu"===a,S=a?aye(a,!0):null,C=new lye(f?E.shape:v.shape,f?v.shape:E.shape,f?[n.batchSize,g,n.outChannels]:[n.batchSize,n.outChannels,g],!0,!1,w,S,I,A),O=f?[E,v]:[v,E];if(r&&O.push(r),I&&O.push(s),A){const e=i.makeTensorInfo([],"float32",v3.util.createScalarValue(o,"float32"));O.push(e),y.push(e)}const M=i.runWebGLProgram(C,O,"float32"),k=mye({inputs:{x:M},backend:i,attrs:{shape:n.outShape}});y.push(M);for(const e of y)i.disposeIntermediateTensorInfo(e);return k}const nbe={kernelName:v3.Conv2D,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -16274,7 +16274,7 @@ function Wve(e,t){const n=e.length;return n>=3?t?[...e.slice(0,-3),e[n-3]*e[n-2] * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r,filter:s}=t,{strides:o,pad:a,dataFormat:l,dilations:u,dimRoundingMode:c}=i,d=p3.backend_util.convertConv2DDataFormat(l),h=p3.backend_util.computeConv2DInfo(r.shape,s.shape,o,u,a,c,!1,d);let p;if(1!==h.filterHeight||1!==h.filterWidth||1!==h.dilationHeight||1!==h.dilationWidth||1!==h.strideHeight||1!==h.strideWidth||"SAME"!==h.padInfo.type&&"VALID"!==h.padInfo.type)if(h.strideWidth<=2&&"channelsLast"===d&&(0,p3.env)().getBool("WEBGL_EXP_CONV")){const e=new Gve(h),t=[[h.padInfo.top,h.padInfo.left],[h.strideHeight,h.strideWidth],[h.dilationHeight,h.dilationWidth],[h.inHeight,h.inWidth]];p=n.runWebGLProgram(e,[r,s],"float32",t)}else if((0,p3.env)().getBool("WEBGL_CONV_IM2COL"))p=qve({x:r,filter:s,convInfo:h,backend:n});else{const e=new jve(h);p=n.runWebGLProgram(e,[r,s],"float32")}else p=Xve({x:r,filter:s,convInfo:h,backend:n});const f=uye({inputs:{x:p},backend:n,attrs:{shape:h.outShape}});return n.disposeIntermediateTensorInfo(p),f}}; +function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r,filter:s}=t,{strides:o,pad:a,dataFormat:l,dilations:u,dimRoundingMode:c}=i,d=v3.backend_util.convertConv2DDataFormat(l),h=v3.backend_util.computeConv2DInfo(r.shape,s.shape,o,u,a,c,!1,d);let p;if(1!==h.filterHeight||1!==h.filterWidth||1!==h.dilationHeight||1!==h.dilationWidth||1!==h.strideHeight||1!==h.strideWidth||"SAME"!==h.padInfo.type&&"VALID"!==h.padInfo.type)if(h.strideWidth<=2&&"channelsLast"===d&&(0,v3.env)().getBool("WEBGL_EXP_CONV")){const e=new Zve(h),t=[[h.padInfo.top,h.padInfo.left],[h.strideHeight,h.strideWidth],[h.dilationHeight,h.dilationWidth],[h.inHeight,h.inWidth]];p=n.runWebGLProgram(e,[r,s],"float32",t)}else if((0,v3.env)().getBool("WEBGL_CONV_IM2COL"))p=tbe({x:r,filter:s,convInfo:h,backend:n});else{const e=new qve(h);p=n.runWebGLProgram(e,[r,s],"float32")}else p=ebe({x:r,filter:s,convInfo:h,backend:n});const f=mye({inputs:{x:p},backend:n,attrs:{shape:h.outShape}});return n.disposeIntermediateTensorInfo(p),f}}; /** * @license * Copyright 2017 Google LLC. All Rights Reserved. @@ -16291,7 +16291,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r,filter:s}=t,{strides:o,pad: * limitations under the License. * ============================================================================= */ -class Zve{constructor(e){this.variableNames=["x","dy"],this.outputShape=e.filterShape;const t=e.strideHeight,n=e.strideWidth,i=e.padInfo.top,r=e.padInfo.left,s="channelsLast"===e.dataFormat;this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int wR = coords.x;\n int wC = coords.y;\n int d1 = coords.z;\n int d2 = coords.w;\n\n // Convolve x(?, ?, d1) with dy(:, :, d2) to get dw(wR, wC, d1, d2).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n\n for (int b = 0; b < ${e.batchSize}; b++) {\n for (int yR = 0; yR < ${e.outHeight}; yR++) {\n int xR = wR + yR * ${t} - ${i};\n\n if (xR < 0 || xR >= ${e.inHeight}) {\n continue;\n }\n\n for (int yC = 0; yC < ${e.outWidth}; yC++) {\n int xC = wC + yC * ${n} - ${r};\n\n if (xC < 0 || xC >= ${e.inWidth}) {\n continue;\n }\n\n ${s?"float dyValue = getDy(b, yR, yC, d2);\n float xValue = getX(b, xR, xC, d1);\n dotProd += (xValue * dyValue);":"float dyValue = getDy(b, d2, yR, yC);\n float xValue = getX(b, d1, xR, xC);\n dotProd += (xValue * dyValue);"}\n }\n }\n }\n setOutput(dotProd);\n }\n `}}class Qve{constructor(e){this.variableNames=["dy","W"],this.outputShape=e.inShape;const t=e.filterHeight,n=e.filterWidth,i=e.strideHeight,r=e.strideWidth,s="channelsLast"===e.dataFormat,o=t-1-e.padInfo.top,a=n-1-e.padInfo.left,l=s?1:2,u=s?2:3,c=s?3:1;this.userCode=`\n const ivec2 pads = ivec2(${o}, ${a});\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords[0];\n int d1 = coords[${c}];\n\n ivec2 dyCorner = ivec2(coords[${l}], coords[${u}]) - pads;\n int dyRCorner = dyCorner.x;\n int dyCCorner = dyCorner.y;\n\n // Convolve dy(?, ?, d2) with w(:, :, d1, d2) to compute dx(xR, xC, d1).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n for (int wR = 0; wR < ${t}; wR++) {\n float dyR = float(dyRCorner + wR) / ${i}.0;\n\n if (dyR < 0.0 || dyR >= ${e.outHeight}.0 || fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n\n int wRPerm = ${t} - 1 - wR;\n\n for (int wC = 0; wC < ${n}; wC++) {\n float dyC = float(dyCCorner + wC) / ${r}.0;\n\n if (dyC < 0.0 || dyC >= ${e.outWidth}.0 ||\n fract(dyC) > 0.0) {\n continue;\n }\n int idyC = int(dyC);\n\n int wCPerm = ${n} - 1 - wC;\n\n for (int d2 = 0; d2 < ${e.outChannels}; d2++) {\n\n if (${s}) {\n float xValue = getDy(batch, idyR, idyC, d2);\n float wValue = getW(wRPerm, wCPerm, d1, d2);\n dotProd += xValue * wValue;\n } else {\n float xValue = getDy(batch, d2, idyR, idyC);\n float wValue = getW(wRPerm, wCPerm, d1, d2);\n dotProd += xValue * wValue;\n }\n\n }\n }\n }\n setOutput(dotProd);\n }\n `}}class Jve{constructor(e){this.variableNames=["x","dy"],this.outputShape=e.filterShape;const t=e.strideDepth,n=e.strideHeight,i=e.strideWidth,r=e.padInfo.front,s=e.padInfo.top,o=e.padInfo.left;this.userCode=`\n void main() {\n ivec5 coords = getOutputCoords();\n int wF = coords.x;\n int wR = coords.y;\n int wC = coords.z;\n int d1 = coords.w;\n int d2 = coords.u;\n\n float dotProd = 0.0;\n\n for (int b = 0; b < ${e.batchSize}; b++) {\n for (int yF = 0; yF < ${e.outDepth}; yF++) {\n int xF = wF + yF * ${t} - ${r};\n\n if (xF < 0 || xF >= ${e.inDepth}) {\n continue;\n }\n\n for (int yR = 0; yR < ${e.outHeight}; yR++) {\n int xR = wR + yR * ${n} - ${s};\n\n if (xR < 0 || xR >= ${e.inHeight}) {\n continue;\n }\n\n for (int yC = 0; yC < ${e.outWidth}; yC++) {\n int xC = wC + yC * ${i} - ${o};\n\n if (xC < 0 || xC >= ${e.inWidth}) {\n continue;\n }\n\n float dyValue = getDy(b, yF, yR, yC, d2);\n float xValue = getX(b, xF, xR, xC, d1);\n dotProd += (xValue * dyValue);\n }\n }\n }\n }\n setOutput(dotProd);\n }\n `}}class ebe{constructor(e){this.variableNames=["dy","W"],this.outputShape=e.inShape;const t=e.filterDepth,n=e.filterHeight,i=e.filterWidth,r=e.strideDepth,s=e.strideHeight,o=e.strideWidth,a=t-1-e.padInfo.front,l=n-1-e.padInfo.top,u=i-1-e.padInfo.left;this.userCode=`\n const ivec3 pads = ivec3(${a}, ${l}, ${u});\n\n void main() {\n ivec5 coords = getOutputCoords();\n int batch = coords.x;\n int d1 = coords.u;\n\n\n ivec3 dyCorner = ivec3(coords.y, coords.z, coords.w) - pads;\n int dyFCorner = dyCorner.x;\n int dyRCorner = dyCorner.y;\n int dyCCorner = dyCorner.z;\n\n float dotProd = 0.0;\n for (int wF = 0; wF < ${t}; wF++) {\n float dyF = float(dyFCorner + wF) / ${r}.0;\n\n if (dyF < 0.0 || dyF >= ${e.outDepth}.0 || fract(dyF) > 0.0) {\n continue;\n }\n int idyF = int(dyF);\n\n int wFPerm = ${t} - 1 - wF;\n\n for (int wR = 0; wR < ${n}; wR++) {\n float dyR = float(dyRCorner + wR) / ${s}.0;\n\n if (dyR < 0.0 || dyR >= ${e.outHeight}.0 ||\n fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n\n int wRPerm = ${n} - 1 - wR;\n\n for (int wC = 0; wC < ${i}; wC++) {\n float dyC = float(dyCCorner + wC) / ${o}.0;\n\n if (dyC < 0.0 || dyC >= ${e.outWidth}.0 ||\n fract(dyC) > 0.0) {\n continue;\n }\n int idyC = int(dyC);\n\n int wCPerm = ${i} - 1 - wC;\n\n for (int d2 = 0; d2 < ${e.outChannels}; d2++) {\n float xValue = getDy(batch, idyF, idyR, idyC, d2);\n float wValue = getW(wFPerm, wRPerm, wCPerm, d1, d2);\n dotProd += xValue * wValue;\n }\n }\n }\n }\n setOutput(dotProd);\n }\n `}}const tbe={kernelName:p3.Conv2DBackpropFilter,backendName:"webgl",kernelFunc: +class ibe{constructor(e){this.variableNames=["x","dy"],this.outputShape=e.filterShape;const t=e.strideHeight,n=e.strideWidth,i=e.padInfo.top,r=e.padInfo.left,s="channelsLast"===e.dataFormat;this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int wR = coords.x;\n int wC = coords.y;\n int d1 = coords.z;\n int d2 = coords.w;\n\n // Convolve x(?, ?, d1) with dy(:, :, d2) to get dw(wR, wC, d1, d2).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n\n for (int b = 0; b < ${e.batchSize}; b++) {\n for (int yR = 0; yR < ${e.outHeight}; yR++) {\n int xR = wR + yR * ${t} - ${i};\n\n if (xR < 0 || xR >= ${e.inHeight}) {\n continue;\n }\n\n for (int yC = 0; yC < ${e.outWidth}; yC++) {\n int xC = wC + yC * ${n} - ${r};\n\n if (xC < 0 || xC >= ${e.inWidth}) {\n continue;\n }\n\n ${s?"float dyValue = getDy(b, yR, yC, d2);\n float xValue = getX(b, xR, xC, d1);\n dotProd += (xValue * dyValue);":"float dyValue = getDy(b, d2, yR, yC);\n float xValue = getX(b, d1, xR, xC);\n dotProd += (xValue * dyValue);"}\n }\n }\n }\n setOutput(dotProd);\n }\n `}}class rbe{constructor(e){this.variableNames=["dy","W"],this.outputShape=e.inShape;const t=e.filterHeight,n=e.filterWidth,i=e.strideHeight,r=e.strideWidth,s="channelsLast"===e.dataFormat,o=t-1-e.padInfo.top,a=n-1-e.padInfo.left,l=s?1:2,u=s?2:3,c=s?3:1;this.userCode=`\n const ivec2 pads = ivec2(${o}, ${a});\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords[0];\n int d1 = coords[${c}];\n\n ivec2 dyCorner = ivec2(coords[${l}], coords[${u}]) - pads;\n int dyRCorner = dyCorner.x;\n int dyCCorner = dyCorner.y;\n\n // Convolve dy(?, ?, d2) with w(:, :, d1, d2) to compute dx(xR, xC, d1).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n for (int wR = 0; wR < ${t}; wR++) {\n float dyR = float(dyRCorner + wR) / ${i}.0;\n\n if (dyR < 0.0 || dyR >= ${e.outHeight}.0 || fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n\n int wRPerm = ${t} - 1 - wR;\n\n for (int wC = 0; wC < ${n}; wC++) {\n float dyC = float(dyCCorner + wC) / ${r}.0;\n\n if (dyC < 0.0 || dyC >= ${e.outWidth}.0 ||\n fract(dyC) > 0.0) {\n continue;\n }\n int idyC = int(dyC);\n\n int wCPerm = ${n} - 1 - wC;\n\n for (int d2 = 0; d2 < ${e.outChannels}; d2++) {\n\n if (${s}) {\n float xValue = getDy(batch, idyR, idyC, d2);\n float wValue = getW(wRPerm, wCPerm, d1, d2);\n dotProd += xValue * wValue;\n } else {\n float xValue = getDy(batch, d2, idyR, idyC);\n float wValue = getW(wRPerm, wCPerm, d1, d2);\n dotProd += xValue * wValue;\n }\n\n }\n }\n }\n setOutput(dotProd);\n }\n `}}class sbe{constructor(e){this.variableNames=["x","dy"],this.outputShape=e.filterShape;const t=e.strideDepth,n=e.strideHeight,i=e.strideWidth,r=e.padInfo.front,s=e.padInfo.top,o=e.padInfo.left;this.userCode=`\n void main() {\n ivec5 coords = getOutputCoords();\n int wF = coords.x;\n int wR = coords.y;\n int wC = coords.z;\n int d1 = coords.w;\n int d2 = coords.u;\n\n float dotProd = 0.0;\n\n for (int b = 0; b < ${e.batchSize}; b++) {\n for (int yF = 0; yF < ${e.outDepth}; yF++) {\n int xF = wF + yF * ${t} - ${r};\n\n if (xF < 0 || xF >= ${e.inDepth}) {\n continue;\n }\n\n for (int yR = 0; yR < ${e.outHeight}; yR++) {\n int xR = wR + yR * ${n} - ${s};\n\n if (xR < 0 || xR >= ${e.inHeight}) {\n continue;\n }\n\n for (int yC = 0; yC < ${e.outWidth}; yC++) {\n int xC = wC + yC * ${i} - ${o};\n\n if (xC < 0 || xC >= ${e.inWidth}) {\n continue;\n }\n\n float dyValue = getDy(b, yF, yR, yC, d2);\n float xValue = getX(b, xF, xR, xC, d1);\n dotProd += (xValue * dyValue);\n }\n }\n }\n }\n setOutput(dotProd);\n }\n `}}class obe{constructor(e){this.variableNames=["dy","W"],this.outputShape=e.inShape;const t=e.filterDepth,n=e.filterHeight,i=e.filterWidth,r=e.strideDepth,s=e.strideHeight,o=e.strideWidth,a=t-1-e.padInfo.front,l=n-1-e.padInfo.top,u=i-1-e.padInfo.left;this.userCode=`\n const ivec3 pads = ivec3(${a}, ${l}, ${u});\n\n void main() {\n ivec5 coords = getOutputCoords();\n int batch = coords.x;\n int d1 = coords.u;\n\n\n ivec3 dyCorner = ivec3(coords.y, coords.z, coords.w) - pads;\n int dyFCorner = dyCorner.x;\n int dyRCorner = dyCorner.y;\n int dyCCorner = dyCorner.z;\n\n float dotProd = 0.0;\n for (int wF = 0; wF < ${t}; wF++) {\n float dyF = float(dyFCorner + wF) / ${r}.0;\n\n if (dyF < 0.0 || dyF >= ${e.outDepth}.0 || fract(dyF) > 0.0) {\n continue;\n }\n int idyF = int(dyF);\n\n int wFPerm = ${t} - 1 - wF;\n\n for (int wR = 0; wR < ${n}; wR++) {\n float dyR = float(dyRCorner + wR) / ${s}.0;\n\n if (dyR < 0.0 || dyR >= ${e.outHeight}.0 ||\n fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n\n int wRPerm = ${n} - 1 - wR;\n\n for (int wC = 0; wC < ${i}; wC++) {\n float dyC = float(dyCCorner + wC) / ${o}.0;\n\n if (dyC < 0.0 || dyC >= ${e.outWidth}.0 ||\n fract(dyC) > 0.0) {\n continue;\n }\n int idyC = int(dyC);\n\n int wCPerm = ${i} - 1 - wC;\n\n for (int d2 = 0; d2 < ${e.outChannels}; d2++) {\n float xValue = getDy(batch, idyF, idyR, idyC, d2);\n float wValue = getW(wFPerm, wRPerm, wCPerm, d1, d2);\n dotProd += xValue * wValue;\n }\n }\n }\n }\n setOutput(dotProd);\n }\n `}}const abe={kernelName:v3.Conv2DBackpropFilter,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -16308,7 +16308,7 @@ class Zve{constructor(e){this.variableNames=["x","dy"],this.outputShape=e.filter * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r,dy:s}=t,{strides:o,pad:a,dataFormat:l,dimRoundingMode:u,filterShape:c}=i,d=p3.backend_util.convertConv2DDataFormat(l),h=p3.backend_util.computeConv2DInfo(r.shape,c,o,1,a,u,!1,d),p=new Zve(h);return n.runWebGLProgram(p,[r,s],"float32")}}; +function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r,dy:s}=t,{strides:o,pad:a,dataFormat:l,dimRoundingMode:u,filterShape:c}=i,d=v3.backend_util.convertConv2DDataFormat(l),h=v3.backend_util.computeConv2DInfo(r.shape,c,o,1,a,u,!1,d),p=new ibe(h);return n.runWebGLProgram(p,[r,s],"float32")}}; /** * @license * Copyright 2023 Google LLC. @@ -16325,7 +16325,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r,dy:s}=t,{strides:o,pad:a,da * limitations under the License. * ============================================================================= */ -class nbe{constructor(e){this.variableNames=["dy","W"],this.packedInputs=!0,this.packedOutput=!0,this.customUniforms=[{name:"strides",type:"vec2"}],this.outputShape=e.inShape,this.enableShapeUniforms=jme(this.outputShape.length);const t=e.filterHeight,n=e.filterWidth,i=t-1-e.padInfo.top,r=n-1-e.padInfo.left;this.userCode=`\n const ivec2 pads = ivec2(${i}, ${r});\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords[0];\n int d1 = coords[3];\n\n ivec2 dyCorner = ivec2(coords[1], coords[2]) - pads;\n int dyRCorner = dyCorner.x;\n int dyCCorner = dyCorner.y;\n\n vec4 result = vec4(0.);\n for (int wR = 0; wR < ${t}; wR++) {\n float dyR = float(dyRCorner + wR) / strides[0];\n if (dyR < 0.0 || dyR >= ${e.outHeight}.0 || fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n int wRPerm = ${t} - 1 - wR;\n\n for (int wC = 0; wC < ${n}; wC++) {\n int wCPerm = ${n} - 1 - wC;\n\n float dyC = float(dyCCorner + wC) / strides[1];\n bool idyCVal = (dyC >= 0.0) && (dyC < ${e.outWidth}.0)\n && (fract(dyC) == 0.0);\n int idyC = int(dyC);\n\n float dyC2 = float(dyCCorner + wC + 1) / strides[1];\n bool idyCVal2 = (dyC2 >= 0.0) && (dyC2 < ${e.outWidth}.0)\n && (fract(dyC2) == 0.0);\n int idyC2 = int(dyC2);\n\n if (idyCVal && idyCVal2) {\n for (int d2 = 0; d2 < ${e.outChannels}; d2 += 2) {\n vec4 wValue = getW(wRPerm, wCPerm, d1, d2);\n vec4 dySample = getDy(batch, idyR, idyC, d2);\n vec4 dySample2 = (idyC / 2 == idyC2 / 2) ?\n dySample : getDy(batch, idyR, idyC2, d2);\n\n vec2 dyValue = mod(float(idyC), 2.) == 0. ?\n dySample.xy : dySample.zw;\n result.xy += vec2(dot(dyValue, wValue.xy),\n dot(dyValue, wValue.zw));\n\n dyValue = mod(float(idyC2), 2.) == 0. ?\n dySample2.xy : dySample2.zw;\n result.zw += vec2(dot(dyValue, wValue.xy),\n dot(dyValue, wValue.zw));\n }\n } else if (idyCVal) {\n for (int d2 = 0; d2 < ${e.outChannels}; d2 += 2) {\n vec4 wValue = getW(wRPerm, wCPerm, d1, d2);\n vec4 dySample = getDy(batch, idyR, idyC, d2);\n vec2 dyValue = mod(float(idyC), 2.) == 0. ?\n dySample.xy : dySample.zw;\n result.xy += vec2(dot(dyValue, wValue.xy),\n dot(dyValue, wValue.zw));\n }\n } else if (idyCVal2) {\n for (int d2 = 0; d2 < ${e.outChannels}; d2 += 2) {\n vec4 wValue = getW(wRPerm, wCPerm, d1, d2);\n vec4 dySample = getDy(batch, idyR, idyC2, d2);\n vec2 dyValue = mod(float(idyC2), 2.) == 0. ?\n dySample.xy : dySample.zw;\n result.zw += vec2(dot(dyValue, wValue.xy),\n dot(dyValue, wValue.zw));\n }\n }\n }\n }\n setOutput(result);\n }\n `}}const ibe={kernelName:p3.Conv2DBackpropInput,backendName:"webgl",kernelFunc: +class lbe{constructor(e){this.variableNames=["dy","W"],this.packedInputs=!0,this.packedOutput=!0,this.customUniforms=[{name:"strides",type:"vec2"}],this.outputShape=e.inShape,this.enableShapeUniforms=qme(this.outputShape.length);const t=e.filterHeight,n=e.filterWidth,i=t-1-e.padInfo.top,r=n-1-e.padInfo.left;this.userCode=`\n const ivec2 pads = ivec2(${i}, ${r});\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords[0];\n int d1 = coords[3];\n\n ivec2 dyCorner = ivec2(coords[1], coords[2]) - pads;\n int dyRCorner = dyCorner.x;\n int dyCCorner = dyCorner.y;\n\n vec4 result = vec4(0.);\n for (int wR = 0; wR < ${t}; wR++) {\n float dyR = float(dyRCorner + wR) / strides[0];\n if (dyR < 0.0 || dyR >= ${e.outHeight}.0 || fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n int wRPerm = ${t} - 1 - wR;\n\n for (int wC = 0; wC < ${n}; wC++) {\n int wCPerm = ${n} - 1 - wC;\n\n float dyC = float(dyCCorner + wC) / strides[1];\n bool idyCVal = (dyC >= 0.0) && (dyC < ${e.outWidth}.0)\n && (fract(dyC) == 0.0);\n int idyC = int(dyC);\n\n float dyC2 = float(dyCCorner + wC + 1) / strides[1];\n bool idyCVal2 = (dyC2 >= 0.0) && (dyC2 < ${e.outWidth}.0)\n && (fract(dyC2) == 0.0);\n int idyC2 = int(dyC2);\n\n if (idyCVal && idyCVal2) {\n for (int d2 = 0; d2 < ${e.outChannels}; d2 += 2) {\n vec4 wValue = getW(wRPerm, wCPerm, d1, d2);\n vec4 dySample = getDy(batch, idyR, idyC, d2);\n vec4 dySample2 = (idyC / 2 == idyC2 / 2) ?\n dySample : getDy(batch, idyR, idyC2, d2);\n\n vec2 dyValue = mod(float(idyC), 2.) == 0. ?\n dySample.xy : dySample.zw;\n result.xy += vec2(dot(dyValue, wValue.xy),\n dot(dyValue, wValue.zw));\n\n dyValue = mod(float(idyC2), 2.) == 0. ?\n dySample2.xy : dySample2.zw;\n result.zw += vec2(dot(dyValue, wValue.xy),\n dot(dyValue, wValue.zw));\n }\n } else if (idyCVal) {\n for (int d2 = 0; d2 < ${e.outChannels}; d2 += 2) {\n vec4 wValue = getW(wRPerm, wCPerm, d1, d2);\n vec4 dySample = getDy(batch, idyR, idyC, d2);\n vec2 dyValue = mod(float(idyC), 2.) == 0. ?\n dySample.xy : dySample.zw;\n result.xy += vec2(dot(dyValue, wValue.xy),\n dot(dyValue, wValue.zw));\n }\n } else if (idyCVal2) {\n for (int d2 = 0; d2 < ${e.outChannels}; d2 += 2) {\n vec4 wValue = getW(wRPerm, wCPerm, d1, d2);\n vec4 dySample = getDy(batch, idyR, idyC2, d2);\n vec2 dyValue = mod(float(idyC2), 2.) == 0. ?\n dySample.xy : dySample.zw;\n result.zw += vec2(dot(dyValue, wValue.xy),\n dot(dyValue, wValue.zw));\n }\n }\n }\n }\n setOutput(result);\n }\n `}}const ube={kernelName:v3.Conv2DBackpropInput,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -16342,7 +16342,7 @@ class nbe{constructor(e){this.variableNames=["dy","W"],this.packedInputs=!0,this * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{dy:r,filter:s}=t,{inputShape:o,strides:a,pad:l,dataFormat:u,dimRoundingMode:c}=i,d=p3.backend_util.convertConv2DDataFormat(u),h=p3.backend_util.computeConv2DInfo(o,s.shape,a,1,l,c,!1,d);if((0,p3.env)().getBool("WEBGL_PACK_CONV2DTRANSPOSE")&&"channelsLast"===d){const e=[[h.strideHeight,h.strideWidth]],t=new nbe(h);return n.runWebGLProgram(t,[r,s],"float32",e)}{const e=new Qve(h);return n.runWebGLProgram(e,[r,s],"float32")}}};const rbe={kernelName:p3.Conv3D,backendName:"webgl",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{dy:r,filter:s}=t,{inputShape:o,strides:a,pad:l,dataFormat:u,dimRoundingMode:c}=i,d=v3.backend_util.convertConv2DDataFormat(u),h=v3.backend_util.computeConv2DInfo(o,s.shape,a,1,l,c,!1,d);if((0,v3.env)().getBool("WEBGL_PACK_CONV2DTRANSPOSE")&&"channelsLast"===d){const e=[[h.strideHeight,h.strideWidth]],t=new lbe(h);return n.runWebGLProgram(t,[r,s],"float32",e)}{const e=new rbe(h);return n.runWebGLProgram(e,[r,s],"float32")}}};const cbe={kernelName:v3.Conv3D,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -16359,7 +16359,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{dy:r,filter:s}=t,{inputShape:o, * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r,filter:s}=t,{strides:o,pad:a,dilations:l}=i,u=p3.backend_util.computeConv3DInfo(r.shape,s.shape,o,l,a),c=new Yve(u);return n.runWebGLProgram(c,[r,s],"float32")}};const sbe={kernelName:p3.Conv3DBackpropFilterV2,backendName:"webgl",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r,filter:s}=t,{strides:o,pad:a,dilations:l}=i,u=v3.backend_util.computeConv3DInfo(r.shape,s.shape,o,l,a),c=new Kve(u);return n.runWebGLProgram(c,[r,s],"float32")}};const dbe={kernelName:v3.Conv3DBackpropFilterV2,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -16376,7 +16376,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r,filter:s}=t,{strides:o,pad: * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r,dy:s}=t,{strides:o,pad:a,filterShape:l}=i,u=p3.backend_util.computeConv3DInfo(r.shape,l,o,1,a),c=new Jve(u);return n.runWebGLProgram(c,[r,s],"float32")}};const obe={kernelName:p3.Conv3DBackpropInputV2,backendName:"webgl",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r,dy:s}=t,{strides:o,pad:a,filterShape:l}=i,u=v3.backend_util.computeConv3DInfo(r.shape,l,o,1,a),c=new sbe(u);return n.runWebGLProgram(c,[r,s],"float32")}};const hbe={kernelName:v3.Conv3DBackpropInputV2,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -16393,7 +16393,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r,dy:s}=t,{strides:o,pad:a,fi * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{dy:r,filter:s}=t,{pad:o,strides:a,inputShape:l}=i,u=p3.backend_util.computeConv3DInfo(l,s.shape,a,1,o),c=new ebe(u);return n.runWebGLProgram(c,[r,s],"float32")}},abe=J_e({opSnippet:Q_e+"\n return cos(x);\n",packedOpSnippet:`\n vec4 result = cos(x);\n bvec4 isNaN = isnan(x);\n ${U_e}\n return result;\n`}),lbe={kernelName:p3.Cos,backendName:"webgl",kernelFunc:abe},ube=J_e({opSnippet:"\n float e2x = exp(-x);\n return (e2x + 1.0 / e2x) / 2.0;\n"}),cbe={kernelName:p3.Cosh,backendName:"webgl",kernelFunc:ube}; +function(e){const{inputs:t,backend:n,attrs:i}=e,{dy:r,filter:s}=t,{pad:o,strides:a,inputShape:l}=i,u=v3.backend_util.computeConv3DInfo(l,s.shape,a,1,o),c=new obe(u);return n.runWebGLProgram(c,[r,s],"float32")}},pbe=sye({opSnippet:rye+"\n return cos(x);\n",packedOpSnippet:`\n vec4 result = cos(x);\n bvec4 isNaN = isnan(x);\n ${H_e}\n return result;\n`}),fbe={kernelName:v3.Cos,backendName:"webgl",kernelFunc:pbe},mbe=sye({opSnippet:"\n float e2x = exp(-x);\n return (e2x + 1.0 / e2x) / 2.0;\n"}),gbe={kernelName:v3.Cosh,backendName:"webgl",kernelFunc:mbe}; /** * @license * Copyright 2017 Google LLC. All Rights Reserved. @@ -16410,7 +16410,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{dy:r,filter:s}=t,{pad:o,strides * limitations under the License. * ============================================================================= */ -class dbe{constructor(e,t,n,i,r){this.variableNames=["Image","Boxes","BoxInd"],this.outputShape=[];const[s,o,a,l]=e,[u]=t,[c,d]=n;this.outputShape=[u,c,d,l];const h="bilinear"===i?1:0,[p,f]=[o-1+".0",a-1+".0"],[m,g,_]=c>1?[""+(o-1)/(c-1),"(y2-y1) * height_ratio",`y1*${p} + float(y)*(height_scale)`]:["0.0","0.0",`0.5 * (y1+y2) * ${p}`],[y,v,b]=d>1?[""+(a-1)/(d-1),"(x2-x1) * width_ratio",`x1*${f} + float(x)*(width_scale)`]:["0.0","0.0",`0.5 * (x1+x2) * ${f}`];this.userCode=`\n const float height_ratio = float(${m});\n const float width_ratio = float(${y});\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int y = coords[1];\n int x = coords[2];\n int d = coords[3];\n\n // get box vals\n float y1 = getBoxes(b,0);\n float x1 = getBoxes(b,1);\n float y2 = getBoxes(b,2);\n float x2 = getBoxes(b,3);\n\n // get image in batch index\n int bInd = round(getBoxInd(b));\n if(bInd < 0 || bInd >= ${s}) {\n return;\n }\n\n float height_scale = ${g};\n float width_scale = ${v};\n\n float in_y = ${_};\n if( in_y < 0.0 || in_y > ${p} ) {\n setOutput(float(${r}));\n return;\n }\n float in_x = ${b};\n if( in_x < 0.0 || in_x > ${f} ) {\n setOutput(float(${r}));\n return;\n }\n\n vec2 sourceFracIndexCR = vec2(in_x,in_y);\n if(${h} == 1) {\n // Compute the four integer indices.\n ivec2 sourceFloorCR = ivec2(sourceFracIndexCR);\n ivec2 sourceCeilCR = ivec2(ceil(sourceFracIndexCR));\n\n float topLeft = getImage(b, sourceFloorCR.y, sourceFloorCR.x, d);\n float bottomLeft = getImage(b, sourceCeilCR.y, sourceFloorCR.x, d);\n float topRight = getImage(b, sourceFloorCR.y, sourceCeilCR.x, d);\n float bottomRight = getImage(b, sourceCeilCR.y, sourceCeilCR.x, d);\n\n vec2 fracCR = sourceFracIndexCR - vec2(sourceFloorCR);\n\n float top = topLeft + (topRight - topLeft) * fracCR.x;\n float bottom = bottomLeft + (bottomRight - bottomLeft) * fracCR.x;\n float newValue = top + (bottom - top) * fracCR.y;\n setOutput(newValue);\n } else {\n // Compute the coordinators of nearest neighbor point.\n ivec2 sourceNearestCR = ivec2(floor(\n sourceFracIndexCR + vec2(0.5,0.5)));\n float newValue = getImage(b, sourceNearestCR.y, sourceNearestCR.x, d);\n setOutput(newValue);\n }\n }\n `}} +class _be{constructor(e,t,n,i,r){this.variableNames=["Image","Boxes","BoxInd"],this.outputShape=[];const[s,o,a,l]=e,[u]=t,[c,d]=n;this.outputShape=[u,c,d,l];const h="bilinear"===i?1:0,[p,f]=[o-1+".0",a-1+".0"],[m,g,_]=c>1?[""+(o-1)/(c-1),"(y2-y1) * height_ratio",`y1*${p} + float(y)*(height_scale)`]:["0.0","0.0",`0.5 * (y1+y2) * ${p}`],[y,v,b]=d>1?[""+(a-1)/(d-1),"(x2-x1) * width_ratio",`x1*${f} + float(x)*(width_scale)`]:["0.0","0.0",`0.5 * (x1+x2) * ${f}`];this.userCode=`\n const float height_ratio = float(${m});\n const float width_ratio = float(${y});\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int y = coords[1];\n int x = coords[2];\n int d = coords[3];\n\n // get box vals\n float y1 = getBoxes(b,0);\n float x1 = getBoxes(b,1);\n float y2 = getBoxes(b,2);\n float x2 = getBoxes(b,3);\n\n // get image in batch index\n int bInd = round(getBoxInd(b));\n if(bInd < 0 || bInd >= ${s}) {\n return;\n }\n\n float height_scale = ${g};\n float width_scale = ${v};\n\n float in_y = ${_};\n if( in_y < 0.0 || in_y > ${p} ) {\n setOutput(float(${r}));\n return;\n }\n float in_x = ${b};\n if( in_x < 0.0 || in_x > ${f} ) {\n setOutput(float(${r}));\n return;\n }\n\n vec2 sourceFracIndexCR = vec2(in_x,in_y);\n if(${h} == 1) {\n // Compute the four integer indices.\n ivec2 sourceFloorCR = ivec2(sourceFracIndexCR);\n ivec2 sourceCeilCR = ivec2(ceil(sourceFracIndexCR));\n\n float topLeft = getImage(b, sourceFloorCR.y, sourceFloorCR.x, d);\n float bottomLeft = getImage(b, sourceCeilCR.y, sourceFloorCR.x, d);\n float topRight = getImage(b, sourceFloorCR.y, sourceCeilCR.x, d);\n float bottomRight = getImage(b, sourceCeilCR.y, sourceCeilCR.x, d);\n\n vec2 fracCR = sourceFracIndexCR - vec2(sourceFloorCR);\n\n float top = topLeft + (topRight - topLeft) * fracCR.x;\n float bottom = bottomLeft + (bottomRight - bottomLeft) * fracCR.x;\n float newValue = top + (bottom - top) * fracCR.y;\n setOutput(newValue);\n } else {\n // Compute the coordinators of nearest neighbor point.\n ivec2 sourceNearestCR = ivec2(floor(\n sourceFracIndexCR + vec2(0.5,0.5)));\n float newValue = getImage(b, sourceNearestCR.y, sourceNearestCR.x, d);\n setOutput(newValue);\n }\n }\n `}} /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -16427,7 +16427,7 @@ class dbe{constructor(e,t,n,i,r){this.variableNames=["Image","Boxes","BoxInd"],t * limitations under the License. * ============================================================================= */ -const hbe={kernelName:p3.CropAndResize,backendName:"webgl",kernelFunc:e=>{const{inputs:t,backend:n,attrs:i}=e,{image:r,boxes:s,boxInd:o}=t,{cropSize:a,method:l,extrapolationValue:u}=i,c=new dbe(r.shape,s.shape,a,l,u);return n.runWebGLProgram(c,[r,s,o],"float32")}};var pbe;!function(e){e.Prod="*",e.Sum="+"}(pbe||(pbe={}));class fbe{constructor(e,t,n,i){this.op=e,this.outputShape=t,this.variableNames=["x"],this.customUniforms=[{name:"index",type:"float"}];const r=this.outputShape.length,s=this.op===pbe.Prod?"1.0":"0.0",o=n?s:`getX(${mbe(r,"coords",this.op)})`,a=this.outputShape[this.outputShape.length-1];let l="",u="";n?(l=i?"end != "+(a-1):"end != 0",u=i?"end + 1":"end - 1"):(l=i?`end + pow2 < ${a}`:"end >= pow2",u=i?"end + pow2":"end - pow2"),this.userCode=`\n void main() {\n ${Pme(r)} coords = getOutputCoords();\n int end = ${gbe(r,"coords",this.op)};\n float val = ${o};\n int pow2 = int(pow(2.0, index));\n if (${l}) {\n int idx = ${u};\n ${gbe(r,"coords",this.op)} = idx;\n val ${this.op}= getX(${mbe(r,"coords",this.op)});\n }\n setOutput(val);\n }\n `}}function mbe(e,t,n){if(1===e)return`${t}`;if(2===e)return`${t}.x, ${t}.y`;if(3===e)return`${t}.x, ${t}.y, ${t}.z`;if(4===e)return`${t}.x, ${t}.y, ${t}.z, ${t}.w`;throw new Error(`Cumulative ${n} for rank ${e} is not yet supported`)}function gbe(e,t,n){if(1===e)return`${t}`;if(2===e)return`${t}.y`;if(3===e)return`${t}.z`;if(4===e)return`${t}.w`;throw new Error(`Cumulative ${n} for rank ${e} is not yet supported`)} +const ybe={kernelName:v3.CropAndResize,backendName:"webgl",kernelFunc:e=>{const{inputs:t,backend:n,attrs:i}=e,{image:r,boxes:s,boxInd:o}=t,{cropSize:a,method:l,extrapolationValue:u}=i,c=new _be(r.shape,s.shape,a,l,u);return n.runWebGLProgram(c,[r,s,o],"float32")}};var vbe;!function(e){e.Prod="*",e.Sum="+"}(vbe||(vbe={}));class bbe{constructor(e,t,n,i){this.op=e,this.outputShape=t,this.variableNames=["x"],this.customUniforms=[{name:"index",type:"float"}];const r=this.outputShape.length,s=this.op===vbe.Prod?"1.0":"0.0",o=n?s:`getX(${Tbe(r,"coords",this.op)})`,a=this.outputShape[this.outputShape.length-1];let l="",u="";n?(l=i?"end != "+(a-1):"end != 0",u=i?"end + 1":"end - 1"):(l=i?`end + pow2 < ${a}`:"end >= pow2",u=i?"end + pow2":"end - pow2"),this.userCode=`\n void main() {\n ${jme(r)} coords = getOutputCoords();\n int end = ${xbe(r,"coords",this.op)};\n float val = ${o};\n int pow2 = int(pow(2.0, index));\n if (${l}) {\n int idx = ${u};\n ${xbe(r,"coords",this.op)} = idx;\n val ${this.op}= getX(${Tbe(r,"coords",this.op)});\n }\n setOutput(val);\n }\n `}}function Tbe(e,t,n){if(1===e)return`${t}`;if(2===e)return`${t}.x, ${t}.y`;if(3===e)return`${t}.x, ${t}.y, ${t}.z`;if(4===e)return`${t}.x, ${t}.y, ${t}.z, ${t}.w`;throw new Error(`Cumulative ${n} for rank ${e} is not yet supported`)}function xbe(e,t,n){if(1===e)return`${t}`;if(2===e)return`${t}.y`;if(3===e)return`${t}.z`;if(4===e)return`${t}.w`;throw new Error(`Cumulative ${n} for rank ${e} is not yet supported`)} /** * @license * Copyright 2022 Google LLC. All Rights Reserved. @@ -16444,7 +16444,7 @@ const hbe={kernelName:p3.CropAndResize,backendName:"webgl",kernelFunc:e=>{const{ * limitations under the License. * ============================================================================= */ -function _be(e,t,n,i,r,s){const o=t.shape.length,a=p3.backend_util.getAxesPermutation([i],o);let l=t;null!=a&&(l=vye({inputs:{x:t},backend:n,attrs:{perm:a}}));const u=p3.backend_util.getInnerMostAxes(1,o)[0];if(u!==o-1)throw new Error(`WebGL cumprod shader expects an inner-most axis=${t.shape.length-1} but got axis=${i}`);const c=l.shape[u];let d=z_e({inputs:{x:l},backend:n});for(let t=0;t<=Math.ceil(Math.log2(c))-1;t++){const i=new fbe(e,l.shape,!1,s),r=[[t]],o=d;d=n.runWebGLProgram(i,[d],d.dtype,r),n.disposeIntermediateTensorInfo(o)}if(r){const t=new fbe(e,l.shape,r,s),i=d;d=n.runWebGLProgram(t,[d],d.dtype),n.disposeIntermediateTensorInfo(i)}if(null!=a){const e=vye({inputs:{x:d},backend:n,attrs:{perm:p3.backend_util.getUndoAxesPermutation(a)}});return n.disposeIntermediateTensorInfo(d),n.disposeIntermediateTensorInfo(l),e}return d}const ybe={kernelName:p3.Cumprod,backendName:"webgl",kernelFunc: +function Ebe(e,t,n,i,r,s){const o=t.shape.length,a=v3.backend_util.getAxesPermutation([i],o);let l=t;null!=a&&(l=Iye({inputs:{x:t},backend:n,attrs:{perm:a}}));const u=v3.backend_util.getInnerMostAxes(1,o)[0];if(u!==o-1)throw new Error(`WebGL cumprod shader expects an inner-most axis=${t.shape.length-1} but got axis=${i}`);const c=l.shape[u];let d=X_e({inputs:{x:l},backend:n});for(let t=0;t<=Math.ceil(Math.log2(c))-1;t++){const i=new bbe(e,l.shape,!1,s),r=[[t]],o=d;d=n.runWebGLProgram(i,[d],d.dtype,r),n.disposeIntermediateTensorInfo(o)}if(r){const t=new bbe(e,l.shape,r,s),i=d;d=n.runWebGLProgram(t,[d],d.dtype),n.disposeIntermediateTensorInfo(i)}if(null!=a){const e=Iye({inputs:{x:d},backend:n,attrs:{perm:v3.backend_util.getUndoAxesPermutation(a)}});return n.disposeIntermediateTensorInfo(d),n.disposeIntermediateTensorInfo(l),e}return d}const wbe={kernelName:v3.Cumprod,backendName:"webgl",kernelFunc: /** * @license * Copyright 2022 Google LLC. All Rights Reserved. @@ -16461,7 +16461,7 @@ function _be(e,t,n,i,r,s){const o=t.shape.length,a=p3.backend_util.getAxesPermut * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{axis:s,exclusive:o,reverse:a}=i;return _be(pbe.Prod,r,n,s,o,a)}};const vbe={kernelName:p3.Cumsum,backendName:"webgl",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{axis:s,exclusive:o,reverse:a}=i;return Ebe(vbe.Prod,r,n,s,o,a)}};const Ibe={kernelName:v3.Cumsum,backendName:"webgl",kernelFunc: /** * @license * Copyright 2022 Google LLC. All Rights Reserved. @@ -16478,7 +16478,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{axis:s,exclusive:o,reve * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{axis:s,exclusive:o,reverse:a}=i;return _be(pbe.Sum,r,n,s,o,a)}};const bbe={kernelName:p3.DenseBincount,backendName:"webgl",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{axis:s,exclusive:o,reverse:a}=i;return Ebe(vbe.Sum,r,n,s,o,a)}};const Abe={kernelName:v3.DenseBincount,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -16495,7 +16495,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{axis:s,exclusive:o,reve * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r,weights:s}=t,{size:o,binaryOutput:a}=i;if(1===r.shape.length){const e=n.readSync(r.dataId),t=n.readSync(s.dataId),i=Tge(e,t,s.dtype,s.shape,o);return n.makeTensorInfo([o],s.dtype,i)}if(2===r.shape.length){const e=n.bufferSync(r),t=n.bufferSync(s),i=xge(e,t,o,a);return n.makeTensorInfo(i.shape,s.dtype,i.values)}throw new Error(`Error in denseBincount: input must be at most rank 2, but got rank${r.shape.length}.`)}}; +function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r,weights:s}=t,{size:o,binaryOutput:a}=i;if(1===r.shape.length){const e=n.readSync(r.dataId),t=n.readSync(s.dataId),i=Sge(e,t,s.dtype,s.shape,o);return n.makeTensorInfo([o],s.dtype,i)}if(2===r.shape.length){const e=n.bufferSync(r),t=n.bufferSync(s),i=Cge(e,t,o,a);return n.makeTensorInfo(i.shape,s.dtype,i.values)}throw new Error(`Error in denseBincount: input must be at most rank 2, but got rank${r.shape.length}.`)}}; /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -16512,7 +16512,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r,weights:s}=t,{size:o,binary * limitations under the License. * ============================================================================= */ -class Tbe{constructor(e,t,n){this.variableNames=["x"],this.outputShape=[],this.outputShape=e,this.blockSize=t,this.dataFormat=n,this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int h = ${this.getHeightCoordString()};\n int w = ${this.getWidthCoordString()};\n int d = ${this.getDepthCoordString()};\n\n int in_h = h / ${t};\n int offset_h = imod(h, ${t});\n int in_w = w / ${t};\n int offset_w = imod(w, ${t});\n int offset_d = (offset_h * ${t} + offset_w) *\n ${this.getOutputDepthSize()};\n int in_d = d + offset_d;\n\n float result = ${this.getInputSamplingString()};\n setOutput(result);\n }\n `}getHeightCoordString(){return"NHWC"===this.dataFormat?"coords[1]":"coords[2]"}getWidthCoordString(){return"NHWC"===this.dataFormat?"coords[2]":"coords[3]"}getDepthCoordString(){return"NHWC"===this.dataFormat?"coords[3]":"coords[1]"}getOutputDepthSize(){return"NHWC"===this.dataFormat?this.outputShape[3]:this.outputShape[1]}getInputSamplingString(){return"NHWC"===this.dataFormat?"getX(b, in_h, in_w, in_d)":"getX(b, in_d, in_h, in_w)"}}const xbe={kernelName:p3.DepthToSpace,backendName:"webgl",kernelFunc: +class Sbe{constructor(e,t,n){this.variableNames=["x"],this.outputShape=[],this.outputShape=e,this.blockSize=t,this.dataFormat=n,this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int h = ${this.getHeightCoordString()};\n int w = ${this.getWidthCoordString()};\n int d = ${this.getDepthCoordString()};\n\n int in_h = h / ${t};\n int offset_h = imod(h, ${t});\n int in_w = w / ${t};\n int offset_w = imod(w, ${t});\n int offset_d = (offset_h * ${t} + offset_w) *\n ${this.getOutputDepthSize()};\n int in_d = d + offset_d;\n\n float result = ${this.getInputSamplingString()};\n setOutput(result);\n }\n `}getHeightCoordString(){return"NHWC"===this.dataFormat?"coords[1]":"coords[2]"}getWidthCoordString(){return"NHWC"===this.dataFormat?"coords[2]":"coords[3]"}getDepthCoordString(){return"NHWC"===this.dataFormat?"coords[3]":"coords[1]"}getOutputDepthSize(){return"NHWC"===this.dataFormat?this.outputShape[3]:this.outputShape[1]}getInputSamplingString(){return"NHWC"===this.dataFormat?"getX(b, in_h, in_w, in_d)":"getX(b, in_d, in_h, in_w)"}}const Cbe={kernelName:v3.DepthToSpace,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -16529,7 +16529,7 @@ class Tbe{constructor(e,t,n){this.variableNames=["x"],this.outputShape=[],this.o * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{blockSize:s,dataFormat:o}=i,a=r.shape[0],l=("NHWC"===o?r.shape[1]:r.shape[2])*s,u=("NHWC"===o?r.shape[2]:r.shape[3])*s,c=("NHWC"===o?r.shape[3]:r.shape[1])/(s*s),d=new Tbe("NHWC"===o?[a,l,u,c]:[a,c,l,u],s,o);return n.runWebGLProgram(d,[r],r.dtype)}}; +function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{blockSize:s,dataFormat:o}=i,a=r.shape[0],l=("NHWC"===o?r.shape[1]:r.shape[2])*s,u=("NHWC"===o?r.shape[2]:r.shape[3])*s,c=("NHWC"===o?r.shape[3]:r.shape[1])/(s*s),d=new Sbe("NHWC"===o?[a,l,u,c]:[a,c,l,u],s,o);return n.runWebGLProgram(d,[r],r.dtype)}}; /** * @license * Copyright 2017 Google LLC. All Rights Reserved. @@ -16546,7 +16546,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{blockSize:s,dataFormat: * limitations under the License. * ============================================================================= */ -class Ebe{constructor(e,t=!1,n=null,i=!1,r=!1){this.variableNames=["x","W"],this.customUniforms=[{name:"pads",type:"ivec2"},{name:"strides",type:"ivec2"},{name:"dilations",type:"ivec2"},{name:"inDims",type:"ivec2"}],this.outputShape=e.outShape,this.enableShapeUniforms=jme(this.outputShape.length);const s=e.filterHeight,o=e.filterWidth,a=e.outChannels/e.inChannels;let l="",u="";n&&(l=i?`float activation(float a) {\n float b = getPreluActivationWeightsAtOutCoords();\n ${n}\n }`:r?`float activation(float a) {\n float b = getLeakyreluAlphaAtOutCoords();\n ${n}\n }`:`\n float activation(float x) {\n ${n}\n }\n `,u="result = activation(result);");const c=t?"result += getBiasAtOutCoords();":"";t&&this.variableNames.push("bias"),i&&this.variableNames.push("preluActivationWeights"),r&&this.variableNames.push("leakyreluAlpha"),this.userCode=`\n ${l}\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords.x;\n ivec2 xRCCorner = coords.yz * strides - pads;\n int d2 = coords.w;\n int d1 = d2 / ${a};\n int q = d2 - d1 * ${a};\n\n int xRCorner = xRCCorner.x;\n int xCCorner = xRCCorner.y;\n\n // Convolve x(?, ?, d1) with w(:, :, d1, q) to get y(yR, yC, d2).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n // TO DO(dsmilkov): Flatten the two for loops and vec4 the operations.\n for (int wR = 0; wR < ${s}; wR++) {\n int xR = xRCorner + wR * dilations[0];\n\n if (xR < 0 || xR >= inDims[0]) {\n continue;\n }\n\n for (int wC = 0; wC < ${o}; wC++) {\n int xC = xCCorner + wC * dilations[1];\n\n if (xC < 0 || xC >= inDims[1]) {\n continue;\n }\n\n float xVal = getX(batch, xR, xC, d1);\n float wVal = getW(wR, wC, d1, q);\n dotProd += xVal * wVal;\n }\n }\n\n float result = dotProd;\n ${c}\n ${u}\n setOutput(result);\n }\n `}} +class Obe{constructor(e,t=!1,n=null,i=!1,r=!1){this.variableNames=["x","W"],this.customUniforms=[{name:"pads",type:"ivec2"},{name:"strides",type:"ivec2"},{name:"dilations",type:"ivec2"},{name:"inDims",type:"ivec2"}],this.outputShape=e.outShape,this.enableShapeUniforms=qme(this.outputShape.length);const s=e.filterHeight,o=e.filterWidth,a=e.outChannels/e.inChannels;let l="",u="";n&&(l=i?`float activation(float a) {\n float b = getPreluActivationWeightsAtOutCoords();\n ${n}\n }`:r?`float activation(float a) {\n float b = getLeakyreluAlphaAtOutCoords();\n ${n}\n }`:`\n float activation(float x) {\n ${n}\n }\n `,u="result = activation(result);");const c=t?"result += getBiasAtOutCoords();":"";t&&this.variableNames.push("bias"),i&&this.variableNames.push("preluActivationWeights"),r&&this.variableNames.push("leakyreluAlpha"),this.userCode=`\n ${l}\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords.x;\n ivec2 xRCCorner = coords.yz * strides - pads;\n int d2 = coords.w;\n int d1 = d2 / ${a};\n int q = d2 - d1 * ${a};\n\n int xRCorner = xRCCorner.x;\n int xCCorner = xRCCorner.y;\n\n // Convolve x(?, ?, d1) with w(:, :, d1, q) to get y(yR, yC, d2).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n // TO DO(dsmilkov): Flatten the two for loops and vec4 the operations.\n for (int wR = 0; wR < ${s}; wR++) {\n int xR = xRCorner + wR * dilations[0];\n\n if (xR < 0 || xR >= inDims[0]) {\n continue;\n }\n\n for (int wC = 0; wC < ${o}; wC++) {\n int xC = xCCorner + wC * dilations[1];\n\n if (xC < 0 || xC >= inDims[1]) {\n continue;\n }\n\n float xVal = getX(batch, xR, xC, d1);\n float wVal = getW(wR, wC, d1, q);\n dotProd += xVal * wVal;\n }\n }\n\n float result = dotProd;\n ${c}\n ${u}\n setOutput(result);\n }\n `}} /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -16563,7 +16563,7 @@ class Ebe{constructor(e,t=!1,n=null,i=!1,r=!1){this.variableNames=["x","W"],this * limitations under the License. * ============================================================================= */ -class wbe{constructor(e,t=!1,n=null,i=!1,r=!1){this.variableNames=["x","W"],this.packedInputs=!0,this.packedOutput=!0,this.customUniforms=[{name:"pads",type:"ivec2"},{name:"strides",type:"ivec2"},{name:"dilations",type:"ivec2"},{name:"inDims",type:"ivec2"}],this.outputShape=e.outShape,this.enableShapeUniforms=jme(this.outputShape.length);const s=e.outChannels/e.inChannels,o=e.padInfo.left,a=e.strideWidth,l=e.dilationWidth,u=e.filterHeight,c=e.filterWidth,d=c;let h="\n int xR; int xC; int xCOffset;\n vec4 wTexel; vec4 previous; vec4 final;";for(let e=0;e=0 && xR < inDims[0]) {\n ";for(let e=0;e<(d+1)/2;e++){const t=2*e;if(h+=`\n xC = xCCorner + ${t*l};\n `,1===a){if(t= 0 && xCOffset < inDims[1] && xTexelC${t}Ready == 0) {\n xTexelC${t} = getX(batch, xR, xCOffset, d1);\n\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${t}.zw = vec2(0.0);\n }\n xTexelC${t}Ready = 1;\n }\n `,h+=1===l&&t>0?`\n xC${t} = vec4(xTexelC${t-2}.zw, xTexelC${t}.xy);\n `:`\n xCOffset = xC + 1 - 2;\n\n if (xCOffset >= 0 && xCOffset < inDims[1]) {\n previous = getX(batch, xR, xCOffset, d1);\n\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xCOffset + 1 >= inDims[1]) {\n previous.zw = vec2(0.0);\n }\n\n xC${t} = vec4(previous.zw, xTexelC${t}.xy);\n } else {\n xC${t} = vec4(0.0, 0.0, xTexelC${t}.xy);\n }\n `):h+=`\n if (xC >= 0 && xC < inDims[1] && xTexelC${t}Ready == 0) {\n xTexelC${t} = getX(batch, xR, xC, d1);\n if (xC + 1 >= inDims[1]) {\n xTexelC${t}.zw = vec2(0.0);\n }\n xTexelC${t}Ready = 1;\n }\n\n xC${t} = xTexelC${t};\n `,t+1= 0 && xCOffset < inDims[1] && xTexelC${t+1}Ready == 0) {\n xTexelC${t+1} = getX(batch, xR, xCOffset, d1);\n\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${t+1}.zw = vec2(0.0);\n }\n xTexelC${t+1}Ready = 1;\n }\n `,h+=l>1?`\n xCOffset -= 2;\n if (xCOffset >= 0 && xCOffset < inDims[1]) {\n previous = getX(batch, xR, xCOffset, d1);\n xC${t+1} = vec4(previous.zw, xTexelC${t+1}.xy);\n } else {\n xC${t+1} = vec4(0.0, 0.0, xTexelC${t+1}.xy);\n }\n `:`\n xC${t+1} = vec4(xTexelC${t}.zw, xTexelC${t+1}.xy);\n `):h+=1===e?`\n xC${t+1} = xTexelC${t};\n `:`\n xCOffset = xC + ${e};\n\n if (xCOffset >= 0 && xCOffset < inDims[1] && xTexelC${t+1}Ready == 0) {\n xTexelC${t+1} = getX(batch, xR, xCOffset, d1);\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${t+1}.zw = vec2(0.0);\n }\n xTexelC${t+1}Ready = 1;\n }\n\n xC${t+1} = xTexelC${t+1};\n `}}else t= 0 && xCOffset < inDims[1] && xTexelC${t}Ready == 0) {\n xTexelC${t} = getX(batch, xR, xCOffset, d1);\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${t}.zw = vec2(0.0);\n }\n xTexelC${t}Ready = 1;\n }\n\n if(xC + 1 >= 0 && xC + 1 < inDims[1] && xTexelC${t+1}Ready == 0) {\n xTexelC${t+1} = getX(batch, xR, xC + 1, d1);\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xC + 2 >= inDims[1]) {\n xTexelC${t+1}.zw = vec2(0.0);\n }\n xTexelC${t+1}Ready = 1;\n }\n\n xC${t} = vec4(xTexelC${t}.zw, xTexelC${t+1}.zw);\n `,t+1= 0 && xCOffset < inDims[1]) {\n final = getX(batch, xR, xCOffset, d1);\n }\n xC${t+1} = vec4(xTexelC${t+1}.xy, final.xy);\n `)):(h+=`\n if(xC >= 0 && xC < inDims[1] && xTexelC${t}Ready == 0) {\n xTexelC${t} = getX(batch, xR, xC, d1);\n if (xC + 1 >= inDims[1]) {\n xTexelC${t}.zw = vec2(0.0);\n }\n xTexelC${t}Ready = 1;\n }\n\n xCOffset = xC + strides[1];\n if(xCOffset >= 0 && xCOffset < inDims[1] && xTexelC${t+1}Ready == 0) {\n xTexelC${t+1} = getX(batch, xR, xCOffset, d1);\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${t+1}.zw = vec2(0.);\n }\n xTexelC${t+1}Ready = 1;\n }\n\n xC${t} = vec4(\n xTexelC${t}.xy, xTexelC${t+1}.xy);\n `,t+1=0 && xR < inDims[0]) {\n ";for(let e=0;e<(d+1)/2;e++){const t=2*e;if(h+=`\n xC = xCCorner + ${t*l};\n `,1===a){if(t= 0 && xCOffset < inDims[1] && xTexelC${t}Ready == 0) {\n xTexelC${t} = getX(batch, xR, xCOffset, d1);\n\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${t}.zw = vec2(0.0);\n }\n xTexelC${t}Ready = 1;\n }\n `,h+=1===l&&t>0?`\n xC${t} = vec4(xTexelC${t-2}.zw, xTexelC${t}.xy);\n `:`\n xCOffset = xC + 1 - 2;\n\n if (xCOffset >= 0 && xCOffset < inDims[1]) {\n previous = getX(batch, xR, xCOffset, d1);\n\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xCOffset + 1 >= inDims[1]) {\n previous.zw = vec2(0.0);\n }\n\n xC${t} = vec4(previous.zw, xTexelC${t}.xy);\n } else {\n xC${t} = vec4(0.0, 0.0, xTexelC${t}.xy);\n }\n `):h+=`\n if (xC >= 0 && xC < inDims[1] && xTexelC${t}Ready == 0) {\n xTexelC${t} = getX(batch, xR, xC, d1);\n if (xC + 1 >= inDims[1]) {\n xTexelC${t}.zw = vec2(0.0);\n }\n xTexelC${t}Ready = 1;\n }\n\n xC${t} = xTexelC${t};\n `,t+1= 0 && xCOffset < inDims[1] && xTexelC${t+1}Ready == 0) {\n xTexelC${t+1} = getX(batch, xR, xCOffset, d1);\n\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${t+1}.zw = vec2(0.0);\n }\n xTexelC${t+1}Ready = 1;\n }\n `,h+=l>1?`\n xCOffset -= 2;\n if (xCOffset >= 0 && xCOffset < inDims[1]) {\n previous = getX(batch, xR, xCOffset, d1);\n xC${t+1} = vec4(previous.zw, xTexelC${t+1}.xy);\n } else {\n xC${t+1} = vec4(0.0, 0.0, xTexelC${t+1}.xy);\n }\n `:`\n xC${t+1} = vec4(xTexelC${t}.zw, xTexelC${t+1}.xy);\n `):h+=1===e?`\n xC${t+1} = xTexelC${t};\n `:`\n xCOffset = xC + ${e};\n\n if (xCOffset >= 0 && xCOffset < inDims[1] && xTexelC${t+1}Ready == 0) {\n xTexelC${t+1} = getX(batch, xR, xCOffset, d1);\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${t+1}.zw = vec2(0.0);\n }\n xTexelC${t+1}Ready = 1;\n }\n\n xC${t+1} = xTexelC${t+1};\n `}}else t= 0 && xCOffset < inDims[1] && xTexelC${t}Ready == 0) {\n xTexelC${t} = getX(batch, xR, xCOffset, d1);\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${t}.zw = vec2(0.0);\n }\n xTexelC${t}Ready = 1;\n }\n\n if(xC + 1 >= 0 && xC + 1 < inDims[1] && xTexelC${t+1}Ready == 0) {\n xTexelC${t+1} = getX(batch, xR, xC + 1, d1);\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xC + 2 >= inDims[1]) {\n xTexelC${t+1}.zw = vec2(0.0);\n }\n xTexelC${t+1}Ready = 1;\n }\n\n xC${t} = vec4(xTexelC${t}.zw, xTexelC${t+1}.zw);\n `,t+1= 0 && xCOffset < inDims[1]) {\n final = getX(batch, xR, xCOffset, d1);\n }\n xC${t+1} = vec4(xTexelC${t+1}.xy, final.xy);\n `)):(h+=`\n if(xC >= 0 && xC < inDims[1] && xTexelC${t}Ready == 0) {\n xTexelC${t} = getX(batch, xR, xC, d1);\n if (xC + 1 >= inDims[1]) {\n xTexelC${t}.zw = vec2(0.0);\n }\n xTexelC${t}Ready = 1;\n }\n\n xCOffset = xC + strides[1];\n if(xCOffset >= 0 && xCOffset < inDims[1] && xTexelC${t+1}Ready == 0) {\n xTexelC${t+1} = getX(batch, xR, xCOffset, d1);\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${t+1}.zw = vec2(0.);\n }\n xTexelC${t+1}Ready = 1;\n }\n\n xC${t} = vec4(\n xTexelC${t}.xy, xTexelC${t+1}.xy);\n `,t+1`Error in depthwiseConv2d: Either strides or dilations must be 1. Got strides ${o} and dilations '${c}'`);const d=p3.backend_util.computeConv2DInfo(r.shape,s.shape,o,c,a,u,!0);let h;h=(0,p3.env)().getBool("WEBGL_PACK_DEPTHWISECONV")&&d.strideWidth<=2&&d.outChannels/d.inChannels===1?new wbe(d):new Ebe(d);const p=[[d.padInfo.top,d.padInfo.left],[d.strideHeight,d.strideWidth],[d.dilationHeight,d.dilationWidth],[d.inHeight,d.inWidth]];return n.runWebGLProgram(h,[r,s],"float32",p)}}; +function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r,filter:s}=t,{strides:o,pad:a,dilations:l,dimRoundingMode:u}=i;let c=l;null==c&&(c=[1,1]),v3.util.assert(v3.backend_util.eitherStridesOrDilationsAreOne(o,c),()=>`Error in depthwiseConv2d: Either strides or dilations must be 1. Got strides ${o} and dilations '${c}'`);const d=v3.backend_util.computeConv2DInfo(r.shape,s.shape,o,c,a,u,!0);let h;h=(0,v3.env)().getBool("WEBGL_PACK_DEPTHWISECONV")&&d.strideWidth<=2&&d.outChannels/d.inChannels===1?new Mbe(d):new Obe(d);const p=[[d.padInfo.top,d.padInfo.left],[d.strideHeight,d.strideWidth],[d.dilationHeight,d.dilationWidth],[d.inHeight,d.inWidth]];return n.runWebGLProgram(h,[r,s],"float32",p)}}; /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -16597,7 +16597,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r,filter:s}=t,{strides:o,pad: * limitations under the License. * ============================================================================= */ -class Abe{constructor(e){this.variableNames=["x","dy"],this.outputShape=e.filterShape;const t=e.strideHeight,n=e.strideWidth,i=e.padInfo.top,r=e.padInfo.left,s=e.outChannels/e.inChannels;this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int wR = coords.x;\n int wC = coords.y;\n int d1 = coords.z;\n int dm = coords.w;\n int d2 = d1 * ${s} + dm;\n\n float dotProd = 0.0;\n\n // TO DO: Vec4 over the batch size\n for (int b = 0; b < ${e.batchSize}; b++) {\n for (int yR = 0; yR < ${e.outHeight}; yR++) {\n int xR = wR + yR * ${t} - ${i};\n\n if (xR < 0 || xR >= ${e.inHeight}) {\n continue;\n }\n\n for (int yC = 0; yC < ${e.outWidth}; yC++) {\n int xC = wC + yC * ${n} - ${r};\n\n if (xC < 0 || xC >= ${e.inWidth}) {\n continue;\n }\n\n float dyValue = getDy(b, yR, yC, d2);\n float xValue = getX(b, xR, xC, d1);\n dotProd += (xValue * dyValue);\n }\n }\n }\n setOutput(dotProd);\n }\n `}}class Sbe{constructor(e){this.variableNames=["dy","W"],this.outputShape=e.inShape;const t=e.filterHeight,n=e.filterWidth,i=e.strideHeight,r=e.strideWidth,s=t-1-e.padInfo.top,o=n-1-e.padInfo.left,a=e.outChannels/e.inChannels;this.userCode=`\n const ivec2 pads = ivec2(${s}, ${o});\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords[0];\n int d1 = coords[3];\n ivec2 dyCorner = coords.yz - pads;\n int dyRCorner = dyCorner.x;\n int dyCCorner = dyCorner.y;\n\n float dotProd = 0.0;\n\n for (int wR = 0; wR < ${t}; wR++) {\n float dyR = float(dyRCorner + wR) / ${i}.0;\n\n if (dyR < 0.0 || dyR >= ${e.outHeight}.0 || fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n\n int wRPerm = ${t} - 1 - wR;\n\n for (int wC = 0; wC < ${n}; wC++) {\n float dyC = float(dyCCorner + wC) / ${r}.0;\n\n if (dyC < 0.0 || dyC >= ${e.outWidth}.0 ||\n fract(dyC) > 0.0) {\n continue;\n }\n int idyC = int(dyC);\n\n int wCPerm = ${n} - 1 - wC;\n\n // TO DO: Vec4 over the channelMul\n for (int dm = 0; dm < ${a}; dm++) {\n int d2 = d1 * ${a} + dm;\n float xValue = getDy(batch, idyR, idyC, d2);\n float wValue = getW(wRPerm, wCPerm, d1, dm);\n dotProd += xValue * wValue;\n }\n }\n }\n setOutput(dotProd);\n }\n `}}const Cbe={kernelName:p3.DepthwiseConv2dNativeBackpropFilter,backendName:"webgl",kernelFunc: +class Rbe{constructor(e){this.variableNames=["x","dy"],this.outputShape=e.filterShape;const t=e.strideHeight,n=e.strideWidth,i=e.padInfo.top,r=e.padInfo.left,s=e.outChannels/e.inChannels;this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int wR = coords.x;\n int wC = coords.y;\n int d1 = coords.z;\n int dm = coords.w;\n int d2 = d1 * ${s} + dm;\n\n float dotProd = 0.0;\n\n // TO DO: Vec4 over the batch size\n for (int b = 0; b < ${e.batchSize}; b++) {\n for (int yR = 0; yR < ${e.outHeight}; yR++) {\n int xR = wR + yR * ${t} - ${i};\n\n if (xR < 0 || xR >= ${e.inHeight}) {\n continue;\n }\n\n for (int yC = 0; yC < ${e.outWidth}; yC++) {\n int xC = wC + yC * ${n} - ${r};\n\n if (xC < 0 || xC >= ${e.inWidth}) {\n continue;\n }\n\n float dyValue = getDy(b, yR, yC, d2);\n float xValue = getX(b, xR, xC, d1);\n dotProd += (xValue * dyValue);\n }\n }\n }\n setOutput(dotProd);\n }\n `}}class Nbe{constructor(e){this.variableNames=["dy","W"],this.outputShape=e.inShape;const t=e.filterHeight,n=e.filterWidth,i=e.strideHeight,r=e.strideWidth,s=t-1-e.padInfo.top,o=n-1-e.padInfo.left,a=e.outChannels/e.inChannels;this.userCode=`\n const ivec2 pads = ivec2(${s}, ${o});\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords[0];\n int d1 = coords[3];\n ivec2 dyCorner = coords.yz - pads;\n int dyRCorner = dyCorner.x;\n int dyCCorner = dyCorner.y;\n\n float dotProd = 0.0;\n\n for (int wR = 0; wR < ${t}; wR++) {\n float dyR = float(dyRCorner + wR) / ${i}.0;\n\n if (dyR < 0.0 || dyR >= ${e.outHeight}.0 || fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n\n int wRPerm = ${t} - 1 - wR;\n\n for (int wC = 0; wC < ${n}; wC++) {\n float dyC = float(dyCCorner + wC) / ${r}.0;\n\n if (dyC < 0.0 || dyC >= ${e.outWidth}.0 ||\n fract(dyC) > 0.0) {\n continue;\n }\n int idyC = int(dyC);\n\n int wCPerm = ${n} - 1 - wC;\n\n // TO DO: Vec4 over the channelMul\n for (int dm = 0; dm < ${a}; dm++) {\n int d2 = d1 * ${a} + dm;\n float xValue = getDy(batch, idyR, idyC, d2);\n float wValue = getW(wRPerm, wCPerm, d1, dm);\n dotProd += xValue * wValue;\n }\n }\n }\n setOutput(dotProd);\n }\n `}}const Dbe={kernelName:v3.DepthwiseConv2dNativeBackpropFilter,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -16614,7 +16614,7 @@ class Abe{constructor(e){this.variableNames=["x","dy"],this.outputShape=e.filter * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r,dy:s}=t,{strides:o,dilations:a,pad:l,dimRoundingMode:u,filterShape:c}=i,d=p3.backend_util.computeConv2DInfo(r.shape,c,o,a,l,u,!0),h=new Abe(d);return n.runWebGLProgram(h,[r,s],"float32")}};const Obe={kernelName:p3.DepthwiseConv2dNativeBackpropInput,backendName:"webgl",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r,dy:s}=t,{strides:o,dilations:a,pad:l,dimRoundingMode:u,filterShape:c}=i,d=v3.backend_util.computeConv2DInfo(r.shape,c,o,a,l,u,!0),h=new Rbe(d);return n.runWebGLProgram(h,[r,s],"float32")}};const Fbe={kernelName:v3.DepthwiseConv2dNativeBackpropInput,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -16631,7 +16631,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r,dy:s}=t,{strides:o,dilation * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{dy:r,filter:s}=t,{strides:o,dilations:a,pad:l,dimRoundingMode:u,inputShape:c}=i,d=p3.backend_util.computeConv2DInfo(c,s.shape,o,a,l,u,!0),h=new Sbe(d);return n.runWebGLProgram(h,[r,s],"float32")}}; +function(e){const{inputs:t,backend:n,attrs:i}=e,{dy:r,filter:s}=t,{strides:o,dilations:a,pad:l,dimRoundingMode:u,inputShape:c}=i,d=v3.backend_util.computeConv2DInfo(c,s.shape,o,a,l,u,!0),h=new Nbe(d);return n.runWebGLProgram(h,[r,s],"float32")}}; /** * @license * Copyright 2019 Google LLC. All Rights Reserved. @@ -16648,7 +16648,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{dy:r,filter:s}=t,{strides:o,dil * limitations under the License. * ============================================================================= */ -class Mbe{constructor(e){this.variableNames=["X"],this.outputShape=[e,e],this.userCode="\n void main() {\n ivec2 coords = getOutputCoords();\n float val = coords[0] == coords[1] ? getX(coords[0]) : 0.0;\n setOutput(val);\n }\n "}}const kbe={kernelName:p3.Diag,backendName:"webgl",kernelFunc: +class Lbe{constructor(e){this.variableNames=["X"],this.outputShape=[e,e],this.userCode="\n void main() {\n ivec2 coords = getOutputCoords();\n float val = coords[0] == coords[1] ? getX(coords[0]) : 0.0;\n setOutput(val);\n }\n "}}const Pbe={kernelName:v3.Diag,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -16665,7 +16665,7 @@ class Mbe{constructor(e){this.variableNames=["X"],this.outputShape=[e,e],this.us * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n}=e,{x:i}=t,r=[...i.shape,...i.shape],s=p3.util.sizeFromShape(i.shape),o=uye({inputs:{x:i},backend:n,attrs:{shape:[s]}}),a=new Mbe(s),l=n.runWebGLProgram(a,[o],o.dtype),u=uye({inputs:{x:l},backend:n,attrs:{shape:r}});return n.disposeIntermediateTensorInfo(o),n.disposeIntermediateTensorInfo(l),u}}; +function(e){const{inputs:t,backend:n}=e,{x:i}=t,r=[...i.shape,...i.shape],s=v3.util.sizeFromShape(i.shape),o=mye({inputs:{x:i},backend:n,attrs:{shape:[s]}}),a=new Lbe(s),l=n.runWebGLProgram(a,[o],o.dtype),u=mye({inputs:{x:l},backend:n,attrs:{shape:r}});return n.disposeIntermediateTensorInfo(o),n.disposeIntermediateTensorInfo(l),u}}; /** * @license * Copyright 2017 Google LLC. All Rights Reserved. @@ -16682,7 +16682,7 @@ function(e){const{inputs:t,backend:n}=e,{x:i}=t,r=[...i.shape,...i.shape],s=p3.u * limitations under the License. * ============================================================================= */ -class Rbe{constructor(e){this.variableNames=["x","W"],this.outputShape=e.outShape;const{inHeight:t,inWidth:n,padInfo:i,strideHeight:r,strideWidth:s,filterHeight:o,filterWidth:a,dilationHeight:l,dilationWidth:u}=e,{top:c,left:d}=i;this.userCode=`\n const ivec2 strides = ivec2(${r}, ${s});\n const ivec2 pads = ivec2(${c}, ${d});\n const float neg_infinity = -3.4e38;\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords.x;\n int d1 = coords.w;\n ivec2 outTopLeftCorner =\n coords.yz * strides - pads;\n int hBeg = outTopLeftCorner.x;\n int wBeg = outTopLeftCorner.y;\n\n float curVal = neg_infinity;\n for (int h = 0; h < ${o}; h++) {\n int hIn = hBeg + h * ${l};\n\n if (hIn >= 0 && hIn < ${t}) {\n for (int w = 0; w < ${a}; w++) {\n int wIn = wBeg + w * ${u};\n\n if (wIn >= 0 && wIn < ${n}) {\n float xVal = getX(batch, hIn, wIn, d1);\n float wVal = getW(h, w, d1);\n\n float val = xVal + wVal;\n if (val > curVal) {\n curVal = val;\n }\n }\n }\n }\n }\n\n float result = curVal;\n setOutput(result);\n }\n `}}const Nbe={kernelName:p3.Dilation2D,backendName:"webgl",kernelFunc: +class Bbe{constructor(e){this.variableNames=["x","W"],this.outputShape=e.outShape;const{inHeight:t,inWidth:n,padInfo:i,strideHeight:r,strideWidth:s,filterHeight:o,filterWidth:a,dilationHeight:l,dilationWidth:u}=e,{top:c,left:d}=i;this.userCode=`\n const ivec2 strides = ivec2(${r}, ${s});\n const ivec2 pads = ivec2(${c}, ${d});\n const float neg_infinity = -3.4e38;\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords.x;\n int d1 = coords.w;\n ivec2 outTopLeftCorner =\n coords.yz * strides - pads;\n int hBeg = outTopLeftCorner.x;\n int wBeg = outTopLeftCorner.y;\n\n float curVal = neg_infinity;\n for (int h = 0; h < ${o}; h++) {\n int hIn = hBeg + h * ${l};\n\n if (hIn >= 0 && hIn < ${t}) {\n for (int w = 0; w < ${a}; w++) {\n int wIn = wBeg + w * ${u};\n\n if (wIn >= 0 && wIn < ${n}) {\n float xVal = getX(batch, hIn, wIn, d1);\n float wVal = getW(h, w, d1);\n\n float val = xVal + wVal;\n if (val > curVal) {\n curVal = val;\n }\n }\n }\n }\n }\n\n float result = curVal;\n setOutput(result);\n }\n `}}const $be={kernelName:v3.Dilation2D,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -16699,7 +16699,7 @@ class Rbe{constructor(e){this.variableNames=["x","W"],this.outputShape=e.outShap * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r,filter:s}=t,{strides:o,pad:a,dilations:l}=i,u=p3.backend_util.computeDilation2DInfo(r.shape,s.shape,o,a,"NHWC",l);let c;const d=new Rbe(u);c=n.runWebGLProgram(d,[r,s],"float32");const h=uye({inputs:{x:c},backend:n,attrs:{shape:u.outShape}});return n.disposeIntermediateTensorInfo(c),h}};const Dbe={kernelName:p3.Einsum,backendName:"webgl",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r,filter:s}=t,{strides:o,pad:a,dilations:l}=i,u=v3.backend_util.computeDilation2DInfo(r.shape,s.shape,o,a,"NHWC",l);let c;const d=new Bbe(u);c=n.runWebGLProgram(d,[r,s],"float32");const h=mye({inputs:{x:c},backend:n,attrs:{shape:u.outShape}});return n.disposeIntermediateTensorInfo(c),h}};const Ube={kernelName:v3.Einsum,backendName:"webgl",kernelFunc: /** * @license * Copyright 2021 Google LLC. All Rights Reserved. @@ -16716,7 +16716,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r,filter:s}=t,{strides:o,pad: * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{equation:r}=i,s=t,{allDims:o,summedDims:a,idDims:l}=p3.backend_util.decodeEinsumEquation(r,s.length);p3.backend_util.checkEinsumDimSizes(o.length,l,s);const{path:u,steps:c}=p3.backend_util.getEinsumComputePath(a,l),d=c.length;let h=null,p=o.length;const f=[];for(let e=0;e=0&&(h=_ye({inputs:{x:h},backend:n,attrs:{axis:u[e]-(o.length-p),keepDims:!1}}),f.push(h)),p--)}for(const e of f)e!==h&&n.disposeIntermediateTensorInfo(e);return h}},Fbe=J_e({opSnippet:"return (x >= 0.0) ? x : (exp(x) - 1.0);",packedOpSnippet:"\n vec4 result;\n\n result.r = (x.r >= 0.0) ? x.r : (exp(x.r) - 1.0);\n result.g = (x.g >= 0.0) ? x.g : (exp(x.g) - 1.0);\n result.b = (x.b >= 0.0) ? x.b : (exp(x.b) - 1.0);\n result.a = (x.a >= 0.0) ? x.a : (exp(x.a) - 1.0);\n\n return result;\n"}),Lbe={kernelName:p3.Elu,backendName:"webgl",kernelFunc:Fbe},Pbe={kernelName:p3.EluGrad,backendName:"webgl",kernelFunc:e=>{const{inputs:t,backend:n}=e,{dy:i,y:r}=t,s=(0,p3.env)().getBool("WEBGL_PACK_BINARY_OPERATIONS")?new V_e("\n vec4 bGTEZero = vec4(greaterThanEqual(b, vec4(0.)));\n return (bGTEZero * a) + ((vec4(1.0) - bGTEZero) * (a * (b + vec4(1.0))));\n",i.shape,r.shape):new $_e("return (b >= 0.0) ? a : a * (b + 1.0);",i.shape,r.shape);return n.runWebGLProgram(s,[i,r],i.dtype)}},Bbe=eye({opSnippet:"return float(a == b);",packedOpSnippet:"\n return vec4(equal(a, b));\n",dtype:"bool",cpuKernelImpl:Sge}),$be={kernelName:p3.Equal,backendName:"webgl",kernelFunc:Bbe},Ube=J_e({opSnippet:`\n // Error function is calculated approximately with elementary function.\n // See "Handbook of Mathematical Functions with Formulas,\n // Graphs, and Mathematical Tables", Abramowitz and Stegun.\n float p = ${p3.backend_util.ERF_P};\n float a1 = ${p3.backend_util.ERF_A1};\n float a2 = ${p3.backend_util.ERF_A2};\n float a3 = ${p3.backend_util.ERF_A3};\n float a4 = ${p3.backend_util.ERF_A4};\n float a5 = ${p3.backend_util.ERF_A5};\n\n float sign = sign(x);\n x = abs(x);\n float t = 1.0 / (1.0 + p * x);\n return sign * (1.0 - (((((a5*t + a4)*t) + a3)*t + a2)*t + a1)*t*exp(-x*x));\n`}),Vbe={kernelName:p3.Erf,backendName:"webgl",kernelFunc:Ube},zbe=J_e({opSnippet:Q_e+"\n return exp(x);\n",packedOpSnippet:"\n vec4 result = exp(x);\n bvec4 isNaN = isnan(x);\n result.r = isNaN.r ? x.r : result.r;\n result.g = isNaN.g ? x.g : result.g;\n result.b = isNaN.b ? x.b : result.b;\n result.a = isNaN.a ? x.a : result.a;\n\n return result;\n",cpuKernelImpl:Cge,dtype:"float32"}),jbe={kernelName:p3.Exp,backendName:"webgl",kernelFunc:zbe}; +function(e){const{inputs:t,backend:n,attrs:i}=e,{equation:r}=i,s=t,{allDims:o,summedDims:a,idDims:l}=v3.backend_util.decodeEinsumEquation(r,s.length);v3.backend_util.checkEinsumDimSizes(o.length,l,s);const{path:u,steps:c}=v3.backend_util.getEinsumComputePath(a,l),d=c.length;let h=null,p=o.length;const f=[];for(let e=0;e=0&&(h=Eye({inputs:{x:h},backend:n,attrs:{axis:u[e]-(o.length-p),keepDims:!1}}),f.push(h)),p--)}for(const e of f)e!==h&&n.disposeIntermediateTensorInfo(e);return h}},Vbe=sye({opSnippet:"return (x >= 0.0) ? x : (exp(x) - 1.0);",packedOpSnippet:"\n vec4 result;\n\n result.r = (x.r >= 0.0) ? x.r : (exp(x.r) - 1.0);\n result.g = (x.g >= 0.0) ? x.g : (exp(x.g) - 1.0);\n result.b = (x.b >= 0.0) ? x.b : (exp(x.b) - 1.0);\n result.a = (x.a >= 0.0) ? x.a : (exp(x.a) - 1.0);\n\n return result;\n"}),zbe={kernelName:v3.Elu,backendName:"webgl",kernelFunc:Vbe},jbe={kernelName:v3.EluGrad,backendName:"webgl",kernelFunc:e=>{const{inputs:t,backend:n}=e,{dy:i,y:r}=t,s=(0,v3.env)().getBool("WEBGL_PACK_BINARY_OPERATIONS")?new W_e("\n vec4 bGTEZero = vec4(greaterThanEqual(b, vec4(0.)));\n return (bGTEZero * a) + ((vec4(1.0) - bGTEZero) * (a * (b + vec4(1.0))));\n",i.shape,r.shape):new G_e("return (b >= 0.0) ? a : a * (b + 1.0);",i.shape,r.shape);return n.runWebGLProgram(s,[i,r],i.dtype)}},Ybe=oye({opSnippet:"return float(a == b);",packedOpSnippet:"\n return vec4(equal(a, b));\n",dtype:"bool",cpuKernelImpl:Nge}),Gbe={kernelName:v3.Equal,backendName:"webgl",kernelFunc:Ybe},Hbe=sye({opSnippet:`\n // Error function is calculated approximately with elementary function.\n // See "Handbook of Mathematical Functions with Formulas,\n // Graphs, and Mathematical Tables", Abramowitz and Stegun.\n float p = ${v3.backend_util.ERF_P};\n float a1 = ${v3.backend_util.ERF_A1};\n float a2 = ${v3.backend_util.ERF_A2};\n float a3 = ${v3.backend_util.ERF_A3};\n float a4 = ${v3.backend_util.ERF_A4};\n float a5 = ${v3.backend_util.ERF_A5};\n\n float sign = sign(x);\n x = abs(x);\n float t = 1.0 / (1.0 + p * x);\n return sign * (1.0 - (((((a5*t + a4)*t) + a3)*t + a2)*t + a1)*t*exp(-x*x));\n`}),Wbe={kernelName:v3.Erf,backendName:"webgl",kernelFunc:Hbe},Xbe=sye({opSnippet:rye+"\n return exp(x);\n",packedOpSnippet:"\n vec4 result = exp(x);\n bvec4 isNaN = isnan(x);\n result.r = isNaN.r ? x.r : result.r;\n result.g = isNaN.g ? x.g : result.g;\n result.b = isNaN.b ? x.b : result.b;\n result.a = isNaN.a ? x.a : result.a;\n\n return result;\n",cpuKernelImpl:Dge,dtype:"float32"}),qbe={kernelName:v3.Exp,backendName:"webgl",kernelFunc:Xbe}; /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -16733,7 +16733,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{equation:r}=i,s=t,{allDims:o,su * limitations under the License. * ============================================================================= */ -function Ybe(e){const{inputs:t,attrs:n,backend:i}=e,{dim:r}=n,{input:s}=t,o=s.shape.length,a=s.shape.slice();let l=r;return r<0&&(p3.util.assert(-(o+1)<=r,()=>`Axis must be in the interval [${-(o+1)}, ${o}]`),l=o+r+1),a.splice(l,0,1),uye({inputs:{x:s},backend:i,attrs:{shape:a}})}const Gbe={kernelName:p3.ExpandDims,backendName:"webgl",kernelFunc:Ybe},Hbe="return exp(x) - 1.0;",Wbe=J_e({opSnippet:Hbe,packedOpSnippet:Hbe,cpuKernelImpl:Oge}),Xbe={kernelName:p3.Expm1,backendName:"webgl",kernelFunc:Wbe}; +function Kbe(e){const{inputs:t,attrs:n,backend:i}=e,{dim:r}=n,{input:s}=t,o=s.shape.length,a=s.shape.slice();let l=r;return r<0&&(v3.util.assert(-(o+1)<=r,()=>`Axis must be in the interval [${-(o+1)}, ${o}]`),l=o+r+1),a.splice(l,0,1),mye({inputs:{x:s},backend:i,attrs:{shape:a}})}const Zbe={kernelName:v3.ExpandDims,backendName:"webgl",kernelFunc:Kbe},Qbe="return exp(x) - 1.0;",Jbe=sye({opSnippet:Qbe,packedOpSnippet:Qbe,cpuKernelImpl:Fge}),eTe={kernelName:v3.Expm1,backendName:"webgl",kernelFunc:Jbe}; /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -16750,7 +16750,7 @@ function Ybe(e){const{inputs:t,attrs:n,backend:i}=e,{dim:r}=n,{input:s}=t,o=s.sh * limitations under the License. * ============================================================================= */ -class qbe{constructor(e,t,n){this.variableNames=["real","imag"];const i=t[1];this.outputShape=t;const r=n?`2.0 * ${Math.PI}`:`-2.0 * ${Math.PI}`,s=n?`${i}.0`:"1.0";let o;if("real"===e)o="return real * expR - imag * expI;";else{if("imag"!==e)throw new Error(`FFT component must be either "real" or "imag", got ${e}.`);o="return real * expI + imag * expR;"}this.userCode=`\n const float exponentMultiplier = ${r};\n\n float unaryOpComplex(float real, float expR, float imag, float expI) {\n ${o}\n }\n\n float mulMatDFT(int batch, int index) {\n float indexRatio = float(index) / float(${i});\n float exponentMultiplierTimesIndexRatio =\n exponentMultiplier * indexRatio;\n\n float result = 0.0;\n\n for (int i = 0; i < ${i}; i++) {\n // x = (-2|2 * PI / N) * index * i;\n float x = exponentMultiplierTimesIndexRatio * float(i);\n float expR = cos(x);\n float expI = sin(x);\n float real = getReal(batch, i);\n float imag = getImag(batch, i);\n\n result +=\n unaryOpComplex(real, expR, imag, expI) / ${s};\n }\n\n return result;\n }\n\n void main() {\n ivec2 coords = getOutputCoords();\n setOutput(mulMatDFT(coords[0], coords[1]));\n }\n `}} +class tTe{constructor(e,t,n){this.variableNames=["real","imag"];const i=t[1];this.outputShape=t;const r=n?`2.0 * ${Math.PI}`:`-2.0 * ${Math.PI}`,s=n?`${i}.0`:"1.0";let o;if("real"===e)o="return real * expR - imag * expI;";else{if("imag"!==e)throw new Error(`FFT component must be either "real" or "imag", got ${e}.`);o="return real * expI + imag * expR;"}this.userCode=`\n const float exponentMultiplier = ${r};\n\n float unaryOpComplex(float real, float expR, float imag, float expI) {\n ${o}\n }\n\n float mulMatDFT(int batch, int index) {\n float indexRatio = float(index) / float(${i});\n float exponentMultiplierTimesIndexRatio =\n exponentMultiplier * indexRatio;\n\n float result = 0.0;\n\n for (int i = 0; i < ${i}; i++) {\n // x = (-2|2 * PI / N) * index * i;\n float x = exponentMultiplierTimesIndexRatio * float(i);\n float expR = cos(x);\n float expI = sin(x);\n float real = getReal(batch, i);\n float imag = getImag(batch, i);\n\n result +=\n unaryOpComplex(real, expR, imag, expI) / ${s};\n }\n\n return result;\n }\n\n void main() {\n ivec2 coords = getOutputCoords();\n setOutput(mulMatDFT(coords[0], coords[1]));\n }\n `}} /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -16767,7 +16767,7 @@ class qbe{constructor(e,t,n){this.variableNames=["real","imag"];const i=t[1];thi * limitations under the License. * ============================================================================= */ -function Kbe(e,t,n){const i=n.texData.get(e.dataId),r=p3.util.sizeFromShape(e.shape),s=e.shape[e.shape.length-1],o=uye({inputs:{x:e},backend:n,attrs:{shape:[r/s,s]}}),a=o.shape,l=new qbe("real",a,t),u=new qbe("imag",a,t),c=[{dataId:i.complexTensorInfos.real.dataId,dtype:i.complexTensorInfos.real.dtype,shape:a},{dataId:i.complexTensorInfos.imag.dataId,dtype:i.complexTensorInfos.imag.dtype,shape:a}],d=n.runWebGLProgram(l,c,"float32"),h=n.runWebGLProgram(u,c,"float32"),p=Y_e({inputs:{real:d,imag:h},backend:n});n.disposeIntermediateTensorInfo(d),n.disposeIntermediateTensorInfo(h);const f=uye({inputs:{x:p},backend:n,attrs:{shape:e.shape}});return n.disposeIntermediateTensorInfo(o),n.disposeIntermediateTensorInfo(p),f}const Zbe={kernelName:p3.FFT,backendName:"webgl",kernelFunc: +function nTe(e,t,n){const i=n.texData.get(e.dataId),r=v3.util.sizeFromShape(e.shape),s=e.shape[e.shape.length-1],o=mye({inputs:{x:e},backend:n,attrs:{shape:[r/s,s]}}),a=o.shape,l=new tTe("real",a,t),u=new tTe("imag",a,t),c=[{dataId:i.complexTensorInfos.real.dataId,dtype:i.complexTensorInfos.real.dtype,shape:a},{dataId:i.complexTensorInfos.imag.dataId,dtype:i.complexTensorInfos.imag.dtype,shape:a}],d=n.runWebGLProgram(l,c,"float32"),h=n.runWebGLProgram(u,c,"float32"),p=K_e({inputs:{real:d,imag:h},backend:n});n.disposeIntermediateTensorInfo(d),n.disposeIntermediateTensorInfo(h);const f=mye({inputs:{x:p},backend:n,attrs:{shape:e.shape}});return n.disposeIntermediateTensorInfo(o),n.disposeIntermediateTensorInfo(p),f}const iTe={kernelName:v3.FFT,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -16784,7 +16784,7 @@ function Kbe(e,t,n){const i=n.texData.get(e.dataId),r=p3.util.sizeFromShape(e.sh * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n}=e,{input:i}=t;return Kbe(i,!1,n)}}; +function(e){const{inputs:t,backend:n}=e,{input:i}=t;return nTe(i,!1,n)}}; /** * @license * Copyright 2019 Google LLC. All Rights Reserved. @@ -16801,7 +16801,7 @@ function(e){const{inputs:t,backend:n}=e,{input:i}=t;return Kbe(i,!1,n)}}; * limitations under the License. * ============================================================================= */ -class Qbe{constructor(e,t){this.outputShape=[],this.customUniforms=[{name:"value",type:"float"}],this.variableNames=["x"],this.outputShape=e,this.userCode="\n void main() {\n // Input can be obtained from uniform value.\n setOutput(value);\n }\n "}} +class rTe{constructor(e,t){this.outputShape=[],this.customUniforms=[{name:"value",type:"float"}],this.variableNames=["x"],this.outputShape=e,this.userCode="\n void main() {\n // Input can be obtained from uniform value.\n setOutput(value);\n }\n "}} /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -16818,7 +16818,7 @@ class Qbe{constructor(e,t){this.outputShape=[],this.customUniforms=[{name:"value * limitations under the License. * ============================================================================= */ -function Jbe(e){const{backend:t,attrs:n}=e,{shape:i,value:r}=n;let{dtype:s}=n;if(s=s||p3.util.inferDtype(r),"string"===s){const e=p3.util.getArrayFromDType(s,p3.util.sizeFromShape(i));return e.fill(r),t.makeTensorInfo(i,s,e)}{const e=new Qbe(i,r),n=[[r]];return t.runWebGLProgram(e,[],s,n)}}const eTe={kernelName:p3.Fill,backendName:"webgl",kernelFunc:Jbe}; +function sTe(e){const{backend:t,attrs:n}=e,{shape:i,value:r}=n;let{dtype:s}=n;if(s=s||v3.util.inferDtype(r),"string"===s){const e=v3.util.getArrayFromDType(s,v3.util.sizeFromShape(i));return e.fill(r),t.makeTensorInfo(i,s,e)}{const e=new rTe(i,r),n=[[r]];return t.runWebGLProgram(e,[],s,n)}}const oTe={kernelName:v3.Fill,backendName:"webgl",kernelFunc:sTe}; /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -16835,7 +16835,7 @@ function Jbe(e){const{backend:t,attrs:n}=e,{shape:i,value:r}=n;let{dtype:s}=n;if * limitations under the License. * ============================================================================= */ -class tTe{constructor(e){this.variableNames=["Image"],this.outputShape=[];const t=e[2];this.outputShape=e,this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int x = coords[2];\n\n int coordX = ${t} - x - 1;\n float outputValue;\n if(coordX >= 0 && coordX < ${t}) {\n outputValue = getImage(coords[0], coords[1], coordX, coords[3]);\n } else {\n outputValue = getImage(coords[0], coords[1], coords[2], coords[3]);\n }\n setOutput(outputValue);\n }\n `}} +class aTe{constructor(e){this.variableNames=["Image"],this.outputShape=[];const t=e[2];this.outputShape=e,this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int x = coords[2];\n\n int coordX = ${t} - x - 1;\n float outputValue;\n if(coordX >= 0 && coordX < ${t}) {\n outputValue = getImage(coords[0], coords[1], coordX, coords[3]);\n } else {\n outputValue = getImage(coords[0], coords[1], coords[2], coords[3]);\n }\n setOutput(outputValue);\n }\n `}} /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -16852,7 +16852,7 @@ class tTe{constructor(e){this.variableNames=["Image"],this.outputShape=[];const * limitations under the License. * ============================================================================= */ -const nTe={kernelName:p3.FlipLeftRight,backendName:"webgl",kernelFunc:({inputs:e,backend:t})=>{const{image:n}=e,i=t,r=new tTe(n.shape);return i.runWebGLProgram(r,[n],n.dtype)}},iTe="return floor(x);",rTe=J_e({opSnippet:iTe,packedOpSnippet:iTe,cpuKernelImpl:Mge}),sTe={kernelName:p3.Floor,backendName:"webgl",kernelFunc:rTe},oTe=eye({opSnippet:"\n float s = sign(a) * sign(b);\n int ia = round(a);\n int ib = round(b);\n if (ib != 0) {\n // Windows (D3D) wants guaranteed non-zero int division at compile-time.\n return float(idiv(ia, ib, s));\n } else {\n return NAN;\n }\n",packedOpSnippet:"\n ivec4 ia = round(a);\n ivec4 ib = round(b);\n bvec4 cond = notEqual(ib, ivec4(0));\n ivec4 result = ivec4(0);\n vec4 s = sign(a) * sign(b);\n\n // Windows (D3D) wants guaranteed non-zero int division at compile-time.\n if (cond[0]) {\n result[0] = idiv(ia[0], ib[0], s[0]);\n }\n if (cond[1]) {\n result[1] = idiv(ia[1], ib[1], s[1]);\n }\n if (cond[2]) {\n result[2] = idiv(ia[2], ib[2], s[2]);\n }\n if (cond[3]) {\n result[3] = idiv(ia[3], ib[3], s[3]);\n }\n return vec4(result);\n",dtype:"int32"}),aTe={kernelName:p3.FloorDiv,backendName:"webgl",kernelFunc:oTe}; +const lTe={kernelName:v3.FlipLeftRight,backendName:"webgl",kernelFunc:({inputs:e,backend:t})=>{const{image:n}=e,i=t,r=new aTe(n.shape);return i.runWebGLProgram(r,[n],n.dtype)}},uTe="return floor(x);",cTe=sye({opSnippet:uTe,packedOpSnippet:uTe,cpuKernelImpl:Lge}),dTe={kernelName:v3.Floor,backendName:"webgl",kernelFunc:cTe},hTe=oye({opSnippet:"\n float s = sign(a) * sign(b);\n int ia = round(a);\n int ib = round(b);\n if (ib != 0) {\n // Windows (D3D) wants guaranteed non-zero int division at compile-time.\n return float(idiv(ia, ib, s));\n } else {\n return NAN;\n }\n",packedOpSnippet:"\n ivec4 ia = round(a);\n ivec4 ib = round(b);\n bvec4 cond = notEqual(ib, ivec4(0));\n ivec4 result = ivec4(0);\n vec4 s = sign(a) * sign(b);\n\n // Windows (D3D) wants guaranteed non-zero int division at compile-time.\n if (cond[0]) {\n result[0] = idiv(ia[0], ib[0], s[0]);\n }\n if (cond[1]) {\n result[1] = idiv(ia[1], ib[1], s[1]);\n }\n if (cond[2]) {\n result[2] = idiv(ia[2], ib[2], s[2]);\n }\n if (cond[3]) {\n result[3] = idiv(ia[3], ib[3], s[3]);\n }\n return vec4(result);\n",dtype:"int32"}),pTe={kernelName:v3.FloorDiv,backendName:"webgl",kernelFunc:hTe}; /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -16869,7 +16869,7 @@ const nTe={kernelName:p3.FlipLeftRight,backendName:"webgl",kernelFunc:({inputs:e * limitations under the License. * ============================================================================= */ -class lTe{constructor(e){this.variableNames=["A"];const t=bme(),[n,i]=e;this.outputShape=e,this.userCode=`\n void main() {\n ivec3 coords = getOutputCoords();\n int texR = coords[0];\n int texC = coords[1];\n int depth = coords[2];\n vec2 uv = (vec2(texC, texR) + halfCR) / vec2(${i}.0, ${n}.0);\n\n vec4 values = ${t.texture2D}(A, uv);\n float value;\n if (depth == 0) {\n value = values.r;\n } else if (depth == 1) {\n value = values.g;\n } else if (depth == 2) {\n value = values.b;\n } else if (depth == 3) {\n value = values.a;\n }\n\n setOutput(floor(value * 255.0 + 0.5));\n }\n `}} +class fTe{constructor(e){this.variableNames=["A"];const t=Ame(),[n,i]=e;this.outputShape=e,this.userCode=`\n void main() {\n ivec3 coords = getOutputCoords();\n int texR = coords[0];\n int texC = coords[1];\n int depth = coords[2];\n vec2 uv = (vec2(texC, texR) + halfCR) / vec2(${i}.0, ${n}.0);\n\n vec4 values = ${t.texture2D}(A, uv);\n float value;\n if (depth == 0) {\n value = values.r;\n } else if (depth == 1) {\n value = values.g;\n } else if (depth == 2) {\n value = values.b;\n } else if (depth == 3) {\n value = values.a;\n }\n\n setOutput(floor(value * 255.0 + 0.5));\n }\n `}} /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -16886,7 +16886,7 @@ class lTe{constructor(e){this.variableNames=["A"];const t=bme(),[n,i]=e;this.out * limitations under the License. * ============================================================================= */ -class uTe{constructor(e){this.variableNames=["A"],this.packedInputs=!1,this.packedOutput=!0;const t=bme(),[n,i]=e;this.outputShape=e,this.userCode=`\n void main() {\n ivec3 coords = getOutputCoords();\n int texR = coords[0];\n int texC = coords[1];\n int depth = coords[2];\n\n vec4 result = vec4(0.);\n\n for(int row=0; row<=1; row++) {\n for(int col=0; col<=1; col++) {\n texC = coords[1] + row;\n depth = coords[2] + col;\n\n vec2 uv = (vec2(texC, texR) + halfCR) /\n vec2(${i}.0, ${n}.0);\n vec4 values = ${t.texture2D}(A, uv);\n float value;\n if (depth == 0) {\n value = values.r;\n } else if (depth == 1) {\n value = values.g;\n } else if (depth == 2) {\n value = values.b;\n } else if (depth == 3) {\n value = values.a;\n }\n\n result[row * 2 + col] = floor(value * 255.0 + 0.5);\n }\n }\n\n ${t.output} = result;\n }\n `}} +class mTe{constructor(e){this.variableNames=["A"],this.packedInputs=!1,this.packedOutput=!0;const t=Ame(),[n,i]=e;this.outputShape=e,this.userCode=`\n void main() {\n ivec3 coords = getOutputCoords();\n int texR = coords[0];\n int texC = coords[1];\n int depth = coords[2];\n\n vec4 result = vec4(0.);\n\n for(int row=0; row<=1; row++) {\n for(int col=0; col<=1; col++) {\n texC = coords[1] + row;\n depth = coords[2] + col;\n\n vec2 uv = (vec2(texC, texR) + halfCR) /\n vec2(${i}.0, ${n}.0);\n vec4 values = ${t.texture2D}(A, uv);\n float value;\n if (depth == 0) {\n value = values.r;\n } else if (depth == 1) {\n value = values.g;\n } else if (depth == 2) {\n value = values.b;\n } else if (depth == 3) {\n value = values.a;\n }\n\n result[row * 2 + col] = floor(value * 255.0 + 0.5);\n }\n }\n\n ${t.output} = result;\n }\n `}} /** * @license * Copyright 2019 Google LLC. All Rights Reserved. @@ -16903,7 +16903,7 @@ class uTe{constructor(e){this.variableNames=["A"],this.packedInputs=!1,this.pack * limitations under the License. * ============================================================================= */ -const cTe={kernelName:p3.FromPixels,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:i}=e;let{pixels:r}=t;const{numChannels:s}=i,o="undefined"!=typeof HTMLVideoElement&&r instanceof HTMLVideoElement,a="undefined"!=typeof HTMLImageElement&&r instanceof HTMLImageElement,[l,u]=o?[r.videoWidth,r.videoHeight]:[r.width,r.height],c=[u,l],d=[u,l,s];if(a||o){const e=(0,p3.env)().getBool("CANVAS2D_WILL_READ_FREQUENTLY_FOR_GPU");null!=dTe&&e===hTe||(hTe=e,dTe=document.createElement("canvas").getContext("2d",{willReadFrequently:hTe})),dTe.canvas.width=l,dTe.canvas.height=u,dTe.drawImage(r,0,0,l,u),r=dTe.canvas}const h=n.makeTensorInfo(c,"int32");n.texData.get(h.dataId).usage=mfe.PIXELS,n.gpgpu.uploadPixelDataToTexture(n.getTexture(h.dataId),r);const p=(0,p3.env)().getBool("WEBGL_PACK")?new uTe(d):new lTe(d),f=n.runWebGLProgram(p,[h],"int32");return n.disposeData(h.dataId),f}};let dTe,hTe=(0,p3.env)().getBool("CANVAS2D_WILL_READ_FREQUENTLY_FOR_GPU");const pTe={kernelName:p3.FusedConv2D,backendName:"webgl",kernelFunc: +const gTe={kernelName:v3.FromPixels,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:i}=e;let{pixels:r}=t;const{numChannels:s}=i,o="undefined"!=typeof HTMLVideoElement&&r instanceof HTMLVideoElement,a="undefined"!=typeof HTMLImageElement&&r instanceof HTMLImageElement,[l,u]=o?[r.videoWidth,r.videoHeight]:[r.width,r.height],c=[u,l],d=[u,l,s];if(a||o){const e=(0,v3.env)().getBool("CANVAS2D_WILL_READ_FREQUENTLY_FOR_GPU");null!=_Te&&e===yTe||(yTe=e,_Te=document.createElement("canvas").getContext("2d",{willReadFrequently:yTe})),_Te.canvas.width=l,_Te.canvas.height=u,_Te.drawImage(r,0,0,l,u),r=_Te.canvas}const h=n.makeTensorInfo(c,"int32");n.texData.get(h.dataId).usage=Tfe.PIXELS,n.gpgpu.uploadPixelDataToTexture(n.getTexture(h.dataId),r);const p=(0,v3.env)().getBool("WEBGL_PACK")?new mTe(d):new fTe(d),f=n.runWebGLProgram(p,[h],"int32");return n.disposeData(h.dataId),f}};let _Te,yTe=(0,v3.env)().getBool("CANVAS2D_WILL_READ_FREQUENTLY_FOR_GPU");const vTe={kernelName:v3.FusedConv2D,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -16920,7 +16920,7 @@ const cTe={kernelName:p3.FromPixels,backendName:"webgl",kernelFunc:function(e){c * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r,filter:s,bias:o,preluActivationWeights:a}=t,{strides:l,pad:u,dataFormat:c,dilations:d,dimRoundingMode:h,activation:p,leakyreluAlpha:f}=i,m=p3.backend_util.convertConv2DDataFormat(c),g=p3.backend_util.computeConv2DInfo(r.shape,s.shape,l,d,u,h,!1,m);let _;const y=[],v=null!=o,b=null!=a,T="leakyrelu"===p,x=()=>{const e=[r,s],t=(e,t)=>{if("NCHW"===t&&1===e.shape.length&&1!==e.shape[0]){const t=uye({inputs:{x:e},backend:n,attrs:{shape:[e.shape[0],1,1]}});return y.push(t),t}return e};if(v&&e.push(t(o,c)),b&&e.push(t(a,c)),T){const t=n.makeTensorInfo([],"float32",p3.util.createScalarValue(f,"float32"));e.push(t),y.push(t)}return e};if(1!==g.filterHeight||1!==g.filterWidth||1!==g.dilationHeight||1!==g.dilationWidth||1!==g.strideHeight||1!==g.strideWidth||"SAME"!==g.padInfo.type&&"VALID"!==g.padInfo.type)if(g.strideWidth<=2&&"channelsLast"===m&&(0,p3.env)().getBool("WEBGL_EXP_CONV")){const e=p?tye(p,!0):null,t=new Gve(g,v,e,b,T),i=[[g.padInfo.top,g.padInfo.left],[g.strideHeight,g.strideWidth],[g.dilationHeight,g.dilationWidth],[g.inHeight,g.inWidth]],r=x();_=n.runWebGLProgram(t,r,"float32",i)}else if((0,p3.env)().getBool("WEBGL_CONV_IM2COL"))_=qve({x:r,filter:s,convInfo:g,backend:n,bias:o,activation:p,preluActivationWeights:a,leakyreluAlpha:f});else{const e=p?tye(p,!1):null,t=new jve(g,v,e,b,T),i=x();_=n.runWebGLProgram(t,i,"float32")}else _=Xve({x:r,filter:s,convInfo:g,backend:n,bias:o,activation:p,preluActivationWeights:a,leakyreluAlpha:f});const E=uye({inputs:{x:_},backend:n,attrs:{shape:g.outShape}});return y.push(_),y.forEach(e=>n.disposeIntermediateTensorInfo(e)),E}};const fTe={kernelName:p3.FusedDepthwiseConv2D,backendName:"webgl",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r,filter:s,bias:o,preluActivationWeights:a}=t,{strides:l,pad:u,dataFormat:c,dilations:d,dimRoundingMode:h,activation:p,leakyreluAlpha:f}=i,m=v3.backend_util.convertConv2DDataFormat(c),g=v3.backend_util.computeConv2DInfo(r.shape,s.shape,l,d,u,h,!1,m);let _;const y=[],v=null!=o,b=null!=a,T="leakyrelu"===p,x=()=>{const e=[r,s],t=(e,t)=>{if("NCHW"===t&&1===e.shape.length&&1!==e.shape[0]){const t=mye({inputs:{x:e},backend:n,attrs:{shape:[e.shape[0],1,1]}});return y.push(t),t}return e};if(v&&e.push(t(o,c)),b&&e.push(t(a,c)),T){const t=n.makeTensorInfo([],"float32",v3.util.createScalarValue(f,"float32"));e.push(t),y.push(t)}return e};if(1!==g.filterHeight||1!==g.filterWidth||1!==g.dilationHeight||1!==g.dilationWidth||1!==g.strideHeight||1!==g.strideWidth||"SAME"!==g.padInfo.type&&"VALID"!==g.padInfo.type)if(g.strideWidth<=2&&"channelsLast"===m&&(0,v3.env)().getBool("WEBGL_EXP_CONV")){const e=p?aye(p,!0):null,t=new Zve(g,v,e,b,T),i=[[g.padInfo.top,g.padInfo.left],[g.strideHeight,g.strideWidth],[g.dilationHeight,g.dilationWidth],[g.inHeight,g.inWidth]],r=x();_=n.runWebGLProgram(t,r,"float32",i)}else if((0,v3.env)().getBool("WEBGL_CONV_IM2COL"))_=tbe({x:r,filter:s,convInfo:g,backend:n,bias:o,activation:p,preluActivationWeights:a,leakyreluAlpha:f});else{const e=p?aye(p,!1):null,t=new qve(g,v,e,b,T),i=x();_=n.runWebGLProgram(t,i,"float32")}else _=ebe({x:r,filter:s,convInfo:g,backend:n,bias:o,activation:p,preluActivationWeights:a,leakyreluAlpha:f});const E=mye({inputs:{x:_},backend:n,attrs:{shape:g.outShape}});return y.push(_),y.forEach(e=>n.disposeIntermediateTensorInfo(e)),E}};const bTe={kernelName:v3.FusedDepthwiseConv2D,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -16937,7 +16937,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r,filter:s,bias:o,preluActiva * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r,filter:s,bias:o,preluActivationWeights:a}=t,{strides:l,pad:u,dilations:c,dimRoundingMode:d,activation:h,leakyreluAlpha:p}=i,f=[];let m=c;null==m&&(m=[1,1]),p3.util.assert(p3.backend_util.eitherStridesOrDilationsAreOne(l,m),()=>`Error in depthwiseConv2d: Either strides or dilations must be 1. Got strides ${l} and dilations '${m}'`);const g=p3.backend_util.computeConv2DInfo(r.shape,s.shape,l,m,u,d,!0),_=(0,p3.env)().getBool("WEBGL_PACK_DEPTHWISECONV")&&g.strideWidth<=2&&g.outChannels/g.inChannels===1,y=h?tye(h,_):null,v=[r,s],b=null!=o,T=null!=a,x="leakyrelu"===h;if(b&&v.push(o),T&&v.push(a),x){const e=n.makeTensorInfo([],"float32",p3.util.createScalarValue(p,"float32"));v.push(e),f.push(e)}let E;E=_?new wbe(g,b,y,T,x):new Ebe(g,b,y,T,x);const w=[[g.padInfo.top,g.padInfo.left],[g.strideHeight,g.strideWidth],[g.dilationHeight,g.dilationWidth],[g.inHeight,g.inWidth]],I=n.runWebGLProgram(E,v,"float32",w);return f.forEach(e=>n.disposeIntermediateTensorInfo(e)),I}};class mTe{constructor(e,t,n,i){this.sliceDim=e,this.strides=t,this.paramsShape=i,this.variableNames=["x","indices"],this.outputShape=n;const r=Pme(n.length);let s="\n int index;";for(let e=0;e= ${this.paramsShape[e]};\n flattenIndex += index * ${this.strides[e]};`;this.userCode=`\n void main() {\n ${r} coords = getOutputCoords();\n int flattenIndex = 0;\n bool out_of_bounds = false;\n\n ${s}\n\n setOutput(out_of_bounds ? 0.0 : getX(flattenIndex, coords[1]));\n }\n `}}const gTe={kernelName:p3.GatherNd,backendName:"webgl",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r,filter:s,bias:o,preluActivationWeights:a}=t,{strides:l,pad:u,dilations:c,dimRoundingMode:d,activation:h,leakyreluAlpha:p}=i,f=[];let m=c;null==m&&(m=[1,1]),v3.util.assert(v3.backend_util.eitherStridesOrDilationsAreOne(l,m),()=>`Error in depthwiseConv2d: Either strides or dilations must be 1. Got strides ${l} and dilations '${m}'`);const g=v3.backend_util.computeConv2DInfo(r.shape,s.shape,l,m,u,d,!0),_=(0,v3.env)().getBool("WEBGL_PACK_DEPTHWISECONV")&&g.strideWidth<=2&&g.outChannels/g.inChannels===1,y=h?aye(h,_):null,v=[r,s],b=null!=o,T=null!=a,x="leakyrelu"===h;if(b&&v.push(o),T&&v.push(a),x){const e=n.makeTensorInfo([],"float32",v3.util.createScalarValue(p,"float32"));v.push(e),f.push(e)}let E;E=_?new Mbe(g,b,y,T,x):new Obe(g,b,y,T,x);const w=[[g.padInfo.top,g.padInfo.left],[g.strideHeight,g.strideWidth],[g.dilationHeight,g.dilationWidth],[g.inHeight,g.inWidth]],I=n.runWebGLProgram(E,v,"float32",w);return f.forEach(e=>n.disposeIntermediateTensorInfo(e)),I}};class TTe{constructor(e,t,n,i){this.sliceDim=e,this.strides=t,this.paramsShape=i,this.variableNames=["x","indices"],this.outputShape=n;const r=jme(n.length);let s="\n int index;";for(let e=0;e= ${this.paramsShape[e]};\n flattenIndex += index * ${this.strides[e]};`;this.userCode=`\n void main() {\n ${r} coords = getOutputCoords();\n int flattenIndex = 0;\n bool out_of_bounds = false;\n\n ${s}\n\n setOutput(out_of_bounds ? 0.0 : getX(flattenIndex, coords[1]));\n }\n `}}const xTe={kernelName:v3.GatherNd,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -16954,7 +16954,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r,filter:s,bias:o,preluActiva * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n}=e,{params:i,indices:r}=t,s=r.shape,o=s[s.length-1],a=p3.util.sizeFromShape(i.shape),[l,u,c,d]=p3.backend_util.prepareAndValidate(i,r),h=uye({inputs:{x:r},backend:n,attrs:{shape:[u,o]}}),p=uye({inputs:{x:i},backend:n,attrs:{shape:[p3.util.sizeFromShape(i.shape)/c,c]}});if(n.shouldExecuteOnCPU([i,r])||"string"===i.dtype){const e=n.readSync(r.dataId),t=n.bufferSync(i),s=kge(e,t,i.dtype,u,o,c,d,i.shape,a);return n.makeTensorInfo(l,i.dtype,s.values)}const f=new mTe(o,d,[u,c],i.shape),m=n.runWebGLProgram(f,[p,h],p.dtype),g=uye({inputs:{x:m},backend:n,attrs:{shape:l}});return n.disposeIntermediateTensorInfo(h),n.disposeIntermediateTensorInfo(p),n.disposeIntermediateTensorInfo(m),g}}; +function(e){const{inputs:t,backend:n}=e,{params:i,indices:r}=t,s=r.shape,o=s[s.length-1],a=v3.util.sizeFromShape(i.shape),[l,u,c,d]=v3.backend_util.prepareAndValidate(i,r),h=mye({inputs:{x:r},backend:n,attrs:{shape:[u,o]}}),p=mye({inputs:{x:i},backend:n,attrs:{shape:[v3.util.sizeFromShape(i.shape)/c,c]}});if(n.shouldExecuteOnCPU([i,r])||"string"===i.dtype){const e=n.readSync(r.dataId),t=n.bufferSync(i),s=Pge(e,t,i.dtype,u,o,c,d,i.shape,a);return n.makeTensorInfo(l,i.dtype,s.values)}const f=new TTe(o,d,[u,c],i.shape),m=n.runWebGLProgram(f,[p,h],p.dtype),g=mye({inputs:{x:m},backend:n,attrs:{shape:l}});return n.disposeIntermediateTensorInfo(h),n.disposeIntermediateTensorInfo(p),n.disposeIntermediateTensorInfo(m),g}}; /** * @license * Copyright 2017 Google LLC. All Rights Reserved. @@ -16971,7 +16971,7 @@ function(e){const{inputs:t,backend:n}=e,{params:i,indices:r}=t,s=r.shape,o=s[s.l * limitations under the License. * ============================================================================= */ -class _Te{constructor(e,t){this.variableNames=["A","indices"],this.outputShape=t,this.rank=t.length;const n=Pme(this.rank),i=function(e){const t=["resRC.x","resRC.y","resRC.z","resRC.w"],n=[];for(let i=0;i= 0) && (index < ${e[2]}) ? 1.0 : 0.0;\n setOutput(inBounds * getA(${i}));\n }\n `}} +class ETe{constructor(e,t){this.variableNames=["A","indices"],this.outputShape=t,this.rank=t.length;const n=jme(this.rank),i=function(e){const t=["resRC.x","resRC.y","resRC.z","resRC.w"],n=[];for(let i=0;i= 0) && (index < ${e[2]}) ? 1.0 : 0.0;\n setOutput(inBounds * getA(${i}));\n }\n `}} /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -16988,7 +16988,7 @@ class _Te{constructor(e,t){this.variableNames=["A","indices"],this.outputShape=t * limitations under the License. * ============================================================================= */ -function yTe(e){const{inputs:t,backend:n,attrs:i}=e,{x:r,indices:s}=t,{axis:o,batchDims:a}=i,l=p3.util.parseAxisParam(o,r.shape)[0];if((0,p3.env)().get("DEBUG")){const e=n.readSync(s.dataId),t=r.shape[l];for(let n=0;n=0,()=>`GatherV2: the index value ${i} is not in [0, ${t-1}]`)}}const u=p3.backend_util.segment_util.collectGatherOpShapeInfo(r,s,l,a),c=p3.util.sizeFromShape(s.shape),d=[],h=uye({inputs:{x:r},backend:n,attrs:{shape:[u.batchSize,u.outerSize,u.dimSize,u.sliceSize]}}),p=uye({inputs:{x:s},backend:n,attrs:{shape:[u.batchSize,c/u.batchSize]}});d.push(h),d.push(p);const f=[u.batchSize,u.outerSize,c/u.batchSize,u.sliceSize];if(n.shouldExecuteOnCPU([r,s])||"string"===r.dtype){const e=n.bufferSync(p),t=n.bufferSync(h),i=Rge(t,e,f);return d.forEach(e=>n.disposeIntermediateTensorInfo(e)),n.makeTensorInfo(u.outputShape,i.dtype,i.values)}const m=new _Te(h.shape,f),g=n.runWebGLProgram(m,[h,p],h.dtype);d.push(g);const _=uye({inputs:{x:g},backend:n,attrs:{shape:u.outputShape}});return d.forEach(e=>n.disposeIntermediateTensorInfo(e)),_}const vTe={kernelName:p3.GatherV2,backendName:"webgl",kernelFunc:yTe},bTe=eye({opSnippet:"return float(a > b);",packedOpSnippet:"\n return vec4(greaterThan(a, b));\n",cpuKernelImpl:Nge,dtype:"bool"}),TTe={kernelName:p3.Greater,backendName:"webgl",kernelFunc:bTe},xTe=eye({opSnippet:"return float(a >= b);",packedOpSnippet:"\n return vec4(greaterThanEqual(a, b));\n",dtype:"bool",cpuKernelImpl:Dge}),ETe={kernelName:p3.GreaterEqual,backendName:"webgl",kernelFunc:xTe};const wTe={kernelName:p3.IFFT,backendName:"webgl",kernelFunc: +function wTe(e){const{inputs:t,backend:n,attrs:i}=e,{x:r,indices:s}=t,{axis:o,batchDims:a}=i,l=v3.util.parseAxisParam(o,r.shape)[0];if((0,v3.env)().get("DEBUG")){const e=n.readSync(s.dataId),t=r.shape[l];for(let n=0;n=0,()=>`GatherV2: the index value ${i} is not in [0, ${t-1}]`)}}const u=v3.backend_util.segment_util.collectGatherOpShapeInfo(r,s,l,a),c=v3.util.sizeFromShape(s.shape),d=[],h=mye({inputs:{x:r},backend:n,attrs:{shape:[u.batchSize,u.outerSize,u.dimSize,u.sliceSize]}}),p=mye({inputs:{x:s},backend:n,attrs:{shape:[u.batchSize,c/u.batchSize]}});d.push(h),d.push(p);const f=[u.batchSize,u.outerSize,c/u.batchSize,u.sliceSize];if(n.shouldExecuteOnCPU([r,s])||"string"===r.dtype){const e=n.bufferSync(p),t=n.bufferSync(h),i=Bge(t,e,f);return d.forEach(e=>n.disposeIntermediateTensorInfo(e)),n.makeTensorInfo(u.outputShape,i.dtype,i.values)}const m=new ETe(h.shape,f),g=n.runWebGLProgram(m,[h,p],h.dtype);d.push(g);const _=mye({inputs:{x:g},backend:n,attrs:{shape:u.outputShape}});return d.forEach(e=>n.disposeIntermediateTensorInfo(e)),_}const ITe={kernelName:v3.GatherV2,backendName:"webgl",kernelFunc:wTe},ATe=oye({opSnippet:"return float(a > b);",packedOpSnippet:"\n return vec4(greaterThan(a, b));\n",cpuKernelImpl:$ge,dtype:"bool"}),STe={kernelName:v3.Greater,backendName:"webgl",kernelFunc:ATe},CTe=oye({opSnippet:"return float(a >= b);",packedOpSnippet:"\n return vec4(greaterThanEqual(a, b));\n",dtype:"bool",cpuKernelImpl:Uge}),OTe={kernelName:v3.GreaterEqual,backendName:"webgl",kernelFunc:CTe};const MTe={kernelName:v3.IFFT,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -17005,7 +17005,7 @@ function yTe(e){const{inputs:t,backend:n,attrs:i}=e,{x:r,indices:s}=t,{axis:o,ba * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n}=e,{input:i}=t;return Kbe(i,!0,n)}},ITe=J_e({opSnippet:"return float(!isnan(x) && !isinf(x));",dtype:"bool"}),ATe={kernelName:p3.IsFinite,backendName:"webgl",kernelFunc:ITe},STe=J_e({opSnippet:"return float(isinf(x));",dtype:"bool"}),CTe={kernelName:p3.IsInf,backendName:"webgl",kernelFunc:STe},OTe=J_e({opSnippet:"return float(isnan(x));",dtype:"bool"}),MTe={kernelName:p3.IsNan,backendName:"webgl",kernelFunc:OTe},kTe=eye({opSnippet:"return float(a < b);",packedOpSnippet:"\n return vec4(lessThan(a, b));\n",cpuKernelImpl:Fge,dtype:"bool"}),RTe={kernelName:p3.Less,backendName:"webgl",kernelFunc:kTe},NTe=eye({opSnippet:"return float(a <= b);",packedOpSnippet:"\n return vec4(lessThanEqual(a, b));\n",cpuKernelImpl:Lge,dtype:"bool"}),DTe={kernelName:p3.LessEqual,backendName:"webgl",kernelFunc:NTe};const FTe={kernelName:p3.LinSpace,backendName:"webgl",kernelFunc: +function(e){const{inputs:t,backend:n}=e,{input:i}=t;return nTe(i,!0,n)}},kTe=sye({opSnippet:"return float(!isnan(x) && !isinf(x));",dtype:"bool"}),RTe={kernelName:v3.IsFinite,backendName:"webgl",kernelFunc:kTe},NTe=sye({opSnippet:"return float(isinf(x));",dtype:"bool"}),DTe={kernelName:v3.IsInf,backendName:"webgl",kernelFunc:NTe},FTe=sye({opSnippet:"return float(isnan(x));",dtype:"bool"}),LTe={kernelName:v3.IsNan,backendName:"webgl",kernelFunc:FTe},PTe=oye({opSnippet:"return float(a < b);",packedOpSnippet:"\n return vec4(lessThan(a, b));\n",cpuKernelImpl:Vge,dtype:"bool"}),BTe={kernelName:v3.Less,backendName:"webgl",kernelFunc:PTe},$Te=oye({opSnippet:"return float(a <= b);",packedOpSnippet:"\n return vec4(lessThanEqual(a, b));\n",cpuKernelImpl:zge,dtype:"bool"}),UTe={kernelName:v3.LessEqual,backendName:"webgl",kernelFunc:$Te};const VTe={kernelName:v3.LinSpace,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -17022,7 +17022,7 @@ function(e){const{inputs:t,backend:n}=e,{input:i}=t;return Kbe(i,!0,n)}},ITe=J_e * limitations under the License. * ============================================================================= */ -function(e){const{backend:t,attrs:n}=e,{start:i,stop:r,num:s}=n,o=Pge(i,r,s);return t.makeTensorInfo([o.length],"float32",o)}},LTe=J_e({opSnippet:Q_e+"\n return x < 0.0 ? 0./0. : log(x);\n",packedOpSnippet:"\n vec4 result = log(x);\n bvec4 isNaN = isnan(x);\n result.r = isNaN.r ? x.r : (x.r < 0.0 ? 0./0. : result.r);\n result.g = isNaN.g ? x.g : (x.g < 0.0 ? 0./0. : result.g);\n result.b = isNaN.b ? x.b : (x.b < 0.0 ? 0./0. : result.b);\n result.a = isNaN.a ? x.a : (x.a < 0.0 ? 0./0. : result.a);\n return result;\n",cpuKernelImpl:Bge}),PTe={kernelName:p3.Log,backendName:"webgl",kernelFunc:LTe},BTe=J_e({opSnippet:Q_e+"\n return log(1.0 + x);\n"}),$Te={kernelName:p3.Log1p,backendName:"webgl",kernelFunc:BTe},UTe=eye({opSnippet:"return float(a >= 1.0 && b >= 1.0);",packedOpSnippet:"\n return vec4(\n vec4(greaterThanEqual(a, vec4(1.0))) *\n vec4(greaterThanEqual(b, vec4(1.0))));\n",dtype:"bool"}),VTe={kernelName:p3.LogicalAnd,backendName:"webgl",kernelFunc:UTe},zTe=J_e({opSnippet:"return float(!(x >= 1.0));"}),jTe={kernelName:p3.LogicalNot,backendName:"webgl",kernelFunc:zTe},YTe=eye({opSnippet:"return float(a >= 1.0 || b >= 1.0);",packedOpSnippet:"\n return min(\n vec4(greaterThanEqual(a, vec4(1.0))) +\n vec4(greaterThanEqual(b, vec4(1.0))),\n vec4(1.0));\n",dtype:"bool"}),GTe={kernelName:p3.LogicalOr,backendName:"webgl",kernelFunc:YTe}; +function(e){const{backend:t,attrs:n}=e,{start:i,stop:r,num:s}=n,o=jge(i,r,s);return t.makeTensorInfo([o.length],"float32",o)}},zTe=sye({opSnippet:rye+"\n return x < 0.0 ? 0./0. : log(x);\n",packedOpSnippet:"\n vec4 result = log(x);\n bvec4 isNaN = isnan(x);\n result.r = isNaN.r ? x.r : (x.r < 0.0 ? 0./0. : result.r);\n result.g = isNaN.g ? x.g : (x.g < 0.0 ? 0./0. : result.g);\n result.b = isNaN.b ? x.b : (x.b < 0.0 ? 0./0. : result.b);\n result.a = isNaN.a ? x.a : (x.a < 0.0 ? 0./0. : result.a);\n return result;\n",cpuKernelImpl:Yge}),jTe={kernelName:v3.Log,backendName:"webgl",kernelFunc:zTe},YTe=sye({opSnippet:rye+"\n return log(1.0 + x);\n"}),GTe={kernelName:v3.Log1p,backendName:"webgl",kernelFunc:YTe},HTe=oye({opSnippet:"return float(a >= 1.0 && b >= 1.0);",packedOpSnippet:"\n return vec4(\n vec4(greaterThanEqual(a, vec4(1.0))) *\n vec4(greaterThanEqual(b, vec4(1.0))));\n",dtype:"bool"}),WTe={kernelName:v3.LogicalAnd,backendName:"webgl",kernelFunc:HTe},XTe=sye({opSnippet:"return float(!(x >= 1.0));"}),qTe={kernelName:v3.LogicalNot,backendName:"webgl",kernelFunc:XTe},KTe=oye({opSnippet:"return float(a >= 1.0 || b >= 1.0);",packedOpSnippet:"\n return min(\n vec4(greaterThanEqual(a, vec4(1.0))) +\n vec4(greaterThanEqual(b, vec4(1.0))),\n vec4(1.0));\n",dtype:"bool"}),ZTe={kernelName:v3.LogicalOr,backendName:"webgl",kernelFunc:KTe}; /** * @license * Copyright 2017 Google LLC. All Rights Reserved. @@ -17039,7 +17039,7 @@ function(e){const{backend:t,attrs:n}=e,{start:i,stop:r,num:s}=n,o=Pge(i,r,s);ret * limitations under the License. * ============================================================================= */ -class HTe{constructor(e,t,n,i,r){this.variableNames=["x"],this.outputShape=[];const s=t,o=e[3]-1;let a;this.outputShape=e;const l=`float(${n}) + float(${i}) * sum`;a=.5===r?`inversesqrt(${l})`:1===r?`1.0/(${l})`:`exp(log(${l}) * float(-${r}));`,this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int r = coords[1];\n int c = coords[2];\n int d = coords[3];\n float x = getX(b, r, c, d);\n float sum = 0.0;\n for (int j = -${s}; j <= ${s}; j++) {\n int idx = d + j;\n if (idx >= 0 && idx <= ${o}) {\n float z = getX(b, r, c, idx);\n sum += z * z;\n }\n }\n float val = x * ${a};\n setOutput(val);\n }\n `}} +class QTe{constructor(e,t,n,i,r){this.variableNames=["x"],this.outputShape=[];const s=t,o=e[3]-1;let a;this.outputShape=e;const l=`float(${n}) + float(${i}) * sum`;a=.5===r?`inversesqrt(${l})`:1===r?`1.0/(${l})`:`exp(log(${l}) * float(-${r}));`,this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int r = coords[1];\n int c = coords[2];\n int d = coords[3];\n float x = getX(b, r, c, d);\n float sum = 0.0;\n for (int j = -${s}; j <= ${s}; j++) {\n int idx = d + j;\n if (idx >= 0 && idx <= ${o}) {\n float z = getX(b, r, c, idx);\n sum += z * z;\n }\n }\n float val = x * ${a};\n setOutput(val);\n }\n `}} /** * @license * Copyright 2019 Google LLC. All Rights Reserved. @@ -17056,7 +17056,7 @@ class HTe{constructor(e,t,n,i,r){this.variableNames=["x"],this.outputShape=[];co * limitations under the License. * ============================================================================= */ -class WTe{constructor(e,t,n,i,r){this.variableNames=["x"],this.outputShape=[],this.packedInputs=!0,this.packedOutput=!0;const s=t,o=e[3]-1;let a;this.outputShape=e;const l=`float(${n}) + float(${i}) * sum`;a=.5===r?`inversesqrt(${l})`:1===r?`1.0/(${l})`:`exp(log(${l}) * float(-${r}));`,this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords.x;\n int r = coords.y;\n int c = coords.z;\n int d = coords.w;\n\n bool hasNextCol = d < ${this.outputShape[3]};\n bool hasNextRow = c < ${this.outputShape[2]};\n\n vec4 sum = vec4(0.);\n vec4 xFragAtOutputCoords = getX(b, r, c, d);\n\n vec4 xAtOutputCoords = vec4(\n getChannel(xFragAtOutputCoords, vec2(c, d)),\n hasNextCol ?\n getChannel(xFragAtOutputCoords, vec2(c, d + 1)) : 0.0,\n hasNextRow ?\n getChannel(xFragAtOutputCoords , vec2(c + 1, d)) : 0.0,\n (hasNextRow && hasNextCol) ?\n getChannel(xFragAtOutputCoords, vec2(c + 1, d + 1)) : 0.0\n );\n\n int firstChannel = d - ${s};\n vec2 cache = vec2(0.);\n if(firstChannel >= 0){\n vec4 firstChannelFrag = getX(b, r, c, firstChannel);\n cache.x = getChannel(firstChannelFrag, vec2(c, firstChannel));\n if(hasNextRow){\n cache.y = getChannel(firstChannelFrag, vec2(c + 1, firstChannel));\n }\n }\n\n ivec2 depth = ivec2(d, d + 1);\n for (int j = - ${s}; j <= ${s}; j++) {\n ivec2 idx = depth + j;\n bvec2 aboveLowerBound = greaterThanEqual(idx, ivec2(0));\n bvec2 belowUpperBound = lessThanEqual(idx, ivec2(${o}));\n\n bool depthInRange = aboveLowerBound.x && belowUpperBound.x;\n bool depthPlusOneInRange = aboveLowerBound.y && belowUpperBound.y;\n\n if(depthInRange || depthPlusOneInRange){\n vec4 z = vec4(0.);\n vec4 xFragAtCurrentDepth;\n z.xz = cache.xy;\n if(depthPlusOneInRange && hasNextCol){\n xFragAtCurrentDepth = idx.y != d ?\n getX(b, r, c, idx.y) : xFragAtOutputCoords;\n z.y = getChannel(xFragAtCurrentDepth, vec2(c, idx.y));\n if(hasNextRow){\n z.w = getChannel(xFragAtCurrentDepth, vec2(c + 1, idx.y));\n }\n }\n cache.xy = z.yw;\n sum += z * z;\n }\n }\n vec4 result = xAtOutputCoords * ${a};\n setOutput(result);\n }\n `}} +class JTe{constructor(e,t,n,i,r){this.variableNames=["x"],this.outputShape=[],this.packedInputs=!0,this.packedOutput=!0;const s=t,o=e[3]-1;let a;this.outputShape=e;const l=`float(${n}) + float(${i}) * sum`;a=.5===r?`inversesqrt(${l})`:1===r?`1.0/(${l})`:`exp(log(${l}) * float(-${r}));`,this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords.x;\n int r = coords.y;\n int c = coords.z;\n int d = coords.w;\n\n bool hasNextCol = d < ${this.outputShape[3]};\n bool hasNextRow = c < ${this.outputShape[2]};\n\n vec4 sum = vec4(0.);\n vec4 xFragAtOutputCoords = getX(b, r, c, d);\n\n vec4 xAtOutputCoords = vec4(\n getChannel(xFragAtOutputCoords, vec2(c, d)),\n hasNextCol ?\n getChannel(xFragAtOutputCoords, vec2(c, d + 1)) : 0.0,\n hasNextRow ?\n getChannel(xFragAtOutputCoords , vec2(c + 1, d)) : 0.0,\n (hasNextRow && hasNextCol) ?\n getChannel(xFragAtOutputCoords, vec2(c + 1, d + 1)) : 0.0\n );\n\n int firstChannel = d - ${s};\n vec2 cache = vec2(0.);\n if(firstChannel >= 0){\n vec4 firstChannelFrag = getX(b, r, c, firstChannel);\n cache.x = getChannel(firstChannelFrag, vec2(c, firstChannel));\n if(hasNextRow){\n cache.y = getChannel(firstChannelFrag, vec2(c + 1, firstChannel));\n }\n }\n\n ivec2 depth = ivec2(d, d + 1);\n for (int j = - ${s}; j <= ${s}; j++) {\n ivec2 idx = depth + j;\n bvec2 aboveLowerBound = greaterThanEqual(idx, ivec2(0));\n bvec2 belowUpperBound = lessThanEqual(idx, ivec2(${o}));\n\n bool depthInRange = aboveLowerBound.x && belowUpperBound.x;\n bool depthPlusOneInRange = aboveLowerBound.y && belowUpperBound.y;\n\n if(depthInRange || depthPlusOneInRange){\n vec4 z = vec4(0.);\n vec4 xFragAtCurrentDepth;\n z.xz = cache.xy;\n if(depthPlusOneInRange && hasNextCol){\n xFragAtCurrentDepth = idx.y != d ?\n getX(b, r, c, idx.y) : xFragAtOutputCoords;\n z.y = getChannel(xFragAtCurrentDepth, vec2(c, idx.y));\n if(hasNextRow){\n z.w = getChannel(xFragAtCurrentDepth, vec2(c + 1, idx.y));\n }\n }\n cache.xy = z.yw;\n sum += z * z;\n }\n }\n vec4 result = xAtOutputCoords * ${a};\n setOutput(result);\n }\n `}} /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -17073,7 +17073,7 @@ class WTe{constructor(e,t,n,i,r){this.variableNames=["x"],this.outputShape=[],th * limitations under the License. * ============================================================================= */ -const XTe={kernelName:p3.LRN,backendName:"webgl",kernelFunc:e=>{const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{depthRadius:s,bias:o,alpha:a,beta:l}=i,u=(0,p3.env)().getBool("WEBGL_PACK_NORMALIZATION")?new WTe(r.shape,s,o,a,l):new HTe(r.shape,s,o,a,l);return n.runWebGLProgram(u,[r],r.dtype)}}; +const exe={kernelName:v3.LRN,backendName:"webgl",kernelFunc:e=>{const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{depthRadius:s,bias:o,alpha:a,beta:l}=i,u=(0,v3.env)().getBool("WEBGL_PACK_NORMALIZATION")?new JTe(r.shape,s,o,a,l):new QTe(r.shape,s,o,a,l);return n.runWebGLProgram(u,[r],r.dtype)}}; /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -17090,7 +17090,7 @@ const XTe={kernelName:p3.LRN,backendName:"webgl",kernelFunc:e=>{const{inputs:t,b * limitations under the License. * ============================================================================= */ -class qTe{constructor(e,t,n,i,r){this.variableNames=["inputImage","outputImage","dy"],this.outputShape=[],this.outputShape=e,this.depth=e[3],this.depthRadius=t,this.bias=n,this.alpha=i,this.beta=r,this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int r = coords[1];\n int c = coords[2];\n\n float result = 0.0;\n for (int d = 0; d < ${this.depth}; ++d) {\n int depthBegin = int(max(0.0, float(d - ${t})));\n int depthEnd = int(min(float(${this.depth}),\n float(d + ${t} + 1)));\n\n const int MIN_DEPTH_BEGIN = 0;\n const int MAX_DEPTH_END = ${this.depth};\n\n float norm = 0.0;\n for (int k = MIN_DEPTH_BEGIN; k < MAX_DEPTH_END; ++k) {\n if (k < depthBegin){\n continue;\n }\n else if (k >= depthBegin && k < depthEnd) {\n norm += getInputImage(b, r, c, k) * getInputImage(b, r, c, k);\n }\n else {\n break;\n }\n }\n\n norm = float(${i}) * norm + float(${n});\n\n for(int k = MIN_DEPTH_BEGIN; k < MAX_DEPTH_END; ++k){\n if (k < depthBegin){\n continue;\n }\n else if (k >= depthBegin && k < depthEnd){\n float dyi = -2.0 * float(${i})\n * float(${r})\n * getInputImage(b, r, c, k) * getOutputImage(b, r, c, d)\n / norm;\n if (k == d) {\n dyi += pow(norm, -1.0 * ${r});\n }\n if (k == coords[3]) {\n dyi *= getDy(b, r, c, d);\n result += dyi;\n }\n }\n else {\n break;\n }\n }\n }\n setOutput(result);\n }\n `}} +class txe{constructor(e,t,n,i,r){this.variableNames=["inputImage","outputImage","dy"],this.outputShape=[],this.outputShape=e,this.depth=e[3],this.depthRadius=t,this.bias=n,this.alpha=i,this.beta=r,this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int r = coords[1];\n int c = coords[2];\n\n float result = 0.0;\n for (int d = 0; d < ${this.depth}; ++d) {\n int depthBegin = int(max(0.0, float(d - ${t})));\n int depthEnd = int(min(float(${this.depth}),\n float(d + ${t} + 1)));\n\n const int MIN_DEPTH_BEGIN = 0;\n const int MAX_DEPTH_END = ${this.depth};\n\n float norm = 0.0;\n for (int k = MIN_DEPTH_BEGIN; k < MAX_DEPTH_END; ++k) {\n if (k < depthBegin){\n continue;\n }\n else if (k >= depthBegin && k < depthEnd) {\n norm += getInputImage(b, r, c, k) * getInputImage(b, r, c, k);\n }\n else {\n break;\n }\n }\n\n norm = float(${i}) * norm + float(${n});\n\n for(int k = MIN_DEPTH_BEGIN; k < MAX_DEPTH_END; ++k){\n if (k < depthBegin){\n continue;\n }\n else if (k >= depthBegin && k < depthEnd){\n float dyi = -2.0 * float(${i})\n * float(${r})\n * getInputImage(b, r, c, k) * getOutputImage(b, r, c, d)\n / norm;\n if (k == d) {\n dyi += pow(norm, -1.0 * ${r});\n }\n if (k == coords[3]) {\n dyi *= getDy(b, r, c, d);\n result += dyi;\n }\n }\n else {\n break;\n }\n }\n }\n setOutput(result);\n }\n `}} /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -17107,7 +17107,7 @@ class qTe{constructor(e,t,n,i,r){this.variableNames=["inputImage","outputImage", * limitations under the License. * ============================================================================= */ -const KTe={kernelName:p3.LRNGrad,backendName:"webgl",kernelFunc:e=>{const{inputs:t,backend:n,attrs:i}=e,{x:r,y:s,dy:o}=t,{depthRadius:a,bias:l,alpha:u,beta:c}=i,d=new qTe(r.shape,a,l,u,c);return n.runWebGLProgram(d,[r,s,o],r.dtype)}}; +const nxe={kernelName:v3.LRNGrad,backendName:"webgl",kernelFunc:e=>{const{inputs:t,backend:n,attrs:i}=e,{x:r,y:s,dy:o}=t,{depthRadius:a,bias:l,alpha:u,beta:c}=i,d=new txe(r.shape,a,l,u,c);return n.runWebGLProgram(d,[r,s,o],r.dtype)}}; /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -17124,7 +17124,7 @@ const KTe={kernelName:p3.LRNGrad,backendName:"webgl",kernelFunc:e=>{const{inputs * limitations under the License. * ============================================================================= */ -function ZTe(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{reductionIndices:s,keepDims:o}=i,a=r.shape.length,l=p3.util.parseAxisParam(s,r.shape);let u=l;const c=p3.backend_util.getAxesPermutation(u,a),d=null!=c,h=n.shouldExecuteOnCPU([r]);let p=r;if(d){if(h){const e=n.texData.get(p.dataId).values,t=new Array(a);for(let e=0;e`Error in maxPool: Either strides or dilations must be 1. Got strides ${o} and dilations '1'`);const u=p3.backend_util.computePool2DInfo(r.shape,s,o,1,a,l);if(1===u.filterWidth&&1===u.filterHeight&&p3.util.arraysEqual(u.inShape,u.outShape))return z_e({inputs:{x:r},backend:n});const c=new eve(u,"max",!1);return n.runWebGLProgram(c,[r],r.dtype)}};const nxe={kernelName:p3.MaxPool3D,backendName:"webgl",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t;wme(r,"maxPool");const{filterSize:s,strides:o,pad:a,dimRoundingMode:l}=i;v3.util.assert(v3.backend_util.eitherStridesOrDilationsAreOne(o,1),()=>`Error in maxPool: Either strides or dilations must be 1. Got strides ${o} and dilations '1'`);const u=v3.backend_util.computePool2DInfo(r.shape,s,o,1,a,l);if(1===u.filterWidth&&1===u.filterHeight&&v3.util.arraysEqual(u.inShape,u.outShape))return X_e({inputs:{x:r},backend:n});const c=new ove(u,"max",!1);return n.runWebGLProgram(c,[r],r.dtype)}};const lxe={kernelName:v3.MaxPool3D,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -17175,7 +17175,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t;yme(r,"maxPool");const{f * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{filterSize:s,strides:o,pad:a,dataFormat:l,dimRoundingMode:u}=i,c=p3.backend_util.computePool3DInfo(r.shape,s,o,[1,1,1],a,u,l),d=new tve(c,"max",!1);return n.runWebGLProgram(d,[r],r.dtype)}}; +function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{filterSize:s,strides:o,pad:a,dataFormat:l,dimRoundingMode:u}=i,c=v3.backend_util.computePool3DInfo(r.shape,s,o,[1,1,1],a,u,l),d=new ave(c,"max",!1);return n.runWebGLProgram(d,[r],r.dtype)}}; /** * @license * Copyright 2017 Google LLC. All Rights Reserved. @@ -17192,7 +17192,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{filterSize:s,strides:o, * limitations under the License. * ============================================================================= */ -class ixe{constructor(e){this.variableNames=["dy","maxPos"],this.outputShape=e.inShape;const t=e.strideHeight,n=e.strideWidth,i=e.dilationHeight,r=e.effectiveFilterHeight,s=e.effectiveFilterWidth,o=r-1-e.padInfo.top,a=s-1-e.padInfo.left,l=r*s-1;this.userCode=`\n const ivec2 pads = ivec2(${o}, ${a});\n\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n\n ivec2 dyRCCorner = coords.yz - pads;\n int dyRCorner = dyRCCorner.x;\n int dyCCorner = dyRCCorner.y;\n\n // Convolve dy(?, ?, d) with pos mask(:, :, d) to get dx(xR, xC, d).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n for (int wR = 0; wR < ${r};\n wR += ${i}) {\n float dyR = float(dyRCorner + wR) / ${t}.0;\n\n if (dyR < 0.0 || dyR >= ${e.outHeight}.0 || fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n\n for (int wC = 0; wC < ${s}; wC++) {\n float dyC = float(dyCCorner + wC) / ${n}.0;\n\n if (dyC < 0.0 || dyC >= ${e.outWidth}.0 ||\n fract(dyC) > 0.0) {\n continue;\n }\n int idyC = int(dyC);\n\n float dyValue = getDy(b, idyR, idyC, d);\n int maxPosValue = ${l} - int(getMaxPos(b, idyR, idyC, d));\n\n // Get the current value, check it against the value from the\n // position matrix.\n int curPosValue = wR * ${s} + wC;\n float mask = float(maxPosValue == curPosValue ? 1.0 : 0.0);\n\n dotProd += dyValue * mask;\n }\n }\n setOutput(dotProd);\n }\n `}}class rxe{constructor(e){this.variableNames=["dy","maxPos"],this.outputShape=e.inShape;const t=e.strideDepth,n=e.strideHeight,i=e.strideWidth,r=e.dilationDepth,s=e.dilationHeight,o=e.dilationWidth,a=e.effectiveFilterDepth,l=e.effectiveFilterHeight,u=e.effectiveFilterWidth,c=a-1-e.padInfo.front,d=l-1-e.padInfo.top,h=u-1-e.padInfo.left,p=a*l*u-1;this.userCode=`\n const ivec3 pads = ivec3(${c}, ${d}, ${h});\n\n void main() {\n ivec5 coords = getOutputCoords();\n int batch = coords.x;\n int ch = coords.u;\n\n ivec3 dyCorner = ivec3(coords.y, coords.z, coords.w) - pads;\n int dyDCorner = dyCorner.x;\n int dyRCorner = dyCorner.y;\n int dyCCorner = dyCorner.z;\n\n // Convolve dy(?, ?, ?, ch) with pos mask(:, :, :, d) to get\n // dx(xD, xR, xC, ch).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n\n for (int wD = 0; wD < ${a};\n wD += ${r}) {\n float dyD = float(dyDCorner + wD) / ${t}.0;\n\n if (dyD < 0.0 || dyD >= ${e.outDepth}.0 || fract(dyD) > 0.0) {\n continue;\n }\n int idyD = int(dyD);\n\n for (int wR = 0; wR < ${l};\n wR += ${s}) {\n float dyR = float(dyRCorner + wR) / ${n}.0;\n\n if (dyR < 0.0 || dyR >= ${e.outHeight}.0 ||\n fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n\n for (int wC = 0; wC < ${u};\n wC += ${o}) {\n float dyC = float(dyCCorner + wC) / ${i}.0;\n\n if (dyC < 0.0 || dyC >= ${e.outWidth}.0 ||\n fract(dyC) > 0.0) {\n continue;\n }\n int idyC = int(dyC);\n\n float dyValue = getDy(batch, idyD, idyR, idyC, ch);\n int maxPosValue = ${p} -\n int(getMaxPos(batch, idyD, idyR, idyC, ch));\n\n // Get the current value, check it against the value from the\n // position matrix.\n int curPosValue =\n wD * ${l} * ${u} +\n wR * ${u} + wC;\n float mask = float(maxPosValue == curPosValue ? 1.0 : 0.0);\n\n dotProd += dyValue * mask;\n }\n }\n }\n setOutput(dotProd);\n }\n `}}const sxe={kernelName:p3.MaxPool3DGrad,backendName:"webgl",kernelFunc: +class uxe{constructor(e){this.variableNames=["dy","maxPos"],this.outputShape=e.inShape;const t=e.strideHeight,n=e.strideWidth,i=e.dilationHeight,r=e.effectiveFilterHeight,s=e.effectiveFilterWidth,o=r-1-e.padInfo.top,a=s-1-e.padInfo.left,l=r*s-1;this.userCode=`\n const ivec2 pads = ivec2(${o}, ${a});\n\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n\n ivec2 dyRCCorner = coords.yz - pads;\n int dyRCorner = dyRCCorner.x;\n int dyCCorner = dyRCCorner.y;\n\n // Convolve dy(?, ?, d) with pos mask(:, :, d) to get dx(xR, xC, d).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n for (int wR = 0; wR < ${r};\n wR += ${i}) {\n float dyR = float(dyRCorner + wR) / ${t}.0;\n\n if (dyR < 0.0 || dyR >= ${e.outHeight}.0 || fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n\n for (int wC = 0; wC < ${s}; wC++) {\n float dyC = float(dyCCorner + wC) / ${n}.0;\n\n if (dyC < 0.0 || dyC >= ${e.outWidth}.0 ||\n fract(dyC) > 0.0) {\n continue;\n }\n int idyC = int(dyC);\n\n float dyValue = getDy(b, idyR, idyC, d);\n int maxPosValue = ${l} - int(getMaxPos(b, idyR, idyC, d));\n\n // Get the current value, check it against the value from the\n // position matrix.\n int curPosValue = wR * ${s} + wC;\n float mask = float(maxPosValue == curPosValue ? 1.0 : 0.0);\n\n dotProd += dyValue * mask;\n }\n }\n setOutput(dotProd);\n }\n `}}class cxe{constructor(e){this.variableNames=["dy","maxPos"],this.outputShape=e.inShape;const t=e.strideDepth,n=e.strideHeight,i=e.strideWidth,r=e.dilationDepth,s=e.dilationHeight,o=e.dilationWidth,a=e.effectiveFilterDepth,l=e.effectiveFilterHeight,u=e.effectiveFilterWidth,c=a-1-e.padInfo.front,d=l-1-e.padInfo.top,h=u-1-e.padInfo.left,p=a*l*u-1;this.userCode=`\n const ivec3 pads = ivec3(${c}, ${d}, ${h});\n\n void main() {\n ivec5 coords = getOutputCoords();\n int batch = coords.x;\n int ch = coords.u;\n\n ivec3 dyCorner = ivec3(coords.y, coords.z, coords.w) - pads;\n int dyDCorner = dyCorner.x;\n int dyRCorner = dyCorner.y;\n int dyCCorner = dyCorner.z;\n\n // Convolve dy(?, ?, ?, ch) with pos mask(:, :, :, d) to get\n // dx(xD, xR, xC, ch).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n\n for (int wD = 0; wD < ${a};\n wD += ${r}) {\n float dyD = float(dyDCorner + wD) / ${t}.0;\n\n if (dyD < 0.0 || dyD >= ${e.outDepth}.0 || fract(dyD) > 0.0) {\n continue;\n }\n int idyD = int(dyD);\n\n for (int wR = 0; wR < ${l};\n wR += ${s}) {\n float dyR = float(dyRCorner + wR) / ${n}.0;\n\n if (dyR < 0.0 || dyR >= ${e.outHeight}.0 ||\n fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n\n for (int wC = 0; wC < ${u};\n wC += ${o}) {\n float dyC = float(dyCCorner + wC) / ${i}.0;\n\n if (dyC < 0.0 || dyC >= ${e.outWidth}.0 ||\n fract(dyC) > 0.0) {\n continue;\n }\n int idyC = int(dyC);\n\n float dyValue = getDy(batch, idyD, idyR, idyC, ch);\n int maxPosValue = ${p} -\n int(getMaxPos(batch, idyD, idyR, idyC, ch));\n\n // Get the current value, check it against the value from the\n // position matrix.\n int curPosValue =\n wD * ${l} * ${u} +\n wR * ${u} + wC;\n float mask = float(maxPosValue == curPosValue ? 1.0 : 0.0);\n\n dotProd += dyValue * mask;\n }\n }\n }\n setOutput(dotProd);\n }\n `}}const dxe={kernelName:v3.MaxPool3DGrad,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -17209,7 +17209,7 @@ class ixe{constructor(e){this.variableNames=["dy","maxPos"],this.outputShape=e.i * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{dy:r,input:s}=t,o=s,{filterSize:a,strides:l,pad:u,dimRoundingMode:c}=i,d=p3.backend_util.computePool3DInfo(o.shape,a,l,[1,1,1],u,c),h=new tve(d,"max",!0),p=n.runWebGLProgram(h,[o],o.dtype),f=new rxe(d),m=n.runWebGLProgram(f,[r,p],o.dtype);return n.disposeIntermediateTensorInfo(p),m}};const oxe={kernelName:p3.MaxPoolGrad,backendName:"webgl",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{dy:r,input:s}=t,o=s,{filterSize:a,strides:l,pad:u,dimRoundingMode:c}=i,d=v3.backend_util.computePool3DInfo(o.shape,a,l,[1,1,1],u,c),h=new ave(d,"max",!0),p=n.runWebGLProgram(h,[o],o.dtype),f=new cxe(d),m=n.runWebGLProgram(f,[r,p],o.dtype);return n.disposeIntermediateTensorInfo(p),m}};const hxe={kernelName:v3.MaxPoolGrad,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -17226,7 +17226,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{dy:r,input:s}=t,o=s,{filterSize * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{dy:r,input:s,output:o}=t,a=s;yme([s,o],"maxPoolGrad");const{filterSize:l,strides:u,pad:c,dimRoundingMode:d}=i,h=p3.backend_util.computePool2DInfo(a.shape,l,u,1,c,d),p=new eve(h,"max",!0),f=n.runWebGLProgram(p,[a],a.dtype),m=new ixe(h),g=n.runWebGLProgram(m,[r,f],a.dtype);return n.disposeIntermediateTensorInfo(f),g}}; +function(e){const{inputs:t,backend:n,attrs:i}=e,{dy:r,input:s,output:o}=t,a=s;wme([s,o],"maxPoolGrad");const{filterSize:l,strides:u,pad:c,dimRoundingMode:d}=i,h=v3.backend_util.computePool2DInfo(a.shape,l,u,1,c,d),p=new ove(h,"max",!0),f=n.runWebGLProgram(p,[a],a.dtype),m=new uxe(h),g=n.runWebGLProgram(m,[r,f],a.dtype);return n.disposeIntermediateTensorInfo(f),g}}; /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -17243,7 +17243,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{dy:r,input:s,output:o}=t,a=s;ym * limitations under the License. * ============================================================================= */ -const axe={kernelName:p3.MaxPoolWithArgmax,backendName:"webgl",kernelFunc:({inputs:e,attrs:t,backend:n})=>{const{x:i}=e,{filterSize:r,strides:s,pad:o,includeBatchInIndex:a}=t,l=n;p3.util.assert(4===i.shape.length,()=>`Error in maxPool: input must be rank 4 but got rank ${i.shape.length}.`);const u=[1,1];p3.util.assert(p3.backend_util.eitherStridesOrDilationsAreOne(s,u),()=>`Error in maxPool: Either strides or dilations must be 1. Got strides ${s} and dilations '${u}'`);const c=p3.backend_util.computePool2DInfo(i.shape,r,s,u,o),[d,h]= +const pxe={kernelName:v3.MaxPoolWithArgmax,backendName:"webgl",kernelFunc:({inputs:e,attrs:t,backend:n})=>{const{x:i}=e,{filterSize:r,strides:s,pad:o,includeBatchInIndex:a}=t,l=n;v3.util.assert(4===i.shape.length,()=>`Error in maxPool: input must be rank 4 but got rank ${i.shape.length}.`);const u=[1,1];v3.util.assert(v3.backend_util.eitherStridesOrDilationsAreOne(s,u),()=>`Error in maxPool: Either strides or dilations must be 1. Got strides ${s} and dilations '${u}'`);const c=v3.backend_util.computePool2DInfo(i.shape,r,s,u,o),[d,h]= /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -17260,7 +17260,7 @@ const axe={kernelName:p3.MaxPoolWithArgmax,backendName:"webgl",kernelFunc:({inpu * limitations under the License. * ============================================================================= */ -function(e,t,n,i){let r=new eve(n,"max",!1);const s=i.runWebGLProgram(r,[e],"float32");return r=new eve(n,"max",!0,!0,t),[s,i.runWebGLProgram(r,[e],"float32")]}(i,a,c,l);return[d,h]}}; +function(e,t,n,i){let r=new ove(n,"max",!1);const s=i.runWebGLProgram(r,[e],"float32");return r=new ove(n,"max",!0,!0,t),[s,i.runWebGLProgram(r,[e],"float32")]}(i,a,c,l);return[d,h]}}; /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -17277,7 +17277,7 @@ function(e,t,n,i){let r=new eve(n,"max",!1);const s=i.runWebGLProgram(r,[e],"flo * limitations under the License. * ============================================================================= */ -const lxe={kernelName:p3.Mean,backendName:"webgl",kernelFunc:({inputs:e,attrs:t,backend:n})=>{const{x:i}=e,{keepDims:r,axis:s}=t,o=n,a=i.shape.length,l=p3.util.parseAxisParam(s,i.shape);let u=l;const c=p3.backend_util.getAxesPermutation(u,a),d=null!=c,h=o.shouldExecuteOnCPU([i]),p=[];let f=i;if(d){if(h){const e=o.texData.get(f.dataId).values,t=new Array(a);for(let e=0;e{const{x:i}=e,{keepDims:r,axis:s}=t,o=n,a=i.shape.length,l=v3.util.parseAxisParam(s,i.shape);let u=l;const c=v3.backend_util.getAxesPermutation(u,a),d=null!=c,h=o.shouldExecuteOnCPU([i]),p=[];let f=i;if(d){if(h){const e=o.texData.get(f.dataId).values,t=new Array(a);for(let e=0;et[0]+e[n]+t[1]);const i=e.length,r=Pme(i),s=t.map(e=>e[0]).join(","),o=t.map((t,n)=>t[0]+e[n]).join(","),a=["coords[0]","coords[1]","coords[2]","coords[3]"].slice(0,i),l="reflect"===n?0:1;this.userCode=1!==i?`\n ${r} start = ${r}(${s});\n ${r} end = ${r}(${o});\n\n void main() {\n ${r} outC = getOutputCoords();\n for (int i = 0; i < ${i}; i++) {\n if (outC[i] < start[i]) {\n outC[i] = start[i] * 2 - outC[i] - ${l};\n } else if(outC[i] >= end[i]) {\n outC[i] = (end[i] - 1) * 2 - outC[i] + ${l};\n }\n }\n ${r} coords = outC - start;\n setOutput(getX(${a}));\n }\n `:`\n int start = ${s};\n int end = ${o};\n\n void main() {\n int outC = getOutputCoords();\n if (outC < start) {\n outC = start * 2 - outC - ${l};\n } else if(outC >= end) {\n outC = (end - 1) * 2 - outC + ${l};\n }\n setOutput(getX(outC - start));\n }\n `}} +class yxe{constructor(e,t,n){this.variableNames=["x"],this.outputShape=t.map((t,n)=>t[0]+e[n]+t[1]);const i=e.length,r=jme(i),s=t.map(e=>e[0]).join(","),o=t.map((t,n)=>t[0]+e[n]).join(","),a=["coords[0]","coords[1]","coords[2]","coords[3]"].slice(0,i),l="reflect"===n?0:1;this.userCode=1!==i?`\n ${r} start = ${r}(${s});\n ${r} end = ${r}(${o});\n\n void main() {\n ${r} outC = getOutputCoords();\n for (int i = 0; i < ${i}; i++) {\n if (outC[i] < start[i]) {\n outC[i] = start[i] * 2 - outC[i] - ${l};\n } else if(outC[i] >= end[i]) {\n outC[i] = (end[i] - 1) * 2 - outC[i] + ${l};\n }\n }\n ${r} coords = outC - start;\n setOutput(getX(${a}));\n }\n `:`\n int start = ${s};\n int end = ${o};\n\n void main() {\n int outC = getOutputCoords();\n if (outC < start) {\n outC = start * 2 - outC - ${l};\n } else if(outC >= end) {\n outC = (end - 1) * 2 - outC + ${l};\n }\n setOutput(getX(outC - start));\n }\n `}} /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -17345,7 +17345,7 @@ class hxe{constructor(e,t,n){this.variableNames=["x"],this.outputShape=t.map((t, * limitations under the License. * ============================================================================= */ -class pxe{constructor(e,t,n){this.variableNames=["x"],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=t.map((t,n)=>t[0]+e[n]+t[1]);const i=e.length,r=Pme(i),s=t.map(e=>e[0]).join(","),o=t.map((t,n)=>t[0]+e[n]).join(","),a=g_e("rc",i),l=g_e("source",i),u=`${a[i-1]} < ${this.outputShape[i-1]}`,c=1===i?"source":`vec2(${l.slice(-2).join()})`,d="reflect"===n?0:1;let h="";if(1===i){const e=`\n ${r} source = rc;\n if (source < start) {\n source = start * 2 - source - ${d};\n } else if (source >= end) {\n source = (end - 1) * 2 - source + ${d};\n }\n source -= start;\n `;h=`\n ${r} rc = outputLoc;\n ${e}\n result[0] = getChannel(getX(${l.join()}), ${c});\n ${a[i-1]} += 1;\n if(${u}) {\n ${e}\n result[1] = getChannel(getX(${l.join()}), ${c});\n }\n `}else{const e=`\n ${r} source = rc;\n ${r} lt = ${r}(lessThan(source, start));\n ${r} gte = ${r}(greaterThanEqual(source, end));\n ${r} orig = 1 - (lt + gte);\n source = orig * source +\n lt * (start * 2 - source - ${d}) +\n gte * ((end - 1) * 2 - source + ${d});\n source -= start;\n `;h=`\n ${r} rc = outputLoc;\n ${e}\n result[0] = getChannel(getX(${l.join()}), ${c});\n ${a[i-1]} += 1;\n if(${u}) {\n ${e}\n result[1] = getChannel(getX(${l.join()}), ${c});\n }\n rc = outputLoc;\n ${a[i-2]} += 1;\n if(${a[i-2]} < ${this.outputShape[i-2]}) {\n ${e}\n result[2] = getChannel(getX(${l.join()}), ${c});\n ${a[i-1]} += 1;\n if(${u}) {\n ${e}\n result[3] = getChannel(getX(${l.join()}), ${c});\n }\n }\n `}this.userCode=`\n const ${r} start = ${r}(${s});\n const ${r} end = ${r}(${o});\n\n void main() {\n ${r} outputLoc = getOutputCoords();\n vec4 result = vec4(0.);\n ${h}\n setOutput(result);\n }\n `}} +class vxe{constructor(e,t,n){this.variableNames=["x"],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=t.map((t,n)=>t[0]+e[n]+t[1]);const i=e.length,r=jme(i),s=t.map(e=>e[0]).join(","),o=t.map((t,n)=>t[0]+e[n]).join(","),a=x_e("rc",i),l=x_e("source",i),u=`${a[i-1]} < ${this.outputShape[i-1]}`,c=1===i?"source":`vec2(${l.slice(-2).join()})`,d="reflect"===n?0:1;let h="";if(1===i){const e=`\n ${r} source = rc;\n if (source < start) {\n source = start * 2 - source - ${d};\n } else if (source >= end) {\n source = (end - 1) * 2 - source + ${d};\n }\n source -= start;\n `;h=`\n ${r} rc = outputLoc;\n ${e}\n result[0] = getChannel(getX(${l.join()}), ${c});\n ${a[i-1]} += 1;\n if(${u}) {\n ${e}\n result[1] = getChannel(getX(${l.join()}), ${c});\n }\n `}else{const e=`\n ${r} source = rc;\n ${r} lt = ${r}(lessThan(source, start));\n ${r} gte = ${r}(greaterThanEqual(source, end));\n ${r} orig = 1 - (lt + gte);\n source = orig * source +\n lt * (start * 2 - source - ${d}) +\n gte * ((end - 1) * 2 - source + ${d});\n source -= start;\n `;h=`\n ${r} rc = outputLoc;\n ${e}\n result[0] = getChannel(getX(${l.join()}), ${c});\n ${a[i-1]} += 1;\n if(${u}) {\n ${e}\n result[1] = getChannel(getX(${l.join()}), ${c});\n }\n rc = outputLoc;\n ${a[i-2]} += 1;\n if(${a[i-2]} < ${this.outputShape[i-2]}) {\n ${e}\n result[2] = getChannel(getX(${l.join()}), ${c});\n ${a[i-1]} += 1;\n if(${u}) {\n ${e}\n result[3] = getChannel(getX(${l.join()}), ${c});\n }\n }\n `}this.userCode=`\n const ${r} start = ${r}(${s});\n const ${r} end = ${r}(${o});\n\n void main() {\n ${r} outputLoc = getOutputCoords();\n vec4 result = vec4(0.);\n ${h}\n setOutput(result);\n }\n `}} /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -17362,7 +17362,7 @@ class pxe{constructor(e,t,n){this.variableNames=["x"],this.packedInputs=!0,this. * limitations under the License. * ============================================================================= */ -const fxe={kernelName:p3.MirrorPad,backendName:"webgl",kernelFunc:({inputs:e,backend:t,attrs:n})=>{const{x:i}=e,{paddings:r,mode:s}=n,o=(0,p3.env)().getBool("WEBGL_PACK_ARRAY_OPERATIONS")?new pxe(i.shape,r,s):new hxe(i.shape,r,s);return t.runWebGLProgram(o,[i],i.dtype)}},mxe=eye({opSnippet:"if (b == 0.0) return NAN;\n return mod(a, b);",packedOpSnippet:"\n vec4 result = mod(a, b);\n bvec4 isNaN = equal(b, vec4(0.0));\n "+U_e+"\n return result;\n"}),gxe={kernelName:p3.Mod,backendName:"webgl",kernelFunc:mxe}; +const bxe={kernelName:v3.MirrorPad,backendName:"webgl",kernelFunc:({inputs:e,backend:t,attrs:n})=>{const{x:i}=e,{paddings:r,mode:s}=n,o=(0,v3.env)().getBool("WEBGL_PACK_ARRAY_OPERATIONS")?new vxe(i.shape,r,s):new yxe(i.shape,r,s);return t.runWebGLProgram(o,[i],i.dtype)}},Txe=oye({opSnippet:"if (b == 0.0) return NAN;\n return mod(a, b);",packedOpSnippet:"\n vec4 result = mod(a, b);\n bvec4 isNaN = equal(b, vec4(0.0));\n "+H_e+"\n return result;\n"}),xxe={kernelName:v3.Mod,backendName:"webgl",kernelFunc:Txe}; /** * @license * Copyright 2017 Google LLC. All Rights Reserved. @@ -17379,7 +17379,7 @@ const fxe={kernelName:p3.MirrorPad,backendName:"webgl",kernelFunc:({inputs:e,bac * limitations under the License. * ============================================================================= */ -class _xe{constructor(e,t,n){this.variableNames=["probs"],this.customUniforms=[{name:"seed",type:"float"}],this.outputShape=[e,n],this.userCode=`\n void main() {\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n\n float r = random(seed);\n float cdf = 0.0;\n\n for (int i = 0; i < ${t-1}; i++) {\n cdf += getProbs(batch, i);\n\n if (r < cdf) {\n setOutput(float(i));\n return;\n }\n }\n\n // If no other event happened, last event happened.\n setOutput(float(${t-1}));\n }\n `}} +class Exe{constructor(e,t,n){this.variableNames=["probs"],this.customUniforms=[{name:"seed",type:"float"}],this.outputShape=[e,n],this.userCode=`\n void main() {\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n\n float r = random(seed);\n float cdf = 0.0;\n\n for (int i = 0; i < ${t-1}; i++) {\n cdf += getProbs(batch, i);\n\n if (r < cdf) {\n setOutput(float(i));\n return;\n }\n }\n\n // If no other event happened, last event happened.\n setOutput(float(${t-1}));\n }\n `}} /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -17396,7 +17396,7 @@ class _xe{constructor(e,t,n){this.variableNames=["probs"],this.customUniforms=[{ * limitations under the License. * ============================================================================= */ -const yxe=eye({opSnippet:"\nif (a == b) {\n return 1.0;\n};\nreturn a / b;",packedOpSnippet:"\n // vec4 one = vec4(equal(a, b));\n // return one + (vec4(1.0) - one) * a / b;\n vec4 result = a / b;\n if(a.x == b.x) {\n result.x = 1.;\n }\n if(a.y == b.y) {\n result.y = 1.;\n }\n if(a.z == b.z) {\n result.z = 1.;\n }\n if(a.w == b.w) {\n result.w = 1.;\n }\n\n return result;\n",checkOutOfBounds:!0}),vxe={kernelName:p3.RealDiv,backendName:"webgl",kernelFunc:yxe},bxe="return a - b;",Txe=eye({opSnippet:bxe,packedOpSnippet:bxe,supportsComplex:!0,cpuKernelImpl:c_e}),xxe={kernelName:p3.Sub,backendName:"webgl",kernelFunc:Txe}; +const wxe=oye({opSnippet:"\nif (a == b) {\n return 1.0;\n};\nreturn a / b;",packedOpSnippet:"\n // vec4 one = vec4(equal(a, b));\n // return one + (vec4(1.0) - one) * a / b;\n vec4 result = a / b;\n if(a.x == b.x) {\n result.x = 1.;\n }\n if(a.y == b.y) {\n result.y = 1.;\n }\n if(a.z == b.z) {\n result.z = 1.;\n }\n if(a.w == b.w) {\n result.w = 1.;\n }\n\n return result;\n",checkOutOfBounds:!0}),Ixe={kernelName:v3.RealDiv,backendName:"webgl",kernelFunc:wxe},Axe="return a - b;",Sxe=oye({opSnippet:Axe,packedOpSnippet:Axe,supportsComplex:!0,cpuKernelImpl:g_e}),Cxe={kernelName:v3.Sub,backendName:"webgl",kernelFunc:Sxe}; /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -17413,7 +17413,7 @@ const yxe=eye({opSnippet:"\nif (a == b) {\n return 1.0;\n};\nreturn a / b;",pac * limitations under the License. * ============================================================================= */ -function Exe(e){const{inputs:t,backend:n,attrs:i}=e,{logits:r}=t,{dim:s}=i,o=p3.util.parseAxisParam([s],r.shape),a=ZTe({inputs:{x:r},backend:n,attrs:{reductionIndices:o,keepDims:!1}}),l=p3.backend_util.expandShapeToKeepDim(a.shape,o),u=uye({inputs:{x:a},backend:n,attrs:{shape:l}}),c=Txe({inputs:{a:r,b:u},backend:n}),d=zbe({inputs:{x:c},backend:n}),h=_ye({inputs:{x:d},backend:n,attrs:{axis:o,keepDims:!1}}),p=uye({inputs:{x:h},backend:n,attrs:{shape:l}}),f=yxe({inputs:{a:d,b:p},backend:n});return n.disposeIntermediateTensorInfo(a),n.disposeIntermediateTensorInfo(u),n.disposeIntermediateTensorInfo(c),n.disposeIntermediateTensorInfo(d),n.disposeIntermediateTensorInfo(h),n.disposeIntermediateTensorInfo(p),f}const wxe={kernelName:p3.Softmax,backendName:"webgl",kernelFunc:Exe};const Ixe={kernelName:p3.Multinomial,backendName:"webgl",kernelFunc: +function Oxe(e){const{inputs:t,backend:n,attrs:i}=e,{logits:r}=t,{dim:s}=i,o=v3.util.parseAxisParam([s],r.shape),a=ixe({inputs:{x:r},backend:n,attrs:{reductionIndices:o,keepDims:!1}}),l=v3.backend_util.expandShapeToKeepDim(a.shape,o),u=mye({inputs:{x:a},backend:n,attrs:{shape:l}}),c=Sxe({inputs:{a:r,b:u},backend:n}),d=Xbe({inputs:{x:c},backend:n}),h=Eye({inputs:{x:d},backend:n,attrs:{axis:o,keepDims:!1}}),p=mye({inputs:{x:h},backend:n,attrs:{shape:l}}),f=wxe({inputs:{a:d,b:p},backend:n});return n.disposeIntermediateTensorInfo(a),n.disposeIntermediateTensorInfo(u),n.disposeIntermediateTensorInfo(c),n.disposeIntermediateTensorInfo(d),n.disposeIntermediateTensorInfo(h),n.disposeIntermediateTensorInfo(p),f}const Mxe={kernelName:v3.Softmax,backendName:"webgl",kernelFunc:Oxe};const kxe={kernelName:v3.Multinomial,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -17430,7 +17430,7 @@ function Exe(e){const{inputs:t,backend:n,attrs:i}=e,{logits:r}=t,{dim:s}=i,o=p3. * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{logits:r}=t,{numSamples:s,seed:o,normalized:a}=i,l=a?r:Exe({inputs:{logits:r},backend:n,attrs:{dim:r.shape.length-1}}),u=l.shape[0],c=l.shape[1],d=new _xe(u,c,s),h=[[o]],p=n.runWebGLProgram(d,[l],"int32",h);return a||n.disposeIntermediateTensorInfo(l),p}},Axe=w_e+"\n return -x;\n";const Sxe={kernelName:p3.Neg,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n}=e,{x:i}=t;if(n.shouldExecuteOnCPU([i])){const e=n.texData.get(i.dataId),[t,r]=jge(e.values,i.shape,i.dtype);return n.makeTensorInfo(r,i.dtype,t)}let r;return r=(0,p3.env)().getBool("WEBGL_PACK_UNARY_OPERATIONS")?new O_e(i.shape,"\n vec4 result = -x;\n bvec4 isNaN = isnan(x);\n\n result.r = isNaN.r ? x.r : result.r;\n result.g = isNaN.g ? x.g : result.g;\n result.b = isNaN.b ? x.b : result.b;\n result.a = isNaN.a ? x.a : result.a;\n\n return result;\n"):new E_e(i.shape,Axe),n.runWebGLProgram(r,[i],i.dtype)}},Cxe=p3.kernel_impls.nonMaxSuppressionV3Impl;const Oxe={kernelName:p3.NonMaxSuppressionV3,backendName:"webgl",kernelFunc:function(e){p3.backend_util.warn("tf.nonMaxSuppression() in webgl locks the UI thread. Call tf.nonMaxSuppressionAsync() instead");const{inputs:t,backend:n,attrs:i}=e,{boxes:r,scores:s}=t,{maxOutputSize:o,iouThreshold:a,scoreThreshold:l}=i,u=n.readSync(r.dataId),c=n.readSync(s.dataId),{selectedIndices:d}=Cxe(u,c,o,a,l);return n.makeTensorInfo([d.length],"int32",new Int32Array(d))}},Mxe=p3.kernel_impls.nonMaxSuppressionV4Impl;const kxe={kernelName:p3.NonMaxSuppressionV4,backendName:"webgl",kernelFunc:function(e){p3.backend_util.warn("tf.nonMaxSuppression() in webgl locks the UI thread. Call tf.nonMaxSuppressionAsync() instead");const{inputs:t,backend:n,attrs:i}=e,{boxes:r,scores:s}=t,{maxOutputSize:o,iouThreshold:a,scoreThreshold:l,padToMaxOutputSize:u}=i,c=n.readSync(r.dataId),d=n.readSync(s.dataId),{selectedIndices:h,validOutputs:p}=Mxe(c,d,o,a,l,u);return[n.makeTensorInfo([h.length],"int32",new Int32Array(h)),n.makeTensorInfo([],"int32",new Int32Array([p]))]}},Rxe=p3.kernel_impls.nonMaxSuppressionV5Impl;const Nxe={kernelName:p3.NonMaxSuppressionV5,backendName:"webgl",kernelFunc:function(e){p3.backend_util.warn("tf.nonMaxSuppression() in webgl locks the UI thread. Call tf.nonMaxSuppressionAsync() instead");const{inputs:t,backend:n,attrs:i}=e,{boxes:r,scores:s}=t,{maxOutputSize:o,iouThreshold:a,scoreThreshold:l,softNmsSigma:u}=i,c=n.readSync(r.dataId),d=n.readSync(s.dataId),h=o,p=a,f=l,m=u,{selectedIndices:g,selectedScores:_}=Rxe(c,d,h,p,f,m);return[n.makeTensorInfo([g.length],"int32",new Int32Array(g)),n.makeTensorInfo([_.length],"float32",new Float32Array(_))]}}; +function(e){const{inputs:t,backend:n,attrs:i}=e,{logits:r}=t,{numSamples:s,seed:o,normalized:a}=i,l=a?r:Oxe({inputs:{logits:r},backend:n,attrs:{dim:r.shape.length-1}}),u=l.shape[0],c=l.shape[1],d=new Exe(u,c,s),h=[[o]],p=n.runWebGLProgram(d,[l],"int32",h);return a||n.disposeIntermediateTensorInfo(l),p}},Rxe=M_e+"\n return -x;\n";const Nxe={kernelName:v3.Neg,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n}=e,{x:i}=t;if(n.shouldExecuteOnCPU([i])){const e=n.texData.get(i.dataId),[t,r]=qge(e.values,i.shape,i.dtype);return n.makeTensorInfo(r,i.dtype,t)}let r;return r=(0,v3.env)().getBool("WEBGL_PACK_UNARY_OPERATIONS")?new F_e(i.shape,"\n vec4 result = -x;\n bvec4 isNaN = isnan(x);\n\n result.r = isNaN.r ? x.r : result.r;\n result.g = isNaN.g ? x.g : result.g;\n result.b = isNaN.b ? x.b : result.b;\n result.a = isNaN.a ? x.a : result.a;\n\n return result;\n"):new O_e(i.shape,Rxe),n.runWebGLProgram(r,[i],i.dtype)}},Dxe=v3.kernel_impls.nonMaxSuppressionV3Impl;const Fxe={kernelName:v3.NonMaxSuppressionV3,backendName:"webgl",kernelFunc:function(e){v3.backend_util.warn("tf.nonMaxSuppression() in webgl locks the UI thread. Call tf.nonMaxSuppressionAsync() instead");const{inputs:t,backend:n,attrs:i}=e,{boxes:r,scores:s}=t,{maxOutputSize:o,iouThreshold:a,scoreThreshold:l}=i,u=n.readSync(r.dataId),c=n.readSync(s.dataId),{selectedIndices:d}=Dxe(u,c,o,a,l);return n.makeTensorInfo([d.length],"int32",new Int32Array(d))}},Lxe=v3.kernel_impls.nonMaxSuppressionV4Impl;const Pxe={kernelName:v3.NonMaxSuppressionV4,backendName:"webgl",kernelFunc:function(e){v3.backend_util.warn("tf.nonMaxSuppression() in webgl locks the UI thread. Call tf.nonMaxSuppressionAsync() instead");const{inputs:t,backend:n,attrs:i}=e,{boxes:r,scores:s}=t,{maxOutputSize:o,iouThreshold:a,scoreThreshold:l,padToMaxOutputSize:u}=i,c=n.readSync(r.dataId),d=n.readSync(s.dataId),{selectedIndices:h,validOutputs:p}=Lxe(c,d,o,a,l,u);return[n.makeTensorInfo([h.length],"int32",new Int32Array(h)),n.makeTensorInfo([],"int32",new Int32Array([p]))]}},Bxe=v3.kernel_impls.nonMaxSuppressionV5Impl;const $xe={kernelName:v3.NonMaxSuppressionV5,backendName:"webgl",kernelFunc:function(e){v3.backend_util.warn("tf.nonMaxSuppression() in webgl locks the UI thread. Call tf.nonMaxSuppressionAsync() instead");const{inputs:t,backend:n,attrs:i}=e,{boxes:r,scores:s}=t,{maxOutputSize:o,iouThreshold:a,scoreThreshold:l,softNmsSigma:u}=i,c=n.readSync(r.dataId),d=n.readSync(s.dataId),h=o,p=a,f=l,m=u,{selectedIndices:g,selectedScores:_}=Bxe(c,d,h,p,f,m);return[n.makeTensorInfo([g.length],"int32",new Int32Array(g)),n.makeTensorInfo([_.length],"float32",new Float32Array(_))]}}; /** * @license * Copyright 2017 Google LLC. All Rights Reserved. @@ -17447,7 +17447,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{logits:r}=t,{numSamples:s,seed: * limitations under the License. * ============================================================================= */ -class Dxe{constructor(e,t,n,i){this.variableNames=["indices"],this.outputShape=[e,t],this.userCode=`\n void main() {\n ivec2 coords = getOutputCoords();\n int index = round(getIndices(coords.x));\n setOutput(mix(float(${i}), float(${n}),\n float(index == coords.y)));\n }\n `}} +class Uxe{constructor(e,t,n,i){this.variableNames=["indices"],this.outputShape=[e,t],this.userCode=`\n void main() {\n ivec2 coords = getOutputCoords();\n int index = round(getIndices(coords.x));\n setOutput(mix(float(${i}), float(${n}),\n float(index == coords.y)));\n }\n `}} /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -17464,7 +17464,7 @@ class Dxe{constructor(e,t,n,i){this.variableNames=["indices"],this.outputShape=[ * limitations under the License. * ============================================================================= */ -const Fxe={kernelName:p3.OneHot,backendName:"webgl",kernelFunc:e=>{const{inputs:t,backend:n,attrs:i}=e,{indices:r}=t,{dtype:s,depth:o,onValue:a,offValue:l}=i,u=p3.util.sizeFromShape(r.shape),c=new Dxe(u,o,a,l),d=uye({inputs:{x:r},backend:n,attrs:{shape:[u]}}),h=n.runWebGLProgram(c,[d],s);n.disposeIntermediateTensorInfo(d);const p=uye({inputs:{x:h},backend:n,attrs:{shape:[...r.shape,o]}});return n.disposeIntermediateTensorInfo(h),p}}; +const Vxe={kernelName:v3.OneHot,backendName:"webgl",kernelFunc:e=>{const{inputs:t,backend:n,attrs:i}=e,{indices:r}=t,{dtype:s,depth:o,onValue:a,offValue:l}=i,u=v3.util.sizeFromShape(r.shape),c=new Uxe(u,o,a,l),d=mye({inputs:{x:r},backend:n,attrs:{shape:[u]}}),h=n.runWebGLProgram(c,[d],s);n.disposeIntermediateTensorInfo(d);const p=mye({inputs:{x:h},backend:n,attrs:{shape:[...r.shape,o]}});return n.disposeIntermediateTensorInfo(h),p}}; /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -17481,7 +17481,7 @@ const Fxe={kernelName:p3.OneHot,backendName:"webgl",kernelFunc:e=>{const{inputs: * limitations under the License. * ============================================================================= */ -function Lxe(e){const{inputs:t,backend:n}=e,{x:i}=t;if("complex64"===i.dtype){const e=Eve({inputs:{input:i},backend:n}),t=Lxe({inputs:{x:e},backend:n}),r=Bve({inputs:{input:i},backend:n}),s=Lxe({inputs:{x:r},backend:n}),o=Y_e({inputs:{real:t,imag:s},backend:n});return n.disposeIntermediateTensorInfo(e),n.disposeIntermediateTensorInfo(t),n.disposeIntermediateTensorInfo(r),n.disposeIntermediateTensorInfo(s),o}return Jbe({attrs:{shape:i.shape,dtype:i.dtype,value:"string"===i.dtype?"":0},backend:n})}const Pxe={kernelName:p3.ZerosLike,backendName:"webgl",kernelFunc:Lxe};const Bxe={kernelName:p3.OnesLike,backendName:"webgl",kernelFunc: +function zxe(e){const{inputs:t,backend:n}=e,{x:i}=t;if("complex64"===i.dtype){const e=Ove({inputs:{input:i},backend:n}),t=zxe({inputs:{x:e},backend:n}),r=Yve({inputs:{input:i},backend:n}),s=zxe({inputs:{x:r},backend:n}),o=K_e({inputs:{real:t,imag:s},backend:n});return n.disposeIntermediateTensorInfo(e),n.disposeIntermediateTensorInfo(t),n.disposeIntermediateTensorInfo(r),n.disposeIntermediateTensorInfo(s),o}return sTe({attrs:{shape:i.shape,dtype:i.dtype,value:"string"===i.dtype?"":0},backend:n})}const jxe={kernelName:v3.ZerosLike,backendName:"webgl",kernelFunc:zxe};const Yxe={kernelName:v3.OnesLike,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -17498,7 +17498,7 @@ function Lxe(e){const{inputs:t,backend:n}=e,{x:i}=t;if("complex64"===i.dtype){co * limitations under the License. * ============================================================================= */ -function e(t){const{inputs:n,backend:i}=t,{x:r}=n;if("string"===r.dtype)throw new Error("onesLike is not supported under string dtype");if("complex64"===r.dtype){const t=Eve({inputs:{input:r},backend:i}),n=e({inputs:{x:t},backend:i}),s=Bve({inputs:{input:r},backend:i}),o=Lxe({inputs:{x:s},backend:i}),a=Y_e({inputs:{real:n,imag:o},backend:i});return i.disposeIntermediateTensorInfo(t),i.disposeIntermediateTensorInfo(n),i.disposeIntermediateTensorInfo(s),i.disposeIntermediateTensorInfo(o),a}return Jbe({attrs:{shape:r.shape,dtype:r.dtype,value:1},backend:i})}};const $xe={kernelName:p3.Pack,backendName:"webgl",kernelFunc: +function e(t){const{inputs:n,backend:i}=t,{x:r}=n;if("string"===r.dtype)throw new Error("onesLike is not supported under string dtype");if("complex64"===r.dtype){const t=Ove({inputs:{input:r},backend:i}),n=e({inputs:{x:t},backend:i}),s=Yve({inputs:{input:r},backend:i}),o=zxe({inputs:{x:s},backend:i}),a=K_e({inputs:{real:n,imag:o},backend:i});return i.disposeIntermediateTensorInfo(t),i.disposeIntermediateTensorInfo(n),i.disposeIntermediateTensorInfo(s),i.disposeIntermediateTensorInfo(o),a}return sTe({attrs:{shape:r.shape,dtype:r.dtype,value:1},backend:i})}};const Gxe={kernelName:v3.Pack,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -17515,7 +17515,7 @@ function e(t){const{inputs:n,backend:i}=t,{x:r}=n;if("string"===r.dtype)throw ne * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{axis:r}=i;if(1===t.length)return Ybe({inputs:{input:t[0]},backend:n,attrs:{dim:r}});const s=t[0].shape,o=t[0].dtype;t.forEach(e=>{p3.util.assertShapesMatch(s,e.shape,"All tensors passed to stack must have matching shapes"),p3.util.assert(o===e.dtype,()=>"All tensors passed to stack must have matching dtypes")});const a=[],l=Vve({inputs:t.map(e=>{const t=Ybe({inputs:{input:e},backend:n,attrs:{dim:r}});return a.push(t),t}),backend:n,attrs:{axis:r}});return a.forEach(e=>n.disposeIntermediateTensorInfo(e)),l}}; +function(e){const{inputs:t,backend:n,attrs:i}=e,{axis:r}=i;if(1===t.length)return Kbe({inputs:{input:t[0]},backend:n,attrs:{dim:r}});const s=t[0].shape,o=t[0].dtype;t.forEach(e=>{v3.util.assertShapesMatch(s,e.shape,"All tensors passed to stack must have matching shapes"),v3.util.assert(o===e.dtype,()=>"All tensors passed to stack must have matching dtypes")});const a=[],l=Wve({inputs:t.map(e=>{const t=Kbe({inputs:{input:e},backend:n,attrs:{dim:r}});return a.push(t),t}),backend:n,attrs:{axis:r}});return a.forEach(e=>n.disposeIntermediateTensorInfo(e)),l}}; /** * @license * Copyright 2017 Google LLC. All Rights Reserved. @@ -17532,7 +17532,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{axis:r}=i;if(1===t.length)retur * limitations under the License. * ============================================================================= */ -class Uxe{constructor(e,t,n){this.variableNames=["x"],this.customUniforms=[{name:"value",type:"float"}],this.outputShape=t.map((t,n)=>t[0]+e[n]+t[1]);const i=e.length,r=Pme(i),s=t.map(e=>e[0]).join(","),o=t.map((t,n)=>t[0]+e[n]).join(","),a=["coords[0]","coords[1]","coords[2]","coords[3]"].slice(0,i);this.userCode=1!==i?`\n ${r} start = ${r}(${s});\n ${r} end = ${r}(${o});\n\n void main() {\n ${r} outC = getOutputCoords();\n if (any(lessThan(outC, start)) || any(greaterThanEqual(outC, end))) {\n setOutput(value);\n } else {\n ${r} coords = outC - start;\n setOutput(getX(${a}));\n }\n }\n `:`\n int start = ${s};\n int end = ${o};\n\n void main() {\n int outC = getOutputCoords();\n if (outC < start || outC >= end) {\n setOutput(value);\n } else {\n setOutput(getX(outC - start));\n }\n }\n `}} +class Hxe{constructor(e,t,n){this.variableNames=["x"],this.customUniforms=[{name:"value",type:"float"}],this.outputShape=t.map((t,n)=>t[0]+e[n]+t[1]);const i=e.length,r=jme(i),s=t.map(e=>e[0]).join(","),o=t.map((t,n)=>t[0]+e[n]).join(","),a=["coords[0]","coords[1]","coords[2]","coords[3]"].slice(0,i);this.userCode=1!==i?`\n ${r} start = ${r}(${s});\n ${r} end = ${r}(${o});\n\n void main() {\n ${r} outC = getOutputCoords();\n if (any(lessThan(outC, start)) || any(greaterThanEqual(outC, end))) {\n setOutput(value);\n } else {\n ${r} coords = outC - start;\n setOutput(getX(${a}));\n }\n }\n `:`\n int start = ${s};\n int end = ${o};\n\n void main() {\n int outC = getOutputCoords();\n if (outC < start || outC >= end) {\n setOutput(value);\n } else {\n setOutput(getX(outC - start));\n }\n }\n `}} /** * @license * Copyright 2019 Google LLC. All Rights Reserved. @@ -17549,7 +17549,7 @@ class Uxe{constructor(e,t,n){this.variableNames=["x"],this.customUniforms=[{name * limitations under the License. * ============================================================================= */ -class Vxe{constructor(e,t,n){this.variableNames=["x"],this.packedInputs=!0,this.packedOutput=!0,this.customUniforms=[{name:"value",type:"float"}],this.outputShape=t.map((t,n)=>t[0]+e[n]+t[1]);const i=e.length,r=Pme(i),s=t.map(e=>e[0]).join(","),o=t.map((t,n)=>t[0]+e[n]).join(","),a=g_e("rc",i),l=g_e("source",i),u=`${a[i-1]} < ${this.outputShape[i-1]}`,c=1===i?"source":`vec2(${l.slice(-2).join()})`,d=[`${r} rc = outputLoc;`,`${a[i-1]} += 1;\n if(${u}) {\n `,1===i?"":`}\n rc = outputLoc;\n ${a[i-2]} += 1;\n if(${a[i-2]} < ${this.outputShape[i-2]}) {`,1===i?"":` ${a[i-1]} += 1;\n if(${u}) {`],h=1===i?"rc < start || rc >= end":"any(lessThan(rc, start)) || any(greaterThanEqual(rc, end))";let p="";for(let e=0,t=1===i?2:4;et[0]+e[n]+t[1]);const i=e.length,r=jme(i),s=t.map(e=>e[0]).join(","),o=t.map((t,n)=>t[0]+e[n]).join(","),a=x_e("rc",i),l=x_e("source",i),u=`${a[i-1]} < ${this.outputShape[i-1]}`,c=1===i?"source":`vec2(${l.slice(-2).join()})`,d=[`${r} rc = outputLoc;`,`${a[i-1]} += 1;\n if(${u}) {\n `,1===i?"":`}\n rc = outputLoc;\n ${a[i-2]} += 1;\n if(${a[i-2]} < ${this.outputShape[i-2]}) {`,1===i?"":` ${a[i-1]} += 1;\n if(${u}) {`],h=1===i?"rc < start || rc >= end":"any(lessThan(rc, start)) || any(greaterThanEqual(rc, end))";let p="";for(let e=0,t=1===i?2:4;e{const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{paddings:s,constantValue:o}=i;if(0===p3.util.sizeFromShape(r.shape)){const e=s.map((e,t)=>e[0]+r.shape[t]+e[1]);return Jbe({backend:n,attrs:{shape:e,value:o,dtype:r.dtype}})}const a=(0,p3.env)().getBool("WEBGL_PACK_ARRAY_OPERATIONS")?new Vxe(r.shape,s,o):new Uxe(r.shape,s,o),l=[[o]];return n.runWebGLProgram(a,[r],r.dtype,l)},jxe={kernelName:p3.PadV2,backendName:"webgl",kernelFunc:zxe},Yxe=eye({opSnippet:"\n if(a < 0.0 && floor(b) < b){\n return NAN;\n }\n if (b == 0.0) {\n return 1.0;\n }\n return (round(mod(b, 2.0)) != 1) ?\n pow(abs(a), b) : sign(a) * pow(abs(a), b);\n",packedOpSnippet:"\n // isModRound1 has 1 for components with round(mod(b, 2.0)) == 1, 0 otherwise.\n vec4 isModRound1 = vec4(equal(round(mod(b, 2.0)), ivec4(1)));\n vec4 multiplier = sign(a) * isModRound1 + (vec4(1.0) - isModRound1);\n vec4 result = multiplier * pow(abs(a), b);\n\n // Ensure that a^0 = 1, including 0^0 = 1 as this correspond to TF and JS\n bvec4 isExpZero = equal(b, vec4(0.0));\n result.r = isExpZero.r ? 1.0 : result.r;\n result.g = isExpZero.g ? 1.0 : result.g;\n result.b = isExpZero.b ? 1.0 : result.b;\n result.a = isExpZero.a ? 1.0 : result.a;\n\n bvec4 isNaN1 = lessThan(a, vec4(0.0));\n bvec4 isNaN2 = lessThan(floor(b), b);\n bvec4 isNaN = bvec4(isNaN1.x && isNaN2.x, isNaN1.y && isNaN2.y, isNaN1.z && isNaN2.z, isNaN1.w && isNaN2.w);\n "+U_e+"\n return result;\n"}),Gxe={kernelName:p3.Pow,backendName:"webgl",kernelFunc:Yxe};const Hxe={kernelName:p3.Prod,backendName:"webgl",kernelFunc: +const Xxe=e=>{const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{paddings:s,constantValue:o}=i;if(0===v3.util.sizeFromShape(r.shape)){const e=s.map((e,t)=>e[0]+r.shape[t]+e[1]);return sTe({backend:n,attrs:{shape:e,value:o,dtype:r.dtype}})}const a=(0,v3.env)().getBool("WEBGL_PACK_ARRAY_OPERATIONS")?new Wxe(r.shape,s,o):new Hxe(r.shape,s,o),l=[[o]];return n.runWebGLProgram(a,[r],r.dtype,l)},qxe={kernelName:v3.PadV2,backendName:"webgl",kernelFunc:Xxe},Kxe=oye({opSnippet:"\n if(a < 0.0 && floor(b) < b){\n return NAN;\n }\n if (b == 0.0) {\n return 1.0;\n }\n return (round(mod(b, 2.0)) != 1) ?\n pow(abs(a), b) : sign(a) * pow(abs(a), b);\n",packedOpSnippet:"\n // isModRound1 has 1 for components with round(mod(b, 2.0)) == 1, 0 otherwise.\n vec4 isModRound1 = vec4(equal(round(mod(b, 2.0)), ivec4(1)));\n vec4 multiplier = sign(a) * isModRound1 + (vec4(1.0) - isModRound1);\n vec4 result = multiplier * pow(abs(a), b);\n\n // Ensure that a^0 = 1, including 0^0 = 1 as this correspond to TF and JS\n bvec4 isExpZero = equal(b, vec4(0.0));\n result.r = isExpZero.r ? 1.0 : result.r;\n result.g = isExpZero.g ? 1.0 : result.g;\n result.b = isExpZero.b ? 1.0 : result.b;\n result.a = isExpZero.a ? 1.0 : result.a;\n\n bvec4 isNaN1 = lessThan(a, vec4(0.0));\n bvec4 isNaN2 = lessThan(floor(b), b);\n bvec4 isNaN = bvec4(isNaN1.x && isNaN2.x, isNaN1.y && isNaN2.y, isNaN1.z && isNaN2.z, isNaN1.w && isNaN2.w);\n "+H_e+"\n return result;\n"}),Zxe={kernelName:v3.Pow,backendName:"webgl",kernelFunc:Kxe};const Qxe={kernelName:v3.Prod,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -17583,7 +17583,7 @@ const zxe=e=>{const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{paddings:s,constantVa * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{axis:s,keepDims:o}=i,a=r.shape.length,l=[],u=p3.util.parseAxisParam(s,r.shape);let c=u;const d=p3.backend_util.getAxesPermutation(c,a);let h,p=r;if(null!=d&&(p=vye({inputs:{x:r},backend:n,attrs:{perm:d}}),c=p3.backend_util.getInnerMostAxes(c.length,a),l.push(p)),p3.backend_util.assertAxesAreInnerMostDims("prod",c,a),n.shouldExecuteOnCPU([p])){const e=n.texData.get(p.dataId).values,{outVals:t,outShape:i,outDtype:r}=Gge(p.shape,p.dtype,e,c);h=n.makeTensorInfo(i,r,t)}else{const[e,t]=p3.backend_util.computeOutAndReduceShapes(p.shape,c),i=p3.util.sizeFromShape(t),s=uye({inputs:{x:p},backend:n,attrs:{shape:[-1,i]}}),o=pye(s,(0,p3.sumOutType)(r.dtype),"prod",n);h=uye({inputs:{x:o},backend:n,attrs:{shape:e}}),l.push(s),l.push(o)}if(o){l.push(h);const e=p3.backend_util.expandShapeToKeepDim(h.shape,u);h=uye({inputs:{x:h},backend:n,attrs:{shape:e}})}return l.forEach(e=>n.disposeIntermediateTensorInfo(e)),h}};const Wxe={kernelName:p3.RaggedGather,backendName:"webgl",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{axis:s,keepDims:o}=i,a=r.shape.length,l=[],u=v3.util.parseAxisParam(s,r.shape);let c=u;const d=v3.backend_util.getAxesPermutation(c,a);let h,p=r;if(null!=d&&(p=Iye({inputs:{x:r},backend:n,attrs:{perm:d}}),c=v3.backend_util.getInnerMostAxes(c.length,a),l.push(p)),v3.backend_util.assertAxesAreInnerMostDims("prod",c,a),n.shouldExecuteOnCPU([p])){const e=n.texData.get(p.dataId).values,{outVals:t,outShape:i,outDtype:r}=Zge(p.shape,p.dtype,e,c);h=n.makeTensorInfo(i,r,t)}else{const[e,t]=v3.backend_util.computeOutAndReduceShapes(p.shape,c),i=v3.util.sizeFromShape(t),s=mye({inputs:{x:p},backend:n,attrs:{shape:[-1,i]}}),o=vye(s,(0,v3.sumOutType)(r.dtype),"prod",n);h=mye({inputs:{x:o},backend:n,attrs:{shape:e}}),l.push(s),l.push(o)}if(o){l.push(h);const e=v3.backend_util.expandShapeToKeepDim(h.shape,u);h=mye({inputs:{x:h},backend:n,attrs:{shape:e}})}return l.forEach(e=>n.disposeIntermediateTensorInfo(e)),h}};const Jxe={kernelName:v3.RaggedGather,backendName:"webgl",kernelFunc: /** * @license * Copyright 2022 Google LLC. All Rights Reserved. @@ -17600,7 +17600,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{axis:s,keepDims:o}=i,a= * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{paramsNestedSplits:r,paramsDenseValues:s,indices:o}=t,{outputRaggedRank:a}=i,l=r.map(e=>n.readSync(e.dataId)),u=r.map(e=>e.shape),c=n.readSync(s.dataId),d=n.readSync(o.dataId),[h,p,f]=Hge(l,u,c,s.shape,s.dtype,d,o.shape,a),m=h.map(e=>n.makeTensorInfo([e.length],"int32",e)),g=n.makeTensorInfo(f,s.dtype,p);return m.concat([g])}};const Xxe={kernelName:p3.RaggedRange,backendName:"webgl",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{paramsNestedSplits:r,paramsDenseValues:s,indices:o}=t,{outputRaggedRank:a}=i,l=r.map(e=>n.readSync(e.dataId)),u=r.map(e=>e.shape),c=n.readSync(s.dataId),d=n.readSync(o.dataId),[h,p,f]=Qge(l,u,c,s.shape,s.dtype,d,o.shape,a),m=h.map(e=>n.makeTensorInfo([e.length],"int32",e)),g=n.makeTensorInfo(f,s.dtype,p);return m.concat([g])}};const eEe={kernelName:v3.RaggedRange,backendName:"webgl",kernelFunc: /** * @license * Copyright 2022 Google LLC. @@ -17617,7 +17617,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{paramsNestedSplits:r,paramsDens * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n}=e,{starts:i,limits:r,deltas:s}=t,o=n.readSync(i.dataId),a=n.readSync(r.dataId),l=n.readSync(s.dataId),[u,c]=Wge(o,i.shape,i.dtype,a,r.shape,l,s.shape);return[n.makeTensorInfo([u.length],"int32",u),n.makeTensorInfo([c.length],i.dtype,c)]}};const qxe={kernelName:p3.RaggedTensorToTensor,backendName:"webgl",kernelFunc: +function(e){const{inputs:t,backend:n}=e,{starts:i,limits:r,deltas:s}=t,o=n.readSync(i.dataId),a=n.readSync(r.dataId),l=n.readSync(s.dataId),[u,c]=Jge(o,i.shape,i.dtype,a,r.shape,l,s.shape);return[n.makeTensorInfo([u.length],"int32",u),n.makeTensorInfo([c.length],i.dtype,c)]}};const tEe={kernelName:v3.RaggedTensorToTensor,backendName:"webgl",kernelFunc: /** * @license * Copyright 2022 Google LLC. All Rights Reserved. @@ -17634,7 +17634,7 @@ function(e){const{inputs:t,backend:n}=e,{starts:i,limits:r,deltas:s}=t,o=n.readS * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{shape:r,values:s,defaultValue:o,rowPartitionTensors:a}=t,{rowPartitionTypes:l}=i,u=n.readSync(r.dataId),c=n.readSync(s.dataId),d=n.readSync(o.dataId),h=a.map(e=>n.readSync(e.dataId)),p=a.map(e=>e.shape),[f,m]=Xge(u,r.shape,c,s.shape,s.dtype,d,o.shape,h,p,l);return n.makeTensorInfo(f,s.dtype,m)}},Kxe=e=>{const{backend:t,attrs:n}=e,{start:i,stop:r,step:s,dtype:o}=n,a=qge(i,r,s,o);return t.makeTensorInfo([a.length],o,a)},Zxe={kernelName:p3.Range,backendName:"webgl",kernelFunc:Kxe},Qxe=J_e({opSnippet:"return 1.0 / x;"}),Jxe={kernelName:p3.Reciprocal,backendName:"webgl",kernelFunc:Qxe},eEe=J_e({opSnippet:w_e+"\n return (x < 0.0) ? 0.0 : x;\n",packedOpSnippet:"\n vec4 result = x * vec4(greaterThanEqual(x, vec4(0.0)));\n bvec4 isNaN = isnan(x);\n\n result.r = isNaN.r ? x.r : result.r;\n result.g = isNaN.g ? x.g : result.g;\n result.b = isNaN.b ? x.b : result.b;\n result.a = isNaN.a ? x.a : result.a;\n\n return result;\n"}),tEe={kernelName:p3.Relu,backendName:"webgl",kernelFunc:eEe},nEe=J_e({opSnippet:w_e+"\n return (x < 0.0) ? 0.0 : min(6.0, x);\n",packedOpSnippet:"\n vec4 result = min(x, vec4(6.)) * vec4(greaterThanEqual(x, vec4(0.0)));\n bvec4 isNaN = isnan(x);\n\n result.r = isNaN.r ? x.r : result.r;\n result.g = isNaN.g ? x.g : result.g;\n result.b = isNaN.b ? x.b : result.b;\n result.a = isNaN.a ? x.a : result.a;\n\n return result;\n"}),iEe={kernelName:p3.Relu6,backendName:"webgl",kernelFunc:nEe}; +function(e){const{inputs:t,backend:n,attrs:i}=e,{shape:r,values:s,defaultValue:o,rowPartitionTensors:a}=t,{rowPartitionTypes:l}=i,u=n.readSync(r.dataId),c=n.readSync(s.dataId),d=n.readSync(o.dataId),h=a.map(e=>n.readSync(e.dataId)),p=a.map(e=>e.shape),[f,m]=e_e(u,r.shape,c,s.shape,s.dtype,d,o.shape,h,p,l);return n.makeTensorInfo(f,s.dtype,m)}},nEe=e=>{const{backend:t,attrs:n}=e,{start:i,stop:r,step:s,dtype:o}=n,a=t_e(i,r,s,o);return t.makeTensorInfo([a.length],o,a)},iEe={kernelName:v3.Range,backendName:"webgl",kernelFunc:nEe},rEe=sye({opSnippet:"return 1.0 / x;"}),sEe={kernelName:v3.Reciprocal,backendName:"webgl",kernelFunc:rEe},oEe=sye({opSnippet:M_e+"\n return (x < 0.0) ? 0.0 : x;\n",packedOpSnippet:"\n vec4 result = x * vec4(greaterThanEqual(x, vec4(0.0)));\n bvec4 isNaN = isnan(x);\n\n result.r = isNaN.r ? x.r : result.r;\n result.g = isNaN.g ? x.g : result.g;\n result.b = isNaN.b ? x.b : result.b;\n result.a = isNaN.a ? x.a : result.a;\n\n return result;\n"}),aEe={kernelName:v3.Relu,backendName:"webgl",kernelFunc:oEe},lEe=sye({opSnippet:M_e+"\n return (x < 0.0) ? 0.0 : min(6.0, x);\n",packedOpSnippet:"\n vec4 result = min(x, vec4(6.)) * vec4(greaterThanEqual(x, vec4(0.0)));\n bvec4 isNaN = isnan(x);\n\n result.r = isNaN.r ? x.r : result.r;\n result.g = isNaN.g ? x.g : result.g;\n result.b = isNaN.b ? x.b : result.b;\n result.a = isNaN.a ? x.a : result.a;\n\n return result;\n"}),uEe={kernelName:v3.Relu6,backendName:"webgl",kernelFunc:lEe}; /** * @license * Copyright 2017 Google LLC. All Rights Reserved. @@ -17651,7 +17651,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{shape:r,values:s,defaultValue:o * limitations under the License. * ============================================================================= */ -class rEe{constructor(e,t,n,i,r){this.variableNames=["A"],this.outputShape=[];const[s,o,a,l]=e;this.outputShape=[s,t,n,l];const u=[i&&t>1?o-1:o,i&&n>1?a-1:a],c=[i&&t>1?t-1:t,i&&n>1?n-1:n];let d;d=r?"(vec2(yRC) + vec2(0.5)) * effectiveInputOverOutputRatioRC - vec2(0.5)":"vec2(yRC) * effectiveInputOverOutputRatioRC",this.userCode=`\n const vec2 effectiveInputOverOutputRatioRC = vec2(\n ${u[0]/c[0]},\n ${u[1]/c[1]});\n const vec2 inputShapeRC = vec2(${o}.0, ${a}.0);\n\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n ivec2 yRC = coords.yz;\n\n // Fractional source index.\n vec2 sourceFracIndexRC = ${d};\n\n // Compute the four integer indices.\n ivec2 sourceFloorRC = ivec2(max(sourceFracIndexRC, vec2(0.0)));\n ivec2 sourceCeilRC = ivec2(\n min(inputShapeRC - 1.0, ceil(sourceFracIndexRC)));\n\n float topLeft = getA(b, sourceFloorRC.x, sourceFloorRC.y, d);\n float bottomLeft = getA(b, sourceCeilRC.x, sourceFloorRC.y, d);\n float topRight = getA(b, sourceFloorRC.x, sourceCeilRC.y, d);\n float bottomRight = getA(b, sourceCeilRC.x, sourceCeilRC.y, d);\n\n vec2 fracRC = sourceFracIndexRC - vec2(sourceFloorRC);\n\n float top = topLeft + (topRight - topLeft) * fracRC.y;\n float bottom = bottomLeft + (bottomRight - bottomLeft) * fracRC.y;\n float newValue = top + (bottom - top) * fracRC.x;\n\n setOutput(newValue);\n }\n `}} +class cEe{constructor(e,t,n,i,r){this.variableNames=["A"],this.outputShape=[];const[s,o,a,l]=e;this.outputShape=[s,t,n,l];const u=[i&&t>1?o-1:o,i&&n>1?a-1:a],c=[i&&t>1?t-1:t,i&&n>1?n-1:n];let d;d=r?"(vec2(yRC) + vec2(0.5)) * effectiveInputOverOutputRatioRC - vec2(0.5)":"vec2(yRC) * effectiveInputOverOutputRatioRC",this.userCode=`\n const vec2 effectiveInputOverOutputRatioRC = vec2(\n ${u[0]/c[0]},\n ${u[1]/c[1]});\n const vec2 inputShapeRC = vec2(${o}.0, ${a}.0);\n\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n ivec2 yRC = coords.yz;\n\n // Fractional source index.\n vec2 sourceFracIndexRC = ${d};\n\n // Compute the four integer indices.\n ivec2 sourceFloorRC = ivec2(max(sourceFracIndexRC, vec2(0.0)));\n ivec2 sourceCeilRC = ivec2(\n min(inputShapeRC - 1.0, ceil(sourceFracIndexRC)));\n\n float topLeft = getA(b, sourceFloorRC.x, sourceFloorRC.y, d);\n float bottomLeft = getA(b, sourceCeilRC.x, sourceFloorRC.y, d);\n float topRight = getA(b, sourceFloorRC.x, sourceCeilRC.y, d);\n float bottomRight = getA(b, sourceCeilRC.x, sourceCeilRC.y, d);\n\n vec2 fracRC = sourceFracIndexRC - vec2(sourceFloorRC);\n\n float top = topLeft + (topRight - topLeft) * fracRC.y;\n float bottom = bottomLeft + (bottomRight - bottomLeft) * fracRC.y;\n float newValue = top + (bottom - top) * fracRC.x;\n\n setOutput(newValue);\n }\n `}} /** * @license * Copyright 2019 Google LLC. All Rights Reserved. @@ -17668,7 +17668,7 @@ class rEe{constructor(e,t,n,i,r){this.variableNames=["A"],this.outputShape=[];co * limitations under the License. * ============================================================================= */ -class sEe{constructor(e,t,n,i,r){this.variableNames=["A"],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=[];const[s,o,a,l]=e;this.outputShape=[s,t,n,l];const u=[i&&t>1?o-1:o,i&&n>1?a-1:a],c=[i&&t>1?t-1:t,i&&n>1?n-1:n];let d;d=r?"(vec3(yRC) + vec3(0.5)) * effectiveInputOverOutputRatioRC - vec3(0.5)":"vec3(yRC) * effectiveInputOverOutputRatioRC",this.userCode=`\n const vec3 effectiveInputOverOutputRatioRC = vec3(\n ${u[0]/c[0]},\n ${u[1]/c[1]},\n ${u[1]/c[1]});\n const vec3 inputShapeRC = vec3(${o}.0, ${a}.0,\n ${a}.0);\n\n float getAValue(int b, int r, int c, int d) {\n return getChannel(getA(b, r, c, d), vec2(c, d));\n }\n\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n // Calculate values for next column in yRC.z.\n ivec3 yRC = coords.yzz + ivec3(0, 0, 1);\n\n // Fractional source index.\n vec3 sourceFracIndexRC = ${d};\n\n // Compute the four integer indices.\n ivec3 sourceFloorRC = ivec3(max(sourceFracIndexRC, vec3(0.0)));\n ivec3 sourceCeilRC = ivec3(\n min(inputShapeRC - 1.0, ceil(sourceFracIndexRC)));\n\n // Should we calculate next column and row elements in 2x2 packed cell.\n bool hasNextCol = d < ${l-1};\n bool hasNextRow = coords.z < ${n-1};\n\n // In parallel, construct four corners for all four components in\n // packed 2x2 cell.\n vec4 topLeft = vec4(\n getAValue(b, sourceFloorRC.x, sourceFloorRC.y, d),\n hasNextCol ? getAValue(b, sourceFloorRC.x, sourceFloorRC.y, d + 1)\n : 0.0,\n hasNextRow ? getAValue(b, sourceFloorRC.x, sourceFloorRC.z, d)\n : 0.0,\n (hasNextRow && hasNextCol) ?\n getAValue(b, sourceFloorRC.x, sourceFloorRC.z, d + 1) : 0.0);\n\n vec4 bottomLeft = vec4(\n getAValue(b, sourceCeilRC.x, sourceFloorRC.y, d),\n hasNextCol ? getAValue(b, sourceCeilRC.x, sourceFloorRC.y, d + 1)\n : 0.0,\n hasNextRow ? getAValue(b, sourceCeilRC.x, sourceFloorRC.z, d)\n : 0.0,\n (hasNextRow && hasNextCol) ?\n getAValue(b, sourceCeilRC.x, sourceFloorRC.z, d + 1) : 0.0);\n\n vec4 topRight = vec4(\n getAValue(b, sourceFloorRC.x, sourceCeilRC.y, d),\n hasNextCol ? getAValue(b, sourceFloorRC.x, sourceCeilRC.y, d + 1)\n : 0.0,\n hasNextRow ? getAValue(b, sourceFloorRC.x, sourceCeilRC.z, d)\n : 0.0,\n (hasNextRow && hasNextCol) ?\n getAValue(b, sourceFloorRC.x, sourceCeilRC.z, d + 1) : 0.0);\n\n vec4 bottomRight = vec4(\n getAValue(b, sourceCeilRC.x, sourceCeilRC.y, d),\n hasNextCol ? getAValue(b, sourceCeilRC.x, sourceCeilRC.y, d + 1)\n : 0.0,\n hasNextRow ? getAValue(b, sourceCeilRC.x, sourceCeilRC.z, d)\n : 0.0,\n (hasNextRow && hasNextCol) ?\n getAValue(b, sourceCeilRC.x, sourceCeilRC.z, d + 1) : 0.0);\n\n vec3 fracRC = sourceFracIndexRC - vec3(sourceFloorRC);\n\n vec4 top = mix(topLeft, topRight, fracRC.yyzz);\n vec4 bottom = mix(bottomLeft, bottomRight, fracRC.yyzz);\n vec4 newValue = mix(top, bottom, fracRC.x);\n\n setOutput(newValue);\n }\n `}}const oEe={kernelName:p3.ResizeBilinear,backendName:"webgl",kernelFunc: +class dEe{constructor(e,t,n,i,r){this.variableNames=["A"],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=[];const[s,o,a,l]=e;this.outputShape=[s,t,n,l];const u=[i&&t>1?o-1:o,i&&n>1?a-1:a],c=[i&&t>1?t-1:t,i&&n>1?n-1:n];let d;d=r?"(vec3(yRC) + vec3(0.5)) * effectiveInputOverOutputRatioRC - vec3(0.5)":"vec3(yRC) * effectiveInputOverOutputRatioRC",this.userCode=`\n const vec3 effectiveInputOverOutputRatioRC = vec3(\n ${u[0]/c[0]},\n ${u[1]/c[1]},\n ${u[1]/c[1]});\n const vec3 inputShapeRC = vec3(${o}.0, ${a}.0,\n ${a}.0);\n\n float getAValue(int b, int r, int c, int d) {\n return getChannel(getA(b, r, c, d), vec2(c, d));\n }\n\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n // Calculate values for next column in yRC.z.\n ivec3 yRC = coords.yzz + ivec3(0, 0, 1);\n\n // Fractional source index.\n vec3 sourceFracIndexRC = ${d};\n\n // Compute the four integer indices.\n ivec3 sourceFloorRC = ivec3(max(sourceFracIndexRC, vec3(0.0)));\n ivec3 sourceCeilRC = ivec3(\n min(inputShapeRC - 1.0, ceil(sourceFracIndexRC)));\n\n // Should we calculate next column and row elements in 2x2 packed cell.\n bool hasNextCol = d < ${l-1};\n bool hasNextRow = coords.z < ${n-1};\n\n // In parallel, construct four corners for all four components in\n // packed 2x2 cell.\n vec4 topLeft = vec4(\n getAValue(b, sourceFloorRC.x, sourceFloorRC.y, d),\n hasNextCol ? getAValue(b, sourceFloorRC.x, sourceFloorRC.y, d + 1)\n : 0.0,\n hasNextRow ? getAValue(b, sourceFloorRC.x, sourceFloorRC.z, d)\n : 0.0,\n (hasNextRow && hasNextCol) ?\n getAValue(b, sourceFloorRC.x, sourceFloorRC.z, d + 1) : 0.0);\n\n vec4 bottomLeft = vec4(\n getAValue(b, sourceCeilRC.x, sourceFloorRC.y, d),\n hasNextCol ? getAValue(b, sourceCeilRC.x, sourceFloorRC.y, d + 1)\n : 0.0,\n hasNextRow ? getAValue(b, sourceCeilRC.x, sourceFloorRC.z, d)\n : 0.0,\n (hasNextRow && hasNextCol) ?\n getAValue(b, sourceCeilRC.x, sourceFloorRC.z, d + 1) : 0.0);\n\n vec4 topRight = vec4(\n getAValue(b, sourceFloorRC.x, sourceCeilRC.y, d),\n hasNextCol ? getAValue(b, sourceFloorRC.x, sourceCeilRC.y, d + 1)\n : 0.0,\n hasNextRow ? getAValue(b, sourceFloorRC.x, sourceCeilRC.z, d)\n : 0.0,\n (hasNextRow && hasNextCol) ?\n getAValue(b, sourceFloorRC.x, sourceCeilRC.z, d + 1) : 0.0);\n\n vec4 bottomRight = vec4(\n getAValue(b, sourceCeilRC.x, sourceCeilRC.y, d),\n hasNextCol ? getAValue(b, sourceCeilRC.x, sourceCeilRC.y, d + 1)\n : 0.0,\n hasNextRow ? getAValue(b, sourceCeilRC.x, sourceCeilRC.z, d)\n : 0.0,\n (hasNextRow && hasNextCol) ?\n getAValue(b, sourceCeilRC.x, sourceCeilRC.z, d + 1) : 0.0);\n\n vec3 fracRC = sourceFracIndexRC - vec3(sourceFloorRC);\n\n vec4 top = mix(topLeft, topRight, fracRC.yyzz);\n vec4 bottom = mix(bottomLeft, bottomRight, fracRC.yyzz);\n vec4 newValue = mix(top, bottom, fracRC.x);\n\n setOutput(newValue);\n }\n `}}const hEe={kernelName:v3.ResizeBilinear,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -17685,7 +17685,7 @@ class sEe{constructor(e,t,n,i,r){this.variableNames=["A"],this.packedInputs=!0,t * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{images:r}=t,{alignCorners:s,halfPixelCenters:o,size:a}=i,[l,u]=a,c=(0,p3.env)().getBool("WEBGL_PACK_IMAGE_OPERATIONS")?new sEe(r.shape,l,u,s,o):new rEe(r.shape,l,u,s,o);return n.runWebGLProgram(c,[r],"float32")}}; +function(e){const{inputs:t,backend:n,attrs:i}=e,{images:r}=t,{alignCorners:s,halfPixelCenters:o,size:a}=i,[l,u]=a,c=(0,v3.env)().getBool("WEBGL_PACK_IMAGE_OPERATIONS")?new dEe(r.shape,l,u,s,o):new cEe(r.shape,l,u,s,o);return n.runWebGLProgram(c,[r],"float32")}}; /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -17702,7 +17702,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{images:r}=t,{alignCorners:s,hal * limitations under the License. * ============================================================================= */ -class aEe{constructor(e,t,n){this.variableNames=["dy"],this.outputShape=[],this.outputShape=t;const[,i,r]=t,[,s,o]=e,a=[n&&s>1?i-1:i,n&&o>1?r-1:r],l=[n&&s>1?s-1:s,n&&o>1?o-1:o],u=a[0]/l[0],c=a[1]/l[1],d=1/u,h=1/c,p=2*Math.ceil(d)+2,f=2*Math.ceil(h)+2;this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n int r = coords[1];\n int c = coords[2];\n\n float accumulator = 0.0;\n\n const float heightScale = float(${u});\n const float widthScale = float(${c});\n\n const float invHeightScale = float(${d});\n const float invWidthScale = float(${h});\n\n const int winHeight = int(${p});\n const int winWidth = int(${f});\n\n // Compute bounds for where in dy we will look\n float startRLerp = floor(float(r) * invHeightScale);\n int startDyR = int(startRLerp - float(winHeight / 2));\n\n float startCLerp = floor(float(c) * invWidthScale);\n int startDyC = int(startCLerp - float(winWidth / 2));\n\n // Loop over dy\n for (int dyROffset = 0; dyROffset < winHeight; dyROffset++) {\n int dyR = dyROffset + startDyR;\n\n // Guard against the window exceeding the bounds of dy\n if (dyR < 0 || dyR >= ${s}) {\n continue;\n }\n\n for (int dyCOffset = 0; dyCOffset < winWidth; dyCOffset++) {\n int dyC = dyCOffset + startDyC;\n\n // Guard against the window exceeding the bounds of dy\n if (dyC < 0 || dyC >= ${o}) {\n continue;\n }\n\n float dxR = float(dyR) * heightScale;\n int topDxRIndex = int(floor(dxR));\n int bottomDxRIndex = int(min(ceil(dxR), ${i-1}.0));\n float dxRLerp = dxR - float(topDxRIndex);\n float inverseDxRLerp = 1.0 - dxRLerp;\n\n float dxC = float(dyC) * widthScale;\n int leftDxCIndex = int(floor(dxC));\n int rightDxCIndex = int(min(ceil(dxC), ${r-1}.0));\n float dxCLerp = dxC - float(leftDxCIndex);\n float inverseDxCLerp = 1.0 - dxCLerp;\n\n if (r == topDxRIndex && c == leftDxCIndex) {\n // topLeft\n accumulator +=\n getDy(b, dyR, dyC, d) * inverseDxRLerp * inverseDxCLerp;\n }\n\n if (r == topDxRIndex && c == rightDxCIndex) {\n // topRight\n accumulator += getDy(b, dyR, dyC, d) * inverseDxRLerp * dxCLerp;\n }\n\n if (r == bottomDxRIndex && c == leftDxCIndex) {\n // bottomLeft\n accumulator += getDy(b, dyR, dyC, d) * dxRLerp * inverseDxCLerp;\n }\n\n if (r == bottomDxRIndex && c == rightDxCIndex) {\n // bottomRight\n accumulator += getDy(b, dyR, dyC, d) * dxRLerp * dxCLerp;\n }\n }\n }\n // End loop over dy\n\n setOutput(accumulator);\n }\n `}}const lEe={kernelName:p3.ResizeBilinearGrad,backendName:"webgl",kernelFunc: +class pEe{constructor(e,t,n){this.variableNames=["dy"],this.outputShape=[],this.outputShape=t;const[,i,r]=t,[,s,o]=e,a=[n&&s>1?i-1:i,n&&o>1?r-1:r],l=[n&&s>1?s-1:s,n&&o>1?o-1:o],u=a[0]/l[0],c=a[1]/l[1],d=1/u,h=1/c,p=2*Math.ceil(d)+2,f=2*Math.ceil(h)+2;this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n int r = coords[1];\n int c = coords[2];\n\n float accumulator = 0.0;\n\n const float heightScale = float(${u});\n const float widthScale = float(${c});\n\n const float invHeightScale = float(${d});\n const float invWidthScale = float(${h});\n\n const int winHeight = int(${p});\n const int winWidth = int(${f});\n\n // Compute bounds for where in dy we will look\n float startRLerp = floor(float(r) * invHeightScale);\n int startDyR = int(startRLerp - float(winHeight / 2));\n\n float startCLerp = floor(float(c) * invWidthScale);\n int startDyC = int(startCLerp - float(winWidth / 2));\n\n // Loop over dy\n for (int dyROffset = 0; dyROffset < winHeight; dyROffset++) {\n int dyR = dyROffset + startDyR;\n\n // Guard against the window exceeding the bounds of dy\n if (dyR < 0 || dyR >= ${s}) {\n continue;\n }\n\n for (int dyCOffset = 0; dyCOffset < winWidth; dyCOffset++) {\n int dyC = dyCOffset + startDyC;\n\n // Guard against the window exceeding the bounds of dy\n if (dyC < 0 || dyC >= ${o}) {\n continue;\n }\n\n float dxR = float(dyR) * heightScale;\n int topDxRIndex = int(floor(dxR));\n int bottomDxRIndex = int(min(ceil(dxR), ${i-1}.0));\n float dxRLerp = dxR - float(topDxRIndex);\n float inverseDxRLerp = 1.0 - dxRLerp;\n\n float dxC = float(dyC) * widthScale;\n int leftDxCIndex = int(floor(dxC));\n int rightDxCIndex = int(min(ceil(dxC), ${r-1}.0));\n float dxCLerp = dxC - float(leftDxCIndex);\n float inverseDxCLerp = 1.0 - dxCLerp;\n\n if (r == topDxRIndex && c == leftDxCIndex) {\n // topLeft\n accumulator +=\n getDy(b, dyR, dyC, d) * inverseDxRLerp * inverseDxCLerp;\n }\n\n if (r == topDxRIndex && c == rightDxCIndex) {\n // topRight\n accumulator += getDy(b, dyR, dyC, d) * inverseDxRLerp * dxCLerp;\n }\n\n if (r == bottomDxRIndex && c == leftDxCIndex) {\n // bottomLeft\n accumulator += getDy(b, dyR, dyC, d) * dxRLerp * inverseDxCLerp;\n }\n\n if (r == bottomDxRIndex && c == rightDxCIndex) {\n // bottomRight\n accumulator += getDy(b, dyR, dyC, d) * dxRLerp * dxCLerp;\n }\n }\n }\n // End loop over dy\n\n setOutput(accumulator);\n }\n `}}const fEe={kernelName:v3.ResizeBilinearGrad,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -17719,7 +17719,7 @@ class aEe{constructor(e,t,n){this.variableNames=["dy"],this.outputShape=[],this. * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{images:r,dy:s}=t,{alignCorners:o}=i,a=new aEe(s.shape,r.shape,o);return n.runWebGLProgram(a,[s],s.dtype)}}; +function(e){const{inputs:t,backend:n,attrs:i}=e,{images:r,dy:s}=t,{alignCorners:o}=i,a=new pEe(s.shape,r.shape,o);return n.runWebGLProgram(a,[s],s.dtype)}}; /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -17736,7 +17736,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{images:r,dy:s}=t,{alignCorners: * limitations under the License. * ============================================================================= */ -class uEe{constructor(e,t,n,i,r){this.variableNames=["A"],this.outputShape=[];const[s,o,a,l]=e;this.outputShape=[s,t,n,l];const u=[i&&t>1?o-1:o,i&&n>1?a-1:a],c=[i&&t>1?t-1:t,i&&n>1?n-1:n],d=i?"0.5":"0.0";let h;h=r?"max((vec2(yRC) + vec2(0.5)) * effectiveInputOverOutputRatioRC, vec2(0.0))":"vec2(yRC) * effectiveInputOverOutputRatioRC",this.userCode=`\n const vec2 effectiveInputOverOutputRatioRC = vec2(\n ${u[0]/c[0]},\n ${u[1]/c[1]});\n const vec2 inputShapeRC = vec2(${o}.0, ${a}.0);\n\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n ivec2 yRC = coords.yz;\n\n // Fractional source index.\n vec2 sourceFracIndexRC = ${h};\n\n // Compute the coordinators of nearest neighbor point.\n ivec2 sourceNearestRC = ivec2(\n min(inputShapeRC - 1.0, floor(sourceFracIndexRC + ${d})));\n float newValue = getA(b, sourceNearestRC.x, sourceNearestRC.y, d);\n\n setOutput(newValue);\n }\n `}} +class mEe{constructor(e,t,n,i,r){this.variableNames=["A"],this.outputShape=[];const[s,o,a,l]=e;this.outputShape=[s,t,n,l];const u=[i&&t>1?o-1:o,i&&n>1?a-1:a],c=[i&&t>1?t-1:t,i&&n>1?n-1:n],d=i?"0.5":"0.0";let h;h=r?"max((vec2(yRC) + vec2(0.5)) * effectiveInputOverOutputRatioRC, vec2(0.0))":"vec2(yRC) * effectiveInputOverOutputRatioRC",this.userCode=`\n const vec2 effectiveInputOverOutputRatioRC = vec2(\n ${u[0]/c[0]},\n ${u[1]/c[1]});\n const vec2 inputShapeRC = vec2(${o}.0, ${a}.0);\n\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n ivec2 yRC = coords.yz;\n\n // Fractional source index.\n vec2 sourceFracIndexRC = ${h};\n\n // Compute the coordinators of nearest neighbor point.\n ivec2 sourceNearestRC = ivec2(\n min(inputShapeRC - 1.0, floor(sourceFracIndexRC + ${d})));\n float newValue = getA(b, sourceNearestRC.x, sourceNearestRC.y, d);\n\n setOutput(newValue);\n }\n `}} /** * @license * Copyright 2019 Google LLC. All Rights Reserved. @@ -17753,7 +17753,7 @@ class uEe{constructor(e,t,n,i,r){this.variableNames=["A"],this.outputShape=[];co * limitations under the License. * ============================================================================= */ -class cEe{constructor(e,t,n,i,r){this.variableNames=["A"],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=[];const[s,o,a,l]=e;this.outputShape=[s,t,n,l];const u=[i&&t>1?o-1:o,i&&n>1?a-1:a],c=[i&&t>1?t-1:t,i&&n>1?n-1:n],d=i?"0.5":"0.0";let h;h=r?"max((vec3(yRC) + vec3(0.5)) * effectiveInputOverOutputRatioRC, vec3(0.0))":"vec3(yRC) * effectiveInputOverOutputRatioRC",this.userCode=`\n const vec3 effectiveInputOverOutputRatioRC = vec3(\n ${u[0]/c[0]},\n ${u[1]/c[1]},\n ${u[1]/c[1]});\n const vec3 inputShapeRC = vec3(${o}.0, ${a}.0,\n ${a}.0);\n\n float getAValue(int b, int r, int c, int d) {\n return getChannel(getA(b, r, c, d), vec2(c, d));\n }\n\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n // Calculate values for next column in yRC.z.\n ivec3 yRC = coords.yzz + ivec3(0, 0, 1);\n\n // Fractional source index.\n vec3 sourceFracIndexRC = ${h};\n\n // Compute the coordinators of nearest neighbor point.\n ivec3 sourceNearestRC = ivec3(\n min(inputShapeRC - 1.0, floor(sourceFracIndexRC + ${d})));\n\n // Should we calculate next column and row elements in 2x2 packed cell.\n bool hasNextCol = d < ${l-1};\n bool hasNextRow = coords.z < ${n-1};\n\n vec4 newValue = vec4(\n getAValue(b, sourceNearestRC.x, sourceNearestRC.y, d),\n hasNextCol ? getAValue(b, sourceNearestRC.x, sourceNearestRC.y, d + 1)\n : 0.0,\n hasNextRow ? getAValue(b, sourceNearestRC.x, sourceNearestRC.z, d)\n : 0.0,\n (hasNextRow && hasNextCol) ?\n getAValue(b, sourceNearestRC.x, sourceNearestRC.z, d + 1) : 0.0);\n\n setOutput(newValue);\n }\n `}}const dEe={kernelName:p3.ResizeNearestNeighbor,backendName:"webgl",kernelFunc: +class gEe{constructor(e,t,n,i,r){this.variableNames=["A"],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=[];const[s,o,a,l]=e;this.outputShape=[s,t,n,l];const u=[i&&t>1?o-1:o,i&&n>1?a-1:a],c=[i&&t>1?t-1:t,i&&n>1?n-1:n],d=i?"0.5":"0.0";let h;h=r?"max((vec3(yRC) + vec3(0.5)) * effectiveInputOverOutputRatioRC, vec3(0.0))":"vec3(yRC) * effectiveInputOverOutputRatioRC",this.userCode=`\n const vec3 effectiveInputOverOutputRatioRC = vec3(\n ${u[0]/c[0]},\n ${u[1]/c[1]},\n ${u[1]/c[1]});\n const vec3 inputShapeRC = vec3(${o}.0, ${a}.0,\n ${a}.0);\n\n float getAValue(int b, int r, int c, int d) {\n return getChannel(getA(b, r, c, d), vec2(c, d));\n }\n\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n // Calculate values for next column in yRC.z.\n ivec3 yRC = coords.yzz + ivec3(0, 0, 1);\n\n // Fractional source index.\n vec3 sourceFracIndexRC = ${h};\n\n // Compute the coordinators of nearest neighbor point.\n ivec3 sourceNearestRC = ivec3(\n min(inputShapeRC - 1.0, floor(sourceFracIndexRC + ${d})));\n\n // Should we calculate next column and row elements in 2x2 packed cell.\n bool hasNextCol = d < ${l-1};\n bool hasNextRow = coords.z < ${n-1};\n\n vec4 newValue = vec4(\n getAValue(b, sourceNearestRC.x, sourceNearestRC.y, d),\n hasNextCol ? getAValue(b, sourceNearestRC.x, sourceNearestRC.y, d + 1)\n : 0.0,\n hasNextRow ? getAValue(b, sourceNearestRC.x, sourceNearestRC.z, d)\n : 0.0,\n (hasNextRow && hasNextCol) ?\n getAValue(b, sourceNearestRC.x, sourceNearestRC.z, d + 1) : 0.0);\n\n setOutput(newValue);\n }\n `}}const _Ee={kernelName:v3.ResizeNearestNeighbor,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -17770,7 +17770,7 @@ class cEe{constructor(e,t,n,i,r){this.variableNames=["A"],this.packedInputs=!0,t * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{images:r}=t,{alignCorners:s,halfPixelCenters:o,size:a}=i,[l,u]=a,c=(0,p3.env)().getBool("WEBGL_PACK_IMAGE_OPERATIONS")?new cEe(r.shape,l,u,s,o):new uEe(r.shape,l,u,s,o);return n.runWebGLProgram(c,[r],r.dtype)}}; +function(e){const{inputs:t,backend:n,attrs:i}=e,{images:r}=t,{alignCorners:s,halfPixelCenters:o,size:a}=i,[l,u]=a,c=(0,v3.env)().getBool("WEBGL_PACK_IMAGE_OPERATIONS")?new gEe(r.shape,l,u,s,o):new mEe(r.shape,l,u,s,o);return n.runWebGLProgram(c,[r],r.dtype)}}; /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -17787,7 +17787,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{images:r}=t,{alignCorners:s,hal * limitations under the License. * ============================================================================= */ -class hEe{constructor(e,t,n){this.variableNames=["dy"],this.outputShape=[],this.outputShape=t;const[,i,r]=t,[,s,o]=e,a=[n&&s>1?i-1:i,n&&o>1?r-1:r],l=[n&&s>1?s-1:s,n&&o>1?o-1:o],u=a[0]/l[0],c=a[1]/l[1],d=1/u,h=1/c,p=2*Math.ceil(d)+2,f=2*Math.ceil(h)+2;this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n int r = coords[1];\n int c = coords[2];\n\n float accumulator = 0.0;\n\n const float heightScale = float(${u});\n const float widthScale = float(${c});\n\n const float invHeightScale = float(${d});\n const float invWidthScale = float(${h});\n\n const int winHeight = int(${p});\n const int winWidth = int(${f});\n\n // Compute bounds for where in dy we will look\n float startRLerp = floor(float(r) * invHeightScale);\n int startDyR = int(floor(startRLerp - float(winHeight / 2)));\n\n float startCLerp = floor(float(c) * invWidthScale);\n int startDyC = int(floor(startCLerp - float(winWidth / 2)));\n\n // Loop over dy\n for (int dyROffset = 0; dyROffset < winHeight; dyROffset++) {\n int dyR = dyROffset + startDyR;\n\n // Guard against the window exceeding the bounds of dy\n if (dyR < 0 || dyR >= ${s}) {\n continue;\n }\n\n for (int dyCOffset = 0; dyCOffset < winWidth; dyCOffset++) {\n int dyC = dyCOffset + startDyC;\n\n // Guard against the window exceeding the bounds of dy\n if (dyC < 0 || dyC >= ${o}) {\n continue;\n }\n\n float sourceFracRow =\n float(${a[0]}) *\n (float(dyR) / float(${l[0]}));\n\n float sourceFracCol =\n float(${a[1]}) *\n (float(dyC) / float(${l[1]}));\n\n int sourceNearestRow = int(min(\n float(int(${i}) - 1),\n ${n} ? float(round(sourceFracRow)) :\n float(floor(sourceFracRow))));\n\n int sourceNearestCol = int(min(\n float(int(${r}) - 1),\n ${n} ? float(round(sourceFracCol)) :\n float(floor(sourceFracCol))));\n\n if (r == sourceNearestRow && c == sourceNearestCol) {\n accumulator += getDy(b, dyR, dyC, d);\n }\n }\n }\n // End loop over dy\n\n setOutput(accumulator);\n }\n `}}const pEe={kernelName:p3.ResizeNearestNeighborGrad,backendName:"webgl",kernelFunc: +class yEe{constructor(e,t,n){this.variableNames=["dy"],this.outputShape=[],this.outputShape=t;const[,i,r]=t,[,s,o]=e,a=[n&&s>1?i-1:i,n&&o>1?r-1:r],l=[n&&s>1?s-1:s,n&&o>1?o-1:o],u=a[0]/l[0],c=a[1]/l[1],d=1/u,h=1/c,p=2*Math.ceil(d)+2,f=2*Math.ceil(h)+2;this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n int r = coords[1];\n int c = coords[2];\n\n float accumulator = 0.0;\n\n const float heightScale = float(${u});\n const float widthScale = float(${c});\n\n const float invHeightScale = float(${d});\n const float invWidthScale = float(${h});\n\n const int winHeight = int(${p});\n const int winWidth = int(${f});\n\n // Compute bounds for where in dy we will look\n float startRLerp = floor(float(r) * invHeightScale);\n int startDyR = int(floor(startRLerp - float(winHeight / 2)));\n\n float startCLerp = floor(float(c) * invWidthScale);\n int startDyC = int(floor(startCLerp - float(winWidth / 2)));\n\n // Loop over dy\n for (int dyROffset = 0; dyROffset < winHeight; dyROffset++) {\n int dyR = dyROffset + startDyR;\n\n // Guard against the window exceeding the bounds of dy\n if (dyR < 0 || dyR >= ${s}) {\n continue;\n }\n\n for (int dyCOffset = 0; dyCOffset < winWidth; dyCOffset++) {\n int dyC = dyCOffset + startDyC;\n\n // Guard against the window exceeding the bounds of dy\n if (dyC < 0 || dyC >= ${o}) {\n continue;\n }\n\n float sourceFracRow =\n float(${a[0]}) *\n (float(dyR) / float(${l[0]}));\n\n float sourceFracCol =\n float(${a[1]}) *\n (float(dyC) / float(${l[1]}));\n\n int sourceNearestRow = int(min(\n float(int(${i}) - 1),\n ${n} ? float(round(sourceFracRow)) :\n float(floor(sourceFracRow))));\n\n int sourceNearestCol = int(min(\n float(int(${r}) - 1),\n ${n} ? float(round(sourceFracCol)) :\n float(floor(sourceFracCol))));\n\n if (r == sourceNearestRow && c == sourceNearestCol) {\n accumulator += getDy(b, dyR, dyC, d);\n }\n }\n }\n // End loop over dy\n\n setOutput(accumulator);\n }\n `}}const vEe={kernelName:v3.ResizeNearestNeighborGrad,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -17804,7 +17804,7 @@ class hEe{constructor(e,t,n){this.variableNames=["dy"],this.outputShape=[],this. * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{images:r,dy:s}=t,{alignCorners:o}=i,a=new hEe(s.shape,r.shape,o);return n.runWebGLProgram(a,[s],s.dtype)}}; +function(e){const{inputs:t,backend:n,attrs:i}=e,{images:r,dy:s}=t,{alignCorners:o}=i,a=new yEe(s.shape,r.shape,o);return n.runWebGLProgram(a,[s],s.dtype)}}; /** * @license * Copyright 2017 Google LLC. All Rights Reserved. @@ -17821,7 +17821,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{images:r,dy:s}=t,{alignCorners: * limitations under the License. * ============================================================================= */ -class fEe{constructor(e,t){this.variableNames=["x"];const n=e.length;if(n>4)throw new Error(`WebGL backend: Reverse of rank-${n} tensor is not yet supported`);if(this.outputShape=e,1===n)return void(this.userCode=`\n void main() {\n int coord = getOutputCoords();\n setOutput(getX(${e[0]} - coord - 1));\n }\n `);const i=e.map((n,i)=>(n=>-1!==t.indexOf(n)&&1!==e[n]?`${e[n]} - coords[${n}] - 1`:`coords[${n}]`)(i)).join(","),r=Pme(n);this.userCode=`\n void main() {\n ${r} coords = getOutputCoords();\n setOutput(getX(${i}));\n }\n `}} +class bEe{constructor(e,t){this.variableNames=["x"];const n=e.length;if(n>4)throw new Error(`WebGL backend: Reverse of rank-${n} tensor is not yet supported`);if(this.outputShape=e,1===n)return void(this.userCode=`\n void main() {\n int coord = getOutputCoords();\n setOutput(getX(${e[0]} - coord - 1));\n }\n `);const i=e.map((n,i)=>(n=>-1!==t.indexOf(n)&&1!==e[n]?`${e[n]} - coords[${n}] - 1`:`coords[${n}]`)(i)).join(","),r=jme(n);this.userCode=`\n void main() {\n ${r} coords = getOutputCoords();\n setOutput(getX(${i}));\n }\n `}} /** * @license * Copyright 2019 Google LLC. All Rights Reserved. @@ -17838,7 +17838,7 @@ class fEe{constructor(e,t){this.variableNames=["x"];const n=e.length;if(n>4)thro * limitations under the License. * ============================================================================= */ -class mEe{constructor(e,t){this.variableNames=["x"],this.packedInputs=!0,this.packedOutput=!0;const n=e.length;if(n>4)throw new Error(`WebGL backend: Reverse of rank-${n} tensor is not yet supported`);this.outputShape=e;const i=g_e("rc",n),r=`${i[n-1]} + 1 < ${this.outputShape[n-1]}`,s=`${i[n-2]} + 1 < ${this.outputShape[n-2]}`,o=Pme(n);function a(n){const i=e.map((i,r)=>function(n,i){return-1!==t.indexOf(n)&&1!==e[n]?`${e[n]} - ${i[n]} - 1`:`${i[n]}`}(r,n));return`getChannel(getX(${i.join(",")}), vec2(${i.slice(-2).join(",")}))`}this.userCode=1===n?`\n void main(){\n int rc = getOutputCoords();\n vec4 result = vec4(0.);\n result.r = getChannel(getX(${e[0]} - rc - 1),\n ${e[0]} - rc - 1);\n if(${r}){\n result.g = getChannel(getX(${e[0]} - (rc + 1) - 1),\n ${e[0]} - (rc + 1) - 1);\n }\n setOutput(result);\n }\n `:`\n void main() {\n ${o} rc = getOutputCoords();\n vec4 result = vec4(0.);\n result.r = ${function(e){return a(e)}(i.slice())};\n if(${r}){\n result.g = ${function(e){return e[n-1]="("+e[n-1]+" + 1)",a(e)}(i.slice())};\n }\n if(${s}) {\n result.b = ${function(e){return e[n-2]="("+e[n-2]+" + 1)",a(e)}(i.slice())};\n if(${r}) {\n result.a = ${function(e){return e[n-1]="("+e[n-1]+" + 1)",e[n-2]="("+e[n-2]+" + 1)",a(e)}(i.slice())};\n }\n }\n setOutput(result);\n }\n `}}const gEe={kernelName:p3.Reverse,backendName:"webgl",kernelFunc: +class TEe{constructor(e,t){this.variableNames=["x"],this.packedInputs=!0,this.packedOutput=!0;const n=e.length;if(n>4)throw new Error(`WebGL backend: Reverse of rank-${n} tensor is not yet supported`);this.outputShape=e;const i=x_e("rc",n),r=`${i[n-1]} + 1 < ${this.outputShape[n-1]}`,s=`${i[n-2]} + 1 < ${this.outputShape[n-2]}`,o=jme(n);function a(n){const i=e.map((i,r)=>function(n,i){return-1!==t.indexOf(n)&&1!==e[n]?`${e[n]} - ${i[n]} - 1`:`${i[n]}`}(r,n));return`getChannel(getX(${i.join(",")}), vec2(${i.slice(-2).join(",")}))`}this.userCode=1===n?`\n void main(){\n int rc = getOutputCoords();\n vec4 result = vec4(0.);\n result.r = getChannel(getX(${e[0]} - rc - 1),\n ${e[0]} - rc - 1);\n if(${r}){\n result.g = getChannel(getX(${e[0]} - (rc + 1) - 1),\n ${e[0]} - (rc + 1) - 1);\n }\n setOutput(result);\n }\n `:`\n void main() {\n ${o} rc = getOutputCoords();\n vec4 result = vec4(0.);\n result.r = ${function(e){return a(e)}(i.slice())};\n if(${r}){\n result.g = ${function(e){return e[n-1]="("+e[n-1]+" + 1)",a(e)}(i.slice())};\n }\n if(${s}) {\n result.b = ${function(e){return e[n-2]="("+e[n-2]+" + 1)",a(e)}(i.slice())};\n if(${r}) {\n result.a = ${function(e){return e[n-1]="("+e[n-1]+" + 1)",e[n-2]="("+e[n-2]+" + 1)",a(e)}(i.slice())};\n }\n }\n setOutput(result);\n }\n `}}const xEe={kernelName:v3.Reverse,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -17855,7 +17855,7 @@ class mEe{constructor(e,t){this.variableNames=["x"],this.packedInputs=!0,this.pa * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{dims:s}=i,o=r.shape.length,a=p3.util.parseAxisParam(s,r.shape);if(0===o)return z_e({inputs:{x:r},backend:n});const l=(0,p3.env)().getBool("WEBGL_PACK_ARRAY_OPERATIONS")?new mEe(r.shape,a):new fEe(r.shape,a);return n.runWebGLProgram(l,[r],r.dtype)}}; +function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{dims:s}=i,o=r.shape.length,a=v3.util.parseAxisParam(s,r.shape);if(0===o)return X_e({inputs:{x:r},backend:n});const l=(0,v3.env)().getBool("WEBGL_PACK_ARRAY_OPERATIONS")?new TEe(r.shape,a):new bEe(r.shape,a);return n.runWebGLProgram(l,[r],r.dtype)}}; /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -17872,7 +17872,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{dims:s}=i,o=r.shape.len * limitations under the License. * ============================================================================= */ -class _Ee{constructor(e,t){this.variableNames=["Image"],this.outputShape=[],this.customUniforms=[{name:"params",type:"vec4"}];const n=e[1],i=e[2];this.outputShape=e;let r="";r="number"==typeof t?`float outputValue = ${t.toFixed(2)};`:`\n vec3 fill = vec3(${t.join(",")});\n float outputValue = fill[coords[3]];`,this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int x = coords[2];\n int y = coords[1];\n float coordXFloat = (float(x) - params[0]) * params[3] -\n (float(y) - params[1]) * params[2];\n float coordYFloat = (float(x) - params[0]) * params[2] +\n (float(y) - params[1]) * params[3];\n int coordX = int(round(coordXFloat + params[0]));\n int coordY = int(round(coordYFloat + params[1]));\n ${r}\n if(coordX >= 0 && coordX < ${i} && coordY >= 0 && coordY < ${n}) {\n outputValue = getImage(coords[0], coordY, coordX, coords[3]);\n }\n setOutput(outputValue);\n }\n `}} +class EEe{constructor(e,t){this.variableNames=["Image"],this.outputShape=[],this.customUniforms=[{name:"params",type:"vec4"}];const n=e[1],i=e[2];this.outputShape=e;let r="";r="number"==typeof t?`float outputValue = ${t.toFixed(2)};`:`\n vec3 fill = vec3(${t.join(",")});\n float outputValue = fill[coords[3]];`,this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int x = coords[2];\n int y = coords[1];\n float coordXFloat = (float(x) - params[0]) * params[3] -\n (float(y) - params[1]) * params[2];\n float coordYFloat = (float(x) - params[0]) * params[2] +\n (float(y) - params[1]) * params[3];\n int coordX = int(round(coordXFloat + params[0]));\n int coordY = int(round(coordYFloat + params[1]));\n ${r}\n if(coordX >= 0 && coordX < ${i} && coordY >= 0 && coordY < ${n}) {\n outputValue = getImage(coords[0], coordY, coordX, coords[3]);\n }\n setOutput(outputValue);\n }\n `}} /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -17889,7 +17889,7 @@ class _Ee{constructor(e,t){this.variableNames=["Image"],this.outputShape=[],this * limitations under the License. * ============================================================================= */ -const yEe={kernelName:p3.RotateWithOffset,backendName:"webgl",kernelFunc:({inputs:e,attrs:t,backend:n})=>{const{image:i}=e,{radians:r,fillValue:s,center:o}=t,a=n,l=new _Ee(i.shape,s),[u,c]=p3.backend_util.getImageCenter(o,i.shape[1],i.shape[2]),d=[[u,c,Math.sin(r),Math.cos(r)]];return a.runWebGLProgram(l,[i],i.dtype,d)}},vEe=J_e({opSnippet:"\n // OpenGL ES does not support round function.\n // The algorithm is based on banker's rounding.\n float base = floor(x);\n if ((x - base) < 0.5) {\n return floor(x);\n } else if ((x - base) > 0.5) {\n return ceil(x);\n } else {\n if (mod(base, 2.0) == 0.0) {\n return base;\n } else {\n return base + 1.0;\n }\n }\n"}),bEe={kernelName:p3.Round,backendName:"webgl",kernelFunc:vEe},TEe=J_e({opSnippet:"return inversesqrt(x);",cpuKernelImpl:Kge}),xEe={kernelName:p3.Rsqrt,backendName:"webgl",kernelFunc:TEe}; +const wEe={kernelName:v3.RotateWithOffset,backendName:"webgl",kernelFunc:({inputs:e,attrs:t,backend:n})=>{const{image:i}=e,{radians:r,fillValue:s,center:o}=t,a=n,l=new EEe(i.shape,s),[u,c]=v3.backend_util.getImageCenter(o,i.shape[1],i.shape[2]),d=[[u,c,Math.sin(r),Math.cos(r)]];return a.runWebGLProgram(l,[i],i.dtype,d)}},IEe=sye({opSnippet:"\n // OpenGL ES does not support round function.\n // The algorithm is based on banker's rounding.\n float base = floor(x);\n if ((x - base) < 0.5) {\n return floor(x);\n } else if ((x - base) > 0.5) {\n return ceil(x);\n } else {\n if (mod(base, 2.0) == 0.0) {\n return base;\n } else {\n return base + 1.0;\n }\n }\n"}),AEe={kernelName:v3.Round,backendName:"webgl",kernelFunc:IEe},SEe=sye({opSnippet:"return inversesqrt(x);",cpuKernelImpl:n_e}),CEe={kernelName:v3.Rsqrt,backendName:"webgl",kernelFunc:SEe}; /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -17906,7 +17906,7 @@ const yEe={kernelName:p3.RotateWithOffset,backendName:"webgl",kernelFunc:({input * limitations under the License. * ============================================================================= */ -class EEe{constructor(e,t,n,i,r,s,o=!0,a=!1){this.variableNames=["updates","indices","defaultValue"],this.outputShape=s;const l=Pme(r.length),u=Pme(s.length);let c="";1===n?c="i":2===n&&(c="i, j");const d=`getIndices(${c})`;let h="";1===i?h="i":2===i&&(h="i, coords[1]");const p=`getUpdates(${h})`;let f="";a&&(f="coords[0], coords[1]");const m=`getDefaultValue(${f})`,g=t>1?"strides[j]":"strides";this.userCode=`\n ${l} strides = ${l}(${r});\n\n void main() {\n ${u} coords = getOutputCoords();\n float sum = 0.0;\n bool found = false;\n for (int i = 0; i < ${e}; i++) {\n int flattenedIndex = 0;\n for (int j = 0; j < ${t}; j++) {\n int index = round(${d});\n flattenedIndex += index * ${g};\n }\n if (flattenedIndex == coords[0]) {\n sum += ${p};\n found = true;\n }\n }\n setOutput(mix(${m}, sum, float(found)));\n }\n `}} +class OEe{constructor(e,t,n,i,r,s,o=!0,a=!1){this.variableNames=["updates","indices","defaultValue"],this.outputShape=s;const l=jme(r.length),u=jme(s.length);let c="";1===n?c="i":2===n&&(c="i, j");const d=`getIndices(${c})`;let h="";1===i?h="i":2===i&&(h="i, coords[1]");const p=`getUpdates(${h})`;let f="";a&&(f="coords[0], coords[1]");const m=`getDefaultValue(${f})`,g=t>1?"strides[j]":"strides";this.userCode=`\n ${l} strides = ${l}(${r});\n\n void main() {\n ${u} coords = getOutputCoords();\n float sum = 0.0;\n bool found = false;\n for (int i = 0; i < ${e}; i++) {\n int flattenedIndex = 0;\n for (int j = 0; j < ${t}; j++) {\n int index = round(${d});\n flattenedIndex += index * ${g};\n }\n if (flattenedIndex == coords[0]) {\n sum += ${p};\n found = true;\n }\n }\n setOutput(mix(${m}, sum, float(found)));\n }\n `}} /** * @license * Copyright 2023 Google LLC. @@ -17923,7 +17923,7 @@ class EEe{constructor(e,t,n,i,r,s,o=!0,a=!1){this.variableNames=["updates","indi * limitations under the License. * ============================================================================= */ -class wEe{constructor(e,t,n,i,r,s,o=!0,a=!1){this.variableNames=["updates","indices","defaultValue"],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=s;const l=Pme(r.length),u=Pme(s.length);let c="";1===n?c="i":2===n&&(c="i, j");const d=`getIndices(${c})`;let h="";1===i?h="i":2===i&&(h="i, coords[1]");const p=`getUpdates(${h})`;let f="";a&&(f="coords[0], coords[1]");const m=`getDefaultValue(${f})`,g=t>1?"strides[j]":"strides",_=t>1?"strides[j + 1]":"strides";this.userCode=`\n ${l} strides = ${l}(${r});\n\n void main() {\n ${u} coords = getOutputCoords();\n vec4 sum = vec4(0.);\n vec4 found = vec4(0.);\n for (int i = 0; i < ${e}; i+=2) {\n ivec2 flattenedIndex = ivec2(0);\n for (int j = 0; j < ${t}; j+=2) {\n ivec4 index = round(${d});\n flattenedIndex += index.xz * ${g};\n if (j + 1 < ${t}) {\n flattenedIndex += index.yw * ${_};\n }\n }\n if (flattenedIndex[0] == coords[0] || flattenedIndex[1] == coords[0] ||\n flattenedIndex[0] == coords[0] + 1 || flattenedIndex[1] == coords[0] + 1) {\n vec4 updVals = ${p};\n if (flattenedIndex[0] == coords[0]) {\n sum.xy += updVals.xy;\n found.xy = vec2(1.);\n } else if (flattenedIndex[0] == coords[0] + 1) {\n sum.zw += updVals.xy;\n found.zw = vec2(1.);\n }\n if (flattenedIndex[1] == coords[0]) {\n sum.xy += updVals.zw;\n found.xy = vec2(1.);\n } else if (flattenedIndex[1] == coords[0] + 1) {\n sum.zw += updVals.zw;\n found.zw = vec2(1.);\n }\n }\n }\n setOutput(mix(${m}, sum, found));\n }\n `}}const IEe={kernelName:p3.ScatterNd,backendName:"webgl",kernelFunc: +class MEe{constructor(e,t,n,i,r,s,o=!0,a=!1){this.variableNames=["updates","indices","defaultValue"],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=s;const l=jme(r.length),u=jme(s.length);let c="";1===n?c="i":2===n&&(c="i, j");const d=`getIndices(${c})`;let h="";1===i?h="i":2===i&&(h="i, coords[1]");const p=`getUpdates(${h})`;let f="";a&&(f="coords[0], coords[1]");const m=`getDefaultValue(${f})`,g=t>1?"strides[j]":"strides",_=t>1?"strides[j + 1]":"strides";this.userCode=`\n ${l} strides = ${l}(${r});\n\n void main() {\n ${u} coords = getOutputCoords();\n vec4 sum = vec4(0.);\n vec4 found = vec4(0.);\n for (int i = 0; i < ${e}; i+=2) {\n ivec2 flattenedIndex = ivec2(0);\n for (int j = 0; j < ${t}; j+=2) {\n ivec4 index = round(${d});\n flattenedIndex += index.xz * ${g};\n if (j + 1 < ${t}) {\n flattenedIndex += index.yw * ${_};\n }\n }\n if (flattenedIndex[0] == coords[0] || flattenedIndex[1] == coords[0] ||\n flattenedIndex[0] == coords[0] + 1 || flattenedIndex[1] == coords[0] + 1) {\n vec4 updVals = ${p};\n if (flattenedIndex[0] == coords[0]) {\n sum.xy += updVals.xy;\n found.xy = vec2(1.);\n } else if (flattenedIndex[0] == coords[0] + 1) {\n sum.zw += updVals.xy;\n found.zw = vec2(1.);\n }\n if (flattenedIndex[1] == coords[0]) {\n sum.xy += updVals.zw;\n found.xy = vec2(1.);\n } else if (flattenedIndex[1] == coords[0] + 1) {\n sum.zw += updVals.zw;\n found.zw = vec2(1.);\n }\n }\n }\n setOutput(mix(${m}, sum, found));\n }\n `}}const kEe={kernelName:v3.ScatterNd,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -17940,7 +17940,7 @@ class wEe{constructor(e,t,n,i,r,s,o=!0,a=!1){this.variableNames=["updates","indi * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{indices:r,updates:s}=t,{shape:o}=i,{sliceRank:a,numUpdates:l,sliceSize:u,strides:c,outputSize:d}=p3.backend_util.calculateShapes(s,r,o),h=[d/u,u];if(0===d)return n.makeTensorInfo(o,r.dtype);const p=uye({inputs:{x:r},backend:n,attrs:{shape:[l,a]}}),f=uye({inputs:{x:s},backend:n,attrs:{shape:[l,u]}}),m=n.makeTensorInfo([],"float32",new Float32Array([0]));let g;g=(0,p3.env)().getBool("WEBGL_PACK")?new wEe(l,a,p.shape.length,f.shape.length,c,h):new EEe(l,a,p.shape.length,f.shape.length,c,h);const _=n.runWebGLProgram(g,[f,p,m],f.dtype),y=uye({inputs:{x:_},backend:n,attrs:{shape:o}});return n.disposeIntermediateTensorInfo(p),n.disposeIntermediateTensorInfo(f),n.disposeIntermediateTensorInfo(_),n.disposeIntermediateTensorInfo(m),y}}; +function(e){const{inputs:t,backend:n,attrs:i}=e,{indices:r,updates:s}=t,{shape:o}=i,{sliceRank:a,numUpdates:l,sliceSize:u,strides:c,outputSize:d}=v3.backend_util.calculateShapes(s,r,o),h=[d/u,u];if(0===d)return n.makeTensorInfo(o,r.dtype);const p=mye({inputs:{x:r},backend:n,attrs:{shape:[l,a]}}),f=mye({inputs:{x:s},backend:n,attrs:{shape:[l,u]}}),m=n.makeTensorInfo([],"float32",new Float32Array([0]));let g;g=(0,v3.env)().getBool("WEBGL_PACK")?new MEe(l,a,p.shape.length,f.shape.length,c,h):new OEe(l,a,p.shape.length,f.shape.length,c,h);const _=n.runWebGLProgram(g,[f,p,m],f.dtype),y=mye({inputs:{x:_},backend:n,attrs:{shape:o}});return n.disposeIntermediateTensorInfo(p),n.disposeIntermediateTensorInfo(f),n.disposeIntermediateTensorInfo(_),n.disposeIntermediateTensorInfo(m),y}}; /** * @license * Copyright 2022 Google LLC. All Rights Reserved. @@ -17957,7 +17957,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{indices:r,updates:s}=t,{shape:o * limitations under the License. * ============================================================================= */ -class AEe{constructor(e,t,n,i){this.variableNames=["sortedSequence","values"],this.customUniforms=[{name:"numInputs",type:"int"}],this.outputShape=[e,n];const r=`for (int i = 0; i < ${Math.ceil(Math.log2(t+1))}; ++i) { if (left >= right) break;`,s=2===(0,p3.env)().getNumber("WEBGL_VERSION")?"while (left < right) {":r,o="left"===i?"<":"<=";this.userCode=`\n int findBound(int batch, float value) {\n int left = 0;\n int right = numInputs;\n int mid;\n ${s}\n mid = (left + right) / 2;\n if (getSortedSequence(batch, mid) ${o} value) {\n left = mid + 1;\n } else {\n right = mid;\n }\n }\n return right;\n }\n\n void main() {\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n int valueIndex = coords[1];\n\n float value = getValues(batch, valueIndex);\n\n setOutput(float(findBound(batch, value)));\n }\n `}}const SEe={kernelName:p3.SearchSorted,backendName:"webgl",kernelFunc: +class REe{constructor(e,t,n,i){this.variableNames=["sortedSequence","values"],this.customUniforms=[{name:"numInputs",type:"int"}],this.outputShape=[e,n];const r=`for (int i = 0; i < ${Math.ceil(Math.log2(t+1))}; ++i) { if (left >= right) break;`,s=2===(0,v3.env)().getNumber("WEBGL_VERSION")?"while (left < right) {":r,o="left"===i?"<":"<=";this.userCode=`\n int findBound(int batch, float value) {\n int left = 0;\n int right = numInputs;\n int mid;\n ${s}\n mid = (left + right) / 2;\n if (getSortedSequence(batch, mid) ${o} value) {\n left = mid + 1;\n } else {\n right = mid;\n }\n }\n return right;\n }\n\n void main() {\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n int valueIndex = coords[1];\n\n float value = getValues(batch, valueIndex);\n\n setOutput(float(findBound(batch, value)));\n }\n `}}const NEe={kernelName:v3.SearchSorted,backendName:"webgl",kernelFunc: /** * @license * Copyright 2022 Google LLC. All Rights Reserved. @@ -17974,7 +17974,7 @@ class AEe{constructor(e,t,n,i){this.variableNames=["sortedSequence","values"],th * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{sortedSequence:r,values:s}=t,{side:o}=i,a=new AEe(r.shape[0],r.shape[1],s.shape[1],o),l=[[r.shape[1]]];return n.runWebGLProgram(a,[r,s],"int32",l)}}; +function(e){const{inputs:t,backend:n,attrs:i}=e,{sortedSequence:r,values:s}=t,{side:o}=i,a=new REe(r.shape[0],r.shape[1],s.shape[1],o),l=[[r.shape[1]]];return n.runWebGLProgram(a,[r,s],"int32",l)}}; /** * @license * Copyright 2017 Google LLC. All Rights Reserved. @@ -17991,7 +17991,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{sortedSequence:r,values:s}=t,{s * limitations under the License. * ============================================================================= */ -class CEe{constructor(e,t,n){let i,r;if(this.variableNames=["c","a","b"],this.outputShape=t,n>4)throw Error(`Where for rank ${n} is not yet supported`);if(1===n)r="resRC",i="resRC";else{const n=["resRC.x","resRC.y","resRC.z","resRC.w"],s=[],o=[];for(let i=0;i= 1.0) {\n setOutput(getA(${r}));\n } else {\n setOutput(getB(${r}));\n }\n }\n `}}const OEe={kernelName:p3.Select,backendName:"webgl",kernelFunc: +class DEe{constructor(e,t,n){let i,r;if(this.variableNames=["c","a","b"],this.outputShape=t,n>4)throw Error(`Where for rank ${n} is not yet supported`);if(1===n)r="resRC",i="resRC";else{const n=["resRC.x","resRC.y","resRC.z","resRC.w"],s=[],o=[];for(let i=0;i= 1.0) {\n setOutput(getA(${r}));\n } else {\n setOutput(getB(${r}));\n }\n }\n `}}const FEe={kernelName:v3.Select,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -18008,7 +18008,7 @@ class CEe{constructor(e,t,n){let i,r;if(this.variableNames=["c","a","b"],this.ou * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n}=e,{condition:i,t:r,e:s}=t,o=new CEe(i.shape.length,r.shape,r.shape.length);return n.runWebGLProgram(o,[i,r,s],(0,p3.upcastType)(r.dtype,s.dtype))}},MEe=J_e({opSnippet:`\n // Stable and Attracting Fixed Point (0, 1) for Normalized Weights.\n // see: https://arxiv.org/abs/1706.02515\n float scaleAlpha = ${p3.backend_util.SELU_SCALEALPHA};\n float scale = ${p3.backend_util.SELU_SCALE};\n return (x >= 0.0) ? scale * x : scaleAlpha * (exp(x) - 1.0);\n`}),kEe={kernelName:p3.Selu,backendName:"webgl",kernelFunc:MEe},REe=J_e({opSnippet:Q_e+"\n return 1.0 / (1.0 + exp(-1.0 * x));\n",packedOpSnippet:"\n vec4 result = 1.0 / (1.0 + exp(-1.0 * x));\n bvec4 isNaN = isnan(x);\n\n result.r = isNaN.r ? x.r : result.r;\n result.g = isNaN.g ? x.g : result.g;\n result.b = isNaN.b ? x.b : result.b;\n result.a = isNaN.a ? x.a : result.a;\n\n return result;\n",cpuKernelImpl:Qge}),NEe={kernelName:p3.Sigmoid,backendName:"webgl",kernelFunc:REe},DEe=J_e({opSnippet:"\n if (isnan(x)) { return 0.0; }\n return sign(x);\n"}),FEe={kernelName:p3.Sign,backendName:"webgl",kernelFunc:DEe},LEe=J_e({opSnippet:Q_e+"\n return sin(x);\n",packedOpSnippet:`\n vec4 result = sin(x);\n bvec4 isNaN = isnan(x);\n ${U_e}\n return result;\n`}),PEe={kernelName:p3.Sin,backendName:"webgl",kernelFunc:LEe},BEe=J_e({opSnippet:"\n float e2x = exp(x);\n return (e2x - 1.0 / e2x) / 2.0;\n"}),$Ee={kernelName:p3.Sinh,backendName:"webgl",kernelFunc:BEe},UEe=J_e({opSnippet:"\n float epsilon = 1.1920928955078125e-7;\n float threshold = log(epsilon) + 2.0;\n\n bool too_large = x > -threshold;\n bool too_small = x < threshold;\n\n float result;\n float exp_x = exp(x);\n\n if (too_large){\n result = x;\n }\n else if (too_small){\n result = exp_x;\n }\n else{\n result = log(exp_x + 1.0);\n }\n return result;\n"}),VEe={kernelName:p3.Softplus,backendName:"webgl",kernelFunc:UEe},zEe={kernelName:p3.SpaceToBatchND,backendName:"webgl",kernelFunc:e=>{const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{blockShape:s,paddings:o}=i;p3.util.assert(r.shape.length<=4,()=>"spaceToBatchND for rank > 4 with a WebGL backend not implemented yet");const a=s.reduce((e,t)=>e*t),l=[[0,0]];l.push(...o);for(let e=1+s.length;en.disposeIntermediateTensorInfo(e)),g}};const jEe={kernelName:p3.SparseFillEmptyRows,backendName:"webgl",kernelFunc: +function(e){const{inputs:t,backend:n}=e,{condition:i,t:r,e:s}=t,o=new DEe(i.shape.length,r.shape,r.shape.length);return n.runWebGLProgram(o,[i,r,s],(0,v3.upcastType)(r.dtype,s.dtype))}},LEe=sye({opSnippet:`\n // Stable and Attracting Fixed Point (0, 1) for Normalized Weights.\n // see: https://arxiv.org/abs/1706.02515\n float scaleAlpha = ${v3.backend_util.SELU_SCALEALPHA};\n float scale = ${v3.backend_util.SELU_SCALE};\n return (x >= 0.0) ? scale * x : scaleAlpha * (exp(x) - 1.0);\n`}),PEe={kernelName:v3.Selu,backendName:"webgl",kernelFunc:LEe},BEe=sye({opSnippet:rye+"\n return 1.0 / (1.0 + exp(-1.0 * x));\n",packedOpSnippet:"\n vec4 result = 1.0 / (1.0 + exp(-1.0 * x));\n bvec4 isNaN = isnan(x);\n\n result.r = isNaN.r ? x.r : result.r;\n result.g = isNaN.g ? x.g : result.g;\n result.b = isNaN.b ? x.b : result.b;\n result.a = isNaN.a ? x.a : result.a;\n\n return result;\n",cpuKernelImpl:r_e}),$Ee={kernelName:v3.Sigmoid,backendName:"webgl",kernelFunc:BEe},UEe=sye({opSnippet:"\n if (isnan(x)) { return 0.0; }\n return sign(x);\n"}),VEe={kernelName:v3.Sign,backendName:"webgl",kernelFunc:UEe},zEe=sye({opSnippet:rye+"\n return sin(x);\n",packedOpSnippet:`\n vec4 result = sin(x);\n bvec4 isNaN = isnan(x);\n ${H_e}\n return result;\n`}),jEe={kernelName:v3.Sin,backendName:"webgl",kernelFunc:zEe},YEe=sye({opSnippet:"\n float e2x = exp(x);\n return (e2x - 1.0 / e2x) / 2.0;\n"}),GEe={kernelName:v3.Sinh,backendName:"webgl",kernelFunc:YEe},HEe=sye({opSnippet:"\n float epsilon = 1.1920928955078125e-7;\n float threshold = log(epsilon) + 2.0;\n\n bool too_large = x > -threshold;\n bool too_small = x < threshold;\n\n float result;\n float exp_x = exp(x);\n\n if (too_large){\n result = x;\n }\n else if (too_small){\n result = exp_x;\n }\n else{\n result = log(exp_x + 1.0);\n }\n return result;\n"}),WEe={kernelName:v3.Softplus,backendName:"webgl",kernelFunc:HEe},XEe={kernelName:v3.SpaceToBatchND,backendName:"webgl",kernelFunc:e=>{const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{blockShape:s,paddings:o}=i;v3.util.assert(r.shape.length<=4,()=>"spaceToBatchND for rank > 4 with a WebGL backend not implemented yet");const a=s.reduce((e,t)=>e*t),l=[[0,0]];l.push(...o);for(let e=1+s.length;en.disposeIntermediateTensorInfo(e)),g}};const qEe={kernelName:v3.SparseFillEmptyRows,backendName:"webgl",kernelFunc: /** * @license * Copyright 2021 Google LLC. All Rights Reserved. @@ -18025,7 +18025,7 @@ function(e){const{inputs:t,backend:n}=e,{condition:i,t:r,e:s}=t,o=new CEe(i.shap * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n}=e,{indices:i,values:r,denseShape:s,defaultValue:o}=t;if(1!==s.shape.length)throw new Error(`Dense shape must be a vector, saw:\n ${s.shape}`);if(2!==i.shape.length)throw new Error(`Indices must be a matrix, saw:\n ${i.shape}`);if(1!==r.shape.length)throw new Error(`Values must be a vector, saw:\n ${r.shape}`);if(0!==o.shape.length)throw new Error(`Default value must be a scalar, saw:\n ${o.shape}`);const a=n.readSync(i.dataId),l=n.readSync(r.dataId),u=n.readSync(s.dataId),c=n.readSync(o.dataId)[0],[d,h,p,f,m]=t_e(a,i.shape,i.dtype,l,r.dtype,u,c);return[n.makeTensorInfo(h,i.dtype,d),n.makeTensorInfo([h[0]],r.dtype,p),n.makeTensorInfo([f.length],"bool",new Uint8Array(f.map(e=>Number(e)))),n.makeTensorInfo([m.length],i.dtype,new Int32Array(m))]}};const YEe={kernelName:p3.SparseReshape,backendName:"webgl",kernelFunc: +function(e){const{inputs:t,backend:n}=e,{indices:i,values:r,denseShape:s,defaultValue:o}=t;if(1!==s.shape.length)throw new Error(`Dense shape must be a vector, saw:\n ${s.shape}`);if(2!==i.shape.length)throw new Error(`Indices must be a matrix, saw:\n ${i.shape}`);if(1!==r.shape.length)throw new Error(`Values must be a vector, saw:\n ${r.shape}`);if(0!==o.shape.length)throw new Error(`Default value must be a scalar, saw:\n ${o.shape}`);const a=n.readSync(i.dataId),l=n.readSync(r.dataId),u=n.readSync(s.dataId),c=n.readSync(o.dataId)[0],[d,h,p,f,m]=a_e(a,i.shape,i.dtype,l,r.dtype,u,c);return[n.makeTensorInfo(h,i.dtype,d),n.makeTensorInfo([h[0]],r.dtype,p),n.makeTensorInfo([f.length],"bool",new Uint8Array(f.map(e=>Number(e)))),n.makeTensorInfo([m.length],i.dtype,new Int32Array(m))]}};const KEe={kernelName:v3.SparseReshape,backendName:"webgl",kernelFunc: /** * @license * Copyright 2021 Google LLC. All Rights Reserved. @@ -18042,7 +18042,7 @@ function(e){const{inputs:t,backend:n}=e,{indices:i,values:r,denseShape:s,default * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n}=e,{inputIndices:i,inputShape:r,newShape:s}=t;if(2!==i.shape.length)throw new Error(`Input indices should be a matrix but received shape ${i.shape}`);if(1!==r.shape.length)throw new Error(`Input shape should be a vector but received shape ${r.shape}`);if(1!==s.shape.length)throw new Error(`Target shape should be a vector but received shape ${s.shape}`);const o=Array.from(n.readSync(r.dataId)),a=n.readSync(i.dataId),l=Array.from(n.readSync(s.dataId)),[u,c,d]=n_e(a,i.shape,i.dtype,o,l);return[n.makeTensorInfo(c,i.dtype,u),n.makeTensorInfo([d.length],s.dtype,new Int32Array(d))]}};const GEe={kernelName:p3.SparseSegmentMean,backendName:"webgl",kernelFunc: +function(e){const{inputs:t,backend:n}=e,{inputIndices:i,inputShape:r,newShape:s}=t;if(2!==i.shape.length)throw new Error(`Input indices should be a matrix but received shape ${i.shape}`);if(1!==r.shape.length)throw new Error(`Input shape should be a vector but received shape ${r.shape}`);if(1!==s.shape.length)throw new Error(`Target shape should be a vector but received shape ${s.shape}`);const o=Array.from(n.readSync(r.dataId)),a=n.readSync(i.dataId),l=Array.from(n.readSync(s.dataId)),[u,c,d]=l_e(a,i.shape,i.dtype,o,l);return[n.makeTensorInfo(c,i.dtype,u),n.makeTensorInfo([d.length],s.dtype,new Int32Array(d))]}};const ZEe={kernelName:v3.SparseSegmentMean,backendName:"webgl",kernelFunc: /** * @license * Copyright 2021 Google LLC. All Rights Reserved. @@ -18059,7 +18059,7 @@ function(e){const{inputs:t,backend:n}=e,{inputIndices:i,inputShape:r,newShape:s} * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n}=e,{data:i,indices:r,segmentIds:s}=t;if(i.shape.length<1)throw new Error("Data should be at least 1 dimensional but received scalar");if(1!==r.shape.length)throw new Error(`Indices should be a vector but received shape\n ${r.shape}`);if(1!==s.shape.length)throw new Error(`Segment ids should be a vector but received shape\n ${s.shape}`);const o=n.readSync(i.dataId),a=n.readSync(r.dataId),l=n.readSync(s.dataId),[u,c]=i_e(o,i.shape,i.dtype,a,l,!0);return n.makeTensorInfo(c,i.dtype,u)}};const HEe={kernelName:p3.SparseSegmentSum,backendName:"webgl",kernelFunc: +function(e){const{inputs:t,backend:n}=e,{data:i,indices:r,segmentIds:s}=t;if(i.shape.length<1)throw new Error("Data should be at least 1 dimensional but received scalar");if(1!==r.shape.length)throw new Error(`Indices should be a vector but received shape\n ${r.shape}`);if(1!==s.shape.length)throw new Error(`Segment ids should be a vector but received shape\n ${s.shape}`);const o=n.readSync(i.dataId),a=n.readSync(r.dataId),l=n.readSync(s.dataId),[u,c]=u_e(o,i.shape,i.dtype,a,l,!0);return n.makeTensorInfo(c,i.dtype,u)}};const QEe={kernelName:v3.SparseSegmentSum,backendName:"webgl",kernelFunc: /** * @license * Copyright 2021 Google LLC. All Rights Reserved. @@ -18076,7 +18076,7 @@ function(e){const{inputs:t,backend:n}=e,{data:i,indices:r,segmentIds:s}=t;if(i.s * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n}=e,{data:i,indices:r,segmentIds:s}=t;if(i.shape.length<1)throw new Error("Data should be at least 1 dimensional but received scalar");if(1!==r.shape.length)throw new Error(`Indices should be a vector but received shape\n ${r.shape}`);if(1!==s.shape.length)throw new Error(`Segment ids should be a vector but received shape\n ${s.shape}`);const o=n.readSync(i.dataId),a=n.readSync(r.dataId),l=n.readSync(s.dataId),[u,c]=i_e(o,i.shape,i.dtype,a,l);return n.makeTensorInfo(c,i.dtype,u)}};const WEe={kernelName:p3.SparseToDense,backendName:"webgl",kernelFunc: +function(e){const{inputs:t,backend:n}=e,{data:i,indices:r,segmentIds:s}=t;if(i.shape.length<1)throw new Error("Data should be at least 1 dimensional but received scalar");if(1!==r.shape.length)throw new Error(`Indices should be a vector but received shape\n ${r.shape}`);if(1!==s.shape.length)throw new Error(`Segment ids should be a vector but received shape\n ${s.shape}`);const o=n.readSync(i.dataId),a=n.readSync(r.dataId),l=n.readSync(s.dataId),[u,c]=u_e(o,i.shape,i.dtype,a,l);return n.makeTensorInfo(c,i.dtype,u)}};const JEe={kernelName:v3.SparseToDense,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -18093,7 +18093,7 @@ function(e){const{inputs:t,backend:n}=e,{data:i,indices:r,segmentIds:s}=t;if(i.s * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{sparseIndices:r,sparseValues:s,defaultValue:o}=t,{outputShape:a}=i,{sliceRank:l,numUpdates:u,sliceSize:c,strides:d,outputSize:h}=p3.backend_util.calculateShapes(s,r,a),p=!1;if("string"===s.dtype){const e=n.bufferSync(r),t=n.bufferSync(s),i=p3.util.decodeString(n.readSync(o.dataId)[0]),f=Zge(e,t,a,h,c,u,l,d,i,p);return n.makeTensorInfo(a,f.dtype,f.values)}const f=new EEe(u,l,r.shape.length,s.shape.length,d,[h,1],p),m=n.runWebGLProgram(f,[s,r,o],s.dtype),g=uye({inputs:{x:m},backend:n,attrs:{shape:a}});return n.disposeIntermediateTensorInfo(m),g}};const XEe={kernelName:p3.SplitV,backendName:"webgl",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{sparseIndices:r,sparseValues:s,defaultValue:o}=t,{outputShape:a}=i,{sliceRank:l,numUpdates:u,sliceSize:c,strides:d,outputSize:h}=v3.backend_util.calculateShapes(s,r,a),p=!1;if("string"===s.dtype){const e=n.bufferSync(r),t=n.bufferSync(s),i=v3.util.decodeString(n.readSync(o.dataId)[0]),f=i_e(e,t,a,h,c,u,l,d,i,p);return n.makeTensorInfo(a,f.dtype,f.values)}const f=new OEe(u,l,r.shape.length,s.shape.length,d,[h,1],p),m=n.runWebGLProgram(f,[s,r,o],s.dtype),g=mye({inputs:{x:m},backend:n,attrs:{shape:a}});return n.disposeIntermediateTensorInfo(m),g}};const ewe={kernelName:v3.SplitV,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -18110,7 +18110,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{sparseIndices:r,sparseValues:s, * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{numOrSizeSplits:s,axis:o}=i,a=p3.util.parseAxisParam(o,r.shape)[0],l=p3.backend_util.prepareSplitSize(r,s,a),u=r.shape.length,c=new Array(u).fill(0),d=r.shape.slice();return l.map(e=>{const t=[...d];t[a]=e;const i=mve({inputs:{x:r},backend:n,attrs:{begin:c,size:t}});return c[a]+=e,i})}},qEe="return sqrt(x);",KEe=J_e({opSnippet:qEe,packedOpSnippet:qEe,cpuKernelImpl:r_e}),ZEe={kernelName:p3.Sqrt,backendName:"webgl",kernelFunc:KEe},QEe=J_e({opSnippet:"return x * x;"}),JEe={kernelName:p3.Square,backendName:"webgl",kernelFunc:QEe},ewe="return (a - b) * (a - b);",twe=eye({opSnippet:ewe,packedOpSnippet:ewe}),nwe={kernelName:p3.SquaredDifference,backendName:"webgl",kernelFunc:twe};const iwe={kernelName:p3.StaticRegexReplace,backendName:"webgl",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{numOrSizeSplits:s,axis:o}=i,a=v3.util.parseAxisParam(o,r.shape)[0],l=v3.backend_util.prepareSplitSize(r,s,a),u=r.shape.length,c=new Array(u).fill(0),d=r.shape.slice();return l.map(e=>{const t=[...d];t[a]=e;const i=Tve({inputs:{x:r},backend:n,attrs:{begin:c,size:t}});return c[a]+=e,i})}},twe="return sqrt(x);",nwe=sye({opSnippet:twe,packedOpSnippet:twe,cpuKernelImpl:c_e}),iwe={kernelName:v3.Sqrt,backendName:"webgl",kernelFunc:nwe},rwe=sye({opSnippet:"return x * x;"}),swe={kernelName:v3.Square,backendName:"webgl",kernelFunc:rwe},owe="return (a - b) * (a - b);",awe=oye({opSnippet:owe,packedOpSnippet:owe}),lwe={kernelName:v3.SquaredDifference,backendName:"webgl",kernelFunc:awe};const uwe={kernelName:v3.StaticRegexReplace,backendName:"webgl",kernelFunc: /** * @license * Copyright 2023 Google LLC. @@ -18127,7 +18127,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{numOrSizeSplits:s,axis: * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t;if("string"!==r.dtype)throw new Error("Input must be of datatype string");const s=n.readSync(r.dataId),o=p3.backend_util.fromUint8ToStringArray(s),a=s_e(o,"string",i);return n.makeTensorInfo(r.shape,"string",a)}};const rwe={kernelName:p3.Step,backendName:"webgl",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t;if("string"!==r.dtype)throw new Error("Input must be of datatype string");const s=n.readSync(r.dataId),o=v3.backend_util.fromUint8ToStringArray(s),a=d_e(o,"string",i);return n.makeTensorInfo(r.shape,"string",a)}};const cwe={kernelName:v3.Step,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -18144,7 +18144,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t;if("string"!==r.dtype)th * limitations under the License. * ============================================================================= */ -function({inputs:e,attrs:t,backend:n}){const{x:i}=e,r=w_e+`\n return x > 0.0 ? 1.0 : float(${t.alpha});\n `,s=new E_e(i.shape,r);return n.runWebGLProgram(s,[i],i.dtype)}}; +function({inputs:e,attrs:t,backend:n}){const{x:i}=e,r=M_e+`\n return x > 0.0 ? 1.0 : float(${t.alpha});\n `,s=new O_e(i.shape,r);return n.runWebGLProgram(s,[i],i.dtype)}}; /** * @license * Copyright 2017 Google LLC. All Rights Reserved. @@ -18161,7 +18161,7 @@ function({inputs:e,attrs:t,backend:n}){const{x:i}=e,r=w_e+`\n return x > 0.0 * limitations under the License. * ============================================================================= */ -class swe{constructor(e,t,n){this.variableNames=["x"],this.outputShape=n;const i=n.length,r=Pme(n.length),s=Pme(n.length);let o="";if(1===i)o="coords * strides + begin";else{let e=0;o=n.map((t,i)=>(e++,1===n.length?`coords * strides[${i}] + begin[${i}]`:`coords[${e-1}] * strides[${i}] + begin[${i}]`)).join(",")}this.userCode=`\n ${r} begin = ${r}(${e});\n ${r} strides = ${r}(${t});\n\n void main() {\n ${s} coords = getOutputCoords();\n setOutput(getX(${o}));\n }\n `}}const owe={kernelName:p3.StridedSlice,backendName:"webgl",kernelFunc: +class dwe{constructor(e,t,n){this.variableNames=["x"],this.outputShape=n;const i=n.length,r=jme(n.length),s=jme(n.length);let o="";if(1===i)o="coords * strides + begin";else{let e=0;o=n.map((t,i)=>(e++,1===n.length?`coords * strides[${i}] + begin[${i}]`:`coords[${e-1}] * strides[${i}] + begin[${i}]`)).join(",")}this.userCode=`\n ${r} begin = ${r}(${e});\n ${r} strides = ${r}(${t});\n\n void main() {\n ${s} coords = getOutputCoords();\n setOutput(getX(${o}));\n }\n `}}const hwe={kernelName:v3.StridedSlice,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -18178,7 +18178,7 @@ class swe{constructor(e,t,n){this.variableNames=["x"],this.outputShape=n;const i * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{begin:s,end:o,strides:a,beginMask:l,endMask:u,ellipsisMask:c,newAxisMask:d,shrinkAxisMask:h}=i,{finalShapeSparse:p,finalShape:f,isIdentity:m,sliceDim0:g,isSimpleSlice:_,begin:y,end:v,strides:b}=p3.slice_util.sliceInfo(r.shape,s,o,a,l,u,c,d,h);let T;if(m)T=uye({inputs:{x:r},backend:n,attrs:{shape:f}});else if(g||_){p3.util.assert(r.shape.length>=1,()=>`Input must have rank at least 1, got: ${r.shape.length}`);const e=p3.slice_util.computeOutShape(y,v,b),t=mve({inputs:{x:r},backend:n,attrs:{begin:y,size:e}});T=uye({inputs:{x:t},backend:n,attrs:{shape:f}}),n.disposeIntermediateTensorInfo(t)}else{if(n.shouldExecuteOnCPU([r])){const e=n.readSync(r.dataId),t=(0,p3.buffer)(r.shape,r.dtype,e),i=o_e(p,t,b,y);T=n.makeTensorInfo(f,r.dtype,i.values)}else{const e=new swe(y,b,p);T=n.runWebGLProgram(e,[r],r.dtype)}}const x=uye({inputs:{x:T},backend:n,attrs:{shape:f}});return n.disposeIntermediateTensorInfo(T),x}};const awe={kernelName:p3.StringNGrams,backendName:"webgl",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{begin:s,end:o,strides:a,beginMask:l,endMask:u,ellipsisMask:c,newAxisMask:d,shrinkAxisMask:h}=i,{finalShapeSparse:p,finalShape:f,isIdentity:m,sliceDim0:g,isSimpleSlice:_,begin:y,end:v,strides:b}=v3.slice_util.sliceInfo(r.shape,s,o,a,l,u,c,d,h);let T;if(m)T=mye({inputs:{x:r},backend:n,attrs:{shape:f}});else if(g||_){v3.util.assert(r.shape.length>=1,()=>`Input must have rank at least 1, got: ${r.shape.length}`);const e=v3.slice_util.computeOutShape(y,v,b),t=Tve({inputs:{x:r},backend:n,attrs:{begin:y,size:e}});T=mye({inputs:{x:t},backend:n,attrs:{shape:f}}),n.disposeIntermediateTensorInfo(t)}else{if(n.shouldExecuteOnCPU([r])){const e=n.readSync(r.dataId),t=(0,v3.buffer)(r.shape,r.dtype,e),i=h_e(p,t,b,y);T=n.makeTensorInfo(f,r.dtype,i.values)}else{const e=new dwe(y,b,p);T=n.runWebGLProgram(e,[r],r.dtype)}}const x=mye({inputs:{x:T},backend:n,attrs:{shape:f}});return n.disposeIntermediateTensorInfo(T),x}};const pwe={kernelName:v3.StringNGrams,backendName:"webgl",kernelFunc: /** * @license * Copyright 2021 Google LLC. All Rights Reserved. @@ -18195,7 +18195,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{begin:s,end:o,strides:a * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{separator:r,nGramWidths:s,leftPad:o,rightPad:a,padWidth:l,preserveShortSequences:u}=i,{data:c,dataSplits:d}=t,h=n.readSync(c.dataId),p=n.readSync(d.dataId),[f,m]=a_e(h,p,r,s,o,a,l,u);return[n.makeTensorInfo([f.length],"string",f),n.makeTensorInfo(d.shape,"int32",m)]}};const lwe={kernelName:p3.StringSplit,backendName:"webgl",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{separator:r,nGramWidths:s,leftPad:o,rightPad:a,padWidth:l,preserveShortSequences:u}=i,{data:c,dataSplits:d}=t,h=n.readSync(c.dataId),p=n.readSync(d.dataId),[f,m]=p_e(h,p,r,s,o,a,l,u);return[n.makeTensorInfo([f.length],"string",f),n.makeTensorInfo(d.shape,"int32",m)]}};const fwe={kernelName:v3.StringSplit,backendName:"webgl",kernelFunc: /** * @license * Copyright 2021 Google LLC. All Rights Reserved. @@ -18212,7 +18212,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{separator:r,nGramWidths:s,leftP * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{skipEmpty:r}=i,{input:s,delimiter:o}=t;if("string"!==s.dtype)throw new Error("Input must be of datatype string");if(1!==s.shape.length)throw new Error(`Input must be a vector, got shape: ${s.shape}`);if(0!==o.shape.length)throw new Error(`Delimiter must be a scalar, got shape: ${o.shape}`);const a=n.readSync(s.dataId),l=n.readSync(o.dataId)[0],[u,c,d]=l_e(a,l,r),h=c.length;return[n.makeTensorInfo([h,2],"int32",u),n.makeTensorInfo([h],"string",c),n.makeTensorInfo([2],"int32",new Int32Array(d))]}};const uwe={kernelName:p3.StringToHashBucketFast,backendName:"webgl",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{skipEmpty:r}=i,{input:s,delimiter:o}=t;if("string"!==s.dtype)throw new Error("Input must be of datatype string");if(1!==s.shape.length)throw new Error(`Input must be a vector, got shape: ${s.shape}`);if(0!==o.shape.length)throw new Error(`Delimiter must be a scalar, got shape: ${o.shape}`);const a=n.readSync(s.dataId),l=n.readSync(o.dataId)[0],[u,c,d]=f_e(a,l,r),h=c.length;return[n.makeTensorInfo([h,2],"int32",u),n.makeTensorInfo([h],"string",c),n.makeTensorInfo([2],"int32",new Int32Array(d))]}};const mwe={kernelName:v3.StringToHashBucketFast,backendName:"webgl",kernelFunc: /** * @license * Copyright 2021 Google LLC. All Rights Reserved. @@ -18229,7 +18229,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{skipEmpty:r}=i,{input:s,delimit * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{numBuckets:r}=i,{input:s}=t;if("string"!==s.dtype)throw new Error("Input must be of datatype string");if(r<=0)throw new Error("Number of buckets must be at least 1");const o=n.readSync(s.dataId),a=u_e(o,r);return n.makeTensorInfo(s.shape,"int32",a)}},cwe=J_e({opSnippet:"return tan(x);"}),dwe={kernelName:p3.Tan,backendName:"webgl",kernelFunc:cwe},hwe=J_e({opSnippet:"\n float e2x = exp(-2.0 * abs(x));\n return sign(x) * (1.0 - e2x) / (1.0 + e2x);\n"}),pwe={kernelName:p3.Tanh,backendName:"webgl",kernelFunc:hwe};const fwe={kernelName:p3.TensorScatterUpdate,backendName:"webgl",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{numBuckets:r}=i,{input:s}=t;if("string"!==s.dtype)throw new Error("Input must be of datatype string");if(r<=0)throw new Error("Number of buckets must be at least 1");const o=n.readSync(s.dataId),a=m_e(o,r);return n.makeTensorInfo(s.shape,"int32",a)}},gwe=sye({opSnippet:"return tan(x);"}),_we={kernelName:v3.Tan,backendName:"webgl",kernelFunc:gwe},ywe=sye({opSnippet:"\n float e2x = exp(-2.0 * abs(x));\n return sign(x) * (1.0 - e2x) / (1.0 + e2x);\n"}),vwe={kernelName:v3.Tanh,backendName:"webgl",kernelFunc:ywe};const bwe={kernelName:v3.TensorScatterUpdate,backendName:"webgl",kernelFunc: /** * @license * Copyright 2022 Google LLC. All Rights Reserved. @@ -18246,7 +18246,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{numBuckets:r}=i,{input:s}=t;if( * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{tensor:r,indices:s,updates:o}=t,{}=i,{sliceRank:a,numUpdates:l,sliceSize:u,strides:c,outputSize:d}=p3.backend_util.calculateShapes(o,s,r.shape),h=[d/u,u];if(0===d)return n.makeTensorInfo(r.shape,s.dtype);const p=uye({inputs:{x:s},backend:n,attrs:{shape:[l,a]}}),f=uye({inputs:{x:o},backend:n,attrs:{shape:[l,u]}}),m=uye({inputs:{x:r},backend:n,attrs:{shape:h}}),g=new EEe(l,a,p.shape.length,f.shape.length,c,h,!1,!0),_=n.runWebGLProgram(g,[f,p,m],m.dtype),y=uye({inputs:{x:_},backend:n,attrs:{shape:r.shape}});return n.disposeIntermediateTensorInfo(p),n.disposeIntermediateTensorInfo(f),n.disposeIntermediateTensorInfo(m),n.disposeIntermediateTensorInfo(_),y}}; +function(e){const{inputs:t,backend:n,attrs:i}=e,{tensor:r,indices:s,updates:o}=t,{}=i,{sliceRank:a,numUpdates:l,sliceSize:u,strides:c,outputSize:d}=v3.backend_util.calculateShapes(o,s,r.shape),h=[d/u,u];if(0===d)return n.makeTensorInfo(r.shape,s.dtype);const p=mye({inputs:{x:s},backend:n,attrs:{shape:[l,a]}}),f=mye({inputs:{x:o},backend:n,attrs:{shape:[l,u]}}),m=mye({inputs:{x:r},backend:n,attrs:{shape:h}}),g=new OEe(l,a,p.shape.length,f.shape.length,c,h,!1,!0),_=n.runWebGLProgram(g,[f,p,m],m.dtype),y=mye({inputs:{x:_},backend:n,attrs:{shape:r.shape}});return n.disposeIntermediateTensorInfo(p),n.disposeIntermediateTensorInfo(f),n.disposeIntermediateTensorInfo(m),n.disposeIntermediateTensorInfo(_),y}}; /** * @license * Copyright 2017 Google LLC. All Rights Reserved. @@ -18263,7 +18263,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{tensor:r,indices:s,updates:o}=t * limitations under the License. * ============================================================================= */ -class mwe{constructor(e,t){this.variableNames=["A"];const n=new Array(e.length);for(let i=0;i5)throw Error(`Tile for rank ${t} is not yet supported`);if(1===t)return`imod(resRC, ${e[0]})`;const n=["resRC.x","resRC.y","resRC.z","resRC.w","resRC.u"],i=[];for(let t=0;t5)throw Error(`Tile for rank ${t} is not yet supported`);if(1===t)return`imod(resRC, ${e[0]})`;const n=["resRC.x","resRC.y","resRC.z","resRC.w","resRC.u"],i=[];for(let t=0;t5){const e=n.readSync(r.dataId),t="string"===r.dtype?e.map(e=>p3.util.decodeString(e)):e,i=(0,p3.buffer)(r.shape,r.dtype,t),o=d_e(i,s);return n.makeTensorInfo(o.shape,o.dtype,o.values)}const o=new mwe(r.shape,s);return n.runWebGLProgram(o,[r],r.dtype)}const _we={kernelName:p3.Tile,backendName:"webgl",kernelFunc:gwe};class ywe{constructor(e){this.variableNames=["x","indices"],this.customUniforms=[{name:"n",type:"int"},{name:"firstPass",type:"int"},{name:"negativeInf",type:"float"},{name:"dir",type:"int"},{name:"inc",type:"int"}],this.outputShape=e,this.userCode="\n void main() {\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n int elemIdx = coords[1];\n\n // We compare elements pair-wise within a group of size 2 * inc.\n // The comparing rule for each group alternates between ascending\n // and descending. Within each group, we compare each pair at\n // positions i and i+inc. To decide whether an element at position i\n // is x0 or x1, we mod it by 2 * inc, if the result is smaller than\n // inc, it is in the first half of the group, we denote it as x0,\n // otherwise we denote it as x1.\n // For example, as shown in the Bitonic top K paper referenced above,\n // Figure5(a) shows that element[1] is in the\n // second half of the group when group size is 2, but it is in the\n // first half of the group when group size is 4.\n\n bool isFirstInPair = imod(elemIdx, 2 * inc) < inc;\n int i = isFirstInPair ? elemIdx : elemIdx - inc;\n\n int i0 = firstPass == 1 ? i : int(getIndices(batch, i));\n int i1 = firstPass == 1 ? i + inc : int(getIndices(batch, i + inc));\n float x0 = i0 < n ? getX(batch, i0) : negativeInf;\n float x1 = i1 < n ? getX(batch, i1) : negativeInf;\n\n // Denotes which direction indices are in (ascending or descending).\n bool reverse = imod(elemIdx, 2 * dir) >= dir;\n bool isGreater = x0 > x1 || (x0 == x1 && i1 > i0);\n if (reverse == isGreater) { // Elements in opposite order of direction\n int iTemp = i0;\n i0 = i1;\n i1 = iTemp;\n }\n if (isFirstInPair) {\n setOutput(float(i0));\n } else {\n setOutput(float(i1));\n }\n }\n "}}class vwe{constructor(e){this.variableNames=["x","indices"],this.customUniforms=[{name:"n",type:"int"},{name:"firstPass",type:"int"},{name:"k",type:"int"}],this.outputShape=e,this.userCode="\n void main() {\n // Takes max of indices (0, k), (1, k + 1), (2, k + 2) ...\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n int elemIdx = coords[1];\n\n // The output size is half of the previous size.\n // If the previous sequence is | | | | _ _ _ _ | | | | _ _ _ _ (k=4),\n // we only need to output the indices at positions |, the indices at\n // positions _ can be thrown away, see Figure5(b) After Phase 2\n // (Merge phase) in the Bitonic Top K paper referenced above.\n // For example, the paper shows we only need to output the orange bars.\n // The output sequence should look like this | | | | | | | |.\n // Because the sequence is halved, to map the output index back\n // to the previous sequence to find the corresponding value,\n // we need to double the index. When we double the index,\n // we basically interpolate a position, so 2i looks like\n // | _ | _ | _ | _ | _ | _ | _. We move the | to the first k position\n // of each 2k positions by - elemIdx % k. E.g. for output at\n // index 4,5,6,7, we want to get the corresponding element at\n // original index 8,9,10,11, for output at index 8,9,10,11,\n // we want to get the corresponding element at original index\n // 16,17,18,19, so on and so forth.\n\n int i = elemIdx < k ? elemIdx : (elemIdx * 2 - imod(elemIdx, k));\n int i0 = firstPass == 1 ? i : int(getIndices(batch, i));\n int i1 = firstPass == 1 ? i + k : int(getIndices(batch, i + k));\n\n float x0 = getX(batch, i0);\n float x1 = i1 < n ? getX(batch, i1) : x0;\n\n setOutput(x0 >= x1 ? float(i0) : float(i1));\n }\n "}} +function xwe(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{reps:s}=i;if("string"===r.dtype||r.shape.length>5){const e=n.readSync(r.dataId),t="string"===r.dtype?e.map(e=>v3.util.decodeString(e)):e,i=(0,v3.buffer)(r.shape,r.dtype,t),o=__e(i,s);return n.makeTensorInfo(o.shape,o.dtype,o.values)}const o=new Twe(r.shape,s);return n.runWebGLProgram(o,[r],r.dtype)}const Ewe={kernelName:v3.Tile,backendName:"webgl",kernelFunc:xwe};class wwe{constructor(e){this.variableNames=["x","indices"],this.customUniforms=[{name:"n",type:"int"},{name:"firstPass",type:"int"},{name:"negativeInf",type:"float"},{name:"dir",type:"int"},{name:"inc",type:"int"}],this.outputShape=e,this.userCode="\n void main() {\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n int elemIdx = coords[1];\n\n // We compare elements pair-wise within a group of size 2 * inc.\n // The comparing rule for each group alternates between ascending\n // and descending. Within each group, we compare each pair at\n // positions i and i+inc. To decide whether an element at position i\n // is x0 or x1, we mod it by 2 * inc, if the result is smaller than\n // inc, it is in the first half of the group, we denote it as x0,\n // otherwise we denote it as x1.\n // For example, as shown in the Bitonic top K paper referenced above,\n // Figure5(a) shows that element[1] is in the\n // second half of the group when group size is 2, but it is in the\n // first half of the group when group size is 4.\n\n bool isFirstInPair = imod(elemIdx, 2 * inc) < inc;\n int i = isFirstInPair ? elemIdx : elemIdx - inc;\n\n int i0 = firstPass == 1 ? i : int(getIndices(batch, i));\n int i1 = firstPass == 1 ? i + inc : int(getIndices(batch, i + inc));\n float x0 = i0 < n ? getX(batch, i0) : negativeInf;\n float x1 = i1 < n ? getX(batch, i1) : negativeInf;\n\n // Denotes which direction indices are in (ascending or descending).\n bool reverse = imod(elemIdx, 2 * dir) >= dir;\n bool isGreater = x0 > x1 || (x0 == x1 && i1 > i0);\n if (reverse == isGreater) { // Elements in opposite order of direction\n int iTemp = i0;\n i0 = i1;\n i1 = iTemp;\n }\n if (isFirstInPair) {\n setOutput(float(i0));\n } else {\n setOutput(float(i1));\n }\n }\n "}}class Iwe{constructor(e){this.variableNames=["x","indices"],this.customUniforms=[{name:"n",type:"int"},{name:"firstPass",type:"int"},{name:"k",type:"int"}],this.outputShape=e,this.userCode="\n void main() {\n // Takes max of indices (0, k), (1, k + 1), (2, k + 2) ...\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n int elemIdx = coords[1];\n\n // The output size is half of the previous size.\n // If the previous sequence is | | | | _ _ _ _ | | | | _ _ _ _ (k=4),\n // we only need to output the indices at positions |, the indices at\n // positions _ can be thrown away, see Figure5(b) After Phase 2\n // (Merge phase) in the Bitonic Top K paper referenced above.\n // For example, the paper shows we only need to output the orange bars.\n // The output sequence should look like this | | | | | | | |.\n // Because the sequence is halved, to map the output index back\n // to the previous sequence to find the corresponding value,\n // we need to double the index. When we double the index,\n // we basically interpolate a position, so 2i looks like\n // | _ | _ | _ | _ | _ | _ | _. We move the | to the first k position\n // of each 2k positions by - elemIdx % k. E.g. for output at\n // index 4,5,6,7, we want to get the corresponding element at\n // original index 8,9,10,11, for output at index 8,9,10,11,\n // we want to get the corresponding element at original index\n // 16,17,18,19, so on and so forth.\n\n int i = elemIdx < k ? elemIdx : (elemIdx * 2 - imod(elemIdx, k));\n int i0 = firstPass == 1 ? i : int(getIndices(batch, i));\n int i1 = firstPass == 1 ? i + k : int(getIndices(batch, i + k));\n\n float x0 = getX(batch, i0);\n float x1 = i1 < n ? getX(batch, i1) : x0;\n\n setOutput(x0 >= x1 ? float(i0) : float(i1));\n }\n "}} /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -18297,7 +18297,7 @@ function gwe(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{reps:s}=i;if("strin * limitations under the License. * ============================================================================= */ -function bwe(e,t){null!==t&&e.disposeIntermediateTensorInfo(t)}function Twe(e){let t=1;for(;tl){const e=n.readSync(r.dataId),[t,i]=h_e(e,u,r.dtype,s,o);return[n.makeTensorInfo(t.shape,t.dtype,t.values),n.makeTensorInfo(i.shape,i.dtype,i.values)]}if(0===s)return u[u.length-1]=0,[n.makeTensorInfo(u,r.dtype,[]),n.makeTensorInfo(u,"int32",[])];if(1===c)return[r,Jbe({attrs:{shape:u,dtype:"int32",value:0},backend:n})];const d=n.texData.get(r.dataId),h=null!==d&&d.isPacked,p=h?n.unpackTensor(r):r,f=p3.util.sizeFromShape(u)/c,m=uye({inputs:{x:p},attrs:{shape:[f,c]},backend:n});h&&bwe(n,p);const g=Twe(s),_=Twe(c);let y=null;const v=()=>null===y?[m,m]:[m,y],b=(e,t,i)=>{const r=v(),s=new ywe(i),o=[[c],[null===y?1:0],[Number.NEGATIVE_INFINITY],[e],[t]],a=y;y=n.runWebGLProgram(s,r,"int32",o),bwe(n,a)};for(let e=1;e=1;n/=2)b(t,n,[f,_])}for(let e=_;e>g;e/=2){const t=v(),i=new vwe([f,e/2]),r=[[c],[null===y?1:0],[g]],s=y;y=n.runWebGLProgram(i,t,"int32",r),bwe(n,s);const o=g/2,a=2*o;for(let e=o;e>=1;e/=2)b(a,e,y.shape)}let T=y;y=mve({inputs:{x:y},backend:n,attrs:{begin:0,size:[f,s]}}),bwe(n,T);let x=yTe({inputs:{x:m,indices:y},backend:n,attrs:{axis:1,batchDims:1}});bwe(n,m);const E=u.slice(0,-1);E.push(s),T=y,y=uye({inputs:{x:y},attrs:{shape:E},backend:n}),bwe(n,T);const w=x;return x=uye({inputs:{x},attrs:{shape:E},backend:n}),bwe(n,w),[x,y]}}; +function Awe(e,t){null!==t&&e.disposeIntermediateTensorInfo(t)}function Swe(e){let t=1;for(;tl){const e=n.readSync(r.dataId),[t,i]=y_e(e,u,r.dtype,s,o);return[n.makeTensorInfo(t.shape,t.dtype,t.values),n.makeTensorInfo(i.shape,i.dtype,i.values)]}if(0===s)return u[u.length-1]=0,[n.makeTensorInfo(u,r.dtype,[]),n.makeTensorInfo(u,"int32",[])];if(1===c)return[r,sTe({attrs:{shape:u,dtype:"int32",value:0},backend:n})];const d=n.texData.get(r.dataId),h=null!==d&&d.isPacked,p=h?n.unpackTensor(r):r,f=v3.util.sizeFromShape(u)/c,m=mye({inputs:{x:p},attrs:{shape:[f,c]},backend:n});h&&Awe(n,p);const g=Swe(s),_=Swe(c);let y=null;const v=()=>null===y?[m,m]:[m,y],b=(e,t,i)=>{const r=v(),s=new wwe(i),o=[[c],[null===y?1:0],[Number.NEGATIVE_INFINITY],[e],[t]],a=y;y=n.runWebGLProgram(s,r,"int32",o),Awe(n,a)};for(let e=1;e=1;n/=2)b(t,n,[f,_])}for(let e=_;e>g;e/=2){const t=v(),i=new Iwe([f,e/2]),r=[[c],[null===y?1:0],[g]],s=y;y=n.runWebGLProgram(i,t,"int32",r),Awe(n,s);const o=g/2,a=2*o;for(let e=o;e>=1;e/=2)b(a,e,y.shape)}let T=y;y=Tve({inputs:{x:y},backend:n,attrs:{begin:0,size:[f,s]}}),Awe(n,T);let x=wTe({inputs:{x:m,indices:y},backend:n,attrs:{axis:1,batchDims:1}});Awe(n,m);const E=u.slice(0,-1);E.push(s),T=y,y=mye({inputs:{x:y},attrs:{shape:E},backend:n}),Awe(n,T);const w=x;return x=mye({inputs:{x},attrs:{shape:E},backend:n}),Awe(n,w),[x,y]}}; /** * @license * Copyright 2021 Google LLC. All Rights Reserved. @@ -18314,7 +18314,7 @@ function bwe(e,t){null!==t&&e.disposeIntermediateTensorInfo(t)}function Twe(e){l * limitations under the License. * ============================================================================= */ -class Ewe{constructor(e,t,n,i,r,s){this.variableNames=["Image","Transforms"],this.outputShape=s;const o="nearest"===n?1:2;let a;switch(i){case"constant":default:a=1;break;case"reflect":a=2;break;case"wrap":a=3;break;case"nearest":a=4}this.userCode=`\n float mapCoord(float outCoord, float len) {\n float inCoord = outCoord;\n if(${a} == 2) {\n if (inCoord < 0.0) {\n if (len <= 1.0) {\n inCoord = 0.0;\n } else {\n float sz2 = 2.0 * len;\n if (inCoord < sz2) {\n inCoord = sz2 * float(int(float(-inCoord / sz2))) +\n inCoord;\n }\n inCoord = inCoord < -len ? inCoord + sz2 : -inCoord - 1.0;\n }\n } else if (inCoord > len - 1.0) {\n if (len <= 1.0) {\n inCoord = 0.0;\n } else {\n float sz2 = 2.0 * len;\n inCoord -= sz2 * float(int(float(inCoord / sz2)));\n if (inCoord >= len) {\n inCoord = sz2 - inCoord - 1.0;\n }\n }\n }\n return clamp(inCoord, 0.0, len - 1.0);\n } else if (${a} == 3) {\n if (inCoord < 0.0) {\n if (len <= 1.0) {\n inCoord = 0.0;\n } else {\n float sz = len - 1.0;\n inCoord += len * (float(int(float(-inCoord / sz))) + 1.0);\n }\n } else if (inCoord > len - 1.0) {\n if (len <= 1.0) {\n inCoord = 0.0;\n } else {\n float sz = len - 1.0;\n inCoord -= len * float(int(float(inCoord / sz)));\n }\n }\n return clamp(inCoord, 0.0, len - 1.0);\n } else if (${a} == 4) {\n return clamp(outCoord, 0.0, len - 1.0);\n } else {\n return outCoord;\n }\n }\n\n float readWithFillValue(int batch, int coordY, int coordX,\n int channel) {\n float outputValue;\n if (0 <= coordY && coordY < ${e} && 0 <= coordX && coordX < ${t}) {\n outputValue = getImage(batch, coordY, coordX, channel);\n } else {\n outputValue = float(${r});\n }\n return outputValue;\n }\n\n void main() {\n ivec4 coords = getOutputCoords();\n float outputValue;\n int batch = coords[0];\n int x = coords[2];\n int y = coords[1];\n int channel = coords[3];\n float xf = float(x);\n float yf = float(y);\n float a1 = getTransforms(batch, 0);\n float a2 = getTransforms(batch, 1);\n float a3 = getTransforms(batch, 2);\n float b1 = getTransforms(batch, 3);\n float b2 = getTransforms(batch, 4);\n float b3 = getTransforms(batch, 5);\n float c1 = getTransforms(batch, 6);\n float c2 = getTransforms(batch, 7);\n float projection = c1 * xf + c2 * yf + 1.0;\n if (projection == 0.0) {\n outputValue = float(${r});\n } else {\n float inX = (a1 * xf + a2 * yf + a3) / projection;\n float inY = (b1 * xf + b2 * yf + b3) / projection;\n float mapX = mapCoord(inX, float(${t}));\n float mapY = mapCoord(inY, float(${e}));\n\n if (${o} == 1) {\n int coordY = int(round(mapY));\n int coordX = int(round(mapX));\n outputValue = readWithFillValue(batch, coordY, coordX,\n channel);\n } else {\n float yFloor = floor(mapY);\n float xFloor = floor(mapX);\n float yCeil = yFloor + 1.0;\n float xCeil = xFloor + 1.0;\n float valueYFloor = (xCeil - mapX) *\n readWithFillValue(batch, int(yFloor), int(xFloor), channel) +\n (mapX - xFloor) *\n readWithFillValue(batch, int(yFloor), int(xCeil), channel);\n float valueYCeil = (xCeil - mapX) *\n readWithFillValue(batch, int(yCeil), int(xFloor), channel) +\n (mapX - xFloor) *\n readWithFillValue(batch, int(yCeil), int(xCeil), channel);\n outputValue = (yCeil - mapY) * valueYFloor +\n (mapY - yFloor) * valueYCeil;\n }\n }\n setOutput(outputValue);\n }\n `}}const wwe={kernelName:p3.Transform,backendName:"webgl",kernelFunc: +class Owe{constructor(e,t,n,i,r,s){this.variableNames=["Image","Transforms"],this.outputShape=s;const o="nearest"===n?1:2;let a;switch(i){case"constant":default:a=1;break;case"reflect":a=2;break;case"wrap":a=3;break;case"nearest":a=4}this.userCode=`\n float mapCoord(float outCoord, float len) {\n float inCoord = outCoord;\n if(${a} == 2) {\n if (inCoord < 0.0) {\n if (len <= 1.0) {\n inCoord = 0.0;\n } else {\n float sz2 = 2.0 * len;\n if (inCoord < sz2) {\n inCoord = sz2 * float(int(float(-inCoord / sz2))) +\n inCoord;\n }\n inCoord = inCoord < -len ? inCoord + sz2 : -inCoord - 1.0;\n }\n } else if (inCoord > len - 1.0) {\n if (len <= 1.0) {\n inCoord = 0.0;\n } else {\n float sz2 = 2.0 * len;\n inCoord -= sz2 * float(int(float(inCoord / sz2)));\n if (inCoord >= len) {\n inCoord = sz2 - inCoord - 1.0;\n }\n }\n }\n return clamp(inCoord, 0.0, len - 1.0);\n } else if (${a} == 3) {\n if (inCoord < 0.0) {\n if (len <= 1.0) {\n inCoord = 0.0;\n } else {\n float sz = len - 1.0;\n inCoord += len * (float(int(float(-inCoord / sz))) + 1.0);\n }\n } else if (inCoord > len - 1.0) {\n if (len <= 1.0) {\n inCoord = 0.0;\n } else {\n float sz = len - 1.0;\n inCoord -= len * float(int(float(inCoord / sz)));\n }\n }\n return clamp(inCoord, 0.0, len - 1.0);\n } else if (${a} == 4) {\n return clamp(outCoord, 0.0, len - 1.0);\n } else {\n return outCoord;\n }\n }\n\n float readWithFillValue(int batch, int coordY, int coordX,\n int channel) {\n float outputValue;\n if (0 <= coordY && coordY < ${e} && 0 <= coordX && coordX < ${t}) {\n outputValue = getImage(batch, coordY, coordX, channel);\n } else {\n outputValue = float(${r});\n }\n return outputValue;\n }\n\n void main() {\n ivec4 coords = getOutputCoords();\n float outputValue;\n int batch = coords[0];\n int x = coords[2];\n int y = coords[1];\n int channel = coords[3];\n float xf = float(x);\n float yf = float(y);\n float a1 = getTransforms(batch, 0);\n float a2 = getTransforms(batch, 1);\n float a3 = getTransforms(batch, 2);\n float b1 = getTransforms(batch, 3);\n float b2 = getTransforms(batch, 4);\n float b3 = getTransforms(batch, 5);\n float c1 = getTransforms(batch, 6);\n float c2 = getTransforms(batch, 7);\n float projection = c1 * xf + c2 * yf + 1.0;\n if (projection == 0.0) {\n outputValue = float(${r});\n } else {\n float inX = (a1 * xf + a2 * yf + a3) / projection;\n float inY = (b1 * xf + b2 * yf + b3) / projection;\n float mapX = mapCoord(inX, float(${t}));\n float mapY = mapCoord(inY, float(${e}));\n\n if (${o} == 1) {\n int coordY = int(round(mapY));\n int coordX = int(round(mapX));\n outputValue = readWithFillValue(batch, coordY, coordX,\n channel);\n } else {\n float yFloor = floor(mapY);\n float xFloor = floor(mapX);\n float yCeil = yFloor + 1.0;\n float xCeil = xFloor + 1.0;\n float valueYFloor = (xCeil - mapX) *\n readWithFillValue(batch, int(yFloor), int(xFloor), channel) +\n (mapX - xFloor) *\n readWithFillValue(batch, int(yFloor), int(xCeil), channel);\n float valueYCeil = (xCeil - mapX) *\n readWithFillValue(batch, int(yCeil), int(xFloor), channel) +\n (mapX - xFloor) *\n readWithFillValue(batch, int(yCeil), int(xCeil), channel);\n outputValue = (yCeil - mapY) * valueYFloor +\n (mapY - yFloor) * valueYCeil;\n }\n }\n setOutput(outputValue);\n }\n `}}const Mwe={kernelName:v3.Transform,backendName:"webgl",kernelFunc: /** * @license * Copyright 2021 Google LLC. All Rights Reserved. @@ -18331,7 +18331,7 @@ class Ewe{constructor(e,t,n,i,r,s){this.variableNames=["Image","Transforms"],thi * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{image:r,transforms:s}=t,{interpolation:o,fillMode:a,fillValue:l,outputShape:u}=i,[c,d,h,p]=r.shape,[f,m]=null!=u?u:[d,h],g=new Ewe(d,h,o,a,l,[c,f,m,p]);return n.runWebGLProgram(g,[r,s],"float32")}};const Iwe={kernelName:p3.Unique,backendName:"webgl",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{image:r,transforms:s}=t,{interpolation:o,fillMode:a,fillValue:l,outputShape:u}=i,[c,d,h,p]=r.shape,[f,m]=null!=u?u:[d,h],g=new Owe(d,h,o,a,l,[c,f,m,p]);return n.runWebGLProgram(g,[r,s],"float32")}};const kwe={kernelName:v3.Unique,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -18348,7 +18348,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{image:r,transforms:s}=t,{interp * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,attrs:n,backend:i}=e,{axis:r}=n,{x:s}=t;yme(s,"unique"),console.warn("WARNING: ","UI might be locked temporarily as data is being downloaded");const o=i.readSync(s.dataId),{outputValues:a,outputShape:l,indices:u}=f_e(o,r,s.shape,s.dtype);return[i.makeTensorInfo(l,s.dtype,a),i.makeTensorInfo([u.length],"int32",u)]}};const Awe={kernelName:p3.Unpack,backendName:"webgl",kernelFunc: +function(e){const{inputs:t,attrs:n,backend:i}=e,{axis:r}=n,{x:s}=t;wme(s,"unique"),console.warn("WARNING: ","UI might be locked temporarily as data is being downloaded");const o=i.readSync(s.dataId),{outputValues:a,outputShape:l,indices:u}=b_e(o,r,s.shape,s.dtype);return[i.makeTensorInfo(l,s.dtype,a),i.makeTensorInfo([u.length],"int32",u)]}};const Rwe={kernelName:v3.Unpack,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -18365,7 +18365,7 @@ function(e){const{inputs:t,attrs:n,backend:i}=e,{axis:r}=n,{x:s}=t;yme(s,"unique * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{value:r}=t;let{axis:s}=i;s<0&&(s+=r.shape.length);const o=r,a=o.shape.length,l=r.shape[s],u=new Array(a-1);let c=0;for(let e=0;en.disposeIntermediateTensorInfo(e)),f}}; +function(e){const{inputs:t,backend:n,attrs:i}=e,{value:r}=t;let{axis:s}=i;s<0&&(s+=r.shape.length);const o=r,a=o.shape.length,l=r.shape[s],u=new Array(a-1);let c=0;for(let e=0;en.disposeIntermediateTensorInfo(e)),f}}; /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -18382,7 +18382,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{value:r}=t;let{axis:s}=i;s<0&&( * limitations under the License. * ============================================================================= */ -class Swe{constructor(e,t){this.variableNames=["x","segmentIds"];const n=e.windowSize,i=e.batchSize,r=e.inSize,s=e.numSegments,o=s*Math.ceil(r/n);this.outputShape=[i,o];const a=4*Math.floor(n/4),l=n%4,u="\n sumValue += dot(values, segFilter);\n ";let c="";r%n>0&&(c=`\n if (inIdx < 0 || inIdx >= ${r}) {\n return initializationValue;\n }\n `);let d="";r%n>0&&(d=`\n if (inIdx < 0 || inIdx >= ${r}) {\n return -1.0;\n }\n `),this.userCode=`\n const float initializationValue = 0.0;\n\n float getValue(int batch, int inIdx) {\n ${c}\n return getX(batch, inIdx);\n }\n\n float getSegmentIdAtIndex(int inIdx) {\n ${d}\n return getSegmentIds(inIdx);\n }\n\n void main() {\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n int outIdx = coords[1];\n int inOffset = int(floor(float(outIdx) / float(\n ${s})) * float(${n}));\n int currentSeg = int(mod(float(outIdx), float(${s})));\n\n float sumValue = 0.0;\n\n for (int i = 0; i < ${a}; i += 4) {\n int inIdx = inOffset + i;\n vec4 values = vec4(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n getValue(batch, inIdx + 2),\n getValue(batch, inIdx + 3)\n );\n\n vec4 segFilter = vec4(\n int(getSegmentIdAtIndex(inIdx)) == currentSeg ? 1 : 0,\n int(getSegmentIdAtIndex(inIdx + 1)) == currentSeg ? 1 : 0,\n int(getSegmentIdAtIndex(inIdx + 2)) == currentSeg ? 1 : 0,\n int(getSegmentIdAtIndex(inIdx + 3)) == currentSeg ? 1 : 0\n );\n\n ${u}\n }\n\n int inIdx = inOffset + ${a};\n if (${1===l}) {\n vec4 values = vec4(\n getValue(batch, inIdx),\n initializationValue,\n initializationValue,\n initializationValue\n );\n\n int inIdxSeg = int(getSegmentIdAtIndex(inIdx));\n\n vec4 segFilter = vec4(\n int(getSegmentIdAtIndex(inIdx)) == currentSeg ? 1 : 0,\n 0,\n 0,\n 0\n );\n\n ${u}\n } else if (${2===l}) {\n vec4 values = vec4(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n initializationValue,\n initializationValue\n );\n\n vec4 segFilter = vec4(\n int(getSegmentIdAtIndex(inIdx)) == currentSeg ? 1 : 0,\n int(getSegmentIdAtIndex(inIdx + 1)) == currentSeg ? 1 : 0,\n 0,\n 0\n );\n\n ${u}\n } else if (${3===l}) {\n vec4 values = vec4(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n getValue(batch, inIdx + 2),\n initializationValue\n );\n\n vec4 segFilter = vec4(\n int(getSegmentIdAtIndex(inIdx)) == currentSeg ? 1 : 0,\n int(getSegmentIdAtIndex(inIdx + 1)) == currentSeg ? 1 : 0,\n int(getSegmentIdAtIndex(inIdx + 2)) == currentSeg ? 1 : 0,\n 0\n );\n\n ${u}\n }\n setOutput(sumValue);\n }\n `}}const Cwe={kernelName:p3.UnsortedSegmentSum,backendName:"webgl",kernelFunc: +class Nwe{constructor(e,t){this.variableNames=["x","segmentIds"];const n=e.windowSize,i=e.batchSize,r=e.inSize,s=e.numSegments,o=s*Math.ceil(r/n);this.outputShape=[i,o];const a=4*Math.floor(n/4),l=n%4,u="\n sumValue += dot(values, segFilter);\n ";let c="";r%n>0&&(c=`\n if (inIdx < 0 || inIdx >= ${r}) {\n return initializationValue;\n }\n `);let d="";r%n>0&&(d=`\n if (inIdx < 0 || inIdx >= ${r}) {\n return -1.0;\n }\n `),this.userCode=`\n const float initializationValue = 0.0;\n\n float getValue(int batch, int inIdx) {\n ${c}\n return getX(batch, inIdx);\n }\n\n float getSegmentIdAtIndex(int inIdx) {\n ${d}\n return getSegmentIds(inIdx);\n }\n\n void main() {\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n int outIdx = coords[1];\n int inOffset = int(floor(float(outIdx) / float(\n ${s})) * float(${n}));\n int currentSeg = int(mod(float(outIdx), float(${s})));\n\n float sumValue = 0.0;\n\n for (int i = 0; i < ${a}; i += 4) {\n int inIdx = inOffset + i;\n vec4 values = vec4(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n getValue(batch, inIdx + 2),\n getValue(batch, inIdx + 3)\n );\n\n vec4 segFilter = vec4(\n int(getSegmentIdAtIndex(inIdx)) == currentSeg ? 1 : 0,\n int(getSegmentIdAtIndex(inIdx + 1)) == currentSeg ? 1 : 0,\n int(getSegmentIdAtIndex(inIdx + 2)) == currentSeg ? 1 : 0,\n int(getSegmentIdAtIndex(inIdx + 3)) == currentSeg ? 1 : 0\n );\n\n ${u}\n }\n\n int inIdx = inOffset + ${a};\n if (${1===l}) {\n vec4 values = vec4(\n getValue(batch, inIdx),\n initializationValue,\n initializationValue,\n initializationValue\n );\n\n int inIdxSeg = int(getSegmentIdAtIndex(inIdx));\n\n vec4 segFilter = vec4(\n int(getSegmentIdAtIndex(inIdx)) == currentSeg ? 1 : 0,\n 0,\n 0,\n 0\n );\n\n ${u}\n } else if (${2===l}) {\n vec4 values = vec4(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n initializationValue,\n initializationValue\n );\n\n vec4 segFilter = vec4(\n int(getSegmentIdAtIndex(inIdx)) == currentSeg ? 1 : 0,\n int(getSegmentIdAtIndex(inIdx + 1)) == currentSeg ? 1 : 0,\n 0,\n 0\n );\n\n ${u}\n } else if (${3===l}) {\n vec4 values = vec4(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n getValue(batch, inIdx + 2),\n initializationValue\n );\n\n vec4 segFilter = vec4(\n int(getSegmentIdAtIndex(inIdx)) == currentSeg ? 1 : 0,\n int(getSegmentIdAtIndex(inIdx + 1)) == currentSeg ? 1 : 0,\n int(getSegmentIdAtIndex(inIdx + 2)) == currentSeg ? 1 : 0,\n 0\n );\n\n ${u}\n }\n setOutput(sumValue);\n }\n `}}const Dwe={kernelName:v3.UnsortedSegmentSum,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -18399,6 +18399,6 @@ class Swe{constructor(e,t){this.variableNames=["x","segmentIds"];const n=e.windo * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r,segmentIds:s}=t,{numSegments:o}=i,a=r.shape.length,l=[];let u=0;const c=p3.backend_util.getAxesPermutation([u],a);let d=r;null!=c&&(d=vye({inputs:{x:r},backend:n,attrs:{perm:c}}),l.push(d),u=p3.backend_util.getInnerMostAxes(1,a)[0]);const h=p3.backend_util.segment_util.computeOutShape(d.shape,u,o),p=p3.util.sizeFromShape([d.shape[u]]),f=uye({inputs:{x:d},backend:n,attrs:{shape:[-1,p]}});l.push(f);const m=(0,p3.sumOutType)(r.dtype),g=(e,t,i,r,s)=>{const o=e.shape[0],a=e.shape[1],u=p3.backend_util.segment_util.segOpComputeOptimalWindowSize(a,s),c=new Swe({windowSize:u,inSize:a,batchSize:o,numSegments:s},t),d=n.compileAndRun(c,[e,i],r);if(l.push(d),d.shape[1]===s)return d;const h=Kxe({backend:n,attrs:{start:0,stop:s,step:1,dtype:"float32"}}),p=gwe({inputs:{x:h},backend:n,attrs:{reps:[a/u]}});l.push(h),l.push(p);return g(d,t,p,r,s)},_=uye({inputs:{x:g(f,"unsortedSegmentSum",s,m,o)},backend:n,attrs:{shape:h}});let y=_;if(null!=c){l.push(_);const e=p3.backend_util.getUndoAxesPermutation(c);y=vye({inputs:{x:y},backend:n,attrs:{perm:e}})}return l.forEach(e=>n.disposeIntermediateTensorInfo(e)),y}},Owe=[xye,wye,Aye,Cye,kye,Dye,Fye,Lye,zye,jye,Gye,Wye,qye,Zye,Jye,nve,ive,ove,ave,lve,dve,_ve,yve,vve,bve,Ive,Cve,kve,G_e,Dve,zve,Kve,tbe,ibe,rbe,sbe,obe,lbe,cbe,hbe,ybe,vbe,bbe,xbe,Ibe,Cbe,Obe,kbe,Nbe,Dbe,Lbe,Pbe,$be,Vbe,jbe,Gbe,Xbe,Zbe,eTe,nTe,sTe,aTe,cTe,pTe,fTe,gTe,vTe,TTe,ETe,j_e,wTe,$ve,ATe,CTe,MTe,X_e,RTe,DTe,FTe,PTe,$Te,VTe,jTe,GTe,XTe,KTe,QTe,exe,txe,nxe,sxe,oxe,axe,lxe,uxe,dxe,fxe,gxe,Ixe,lye,Sxe,Oxe,kxe,Nxe,xve,Fxe,Bxe,$xe,jxe,Gxe,Z_e,Hxe,Wxe,Xxe,qxe,Zxe,wve,vxe,Jxe,tEe,iEe,cye,oEe,lEe,dEe,pEe,gEe,yEe,bEe,xEe,IEe,SEe,OEe,kEe,NEe,FEe,PEe,$Ee,gve,wxe,VEe,zEe,jEe,YEe,GEe,HEe,WEe,XEe,ZEe,JEe,nwe,iwe,rwe,owe,awe,lwe,uwe,xxe,yye,dwe,pwe,fwe,_we,xwe,wwe,bye,Iwe,Awe,Cwe,Pxe];for(const e of Owe)(0,p3.registerKernel)(e); +function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r,segmentIds:s}=t,{numSegments:o}=i,a=r.shape.length,l=[];let u=0;const c=v3.backend_util.getAxesPermutation([u],a);let d=r;null!=c&&(d=Iye({inputs:{x:r},backend:n,attrs:{perm:c}}),l.push(d),u=v3.backend_util.getInnerMostAxes(1,a)[0]);const h=v3.backend_util.segment_util.computeOutShape(d.shape,u,o),p=v3.util.sizeFromShape([d.shape[u]]),f=mye({inputs:{x:d},backend:n,attrs:{shape:[-1,p]}});l.push(f);const m=(0,v3.sumOutType)(r.dtype),g=(e,t,i,r,s)=>{const o=e.shape[0],a=e.shape[1],u=v3.backend_util.segment_util.segOpComputeOptimalWindowSize(a,s),c=new Nwe({windowSize:u,inSize:a,batchSize:o,numSegments:s},t),d=n.compileAndRun(c,[e,i],r);if(l.push(d),d.shape[1]===s)return d;const h=nEe({backend:n,attrs:{start:0,stop:s,step:1,dtype:"float32"}}),p=xwe({inputs:{x:h},backend:n,attrs:{reps:[a/u]}});l.push(h),l.push(p);return g(d,t,p,r,s)},_=mye({inputs:{x:g(f,"unsortedSegmentSum",s,m,o)},backend:n,attrs:{shape:h}});let y=_;if(null!=c){l.push(_);const e=v3.backend_util.getUndoAxesPermutation(c);y=Iye({inputs:{x:y},backend:n,attrs:{perm:e}})}return l.forEach(e=>n.disposeIntermediateTensorInfo(e)),y}},Fwe=[Cye,Mye,Rye,Dye,Pye,Uye,Vye,zye,Xye,qye,Zye,Jye,tve,ive,sve,lve,uve,hve,pve,fve,_ve,Eve,wve,Ive,Ave,kve,Dve,Pve,Z_e,Uve,Xve,nbe,abe,ube,cbe,dbe,hbe,fbe,gbe,ybe,wbe,Ibe,Abe,Cbe,kbe,Dbe,Fbe,Pbe,$be,Ube,zbe,jbe,Gbe,Wbe,qbe,Zbe,eTe,iTe,oTe,lTe,dTe,pTe,gTe,vTe,bTe,xTe,ITe,STe,OTe,q_e,MTe,Gve,RTe,DTe,LTe,eye,BTe,UTe,VTe,jTe,GTe,WTe,qTe,ZTe,exe,nxe,rxe,oxe,axe,lxe,dxe,hxe,pxe,fxe,mxe,_xe,bxe,xxe,kxe,fye,Nxe,Fxe,Pxe,$xe,Cve,Vxe,Yxe,Gxe,qxe,Zxe,iye,Qxe,Jxe,eEe,tEe,iEe,Mve,Ixe,sEe,aEe,uEe,gye,hEe,fEe,_Ee,vEe,xEe,wEe,AEe,CEe,kEe,NEe,FEe,PEe,$Ee,VEe,jEe,GEe,xve,Mxe,WEe,XEe,qEe,KEe,ZEe,QEe,JEe,ewe,iwe,swe,lwe,uwe,cwe,hwe,pwe,fwe,mwe,Cxe,wye,_we,vwe,bwe,Ewe,Cwe,Mwe,Aye,kwe,Rwe,Dwe,jxe];for(const e of Fwe)(0,v3.registerKernel)(e); /** @license See the LICENSE file. */ -const Mwe={"tfjs-core":p3.version_core,"tfjs-backend-cpu":ice,"tfjs-backend-webgl":F_e,"tfjs-data":Sae,"tfjs-layers":see,"tfjs-converter":goe,tfjs:"4.22.0"};var kwe=__webpack_require__(99778);const Rwe=Symbol("rowContextKey"),Nwe=oG({tag:{type:String,default:"div"},gutter:{type:Number,default:0},justify:{type:String,values:["start","center","end","space-around","space-between","space-evenly"],default:"start"},align:{type:String,values:["top","middle","bottom"]}}),Dwe=sS({name:"ElRow"});const Fwe=bG(UH(sS({...Dwe,props:Nwe,setup(e){const t=e,n=Zz("row"),i=tk(()=>t.gutter);XC(Rwe,{gutter:i});const r=tk(()=>{const e={};return t.gutter?(e.marginRight=e.marginLeft=`-${t.gutter/2}px`,e):e}),s=tk(()=>[n.b(),n.is(`justify-${t.justify}`,"start"!==t.justify),n.is(`align-${t.align}`,!!t.align)]);return(e,t)=>(iM(),cM(iC(e.tag),{class:xE(xI(s)),style:_E(xI(r))},{default:MA(()=>[uC(e.$slots,"default")]),_:3},8,["class","style"]))}}),[["__file","row.vue"]])),Lwe=oG({tag:{type:String,default:"div"},span:{type:Number,default:24},offset:{type:Number,default:0},pull:{type:Number,default:0},push:{type:Number,default:0},xs:{type:[Number,Object],default:()=>({})},sm:{type:[Number,Object],default:()=>({})},md:{type:[Number,Object],default:()=>({})},lg:{type:[Number,Object],default:()=>({})},xl:{type:[Number,Object],default:()=>({})}}),Pwe=sS({name:"ElCol"});const Bwe=bG(UH(sS({...Pwe,props:Lwe,setup(e){const t=e,{gutter:n}=qC(Rwe,{gutter:tk(()=>0)}),i=Zz("col"),r=tk(()=>{const e={};return n.value&&(e.paddingLeft=e.paddingRight=n.value/2+"px"),e}),s=tk(()=>{const e=[];["span","offset","pull","push"].forEach(n=>{const r=t[n];ej(r)&&("span"===n?e.push(i.b(`${t[n]}`)):r>0&&e.push(i.b(`${n}-${t[n]}`)))});return["xs","sm","md","lg","xl"].forEach(n=>{ej(t[n])?e.push(i.b(`${n}-${t[n]}`)):Wx(t[n])&&Object.entries(t[n]).forEach(([t,r])=>{e.push("span"!==t?i.b(`${n}-${t}-${r}`):i.b(`${n}-${r}`))})}),n.value&&e.push(i.is("guttered")),[i.b(),e]});return(e,t)=>(iM(),cM(iC(e.tag),{class:xE(xI(s)),style:_E(xI(r))},{default:MA(()=>[uC(e.$slots,"default")]),_:3},8,["class","style"]))}}),[["__file","col.vue"]])),$we={class:"vis-left-panel-inner-wrapper"},Uwe={class:"card-header"},Vwe={key:0,style:{margin:"auto"}},zwe={key:1,style:{margin:"auto"}},jwe=["src"],Ywe={__name:"ModelArea",emits:["shot"],setup(e,{expose:t,emit:n}){const i=n,r=qC("picList"),s=qC("shotList"),o=qC("states"),a=_I(r.value.map((e,t)=>({name:e.title,progress:0}))),l=["#FF6F61","#42A5F5","#66BB6A","#FFA726","#AB47BC"];let u,c,d=[];setInterval(async()=>{if(2!==o.value.isTraining)return;if(""!==p.value)return;i("shot");const e=s.value[s.value.length-1];if(!e||"data:,"===e)return void mW.error("未获取到有效样本");const t=new Image;t.src=e,await new Promise(e=>{t.onload=e});const n=p3.browser.fromPixels(t);let r=p3.image.resizeBilinear(n,[224,224]).expandDims(0).div(255),l=u.predict(r);const d=c.predict(l),h=await d.data();a.value=[...a.value.map((e,t)=>({...e,progress:Number((100*h[t]).toFixed(2))}))],n.dispose(),l.dispose(),d.dispose()},200);const h=_I(!1),p=_I(""),f=_I(""),m=_I("20%"),g=_I("20%");async function _(){if(c)try{await c.save(`downloads://${""==S.value?"my-model":S.value}`),mW.success("模型导出成功")}catch(e){mW.error(`模型导出失败: ${e.message}`)}else mW.error("模型尚未训练完成")}async function y(e){const t=new FileReader;return t.onload=async e=>{if(p.value=e.target.result,!u||!c)return mW.error("请先完成模型训练"),!1;const t=new window.Image;t.src=p.value,await new Promise(e=>t.onload=e);const n=p3.browser.fromPixels(t);let i=p3.image.resizeBilinear(n,[224,224]).expandDims(0).div(255),r=u.predict(i);const s=c.predict(r),o=await s.data();a.value=[...a.value.map((e,t)=>({...e,progress:Number((100*o[t]).toFixed(2))}))];const l=o.indexOf(Math.max(...o));f.value=a.value[l]?.name||"未知",n.dispose(),r.dispose(),s.dispose()},t.readAsDataURL(e),!1}function v(){p.value=""}let b=0,T=0,x=0,E=0;function w(e){if(0!==e.button)return;b=e.clientX,T=e.clientY;const t=document.getElementById("vis-left-panel-wrapper").style.top,n=document.getElementById("vis-left-panel-wrapper").style.right;x=t.endsWith("%")?window.innerHeight*Number.parseFloat(t)/100:Number.parseFloat(t),E=n.endsWith("%")?window.innerWidth*Number.parseFloat(n)/100:Number.parseFloat(n),document.addEventListener("mousemove",I),document.addEventListener("mouseup",A)}function I(e){const t=e.clientX-b,n=e.clientY-T;let i=x+n,r=E-t;i=Math.max(0,Math.min(window.innerHeight-100,i)),r=Math.max(0,Math.min(window.innerWidth-200,r)),m.value=`${i}px`,g.value=`${r}px`}function A(){document.removeEventListener("mousemove",I),document.removeEventListener("mouseup",A)}t({train:async function(){const e=document.getElementById("vis-left-panel");e&&(e.innerHTML="训练准备中……"),h.value=!0,console.log("正在加载Mobilenet……"),u=await foe(Ax.join(ze.Env.boardDirPath,"teachableModel/model.json")),console.log("Mobilenet加载完成。"),e&&(e.innerHTML="");const t=r.value.length;let n=null,i=null;c=kee(),c.add(gie({inputShape:[1280],units:128,activation:"relu"})),c.add(gie({units:t,activation:"softmax"})),c.compile({optimizer:p3.train.adam(.001),loss:"categoricalCrossentropy",metrics:["accuracy"]});for(let e=0;e{o.onload=e});const a=p3.browser.fromPixels(o),l=a.resizeBilinear([224,224]).toFloat().div(p3.scalar(127.5)).sub(p3.scalar(1)).expandDims(0);let c=u.predict(l);const d=p3.oneHot(p3.tensor1d([e]).toInt(),t);if(null==n)n=c.clone(),i=d.clone();else{const e=n;n=e.concat(c,0),e.dispose();const t=i;i=t.concat(d,0),t.dispose()}d.dispose(),a.dispose()}}d=[];const s=document.getElementById("vis-left-panel")||{name:"训练过程",tab:"训练"};await c.fit(n,i,{epochs:20,batchSize:16,shuffle:!0,validationSplit:.2,callbacks:kwe.show.fitCallbacks(s,["loss","acc","val_loss","val_acc","accuracy","val_accuracy"],{callbacks:["onEpochEnd"]})}),console.log("训练完成"),a.value=r.value.filter(e=>!0!==e.disabled).map((e,t)=>({name:e.title,progress:0})),console.log(a.value),o.value.isTraining=2}});const S=_I("");async function C(){if(c)try{await c.save(`indexeddb://${""==S.value?"my-model":S.value}`),mW.success("模型保存成功")}catch(e){mW.error(`模型保存失败: ${e.message}`)}else mW.error("模型尚未训练完成")}return(e,t)=>(iM(),uM("div",null,[kA(gM("div",{id:"vis-left-panel-wrapper",class:"vis-left-panel-wrapper",style:_E(`right: ${g.value}; top: ${m.value};`)},[gM("div",$we,[gM("div",{class:"vis-left-panel-title",style:{},onMousedown:w},[t[4]||(t[4]=gM("span",null," 训练过程可视化 ",-1)),_M(xI(SX),{size:"small",plain:"",onClick:t[0]||(t[0]=e=>h.value=!1)},{default:MA(()=>t[3]||(t[3]=[TM(" 隐藏 ")])),_:1})],32),t[5]||(t[5]=gM("div",{id:"vis-left-panel",class:"vis-left-panel"},"训练准备中……",-1))])],4),[[zk,h.value]]),2===xI(o).isTraining?(iM(),cM(xI(kX),{key:0,class:"model-area"},{header:MA(()=>[gM("div",Uwe,[t[8]||(t[8]=TM(" 模型 ")),h.value?EM("v-if",!0):(iM(),cM(xI(SX),{key:0,size:"small",style:{"margin-left":"10px"},type:"primary",plain:"",onClick:t[1]||(t[1]=e=>h.value=!0)},{default:MA(()=>t[6]||(t[6]=[TM(" 显示训练过程 ")])),_:1})),2===xI(o).isTraining?(iM(),cM(xI(SX),{key:1,size:"small",style:{"margin-left":"10px"},type:"success",plain:"",onClick:_},{default:MA(()=>t[7]||(t[7]=[TM(" 模型导出至本地 ")])),_:1})):EM("v-if",!0)])]),default:MA(()=>[_M(xI(Fwe),{class:"model-item",style:{"flex-direction":"column","align-items":"flex-center"}},{default:MA(()=>[_M(xI(Fwe),null,{default:MA(()=>[_M(xI(Bwe),{span:6,style:{display:"flex","align-items":"center","text-align":"right"}},{default:MA(()=>t[9]||(t[9]=[TM(" 名称: ")])),_:1}),_M(xI(Bwe),{span:12},{default:MA(()=>[_M(xI(Pq),{modelValue:S.value,"onUpdate:modelValue":t[2]||(t[2]=e=>S.value=e),placeholder:"请输入模型名称"},null,8,["modelValue"])]),_:1}),_M(xI(Bwe),{span:4,style:{display:"flex","align-items":"center"}},{default:MA(()=>[_M(xI(SX),{style:{margin:"auto 5px"},type:"primary",plain:"",size:"small",onClick:C},{default:MA(()=>t[10]||(t[10]=[TM(" 保存 ")])),_:1})]),_:1})]),_:1})]),_:1}),_M(xI(Fwe),{class:"model-item"},{default:MA(()=>t[11]||(t[11]=[gM("b",null,"输入",-1)])),_:1}),_M(xI(Fwe),{class:"model-item"},{default:MA(()=>[p.value?(iM(),uM("div",zwe,[t[16]||(t[16]=TM(" 下方上传图片 ")),t[17]||(t[17]=gM("br",null,null,-1)),_M(xI(SX),{size:"small",type:"success",plain:"",onClick:v},{default:MA(()=>t[14]||(t[14]=[TM(" 切换为上方拍摄内容 ")])),_:1}),_M(xI(O2),{"show-file-list":!1,accept:"image/*","before-upload":y},{default:MA(()=>[_M(xI(SX),{size:"small",type:"success"},{default:MA(()=>t[15]||(t[15]=[TM(" 重新上传一张 ")])),_:1})]),_:1}),gM("img",{src:p.value,alt:"用户上传图片",style:{"max-width":"100%","max-height":"150px","border-radius":"10px"}},null,8,jwe)])):(iM(),uM("div",Vwe,[t[13]||(t[13]=TM(" 上方拍摄内容 ")),_M(xI(O2),{"show-file-list":!1,accept:"image/*","before-upload":y},{default:MA(()=>[_M(xI(SX),{size:"small",type:"success"},{default:MA(()=>t[12]||(t[12]=[TM(" 切换为上传图片 ")])),_:1})]),_:1})]))]),_:1}),_M(xI(Fwe),{class:"model-item"},{default:MA(()=>t[18]||(t[18]=[gM("b",null,"输出",-1)])),_:1}),(iM(!0),uM(ZO,null,aC(a.value,(e,t)=>(iM(),cM(xI(Fwe),{key:`${e.name}-${t}`,class:"model-item"},{default:MA(()=>[_M(xI(Bwe),{span:6},{default:MA(()=>[TM($E(e.name),1)]),_:2},1024),_M(xI(Bwe),{span:18},{default:MA(()=>[_M(xI(VJ),{class:"progress","text-inside":!0,"stroke-width":20,percentage:e.progress,color:l[t%l.length],striped:"",format:e=>`${e}%`},null,8,["percentage","color","format"])]),_:2},1024)]),_:2},1024))),128))]),_:1})):EM("v-if",!0)]))}},Gwe=(0,d3.A)(Ywe,[["__scopeId","data-v-5abb0202"]]),Hwe=oG({trigger:_Z.trigger,triggerKeys:_Z.triggerKeys,placement:uJ.placement,disabled:_Z.disabled,visible:mZ.visible,transition:mZ.transition,popperOptions:uJ.popperOptions,tabindex:uJ.tabindex,content:mZ.content,popperStyle:mZ.popperStyle,popperClass:mZ.popperClass,enterable:{...mZ.enterable,default:!0},effect:{...mZ.effect,default:"light"},teleported:mZ.teleported,appendTo:mZ.appendTo,title:String,width:{type:[String,Number],default:150},offset:{type:Number,default:void 0},showAfter:{type:Number,default:0},hideAfter:{type:Number,default:200},autoClose:{type:Number,default:0},showArrow:{type:Boolean,default:!0},persistent:{type:Boolean,default:!0},"onUpdate:visible":{type:Function}}),Wwe={"update:visible":e=>Jz(e),"before-enter":()=>!0,"before-leave":()=>!0,"after-enter":()=>!0,"after-leave":()=>!0},Xwe=sS({name:"ElPopover"}),qwe=sS({...Xwe,props:Hwe,emits:Wwe,setup(e,{expose:t,emit:n}){const i=e,r=tk(()=>i["onUpdate:visible"]),s=Zz("popover"),o=_I(),a=tk(()=>{var e;return null==(e=xI(o))?void 0:e.popperRef}),l=tk(()=>[{width:VH(i.width)},i.popperStyle]),u=tk(()=>[s.b(),i.popperClass,{[s.m("plain")]:!!i.content}]),c=tk(()=>i.transition===`${s.namespace.value}-fade-in-linear`),d=()=>{n("before-enter")},h=()=>{n("before-leave")},p=()=>{n("after-enter")},f=()=>{n("update:visible",!1),n("after-leave")};return t({popperRef:a,hide:()=>{var e;null==(e=o.value)||e.hide()}}),(e,t)=>(iM(),cM(xI(kQ),SM({ref_key:"tooltipRef",ref:o},e.$attrs,{trigger:e.trigger,"trigger-keys":e.triggerKeys,placement:e.placement,disabled:e.disabled,visible:e.visible,transition:e.transition,"popper-options":e.popperOptions,tabindex:e.tabindex,content:e.content,offset:e.offset,"show-after":e.showAfter,"hide-after":e.hideAfter,"auto-close":e.autoClose,"show-arrow":e.showArrow,"aria-label":e.title,effect:e.effect,enterable:e.enterable,"popper-class":xI(u),"popper-style":xI(l),teleported:e.teleported,"append-to":e.appendTo,persistent:e.persistent,"gpu-acceleration":xI(c),"onUpdate:visible":xI(r),onBeforeShow:d,onBeforeHide:h,onShow:p,onHide:f}),{content:MA(()=>[e.title?(iM(),uM("div",{key:0,class:xE(xI(s).e("title")),role:"title"},$E(e.title),3)):EM("v-if",!0),uC(e.$slots,"default",{},()=>[TM($E(e.content),1)])]),default:MA(()=>[e.$slots.reference?uC(e.$slots,"reference",{key:0}):EM("v-if",!0)]),_:3},16,["trigger","trigger-keys","placement","disabled","visible","transition","popper-options","tabindex","content","offset","show-after","hide-after","auto-close","show-arrow","aria-label","effect","enterable","popper-class","popper-style","teleported","append-to","persistent","gpu-acceleration","onUpdate:visible"]))}});const Kwe=(e,t)=>{const n=t.arg||t.value,i=null==n?void 0:n.popperRef;i&&(i.triggerRef=e)};var Zwe,Qwe;const Jwe=bG(UH(qwe,[["__file","popover.vue"]]),{directive:(Qwe="popover",(Zwe={mounted(e,t){Kwe(e,t)},updated(e,t){Kwe(e,t)}}).install=e=>{e.directive(Qwe,Zwe)},Zwe)}),eIe=oG({type:{type:String,values:["primary","success","info","warning","danger",""],default:""},size:{type:String,values:aG,default:""},truncated:Boolean,lineClamp:{type:[String,Number]},tag:{type:String,default:"span"}}),tIe=sS({name:"ElText"}),nIe=sS({...tIe,props:eIe,setup(e){const t=e,n=_I(),i=qW(),r=Zz("text"),s=tk(()=>[r.b(),r.m(t.type),r.m(i.value),r.is("truncated",t.truncated),r.is("line-clamp",!Qz(t.lineClamp))]),o=()=>{var e,i,r,s,o,a,l;if(IC().title)return;let u=!1;const c=(null==(e=n.value)?void 0:e.textContent)||"";if(t.truncated){const e=null==(i=n.value)?void 0:i.offsetWidth,t=null==(r=n.value)?void 0:r.scrollWidth;e&&t&&t>e&&(u=!0)}else if(!Qz(t.lineClamp)){const e=null==(s=n.value)?void 0:s.offsetHeight,t=null==(o=n.value)?void 0:o.scrollHeight;e&&t&&t>e&&(u=!0)}u?null==(a=n.value)||a.setAttribute("title",c):null==(l=n.value)||l.removeAttribute("title")};return YS(o),HS(o),(e,t)=>(iM(),cM(iC(e.tag),{ref_key:"textRef",ref:n,class:xE(xI(s)),style:_E({"-webkit-line-clamp":e.lineClamp})},{default:MA(()=>[uC(e.$slots,"default")]),_:3},8,["class","style"]))}});const iIe=bG(UH(nIe,[["__file","text.vue"]])),rIe={__name:"TrainArea",emits:["train"],setup(e,{emit:t}){const n=t,i=qC("picList"),r=qC("states"),s=_I(!1),o=_I("待训练……");function a(){s.value&&(n("train"),r.value.isTraining=1)}return CO([i.value,()=>r.value.isTraining],()=>{s.value=function(){const e=Array.isArray(i.value)?i.value.filter(e=>!1===e.disabled):[];return 1!==r.value.isTraining&&e.length>1&&e.every(e=>Array.isArray(e.list)&&e.list.length>0)}(),0===r.value.isTraining?o.value="待训练……":1===r.value.isTraining?o.value="训练中……":2===r.value.isTraining&&(o.value="训练完成")},{immediate:!0}),(e,t)=>(iM(),cM(xI(kX),{class:"train-area"},{header:MA(()=>t[0]||(t[0]=[gM("div",{class:"card-header"}," 训练 ",-1)])),default:MA(()=>[_M(xI(Jwe),{class:"box-item",placement:"bottom",disabled:s.value},{reference:MA(()=>[_M(xI(SX),{disabled:!s.value,type:"primary",style:{"max-width":"100%"},onClick:a},{default:MA(()=>t[1]||(t[1]=[TM(" 训练模型 ")])),_:1},8,["disabled"])]),default:MA(()=>[_M(xI(WH),null,{default:MA(()=>[_M(xI(mH))]),_:1}),t[2]||(t[2]=TM(" 至少有两个类别,且每个类别都需有图像样本。 "))]),_:1},8,["disabled"]),t[3]||(t[3]=gM("br",null,null,-1)),_M(xI(iIe),null,{default:MA(()=>[TM($E(o.value),1)]),_:1})]),_:1}))}},sIe=(0,d3.A)(rIe,[["__scopeId","data-v-1deba862"]]),oIe={class:"main-splitter"},aIe={class:"class-area"},lIe={class:"add-class-content"},uIe={__name:"teachableModel",setup(e){const t=_I([]);XC("shotList",t);const n=_I([{title:"类别 1",list:[],disabled:!1},{title:"类别 2",list:[],disabled:!1}]);XC("picList",n);async function i(e,i){n.value[e].disabled?mW.error("该类别已被禁用"):i?n.value[e].list.push(i):(await a(),t.value[t.value.length-1]&&"data:,"!==t.value[t.value.length-1]?n.value[e].list.push(t.value[t.value.length-1]):mW.error("未获取到有效样本"))}function r(){n.value.push({title:`类别 ${n.value.length+1}`,list:[],disabled:!1})}XC("states",_I({isTraining:0}));const s=_I(!0),o=_I(null);async function a(){await(o.value?.captureShot())}const l=_I(null);async function u(){await l.value.train()}return(e,t)=>(iM(),uM("div",oIe,[_M(xI(PW),null,{default:MA(()=>[_M(xI(BW),{size:"70%",min:200},{default:MA(()=>[gM("div",aIe,[(iM(!0),uM(ZO,null,aC(n.value,(e,r)=>(iM(),cM(l3,{key:r,title:e.title,"pic-list":e.list,disabled:e.disabled,onAddSample:e=>i(r,e),onDeleteSample:e=>n.value[r].list=n.value[r].list.filter(t=>t!==e),onDeleteClass:e=>function(e){n.value.splice(e,1)}(r),onDisableClass:e=>function(e){n.value[e].disabled=!n.value[e].disabled}(r),onRenameClass:e=>function(e,t){n.value[e].title=t}(r,e),onClearSamples:e=>function(e){n.value[e].list=[]}(r)},{default:MA(()=>[_M(xI(SX),{type:"primary",size:"mini",onClick:e=>i(r)},{default:MA(()=>t[0]||(t[0]=[TM(" 添加样本 ")])),_:2},1032,["onClick"])]),_:2},1032,["title","pic-list","disabled","onAddSample","onDeleteSample","onDeleteClass","onDisableClass","onRenameClass","onClearSamples"]))),128)),_M(xI(kX),{class:"add-class-card",onClick:r},{default:MA(()=>[gM("div",lIe,[t[1]||(t[1]=TM(" 添加一个类别 ")),_M(xI(WH),null,{default:MA(()=>[_M(xI(zG))]),_:1})])]),_:1})])]),_:1}),_M(xI(BW),{min:200},{default:MA(()=>[_M(h3,{ref_key:"cameraBoxRef",ref:o},null,512),_M(Ak,{name:"fade-scale"},{default:MA(()=>[s.value?(iM(),cM(Gwe,{key:0,ref_key:"modelAreaRef",ref:l,onShot:a},null,512)):EM("v-if",!0)]),_:1}),_M(sIe,{onTrain:u})]),_:1})]),_:1})]))}},cIe=(0,d3.A)(uIe,[["__scopeId","data-v-02bafc86"]]),dIe={__name:"App",setup:e=>(e,t)=>(iM(),cM(xI(xG),null,{default:MA(()=>[_M(cIe)]),_:1}))};class hIe{static{ze.HTMLTemplate.add("html/statusbar/loader.html",new ze.HTMLTemplate('\r\n
\r\n
\r\n

{{d.msg.loading}}

\r\n
')),this.pythonShell=null,this.kernelLoaded=!1,this.$loader=Cx()(ze.HTMLTemplate.get("html/statusbar/loader.html").render({msg:{loading:Ve.Msg.PYTHON_PYODIDE_LOADING}})),this.statusBarImage=null,this.statusBarFileSystem=null,this.init=async function(){ze.app.getFooterBar().getContent().after(this.$loader);const e=Ax.relative(ze.Env.indexDirPath,ze.Env.boardDirPath),t=new sP({rootPath:Ax.join(e,"deps"),language:"python3"}),n=await t.kernelAvailable();if(!n)return;await n.init(),await n.loaded(),this.loader=t,this.kernel=n,this.statusBarImage=oP.init(),this.statusBarFileSystem=jz.init(),this.statusBarTool=Yz.init();eN(dIe).mount(this.statusBarTool.getContent()[0]),this.statusBarGame=Gz.init(),this.pythonShell=new hIe,this.pyodide=window.pyodide,this.interruptBuffer=new Uint8Array(new ArrayBuffer(1)),this.pyodide.setInterruptBuffer(this.interruptBuffer),this.kernelLoaded=!0,this.$loader.remove(),this.$loader&&this.$loader.remove&&this.$loader.remove(),this.$loader=null},this.run=async function(){if(!this.kernelLoaded)return;const e=ze.Workspace.getMain().getEditorsManager().getActive().getCode();return this.pythonShell.run(e)},this.stop=async function(){if(this.kernelLoaded)return this.pythonShell.stop()}}#C=null;#O=null;#M=null;#k={row:0,column:0};#R="";#N=null;#D=null;#F=!1;#L=!1;#P=null;#B=()=>this.#$();#U=[{name:"REPL-Enter",bindKey:"Enter",exec:e=>{if(e.getSession().selection.getCursor().row===this.#k.row){const e=this.#C.getEndPos();let t=this.#C.getValueRange(this.#k,e);t=t.replace(this.#R,""),this.#N?.(t),this.#N=null,this.#D=null,this.#C.addValue("\n"),this.#V()}return!1}},{name:"REPL-ChangeEditor",bindKey:"Delete|Ctrl-X|Backspace",exec:e=>{const t=e.getSession().selection.getCursor();return t.row{this.#L=!1,this.#C.addValue(`\n==${ze.Msg.Lang["shell.finish"]}==`),this.syncfs(!1).catch(ze.Debug.error)}),this.#P.addEventListener("eval.output",e=>{this.#C.addValue(e.content)}),this.#P.addEventListener("eval.error",()=>{this.#L=!1,this.#C.addValue(`\n==${ze.Msg.Lang["shell.finish"]}==`)}),this.#P.addEventListener("eval.input",e=>{const t=String(e?.content?.prompt);this.#C.addValue(t),this.#R=t,this.#N=e.resolve,this.#D=e.reject,this.#z()}),this.#P.addEventListener("eval.display",e=>{this.#M.changeTo("images"),this.#O.display(e)})}#$(){const e=this.#C.getEditor(),t=e.getSession().selection.getCursor();e.setReadOnly(t.row{window.pyodide.FS.syncfs(e,t)})}sleep(e){return new Promise(t=>setTimeout(t,e))}}const pIe={init:async function(){const e=ze.app.getNav();e.register({icon:"icon-play-circled",title:"",id:"python-run-btn",displayText:Ve.Msg.MSG.run,preconditionFn:()=>!0,callback:()=>{hIe.run().catch(ze.Debug.error)},scopeType:ze.Nav.Scope.LEFT,weight:4}),e.register({icon:"icon-cancel",title:"",id:"python-stop-btn",displayText:Ve.Msg.MSG.stop,preconditionFn:()=>!0,callback:()=>{hIe.stop().catch(ze.Debug.error)},scopeType:ze.Nav.Scope.LEFT,weight:5}),await hIe.init()}},fIe=pIe,mIe=new ze.Registry,gIe=function(e){let t={ok:!1,buffer:null,json:function(){const e=new TextDecoder("utf-8").decode(this.buffer);return JSON.parse(e)},arrayBuffer:function(){return this.buffer}};return mIe.hasKey(e)?(t.ok=!0,t.buffer=mIe.getItem(e),t):t},_Ie={modelsValue:{},loadGraphModel:async function(e){return await foe(e,{fromTFHub:!1,fetchFunc:(...e)=>gIe(e[0])})},loadLayersModel:async function(e){return await Cee(e,{fromTFHub:!1,fetchFunc:(...e)=>gIe(e[0])})},setModelsValue:function(e,t){mIe.hasKey(e)&&mIe.unregister(e),mIe.register(e,t),_Ie.modelsValue[e]=t}};window.tensorflow=_Ie,window.addEventListener("error",e=>e.error&&e.error.message&&e.error.message.includes("openOrClosedShadowRoot")?(console.warn("捕获到Blockly DOM操作错误,这通常是无害的:",e.error.message),e.preventDefault(),!1):e.error&&e.error.message&&(e.error.message.includes("DOM")||e.error.message.includes("Element")||e.error.message.includes("Node"))?(console.warn("捕获到DOM操作错误:",e.error.message),e.preventDefault(),!1):void 0),window.addEventListener("unhandledrejection",e=>{if(e.reason&&e.reason.message&&e.reason.message.includes("openOrClosedShadowRoot"))return console.warn("捕获到未处理的Promise拒绝(Blockly DOM错误):",e.reason.message),e.preventDefault(),!1});const yIe=console.error;console.error=function(...e){const t=e.join(" ");t.includes("openOrClosedShadowRoot")||t.includes("DOM")||t.includes("Element")||t.includes("Node")?console.warn("过滤的DOM错误:",...e):yIe.apply(console,e)};const vIe=(e,t)=>{try{if(e&&t&&e.appendChild)return e.appendChild(t)}catch(e){console.warn("安全DOM添加失败:",e.message)}return null},bIe=(e,t)=>{try{if(e&&t&&e.removeChild&&t.parentNode===e)return e.removeChild(t)}catch(e){console.warn("安全DOM移除失败:",e.message)}return null},TIe=(e,t)=>{try{if(e&&e.querySelector)return e.querySelector(t)}catch(e){console.warn("安全DOM查询失败:",e.message)}return null},xIe=e=>e&&e.parentNode&&document.contains(e),EIe={volume:100,effects:{pitch:0,pan:0},builtin:{Meow:"meow"},isRecording:!1,mediaRecorder:null,recordedChunks:[],recordedAudio:null,activeAudios:[],isStopped:!1,abortController:null,blockAllAudio:!1,audioHistory:[],soundQueue:[],isProcessingQueue:!1,currentlyPlaying:null,initAudioContext:()=>{if(!EIe.audioContext)try{EIe.audioContext=new(window.AudioContext||window.webkitAudioContext)}catch(e){console.error("Error initializing audio context:",e)}},createAudio:e=>{if(EIe.blockAllAudio||EIe.isStopped||EIe.abortController&&EIe.abortController.signal.aborted){return{play:()=>Promise.reject(new Error("Audio playback blocked")),pause:()=>{},currentTime:0,src:"",volume:1,playbackRate:1,onended:null,onerror:null,onloadstart:null,oncanplay:null,onplay:null,onpause:null,tagName:"AUDIO",addEventListener:()=>{},removeEventListener:()=>{},load:()=>{},duration:0,ended:!1,paused:!0,muted:!1,readyState:0,networkState:0,preload:"none"}}return new Audio(e)},play:async e=>{try{if(EIe.isStopped)return;if(EIe.abortController&&EIe.abortController.signal.aborted)return;if(EIe.blockAllAudio)return;if(EIe.soundQueue.length>0||EIe.isProcessingQueue)return EIe.soundQueue.push({name:e,resolve:()=>{},reject:()=>{}}),void EIe.processQueue();if(EIe.activeAudios.length>0&&(EIe.activeAudios.forEach(e=>{try{e&&"AUDIO"===e.tagName&&(e.pause(),e.currentTime=0,e.src="")}catch(e){console.warn("停止现有音频时出错:",e)}}),EIe.activeAudios=[]),e.startsWith("recording")&&EIe.builtin[e]){if(EIe.blockAllAudio||EIe.isStopped)return;const t=EIe.createAudio(EIe.builtin[e]);t.volume=EIe.volume/100;const n=EIe.effects.pitch,i=EIe.effects.pan;if(0===n&&0===i)return void t.play().catch(e=>{"AbortError"!==e.name&&console.error("Error playing recorded audio:",e)});if(EIe.initAudioContext(),!EIe.audioContext)return console.warn("音频上下文初始化失败,无法应用增强音效"),void t.play().catch(e=>{"AbortError"!==e.name&&console.error("Error playing recorded audio:",e)});try{const e=EIe.audioContext.createMediaElementSource(t),r=EIe.audioContext.createGain();if(0!==n){const t=EIe.audioContext.createBiquadFilter();t.type="peaking",t.frequency.setValueAtTime(1e3,EIe.audioContext.currentTime),t.Q.setValueAtTime(1,EIe.audioContext.currentTime);const i=Math.max(-20,Math.min(20,.8*n));t.gain.setValueAtTime(i,EIe.audioContext.currentTime),e.connect(t),t.connect(r)}else e.connect(r);if(0!==i){const e=EIe.audioContext.createStereoPanner(),t=Math.max(-1,Math.min(1,i/100*1.5));e.pan.setValueAtTime(t,EIe.audioContext.currentTime),r.connect(e),e.connect(EIe.audioContext.destination)}else r.connect(EIe.audioContext.destination);r.gain.setValueAtTime(EIe.volume/100,EIe.audioContext.currentTime)}catch(e){return console.warn("应用增强音效失败,使用默认播放:",e),void t.play().catch(e=>{"AbortError"!==e.name&&console.error("Error playing recorded audio:",e)})}return EIe.activeAudios.push(t),t.onended=()=>{const e=EIe.activeAudios.indexOf(t);e>-1&&EIe.activeAudios.splice(e,1)},void t.play().catch(e=>{"AbortError"!==e.name&&console.error("Error playing recorded audio:",e);const n=EIe.activeAudios.indexOf(t);n>-1&&EIe.activeAudios.splice(n,1)})}if("Meow"===e&&(EIe.initAudioContext(),EIe.audioContext)){const e=EIe.audioContext.createOscillator(),t=EIe.audioContext.createGain();let n=440;if(0!==EIe.effects.pitch&&(n*=Math.pow(2,EIe.effects.pitch/12)),e.frequency.setValueAtTime(n,EIe.audioContext.currentTime),e.type="sine",t.gain.setValueAtTime(EIe.volume/100,EIe.audioContext.currentTime),0!==EIe.effects.pan){const n=EIe.audioContext.createStereoPanner(),i=EIe.effects.pan/100;n.pan.setValueAtTime(i,EIe.audioContext.currentTime),e.connect(n),n.connect(t)}else e.connect(t);t.connect(EIe.audioContext.destination),e.start(),e.stop(EIe.audioContext.currentTime+.5)}}catch(e){console.error("Error in sound.play:",e)}},_playAudioInternal:async e=>new Promise((t,n)=>{try{if(EIe.isStopped||EIe.blockAllAudio)return void n(new Error("Playback blocked"));if(e.startsWith("recording")&&EIe.builtin[e]){const i=EIe.createAudio(EIe.builtin[e]);i.volume=EIe.volume/100;const r=EIe.effects.pitch,s=EIe.effects.pan;if((0!==r||0!==s)&&(EIe.initAudioContext(),EIe.audioContext))try{const e=EIe.audioContext.createMediaElementSource(i),t=EIe.audioContext.createGain();if(0!==r){const n=EIe.audioContext.createBiquadFilter();n.type="peaking",n.frequency.setValueAtTime(1e3,EIe.audioContext.currentTime),n.Q.setValueAtTime(1,EIe.audioContext.currentTime);const i=Math.max(-20,Math.min(20,.8*r));n.gain.setValueAtTime(i,EIe.audioContext.currentTime),e.connect(n),n.connect(t)}else e.connect(t);if(0!==s){const e=EIe.audioContext.createStereoPanner(),n=Math.max(-1,Math.min(1,s/100*1.5));e.pan.setValueAtTime(n,EIe.audioContext.currentTime),t.connect(e),e.connect(EIe.audioContext.destination)}else t.connect(EIe.audioContext.destination);t.gain.setValueAtTime(EIe.volume/100,EIe.audioContext.currentTime)}catch(e){console.warn("应用音效失败:",e)}i.onended=()=>{const e=EIe.activeAudios.indexOf(i);e>-1&&EIe.activeAudios.splice(e,1),t()},i.onerror=t=>{console.error(`音频播放失败: ${e}`,t);const r=EIe.activeAudios.indexOf(i);r>-1&&EIe.activeAudios.splice(r,1),n(t)},EIe.activeAudios.push(i),i.play().catch(e=>{"AbortError"===e.name?t():(console.error("播放音频失败:",e),n(e))})}else if("Meow"===e)if(EIe.initAudioContext(),EIe.audioContext){const e=EIe.audioContext.createOscillator(),n=EIe.audioContext.createGain();let i=440;if(0!==EIe.effects.pitch&&(i*=Math.pow(2,EIe.effects.pitch/12)),e.frequency.setValueAtTime(i,EIe.audioContext.currentTime),e.type="sine",n.gain.setValueAtTime(EIe.volume/100,EIe.audioContext.currentTime),0!==EIe.effects.pan){const t=EIe.audioContext.createStereoPanner(),i=EIe.effects.pan/100;t.pan.setValueAtTime(i,EIe.audioContext.currentTime),e.connect(t),t.connect(n)}else e.connect(n);n.connect(EIe.audioContext.destination),e.start(),e.stop(EIe.audioContext.currentTime+.5),setTimeout(()=>{t()},500)}else n(new Error("AudioContext not available"));else n(new Error(`Unknown sound: ${e}`))}catch(e){console.error("内部播放错误:",e),n(e)}}),processQueue:async()=>{if(!EIe.isProcessingQueue&&0!==EIe.soundQueue.length){for(EIe.isProcessingQueue=!0;EIe.soundQueue.length>0;){const e=EIe.soundQueue.shift();try{if("frequency"===e.type){const{frequency:t,duration:n,resolve:i}=e;EIe.currentlyPlaying={type:"frequency",frequency:t,startTime:Date.now()},await new Promise(e=>{if(EIe.initAudioContext(),EIe.audioContext){const i=EIe.audioContext.createOscillator(),r=EIe.audioContext.createGain();i.frequency.setValueAtTime(t,EIe.audioContext.currentTime),i.type="sine";const s=EIe.effects.pitch;0!==s&&i.frequency.setValueAtTime(t*Math.pow(2,s/12),EIe.audioContext.currentTime),r.gain.setValueAtTime(EIe.volume/100,EIe.audioContext.currentTime),i.connect(r),r.connect(EIe.audioContext.destination),i.onended=()=>{EIe.currentlyPlaying=null,e()},i.start(),i.stop(EIe.audioContext.currentTime+n/1e3)}else e()}),EIe.currentlyPlaying=null,i()}else{const{name:t,resolve:n}=e;EIe.currentlyPlaying={name:t,startTime:Date.now()},await EIe._playAudioInternal(t),EIe.currentlyPlaying=null,n()}}catch(t){console.error("队列播放失败:",t),EIe.currentlyPlaying=null,e.reject&&e.reject(t)}}EIe.isProcessingQueue=!1}},play_blocking:e=>new Promise((t,n)=>{EIe.soundQueue.push({name:e,resolve:t,reject:n}),EIe.processQueue()}),stop_all:()=>{try{if(EIe.isStopped=!0,EIe.blockAllAudio=!0,EIe.soundQueue.length>0&&(EIe.soundQueue.forEach(({reject:e})=>{e(new Error("Playback stopped"))}),EIe.soundQueue=[]),EIe.isProcessingQueue=!1,EIe.currentlyPlaying=null,EIe.abortController&&EIe.abortController.abort(),EIe.abortController=new AbortController,EIe.activeAudios.length>0&&(EIe.activeAudios.forEach(e=>{try{e&&"AUDIO"===e.tagName&&(e.pause(),e.currentTime=0,e.src="",e.load(),e.onended=null,e.onerror=null,e.onloadstart=null,e.oncanplay=null,e.onplay=null,e.onpause=null)}catch(e){console.warn("停止音频时出错:",e)}}),EIe.activeAudios=[]),EIe.audioContext)try{EIe.audioContext.close(),EIe.audioContext=null}catch(e){console.warn("关闭音频上下文时出错:",e)}EIe.effects.pitch=0,EIe.effects.pan=0;const e=document.querySelectorAll("audio");e.length>0&&e.forEach(e=>{try{e.pause(),e.currentTime=0,e.src=""}catch(e){console.warn("停止页面音频元素时出错:",e)}}),setTimeout(()=>{EIe.isStopped=!1,EIe.blockAllAudio=!1},100)}catch(e){console.error("Error in sound.stop_all:",e)}},adjust_volume:e=>{const t=Math.max(0,Math.min(100,EIe.volume+e));EIe.volume=t},set_volume:e=>{EIe.volume=Math.max(0,Math.min(100,e))},get_volume:()=>EIe.volume,noteFrequencies:{NOTE_B3:247,NOTE_C4:262,NOTE_D4:294,NOTE_E4:330,NOTE_F4:349,NOTE_G4:392,NOTE_A4:440,NOTE_B4:494,NOTE_C5:523,NOTE_D5:587,NOTE_E5:659,NOTE_F5:698,NOTE_G5:784},play_frequency:(e,t=1e3)=>{try{if(EIe.initAudioContext(),EIe.audioContext){const n=EIe.audioContext.createOscillator(),i=EIe.audioContext.createGain();n.frequency.setValueAtTime(e,EIe.audioContext.currentTime),n.type="sine";const r=EIe.effects.pitch;0!==r&&n.frequency.setValueAtTime(e*Math.pow(2,r/12),EIe.audioContext.currentTime),i.gain.setValueAtTime(EIe.volume/100,EIe.audioContext.currentTime),n.connect(i),i.connect(EIe.audioContext.destination),n.start(),n.stop(EIe.audioContext.currentTime+t/1e3),console.log(`播放频率: ${e}Hz, 持续时间: ${t}ms, 音量: ${EIe.volume}%`)}}catch(e){console.error("播放频率声音失败:",e)}},play_frequency_continuous:e=>{try{if(EIe.initAudioContext(),EIe.audioContext){const t=EIe.audioContext.createOscillator(),n=EIe.audioContext.createGain();t.frequency.setValueAtTime(e,EIe.audioContext.currentTime),t.type="sine";const i=EIe.effects.pitch;0!==i&&t.frequency.setValueAtTime(e*Math.pow(2,i/12),EIe.audioContext.currentTime),n.gain.setValueAtTime(EIe.volume/100,EIe.audioContext.currentTime),t.connect(n),n.connect(EIe.audioContext.destination),t.start(),t.stop(EIe.audioContext.currentTime+2),console.log(`播放频率(持续): ${e}Hz, 无持续时间限制, 音量: ${EIe.volume}%`)}}catch(e){console.error("播放频率声音失败:",e)}},play_frequency_blocking:(e,t=1e3)=>(console.log(`=== 🔒 阻塞播放频率(加入队列): ${e}Hz, ${t}ms ===`),new Promise((n,i)=>{const r={type:"frequency",frequency:e,duration:t,resolve:n,reject:i};EIe.soundQueue.push(r),console.log(`✅ 频率已加入声音队列,当前队列长度: ${EIe.soundQueue.length}`),EIe.processQueue()})),play_frequency_continuous_blocking:e=>(console.log(`=== 🔒 阻塞播放频率(持续,加入队列): ${e}Hz ===`),new Promise((t,n)=>{const i={type:"frequency",frequency:e,duration:2e3,resolve:t,reject:n};EIe.soundQueue.push(i),console.log(`✅ 频率(持续)已加入声音队列,当前队列长度: ${EIe.soundQueue.length}`),EIe.processQueue()})),play_note_list:e=>{try{const t={DADADADUM:[{note:"NOTE_D4",duration:500},{note:"NOTE_A4",duration:500},{note:"NOTE_D4",duration:500},{note:"NOTE_A4",duration:500},{note:"NOTE_D4",duration:500},{note:"NOTE_A4",duration:500},{note:"NOTE_D4",duration:500},{note:"NOTE_A4",duration:500}],BIRTHDAY:[{note:"NOTE_C4",duration:400},{note:"NOTE_C4",duration:400},{note:"NOTE_D4",duration:800},{note:"NOTE_C4",duration:800},{note:"NOTE_F4",duration:800},{note:"NOTE_E4",duration:1600}],BA_DING:[{note:"NOTE_C5",duration:200},{note:"NOTE_E5",duration:200},{note:"NOTE_G5",duration:400}],JUMP_UP:[{note:"NOTE_C5",duration:100},{note:"NOTE_E5",duration:100},{note:"NOTE_G5",duration:100}],JUMP_DOWN:[{note:"NOTE_G5",duration:100},{note:"NOTE_E5",duration:100},{note:"NOTE_C5",duration:100}],POWER_UP:[{note:"NOTE_C4",duration:150},{note:"NOTE_E4",duration:150},{note:"NOTE_G4",duration:150},{note:"NOTE_C5",duration:300}],POWER_DOWN:[{note:"NOTE_C5",duration:150},{note:"NOTE_G4",duration:150},{note:"NOTE_E4",duration:150},{note:"NOTE_C4",duration:300}]}[e];if(t){let e=0;t.forEach(t=>{const n=EIe.noteFrequencies[t.note]||440,i=t.duration;setTimeout(()=>{EIe.play_frequency(n,i)},e),e+=i})}else console.warn(`未知的音符列表: ${e}`)}catch(e){console.error("播放音符列表失败:",e)}},play_note_list_blocking:e=>new Promise((t,n)=>{(async()=>{try{const i={DADADADUM:[{note:"NOTE_D4",duration:500},{note:"NOTE_A4",duration:500},{note:"NOTE_D4",duration:500},{note:"NOTE_A4",duration:500},{note:"NOTE_D4",duration:500},{note:"NOTE_A4",duration:500},{note:"NOTE_D4",duration:500},{note:"NOTE_A4",duration:500}],BIRTHDAY:[{note:"NOTE_C4",duration:400},{note:"NOTE_C4",duration:400},{note:"NOTE_D4",duration:800},{note:"NOTE_C4",duration:800},{note:"NOTE_F4",duration:800},{note:"NOTE_E4",duration:1600}],BA_DING:[{note:"NOTE_C5",duration:200},{note:"NOTE_E5",duration:200},{note:"NOTE_G5",duration:400}],JUMP_UP:[{note:"NOTE_C5",duration:100},{note:"NOTE_E5",duration:100},{note:"NOTE_G5",duration:100}],JUMP_DOWN:[{note:"NOTE_G5",duration:100},{note:"NOTE_E5",duration:100},{note:"NOTE_C5",duration:100}],POWER_UP:[{note:"NOTE_C4",duration:150},{note:"NOTE_E4",duration:150},{note:"NOTE_G4",duration:150},{note:"NOTE_C5",duration:300}],POWER_DOWN:[{note:"NOTE_C5",duration:150},{note:"NOTE_G4",duration:150},{note:"NOTE_E4",duration:150},{note:"NOTE_C4",duration:300}]}[e];if(i){for(const e of i){const t=EIe.noteFrequencies[e.note]||440;await EIe.play_frequency_blocking(t,e.duration)}t()}else console.warn(`未知的音符列表: ${e}`),n(new Error(`未知的音符列表: ${e}`))}catch(e){console.error("播放音符列表失败:",e),n(e)}})()}),adjust_effect:(e,t)=>{"pitch"===e?EIe.effects.pitch=Math.max(-24,Math.min(24,EIe.effects.pitch+t)):"pan"===e&&(EIe.effects.pan=Math.max(-100,Math.min(100,EIe.effects.pan+t)))},set_effect:(e,t)=>{"pitch"===e?EIe.effects.pitch=Math.max(-24,Math.min(24,t)):"pan"===e&&(EIe.effects.pan=Math.max(-100,Math.min(100,t)))},clear_effects:()=>{EIe.effects.pitch=0,EIe.effects.pan=0},record:()=>{if(!EIe.isRecording)try{navigator.mediaDevices.getUserMedia({audio:!0}).then(e=>{EIe.mediaRecorder=new MediaRecorder(e),EIe.recordedChunks=[],EIe.mediaRecorder.ondataavailable=e=>{e.data.size>0&&EIe.recordedChunks.push(e.data)},EIe.mediaRecorder.onstart=()=>{EIe.isRecording=!0},EIe.mediaRecorder.onstop=()=>{EIe.isRecording=!1;const t=new Blob(EIe.recordedChunks,{type:"audio/wav"});EIe.recordedAudio=URL.createObjectURL(t),e.getTracks().forEach(e=>{e.stop()}),EIe.showPlaybackInterface(t)},EIe.mediaRecorder.onerror=e=>{console.error("MediaRecorder 错误:",e.error),EIe.isRecording=!1},EIe.mediaRecorder.start(100),EIe.showRecordInterface()}).catch(e=>{console.error("获取麦克风权限失败:",e),alert("无法访问麦克风,请检查权限设置。错误: "+e.message)})}catch(e){console.error("录制功能初始化失败:",e),alert("录制功能初始化失败: "+e.message)}},showRecordInterface:()=>{const e=document.createElement("div");e.id="recordModal",e.style.cssText="\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background: rgba(0, 0, 0, 0.5);\n display: flex;\n justify-content: center;\n align-items: center;\n z-index: 10000;\n ";const t=document.createElement("div");t.style.cssText="\n background: white;\n border-radius: 10px;\n padding: 20px;\n text-align: center;\n min-width: 300px;\n box-shadow: 0 4px 20px rgba(0,0,0,0.3);\n ",t.innerHTML='\n

录制声音

\n
\n
\n
\n
\n
\n \n
\n
正在录制...
\n ',e.appendChild(t);try{vIe(document.body,e)}catch(e){return void console.error("添加录制界面到DOM失败:",e)}e.addEventListener("click",e=>{if("stopRecord"===e.target.id)try{EIe.mediaRecorder&&EIe.isRecording?EIe.mediaRecorder.stop():console.warn("MediaRecorder 不存在或未在录制状态")}catch(e){console.error("停止录制时出错:",e),alert("停止录制时出错: "+e.message)}});const n=e.querySelector("#waveformBars");if(n){for(let e=0;e<20;e++){const t=document.createElement("div");t.style.cssText=`\n position: absolute;\n left: ${10*e}px;\n bottom: 0;\n width: 8px;\n height: 20px;\n background: #4a90e2;\n border-radius: 2px;\n transition: height 0.1s ease;\n `,n.appendChild(t)}const t=setInterval(()=>{if(EIe.isRecording&&e.parentNode){const e=n.children;for(let t=0;t{EIe.isRecording&&e.parentNode?(i=60*Math.random()+40,r.style.height=i+"%",s.textContent=`正在录制... 音量: ${Math.round(i)}%`,r.style.opacity=.8+i/100*.2):(clearInterval(t),s&&e.parentNode&&(s.textContent="录制完成",s.style.color="#4CAF50"),r&&e.parentNode&&(r.style.height="100%",r.style.background="linear-gradient(to top, #4CAF50, #4CAF50)"))},200);e.volumeInterval=t}else console.error("找不到音量计或状态显示元素");const o=e=>{"Space"===e.code&&EIe.isRecording&&(e.preventDefault(),EIe.mediaRecorder&&EIe.mediaRecorder.stop())};document.addEventListener("keydown",o),e.keyHandler=o},showPlaybackInterface:e=>{const t=document.getElementById("recordModal");if(t){t.volumeInterval&&clearInterval(t.volumeInterval),t.waveformInterval&&clearInterval(t.waveformInterval),t.keyHandler&&document.removeEventListener("keydown",t.keyHandler);try{xIe(t)&&bIe(document.body,t)}catch(e){console.warn("移除录制界面时出错:",e)}}const n=document.createElement("div");n.id="playbackModal",n.style.cssText="\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background: rgba(0, 0, 0, 0.5);\n display: flex;\n justify-content: center;\n align-items: center;\n z-index: 10000;\n ";const i=document.createElement("div");i.style.cssText="\n background: white;\n border-radius: 10px;\n padding: 20px;\n text-align: center;\n min-width: 350px;\n box-shadow: 0 4px 20px rgba(0,0,0,0.3);\n ",i.innerHTML='\n

录音完成

\n
\n
\n
\n
\n \n
\n
\n \n \n
\n ',n.appendChild(i);try{vIe(document.body,n)}catch(e){return void console.error("添加播放界面到DOM失败:",e)}const r=n.querySelector("#playRecording");r&&(r.onclick=()=>{try{EIe.createAudio(EIe.recordedAudio).play().catch(e=>{console.error("播放录音失败:",e),alert("播放录音失败: "+e.message)});const e=n.querySelector("#waveformLine");e&&(e.style.background="#FF5722",setTimeout(()=>{e.parentNode&&(e.style.background="#4a90e2")},1e3))}catch(e){console.error("播放录音时出错:",e),alert("播放录音时出错: "+e.message)}});const s=n.querySelector("#reRecord");s&&(s.onclick=()=>{try{xIe(n)&&bIe(document.body,n),EIe.record()}catch(e){console.error("重新录制时出错:",e),alert("重新录制时出错: "+e.message)}});const o=n.querySelector("#saveRecording");o&&(o.onclick=()=>{try{EIe.saveRecording(e),xIe(n)&&bIe(document.body,n)}catch(e){console.error("添加到列表时出错:",e),alert("添加到列表时出错: "+e.message)}}),EIe.createWaveformDisplay(e,n)},createWaveformDisplay:async(e,t)=>{try{if(!t||!t.parentNode)return void console.warn("波形显示容器不存在或已被移除");const n=await e.arrayBuffer(),i=new(window.AudioContext||window.webkitAudioContext),r=(await i.decodeAudioData(n)).getChannelData(0),s=t.querySelector("#playbackWaveform");if(s&&s.parentNode){s.innerHTML="";const e=100,t=Math.floor(r.length/e);for(let n=0;n{try{const t=`recording${Object.keys(EIe.builtin).filter(e=>e.startsWith("recording")).length+1}`,n=e?URL.createObjectURL(e):EIe.recordedAudio;if(!n)throw new Error("录音数据不存在");EIe.builtin[t]=n,alert(`录音已保存为: ${t}`);const i=document.getElementById("playbackModal");if(xIe(i)){const e=TIe(i,"#playRecording");e&&(e.innerHTML=` 播放 ${t}`)}}catch(e){console.error("保存录音失败:",e),alert("保存录音失败: "+e.message)}}},wIe=EIe,IIe=window.Audio;if(window.Audio=function(e){if(EIe.blockAllAudio||EIe.isStopped||EIe.abortController&&EIe.abortController.signal.aborted){return{play:()=>Promise.reject(new Error("Audio playback blocked globally")),pause:()=>{},currentTime:0,src:"",volume:1,playbackRate:1,onended:null,onerror:null,onloadstart:null,oncanplay:null,onplay:null,onpause:null,tagName:"AUDIO",addEventListener:()=>{},removeEventListener:()=>{},load:()=>{},duration:0,ended:!1,paused:!0,muted:!1,readyState:0,networkState:0,preload:"none"}}return new IIe(e)},window.Audio.original=IIe,"undefined"!=typeof window){const e=console.error;console.error=function(...t){const n=t.join(" ");n.includes("sound")&&(n.includes("no-unused-vars")||n.includes("no-trailing-spaces")||n.includes("new-cap"))?console.warn("过滤的sound模块ESLint错误:",...t):e.apply(console,t)}}let AIe=!1;function SIe(e){if(!e)return!1;if("PythonError"===e.name||"KeyboardInterrupt"===e.name){const t=e.message||String(e);return t.includes("KeyboardInterrupt")||t.includes("interrupted")}return!1}function CIe(){if(AIe)return!1;if(window.pyodide&&window.pyodide.globals)try{AIe=!0;const e={play:e=>EIe.play(e),play_blocking:e=>EIe.play_blocking(e),stop_all:()=>EIe.stop_all(),adjust_volume:e=>EIe.adjust_volume(e),set_volume:e=>EIe.set_volume(e),get_volume:()=>EIe.get_volume(),adjust_effect:(e,t)=>EIe.adjust_effect(e,t),set_effect:(e,t)=>EIe.set_effect(e,t),clear_effects:()=>EIe.clear_effects(),play_frequency:(e,t)=>(console.log(`Python调用: sound.play_frequency(${e}, ${t})`),EIe.soundQueue.length>0||EIe.isProcessingQueue?EIe.play_frequency_blocking(e,t):EIe.play_frequency(e,t)),play_frequency_no_duration:e=>(console.log(`Python调用: sound.play_frequency_no_duration(${e})`),EIe.soundQueue.length>0||EIe.isProcessingQueue?EIe.play_frequency_continuous_blocking(e):EIe.play_frequency_continuous(e)),play_frequency_blocking:(e,t)=>(console.log(`Python调用: sound.play_frequency_blocking(${e}, ${t})`),EIe.play_frequency_blocking(e,t)),play_frequency_continuous:e=>(console.log(`Python调用: sound.play_frequency_continuous(${e})`),EIe.play_frequency_continuous(e)),play_frequency_continuous_blocking:e=>(console.log(`Python调用: sound.play_frequency_continuous_blocking(${e})`),EIe.play_frequency_continuous_blocking(e)),play_note_list:e=>EIe.play_note_list(e),play_note_list_blocking:e=>EIe.play_note_list_blocking(e),record:()=>EIe.record(),volume:EIe.volume,effects:EIe.effects};window.pyodide.globals.set("sound",e);const t=new(0,window.pyodide.pyimport("types").ModuleType)("sound");Object.keys(e).forEach(n=>{e[n],t[n]=e[n]});try{window.pyodide.runPython('\nimport sys\nsys.modules[\'sound\'] = sound\n\n# 创建同步版本的play_blocking包装函数\nimport asyncio\nfrom js import Promise\n\n# 保存原始的play_blocking(返回Promise的版本)\n_original_play_blocking = sound.play_blocking\n\ndef _sync_play_blocking(name):\n """同步版本的play_blocking,会等待声音播放完成"""\n promise = _original_play_blocking(name)\n # 使用Pyodide的Promise支持\n # 在Pyodide中,可以直接等待JS Promise\n import pyodide\n if hasattr(pyodide, \'ffi\') and hasattr(pyodide.ffi, \'run_sync\'):\n # Pyodide 0.21+\n try:\n return pyodide.ffi.run_sync(promise)\n except Exception:\n return None\n else:\n # 降级方案:使用asyncio\n try:\n loop = asyncio.get_event_loop()\n except RuntimeError:\n loop = asyncio.new_event_loop()\n asyncio.set_event_loop(loop)\n\n # 将JS Promise转换为Python awaitable\n async def wait_promise():\n try:\n return await promise\n except Exception:\n return None\n \n try:\n return loop.run_until_complete(wait_promise())\n except Exception:\n return None\n\n# 替换sound.play_blocking为同步版本\nsound.play_blocking = _sync_play_blocking\n\n# 创建同步版本的play_frequency包装函数\n_original_play_frequency = sound.play_frequency\n\ndef _sync_play_frequency(frequency, duration):\n """同步版本的play_frequency,会自动判断是否需要阻塞"""\n promise = _original_play_frequency(frequency, duration)\n # 使用Pyodide的Promise支持\n import pyodide\n if hasattr(pyodide, \'ffi\') and hasattr(pyodide.ffi, \'run_sync\'):\n try:\n return pyodide.ffi.run_sync(promise)\n except Exception:\n return None\n else:\n import asyncio\n try:\n loop = asyncio.get_event_loop()\n except RuntimeError:\n loop = asyncio.new_event_loop()\n asyncio.set_event_loop(loop)\n\n async def wait_promise():\n try:\n return await promise\n except Exception:\n return None\n\n try:\n return loop.run_until_complete(wait_promise())\n except Exception:\n return None\n\n# 创建同步版本的play_frequency_no_duration包装函数\n_original_play_frequency_no_duration = sound.play_frequency_no_duration\n\ndef _sync_play_frequency_no_duration(frequency):\n """同步版本的play_frequency_no_duration,会自动判断是否需要阻塞"""\n promise = _original_play_frequency_no_duration(frequency)\n # 使用Pyodide的Promise支持\n import pyodide\n if hasattr(pyodide, \'ffi\') and hasattr(pyodide.ffi, \'run_sync\'):\n try:\n return pyodide.ffi.run_sync(promise)\n except Exception:\n return None\n else:\n import asyncio\n try:\n loop = asyncio.get_event_loop()\n except RuntimeError:\n loop = asyncio.new_event_loop()\n asyncio.set_event_loop(loop)\n\n async def wait_promise():\n try:\n return await promise\n except Exception:\n return None\n\n try:\n return loop.run_until_complete(wait_promise())\n except Exception:\n return None\n\n# 替换为同步版本\nsound.play_frequency = _sync_play_frequency\nsound.play_frequency_no_duration = _sync_play_frequency_no_duration\n\n# 创建同步版本的play_frequency_continuous_blocking包装函数\n_original_play_frequency_continuous_blocking = sound.play_frequency_continuous_blocking\n\ndef _sync_play_frequency_continuous_blocking(frequency):\n """同步版本的play_frequency_continuous_blocking,会等待频率播放完成"""\n promise = _original_play_frequency_continuous_blocking(frequency)\n # 使用Pyodide的Promise支持\n import pyodide\n if hasattr(pyodide, \'ffi\') and hasattr(pyodide.ffi, \'run_sync\'):\n return pyodide.ffi.run_sync(promise)\n else:\n import asyncio\n try:\n loop = asyncio.get_event_loop()\n except RuntimeError:\n loop = asyncio.new_event_loop()\n asyncio.set_event_loop(loop)\n\n async def wait_promise():\n return await promise\n\n return loop.run_until_complete(wait_promise())\n\n# 替换为同步版本\nsound.play_frequency_continuous_blocking = _sync_play_frequency_continuous_blocking\n\n# 创建同步版本的play_frequency_blocking包装函数\n_original_play_frequency_blocking = sound.play_frequency_blocking\n\ndef _sync_play_frequency_blocking(frequency, duration):\n """同步版本的play_frequency_blocking,会等待频率播放完成"""\n promise = _original_play_frequency_blocking(frequency, duration)\n # 使用Pyodide的Promise支持\n import pyodide\n if hasattr(pyodide, \'ffi\') and hasattr(pyodide.ffi, \'run_sync\'):\n try:\n return pyodide.ffi.run_sync(promise)\n except Exception:\n return None\n else:\n import asyncio\n try:\n loop = asyncio.get_event_loop()\n except RuntimeError:\n loop = asyncio.new_event_loop()\n asyncio.set_event_loop(loop)\n\n async def wait_promise():\n try:\n return await promise\n except Exception:\n return None\n\n try:\n return loop.run_until_complete(wait_promise())\n except Exception:\n return None\n\n# 创建同步版本的play_note_list_blocking包装函数\n_original_play_note_list_blocking = sound.play_note_list_blocking\n\ndef _sync_play_note_list_blocking(note_list):\n """同步版本的play_note_list_blocking,会等待音符列表播放完成"""\n promise = _original_play_note_list_blocking(note_list)\n # 使用Pyodide的Promise支持\n import pyodide\n if hasattr(pyodide, \'ffi\') and hasattr(pyodide.ffi, \'run_sync\'):\n try:\n return pyodide.ffi.run_sync(promise)\n except Exception:\n return None\n else:\n import asyncio\n try:\n loop = asyncio.get_event_loop()\n except RuntimeError:\n loop = asyncio.new_event_loop()\n asyncio.set_event_loop(loop)\n\n async def wait_promise():\n try:\n return await promise\n except Exception:\n return None\n\n try:\n return loop.run_until_complete(wait_promise())\n except Exception:\n return None\n\n# 替换为同步版本\nsound.play_frequency_blocking = _sync_play_frequency_blocking\nsound.play_note_list_blocking = _sync_play_note_list_blocking\n ')}catch(e){if(SIe(e))return AIe=!1,!1;throw e}return window.pyodide.globals.get("sound")?(AIe=!1,!0):(AIe=!1,console.error("Sound对象注入失败:验证时未找到对象"),!1)}catch(e){return AIe=!1,SIe(e)?!1:(console.error("注入sound对象到Python环境失败:",e),!1)}return!1}function OIe(){!function(){const e=Element.prototype.remove;if(Element.prototype.remove=function(){if(this)if("function"==typeof this.remove)try{return e.call(this)}catch(e){console.warn("remove()调用失败,已安全处理:",e)}else console.warn("对象没有remove方法,已安全忽略");else console.warn("尝试在null对象上调用remove(),已安全忽略")},window.$&&window.$.fn&&window.$.fn.remove){const e=window.$.fn.remove;window.$.fn.remove=function(){if(!this||0===this.length)return console.warn("尝试在空的jQuery对象上调用remove(),已安全忽略"),this;try{return e.call(this)}catch(e){return console.warn("jQuery remove()调用失败,已安全处理:",e),this}}}}(),function(){if(CIe())return;const e=setInterval(()=>{CIe()&&clearInterval(e)},100);setTimeout(()=>{clearInterval(e)},1e4)}()}function MIe(){if(window.pyodide&&window.pyodide.globals)try{window.pyodide.globals.get("sound")||CIe()}catch(e){if(SIe(e))return;console.warn("强制注入检查失败:",e)}}function kIe(){const e=window.eval;if(window.eval=function(t){if("string"==typeof t&&t.includes("sound."))try{MIe()}catch(e){SIe(e)||console.warn("执行拦截时出错:",e)}return e.call(this,t)},window.pyodide&&window.pyodide.runPython){const e=window.pyodide.runPython;window.pyodide.runPython=function(t){if("string"==typeof t&&t.includes("sound."))try{MIe()}catch(e){SIe(e)||console.warn("执行拦截时出错:",e)}return e.call(this,t)}}}function RIe(){document.getElementById("modalOverlay").style.display="none"}function NIe(e){const t=document.getElementById("imported-models");if([...t.children].some(t=>t.dataset.modelName===e))return;const n=document.createElement("div");n.className="model-item",n.dataset.modelName=e,n.innerHTML=`\n
\n ${e}\n \n
\n `,n.querySelector(".delete-model").addEventListener("click",()=>{!async function(e){try{await p3.io.removeModel(`indexeddb://${e}`);const t=document.querySelector(`.model-item[data-model-name="${e}"]`);t&&t.remove()}catch(e){console.error("删除模型失败:",e),alert("删除模型失败: "+e.message)}}(e)}),t.appendChild(n)}async function DIe(){try{const e=await p3.io.listModels();document.getElementById("imported-models").innerHTML="";for(const[t]of Object.entries(e)){NIe(t.replace("indexeddb://",""))}}catch(e){console.error("加载模型列表失败:",e)}}"loading"===document.readyState?document.addEventListener("DOMContentLoaded",()=>{OIe(),kIe()}):(OIe(),kIe()),window.addEventListener("pyodideLoaded",()=>{OIe(),kIe()}),setTimeout(()=>{OIe(),kIe()},1e3),window.addEventListener("load",()=>{OIe(),kIe()}),setInterval(MIe,5e3),fIe.init(),window.tf=Ue,async function(){const e=document.createElement("div");e.id="modalOverlay",Object.assign(e.style,{display:"none",position:"fixed",top:"0",left:"0",width:"100%",height:"100%",backgroundColor:"rgba(0,0,0,0.5)",zIndex:"20011216",pointerEvents:"auto"});const t=document.createElement("div");Object.assign(t.style,{backgroundColor:"white",width:"60%",maxHeight:"80%",margin:"12vh auto",padding:"20px 30px",borderRadius:"12px"}),t.innerHTML='\n

选择本地模型

\n
\x3c!-- 新增 min-height 和 position --\x3e\n \n \n
\n 导入模型名称:\n \n \n
\n
\n
\n ❌ 模型结构描述文件(model.json)\n\n
未选择
\n
\n
\n ❌ 权重文件(model.weights.bin)\n
0 个已选择
\n
\n
\n
\n
\n
\n

已导入模型

\n
\n \n \n
\n
\n
\n
加载中...
\n
\n
\n
\n \n
\n
\n ',e.appendChild(t),document.body.appendChild(e),t.querySelector(".close-btn").addEventListener("click",RIe),e.addEventListener("click",t=>{t.target===e&&RIe()});const n=document.getElementById("model-upload"),i=document.getElementById("model-handle"),r=document.getElementById("output");let s=null,o=[];n.addEventListener("change",async e=>{const t=e.target.files,n=document.getElementById("json-status"),i=document.getElementById("weights-status");n.querySelector("span").textContent="❌ 模型结构描述文件(model.json)",n.querySelector("div").textContent="未选择",i.querySelector("span").textContent="❌ 权重文件(model.weights.bin)",i.querySelector("div").textContent="0 个已选择",o=[];for(let e=0;e0&&(i.querySelector("span").textContent="✅ 权重文件(model.weights.bin)",i.querySelector("div").textContent=`${o.length} 个已选择`)}else alert("未找到 model.json 文件")}),i.addEventListener("click",async()=>{try{const e=document.getElementById("model-name").value||"mixly-model",t=await Cee(p3.io.browserFiles([s,...o]));await t.save(`indexeddb://${e}`),DIe(),r.innerHTML=`模型已成功保存为 ${e}!`}catch(e){r.innerHTML=`保存模型出错: ${e.message}`,console.error(e)}}),t.querySelector("#refresh-models").addEventListener("click",DIe),t.querySelector("#clear-models").addEventListener("click",async()=>{confirm("确定要删除所有模型吗?此操作不可恢复!")&&await async function(){try{const e=await p3.io.listModels(),t=Object.keys(e).map(e=>e.replace("indexeddb://","")).map(e=>p3.io.removeModel(`indexeddb://${e}`));await Promise.all(t),document.getElementById("imported-models").innerHTML=""}catch(e){console.error("清空模型失败:",e),alert("清空模型失败: "+e.message)}}()})}(),(async()=>{await DIe()})();Ve.getMainWorkspace().registerButtonCallback("handleModels",function(){DIe(),document.getElementById("modalOverlay").style.display="block"}),window.prepare_qmyixtxi=async function(e){let t=null;window.featureExtractor?t=window.featureExtractor:(t=await foe("../common/media/tfmodel/model.json"),window.featureExtractor=t);const n=e.resizeBilinear([224,224]).toFloat().div(p3.scalar(127.5)).sub(p3.scalar(1)).expandDims(0);return window.featureExtractor.predict(n)};const FIe={init:function(){this.setColour("#acc159"),this.appendDummyInput().appendField(Ve.Msg.MIXLY_SOUND_PLAY).appendField(new Ve.FieldDropdown(this.getSoundOptions),"SOUND"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_SOUND_PLAY_TOOLTIP)},getSoundOptions:function(){const e=[["Meow","Meow"],[Ve.Msg.MIXLY_SOUND_RECORD_OPTION,"record"]];if(window.sound&&window.sound.builtin){Object.keys(window.sound.builtin).filter(e=>e.startsWith("recording")).forEach(t=>{e.push([t,t])})}return e}},LIe={init:function(){this.setColour("#acc159"),this.appendDummyInput().appendField(Ve.Msg.MIXLY_SOUND_PLAY).appendField(new Ve.FieldDropdown(this.getSoundOptions),"SOUND").appendField(Ve.Msg.MIXLY_SOUND_WAIT_FINISH),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_SOUND_PLAY_WAIT_TOOLTIP)},getSoundOptions:function(){const e=[["Meow","Meow"],[Ve.Msg.MIXLY_SOUND_RECORD_OPTION,"record"]];if(window.sound&&window.sound.builtin){Object.keys(window.sound.builtin).filter(e=>e.startsWith("recording")).forEach(t=>{e.push([t,t])})}return e}},PIe={init:function(){this.setColour("#acc159"),this.appendDummyInput().appendField(Ve.Msg.MIXLY_catSoundSOUND_STOP_ALL),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_SOUND_STOP_ALL_TOOLTIP)}},BIe={init:function(){this.setColour("#acc159"),this.appendDummyInput().appendField(Ve.Msg.MIXLY_SOUND_SET_TO).appendField(new Ve.FieldDropdown([[Ve.Msg.MIXLY_SOUND_EFFECT_PITCH,"pitch"],[Ve.Msg.MIXLY_SOUND_EFFECT_PAN,"pan"]]),"EFFECT").appendField(Ve.Msg.MIXLY_SOUND_EFFECT_ADD_BY),this.appendValueInput("VALUE").setCheck(null),this.appendDummyInput(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_SOUND_EFFECT_ADD_TOOLTIP)}},$Ie={init:function(){this.setColour("#acc159"),this.appendDummyInput().appendField(Ve.Msg.MIXLY_SOUND_SET_TO).appendField(new Ve.FieldDropdown([[Ve.Msg.MIXLY_SOUND_EFFECT_PITCH,"pitch"],[Ve.Msg.MIXLY_SOUND_EFFECT_PAN,"pan"]]),"EFFECT").appendField(Ve.Msg.MIXLY_SOUND_EFFECT_SET_TO),this.appendValueInput("VALUE").setCheck(null),this.appendDummyInput(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_SOUND_EFFECT_SET_TOOLTIP)}},UIe={init:function(){this.setColour("#acc159"),this.appendDummyInput().appendField(Ve.Msg.MIXLY_catSoundSOUND_CLEAR_EFFECTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_SOUND_EFFECT_CLEAR_TOOLTIP)}},VIe={init:function(){this.setColour("#acc159"),this.appendDummyInput().appendField(Ve.Msg.MIXLY_catSoundSOUND_VOLUME_INCREASE),this.appendValueInput("VALUE").setCheck(null),this.appendDummyInput(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_SOUND_VOLUME_ADD_TOOLTIP)}},zIe={init:function(){this.setColour("#acc159"),this.appendDummyInput().appendField(Ve.Msg.MIXLY_catSoundSOUND_VOLUME_SET),this.appendValueInput("VALUE").setCheck(null),this.appendDummyInput(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_SOUND_VOLUME_SET_TOOLTIP)}},jIe={init:function(){this.setColour("#acc159"),this.appendDummyInput().appendField(Ve.Msg.MIXLY_catSoundSOUND_VOLUME_GET),this.setOutput(!0,"Volume"),this.setTooltip(Ve.Msg.MIXLY_SOUND_VOLUME_GET_TOOLTIP)}},YIe={init:function(){this.setColour("#acc159"),this.appendDummyInput().appendField(Ve.Msg.MIXLY_SOUND_RECORD),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_SOUND_RECORD_TOOLTIP)}},GIe={init:function(){this.setColour("#acc159"),this.appendDummyInput().appendField(Ve.Msg.MIXLY_SOUND_PLAY).appendField(Ve.Msg.MIXLY_SOUND_FREQUENCY),this.appendValueInput("FREQUENCY").setCheck(Number).setAlign(Ve.ALIGN_RIGHT),this.appendDummyInput().appendField(Ve.Msg.MIXLY_SOUND_DURATION),this.appendValueInput("DURATION").setCheck(Number).setAlign(Ve.ALIGN_RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_SOUND_PLAY_FREQUENCY_TOOLTIP)}},HIe={init:function(){this.setColour("#acc159"),this.appendValueInput("FREQUENCY").setCheck(Number).appendField(Ve.Msg.MIXLY_SOUND_PLAY_FREQUENCY_NO_DURATION),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_SOUND_PLAY_FREQUENCY_NO_DURATION_TOOLTIP)}},WIe={init:function(){this.setColour("#acc159"),this.appendDummyInput().appendField(Ve.Msg.MIXLY_SOUND_PLAY_NOTE_LIST).appendField(new Ve.FieldDropdown([["DADADADUM","DADADADUM"],["BIRTHDAY","BIRTHDAY"],["BA_DING","BA_DING"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]]),"NOTE_LIST"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_SOUND_PLAY_NOTE_LIST_TOOLTIP)}},XIe={init:function(){this.setColour("#acc159"),this.appendDummyInput().appendField(new Ve.FieldDropdown([["NOTE_A4","440"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"]]),"NOTE"),this.setOutput(!0,null),this.setOutputShape(Ve.OUTPUT_SHAPE_ROUND),this.setTooltip(Ve.Msg.MIXLY_SOUND_NOTE_TOOLTIP)}};Object.assign(Ve.Variables,Ye),Object.assign(Ve.Procedures,oc),Ve.Python=ac,Ve.generator=ac,ze.Profile.default={},Object.assign(Ve.Blocks,e,t,n,i,r,s,o,a,l,u,c,d,h,A,S,C,O,M,k,R,N,D,F,L,P,B,U,V,ne,re),Object.assign(Ve.Python.forBlock,p,f,m,g,_,y,v,b,T,x,E,w,I,z,j,Y,dy,G,H,W,X,q,K,Z,Q,J,ee,te,ie,se);const qIe={sound_play:FIe,sound_play_wait:LIe,sound_stop_all:PIe,sound_effect_add:BIe,sound_effect_set:$Ie,sound_effect_clear:UIe,sound_volume_add:VIe,sound_volume_set:zIe,sound_volume_get:jIe,sound_record:YIe,sound_play_frequency:GIe,sound_play_frequency_no_duration:HIe,sound_play_note_list:WIe,sound_note:XIe},KIe={sound_play:function(e,t){t.definitions_.import_sound||(t.definitions_.import_sound="import sound");const n=e.getFieldValue("SOUND");return"record"===n?"sound.record()\n":`sound.play("${n}")\n`},sound_play_wait:function(e,t){t.definitions_.import_sound||(t.definitions_.import_sound="import sound");const n=e.getFieldValue("SOUND");return"record"===n?"sound.record()\n":`sound.play_blocking("${n}")\n`},sound_stop_all:function(e,t){return t.definitions_.import_sound||(t.definitions_.import_sound="import sound"),"sound.stop_all()\n"},sound_effect_add:function(e,t){t.definitions_.import_sound||(t.definitions_.import_sound="import sound");const n=e.getFieldValue("EFFECT"),i=e.getInputTargetBlock("VALUE");let r;return r=i?"math_number"===i.type?i.getFieldValue("NUM")||"10":t.valueToCode(i,"VALUE",t.ORDER_NONE)||"10":"10",`sound.adjust_effect("${n}", ${r})\n`},sound_effect_set:function(e,t){t.definitions_.import_sound||(t.definitions_.import_sound="import sound");const n=e.getFieldValue("EFFECT"),i=e.getInputTargetBlock("VALUE");let r;return r=i?"math_number"===i.type?i.getFieldValue("NUM")||"100":t.valueToCode(i,"VALUE",t.ORDER_NONE)||"100":"100",`sound.set_effect("${n}", ${r})\n`},sound_effect_clear:function(e,t){return t.definitions_.import_sound||(t.definitions_.import_sound="import sound"),"sound.clear_effects()\n"},sound_volume_add:function(e,t){t.definitions_.import_sound||(t.definitions_.import_sound="import sound");return`sound.adjust_volume(${t.valueToCode(e,"VALUE",t.ORDER_NONE)||"0"})\n`},sound_volume_set:function(e,t){t.definitions_.import_sound||(t.definitions_.import_sound="import sound");return`sound.set_volume(${t.valueToCode(e,"VALUE",t.ORDER_NONE)||"100"})\n`},sound_volume_get:function(e,t){return t.definitions_.import_sound||(t.definitions_.import_sound="import sound"),["sound.get_volume()",t.ORDER_ATOMIC]},sound_record:function(e,t){return t.definitions_.import_sound||(t.definitions_.import_sound="import sound"),"sound.record()\n"},sound_play_frequency:function(e,t){t.definitions_.import_sound||(t.definitions_.import_sound="import sound");return`sound.play_frequency(${t.valueToCode(this,"FREQUENCY",t.ORDER_ATOMIC)}, ${t.valueToCode(this,"DURATION",t.ORDER_ATOMIC)})\n`},sound_play_frequency_no_duration:function(e,t){t.definitions_.import_sound||(t.definitions_.import_sound="import sound");return`sound.play_frequency_no_duration(${t.valueToCode(this,"FREQUENCY",t.ORDER_ATOMIC)})\n`},sound_play_note_list:function(e,t){t.definitions_.import_sound||(t.definitions_.import_sound="import sound");return`sound.play_note_list("${this.getFieldValue("NOTE_LIST")}")\n`},sound_note:function(e,t){return[this.getFieldValue("NOTE"),t.ORDER_ATOMIC]}};Object.assign(Ve.Blocks,qIe),Object.assign(Ve.Python.forBlock,KIe),window.sound=wIe})()})(); \ No newline at end of file +const Lwe={"tfjs-core":v3.version_core,"tfjs-backend-cpu":uce,"tfjs-backend-webgl":V_e,"tfjs-data":Nae,"tfjs-layers":dee,"tfjs-converter":xoe,tfjs:"4.22.0"};var Pwe=__webpack_require__(99778);const Bwe=Symbol("rowContextKey"),$we=hG({tag:{type:String,default:"div"},gutter:{type:Number,default:0},justify:{type:String,values:["start","center","end","space-around","space-between","space-evenly"],default:"start"},align:{type:String,values:["top","middle","bottom"]}}),Uwe=dS({name:"ElRow"});const Vwe=AG(HH(dS({...Uwe,props:$we,setup(e){const t=e,n=ij("row"),i=ak(()=>t.gutter);eO(Bwe,{gutter:i});const r=ak(()=>{const e={};return t.gutter?(e.marginRight=e.marginLeft=`-${t.gutter/2}px`,e):e}),s=ak(()=>[n.b(),n.is(`justify-${t.justify}`,"start"!==t.justify),n.is(`align-${t.align}`,!!t.align)]);return(e,t)=>(uM(),gM(uC(e.tag),{class:CE(CI(s)),style:EE(CI(r))},{default:LA(()=>[mC(e.$slots,"default")]),_:3},8,["class","style"]))}}),[["__file","row.vue"]])),zwe=hG({tag:{type:String,default:"div"},span:{type:Number,default:24},offset:{type:Number,default:0},pull:{type:Number,default:0},push:{type:Number,default:0},xs:{type:[Number,Object],default:()=>({})},sm:{type:[Number,Object],default:()=>({})},md:{type:[Number,Object],default:()=>({})},lg:{type:[Number,Object],default:()=>({})},xl:{type:[Number,Object],default:()=>({})}}),jwe=dS({name:"ElCol"});const Ywe=AG(HH(dS({...jwe,props:zwe,setup(e){const t=e,{gutter:n}=tO(Bwe,{gutter:ak(()=>0)}),i=ij("col"),r=ak(()=>{const e={};return n.value&&(e.paddingLeft=e.paddingRight=n.value/2+"px"),e}),s=ak(()=>{const e=[];["span","offset","pull","push"].forEach(n=>{const r=t[n];oj(r)&&("span"===n?e.push(i.b(`${t[n]}`)):r>0&&e.push(i.b(`${n}-${t[n]}`)))});return["xs","sm","md","lg","xl"].forEach(n=>{oj(t[n])?e.push(i.b(`${n}-${t[n]}`)):Jx(t[n])&&Object.entries(t[n]).forEach(([t,r])=>{e.push("span"!==t?i.b(`${n}-${t}-${r}`):i.b(`${n}-${r}`))})}),n.value&&e.push(i.is("guttered")),[i.b(),e]});return(e,t)=>(uM(),gM(uC(e.tag),{class:CE(CI(s)),style:EE(CI(r))},{default:LA(()=>[mC(e.$slots,"default")]),_:3},8,["class","style"]))}}),[["__file","col.vue"]])),Gwe={class:"vis-left-panel-inner-wrapper"},Hwe={class:"card-header"},Wwe={key:0,style:{margin:"auto"}},Xwe={key:1,style:{margin:"auto"}},qwe=["src"],Kwe={__name:"ModelArea",emits:["shot"],setup(e,{expose:t,emit:n}){const i=n,r=tO("picList"),s=tO("shotList"),o=tO("states"),a=EI(r.value.map((e,t)=>({name:e.title,progress:0}))),l=["#FF6F61","#42A5F5","#66BB6A","#FFA726","#AB47BC"];let u,c,d=[];setInterval(async()=>{if(2!==o.value.isTraining)return;if(""!==p.value)return;i("shot");const e=s.value[s.value.length-1];if(!e||"data:,"===e)return void TW.error("未获取到有效样本");const t=new Image;t.src=e,await new Promise(e=>{t.onload=e});const n=v3.browser.fromPixels(t);let r=v3.image.resizeBilinear(n,[224,224]).expandDims(0).div(255),l=u.predict(r);const d=c.predict(l),h=await d.data();a.value=[...a.value.map((e,t)=>({...e,progress:Number((100*h[t]).toFixed(2))}))],n.dispose(),l.dispose(),d.dispose()},200);const h=EI(!1),p=EI(""),f=EI(""),m=EI("20%"),g=EI("20%");async function _(){if(c)try{await c.save(`downloads://${""==S.value?"my-model":S.value}`),TW.success("模型导出成功")}catch(e){TW.error(`模型导出失败: ${e.message}`)}else TW.error("模型尚未训练完成")}async function y(e){const t=new FileReader;return t.onload=async e=>{if(p.value=e.target.result,!u||!c)return TW.error("请先完成模型训练"),!1;const t=new window.Image;t.src=p.value,await new Promise(e=>t.onload=e);const n=v3.browser.fromPixels(t);let i=v3.image.resizeBilinear(n,[224,224]).expandDims(0).div(255),r=u.predict(i);const s=c.predict(r),o=await s.data();a.value=[...a.value.map((e,t)=>({...e,progress:Number((100*o[t]).toFixed(2))}))];const l=o.indexOf(Math.max(...o));f.value=a.value[l]?.name||"未知",n.dispose(),r.dispose(),s.dispose()},t.readAsDataURL(e),!1}function v(){p.value=""}let b=0,T=0,x=0,E=0;function w(e){if(0!==e.button)return;b=e.clientX,T=e.clientY;const t=document.getElementById("vis-left-panel-wrapper").style.top,n=document.getElementById("vis-left-panel-wrapper").style.right;x=t.endsWith("%")?window.innerHeight*Number.parseFloat(t)/100:Number.parseFloat(t),E=n.endsWith("%")?window.innerWidth*Number.parseFloat(n)/100:Number.parseFloat(n),document.addEventListener("mousemove",I),document.addEventListener("mouseup",A)}function I(e){const t=e.clientX-b,n=e.clientY-T;let i=x+n,r=E-t;i=Math.max(0,Math.min(window.innerHeight-100,i)),r=Math.max(0,Math.min(window.innerWidth-200,r)),m.value=`${i}px`,g.value=`${r}px`}function A(){document.removeEventListener("mousemove",I),document.removeEventListener("mouseup",A)}t({train:async function(){const e=document.getElementById("vis-left-panel");e&&(e.innerHTML="训练准备中……"),h.value=!0,console.log("正在加载Mobilenet……"),u=await boe(Rx.join(ze.Env.boardDirPath,"teachableModel/model.json")),console.log("Mobilenet加载完成。"),e&&(e.innerHTML="");const t=r.value.length;let n=null,i=null;c=Pee(),c.add(xie({inputShape:[1280],units:128,activation:"relu"})),c.add(xie({units:t,activation:"softmax"})),c.compile({optimizer:v3.train.adam(.001),loss:"categoricalCrossentropy",metrics:["accuracy"]});for(let e=0;e{o.onload=e});const a=v3.browser.fromPixels(o),l=a.resizeBilinear([224,224]).toFloat().div(v3.scalar(127.5)).sub(v3.scalar(1)).expandDims(0);let c=u.predict(l);const d=v3.oneHot(v3.tensor1d([e]).toInt(),t);if(null==n)n=c.clone(),i=d.clone();else{const e=n;n=e.concat(c,0),e.dispose();const t=i;i=t.concat(d,0),t.dispose()}d.dispose(),a.dispose()}}d=[];const s=document.getElementById("vis-left-panel")||{name:"训练过程",tab:"训练"};await c.fit(n,i,{epochs:20,batchSize:16,shuffle:!0,validationSplit:.2,callbacks:Pwe.show.fitCallbacks(s,["loss","acc","val_loss","val_acc","accuracy","val_accuracy"],{callbacks:["onEpochEnd"]})}),console.log("训练完成"),a.value=r.value.filter(e=>!0!==e.disabled).map((e,t)=>({name:e.title,progress:0})),console.log(a.value),o.value.isTraining=2}});const S=EI("");async function C(){if(c)try{await c.save(`indexeddb://${""==S.value?"my-model":S.value}`),TW.success("模型保存成功")}catch(e){TW.error(`模型保存失败: ${e.message}`)}else TW.error("模型尚未训练完成")}return(e,t)=>(uM(),mM("div",null,[PA(xM("div",{id:"vis-left-panel-wrapper",class:"vis-left-panel-wrapper",style:EE(`right: ${g.value}; top: ${m.value};`)},[xM("div",Gwe,[xM("div",{class:"vis-left-panel-title",style:{},onMousedown:w},[t[4]||(t[4]=xM("span",null," 训练过程可视化 ",-1)),EM(CI(NX),{size:"small",plain:"",onClick:t[0]||(t[0]=e=>h.value=!1)},{default:LA(()=>t[3]||(t[3]=[SM(" 隐藏 ")])),_:1})],32),t[5]||(t[5]=xM("div",{id:"vis-left-panel",class:"vis-left-panel"},"训练准备中……",-1))])],4),[[Xk,h.value]]),2===CI(o).isTraining?(uM(),gM(CI(PX),{key:0,class:"model-area"},{header:LA(()=>[xM("div",Hwe,[t[8]||(t[8]=SM(" 模型 ")),h.value?OM("v-if",!0):(uM(),gM(CI(NX),{key:0,size:"small",style:{"margin-left":"10px"},type:"primary",plain:"",onClick:t[1]||(t[1]=e=>h.value=!0)},{default:LA(()=>t[6]||(t[6]=[SM(" 显示训练过程 ")])),_:1})),2===CI(o).isTraining?(uM(),gM(CI(NX),{key:1,size:"small",style:{"margin-left":"10px"},type:"success",plain:"",onClick:_},{default:LA(()=>t[7]||(t[7]=[SM(" 模型导出至本地 ")])),_:1})):OM("v-if",!0)])]),default:LA(()=>[EM(CI(Vwe),{class:"model-item",style:{"flex-direction":"column","align-items":"flex-center"}},{default:LA(()=>[EM(CI(Vwe),null,{default:LA(()=>[EM(CI(Ywe),{span:6,style:{display:"flex","align-items":"center","text-align":"right"}},{default:LA(()=>t[9]||(t[9]=[SM(" 名称: ")])),_:1}),EM(CI(Ywe),{span:12},{default:LA(()=>[EM(CI(jq),{modelValue:S.value,"onUpdate:modelValue":t[2]||(t[2]=e=>S.value=e),placeholder:"请输入模型名称"},null,8,["modelValue"])]),_:1}),EM(CI(Ywe),{span:4,style:{display:"flex","align-items":"center"}},{default:LA(()=>[EM(CI(NX),{style:{margin:"auto 5px"},type:"primary",plain:"",size:"small",onClick:C},{default:LA(()=>t[10]||(t[10]=[SM(" 保存 ")])),_:1})]),_:1})]),_:1})]),_:1}),EM(CI(Vwe),{class:"model-item"},{default:LA(()=>t[11]||(t[11]=[xM("b",null,"输入",-1)])),_:1}),EM(CI(Vwe),{class:"model-item"},{default:LA(()=>[p.value?(uM(),mM("div",Xwe,[t[16]||(t[16]=SM(" 下方上传图片 ")),t[17]||(t[17]=xM("br",null,null,-1)),EM(CI(NX),{size:"small",type:"success",plain:"",onClick:v},{default:LA(()=>t[14]||(t[14]=[SM(" 切换为上方拍摄内容 ")])),_:1}),EM(CI(F2),{"show-file-list":!1,accept:"image/*","before-upload":y},{default:LA(()=>[EM(CI(NX),{size:"small",type:"success"},{default:LA(()=>t[15]||(t[15]=[SM(" 重新上传一张 ")])),_:1})]),_:1}),xM("img",{src:p.value,alt:"用户上传图片",style:{"max-width":"100%","max-height":"150px","border-radius":"10px"}},null,8,qwe)])):(uM(),mM("div",Wwe,[t[13]||(t[13]=SM(" 上方拍摄内容 ")),EM(CI(F2),{"show-file-list":!1,accept:"image/*","before-upload":y},{default:LA(()=>[EM(CI(NX),{size:"small",type:"success"},{default:LA(()=>t[12]||(t[12]=[SM(" 切换为上传图片 ")])),_:1})]),_:1})]))]),_:1}),EM(CI(Vwe),{class:"model-item"},{default:LA(()=>t[18]||(t[18]=[xM("b",null,"输出",-1)])),_:1}),(uM(!0),mM(iM,null,pC(a.value,(e,t)=>(uM(),gM(CI(Vwe),{key:`${e.name}-${t}`,class:"model-item"},{default:LA(()=>[EM(CI(Ywe),{span:6},{default:LA(()=>[SM(GE(e.name),1)]),_:2},1024),EM(CI(Ywe),{span:18},{default:LA(()=>[EM(CI(WJ),{class:"progress","text-inside":!0,"stroke-width":20,percentage:e.progress,color:l[t%l.length],striped:"",format:e=>`${e}%`},null,8,["percentage","color","format"])]),_:2},1024)]),_:2},1024))),128))]),_:1})):OM("v-if",!0)]))}},Zwe=(0,_3.A)(Kwe,[["__scopeId","data-v-5abb0202"]]),Qwe=hG({trigger:EZ.trigger,triggerKeys:EZ.triggerKeys,placement:mJ.placement,disabled:EZ.disabled,visible:TZ.visible,transition:TZ.transition,popperOptions:mJ.popperOptions,tabindex:mJ.tabindex,content:TZ.content,popperStyle:TZ.popperStyle,popperClass:TZ.popperClass,enterable:{...TZ.enterable,default:!0},effect:{...TZ.effect,default:"light"},teleported:TZ.teleported,appendTo:TZ.appendTo,title:String,width:{type:[String,Number],default:150},offset:{type:Number,default:void 0},showAfter:{type:Number,default:0},hideAfter:{type:Number,default:200},autoClose:{type:Number,default:0},showArrow:{type:Boolean,default:!0},persistent:{type:Boolean,default:!0},"onUpdate:visible":{type:Function}}),Jwe={"update:visible":e=>sj(e),"before-enter":()=>!0,"before-leave":()=>!0,"after-enter":()=>!0,"after-leave":()=>!0},eIe=dS({name:"ElPopover"}),tIe=dS({...eIe,props:Qwe,emits:Jwe,setup(e,{expose:t,emit:n}){const i=e,r=ak(()=>i["onUpdate:visible"]),s=ij("popover"),o=EI(),a=ak(()=>{var e;return null==(e=CI(o))?void 0:e.popperRef}),l=ak(()=>[{width:WH(i.width)},i.popperStyle]),u=ak(()=>[s.b(),i.popperClass,{[s.m("plain")]:!!i.content}]),c=ak(()=>i.transition===`${s.namespace.value}-fade-in-linear`),d=()=>{n("before-enter")},h=()=>{n("before-leave")},p=()=>{n("after-enter")},f=()=>{n("update:visible",!1),n("after-leave")};return t({popperRef:a,hide:()=>{var e;null==(e=o.value)||e.hide()}}),(e,t)=>(uM(),gM(CI(PQ),NM({ref_key:"tooltipRef",ref:o},e.$attrs,{trigger:e.trigger,"trigger-keys":e.triggerKeys,placement:e.placement,disabled:e.disabled,visible:e.visible,transition:e.transition,"popper-options":e.popperOptions,tabindex:e.tabindex,content:e.content,offset:e.offset,"show-after":e.showAfter,"hide-after":e.hideAfter,"auto-close":e.autoClose,"show-arrow":e.showArrow,"aria-label":e.title,effect:e.effect,enterable:e.enterable,"popper-class":CI(u),"popper-style":CI(l),teleported:e.teleported,"append-to":e.appendTo,persistent:e.persistent,"gpu-acceleration":CI(c),"onUpdate:visible":CI(r),onBeforeShow:d,onBeforeHide:h,onShow:p,onHide:f}),{content:LA(()=>[e.title?(uM(),mM("div",{key:0,class:CE(CI(s).e("title")),role:"title"},GE(e.title),3)):OM("v-if",!0),mC(e.$slots,"default",{},()=>[SM(GE(e.content),1)])]),default:LA(()=>[e.$slots.reference?mC(e.$slots,"reference",{key:0}):OM("v-if",!0)]),_:3},16,["trigger","trigger-keys","placement","disabled","visible","transition","popper-options","tabindex","content","offset","show-after","hide-after","auto-close","show-arrow","aria-label","effect","enterable","popper-class","popper-style","teleported","append-to","persistent","gpu-acceleration","onUpdate:visible"]))}});const nIe=(e,t)=>{const n=t.arg||t.value,i=null==n?void 0:n.popperRef;i&&(i.triggerRef=e)};var iIe,rIe;const sIe=AG(HH(tIe,[["__file","popover.vue"]]),{directive:(rIe="popover",(iIe={mounted(e,t){nIe(e,t)},updated(e,t){nIe(e,t)}}).install=e=>{e.directive(rIe,iIe)},iIe)}),oIe=hG({type:{type:String,values:["primary","success","info","warning","danger",""],default:""},size:{type:String,values:pG,default:""},truncated:Boolean,lineClamp:{type:[String,Number]},tag:{type:String,default:"span"}}),aIe=dS({name:"ElText"}),lIe=dS({...aIe,props:oIe,setup(e){const t=e,n=EI(),i=tX(),r=ij("text"),s=ak(()=>[r.b(),r.m(t.type),r.m(i.value),r.is("truncated",t.truncated),r.is("line-clamp",!rj(t.lineClamp))]),o=()=>{var e,i,r,s,o,a,l;if(kC().title)return;let u=!1;const c=(null==(e=n.value)?void 0:e.textContent)||"";if(t.truncated){const e=null==(i=n.value)?void 0:i.offsetWidth,t=null==(r=n.value)?void 0:r.scrollWidth;e&&t&&t>e&&(u=!0)}else if(!rj(t.lineClamp)){const e=null==(s=n.value)?void 0:s.offsetHeight,t=null==(o=n.value)?void 0:o.scrollHeight;e&&t&&t>e&&(u=!0)}u?null==(a=n.value)||a.setAttribute("title",c):null==(l=n.value)||l.removeAttribute("title")};return KS(o),QS(o),(e,t)=>(uM(),gM(uC(e.tag),{ref_key:"textRef",ref:n,class:CE(CI(s)),style:EE({"-webkit-line-clamp":e.lineClamp})},{default:LA(()=>[mC(e.$slots,"default")]),_:3},8,["class","style"]))}});const uIe=AG(HH(lIe,[["__file","text.vue"]])),cIe={__name:"TrainArea",emits:["train"],setup(e,{emit:t}){const n=t,i=tO("picList"),r=tO("states"),s=EI(!1),o=EI("待训练……");function a(){s.value&&(n("train"),r.value.isTraining=1)}return DO([i.value,()=>r.value.isTraining],()=>{s.value=function(){const e=Array.isArray(i.value)?i.value.filter(e=>!1===e.disabled):[];return 1!==r.value.isTraining&&e.length>1&&e.every(e=>Array.isArray(e.list)&&e.list.length>0)}(),0===r.value.isTraining?o.value="待训练……":1===r.value.isTraining?o.value="训练中……":2===r.value.isTraining&&(o.value="训练完成")},{immediate:!0}),(e,t)=>(uM(),gM(CI(PX),{class:"train-area"},{header:LA(()=>t[0]||(t[0]=[xM("div",{class:"card-header"}," 训练 ",-1)])),default:LA(()=>[EM(CI(sIe),{class:"box-item",placement:"bottom",disabled:s.value},{reference:LA(()=>[EM(CI(NX),{disabled:!s.value,type:"primary",style:{"max-width":"100%"},onClick:a},{default:LA(()=>t[1]||(t[1]=[SM(" 训练模型 ")])),_:1},8,["disabled"])]),default:LA(()=>[EM(CI(JH),null,{default:LA(()=>[EM(CI(TH))]),_:1}),t[2]||(t[2]=SM(" 至少有两个类别,且每个类别都需有图像样本。 "))]),_:1},8,["disabled"]),t[3]||(t[3]=xM("br",null,null,-1)),EM(CI(uIe),null,{default:LA(()=>[SM(GE(o.value),1)]),_:1})]),_:1}))}},dIe=(0,_3.A)(cIe,[["__scopeId","data-v-1deba862"]]),hIe={class:"main-splitter"},pIe={class:"class-area"},fIe={class:"add-class-content"},mIe={__name:"teachableModel",setup(e){const t=EI([]);eO("shotList",t);const n=EI([{title:"类别 1",list:[],disabled:!1},{title:"类别 2",list:[],disabled:!1}]);eO("picList",n);async function i(e,i){n.value[e].disabled?TW.error("该类别已被禁用"):i?n.value[e].list.push(i):(await a(),t.value[t.value.length-1]&&"data:,"!==t.value[t.value.length-1]?n.value[e].list.push(t.value[t.value.length-1]):TW.error("未获取到有效样本"))}function r(){n.value.push({title:`类别 ${n.value.length+1}`,list:[],disabled:!1})}eO("states",EI({isTraining:0}));const s=EI(!0),o=EI(null);async function a(){await(o.value?.captureShot())}const l=EI(null);async function u(){await l.value.train()}return(e,t)=>(uM(),mM("div",hIe,[EM(CI(jW),null,{default:LA(()=>[EM(CI(YW),{size:"70%",min:200},{default:LA(()=>[xM("div",pIe,[(uM(!0),mM(iM,null,pC(n.value,(e,r)=>(uM(),gM(f3,{key:r,title:e.title,"pic-list":e.list,disabled:e.disabled,onAddSample:e=>i(r,e),onDeleteSample:e=>n.value[r].list=n.value[r].list.filter(t=>t!==e),onDeleteClass:e=>function(e){n.value.splice(e,1)}(r),onDisableClass:e=>function(e){n.value[e].disabled=!n.value[e].disabled}(r),onRenameClass:e=>function(e,t){n.value[e].title=t}(r,e),onClearSamples:e=>function(e){n.value[e].list=[]}(r)},{default:LA(()=>[EM(CI(NX),{type:"primary",size:"mini",onClick:e=>i(r)},{default:LA(()=>t[0]||(t[0]=[SM(" 添加样本 ")])),_:2},1032,["onClick"])]),_:2},1032,["title","pic-list","disabled","onAddSample","onDeleteSample","onDeleteClass","onDisableClass","onRenameClass","onClearSamples"]))),128)),EM(CI(PX),{class:"add-class-card",onClick:r},{default:LA(()=>[xM("div",fIe,[t[1]||(t[1]=SM(" 添加一个类别 ")),EM(CI(JH),null,{default:LA(()=>[EM(CI(XG))]),_:1})])]),_:1})])]),_:1}),EM(CI(YW),{min:200},{default:LA(()=>[EM(y3,{ref_key:"cameraBoxRef",ref:o},null,512),EM(Rk,{name:"fade-scale"},{default:LA(()=>[s.value?(uM(),gM(Zwe,{key:0,ref_key:"modelAreaRef",ref:l,onShot:a},null,512)):OM("v-if",!0)]),_:1}),EM(dIe,{onTrain:u})]),_:1})]),_:1})]))}},gIe=(0,_3.A)(mIe,[["__scopeId","data-v-02bafc86"]]),_Ie={__name:"App",setup:e=>(e,t)=>(uM(),gM(CI(CG),null,{default:LA(()=>[EM(gIe)]),_:1}))};class yIe{static{ze.HTMLTemplate.add("html/statusbar/loader.html",new ze.HTMLTemplate('\r\n
\r\n
\r\n

{{d.msg.loading}}

\r\n
')),this.pythonShell=null,this.kernelLoaded=!1,this.$loader=Dx()(ze.HTMLTemplate.get("html/statusbar/loader.html").render({msg:{loading:Ve.Msg.PYTHON_PYODIDE_LOADING}})),this.statusBarImage=null,this.statusBarFileSystem=null,this.init=async function(){ze.app.getFooterBar().getContent().after(this.$loader);const e=Rx.relative(ze.Env.indexDirPath,ze.Env.boardDirPath),t=new dP({rootPath:Rx.join(e,"deps"),language:"python3"}),n=await t.kernelAvailable();if(!n)return;await n.init(),await n.loaded(),this.loader=t,this.kernel=n,this.statusBarImage=hP.init(),this.statusBarFileSystem=qz.init(),this.statusBarTool=Kz.init();oN(_Ie).mount(this.statusBarTool.getContent()[0]),this.statusBarGame=Zz.init(),this.pythonShell=new yIe,this.pyodide=window.pyodide,this.interruptBuffer=new Uint8Array(new ArrayBuffer(1)),this.pyodide.setInterruptBuffer(this.interruptBuffer),this.kernelLoaded=!0,this.$loader.remove(),this.$loader&&this.$loader.remove&&this.$loader.remove(),this.$loader=null},this.run=async function(){if(!this.kernelLoaded)return;const e=ze.Workspace.getMain().getEditorsManager().getActive().getCode();return this.pythonShell.run(e)},this.stop=async function(){if(this.kernelLoaded)return this.pythonShell.stop()}}#C=null;#O=null;#M=null;#k={row:0,column:0};#R="";#N=null;#D=null;#F=!1;#L=!1;#P=null;#B=()=>this.#$();#U=[{name:"REPL-Enter",bindKey:"Enter",exec:e=>{if(e.getSession().selection.getCursor().row===this.#k.row){const e=this.#C.getEndPos();let t=this.#C.getValueRange(this.#k,e);t=t.replace(this.#R,""),this.#N?.(t),this.#N=null,this.#D=null,this.#C.addValue("\n"),this.#V()}return!1}},{name:"REPL-ChangeEditor",bindKey:"Delete|Ctrl-X|Backspace",exec:e=>{const t=e.getSession().selection.getCursor();return t.row{this.#L=!1,this.#C.addValue(`\n==${ze.Msg.Lang["shell.finish"]}==`),this.syncfs(!1).catch(ze.Debug.error)}),this.#P.addEventListener("eval.output",e=>{this.#C.addValue(e.content)}),this.#P.addEventListener("eval.error",()=>{this.#L=!1,this.#C.addValue(`\n==${ze.Msg.Lang["shell.finish"]}==`)}),this.#P.addEventListener("eval.input",e=>{const t=String(e?.content?.prompt);this.#C.addValue(t),this.#R=t,this.#N=e.resolve,this.#D=e.reject,this.#z()}),this.#P.addEventListener("eval.display",e=>{this.#M.changeTo("images"),this.#O.display(e)})}#$(){const e=this.#C.getEditor(),t=e.getSession().selection.getCursor();e.setReadOnly(t.row{window.pyodide.FS.syncfs(e,t)})}sleep(e){return new Promise(t=>setTimeout(t,e))}}const vIe={init:async function(){const e=ze.app.getNav();e.register({icon:"icon-play-circled",title:"",id:"python-run-btn",displayText:Ve.Msg.MSG.run,preconditionFn:()=>!0,callback:()=>{yIe.run().catch(ze.Debug.error)},scopeType:ze.Nav.Scope.LEFT,weight:4}),e.register({icon:"icon-cancel",title:"",id:"python-stop-btn",displayText:Ve.Msg.MSG.stop,preconditionFn:()=>!0,callback:()=>{yIe.stop().catch(ze.Debug.error)},scopeType:ze.Nav.Scope.LEFT,weight:5}),await yIe.init()}},bIe=vIe,TIe=new ze.Registry,xIe=function(e){let t={ok:!1,buffer:null,json:function(){const e=new TextDecoder("utf-8").decode(this.buffer);return JSON.parse(e)},arrayBuffer:function(){return this.buffer}};return TIe.hasKey(e)?(t.ok=!0,t.buffer=TIe.getItem(e),t):t},EIe={modelsValue:{},loadGraphModel:async function(e){return await boe(e,{fromTFHub:!1,fetchFunc:(...e)=>xIe(e[0])})},loadLayersModel:async function(e){return await Dee(e,{fromTFHub:!1,fetchFunc:(...e)=>xIe(e[0])})},setModelsValue:function(e,t){TIe.hasKey(e)&&TIe.unregister(e),TIe.register(e,t),EIe.modelsValue[e]=t}};window.tensorflow=EIe,window.addEventListener("error",e=>e.error&&e.error.message&&e.error.message.includes("openOrClosedShadowRoot")?(console.warn("捕获到Blockly DOM操作错误,这通常是无害的:",e.error.message),e.preventDefault(),!1):e.error&&e.error.message&&(e.error.message.includes("DOM")||e.error.message.includes("Element")||e.error.message.includes("Node"))?(console.warn("捕获到DOM操作错误:",e.error.message),e.preventDefault(),!1):void 0),window.addEventListener("unhandledrejection",e=>{if(e.reason&&e.reason.message&&e.reason.message.includes("openOrClosedShadowRoot"))return console.warn("捕获到未处理的Promise拒绝(Blockly DOM错误):",e.reason.message),e.preventDefault(),!1});const wIe=console.error;console.error=function(...e){const t=e.join(" ");t.includes("openOrClosedShadowRoot")||t.includes("DOM")||t.includes("Element")||t.includes("Node")?console.warn("过滤的DOM错误:",...e):wIe.apply(console,e)};const IIe=(e,t)=>{try{if(e&&t&&e.appendChild)return e.appendChild(t)}catch(e){console.warn("安全DOM添加失败:",e.message)}return null},AIe=(e,t)=>{try{if(e&&t&&e.removeChild&&t.parentNode===e)return e.removeChild(t)}catch(e){console.warn("安全DOM移除失败:",e.message)}return null},SIe=(e,t)=>{try{if(e&&e.querySelector)return e.querySelector(t)}catch(e){console.warn("安全DOM查询失败:",e.message)}return null},CIe=e=>e&&e.parentNode&&document.contains(e),OIe={volume:100,effects:{pitch:0,pan:0},builtin:{Meow:"meow"},isRecording:!1,mediaRecorder:null,recordedChunks:[],recordedAudio:null,activeAudios:[],isStopped:!1,abortController:null,blockAllAudio:!1,audioHistory:[],soundQueue:[],isProcessingQueue:!1,currentlyPlaying:null,initAudioContext:()=>{if(!OIe.audioContext)try{OIe.audioContext=new(window.AudioContext||window.webkitAudioContext)}catch(e){console.error("Error initializing audio context:",e)}},createAudio:e=>{if(OIe.blockAllAudio||OIe.isStopped||OIe.abortController&&OIe.abortController.signal.aborted){return{play:()=>Promise.reject(new Error("Audio playback blocked")),pause:()=>{},currentTime:0,src:"",volume:1,playbackRate:1,onended:null,onerror:null,onloadstart:null,oncanplay:null,onplay:null,onpause:null,tagName:"AUDIO",addEventListener:()=>{},removeEventListener:()=>{},load:()=>{},duration:0,ended:!1,paused:!0,muted:!1,readyState:0,networkState:0,preload:"none"}}return new Audio(e)},play:async e=>{try{if(OIe.isStopped)return;if(OIe.abortController&&OIe.abortController.signal.aborted)return;if(OIe.blockAllAudio)return;if(OIe.soundQueue.length>0||OIe.isProcessingQueue)return OIe.soundQueue.push({name:e,resolve:()=>{},reject:()=>{}}),void OIe.processQueue();if(OIe.activeAudios.length>0&&(OIe.activeAudios.forEach(e=>{try{e&&"AUDIO"===e.tagName&&(e.pause(),e.currentTime=0,e.src="")}catch(e){console.warn("停止现有音频时出错:",e)}}),OIe.activeAudios=[]),e.startsWith("recording")&&OIe.builtin[e]){if(OIe.blockAllAudio||OIe.isStopped)return;const t=OIe.createAudio(OIe.builtin[e]);t.volume=OIe.volume/100;const n=OIe.effects.pitch,i=OIe.effects.pan;if(0===n&&0===i)return void t.play().catch(e=>{"AbortError"!==e.name&&console.error("Error playing recorded audio:",e)});if(OIe.initAudioContext(),!OIe.audioContext)return console.warn("音频上下文初始化失败,无法应用增强音效"),void t.play().catch(e=>{"AbortError"!==e.name&&console.error("Error playing recorded audio:",e)});try{const e=OIe.audioContext.createMediaElementSource(t),r=OIe.audioContext.createGain();if(0!==n){const t=OIe.audioContext.createBiquadFilter();t.type="peaking",t.frequency.setValueAtTime(1e3,OIe.audioContext.currentTime),t.Q.setValueAtTime(1,OIe.audioContext.currentTime);const i=Math.max(-20,Math.min(20,.8*n));t.gain.setValueAtTime(i,OIe.audioContext.currentTime),e.connect(t),t.connect(r)}else e.connect(r);if(0!==i){const e=OIe.audioContext.createStereoPanner(),t=Math.max(-1,Math.min(1,i/100*1.5));e.pan.setValueAtTime(t,OIe.audioContext.currentTime),r.connect(e),e.connect(OIe.audioContext.destination)}else r.connect(OIe.audioContext.destination);r.gain.setValueAtTime(OIe.volume/100,OIe.audioContext.currentTime)}catch(e){return console.warn("应用增强音效失败,使用默认播放:",e),void t.play().catch(e=>{"AbortError"!==e.name&&console.error("Error playing recorded audio:",e)})}return OIe.activeAudios.push(t),t.onended=()=>{const e=OIe.activeAudios.indexOf(t);e>-1&&OIe.activeAudios.splice(e,1)},void t.play().catch(e=>{"AbortError"!==e.name&&console.error("Error playing recorded audio:",e);const n=OIe.activeAudios.indexOf(t);n>-1&&OIe.activeAudios.splice(n,1)})}if("Meow"===e&&(OIe.initAudioContext(),OIe.audioContext)){const e=OIe.audioContext.createOscillator(),t=OIe.audioContext.createGain();let n=440;if(0!==OIe.effects.pitch&&(n*=Math.pow(2,OIe.effects.pitch/12)),e.frequency.setValueAtTime(n,OIe.audioContext.currentTime),e.type="sine",t.gain.setValueAtTime(OIe.volume/100,OIe.audioContext.currentTime),0!==OIe.effects.pan){const n=OIe.audioContext.createStereoPanner(),i=OIe.effects.pan/100;n.pan.setValueAtTime(i,OIe.audioContext.currentTime),e.connect(n),n.connect(t)}else e.connect(t);t.connect(OIe.audioContext.destination),e.start(),e.stop(OIe.audioContext.currentTime+.5)}}catch(e){console.error("Error in sound.play:",e)}},_playAudioInternal:async e=>new Promise((t,n)=>{try{if(OIe.isStopped||OIe.blockAllAudio)return void n(new Error("Playback blocked"));if(e.startsWith("recording")&&OIe.builtin[e]){const i=OIe.createAudio(OIe.builtin[e]);i.volume=OIe.volume/100;const r=OIe.effects.pitch,s=OIe.effects.pan;if((0!==r||0!==s)&&(OIe.initAudioContext(),OIe.audioContext))try{const e=OIe.audioContext.createMediaElementSource(i),t=OIe.audioContext.createGain();if(0!==r){const n=OIe.audioContext.createBiquadFilter();n.type="peaking",n.frequency.setValueAtTime(1e3,OIe.audioContext.currentTime),n.Q.setValueAtTime(1,OIe.audioContext.currentTime);const i=Math.max(-20,Math.min(20,.8*r));n.gain.setValueAtTime(i,OIe.audioContext.currentTime),e.connect(n),n.connect(t)}else e.connect(t);if(0!==s){const e=OIe.audioContext.createStereoPanner(),n=Math.max(-1,Math.min(1,s/100*1.5));e.pan.setValueAtTime(n,OIe.audioContext.currentTime),t.connect(e),e.connect(OIe.audioContext.destination)}else t.connect(OIe.audioContext.destination);t.gain.setValueAtTime(OIe.volume/100,OIe.audioContext.currentTime)}catch(e){console.warn("应用音效失败:",e)}i.onended=()=>{const e=OIe.activeAudios.indexOf(i);e>-1&&OIe.activeAudios.splice(e,1),t()},i.onerror=t=>{console.error(`音频播放失败: ${e}`,t);const r=OIe.activeAudios.indexOf(i);r>-1&&OIe.activeAudios.splice(r,1),n(t)},OIe.activeAudios.push(i),i.play().catch(e=>{"AbortError"===e.name?t():(console.error("播放音频失败:",e),n(e))})}else if("Meow"===e)if(OIe.initAudioContext(),OIe.audioContext){const e=OIe.audioContext.createOscillator(),n=OIe.audioContext.createGain();let i=440;if(0!==OIe.effects.pitch&&(i*=Math.pow(2,OIe.effects.pitch/12)),e.frequency.setValueAtTime(i,OIe.audioContext.currentTime),e.type="sine",n.gain.setValueAtTime(OIe.volume/100,OIe.audioContext.currentTime),0!==OIe.effects.pan){const t=OIe.audioContext.createStereoPanner(),i=OIe.effects.pan/100;t.pan.setValueAtTime(i,OIe.audioContext.currentTime),e.connect(t),t.connect(n)}else e.connect(n);n.connect(OIe.audioContext.destination),e.start(),e.stop(OIe.audioContext.currentTime+.5),setTimeout(()=>{t()},500)}else n(new Error("AudioContext not available"));else n(new Error(`Unknown sound: ${e}`))}catch(e){console.error("内部播放错误:",e),n(e)}}),processQueue:async()=>{if(!OIe.isProcessingQueue&&0!==OIe.soundQueue.length){for(OIe.isProcessingQueue=!0;OIe.soundQueue.length>0;){const e=OIe.soundQueue.shift();try{if("frequency"===e.type){const{frequency:t,duration:n,resolve:i}=e;OIe.currentlyPlaying={type:"frequency",frequency:t,startTime:Date.now()},await new Promise(e=>{if(OIe.initAudioContext(),OIe.audioContext){const i=OIe.audioContext.createOscillator(),r=OIe.audioContext.createGain();i.frequency.setValueAtTime(t,OIe.audioContext.currentTime),i.type="sine";const s=OIe.effects.pitch;0!==s&&i.frequency.setValueAtTime(t*Math.pow(2,s/12),OIe.audioContext.currentTime),r.gain.setValueAtTime(OIe.volume/100,OIe.audioContext.currentTime),i.connect(r),r.connect(OIe.audioContext.destination),i.onended=()=>{OIe.currentlyPlaying=null,e()},i.start(),i.stop(OIe.audioContext.currentTime+n/1e3)}else e()}),OIe.currentlyPlaying=null,i()}else{const{name:t,resolve:n}=e;OIe.currentlyPlaying={name:t,startTime:Date.now()},await OIe._playAudioInternal(t),OIe.currentlyPlaying=null,n()}}catch(t){console.error("队列播放失败:",t),OIe.currentlyPlaying=null,e.reject&&e.reject(t)}}OIe.isProcessingQueue=!1}},play_blocking:e=>new Promise((t,n)=>{OIe.soundQueue.push({name:e,resolve:t,reject:n}),OIe.processQueue()}),stop_all:()=>{try{if(OIe.isStopped=!0,OIe.blockAllAudio=!0,OIe.soundQueue.length>0&&(OIe.soundQueue.forEach(({reject:e})=>{e(new Error("Playback stopped"))}),OIe.soundQueue=[]),OIe.isProcessingQueue=!1,OIe.currentlyPlaying=null,OIe.abortController&&OIe.abortController.abort(),OIe.abortController=new AbortController,OIe.activeAudios.length>0&&(OIe.activeAudios.forEach(e=>{try{e&&"AUDIO"===e.tagName&&(e.pause(),e.currentTime=0,e.src="",e.load(),e.onended=null,e.onerror=null,e.onloadstart=null,e.oncanplay=null,e.onplay=null,e.onpause=null)}catch(e){console.warn("停止音频时出错:",e)}}),OIe.activeAudios=[]),OIe.audioContext)try{OIe.audioContext.close(),OIe.audioContext=null}catch(e){console.warn("关闭音频上下文时出错:",e)}OIe.effects.pitch=0,OIe.effects.pan=0;const e=document.querySelectorAll("audio");e.length>0&&e.forEach(e=>{try{e.pause(),e.currentTime=0,e.src=""}catch(e){console.warn("停止页面音频元素时出错:",e)}}),setTimeout(()=>{OIe.isStopped=!1,OIe.blockAllAudio=!1},100)}catch(e){console.error("Error in sound.stop_all:",e)}},adjust_volume:e=>{const t=Math.max(0,Math.min(100,OIe.volume+e));OIe.volume=t},set_volume:e=>{OIe.volume=Math.max(0,Math.min(100,e))},get_volume:()=>OIe.volume,noteFrequencies:{NOTE_B3:247,NOTE_C4:262,NOTE_D4:294,NOTE_E4:330,NOTE_F4:349,NOTE_G4:392,NOTE_A4:440,NOTE_B4:494,NOTE_C5:523,NOTE_D5:587,NOTE_E5:659,NOTE_F5:698,NOTE_G5:784},play_frequency:(e,t=1e3)=>{try{if(OIe.initAudioContext(),OIe.audioContext){const n=OIe.audioContext.createOscillator(),i=OIe.audioContext.createGain();n.frequency.setValueAtTime(e,OIe.audioContext.currentTime),n.type="sine";const r=OIe.effects.pitch;0!==r&&n.frequency.setValueAtTime(e*Math.pow(2,r/12),OIe.audioContext.currentTime),i.gain.setValueAtTime(OIe.volume/100,OIe.audioContext.currentTime),n.connect(i),i.connect(OIe.audioContext.destination),n.start(),n.stop(OIe.audioContext.currentTime+t/1e3),console.log(`播放频率: ${e}Hz, 持续时间: ${t}ms, 音量: ${OIe.volume}%`)}}catch(e){console.error("播放频率声音失败:",e)}},play_frequency_continuous:e=>{try{if(OIe.initAudioContext(),OIe.audioContext){const t=OIe.audioContext.createOscillator(),n=OIe.audioContext.createGain();t.frequency.setValueAtTime(e,OIe.audioContext.currentTime),t.type="sine";const i=OIe.effects.pitch;0!==i&&t.frequency.setValueAtTime(e*Math.pow(2,i/12),OIe.audioContext.currentTime),n.gain.setValueAtTime(OIe.volume/100,OIe.audioContext.currentTime),t.connect(n),n.connect(OIe.audioContext.destination),t.start(),t.stop(OIe.audioContext.currentTime+2),console.log(`播放频率(持续): ${e}Hz, 无持续时间限制, 音量: ${OIe.volume}%`)}}catch(e){console.error("播放频率声音失败:",e)}},play_frequency_blocking:(e,t=1e3)=>(console.log(`=== 🔒 阻塞播放频率(加入队列): ${e}Hz, ${t}ms ===`),new Promise((n,i)=>{const r={type:"frequency",frequency:e,duration:t,resolve:n,reject:i};OIe.soundQueue.push(r),console.log(`✅ 频率已加入声音队列,当前队列长度: ${OIe.soundQueue.length}`),OIe.processQueue()})),play_frequency_continuous_blocking:e=>(console.log(`=== 🔒 阻塞播放频率(持续,加入队列): ${e}Hz ===`),new Promise((t,n)=>{const i={type:"frequency",frequency:e,duration:2e3,resolve:t,reject:n};OIe.soundQueue.push(i),console.log(`✅ 频率(持续)已加入声音队列,当前队列长度: ${OIe.soundQueue.length}`),OIe.processQueue()})),play_note_list:e=>{try{const t={DADADADUM:[{note:"NOTE_D4",duration:500},{note:"NOTE_A4",duration:500},{note:"NOTE_D4",duration:500},{note:"NOTE_A4",duration:500},{note:"NOTE_D4",duration:500},{note:"NOTE_A4",duration:500},{note:"NOTE_D4",duration:500},{note:"NOTE_A4",duration:500}],BIRTHDAY:[{note:"NOTE_C4",duration:400},{note:"NOTE_C4",duration:400},{note:"NOTE_D4",duration:800},{note:"NOTE_C4",duration:800},{note:"NOTE_F4",duration:800},{note:"NOTE_E4",duration:1600}],BA_DING:[{note:"NOTE_C5",duration:200},{note:"NOTE_E5",duration:200},{note:"NOTE_G5",duration:400}],JUMP_UP:[{note:"NOTE_C5",duration:100},{note:"NOTE_E5",duration:100},{note:"NOTE_G5",duration:100}],JUMP_DOWN:[{note:"NOTE_G5",duration:100},{note:"NOTE_E5",duration:100},{note:"NOTE_C5",duration:100}],POWER_UP:[{note:"NOTE_C4",duration:150},{note:"NOTE_E4",duration:150},{note:"NOTE_G4",duration:150},{note:"NOTE_C5",duration:300}],POWER_DOWN:[{note:"NOTE_C5",duration:150},{note:"NOTE_G4",duration:150},{note:"NOTE_E4",duration:150},{note:"NOTE_C4",duration:300}]}[e];if(t){let e=0;t.forEach(t=>{const n=OIe.noteFrequencies[t.note]||440,i=t.duration;setTimeout(()=>{OIe.play_frequency(n,i)},e),e+=i})}else console.warn(`未知的音符列表: ${e}`)}catch(e){console.error("播放音符列表失败:",e)}},play_note_list_blocking:e=>new Promise((t,n)=>{(async()=>{try{const i={DADADADUM:[{note:"NOTE_D4",duration:500},{note:"NOTE_A4",duration:500},{note:"NOTE_D4",duration:500},{note:"NOTE_A4",duration:500},{note:"NOTE_D4",duration:500},{note:"NOTE_A4",duration:500},{note:"NOTE_D4",duration:500},{note:"NOTE_A4",duration:500}],BIRTHDAY:[{note:"NOTE_C4",duration:400},{note:"NOTE_C4",duration:400},{note:"NOTE_D4",duration:800},{note:"NOTE_C4",duration:800},{note:"NOTE_F4",duration:800},{note:"NOTE_E4",duration:1600}],BA_DING:[{note:"NOTE_C5",duration:200},{note:"NOTE_E5",duration:200},{note:"NOTE_G5",duration:400}],JUMP_UP:[{note:"NOTE_C5",duration:100},{note:"NOTE_E5",duration:100},{note:"NOTE_G5",duration:100}],JUMP_DOWN:[{note:"NOTE_G5",duration:100},{note:"NOTE_E5",duration:100},{note:"NOTE_C5",duration:100}],POWER_UP:[{note:"NOTE_C4",duration:150},{note:"NOTE_E4",duration:150},{note:"NOTE_G4",duration:150},{note:"NOTE_C5",duration:300}],POWER_DOWN:[{note:"NOTE_C5",duration:150},{note:"NOTE_G4",duration:150},{note:"NOTE_E4",duration:150},{note:"NOTE_C4",duration:300}]}[e];if(i){for(const e of i){const t=OIe.noteFrequencies[e.note]||440;await OIe.play_frequency_blocking(t,e.duration)}t()}else console.warn(`未知的音符列表: ${e}`),n(new Error(`未知的音符列表: ${e}`))}catch(e){console.error("播放音符列表失败:",e),n(e)}})()}),adjust_effect:(e,t)=>{"pitch"===e?OIe.effects.pitch=Math.max(-24,Math.min(24,OIe.effects.pitch+t)):"pan"===e&&(OIe.effects.pan=Math.max(-100,Math.min(100,OIe.effects.pan+t)))},set_effect:(e,t)=>{"pitch"===e?OIe.effects.pitch=Math.max(-24,Math.min(24,t)):"pan"===e&&(OIe.effects.pan=Math.max(-100,Math.min(100,t)))},clear_effects:()=>{OIe.effects.pitch=0,OIe.effects.pan=0},record:()=>{if(!OIe.isRecording)try{navigator.mediaDevices.getUserMedia({audio:!0}).then(e=>{OIe.mediaRecorder=new MediaRecorder(e),OIe.recordedChunks=[],OIe.mediaRecorder.ondataavailable=e=>{e.data.size>0&&OIe.recordedChunks.push(e.data)},OIe.mediaRecorder.onstart=()=>{OIe.isRecording=!0},OIe.mediaRecorder.onstop=()=>{OIe.isRecording=!1;const t=new Blob(OIe.recordedChunks,{type:"audio/wav"});OIe.recordedAudio=URL.createObjectURL(t),e.getTracks().forEach(e=>{e.stop()}),OIe.showPlaybackInterface(t)},OIe.mediaRecorder.onerror=e=>{console.error("MediaRecorder 错误:",e.error),OIe.isRecording=!1},OIe.mediaRecorder.start(100),OIe.showRecordInterface()}).catch(e=>{console.error("获取麦克风权限失败:",e),alert("无法访问麦克风,请检查权限设置。错误: "+e.message)})}catch(e){console.error("录制功能初始化失败:",e),alert("录制功能初始化失败: "+e.message)}},showRecordInterface:()=>{const e=document.createElement("div");e.id="recordModal",e.style.cssText="\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background: rgba(0, 0, 0, 0.5);\n display: flex;\n justify-content: center;\n align-items: center;\n z-index: 10000;\n ";const t=document.createElement("div");t.style.cssText="\n background: white;\n border-radius: 10px;\n padding: 20px;\n text-align: center;\n min-width: 300px;\n box-shadow: 0 4px 20px rgba(0,0,0,0.3);\n ",t.innerHTML='\n

录制声音

\n
\n
\n
\n
\n
\n \n
\n
正在录制...
\n ',e.appendChild(t);try{IIe(document.body,e)}catch(e){return void console.error("添加录制界面到DOM失败:",e)}e.addEventListener("click",e=>{if("stopRecord"===e.target.id)try{OIe.mediaRecorder&&OIe.isRecording?OIe.mediaRecorder.stop():console.warn("MediaRecorder 不存在或未在录制状态")}catch(e){console.error("停止录制时出错:",e),alert("停止录制时出错: "+e.message)}});const n=e.querySelector("#waveformBars");if(n){for(let e=0;e<20;e++){const t=document.createElement("div");t.style.cssText=`\n position: absolute;\n left: ${10*e}px;\n bottom: 0;\n width: 8px;\n height: 20px;\n background: #4a90e2;\n border-radius: 2px;\n transition: height 0.1s ease;\n `,n.appendChild(t)}const t=setInterval(()=>{if(OIe.isRecording&&e.parentNode){const e=n.children;for(let t=0;t{OIe.isRecording&&e.parentNode?(i=60*Math.random()+40,r.style.height=i+"%",s.textContent=`正在录制... 音量: ${Math.round(i)}%`,r.style.opacity=.8+i/100*.2):(clearInterval(t),s&&e.parentNode&&(s.textContent="录制完成",s.style.color="#4CAF50"),r&&e.parentNode&&(r.style.height="100%",r.style.background="linear-gradient(to top, #4CAF50, #4CAF50)"))},200);e.volumeInterval=t}else console.error("找不到音量计或状态显示元素");const o=e=>{"Space"===e.code&&OIe.isRecording&&(e.preventDefault(),OIe.mediaRecorder&&OIe.mediaRecorder.stop())};document.addEventListener("keydown",o),e.keyHandler=o},showPlaybackInterface:e=>{const t=document.getElementById("recordModal");if(t){t.volumeInterval&&clearInterval(t.volumeInterval),t.waveformInterval&&clearInterval(t.waveformInterval),t.keyHandler&&document.removeEventListener("keydown",t.keyHandler);try{CIe(t)&&AIe(document.body,t)}catch(e){console.warn("移除录制界面时出错:",e)}}const n=document.createElement("div");n.id="playbackModal",n.style.cssText="\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background: rgba(0, 0, 0, 0.5);\n display: flex;\n justify-content: center;\n align-items: center;\n z-index: 10000;\n ";const i=document.createElement("div");i.style.cssText="\n background: white;\n border-radius: 10px;\n padding: 20px;\n text-align: center;\n min-width: 350px;\n box-shadow: 0 4px 20px rgba(0,0,0,0.3);\n ",i.innerHTML='\n

录音完成

\n
\n
\n
\n
\n \n
\n
\n \n \n
\n ',n.appendChild(i);try{IIe(document.body,n)}catch(e){return void console.error("添加播放界面到DOM失败:",e)}const r=n.querySelector("#playRecording");r&&(r.onclick=()=>{try{OIe.createAudio(OIe.recordedAudio).play().catch(e=>{console.error("播放录音失败:",e),alert("播放录音失败: "+e.message)});const e=n.querySelector("#waveformLine");e&&(e.style.background="#FF5722",setTimeout(()=>{e.parentNode&&(e.style.background="#4a90e2")},1e3))}catch(e){console.error("播放录音时出错:",e),alert("播放录音时出错: "+e.message)}});const s=n.querySelector("#reRecord");s&&(s.onclick=()=>{try{CIe(n)&&AIe(document.body,n),OIe.record()}catch(e){console.error("重新录制时出错:",e),alert("重新录制时出错: "+e.message)}});const o=n.querySelector("#saveRecording");o&&(o.onclick=()=>{try{OIe.saveRecording(e),CIe(n)&&AIe(document.body,n)}catch(e){console.error("添加到列表时出错:",e),alert("添加到列表时出错: "+e.message)}}),OIe.createWaveformDisplay(e,n)},createWaveformDisplay:async(e,t)=>{try{if(!t||!t.parentNode)return void console.warn("波形显示容器不存在或已被移除");const n=await e.arrayBuffer(),i=new(window.AudioContext||window.webkitAudioContext),r=(await i.decodeAudioData(n)).getChannelData(0),s=t.querySelector("#playbackWaveform");if(s&&s.parentNode){s.innerHTML="";const e=100,t=Math.floor(r.length/e);for(let n=0;n{try{const t=`recording${Object.keys(OIe.builtin).filter(e=>e.startsWith("recording")).length+1}`,n=e?URL.createObjectURL(e):OIe.recordedAudio;if(!n)throw new Error("录音数据不存在");OIe.builtin[t]=n,alert(`录音已保存为: ${t}`);const i=document.getElementById("playbackModal");if(CIe(i)){const e=SIe(i,"#playRecording");e&&(e.innerHTML=` 播放 ${t}`)}}catch(e){console.error("保存录音失败:",e),alert("保存录音失败: "+e.message)}}},MIe=OIe,kIe=window.Audio;if(window.Audio=function(e){if(OIe.blockAllAudio||OIe.isStopped||OIe.abortController&&OIe.abortController.signal.aborted){return{play:()=>Promise.reject(new Error("Audio playback blocked globally")),pause:()=>{},currentTime:0,src:"",volume:1,playbackRate:1,onended:null,onerror:null,onloadstart:null,oncanplay:null,onplay:null,onpause:null,tagName:"AUDIO",addEventListener:()=>{},removeEventListener:()=>{},load:()=>{},duration:0,ended:!1,paused:!0,muted:!1,readyState:0,networkState:0,preload:"none"}}return new kIe(e)},window.Audio.original=kIe,"undefined"!=typeof window){const e=console.error;console.error=function(...t){const n=t.join(" ");n.includes("sound")&&(n.includes("no-unused-vars")||n.includes("no-trailing-spaces")||n.includes("new-cap"))?console.warn("过滤的sound模块ESLint错误:",...t):e.apply(console,t)}}let RIe=!1;function NIe(e){if(!e)return!1;if("PythonError"===e.name||"KeyboardInterrupt"===e.name){const t=e.message||String(e);return t.includes("KeyboardInterrupt")||t.includes("interrupted")}return!1}function DIe(){if(RIe)return!1;if(window.pyodide&&window.pyodide.globals)try{RIe=!0;const e={play:e=>OIe.play(e),play_blocking:e=>OIe.play_blocking(e),stop_all:()=>OIe.stop_all(),adjust_volume:e=>OIe.adjust_volume(e),set_volume:e=>OIe.set_volume(e),get_volume:()=>OIe.get_volume(),adjust_effect:(e,t)=>OIe.adjust_effect(e,t),set_effect:(e,t)=>OIe.set_effect(e,t),clear_effects:()=>OIe.clear_effects(),play_frequency:(e,t)=>(console.log(`Python调用: sound.play_frequency(${e}, ${t})`),OIe.soundQueue.length>0||OIe.isProcessingQueue?OIe.play_frequency_blocking(e,t):OIe.play_frequency(e,t)),play_frequency_no_duration:e=>(console.log(`Python调用: sound.play_frequency_no_duration(${e})`),OIe.soundQueue.length>0||OIe.isProcessingQueue?OIe.play_frequency_continuous_blocking(e):OIe.play_frequency_continuous(e)),play_frequency_blocking:(e,t)=>(console.log(`Python调用: sound.play_frequency_blocking(${e}, ${t})`),OIe.play_frequency_blocking(e,t)),play_frequency_continuous:e=>(console.log(`Python调用: sound.play_frequency_continuous(${e})`),OIe.play_frequency_continuous(e)),play_frequency_continuous_blocking:e=>(console.log(`Python调用: sound.play_frequency_continuous_blocking(${e})`),OIe.play_frequency_continuous_blocking(e)),play_note_list:e=>OIe.play_note_list(e),play_note_list_blocking:e=>OIe.play_note_list_blocking(e),record:()=>OIe.record(),volume:OIe.volume,effects:OIe.effects};window.pyodide.globals.set("sound",e);const t=new(0,window.pyodide.pyimport("types").ModuleType)("sound");Object.keys(e).forEach(n=>{e[n],t[n]=e[n]});try{window.pyodide.runPython('\nimport sys\nsys.modules[\'sound\'] = sound\n\n# 创建同步版本的play_blocking包装函数\nimport asyncio\nfrom js import Promise\n\n# 保存原始的play_blocking(返回Promise的版本)\n_original_play_blocking = sound.play_blocking\n\ndef _sync_play_blocking(name):\n """同步版本的play_blocking,会等待声音播放完成"""\n promise = _original_play_blocking(name)\n # 使用Pyodide的Promise支持\n # 在Pyodide中,可以直接等待JS Promise\n import pyodide\n if hasattr(pyodide, \'ffi\') and hasattr(pyodide.ffi, \'run_sync\'):\n # Pyodide 0.21+\n try:\n return pyodide.ffi.run_sync(promise)\n except Exception:\n return None\n else:\n # 降级方案:使用asyncio\n try:\n loop = asyncio.get_event_loop()\n except RuntimeError:\n loop = asyncio.new_event_loop()\n asyncio.set_event_loop(loop)\n\n # 将JS Promise转换为Python awaitable\n async def wait_promise():\n try:\n return await promise\n except Exception:\n return None\n \n try:\n return loop.run_until_complete(wait_promise())\n except Exception:\n return None\n\n# 替换sound.play_blocking为同步版本\nsound.play_blocking = _sync_play_blocking\n\n# 创建同步版本的play_frequency包装函数\n_original_play_frequency = sound.play_frequency\n\ndef _sync_play_frequency(frequency, duration):\n """同步版本的play_frequency,会自动判断是否需要阻塞"""\n promise = _original_play_frequency(frequency, duration)\n # 使用Pyodide的Promise支持\n import pyodide\n if hasattr(pyodide, \'ffi\') and hasattr(pyodide.ffi, \'run_sync\'):\n try:\n return pyodide.ffi.run_sync(promise)\n except Exception:\n return None\n else:\n import asyncio\n try:\n loop = asyncio.get_event_loop()\n except RuntimeError:\n loop = asyncio.new_event_loop()\n asyncio.set_event_loop(loop)\n\n async def wait_promise():\n try:\n return await promise\n except Exception:\n return None\n\n try:\n return loop.run_until_complete(wait_promise())\n except Exception:\n return None\n\n# 创建同步版本的play_frequency_no_duration包装函数\n_original_play_frequency_no_duration = sound.play_frequency_no_duration\n\ndef _sync_play_frequency_no_duration(frequency):\n """同步版本的play_frequency_no_duration,会自动判断是否需要阻塞"""\n promise = _original_play_frequency_no_duration(frequency)\n # 使用Pyodide的Promise支持\n import pyodide\n if hasattr(pyodide, \'ffi\') and hasattr(pyodide.ffi, \'run_sync\'):\n try:\n return pyodide.ffi.run_sync(promise)\n except Exception:\n return None\n else:\n import asyncio\n try:\n loop = asyncio.get_event_loop()\n except RuntimeError:\n loop = asyncio.new_event_loop()\n asyncio.set_event_loop(loop)\n\n async def wait_promise():\n try:\n return await promise\n except Exception:\n return None\n\n try:\n return loop.run_until_complete(wait_promise())\n except Exception:\n return None\n\n# 替换为同步版本\nsound.play_frequency = _sync_play_frequency\nsound.play_frequency_no_duration = _sync_play_frequency_no_duration\n\n# 创建同步版本的play_frequency_continuous_blocking包装函数\n_original_play_frequency_continuous_blocking = sound.play_frequency_continuous_blocking\n\ndef _sync_play_frequency_continuous_blocking(frequency):\n """同步版本的play_frequency_continuous_blocking,会等待频率播放完成"""\n promise = _original_play_frequency_continuous_blocking(frequency)\n # 使用Pyodide的Promise支持\n import pyodide\n if hasattr(pyodide, \'ffi\') and hasattr(pyodide.ffi, \'run_sync\'):\n return pyodide.ffi.run_sync(promise)\n else:\n import asyncio\n try:\n loop = asyncio.get_event_loop()\n except RuntimeError:\n loop = asyncio.new_event_loop()\n asyncio.set_event_loop(loop)\n\n async def wait_promise():\n return await promise\n\n return loop.run_until_complete(wait_promise())\n\n# 替换为同步版本\nsound.play_frequency_continuous_blocking = _sync_play_frequency_continuous_blocking\n\n# 创建同步版本的play_frequency_blocking包装函数\n_original_play_frequency_blocking = sound.play_frequency_blocking\n\ndef _sync_play_frequency_blocking(frequency, duration):\n """同步版本的play_frequency_blocking,会等待频率播放完成"""\n promise = _original_play_frequency_blocking(frequency, duration)\n # 使用Pyodide的Promise支持\n import pyodide\n if hasattr(pyodide, \'ffi\') and hasattr(pyodide.ffi, \'run_sync\'):\n try:\n return pyodide.ffi.run_sync(promise)\n except Exception:\n return None\n else:\n import asyncio\n try:\n loop = asyncio.get_event_loop()\n except RuntimeError:\n loop = asyncio.new_event_loop()\n asyncio.set_event_loop(loop)\n\n async def wait_promise():\n try:\n return await promise\n except Exception:\n return None\n\n try:\n return loop.run_until_complete(wait_promise())\n except Exception:\n return None\n\n# 创建同步版本的play_note_list_blocking包装函数\n_original_play_note_list_blocking = sound.play_note_list_blocking\n\ndef _sync_play_note_list_blocking(note_list):\n """同步版本的play_note_list_blocking,会等待音符列表播放完成"""\n promise = _original_play_note_list_blocking(note_list)\n # 使用Pyodide的Promise支持\n import pyodide\n if hasattr(pyodide, \'ffi\') and hasattr(pyodide.ffi, \'run_sync\'):\n try:\n return pyodide.ffi.run_sync(promise)\n except Exception:\n return None\n else:\n import asyncio\n try:\n loop = asyncio.get_event_loop()\n except RuntimeError:\n loop = asyncio.new_event_loop()\n asyncio.set_event_loop(loop)\n\n async def wait_promise():\n try:\n return await promise\n except Exception:\n return None\n\n try:\n return loop.run_until_complete(wait_promise())\n except Exception:\n return None\n\n# 替换为同步版本\nsound.play_frequency_blocking = _sync_play_frequency_blocking\nsound.play_note_list_blocking = _sync_play_note_list_blocking\n ')}catch(e){if(NIe(e))return RIe=!1,!1;throw e}return window.pyodide.globals.get("sound")?(RIe=!1,!0):(RIe=!1,console.error("Sound对象注入失败:验证时未找到对象"),!1)}catch(e){return RIe=!1,NIe(e)?!1:(console.error("注入sound对象到Python环境失败:",e),!1)}return!1}function FIe(){!function(){const e=Element.prototype.remove;if(Element.prototype.remove=function(){if(this)if("function"==typeof this.remove)try{return e.call(this)}catch(e){console.warn("remove()调用失败,已安全处理:",e)}else console.warn("对象没有remove方法,已安全忽略");else console.warn("尝试在null对象上调用remove(),已安全忽略")},window.$&&window.$.fn&&window.$.fn.remove){const e=window.$.fn.remove;window.$.fn.remove=function(){if(!this||0===this.length)return console.warn("尝试在空的jQuery对象上调用remove(),已安全忽略"),this;try{return e.call(this)}catch(e){return console.warn("jQuery remove()调用失败,已安全处理:",e),this}}}}(),function(){if(DIe())return;const e=setInterval(()=>{DIe()&&clearInterval(e)},100);setTimeout(()=>{clearInterval(e)},1e4)}()}function LIe(){if(window.pyodide&&window.pyodide.globals)try{window.pyodide.globals.get("sound")||DIe()}catch(e){if(NIe(e))return;console.warn("强制注入检查失败:",e)}}function PIe(){const e=window.eval;if(window.eval=function(t){if("string"==typeof t&&t.includes("sound."))try{LIe()}catch(e){NIe(e)||console.warn("执行拦截时出错:",e)}return e.call(this,t)},window.pyodide&&window.pyodide.runPython){const e=window.pyodide.runPython;window.pyodide.runPython=function(t){if("string"==typeof t&&t.includes("sound."))try{LIe()}catch(e){NIe(e)||console.warn("执行拦截时出错:",e)}return e.call(this,t)}}}function BIe(){document.getElementById("modalOverlay").style.display="none"}function $Ie(e){const t=document.getElementById("imported-models");if([...t.children].some(t=>t.dataset.modelName===e))return;const n=document.createElement("div");n.className="model-item",n.dataset.modelName=e,n.innerHTML=`\n
\n ${e}\n \n
\n `,n.querySelector(".delete-model").addEventListener("click",()=>{!async function(e){try{await v3.io.removeModel(`indexeddb://${e}`);const t=document.querySelector(`.model-item[data-model-name="${e}"]`);t&&t.remove()}catch(e){console.error("删除模型失败:",e),alert("删除模型失败: "+e.message)}}(e)}),t.appendChild(n)}async function UIe(){try{const e=await v3.io.listModels();document.getElementById("imported-models").innerHTML="";for(const[t]of Object.entries(e)){$Ie(t.replace("indexeddb://",""))}}catch(e){console.error("加载模型列表失败:",e)}}"loading"===document.readyState?document.addEventListener("DOMContentLoaded",()=>{FIe(),PIe()}):(FIe(),PIe()),window.addEventListener("pyodideLoaded",()=>{FIe(),PIe()}),setTimeout(()=>{FIe(),PIe()},1e3),window.addEventListener("load",()=>{FIe(),PIe()}),setInterval(LIe,5e3),bIe.init(),window.tf=Ue,async function(){const e=document.createElement("div");e.id="modalOverlay",Object.assign(e.style,{display:"none",position:"fixed",top:"0",left:"0",width:"100%",height:"100%",backgroundColor:"rgba(0,0,0,0.5)",zIndex:"20011216",pointerEvents:"auto"});const t=document.createElement("div");Object.assign(t.style,{backgroundColor:"white",width:"60%",maxHeight:"80%",margin:"12vh auto",padding:"20px 30px",borderRadius:"12px"}),t.innerHTML='\n

选择本地模型

\n
\x3c!-- 新增 min-height 和 position --\x3e\n \n \n
\n 导入模型名称:\n \n \n
\n
\n
\n ❌ 模型结构描述文件(model.json)\n\n
未选择
\n
\n
\n ❌ 权重文件(model.weights.bin)\n
0 个已选择
\n
\n
\n
\n
\n
\n

已导入模型

\n
\n \n \n
\n
\n
\n
加载中...
\n
\n
\n
\n \n
\n
\n ',e.appendChild(t),document.body.appendChild(e),t.querySelector(".close-btn").addEventListener("click",BIe),e.addEventListener("click",t=>{t.target===e&&BIe()});const n=document.getElementById("model-upload"),i=document.getElementById("model-handle"),r=document.getElementById("output");let s=null,o=[];n.addEventListener("change",async e=>{const t=e.target.files,n=document.getElementById("json-status"),i=document.getElementById("weights-status");n.querySelector("span").textContent="❌ 模型结构描述文件(model.json)",n.querySelector("div").textContent="未选择",i.querySelector("span").textContent="❌ 权重文件(model.weights.bin)",i.querySelector("div").textContent="0 个已选择",o=[];for(let e=0;e0&&(i.querySelector("span").textContent="✅ 权重文件(model.weights.bin)",i.querySelector("div").textContent=`${o.length} 个已选择`)}else alert("未找到 model.json 文件")}),i.addEventListener("click",async()=>{try{const e=document.getElementById("model-name").value||"mixly-model",t=await Dee(v3.io.browserFiles([s,...o]));await t.save(`indexeddb://${e}`),UIe(),r.innerHTML=`模型已成功保存为 ${e}!`}catch(e){r.innerHTML=`保存模型出错: ${e.message}`,console.error(e)}}),t.querySelector("#refresh-models").addEventListener("click",UIe),t.querySelector("#clear-models").addEventListener("click",async()=>{confirm("确定要删除所有模型吗?此操作不可恢复!")&&await async function(){try{const e=await v3.io.listModels(),t=Object.keys(e).map(e=>e.replace("indexeddb://","")).map(e=>v3.io.removeModel(`indexeddb://${e}`));await Promise.all(t),document.getElementById("imported-models").innerHTML=""}catch(e){console.error("清空模型失败:",e),alert("清空模型失败: "+e.message)}}()})}(),(async()=>{await UIe()})();Ve.getMainWorkspace().registerButtonCallback("handleModels",function(){UIe(),document.getElementById("modalOverlay").style.display="block"}),window.prepare_qmyixtxi=async function(e){let t=null;window.featureExtractor?t=window.featureExtractor:(t=await boe("../common/media/tfmodel/model.json"),window.featureExtractor=t);const n=e.resizeBilinear([224,224]).toFloat().div(v3.scalar(127.5)).sub(v3.scalar(1)).expandDims(0);return window.featureExtractor.predict(n)};const VIe={init:function(){this.setColour("#acc159"),this.appendDummyInput().appendField(Ve.Msg.MIXLY_SOUND_PLAY).appendField(new Ve.FieldDropdown(this.getSoundOptions),"SOUND"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_SOUND_PLAY_TOOLTIP)},getSoundOptions:function(){const e=[["Meow","Meow"],[Ve.Msg.MIXLY_SOUND_RECORD_OPTION,"record"]];if(window.sound&&window.sound.builtin){Object.keys(window.sound.builtin).filter(e=>e.startsWith("recording")).forEach(t=>{e.push([t,t])})}return e}},zIe={init:function(){this.setColour("#acc159"),this.appendDummyInput().appendField(Ve.Msg.MIXLY_SOUND_PLAY).appendField(new Ve.FieldDropdown(this.getSoundOptions),"SOUND").appendField(Ve.Msg.MIXLY_SOUND_WAIT_FINISH),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_SOUND_PLAY_WAIT_TOOLTIP)},getSoundOptions:function(){const e=[["Meow","Meow"],[Ve.Msg.MIXLY_SOUND_RECORD_OPTION,"record"]];if(window.sound&&window.sound.builtin){Object.keys(window.sound.builtin).filter(e=>e.startsWith("recording")).forEach(t=>{e.push([t,t])})}return e}},jIe={init:function(){this.setColour("#acc159"),this.appendDummyInput().appendField(Ve.Msg.MIXLY_catSoundSOUND_STOP_ALL),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_SOUND_STOP_ALL_TOOLTIP)}},YIe={init:function(){this.setColour("#acc159"),this.appendDummyInput().appendField(Ve.Msg.MIXLY_SOUND_SET_TO).appendField(new Ve.FieldDropdown([[Ve.Msg.MIXLY_SOUND_EFFECT_PITCH,"pitch"],[Ve.Msg.MIXLY_SOUND_EFFECT_PAN,"pan"]]),"EFFECT").appendField(Ve.Msg.MIXLY_SOUND_EFFECT_ADD_BY),this.appendValueInput("VALUE").setCheck(null),this.appendDummyInput(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_SOUND_EFFECT_ADD_TOOLTIP)}},GIe={init:function(){this.setColour("#acc159"),this.appendDummyInput().appendField(Ve.Msg.MIXLY_SOUND_SET_TO).appendField(new Ve.FieldDropdown([[Ve.Msg.MIXLY_SOUND_EFFECT_PITCH,"pitch"],[Ve.Msg.MIXLY_SOUND_EFFECT_PAN,"pan"]]),"EFFECT").appendField(Ve.Msg.MIXLY_SOUND_EFFECT_SET_TO),this.appendValueInput("VALUE").setCheck(null),this.appendDummyInput(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_SOUND_EFFECT_SET_TOOLTIP)}},HIe={init:function(){this.setColour("#acc159"),this.appendDummyInput().appendField(Ve.Msg.MIXLY_catSoundSOUND_CLEAR_EFFECTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_SOUND_EFFECT_CLEAR_TOOLTIP)}},WIe={init:function(){this.setColour("#acc159"),this.appendDummyInput().appendField(Ve.Msg.MIXLY_catSoundSOUND_VOLUME_INCREASE),this.appendValueInput("VALUE").setCheck(null),this.appendDummyInput(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_SOUND_VOLUME_ADD_TOOLTIP)}},XIe={init:function(){this.setColour("#acc159"),this.appendDummyInput().appendField(Ve.Msg.MIXLY_catSoundSOUND_VOLUME_SET),this.appendValueInput("VALUE").setCheck(null),this.appendDummyInput(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_SOUND_VOLUME_SET_TOOLTIP)}},qIe={init:function(){this.setColour("#acc159"),this.appendDummyInput().appendField(Ve.Msg.MIXLY_catSoundSOUND_VOLUME_GET),this.setOutput(!0,"Volume"),this.setTooltip(Ve.Msg.MIXLY_SOUND_VOLUME_GET_TOOLTIP)}},KIe={init:function(){this.setColour("#acc159"),this.appendDummyInput().appendField(Ve.Msg.MIXLY_SOUND_RECORD),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_SOUND_RECORD_TOOLTIP)}},ZIe={init:function(){this.setColour("#acc159"),this.appendDummyInput().appendField(Ve.Msg.MIXLY_SOUND_PLAY).appendField(Ve.Msg.MIXLY_SOUND_FREQUENCY),this.appendValueInput("FREQUENCY").setCheck(Number).setAlign(Ve.ALIGN_RIGHT),this.appendDummyInput().appendField(Ve.Msg.MIXLY_SOUND_DURATION),this.appendValueInput("DURATION").setCheck(Number).setAlign(Ve.ALIGN_RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_SOUND_PLAY_FREQUENCY_TOOLTIP)}},QIe={init:function(){this.setColour("#acc159"),this.appendValueInput("FREQUENCY").setCheck(Number).appendField(Ve.Msg.MIXLY_SOUND_PLAY_FREQUENCY_NO_DURATION),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_SOUND_PLAY_FREQUENCY_NO_DURATION_TOOLTIP)}},JIe={init:function(){this.setColour("#acc159"),this.appendDummyInput().appendField(Ve.Msg.MIXLY_SOUND_PLAY_NOTE_LIST).appendField(new Ve.FieldDropdown([["DADADADUM","DADADADUM"],["BIRTHDAY","BIRTHDAY"],["BA_DING","BA_DING"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]]),"NOTE_LIST"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_SOUND_PLAY_NOTE_LIST_TOOLTIP)}},eAe={init:function(){this.setColour("#acc159"),this.appendDummyInput().appendField(new Ve.FieldDropdown([["NOTE_A4","440"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"]]),"NOTE"),this.setOutput(!0,null),this.setOutputShape(Ve.OUTPUT_SHAPE_ROUND),this.setTooltip(Ve.Msg.MIXLY_SOUND_NOTE_TOOLTIP)}};Object.assign(Ve.Variables,Ye),Object.assign(Ve.Procedures,oc),Ve.Python=ac,Ve.generator=ac,ze.Profile.default={},Object.assign(Ve.Blocks,e,t,n,i,r,s,o,a,l,u,c,d,h,A,S,C,O,M,k,R,N,D,F,L,P,B,U,V,ne,re),Object.assign(Ve.Python.forBlock,p,f,m,g,_,y,v,b,T,x,E,w,I,z,j,Y,fy,G,H,W,X,q,K,Z,Q,J,ee,te,ie,se);const tAe={sound_play:VIe,sound_play_wait:zIe,sound_stop_all:jIe,sound_effect_add:YIe,sound_effect_set:GIe,sound_effect_clear:HIe,sound_volume_add:WIe,sound_volume_set:XIe,sound_volume_get:qIe,sound_record:KIe,sound_play_frequency:ZIe,sound_play_frequency_no_duration:QIe,sound_play_note_list:JIe,sound_note:eAe},nAe={sound_play:function(e,t){t.definitions_.import_sound||(t.definitions_.import_sound="import sound");const n=e.getFieldValue("SOUND");return"record"===n?"sound.record()\n":`sound.play("${n}")\n`},sound_play_wait:function(e,t){t.definitions_.import_sound||(t.definitions_.import_sound="import sound");const n=e.getFieldValue("SOUND");return"record"===n?"sound.record()\n":`sound.play_blocking("${n}")\n`},sound_stop_all:function(e,t){return t.definitions_.import_sound||(t.definitions_.import_sound="import sound"),"sound.stop_all()\n"},sound_effect_add:function(e,t){t.definitions_.import_sound||(t.definitions_.import_sound="import sound");const n=e.getFieldValue("EFFECT"),i=e.getInputTargetBlock("VALUE");let r;return r=i?"math_number"===i.type?i.getFieldValue("NUM")||"10":t.valueToCode(i,"VALUE",t.ORDER_NONE)||"10":"10",`sound.adjust_effect("${n}", ${r})\n`},sound_effect_set:function(e,t){t.definitions_.import_sound||(t.definitions_.import_sound="import sound");const n=e.getFieldValue("EFFECT"),i=e.getInputTargetBlock("VALUE");let r;return r=i?"math_number"===i.type?i.getFieldValue("NUM")||"100":t.valueToCode(i,"VALUE",t.ORDER_NONE)||"100":"100",`sound.set_effect("${n}", ${r})\n`},sound_effect_clear:function(e,t){return t.definitions_.import_sound||(t.definitions_.import_sound="import sound"),"sound.clear_effects()\n"},sound_volume_add:function(e,t){t.definitions_.import_sound||(t.definitions_.import_sound="import sound");return`sound.adjust_volume(${t.valueToCode(e,"VALUE",t.ORDER_NONE)||"0"})\n`},sound_volume_set:function(e,t){t.definitions_.import_sound||(t.definitions_.import_sound="import sound");return`sound.set_volume(${t.valueToCode(e,"VALUE",t.ORDER_NONE)||"100"})\n`},sound_volume_get:function(e,t){return t.definitions_.import_sound||(t.definitions_.import_sound="import sound"),["sound.get_volume()",t.ORDER_ATOMIC]},sound_record:function(e,t){return t.definitions_.import_sound||(t.definitions_.import_sound="import sound"),"sound.record()\n"},sound_play_frequency:function(e,t){t.definitions_.import_sound||(t.definitions_.import_sound="import sound");return`sound.play_frequency(${t.valueToCode(this,"FREQUENCY",t.ORDER_ATOMIC)}, ${t.valueToCode(this,"DURATION",t.ORDER_ATOMIC)})\n`},sound_play_frequency_no_duration:function(e,t){t.definitions_.import_sound||(t.definitions_.import_sound="import sound");return`sound.play_frequency_no_duration(${t.valueToCode(this,"FREQUENCY",t.ORDER_ATOMIC)})\n`},sound_play_note_list:function(e,t){t.definitions_.import_sound||(t.definitions_.import_sound="import sound");return`sound.play_note_list("${this.getFieldValue("NOTE_LIST")}")\n`},sound_note:function(e,t){return[this.getFieldValue("NOTE"),t.ORDER_ATOMIC]}};Object.assign(Ve.Blocks,tAe),Object.assign(Ve.Python.forBlock,nAe),window.sound=MIe})()})(); \ No newline at end of file diff --git a/boards/default_src/micropython_esp32c5/origin/examples/map.json b/boards/default_src/micropython_esp32c5/origin/examples/map.json index 9e26dfee..0967ef42 100644 --- a/boards/default_src/micropython_esp32c5/origin/examples/map.json +++ b/boards/default_src/micropython_esp32c5/origin/examples/map.json @@ -1 +1 @@ -{} \ No newline at end of file +{}